diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000000..1758a23f323 --- /dev/null +++ b/.clang-format @@ -0,0 +1,567 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# clang-format configuration file. Intended for clang-format >= 4. +# +# For more information, see: +# +# Documentation/process/clang-format.rst +# https://clang.llvm.org/docs/ClangFormat.html +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# + +# Buildroot: imported from Linux 5.15.6, with minimal modifications. +# Please note, this is not enforced at the moment. Intended +# as an aid when working with in-tree C files, like +# makedevs.c +# +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +#AlignEscapedNewlines: Left # Unknown to clang-format-4.0 +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + #AfterExternBlock: false # Unknown to clang-format-5.0 + BeforeCatch: false + BeforeElse: false + IndentBraces: false + #SplitEmptyFunction: true # Unknown to clang-format-4.0 + #SplitEmptyRecord: true # Unknown to clang-format-4.0 + #SplitEmptyNamespace: true # Unknown to clang-format-4.0 +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +#BreakBeforeInheritanceComma: false # Unknown to clang-format-4.0 +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: false +#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0 +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 132 # Specially for Buildroot +CommentPragmas: '^ IWYU pragma:' +#CompactNamespaces: false # Unknown to clang-format-4.0 +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +#FixNamespaceComments: false # Unknown to clang-format-4.0 + +# Taken from: +# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' include/ \ +# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \ +# | sort | uniq +ForEachMacros: + - 'apei_estatus_for_each_section' + - 'ata_for_each_dev' + - 'ata_for_each_link' + - '__ata_qc_for_each' + - 'ata_qc_for_each' + - 'ata_qc_for_each_raw' + - 'ata_qc_for_each_with_internal' + - 'ax25_for_each' + - 'ax25_uid_for_each' + - '__bio_for_each_bvec' + - 'bio_for_each_bvec' + - 'bio_for_each_bvec_all' + - 'bio_for_each_integrity_vec' + - '__bio_for_each_segment' + - 'bio_for_each_segment' + - 'bio_for_each_segment_all' + - 'bio_list_for_each' + - 'bip_for_each_vec' + - 'bitmap_for_each_clear_region' + - 'bitmap_for_each_set_region' + - 'blkg_for_each_descendant_post' + - 'blkg_for_each_descendant_pre' + - 'blk_queue_for_each_rl' + - 'bond_for_each_slave' + - 'bond_for_each_slave_rcu' + - 'bpf_for_each_spilled_reg' + - 'btree_for_each_safe128' + - 'btree_for_each_safe32' + - 'btree_for_each_safe64' + - 'btree_for_each_safel' + - 'card_for_each_dev' + - 'cgroup_taskset_for_each' + - 'cgroup_taskset_for_each_leader' + - 'cpufreq_for_each_entry' + - 'cpufreq_for_each_entry_idx' + - 'cpufreq_for_each_valid_entry' + - 'cpufreq_for_each_valid_entry_idx' + - 'css_for_each_child' + - 'css_for_each_descendant_post' + - 'css_for_each_descendant_pre' + - 'device_for_each_child_node' + - 'displayid_iter_for_each' + - 'dma_fence_chain_for_each' + - 'do_for_each_ftrace_op' + - 'drm_atomic_crtc_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane_state' + - 'drm_atomic_for_each_plane_damage' + - 'drm_client_for_each_connector_iter' + - 'drm_client_for_each_modeset' + - 'drm_connector_for_each_possible_encoder' + - 'drm_for_each_bridge_in_chain' + - 'drm_for_each_connector_iter' + - 'drm_for_each_crtc' + - 'drm_for_each_crtc_reverse' + - 'drm_for_each_encoder' + - 'drm_for_each_encoder_mask' + - 'drm_for_each_fb' + - 'drm_for_each_legacy_plane' + - 'drm_for_each_plane' + - 'drm_for_each_plane_mask' + - 'drm_for_each_privobj' + - 'drm_mm_for_each_hole' + - 'drm_mm_for_each_node' + - 'drm_mm_for_each_node_in_range' + - 'drm_mm_for_each_node_safe' + - 'flow_action_for_each' + - 'for_each_acpi_dev_match' + - 'for_each_active_dev_scope' + - 'for_each_active_drhd_unit' + - 'for_each_active_iommu' + - 'for_each_aggr_pgid' + - 'for_each_available_child_of_node' + - 'for_each_bio' + - 'for_each_board_func_rsrc' + - 'for_each_bvec' + - 'for_each_card_auxs' + - 'for_each_card_auxs_safe' + - 'for_each_card_components' + - 'for_each_card_dapms' + - 'for_each_card_pre_auxs' + - 'for_each_card_prelinks' + - 'for_each_card_rtds' + - 'for_each_card_rtds_safe' + - 'for_each_card_widgets' + - 'for_each_card_widgets_safe' + - 'for_each_cgroup_storage_type' + - 'for_each_child_of_node' + - 'for_each_clear_bit' + - 'for_each_clear_bit_from' + - 'for_each_cmsghdr' + - 'for_each_compatible_node' + - 'for_each_component_dais' + - 'for_each_component_dais_safe' + - 'for_each_comp_order' + - 'for_each_console' + - 'for_each_cpu' + - 'for_each_cpu_and' + - 'for_each_cpu_not' + - 'for_each_cpu_wrap' + - 'for_each_dapm_widgets' + - 'for_each_dev_addr' + - 'for_each_dev_scope' + - 'for_each_dma_cap_mask' + - 'for_each_dpcm_be' + - 'for_each_dpcm_be_rollback' + - 'for_each_dpcm_be_safe' + - 'for_each_dpcm_fe' + - 'for_each_drhd_unit' + - 'for_each_dss_dev' + - 'for_each_dtpm_table' + - 'for_each_efi_memory_desc' + - 'for_each_efi_memory_desc_in_map' + - 'for_each_element' + - 'for_each_element_extid' + - 'for_each_element_id' + - 'for_each_endpoint_of_node' + - 'for_each_evictable_lru' + - 'for_each_fib6_node_rt_rcu' + - 'for_each_fib6_walker_rt' + - 'for_each_free_mem_pfn_range_in_zone' + - 'for_each_free_mem_pfn_range_in_zone_from' + - 'for_each_free_mem_range' + - 'for_each_free_mem_range_reverse' + - 'for_each_func_rsrc' + - 'for_each_hstate' + - 'for_each_if' + - 'for_each_iommu' + - 'for_each_ip_tunnel_rcu' + - 'for_each_irq_nr' + - 'for_each_link_codecs' + - 'for_each_link_cpus' + - 'for_each_link_platforms' + - 'for_each_lru' + - 'for_each_matching_node' + - 'for_each_matching_node_and_match' + - 'for_each_member' + - 'for_each_memcg_cache_index' + - 'for_each_mem_pfn_range' + - '__for_each_mem_range' + - 'for_each_mem_range' + - '__for_each_mem_range_rev' + - 'for_each_mem_range_rev' + - 'for_each_mem_region' + - 'for_each_migratetype_order' + - 'for_each_msi_entry' + - 'for_each_msi_entry_safe' + - 'for_each_msi_vector' + - 'for_each_net' + - 'for_each_net_continue_reverse' + - 'for_each_netdev' + - 'for_each_netdev_continue' + - 'for_each_netdev_continue_rcu' + - 'for_each_netdev_continue_reverse' + - 'for_each_netdev_feature' + - 'for_each_netdev_in_bond_rcu' + - 'for_each_netdev_rcu' + - 'for_each_netdev_reverse' + - 'for_each_netdev_safe' + - 'for_each_net_rcu' + - 'for_each_new_connector_in_state' + - 'for_each_new_crtc_in_state' + - 'for_each_new_mst_mgr_in_state' + - 'for_each_new_plane_in_state' + - 'for_each_new_private_obj_in_state' + - 'for_each_node' + - 'for_each_node_by_name' + - 'for_each_node_by_type' + - 'for_each_node_mask' + - 'for_each_node_state' + - 'for_each_node_with_cpus' + - 'for_each_node_with_property' + - 'for_each_nonreserved_multicast_dest_pgid' + - 'for_each_of_allnodes' + - 'for_each_of_allnodes_from' + - 'for_each_of_cpu_node' + - 'for_each_of_pci_range' + - 'for_each_old_connector_in_state' + - 'for_each_old_crtc_in_state' + - 'for_each_old_mst_mgr_in_state' + - 'for_each_oldnew_connector_in_state' + - 'for_each_oldnew_crtc_in_state' + - 'for_each_oldnew_mst_mgr_in_state' + - 'for_each_oldnew_plane_in_state' + - 'for_each_oldnew_plane_in_state_reverse' + - 'for_each_oldnew_private_obj_in_state' + - 'for_each_old_plane_in_state' + - 'for_each_old_private_obj_in_state' + - 'for_each_online_cpu' + - 'for_each_online_node' + - 'for_each_online_pgdat' + - 'for_each_pci_bridge' + - 'for_each_pci_dev' + - 'for_each_pci_msi_entry' + - 'for_each_pcm_streams' + - 'for_each_physmem_range' + - 'for_each_populated_zone' + - 'for_each_possible_cpu' + - 'for_each_present_cpu' + - 'for_each_prime_number' + - 'for_each_prime_number_from' + - 'for_each_process' + - 'for_each_process_thread' + - 'for_each_prop_codec_conf' + - 'for_each_prop_dai_codec' + - 'for_each_prop_dai_cpu' + - 'for_each_prop_dlc_codecs' + - 'for_each_prop_dlc_cpus' + - 'for_each_prop_dlc_platforms' + - 'for_each_property_of_node' + - 'for_each_registered_fb' + - 'for_each_requested_gpio' + - 'for_each_requested_gpio_in_range' + - 'for_each_reserved_mem_range' + - 'for_each_reserved_mem_region' + - 'for_each_rtd_codec_dais' + - 'for_each_rtd_components' + - 'for_each_rtd_cpu_dais' + - 'for_each_rtd_dais' + - 'for_each_set_bit' + - 'for_each_set_bit_from' + - 'for_each_set_clump8' + - 'for_each_sg' + - 'for_each_sg_dma_page' + - 'for_each_sg_page' + - 'for_each_sgtable_dma_page' + - 'for_each_sgtable_dma_sg' + - 'for_each_sgtable_page' + - 'for_each_sgtable_sg' + - 'for_each_sibling_event' + - 'for_each_subelement' + - 'for_each_subelement_extid' + - 'for_each_subelement_id' + - '__for_each_thread' + - 'for_each_thread' + - 'for_each_unicast_dest_pgid' + - 'for_each_vsi' + - 'for_each_wakeup_source' + - 'for_each_zone' + - 'for_each_zone_zonelist' + - 'for_each_zone_zonelist_nodemask' + - 'fwnode_for_each_available_child_node' + - 'fwnode_for_each_child_node' + - 'fwnode_graph_for_each_endpoint' + - 'gadget_for_each_ep' + - 'genradix_for_each' + - 'genradix_for_each_from' + - 'hash_for_each' + - 'hash_for_each_possible' + - 'hash_for_each_possible_rcu' + - 'hash_for_each_possible_rcu_notrace' + - 'hash_for_each_possible_safe' + - 'hash_for_each_rcu' + - 'hash_for_each_safe' + - 'hctx_for_each_ctx' + - 'hlist_bl_for_each_entry' + - 'hlist_bl_for_each_entry_rcu' + - 'hlist_bl_for_each_entry_safe' + - 'hlist_for_each' + - 'hlist_for_each_entry' + - 'hlist_for_each_entry_continue' + - 'hlist_for_each_entry_continue_rcu' + - 'hlist_for_each_entry_continue_rcu_bh' + - 'hlist_for_each_entry_from' + - 'hlist_for_each_entry_from_rcu' + - 'hlist_for_each_entry_rcu' + - 'hlist_for_each_entry_rcu_bh' + - 'hlist_for_each_entry_rcu_notrace' + - 'hlist_for_each_entry_safe' + - 'hlist_for_each_entry_srcu' + - '__hlist_for_each_rcu' + - 'hlist_for_each_safe' + - 'hlist_nulls_for_each_entry' + - 'hlist_nulls_for_each_entry_from' + - 'hlist_nulls_for_each_entry_rcu' + - 'hlist_nulls_for_each_entry_safe' + - 'i3c_bus_for_each_i2cdev' + - 'i3c_bus_for_each_i3cdev' + - 'ide_host_for_each_port' + - 'ide_port_for_each_dev' + - 'ide_port_for_each_present_dev' + - 'idr_for_each_entry' + - 'idr_for_each_entry_continue' + - 'idr_for_each_entry_continue_ul' + - 'idr_for_each_entry_ul' + - 'in_dev_for_each_ifa_rcu' + - 'in_dev_for_each_ifa_rtnl' + - 'inet_bind_bucket_for_each' + - 'inet_lhash2_for_each_icsk_rcu' + - 'key_for_each' + - 'key_for_each_safe' + - 'klp_for_each_func' + - 'klp_for_each_func_safe' + - 'klp_for_each_func_static' + - 'klp_for_each_object' + - 'klp_for_each_object_safe' + - 'klp_for_each_object_static' + - 'kunit_suite_for_each_test_case' + - 'kvm_for_each_memslot' + - 'kvm_for_each_vcpu' + - 'list_for_each' + - 'list_for_each_codec' + - 'list_for_each_codec_safe' + - 'list_for_each_continue' + - 'list_for_each_entry' + - 'list_for_each_entry_continue' + - 'list_for_each_entry_continue_rcu' + - 'list_for_each_entry_continue_reverse' + - 'list_for_each_entry_from' + - 'list_for_each_entry_from_rcu' + - 'list_for_each_entry_from_reverse' + - 'list_for_each_entry_lockless' + - 'list_for_each_entry_rcu' + - 'list_for_each_entry_reverse' + - 'list_for_each_entry_safe' + - 'list_for_each_entry_safe_continue' + - 'list_for_each_entry_safe_from' + - 'list_for_each_entry_safe_reverse' + - 'list_for_each_entry_srcu' + - 'list_for_each_prev' + - 'list_for_each_prev_safe' + - 'list_for_each_safe' + - 'llist_for_each' + - 'llist_for_each_entry' + - 'llist_for_each_entry_safe' + - 'llist_for_each_safe' + - 'mci_for_each_dimm' + - 'media_device_for_each_entity' + - 'media_device_for_each_intf' + - 'media_device_for_each_link' + - 'media_device_for_each_pad' + - 'nanddev_io_for_each_page' + - 'netdev_for_each_lower_dev' + - 'netdev_for_each_lower_private' + - 'netdev_for_each_lower_private_rcu' + - 'netdev_for_each_mc_addr' + - 'netdev_for_each_uc_addr' + - 'netdev_for_each_upper_dev_rcu' + - 'netdev_hw_addr_list_for_each' + - 'nft_rule_for_each_expr' + - 'nla_for_each_attr' + - 'nla_for_each_nested' + - 'nlmsg_for_each_attr' + - 'nlmsg_for_each_msg' + - 'nr_neigh_for_each' + - 'nr_neigh_for_each_safe' + - 'nr_node_for_each' + - 'nr_node_for_each_safe' + - 'of_for_each_phandle' + - 'of_property_for_each_string' + - 'of_property_for_each_u32' + - 'pci_bus_for_each_resource' + - 'pcl_for_each_chunk' + - 'pcl_for_each_segment' + - 'pcm_for_each_format' + - 'ping_portaddr_for_each_entry' + - 'plist_for_each' + - 'plist_for_each_continue' + - 'plist_for_each_entry' + - 'plist_for_each_entry_continue' + - 'plist_for_each_entry_safe' + - 'plist_for_each_safe' + - 'pnp_for_each_card' + - 'pnp_for_each_dev' + - 'protocol_for_each_card' + - 'protocol_for_each_dev' + - 'queue_for_each_hw_ctx' + - 'radix_tree_for_each_slot' + - 'radix_tree_for_each_tagged' + - 'rb_for_each' + - 'rbtree_postorder_for_each_entry_safe' + - 'rdma_for_each_block' + - 'rdma_for_each_port' + - 'rdma_umem_for_each_dma_block' + - 'resource_list_for_each_entry' + - 'resource_list_for_each_entry_safe' + - 'rhl_for_each_entry_rcu' + - 'rhl_for_each_rcu' + - 'rht_for_each' + - 'rht_for_each_entry' + - 'rht_for_each_entry_from' + - 'rht_for_each_entry_rcu' + - 'rht_for_each_entry_rcu_from' + - 'rht_for_each_entry_safe' + - 'rht_for_each_from' + - 'rht_for_each_rcu' + - 'rht_for_each_rcu_from' + - '__rq_for_each_bio' + - 'rq_for_each_bvec' + - 'rq_for_each_segment' + - 'scsi_for_each_prot_sg' + - 'scsi_for_each_sg' + - 'sctp_for_each_hentry' + - 'sctp_skb_for_each' + - 'shdma_for_each_chan' + - '__shost_for_each_device' + - 'shost_for_each_device' + - 'sk_for_each' + - 'sk_for_each_bound' + - 'sk_for_each_entry_offset_rcu' + - 'sk_for_each_from' + - 'sk_for_each_rcu' + - 'sk_for_each_safe' + - 'sk_nulls_for_each' + - 'sk_nulls_for_each_from' + - 'sk_nulls_for_each_rcu' + - 'snd_array_for_each' + - 'snd_pcm_group_for_each_entry' + - 'snd_soc_dapm_widget_for_each_path' + - 'snd_soc_dapm_widget_for_each_path_safe' + - 'snd_soc_dapm_widget_for_each_sink_path' + - 'snd_soc_dapm_widget_for_each_source_path' + - 'tb_property_for_each' + - 'tcf_exts_for_each_action' + - 'udp_portaddr_for_each_entry' + - 'udp_portaddr_for_each_entry_rcu' + - 'usb_hub_for_each_child' + - 'v4l2_device_for_each_subdev' + - 'v4l2_m2m_for_each_dst_buf' + - 'v4l2_m2m_for_each_dst_buf_safe' + - 'v4l2_m2m_for_each_src_buf' + - 'v4l2_m2m_for_each_src_buf_safe' + - 'virtio_device_for_each_vq' + - 'while_for_each_ftrace_op' + - 'xa_for_each' + - 'xa_for_each_marked' + - 'xa_for_each_range' + - 'xa_for_each_start' + - 'xas_for_each' + - 'xas_for_each_conflict' + - 'xas_for_each_marked' + - 'xbc_array_for_each_value' + - 'xbc_for_each_key_value' + - 'xbc_node_for_each_array_value' + - 'xbc_node_for_each_child' + - 'xbc_node_for_each_key_value' + - 'zorro_for_each_dev' + +#IncludeBlocks: Preserve # Unknown to clang-format-5.0 +IncludeCategories: + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +#IndentPPDirectives: None # Unknown to clang-format-5.0 +IndentWidth: 8 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +#ObjCBinPackProtocolList: Auto # Unknown to clang-format-5.0 +ObjCBlockIndentWidth: 8 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true + +# Taken from git's rules +#PenaltyBreakAssignment: 10 # Unknown to clang-format-4.0 +PenaltyBreakBeforeFirstCallParameter: 30 +PenaltyBreakComment: 10 +PenaltyBreakFirstLessLess: 0 +PenaltyBreakString: 10 +PenaltyExcessCharacter: 100 +PenaltyReturnTypeOnItsOwnLine: 60 + +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +#SortUsingDeclarations: false # Unknown to clang-format-4.0 +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +#SpaceBeforeCtorInitializerColon: true # Unknown to clang-format-5.0 +#SpaceBeforeInheritanceColon: true # Unknown to clang-format-5.0 +SpaceBeforeParens: ControlStatements +#SpaceBeforeRangeBasedForLoopColon: true # Unknown to clang-format-5.0 +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 8 +UseTab: Always +... diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e85ac320333..cad35c96bc8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ # Configuration for Gitlab-CI. # Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines -image: buildroot/base:20200814.2228 +image: $CI_REGISTRY/buildroot.org/buildroot/base:20220206.1756 stages: - generate-gitlab-ci @@ -11,8 +11,11 @@ generate-gitlab-ci-yml: stage: generate-gitlab-ci script: ./support/scripts/generate-gitlab-ci-yml support/misc/gitlab-ci.yml.in > generated-gitlab-ci.yml artifacts: + when: always paths: - generated-gitlab-ci.yml + - br-test-pkg/*/.config + - br-test-pkg/*/missing.config buildroot-pipeline: stage: build @@ -21,3 +24,5 @@ buildroot-pipeline: - artifact: generated-gitlab-ci.yml job: generate-gitlab-ci-yml strategy: depend + variables: + PARENT_PIPELINE_ID: $CI_PIPELINE_ID diff --git a/CHANGES b/CHANGES index f7b69af8065..6c5b38b28e0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,1275 @@ +2022.02.3, released June 19th, 2022 + + Important / security related fixes. + + Infrastructure: Fix building under paths containing regex + characters (E.G. '+') + + Toolchain: Only allow ppc64le variants for which a + glibc/musl/uclibc toolchain is supported. + Mark codescape mti/img mips toolchains as shared library only + (glibc). + + Updated/fixed packages: arm-trusted-firmware, + at91dataflashboot, boinc, dhcp, diffutils, edk2, fbv, gensio, + glibc, go, gtest, iucode-tool, janet, libcec, libcurl, + libfreeimage, libnftnl, libodb-boost, linux, linux-tools, + lttng-modules, mariadb, memcached, mono, mutt, + network-manager, nginx, ntfs-3g, ogre, openjpeg, openvpn, + qemu, qpid-proton, qt5webengine, rauc, rockchip-mali, rsyslog, + ruby, runc, rustc, samba4, strace, tiff, uclibc, unrar, vim, + webkitgtk, wpewebkit, xdriver_xf86-video-amdgpu, + xdriver_xf86-video-ati, zlib-ng + + New packages: qt5webengine-chromium, + qt5webengine-chromium-catapult + + Issues resolved (http://bugs.uclibc.org): + + #14766: package dhcp on buildroot 2022.02.1 failed + #14821: Samba server is failing to compile + #14826: make qemu_x86_64_defconfig stopped working + +2022.02.2, released May 29th, 2022 + + Important / security related fixes. + + Archictures: Drop sh2a, correct x86 Bonnell variant + + Toolchain: Bump GCC 11.x to 11.3, correct pre-installed + external toolchain logic when toolchain is available in path. + + Rework OCI filesystem entrypoint/command logic to handle + command arguments + + Defconfigs: Update Zynqmp zcu102/106 to final 2022.1 release, + fix zcu106 PLL config + + Updated/fixed packages: adwaita-icon-theme, afboot-stm32, + aircrack-ng, alchemy, alsa-lib, arptables, assimp, asterisk, + aubio, avrdude, azure-iot-sdk-c, batman-adv, binutils, + bpftool, brotli, cairo, cifs-utils, clamav, cryptodev-linux, + dhcp, diffutils, dmalloc, duktape, e2fsprogs, elf2flt, espeak, + expat, ffmpeg, fluidsynth, freerdp, gcc, git, glorytun, + glslsandbox-player, gnutls, go, gst1-imx, gst1-plugins-good, + gzip, imagemagick, janus-gateway, keepalived, kompexsqlite, + kvm-unit-tests, libarchive, libcgi, libcurl, libevdev, + libeXosip2, libhtp, libinput, libkcapi, libkrb5, libks, + libmdbx, libmnl, libnpupnp, libnspr, libopenssl, liboping, + libpjsip, libpri, libselinux, libsigsegv, libv4l, + libwebsockets, libxml2, linux, linux-tools, ltp-testsuite, + luajit, lvm2, mali-driver, mariadb, mc, minizip, mpd, mutt, + netatalk, netsurf, network-manager, nodejs, numactl, nut, + omniorb, openbox, opencv4, openjdk, openjdk-bin, openocd, + pamtester, pango, pcre2, php, php-apcu, pinentry, pixman, + polkit, postgis, postgresql, pure-ftpd, python-aenum, + python-avro, python-django, python-pillow, python-simplejson, + python-urllib3, python-zopfli, python3, qemu, qpdf, quazip, + redis, rockchip-mali, rsync, rt-tests, rust, rtl8818eu, + rtl8189es, rtl8189fs, rtl_433, sam-ba, samba4, sdl2_ttf, + shadowsocks-libev, shim, subversion, sun20i-d1-spl, suricata, + systemd, tftpd, trinity, tvheadend, udev, uftrace, + urandom-scripts, usb_modeswitch, valgrind, vde2, vim, + wireplumber, wolfssl, wpa_supplicant, xlib_libXfont2, xz, + zlib, zlog + + Issues resolved (http://bugs.uclibc.org): + + #14751: LVM2 Outdated Link + +2022.02.1, released April 11th, 2022 + + Important / security related fixes. + + Graphs: Also generate a build time timeline graph (for top + level parallel builds). + + scripts/pkg-stats: Optimize memory consumption for CPE parsing + + Fix compatibility issue with the fakeroot script logic and + modern versions of dash. + + Change git:// URLs pointing to Github to https://, now that + Github has turned off support for git:// + + Updated/fixed packages: ace, apache, apr, apr-util, belr, + bind, bluez5_utils, boinc, bpftool, busybox, cloop, cog, + containerd, cppcms, dav1d, dhcp, dieharder, dnsmasq, + docker-cli, docker-engine, efl, ell, fakeroot, flac, + fluidsynth, gdk-pixbuf, glib-networking, gnutls, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, haproxym htop, intel-gmmlib, + ipmiutil, iwd, jack1, jack2, lftp, libabseil-cpp, libbluray, + libcamera-apps, libcoap, libcurl, libest, libgee, libglib2, + libgtk3, libiec61850, libkrb5, libminiupnpc, libodb, + libodb-boost, libopenssl, libp11, libpsl, libressl, librstp, + librtlsdr, liburing, libyang, libzlib, luasec, lxc, matio, + meson, minidlna, minizip, mpd, mtools, netatalk, nbd, odb, + openblas, openssh, openvpn, optee-os, opus, paho-mqtt-c, + pango, php, pipewire, pkcs11-helper, postgresql, ppp, + protozero, python-aioconsole, python-avro, python-brotli, + python-greenlet, python-paramiko, python-pillow, + python-rpi-gpio, python-treq, python-twisted, python-ujson, + python-weasyprint, qt5base, qt5wayland, raptor, rpi-firmware, + rpi-userland, rtl_433, runc, rust, rygel, samba4, + shairport-sync, spice, spidev_test, stunnel, systemd, + timescaledb, trace-cmd, trousers, ts4900-fpga, tvheadend, + udpcast, unbound, upower, urandom-scripts, usbguard, valgrind, + valijson, vim, wavpack, wget, wireplumber, wireshark, woff2, + xmrig, zabbix, zlib-ng, zynaddsubfx, zziplib + + Issues resolved (http://bugs.uclibc.org): + + #13971: ip6tables-nft build does not include MASQUERADE target.. + #14651: OpenSSH 8.9p1 compiler error under ARM + #14656: Adding dependencies from an external tree does not work + #14661: Fakeroot script relies on bash-isms, does not work .. + #14686: genimage.cfg have a hard-coded .ext4 extension which.. + #14701: Multiple unresolved symbols while building kernel .. + #14711: nodjs build problem missing bzip + #14731: BR2_PACKAGE_IOSTAT + +2022.02, released March 8th, 2022 + + Various fixes. + + Fixes to cargo and golang packaging infrastructure. + + Defconfigs: OrangePi RK3399: Fix genimage format + + Updated/fixed packages: azure-iot-sdk-c, bpftool, cog, + directfb, directfb-examples, dnsmasq, docker-engine, expat, + freerdp, frr, gdb, ghostscript, glib-networking, go, haproxy, + hostapd, kf5-extra-cmake-modules, kf5-kcoreaddons, + kf5-modemmanager-qt, kf5-networkmanager-qt, libcamera-apps, + libgee, libglfw, librstp, libtorrent, libvirt, libxslt, linux, + mariadb, oprofile, osm2pgsql, pulseview, python-cryptography, + python-gnupg, python-treq, qt5base, qt5webkit, rauc, re2, + rygel, safeclib, sconeserver, seatd, sord, upmpdcli, + util-linux, weston, wpa_supplicant, xdriver_xf86-video-mach64, + xdriver_xf86-video-nouveau, xdriver_xf86-video-qxl, + xscreensaver, zabbix + + New packages: gdk-pixbuf-xlib + + Removed packages: python-pycli + + Issues resolved (http://bugs.uclibc.org): + + #13126: make fails - bzip2-1.0.6.tar.gz and DirectFB-1.7.7.tar.. + #14611: 2022.02-rc2: Build of BR2_x86_64 with BR2_LINUX_KERNEL_.. + #14631: host-go-bootstrap: go not being built for package in .. + #14636: azure-iot-sdk-c: Installed headers do not compile + #14641: oprofile can not find the events files + +2022.02-rc3, released February 28th, 2022 + + Fixes all over the tree. + + Defconfigs: Xilinx zynqmp zcu102/zcu106: Fix U-Boot DTS config + + Updated/fixed packages: bluez5_utils, bpftool, dbus, exempi, + flac, freerdp, frr, gnutls, libpjsip, libxml2, mariadb, + openssh, python-twisted, qt5webkit, samba4, vim, weston, + wireshark, wolfssl, xdg-dbus-proxy, xterm, + +2022.02-rc2, released February 20th, 2022 + + Fixes all over the tree. + + Defconfigs: Friendlyarm Nanopi R2S: Fix U-Boot build, Kontron + BL i.MX8M Mini: Fix U-Boot build, PC Engines APU2: Fix Linux + build, ROC-RK3399-PC: Bump rootfs size to fix build + + Updated/fixed packages: apache, apparmor, apr-util, arp-scan, + binutils, bluez5_utils, connman, cryptsetup, dnsmasq, + dovecot-pigeonhole, expat, gdk-pixbuf, gst1-plugins-base, + guile, keepalived, kodi, libbpf, libglvnd, libgsasl, libiconv, + librsvg, libuhttpd, libusb, libv4l, luasyslog, mongrel2, neon, + pcre, perl-netaddr-ip, php, psmisc, python-ipython, + python-pycli, python-pygame, python-regex, python-twisted, + qt5location, qt5webkit, resiprocate, rygel, safeclib, + sdl2_ttf, socketcand, strongswan, sudo, systemd, toolchain, + urg, webkitgtk, wireless-regdb, wpewebkit, + xdriver_xf86-video-{ati,mach64,mga,r128,savage,tdfx}, xz, zfs, + zsh + +2022.02-rc1, released February 13th, 2022 + + Numerous package updates and many (80) new packages. + + Toolchain: + - glibc: Optional support for compatibility shims for running + on older kernels than what glibc has been built against + - uClibc: Use uClibc-ng 1.0.40 + - External toolchains: Update Bootlin toolchains to 2021.11-1 + version + + Python 2.7 and python 2.x specific packages removed as python + 2.x is EOL since April 2020. Likewise a number of python3 + specific host packages has been renamed (host-python-foo + instead of host-python3-foo) now host-python is always python + 3.x. + + Cargo (Rust) package infrastructure added. Vendoring support + added to golang package infrastructure. + + New defconfigs: FriendlyARM NanoPi R2S, Kontron BL i.MX8M + Mini, Microchip Sama7g7ek, Olimex STMP157 OlinuXino LIME2, + QEMU PPC Bamboo, PPC64 PowerNV, Raspberry Pi Zero 2W, Spike + Riscv64, Xilinx zcu102 + + Removed defconfigs: Synopsys arch38 VDK, aarch64 VDK + + New packages: ace, alchemy, alfred, bat, bento4, bmx7, + bpftool, brcmfmac_sdio-firmware-rpi, cfm, cups-pk-helper, + davinci-bootcount, dbus-cxx, embiggen-disk, freeipmi, + gocryptfs, kodi-pvr-plutotv, kodi-pvr-waipu, ksmbd-tools, + libcamera-apps, libest, libexecinfo, libfutils, libglvnd, + libks, libmd, libopenaptx, libpeas, libshdata, liburing, lilv, + lua-argon2, lua-cffi, lua-inotify, lv2, mali-driver, + moby-buildkit, modsecurity2, networkd-dispatcher, pahole, + php-apcu, php-lua, php-pam, python-argon2-cffi-bindings, + python-cssselect2, python-distro, python-fonttools, + python-gnupg, python-installer, python-memory-profiler, + python-mpd2, python-pep517, python-pydyf, python-pypa-build, + python-pyphen, python-tinycss2, python-tomli, + python-weasyprint, python-zopfli, qoriq-cadence-dp-firmware, + riscv-isa-sim, rockchip-mali, rpi-rgb-led-matrix, sdbus-cpp, + sentry-cli, serd, simple-mail, sord, sratom, + sunxi-mali-utgard, sunxi-mali-utgard-driver, tinifier, ulog, + vulkan-headers, xlib_libxcvt, zabbix, zchunk, zynaddsubfx + + Removed packages: gstreamer1-mm, python, python-backports-abc, + python-backports-functools-lru-cache, + python-backports-shutil-get-terminal-size, + python-backports-ssl-match-hostname, python-configobj, + python-dialog, python-enum, python-enum34, python-functools32, + python-futures, python-id3, python-ipaddr, python-ipaddress, + python-mad, python-nfc, python-pam, python-pathlib2, + python-pycap, python-pyro, python-singledispatch, + python-subprocess32, python-typing, python-yieldfrom, + qt5webkit-examples, rpi-bt-firmware, rpi-wifi-firmware, + sunxi-mali-mainline, sunxi-mali-mainline-driver, zynq-boot-bin + + Issues resolved (http://bugs.uclibc.org): + + #12271: python-iptables runtime dependencies + #13436: PPP 2.4.9 is out + #14351: needs to mount sysfs before mount -a + #14451: nodejs won't build on Fedora 35 + #14471: alsa_utils wrong deployment + #14501: lttng-modules v2.11 package fails to build + #14531: Package EFL - build error + +2021.11.2, released February 28th, 2022 + + Important / security related fixes. + + Defconfigs: Andes ae3xx, Intel galileo: Fix build with host + gcc >= 10, ROC-RK3399-PC: Bump rootfs size to fix build issue. + + Add conditional patching logic to fix build issues for older + U-Boot / Linux kernel versions when built with a host gcc >= + 10. + + Updated/fixed packages: apitrace, binutils, casync, cgilua, + connman, expat, gauche, gdb, gensio, glibc, go, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, kf5-extra-cmake-modules, kodi, + libarchive, linux, lm-sensors, localedef, log4cxx, mpd, + nfs-utils, php, pistache, pkcs11-helper, prosody, + python-django, python-pyzmq, python-regex, + python-sqliteschema, resiprocate, rtl8723bu, thermald, tiff, + tor, util-linux, vim, xen + +2021.11.1, released January 29th, 2022 + + Important / security related fixes. + + check-package: Improve variable override check + + pkg-stats: List CVEs where the version info cannot be parsed + as unsure rather than completely ignoring them. + + Defconfigs: Beaglebone: Support BeagleBone black wireless, + stm32f469_xip_disco: Fix kernel boot + + Updated/fixed packages: alsa-utils, apache, binutils, cage, + capnproto, civetweb, clamav, collectd, connman, containerd, + coreutils, dav1d, docker-cli, docker-engine, erlang, + erlang-rebar, expat, findutils, flare-engine, flare-game, + font-awesome, freeswitch, gcc, ghostscript, glibc, gnuchess, + go, grpc, gst1-interpipe, gst1-rtsp-server, gupnp-tools, + hackrf, icu, imagemagick, janus-gateway, json-for-modern-cpp, + keepalived, lapack, libdbi, libiio, libjpeg, libmbim, libnss, + libopenssl, libpjsip, libqmi, liburiparser, libvirt, + linux-pam, lxc, mbedtls, mender, mongodb, mpd-mpc, mutt, + nodejs, openblas, pcre2, php, pipewire, polkit, privoxy, + prosody, python-charset-normalizer, python-django, + python-idna, python-lxml, python-pyqt5, python-requests, + python-urllib3, python3, qt5base, qt5location, rhash, + rng-tools, ruby, runc, rustc, samba4, sofia-sip, targetcli-fb, + tcpreplay, tinyxml, tor, tpm2-tss, util-linux-libs, vim, vlc, + wireshark, xapp_xauth, xapp_xinput-calibrator, xen, xenomai, + xlib_libX11, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14451: nodejs won't build on Fedora 35 + #14471: alsa_utils wrong deployment + +2021.11, released December 5th, 2021 + + Various fixes. + + Defconfigs: Grinn chiliboard/liteboard, PC x86-64 bios: Fix + build + + Updated/fixed packages: apr, coreutils, diffutils, e2fsprogs, + exfat, freeswitch, gnupg, grub2, gstreamer1, guile, heimdal, + hiawatha, hplip, icu, janus-gateway, + kodi-screensaver-asterwave, kodi-screensaver-cpblobs, + kodi-screensaver-matrixtrails, libatomic_ops, libbson, libffi, + libgdiplus, libgee, libhtp, libite, libnspr, libnss, + libunwind, lynx, mender-grubenv, mkpasswd, motion, mxml, + netdata, qemu, samba4, speex, stress-ng, tinydtls, unixodbc, + unrar, util-linux, util-linux-libs, watchdogd, wireshark + + Issues resolved (http://bugs.uclibc.org): + + #14351: needs to mount sysfs before mount -a + #14411: 2021.11-rc2: Samba doesn't compile + +2021.11-rc3, released November 30th, 2021 + + Fixes all over the tree. + + Defconfigs: Nitrogen8mp: Fix Linux build, Zynqmp-zxu106: Fix + ATF build + + Updated/fixed packages: asterisk, automake, gdb, glorytun, + gmp, hackrf, libgee, libglib2, libmodsecurity, libosmium, + libressl, lighttpd, linux, micropython, mosquitto, mtd, + nfs-utils, nss-myhostname, pcre, php, poco, pure-ftpd, + python-cycler, qemu, qdecoder, smack, smcroute, spidev_test, + strace, syslinux, toolchain, uboot, uhd, vim, websocketpp, + wireshark, xcursor-transparent-theme, xscreensaver, + xtables-addons + + Issues resolved (http://bugs.uclibc.org): + + #14346: BR2_PACKAGE_NFS_UTILS_RPC_NFSD does not patch CONFIG_NFSD.. + +2021.11-rc2, released November 19th, 2021 + + Fixes all over the tree. + + Coding style fixes for a large number of board genimage + configuration files for clarity and consistency. + + Defconfigs: Acmesystems Aria/Arietta g25, Armadeus + apf28/apf51, beagleboneai, Olimx a64, rock64, sheevaplug: Fix + build with hostcc >= 10, Nezha: Correct U-Boot dependencies + + Updated/fixed packages: alsa-lib, apparmor, binutils, + bluez5_utils, botan, diffutils, firmware-utils, gdb, glmark2, + glog, gpu-amd-bin-mx51, gst1-interpipe, imx-vpuwrap, iperf, + isl, janet, libdnet, libglib2, libhtp, liburcu, log4cxx, + luajit, luvi, meson, mksh, mongodb, mosquitto, mpd, mupdf, + opencv4, oracle-mysql, pipewire, postgresql, python-aiohttp, + python-pudb, python-ujson, qhull, samba4, seatd, sg3_utils, + suricata, tpm2-tss, uboot, vim, xserver_xorg-server + + New packages: pipewire-media-session + + Issues resolved (http://bugs.uclibc.org): + + 14311: Cannot compile dahdi (part of Asterisk) for x86 (P1mmx) + +2021.11-rc1, released November 8th, 2021 + + Numerous package updates. Notable updates including numerous + Python modules, Kodi add-ons, nodejs, OpenJDK. + + Toolchain: + - glibc update to 2.34 + - support for gdb 11.x added, gdb 10.x now the default + - external toolchains provided by ARM updated + - remove support for internal toolchain on the CSKY + architecture, as it was broken and unmaintained + + Many packages updated to enable the appropriate SELinux + refpolicy module when SELinux support is enabled. + + Support was added in the test-pkg package testing utility for + using Gitlab CI to run the builds. + + New libgbm virtual package to better support OpenGL + implementations that provide a libgbm library. + + Bootloaders/firmware: grub2 extended to be able to support + multiple platforms in the same build. + + Filesystems: + - new OCI filesystem type, to build container images + compatible with the Open Container Initiative standard + - support for hybrid ISO9660 images added, which work on + legacy and EFI BIOS machines + + New defconfigs: Allwinner nezha, stm32mp157c_odyssey + + Removed defconfigs: qemu_csky + + New packages: dtbocfg, firmware-utils, gstd, libdbi, + libdbi-drivers, libteam, lua-augeas, mstpd, php-pecl-dbus, + python-aioprocessing, python-bidict, + python-charset-normalizer, python-flask-expects-json, + python-git, python-pyndiff, python-rsa, + python-unitest-xml-reporting, python-xmljson, + python3-cryptography, python3-pip, qt5opcua, rwmem, + sloci-image, softhsm2, sun20i-d1-spl, uqmi, vuejs-router, + watchdogd, wireplumber + + Removed packages: canfestival, python-meld3 + + Work toward the removal of python 2 has progressed: many + python modules and packages have been updated to a version + supporting python 3. + + Issues resolved (http://bugs.uclibc.org): + + #14271: compilation error with rsync command for permission + #14276: Unable to get login prompt + #14196: when using raspberrypicm4io_64_defconfig, make fails + with mkfs.ext4: No such file or directory while trying + to determine filesystem size + +2021.08.3, released December 13th, 2021 + + Important / security related fixes. + + Defconfigs: Various fixes for building with gcc >= 10 host or + target compilers. + + Updated/fixed packages: alsa-lib, apparmor, apr, asterisk, + binutils, bluez5_utils, coreutils, e2fsprogs, exfat, + freeswitch, gdb, glmark2, glog, glorytun, gmp, + gpu-amd-bin-mx51, gst1-interpipe, gstreamer1, guile, gupnp, + hackrf, heimdal, hiawatha, hplip, icu, imx-vpuwrap, isl, + janus-gateway, libatomic_ops, libbson, libdnet, libffi, + libgdiplus, libgee, libglib2, libhtp, libmodsecurity, libnspr, + libnss, libosmium, libunwind, linux, lynx, meson, micropython, + mkpasswd, mksh, mosquitto, motion, mupdf, mxml, netdata, + nfs-utils, opencv4, oracle-mysql, pcre, php, postgresql, + pure-ftpd, python-cycler, qdecoder, rcw-smarc-sal28, samba4, + smack, speex, stress-ng, suricata, syslinux, uboot, unixodbc, + unrar, vim, websocketpp, wireshark + + Issues resolved (http://bugs.uclibc.org): + + #14346: BR2_PACKAGE_NFS_UTILS_RPC_NFSD does not patch CONFIG_NFSD.. + +2021.08.2, released November 10th, 2021 + + Important / security related fixes. + + Updated/fixed packages: asterisk, audit, bind, bitcoin, + containerd, cryptsetup, dahdi-linux, dbus-python, dfu-util, + docker-cli, docker-engine, earlyoom, edk2-platforms, exiv2, + ffmpeg, freerdp, gdb, gensio, gnupg2, go, gpsd, + gst1-plugins-bad, gst1-plugins-ugly, gst1-vaapi, gtest, + hiredis, lftp, libps1, libva, libva-utils, lightning, + log4cplus, lrzip, netdata, nodejs, olsr, openjdk, openjdk-bin, + pango, php, python3-cffi, qemu, refpolicy, rng-tools, samba4, + snort, strongswan, sunxi-mali-mainline-driver, suricata, + systemd, tor, vim, weston, wf111, wireguard-linux-compat, + xerces + + Issues resolved (http://bugs.uclibc.org): + + #14311: Cannot compile dahdi (part of Asterisk) for x86 (P1mmx) + +2021.08.1, released October 11, 2021 + + Important / security related fixes. + + gdbinit: Mark the sysroot as a "safe path" before configuring + it, so pretty printers work correctly without having to pass + -ix to gdb + + Updated/fixed packages: alsa-lib, apache, + arm-trusted-firmware, atftp, bind, botan, cog, containerd, + cryptopp, docker-cli, dash, dc3dd, docker-engine, dovecot, + environment-setup, erlang, fetchmail, ffmpeg, fio, gcc, gd, + gdb, ghostscript, gnuradio, gnutils, go, + gobject-introspection, google-breakpad, gst-omx, + gst1-devtools, gst1-interpipe, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, gupnp, haproxy, imlib2, kodi, + kodi-pvr-octonet, kodi-visualisation-fishbmc, libcurl, + libexif, libgcrypt, libglib2, libkrb5, libressl, librsvg, + libsndfile, libssh, libvirt, libxcrypt, libyang, links, lvm2, + lynx, lxc, mc, mesa3d, micropython, minicom, mono, mosquitto, + mtr, mupdf, mv-ddr-marvell, net-tools, nginx-dav-ext, nmap, + nodejs, ntfs-3g, openjdk, openjdk-bin, openldap, openssh, + pcre2, php, php-gnupg, pipewire, postgis, python-aioconsole, + python-cbor2, python-cffi, python-cython, python-dateutil, + python-django, python-pillow, python-pip, python-texttable, + python-urllib3, python-webob, qemu, qt5location, redis, + refpolicy, ripgrep, ruby, runc, sispmctl, sox, squid, + strongswan, supervisor, swupdate, syslinux, systemd, tinycbor, + trace-cmd, uboot-tools, uclibc, udisks, uhd, vim, vsftpd, + wavemon, webkitgtk, wget, wireless-regdb, wpewebkit, + xapp_xrdb, xapp_xwd, xen, xlib_libXfont2, xlib_libXft, + xserver_xorg-server, zip + + Issues resolved (http://bugs.uclibc.org): + + #14206: Kodi: even when not enabled, forcefully selects libevdev.. + #14211: libffi-3.3.tar.gz repacked + #14221: mv-ddr-marvell fails license validation + +2021.08, released September 4th, 2021 + + Various fixes. + + Updated/fixed packages: gstreamer1-mm, netsniff-ng, nginx, + openmpi, python-pyudev, python3, qt5base, wlroots, xvisor + +2021.08-rc3, released August 31st, 2021 + + Fixes all over the tree. + + Toolchain: Disable fortify support for Microblaze as it is not + currently working. + + Defconfigs: Acmesystems aria/ariette g25: Fix build issue + after at91bootstrap bump, BeagleV: Correct kernel headers + version, PC x86-64: Bump kernel to 4.19.204 to fix build issue + with GCC 10.x. + + Updated/fixed packages: alsa-utils, at91bootstrap3, belle-sip, + bullet, c-ares, cjson, coreutils, cpio, eigen, fetchmail, gdb, + haproxy, heirloom-mailx, ipmiutil, kvm-unit-tests, libarchive, + libffi, libmodsecurity, libopenssl, libressl, libshout, + libvirt, linux-pam, lmbench, localedef, lua-lunix, mesa3d, + mpv, mtd, nodejs, nvidia-driver, openvmtools, php, polkit, + python-requests, python3-requests, rust-bin, rustc, samba4, + sdl2, snort3, ushare, xen + + Removed packages: libmcrypt, mcrypt, sentry-cli + +2021.08-rc2, released August 18th, 2021 + + Fixes all over the tree. + + Defconfigs: Acmesystems acqua a5: Bump at91bootstrap version + to fix build issue with binutils >= 2.35, Microchip sam9x60ek + mmc_dev: Add missing toolchain/system options, sama5d2-icp + mmc: Correct at91bootstrap options + + Updated/fixed packages: arm-trusted-firmware, at91bootstrap3, + azure-iot-sdk-c, bluez5_utils, bullet, busybox, cegui, efl, + erlang, ffmpeg, flatbuffers, fontconfig, gcc, gd, glibc, go, + gobject-introspection, gpsd, guile, harfbuzz, iozone, iputils, + jszip, libargtable2, libbpf, libebml, libepoxy, libesmtp, + libfuse3, libgeos, libnss, libodb-boost, libodb-mysql, + libodb-pgsql, libqmi, libqrtr-glib, libuhttpd, libuwsc, + libvirt, ltp-testsuite, luaossl, mongodb, mpd, mupdf, mutt, + network-manager, nginx-naxsi, nodejs, ogre, openzwave, + optee-os, osm2pgsql, pdbg, perl-net-ssh2, php, pipewire, + pistache, pixman, poke, polkit, poppler, postgresql, postkit, + prelink-cross, prosody, protobuf, pulseview, + python-cryptography, python-keyring, python-matplotlib, + python-pymupdf, python-pyopenssl, python-secretstorage, + python-treq, python-txtorcon, python3, qemu, qpdf, qt5base, + refpolicy, ruby, rust-bin, s390-tools, sconeserver, seatd, + shairport-sync, sox, sqlite, sylpheed, sysdig, syslog-ng, + system-config-printer, tar, terminology, tor, tpm2-tools, uhd, + unbound, usbguard, wireshark, xen, xenomai, xlib_libxshmfence, + zstd + + New packages: desktop-file-utils + + Issues resolved (http://bugs.uclibc.org): + + #13586: grub failure with BR2_OPTIMIZE_3 + #13671: openSSH server closes connection before authentication.. + +2021.08-rc1, released August 3rd, 2021 + + Numerous package updates. + + Toolchain: + + - add support for gcc 11.x, gcc 10.x is now the default, gcc + 9.x updated to 9.4.0, removed gcc 8.x support except for + PowerPC SPE + + - add support for binutils 2.37, binutils 2.36.x is now the + default, binutils 2.34 removed. + + - glibc updated to 2.33 + + - gdb enabled on NIOS II, gdbserver enabled on RISC-V. + + Bootloaders/firmware: support for building the EDK II UEFI + firmware, support for building AT91Bootstrap 4.x. + + New BR2_ENABLE_RUNTIME_DEBUG option, that controls whether + packages should be compiled with runtime debugging + information (which is different than debugging symbols). + + Many features of the bluez5_utils package have been made + optional, and default to disabled. Users of bluez5_utils are + encouraged to review their configuration. + + Many packages (over 70) updated to enable the appropriate + SELinux refpolicy module when SELinux support is enabled. + + Many packages updated to select the appropriate OpenSSL + features after many OpenSSL ciphers/features have been made + optional. + + New defconfigs: kontron_pitx_imx8m, microchip_sama5d2_icp, + qemu_aarch64_sbsa, raspberrypicm4io, raspberrypicm4io_64, + terasic_de10nano_cyclone5, uevm5432. + + New packages: alsa-plugins, apg, bmap-tools, daq3, edk2, + edk2-platforms, gumbo-parser, libbpf, libosmium, libpsl, + libqb, libtalloc, libvirt, lua-linux, lua-zlib, mupdf, + opencv4, osm2pgsql, poke, python-augeas, python-dbus-next, + python-pymupdf, rtl_433, rtl8812au-aircrack-ng, seatd, snort3, + system-config-printer, usbguard, xml-security-c, xmrig. + + Removed packages: clapack, libsoil. + + Issues resolved (http://bugs.uclibc.org): + + #13326: regarding dtc error in buildroot source code + #13661: host-python2 build fails on aarch64 + #13836: package build failure when target install set to no on + pkg-generic pkg types + #13846: BR2_PACKAGE_LVM2_STANDARD_INSTALL should be default to + y as before + +2021.05.3, released October 11, 2021 + + Important / security related fixes. + + gdbinit: Mark the sysroot as a "safe path" before configuring + it, so pretty printers work correctly without having to pass + -ix to gdb + + Updated/fixed packages: alsa-lib, apache, + arm-trusted-firmware, atftp, bind, botan, containerd, + cryptopp, dash, dc3dd, docker-cli, docker-engine, dovecot, + erlang, fetchmail, ffmpeg, gdb, ghostscript, go, gst-omx, + gst1-devtools, gst1-interpipe, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, kodi, kodi-pvr-octonet, + kodi-visualisation-fishbmc, libcurl, libkrb5, libressl, + libsndfile, libxcrypt, libyang, lxc, lynx, mesa3d, + micropython, minicom, mono, mtr, mv-ddr-marvell, net-tools, + nmap, nodejs, ntfs-3g, openjdk, openjdk-bin, openldap, + openssh, pcre2, php, python-aioconsole, python-cffi, + python-dateutil, python-django, python-pip, python-texttable, + python-urllib, python-webob, qt5location, redis, refpolicy, + ripgrep, runc, sispmctl, squid, strongswan, supervisor, + syslinux, tinycbor, trace-cmd, uboot-tools, uclibc, wavemon, + wget, wireless-regdb, xen, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14206: Kodi: even when not enabled, forcefully selects libevdev.. + #14211: libffi-3.3.tar.gz repacked + #14221: mv-ddr-marvell fails license validation + +2021.05.2, released September 15th, 2021 + + Important / security related fixes. + + Toolchain: Disable fortify support for Microblaze as it is not + currently working. + + Updated/fixed packages: alsa-utils, arm-trusted-firmware, + bayer2rgb-neon, belle-sip, bullet, busybox, c-ares, cjson, + coreutils, cpio, eigen, environment-setup, fetchmail, ffmpeg, + fontconfig, gd, gdb, gnuradio, gnutls, go, haproxy, ipmiutil, + iputils, jszip, kvm-unit-tests, libarchive, libargtable2, + libexif, libgcrypt, libmodsecurity, libopenssl, librsvg, + libshout, libssh, libxcrypt, linux, linux-pam, localedef, mc, + mesa3d, mosquitto, netsniff-ng, nginx, nodejs, ogre, openjdk, + openmpi, openvmtools, perl-net-ssh2, php, pipewire, + postgresql, prelink-cross, prosody, protobuf, python-keyring, + python-matplotlib, python-pillow, python-pyudev, + python-secretstorage, python3, qt5base, samba4, sdl2, sox, + swupdate, sylpheed, tar, terminology, tor, uboot-tools, uhd, + unbound, ushare, vim, wlroots, xapp_xrdb, xapp_xwd, xen, + xenomai, xlib_libXfont2, xlib_libXft, zip + +2021.05.1, released August 10, 2021 + + Important / security related fixes. + + Toolchain: Disable PIC/PIE for Microblaze (like for NIOS II) + as it is not currently working. + + binutils: fix linker assert failure on OpenRisc, or1k build + issue with gcc < 5 + + gdb: Enable on NIOS II + + utils/scanpypi: Various improvements + + Defconfigs: stm32f469_disco: Fix kernel boot issue, Microchip + sam9x60ek mmc_dev: Add missing toolchain/system options + + Updated/fixed packages: arm-trusted-firmware, apache, audit, + avahi, bind, binutils, bird, bluez5_utils, boinc, busybox, + chrony, clamav, connman, cryptsetup, dnsmasq, docker-cli, + docker-engine, dovecot, dovecot-pigeonhole, e2fsprogs, exiv2, + fail2ban, fb-test-app, feh, fetchmail, ffmpeg, flac, fluxbox, + gawk, gcc, gcr, gdb, gdk-pixbuf, gesftpserver, glibc, go, + gptfdisk, gqrx, granite, grub2, guile, hdparm, heirloom-mailx, + htop, ibrcommon, ibrdtn, ibrdtn-tools, ibrdtnd, + intel-microcode, iodine, irqbalance, keepalived, kexec-tools, + libass, libconfig, libcurl, libfreeimage, libfuse3, libgcrypt, + libgudev, libhtp, libinput, libjson, libgtk3, libkrb5, + libloki, libmodsecurity, libndp, libnetfilter-log, + libnfnetlink, libnice, libodb, libodb-boost, libodb-mysql, + libodb-pgsql, libpcap, libqmi, libqrtr-glib, libressl, + librsvg, libtasn1, libtirpc, libuci, libxmlrpc, + linux-firmware, linuxptp, lrzsz, lvm2, mariadb, mesa3d, + mbedtls, monit, mono, mosquitto, mpd, mpg123, mpv, nbd, + netsnmp, nettle, nmap, nodejs, ntp, openntpd, openpgm, + openswan, pango, pcre2, perl-crypt-openssl-rsa, php, pixman, + postgresql, proxychains-ng, putty, python, + python-dataproperty, python-django, python-pysftp, + python-urllib3, python3, qpdf, redis, ripgrep, rsync, ruby, + samba4, sane-backends, slirp, spice, squid, suricata, tcpdump, + tftpd, thrift, tor, tpm2-tools, trinity, uboot, uboot-tools, + uclibc, vlc, wireless-regdb, wireshark, wolfssl, + xapp_fonttosfnt, xlib_libX11, xlib_libxshmfence, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13586: grub failure with BR2_OPTIMIZE_3 + #13661: host-python2 build fails on aarch64 + #13836: package build failure when target install set to no.. + #13846: BR2_PACKAGE_LVM2_STANDARD_INSTALL should be default to.. + +2021.05, released June 6th, 2021 + + Various fixes. + + Disable PIC/PIE support for Nios2 because of glibc issues + + Defconfigs: Minnowboard max: Fix X11 and mesa3d configuration + + Updated/fixed packages: apache, beaglev-ddrinit, + beaglev-secondboot, capnproto, dc3dd, directfb, efibootmgr, + ffmpeg, gptfdisk, go, gupnp, hostapd, iftop, + intel-mediadriver, libcamera, libcutl, libesmtp, libkcapi, + libraw, lttng-tools, lvm2, mimic, mono-gtksharp3, mpv, + netperf, odb, qt5base, uclibc, uftrace, unscd, vlc, + xdriver_xf86-video-fbturbo + + New packages: python3-cffi, python3-cryptography, python3-pip, + python3-pycparser, python3-six + +2021.05-rc3, released May 31th, 2021 + + Fixes all over the tree. + + meson: Explicitly disable PIE support (b_pie) as it is handled + by the toolchain wrapper. + + Updated/fixed packages: boost, dhcp, expat, gdb, hwloc, imagemagick, + libcurl, libopenh264, llvm, lz4, mpv, nginx, paho-mqtt-c, pifmrds, + pipewire, python-bluezero, python-pillow, qemu, strace, uhd, vlc, + webkitgtk + + Issues resolved (http://bugs.uclibc.org): + + #13821: Wrong url for libnfsidmap package + +2021.05-rc2, released May 22th, 2021 + + Fixes all over the tree. + + support/scripts/gen-missing-cpe: A script to query the list of + CPE IDs for the packages enabled in the current configuration and: + + - for CPE IDs that do not have any matching entry in the CPE + database, it emits a warning + + - for CPE IDs that do have a matching entry, but not with the same + version, it generates a snippet of XML that can be used to propose + an updated version to NIST. + + CPE meta data has been added for a large number of packages + + Updated/fixed packages: assimp, binutils, bitcoin, bullet, + cutelyst, dhcp, dmalloc, docker-engine, ebtables, + environment-setup, flatcc, gcc, gd, gerbera, hostapd, + imx-gpu-viv, intel-microcode, jquery-validation, libdrm, + libgeos, libraw, libtirpc, libxml2, libxslt, live555, lmbench, + localedef, lvm2, mender, mender-grubenv, modem-manager, mutt, + opensbi, openssh, opentyrian, pipewire, postgis, postgresql, + prosody, python-bluezero, python-falcon, redis, rocksdb, + rt-tests, runc, vlc, waylandpp, webkitgtk, wireshark, + wpa_supplicant, wpewebkit, xlib_libX11, xterm + + New packages: jh71xx-tools + + Issues resolved (http://bugs.uclibc.org): + + #13781: isc dhcp-server package don't create file /usr/bin/dhcpd + #13801: toolchainfile.cmake CMAKE_BUILD_TYPE + #13806: Building host-localedef fails on fedora 34/gcc 11 + +2021.05-rc1, released May 12th, 2021 + + Fixes all over the tree and new features. + + FORTIFY_SOURCE, PIC/PIE, RELRO and SSP security hardening + options are now enabled by default. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + Infrastructure: Expose CONFIG_DIR to post-build/post-image + scripts, so they can call the Buildroot Makefile in the + correct directory for both in-tree / out-of-tree builds. + + CMake infrastructure: Use CMAKE_EXE_LINKER_FLAGS rather than + CMAKE_CXX_FLAGS to link with libatomic to fix an compatibility + issue with poppler. Bump minimal host cmake version to 3.16 + (from 3.15) to fix a compatibility issue with domoticz. + + Meson: Use correct C++ host compiler (rather than C compiler) + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./. Fix svn download + for <1.9 clients or repos using CVS-style keywords. + + support/scripts/cve.py: Use the (significantly) faster yajl2 + ijson backend for older (< 2.5) ijson versions rather than the + slow python default, speeding up pkg-stats by ~2x. + + Toolchain: Add logic to work around binutils bug 21464 + (affecting OpenRISC), bug 27597 (affecting Nios II) and drop + the now longer applicable bug 19615 / 20006 handling. + + Python{,3}: Fix byte compiling python files with short (single + character before .py) file names. + + CPE meta data has been added for a large number of packages + + New defconfigs: Acme Systems Acqua A5 (256/512MB), Beagleboard + BeagleV, Boundary devices Nitrogen8M Plus SOM, NXP i.MX 8M + Plus EVK, QEMU PPC e500mc + + New packages: beaglev-ddrinit, beaglev-secondboot, janet, + kodi-inputstream-ffmpegdirect, kodi-vfs-libarchive, + kodi-visualisation-matrix, libxcrypt, libqrtr-glib, log4qt, + mawk, perl-parse-yapp, postgis, protozero, python-flask-wtf, + python-iwlib, python-semantic-version, python-setuptools-rust, + python-toml, riscv64-elf-toolchain, siproxyd, uftrace, zfs + + Removed packages: iostat, kodi-platform, + kodi-screensaver-crystalmorph, monkey + + Issues resolved (http://bugs.uclibc.org): + + #13271: systemd-resolved: /etc/resolv.conf link broken on per-pa.. + #13516: utils/scanpypi: Failure when parsing diffoscope + #13551: 2021.02.rc2: Unicode not work on qt 5.15.2 + #13576: Issues compiling buildroot for 5x86 + #13601: Gen image :Iappropriate ioctl error + #13616: tar file from git repository generation issue + #13631: Commit 54d3d94b6e breaks packages with git download method + #13641: glibc on raspberrypi + #13646: Gen image version 14 error : no sub -section title/.. + #13651: pkg-golang cannot build when main.go is in the root + #13661: host-python2 build fails on aarch64 + #13671: openSSH server closes connection before authentication.. + #13721: c-stack.c:55:26: error: missing binary operator before .. + #13731: Readline Patch is missing Author Information + #13741: genext2fs does not allow to set perms of root node + #13751: libopenssl (static): huge drop in performance in newer .. + #13771: package htop has undeclared dependency on host python + +2021.02.10, released February 28th, 2022 + + Important / security related fixes. + + Defconfigs: Andes ae3xx, Intel galileo: Fix build with host + gcc >= 10, ROC-RK3399-PC: Bump rootfs size to fix build issue. + + Add conditional patching logic to fix build issues for older + U-Boot / Linux kernel versions when built with a host gcc >= + 10. + + Updated/fixed packages: casync, cgilua, connman, expat, + gauche, gensio, go, gst-omx, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1, gstreamer1-editing-services, + kf5-extra-cmake-modules, kodi, libarchive, linux, lm-sensors, + log4cxx, mpd, nfs-utils, pistache, prosody, python-django, + python-pyzmq, rtl8723bu, thermald, tiff, util-linux, vim, xen + +2021.02.9, released January 29th, 2022 + + Important / security related fixes. + + check-package: Improve variable override check + + pkg-stats: List CVEs where the version info cannot be parsed + as unsure rather than completely ignoring them. + + Defconfigs: Beaglebone: Support BeagleBone black wireless + + Updated/fixed packages: alsa-utils, apache, cage, capnproto, + civetweb, clamav, collectd, connman, coreutils, dav1d, + docker-cli, docker-containerd, docker-engine, expat, + findutils, flare-engine, flare-game, font-awesome, freeswitch, + gcc, ghostscript, gnuchess, go, grpc, gst1-interpipe, + gst1-plugins-bad, gst-rtsp-sever, gupnp-tools, hackrf, icu, + imagemagick, janus-gateway, keepalived, lapack, libjpeg, + libopenssl, libpjsip, liburiparser, linux-pam, lxc, mbedtls, + mongodb, mpd-mpc, nodejs, openblas, pcre2, polkit, poppler, + privoxy, prosody, python-django, python-lxml, python-pyqt5, + python3, qt5base, qt5location, rhash, ruby, runc, samba4, + sofia-sip, targetcli-fb, tcpreplay, tinyxml, vim, vlc, + wireshark, xapp_xauth, xen, xlib_libX11, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14471: alsa_utils wrong deployment + +2021.02.8, released December 14th, 2021 + + Important / security related fixes. + + Defconfigs: Various fixes for building with gcc >= 10 host or + target compilers. + + Updated/fixed packages: alsa-lib, apparmor, apr, asterisk, + binutils, bluez5_utils, busybox, coreutils, e2fsprogs, ell, + exfat, freeswitch, gdb, glmark2, glog, glorytun, gmp, + gpu-amd-bin-mx51, gst1-interpipe, gstreamer1, guile, gupnp, + hackrf, heimdal, hiawatha, hplip, icu, imx-vpuwrap, isl, iwd, + janus-gateway, libatomic_ops, libbson, libdnet, libffi, + libgdiplus, libgee, libhtp, libmodsecurity, libnspr, libnss, + libunwind, linux, lynx, meson, micropython, mkpasswd, mksh, + mosquitto, motion, mxml, netdata, nfs-utils, oracle-mysql, + pcre, pkcs11-helper, postgresql, pure-ftpd, python-cycler, + qdecoder, rcw-smarc-sal28, samba4, smack, speex, stress-ng, + suricata, syslinux, uboot, unixodbc, unrar, vim, websocketpp, + wireshark + + Issues resolved (http://bugs.uclibc.org): + + #14346: BR2_PACKAGE_NFS_UTILS_RPC_NFSD does not patch CONFIG_NFSD.. + +2021.02.7, released November 10th, 2021 + + Important / security related fixes. + + OpenJDK 16.x moved to 17.x as 16.x is EOL. + + Updated/fixed packages: asterisk, audit, bind, bitcoin, + cryptsetup, dahdi-linux, dbus-python, dfu-util, docker-cli, + docker-containerd, docker-engine, earlyoom, exiv2, ffmpeg, + freerdp, gdb, gensio, gnupg2, go, gpsd, gst1-plugins-bad, + gst1-plugins-ugly, gst1-vaapi, hiredis, lftp, lightning, + lrzip, netdata, nodejs, olsr, openjdk, openjdk-bin, pango, + qemu, samba4, snort, strongswan, suricata, systemd, vim, + wf111, wireguard-linux-compat, xerces + + Issues resolved (http://bugs.uclibc.org): + + #14311: Cannot compile dahdi (part of Asterisk) for x86 (P1mmx) + +2021.02.6, released October 11, 2021 + + Important / security related fixes. + + gdbinit: Mark the sysroot as a "safe path" before configuring + it, so pretty printers work correctly without having to pass + -ix to gdb + + Updated/fixed packages: alsa-lib, apache, + arm-trusted-firmware, atftp, bind, botan, cryptopp, dash, + dc3dd, docker-cli, docker-containerd, docker-engine, dovecot, + erlang, fetchmail, gdb, ghostscript, go, gst-omx, + gst1-devtools, gst1-interpipe, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, kodi-pvr-octonet, libcurl, + libkrb5, libressl, libsndfile, libyang, lxc, lynx, mesa3d, + micropython, minicom, mono, mtr, mv-ddr-marvell, net-tools, + nmap, nodejs, ntfs-3g, openjdk, openjdk-bin, openldap, + openssh, php, python-aioconsole, python-cffi, python-dateutil, + python-django, python-pip, python-texttable, python-urllib3, + python-webob, qt5location, redis, refpolicy, ripgrep, runc, + sispmctl, squid, strongswan, supervisor, syslinux, tinycbor, + trace-cmd, uboot-tools, uclibc, wavemon, wireless-regdb, xen, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14206: Kodi: even when not enabled, forcefully selects libevdev.. + #14211: libffi-3.3.tar.gz repacked + #14221: mv-ddr-marvell fails license validation + +2021.02.5, released September 15th, 2021 + + Important / security related fixes. + + Toolchain: Disable fortify support for Microblaze as it is not + currently working. + + Updated/fixed packages: alsa-utils, arm-trusted-firmware, + bayer2rgb-neon, belle-sip, busybox, c-ares, cjson, coreutils, + cpio, eigen, environt-setup, fetchmail, fluidsynth, + fontconfig, gd, gdb, gnuradio, gnutls, go, haproxy, ipmiutil, + iputils, jszip, kvm-unit-tests, libarchive, libexif, + libgcrypt, libmodsecurity, libopenssl, librsvg, libshout, + libssh, linux, localedef, mc, mesa3d, mosquitto, netsniff-ng, + nginx, nodejs, ogre, openmpi, openvmtools, php, postgresql, + prelink-cross, prosody, protobuf, python-keyring, + python-matplotlib, python-pillow, python-pyudev, + python-secretstorage, python3, qt5base, samba4, sdl2, sox, + swupdate, sylpheed, tor, uboot-tools, uhd, unbound, vim, + wlroots, xapp_xrdb, xapp_xwd, xen, xenomai, xlib_libXfont2, + xlib_libXft, zip + +2021.02.4, released August 10th, 2021 + + Important / security related fixes. + + Toolchain: Disable PIC/PIE for Microblaze (like for NIOS II) + as it is not currently working. + + binutils: fix linker assert failure on OpenRisc, or1k build + issue with gcc < 5 + + gdb: Enable on NIOS II + + utils/scanpypi: Various improvements + + Defconfigs: stm32f469_disco: Fix kernel boot issue, Microchip + sam9x60ek mmc_dev: Add missing toolchain/system options + + Updated/fixed packages: apache, arm-trusted-firmware, audit, + avahi, bind, binutils, bird, bluez5_utils, boinc, busybox, + chrony, clamav, cryptsetup, cwiid, dnsmasq, docker-cli, + docker-engine, dovecot, dovecot-pigeonhole, e2fsprogs, exiv2, + fail2ban, fb-test-app, feh, fetchmail, flac, fluxbox, gawk, + gcc, gcr, gdb, gdk-pixbuf, gesftpserver, glibc, go, gptfdisk, + granite, grub2, gqrx, guile, hdparm, heirloom-mailx, + ibrcommon, ibrdtn, ibrdtn-tools, ibrdtnd, intel-microcode, + iodine, irqbalance, keepalived, libass, libconfig, libcurl, + libfreeimage, libfuse3, libgcrypt, libgtk3, libgudev, libhtp, + libjson, libkrb5, libloki, libmodsecurity, libndp, + libnetfilter-log, libnfnetlink, libnice, libodb, libodb-boost, + libodb-mysql, libodb-pgsql, libpcap, libqmi, libressl, + librsvg, libtasn1, libtirpc, libuci, libxmlrpc, + linux-firmware, linuxptp, lrzsz, ltp-testsuite, lvm2, mariadb, + mbedtls, monit, mono, mosquitto, mpd, mpg123, mpv, nbd, neard, + netsnmp, nettle, nginx-modsecurity, nmap, nodejs, ntp, + openntpd, openpgm, openswan, pango, pcre2, + perl-crypt-openssl-rsa, php, pixman, polkit, postgresql, + proxychains-ng, putty, python, python-django, + python-dataproperty, python-pysftp, python-urllib3, python3, + qpdf, redis, ripgrep, ruby, samba4, spice, slirp, suricata, + sysdig, tcpdump, tftpd, thrift, tor, tpm2-tools, trinity, + uboot, uboot-tools, uclibc, util-linux, vlc, wireless-regdb, + wireshark, wolfssl, xapp_fonttosfnt, xlib_libX11, + xlib_libxshmfence, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13586: grub failure with BR2_OPTIMIZE_3 + #13661: host-python2 build fails on aarch64 + #13836: package build failure when target install set to no.. + #13846: BR2_PACKAGE_LVM2_STANDARD_INSTALL should be default to.. + +2021.02.3, released June 12th, 2021 + + Important / security related fixes. + + CPE meta data has been added for a large number of packages + + Updated/fixed packages: acpid, apache, apcupsd, assimp, bird, + bitcoin, blktrace, boost, capnproto, chrony, dc3dd, dhcp, + directfb, dmalloc, docker-engine, ebtables, efibootmgr, + enlightenment, enscript, environment-setup, exempi, expat, + findutils, flatcc, fluidsynth, frr, gdb, go, gptfdisk, grpc, + gst1-plugins-bad, gst1-rtsp-server, gstreamer1, gupnp, + hostapd, hwloc, i2c-tools, iftop, imagemagick, imx-gpu-viv, + intel-mediadriver, intel-microcode, jquery-validation, + keepalived, kodi, less, libcamera, libcurl, libcutl, libesmtp, + libeXosip2, libffi, libfuse, libfuse3, libgeos, libgtk2, + libgtk3, libical, libidn, libidn2, libkcapi, libldns, libmms, + libmodbus, libmspack, libnids, libopenh264, liboping, libraw, + librelp, libsamplerate, libtirpc, libusb, libuv, libxcb, + libxml2, libxslt, live555, llvm, lmbench, localedef, + lttng-tools, lvm2, lz4, mesa3d, mimic, mini-snmpd, minidlna, + minissdpd, minizip, mono-gtksharp3, mpg123, mpv, msmtp, musl, + mutt, nasm, nbd, netperf, netsurf, nginx, odb, opencv3, + openssh, opentyrian, oprofile, p7zip, paho-mqtt-c, perl, + php-imagick, pifmrds, picocom, pigz, pngquant, poco, + postgresql, prosody, proxychains-ng, pulseaudio, putty, pwgen, + python-autobahn, python-bluezero, python-engineio, + python-keyring, python-pillow, python-requests, python-tqdm, + qemu, qpdf, qt5base, redis, refpolicy, rt-tests, runc, + shellinabox, squid, strace, supervisor, synergy, taglib, + tclap, terminology, thermald, tini, tinyproxy, tinyxml2, + tpm2-tss, uclibc, udisks, uhd, unscd, vlc, waylandpp, + webkitgtk, weston, wireshark, wpa_supplicant, wpewebkit, + xlib_libdmx, xlib_libFS, xlib_libICE, xlib_libX11, + xlib_libXcursor, xlib_libXdmcp, xlib_libXext, xlib_libXfixes, + xlib_libXfont2, xlib_libXinerama, xlib_libXpm, xlib_libXres, + xlib_libXt, xlib_libXtst, xlib_libXxf86dga, xlib_libXxf86vm, + xterm + + Issues resolved (http://bugs.uclibc.org): + + #13781: isc dhcp-server package don't create file /usr/bin/dhcpd + #13801: toolchainfile.cmake CMAKE_BUILD_TYPE + #13806: Building host-localedef fails on fedora 34/gcc 11 + +2021.02.2, released May 12th, 2021 + + Important / security related fixes. + + Toolchain: Add logic to mark toolchains affected by binutils + bug 27597 (Nios II). + + support/scripts/cve.py: Use the (significantly) faster yajl2 + ijson backend for older (< 2.5) ijson versions rather than the + slow python default, speeding up pkg-stats by ~2x. + + CMake infrastructure: Use CMAKE_EXE_LINKER_FLAGS rather than + CMAKE_CXX_FLAGS to link with libatomic to fix an compatibility + issue with poppler. + + Infrastructure: Expose CONFIG_DIR to post-build/post-image + scripts, so they can call the Buildroot Makefile in the + correct directory for both in-tree / out-of-tree builds. + + Updated/fixed packages: at91bootstrap, avahi, bash, bind, + bridge-utils, boost, cegui, cifs-utils, clamav, cmake, + coremark-pro, coreutils, cryptsetup, dmalloc, dnsmasq, + docker-cli, docker-engine, domoticz, efl, exim, ffmpeg, flex, + gcc, genext2fs, go, gst1-interpipe, haproxy, hostapd, + i2c-tools, imx-vpu, kexec, kf5-kcoreaddons, kismet, libcamera, + libcurl, libdrm, libfreefare, libfuse3, libgeos, libgpiod, + libnpupnp, libopenssl, libp11, librsync, libtomcrypt, libupnp, + localedef, lvm2, lxc, m4, makedevs, mender, mesa3d, + mesa3d-headers, mkpasswd, mkpimage, modem-manager, monkey, + mpd, ncurses, nettle, network-manager, nginx, numactl, + openjdk, openjdk-bin, openldap, openvpn, php, pipewire, + python-aioconsole, python-asgiref, python-botocore, + python-django, python-dnspython, python-flup, python-httplib2, + python-markdown2, python-mbrstrdecoder, python3, quickjs, + readline, rsyslog, ruby, rust, samba4, sconeserver, snort, + sox, systemd, tar, timescaledb, tio, tor, usb_modeswitch, + wpa_supplicant, xdriver_xf86-video-ati, xen, xlib_libXaw, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13271: systemd-resolved: /etc/resolv.conf link broken on per-pa.. + #13551: 2021.02.rc2: Unicode not work on qt 5.15.2 + #13651: pkg-golang cannot build when main.go is in the root + #13661: host-python2 build fails on aarch64 + #13721: c-stack.c:55:26: error: missing binary operator before .. + #13731: Readline Patch is missing Author Information + #13741: genext2fs does not allow to set perms of root node + #13751: libopenssl (static): huge drop in performance in newer .. + #13771: package htop has undeclared dependency on host python + +2021.02.1, released April 7, 2021 + + Important / security related fixes. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./. Fix svn download + for <1.9 clients or repos using CVS-style keywords. + + Meson: Use correct C++ host compiler (rather than C compiler) + + Toolchain: Add logic to work around binutils bug 21464, + affecting OpenRISC, and drop the now longer applicable bug + 19615 / 20006 handling. + + Python{,3}: Fix byte compiling python files with short (single + character before .py) file names. + + CPE meta data has been added for a large number of packages + + Defconfigs: Correct Beaglebone QT file system overlay + + Updated/fixed packages: alsa-utils, at91bootstrap3, + batman-adv, binutils, botan, bridge-utils, busybox, + ca-certificates, cog, coreutils, diffutils, dmidecode, + docker-cli, docker-containerd, docker-engine, efivar, + fetchmail, frr, genimage, git, gnutls, go, grub2, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, haproxy, haserl, hwloc, + irqbalance, jasper, kexec, kexec-lite, kismet, kodi, libcurl, + libfreeglut, libgcrypt, libgeos, libglib2, libopenssl, libqmi, + libressl, libupnp, libvips, libvpx, libwebsockets, linux, + lldpd, logrotate, lttng-libust, lttng-tools, mariadb, mbedtls, + mcelog, mender, micropython, mongoose, mosquitto, mpd, + netsnmp, nodejs, openmpi, openssh, openvpn, opkg-utils, + optee-client, optee-test, perl, php, proftpd, protobuf, + python-django, python-jinja2, python-lxml, python-paramiko, + python-py, python-pygments, python-rpi-ws281x, python-urllib3, + python3, qt5webkit, qwt, rpm, samba4, sconeserver, sdl2, shim, + sqlcipher, squid, sysklogd, syslinux, sysvinit, tor, + transmission, tzdata, uboot, uclibc, upx, webkitgtk, + wireshark, wpebackend-fdo, wpewebkit, xen, zstd + + New packages: perl-parse-yapp + + Issues resolved (http://bugs.uclibc.org): + + #13516: utils/scanpypi: Failure when parsing diffoscope + #13576: Issues compiling buildroot for 5x86 + #13601: Gen image :Iappropriate ioctl error + #13616: tar file from git repository generation issue + #13641: glibc on raspberrypi + #13646: Gen image version 14 error : no sub -section title/.. + #13671: openSSH server closes connection before authentication.. + 2021.02, released March 6th, 2021 Various fixes. @@ -121,6 +1393,48 @@ #13471: package/mpd/mpd.conf make use of path not created #13506: BR2_PACKAGE_DHCPCD missing directory creation +2020.11.4, released April 5th, 2021 + + Important / security related fixes. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./ + + Meson: Use correct C++ host compiler (rather than C compiler) + + Updated/fixed packages: asterisk, at91bootstrap3, babeltrace2, + batman-adv, bind, ca-certificates, cegui, cog, diffutils, + docker-containerd, dovecot, dovecot-pigeonhole, efivar, + elfutils, fakeroot, git, gnuchess, gnuradio, gnutls, go, + grub2, haserl, i7z, imagemagick, intel-mediasdk, irqbalance, + jasper, kodi, libcurl, libebml, libeXosip2, libglib2, libhtp, + libjpeg, libopenssl, libqmi, libressl, libupnp, libuwsc, + libvips, lldpd, mariadb, mbedtls, mender, micropython, + mosquitto, netsnmp, nodejs, openblas, openldap, openmpi, + openssh, opkg-utils, optee-client, optee-test, perl, php, + privoxy, proftpd, prosody, protobuf, python-aiohttp, + python-django, python-lxml, python-pyyaml, python-rpi-ws281x, + python-typing-extensions, python3, quagga, qwt, redis, rpm, + sconeserver, screen, sox, sqlcipher, squid, suricata, + syslinux, sysvinit, tor, transmission, tzdata, uboot, unbound, + upx, util-linux, webkitgtk, wireshark, wolfssl, + wpebackend-fdo, wpewebkit, wpa_supplicant, zstd + + Issues resolved (http://bugs.uclibc.org): + + #13516: utils/scanpypi: Failure when parsing diffoscope + #13541: 2021.02.rc2: irqbalance: Daemon couldn't be bound to.. + #13576: Issues compiling buildroot for 5x86 + #13581: jpegsrc.v9d.tar.gz has changed hash + #13616: tar file from git repository generation issue + 2020.11.3, released February 17th, 2021 meson: Fix ccache detection handling when per-package builds @@ -922,6 +2236,43 @@ #12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967 #12811: bootstrap stuck and no login prompt +2020.02.12, released April 5, 2021 + + Important / security related fixes. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./ + + Meson: Use correct C++ host compiler (rather than C compiler) + + Updated/fixed packages: asterisk, batman-adv, bind, + ca-certificates, docker-containerd, dovecot, + dovecot-pigeonhole, diffutils, efivar, git, gnuchess, gnutls, + grub2, fakeroot, haserl, imagemagick, irqbalance, jasper, + kodi, libcurl, libebml, libglib2, libjpeg, libopenssl, + libupnp, libvips, lldpd, mariadb, mbedtls, mosquitto, nodejs, + netsnmp, nettle, openldap, openmpi, openssh, opkg-utils, perl, + php, privoxy, prosody, protobuf, python-aiohttp, + python-django, python-lxml, python-pyyaml, python-rpi-ws281x, + python3, redis, rpm, sconeserver, screen, sox, sqlcipher, + squid, sysvinit, tor, transmission, tzdata, uboot, upx, + util-linux, wireshark, wolfssl, wpa_supplicant, zstd + + Issues resolved (http://bugs.uclibc.org): + + #13516: utils/scanpypi: Failure when parsing diffoscope + #13541: 2021.02.rc2: irqbalance: Daemon couldn't be bound to.. + #13576: Issues compiling buildroot for 5x86 + #13581: jpegsrc.v9d.tar.gz has changed hash + #13616: tar file from git repository generation issue + 2020.02.11, released February 17, 2021 Important / security related fixes. diff --git a/Config.in b/Config.in index e35a78fb71b..f0cd6f48eda 100644 --- a/Config.in +++ b/Config.in @@ -119,6 +119,10 @@ config BR2_SCP string "Secure copy (scp) command" default "scp" +config BR2_SFTP + string "Secure file transfer (sftp) command" + default "sftp" + config BR2_HG string "Mercurial (hg) command" default "hg" @@ -412,6 +416,19 @@ config BR2_DEBUG_3 endchoice endif +config BR2_ENABLE_RUNTIME_DEBUG + bool "build packages with runtime debugging info" + help + Some packages may have runtime assertions, extra traces, and + similar runtime elements that can help debugging. However, + these elements may negatively influence performance so should + normally not be enabled on production systems. + + Enable this option to enable such runtime debugging. + + Note: disabling this option is not a guarantee that all + packages effectively removed these runtime debugging elements. + config BR2_STRIP_strip bool "strip target binaries" default y @@ -713,8 +730,18 @@ endmenu comment "Security Hardening Options" +config BR2_PIC_PIE_ARCH_SUPPORTS + bool + default y + # Microblaze glibc toolchains don't work with PIC/PIE enabled + depends on !BR2_microblaze + # Nios2 toolchains produce non working binaries with -fPIC + depends on !BR2_nios2 + config BR2_PIC_PIE bool "Build code with PIC/PIE" + default y + depends on BR2_PIC_PIE_ARCH_SUPPORTS depends on BR2_SHARED_LIBS depends on BR2_TOOLCHAIN_SUPPORTS_PIE help @@ -722,12 +749,15 @@ config BR2_PIC_PIE Position-Independent Executables (PIE). comment "PIC/PIE needs a toolchain w/ PIE" + depends on BR2_PIC_PIE_ARCH_SUPPORTS depends on BR2_SHARED_LIBS depends on !BR2_TOOLCHAIN_SUPPORTS_PIE choice bool "Stack Smashing Protection" default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy + default BR2_SSP_STRONG if BR2_TOOLCHAIN_HAS_SSP_STRONG + default BR2_SSP_REGULAR depends on BR2_TOOLCHAIN_HAS_SSP help Enable stack smashing protection support using GCC's @@ -789,6 +819,8 @@ comment "Stack Smashing Protection needs a toolchain w/ SSP" choice bool "RELRO Protection" + default BR2_RELRO_FULL if BR2_TOOLCHAIN_SUPPORTS_PIE + default BR2_RELRO_PARTIAL depends on BR2_SHARED_LIBS help Enable a link-time protection know as RELRO (RELocation Read @@ -808,6 +840,7 @@ config BR2_RELRO_PARTIAL config BR2_RELRO_FULL bool "Full" + depends on BR2_PIC_PIE_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_SUPPORTS_PIE select BR2_PIC_PIE help @@ -816,6 +849,7 @@ config BR2_RELRO_FULL program loading, i.e every time an executable is started. comment "RELRO Full needs a toolchain w/ PIE" + depends on BR2_PIC_PIE_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_SUPPORTS_PIE endchoice @@ -823,8 +857,16 @@ endchoice comment "RELocation Read Only (RELRO) needs shared libraries" depends on !BR2_SHARED_LIBS +config BR2_FORTIFY_SOURCE_ARCH_SUPPORTS + bool + default y + # Microblaze glibc toolchains don't work with Fortify Source enabled + depends on !BR2_microblaze + choice bool "Buffer-overflow Detection (FORTIFY_SOURCE)" + default BR2_FORTIFY_SOURCE_1 + depends on BR2_FORTIFY_SOURCE_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC depends on !BR2_OPTIMIZE_0 help @@ -865,6 +907,7 @@ config BR2_FORTIFY_SOURCE_2 endchoice comment "Fortify Source needs a glibc toolchain and optimization" + depends on BR2_FORTIFY_SOURCE_ARCH_SUPPORTS depends on (!BR2_TOOLCHAIN_USES_GLIBC || BR2_OPTIMIZE_0) endmenu diff --git a/Config.in.legacy b/Config.in.legacy index 9deb67b31f4..6724865232d 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -144,6 +144,695 @@ endif ############################################################################### +comment "Legacy options removed in 2022.02" + +config BR2_sh2a + bool "sh2a architecture support removed" + select BR2_LEGACY + help + The SuperH 2A (SH2A) architecture was not maintained, and + broken, so its support was dropped. + +config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS + string "entrypoint arguments has been changed as command" + help + The OCI image BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS option + has been renamed to BR2_TARGET_ROOTFS_OCI_CMD to better + reflect its relation to the actual 'command' of the OCI + image. + + The new semantic for BR2_TARGET_ROOTFS_OCI_CMD is slightly + different in relation to how it is interpreted, so be sure to + review the help entry for it. + + Due to this breaking change, the old value here could not be + set to the new variable. + +config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS_WRAP + bool + default y if BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS != "" + select BR2_LEGACY + +config BR2_PACKAGE_LIBCURL_LIBNSS + bool "libcurl NSS removed" + select BR2_LEGACY + help + NSS was deprecated in libcurl 7.82.0. + +config BR2_PACKAGE_WESTON_DEFAULT_FBDEV + bool "weston fbdev removed" + select BR2_LEGACY + help + fbdev was deprecated in weston 10.0.0. + +config BR2_PACKAGE_WESTON_FBDEV + bool "weston fbdev compositor removed" + select BR2_LEGACY + help + fbdev compositor was deprecated in weston 10.0.0. + +config BR2_PACKAGE_PYTHON_PYCLI + bool "python-pycli removed" + select BR2_LEGACY + help + Package was removed because it is not compatible with python + 3.10 and is not maintained anymore (no release since 2012). + +config BR2_PACKAGE_LINUX_TOOLS_BPFTOOL + bool "bpftool was moved" + select BR2_LEGACY + select BR2_PACKAGE_BPFTOOL + help + The linux-tools bpftool build has been moved out + of the linux-tools package. + +config BR2_TARGET_UBOOT_NEEDS_PYTHON2 + bool "host-python 2.7 support for U-Boot was removed" + select BR2_LEGACY + help + Option was removed together with python 2.7 support. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS + bool "gst1-plugins-bad plugin libmms was removed" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_LEGACY + help + This plugin was removed with gst1-plugins-bad-1.20.0. + +config BR2_PACKAGE_PYTHON_FUNCTOOLS32 + bool "python-functools32 removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_ENUM34 + bool "python-enum34 removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_ENUM + bool "python-enum removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_DIALOG + bool "python-dialog removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_CONFIGOBJ + bool "python-configobj removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_YIELDFROM + bool "python-yieldfrom removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_TYPING + bool "python-typing removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_SUBPROCESS32 + bool "python-subprocess32 removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_SINGLEDISPATCH + bool "python-singledispatch removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_PYRO + bool "python-pyro removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_PYPCAP + bool "python-pypcap removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_PATHLIB2 + bool "python-pathlib2 removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_PAM + bool "python-pam removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_NFC + bool "python-nfc removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_MAD + bool "python-mad removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_IPADDRESS + bool "python-ipaddress removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_IPADDR + bool "python-ipaddr removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_ID3 + bool "python-id3 removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_FUTURES + bool "python-futures removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME + bool "python-backports-ssl-match-hostname removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE + bool "python-backports-shutil-get-terminal-size removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON_BACKPORTS_ABC + bool "python-backports-abc removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. + +config BR2_PACKAGE_PYTHON + bool "python2.7 package removed" + select BR2_LEGACY + help + Python 2.7 is EOL since April 2020 and has been removed. + + https://www.python.org/dev/peps/pep-0373/ + +config BR2_TARGET_UBOOT_ZYNQ_IMAGE + bool "Generate image for Xilinx Zynq" + select BR2_LEGACY + help + Since 2016.1, U-Boot can natively generate the Zynq boot + image, and so the Xilinx-specific format and tools have been + removed. Should you still have an older U-Boot that needs + this, a python3 version of the zynq-boot-bin.py script can be + downloaded from the URL below and called from a post-build + script. + + https://gist.githubusercontent.com/jameshilliard/e09235dfc6f96c11418a134e6ebf7890/raw/135b7480c405ae8a77a9db615e495f9a9f2d3242/zynq-boot-bin.py + +config BR2_PACKAGE_RPI_BT_FIRMWARE + bool "rpi-bt-firmware package was renamed" + depends on BR2_arm || BR2_aarch64 + select BR2_LEGACY + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT + help + Package rpi-bt-firmware was moved as option to + package brcmfmac_sdio-firmware-rpi. + +config BR2_PACKAGE_RPI_WIFI_FIRMWARE + bool "rpi-wifi-firmware package was renamed" + depends on BR2_arm || BR2_aarch64 + select BR2_LEGACY + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI + help + Package rpi-wifi-firmware was moved as option to + package brcmfmac_sdio-firmware-rpi. + +config BR2_PACKAGE_HOST_GDB_PYTHON + bool "GDB Python2 support removed" + select BR2_LEGACY + help + Python2 is deprecated and no longer supported. + Please migrate to Python3. + +config BR2_PACKAGE_GSTREAMER1_MM + bool "gstreamer1-mm package removed" + select BR2_LEGACY + help + This package has been removed as it is not actively + maintained anymore and does not support glibmm-2.68 API. + +config BR2_KERNEL_HEADERS_5_14 + bool "kernel headers version 5.14.x are no longer supported" + select BR2_LEGACY + help + Version 5.14.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE + bool "python-backports-functools-lru-cache package removed" + select BR2_LEGACY + help + This package has been removed as python-setuptools-scm + dropped support of python 2 since version 6.0.0. + +config BR2_PACKAGE_CIVETWEB_WITH_LUA + bool "civetweb lua support option removed" + select BR2_LEGACY + help + Lua support does not depend on a version of Lua bundled + within the Civetweb sources anymore. Lua support is + automatically enabled if an Lua interpreter (lua or luajit) + is enabled in Buildroot. + +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER + bool "sunxi-mali-mainline-driver package was renamed" + select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER + help + Since the removal of the sunxi-mali-driver package, the + sunxi-mali-mainline-driver package that coexisted became the + only package to provide the Sunxi Mali driver. The "-mainline" + suffix being undescriptive nowadays and before adding new + packages bringing Mali support for other SoCs/GPU flavors, it + is clearer to rename it SUNXI_MALI_UTGARD_DRIVER. + +config BR2_PACKAGE_SUNXI_MALI_MAINLINE + bool "sunxi-mali-mainline package was renamed" + select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_UTGARD + help + Since the removal of the sunxi-mali package, the + sunxi-mali-mainline package that coexisted became the only + package to provide Mali blobs. The "-mainline" suffix being + undescriptive nowadays and before adding new packages bringing + Mali support for other SoCs/GPU flavors, it is clearer to + rename it SUNXI_MALI_UTGARD. + +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 + bool "sunxi-mali-mainline-r6p2 was renamed" + select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 + help + The sunxi-mali-mainline package has been renamed + sunxi-mali-utgard, the suboptions of this package have also + been renamed accordingly. + +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 + bool "sunxi-mali-mainline-r8p1 was renamed" + select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 + help + The sunxi-mali-mainline package has been renamed + sunxi-mali-utgard, the suboptions of this package have also + been renamed accordingly. + +config BR2_PACKAGE_QT5WEBKIT_EXAMPLES + bool "qt5webkit-examples removed" + select BR2_LEGACY + help + The qt5webkit-examples package is unmaintained and has been + removed. + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE + bool "Bootlin riscv64 glibc bleeding-edge toolchain removed" + select BR2_LEGACY + help + The RISC-V 64-bit LP64 Bootlin toolchains have been removed, + in favor of RISC-V 64-bit LP64D toolchains. + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE + bool "Bootlin riscv64 musl bleeding-edge toolchain removed" + select BR2_LEGACY + help + The RISC-V 64-bit LP64 Bootlin toolchains have been removed, + in favor of RISC-V 64-bit LP64D toolchains. + +config BR2_PACKAGE_IPUTILS_TFTPD + bool "iputils tftpd option removed" + select BR2_LEGACY + help + tftpd has been removed from iputils since version 20211215. + +config BR2_PACKAGE_IPUTILS_TRACEROUTE6 + bool "iputils traceroute6 option removed" + select BR2_LEGACY + help + traceroute6 has been removed from iputils since version + 20211215. + +config BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE + bool "libmediaart 'none' backend removed" + select BR2_LEGACY + help + 'none' backend has been removed from libmediaart since version + 1.9.5. + +config BR2_PACKAGE_MPD_UPNP + bool "MPD UPnP configuration changed" + select BR2_LEGACY + help + From version 0.23, MPD supports npupnp in addition to pupnp to + provide database access to a UPnP media server. To preserve + the existing functionality, the pupnp option has been selected + in the MPD UPnP configuration. +# Note: BR2_PACKAGE_MPD_UPNP is still referenced from package/mpd/Config.in + +comment "Legacy options removed in 2021.11" + +config BR2_OPENJDK_VERSION_LTS + bool "OpenJDK LTS version was renamed to OpenJDK 11" + select BR2_LEGACY + select BR2_PACKAGE_OPENJDK_VERSION_11 + help + The LTS version option was renamed to OpenJDK 11 to make it + clear what LTS version is. + +config BR2_OPENJDK_VERSION_LATEST + bool "OpenJDK latest version (16.x) was removed" + select BR2_LEGACY + select BR2_PACKAGE_OPENJDK_VERSION_17 + help + OpenJDK 16.x is no longer mainted, so the option has been + removed. Use OpenJDK 17.x instead. + +config BR2_PACKAGE_MPD_TIDAL + bool "mpd tidal option removed" + select BR2_LEGACY + help + tidal has been removed from mpd since version 0.22.10. + +config BR2_PACKAGE_MROUTED_RSRR + bool "RSRR for RSVP removed in mrouted v4.4" + select BR2_LEGACY + help + The RSRR configure option and feature was dropped in upstream + mrouted as of v4.4. This feature was marked as experimental + since its inception well before v4.0 and was never deployed + in the field outside of academia. + +config BR2_BINUTILS_VERSION_CSKY + bool "binutils csky version removed" + select BR2_LEGACY + help + Support for binutils csky version has been removed. + +config BR2_GCC_VERSION_CSKY + bool "gcc csky version removed" + select BR2_LEGACY + help + Support for gcc csky version has been removed. + +config BR2_PACKAGE_CANFESTIVAL + bool "canfestival package removed" + select BR2_LEGACY + help + This package has been removed as it is unmaintained since + November 2017. + +config BR2_PACKAGE_NMAP_NDIFF + bool "The ndiff utility has been removed" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_PYNDIFF + help + The ndiff utility provided by nmap requires python2 which is + deprecated. The same functionality is provided by the python + package pyndiff. + +config BR2_GDB_VERSION_8_3 + bool "gdb version 8.3.x removed" + select BR2_LEGACY + help + gdb 8.3.x has been removed, use a newer version instead. + +config BR2_PACKAGE_PYTHON_MELD3 + bool "python-meld3 package removed" + select BR2_LEGACY + help + This package has been removed as it is unmaintained since + April 2020. + +config BR2_PACKAGE_STRONGSWAN_EAP + bool "strongswan EAP plugins now individually selectable" + select BR2_LEGACY + help + The various EAP plugins are now individually selectable. + +config BR2_PACKAGE_GNURADIO_PAGER + bool "gnuradio gr-flex support removed" + select BR2_LEGACY + help + gr-flex has been removed from gnuradio since version 3.8.0.0. + +config BR2_KERNEL_HEADERS_5_11 + bool "kernel headers version 5.11.x are no longer supported" + select BR2_LEGACY + help + Version 5.11.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_5_12 + bool "kernel headers version 5.12.x are no longer supported" + select BR2_LEGACY + help + Version 5.12.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_5_13 + bool "kernel headers version 5.13.x are no longer supported" + select BR2_LEGACY + help + Version 5.13.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +comment "Legacy options removed in 2021.08" + +config BR2_TARGET_GRUB2_BUILTIN_MODULES + string "the grub2 builtin modules has been renamed" + help + This option has been split to separate the builtin modules + between BR2_TARGET_GRUB2_BUILTIN_MODULES_PC and + BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. + +config BR2_TARGET_GRUB2_BUILTIN_MODULES_WRAP + bool + default y if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" + select BR2_LEGACY + +config BR2_TARGET_GRUB2_BUILTIN_CONFIG + string "the grub2 builtin configuration has been renamed" + help + This option has been split to separate the builtin + configuration between BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC and + BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI. + +config BR2_TARGET_GRUB2_BUILTIN_CONFIG_WRAP + bool + default y if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" + select BR2_LEGACY + +config BR2_PACKAGE_LIBMCRYPT + bool "libmcrypt package was removed" + select BR2_LEGACY + help + This package has been removed as "the last update to libmcrypt + was in 2007, despite years of unmerged patches. These facts + have led security experts to declare mcrypt abandonware and + discourage its use in new development" (extract from + https://en.wikipedia.org/wiki/Mcrypt). + +config BR2_PACKAGE_MCRYPT + bool "mcrypt package was removed" + select BR2_LEGACY + help + This package has been removed as "the last update to libmcrypt + was in 2007, despite years of unmerged patches. These facts + have led security experts to declare mcrypt abandonware and + discourage its use in new development" (extract from + https://en.wikipedia.org/wiki/Mcrypt). + +config BR2_PACKAGE_PHP_EXT_MCRYPT + bool "PHP mcrypt extension removed" + select BR2_LEGACY + help + mcrypt has been removed from php since version 7.2.0. + +config BR2_BINUTILS_VERSION_2_34_X + bool "binutils 2.34 has been removed" + select BR2_LEGACY + help + binutils 2.34 has been removed, use a newer version. + +config BR2_PACKAGE_LIBSOIL + bool "libsoil package removed" + select BR2_LEGACY + help + The libsoil package was removed. All packages needing + libsoil removed the dependency. + +config BR2_PACKAGE_CLAPACK + bool "cblas/clapack package removed" + select BR2_LEGACY + select BR2_PACKAGE_LAPACK if BR2_PACKAGE_LAPACK_ARCH_SUPPORTS && BR2_TOOLCHAIN_HAS_FORTRAN + help + The clapack package was removed. LAPACK no longer generates a + C version. Use lapack instead. This does require a Fortran + compiler however. + +config BR2_PACKAGE_SPIDERMONKEY + bool "spidermonkey package removed" + select BR2_LEGACY + help + The spidermonkey package was removed. The only package that + depended on spidermonkey was polkit. The spidermonkey + dependency is replaced with duktape. + +config BR2_PACKAGE_KODI_LIBVA + bool "kodi option to add libva support removed" + select BR2_LEGACY + help + Kodi still has support for libva if the package is enabled but + the kodi-specific dependencies limiting libva support to non- + OPENGLES platforms were removed including this option. + +config BR2_PACKAGE_PYTHON_COHERENCE + bool "python-coherence package removed" + select BR2_LEGACY + help + This package has been removed as it can't be built anymore due + to python-twisted being now incompatible with python 2. + +config BR2_PACKAGE_PHP_EXT_XMLRPC + bool "PHP XMLRPC extension removed" + select BR2_LEGACY + help + The XMLRPC php extension was removed. + See: https://wiki.php.net/rfc/unbundle_xmlprc + +config BR2_GCC_VERSION_8_X + bool "gcc 8.x support removed" + select BR2_LEGACY + help + Support for gcc version 8.x has been removed. The current + default version (10.x or later) has been selected instead. + +comment "Legacy options removed in 2021.05" + +config BR2_PACKAGE_UDISKS_LVM2 + bool "udisks lvm2 support removed" + select BR2_LEGACY + help + The lvm2 support was removed because udisks < 2.7.0 still + depends on lvm2 application library, which was removed + in lvm2. + +config BR2_PACKAGE_LVM2_APP_LIBRARY + bool "lvm2 application library removed" + select BR2_LEGACY + help + The lvm2 application library was removed upstream. + +config BR2_PACKAGE_LVM2_LVMETAD + bool "lvm2 lvmetad removed" + select BR2_LEGACY + help + The lvm2 lvmetad was removed upstream. + +config BR2_PACKAGE_MONKEY + bool "monkey package removed" + select BR2_LEGACY + help + This package has been removed as it has not seen any release + since 2016 and because TLS is broken on master. + +config BR2_PACKAGE_DOCKER_CONTAINERD + bool "docker-containerd package was renamed to containerd" + select BR2_LEGACY + select BR2_PACKAGE_CONTAINERD + help + The containerd project is now independent from Docker. + The package was renamed to containerd accordingly. + +config BR2_PACKAGE_IOSTAT + bool "iostat package removed" + select BR2_LEGACY + help + This package has been removed, use sysstat instead. + +config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE + bool "sconeserver http::sconesite::image removed" + select BR2_LEGACY + help + Sconeserver cannot be built with ImageMagick - it uses the + "transofrm" function which is removed from public API. + +config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV + bool "KDrive/TinyX evdev input driver removed" + select BR2_LEGACY + help + The evdev input driver in KDrive was removed. + +config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD + bool "KDrive/TinyX kbd input driver removed" + select BR2_LEGACY + help + The kbd input driver in KDrive was removed. + +config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE + bool "KDrive/TinyX mouse input driver removed" + select BR2_LEGACY + help + The mouse input driver in KDrive was removed. + +config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC + bool "mesa OSMesa (classic) option removed" + select BR2_LEGACY + select BR2_PACKAGE_MESA3D_OSMESA_GALLIUM + help + The OSMesa "classic" library option was removed upstream. + Only the Gallium-based implementation remains. + +config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST + bool "mesa DRI swrast driver removed" + select BR2_LEGACY + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST + help + The DRI swrast driver was removed upstream. + Only the Gallium-based implementation remains. + +config BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH + bool "kodi-screensaver-crystalmorph removed" + select BR2_LEGACY + help + The package received its last updates in 2017, is not part + of the official Kodi github repo and its build is broken + with Kodi 19.x, so it was removed. + comment "Legacy options removed in 2021.02" config BR2_PACKAGE_MPD_AUDIOFILE @@ -246,6 +935,26 @@ config BR2_PACKAGE_IPSEC_TOOLS comment "Legacy options removed in 2020.11" +config BR2_PACKAGE_GPSD_FIXED_PORT_SPEED + bool "compile with fixed serial port speed" + select BR2_LEGACY + help + Since gpsd 3.20, GPSD_FIXED_PORT_SPEED is replaced + by runtime option --speed. + +config BR2_PACKAGE_GPSD_RECONFIGURE + bool "allow gpsd to change device settings" + select BR2_LEGACY + help + Since gpsd 3.21, GPSD_RECONFIGURE is replaced + by runtime option --passive. + +config BR2_PACKAGE_GPSD_CONTROLSEND + bool "allow gpsctl/gpsmon to change device settings" + select BR2_LEGACY + help + Option removed in gpsd 3.21 + config BR2_PACKAGE_OPENCV bool "opencv package was removed" select BR2_LEGACY @@ -1068,7 +1777,7 @@ config BR2_PACKAGE_LIBUMP config BR2_PACKAGE_SUNXI_MALI bool "sunxi-mali package removed" select BR2_LEGACY - select BR2_PACKAGE_SUNXI_MALI_MAINLINE + select BR2_PACKAGE_SUNXI_MALI_UTGARD help The sunxi-mali package was removed, as the sunxi-mali-mainline package replaces it for mainline diff --git a/DEVELOPERS b/DEVELOPERS index 0c48236da40..b7a4cb64f17 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -35,6 +35,7 @@ F: package/bubblewrap/ F: package/cage/ F: package/cog/ F: package/libepoxy/ +F: package/libpsl/ F: package/libwpe/ F: package/webkitgtk/ F: package/wlroots/ @@ -70,6 +71,7 @@ F: package/odhcp6c/ N: Alexander Dahl F: package/fastd/ F: package/libuecc/ +F: package/siproxd/ F: package/putty/ N: Alexander Egorenkov @@ -88,6 +90,9 @@ F: package/minimodem/ N: Alexander Lukichev F: package/openpgm/ +N: Aleksandr Makarov +F: package/libest/ + N: Alexander Mukhin F: package/tinyproxy/ @@ -108,6 +113,9 @@ N: Alexey Brodkin F: board/cubietech/cubieboard2/ F: configs/cubieboard2_defconfig +N: Alexey Lukyanchuk +F: package/zabbix/ + N: Alistair Francis F: board/sifive/ F: boot/opensbi/ @@ -122,10 +130,7 @@ F: package/python-docopt/ N: Anders Darander F: package/ktap/ -N: André Hentschel -F: board/freescale/imx8qxpmek/ -F: configs/freescale_imx8qxpmek_defconfig -F: package/freescale-imx/imx-sc-firmware/ +N: André Zwing F: package/libkrb5/ F: package/openal/ F: package/p7zip/ @@ -134,11 +139,12 @@ F: package/wine/ N: Andreas Klinger F: package/ply/ +N: Andreas Ziegler +F: package/mpd/ + N: Andrey Smirnov -F: package/python-backports-shutil-get-terminal-size/ F: package/python-decorator/ F: package/python-ipython-genutils/ -F: package/python-pathlib2/ F: package/python-pickleshare/ F: package/python-scandir/ F: package/python-simplegeneric/ @@ -180,6 +186,9 @@ F: package/sshguard/ F: package/sunwait/ F: package/sysdig/ +N: Andy Shevchenko +F: package/fb-test-app/ + N: Anisse Astier F: package/go/ F: package/nghttp2/ @@ -206,7 +215,6 @@ F: configs/snps_arc700_axs101_defconfig F: configs/snps_archs38_axs103_defconfig F: configs/snps_archs38_haps_defconfig F: configs/snps_archs38_hsdk_defconfig -F: configs/snps_archs38_vdk_defconfig N: Ariel D'Alessandro F: package/axfsutils/ @@ -227,10 +235,6 @@ F: package/python-bottle/ F: package/sqlcipher/ F: package/stress/ -N: Arthur Courtel -F: board/raspberrypi/genimage-raspberrypi4-64.cfg -F: configs/raspberrypi4_64_defconfig - N: Asaf Kahlon F: package/collectd/ F: package/libfuse3/ @@ -239,6 +243,7 @@ F: package/python* F: package/snmpclitools/ F: package/spdlog/ F: package/uftp/ +F: package/uftrace/ F: package/uvw/ F: package/zeromq/ @@ -261,6 +266,8 @@ F: package/python-canopen/ N: Bartosz Bilas F: board/stmicroelectronics/stm32mp157a-dk1/ F: configs/stm32mp157a_dk1_defconfig +F: package/cegui/ +F: package/log4qt/ F: package/python-esptool/ F: package/python-pyaes/ F: package/ttyd/ @@ -289,7 +296,6 @@ F: package/ebtables/ F: package/i2c-tools/ F: package/libcurl/ F: package/libpcap/ -F: package/openipmi/ F: package/socat/ F: package/strace/ F: package/tcpdump/ @@ -306,9 +312,12 @@ N: Bernd Kuhls F: package/alsa-lib/ F: package/alsa-utils/ F: package/apache/ +F: package/apg/ F: package/apr/ F: package/apr-util/ F: package/bcg729/ +F: package/bento4/ +F: package/bitcoin/ F: package/bluez-tools/ F: package/boinc/ F: package/clamav/ @@ -331,8 +340,12 @@ F: package/gkrellm/ F: package/gli/ F: package/glmark2/ F: package/gpsd/ +F: package/gptfdisk/ F: package/hdparm/ F: package/inih/ +F: package/intel-gmmlib/ +F: package/intel-mediadriver/ +F: package/intel-mediasdk/ F: package/jsoncpp/ F: package/kodi* F: package/lame/ @@ -361,6 +374,7 @@ F: package/libglfw/ F: package/libglu/ F: package/libhdhomerun/ F: package/libilbc/ +F: package/libks/ F: package/libldns/ F: package/libmicrohttpd/ F: package/libminiupnpc/ @@ -375,7 +389,6 @@ F: package/libpng/ F: package/libsidplay2/ F: package/libsilk/ F: package/libsndfile/ -F: package/libsoil/ F: package/libsoundtouch/ F: package/libsquish/ F: package/libudfread/ @@ -389,6 +402,7 @@ F: package/libyuv/ F: package/mesa3d/ F: package/minidlna/ F: package/mjpg-streamer/ +F: package/nut/ F: package/perl-crypt-openssl-guess/ F: package/perl-crypt-openssl-random/ F: package/perl-crypt-openssl-rsa/ @@ -421,7 +435,6 @@ F: package/pulseaudio/ F: package/pure-ftpd/ F: package/python-couchdb/ F: package/python-cssutils/ -F: package/python-futures/ F: package/python-mwclient/ F: package/python-mwscrape/ F: package/python-mwscrape2slob/ @@ -452,6 +465,7 @@ F: package/waylandpp/ F: package/x11r7/ F: package/x264/ F: package/x265/ +F: package/xmrig/ F: package/ytree/ F: package/znc/ F: support/testing/tests/package/test_perl_html_parser.py @@ -468,7 +482,7 @@ N: Bogdan Radulescu F: package/iftop/ F: package/ncdu/ -N: Brandon Maier +N: Brandon Maier F: package/vmtouch/ N: Brock Williams @@ -487,15 +501,17 @@ F: package/libsvg-cairo/ N: Cédric Chépied F: package/znc/ -N: Chakra Divi -F: board/friendlyarm/nanopi-m1 -F: board/friendlyarm/nanopi-m1-plus -F: board/olimex/a13_olinuxino -F: board/orangepi/orangepi-plus -F: configs/friendlyarm_nanopi_m1_defconfig -F: configs/friendlyarm_nanopi_m1_plus_defconfig -F: configs/olimex_a13_olinuxino_defconfig -F: configs/orangepi_plus_defconfig +N: Cédric Le Goater +F: board/qemu/ppc-bamboo/ +F: board/qemu/ppc64le-powernv8/readme.txt +F: configs/qemu_ppc_bamboo_defconfig +F: configs/qemu_ppc64le_powernv8_defconfig + +N: Charles Hardin +F: package/alsa-plugins/ + +N: Changming Huang +F: package/qoriq-cadence-dp-firmware/ N: Chris Packham F: package/coremark/ @@ -509,29 +525,30 @@ N: Christian Kellermann F: package/python-pylibftdi/ N: Christian Stewart -F: linux/linux-ext-aufs.mk -F: package/aufs/ -F: package/aufs-util/ F: package/batman-adv/ +F: package/containerd/ F: package/delve/ F: package/docker-cli/ -F: package/docker-containerd/ F: package/docker-engine/ F: package/docker-proxy/ +F: package/embiggen-disk/ F: package/fuse-overlayfs/ F: package/go/ +F: package/gocryptfs/ F: package/mbpfan/ +F: package/moby-buildkit/ F: package/mosh/ F: package/pkg-golang.mk F: package/rtl8821au/ F: package/runc/ F: package/tini/ -N: Christophe Priouzeau +N: Christophe Priouzeau F: board/stmicroelectronics/stm32f429-disco/ F: board/stmicroelectronics/stm32f469-disco/ -F: configs/stm32f429_disco_defconfig -F: configs/stm32f469_disco_defconfig +F: configs/stm32f429_disco_xip_defconfig +F: configs/stm32f469_disco_sd_defconfig +F: configs/stm32f469_disco_xip_defconfig N: Christophe Vu-Brugier F: package/drbd-utils/ @@ -572,7 +589,7 @@ F: package/perl-sys-mmap/ F: package/perl-time-parsedate/ F: package/perl-x10/ -N: Clayton Shotwell +N: Clayton Shotwell F: package/audit/ F: package/checkpolicy/ F: package/cpio/ @@ -605,6 +622,10 @@ F: package/odroidc2-firmware/ N: Daniel J. Leach F: package/dacapo/ +N: Daniel Lang +F: package/dbus-cxx/ +F: package/paho-mqtt-cpp/ + N: Damien Lanson F: package/libvdpau/ F: package/log4cpp/ @@ -632,6 +653,10 @@ F: package/lua-cjson/ F: package/luaexpat/ F: package/xinetd/ +N: Dario Binacchi +F: package/davinci-bootcount/ +F: package/libmnl/ + N: David Bachelart F: package/ccrypt/ F: package/dos2unix/ @@ -652,6 +677,7 @@ F: package/x264/ N: David GOUARIN F: package/librelp/ +F: package/libtalloc/ N: David Lechner F: board/lego/ev3/ @@ -660,6 +686,9 @@ F: linux/linux-ext-ev3dev-linux-drivers.mk F: package/brickd/ F: package/ev3dev-linux-drivers/ +N: David Pierret +F: package/bat/ + N: Davide Viti F: board/friendlyarm/nanopi-r1/ F: configs/friendlyarm_nanopi_r1_defconfig @@ -674,12 +703,33 @@ F: package/libstrophe/ N: Derrick Lyndon Pallas F: package/ipcalc/ +N: Dick Olsson +F: board/aarch64-efi/ +F: board/pc/ +F: board/qemu/aarch64-sbsa/ +F: boot/arm-trusted-firmware/ +F: boot/edk2/ +F: configs/qemu_aarch64_sbsa_defconfig +F: package/bearssl/ +F: package/bitcoin/ +F: package/edk2-platforms/ +F: package/execline/ +F: package/mdevd/ +F: package/s6-dns/ +F: package/s6-linux-init/ +F: package/s6-linux-utils/ +F: package/s6-networking/ +F: package/s6-portable-utils/ +F: package/s6-rc/ +F: package/s6/ +F: package/skalibs/ +F: support/testing/tests/boot/test_edk2.py + N: Dimitrios Siganos F: package/wireless-regdb/ N: Dominik Faessler F: package/logsurfer/ -F: package/python-id3/ N: Doug Kehn F: package/nss-pam-ldapd/ @@ -689,6 +739,11 @@ F: package/unscd/ N: Dushara Jayasinghe F: package/prosody/ +N: Edgar Bonet +F: board/acmesystems/acqua-a5/ +F: configs/acmesystems_acqua_a5_256mb_defconfig +F: configs/acmesystems_acqua_a5_512mb_defconfig + N: Eloi Bail F: package/bayer2rgb-neon/ F: package/gstreamer1/gst1-plugins-bayer2rgb-neon/ @@ -754,12 +809,14 @@ F: package/optee-client/ F: package/optee-examples/ F: package/optee-test/ +N: Eugen Hristev +F: board/atmel/readme.txt +F: board/microchip/sama7g5ek/ +F: configs/microchip_sama7g5ek* + N: Eugene Tarassov F: package/tcf-agent/ -N: Evan Zelkowitz -F: package/sdl_gfx/ - N: Ezequiel Garcia F: board/ci20/ F: configs/ci20_defconfig @@ -817,9 +874,12 @@ F: package/belle-sip/ F: package/belr/ F: package/boinc/ F: package/cairo/ +F: package/daq3/ F: package/duktape/ F: package/expat/ F: package/flatbuffers/ +F: package/freeipmi/ +F: package/gdk-pixbuf-xlib/ F: package/gerbera/ F: package/gtksourceview/ F: package/gssdp/ @@ -831,6 +891,7 @@ F: package/hiredis/ F: package/i2pd/ F: package/igd2-for-linux/ F: package/json-c/ +F: package/ksmbd-tools/ F: package/lcms2/ F: package/lftp/ F: package/libcap-ng/ @@ -849,6 +910,7 @@ F: package/libidn2/ F: package/libjpeg/ F: package/liblockfile/ F: package/libmatroska/ +F: package/libmd/ F: package/libmpdclient/ F: package/libnetfilter_conntrack/ F: package/libnetfilter_queue/ @@ -863,6 +925,7 @@ F: package/librsync/ F: package/libsoup/ F: package/libsoxr/ F: package/libupnp/ +F: package/liburing/ F: package/libv4l/ F: package/libxslt/ F: package/mbedtls/ @@ -873,6 +936,7 @@ F: package/motion/ F: package/mutt/ F: package/ncmpc/ F: package/oniguruma/ +F: package/opencv4/ F: package/oprofile/ F: package/pcmanfm/ F: package/perl-extutils-pkgconfig/ @@ -881,8 +945,10 @@ F: package/python-jedi/ F: package/python-parso/ F: package/python-yatl/ F: package/rocksdb/ +F: package/rtl_433/ F: package/rygel/ F: package/safeclib/ +F: package/snort3/ F: package/suricata/ F: package/tinycbor/ F: package/tinydtls/ @@ -904,14 +970,19 @@ N: Floris Bos F: package/ipmitool/ F: package/odhcploc/ +N: Francis Laniel +F: package/pahole/ + N: Francisco Gonzalez F: package/ser2net/ N: Francois Perrad F: board/olimex/a20_olinuxino F: board/olimex/imx233_olinuxino/ +F: board/olimex/stmp1_olinuxino/ F: configs/olimex_a20_olinuxino_* F: configs/olimex_imx233_olinuxino_defconfig +F: configs/olimex_stmp157_olinuxino_lime_defconfig F: package/4th/ F: package/cgilua/ F: package/chipmunk/ @@ -921,11 +992,13 @@ F: package/copas/ F: package/coxpcall/ F: package/dado/ F: package/ficl/ +F: package/janet/ F: package/libtomcrypt/ F: package/libtommath/ F: package/libwpe/ F: package/linenoise/ F: package/ljlinenoise/ +F: package/lua-inotify/ F: package/lpeg/ F: package/lpty/ F: package/lrandom/ @@ -933,6 +1006,7 @@ F: package/lsqlite3/ F: package/lua* F: package/lzlib/ F: package/moarvm/ +F: package/mstpd/ F: package/netsurf/ F: package/perl* F: package/pkg-perl.mk @@ -971,7 +1045,6 @@ N: Gaël Portay F: package/qt5/qt5virtualkeyboard/ F: package/qt5/qt5webengine/ F: package/qt5/qt5webkit/ -F: package/qt5/qt5webkit-examples/ N: Gao Xiang F: package/erofs-utils/ @@ -990,16 +1063,13 @@ N: Geoff Levand F: package/flannel/ N: Geoffrey Ragot -F: package/python-pycli/ F: package/python-pyyaml/ -N: Gerome Burlats -F: board/qemu/ -F: configs/qemu_* - N: Gilles Talis F: board/freescale/imx8mmevk/ +F: board/friendlyarm/nanopi-r2s/ F: configs/freescale_imx8mmevk_defconfig +F: configs/friendlyarm_nanopi_r2s_defconfig F: package/cctz/ F: package/faad2/ F: package/fdk-aac/ @@ -1017,13 +1087,30 @@ F: package/webp/ F: package/xapian/ N: Giulio Benetti +F: board/olimex/a* +F: configs/amarula_vyasa_rk3288_defconfig +F: configs/asus_tinker_rk3288_defconfig +F: configs/olimex_a* F: package/at/ +F: package/binutils/ +F: package/cryptsetup/ +F: package/erlang-jiffy/ +F: package/gcc/ +F: package/harfbuzz/ +F: package/libfuse3/ F: package/libnspr/ F: package/libnss/ +F: package/mali-driver/ F: package/minicom/ F: package/nfs-utils/ -F: package/sunxi-mali-mainline/ -F: package/sunxi-mali-mainline-driver/ +F: package/python-uvloop/ +F: package/rockchip-mali/ +F: package/sunxi-mali-utgard/ +F: package/sunxi-mali-utgard-driver/ +F: package/sunxi-tools/ +F: package/trace-cmd/ +F: package/udisks/ +F: toolchain/ N: Gregory Dymarek F: package/ding-libs/ @@ -1052,20 +1139,23 @@ F: package/python-pyjwt/ F: package/python-redis/ F: package/python-rpi-ws281x/ F: package/python-wtforms/ +F: package/rpi-rgb-led-matrix/ N: Guillaume William Brs F: package/libnids/ +F: package/libxcrypt/ F: package/liquid-dsp/ F: package/pixiewps/ F: package/python-pybind/ F: package/reaver/ +F: support/testing/tests/package/br2-external/python-pybind +F: support/testing/tests/package/sample_python_pybind.py +F: support/testing/tests/package/test_python_pybind.py N: Guo Ren F: arch/Config.in.csky F: board/csky/ -F: board/qemu/csky F: configs/csky_* -F: configs/qemu_csky* N: Gustavo Heinz F: package/python-m2crypto/ @@ -1075,6 +1165,8 @@ F: configs/arm_juno_defconfig F: board/arm/juno/ N: Gwenhael Goavec-Merou +F: board/terasic/de10nano_cyclone5/ +F: configs/terasic_de10nano_cyclone5_defconfig F: package/gnuradio/ F: package/gqrx/ F: package/gr-osmosdr/ @@ -1088,6 +1180,10 @@ F: package/python-sip/ F: package/uhd/ N: Heiko Thiery +F: board/kontron/bl-imx8mm/ +F: board/kontron/pitx-imx8m/ +F: configs/kontron_bl_imx8mm_defconfig +F: configs/kontron_pitx_imx8m_defconfig F: package/altera-stapl/ F: package/ipmitool/ F: package/libnetconf2/ @@ -1096,8 +1192,27 @@ F: package/linuxptp/ F: package/netopeer2/ F: package/sysrepo/ -N: Henrique Camargo -F: package/json-glib/ +N: Hervé Codina +F: package/alchemy/ +F: package/dtbocfg/ +F: package/libdbi/ +F: package/libdbi-drivers/ +F: package/libfutils/ +F: package/libshdata/ +F: package/lua-augeas/ +F: package/modsecurity2/ +F: package/php-apcu/ +F: package/php-lua/ +F: package/php-pam/ +F: package/php-pecl-dbus/ +F: package/ulog/ +F: support/testing/tests/package/test_dtbocfg.py +F: support/testing/tests/package/test_libshdata.py +F: support/testing/tests/package/test_lua_augeas.py +F: support/testing/tests/package/test_php_apcu.py +F: support/testing/tests/package/test_php_lua.py +F: support/testing/tests/package/test_php_pam.py +F: support/testing/tests/package/test_php_pecl_dbus.py N: Hiroshi Kawashima F: package/gauche/ @@ -1105,6 +1220,7 @@ F: package/gmrender-resurrect/ F: package/squeezelite/ N: Horatiu Vultur +F: package/cfm/ F: package/easyframes/ F: package/mrp/ @@ -1122,6 +1238,7 @@ F: package/exempi/ N: Ismael Luceno F: package/axel/ +F: package/mawk/ N: Jagan Teki F: board/amarula/ @@ -1164,10 +1281,13 @@ F: configs/pine64_sopine_defconfig N: James Hilliard F: package/apcupsd/ +F: package/bpftool/ F: package/exfatprogs/ F: package/gensio/ F: package/lua-std-debug/ F: package/lua-std-normalize/ +F: package/lilv/ +F: package/lv2/ F: package/pipewire/ F: package/python-aioconsole/ F: package/python-aiodns/ @@ -1183,28 +1303,47 @@ F: package/python-aiohttp-sse/ F: package/python-aiologstash/ F: package/python-aiomonitor/ F: package/python-aiojobs/ +F: package/python-aioprocessing/ F: package/python-aiorwlock/ F: package/python-aiosignal/ F: package/python-aiozipkin/ F: package/python-argon2-cffi/ +F: package/python-argon2-cffi-bindings/ F: package/python-async-lru/ F: package/python-async-timeout/ +F: package/python-bidict/ F: package/python-brotli/ F: package/python-cbor2/ F: package/python-cchardet/ +F: package/python-charset-normalizer/ +F: package/python-cssselect2/ F: package/python-flatbuffers/ +F: package/python-fonttools/ F: package/python-frozenlist/ F: package/python-greenlet/ +F: package/python-installer/ F: package/python-janus/ F: package/python-logstash/ F: package/python-multidict/ +F: package/python-pep517/ F: package/python-pycares/ +F: package/python-pydyf/ +F: package/python-pypa-build/ +F: package/python-pyphen/ F: package/python-snappy/ F: package/python-sockjs/ F: package/python-terminaltables/ +F: package/python-tinycss2/ +F: package/python-tomli/ +F: package/python-weasyprint/ F: package/python-yarl/ +F: package/python-zopfli/ +F: package/serd/ +F: package/sord/ +F: package/sratom/ +F: package/zchunk/ -N: James Knight +N: James Knight F: package/atkmm/ F: package/cairomm/ F: package/google-material-design-icons/ @@ -1232,10 +1371,8 @@ F: package/sysrepo/ N: Jan Pedersen F: package/zip/ -N: Jan Viktorin -F: package/python-pexpect/ -F: package/python-ptyprocess/ -F: package/zynq-boot-bin/ +N: Jared Bents +F: package/libvirt/ N: Jarkko Sakkinen F: package/quota/ @@ -1280,13 +1417,17 @@ F: package/rtty/ N: Joachim Wiberg F: configs/globalscale_espressobin_defconfig F: board/globalscale/espressobin/ +F: package/inadyn/ +F: package/libite/ +F: package/libteam/ +F: package/libuev/ F: package/mg/ +F: package/mrouted/ F: package/netcalc/ +F: package/smcroute/ F: package/ssdp-responder/ - -N: Joao Pinto -F: board/synopsys/vdk/ -F: configs/snps_aarch64_vdk_defconfig +F: package/sysklogd/ +F: package/watchdogd/ N: Jochen Baltes F: package/altera-stapl @@ -1380,6 +1521,18 @@ F: package/libuio/ F: package/netsniff-ng/ F: package/rabbitmq-c/ +N: José Luis Salvador Rufo +F: package/zfs/ +F: support/testing/tests/package/test_zfs.py + +N: José Pekkarinen +F: package/alfred/ +F: package/bmx7/ +F: package/python-aexpect/ +F: package/softhsm2/ +F: support/testing/tests/package/sample_python_aexpect.py +F: support/testing/tests/package/test_python_aexpect.py + N: Joseph Kogut F: package/at-spi2-atk/ F: package/at-spi2-core/ @@ -1437,22 +1590,34 @@ N: Julien Corjon F: package/qt5/ N: Julien Grossholtz +F: board/raspberrypi/ F: board/technologic/ts7680/ +F: configs/raspberrypizero2w_defconfig F: configs/ts7680_defconfig F: package/paho-mqtt-c N: Julien Olivain F: board/qmtech/zynq/ +F: board/spike/ F: board/technexion/imx8mmpico/ F: board/technexion/imx8mpico/ F: configs/imx8mmpico_defconfig F: configs/imx8mpico_defconfig +F: configs/spike_riscv64_defconfig F: configs/zynq_qmtech_defconfig F: package/fluid-soundfont/ F: package/fluidsynth/ F: package/glslsandbox-player/ F: package/ptm2human/ +F: package/python-distro/ +F: package/python-gnupg/ F: package/python-pyalsa/ +F: package/riscv-isa-sim/ +F: package/zynaddsubfx/ +F: support/testing/tests/package/sample_python_distro.py +F: support/testing/tests/package/sample_python_gnupg.py +F: support/testing/tests/package/test_python_distro.py +F: support/testing/tests/package/test_python_gnupg.py N: Julien Viard de Galbert F: package/dieharder/ @@ -1464,6 +1629,8 @@ F: package/dtach/ N: Kamel Bouhara F: package/libodb-boost/ F: package/libodb-mysql/ +F: package/libqb/ +F: package/usbguard/ N: Karoly Kasza F: package/irqbalance/ @@ -1511,6 +1678,8 @@ F: package/python-daemonize/ F: package/python-flask/ F: package/python-flask-babel/ F: package/python-gunicorn/ +F: support/testing/tests/package/sample_python_flask.py +F: support/testing/tests/package/test_python_flask.py N: Lionel Orry F: package/mongrel2/ @@ -1534,13 +1703,14 @@ F: package/python-dnspython/ F: package/python-future/ F: package/python-huepy/ F: package/python-tqdm/ +F: package/rtl8189es/ N: Louis-Paul Cordier F: package/intel-gmmlib/ F: package/intel-mediadriver/ F: package/intel-mediasdk/ -N: Luca Ceresoli +N: Luca Ceresoli F: board/olimex/a20_olinuxino/ F: board/zynq/ F: board/zynqmp/ @@ -1615,6 +1785,7 @@ F: package/murata-cyw-fw/ F: package/netdata/ F: package/python-ansicolors/ F: package/python-bleak/ +F: package/python-dbus-next/ F: package/python-iniconfig/ F: package/python-intelhex/ F: package/python-packaging/ @@ -1625,9 +1796,11 @@ F: package/python-typing-extensions/ F: package/python-xmodem/ F: package/rs485conf/ F: package/turbolua/ +F: support/testing/tests/package/sample_python_dbus_next.py F: support/testing/tests/package/sample_python_pytest.py F: support/testing/tests/package/sample_python_pytest_asyncio.py F: support/testing/tests/package/test_netdata.py +F: support/testing/tests/package/test_python_dbus_next.py F: support/testing/tests/package/test_python_pytest.py F: support/testing/tests/package/test_python_pytest_asyncio.py @@ -1666,18 +1839,14 @@ F: configs/qemu_riscv64_virt_defconfig N: Martin Bark F: board/raspberrypi/ F: configs/raspberrypi3_defconfig +F: package/brcmfmac_sdio-firmware-rpi/ F: package/ca-certificates/ F: package/connman/ F: package/nodejs/ -F: package/rpi-bt-firmware/ F: package/rpi-firmware/ -F: package/rpi-wifi-firmware/ F: package/tzdata/ F: package/zic/ -N: Martin Hicks -F: package/cryptsetup/ - N: Martin Kepplinger F: package/tslib/ F: package/x11r7/xdriver_xf86-input-tslib/ @@ -1692,13 +1861,14 @@ F: board/technologic/ts4900/ F: configs/ts4900_defconfig F: package/ts4900-fpga/ -N: Matt Weber +N: Matt Weber F: board/freescale/p* F: board/freescale/t* F: board/qemu/ppc64-e5500/ F: configs/freescale_p* F: configs/freescale_t* F: configs/qemu_ppc64_e5500_defconfig +F: package/ace/ F: package/argp-standalone/ F: package/aufs/ F: package/aufs-util/ @@ -1740,6 +1910,7 @@ F: package/libselinux/ F: package/libsemanage/ F: package/libsepol/ F: package/libssh2/ +F: package/libtalloc/ F: package/libqmi/ F: package/lighttpd/ F: package/logrotate/ @@ -1764,10 +1935,9 @@ F: package/python-filelock/ F: package/python-flask-cors/ F: package/python-iptables/ F: package/python-ipy/ +F: package/python-iwlib/ F: package/python-posix-ipc/ F: package/python-pycairo/ -F: package/python-pypcap/ -F: package/python-pyrex/ F: package/python-pysftp/ F: package/python-tinyrpc/ F: package/python-txdbus/ @@ -1776,6 +1946,7 @@ F: package/raptor/ F: package/rng-tools/ F: package/rsyslog/ F: package/setools/ +F: package/sloci-image/ F: package/smcroute/ F: package/tclap/ F: package/tini/ @@ -1785,6 +1956,8 @@ F: package/valijson/ F: package/wpa_supplicant/ F: package/wireless_tools/ F: package/xen/ +F: package/xml-security-c/ +F: support/testing/tests/fs/test_oci.py F: support/testing/tests/package/br2-external/openjdk/ F: support/testing/tests/package/test_openjdk.py F: support/testing/tests/package/test_opkg/ @@ -1815,38 +1988,13 @@ N: Max Filippov F: arch/Config.in.xtensa N: Maxim Kochetkov +F: package/libgeos/ +F: package/libosmium/ +F: package/osm2pgsql/ +F: package/postgis/ +F: package/protozero/ F: package/timescaledb/ -N: Maxime Hadjinlian -F: package/babeld/ -F: package/dante/ -F: package/faifa/ -F: package/initscripts/ -F: package/intel-microcode/ -F: package/iucode-tool/ -F: package/jasper/ -F: package/kodi/ -F: package/libass/ -F: package/libbluray/ -F: package/libcdio/ -F: package/libcofi/ -F: package/libenca/ -F: package/libmodplug/ -F: package/libnfs/ -F: package/libplist/ -F: package/libshairplay/ -F: package/linux-zigbee/ -F: package/netcat-openbsd/ -F: package/open-plc-utils/ -F: package/rpi-firmware/ -F: package/rpi-userland/ -F: package/rtmpdump/ -F: package/skeleton/ -F: package/systemd/ -F: package/systemd-bootchart/ -F: package/tinyalsa/ -F: package/tinyxml/ - N: Michael Durrant F: board/arcturus/ F: configs/arcturus_ucp1020_defconfig @@ -1860,6 +2008,7 @@ N: Michael Nosthoff F: package/grpc/ F: package/gtest/ F: package/libabseil-cpp/ +F: package/networkd-dispatcher/ F: package/protobuf/ F: package/re2/ @@ -1907,20 +2056,17 @@ F: package/libfribidi/ N: Min Xu F: package/shadowsocks-libev/ +N: Miquèl Raynal +F: package/mali-driver/ +F: package/rockchip-mali/ + N: Mircea Gliga F: package/mbuffer/ -N: Mirza Krak -F: package/mender/ -F: package/mender-artifact/ - N: Murat Demirten F: package/jpeg-turbo/ F: package/libgeotiff/ -N: Mylène Josserand -F: package/rtl8723bu/ - N: Nathaniel Roach F: package/bandwidthd/ F: package/libgudev/ @@ -1929,6 +2075,11 @@ N: Naumann Andreas F: package/evemu/ F: package/libevdev/ F: package/pkg-qmake.mk +F: package/qt5/qt5opcua/ + +N: Neal Frager +F: board/zynqmp/ +F: configs/zynqmp_zcu102_defconfig N: Nicola Di Lieto F: package/uacme/ @@ -1938,12 +2089,40 @@ F: board/intel/galileo/ F: configs/galileo_defconfig N: Nicolas Carrier +F: package/bmap-tools/ +F: package/libdbi/ +F: package/libdbi-drivers/ +F: package/lua-augeas/ +F: package/modsecurity2/ +F: package/php-apcu/ +F: package/php-lua/ +F: package/php-pam/ +F: package/php-pecl-dbus/ F: package/php-xdebug/ +F: package/python-augeas/ +F: package/python-flask-expects-json/ +F: package/python-git/ +F: package/python-unittest-xml-reporting/ +F: support/testing/tests/package/sample_bmap_tools.sh +F: support/testing/tests/package/sample_python_augeas.py +F: support/testing/tests/package/sample_python_flask_expects_json.py +F: support/testing/tests/package/sample_python_git.py +F: support/testing/tests/package/sample_python_unittest_xml_reporting.py +F: support/testing/tests/package/test_bmap_tools.py +F: support/testing/tests/package/test_lua_augeas.py +F: support/testing/tests/package/test_php_apcu.py +F: support/testing/tests/package/test_php_pecl_dbus.py +F: support/testing/tests/package/test_php_lua.py +F: support/testing/tests/package/test_php_pam.py +F: support/testing/tests/package/test_python_augeas.py +F: support/testing/tests/package/test_python_flask_expects_json.py +F: support/testing/tests/package/test_python_git.py +F: support/testing/tests/package/test_python_unittest_xml_reporting.py N: Nicolas Cavallari F: package/libgit2/ -N: Nicolas Serafini +N: Nicolas Serafini F: package/exiv2/ F: package/ofono/ @@ -2019,12 +2198,15 @@ F: package/lightning/ F: package/umtprd/ N: Pedro Aguilar +F: package/bdwgc/ +F: package/guile/ F: package/libunistring/ N: Peter Korsgaard F: board/arrow/avenger96/ F: board/beagleboneai/ F: board/minnowboard/ +F: board/nezha/ F: board/librecomputer/lafrite/ F: board/nexbox/a95x/ F: board/openblocks/a6/ @@ -2032,12 +2214,14 @@ F: board/orangepi/ F: board/pandaboard/ F: board/roseapplepi/ F: boot/shim/ +F: boot/sun20i-d1-spl/ F: configs/avenger96_defconfig F: configs/beagleboneai_defconfig F: configs/lafrite_defconfig F: configs/minnowboard_max-graphical_defconfig F: configs/minnowboard_max_defconfig F: configs/nexbox_a95x_defconfig +F: configs/nezha_defconfig F: configs/openblocks_a6_defconfig F: configs/orangepi_pc_defconfig F: configs/orangepi_r1_defconfig @@ -2059,16 +2243,10 @@ F: package/lzop/ F: package/memtool/ F: package/mosquitto/ F: package/python-alsaaudio/ -F: package/python-backports-ssl-match-hostname/ F: package/python-cached-property/ F: package/python-docker/ F: package/python-dockerpty/ F: package/python-docker-pycreds/ -F: package/python-enum/ -F: package/python-enum34/ -F: package/python-functools32/ -F: package/python-ipaddr/ -F: package/python-pam/ F: package/python-psutil/ F: package/python-request-id/ F: package/python-semver/ @@ -2098,17 +2276,21 @@ F: package/gstreamer1/gst1-devtools/ F: package/gstreamer1/gst1-interpipe/ F: package/gstreamer1/gstreamer1-editing-services/ F: package/iwd/ +F: package/libcamera-apps/ F: package/libevdev/ F: package/libuev/ F: package/log4cplus/ F: package/postgresql/ F: package/python-colorzero/ +F: package/python-flask-wtf/ F: package/python-gpiozero/ F: package/qt5/ F: package/quotatool/ F: package/racehound/ F: package/redir/ +F: package/rtl8812au-aircrack-ng/ F: package/uredir/ +F: package/uqmi/ F: package/wayland-utils/ N: Peter Thompson @@ -2123,10 +2305,12 @@ N: Petr Vorel F: package/ima-evm-utils/ F: package/iproute2/ F: package/iputils/ +F: package/libqrtr-glib/ F: package/libtirpc/ F: package/linux-backports/ F: package/ltp-testsuite/ F: package/nfs-utils/ +F: package/rpcbind/ F: support/kconfig/ N: Phil Eichinger @@ -2191,6 +2375,9 @@ N: Rafal Susz F: board/avnet/s6lx9_microboard/ F: configs/s6lx9_microboard_defconfig +N: RafaÅ‚ MiÅ‚ecki +F: package/firmware-utils/ + N: Rahul Bedarkar F: package/cxxtest/ F: package/gflags/ @@ -2204,12 +2391,18 @@ F: package/nanomsg/ N: Ramon Fried F: package/bitwise/ -N: Raphaël Mélotte +N: Raphaël Mélotte +F: package/gumbo-parser/ F: package/jbig2dec/ +F: package/mupdf/ F: package/python-boto3/ F: package/python-botocore/ F: package/python-jmespath/ +F: package/python-pymupdf/ +F: package/python-rsa/ F: package/python-s3transfer/ +F: support/testing/tests/package/sample_python_rsa.py +F: support/testing/tests/package/test_python_rsa.py N: Refik Tuzakli F: package/freescale-imx/ @@ -2272,6 +2465,7 @@ F: package/glibc/ F: package/irrlicht/ F: package/liblinear/ F: package/lensfun/ +F: package/libbpf/ F: package/libclc/ F: package/libgta/ F: package/libiec61850/ @@ -2302,19 +2496,6 @@ F: support/testing/tests/package/test_glxinfo.py F: support/testing/tests/package/test_openssh.py F: toolchain/ -N: Roman Gorbenkov -F: package/davfs2/ - -N: Ryan Barnett -F: package/atftp/ -F: package/c-periphery/ -F: package/miraclecast/ -F: package/python-pysnmp/ -F: package/python-pysnmp-mibs/ -F: package/python-tornado/ -F: package/resiprocate/ -F: package/websocketpp/ - N: Ryan Wilkins F: package/biosdevname/ @@ -2323,8 +2504,6 @@ F: package/lrzip/ N: Samuel Martin F: package/armadillo/ -F: package/canfestival/ -F: package/clapack/ F: package/cwiid/ F: package/flite/ F: package/nginx/ @@ -2340,9 +2519,6 @@ F: support/misc/toolchainfile.cmake.in N: Sam Voss F: package/ripgrep/ -N: Santosh Multhalli -F: package/valijson/ - N: Sébastien Szymanski F: package/mmc-utils/ F: package/python-flask-jsonrpc/ @@ -2355,6 +2531,9 @@ F: package/libbson/ F: package/lua-resty-http/ F: package/mpir/ +N: Sergey Bobrenok +F: package/sdbus-cpp/ + N: Sergey Matyukevich F: boot/arm-trusted-firmware/ F: board/linksprite/pcduino @@ -2381,6 +2560,7 @@ F: package/curlpp/ F: package/daq/ F: package/libgdiplus/ F: package/pimd/ +F: package/sloci-image/ F: package/snort/ F: package/stella/ F: package/tio/ @@ -2417,7 +2597,6 @@ F: package/nanocom/ F: package/neard/ F: package/neardal/ F: package/owl-linux/ -F: package/python-nfc/ F: package/rapidjson/ F: package/sconeserver/ F: package/sound-theme-borealis/ @@ -2427,6 +2606,10 @@ F: package/xscreensaver/ F: package/zmqpp/ F: package/zyre/ +N: Simon Doppler +F: board/seeed/ +F: configs/stm32mp157c_odyssey_defconfig + N: Spenser Gilliland F: arch/Config.in.microblaze F: package/a10disp/ @@ -2451,7 +2634,9 @@ F: package/mtdev/ N: Stephane Viau F: board/freescale/imx8mnevk/ +F: board/freescale/imx8mpevk/ F: configs/freescale_imx8mnevk_defconfig +F: configs/freescale_imx8mpevk_defconfig N: Steve Calfee F: package/python-pymysql/ @@ -2493,9 +2678,6 @@ F: configs/rock_pi_n10_defconfig F: configs/rockpro64_defconfig F: package/arm-gnu-a-toolchain/ -N: Sven Fischer -F: package/qt5/qt5remoteobjects/ - N: Sven Haardiek F: package/lcdproc/ F: package/python-influxdb/ @@ -2518,6 +2700,7 @@ F: package/x265/ N: Thomas Claveirole F: package/fcgiwrap/ F: package/openlayers/ +F: package/vuejs-router/ N: Thomas De Schampheleire F: docs/manual/ @@ -2561,20 +2744,28 @@ F: utils/size-stats-compare F: toolchain/ N: Thomas Huth +F: board/qemu/m68k-mcf5208/ +F: configs/qemu_m68k_mcf5208_defconfig F: package/ascii-invaders/ F: package/frotz/ +F: package/kvm-unit-tests/ F: package/xorcurses/ N: Thomas Petazzoni F: arch/Config.in.arm +F: board/beaglev/ F: board/stmicroelectronics/stm32mp157c-dk2/ +F: boot/beaglev-ddrinit/ +F: boot/beaglev-secondboot/ F: boot/boot-wrapper-aarch64/ F: boot/grub2/ F: boot/gummiboot/ +F: configs/beaglev_defconfig F: configs/stm32mp157c_dk2_defconfig F: package/android-tools/ F: package/b43-firmware/ F: package/b43-fwcutter/ +F: package/bmap-tools/ F: package/c-periphery/ F: package/cdrkit/ F: package/cifs-utils/ @@ -2592,6 +2783,7 @@ F: package/heirloom-mailx/ F: package/hiawatha/ F: package/igh-ethercat/ F: package/intltool/ +F: package/jh71xx-tools/ F: package/libcap/ F: package/libffi/ F: package/libsha1/ @@ -2609,20 +2801,34 @@ F: package/ne10/ F: package/pkg-python.mk F: package/pkg-autotools.mk F: package/pkg-generic.mk -F: package/python/ F: package/python3/ -F: package/python-mad/ +F: package/python-augeas/ +F: package/python-flask-expects-json/ +F: package/python-git/ F: package/python-serial/ +F: package/python-unittest-xml-reporting/ F: package/qextserialport/ +F: package/riscv64-elf-toolchain/ F: package/rpcbind/ F: package/rt-tests/ F: package/rtc-tools/ F: package/sam-ba/ F: package/scons/ F: package/squashfs/ +F: package/tinifier/ F: package/wayland/ F: package/weston/ F: support/testing/tests/boot/test_syslinux.py +F: support/testing/tests/package/sample_python_augeas.py +F: support/testing/tests/package/sample_python_flask.py +F: support/testing/tests/package/sample_python_flask_expects_json.py +F: support/testing/tests/package/sample_python_git.py +F: support/testing/tests/package/sample_python_unittest_xml_reporting.py +F: support/testing/tests/package/test_python_augeas.py +F: support/testing/tests/package/test_python_flask.py +F: support/testing/tests/package/test_python_flask_expects_json.py +F: support/testing/tests/package/test_python_git.py +F: support/testing/tests/package/test_python_unittest_xml_reporting.py F: toolchain/ N: Timo Ketola @@ -2644,6 +2850,9 @@ N: Tzu-Jung Lee F: package/dropwatch/ F: package/tstools/ +N: Uladzimir Bely +F: package/python-mpd2/ + N: Vadim Kochan F: package/brcm-patchram-plus/ F: package/frr/ @@ -2669,6 +2878,7 @@ F: package/utp_com/ N: Vincent Stehlé F: board/bananapi/bananapi-m2-zero/ F: configs/bananapi_m2_zero_defconfig +F: configs/uevm5432_defconfig F: package/i7z/ F: package/msr-tools/ F: package/pixz/ @@ -2717,9 +2927,6 @@ F: package/casync/ F: package/gloox/ F: package/tpm2-pkcs11/ -N: Yann CARDAILLAC -F: package/open62541/ - N: Yann E. MORIN F: board/friendlyarm/nanopi-neo/ F: configs/friendlyarm_nanopi_neo_defconfig @@ -2774,6 +2981,7 @@ F: configs/beaglebone_defconfig F: configs/beaglebone_qt5_defconfig F: package/acl/ F: package/attr/ +F: package/avrdude/ F: package/boost/ F: package/bootstrap/ F: package/cannelloni/ @@ -2782,6 +2990,7 @@ F: package/circus/ F: package/dhcpcd/ F: package/feh/ F: package/giblib/ +F: package/hostapd/ F: package/imlib2/ F: package/jquery-datetimepicker/ F: package/jquery-sidebar/ @@ -2791,6 +3000,8 @@ F: package/libical/ F: package/libmbim/ F: package/libndp/ F: package/libnftnl/ +F: package/libqmi/ +F: package/libqrtr-glib/ F: package/libsoc/ F: package/libsocketcan/ F: package/libubox/ @@ -2810,6 +3021,7 @@ F: package/swig/ F: package/qt5/qt5serialbus/ F: package/sdparm/ F: package/ti-utils/ +F: package/wpa_supplicant/ F: package/x11r7/xapp_xconsole/ F: package/x11r7/xapp_xinput-calibrator/ F: package/zlog/ @@ -2817,15 +3029,18 @@ F: support/testing/tests/package/test_libftdi1.py F: support/testing/tests/package/test_python_can.py F: utils/scanpypi +N: Yunhao Tian +F: package/libopenaptx/ + N: Zoltan Gyarmati F: package/crudini/ F: package/grantlee/ F: package/libusb/ F: package/libusb-compat/ F: package/proj/ -F: package/python-configobj/ F: package/python-iniparse/ F: package/qjson/ F: package/quazip/ F: package/shapelib/ +F: package/simple-mail/ F: package/tinc/ diff --git a/Makefile b/Makefile index 9d6b9624775..e4007d2c387 100644 --- a/Makefile +++ b/Makefile @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2021.02 +export BR2_VERSION := 2022.02.3 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1615065000 +BR2_VERSION_EPOCH = 1655633000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -141,7 +141,7 @@ nobuild_targets := source %-source \ clean distclean help show-targets graph-depends \ %-graph-depends %-show-depends %-show-version \ graph-build graph-size list-defconfigs \ - savedefconfig update-defconfig printvars + savedefconfig update-defconfig printvars show-vars ifeq ($(MAKECMDGOALS),) BR_BUILDING = y else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),) @@ -229,6 +229,8 @@ LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings LEGAL_REPORT = $(LEGAL_INFO_DIR)/README +CPE_UPDATES_DIR = $(BASE_DIR)/cpe-updates + BR2_CONFIG = $(CONFIG_DIR)/.config # Pull in the user's configuration file @@ -284,12 +286,16 @@ ifndef HOSTCC HOSTCC := gcc HOSTCC := $(shell which $(HOSTCC) || type -p $(HOSTCC) || echo gcc) endif +ifndef HOSTCC_NOCCACHE HOSTCC_NOCCACHE := $(HOSTCC) +endif ifndef HOSTCXX HOSTCXX := g++ HOSTCXX := $(shell which $(HOSTCXX) || type -p $(HOSTCXX) || echo g++) endif +ifndef HOSTCXX_NOCCACHE HOSTCXX_NOCCACHE := $(HOSTCXX) +endif ifndef HOSTCPP HOSTCPP := cpp endif @@ -420,6 +426,7 @@ unexport O unexport GCC_COLORS unexport PLATFORM unexport OS +unexport DEVICE_TREE GNU_HOST_NAME := $(shell support/gnuconfig/config.guess) @@ -431,22 +438,8 @@ QUIET := $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),-q) # Strip off the annoying quoting ARCH := $(call qstrip,$(BR2_ARCH)) - -KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ - -e s/i.86/i386/ -e s/sun4u/sparc64/ \ - -e s/arcle/arc/ \ - -e s/arceb/arc/ \ - -e s/arm.*/arm/ -e s/sa110/arm/ \ - -e s/aarch64.*/arm64/ \ - -e s/nds32.*/nds32/ \ - -e s/or1k/openrisc/ \ - -e s/parisc64/parisc/ \ - -e s/powerpc64.*/powerpc/ \ - -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ - -e s/riscv.*/riscv/ \ - -e s/sh.*/sh/ \ - -e s/s390x/s390/ \ - -e s/microblazeel/microblaze/) +NORMALIZED_ARCH := $(call qstrip,$(BR2_NORMALIZED_ARCH)) +KERNEL_ARCH := $(call qstrip,$(BR2_NORMALIZED_ARCH)) ZCAT := $(call qstrip,$(BR2_ZCAT)) BZCAT := $(call qstrip,$(BR2_BZCAT)) @@ -593,6 +586,9 @@ $(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG) .PHONY: prepare prepare: $(BUILD_DIR)/buildroot-config/auto.conf + @$(foreach s, $(call qstrip,$(BR2_ROOTFS_PRE_BUILD_SCRIPT)), \ + $(call MESSAGE,"Executing pre-build script $(s)"); \ + $(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) .PHONY: world world: target-post-image @@ -661,32 +657,17 @@ endef TARGET_FINALIZE_HOOKS += TOOLCHAIN_ECLIPSE_REGISTER endif -# Generate locale data. Basically, we call the localedef program -# (built by the host-localedef package) for each locale. The input -# data comes preferably from the toolchain, or if the toolchain does -# not have them (Linaro toolchains), we use the ones available on the -# host machine. +# Generate locale data. ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) GLIBC_GENERATE_LOCALES = $(call qstrip,$(BR2_GENERATE_LOCALE)) ifneq ($(GLIBC_GENERATE_LOCALES),) PACKAGES += host-localedef define GENERATE_GLIBC_LOCALES - $(Q)mkdir -p $(TARGET_DIR)/usr/lib/locale/ - $(Q)for locale in $(GLIBC_GENERATE_LOCALES) ; do \ - inputfile=`echo $${locale} | cut -f1 -d'.'` ; \ - charmap=`echo $${locale} | cut -f2 -d'.' -s` ; \ - if test -z "$${charmap}" ; then \ - charmap="UTF-8" ; \ - fi ; \ - echo "Generating locale $${inputfile}.$${charmap}" ; \ - I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \ - $(HOST_DIR)/bin/localedef \ - --prefix=$(TARGET_DIR) \ - --$(call LOWERCASE,$(BR2_ENDIAN))-endian \ - -i $${inputfile} -f $${charmap} \ - $${locale} ; \ - done + $(MAKE) -f support/misc/gen-glibc-locales.mk \ + ENDIAN=$(call LOWERCASE,$(BR2_ENDIAN)) \ + LOCALES="$(GLIBC_GENERATE_LOCALES)" \ + Q=$(Q) endef TARGET_FINALIZE_HOOKS += GENERATE_GLIBC_LOCALES endif @@ -892,6 +873,9 @@ graph-build: $(O)/build/build-time.log --type=pie-$(t) --input=$(<) \ --output=$(GRAPHS_DIR)/build.pie-$(t).$(BR_GRAPH_OUT) \ $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep)) + ./support/scripts/graph-build-time --type=timeline --input=$(<) \ + --output=$(GRAPHS_DIR)/build.timeline.$(BR_GRAPH_OUT) \ + $(if $(BR2_GRAPH_ALT),--alternate-colors) .PHONY: graph-depends-requirements graph-depends-requirements: @@ -945,6 +929,14 @@ pkg-stats: --html $(O)/pkg-stats.html \ --nvd-path $(DL_DIR)/buildroot-nvd +.PHONY: missing-cpe +missing-cpe: + $(Q)mkdir -p $(CPE_UPDATES_DIR) + $(Q)cd "$(CONFIG_DIR)" ; \ + $(TOPDIR)/support/scripts/gen-missing-cpe \ + --nvd-path $(DL_DIR)/buildroot-nvd \ + --output $(CPE_UPDATES_DIR) + else # ifeq ($(BR2_HAVE_DOT_CONFIG),y) # Some subdirectories are also package names. To avoid that "make linux" @@ -1059,12 +1051,20 @@ ifeq ($(NEED_WRAPPER),y) $(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O) endif +.PHONY: check-make-version +check-make-version: +ifneq ($(filter $(RUNNING_MAKE_VERSION),4.3),) + @echo "Make 4.3 doesn't support 'printvars' and 'show-vars' recipes" + @exit 1 +endif + # printvars prints all the variables currently defined in our # Makefiles. Alternatively, if a non-empty VARS variable is passed, # only the variables matching the make pattern passed in VARS are # displayed. +# show-vars does the same, but as a JSON dictionnary. .PHONY: printvars -printvars: +printvars: check-make-version @: $(foreach V, \ $(sort $(filter $(VARS),$(.VARIABLES))), \ @@ -1073,13 +1073,30 @@ printvars: $(if $(QUOTED_VARS),\ $(info $V='$(subst ','\'',$(if $(RAW_VARS),$(value $V),$($V)))'), \ $(info $V=$(if $(RAW_VARS),$(value $V),$($V)))))) -# ' Syntax colouring... +# ')))) # Syntax colouring... + +.PHONY: show-vars +show-vars: VARS?=% +show-vars: check-make-version + @: + $(info $(call clean-json, { \ + $(foreach V, \ + $(sort $(filter $(VARS),$(.VARIABLES))), \ + $(if $(filter-out environment% default automatic, $(origin $V)), \ + "$V": { \ + "expanded": $(call mk-json-str,$($V))$(comma) \ + "raw": $(call mk-json-str,$(value $V)) \ + }$(comma) \ + ) \ + ) \ + } )) .PHONY: clean clean: rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \ $(BUILD_DIR) $(BASE_DIR)/staging \ - $(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR) + $(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR) $(CPE_UPDATES_DIR) \ + $(O)/pkg-stats.* .PHONY: distclean distclean: clean @@ -1140,6 +1157,7 @@ help: @echo ' -dirclean - Remove build directory' @echo ' -reconfigure - Restart the build from the configure step' @echo ' -rebuild - Restart the build from the build step' + @echo ' -reinstall - Restart the build from the install step' $(foreach p,$(HELP_PACKAGES), \ @echo $(sep) \ @echo '$($(p)_NAME):' $(sep) \ @@ -1163,7 +1181,10 @@ help: @echo ' legal-info - generate info about license compliance' @echo ' show-info - generate info about packages, as a JSON blurb' @echo ' pkg-stats - generate info about packages as JSON and HTML' + @echo ' missing-cpe - generate XML snippets for missing CPE identifiers' @echo ' printvars - dump internal variables selected with VARS=...' + @echo ' show-vars - dump all internal variables as a JSON blurb; use VARS=...' + @echo ' to limit the list to variables names matching that pattern' @echo @echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build' @echo ' make O=dir - Locate all output files in "dir", including .config' @@ -1212,7 +1233,7 @@ release: $(MAKE) O=$(OUT) distclean tar rf $(OUT).tar $(OUT) gzip -9 -c < $(OUT).tar > $(OUT).tar.gz - bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2 + xz -9 -c < $(OUT).tar > $(OUT).tar.xz rm -rf $(OUT) $(OUT).tar print-version: @@ -1226,8 +1247,8 @@ check-flake8: | xargs -- python3 -m flake8 --statistics check-package: - find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \ - -exec ./utils/check-package {} + + find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' -o -name '*.patch' \) \ + -exec ./utils/check-package --exclude=Sob --exclude=HashSpaces {} + include docs/manual/manual.mk -include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) diff --git a/README b/README index c6172524d78..008e996f5f3 100644 --- a/README +++ b/README @@ -20,7 +20,7 @@ Buildroot comes with a basic configuration for a number of boards. Run Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org -You can also find us on #buildroot on Freenode IRC. +You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches diff --git a/arch/Config.in b/arch/Config.in index 155403c3636..1ea4e214139 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -77,9 +77,8 @@ config BR2_aarch64_be config BR2_csky bool "csky" + select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT select BR2_ARCH_HAS_MMU_MANDATORY - # Most variants are supported by gcc-9+, except one that is - # handled as a special exception in package/gcc/Config.in.host select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 help csky is processor IP from china. @@ -210,7 +209,6 @@ config BR2_powerpc64le config BR2_riscv bool "RISCV" - select BR2_ARCH_HAS_MMU_MANDATORY select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 help RISC-V is an open, free Instruction Set Architecture created @@ -230,7 +228,7 @@ config BR2_s390x config BR2_sh bool "SuperH" - select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_HAS_MMU_MANDATORY help SuperH (or SH) is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by @@ -321,11 +319,18 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_10 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_10 + # The following string values are defined by the individual # Config.in.$ARCH files config BR2_ARCH string +config BR2_NORMALIZED_ARCH + string + config BR2_ENDIAN string diff --git a/arch/Config.in.arc b/arch/Config.in.arc index f7a6d920b50..388d3496bca 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -62,6 +62,9 @@ config BR2_ARCH default "arc" if BR2_arcle default "arceb" if BR2_arceb +config BR2_NORMALIZED_ARCH + default "arc" + config BR2_arc bool default y if BR2_arcle || BR2_arceb diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 4c0910e4f84..85040ac89f2 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -822,6 +822,10 @@ config BR2_ARCH default "aarch64" if BR2_aarch64 default "aarch64_be" if BR2_aarch64_be +config BR2_NORMALIZED_ARCH + default "arm" if BR2_arm || BR2_armeb + default "arm64" if BR2_aarch64 || BR2_aarch64_be + config BR2_ENDIAN default "LITTLE" if (BR2_arm || BR2_aarch64) default "BIG" if (BR2_armeb || BR2_aarch64_be) diff --git a/arch/Config.in.csky b/arch/Config.in.csky index 7e2029f7595..b20b39e2259 100644 --- a/arch/Config.in.csky +++ b/arch/Config.in.csky @@ -39,6 +39,9 @@ config BR2_GCC_TARGET_FLOAT_ABI config BR2_ARCH default "csky" +config BR2_NORMALIZED_ARCH + default "csky" + config BR2_ENDIAN default "LITTLE" diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k index 275f47f1d3f..1f7d9446214 100644 --- a/arch/Config.in.m68k +++ b/arch/Config.in.m68k @@ -1,6 +1,9 @@ config BR2_ARCH default "m68k" if BR2_m68k +config BR2_NORMALIZED_ARCH + default "m68k" + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.microblaze b/arch/Config.in.microblaze index 5fe2906d402..0502001afc8 100644 --- a/arch/Config.in.microblaze +++ b/arch/Config.in.microblaze @@ -2,6 +2,9 @@ config BR2_ARCH default "microblazeel" if BR2_microblazeel default "microblaze" if BR2_microblazebe +config BR2_NORMALIZED_ARCH + default "microblaze" + config BR2_ENDIAN default "LITTLE" if BR2_microblazeel default "BIG" if BR2_microblazebe diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 619456c2d54..7f44f06c9df 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -235,6 +235,9 @@ config BR2_ARCH default "mips64" if BR2_mips64 default "mips64el" if BR2_mips64el +config BR2_NORMALIZED_ARCH + default "mips" + config BR2_ENDIAN default "LITTLE" if BR2_mipsel || BR2_mips64el default "BIG" if BR2_mips || BR2_mips64 diff --git a/arch/Config.in.nds32 b/arch/Config.in.nds32 index 322ff49f2e6..0babb2cf7f9 100644 --- a/arch/Config.in.nds32 +++ b/arch/Config.in.nds32 @@ -1,6 +1,9 @@ config BR2_ARCH default "nds32le" +config BR2_NORMALIZED_ARCH + default "nds32" + config BR2_GCC_TARGET_ARCH default "v3" diff --git a/arch/Config.in.nios2 b/arch/Config.in.nios2 index aae435fa17d..a5d7e66d40f 100644 --- a/arch/Config.in.nios2 +++ b/arch/Config.in.nios2 @@ -1,6 +1,9 @@ config BR2_ARCH default "nios2" +config BR2_NORMALIZED_ARCH + default "nios2" + config BR2_ENDIAN default "LITTLE" diff --git a/arch/Config.in.or1k b/arch/Config.in.or1k index abdf498fb8e..f42aef9eeff 100644 --- a/arch/Config.in.or1k +++ b/arch/Config.in.or1k @@ -1,6 +1,9 @@ config BR2_ARCH default "or1k" +config BR2_NORMALIZED_ARCH + default "openrisc" + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index ba56c9c721f..db74270405a 100644 --- a/arch/Config.in.powerpc +++ b/arch/Config.in.powerpc @@ -11,6 +11,8 @@ choice Specific CPU variant to use config BR2_generic_powerpc bool "generic" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_401 bool "401" depends on !BR2_ARCH_IS_64 @@ -61,8 +63,12 @@ config BR2_powerpc_604e depends on !BR2_ARCH_IS_64 config BR2_powerpc_620 bool "620" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_630 bool "630" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_740 bool "740" depends on !BR2_ARCH_IS_64 @@ -115,8 +121,12 @@ config BR2_powerpc_e6500 select BR2_POWERPC_CPU_HAS_ALTIVEC config BR2_powerpc_power4 bool "power4" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_power5 bool "power5" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_power6 bool "power6" select BR2_POWERPC_CPU_HAS_ALTIVEC @@ -157,6 +167,9 @@ config BR2_ARCH default "powerpc64" if BR2_powerpc64 default "powerpc64le" if BR2_powerpc64le +config BR2_NORMALIZED_ARCH + default "powerpc" + config BR2_ENDIAN default "BIG" if BR2_powerpc || BR2_powerpc64 default "LITTLE" if BR2_powerpc64le diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv index 1fc20e5de74..288ed833eb7 100644 --- a/arch/Config.in.riscv +++ b/arch/Config.in.riscv @@ -71,10 +71,12 @@ choice config BR2_RISCV_32 bool "32-bit" + select BR2_ARCH_HAS_MMU_MANDATORY config BR2_RISCV_64 bool "64-bit" select BR2_ARCH_IS_64 + select BR2_ARCH_HAS_MMU_OPTIONAL endchoice @@ -116,6 +118,9 @@ config BR2_ARCH default "riscv32" if !BR2_ARCH_IS_64 default "riscv64" if BR2_ARCH_IS_64 +config BR2_NORMALIZED_ARCH + default "riscv" + config BR2_ENDIAN default "LITTLE" diff --git a/arch/Config.in.s390x b/arch/Config.in.s390x index ad866b421e0..da6ac55d8ac 100644 --- a/arch/Config.in.s390x +++ b/arch/Config.in.s390x @@ -17,6 +17,9 @@ endchoice config BR2_ARCH default "s390x" if BR2_s390x +config BR2_NORMALIZED_ARCH + default "s390" + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.sh b/arch/Config.in.sh index b5cce18e224..d3acc8ccf8e 100644 --- a/arch/Config.in.sh +++ b/arch/Config.in.sh @@ -5,8 +5,6 @@ choice help Specific CPU variant to use -config BR2_sh2a - bool "sh2a (SH2A big endian)" config BR2_sh4 bool "sh4 (SH4 little endian)" config BR2_sh4eb @@ -18,15 +16,17 @@ config BR2_sh4aeb endchoice config BR2_ARCH - default "sh2a" if BR2_sh2a default "sh4" if BR2_sh4 default "sh4eb" if BR2_sh4eb default "sh4a" if BR2_sh4a default "sh4aeb" if BR2_sh4aeb +config BR2_NORMALIZED_ARCH + default "sh" + config BR2_ENDIAN default "LITTLE" if BR2_sh4 || BR2_sh4a - default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb + default "BIG" if BR2_sh4eb || BR2_sh4aeb config BR2_READELF_ARCH_NAME default "Renesas / SuperH SH" diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc index 4c4dc61745d..f5f4bd6708d 100644 --- a/arch/Config.in.sparc +++ b/arch/Config.in.sparc @@ -21,6 +21,10 @@ config BR2_ARCH default "sparc" if BR2_sparc default "sparc64" if BR2_sparc64 +config BR2_NORMALIZED_ARCH + default "sparc" if BR2_sparc + default "sparc64" if BR2_sparc64 + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index 7aae3cafb71..c770ae3ffe3 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -19,7 +19,12 @@ config BR2_X86_CPU_HAS_AVX bool config BR2_X86_CPU_HAS_AVX2 bool +config BR2_X86_CPU_HAS_AVX512 + bool +# This list of CPU architecture variant is (loosely) ordered according +# to the gcc documentation at +# https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/x86-Options.html choice prompt "Target Architecture Variant" default BR2_x86_i586 if BR2_i386 @@ -81,6 +86,78 @@ config BR2_x86_prescott select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 +config BR2_x86_x86_64 + bool "x86-64" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + help + This option corresponds to -march=x86-64, documented as a + "Generic CPU with 64-bit extensions" by the GCC + documentation. It is a 64-bit CPU with MMX, SSE and SSE2 + support. +config BR2_x86_x86_64_v2 + bool "x86-64-v2" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + This option corresponds to the x86-64-v2 micro-architecture + level, as defined by the x86-64 psABI document, see + https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex. + + It is close to the Nehalem CPU architecture, and is + applicable for CPUs that support CMPXCHG16B, LAHF-SAHF, + POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3. +config BR2_x86_x86_64_v3 + bool "x86-64-v3" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + This option corresponds to the x86-64-v3 micro-architecture + level, as defined by the x86-64 psABI document, see + https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex. + + It is close to the Haswell CPU architecture, and is + applicable for CPUs that support all of x86-64-v2 plus AVX, + AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE. +config BR2_x86_x86_64_v4 + bool "x86-64-v4" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + This option corresponds to the x86-64-v4 micro-architecture + level, as defined by the x86-64 psABI document, see + https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex. + + It is applicable for CPUs that support all of x86-64-v3 plus + AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL. config BR2_x86_nocona bool "nocona" select BR2_X86_CPU_HAS_MMX @@ -103,6 +180,19 @@ config BR2_x86_corei7 select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + help + This option is deprecated. Since gcc 4.9, the gcc option + "nehalem" is preferred. Use BR2_x86_nehalem instead. +config BR2_x86_nehalem + bool "nehalem" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_x86_westmere bool "westmere" select BR2_X86_CPU_HAS_MMX @@ -112,6 +202,7 @@ config BR2_x86_westmere select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_x86_corei7_avx bool "corei7-avx" select BR2_X86_CPU_HAS_MMX @@ -122,6 +213,20 @@ config BR2_x86_corei7_avx select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 select BR2_X86_CPU_HAS_AVX + help + This option is deprecated. Since gcc 4.9, the gcc option + "sandybridge" is preferred. Use BR2_x86_sandybridge instead. +config BR2_x86_sandybridge + bool "sandybridge" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_x86_core_avx2 bool "core-avx2" select BR2_X86_CPU_HAS_MMX @@ -133,6 +238,45 @@ config BR2_x86_core_avx2 select BR2_X86_CPU_HAS_SSE42 select BR2_X86_CPU_HAS_AVX select BR2_X86_CPU_HAS_AVX2 + help + This option is deprecated. Since gcc 4.9, the gcc option + "haswell" is preferred. Use BR2_x86_haswell instead. +config BR2_x86_haswell + bool "haswell" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_broadwell + bool "broadwell" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_skylake + bool "skylake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_x86_atom bool "atom" select BR2_X86_CPU_HAS_MMX @@ -140,6 +284,17 @@ config BR2_x86_atom select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 select BR2_X86_CPU_HAS_SSSE3 + help + This option is deprecated. Since gcc 4.9, the gcc option + "bonnell" is preferred. Use BR2_x86_bonnell instead. +config BR2_x86_bonnell + bool "bonnell" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_x86_silvermont bool "silvermont" select BR2_X86_CPU_HAS_MMX @@ -149,6 +304,167 @@ config BR2_x86_silvermont select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_goldmont + bool "goldmont" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_goldmont_plus + bool "goldmont-plus" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_tremont + bool "tremont" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_skylake_avx512 + bool "skylake-avx512" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_x86_cannonlake + bool "cannonlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_x86_icelake_client + bool "icelake-client" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_x86_icelake_server + bool "icelake-server" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_x86_cascadelake + bool "cascadelake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_cooperlake + bool "cooperlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_10 +config BR2_x86_tigerlake + bool "tigerlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_sapphirerapids + bool "sapphirerapids" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_x86_alderlake + bool "alderlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_x86_rocketlake + bool "rocketlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 config BR2_x86_k6 bool "k6" depends on !BR2_x86_64 @@ -240,30 +556,16 @@ config BR2_ARCH default "i686" if BR2_x86_c32 default "i586" if BR2_x86_winchip_c6 default "i586" if BR2_x86_winchip2 - default "i686" if BR2_x86_i686 - default "i686" if BR2_x86_pentium2 - default "i686" if BR2_x86_pentium3 - default "i686" if BR2_x86_pentium4 - default "i686" if BR2_x86_pentium_m - default "i686" if BR2_x86_pentiumpro - default "i686" if BR2_x86_prescott - default "i686" if BR2_x86_nocona && BR2_i386 - default "i686" if BR2_x86_core2 && BR2_i386 - default "i686" if BR2_x86_corei7 && BR2_i386 - default "i686" if BR2_x86_westmere && BR2_i386 - default "i686" if BR2_x86_corei7_avx && BR2_i386 - default "i686" if BR2_x86_core_avx2 && BR2_i386 - default "i686" if BR2_x86_atom && BR2_i386 - default "i686" if BR2_x86_silvermont && BR2_i386 - default "i686" if BR2_x86_opteron && BR2_i386 - default "i686" if BR2_x86_opteron_sse3 && BR2_i386 - default "i686" if BR2_x86_barcelona && BR2_i386 - default "i686" if BR2_x86_jaguar && BR2_i386 - default "i686" if BR2_x86_steamroller && BR2_i386 - default "i686" if BR2_x86_k6 - default "i686" if BR2_x86_k6_2 - default "i686" if BR2_x86_athlon - default "i686" if BR2_x86_athlon_4 + # We use the property of Kconfig that the first match of a + # list of default will be chosen. So the following entry will + # not match for all BR2_i386=y configurations, but only the + # ones that didn't match any of the previous cases (i486, + # i586). + default "i686" if BR2_i386 + default "x86_64" if BR2_x86_64 + +config BR2_NORMALIZED_ARCH + default "i386" if !BR2_x86_64 default "x86_64" if BR2_x86_64 config BR2_ENDIAN @@ -281,14 +583,37 @@ config BR2_GCC_TARGET_ARCH default "pentium3" if BR2_x86_pentium3 default "pentium4" if BR2_x86_pentium4 default "prescott" if BR2_x86_prescott + default "x86-64" if BR2_x86_x86_64 + default "x86-64-v2" if BR2_x86_x86_64_v2 + default "x86-64-v3" if BR2_x86_x86_64_v3 + default "x86-64-v4" if BR2_x86_x86_64_v4 default "nocona" if BR2_x86_nocona default "core2" if BR2_x86_core2 default "corei7" if BR2_x86_corei7 + default "nehalem" if BR2_x86_nehalem default "corei7-avx" if BR2_x86_corei7_avx + default "sandybridge" if BR2_x86_sandybridge default "core-avx2" if BR2_x86_core_avx2 + default "haswell" if BR2_x86_haswell + default "broadwell" if BR2_x86_broadwell + default "skylake" if BR2_x86_skylake default "atom" if BR2_x86_atom + default "bonnell" if BR2_x86_bonnell default "westmere" if BR2_x86_westmere default "silvermont" if BR2_x86_silvermont + default "goldmont" if BR2_x86_goldmont + default "goldmont-plus" if BR2_x86_goldmont_plus + default "tremont" if BR2_x86_tremont + default "skylake-avx512" if BR2_x86_skylake_avx512 + default "cannonlake" if BR2_x86_cannonlake + default "icelake-client" if BR2_x86_icelake_client + default "icelake-server" if BR2_x86_icelake_server + default "cascadelake" if BR2_x86_cascadelake + default "cooperlake" if BR2_x86_cooperlake + default "tigerlake" if BR2_x86_tigerlake + default "sapphirerapids" if BR2_x86_sapphirerapids + default "alderlake" if BR2_x86_alderlake + default "rocketlake" if BR2_x86_rocketlake default "k8" if BR2_x86_opteron default "k8-sse3" if BR2_x86_opteron_sse3 default "barcelona" if BR2_x86_barcelona diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa index a79d9069851..45ad2dc4874 100644 --- a/arch/Config.in.xtensa +++ b/arch/Config.in.xtensa @@ -48,6 +48,9 @@ config BR2_ENDIAN config BR2_ARCH default "xtensa" if BR2_xtensa +config BR2_NORMALIZED_ARCH + default "xtensa" + config BR2_READELF_ARCH_NAME default "Tensilica Xtensa Processor" diff --git a/board/aarch64-efi/genimage-efi.cfg b/board/aarch64-efi/genimage-efi.cfg index f93ab9d64f5..87e85816bc3 100644 --- a/board/aarch64-efi/genimage-efi.cfg +++ b/board/aarch64-efi/genimage-efi.cfg @@ -1,30 +1,30 @@ image efi-part.vfat { - vfat { - file startup.nsh { - image = "efi-part/startup.nsh" - } - file EFI { - image = "efi-part/EFI" - } - file Image { - image = "Image" - } - } - size = 32M + vfat { + file EFI { + image = "efi-part/EFI" + } + file Image { + image = "Image" + } + } + + size = 64M } image disk.img { + hdimage { + partition-table-type = "gpt" + } - hdimage { - } - - partition boot { - partition-type = 0xEF - image = "efi-part.vfat" - } + partition boot { + image = "efi-part.vfat" + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b + offset = 32K + bootable = true + } - partition root { - partition-type = 0x83 - image = "rootfs.ext2" - } + partition root { + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae + image = "rootfs.ext2" + } } diff --git a/board/aarch64-efi/grub.cfg b/board/aarch64-efi/grub.cfg index ab88da91b94..d99e19c4cd5 100644 --- a/board/aarch64-efi/grub.cfg +++ b/board/aarch64-efi/grub.cfg @@ -2,5 +2,5 @@ set default="0" set timeout="5" menuentry "Buildroot" { - linux /Image root=/dev/vda2 rootwait console=ttyAMA0 + linux /Image root=PARTLABEL=root rootwait } diff --git a/board/aarch64-efi/readme.txt b/board/aarch64-efi/readme.txt index 65a6345b6ce..0e7ea0b5dd7 100644 --- a/board/aarch64-efi/readme.txt +++ b/board/aarch64-efi/readme.txt @@ -1,6 +1,10 @@ The aarch64_efi_defconfig allows to build a minimal Linux system that -can boot on all AArch64 servers providing an EFI firmware and ACPI. +can boot on all AArch64 servers providing an EFI firmware. + +This includes all Arm EBBR[1] compliant systems, and all Arm SystemReady[2] +compliant systems for example. + Building and booting ==================== @@ -32,3 +36,18 @@ Note that needs to point to a valid aarch64 UEFI firmware image for qemu. It may be provided by your distribution as a edk2-aarch64 or AAVMF package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd . + +U-Boot based qemu firmware +========================== + +A qemu firmware with support for UEFI based on U-Boot can be built following +the instructions in [3], with qemu_arm64_defconfig. + +This should give you a nor_flash.bin, which you can use with qemu as an +alternative to QEMU_EFI.fd. You will also need to change the machine +specification to "-M virt,secure=on" on qemu command line, to enable TrustZone +support, and you will need to increase the memory with "-m 1024". + +[1]: https://github.com/ARM-software/ebbr +[2]: https://developer.arm.com/architectures/system-architectures/arm-systemready +[3]: https://github.com/glikely/u-boot-tfa-build diff --git a/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts b/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts new file mode 100644 index 00000000000..264af298097 --- /dev/null +++ b/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts @@ -0,0 +1,301 @@ +/* + * acme-acqua.dts - Device Tree file for Acqua A5 Board + * + * Copyright (C) 2014 Atmel, + * 2014 Nicolas Ferre + * + * 2020 Sergio Tanzilli + * + * Licensed under GPLv2 or later. + */ +/dts-v1/; +#include "sama5d31.dtsi" + +/ { + model = "Acme Systems Acqua SOM"; + compatible = "acme,acqua", "atmel,sama5d3", "atmel,sama5"; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs = "mem=256M console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait consoleblank=0"; + }; + + memory { + reg = <0x20000000 0x10000000>; + }; + + clocks { + slow_xtal { + clock-frequency = <32768>; + }; + + main_xtal { + clock-frequency = <12000000>; + }; + }; + + ahb { + apb { + hlcdc: hlcdc@f0030000 { + status = "disabled"; + hlcdc-display-controller { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888_alt>; + port@0 { + hlcdc_panel_output: endpoint@0 { + remote-endpoint = <&panel_input>; + }; + }; + }; + }; + + /* MicroSD mounted on the SOM */ + + mmc0: mmc@f0000000 { + pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>; + status = "okay"; + slot@0 { + reg = <0>; + bus-width = <4>; + }; + }; + + /* Optional MicroSD to mount on the carrier board */ + + mmc1: mmc@f8000000 { + pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; + status = "disabled"; + slot@0 { + reg = <0>; + bus-width = <4>; + cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>; + }; + }; + + spi0: spi@f0004000 { + cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>; + status = "disabled"; + }; + + can0: can@f000c000 { + status = "disabled"; + }; + + tcb0: timer@f0010000 { + timer0: timer@0 { + compatible = "atmel,tcb-timer"; + reg = <0>; + }; + + timer1: timer@1 { + compatible = "atmel,tcb-timer"; + reg = <1>; + }; + }; + + i2c0: i2c@f0014000 { + pinctrl-0 = <&pinctrl_i2c0_pu>; + status = "disabled"; + }; + + i2c1: i2c@f0018000 { + status = "disabled"; + }; + + macb1: ethernet@f802c000 { + compatible = "atmel,sama5d3-macb", "cdns,at91sam9260-macb", "cdns,macb"; + + status = "okay"; + phy-mode = "rmii"; + #address-cells = <1>; + #size-cells = <0>; + + nvmem-cells = <ð0_addr>; + nvmem-cell-names = "mac-address"; + + phy0: ethernet-phy@1 { + interrupt-parent = <&pioE>; + interrupts = <30 IRQ_TYPE_EDGE_FALLING>; + reg = <1>; + }; + + /*ethernet-phy@1 { + reg = <0x1>; + };*/ + }; + + /* Bit banging internal I2C to manage the AT24MAC402 chip */ + + i2c3@ { + compatible = "i2c-gpio"; + gpios = <&pioE 1 0 /* SDA */ + &pioE 2 0 /* SCK */ + >; + i2c-gpio,delay-us = <4>; /* ~178 kHz */ + #address-cells = <1>; + #size-cells = <0>; + + /* EEPROM contains the eth0 MAC address */ + + eeprom@58 { + compatible = "atmel,24mac402"; + pagesize = <256>; + read-only; + reg = <0x58>; + #address-cells = <1>; + #size-cells = <1>; + + eth0_addr: eth-mac-addr@9A { + reg = <0x0 0x06>; + }; + }; + }; + + pwm0: pwm@f002c000 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>; + status = "disabled"; + }; + + usart0: serial@f001c000 { + status = "okay"; + }; + + usart1: serial@f0020000 { + pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; + status = "disabled"; + }; + + uart0: serial@f0024000 { + status = "disabled"; + }; + + + spi1: spi@f8008000 { + cs-gpios = <&pioC 25 0>; + status = "disabled"; + }; + + adc0: adc@f8018000 { + atmel,adc-vref = <3300>; + atmel,adc-channels-used = <0xfe>; + pinctrl-0 = < + &pinctrl_adc0_adtrg + &pinctrl_adc0_ad1 + &pinctrl_adc0_ad2 + &pinctrl_adc0_ad3 + &pinctrl_adc0_ad4 + &pinctrl_adc0_ad5 + &pinctrl_adc0_ad6 + &pinctrl_adc0_ad7 + >; + status = "disabled"; + }; + + i2c2: i2c@f801c000 { + dmas = <0>, <0>; /* Do not use DMA for i2c2 */ + pinctrl-0 = <&pinctrl_i2c2_pu>; + status = "disabled"; + }; + + + dbgu: serial@ffffee00 { + status = "okay"; + }; + + pinctrl@fffff200 { + board { + pinctrl_i2c0_pu: i2c0_pu { + atmel,pins = + , + ; + }; + + pinctrl_i2c2_pu: i2c2_pu { + atmel,pins = + , + ; + }; + + pinctrl_key_gpio: key_gpio_0 { + atmel,pins = + ; + }; + + pinctrl_mmc0_cd: mmc0_cd { + atmel,pins = + ; + }; + + pinctrl_mmc1_cd: mmc1_cd { + atmel,pins = + ; + }; + + pinctrl_usba_vbus: usba_vbus { + atmel,pins = + ; /* PE9, conflicts with A9 */ + }; + }; + }; + }; + + usb0: gadget@500000 { + status = "okay"; + }; + + usb1: ohci@600000 { + status = "okay"; + }; + + usb2: ehci@700000 { + status = "okay"; + }; + + }; + + + panel: panel { + /* compatible = "acme,43inch", "simple-panel"; */ + compatible = "acme,50inch", "simple-panel"; + /* compatible = "acme,70inch", "simple-panel"; */ + + status = "disable"; + + port@0 { + panel_input: endpoint@0 { + remote-endpoint = <&hlcdc_panel_output>; + }; + }; + }; + + + leds { + compatible = "gpio-leds"; + + led0 { + label = "led0"; + gpios = <&pioE 3 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led1 { + label = "led1"; + gpios = <&pioE 4 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led2 { + label = "led2"; + gpios = <&pioE 5 GPIO_ACTIVE_LOW>; + linux,default-trigger = "heartbeat"; + }; + + led3 { + label = "led3"; + gpios = <&pioE 6 GPIO_ACTIVE_LOW>; + linux,default-trigger = "mmc0"; + default-state = "off"; + }; + }; +}; diff --git a/board/acmesystems/acqua-a5/genimage.cfg b/board/acmesystems/acqua-a5/genimage.cfg new file mode 100644 index 00000000000..7fa0a69c4a9 --- /dev/null +++ b/board/acmesystems/acqua-a5/genimage.cfg @@ -0,0 +1,29 @@ +# Minimal SD card image for the Acme Systems Acqua A5 + +image boot.vfat { + vfat { + files = { + "boot.bin", + "zImage", + "at91-sama5d3_acqua.dtb" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/acmesystems/acqua-a5/readme.txt b/board/acmesystems/acqua-a5/readme.txt new file mode 100644 index 00000000000..ce7dbafb291 --- /dev/null +++ b/board/acmesystems/acqua-a5/readme.txt @@ -0,0 +1,44 @@ +Acme Systems Acqua A5 + +Intro +===== + +The Acqua A5 is a system on module based on the Microchip SAMA5D31 SoC: + + https://www.acmesystems.it/acqua + +The files here support configurations that build a microSD image for a +minimal system that can be accessed through the serial console. You will +need an USB-to-serial interface in order to access that console from +your computer: + + https://www.acmesystems.it/DPI + +How to build the image +====================== + +If you have an Acqua module with 256 MiB of RAM, type: + +$ make acmesystems_acqua_a5_256mb_defconfig + +If you have the 512 MiB version, type instead: + +$ make acmesystems_acqua_a5_512mb_defconfig + +You can optionally tweak the configuration and add packages by typing: + +$ make menuconfig + +Then, proceed with the build: + +$ make + +How to write the microSD card +============================= + +The system image is the file "sdcard.img" in the "output/images" +directory. Write it to the card by invoking: + +$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +where `sdX' is the block device representing the microSD card. diff --git a/board/acmesystems/aria-g25/genimage.cfg b/board/acmesystems/aria-g25/genimage.cfg index b40ad9edf32..29dc697153d 100644 --- a/board/acmesystems/aria-g25/genimage.cfg +++ b/board/acmesystems/aria-g25/genimage.cfg @@ -11,9 +11,10 @@ image boot.vfat { } file boot.bin { - image = "at91sam9x5_aria-sdcardboot-linux-zimage-dt-3.8.13.bin" + image = "at91sam9x5_aria-sdcardboot-linux-zimage-dt-3.10.3.bin" } } + size = 16M } diff --git a/board/acmesystems/arietta-g25/genimage.cfg b/board/acmesystems/arietta-g25/genimage.cfg index 7c3112dd561..3b67a474cd0 100644 --- a/board/acmesystems/arietta-g25/genimage.cfg +++ b/board/acmesystems/arietta-g25/genimage.cfg @@ -5,15 +5,16 @@ image boot.vfat { file zImage { image = "zImage" } - + file acme-arietta.dtb { image = "at91-ariettag25.dtb" } - + file boot.bin { - image = "at91sam9x5_arietta-sdcardboot-linux-zimage-dt-3.8.13.bin" - } + image = "at91sam9x5_arietta-sdcardboot-linux-zimage-dt-3.10.3.bin" + } } + size = 16M } diff --git a/board/altera/socrates_cyclone5/genimage.cfg b/board/altera/socrates_cyclone5/genimage.cfg index 63fef8ba476..d31c3838be7 100644 --- a/board/altera/socrates_cyclone5/genimage.cfg +++ b/board/altera/socrates_cyclone5/genimage.cfg @@ -5,6 +5,7 @@ image boot.vfat { "socfpga_cyclone5_socrates.dtb" } } + size = 8M } @@ -17,13 +18,13 @@ image uboot.img { in-partition-table = "no" image = "u-boot-spl.bin.crc" offset = 0 - size = 64k + size = 64K } partition uboot-full { in-partition-table = "no" image = "u-boot.img" - offset = 256k + offset = 256K } size = 1M @@ -36,7 +37,7 @@ image sdcard.img { partition uboot-env { in-partition-table = "no" image = "uboot-env.bin" - offset = 17408 # 512 * 34 -> just after gpt + offset = 17K # 512 * 34 -> just after gpt } partition boot { diff --git a/board/amarula/a64-relic/genimage.cfg b/board/amarula/a64-relic/genimage.cfg index 002b6bb4d1f..58b607f5fbe 100644 --- a/board/amarula/a64-relic/genimage.cfg +++ b/board/amarula/a64-relic/genimage.cfg @@ -6,5 +6,6 @@ image boot.vfat { "extlinux" } } + size = 64M } diff --git a/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch b/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch deleted file mode 100644 index 64a147c09e7..00000000000 --- a/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001 -From: Shyam Saini -Date: Mon, 15 Apr 2019 16:16:16 +0530 -Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB - -The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which -causes board reset because of larger uImage size. - -Error log snippet: - Booting using the fdt blob at 0x1f00000 - Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN -Must RESET board to recover -resetting ... - -Signed-off-by: Shyam Saini ---- - include/configs/rk3288_common.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h -index 72a54bc0ab..eab7cf4d86 100644 ---- a/include/configs/rk3288_common.h -+++ b/include/configs/rk3288_common.h -@@ -9,6 +9,8 @@ - #include - #include "rockchip-common.h" - -+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */ -+ - #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY - #define CONFIG_SYS_MALLOC_LEN (32 << 20) - #define CONFIG_SYS_CBSIZE 1024 --- -2.11.0 - diff --git a/board/andes/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch b/board/andes/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch new file mode 100644 index 00000000000..71ae991816c --- /dev/null +++ b/board/andes/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch @@ -0,0 +1,52 @@ +From f9df4186c17d686f1ca38f973d7a3a49e8e37c01 Mon Sep 17 00:00:00 2001 +From: Dirk Mueller +Date: Tue, 14 Jan 2020 18:53:41 +0100 +Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration + +gcc 10 will default to -fno-common, which causes this error at link +time: + + (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here + +This is because both dtc-lexer as well as dtc-parser define the same +global symbol yyloc. Before with -fcommon those were merged into one +defintion. The proper solution would be to to mark this as "extern", +however that leads to: + + dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls] + 26 | extern YYLTYPE yylloc; + | ^~~~~~ +In file included from dtc-lexer.l:24: +dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here + 127 | extern YYLTYPE yylloc; + | ^~~~~~ +cc1: all warnings being treated as errors + +which means the declaration is completely redundant and can just be +dropped. + +Signed-off-by: Dirk Mueller +Signed-off-by: David Gibson +[robh: cherry-pick from upstream] +Cc: stable@vger.kernel.org +Signed-off-by: Rob Herring +Signed-off-by: Giulio Benetti +--- + scripts/dtc/dtc-lexer.l | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l +index 06c040902444..d1b3810156c7 100644 +--- a/scripts/dtc/dtc-lexer.l ++++ b/scripts/dtc/dtc-lexer.l +@@ -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() */ +-- +2.25.1 + diff --git a/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch b/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch deleted file mode 100644 index 64a147c09e7..00000000000 --- a/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001 -From: Shyam Saini -Date: Mon, 15 Apr 2019 16:16:16 +0530 -Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB - -The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which -causes board reset because of larger uImage size. - -Error log snippet: - Booting using the fdt blob at 0x1f00000 - Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN -Must RESET board to recover -resetting ... - -Signed-off-by: Shyam Saini ---- - include/configs/rk3288_common.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h -index 72a54bc0ab..eab7cf4d86 100644 ---- a/include/configs/rk3288_common.h -+++ b/include/configs/rk3288_common.h -@@ -9,6 +9,8 @@ - #include - #include "rockchip-common.h" - -+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */ -+ - #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY - #define CONFIG_SYS_MALLOC_LEN (32 << 20) - #define CONFIG_SYS_CBSIZE 1024 --- -2.11.0 - diff --git a/board/atmel/at91sam9x5ek_mmc/genimage.cfg b/board/atmel/at91sam9x5ek_mmc/genimage.cfg index 7a552665f3d..d99ebd26be9 100644 --- a/board/atmel/at91sam9x5ek_mmc/genimage.cfg +++ b/board/atmel/at91sam9x5ek_mmc/genimage.cfg @@ -17,6 +17,7 @@ image boot.vfat { image = "uboot-env.bin" } } + size = 16M } diff --git a/board/atmel/readme.txt b/board/atmel/readme.txt index 1f21dd15e49..a9c427e90bc 100644 --- a/board/atmel/readme.txt +++ b/board/atmel/readme.txt @@ -23,6 +23,10 @@ This guide covers the following configurations: - microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig - microchip_sam9x60ek_mmc_defconfig - microchip_sam9x60ek_mmc_dev_defconfig + - microchip_sama5d2_icp_mmc_defconfig + - microchip_sama5d2_icp_mmc_dev_defconfig + - microchip_sama7g5ek_mmc_defconfig + - microchip_sama7g5ek_mmc_dev_defconfig These configurations will use AT91Bootstrap, u-boot and a linux kernel from the git trees maintained by Atmel. diff --git a/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg b/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg index eaa3896fcf9..a0adecfd342 100644 --- a/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg +++ b/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg b/board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg index dce32524e90..cf55f46fc7e 100644 --- a/board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg +++ b/board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d2_xplained_mmc/genimage.cfg b/board/atmel/sama5d2_xplained_mmc/genimage.cfg index 3cc8ae2f8cd..2c5a0f6dce7 100644 --- a/board/atmel/sama5d2_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d2_xplained_mmc/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d3_xplained_mmc/genimage.cfg b/board/atmel/sama5d3_xplained_mmc/genimage.cfg index 1b464951281..0456e8d5a2e 100644 --- a/board/atmel/sama5d3_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d3_xplained_mmc/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d4_xplained_mmc/genimage.cfg b/board/atmel/sama5d4_xplained_mmc/genimage.cfg index 004f2fddb3d..bd929ffab40 100644 --- a/board/atmel/sama5d4_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d4_xplained_mmc/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "u-boot.bin" } } + size = 16M } diff --git a/board/bananapi/bananapi-m1/genimage.cfg b/board/bananapi/bananapi-m1/genimage.cfg index e2e131162d7..ce62fbf712c 100644 --- a/board/bananapi/bananapi-m1/genimage.cfg +++ b/board/bananapi/bananapi-m1/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/bananapi/bananapi-m2-ultra/genimage.cfg b/board/bananapi/bananapi-m2-ultra/genimage.cfg index 675253af232..88324f1f24a 100644 --- a/board/bananapi/bananapi-m2-ultra/genimage.cfg +++ b/board/bananapi/bananapi-m2-ultra/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/bananapi/bananapi-m2-zero/genimage.cfg b/board/bananapi/bananapi-m2-zero/genimage.cfg index e41f1f93924..1f565b5238a 100644 --- a/board/bananapi/bananapi-m2-zero/genimage.cfg +++ b/board/bananapi/bananapi-m2-zero/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/bananapi/bananapi-m64/genimage.cfg b/board/bananapi/bananapi-m64/genimage.cfg index 9730d8faacc..e922c0dba2d 100644 --- a/board/bananapi/bananapi-m64/genimage.cfg +++ b/board/bananapi/bananapi-m64/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/beagleboardx15/genimage.cfg b/board/beagleboardx15/genimage.cfg index d27eff609fb..b1604105cd3 100644 --- a/board/beagleboardx15/genimage.cfg +++ b/board/beagleboardx15/genimage.cfg @@ -5,6 +5,7 @@ image boot.vfat { "u-boot.img" } } + size = 4M } @@ -15,7 +16,7 @@ image sdcard.img { partition u-boot { partition-type = 0xC bootable = "true" - image = "boot.vfat" + image = "boot.vfat" } partition rootfs { diff --git a/board/beaglebone/genimage.cfg b/board/beaglebone/genimage.cfg index cfc1039ec40..42ca2cf107e 100644 --- a/board/beaglebone/genimage.cfg +++ b/board/beaglebone/genimage.cfg @@ -10,8 +10,10 @@ image boot.vfat { "am335x-bone.dtb", "am335x-boneblack.dtb", "am335x-bonegreen.dtb", + "am335x-boneblack-wireless.dtb", } } + size = 16M } @@ -22,7 +24,7 @@ image sdcard.img { partition u-boot { partition-type = 0xC bootable = "true" - image = "boot.vfat" + image = "boot.vfat" } partition rootfs { diff --git a/board/beaglebone/genimage_linux41.cfg b/board/beaglebone/genimage_linux41.cfg deleted file mode 100644 index ba60297dde1..00000000000 --- a/board/beaglebone/genimage_linux41.cfg +++ /dev/null @@ -1,32 +0,0 @@ -image boot.vfat { - vfat { - files = { - "MLO", - "u-boot.img", - "zImage", - "uEnv.txt", - "am335x-evm.dtb", - "am335x-evmsk.dtb", - "am335x-bone.dtb", - "am335x-boneblack.dtb", - } - } - size = 16M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/beagleboneai/genimage.cfg b/board/beagleboneai/genimage.cfg index 0bdfa64d380..8aefd76ef8b 100644 --- a/board/beagleboneai/genimage.cfg +++ b/board/beagleboneai/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "uEnv.txt" } } + size = 16M } diff --git a/board/beagleboneai/patches/uboot/0001-BeagleBone-AI-support.patch b/board/beagleboneai/patches/uboot/0001-BeagleBone-AI-support.patch deleted file mode 100644 index 2d9accf9546..00000000000 --- a/board/beagleboneai/patches/uboot/0001-BeagleBone-AI-support.patch +++ /dev/null @@ -1,1783 +0,0 @@ -From 989c27c791a453550ff6c1440b41c55c6e70615d Mon Sep 17 00:00:00 2001 -From: Jason Kridner -Date: Wed, 27 Mar 2019 14:06:24 -0400 -Subject: [PATCH] BeagleBone AI support - -Patch from: -https://github.com/beagleboard/beaglebone-ai/blob/master/SW/buildroot/local/patches/uboot/0001-BeagleBone-AI-support.patch - -Signed-off-by: Peter Korsgaard ---- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/am5729-beagleboneai.dts | 494 +++++++++++++++++++++++++++ - arch/arm/mach-omap2/omap5/hw_data.c | 3 +- - board/ti/am57xx/board.c | 134 +++++++- - board/ti/am57xx/mux_data.h | 390 +++++++++++++++++++++ - configs/am57xx_evm_defconfig | 10 +- - include/configs/am57xx_evm.h | 2 +- - include/configs/ti_armv7_common.h | 357 +++++++++++++++++++ - include/configs/ti_omap5_common.h | 5 + - include/environment/ti/boot.h | 49 +-- - include/environment/ti/mmc.h | 45 ++- - 11 files changed, 1447 insertions(+), 43 deletions(-) - create mode 100644 arch/arm/dts/am5729-beagleboneai.dts - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 2a040b20a5..6771d457a4 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -232,6 +232,7 @@ dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \ - dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \ - am57xx-beagle-x15-revb1.dtb \ - am57xx-beagle-x15-revc.dtb \ -+ am5729-beagleboneai.dtb \ - am574x-idk.dtb \ - am572x-idk.dtb \ - am571x-idk.dtb -diff --git a/arch/arm/dts/am5729-beagleboneai.dts b/arch/arm/dts/am5729-beagleboneai.dts -new file mode 100644 -index 0000000000..d1afe55751 ---- /dev/null -+++ b/arch/arm/dts/am5729-beagleboneai.dts -@@ -0,0 +1,494 @@ -+/* -+ * Copyright (C) 2014-2018 Texas Instruments Incorporated - http://www.ti.com/ -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+/dts-v1/; -+ -+#include "dra74x.dtsi" -+#include "am57xx-commercial-grade.dtsi" -+#include "dra74x-mmc-iodelay.dtsi" -+#include -+#include -+#include -+ -+/ { -+ model = "BeagleBoard.org BeagleBone AI"; -+ compatible = "beagleboard.org,am57xx-beagleboneai", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; -+ -+ chosen { -+ stdout-path = &uart1; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x80000000 0x0 0x40000000>; -+ }; -+ -+ vdd_5v: fixedregulator-vdd_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_5v"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vtt_fixed: fixedregulator-vtt { -+ /* TPS51200 */ -+ compatible = "regulator-fixed"; -+ regulator-name = "vtt_fixed"; -+ vin-supply = <&vdd_3v3>; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ src_clk_x1: src_clk_x1 { -+ #clock-cells = <0>; -+ compatible = "fixed-clock"; -+ clock-frequency = <20000000>; -+ }; -+ -+ src_clk_osc1: src_clk_osc1 { -+ #clock-cells = <0>; -+ compatible = "fixed-clock"; -+ clock-frequency = <24000000>; -+ }; -+ -+ src_clk_osc4: src_clk_osc4 { -+ #clock-cells = <0>; -+ compatible = "fixed-clock"; -+ clock-frequency = <24000000>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led0 { -+ label = "beaglebone:green:usr0"; -+ gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ default-state = "off"; -+ }; -+ -+ led1 { -+ label = "beaglebone:green:usr1"; -+ gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "mmc0"; -+ default-state = "off"; -+ }; -+ -+ led2 { -+ label = "beaglebone:green:usr2"; -+ gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "cpu"; -+ default-state = "off"; -+ }; -+ -+ led3 { -+ label = "beaglebone:green:usr3"; -+ gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "mmc1"; -+ default-state = "off"; -+ }; -+ }; -+}; -+ -+&i2c1 { -+ status = "okay"; -+ clock-frequency = <400000>; -+ -+ tps659038: tps659038@58 { -+ compatible = "ti,tps659038"; -+ reg = <0x58>; -+ interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH -+ &dra7_pmx_core 0x418>; -+ -+ #interrupt-cells = <2>; -+ interrupt-controller; -+ -+ ti,system-power-controller; -+ ti,palmas-override-powerhold; -+ -+ tps659038_pmic { -+ compatible = "ti,tps659038-pmic"; -+ -+ smps12-in-supply = <&vdd_5v>; -+ smps3-in-supply = <&vdd_5v>; -+ smps45-in-supply = <&vdd_5v>; -+ smps6-in-supply = <&vdd_5v>; -+ smps7-in-supply = <&vdd_5v>; -+ mps3-in-supply = <&vdd_5v>; -+ smps8-in-supply = <&vdd_5v>; -+ smps9-in-supply = <&vdd_5v>; -+ ldo1-in-supply = <&vdd_5v>; -+ ldo2-in-supply = <&vdd_5v>; -+ ldo3-in-supply = <&vdd_5v>; -+ ldo4-in-supply = <&vdd_5v>; -+ ldo9-in-supply = <&vdd_5v>; -+ ldoln-in-supply = <&vdd_5v>; -+ ldousb-in-supply = <&vdd_5v>; -+ ldortc-in-supply = <&vdd_5v>; -+ -+ regulators { -+ vdd_mpu: smps12 { -+ /* VDD_MPU */ -+ regulator-name = "smps12"; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_ddr: smps3 { -+ /* VDD_DDR EMIF1 EMIF2 */ -+ regulator-name = "smps3"; -+ regulator-min-microvolt = <1350000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_dspeve: smps45 { -+ /* VDD_DSPEVE on AM572 */ -+ /* VDD_IVA + VDD_DSP on AM571 */ -+ regulator-name = "smps45"; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_gpu: smps6 { -+ /* VDD_GPU */ -+ regulator-name = "smps6"; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_core: smps7 { -+ /* VDD_CORE */ -+ regulator-name = "smps7"; -+ regulator-min-microvolt = <850000>; /*** 1.15V */ -+ regulator-max-microvolt = <1150000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_iva: smps8 { -+ /* 5728 - VDD_IVAHD */ /*** 1.06V */ -+ /* 5718 - N.C. test point */ -+ regulator-name = "smps8"; -+ }; -+ -+ vdd_3v3: smps9 { -+ /* VDD_3V3 */ -+ regulator-name = "smps9"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_sd: ldo1 { -+ /* VDDSHV8 - VSDMMC */ -+ regulator-name = "ldo1"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vdd_1v8: ldo2 { -+ /* VDDSH18V */ -+ regulator-name = "ldo2"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_1v8_phy_ldo3: ldo3 { -+ /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */ -+ regulator-name = "ldo3"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_1v8_phy_ldo4: ldo4 { -+ /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/ -+ regulator-name = "ldo4"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ /* LDO5-8 unused */ -+ -+ vdd_rtc: ldo9 { -+ /* VDD_RTC */ -+ regulator-name = "ldo9"; -+ regulator-min-microvolt = <840000>; -+ regulator-max-microvolt = <1160000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_1v8_pll: ldoln { -+ /* VDDA_1V8_PLL */ -+ regulator-name = "ldoln"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ ldousb_reg: ldousb { -+ /* VDDA_3V_USB: VDDA_USBHS33 */ -+ regulator-name = "ldousb"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ ldortc_reg: ldortc { -+ /* VDDA_RTC */ -+ regulator-name = "ldortc"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ regen1: regen1 { -+ /* VDD_3V3_ON */ -+ regulator-name = "regen1"; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ regen2: regen2 { -+ /* Needed for PMIC internal resource */ -+ regulator-name = "regen2"; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ }; -+ }; -+ -+ tps659038_rtc: tps659038_rtc { -+ compatible = "ti,palmas-rtc"; -+ interrupt-parent = <&tps659038>; -+ interrupts = <8 IRQ_TYPE_EDGE_FALLING>; -+ wakeup-source; -+ }; -+ -+ tps659038_pwr_button: tps659038_pwr_button { -+ compatible = "ti,palmas-pwrbutton"; -+ interrupt-parent = <&tps659038>; -+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>; -+ wakeup-source; -+ ti,palmas-long-press-seconds = <12>; -+ }; -+ -+ tps659038_gpio: tps659038_gpio { -+ compatible = "ti,palmas-gpio"; -+ gpio-controller; -+ #gpio-cells = <2>; -+ }; -+ -+ extcon_usb2: tps659038_usb { -+ compatible = "ti,palmas-usb-vid"; -+ }; -+ -+ }; -+ -+ eeprom: eeprom@50 { -+ compatible = "atmel,24c32"; -+ reg = <0x50>; -+ }; -+}; -+ -+&i2c2 { -+ status = "okay"; -+ clock-frequency = <400000>; -+}; -+ -+&i2c3 { -+ status = "okay"; -+ clock-frequency = <400000>; -+}; -+ -+&i2c4 { -+ status = "okay"; -+ clock-frequency = <100000>; -+}; -+ -+&i2c5 { -+ status = "okay"; -+ clock-frequency = <100000>; -+}; -+ -+&cpu0 { -+ vdd-supply = <&vdd_mpu>; -+ voltage-tolerance = <1>; -+}; -+ -+&uart1 { -+ status = "okay"; -+ interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, -+ <&dra7_pmx_core 0x3e0>; -+}; -+ -+&uart3 { -+ status = "okay"; -+ interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, -+ <&dra7_pmx_core 0x3f8>; -+}; -+ -+&davinci_mdio { -+ reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; -+ reset-delay-us = <2>; -+ -+ phy0: ethernet-phy@1 { -+ reg = <4>; -+ }; -+}; -+ -+&mac { -+ slaves = <1>; -+ status = "okay"; -+ //dual_emac; -+}; -+ -+&cpsw_emac0 { -+ phy-handle = <&phy0>; -+ phy-mode = "rgmii"; -+ //dual_emac_res_vlan = <1>; -+}; -+ -+&mmc1 { -+ status = "okay"; -+ vmmc-supply = <&vdd_3v3>; -+ vmmc_aux-supply = <&vdd_sd>; -+ vqmmc-supply = <&vdd_sd>; /* IO Line Power */ -+ bus-width = <4>; -+ max-frequency = <24000000>; -+ cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ -+ -+ pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104"; -+ pinctrl-0 = <&mmc1_pins_default>; -+ pinctrl-1 = <&mmc1_pins_hs>; -+ pinctrl-2 = <&mmc1_pins_sdr12>; -+ pinctrl-3 = <&mmc1_pins_sdr25>; -+ pinctrl-4 = <&mmc1_pins_sdr50>; -+ pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>; -+ pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>; -+}; -+ -+&mmc2 { -+ status = "okay"; -+ vmmc-supply = <&vdd_3v3>; -+ //FUTURE: vqmmc-supply = <&vdd_3v3>; /* IO Line Power */ -+ bus-width = <8>; -+ ti,non-removable; -+ non-removable; -+ max-frequency = <96000000>; -+ no-1-8-v; -+ /delete-property/ mmc-hs200-1_8v; -+ -+ pinctrl-names = "default", "hs"; -+ pinctrl-0 = <&mmc2_pins_default>; -+ pinctrl-1 = <&mmc2_pins_hs>; -+}; -+ -+&usb2_phy1 { -+ phy-supply = <&ldousb_reg>; -+}; -+ -+&usb2_phy2 { -+ phy-supply = <&ldousb_reg>; -+}; -+ -+&usb1 { -+ dr_mode = "host"; -+}; -+ -+&omap_dwc3_2 { -+ extcon = <&extcon_usb2>; -+}; -+ -+&usb2 { -+ dr_mode = "peripheral"; -+}; -+ -+&cpu_trips { -+ cpu_alert1: cpu_alert1 { -+ temperature = <50000>; /* millicelsius */ -+ hysteresis = <2000>; /* millicelsius */ -+ type = "active"; -+ }; -+}; -+ -+&cpu_cooling_maps { -+ map1 { -+ trip = <&cpu_alert1>; -+ }; -+}; -+ -+&thermal_zones { -+ board_thermal: board_thermal { -+ polling-delay-passive = <1250>; /* milliseconds */ -+ polling-delay = <1500>; /* milliseconds */ -+ -+ board_trips: trips { -+ board_alert0: board_alert { -+ temperature = <40000>; /* millicelsius */ -+ hysteresis = <2000>; /* millicelsius */ -+ type = "active"; -+ }; -+ -+ board_crit: board_crit { -+ temperature = <105000>; /* millicelsius */ -+ hysteresis = <0>; /* millicelsius */ -+ type = "critical"; -+ }; -+ }; -+ -+ board_cooling_maps: cooling-maps { -+ map0 { -+ trip = <&board_alert0>; -+ }; -+ }; -+ }; -+}; -+ -+&mailbox5 { -+ status = "okay"; -+ mbox_ipu1_ipc3x: mbox_ipu1_ipc3x { -+ status = "okay"; -+ }; -+ mbox_dsp1_ipc3x: mbox_dsp1_ipc3x { -+ status = "okay"; -+ }; -+}; -+ -+&mailbox6 { -+ status = "okay"; -+ mbox_ipu2_ipc3x: mbox_ipu2_ipc3x { -+ status = "okay"; -+ }; -+ mbox_dsp2_ipc3x: mbox_dsp2_ipc3x { -+ status = "okay"; -+ }; -+}; -diff --git a/arch/arm/mach-omap2/omap5/hw_data.c b/arch/arm/mach-omap2/omap5/hw_data.c -index c4a41db92a..57b23b93b5 100644 ---- a/arch/arm/mach-omap2/omap5/hw_data.c -+++ b/arch/arm/mach-omap2/omap5/hw_data.c -@@ -418,8 +418,10 @@ void enable_basic_clocks(void) - (*prcm)->cm_l3init_hsmmc2_clkctrl, - (*prcm)->cm_l4per_gptimer2_clkctrl, - (*prcm)->cm_wkup_wdtimer2_clkctrl, -+ (*prcm)->cm_l4per_uart1_clkctrl, - (*prcm)->cm_l4per_uart3_clkctrl, - (*prcm)->cm_l4per_i2c1_clkctrl, -+ (*prcm)->cm_l4per_i2c4_clkctrl, - #ifdef CONFIG_DRIVER_TI_CPSW - (*prcm)->cm_gmac_gmac_clkctrl, - #endif -@@ -493,7 +495,6 @@ void enable_basic_uboot_clocks(void) - (*prcm)->cm_l4per_mcspi1_clkctrl, - (*prcm)->cm_l4per_i2c2_clkctrl, - (*prcm)->cm_l4per_i2c3_clkctrl, -- (*prcm)->cm_l4per_i2c4_clkctrl, - #if defined(CONFIG_DRA7XX) - (*prcm)->cm_ipu_i2c5_clkctrl, - #else -diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c -index 7063345dcc..47a8391de8 100644 ---- a/board/ti/am57xx/board.c -+++ b/board/ti/am57xx/board.c -@@ -30,6 +30,8 @@ - #include - #include - #include -+#include -+#include - - #include "../common/board_detect.h" - #include "mux_data.h" -@@ -46,6 +48,7 @@ - #define board_is_am574x_idk() board_ti_is("AM574IDK") - #define board_is_am572x_idk() board_ti_is("AM572IDK") - #define board_is_am571x_idk() board_ti_is("AM571IDK") -+#define board_is_bbai() board_ti_is("BBBBAI__") //no EEPROM... - - #ifdef CONFIG_DRIVER_TI_CPSW - #include -@@ -75,6 +78,12 @@ DECLARE_GLOBAL_DATA_PTR; - #define TPS65903X_PRIMARY_SECONDARY_PAD2 0xFB - #define TPS65903X_PAD2_POWERHOLD_MASK 0x20 - -+#define CAPE_EEPROM_BUS_NUM 3 -+#define CAPE_EEPROM_ADDR0 0x54 -+#define CAPE_EEPROM_ADDR3 0x57 -+ -+#define CAPE_EEPROM_ADDR_LEN 0x10 -+ - const struct omap_sysinfo sysinfo = { - "Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN\n" - }; -@@ -84,6 +93,12 @@ static const struct dmm_lisa_map_regs beagle_x15_lisa_regs = { - .is_ma_present = 0x1 - }; - -+static const struct dmm_lisa_map_regs bbai_lisa_regs = { -+ ///FIXME: Document, where this magic number come from? -+ .dmm_lisa_map_3 = 0x80640100, -+ .is_ma_present = 0x1 -+}; -+ - static const struct dmm_lisa_map_regs am571x_idk_lisa_regs = { - .dmm_lisa_map_3 = 0x80640100, - .is_ma_present = 0x1 -@@ -101,6 +116,8 @@ void emif_get_dmm_regs(const struct dmm_lisa_map_regs **dmm_lisa_regs) - *dmm_lisa_regs = &am571x_idk_lisa_regs; - else if (board_is_am574x_idk()) - *dmm_lisa_regs = &am574x_idk_lisa_regs; -+ else if (board_is_bbai()) -+ *dmm_lisa_regs = &bbai_lisa_regs; - else - *dmm_lisa_regs = &beagle_x15_lisa_regs; - } -@@ -502,8 +519,30 @@ void do_board_detect(void) - - rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS, - CONFIG_EEPROM_CHIP_ADDRESS); -- if (rc) -+ if (rc) { - printf("ti_i2c_eeprom_init failed %d\n", rc); -+ ti_i2c_eeprom_am_set("BBBBAI__", "A"); -+ }; -+ -+ puts("in do_board_detect\n"); -+ printf("do_board_detect\n"); -+} -+ -+void write_hex (unsigned char i) -+{ -+ char cc; -+ -+ cc = i >> 4; -+ cc &= 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); -+ cc = i & 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); - } - - #else /* CONFIG_SPL_BUILD */ -@@ -521,6 +560,8 @@ void do_board_detect(void) - - if (board_is_x15()) - bname = "BeagleBoard X15"; -+ else if (board_is_bbai()) -+ bname = "BeagleBone AI"; - else if (board_is_am572x_evm()) - bname = "AM572x EVM"; - else if (board_is_am574x_idk()) -@@ -535,6 +576,23 @@ void do_board_detect(void) - "Board: %s REV %s\n", bname, board_ti_get_rev()); - } - -+void write_hex (unsigned char i) -+{ -+ char cc; -+ -+ cc = i >> 4; -+ cc &= 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); -+ cc = i & 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); -+} -+ - static void setup_board_eeprom_env(void) - { - char *name = "beagle_x15"; -@@ -557,6 +615,8 @@ static void setup_board_eeprom_env(void) - name = "am57xx_evm_reva3"; - else - name = "am57xx_evm"; -+ } else if (board_is_bbai()) { -+ name = "am5729_beagleboneai"; - } else if (board_is_am574x_idk()) { - name = "am574x_idk"; - } else if (board_is_am572x_idk()) { -@@ -626,7 +686,7 @@ void am57x_idk_lcd_detect(void) - struct udevice *dev; - - /* Only valid for IDKs */ -- if (board_is_x15() || board_is_am572x_evm()) -+ if (board_is_x15() || board_is_am572x_evm() || board_is_bbai()) - return; - - /* Only AM571x IDK has gpio control detect.. so check that */ -@@ -720,6 +780,28 @@ int board_late_init(void) - - am57x_idk_lcd_detect(); - -+ ///FIXME, too late!! But useful for testing function... -+ unsigned char addr; -+ struct udevice *dev; -+ int rc; -+ -+ for ( addr = CAPE_EEPROM_ADDR0; addr <= CAPE_EEPROM_ADDR3; addr++ ) { -+ puts("BeagleBone: cape eeprom: i2c_probe: 0x"); write_hex(addr); puts(":\n"); -+ rc = i2c_get_chip_for_busnum(CAPE_EEPROM_BUS_NUM, addr, 1, &dev); -+ if (rc) { -+ printf("failed to get device for EEPROM at address 0x%x\n", -+ addr); -+// goto out; -+ } -+// out: -+ } -+ -+ if (board_is_bbai()) { -+ env_set("console", "ttyS0,115200n8"); -+ } else { -+ env_set("console", "ttyO2,115200n8"); -+ } -+ - #if !defined(CONFIG_SPL_BUILD) - board_ti_set_ethaddr(2); - #endif -@@ -762,6 +844,13 @@ void recalibrate_iodelay(void) - pconf_sz = ARRAY_SIZE(core_padconf_array_essential_am571x_idk); - iod = iodelay_cfg_array_am571x_idk; - iod_sz = ARRAY_SIZE(iodelay_cfg_array_am571x_idk); -+ } else if (board_is_bbai()) { -+ /* Common for X15/GPEVM */ -+ pconf = core_padconf_array_essential_bbai; -+ pconf_sz = ARRAY_SIZE(core_padconf_array_essential_bbai); -+ /* Since full production should switch to SR2.0 */ -+ iod = iodelay_cfg_array_bbai; -+ iod_sz = ARRAY_SIZE(iodelay_cfg_array_bbai); - } else { - /* Common for X15/GPEVM */ - pconf = core_padconf_array_essential_x15; -@@ -863,12 +952,50 @@ const struct mmc_platform_fixups *platform_fixups_mmc(uint32_t addr) - #endif - - #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_OS_BOOT) -+ -+//static int eeprom_has_been_read; -+//static struct id_eeprom eeprom; -+ -+struct am335x_cape_eeprom_id { -+ unsigned int header; -+ char eeprom_rev[2]; -+ char board_name[32]; -+ char version[4]; -+ char manufacture[16]; -+ char part_number[16]; -+ char number_of_pins[2]; -+ char serial_number[12]; -+ char pin_usage[140]; -+ char vdd_3v3exp[ 2]; -+ char vdd_5v[ 2]; -+ char sys_5v[2]; -+ char dc_supplied[2]; -+}; -+ - int spl_start_uboot(void) - { - /* break into full u-boot on 'c' */ - if (serial_tstc() && serial_getc() == 'c') - return 1; - -+ //FIXME, i2c doesn't see to be up.. -+ puts("spl_start_uboot\n"); -+ unsigned char addr; -+ struct udevice *dev; -+ int rc; -+ -+ for ( addr = CAPE_EEPROM_ADDR0; addr <= CAPE_EEPROM_ADDR3; addr++ ) { -+ puts("BeagleBone: cape eeprom: i2c_probe: 0x"); write_hex(addr); puts(":\n"); -+ rc = i2c_get_chip_for_busnum(CAPE_EEPROM_BUS_NUM, addr, 1, &dev); -+ if (rc) { -+ printf("failed to get device for EEPROM at address 0x%x\n", -+ addr); -+// goto out; -+ } -+// out: -+ } -+ -+ - #ifdef CONFIG_SPL_ENV_SUPPORT - env_init(); - env_load(); -@@ -1084,6 +1211,9 @@ int board_fit_config_name_match(const char *name) - } else if (board_is_am572x_evm() && - !strcmp(name, "am57xx-beagle-x15")) { - return 0; -+ } else if (board_is_bbai() && -+ !strcmp(name, "am5729-beagleboneai")) { -+ return 0; - } else if (board_is_am572x_idk() && !strcmp(name, "am572x-idk")) { - return 0; - } else if (board_is_am574x_idk() && !strcmp(name, "am574x-idk")) { -diff --git a/board/ti/am57xx/mux_data.h b/board/ti/am57xx/mux_data.h -index d4a15ae93d..9b8ee944f8 100644 ---- a/board/ti/am57xx/mux_data.h -+++ b/board/ti/am57xx/mux_data.h -@@ -233,6 +233,272 @@ const struct pad_conf_entry core_padconf_array_essential_x15[] = { - {RSTOUTN, (M0 | PIN_OUTPUT)}, /* rstoutn.rstoutn */ - }; - -+const struct pad_conf_entry core_padconf_array_essential_bbai[] = { -+ {GPMC_AD0, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad0.vin3a_d0 */ -+ {GPMC_AD1, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad1.vin3a_d1 */ -+ {GPMC_AD2, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad2.vin3a_d2 */ -+ {GPMC_AD3, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad3.vin3a_d3 */ -+ {GPMC_AD4, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad4.vin3a_d4 */ -+ {GPMC_AD5, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad5.vin3a_d5 */ -+ {GPMC_AD6, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad6.vin3a_d6 */ -+ {GPMC_AD7, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad7.vin3a_d7 */ -+ {GPMC_AD8, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad8.vin3a_d8 */ -+ {GPMC_AD9, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad9.vin3a_d9 */ -+ {GPMC_AD10, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad10.vin3a_d10 */ -+ {GPMC_AD11, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad11.vin3a_d11 */ -+ {GPMC_AD12, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad12.vin3a_d12 */ -+ {GPMC_AD13, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad13.vin3a_d13 */ -+ {GPMC_AD14, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad14.vin3a_d14 */ -+ {GPMC_AD15, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad15.vin3a_d15 */ -+ -+ /* Cape Bus i2c */ -+ {GPMC_A0, (M7 | PIN_INPUT_PULLUP)}, /* R6_GPIO7_3: gpmc_a0.i2c4_scl (Shared with F4_UART10_RTSN) */ -+ {GPMC_A1, (M7 | PIN_INPUT_PULLUP)}, /* T9_GPIO7_4: gpmc_a1.i2c4_sda (Shared with D2_UART10_CTSN) */ -+ -+ {GPMC_A2, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a2.vin3a_d18 */ -+ {GPMC_A3, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a3.vin3a_d19 */ -+ {GPMC_A4, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a4.vin3a_d20 */ -+ {GPMC_A5, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a5.vin3a_d21 */ -+ {GPMC_A6, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a6.vin3a_d22 */ -+ {GPMC_A7, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a7.vin3a_d23 */ -+ {GPMC_A8, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a8.vin3a_hsync0 */ -+ {GPMC_A9, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a9.vin3a_vsync0 */ -+ {GPMC_A10, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a10.vin3a_de0 */ -+ {GPMC_A11, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a11.vin3a_fld0 */ -+ {GPMC_A12, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_a12.gpio2_2 */ -+ {GPMC_A13, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a13.gpio2_3 */ -+ {GPMC_A14, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_a14.gpio2_4 */ -+ {GPMC_A15, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a15.gpio2_5 */ -+ {GPMC_A16, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a16.gpio2_6 */ -+ {GPMC_A17, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a17.gpio2_7 */ -+ {GPMC_A18, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_a18.gpio2_8 */ -+ -+ /* eMMC */ -+ {GPMC_A19, (M1 | PIN_INPUT_PULLUP)}, /* K7: gpmc_a19.mmc2_dat4 */ -+ {GPMC_A20, (M1 | PIN_INPUT_PULLUP)}, /* M7: gpmc_a20.mmc2_dat5 */ -+ {GPMC_A21, (M1 | PIN_INPUT_PULLUP)}, /* J5: gpmc_a21.mmc2_dat6 */ -+ {GPMC_A22, (M1 | PIN_INPUT_PULLUP)}, /* K6: gpmc_a22.mmc2_dat7 */ -+ {GPMC_A23, (M1 | PIN_INPUT_PULLUP)}, /* J7: gpmc_a23.mmc2_clk */ -+ {GPMC_A24, (M1 | PIN_INPUT_PULLUP)}, /* J4: gpmc_a24.mmc2_dat0 */ -+ {GPMC_A25, (M1 | PIN_INPUT_PULLUP)}, /* J6: gpmc_a25.mmc2_dat1 */ -+ {GPMC_A26, (M1 | PIN_INPUT_PULLUP)}, /* H4: gpmc_a26.mmc2_dat2 */ -+ {GPMC_A27, (M1 | PIN_INPUT_PULLUP)}, /* H5: gpmc_a27.mmc2_dat3 */ -+ {GPMC_CS1, (M1 | PIN_INPUT_PULLUP)}, /* H6: gpmc_cs1.mmc2_cmd */ -+ -+ {GPMC_CS0, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_cs0.gpio2_19 */ -+ {GPMC_CS2, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_cs2.gpio2_20 */ -+ {GPMC_CS3, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_cs3.vin3a_clk0 */ -+ {GPMC_CLK, (M9 | PIN_INPUT_PULLDOWN)}, /* gpmc_clk.dma_evt1 */ -+ {GPMC_ADVN_ALE, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_advn_ale.gpio2_23 */ -+ {GPMC_OEN_REN, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_oen_ren.gpio2_24 */ -+ {GPMC_WEN, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_wen.gpio2_25 */ -+ {GPMC_BEN0, (M9 | PIN_INPUT_PULLDOWN)}, /* gpmc_ben0.dma_evt3 */ -+ {GPMC_BEN1, (M9 | PIN_INPUT_PULLDOWN)}, /* gpmc_ben1.dma_evt4 */ -+ {GPMC_WAIT0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* gpmc_wait0.gpio2_28 */ -+ {VIN1A_CLK0, (M14 | PIN_INPUT)}, /* vin1a_clk0.gpio2_30 */ -+ {VIN1B_CLK1, (M14 | PIN_INPUT_SLEW)}, /* vin1b_clk1.gpio2_31 */ -+ {VIN1A_D2, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d2.gpio3_6 */ -+ {VIN1A_D3, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d3.gpio3_7 */ -+ {VIN1A_D4, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d4.gpio3_8 */ -+ {VIN1A_D5, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d5.gpio3_9 */ -+ {VIN1A_D6, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d6.gpio3_10 */ -+ {VIN1A_D7, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d7.gpio3_11 */ -+ {VIN1A_D8, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d8.gpio3_12 */ -+ {VIN1A_D10, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d10.gpio3_14 */ -+ {VIN1A_D11, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d11.gpio3_15 */ -+ {VIN1A_D12, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d12.gpio3_16 */ -+ {VIN1A_D14, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d14.gpio3_18 */ -+ {VIN1A_D16, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d16.gpio3_20 */ -+ {VIN1A_D19, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d19.gpio3_23 */ -+ {VIN1A_D20, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d20.gpio3_24 */ -+ {VIN1A_D22, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d22.gpio3_26 */ -+ {VIN2A_CLK0, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_clk0.gpio3_28 */ -+ {VIN2A_DE0, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_de0.gpio3_29 */ -+ {VIN2A_FLD0, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_fld0.gpio3_30 */ -+ {VIN2A_HSYNC0, (M11 | PIN_INPUT_PULLUP)}, /* vin2a_hsync0.pr1_uart0_cts_n */ -+ {VIN2A_VSYNC0, (M11 | PIN_OUTPUT_PULLUP)}, /* vin2a_vsync0.pr1_uart0_rts_n */ -+ {VIN2A_D0, (M11 | PIN_INPUT_PULLUP)}, /* vin2a_d0.pr1_uart0_rxd */ -+ {VIN2A_D1, (M11 | PIN_OUTPUT)}, /* vin2a_d1.pr1_uart0_txd */ -+ {VIN2A_D2, (M8 | PIN_INPUT_PULLUP)}, /* vin2a_d2.uart10_rxd */ -+ {VIN2A_D3, (M8 | PIN_OUTPUT)}, /* vin2a_d3.uart10_txd */ -+ -+ /* Cape Bus i2c (gpio shared) */ -+ {VIN2A_D4, (M15 | PIN_INPUT)}, /* D2_UART10_CTSN: vin2a_d4.uart10_ctsn (Shared with T9_GPIO7_4) */ -+ {VIN2A_D5, (M15 | PIN_INPUT)}, /* F4_UART10_RTSN: vin2a_d5.uart10_rtsn (Shared with R6_GPIO7_3) */ -+ -+ {VIN2A_D6, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d6.gpio4_7 */ -+ {VIN2A_D7, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d7.gpio4_8 */ -+ {VIN2A_D8, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d8.gpio4_9 */ -+ {VIN2A_D9, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d9.gpio4_10 */ -+ {VIN2A_D10, (M10 | PIN_OUTPUT_PULLDOWN)}, /* vin2a_d10.ehrpwm2B */ -+ {VIN2A_D11, (M10 | PIN_INPUT_PULLDOWN)}, /* vin2a_d11.ehrpwm2_tripzone_input */ -+ {VIN2A_D12, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d12.rgmii1_txc */ -+ {VIN2A_D13, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d13.rgmii1_txctl */ -+ {VIN2A_D14, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d14.rgmii1_txd3 */ -+ {VIN2A_D15, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d15.rgmii1_txd2 */ -+ {VIN2A_D16, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d16.rgmii1_txd1 */ -+ {VIN2A_D17, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d17.rgmii1_txd0 */ -+ {VIN2A_D18, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d18.rgmii1_rxc */ -+ {VIN2A_D19, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d19.rgmii1_rxctl */ -+ {VIN2A_D20, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d20.rgmii1_rxd3 */ -+ {VIN2A_D21, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d21.rgmii1_rxd2 */ -+ {VIN2A_D22, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d22.rgmii1_rxd1 */ -+ {VIN2A_D23, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d23.rgmii1_rxd0 */ -+ {VOUT1_CLK, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_clk.vout1_clk */ -+ {VOUT1_DE, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_de.vout1_de */ -+ {VOUT1_FLD, (M14 | PIN_INPUT)}, /* vout1_fld.gpio4_21 */ -+ {VOUT1_HSYNC, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_hsync.vout1_hsync */ -+ {VOUT1_VSYNC, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_vsync.vout1_vsync */ -+ {VOUT1_D0, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d0.vout1_d0 */ -+ {VOUT1_D1, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d1.vout1_d1 */ -+ {VOUT1_D2, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d2.vout1_d2 */ -+ {VOUT1_D3, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d3.vout1_d3 */ -+ {VOUT1_D4, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d4.vout1_d4 */ -+ {VOUT1_D5, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d5.vout1_d5 */ -+ {VOUT1_D6, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d6.vout1_d6 */ -+ {VOUT1_D7, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d7.vout1_d7 */ -+ {VOUT1_D8, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d8.vout1_d8 */ -+ {VOUT1_D9, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d9.vout1_d9 */ -+ {VOUT1_D10, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d10.vout1_d10 */ -+ {VOUT1_D11, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d11.vout1_d11 */ -+ {VOUT1_D12, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d12.vout1_d12 */ -+ {VOUT1_D13, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d13.vout1_d13 */ -+ {VOUT1_D14, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d14.vout1_d14 */ -+ {VOUT1_D15, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d15.vout1_d15 */ -+ {VOUT1_D16, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d16.vout1_d16 */ -+ {VOUT1_D17, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d17.vout1_d17 */ -+ {VOUT1_D18, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d18.vout1_d18 */ -+ {VOUT1_D19, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d19.vout1_d19 */ -+ {VOUT1_D20, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d20.vout1_d20 */ -+ {VOUT1_D21, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d21.vout1_d21 */ -+ {VOUT1_D22, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d22.vout1_d22 */ -+ {VOUT1_D23, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d23.vout1_d23 */ -+ {MDIO_MCLK, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* mdio_mclk.mdio_mclk */ -+ {MDIO_D, (M0 | PIN_INPUT | SLEWCONTROL)}, /* mdio_d.mdio_d */ -+ {RMII_MHZ_50_CLK, (M14 | PIN_INPUT_PULLUP)}, /* RMII_MHZ_50_CLK.gpio5_17 */ -+ {UART3_RXD, (M14 | PIN_INPUT_SLEW)}, /* uart3_rxd.gpio5_18 */ -+ {UART3_TXD, (M14 | PIN_INPUT_SLEW)}, /* uart3_txd.gpio5_19 */ -+ {RGMII0_TXC, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txc.rgmii0_txc */ -+ {RGMII0_TXCTL, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txctl.rgmii0_txctl */ -+ {RGMII0_TXD3, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd3.rgmii0_txd3 */ -+ {RGMII0_TXD2, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd2.rgmii0_txd2 */ -+ {RGMII0_TXD1, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd1.rgmii0_txd1 */ -+ {RGMII0_TXD0, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd0.rgmii0_txd0 */ -+ {RGMII0_RXC, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxc.rgmii0_rxc */ -+ {RGMII0_RXCTL, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxctl.rgmii0_rxctl */ -+ {RGMII0_RXD3, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd3.rgmii0_rxd3 */ -+ {RGMII0_RXD2, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd2.rgmii0_rxd2 */ -+ {RGMII0_RXD1, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd1.rgmii0_rxd1 */ -+ {RGMII0_RXD0, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd0.rgmii0_rxd0 */ -+ {USB1_DRVVBUS, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* usb1_drvvbus.usb1_drvvbus */ -+ {USB2_DRVVBUS, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)}, /* usb2_drvvbus.usb2_drvvbus */ -+ {GPIO6_14, (M10 | PIN_INPUT_PULLUP)}, /* gpio6_14.timer1 */ -+ {GPIO6_15, (M10 | PIN_INPUT_PULLUP)}, /* gpio6_15.timer2 */ -+ {GPIO6_16, (M10 | PIN_INPUT_PULLUP)}, /* gpio6_16.timer3 */ -+ {XREF_CLK0, (M9 | PIN_OUTPUT_PULLDOWN)}, /* xref_clk0.clkout2 */ -+ {XREF_CLK1, (M14 | PIN_INPUT_PULLDOWN)}, /* xref_clk1.gpio6_18 */ -+ {XREF_CLK2, (M14 | PIN_INPUT_PULLDOWN)}, /* xref_clk2.gpio6_19 */ -+ {XREF_CLK3, (M9 | PIN_OUTPUT_PULLDOWN)}, /* xref_clk3.clkout3 */ -+ {MCASP1_ACLKX, (M10 | PIN_INPUT_PULLUP)}, /* mcasp1_aclkx.i2c3_sda */ -+ {MCASP1_FSX, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_fsx.i2c3_scl */ -+ {MCASP1_ACLKR, (M10 | PIN_INPUT_PULLUP)}, /* mcasp1_aclkr.i2c4_sda */ -+ {MCASP1_FSR, (M10 | PIN_INPUT_PULLUP)}, /* mcasp1_fsr.i2c4_scl */ -+ {MCASP1_AXR0, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_axr0.i2c5_sda */ -+ {MCASP1_AXR1, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_axr1.i2c5_scl */ -+ {MCASP1_AXR2, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr2.gpio5_4 */ -+ {MCASP1_AXR3, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr3.gpio5_5 */ -+ {MCASP1_AXR4, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr4.gpio5_6 */ -+ {MCASP1_AXR5, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr5.gpio5_7 */ -+ {MCASP1_AXR6, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr6.gpio5_8 */ -+ {MCASP1_AXR7, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr7.gpio5_9 */ -+ {MCASP1_AXR8, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr8.gpio5_10 */ -+ {MCASP1_AXR9, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr9.gpio5_11 */ -+ {MCASP1_AXR10, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr10.gpio5_12 */ -+ {MCASP1_AXR11, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_axr11.gpio4_17 */ -+ {MCASP1_AXR12, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr12.mcasp7_axr0 */ -+ {MCASP1_AXR13, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr13.mcasp7_axr1 */ -+ {MCASP1_AXR14, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr14.mcasp7_aclkx */ -+ {MCASP1_AXR15, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr15.mcasp7_fsx */ -+ {MCASP3_ACLKX, (M0 | PIN_INPUT_PULLDOWN)}, /* mcasp3_aclkx.mcasp3_aclkx */ -+ {MCASP3_FSX, (M0 | PIN_INPUT_SLEW)}, /* mcasp3_fsx.mcasp3_fsx */ -+ {MCASP3_AXR0, (M0 | PIN_INPUT_SLEW)}, /* mcasp3_axr0.mcasp3_axr0 */ -+ {MCASP3_AXR1, (M0 | PIN_INPUT_SLEW)}, /* mcasp3_axr1.mcasp3_axr1 */ -+ {MCASP4_ACLKX, (M3 | PIN_INPUT_PULLUP)}, /* mcasp4_aclkx.uart8_rxd */ -+ {MCASP4_FSX, (M3 | PIN_OUTPUT)}, /* mcasp4_fsx.uart8_txd */ -+ {MCASP4_AXR0, (M3 | PIN_INPUT_PULLUP)}, /* mcasp4_axr0.uart8_ctsn */ -+ {MCASP4_AXR1, (M3 | PIN_OUTPUT_PULLUP)}, /* mcasp4_axr1.uart8_rtsn */ -+ {MCASP5_ACLKX, (M3 | PIN_INPUT_PULLUP)}, /* mcasp5_aclkx.uart9_rxd */ -+ {MCASP5_FSX, (M3 | PIN_OUTPUT)}, /* mcasp5_fsx.uart9_txd */ -+ {MCASP5_AXR0, (M3 | PIN_INPUT_PULLUP)}, /* mcasp5_axr0.uart9_ctsn */ -+ {MCASP5_AXR1, (M3 | PIN_OUTPUT_PULLUP)}, /* mcasp5_axr1.uart9_rtsn */ -+ -+ /* microSD Socket */ -+ {MMC1_CLK, (M0 | PIN_INPUT_PULLUP)}, /* W6: mmc1_clk.mmc1_clk */ -+ {MMC1_CMD, (M0 | PIN_INPUT_PULLUP)}, /* Y6: mmc1_cmd.mmc1_cmd */ -+ {MMC1_DAT0, (M0 | PIN_INPUT_PULLUP)}, /* AA6: mmc1_dat0.mmc1_dat0 */ -+ {MMC1_DAT1, (M0 | PIN_INPUT_PULLUP)}, /* Y4: mmc1_dat1.mmc1_dat1 */ -+ {MMC1_DAT2, (M0 | PIN_INPUT_PULLUP)}, /* AA5: mmc1_dat2.mmc1_dat2 */ -+ {MMC1_DAT3, (M0 | PIN_INPUT_PULLUP)}, /* Y3: mmc1_dat3.mmc1_dat3 */ -+ {MMC1_SDCD, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* W7: mmc1_sdcd.gpio6_27 */ -+ -+ {GPIO6_10, (M10 | PIN_OUTPUT_PULLDOWN)}, /* gpio6_10.ehrpwm2A */ -+ {GPIO6_11, (M0 | PIN_INPUT_PULLUP)}, /* gpio6_11.gpio6_11 */ -+ {MMC3_CLK, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_clk.mmc3_clk */ -+ {MMC3_CMD, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_cmd.mmc3_cmd */ -+ {MMC3_DAT0, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat0.mmc3_dat0 */ -+ {MMC3_DAT1, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat1.mmc3_dat1 */ -+ {MMC3_DAT2, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat2.mmc3_dat2 */ -+ {MMC3_DAT3, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat3.mmc3_dat3 */ -+ {MMC3_DAT4, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat4.mmc3_dat4 */ -+ {MMC3_DAT5, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat5.mmc3_dat5 */ -+ {MMC3_DAT6, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat6.mmc3_dat6 */ -+ {MMC3_DAT7, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat7.mmc3_dat7 */ -+ {SPI1_SCLK, (M14 | PIN_INPUT_PULLDOWN)}, /* spi1_sclk.gpio7_7 */ -+ {SPI1_D1, (M14 | PIN_INPUT_PULLDOWN)}, /* spi1_d1.gpio7_8 */ -+ {SPI1_D0, (M14 | PIN_INPUT_PULLDOWN)}, /* spi1_d0.gpio7_9 */ -+ {SPI1_CS0, (M14 | PIN_INPUT)}, /* spi1_cs0.gpio7_10 */ -+ {SPI1_CS1, (M14 | PIN_INPUT)}, /* spi1_cs1.gpio7_11 */ -+ {SPI1_CS2, (M14 | PIN_INPUT_SLEW)}, /* spi1_cs2.gpio7_12 */ -+ {SPI1_CS3, (M6 | PIN_INPUT | SLEWCONTROL)}, /* spi1_cs3.hdmi1_cec */ -+ {SPI2_SCLK, (M14 | PIN_INPUT_PULLDOWN)}, /* spi2_sclk.gpio7_14 */ -+ {SPI2_D1, (M14 | PIN_INPUT_SLEW)}, /* spi2_d1.gpio7_15 */ -+ {SPI2_D0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* spi2_d0.gpio7_16 */ -+ {SPI2_CS0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* spi2_cs0.gpio7_17 */ -+ {DCAN1_TX, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* dcan1_tx.dcan1_tx */ -+ {DCAN1_RX, (M0 | PIN_INPUT | SLEWCONTROL)}, /* dcan1_rx.dcan1_rx */ -+ -+ /* BeagleBone AI: Debug UART */ -+ {UART1_RXD, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* uart1_rxd.uart1_rxd */ -+ {UART1_TXD, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* uart1_txd.uart1_txd */ -+ -+ {UART1_CTSN, (M14 | PIN_INPUT_PULLDOWN)}, /* uart1_ctsn.gpio7_24 */ -+ {UART1_RTSN, (M14 | PIN_INPUT)}, /* uart1_rtsn.gpio7_25 */ -+ {UART2_RXD, (M14 | PIN_INPUT_PULLDOWN)}, /* uart2_rxd.gpio7_26 */ -+ {UART2_TXD, (M14 | PIN_INPUT_PULLDOWN)}, /* uart2_txd.gpio7_27 */ -+ {UART2_CTSN, (M2 | PIN_INPUT_PULLUP)}, /* uart2_ctsn.uart3_rxd */ -+ {UART2_RTSN, (M1 | PIN_OUTPUT)}, /* uart2_rtsn.uart3_txd */ -+ {I2C1_SDA, (M0 | PIN_INPUT_PULLUP)}, /* i2c1_sda.i2c1_sda */ -+ {I2C1_SCL, (M0 | PIN_INPUT_PULLUP)}, /* i2c1_scl.i2c1_scl */ -+ {I2C2_SDA, (M1 | PIN_INPUT_PULLUP)}, /* i2c2_sda.hdmi1_ddc_scl */ -+ {I2C2_SCL, (M1 | PIN_INPUT_PULLUP)}, /* i2c2_scl.hdmi1_ddc_sda */ -+ {WAKEUP0, (M0 | PIN_INPUT)}, /* Wakeup0.Wakeup0 */ -+ {WAKEUP1, (M0 | PIN_INPUT)}, /* Wakeup1.Wakeup1 */ -+ {WAKEUP2, (M0 | PIN_INPUT)}, /* Wakeup2.Wakeup2 */ -+ {WAKEUP3, (M0 | PIN_INPUT)}, /* Wakeup3.Wakeup3 */ -+ {ON_OFF, (M0 | PIN_OUTPUT)}, /* on_off.on_off */ -+ {RTC_PORZ, (M0 | PIN_INPUT)}, /* rtc_porz.rtc_porz */ -+ {TMS, (M0 | PIN_INPUT_PULLUP)}, /* tms.tms */ -+ {TDI, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* tdi.tdi */ -+ {TDO, (M0 | PIN_OUTPUT)}, /* tdo.tdo */ -+ {TCLK, (M0 | PIN_INPUT_PULLDOWN)}, /* tclk.tclk */ -+ {TRSTN, (M0 | PIN_INPUT)}, /* trstn.trstn */ -+ {RTCK, (M0 | PIN_OUTPUT)}, /* rtck.rtck */ -+ {EMU0, (M0 | PIN_INPUT)}, /* emu0.emu0 */ -+ {EMU1, (M0 | PIN_INPUT)}, /* emu1.emu1 */ -+ {NMIN_DSP, (M0 | PIN_INPUT)}, /* nmin_dsp.nmin_dsp */ -+ {RSTOUTN, (M0 | PIN_OUTPUT)}, /* rstoutn.rstoutn */ -+}; -+ - const struct pad_conf_entry core_padconf_array_delta_x15_sr1_1[] = { - {MMC1_SDWP, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mmc1_sdwp.gpio6_28 */ - {VOUT1_CLK, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* vout1_clk.vout1_clk */ -@@ -998,6 +1264,17 @@ const struct pad_conf_entry early_padconf[] = { - {UART2_RTSN, (M1 | PIN_INPUT_SLEW)}, /* uart2_rtsn.uart3_txd */ - {I2C1_SDA, (PIN_INPUT_PULLUP | M0)}, /* I2C1_SDA */ - {I2C1_SCL, (PIN_INPUT_PULLUP | M0)}, /* I2C1_SCL */ -+ -+ /* BeagleBone AI: Debug UART */ -+ {UART1_RXD, (M0 | PIN_INPUT_SLEW)}, /* UART1_RXD */ -+ {UART1_TXD, (M0 | PIN_INPUT_SLEW)}, /* UART1_TXD */ -+ -+ /* Cape Bus i2c */ -+ {GPMC_A0, (M7 | PIN_INPUT_PULLUP)}, /* R6_GPIO7_3: gpmc_a0.i2c4_scl (Shared with F4_UART10_RTSN) */ -+ {GPMC_A1, (M7 | PIN_INPUT_PULLUP)}, /* T9_GPIO7_4: gpmc_a1.i2c4_sda (Shared with D2_UART10_CTSN) */ -+ /* Cape Bus i2c (gpio shared) */ -+ {VIN2A_D4, (M14 | PIN_INPUT_PULLUP)}, /* D2_UART10_CTSN: vin2a_d4.uart10_ctsn (Shared with T9_GPIO7_4) */ -+ {VIN2A_D5, (M14 | PIN_INPUT_PULLUP)}, /* F4_UART10_RTSN: vin2a_d5.uart10_rtsn (Shared with R6_GPIO7_3) */ - }; - - #ifdef CONFIG_IODELAY_RECALIBRATION -@@ -1199,6 +1476,119 @@ const struct iodelay_cfg_entry iodelay_cfg_array_x15_sr2_0[] = { - {0x0CEC, 2739, 0}, /* CFG_VOUT1_VSYNC_OUT */ - }; - -+const struct iodelay_cfg_entry iodelay_cfg_array_bbai[] = { -+ {0x0114, 2519, 702}, /* CFG_GPMC_A0_IN */ -+ {0x0120, 2435, 411}, /* CFG_GPMC_A10_IN */ -+ {0x012C, 2379, 755}, /* CFG_GPMC_A11_IN */ -+ {0x0198, 2384, 778}, /* CFG_GPMC_A1_IN */ -+ {0x0204, 2499, 1127}, /* CFG_GPMC_A2_IN */ -+ {0x0210, 2455, 1181}, /* CFG_GPMC_A3_IN */ -+ {0x021C, 2486, 1039}, /* CFG_GPMC_A4_IN */ -+ {0x0228, 2456, 938}, /* CFG_GPMC_A5_IN */ -+ {0x0234, 2463, 573}, /* CFG_GPMC_A6_IN */ -+ {0x0240, 2608, 783}, /* CFG_GPMC_A7_IN */ -+ {0x024C, 2430, 656}, /* CFG_GPMC_A8_IN */ -+ {0x0258, 2465, 850}, /* CFG_GPMC_A9_IN */ -+ {0x0264, 2316, 301}, /* CFG_GPMC_AD0_IN */ -+ {0x0270, 2324, 406}, /* CFG_GPMC_AD10_IN */ -+ {0x027C, 2278, 352}, /* CFG_GPMC_AD11_IN */ -+ {0x0288, 2297, 160}, /* CFG_GPMC_AD12_IN */ -+ {0x0294, 2278, 108}, /* CFG_GPMC_AD13_IN */ -+ {0x02A0, 2035, 0}, /* CFG_GPMC_AD14_IN */ -+ {0x02AC, 2279, 378}, /* CFG_GPMC_AD15_IN */ -+ {0x02B8, 2440, 70}, /* CFG_GPMC_AD1_IN */ -+ {0x02C4, 2404, 446}, /* CFG_GPMC_AD2_IN */ -+ {0x02D0, 2343, 212}, /* CFG_GPMC_AD3_IN */ -+ {0x02DC, 2355, 322}, /* CFG_GPMC_AD4_IN */ -+ {0x02E8, 2337, 192}, /* CFG_GPMC_AD5_IN */ -+ {0x02F4, 2270, 314}, /* CFG_GPMC_AD6_IN */ -+ {0x0300, 2339, 259}, /* CFG_GPMC_AD7_IN */ -+ {0x030C, 2308, 577}, /* CFG_GPMC_AD8_IN */ -+ {0x0318, 2334, 166}, /* CFG_GPMC_AD9_IN */ -+ {0x0378, 0, 0}, /* CFG_GPMC_CS3_IN */ -+ {0x0678, 0, 386}, /* CFG_MMC3_CLK_IN */ -+ {0x0680, 605, 0}, /* CFG_MMC3_CLK_OUT */ -+ {0x0684, 0, 0}, /* CFG_MMC3_CMD_IN */ -+ {0x0688, 0, 0}, /* CFG_MMC3_CMD_OEN */ -+ {0x068C, 0, 0}, /* CFG_MMC3_CMD_OUT */ -+ {0x0690, 171, 0}, /* CFG_MMC3_DAT0_IN */ -+ {0x0694, 0, 0}, /* CFG_MMC3_DAT0_OEN */ -+ {0x0698, 0, 0}, /* CFG_MMC3_DAT0_OUT */ -+ {0x069C, 221, 0}, /* CFG_MMC3_DAT1_IN */ -+ {0x06A0, 0, 0}, /* CFG_MMC3_DAT1_OEN */ -+ {0x06A4, 0, 0}, /* CFG_MMC3_DAT1_OUT */ -+ {0x06A8, 0, 0}, /* CFG_MMC3_DAT2_IN */ -+ {0x06AC, 0, 0}, /* CFG_MMC3_DAT2_OEN */ -+ {0x06B0, 0, 0}, /* CFG_MMC3_DAT2_OUT */ -+ {0x06B4, 474, 0}, /* CFG_MMC3_DAT3_IN */ -+ {0x06B8, 0, 0}, /* CFG_MMC3_DAT3_OEN */ -+ {0x06BC, 0, 0}, /* CFG_MMC3_DAT3_OUT */ -+ {0x06C0, 792, 0}, /* CFG_MMC3_DAT4_IN */ -+ {0x06C4, 0, 0}, /* CFG_MMC3_DAT4_OEN */ -+ {0x06C8, 0, 0}, /* CFG_MMC3_DAT4_OUT */ -+ {0x06CC, 782, 0}, /* CFG_MMC3_DAT5_IN */ -+ {0x06D0, 0, 0}, /* CFG_MMC3_DAT5_OEN */ -+ {0x06D4, 0, 0}, /* CFG_MMC3_DAT5_OUT */ -+ {0x06D8, 942, 0}, /* CFG_MMC3_DAT6_IN */ -+ {0x06DC, 0, 0}, /* CFG_MMC3_DAT6_OEN */ -+ {0x06E0, 0, 0}, /* CFG_MMC3_DAT6_OUT */ -+ {0x06E4, 636, 0}, /* CFG_MMC3_DAT7_IN */ -+ {0x06E8, 0, 0}, /* CFG_MMC3_DAT7_OEN */ -+ {0x06EC, 0, 0}, /* CFG_MMC3_DAT7_OUT */ -+ {0x06F0, 260, 0}, /* CFG_RGMII0_RXC_IN */ -+ {0x06FC, 0, 1412}, /* CFG_RGMII0_RXCTL_IN */ -+ {0x0708, 123, 1047}, /* CFG_RGMII0_RXD0_IN */ -+ {0x0714, 139, 1081}, /* CFG_RGMII0_RXD1_IN */ -+ {0x0720, 195, 1100}, /* CFG_RGMII0_RXD2_IN */ -+ {0x072C, 239, 1216}, /* CFG_RGMII0_RXD3_IN */ -+ {0x0740, 89, 0}, /* CFG_RGMII0_TXC_OUT */ -+ {0x074C, 15, 125}, /* CFG_RGMII0_TXCTL_OUT */ -+ {0x0758, 339, 162}, /* CFG_RGMII0_TXD0_OUT */ -+ {0x0764, 146, 94}, /* CFG_RGMII0_TXD1_OUT */ -+ {0x0770, 0, 27}, /* CFG_RGMII0_TXD2_OUT */ -+ {0x077C, 291, 205}, /* CFG_RGMII0_TXD3_OUT */ -+ {0x0A70, 0, 0}, /* CFG_VIN2A_D12_OUT */ -+ {0x0A7C, 219, 101}, /* CFG_VIN2A_D13_OUT */ -+ {0x0A88, 92, 58}, /* CFG_VIN2A_D14_OUT */ -+ {0x0A94, 135, 100}, /* CFG_VIN2A_D15_OUT */ -+ {0x0AA0, 154, 101}, /* CFG_VIN2A_D16_OUT */ -+ {0x0AAC, 78, 27}, /* CFG_VIN2A_D17_OUT */ -+ {0x0AB0, 411, 0}, /* CFG_VIN2A_D18_IN */ -+ {0x0ABC, 0, 382}, /* CFG_VIN2A_D19_IN */ -+ {0x0AD4, 320, 750}, /* CFG_VIN2A_D20_IN */ -+ {0x0AE0, 192, 836}, /* CFG_VIN2A_D21_IN */ -+ {0x0AEC, 294, 669}, /* CFG_VIN2A_D22_IN */ -+ {0x0AF8, 50, 700}, /* CFG_VIN2A_D23_IN */ -+ {0x0B9C, 0, 706}, /* CFG_VOUT1_CLK_OUT */ -+ {0x0BA8, 2313, 0}, /* CFG_VOUT1_D0_OUT */ -+ {0x0BB4, 2199, 0}, /* CFG_VOUT1_D10_OUT */ -+ {0x0BC0, 2266, 0}, /* CFG_VOUT1_D11_OUT */ -+ {0x0BCC, 3159, 0}, /* CFG_VOUT1_D12_OUT */ -+ {0x0BD8, 2100, 0}, /* CFG_VOUT1_D13_OUT */ -+ {0x0BE4, 2229, 0}, /* CFG_VOUT1_D14_OUT */ -+ {0x0BF0, 2202, 0}, /* CFG_VOUT1_D15_OUT */ -+ {0x0BFC, 2084, 0}, /* CFG_VOUT1_D16_OUT */ -+ {0x0C08, 2195, 0}, /* CFG_VOUT1_D17_OUT */ -+ {0x0C14, 2342, 0}, /* CFG_VOUT1_D18_OUT */ -+ {0x0C20, 2463, 0}, /* CFG_VOUT1_D19_OUT */ -+ {0x0C2C, 2439, 0}, /* CFG_VOUT1_D1_OUT */ -+ {0x0C38, 2304, 0}, /* CFG_VOUT1_D20_OUT */ -+ {0x0C44, 2103, 0}, /* CFG_VOUT1_D21_OUT */ -+ {0x0C50, 2145, 0}, /* CFG_VOUT1_D22_OUT */ -+ {0x0C5C, 1932, 0}, /* CFG_VOUT1_D23_OUT */ -+ {0x0C68, 2200, 0}, /* CFG_VOUT1_D2_OUT */ -+ {0x0C74, 2355, 0}, /* CFG_VOUT1_D3_OUT */ -+ {0x0C80, 3215, 0}, /* CFG_VOUT1_D4_OUT */ -+ {0x0C8C, 2314, 0}, /* CFG_VOUT1_D5_OUT */ -+ {0x0C98, 2238, 0}, /* CFG_VOUT1_D6_OUT */ -+ {0x0CA4, 2381, 0}, /* CFG_VOUT1_D7_OUT */ -+ {0x0CB0, 2138, 0}, /* CFG_VOUT1_D8_OUT */ -+ {0x0CBC, 2383, 0}, /* CFG_VOUT1_D9_OUT */ -+ {0x0CC8, 1984, 0}, /* CFG_VOUT1_DE_OUT */ -+ {0x0CE0, 1947, 0}, /* CFG_VOUT1_HSYNC_OUT */ -+ {0x0CEC, 2739, 0}, /* CFG_VOUT1_VSYNC_OUT */ -+}; -+ - const struct iodelay_cfg_entry iodelay_cfg_array_am574x_idk[] = { - {0x0114, 2199, 621}, /* CFG_GPMC_A0_IN */ - {0x0120, 0, 0}, /* CFG_GPMC_A10_IN */ -diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig -index 3e2c166e0d..b1e2960a9f 100644 ---- a/configs/am57xx_evm_defconfig -+++ b/configs/am57xx_evm_defconfig -@@ -27,14 +27,20 @@ CONFIG_SPL_DMA_SUPPORT=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_SPI_LOAD=y - CONFIG_SPL_YMODEM_SUPPORT=y -+CONFIG_AUTOBOOT_KEYED=y -+CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" -+CONFIG_AUTOBOOT_DELAY_STR="d" -+CONFIG_AUTOBOOT_STOP_STR=" " - CONFIG_CMD_SPL=y - # CONFIG_CMD_FLASH is not set - # CONFIG_CMD_SETEXPR is not set - # CONFIG_CMD_PMIC is not set -+CONFIG_CMD_BTRFS=y - CONFIG_OF_CONTROL=y - CONFIG_SPL_OF_CONTROL=y --CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" --CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" -+CONFIG_DEFAULT_DEVICE_TREE="am5729-beagleboneai" -+CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk am574x-idk" -+# CONFIG_ENV_IS_IN_FAT is not set - CONFIG_ENV_IS_IN_MMC=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y - CONFIG_DM=y -diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h -index 70aa425060..fcc6ac7f8f 100644 ---- a/include/configs/am57xx_evm.h -+++ b/include/configs/am57xx_evm.h -@@ -24,7 +24,7 @@ - #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) - #define CONFIG_SYS_REDUNDAND_ENVIRONMENT - --#define CONSOLEDEV "ttyO2" -+//#define CONSOLEDEV "ttyO2" - #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */ - #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */ - #define CONFIG_SYS_NS16550_COM3 UART3_BASE /* UART3 */ -diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h -index 1e2a62dd6f..47f641165d 100644 ---- a/include/configs/ti_armv7_common.h -+++ b/include/configs/ti_armv7_common.h -@@ -80,6 +80,363 @@ - #define CONFIG_SYS_I2C - #endif - -+#define EEPROM_PROGRAMMING \ -+ "eeprom_dump=i2c dev 0; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ "eeprom_blank=i2c dev 0; " \ -+ "i2c mw 0x50 0x00.2 ff; " \ -+ "i2c mw 0x50 0x01.2 ff; " \ -+ "i2c mw 0x50 0x02.2 ff; " \ -+ "i2c mw 0x50 0x03.2 ff; " \ -+ "i2c mw 0x50 0x04.2 ff; " \ -+ "i2c mw 0x50 0x05.2 ff; " \ -+ "i2c mw 0x50 0x06.2 ff; " \ -+ "i2c mw 0x50 0x07.2 ff; " \ -+ "i2c mw 0x50 0x08.2 ff; " \ -+ "i2c mw 0x50 0x09.2 ff; " \ -+ "i2c mw 0x50 0x0a.2 ff; " \ -+ "i2c mw 0x50 0x0b.2 ff; " \ -+ "i2c mw 0x50 0x0c.2 ff; " \ -+ "i2c mw 0x50 0x0d.2 ff; " \ -+ "i2c mw 0x50 0x0e.2 ff; " \ -+ "i2c mw 0x50 0x0f.2 ff; " \ -+ "i2c mw 0x50 0x10.2 ff; " \ -+ "i2c mw 0x50 0x11.2 ff; " \ -+ "i2c mw 0x50 0x12.2 ff; " \ -+ "i2c mw 0x50 0x13.2 ff; " \ -+ "i2c mw 0x50 0x14.2 ff; " \ -+ "i2c mw 0x50 0x15.2 ff; " \ -+ "i2c mw 0x50 0x16.2 ff; " \ -+ "i2c mw 0x50 0x17.2 ff; " \ -+ "i2c mw 0x50 0x18.2 ff; " \ -+ "i2c mw 0x50 0x19.2 ff; " \ -+ "i2c mw 0x50 0x1a.2 ff; " \ -+ "i2c mw 0x50 0x1b.2 ff; " \ -+ "i2c mw 0x50 0x1c.2 ff; " \ -+ "i2c mw 0x50 0x1d.2 ff; " \ -+ "i2c mw 0x50 0x1e.2 ff; " \ -+ "i2c mw 0x50 0x1f.2 ff; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ "eeprom_x15_b1=i2c dev 0; " \ -+ "i2c mw 0x50 0x00.2 aa; " \ -+ "i2c mw 0x50 0x01.2 55; " \ -+ "i2c mw 0x50 0x02.2 33; " \ -+ "i2c mw 0x50 0x03.2 ee; " \ -+ "i2c mw 0x50 0x04.2 42; " \ -+ "i2c mw 0x50 0x05.2 42; " \ -+ "i2c mw 0x50 0x06.2 52; " \ -+ "i2c mw 0x50 0x07.2 44; " \ -+ "i2c mw 0x50 0x08.2 58; " \ -+ "i2c mw 0x50 0x09.2 31; " \ -+ "i2c mw 0x50 0x0a.2 35; " \ -+ "i2c mw 0x50 0x0b.2 5f; " \ -+ "i2c mw 0x50 0x0c.2 42; " \ -+ "i2c mw 0x50 0x0d.2 2e; " \ -+ "i2c mw 0x50 0x0e.2 31; " \ -+ "i2c mw 0x50 0x0f.2 30; " \ -+ "i2c mw 0x50 0x10.2 57; " \ -+ "i2c mw 0x50 0x11.2 57; " \ -+ "i2c mw 0x50 0x12.2 59; " \ -+ "i2c mw 0x50 0x13.2 59; " \ -+ "i2c mw 0x50 0x14.2 34; " \ -+ "i2c mw 0x50 0x15.2 50; " \ -+ "i2c mw 0x50 0x16.2 35; " \ -+ "i2c mw 0x50 0x17.2 35; " \ -+ "i2c mw 0x50 0x18.2 30; " \ -+ "i2c mw 0x50 0x19.2 30; " \ -+ "i2c mw 0x50 0x1a.2 30; " \ -+ "i2c mw 0x50 0x1b.2 30; " \ -+ "i2c mw 0x50 0x1c.2 ff; " \ -+ "i2c mw 0x50 0x1d.2 ff; " \ -+ "i2c mw 0x50 0x1e.2 ff; " \ -+ "i2c mw 0x50 0x1f.2 ff; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ "eeprom_x15_c=i2c dev 0; " \ -+ "i2c mw 0x50 0x00.2 aa; " \ -+ "i2c mw 0x50 0x01.2 55; " \ -+ "i2c mw 0x50 0x02.2 33; " \ -+ "i2c mw 0x50 0x03.2 ee; " \ -+ "i2c mw 0x50 0x04.2 42; " \ -+ "i2c mw 0x50 0x05.2 42; " \ -+ "i2c mw 0x50 0x06.2 52; " \ -+ "i2c mw 0x50 0x07.2 44; " \ -+ "i2c mw 0x50 0x08.2 58; " \ -+ "i2c mw 0x50 0x09.2 31; " \ -+ "i2c mw 0x50 0x0a.2 35; " \ -+ "i2c mw 0x50 0x0b.2 5f; " \ -+ "i2c mw 0x50 0x0c.2 43; " \ -+ "i2c mw 0x50 0x0d.2 2e; " \ -+ "i2c mw 0x50 0x0e.2 30; " \ -+ "i2c mw 0x50 0x0f.2 30; " \ -+ "i2c mw 0x50 0x10.2 79; " \ -+ "i2c mw 0x50 0x11.2 79; " \ -+ "i2c mw 0x50 0x12.2 77; " \ -+ "i2c mw 0x50 0x13.2 77; " \ -+ "i2c mw 0x50 0x14.2 50; " \ -+ "i2c mw 0x50 0x15.2 58; " \ -+ "i2c mw 0x50 0x16.2 31; " \ -+ "i2c mw 0x50 0x17.2 35; " \ -+ "i2c mw 0x50 0x18.2 6e; " \ -+ "i2c mw 0x50 0x19.2 6e; " \ -+ "i2c mw 0x50 0x1a.2 6e; " \ -+ "i2c mw 0x50 0x1b.2 6e; " \ -+ "i2c mw 0x50 0x1c.2 ff; " \ -+ "i2c mw 0x50 0x1d.2 ff; " \ -+ "i2c mw 0x50 0x1e.2 ff; " \ -+ "i2c mw 0x50 0x1f.2 ff; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ -+#define EEWIKI_MMC_BOOT \ -+ "mmc_boot=${devtype} dev ${mmcdev}; ${devtype} part; " \ -+ "if ${devtype} rescan; then " \ -+ "echo Scanning ${devtype} device ${mmcdev};" \ -+ "setenv bootpart ${mmcdev}:1; " \ -+ "echo Checking for: /uEnv.txt ...;" \ -+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /uEnv.txt;" \ -+ "echo Checking if uenvcmd is set ...;" \ -+ "if test -n ${uenvcmd}; then " \ -+ "echo Running uenvcmd ...;" \ -+ "run uenvcmd;" \ -+ "fi;" \ -+ "fi; " \ -+ "echo Checking for: /boot/uEnv.txt ...;" \ -+ "for i in 1 2 3 4 5 6 7 ; do " \ -+ "setenv mmcpart ${i};" \ -+ "setenv bootpart ${mmcdev}:${mmcpart};" \ -+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /boot/uEnv.txt;" \ -+ "if test -n ${dtb}; then " \ -+ "setenv fdtfile ${dtb};" \ -+ "echo debug: [dtb=${fdtfile}] ...;" \ -+ "fi;" \ -+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ -+ "if test -n ${uname_r}; then " \ -+ "echo debug: [uname_r=${uname_r}] ...;" \ -+ "setenv oldroot /dev/mmcblk${mmcdev}p${mmcpart};" \ -+ "run uname_boot;" \ -+ "fi;" \ -+ "fi;" \ -+ "done;" \ -+ "fi;\0" \ -+ -+#define EEWIKI_SCSI_BOOT \ -+ "scsi_boot=${devtype} reset ; " \ -+ "if ${devtype} dev ${mmcdev}; then " \ -+ "echo Scanning ${devtype} device ${mmcdev};" \ -+ "setenv bootpart ${mmcdev}:1; " \ -+ "echo Checking for: /uEnv.txt ...;" \ -+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /uEnv.txt;" \ -+ "echo Checking if uenvcmd is set ...;" \ -+ "if test -n ${uenvcmd}; then " \ -+ "echo Running uenvcmd ...;" \ -+ "run uenvcmd;" \ -+ "fi;" \ -+ "fi; " \ -+ "echo Checking for: /boot/uEnv.txt ...;" \ -+ "for i in 1 2 3 4 ; do " \ -+ "setenv mmcpart ${i};" \ -+ "setenv bootpart ${mmcdev}:${mmcpart};" \ -+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /boot/uEnv.txt;" \ -+ "if test -n ${dtb}; then " \ -+ "setenv fdtfile ${dtb};" \ -+ "echo debug: [dtb=${fdtfile}] ...;" \ -+ "fi;" \ -+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ -+ "if test -n ${uname_r}; then " \ -+ "echo debug: [uname_r=${uname_r}] ...;" \ -+ "setenv oldroot /dev/sda${mmcpart};" \ -+ "run uname_boot;" \ -+ "fi;" \ -+ "fi;" \ -+ "done;" \ -+ "fi;\0" \ -+ -+#define EEWIKI_USB_BOOT \ -+ "usb_boot=${devtype} reset ; " \ -+ "if ${devtype} dev ${mmcdev}; then " \ -+ "echo Scanning ${devtype} device ${mmcdev};" \ -+ "setenv bootpart ${mmcdev}:1; " \ -+ "echo Checking for: /uEnv.txt ...;" \ -+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /uEnv.txt;" \ -+ "echo Checking if uenvcmd is set in /uEnv.txt ...;" \ -+ "if test -n ${uenvcmd}; then " \ -+ "echo Running uenvcmd ...;" \ -+ "run uenvcmd;" \ -+ "fi;" \ -+ "fi; " \ -+ "echo Checking for: /boot/uEnv.txt ...;" \ -+ "for i in 1 2 3 4 ; do " \ -+ "setenv mmcpart ${i};" \ -+ "setenv bootpart ${mmcdev}:${mmcpart};" \ -+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /boot/uEnv.txt;" \ -+ "if test -n ${dtb}; then " \ -+ "setenv fdtfile ${dtb};" \ -+ "echo debug: [dtb=${fdtfile}] ...;" \ -+ "fi;" \ -+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ -+ "if test -n ${uname_r}; then " \ -+ "echo debug: [uname_r=${uname_r}] ...;" \ -+ "setenv oldroot /dev/sda${mmcpart};" \ -+ "run uname_boot;" \ -+ "fi;" \ -+ "fi;" \ -+ "done;" \ -+ "fi;\0" \ -+ -+#define EEWIKI_UNAME_BOOT \ -+ "uname_boot="\ -+ "setenv bootdir /boot; " \ -+ "setenv bootfile vmlinuz-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${bootdir}/${bootfile}; then " \ -+ "echo loading ${bootdir}/${bootfile} ...; "\ -+ "run loadimage;" \ -+ "setenv fdtdir /boot/dtbs/${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot/dtb-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot/dtbs; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot/dtb; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ -+ "run args_mmc;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr}] ... ;" \ -+ "bootz ${loadaddr}; " \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi; " \ -+ "if test -n ${enable_uboot_overlays}; then " \ -+ "setenv fdt_buffer 0x60000;" \ -+ "if test -n ${uboot_fdt_buffer}; then " \ -+ "setenv fdt_buffer ${uboot_fdt_buffer};" \ -+ "fi;" \ -+ "echo uboot_overlays: [fdt_buffer=${fdt_buffer}] ... ;" \ -+ "if test -n ${uboot_overlay_addr0}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr0}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr1}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr1}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr2}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr2}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr3}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr3}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr4}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr4}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr5}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr5}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr6}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr6}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr7}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr7}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_pru}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_pru}; " \ -+ "run virtualloadoverlay;" \ -+ "fi;" \ -+ "else " \ -+ "echo uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...;" \ -+ "fi;" \ -+ "setenv rdfile initrd.img-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${bootdir}/${rdfile}; then " \ -+ "echo loading ${bootdir}/${rdfile} ...; "\ -+ "run loadrd;" \ -+ "if test -n ${netinstall_enable}; then " \ -+ "run args_netinstall; run message;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "fi;" \ -+ "if test -n ${uenv_root}; then " \ -+ "run args_uenv_root;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "fi;" \ -+ "if test -n ${uuid}; then " \ -+ "run args_mmc_uuid;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "else " \ -+ "run args_mmc_old;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "fi;" \ -+ "else " \ -+ "if test -n ${uenv_root}; then " \ -+ "run args_uenv_root;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} - ${fdtaddr}; " \ -+ "fi;" \ -+ "run args_mmc_old;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} - ${fdtaddr}; " \ -+ "fi;" \ -+ "fi;\0" \ -+ - /* - * The following are general good-enough settings for U-Boot. We set a - * large malloc pool as we generally have a lot of DDR, and we opt for -diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h -index ba57c40182..93368cdc51 100644 ---- a/include/configs/ti_omap5_common.h -+++ b/include/configs/ti_omap5_common.h -@@ -63,6 +63,11 @@ - DEFAULT_FIT_TI_ARGS \ - DEFAULT_COMMON_BOOT_TI_ARGS \ - DEFAULT_FDT_TI_ARGS \ -+ EEWIKI_USB_BOOT \ -+ EEWIKI_SCSI_BOOT \ -+ EEWIKI_MMC_BOOT \ -+ EEWIKI_UNAME_BOOT \ -+ EEPROM_PROGRAMMING \ - DFUARGS \ - NETARGS \ - -diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h -index 05bdbbc23e..b0254b064a 100644 ---- a/include/environment/ti/boot.h -+++ b/include/environment/ti/boot.h -@@ -64,32 +64,18 @@ - "bootpart=0:2\0" \ - "bootdir=/boot\0" \ - "bootfile=zImage\0" \ -+ "board_eeprom_header=undefined\0" \ - "usbtty=cdc_acm\0" \ - "vram=16M\0" \ - AVB_VERIFY_CMD \ - "partitions=" PARTS_DEFAULT "\0" \ - "optargs=\0" \ - "dofastboot=0\0" \ -- "emmc_linux_boot=" \ -- "echo Trying to boot Linux from eMMC ...; " \ -- "setenv mmcdev 1; " \ -- "setenv bootpart 1:2; " \ -- "setenv mmcroot /dev/mmcblk0p2 rw; " \ -- "run mmcboot;\0" \ -- "emmc_android_boot=" \ -- "echo Trying to boot Android from eMMC ...; " \ -- "run update_to_fit; " \ -- "setenv eval_bootargs setenv bootargs $bootargs; " \ -- "run eval_bootargs; " \ -- "setenv mmcdev 1; " \ -- "setenv machid fe6; " \ -- "mmc dev $mmcdev; " \ -- "mmc rescan; " \ -- AVB_VERIFY_CHECK \ -- "part start mmc ${mmcdev} boot boot_start; " \ -- "part size mmc ${mmcdev} boot boot_size; " \ -- "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \ -- "bootm ${loadaddr}#${fdtfile};\0 " -+ "read_board_eeprom="\ -+ "if test $board_eeprom_header = beagle_x15_revb1_blank; then " \ -+ "run eeprom_dump; run eeprom_x15_b1; reset; fi; " \ -+ "if test $board_eeprom_header = beagle_x15_revc_blank; then " \ -+ "run eeprom_dump; run eeprom_x15_c; reset; fi; \0 " - - #ifdef CONFIG_OMAP54XX - -@@ -127,20 +113,17 @@ - "echo WARNING: Could not determine device tree to use; fi; \0" - - #define CONFIG_BOOTCOMMAND \ -- "if test ${dofastboot} -eq 1; then " \ -- "echo Boot fastboot requested, resetting dofastboot ...;" \ -- "setenv dofastboot 0; saveenv;" \ -- "echo Booting into fastboot ...; " \ -- "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \ -- "fi;" \ -- "if test ${boot_fit} -eq 1; then " \ -- "run update_to_fit;" \ -- "fi;" \ -+ "run read_board_eeprom; " \ - "run findfdt; " \ -- "run envboot; " \ -- "run mmcboot;" \ -- "run emmc_linux_boot; " \ -- "run emmc_android_boot; " \ -+ "setenv mmcdev 0; " \ -+ "setenv devtype usb; " \ -+ "echo usb_boot is currently disabled;" \ -+ "setenv devtype scsi; " \ -+ "echo scsi_boot is currently disabled;" \ -+ "setenv devtype mmc; " \ -+ "run mmc_boot;" \ -+ "setenv mmcdev 1; " \ -+ "run mmc_boot;" \ - "" - - #endif /* CONFIG_OMAP54XX */ -diff --git a/include/environment/ti/mmc.h b/include/environment/ti/mmc.h -index 785fc15345..6481682fc7 100644 ---- a/include/environment/ti/mmc.h -+++ b/include/environment/ti/mmc.h -@@ -11,11 +11,33 @@ - #define DEFAULT_MMC_TI_ARGS \ - "mmcdev=0\0" \ - "mmcrootfstype=ext4 rootwait\0" \ -- "finduuid=part uuid mmc ${bootpart} uuid\0" \ -+ "finduuid=part uuid ${devtype} ${bootpart} uuid\0" \ - "args_mmc=run finduuid;setenv bootargs console=${console} " \ - "${optargs} " \ -- "root=PARTUUID=${uuid} rw " \ -- "rootfstype=${mmcrootfstype}\0" \ -+ "root=PARTUUID=${uuid} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${cmdline}\0" \ -+ "args_mmc_old=setenv bootargs console=${console} " \ -+ "${optargs} " \ -+ "root=${oldroot} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${cmdline}\0" \ -+ "args_mmc_uuid=setenv bootargs console=${console} " \ -+ "${optargs} " \ -+ "root=UUID=${uuid} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${cmdline}\0" \ -+ "args_uenv_root=setenv bootargs console=${console} " \ -+ "${optargs} " \ -+ "root=${uenv_root} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${musb} ${cmdline}\0" \ -+ "args_netinstall=setenv bootargs ${netinstall_bootargs} " \ -+ "${optargs} " \ -+ "${cape_disable} " \ -+ "${cape_enable} " \ -+ "root=/dev/ram rw " \ -+ "${cmdline}\0" \ - "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ - "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ - "source ${loadaddr}\0" \ -@@ -24,7 +46,22 @@ - "env import -t ${loadaddr} ${filesize}\0" \ - "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}\0" \ - "loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ -- "loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ -+ "loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ -+ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ -+ "loadoverlay=echo uboot_overlays: loading ${uboot_overlay} ...; " \ -+ "load ${devtype} ${bootpart} ${rdaddr} ${uboot_overlay}; " \ -+ "fdt addr ${fdtaddr}; fdt resize ${fdt_buffer}; " \ -+ "fdt apply ${rdaddr}; fdt resize ${fdt_buffer};\0" \ -+ "virtualloadoverlay=if test -e ${devtype} ${bootpart} ${uboot_overlay}; then " \ -+ "run loadoverlay;" \ -+ "else " \ -+ "echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...;" \ -+ "fi;\0" \ -+ "capeloadoverlay=if test -e ${devtype} ${bootpart} ${uboot_overlay}; then " \ -+ "run loadoverlay;" \ -+ "else " \ -+ "echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...;" \ -+ "fi;\0" \ - "envboot=mmc dev ${mmcdev}; " \ - "if mmc rescan; then " \ - "echo SD/MMC found on device ${mmcdev};" \ --- -2.17.1 - diff --git a/board/beagleboneai/patches/uboot/0001-am57xx_evm-fixes.patch b/board/beagleboneai/patches/uboot/0001-am57xx_evm-fixes.patch new file mode 100644 index 00000000000..9c7b12be844 --- /dev/null +++ b/board/beagleboneai/patches/uboot/0001-am57xx_evm-fixes.patch @@ -0,0 +1,839 @@ +From 702ea30b462ba06f4fbee3393f0e6c19531f1e5f Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Fri, 25 Jun 2021 11:33:25 -0500 +Subject: [PATCH] am57xx_evm-fixes + +Signed-off-by: Robert Nelson +[Patch from https://github.com/beagleboard/u-boot/commit/702ea30b462ba06f4fbee3393f0e6c19531f1e5f] +Signed-off-by: Peter Korsgaard +--- + arch/arm/mach-omap2/omap5/hw_data.c | 1 + + board/ti/am57xx/board.c | 167 +++++++++++- + configs/am57xx_evm_defconfig | 15 +- + include/configs/ti_armv7_common.h | 407 ++++++++++++++++++++++++++++ + include/configs/ti_omap5_common.h | 5 + + include/environment/ti/boot.h | 32 ++- + include/environment/ti/mmc.h | 49 +++- + 7 files changed, 651 insertions(+), 25 deletions(-) + +diff --git a/arch/arm/mach-omap2/omap5/hw_data.c b/arch/arm/mach-omap2/omap5/hw_data.c +index fa4e27063c..d5192b1671 100644 +--- a/arch/arm/mach-omap2/omap5/hw_data.c ++++ b/arch/arm/mach-omap2/omap5/hw_data.c +@@ -421,6 +421,7 @@ void enable_basic_clocks(void) + (*prcm)->cm_l4per_uart1_clkctrl, + (*prcm)->cm_l4per_uart3_clkctrl, + (*prcm)->cm_l4per_i2c1_clkctrl, ++ (*prcm)->cm_l4per_i2c4_clkctrl, + #ifdef CONFIG_DRIVER_TI_CPSW + (*prcm)->cm_gmac_gmac_clkctrl, + #endif +diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c +index 73063faee6..ad05c41f22 100644 +--- a/board/ti/am57xx/board.c ++++ b/board/ti/am57xx/board.c +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + + #include "../common/board_detect.h" + #include "mux_data.h" +@@ -528,8 +529,10 @@ void do_board_detect(void) + + rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS, + CONFIG_EEPROM_CHIP_ADDRESS); +- if (rc) ++ if (rc) { + printf("ti_i2c_eeprom_init failed %d\n", rc); ++ ti_i2c_eeprom_am_set("BBONE-AI", "A"); ++ }; + + #ifdef CONFIG_SUPPORT_EMMC_BOOT + rc = board_bootmode_has_emmc(); +@@ -579,6 +582,164 @@ void do_board_detect(void) + "Board: %s REV %s\n", bname, board_ti_get_rev()); + } + ++struct am335x_cape_eeprom_id { ++ unsigned int header; ++ char eeprom_rev[2]; ++ char board_name[32]; ++ char version[4]; ++ char manufacture[16]; ++ char part_number[16]; ++ char number_of_pins[2]; ++ char serial_number[12]; ++ char pin_usage[140]; ++ char vdd_3v3exp[ 2]; ++ char vdd_5v[ 2]; ++ char sys_5v[2]; ++ char dc_supplied[2]; ++}; ++ ++#define CAPE_EEPROM_BUS_NUM 3 ++#define CAPE_EEPROM_ADDR0 0x54 ++#define CAPE_EEPROM_ADDR1 0x55 ++#define CAPE_EEPROM_ADDR2 0x56 ++#define CAPE_EEPROM_ADDR3 0x57 ++ ++#define CAPE_EEPROM_ADDR_LEN 0x10 ++ ++static int probe_cape_eeprom(struct am335x_cape_eeprom_id *cape_header) ++{ ++ int ret; ++ struct udevice *dev; ++ unsigned char addr; ++ /* /lib/firmware/BB-CAPE-DISP-CT4-00A0.dtbo */ ++ /* 14 + 16 + 1 + 4 + 5 = 40 */ ++ char hash_cape_overlay[40]; ++ char cape_overlay[26]; ++ char process_cape_part_number[16]; ++ char process_cape_version[4]; ++ char end_part_number; ++ char cape_overlay_pass_to_kernel[18]; ++ ++ strlcpy(cape_overlay_pass_to_kernel, "", 1); ++ ++ for ( addr = CAPE_EEPROM_ADDR0; addr <= CAPE_EEPROM_ADDR3; addr++ ) { ++ ret = i2c_get_chip_for_busnum(CAPE_EEPROM_BUS_NUM, addr, 1, &dev); ++ if (ret) { ++ printf("BeagleBone Cape EEPROM: no EEPROM at address: 0x%x\n", addr); ++ } else { ++ printf("BeagleBone Cape EEPROM: found EEPROM at address: 0x%x\n", addr); ++ ++ ret = i2c_set_chip_offset_len(dev, 2); ++ if (ret) { ++ printf("BeagleBone Cape EEPROM: i2c_set_chip_offset_len failure\n"); ++ } ++ ++ ret = dm_i2c_read(dev, 0, (uchar *)cape_header, sizeof(struct am335x_cape_eeprom_id)); ++ if (ret) { ++ printf("BeagleBone Cape EEPROM: Cannot read eeprom params\n"); ++ } ++ ++ if (cape_header->header == 0xEE3355AA) { ++ strlcpy(hash_cape_overlay, "/lib/firmware/", 14 + 1); ++ strlcpy(cape_overlay, "", 2); ++ strlcpy(cape_overlay_pass_to_kernel, "", 2); ++ strlcpy(process_cape_part_number, "...............", 16 + 1); ++ strlcpy(process_cape_version, "...", 4 + 1); ++ ++ strlcpy(process_cape_part_number, cape_header->part_number, 16 + 1); ++ printf("BeagleBone Cape EEPROM: debug part_number field:[%s]\n", process_cape_part_number); ++ ++ //FIXME: some capes end with '.' ++ if ( process_cape_part_number[15] == 0x2E ) { ++ puts("debug: fixup, extra . in eeprom field\n"); ++ process_cape_part_number[15] = 0x00; ++ if ( process_cape_part_number[14] == 0x2E ) { ++ process_cape_part_number[14] = 0x00; ++ } ++ } ++ ++ //Find ending 0x00 or 0xFF ++ puts("BeagleBone Cape EEPROM: debug part_number field HEX:["); ++ end_part_number=16; ++ for ( int i=0; i <= 16; i++ ) { ++ if (( process_cape_part_number[i] == 0x00 ) || ( process_cape_part_number[i] == 0xFF )) { ++ end_part_number=i; ++ i=17; ++ } else { ++ printf("%x", process_cape_part_number[i]); ++ } ++ } ++ puts("]\n"); ++ ++ strncat(cape_overlay_pass_to_kernel, process_cape_part_number, end_part_number); ++ strncat(cape_overlay_pass_to_kernel, ",", 1); ++ //printf("debug: %s\n", cape_overlay_pass_to_kernel); ++ ++ strncat(hash_cape_overlay, process_cape_part_number, end_part_number); ++ strncat(cape_overlay, process_cape_part_number, end_part_number); ++ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay); ++ ++ strncat(hash_cape_overlay, "-", 1); ++ strncat(cape_overlay, "-", 1); ++ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay); ++ ++ strlcpy(process_cape_version, cape_header->version, 4 + 1); ++ //printf("debug: version field:[%s]\n", process_cape_version); ++ ++ //Find invalid 0xFF -> 0x30 BBAI FAN Cape... ++ puts("BeagleBone Cape EEPROM: debug version field HEX:["); ++ for ( int i=0; i <= 3; i++ ) { ++ printf("%x", process_cape_version[i]); ++ if ( process_cape_version[i] == 0xFF ) { ++ process_cape_version[i] = 0x30; ++ } ++ } ++ puts("]\n"); ++ ++ strncat(hash_cape_overlay, process_cape_version, 4); ++ strncat(cape_overlay, process_cape_version, 4); ++ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay); ++ ++ strncat(hash_cape_overlay, ".dtbo", 5); ++ strncat(cape_overlay, ".dtbo", 5); ++ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay); ++ ++ printf("BeagleBone Cape EEPROM: 0x%x %s\n", addr, cape_overlay); ++ ++ switch(addr) { ++ case CAPE_EEPROM_ADDR0: ++ env_set("uboot_overlay_addr0", cape_overlay); ++ env_set("uboot_detected_capes_addr0", cape_overlay_pass_to_kernel); ++ break; ++ case CAPE_EEPROM_ADDR1: ++ env_set("uboot_overlay_addr1", cape_overlay); ++ env_set("uboot_detected_capes_addr1", cape_overlay_pass_to_kernel); ++ break; ++ case CAPE_EEPROM_ADDR2: ++ env_set("uboot_overlay_addr2", cape_overlay); ++ env_set("uboot_detected_capes_addr2", cape_overlay_pass_to_kernel); ++ break; ++ case CAPE_EEPROM_ADDR3: ++ env_set("uboot_overlay_addr3", cape_overlay); ++ env_set("uboot_detected_capes_addr3", cape_overlay_pass_to_kernel); ++ break; ++ } ++ env_set("uboot_detected_capes", "1"); ++ } else { ++ printf("BeagleBone Cape EEPROM: EEPROM contents not valid (or blank) on address: 0x%x\n", addr); ++ } ++ } ++ } ++ return 0; ++} ++ ++void do_cape_detect(void) ++{ ++ struct am335x_cape_eeprom_id cape_header; ++ ++ probe_cape_eeprom(&cape_header); ++} ++ + static void setup_board_eeprom_env(void) + { + char *name = "beagle_x15"; +@@ -782,8 +943,10 @@ int board_late_init(void) + /* Just probe the potentially supported cdce913 device */ + uclass_get_device(UCLASS_CLK, 0, &dev); + +- if (board_is_bbai()) ++ if (board_is_bbai()) { + env_set("console", "ttyS0,115200n8"); ++ do_cape_detect(); ++ } + + #if !defined(CONFIG_SPL_BUILD) + board_ti_set_ethaddr(2); +diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig +index 4da4aaa1c7..ed5b8aec16 100644 +--- a/configs/am57xx_evm_defconfig ++++ b/configs/am57xx_evm_defconfig +@@ -10,16 +10,20 @@ CONFIG_SPL_TEXT_BASE=0x40300000 + CONFIG_OMAP54XX=y + CONFIG_TARGET_AM57XX_EVM=y + CONFIG_SPL=y +-CONFIG_ENV_OFFSET_REDUND=0x280000 + CONFIG_SPL_SPI_FLASH_SUPPORT=y + CONFIG_SPL_SPI_SUPPORT=y + CONFIG_ARMV7_LPAE=y +-CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" ++CONFIG_DEFAULT_DEVICE_TREE="am57xx-beagle-x15-revc" + CONFIG_AHCI=y + CONFIG_DISTRO_DEFAULTS=y + CONFIG_SPL_LOAD_FIT=y + # CONFIG_USE_SPL_FIT_GENERATOR is not set + CONFIG_OF_BOARD_SETUP=y ++CONFIG_BOOTDELAY=1 ++CONFIG_AUTOBOOT_KEYED=y ++CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" ++CONFIG_AUTOBOOT_DELAY_STR="d" ++CONFIG_AUTOBOOT_STOP_STR=" " + CONFIG_USE_BOOTARGS=y + CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board" + # CONFIG_USE_BOOTCOMMAND is not set +@@ -48,13 +52,12 @@ CONFIG_BOOTP_DNS2=y + CONFIG_CMD_AVB=y + CONFIG_OF_CONTROL=y + CONFIG_SPL_OF_CONTROL=y +-CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk am574x-idk" ++CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai" + CONFIG_ENV_OVERWRITE=y +-CONFIG_ENV_IS_IN_MMC=y +-CONFIG_SYS_REDUNDAND_ENVIRONMENT=y ++# CONFIG_ENV_IS_IN_FAT is not set + CONFIG_SYS_RELOC_GD_ENV_ADDR=y +-CONFIG_SYS_MMC_ENV_DEV=1 + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y ++# CONFIG_SPL_ENV_IS_NOWHERE is not set + CONFIG_VERSION_VARIABLE=y + CONFIG_BOOTP_SEND_HOSTNAME=y + CONFIG_DM=y +diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h +index f13e9e5264..eabd03e27d 100644 +--- a/include/configs/ti_armv7_common.h ++++ b/include/configs/ti_armv7_common.h +@@ -92,6 +92,413 @@ + #define CONFIG_SYS_I2C + #endif + ++#define EEPROM_PROGRAMMING \ ++ "eeprom_dump=i2c dev 0; " \ ++ "i2c md 0x50 0x00.2 20; " \ ++ "\0" \ ++ "eeprom_blank=i2c dev 0; " \ ++ "i2c mw 0x50 0x00.2 ff; " \ ++ "i2c mw 0x50 0x01.2 ff; " \ ++ "i2c mw 0x50 0x02.2 ff; " \ ++ "i2c mw 0x50 0x03.2 ff; " \ ++ "i2c mw 0x50 0x04.2 ff; " \ ++ "i2c mw 0x50 0x05.2 ff; " \ ++ "i2c mw 0x50 0x06.2 ff; " \ ++ "i2c mw 0x50 0x07.2 ff; " \ ++ "i2c mw 0x50 0x08.2 ff; " \ ++ "i2c mw 0x50 0x09.2 ff; " \ ++ "i2c mw 0x50 0x0a.2 ff; " \ ++ "i2c mw 0x50 0x0b.2 ff; " \ ++ "i2c mw 0x50 0x0c.2 ff; " \ ++ "i2c mw 0x50 0x0d.2 ff; " \ ++ "i2c mw 0x50 0x0e.2 ff; " \ ++ "i2c mw 0x50 0x0f.2 ff; " \ ++ "i2c mw 0x50 0x10.2 ff; " \ ++ "i2c mw 0x50 0x11.2 ff; " \ ++ "i2c mw 0x50 0x12.2 ff; " \ ++ "i2c mw 0x50 0x13.2 ff; " \ ++ "i2c mw 0x50 0x14.2 ff; " \ ++ "i2c mw 0x50 0x15.2 ff; " \ ++ "i2c mw 0x50 0x16.2 ff; " \ ++ "i2c mw 0x50 0x17.2 ff; " \ ++ "i2c mw 0x50 0x18.2 ff; " \ ++ "i2c mw 0x50 0x19.2 ff; " \ ++ "i2c mw 0x50 0x1a.2 ff; " \ ++ "i2c mw 0x50 0x1b.2 ff; " \ ++ "i2c mw 0x50 0x1c.2 ff; " \ ++ "i2c mw 0x50 0x1d.2 ff; " \ ++ "i2c mw 0x50 0x1e.2 ff; " \ ++ "i2c mw 0x50 0x1f.2 ff; " \ ++ "i2c md 0x50 0x00.2 20; " \ ++ "\0" \ ++ "eeprom_x15_b1=i2c dev 0; " \ ++ "i2c mw 0x50 0x00.2 aa; " \ ++ "i2c mw 0x50 0x01.2 55; " \ ++ "i2c mw 0x50 0x02.2 33; " \ ++ "i2c mw 0x50 0x03.2 ee; " \ ++ "i2c mw 0x50 0x04.2 42; " \ ++ "i2c mw 0x50 0x05.2 42; " \ ++ "i2c mw 0x50 0x06.2 52; " \ ++ "i2c mw 0x50 0x07.2 44; " \ ++ "i2c mw 0x50 0x08.2 58; " \ ++ "i2c mw 0x50 0x09.2 31; " \ ++ "i2c mw 0x50 0x0a.2 35; " \ ++ "i2c mw 0x50 0x0b.2 5f; " \ ++ "i2c mw 0x50 0x0c.2 42; " \ ++ "i2c mw 0x50 0x0d.2 2e; " \ ++ "i2c mw 0x50 0x0e.2 31; " \ ++ "i2c mw 0x50 0x0f.2 30; " \ ++ "i2c mw 0x50 0x10.2 57; " \ ++ "i2c mw 0x50 0x11.2 57; " \ ++ "i2c mw 0x50 0x12.2 59; " \ ++ "i2c mw 0x50 0x13.2 59; " \ ++ "i2c mw 0x50 0x14.2 34; " \ ++ "i2c mw 0x50 0x15.2 50; " \ ++ "i2c mw 0x50 0x16.2 35; " \ ++ "i2c mw 0x50 0x17.2 35; " \ ++ "i2c mw 0x50 0x18.2 30; " \ ++ "i2c mw 0x50 0x19.2 30; " \ ++ "i2c mw 0x50 0x1a.2 30; " \ ++ "i2c mw 0x50 0x1b.2 30; " \ ++ "i2c mw 0x50 0x1c.2 ff; " \ ++ "i2c mw 0x50 0x1d.2 ff; " \ ++ "i2c mw 0x50 0x1e.2 ff; " \ ++ "i2c mw 0x50 0x1f.2 ff; " \ ++ "i2c md 0x50 0x00.2 20; " \ ++ "\0" \ ++ "eeprom_x15_c=i2c dev 0; " \ ++ "i2c mw 0x50 0x00.2 aa; " \ ++ "i2c mw 0x50 0x01.2 55; " \ ++ "i2c mw 0x50 0x02.2 33; " \ ++ "i2c mw 0x50 0x03.2 ee; " \ ++ "i2c mw 0x50 0x04.2 42; " \ ++ "i2c mw 0x50 0x05.2 42; " \ ++ "i2c mw 0x50 0x06.2 52; " \ ++ "i2c mw 0x50 0x07.2 44; " \ ++ "i2c mw 0x50 0x08.2 58; " \ ++ "i2c mw 0x50 0x09.2 31; " \ ++ "i2c mw 0x50 0x0a.2 35; " \ ++ "i2c mw 0x50 0x0b.2 5f; " \ ++ "i2c mw 0x50 0x0c.2 43; " \ ++ "i2c mw 0x50 0x0d.2 2e; " \ ++ "i2c mw 0x50 0x0e.2 30; " \ ++ "i2c mw 0x50 0x0f.2 30; " \ ++ "i2c mw 0x50 0x10.2 79; " \ ++ "i2c mw 0x50 0x11.2 79; " \ ++ "i2c mw 0x50 0x12.2 77; " \ ++ "i2c mw 0x50 0x13.2 77; " \ ++ "i2c mw 0x50 0x14.2 50; " \ ++ "i2c mw 0x50 0x15.2 58; " \ ++ "i2c mw 0x50 0x16.2 31; " \ ++ "i2c mw 0x50 0x17.2 35; " \ ++ "i2c mw 0x50 0x18.2 6e; " \ ++ "i2c mw 0x50 0x19.2 6e; " \ ++ "i2c mw 0x50 0x1a.2 6e; " \ ++ "i2c mw 0x50 0x1b.2 6e; " \ ++ "i2c mw 0x50 0x1c.2 ff; " \ ++ "i2c mw 0x50 0x1d.2 ff; " \ ++ "i2c mw 0x50 0x1e.2 ff; " \ ++ "i2c mw 0x50 0x1f.2 ff; " \ ++ "i2c md 0x50 0x00.2 20; " \ ++ "eeprom_bbai_a2=i2c dev 0; " \ ++ "i2c mw 0x50 0x00.2 aa; " \ ++ "i2c mw 0x50 0x01.2 55; " \ ++ "i2c mw 0x50 0x02.2 33; " \ ++ "i2c mw 0x50 0x03.2 ee; " \ ++ "i2c mw 0x50 0x04.2 42; " \ ++ "i2c mw 0x50 0x05.2 42; " \ ++ "i2c mw 0x50 0x06.2 4F; " \ ++ "i2c mw 0x50 0x07.2 4E; " \ ++ "i2c mw 0x50 0x08.2 45; " \ ++ "i2c mw 0x50 0x09.2 2D; " \ ++ "i2c mw 0x50 0x0a.2 41; " \ ++ "i2c mw 0x50 0x0b.2 49; " \ ++ "i2c mw 0x50 0x0c.2 30; " \ ++ "i2c mw 0x50 0x0d.2 30; " \ ++ "i2c mw 0x50 0x0e.2 41; " \ ++ "i2c mw 0x50 0x0f.2 32; " \ ++ "i2c mw 0x50 0x10.2 57; " \ ++ "i2c mw 0x50 0x11.2 57; " \ ++ "i2c mw 0x50 0x12.2 59; " \ ++ "i2c mw 0x50 0x13.2 59; " \ ++ "i2c mw 0x50 0x14.2 53; " \ ++ "i2c mw 0x50 0x15.2 42; " \ ++ "i2c mw 0x50 0x16.2 41; " \ ++ "i2c mw 0x50 0x17.2 49; " \ ++ "i2c mw 0x50 0x18.2 30; " \ ++ "i2c mw 0x50 0x19.2 30; " \ ++ "i2c mw 0x50 0x1a.2 30; " \ ++ "i2c mw 0x50 0x1b.2 30; " \ ++ "i2c mw 0x50 0x1c.2 30; " \ ++ "i2c mw 0x50 0x1d.2 30; " \ ++ "i2c mw 0x50 0x1e.2 ff; " \ ++ "i2c mw 0x50 0x1f.2 ff; " \ ++ "i2c md 0x50 0x00.2 20; " \ ++ "\0" \ ++ ++#define EEWIKI_MMC_BOOT \ ++ "mmc_boot=${devtype} dev ${mmcdev}; ${devtype} part; " \ ++ "if ${devtype} rescan; then " \ ++ "echo Scanning ${devtype} device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo debug: [dtb=${fdtfile}] ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo debug: [uname_r=${uname_r}] ...;" \ ++ "setenv oldroot /dev/mmcblk${mmcdev}p${mmcpart};" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ ++#define EEWIKI_SCSI_BOOT \ ++ "scsi_boot=${devtype} reset ; " \ ++ "if ${devtype} dev ${mmcdev}; then " \ ++ "echo Scanning ${devtype} device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo debug: [dtb=${fdtfile}] ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo debug: [uname_r=${uname_r}] ...;" \ ++ "setenv oldroot /dev/sda${mmcpart};" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ ++#define EEWIKI_USB_BOOT \ ++ "usb_boot=${devtype} reset ; " \ ++ "if ${devtype} dev ${mmcdev}; then " \ ++ "echo Scanning ${devtype} device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set in /uEnv.txt ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo debug: [dtb=${fdtfile}] ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo debug: [uname_r=${uname_r}] ...;" \ ++ "setenv oldroot /dev/sda${mmcpart};" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ ++#define EEWIKI_UNAME_BOOT \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e ${devtype} ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ ++ "run args_mmc;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr}] ... ;" \ ++ "bootz ${loadaddr}; " \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "if test -n ${enable_uboot_overlays}; then " \ ++ "setenv fdt_buffer 0x60000;" \ ++ "if test -n ${uboot_fdt_buffer}; then " \ ++ "setenv fdt_buffer ${uboot_fdt_buffer};" \ ++ "fi;" \ ++ "echo uboot_overlays: [fdt_buffer=${fdt_buffer}] ... ;" \ ++ "if test -n ${uboot_overlay_addr0}; then " \ ++ "if test -n ${disable_uboot_overlay_addr0}; then " \ ++ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr0}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr0=1]...;" \ ++ "else " \ ++ "setenv uboot_overlay ${uboot_overlay_addr0}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_addr1}; then " \ ++ "if test -n ${disable_uboot_overlay_addr1}; then " \ ++ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr1}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr1=1]...;" \ ++ "else " \ ++ "setenv uboot_overlay ${uboot_overlay_addr1}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_addr2}; then " \ ++ "if test -n ${disable_uboot_overlay_addr2}; then " \ ++ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr2}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr2=1]...;" \ ++ "else " \ ++ "setenv uboot_overlay ${uboot_overlay_addr2}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_addr3}; then " \ ++ "if test -n ${disable_uboot_overlay_addr3}; then " \ ++ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr3}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr3=1]...;" \ ++ "else " \ ++ "setenv uboot_overlay ${uboot_overlay_addr3}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_addr4}; then " \ ++ "setenv uboot_overlay ${uboot_overlay_addr4}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_addr5}; then " \ ++ "setenv uboot_overlay ${uboot_overlay_addr5}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_addr6}; then " \ ++ "setenv uboot_overlay ${uboot_overlay_addr6}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_addr7}; then " \ ++ "setenv uboot_overlay ${uboot_overlay_addr7}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "if test -n ${uboot_overlay_pru}; then " \ ++ "setenv uboot_overlay ${uboot_overlay_pru}; " \ ++ "run virtualloadoverlay;" \ ++ "fi;" \ ++ "else " \ ++ "echo uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...;" \ ++ "fi;" \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e ${devtype} ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${netinstall_enable}; then " \ ++ "run args_netinstall; run message;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "fi;" \ ++ "if test -n ${uenv_root}; then " \ ++ "run args_uenv_root;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "fi;" \ ++ "if test -n ${uuid}; then " \ ++ "run args_mmc_uuid;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "else " \ ++ "run args_mmc_old;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "fi;" \ ++ "else " \ ++ "if test -n ${uenv_root}; then " \ ++ "run args_uenv_root;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdtaddr}; " \ ++ "fi;" \ ++ "run args_mmc_old;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdtaddr}; " \ ++ "fi;" \ ++ "fi;\0" \ ++ + /* + * The following are general good-enough settings for U-Boot. We set a + * large malloc pool as we generally have a lot of DDR, and we opt for +diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h +index de0a6af2fd..0cd2ccea03 100644 +--- a/include/configs/ti_omap5_common.h ++++ b/include/configs/ti_omap5_common.h +@@ -64,6 +64,11 @@ + DEFAULT_FIT_TI_ARGS \ + DEFAULT_COMMON_BOOT_TI_ARGS \ + DEFAULT_FDT_TI_ARGS \ ++ EEWIKI_USB_BOOT \ ++ EEWIKI_SCSI_BOOT \ ++ EEWIKI_MMC_BOOT \ ++ EEWIKI_UNAME_BOOT \ ++ EEPROM_PROGRAMMING \ + DFUARGS \ + NETARGS \ + NANDARGS \ +diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h +index a9d8f28d46..1480b6e3df 100644 +--- a/include/environment/ti/boot.h ++++ b/include/environment/ti/boot.h +@@ -132,6 +132,7 @@ + "bootpart=0:2\0" \ + "bootdir=/boot\0" \ + "bootfile=zImage\0" \ ++ "board_eeprom_header=undefined\0" \ + "usbtty=cdc_acm\0" \ + "vram=16M\0" \ + AVB_VERIFY_CMD \ +@@ -183,7 +184,14 @@ + "else " \ + "echo $apart partition not found; " \ + "exit; " \ +- "fi;\0" ++ "fi;\0 " \ ++ "read_board_eeprom=" \ ++ "if test $board_eeprom_header = beagle_x15_revb1_blank; then " \ ++ "run eeprom_dump; run eeprom_x15_b1; reset; fi; " \ ++ "if test $board_eeprom_header = beagle_x15_revc_blank; then " \ ++ "run eeprom_dump; run eeprom_x15_c; reset; fi; " \ ++ "if test $board_eeprom_header = bbai_a2_blank; then " \ ++ "run eeprom_dump; run eeprom_bbai_a2; reset; fi; \0 " + + #ifdef CONFIG_OMAP54XX + +@@ -223,19 +231,17 @@ + "echo WARNING: Could not determine device tree to use; fi; \0" + + #define CONFIG_BOOTCOMMAND \ +- "if test ${dofastboot} -eq 1; then " \ +- "echo Boot fastboot requested, resetting dofastboot ...;" \ +- "setenv dofastboot 0; saveenv;" \ +- FASTBOOT_CMD \ +- "fi;" \ +- "if test ${boot_fit} -eq 1; then " \ +- "run update_to_fit;" \ +- "fi;" \ ++ "run read_board_eeprom; " \ + "run findfdt; " \ +- "run envboot; " \ +- "run mmcboot;" \ +- "run emmc_linux_boot; " \ +- "run emmc_android_boot; " \ ++ "setenv mmcdev 0; " \ ++ "setenv devtype usb; " \ ++ "echo usb_boot is currently disabled;" \ ++ "setenv devtype scsi; " \ ++ "echo scsi_boot is currently disabled;" \ ++ "setenv devtype mmc; " \ ++ "run mmc_boot;" \ ++ "setenv mmcdev 1; " \ ++ "run mmc_boot;" \ + "" + + #endif /* CONFIG_OMAP54XX */ +diff --git a/include/environment/ti/mmc.h b/include/environment/ti/mmc.h +index b86c8dc7a4..0ec09f279a 100644 +--- a/include/environment/ti/mmc.h ++++ b/include/environment/ti/mmc.h +@@ -11,11 +11,31 @@ + #define DEFAULT_MMC_TI_ARGS \ + "mmcdev=0\0" \ + "mmcrootfstype=ext4 rootwait\0" \ +- "finduuid=part uuid mmc ${bootpart} uuid\0" \ ++ "finduuid=part uuid ${devtype} ${bootpart} uuid\0" \ + "args_mmc=run finduuid;setenv bootargs console=${console} " \ + "${optargs} " \ +- "root=PARTUUID=${uuid} rw " \ +- "rootfstype=${mmcrootfstype}\0" \ ++ "root=PARTUUID=${uuid} ro " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ ++ "args_mmc_old=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${oldroot} ro " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ ++ "args_mmc_uuid=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=UUID=${uuid} ro " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ ++ "args_uenv_root=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${uenv_root} ro " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${musb} ${cmdline}\0" \ ++ "args_netinstall=setenv bootargs ${netinstall_bootargs} " \ ++ "${optargs} " \ ++ "root=/dev/ram rw " \ ++ "${cmdline}\0" \ + "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ + "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ + "source ${loadaddr}\0" \ +@@ -24,7 +44,28 @@ + "env import -t ${loadaddr} ${filesize}\0" \ + "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}\0" \ + "loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ +- "loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ ++ "loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ ++ "loadoverlay=echo uboot_overlays: loading ${actual_uboot_overlay} ...; " \ ++ "load ${devtype} ${bootpart} ${rdaddr} ${actual_uboot_overlay}; " \ ++ "fdt addr ${fdtaddr}; fdt resize ${fdt_buffer}; " \ ++ "fdt apply ${rdaddr}; fdt resize ${fdt_buffer};\0" \ ++ "virtualloadoverlay=if test -e ${devtype} ${bootpart} ${fdtdir}/overlays/${uboot_overlay}; then " \ ++ "setenv actual_uboot_overlay ${fdtdir}/overlays/${uboot_overlay}; " \ ++ "run loadoverlay;" \ ++ "else " \ ++ "if test -e ${devtype} ${bootpart} /lib/firmware/${uboot_overlay}; then " \ ++ "setenv actual_uboot_overlay /lib/firmware/${uboot_overlay}; " \ ++ "run loadoverlay;" \ ++ "else " \ ++ "if test -e ${devtype} ${bootpart} ${uboot_overlay}; then " \ ++ "setenv actual_uboot_overlay ${uboot_overlay}; " \ ++ "run loadoverlay;" \ ++ "else " \ ++ "echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;\0" \ + "envboot=mmc dev ${mmcdev}; " \ + "if mmc rescan; then " \ + "echo SD/MMC found on device ${mmcdev};" \ +-- +2.20.1 + diff --git a/board/beaglev/extlinux.conf b/board/beaglev/extlinux.conf new file mode 100644 index 00000000000..9daf6a75814 --- /dev/null +++ b/board/beaglev/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + devicetree /boot/jh7100-beaglev-starlight.dtb + append console=ttyS0,115200 earlyprintk root=PARTUUID=0fef845a-c6e1-45bc-82f7-002fa720f958 rootwait diff --git a/board/beaglev/genimage.cfg b/board/beaglev/genimage.cfg new file mode 100644 index 00000000000..deefdbc1103 --- /dev/null +++ b/board/beaglev/genimage.cfg @@ -0,0 +1,12 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition rootfs { + partition-type-uuid = 72ec70a6-cf74-40e6-bd49-4bda08e8f224 + partition-uuid = 0fef845a-c6e1-45bc-82f7-002fa720f958 + bootable = "true" + image = "rootfs.ext4" + } +} diff --git a/board/beaglev/post-build.sh b/board/beaglev/post-build.sh new file mode 100755 index 00000000000..fe61fd33cc8 --- /dev/null +++ b/board/beaglev/post-build.sh @@ -0,0 +1,11 @@ +#!/bin/sh +BOARD_DIR=$(dirname $0) + +# Bring the extlinux.conf file in. +install -D -m 0644 ${BOARD_DIR}/extlinux.conf \ + ${TARGET_DIR}/boot/extlinux/extlinux.conf + +# To be reflashed through Xmodem, the bootloader needs to be prepended +# with a 4-byte header that contains the total size of the file. +perl -e 'print pack("l", (stat @ARGV[0])[7])' ${BINARIES_DIR}/fw_payload.bin > ${BINARIES_DIR}/fw_payload.bin.out +cat ${BINARIES_DIR}/fw_payload.bin >> ${BINARIES_DIR}/fw_payload.bin.out diff --git a/board/beaglev/readme.txt b/board/beaglev/readme.txt new file mode 100644 index 00000000000..60678059e15 --- /dev/null +++ b/board/beaglev/readme.txt @@ -0,0 +1,124 @@ +BeagleV +======= + +BeagleV is a low-cost RISC-V 64-bit based platform, powered by a +Starfive JH7100 processor. The current defconfig in Buildroot has been +tested with the JH7100 chip used on the beta version of the BeagleV +board. + +How to build +============ + +$ make beaglev_defconfig +$ make + +Build results +============= + +After building, output/images contains: + ++ bootloader-BEAGLEV-buildroot.bin.out ++ ddrinit-2133-buildroot.bin.out ++ Image ++ fw_payload.bin ++ fw_payload.bin.out ++ fw_payload.elf ++ rootfs.ext2 ++ rootfs.ext4 ++ sdcard.img ++ u-boot.bin + +The four important files are: + + - bootloader-BEAGLEV-buildroot.bin.out, the first stage bootloader + + - ddrinit-2133-buildroot.bin.out, the DDR initialization firmware + + - fw_payload.bin.out, which is the bootloader image, containing + both OpenSBI and U-Boot. + + - sdcard.img, the SD card image, which contains the root filesystem, + kernel image and Device Tree. + +Flashing the SD card image +========================== + +$ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Preparing the board +=================== + +Connect the Beagle-V fan to the 5V supply (pin 2 or 4 of the GPIO +connector) and GND (pin 6 of the GPIO connector). + +Connect a TTL UART cable to pin 8 (TX), 10 (RX) and 14 (GND). + +Insert your SD card. + +Power-up the board using an USB-C cable. + +Flashing OpenSBI/U-Boot +======================= + +The bootloader pre-flashed on the Beagle-V has a non-working +fdt_addr_r environment variable value, so it won't work +as-is. Reflashing the bootloader with the bootloader image produced by +Buildroot is necessary. + +When the board starts up, a pre-loader shows a count down of 2 +seconds, interrupt by pressing any key. You should reach a menu like +this: + +--------8<---------- + +bootloader version:210209-4547a8d +ddr 0x00000000, 1M test +ddr 0x00100000, 2M test +DDR clk 2133M,Version: 210302-5aea32f +0 +*************************************************** +*************** FLASH PROGRAMMING ***************** +*************************************************** + +0:update uboot +1:quit +select the function: + +--------8<---------- + +Press 0 and Enter. You will now see "C" characters being +displayed. Ask your serial port communication program to send +fw_payload.bin.out using the Xmodem protocol. + +After reflashing is complete, restart the board, it will automatically +start the system from the SD card, and reach the login prompt. + +Flashing low-level bootloaders +============================== + +The BeagleV comes pre-flashed with functional low-level bootloaders +(called "secondboot" and "ddrinit"). Re-flashing them is not necessary +to use this Buildroot defconfig. However, for the sake of +completeness, Buildroot builds and provides those low-level bootloader +images. + +You can flash them as follows: + + - In the same "pre-loader" menu as the one used above, instead of + entering 0 or 1, enter the magic "root@s5t" string. This enters the + "expert" features. + + - Then, press 0 and send over X-modem the + bootloader-BEAGLEV-buildroot.bin.out file. + + - Then, press 1 and send over X-modem the + ddrinit-2133-buildroot.bin.out. + +Note that the reflashing mechanism itself relies on those low-level +bootloaders, so if you flash non-working versions, you'll have to go +through a recovery process. This requires wiring up to a separate +debug UART, which pins are located near the HDMI connector. See +https://wiki.seeedstudio.com/BeagleV-Update-bootloader-ddr-init-boot-uboot-Recover-bootloader/ +section "Recover the bootloader" for more details. The instructions +make use of a jh7100-recover tool, which Buildroot has built as part +of this defconfig: it is available as output/host/bin/jh7100-recover. diff --git a/board/beelink/gs1/genimage.cfg b/board/beelink/gs1/genimage.cfg index 88bbd265944..71578743ec1 100644 --- a/board/beelink/gs1/genimage.cfg +++ b/board/beelink/gs1/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "extlinux" } } + size = 64M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/boundarydevices/common/boot.cmd b/board/boundarydevices/common/boot.cmd index dbc3b3c3736..2f2bd8d0450 100644 --- a/board/boundarydevices/common/boot.cmd +++ b/board/boundarydevices/common/boot.cmd @@ -1,17 +1,20 @@ setenv bootargs '' -setenv initrd_high 0xffffffff m4='' kernelimage=zImage bootcommand=bootz a_base=0x10000000 -if itest.s x51 == "x${imx_cpu}" ; then + +#grab 1st 2/3 characters of string +setexpr cpu2 sub "^(..?).*" "\\1" "${imx_cpu}" +setexpr cpu3 sub "^(..?.?).*" "\\1" "${imx_cpu}" +if itest.s x51 == "x${cpu2}" ; then a_base=0x90000000 -elif itest.s x53 == "x${imx_cpu}"; then +elif itest.s x53 == "x${cpu2}"; then a_base=0x70000000 -elif itest.s x6SX == "x${imx_cpu}" || itest.s x6ULL == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then +elif itest.s x6SX == "x${cpu3}" || itest.s x6U == "x${cpu2}" || itest.s x7D == "x${cpu2}"; then a_base=0x80000000 -elif itest.s x8MQ == "x${imx_cpu}" || itest.s x8MM == "x${imx_cpu}" || itest.s x8MMQ == "x${imx_cpu}" || itest.s x8MNano == "x${imx_cpu}"; then +elif itest.s x8M == "x${cpu2}"; then a_base=0x40000000 kernelimage=Image bootcommand=booti @@ -24,8 +27,7 @@ fi setexpr a_script ${a_base} + 0x00800000 setexpr a_zImage ${a_base} + 0x00800000 setexpr a_fdt ${a_base} + 0x03000000 -setexpr a_ramdisk ${a_base} + 0x03800000 -setexpr a_initrd ${a_base} + 0x03a00000 +setexpr a_initrd ${a_base} + 0x03100000 setexpr a_reset_cause_marker ${a_base} + 0x80 setexpr a_reset_cause ${a_base} + 0x84 @@ -35,30 +37,32 @@ if itest.s "x" == "x${board}" ; then fi if itest.s "x" == "x${fdt_file}" ; then - if itest.s x6SOLO == "x${imx_cpu}" ; then - fdt_file=imx6dl-${board}.dtb; - elif itest.s x6DL == "x${imx_cpu}" ; then + if itest.s x51 == "x${cpu2}" ; then + fdt_file=imx51-${board}${m4}.dtb; + elif itest.s x53 == "x${cpu2}" ; then + fdt_file=imx53-${board}${m4}.dtb; + elif itest.s x6DL == "x${cpu3}" || itest.s x6SO == "x${cpu3}" ; then fdt_file=imx6dl-${board}.dtb; - elif itest.s x6QP == "x${imx_cpu}" ; then + elif itest.s x6QP == "x${cpu3}" ; then fdt_file=imx6qp-${board}.dtb; - elif itest.s x6SX == "x${imx_cpu}" ; then + elif itest.s x6SX == "x${cpu3}" ; then fdt_file=imx6sx-${board}${m4}.dtb; - elif itest.s x6ULL == "x${imx_cpu}" ; then + elif itest.s x6UL == "x${cpu3}" ; then fdt_file=imx6ull-${board}.dtb; - elif itest.s x7D == "x${imx_cpu}" ; then + elif itest.s x7D == "x${cpu2}" ; then fdt_file=imx7d-${board}${m4}.dtb; - elif itest.s x8MQ == "x${imx_cpu}" ; then - fdt_file=imx8mq-${board}${m4}.dtb; - elif itest.s x8MM == "x${imx_cpu}" ; then + elif itest.s x8MM == "x${cpu3}" ; then fdt_file=imx8mm-${board}${m4}.dtb; - elif itest.s x8MMQ == "x${imx_cpu}" ; then - fdt_file=imx8mm-${board}${m4}.dtb; - elif itest.s x8MNano == "x${imx_cpu}" ; then + elif itest.s x8MN == "x${cpu3}" ; then fdt_file=imx8mn-${board}${m4}.dtb; - elif itest.s x51 == "x${imx_cpu}" ; then - fdt_file=imx51-${board}.dtb; - elif itest.s x53 == "x${imx_cpu}" ; then - fdt_file=imx53-${board}.dtb; + elif itest.s x8MP == "x${cpu3}" ; then + if itest *0x30360800 == 0x00824310 ; then + fdt_file=imx8mp-a0-${board}${m4}.dtb; + else + fdt_file=imx8mp-${board}${m4}.dtb; + fi + elif itest.s x8MQ == "x${cpu3}" ; then + fdt_file=imx8mq-${board}${m4}.dtb; else fdt_file=imx6q-${board}.dtb; fi @@ -71,11 +75,20 @@ fi if load ${devtype} ${devnum}:${distro_bootpart} ${a_script} uEnv.txt ; then env import -t ${a_script} ${filesize} fi -setenv bootargs ${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc cpu=${imx_cpu} board=${board} + +if itest.s x${console} != x ; then + setenv bootargs ${bootargs} console=${console},115200 +fi +if itest.s "x" == "x$vmalloc" ; then + vmalloc=400M +fi +if itest.s x${consoleblank} == x ; then + consoleblank=0 +fi +setenv bootargs ${bootargs} vmalloc=${vmalloc} consoleblank=${consoleblank} rootwait fixrtc cpu=${imx_cpu} board=${board} uboot_release=${uboot_release} if load ${devtype} ${devnum}:${distro_bootpart} ${a_fdt} ${prefix}${fdt_file} ; then fdt addr ${a_fdt} - setenv fdt_high 0xffffffff else echo "!!!! Error loading ${prefix}${fdt_file}"; exit; diff --git a/board/boundarydevices/common/readme.txt b/board/boundarydevices/common/readme.txt index 307cfb5549c..d3169b08f5c 100644 --- a/board/boundarydevices/common/readme.txt +++ b/board/boundarydevices/common/readme.txt @@ -31,6 +31,9 @@ Here is the list of targeted platforms per defconfig: - Nitrogen8MNano - Nitrogen8MNano_SOM +- nitrogen8mp_defconfig + - Nitrogen8MPlus_SOM + To install, simply copy the image to your storage (SD, eMMC, USB): $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/boundarydevices/common/upgrade.cmd b/board/boundarydevices/common/upgrade.cmd index ce32d77b5b2..a26bacd9aa5 100644 --- a/board/boundarydevices/common/upgrade.cmd +++ b/board/boundarydevices/common/upgrade.cmd @@ -9,18 +9,24 @@ qspi_offset=0x0 a_base=0x12000000 block_size=0x200 -if itest.s x51 == "x${imx_cpu}"; then +#grab 1st 2/3 characters of string +setexpr cpu2 sub "^(..?).*" "\\1" "${imx_cpu}" +setexpr cpu3 sub "^(..?.?).*" "\\1" "${imx_cpu}" +if itest.s x51 == "x${cpu2}"; then a_base=0x92000000 -elif itest.s x53 == "x${imx_cpu}"; then +elif itest.s x53 == "x${cpu2}"; then a_base=0x72000000 -elif itest.s x6SX == "x${imx_cpu}" || itest.s x6ULL == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then +elif itest.s x6SX == "x${cpu3}" || itest.s x6U == "x${cpu2}" || itest.s x7D == "x${cpu2}"; then a_base=0x82000000 -elif itest.s x8MQ == "x${imx_cpu}" || itest.s x8MM == "x${imx_cpu}" || itest.s x8MMQ == "x${imx_cpu}"; then +elif itest.s x8M == "x${cpu2}"; then a_base=0x42000000 offset=0x8400 -elif itest.s x8MNano == "x${imx_cpu}"; then - a_base=0x42000000 - offset=0x8000 + if itest.s x8MN == "x${cpu3}" || itest.s x8MP == "x${cpu3}"; then + offset=0x8000 + if itest ${env_part} != 0 ; then + offset=0x0 + fi + fi fi qspi_match=1 @@ -30,7 +36,10 @@ setexpr a_uImage1 ${a_qspi1} + 0x400 setexpr a_uImage2 ${a_qspi2} + 0x400 setexpr a_script ${a_base} -setenv stdout serial,vga +if itest.s "x${vidconsole}" == "x" ; then + vidconsole=vga +fi +setenv stdout serial,${vidconsole} if itest.s "x${sfname}" == "x" ; then # U-Boot resides in (e)MMC diff --git a/board/chromebook/elm/linux.config b/board/chromebook/elm/linux.config index 50402eae8af..895a3b85c3c 100644 --- a/board/chromebook/elm/linux.config +++ b/board/chromebook/elm/linux.config @@ -30,7 +30,6 @@ CONFIG_SCHED_MC=y CONFIG_SCHED_SMT=y CONFIG_NR_CPUS=4 CONFIG_NUMA=y -CONFIG_SECCOMP=y CONFIG_PARAVIRT=y CONFIG_CRASH_DUMP=y CONFIG_COMPAT=y @@ -46,6 +45,7 @@ CONFIG_ARM_CPUIDLE=y CONFIG_ARM_PSCI_CPUIDLE=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y @@ -96,7 +96,6 @@ CONFIG_MTD_SST25L=y CONFIG_MTD_RAW_NAND=y CONFIG_MTD_NAND_DENALI_DT=y CONFIG_MTD_SPI_NOR=y -CONFIG_SPI_CADENCE_QUADSPI=y CONFIG_OF_OVERLAY=y # CONFIG_BLK_DEV is not set CONFIG_SRAM=y @@ -116,12 +115,39 @@ CONFIG_DM_MIRROR=m CONFIG_DM_ZERO=m CONFIG_NETDEVICES=y # CONFIG_ETHERNET is not set -CONFIG_USB_RTL8152=y -CONFIG_USB_USBNET=y -# CONFIG_USB_NET_AX88179_178A is not set -# CONFIG_USB_NET_NET1080 is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -# CONFIG_USB_NET_ZAURUS is not set +CONFIG_PHYLIB=y +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_HUAWEI_CDC_NCM=m +CONFIG_USB_NET_CDC_MBIM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_USB_NET_CH9200=m +CONFIG_USB_NET_AQC111=m # CONFIG_WLAN_VENDOR_ADMTEK is not set # CONFIG_WLAN_VENDOR_ATH is not set # CONFIG_WLAN_VENDOR_ATMEL is not set @@ -139,7 +165,6 @@ CONFIG_MWIFIEX_SDIO=m # CONFIG_WLAN_VENDOR_TI is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set # CONFIG_WLAN_VENDOR_QUANTENNA is not set -CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_EVDEV=y CONFIG_KEYBOARD_ADC=m CONFIG_KEYBOARD_GPIO=y @@ -180,9 +205,9 @@ CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_GPIO=m CONFIG_I2C_MT65XX=y CONFIG_I2C_RK3X=y -CONFIG_I2C_CROS_EC_TUNNEL=y CONFIG_I2C_SLAVE=y CONFIG_SPI=y +CONFIG_SPI_CADENCE_QUADSPI=y CONFIG_SPI_NXP_FLEXSPI=y CONFIG_SPI_GPIO=y CONFIG_SPI_MT65XX=y @@ -201,7 +226,6 @@ CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_BD9571MWV=m CONFIG_GPIO_MAX77620=y -CONFIG_POWER_AVS=y CONFIG_POWER_RESET_BRCMSTB=y CONFIG_POWER_RESET_XGENE=y CONFIG_POWER_RESET_SYSCON=y @@ -345,7 +369,6 @@ CONFIG_RTC_DRV_RX8581=m CONFIG_RTC_DRV_S5M=y CONFIG_RTC_DRV_DS3232=y CONFIG_RTC_DRV_PCF2127=m -CONFIG_RTC_DRV_CROS_EC=y CONFIG_RTC_DRV_PL031=y CONFIG_DMADEVICES=y CONFIG_FSL_EDMA=y @@ -355,14 +378,14 @@ CONFIG_MTK_CQDMA=y CONFIG_QCOM_HIDMA_MGMT=y CONFIG_QCOM_HIDMA=y # CONFIG_VIRTIO_MENU is not set -CONFIG_MFD_CROS_EC=y +CONFIG_CHROME_PLATFORMS=y +CONFIG_CROS_EC=y CONFIG_CROS_EC_I2C=y CONFIG_CROS_EC_SPI=y CONFIG_COMMON_CLK_RK808=y CONFIG_COMMON_CLK_SCPI=y CONFIG_COMMON_CLK_CS2000_CP=y CONFIG_COMMON_CLK_S2MPS11=y -CONFIG_CLK_QORIQ=y CONFIG_COMMON_CLK_XGENE=y CONFIG_COMMON_CLK_PWM=y CONFIG_COMMON_CLK_VC5=y @@ -380,17 +403,11 @@ CONFIG_REMOTEPROC=y CONFIG_MTK_CMDQ=y CONFIG_MTK_PMIC_WRAP=y CONFIG_EXTCON_USB_GPIO=y -CONFIG_EXTCON_USBC_CROS_EC=y CONFIG_IIO=y CONFIG_MAX9611=m -CONFIG_IIO_CROS_EC_SENSORS_CORE=m -CONFIG_IIO_CROS_EC_SENSORS=m -CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_SENSORS_ISL29018=m -CONFIG_IIO_CROS_EC_BARO=m CONFIG_MPL3115=m CONFIG_PWM=y -CONFIG_PWM_CROS_EC=m CONFIG_PWM_MTK_DISP=y CONFIG_PWM_MEDIATEK=y CONFIG_PHY_XGENE=y @@ -417,6 +434,13 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y CONFIG_CONFIGFS_FS=y CONFIG_PSTORE=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=m +CONFIG_NFS_SWAP=y +CONFIG_CIFS=m +CONFIG_CIFS_STATS2=y +CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_SECURITY=y @@ -450,4 +474,4 @@ CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_PREEMPT is not set CONFIG_STACKTRACE=y # CONFIG_FTRACE is not set -# CONFIG_STRICT_DEVMEM is not set \ No newline at end of file +# CONFIG_STRICT_DEVMEM is not set diff --git a/board/chromebook/elm/patches/linux/0001-drm-bridge_connector-Set-default-status-connected-fo.patch b/board/chromebook/elm/patches/linux/0001-drm-bridge_connector-Set-default-status-connected-fo.patch deleted file mode 100644 index f037391897d..00000000000 --- a/board/chromebook/elm/patches/linux/0001-drm-bridge_connector-Set-default-status-connected-fo.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 510d0ad0ce1b51c072309ba12dfb024fc2c3dbac Mon Sep 17 00:00:00 2001 -From: Enric Balletbo i Serra -Date: Wed, 26 Aug 2020 10:15:22 +0200 -Subject: [PATCH 1/5] drm/bridge_connector: Set default status connected for - eDP connectors - -In an eDP application, HPD is not required and on most bridge chips -useless. If HPD is not used, we need to set initial status as connected, -otherwise the connector created by the drm_bridge_connector API remains -in an unknown state. - -Reviewed-by: Laurent Pinchart -Acked-by: Sam Ravnborg -Signed-off-by: Enric Balletbo i Serra -Reviewed-by: Bilal Wasim -Tested-by: Bilal Wasim ---- - drivers/gpu/drm/drm_bridge_connector.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/gpu/drm/drm_bridge_connector.c b/drivers/gpu/drm/drm_bridge_connector.c -index c6994fe673f3..a58cbde59c34 100644 ---- a/drivers/gpu/drm/drm_bridge_connector.c -+++ b/drivers/gpu/drm/drm_bridge_connector.c -@@ -187,6 +187,7 @@ drm_bridge_connector_detect(struct drm_connector *connector, bool force) - case DRM_MODE_CONNECTOR_DPI: - case DRM_MODE_CONNECTOR_LVDS: - case DRM_MODE_CONNECTOR_DSI: -+ case DRM_MODE_CONNECTOR_eDP: - status = connector_status_connected; - break; - default: --- -2.25.1 - diff --git a/board/chromebook/elm/patches/linux/0002-drm-bridge-ps8640-Get-the-EDID-from-eDP-control.patch b/board/chromebook/elm/patches/linux/0002-drm-bridge-ps8640-Get-the-EDID-from-eDP-control.patch deleted file mode 100644 index 5f7517c7b97..00000000000 --- a/board/chromebook/elm/patches/linux/0002-drm-bridge-ps8640-Get-the-EDID-from-eDP-control.patch +++ /dev/null @@ -1,50 +0,0 @@ -From cc0f2fea61fb34ca84e4812a615e0035d812aa8b Mon Sep 17 00:00:00 2001 -From: Enric Balletbo i Serra -Date: Wed, 26 Aug 2020 10:15:23 +0200 -Subject: [PATCH 2/5] drm/bridge: ps8640: Get the EDID from eDP control - -The PS8640 DSI-to-eDP bridge can retrieve the EDID, so implement the -.get_edid callback and set the flag to indicate the core to use it. - -Reviewed-by: Laurent Pinchart -Acked-by: Sam Ravnborg -Signed-off-by: Enric Balletbo i Serra ---- - drivers/gpu/drm/bridge/parade-ps8640.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c -index 4b099196afeb..13755d278db6 100644 ---- a/drivers/gpu/drm/bridge/parade-ps8640.c -+++ b/drivers/gpu/drm/bridge/parade-ps8640.c -@@ -242,8 +242,18 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge, - return ret; - } - -+static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge, -+ struct drm_connector *connector) -+{ -+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge); -+ -+ return drm_get_edid(connector, -+ ps_bridge->page[PAGE0_DP_CNTL]->adapter); -+} -+ - static const struct drm_bridge_funcs ps8640_bridge_funcs = { - .attach = ps8640_bridge_attach, -+ .get_edid = ps8640_bridge_get_edid, - .post_disable = ps8640_post_disable, - .pre_enable = ps8640_pre_enable, - }; -@@ -294,6 +304,8 @@ static int ps8640_probe(struct i2c_client *client) - - ps_bridge->bridge.funcs = &ps8640_bridge_funcs; - ps_bridge->bridge.of_node = dev->of_node; -+ ps_bridge->bridge.ops = DRM_BRIDGE_OP_EDID; -+ ps_bridge->bridge.type = DRM_MODE_CONNECTOR_eDP; - - ps_bridge->page[PAGE0_DP_CNTL] = client; - --- -2.25.1 - diff --git a/board/chromebook/elm/patches/linux/0003-drm-bridge-ps8640-Return-an-error-for-incorrect-atta.patch b/board/chromebook/elm/patches/linux/0003-drm-bridge-ps8640-Return-an-error-for-incorrect-atta.patch deleted file mode 100644 index 5f52c454244..00000000000 --- a/board/chromebook/elm/patches/linux/0003-drm-bridge-ps8640-Return-an-error-for-incorrect-atta.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 62afc499fc46c8018f40733c31a675b28f0717d8 Mon Sep 17 00:00:00 2001 -From: Enric Balletbo i Serra -Date: Wed, 26 Aug 2020 10:15:24 +0200 -Subject: [PATCH 3/5] drm/bridge: ps8640: Return an error for incorrect attach - flags - -Bridge drivers that implement the new model only shall return an error -from their attach() handler when the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag -is not set. So make sure we return an error because only the new -drm_bridge model is supported. - -Reviewed-by: Sam Ravnborg -Signed-off-by: Enric Balletbo i Serra ---- - drivers/gpu/drm/bridge/parade-ps8640.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c -index 13755d278db6..ce3e8b2da8c9 100644 ---- a/drivers/gpu/drm/bridge/parade-ps8640.c -+++ b/drivers/gpu/drm/bridge/parade-ps8640.c -@@ -200,6 +200,10 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge, - .channel = 0, - .node = NULL, - }; -+ -+ if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)) -+ return -EINVAL; -+ - /* port@0 is ps8640 dsi input port */ - in_ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, -1); - if (!in_ep) --- -2.25.1 - diff --git a/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch b/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch deleted file mode 100644 index 4ef074a6c80..00000000000 --- a/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 4897262a71cbf55d726d9174f5f646897dc13704 Mon Sep 17 00:00:00 2001 -From: Enric Balletbo i Serra -Date: Wed, 26 Aug 2020 10:15:25 +0200 -Subject: [PATCH 4/5] drm/bridge: ps8640: Print an error if VDO control fails - -Print an error message inside ps8640_bridge_vdo_control() function when -it fails so we can simplify a bit the callers, they will only need to -check the error code. - -Reviewed-by: Sam Ravnborg -Signed-off-by: Enric Balletbo i Serra ---- - drivers/gpu/drm/bridge/parade-ps8640.c | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c -index ce3e8b2da8c9..9f7b7a9c53c5 100644 ---- a/drivers/gpu/drm/bridge/parade-ps8640.c -+++ b/drivers/gpu/drm/bridge/parade-ps8640.c -@@ -82,8 +82,11 @@ static int ps8640_bridge_vdo_control(struct ps8640 *ps_bridge, - ret = i2c_smbus_write_i2c_block_data(client, PAGE3_SET_ADD, - sizeof(vdo_ctrl_buf), - vdo_ctrl_buf); -- if (ret < 0) -+ if (ret < 0) { -+ DRM_ERROR("failed to %sable VDO: %d\n", -+ ctrl == ENABLE ? "en" : "dis", ret); - return ret; -+ } - - return 0; - } -@@ -150,10 +153,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge) - } - - ret = ps8640_bridge_vdo_control(ps_bridge, ENABLE); -- if (ret) { -- DRM_ERROR("failed to enable VDO: %d\n", ret); -+ if (ret) - goto err_regulators_disable; -- } - - /* Switch access edp panel's edid through i2c */ - ret = i2c_smbus_write_byte_data(client, PAGE2_I2C_BYPASS, -@@ -175,9 +176,7 @@ static void ps8640_post_disable(struct drm_bridge *bridge) - struct ps8640 *ps_bridge = bridge_to_ps8640(bridge); - int ret; - -- ret = ps8640_bridge_vdo_control(ps_bridge, DISABLE); -- if (ret < 0) -- DRM_ERROR("failed to disable VDO: %d\n", ret); -+ ps8640_bridge_vdo_control(ps_bridge, DISABLE); - - gpiod_set_value(ps_bridge->gpio_reset, 1); - gpiod_set_value(ps_bridge->gpio_powerdown, 1); --- -2.25.1 - diff --git a/board/chromebook/elm/patches/linux/0005-drm-bridge-ps8640-Rework-power-state-handling.patch b/board/chromebook/elm/patches/linux/0005-drm-bridge-ps8640-Rework-power-state-handling.patch deleted file mode 100644 index f682600d117..00000000000 --- a/board/chromebook/elm/patches/linux/0005-drm-bridge-ps8640-Rework-power-state-handling.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 5bb60fe7c748a0aae2bdbab10e73b2dc48c09dda Mon Sep 17 00:00:00 2001 -From: Enric Balletbo i Serra -Date: Wed, 26 Aug 2020 10:15:26 +0200 -Subject: [PATCH 5/5] drm/bridge: ps8640: Rework power state handling - -The get_edid() callback can be triggered anytime by an ioctl, i.e - - drm_mode_getconnector (ioctl) - -> drm_helper_probe_single_connector_modes - -> drm_bridge_connector_get_modes - -> ps8640_bridge_get_edid - -Actually if the bridge pre_enable() function was not called before -get_edid(), the driver will not be able to get the EDID properly and -display will not work until a second get_edid() call is issued and if -pre_enable() is called before. The side effect of this, for example, is -that you see anything when `Frecon` starts, neither the splash screen, -until the graphical session manager starts. - -To fix this we need to make sure that all we need is enabled before -reading the EDID. This means the following: - -1. If get_edid() is called before having the device powered we need to - power on the device. In such case, the driver will power off again the - device. - -2. If get_edid() is called after having the device powered, all should - just work. We added a powered flag in order to avoid recurrent calls - to ps8640_bridge_poweron() and unneeded delays. - -3. This seems to be specific for this device, but we need to make sure - the panel is powered on before do a power on cycle on this device. - Otherwise the device fails to retrieve the EDID. - -Signed-off-by: Enric Balletbo i Serra ---- - drivers/gpu/drm/bridge/parade-ps8640.c | 64 +++++++++++++++++++++++--- - 1 file changed, 58 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c -index 9f7b7a9c53c5..c5d76e209bda 100644 ---- a/drivers/gpu/drm/bridge/parade-ps8640.c -+++ b/drivers/gpu/drm/bridge/parade-ps8640.c -@@ -65,6 +65,7 @@ struct ps8640 { - struct regulator_bulk_data supplies[2]; - struct gpio_desc *gpio_reset; - struct gpio_desc *gpio_powerdown; -+ bool powered; - }; - - static inline struct ps8640 *bridge_to_ps8640(struct drm_bridge *e) -@@ -91,13 +92,15 @@ static int ps8640_bridge_vdo_control(struct ps8640 *ps_bridge, - return 0; - } - --static void ps8640_pre_enable(struct drm_bridge *bridge) -+static void ps8640_bridge_poweron(struct ps8640 *ps_bridge) - { -- struct ps8640 *ps_bridge = bridge_to_ps8640(bridge); - struct i2c_client *client = ps_bridge->page[PAGE2_TOP_CNTL]; - unsigned long timeout; - int ret, status; - -+ if (ps_bridge->powered) -+ return; -+ - ret = regulator_bulk_enable(ARRAY_SIZE(ps_bridge->supplies), - ps_bridge->supplies); - if (ret < 0) { -@@ -164,6 +167,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge) - goto err_regulators_disable; - } - -+ ps_bridge->powered = true; -+ - return; - - err_regulators_disable: -@@ -171,12 +176,12 @@ static void ps8640_pre_enable(struct drm_bridge *bridge) - ps_bridge->supplies); - } - --static void ps8640_post_disable(struct drm_bridge *bridge) -+static void ps8640_bridge_poweroff(struct ps8640 *ps_bridge) - { -- struct ps8640 *ps_bridge = bridge_to_ps8640(bridge); - int ret; - -- ps8640_bridge_vdo_control(ps_bridge, DISABLE); -+ if (!ps_bridge->powered) -+ return; - - gpiod_set_value(ps_bridge->gpio_reset, 1); - gpiod_set_value(ps_bridge->gpio_powerdown, 1); -@@ -184,6 +189,28 @@ static void ps8640_post_disable(struct drm_bridge *bridge) - ps_bridge->supplies); - if (ret < 0) - DRM_ERROR("cannot disable regulators %d\n", ret); -+ -+ ps_bridge->powered = false; -+} -+ -+static void ps8640_pre_enable(struct drm_bridge *bridge) -+{ -+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge); -+ int ret; -+ -+ ps8640_bridge_poweron(ps_bridge); -+ -+ ret = ps8640_bridge_vdo_control(ps_bridge, DISABLE); -+ if (ret < 0) -+ ps8640_bridge_poweroff(ps_bridge); -+} -+ -+static void ps8640_post_disable(struct drm_bridge *bridge) -+{ -+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge); -+ -+ ps8640_bridge_vdo_control(ps_bridge, DISABLE); -+ ps8640_bridge_poweroff(ps_bridge); - } - - static int ps8640_bridge_attach(struct drm_bridge *bridge, -@@ -249,9 +276,34 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge, - struct drm_connector *connector) - { - struct ps8640 *ps_bridge = bridge_to_ps8640(bridge); -+ bool poweroff = !ps_bridge->powered; -+ struct edid *edid; -+ -+ /* -+ * When we end calling get_edid() triggered by an ioctl, i.e -+ * -+ * drm_mode_getconnector (ioctl) -+ * -> drm_helper_probe_single_connector_modes -+ * -> drm_bridge_connector_get_modes -+ * -> ps8640_bridge_get_edid -+ * -+ * We need to make sure that what we need is enabled before reading -+ * EDID, for this chip, we need to do a full poweron, otherwise it will -+ * fail. -+ */ -+ drm_bridge_chain_pre_enable(bridge); - -- return drm_get_edid(connector, -+ edid = drm_get_edid(connector, - ps_bridge->page[PAGE0_DP_CNTL]->adapter); -+ -+ /* -+ * If we call the get_edid() function without having enabled the chip -+ * before, return the chip to its original power state. -+ */ -+ if (poweroff) -+ drm_bridge_chain_post_disable(bridge); -+ -+ return edid; - } - - static const struct drm_bridge_funcs ps8640_bridge_funcs = { --- -2.25.1 - diff --git a/board/chromebook/elm/patches/linux/0006-Revert-drm-mediatek-dsi-Fix-scrolling-of-panel-with-.patch b/board/chromebook/elm/patches/linux/0006-Revert-drm-mediatek-dsi-Fix-scrolling-of-panel-with-.patch deleted file mode 100644 index 43bffe5261b..00000000000 --- a/board/chromebook/elm/patches/linux/0006-Revert-drm-mediatek-dsi-Fix-scrolling-of-panel-with-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 51109530891c981b681816152bd205724deabcca Mon Sep 17 00:00:00 2001 -From: Jitao Shi -Date: Sat, 10 Oct 2020 15:09:09 +0800 -Subject: [PATCH] Revert "drm/mediatek: dsi: Fix scrolling of panel with small - hfp or hbp" - -This reverts commit 35bf948f1edbf507f6e57e0879fa6ea36d2d2930. - -Signed-off-by: Jitao Shi -Reviewed-by: Bilal Wasim -Tested-by: Bilal Wasim ---- - drivers/gpu/drm/mediatek/mtk_dsi.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c -index 80b7a082e874..16fd99dcdacf 100644 ---- a/drivers/gpu/drm/mediatek/mtk_dsi.c -+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c -@@ -466,13 +466,14 @@ static void mtk_dsi_config_vdo_timing(struct mtk_dsi *dsi) - horizontal_sync_active_byte = (vm->hsync_len * dsi_tmp_buf_bpp - 10); - - if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) -- horizontal_backporch_byte = vm->hback_porch * dsi_tmp_buf_bpp; -+ horizontal_backporch_byte = -+ (vm->hback_porch * dsi_tmp_buf_bpp - 10); - else -- horizontal_backporch_byte = (vm->hback_porch + vm->hsync_len) * -- dsi_tmp_buf_bpp; -+ horizontal_backporch_byte = ((vm->hback_porch + vm->hsync_len) * -+ dsi_tmp_buf_bpp - 10); - - data_phy_cycles = timing->lpx + timing->da_hs_prepare + -- timing->da_hs_zero + timing->da_hs_exit; -+ timing->da_hs_zero + timing->da_hs_exit + 3; - - if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) { - if ((vm->hfront_porch + vm->hback_porch) * dsi_tmp_buf_bpp > --- -2.25.1 - diff --git a/board/ci20/genimage.cfg b/board/ci20/genimage.cfg index 5f8a16c6105..2d4a18a99b1 100644 --- a/board/ci20/genimage.cfg +++ b/board/ci20/genimage.cfg @@ -1,28 +1,28 @@ image sdcard.img { - hdimage { - } + hdimage { + } - partition uboot-spl { - in-partition-table = "no" - image = "u-boot-spl.bin" - offset = 512 - } + partition uboot-spl { + in-partition-table = "no" + image = "u-boot-spl.bin" + offset = 512 + } - partition uboot { - in-partition-table = "no" - image = "u-boot.img" - offset = 14k - } + partition uboot { + in-partition-table = "no" + image = "u-boot.img" + offset = 14K + } - partition uboot-env { - in-partition-table = "no" - image = "uboot-env.bin" - offset = 526k - } + partition uboot-env { + in-partition-table = "no" + image = "uboot-env.bin" + offset = 526K + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - offset = 2M - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + offset = 2M + } } diff --git a/board/cubietech/cubieboard2/genimage.cfg b/board/cubietech/cubieboard2/genimage.cfg index b082ab0da11..0ba74d6be36 100644 --- a/board/cubietech/cubieboard2/genimage.cfg +++ b/board/cubietech/cubieboard2/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -19,8 +20,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/embest/riotboard/genimage.cfg b/board/embest/riotboard/genimage.cfg index 1221c83b9a6..d2e851a78d6 100644 --- a/board/embest/riotboard/genimage.cfg +++ b/board/embest/riotboard/genimage.cfg @@ -1,17 +1,17 @@ image sdcard.img { - hdimage { - } + hdimage { + } - partition u-boot { - in-partition-table = "no" - image = "u-boot.imx" - offset = 1024 - } + partition u-boot { + in-partition-table = "no" + image = "u-boot.imx" + offset = 1K + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - offset = 1M - size = 60M - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + offset = 1M + size = 60M + } } diff --git a/board/engicam/geam6ul/genimage.cfg b/board/engicam/geam6ul/genimage.cfg index fcca6e17393..3d290b2ea60 100644 --- a/board/engicam/geam6ul/genimage.cfg +++ b/board/engicam/geam6ul/genimage.cfg @@ -5,6 +5,7 @@ image boot.vfat { "imx6ul-geam-kit.dtb" } } + size = 64M } @@ -15,7 +16,7 @@ image sdcard.img { partition SPL { in-partition-table = "no" image = "SPL" - offset = 1024 + offset = 1K } partition u-boot-dtb { diff --git a/board/engicam/icorem6/genimage.cfg b/board/engicam/icorem6/genimage.cfg index 835d905869b..985d9e5de1e 100644 --- a/board/engicam/icorem6/genimage.cfg +++ b/board/engicam/icorem6/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "imx6q-icore-ofcap12.dtb" } } + size = 64M } @@ -18,7 +19,7 @@ image sdcard.img { partition SPL { in-partition-table = "no" image = "SPL" - offset = 1024 + offset = 1K } partition u-boot-dtb { diff --git a/board/engicam/icorem6_rqs/genimage.cfg b/board/engicam/icorem6_rqs/genimage.cfg index 967d10b18a7..d6936f8109d 100644 --- a/board/engicam/icorem6_rqs/genimage.cfg +++ b/board/engicam/icorem6_rqs/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "imx6q-icore-rqs.dtb" } } + size = 64M } @@ -16,7 +17,7 @@ image sdcard.img { partition SPL { in-partition-table = "no" image = "SPL" - offset = 1024 + offset = 1K } partition u-boot-dtb { diff --git a/board/engicam/isiot/genimage.cfg b/board/engicam/isiot/genimage.cfg index dc8c20db5fd..4e65a70110b 100644 --- a/board/engicam/isiot/genimage.cfg +++ b/board/engicam/isiot/genimage.cfg @@ -5,6 +5,7 @@ image boot.vfat { "imx6ul-isiot-emmc.dtb" } } + size = 64M } @@ -15,7 +16,7 @@ image sdcard.img { partition SPL { in-partition-table = "no" image = "SPL" - offset = 1024 + offset = 1K } partition u-boot-dtb { diff --git a/board/freescale/common/imx/genimage.cfg.template_no_boot_part b/board/freescale/common/imx/genimage.cfg.template_no_boot_part new file mode 100644 index 00000000000..b8fa43210b9 --- /dev/null +++ b/board/freescale/common/imx/genimage.cfg.template_no_boot_part @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "%UBOOTBIN%" + offset = 1024 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + offset = 8M + } +} diff --git a/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl b/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl index c29032572ae..ef015918a5b 100644 --- a/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl +++ b/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl @@ -26,5 +26,6 @@ image sdcard.img { partition rootfs { partition-type = 0x83 image = "rootfs.ext2" + offset = 8M } } diff --git a/board/freescale/common/imx/imx8-bootloader-prepare.sh b/board/freescale/common/imx/imx8-bootloader-prepare.sh index cb7c37bfcd0..56f65e31262 100755 --- a/board/freescale/common/imx/imx8-bootloader-prepare.sh +++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -29,6 +29,13 @@ main () rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x912000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then + cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00970000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + rm -f ${BINARIES_DIR}/u-boot.its + + ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x920000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin else ${HOST_DIR}/bin/mkimage_imx8 -commit > ${BINARIES_DIR}/mkimg.commit cat ${BINARIES_DIR}/u-boot.bin ${BINARIES_DIR}/mkimg.commit > ${BINARIES_DIR}/u-boot-hash.bin diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh index 06ccaac3a44..d36f82917ec 100755 --- a/board/freescale/common/imx/post-image.sh +++ b/board/freescale/common/imx/post-image.sh @@ -25,6 +25,8 @@ linux_image() echo "\"uImage\"" elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then echo "\"Image\"" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then + echo "\"Image.gz\"" else echo "\"zImage\"" fi @@ -40,11 +42,15 @@ genimage_type() echo "genimage.cfg.template_imx8" elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then + echo "genimage.cfg.template_imx8" elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" ${BR2_CONFIG}; then echo "genimage.cfg.template_imx8" elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" ${BR2_CONFIG}; then if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then echo "genimage.cfg.template_no_boot_part_spl" + else + echo "genimage.cfg.template_no_boot_part" fi elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then echo "genimage.cfg.template_spl" diff --git a/board/freescale/imx7dsdb/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/imx7dsdb/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..d538b5d6432 --- /dev/null +++ b/board/freescale/imx7dsdb/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx7d-sabresd-buildroot + kernel /boot/zImage + devicetree /boot/imx7d-sdb.dtb + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/freescale/imx8mpevk/readme.txt b/board/freescale/imx8mpevk/readme.txt new file mode 100644 index 00000000000..dfc95af3eab --- /dev/null +++ b/board/freescale/imx8mpevk/readme.txt @@ -0,0 +1,71 @@ +********************* +NXP i.MX8MP EVK board +********************* + +This file documents the Buildroot support for the i.MX 8M Plus EVK board. + +Build +===== + +First, configure Buildroot for the i.MX 8M Plus EVK board: + + make freescale_imx8mpevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - ddr_fw.bin + - Image + - imx8-boot-sd.bin + - imx8mp-evk.dtb + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot.bin + - u-boot.itb + - u-boot-nodtb.bin + - u-boot-spl.bin + - u-boot-spl-ddr.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX 8M Plus EVK board +=============================== + +To boot your newly created system (refer to the i.MX 8M Plus EVK Documentation +[1] for guidance): +- insert the SD card in the SD slot of the board; +- Configure the switches as follows (X = "don't care"): +SW4: 0011 SW4[1-4] +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + +References +========== +[1] https://www.nxp.com/document/guide/get-started-with-the-i-mx-8m-plus-evk:GS-iMX-8M-Plus-EVK diff --git a/board/friendlyarm/nanopc-t4/genimage.cfg b/board/friendlyarm/nanopc-t4/genimage.cfg index b3202f75d4a..98dc2f38925 100644 --- a/board/friendlyarm/nanopc-t4/genimage.cfg +++ b/board/friendlyarm/nanopc-t4/genimage.cfg @@ -1,39 +1,39 @@ image boot.vfat { - vfat { - files = { - "Image", - "rk3399-nanopc-t4.dtb", - "extlinux" - } - } - size = 64M + vfat { + files = { + "Image", + "rk3399-nanopc-t4.dtb", + "extlinux" + } + } + + size = 64M } image sdcard.img { + hdimage { + partition-table-type = "gpt" + } - hdimage { - gpt = true - } - - partition loader1 { - image = "idbloader.img" - offset = 32K - } + partition loader1 { + image = "idbloader.img" + offset = 32K + } - partition loader2 { - image = "u-boot.itb" - offset = 8M - } + partition loader2 { + image = "u-boot.itb" + offset = 8M + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 16M - } + partition boot { + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b + bootable = "true" + image = "boot.vfat" + offset = 16M + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae + image = "rootfs.ext4" + } } diff --git a/board/friendlyarm/nanopi-a64/genimage.cfg b/board/friendlyarm/nanopi-a64/genimage.cfg index 66b6c5f4617..6907314149d 100644 --- a/board/friendlyarm/nanopi-a64/genimage.cfg +++ b/board/friendlyarm/nanopi-a64/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/friendlyarm/nanopi-m1-plus/genimage.cfg b/board/friendlyarm/nanopi-m1-plus/genimage.cfg index fdb3b906736..5257cf89c78 100644 --- a/board/friendlyarm/nanopi-m1-plus/genimage.cfg +++ b/board/friendlyarm/nanopi-m1-plus/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -18,8 +19,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/friendlyarm/nanopi-m1/genimage.cfg b/board/friendlyarm/nanopi-m1/genimage.cfg index 23c9c7dca2a..3b2b82ce968 100644 --- a/board/friendlyarm/nanopi-m1/genimage.cfg +++ b/board/friendlyarm/nanopi-m1/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -18,8 +19,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/friendlyarm/nanopi-m4/genimage.cfg b/board/friendlyarm/nanopi-m4/genimage.cfg index f14d493a9ba..8d0e6ad13bd 100644 --- a/board/friendlyarm/nanopi-m4/genimage.cfg +++ b/board/friendlyarm/nanopi-m4/genimage.cfg @@ -6,13 +6,13 @@ image boot.vfat { "extlinux" } } + size = 64M } image sdcard.img { - hdimage { - gpt = true + partition-table-type = "gpt" } partition loader1 { @@ -26,14 +26,14 @@ image sdcard.img { } partition boot { - partition-type = 0xC + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b bootable = "true" image = "boot.vfat" offset = 16M } partition rootfs { - partition-type = 0x83 + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae image = "rootfs.ext4" } } diff --git a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg b/board/friendlyarm/nanopi-neo-plus2/genimage.cfg index fb871abd43b..9000201399d 100644 --- a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg +++ b/board/friendlyarm/nanopi-neo-plus2/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "extlinux" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/friendlyarm/nanopi-neo/genimage.cfg b/board/friendlyarm/nanopi-neo/genimage.cfg index f6adc4af3ea..92af6675525 100644 --- a/board/friendlyarm/nanopi-neo/genimage.cfg +++ b/board/friendlyarm/nanopi-neo/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/friendlyarm/nanopi-neo2/genimage.cfg b/board/friendlyarm/nanopi-neo2/genimage.cfg index ebe123b7587..3163a065923 100644 --- a/board/friendlyarm/nanopi-neo2/genimage.cfg +++ b/board/friendlyarm/nanopi-neo2/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/friendlyarm/nanopi-r1/genimage.cfg b/board/friendlyarm/nanopi-r1/genimage.cfg index 6f5f35dcd5a..a180311cae9 100644 --- a/board/friendlyarm/nanopi-r1/genimage.cfg +++ b/board/friendlyarm/nanopi-r1/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -18,8 +19,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/friendlyarm/nanopi-r2s/extlinux.conf b/board/friendlyarm/nanopi-r2s/extlinux.conf new file mode 100644 index 00000000000..1ea0cdd8a54 --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/extlinux.conf @@ -0,0 +1,4 @@ +label NanoPi R2S linux + kernel /boot/Image + devicetree /boot/rk3328-nanopi-r2s.dtb + append root=/dev/mmcblk0p1 rw rootwait diff --git a/board/friendlyarm/nanopi-r2s/genimage.cfg b/board/friendlyarm/nanopi-r2s/genimage.cfg new file mode 100644 index 00000000000..a686b4f14e5 --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "idbloader.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot.itb" + offset = 8M + } + + partition rootfs { + partition-type = 0x83 + offset = 16M + image = "rootfs.ext4" + } +} diff --git a/board/friendlyarm/nanopi-r2s/post-build.sh b/board/friendlyarm/nanopi-r2s/post-build.sh new file mode 100755 index 00000000000..1f5ff6a6113 --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/friendlyarm/nanopi-r2s/readme.txt b/board/friendlyarm/nanopi-r2s/readme.txt new file mode 100644 index 00000000000..6d291cdd60b --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/readme.txt @@ -0,0 +1,57 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Nanopi R2S. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Nanopi R2S link: +https://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=282 + +This configuration uses ATF, U-Boot mainline and kernel mainline. + +How to build +============ + + $ make friendlyarm_nanopi_r2s_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +Files created in output directory +================================= + +output/images + +├── bl31.elf +├── boot.vfat +├── extlinux +├── idbloader.img +├── Image +├── rk3328-nanopi-r2s.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Nanopi R2S and power it up. The console +is on the serial line, 1500000 8N1. + +Notes +===== + +This configuration can also be used to drive the Friendlyarm Nanopi Neo3 board. diff --git a/board/grinn/chiliboard/genimage.cfg b/board/grinn/chiliboard/genimage.cfg index ffe027e7ab9..f335d7de4e7 100644 --- a/board/grinn/chiliboard/genimage.cfg +++ b/board/grinn/chiliboard/genimage.cfg @@ -2,30 +2,31 @@ # image boot.vfat { - vfat { - files = { - "MLO", - "u-boot.img", - "am335x-chiliboard.dtb", - "zImage" - } - } - size = 16M + vfat { + files = { + "MLO", + "u-boot.img", + "am335x-chiliboard.dtb", + "zImage" + } + } + + size = 16M } image sdcard.img { - hdimage { - } + hdimage { + } - partition u-boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 1M - } + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/grinn/liteboard/genimage.cfg b/board/grinn/liteboard/genimage.cfg index cbce2db5856..d0b29819d8a 100644 --- a/board/grinn/liteboard/genimage.cfg +++ b/board/grinn/liteboard/genimage.cfg @@ -9,40 +9,41 @@ # image boot.vfat { - vfat { - files = { - "imx6ul-liteboard.dtb", - "zImage" - } - } - size = 16M + vfat { + files = { + "imx6ul-liteboard.dtb", + "zImage" + } + } + + size = 16M } image sdcard.img { - hdimage { - } + hdimage { + } - partition SPL { - in-partition-table = "no" - image = "SPL" - offset = 1K - } + partition SPL { + in-partition-table = "no" + image = "SPL" + offset = 1K + } - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 69K - } + partition u-boot { + in-partition-table = "no" + image = "u-boot.img" + offset = 69K + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 8M - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 8M + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/hardkernel/odroidc2/genimage.cfg b/board/hardkernel/odroidc2/genimage.cfg index f49c1deaf33..f31867a591f 100644 --- a/board/hardkernel/odroidc2/genimage.cfg +++ b/board/hardkernel/odroidc2/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -17,12 +18,13 @@ image sdcard.img { in-partition-table = "no" image = "bl1.bin.hardkernel" offset = 0 + holes = {"(440; 512)"} } partition u-boot { in-partition-table = "no" image = "uboot-odc2.img" - offset = 49664 + offset = 49664 # 48KB + 512B } partition boot { diff --git a/board/hardkernel/odroidxu4/genimage.cfg b/board/hardkernel/odroidxu4/genimage.cfg index e6b85cf2fac..0a90d6be504 100644 --- a/board/hardkernel/odroidxu4/genimage.cfg +++ b/board/hardkernel/odroidxu4/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "exynos5422-odroidxu4.dtb" } } + size = 32M } @@ -17,34 +18,34 @@ image sdcard.img { in-partition-table = "no" image = "bl1.bin.hardkernel" offset = 512 - size = 15360 + size = 15K } partition bl2 { in-partition-table = "no" image = "bl2.bin.hardkernel.720k_uboot" - offset = 15872 - size = 16384 + offset = 15872 # 15KB + 512B + size = 16K } partition u-boot { in-partition-table = "no" image = "u-boot-dtb.bin" - offset = 32256 - size = 720k + offset = 32256 # 31KB + 512B + size = 720K } partition tzsw { in-partition-table = "no" image = "tzsw.bin.hardkernel" - offset = 769536 - size = 256k + offset = 769536 # 751KB + 512B + size = 256K } partition vfat { partition-type = 0xC image = "boot.vfat" - offset = 2097152 + offset = 2M } partition rootfs { diff --git a/board/intel/galileo/genimage.cfg b/board/intel/galileo/genimage.cfg index 31add21e676..76c3d9c36eb 100644 --- a/board/intel/galileo/genimage.cfg +++ b/board/intel/galileo/genimage.cfg @@ -1,14 +1,12 @@ # Create an image of the efi partition image efi-part.vfat { vfat { - file startup.nsh { - image = "efi-part/startup.nsh" - } file EFI { image = "efi-part/EFI" } } - size=512K + + size = 512K } # Create the sdcard image, pulling in diff --git a/board/intel/galileo/patches/linux/0001-x86-relocs-Make-per_cpu_load_addr-static.patch b/board/intel/galileo/patches/linux/0001-x86-relocs-Make-per_cpu_load_addr-static.patch new file mode 100644 index 00000000000..1d206cc6d13 --- /dev/null +++ b/board/intel/galileo/patches/linux/0001-x86-relocs-Make-per_cpu_load_addr-static.patch @@ -0,0 +1,39 @@ +From eeeda4cd06e828b331b15741a204ff9f5874d28d Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Wed, 24 Sep 2014 13:30:12 +0100 +Subject: [PATCH] x86/relocs: Make per_cpu_load_addr static + +per_cpu_load_addr is only used for 64-bit relocations, but is +declared in both configurations of relocs.c - with different +types. This has undefined behaviour in general. GNU ld is +documented to use the larger size in this case, but other tools +may differ and some warn about this. + +References: https://bugs.debian.org/748577 +Reported-by: Michael Tautschnig +Signed-off-by: Ben Hutchings +Cc: 748577@bugs.debian.org +Cc: Linus Torvalds +Link: http://lkml.kernel.org/r/1411561812.3659.23.camel@decadent.org.uk +Signed-off-by: Ingo Molnar +Signed-off-by: Giulio Benetti +--- + arch/x86/tools/relocs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c +index bbb1d2259ecf..a5efb21d5228 100644 +--- a/arch/x86/tools/relocs.c ++++ b/arch/x86/tools/relocs.c +@@ -695,7 +695,7 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel, + * + */ + static int per_cpu_shndx = -1; +-Elf_Addr per_cpu_load_addr; ++static Elf_Addr per_cpu_load_addr; + + static void percpu_init(void) + { +-- +2.25.1 + diff --git a/board/kontron/bl-imx8mm/extlinux.conf b/board/kontron/bl-imx8mm/extlinux.conf new file mode 100644 index 00000000000..d38f7f81b7e --- /dev/null +++ b/board/kontron/bl-imx8mm/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mm-kontron-n801x-s.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/kontron/bl-imx8mm/genimage.cfg b/board/kontron/bl-imx8mm/genimage.cfg new file mode 100644 index 00000000000..c98bc4f1508 --- /dev/null +++ b/board/kontron/bl-imx8mm/genimage.cfg @@ -0,0 +1,18 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + gpt-location = 16K + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 33K + } + + partition rootfs { + image = "rootfs.ext4" + offset = 8M + partition-uuid = %PARTUUID% + } +} diff --git a/board/kontron/bl-imx8mm/patches/uboot/0001-imx-imx8mm-imx8mm-kontron-n801x-s-convert-options-to.patch b/board/kontron/bl-imx8mm/patches/uboot/0001-imx-imx8mm-imx8mm-kontron-n801x-s-convert-options-to.patch new file mode 100644 index 00000000000..6d76282defb --- /dev/null +++ b/board/kontron/bl-imx8mm/patches/uboot/0001-imx-imx8mm-imx8mm-kontron-n801x-s-convert-options-to.patch @@ -0,0 +1,31 @@ +From 95a311af81cd47c44d3d6e3f717f06a06d8f3dfd Mon Sep 17 00:00:00 2001 +From: Heiko Thiery +Date: Mon, 10 Jan 2022 14:13:02 +0100 +Subject: [PATCH 1/2] imx: imx8mm: imx8mm-kontron-n801x-s: convert options to Kconfig + +CONFIG_SPL_MMC and CONFIG_SPL_SERIAL + +Patch submitted upstream: +https://patchwork.ozlabs.org/project/uboot/patch/20220112085755.7396-1-heiko.thiery@gmail.com/ + +Signed-off-by: Heiko Thiery +--- + configs/kontron-sl-mx8mm_defconfig | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configs/kontron-sl-mx8mm_defconfig b/configs/kontron-sl-mx8mm_defconfig +index 35d12fca32..940bf07a92 100644 +--- a/configs/kontron-sl-mx8mm_defconfig ++++ b/configs/kontron-sl-mx8mm_defconfig +@@ -15,6 +15,8 @@ CONFIG_SPL_DM_SPI=y + CONFIG_DEFAULT_DEVICE_TREE="imx8mm-kontron-n801x-s" + CONFIG_SPL_TEXT_BASE=0x7E1000 + CONFIG_TARGET_KONTRON_MX8MM=y ++CONFIG_SPL_MMC=y ++CONFIG_SPL_SERIAL=y + CONFIG_BOOTCOUNT_BOOTLIMIT=3 + CONFIG_SPL=y + CONFIG_DISTRO_DEFAULTS=y +-- +2.30.2 + diff --git a/board/kontron/bl-imx8mm/patches/uboot/0002-imx-imx8mm-imx8mm-kontron-n801x-s-add-common-board-u.patch b/board/kontron/bl-imx8mm/patches/uboot/0002-imx-imx8mm-imx8mm-kontron-n801x-s-add-common-board-u.patch new file mode 100644 index 00000000000..a88d7aba870 --- /dev/null +++ b/board/kontron/bl-imx8mm/patches/uboot/0002-imx-imx8mm-imx8mm-kontron-n801x-s-add-common-board-u.patch @@ -0,0 +1,305 @@ +From ef694c19c074333fd16589ec6ffef3e7ca895186 Mon Sep 17 00:00:00 2001 +From: Heiko Thiery +Date: Wed, 12 Jan 2022 08:44:36 +0100 +Subject: [PATCH 2/2] imx: imx8mm: imx8mm-kontron-n801x-s: add common board + u-boot.dtsi + +When using a board variant that selects the lvds specific dtb the +*.u-boot.dtsi file will not be included. To have a lvds dtb specific +u-boot.dtsi file move this part to a common board u-boot.dtsi file and +include this in the board base u-boot.dtsi and create an additional one +for the lvds variant. + +Patch submitted upstream: +https://patchwork.ozlabs.org/project/uboot/patch/20220112085755.7396-2-heiko.thiery@gmail.com/ + +Signed-off-by: Heiko Thiery +--- + .../imx8mm-kontron-n801x-s-lvds-u-boot.dtsi | 6 + + .../dts/imx8mm-kontron-n801x-s-u-boot.dtsi | 124 +---------------- + arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi | 128 ++++++++++++++++++ + 3 files changed, 135 insertions(+), 123 deletions(-) + create mode 100644 arch/arm/dts/imx8mm-kontron-n801x-s-lvds-u-boot.dtsi + create mode 100644 arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi + +diff --git a/arch/arm/dts/imx8mm-kontron-n801x-s-lvds-u-boot.dtsi b/arch/arm/dts/imx8mm-kontron-n801x-s-lvds-u-boot.dtsi +new file mode 100644 +index 0000000000..4bf75722bf +--- /dev/null ++++ b/arch/arm/dts/imx8mm-kontron-n801x-s-lvds-u-boot.dtsi +@@ -0,0 +1,6 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2019 Kontron Electronics GmbH ++ */ ++ ++#include "imx8mm-kontron-n801x-u-boot.dtsi" +diff --git a/arch/arm/dts/imx8mm-kontron-n801x-s-u-boot.dtsi b/arch/arm/dts/imx8mm-kontron-n801x-s-u-boot.dtsi +index 22d18e6f1c..4bf75722bf 100644 +--- a/arch/arm/dts/imx8mm-kontron-n801x-s-u-boot.dtsi ++++ b/arch/arm/dts/imx8mm-kontron-n801x-s-u-boot.dtsi +@@ -3,126 +3,4 @@ + * Copyright (C) 2019 Kontron Electronics GmbH + */ + +-#include "imx8mm-u-boot.dtsi" +- +-/ { +- aliases { +- usb0 = &usbotg1; +- usb1 = &usbotg2; +- }; +- +- wdt-reboot { +- compatible = "wdt-reboot"; +- wdt = <&wdog1>; +- u-boot,dm-spl; +- }; +- +- firmware { +- optee { +- compatible = "linaro,optee-tz"; +- method = "smc"; +- }; +- }; +-}; +- +-&fec1 { +- phy-mode = "rgmii-rxid"; +-}; +- +-&i2c1 { +- u-boot,dm-spl; +- u-boot,dm-pre-reloc; +-}; +- +-&i2c2 { +- status = "okay"; +- u-boot,dm-spl; +- u-boot,dm-pre-reloc; +-}; +- +-&pinctrl_ecspi1 { +- u-boot,dm-spl; +-}; +- +-&pinctrl_i2c1 { +- u-boot,dm-spl; +-}; +- +-&pinctrl_pmic { +- u-boot,dm-spl; +- fsl,pins = < +- MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x141 +- /* Disable Pullup for SD_VSEL */ +- MX8MM_IOMUXC_GPIO1_IO04_GPIO1_IO4 0x41 +- >; +-}; +- +-&pinctrl_uart3 { +- u-boot,dm-spl; +- u-boot,dm-pre-reloc; +-}; +- +-&pinctrl_usdhc1 { +- u-boot,dm-spl; +-}; +- +-&pinctrl_usdhc1_100mhz { +- u-boot,dm-spl; +-}; +- +-&pinctrl_usdhc1_200mhz { +- u-boot,dm-spl; +-}; +- +-&pinctrl_usdhc2 { +- u-boot,dm-spl; +-}; +- +-&pca9450 { +- u-boot,dm-spl; +-}; +- +-&{/soc@0/bus@30800000/i2c@30a20000/pmic@25/regulators} { +- u-boot,dm-spl; +-}; +- +-&ecspi1 { +- u-boot,dm-spl; +-}; +- +-&gpio1 { +- u-boot,dm-spl; +-}; +- +-&gpio2 { +- u-boot,dm-spl; +-}; +- +-&gpio3 { +- u-boot,dm-spl; +-}; +- +-&gpio4 { +- u-boot,dm-spl; +-}; +- +-&gpio5 { +- u-boot,dm-spl; +-}; +- +-&uart3 { +- u-boot,dm-spl; +- u-boot,dm-pre-reloc; +-}; +- +-&usdhc1 { +- u-boot,dm-spl; +-}; +- +-&usdhc2 { +- u-boot,dm-spl; +-}; +- +-&wdog1 { +- u-boot,dm-spl; +-}; ++#include "imx8mm-kontron-n801x-u-boot.dtsi" +diff --git a/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi b/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi +new file mode 100644 +index 0000000000..22d18e6f1c +--- /dev/null ++++ b/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi +@@ -0,0 +1,128 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2019 Kontron Electronics GmbH ++ */ ++ ++#include "imx8mm-u-boot.dtsi" ++ ++/ { ++ aliases { ++ usb0 = &usbotg1; ++ usb1 = &usbotg2; ++ }; ++ ++ wdt-reboot { ++ compatible = "wdt-reboot"; ++ wdt = <&wdog1>; ++ u-boot,dm-spl; ++ }; ++ ++ firmware { ++ optee { ++ compatible = "linaro,optee-tz"; ++ method = "smc"; ++ }; ++ }; ++}; ++ ++&fec1 { ++ phy-mode = "rgmii-rxid"; ++}; ++ ++&i2c1 { ++ u-boot,dm-spl; ++ u-boot,dm-pre-reloc; ++}; ++ ++&i2c2 { ++ status = "okay"; ++ u-boot,dm-spl; ++ u-boot,dm-pre-reloc; ++}; ++ ++&pinctrl_ecspi1 { ++ u-boot,dm-spl; ++}; ++ ++&pinctrl_i2c1 { ++ u-boot,dm-spl; ++}; ++ ++&pinctrl_pmic { ++ u-boot,dm-spl; ++ fsl,pins = < ++ MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x141 ++ /* Disable Pullup for SD_VSEL */ ++ MX8MM_IOMUXC_GPIO1_IO04_GPIO1_IO4 0x41 ++ >; ++}; ++ ++&pinctrl_uart3 { ++ u-boot,dm-spl; ++ u-boot,dm-pre-reloc; ++}; ++ ++&pinctrl_usdhc1 { ++ u-boot,dm-spl; ++}; ++ ++&pinctrl_usdhc1_100mhz { ++ u-boot,dm-spl; ++}; ++ ++&pinctrl_usdhc1_200mhz { ++ u-boot,dm-spl; ++}; ++ ++&pinctrl_usdhc2 { ++ u-boot,dm-spl; ++}; ++ ++&pca9450 { ++ u-boot,dm-spl; ++}; ++ ++&{/soc@0/bus@30800000/i2c@30a20000/pmic@25/regulators} { ++ u-boot,dm-spl; ++}; ++ ++&ecspi1 { ++ u-boot,dm-spl; ++}; ++ ++&gpio1 { ++ u-boot,dm-spl; ++}; ++ ++&gpio2 { ++ u-boot,dm-spl; ++}; ++ ++&gpio3 { ++ u-boot,dm-spl; ++}; ++ ++&gpio4 { ++ u-boot,dm-spl; ++}; ++ ++&gpio5 { ++ u-boot,dm-spl; ++}; ++ ++&uart3 { ++ u-boot,dm-spl; ++ u-boot,dm-pre-reloc; ++}; ++ ++&usdhc1 { ++ u-boot,dm-spl; ++}; ++ ++&usdhc2 { ++ u-boot,dm-spl; ++}; ++ ++&wdog1 { ++ u-boot,dm-spl; ++}; +-- +2.30.2 + diff --git a/board/kontron/bl-imx8mm/post-build.sh b/board/kontron/bl-imx8mm/post-build.sh new file mode 100755 index 00000000000..bf8861f6a91 --- /dev/null +++ b/board/kontron/bl-imx8mm/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/kontron/bl-imx8mm/readme.txt b/board/kontron/bl-imx8mm/readme.txt new file mode 100644 index 00000000000..df47ba5174c --- /dev/null +++ b/board/kontron/bl-imx8mm/readme.txt @@ -0,0 +1,85 @@ +Kontron BL i.MX8M Mini +====================== + +https://www.kontron.com/produkte/baseboard-bl-i.mx8m-mini/p158549 + + +How to build it +=============== + +Configure buildroot: + + $ make kontron_bl_imx8mm_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +=================== + +After building, the output/images directory contains: + + output/images/ + ├── bl31.bin + ├── boot.scr + ├── ddr_fw.bin + ├── flash.bin + ├── Image + ├── imx8mm-kontron-n801x-s.dtb + ├── lpddr4_pmu_train_1d_dmem_201904.bin + ├── lpddr4_pmu_train_1d_dmem_202006.bin + ├── lpddr4_pmu_train_1d_dmem.bin + ├── lpddr4_pmu_train_1d_dmem_pad.bin + ├── lpddr4_pmu_train_1d_fw.bin + ├── lpddr4_pmu_train_1d_imem_201904.bin + ├── lpddr4_pmu_train_1d_imem_202006.bin + ├── lpddr4_pmu_train_1d_imem.bin + ├── lpddr4_pmu_train_1d_imem_pad.bin + ├── lpddr4_pmu_train_2d_dmem_201904.bin + ├── lpddr4_pmu_train_2d_dmem_202006.bin + ├── lpddr4_pmu_train_2d_dmem.bin + ├── lpddr4_pmu_train_2d_dmem_pad.bin + ├── lpddr4_pmu_train_2d_fw.bin + ├── lpddr4_pmu_train_2d_imem_201904.bin + ├── lpddr4_pmu_train_2d_imem_202006.bin + ├── lpddr4_pmu_train_2d_imem.bin + ├── lpddr4_pmu_train_2d_imem_pad.bin + ├── lpddr4_pmu_train_fw.bin + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── sdcard.img + ├── u-boot.bin + └── u-boot-spl.bin + + +Flashing the SD card image +========================== + +To install the image on a SDCard simply copy sdcard.img to the storage (e.g. SD, eMMC) + + $ sudo dd if=output/images/sdcard.img of= + + +Preparing the board +=================== + + * Connect a serial line to the board + * Insert the SD card + * Power-up the board + + +Booting the board +================= + +By default the bootloader will search for the first valid image, starting +with the internal eMMC. To make sure the bootloader loads bootscript from +the correct location (SD card) set the boot_targets environment variable: + + $ setenv boot_targets mmc1 diff --git a/board/kontron/pitx-imx8m/extlinux.conf b/board/kontron/pitx-imx8m/extlinux.conf new file mode 100644 index 00000000000..2911acec591 --- /dev/null +++ b/board/kontron/pitx-imx8m/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mq-kontron-pitx-imx8m.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/kontron/pitx-imx8m/genimage.cfg b/board/kontron/pitx-imx8m/genimage.cfg new file mode 100644 index 00000000000..4a0aa117fb0 --- /dev/null +++ b/board/kontron/pitx-imx8m/genimage.cfg @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "imx8-boot-sd.bin" + offset = 33K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/kontron/pitx-imx8m/post-build.sh b/board/kontron/pitx-imx8m/post-build.sh new file mode 100755 index 00000000000..bf8861f6a91 --- /dev/null +++ b/board/kontron/pitx-imx8m/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/kontron/pitx-imx8m/post-image.sh b/board/kontron/pitx-imx8m/post-image.sh new file mode 100755 index 00000000000..3452fd4501f --- /dev/null +++ b/board/kontron/pitx-imx8m/post-image.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg diff --git a/board/kontron/pitx-imx8m/readme.txt b/board/kontron/pitx-imx8m/readme.txt new file mode 100644 index 00000000000..7c85dd43779 --- /dev/null +++ b/board/kontron/pitx-imx8m/readme.txt @@ -0,0 +1,74 @@ +Kontron pitx-imx8m +================== + +https://www.kontron.com/produkte/pitx-imx8m/p155258 + + +How to build it +=============== + +Configure buildroot: + + $ make kontron_pitx_imx8m_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and buildr the rootfs image: + + $ make + + +Result of the build +=================== + +After building, the output/images directory contains: + + output/images/ + ├── bl31.bin + ├── boot.scr + ├── ddr_fw.bin + ├── Image + ├── imx8-boot-sd.bin + ├── imx8mq-kontron-pitx-imx8m.dtb + ├── lpddr4_pmu_train_fw.bin + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── sdcard.img + ├── signed_hdmi_imx8m.bin + ├── u-boot.bin + ├── u-boot.itb + ├── u-boot-nodtb.bin + ├── u-boot-spl.bin + └── u-boot-spl-ddr.bin + + +Flashing the SD card image +========================== + +To install the image on a SDCard simply copy sdcard.img to the storage (e.g. SD, eMMC) + + $ sudo dd if=output/images/sdcard.img of= + + +Preparing the board +=================== + + * Connect a serial line to the board + * Insert the SD card + * Make sure the boot source selection DIP switches are set correctly + * SW1 1-4 OFF + * SW1 2-3 OFF + * Power-up the board + + +Booting the board +================= + +By default the bootloader will search for the first valid image, starting +with the internal eMMC. To make sure the bootloader loads bootscript from +the correct location (SD card) set the boot_targets environment variable: + + $ setenv boot_targets mmc1 diff --git a/board/kontron/smarc-sal28/genimage.cfg b/board/kontron/smarc-sal28/genimage.cfg index f3fb77e00a0..c885cd51a66 100644 --- a/board/kontron/smarc-sal28/genimage.cfg +++ b/board/kontron/smarc-sal28/genimage.cfg @@ -1,10 +1,11 @@ image sdcard-emmc.img { hdimage { - gpt = true + partition-table-type = "gpt" + gpt-location = 16K } partition rcw { - offset = 4k + offset = 4K in-partition-table = "no" image = "rcw.bin" } diff --git a/board/lego/ev3/genimage.cfg b/board/lego/ev3/genimage.cfg index 14880e8f118..3eaf3915bbc 100644 --- a/board/lego/ev3/genimage.cfg +++ b/board/lego/ev3/genimage.cfg @@ -5,8 +5,8 @@ # The Flash image flash nor-16M-256 { - pebsize = 4096 - numpebs = 4096 + pebsize = 4K + numpebs = 4K minimum-io-unit-size = 256 } @@ -14,24 +14,28 @@ image flash.bin { flash { } flashtype = "nor-16M-256" + partition uboot { image = "u-boot.bin" size = 256K } + partition dtb { image = "da850-lego-ev3.dtb" + offset = 256K size = 64K - offset = 0x40000 } + partition uimage { image = "uImage" + offset = 320K size = 4M - offset = 0x50000 } + partition rootfs { image = "rootfs.squashfs" + offset = 4416K # 4M + 320KB size = 10M - offset = 0x450000 } } @@ -42,22 +46,26 @@ image boot.vfat { file uImage { image = "uImage" } + file da850-lego-ev3.dtb { image = "da850-lego-ev3.dtb" } } + size = 16M } image sdcard.img { hdimage { } + partition boot { partition-type = 0xC bootable = "true" image = "boot.vfat" offset = 4M } + partition rootfs { partition-type = 0x83 image = "rootfs.ext2" diff --git a/board/lemaker/bananapro/genimage.cfg b/board/lemaker/bananapro/genimage.cfg index 190a4b1ff39..9d15f35e3ac 100644 --- a/board/lemaker/bananapro/genimage.cfg +++ b/board/lemaker/bananapro/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -19,8 +20,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/licheepi/genimage.cfg b/board/licheepi/genimage.cfg index 0d8540f2a09..8dcb2e708e5 100644 --- a/board/licheepi/genimage.cfg +++ b/board/licheepi/genimage.cfg @@ -7,6 +7,7 @@ image boot.vfat { "boot.scr" } } + size = 8M } @@ -17,8 +18,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 516096 # 512KB - 8192 + offset = 8K + size = 504K # 512KB - 8KB } partition boot { diff --git a/board/linksprite/pcduino/genimage.cfg b/board/linksprite/pcduino/genimage.cfg index 9cbc383d443..db33322118b 100644 --- a/board/linksprite/pcduino/genimage.cfg +++ b/board/linksprite/pcduino/genimage.cfg @@ -10,6 +10,7 @@ image boot.vfat { "boot.scr" } } + size = 16M } @@ -24,8 +25,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/microchip/sam9x60ek_mmc/genimage.cfg b/board/microchip/sam9x60ek_mmc/genimage.cfg index c41581091ed..629caf3ef7f 100644 --- a/board/microchip/sam9x60ek_mmc/genimage.cfg +++ b/board/microchip/sam9x60ek_mmc/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "u-boot.bin" } } + size = 16M } diff --git a/board/microchip/sama5d2_icp/genimage.cfg b/board/microchip/sama5d2_icp/genimage.cfg new file mode 100644 index 00000000000..eecb2ef115e --- /dev/null +++ b/board/microchip/sama5d2_icp/genimage.cfg @@ -0,0 +1,32 @@ +# Image for SD card boot on Microchip SAMA5D2 ICP (Industrial Connectivity Platform) +# +image boot.vfat { + vfat { + files = { + "zImage", + "at91-sama5d2_icp.dtb", + "boot.bin", + "u-boot.bin" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/microchip/sama7g5ek/genimage.cfg b/board/microchip/sama7g5ek/genimage.cfg new file mode 100644 index 00000000000..ade29e4b5df --- /dev/null +++ b/board/microchip/sama7g5ek/genimage.cfg @@ -0,0 +1,31 @@ +# Image for SD card boot on Microchip SAMA7G5EK (sama7g5 evaluation kit) +# +image boot.vfat { + vfat { + files = { + "zImage", + "at91-sama7g5ek.dtb", + "boot.bin", + "u-boot.bin" + } + } + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/minnowboard/fs-overlay-graphical/etc/X11/xorg.conf.d/01-modules.conf b/board/minnowboard/fs-overlay-graphical/etc/X11/xorg.conf.d/01-modules.conf new file mode 100644 index 00000000000..91659baa652 --- /dev/null +++ b/board/minnowboard/fs-overlay-graphical/etc/X11/xorg.conf.d/01-modules.conf @@ -0,0 +1,11 @@ + +# Xorg does not implement real dynamic linking and requires that its +# modules get loaded in the right order. +# https://forums.gentoo.org/viewtopic-p-8245578.html#8245578 +Section "Module" + Load "vgahw" + Load "fb" + Load "shadowfb" + Load "int10" + Load "vbe" +EndSection diff --git a/board/minnowboard/genimage.cfg b/board/minnowboard/genimage.cfg index c5b07179b4f..b169d1d0679 100644 --- a/board/minnowboard/genimage.cfg +++ b/board/minnowboard/genimage.cfg @@ -1,9 +1,6 @@ # Create an image of the efi partition image efi-part.vfat { vfat { - file startup.nsh { - image = "efi-part/startup.nsh" - } file EFI { image = "efi-part/EFI" } @@ -11,7 +8,8 @@ image efi-part.vfat { image = "bzImage" } } - size=10M + + size = 10M } # Create the sdcard image, pulling in @@ -19,7 +17,7 @@ image efi-part.vfat { # * the efi-partition created above image sdcard.img { hdimage { - gpt = true + partition-table-type = "gpt" } partition boot { diff --git a/board/nexbox/a95x/genimage.cfg b/board/nexbox/a95x/genimage.cfg index 63b96107c96..81bcc82c9b8 100644 --- a/board/nexbox/a95x/genimage.cfg +++ b/board/nexbox/a95x/genimage.cfg @@ -7,6 +7,7 @@ image boot.vfat { "boot.scr" } } + size = 32M } diff --git a/board/nezha/genimage.cfg b/board/nezha/genimage.cfg new file mode 100644 index 00000000000..783391fb994 --- /dev/null +++ b/board/nezha/genimage.cfg @@ -0,0 +1,37 @@ +# Minimal SD card image for the Allwinner Nezha + +image sdcard.img { + hdimage { + } + + partition boot0-1 { + in-partition-table = "no" + image = "boot0_sdcard_sun20iw1p1.bin" + offset = 8K + } + + partition boot0-2 { + in-partition-table = "no" + image = "boot0_sdcard_sun20iw1p1.bin" + offset = 128K + } + + partition u-boot-1 { + in-partition-table = "no" + image = "u-boot.toc1" + offset = 12M + } + + partition u-boot-2 { + in-partition-table = "no" + image = "u-boot.toc1" + offset = 16400K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + offset = 18M + } +} diff --git a/board/nezha/overlay/boot/extlinux/extlinux.conf b/board/nezha/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..02232f4d16c --- /dev/null +++ b/board/nezha/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + devicetree /boot/sun20i-d1-nezha.dtb + append console=ttyS0,115200 root=/dev/mmcblk0p1 ro rootwait diff --git a/board/nezha/patches/uboot/0001-arch-riscv-dts-sun20i-d1.dtsi-adjust-plic-compatible.patch b/board/nezha/patches/uboot/0001-arch-riscv-dts-sun20i-d1.dtsi-adjust-plic-compatible.patch new file mode 100644 index 00000000000..3524f44a61d --- /dev/null +++ b/board/nezha/patches/uboot/0001-arch-riscv-dts-sun20i-d1.dtsi-adjust-plic-compatible.patch @@ -0,0 +1,36 @@ +From 99cf8f37ceb1def9e7bbaccc395cf2275723e03d Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Thu, 4 Nov 2021 22:15:13 +0100 +Subject: [PATCH] arch/riscv/dts/sun20i-d1.dtsi: adjust plic compatible to + match opensbi + +The T-HEAD PLIC is by default not accessible from S-mode, and access must be +enabled by opensbi to make it accessible to Linux. + +The DTB is used both by U-Boot and opensbi (but the PLIC node is ignored by +U-Boot), so change the compatible to match what opensbi expects to fix a +crash during Linux boot: + +https://github.com/riscv-software-src/opensbi/commit/78c2b19218bd + +Signed-off-by: Peter Korsgaard +--- + arch/riscv/dts/sun20i-d1.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/riscv/dts/sun20i-d1.dtsi b/arch/riscv/dts/sun20i-d1.dtsi +index 280e0336d4..56d02c33b0 100644 +--- a/arch/riscv/dts/sun20i-d1.dtsi ++++ b/arch/riscv/dts/sun20i-d1.dtsi +@@ -1136,7 +1136,7 @@ + + plic: interrupt-controller@10000000 { + compatible = "allwinner,sun20i-d1-plic", +- "sifive,plic-1.0.0"; ++ "thead,c900-plic"; + reg = <0x10000000 0x4000000>; + #address-cells = <0>; + interrupts-extended = <&cpu0_intc 11>, +-- +2.20.1 + diff --git a/board/nezha/patches/uboot/0002-Makefile-HACK-Support-building-u-boot.toc1-for-nezda.patch b/board/nezha/patches/uboot/0002-Makefile-HACK-Support-building-u-boot.toc1-for-nezda.patch new file mode 100644 index 00000000000..6e89a921df3 --- /dev/null +++ b/board/nezha/patches/uboot/0002-Makefile-HACK-Support-building-u-boot.toc1-for-nezda.patch @@ -0,0 +1,54 @@ +From 4a923e0e4ef6d2b41cb89d658e269adada847573 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Thu, 4 Nov 2021 22:32:04 +0100 +Subject: [PATCH] Makefile: HACK: Support building u-boot.toc1 for nezda board + +For easier integration into Buildroot. The boot0 / toc1 logic is WIP until +U-Boot gains SPL support for the D1, so add a hack to make it easier to +integrate in Buildroot as-is. + +Signed-off-by: Peter Korsgaard +--- + Makefile | 9 +++++++++ + nezha.cfg | 9 +++++++++ + 2 files changed, 18 insertions(+) + create mode 100644 nezha.cfg + +diff --git a/Makefile b/Makefile +index f911f70344..259d93bf80 100644 +--- a/Makefile ++++ b/Makefile +@@ -1084,6 +1084,15 @@ endif + .binman_stamp: FORCE + @touch $@ + ++fw_dynamic.bin: $(OPENSBI) ++ $(call if_changed,copy) ++ ++MKIMAGEFLAGS_u-boot.toc1 = -T sunxi_toc1 ++u-boot.toc1: nezha.cfg fw_dynamic.bin inputs ++ $(call if_changed,mkimage) ++ ++all: u-boot.toc1 ++ + ifeq ($(CONFIG_DEPRECATED),y) + $(warning "You have deprecated configuration options enabled in your .config! Please check your configuration.") + endif +diff --git a/nezha.cfg b/nezha.cfg +new file mode 100644 +index 0000000000..2d23b9b388 +--- /dev/null ++++ b/nezha.cfg +@@ -0,0 +1,9 @@ ++[opensbi] ++file = fw_dynamic.bin ++addr = 0x40000000 ++[dtb] ++file = arch/riscv/dts/sun20i-d1-nezha.dtb ++addr = 0x44000000 ++[u-boot] ++file = u-boot-nodtb.bin ++addr = 0x4a000000 +-- +2.20.1 + diff --git a/board/nezha/readme.txt b/board/nezha/readme.txt new file mode 100644 index 00000000000..fd4c6707de8 --- /dev/null +++ b/board/nezha/readme.txt @@ -0,0 +1,24 @@ +Allwinner Nezha +=============== + +Nezha is is a low-cost RISC-V 64-bit based platform, powered by an +Allwinner D1 SoC. + +How to build +============ + +$ make nezha_defconfig +$ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the debug connector, insert the microSD card and +plug in a USB-C cable to the PWR connector to boot the system. diff --git a/board/olimex/a13_olinuxino/genimage.cfg b/board/olimex/a13_olinuxino/genimage.cfg index 6f6b0b0babc..4eb14eb520f 100644 --- a/board/olimex/a13_olinuxino/genimage.cfg +++ b/board/olimex/a13_olinuxino/genimage.cfg @@ -1,12 +1,13 @@ image boot.vfat { - vfat { - files = { - "zImage", - "sun5i-a13-olinuxino.dtb", - "boot.scr" - } - } - size = 64M + vfat { + files = { + "zImage", + "sun5i-a13-olinuxino.dtb", + "boot.scr" + } + } + + size = 64M } image sdcard.img { @@ -16,16 +17,15 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } partition rootfs { partition-type = 0x83 diff --git a/board/olimex/a20_olinuxino/genimage.cfg b/board/olimex/a20_olinuxino/genimage.cfg index fc2f7f8d766..b48e12a8312 100644 --- a/board/olimex/a20_olinuxino/genimage.cfg +++ b/board/olimex/a20_olinuxino/genimage.cfg @@ -5,8 +5,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition rootfs { diff --git a/board/olimex/a20_olinuxino/linux-disable-lima.fragment b/board/olimex/a20_olinuxino/linux-disable-lima.fragment new file mode 100644 index 00000000000..4c36f8aab30 --- /dev/null +++ b/board/olimex/a20_olinuxino/linux-disable-lima.fragment @@ -0,0 +1,2 @@ +# Disable LIMA in favour of Mali +# CONFIG_DRM_LIMA is not set diff --git a/board/olimex/a20_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/a20_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..358bda056bf --- /dev/null +++ b/board/olimex/a20_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label Olinuxino + kernel /boot/zImage + fdtdir /boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 drm_kms_helper.drm_leak_fbdev_smem=1 drm_kms_helper.drm_fbdev_overalloc=200 ${extra} diff --git a/board/olimex/a33_olinuxino/genimage.cfg b/board/olimex/a33_olinuxino/genimage.cfg index fc2f7f8d766..b48e12a8312 100644 --- a/board/olimex/a33_olinuxino/genimage.cfg +++ b/board/olimex/a33_olinuxino/genimage.cfg @@ -5,8 +5,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition rootfs { diff --git a/board/olimex/a64-olinuxino/genimage.cfg b/board/olimex/a64-olinuxino/genimage.cfg index 328b68be195..ac59e915d9b 100644 --- a/board/olimex/a64-olinuxino/genimage.cfg +++ b/board/olimex/a64-olinuxino/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -13,17 +14,11 @@ image sdcard.img { hdimage { } - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - partition u-boot { in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1032K # 1MB - 8KB + 16KB(GPT) } partition boot { diff --git a/board/olimex/stmp1_olinuxino/genimage.cfg b/board/olimex/stmp1_olinuxino/genimage.cfg new file mode 100644 index 00000000000..2f00ee979a8 --- /dev/null +++ b/board/olimex/stmp1_olinuxino/genimage.cfg @@ -0,0 +1,25 @@ +image sdcard.img { + hdimage { + gpt = "true" + } + + partition fsbl1 { + image = "u-boot-spl.stm32" + size = 256K + } + + partition fsbl2 { + image = "u-boot-spl.stm32" + size = 256K + } + + partition ssbl { + image = "u-boot.img" + size = 2M + } + + partition rootfs { + image = "rootfs.ext4" + bootable = "yes" + } +} diff --git a/board/olimex/stmp1_olinuxino/linux.config b/board/olimex/stmp1_olinuxino/linux.config new file mode 100644 index 00000000000..592c44368cd --- /dev/null +++ b/board/olimex/stmp1_olinuxino/linux.config @@ -0,0 +1,125 @@ +CONFIG_SYSVIPC=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_NAMESPACES=y +CONFIG_EMBEDDED=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +CONFIG_SMP=y +CONFIG_HIGHMEM=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_ARM_CRYPTO=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CAN=m +CONFIG_CAN_M_CAN=m +CONFIG_CAN_M_CAN_PLATFORM=m +CONFIG_UEVENT_HELPER=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_OF_OVERLAY=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=4 +CONFIG_NETDEVICES=y +CONFIG_STMMAC_ETH=y +CONFIG_MICREL_PHY=y +CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_EVDEV=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_AXP20X_PEK=m +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_NULL_TTY=m +CONFIG_SERIAL_DEV_BUS=m +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_STM32F7=y +CONFIG_SPI=y +CONFIG_SPI_MEM=y +CONFIG_SPI_STM32=m +CONFIG_SPI_STM32_QSPI=m +CONFIG_PINCTRL_AXP209=m +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=y +CONFIG_CPU_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_AXP20X=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_DRM=y +CONFIG_DRM_STM=m +CONFIG_DRM_STM_DSI=m +CONFIG_DRM_PANEL_LVDS=m +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m +CONFIG_DRM_ITE_IT66121=m +CONFIG_DRM_ETNAVIV=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_GPIO=m +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_OHCI_HCD=y +CONFIG_MMC=y +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_UIO=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +CONFIG_CLKSRC_STM32_LP=y +CONFIG_STM32_IPCC=y +CONFIG_REMOTEPROC=y +CONFIG_STM32_RPROC=y +CONFIG_IIO=y +CONFIG_IIO_SW_TRIGGER=y +CONFIG_SD_ADC_MODULATOR=y +CONFIG_STM32_ADC_CORE=y +CONFIG_STM32_ADC=y +CONFIG_STM32_DFSDM_ADC=y +CONFIG_STM32_DAC=y +CONFIG_IIO_HRTIMER_TRIGGER=y +CONFIG_IIO_STM32_LPTIMER_TRIGGER=y +CONFIG_PWM=y +CONFIG_PWM_STM32=m +CONFIG_PWM_STM32_LP=m +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_VFAT_FS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y +CONFIG_PRINTK_TIME=y diff --git a/board/olimex/stmp1_olinuxino/readme.txt b/board/olimex/stmp1_olinuxino/readme.txt new file mode 100644 index 00000000000..8c641c6c86f --- /dev/null +++ b/board/olimex/stmp1_olinuxino/readme.txt @@ -0,0 +1,53 @@ +STMP157-OLinuXino-LIME2 + +Intro +===== + +These are open hardware boards, all based on the STmicro STMP157 SoC. + +for more details about the board see the following pages: + - https://www.olimex.com/Products/OLinuXino/open-source-hardware + - https://www.olimex.com/Products/OLinuXino/STMP1/STMP157-OLinuXino-LIME2/ + +The following defconfigs are available: + - olimex_stmp157_olinuxino_lime_defconfig + +How to build it +=============== + +Configure Buildroot: + + $ make _defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- stm32mp1xx-olinuxino-lime.dtb + +-- u-boot-spl.stm32 + +-- u-boot.img + `-- zImage + + +How to write the SD card +======================== + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to a uSD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the uSD. + +Eject the SD card, insert it in the STMP1-OLinuXino board, and power it up. + diff --git a/board/olimex/stmp1_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/stmp1_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..edb601c7c91 --- /dev/null +++ b/board/olimex/stmp1_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stmp1-olinuxino-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp1xx-olinuxino-lime.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/orangepi/common/extlinux.conf b/board/orangepi/common/extlinux.conf new file mode 100644 index 00000000000..12f496b1fab --- /dev/null +++ b/board/orangepi/common/extlinux.conf @@ -0,0 +1,4 @@ +LABEL default + kernel /boot/%LINUXIMAGE% + devicetreedir /boot + append root=PARTUUID=%PARTUUID% rootwait console=${console} rootfstype=ext4 quiet panic=10 diff --git a/board/orangepi/common/genimage.cfg b/board/orangepi/common/genimage.cfg new file mode 100644 index 00000000000..a61c4a039fb --- /dev/null +++ b/board/orangepi/common/genimage.cfg @@ -0,0 +1,20 @@ +image sdcard.img { + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1000K # 1MB - 8KB(offset) - 16KB(GPT) + } + + hdimage { + partition-table-type = gpt + gpt-location = 1008K # 1MB - 16KB(GPT) + gpt-no-backup = true + } + + partition rootfs { + offset = 1M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/orangepi/common/post-build.sh b/board/orangepi/common/post-build.sh new file mode 100755 index 00000000000..296f94b1747 --- /dev/null +++ b/board/orangepi/common/post-build.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +linux_image() +{ + if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then + echo "uImage" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then + echo "Image" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then + echo "Image.gz" + else + echo "zImage" + fi +} + +generic_getty() +{ + if grep -Eq "^BR2_TARGET_GENERIC_GETTY=y$" ${BR2_CONFIG}; then + echo "" + else + echo "s/\s*console=\S*//" + fi +} + +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" + +sed -e "$(generic_getty)" \ + -e "s/%LINUXIMAGE%/$(linux_image)/g" \ + -e "s/%PARTUUID%/$PARTUUID/g" \ + "board/orangepi/common/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" + +sed "s/%PARTUUID%/$PARTUUID/g" "board/orangepi/common/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/orangepi/orangepi-lite/genimage.cfg b/board/orangepi/orangepi-lite/genimage.cfg index cd81f986b21..b422a751a86 100644 --- a/board/orangepi/orangepi-lite/genimage.cfg +++ b/board/orangepi/orangepi-lite/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -18,8 +19,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/orangepi/orangepi-lite2/genimage.cfg b/board/orangepi/orangepi-lite2/genimage.cfg index 97251b483f7..bc981eed518 100644 --- a/board/orangepi/orangepi-lite2/genimage.cfg +++ b/board/orangepi/orangepi-lite2/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "extlinux" } } + size = 64M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/orangepi/orangepi-one-plus/genimage.cfg b/board/orangepi/orangepi-one-plus/genimage.cfg index ebb07e8b260..80b83b02154 100644 --- a/board/orangepi/orangepi-one-plus/genimage.cfg +++ b/board/orangepi/orangepi-one-plus/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "extlinux" } } + size = 64M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/orangepi/orangepi-one/genimage.cfg b/board/orangepi/orangepi-one/genimage.cfg index 4640ff2b139..2a14dcdec25 100644 --- a/board/orangepi/orangepi-one/genimage.cfg +++ b/board/orangepi/orangepi-one/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -18,8 +19,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/orangepi/orangepi-pc-plus/boot.cmd b/board/orangepi/orangepi-pc-plus/boot.cmd index 0c75c862e08..c91f77942f9 100644 --- a/board/orangepi/orangepi-pc-plus/boot.cmd +++ b/board/orangepi/orangepi-pc-plus/boot.cmd @@ -1,6 +1,6 @@ setenv fdt_high ffffffff -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait +setenv bootargs console=ttyS0,115200 earlyprintk root=PARTLABEL=rootfs rootwait fatload mmc 0 $kernel_addr_r zImage fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-pc-plus.dtb diff --git a/board/orangepi/orangepi-pc-plus/genimage.cfg b/board/orangepi/orangepi-pc-plus/genimage.cfg index 9ffa1a21ae6..3812d785d55 100644 --- a/board/orangepi/orangepi-pc-plus/genimage.cfg +++ b/board/orangepi/orangepi-pc-plus/genimage.cfg @@ -8,28 +8,35 @@ image boot.vfat { "boot.scr" } } + size = 10M } image sdcard.img { hdimage { + # for root=PARTLABEL support + partition-table-type = "gpt" + # default GPT location conflicts with bootloaders, move it after + gpt-location = 1M } partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { - partition-type = 0xC + partition-type-uuid = "F" bootable = "true" image = "boot.vfat" } + # 'rootfs' will be used as the partition label, used + # with root=PARTLABEL=rootfs kernel command line partition rootfs { - partition-type = 0x83 + partition-type-uuid = "L" image = "rootfs.ext4" size = 512M } diff --git a/board/orangepi/orangepi-pc/genimage.cfg b/board/orangepi/orangepi-pc/genimage.cfg index 932d81cf125..14e326cc56a 100644 --- a/board/orangepi/orangepi-pc/genimage.cfg +++ b/board/orangepi/orangepi-pc/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -18,8 +19,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/orangepi/orangepi-pc2/genimage.cfg b/board/orangepi/orangepi-pc2/genimage.cfg index e10c67ffc33..cc8695c9f1e 100644 --- a/board/orangepi/orangepi-pc2/genimage.cfg +++ b/board/orangepi/orangepi-pc2/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/orangepi/orangepi-plus/genimage.cfg b/board/orangepi/orangepi-plus/genimage.cfg index 391678b73a0..1ca30258dcb 100644 --- a/board/orangepi/orangepi-plus/genimage.cfg +++ b/board/orangepi/orangepi-plus/genimage.cfg @@ -8,6 +8,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -18,8 +19,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/orangepi/orangepi-prime/genimage.cfg b/board/orangepi/orangepi-prime/genimage.cfg index bb01ed9f105..dde9a6485fb 100644 --- a/board/orangepi/orangepi-prime/genimage.cfg +++ b/board/orangepi/orangepi-prime/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/orangepi/orangepi-r1/genimage.cfg b/board/orangepi/orangepi-r1/genimage.cfg index edda03b3ef6..e93e802bd92 100644 --- a/board/orangepi/orangepi-r1/genimage.cfg +++ b/board/orangepi/orangepi-r1/genimage.cfg @@ -8,13 +8,14 @@ image boot.vfat { "boot.scr" } } + size = 10M } image sdcard.img { hdimage { # for root=PARTLABEL support - gpt = true + partition-table-type = "gpt" # default GPT location conflicts with spl, move it after gpt-location = 1M } @@ -22,12 +23,12 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1056768 # 1MB - 8192 + 16384 (GPT) + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { - partition-type = 0xC + partition-type-uuid = "U" bootable = "true" image = "boot.vfat" } @@ -35,7 +36,7 @@ image sdcard.img { # 'rootfs' will be used as the partition label, used # with root=PARTLABEL=rootfs kernel command line partition rootfs { - partition-type = 0x83 + partition-type-uuid = "L" image = "rootfs.ext4" size = 512M } diff --git a/board/orangepi/orangepi-rk3399/extlinux.conf b/board/orangepi/orangepi-rk3399/extlinux.conf index 5109625160b..157c6a715e7 100644 --- a/board/orangepi/orangepi-rk3399/extlinux.conf +++ b/board/orangepi/orangepi-rk3399/extlinux.conf @@ -1,4 +1,4 @@ -label RK3399_ROCKPRO64 linux +label RK3399_ORANGEPI linux kernel /Image devicetree /rk3399-orangepi.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rw rootwait diff --git a/board/orangepi/orangepi-rk3399/genimage.cfg b/board/orangepi/orangepi-rk3399/genimage.cfg index 21272c28f67..a02166172fb 100644 --- a/board/orangepi/orangepi-rk3399/genimage.cfg +++ b/board/orangepi/orangepi-rk3399/genimage.cfg @@ -6,13 +6,13 @@ image boot.vfat { "extlinux" } } + size = 64M } image sdcard.img { - hdimage { - gpt = true + partition-table-type = "gpt" } partition loader1 { @@ -26,14 +26,13 @@ image sdcard.img { } partition boot { - partition-type = 0xC + partition-type-uuid = F bootable = "true" image = "boot.vfat" offset = 16M } partition rootfs { - partition-type = 0x83 image = "rootfs.ext4" } } diff --git a/board/orangepi/orangepi-win/genimage.cfg b/board/orangepi/orangepi-win/genimage.cfg index db025d55ca3..98fd1a033d8 100644 --- a/board/orangepi/orangepi-win/genimage.cfg +++ b/board/orangepi/orangepi-win/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/orangepi/orangepi-zero-plus/genimage.cfg b/board/orangepi/orangepi-zero-plus/genimage.cfg index ec15898ddd3..a8f3161c392 100644 --- a/board/orangepi/orangepi-zero-plus/genimage.cfg +++ b/board/orangepi/orangepi-zero-plus/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/orangepi/orangepi-zero-plus2/genimage.cfg b/board/orangepi/orangepi-zero-plus2/genimage.cfg index 98ebf5b475f..5a7ee7707ab 100644 --- a/board/orangepi/orangepi-zero-plus2/genimage.cfg +++ b/board/orangepi/orangepi-zero-plus2/genimage.cfg @@ -6,32 +6,27 @@ image boot.vfat { "boot.scr" } } + size = 64M } image sdcard.img { hdimage { # for root=PARTLABEL support - gpt = true + partition-table-type = "gpt" # default GPT location conflicts with bootloaders, move it after gpt-location = 1M } partition spl { in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1024000 # 1MB - 40K + 16K(GPT) + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { - partition-type = 0xC + partition-type-uuid = "F" bootable = "true" image = "boot.vfat" } @@ -39,7 +34,7 @@ image sdcard.img { # 'rootfs' will be used as the partition label, used # with root=PARTLABEL=rootfs kernel command line partition rootfs { - partition-type = 0x83 + partition-type-uuid = "L" image = "rootfs.ext4" size = 256M } diff --git a/board/orangepi/orangepi-zero/boot.cmd b/board/orangepi/orangepi-zero/boot.cmd deleted file mode 100644 index 44f0885ff4a..00000000000 --- a/board/orangepi/orangepi-zero/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-zero/genimage.cfg b/board/orangepi/orangepi-zero/genimage.cfg deleted file mode 100644 index 017435f28ef..00000000000 --- a/board/orangepi/orangepi-zero/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the OrangePi Zero -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h2-plus-orangepi-zero.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-zero/linux-extras.config b/board/orangepi/orangepi-zero/linux-extras.fragment similarity index 100% rename from board/orangepi/orangepi-zero/linux-extras.config rename to board/orangepi/orangepi-zero/linux-extras.fragment diff --git a/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch b/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch index 146d23d1afc..16207afcb1f 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch @@ -1,7 +1,7 @@ From 321faaf4b78d46a0c77782c1798856746f0619e9 Mon Sep 17 00:00:00 2001 From: Sergey Matyukevich Date: Fri, 19 May 2017 23:39:48 +0300 -Subject: [PATCH 1/3] ARM: dts: orange-pi-zero: specify XR819 WiFi chip +Subject: [PATCH] ARM: dts: orange-pi-zero: specify XR819 WiFi chip interrupts The orange-pi-zero board has Allwinner XR819 SDIO wifi chip. The board diff --git a/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch b/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch index fc24e7b8a73..e4c52ab9113 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch @@ -1,7 +1,7 @@ From 068c3baff3048a3db4ef2518ff917ce749cd8169 Mon Sep 17 00:00:00 2001 From: Sergey Matyukevich Date: Sat, 20 May 2017 11:24:26 +0300 -Subject: [PATCH 2/3] ARM: dts: orange-pi-zero: enable SPI NOR +Subject: [PATCH] ARM: dts: orange-pi-zero: enable SPI NOR Enable SPI NOR on orange-pi-zero board. diff --git a/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch b/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch index 553155ce12f..ae0ed9ba3b6 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch @@ -1,7 +1,7 @@ From 8dd1b2a696bb7e9914abd11cc6f5c0f54c33d626 Mon Sep 17 00:00:00 2001 From: Sergey Matyukevich Date: Sat, 20 May 2017 15:36:51 +0300 -Subject: [PATCH 3/3] ARM: dts: orange-pi-zero: enable spidev +Subject: [PATCH] ARM: dts: orange-pi-zero: enable spidev On orange-pi-zero board SPI1 pins are accessible via GPIO expansion port. This patch enables spidev driver for SPI1. diff --git a/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch b/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch new file mode 100644 index 00000000000..839bc160873 --- /dev/null +++ b/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch @@ -0,0 +1,35 @@ +From e8768cc1f0f1231cbd4864417de629330e21222d Mon Sep 17 00:00:00 2001 +From: Sergey Kuzminov +Date: Sun, 21 Nov 2021 00:58:32 +0300 +Subject: [PATCH] ARM: dts: orange-pi-zero: enable uart + +Enable uart1 and uart2 on orange-pi-zero board. + +Signed-off-by: Sergey Kuzminov +--- + arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +index f19ed981da9d..03acf166ab70 100644 +--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +@@ -184,13 +184,13 @@ &uart0 { + &uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; +- status = "disabled"; ++ status = "okay"; + }; + + &uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; +- status = "disabled"; ++ status = "okay"; + }; + + &usb_otg { +-- +2.32.0 + diff --git a/board/pandaboard/genimage.cfg b/board/pandaboard/genimage.cfg index f30033f023c..dfe388227ec 100644 --- a/board/pandaboard/genimage.cfg +++ b/board/pandaboard/genimage.cfg @@ -5,6 +5,7 @@ image boot.vfat { "u-boot.img" } } + size = 8M } diff --git a/board/pc/genimage-bios.cfg b/board/pc/genimage-bios.cfg index c6694999155..54026f6527e 100644 --- a/board/pc/genimage-bios.cfg +++ b/board/pc/genimage-bios.cfg @@ -1,24 +1,23 @@ image disk.img { + hdimage { + } - hdimage { - } + partition boot { + in-partition-table = "no" + image = "boot.img" + offset = 0 + size = 512 + holes = {"(440; 512)"} + } - 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.ext2" - } + partition grub { + in-partition-table = "no" + image = "grub.img" + offset = 512 + } + partition root { + partition-type = 0x83 + image = "rootfs.ext2" + } } diff --git a/board/pc/genimage-efi.cfg b/board/pc/genimage-efi.cfg index ec7e85b06cf..035a077a78c 100644 --- a/board/pc/genimage-efi.cfg +++ b/board/pc/genimage-efi.cfg @@ -1,34 +1,32 @@ image efi-part.vfat { - vfat { - file startup.nsh { - image = "efi-part/startup.nsh" - } - file EFI { - image = "efi-part/EFI" - } - file bzImage { - image = "bzImage" - } - } - # 16MB - 32KB - size = 16744448 + vfat { + file EFI { + image = "efi-part/EFI" + } + + file bzImage { + image = "bzImage" + } + } + + size = 16352K # 16MB - 32KB } image disk.img { - hdimage { - gpt = true - } + hdimage { + partition-table-type = "gpt" + } - partition boot { - image = "efi-part.vfat" - partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b - offset = 32768 - bootable = true - } + partition boot { + image = "efi-part.vfat" + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b + offset = 32K + bootable = true + } - partition root { - partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a - partition-uuid = UUID_TMP - image = "rootfs.ext2" - } + partition root { + partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a + partition-uuid = UUID_TMP + image = "rootfs.ext2" + } } diff --git a/board/pc/post-build.sh b/board/pc/post-build.sh index ed37b3b87e9..c76dee26764 100755 --- a/board/pc/post-build.sh +++ b/board/pc/post-build.sh @@ -5,11 +5,11 @@ set -e BOARD_DIR=$(dirname "$0") # Detect boot strategy, EFI or BIOS -if [ -f "$BINARIES_DIR/efi-part/startup.nsh" ]; then +if [ -d "$BINARIES_DIR/efi-part/" ]; then cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" else cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg" # Copy grub 1st stage to binaries, required for genimage - cp -f "$HOST_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR" + cp -f "$TARGET_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR" fi diff --git a/board/pine64/pine64/genimage.cfg b/board/pine64/pine64/genimage.cfg index 2ff38d5415a..06b4ed1056d 100644 --- a/board/pine64/pine64/genimage.cfg +++ b/board/pine64/pine64/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/pine64/rock64/genimage.cfg b/board/pine64/rock64/genimage.cfg index 0b5a0d8804c..7b749d1dd68 100644 --- a/board/pine64/rock64/genimage.cfg +++ b/board/pine64/rock64/genimage.cfg @@ -1,23 +1,23 @@ image sdcard.img { - hdimage { - } + hdimage { + } - partition uboot-spl { - in-partition-table = "no" - image = "u-boot-tpl-spl.img" - offset = 32768 # 512 * 0x40 from start of sd card - } + partition uboot-spl { + in-partition-table = "no" + image = "u-boot-tpl-spl.img" + offset = 32K # 512 * 0x40 from start of sd card + } - partition uboot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 262144 # 512 * 0x200 from start of sd card - } + partition uboot { + in-partition-table = "no" + image = "u-boot.itb" + offset = 256K # 512 * 0x200 from start of sd card + } - partition rootfs { - partition-type = 0x83 - bootable = "yes" - image = "rootfs.ext2" - size = 500M - } + partition rootfs { + partition-type = 0x83 + bootable = "yes" + image = "rootfs.ext2" + size = 500M + } } diff --git a/board/pine64/rockpro64/genimage.cfg b/board/pine64/rockpro64/genimage.cfg index 0ba25c0eef0..d3926f2df6e 100644 --- a/board/pine64/rockpro64/genimage.cfg +++ b/board/pine64/rockpro64/genimage.cfg @@ -6,13 +6,13 @@ image boot.vfat { "extlinux" } } + size = 64M } image sdcard.img { - hdimage { - gpt = true + partition-table-type = "gpt" } partition loader1 { @@ -26,14 +26,14 @@ image sdcard.img { } partition boot { - partition-type = 0xC + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b bootable = "true" image = "boot.vfat" offset = 16M } partition rootfs { - partition-type = 0x83 + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae image = "rootfs.ext4" } } diff --git a/board/pine64/sopine/genimage.cfg b/board/pine64/sopine/genimage.cfg index 02ebe7ab9bf..9300f3d6016 100644 --- a/board/pine64/sopine/genimage.cfg +++ b/board/pine64/sopine/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,14 +17,14 @@ image sdcard.img { partition spl { in-partition-table = "no" image = "sunxi-spl.bin" - offset = 8192 + offset = 8K } partition u-boot { in-partition-table = "no" image = "u-boot.itb" offset = 40K - size = 1M # 1MB - 40K + size = 1M # 1MB - 40KB } partition boot { diff --git a/board/qemu/aarch64-sbsa/assemble-flash-images b/board/qemu/aarch64-sbsa/assemble-flash-images new file mode 100755 index 00000000000..abcc276b0bd --- /dev/null +++ b/board/qemu/aarch64-sbsa/assemble-flash-images @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +BOARD_DIR="$(dirname $0)" + +cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg + +# The QEMU sbsa machine expects flash devices to be 256M. +truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH0.fd +truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH1.fd diff --git a/board/qemu/aarch64-sbsa/genimage.cfg b/board/qemu/aarch64-sbsa/genimage.cfg new file mode 100644 index 00000000000..bdf8a89d75b --- /dev/null +++ b/board/qemu/aarch64-sbsa/genimage.cfg @@ -0,0 +1,31 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae + image = "rootfs.ext2" + } +} diff --git a/board/qemu/aarch64-sbsa/grub.cfg b/board/qemu/aarch64-sbsa/grub.cfg new file mode 100644 index 00000000000..cd486caf4c5 --- /dev/null +++ b/board/qemu/aarch64-sbsa/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=/dev/sda2 rootwait console=ttyAMA0 +} diff --git a/board/qemu/aarch64-sbsa/linux.config b/board/qemu/aarch64-sbsa/linux.config new file mode 100644 index 00000000000..a60cce02ecb --- /dev/null +++ b/board/qemu/aarch64-sbsa/linux.config @@ -0,0 +1,68 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_TASKSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_PROFILING=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_COMPAT=y +CONFIG_FW_CFG_SYSFS=y +CONFIG_FW_CFG_SYSFS_CMDLINE=y +CONFIG_ACPI=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BINFMT_MISC=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_BRIDGE=m +CONFIG_NET_SCHED=y +CONFIG_VSOCKETS=y +CONFIG_PCI=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_SG=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_MACVLAN=y +CONFIG_VIRTIO_NET=y +CONFIG_NLMON=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_TCG_TPM=y +CONFIG_TCG_TIS=y +CONFIG_DRM=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PL031=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_MAILBOX=y +CONFIG_PL320_MBOX=y +CONFIG_ARM_SMMU_V3=y +CONFIG_EXT4_FS=y +CONFIG_FUSE_FS=y +CONFIG_VIRTIO_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/aarch64-sbsa/readme.txt b/board/qemu/aarch64-sbsa/readme.txt new file mode 100644 index 00000000000..cf5f66d4d60 --- /dev/null +++ b/board/qemu/aarch64-sbsa/readme.txt @@ -0,0 +1,32 @@ +Intro +===== + +The QEMU sbsa-ref machine is primarily meant for firmware development +and testing according to ARM's SBSA and SBBR standards. + +Build +===== + + $ make qemu_aarch64_sbsa_defconfig + $ make + +Emulation +========= + +Run the emulation with: + + qemu-system-aarch64 \ + -M sbsa-ref \ + -cpu cortex-a57 \ + -smp 4 \ + -m 1024 \ + -nographic \ + -pflash output/images/SBSA_FLASH0.fd \ + -pflash output/images/SBSA_FLASH1.fd \ + -hda output/images/disk.img # qemu_aarch64_sbsa_defconfig + +Note that if you want to run sbsa-ref emulation with QEMU provided by +your distro (i.e., not host-qemu by Buildroot) then you may need to +install the SeaBIOS package for some required drivers. On Debian: + + # apt install seabios diff --git a/board/qemu/aarch64-virt/linux.config b/board/qemu/aarch64-virt/linux.config index 02e0812ffd4..f9763b73b7b 100644 --- a/board/qemu/aarch64-virt/linux.config +++ b/board/qemu/aarch64-virt/linux.config @@ -3,6 +3,11 @@ CONFIG_POSIX_MQUEUE=y CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y CONFIG_TASKSTATS=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y CONFIG_SCHED_AUTOGROUP=y CONFIG_PROFILING=y CONFIG_ARCH_VEXPRESS=y @@ -42,6 +47,7 @@ CONFIG_DUMMY=y CONFIG_MACVLAN=y CONFIG_VIRTIO_NET=y CONFIG_NLMON=y +CONFIG_INPUT_EVDEV=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_VIRTIO_CONSOLE=y @@ -51,9 +57,11 @@ CONFIG_TCG_TPM=y CONFIG_TCG_TIS=y CONFIG_DRM=y CONFIG_DRM_VIRTIO_GPU=y +CONFIG_FB=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_PL031=y CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_INPUT=y CONFIG_VIRTIO_MMIO=y CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y CONFIG_MAILBOX=y @@ -62,5 +70,6 @@ CONFIG_ARM_SMMU_V3=y CONFIG_EXT4_FS=y CONFIG_FUSE_FS=y CONFIG_VIRTIO_FS=y +CONFIG_OVERLAY_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/arm-versatile/linux-nommu.config b/board/qemu/arm-versatile/linux-nommu.config deleted file mode 100644 index 1d91d51a145..00000000000 --- a/board/qemu/arm-versatile/linux-nommu.config +++ /dev/null @@ -1,47 +0,0 @@ -# CONFIG_MMU is not set -CONFIG_ARCH_VERSATILE=y -CONFIG_ARM_SINGLE_ARCH_VERSATILE=y -CONFIG_SET_MEM_PARAM=y -CONFIG_DRAM_BASE=0x00000000 -CONFIG_DRAM_SIZE=0x08000000 -CONFIG_ARCH_VERSATILE_PB=y -CONFIG_MACH_VERSATILE_AB=y -CONFIG_MACH_VERSATILE_DT=y -CONFIG_BINFMT_FLAT=y -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_AEABI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_NETDEVICES=y -CONFIG_SMC91X=y -CONFIG_PHYLIB=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=m -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=m -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_SOUND=y -CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_ARMAACI=m -CONFIG_EXT4_FS=y -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_MAGIC_SYSRQ=y diff --git a/board/qemu/arm-versatile/linux-nommu.fragment b/board/qemu/arm-versatile/linux-nommu.fragment new file mode 100644 index 00000000000..6f1cc3f26d4 --- /dev/null +++ b/board/qemu/arm-versatile/linux-nommu.fragment @@ -0,0 +1,59 @@ +# CONFIG_ARM_SINGLE_ARMV7M is not set +CONFIG_ARM_SINGLE_ARCH_VERSATILE=y +CONFIG_BINFMT_ELF_FDPIC=y +CONFIG_BINFMT_FLAT=y +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CRAMFS is not set +CONFIG_CMDLINE="" +# CONFIG_DEBUG_FS is not set +# CONFIG_DEBUG_KERNEL is not set +# CONFIG_DEBUG_USER is not set +# CONFIG_DRM is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EXT2_FS is not set +CONFIG_EXT4_FS=y +CONFIG_FB_ARMCLCD=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FTRACE is not set +# CONFIG_GPIO_PL061 is not set +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_HWMON=y +# CONFIG_I2C_VERSATILE is not set +CONFIG_INET_DIAG=y +CONFIG_INPUT_EVDEV=y +CONFIG_IPV6=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_PNP is not set +# CONFIG_MMU is not set +CONFIG_LOCALVERSION_AUTO=y +# CONFIG_LOGO is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MDIO_DEVICE=y +# CONFIG_MINIX_FS is not set +# CONFIG_MMC is not set +# CONFIG_MTD is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_NFSD is not set +# CONFIG_NFS_FS is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_ISO8859_1 is not set +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NVMEM is not set +CONFIG_DRAM_BASE=0x00000000 +CONFIG_DRAM_SIZE=0x08000000 +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" +# CONFIG_PARTITION_ADVANCED is not set +# CONFIG_OABI_COMPAT is not set +CONFIG_PHYLIB=y +# CONFIG_ROMFS_FS is not set +# CONFIG_RTC_CLASS is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIO_SERPORT=y +CONFIG_SET_MEM_PARAM=y +CONFIG_SLUB=y +# CONFIG_SPI is not set +# CONFIG_SYNC_FILE is not set +# CONFIG_VFP is not set diff --git a/board/qemu/arm-versatile/linux.config b/board/qemu/arm-versatile/linux.config deleted file mode 100644 index b1001d84a7d..00000000000 --- a/board/qemu/arm-versatile/linux.config +++ /dev/null @@ -1,43 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_ARCH_VERSATILE=y -CONFIG_PCI=y -CONFIG_PCI_VERSATILE=y -CONFIG_AEABI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_SYM53C8XX_2=y -CONFIG_NETDEVICES=y -CONFIG_8139CP=y -CONFIG_PHYLIB=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=m -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=m -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_SOUND=y -CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_ARMAACI=m -CONFIG_EXT4_FS=y -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_MAGIC_SYSRQ=y diff --git a/board/qemu/arm-versatile/linux.fragment b/board/qemu/arm-versatile/linux.fragment new file mode 100644 index 00000000000..0aed5583155 --- /dev/null +++ b/board/qemu/arm-versatile/linux.fragment @@ -0,0 +1,66 @@ +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CMA is not set +# CONFIG_CRAMFS is not set +CONFIG_CMDLINE="" +CONFIG_CRC16=y +CONFIG_CRYPTO=y +# CONFIG_DEBUG_FS is not set +# CONFIG_DEBUG_KERNEL is not set +# CONFIG_DEBUG_USER is not set +CONFIG_DEVTMPFS=y +# CONFIG_DRM is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EXT2_FS is not set +CONFIG_EXT4_FS=y +CONFIG_FB_ARMCLCD=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FTRACE is not set +# CONFIG_GPIOLIB is not set +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_HWMON=y +CONFIG_HZ_PERIODIC=y +# CONFIG_I2C_VERSATILE is not set +CONFIG_INET_DIAG=y +CONFIG_INPUT_EVDEV=y +CONFIG_IPV6=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_PNP is not set +CONFIG_LOCALVERSION_AUTO=y +# CONFIG_LOGO is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MDIO_DEVICE=y +# CONFIG_MINIX_FS is not set +# CONFIG_MMC is not set +# CONFIG_MTD is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_NFSD is not set +# CONFIG_NFS_FS is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_ISO8859_1 is not set +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NVMEM is not set +# CONFIG_OABI_COMPAT is not set +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PCI=y +CONFIG_PCI_VERSATILE=y +CONFIG_PHYLIB=y +# CONFIG_ROMFS_FS is not set +# CONFIG_RTC_CLASS is not set +CONFIG_SCSI=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SCSI_SYM53C8XX_2=y +CONFIG_SERIO_SERPORT=y +CONFIG_SLUB=y +# CONFIG_SPI is not set +# CONFIG_SYNC_FILE is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_VFP is not set +# CONFIG_XZ_DEC is not set +CONFIG_8139CP=y +CONFIG_BLK_DEV_SD=y diff --git a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch b/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch index 956ae5f5f5b..1a5130deb48 100644 --- a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch +++ b/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch @@ -1,10 +1,19 @@ -From 525dd2f3cf4a94837ce6b71d793acb90c25a5654 Mon Sep 17 00:00:00 2001 +From 7c245ffc17a9ab6215830d4ecd8b2f9beddb487c Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 1 Feb 2019 11:36:20 +0100 Subject: [PATCH] arm-versatile-nommu: Linux patch Originally made by Waldemar Brodkorb from LKML. +Rename CLKSRC_OF to TIMER_OF (kernel >= 4.13) +https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb0eb050a577a866cb47c2dc37596f1207f4c2d9 + +Remove GENERIC_CLOCKEVENTS since its enabled by default (kernel >= 5.11) +https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0774a6ed294b963dc76df2d8342ab86d030759ec + +Select CONFIG_GENERIC_IRQ_MULTI_HANDLER since irqchip doesn't select it anymore (kernel >= 5.12) +https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a79f7051cccb6f3bcd3d2a0a058c7d5c79bb0371 + Signed-Off-by: Waldemar Brodkorb [Gerome: reformated as a Git patch] Signed-off-by: Gerome Burlats @@ -21,10 +30,10 @@ Signed-off-by: Romain Naour create mode 100644 arch/arm/mach-versatile/Makefile.boot diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 002e0cf025f5..c71299b6f91f 100644 +index dcf2df6da98f..c2155c1a2eba 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -343,6 +343,17 @@ config ARM_SINGLE_ARMV7M +@@ -337,6 +337,17 @@ config ARM_SINGLE_ARMV7M select SPARSE_IRQ select USE_OF @@ -32,21 +41,21 @@ index 002e0cf025f5..c71299b6f91f 100644 + bool "ARM Ltd. Versatile family" + depends on !MMU + select AUTO_ZRELADDR -+ select CLKSRC_OF ++ select TIMER_OF + select COMMON_CLK -+ select GENERIC_CLOCKEVENTS ++ select GENERIC_IRQ_MULTI_HANDLER + select GPIOLIB + select SPARSE_IRQ + select USE_OF + - config ARCH_EBSA110 - bool "EBSA-110" - select ARCH_USES_GETTIMEOFFSET + config ARCH_EP93XX + bool "EP93xx-based" + select ARCH_SPARSEMEM_ENABLE diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug -index 8986a91a6f31..69cb6404e8ce 100644 +index 98436702e0c7..7e63299ceb40 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug -@@ -1943,7 +1943,8 @@ config DEBUG_UNCOMPRESS +@@ -1891,7 +1891,8 @@ config DEBUG_UNCOMPRESS config UNCOMPRESS_INCLUDE string default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \ @@ -109,5 +118,5 @@ index 02ba68abe533..835b51bc597b 100644 /* -- -2.17.1 +2.31.1 diff --git a/board/qemu/arm-vexpress-tz/post-build.sh b/board/qemu/arm-vexpress-tz/post-build.sh index 7ead69a99ae..97cc53791c1 100755 --- a/board/qemu/arm-vexpress-tz/post-build.sh +++ b/board/qemu/arm-vexpress-tz/post-build.sh @@ -3,8 +3,7 @@ set -u set -e -# Rename boot images for the dear TF-A -ln -sf u-boot.bin ${BINARIES_DIR}/bl33.bin -ln -sf tee-header_v2.bin ${BINARIES_DIR}/bl32.bin -ln -sf tee-pager_v2.bin ${BINARIES_DIR}/bl32_extra1.bin -ln -sf tee-pageable_v2.bin ${BINARIES_DIR}/bl32_extra2.bin +# Create flash.bin TF-A FIP image from bl1.bin and fip.bin +cd "$BINARIES_DIR" +dd if=bl1.bin of=flash.bin bs=4096 +dd if=fip.bin of=flash.bin seek=64 bs=4096 conv=notrunc diff --git a/board/qemu/arm-vexpress-tz/readme.txt b/board/qemu/arm-vexpress-tz/readme.txt index abce7502918..3036dd54cab 100644 --- a/board/qemu/arm-vexpress-tz/readme.txt +++ b/board/qemu/arm-vexpress-tz/readme.txt @@ -6,19 +6,18 @@ builds of the QEMU host ARM target emulator. make qemu_arm_vexpress_tz_defconfig make -The BIOS used in the QEMU host is the ARM Trusted Firmware-A (TF-A). TF-A -uses QEMU semihosting file access to access boot image files. The -QEMU platform is quite specific for that in TF-A and one needs to -run the emulation from the image directory for TF-A to boot the -secure and non-secure worlds. +The BIOS used in the QEMU host is the ARM Trusted Firmware-A (TF-A). +In our configuration, U-Boot uses QEMU semihosting file access to load the +kernel and rootfs image files. For this reason the emulation needs to be run +from the image directory: cd output/images && ../host/bin/qemu-system-arm \ -machine virt -machine secure=on -cpu cortex-a15 \ -smp 1 -s -m 1024 -d unimp \ -serial stdio \ -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ - -semihosting-config enable,target=native \ - -bios bl1.bin # qemu_arm_vexpress_tz_defconfig + -semihosting-config enable=on,target=native \ + -bios flash.bin # qemu_arm_vexpress_tz_defconfig The boot stage traces (if any) followed by the login prompt will appear in the terminal that started QEMU. @@ -64,7 +63,7 @@ consoles over telnet connections: -serial telnet:127.0.0.1:1236,server \ -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ -semihosting-config enable,target=native \ - -bios bl1.bin + -bios flash.bin QEMU is now waiting for the telnet connection. From another shell, open a telnet connection on the port for the U-boot and Linux consoles: @@ -93,7 +92,7 @@ From a first shell: -serial stdio \ -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ -semihosting-config enable,target=native \ - -bios bl1.bin \ + -bios flash.bin \ -S From a second shell: @@ -109,7 +108,7 @@ From this GDB console, connect to the target, load the OP-TEE core symbols, set a breakpoint to its entry point (__text_start) and start emulation: (gdb) target remote 127.0.0.1:1234 - (gdb) symbol-file ./output/build/optee-os-/out/arm/core/tee.elf + (gdb) symbol-file ./output/build/optee-os-/out/core/tee.elf (gdb) hbreak __text_start Hardware assisted breakpoint 1 at 0xe100000: file core/arch/arm/kernel/generic_entry_a32.S, line 246. (gdb) cont diff --git a/board/qemu/arm-vexpress-tz/u-boot.config b/board/qemu/arm-vexpress-tz/u-boot.config index fd74bf1fe7b..48b1d06fdbb 100644 --- a/board/qemu/arm-vexpress-tz/u-boot.config +++ b/board/qemu/arm-vexpress-tz/u-boot.config @@ -1,7 +1,8 @@ CONFIG_SYS_TEXT_BASE=0x60000000 -CONFIG_BOOTCOMMAND="fdt addr ${fdt_addr} && fdt resize 1000 && smhload zImage ${kernel_addr_r} && smhload rootfs.cpio.gz ${ramdisk_addr_r} ramdisk_addr_end && setenv bootargs console=ttyAMA0,115200 earlyprintk=serial,ttyAMA0,115200 && fdt chosen ${ramdisk_addr_r} ${ramdisk_addr_end} && bootz ${kernel_addr_r} - ${fdt_addr}" +CONFIG_BOOTCOMMAND="smhload zImage ${kernel_addr_r} && smhload rootfs.cpio.uboot ${ramdisk_addr_r} && setenv bootargs console=ttyAMA0,115200 earlyprintk=serial,ttyAMA0,115200 && bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}" CONFIG_SEMIHOSTING=y # Drop flash accesses CONFIG_ENV_IS_IN_FLASH=n CONFIG_MTD=n CONFIG_MTD_NOR_FLASH=n +CONFIG_ENV_IS_NOWHERE=y diff --git a/board/qemu/csky/linux-ck610.config.fragment b/board/qemu/csky/linux-ck610.config.fragment deleted file mode 100644 index b690c7d6ecc..00000000000 --- a/board/qemu/csky/linux-ck610.config.fragment +++ /dev/null @@ -1,6 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK610=y -CONFIG_CPU_PM_WAIT=y -CONFIG_RAM_BASE=0x10000000 -CONFIG_CSKY_APB_INTC=y -CONFIG_GX6605S_TIMER=y diff --git a/board/qemu/csky/linux-ck807.config.fragment b/board/qemu/csky/linux-ck807.config.fragment deleted file mode 100644 index b6974f0157c..00000000000 --- a/board/qemu/csky/linux-ck807.config.fragment +++ /dev/null @@ -1,5 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK807=y -# CONFIG_CPU_HAS_FPU is not set -CONFIG_CPU_PM_WAIT=y -CONFIG_CSKY_APB_INTC=y diff --git a/board/qemu/csky/linux-ck810.config.fragment b/board/qemu/csky/linux-ck810.config.fragment deleted file mode 100644 index 50fa1f4f79f..00000000000 --- a/board/qemu/csky/linux-ck810.config.fragment +++ /dev/null @@ -1,5 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK810=y -# CONFIG_CPU_HAS_FPU is not set -CONFIG_CPU_PM_WAIT=y -CONFIG_CSKY_APB_INTC=y diff --git a/board/qemu/csky/linux-ck860.config.fragment b/board/qemu/csky/linux-ck860.config.fragment deleted file mode 100644 index e8f6af10ba2..00000000000 --- a/board/qemu/csky/linux-ck860.config.fragment +++ /dev/null @@ -1,9 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK860=y -# CONFIG_CPU_HAS_FPU is not set -CONFIG_CPU_PM_WAIT=y -CONFIG_SMP=y -CONFIG_HOTPLUG_CPU=y -CONFIG_CSKY_APB_INTC=y -CONFIG_CSKY_MPINTC=y -CONFIG_CSKY_MP_TIMER=y diff --git a/board/qemu/csky/readme.txt b/board/qemu/csky/readme.txt deleted file mode 100644 index 5e4cb1871c4..00000000000 --- a/board/qemu/csky/readme.txt +++ /dev/null @@ -1,15 +0,0 @@ -Run with qemu: - -For ck860 smp: - qemu-system-cskyv2 -M virt -cpu ck860 -smp 2 -nographic -kernel vmlinux # qemu_csky860_virt_defconfig - -For ck807: - qemu-system-cskyv2 -M virt -nographic -kernel vmlinux # qemu_csky807_virt_defconfig - -For ck810: - qemu-system-cskyv2 -M virt -nographic -kernel vmlinux # qemu_csky810_virt_defconfig - -For ck610: - qemu-system-cskyv1 -M virt -nographic -kernel vmlinux # qemu_csky610_virt_defconfig - -The login prompt will appear in the terminal that started Qemu. Username is root and no password. diff --git a/board/qemu/mips32r2-malta/linux.config b/board/qemu/mips32r2-malta/linux.config index 3a26ac830fe..db8ad1760ec 100644 --- a/board/qemu/mips32r2-malta/linux.config +++ b/board/qemu/mips32r2-malta/linux.config @@ -11,11 +11,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips32r2-malta/readme.txt b/board/qemu/mips32r2-malta/readme.txt index db1db65b1e6..77518ccec9b 100644 --- a/board/qemu/mips32r2-malta/readme.txt +++ b/board/qemu/mips32r2-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user # qemu_mips32r2_malta_defconfig + qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user # qemu_mips32r2_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been diff --git a/board/qemu/mips32r2el-malta/linux.config b/board/qemu/mips32r2el-malta/linux.config index 79d73524747..916e522292e 100644 --- a/board/qemu/mips32r2el-malta/linux.config +++ b/board/qemu/mips32r2el-malta/linux.config @@ -12,11 +12,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips32r2el-malta/readme.txt b/board/qemu/mips32r2el-malta/readme.txt index 4dc0e64e020..2a1e84a0fb8 100644 --- a/board/qemu/mips32r2el-malta/readme.txt +++ b/board/qemu/mips32r2el-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user # qemu_mips32r2el_malta_defconfig + qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user # qemu_mips32r2el_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been diff --git a/board/qemu/mips32r6-malta/linux.config b/board/qemu/mips32r6-malta/linux.config index d559676615e..fbfffe2065f 100644 --- a/board/qemu/mips32r6-malta/linux.config +++ b/board/qemu/mips32r6-malta/linux.config @@ -11,11 +11,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe6..00000000000 --- a/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/mips32r6-malta/readme.txt b/board/qemu/mips32r6-malta/readme.txt index 9ad4959f097..ff5f1e36be1 100644 --- a/board/qemu/mips32r6-malta/readme.txt +++ b/board/qemu/mips32r6-malta/readme.txt @@ -1,5 +1,5 @@ Run the emulation with: - qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -nographic # qemu_mips32r6_malta_defconfig + qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips32r6_malta_defconfig The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/mips32r6el-malta/linux.config b/board/qemu/mips32r6el-malta/linux.config index d559676615e..fbfffe2065f 100644 --- a/board/qemu/mips32r6el-malta/linux.config +++ b/board/qemu/mips32r6el-malta/linux.config @@ -11,11 +11,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe6..00000000000 --- a/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/mips32r6el-malta/readme.txt b/board/qemu/mips32r6el-malta/readme.txt index 96c9dc88bf2..29a5a1e02b3 100644 --- a/board/qemu/mips32r6el-malta/readme.txt +++ b/board/qemu/mips32r6el-malta/readme.txt @@ -1,5 +1,5 @@ Run the emulation with: - qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user -nographic # qemu_mips32r6el_malta_defconfig + qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user -nographic # qemu_mips32r6el_malta_defconfig The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/mips64-malta/linux.config b/board/qemu/mips64-malta/linux.config index cd0b560634a..66932fb3db7 100644 --- a/board/qemu/mips64-malta/linux.config +++ b/board/qemu/mips64-malta/linux.config @@ -15,11 +15,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips64-malta/readme.txt b/board/qemu/mips64-malta/readme.txt index 7432dac1a1b..d148a1394a6 100644 --- a/board/qemu/mips64-malta/readme.txt +++ b/board/qemu/mips64-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips64 -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" # qemu_mips64_malta_defconfig + qemu-system-mips64 -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" # qemu_mips64_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/board/qemu/mips64el-malta/linux.config b/board/qemu/mips64el-malta/linux.config index c6b46d4d7f8..516b05b5c6e 100644 --- a/board/qemu/mips64el-malta/linux.config +++ b/board/qemu/mips64el-malta/linux.config @@ -16,11 +16,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips64el-malta/readme.txt b/board/qemu/mips64el-malta/readme.txt index f67ac91ac46..4545fcd9df4 100644 --- a/board/qemu/mips64el-malta/readme.txt +++ b/board/qemu/mips64el-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips64el -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" # qemu_mips64el_malta_defconfig + qemu-system-mips64el -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" # qemu_mips64el_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/board/qemu/mips64r6-malta/linux.config b/board/qemu/mips64r6-malta/linux.config index 0ebfdbdb05e..020e02f1d18 100644 --- a/board/qemu/mips64r6-malta/linux.config +++ b/board/qemu/mips64r6-malta/linux.config @@ -15,11 +15,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe6..00000000000 --- a/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/mips64r6-malta/readme.txt b/board/qemu/mips64r6-malta/readme.txt index 252a5431924..6712d668ccd 100644 --- a/board/qemu/mips64r6-malta/readme.txt +++ b/board/qemu/mips64r6-malta/readme.txt @@ -1,5 +1,5 @@ Run the emulation with: - qemu-system-mips64 -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -nographic # qemu_mips64r6_malta_defconfig + qemu-system-mips64 -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips64r6_malta_defconfig The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/mips64r6el-malta/linux.config b/board/qemu/mips64r6el-malta/linux.config index 0ebfdbdb05e..020e02f1d18 100644 --- a/board/qemu/mips64r6el-malta/linux.config +++ b/board/qemu/mips64r6el-malta/linux.config @@ -15,11 +15,9 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_PCNET32=y CONFIG_INPUT_EVDEV=y diff --git a/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe6..00000000000 --- a/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/mips64r6el-malta/readme.txt b/board/qemu/mips64r6el-malta/readme.txt index e9d02e772af..150ce752281 100644 --- a/board/qemu/mips64r6el-malta/readme.txt +++ b/board/qemu/mips64r6el-malta/readme.txt @@ -1,5 +1,5 @@ Run the emulation with: - qemu-system-mips64el -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -nographic # qemu_mips64r6el_malta_defconfig + qemu-system-mips64el -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips64r6el_malta_defconfig The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/ppc-bamboo/linux.fragment b/board/qemu/ppc-bamboo/linux.fragment new file mode 100644 index 00000000000..cc272d0541f --- /dev/null +++ b/board/qemu/ppc-bamboo/linux.fragment @@ -0,0 +1,6 @@ +# Enable virtio (blk, rng and net devices) +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y diff --git a/board/qemu/ppc-bamboo/readme.txt b/board/qemu/ppc-bamboo/readme.txt new file mode 100644 index 00000000000..53d1970698f --- /dev/null +++ b/board/qemu/ppc-bamboo/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + +qemu-system-ppc -nographic -M bamboo -kernel output/images/vmlinux -net nic,model=virtio-net-pci -net user # qemu_ppc_bamboo_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/ppc-e500mc/linux.fragment b/board/qemu/ppc-e500mc/linux.fragment new file mode 100644 index 00000000000..35a8dccf892 --- /dev/null +++ b/board/qemu/ppc-e500mc/linux.fragment @@ -0,0 +1,10 @@ +# Enables generic PPC e500 base arch support for QEMU. +# The e500mc is a variant of the e500 arch. +CONFIG_PPC_QEMU_E500=y + +# Enable virtio (blk, rng and net devices) +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y diff --git a/board/qemu/ppc-e500mc/readme.txt b/board/qemu/ppc-e500mc/readme.txt new file mode 100644 index 00000000000..76bad015d2d --- /dev/null +++ b/board/qemu/ppc-e500mc/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + + qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -net nic,model=virtio-net-pci -net user -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic # qemu_ppc_e500mc_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/ppc-g3beige/linux.config b/board/qemu/ppc-g3beige/linux.config index 79945535442..f9448842433 100644 --- a/board/qemu/ppc-g3beige/linux.config +++ b/board/qemu/ppc-g3beige/linux.config @@ -1,15 +1,18 @@ CONFIG_ALTIVEC=y CONFIG_SYSVIPC=y CONFIG_HIGHMEM=y -CONFIG_YENTA=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_BLK_DEV_CMD64X=y -CONFIG_BLK_DEV_IDE_PMAC=y +CONFIG_PCCARD=y +CONFIG_YENTA=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_ATA=y +CONFIG_PATA_MACIO=y CONFIG_ADB=y CONFIG_ADB_CUDA=y CONFIG_ADB_PMU=y diff --git a/board/qemu/ppc-g3beige/readme.txt b/board/qemu/ppc-g3beige/readme.txt index e6c9c2016e9..e39579ade22 100644 --- a/board/qemu/ppc-g3beige/readme.txt +++ b/board/qemu/ppc-g3beige/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 rootwait root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user # qemu_ppc_g3beige_defconfig + qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 rootwait root=/dev/sda" -serial stdio -net nic,model=rtl8139 -net user # qemu_ppc_g3beige_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/board/qemu/ppc64-e5500/readme.txt b/board/qemu/ppc64-e5500/readme.txt index 61d51f7f4dd..7c8c80af445 100644 --- a/board/qemu/ppc64-e5500/readme.txt +++ b/board/qemu/ppc64-e5500/readme.txt @@ -1,5 +1,5 @@ Run the emulation with: - qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic # qemu_ppc64_e5500_defconfig + qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -net nic,model=virtio-net-pci -net user -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic # qemu_ppc64_e5500_defconfig The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/ppc64le-powernv8/readme.txt b/board/qemu/ppc64le-powernv8/readme.txt new file mode 100644 index 00000000000..059f55fbc91 --- /dev/null +++ b/board/qemu/ppc64le-powernv8/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + +qemu-system-ppc64 -M powernv9 -kernel vmlinux -append "console=hvc0 rootwait root=/dev/nvme0n1" -device nvme,bus=pcie.3,addr=0x0,drive=drive0,serial=1234 -drive file=./rootfs.ext2,if=none,id=drive0,format=raw,cache=none -device e1000e,netdev=net0,mac=C0:FF:EE:00:01:03,bus=pcie.1,addr=0x0 -netdev user,id=net0 -serial mon:stdio -nographic # qemu_ppc64le_powernv8_defconfig + +The login prompt will appear in the terminal window. diff --git a/board/radxa/rockpi-4/genimage.cfg b/board/radxa/rockpi-4/genimage.cfg index 88986df34da..68cc4d61a82 100644 --- a/board/radxa/rockpi-4/genimage.cfg +++ b/board/radxa/rockpi-4/genimage.cfg @@ -6,13 +6,13 @@ image boot.vfat { "extlinux" } } + size = 112M } image sdcard.img { - hdimage { - gpt = true + partition-table-type = "gpt" } partition loader1 { @@ -26,14 +26,14 @@ image sdcard.img { } partition boot { - partition-type = 0xC + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b bootable = "true" image = "boot.vfat" offset = 16M } partition rootfs { - partition-type = 0x83 + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae image = "rootfs.ext4" } } diff --git a/board/radxa/rockpi-n10/genimage.cfg b/board/radxa/rockpi-n10/genimage.cfg index 8fbf562f28a..7f4b639bbca 100644 --- a/board/radxa/rockpi-n10/genimage.cfg +++ b/board/radxa/rockpi-n10/genimage.cfg @@ -6,13 +6,13 @@ image boot.vfat { "extlinux" } } + size = 112M } image sdcard.img { - hdimage { - gpt = true + partition-table-type = "gpt" } partition loader1 { @@ -26,14 +26,14 @@ image sdcard.img { } partition boot { - partition-type = 0xC + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b bootable = "true" image = "boot.vfat" offset = 16M } partition rootfs { - partition-type = 0x83 + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae image = "rootfs.ext4" } } diff --git a/board/radxa/rockpi-n8/genimage.cfg b/board/radxa/rockpi-n8/genimage.cfg index 88b55de3761..909a646499c 100644 --- a/board/radxa/rockpi-n8/genimage.cfg +++ b/board/radxa/rockpi-n8/genimage.cfg @@ -6,13 +6,13 @@ image boot.vfat { "extlinux" } } + size = 16M } image sdcard.img { - hdimage { - gpt = true + partition-table-type = "gpt" } partition loader1 { @@ -26,14 +26,14 @@ image sdcard.img { } partition boot { - partition-type = 0xC + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b bootable = "true" image = "boot.vfat" offset = 16M } partition rootfs { - partition-type = 0x83 + partition-type-uuid = 69dad710-2ce4-4e3c-b16c-21a1d49abed3 image = "rootfs.ext4" } } diff --git a/board/raspberrypi/config_0w.txt b/board/raspberrypi/config_0w.txt new file mode 100644 index 00000000000..195bad449e8 --- /dev/null +++ b/board/raspberrypi/config_0w.txt @@ -0,0 +1,29 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable autoprobing of Bluetooth driver without need of hciattach/btattach +dtoverlay=krnbt=on diff --git a/board/raspberrypi/config_3.txt b/board/raspberrypi/config_3.txt new file mode 100644 index 00000000000..195bad449e8 --- /dev/null +++ b/board/raspberrypi/config_3.txt @@ -0,0 +1,29 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable autoprobing of Bluetooth driver without need of hciattach/btattach +dtoverlay=krnbt=on diff --git a/board/raspberrypi/config_3_64bit.txt b/board/raspberrypi/config_3_64bit.txt new file mode 100644 index 00000000000..34412fa9e82 --- /dev/null +++ b/board/raspberrypi/config_3_64bit.txt @@ -0,0 +1,32 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable autoprobing of Bluetooth driver without need of hciattach/btattach +dtoverlay=krnbt=on + +# enable 64bits support +arm_64bit=1 diff --git a/board/raspberrypi/config_3_qt5we.txt b/board/raspberrypi/config_3_qt5we.txt new file mode 100644 index 00000000000..752310b1795 --- /dev/null +++ b/board/raspberrypi/config_3_qt5we.txt @@ -0,0 +1,26 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=200 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt diff --git a/board/raspberrypi/config_4.txt b/board/raspberrypi/config_4.txt new file mode 100644 index 00000000000..ea02d3f0713 --- /dev/null +++ b/board/raspberrypi/config_4.txt @@ -0,0 +1,29 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable autoprobing of Bluetooth driver without need of hciattach/btattach +dtoverlay=krnbt=on diff --git a/board/raspberrypi/config_4_64bit.txt b/board/raspberrypi/config_4_64bit.txt new file mode 100644 index 00000000000..41c7e97e99b --- /dev/null +++ b/board/raspberrypi/config_4_64bit.txt @@ -0,0 +1,36 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable autoprobing of Bluetooth driver without need of hciattach/btattach +dtoverlay=krnbt=on + +dtoverlay=vc4-kms-v3d-pi4 +dtoverlay=imx219 +#dtoverlay=ov5647 + +# enable 64bits support +arm_64bit=1 diff --git a/board/raspberrypi/config_cm4io.txt b/board/raspberrypi/config_cm4io.txt new file mode 100644 index 00000000000..cf7e6df1a1a --- /dev/null +++ b/board/raspberrypi/config_cm4io.txt @@ -0,0 +1,33 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable RTC +dtparam=i2c_vc=on +dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi + +# enable dwc2 USB controller (USB 2.0) +dtoverlay=dwc2,dr_mode=host diff --git a/board/raspberrypi/config_cm4io_64bit.txt b/board/raspberrypi/config_cm4io_64bit.txt new file mode 100644 index 00000000000..813f6eba7b8 --- /dev/null +++ b/board/raspberrypi/config_cm4io_64bit.txt @@ -0,0 +1,37 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable RTC +dtparam=i2c_vc=on +dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi + +# enable dwc2 USB controller (USB 2.0) +dtoverlay=dwc2,dr_mode=host + +# enable 64bits support +arm_64bit=1 + diff --git a/board/raspberrypi/config_default.txt b/board/raspberrypi/config_default.txt new file mode 100644 index 00000000000..c09ecca1a99 --- /dev/null +++ b/board/raspberrypi/config_default.txt @@ -0,0 +1,23 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 diff --git a/board/raspberrypi/config_zero2w.txt b/board/raspberrypi/config_zero2w.txt new file mode 100644 index 00000000000..9e6b7f5ccfd --- /dev/null +++ b/board/raspberrypi/config_zero2w.txt @@ -0,0 +1,29 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# fixes rpi (3B, 3B+, 3A+, 4B ,zero W and zero 2) ttyAMA0 serial console +dtoverlay=miniuart-bt + +# enable autoprobing of Bluetooth driver without need of hciattach/btattach +dtoverlay=krnbt=on diff --git a/board/raspberrypi/genimage-raspberrypi.cfg b/board/raspberrypi/genimage-raspberrypi.cfg index bd5166a0f31..04be16cce67 100644 --- a/board/raspberrypi/genimage-raspberrypi.cfg +++ b/board/raspberrypi/genimage-raspberrypi.cfg @@ -1,32 +1,33 @@ image boot.vfat { - vfat { - files = { - "bcm2708-rpi-b.dtb", - "bcm2708-rpi-b-plus.dtb", - "bcm2708-rpi-cm.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - size = 32M + vfat { + files = { + "bcm2708-rpi-b.dtb", + "bcm2708-rpi-b-plus.dtb", + "bcm2708-rpi-cm.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "zImage" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypi0.cfg b/board/raspberrypi/genimage-raspberrypi0.cfg index f21a52f31e8..1fa3f5096fd 100644 --- a/board/raspberrypi/genimage-raspberrypi0.cfg +++ b/board/raspberrypi/genimage-raspberrypi0.cfg @@ -1,30 +1,31 @@ image boot.vfat { - vfat { - files = { - "bcm2708-rpi-zero.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - size = 32M + vfat { + files = { + "bcm2708-rpi-zero.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "zImage" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypi0w.cfg b/board/raspberrypi/genimage-raspberrypi0w.cfg index f76256ef8a7..de7652f99ea 100644 --- a/board/raspberrypi/genimage-raspberrypi0w.cfg +++ b/board/raspberrypi/genimage-raspberrypi0w.cfg @@ -1,31 +1,32 @@ image boot.vfat { - vfat { - files = { - "bcm2708-rpi-zero-w.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "zImage" - } - } - size = 32M + vfat { + files = { + "bcm2708-rpi-zero-w.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "rpi-firmware/overlays", + "zImage" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypi2.cfg b/board/raspberrypi/genimage-raspberrypi2.cfg index a3be2a34426..acd23e7ca8f 100644 --- a/board/raspberrypi/genimage-raspberrypi2.cfg +++ b/board/raspberrypi/genimage-raspberrypi2.cfg @@ -1,30 +1,31 @@ image boot.vfat { - vfat { - files = { - "bcm2709-rpi-2-b.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - size = 32M + vfat { + files = { + "bcm2709-rpi-2-b.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "zImage" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypi3-64.cfg b/board/raspberrypi/genimage-raspberrypi3-64.cfg index af1d17cde7b..8cbcd91638c 100644 --- a/board/raspberrypi/genimage-raspberrypi3-64.cfg +++ b/board/raspberrypi/genimage-raspberrypi3-64.cfg @@ -1,33 +1,34 @@ image boot.vfat { - vfat { - files = { - "bcm2710-rpi-3-b.dtb", - "bcm2710-rpi-3-b-plus.dtb", - "bcm2837-rpi-3-b.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "Image" - } - } - size = 32M + vfat { + files = { + "bcm2710-rpi-3-b.dtb", + "bcm2710-rpi-3-b-plus.dtb", + "bcm2837-rpi-3-b.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "rpi-firmware/overlays", + "Image" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypi3.cfg b/board/raspberrypi/genimage-raspberrypi3.cfg index 0a547241f49..a617823379e 100644 --- a/board/raspberrypi/genimage-raspberrypi3.cfg +++ b/board/raspberrypi/genimage-raspberrypi3.cfg @@ -1,33 +1,34 @@ image boot.vfat { - vfat { - files = { - "bcm2710-rpi-3-b.dtb", - "bcm2710-rpi-3-b-plus.dtb", - "bcm2710-rpi-cm3.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "zImage" - } - } - size = 32M + vfat { + files = { + "bcm2710-rpi-3-b.dtb", + "bcm2710-rpi-3-b-plus.dtb", + "bcm2710-rpi-cm3.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "rpi-firmware/overlays", + "zImage" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg b/board/raspberrypi/genimage-raspberrypi4-64.cfg index 854e0c7e31f..3ae938db203 100644 --- a/board/raspberrypi/genimage-raspberrypi4-64.cfg +++ b/board/raspberrypi/genimage-raspberrypi4-64.cfg @@ -1,30 +1,31 @@ image boot.vfat { - vfat { - files = { - "bcm2711-rpi-4-b.dtb", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "Image" - } - } - size = 32M + vfat { + files = { + "bcm2711-rpi-4-b.dtb", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup4.dat", + "rpi-firmware/start4.elf", + "rpi-firmware/overlays", + "Image" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypi4.cfg b/board/raspberrypi/genimage-raspberrypi4.cfg index 60e1f23bcc4..2e578ad5564 100644 --- a/board/raspberrypi/genimage-raspberrypi4.cfg +++ b/board/raspberrypi/genimage-raspberrypi4.cfg @@ -1,30 +1,31 @@ image boot.vfat { - vfat { - files = { - "bcm2711-rpi-4-b.dtb", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "zImage" - } - } - size = 32M + vfat { + files = { + "bcm2711-rpi-4-b.dtb", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup4.dat", + "rpi-firmware/start4.elf", + "rpi-firmware/overlays", + "zImage" + } + } + + size = 32M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/raspberrypi/genimage-raspberrypicm4io-64.cfg b/board/raspberrypi/genimage-raspberrypicm4io-64.cfg new file mode 100644 index 00000000000..73d31a57ba0 --- /dev/null +++ b/board/raspberrypi/genimage-raspberrypicm4io-64.cfg @@ -0,0 +1,31 @@ +image boot.vfat { + vfat { + files = { + "bcm2711-rpi-cm4.dtb", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup4.dat", + "rpi-firmware/start4.elf", + "rpi-firmware/overlays", + "Image" + } + } + + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/raspberrypi/genimage-raspberrypicm4io.cfg b/board/raspberrypi/genimage-raspberrypicm4io.cfg new file mode 100644 index 00000000000..4d09b03556a --- /dev/null +++ b/board/raspberrypi/genimage-raspberrypicm4io.cfg @@ -0,0 +1,31 @@ +image boot.vfat { + vfat { + files = { + "bcm2711-rpi-cm4.dtb", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup4.dat", + "rpi-firmware/start4.elf", + "rpi-firmware/overlays", + "zImage" + } + } + + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/raspberrypi/genimage-raspberrypizero2w.cfg b/board/raspberrypi/genimage-raspberrypizero2w.cfg new file mode 100644 index 00000000000..b510fea5636 --- /dev/null +++ b/board/raspberrypi/genimage-raspberrypizero2w.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "bcm2710-rpi-zero-2-w.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "rpi-firmware/overlays", + "zImage" + } + } + + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh index 9dbd98ef9bd..6cad20fb9e5 100755 --- a/board/raspberrypi/post-image.sh +++ b/board/raspberrypi/post-image.sh @@ -7,39 +7,6 @@ BOARD_NAME="$(basename ${BOARD_DIR})" GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg" GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -for arg in "$@" -do - case "${arg}" in - --add-miniuart-bt-overlay) - if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - echo "Adding 'dtoverlay=miniuart-bt' to config.txt (fixes ttyAMA0 serial console)." - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" - -# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console -dtoverlay=miniuart-bt -__EOF__ - fi - ;; - --aarch64) - # Run a 64bits kernel (armv8) - sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt" - if ! grep -qE '^arm_64bit=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" - -# enable 64bits support -arm_64bit=1 -__EOF__ - fi - ;; - --gpu_mem_256=*|--gpu_mem_512=*|--gpu_mem_1024=*) - # Set GPU memory - gpu_mem="${arg:2}" - sed -e "/^${gpu_mem%=*}=/s,=.*,=${gpu_mem##*=}," -i "${BINARIES_DIR}/rpi-firmware/config.txt" - ;; - esac - -done - # Pass an empty rootpath. genimage makes a full copy of the given rootpath to # ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk # space. We don't rely on genimage to build the rootfs image, just to insert a diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt index 8b3de6d2513..c81fd801aed 100644 --- a/board/raspberrypi/readme.txt +++ b/board/raspberrypi/readme.txt @@ -9,6 +9,7 @@ These instructions apply to all models of the Raspberry Pi: - the model B2 (aka Raspberry Pi 2) - the model B3 (aka Raspberry Pi 3). - the model B4 (aka Raspberry Pi 4). + - the model CM4 (aka Raspberry Pi Compute Module 4 and IO Board). How to build it =============== @@ -27,6 +28,10 @@ For model Zero (model A+ in smaller form factor): $ make raspberrypi0_defconfig +For model Zero 2 W (model B3 in smaller form factor): + + $ make raspberrypizero2w_defconfig + For model 2 B: $ make raspberrypi2_defconfig @@ -35,10 +40,26 @@ For model 3 B and B+: $ make raspberrypi3_defconfig +or for model 3 B and B+ (64 bit): + + $ make raspberrypi3_64_defconfig + For model 4 B: $ make raspberrypi4_defconfig +or for model 4 B (64 bit): + + $ make raspberrypi4_64_defconfig + +For model CM4 (on IO Board): + + $ make raspberrypicm4io_defconfig + +or for CM4 (on IO Board - 64 bit): + + $ make raspberrypicm4io_64_defconfig + Build the rootfs ---------------- @@ -59,21 +80,31 @@ After building, you should obtain this tree: output/images/ +-- bcm2708-rpi-b.dtb [1] +-- bcm2708-rpi-b-plus.dtb [1] + +-- bcm2708-rpi-cm.dtb [1] + +-- bcm2708-rpi-zero.dtb [1] + +-- bcm2708-rpi-zero-w.dtb [1] + +-- bcm2710-rpi-zero-2-w.dtb [1] +-- bcm2709-rpi-2-b.dtb [1] +-- bcm2710-rpi-3-b.dtb [1] +-- bcm2710-rpi-3-b-plus.dtb [1] + +-- bcm2710-rpi-cm3.dtb [1] +-- bcm2711-rpi-4-b.dtb [1] + +-- bcm2711-rpi-cm4.dtb [1] + +-- bcm2837-rpi-3-b.dtb [1] +-- boot.vfat +-- rootfs.ext4 +-- rpi-firmware/ | +-- bootcode.bin | +-- cmdline.txt | +-- config.txt - | +-- fixup.dat - | +-- start.elf + | +-- fixup.dat [1] + | +-- fixup4.dat [1] + | +-- start.elf [1] + | +-- start4.elf [1] | `-- overlays/ [2] +-- sdcard.img - `-- zImage + +-- Image [1] + `-- zImage [1] [1] Not all of them will be present, depending on the RaspberryPi model you are using. @@ -97,3 +128,31 @@ Insert the SDcard into your Raspberry Pi, and power it up. Your new system should come up now and start two consoles: one on the serial port on the P1 header, one on the HDMI output where you can login using a USB keyboard. + +How to write to CM4 eMMC memory +=============================== + +For CM4 modules without eMMC memory see above for booting from SD card, +for CM4 moduels with eMMC memory proceed as following: + +- fit jumper on IO Board header J2 to disable eMMC boot +- connect IO Board micro USB port (J11 USB slave) to your host linux system +- power up CM4/IO Board (lsusb command should show a '0a5c:2711 Broadcom Corp. + BCM2711 Boot' device) +- run 'sudo ./host/bin/rpiboot', output should look like the following: + Waiting for BCM2835/6/7/2711... + Loading embedded: bootcode4.bin + Sending bootcode.bin + Successful read 4 bytes + Waiting for BCM2835/6/7/2711... + Loading embedded: bootcode4.bin + Second stage boot server + Loading embedded: start4.elf + File read: start4.elf + Second stage boot server done + +- a USB mass storage device should show up (the CM4 eMMC memory), proceed + as described above to copy sdcard.img to it +- power down CM4/IO Board +- remove jumper on IO Board header J2 to re-enable eMMC boot +- power up CM4/IO Board diff --git a/board/raspberrypicm4io b/board/raspberrypicm4io new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypicm4io @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypicm4io-64 b/board/raspberrypicm4io-64 new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypicm4io-64 @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypizero2w b/board/raspberrypizero2w new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypizero2w @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/roseapplepi/genimage.cfg b/board/roseapplepi/genimage.cfg index f4a353e823a..4c5a8de9020 100644 --- a/board/roseapplepi/genimage.cfg +++ b/board/roseapplepi/genimage.cfg @@ -3,13 +3,15 @@ image boot.vfat { vfat { files = { - "uEnv.txt", - "uImage" + "uEnv.txt", + "uImage" } + file kernel.dtb { - image = "owl-s500-roseapplepi.dtb" + image = "owl-s500-roseapplepi.dtb" } } + size = 128M } @@ -20,13 +22,13 @@ image sdcard.img { partition s500-bootloader { in-partition-table = "no" image = "s500-bootloader.bin" - offset = 0x200200 + offset = 0x200200 # 2MB + 512B } partition u-boot { in-partition-table = "no" image = "u-boot-dtb.img" - offset = 0x300000 + offset = 3M } partition boot { @@ -34,4 +36,10 @@ image sdcard.img { bootable = "true" image = "boot.vfat" } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } } diff --git a/board/roseapplepi/linux.config b/board/roseapplepi/linux.config index aea48b7730d..89e7c8917f1 100644 --- a/board/roseapplepi/linux.config +++ b/board/roseapplepi/linux.config @@ -26,19 +26,44 @@ CONFIG_INET=y # CONFIG_IPV6 is not set # CONFIG_WIRELESS is not set # CONFIG_ETHTOOL_NETLINK is not set +CONFIG_NETDEVICES=y +CONFIG_OWL_EMAC=y +CONFIG_REALTEK_PHY=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_ATC260X_ONKEY=y # CONFIG_VT is not set CONFIG_SERIAL_OWL=y # CONFIG_HW_RANDOM is not set +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_OWL=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_OWL=y +CONFIG_PINCTRL_S500=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_ATC260X=y +CONFIG_MFD_ATC260X_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_ATC260X=y # CONFIG_HID is not set # CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_OWL=y +CONFIG_DMADEVICES=y +CONFIG_OWL_DMA=y # CONFIG_VIRTIO_MENU is not set # CONFIG_VHOST_MENU is not set # CONFIG_IOMMU_SUPPORT is not set CONFIG_EXT4_FS=y +CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y # CONFIG_MISC_FILESYSTEMS is not set # CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set # CONFIG_CRYPTO_HW is not set # CONFIG_FTRACE is not set diff --git a/board/roseapplepi/uEnv.txt b/board/roseapplepi/uEnv.txt index 2b9de727b42..339eb8aa0a3 100644 --- a/board/roseapplepi/uEnv.txt +++ b/board/roseapplepi/uEnv.txt @@ -1,3 +1,3 @@ # no ramdisk ramdisk_addr_r=- -bootargs=console=ttyOWL2,115200 +bootargs=console=ttyOWL2,115200 root=/dev/mmcblk0p2 rootwait clk_ignore_unused diff --git a/board/seeed/stm32mp157c-odyssey/genimage.cfg b/board/seeed/stm32mp157c-odyssey/genimage.cfg new file mode 100644 index 00000000000..170dedc254e --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + gpt = "true" + } + + partition fsbl1 { + image = "tf-a-stm32mp157c-odyssey.stm32" + } + + partition fsbl2 { + image = "tf-a-stm32mp157c-odyssey.stm32" + } + + partition ssbl { + image = "u-boot.stm32" + } + + partition rootfs { + image = "rootfs.ext4" + bootable = "yes" + } +} diff --git a/board/seeed/stm32mp157c-odyssey/linux.config b/board/seeed/stm32mp157c-odyssey/linux.config new file mode 100644 index 00000000000..878a0c39f12 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/linux.config @@ -0,0 +1,182 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_SMP=y +CONFIG_MCPM=y +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_SECCOMP=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_ARM_CRYPTO=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CAN=y +CONFIG_CAN_M_CAN=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 +CONFIG_SIMPLE_PM_BUS=y +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_STM32_FMC2=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_KS8851=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_MDIO_BITBANG=y +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_STPMIC1_ONKEY=y +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_STM32F7=y +CONFIG_SPI=y +CONFIG_SPI_STM32=y +CONFIG_SPI_STM32_QSPI=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_WATCHDOG=y +CONFIG_STPMIC1_WATCHDOG=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_MFD_STPMIC1=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_REGULATOR_STPMIC1=y +CONFIG_DRM=y +CONFIG_DRM_STM=y +CONFIG_DRM_STM_DSI=y +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y +CONFIG_DRM_SII902X=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_DWC2=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=y +CONFIG_USB_HSIC_USB3503=y +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_ISP1301=y +CONFIG_USB_ULPI=y +CONFIG_TYPEC=y +CONFIG_TYPEC_STUSB=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +CONFIG_STM32_IPCC=y +CONFIG_REMOTEPROC=y +CONFIG_STM32_RPROC=y +CONFIG_RPMSG_VIRTIO=y +CONFIG_RPMSG_TTY=y +CONFIG_IIO=y +CONFIG_IIO_SW_TRIGGER=y +CONFIG_SD_ADC_MODULATOR=y +CONFIG_STM32_ADC_CORE=y +CONFIG_STM32_ADC=y +CONFIG_STM32_ADC_TEMP=y +CONFIG_STM32_DFSDM_ADC=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_DAC=y +CONFIG_IIO_HRTIMER_TRIGGER=y +CONFIG_IIO_STM32_LPTIMER_TRIGGER=y +CONFIG_PWM=y +CONFIG_PWM_STM32=y +CONFIG_PWM_STM32_LP=y +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_PRINTK_TIME=y diff --git a/board/seeed/stm32mp157c-odyssey/overlay/boot/extlinux/extlinux.conf b/board/seeed/stm32mp157c-odyssey/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..b5795415eb1 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stm32mp157c-odyssey-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp157c-odyssey.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch b/board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch new file mode 100644 index 00000000000..ab2dc5dea86 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch @@ -0,0 +1,36 @@ +From 0171b07373cc8c2815ca5fa79a7308fdefa54ca4 Mon Sep 17 00:00:00 2001 +From: Grzegorz Szymaszek +Date: Sat, 10 Apr 2021 21:35:21 +0200 +Subject: [PATCH] ARM: dts: stm32: fix stm32mp157c-odyssey card detect pin +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The microSD card detect pin is physically connected to the MPU pin PI3. +The Device Tree configuration of the card detect pin was wrong—it was +set to pin PB7 instead. If such configuration was used, the kernel would +hang on “Waiting for root device†when booting from a microSD card. + +Signed-off-by: Grzegorz Szymaszek +Signed-off-by: Alexandre Torgue +Backported from: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/stm32mp157c-odyssey.dts?id=0171b07373cc8c2815ca5fa79a7308fdefa54ca4 +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index a7ffec8f1516..be1dd5e9e744 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -64,7 +64,7 @@ &sdmmc1 { + pinctrl-0 = <&sdmmc1_b4_pins_a>; + pinctrl-1 = <&sdmmc1_b4_od_pins_a>; + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; +- cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; ++ cd-gpios = <&gpioi 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + disable-wp; + st,neg-edge; + bus-width = <4>; +-- +2.30.2 + diff --git a/board/seeed/stm32mp157c-odyssey/readme.txt b/board/seeed/stm32mp157c-odyssey/readme.txt new file mode 100644 index 00000000000..09328673933 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/readme.txt @@ -0,0 +1,38 @@ +STM32MP157C-Odyssey + +Intro +===== + +This configuration supports the STM32MP157C-Odyssey platform: + + https://wiki.seeedstudio.com/ODYSSEY-STM32MP157C/ + +How to build +============ + + $ make stm32mp157c_odyssey_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector J21. + + (2) Connect to the UART connector J24 (located next the the DC jack + J24 and the battery connector J20) and run your serial communication + program on /dev/ttyACM0. + + (3) Plug a USB-C cable in J6 or a center-positive 12V jack into J17 + to power-up the board. + + (4) The system will start, with the console on UART. diff --git a/board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch b/board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch new file mode 100644 index 00000000000..c9d5d71ca14 --- /dev/null +++ b/board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch @@ -0,0 +1,28 @@ +From 018921ee79d3f30893614b3b2b63b588d8544f73 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 30 Jan 2020 09:37:15 +0000 +Subject: [PATCH] Remove redundant YYLOC global declaration + +Same as the upstream fix for building dtc with gcc 10. + +Signed-off-by: Peter Robinson +Signed-off-by: Peter Korsgaard +--- + scripts/dtc/dtc-lexer.l | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l +index fd825ebba6..24af549977 100644 +--- a/scripts/dtc/dtc-lexer.l ++++ b/scripts/dtc/dtc-lexer.l +@@ -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() */ +-- +2.20.1 + diff --git a/board/sifive/hifive-unleashed/genimage_sdcard.cfg b/board/sifive/hifive-unleashed/genimage_sdcard.cfg index e7f98a47ce4..e66f221d73c 100644 --- a/board/sifive/hifive-unleashed/genimage_sdcard.cfg +++ b/board/sifive/hifive-unleashed/genimage_sdcard.cfg @@ -1,6 +1,6 @@ image sdcard.img { hdimage { - gpt = true + partition-table-type = "gpt" } partition u-boot-spl { diff --git a/board/sifive/hifive-unleashed/genimage_spi-nor.cfg b/board/sifive/hifive-unleashed/genimage_spi-nor.cfg index 2e5d89bfe86..903e675a90e 100644 --- a/board/sifive/hifive-unleashed/genimage_spi-nor.cfg +++ b/board/sifive/hifive-unleashed/genimage_spi-nor.cfg @@ -2,7 +2,7 @@ image spi-nor.img { size = 32M hdimage { - gpt = true + partition-table-type = "gpt" } partition u-boot-spl { diff --git a/board/sinovoip/m1-plus/genimage.cfg b/board/sinovoip/m1-plus/genimage.cfg index 3cba774c6f7..18a549e6315 100644 --- a/board/sinovoip/m1-plus/genimage.cfg +++ b/board/sinovoip/m1-plus/genimage.cfg @@ -9,6 +9,7 @@ image boot.vfat { "boot.scr" } } + size = 10M } @@ -19,8 +20,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/sinovoip/m2-plus/genimage.cfg b/board/sinovoip/m2-plus/genimage.cfg index cde0669e763..9311e026dd3 100644 --- a/board/sinovoip/m2-plus/genimage.cfg +++ b/board/sinovoip/m2-plus/genimage.cfg @@ -6,6 +6,7 @@ image boot.vfat { "boot.scr" } } + size = 64M } @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { diff --git a/board/solidrun/macchiatobin/genimage.cfg b/board/solidrun/macchiatobin/genimage.cfg index fdcda368a23..378e2082e68 100644 --- a/board/solidrun/macchiatobin/genimage.cfg +++ b/board/solidrun/macchiatobin/genimage.cfg @@ -5,12 +5,12 @@ image sdcard.img { partition uboot { in-partition-table = "no" image = "flash-image.bin" - offset = 0x200000 + offset = 2M } partition rootfs { partition-type = 0x83 - offset = 0x2200000 + offset = 34M image = "rootfs.ext4" } } diff --git a/board/solidrun/mx6cubox/boot.scr.txt b/board/solidrun/mx6cubox/boot.scr.txt deleted file mode 100644 index e4cf8147837..00000000000 --- a/board/solidrun/mx6cubox/boot.scr.txt +++ /dev/null @@ -1,7 +0,0 @@ -setenv finduuid "part uuid mmc 1:1 uuid" -run finduuid -run findfdt -setenv bootargs "console=ttymxc0,115200 root=PARTUUID=${uuid} rootwait rootfstype=ext4" -load mmc 1:1 ${fdt_addr} boot/${fdtfile} -load mmc 1:1 ${loadaddr} boot/zImage -bootz ${loadaddr} - ${fdt_addr} diff --git a/board/solidrun/mx6cubox/genimage.cfg b/board/solidrun/mx6cubox/genimage.cfg deleted file mode 100644 index 490986ac867..00000000000 --- a/board/solidrun/mx6cubox/genimage.cfg +++ /dev/null @@ -1,29 +0,0 @@ -# Minimal SD card image for the MX6 Cubox/Hummingboard -# -# U-Boot SPL and u-boot.img are flashed in the first 1MB raw partition. -# A single root filesystem partition is used (Ext4 in this case). -# - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "SPL" - offset = 1K - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 69K - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - offset = 1M - size = 512M - } -} diff --git a/board/solidrun/mx6cubox/post-build.sh b/board/solidrun/mx6cubox/post-build.sh deleted file mode 100755 index 6ddc1137022..00000000000 --- a/board/solidrun/mx6cubox/post-build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -d -m 755 $TARGET_DIR/boot - -$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \ - -n "boot script" -d $BOARD_DIR/boot.scr.txt $TARGET_DIR/boot/boot.scr diff --git a/board/solidrun/mx6cubox/post-image.sh b/board/solidrun/mx6cubox/post-image.sh deleted file mode 100755 index b4ac4608ffa..00000000000 --- a/board/solidrun/mx6cubox/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/solidrun/mx6cubox/rootfs_overlay/boot/extlinux/extlinux.conf b/board/solidrun/mx6cubox/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..d0110663574 --- /dev/null +++ b/board/solidrun/mx6cubox/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx6qdl-cubox Buildroot + kernel ../zImage + fdtdir ../ + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/spike/riscv64/readme.txt b/board/spike/riscv64/readme.txt new file mode 100644 index 00000000000..5ad7df46dfb --- /dev/null +++ b/board/spike/riscv64/readme.txt @@ -0,0 +1,39 @@ +Linux on Spike RISC-V ISA simulator +=================================== + +This configuration provides a minimal working setup to run a Linux +kernel in the Spike RISC-V ISA simulator. + +The Spike ISA simulator can be an interresting alternative to Qemu, in +some specific cases. For example: simulating new instructions (see [1]), +simulating riscv-openocd/gdb debug sessions (see [2], [3]), or +generating an accurate per-instruction log of execution (see +riscv-isa-sim spike -l option)... + +To run Buildroot Linux in Spike, use the commands: + + make spike_riscv64_defconfig + make + ./board/spike/riscv64/start.sh + +The boot is made with the standard RISC-V OpenSBI boot loader. In +order to keep the simulation simple, the rootfs is passed as an initrd +ramfs. + +Note: at the time of this writing, Spike v1.1.0 and OpenSBI v1.0 does +not support console input emulation for 32bit RISC-V systems. A 32bit +Linux system can boot and reach the login, but it's not possible to +login. See [4]. + + +[1]. +https://github.com/riscv-software-src/riscv-isa-sim/tree/v1.1.0#simulating-a-new-instruction + +[2]. +https://github.com/riscv-software-src/riscv-isa-sim/tree/v1.1.0#debugging-with-gdb + +[3]. +https://github.com/riscv/riscv-openocd + +[4]. +https://github.com/riscv-software-src/opensbi/blob/v1.0/lib/utils/sys/htif.c#L127 diff --git a/board/spike/riscv64/start.sh b/board/spike/riscv64/start.sh new file mode 100755 index 00000000000..6fbbced8069 --- /dev/null +++ b/board/spike/riscv64/start.sh @@ -0,0 +1,17 @@ +#! /bin/sh + +SCRIPT_DIR="$(dirname "$0")" +BR_BASEDIR="$(readlink -e "${SCRIPT_DIR}/../../..")" + +# spike uses dtc at runtime startup, so make sure buildroot host +# directory is in the PATH +export PATH="${BR_BASEDIR}/output/host/usr/bin:$PATH" + +# Use Buildroot host spike by default, but allow the caller to +# redefine another spike binary +: "${SPIKE:=spike}" + +exec "${SPIKE}" \ + --initrd "${BR_BASEDIR}"/output/images/rootfs.cpio \ + "${@}" \ + "${BR_BASEDIR}"/output/images/fw_payload.elf diff --git a/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template index f341c19f2f2..03fba8daf07 100644 --- a/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template +++ b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template @@ -13,6 +13,7 @@ image sdcard.img { partition ssbl { image = "u-boot.stm32" + size = 2M } partition rootfs { diff --git a/board/stmicroelectronics/stm32f429-disco/flash.sh b/board/stmicroelectronics/stm32f429-disco/flash.sh index b19e0a60193..3e2bf121d34 100755 --- a/board/stmicroelectronics/stm32f429-disco/flash.sh +++ b/board/stmicroelectronics/stm32f429-disco/flash.sh @@ -21,6 +21,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/${BOARD_NAME}.cfg \ -c "flash info 0" \ -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429i-disco.bin 0x08000000" \ -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429-disco.dtb 0x08004000" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \ -c "reset run" \ -c "shutdown" diff --git a/board/stmicroelectronics/stm32f429-disco/linux.config b/board/stmicroelectronics/stm32f429-disco/linux.config new file mode 100644 index 00000000000..7b5c60f1806 --- /dev/null +++ b/board/stmicroelectronics/stm32f429-disco/linux.config @@ -0,0 +1,120 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_KERNEL_XZ=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_LOG_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=10 +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" +# CONFIG_RD_GZIP is not set +# 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_RD_LZ4 is not set +# CONFIG_RD_ZSTD is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_MULTIUSER is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_POSIX_TIMERS=y +CONFIG_BUG=y +# CONFIG_BASE_FULL is not set +# CONFIG_FUTEX is not set +# CONFIG_EPOLL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +# CONFIG_IO_URING is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_MEMBARRIER is not set +# CONFIG_KALLSYMS is not set +CONFIG_KCMP=y +# CONFIG_RSEQ is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_SLOB=y +# CONFIG_SLAB_MERGE_DEFAULT is not set +# CONFIG_MMU is not set +CONFIG_ARCH_STM32=y +# CONFIG_MACH_STM32F469 is not set +# CONFIG_MACH_STM32F746 is not set +# CONFIG_MACH_STM32F769 is not set +# CONFIG_MACH_STM32H743 is not set +CONFIG_CPU_V7M_NUM_IRQ=240 +# CONFIG_ARM_DMA_MEM_BUFFERABLE is not set +CONFIG_SET_MEM_PARAM=y +CONFIG_DRAM_BASE=0x90000000 +CONFIG_DRAM_SIZE=0x00800000 +CONFIG_HZ_1000=y +# CONFIG_ATAGS is not set +CONFIG_XIP_KERNEL=y +CONFIG_XIP_PHYS_ADDR=0x0800C000 +CONFIG_XIP_DEFLATED_DATA=y +# CONFIG_SUSPEND is not set +# CONFIG_STACKPROTECTOR is not set +# CONFIG_COMPAT_32BIT_TIME is not set +# CONFIG_GCC_PLUGINS is not set +# CONFIG_BLOCK is not set +CONFIG_BINFMT_FLAT=y +CONFIG_BINFMT_SHARED_FLAT=y +# CONFIG_COREDUMP is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_EEPROM_93CX6=y +# CONFIG_INPUT is not set +# CONFIG_VT is not set +# CONFIG_UNIX98_PTYS is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_LDISC_AUTOLOAD is not set +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +# CONFIG_DEVMEM is not set +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_MFD_STM32_TIMERS=y +# CONFIG_USB_SUPPORT is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_SYNC_FILE=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_TRIGGERED_BUFFER=y +CONFIG_IIO_STM32_TIMER_TRIGGER=y +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_PROC_SYSCTL is not set +CONFIG_CONFIGFS_FS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_NLS=y +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 +CONFIG_CONSOLE_LOGLEVEL_QUIET=15 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 +# CONFIG_SYMBOLIC_ERRNAME is not set +CONFIG_DEBUG_INFO=y +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_MISC is not set +# CONFIG_SCHED_DEBUG is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set diff --git a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch deleted file mode 100644 index d6d5c61aaea..00000000000 --- a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ded9afa688184b3240a92c2b8f114c545a09bc3f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 12 Mar 2016 23:14:41 +0100 -Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs - -There is no reason to override the kernel's default init= value, as -this breaks userspace that assumes the kernel default of /init is -used. Since stm32 is often used with a minimal bootloader -(afboot-stm32) that doesn't provide any mechanism to override the DTB, -we need to adjust the kernel command line in the Device Tree source. - -Signed-off-by: Thomas Petazzoni ---- - arch/arm/boot/dts/stm32f429-disco.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts -index f0b731d..2bae81c 100644 ---- a/arch/arm/boot/dts/stm32f429-disco.dts -+++ b/arch/arm/boot/dts/stm32f429-disco.dts -@@ -53,7 +53,7 @@ - compatible = "st,stm32f429i-disco", "st,stm32f429"; - - chosen { -- bootargs = "root=/dev/ram rdinit=/linuxrc"; -+ bootargs = "root=/dev/ram"; - stdout-path = "serial0:115200n8"; - }; - --- -2.6.4 - diff --git a/board/stmicroelectronics/stm32f469-disco/extlinux.conf b/board/stmicroelectronics/stm32f469-disco/extlinux.conf new file mode 100644 index 00000000000..1c2db4383ba --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/extlinux.conf @@ -0,0 +1,4 @@ +label stm32f469-disco-buildroot + kernel /zImage + devicetree /stm32f469-disco.dtb + append console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext2 rootwait earlyprintk consoleblank=0 ignore_loglevel diff --git a/board/stmicroelectronics/stm32f469-disco/flash.sh b/board/stmicroelectronics/stm32f469-disco/flash.sh deleted file mode 100755 index 0ec0beb2dec..00000000000 --- a/board/stmicroelectronics/stm32f469-disco/flash.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -OUTPUT_DIR=$1 - -if ! test -d "${OUTPUT_DIR}" ; then - echo "ERROR: no output directory specified." - echo "Usage: $0 OUTPUT_DIR" - exit 1 -fi - -${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \ - -c "init" \ - -c "reset init" \ - -c "flash probe 0" \ - -c "flash info 0" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469i-disco.bin 0x08000000" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469-disco.dtb 0x08004000" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \ - -c "reset run" \ - -c "shutdown" diff --git a/board/stmicroelectronics/stm32f469-disco/flash_sd.sh b/board/stmicroelectronics/stm32f469-disco/flash_sd.sh new file mode 100755 index 00000000000..984d2b25997 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/flash_sd.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +OUTPUT_DIR=$1 + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh new file mode 100755 index 00000000000..da27cd327ce --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +OUTPUT_DIR=$1 + +if ! test -d "${OUTPUT_DIR}"; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469i-disco.bin 0x08000000" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469-disco.dtb 0x08004000" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32f469-disco/genimage.cfg b/board/stmicroelectronics/stm32f469-disco/genimage.cfg new file mode 100644 index 00000000000..517ead7751e --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/genimage.cfg @@ -0,0 +1,27 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "stm32f469-disco.dtb", + "extlinux" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 32M + } +} diff --git a/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment b/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment new file mode 100644 index 00000000000..e5d39bf04a1 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment @@ -0,0 +1,7 @@ +# CONFIG_XIP_KERNEL is not set +CONFIG_DRM=y +CONFIG_DRM_STM=y +CONFIG_DRM_STM_DSI=y +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y +CONFIG_FB=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y diff --git a/board/stmicroelectronics/stm32f469-disco/linux-xip.config b/board/stmicroelectronics/stm32f469-disco/linux-xip.config new file mode 100644 index 00000000000..01a94eb9d1b --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/linux-xip.config @@ -0,0 +1,120 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_KERNEL_XZ=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_LOG_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=10 +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" +# CONFIG_RD_GZIP is not set +# 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_RD_LZ4 is not set +# CONFIG_RD_ZSTD is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_MULTIUSER is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_POSIX_TIMERS=y +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +# CONFIG_FUTEX is not set +# CONFIG_EPOLL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +# CONFIG_IO_URING is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_MEMBARRIER is not set +# CONFIG_KALLSYMS is not set +CONFIG_KCMP=y +# CONFIG_RSEQ is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_SLOB=y +# CONFIG_SLAB_MERGE_DEFAULT is not set +# CONFIG_MMU is not set +CONFIG_ARCH_STM32=y +# CONFIG_MACH_STM32F429 is not set +# CONFIG_MACH_STM32F746 is not set +# CONFIG_MACH_STM32F769 is not set +# CONFIG_MACH_STM32H743 is not set +CONFIG_CPU_V7M_NUM_IRQ=240 +# CONFIG_ARM_DMA_MEM_BUFFERABLE is not set +CONFIG_SET_MEM_PARAM=y +CONFIG_DRAM_BASE=0x00000000 +CONFIG_DRAM_SIZE=0x00800000 +CONFIG_HZ_1000=y +# CONFIG_ATAGS is not set +CONFIG_XIP_KERNEL=y +CONFIG_XIP_PHYS_ADDR=0x0800C000 +CONFIG_XIP_DEFLATED_DATA=y +# CONFIG_SUSPEND is not set +# CONFIG_STACKPROTECTOR is not set +# CONFIG_COMPAT_32BIT_TIME is not set +# CONFIG_GCC_PLUGINS is not set +# CONFIG_BLOCK is not set +CONFIG_BINFMT_FLAT=y +CONFIG_BINFMT_SHARED_FLAT=y +# CONFIG_COREDUMP is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_EEPROM_93CX6=y +# CONFIG_INPUT is not set +# CONFIG_VT is not set +# CONFIG_UNIX98_PTYS is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_LDISC_AUTOLOAD is not set +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +# CONFIG_DEVMEM is not set +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_MFD_STM32_TIMERS=y +# CONFIG_USB_SUPPORT is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_SYNC_FILE=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_TRIGGERED_BUFFER=y +CONFIG_IIO_STM32_TIMER_TRIGGER=y +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_PROC_SYSCTL is not set +CONFIG_CONFIGFS_FS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_NLS=y +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 +CONFIG_CONSOLE_LOGLEVEL_QUIET=15 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 +# CONFIG_SYMBOLIC_ERRNAME is not set +CONFIG_DEBUG_INFO=y +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_MISC is not set +# CONFIG_SCHED_DEBUG is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set diff --git a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch deleted file mode 100644 index 750e477dfc6..00000000000 --- a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c8f8f33c2f0460a34c9545b01a7972a7ed2df0e9 Mon Sep 17 00:00:00 2001 -From: Christophe Priouzeau -Date: Mon, 29 May 2017 13:38:16 +0200 -Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs - -There is no reason to override the kernel's default init= value, as -this breaks userspace that assumes the kernel default of /init is -used. Since stm32 is often used with a minimal bootloader -(afboot-stm32) that doesn't provide any mechanism to override the DTB, -we need to adjust the kernel command line in the Device Tree source. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Christophe Priouzeau ---- - arch/arm/boot/dts/stm32f469-disco.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts -index 0dd56ef..93ee1b2 100644 ---- a/arch/arm/boot/dts/stm32f469-disco.dts -+++ b/arch/arm/boot/dts/stm32f469-disco.dts -@@ -53,7 +53,7 @@ - compatible = "st,stm32f469i-disco", "st,stm32f469"; - - chosen { -- bootargs = "root=/dev/ram rdinit=/linuxrc"; -+ bootargs = "root=/dev/ram"; - stdout-path = "serial0:115200n8"; - }; - --- -2.7.4 - diff --git a/board/stmicroelectronics/stm32f469-disco/post-build.sh b/board/stmicroelectronics/stm32f469-disco/post-build.sh new file mode 100755 index 00000000000..ec20fca7d96 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/stmicroelectronics/stm32f469-disco/readme.txt b/board/stmicroelectronics/stm32f469-disco/readme.txt index 888bff08a1f..99d26ccb66f 100644 --- a/board/stmicroelectronics/stm32f469-disco/readme.txt +++ b/board/stmicroelectronics/stm32f469-disco/readme.txt @@ -7,13 +7,39 @@ configuration for the STM32F469 Discovery evaluation platform. Building -------- - make stm32f469_disco_defconfig + make stm32f469_disco_sd_defconfig make Flashing -------- - ./board/stmicroelectronics/stm32f469-disco/flash.sh output/ + ./board/stmicroelectronics/stm32f469-disco/flash_sd.sh output/ -It will flash the minimal bootloader, the Device Tree Blob, and the -kernel image which includes the root filesystem as initramfs. +It will flash the U-boot bootloader. + +Creating SD card +---------------- + +Buildroot prepares an"sdcard.img" image in the output/images/ directory, +ready to be dumped on a SD card. Launch the following command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout and its content, see the +definition in board/stmicroelectronics/stm32f469-disco/genimage.cfg. + +Framebuffer +----------- +After Linux boots, /dev/fb0 will be accessible. You can control the +brightness of the display after enabling the framebuffer by running the +following commands: + + # echo 0 0 > /sys/class/graphics/fb0/pan + # echo 255 >/sys/class/backlight/40016c00.dsi.0/brightness + +The brightness ranges from 0 to 255, as you can see running the +command: + + # cat /sys/class/backlight/40016c00.dsi.0/max_brightness diff --git a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt new file mode 100644 index 00000000000..7c20c2d015a --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt @@ -0,0 +1,24 @@ +STM32F469 Discovery +=================== + +This tutorial describes how to use the predefined Buildroot +configuration for the STM32F469 Discovery evaluation platform. + +Internal flash memory stores simple afboot-stm32 bootloader, device tree and +in place (XIP) kernel with built-in initramfs. No external flash or SD card +is needed. + +Kernel is based on tinyconfig. + +Building +-------- + + make stm32f469_disco_xip_defconfig + make + +Flashing +-------- + + ./board/stmicroelectronics/stm32f469-disco/flash_xip.sh output/ + +It will flash binary to internal flash memory. diff --git a/board/stmicroelectronics/stm32mp157a-dk1/uboot-fragment.config b/board/stmicroelectronics/stm32mp157a-dk1/uboot-fragment.config deleted file mode 100644 index a278ce9e232..00000000000 --- a/board/stmicroelectronics/stm32mp157a-dk1/uboot-fragment.config +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_STM32MP_WATCHDOG is not set diff --git a/board/stmicroelectronics/stm32mp157c-dk2/uboot-fragment.config b/board/stmicroelectronics/stm32mp157c-dk2/uboot-fragment.config deleted file mode 100644 index a278ce9e232..00000000000 --- a/board/stmicroelectronics/stm32mp157c-dk2/uboot-fragment.config +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_STM32MP_WATCHDOG is not set diff --git a/board/synopsys/axs10x/uboot-fragment.config b/board/synopsys/axs10x/uboot-fragment.config new file mode 100644 index 00000000000..92fe20f463a --- /dev/null +++ b/board/synopsys/axs10x/uboot-fragment.config @@ -0,0 +1 @@ +CONFIG_SYS_MALLOC_F_LEN=0x0500 diff --git a/board/synopsys/hsdk/genimage.cfg b/board/synopsys/hsdk/genimage.cfg index 9103b202992..b5d702d553c 100644 --- a/board/synopsys/hsdk/genimage.cfg +++ b/board/synopsys/hsdk/genimage.cfg @@ -1,27 +1,29 @@ image boot.vfat { - vfat { - files = { - "uImage" - } - file uboot.env { - image = "uboot-env.bin" - } - } - size = 20M + vfat { + files = { + "uImage" + } + + file uboot.env { + image = "uboot-env.bin" + } + } + + size = 20M } image sdcard.img { - hdimage { - } + hdimage { + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/synopsys/vdk/linux-vdk-aarch64-defconfig b/board/synopsys/vdk/linux-vdk-aarch64-defconfig deleted file mode 100644 index 8109e169258..00000000000 --- a/board/synopsys/vdk/linux-vdk-aarch64-defconfig +++ /dev/null @@ -1,143 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=16 -CONFIG_CGROUPS=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_EMBEDDED=y -CONFIG_SLAB=y -CONFIG_PROFILING=y -CONFIG_CC_STACKPROTECTOR_REGULAR=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_SMP=y -CONFIG_SCHED_MC=y -CONFIG_SCHED_SMT=y -CONFIG_NR_CPUS=8 -CONFIG_PREEMPT=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -CONFIG_CMDLINE="console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug user_debug=31 loglevel=9 root=/dev/vda" -CONFIG_CMDLINE_FORCE=y -CONFIG_BINFMT_MISC=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_ARM_BIG_LITTLE_CPUFREQ=y -CONFIG_ARM_DT_BL_CPUFREQ=y -CONFIG_ARM_SPCI_CPUFREQ=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_XFRM_USER=y -CONFIG_NET_KEY=y -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_SYN_COOKIES=y -CONFIG_NETWORK_PHY_TIMESTAMPING=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_VEXPRESS_CONFIG=y -CONFIG_CONNECTOR=m -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_NBD=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_VIRTIO_BLK=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_DM=y -CONFIG_NETDEVICES=y -CONFIG_STMMAC_ETH=m -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_UINPUT=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_POWER_RESET_VEXPRESS=y -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_USB_HIDDEV=y -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_SYNOPSYS=y -CONFIG_USB_OHCI_HCD=y -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_ULPI=y -CONFIG_USB_DUMMY_HCD=m -CONFIG_USB_G_SERIAL=m -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=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_SWITCH=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_PL031=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_COMMON_CLK_VERSATILE=y -CONFIG_CLK_SP810=y -CONFIG_CLK_VEXPRESS_OSC=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_MAILBOX=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_BTRFS_FS=m -CONFIG_QFMT_V2=y -CONFIG_AUTOFS4_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_HUGETLBFS=m -CONFIG_ECRYPT_FS=m -CONFIG_CRAMFS=m -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_INFO=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_SCHEDSTATS=y -CONFIG_TIMER_STATS=y -CONFIG_FUNCTION_TRACER=y -CONFIG_STRICT_DEVMEM=y -CONFIG_SECURITY=y -CONFIG_SECURITY_NETWORK_XFRM=y -CONFIG_LSM_MMAP_MIN_ADDR=0 - diff --git a/board/synopsys/vdk/readme.txt b/board/synopsys/vdk/readme.txt deleted file mode 100644 index 98046473404..00000000000 --- a/board/synopsys/vdk/readme.txt +++ /dev/null @@ -1,65 +0,0 @@ -Synopsys VDK Software Development Platform - -Intro -===== - -The Virtualizer Development Kit (VDK) Family for ARM Cortex Products -consists of a set of virtual prototypes that provide a virtualizer for -the ARM core variants. The VDK is a standalone package that runs on an -host computer. - -Buildroot will generate the kernel image and a minimal root filesystem. - -How to build it -=============== - -Configure Buildroot -------------------- - -Configuring Buildroot is pretty simple, just execute: - - $ make snps_aarch64_vdk_defconfig - -Build the rootfs and kernel ---------------------------- - -Note: you will need to have access to the network, since Buildroot will -download the packages' sources. - -You may now build your rootfs with: - - $ make - -(This may take a while) - -Result of the build -------------------- - -After building, you should obtain this tree: - - output/images/ - -- rootfs.ext2 - -- Image - -Installing your rootfs and Image -================================ - -Now copy the content of the output/images folder to the VDK' skins -folder: - - $ cp rootfs.ext2 Image /skins/Vanilla-Cortex/ARMv8 - - -Starting the VDK -================================ - -Go the VDK' installation root and execute the 'start' script: - - $ cd - $ ./start.sh - -The VP Explorer application will be executed, starting the simulation -automatically. - -For more information about Synopsys' VDK please check: -http://www.synopsys.com/Prototyping/VirtualPrototyping/Pages/default.aspx diff --git a/board/technexion/imx6ulpico/rootfs_overlay/boot/extlinux/extlinux.conf b/board/technexion/imx6ulpico/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..24ed485c3c5 --- /dev/null +++ b/board/technexion/imx6ulpico/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx6ul-pico-buildroot + kernel ../zImage + fdtdir ../ + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/technologic/ts4900/readme.txt b/board/technologic/ts4900/readme.txt index 679454fdeb9..121e6397495 100644 --- a/board/technologic/ts4900/readme.txt +++ b/board/technologic/ts4900/readme.txt @@ -9,7 +9,7 @@ Freescale i.MX6 Single or Quad Core ARM Cortex-A9 CPU clocked at 1GHz. The TS-4900 features Gigabit Ethernet, SATA II Port, PCI Express Bus, high speed USB host and device (OTG), and microSD card. More details on the board here: - http://wiki.embeddedarm.com/wiki/TS-4900 + https://docs.embeddedTS.com/TS-4900 The TS-4900 is not currently supported by mainline Linux, so a Technologic Systems Linux is used based on Linux 4.1. @@ -48,5 +48,5 @@ connector etc. The bootloader comes pre-flashed on the board on an SPI flash. Since updating the bootloader is risky and not trivial, it is not included in the Buildroot defconfig. Refer to -http://wiki.embeddedarm.com/wiki/TS-4900#U-Boot for details on which +https://docs.embeddedTS.com/TS-4900#U-Boot for details on which U-Boot config to use and how to flash it. diff --git a/board/technologic/ts5500/readme.txt b/board/technologic/ts5500/readme.txt index 1e73ab3ea17..1fe384faae9 100644 --- a/board/technologic/ts5500/readme.txt +++ b/board/technologic/ts5500/readme.txt @@ -5,7 +5,7 @@ This document explains how to set up a basic Buildroot system for the Technologic Systems TS-5x00 serie of x86-based Single Board Computers. TS-5x00 Single Board Computers are based on the AMD Elan520 processor. For more -information please have a look at http://wiki.embeddedarm.com/wiki/#AMD +information please have a look at https://docs.embeddedTS.com/Documentation_Home#AMD The kernel configuration works for any AMD Elan520-based SBCs, but the support is enhanced for the TS-5500 and TS-5400 models (on-board devices registration @@ -45,7 +45,7 @@ config, the BIOS must use Logical Block Addressing (LBA). You can do it by choosing "Ide 0: AUTOCONFIG, LBA" under "IDE DRIVE GEOMETRY" in the "Basic CMOS Configuration" screen. Also, don't forget to set the 'active' (or 'bootable') flag on partition 1. For details about the CMOS setup, please see: -http://wiki.embeddedarm.com/wiki/TS-5500#System_BIOS_Setup_Screens +https://docs.embeddedts.com/TS-5500#System_BIOS_Setup_Screens Connect a terminal program to the rs232 connector marked "COM2" with baudrate set to 115200, insert the Compact Flash card into the socket, diff --git a/board/technologic/ts7680/genimage.cfg b/board/technologic/ts7680/genimage.cfg index 70b1dac64fe..58a63edd1ae 100644 --- a/board/technologic/ts7680/genimage.cfg +++ b/board/technologic/ts7680/genimage.cfg @@ -3,7 +3,7 @@ image sdcard.img { } partition unused { - size = 512 + size = 512 } partition rootfs { diff --git a/board/technologic/ts7680/readme.txt b/board/technologic/ts7680/readme.txt index 43d5d135e88..3f703330bf9 100644 --- a/board/technologic/ts7680/readme.txt +++ b/board/technologic/ts7680/readme.txt @@ -8,7 +8,7 @@ The TS-7680 SBC is based on the Freescale i.MX286 ARM ARM926EJ-S running at 454MHz. The TS-7680 features are 10/100 Ethernet ports, Wi-Fi, microSD card, eMMC, NOR Flash, USB host port, CAN ports, relays and ADC/DAC. More details on the board here: -https://wiki.embeddedarm.com/wiki/TS-7680 +https://docs.embeddedTS.com/TS-7680 The TS-7680 uses a 4.9 Linux kernel provided by Technologic Systems. @@ -46,5 +46,5 @@ the SD jumper is present and the U-Boot jumper is not. The bootloader comes pre-flashed on the board on an SPI flash. Since updating the bootloader is risky and not trivial, it is not included in the Buildroot defconfig. Refer to -https://wiki.embeddedarm.com/wiki/TS-7680#U-Boot for details on +https://docs.embeddedts.com/TS-7680#U-Boot for details on which U-Boot config to use and how to flash it. diff --git a/board/terasic/de10nano_cyclone5/barebox-env/boot/mmc b/board/terasic/de10nano_cyclone5/barebox-env/boot/mmc new file mode 100644 index 00000000000..fed2b0b45db --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/boot/mmc @@ -0,0 +1,8 @@ +#!/bin/sh + +global.bootm.oftree="/boot/socfpga_cyclone5_de0_nano_soc.dtb" +global.bootm.image="/boot/zImage" + +#bootargs-ip + +global.linux.bootargs.dyn.root="root=/dev/mmcblk0p3 rw rootwait" diff --git a/board/terasic/de10nano_cyclone5/barebox-env/init/automount b/board/terasic/de10nano_cyclone5/barebox-env/init/automount new file mode 100644 index 00000000000..4092ecbaec3 --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/init/automount @@ -0,0 +1,5 @@ +#!/bin/sh + +# SD card slot, first partition +mkdir -p /mnt/mmcblk0p2 +automount -d /mnt/mmcblk0p2 'mount /dev/mmc0.1 /mnt/mmcblk0p2' diff --git a/board/terasic/de10nano_cyclone5/barebox-env/nv/boot.default b/board/terasic/de10nano_cyclone5/barebox-env/nv/boot.default new file mode 100644 index 00000000000..61f529d69a3 --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/nv/boot.default @@ -0,0 +1 @@ +mmc diff --git a/board/terasic/de10nano_cyclone5/barebox-env/nv/linux.bootargs.console b/board/terasic/de10nano_cyclone5/barebox-env/nv/linux.bootargs.console new file mode 100644 index 00000000000..476b1fbe49c --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/nv/linux.bootargs.console @@ -0,0 +1 @@ +console=ttyS0,115200 diff --git a/board/terasic/de10nano_cyclone5/genimage.cfg b/board/terasic/de10nano_cyclone5/genimage.cfg new file mode 100644 index 00000000000..815e4a1bf3f --- /dev/null +++ b/board/terasic/de10nano_cyclone5/genimage.cfg @@ -0,0 +1,43 @@ +image boot.vfat { + vfat { + file zImage { + image = "zImage" + } + + file socfpga_cyclone5_de0_nano_soc.dtb { + image = "socfpga_cyclone5_de0_nano_soc.dtb" + } + + file barebox.bin { + image = "barebox-socfpga-de10_nano.img" + } + + file barebox.env { + image = "barebox-env" + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition spl { + partition-type = 0xa2 + image = "barebox-socfpga-de10_nano-xload.img" + size = 1M + } + + partition boot { + partition-type = 0xc + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/terasic/de10nano_cyclone5/readme.txt b/board/terasic/de10nano_cyclone5/readme.txt new file mode 100644 index 00000000000..f9d8fc756a0 --- /dev/null +++ b/board/terasic/de10nano_cyclone5/readme.txt @@ -0,0 +1,41 @@ +Terasic DE10 Nano Development Board + +Intro +===== + +More information about this board can be found here: +https://rocketboards.org/foswiki/Documentation/DE10NanoDevelopmentBoard + +Build +===== + +First, load socrates config for buildroot + + make terasic_de10nano_cyclone5_defconfig + +Build everything + + make + +Following files will be generated in output/images + +. +├── barebox-env +├── barebox-socfpga-de10_nano.img +├── barebox-socfpga-de10_nano-xload.img +├── boot.vfat +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── socfpga_cyclone5_de0_nano_soc.dtb +└── zImage + +Creating bootable SD card +========================= + +Simply invoke + +dd if=output/images/sdcard.img of=/dev/sdX + +Where X is your SD card device (not partition) diff --git a/board/toradex/apalis-imx6/genimage.cfg b/board/toradex/apalis-imx6/genimage.cfg index fe359bd93e6..a277decaa80 100644 --- a/board/toradex/apalis-imx6/genimage.cfg +++ b/board/toradex/apalis-imx6/genimage.cfg @@ -4,12 +4,12 @@ # from its internal flash memory (eMMC). image sdcard.img { - hdimage { - } + hdimage { + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - size = 512M - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 512M + } } diff --git a/board/udoo/common/boot.scr.txt b/board/udoo/common/boot.scr.txt index 7acceed0fb2..7a7d756c3c7 100644 --- a/board/udoo/common/boot.scr.txt +++ b/board/udoo/common/boot.scr.txt @@ -1,7 +1,7 @@ -setenv finduuid "part uuid mmc 0:1 uuid" +setenv finduuid "part uuid mmc 1:1 uuid" run finduuid run findfdt setenv bootargs "console=${console} root=PARTUUID=${uuid} rootwait rootfstype=ext4" -load mmc 0:1 ${fdt_addr} boot/${fdtfile} -load mmc 0:1 ${loadaddr} boot/zImage +load mmc 1:1 ${fdt_addr} boot/${fdtfile} +load mmc 1:1 ${loadaddr} boot/zImage bootz ${loadaddr} - ${fdt_addr} diff --git a/board/uevm5432/genimage.cfg b/board/uevm5432/genimage.cfg new file mode 100644 index 00000000000..dfe388227ec --- /dev/null +++ b/board/uevm5432/genimage.cfg @@ -0,0 +1,27 @@ +image boot.vfat { + vfat { + files = { + "MLO", + "u-boot.img" + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/uevm5432/readme.txt b/board/uevm5432/readme.txt new file mode 100644 index 00000000000..4569fbd84ef --- /dev/null +++ b/board/uevm5432/readme.txt @@ -0,0 +1,40 @@ +OMAP5432 uEVM +============= + +This file documents the Buildroot support for the OMAP5432 uEVM[1], a +single-board computer development platform based on the Texas Instruments +OMAP5432 system on a chip (SoC). + +How to build +============ + + $ make uevm5432_defconfig + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sync + +Where /dev/sdX is the device node of your SD card (may be /dev/mmcblkX instead +depending on setup). + +To boot from SD card, set the SYSBOOT switches S1 of your OMAP5432 uEVM to the +following position: + + ON x x + x x + 1 2 3 4 + +Insert the micro SDcard in your OMAP5432 uEVM, and power it up with the POWER +ON push button switch S3. The console is on the micro USB Debug UART, with +serial settings 115200 8N1. Refer also to the quick start guide[2]. + +[1]: https://svtronics.com/5432 +[2]: https://www.ti.com/lit/ug/swcu131/swcu131.pdf diff --git a/board/wandboard/boot.scr.txt b/board/wandboard/boot.scr.txt deleted file mode 100644 index 7a8aa4bd547..00000000000 --- a/board/wandboard/boot.scr.txt +++ /dev/null @@ -1,7 +0,0 @@ -setenv finduuid "part uuid mmc 0:1 uuid" -run finduuid -run findfdt -setenv bootargs "console=ttymxc0,115200 root=PARTUUID=${uuid} rootwait rootfstype=ext4" -load mmc 0:1 ${fdt_addr} boot/${fdtfile} -load mmc 0:1 ${loadaddr} boot/zImage -bootz ${loadaddr} - ${fdt_addr} diff --git a/board/wandboard/genimage.cfg b/board/wandboard/genimage.cfg deleted file mode 100644 index ad4a6a55d56..00000000000 --- a/board/wandboard/genimage.cfg +++ /dev/null @@ -1,32 +0,0 @@ -# Minimal SD card image for the Wandboard -# -# The SD card must have at least 1 MB free at the beginning. -# U-Boot and its environment are dumped as is. -# A single root filesystem partition is required (Ext4 in this case). -# -# For details about the layout, see: -# http://wiki.wandboard.org/index.php/Boot-process - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "SPL" - offset = 1024 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 70656 - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - offset = 1M - size = 512M - } -} diff --git a/board/wandboard/post-build.sh b/board/wandboard/post-build.sh deleted file mode 100755 index 6ddc1137022..00000000000 --- a/board/wandboard/post-build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -d -m 755 $TARGET_DIR/boot - -$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \ - -n "boot script" -d $BOARD_DIR/boot.scr.txt $TARGET_DIR/boot/boot.scr diff --git a/board/wandboard/rootfs_overlay/boot/extlinux/extlinux.conf b/board/wandboard/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..e3b90660c0e --- /dev/null +++ b/board/wandboard/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx6qdl-wandboard Buildroot + kernel ../zImage + fdtdir ../ + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/zynq/genimage.cfg b/board/zynq/genimage.cfg index 76e61c3a098..67baca795ed 100644 --- a/board/zynq/genimage.cfg +++ b/board/zynq/genimage.cfg @@ -6,10 +6,12 @@ image boot.vfat { "devicetree.dtb", "uImage" } + file uramdisk.image.gz { image = "rootfs.cpio.uboot" } } + size = 32M } diff --git a/board/zynqmp/extlinux.conf b/board/zynqmp/extlinux.conf new file mode 100644 index 00000000000..ae3ec8614a7 --- /dev/null +++ b/board/zynqmp/extlinux.conf @@ -0,0 +1,5 @@ +label linux + kernel /Image + devicetree /system.dtb + append console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait + diff --git a/board/zynqmp/genimage.cfg b/board/zynqmp/genimage.cfg index 30be086d7d4..20d8352c080 100644 --- a/board/zynqmp/genimage.cfg +++ b/board/zynqmp/genimage.cfg @@ -2,12 +2,15 @@ image boot.vfat { vfat { files = { "boot.bin", - "u-boot.bin", - "atf-uboot.ub", + "u-boot.itb", "system.dtb", "Image" } + file extlinux/extlinux.conf { + image = extlinux.conf + } } + size = 32M } diff --git a/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch b/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch deleted file mode 100644 index 4d85e1bb129..00000000000 --- a/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e5d72ed8339eb05285448aad3c89d21e4d18fd29 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Mon, 26 Feb 2018 09:40:34 +0100 -Subject: [PATCH] arm64: zynqmp: zcu106: fix SPL MMC booting - -The U-Boot SPL generated with the current zcu106 defconfig cannot boot -from MMC: - - [...] - U-Boot SPL 2018.01 (Feb 21 2018 - 17:47:14) - EL Level: EL3 - Trying to boot from MMC1 - sdhci_transfer_data: Error detected in status(0x408020)! - spl_load_image_fat_os: error reading image u-boot.bin, err - -2 - spl_load_image_fat: error reading image u-boot.img, err - -6 - SPL: failed to boot from all boot devices - ### ERROR ### Please RESET the board ### - -Fix by lowering the rpll value. The new value for the RPLL_CTRL -register comes from the current psu_init_gpl.c from the HDF file at -https://github.com/xilinx/hdf-examples/tree/01ad8ea5fd1989abf4ea5a072d019a16cb2bc546/zcu106-zynqmp -(generated by Vivado v2017.4). - -RPLL and sdio1_ref clocks before and after this change: - - - Old values: RPLL 1.36 GHz, sdio1_ref 272 MHz - - New values: RPLL 1.16 GHz, sdio1_ref 233 MHz - -Signed-off-by: Luca Ceresoli -Cc: Michal Simek -Upstream-status: accepted upstream in a different form ---- - - board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c -index 4d18abe000ca..e6fa477e53e7 100644 ---- a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c -+++ b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c -@@ -10,7 +10,7 @@ - static unsigned long psu_pll_init_data(void) - { - psu_mask_write(0xFF5E0034, 0xFE7FEDEFU, 0x7E4E2C62U); -- psu_mask_write(0xFF5E0030, 0x00717F00U, 0x00013C00U); -+ psu_mask_write(0xFF5E0030, 0x00717F00U, 0x00014600U); - psu_mask_write(0xFF5E0030, 0x00000008U, 0x00000008U); - psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000001U); - psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000000U); --- -2.7.4 - diff --git a/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch b/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch deleted file mode 100644 index 487fff68121..00000000000 --- a/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 5e3cac50cc981e01d9072241035a8d4162560c71 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Mon, 12 Mar 2018 17:18:38 +0100 -Subject: [PATCH] arm64: zynqmp: Enable booting to ATF - -U-Boot is now able to boot to ARM Trusted Firmware (ATF). The boot -flow is SPL(EL3) loads ATF and full u-boot and jump to ATF(EL3) which -pass control to full u-boot(EL2). This has been tested on zcu106, so -enable it in this defconfig. - -To generate an image that triggers this booting flow, you need to pass -'-O arm-trusted-firmware' to mkimage. - -Signed-off-by: Luca Ceresoli -Signed-off-by: Michal Simek -Backported from upstream: http://git.denx.de/?p=u-boot.git;a=commit;h=5e3cac50cc981e01d9072241035a8d4162560c71 ---- - - configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 + - configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 1 + - configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig | 1 + - configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig | 1 + - configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + - configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + - configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + - 7 files changed, 7 insertions(+) - -diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig -index c5bfa2b12638..488c72258b0e 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig -index f86dce403a42..5d501eec0edd 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig -@@ -20,6 +20,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig b/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig -index 6e947cf56827..6f7eaebd7676 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig -@@ -16,6 +16,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_CMD_MEMTEST=y - CONFIG_SYS_ALT_MEMTEST=y -diff --git a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig -index 1c934858c61c..7a3806cba4b5 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig -@@ -17,6 +17,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_CMD_MEMTEST=y - CONFIG_SYS_ALT_MEMTEST=y -diff --git a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig -index e13c7c56f310..e4408f182ca0 100644 ---- a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig -+++ b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zcu102_revA_defconfig b/configs/xilinx_zynqmp_zcu102_revA_defconfig -index 5b2cd495ee85..b52f6789fd4b 100644 ---- a/configs/xilinx_zynqmp_zcu102_revA_defconfig -+++ b/configs/xilinx_zynqmp_zcu102_revA_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig -index e6530fbfe7ff..80592554f682 100644 ---- a/configs/xilinx_zynqmp_zcu102_revB_defconfig -+++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y --- -2.7.4 - diff --git a/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch b/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch deleted file mode 100644 index 95ab7b3b75c..00000000000 --- a/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch +++ /dev/null @@ -1,68 +0,0 @@ -From c7df098a71e05dc81cee818747759e8060b59626 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Mon, 4 Jun 2018 12:21:01 +0200 -Subject: [PATCH] arm64: zynqmp: accept an absolute path for PMUFW_INIT_FILE - -The value of PMUFW_INIT_FILE is prefixed with "$(srctree)/", thus -forcing it to be a relative path inside the U-Boot source tree. Since -the PMUFW is a binary file generated outside of U-Boot, the PMUFW -binary must be copied inside the U-Boot source tree before the -build. - -This generates a few problems: - - * if the source tree is shared among different out-of-tree builds, - they will pollute (and potentially corrupt) each other - * the source tree cannot be read-only - * any buildsystem must add a command to copy the PMUFW binary - * putting an externally-generated binary in the source tree is ugly - as hell - -Avoid these problems by accepting an absolute path for -PMUFW_INIT_FILE. This would be as simple as removing the "$(srctree)/" -prefix, but in order to keep backward compatibility we rather use the -shell and readlink to get the absolute path even when starting from a -relative path. - -Since 'readlink -f' produces an empty string if the file does not -exist, we also add a check to ensure the file configured in -PMUFW_INIT_FILE exists. Otherwise the build would exit successfully, -but produce a boot.bin without PMUFW as if PMUFW_INIT_FILE were empty. - -Tested in the 12 possible combinations of: - - PMUFW_INIT_FILE empty, relative, absolute, non-existing - - building in-tree, in subdir, in other directory - -Signed-off-by: Luca Ceresoli -Cc: Michal Simek -Cc: Simon Glass -Cc: Emmanuel Vadot -Signed-off-by: Michal Simek -Backported from upstream: https://git.denx.de/?p=u-boot.git;a=commit;h=c7df098a71e05dc81cee818747759e8060b59626 ---- - scripts/Makefile.spl | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl -index ef018b5b4056..252f13826d4c 100644 ---- a/scripts/Makefile.spl -+++ b/scripts/Makefile.spl -@@ -167,8 +167,14 @@ ifdef CONFIG_ARCH_ZYNQ - MKIMAGEFLAGS_boot.bin = -T zynqimage -R $(srctree)/$(CONFIG_BOOT_INIT_FILE) - endif - ifdef CONFIG_ARCH_ZYNQMP -+ifneq ($(CONFIG_PMUFW_INIT_FILE),"") -+spl/boot.bin: zynqmp-check-pmufw -+zynqmp-check-pmufw: FORCE -+ ( cd $(srctree) && test -r $(CONFIG_PMUFW_INIT_FILE) ) \ -+ || ( echo "Cannot read $(CONFIG_PMUFW_INIT_FILE)" && false ) -+endif - MKIMAGEFLAGS_boot.bin = -T zynqmpimage -R $(srctree)/$(CONFIG_BOOT_INIT_FILE) \ -- -n $(srctree)/$(CONFIG_PMUFW_INIT_FILE) -+ -n "$(shell cd $(srctree); readlink -f $(CONFIG_PMUFW_INIT_FILE))" - endif - - spl/boot.bin: $(obj)/u-boot-spl.bin FORCE --- -2.7.4 - diff --git a/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch b/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch deleted file mode 100644 index b32e162780b..00000000000 --- a/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 4c9d54ab5a41d65000c8d249b6fb1b76056f1812 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Wed, 20 Jun 2018 12:11:50 +0200 -Subject: [PATCH] arm/arm64: zynq/zynqmp: pass the PS init file as a kconfig - variable - -U-Boot needs to link ps7_init_gpl.c on Zynq or psu_init_gpl.c on -ZynqMP (PS init for short). The current logic to locate this file for -both platforms is: - - 1. if a board-specific file exists in - board/xilinx/zynq[mp]/$(CONFIG_DEFAULT_DEVICE_TREE)/ps?_init_gpl.c - then use it - 2. otherwise use board/xilinx/zynq/ps?_init_gpl.c - -In the latter case the file does not exist in the U-Boot sources and -must be copied in the source tree from the outside before starting the -build. This is typical when it is generated from Xilinx tools while -developing a custom hardware. However making sure that a -board-specific file is _not_ found (and used) requires some trickery -such as removing or overwriting all PS init files (e.g.: the current -meta-xilinx yocto layer [0]). - -This generates a few problems: - - * if the source tree is shared among different out-of-tree builds, - they will pollute (and potentially corrupt) each other - * the source tree cannot be read-only - * any buildsystem must add a command to copy the PS init file binary - * overwriting or deleting files in the source tree is ugly as hell - -Simplify usage by allowing to pass the path to the desired PS init -file in kconfig variable XILINX_PS_INIT_FILE. It can be an absolute -path or relative to $(srctree). If the variable is set, the -user-specified file will always be used without being copied -around. If the the variable is left empty, for backward compatibility -fall back to the old behaviour. - -Since the issue is the same for Zynq and ZynqMP, add one kconfig -variable in a common place and use it for both. - -Also use the new kconfig help text to document all the ways to give -U-Boot the PS init file. - -Build-tested with all combinations of: - - platform: zynq or zynqmp - - PS init file: from XILINX_PS_INIT_FILE (absolute, relative path, - non-existing), in-tree board-specific, in board/xilinx/zynq[mp]/ - - building in-tree, in subdir, in other directory - -[0] https://github.com/Xilinx/meta-xilinx/blob/b2f74cc7fe5c4881589d5e440a17cb51fc66a7ab/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc#L9 - -Signed-off-by: Luca Ceresoli -Cc: Albert Aribaud -Cc: Michal Simek -Cc: Nathan Rossi -Backported from upstream: https://git.denx.de/?p=u-boot.git;a=commit;h=6da4f67ad09cd8b311d77b2b04e557b7ef65b56c ---- - arch/arm/Kconfig | 1 + - board/xilinx/Kconfig | 41 +++++++++++++++++++++++++++++++++++++++++ - board/xilinx/zynq/Makefile | 10 +++++++++- - board/xilinx/zynqmp/Makefile | 10 +++++++++- - 4 files changed, 60 insertions(+), 2 deletions(-) - create mode 100644 board/xilinx/Kconfig - -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 22234cde2ab6..e04979d0ef7e 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -1293,4 +1293,5 @@ source "board/technologic/ts4600/Kconfig" - source "board/vscom/baltos/Kconfig" - source "board/woodburn/Kconfig" - source "board/work-microwave/work_92105/Kconfig" -+source "board/xilinx/Kconfig" - source "board/zipitz2/Kconfig" - - source "arch/arm/Kconfig.debug" -diff --git a/board/xilinx/Kconfig b/board/xilinx/Kconfig -new file mode 100644 -index 000000000000..aa3fa061edef ---- /dev/null -+++ b/board/xilinx/Kconfig -@@ -0,0 +1,41 @@ -+# Copyright (c) 2018, Luca Ceresoli -+# -+# SPDX-License-Identifier: GPL-2.0 -+ -+if ARCH_ZYNQ || ARCH_ZYNQMP -+ -+config XILINX_PS_INIT_FILE -+ string "Zynq/ZynqMP PS init file(s) location" -+ help -+ On Zynq and ZynqMP U-Boot SPL (or U-Boot proper if -+ ZYNQMP_PSU_INIT_ENABLED is set) is responsible for some -+ basic initializations, such as enabling peripherals and -+ configuring pinmuxes. The PS init file (called -+ psu_init_gpl.c on ZynqMP, ps7_init_gpl.c for Zynq-7000) -+ contains the code for such initializations. -+ -+ U-Boot contains PS init files for some boards, but each of -+ them describes only one specific configuration. Users of a -+ different board, or needing a different configuration, can -+ generate custom files using the Xilinx development tools. -+ -+ There are three ways to give a PS init file to U-Boot: -+ -+ 1. Set this variable to the path, either relative to the -+ source tree or absolute, where the psu_init_gpl.c or -+ ps7_init_gpl.c file is located. U-Boot will build this -+ file. -+ -+ 2. If you leave an empty string here, U-Boot will use -+ board/xilinx/zynq/$(CONFIG_DEFAULT_DEVICE_TREE)/ps7_init_gpl.c -+ for Zynq-7000, or -+ board/xilinx/zynqmp/$(CONFIG_DEFAULT_DEVICE_TREE)/psu_init_gpl.c -+ for ZynqMP. -+ -+ 3. If the above file does not exist, U-Boot will use -+ board/xilinx/zynq/ps7_init_gpl.c for Zynq-7000, or -+ board/xilinx/zynqmp/psu_init_gpl.c for ZynqMP. This file -+ is not provided by U-Boot, you have to copy it there -+ before the build. -+ -+endif -diff --git a/board/xilinx/zynq/Makefile b/board/xilinx/zynq/Makefile -index 5a76a26720cd..03ad5f0532ee 100644 ---- a/board/xilinx/zynq/Makefile -+++ b/board/xilinx/zynq/Makefile -@@ -5,10 +5,18 @@ - - obj-y := board.o - --hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) -+ifneq ($(CONFIG_XILINX_PS_INIT_FILE),"") -+PS_INIT_FILE := $(shell cd $(srctree); readlink -f $(CONFIG_XILINX_PS_INIT_FILE)) -+init-objs := ps_init_gpl.o -+spl/board/xilinx/zynq/ps_init_gpl.o board/xilinx/zynq/ps_init_gpl.o: $(PS_INIT_FILE) -+ $(CC) $(c_flags) -I $(srctree)/$(src) -c -o $@ $^ -+endif - -+ifeq ($(init-objs),) -+hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) - init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/ps7_init_gpl.c),\ - $(hw-platform-y)/ps7_init_gpl.o) -+endif - - ifeq ($(init-objs),) - ifneq ($(wildcard $(srctree)/$(src)/ps7_init_gpl.c),) -diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile -index 05ccd25dcef3..960b81fc5853 100644 ---- a/board/xilinx/zynqmp/Makefile -+++ b/board/xilinx/zynqmp/Makefile -@@ -5,10 +5,18 @@ - - obj-y := zynqmp.o - --hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) -+ifneq ($(CONFIG_XILINX_PS_INIT_FILE),"") -+PS_INIT_FILE := $(shell cd $(srctree); readlink -f $(CONFIG_XILINX_PS_INIT_FILE)) -+init-objs := ps_init_gpl.o -+spl/board/xilinx/zynqmp/ps_init_gpl.o board/xilinx/zynqmp/ps_init_gpl.o: $(PS_INIT_FILE) -+ $(CC) $(c_flags) -I $(srctree)/$(src) -c -o $@ $^ -+endif - -+ifeq ($(init-objs),) -+hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) - init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/psu_init_gpl.c),\ - $(hw-platform-y)/psu_init_gpl.o) -+endif - - ifeq ($(init-objs),) - ifneq ($(wildcard $(srctree)/$(src)/psu_init_gpl.c),) --- -2.7.4 - diff --git a/board/zynqmp/post-build.sh b/board/zynqmp/post-build.sh new file mode 100755 index 00000000000..9fd8bbf2c8d --- /dev/null +++ b/board/zynqmp/post-build.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# genimage will need to find the extlinux.conf +# in the binaries directory + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux.conf diff --git a/board/zynqmp/post-image.sh b/board/zynqmp/post-image.sh index b2b99fed015..ed6dbe188c0 100755 --- a/board/zynqmp/post-image.sh +++ b/board/zynqmp/post-image.sh @@ -10,4 +10,6 @@ FIRST_DT=$(sed -nr \ [ -z "${FIRST_DT}" ] || ln -fs ${FIRST_DT}.dtb ${BINARIES_DIR}/system.dtb -support/scripts/genimage.sh -c board/zynqmp/genimage.cfg +BOARD_DIR="$(dirname $0)" + +support/scripts/genimage.sh -c $BOARD_DIR/genimage.cfg diff --git a/board/zynqmp/readme.txt b/board/zynqmp/readme.txt index da37f4ccc9c..dcde422091b 100644 --- a/board/zynqmp/readme.txt +++ b/board/zynqmp/readme.txt @@ -1,10 +1,20 @@ -******************************** -Xilinx ZCU106 board - ZynqMP SoC -******************************** +****************************************** +Xilinx ZCU102 / ZCU106 boards - ZynqMP SoC +****************************************** + +This document describes the Buildroot support for the ZCU102 and +ZCU106 boards by Xilinx, based on the Zynq UltraScale+ MPSoC (aka +ZynqMP). It has been tested with the ZCU102 and ZCU106 production +boards. + +Evaluation board features can be found here with the links below. + +ZCU102: +https://www.xilinx.com/products/boards-and-kits/zcu102.html + +ZCU106: +https://www.xilinx.com/products/boards-and-kits/zcu106.html -This document describes the Buildroot support for the ZCU106 board by -Xilinx, based on the Zynq UltraScale+ MPSoC (aka ZynqMP). It has been -tested with the EK-U1-ZCU106-ES2 pre-production board. How to build it =============== @@ -32,7 +42,7 @@ After building, you should get a tree like this: +-- rootfs.ext4 -> rootfs.ext2 +-- sdcard.img +-- system.dtb -> zynqmp-zcu106-revA.dtb - +-- u-boot.bin + +-- u-boot.itb `-- zynqmp-zcu106-revA.dtb How to write the SD card diff --git a/board/zynqmp/zcu102/pm_cfg_obj.c b/board/zynqmp/zcu102/pm_cfg_obj.c new file mode 100644 index 00000000000..68557c4cb43 --- /dev/null +++ b/board/zynqmp/zcu102/pm_cfg_obj.c @@ -0,0 +1,563 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + 1U, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 49, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SATA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_ETH_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_ETH_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_ETH_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SPI_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_SPI_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_I2C_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SD_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_SD_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_NAND, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_CAN_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PCIE, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PCAP, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_VCU, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + +/* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 12, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_SD_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + PM_CONFIG_GPO1_BIT_2_MASK | + PM_CONFIG_GPO1_MIO_PIN_34_MAP | + PM_CONFIG_GPO1_MIO_PIN_35_MAP | + PM_CONFIG_GPO1_MIO_PIN_36_MAP | + PM_CONFIG_GPO1_MIO_PIN_37_MAP | + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif + diff --git a/board/zynqmp/zcu102/uboot.fragment b/board/zynqmp/zcu102/uboot.fragment new file mode 100644 index 00000000000..52d6d9dff82 --- /dev/null +++ b/board/zynqmp/zcu102/uboot.fragment @@ -0,0 +1 @@ +CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-rev1.0" diff --git a/board/zynqmp/zcu106/patches/uboot/0001-arm64-zynqmp-zynqmp-zcu102-revA-Fix-DP-PLL-configura.patch b/board/zynqmp/zcu106/patches/uboot/0001-arm64-zynqmp-zynqmp-zcu102-revA-Fix-DP-PLL-configura.patch new file mode 100644 index 00000000000..4281880da09 --- /dev/null +++ b/board/zynqmp/zcu106/patches/uboot/0001-arm64-zynqmp-zynqmp-zcu102-revA-Fix-DP-PLL-configura.patch @@ -0,0 +1,40 @@ +From aaaa10b613165b7790fe1c084de007240b5bd77a Mon Sep 17 00:00:00 2001 +From: Neal Frager +Date: Thu, 5 May 2022 13:34:43 +0100 +Subject: [PATCH 1/1] arm64: zynqmp: zynqmp-zcu102-revA: Fix DP PLL + configuration + +This patch fixes the DP audio and video PLL configurations +for the zynqmp-zcu106-revA evaluation board + +The Linux DP driver expects the DP to be using the following PLL config: + - DP video PLL should use the VPLL (0x0) + - DP audio PLL should use the RPLL (0x3) + +Register 0xFD1A0070 configures the DP video PLL. +Register 0xFD1A0074 configures the DP audio PLL. + +Signed-off-by: Neal Frager +Signed-off-by: Michal Simek +--- + board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c +index 15f0be1a43..cbc436289f 100644 +--- a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c ++++ b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c +@@ -81,8 +81,8 @@ static unsigned long psu_clock_init_data(void) + psu_mask_write(0xFF5E0104, 0x00000007U, 0x00000000U); + psu_mask_write(0xFF5E0128, 0x01003F07U, 0x01000F00U); + psu_mask_write(0xFD1A00A0, 0x01003F07U, 0x01000200U); +- psu_mask_write(0xFD1A0070, 0x013F3F07U, 0x01010203U); +- psu_mask_write(0xFD1A0074, 0x013F3F07U, 0x01013C00U); ++ psu_mask_write(0xFD1A0070, 0x013F3F07U, 0x01010500U); ++ psu_mask_write(0xFD1A0074, 0x013F3F07U, 0x01013C03U); + psu_mask_write(0xFD1A007C, 0x013F3F07U, 0x01011303U); + psu_mask_write(0xFD1A0060, 0x03003F07U, 0x03000100U); + psu_mask_write(0xFD1A0068, 0x01003F07U, 0x01000200U); +-- +2.17.1 + diff --git a/board/zynqmp/zcu106/pm_cfg_obj.c b/board/zynqmp/zcu106/pm_cfg_obj.c new file mode 100644 index 00000000000..6d15d510e94 --- /dev/null +++ b/board/zynqmp/zcu106/pm_cfg_obj.c @@ -0,0 +1,562 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + 1U, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 49, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SATA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_ETH_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_ETH_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_ETH_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SPI_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_SPI_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_I2C_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SD_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_SD_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_NAND, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_CAN_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PCIE, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_PCAP, + PM_SLAVE_FLAG_IS_SHAREABLE, + 0U, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_VCU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + +/* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 12, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_SD_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + PM_CONFIG_GPO1_MIO_PIN_34_MAP | + PM_CONFIG_GPO1_MIO_PIN_35_MAP | + PM_CONFIG_GPO1_MIO_PIN_36_MAP | + PM_CONFIG_GPO1_MIO_PIN_37_MAP | + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif + diff --git a/board/zynqmp/zcu106/uboot.fragment b/board/zynqmp/zcu106/uboot.fragment new file mode 100644 index 00000000000..cd571171ac2 --- /dev/null +++ b/board/zynqmp/zcu106/uboot.fragment @@ -0,0 +1 @@ +CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu106-revA" diff --git a/boot/Config.in b/boot/Config.in index b3adbfc8bcd..40472ae07da 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -6,8 +6,11 @@ source "boot/at91bootstrap3/Config.in" source "boot/at91dataflashboot/Config.in" source "boot/arm-trusted-firmware/Config.in" source "boot/barebox/Config.in" +source "boot/beaglev-ddrinit/Config.in" +source "boot/beaglev-secondboot/Config.in" source "boot/binaries-marvell/Config.in" source "boot/boot-wrapper-aarch64/Config.in" +source "boot/edk2/Config.in" source "boot/grub2/Config.in" source "boot/gummiboot/Config.in" source "boot/lpc32xxcdl/Config.in" @@ -17,6 +20,7 @@ source "boot/optee-os/Config.in" source "boot/opensbi/Config.in" source "boot/s500-bootloader/Config.in" source "boot/shim/Config.in" +source "boot/sun20i-d1-spl/Config.in" source "boot/syslinux/Config.in" source "boot/uboot/Config.in" source "boot/vexpress-firmware/Config.in" diff --git a/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch b/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch index 5ef47b59ff5..aef283270e7 100644 --- a/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch +++ b/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch @@ -1,4 +1,4 @@ -From 5448f328ff63a6ca4a64519c2f1dfc63a33df4b7 Mon Sep 17 00:00:00 2001 +From 9901603e18524c4c52fd1dd47bda4ab4016628fc Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 10 Sep 2020 11:37:33 +0200 Subject: [PATCH] Pass -fno-builtin to fix build with gcc 10 @@ -23,7 +23,7 @@ stm32f429i-disco.c:(.text.reset+0x1a): undefined reference to `memcpy' /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: stm32f429i-disco.c:(.text.reset+0x34): undefined reference to `memset' make[1]: *** [Makefile:26: stm32f429i-disco] Error 1 -Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/9 +Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11 Signed-off-by: Thomas Petazzoni --- Makefile | 1 + @@ -42,5 +42,5 @@ index f699176..1e8557d 100644 obj-y += gpio.o mpu.o qspi.o start_kernel.o -- -2.26.2 +2.35.1 diff --git a/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch b/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch new file mode 100644 index 00000000000..7e5a6430bcd --- /dev/null +++ b/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch @@ -0,0 +1,40 @@ +From be760c062c5d05bd2223f3916afafd37120d3318 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 28 Apr 2022 22:47:09 +0200 +Subject: [PATCH] Makefile: drop -nostartfiles + +In commit 0f3e61c9dd48fd8b4248ce4672c044c2562e4de1 ("Use ld instead of +gcc for linking "), we started using ld instead of gcc for the link +step. This worked fine for a while, but recent versions of ld no +longer accept the -nostartfiles option, causing the build to break: + +Error: unable to disambiguate: -nostartfiles (did you mean --nostartfiles ?) + +In fact, -nostartfiles was passed to gcc prior to +0f3e61c9dd48fd8b4248ce4672c044c2562e4de1, but it is not a ld +option. It is only by luck that it was accepted and ignored by older +ld versions. Since this option is useless when calling ld directly, we +can simply drop it. + +Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11 +Signed-off-by: Thomas Petazzoni +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1e8557d..8f42be1 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall + CFLAGS += -fno-builtin +-LINKERFLAGS := -nostartfiles --gc-sections ++LINKERFLAGS := --gc-sections + + obj-y += gpio.o mpu.o qspi.o start_kernel.o + obj-f4 += $(obj-y) usart-f4.o +-- +2.35.1 + diff --git a/boot/afboot-stm32/Config.in b/boot/afboot-stm32/Config.in index 309b9e04916..23372705ad1 100644 --- a/boot/afboot-stm32/Config.in +++ b/boot/afboot-stm32/Config.in @@ -5,3 +5,23 @@ config BR2_TARGET_AFBOOT_STM32 afboot-stm32 is a very small bootloader for STM32 platforms https://github.com/mcoquelin-stm32/afboot-stm32 + +if BR2_TARGET_AFBOOT_STM32 + +config BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR + hex "Kernel load address" + default "0x08008000" + help + This is the physical address in your flash memory the kernel + will be linked for and stored to. This address is dependent on + your own flash usage. + +config BR2_TARGET_AFBOOT_STM32_DTB_ADDR + hex "Device-tree load address" + default "0x08004000" + help + This is the physical address in your flash memory the + device-tree will be stored to. This address is dependent on + your own flash usage. + +endif diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash index 75f47295f64..d22c96d4135 100644 --- a/boot/afboot-stm32/afboot-stm32.hash +++ b/boot/afboot-stm32/afboot-stm32.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9b37b661bd3091ceb5d8dc5a56a2dfc02ae9ebc0c63dad3c4289c9d6b3d3ec89 afboot-stm32-0.2.tar.gz +sha256 2caacd302ab3ed5b70b3b93a6aef04162abf779c758a5be547be3ab01b68ca10 afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d.tar.gz diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk index 0fb47352858..25ba13c8caf 100644 --- a/boot/afboot-stm32/afboot-stm32.mk +++ b/boot/afboot-stm32/afboot-stm32.mk @@ -4,13 +4,15 @@ # ################################################################################ -AFBOOT_STM32_VERSION = 0.2 -AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,v$(AFBOOT_STM32_VERSION)) +AFBOOT_STM32_VERSION = 3566acd582e5536fb60864281788a30f5527df2d +AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION)) AFBOOT_STM32_INSTALL_IMAGES = YES AFBOOT_STM32_INSTALL_TARGET = NO define AFBOOT_STM32_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all \ + KERNEL_ADDR=$(BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR) \ + DTB_ADDR=$(BR2_TARGET_AFBOOT_STM32_DTB_ADDR) endef define AFBOOT_STM32_INSTALL_IMAGES_CMDS diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index c06294040ee..b1fc03e10b1 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -1,7 +1,7 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE bool "ARM Trusted Firmware (ATF)" depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) && \ - BR2_TARGET_UBOOT + (BR2_TARGET_UBOOT || BR2_TARGET_EDK2) help Enable this option if you want to build the ATF for your ARM based embedded device. @@ -15,7 +15,7 @@ choice Select the specific ATF version you want to use config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION - bool "v2.4" + bool "v2.5" config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION bool "Custom version" @@ -43,7 +43,7 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION string - default "v2.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + default "v2.5" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT @@ -68,6 +68,15 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM help Target plaform to build for. +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH + string "Device Tree Source file paths" + help + Space-separated list of paths to device tree source files + that will be copied to fdts/ before starting the build. + + To use this device tree source file, the ATF configuration + file must refer to it. + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP bool "Build FIP image" help @@ -135,6 +144,19 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE endif +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + bool "Use EDK2 as BL33" + depends on BR2_TARGET_EDK2 + help + This option allows to embed EDK2 as the BL33 part of + the ARM Trusted Firmware. It ensures that the EDK2 package + gets built before ATF, and that the appropriate BL33 + variable pointing to the EDK2 is passed when building ATF. + + Do not choose this option if you intend to build ATF and EDK2 + for the 'qemu_sbsa' platform. In this case, due to the EDK2 + build system, the dependency between ATF and EDK is reversed. + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS string "Additional ATF make targets" help @@ -175,4 +197,28 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN Select this option if your ATF board configuration requires an ARM32 bare metal toolchain to be available. +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP + bool "Build with SSP" + default y + depends on BR2_TOOLCHAIN_HAS_SSP + depends on !BR2_SSP_NONE + help + Say 'y' here if you want to build ATF with SSP. + + Your board must have SSP support in ATF: it must have an + implementation for plat_get_stack_protector_canary(). + + If you say 'y', the SSP level will be the level selected + by the global SSP setting. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL + string + # While newer versions of TF-A support "none" as + # ENABLE_STACK_PROTECTOR value, older versions (e.g 2.0) only + # supported "0" to disable SSP. + default "0" if !BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP + default "default" if BR2_SSP_REGULAR + default "strong" if BR2_SSP_STRONG + default "all" if BR2_SSP_ALL + endif diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/arm-trusted-firmware.hash index 970613f38d4..80402ec374b 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.hash +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4bfda9fdbe5022f2e88ad3344165f7d38a8ae4a0e2d91d44d9a1603425cc642d arm-trusted-firmware-v2.4.tar.gz -sha256 487795b8023df866259fa159bab94706b747fb0d623b7913f1c4955c0ab5f164 license.rst +sha256 d12a824afcc5cb90d005f9820f3274f1319cef1bb282e40a6a190b75900206d3 arm-trusted-firmware-v2.5.tar.gz +sha256 0171b0795501ee90634fbc4a7835e2fb215d9423daf1cf5b0d0682adde12c597 docs/license.rst diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 0597cecf71f..35a95a7ec2c 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -18,10 +18,10 @@ else # Handle stable official ATF versions ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) # The licensing of custom or from-git versions is unknown. -# This is valid only for the official v1.4. +# This is valid only for the latest (i.e. known) version. ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y) ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause -ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = docs/license.rst endif endif @@ -50,9 +50,14 @@ endif ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ + $(if $(BR2_PIC_PIE),CFLAGS="-fno-PIE") \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) +ARM_TRUSTED_FIRMWARE_MAKE_ENV += \ + $(TARGET_MAKE_ENV) \ + ENABLE_STACK_PROTECTOR=$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL)) + ifeq ($(BR2_ARM_CPU_ARMV7A),y) ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARM_ARCH_MAJOR=7 else ifeq ($(BR2_ARM_CPU_ARMV8A),y) @@ -79,6 +84,15 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += AARCH32_SP=optee endif endif # BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += edk2 +# Since the flash device name vary between platforms, we use the variable +# provided by the EDK2 package for this. Using this variable here is OK +# as it will expand after all dependencies are resolved, inside _BUILD_CMDS. +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + BL33=$(BINARIES_DIR)/$(call qstrip,$(BR2_TARGET_EDK2_FD_NAME).fd) +endif + ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y) ARM_TRUSTED_FIRMWARE_UBOOT_BIN = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE)) ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_UBOOT_BIN) @@ -100,14 +114,6 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += MV_DDR_PATH=$(MV_DDR_MARVELL_DIR) ARM_TRUSTED_FIRMWARE_DEPENDENCIES += mv-ddr-marvell endif -ifeq ($(BR2_SSP_REGULAR),y) -ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ENABLE_STACK_PROTECTOR=default -else ifeq ($(BR2_SSP_STRONG),y) -ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ENABLE_STACK_PROTECTOR=strong -else ifeq ($(BR2_SSP_ALL),y) -ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ENABLE_STACK_PROTECTOR=all -endif - ARM_TRUSTED_FIRMWARE_MAKE_TARGETS = all ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP),y) @@ -160,9 +166,15 @@ endif ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS)) +ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH)) + define ARM_TRUSTED_FIRMWARE_BUILD_CMDS + $(if $(ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH), + cp -f $(ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH) $(@D)/fdts/ + ) $(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL) - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_ENV) $(MAKE) -C $(@D) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD) endef diff --git a/boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch b/boot/at91bootstrap/0001-eabi-fix.patch similarity index 100% rename from boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch rename to boot/at91bootstrap/0001-eabi-fix.patch diff --git a/boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch b/boot/at91bootstrap/0002-gcc-4.6.x-ldscript-fix.patch similarity index 100% rename from boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch rename to boot/at91bootstrap/0002-gcc-4.6.x-ldscript-fix.patch diff --git a/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch b/boot/at91bootstrap/0003-u-boot-relocation-fix.patch similarity index 100% rename from boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch rename to boot/at91bootstrap/0003-u-boot-relocation-fix.patch diff --git a/boot/at91bootstrap/at91bootstrap.hash b/boot/at91bootstrap/at91bootstrap.hash index b1f963b8256..d9f8db88976 100644 --- a/boot/at91bootstrap/at91bootstrap.hash +++ b/boot/at91bootstrap/at91bootstrap.hash @@ -1,2 +1,3 @@ # locally computed sha256 d66192a274247f4baa39fa932eadf903d7add55641d89d30402f967c4f2282a5 AT91Bootstrap1.16.zip +sha256 6a3ac5dfcf19e6bac1b1109d30d72818768a3855e2594b84fe2b012b5fe0e77b include/sdramc.h diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk index c68b56b6ec3..1a084756fd2 100644 --- a/boot/at91bootstrap/at91bootstrap.mk +++ b/boot/at91bootstrap/at91bootstrap.mk @@ -7,6 +7,8 @@ AT91BOOTSTRAP_VERSION = 1.16 AT91BOOTSTRAP_SITE = ftp://www.at91.com/pub/at91bootstrap AT91BOOTSTRAP_SOURCE = AT91Bootstrap$(AT91BOOTSTRAP_VERSION).zip +AT91BOOTSTRAP_LICENSE = BSD-Source-Code +AT91BOOTSTRAP_LICENSE_FILES = include/sdramc.h AT91BOOTSTRAP_BOARD = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD)) AT91BOOTSTRAP_MEMORY = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY)) diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in index 25ab30489ff..b3e18fce7cd 100644 --- a/boot/at91bootstrap3/Config.in +++ b/boot/at91bootstrap3/Config.in @@ -1,5 +1,5 @@ config BR2_TARGET_AT91BOOTSTRAP3 - bool "AT91 Bootstrap 3" + bool "AT91 Bootstrap 3+" depends on BR2_arm926t || BR2_cortex_a5 || BR2_cortex_a7 help AT91Bootstrap is a first level bootloader for the Atmel AT91 @@ -16,10 +16,13 @@ if BR2_TARGET_AT91BOOTSTRAP3 choice - prompt "AT91 Bootstrap 3 version" + prompt "AT91 Bootstrap 3+ version" config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION - bool "3.9.3" + bool "4.0.0" + +config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X + bool "3.10.3" config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT bool "Custom Git repository" @@ -27,6 +30,12 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT This option allows Buildroot to get the AT91 Bootstrap 3 source code from a Git repository. +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN + bool "Custom SVN repository" + help + This option allows Buildroot to get the AT91 Bootstrap 3 + source code from a Subversion repository + config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL bool "Custom tarball" @@ -36,7 +45,7 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION string "URL of custom AT91Bootstrap tarball" depends on BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL -if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT +if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT || BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL string "URL of custom repository" @@ -44,16 +53,17 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION string "Custom repository version" help - Revision to use in the typical format used by Git + Revision to use in the typical format used by Git or SVN E.G. a sha id, a tag, branch, .. endif config BR2_TARGET_AT91BOOTSTRAP3_VERSION string - default "v3.9.3" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION + default "v4.0.0" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION + default "v3.10.3" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \ - if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT + if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT || BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN default "custom" if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR @@ -96,4 +106,12 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE help Path to the at91bootstrap3 configuration file +config BR2_TARGET_AT91BOOTSTRAP3_NEEDS_PYTHON3 + bool "needs host-python3" + help + Enable this option if the at91bootstrap build process needs + Python 3.x to be available on the host. This is needed in + some at91bootstrap configurations to use NAND/PMECC Python + scripts. + endif # BR2_TARGET_AT91BOOTSTRAP3 diff --git a/boot/at91bootstrap3/at91bootstrap3.hash b/boot/at91bootstrap3/at91bootstrap3.hash index 6671a4ac707..e611f163c97 100644 --- a/boot/at91bootstrap3/at91bootstrap3.hash +++ b/boot/at91bootstrap3/at91bootstrap3.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 dd6a3c57c1c84fc3b18187bee3d139146a0e032dd1d8edea7b242730e0bc4fe1 at91bootstrap3-v3.9.3.tar.gz -sha256 732b2a55b5905031d8ae420136ffb5f8889214865784386bf754cffab8d2bc6e main.c +sha256 b6ae5bcaacc5a949f400182e036ae053049638444a3ba8b1dd154ec5f7898d8e at91bootstrap3-v3.10.3.tar.gz +sha256 08c5b95df28be7f2e0439fb2b77fe27524f97c499850641e4540c07ea0b2c25d at91bootstrap3-v4.0.0.tar.gz +sha256 5a3809b1c2ba13b7242572322951311c584419f1f8516f665d6c06f0668d78de LICENSES/MIT.txt diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk index a942afcdc9f..4bbe7cc7181 100644 --- a/boot/at91bootstrap3/at91bootstrap3.mk +++ b/boot/at91bootstrap3/at91bootstrap3.mk @@ -15,13 +15,19 @@ else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y) AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)) AT91BOOTSTRAP3_SITE_METHOD = git BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN),y) +AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)) +AT91BOOTSTRAP3_SITE_METHOD = svn +BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) else AT91BOOTSTRAP3_SITE = $(call github,linux4sam,at91bootstrap,$(AT91BOOTSTRAP3_VERSION)) endif -AT91BOOTSTRAP3_LICENSE = Atmel License ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION),y) -AT91BOOTSTRAP3_LICENSE_FILES = main.c +AT91BOOTSTRAP3_LICENSE = MIT +AT91BOOTSTRAP3_LICENSE_FILES = LICENSES/MIT.txt +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X),y) +AT91BOOTSTRAP3_LICENSE = Atmel License endif AT91BOOTSTRAP3_CPE_ID_VENDOR = linux4sam @@ -30,6 +36,10 @@ AT91BOOTSTRAP3_CPE_ID_PRODUCT = at91bootstrap AT91BOOTSTRAP3_INSTALL_IMAGES = YES AT91BOOTSTRAP3_INSTALL_TARGET = NO +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_NEEDS_PYTHON3),y) +AT91BOOTSTRAP3_DEPENDENCIES += host-python3 +endif + AT91BOOTSTRAP3_CUSTOM_PATCH_DIR = \ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR)) @@ -48,7 +58,7 @@ define AT91BOOTSTRAP3_BUILD_CMDS endef define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS - cp $(@D)/binaries/*.bin $(BINARIES_DIR) + cp $(wildcard $(@D)/build/binaries/*.bin $(@D)/binaries/*.bin) $(BINARIES_DIR) endef ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y) diff --git a/boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch b/boot/at91dataflashboot/0001-do-not-install.patch similarity index 100% rename from boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch rename to boot/at91dataflashboot/0001-do-not-install.patch diff --git a/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch b/boot/at91dataflashboot/0002-eabi-fixes.patch similarity index 100% rename from boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch rename to boot/at91dataflashboot/0002-eabi-fixes.patch diff --git a/boot/at91dataflashboot/Config.in b/boot/at91dataflashboot/Config.in index 4055f964107..8b37d844095 100644 --- a/boot/at91dataflashboot/Config.in +++ b/boot/at91dataflashboot/Config.in @@ -1,3 +1,3 @@ config BR2_TARGET_AT91DATAFLASHBOOT bool "AT91 DataFlashBoot" - depends on BR2_arm926t + depends on BR2_arm && BR2_arm926t diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index 239c95bf90a..23f8a5ac8ad 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -12,7 +12,7 @@ choice Select the specific Barebox version you want to use config BR2_TARGET_BAREBOX_LATEST_VERSION - bool "2020.11.0" + bool "2021.12.0" config BR2_TARGET_BAREBOX_CUSTOM_VERSION bool "Custom version" @@ -40,7 +40,7 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2020.11.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default "2021.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT diff --git a/boot/barebox/barebox.hash b/boot/barebox/barebox.hash index 3644601bbc1..0a853866b59 100644 --- a/boot/barebox/barebox.hash +++ b/boot/barebox/barebox.hash @@ -1,8 +1,8 @@ -# From https://www.barebox.org/download/barebox-2020.11.0.tar.bz2.md5 -md5 1fc2c1a03d7b44dc12fbf4cf1fc6ffe0 barebox-2020.11.0.tar.bz2 +# From https://www.barebox.org/download/barebox-2021.12.0.tar.bz2.md5 +md5 199b6d7ff3441cec2062ab18a52454dc barebox-2021.12.0.tar.bz2 # Locally calculated -sha256 049d2b1b887d0397f4b5390255459fb0240200b06a3276ffaefdeab7fb243554 barebox-2020.11.0.tar.bz2 +sha256 555569fe9e71524e0bf927eaa2c1aa2e81ee2c34dd71e39fe21620db6ccc8aa6 barebox-2021.12.0.tar.bz2 # License files, locally computed sha256 ab1122aa9f9073ad1ec824edcd970b16a6a7881a34a18fd56c080debb2dca5d4 COPYING diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index 8f02f9f9e16..6506294d6df 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -59,16 +59,16 @@ ifneq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) $(1)_INSTALL_TARGET = NO endif -ifeq ($$(KERNEL_ARCH),i386) +ifeq ($$(NORMALIZED_ARCH),i386) $(1)_ARCH = x86 -else ifeq ($$(KERNEL_ARCH),x86_64) +else ifeq ($$(NORMALIZED_ARCH),x86_64) $(1)_ARCH = x86 -else ifeq ($$(KERNEL_ARCH),powerpc) +else ifeq ($$(NORMALIZED_ARCH),powerpc) $(1)_ARCH = ppc -else ifeq ($$(KERNEL_ARCH),arm64) +else ifeq ($$(NORMALIZED_ARCH),arm64) $(1)_ARCH = arm else -$(1)_ARCH = $$(KERNEL_ARCH) +$(1)_ARCH = $$(NORMALIZED_ARCH) endif $(1)_MAKE_FLAGS = ARCH=$$($(1)_ARCH) CROSS_COMPILE="$$(TARGET_CROSS)" diff --git a/boot/barebox/barebox/barebox.mk b/boot/barebox/barebox/barebox.mk index 39afb0fccb0..6a5a80de34e 100644 --- a/boot/barebox/barebox/barebox.mk +++ b/boot/barebox/barebox/barebox.mk @@ -4,10 +4,5 @@ # ################################################################################ -define BAREBOX_HELP_CMDS - @echo ' barebox-menuconfig - Run barebox menuconfig' - @echo ' barebox-savedefconfig - Run barebox savedefconfig' -endef - # Instantiate the barebox package $(eval $(barebox-package)) diff --git a/boot/beaglev-ddrinit/Config.in b/boot/beaglev-ddrinit/Config.in new file mode 100644 index 00000000000..7ca92a7b9bc --- /dev/null +++ b/boot/beaglev-ddrinit/Config.in @@ -0,0 +1,9 @@ +config BR2_TARGET_BEAGLEV_DDRINIT + bool "beaglev-ddrinit" + depends on BR2_riscv + depends on BR2_HOSTARCH = "x86_64" # host-riscv64-elf-toolchain + help + This package builds the DDRinit firmware used on the BeagleV + platform. + + https://github.com/starfive-tech/beagle_ddrinit diff --git a/boot/beaglev-ddrinit/beaglev-ddrinit.hash b/boot/beaglev-ddrinit/beaglev-ddrinit.hash new file mode 100644 index 00000000000..2aaab53a3b8 --- /dev/null +++ b/boot/beaglev-ddrinit/beaglev-ddrinit.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 2d491f64bd77de9dfd4b8ae6c00e83670e80c205cc20917fefa6194b1dc1fe4e beaglev-ddrinit-c0839f25246d9e308c23498d344ca13d8a7ad6ed.tar.gz +sha256 284d26192537710910ec1f112ec5f4c981601ae23702391986d6ce0b8ba90813 LICENSE diff --git a/boot/beaglev-ddrinit/beaglev-ddrinit.mk b/boot/beaglev-ddrinit/beaglev-ddrinit.mk new file mode 100644 index 00000000000..76406ed4c59 --- /dev/null +++ b/boot/beaglev-ddrinit/beaglev-ddrinit.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# beaglev-ddrinit +# +################################################################################ + +# Commit on the 'starfive' branch +BEAGLEV_DDRINIT_VERSION = c0839f25246d9e308c23498d344ca13d8a7ad6ed +BEAGLEV_DDRINIT_SITE = $(call github,starfive-tech,beagle_ddrinit,$(BEAGLEV_DDRINIT_VERSION)) +BEAGLEV_DDRINIT_INSTALL_TARGET = NO +BEAGLEV_DDRINIT_INSTALL_IMAGES = YES +BEAGLEV_DDRINIT_DEPENDENCIES = host-riscv64-elf-toolchain +BEAGLEV_DDRINIT_LICENSE = GPL-2.0+ +BEAGLEV_DDRINIT_LICENSE_FILES = LICENSE + +define BEAGLEV_DDRINIT_BUILD_CMDS + $(MAKE) -C $(@D)/build \ + CROSSCOMPILE=$(HOST_DIR)/bin/riscv64-unknown-elf- \ + SUFFIX=buildroot \ + GIT_VERSION=$(BEAGLEV_DDRINIT_VERSION) +endef + +define BEAGLEV_DDRINIT_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/build/ddrinit-2133-buildroot.bin.out \ + $(BINARIES_DIR)/ddrinit-2133-buildroot.bin.out +endef + +$(eval $(generic-package)) diff --git a/boot/beaglev-secondboot/Config.in b/boot/beaglev-secondboot/Config.in new file mode 100644 index 00000000000..a9695fc138a --- /dev/null +++ b/boot/beaglev-secondboot/Config.in @@ -0,0 +1,9 @@ +config BR2_TARGET_BEAGLEV_SECONDBOOT + bool "beaglev-secondboot" + depends on BR2_riscv + depends on BR2_HOSTARCH = "x86_64" # host-riscv64-elf-toolchain + help + This package builds the SecondBoot firmware used on the + BeagleV platform. + + https://github.com/starfive-tech/beagle_secondBoot diff --git a/boot/beaglev-secondboot/beaglev-secondboot.hash b/boot/beaglev-secondboot/beaglev-secondboot.hash new file mode 100644 index 00000000000..efc93347b16 --- /dev/null +++ b/boot/beaglev-secondboot/beaglev-secondboot.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 fe4d37f3ff38e7f2da70a08f9cb1668c0b928e85d2e0935bd985f910b3ce30e9 beaglev-secondboot-2d20047960044308126117ad56bc08a1164e82b2.tar.gz +sha256 284d26192537710910ec1f112ec5f4c981601ae23702391986d6ce0b8ba90813 LICENSE diff --git a/boot/beaglev-secondboot/beaglev-secondboot.mk b/boot/beaglev-secondboot/beaglev-secondboot.mk new file mode 100644 index 00000000000..a423c6c6a69 --- /dev/null +++ b/boot/beaglev-secondboot/beaglev-secondboot.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# beaglev-secondboot +# +################################################################################ + +# Commit on the 'starfive' branch +BEAGLEV_SECONDBOOT_VERSION = 2d20047960044308126117ad56bc08a1164e82b2 +BEAGLEV_SECONDBOOT_SITE = $(call github,starfive-tech,beagle_secondBoot,$(BEAGLEV_SECONDBOOT_VERSION)) +BEAGLEV_SECONDBOOT_INSTALL_TARGET = NO +BEAGLEV_SECONDBOOT_INSTALL_IMAGES = YES +BEAGLEV_SECONDBOOT_DEPENDENCIES = host-riscv64-elf-toolchain +BEAGLEV_SECONDBOOT_LICENSE = GPL-2.0+ +BEAGLEV_SECONDBOOT_LICENSE_FILES = LICENSE + +define BEAGLEV_SECONDBOOT_BUILD_CMDS + $(MAKE) -C $(@D)/build \ + CROSSCOMPILE=$(HOST_DIR)/bin/riscv64-unknown-elf- \ + SUFFIX=buildroot \ + GIT_VERSION=$(BEAGLEV_SECONDBOOT_VERSION) +endef + +define BEAGLEV_SECONDBOOT_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/build/bootloader-BEAGLEV-buildroot.bin.out \ + $(BINARIES_DIR)/bootloader-BEAGLEV-buildroot.bin.out +endef + +$(eval $(generic-package)) diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index 3a1af9b02c7..30b352f8e7d 100644 --- a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -5,7 +5,8 @@ ################################################################################ BOOT_WRAPPER_AARCH64_VERSION = 8d5a765251d9113c3c0f9fa14de42a9e7486fe8a -BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_SITE_METHOD = git BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux diff --git a/boot/edk2/0001-MdeModulePkg-UsbBusDxe-fix-NOOPT-build-error.patch b/boot/edk2/0001-MdeModulePkg-UsbBusDxe-fix-NOOPT-build-error.patch new file mode 100644 index 00000000000..f4f1b1565aa --- /dev/null +++ b/boot/edk2/0001-MdeModulePkg-UsbBusDxe-fix-NOOPT-build-error.patch @@ -0,0 +1,48 @@ +From 59aa67f7a4d8efc564b46fe467aaf6eccec17183 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 20 Dec 2021 22:32:38 +0800 +Subject: [PATCH] MdeModulePkg/UsbBusDxe: fix NOOPT build error + +gcc-11 (fedora 35): + +/home/kraxel/projects/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c: In function ?UsbIoBulkTransfer?: +/home/kraxel/projects/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c:277:12: error: ?UsbHcBulkTransfer? accessing 80 bytes in a region of size 8 [-Werror=stringop-overflow=] + +Signed-off-by: Gerd Hoffmann +Reviewed-by: Hao A Wu +(cherry picked from commit ae8272ef787d80950803c521a13a308651bdc62e) +Signed-off-by: Romain Naour +--- + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c | 2 +- + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c +index 7529e03e85..b2ce97ca37 100644 +--- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c ++++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c +@@ -285,7 +285,7 @@ UsbHcBulkTransfer ( + IN UINT8 DevSpeed, + IN UINTN MaxPacket, + IN UINT8 BufferNum, +- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], ++ IN OUT VOID *Data[], + IN OUT UINTN *DataLength, + IN OUT UINT8 *DataToggle, + IN UINTN TimeOut, +diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h +index 1d2b8a6174..1316a5981f 100644 +--- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h ++++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h +@@ -149,7 +149,7 @@ UsbHcBulkTransfer ( + IN UINT8 DevSpeed, + IN UINTN MaxPacket, + IN UINT8 BufferNum, +- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], ++ IN OUT VOID *Data[], + IN OUT UINTN *DataLength, + IN OUT UINT8 *DataToggle, + IN UINTN TimeOut, +-- +2.35.3 + diff --git a/boot/edk2/Config.in b/boot/edk2/Config.in new file mode 100644 index 00000000000..df723122ee0 --- /dev/null +++ b/boot/edk2/Config.in @@ -0,0 +1,124 @@ +config BR2_TARGET_EDK2_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_i386 + default y if BR2_x86_64 + +config BR2_TARGET_EDK2 + bool "EDK2" + depends on BR2_TARGET_EDK2_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + select BR2_PACKAGE_EDK2_PLATFORMS + help + EDK II is a modern, feature-rich, cross-platform firmware + development environment for the UEFI and PI specifications. + + https://github.com/tianocore/tianocore.github.io/wiki/EDK-II + +if BR2_TARGET_EDK2 + +choice + prompt "Platform" + default BR2_TARGET_EDK2_PLATFORM_OVMF_I386 if BR2_i386 + default BR2_TARGET_EDK2_PLATFORM_OVMF_X64 if BR2_x86_64 + default BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU if BR2_aarch64 + +config BR2_TARGET_EDK2_PLATFORM_OVMF_I386 + bool "i386" + depends on BR2_i386 || BR2_x86_64 + help + Platform configuration for a generic i386 target. + This platform will boot from flash address 0x0. + It should therefore be used as the first bootloader. + +config BR2_TARGET_EDK2_PLATFORM_OVMF_X64 + bool "x86-64" + depends on BR2_x86_64 + help + Platform configuration for a generic x86-64 target. + This platform will boot from flash address 0x0. + It should therefore be used as the first bootloader. + +config BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU + bool "ARM Virt Qemu (flash)" + depends on BR2_aarch64 + help + Platform configuration for QEMU targeting the Virt machine. + This platform will only boot from flash address 0x0. + It should therefore be used as the first bootloader. + +config BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL + bool "ARM Virt Qemu (kernel)" + depends on BR2_aarch64 + help + Platform configuration for QEMU targeting the Virt machine. + This platform can boot from either flash address 0x0 or via + the Linux boot protocol. It can therefore be loaded by a + previous bootloader like ARM Trusted Firmware or OP-TEE. + +config BR2_TARGET_EDK2_PLATFORM_ARM_SGI575 + bool "ARM SGI-575" + depends on BR2_aarch64 + help + Platform configuration for ARM SGI-575 on ARM's + Fixed Virtual Platform (FVP). + +config BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64 + bool "ARM VExpress FVP Aarch64" + depends on BR2_aarch64 + help + Platform configuration for ARM Versatile Express targeting + the Aarch64 Fixed Virtual Platform (FVP). + +config BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX + bool "Socionext DeveloperBox" + depends on BR2_aarch64 + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE + depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + select BR2_PACKAGE_HOST_DTC + select BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP + help + Platform configuration for Socionext SynQuacer DeveloperBox + (SC2A11). + +comment "Socionext DeveloperBox depends on ATF not using EDK2 as BL33" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + +config BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN + bool "SolidRun MacchiatoBin" + depends on BR2_aarch64 + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE + select BR2_PACKAGE_HOST_DTC + select BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP + help + Platform configuration for the SolidRun MacchiatoBin. + +config BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA + bool "QEMU SBSA" + depends on BR2_aarch64 + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE + depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + help + Platform configuration for QEMU targeting the SBSA reference + machine. + +comment "QEMU SBSA depends on ATF not using EDK2 as BL33" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + +endchoice + +config BR2_TARGET_EDK2_FD_NAME + string + default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_I386 + default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_X64 + default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU + default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL + default "BL33_AP_UEFI" if BR2_TARGET_EDK2_PLATFORM_ARM_SGI575 + default "FVP_AARCH64_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64 + default "FVP_AARCH64_EFI" if BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX + default "ARMADA_EFI" if BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN + +endif + +comment "EDK2 needs a toolchain w/ gcc >= 5" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/boot/edk2/edk2.hash b/boot/edk2/edk2.hash new file mode 100644 index 00000000000..f28e9ce841b --- /dev/null +++ b/boot/edk2/edk2.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 04791c13b414a6d1877182a6d565cb762c30aa63e49bb4d495fca68ef4dd209d edk2-edk2-stable202102-br1.tar.gz +sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt diff --git a/boot/edk2/edk2.mk b/boot/edk2/edk2.mk new file mode 100644 index 00000000000..2b12de53cb1 --- /dev/null +++ b/boot/edk2/edk2.mk @@ -0,0 +1,159 @@ +################################################################################ +# +# edk2 +# +################################################################################ + +EDK2_VERSION = edk2-stable202102 +EDK2_SITE = https://github.com/tianocore/edk2 +EDK2_SITE_METHOD = git +EDK2_LICENSE = BSD-2-Clause +EDK2_LICENSE_FILE = License.txt +EDK2_CPE_ID_VENDOR = tianocore +EDK2_DEPENDENCIES = edk2-platforms host-python3 host-acpica host-util-linux +EDK2_INSTALL_TARGET = NO +EDK2_INSTALL_IMAGES = YES + +ifeq ($(BR2_ENABLE_DEBUG),y) +EDK2_BUILD_TYPE = DEBUG +else +EDK2_BUILD_TYPE = RELEASE +endif + +# Build system notes. +# +# The EDK2 build system is rather unique, so here are a few useful notes. +# +# First, builds rely heavily on Git submodules to fetch various dependencies +# into specific directory structures. It might be possible to work around this +# and rely on Buildroot's infrastructure, but using Git submodules greatly +# simplifies this already complicated build system. +# +# Second, the build system is spread across various commands and stages. +# Therefore, all build variables needs to be exported to be available +# accordingly. The first stage will build $(@D)/BaseTools which contains +# various tools and scripts for the host. +# +# Third, where applicable, the dependency direction between EDK2 and +# ARM Trusted Firmware (ATF) will go in different direction for different +# platforms. Most commonly, ATF will depend on EDK2 via the BL33 payload. +# But for some platforms (e.g. QEMU SBSA or DeveloperBox) EDK2 will package +# the ATF images within its own build system. In such cases, intermediary +# "EDK2 packages" will be built in $(EDK2_BUILD_PACKAGES) in order for EDK2 +# to be able to use them in subsequent build stages. +# +# For more information about the build setup: +# https://edk2-docs.gitbook.io/edk-ii-build-specification/4_edk_ii_build_process_overview + +EDK2_GIT_SUBMODULES = YES +EDK2_BUILD_PACKAGES = $(@D)/Build/Buildroot +EDK2_PACKAGES_PATH = $(@D):$(EDK2_BUILD_PACKAGES):$(STAGING_DIR)/usr/share/edk2-platforms + +ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_I386),y) +EDK2_ARCH = IA32 +EDK2_DEPENDENCIES += host-nasm +EDK2_PACKAGE_NAME = OvmfPkg +EDK2_PLATFORM_NAME = OvmfPkgIa32 +EDK2_BUILD_DIR = OvmfIa32 + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y) +EDK2_ARCH = X64 +EDK2_DEPENDENCIES += host-nasm +EDK2_PACKAGE_NAME = OvmfPkg +EDK2_PLATFORM_NAME = OvmfPkgX64 +EDK2_BUILD_DIR = OvmfX64 + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = ArmVirtPkg +EDK2_PLATFORM_NAME = ArmVirtQemu +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH) + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = ArmVirtPkg +EDK2_PLATFORM_NAME = ArmVirtQemuKernel +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH) + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = Platform/ARM/VExpressPkg +EDK2_PLATFORM_NAME = ArmVExpress-FVP-AArch64 +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX),y) +EDK2_ARCH = AARCH64 +EDK2_DEPENDENCIES += host-dtc arm-trusted-firmware +EDK2_PACKAGE_NAME = Platform/Socionext/DeveloperBox +EDK2_PLATFORM_NAME = DeveloperBox +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) +EDK2_BUILD_ENV += DTC_PREFIX=$(HOST_DIR)/bin/ +EDK2_BUILD_OPTS += -D DO_X86EMU=TRUE +EDK2_PRE_BUILD_HOOKS += EDK2_PRE_BUILD_SOCIONEXT_DEVELOPERBOX + +define EDK2_PRE_BUILD_SOCIONEXT_DEVELOPERBOX + mkdir -p $(EDK2_BUILD_PACKAGES)/Platform/Socionext/DeveloperBox + $(ARM_TRUSTED_FIRMWARE_DIR)/tools/fiptool/fiptool create \ + --tb-fw $(BINARIES_DIR)/bl31.bin \ + --soc-fw $(BINARIES_DIR)/bl31.bin \ + --scp-fw $(BINARIES_DIR)/bl31.bin \ + $(EDK2_BUILD_PACKAGES)/Platform/Socionext/DeveloperBox/fip_all_arm_tf.bin +endef + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN),y) +EDK2_ARCH = AARCH64 +EDK2_DEPENDENCIES += host-dtc arm-trusted-firmware +EDK2_PACKAGE_NAME = Platform/SolidRun/Armada80x0McBin +EDK2_PLATFORM_NAME = Armada80x0McBin +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH) +EDK2_BUILD_ENV += DTC_PREFIX=$(HOST_DIR)/bin/ +EDK2_BUILD_OPTS += -D INCLUDE_TFTP_COMMAND + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA),y) +EDK2_ARCH = AARCH64 +EDK2_DEPENDENCIES += arm-trusted-firmware +EDK2_PACKAGE_NAME = Platform/Qemu/SbsaQemu +EDK2_PLATFORM_NAME = SbsaQemu +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) +EDK2_PRE_BUILD_HOOKS += EDK2_PRE_BUILD_QEMU_SBSA + +define EDK2_PRE_BUILD_QEMU_SBSA + mkdir -p $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa + ln -srf $(BINARIES_DIR)/{bl1.bin,fip.bin} $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa/ +endef + +endif + +EDK2_BASETOOLS_OPTS = \ + EXTRA_LDFLAGS="$(HOST_LDFLAGS)" \ + EXTRA_OPTFLAGS="$(HOST_CPPFLAGS)" + +EDK2_BUILD_ENV += \ + WORKSPACE=$(@D) \ + PACKAGES_PATH=$(EDK2_PACKAGES_PATH) \ + PYTHON_COMMAND=$(HOST_DIR)/bin/python3 \ + IASL_PREFIX=$(HOST_DIR)/bin/ \ + NASM_PREFIX=$(HOST_DIR)/bin/ \ + GCC5_$(EDK2_ARCH)_PREFIX=$(TARGET_CROSS) + +EDK2_BUILD_OPTS += \ + -t GCC5 \ + -n $(BR2_JLEVEL) \ + -a $(EDK2_ARCH) \ + -b $(EDK2_BUILD_TYPE) \ + -p $(EDK2_PACKAGE_NAME)/$(EDK2_PLATFORM_NAME).dsc + +define EDK2_BUILD_CMDS + mkdir -p $(EDK2_BUILD_PACKAGES) + export $(EDK2_BUILD_ENV) && \ + unset ARCH && \ + source $(@D)/edksetup.sh && \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/BaseTools $(EDK2_BASETOOLS_OPTS) && \ + build $(EDK2_BUILD_OPTS) all +endef + +define EDK2_INSTALL_IMAGES_CMDS + cp -f $(@D)/Build/$(EDK2_BUILD_DIR)/$(EDK2_BUILD_TYPE)_GCC5/FV/*.fd $(BINARIES_DIR) +endef + +$(eval $(generic-package)) diff --git a/boot/grub2/0029-efi-Make-shim_lock-GUID-and-protocol-type-public.patch b/boot/grub2/0029-efi-Make-shim_lock-GUID-and-protocol-type-public.patch new file mode 100644 index 00000000000..ec1f62360a7 --- /dev/null +++ b/boot/grub2/0029-efi-Make-shim_lock-GUID-and-protocol-type-public.patch @@ -0,0 +1,97 @@ +From f76a27996c34900f2c369a8a0d6ac72ae2faa988 Mon Sep 17 00:00:00 2001 +From: Daniel Kiper +Date: Thu, 3 Dec 2020 16:01:45 +0100 +Subject: [PATCH] efi: Make shim_lock GUID and protocol type public + +The GUID will be used to properly detect and report UEFI Secure Boot +status to the x86 Linux kernel. The functionality will be added by +subsequent patches. The shim_lock protocol type is made public for +completeness. + +Additionally, fix formatting of four preceding GUIDs. + +Signed-off-by: Daniel Kiper +Signed-off-by: Marco A Benatto +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/efi/shim_lock.c | 12 ------------ + include/grub/efi/api.h | 19 +++++++++++++++---- + 2 files changed, 15 insertions(+), 16 deletions(-) + +diff --git a/grub-core/commands/efi/shim_lock.c b/grub-core/commands/efi/shim_lock.c +index 764098c..d8f52d7 100644 +--- a/grub-core/commands/efi/shim_lock.c ++++ b/grub-core/commands/efi/shim_lock.c +@@ -27,18 +27,6 @@ + + GRUB_MOD_LICENSE ("GPLv3+"); + +-#define GRUB_EFI_SHIM_LOCK_GUID \ +- { 0x605dab50, 0xe046, 0x4300, \ +- { 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } \ +- } +- +-struct grub_efi_shim_lock_protocol +-{ +- grub_efi_status_t +- (*verify) (void *buffer, grub_uint32_t size); +-}; +-typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t; +- + static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID; + static grub_efi_shim_lock_protocol_t *sl; + +diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h +index cf1355a..13e5715 100644 +--- a/include/grub/efi/api.h ++++ b/include/grub/efi/api.h +@@ -316,22 +316,27 @@ + + #define GRUB_EFI_SAL_TABLE_GUID \ + { 0xeb9d2d32, 0x2d88, 0x11d3, \ +- { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \ ++ { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \ + } + + #define GRUB_EFI_HCDP_TABLE_GUID \ + { 0xf951938d, 0x620b, 0x42ef, \ +- { 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \ ++ { 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \ + } + + #define GRUB_EFI_DEVICE_TREE_GUID \ + { 0xb1b621d5, 0xf19c, 0x41a5, \ +- { 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } \ ++ { 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } \ + } + + #define GRUB_EFI_VENDOR_APPLE_GUID \ + { 0x2B0585EB, 0xD8B8, 0x49A9, \ +- { 0x8B, 0x8C, 0xE2, 0x1B, 0x01, 0xAE, 0xF2, 0xB7 } \ ++ { 0x8B, 0x8C, 0xE2, 0x1B, 0x01, 0xAE, 0xF2, 0xB7 } \ ++ } ++ ++#define GRUB_EFI_SHIM_LOCK_GUID \ ++ { 0x605dab50, 0xe046, 0x4300, \ ++ { 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } \ + } + + struct grub_efi_sal_system_table +@@ -1689,6 +1694,12 @@ struct grub_efi_block_io + }; + typedef struct grub_efi_block_io grub_efi_block_io_t; + ++struct grub_efi_shim_lock_protocol ++{ ++ grub_efi_status_t (*verify) (void *buffer, grub_uint32_t size); ++}; ++typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t; ++ + #if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \ + || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \ + || defined(__riscv) +-- +2.14.2 + diff --git a/boot/grub2/0030-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch b/boot/grub2/0030-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch new file mode 100644 index 00000000000..39386a182b2 --- /dev/null +++ b/boot/grub2/0030-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch @@ -0,0 +1,149 @@ +From 04ae030d0eea8668d4417702d88bf2cf04713d80 Mon Sep 17 00:00:00 2001 +From: Daniel Kiper +Date: Thu, 3 Dec 2020 16:01:46 +0100 +Subject: [PATCH] efi: Return grub_efi_status_t from grub_efi_get_variable() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is needed to properly detect and report UEFI Secure Boot status +to the x86 Linux kernel. The functionality will be added by subsequent +patches. + +Signed-off-by: Daniel Kiper +Signed-off-by: Marco A Benatto +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/efi/efifwsetup.c | 8 ++++---- + grub-core/kern/efi/efi.c | 16 +++++++++------- + grub-core/video/efi_gop.c | 2 +- + include/grub/efi/efi.h | 7 ++++--- + 4 files changed, 18 insertions(+), 15 deletions(-) + +diff --git a/grub-core/commands/efi/efifwsetup.c b/grub-core/commands/efi/efifwsetup.c +index 7a137a72a..eaca03283 100644 +--- a/grub-core/commands/efi/efifwsetup.c ++++ b/grub-core/commands/efi/efifwsetup.c +@@ -38,8 +38,8 @@ grub_cmd_fwsetup (grub_command_t cmd __attribute__ ((unused)), + grub_size_t oi_size; + grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID; + +- old_os_indications = grub_efi_get_variable ("OsIndications", &global, +- &oi_size); ++ grub_efi_get_variable ("OsIndications", &global, &oi_size, ++ (void **) &old_os_indications); + + if (old_os_indications != NULL && oi_size == sizeof (os_indications)) + os_indications |= *old_os_indications; +@@ -63,8 +63,8 @@ efifwsetup_is_supported (void) + grub_size_t oi_size = 0; + grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID; + +- os_indications_supported = grub_efi_get_variable ("OsIndicationsSupported", +- &global, &oi_size); ++ grub_efi_get_variable ("OsIndicationsSupported", &global, &oi_size, ++ (void **) &os_indications_supported); + + if (!os_indications_supported) + return 0; +diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c +index e0165e74c..9403b12cd 100644 +--- a/grub-core/kern/efi/efi.c ++++ b/grub-core/kern/efi/efi.c +@@ -223,9 +223,9 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid, + return grub_error (GRUB_ERR_IO, "could not set EFI variable `%s'", var); + } + +-void * ++grub_efi_status_t + grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, +- grub_size_t *datasize_out) ++ grub_size_t *datasize_out, void **data_out) + { + grub_efi_status_t status; + grub_efi_uintn_t datasize = 0; +@@ -234,13 +234,14 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, + void *data; + grub_size_t len, len16; + ++ *data_out = NULL; + *datasize_out = 0; + + len = grub_strlen (var); + len16 = len * GRUB_MAX_UTF16_PER_UTF8; + var16 = grub_calloc (len16 + 1, sizeof (var16[0])); + if (!var16) +- return NULL; ++ return GRUB_EFI_OUT_OF_RESOURCES; + len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL); + var16[len16] = 0; + +@@ -251,14 +252,14 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, + if (status != GRUB_EFI_BUFFER_TOO_SMALL || !datasize) + { + grub_free (var16); +- return NULL; ++ return status; + } + + data = grub_malloc (datasize); + if (!data) + { + grub_free (var16); +- return NULL; ++ return GRUB_EFI_OUT_OF_RESOURCES; + } + + status = efi_call_5 (r->get_variable, var16, guid, NULL, &datasize, data); +@@ -266,12 +267,13 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, + + if (status == GRUB_EFI_SUCCESS) + { ++ *data_out = data; + *datasize_out = datasize; +- return data; ++ return status; + } + + grub_free (data); +- return NULL; ++ return status; + } + + #pragma GCC diagnostic ignored "-Wcast-align" +diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c +index be446f8d2..7fe0cdabf 100644 +--- a/grub-core/video/efi_gop.c ++++ b/grub-core/video/efi_gop.c +@@ -316,7 +316,7 @@ grub_video_gop_get_edid (struct grub_video_edid_info *edid_info) + char edidname[] = "agp-internal-edid"; + grub_size_t datasize; + grub_uint8_t *data; +- data = grub_efi_get_variable (edidname, &efi_var_guid, &datasize); ++ grub_efi_get_variable (edidname, &efi_var_guid, &datasize, (void **) &data); + if (data && datasize > 16) + { + copy_size = datasize - 16; +diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h +index e90e00dc4..8b2a0f1f5 100644 +--- a/include/grub/efi/efi.h ++++ b/include/grub/efi/efi.h +@@ -74,9 +74,10 @@ grub_err_t EXPORT_FUNC (grub_efi_set_virtual_address_map) (grub_efi_uintn_t memo + grub_efi_uintn_t descriptor_size, + grub_efi_uint32_t descriptor_version, + grub_efi_memory_descriptor_t *virtual_map); +-void *EXPORT_FUNC (grub_efi_get_variable) (const char *variable, +- const grub_efi_guid_t *guid, +- grub_size_t *datasize_out); ++grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable) (const char *variable, ++ const grub_efi_guid_t *guid, ++ grub_size_t *datasize_out, ++ void **data_out); + grub_err_t + EXPORT_FUNC (grub_efi_set_variable) (const char *var, + const grub_efi_guid_t *guid, +-- +2.29.2 + diff --git a/boot/grub2/0031-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch b/boot/grub2/0031-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch new file mode 100644 index 00000000000..d9fb6154b1f --- /dev/null +++ b/boot/grub2/0031-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch @@ -0,0 +1,78 @@ +From ac5c9367548750e75ed1e7fc4354a3d20186d733 Mon Sep 17 00:00:00 2001 +From: Daniel Kiper +Date: Thu, 3 Dec 2020 16:01:47 +0100 +Subject: [PATCH] efi: Add a function to read EFI variables with attributes + +It will be used to properly detect and report UEFI Secure Boot status to +the x86 Linux kernel. The functionality will be added by subsequent patches. + +Signed-off-by: Ignat Korchagin +Signed-off-by: Daniel Kiper +Signed-off-by: Marco A Benatto +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +--- + grub-core/kern/efi/efi.c | 16 +++++++++++++--- + include/grub/efi/efi.h | 5 +++++ + 2 files changed, 18 insertions(+), 3 deletions(-) + +diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c +index 9403b12cd..2942b8e35 100644 +--- a/grub-core/kern/efi/efi.c ++++ b/grub-core/kern/efi/efi.c +@@ -224,8 +224,11 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid, + } + + grub_efi_status_t +-grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, +- grub_size_t *datasize_out, void **data_out) ++grub_efi_get_variable_with_attributes (const char *var, ++ const grub_efi_guid_t *guid, ++ grub_size_t *datasize_out, ++ void **data_out, ++ grub_efi_uint32_t *attributes) + { + grub_efi_status_t status; + grub_efi_uintn_t datasize = 0; +@@ -262,7 +265,7 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, + return GRUB_EFI_OUT_OF_RESOURCES; + } + +- status = efi_call_5 (r->get_variable, var16, guid, NULL, &datasize, data); ++ status = efi_call_5 (r->get_variable, var16, guid, attributes, &datasize, data); + grub_free (var16); + + if (status == GRUB_EFI_SUCCESS) +@@ -276,6 +279,13 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, + return status; + } + ++grub_efi_status_t ++grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, ++ grub_size_t *datasize_out, void **data_out) ++{ ++ return grub_efi_get_variable_with_attributes (var, guid, datasize_out, data_out, NULL); ++} ++ + #pragma GCC diagnostic ignored "-Wcast-align" + + /* Search the mods section from the PE32/PE32+ image. This code uses +diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h +index 8b2a0f1f5..83d958f99 100644 +--- a/include/grub/efi/efi.h ++++ b/include/grub/efi/efi.h +@@ -74,6 +74,11 @@ grub_err_t EXPORT_FUNC (grub_efi_set_virtual_address_map) (grub_efi_uintn_t memo + grub_efi_uintn_t descriptor_size, + grub_efi_uint32_t descriptor_version, + grub_efi_memory_descriptor_t *virtual_map); ++grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable_with_attributes) (const char *variable, ++ const grub_efi_guid_t *guid, ++ grub_size_t *datasize_out, ++ void **data_out, ++ grub_efi_uint32_t *attributes); + grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable) (const char *variable, + const grub_efi_guid_t *guid, + grub_size_t *datasize_out, +-- +2.29.2 + diff --git a/boot/grub2/0032-efi-Add-secure-boot-detection.patch b/boot/grub2/0032-efi-Add-secure-boot-detection.patch new file mode 100644 index 00000000000..f09a42b2073 --- /dev/null +++ b/boot/grub2/0032-efi-Add-secure-boot-detection.patch @@ -0,0 +1,541 @@ +From d7e54b2e5feee95d2f83058ed30d883c450d1473 Mon Sep 17 00:00:00 2001 +From: Daniel Kiper +Date: Thu, 3 Dec 2020 16:01:48 +0100 +Subject: [PATCH] efi: Add secure boot detection + +Introduce grub_efi_get_secureboot() function which returns whether +UEFI Secure Boot is enabled or not on UEFI systems. + +Signed-off-by: Ignat Korchagin +Signed-off-by: Daniel Kiper +Signed-off-by: Marco A Benatto +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + grub-core/Makefile.am | 1 + + grub-core/Makefile.core.am | 14 +++--- + grub-core/Makefile.core.def | 1 + + grub-core/Makefile.in | 102 ++++++++++++++++++++++++++--------------- + grub-core/kern/efi/sb.c | 109 ++++++++++++++++++++++++++++++++++++++++++++ + include/grub/efi/sb.h | 40 ++++++++++++++++ + po/POTFILES.in | 2 + + 7 files changed, 225 insertions(+), 44 deletions(-) + create mode 100644 grub-core/kern/efi/sb.c + create mode 100644 include/grub/efi/sb.h + +diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am +index 3ea8e7f..c6ba5b2 100644 +--- a/grub-core/Makefile.am ++++ b/grub-core/Makefile.am +@@ -71,6 +71,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/command.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/device.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/disk.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dl.h ++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/sb.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env_private.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/err.h +diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am +index a217716..f28b753 100644 +--- a/grub-core/Makefile.core.am ++++ b/grub-core/Makefile.core.am +@@ -22421,7 +22421,7 @@ endif + if COND_i386_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22531,7 +22531,7 @@ endif + if COND_x86_64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/x86_64/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22707,7 +22707,7 @@ endif + if COND_ia64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = +-kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput +@@ -22773,7 +22773,7 @@ endif + if COND_arm_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/efi/startup.S +-kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22795,7 +22795,7 @@ endif + if COND_arm64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm64/efi/startup.S +-kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22839,7 +22839,7 @@ endif + if COND_riscv32_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22861,7 +22861,7 @@ endif + if COND_riscv64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def +index 474a63e..abd26cf 100644 +--- a/grub-core/Makefile.core.def ++++ b/grub-core/Makefile.core.def +@@ -203,6 +203,7 @@ kernel = { + efi = term/efi/console.c; + efi = kern/acpi.c; + efi = kern/efi/acpi.c; ++ efi = kern/efi/sb.c; + i386_coreboot = kern/i386/pc/acpi.c; + i386_multiboot = kern/i386/pc/acpi.c; + i386_coreboot = kern/acpi.c; +diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in +index d287607..8fb81ee 100644 +--- a/grub-core/Makefile.in ++++ b/grub-core/Makefile.in +@@ -10468,32 +10468,33 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + kern/arm64/cache_flush.S kern/arm64/dl.c \ + kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c \ + kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c \ +- kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c \ +- kern/generic/millisleep.c kern/command.c kern/corecmd.c \ +- kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c \ +- kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c \ +- kern/parser.c kern/partition.c kern/rescue_parser.c \ +- kern/rescue_reader.c kern/term.c kern/arm/startup.S \ +- kern/arm/coreboot/init.c kern/arm/coreboot/timer.c \ +- kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c \ +- term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c \ +- bus/spi/rk3288_spi.c commands/keylayouts.c \ +- kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c \ +- video/coreboot/cbfb.c kern/coreboot/mmap.c \ +- kern/coreboot/cbtable.c term/gfxterm.c font/font.c \ +- font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c \ +- video/fb/fbutil.c video/fb/video_fb.c video/video.c \ +- kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S \ +- kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S \ +- lib/division.c kern/arm/efi/startup.S kern/arm/efi/init.c \ +- kern/arm/uboot/init.c kern/arm/uboot/uboot.S \ +- disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c \ +- kern/uboot/hw.c term/uboot/console.c term/terminfo.c \ +- term/tparm.c commands/extcmd.c lib/arg.c disk/host.c \ +- kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c \ +- osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c \ +- kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c \ +- kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c \ ++ kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c \ ++ kern/time.c kern/generic/millisleep.c kern/command.c \ ++ kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c \ ++ kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c \ ++ kern/misc.c kern/parser.c kern/partition.c \ ++ kern/rescue_parser.c kern/rescue_reader.c kern/term.c \ ++ kern/arm/startup.S kern/arm/coreboot/init.c \ ++ kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \ ++ lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \ ++ term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \ ++ commands/keylayouts.c kern/arm/coreboot/dma.c \ ++ kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c \ ++ kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c \ ++ font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c \ ++ video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c \ ++ video/video.c kern/arm/dl.c kern/arm/dl_helper.c \ ++ kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c \ ++ kern/arm/compiler-rt.S lib/division.c kern/arm/efi/startup.S \ ++ kern/arm/efi/init.c kern/arm/uboot/init.c \ ++ kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c \ ++ kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c \ ++ term/uboot/console.c term/terminfo.c term/tparm.c \ ++ commands/extcmd.c lib/arg.c disk/host.c kern/emu/cache_s.S \ ++ kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c \ ++ osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c \ ++ kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c \ ++ kern/emu/mm.c kern/emu/time.c kern/emu/cache.c \ + osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c \ + osdep/emunet.c osdep/cputime.c kern/i386/coreboot/startup.S \ + kern/i386/coreboot/init.c kern/i386/pc/acpi.c \ +@@ -10580,6 +10581,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -10651,6 +10653,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -10686,6 +10689,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -10881,6 +10885,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -11109,6 +11114,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -11271,6 +11277,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -11360,6 +11367,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ ++@COND_arm64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -16380,6 +16388,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \ + $(top_srcdir)/include/grub/device.h \ + $(top_srcdir)/include/grub/disk.h \ + $(top_srcdir)/include/grub/dl.h \ ++ $(top_srcdir)/include/grub/efi/sb.h \ + $(top_srcdir)/include/grub/env.h \ + $(top_srcdir)/include/grub/env_private.h \ + $(top_srcdir)/include/grub/err.h \ +@@ -25612,7 +25621,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm64_efi_TRUE@ kern/arm64/dl_helper.c disk/efi/efidisk.c \ + @COND_arm64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_arm64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ +-@COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ ++@COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ + @COND_arm64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ + @COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_arm64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +@@ -25661,8 +25670,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_efi_TRUE@ disk/efi/efidisk.c kern/efi/efi.c \ + @COND_arm_efi_TRUE@ kern/efi/init.c kern/efi/mm.c \ + @COND_arm_efi_TRUE@ term/efi/console.c kern/acpi.c \ +-@COND_arm_efi_TRUE@ kern/efi/acpi.c kern/compiler-rt.c \ +-@COND_arm_efi_TRUE@ kern/mm.c kern/time.c \ ++@COND_arm_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \ ++@COND_arm_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ + @COND_arm_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_arm_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ + @COND_arm_efi_TRUE@ kern/dl.c kern/env.c kern/err.c kern/file.c \ +@@ -25739,7 +25748,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_efi_TRUE@ kern/i386/tsc_pit.c disk/efi/efidisk.c \ + @COND_i386_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_i386_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ +-@COND_i386_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ ++@COND_i386_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ + @COND_i386_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ + @COND_i386_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_i386_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +@@ -25851,7 +25860,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_ia64_efi_TRUE@ lib/division.c disk/efi/efidisk.c \ + @COND_ia64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_ia64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ +-@COND_ia64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ ++@COND_ia64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ + @COND_ia64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ + @COND_ia64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_ia64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +@@ -25959,9 +25968,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv32_efi_TRUE@ disk/efi/efidisk.c kern/efi/efi.c \ + @COND_riscv32_efi_TRUE@ kern/efi/init.c kern/efi/mm.c \ + @COND_riscv32_efi_TRUE@ term/efi/console.c kern/acpi.c \ +-@COND_riscv32_efi_TRUE@ kern/efi/acpi.c kern/compiler-rt.c \ +-@COND_riscv32_efi_TRUE@ kern/mm.c kern/time.c \ +-@COND_riscv32_efi_TRUE@ kern/generic/millisleep.c \ ++@COND_riscv32_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \ ++@COND_riscv32_efi_TRUE@ kern/compiler-rt.c kern/mm.c \ ++@COND_riscv32_efi_TRUE@ kern/time.c kern/generic/millisleep.c \ + @COND_riscv32_efi_TRUE@ kern/command.c kern/corecmd.c \ + @COND_riscv32_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ + @COND_riscv32_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ +@@ -25977,8 +25986,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_riscv64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ + @COND_riscv64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ +-@COND_riscv64_efi_TRUE@ kern/compiler-rt.c kern/mm.c \ +-@COND_riscv64_efi_TRUE@ kern/time.c kern/generic/millisleep.c \ ++@COND_riscv64_efi_TRUE@ kern/efi/sb.c kern/compiler-rt.c \ ++@COND_riscv64_efi_TRUE@ kern/mm.c kern/time.c \ ++@COND_riscv64_efi_TRUE@ kern/generic/millisleep.c \ + @COND_riscv64_efi_TRUE@ kern/command.c kern/corecmd.c \ + @COND_riscv64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ + @COND_riscv64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ +@@ -26022,7 +26032,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_x86_64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_x86_64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ + @COND_x86_64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ +-@COND_x86_64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ ++@COND_x86_64_efi_TRUE@ kern/efi/sb.c kern/compiler-rt.c \ ++@COND_x86_64_efi_TRUE@ kern/mm.c kern/time.c \ + @COND_x86_64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_x86_64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ + @COND_x86_64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +@@ -27989,6 +28000,8 @@ kern/kernel_exec-acpi.$(OBJEXT): kern/$(am__dirstamp) \ + kern/$(DEPDIR)/$(am__dirstamp) + kern/efi/kernel_exec-acpi.$(OBJEXT): kern/efi/$(am__dirstamp) \ + kern/efi/$(DEPDIR)/$(am__dirstamp) ++kern/efi/kernel_exec-sb.$(OBJEXT): kern/efi/$(am__dirstamp) \ ++ kern/efi/$(DEPDIR)/$(am__dirstamp) + kern/kernel_exec-compiler-rt.$(OBJEXT): kern/$(am__dirstamp) \ + kern/$(DEPDIR)/$(am__dirstamp) + kern/kernel_exec-mm.$(OBJEXT): kern/$(am__dirstamp) \ +@@ -30994,6 +31007,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-fdt.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-init.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-mm.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-sb.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/grub_emu-full.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/grub_emu_lite-lite.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/kernel_exec-argp_common.Po@am__quote@ +@@ -35285,6 +35299,20 @@ kern/efi/kernel_exec-acpi.obj: kern/efi/acpi.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/efi/kernel_exec-acpi.obj `if test -f 'kern/efi/acpi.c'; then $(CYGPATH_W) 'kern/efi/acpi.c'; else $(CYGPATH_W) '$(srcdir)/kern/efi/acpi.c'; fi` + ++kern/efi/kernel_exec-sb.o: kern/efi/sb.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/efi/kernel_exec-sb.o -MD -MP -MF kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo -c -o kern/efi/kernel_exec-sb.o `test -f 'kern/efi/sb.c' || echo '$(srcdir)/'`kern/efi/sb.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo kern/efi/$(DEPDIR)/kernel_exec-sb.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/efi/sb.c' object='kern/efi/kernel_exec-sb.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/efi/kernel_exec-sb.o `test -f 'kern/efi/sb.c' || echo '$(srcdir)/'`kern/efi/sb.c ++ ++kern/efi/kernel_exec-sb.obj: kern/efi/sb.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/efi/kernel_exec-sb.obj -MD -MP -MF kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo -c -o kern/efi/kernel_exec-sb.obj `if test -f 'kern/efi/sb.c'; then $(CYGPATH_W) 'kern/efi/sb.c'; else $(CYGPATH_W) '$(srcdir)/kern/efi/sb.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo kern/efi/$(DEPDIR)/kernel_exec-sb.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/efi/sb.c' object='kern/efi/kernel_exec-sb.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/efi/kernel_exec-sb.obj `if test -f 'kern/efi/sb.c'; then $(CYGPATH_W) 'kern/efi/sb.c'; else $(CYGPATH_W) '$(srcdir)/kern/efi/sb.c'; fi` ++ + kern/kernel_exec-compiler-rt.o: kern/compiler-rt.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-compiler-rt.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo -c -o kern/kernel_exec-compiler-rt.o `test -f 'kern/compiler-rt.c' || echo '$(srcdir)/'`kern/compiler-rt.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo kern/$(DEPDIR)/kernel_exec-compiler-rt.Po +diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c +new file mode 100644 +index 0000000..19658d9 +--- /dev/null ++++ b/grub-core/kern/efi/sb.c +@@ -0,0 +1,109 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2020 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ * ++ * UEFI Secure Boot related checkings. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * Determine whether we're in secure boot mode. ++ * ++ * Please keep the logic in sync with the Linux kernel, ++ * drivers/firmware/efi/libstub/secureboot.c:efi_get_secureboot(). ++ */ ++grub_uint8_t ++grub_efi_get_secureboot (void) ++{ ++ static grub_efi_guid_t efi_variable_guid = GRUB_EFI_GLOBAL_VARIABLE_GUID; ++ static grub_efi_guid_t efi_shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID; ++ grub_efi_status_t status; ++ grub_efi_uint32_t attr = 0; ++ grub_size_t size = 0; ++ grub_uint8_t *secboot = NULL; ++ grub_uint8_t *setupmode = NULL; ++ grub_uint8_t *moksbstate = NULL; ++ grub_uint8_t secureboot = GRUB_EFI_SECUREBOOT_MODE_UNKNOWN; ++ const char *secureboot_str = "UNKNOWN"; ++ ++ status = grub_efi_get_variable ("SecureBoot", &efi_variable_guid, ++ &size, (void **) &secboot); ++ ++ if (status == GRUB_EFI_NOT_FOUND) ++ { ++ secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED; ++ goto out; ++ } ++ ++ if (status != GRUB_EFI_SUCCESS) ++ goto out; ++ ++ status = grub_efi_get_variable ("SetupMode", &efi_variable_guid, ++ &size, (void **) &setupmode); ++ ++ if (status != GRUB_EFI_SUCCESS) ++ goto out; ++ ++ if ((*secboot == 0) || (*setupmode == 1)) ++ { ++ secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED; ++ goto out; ++ } ++ ++ /* ++ * See if a user has put the shim into insecure mode. If so, and if the ++ * variable doesn't have the runtime attribute set, we might as well ++ * honor that. ++ */ ++ status = grub_efi_get_variable_with_attributes ("MokSBState", &efi_shim_lock_guid, ++ &size, (void **) &moksbstate, &attr); ++ ++ /* If it fails, we don't care why. Default to secure. */ ++ if (status != GRUB_EFI_SUCCESS) ++ { ++ secureboot = GRUB_EFI_SECUREBOOT_MODE_ENABLED; ++ goto out; ++ } ++ ++ if (!(attr & GRUB_EFI_VARIABLE_RUNTIME_ACCESS) && *moksbstate == 1) ++ { ++ secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED; ++ goto out; ++ } ++ ++ secureboot = GRUB_EFI_SECUREBOOT_MODE_ENABLED; ++ ++ out: ++ grub_free (moksbstate); ++ grub_free (setupmode); ++ grub_free (secboot); ++ ++ if (secureboot == GRUB_EFI_SECUREBOOT_MODE_DISABLED) ++ secureboot_str = "Disabled"; ++ else if (secureboot == GRUB_EFI_SECUREBOOT_MODE_ENABLED) ++ secureboot_str = "Enabled"; ++ ++ grub_dprintf ("efi", "UEFI Secure Boot state: %s\n", secureboot_str); ++ ++ return secureboot; ++} +diff --git a/include/grub/efi/sb.h b/include/grub/efi/sb.h +new file mode 100644 +index 0000000..a33d985 +--- /dev/null ++++ b/include/grub/efi/sb.h +@@ -0,0 +1,40 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2020 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ */ ++ ++#ifndef GRUB_EFI_SB_H ++#define GRUB_EFI_SB_H 1 ++ ++#include ++#include ++ ++#define GRUB_EFI_SECUREBOOT_MODE_UNSET 0 ++#define GRUB_EFI_SECUREBOOT_MODE_UNKNOWN 1 ++#define GRUB_EFI_SECUREBOOT_MODE_DISABLED 2 ++#define GRUB_EFI_SECUREBOOT_MODE_ENABLED 3 ++ ++#ifdef GRUB_MACHINE_EFI ++extern grub_uint8_t ++EXPORT_FUNC (grub_efi_get_secureboot) (void); ++#else ++static inline grub_uint8_t ++grub_efi_get_secureboot (void) ++{ ++ return GRUB_EFI_SECUREBOOT_MODE_UNSET; ++} ++#endif ++#endif /* GRUB_EFI_SB_H */ +diff --git a/po/POTFILES.in b/po/POTFILES.in +index 5574cbe..22543be 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -266,6 +266,7 @@ + ./grub-core/kern/efi/fdt.c + ./grub-core/kern/efi/init.c + ./grub-core/kern/efi/mm.c ++./grub-core/kern/efi/sb.c + ./grub-core/kern/elf.c + ./grub-core/kern/elfXX.c + ./grub-core/kern/emu/argp_common.c +@@ -1053,6 +1054,7 @@ + ./include/grub/efi/memory.h + ./include/grub/efi/pci.h + ./include/grub/efi/pe32.h ++./include/grub/efi/sb.h + ./include/grub/efi/tpm.h + ./include/grub/efi/uga_draw.h + ./include/grub/efiemu/efiemu.h +-- +2.14.2 + diff --git a/boot/grub2/0033-verifiers-Move-verifiers-API-to-kernel-image.patch b/boot/grub2/0033-verifiers-Move-verifiers-API-to-kernel-image.patch new file mode 100644 index 00000000000..9ce969c769e --- /dev/null +++ b/boot/grub2/0033-verifiers-Move-verifiers-API-to-kernel-image.patch @@ -0,0 +1,1650 @@ +From 9e95f45ceeef36fcf93cbfffcf004276883dbc99 Mon Sep 17 00:00:00 2001 +From: Marco A Benatto +Date: Wed, 23 Sep 2020 11:33:33 -0400 +Subject: [PATCH] verifiers: Move verifiers API to kernel image + +Move verifiers API from a module to the kernel image, so it can be +used there as well. There are no functional changes in this patch. + +Signed-off-by: Marco A Benatto +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + grub-core/Makefile.am | 1 + + grub-core/Makefile.core.am | 66 +++----- + grub-core/Makefile.core.def | 6 +- + grub-core/Makefile.in | 355 +++++++++++++++++++++-------------------- + grub-core/commands/verifiers.c | 228 -------------------------- + grub-core/kern/main.c | 4 + + grub-core/kern/verifiers.c | 224 ++++++++++++++++++++++++++ + include/grub/verify.h | 9 +- + po/POTFILES.in | 2 +- + 9 files changed, 446 insertions(+), 449 deletions(-) + delete mode 100644 grub-core/commands/verifiers.c + create mode 100644 grub-core/kern/verifiers.c + +diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am +index c6ba5b2..cc6fc7d 100644 +--- a/grub-core/Makefile.am ++++ b/grub-core/Makefile.am +@@ -91,6 +91,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/parser.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/partition.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h ++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/verify.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm_private.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/net.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/memory.h +diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am +index f28b753..c4d67d4 100644 +--- a/grub-core/Makefile.core.am ++++ b/grub-core/Makefile.core.am +@@ -6953,26 +6953,6 @@ CLEANFILES += pgp.marker + pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES) + $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) + grep 'MARKER' $@.new > $@; rm -f $@.new +-platform_PROGRAMS += verifiers.module +-MODULE_FILES += verifiers.module$(EXEEXT) +-verifiers_module_SOURCES = commands/verifiers.c ## platform sources +-nodist_verifiers_module_SOURCES = ## platform nodist sources +-verifiers_module_LDADD = +-verifiers_module_CFLAGS = $(AM_CFLAGS) $(CFLAGS_MODULE) +-verifiers_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) +-verifiers_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) +-verifiers_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) +-verifiers_module_DEPENDENCIES = $(TARGET_OBJ2ELF) +-dist_noinst_DATA += +-BUILT_SOURCES += $(nodist_verifiers_module_SOURCES) +-CLEANFILES += $(nodist_verifiers_module_SOURCES) +-MOD_FILES += verifiers.mod +-MARKER_FILES += verifiers.marker +-CLEANFILES += verifiers.marker +- +-verifiers.marker: $(verifiers_module_SOURCES) $(nodist_verifiers_module_SOURCES) +- $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) +- grep 'MARKER' $@.new > $@; rm -f $@.new + + if COND_x86_64_efi + platform_PROGRAMS += shim_lock.module +@@ -22377,7 +22357,7 @@ gcry_whirlpool.marker: $(gcry_whirlpool_module_SOURCES) $(nodist_gcry_whirlpool_ + if COND_emu + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = +-kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) $(CFLAGS_GNULIB) +@@ -22399,7 +22379,7 @@ endif + if COND_i386_pc + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/pc/startup.S +-kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22421,7 +22401,7 @@ endif + if COND_i386_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22443,7 +22423,7 @@ endif + if COND_i386_qemu + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/qemu/startup.S +-kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22465,7 +22445,7 @@ endif + if COND_i386_coreboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/coreboot/startup.S +-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22487,7 +22467,7 @@ endif + if COND_i386_multiboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/coreboot/startup.S +-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22509,7 +22489,7 @@ endif + if COND_i386_ieee1275 + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/ieee1275/startup.S +-kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22531,7 +22511,7 @@ endif + if COND_x86_64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/x86_64/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22553,7 +22533,7 @@ endif + if COND_i386_xen + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/xen/startup.S +-kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22575,7 +22555,7 @@ endif + if COND_x86_64_xen + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/x86_64/xen/startup.S +-kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22597,7 +22577,7 @@ endif + if COND_i386_xen_pvh + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/xen/startup_pvh.S +-kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22619,7 +22599,7 @@ endif + if COND_mips_loongson + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/mips/startup.S +-kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22641,7 +22621,7 @@ endif + if COND_sparc64_ieee1275 + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/sparc64/ieee1275/crt0.S +-kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22663,7 +22643,7 @@ endif + if COND_powerpc_ieee1275 + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/powerpc/ieee1275/startup.S +-kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22685,7 +22665,7 @@ endif + if COND_mips_arc + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/mips/startup.S +-kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22707,7 +22687,7 @@ endif + if COND_ia64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = +-kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput +@@ -22729,7 +22709,7 @@ endif + if COND_mips_qemu_mips + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/mips/startup.S +-kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22751,7 +22731,7 @@ endif + if COND_arm_uboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/startup.S +-kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22773,7 +22753,7 @@ endif + if COND_arm_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/efi/startup.S +-kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22795,7 +22775,7 @@ endif + if COND_arm64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm64/efi/startup.S +-kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22817,7 +22797,7 @@ endif + if COND_arm_coreboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/startup.S +-kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22839,7 +22819,7 @@ endif + if COND_riscv32_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22861,7 +22841,7 @@ endif + if COND_riscv64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def +index abd26cf..f6c0348 100644 +--- a/grub-core/Makefile.core.def ++++ b/grub-core/Makefile.core.def +@@ -140,6 +140,7 @@ kernel = { + common = kern/rescue_parser.c; + common = kern/rescue_reader.c; + common = kern/term.c; ++ common = kern/verifiers.c; + + noemu = kern/compiler-rt.c; + noemu = kern/mm.c; +@@ -943,11 +944,6 @@ module = { + cppflags = '-I$(srcdir)/lib/posix_wrap'; + }; + +-module = { +- name = verifiers; +- common = commands/verifiers.c; +-}; +- + module = { + name = shim_lock; + common = commands/efi/shim_lock.c; +diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in +index 8fb81ee..8930714 100644 +--- a/grub-core/Makefile.in ++++ b/grub-core/Makefile.in +@@ -202,39 +202,39 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + $(am__EXEEXT_286) $(am__EXEEXT_287) $(am__EXEEXT_288) \ + $(am__EXEEXT_289) $(am__EXEEXT_290) $(am__EXEEXT_291) \ + $(am__EXEEXT_292) hashsum.module$(EXEEXT) pgp.module$(EXEEXT) \ +- verifiers.module$(EXEEXT) $(am__EXEEXT_293) $(am__EXEEXT_294) \ +- $(am__EXEEXT_295) $(am__EXEEXT_296) $(am__EXEEXT_297) \ +- $(am__EXEEXT_298) $(am__EXEEXT_299) $(am__EXEEXT_300) \ +- $(am__EXEEXT_301) $(am__EXEEXT_302) help.module$(EXEEXT) \ +- hexdump.module$(EXEEXT) keystatus.module$(EXEEXT) \ +- $(am__EXEEXT_303) $(am__EXEEXT_304) loadenv.module$(EXEEXT) \ +- ls.module$(EXEEXT) lsmmap.module$(EXEEXT) $(am__EXEEXT_305) \ +- $(am__EXEEXT_306) $(am__EXEEXT_307) $(am__EXEEXT_308) \ +- $(am__EXEEXT_309) $(am__EXEEXT_310) $(am__EXEEXT_311) \ +- $(am__EXEEXT_312) memrw.module$(EXEEXT) \ +- minicmd.module$(EXEEXT) parttool.module$(EXEEXT) \ +- password.module$(EXEEXT) password_pbkdf2.module$(EXEEXT) \ +- $(am__EXEEXT_313) $(am__EXEEXT_314) $(am__EXEEXT_315) \ +- $(am__EXEEXT_316) $(am__EXEEXT_317) $(am__EXEEXT_318) \ +- $(am__EXEEXT_319) $(am__EXEEXT_320) $(am__EXEEXT_321) \ +- $(am__EXEEXT_322) $(am__EXEEXT_323) $(am__EXEEXT_324) \ +- $(am__EXEEXT_325) $(am__EXEEXT_326) $(am__EXEEXT_327) \ +- $(am__EXEEXT_328) $(am__EXEEXT_329) $(am__EXEEXT_330) \ +- $(am__EXEEXT_331) $(am__EXEEXT_332) $(am__EXEEXT_333) \ +- probe.module$(EXEEXT) read.module$(EXEEXT) \ +- search.module$(EXEEXT) search_fs_file.module$(EXEEXT) \ +- search_fs_uuid.module$(EXEEXT) search_label.module$(EXEEXT) \ +- $(am__EXEEXT_334) $(am__EXEEXT_335) $(am__EXEEXT_336) \ +- $(am__EXEEXT_337) $(am__EXEEXT_338) $(am__EXEEXT_339) \ +- $(am__EXEEXT_340) $(am__EXEEXT_341) $(am__EXEEXT_342) \ +- $(am__EXEEXT_343) $(am__EXEEXT_344) $(am__EXEEXT_345) \ +- $(am__EXEEXT_346) $(am__EXEEXT_347) $(am__EXEEXT_348) \ +- $(am__EXEEXT_349) sleep.module$(EXEEXT) $(am__EXEEXT_350) \ +- $(am__EXEEXT_351) terminal.module$(EXEEXT) \ +- test.module$(EXEEXT) true.module$(EXEEXT) $(am__EXEEXT_352) \ +- $(am__EXEEXT_353) $(am__EXEEXT_354) $(am__EXEEXT_355) \ +- $(am__EXEEXT_356) $(am__EXEEXT_357) $(am__EXEEXT_358) \ +- $(am__EXEEXT_359) $(am__EXEEXT_360) videoinfo.module$(EXEEXT) \ ++ $(am__EXEEXT_293) $(am__EXEEXT_294) $(am__EXEEXT_295) \ ++ $(am__EXEEXT_296) $(am__EXEEXT_297) $(am__EXEEXT_298) \ ++ $(am__EXEEXT_299) $(am__EXEEXT_300) $(am__EXEEXT_301) \ ++ $(am__EXEEXT_302) help.module$(EXEEXT) hexdump.module$(EXEEXT) \ ++ keystatus.module$(EXEEXT) $(am__EXEEXT_303) $(am__EXEEXT_304) \ ++ loadenv.module$(EXEEXT) ls.module$(EXEEXT) \ ++ lsmmap.module$(EXEEXT) $(am__EXEEXT_305) $(am__EXEEXT_306) \ ++ $(am__EXEEXT_307) $(am__EXEEXT_308) $(am__EXEEXT_309) \ ++ $(am__EXEEXT_310) $(am__EXEEXT_311) $(am__EXEEXT_312) \ ++ memrw.module$(EXEEXT) minicmd.module$(EXEEXT) \ ++ parttool.module$(EXEEXT) password.module$(EXEEXT) \ ++ password_pbkdf2.module$(EXEEXT) $(am__EXEEXT_313) \ ++ $(am__EXEEXT_314) $(am__EXEEXT_315) $(am__EXEEXT_316) \ ++ $(am__EXEEXT_317) $(am__EXEEXT_318) $(am__EXEEXT_319) \ ++ $(am__EXEEXT_320) $(am__EXEEXT_321) $(am__EXEEXT_322) \ ++ $(am__EXEEXT_323) $(am__EXEEXT_324) $(am__EXEEXT_325) \ ++ $(am__EXEEXT_326) $(am__EXEEXT_327) $(am__EXEEXT_328) \ ++ $(am__EXEEXT_329) $(am__EXEEXT_330) $(am__EXEEXT_331) \ ++ $(am__EXEEXT_332) $(am__EXEEXT_333) probe.module$(EXEEXT) \ ++ read.module$(EXEEXT) search.module$(EXEEXT) \ ++ search_fs_file.module$(EXEEXT) search_fs_uuid.module$(EXEEXT) \ ++ search_label.module$(EXEEXT) $(am__EXEEXT_334) \ ++ $(am__EXEEXT_335) $(am__EXEEXT_336) $(am__EXEEXT_337) \ ++ $(am__EXEEXT_338) $(am__EXEEXT_339) $(am__EXEEXT_340) \ ++ $(am__EXEEXT_341) $(am__EXEEXT_342) $(am__EXEEXT_343) \ ++ $(am__EXEEXT_344) $(am__EXEEXT_345) $(am__EXEEXT_346) \ ++ $(am__EXEEXT_347) $(am__EXEEXT_348) $(am__EXEEXT_349) \ ++ sleep.module$(EXEEXT) $(am__EXEEXT_350) $(am__EXEEXT_351) \ ++ terminal.module$(EXEEXT) test.module$(EXEEXT) \ ++ true.module$(EXEEXT) $(am__EXEEXT_352) $(am__EXEEXT_353) \ ++ $(am__EXEEXT_354) $(am__EXEEXT_355) $(am__EXEEXT_356) \ ++ $(am__EXEEXT_357) $(am__EXEEXT_358) $(am__EXEEXT_359) \ ++ $(am__EXEEXT_360) videoinfo.module$(EXEEXT) \ + videotest.module$(EXEEXT) xnu_uuid.module$(EXEEXT) \ + dm_nv.module$(EXEEXT) loopback.module$(EXEEXT) \ + cryptodisk.module$(EXEEXT) luks.module$(EXEEXT) \ +@@ -10474,7 +10474,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c \ + kern/misc.c kern/parser.c kern/partition.c \ + kern/rescue_parser.c kern/rescue_reader.c kern/term.c \ +- kern/arm/startup.S kern/arm/coreboot/init.c \ ++ kern/verifiers.c kern/arm/startup.S kern/arm/coreboot/init.c \ + kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \ + lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \ + term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \ +@@ -10564,7 +10564,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@am_kernel_exec_OBJECTS = kern/x86_64/efi/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/i386/efi/kernel_exec-tsc.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/i386/kernel_exec-tsc_pmtimer.$(OBJEXT) \ +@@ -10602,7 +10603,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@am_kernel_exec_OBJECTS = kern/sparc64/ieee1275/kernel_exec-crt0.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/sparc64/kernel_exec-cache.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/sparc64/kernel_exec-dl.$(OBJEXT) \ +@@ -10639,7 +10641,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@am_kernel_exec_OBJECTS = kern/riscv/efi/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/riscv/efi/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/efi/kernel_exec-fdt.$(OBJEXT) \ +@@ -10674,7 +10677,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@am_kernel_exec_OBJECTS = kern/riscv/efi/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/riscv/efi/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/efi/kernel_exec-fdt.$(OBJEXT) \ +@@ -10710,7 +10714,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@am_kernel_exec_OBJECTS = kern/powerpc/ieee1275/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/powerpc/kernel_exec-cache.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/powerpc/kernel_exec-dl.$(OBJEXT) \ +@@ -10746,7 +10751,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@am_kernel_exec_OBJECTS = kern/mips/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/mips/qemu_mips/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ term/kernel_exec-ns8250.$(OBJEXT) \ +@@ -10785,7 +10791,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@am_kernel_exec_OBJECTS = kern/mips/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ term/kernel_exec-ns8250.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ bus/kernel_exec-bonito.$(OBJEXT) \ +@@ -10838,7 +10845,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@am_kernel_exec_OBJECTS = kern/mips/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/mips/arc/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ term/arc/kernel_exec-console.$(OBJEXT) \ +@@ -10871,7 +10879,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@am_kernel_exec_OBJECTS = kern/ia64/efi/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/ia64/efi/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/ia64/kernel_exec-dl.$(OBJEXT) \ +@@ -10906,7 +10915,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@am_kernel_exec_OBJECTS = kern/i386/xen/kernel_exec-startup_pvh.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/i386/kernel_exec-dl.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ commands/kernel_exec-boot.$(OBJEXT) \ +@@ -10940,7 +10950,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@am_kernel_exec_OBJECTS = kern/i386/xen/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/i386/kernel_exec-dl.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/i386/xen/kernel_exec-hypercall.$(OBJEXT) \ +@@ -10974,7 +10985,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@am_kernel_exec_OBJECTS = kern/i386/qemu/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/i386/qemu/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ bus/kernel_exec-pci.$(OBJEXT) \ +@@ -11004,7 +11016,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@am_kernel_exec_OBJECTS = kern/i386/pc/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/i386/pc/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/i386/pc/kernel_exec-mmap.$(OBJEXT) \ +@@ -11032,7 +11045,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@am_kernel_exec_OBJECTS = kern/i386/coreboot/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/i386/coreboot/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/i386/pc/kernel_exec-acpi.$(OBJEXT) \ +@@ -11062,7 +11076,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@am_kernel_exec_OBJECTS = kern/i386/ieee1275/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ disk/ieee1275/kernel_exec-ofdisk.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/ieee1275/kernel_exec-cmain.$(OBJEXT) \ +@@ -11098,7 +11113,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@am_kernel_exec_OBJECTS = kern/i386/efi/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/i386/efi/kernel_exec-tsc.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/i386/kernel_exec-tsc_pmtimer.$(OBJEXT) \ +@@ -11135,7 +11151,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@am_kernel_exec_OBJECTS = kern/i386/coreboot/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/i386/coreboot/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/i386/pc/kernel_exec-acpi.$(OBJEXT) \ +@@ -11178,7 +11195,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@am_kernel_exec_OBJECTS = disk/kernel_exec-host.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/emu/kernel_exec-cache_s.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/emu/kernel_exec-hostdisk.$(OBJEXT) \ +@@ -11219,7 +11237,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@am_kernel_exec_OBJECTS = kern/arm/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/arm/uboot/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/arm/uboot/kernel_exec-uboot.$(OBJEXT) \ +@@ -11259,7 +11278,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@am_kernel_exec_OBJECTS = kern/arm/efi/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/arm/efi/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/efi/kernel_exec-fdt.$(OBJEXT) \ +@@ -11298,7 +11318,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@am_kernel_exec_OBJECTS = kern/arm/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/arm/coreboot/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/arm/coreboot/kernel_exec-timer.$(OBJEXT) \ +@@ -11352,7 +11373,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_TRUE@am_kernel_exec_OBJECTS = kern/arm64/efi/kernel_exec-startup.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/arm64/efi/kernel_exec-init.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-fdt.$(OBJEXT) \ +@@ -11388,7 +11410,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \ +-@COND_arm64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) ++@COND_arm64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \ ++@COND_arm64_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@nodist_kernel_exec_OBJECTS = kernel_exec-symlist.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@nodist_kernel_exec_OBJECTS = kernel_exec-symlist.$(OBJEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@nodist_kernel_exec_OBJECTS = kernel_exec-symlist.$(OBJEXT) +@@ -13146,13 +13169,6 @@ vbe_module_OBJECTS = $(am_vbe_module_OBJECTS) \ + $(nodist_vbe_module_OBJECTS) + vbe_module_LINK = $(CCLD) $(vbe_module_CFLAGS) $(CFLAGS) \ + $(vbe_module_LDFLAGS) $(LDFLAGS) -o $@ +-am_verifiers_module_OBJECTS = \ +- commands/verifiers_module-verifiers.$(OBJEXT) +-nodist_verifiers_module_OBJECTS = +-verifiers_module_OBJECTS = $(am_verifiers_module_OBJECTS) \ +- $(nodist_verifiers_module_OBJECTS) +-verifiers_module_LINK = $(CCLD) $(verifiers_module_CFLAGS) $(CFLAGS) \ +- $(verifiers_module_LDFLAGS) $(LDFLAGS) -o $@ + am__vga_module_SOURCES_DIST = video/i386/pc/vga.c + @COND_i386_pc_TRUE@am_vga_module_OBJECTS = \ + @COND_i386_pc_TRUE@ video/i386/pc/vga_module-vga.$(OBJEXT) +@@ -13879,7 +13895,6 @@ SOURCES = $(acpi_module_SOURCES) $(nodist_acpi_module_SOURCES) \ + $(nodist_usbserial_usbdebug_module_SOURCES) \ + $(usbtest_module_SOURCES) $(nodist_usbtest_module_SOURCES) \ + $(vbe_module_SOURCES) $(nodist_vbe_module_SOURCES) \ +- $(verifiers_module_SOURCES) $(nodist_verifiers_module_SOURCES) \ + $(vga_module_SOURCES) $(nodist_vga_module_SOURCES) \ + $(vga_text_module_SOURCES) $(nodist_vga_text_module_SOURCES) \ + $(video_module_SOURCES) $(nodist_video_module_SOURCES) \ +@@ -14089,8 +14104,7 @@ DIST_SOURCES = $(am__acpi_module_SOURCES_DIST) \ + $(am__usbserial_pl2303_module_SOURCES_DIST) \ + $(am__usbserial_usbdebug_module_SOURCES_DIST) \ + $(am__usbtest_module_SOURCES_DIST) \ +- $(am__vbe_module_SOURCES_DIST) $(verifiers_module_SOURCES) \ +- $(am__vga_module_SOURCES_DIST) \ ++ $(am__vbe_module_SOURCES_DIST) $(am__vga_module_SOURCES_DIST) \ + $(am__vga_text_module_SOURCES_DIST) \ + $(am__video_module_SOURCES_DIST) \ + $(am__video_bochs_module_SOURCES_DIST) \ +@@ -15497,38 +15511,38 @@ MOD_FILES = disk.mod trig.mod $(am__append_8) $(am__append_15) \ + $(am__append_1989) $(am__append_1996) $(am__append_2003) \ + $(am__append_2010) $(am__append_2017) $(am__append_2024) \ + $(am__append_2031) $(am__append_2038) hashsum.mod pgp.mod \ +- verifiers.mod $(am__append_2045) $(am__append_2052) \ +- $(am__append_2059) $(am__append_2066) $(am__append_2073) \ +- $(am__append_2080) $(am__append_2087) $(am__append_2094) \ +- $(am__append_2101) $(am__append_2108) help.mod hexdump.mod \ +- keystatus.mod $(am__append_2115) $(am__append_2122) \ +- loadenv.mod ls.mod lsmmap.mod $(am__append_2129) \ +- $(am__append_2136) $(am__append_2143) $(am__append_2150) \ +- $(am__append_2157) $(am__append_2164) $(am__append_2171) \ +- $(am__append_2178) memrw.mod minicmd.mod parttool.mod \ +- password.mod password_pbkdf2.mod $(am__append_2185) \ +- $(am__append_2192) $(am__append_2199) $(am__append_2206) \ +- $(am__append_2213) $(am__append_2220) $(am__append_2227) \ +- $(am__append_2234) $(am__append_2241) $(am__append_2248) \ +- $(am__append_2255) $(am__append_2262) $(am__append_2269) \ +- $(am__append_2276) $(am__append_2283) $(am__append_2290) \ +- $(am__append_2297) $(am__append_2304) $(am__append_2311) \ +- $(am__append_2318) $(am__append_2325) probe.mod read.mod \ +- search.mod search_fs_file.mod search_fs_uuid.mod \ +- search_label.mod $(am__append_2332) $(am__append_2339) \ +- $(am__append_2346) $(am__append_2353) $(am__append_2360) \ +- $(am__append_2367) $(am__append_2374) $(am__append_2381) \ +- $(am__append_2388) $(am__append_2395) $(am__append_2402) \ +- $(am__append_2409) $(am__append_2416) $(am__append_2423) \ +- $(am__append_2430) $(am__append_2437) sleep.mod \ +- $(am__append_2444) $(am__append_2451) terminal.mod test.mod \ +- true.mod $(am__append_2458) $(am__append_2465) \ +- $(am__append_2472) $(am__append_2479) $(am__append_2486) \ +- $(am__append_2493) $(am__append_2500) $(am__append_2507) \ +- $(am__append_2514) videoinfo.mod videotest.mod xnu_uuid.mod \ +- dm_nv.mod loopback.mod cryptodisk.mod luks.mod geli.mod \ +- lvm.mod ldm.mod mdraid09.mod mdraid09_be.mod mdraid1x.mod \ +- diskfilter.mod raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \ ++ $(am__append_2045) $(am__append_2052) $(am__append_2059) \ ++ $(am__append_2066) $(am__append_2073) $(am__append_2080) \ ++ $(am__append_2087) $(am__append_2094) $(am__append_2101) \ ++ $(am__append_2108) help.mod hexdump.mod keystatus.mod \ ++ $(am__append_2115) $(am__append_2122) loadenv.mod ls.mod \ ++ lsmmap.mod $(am__append_2129) $(am__append_2136) \ ++ $(am__append_2143) $(am__append_2150) $(am__append_2157) \ ++ $(am__append_2164) $(am__append_2171) $(am__append_2178) \ ++ memrw.mod minicmd.mod parttool.mod password.mod \ ++ password_pbkdf2.mod $(am__append_2185) $(am__append_2192) \ ++ $(am__append_2199) $(am__append_2206) $(am__append_2213) \ ++ $(am__append_2220) $(am__append_2227) $(am__append_2234) \ ++ $(am__append_2241) $(am__append_2248) $(am__append_2255) \ ++ $(am__append_2262) $(am__append_2269) $(am__append_2276) \ ++ $(am__append_2283) $(am__append_2290) $(am__append_2297) \ ++ $(am__append_2304) $(am__append_2311) $(am__append_2318) \ ++ $(am__append_2325) probe.mod read.mod search.mod \ ++ search_fs_file.mod search_fs_uuid.mod search_label.mod \ ++ $(am__append_2332) $(am__append_2339) $(am__append_2346) \ ++ $(am__append_2353) $(am__append_2360) $(am__append_2367) \ ++ $(am__append_2374) $(am__append_2381) $(am__append_2388) \ ++ $(am__append_2395) $(am__append_2402) $(am__append_2409) \ ++ $(am__append_2416) $(am__append_2423) $(am__append_2430) \ ++ $(am__append_2437) sleep.mod $(am__append_2444) \ ++ $(am__append_2451) terminal.mod test.mod true.mod \ ++ $(am__append_2458) $(am__append_2465) $(am__append_2472) \ ++ $(am__append_2479) $(am__append_2486) $(am__append_2493) \ ++ $(am__append_2500) $(am__append_2507) $(am__append_2514) \ ++ videoinfo.mod videotest.mod xnu_uuid.mod dm_nv.mod \ ++ loopback.mod cryptodisk.mod luks.mod geli.mod lvm.mod ldm.mod \ ++ mdraid09.mod mdraid09_be.mod mdraid1x.mod diskfilter.mod \ ++ raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \ + $(am__append_2521) $(am__append_2528) $(am__append_2535) \ + $(am__append_2542) $(am__append_2549) $(am__append_2556) \ + $(am__append_2563) $(am__append_2570) $(am__append_2577) \ +@@ -15809,8 +15823,7 @@ MODULE_FILES = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + $(am__append_1978) $(am__append_1985) $(am__append_1992) \ + $(am__append_1999) $(am__append_2006) $(am__append_2013) \ + $(am__append_2020) $(am__append_2027) $(am__append_2034) \ +- hashsum.module$(EXEEXT) pgp.module$(EXEEXT) \ +- verifiers.module$(EXEEXT) $(am__append_2041) \ ++ hashsum.module$(EXEEXT) pgp.module$(EXEEXT) $(am__append_2041) \ + $(am__append_2048) $(am__append_2055) $(am__append_2062) \ + $(am__append_2069) $(am__append_2076) $(am__append_2083) \ + $(am__append_2090) $(am__append_2097) $(am__append_2104) \ +@@ -16164,7 +16177,7 @@ MARKER_FILES = disk.marker trig.marker $(am__append_9) \ + $(am__append_1983) $(am__append_1990) $(am__append_1997) \ + $(am__append_2004) $(am__append_2011) $(am__append_2018) \ + $(am__append_2025) $(am__append_2032) $(am__append_2039) \ +- hashsum.marker pgp.marker verifiers.marker $(am__append_2046) \ ++ hashsum.marker pgp.marker $(am__append_2046) \ + $(am__append_2053) $(am__append_2060) $(am__append_2067) \ + $(am__append_2074) $(am__append_2081) $(am__append_2088) \ + $(am__append_2095) $(am__append_2102) $(am__append_2109) \ +@@ -16403,6 +16416,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \ + $(top_srcdir)/include/grub/partition.h \ + $(top_srcdir)/include/grub/term.h \ + $(top_srcdir)/include/grub/time.h \ ++ $(top_srcdir)/include/grub/verify.h \ + $(top_srcdir)/include/grub/mm_private.h \ + $(top_srcdir)/include/grub/net.h \ + $(top_srcdir)/include/grub/memory.h $(am__append_5803) \ +@@ -16845,12 +16859,11 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + $(am__append_2009) $(am__append_2016) $(am__append_2023) \ + $(am__append_2030) $(am__append_2037) \ + $(nodist_hashsum_module_SOURCES) hashsum.marker \ +- $(nodist_pgp_module_SOURCES) pgp.marker \ +- $(nodist_verifiers_module_SOURCES) verifiers.marker \ +- $(am__append_2044) $(am__append_2051) $(am__append_2058) \ +- $(am__append_2065) $(am__append_2072) $(am__append_2079) \ +- $(am__append_2086) $(am__append_2093) $(am__append_2100) \ +- $(am__append_2107) $(nodist_help_module_SOURCES) help.marker \ ++ $(nodist_pgp_module_SOURCES) pgp.marker $(am__append_2044) \ ++ $(am__append_2051) $(am__append_2058) $(am__append_2065) \ ++ $(am__append_2072) $(am__append_2079) $(am__append_2086) \ ++ $(am__append_2093) $(am__append_2100) $(am__append_2107) \ ++ $(nodist_help_module_SOURCES) help.marker \ + $(nodist_hexdump_module_SOURCES) hexdump.marker \ + $(nodist_keystatus_module_SOURCES) keystatus.marker \ + $(am__append_2114) $(am__append_2121) \ +@@ -17313,11 +17326,11 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(am__append_2001) $(am__append_2008) $(am__append_2015) \ + $(am__append_2022) $(am__append_2029) $(am__append_2036) \ + $(nodist_hashsum_module_SOURCES) $(nodist_pgp_module_SOURCES) \ +- $(nodist_verifiers_module_SOURCES) $(am__append_2043) \ +- $(am__append_2050) $(am__append_2057) $(am__append_2064) \ +- $(am__append_2071) $(am__append_2078) $(am__append_2085) \ +- $(am__append_2092) $(am__append_2099) $(am__append_2106) \ +- $(nodist_help_module_SOURCES) $(nodist_hexdump_module_SOURCES) \ ++ $(am__append_2043) $(am__append_2050) $(am__append_2057) \ ++ $(am__append_2064) $(am__append_2071) $(am__append_2078) \ ++ $(am__append_2085) $(am__append_2092) $(am__append_2099) \ ++ $(am__append_2106) $(nodist_help_module_SOURCES) \ ++ $(nodist_hexdump_module_SOURCES) \ + $(nodist_keystatus_module_SOURCES) $(am__append_2113) \ + $(am__append_2120) $(nodist_loadenv_module_SOURCES) \ + $(nodist_ls_module_SOURCES) $(nodist_lsmmap_module_SOURCES) \ +@@ -20070,14 +20083,6 @@ pgp_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) + pgp_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) -I$(srcdir)/lib/posix_wrap + pgp_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) + pgp_module_DEPENDENCIES = $(TARGET_OBJ2ELF) +-verifiers_module_SOURCES = commands/verifiers.c ## platform sources +-nodist_verifiers_module_SOURCES = ## platform nodist sources +-verifiers_module_LDADD = +-verifiers_module_CFLAGS = $(AM_CFLAGS) $(CFLAGS_MODULE) +-verifiers_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) +-verifiers_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) +-verifiers_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) +-verifiers_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_x86_64_efi_TRUE@shim_lock_module_SOURCES = commands/efi/shim_lock.c ## platform sources + @COND_x86_64_efi_TRUE@nodist_shim_lock_module_SOURCES = ## platform nodist sources + @COND_x86_64_efi_TRUE@shim_lock_module_LDADD = +@@ -25629,7 +25634,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_arm64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_arm64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_arm64_efi_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_arm64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_arm64_efi_TRUE@ kern/verifiers.c + @COND_arm_coreboot_TRUE@kernel_exec_SOURCES = kern/arm/startup.S \ + @COND_arm_coreboot_TRUE@ kern/arm/coreboot/init.c \ + @COND_arm_coreboot_TRUE@ kern/arm/coreboot/timer.c \ +@@ -25660,7 +25666,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_coreboot_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_arm_coreboot_TRUE@ kern/misc.c kern/parser.c \ + @COND_arm_coreboot_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_arm_coreboot_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_arm_coreboot_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_arm_coreboot_TRUE@ kern/verifiers.c + @COND_arm_efi_TRUE@kernel_exec_SOURCES = kern/arm/efi/startup.S \ + @COND_arm_efi_TRUE@ kern/arm/efi/init.c kern/efi/fdt.c \ + @COND_arm_efi_TRUE@ kern/arm/dl.c kern/arm/dl_helper.c \ +@@ -25678,7 +25685,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_arm_efi_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ + @COND_arm_efi_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ +-@COND_arm_efi_TRUE@ kern/term.c ++@COND_arm_efi_TRUE@ kern/term.c kern/verifiers.c + @COND_arm_uboot_TRUE@kernel_exec_SOURCES = kern/arm/startup.S \ + @COND_arm_uboot_TRUE@ kern/arm/uboot/init.c \ + @COND_arm_uboot_TRUE@ kern/arm/uboot/uboot.S \ +@@ -25698,7 +25705,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_uboot_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_arm_uboot_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_arm_uboot_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_arm_uboot_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_arm_uboot_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_arm_uboot_TRUE@ kern/verifiers.c + @COND_emu_TRUE@kernel_exec_SOURCES = disk/host.c kern/emu/cache_s.S \ + @COND_emu_TRUE@ kern/emu/hostdisk.c osdep/unix/hostdisk.c \ + @COND_emu_TRUE@ osdep/exec.c osdep/devmapper/hostdisk.c \ +@@ -25714,7 +25722,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_emu_TRUE@ kern/fs.c kern/list.c kern/main.c kern/misc.c \ + @COND_emu_TRUE@ kern/parser.c kern/partition.c \ + @COND_emu_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ +-@COND_emu_TRUE@ kern/term.c ++@COND_emu_TRUE@ kern/term.c kern/verifiers.c + @COND_i386_coreboot_TRUE@kernel_exec_SOURCES = \ + @COND_i386_coreboot_TRUE@ kern/i386/coreboot/startup.S \ + @COND_i386_coreboot_TRUE@ kern/i386/coreboot/init.c \ +@@ -25739,7 +25747,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_coreboot_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_i386_coreboot_TRUE@ kern/misc.c kern/parser.c \ + @COND_i386_coreboot_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_coreboot_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_i386_coreboot_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_coreboot_TRUE@ kern/verifiers.c + @COND_i386_efi_TRUE@kernel_exec_SOURCES = kern/i386/efi/startup.S \ + @COND_i386_efi_TRUE@ kern/i386/efi/tsc.c \ + @COND_i386_efi_TRUE@ kern/i386/tsc_pmtimer.c \ +@@ -25756,7 +25765,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_i386_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_i386_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_efi_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_i386_efi_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_efi_TRUE@ kern/verifiers.c + @COND_i386_ieee1275_TRUE@kernel_exec_SOURCES = \ + @COND_i386_ieee1275_TRUE@ kern/i386/ieee1275/startup.S \ + @COND_i386_ieee1275_TRUE@ disk/ieee1275/ofdisk.c \ +@@ -25777,7 +25787,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_ieee1275_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_i386_ieee1275_TRUE@ kern/misc.c kern/parser.c \ + @COND_i386_ieee1275_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_i386_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_ieee1275_TRUE@ kern/verifiers.c + @COND_i386_multiboot_TRUE@kernel_exec_SOURCES = \ + @COND_i386_multiboot_TRUE@ kern/i386/coreboot/startup.S \ + @COND_i386_multiboot_TRUE@ kern/i386/coreboot/init.c \ +@@ -25796,7 +25807,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_multiboot_TRUE@ kern/misc.c kern/parser.c \ + @COND_i386_multiboot_TRUE@ kern/partition.c \ + @COND_i386_multiboot_TRUE@ kern/rescue_parser.c \ +-@COND_i386_multiboot_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_i386_multiboot_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_multiboot_TRUE@ kern/verifiers.c + @COND_i386_pc_TRUE@kernel_exec_SOURCES = kern/i386/pc/startup.S \ + @COND_i386_pc_TRUE@ kern/i386/pc/init.c kern/i386/pc/mmap.c \ + @COND_i386_pc_TRUE@ term/i386/pc/console.c kern/i386/dl.c \ +@@ -25808,7 +25820,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_pc_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_i386_pc_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ + @COND_i386_pc_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ +-@COND_i386_pc_TRUE@ kern/term.c ++@COND_i386_pc_TRUE@ kern/term.c kern/verifiers.c + @COND_i386_qemu_TRUE@kernel_exec_SOURCES = kern/i386/qemu/startup.S \ + @COND_i386_qemu_TRUE@ kern/i386/qemu/init.c bus/pci.c \ + @COND_i386_qemu_TRUE@ kern/vga_init.c kern/i386/qemu/mmap.c \ +@@ -25821,7 +25833,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_qemu_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_i386_qemu_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_i386_qemu_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_qemu_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_i386_qemu_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_qemu_TRUE@ kern/verifiers.c + @COND_i386_xen_TRUE@kernel_exec_SOURCES = kern/i386/xen/startup.S \ + @COND_i386_xen_TRUE@ kern/i386/dl.c kern/i386/xen/hypercall.S \ + @COND_i386_xen_TRUE@ kern/i386/tsc.c kern/i386/xen/tsc.c \ +@@ -25836,7 +25849,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_xen_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_i386_xen_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_i386_xen_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_xen_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_i386_xen_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_xen_TRUE@ kern/verifiers.c + @COND_i386_xen_pvh_TRUE@kernel_exec_SOURCES = \ + @COND_i386_xen_pvh_TRUE@ kern/i386/xen/startup_pvh.S \ + @COND_i386_xen_pvh_TRUE@ kern/i386/dl.c commands/boot.c \ +@@ -25853,7 +25867,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_xen_pvh_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_i386_xen_pvh_TRUE@ kern/misc.c kern/parser.c \ + @COND_i386_xen_pvh_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_xen_pvh_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_i386_xen_pvh_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_xen_pvh_TRUE@ kern/verifiers.c + @COND_ia64_efi_TRUE@kernel_exec_SOURCES = kern/ia64/efi/startup.S \ + @COND_ia64_efi_TRUE@ kern/ia64/efi/init.c kern/ia64/dl.c \ + @COND_ia64_efi_TRUE@ kern/ia64/dl_helper.c kern/ia64/cache.c \ +@@ -25868,7 +25883,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_ia64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_ia64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_ia64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_ia64_efi_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_ia64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_ia64_efi_TRUE@ kern/verifiers.c + @COND_mips_arc_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \ + @COND_mips_arc_TRUE@ kern/mips/arc/init.c term/arc/console.c \ + @COND_mips_arc_TRUE@ disk/arc/arcdisk.c \ +@@ -25883,7 +25899,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_mips_arc_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_mips_arc_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_mips_arc_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_mips_arc_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_mips_arc_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_mips_arc_TRUE@ kern/verifiers.c + @COND_mips_loongson_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \ + @COND_mips_loongson_TRUE@ term/ns8250.c bus/bonito.c \ + @COND_mips_loongson_TRUE@ bus/cs5536.c bus/pci.c \ +@@ -25911,7 +25928,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_mips_loongson_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_mips_loongson_TRUE@ kern/misc.c kern/parser.c \ + @COND_mips_loongson_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_mips_loongson_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_mips_loongson_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_mips_loongson_TRUE@ kern/verifiers.c + @COND_mips_qemu_mips_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \ + @COND_mips_qemu_mips_TRUE@ kern/mips/qemu_mips/init.c \ + @COND_mips_qemu_mips_TRUE@ term/ns8250.c term/serial.c \ +@@ -25934,7 +25952,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_mips_qemu_mips_TRUE@ kern/misc.c kern/parser.c \ + @COND_mips_qemu_mips_TRUE@ kern/partition.c \ + @COND_mips_qemu_mips_TRUE@ kern/rescue_parser.c \ +-@COND_mips_qemu_mips_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_mips_qemu_mips_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_mips_qemu_mips_TRUE@ kern/verifiers.c + @COND_powerpc_ieee1275_TRUE@kernel_exec_SOURCES = \ + @COND_powerpc_ieee1275_TRUE@ kern/powerpc/ieee1275/startup.S \ + @COND_powerpc_ieee1275_TRUE@ kern/powerpc/cache.S \ +@@ -25959,7 +25978,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_powerpc_ieee1275_TRUE@ kern/main.c kern/misc.c \ + @COND_powerpc_ieee1275_TRUE@ kern/parser.c kern/partition.c \ + @COND_powerpc_ieee1275_TRUE@ kern/rescue_parser.c \ +-@COND_powerpc_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_powerpc_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/verifiers.c + @COND_riscv32_efi_TRUE@kernel_exec_SOURCES = kern/riscv/efi/startup.S \ + @COND_riscv32_efi_TRUE@ kern/riscv/efi/init.c kern/efi/fdt.c \ + @COND_riscv32_efi_TRUE@ kern/riscv/cache.c \ +@@ -25977,7 +25997,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv32_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_riscv32_efi_TRUE@ kern/misc.c kern/parser.c \ + @COND_riscv32_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_riscv32_efi_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_riscv32_efi_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_riscv32_efi_TRUE@ kern/verifiers.c + @COND_riscv64_efi_TRUE@kernel_exec_SOURCES = kern/riscv/efi/startup.S \ + @COND_riscv64_efi_TRUE@ kern/riscv/efi/init.c kern/efi/fdt.c \ + @COND_riscv64_efi_TRUE@ kern/riscv/cache.c \ +@@ -25995,7 +26016,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv64_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ + @COND_riscv64_efi_TRUE@ kern/misc.c kern/parser.c \ + @COND_riscv64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_riscv64_efi_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_riscv64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_riscv64_efi_TRUE@ kern/verifiers.c + @COND_sparc64_ieee1275_TRUE@kernel_exec_SOURCES = \ + @COND_sparc64_ieee1275_TRUE@ kern/sparc64/ieee1275/crt0.S \ + @COND_sparc64_ieee1275_TRUE@ kern/sparc64/cache.S \ +@@ -26021,7 +26043,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_sparc64_ieee1275_TRUE@ kern/main.c kern/misc.c \ + @COND_sparc64_ieee1275_TRUE@ kern/parser.c kern/partition.c \ + @COND_sparc64_ieee1275_TRUE@ kern/rescue_parser.c \ +-@COND_sparc64_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_sparc64_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/verifiers.c + @COND_x86_64_efi_TRUE@kernel_exec_SOURCES = kern/x86_64/efi/startup.S \ + @COND_x86_64_efi_TRUE@ kern/i386/efi/tsc.c \ + @COND_x86_64_efi_TRUE@ kern/i386/tsc_pmtimer.c \ +@@ -26040,7 +26063,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_x86_64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_x86_64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_x86_64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_x86_64_efi_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_x86_64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_x86_64_efi_TRUE@ kern/verifiers.c + @COND_x86_64_xen_TRUE@kernel_exec_SOURCES = kern/x86_64/xen/startup.S \ + @COND_x86_64_xen_TRUE@ kern/x86_64/dl.c \ + @COND_x86_64_xen_TRUE@ kern/x86_64/xen/hypercall.S \ +@@ -26056,7 +26080,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_x86_64_xen_TRUE@ kern/file.c kern/fs.c kern/list.c \ + @COND_x86_64_xen_TRUE@ kern/main.c kern/misc.c kern/parser.c \ + @COND_x86_64_xen_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_x86_64_xen_TRUE@ kern/rescue_reader.c kern/term.c ++@COND_x86_64_xen_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_x86_64_xen_TRUE@ kern/verifiers.c + @COND_arm64_efi_TRUE@nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + @COND_arm_coreboot_TRUE@nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + @COND_arm_efi_TRUE@nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources +@@ -28051,6 +28076,8 @@ kern/kernel_exec-rescue_reader.$(OBJEXT): kern/$(am__dirstamp) \ + kern/$(DEPDIR)/$(am__dirstamp) + kern/kernel_exec-term.$(OBJEXT): kern/$(am__dirstamp) \ + kern/$(DEPDIR)/$(am__dirstamp) ++kern/kernel_exec-verifiers.$(OBJEXT): kern/$(am__dirstamp) \ ++ kern/$(DEPDIR)/$(am__dirstamp) + kern/arm/$(am__dirstamp): + @$(MKDIR_P) kern/arm + @: > kern/arm/$(am__dirstamp) +@@ -30171,12 +30198,6 @@ video/i386/pc/vbe_module-vbe.$(OBJEXT): video/i386/pc/$(am__dirstamp) \ + vbe.module$(EXEEXT): $(vbe_module_OBJECTS) $(vbe_module_DEPENDENCIES) $(EXTRA_vbe_module_DEPENDENCIES) + @rm -f vbe.module$(EXEEXT) + $(AM_V_CCLD)$(vbe_module_LINK) $(vbe_module_OBJECTS) $(vbe_module_LDADD) $(LIBS) +-commands/verifiers_module-verifiers.$(OBJEXT): \ +- commands/$(am__dirstamp) commands/$(DEPDIR)/$(am__dirstamp) +- +-verifiers.module$(EXEEXT): $(verifiers_module_OBJECTS) $(verifiers_module_DEPENDENCIES) $(EXTRA_verifiers_module_DEPENDENCIES) +- @rm -f verifiers.module$(EXEEXT) +- $(AM_V_CCLD)$(verifiers_module_LINK) $(verifiers_module_OBJECTS) $(verifiers_module_LDADD) $(LIBS) + video/i386/pc/vga_module-vga.$(OBJEXT): video/i386/pc/$(am__dirstamp) \ + video/i386/pc/$(DEPDIR)/$(am__dirstamp) + +@@ -30799,7 +30820,6 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/tr_module-tr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/true_module-true.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/usbtest_module-usbtest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/verifiers_module-verifiers.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/videoinfo_module-videoinfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/videotest_module-videotest.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/xnu_uuid_module-xnu_uuid.Po@am__quote@ +@@ -30975,6 +30995,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-rescue_reader.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-term.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-time.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-verifiers.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-vga_init.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/xz_decompress_image-compiler-rt.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/arm/$(DEPDIR)/kernel_exec-cache.Po@am__quote@ +@@ -35607,6 +35628,20 @@ kern/kernel_exec-term.obj: kern/term.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-term.obj `if test -f 'kern/term.c'; then $(CYGPATH_W) 'kern/term.c'; else $(CYGPATH_W) '$(srcdir)/kern/term.c'; fi` + ++kern/kernel_exec-verifiers.o: kern/verifiers.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-verifiers.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-verifiers.Tpo -c -o kern/kernel_exec-verifiers.o `test -f 'kern/verifiers.c' || echo '$(srcdir)/'`kern/verifiers.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-verifiers.Tpo kern/$(DEPDIR)/kernel_exec-verifiers.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/verifiers.c' object='kern/kernel_exec-verifiers.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-verifiers.o `test -f 'kern/verifiers.c' || echo '$(srcdir)/'`kern/verifiers.c ++ ++kern/kernel_exec-verifiers.obj: kern/verifiers.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-verifiers.obj -MD -MP -MF kern/$(DEPDIR)/kernel_exec-verifiers.Tpo -c -o kern/kernel_exec-verifiers.obj `if test -f 'kern/verifiers.c'; then $(CYGPATH_W) 'kern/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/kern/verifiers.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-verifiers.Tpo kern/$(DEPDIR)/kernel_exec-verifiers.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/verifiers.c' object='kern/kernel_exec-verifiers.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-verifiers.obj `if test -f 'kern/verifiers.c'; then $(CYGPATH_W) 'kern/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/kern/verifiers.c'; fi` ++ + kern/arm/coreboot/kernel_exec-init.o: kern/arm/coreboot/init.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/arm/coreboot/kernel_exec-init.o -MD -MP -MF kern/arm/coreboot/$(DEPDIR)/kernel_exec-init.Tpo -c -o kern/arm/coreboot/kernel_exec-init.o `test -f 'kern/arm/coreboot/init.c' || echo '$(srcdir)/'`kern/arm/coreboot/init.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/arm/coreboot/$(DEPDIR)/kernel_exec-init.Tpo kern/arm/coreboot/$(DEPDIR)/kernel_exec-init.Po +@@ -40983,20 +41018,6 @@ video/i386/pc/vbe_module-vbe.obj: video/i386/pc/vbe.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vbe_module_CPPFLAGS) $(CPPFLAGS) $(vbe_module_CFLAGS) $(CFLAGS) -c -o video/i386/pc/vbe_module-vbe.obj `if test -f 'video/i386/pc/vbe.c'; then $(CYGPATH_W) 'video/i386/pc/vbe.c'; else $(CYGPATH_W) '$(srcdir)/video/i386/pc/vbe.c'; fi` + +-commands/verifiers_module-verifiers.o: commands/verifiers.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -MT commands/verifiers_module-verifiers.o -MD -MP -MF commands/$(DEPDIR)/verifiers_module-verifiers.Tpo -c -o commands/verifiers_module-verifiers.o `test -f 'commands/verifiers.c' || echo '$(srcdir)/'`commands/verifiers.c +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) commands/$(DEPDIR)/verifiers_module-verifiers.Tpo commands/$(DEPDIR)/verifiers_module-verifiers.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='commands/verifiers.c' object='commands/verifiers_module-verifiers.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -c -o commands/verifiers_module-verifiers.o `test -f 'commands/verifiers.c' || echo '$(srcdir)/'`commands/verifiers.c +- +-commands/verifiers_module-verifiers.obj: commands/verifiers.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -MT commands/verifiers_module-verifiers.obj -MD -MP -MF commands/$(DEPDIR)/verifiers_module-verifiers.Tpo -c -o commands/verifiers_module-verifiers.obj `if test -f 'commands/verifiers.c'; then $(CYGPATH_W) 'commands/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/commands/verifiers.c'; fi` +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) commands/$(DEPDIR)/verifiers_module-verifiers.Tpo commands/$(DEPDIR)/verifiers_module-verifiers.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='commands/verifiers.c' object='commands/verifiers_module-verifiers.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -c -o commands/verifiers_module-verifiers.obj `if test -f 'commands/verifiers.c'; then $(CYGPATH_W) 'commands/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/commands/verifiers.c'; fi` +- + video/i386/pc/vga_module-vga.o: video/i386/pc/vga.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vga_module_CPPFLAGS) $(CPPFLAGS) $(vga_module_CFLAGS) $(CFLAGS) -MT video/i386/pc/vga_module-vga.o -MD -MP -MF video/i386/pc/$(DEPDIR)/vga_module-vga.Tpo -c -o video/i386/pc/vga_module-vga.o `test -f 'video/i386/pc/vga.c' || echo '$(srcdir)/'`video/i386/pc/vga.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) video/i386/pc/$(DEPDIR)/vga_module-vga.Tpo video/i386/pc/$(DEPDIR)/vga_module-vga.Po +@@ -43717,10 +43738,6 @@ pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES) + $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) + grep 'MARKER' $@.new > $@; rm -f $@.new + +-verifiers.marker: $(verifiers_module_SOURCES) $(nodist_verifiers_module_SOURCES) +- $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) +- grep 'MARKER' $@.new > $@; rm -f $@.new +- + @COND_x86_64_efi_TRUE@shim_lock.marker: $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES) + @COND_x86_64_efi_TRUE@ $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) + @COND_x86_64_efi_TRUE@ grep 'MARKER' $@.new > $@; rm -f $@.new +diff --git a/grub-core/commands/verifiers.c b/grub-core/commands/verifiers.c +deleted file mode 100644 +index 0dde481..0000000 +--- a/grub-core/commands/verifiers.c ++++ /dev/null +@@ -1,228 +0,0 @@ +-/* +- * GRUB -- GRand Unified Bootloader +- * Copyright (C) 2017 Free Software Foundation, Inc. +- * +- * GRUB is free software: you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation, either version 3 of the License, or +- * (at your option) any later version. +- * +- * GRUB 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 GRUB. If not, see . +- * +- * Verifiers helper. +- */ +- +-#include +-#include +-#include +- +-GRUB_MOD_LICENSE ("GPLv3+"); +- +-struct grub_file_verifier *grub_file_verifiers; +- +-struct grub_verified +-{ +- grub_file_t file; +- void *buf; +-}; +-typedef struct grub_verified *grub_verified_t; +- +-static void +-verified_free (grub_verified_t verified) +-{ +- if (verified) +- { +- grub_free (verified->buf); +- grub_free (verified); +- } +-} +- +-static grub_ssize_t +-verified_read (struct grub_file *file, char *buf, grub_size_t len) +-{ +- grub_verified_t verified = file->data; +- +- grub_memcpy (buf, (char *) verified->buf + file->offset, len); +- return len; +-} +- +-static grub_err_t +-verified_close (struct grub_file *file) +-{ +- grub_verified_t verified = file->data; +- +- grub_file_close (verified->file); +- verified_free (verified); +- file->data = 0; +- +- /* Device and name are freed by parent. */ +- file->device = 0; +- file->name = 0; +- +- return grub_errno; +-} +- +-struct grub_fs verified_fs = +-{ +- .name = "verified_read", +- .fs_read = verified_read, +- .fs_close = verified_close +-}; +- +-static grub_file_t +-grub_verifiers_open (grub_file_t io, enum grub_file_type type) +-{ +- grub_verified_t verified = NULL; +- struct grub_file_verifier *ver; +- void *context; +- grub_file_t ret = 0; +- grub_err_t err; +- int defer = 0; +- +- grub_dprintf ("verify", "file: %s type: %d\n", io->name, type); +- +- if ((type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_SIGNATURE +- || (type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_VERIFY_SIGNATURE +- || (type & GRUB_FILE_TYPE_SKIP_SIGNATURE)) +- return io; +- +- if (io->device->disk && +- (io->device->disk->dev->id == GRUB_DISK_DEVICE_MEMDISK_ID +- || io->device->disk->dev->id == GRUB_DISK_DEVICE_PROCFS_ID)) +- return io; +- +- FOR_LIST_ELEMENTS(ver, grub_file_verifiers) +- { +- enum grub_verify_flags flags = 0; +- err = ver->init (io, type, &context, &flags); +- if (err) +- goto fail_noclose; +- if (flags & GRUB_VERIFY_FLAGS_DEFER_AUTH) +- { +- defer = 1; +- continue; +- } +- if (!(flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION)) +- break; +- } +- +- if (!ver) +- { +- if (defer) +- { +- grub_error (GRUB_ERR_ACCESS_DENIED, +- N_("verification requested but nobody cares: %s"), io->name); +- goto fail_noclose; +- } +- +- /* No verifiers wanted to verify. Just return underlying file. */ +- return io; +- } +- +- ret = grub_malloc (sizeof (*ret)); +- if (!ret) +- { +- goto fail; +- } +- *ret = *io; +- +- ret->fs = &verified_fs; +- ret->not_easily_seekable = 0; +- if (ret->size >> (sizeof (grub_size_t) * GRUB_CHAR_BIT - 1)) +- { +- grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, +- N_("big file signature isn't implemented yet")); +- goto fail; +- } +- verified = grub_malloc (sizeof (*verified)); +- if (!verified) +- { +- goto fail; +- } +- verified->buf = grub_malloc (ret->size); +- if (!verified->buf) +- { +- goto fail; +- } +- if (grub_file_read (io, verified->buf, ret->size) != (grub_ssize_t) ret->size) +- { +- if (!grub_errno) +- grub_error (GRUB_ERR_FILE_READ_ERROR, N_("premature end of file %s"), +- io->name); +- goto fail; +- } +- +- err = ver->write (context, verified->buf, ret->size); +- if (err) +- goto fail; +- +- err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE; +- if (err) +- goto fail; +- +- if (ver->close) +- ver->close (context); +- +- FOR_LIST_ELEMENTS_NEXT(ver, grub_file_verifiers) +- { +- enum grub_verify_flags flags = 0; +- err = ver->init (io, type, &context, &flags); +- if (err) +- goto fail_noclose; +- if (flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION || +- /* Verification done earlier. So, we are happy here. */ +- flags & GRUB_VERIFY_FLAGS_DEFER_AUTH) +- continue; +- err = ver->write (context, verified->buf, ret->size); +- if (err) +- goto fail; +- +- err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE; +- if (err) +- goto fail; +- +- if (ver->close) +- ver->close (context); +- } +- +- verified->file = io; +- ret->data = verified; +- return ret; +- +- fail: +- ver->close (context); +- fail_noclose: +- verified_free (verified); +- grub_free (ret); +- return NULL; +-} +- +-grub_err_t +-grub_verify_string (char *str, enum grub_verify_string_type type) +-{ +- struct grub_file_verifier *ver; +- FOR_LIST_ELEMENTS(ver, grub_file_verifiers) +- { +- grub_err_t err; +- err = ver->verify_string ? ver->verify_string (str, type) : GRUB_ERR_NONE; +- if (err) +- return err; +- } +- return GRUB_ERR_NONE; +-} +- +-GRUB_MOD_INIT(verifiers) +-{ +- grub_file_filter_register (GRUB_FILE_FILTER_VERIFY, grub_verifiers_open); +-} +- +-GRUB_MOD_FINI(verifiers) +-{ +- grub_file_filter_unregister (GRUB_FILE_FILTER_VERIFY); +-} +diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c +index 9cad0c4..73967e2 100644 +--- a/grub-core/kern/main.c ++++ b/grub-core/kern/main.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #ifdef GRUB_MACHINE_PCBIOS + #include +@@ -274,6 +275,9 @@ grub_main (void) + grub_printf ("Welcome to GRUB!\n\n"); + grub_setcolorstate (GRUB_TERM_COLOR_STANDARD); + ++ /* Init verifiers API. */ ++ grub_verifiers_init (); ++ + grub_load_config (); + + grub_boot_time ("Before loading embedded modules."); +diff --git a/grub-core/kern/verifiers.c b/grub-core/kern/verifiers.c +new file mode 100644 +index 0000000..aa3dc7c +--- /dev/null ++++ b/grub-core/kern/verifiers.c +@@ -0,0 +1,224 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2017 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ * ++ * Verifiers helper. ++ */ ++ ++#include ++#include ++#include ++ ++GRUB_MOD_LICENSE ("GPLv3+"); ++ ++struct grub_file_verifier *grub_file_verifiers; ++ ++struct grub_verified ++{ ++ grub_file_t file; ++ void *buf; ++}; ++typedef struct grub_verified *grub_verified_t; ++ ++static void ++verified_free (grub_verified_t verified) ++{ ++ if (verified) ++ { ++ grub_free (verified->buf); ++ grub_free (verified); ++ } ++} ++ ++static grub_ssize_t ++verified_read (struct grub_file *file, char *buf, grub_size_t len) ++{ ++ grub_verified_t verified = file->data; ++ ++ grub_memcpy (buf, (char *) verified->buf + file->offset, len); ++ return len; ++} ++ ++static grub_err_t ++verified_close (struct grub_file *file) ++{ ++ grub_verified_t verified = file->data; ++ ++ grub_file_close (verified->file); ++ verified_free (verified); ++ file->data = 0; ++ ++ /* Device and name are freed by parent. */ ++ file->device = 0; ++ file->name = 0; ++ ++ return grub_errno; ++} ++ ++struct grub_fs verified_fs = ++{ ++ .name = "verified_read", ++ .fs_read = verified_read, ++ .fs_close = verified_close ++}; ++ ++static grub_file_t ++grub_verifiers_open (grub_file_t io, enum grub_file_type type) ++{ ++ grub_verified_t verified = NULL; ++ struct grub_file_verifier *ver; ++ void *context; ++ grub_file_t ret = 0; ++ grub_err_t err; ++ int defer = 0; ++ ++ grub_dprintf ("verify", "file: %s type: %d\n", io->name, type); ++ ++ if ((type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_SIGNATURE ++ || (type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_VERIFY_SIGNATURE ++ || (type & GRUB_FILE_TYPE_SKIP_SIGNATURE)) ++ return io; ++ ++ if (io->device->disk && ++ (io->device->disk->dev->id == GRUB_DISK_DEVICE_MEMDISK_ID ++ || io->device->disk->dev->id == GRUB_DISK_DEVICE_PROCFS_ID)) ++ return io; ++ ++ FOR_LIST_ELEMENTS(ver, grub_file_verifiers) ++ { ++ enum grub_verify_flags flags = 0; ++ err = ver->init (io, type, &context, &flags); ++ if (err) ++ goto fail_noclose; ++ if (flags & GRUB_VERIFY_FLAGS_DEFER_AUTH) ++ { ++ defer = 1; ++ continue; ++ } ++ if (!(flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION)) ++ break; ++ } ++ ++ if (!ver) ++ { ++ if (defer) ++ { ++ grub_error (GRUB_ERR_ACCESS_DENIED, ++ N_("verification requested but nobody cares: %s"), io->name); ++ goto fail_noclose; ++ } ++ ++ /* No verifiers wanted to verify. Just return underlying file. */ ++ return io; ++ } ++ ++ ret = grub_malloc (sizeof (*ret)); ++ if (!ret) ++ { ++ goto fail; ++ } ++ *ret = *io; ++ ++ ret->fs = &verified_fs; ++ ret->not_easily_seekable = 0; ++ if (ret->size >> (sizeof (grub_size_t) * GRUB_CHAR_BIT - 1)) ++ { ++ grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, ++ N_("big file signature isn't implemented yet")); ++ goto fail; ++ } ++ verified = grub_malloc (sizeof (*verified)); ++ if (!verified) ++ { ++ goto fail; ++ } ++ verified->buf = grub_malloc (ret->size); ++ if (!verified->buf) ++ { ++ goto fail; ++ } ++ if (grub_file_read (io, verified->buf, ret->size) != (grub_ssize_t) ret->size) ++ { ++ if (!grub_errno) ++ grub_error (GRUB_ERR_FILE_READ_ERROR, N_("premature end of file %s"), ++ io->name); ++ goto fail; ++ } ++ ++ err = ver->write (context, verified->buf, ret->size); ++ if (err) ++ goto fail; ++ ++ err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE; ++ if (err) ++ goto fail; ++ ++ if (ver->close) ++ ver->close (context); ++ ++ FOR_LIST_ELEMENTS_NEXT(ver, grub_file_verifiers) ++ { ++ enum grub_verify_flags flags = 0; ++ err = ver->init (io, type, &context, &flags); ++ if (err) ++ goto fail_noclose; ++ if (flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION || ++ /* Verification done earlier. So, we are happy here. */ ++ flags & GRUB_VERIFY_FLAGS_DEFER_AUTH) ++ continue; ++ err = ver->write (context, verified->buf, ret->size); ++ if (err) ++ goto fail; ++ ++ err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE; ++ if (err) ++ goto fail; ++ ++ if (ver->close) ++ ver->close (context); ++ } ++ ++ verified->file = io; ++ ret->data = verified; ++ return ret; ++ ++ fail: ++ ver->close (context); ++ fail_noclose: ++ verified_free (verified); ++ grub_free (ret); ++ return NULL; ++} ++ ++grub_err_t ++grub_verify_string (char *str, enum grub_verify_string_type type) ++{ ++ struct grub_file_verifier *ver; ++ FOR_LIST_ELEMENTS(ver, grub_file_verifiers) ++ { ++ grub_err_t err; ++ err = ver->verify_string ? ver->verify_string (str, type) : GRUB_ERR_NONE; ++ if (err) ++ return err; ++ } ++ return GRUB_ERR_NONE; ++} ++ ++void ++grub_verifiers_init (void) ++{ ++ grub_file_filter_register (GRUB_FILE_FILTER_VERIFY, grub_verifiers_open); ++} +diff --git a/include/grub/verify.h b/include/grub/verify.h +index ea04914..cd129c3 100644 +--- a/include/grub/verify.h ++++ b/include/grub/verify.h +@@ -64,7 +64,10 @@ struct grub_file_verifier + grub_err_t (*verify_string) (char *str, enum grub_verify_string_type type); + }; + +-extern struct grub_file_verifier *grub_file_verifiers; ++extern struct grub_file_verifier *EXPORT_VAR (grub_file_verifiers); ++ ++extern void ++grub_verifiers_init (void); + + static inline void + grub_verifier_register (struct grub_file_verifier *ver) +@@ -78,7 +81,7 @@ grub_verifier_unregister (struct grub_file_verifier *ver) + grub_list_remove (GRUB_AS_LIST (ver)); + } + +-grub_err_t +-grub_verify_string (char *str, enum grub_verify_string_type type); ++extern grub_err_t ++EXPORT_FUNC (grub_verify_string) (char *str, enum grub_verify_string_type type); + + #endif /* ! GRUB_VERIFY_HEADER */ +diff --git a/po/POTFILES.in b/po/POTFILES.in +index 22543be..11c799f 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -107,7 +107,6 @@ + ./grub-core/commands/tr.c + ./grub-core/commands/true.c + ./grub-core/commands/usbtest.c +-./grub-core/commands/verifiers.c + ./grub-core/commands/videoinfo.c + ./grub-core/commands/videotest.c + ./grub-core/commands/wildcard.c +@@ -334,6 +333,7 @@ + ./grub-core/kern/uboot/hw.c + ./grub-core/kern/uboot/init.c + ./grub-core/kern/uboot/uboot.c ++./grub-core/kern/verifiers.c + ./grub-core/kern/vga_init.c + ./grub-core/kern/x86_64/dl.c + ./grub-core/kern/xen/init.c +-- +2.14.2 + diff --git a/boot/grub2/0034-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch b/boot/grub2/0034-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch new file mode 100644 index 00000000000..1b606f4c6ae --- /dev/null +++ b/boot/grub2/0034-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch @@ -0,0 +1,13225 @@ +From 5e280caa6530ed160dcf2920c94f1605fb1f1f7c Mon Sep 17 00:00:00 2001 +From: Marco A Benatto +Date: Wed, 23 Sep 2020 14:21:14 -0400 +Subject: [PATCH] efi: Move the shim_lock verifier to the GRUB core + +Move the shim_lock verifier from its own module into the core image. The +Secure Boot lockdown mechanism has the intent to prevent the load of any +unsigned code or binary when Secure Boot is enabled. + +The reason is that GRUB must be able to prevent executing untrusted code +if UEFI Secure Boot is enabled, without depending on external modules. + +Signed-off-by: Marco A Benatto +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 9 +- + grub-core/Makefile.core.am | 23 - + grub-core/Makefile.core.def | 6 - + grub-core/Makefile.in | 11139 +++++++++++++++++------------------ + grub-core/commands/efi/shim_lock.c | 130 - + grub-core/kern/efi/init.c | 4 + + grub-core/kern/efi/sb.c | 105 + + include/grub/efi/sb.h | 3 + + po/POTFILES.in | 1 - + 9 files changed, 5657 insertions(+), 5763 deletions(-) + delete mode 100644 grub-core/commands/efi/shim_lock.c + +diff --git a/docs/grub.texi b/docs/grub.texi +index 8779507..aefe032 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -5747,15 +5747,16 @@ secure boot chain. + @section UEFI secure boot and shim support + + The GRUB, except the @command{chainloader} command, works with the UEFI secure +-boot and the shim. This functionality is provided by the shim_lock module. It +-is recommend to build in this and other required modules into the @file{core.img}. ++boot and the shim. This functionality is provided by the shim_lock verifier. It ++is built into the @file{core.img} and is registered if the UEFI secure boot is ++enabled. ++ + All modules not stored in the @file{core.img} and the ACPI tables for the + @command{acpi} command have to be signed, e.g. using PGP. Additionally, the + @command{iorw}, the @command{memrw} and the @command{wrmsr} commands are + prohibited if the UEFI secure boot is enabled. This is done due to + security reasons. All above mentioned requirements are enforced by the +-shim_lock module. And itself it is a persistent module which means that +-it cannot be unloaded if it was loaded into the memory. ++shim_lock verifier logic. + + @node Measured Boot + @section Measuring boot components +diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am +index c4d67d4..5623a5e 100644 +--- a/grub-core/Makefile.core.am ++++ b/grub-core/Makefile.core.am +@@ -6954,29 +6954,6 @@ pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES) + $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) + grep 'MARKER' $@.new > $@; rm -f $@.new + +-if COND_x86_64_efi +-platform_PROGRAMS += shim_lock.module +-MODULE_FILES += shim_lock.module$(EXEEXT) +-shim_lock_module_SOURCES = commands/efi/shim_lock.c ## platform sources +-nodist_shim_lock_module_SOURCES = ## platform nodist sources +-shim_lock_module_LDADD = +-shim_lock_module_CFLAGS = $(AM_CFLAGS) $(CFLAGS_MODULE) +-shim_lock_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) +-shim_lock_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) +-shim_lock_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) +-shim_lock_module_DEPENDENCIES = $(TARGET_OBJ2ELF) +-dist_noinst_DATA += +-BUILT_SOURCES += $(nodist_shim_lock_module_SOURCES) +-CLEANFILES += $(nodist_shim_lock_module_SOURCES) +-MOD_FILES += shim_lock.mod +-MARKER_FILES += shim_lock.marker +-CLEANFILES += shim_lock.marker +- +-shim_lock.marker: $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES) +- $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) +- grep 'MARKER' $@.new > $@; rm -f $@.new +-endif +- + if COND_i386_pc + platform_PROGRAMS += hdparm.module + MODULE_FILES += hdparm.module$(EXEEXT) +diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def +index f6c0348..4d380ed 100644 +--- a/grub-core/Makefile.core.def ++++ b/grub-core/Makefile.core.def +@@ -944,12 +944,6 @@ module = { + cppflags = '-I$(srcdir)/lib/posix_wrap'; + }; + +-module = { +- name = shim_lock; +- common = commands/efi/shim_lock.c; +- enable = x86_64_efi; +-}; +- + module = { + name = hdparm; + common = commands/hdparm.c; +diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in +index 8930714..09dc802 100644 +--- a/grub-core/Makefile.in ++++ b/grub-core/Makefile.in +@@ -205,36 +205,36 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + $(am__EXEEXT_293) $(am__EXEEXT_294) $(am__EXEEXT_295) \ + $(am__EXEEXT_296) $(am__EXEEXT_297) $(am__EXEEXT_298) \ + $(am__EXEEXT_299) $(am__EXEEXT_300) $(am__EXEEXT_301) \ +- $(am__EXEEXT_302) help.module$(EXEEXT) hexdump.module$(EXEEXT) \ +- keystatus.module$(EXEEXT) $(am__EXEEXT_303) $(am__EXEEXT_304) \ ++ help.module$(EXEEXT) hexdump.module$(EXEEXT) \ ++ keystatus.module$(EXEEXT) $(am__EXEEXT_302) $(am__EXEEXT_303) \ + loadenv.module$(EXEEXT) ls.module$(EXEEXT) \ +- lsmmap.module$(EXEEXT) $(am__EXEEXT_305) $(am__EXEEXT_306) \ +- $(am__EXEEXT_307) $(am__EXEEXT_308) $(am__EXEEXT_309) \ +- $(am__EXEEXT_310) $(am__EXEEXT_311) $(am__EXEEXT_312) \ ++ lsmmap.module$(EXEEXT) $(am__EXEEXT_304) $(am__EXEEXT_305) \ ++ $(am__EXEEXT_306) $(am__EXEEXT_307) $(am__EXEEXT_308) \ ++ $(am__EXEEXT_309) $(am__EXEEXT_310) $(am__EXEEXT_311) \ + memrw.module$(EXEEXT) minicmd.module$(EXEEXT) \ + parttool.module$(EXEEXT) password.module$(EXEEXT) \ +- password_pbkdf2.module$(EXEEXT) $(am__EXEEXT_313) \ +- $(am__EXEEXT_314) $(am__EXEEXT_315) $(am__EXEEXT_316) \ +- $(am__EXEEXT_317) $(am__EXEEXT_318) $(am__EXEEXT_319) \ +- $(am__EXEEXT_320) $(am__EXEEXT_321) $(am__EXEEXT_322) \ +- $(am__EXEEXT_323) $(am__EXEEXT_324) $(am__EXEEXT_325) \ +- $(am__EXEEXT_326) $(am__EXEEXT_327) $(am__EXEEXT_328) \ +- $(am__EXEEXT_329) $(am__EXEEXT_330) $(am__EXEEXT_331) \ +- $(am__EXEEXT_332) $(am__EXEEXT_333) probe.module$(EXEEXT) \ ++ password_pbkdf2.module$(EXEEXT) $(am__EXEEXT_312) \ ++ $(am__EXEEXT_313) $(am__EXEEXT_314) $(am__EXEEXT_315) \ ++ $(am__EXEEXT_316) $(am__EXEEXT_317) $(am__EXEEXT_318) \ ++ $(am__EXEEXT_319) $(am__EXEEXT_320) $(am__EXEEXT_321) \ ++ $(am__EXEEXT_322) $(am__EXEEXT_323) $(am__EXEEXT_324) \ ++ $(am__EXEEXT_325) $(am__EXEEXT_326) $(am__EXEEXT_327) \ ++ $(am__EXEEXT_328) $(am__EXEEXT_329) $(am__EXEEXT_330) \ ++ $(am__EXEEXT_331) $(am__EXEEXT_332) probe.module$(EXEEXT) \ + read.module$(EXEEXT) search.module$(EXEEXT) \ + search_fs_file.module$(EXEEXT) search_fs_uuid.module$(EXEEXT) \ +- search_label.module$(EXEEXT) $(am__EXEEXT_334) \ +- $(am__EXEEXT_335) $(am__EXEEXT_336) $(am__EXEEXT_337) \ +- $(am__EXEEXT_338) $(am__EXEEXT_339) $(am__EXEEXT_340) \ +- $(am__EXEEXT_341) $(am__EXEEXT_342) $(am__EXEEXT_343) \ +- $(am__EXEEXT_344) $(am__EXEEXT_345) $(am__EXEEXT_346) \ +- $(am__EXEEXT_347) $(am__EXEEXT_348) $(am__EXEEXT_349) \ +- sleep.module$(EXEEXT) $(am__EXEEXT_350) $(am__EXEEXT_351) \ ++ search_label.module$(EXEEXT) $(am__EXEEXT_333) \ ++ $(am__EXEEXT_334) $(am__EXEEXT_335) $(am__EXEEXT_336) \ ++ $(am__EXEEXT_337) $(am__EXEEXT_338) $(am__EXEEXT_339) \ ++ $(am__EXEEXT_340) $(am__EXEEXT_341) $(am__EXEEXT_342) \ ++ $(am__EXEEXT_343) $(am__EXEEXT_344) $(am__EXEEXT_345) \ ++ $(am__EXEEXT_346) $(am__EXEEXT_347) $(am__EXEEXT_348) \ ++ sleep.module$(EXEEXT) $(am__EXEEXT_349) $(am__EXEEXT_350) \ + terminal.module$(EXEEXT) test.module$(EXEEXT) \ +- true.module$(EXEEXT) $(am__EXEEXT_352) $(am__EXEEXT_353) \ +- $(am__EXEEXT_354) $(am__EXEEXT_355) $(am__EXEEXT_356) \ +- $(am__EXEEXT_357) $(am__EXEEXT_358) $(am__EXEEXT_359) \ +- $(am__EXEEXT_360) videoinfo.module$(EXEEXT) \ ++ true.module$(EXEEXT) $(am__EXEEXT_351) $(am__EXEEXT_352) \ ++ $(am__EXEEXT_353) $(am__EXEEXT_354) $(am__EXEEXT_355) \ ++ $(am__EXEEXT_356) $(am__EXEEXT_357) $(am__EXEEXT_358) \ ++ $(am__EXEEXT_359) videoinfo.module$(EXEEXT) \ + videotest.module$(EXEEXT) xnu_uuid.module$(EXEEXT) \ + dm_nv.module$(EXEEXT) loopback.module$(EXEEXT) \ + cryptodisk.module$(EXEEXT) luks.module$(EXEEXT) \ +@@ -242,27 +242,27 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + mdraid09.module$(EXEEXT) mdraid09_be.module$(EXEEXT) \ + mdraid1x.module$(EXEEXT) diskfilter.module$(EXEEXT) \ + raid5rec.module$(EXEEXT) raid6rec.module$(EXEEXT) \ +- scsi.module$(EXEEXT) memdisk.module$(EXEEXT) $(am__EXEEXT_361) \ +- $(am__EXEEXT_362) $(am__EXEEXT_363) $(am__EXEEXT_364) \ +- $(am__EXEEXT_365) $(am__EXEEXT_366) $(am__EXEEXT_367) \ +- $(am__EXEEXT_368) $(am__EXEEXT_369) $(am__EXEEXT_370) \ +- $(am__EXEEXT_371) $(am__EXEEXT_372) $(am__EXEEXT_373) \ +- $(am__EXEEXT_374) $(am__EXEEXT_375) $(am__EXEEXT_376) \ +- $(am__EXEEXT_377) $(am__EXEEXT_378) $(am__EXEEXT_379) \ +- $(am__EXEEXT_380) $(am__EXEEXT_381) $(am__EXEEXT_382) \ +- $(am__EXEEXT_383) $(am__EXEEXT_384) $(am__EXEEXT_385) \ +- $(am__EXEEXT_386) $(am__EXEEXT_387) $(am__EXEEXT_388) \ +- $(am__EXEEXT_389) $(am__EXEEXT_390) $(am__EXEEXT_391) \ +- $(am__EXEEXT_392) $(am__EXEEXT_393) $(am__EXEEXT_394) \ +- $(am__EXEEXT_395) $(am__EXEEXT_396) $(am__EXEEXT_397) \ +- $(am__EXEEXT_398) $(am__EXEEXT_399) $(am__EXEEXT_400) \ +- $(am__EXEEXT_401) $(am__EXEEXT_402) $(am__EXEEXT_403) \ +- $(am__EXEEXT_404) $(am__EXEEXT_405) $(am__EXEEXT_406) \ +- $(am__EXEEXT_407) $(am__EXEEXT_408) $(am__EXEEXT_409) \ +- $(am__EXEEXT_410) $(am__EXEEXT_411) $(am__EXEEXT_412) \ +- $(am__EXEEXT_413) $(am__EXEEXT_414) $(am__EXEEXT_415) \ +- $(am__EXEEXT_416) $(am__EXEEXT_417) $(am__EXEEXT_418) \ +- $(am__EXEEXT_419) $(am__EXEEXT_420) $(am__EXEEXT_421) \ ++ scsi.module$(EXEEXT) memdisk.module$(EXEEXT) $(am__EXEEXT_360) \ ++ $(am__EXEEXT_361) $(am__EXEEXT_362) $(am__EXEEXT_363) \ ++ $(am__EXEEXT_364) $(am__EXEEXT_365) $(am__EXEEXT_366) \ ++ $(am__EXEEXT_367) $(am__EXEEXT_368) $(am__EXEEXT_369) \ ++ $(am__EXEEXT_370) $(am__EXEEXT_371) $(am__EXEEXT_372) \ ++ $(am__EXEEXT_373) $(am__EXEEXT_374) $(am__EXEEXT_375) \ ++ $(am__EXEEXT_376) $(am__EXEEXT_377) $(am__EXEEXT_378) \ ++ $(am__EXEEXT_379) $(am__EXEEXT_380) $(am__EXEEXT_381) \ ++ $(am__EXEEXT_382) $(am__EXEEXT_383) $(am__EXEEXT_384) \ ++ $(am__EXEEXT_385) $(am__EXEEXT_386) $(am__EXEEXT_387) \ ++ $(am__EXEEXT_388) $(am__EXEEXT_389) $(am__EXEEXT_390) \ ++ $(am__EXEEXT_391) $(am__EXEEXT_392) $(am__EXEEXT_393) \ ++ $(am__EXEEXT_394) $(am__EXEEXT_395) $(am__EXEEXT_396) \ ++ $(am__EXEEXT_397) $(am__EXEEXT_398) $(am__EXEEXT_399) \ ++ $(am__EXEEXT_400) $(am__EXEEXT_401) $(am__EXEEXT_402) \ ++ $(am__EXEEXT_403) $(am__EXEEXT_404) $(am__EXEEXT_405) \ ++ $(am__EXEEXT_406) $(am__EXEEXT_407) $(am__EXEEXT_408) \ ++ $(am__EXEEXT_409) $(am__EXEEXT_410) $(am__EXEEXT_411) \ ++ $(am__EXEEXT_412) $(am__EXEEXT_413) $(am__EXEEXT_414) \ ++ $(am__EXEEXT_415) $(am__EXEEXT_416) $(am__EXEEXT_417) \ ++ $(am__EXEEXT_418) $(am__EXEEXT_419) $(am__EXEEXT_420) \ + procfs.module$(EXEEXT) affs.module$(EXEEXT) \ + afs.module$(EXEEXT) bfs.module$(EXEEXT) zstd.module$(EXEEXT) \ + btrfs.module$(EXEEXT) archelp.module$(EXEEXT) \ +@@ -284,165 +284,165 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + ufs1_be.module$(EXEEXT) ufs2.module$(EXEEXT) \ + xfs.module$(EXEEXT) zfs.module$(EXEEXT) \ + zfscrypt.module$(EXEEXT) zfsinfo.module$(EXEEXT) \ +- macbless.module$(EXEEXT) $(am__EXEEXT_422) \ ++ macbless.module$(EXEEXT) $(am__EXEEXT_421) \ + gettext.module$(EXEEXT) gfxmenu.module$(EXEEXT) \ + hello.module$(EXEEXT) gzio.module$(EXEEXT) \ +- offsetio.module$(EXEEXT) $(am__EXEEXT_423) $(am__EXEEXT_424) \ +- $(am__EXEEXT_425) $(am__EXEEXT_426) $(am__EXEEXT_427) \ +- $(am__EXEEXT_428) $(am__EXEEXT_429) $(am__EXEEXT_430) \ +- $(am__EXEEXT_431) $(am__EXEEXT_432) $(am__EXEEXT_433) \ +- $(am__EXEEXT_434) $(am__EXEEXT_435) $(am__EXEEXT_436) \ +- $(am__EXEEXT_437) $(am__EXEEXT_438) $(am__EXEEXT_439) \ +- $(am__EXEEXT_440) $(am__EXEEXT_441) $(am__EXEEXT_442) \ ++ offsetio.module$(EXEEXT) $(am__EXEEXT_422) $(am__EXEEXT_423) \ ++ $(am__EXEEXT_424) $(am__EXEEXT_425) $(am__EXEEXT_426) \ ++ $(am__EXEEXT_427) $(am__EXEEXT_428) $(am__EXEEXT_429) \ ++ $(am__EXEEXT_430) $(am__EXEEXT_431) $(am__EXEEXT_432) \ ++ $(am__EXEEXT_433) $(am__EXEEXT_434) $(am__EXEEXT_435) \ ++ $(am__EXEEXT_436) $(am__EXEEXT_437) $(am__EXEEXT_438) \ ++ $(am__EXEEXT_439) $(am__EXEEXT_440) $(am__EXEEXT_441) \ + elf.module$(EXEEXT) crypto.module$(EXEEXT) \ +- pbkdf2.module$(EXEEXT) $(am__EXEEXT_443) $(am__EXEEXT_444) \ +- $(am__EXEEXT_445) $(am__EXEEXT_446) $(am__EXEEXT_447) \ +- $(am__EXEEXT_448) $(am__EXEEXT_449) $(am__EXEEXT_450) \ +- $(am__EXEEXT_451) $(am__EXEEXT_452) $(am__EXEEXT_453) \ +- $(am__EXEEXT_454) $(am__EXEEXT_455) $(am__EXEEXT_456) \ +- $(am__EXEEXT_457) $(am__EXEEXT_458) $(am__EXEEXT_459) \ +- $(am__EXEEXT_460) $(am__EXEEXT_461) $(am__EXEEXT_462) \ +- $(am__EXEEXT_463) $(am__EXEEXT_464) $(am__EXEEXT_465) \ +- $(am__EXEEXT_466) $(am__EXEEXT_467) $(am__EXEEXT_468) \ +- $(am__EXEEXT_469) $(am__EXEEXT_470) $(am__EXEEXT_471) \ +- $(am__EXEEXT_472) $(am__EXEEXT_473) $(am__EXEEXT_474) \ +- $(am__EXEEXT_475) $(am__EXEEXT_476) $(am__EXEEXT_477) \ +- $(am__EXEEXT_478) setjmp.module$(EXEEXT) $(am__EXEEXT_479) \ +- $(am__EXEEXT_480) $(am__EXEEXT_481) $(am__EXEEXT_482) \ +- $(am__EXEEXT_483) $(am__EXEEXT_484) $(am__EXEEXT_485) \ +- $(am__EXEEXT_486) $(am__EXEEXT_487) $(am__EXEEXT_488) \ +- $(am__EXEEXT_489) $(am__EXEEXT_490) $(am__EXEEXT_491) \ +- $(am__EXEEXT_492) $(am__EXEEXT_493) $(am__EXEEXT_494) \ +- $(am__EXEEXT_495) $(am__EXEEXT_496) $(am__EXEEXT_497) \ +- $(am__EXEEXT_498) $(am__EXEEXT_499) $(am__EXEEXT_500) \ +- $(am__EXEEXT_501) $(am__EXEEXT_502) $(am__EXEEXT_503) \ +- $(am__EXEEXT_504) $(am__EXEEXT_505) $(am__EXEEXT_506) \ +- $(am__EXEEXT_507) $(am__EXEEXT_508) $(am__EXEEXT_509) \ +- $(am__EXEEXT_510) $(am__EXEEXT_511) $(am__EXEEXT_512) \ +- $(am__EXEEXT_513) $(am__EXEEXT_514) $(am__EXEEXT_515) \ +- $(am__EXEEXT_516) $(am__EXEEXT_517) $(am__EXEEXT_518) \ +- $(am__EXEEXT_519) $(am__EXEEXT_520) $(am__EXEEXT_521) \ +- $(am__EXEEXT_522) $(am__EXEEXT_523) $(am__EXEEXT_524) \ +- $(am__EXEEXT_525) $(am__EXEEXT_526) $(am__EXEEXT_527) \ +- $(am__EXEEXT_528) $(am__EXEEXT_529) $(am__EXEEXT_530) \ +- $(am__EXEEXT_531) $(am__EXEEXT_532) $(am__EXEEXT_533) \ +- $(am__EXEEXT_534) $(am__EXEEXT_535) $(am__EXEEXT_536) \ +- $(am__EXEEXT_537) $(am__EXEEXT_538) $(am__EXEEXT_539) \ +- $(am__EXEEXT_540) $(am__EXEEXT_541) $(am__EXEEXT_542) \ +- $(am__EXEEXT_543) $(am__EXEEXT_544) $(am__EXEEXT_545) \ +- $(am__EXEEXT_546) $(am__EXEEXT_547) $(am__EXEEXT_548) \ +- $(am__EXEEXT_549) $(am__EXEEXT_550) $(am__EXEEXT_551) \ +- $(am__EXEEXT_552) $(am__EXEEXT_553) $(am__EXEEXT_554) \ +- $(am__EXEEXT_555) $(am__EXEEXT_556) macho.module$(EXEEXT) \ +- $(am__EXEEXT_557) $(am__EXEEXT_558) $(am__EXEEXT_559) \ +- $(am__EXEEXT_560) $(am__EXEEXT_561) $(am__EXEEXT_562) \ +- $(am__EXEEXT_563) $(am__EXEEXT_564) $(am__EXEEXT_565) \ +- $(am__EXEEXT_566) $(am__EXEEXT_567) $(am__EXEEXT_568) \ +- $(am__EXEEXT_569) $(am__EXEEXT_570) $(am__EXEEXT_571) \ +- $(am__EXEEXT_572) $(am__EXEEXT_573) $(am__EXEEXT_574) \ +- $(am__EXEEXT_575) $(am__EXEEXT_576) $(am__EXEEXT_577) \ +- $(am__EXEEXT_578) $(am__EXEEXT_579) $(am__EXEEXT_580) \ +- $(am__EXEEXT_581) $(am__EXEEXT_582) $(am__EXEEXT_583) \ ++ pbkdf2.module$(EXEEXT) $(am__EXEEXT_442) $(am__EXEEXT_443) \ ++ $(am__EXEEXT_444) $(am__EXEEXT_445) $(am__EXEEXT_446) \ ++ $(am__EXEEXT_447) $(am__EXEEXT_448) $(am__EXEEXT_449) \ ++ $(am__EXEEXT_450) $(am__EXEEXT_451) $(am__EXEEXT_452) \ ++ $(am__EXEEXT_453) $(am__EXEEXT_454) $(am__EXEEXT_455) \ ++ $(am__EXEEXT_456) $(am__EXEEXT_457) $(am__EXEEXT_458) \ ++ $(am__EXEEXT_459) $(am__EXEEXT_460) $(am__EXEEXT_461) \ ++ $(am__EXEEXT_462) $(am__EXEEXT_463) $(am__EXEEXT_464) \ ++ $(am__EXEEXT_465) $(am__EXEEXT_466) $(am__EXEEXT_467) \ ++ $(am__EXEEXT_468) $(am__EXEEXT_469) $(am__EXEEXT_470) \ ++ $(am__EXEEXT_471) $(am__EXEEXT_472) $(am__EXEEXT_473) \ ++ $(am__EXEEXT_474) $(am__EXEEXT_475) $(am__EXEEXT_476) \ ++ $(am__EXEEXT_477) setjmp.module$(EXEEXT) $(am__EXEEXT_478) \ ++ $(am__EXEEXT_479) $(am__EXEEXT_480) $(am__EXEEXT_481) \ ++ $(am__EXEEXT_482) $(am__EXEEXT_483) $(am__EXEEXT_484) \ ++ $(am__EXEEXT_485) $(am__EXEEXT_486) $(am__EXEEXT_487) \ ++ $(am__EXEEXT_488) $(am__EXEEXT_489) $(am__EXEEXT_490) \ ++ $(am__EXEEXT_491) $(am__EXEEXT_492) $(am__EXEEXT_493) \ ++ $(am__EXEEXT_494) $(am__EXEEXT_495) $(am__EXEEXT_496) \ ++ $(am__EXEEXT_497) $(am__EXEEXT_498) $(am__EXEEXT_499) \ ++ $(am__EXEEXT_500) $(am__EXEEXT_501) $(am__EXEEXT_502) \ ++ $(am__EXEEXT_503) $(am__EXEEXT_504) $(am__EXEEXT_505) \ ++ $(am__EXEEXT_506) $(am__EXEEXT_507) $(am__EXEEXT_508) \ ++ $(am__EXEEXT_509) $(am__EXEEXT_510) $(am__EXEEXT_511) \ ++ $(am__EXEEXT_512) $(am__EXEEXT_513) $(am__EXEEXT_514) \ ++ $(am__EXEEXT_515) $(am__EXEEXT_516) $(am__EXEEXT_517) \ ++ $(am__EXEEXT_518) $(am__EXEEXT_519) $(am__EXEEXT_520) \ ++ $(am__EXEEXT_521) $(am__EXEEXT_522) $(am__EXEEXT_523) \ ++ $(am__EXEEXT_524) $(am__EXEEXT_525) $(am__EXEEXT_526) \ ++ $(am__EXEEXT_527) $(am__EXEEXT_528) $(am__EXEEXT_529) \ ++ $(am__EXEEXT_530) $(am__EXEEXT_531) $(am__EXEEXT_532) \ ++ $(am__EXEEXT_533) $(am__EXEEXT_534) $(am__EXEEXT_535) \ ++ $(am__EXEEXT_536) $(am__EXEEXT_537) $(am__EXEEXT_538) \ ++ $(am__EXEEXT_539) $(am__EXEEXT_540) $(am__EXEEXT_541) \ ++ $(am__EXEEXT_542) $(am__EXEEXT_543) $(am__EXEEXT_544) \ ++ $(am__EXEEXT_545) $(am__EXEEXT_546) $(am__EXEEXT_547) \ ++ $(am__EXEEXT_548) $(am__EXEEXT_549) $(am__EXEEXT_550) \ ++ $(am__EXEEXT_551) $(am__EXEEXT_552) $(am__EXEEXT_553) \ ++ $(am__EXEEXT_554) $(am__EXEEXT_555) macho.module$(EXEEXT) \ ++ $(am__EXEEXT_556) $(am__EXEEXT_557) $(am__EXEEXT_558) \ ++ $(am__EXEEXT_559) $(am__EXEEXT_560) $(am__EXEEXT_561) \ ++ $(am__EXEEXT_562) $(am__EXEEXT_563) $(am__EXEEXT_564) \ ++ $(am__EXEEXT_565) $(am__EXEEXT_566) $(am__EXEEXT_567) \ ++ $(am__EXEEXT_568) $(am__EXEEXT_569) $(am__EXEEXT_570) \ ++ $(am__EXEEXT_571) $(am__EXEEXT_572) $(am__EXEEXT_573) \ ++ $(am__EXEEXT_574) $(am__EXEEXT_575) $(am__EXEEXT_576) \ ++ $(am__EXEEXT_577) $(am__EXEEXT_578) $(am__EXEEXT_579) \ ++ $(am__EXEEXT_580) $(am__EXEEXT_581) $(am__EXEEXT_582) \ + normal.module$(EXEEXT) part_acorn.module$(EXEEXT) \ + part_amiga.module$(EXEEXT) part_apple.module$(EXEEXT) \ + part_gpt.module$(EXEEXT) part_msdos.module$(EXEEXT) \ + part_sun.module$(EXEEXT) part_plan.module$(EXEEXT) \ + part_dvh.module$(EXEEXT) part_bsd.module$(EXEEXT) \ + part_sunpc.module$(EXEEXT) part_dfly.module$(EXEEXT) \ +- msdospart.module$(EXEEXT) $(am__EXEEXT_584) $(am__EXEEXT_585) \ +- $(am__EXEEXT_586) $(am__EXEEXT_587) $(am__EXEEXT_588) \ +- $(am__EXEEXT_589) $(am__EXEEXT_590) $(am__EXEEXT_591) \ +- $(am__EXEEXT_592) $(am__EXEEXT_593) $(am__EXEEXT_594) \ +- $(am__EXEEXT_595) $(am__EXEEXT_596) $(am__EXEEXT_597) \ +- $(am__EXEEXT_598) $(am__EXEEXT_599) $(am__EXEEXT_600) \ +- $(am__EXEEXT_601) $(am__EXEEXT_602) $(am__EXEEXT_603) \ +- $(am__EXEEXT_604) $(am__EXEEXT_605) $(am__EXEEXT_606) \ +- $(am__EXEEXT_607) $(am__EXEEXT_608) $(am__EXEEXT_609) \ +- $(am__EXEEXT_610) gfxterm_background.module$(EXEEXT) \ +- $(am__EXEEXT_611) $(am__EXEEXT_612) $(am__EXEEXT_613) \ +- $(am__EXEEXT_614) $(am__EXEEXT_615) $(am__EXEEXT_616) \ +- $(am__EXEEXT_617) $(am__EXEEXT_618) $(am__EXEEXT_619) \ +- $(am__EXEEXT_620) $(am__EXEEXT_621) $(am__EXEEXT_622) \ +- $(am__EXEEXT_623) $(am__EXEEXT_624) $(am__EXEEXT_625) \ +- $(am__EXEEXT_626) $(am__EXEEXT_627) $(am__EXEEXT_628) \ +- $(am__EXEEXT_629) $(am__EXEEXT_630) $(am__EXEEXT_631) \ +- $(am__EXEEXT_632) $(am__EXEEXT_633) $(am__EXEEXT_634) \ +- $(am__EXEEXT_635) $(am__EXEEXT_636) $(am__EXEEXT_637) \ +- $(am__EXEEXT_638) $(am__EXEEXT_639) $(am__EXEEXT_640) \ +- $(am__EXEEXT_641) $(am__EXEEXT_642) $(am__EXEEXT_643) \ +- $(am__EXEEXT_644) $(am__EXEEXT_645) $(am__EXEEXT_646) \ +- $(am__EXEEXT_647) $(am__EXEEXT_648) $(am__EXEEXT_649) \ +- $(am__EXEEXT_650) $(am__EXEEXT_651) $(am__EXEEXT_652) \ +- $(am__EXEEXT_653) $(am__EXEEXT_654) $(am__EXEEXT_655) \ +- $(am__EXEEXT_656) $(am__EXEEXT_657) $(am__EXEEXT_658) \ +- $(am__EXEEXT_659) $(am__EXEEXT_660) $(am__EXEEXT_661) \ +- $(am__EXEEXT_662) $(am__EXEEXT_663) $(am__EXEEXT_664) \ +- $(am__EXEEXT_665) functional_test.module$(EXEEXT) \ ++ msdospart.module$(EXEEXT) $(am__EXEEXT_583) $(am__EXEEXT_584) \ ++ $(am__EXEEXT_585) $(am__EXEEXT_586) $(am__EXEEXT_587) \ ++ $(am__EXEEXT_588) $(am__EXEEXT_589) $(am__EXEEXT_590) \ ++ $(am__EXEEXT_591) $(am__EXEEXT_592) $(am__EXEEXT_593) \ ++ $(am__EXEEXT_594) $(am__EXEEXT_595) $(am__EXEEXT_596) \ ++ $(am__EXEEXT_597) $(am__EXEEXT_598) $(am__EXEEXT_599) \ ++ $(am__EXEEXT_600) $(am__EXEEXT_601) $(am__EXEEXT_602) \ ++ $(am__EXEEXT_603) $(am__EXEEXT_604) $(am__EXEEXT_605) \ ++ $(am__EXEEXT_606) $(am__EXEEXT_607) $(am__EXEEXT_608) \ ++ $(am__EXEEXT_609) gfxterm_background.module$(EXEEXT) \ ++ $(am__EXEEXT_610) $(am__EXEEXT_611) $(am__EXEEXT_612) \ ++ $(am__EXEEXT_613) $(am__EXEEXT_614) $(am__EXEEXT_615) \ ++ $(am__EXEEXT_616) $(am__EXEEXT_617) $(am__EXEEXT_618) \ ++ $(am__EXEEXT_619) $(am__EXEEXT_620) $(am__EXEEXT_621) \ ++ $(am__EXEEXT_622) $(am__EXEEXT_623) $(am__EXEEXT_624) \ ++ $(am__EXEEXT_625) $(am__EXEEXT_626) $(am__EXEEXT_627) \ ++ $(am__EXEEXT_628) $(am__EXEEXT_629) $(am__EXEEXT_630) \ ++ $(am__EXEEXT_631) $(am__EXEEXT_632) $(am__EXEEXT_633) \ ++ $(am__EXEEXT_634) $(am__EXEEXT_635) $(am__EXEEXT_636) \ ++ $(am__EXEEXT_637) $(am__EXEEXT_638) $(am__EXEEXT_639) \ ++ $(am__EXEEXT_640) $(am__EXEEXT_641) $(am__EXEEXT_642) \ ++ $(am__EXEEXT_643) $(am__EXEEXT_644) $(am__EXEEXT_645) \ ++ $(am__EXEEXT_646) $(am__EXEEXT_647) $(am__EXEEXT_648) \ ++ $(am__EXEEXT_649) $(am__EXEEXT_650) $(am__EXEEXT_651) \ ++ $(am__EXEEXT_652) $(am__EXEEXT_653) $(am__EXEEXT_654) \ ++ $(am__EXEEXT_655) $(am__EXEEXT_656) $(am__EXEEXT_657) \ ++ $(am__EXEEXT_658) $(am__EXEEXT_659) $(am__EXEEXT_660) \ ++ $(am__EXEEXT_661) $(am__EXEEXT_662) $(am__EXEEXT_663) \ ++ $(am__EXEEXT_664) functional_test.module$(EXEEXT) \ + exfctest.module$(EXEEXT) strtoull_test.module$(EXEEXT) \ + setjmp_test.module$(EXEEXT) signature_test.module$(EXEEXT) \ + sleep_test.module$(EXEEXT) xnu_uuid_test.module$(EXEEXT) \ +- pbkdf2_test.module$(EXEEXT) $(am__EXEEXT_666) \ +- $(am__EXEEXT_667) $(am__EXEEXT_668) $(am__EXEEXT_669) \ +- $(am__EXEEXT_670) $(am__EXEEXT_671) $(am__EXEEXT_672) \ +- $(am__EXEEXT_673) $(am__EXEEXT_674) $(am__EXEEXT_675) \ +- $(am__EXEEXT_676) $(am__EXEEXT_677) $(am__EXEEXT_678) \ +- $(am__EXEEXT_679) $(am__EXEEXT_680) $(am__EXEEXT_681) \ +- $(am__EXEEXT_682) $(am__EXEEXT_683) $(am__EXEEXT_684) \ +- $(am__EXEEXT_685) $(am__EXEEXT_686) $(am__EXEEXT_687) \ +- $(am__EXEEXT_688) $(am__EXEEXT_689) $(am__EXEEXT_690) \ ++ pbkdf2_test.module$(EXEEXT) $(am__EXEEXT_665) \ ++ $(am__EXEEXT_666) $(am__EXEEXT_667) $(am__EXEEXT_668) \ ++ $(am__EXEEXT_669) $(am__EXEEXT_670) $(am__EXEEXT_671) \ ++ $(am__EXEEXT_672) $(am__EXEEXT_673) $(am__EXEEXT_674) \ ++ $(am__EXEEXT_675) $(am__EXEEXT_676) $(am__EXEEXT_677) \ ++ $(am__EXEEXT_678) $(am__EXEEXT_679) $(am__EXEEXT_680) \ ++ $(am__EXEEXT_681) $(am__EXEEXT_682) $(am__EXEEXT_683) \ ++ $(am__EXEEXT_684) $(am__EXEEXT_685) $(am__EXEEXT_686) \ ++ $(am__EXEEXT_687) $(am__EXEEXT_688) $(am__EXEEXT_689) \ + div_test.module$(EXEEXT) mul_test.module$(EXEEXT) \ + shift_test.module$(EXEEXT) cmp_test.module$(EXEEXT) \ + ctz_test.module$(EXEEXT) bswap_test.module$(EXEEXT) \ + videotest_checksum.module$(EXEEXT) \ + gfxterm_menu.module$(EXEEXT) cmdline_cat_test.module$(EXEEXT) \ + bitmap.module$(EXEEXT) bitmap_scale.module$(EXEEXT) \ +- $(am__EXEEXT_691) $(am__EXEEXT_692) $(am__EXEEXT_693) \ +- $(am__EXEEXT_694) $(am__EXEEXT_695) $(am__EXEEXT_696) \ +- $(am__EXEEXT_697) $(am__EXEEXT_698) $(am__EXEEXT_699) \ ++ $(am__EXEEXT_690) $(am__EXEEXT_691) $(am__EXEEXT_692) \ ++ $(am__EXEEXT_693) $(am__EXEEXT_694) $(am__EXEEXT_695) \ ++ $(am__EXEEXT_696) $(am__EXEEXT_697) $(am__EXEEXT_698) \ + jpeg.module$(EXEEXT) png.module$(EXEEXT) tga.module$(EXEEXT) \ +- $(am__EXEEXT_700) $(am__EXEEXT_701) $(am__EXEEXT_702) \ +- $(am__EXEEXT_703) $(am__EXEEXT_704) $(am__EXEEXT_705) \ +- $(am__EXEEXT_706) $(am__EXEEXT_707) $(am__EXEEXT_708) \ +- $(am__EXEEXT_709) $(am__EXEEXT_710) $(am__EXEEXT_711) \ +- $(am__EXEEXT_712) $(am__EXEEXT_713) $(am__EXEEXT_714) \ +- $(am__EXEEXT_715) $(am__EXEEXT_716) $(am__EXEEXT_717) \ +- $(am__EXEEXT_718) $(am__EXEEXT_719) $(am__EXEEXT_720) \ +- $(am__EXEEXT_721) $(am__EXEEXT_722) $(am__EXEEXT_723) \ +- $(am__EXEEXT_724) $(am__EXEEXT_725) $(am__EXEEXT_726) \ +- $(am__EXEEXT_727) $(am__EXEEXT_728) $(am__EXEEXT_729) \ +- $(am__EXEEXT_730) $(am__EXEEXT_731) $(am__EXEEXT_732) \ +- $(am__EXEEXT_733) $(am__EXEEXT_734) $(am__EXEEXT_735) \ +- $(am__EXEEXT_736) $(am__EXEEXT_737) $(am__EXEEXT_738) \ +- $(am__EXEEXT_739) $(am__EXEEXT_740) \ +- video_colors.module$(EXEEXT) $(am__EXEEXT_741) \ +- $(am__EXEEXT_742) datehook.module$(EXEEXT) net.module$(EXEEXT) \ +- tftp.module$(EXEEXT) http.module$(EXEEXT) $(am__EXEEXT_743) \ +- $(am__EXEEXT_744) $(am__EXEEXT_745) $(am__EXEEXT_746) \ +- $(am__EXEEXT_747) $(am__EXEEXT_748) $(am__EXEEXT_749) \ +- $(am__EXEEXT_750) $(am__EXEEXT_751) $(am__EXEEXT_752) \ +- $(am__EXEEXT_753) $(am__EXEEXT_754) $(am__EXEEXT_755) \ +- $(am__EXEEXT_756) $(am__EXEEXT_757) $(am__EXEEXT_758) \ +- $(am__EXEEXT_759) $(am__EXEEXT_760) \ ++ $(am__EXEEXT_699) $(am__EXEEXT_700) $(am__EXEEXT_701) \ ++ $(am__EXEEXT_702) $(am__EXEEXT_703) $(am__EXEEXT_704) \ ++ $(am__EXEEXT_705) $(am__EXEEXT_706) $(am__EXEEXT_707) \ ++ $(am__EXEEXT_708) $(am__EXEEXT_709) $(am__EXEEXT_710) \ ++ $(am__EXEEXT_711) $(am__EXEEXT_712) $(am__EXEEXT_713) \ ++ $(am__EXEEXT_714) $(am__EXEEXT_715) $(am__EXEEXT_716) \ ++ $(am__EXEEXT_717) $(am__EXEEXT_718) $(am__EXEEXT_719) \ ++ $(am__EXEEXT_720) $(am__EXEEXT_721) $(am__EXEEXT_722) \ ++ $(am__EXEEXT_723) $(am__EXEEXT_724) $(am__EXEEXT_725) \ ++ $(am__EXEEXT_726) $(am__EXEEXT_727) $(am__EXEEXT_728) \ ++ $(am__EXEEXT_729) $(am__EXEEXT_730) $(am__EXEEXT_731) \ ++ $(am__EXEEXT_732) $(am__EXEEXT_733) $(am__EXEEXT_734) \ ++ $(am__EXEEXT_735) $(am__EXEEXT_736) $(am__EXEEXT_737) \ ++ $(am__EXEEXT_738) $(am__EXEEXT_739) \ ++ video_colors.module$(EXEEXT) $(am__EXEEXT_740) \ ++ $(am__EXEEXT_741) datehook.module$(EXEEXT) net.module$(EXEEXT) \ ++ tftp.module$(EXEEXT) http.module$(EXEEXT) $(am__EXEEXT_742) \ ++ $(am__EXEEXT_743) $(am__EXEEXT_744) $(am__EXEEXT_745) \ ++ $(am__EXEEXT_746) $(am__EXEEXT_747) $(am__EXEEXT_748) \ ++ $(am__EXEEXT_749) $(am__EXEEXT_750) $(am__EXEEXT_751) \ ++ $(am__EXEEXT_752) $(am__EXEEXT_753) $(am__EXEEXT_754) \ ++ $(am__EXEEXT_755) $(am__EXEEXT_756) $(am__EXEEXT_757) \ ++ $(am__EXEEXT_758) $(am__EXEEXT_759) \ + syslinuxcfg.module$(EXEEXT) test_blockarg.module$(EXEEXT) \ + xzio.module$(EXEEXT) lzopio.module$(EXEEXT) \ +- testload.module$(EXEEXT) $(am__EXEEXT_761) $(am__EXEEXT_762) \ +- $(am__EXEEXT_763) $(am__EXEEXT_764) $(am__EXEEXT_765) \ +- $(am__EXEEXT_766) $(am__EXEEXT_767) $(am__EXEEXT_768) \ +- $(am__EXEEXT_769) $(am__EXEEXT_770) $(am__EXEEXT_771) \ +- $(am__EXEEXT_772) $(am__EXEEXT_773) $(am__EXEEXT_774) \ +- $(am__EXEEXT_775) $(am__EXEEXT_776) $(am__EXEEXT_777) \ ++ testload.module$(EXEEXT) $(am__EXEEXT_760) $(am__EXEEXT_761) \ ++ $(am__EXEEXT_762) $(am__EXEEXT_763) $(am__EXEEXT_764) \ ++ $(am__EXEEXT_765) $(am__EXEEXT_766) $(am__EXEEXT_767) \ ++ $(am__EXEEXT_768) $(am__EXEEXT_769) $(am__EXEEXT_770) \ ++ $(am__EXEEXT_771) $(am__EXEEXT_772) $(am__EXEEXT_773) \ ++ $(am__EXEEXT_774) $(am__EXEEXT_775) $(am__EXEEXT_776) \ + priority_queue.module$(EXEEXT) time.module$(EXEEXT) \ +- $(am__EXEEXT_778) $(am__EXEEXT_779) adler32.module$(EXEEXT) \ ++ $(am__EXEEXT_777) $(am__EXEEXT_778) adler32.module$(EXEEXT) \ + crc64.module$(EXEEXT) mpi.module$(EXEEXT) \ +- all_video.module$(EXEEXT) $(am__EXEEXT_780) $(am__EXEEXT_781) \ +- $(am__EXEEXT_782) $(am__EXEEXT_783) $(am__EXEEXT_784) \ +- $(am__EXEEXT_785) testspeed.module$(EXEEXT) $(am__EXEEXT_786) \ ++ all_video.module$(EXEEXT) $(am__EXEEXT_779) $(am__EXEEXT_780) \ ++ $(am__EXEEXT_781) $(am__EXEEXT_782) $(am__EXEEXT_783) \ ++ $(am__EXEEXT_784) testspeed.module$(EXEEXT) $(am__EXEEXT_785) \ + tr.module$(EXEEXT) progress.module$(EXEEXT) \ +- file.module$(EXEEXT) $(am__EXEEXT_787) $(am__EXEEXT_788) \ +- $(am__EXEEXT_789) $(am__EXEEXT_790) $(am__EXEEXT_791) \ +- $(am__EXEEXT_792) $(am__EXEEXT_793) $(am__EXEEXT_794) \ +- $(am__EXEEXT_795) $(am__EXEEXT_796) $(am__EXEEXT_797) \ +- $(am__EXEEXT_798) $(am__EXEEXT_799) $(am__EXEEXT_800) \ ++ file.module$(EXEEXT) $(am__EXEEXT_786) $(am__EXEEXT_787) \ ++ $(am__EXEEXT_788) $(am__EXEEXT_789) $(am__EXEEXT_790) \ ++ $(am__EXEEXT_791) $(am__EXEEXT_792) $(am__EXEEXT_793) \ ++ $(am__EXEEXT_794) $(am__EXEEXT_795) $(am__EXEEXT_796) \ ++ $(am__EXEEXT_797) $(am__EXEEXT_798) $(am__EXEEXT_799) \ + gcry_arcfour.module$(EXEEXT) gcry_blowfish.module$(EXEEXT) \ + gcry_camellia.module$(EXEEXT) gcry_cast5.module$(EXEEXT) \ + gcry_crc.module$(EXEEXT) gcry_des.module$(EXEEXT) \ +@@ -454,19 +454,19 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + gcry_sha1.module$(EXEEXT) gcry_sha256.module$(EXEEXT) \ + gcry_sha512.module$(EXEEXT) gcry_tiger.module$(EXEEXT) \ + gcry_twofish.module$(EXEEXT) gcry_whirlpool.module$(EXEEXT) \ +- $(am__EXEEXT_801) $(am__EXEEXT_802) $(am__EXEEXT_803) \ +- $(am__EXEEXT_804) $(am__EXEEXT_805) $(am__EXEEXT_806) \ +- $(am__EXEEXT_807) $(am__EXEEXT_808) $(am__EXEEXT_809) \ +- $(am__EXEEXT_810) $(am__EXEEXT_811) $(am__EXEEXT_812) \ +- $(am__EXEEXT_813) $(am__EXEEXT_814) $(am__EXEEXT_815) \ +- $(am__EXEEXT_816) $(am__EXEEXT_817) $(am__EXEEXT_818) \ +- $(am__EXEEXT_819) $(am__EXEEXT_820) $(am__EXEEXT_821) \ +- $(am__EXEEXT_822) $(am__EXEEXT_823) $(am__EXEEXT_824) \ +- $(am__EXEEXT_825) $(am__EXEEXT_826) $(am__EXEEXT_827) \ +- $(am__EXEEXT_828) $(am__EXEEXT_829) $(am__EXEEXT_830) \ +- $(am__EXEEXT_831) $(am__EXEEXT_832) $(am__EXEEXT_833) \ +- $(am__EXEEXT_834) $(am__EXEEXT_835) $(am__EXEEXT_836) \ +- $(am__EXEEXT_837) $(am__EXEEXT_838) $(am__EXEEXT_839) ++ $(am__EXEEXT_800) $(am__EXEEXT_801) $(am__EXEEXT_802) \ ++ $(am__EXEEXT_803) $(am__EXEEXT_804) $(am__EXEEXT_805) \ ++ $(am__EXEEXT_806) $(am__EXEEXT_807) $(am__EXEEXT_808) \ ++ $(am__EXEEXT_809) $(am__EXEEXT_810) $(am__EXEEXT_811) \ ++ $(am__EXEEXT_812) $(am__EXEEXT_813) $(am__EXEEXT_814) \ ++ $(am__EXEEXT_815) $(am__EXEEXT_816) $(am__EXEEXT_817) \ ++ $(am__EXEEXT_818) $(am__EXEEXT_819) $(am__EXEEXT_820) \ ++ $(am__EXEEXT_821) $(am__EXEEXT_822) $(am__EXEEXT_823) \ ++ $(am__EXEEXT_824) $(am__EXEEXT_825) $(am__EXEEXT_826) \ ++ $(am__EXEEXT_827) $(am__EXEEXT_828) $(am__EXEEXT_829) \ ++ $(am__EXEEXT_830) $(am__EXEEXT_831) $(am__EXEEXT_832) \ ++ $(am__EXEEXT_833) $(am__EXEEXT_834) $(am__EXEEXT_835) \ ++ $(am__EXEEXT_836) $(am__EXEEXT_837) $(am__EXEEXT_838) + TESTS = + @COND_i386_pc_TRUE@am__append_3 = cs5536.module + @COND_i386_pc_TRUE@am__append_4 = cs5536.module$(EXEEXT) +@@ -2996,1864 +2996,1854 @@ TESTS = + @COND_riscv64_efi_TRUE@ reboot.marker + @COND_riscv64_efi_TRUE@am__append_2038 = reboot.mod + @COND_riscv64_efi_TRUE@am__append_2039 = reboot.marker +-@COND_x86_64_efi_TRUE@am__append_2040 = shim_lock.module +-@COND_x86_64_efi_TRUE@am__append_2041 = shim_lock.module$(EXEEXT) +-@COND_x86_64_efi_FALSE@shim_lock_module_DEPENDENCIES = +-@COND_x86_64_efi_TRUE@am__append_2042 = +-@COND_x86_64_efi_TRUE@am__append_2043 = $(nodist_shim_lock_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2044 = \ +-@COND_x86_64_efi_TRUE@ $(nodist_shim_lock_module_SOURCES) \ +-@COND_x86_64_efi_TRUE@ shim_lock.marker +-@COND_x86_64_efi_TRUE@am__append_2045 = shim_lock.mod +-@COND_x86_64_efi_TRUE@am__append_2046 = shim_lock.marker +-@COND_i386_pc_TRUE@am__append_2047 = hdparm.module +-@COND_i386_pc_TRUE@am__append_2048 = hdparm.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_2040 = hdparm.module ++@COND_i386_pc_TRUE@am__append_2041 = hdparm.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@hdparm_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2049 = +-@COND_i386_pc_TRUE@am__append_2050 = $(nodist_hdparm_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2051 = $(nodist_hdparm_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2042 = ++@COND_i386_pc_TRUE@am__append_2043 = $(nodist_hdparm_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2044 = $(nodist_hdparm_module_SOURCES) \ + @COND_i386_pc_TRUE@ hdparm.marker +-@COND_i386_pc_TRUE@am__append_2052 = hdparm.mod +-@COND_i386_pc_TRUE@am__append_2053 = hdparm.marker +-@COND_i386_efi_TRUE@am__append_2054 = hdparm.module +-@COND_i386_efi_TRUE@am__append_2055 = hdparm.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2056 = +-@COND_i386_efi_TRUE@am__append_2057 = $(nodist_hdparm_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2058 = $(nodist_hdparm_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2045 = hdparm.mod ++@COND_i386_pc_TRUE@am__append_2046 = hdparm.marker ++@COND_i386_efi_TRUE@am__append_2047 = hdparm.module ++@COND_i386_efi_TRUE@am__append_2048 = hdparm.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2049 = ++@COND_i386_efi_TRUE@am__append_2050 = $(nodist_hdparm_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2051 = $(nodist_hdparm_module_SOURCES) \ + @COND_i386_efi_TRUE@ hdparm.marker +-@COND_i386_efi_TRUE@am__append_2059 = hdparm.mod +-@COND_i386_efi_TRUE@am__append_2060 = hdparm.marker +-@COND_i386_qemu_TRUE@am__append_2061 = hdparm.module +-@COND_i386_qemu_TRUE@am__append_2062 = hdparm.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2063 = +-@COND_i386_qemu_TRUE@am__append_2064 = $(nodist_hdparm_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2065 = \ ++@COND_i386_efi_TRUE@am__append_2052 = hdparm.mod ++@COND_i386_efi_TRUE@am__append_2053 = hdparm.marker ++@COND_i386_qemu_TRUE@am__append_2054 = hdparm.module ++@COND_i386_qemu_TRUE@am__append_2055 = hdparm.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2056 = ++@COND_i386_qemu_TRUE@am__append_2057 = $(nodist_hdparm_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2058 = \ + @COND_i386_qemu_TRUE@ $(nodist_hdparm_module_SOURCES) \ + @COND_i386_qemu_TRUE@ hdparm.marker +-@COND_i386_qemu_TRUE@am__append_2066 = hdparm.mod +-@COND_i386_qemu_TRUE@am__append_2067 = hdparm.marker +-@COND_i386_coreboot_TRUE@am__append_2068 = hdparm.module +-@COND_i386_coreboot_TRUE@am__append_2069 = hdparm.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2070 = +-@COND_i386_coreboot_TRUE@am__append_2071 = $(nodist_hdparm_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2072 = \ ++@COND_i386_qemu_TRUE@am__append_2059 = hdparm.mod ++@COND_i386_qemu_TRUE@am__append_2060 = hdparm.marker ++@COND_i386_coreboot_TRUE@am__append_2061 = hdparm.module ++@COND_i386_coreboot_TRUE@am__append_2062 = hdparm.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2063 = ++@COND_i386_coreboot_TRUE@am__append_2064 = $(nodist_hdparm_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2065 = \ + @COND_i386_coreboot_TRUE@ $(nodist_hdparm_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ hdparm.marker +-@COND_i386_coreboot_TRUE@am__append_2073 = hdparm.mod +-@COND_i386_coreboot_TRUE@am__append_2074 = hdparm.marker +-@COND_i386_multiboot_TRUE@am__append_2075 = hdparm.module +-@COND_i386_multiboot_TRUE@am__append_2076 = hdparm.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2077 = +-@COND_i386_multiboot_TRUE@am__append_2078 = $(nodist_hdparm_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2079 = \ ++@COND_i386_coreboot_TRUE@am__append_2066 = hdparm.mod ++@COND_i386_coreboot_TRUE@am__append_2067 = hdparm.marker ++@COND_i386_multiboot_TRUE@am__append_2068 = hdparm.module ++@COND_i386_multiboot_TRUE@am__append_2069 = hdparm.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2070 = ++@COND_i386_multiboot_TRUE@am__append_2071 = $(nodist_hdparm_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2072 = \ + @COND_i386_multiboot_TRUE@ $(nodist_hdparm_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ hdparm.marker +-@COND_i386_multiboot_TRUE@am__append_2080 = hdparm.mod +-@COND_i386_multiboot_TRUE@am__append_2081 = hdparm.marker +-@COND_i386_ieee1275_TRUE@am__append_2082 = hdparm.module +-@COND_i386_ieee1275_TRUE@am__append_2083 = hdparm.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2084 = +-@COND_i386_ieee1275_TRUE@am__append_2085 = $(nodist_hdparm_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2086 = \ ++@COND_i386_multiboot_TRUE@am__append_2073 = hdparm.mod ++@COND_i386_multiboot_TRUE@am__append_2074 = hdparm.marker ++@COND_i386_ieee1275_TRUE@am__append_2075 = hdparm.module ++@COND_i386_ieee1275_TRUE@am__append_2076 = hdparm.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2077 = ++@COND_i386_ieee1275_TRUE@am__append_2078 = $(nodist_hdparm_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2079 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_hdparm_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ hdparm.marker +-@COND_i386_ieee1275_TRUE@am__append_2087 = hdparm.mod +-@COND_i386_ieee1275_TRUE@am__append_2088 = hdparm.marker +-@COND_x86_64_efi_TRUE@am__append_2089 = hdparm.module +-@COND_x86_64_efi_TRUE@am__append_2090 = hdparm.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2091 = +-@COND_x86_64_efi_TRUE@am__append_2092 = $(nodist_hdparm_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2093 = \ ++@COND_i386_ieee1275_TRUE@am__append_2080 = hdparm.mod ++@COND_i386_ieee1275_TRUE@am__append_2081 = hdparm.marker ++@COND_x86_64_efi_TRUE@am__append_2082 = hdparm.module ++@COND_x86_64_efi_TRUE@am__append_2083 = hdparm.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2084 = ++@COND_x86_64_efi_TRUE@am__append_2085 = $(nodist_hdparm_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2086 = \ + @COND_x86_64_efi_TRUE@ $(nodist_hdparm_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ hdparm.marker +-@COND_x86_64_efi_TRUE@am__append_2094 = hdparm.mod +-@COND_x86_64_efi_TRUE@am__append_2095 = hdparm.marker +-@COND_mips_loongson_TRUE@am__append_2096 = hdparm.module +-@COND_mips_loongson_TRUE@am__append_2097 = hdparm.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2098 = +-@COND_mips_loongson_TRUE@am__append_2099 = $(nodist_hdparm_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2100 = \ ++@COND_x86_64_efi_TRUE@am__append_2087 = hdparm.mod ++@COND_x86_64_efi_TRUE@am__append_2088 = hdparm.marker ++@COND_mips_loongson_TRUE@am__append_2089 = hdparm.module ++@COND_mips_loongson_TRUE@am__append_2090 = hdparm.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2091 = ++@COND_mips_loongson_TRUE@am__append_2092 = $(nodist_hdparm_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2093 = \ + @COND_mips_loongson_TRUE@ $(nodist_hdparm_module_SOURCES) \ + @COND_mips_loongson_TRUE@ hdparm.marker +-@COND_mips_loongson_TRUE@am__append_2101 = hdparm.mod +-@COND_mips_loongson_TRUE@am__append_2102 = hdparm.marker +-@COND_mips_qemu_mips_TRUE@am__append_2103 = hdparm.module +-@COND_mips_qemu_mips_TRUE@am__append_2104 = hdparm.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_2105 = +-@COND_mips_qemu_mips_TRUE@am__append_2106 = $(nodist_hdparm_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_2107 = \ ++@COND_mips_loongson_TRUE@am__append_2094 = hdparm.mod ++@COND_mips_loongson_TRUE@am__append_2095 = hdparm.marker ++@COND_mips_qemu_mips_TRUE@am__append_2096 = hdparm.module ++@COND_mips_qemu_mips_TRUE@am__append_2097 = hdparm.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_2098 = ++@COND_mips_qemu_mips_TRUE@am__append_2099 = $(nodist_hdparm_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_2100 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_hdparm_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ hdparm.marker +-@COND_mips_qemu_mips_TRUE@am__append_2108 = hdparm.mod +-@COND_mips_qemu_mips_TRUE@am__append_2109 = hdparm.marker +-@COND_i386_efi_TRUE@am__append_2110 = loadbios.module +-@COND_i386_efi_TRUE@am__append_2111 = loadbios.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_2101 = hdparm.mod ++@COND_mips_qemu_mips_TRUE@am__append_2102 = hdparm.marker ++@COND_i386_efi_TRUE@am__append_2103 = loadbios.module ++@COND_i386_efi_TRUE@am__append_2104 = loadbios.module$(EXEEXT) + @COND_i386_efi_FALSE@@COND_x86_64_efi_FALSE@loadbios_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_2112 = +-@COND_i386_efi_TRUE@am__append_2113 = $(nodist_loadbios_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2114 = \ ++@COND_i386_efi_TRUE@am__append_2105 = ++@COND_i386_efi_TRUE@am__append_2106 = $(nodist_loadbios_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2107 = \ + @COND_i386_efi_TRUE@ $(nodist_loadbios_module_SOURCES) \ + @COND_i386_efi_TRUE@ loadbios.marker +-@COND_i386_efi_TRUE@am__append_2115 = loadbios.mod +-@COND_i386_efi_TRUE@am__append_2116 = loadbios.marker +-@COND_x86_64_efi_TRUE@am__append_2117 = loadbios.module +-@COND_x86_64_efi_TRUE@am__append_2118 = loadbios.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2119 = +-@COND_x86_64_efi_TRUE@am__append_2120 = $(nodist_loadbios_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2121 = \ ++@COND_i386_efi_TRUE@am__append_2108 = loadbios.mod ++@COND_i386_efi_TRUE@am__append_2109 = loadbios.marker ++@COND_x86_64_efi_TRUE@am__append_2110 = loadbios.module ++@COND_x86_64_efi_TRUE@am__append_2111 = loadbios.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2112 = ++@COND_x86_64_efi_TRUE@am__append_2113 = $(nodist_loadbios_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2114 = \ + @COND_x86_64_efi_TRUE@ $(nodist_loadbios_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ loadbios.marker +-@COND_x86_64_efi_TRUE@am__append_2122 = loadbios.mod +-@COND_x86_64_efi_TRUE@am__append_2123 = loadbios.marker +-@COND_i386_pc_TRUE@am__append_2124 = lspci.module +-@COND_i386_pc_TRUE@am__append_2125 = lspci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2115 = loadbios.mod ++@COND_x86_64_efi_TRUE@am__append_2116 = loadbios.marker ++@COND_i386_pc_TRUE@am__append_2117 = lspci.module ++@COND_i386_pc_TRUE@am__append_2118 = lspci.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@lspci_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2126 = +-@COND_i386_pc_TRUE@am__append_2127 = $(nodist_lspci_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2128 = $(nodist_lspci_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2119 = ++@COND_i386_pc_TRUE@am__append_2120 = $(nodist_lspci_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2121 = $(nodist_lspci_module_SOURCES) \ + @COND_i386_pc_TRUE@ lspci.marker +-@COND_i386_pc_TRUE@am__append_2129 = lspci.mod +-@COND_i386_pc_TRUE@am__append_2130 = lspci.marker +-@COND_i386_efi_TRUE@am__append_2131 = lspci.module +-@COND_i386_efi_TRUE@am__append_2132 = lspci.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2133 = +-@COND_i386_efi_TRUE@am__append_2134 = $(nodist_lspci_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2135 = $(nodist_lspci_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2122 = lspci.mod ++@COND_i386_pc_TRUE@am__append_2123 = lspci.marker ++@COND_i386_efi_TRUE@am__append_2124 = lspci.module ++@COND_i386_efi_TRUE@am__append_2125 = lspci.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2126 = ++@COND_i386_efi_TRUE@am__append_2127 = $(nodist_lspci_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2128 = $(nodist_lspci_module_SOURCES) \ + @COND_i386_efi_TRUE@ lspci.marker +-@COND_i386_efi_TRUE@am__append_2136 = lspci.mod +-@COND_i386_efi_TRUE@am__append_2137 = lspci.marker +-@COND_i386_qemu_TRUE@am__append_2138 = lspci.module +-@COND_i386_qemu_TRUE@am__append_2139 = lspci.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2140 = +-@COND_i386_qemu_TRUE@am__append_2141 = $(nodist_lspci_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2142 = $(nodist_lspci_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2129 = lspci.mod ++@COND_i386_efi_TRUE@am__append_2130 = lspci.marker ++@COND_i386_qemu_TRUE@am__append_2131 = lspci.module ++@COND_i386_qemu_TRUE@am__append_2132 = lspci.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2133 = ++@COND_i386_qemu_TRUE@am__append_2134 = $(nodist_lspci_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2135 = $(nodist_lspci_module_SOURCES) \ + @COND_i386_qemu_TRUE@ lspci.marker +-@COND_i386_qemu_TRUE@am__append_2143 = lspci.mod +-@COND_i386_qemu_TRUE@am__append_2144 = lspci.marker +-@COND_i386_coreboot_TRUE@am__append_2145 = lspci.module +-@COND_i386_coreboot_TRUE@am__append_2146 = lspci.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2147 = +-@COND_i386_coreboot_TRUE@am__append_2148 = $(nodist_lspci_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2149 = \ ++@COND_i386_qemu_TRUE@am__append_2136 = lspci.mod ++@COND_i386_qemu_TRUE@am__append_2137 = lspci.marker ++@COND_i386_coreboot_TRUE@am__append_2138 = lspci.module ++@COND_i386_coreboot_TRUE@am__append_2139 = lspci.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2140 = ++@COND_i386_coreboot_TRUE@am__append_2141 = $(nodist_lspci_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2142 = \ + @COND_i386_coreboot_TRUE@ $(nodist_lspci_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ lspci.marker +-@COND_i386_coreboot_TRUE@am__append_2150 = lspci.mod +-@COND_i386_coreboot_TRUE@am__append_2151 = lspci.marker +-@COND_i386_multiboot_TRUE@am__append_2152 = lspci.module +-@COND_i386_multiboot_TRUE@am__append_2153 = lspci.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2154 = +-@COND_i386_multiboot_TRUE@am__append_2155 = $(nodist_lspci_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2156 = \ ++@COND_i386_coreboot_TRUE@am__append_2143 = lspci.mod ++@COND_i386_coreboot_TRUE@am__append_2144 = lspci.marker ++@COND_i386_multiboot_TRUE@am__append_2145 = lspci.module ++@COND_i386_multiboot_TRUE@am__append_2146 = lspci.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2147 = ++@COND_i386_multiboot_TRUE@am__append_2148 = $(nodist_lspci_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2149 = \ + @COND_i386_multiboot_TRUE@ $(nodist_lspci_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ lspci.marker +-@COND_i386_multiboot_TRUE@am__append_2157 = lspci.mod +-@COND_i386_multiboot_TRUE@am__append_2158 = lspci.marker +-@COND_i386_ieee1275_TRUE@am__append_2159 = lspci.module +-@COND_i386_ieee1275_TRUE@am__append_2160 = lspci.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2161 = +-@COND_i386_ieee1275_TRUE@am__append_2162 = $(nodist_lspci_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2163 = \ ++@COND_i386_multiboot_TRUE@am__append_2150 = lspci.mod ++@COND_i386_multiboot_TRUE@am__append_2151 = lspci.marker ++@COND_i386_ieee1275_TRUE@am__append_2152 = lspci.module ++@COND_i386_ieee1275_TRUE@am__append_2153 = lspci.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2154 = ++@COND_i386_ieee1275_TRUE@am__append_2155 = $(nodist_lspci_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2156 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_lspci_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ lspci.marker +-@COND_i386_ieee1275_TRUE@am__append_2164 = lspci.mod +-@COND_i386_ieee1275_TRUE@am__append_2165 = lspci.marker +-@COND_x86_64_efi_TRUE@am__append_2166 = lspci.module +-@COND_x86_64_efi_TRUE@am__append_2167 = lspci.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2168 = +-@COND_x86_64_efi_TRUE@am__append_2169 = $(nodist_lspci_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2170 = \ ++@COND_i386_ieee1275_TRUE@am__append_2157 = lspci.mod ++@COND_i386_ieee1275_TRUE@am__append_2158 = lspci.marker ++@COND_x86_64_efi_TRUE@am__append_2159 = lspci.module ++@COND_x86_64_efi_TRUE@am__append_2160 = lspci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2161 = ++@COND_x86_64_efi_TRUE@am__append_2162 = $(nodist_lspci_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2163 = \ + @COND_x86_64_efi_TRUE@ $(nodist_lspci_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ lspci.marker +-@COND_x86_64_efi_TRUE@am__append_2171 = lspci.mod +-@COND_x86_64_efi_TRUE@am__append_2172 = lspci.marker +-@COND_mips_loongson_TRUE@am__append_2173 = lspci.module +-@COND_mips_loongson_TRUE@am__append_2174 = lspci.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2175 = +-@COND_mips_loongson_TRUE@am__append_2176 = $(nodist_lspci_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2177 = \ ++@COND_x86_64_efi_TRUE@am__append_2164 = lspci.mod ++@COND_x86_64_efi_TRUE@am__append_2165 = lspci.marker ++@COND_mips_loongson_TRUE@am__append_2166 = lspci.module ++@COND_mips_loongson_TRUE@am__append_2167 = lspci.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2168 = ++@COND_mips_loongson_TRUE@am__append_2169 = $(nodist_lspci_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2170 = \ + @COND_mips_loongson_TRUE@ $(nodist_lspci_module_SOURCES) \ + @COND_mips_loongson_TRUE@ lspci.marker +-@COND_mips_loongson_TRUE@am__append_2178 = lspci.mod +-@COND_mips_loongson_TRUE@am__append_2179 = lspci.marker +-@COND_i386_pc_TRUE@am__append_2180 = play.module +-@COND_i386_pc_TRUE@am__append_2181 = play.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2171 = lspci.mod ++@COND_mips_loongson_TRUE@am__append_2172 = lspci.marker ++@COND_i386_pc_TRUE@am__append_2173 = play.module ++@COND_i386_pc_TRUE@am__append_2174 = play.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@play_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2182 = +-@COND_i386_pc_TRUE@am__append_2183 = $(nodist_play_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2184 = $(nodist_play_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2175 = ++@COND_i386_pc_TRUE@am__append_2176 = $(nodist_play_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2177 = $(nodist_play_module_SOURCES) \ + @COND_i386_pc_TRUE@ play.marker +-@COND_i386_pc_TRUE@am__append_2185 = play.mod +-@COND_i386_pc_TRUE@am__append_2186 = play.marker +-@COND_i386_efi_TRUE@am__append_2187 = play.module +-@COND_i386_efi_TRUE@am__append_2188 = play.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2189 = +-@COND_i386_efi_TRUE@am__append_2190 = $(nodist_play_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2191 = $(nodist_play_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2178 = play.mod ++@COND_i386_pc_TRUE@am__append_2179 = play.marker ++@COND_i386_efi_TRUE@am__append_2180 = play.module ++@COND_i386_efi_TRUE@am__append_2181 = play.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2182 = ++@COND_i386_efi_TRUE@am__append_2183 = $(nodist_play_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2184 = $(nodist_play_module_SOURCES) \ + @COND_i386_efi_TRUE@ play.marker +-@COND_i386_efi_TRUE@am__append_2192 = play.mod +-@COND_i386_efi_TRUE@am__append_2193 = play.marker +-@COND_i386_qemu_TRUE@am__append_2194 = play.module +-@COND_i386_qemu_TRUE@am__append_2195 = play.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2196 = +-@COND_i386_qemu_TRUE@am__append_2197 = $(nodist_play_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2198 = $(nodist_play_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2185 = play.mod ++@COND_i386_efi_TRUE@am__append_2186 = play.marker ++@COND_i386_qemu_TRUE@am__append_2187 = play.module ++@COND_i386_qemu_TRUE@am__append_2188 = play.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2189 = ++@COND_i386_qemu_TRUE@am__append_2190 = $(nodist_play_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2191 = $(nodist_play_module_SOURCES) \ + @COND_i386_qemu_TRUE@ play.marker +-@COND_i386_qemu_TRUE@am__append_2199 = play.mod +-@COND_i386_qemu_TRUE@am__append_2200 = play.marker +-@COND_i386_coreboot_TRUE@am__append_2201 = play.module +-@COND_i386_coreboot_TRUE@am__append_2202 = play.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2203 = +-@COND_i386_coreboot_TRUE@am__append_2204 = $(nodist_play_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2205 = \ ++@COND_i386_qemu_TRUE@am__append_2192 = play.mod ++@COND_i386_qemu_TRUE@am__append_2193 = play.marker ++@COND_i386_coreboot_TRUE@am__append_2194 = play.module ++@COND_i386_coreboot_TRUE@am__append_2195 = play.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2196 = ++@COND_i386_coreboot_TRUE@am__append_2197 = $(nodist_play_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2198 = \ + @COND_i386_coreboot_TRUE@ $(nodist_play_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ play.marker +-@COND_i386_coreboot_TRUE@am__append_2206 = play.mod +-@COND_i386_coreboot_TRUE@am__append_2207 = play.marker +-@COND_i386_multiboot_TRUE@am__append_2208 = play.module +-@COND_i386_multiboot_TRUE@am__append_2209 = play.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2210 = +-@COND_i386_multiboot_TRUE@am__append_2211 = $(nodist_play_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2212 = \ ++@COND_i386_coreboot_TRUE@am__append_2199 = play.mod ++@COND_i386_coreboot_TRUE@am__append_2200 = play.marker ++@COND_i386_multiboot_TRUE@am__append_2201 = play.module ++@COND_i386_multiboot_TRUE@am__append_2202 = play.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2203 = ++@COND_i386_multiboot_TRUE@am__append_2204 = $(nodist_play_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2205 = \ + @COND_i386_multiboot_TRUE@ $(nodist_play_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ play.marker +-@COND_i386_multiboot_TRUE@am__append_2213 = play.mod +-@COND_i386_multiboot_TRUE@am__append_2214 = play.marker +-@COND_i386_ieee1275_TRUE@am__append_2215 = play.module +-@COND_i386_ieee1275_TRUE@am__append_2216 = play.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2217 = +-@COND_i386_ieee1275_TRUE@am__append_2218 = $(nodist_play_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2219 = \ ++@COND_i386_multiboot_TRUE@am__append_2206 = play.mod ++@COND_i386_multiboot_TRUE@am__append_2207 = play.marker ++@COND_i386_ieee1275_TRUE@am__append_2208 = play.module ++@COND_i386_ieee1275_TRUE@am__append_2209 = play.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2210 = ++@COND_i386_ieee1275_TRUE@am__append_2211 = $(nodist_play_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2212 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_play_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ play.marker +-@COND_i386_ieee1275_TRUE@am__append_2220 = play.mod +-@COND_i386_ieee1275_TRUE@am__append_2221 = play.marker +-@COND_x86_64_efi_TRUE@am__append_2222 = play.module +-@COND_x86_64_efi_TRUE@am__append_2223 = play.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2224 = +-@COND_x86_64_efi_TRUE@am__append_2225 = $(nodist_play_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2226 = $(nodist_play_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_2213 = play.mod ++@COND_i386_ieee1275_TRUE@am__append_2214 = play.marker ++@COND_x86_64_efi_TRUE@am__append_2215 = play.module ++@COND_x86_64_efi_TRUE@am__append_2216 = play.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2217 = ++@COND_x86_64_efi_TRUE@am__append_2218 = $(nodist_play_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2219 = $(nodist_play_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ play.marker +-@COND_x86_64_efi_TRUE@am__append_2227 = play.mod +-@COND_x86_64_efi_TRUE@am__append_2228 = play.marker +-@COND_i386_pc_TRUE@am__append_2229 = spkmodem.module +-@COND_i386_pc_TRUE@am__append_2230 = spkmodem.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2220 = play.mod ++@COND_x86_64_efi_TRUE@am__append_2221 = play.marker ++@COND_i386_pc_TRUE@am__append_2222 = spkmodem.module ++@COND_i386_pc_TRUE@am__append_2223 = spkmodem.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@spkmodem_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2231 = +-@COND_i386_pc_TRUE@am__append_2232 = $(nodist_spkmodem_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2233 = \ ++@COND_i386_pc_TRUE@am__append_2224 = ++@COND_i386_pc_TRUE@am__append_2225 = $(nodist_spkmodem_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2226 = \ + @COND_i386_pc_TRUE@ $(nodist_spkmodem_module_SOURCES) \ + @COND_i386_pc_TRUE@ spkmodem.marker +-@COND_i386_pc_TRUE@am__append_2234 = spkmodem.mod +-@COND_i386_pc_TRUE@am__append_2235 = spkmodem.marker +-@COND_i386_efi_TRUE@am__append_2236 = spkmodem.module +-@COND_i386_efi_TRUE@am__append_2237 = spkmodem.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2238 = +-@COND_i386_efi_TRUE@am__append_2239 = $(nodist_spkmodem_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2240 = \ ++@COND_i386_pc_TRUE@am__append_2227 = spkmodem.mod ++@COND_i386_pc_TRUE@am__append_2228 = spkmodem.marker ++@COND_i386_efi_TRUE@am__append_2229 = spkmodem.module ++@COND_i386_efi_TRUE@am__append_2230 = spkmodem.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2231 = ++@COND_i386_efi_TRUE@am__append_2232 = $(nodist_spkmodem_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2233 = \ + @COND_i386_efi_TRUE@ $(nodist_spkmodem_module_SOURCES) \ + @COND_i386_efi_TRUE@ spkmodem.marker +-@COND_i386_efi_TRUE@am__append_2241 = spkmodem.mod +-@COND_i386_efi_TRUE@am__append_2242 = spkmodem.marker +-@COND_i386_qemu_TRUE@am__append_2243 = spkmodem.module +-@COND_i386_qemu_TRUE@am__append_2244 = spkmodem.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2245 = +-@COND_i386_qemu_TRUE@am__append_2246 = $(nodist_spkmodem_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2247 = \ ++@COND_i386_efi_TRUE@am__append_2234 = spkmodem.mod ++@COND_i386_efi_TRUE@am__append_2235 = spkmodem.marker ++@COND_i386_qemu_TRUE@am__append_2236 = spkmodem.module ++@COND_i386_qemu_TRUE@am__append_2237 = spkmodem.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2238 = ++@COND_i386_qemu_TRUE@am__append_2239 = $(nodist_spkmodem_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2240 = \ + @COND_i386_qemu_TRUE@ $(nodist_spkmodem_module_SOURCES) \ + @COND_i386_qemu_TRUE@ spkmodem.marker +-@COND_i386_qemu_TRUE@am__append_2248 = spkmodem.mod +-@COND_i386_qemu_TRUE@am__append_2249 = spkmodem.marker +-@COND_i386_coreboot_TRUE@am__append_2250 = spkmodem.module +-@COND_i386_coreboot_TRUE@am__append_2251 = spkmodem.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2252 = +-@COND_i386_coreboot_TRUE@am__append_2253 = $(nodist_spkmodem_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2254 = \ ++@COND_i386_qemu_TRUE@am__append_2241 = spkmodem.mod ++@COND_i386_qemu_TRUE@am__append_2242 = spkmodem.marker ++@COND_i386_coreboot_TRUE@am__append_2243 = spkmodem.module ++@COND_i386_coreboot_TRUE@am__append_2244 = spkmodem.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2245 = ++@COND_i386_coreboot_TRUE@am__append_2246 = $(nodist_spkmodem_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2247 = \ + @COND_i386_coreboot_TRUE@ $(nodist_spkmodem_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ spkmodem.marker +-@COND_i386_coreboot_TRUE@am__append_2255 = spkmodem.mod +-@COND_i386_coreboot_TRUE@am__append_2256 = spkmodem.marker +-@COND_i386_multiboot_TRUE@am__append_2257 = spkmodem.module +-@COND_i386_multiboot_TRUE@am__append_2258 = spkmodem.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2259 = +-@COND_i386_multiboot_TRUE@am__append_2260 = $(nodist_spkmodem_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2261 = \ ++@COND_i386_coreboot_TRUE@am__append_2248 = spkmodem.mod ++@COND_i386_coreboot_TRUE@am__append_2249 = spkmodem.marker ++@COND_i386_multiboot_TRUE@am__append_2250 = spkmodem.module ++@COND_i386_multiboot_TRUE@am__append_2251 = spkmodem.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2252 = ++@COND_i386_multiboot_TRUE@am__append_2253 = $(nodist_spkmodem_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2254 = \ + @COND_i386_multiboot_TRUE@ $(nodist_spkmodem_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ spkmodem.marker +-@COND_i386_multiboot_TRUE@am__append_2262 = spkmodem.mod +-@COND_i386_multiboot_TRUE@am__append_2263 = spkmodem.marker +-@COND_i386_ieee1275_TRUE@am__append_2264 = spkmodem.module +-@COND_i386_ieee1275_TRUE@am__append_2265 = spkmodem.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2266 = +-@COND_i386_ieee1275_TRUE@am__append_2267 = $(nodist_spkmodem_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2268 = \ ++@COND_i386_multiboot_TRUE@am__append_2255 = spkmodem.mod ++@COND_i386_multiboot_TRUE@am__append_2256 = spkmodem.marker ++@COND_i386_ieee1275_TRUE@am__append_2257 = spkmodem.module ++@COND_i386_ieee1275_TRUE@am__append_2258 = spkmodem.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2259 = ++@COND_i386_ieee1275_TRUE@am__append_2260 = $(nodist_spkmodem_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2261 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_spkmodem_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ spkmodem.marker +-@COND_i386_ieee1275_TRUE@am__append_2269 = spkmodem.mod +-@COND_i386_ieee1275_TRUE@am__append_2270 = spkmodem.marker +-@COND_x86_64_efi_TRUE@am__append_2271 = spkmodem.module +-@COND_x86_64_efi_TRUE@am__append_2272 = spkmodem.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2273 = +-@COND_x86_64_efi_TRUE@am__append_2274 = $(nodist_spkmodem_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2275 = \ ++@COND_i386_ieee1275_TRUE@am__append_2262 = spkmodem.mod ++@COND_i386_ieee1275_TRUE@am__append_2263 = spkmodem.marker ++@COND_x86_64_efi_TRUE@am__append_2264 = spkmodem.module ++@COND_x86_64_efi_TRUE@am__append_2265 = spkmodem.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2266 = ++@COND_x86_64_efi_TRUE@am__append_2267 = $(nodist_spkmodem_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2268 = \ + @COND_x86_64_efi_TRUE@ $(nodist_spkmodem_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ spkmodem.marker +-@COND_x86_64_efi_TRUE@am__append_2276 = spkmodem.mod +-@COND_x86_64_efi_TRUE@am__append_2277 = spkmodem.marker +-@COND_i386_pc_TRUE@am__append_2278 = morse.module +-@COND_i386_pc_TRUE@am__append_2279 = morse.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2269 = spkmodem.mod ++@COND_x86_64_efi_TRUE@am__append_2270 = spkmodem.marker ++@COND_i386_pc_TRUE@am__append_2271 = morse.module ++@COND_i386_pc_TRUE@am__append_2272 = morse.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@morse_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2280 = +-@COND_i386_pc_TRUE@am__append_2281 = $(nodist_morse_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2282 = $(nodist_morse_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2273 = ++@COND_i386_pc_TRUE@am__append_2274 = $(nodist_morse_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2275 = $(nodist_morse_module_SOURCES) \ + @COND_i386_pc_TRUE@ morse.marker +-@COND_i386_pc_TRUE@am__append_2283 = morse.mod +-@COND_i386_pc_TRUE@am__append_2284 = morse.marker +-@COND_i386_efi_TRUE@am__append_2285 = morse.module +-@COND_i386_efi_TRUE@am__append_2286 = morse.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2287 = +-@COND_i386_efi_TRUE@am__append_2288 = $(nodist_morse_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2289 = $(nodist_morse_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2276 = morse.mod ++@COND_i386_pc_TRUE@am__append_2277 = morse.marker ++@COND_i386_efi_TRUE@am__append_2278 = morse.module ++@COND_i386_efi_TRUE@am__append_2279 = morse.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2280 = ++@COND_i386_efi_TRUE@am__append_2281 = $(nodist_morse_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2282 = $(nodist_morse_module_SOURCES) \ + @COND_i386_efi_TRUE@ morse.marker +-@COND_i386_efi_TRUE@am__append_2290 = morse.mod +-@COND_i386_efi_TRUE@am__append_2291 = morse.marker +-@COND_i386_qemu_TRUE@am__append_2292 = morse.module +-@COND_i386_qemu_TRUE@am__append_2293 = morse.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2294 = +-@COND_i386_qemu_TRUE@am__append_2295 = $(nodist_morse_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2296 = $(nodist_morse_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2283 = morse.mod ++@COND_i386_efi_TRUE@am__append_2284 = morse.marker ++@COND_i386_qemu_TRUE@am__append_2285 = morse.module ++@COND_i386_qemu_TRUE@am__append_2286 = morse.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2287 = ++@COND_i386_qemu_TRUE@am__append_2288 = $(nodist_morse_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2289 = $(nodist_morse_module_SOURCES) \ + @COND_i386_qemu_TRUE@ morse.marker +-@COND_i386_qemu_TRUE@am__append_2297 = morse.mod +-@COND_i386_qemu_TRUE@am__append_2298 = morse.marker +-@COND_i386_coreboot_TRUE@am__append_2299 = morse.module +-@COND_i386_coreboot_TRUE@am__append_2300 = morse.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2301 = +-@COND_i386_coreboot_TRUE@am__append_2302 = $(nodist_morse_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2303 = \ ++@COND_i386_qemu_TRUE@am__append_2290 = morse.mod ++@COND_i386_qemu_TRUE@am__append_2291 = morse.marker ++@COND_i386_coreboot_TRUE@am__append_2292 = morse.module ++@COND_i386_coreboot_TRUE@am__append_2293 = morse.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2294 = ++@COND_i386_coreboot_TRUE@am__append_2295 = $(nodist_morse_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2296 = \ + @COND_i386_coreboot_TRUE@ $(nodist_morse_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ morse.marker +-@COND_i386_coreboot_TRUE@am__append_2304 = morse.mod +-@COND_i386_coreboot_TRUE@am__append_2305 = morse.marker +-@COND_i386_multiboot_TRUE@am__append_2306 = morse.module +-@COND_i386_multiboot_TRUE@am__append_2307 = morse.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2308 = +-@COND_i386_multiboot_TRUE@am__append_2309 = $(nodist_morse_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2310 = \ ++@COND_i386_coreboot_TRUE@am__append_2297 = morse.mod ++@COND_i386_coreboot_TRUE@am__append_2298 = morse.marker ++@COND_i386_multiboot_TRUE@am__append_2299 = morse.module ++@COND_i386_multiboot_TRUE@am__append_2300 = morse.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2301 = ++@COND_i386_multiboot_TRUE@am__append_2302 = $(nodist_morse_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2303 = \ + @COND_i386_multiboot_TRUE@ $(nodist_morse_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ morse.marker +-@COND_i386_multiboot_TRUE@am__append_2311 = morse.mod +-@COND_i386_multiboot_TRUE@am__append_2312 = morse.marker +-@COND_i386_ieee1275_TRUE@am__append_2313 = morse.module +-@COND_i386_ieee1275_TRUE@am__append_2314 = morse.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2315 = +-@COND_i386_ieee1275_TRUE@am__append_2316 = $(nodist_morse_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2317 = \ ++@COND_i386_multiboot_TRUE@am__append_2304 = morse.mod ++@COND_i386_multiboot_TRUE@am__append_2305 = morse.marker ++@COND_i386_ieee1275_TRUE@am__append_2306 = morse.module ++@COND_i386_ieee1275_TRUE@am__append_2307 = morse.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2308 = ++@COND_i386_ieee1275_TRUE@am__append_2309 = $(nodist_morse_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2310 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_morse_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ morse.marker +-@COND_i386_ieee1275_TRUE@am__append_2318 = morse.mod +-@COND_i386_ieee1275_TRUE@am__append_2319 = morse.marker +-@COND_x86_64_efi_TRUE@am__append_2320 = morse.module +-@COND_x86_64_efi_TRUE@am__append_2321 = morse.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2322 = +-@COND_x86_64_efi_TRUE@am__append_2323 = $(nodist_morse_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2324 = \ ++@COND_i386_ieee1275_TRUE@am__append_2311 = morse.mod ++@COND_i386_ieee1275_TRUE@am__append_2312 = morse.marker ++@COND_x86_64_efi_TRUE@am__append_2313 = morse.module ++@COND_x86_64_efi_TRUE@am__append_2314 = morse.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2315 = ++@COND_x86_64_efi_TRUE@am__append_2316 = $(nodist_morse_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2317 = \ + @COND_x86_64_efi_TRUE@ $(nodist_morse_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ morse.marker +-@COND_x86_64_efi_TRUE@am__append_2325 = morse.mod +-@COND_x86_64_efi_TRUE@am__append_2326 = morse.marker +-@COND_i386_pc_TRUE@am__append_2327 = setpci.module +-@COND_i386_pc_TRUE@am__append_2328 = setpci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2318 = morse.mod ++@COND_x86_64_efi_TRUE@am__append_2319 = morse.marker ++@COND_i386_pc_TRUE@am__append_2320 = setpci.module ++@COND_i386_pc_TRUE@am__append_2321 = setpci.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@setpci_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2329 = +-@COND_i386_pc_TRUE@am__append_2330 = $(nodist_setpci_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2331 = $(nodist_setpci_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2322 = ++@COND_i386_pc_TRUE@am__append_2323 = $(nodist_setpci_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2324 = $(nodist_setpci_module_SOURCES) \ + @COND_i386_pc_TRUE@ setpci.marker +-@COND_i386_pc_TRUE@am__append_2332 = setpci.mod +-@COND_i386_pc_TRUE@am__append_2333 = setpci.marker +-@COND_i386_efi_TRUE@am__append_2334 = setpci.module +-@COND_i386_efi_TRUE@am__append_2335 = setpci.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2336 = +-@COND_i386_efi_TRUE@am__append_2337 = $(nodist_setpci_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2338 = $(nodist_setpci_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2325 = setpci.mod ++@COND_i386_pc_TRUE@am__append_2326 = setpci.marker ++@COND_i386_efi_TRUE@am__append_2327 = setpci.module ++@COND_i386_efi_TRUE@am__append_2328 = setpci.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2329 = ++@COND_i386_efi_TRUE@am__append_2330 = $(nodist_setpci_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2331 = $(nodist_setpci_module_SOURCES) \ + @COND_i386_efi_TRUE@ setpci.marker +-@COND_i386_efi_TRUE@am__append_2339 = setpci.mod +-@COND_i386_efi_TRUE@am__append_2340 = setpci.marker +-@COND_i386_qemu_TRUE@am__append_2341 = setpci.module +-@COND_i386_qemu_TRUE@am__append_2342 = setpci.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2343 = +-@COND_i386_qemu_TRUE@am__append_2344 = $(nodist_setpci_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2345 = \ ++@COND_i386_efi_TRUE@am__append_2332 = setpci.mod ++@COND_i386_efi_TRUE@am__append_2333 = setpci.marker ++@COND_i386_qemu_TRUE@am__append_2334 = setpci.module ++@COND_i386_qemu_TRUE@am__append_2335 = setpci.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2336 = ++@COND_i386_qemu_TRUE@am__append_2337 = $(nodist_setpci_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2338 = \ + @COND_i386_qemu_TRUE@ $(nodist_setpci_module_SOURCES) \ + @COND_i386_qemu_TRUE@ setpci.marker +-@COND_i386_qemu_TRUE@am__append_2346 = setpci.mod +-@COND_i386_qemu_TRUE@am__append_2347 = setpci.marker +-@COND_i386_coreboot_TRUE@am__append_2348 = setpci.module +-@COND_i386_coreboot_TRUE@am__append_2349 = setpci.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2350 = +-@COND_i386_coreboot_TRUE@am__append_2351 = $(nodist_setpci_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2352 = \ ++@COND_i386_qemu_TRUE@am__append_2339 = setpci.mod ++@COND_i386_qemu_TRUE@am__append_2340 = setpci.marker ++@COND_i386_coreboot_TRUE@am__append_2341 = setpci.module ++@COND_i386_coreboot_TRUE@am__append_2342 = setpci.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2343 = ++@COND_i386_coreboot_TRUE@am__append_2344 = $(nodist_setpci_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2345 = \ + @COND_i386_coreboot_TRUE@ $(nodist_setpci_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ setpci.marker +-@COND_i386_coreboot_TRUE@am__append_2353 = setpci.mod +-@COND_i386_coreboot_TRUE@am__append_2354 = setpci.marker +-@COND_i386_multiboot_TRUE@am__append_2355 = setpci.module +-@COND_i386_multiboot_TRUE@am__append_2356 = setpci.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2357 = +-@COND_i386_multiboot_TRUE@am__append_2358 = $(nodist_setpci_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2359 = \ ++@COND_i386_coreboot_TRUE@am__append_2346 = setpci.mod ++@COND_i386_coreboot_TRUE@am__append_2347 = setpci.marker ++@COND_i386_multiboot_TRUE@am__append_2348 = setpci.module ++@COND_i386_multiboot_TRUE@am__append_2349 = setpci.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2350 = ++@COND_i386_multiboot_TRUE@am__append_2351 = $(nodist_setpci_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2352 = \ + @COND_i386_multiboot_TRUE@ $(nodist_setpci_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ setpci.marker +-@COND_i386_multiboot_TRUE@am__append_2360 = setpci.mod +-@COND_i386_multiboot_TRUE@am__append_2361 = setpci.marker +-@COND_i386_ieee1275_TRUE@am__append_2362 = setpci.module +-@COND_i386_ieee1275_TRUE@am__append_2363 = setpci.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2364 = +-@COND_i386_ieee1275_TRUE@am__append_2365 = $(nodist_setpci_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2366 = \ ++@COND_i386_multiboot_TRUE@am__append_2353 = setpci.mod ++@COND_i386_multiboot_TRUE@am__append_2354 = setpci.marker ++@COND_i386_ieee1275_TRUE@am__append_2355 = setpci.module ++@COND_i386_ieee1275_TRUE@am__append_2356 = setpci.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2357 = ++@COND_i386_ieee1275_TRUE@am__append_2358 = $(nodist_setpci_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2359 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_setpci_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ setpci.marker +-@COND_i386_ieee1275_TRUE@am__append_2367 = setpci.mod +-@COND_i386_ieee1275_TRUE@am__append_2368 = setpci.marker +-@COND_x86_64_efi_TRUE@am__append_2369 = setpci.module +-@COND_x86_64_efi_TRUE@am__append_2370 = setpci.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2371 = +-@COND_x86_64_efi_TRUE@am__append_2372 = $(nodist_setpci_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2373 = \ ++@COND_i386_ieee1275_TRUE@am__append_2360 = setpci.mod ++@COND_i386_ieee1275_TRUE@am__append_2361 = setpci.marker ++@COND_x86_64_efi_TRUE@am__append_2362 = setpci.module ++@COND_x86_64_efi_TRUE@am__append_2363 = setpci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2364 = ++@COND_x86_64_efi_TRUE@am__append_2365 = $(nodist_setpci_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2366 = \ + @COND_x86_64_efi_TRUE@ $(nodist_setpci_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ setpci.marker +-@COND_x86_64_efi_TRUE@am__append_2374 = setpci.mod +-@COND_x86_64_efi_TRUE@am__append_2375 = setpci.marker +-@COND_mips_loongson_TRUE@am__append_2376 = setpci.module +-@COND_mips_loongson_TRUE@am__append_2377 = setpci.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2378 = +-@COND_mips_loongson_TRUE@am__append_2379 = $(nodist_setpci_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2380 = \ ++@COND_x86_64_efi_TRUE@am__append_2367 = setpci.mod ++@COND_x86_64_efi_TRUE@am__append_2368 = setpci.marker ++@COND_mips_loongson_TRUE@am__append_2369 = setpci.module ++@COND_mips_loongson_TRUE@am__append_2370 = setpci.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2371 = ++@COND_mips_loongson_TRUE@am__append_2372 = $(nodist_setpci_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2373 = \ + @COND_mips_loongson_TRUE@ $(nodist_setpci_module_SOURCES) \ + @COND_mips_loongson_TRUE@ setpci.marker +-@COND_mips_loongson_TRUE@am__append_2381 = setpci.mod +-@COND_mips_loongson_TRUE@am__append_2382 = setpci.marker +-@COND_i386_pc_TRUE@am__append_2383 = pcidump.module +-@COND_i386_pc_TRUE@am__append_2384 = pcidump.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2374 = setpci.mod ++@COND_mips_loongson_TRUE@am__append_2375 = setpci.marker ++@COND_i386_pc_TRUE@am__append_2376 = pcidump.module ++@COND_i386_pc_TRUE@am__append_2377 = pcidump.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@pcidump_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2385 = +-@COND_i386_pc_TRUE@am__append_2386 = $(nodist_pcidump_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2387 = $(nodist_pcidump_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2378 = ++@COND_i386_pc_TRUE@am__append_2379 = $(nodist_pcidump_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2380 = $(nodist_pcidump_module_SOURCES) \ + @COND_i386_pc_TRUE@ pcidump.marker +-@COND_i386_pc_TRUE@am__append_2388 = pcidump.mod +-@COND_i386_pc_TRUE@am__append_2389 = pcidump.marker +-@COND_i386_efi_TRUE@am__append_2390 = pcidump.module +-@COND_i386_efi_TRUE@am__append_2391 = pcidump.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2392 = +-@COND_i386_efi_TRUE@am__append_2393 = $(nodist_pcidump_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2394 = \ ++@COND_i386_pc_TRUE@am__append_2381 = pcidump.mod ++@COND_i386_pc_TRUE@am__append_2382 = pcidump.marker ++@COND_i386_efi_TRUE@am__append_2383 = pcidump.module ++@COND_i386_efi_TRUE@am__append_2384 = pcidump.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2385 = ++@COND_i386_efi_TRUE@am__append_2386 = $(nodist_pcidump_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2387 = \ + @COND_i386_efi_TRUE@ $(nodist_pcidump_module_SOURCES) \ + @COND_i386_efi_TRUE@ pcidump.marker +-@COND_i386_efi_TRUE@am__append_2395 = pcidump.mod +-@COND_i386_efi_TRUE@am__append_2396 = pcidump.marker +-@COND_i386_qemu_TRUE@am__append_2397 = pcidump.module +-@COND_i386_qemu_TRUE@am__append_2398 = pcidump.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2399 = +-@COND_i386_qemu_TRUE@am__append_2400 = $(nodist_pcidump_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2401 = \ ++@COND_i386_efi_TRUE@am__append_2388 = pcidump.mod ++@COND_i386_efi_TRUE@am__append_2389 = pcidump.marker ++@COND_i386_qemu_TRUE@am__append_2390 = pcidump.module ++@COND_i386_qemu_TRUE@am__append_2391 = pcidump.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2392 = ++@COND_i386_qemu_TRUE@am__append_2393 = $(nodist_pcidump_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2394 = \ + @COND_i386_qemu_TRUE@ $(nodist_pcidump_module_SOURCES) \ + @COND_i386_qemu_TRUE@ pcidump.marker +-@COND_i386_qemu_TRUE@am__append_2402 = pcidump.mod +-@COND_i386_qemu_TRUE@am__append_2403 = pcidump.marker +-@COND_i386_coreboot_TRUE@am__append_2404 = pcidump.module +-@COND_i386_coreboot_TRUE@am__append_2405 = pcidump.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2406 = +-@COND_i386_coreboot_TRUE@am__append_2407 = $(nodist_pcidump_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2408 = \ ++@COND_i386_qemu_TRUE@am__append_2395 = pcidump.mod ++@COND_i386_qemu_TRUE@am__append_2396 = pcidump.marker ++@COND_i386_coreboot_TRUE@am__append_2397 = pcidump.module ++@COND_i386_coreboot_TRUE@am__append_2398 = pcidump.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2399 = ++@COND_i386_coreboot_TRUE@am__append_2400 = $(nodist_pcidump_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2401 = \ + @COND_i386_coreboot_TRUE@ $(nodist_pcidump_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ pcidump.marker +-@COND_i386_coreboot_TRUE@am__append_2409 = pcidump.mod +-@COND_i386_coreboot_TRUE@am__append_2410 = pcidump.marker +-@COND_i386_multiboot_TRUE@am__append_2411 = pcidump.module +-@COND_i386_multiboot_TRUE@am__append_2412 = pcidump.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2413 = +-@COND_i386_multiboot_TRUE@am__append_2414 = $(nodist_pcidump_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2415 = \ ++@COND_i386_coreboot_TRUE@am__append_2402 = pcidump.mod ++@COND_i386_coreboot_TRUE@am__append_2403 = pcidump.marker ++@COND_i386_multiboot_TRUE@am__append_2404 = pcidump.module ++@COND_i386_multiboot_TRUE@am__append_2405 = pcidump.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2406 = ++@COND_i386_multiboot_TRUE@am__append_2407 = $(nodist_pcidump_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2408 = \ + @COND_i386_multiboot_TRUE@ $(nodist_pcidump_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ pcidump.marker +-@COND_i386_multiboot_TRUE@am__append_2416 = pcidump.mod +-@COND_i386_multiboot_TRUE@am__append_2417 = pcidump.marker +-@COND_i386_ieee1275_TRUE@am__append_2418 = pcidump.module +-@COND_i386_ieee1275_TRUE@am__append_2419 = pcidump.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2420 = +-@COND_i386_ieee1275_TRUE@am__append_2421 = $(nodist_pcidump_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2422 = \ ++@COND_i386_multiboot_TRUE@am__append_2409 = pcidump.mod ++@COND_i386_multiboot_TRUE@am__append_2410 = pcidump.marker ++@COND_i386_ieee1275_TRUE@am__append_2411 = pcidump.module ++@COND_i386_ieee1275_TRUE@am__append_2412 = pcidump.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2413 = ++@COND_i386_ieee1275_TRUE@am__append_2414 = $(nodist_pcidump_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2415 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_pcidump_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ pcidump.marker +-@COND_i386_ieee1275_TRUE@am__append_2423 = pcidump.mod +-@COND_i386_ieee1275_TRUE@am__append_2424 = pcidump.marker +-@COND_x86_64_efi_TRUE@am__append_2425 = pcidump.module +-@COND_x86_64_efi_TRUE@am__append_2426 = pcidump.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2427 = +-@COND_x86_64_efi_TRUE@am__append_2428 = $(nodist_pcidump_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2429 = \ ++@COND_i386_ieee1275_TRUE@am__append_2416 = pcidump.mod ++@COND_i386_ieee1275_TRUE@am__append_2417 = pcidump.marker ++@COND_x86_64_efi_TRUE@am__append_2418 = pcidump.module ++@COND_x86_64_efi_TRUE@am__append_2419 = pcidump.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2420 = ++@COND_x86_64_efi_TRUE@am__append_2421 = $(nodist_pcidump_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2422 = \ + @COND_x86_64_efi_TRUE@ $(nodist_pcidump_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ pcidump.marker +-@COND_x86_64_efi_TRUE@am__append_2430 = pcidump.mod +-@COND_x86_64_efi_TRUE@am__append_2431 = pcidump.marker +-@COND_mips_loongson_TRUE@am__append_2432 = pcidump.module +-@COND_mips_loongson_TRUE@am__append_2433 = pcidump.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2434 = +-@COND_mips_loongson_TRUE@am__append_2435 = $(nodist_pcidump_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2436 = \ ++@COND_x86_64_efi_TRUE@am__append_2423 = pcidump.mod ++@COND_x86_64_efi_TRUE@am__append_2424 = pcidump.marker ++@COND_mips_loongson_TRUE@am__append_2425 = pcidump.module ++@COND_mips_loongson_TRUE@am__append_2426 = pcidump.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2427 = ++@COND_mips_loongson_TRUE@am__append_2428 = $(nodist_pcidump_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2429 = \ + @COND_mips_loongson_TRUE@ $(nodist_pcidump_module_SOURCES) \ + @COND_mips_loongson_TRUE@ pcidump.marker +-@COND_mips_loongson_TRUE@am__append_2437 = pcidump.mod +-@COND_mips_loongson_TRUE@am__append_2438 = pcidump.marker +-@COND_i386_ieee1275_TRUE@am__append_2439 = suspend.module +-@COND_i386_ieee1275_TRUE@am__append_2440 = suspend.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2430 = pcidump.mod ++@COND_mips_loongson_TRUE@am__append_2431 = pcidump.marker ++@COND_i386_ieee1275_TRUE@am__append_2432 = suspend.module ++@COND_i386_ieee1275_TRUE@am__append_2433 = suspend.module$(EXEEXT) + @COND_i386_ieee1275_FALSE@@COND_powerpc_ieee1275_FALSE@suspend_module_DEPENDENCIES = +-@COND_i386_ieee1275_TRUE@am__append_2441 = +-@COND_i386_ieee1275_TRUE@am__append_2442 = $(nodist_suspend_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2443 = \ ++@COND_i386_ieee1275_TRUE@am__append_2434 = ++@COND_i386_ieee1275_TRUE@am__append_2435 = $(nodist_suspend_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2436 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_suspend_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ suspend.marker +-@COND_i386_ieee1275_TRUE@am__append_2444 = suspend.mod +-@COND_i386_ieee1275_TRUE@am__append_2445 = suspend.marker +-@COND_powerpc_ieee1275_TRUE@am__append_2446 = suspend.module \ ++@COND_i386_ieee1275_TRUE@am__append_2437 = suspend.mod ++@COND_i386_ieee1275_TRUE@am__append_2438 = suspend.marker ++@COND_powerpc_ieee1275_TRUE@am__append_2439 = suspend.module \ + @COND_powerpc_ieee1275_TRUE@ escc.module +-@COND_powerpc_ieee1275_TRUE@am__append_2447 = suspend.module$(EXEEXT) \ ++@COND_powerpc_ieee1275_TRUE@am__append_2440 = suspend.module$(EXEEXT) \ + @COND_powerpc_ieee1275_TRUE@ escc.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_2448 = +-@COND_powerpc_ieee1275_TRUE@am__append_2449 = \ ++@COND_powerpc_ieee1275_TRUE@am__append_2441 = ++@COND_powerpc_ieee1275_TRUE@am__append_2442 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_suspend_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_escc_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_2450 = \ ++@COND_powerpc_ieee1275_TRUE@am__append_2443 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_suspend_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ suspend.marker \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_escc_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ escc.marker +-@COND_powerpc_ieee1275_TRUE@am__append_2451 = suspend.mod escc.mod +-@COND_powerpc_ieee1275_TRUE@am__append_2452 = suspend.marker \ ++@COND_powerpc_ieee1275_TRUE@am__append_2444 = suspend.mod escc.mod ++@COND_powerpc_ieee1275_TRUE@am__append_2445 = suspend.marker \ + @COND_powerpc_ieee1275_TRUE@ escc.marker + @COND_powerpc_ieee1275_FALSE@escc_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2453 = usbtest.module +-@COND_i386_pc_TRUE@am__append_2454 = usbtest.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_2446 = usbtest.module ++@COND_i386_pc_TRUE@am__append_2447 = usbtest.module$(EXEEXT) + @COND_arm_coreboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@usbtest_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2455 = +-@COND_i386_pc_TRUE@am__append_2456 = $(nodist_usbtest_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2457 = $(nodist_usbtest_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2448 = ++@COND_i386_pc_TRUE@am__append_2449 = $(nodist_usbtest_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2450 = $(nodist_usbtest_module_SOURCES) \ + @COND_i386_pc_TRUE@ usbtest.marker +-@COND_i386_pc_TRUE@am__append_2458 = usbtest.mod +-@COND_i386_pc_TRUE@am__append_2459 = usbtest.marker +-@COND_i386_efi_TRUE@am__append_2460 = usbtest.module +-@COND_i386_efi_TRUE@am__append_2461 = usbtest.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2462 = +-@COND_i386_efi_TRUE@am__append_2463 = $(nodist_usbtest_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2464 = \ ++@COND_i386_pc_TRUE@am__append_2451 = usbtest.mod ++@COND_i386_pc_TRUE@am__append_2452 = usbtest.marker ++@COND_i386_efi_TRUE@am__append_2453 = usbtest.module ++@COND_i386_efi_TRUE@am__append_2454 = usbtest.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2455 = ++@COND_i386_efi_TRUE@am__append_2456 = $(nodist_usbtest_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2457 = \ + @COND_i386_efi_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_i386_efi_TRUE@ usbtest.marker +-@COND_i386_efi_TRUE@am__append_2465 = usbtest.mod +-@COND_i386_efi_TRUE@am__append_2466 = usbtest.marker +-@COND_i386_qemu_TRUE@am__append_2467 = usbtest.module +-@COND_i386_qemu_TRUE@am__append_2468 = usbtest.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2469 = +-@COND_i386_qemu_TRUE@am__append_2470 = $(nodist_usbtest_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2471 = \ ++@COND_i386_efi_TRUE@am__append_2458 = usbtest.mod ++@COND_i386_efi_TRUE@am__append_2459 = usbtest.marker ++@COND_i386_qemu_TRUE@am__append_2460 = usbtest.module ++@COND_i386_qemu_TRUE@am__append_2461 = usbtest.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2462 = ++@COND_i386_qemu_TRUE@am__append_2463 = $(nodist_usbtest_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2464 = \ + @COND_i386_qemu_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_i386_qemu_TRUE@ usbtest.marker +-@COND_i386_qemu_TRUE@am__append_2472 = usbtest.mod +-@COND_i386_qemu_TRUE@am__append_2473 = usbtest.marker +-@COND_i386_coreboot_TRUE@am__append_2474 = usbtest.module +-@COND_i386_coreboot_TRUE@am__append_2475 = usbtest.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2476 = +-@COND_i386_coreboot_TRUE@am__append_2477 = $(nodist_usbtest_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2478 = \ ++@COND_i386_qemu_TRUE@am__append_2465 = usbtest.mod ++@COND_i386_qemu_TRUE@am__append_2466 = usbtest.marker ++@COND_i386_coreboot_TRUE@am__append_2467 = usbtest.module ++@COND_i386_coreboot_TRUE@am__append_2468 = usbtest.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2469 = ++@COND_i386_coreboot_TRUE@am__append_2470 = $(nodist_usbtest_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2471 = \ + @COND_i386_coreboot_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ usbtest.marker +-@COND_i386_coreboot_TRUE@am__append_2479 = usbtest.mod +-@COND_i386_coreboot_TRUE@am__append_2480 = usbtest.marker +-@COND_i386_multiboot_TRUE@am__append_2481 = usbtest.module +-@COND_i386_multiboot_TRUE@am__append_2482 = usbtest.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2483 = +-@COND_i386_multiboot_TRUE@am__append_2484 = $(nodist_usbtest_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2485 = \ ++@COND_i386_coreboot_TRUE@am__append_2472 = usbtest.mod ++@COND_i386_coreboot_TRUE@am__append_2473 = usbtest.marker ++@COND_i386_multiboot_TRUE@am__append_2474 = usbtest.module ++@COND_i386_multiboot_TRUE@am__append_2475 = usbtest.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2476 = ++@COND_i386_multiboot_TRUE@am__append_2477 = $(nodist_usbtest_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2478 = \ + @COND_i386_multiboot_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ usbtest.marker +-@COND_i386_multiboot_TRUE@am__append_2486 = usbtest.mod +-@COND_i386_multiboot_TRUE@am__append_2487 = usbtest.marker +-@COND_i386_ieee1275_TRUE@am__append_2488 = usbtest.module +-@COND_i386_ieee1275_TRUE@am__append_2489 = usbtest.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2490 = +-@COND_i386_ieee1275_TRUE@am__append_2491 = $(nodist_usbtest_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2492 = \ ++@COND_i386_multiboot_TRUE@am__append_2479 = usbtest.mod ++@COND_i386_multiboot_TRUE@am__append_2480 = usbtest.marker ++@COND_i386_ieee1275_TRUE@am__append_2481 = usbtest.module ++@COND_i386_ieee1275_TRUE@am__append_2482 = usbtest.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2483 = ++@COND_i386_ieee1275_TRUE@am__append_2484 = $(nodist_usbtest_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2485 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ usbtest.marker +-@COND_i386_ieee1275_TRUE@am__append_2493 = usbtest.mod +-@COND_i386_ieee1275_TRUE@am__append_2494 = usbtest.marker +-@COND_x86_64_efi_TRUE@am__append_2495 = usbtest.module +-@COND_x86_64_efi_TRUE@am__append_2496 = usbtest.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2497 = +-@COND_x86_64_efi_TRUE@am__append_2498 = $(nodist_usbtest_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2499 = \ ++@COND_i386_ieee1275_TRUE@am__append_2486 = usbtest.mod ++@COND_i386_ieee1275_TRUE@am__append_2487 = usbtest.marker ++@COND_x86_64_efi_TRUE@am__append_2488 = usbtest.module ++@COND_x86_64_efi_TRUE@am__append_2489 = usbtest.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2490 = ++@COND_x86_64_efi_TRUE@am__append_2491 = $(nodist_usbtest_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2492 = \ + @COND_x86_64_efi_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ usbtest.marker +-@COND_x86_64_efi_TRUE@am__append_2500 = usbtest.mod +-@COND_x86_64_efi_TRUE@am__append_2501 = usbtest.marker +-@COND_mips_loongson_TRUE@am__append_2502 = usbtest.module +-@COND_mips_loongson_TRUE@am__append_2503 = usbtest.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2504 = +-@COND_mips_loongson_TRUE@am__append_2505 = $(nodist_usbtest_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2506 = \ ++@COND_x86_64_efi_TRUE@am__append_2493 = usbtest.mod ++@COND_x86_64_efi_TRUE@am__append_2494 = usbtest.marker ++@COND_mips_loongson_TRUE@am__append_2495 = usbtest.module ++@COND_mips_loongson_TRUE@am__append_2496 = usbtest.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2497 = ++@COND_mips_loongson_TRUE@am__append_2498 = $(nodist_usbtest_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2499 = \ + @COND_mips_loongson_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_mips_loongson_TRUE@ usbtest.marker +-@COND_mips_loongson_TRUE@am__append_2507 = usbtest.mod +-@COND_mips_loongson_TRUE@am__append_2508 = usbtest.marker +-@COND_arm_coreboot_TRUE@am__append_2509 = usbtest.module +-@COND_arm_coreboot_TRUE@am__append_2510 = usbtest.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__append_2511 = +-@COND_arm_coreboot_TRUE@am__append_2512 = $(nodist_usbtest_module_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_2513 = \ ++@COND_mips_loongson_TRUE@am__append_2500 = usbtest.mod ++@COND_mips_loongson_TRUE@am__append_2501 = usbtest.marker ++@COND_arm_coreboot_TRUE@am__append_2502 = usbtest.module ++@COND_arm_coreboot_TRUE@am__append_2503 = usbtest.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_2504 = ++@COND_arm_coreboot_TRUE@am__append_2505 = $(nodist_usbtest_module_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_2506 = \ + @COND_arm_coreboot_TRUE@ $(nodist_usbtest_module_SOURCES) \ + @COND_arm_coreboot_TRUE@ usbtest.marker +-@COND_arm_coreboot_TRUE@am__append_2514 = usbtest.mod +-@COND_arm_coreboot_TRUE@am__append_2515 = usbtest.marker +-@COND_i386_pc_TRUE@am__append_2516 = ata.module +-@COND_i386_pc_TRUE@am__append_2517 = ata.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_2507 = usbtest.mod ++@COND_arm_coreboot_TRUE@am__append_2508 = usbtest.marker ++@COND_i386_pc_TRUE@am__append_2509 = ata.module ++@COND_i386_pc_TRUE@am__append_2510 = ata.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@ata_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2518 = +-@COND_i386_pc_TRUE@am__append_2519 = $(nodist_ata_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2520 = $(nodist_ata_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2511 = ++@COND_i386_pc_TRUE@am__append_2512 = $(nodist_ata_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2513 = $(nodist_ata_module_SOURCES) \ + @COND_i386_pc_TRUE@ ata.marker +-@COND_i386_pc_TRUE@am__append_2521 = ata.mod +-@COND_i386_pc_TRUE@am__append_2522 = ata.marker +-@COND_i386_efi_TRUE@am__append_2523 = ata.module +-@COND_i386_efi_TRUE@am__append_2524 = ata.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2525 = +-@COND_i386_efi_TRUE@am__append_2526 = $(nodist_ata_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2527 = $(nodist_ata_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2514 = ata.mod ++@COND_i386_pc_TRUE@am__append_2515 = ata.marker ++@COND_i386_efi_TRUE@am__append_2516 = ata.module ++@COND_i386_efi_TRUE@am__append_2517 = ata.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2518 = ++@COND_i386_efi_TRUE@am__append_2519 = $(nodist_ata_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2520 = $(nodist_ata_module_SOURCES) \ + @COND_i386_efi_TRUE@ ata.marker +-@COND_i386_efi_TRUE@am__append_2528 = ata.mod +-@COND_i386_efi_TRUE@am__append_2529 = ata.marker +-@COND_i386_qemu_TRUE@am__append_2530 = ata.module +-@COND_i386_qemu_TRUE@am__append_2531 = ata.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2532 = +-@COND_i386_qemu_TRUE@am__append_2533 = $(nodist_ata_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2534 = $(nodist_ata_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2521 = ata.mod ++@COND_i386_efi_TRUE@am__append_2522 = ata.marker ++@COND_i386_qemu_TRUE@am__append_2523 = ata.module ++@COND_i386_qemu_TRUE@am__append_2524 = ata.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2525 = ++@COND_i386_qemu_TRUE@am__append_2526 = $(nodist_ata_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2527 = $(nodist_ata_module_SOURCES) \ + @COND_i386_qemu_TRUE@ ata.marker +-@COND_i386_qemu_TRUE@am__append_2535 = ata.mod +-@COND_i386_qemu_TRUE@am__append_2536 = ata.marker +-@COND_i386_coreboot_TRUE@am__append_2537 = ata.module +-@COND_i386_coreboot_TRUE@am__append_2538 = ata.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2539 = +-@COND_i386_coreboot_TRUE@am__append_2540 = $(nodist_ata_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2541 = \ ++@COND_i386_qemu_TRUE@am__append_2528 = ata.mod ++@COND_i386_qemu_TRUE@am__append_2529 = ata.marker ++@COND_i386_coreboot_TRUE@am__append_2530 = ata.module ++@COND_i386_coreboot_TRUE@am__append_2531 = ata.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2532 = ++@COND_i386_coreboot_TRUE@am__append_2533 = $(nodist_ata_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2534 = \ + @COND_i386_coreboot_TRUE@ $(nodist_ata_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ ata.marker +-@COND_i386_coreboot_TRUE@am__append_2542 = ata.mod +-@COND_i386_coreboot_TRUE@am__append_2543 = ata.marker +-@COND_i386_multiboot_TRUE@am__append_2544 = ata.module +-@COND_i386_multiboot_TRUE@am__append_2545 = ata.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2546 = +-@COND_i386_multiboot_TRUE@am__append_2547 = $(nodist_ata_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2548 = \ ++@COND_i386_coreboot_TRUE@am__append_2535 = ata.mod ++@COND_i386_coreboot_TRUE@am__append_2536 = ata.marker ++@COND_i386_multiboot_TRUE@am__append_2537 = ata.module ++@COND_i386_multiboot_TRUE@am__append_2538 = ata.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2539 = ++@COND_i386_multiboot_TRUE@am__append_2540 = $(nodist_ata_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2541 = \ + @COND_i386_multiboot_TRUE@ $(nodist_ata_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ ata.marker +-@COND_i386_multiboot_TRUE@am__append_2549 = ata.mod +-@COND_i386_multiboot_TRUE@am__append_2550 = ata.marker +-@COND_i386_ieee1275_TRUE@am__append_2551 = ata.module +-@COND_i386_ieee1275_TRUE@am__append_2552 = ata.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2553 = +-@COND_i386_ieee1275_TRUE@am__append_2554 = $(nodist_ata_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2555 = \ ++@COND_i386_multiboot_TRUE@am__append_2542 = ata.mod ++@COND_i386_multiboot_TRUE@am__append_2543 = ata.marker ++@COND_i386_ieee1275_TRUE@am__append_2544 = ata.module ++@COND_i386_ieee1275_TRUE@am__append_2545 = ata.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2546 = ++@COND_i386_ieee1275_TRUE@am__append_2547 = $(nodist_ata_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2548 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_ata_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ ata.marker +-@COND_i386_ieee1275_TRUE@am__append_2556 = ata.mod +-@COND_i386_ieee1275_TRUE@am__append_2557 = ata.marker +-@COND_x86_64_efi_TRUE@am__append_2558 = ata.module +-@COND_x86_64_efi_TRUE@am__append_2559 = ata.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2560 = +-@COND_x86_64_efi_TRUE@am__append_2561 = $(nodist_ata_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2562 = $(nodist_ata_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_2549 = ata.mod ++@COND_i386_ieee1275_TRUE@am__append_2550 = ata.marker ++@COND_x86_64_efi_TRUE@am__append_2551 = ata.module ++@COND_x86_64_efi_TRUE@am__append_2552 = ata.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2553 = ++@COND_x86_64_efi_TRUE@am__append_2554 = $(nodist_ata_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2555 = $(nodist_ata_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ ata.marker +-@COND_x86_64_efi_TRUE@am__append_2563 = ata.mod +-@COND_x86_64_efi_TRUE@am__append_2564 = ata.marker +-@COND_mips_loongson_TRUE@am__append_2565 = ata.module +-@COND_mips_loongson_TRUE@am__append_2566 = ata.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2567 = +-@COND_mips_loongson_TRUE@am__append_2568 = $(nodist_ata_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2569 = \ ++@COND_x86_64_efi_TRUE@am__append_2556 = ata.mod ++@COND_x86_64_efi_TRUE@am__append_2557 = ata.marker ++@COND_mips_loongson_TRUE@am__append_2558 = ata.module ++@COND_mips_loongson_TRUE@am__append_2559 = ata.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2560 = ++@COND_mips_loongson_TRUE@am__append_2561 = $(nodist_ata_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2562 = \ + @COND_mips_loongson_TRUE@ $(nodist_ata_module_SOURCES) \ + @COND_mips_loongson_TRUE@ ata.marker +-@COND_mips_loongson_TRUE@am__append_2570 = ata.mod +-@COND_mips_loongson_TRUE@am__append_2571 = ata.marker +-@COND_mips_qemu_mips_TRUE@am__append_2572 = ata.module +-@COND_mips_qemu_mips_TRUE@am__append_2573 = ata.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_2574 = +-@COND_mips_qemu_mips_TRUE@am__append_2575 = $(nodist_ata_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_2576 = \ ++@COND_mips_loongson_TRUE@am__append_2563 = ata.mod ++@COND_mips_loongson_TRUE@am__append_2564 = ata.marker ++@COND_mips_qemu_mips_TRUE@am__append_2565 = ata.module ++@COND_mips_qemu_mips_TRUE@am__append_2566 = ata.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_2567 = ++@COND_mips_qemu_mips_TRUE@am__append_2568 = $(nodist_ata_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_2569 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_ata_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ ata.marker +-@COND_mips_qemu_mips_TRUE@am__append_2577 = ata.mod +-@COND_mips_qemu_mips_TRUE@am__append_2578 = ata.marker +-@COND_i386_pc_TRUE@am__append_2579 = ahci.module +-@COND_i386_pc_TRUE@am__append_2580 = ahci.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_2570 = ata.mod ++@COND_mips_qemu_mips_TRUE@am__append_2571 = ata.marker ++@COND_i386_pc_TRUE@am__append_2572 = ahci.module ++@COND_i386_pc_TRUE@am__append_2573 = ahci.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@ahci_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2581 = +-@COND_i386_pc_TRUE@am__append_2582 = $(nodist_ahci_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2583 = $(nodist_ahci_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2574 = ++@COND_i386_pc_TRUE@am__append_2575 = $(nodist_ahci_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2576 = $(nodist_ahci_module_SOURCES) \ + @COND_i386_pc_TRUE@ ahci.marker +-@COND_i386_pc_TRUE@am__append_2584 = ahci.mod +-@COND_i386_pc_TRUE@am__append_2585 = ahci.marker +-@COND_i386_efi_TRUE@am__append_2586 = ahci.module +-@COND_i386_efi_TRUE@am__append_2587 = ahci.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2588 = +-@COND_i386_efi_TRUE@am__append_2589 = $(nodist_ahci_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2590 = $(nodist_ahci_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2577 = ahci.mod ++@COND_i386_pc_TRUE@am__append_2578 = ahci.marker ++@COND_i386_efi_TRUE@am__append_2579 = ahci.module ++@COND_i386_efi_TRUE@am__append_2580 = ahci.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2581 = ++@COND_i386_efi_TRUE@am__append_2582 = $(nodist_ahci_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2583 = $(nodist_ahci_module_SOURCES) \ + @COND_i386_efi_TRUE@ ahci.marker +-@COND_i386_efi_TRUE@am__append_2591 = ahci.mod +-@COND_i386_efi_TRUE@am__append_2592 = ahci.marker +-@COND_i386_qemu_TRUE@am__append_2593 = ahci.module +-@COND_i386_qemu_TRUE@am__append_2594 = ahci.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2595 = +-@COND_i386_qemu_TRUE@am__append_2596 = $(nodist_ahci_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2597 = $(nodist_ahci_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2584 = ahci.mod ++@COND_i386_efi_TRUE@am__append_2585 = ahci.marker ++@COND_i386_qemu_TRUE@am__append_2586 = ahci.module ++@COND_i386_qemu_TRUE@am__append_2587 = ahci.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2588 = ++@COND_i386_qemu_TRUE@am__append_2589 = $(nodist_ahci_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2590 = $(nodist_ahci_module_SOURCES) \ + @COND_i386_qemu_TRUE@ ahci.marker +-@COND_i386_qemu_TRUE@am__append_2598 = ahci.mod +-@COND_i386_qemu_TRUE@am__append_2599 = ahci.marker +-@COND_i386_coreboot_TRUE@am__append_2600 = ahci.module +-@COND_i386_coreboot_TRUE@am__append_2601 = ahci.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2602 = +-@COND_i386_coreboot_TRUE@am__append_2603 = $(nodist_ahci_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2604 = \ ++@COND_i386_qemu_TRUE@am__append_2591 = ahci.mod ++@COND_i386_qemu_TRUE@am__append_2592 = ahci.marker ++@COND_i386_coreboot_TRUE@am__append_2593 = ahci.module ++@COND_i386_coreboot_TRUE@am__append_2594 = ahci.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2595 = ++@COND_i386_coreboot_TRUE@am__append_2596 = $(nodist_ahci_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2597 = \ + @COND_i386_coreboot_TRUE@ $(nodist_ahci_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ ahci.marker +-@COND_i386_coreboot_TRUE@am__append_2605 = ahci.mod +-@COND_i386_coreboot_TRUE@am__append_2606 = ahci.marker +-@COND_i386_multiboot_TRUE@am__append_2607 = ahci.module +-@COND_i386_multiboot_TRUE@am__append_2608 = ahci.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2609 = +-@COND_i386_multiboot_TRUE@am__append_2610 = $(nodist_ahci_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2611 = \ ++@COND_i386_coreboot_TRUE@am__append_2598 = ahci.mod ++@COND_i386_coreboot_TRUE@am__append_2599 = ahci.marker ++@COND_i386_multiboot_TRUE@am__append_2600 = ahci.module ++@COND_i386_multiboot_TRUE@am__append_2601 = ahci.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2602 = ++@COND_i386_multiboot_TRUE@am__append_2603 = $(nodist_ahci_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2604 = \ + @COND_i386_multiboot_TRUE@ $(nodist_ahci_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ ahci.marker +-@COND_i386_multiboot_TRUE@am__append_2612 = ahci.mod +-@COND_i386_multiboot_TRUE@am__append_2613 = ahci.marker +-@COND_i386_ieee1275_TRUE@am__append_2614 = ahci.module +-@COND_i386_ieee1275_TRUE@am__append_2615 = ahci.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2616 = +-@COND_i386_ieee1275_TRUE@am__append_2617 = $(nodist_ahci_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2618 = \ ++@COND_i386_multiboot_TRUE@am__append_2605 = ahci.mod ++@COND_i386_multiboot_TRUE@am__append_2606 = ahci.marker ++@COND_i386_ieee1275_TRUE@am__append_2607 = ahci.module ++@COND_i386_ieee1275_TRUE@am__append_2608 = ahci.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2609 = ++@COND_i386_ieee1275_TRUE@am__append_2610 = $(nodist_ahci_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2611 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_ahci_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ ahci.marker +-@COND_i386_ieee1275_TRUE@am__append_2619 = ahci.mod +-@COND_i386_ieee1275_TRUE@am__append_2620 = ahci.marker +-@COND_x86_64_efi_TRUE@am__append_2621 = ahci.module +-@COND_x86_64_efi_TRUE@am__append_2622 = ahci.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2623 = +-@COND_x86_64_efi_TRUE@am__append_2624 = $(nodist_ahci_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2625 = $(nodist_ahci_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_2612 = ahci.mod ++@COND_i386_ieee1275_TRUE@am__append_2613 = ahci.marker ++@COND_x86_64_efi_TRUE@am__append_2614 = ahci.module ++@COND_x86_64_efi_TRUE@am__append_2615 = ahci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2616 = ++@COND_x86_64_efi_TRUE@am__append_2617 = $(nodist_ahci_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2618 = $(nodist_ahci_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ ahci.marker +-@COND_x86_64_efi_TRUE@am__append_2626 = ahci.mod +-@COND_x86_64_efi_TRUE@am__append_2627 = ahci.marker +-@COND_mips_loongson_TRUE@am__append_2628 = ahci.module +-@COND_mips_loongson_TRUE@am__append_2629 = ahci.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2630 = +-@COND_mips_loongson_TRUE@am__append_2631 = $(nodist_ahci_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2632 = \ ++@COND_x86_64_efi_TRUE@am__append_2619 = ahci.mod ++@COND_x86_64_efi_TRUE@am__append_2620 = ahci.marker ++@COND_mips_loongson_TRUE@am__append_2621 = ahci.module ++@COND_mips_loongson_TRUE@am__append_2622 = ahci.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2623 = ++@COND_mips_loongson_TRUE@am__append_2624 = $(nodist_ahci_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2625 = \ + @COND_mips_loongson_TRUE@ $(nodist_ahci_module_SOURCES) \ + @COND_mips_loongson_TRUE@ ahci.marker +-@COND_mips_loongson_TRUE@am__append_2633 = ahci.mod +-@COND_mips_loongson_TRUE@am__append_2634 = ahci.marker +-@COND_i386_pc_TRUE@am__append_2635 = pata.module +-@COND_i386_pc_TRUE@am__append_2636 = pata.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2626 = ahci.mod ++@COND_mips_loongson_TRUE@am__append_2627 = ahci.marker ++@COND_i386_pc_TRUE@am__append_2628 = pata.module ++@COND_i386_pc_TRUE@am__append_2629 = pata.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@pata_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2637 = +-@COND_i386_pc_TRUE@am__append_2638 = $(nodist_pata_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2639 = $(nodist_pata_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2630 = ++@COND_i386_pc_TRUE@am__append_2631 = $(nodist_pata_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2632 = $(nodist_pata_module_SOURCES) \ + @COND_i386_pc_TRUE@ pata.marker +-@COND_i386_pc_TRUE@am__append_2640 = pata.mod +-@COND_i386_pc_TRUE@am__append_2641 = pata.marker +-@COND_i386_efi_TRUE@am__append_2642 = pata.module +-@COND_i386_efi_TRUE@am__append_2643 = pata.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2644 = +-@COND_i386_efi_TRUE@am__append_2645 = $(nodist_pata_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2646 = $(nodist_pata_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2633 = pata.mod ++@COND_i386_pc_TRUE@am__append_2634 = pata.marker ++@COND_i386_efi_TRUE@am__append_2635 = pata.module ++@COND_i386_efi_TRUE@am__append_2636 = pata.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2637 = ++@COND_i386_efi_TRUE@am__append_2638 = $(nodist_pata_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2639 = $(nodist_pata_module_SOURCES) \ + @COND_i386_efi_TRUE@ pata.marker +-@COND_i386_efi_TRUE@am__append_2647 = pata.mod +-@COND_i386_efi_TRUE@am__append_2648 = pata.marker +-@COND_i386_qemu_TRUE@am__append_2649 = pata.module +-@COND_i386_qemu_TRUE@am__append_2650 = pata.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2651 = +-@COND_i386_qemu_TRUE@am__append_2652 = $(nodist_pata_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2653 = $(nodist_pata_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2640 = pata.mod ++@COND_i386_efi_TRUE@am__append_2641 = pata.marker ++@COND_i386_qemu_TRUE@am__append_2642 = pata.module ++@COND_i386_qemu_TRUE@am__append_2643 = pata.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2644 = ++@COND_i386_qemu_TRUE@am__append_2645 = $(nodist_pata_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2646 = $(nodist_pata_module_SOURCES) \ + @COND_i386_qemu_TRUE@ pata.marker +-@COND_i386_qemu_TRUE@am__append_2654 = pata.mod +-@COND_i386_qemu_TRUE@am__append_2655 = pata.marker +-@COND_i386_coreboot_TRUE@am__append_2656 = pata.module +-@COND_i386_coreboot_TRUE@am__append_2657 = pata.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2658 = +-@COND_i386_coreboot_TRUE@am__append_2659 = $(nodist_pata_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2660 = \ ++@COND_i386_qemu_TRUE@am__append_2647 = pata.mod ++@COND_i386_qemu_TRUE@am__append_2648 = pata.marker ++@COND_i386_coreboot_TRUE@am__append_2649 = pata.module ++@COND_i386_coreboot_TRUE@am__append_2650 = pata.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2651 = ++@COND_i386_coreboot_TRUE@am__append_2652 = $(nodist_pata_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2653 = \ + @COND_i386_coreboot_TRUE@ $(nodist_pata_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ pata.marker +-@COND_i386_coreboot_TRUE@am__append_2661 = pata.mod +-@COND_i386_coreboot_TRUE@am__append_2662 = pata.marker +-@COND_i386_multiboot_TRUE@am__append_2663 = pata.module +-@COND_i386_multiboot_TRUE@am__append_2664 = pata.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2665 = +-@COND_i386_multiboot_TRUE@am__append_2666 = $(nodist_pata_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2667 = \ ++@COND_i386_coreboot_TRUE@am__append_2654 = pata.mod ++@COND_i386_coreboot_TRUE@am__append_2655 = pata.marker ++@COND_i386_multiboot_TRUE@am__append_2656 = pata.module ++@COND_i386_multiboot_TRUE@am__append_2657 = pata.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2658 = ++@COND_i386_multiboot_TRUE@am__append_2659 = $(nodist_pata_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2660 = \ + @COND_i386_multiboot_TRUE@ $(nodist_pata_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ pata.marker +-@COND_i386_multiboot_TRUE@am__append_2668 = pata.mod +-@COND_i386_multiboot_TRUE@am__append_2669 = pata.marker +-@COND_i386_ieee1275_TRUE@am__append_2670 = pata.module +-@COND_i386_ieee1275_TRUE@am__append_2671 = pata.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2672 = +-@COND_i386_ieee1275_TRUE@am__append_2673 = $(nodist_pata_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2674 = \ ++@COND_i386_multiboot_TRUE@am__append_2661 = pata.mod ++@COND_i386_multiboot_TRUE@am__append_2662 = pata.marker ++@COND_i386_ieee1275_TRUE@am__append_2663 = pata.module ++@COND_i386_ieee1275_TRUE@am__append_2664 = pata.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2665 = ++@COND_i386_ieee1275_TRUE@am__append_2666 = $(nodist_pata_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2667 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_pata_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ pata.marker +-@COND_i386_ieee1275_TRUE@am__append_2675 = pata.mod +-@COND_i386_ieee1275_TRUE@am__append_2676 = pata.marker +-@COND_x86_64_efi_TRUE@am__append_2677 = pata.module +-@COND_x86_64_efi_TRUE@am__append_2678 = pata.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2679 = +-@COND_x86_64_efi_TRUE@am__append_2680 = $(nodist_pata_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2681 = $(nodist_pata_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_2668 = pata.mod ++@COND_i386_ieee1275_TRUE@am__append_2669 = pata.marker ++@COND_x86_64_efi_TRUE@am__append_2670 = pata.module ++@COND_x86_64_efi_TRUE@am__append_2671 = pata.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2672 = ++@COND_x86_64_efi_TRUE@am__append_2673 = $(nodist_pata_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2674 = $(nodist_pata_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ pata.marker +-@COND_x86_64_efi_TRUE@am__append_2682 = pata.mod +-@COND_x86_64_efi_TRUE@am__append_2683 = pata.marker +-@COND_mips_loongson_TRUE@am__append_2684 = pata.module +-@COND_mips_loongson_TRUE@am__append_2685 = pata.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2686 = +-@COND_mips_loongson_TRUE@am__append_2687 = $(nodist_pata_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2688 = \ ++@COND_x86_64_efi_TRUE@am__append_2675 = pata.mod ++@COND_x86_64_efi_TRUE@am__append_2676 = pata.marker ++@COND_mips_loongson_TRUE@am__append_2677 = pata.module ++@COND_mips_loongson_TRUE@am__append_2678 = pata.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2679 = ++@COND_mips_loongson_TRUE@am__append_2680 = $(nodist_pata_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2681 = \ + @COND_mips_loongson_TRUE@ $(nodist_pata_module_SOURCES) \ + @COND_mips_loongson_TRUE@ pata.marker +-@COND_mips_loongson_TRUE@am__append_2689 = pata.mod +-@COND_mips_loongson_TRUE@am__append_2690 = pata.marker +-@COND_mips_qemu_mips_TRUE@am__append_2691 = pata.module +-@COND_mips_qemu_mips_TRUE@am__append_2692 = pata.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_2693 = +-@COND_mips_qemu_mips_TRUE@am__append_2694 = $(nodist_pata_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_2695 = \ ++@COND_mips_loongson_TRUE@am__append_2682 = pata.mod ++@COND_mips_loongson_TRUE@am__append_2683 = pata.marker ++@COND_mips_qemu_mips_TRUE@am__append_2684 = pata.module ++@COND_mips_qemu_mips_TRUE@am__append_2685 = pata.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_2686 = ++@COND_mips_qemu_mips_TRUE@am__append_2687 = $(nodist_pata_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_2688 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_pata_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ pata.marker +-@COND_mips_qemu_mips_TRUE@am__append_2696 = pata.mod +-@COND_mips_qemu_mips_TRUE@am__append_2697 = pata.marker +-@COND_i386_pc_TRUE@am__append_2698 = biosdisk.module usbms.module +-@COND_i386_pc_TRUE@am__append_2699 = biosdisk.module$(EXEEXT) \ ++@COND_mips_qemu_mips_TRUE@am__append_2689 = pata.mod ++@COND_mips_qemu_mips_TRUE@am__append_2690 = pata.marker ++@COND_i386_pc_TRUE@am__append_2691 = biosdisk.module usbms.module ++@COND_i386_pc_TRUE@am__append_2692 = biosdisk.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ usbms.module$(EXEEXT) + @COND_i386_pc_FALSE@biosdisk_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2700 = +-@COND_i386_pc_TRUE@am__append_2701 = \ ++@COND_i386_pc_TRUE@am__append_2693 = ++@COND_i386_pc_TRUE@am__append_2694 = \ + @COND_i386_pc_TRUE@ $(nodist_biosdisk_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_usbms_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2702 = \ ++@COND_i386_pc_TRUE@am__append_2695 = \ + @COND_i386_pc_TRUE@ $(nodist_biosdisk_module_SOURCES) \ + @COND_i386_pc_TRUE@ biosdisk.marker \ + @COND_i386_pc_TRUE@ $(nodist_usbms_module_SOURCES) usbms.marker +-@COND_i386_pc_TRUE@am__append_2703 = biosdisk.mod usbms.mod +-@COND_i386_pc_TRUE@am__append_2704 = biosdisk.marker usbms.marker ++@COND_i386_pc_TRUE@am__append_2696 = biosdisk.mod usbms.mod ++@COND_i386_pc_TRUE@am__append_2697 = biosdisk.marker usbms.marker + @COND_arm_coreboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@usbms_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_2705 = usbms.module +-@COND_i386_efi_TRUE@am__append_2706 = usbms.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2707 = +-@COND_i386_efi_TRUE@am__append_2708 = $(nodist_usbms_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2709 = $(nodist_usbms_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2698 = usbms.module ++@COND_i386_efi_TRUE@am__append_2699 = usbms.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2700 = ++@COND_i386_efi_TRUE@am__append_2701 = $(nodist_usbms_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2702 = $(nodist_usbms_module_SOURCES) \ + @COND_i386_efi_TRUE@ usbms.marker +-@COND_i386_efi_TRUE@am__append_2710 = usbms.mod +-@COND_i386_efi_TRUE@am__append_2711 = usbms.marker +-@COND_i386_qemu_TRUE@am__append_2712 = usbms.module +-@COND_i386_qemu_TRUE@am__append_2713 = usbms.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2714 = +-@COND_i386_qemu_TRUE@am__append_2715 = $(nodist_usbms_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2716 = $(nodist_usbms_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2703 = usbms.mod ++@COND_i386_efi_TRUE@am__append_2704 = usbms.marker ++@COND_i386_qemu_TRUE@am__append_2705 = usbms.module ++@COND_i386_qemu_TRUE@am__append_2706 = usbms.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2707 = ++@COND_i386_qemu_TRUE@am__append_2708 = $(nodist_usbms_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2709 = $(nodist_usbms_module_SOURCES) \ + @COND_i386_qemu_TRUE@ usbms.marker +-@COND_i386_qemu_TRUE@am__append_2717 = usbms.mod +-@COND_i386_qemu_TRUE@am__append_2718 = usbms.marker +-@COND_i386_coreboot_TRUE@am__append_2719 = usbms.module +-@COND_i386_coreboot_TRUE@am__append_2720 = usbms.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2721 = +-@COND_i386_coreboot_TRUE@am__append_2722 = $(nodist_usbms_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2723 = \ ++@COND_i386_qemu_TRUE@am__append_2710 = usbms.mod ++@COND_i386_qemu_TRUE@am__append_2711 = usbms.marker ++@COND_i386_coreboot_TRUE@am__append_2712 = usbms.module ++@COND_i386_coreboot_TRUE@am__append_2713 = usbms.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2714 = ++@COND_i386_coreboot_TRUE@am__append_2715 = $(nodist_usbms_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2716 = \ + @COND_i386_coreboot_TRUE@ $(nodist_usbms_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ usbms.marker +-@COND_i386_coreboot_TRUE@am__append_2724 = usbms.mod +-@COND_i386_coreboot_TRUE@am__append_2725 = usbms.marker +-@COND_i386_multiboot_TRUE@am__append_2726 = usbms.module +-@COND_i386_multiboot_TRUE@am__append_2727 = usbms.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2728 = +-@COND_i386_multiboot_TRUE@am__append_2729 = $(nodist_usbms_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2730 = \ ++@COND_i386_coreboot_TRUE@am__append_2717 = usbms.mod ++@COND_i386_coreboot_TRUE@am__append_2718 = usbms.marker ++@COND_i386_multiboot_TRUE@am__append_2719 = usbms.module ++@COND_i386_multiboot_TRUE@am__append_2720 = usbms.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2721 = ++@COND_i386_multiboot_TRUE@am__append_2722 = $(nodist_usbms_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2723 = \ + @COND_i386_multiboot_TRUE@ $(nodist_usbms_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ usbms.marker +-@COND_i386_multiboot_TRUE@am__append_2731 = usbms.mod +-@COND_i386_multiboot_TRUE@am__append_2732 = usbms.marker +-@COND_i386_ieee1275_TRUE@am__append_2733 = usbms.module +-@COND_i386_ieee1275_TRUE@am__append_2734 = usbms.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2735 = +-@COND_i386_ieee1275_TRUE@am__append_2736 = $(nodist_usbms_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2737 = \ ++@COND_i386_multiboot_TRUE@am__append_2724 = usbms.mod ++@COND_i386_multiboot_TRUE@am__append_2725 = usbms.marker ++@COND_i386_ieee1275_TRUE@am__append_2726 = usbms.module ++@COND_i386_ieee1275_TRUE@am__append_2727 = usbms.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2728 = ++@COND_i386_ieee1275_TRUE@am__append_2729 = $(nodist_usbms_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2730 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_usbms_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ usbms.marker +-@COND_i386_ieee1275_TRUE@am__append_2738 = usbms.mod +-@COND_i386_ieee1275_TRUE@am__append_2739 = usbms.marker +-@COND_x86_64_efi_TRUE@am__append_2740 = usbms.module +-@COND_x86_64_efi_TRUE@am__append_2741 = usbms.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2742 = +-@COND_x86_64_efi_TRUE@am__append_2743 = $(nodist_usbms_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2744 = \ ++@COND_i386_ieee1275_TRUE@am__append_2731 = usbms.mod ++@COND_i386_ieee1275_TRUE@am__append_2732 = usbms.marker ++@COND_x86_64_efi_TRUE@am__append_2733 = usbms.module ++@COND_x86_64_efi_TRUE@am__append_2734 = usbms.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2735 = ++@COND_x86_64_efi_TRUE@am__append_2736 = $(nodist_usbms_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2737 = \ + @COND_x86_64_efi_TRUE@ $(nodist_usbms_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ usbms.marker +-@COND_x86_64_efi_TRUE@am__append_2745 = usbms.mod +-@COND_x86_64_efi_TRUE@am__append_2746 = usbms.marker +-@COND_mips_loongson_TRUE@am__append_2747 = usbms.module +-@COND_mips_loongson_TRUE@am__append_2748 = usbms.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_2749 = +-@COND_mips_loongson_TRUE@am__append_2750 = $(nodist_usbms_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_2751 = \ ++@COND_x86_64_efi_TRUE@am__append_2738 = usbms.mod ++@COND_x86_64_efi_TRUE@am__append_2739 = usbms.marker ++@COND_mips_loongson_TRUE@am__append_2740 = usbms.module ++@COND_mips_loongson_TRUE@am__append_2741 = usbms.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_2742 = ++@COND_mips_loongson_TRUE@am__append_2743 = $(nodist_usbms_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_2744 = \ + @COND_mips_loongson_TRUE@ $(nodist_usbms_module_SOURCES) \ + @COND_mips_loongson_TRUE@ usbms.marker +-@COND_mips_loongson_TRUE@am__append_2752 = usbms.mod +-@COND_mips_loongson_TRUE@am__append_2753 = usbms.marker +-@COND_arm_coreboot_TRUE@am__append_2754 = usbms.module +-@COND_arm_coreboot_TRUE@am__append_2755 = usbms.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__append_2756 = +-@COND_arm_coreboot_TRUE@am__append_2757 = $(nodist_usbms_module_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_2758 = \ ++@COND_mips_loongson_TRUE@am__append_2745 = usbms.mod ++@COND_mips_loongson_TRUE@am__append_2746 = usbms.marker ++@COND_arm_coreboot_TRUE@am__append_2747 = usbms.module ++@COND_arm_coreboot_TRUE@am__append_2748 = usbms.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_2749 = ++@COND_arm_coreboot_TRUE@am__append_2750 = $(nodist_usbms_module_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_2751 = \ + @COND_arm_coreboot_TRUE@ $(nodist_usbms_module_SOURCES) \ + @COND_arm_coreboot_TRUE@ usbms.marker +-@COND_arm_coreboot_TRUE@am__append_2759 = usbms.mod +-@COND_arm_coreboot_TRUE@am__append_2760 = usbms.marker +-@COND_i386_ieee1275_TRUE@am__append_2761 = nand.module +-@COND_i386_ieee1275_TRUE@am__append_2762 = nand.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_2752 = usbms.mod ++@COND_arm_coreboot_TRUE@am__append_2753 = usbms.marker ++@COND_i386_ieee1275_TRUE@am__append_2754 = nand.module ++@COND_i386_ieee1275_TRUE@am__append_2755 = nand.module$(EXEEXT) + @COND_i386_ieee1275_FALSE@nand_module_DEPENDENCIES = +-@COND_i386_ieee1275_TRUE@am__append_2763 = +-@COND_i386_ieee1275_TRUE@am__append_2764 = $(nodist_nand_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2765 = \ ++@COND_i386_ieee1275_TRUE@am__append_2756 = ++@COND_i386_ieee1275_TRUE@am__append_2757 = $(nodist_nand_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2758 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_nand_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ nand.marker +-@COND_i386_ieee1275_TRUE@am__append_2766 = nand.mod +-@COND_i386_ieee1275_TRUE@am__append_2767 = nand.marker +-@COND_i386_pc_TRUE@am__append_2768 = efiemu.module +-@COND_i386_pc_TRUE@am__append_2769 = efiemu.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2759 = nand.mod ++@COND_i386_ieee1275_TRUE@am__append_2760 = nand.marker ++@COND_i386_pc_TRUE@am__append_2761 = efiemu.module ++@COND_i386_pc_TRUE@am__append_2762 = efiemu.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@efiemu_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2770 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c +-@COND_i386_pc_TRUE@am__append_2771 = $(nodist_efiemu_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2772 = $(nodist_efiemu_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2763 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c ++@COND_i386_pc_TRUE@am__append_2764 = $(nodist_efiemu_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2765 = $(nodist_efiemu_module_SOURCES) \ + @COND_i386_pc_TRUE@ efiemu.marker +-@COND_i386_pc_TRUE@am__append_2773 = efiemu.mod +-@COND_i386_pc_TRUE@am__append_2774 = efiemu.marker +-@COND_i386_qemu_TRUE@am__append_2775 = efiemu.module +-@COND_i386_qemu_TRUE@am__append_2776 = efiemu.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2777 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c +-@COND_i386_qemu_TRUE@am__append_2778 = $(nodist_efiemu_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2779 = \ ++@COND_i386_pc_TRUE@am__append_2766 = efiemu.mod ++@COND_i386_pc_TRUE@am__append_2767 = efiemu.marker ++@COND_i386_qemu_TRUE@am__append_2768 = efiemu.module ++@COND_i386_qemu_TRUE@am__append_2769 = efiemu.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2770 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c ++@COND_i386_qemu_TRUE@am__append_2771 = $(nodist_efiemu_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2772 = \ + @COND_i386_qemu_TRUE@ $(nodist_efiemu_module_SOURCES) \ + @COND_i386_qemu_TRUE@ efiemu.marker +-@COND_i386_qemu_TRUE@am__append_2780 = efiemu.mod +-@COND_i386_qemu_TRUE@am__append_2781 = efiemu.marker +-@COND_i386_coreboot_TRUE@am__append_2782 = efiemu.module +-@COND_i386_coreboot_TRUE@am__append_2783 = efiemu.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_2784 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c +-@COND_i386_coreboot_TRUE@am__append_2785 = $(nodist_efiemu_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_2786 = \ ++@COND_i386_qemu_TRUE@am__append_2773 = efiemu.mod ++@COND_i386_qemu_TRUE@am__append_2774 = efiemu.marker ++@COND_i386_coreboot_TRUE@am__append_2775 = efiemu.module ++@COND_i386_coreboot_TRUE@am__append_2776 = efiemu.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_2777 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c ++@COND_i386_coreboot_TRUE@am__append_2778 = $(nodist_efiemu_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_2779 = \ + @COND_i386_coreboot_TRUE@ $(nodist_efiemu_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ efiemu.marker +-@COND_i386_coreboot_TRUE@am__append_2787 = efiemu.mod +-@COND_i386_coreboot_TRUE@am__append_2788 = efiemu.marker +-@COND_i386_multiboot_TRUE@am__append_2789 = efiemu.module +-@COND_i386_multiboot_TRUE@am__append_2790 = efiemu.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2791 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c +-@COND_i386_multiboot_TRUE@am__append_2792 = $(nodist_efiemu_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2793 = \ ++@COND_i386_coreboot_TRUE@am__append_2780 = efiemu.mod ++@COND_i386_coreboot_TRUE@am__append_2781 = efiemu.marker ++@COND_i386_multiboot_TRUE@am__append_2782 = efiemu.module ++@COND_i386_multiboot_TRUE@am__append_2783 = efiemu.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2784 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c ++@COND_i386_multiboot_TRUE@am__append_2785 = $(nodist_efiemu_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2786 = \ + @COND_i386_multiboot_TRUE@ $(nodist_efiemu_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ efiemu.marker +-@COND_i386_multiboot_TRUE@am__append_2794 = efiemu.mod +-@COND_i386_multiboot_TRUE@am__append_2795 = efiemu.marker +-@COND_i386_ieee1275_TRUE@am__append_2796 = efiemu.module +-@COND_i386_ieee1275_TRUE@am__append_2797 = efiemu.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2798 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c +-@COND_i386_ieee1275_TRUE@am__append_2799 = $(nodist_efiemu_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2800 = \ ++@COND_i386_multiboot_TRUE@am__append_2787 = efiemu.mod ++@COND_i386_multiboot_TRUE@am__append_2788 = efiemu.marker ++@COND_i386_ieee1275_TRUE@am__append_2789 = efiemu.module ++@COND_i386_ieee1275_TRUE@am__append_2790 = efiemu.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2791 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c ++@COND_i386_ieee1275_TRUE@am__append_2792 = $(nodist_efiemu_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2793 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_efiemu_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ efiemu.marker +-@COND_i386_ieee1275_TRUE@am__append_2801 = efiemu.mod +-@COND_i386_ieee1275_TRUE@am__append_2802 = efiemu.marker +-@COND_emu_TRUE@am__append_2803 = font.module +-@COND_emu_TRUE@am__append_2804 = font.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2794 = efiemu.mod ++@COND_i386_ieee1275_TRUE@am__append_2795 = efiemu.marker ++@COND_emu_TRUE@am__append_2796 = font.module ++@COND_emu_TRUE@am__append_2797 = font.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@font_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_2805 = +-@COND_emu_TRUE@am__append_2806 = $(nodist_font_module_SOURCES) +-@COND_emu_TRUE@am__append_2807 = $(nodist_font_module_SOURCES) \ ++@COND_emu_TRUE@am__append_2798 = ++@COND_emu_TRUE@am__append_2799 = $(nodist_font_module_SOURCES) ++@COND_emu_TRUE@am__append_2800 = $(nodist_font_module_SOURCES) \ + @COND_emu_TRUE@ font.marker +-@COND_emu_TRUE@am__append_2808 = font.mod +-@COND_emu_TRUE@am__append_2809 = font.marker +-@COND_i386_pc_TRUE@am__append_2810 = font.module +-@COND_i386_pc_TRUE@am__append_2811 = font.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_2812 = +-@COND_i386_pc_TRUE@am__append_2813 = $(nodist_font_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2814 = $(nodist_font_module_SOURCES) \ ++@COND_emu_TRUE@am__append_2801 = font.mod ++@COND_emu_TRUE@am__append_2802 = font.marker ++@COND_i386_pc_TRUE@am__append_2803 = font.module ++@COND_i386_pc_TRUE@am__append_2804 = font.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_2805 = ++@COND_i386_pc_TRUE@am__append_2806 = $(nodist_font_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2807 = $(nodist_font_module_SOURCES) \ + @COND_i386_pc_TRUE@ font.marker +-@COND_i386_pc_TRUE@am__append_2815 = font.mod +-@COND_i386_pc_TRUE@am__append_2816 = font.marker +-@COND_i386_efi_TRUE@am__append_2817 = font.module +-@COND_i386_efi_TRUE@am__append_2818 = font.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2819 = +-@COND_i386_efi_TRUE@am__append_2820 = $(nodist_font_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2821 = $(nodist_font_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2808 = font.mod ++@COND_i386_pc_TRUE@am__append_2809 = font.marker ++@COND_i386_efi_TRUE@am__append_2810 = font.module ++@COND_i386_efi_TRUE@am__append_2811 = font.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2812 = ++@COND_i386_efi_TRUE@am__append_2813 = $(nodist_font_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2814 = $(nodist_font_module_SOURCES) \ + @COND_i386_efi_TRUE@ font.marker +-@COND_i386_efi_TRUE@am__append_2822 = font.mod +-@COND_i386_efi_TRUE@am__append_2823 = font.marker +-@COND_i386_qemu_TRUE@am__append_2824 = font.module +-@COND_i386_qemu_TRUE@am__append_2825 = font.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2826 = +-@COND_i386_qemu_TRUE@am__append_2827 = $(nodist_font_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2828 = $(nodist_font_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2815 = font.mod ++@COND_i386_efi_TRUE@am__append_2816 = font.marker ++@COND_i386_qemu_TRUE@am__append_2817 = font.module ++@COND_i386_qemu_TRUE@am__append_2818 = font.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2819 = ++@COND_i386_qemu_TRUE@am__append_2820 = $(nodist_font_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2821 = $(nodist_font_module_SOURCES) \ + @COND_i386_qemu_TRUE@ font.marker +-@COND_i386_qemu_TRUE@am__append_2829 = font.mod +-@COND_i386_qemu_TRUE@am__append_2830 = font.marker +-@COND_i386_multiboot_TRUE@am__append_2831 = font.module +-@COND_i386_multiboot_TRUE@am__append_2832 = font.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2833 = +-@COND_i386_multiboot_TRUE@am__append_2834 = $(nodist_font_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2835 = \ ++@COND_i386_qemu_TRUE@am__append_2822 = font.mod ++@COND_i386_qemu_TRUE@am__append_2823 = font.marker ++@COND_i386_multiboot_TRUE@am__append_2824 = font.module ++@COND_i386_multiboot_TRUE@am__append_2825 = font.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2826 = ++@COND_i386_multiboot_TRUE@am__append_2827 = $(nodist_font_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2828 = \ + @COND_i386_multiboot_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ font.marker +-@COND_i386_multiboot_TRUE@am__append_2836 = font.mod +-@COND_i386_multiboot_TRUE@am__append_2837 = font.marker +-@COND_i386_ieee1275_TRUE@am__append_2838 = font.module +-@COND_i386_ieee1275_TRUE@am__append_2839 = font.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2840 = +-@COND_i386_ieee1275_TRUE@am__append_2841 = $(nodist_font_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2842 = \ ++@COND_i386_multiboot_TRUE@am__append_2829 = font.mod ++@COND_i386_multiboot_TRUE@am__append_2830 = font.marker ++@COND_i386_ieee1275_TRUE@am__append_2831 = font.module ++@COND_i386_ieee1275_TRUE@am__append_2832 = font.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2833 = ++@COND_i386_ieee1275_TRUE@am__append_2834 = $(nodist_font_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2835 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ font.marker +-@COND_i386_ieee1275_TRUE@am__append_2843 = font.mod +-@COND_i386_ieee1275_TRUE@am__append_2844 = font.marker +-@COND_x86_64_efi_TRUE@am__append_2845 = font.module +-@COND_x86_64_efi_TRUE@am__append_2846 = font.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2847 = +-@COND_x86_64_efi_TRUE@am__append_2848 = $(nodist_font_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2849 = $(nodist_font_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_2836 = font.mod ++@COND_i386_ieee1275_TRUE@am__append_2837 = font.marker ++@COND_x86_64_efi_TRUE@am__append_2838 = font.module ++@COND_x86_64_efi_TRUE@am__append_2839 = font.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2840 = ++@COND_x86_64_efi_TRUE@am__append_2841 = $(nodist_font_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2842 = $(nodist_font_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ font.marker +-@COND_x86_64_efi_TRUE@am__append_2850 = font.mod +-@COND_x86_64_efi_TRUE@am__append_2851 = font.marker +-@COND_i386_xen_TRUE@am__append_2852 = font.module +-@COND_i386_xen_TRUE@am__append_2853 = font.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_2854 = +-@COND_i386_xen_TRUE@am__append_2855 = $(nodist_font_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_2856 = $(nodist_font_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_2843 = font.mod ++@COND_x86_64_efi_TRUE@am__append_2844 = font.marker ++@COND_i386_xen_TRUE@am__append_2845 = font.module ++@COND_i386_xen_TRUE@am__append_2846 = font.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_2847 = ++@COND_i386_xen_TRUE@am__append_2848 = $(nodist_font_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_2849 = $(nodist_font_module_SOURCES) \ + @COND_i386_xen_TRUE@ font.marker +-@COND_i386_xen_TRUE@am__append_2857 = font.mod +-@COND_i386_xen_TRUE@am__append_2858 = font.marker +-@COND_x86_64_xen_TRUE@am__append_2859 = font.module +-@COND_x86_64_xen_TRUE@am__append_2860 = font.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_2861 = +-@COND_x86_64_xen_TRUE@am__append_2862 = $(nodist_font_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_2863 = $(nodist_font_module_SOURCES) \ ++@COND_i386_xen_TRUE@am__append_2850 = font.mod ++@COND_i386_xen_TRUE@am__append_2851 = font.marker ++@COND_x86_64_xen_TRUE@am__append_2852 = font.module ++@COND_x86_64_xen_TRUE@am__append_2853 = font.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_2854 = ++@COND_x86_64_xen_TRUE@am__append_2855 = $(nodist_font_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_2856 = $(nodist_font_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ font.marker +-@COND_x86_64_xen_TRUE@am__append_2864 = font.mod +-@COND_x86_64_xen_TRUE@am__append_2865 = font.marker +-@COND_i386_xen_pvh_TRUE@am__append_2866 = font.module +-@COND_i386_xen_pvh_TRUE@am__append_2867 = font.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_2868 = +-@COND_i386_xen_pvh_TRUE@am__append_2869 = $(nodist_font_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_2870 = \ ++@COND_x86_64_xen_TRUE@am__append_2857 = font.mod ++@COND_x86_64_xen_TRUE@am__append_2858 = font.marker ++@COND_i386_xen_pvh_TRUE@am__append_2859 = font.module ++@COND_i386_xen_pvh_TRUE@am__append_2860 = font.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_2861 = ++@COND_i386_xen_pvh_TRUE@am__append_2862 = $(nodist_font_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_2863 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ font.marker +-@COND_i386_xen_pvh_TRUE@am__append_2871 = font.mod +-@COND_i386_xen_pvh_TRUE@am__append_2872 = font.marker +-@COND_sparc64_ieee1275_TRUE@am__append_2873 = font.module +-@COND_sparc64_ieee1275_TRUE@am__append_2874 = font.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_2875 = +-@COND_sparc64_ieee1275_TRUE@am__append_2876 = $(nodist_font_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_2877 = \ ++@COND_i386_xen_pvh_TRUE@am__append_2864 = font.mod ++@COND_i386_xen_pvh_TRUE@am__append_2865 = font.marker ++@COND_sparc64_ieee1275_TRUE@am__append_2866 = font.module ++@COND_sparc64_ieee1275_TRUE@am__append_2867 = font.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_2868 = ++@COND_sparc64_ieee1275_TRUE@am__append_2869 = $(nodist_font_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_2870 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ font.marker +-@COND_sparc64_ieee1275_TRUE@am__append_2878 = font.mod +-@COND_sparc64_ieee1275_TRUE@am__append_2879 = font.marker +-@COND_powerpc_ieee1275_TRUE@am__append_2880 = font.module +-@COND_powerpc_ieee1275_TRUE@am__append_2881 = font.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_2882 = +-@COND_powerpc_ieee1275_TRUE@am__append_2883 = $(nodist_font_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_2884 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_2871 = font.mod ++@COND_sparc64_ieee1275_TRUE@am__append_2872 = font.marker ++@COND_powerpc_ieee1275_TRUE@am__append_2873 = font.module ++@COND_powerpc_ieee1275_TRUE@am__append_2874 = font.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_2875 = ++@COND_powerpc_ieee1275_TRUE@am__append_2876 = $(nodist_font_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_2877 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ font.marker +-@COND_powerpc_ieee1275_TRUE@am__append_2885 = font.mod +-@COND_powerpc_ieee1275_TRUE@am__append_2886 = font.marker +-@COND_mips_arc_TRUE@am__append_2887 = font.module +-@COND_mips_arc_TRUE@am__append_2888 = font.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_2889 = +-@COND_mips_arc_TRUE@am__append_2890 = $(nodist_font_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_2891 = $(nodist_font_module_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_2878 = font.mod ++@COND_powerpc_ieee1275_TRUE@am__append_2879 = font.marker ++@COND_mips_arc_TRUE@am__append_2880 = font.module ++@COND_mips_arc_TRUE@am__append_2881 = font.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_2882 = ++@COND_mips_arc_TRUE@am__append_2883 = $(nodist_font_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_2884 = $(nodist_font_module_SOURCES) \ + @COND_mips_arc_TRUE@ font.marker +-@COND_mips_arc_TRUE@am__append_2892 = font.mod +-@COND_mips_arc_TRUE@am__append_2893 = font.marker +-@COND_ia64_efi_TRUE@am__append_2894 = font.module +-@COND_ia64_efi_TRUE@am__append_2895 = font.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_2896 = +-@COND_ia64_efi_TRUE@am__append_2897 = $(nodist_font_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_2898 = $(nodist_font_module_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_2885 = font.mod ++@COND_mips_arc_TRUE@am__append_2886 = font.marker ++@COND_ia64_efi_TRUE@am__append_2887 = font.module ++@COND_ia64_efi_TRUE@am__append_2888 = font.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_2889 = ++@COND_ia64_efi_TRUE@am__append_2890 = $(nodist_font_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_2891 = $(nodist_font_module_SOURCES) \ + @COND_ia64_efi_TRUE@ font.marker +-@COND_ia64_efi_TRUE@am__append_2899 = font.mod +-@COND_ia64_efi_TRUE@am__append_2900 = font.marker +-@COND_mips_qemu_mips_TRUE@am__append_2901 = font.module +-@COND_mips_qemu_mips_TRUE@am__append_2902 = font.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_2903 = +-@COND_mips_qemu_mips_TRUE@am__append_2904 = $(nodist_font_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_2905 = \ ++@COND_ia64_efi_TRUE@am__append_2892 = font.mod ++@COND_ia64_efi_TRUE@am__append_2893 = font.marker ++@COND_mips_qemu_mips_TRUE@am__append_2894 = font.module ++@COND_mips_qemu_mips_TRUE@am__append_2895 = font.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_2896 = ++@COND_mips_qemu_mips_TRUE@am__append_2897 = $(nodist_font_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_2898 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ font.marker +-@COND_mips_qemu_mips_TRUE@am__append_2906 = font.mod +-@COND_mips_qemu_mips_TRUE@am__append_2907 = font.marker +-@COND_arm_uboot_TRUE@am__append_2908 = font.module +-@COND_arm_uboot_TRUE@am__append_2909 = font.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__append_2910 = +-@COND_arm_uboot_TRUE@am__append_2911 = $(nodist_font_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_2912 = $(nodist_font_module_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_2899 = font.mod ++@COND_mips_qemu_mips_TRUE@am__append_2900 = font.marker ++@COND_arm_uboot_TRUE@am__append_2901 = font.module ++@COND_arm_uboot_TRUE@am__append_2902 = font.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_2903 = ++@COND_arm_uboot_TRUE@am__append_2904 = $(nodist_font_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_2905 = $(nodist_font_module_SOURCES) \ + @COND_arm_uboot_TRUE@ font.marker +-@COND_arm_uboot_TRUE@am__append_2913 = font.mod +-@COND_arm_uboot_TRUE@am__append_2914 = font.marker +-@COND_arm_efi_TRUE@am__append_2915 = font.module +-@COND_arm_efi_TRUE@am__append_2916 = font.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_2917 = +-@COND_arm_efi_TRUE@am__append_2918 = $(nodist_font_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_2919 = $(nodist_font_module_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_2906 = font.mod ++@COND_arm_uboot_TRUE@am__append_2907 = font.marker ++@COND_arm_efi_TRUE@am__append_2908 = font.module ++@COND_arm_efi_TRUE@am__append_2909 = font.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_2910 = ++@COND_arm_efi_TRUE@am__append_2911 = $(nodist_font_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_2912 = $(nodist_font_module_SOURCES) \ + @COND_arm_efi_TRUE@ font.marker +-@COND_arm_efi_TRUE@am__append_2920 = font.mod +-@COND_arm_efi_TRUE@am__append_2921 = font.marker +-@COND_arm64_efi_TRUE@am__append_2922 = font.module +-@COND_arm64_efi_TRUE@am__append_2923 = font.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_2924 = +-@COND_arm64_efi_TRUE@am__append_2925 = $(nodist_font_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_2926 = $(nodist_font_module_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_2913 = font.mod ++@COND_arm_efi_TRUE@am__append_2914 = font.marker ++@COND_arm64_efi_TRUE@am__append_2915 = font.module ++@COND_arm64_efi_TRUE@am__append_2916 = font.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_2917 = ++@COND_arm64_efi_TRUE@am__append_2918 = $(nodist_font_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_2919 = $(nodist_font_module_SOURCES) \ + @COND_arm64_efi_TRUE@ font.marker +-@COND_arm64_efi_TRUE@am__append_2927 = font.mod +-@COND_arm64_efi_TRUE@am__append_2928 = font.marker +-@COND_riscv32_efi_TRUE@am__append_2929 = font.module +-@COND_riscv32_efi_TRUE@am__append_2930 = font.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_2931 = +-@COND_riscv32_efi_TRUE@am__append_2932 = $(nodist_font_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_2933 = \ ++@COND_arm64_efi_TRUE@am__append_2920 = font.mod ++@COND_arm64_efi_TRUE@am__append_2921 = font.marker ++@COND_riscv32_efi_TRUE@am__append_2922 = font.module ++@COND_riscv32_efi_TRUE@am__append_2923 = font.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_2924 = ++@COND_riscv32_efi_TRUE@am__append_2925 = $(nodist_font_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_2926 = \ + @COND_riscv32_efi_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ font.marker +-@COND_riscv32_efi_TRUE@am__append_2934 = font.mod +-@COND_riscv32_efi_TRUE@am__append_2935 = font.marker +-@COND_riscv64_efi_TRUE@am__append_2936 = font.module +-@COND_riscv64_efi_TRUE@am__append_2937 = font.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_2938 = +-@COND_riscv64_efi_TRUE@am__append_2939 = $(nodist_font_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_2940 = \ ++@COND_riscv32_efi_TRUE@am__append_2927 = font.mod ++@COND_riscv32_efi_TRUE@am__append_2928 = font.marker ++@COND_riscv64_efi_TRUE@am__append_2929 = font.module ++@COND_riscv64_efi_TRUE@am__append_2930 = font.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_2931 = ++@COND_riscv64_efi_TRUE@am__append_2932 = $(nodist_font_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_2933 = \ + @COND_riscv64_efi_TRUE@ $(nodist_font_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ font.marker +-@COND_riscv64_efi_TRUE@am__append_2941 = font.mod +-@COND_riscv64_efi_TRUE@am__append_2942 = font.marker +-@COND_i386_pc_TRUE@am__append_2943 = pxe.module +-@COND_i386_pc_TRUE@am__append_2944 = pxe.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_2934 = font.mod ++@COND_riscv64_efi_TRUE@am__append_2935 = font.marker ++@COND_i386_pc_TRUE@am__append_2936 = pxe.module ++@COND_i386_pc_TRUE@am__append_2937 = pxe.module$(EXEEXT) + @COND_i386_pc_FALSE@pxe_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_2945 = +-@COND_i386_pc_TRUE@am__append_2946 = $(nodist_pxe_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2947 = $(nodist_pxe_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2938 = ++@COND_i386_pc_TRUE@am__append_2939 = $(nodist_pxe_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2940 = $(nodist_pxe_module_SOURCES) \ + @COND_i386_pc_TRUE@ pxe.marker +-@COND_i386_pc_TRUE@am__append_2948 = pxe.mod +-@COND_i386_pc_TRUE@am__append_2949 = pxe.marker +-@COND_emu_TRUE@am__append_2950 = bufio.module +-@COND_emu_TRUE@am__append_2951 = bufio.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_2941 = pxe.mod ++@COND_i386_pc_TRUE@am__append_2942 = pxe.marker ++@COND_emu_TRUE@am__append_2943 = bufio.module ++@COND_emu_TRUE@am__append_2944 = bufio.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@bufio_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_2952 = +-@COND_emu_TRUE@am__append_2953 = $(nodist_bufio_module_SOURCES) +-@COND_emu_TRUE@am__append_2954 = $(nodist_bufio_module_SOURCES) \ ++@COND_emu_TRUE@am__append_2945 = ++@COND_emu_TRUE@am__append_2946 = $(nodist_bufio_module_SOURCES) ++@COND_emu_TRUE@am__append_2947 = $(nodist_bufio_module_SOURCES) \ + @COND_emu_TRUE@ bufio.marker +-@COND_emu_TRUE@am__append_2955 = bufio.mod +-@COND_emu_TRUE@am__append_2956 = bufio.marker +-@COND_i386_pc_TRUE@am__append_2957 = bufio.module +-@COND_i386_pc_TRUE@am__append_2958 = bufio.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_2959 = +-@COND_i386_pc_TRUE@am__append_2960 = $(nodist_bufio_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_2961 = $(nodist_bufio_module_SOURCES) \ ++@COND_emu_TRUE@am__append_2948 = bufio.mod ++@COND_emu_TRUE@am__append_2949 = bufio.marker ++@COND_i386_pc_TRUE@am__append_2950 = bufio.module ++@COND_i386_pc_TRUE@am__append_2951 = bufio.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_2952 = ++@COND_i386_pc_TRUE@am__append_2953 = $(nodist_bufio_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_2954 = $(nodist_bufio_module_SOURCES) \ + @COND_i386_pc_TRUE@ bufio.marker +-@COND_i386_pc_TRUE@am__append_2962 = bufio.mod +-@COND_i386_pc_TRUE@am__append_2963 = bufio.marker +-@COND_i386_efi_TRUE@am__append_2964 = bufio.module +-@COND_i386_efi_TRUE@am__append_2965 = bufio.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_2966 = +-@COND_i386_efi_TRUE@am__append_2967 = $(nodist_bufio_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_2968 = $(nodist_bufio_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_2955 = bufio.mod ++@COND_i386_pc_TRUE@am__append_2956 = bufio.marker ++@COND_i386_efi_TRUE@am__append_2957 = bufio.module ++@COND_i386_efi_TRUE@am__append_2958 = bufio.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_2959 = ++@COND_i386_efi_TRUE@am__append_2960 = $(nodist_bufio_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_2961 = $(nodist_bufio_module_SOURCES) \ + @COND_i386_efi_TRUE@ bufio.marker +-@COND_i386_efi_TRUE@am__append_2969 = bufio.mod +-@COND_i386_efi_TRUE@am__append_2970 = bufio.marker +-@COND_i386_qemu_TRUE@am__append_2971 = bufio.module +-@COND_i386_qemu_TRUE@am__append_2972 = bufio.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_2973 = +-@COND_i386_qemu_TRUE@am__append_2974 = $(nodist_bufio_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_2975 = $(nodist_bufio_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_2962 = bufio.mod ++@COND_i386_efi_TRUE@am__append_2963 = bufio.marker ++@COND_i386_qemu_TRUE@am__append_2964 = bufio.module ++@COND_i386_qemu_TRUE@am__append_2965 = bufio.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_2966 = ++@COND_i386_qemu_TRUE@am__append_2967 = $(nodist_bufio_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_2968 = $(nodist_bufio_module_SOURCES) \ + @COND_i386_qemu_TRUE@ bufio.marker +-@COND_i386_qemu_TRUE@am__append_2976 = bufio.mod +-@COND_i386_qemu_TRUE@am__append_2977 = bufio.marker +-@COND_i386_multiboot_TRUE@am__append_2978 = bufio.module +-@COND_i386_multiboot_TRUE@am__append_2979 = bufio.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_2980 = +-@COND_i386_multiboot_TRUE@am__append_2981 = $(nodist_bufio_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_2982 = \ ++@COND_i386_qemu_TRUE@am__append_2969 = bufio.mod ++@COND_i386_qemu_TRUE@am__append_2970 = bufio.marker ++@COND_i386_multiboot_TRUE@am__append_2971 = bufio.module ++@COND_i386_multiboot_TRUE@am__append_2972 = bufio.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_2973 = ++@COND_i386_multiboot_TRUE@am__append_2974 = $(nodist_bufio_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_2975 = \ + @COND_i386_multiboot_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ bufio.marker +-@COND_i386_multiboot_TRUE@am__append_2983 = bufio.mod +-@COND_i386_multiboot_TRUE@am__append_2984 = bufio.marker +-@COND_i386_ieee1275_TRUE@am__append_2985 = bufio.module +-@COND_i386_ieee1275_TRUE@am__append_2986 = bufio.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_2987 = +-@COND_i386_ieee1275_TRUE@am__append_2988 = $(nodist_bufio_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_2989 = \ ++@COND_i386_multiboot_TRUE@am__append_2976 = bufio.mod ++@COND_i386_multiboot_TRUE@am__append_2977 = bufio.marker ++@COND_i386_ieee1275_TRUE@am__append_2978 = bufio.module ++@COND_i386_ieee1275_TRUE@am__append_2979 = bufio.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_2980 = ++@COND_i386_ieee1275_TRUE@am__append_2981 = $(nodist_bufio_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_2982 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ bufio.marker +-@COND_i386_ieee1275_TRUE@am__append_2990 = bufio.mod +-@COND_i386_ieee1275_TRUE@am__append_2991 = bufio.marker +-@COND_x86_64_efi_TRUE@am__append_2992 = bufio.module +-@COND_x86_64_efi_TRUE@am__append_2993 = bufio.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_2994 = +-@COND_x86_64_efi_TRUE@am__append_2995 = $(nodist_bufio_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_2996 = \ ++@COND_i386_ieee1275_TRUE@am__append_2983 = bufio.mod ++@COND_i386_ieee1275_TRUE@am__append_2984 = bufio.marker ++@COND_x86_64_efi_TRUE@am__append_2985 = bufio.module ++@COND_x86_64_efi_TRUE@am__append_2986 = bufio.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_2987 = ++@COND_x86_64_efi_TRUE@am__append_2988 = $(nodist_bufio_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_2989 = \ + @COND_x86_64_efi_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ bufio.marker +-@COND_x86_64_efi_TRUE@am__append_2997 = bufio.mod +-@COND_x86_64_efi_TRUE@am__append_2998 = bufio.marker +-@COND_i386_xen_TRUE@am__append_2999 = bufio.module +-@COND_i386_xen_TRUE@am__append_3000 = bufio.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_3001 = +-@COND_i386_xen_TRUE@am__append_3002 = $(nodist_bufio_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_3003 = $(nodist_bufio_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_2990 = bufio.mod ++@COND_x86_64_efi_TRUE@am__append_2991 = bufio.marker ++@COND_i386_xen_TRUE@am__append_2992 = bufio.module ++@COND_i386_xen_TRUE@am__append_2993 = bufio.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_2994 = ++@COND_i386_xen_TRUE@am__append_2995 = $(nodist_bufio_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_2996 = $(nodist_bufio_module_SOURCES) \ + @COND_i386_xen_TRUE@ bufio.marker +-@COND_i386_xen_TRUE@am__append_3004 = bufio.mod +-@COND_i386_xen_TRUE@am__append_3005 = bufio.marker +-@COND_x86_64_xen_TRUE@am__append_3006 = bufio.module +-@COND_x86_64_xen_TRUE@am__append_3007 = bufio.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_3008 = +-@COND_x86_64_xen_TRUE@am__append_3009 = $(nodist_bufio_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_3010 = \ ++@COND_i386_xen_TRUE@am__append_2997 = bufio.mod ++@COND_i386_xen_TRUE@am__append_2998 = bufio.marker ++@COND_x86_64_xen_TRUE@am__append_2999 = bufio.module ++@COND_x86_64_xen_TRUE@am__append_3000 = bufio.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_3001 = ++@COND_x86_64_xen_TRUE@am__append_3002 = $(nodist_bufio_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_3003 = \ + @COND_x86_64_xen_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ bufio.marker +-@COND_x86_64_xen_TRUE@am__append_3011 = bufio.mod +-@COND_x86_64_xen_TRUE@am__append_3012 = bufio.marker +-@COND_i386_xen_pvh_TRUE@am__append_3013 = bufio.module +-@COND_i386_xen_pvh_TRUE@am__append_3014 = bufio.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_3015 = +-@COND_i386_xen_pvh_TRUE@am__append_3016 = $(nodist_bufio_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_3017 = \ ++@COND_x86_64_xen_TRUE@am__append_3004 = bufio.mod ++@COND_x86_64_xen_TRUE@am__append_3005 = bufio.marker ++@COND_i386_xen_pvh_TRUE@am__append_3006 = bufio.module ++@COND_i386_xen_pvh_TRUE@am__append_3007 = bufio.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_3008 = ++@COND_i386_xen_pvh_TRUE@am__append_3009 = $(nodist_bufio_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_3010 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ bufio.marker +-@COND_i386_xen_pvh_TRUE@am__append_3018 = bufio.mod +-@COND_i386_xen_pvh_TRUE@am__append_3019 = bufio.marker +-@COND_sparc64_ieee1275_TRUE@am__append_3020 = bufio.module +-@COND_sparc64_ieee1275_TRUE@am__append_3021 = bufio.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_3022 = +-@COND_sparc64_ieee1275_TRUE@am__append_3023 = $(nodist_bufio_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_3024 = \ ++@COND_i386_xen_pvh_TRUE@am__append_3011 = bufio.mod ++@COND_i386_xen_pvh_TRUE@am__append_3012 = bufio.marker ++@COND_sparc64_ieee1275_TRUE@am__append_3013 = bufio.module ++@COND_sparc64_ieee1275_TRUE@am__append_3014 = bufio.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_3015 = ++@COND_sparc64_ieee1275_TRUE@am__append_3016 = $(nodist_bufio_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_3017 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ bufio.marker +-@COND_sparc64_ieee1275_TRUE@am__append_3025 = bufio.mod +-@COND_sparc64_ieee1275_TRUE@am__append_3026 = bufio.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3027 = bufio.module +-@COND_powerpc_ieee1275_TRUE@am__append_3028 = bufio.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_3029 = +-@COND_powerpc_ieee1275_TRUE@am__append_3030 = $(nodist_bufio_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_3031 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_3018 = bufio.mod ++@COND_sparc64_ieee1275_TRUE@am__append_3019 = bufio.marker ++@COND_powerpc_ieee1275_TRUE@am__append_3020 = bufio.module ++@COND_powerpc_ieee1275_TRUE@am__append_3021 = bufio.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_3022 = ++@COND_powerpc_ieee1275_TRUE@am__append_3023 = $(nodist_bufio_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_3024 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ bufio.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3032 = bufio.mod +-@COND_powerpc_ieee1275_TRUE@am__append_3033 = bufio.marker +-@COND_mips_arc_TRUE@am__append_3034 = bufio.module +-@COND_mips_arc_TRUE@am__append_3035 = bufio.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_3036 = +-@COND_mips_arc_TRUE@am__append_3037 = $(nodist_bufio_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_3038 = $(nodist_bufio_module_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_3025 = bufio.mod ++@COND_powerpc_ieee1275_TRUE@am__append_3026 = bufio.marker ++@COND_mips_arc_TRUE@am__append_3027 = bufio.module ++@COND_mips_arc_TRUE@am__append_3028 = bufio.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_3029 = ++@COND_mips_arc_TRUE@am__append_3030 = $(nodist_bufio_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_3031 = $(nodist_bufio_module_SOURCES) \ + @COND_mips_arc_TRUE@ bufio.marker +-@COND_mips_arc_TRUE@am__append_3039 = bufio.mod +-@COND_mips_arc_TRUE@am__append_3040 = bufio.marker +-@COND_ia64_efi_TRUE@am__append_3041 = bufio.module +-@COND_ia64_efi_TRUE@am__append_3042 = bufio.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_3043 = +-@COND_ia64_efi_TRUE@am__append_3044 = $(nodist_bufio_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_3045 = $(nodist_bufio_module_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_3032 = bufio.mod ++@COND_mips_arc_TRUE@am__append_3033 = bufio.marker ++@COND_ia64_efi_TRUE@am__append_3034 = bufio.module ++@COND_ia64_efi_TRUE@am__append_3035 = bufio.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_3036 = ++@COND_ia64_efi_TRUE@am__append_3037 = $(nodist_bufio_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_3038 = $(nodist_bufio_module_SOURCES) \ + @COND_ia64_efi_TRUE@ bufio.marker +-@COND_ia64_efi_TRUE@am__append_3046 = bufio.mod +-@COND_ia64_efi_TRUE@am__append_3047 = bufio.marker +-@COND_mips_qemu_mips_TRUE@am__append_3048 = bufio.module +-@COND_mips_qemu_mips_TRUE@am__append_3049 = bufio.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_3050 = +-@COND_mips_qemu_mips_TRUE@am__append_3051 = $(nodist_bufio_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_3052 = \ ++@COND_ia64_efi_TRUE@am__append_3039 = bufio.mod ++@COND_ia64_efi_TRUE@am__append_3040 = bufio.marker ++@COND_mips_qemu_mips_TRUE@am__append_3041 = bufio.module ++@COND_mips_qemu_mips_TRUE@am__append_3042 = bufio.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_3043 = ++@COND_mips_qemu_mips_TRUE@am__append_3044 = $(nodist_bufio_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_3045 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ bufio.marker +-@COND_mips_qemu_mips_TRUE@am__append_3053 = bufio.mod +-@COND_mips_qemu_mips_TRUE@am__append_3054 = bufio.marker +-@COND_arm_uboot_TRUE@am__append_3055 = bufio.module +-@COND_arm_uboot_TRUE@am__append_3056 = bufio.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__append_3057 = +-@COND_arm_uboot_TRUE@am__append_3058 = $(nodist_bufio_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_3059 = $(nodist_bufio_module_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_3046 = bufio.mod ++@COND_mips_qemu_mips_TRUE@am__append_3047 = bufio.marker ++@COND_arm_uboot_TRUE@am__append_3048 = bufio.module ++@COND_arm_uboot_TRUE@am__append_3049 = bufio.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_3050 = ++@COND_arm_uboot_TRUE@am__append_3051 = $(nodist_bufio_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_3052 = $(nodist_bufio_module_SOURCES) \ + @COND_arm_uboot_TRUE@ bufio.marker +-@COND_arm_uboot_TRUE@am__append_3060 = bufio.mod +-@COND_arm_uboot_TRUE@am__append_3061 = bufio.marker +-@COND_arm_efi_TRUE@am__append_3062 = bufio.module +-@COND_arm_efi_TRUE@am__append_3063 = bufio.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_3064 = +-@COND_arm_efi_TRUE@am__append_3065 = $(nodist_bufio_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_3066 = $(nodist_bufio_module_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_3053 = bufio.mod ++@COND_arm_uboot_TRUE@am__append_3054 = bufio.marker ++@COND_arm_efi_TRUE@am__append_3055 = bufio.module ++@COND_arm_efi_TRUE@am__append_3056 = bufio.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_3057 = ++@COND_arm_efi_TRUE@am__append_3058 = $(nodist_bufio_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_3059 = $(nodist_bufio_module_SOURCES) \ + @COND_arm_efi_TRUE@ bufio.marker +-@COND_arm_efi_TRUE@am__append_3067 = bufio.mod +-@COND_arm_efi_TRUE@am__append_3068 = bufio.marker +-@COND_arm64_efi_TRUE@am__append_3069 = bufio.module +-@COND_arm64_efi_TRUE@am__append_3070 = bufio.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_3071 = +-@COND_arm64_efi_TRUE@am__append_3072 = $(nodist_bufio_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_3073 = $(nodist_bufio_module_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_3060 = bufio.mod ++@COND_arm_efi_TRUE@am__append_3061 = bufio.marker ++@COND_arm64_efi_TRUE@am__append_3062 = bufio.module ++@COND_arm64_efi_TRUE@am__append_3063 = bufio.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_3064 = ++@COND_arm64_efi_TRUE@am__append_3065 = $(nodist_bufio_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_3066 = $(nodist_bufio_module_SOURCES) \ + @COND_arm64_efi_TRUE@ bufio.marker +-@COND_arm64_efi_TRUE@am__append_3074 = bufio.mod +-@COND_arm64_efi_TRUE@am__append_3075 = bufio.marker +-@COND_riscv32_efi_TRUE@am__append_3076 = bufio.module +-@COND_riscv32_efi_TRUE@am__append_3077 = bufio.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_3078 = +-@COND_riscv32_efi_TRUE@am__append_3079 = $(nodist_bufio_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_3080 = \ ++@COND_arm64_efi_TRUE@am__append_3067 = bufio.mod ++@COND_arm64_efi_TRUE@am__append_3068 = bufio.marker ++@COND_riscv32_efi_TRUE@am__append_3069 = bufio.module ++@COND_riscv32_efi_TRUE@am__append_3070 = bufio.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_3071 = ++@COND_riscv32_efi_TRUE@am__append_3072 = $(nodist_bufio_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_3073 = \ + @COND_riscv32_efi_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ bufio.marker +-@COND_riscv32_efi_TRUE@am__append_3081 = bufio.mod +-@COND_riscv32_efi_TRUE@am__append_3082 = bufio.marker +-@COND_riscv64_efi_TRUE@am__append_3083 = bufio.module +-@COND_riscv64_efi_TRUE@am__append_3084 = bufio.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_3085 = +-@COND_riscv64_efi_TRUE@am__append_3086 = $(nodist_bufio_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_3087 = \ ++@COND_riscv32_efi_TRUE@am__append_3074 = bufio.mod ++@COND_riscv32_efi_TRUE@am__append_3075 = bufio.marker ++@COND_riscv64_efi_TRUE@am__append_3076 = bufio.module ++@COND_riscv64_efi_TRUE@am__append_3077 = bufio.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3078 = ++@COND_riscv64_efi_TRUE@am__append_3079 = $(nodist_bufio_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_3080 = \ + @COND_riscv64_efi_TRUE@ $(nodist_bufio_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ bufio.marker +-@COND_riscv64_efi_TRUE@am__append_3088 = bufio.mod +-@COND_riscv64_efi_TRUE@am__append_3089 = bufio.marker +-@COND_i386_pc_TRUE@am__append_3090 = relocator.module +-@COND_i386_pc_TRUE@am__append_3091 = relocator.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3081 = bufio.mod ++@COND_riscv64_efi_TRUE@am__append_3082 = bufio.marker ++@COND_i386_pc_TRUE@am__append_3083 = relocator.module ++@COND_i386_pc_TRUE@am__append_3084 = relocator.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@relocator_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3092 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_pc_TRUE@am__append_3093 = $(nodist_relocator_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3094 = \ ++@COND_i386_pc_TRUE@am__append_3085 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_pc_TRUE@am__append_3086 = $(nodist_relocator_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3087 = \ + @COND_i386_pc_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_pc_TRUE@ relocator.marker +-@COND_i386_pc_TRUE@am__append_3095 = relocator.mod +-@COND_i386_pc_TRUE@am__append_3096 = relocator.marker +-@COND_i386_efi_TRUE@am__append_3097 = relocator.module +-@COND_i386_efi_TRUE@am__append_3098 = relocator.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3099 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_efi_TRUE@am__append_3100 = $(nodist_relocator_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3101 = \ ++@COND_i386_pc_TRUE@am__append_3088 = relocator.mod ++@COND_i386_pc_TRUE@am__append_3089 = relocator.marker ++@COND_i386_efi_TRUE@am__append_3090 = relocator.module ++@COND_i386_efi_TRUE@am__append_3091 = relocator.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3092 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_efi_TRUE@am__append_3093 = $(nodist_relocator_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3094 = \ + @COND_i386_efi_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_efi_TRUE@ relocator.marker +-@COND_i386_efi_TRUE@am__append_3102 = relocator.mod +-@COND_i386_efi_TRUE@am__append_3103 = relocator.marker +-@COND_i386_qemu_TRUE@am__append_3104 = relocator.module +-@COND_i386_qemu_TRUE@am__append_3105 = relocator.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3106 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_qemu_TRUE@am__append_3107 = $(nodist_relocator_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3108 = \ ++@COND_i386_efi_TRUE@am__append_3095 = relocator.mod ++@COND_i386_efi_TRUE@am__append_3096 = relocator.marker ++@COND_i386_qemu_TRUE@am__append_3097 = relocator.module ++@COND_i386_qemu_TRUE@am__append_3098 = relocator.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3099 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_qemu_TRUE@am__append_3100 = $(nodist_relocator_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3101 = \ + @COND_i386_qemu_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_qemu_TRUE@ relocator.marker +-@COND_i386_qemu_TRUE@am__append_3109 = relocator.mod +-@COND_i386_qemu_TRUE@am__append_3110 = relocator.marker +-@COND_i386_coreboot_TRUE@am__append_3111 = relocator.module +-@COND_i386_coreboot_TRUE@am__append_3112 = relocator.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3113 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_coreboot_TRUE@am__append_3114 = $(nodist_relocator_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3115 = \ ++@COND_i386_qemu_TRUE@am__append_3102 = relocator.mod ++@COND_i386_qemu_TRUE@am__append_3103 = relocator.marker ++@COND_i386_coreboot_TRUE@am__append_3104 = relocator.module ++@COND_i386_coreboot_TRUE@am__append_3105 = relocator.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3106 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_coreboot_TRUE@am__append_3107 = $(nodist_relocator_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3108 = \ + @COND_i386_coreboot_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ relocator.marker +-@COND_i386_coreboot_TRUE@am__append_3116 = relocator.mod +-@COND_i386_coreboot_TRUE@am__append_3117 = relocator.marker +-@COND_i386_multiboot_TRUE@am__append_3118 = relocator.module +-@COND_i386_multiboot_TRUE@am__append_3119 = relocator.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3120 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_multiboot_TRUE@am__append_3121 = $(nodist_relocator_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3122 = \ ++@COND_i386_coreboot_TRUE@am__append_3109 = relocator.mod ++@COND_i386_coreboot_TRUE@am__append_3110 = relocator.marker ++@COND_i386_multiboot_TRUE@am__append_3111 = relocator.module ++@COND_i386_multiboot_TRUE@am__append_3112 = relocator.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3113 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_multiboot_TRUE@am__append_3114 = $(nodist_relocator_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3115 = \ + @COND_i386_multiboot_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ relocator.marker +-@COND_i386_multiboot_TRUE@am__append_3123 = relocator.mod +-@COND_i386_multiboot_TRUE@am__append_3124 = relocator.marker +-@COND_i386_ieee1275_TRUE@am__append_3125 = relocator.module +-@COND_i386_ieee1275_TRUE@am__append_3126 = relocator.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3127 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_ieee1275_TRUE@am__append_3128 = $(nodist_relocator_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3129 = \ ++@COND_i386_multiboot_TRUE@am__append_3116 = relocator.mod ++@COND_i386_multiboot_TRUE@am__append_3117 = relocator.marker ++@COND_i386_ieee1275_TRUE@am__append_3118 = relocator.module ++@COND_i386_ieee1275_TRUE@am__append_3119 = relocator.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3120 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_ieee1275_TRUE@am__append_3121 = $(nodist_relocator_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3122 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ relocator.marker +-@COND_i386_ieee1275_TRUE@am__append_3130 = relocator.mod +-@COND_i386_ieee1275_TRUE@am__append_3131 = relocator.marker +-@COND_x86_64_efi_TRUE@am__append_3132 = relocator.module +-@COND_x86_64_efi_TRUE@am__append_3133 = relocator.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3134 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_x86_64_efi_TRUE@am__append_3135 = $(nodist_relocator_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3136 = \ ++@COND_i386_ieee1275_TRUE@am__append_3123 = relocator.mod ++@COND_i386_ieee1275_TRUE@am__append_3124 = relocator.marker ++@COND_x86_64_efi_TRUE@am__append_3125 = relocator.module ++@COND_x86_64_efi_TRUE@am__append_3126 = relocator.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3127 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_x86_64_efi_TRUE@am__append_3128 = $(nodist_relocator_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3129 = \ + @COND_x86_64_efi_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ relocator.marker +-@COND_x86_64_efi_TRUE@am__append_3137 = relocator.mod +-@COND_x86_64_efi_TRUE@am__append_3138 = relocator.marker +-@COND_i386_xen_TRUE@am__append_3139 = relocator.module +-@COND_i386_xen_TRUE@am__append_3140 = relocator.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_3141 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_xen_TRUE@am__append_3142 = $(nodist_relocator_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_3143 = \ ++@COND_x86_64_efi_TRUE@am__append_3130 = relocator.mod ++@COND_x86_64_efi_TRUE@am__append_3131 = relocator.marker ++@COND_i386_xen_TRUE@am__append_3132 = relocator.module ++@COND_i386_xen_TRUE@am__append_3133 = relocator.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_3134 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_xen_TRUE@am__append_3135 = $(nodist_relocator_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_3136 = \ + @COND_i386_xen_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_xen_TRUE@ relocator.marker +-@COND_i386_xen_TRUE@am__append_3144 = relocator.mod +-@COND_i386_xen_TRUE@am__append_3145 = relocator.marker +-@COND_x86_64_xen_TRUE@am__append_3146 = relocator.module +-@COND_x86_64_xen_TRUE@am__append_3147 = relocator.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_3148 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_x86_64_xen_TRUE@am__append_3149 = $(nodist_relocator_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_3150 = \ ++@COND_i386_xen_TRUE@am__append_3137 = relocator.mod ++@COND_i386_xen_TRUE@am__append_3138 = relocator.marker ++@COND_x86_64_xen_TRUE@am__append_3139 = relocator.module ++@COND_x86_64_xen_TRUE@am__append_3140 = relocator.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_3141 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_x86_64_xen_TRUE@am__append_3142 = $(nodist_relocator_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_3143 = \ + @COND_x86_64_xen_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ relocator.marker +-@COND_x86_64_xen_TRUE@am__append_3151 = relocator.mod +-@COND_x86_64_xen_TRUE@am__append_3152 = relocator.marker +-@COND_i386_xen_pvh_TRUE@am__append_3153 = relocator.module +-@COND_i386_xen_pvh_TRUE@am__append_3154 = relocator.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_3155 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_i386_xen_pvh_TRUE@am__append_3156 = $(nodist_relocator_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_3157 = \ ++@COND_x86_64_xen_TRUE@am__append_3144 = relocator.mod ++@COND_x86_64_xen_TRUE@am__append_3145 = relocator.marker ++@COND_i386_xen_pvh_TRUE@am__append_3146 = relocator.module ++@COND_i386_xen_pvh_TRUE@am__append_3147 = relocator.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_3148 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_i386_xen_pvh_TRUE@am__append_3149 = $(nodist_relocator_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_3150 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ relocator.marker +-@COND_i386_xen_pvh_TRUE@am__append_3158 = relocator.mod +-@COND_i386_xen_pvh_TRUE@am__append_3159 = relocator.marker +-@COND_mips_loongson_TRUE@am__append_3160 = relocator.module +-@COND_mips_loongson_TRUE@am__append_3161 = relocator.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_3162 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_mips_loongson_TRUE@am__append_3163 = $(nodist_relocator_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_3164 = \ ++@COND_i386_xen_pvh_TRUE@am__append_3151 = relocator.mod ++@COND_i386_xen_pvh_TRUE@am__append_3152 = relocator.marker ++@COND_mips_loongson_TRUE@am__append_3153 = relocator.module ++@COND_mips_loongson_TRUE@am__append_3154 = relocator.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_3155 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_mips_loongson_TRUE@am__append_3156 = $(nodist_relocator_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_3157 = \ + @COND_mips_loongson_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_mips_loongson_TRUE@ relocator.marker +-@COND_mips_loongson_TRUE@am__append_3165 = relocator.mod +-@COND_mips_loongson_TRUE@am__append_3166 = relocator.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3167 = relocator.module +-@COND_powerpc_ieee1275_TRUE@am__append_3168 = relocator.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_3169 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_powerpc_ieee1275_TRUE@am__append_3170 = $(nodist_relocator_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_3171 = $(nodist_relocator_module_SOURCES) \ ++@COND_mips_loongson_TRUE@am__append_3158 = relocator.mod ++@COND_mips_loongson_TRUE@am__append_3159 = relocator.marker ++@COND_powerpc_ieee1275_TRUE@am__append_3160 = relocator.module ++@COND_powerpc_ieee1275_TRUE@am__append_3161 = relocator.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_3162 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_powerpc_ieee1275_TRUE@am__append_3163 = $(nodist_relocator_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_3164 = $(nodist_relocator_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ relocator.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3172 = relocator.mod +-@COND_powerpc_ieee1275_TRUE@am__append_3173 = relocator.marker +-@COND_mips_arc_TRUE@am__append_3174 = relocator.module +-@COND_mips_arc_TRUE@am__append_3175 = relocator.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_3176 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_mips_arc_TRUE@am__append_3177 = $(nodist_relocator_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_3178 = \ ++@COND_powerpc_ieee1275_TRUE@am__append_3165 = relocator.mod ++@COND_powerpc_ieee1275_TRUE@am__append_3166 = relocator.marker ++@COND_mips_arc_TRUE@am__append_3167 = relocator.module ++@COND_mips_arc_TRUE@am__append_3168 = relocator.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_3169 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_mips_arc_TRUE@am__append_3170 = $(nodist_relocator_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_3171 = \ + @COND_mips_arc_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_mips_arc_TRUE@ relocator.marker +-@COND_mips_arc_TRUE@am__append_3179 = relocator.mod +-@COND_mips_arc_TRUE@am__append_3180 = relocator.marker +-@COND_mips_qemu_mips_TRUE@am__append_3181 = relocator.module +-@COND_mips_qemu_mips_TRUE@am__append_3182 = relocator.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_3183 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S +-@COND_mips_qemu_mips_TRUE@am__append_3184 = $(nodist_relocator_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_3185 = \ ++@COND_mips_arc_TRUE@am__append_3172 = relocator.mod ++@COND_mips_arc_TRUE@am__append_3173 = relocator.marker ++@COND_mips_qemu_mips_TRUE@am__append_3174 = relocator.module ++@COND_mips_qemu_mips_TRUE@am__append_3175 = relocator.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_3176 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S ++@COND_mips_qemu_mips_TRUE@am__append_3177 = $(nodist_relocator_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_3178 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_relocator_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ relocator.marker +-@COND_mips_qemu_mips_TRUE@am__append_3186 = relocator.mod +-@COND_mips_qemu_mips_TRUE@am__append_3187 = relocator.marker +-@COND_i386_pc_TRUE@am__append_3188 = datetime.module +-@COND_i386_pc_TRUE@am__append_3189 = datetime.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_3179 = relocator.mod ++@COND_mips_qemu_mips_TRUE@am__append_3180 = relocator.marker ++@COND_i386_pc_TRUE@am__append_3181 = datetime.module ++@COND_i386_pc_TRUE@am__append_3182 = datetime.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@datetime_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3190 = +-@COND_i386_pc_TRUE@am__append_3191 = $(nodist_datetime_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3192 = \ ++@COND_i386_pc_TRUE@am__append_3183 = ++@COND_i386_pc_TRUE@am__append_3184 = $(nodist_datetime_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3185 = \ + @COND_i386_pc_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_pc_TRUE@ datetime.marker +-@COND_i386_pc_TRUE@am__append_3193 = datetime.mod +-@COND_i386_pc_TRUE@am__append_3194 = datetime.marker +-@COND_i386_efi_TRUE@am__append_3195 = datetime.module +-@COND_i386_efi_TRUE@am__append_3196 = datetime.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3197 = +-@COND_i386_efi_TRUE@am__append_3198 = $(nodist_datetime_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3199 = \ ++@COND_i386_pc_TRUE@am__append_3186 = datetime.mod ++@COND_i386_pc_TRUE@am__append_3187 = datetime.marker ++@COND_i386_efi_TRUE@am__append_3188 = datetime.module ++@COND_i386_efi_TRUE@am__append_3189 = datetime.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3190 = ++@COND_i386_efi_TRUE@am__append_3191 = $(nodist_datetime_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3192 = \ + @COND_i386_efi_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_efi_TRUE@ datetime.marker +-@COND_i386_efi_TRUE@am__append_3200 = datetime.mod +-@COND_i386_efi_TRUE@am__append_3201 = datetime.marker +-@COND_i386_qemu_TRUE@am__append_3202 = datetime.module +-@COND_i386_qemu_TRUE@am__append_3203 = datetime.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3204 = +-@COND_i386_qemu_TRUE@am__append_3205 = $(nodist_datetime_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3206 = \ ++@COND_i386_efi_TRUE@am__append_3193 = datetime.mod ++@COND_i386_efi_TRUE@am__append_3194 = datetime.marker ++@COND_i386_qemu_TRUE@am__append_3195 = datetime.module ++@COND_i386_qemu_TRUE@am__append_3196 = datetime.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3197 = ++@COND_i386_qemu_TRUE@am__append_3198 = $(nodist_datetime_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3199 = \ + @COND_i386_qemu_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_qemu_TRUE@ datetime.marker +-@COND_i386_qemu_TRUE@am__append_3207 = datetime.mod +-@COND_i386_qemu_TRUE@am__append_3208 = datetime.marker +-@COND_i386_coreboot_TRUE@am__append_3209 = datetime.module +-@COND_i386_coreboot_TRUE@am__append_3210 = datetime.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3211 = +-@COND_i386_coreboot_TRUE@am__append_3212 = $(nodist_datetime_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3213 = \ ++@COND_i386_qemu_TRUE@am__append_3200 = datetime.mod ++@COND_i386_qemu_TRUE@am__append_3201 = datetime.marker ++@COND_i386_coreboot_TRUE@am__append_3202 = datetime.module ++@COND_i386_coreboot_TRUE@am__append_3203 = datetime.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3204 = ++@COND_i386_coreboot_TRUE@am__append_3205 = $(nodist_datetime_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3206 = \ + @COND_i386_coreboot_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ datetime.marker +-@COND_i386_coreboot_TRUE@am__append_3214 = datetime.mod +-@COND_i386_coreboot_TRUE@am__append_3215 = datetime.marker +-@COND_i386_multiboot_TRUE@am__append_3216 = datetime.module +-@COND_i386_multiboot_TRUE@am__append_3217 = datetime.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3218 = +-@COND_i386_multiboot_TRUE@am__append_3219 = $(nodist_datetime_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3220 = \ ++@COND_i386_coreboot_TRUE@am__append_3207 = datetime.mod ++@COND_i386_coreboot_TRUE@am__append_3208 = datetime.marker ++@COND_i386_multiboot_TRUE@am__append_3209 = datetime.module ++@COND_i386_multiboot_TRUE@am__append_3210 = datetime.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3211 = ++@COND_i386_multiboot_TRUE@am__append_3212 = $(nodist_datetime_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3213 = \ + @COND_i386_multiboot_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ datetime.marker +-@COND_i386_multiboot_TRUE@am__append_3221 = datetime.mod +-@COND_i386_multiboot_TRUE@am__append_3222 = datetime.marker +-@COND_i386_ieee1275_TRUE@am__append_3223 = datetime.module +-@COND_i386_ieee1275_TRUE@am__append_3224 = datetime.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3225 = +-@COND_i386_ieee1275_TRUE@am__append_3226 = $(nodist_datetime_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3227 = \ ++@COND_i386_multiboot_TRUE@am__append_3214 = datetime.mod ++@COND_i386_multiboot_TRUE@am__append_3215 = datetime.marker ++@COND_i386_ieee1275_TRUE@am__append_3216 = datetime.module ++@COND_i386_ieee1275_TRUE@am__append_3217 = datetime.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3218 = ++@COND_i386_ieee1275_TRUE@am__append_3219 = $(nodist_datetime_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3220 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ datetime.marker +-@COND_i386_ieee1275_TRUE@am__append_3228 = datetime.mod +-@COND_i386_ieee1275_TRUE@am__append_3229 = datetime.marker +-@COND_x86_64_efi_TRUE@am__append_3230 = datetime.module +-@COND_x86_64_efi_TRUE@am__append_3231 = datetime.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3232 = +-@COND_x86_64_efi_TRUE@am__append_3233 = $(nodist_datetime_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3234 = \ ++@COND_i386_ieee1275_TRUE@am__append_3221 = datetime.mod ++@COND_i386_ieee1275_TRUE@am__append_3222 = datetime.marker ++@COND_x86_64_efi_TRUE@am__append_3223 = datetime.module ++@COND_x86_64_efi_TRUE@am__append_3224 = datetime.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3225 = ++@COND_x86_64_efi_TRUE@am__append_3226 = $(nodist_datetime_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3227 = \ + @COND_x86_64_efi_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ datetime.marker +-@COND_x86_64_efi_TRUE@am__append_3235 = datetime.mod +-@COND_x86_64_efi_TRUE@am__append_3236 = datetime.marker +-@COND_i386_xen_TRUE@am__append_3237 = datetime.module +-@COND_i386_xen_TRUE@am__append_3238 = datetime.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_3239 = +-@COND_i386_xen_TRUE@am__append_3240 = $(nodist_datetime_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_3241 = \ ++@COND_x86_64_efi_TRUE@am__append_3228 = datetime.mod ++@COND_x86_64_efi_TRUE@am__append_3229 = datetime.marker ++@COND_i386_xen_TRUE@am__append_3230 = datetime.module ++@COND_i386_xen_TRUE@am__append_3231 = datetime.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_3232 = ++@COND_i386_xen_TRUE@am__append_3233 = $(nodist_datetime_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_3234 = \ + @COND_i386_xen_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_xen_TRUE@ datetime.marker +-@COND_i386_xen_TRUE@am__append_3242 = datetime.mod +-@COND_i386_xen_TRUE@am__append_3243 = datetime.marker +-@COND_x86_64_xen_TRUE@am__append_3244 = datetime.module +-@COND_x86_64_xen_TRUE@am__append_3245 = datetime.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_3246 = +-@COND_x86_64_xen_TRUE@am__append_3247 = $(nodist_datetime_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_3248 = \ ++@COND_i386_xen_TRUE@am__append_3235 = datetime.mod ++@COND_i386_xen_TRUE@am__append_3236 = datetime.marker ++@COND_x86_64_xen_TRUE@am__append_3237 = datetime.module ++@COND_x86_64_xen_TRUE@am__append_3238 = datetime.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_3239 = ++@COND_x86_64_xen_TRUE@am__append_3240 = $(nodist_datetime_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_3241 = \ + @COND_x86_64_xen_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ datetime.marker +-@COND_x86_64_xen_TRUE@am__append_3249 = datetime.mod +-@COND_x86_64_xen_TRUE@am__append_3250 = datetime.marker +-@COND_i386_xen_pvh_TRUE@am__append_3251 = datetime.module +-@COND_i386_xen_pvh_TRUE@am__append_3252 = datetime.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_3253 = +-@COND_i386_xen_pvh_TRUE@am__append_3254 = $(nodist_datetime_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_3255 = \ ++@COND_x86_64_xen_TRUE@am__append_3242 = datetime.mod ++@COND_x86_64_xen_TRUE@am__append_3243 = datetime.marker ++@COND_i386_xen_pvh_TRUE@am__append_3244 = datetime.module ++@COND_i386_xen_pvh_TRUE@am__append_3245 = datetime.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_3246 = ++@COND_i386_xen_pvh_TRUE@am__append_3247 = $(nodist_datetime_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_3248 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ datetime.marker +-@COND_i386_xen_pvh_TRUE@am__append_3256 = datetime.mod +-@COND_i386_xen_pvh_TRUE@am__append_3257 = datetime.marker +-@COND_mips_loongson_TRUE@am__append_3258 = datetime.module +-@COND_mips_loongson_TRUE@am__append_3259 = datetime.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_3260 = +-@COND_mips_loongson_TRUE@am__append_3261 = $(nodist_datetime_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_3262 = \ ++@COND_i386_xen_pvh_TRUE@am__append_3249 = datetime.mod ++@COND_i386_xen_pvh_TRUE@am__append_3250 = datetime.marker ++@COND_mips_loongson_TRUE@am__append_3251 = datetime.module ++@COND_mips_loongson_TRUE@am__append_3252 = datetime.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_3253 = ++@COND_mips_loongson_TRUE@am__append_3254 = $(nodist_datetime_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_3255 = \ + @COND_mips_loongson_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_mips_loongson_TRUE@ datetime.marker +-@COND_mips_loongson_TRUE@am__append_3263 = datetime.mod +-@COND_mips_loongson_TRUE@am__append_3264 = datetime.marker +-@COND_sparc64_ieee1275_TRUE@am__append_3265 = datetime.module +-@COND_sparc64_ieee1275_TRUE@am__append_3266 = datetime.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_3267 = +-@COND_sparc64_ieee1275_TRUE@am__append_3268 = $(nodist_datetime_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_3269 = \ ++@COND_mips_loongson_TRUE@am__append_3256 = datetime.mod ++@COND_mips_loongson_TRUE@am__append_3257 = datetime.marker ++@COND_sparc64_ieee1275_TRUE@am__append_3258 = datetime.module ++@COND_sparc64_ieee1275_TRUE@am__append_3259 = datetime.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_3260 = ++@COND_sparc64_ieee1275_TRUE@am__append_3261 = $(nodist_datetime_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_3262 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ datetime.marker +-@COND_sparc64_ieee1275_TRUE@am__append_3270 = datetime.mod +-@COND_sparc64_ieee1275_TRUE@am__append_3271 = datetime.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3272 = datetime.module +-@COND_powerpc_ieee1275_TRUE@am__append_3273 = datetime.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_3274 = +-@COND_powerpc_ieee1275_TRUE@am__append_3275 = $(nodist_datetime_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_3276 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_3263 = datetime.mod ++@COND_sparc64_ieee1275_TRUE@am__append_3264 = datetime.marker ++@COND_powerpc_ieee1275_TRUE@am__append_3265 = datetime.module ++@COND_powerpc_ieee1275_TRUE@am__append_3266 = datetime.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_3267 = ++@COND_powerpc_ieee1275_TRUE@am__append_3268 = $(nodist_datetime_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_3269 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ datetime.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3277 = datetime.mod +-@COND_powerpc_ieee1275_TRUE@am__append_3278 = datetime.marker +-@COND_mips_arc_TRUE@am__append_3279 = datetime.module +-@COND_mips_arc_TRUE@am__append_3280 = datetime.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_3281 = +-@COND_mips_arc_TRUE@am__append_3282 = $(nodist_datetime_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_3283 = \ ++@COND_powerpc_ieee1275_TRUE@am__append_3270 = datetime.mod ++@COND_powerpc_ieee1275_TRUE@am__append_3271 = datetime.marker ++@COND_mips_arc_TRUE@am__append_3272 = datetime.module ++@COND_mips_arc_TRUE@am__append_3273 = datetime.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_3274 = ++@COND_mips_arc_TRUE@am__append_3275 = $(nodist_datetime_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_3276 = \ + @COND_mips_arc_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_mips_arc_TRUE@ datetime.marker +-@COND_mips_arc_TRUE@am__append_3284 = datetime.mod +-@COND_mips_arc_TRUE@am__append_3285 = datetime.marker +-@COND_ia64_efi_TRUE@am__append_3286 = datetime.module +-@COND_ia64_efi_TRUE@am__append_3287 = datetime.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_3288 = +-@COND_ia64_efi_TRUE@am__append_3289 = $(nodist_datetime_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_3290 = \ ++@COND_mips_arc_TRUE@am__append_3277 = datetime.mod ++@COND_mips_arc_TRUE@am__append_3278 = datetime.marker ++@COND_ia64_efi_TRUE@am__append_3279 = datetime.module ++@COND_ia64_efi_TRUE@am__append_3280 = datetime.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_3281 = ++@COND_ia64_efi_TRUE@am__append_3282 = $(nodist_datetime_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_3283 = \ + @COND_ia64_efi_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_ia64_efi_TRUE@ datetime.marker +-@COND_ia64_efi_TRUE@am__append_3291 = datetime.mod +-@COND_ia64_efi_TRUE@am__append_3292 = datetime.marker +-@COND_mips_qemu_mips_TRUE@am__append_3293 = datetime.module +-@COND_mips_qemu_mips_TRUE@am__append_3294 = datetime.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_3295 = +-@COND_mips_qemu_mips_TRUE@am__append_3296 = $(nodist_datetime_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_3297 = \ ++@COND_ia64_efi_TRUE@am__append_3284 = datetime.mod ++@COND_ia64_efi_TRUE@am__append_3285 = datetime.marker ++@COND_mips_qemu_mips_TRUE@am__append_3286 = datetime.module ++@COND_mips_qemu_mips_TRUE@am__append_3287 = datetime.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_3288 = ++@COND_mips_qemu_mips_TRUE@am__append_3289 = $(nodist_datetime_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_3290 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ datetime.marker +-@COND_mips_qemu_mips_TRUE@am__append_3298 = datetime.mod +-@COND_mips_qemu_mips_TRUE@am__append_3299 = datetime.marker +-@COND_arm_uboot_TRUE@am__append_3300 = datetime.module +-@COND_arm_uboot_TRUE@am__append_3301 = datetime.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__append_3302 = +-@COND_arm_uboot_TRUE@am__append_3303 = $(nodist_datetime_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_3304 = \ ++@COND_mips_qemu_mips_TRUE@am__append_3291 = datetime.mod ++@COND_mips_qemu_mips_TRUE@am__append_3292 = datetime.marker ++@COND_arm_uboot_TRUE@am__append_3293 = datetime.module ++@COND_arm_uboot_TRUE@am__append_3294 = datetime.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_3295 = ++@COND_arm_uboot_TRUE@am__append_3296 = $(nodist_datetime_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_3297 = \ + @COND_arm_uboot_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_arm_uboot_TRUE@ datetime.marker +-@COND_arm_uboot_TRUE@am__append_3305 = datetime.mod +-@COND_arm_uboot_TRUE@am__append_3306 = datetime.marker +-@COND_arm_efi_TRUE@am__append_3307 = datetime.module +-@COND_arm_efi_TRUE@am__append_3308 = datetime.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_3309 = +-@COND_arm_efi_TRUE@am__append_3310 = $(nodist_datetime_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_3311 = \ ++@COND_arm_uboot_TRUE@am__append_3298 = datetime.mod ++@COND_arm_uboot_TRUE@am__append_3299 = datetime.marker ++@COND_arm_efi_TRUE@am__append_3300 = datetime.module ++@COND_arm_efi_TRUE@am__append_3301 = datetime.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_3302 = ++@COND_arm_efi_TRUE@am__append_3303 = $(nodist_datetime_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_3304 = \ + @COND_arm_efi_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_arm_efi_TRUE@ datetime.marker +-@COND_arm_efi_TRUE@am__append_3312 = datetime.mod +-@COND_arm_efi_TRUE@am__append_3313 = datetime.marker +-@COND_arm64_efi_TRUE@am__append_3314 = datetime.module +-@COND_arm64_efi_TRUE@am__append_3315 = datetime.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_3316 = +-@COND_arm64_efi_TRUE@am__append_3317 = $(nodist_datetime_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_3318 = \ ++@COND_arm_efi_TRUE@am__append_3305 = datetime.mod ++@COND_arm_efi_TRUE@am__append_3306 = datetime.marker ++@COND_arm64_efi_TRUE@am__append_3307 = datetime.module ++@COND_arm64_efi_TRUE@am__append_3308 = datetime.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_3309 = ++@COND_arm64_efi_TRUE@am__append_3310 = $(nodist_datetime_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_3311 = \ + @COND_arm64_efi_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_arm64_efi_TRUE@ datetime.marker +-@COND_arm64_efi_TRUE@am__append_3319 = datetime.mod +-@COND_arm64_efi_TRUE@am__append_3320 = datetime.marker +-@COND_arm_coreboot_TRUE@am__append_3321 = datetime.module +-@COND_arm_coreboot_TRUE@am__append_3322 = datetime.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__append_3323 = +-@COND_arm_coreboot_TRUE@am__append_3324 = $(nodist_datetime_module_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_3325 = \ ++@COND_arm64_efi_TRUE@am__append_3312 = datetime.mod ++@COND_arm64_efi_TRUE@am__append_3313 = datetime.marker ++@COND_arm_coreboot_TRUE@am__append_3314 = datetime.module ++@COND_arm_coreboot_TRUE@am__append_3315 = datetime.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_3316 = ++@COND_arm_coreboot_TRUE@am__append_3317 = $(nodist_datetime_module_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_3318 = \ + @COND_arm_coreboot_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_arm_coreboot_TRUE@ datetime.marker +-@COND_arm_coreboot_TRUE@am__append_3326 = datetime.mod +-@COND_arm_coreboot_TRUE@am__append_3327 = datetime.marker +-@COND_riscv32_efi_TRUE@am__append_3328 = datetime.module +-@COND_riscv32_efi_TRUE@am__append_3329 = datetime.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_3330 = +-@COND_riscv32_efi_TRUE@am__append_3331 = $(nodist_datetime_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_3332 = \ ++@COND_arm_coreboot_TRUE@am__append_3319 = datetime.mod ++@COND_arm_coreboot_TRUE@am__append_3320 = datetime.marker ++@COND_riscv32_efi_TRUE@am__append_3321 = datetime.module ++@COND_riscv32_efi_TRUE@am__append_3322 = datetime.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_3323 = ++@COND_riscv32_efi_TRUE@am__append_3324 = $(nodist_datetime_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_3325 = \ + @COND_riscv32_efi_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ datetime.marker +-@COND_riscv32_efi_TRUE@am__append_3333 = datetime.mod +-@COND_riscv32_efi_TRUE@am__append_3334 = datetime.marker +-@COND_riscv64_efi_TRUE@am__append_3335 = datetime.module +-@COND_riscv64_efi_TRUE@am__append_3336 = datetime.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_3337 = +-@COND_riscv64_efi_TRUE@am__append_3338 = $(nodist_datetime_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_3339 = \ ++@COND_riscv32_efi_TRUE@am__append_3326 = datetime.mod ++@COND_riscv32_efi_TRUE@am__append_3327 = datetime.marker ++@COND_riscv64_efi_TRUE@am__append_3328 = datetime.module ++@COND_riscv64_efi_TRUE@am__append_3329 = datetime.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3330 = ++@COND_riscv64_efi_TRUE@am__append_3331 = $(nodist_datetime_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_3332 = \ + @COND_riscv64_efi_TRUE@ $(nodist_datetime_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ datetime.marker +-@COND_riscv64_efi_TRUE@am__append_3340 = datetime.mod +-@COND_riscv64_efi_TRUE@am__append_3341 = datetime.marker +-@COND_i386_pc_TRUE@am__append_3342 = aout.module +-@COND_i386_pc_TRUE@am__append_3343 = aout.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3333 = datetime.mod ++@COND_riscv64_efi_TRUE@am__append_3334 = datetime.marker ++@COND_i386_pc_TRUE@am__append_3335 = aout.module ++@COND_i386_pc_TRUE@am__append_3336 = aout.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@aout_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3344 = +-@COND_i386_pc_TRUE@am__append_3345 = $(nodist_aout_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3346 = $(nodist_aout_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3337 = ++@COND_i386_pc_TRUE@am__append_3338 = $(nodist_aout_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3339 = $(nodist_aout_module_SOURCES) \ + @COND_i386_pc_TRUE@ aout.marker +-@COND_i386_pc_TRUE@am__append_3347 = aout.mod +-@COND_i386_pc_TRUE@am__append_3348 = aout.marker +-@COND_i386_efi_TRUE@am__append_3349 = aout.module +-@COND_i386_efi_TRUE@am__append_3350 = aout.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3351 = +-@COND_i386_efi_TRUE@am__append_3352 = $(nodist_aout_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3353 = $(nodist_aout_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3340 = aout.mod ++@COND_i386_pc_TRUE@am__append_3341 = aout.marker ++@COND_i386_efi_TRUE@am__append_3342 = aout.module ++@COND_i386_efi_TRUE@am__append_3343 = aout.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3344 = ++@COND_i386_efi_TRUE@am__append_3345 = $(nodist_aout_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3346 = $(nodist_aout_module_SOURCES) \ + @COND_i386_efi_TRUE@ aout.marker +-@COND_i386_efi_TRUE@am__append_3354 = aout.mod +-@COND_i386_efi_TRUE@am__append_3355 = aout.marker +-@COND_i386_qemu_TRUE@am__append_3356 = aout.module +-@COND_i386_qemu_TRUE@am__append_3357 = aout.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3358 = +-@COND_i386_qemu_TRUE@am__append_3359 = $(nodist_aout_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3360 = $(nodist_aout_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_3347 = aout.mod ++@COND_i386_efi_TRUE@am__append_3348 = aout.marker ++@COND_i386_qemu_TRUE@am__append_3349 = aout.module ++@COND_i386_qemu_TRUE@am__append_3350 = aout.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3351 = ++@COND_i386_qemu_TRUE@am__append_3352 = $(nodist_aout_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3353 = $(nodist_aout_module_SOURCES) \ + @COND_i386_qemu_TRUE@ aout.marker +-@COND_i386_qemu_TRUE@am__append_3361 = aout.mod +-@COND_i386_qemu_TRUE@am__append_3362 = aout.marker +-@COND_i386_coreboot_TRUE@am__append_3363 = aout.module +-@COND_i386_coreboot_TRUE@am__append_3364 = aout.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3365 = +-@COND_i386_coreboot_TRUE@am__append_3366 = $(nodist_aout_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3367 = \ ++@COND_i386_qemu_TRUE@am__append_3354 = aout.mod ++@COND_i386_qemu_TRUE@am__append_3355 = aout.marker ++@COND_i386_coreboot_TRUE@am__append_3356 = aout.module ++@COND_i386_coreboot_TRUE@am__append_3357 = aout.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3358 = ++@COND_i386_coreboot_TRUE@am__append_3359 = $(nodist_aout_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3360 = \ + @COND_i386_coreboot_TRUE@ $(nodist_aout_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ aout.marker +-@COND_i386_coreboot_TRUE@am__append_3368 = aout.mod +-@COND_i386_coreboot_TRUE@am__append_3369 = aout.marker +-@COND_i386_multiboot_TRUE@am__append_3370 = aout.module +-@COND_i386_multiboot_TRUE@am__append_3371 = aout.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3372 = +-@COND_i386_multiboot_TRUE@am__append_3373 = $(nodist_aout_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3374 = \ ++@COND_i386_coreboot_TRUE@am__append_3361 = aout.mod ++@COND_i386_coreboot_TRUE@am__append_3362 = aout.marker ++@COND_i386_multiboot_TRUE@am__append_3363 = aout.module ++@COND_i386_multiboot_TRUE@am__append_3364 = aout.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3365 = ++@COND_i386_multiboot_TRUE@am__append_3366 = $(nodist_aout_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3367 = \ + @COND_i386_multiboot_TRUE@ $(nodist_aout_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ aout.marker +-@COND_i386_multiboot_TRUE@am__append_3375 = aout.mod +-@COND_i386_multiboot_TRUE@am__append_3376 = aout.marker +-@COND_i386_ieee1275_TRUE@am__append_3377 = aout.module +-@COND_i386_ieee1275_TRUE@am__append_3378 = aout.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3379 = +-@COND_i386_ieee1275_TRUE@am__append_3380 = $(nodist_aout_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3381 = \ ++@COND_i386_multiboot_TRUE@am__append_3368 = aout.mod ++@COND_i386_multiboot_TRUE@am__append_3369 = aout.marker ++@COND_i386_ieee1275_TRUE@am__append_3370 = aout.module ++@COND_i386_ieee1275_TRUE@am__append_3371 = aout.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3372 = ++@COND_i386_ieee1275_TRUE@am__append_3373 = $(nodist_aout_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3374 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_aout_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ aout.marker +-@COND_i386_ieee1275_TRUE@am__append_3382 = aout.mod +-@COND_i386_ieee1275_TRUE@am__append_3383 = aout.marker +-@COND_x86_64_efi_TRUE@am__append_3384 = aout.module +-@COND_x86_64_efi_TRUE@am__append_3385 = aout.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3386 = +-@COND_x86_64_efi_TRUE@am__append_3387 = $(nodist_aout_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3388 = $(nodist_aout_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_3375 = aout.mod ++@COND_i386_ieee1275_TRUE@am__append_3376 = aout.marker ++@COND_x86_64_efi_TRUE@am__append_3377 = aout.module ++@COND_x86_64_efi_TRUE@am__append_3378 = aout.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3379 = ++@COND_x86_64_efi_TRUE@am__append_3380 = $(nodist_aout_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3381 = $(nodist_aout_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ aout.marker +-@COND_x86_64_efi_TRUE@am__append_3389 = aout.mod +-@COND_x86_64_efi_TRUE@am__append_3390 = aout.marker +-@COND_i386_pc_TRUE@am__append_3391 = bsd.module +-@COND_i386_pc_TRUE@am__append_3392 = bsd.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3382 = aout.mod ++@COND_x86_64_efi_TRUE@am__append_3383 = aout.marker ++@COND_i386_pc_TRUE@am__append_3384 = bsd.module ++@COND_i386_pc_TRUE@am__append_3385 = bsd.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@bsd_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3393 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c +-@COND_i386_pc_TRUE@am__append_3394 = $(nodist_bsd_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3395 = $(nodist_bsd_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3386 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c ++@COND_i386_pc_TRUE@am__append_3387 = $(nodist_bsd_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3388 = $(nodist_bsd_module_SOURCES) \ + @COND_i386_pc_TRUE@ bsd.marker +-@COND_i386_pc_TRUE@am__append_3396 = bsd.mod +-@COND_i386_pc_TRUE@am__append_3397 = bsd.marker +-@COND_i386_efi_TRUE@am__append_3398 = bsd.module +-@COND_i386_efi_TRUE@am__append_3399 = bsd.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3400 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c +-@COND_i386_efi_TRUE@am__append_3401 = $(nodist_bsd_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3402 = $(nodist_bsd_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3389 = bsd.mod ++@COND_i386_pc_TRUE@am__append_3390 = bsd.marker ++@COND_i386_efi_TRUE@am__append_3391 = bsd.module ++@COND_i386_efi_TRUE@am__append_3392 = bsd.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3393 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c ++@COND_i386_efi_TRUE@am__append_3394 = $(nodist_bsd_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3395 = $(nodist_bsd_module_SOURCES) \ + @COND_i386_efi_TRUE@ bsd.marker +-@COND_i386_efi_TRUE@am__append_3403 = bsd.mod +-@COND_i386_efi_TRUE@am__append_3404 = bsd.marker +-@COND_i386_qemu_TRUE@am__append_3405 = bsd.module +-@COND_i386_qemu_TRUE@am__append_3406 = bsd.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3407 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c +-@COND_i386_qemu_TRUE@am__append_3408 = $(nodist_bsd_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3409 = $(nodist_bsd_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_3396 = bsd.mod ++@COND_i386_efi_TRUE@am__append_3397 = bsd.marker ++@COND_i386_qemu_TRUE@am__append_3398 = bsd.module ++@COND_i386_qemu_TRUE@am__append_3399 = bsd.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3400 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c ++@COND_i386_qemu_TRUE@am__append_3401 = $(nodist_bsd_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3402 = $(nodist_bsd_module_SOURCES) \ + @COND_i386_qemu_TRUE@ bsd.marker +-@COND_i386_qemu_TRUE@am__append_3410 = bsd.mod +-@COND_i386_qemu_TRUE@am__append_3411 = bsd.marker +-@COND_i386_coreboot_TRUE@am__append_3412 = bsd.module +-@COND_i386_coreboot_TRUE@am__append_3413 = bsd.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3414 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c +-@COND_i386_coreboot_TRUE@am__append_3415 = $(nodist_bsd_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3416 = \ ++@COND_i386_qemu_TRUE@am__append_3403 = bsd.mod ++@COND_i386_qemu_TRUE@am__append_3404 = bsd.marker ++@COND_i386_coreboot_TRUE@am__append_3405 = bsd.module ++@COND_i386_coreboot_TRUE@am__append_3406 = bsd.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3407 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c ++@COND_i386_coreboot_TRUE@am__append_3408 = $(nodist_bsd_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3409 = \ + @COND_i386_coreboot_TRUE@ $(nodist_bsd_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ bsd.marker +-@COND_i386_coreboot_TRUE@am__append_3417 = bsd.mod +-@COND_i386_coreboot_TRUE@am__append_3418 = bsd.marker +-@COND_i386_multiboot_TRUE@am__append_3419 = bsd.module +-@COND_i386_multiboot_TRUE@am__append_3420 = bsd.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3421 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c +-@COND_i386_multiboot_TRUE@am__append_3422 = $(nodist_bsd_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3423 = \ ++@COND_i386_coreboot_TRUE@am__append_3410 = bsd.mod ++@COND_i386_coreboot_TRUE@am__append_3411 = bsd.marker ++@COND_i386_multiboot_TRUE@am__append_3412 = bsd.module ++@COND_i386_multiboot_TRUE@am__append_3413 = bsd.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3414 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c ++@COND_i386_multiboot_TRUE@am__append_3415 = $(nodist_bsd_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3416 = \ + @COND_i386_multiboot_TRUE@ $(nodist_bsd_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ bsd.marker +-@COND_i386_multiboot_TRUE@am__append_3424 = bsd.mod +-@COND_i386_multiboot_TRUE@am__append_3425 = bsd.marker +-@COND_i386_ieee1275_TRUE@am__append_3426 = bsd.module +-@COND_i386_ieee1275_TRUE@am__append_3427 = bsd.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3428 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c +-@COND_i386_ieee1275_TRUE@am__append_3429 = $(nodist_bsd_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3430 = \ ++@COND_i386_multiboot_TRUE@am__append_3417 = bsd.mod ++@COND_i386_multiboot_TRUE@am__append_3418 = bsd.marker ++@COND_i386_ieee1275_TRUE@am__append_3419 = bsd.module ++@COND_i386_ieee1275_TRUE@am__append_3420 = bsd.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3421 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c ++@COND_i386_ieee1275_TRUE@am__append_3422 = $(nodist_bsd_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3423 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_bsd_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ bsd.marker +-@COND_i386_ieee1275_TRUE@am__append_3431 = bsd.mod +-@COND_i386_ieee1275_TRUE@am__append_3432 = bsd.marker +-@COND_x86_64_efi_TRUE@am__append_3433 = bsd.module +-@COND_x86_64_efi_TRUE@am__append_3434 = bsd.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3435 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c +-@COND_x86_64_efi_TRUE@am__append_3436 = $(nodist_bsd_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3437 = $(nodist_bsd_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_3424 = bsd.mod ++@COND_i386_ieee1275_TRUE@am__append_3425 = bsd.marker ++@COND_x86_64_efi_TRUE@am__append_3426 = bsd.module ++@COND_x86_64_efi_TRUE@am__append_3427 = bsd.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3428 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c ++@COND_x86_64_efi_TRUE@am__append_3429 = $(nodist_bsd_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3430 = $(nodist_bsd_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ bsd.marker +-@COND_x86_64_efi_TRUE@am__append_3438 = bsd.mod +-@COND_x86_64_efi_TRUE@am__append_3439 = bsd.marker +-@COND_i386_pc_TRUE@am__append_3440 = plan9.module linux16.module +-@COND_i386_pc_TRUE@am__append_3441 = plan9.module$(EXEEXT) \ ++@COND_x86_64_efi_TRUE@am__append_3431 = bsd.mod ++@COND_x86_64_efi_TRUE@am__append_3432 = bsd.marker ++@COND_i386_pc_TRUE@am__append_3433 = plan9.module linux16.module ++@COND_i386_pc_TRUE@am__append_3434 = plan9.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ linux16.module$(EXEEXT) + @COND_i386_pc_FALSE@plan9_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3442 = +-@COND_i386_pc_TRUE@am__append_3443 = $(nodist_plan9_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3435 = ++@COND_i386_pc_TRUE@am__append_3436 = $(nodist_plan9_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_linux16_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3444 = $(nodist_plan9_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3437 = $(nodist_plan9_module_SOURCES) \ + @COND_i386_pc_TRUE@ plan9.marker \ + @COND_i386_pc_TRUE@ $(nodist_linux16_module_SOURCES) \ + @COND_i386_pc_TRUE@ linux16.marker +-@COND_i386_pc_TRUE@am__append_3445 = plan9.mod linux16.mod +-@COND_i386_pc_TRUE@am__append_3446 = plan9.marker linux16.marker ++@COND_i386_pc_TRUE@am__append_3438 = plan9.mod linux16.mod ++@COND_i386_pc_TRUE@am__append_3439 = plan9.marker linux16.marker + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@linux16_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_3447 = linux16.module +-@COND_i386_efi_TRUE@am__append_3448 = linux16.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3449 = +-@COND_i386_efi_TRUE@am__append_3450 = $(nodist_linux16_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3451 = \ ++@COND_i386_efi_TRUE@am__append_3440 = linux16.module ++@COND_i386_efi_TRUE@am__append_3441 = linux16.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3442 = ++@COND_i386_efi_TRUE@am__append_3443 = $(nodist_linux16_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3444 = \ + @COND_i386_efi_TRUE@ $(nodist_linux16_module_SOURCES) \ + @COND_i386_efi_TRUE@ linux16.marker +-@COND_i386_efi_TRUE@am__append_3452 = linux16.mod +-@COND_i386_efi_TRUE@am__append_3453 = linux16.marker +-@COND_i386_qemu_TRUE@am__append_3454 = linux16.module +-@COND_i386_qemu_TRUE@am__append_3455 = linux16.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3456 = +-@COND_i386_qemu_TRUE@am__append_3457 = $(nodist_linux16_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3458 = \ ++@COND_i386_efi_TRUE@am__append_3445 = linux16.mod ++@COND_i386_efi_TRUE@am__append_3446 = linux16.marker ++@COND_i386_qemu_TRUE@am__append_3447 = linux16.module ++@COND_i386_qemu_TRUE@am__append_3448 = linux16.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3449 = ++@COND_i386_qemu_TRUE@am__append_3450 = $(nodist_linux16_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3451 = \ + @COND_i386_qemu_TRUE@ $(nodist_linux16_module_SOURCES) \ + @COND_i386_qemu_TRUE@ linux16.marker +-@COND_i386_qemu_TRUE@am__append_3459 = linux16.mod +-@COND_i386_qemu_TRUE@am__append_3460 = linux16.marker +-@COND_i386_coreboot_TRUE@am__append_3461 = linux16.module +-@COND_i386_coreboot_TRUE@am__append_3462 = linux16.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3463 = +-@COND_i386_coreboot_TRUE@am__append_3464 = $(nodist_linux16_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3465 = \ ++@COND_i386_qemu_TRUE@am__append_3452 = linux16.mod ++@COND_i386_qemu_TRUE@am__append_3453 = linux16.marker ++@COND_i386_coreboot_TRUE@am__append_3454 = linux16.module ++@COND_i386_coreboot_TRUE@am__append_3455 = linux16.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3456 = ++@COND_i386_coreboot_TRUE@am__append_3457 = $(nodist_linux16_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3458 = \ + @COND_i386_coreboot_TRUE@ $(nodist_linux16_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ linux16.marker +-@COND_i386_coreboot_TRUE@am__append_3466 = linux16.mod +-@COND_i386_coreboot_TRUE@am__append_3467 = linux16.marker +-@COND_i386_multiboot_TRUE@am__append_3468 = linux16.module +-@COND_i386_multiboot_TRUE@am__append_3469 = linux16.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3470 = +-@COND_i386_multiboot_TRUE@am__append_3471 = $(nodist_linux16_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3472 = \ ++@COND_i386_coreboot_TRUE@am__append_3459 = linux16.mod ++@COND_i386_coreboot_TRUE@am__append_3460 = linux16.marker ++@COND_i386_multiboot_TRUE@am__append_3461 = linux16.module ++@COND_i386_multiboot_TRUE@am__append_3462 = linux16.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3463 = ++@COND_i386_multiboot_TRUE@am__append_3464 = $(nodist_linux16_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3465 = \ + @COND_i386_multiboot_TRUE@ $(nodist_linux16_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ linux16.marker +-@COND_i386_multiboot_TRUE@am__append_3473 = linux16.mod +-@COND_i386_multiboot_TRUE@am__append_3474 = linux16.marker +-@COND_i386_ieee1275_TRUE@am__append_3475 = linux16.module +-@COND_i386_ieee1275_TRUE@am__append_3476 = linux16.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3477 = +-@COND_i386_ieee1275_TRUE@am__append_3478 = $(nodist_linux16_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3479 = \ ++@COND_i386_multiboot_TRUE@am__append_3466 = linux16.mod ++@COND_i386_multiboot_TRUE@am__append_3467 = linux16.marker ++@COND_i386_ieee1275_TRUE@am__append_3468 = linux16.module ++@COND_i386_ieee1275_TRUE@am__append_3469 = linux16.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3470 = ++@COND_i386_ieee1275_TRUE@am__append_3471 = $(nodist_linux16_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3472 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_linux16_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ linux16.marker +-@COND_i386_ieee1275_TRUE@am__append_3480 = linux16.mod +-@COND_i386_ieee1275_TRUE@am__append_3481 = linux16.marker +-@COND_x86_64_efi_TRUE@am__append_3482 = linux16.module +-@COND_x86_64_efi_TRUE@am__append_3483 = linux16.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3484 = +-@COND_x86_64_efi_TRUE@am__append_3485 = $(nodist_linux16_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3486 = \ ++@COND_i386_ieee1275_TRUE@am__append_3473 = linux16.mod ++@COND_i386_ieee1275_TRUE@am__append_3474 = linux16.marker ++@COND_x86_64_efi_TRUE@am__append_3475 = linux16.module ++@COND_x86_64_efi_TRUE@am__append_3476 = linux16.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3477 = ++@COND_x86_64_efi_TRUE@am__append_3478 = $(nodist_linux16_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3479 = \ + @COND_x86_64_efi_TRUE@ $(nodist_linux16_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ linux16.marker +-@COND_x86_64_efi_TRUE@am__append_3487 = linux16.mod +-@COND_x86_64_efi_TRUE@am__append_3488 = linux16.marker +-@COND_i386_pc_TRUE@am__append_3489 = ntldr.module truecrypt.module \ ++@COND_x86_64_efi_TRUE@am__append_3480 = linux16.mod ++@COND_x86_64_efi_TRUE@am__append_3481 = linux16.marker ++@COND_i386_pc_TRUE@am__append_3482 = ntldr.module truecrypt.module \ + @COND_i386_pc_TRUE@ freedos.module pxechain.module \ + @COND_i386_pc_TRUE@ multiboot2.module +-@COND_i386_pc_TRUE@am__append_3490 = ntldr.module$(EXEEXT) \ ++@COND_i386_pc_TRUE@am__append_3483 = ntldr.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ truecrypt.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ freedos.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ pxechain.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ multiboot2.module$(EXEEXT) + @COND_i386_pc_FALSE@ntldr_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3491 = +-@COND_i386_pc_TRUE@am__append_3492 = $(nodist_ntldr_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3484 = ++@COND_i386_pc_TRUE@am__append_3485 = $(nodist_ntldr_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_truecrypt_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_freedos_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_pxechain_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_multiboot2_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3493 = $(nodist_ntldr_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3486 = $(nodist_ntldr_module_SOURCES) \ + @COND_i386_pc_TRUE@ ntldr.marker \ + @COND_i386_pc_TRUE@ $(nodist_truecrypt_module_SOURCES) \ + @COND_i386_pc_TRUE@ truecrypt.marker \ +@@ -4863,2969 +4853,2969 @@ TESTS = + @COND_i386_pc_TRUE@ pxechain.marker \ + @COND_i386_pc_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_i386_pc_TRUE@ multiboot2.marker +-@COND_i386_pc_TRUE@am__append_3494 = ntldr.mod truecrypt.mod \ ++@COND_i386_pc_TRUE@am__append_3487 = ntldr.mod truecrypt.mod \ + @COND_i386_pc_TRUE@ freedos.mod pxechain.mod multiboot2.mod +-@COND_i386_pc_TRUE@am__append_3495 = ntldr.marker truecrypt.marker \ ++@COND_i386_pc_TRUE@am__append_3488 = ntldr.marker truecrypt.marker \ + @COND_i386_pc_TRUE@ freedos.marker pxechain.marker \ + @COND_i386_pc_TRUE@ multiboot2.marker + @COND_i386_pc_FALSE@truecrypt_module_DEPENDENCIES = + @COND_i386_pc_FALSE@freedos_module_DEPENDENCIES = + @COND_i386_pc_FALSE@pxechain_module_DEPENDENCIES = + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_pvh_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@multiboot2_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_3496 = multiboot2.module +-@COND_i386_efi_TRUE@am__append_3497 = multiboot2.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3498 = +-@COND_i386_efi_TRUE@am__append_3499 = $(nodist_multiboot2_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3500 = \ ++@COND_i386_efi_TRUE@am__append_3489 = multiboot2.module ++@COND_i386_efi_TRUE@am__append_3490 = multiboot2.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3491 = ++@COND_i386_efi_TRUE@am__append_3492 = $(nodist_multiboot2_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3493 = \ + @COND_i386_efi_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_i386_efi_TRUE@ multiboot2.marker +-@COND_i386_efi_TRUE@am__append_3501 = multiboot2.mod +-@COND_i386_efi_TRUE@am__append_3502 = multiboot2.marker +-@COND_i386_qemu_TRUE@am__append_3503 = multiboot2.module +-@COND_i386_qemu_TRUE@am__append_3504 = multiboot2.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3505 = +-@COND_i386_qemu_TRUE@am__append_3506 = $(nodist_multiboot2_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3507 = \ ++@COND_i386_efi_TRUE@am__append_3494 = multiboot2.mod ++@COND_i386_efi_TRUE@am__append_3495 = multiboot2.marker ++@COND_i386_qemu_TRUE@am__append_3496 = multiboot2.module ++@COND_i386_qemu_TRUE@am__append_3497 = multiboot2.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3498 = ++@COND_i386_qemu_TRUE@am__append_3499 = $(nodist_multiboot2_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3500 = \ + @COND_i386_qemu_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_i386_qemu_TRUE@ multiboot2.marker +-@COND_i386_qemu_TRUE@am__append_3508 = multiboot2.mod +-@COND_i386_qemu_TRUE@am__append_3509 = multiboot2.marker +-@COND_i386_coreboot_TRUE@am__append_3510 = multiboot2.module +-@COND_i386_coreboot_TRUE@am__append_3511 = multiboot2.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3512 = +-@COND_i386_coreboot_TRUE@am__append_3513 = $(nodist_multiboot2_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3514 = \ ++@COND_i386_qemu_TRUE@am__append_3501 = multiboot2.mod ++@COND_i386_qemu_TRUE@am__append_3502 = multiboot2.marker ++@COND_i386_coreboot_TRUE@am__append_3503 = multiboot2.module ++@COND_i386_coreboot_TRUE@am__append_3504 = multiboot2.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3505 = ++@COND_i386_coreboot_TRUE@am__append_3506 = $(nodist_multiboot2_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3507 = \ + @COND_i386_coreboot_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ multiboot2.marker +-@COND_i386_coreboot_TRUE@am__append_3515 = multiboot2.mod +-@COND_i386_coreboot_TRUE@am__append_3516 = multiboot2.marker +-@COND_i386_multiboot_TRUE@am__append_3517 = multiboot2.module +-@COND_i386_multiboot_TRUE@am__append_3518 = multiboot2.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3519 = +-@COND_i386_multiboot_TRUE@am__append_3520 = $(nodist_multiboot2_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3521 = \ ++@COND_i386_coreboot_TRUE@am__append_3508 = multiboot2.mod ++@COND_i386_coreboot_TRUE@am__append_3509 = multiboot2.marker ++@COND_i386_multiboot_TRUE@am__append_3510 = multiboot2.module ++@COND_i386_multiboot_TRUE@am__append_3511 = multiboot2.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3512 = ++@COND_i386_multiboot_TRUE@am__append_3513 = $(nodist_multiboot2_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3514 = \ + @COND_i386_multiboot_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ multiboot2.marker +-@COND_i386_multiboot_TRUE@am__append_3522 = multiboot2.mod +-@COND_i386_multiboot_TRUE@am__append_3523 = multiboot2.marker +-@COND_i386_ieee1275_TRUE@am__append_3524 = multiboot2.module +-@COND_i386_ieee1275_TRUE@am__append_3525 = multiboot2.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3526 = +-@COND_i386_ieee1275_TRUE@am__append_3527 = $(nodist_multiboot2_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3528 = \ ++@COND_i386_multiboot_TRUE@am__append_3515 = multiboot2.mod ++@COND_i386_multiboot_TRUE@am__append_3516 = multiboot2.marker ++@COND_i386_ieee1275_TRUE@am__append_3517 = multiboot2.module ++@COND_i386_ieee1275_TRUE@am__append_3518 = multiboot2.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3519 = ++@COND_i386_ieee1275_TRUE@am__append_3520 = $(nodist_multiboot2_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3521 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ multiboot2.marker +-@COND_i386_ieee1275_TRUE@am__append_3529 = multiboot2.mod +-@COND_i386_ieee1275_TRUE@am__append_3530 = multiboot2.marker +-@COND_x86_64_efi_TRUE@am__append_3531 = multiboot2.module +-@COND_x86_64_efi_TRUE@am__append_3532 = multiboot2.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3533 = +-@COND_x86_64_efi_TRUE@am__append_3534 = $(nodist_multiboot2_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3535 = \ ++@COND_i386_ieee1275_TRUE@am__append_3522 = multiboot2.mod ++@COND_i386_ieee1275_TRUE@am__append_3523 = multiboot2.marker ++@COND_x86_64_efi_TRUE@am__append_3524 = multiboot2.module ++@COND_x86_64_efi_TRUE@am__append_3525 = multiboot2.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3526 = ++@COND_x86_64_efi_TRUE@am__append_3527 = $(nodist_multiboot2_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3528 = \ + @COND_x86_64_efi_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ multiboot2.marker +-@COND_x86_64_efi_TRUE@am__append_3536 = multiboot2.mod +-@COND_x86_64_efi_TRUE@am__append_3537 = multiboot2.marker +-@COND_i386_xen_pvh_TRUE@am__append_3538 = multiboot2.module +-@COND_i386_xen_pvh_TRUE@am__append_3539 = multiboot2.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_3540 = +-@COND_i386_xen_pvh_TRUE@am__append_3541 = $(nodist_multiboot2_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_3542 = \ ++@COND_x86_64_efi_TRUE@am__append_3529 = multiboot2.mod ++@COND_x86_64_efi_TRUE@am__append_3530 = multiboot2.marker ++@COND_i386_xen_pvh_TRUE@am__append_3531 = multiboot2.module ++@COND_i386_xen_pvh_TRUE@am__append_3532 = multiboot2.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_3533 = ++@COND_i386_xen_pvh_TRUE@am__append_3534 = $(nodist_multiboot2_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_3535 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ multiboot2.marker +-@COND_i386_xen_pvh_TRUE@am__append_3543 = multiboot2.mod +-@COND_i386_xen_pvh_TRUE@am__append_3544 = multiboot2.marker +-@COND_mips_loongson_TRUE@am__append_3545 = multiboot2.module +-@COND_mips_loongson_TRUE@am__append_3546 = multiboot2.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_3547 = +-@COND_mips_loongson_TRUE@am__append_3548 = $(nodist_multiboot2_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_3549 = \ ++@COND_i386_xen_pvh_TRUE@am__append_3536 = multiboot2.mod ++@COND_i386_xen_pvh_TRUE@am__append_3537 = multiboot2.marker ++@COND_mips_loongson_TRUE@am__append_3538 = multiboot2.module ++@COND_mips_loongson_TRUE@am__append_3539 = multiboot2.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_3540 = ++@COND_mips_loongson_TRUE@am__append_3541 = $(nodist_multiboot2_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_3542 = \ + @COND_mips_loongson_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_mips_loongson_TRUE@ multiboot2.marker +-@COND_mips_loongson_TRUE@am__append_3550 = multiboot2.mod +-@COND_mips_loongson_TRUE@am__append_3551 = multiboot2.marker +-@COND_mips_arc_TRUE@am__append_3552 = multiboot2.module +-@COND_mips_arc_TRUE@am__append_3553 = multiboot2.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_3554 = +-@COND_mips_arc_TRUE@am__append_3555 = $(nodist_multiboot2_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_3556 = \ ++@COND_mips_loongson_TRUE@am__append_3543 = multiboot2.mod ++@COND_mips_loongson_TRUE@am__append_3544 = multiboot2.marker ++@COND_mips_arc_TRUE@am__append_3545 = multiboot2.module ++@COND_mips_arc_TRUE@am__append_3546 = multiboot2.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_3547 = ++@COND_mips_arc_TRUE@am__append_3548 = $(nodist_multiboot2_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_3549 = \ + @COND_mips_arc_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_mips_arc_TRUE@ multiboot2.marker +-@COND_mips_arc_TRUE@am__append_3557 = multiboot2.mod +-@COND_mips_arc_TRUE@am__append_3558 = multiboot2.marker +-@COND_mips_qemu_mips_TRUE@am__append_3559 = multiboot2.module +-@COND_mips_qemu_mips_TRUE@am__append_3560 = multiboot2.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_3561 = +-@COND_mips_qemu_mips_TRUE@am__append_3562 = $(nodist_multiboot2_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_3563 = \ ++@COND_mips_arc_TRUE@am__append_3550 = multiboot2.mod ++@COND_mips_arc_TRUE@am__append_3551 = multiboot2.marker ++@COND_mips_qemu_mips_TRUE@am__append_3552 = multiboot2.module ++@COND_mips_qemu_mips_TRUE@am__append_3553 = multiboot2.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_3554 = ++@COND_mips_qemu_mips_TRUE@am__append_3555 = $(nodist_multiboot2_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_3556 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_multiboot2_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ multiboot2.marker +-@COND_mips_qemu_mips_TRUE@am__append_3564 = multiboot2.mod +-@COND_mips_qemu_mips_TRUE@am__append_3565 = multiboot2.marker +-@COND_i386_pc_TRUE@am__append_3566 = multiboot.module +-@COND_i386_pc_TRUE@am__append_3567 = multiboot.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_3557 = multiboot2.mod ++@COND_mips_qemu_mips_TRUE@am__append_3558 = multiboot2.marker ++@COND_i386_pc_TRUE@am__append_3559 = multiboot.module ++@COND_i386_pc_TRUE@am__append_3560 = multiboot.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_pvh_FALSE@@COND_x86_64_efi_FALSE@multiboot_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3568 = loader/multiboot_elfxx.c +-@COND_i386_pc_TRUE@am__append_3569 = $(nodist_multiboot_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3570 = \ ++@COND_i386_pc_TRUE@am__append_3561 = loader/multiboot_elfxx.c ++@COND_i386_pc_TRUE@am__append_3562 = $(nodist_multiboot_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3563 = \ + @COND_i386_pc_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_i386_pc_TRUE@ multiboot.marker +-@COND_i386_pc_TRUE@am__append_3571 = multiboot.mod +-@COND_i386_pc_TRUE@am__append_3572 = multiboot.marker +-@COND_i386_efi_TRUE@am__append_3573 = multiboot.module +-@COND_i386_efi_TRUE@am__append_3574 = multiboot.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3575 = loader/multiboot_elfxx.c +-@COND_i386_efi_TRUE@am__append_3576 = $(nodist_multiboot_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3577 = \ ++@COND_i386_pc_TRUE@am__append_3564 = multiboot.mod ++@COND_i386_pc_TRUE@am__append_3565 = multiboot.marker ++@COND_i386_efi_TRUE@am__append_3566 = multiboot.module ++@COND_i386_efi_TRUE@am__append_3567 = multiboot.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3568 = loader/multiboot_elfxx.c ++@COND_i386_efi_TRUE@am__append_3569 = $(nodist_multiboot_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3570 = \ + @COND_i386_efi_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_i386_efi_TRUE@ multiboot.marker +-@COND_i386_efi_TRUE@am__append_3578 = multiboot.mod +-@COND_i386_efi_TRUE@am__append_3579 = multiboot.marker +-@COND_i386_qemu_TRUE@am__append_3580 = multiboot.module +-@COND_i386_qemu_TRUE@am__append_3581 = multiboot.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3582 = loader/multiboot_elfxx.c +-@COND_i386_qemu_TRUE@am__append_3583 = $(nodist_multiboot_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3584 = \ ++@COND_i386_efi_TRUE@am__append_3571 = multiboot.mod ++@COND_i386_efi_TRUE@am__append_3572 = multiboot.marker ++@COND_i386_qemu_TRUE@am__append_3573 = multiboot.module ++@COND_i386_qemu_TRUE@am__append_3574 = multiboot.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3575 = loader/multiboot_elfxx.c ++@COND_i386_qemu_TRUE@am__append_3576 = $(nodist_multiboot_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3577 = \ + @COND_i386_qemu_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_i386_qemu_TRUE@ multiboot.marker +-@COND_i386_qemu_TRUE@am__append_3585 = multiboot.mod +-@COND_i386_qemu_TRUE@am__append_3586 = multiboot.marker +-@COND_i386_coreboot_TRUE@am__append_3587 = multiboot.module +-@COND_i386_coreboot_TRUE@am__append_3588 = multiboot.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3589 = loader/multiboot_elfxx.c +-@COND_i386_coreboot_TRUE@am__append_3590 = $(nodist_multiboot_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3591 = \ ++@COND_i386_qemu_TRUE@am__append_3578 = multiboot.mod ++@COND_i386_qemu_TRUE@am__append_3579 = multiboot.marker ++@COND_i386_coreboot_TRUE@am__append_3580 = multiboot.module ++@COND_i386_coreboot_TRUE@am__append_3581 = multiboot.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3582 = loader/multiboot_elfxx.c ++@COND_i386_coreboot_TRUE@am__append_3583 = $(nodist_multiboot_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3584 = \ + @COND_i386_coreboot_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ multiboot.marker +-@COND_i386_coreboot_TRUE@am__append_3592 = multiboot.mod +-@COND_i386_coreboot_TRUE@am__append_3593 = multiboot.marker +-@COND_i386_multiboot_TRUE@am__append_3594 = multiboot.module +-@COND_i386_multiboot_TRUE@am__append_3595 = multiboot.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3596 = loader/multiboot_elfxx.c +-@COND_i386_multiboot_TRUE@am__append_3597 = $(nodist_multiboot_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3598 = \ ++@COND_i386_coreboot_TRUE@am__append_3585 = multiboot.mod ++@COND_i386_coreboot_TRUE@am__append_3586 = multiboot.marker ++@COND_i386_multiboot_TRUE@am__append_3587 = multiboot.module ++@COND_i386_multiboot_TRUE@am__append_3588 = multiboot.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3589 = loader/multiboot_elfxx.c ++@COND_i386_multiboot_TRUE@am__append_3590 = $(nodist_multiboot_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3591 = \ + @COND_i386_multiboot_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ multiboot.marker +-@COND_i386_multiboot_TRUE@am__append_3599 = multiboot.mod +-@COND_i386_multiboot_TRUE@am__append_3600 = multiboot.marker +-@COND_i386_ieee1275_TRUE@am__append_3601 = multiboot.module +-@COND_i386_ieee1275_TRUE@am__append_3602 = multiboot.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3603 = loader/multiboot_elfxx.c +-@COND_i386_ieee1275_TRUE@am__append_3604 = $(nodist_multiboot_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3605 = \ ++@COND_i386_multiboot_TRUE@am__append_3592 = multiboot.mod ++@COND_i386_multiboot_TRUE@am__append_3593 = multiboot.marker ++@COND_i386_ieee1275_TRUE@am__append_3594 = multiboot.module ++@COND_i386_ieee1275_TRUE@am__append_3595 = multiboot.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3596 = loader/multiboot_elfxx.c ++@COND_i386_ieee1275_TRUE@am__append_3597 = $(nodist_multiboot_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3598 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ multiboot.marker +-@COND_i386_ieee1275_TRUE@am__append_3606 = multiboot.mod +-@COND_i386_ieee1275_TRUE@am__append_3607 = multiboot.marker +-@COND_x86_64_efi_TRUE@am__append_3608 = multiboot.module +-@COND_x86_64_efi_TRUE@am__append_3609 = multiboot.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3610 = loader/multiboot_elfxx.c +-@COND_x86_64_efi_TRUE@am__append_3611 = $(nodist_multiboot_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3612 = \ ++@COND_i386_ieee1275_TRUE@am__append_3599 = multiboot.mod ++@COND_i386_ieee1275_TRUE@am__append_3600 = multiboot.marker ++@COND_x86_64_efi_TRUE@am__append_3601 = multiboot.module ++@COND_x86_64_efi_TRUE@am__append_3602 = multiboot.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3603 = loader/multiboot_elfxx.c ++@COND_x86_64_efi_TRUE@am__append_3604 = $(nodist_multiboot_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3605 = \ + @COND_x86_64_efi_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ multiboot.marker +-@COND_x86_64_efi_TRUE@am__append_3613 = multiboot.mod +-@COND_x86_64_efi_TRUE@am__append_3614 = multiboot.marker +-@COND_i386_xen_pvh_TRUE@am__append_3615 = multiboot.module +-@COND_i386_xen_pvh_TRUE@am__append_3616 = multiboot.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_3617 = loader/multiboot_elfxx.c +-@COND_i386_xen_pvh_TRUE@am__append_3618 = $(nodist_multiboot_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_3619 = \ ++@COND_x86_64_efi_TRUE@am__append_3606 = multiboot.mod ++@COND_x86_64_efi_TRUE@am__append_3607 = multiboot.marker ++@COND_i386_xen_pvh_TRUE@am__append_3608 = multiboot.module ++@COND_i386_xen_pvh_TRUE@am__append_3609 = multiboot.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_3610 = loader/multiboot_elfxx.c ++@COND_i386_xen_pvh_TRUE@am__append_3611 = $(nodist_multiboot_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_3612 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_multiboot_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ multiboot.marker +-@COND_i386_xen_pvh_TRUE@am__append_3620 = multiboot.mod +-@COND_i386_xen_pvh_TRUE@am__append_3621 = multiboot.marker +-@COND_arm64_efi_TRUE@am__append_3622 = xen_boot.module +-@COND_arm64_efi_TRUE@am__append_3623 = xen_boot.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_3613 = multiboot.mod ++@COND_i386_xen_pvh_TRUE@am__append_3614 = multiboot.marker ++@COND_arm64_efi_TRUE@am__append_3615 = xen_boot.module ++@COND_arm64_efi_TRUE@am__append_3616 = xen_boot.module$(EXEEXT) + @COND_arm64_efi_FALSE@xen_boot_module_DEPENDENCIES = +-@COND_arm64_efi_TRUE@am__append_3624 = +-@COND_arm64_efi_TRUE@am__append_3625 = $(nodist_xen_boot_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_3626 = \ ++@COND_arm64_efi_TRUE@am__append_3617 = ++@COND_arm64_efi_TRUE@am__append_3618 = $(nodist_xen_boot_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_3619 = \ + @COND_arm64_efi_TRUE@ $(nodist_xen_boot_module_SOURCES) \ + @COND_arm64_efi_TRUE@ xen_boot.marker +-@COND_arm64_efi_TRUE@am__append_3627 = xen_boot.mod +-@COND_arm64_efi_TRUE@am__append_3628 = xen_boot.marker +-@COND_i386_pc_TRUE@am__append_3629 = linux.module +-@COND_i386_pc_TRUE@am__append_3630 = linux.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_3620 = xen_boot.mod ++@COND_arm64_efi_TRUE@am__append_3621 = xen_boot.marker ++@COND_i386_pc_TRUE@am__append_3622 = linux.module ++@COND_i386_pc_TRUE@am__append_3623 = linux.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@linux_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3631 = +-@COND_i386_pc_TRUE@am__append_3632 = $(nodist_linux_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3633 = $(nodist_linux_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3624 = ++@COND_i386_pc_TRUE@am__append_3625 = $(nodist_linux_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3626 = $(nodist_linux_module_SOURCES) \ + @COND_i386_pc_TRUE@ linux.marker +-@COND_i386_pc_TRUE@am__append_3634 = linux.mod +-@COND_i386_pc_TRUE@am__append_3635 = linux.marker +-@COND_i386_efi_TRUE@am__append_3636 = linux.module +-@COND_i386_efi_TRUE@am__append_3637 = linux.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3638 = +-@COND_i386_efi_TRUE@am__append_3639 = $(nodist_linux_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3640 = $(nodist_linux_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3627 = linux.mod ++@COND_i386_pc_TRUE@am__append_3628 = linux.marker ++@COND_i386_efi_TRUE@am__append_3629 = linux.module ++@COND_i386_efi_TRUE@am__append_3630 = linux.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3631 = ++@COND_i386_efi_TRUE@am__append_3632 = $(nodist_linux_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3633 = $(nodist_linux_module_SOURCES) \ + @COND_i386_efi_TRUE@ linux.marker +-@COND_i386_efi_TRUE@am__append_3641 = linux.mod +-@COND_i386_efi_TRUE@am__append_3642 = linux.marker +-@COND_i386_qemu_TRUE@am__append_3643 = linux.module +-@COND_i386_qemu_TRUE@am__append_3644 = linux.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3645 = +-@COND_i386_qemu_TRUE@am__append_3646 = $(nodist_linux_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3647 = $(nodist_linux_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_3634 = linux.mod ++@COND_i386_efi_TRUE@am__append_3635 = linux.marker ++@COND_i386_qemu_TRUE@am__append_3636 = linux.module ++@COND_i386_qemu_TRUE@am__append_3637 = linux.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3638 = ++@COND_i386_qemu_TRUE@am__append_3639 = $(nodist_linux_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3640 = $(nodist_linux_module_SOURCES) \ + @COND_i386_qemu_TRUE@ linux.marker +-@COND_i386_qemu_TRUE@am__append_3648 = linux.mod +-@COND_i386_qemu_TRUE@am__append_3649 = linux.marker +-@COND_i386_coreboot_TRUE@am__append_3650 = linux.module +-@COND_i386_coreboot_TRUE@am__append_3651 = linux.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3652 = +-@COND_i386_coreboot_TRUE@am__append_3653 = $(nodist_linux_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3654 = \ ++@COND_i386_qemu_TRUE@am__append_3641 = linux.mod ++@COND_i386_qemu_TRUE@am__append_3642 = linux.marker ++@COND_i386_coreboot_TRUE@am__append_3643 = linux.module ++@COND_i386_coreboot_TRUE@am__append_3644 = linux.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3645 = ++@COND_i386_coreboot_TRUE@am__append_3646 = $(nodist_linux_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3647 = \ + @COND_i386_coreboot_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ linux.marker +-@COND_i386_coreboot_TRUE@am__append_3655 = linux.mod +-@COND_i386_coreboot_TRUE@am__append_3656 = linux.marker +-@COND_i386_multiboot_TRUE@am__append_3657 = linux.module +-@COND_i386_multiboot_TRUE@am__append_3658 = linux.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3659 = +-@COND_i386_multiboot_TRUE@am__append_3660 = $(nodist_linux_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3661 = \ ++@COND_i386_coreboot_TRUE@am__append_3648 = linux.mod ++@COND_i386_coreboot_TRUE@am__append_3649 = linux.marker ++@COND_i386_multiboot_TRUE@am__append_3650 = linux.module ++@COND_i386_multiboot_TRUE@am__append_3651 = linux.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3652 = ++@COND_i386_multiboot_TRUE@am__append_3653 = $(nodist_linux_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3654 = \ + @COND_i386_multiboot_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ linux.marker +-@COND_i386_multiboot_TRUE@am__append_3662 = linux.mod +-@COND_i386_multiboot_TRUE@am__append_3663 = linux.marker +-@COND_i386_ieee1275_TRUE@am__append_3664 = linux.module +-@COND_i386_ieee1275_TRUE@am__append_3665 = linux.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_3666 = +-@COND_i386_ieee1275_TRUE@am__append_3667 = $(nodist_linux_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_3668 = \ ++@COND_i386_multiboot_TRUE@am__append_3655 = linux.mod ++@COND_i386_multiboot_TRUE@am__append_3656 = linux.marker ++@COND_i386_ieee1275_TRUE@am__append_3657 = linux.module ++@COND_i386_ieee1275_TRUE@am__append_3658 = linux.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3659 = ++@COND_i386_ieee1275_TRUE@am__append_3660 = $(nodist_linux_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3661 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ linux.marker +-@COND_i386_ieee1275_TRUE@am__append_3669 = linux.mod +-@COND_i386_ieee1275_TRUE@am__append_3670 = linux.marker +-@COND_x86_64_efi_TRUE@am__append_3671 = linux.module +-@COND_x86_64_efi_TRUE@am__append_3672 = linux.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3673 = +-@COND_x86_64_efi_TRUE@am__append_3674 = $(nodist_linux_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3675 = \ ++@COND_i386_ieee1275_TRUE@am__append_3662 = linux.mod ++@COND_i386_ieee1275_TRUE@am__append_3663 = linux.marker ++@COND_x86_64_efi_TRUE@am__append_3664 = linux.module ++@COND_x86_64_efi_TRUE@am__append_3665 = linux.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3666 = ++@COND_x86_64_efi_TRUE@am__append_3667 = $(nodist_linux_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3668 = \ + @COND_x86_64_efi_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ linux.marker +-@COND_x86_64_efi_TRUE@am__append_3676 = linux.mod +-@COND_x86_64_efi_TRUE@am__append_3677 = linux.marker +-@COND_i386_xen_TRUE@am__append_3678 = linux.module +-@COND_i386_xen_TRUE@am__append_3679 = linux.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_3680 = +-@COND_i386_xen_TRUE@am__append_3681 = $(nodist_linux_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_3682 = $(nodist_linux_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_3669 = linux.mod ++@COND_x86_64_efi_TRUE@am__append_3670 = linux.marker ++@COND_i386_xen_TRUE@am__append_3671 = linux.module ++@COND_i386_xen_TRUE@am__append_3672 = linux.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_3673 = ++@COND_i386_xen_TRUE@am__append_3674 = $(nodist_linux_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_3675 = $(nodist_linux_module_SOURCES) \ + @COND_i386_xen_TRUE@ linux.marker +-@COND_i386_xen_TRUE@am__append_3683 = linux.mod +-@COND_i386_xen_TRUE@am__append_3684 = linux.marker +-@COND_x86_64_xen_TRUE@am__append_3685 = linux.module +-@COND_x86_64_xen_TRUE@am__append_3686 = linux.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_3687 = +-@COND_x86_64_xen_TRUE@am__append_3688 = $(nodist_linux_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_3689 = \ ++@COND_i386_xen_TRUE@am__append_3676 = linux.mod ++@COND_i386_xen_TRUE@am__append_3677 = linux.marker ++@COND_x86_64_xen_TRUE@am__append_3678 = linux.module ++@COND_x86_64_xen_TRUE@am__append_3679 = linux.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_3680 = ++@COND_x86_64_xen_TRUE@am__append_3681 = $(nodist_linux_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_3682 = \ + @COND_x86_64_xen_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ linux.marker +-@COND_x86_64_xen_TRUE@am__append_3690 = linux.mod +-@COND_x86_64_xen_TRUE@am__append_3691 = linux.marker +-@COND_i386_xen_pvh_TRUE@am__append_3692 = linux.module +-@COND_i386_xen_pvh_TRUE@am__append_3693 = linux.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_3694 = +-@COND_i386_xen_pvh_TRUE@am__append_3695 = $(nodist_linux_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_3696 = \ ++@COND_x86_64_xen_TRUE@am__append_3683 = linux.mod ++@COND_x86_64_xen_TRUE@am__append_3684 = linux.marker ++@COND_i386_xen_pvh_TRUE@am__append_3685 = linux.module ++@COND_i386_xen_pvh_TRUE@am__append_3686 = linux.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_3687 = ++@COND_i386_xen_pvh_TRUE@am__append_3688 = $(nodist_linux_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_3689 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ linux.marker +-@COND_i386_xen_pvh_TRUE@am__append_3697 = linux.mod +-@COND_i386_xen_pvh_TRUE@am__append_3698 = linux.marker +-@COND_mips_loongson_TRUE@am__append_3699 = linux.module +-@COND_mips_loongson_TRUE@am__append_3700 = linux.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_3701 = +-@COND_mips_loongson_TRUE@am__append_3702 = $(nodist_linux_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_3703 = \ ++@COND_i386_xen_pvh_TRUE@am__append_3690 = linux.mod ++@COND_i386_xen_pvh_TRUE@am__append_3691 = linux.marker ++@COND_mips_loongson_TRUE@am__append_3692 = linux.module ++@COND_mips_loongson_TRUE@am__append_3693 = linux.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_3694 = ++@COND_mips_loongson_TRUE@am__append_3695 = $(nodist_linux_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_3696 = \ + @COND_mips_loongson_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_mips_loongson_TRUE@ linux.marker +-@COND_mips_loongson_TRUE@am__append_3704 = linux.mod +-@COND_mips_loongson_TRUE@am__append_3705 = linux.marker +-@COND_sparc64_ieee1275_TRUE@am__append_3706 = linux.module +-@COND_sparc64_ieee1275_TRUE@am__append_3707 = linux.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_3708 = +-@COND_sparc64_ieee1275_TRUE@am__append_3709 = $(nodist_linux_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_3710 = \ ++@COND_mips_loongson_TRUE@am__append_3697 = linux.mod ++@COND_mips_loongson_TRUE@am__append_3698 = linux.marker ++@COND_sparc64_ieee1275_TRUE@am__append_3699 = linux.module ++@COND_sparc64_ieee1275_TRUE@am__append_3700 = linux.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_3701 = ++@COND_sparc64_ieee1275_TRUE@am__append_3702 = $(nodist_linux_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_3703 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ linux.marker +-@COND_sparc64_ieee1275_TRUE@am__append_3711 = linux.mod +-@COND_sparc64_ieee1275_TRUE@am__append_3712 = linux.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3713 = linux.module +-@COND_powerpc_ieee1275_TRUE@am__append_3714 = linux.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_3715 = +-@COND_powerpc_ieee1275_TRUE@am__append_3716 = $(nodist_linux_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_3717 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_3704 = linux.mod ++@COND_sparc64_ieee1275_TRUE@am__append_3705 = linux.marker ++@COND_powerpc_ieee1275_TRUE@am__append_3706 = linux.module ++@COND_powerpc_ieee1275_TRUE@am__append_3707 = linux.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_3708 = ++@COND_powerpc_ieee1275_TRUE@am__append_3709 = $(nodist_linux_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_3710 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ linux.marker +-@COND_powerpc_ieee1275_TRUE@am__append_3718 = linux.mod +-@COND_powerpc_ieee1275_TRUE@am__append_3719 = linux.marker +-@COND_mips_arc_TRUE@am__append_3720 = linux.module +-@COND_mips_arc_TRUE@am__append_3721 = linux.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_3722 = +-@COND_mips_arc_TRUE@am__append_3723 = $(nodist_linux_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_3724 = $(nodist_linux_module_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_3711 = linux.mod ++@COND_powerpc_ieee1275_TRUE@am__append_3712 = linux.marker ++@COND_mips_arc_TRUE@am__append_3713 = linux.module ++@COND_mips_arc_TRUE@am__append_3714 = linux.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_3715 = ++@COND_mips_arc_TRUE@am__append_3716 = $(nodist_linux_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_3717 = $(nodist_linux_module_SOURCES) \ + @COND_mips_arc_TRUE@ linux.marker +-@COND_mips_arc_TRUE@am__append_3725 = linux.mod +-@COND_mips_arc_TRUE@am__append_3726 = linux.marker +-@COND_ia64_efi_TRUE@am__append_3727 = linux.module +-@COND_ia64_efi_TRUE@am__append_3728 = linux.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_3729 = +-@COND_ia64_efi_TRUE@am__append_3730 = $(nodist_linux_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_3731 = $(nodist_linux_module_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_3718 = linux.mod ++@COND_mips_arc_TRUE@am__append_3719 = linux.marker ++@COND_ia64_efi_TRUE@am__append_3720 = linux.module ++@COND_ia64_efi_TRUE@am__append_3721 = linux.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_3722 = ++@COND_ia64_efi_TRUE@am__append_3723 = $(nodist_linux_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_3724 = $(nodist_linux_module_SOURCES) \ + @COND_ia64_efi_TRUE@ linux.marker +-@COND_ia64_efi_TRUE@am__append_3732 = linux.mod +-@COND_ia64_efi_TRUE@am__append_3733 = linux.marker +-@COND_mips_qemu_mips_TRUE@am__append_3734 = linux.module +-@COND_mips_qemu_mips_TRUE@am__append_3735 = linux.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_3736 = +-@COND_mips_qemu_mips_TRUE@am__append_3737 = $(nodist_linux_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_3738 = \ ++@COND_ia64_efi_TRUE@am__append_3725 = linux.mod ++@COND_ia64_efi_TRUE@am__append_3726 = linux.marker ++@COND_mips_qemu_mips_TRUE@am__append_3727 = linux.module ++@COND_mips_qemu_mips_TRUE@am__append_3728 = linux.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_3729 = ++@COND_mips_qemu_mips_TRUE@am__append_3730 = $(nodist_linux_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_3731 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ linux.marker +-@COND_mips_qemu_mips_TRUE@am__append_3739 = linux.mod +-@COND_mips_qemu_mips_TRUE@am__append_3740 = linux.marker +-@COND_arm_uboot_TRUE@am__append_3741 = linux.module +-@COND_arm_uboot_TRUE@am__append_3742 = linux.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__append_3743 = +-@COND_arm_uboot_TRUE@am__append_3744 = $(nodist_linux_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_3745 = $(nodist_linux_module_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_3732 = linux.mod ++@COND_mips_qemu_mips_TRUE@am__append_3733 = linux.marker ++@COND_arm_uboot_TRUE@am__append_3734 = linux.module ++@COND_arm_uboot_TRUE@am__append_3735 = linux.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_3736 = ++@COND_arm_uboot_TRUE@am__append_3737 = $(nodist_linux_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_3738 = $(nodist_linux_module_SOURCES) \ + @COND_arm_uboot_TRUE@ linux.marker +-@COND_arm_uboot_TRUE@am__append_3746 = linux.mod +-@COND_arm_uboot_TRUE@am__append_3747 = linux.marker +-@COND_arm_efi_TRUE@am__append_3748 = linux.module +-@COND_arm_efi_TRUE@am__append_3749 = linux.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_3750 = +-@COND_arm_efi_TRUE@am__append_3751 = $(nodist_linux_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_3752 = $(nodist_linux_module_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_3739 = linux.mod ++@COND_arm_uboot_TRUE@am__append_3740 = linux.marker ++@COND_arm_efi_TRUE@am__append_3741 = linux.module ++@COND_arm_efi_TRUE@am__append_3742 = linux.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_3743 = ++@COND_arm_efi_TRUE@am__append_3744 = $(nodist_linux_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_3745 = $(nodist_linux_module_SOURCES) \ + @COND_arm_efi_TRUE@ linux.marker +-@COND_arm_efi_TRUE@am__append_3753 = linux.mod +-@COND_arm_efi_TRUE@am__append_3754 = linux.marker +-@COND_arm64_efi_TRUE@am__append_3755 = linux.module +-@COND_arm64_efi_TRUE@am__append_3756 = linux.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_3757 = +-@COND_arm64_efi_TRUE@am__append_3758 = $(nodist_linux_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_3759 = $(nodist_linux_module_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_3746 = linux.mod ++@COND_arm_efi_TRUE@am__append_3747 = linux.marker ++@COND_arm64_efi_TRUE@am__append_3748 = linux.module ++@COND_arm64_efi_TRUE@am__append_3749 = linux.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_3750 = ++@COND_arm64_efi_TRUE@am__append_3751 = $(nodist_linux_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_3752 = $(nodist_linux_module_SOURCES) \ + @COND_arm64_efi_TRUE@ linux.marker +-@COND_arm64_efi_TRUE@am__append_3760 = linux.mod +-@COND_arm64_efi_TRUE@am__append_3761 = linux.marker +-@COND_arm_coreboot_TRUE@am__append_3762 = linux.module +-@COND_arm_coreboot_TRUE@am__append_3763 = linux.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__append_3764 = +-@COND_arm_coreboot_TRUE@am__append_3765 = $(nodist_linux_module_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_3766 = \ ++@COND_arm64_efi_TRUE@am__append_3753 = linux.mod ++@COND_arm64_efi_TRUE@am__append_3754 = linux.marker ++@COND_arm_coreboot_TRUE@am__append_3755 = linux.module ++@COND_arm_coreboot_TRUE@am__append_3756 = linux.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_3757 = ++@COND_arm_coreboot_TRUE@am__append_3758 = $(nodist_linux_module_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_3759 = \ + @COND_arm_coreboot_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_arm_coreboot_TRUE@ linux.marker +-@COND_arm_coreboot_TRUE@am__append_3767 = linux.mod +-@COND_arm_coreboot_TRUE@am__append_3768 = linux.marker +-@COND_riscv32_efi_TRUE@am__append_3769 = linux.module +-@COND_riscv32_efi_TRUE@am__append_3770 = linux.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_3771 = +-@COND_riscv32_efi_TRUE@am__append_3772 = $(nodist_linux_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_3773 = \ ++@COND_arm_coreboot_TRUE@am__append_3760 = linux.mod ++@COND_arm_coreboot_TRUE@am__append_3761 = linux.marker ++@COND_riscv32_efi_TRUE@am__append_3762 = linux.module ++@COND_riscv32_efi_TRUE@am__append_3763 = linux.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_3764 = ++@COND_riscv32_efi_TRUE@am__append_3765 = $(nodist_linux_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_3766 = \ + @COND_riscv32_efi_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ linux.marker +-@COND_riscv32_efi_TRUE@am__append_3774 = linux.mod +-@COND_riscv32_efi_TRUE@am__append_3775 = linux.marker +-@COND_riscv64_efi_TRUE@am__append_3776 = linux.module +-@COND_riscv64_efi_TRUE@am__append_3777 = linux.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_3778 = +-@COND_riscv64_efi_TRUE@am__append_3779 = $(nodist_linux_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_3780 = \ ++@COND_riscv32_efi_TRUE@am__append_3767 = linux.mod ++@COND_riscv32_efi_TRUE@am__append_3768 = linux.marker ++@COND_riscv64_efi_TRUE@am__append_3769 = linux.module ++@COND_riscv64_efi_TRUE@am__append_3770 = linux.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3771 = ++@COND_riscv64_efi_TRUE@am__append_3772 = $(nodist_linux_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_3773 = \ + @COND_riscv64_efi_TRUE@ $(nodist_linux_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ linux.marker +-@COND_riscv64_efi_TRUE@am__append_3781 = linux.mod +-@COND_riscv64_efi_TRUE@am__append_3782 = linux.marker +-@COND_arm_uboot_TRUE@am__append_3783 = fdt.module +-@COND_arm_uboot_TRUE@am__append_3784 = fdt.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3774 = linux.mod ++@COND_riscv64_efi_TRUE@am__append_3775 = linux.marker ++@COND_arm_uboot_TRUE@am__append_3776 = fdt.module ++@COND_arm_uboot_TRUE@am__append_3777 = fdt.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@fdt_module_DEPENDENCIES = +-@COND_arm_uboot_TRUE@am__append_3785 = +-@COND_arm_uboot_TRUE@am__append_3786 = $(nodist_fdt_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_3787 = $(nodist_fdt_module_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_3778 = ++@COND_arm_uboot_TRUE@am__append_3779 = $(nodist_fdt_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_3780 = $(nodist_fdt_module_SOURCES) \ + @COND_arm_uboot_TRUE@ fdt.marker +-@COND_arm_uboot_TRUE@am__append_3788 = fdt.mod +-@COND_arm_uboot_TRUE@am__append_3789 = fdt.marker +-@COND_arm_efi_TRUE@am__append_3790 = fdt.module +-@COND_arm_efi_TRUE@am__append_3791 = fdt.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_3792 = +-@COND_arm_efi_TRUE@am__append_3793 = $(nodist_fdt_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_3794 = $(nodist_fdt_module_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_3781 = fdt.mod ++@COND_arm_uboot_TRUE@am__append_3782 = fdt.marker ++@COND_arm_efi_TRUE@am__append_3783 = fdt.module ++@COND_arm_efi_TRUE@am__append_3784 = fdt.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_3785 = ++@COND_arm_efi_TRUE@am__append_3786 = $(nodist_fdt_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_3787 = $(nodist_fdt_module_SOURCES) \ + @COND_arm_efi_TRUE@ fdt.marker +-@COND_arm_efi_TRUE@am__append_3795 = fdt.mod +-@COND_arm_efi_TRUE@am__append_3796 = fdt.marker +-@COND_arm64_efi_TRUE@am__append_3797 = fdt.module +-@COND_arm64_efi_TRUE@am__append_3798 = fdt.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_3799 = +-@COND_arm64_efi_TRUE@am__append_3800 = $(nodist_fdt_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_3801 = $(nodist_fdt_module_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_3788 = fdt.mod ++@COND_arm_efi_TRUE@am__append_3789 = fdt.marker ++@COND_arm64_efi_TRUE@am__append_3790 = fdt.module ++@COND_arm64_efi_TRUE@am__append_3791 = fdt.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_3792 = ++@COND_arm64_efi_TRUE@am__append_3793 = $(nodist_fdt_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_3794 = $(nodist_fdt_module_SOURCES) \ + @COND_arm64_efi_TRUE@ fdt.marker +-@COND_arm64_efi_TRUE@am__append_3802 = fdt.mod +-@COND_arm64_efi_TRUE@am__append_3803 = fdt.marker +-@COND_riscv32_efi_TRUE@am__append_3804 = fdt.module +-@COND_riscv32_efi_TRUE@am__append_3805 = fdt.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_3806 = +-@COND_riscv32_efi_TRUE@am__append_3807 = $(nodist_fdt_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_3808 = $(nodist_fdt_module_SOURCES) \ ++@COND_arm64_efi_TRUE@am__append_3795 = fdt.mod ++@COND_arm64_efi_TRUE@am__append_3796 = fdt.marker ++@COND_riscv32_efi_TRUE@am__append_3797 = fdt.module ++@COND_riscv32_efi_TRUE@am__append_3798 = fdt.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_3799 = ++@COND_riscv32_efi_TRUE@am__append_3800 = $(nodist_fdt_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_3801 = $(nodist_fdt_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ fdt.marker +-@COND_riscv32_efi_TRUE@am__append_3809 = fdt.mod +-@COND_riscv32_efi_TRUE@am__append_3810 = fdt.marker +-@COND_riscv64_efi_TRUE@am__append_3811 = fdt.module +-@COND_riscv64_efi_TRUE@am__append_3812 = fdt.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_3813 = +-@COND_riscv64_efi_TRUE@am__append_3814 = $(nodist_fdt_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_3815 = $(nodist_fdt_module_SOURCES) \ ++@COND_riscv32_efi_TRUE@am__append_3802 = fdt.mod ++@COND_riscv32_efi_TRUE@am__append_3803 = fdt.marker ++@COND_riscv64_efi_TRUE@am__append_3804 = fdt.module ++@COND_riscv64_efi_TRUE@am__append_3805 = fdt.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3806 = ++@COND_riscv64_efi_TRUE@am__append_3807 = $(nodist_fdt_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_3808 = $(nodist_fdt_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ fdt.marker +-@COND_riscv64_efi_TRUE@am__append_3816 = fdt.mod +-@COND_riscv64_efi_TRUE@am__append_3817 = fdt.marker +-@COND_i386_pc_TRUE@am__append_3818 = xnu.module +-@COND_i386_pc_TRUE@am__append_3819 = xnu.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3809 = fdt.mod ++@COND_riscv64_efi_TRUE@am__append_3810 = fdt.marker ++@COND_i386_pc_TRUE@am__append_3811 = xnu.module ++@COND_i386_pc_TRUE@am__append_3812 = xnu.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_x86_64_efi_FALSE@xnu_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3820 = +-@COND_i386_pc_TRUE@am__append_3821 = $(nodist_xnu_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3822 = $(nodist_xnu_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3813 = ++@COND_i386_pc_TRUE@am__append_3814 = $(nodist_xnu_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3815 = $(nodist_xnu_module_SOURCES) \ + @COND_i386_pc_TRUE@ xnu.marker +-@COND_i386_pc_TRUE@am__append_3823 = xnu.mod +-@COND_i386_pc_TRUE@am__append_3824 = xnu.marker +-@COND_i386_efi_TRUE@am__append_3825 = xnu.module +-@COND_i386_efi_TRUE@am__append_3826 = xnu.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3827 = +-@COND_i386_efi_TRUE@am__append_3828 = $(nodist_xnu_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3829 = $(nodist_xnu_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3816 = xnu.mod ++@COND_i386_pc_TRUE@am__append_3817 = xnu.marker ++@COND_i386_efi_TRUE@am__append_3818 = xnu.module ++@COND_i386_efi_TRUE@am__append_3819 = xnu.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3820 = ++@COND_i386_efi_TRUE@am__append_3821 = $(nodist_xnu_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3822 = $(nodist_xnu_module_SOURCES) \ + @COND_i386_efi_TRUE@ xnu.marker +-@COND_i386_efi_TRUE@am__append_3830 = xnu.mod +-@COND_i386_efi_TRUE@am__append_3831 = xnu.marker +-@COND_i386_coreboot_TRUE@am__append_3832 = xnu.module +-@COND_i386_coreboot_TRUE@am__append_3833 = xnu.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3834 = +-@COND_i386_coreboot_TRUE@am__append_3835 = $(nodist_xnu_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3836 = \ ++@COND_i386_efi_TRUE@am__append_3823 = xnu.mod ++@COND_i386_efi_TRUE@am__append_3824 = xnu.marker ++@COND_i386_coreboot_TRUE@am__append_3825 = xnu.module ++@COND_i386_coreboot_TRUE@am__append_3826 = xnu.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3827 = ++@COND_i386_coreboot_TRUE@am__append_3828 = $(nodist_xnu_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3829 = \ + @COND_i386_coreboot_TRUE@ $(nodist_xnu_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ xnu.marker +-@COND_i386_coreboot_TRUE@am__append_3837 = xnu.mod +-@COND_i386_coreboot_TRUE@am__append_3838 = xnu.marker +-@COND_i386_multiboot_TRUE@am__append_3839 = xnu.module +-@COND_i386_multiboot_TRUE@am__append_3840 = xnu.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3841 = +-@COND_i386_multiboot_TRUE@am__append_3842 = $(nodist_xnu_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3843 = \ ++@COND_i386_coreboot_TRUE@am__append_3830 = xnu.mod ++@COND_i386_coreboot_TRUE@am__append_3831 = xnu.marker ++@COND_i386_multiboot_TRUE@am__append_3832 = xnu.module ++@COND_i386_multiboot_TRUE@am__append_3833 = xnu.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3834 = ++@COND_i386_multiboot_TRUE@am__append_3835 = $(nodist_xnu_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3836 = \ + @COND_i386_multiboot_TRUE@ $(nodist_xnu_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ xnu.marker +-@COND_i386_multiboot_TRUE@am__append_3844 = xnu.mod +-@COND_i386_multiboot_TRUE@am__append_3845 = xnu.marker +-@COND_x86_64_efi_TRUE@am__append_3846 = xnu.module +-@COND_x86_64_efi_TRUE@am__append_3847 = xnu.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3848 = +-@COND_x86_64_efi_TRUE@am__append_3849 = $(nodist_xnu_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3850 = $(nodist_xnu_module_SOURCES) \ ++@COND_i386_multiboot_TRUE@am__append_3837 = xnu.mod ++@COND_i386_multiboot_TRUE@am__append_3838 = xnu.marker ++@COND_x86_64_efi_TRUE@am__append_3839 = xnu.module ++@COND_x86_64_efi_TRUE@am__append_3840 = xnu.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3841 = ++@COND_x86_64_efi_TRUE@am__append_3842 = $(nodist_xnu_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3843 = $(nodist_xnu_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ xnu.marker +-@COND_x86_64_efi_TRUE@am__append_3851 = xnu.mod +-@COND_x86_64_efi_TRUE@am__append_3852 = xnu.marker +-@COND_i386_pc_TRUE@am__append_3853 = random.module +-@COND_i386_pc_TRUE@am__append_3854 = random.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3844 = xnu.mod ++@COND_x86_64_efi_TRUE@am__append_3845 = xnu.marker ++@COND_i386_pc_TRUE@am__append_3846 = random.module ++@COND_i386_pc_TRUE@am__append_3847 = random.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_x86_64_efi_FALSE@random_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3855 = +-@COND_i386_pc_TRUE@am__append_3856 = $(nodist_random_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3857 = $(nodist_random_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3848 = ++@COND_i386_pc_TRUE@am__append_3849 = $(nodist_random_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3850 = $(nodist_random_module_SOURCES) \ + @COND_i386_pc_TRUE@ random.marker +-@COND_i386_pc_TRUE@am__append_3858 = random.mod +-@COND_i386_pc_TRUE@am__append_3859 = random.marker +-@COND_i386_efi_TRUE@am__append_3860 = random.module +-@COND_i386_efi_TRUE@am__append_3861 = random.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3862 = +-@COND_i386_efi_TRUE@am__append_3863 = $(nodist_random_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3864 = $(nodist_random_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3851 = random.mod ++@COND_i386_pc_TRUE@am__append_3852 = random.marker ++@COND_i386_efi_TRUE@am__append_3853 = random.module ++@COND_i386_efi_TRUE@am__append_3854 = random.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3855 = ++@COND_i386_efi_TRUE@am__append_3856 = $(nodist_random_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3857 = $(nodist_random_module_SOURCES) \ + @COND_i386_efi_TRUE@ random.marker +-@COND_i386_efi_TRUE@am__append_3865 = random.mod +-@COND_i386_efi_TRUE@am__append_3866 = random.marker +-@COND_i386_coreboot_TRUE@am__append_3867 = random.module +-@COND_i386_coreboot_TRUE@am__append_3868 = random.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3869 = +-@COND_i386_coreboot_TRUE@am__append_3870 = $(nodist_random_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3871 = \ ++@COND_i386_efi_TRUE@am__append_3858 = random.mod ++@COND_i386_efi_TRUE@am__append_3859 = random.marker ++@COND_i386_coreboot_TRUE@am__append_3860 = random.module ++@COND_i386_coreboot_TRUE@am__append_3861 = random.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3862 = ++@COND_i386_coreboot_TRUE@am__append_3863 = $(nodist_random_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3864 = \ + @COND_i386_coreboot_TRUE@ $(nodist_random_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ random.marker +-@COND_i386_coreboot_TRUE@am__append_3872 = random.mod +-@COND_i386_coreboot_TRUE@am__append_3873 = random.marker +-@COND_i386_multiboot_TRUE@am__append_3874 = random.module +-@COND_i386_multiboot_TRUE@am__append_3875 = random.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3876 = +-@COND_i386_multiboot_TRUE@am__append_3877 = $(nodist_random_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3878 = \ ++@COND_i386_coreboot_TRUE@am__append_3865 = random.mod ++@COND_i386_coreboot_TRUE@am__append_3866 = random.marker ++@COND_i386_multiboot_TRUE@am__append_3867 = random.module ++@COND_i386_multiboot_TRUE@am__append_3868 = random.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3869 = ++@COND_i386_multiboot_TRUE@am__append_3870 = $(nodist_random_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3871 = \ + @COND_i386_multiboot_TRUE@ $(nodist_random_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ random.marker +-@COND_i386_multiboot_TRUE@am__append_3879 = random.mod +-@COND_i386_multiboot_TRUE@am__append_3880 = random.marker +-@COND_x86_64_efi_TRUE@am__append_3881 = random.module +-@COND_x86_64_efi_TRUE@am__append_3882 = random.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3883 = +-@COND_x86_64_efi_TRUE@am__append_3884 = $(nodist_random_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3885 = \ ++@COND_i386_multiboot_TRUE@am__append_3872 = random.mod ++@COND_i386_multiboot_TRUE@am__append_3873 = random.marker ++@COND_x86_64_efi_TRUE@am__append_3874 = random.module ++@COND_x86_64_efi_TRUE@am__append_3875 = random.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3876 = ++@COND_x86_64_efi_TRUE@am__append_3877 = $(nodist_random_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3878 = \ + @COND_x86_64_efi_TRUE@ $(nodist_random_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ random.marker +-@COND_x86_64_efi_TRUE@am__append_3886 = random.mod +-@COND_x86_64_efi_TRUE@am__append_3887 = random.marker +-@COND_i386_efi_TRUE@am__append_3888 = appleldr.module +-@COND_i386_efi_TRUE@am__append_3889 = appleldr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3879 = random.mod ++@COND_x86_64_efi_TRUE@am__append_3880 = random.marker ++@COND_i386_efi_TRUE@am__append_3881 = appleldr.module ++@COND_i386_efi_TRUE@am__append_3882 = appleldr.module$(EXEEXT) + @COND_i386_efi_FALSE@@COND_x86_64_efi_FALSE@appleldr_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_3890 = +-@COND_i386_efi_TRUE@am__append_3891 = $(nodist_appleldr_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3892 = \ ++@COND_i386_efi_TRUE@am__append_3883 = ++@COND_i386_efi_TRUE@am__append_3884 = $(nodist_appleldr_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3885 = \ + @COND_i386_efi_TRUE@ $(nodist_appleldr_module_SOURCES) \ + @COND_i386_efi_TRUE@ appleldr.marker +-@COND_i386_efi_TRUE@am__append_3893 = appleldr.mod +-@COND_i386_efi_TRUE@am__append_3894 = appleldr.marker +-@COND_x86_64_efi_TRUE@am__append_3895 = appleldr.module +-@COND_x86_64_efi_TRUE@am__append_3896 = appleldr.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3897 = +-@COND_x86_64_efi_TRUE@am__append_3898 = $(nodist_appleldr_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3899 = \ ++@COND_i386_efi_TRUE@am__append_3886 = appleldr.mod ++@COND_i386_efi_TRUE@am__append_3887 = appleldr.marker ++@COND_x86_64_efi_TRUE@am__append_3888 = appleldr.module ++@COND_x86_64_efi_TRUE@am__append_3889 = appleldr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3890 = ++@COND_x86_64_efi_TRUE@am__append_3891 = $(nodist_appleldr_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3892 = \ + @COND_x86_64_efi_TRUE@ $(nodist_appleldr_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ appleldr.marker +-@COND_x86_64_efi_TRUE@am__append_3900 = appleldr.mod +-@COND_x86_64_efi_TRUE@am__append_3901 = appleldr.marker +-@COND_i386_pc_TRUE@am__append_3902 = chain.module +-@COND_i386_pc_TRUE@am__append_3903 = chain.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3893 = appleldr.mod ++@COND_x86_64_efi_TRUE@am__append_3894 = appleldr.marker ++@COND_i386_pc_TRUE@am__append_3895 = chain.module ++@COND_i386_pc_TRUE@am__append_3896 = chain.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_pc_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@chain_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3904 = +-@COND_i386_pc_TRUE@am__append_3905 = $(nodist_chain_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3906 = $(nodist_chain_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3897 = ++@COND_i386_pc_TRUE@am__append_3898 = $(nodist_chain_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3899 = $(nodist_chain_module_SOURCES) \ + @COND_i386_pc_TRUE@ chain.marker +-@COND_i386_pc_TRUE@am__append_3907 = chain.mod +-@COND_i386_pc_TRUE@am__append_3908 = chain.marker +-@COND_i386_efi_TRUE@am__append_3909 = chain.module +-@COND_i386_efi_TRUE@am__append_3910 = chain.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3911 = +-@COND_i386_efi_TRUE@am__append_3912 = $(nodist_chain_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3913 = $(nodist_chain_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3900 = chain.mod ++@COND_i386_pc_TRUE@am__append_3901 = chain.marker ++@COND_i386_efi_TRUE@am__append_3902 = chain.module ++@COND_i386_efi_TRUE@am__append_3903 = chain.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3904 = ++@COND_i386_efi_TRUE@am__append_3905 = $(nodist_chain_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3906 = $(nodist_chain_module_SOURCES) \ + @COND_i386_efi_TRUE@ chain.marker +-@COND_i386_efi_TRUE@am__append_3914 = chain.mod +-@COND_i386_efi_TRUE@am__append_3915 = chain.marker +-@COND_i386_coreboot_TRUE@am__append_3916 = chain.module +-@COND_i386_coreboot_TRUE@am__append_3917 = chain.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3918 = +-@COND_i386_coreboot_TRUE@am__append_3919 = $(nodist_chain_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3920 = \ ++@COND_i386_efi_TRUE@am__append_3907 = chain.mod ++@COND_i386_efi_TRUE@am__append_3908 = chain.marker ++@COND_i386_coreboot_TRUE@am__append_3909 = chain.module ++@COND_i386_coreboot_TRUE@am__append_3910 = chain.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3911 = ++@COND_i386_coreboot_TRUE@am__append_3912 = $(nodist_chain_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3913 = \ + @COND_i386_coreboot_TRUE@ $(nodist_chain_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ chain.marker +-@COND_i386_coreboot_TRUE@am__append_3921 = chain.mod +-@COND_i386_coreboot_TRUE@am__append_3922 = chain.marker +-@COND_x86_64_efi_TRUE@am__append_3923 = chain.module +-@COND_x86_64_efi_TRUE@am__append_3924 = chain.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_3925 = +-@COND_x86_64_efi_TRUE@am__append_3926 = $(nodist_chain_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_3927 = \ ++@COND_i386_coreboot_TRUE@am__append_3914 = chain.mod ++@COND_i386_coreboot_TRUE@am__append_3915 = chain.marker ++@COND_x86_64_efi_TRUE@am__append_3916 = chain.module ++@COND_x86_64_efi_TRUE@am__append_3917 = chain.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_3918 = ++@COND_x86_64_efi_TRUE@am__append_3919 = $(nodist_chain_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_3920 = \ + @COND_x86_64_efi_TRUE@ $(nodist_chain_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ chain.marker +-@COND_x86_64_efi_TRUE@am__append_3928 = chain.mod +-@COND_x86_64_efi_TRUE@am__append_3929 = chain.marker +-@COND_ia64_efi_TRUE@am__append_3930 = chain.module +-@COND_ia64_efi_TRUE@am__append_3931 = chain.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_3932 = +-@COND_ia64_efi_TRUE@am__append_3933 = $(nodist_chain_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_3934 = $(nodist_chain_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_3921 = chain.mod ++@COND_x86_64_efi_TRUE@am__append_3922 = chain.marker ++@COND_ia64_efi_TRUE@am__append_3923 = chain.module ++@COND_ia64_efi_TRUE@am__append_3924 = chain.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_3925 = ++@COND_ia64_efi_TRUE@am__append_3926 = $(nodist_chain_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_3927 = $(nodist_chain_module_SOURCES) \ + @COND_ia64_efi_TRUE@ chain.marker +-@COND_ia64_efi_TRUE@am__append_3935 = chain.mod +-@COND_ia64_efi_TRUE@am__append_3936 = chain.marker +-@COND_arm_efi_TRUE@am__append_3937 = chain.module +-@COND_arm_efi_TRUE@am__append_3938 = chain.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_3939 = +-@COND_arm_efi_TRUE@am__append_3940 = $(nodist_chain_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_3941 = $(nodist_chain_module_SOURCES) \ ++@COND_ia64_efi_TRUE@am__append_3928 = chain.mod ++@COND_ia64_efi_TRUE@am__append_3929 = chain.marker ++@COND_arm_efi_TRUE@am__append_3930 = chain.module ++@COND_arm_efi_TRUE@am__append_3931 = chain.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_3932 = ++@COND_arm_efi_TRUE@am__append_3933 = $(nodist_chain_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_3934 = $(nodist_chain_module_SOURCES) \ + @COND_arm_efi_TRUE@ chain.marker +-@COND_arm_efi_TRUE@am__append_3942 = chain.mod +-@COND_arm_efi_TRUE@am__append_3943 = chain.marker +-@COND_arm64_efi_TRUE@am__append_3944 = chain.module +-@COND_arm64_efi_TRUE@am__append_3945 = chain.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_3946 = +-@COND_arm64_efi_TRUE@am__append_3947 = $(nodist_chain_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_3948 = $(nodist_chain_module_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_3935 = chain.mod ++@COND_arm_efi_TRUE@am__append_3936 = chain.marker ++@COND_arm64_efi_TRUE@am__append_3937 = chain.module ++@COND_arm64_efi_TRUE@am__append_3938 = chain.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_3939 = ++@COND_arm64_efi_TRUE@am__append_3940 = $(nodist_chain_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_3941 = $(nodist_chain_module_SOURCES) \ + @COND_arm64_efi_TRUE@ chain.marker +-@COND_arm64_efi_TRUE@am__append_3949 = chain.mod +-@COND_arm64_efi_TRUE@am__append_3950 = chain.marker +-@COND_riscv32_efi_TRUE@am__append_3951 = chain.module +-@COND_riscv32_efi_TRUE@am__append_3952 = chain.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_3953 = +-@COND_riscv32_efi_TRUE@am__append_3954 = $(nodist_chain_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_3955 = \ ++@COND_arm64_efi_TRUE@am__append_3942 = chain.mod ++@COND_arm64_efi_TRUE@am__append_3943 = chain.marker ++@COND_riscv32_efi_TRUE@am__append_3944 = chain.module ++@COND_riscv32_efi_TRUE@am__append_3945 = chain.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_3946 = ++@COND_riscv32_efi_TRUE@am__append_3947 = $(nodist_chain_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_3948 = \ + @COND_riscv32_efi_TRUE@ $(nodist_chain_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ chain.marker +-@COND_riscv32_efi_TRUE@am__append_3956 = chain.mod +-@COND_riscv32_efi_TRUE@am__append_3957 = chain.marker +-@COND_riscv64_efi_TRUE@am__append_3958 = chain.module +-@COND_riscv64_efi_TRUE@am__append_3959 = chain.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_3960 = +-@COND_riscv64_efi_TRUE@am__append_3961 = $(nodist_chain_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_3962 = \ ++@COND_riscv32_efi_TRUE@am__append_3949 = chain.mod ++@COND_riscv32_efi_TRUE@am__append_3950 = chain.marker ++@COND_riscv64_efi_TRUE@am__append_3951 = chain.module ++@COND_riscv64_efi_TRUE@am__append_3952 = chain.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3953 = ++@COND_riscv64_efi_TRUE@am__append_3954 = $(nodist_chain_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_3955 = \ + @COND_riscv64_efi_TRUE@ $(nodist_chain_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ chain.marker +-@COND_riscv64_efi_TRUE@am__append_3963 = chain.mod +-@COND_riscv64_efi_TRUE@am__append_3964 = chain.marker +-@COND_i386_pc_TRUE@am__append_3965 = mmap.module +-@COND_i386_pc_TRUE@am__append_3966 = mmap.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_3956 = chain.mod ++@COND_riscv64_efi_TRUE@am__append_3957 = chain.marker ++@COND_i386_pc_TRUE@am__append_3958 = mmap.module ++@COND_i386_pc_TRUE@am__append_3959 = mmap.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@mmap_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_3967 = +-@COND_i386_pc_TRUE@am__append_3968 = $(nodist_mmap_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_3969 = $(nodist_mmap_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3960 = ++@COND_i386_pc_TRUE@am__append_3961 = $(nodist_mmap_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_3962 = $(nodist_mmap_module_SOURCES) \ + @COND_i386_pc_TRUE@ mmap.marker +-@COND_i386_pc_TRUE@am__append_3970 = mmap.mod +-@COND_i386_pc_TRUE@am__append_3971 = mmap.marker +-@COND_i386_efi_TRUE@am__append_3972 = mmap.module +-@COND_i386_efi_TRUE@am__append_3973 = mmap.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_3974 = +-@COND_i386_efi_TRUE@am__append_3975 = $(nodist_mmap_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_3976 = $(nodist_mmap_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_3963 = mmap.mod ++@COND_i386_pc_TRUE@am__append_3964 = mmap.marker ++@COND_i386_efi_TRUE@am__append_3965 = mmap.module ++@COND_i386_efi_TRUE@am__append_3966 = mmap.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_3967 = ++@COND_i386_efi_TRUE@am__append_3968 = $(nodist_mmap_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_3969 = $(nodist_mmap_module_SOURCES) \ + @COND_i386_efi_TRUE@ mmap.marker +-@COND_i386_efi_TRUE@am__append_3977 = mmap.mod +-@COND_i386_efi_TRUE@am__append_3978 = mmap.marker +-@COND_i386_qemu_TRUE@am__append_3979 = mmap.module +-@COND_i386_qemu_TRUE@am__append_3980 = mmap.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_3981 = +-@COND_i386_qemu_TRUE@am__append_3982 = $(nodist_mmap_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_3983 = $(nodist_mmap_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_3970 = mmap.mod ++@COND_i386_efi_TRUE@am__append_3971 = mmap.marker ++@COND_i386_qemu_TRUE@am__append_3972 = mmap.module ++@COND_i386_qemu_TRUE@am__append_3973 = mmap.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_3974 = ++@COND_i386_qemu_TRUE@am__append_3975 = $(nodist_mmap_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_3976 = $(nodist_mmap_module_SOURCES) \ + @COND_i386_qemu_TRUE@ mmap.marker +-@COND_i386_qemu_TRUE@am__append_3984 = mmap.mod +-@COND_i386_qemu_TRUE@am__append_3985 = mmap.marker +-@COND_i386_coreboot_TRUE@am__append_3986 = mmap.module +-@COND_i386_coreboot_TRUE@am__append_3987 = mmap.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_3988 = +-@COND_i386_coreboot_TRUE@am__append_3989 = $(nodist_mmap_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_3990 = \ ++@COND_i386_qemu_TRUE@am__append_3977 = mmap.mod ++@COND_i386_qemu_TRUE@am__append_3978 = mmap.marker ++@COND_i386_coreboot_TRUE@am__append_3979 = mmap.module ++@COND_i386_coreboot_TRUE@am__append_3980 = mmap.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_3981 = ++@COND_i386_coreboot_TRUE@am__append_3982 = $(nodist_mmap_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_3983 = \ + @COND_i386_coreboot_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ mmap.marker +-@COND_i386_coreboot_TRUE@am__append_3991 = mmap.mod +-@COND_i386_coreboot_TRUE@am__append_3992 = mmap.marker +-@COND_i386_multiboot_TRUE@am__append_3993 = mmap.module +-@COND_i386_multiboot_TRUE@am__append_3994 = mmap.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_3995 = +-@COND_i386_multiboot_TRUE@am__append_3996 = $(nodist_mmap_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_3997 = \ ++@COND_i386_coreboot_TRUE@am__append_3984 = mmap.mod ++@COND_i386_coreboot_TRUE@am__append_3985 = mmap.marker ++@COND_i386_multiboot_TRUE@am__append_3986 = mmap.module ++@COND_i386_multiboot_TRUE@am__append_3987 = mmap.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_3988 = ++@COND_i386_multiboot_TRUE@am__append_3989 = $(nodist_mmap_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_3990 = \ + @COND_i386_multiboot_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ mmap.marker +-@COND_i386_multiboot_TRUE@am__append_3998 = mmap.mod +-@COND_i386_multiboot_TRUE@am__append_3999 = mmap.marker +-@COND_i386_ieee1275_TRUE@am__append_4000 = mmap.module +-@COND_i386_ieee1275_TRUE@am__append_4001 = mmap.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4002 = +-@COND_i386_ieee1275_TRUE@am__append_4003 = $(nodist_mmap_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4004 = \ ++@COND_i386_multiboot_TRUE@am__append_3991 = mmap.mod ++@COND_i386_multiboot_TRUE@am__append_3992 = mmap.marker ++@COND_i386_ieee1275_TRUE@am__append_3993 = mmap.module ++@COND_i386_ieee1275_TRUE@am__append_3994 = mmap.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_3995 = ++@COND_i386_ieee1275_TRUE@am__append_3996 = $(nodist_mmap_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_3997 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ mmap.marker +-@COND_i386_ieee1275_TRUE@am__append_4005 = mmap.mod +-@COND_i386_ieee1275_TRUE@am__append_4006 = mmap.marker +-@COND_x86_64_efi_TRUE@am__append_4007 = mmap.module +-@COND_x86_64_efi_TRUE@am__append_4008 = mmap.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4009 = +-@COND_x86_64_efi_TRUE@am__append_4010 = $(nodist_mmap_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4011 = $(nodist_mmap_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_3998 = mmap.mod ++@COND_i386_ieee1275_TRUE@am__append_3999 = mmap.marker ++@COND_x86_64_efi_TRUE@am__append_4000 = mmap.module ++@COND_x86_64_efi_TRUE@am__append_4001 = mmap.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4002 = ++@COND_x86_64_efi_TRUE@am__append_4003 = $(nodist_mmap_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4004 = $(nodist_mmap_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ mmap.marker +-@COND_x86_64_efi_TRUE@am__append_4012 = mmap.mod +-@COND_x86_64_efi_TRUE@am__append_4013 = mmap.marker +-@COND_i386_xen_pvh_TRUE@am__append_4014 = mmap.module +-@COND_i386_xen_pvh_TRUE@am__append_4015 = mmap.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_4016 = +-@COND_i386_xen_pvh_TRUE@am__append_4017 = $(nodist_mmap_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_4018 = \ ++@COND_x86_64_efi_TRUE@am__append_4005 = mmap.mod ++@COND_x86_64_efi_TRUE@am__append_4006 = mmap.marker ++@COND_i386_xen_pvh_TRUE@am__append_4007 = mmap.module ++@COND_i386_xen_pvh_TRUE@am__append_4008 = mmap.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_4009 = ++@COND_i386_xen_pvh_TRUE@am__append_4010 = $(nodist_mmap_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_4011 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ mmap.marker +-@COND_i386_xen_pvh_TRUE@am__append_4019 = mmap.mod +-@COND_i386_xen_pvh_TRUE@am__append_4020 = mmap.marker +-@COND_mips_loongson_TRUE@am__append_4021 = mmap.module +-@COND_mips_loongson_TRUE@am__append_4022 = mmap.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_4023 = +-@COND_mips_loongson_TRUE@am__append_4024 = $(nodist_mmap_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_4025 = \ ++@COND_i386_xen_pvh_TRUE@am__append_4012 = mmap.mod ++@COND_i386_xen_pvh_TRUE@am__append_4013 = mmap.marker ++@COND_mips_loongson_TRUE@am__append_4014 = mmap.module ++@COND_mips_loongson_TRUE@am__append_4015 = mmap.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_4016 = ++@COND_mips_loongson_TRUE@am__append_4017 = $(nodist_mmap_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_4018 = \ + @COND_mips_loongson_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_mips_loongson_TRUE@ mmap.marker +-@COND_mips_loongson_TRUE@am__append_4026 = mmap.mod +-@COND_mips_loongson_TRUE@am__append_4027 = mmap.marker +-@COND_mips_arc_TRUE@am__append_4028 = mmap.module +-@COND_mips_arc_TRUE@am__append_4029 = mmap.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_4030 = +-@COND_mips_arc_TRUE@am__append_4031 = $(nodist_mmap_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_4032 = $(nodist_mmap_module_SOURCES) \ ++@COND_mips_loongson_TRUE@am__append_4019 = mmap.mod ++@COND_mips_loongson_TRUE@am__append_4020 = mmap.marker ++@COND_mips_arc_TRUE@am__append_4021 = mmap.module ++@COND_mips_arc_TRUE@am__append_4022 = mmap.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_4023 = ++@COND_mips_arc_TRUE@am__append_4024 = $(nodist_mmap_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_4025 = $(nodist_mmap_module_SOURCES) \ + @COND_mips_arc_TRUE@ mmap.marker +-@COND_mips_arc_TRUE@am__append_4033 = mmap.mod +-@COND_mips_arc_TRUE@am__append_4034 = mmap.marker +-@COND_ia64_efi_TRUE@am__append_4035 = mmap.module +-@COND_ia64_efi_TRUE@am__append_4036 = mmap.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_4037 = +-@COND_ia64_efi_TRUE@am__append_4038 = $(nodist_mmap_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_4039 = $(nodist_mmap_module_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_4026 = mmap.mod ++@COND_mips_arc_TRUE@am__append_4027 = mmap.marker ++@COND_ia64_efi_TRUE@am__append_4028 = mmap.module ++@COND_ia64_efi_TRUE@am__append_4029 = mmap.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_4030 = ++@COND_ia64_efi_TRUE@am__append_4031 = $(nodist_mmap_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_4032 = $(nodist_mmap_module_SOURCES) \ + @COND_ia64_efi_TRUE@ mmap.marker +-@COND_ia64_efi_TRUE@am__append_4040 = mmap.mod +-@COND_ia64_efi_TRUE@am__append_4041 = mmap.marker +-@COND_mips_qemu_mips_TRUE@am__append_4042 = mmap.module +-@COND_mips_qemu_mips_TRUE@am__append_4043 = mmap.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_4044 = +-@COND_mips_qemu_mips_TRUE@am__append_4045 = $(nodist_mmap_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_4046 = \ ++@COND_ia64_efi_TRUE@am__append_4033 = mmap.mod ++@COND_ia64_efi_TRUE@am__append_4034 = mmap.marker ++@COND_mips_qemu_mips_TRUE@am__append_4035 = mmap.module ++@COND_mips_qemu_mips_TRUE@am__append_4036 = mmap.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_4037 = ++@COND_mips_qemu_mips_TRUE@am__append_4038 = $(nodist_mmap_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_4039 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ mmap.marker +-@COND_mips_qemu_mips_TRUE@am__append_4047 = mmap.mod +-@COND_mips_qemu_mips_TRUE@am__append_4048 = mmap.marker +-@COND_arm_efi_TRUE@am__append_4049 = mmap.module +-@COND_arm_efi_TRUE@am__append_4050 = mmap.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_4051 = +-@COND_arm_efi_TRUE@am__append_4052 = $(nodist_mmap_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_4053 = $(nodist_mmap_module_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_4040 = mmap.mod ++@COND_mips_qemu_mips_TRUE@am__append_4041 = mmap.marker ++@COND_arm_efi_TRUE@am__append_4042 = mmap.module ++@COND_arm_efi_TRUE@am__append_4043 = mmap.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_4044 = ++@COND_arm_efi_TRUE@am__append_4045 = $(nodist_mmap_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_4046 = $(nodist_mmap_module_SOURCES) \ + @COND_arm_efi_TRUE@ mmap.marker +-@COND_arm_efi_TRUE@am__append_4054 = mmap.mod +-@COND_arm_efi_TRUE@am__append_4055 = mmap.marker +-@COND_arm64_efi_TRUE@am__append_4056 = mmap.module +-@COND_arm64_efi_TRUE@am__append_4057 = mmap.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_4058 = +-@COND_arm64_efi_TRUE@am__append_4059 = $(nodist_mmap_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_4060 = $(nodist_mmap_module_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_4047 = mmap.mod ++@COND_arm_efi_TRUE@am__append_4048 = mmap.marker ++@COND_arm64_efi_TRUE@am__append_4049 = mmap.module ++@COND_arm64_efi_TRUE@am__append_4050 = mmap.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_4051 = ++@COND_arm64_efi_TRUE@am__append_4052 = $(nodist_mmap_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_4053 = $(nodist_mmap_module_SOURCES) \ + @COND_arm64_efi_TRUE@ mmap.marker +-@COND_arm64_efi_TRUE@am__append_4061 = mmap.mod +-@COND_arm64_efi_TRUE@am__append_4062 = mmap.marker +-@COND_riscv32_efi_TRUE@am__append_4063 = mmap.module +-@COND_riscv32_efi_TRUE@am__append_4064 = mmap.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_4065 = +-@COND_riscv32_efi_TRUE@am__append_4066 = $(nodist_mmap_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_4067 = \ ++@COND_arm64_efi_TRUE@am__append_4054 = mmap.mod ++@COND_arm64_efi_TRUE@am__append_4055 = mmap.marker ++@COND_riscv32_efi_TRUE@am__append_4056 = mmap.module ++@COND_riscv32_efi_TRUE@am__append_4057 = mmap.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_4058 = ++@COND_riscv32_efi_TRUE@am__append_4059 = $(nodist_mmap_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_4060 = \ + @COND_riscv32_efi_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ mmap.marker +-@COND_riscv32_efi_TRUE@am__append_4068 = mmap.mod +-@COND_riscv32_efi_TRUE@am__append_4069 = mmap.marker +-@COND_riscv64_efi_TRUE@am__append_4070 = mmap.module +-@COND_riscv64_efi_TRUE@am__append_4071 = mmap.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_4072 = +-@COND_riscv64_efi_TRUE@am__append_4073 = $(nodist_mmap_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_4074 = \ ++@COND_riscv32_efi_TRUE@am__append_4061 = mmap.mod ++@COND_riscv32_efi_TRUE@am__append_4062 = mmap.marker ++@COND_riscv64_efi_TRUE@am__append_4063 = mmap.module ++@COND_riscv64_efi_TRUE@am__append_4064 = mmap.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4065 = ++@COND_riscv64_efi_TRUE@am__append_4066 = $(nodist_mmap_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_4067 = \ + @COND_riscv64_efi_TRUE@ $(nodist_mmap_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ mmap.marker +-@COND_riscv64_efi_TRUE@am__append_4075 = mmap.mod +-@COND_riscv64_efi_TRUE@am__append_4076 = mmap.marker +-@COND_i386_pc_TRUE@am__append_4077 = at_keyboard.module +-@COND_i386_pc_TRUE@am__append_4078 = at_keyboard.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4068 = mmap.mod ++@COND_riscv64_efi_TRUE@am__append_4069 = mmap.marker ++@COND_i386_pc_TRUE@am__append_4070 = at_keyboard.module ++@COND_i386_pc_TRUE@am__append_4071 = at_keyboard.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@at_keyboard_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4079 = +-@COND_i386_pc_TRUE@am__append_4080 = $(nodist_at_keyboard_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4081 = \ ++@COND_i386_pc_TRUE@am__append_4072 = ++@COND_i386_pc_TRUE@am__append_4073 = $(nodist_at_keyboard_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4074 = \ + @COND_i386_pc_TRUE@ $(nodist_at_keyboard_module_SOURCES) \ + @COND_i386_pc_TRUE@ at_keyboard.marker +-@COND_i386_pc_TRUE@am__append_4082 = at_keyboard.mod +-@COND_i386_pc_TRUE@am__append_4083 = at_keyboard.marker +-@COND_i386_efi_TRUE@am__append_4084 = at_keyboard.module +-@COND_i386_efi_TRUE@am__append_4085 = at_keyboard.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4086 = +-@COND_i386_efi_TRUE@am__append_4087 = $(nodist_at_keyboard_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4088 = \ ++@COND_i386_pc_TRUE@am__append_4075 = at_keyboard.mod ++@COND_i386_pc_TRUE@am__append_4076 = at_keyboard.marker ++@COND_i386_efi_TRUE@am__append_4077 = at_keyboard.module ++@COND_i386_efi_TRUE@am__append_4078 = at_keyboard.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4079 = ++@COND_i386_efi_TRUE@am__append_4080 = $(nodist_at_keyboard_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4081 = \ + @COND_i386_efi_TRUE@ $(nodist_at_keyboard_module_SOURCES) \ + @COND_i386_efi_TRUE@ at_keyboard.marker +-@COND_i386_efi_TRUE@am__append_4089 = at_keyboard.mod +-@COND_i386_efi_TRUE@am__append_4090 = at_keyboard.marker +-@COND_i386_qemu_TRUE@am__append_4091 = at_keyboard.module +-@COND_i386_qemu_TRUE@am__append_4092 = at_keyboard.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4093 = +-@COND_i386_qemu_TRUE@am__append_4094 = $(nodist_at_keyboard_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4095 = \ ++@COND_i386_efi_TRUE@am__append_4082 = at_keyboard.mod ++@COND_i386_efi_TRUE@am__append_4083 = at_keyboard.marker ++@COND_i386_qemu_TRUE@am__append_4084 = at_keyboard.module ++@COND_i386_qemu_TRUE@am__append_4085 = at_keyboard.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4086 = ++@COND_i386_qemu_TRUE@am__append_4087 = $(nodist_at_keyboard_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4088 = \ + @COND_i386_qemu_TRUE@ $(nodist_at_keyboard_module_SOURCES) \ + @COND_i386_qemu_TRUE@ at_keyboard.marker +-@COND_i386_qemu_TRUE@am__append_4096 = at_keyboard.mod +-@COND_i386_qemu_TRUE@am__append_4097 = at_keyboard.marker +-@COND_i386_coreboot_TRUE@am__append_4098 = at_keyboard.module +-@COND_i386_coreboot_TRUE@am__append_4099 = at_keyboard.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4100 = +-@COND_i386_coreboot_TRUE@am__append_4101 = $(nodist_at_keyboard_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4102 = \ ++@COND_i386_qemu_TRUE@am__append_4089 = at_keyboard.mod ++@COND_i386_qemu_TRUE@am__append_4090 = at_keyboard.marker ++@COND_i386_coreboot_TRUE@am__append_4091 = at_keyboard.module ++@COND_i386_coreboot_TRUE@am__append_4092 = at_keyboard.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4093 = ++@COND_i386_coreboot_TRUE@am__append_4094 = $(nodist_at_keyboard_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4095 = \ + @COND_i386_coreboot_TRUE@ $(nodist_at_keyboard_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ at_keyboard.marker +-@COND_i386_coreboot_TRUE@am__append_4103 = at_keyboard.mod +-@COND_i386_coreboot_TRUE@am__append_4104 = at_keyboard.marker +-@COND_i386_multiboot_TRUE@am__append_4105 = at_keyboard.module +-@COND_i386_multiboot_TRUE@am__append_4106 = at_keyboard.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4107 = +-@COND_i386_multiboot_TRUE@am__append_4108 = $(nodist_at_keyboard_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4109 = $(nodist_at_keyboard_module_SOURCES) \ ++@COND_i386_coreboot_TRUE@am__append_4096 = at_keyboard.mod ++@COND_i386_coreboot_TRUE@am__append_4097 = at_keyboard.marker ++@COND_i386_multiboot_TRUE@am__append_4098 = at_keyboard.module ++@COND_i386_multiboot_TRUE@am__append_4099 = at_keyboard.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4100 = ++@COND_i386_multiboot_TRUE@am__append_4101 = $(nodist_at_keyboard_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4102 = $(nodist_at_keyboard_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ at_keyboard.marker +-@COND_i386_multiboot_TRUE@am__append_4110 = at_keyboard.mod +-@COND_i386_multiboot_TRUE@am__append_4111 = at_keyboard.marker +-@COND_i386_ieee1275_TRUE@am__append_4112 = at_keyboard.module +-@COND_i386_ieee1275_TRUE@am__append_4113 = at_keyboard.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4114 = +-@COND_i386_ieee1275_TRUE@am__append_4115 = $(nodist_at_keyboard_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4116 = \ ++@COND_i386_multiboot_TRUE@am__append_4103 = at_keyboard.mod ++@COND_i386_multiboot_TRUE@am__append_4104 = at_keyboard.marker ++@COND_i386_ieee1275_TRUE@am__append_4105 = at_keyboard.module ++@COND_i386_ieee1275_TRUE@am__append_4106 = at_keyboard.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4107 = ++@COND_i386_ieee1275_TRUE@am__append_4108 = $(nodist_at_keyboard_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4109 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_at_keyboard_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ at_keyboard.marker +-@COND_i386_ieee1275_TRUE@am__append_4117 = at_keyboard.mod +-@COND_i386_ieee1275_TRUE@am__append_4118 = at_keyboard.marker +-@COND_x86_64_efi_TRUE@am__append_4119 = at_keyboard.module +-@COND_x86_64_efi_TRUE@am__append_4120 = at_keyboard.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4121 = +-@COND_x86_64_efi_TRUE@am__append_4122 = $(nodist_at_keyboard_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4123 = \ ++@COND_i386_ieee1275_TRUE@am__append_4110 = at_keyboard.mod ++@COND_i386_ieee1275_TRUE@am__append_4111 = at_keyboard.marker ++@COND_x86_64_efi_TRUE@am__append_4112 = at_keyboard.module ++@COND_x86_64_efi_TRUE@am__append_4113 = at_keyboard.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4114 = ++@COND_x86_64_efi_TRUE@am__append_4115 = $(nodist_at_keyboard_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4116 = \ + @COND_x86_64_efi_TRUE@ $(nodist_at_keyboard_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ at_keyboard.marker +-@COND_x86_64_efi_TRUE@am__append_4124 = at_keyboard.mod +-@COND_x86_64_efi_TRUE@am__append_4125 = at_keyboard.marker +-@COND_emu_TRUE@am__append_4126 = gfxterm.module +-@COND_emu_TRUE@am__append_4127 = gfxterm.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4117 = at_keyboard.mod ++@COND_x86_64_efi_TRUE@am__append_4118 = at_keyboard.marker ++@COND_emu_TRUE@am__append_4119 = gfxterm.module ++@COND_emu_TRUE@am__append_4120 = gfxterm.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@gfxterm_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_4128 = +-@COND_emu_TRUE@am__append_4129 = $(nodist_gfxterm_module_SOURCES) +-@COND_emu_TRUE@am__append_4130 = $(nodist_gfxterm_module_SOURCES) \ ++@COND_emu_TRUE@am__append_4121 = ++@COND_emu_TRUE@am__append_4122 = $(nodist_gfxterm_module_SOURCES) ++@COND_emu_TRUE@am__append_4123 = $(nodist_gfxterm_module_SOURCES) \ + @COND_emu_TRUE@ gfxterm.marker +-@COND_emu_TRUE@am__append_4131 = gfxterm.mod +-@COND_emu_TRUE@am__append_4132 = gfxterm.marker +-@COND_i386_pc_TRUE@am__append_4133 = gfxterm.module +-@COND_i386_pc_TRUE@am__append_4134 = gfxterm.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_4135 = +-@COND_i386_pc_TRUE@am__append_4136 = $(nodist_gfxterm_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4137 = $(nodist_gfxterm_module_SOURCES) \ ++@COND_emu_TRUE@am__append_4124 = gfxterm.mod ++@COND_emu_TRUE@am__append_4125 = gfxterm.marker ++@COND_i386_pc_TRUE@am__append_4126 = gfxterm.module ++@COND_i386_pc_TRUE@am__append_4127 = gfxterm.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_4128 = ++@COND_i386_pc_TRUE@am__append_4129 = $(nodist_gfxterm_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4130 = $(nodist_gfxterm_module_SOURCES) \ + @COND_i386_pc_TRUE@ gfxterm.marker +-@COND_i386_pc_TRUE@am__append_4138 = gfxterm.mod +-@COND_i386_pc_TRUE@am__append_4139 = gfxterm.marker +-@COND_i386_efi_TRUE@am__append_4140 = gfxterm.module +-@COND_i386_efi_TRUE@am__append_4141 = gfxterm.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4142 = +-@COND_i386_efi_TRUE@am__append_4143 = $(nodist_gfxterm_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4144 = \ ++@COND_i386_pc_TRUE@am__append_4131 = gfxterm.mod ++@COND_i386_pc_TRUE@am__append_4132 = gfxterm.marker ++@COND_i386_efi_TRUE@am__append_4133 = gfxterm.module ++@COND_i386_efi_TRUE@am__append_4134 = gfxterm.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4135 = ++@COND_i386_efi_TRUE@am__append_4136 = $(nodist_gfxterm_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4137 = \ + @COND_i386_efi_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_i386_efi_TRUE@ gfxterm.marker +-@COND_i386_efi_TRUE@am__append_4145 = gfxterm.mod +-@COND_i386_efi_TRUE@am__append_4146 = gfxterm.marker +-@COND_i386_qemu_TRUE@am__append_4147 = gfxterm.module +-@COND_i386_qemu_TRUE@am__append_4148 = gfxterm.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4149 = +-@COND_i386_qemu_TRUE@am__append_4150 = $(nodist_gfxterm_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4151 = \ ++@COND_i386_efi_TRUE@am__append_4138 = gfxterm.mod ++@COND_i386_efi_TRUE@am__append_4139 = gfxterm.marker ++@COND_i386_qemu_TRUE@am__append_4140 = gfxterm.module ++@COND_i386_qemu_TRUE@am__append_4141 = gfxterm.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4142 = ++@COND_i386_qemu_TRUE@am__append_4143 = $(nodist_gfxterm_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4144 = \ + @COND_i386_qemu_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_i386_qemu_TRUE@ gfxterm.marker +-@COND_i386_qemu_TRUE@am__append_4152 = gfxterm.mod +-@COND_i386_qemu_TRUE@am__append_4153 = gfxterm.marker +-@COND_i386_multiboot_TRUE@am__append_4154 = gfxterm.module +-@COND_i386_multiboot_TRUE@am__append_4155 = gfxterm.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4156 = +-@COND_i386_multiboot_TRUE@am__append_4157 = $(nodist_gfxterm_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4158 = \ ++@COND_i386_qemu_TRUE@am__append_4145 = gfxterm.mod ++@COND_i386_qemu_TRUE@am__append_4146 = gfxterm.marker ++@COND_i386_multiboot_TRUE@am__append_4147 = gfxterm.module ++@COND_i386_multiboot_TRUE@am__append_4148 = gfxterm.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4149 = ++@COND_i386_multiboot_TRUE@am__append_4150 = $(nodist_gfxterm_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4151 = \ + @COND_i386_multiboot_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ gfxterm.marker +-@COND_i386_multiboot_TRUE@am__append_4159 = gfxterm.mod +-@COND_i386_multiboot_TRUE@am__append_4160 = gfxterm.marker +-@COND_i386_ieee1275_TRUE@am__append_4161 = gfxterm.module +-@COND_i386_ieee1275_TRUE@am__append_4162 = gfxterm.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4163 = +-@COND_i386_ieee1275_TRUE@am__append_4164 = $(nodist_gfxterm_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4165 = \ ++@COND_i386_multiboot_TRUE@am__append_4152 = gfxterm.mod ++@COND_i386_multiboot_TRUE@am__append_4153 = gfxterm.marker ++@COND_i386_ieee1275_TRUE@am__append_4154 = gfxterm.module ++@COND_i386_ieee1275_TRUE@am__append_4155 = gfxterm.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4156 = ++@COND_i386_ieee1275_TRUE@am__append_4157 = $(nodist_gfxterm_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4158 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ gfxterm.marker +-@COND_i386_ieee1275_TRUE@am__append_4166 = gfxterm.mod +-@COND_i386_ieee1275_TRUE@am__append_4167 = gfxterm.marker +-@COND_x86_64_efi_TRUE@am__append_4168 = gfxterm.module +-@COND_x86_64_efi_TRUE@am__append_4169 = gfxterm.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4170 = +-@COND_x86_64_efi_TRUE@am__append_4171 = $(nodist_gfxterm_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4172 = \ ++@COND_i386_ieee1275_TRUE@am__append_4159 = gfxterm.mod ++@COND_i386_ieee1275_TRUE@am__append_4160 = gfxterm.marker ++@COND_x86_64_efi_TRUE@am__append_4161 = gfxterm.module ++@COND_x86_64_efi_TRUE@am__append_4162 = gfxterm.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4163 = ++@COND_x86_64_efi_TRUE@am__append_4164 = $(nodist_gfxterm_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4165 = \ + @COND_x86_64_efi_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ gfxterm.marker +-@COND_x86_64_efi_TRUE@am__append_4173 = gfxterm.mod +-@COND_x86_64_efi_TRUE@am__append_4174 = gfxterm.marker +-@COND_i386_xen_TRUE@am__append_4175 = gfxterm.module +-@COND_i386_xen_TRUE@am__append_4176 = gfxterm.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_4177 = +-@COND_i386_xen_TRUE@am__append_4178 = $(nodist_gfxterm_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_4179 = \ ++@COND_x86_64_efi_TRUE@am__append_4166 = gfxterm.mod ++@COND_x86_64_efi_TRUE@am__append_4167 = gfxterm.marker ++@COND_i386_xen_TRUE@am__append_4168 = gfxterm.module ++@COND_i386_xen_TRUE@am__append_4169 = gfxterm.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_4170 = ++@COND_i386_xen_TRUE@am__append_4171 = $(nodist_gfxterm_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_4172 = \ + @COND_i386_xen_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_i386_xen_TRUE@ gfxterm.marker +-@COND_i386_xen_TRUE@am__append_4180 = gfxterm.mod +-@COND_i386_xen_TRUE@am__append_4181 = gfxterm.marker +-@COND_x86_64_xen_TRUE@am__append_4182 = gfxterm.module +-@COND_x86_64_xen_TRUE@am__append_4183 = gfxterm.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_4184 = +-@COND_x86_64_xen_TRUE@am__append_4185 = $(nodist_gfxterm_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_4186 = \ ++@COND_i386_xen_TRUE@am__append_4173 = gfxterm.mod ++@COND_i386_xen_TRUE@am__append_4174 = gfxterm.marker ++@COND_x86_64_xen_TRUE@am__append_4175 = gfxterm.module ++@COND_x86_64_xen_TRUE@am__append_4176 = gfxterm.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_4177 = ++@COND_x86_64_xen_TRUE@am__append_4178 = $(nodist_gfxterm_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_4179 = \ + @COND_x86_64_xen_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ gfxterm.marker +-@COND_x86_64_xen_TRUE@am__append_4187 = gfxterm.mod +-@COND_x86_64_xen_TRUE@am__append_4188 = gfxterm.marker +-@COND_i386_xen_pvh_TRUE@am__append_4189 = gfxterm.module +-@COND_i386_xen_pvh_TRUE@am__append_4190 = gfxterm.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_4191 = +-@COND_i386_xen_pvh_TRUE@am__append_4192 = $(nodist_gfxterm_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_4193 = \ ++@COND_x86_64_xen_TRUE@am__append_4180 = gfxterm.mod ++@COND_x86_64_xen_TRUE@am__append_4181 = gfxterm.marker ++@COND_i386_xen_pvh_TRUE@am__append_4182 = gfxterm.module ++@COND_i386_xen_pvh_TRUE@am__append_4183 = gfxterm.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_4184 = ++@COND_i386_xen_pvh_TRUE@am__append_4185 = $(nodist_gfxterm_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_4186 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ gfxterm.marker +-@COND_i386_xen_pvh_TRUE@am__append_4194 = gfxterm.mod +-@COND_i386_xen_pvh_TRUE@am__append_4195 = gfxterm.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4196 = gfxterm.module +-@COND_sparc64_ieee1275_TRUE@am__append_4197 = gfxterm.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_4198 = +-@COND_sparc64_ieee1275_TRUE@am__append_4199 = $(nodist_gfxterm_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_4200 = \ ++@COND_i386_xen_pvh_TRUE@am__append_4187 = gfxterm.mod ++@COND_i386_xen_pvh_TRUE@am__append_4188 = gfxterm.marker ++@COND_sparc64_ieee1275_TRUE@am__append_4189 = gfxterm.module ++@COND_sparc64_ieee1275_TRUE@am__append_4190 = gfxterm.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_4191 = ++@COND_sparc64_ieee1275_TRUE@am__append_4192 = $(nodist_gfxterm_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_4193 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ gfxterm.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4201 = gfxterm.mod +-@COND_sparc64_ieee1275_TRUE@am__append_4202 = gfxterm.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4203 = gfxterm.module +-@COND_powerpc_ieee1275_TRUE@am__append_4204 = gfxterm.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_4205 = +-@COND_powerpc_ieee1275_TRUE@am__append_4206 = $(nodist_gfxterm_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_4207 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_4194 = gfxterm.mod ++@COND_sparc64_ieee1275_TRUE@am__append_4195 = gfxterm.marker ++@COND_powerpc_ieee1275_TRUE@am__append_4196 = gfxterm.module ++@COND_powerpc_ieee1275_TRUE@am__append_4197 = gfxterm.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_4198 = ++@COND_powerpc_ieee1275_TRUE@am__append_4199 = $(nodist_gfxterm_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_4200 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ gfxterm.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4208 = gfxterm.mod +-@COND_powerpc_ieee1275_TRUE@am__append_4209 = gfxterm.marker +-@COND_mips_arc_TRUE@am__append_4210 = gfxterm.module +-@COND_mips_arc_TRUE@am__append_4211 = gfxterm.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_4212 = +-@COND_mips_arc_TRUE@am__append_4213 = $(nodist_gfxterm_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_4214 = \ ++@COND_powerpc_ieee1275_TRUE@am__append_4201 = gfxterm.mod ++@COND_powerpc_ieee1275_TRUE@am__append_4202 = gfxterm.marker ++@COND_mips_arc_TRUE@am__append_4203 = gfxterm.module ++@COND_mips_arc_TRUE@am__append_4204 = gfxterm.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_4205 = ++@COND_mips_arc_TRUE@am__append_4206 = $(nodist_gfxterm_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_4207 = \ + @COND_mips_arc_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_mips_arc_TRUE@ gfxterm.marker +-@COND_mips_arc_TRUE@am__append_4215 = gfxterm.mod +-@COND_mips_arc_TRUE@am__append_4216 = gfxterm.marker +-@COND_ia64_efi_TRUE@am__append_4217 = gfxterm.module +-@COND_ia64_efi_TRUE@am__append_4218 = gfxterm.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_4219 = +-@COND_ia64_efi_TRUE@am__append_4220 = $(nodist_gfxterm_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_4221 = \ ++@COND_mips_arc_TRUE@am__append_4208 = gfxterm.mod ++@COND_mips_arc_TRUE@am__append_4209 = gfxterm.marker ++@COND_ia64_efi_TRUE@am__append_4210 = gfxterm.module ++@COND_ia64_efi_TRUE@am__append_4211 = gfxterm.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_4212 = ++@COND_ia64_efi_TRUE@am__append_4213 = $(nodist_gfxterm_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_4214 = \ + @COND_ia64_efi_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_ia64_efi_TRUE@ gfxterm.marker +-@COND_ia64_efi_TRUE@am__append_4222 = gfxterm.mod +-@COND_ia64_efi_TRUE@am__append_4223 = gfxterm.marker +-@COND_mips_qemu_mips_TRUE@am__append_4224 = gfxterm.module +-@COND_mips_qemu_mips_TRUE@am__append_4225 = gfxterm.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_4226 = +-@COND_mips_qemu_mips_TRUE@am__append_4227 = $(nodist_gfxterm_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_4228 = \ ++@COND_ia64_efi_TRUE@am__append_4215 = gfxterm.mod ++@COND_ia64_efi_TRUE@am__append_4216 = gfxterm.marker ++@COND_mips_qemu_mips_TRUE@am__append_4217 = gfxterm.module ++@COND_mips_qemu_mips_TRUE@am__append_4218 = gfxterm.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_4219 = ++@COND_mips_qemu_mips_TRUE@am__append_4220 = $(nodist_gfxterm_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_4221 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ gfxterm.marker +-@COND_mips_qemu_mips_TRUE@am__append_4229 = gfxterm.mod +-@COND_mips_qemu_mips_TRUE@am__append_4230 = gfxterm.marker +-@COND_arm_uboot_TRUE@am__append_4231 = gfxterm.module +-@COND_arm_uboot_TRUE@am__append_4232 = gfxterm.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__append_4233 = +-@COND_arm_uboot_TRUE@am__append_4234 = $(nodist_gfxterm_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_4235 = \ ++@COND_mips_qemu_mips_TRUE@am__append_4222 = gfxterm.mod ++@COND_mips_qemu_mips_TRUE@am__append_4223 = gfxterm.marker ++@COND_arm_uboot_TRUE@am__append_4224 = gfxterm.module ++@COND_arm_uboot_TRUE@am__append_4225 = gfxterm.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_4226 = ++@COND_arm_uboot_TRUE@am__append_4227 = $(nodist_gfxterm_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_4228 = \ + @COND_arm_uboot_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_arm_uboot_TRUE@ gfxterm.marker +-@COND_arm_uboot_TRUE@am__append_4236 = gfxterm.mod +-@COND_arm_uboot_TRUE@am__append_4237 = gfxterm.marker +-@COND_arm_efi_TRUE@am__append_4238 = gfxterm.module +-@COND_arm_efi_TRUE@am__append_4239 = gfxterm.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_4240 = +-@COND_arm_efi_TRUE@am__append_4241 = $(nodist_gfxterm_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_4242 = $(nodist_gfxterm_module_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_4229 = gfxterm.mod ++@COND_arm_uboot_TRUE@am__append_4230 = gfxterm.marker ++@COND_arm_efi_TRUE@am__append_4231 = gfxterm.module ++@COND_arm_efi_TRUE@am__append_4232 = gfxterm.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_4233 = ++@COND_arm_efi_TRUE@am__append_4234 = $(nodist_gfxterm_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_4235 = $(nodist_gfxterm_module_SOURCES) \ + @COND_arm_efi_TRUE@ gfxterm.marker +-@COND_arm_efi_TRUE@am__append_4243 = gfxterm.mod +-@COND_arm_efi_TRUE@am__append_4244 = gfxterm.marker +-@COND_arm64_efi_TRUE@am__append_4245 = gfxterm.module +-@COND_arm64_efi_TRUE@am__append_4246 = gfxterm.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_4247 = +-@COND_arm64_efi_TRUE@am__append_4248 = $(nodist_gfxterm_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_4249 = \ ++@COND_arm_efi_TRUE@am__append_4236 = gfxterm.mod ++@COND_arm_efi_TRUE@am__append_4237 = gfxterm.marker ++@COND_arm64_efi_TRUE@am__append_4238 = gfxterm.module ++@COND_arm64_efi_TRUE@am__append_4239 = gfxterm.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_4240 = ++@COND_arm64_efi_TRUE@am__append_4241 = $(nodist_gfxterm_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_4242 = \ + @COND_arm64_efi_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_arm64_efi_TRUE@ gfxterm.marker +-@COND_arm64_efi_TRUE@am__append_4250 = gfxterm.mod +-@COND_arm64_efi_TRUE@am__append_4251 = gfxterm.marker +-@COND_riscv32_efi_TRUE@am__append_4252 = gfxterm.module +-@COND_riscv32_efi_TRUE@am__append_4253 = gfxterm.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_4254 = +-@COND_riscv32_efi_TRUE@am__append_4255 = $(nodist_gfxterm_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_4256 = \ ++@COND_arm64_efi_TRUE@am__append_4243 = gfxterm.mod ++@COND_arm64_efi_TRUE@am__append_4244 = gfxterm.marker ++@COND_riscv32_efi_TRUE@am__append_4245 = gfxterm.module ++@COND_riscv32_efi_TRUE@am__append_4246 = gfxterm.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_4247 = ++@COND_riscv32_efi_TRUE@am__append_4248 = $(nodist_gfxterm_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_4249 = \ + @COND_riscv32_efi_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ gfxterm.marker +-@COND_riscv32_efi_TRUE@am__append_4257 = gfxterm.mod +-@COND_riscv32_efi_TRUE@am__append_4258 = gfxterm.marker +-@COND_riscv64_efi_TRUE@am__append_4259 = gfxterm.module +-@COND_riscv64_efi_TRUE@am__append_4260 = gfxterm.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_4261 = +-@COND_riscv64_efi_TRUE@am__append_4262 = $(nodist_gfxterm_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_4263 = \ ++@COND_riscv32_efi_TRUE@am__append_4250 = gfxterm.mod ++@COND_riscv32_efi_TRUE@am__append_4251 = gfxterm.marker ++@COND_riscv64_efi_TRUE@am__append_4252 = gfxterm.module ++@COND_riscv64_efi_TRUE@am__append_4253 = gfxterm.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4254 = ++@COND_riscv64_efi_TRUE@am__append_4255 = $(nodist_gfxterm_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_4256 = \ + @COND_riscv64_efi_TRUE@ $(nodist_gfxterm_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ gfxterm.marker +-@COND_riscv64_efi_TRUE@am__append_4264 = gfxterm.mod +-@COND_riscv64_efi_TRUE@am__append_4265 = gfxterm.marker +-@COND_i386_pc_TRUE@am__append_4266 = serial.module +-@COND_i386_pc_TRUE@am__append_4267 = serial.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4257 = gfxterm.mod ++@COND_riscv64_efi_TRUE@am__append_4258 = gfxterm.marker ++@COND_i386_pc_TRUE@am__append_4259 = serial.module ++@COND_i386_pc_TRUE@am__append_4260 = serial.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@serial_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4268 = +-@COND_i386_pc_TRUE@am__append_4269 = $(nodist_serial_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4270 = $(nodist_serial_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4261 = ++@COND_i386_pc_TRUE@am__append_4262 = $(nodist_serial_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4263 = $(nodist_serial_module_SOURCES) \ + @COND_i386_pc_TRUE@ serial.marker +-@COND_i386_pc_TRUE@am__append_4271 = serial.mod +-@COND_i386_pc_TRUE@am__append_4272 = serial.marker +-@COND_i386_efi_TRUE@am__append_4273 = serial.module +-@COND_i386_efi_TRUE@am__append_4274 = serial.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4275 = +-@COND_i386_efi_TRUE@am__append_4276 = $(nodist_serial_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4277 = $(nodist_serial_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4264 = serial.mod ++@COND_i386_pc_TRUE@am__append_4265 = serial.marker ++@COND_i386_efi_TRUE@am__append_4266 = serial.module ++@COND_i386_efi_TRUE@am__append_4267 = serial.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4268 = ++@COND_i386_efi_TRUE@am__append_4269 = $(nodist_serial_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4270 = $(nodist_serial_module_SOURCES) \ + @COND_i386_efi_TRUE@ serial.marker +-@COND_i386_efi_TRUE@am__append_4278 = serial.mod +-@COND_i386_efi_TRUE@am__append_4279 = serial.marker +-@COND_i386_qemu_TRUE@am__append_4280 = serial.module +-@COND_i386_qemu_TRUE@am__append_4281 = serial.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4282 = +-@COND_i386_qemu_TRUE@am__append_4283 = $(nodist_serial_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4284 = \ ++@COND_i386_efi_TRUE@am__append_4271 = serial.mod ++@COND_i386_efi_TRUE@am__append_4272 = serial.marker ++@COND_i386_qemu_TRUE@am__append_4273 = serial.module ++@COND_i386_qemu_TRUE@am__append_4274 = serial.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4275 = ++@COND_i386_qemu_TRUE@am__append_4276 = $(nodist_serial_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4277 = \ + @COND_i386_qemu_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_i386_qemu_TRUE@ serial.marker +-@COND_i386_qemu_TRUE@am__append_4285 = serial.mod +-@COND_i386_qemu_TRUE@am__append_4286 = serial.marker +-@COND_i386_coreboot_TRUE@am__append_4287 = serial.module +-@COND_i386_coreboot_TRUE@am__append_4288 = serial.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4289 = +-@COND_i386_coreboot_TRUE@am__append_4290 = $(nodist_serial_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4291 = \ ++@COND_i386_qemu_TRUE@am__append_4278 = serial.mod ++@COND_i386_qemu_TRUE@am__append_4279 = serial.marker ++@COND_i386_coreboot_TRUE@am__append_4280 = serial.module ++@COND_i386_coreboot_TRUE@am__append_4281 = serial.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4282 = ++@COND_i386_coreboot_TRUE@am__append_4283 = $(nodist_serial_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4284 = \ + @COND_i386_coreboot_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ serial.marker +-@COND_i386_coreboot_TRUE@am__append_4292 = serial.mod +-@COND_i386_coreboot_TRUE@am__append_4293 = serial.marker +-@COND_i386_multiboot_TRUE@am__append_4294 = serial.module +-@COND_i386_multiboot_TRUE@am__append_4295 = serial.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4296 = +-@COND_i386_multiboot_TRUE@am__append_4297 = $(nodist_serial_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4298 = \ ++@COND_i386_coreboot_TRUE@am__append_4285 = serial.mod ++@COND_i386_coreboot_TRUE@am__append_4286 = serial.marker ++@COND_i386_multiboot_TRUE@am__append_4287 = serial.module ++@COND_i386_multiboot_TRUE@am__append_4288 = serial.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4289 = ++@COND_i386_multiboot_TRUE@am__append_4290 = $(nodist_serial_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4291 = \ + @COND_i386_multiboot_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ serial.marker +-@COND_i386_multiboot_TRUE@am__append_4299 = serial.mod +-@COND_i386_multiboot_TRUE@am__append_4300 = serial.marker +-@COND_i386_ieee1275_TRUE@am__append_4301 = serial.module +-@COND_i386_ieee1275_TRUE@am__append_4302 = serial.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4303 = +-@COND_i386_ieee1275_TRUE@am__append_4304 = $(nodist_serial_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4305 = \ ++@COND_i386_multiboot_TRUE@am__append_4292 = serial.mod ++@COND_i386_multiboot_TRUE@am__append_4293 = serial.marker ++@COND_i386_ieee1275_TRUE@am__append_4294 = serial.module ++@COND_i386_ieee1275_TRUE@am__append_4295 = serial.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4296 = ++@COND_i386_ieee1275_TRUE@am__append_4297 = $(nodist_serial_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4298 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ serial.marker +-@COND_i386_ieee1275_TRUE@am__append_4306 = serial.mod +-@COND_i386_ieee1275_TRUE@am__append_4307 = serial.marker +-@COND_x86_64_efi_TRUE@am__append_4308 = serial.module +-@COND_x86_64_efi_TRUE@am__append_4309 = serial.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4310 = +-@COND_x86_64_efi_TRUE@am__append_4311 = $(nodist_serial_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4312 = \ ++@COND_i386_ieee1275_TRUE@am__append_4299 = serial.mod ++@COND_i386_ieee1275_TRUE@am__append_4300 = serial.marker ++@COND_x86_64_efi_TRUE@am__append_4301 = serial.module ++@COND_x86_64_efi_TRUE@am__append_4302 = serial.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4303 = ++@COND_x86_64_efi_TRUE@am__append_4304 = $(nodist_serial_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4305 = \ + @COND_x86_64_efi_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ serial.marker +-@COND_x86_64_efi_TRUE@am__append_4313 = serial.mod +-@COND_x86_64_efi_TRUE@am__append_4314 = serial.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4315 = serial.module +-@COND_sparc64_ieee1275_TRUE@am__append_4316 = serial.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_4317 = +-@COND_sparc64_ieee1275_TRUE@am__append_4318 = $(nodist_serial_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_4319 = \ ++@COND_x86_64_efi_TRUE@am__append_4306 = serial.mod ++@COND_x86_64_efi_TRUE@am__append_4307 = serial.marker ++@COND_sparc64_ieee1275_TRUE@am__append_4308 = serial.module ++@COND_sparc64_ieee1275_TRUE@am__append_4309 = serial.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_4310 = ++@COND_sparc64_ieee1275_TRUE@am__append_4311 = $(nodist_serial_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_4312 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ serial.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4320 = serial.mod +-@COND_sparc64_ieee1275_TRUE@am__append_4321 = serial.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4322 = serial.module +-@COND_powerpc_ieee1275_TRUE@am__append_4323 = serial.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_4324 = +-@COND_powerpc_ieee1275_TRUE@am__append_4325 = $(nodist_serial_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_4326 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_4313 = serial.mod ++@COND_sparc64_ieee1275_TRUE@am__append_4314 = serial.marker ++@COND_powerpc_ieee1275_TRUE@am__append_4315 = serial.module ++@COND_powerpc_ieee1275_TRUE@am__append_4316 = serial.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_4317 = ++@COND_powerpc_ieee1275_TRUE@am__append_4318 = $(nodist_serial_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_4319 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ serial.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4327 = serial.mod +-@COND_powerpc_ieee1275_TRUE@am__append_4328 = serial.marker +-@COND_mips_arc_TRUE@am__append_4329 = serial.module +-@COND_mips_arc_TRUE@am__append_4330 = serial.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_4331 = +-@COND_mips_arc_TRUE@am__append_4332 = $(nodist_serial_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_4333 = $(nodist_serial_module_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_4320 = serial.mod ++@COND_powerpc_ieee1275_TRUE@am__append_4321 = serial.marker ++@COND_mips_arc_TRUE@am__append_4322 = serial.module ++@COND_mips_arc_TRUE@am__append_4323 = serial.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_4324 = ++@COND_mips_arc_TRUE@am__append_4325 = $(nodist_serial_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_4326 = $(nodist_serial_module_SOURCES) \ + @COND_mips_arc_TRUE@ serial.marker +-@COND_mips_arc_TRUE@am__append_4334 = serial.mod +-@COND_mips_arc_TRUE@am__append_4335 = serial.marker +-@COND_ia64_efi_TRUE@am__append_4336 = serial.module +-@COND_ia64_efi_TRUE@am__append_4337 = serial.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_4338 = +-@COND_ia64_efi_TRUE@am__append_4339 = $(nodist_serial_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_4340 = $(nodist_serial_module_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_4327 = serial.mod ++@COND_mips_arc_TRUE@am__append_4328 = serial.marker ++@COND_ia64_efi_TRUE@am__append_4329 = serial.module ++@COND_ia64_efi_TRUE@am__append_4330 = serial.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_4331 = ++@COND_ia64_efi_TRUE@am__append_4332 = $(nodist_serial_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_4333 = $(nodist_serial_module_SOURCES) \ + @COND_ia64_efi_TRUE@ serial.marker +-@COND_ia64_efi_TRUE@am__append_4341 = serial.mod +-@COND_ia64_efi_TRUE@am__append_4342 = serial.marker +-@COND_arm_efi_TRUE@am__append_4343 = serial.module +-@COND_arm_efi_TRUE@am__append_4344 = serial.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_4345 = +-@COND_arm_efi_TRUE@am__append_4346 = $(nodist_serial_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_4347 = $(nodist_serial_module_SOURCES) \ ++@COND_ia64_efi_TRUE@am__append_4334 = serial.mod ++@COND_ia64_efi_TRUE@am__append_4335 = serial.marker ++@COND_arm_efi_TRUE@am__append_4336 = serial.module ++@COND_arm_efi_TRUE@am__append_4337 = serial.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_4338 = ++@COND_arm_efi_TRUE@am__append_4339 = $(nodist_serial_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_4340 = $(nodist_serial_module_SOURCES) \ + @COND_arm_efi_TRUE@ serial.marker +-@COND_arm_efi_TRUE@am__append_4348 = serial.mod +-@COND_arm_efi_TRUE@am__append_4349 = serial.marker +-@COND_arm64_efi_TRUE@am__append_4350 = serial.module +-@COND_arm64_efi_TRUE@am__append_4351 = serial.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_4352 = +-@COND_arm64_efi_TRUE@am__append_4353 = $(nodist_serial_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_4354 = \ ++@COND_arm_efi_TRUE@am__append_4341 = serial.mod ++@COND_arm_efi_TRUE@am__append_4342 = serial.marker ++@COND_arm64_efi_TRUE@am__append_4343 = serial.module ++@COND_arm64_efi_TRUE@am__append_4344 = serial.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_4345 = ++@COND_arm64_efi_TRUE@am__append_4346 = $(nodist_serial_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_4347 = \ + @COND_arm64_efi_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_arm64_efi_TRUE@ serial.marker +-@COND_arm64_efi_TRUE@am__append_4355 = serial.mod +-@COND_arm64_efi_TRUE@am__append_4356 = serial.marker +-@COND_arm_coreboot_TRUE@am__append_4357 = serial.module +-@COND_arm_coreboot_TRUE@am__append_4358 = serial.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__append_4359 = +-@COND_arm_coreboot_TRUE@am__append_4360 = $(nodist_serial_module_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_4361 = \ ++@COND_arm64_efi_TRUE@am__append_4348 = serial.mod ++@COND_arm64_efi_TRUE@am__append_4349 = serial.marker ++@COND_arm_coreboot_TRUE@am__append_4350 = serial.module ++@COND_arm_coreboot_TRUE@am__append_4351 = serial.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_4352 = ++@COND_arm_coreboot_TRUE@am__append_4353 = $(nodist_serial_module_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_4354 = \ + @COND_arm_coreboot_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_arm_coreboot_TRUE@ serial.marker +-@COND_arm_coreboot_TRUE@am__append_4362 = serial.mod +-@COND_arm_coreboot_TRUE@am__append_4363 = serial.marker +-@COND_riscv32_efi_TRUE@am__append_4364 = serial.module +-@COND_riscv32_efi_TRUE@am__append_4365 = serial.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_4366 = +-@COND_riscv32_efi_TRUE@am__append_4367 = $(nodist_serial_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_4368 = \ ++@COND_arm_coreboot_TRUE@am__append_4355 = serial.mod ++@COND_arm_coreboot_TRUE@am__append_4356 = serial.marker ++@COND_riscv32_efi_TRUE@am__append_4357 = serial.module ++@COND_riscv32_efi_TRUE@am__append_4358 = serial.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_4359 = ++@COND_riscv32_efi_TRUE@am__append_4360 = $(nodist_serial_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_4361 = \ + @COND_riscv32_efi_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ serial.marker +-@COND_riscv32_efi_TRUE@am__append_4369 = serial.mod +-@COND_riscv32_efi_TRUE@am__append_4370 = serial.marker +-@COND_riscv64_efi_TRUE@am__append_4371 = serial.module +-@COND_riscv64_efi_TRUE@am__append_4372 = serial.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_4373 = +-@COND_riscv64_efi_TRUE@am__append_4374 = $(nodist_serial_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_4375 = \ ++@COND_riscv32_efi_TRUE@am__append_4362 = serial.mod ++@COND_riscv32_efi_TRUE@am__append_4363 = serial.marker ++@COND_riscv64_efi_TRUE@am__append_4364 = serial.module ++@COND_riscv64_efi_TRUE@am__append_4365 = serial.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4366 = ++@COND_riscv64_efi_TRUE@am__append_4367 = $(nodist_serial_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_4368 = \ + @COND_riscv64_efi_TRUE@ $(nodist_serial_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ serial.marker +-@COND_riscv64_efi_TRUE@am__append_4376 = serial.mod +-@COND_riscv64_efi_TRUE@am__append_4377 = serial.marker +-@COND_i386_pc_TRUE@am__append_4378 = sendkey.module terminfo.module +-@COND_i386_pc_TRUE@am__append_4379 = sendkey.module$(EXEEXT) \ ++@COND_riscv64_efi_TRUE@am__append_4369 = serial.mod ++@COND_riscv64_efi_TRUE@am__append_4370 = serial.marker ++@COND_i386_pc_TRUE@am__append_4371 = sendkey.module terminfo.module ++@COND_i386_pc_TRUE@am__append_4372 = sendkey.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ terminfo.module$(EXEEXT) + @COND_i386_pc_FALSE@sendkey_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4380 = +-@COND_i386_pc_TRUE@am__append_4381 = $(nodist_sendkey_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4373 = ++@COND_i386_pc_TRUE@am__append_4374 = $(nodist_sendkey_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_terminfo_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4382 = $(nodist_sendkey_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4375 = $(nodist_sendkey_module_SOURCES) \ + @COND_i386_pc_TRUE@ sendkey.marker \ + @COND_i386_pc_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_i386_pc_TRUE@ terminfo.marker +-@COND_i386_pc_TRUE@am__append_4383 = sendkey.mod terminfo.mod +-@COND_i386_pc_TRUE@am__append_4384 = sendkey.marker terminfo.marker ++@COND_i386_pc_TRUE@am__append_4376 = sendkey.mod terminfo.mod ++@COND_i386_pc_TRUE@am__append_4377 = sendkey.marker terminfo.marker + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@terminfo_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_4385 = terminfo.module +-@COND_i386_efi_TRUE@am__append_4386 = terminfo.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4387 = +-@COND_i386_efi_TRUE@am__append_4388 = $(nodist_terminfo_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4389 = \ ++@COND_i386_efi_TRUE@am__append_4378 = terminfo.module ++@COND_i386_efi_TRUE@am__append_4379 = terminfo.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4380 = ++@COND_i386_efi_TRUE@am__append_4381 = $(nodist_terminfo_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4382 = \ + @COND_i386_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_i386_efi_TRUE@ terminfo.marker +-@COND_i386_efi_TRUE@am__append_4390 = terminfo.mod +-@COND_i386_efi_TRUE@am__append_4391 = terminfo.marker +-@COND_i386_qemu_TRUE@am__append_4392 = terminfo.module +-@COND_i386_qemu_TRUE@am__append_4393 = terminfo.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4394 = +-@COND_i386_qemu_TRUE@am__append_4395 = $(nodist_terminfo_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4396 = \ ++@COND_i386_efi_TRUE@am__append_4383 = terminfo.mod ++@COND_i386_efi_TRUE@am__append_4384 = terminfo.marker ++@COND_i386_qemu_TRUE@am__append_4385 = terminfo.module ++@COND_i386_qemu_TRUE@am__append_4386 = terminfo.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4387 = ++@COND_i386_qemu_TRUE@am__append_4388 = $(nodist_terminfo_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4389 = \ + @COND_i386_qemu_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_i386_qemu_TRUE@ terminfo.marker +-@COND_i386_qemu_TRUE@am__append_4397 = terminfo.mod +-@COND_i386_qemu_TRUE@am__append_4398 = terminfo.marker +-@COND_i386_coreboot_TRUE@am__append_4399 = terminfo.module +-@COND_i386_coreboot_TRUE@am__append_4400 = terminfo.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4401 = +-@COND_i386_coreboot_TRUE@am__append_4402 = $(nodist_terminfo_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4403 = \ ++@COND_i386_qemu_TRUE@am__append_4390 = terminfo.mod ++@COND_i386_qemu_TRUE@am__append_4391 = terminfo.marker ++@COND_i386_coreboot_TRUE@am__append_4392 = terminfo.module ++@COND_i386_coreboot_TRUE@am__append_4393 = terminfo.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4394 = ++@COND_i386_coreboot_TRUE@am__append_4395 = $(nodist_terminfo_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4396 = \ + @COND_i386_coreboot_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ terminfo.marker +-@COND_i386_coreboot_TRUE@am__append_4404 = terminfo.mod +-@COND_i386_coreboot_TRUE@am__append_4405 = terminfo.marker +-@COND_i386_multiboot_TRUE@am__append_4406 = terminfo.module +-@COND_i386_multiboot_TRUE@am__append_4407 = terminfo.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4408 = +-@COND_i386_multiboot_TRUE@am__append_4409 = $(nodist_terminfo_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4410 = \ ++@COND_i386_coreboot_TRUE@am__append_4397 = terminfo.mod ++@COND_i386_coreboot_TRUE@am__append_4398 = terminfo.marker ++@COND_i386_multiboot_TRUE@am__append_4399 = terminfo.module ++@COND_i386_multiboot_TRUE@am__append_4400 = terminfo.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4401 = ++@COND_i386_multiboot_TRUE@am__append_4402 = $(nodist_terminfo_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4403 = \ + @COND_i386_multiboot_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ terminfo.marker +-@COND_i386_multiboot_TRUE@am__append_4411 = terminfo.mod +-@COND_i386_multiboot_TRUE@am__append_4412 = terminfo.marker +-@COND_x86_64_efi_TRUE@am__append_4413 = terminfo.module +-@COND_x86_64_efi_TRUE@am__append_4414 = terminfo.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4415 = +-@COND_x86_64_efi_TRUE@am__append_4416 = $(nodist_terminfo_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4417 = \ ++@COND_i386_multiboot_TRUE@am__append_4404 = terminfo.mod ++@COND_i386_multiboot_TRUE@am__append_4405 = terminfo.marker ++@COND_x86_64_efi_TRUE@am__append_4406 = terminfo.module ++@COND_x86_64_efi_TRUE@am__append_4407 = terminfo.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4408 = ++@COND_x86_64_efi_TRUE@am__append_4409 = $(nodist_terminfo_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4410 = \ + @COND_x86_64_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ terminfo.marker +-@COND_x86_64_efi_TRUE@am__append_4418 = terminfo.mod +-@COND_x86_64_efi_TRUE@am__append_4419 = terminfo.marker +-@COND_ia64_efi_TRUE@am__append_4420 = terminfo.module +-@COND_ia64_efi_TRUE@am__append_4421 = terminfo.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_4422 = +-@COND_ia64_efi_TRUE@am__append_4423 = $(nodist_terminfo_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_4424 = \ ++@COND_x86_64_efi_TRUE@am__append_4411 = terminfo.mod ++@COND_x86_64_efi_TRUE@am__append_4412 = terminfo.marker ++@COND_ia64_efi_TRUE@am__append_4413 = terminfo.module ++@COND_ia64_efi_TRUE@am__append_4414 = terminfo.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_4415 = ++@COND_ia64_efi_TRUE@am__append_4416 = $(nodist_terminfo_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_4417 = \ + @COND_ia64_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_ia64_efi_TRUE@ terminfo.marker +-@COND_ia64_efi_TRUE@am__append_4425 = terminfo.mod +-@COND_ia64_efi_TRUE@am__append_4426 = terminfo.marker +-@COND_arm_efi_TRUE@am__append_4427 = terminfo.module +-@COND_arm_efi_TRUE@am__append_4428 = terminfo.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_4429 = +-@COND_arm_efi_TRUE@am__append_4430 = $(nodist_terminfo_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_4431 = \ ++@COND_ia64_efi_TRUE@am__append_4418 = terminfo.mod ++@COND_ia64_efi_TRUE@am__append_4419 = terminfo.marker ++@COND_arm_efi_TRUE@am__append_4420 = terminfo.module ++@COND_arm_efi_TRUE@am__append_4421 = terminfo.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_4422 = ++@COND_arm_efi_TRUE@am__append_4423 = $(nodist_terminfo_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_4424 = \ + @COND_arm_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_arm_efi_TRUE@ terminfo.marker +-@COND_arm_efi_TRUE@am__append_4432 = terminfo.mod +-@COND_arm_efi_TRUE@am__append_4433 = terminfo.marker +-@COND_arm64_efi_TRUE@am__append_4434 = terminfo.module +-@COND_arm64_efi_TRUE@am__append_4435 = terminfo.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_4436 = +-@COND_arm64_efi_TRUE@am__append_4437 = $(nodist_terminfo_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_4438 = \ ++@COND_arm_efi_TRUE@am__append_4425 = terminfo.mod ++@COND_arm_efi_TRUE@am__append_4426 = terminfo.marker ++@COND_arm64_efi_TRUE@am__append_4427 = terminfo.module ++@COND_arm64_efi_TRUE@am__append_4428 = terminfo.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_4429 = ++@COND_arm64_efi_TRUE@am__append_4430 = $(nodist_terminfo_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_4431 = \ + @COND_arm64_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_arm64_efi_TRUE@ terminfo.marker +-@COND_arm64_efi_TRUE@am__append_4439 = terminfo.mod +-@COND_arm64_efi_TRUE@am__append_4440 = terminfo.marker +-@COND_arm_coreboot_TRUE@am__append_4441 = terminfo.module +-@COND_arm_coreboot_TRUE@am__append_4442 = terminfo.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__append_4443 = +-@COND_arm_coreboot_TRUE@am__append_4444 = $(nodist_terminfo_module_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_4445 = \ ++@COND_arm64_efi_TRUE@am__append_4432 = terminfo.mod ++@COND_arm64_efi_TRUE@am__append_4433 = terminfo.marker ++@COND_arm_coreboot_TRUE@am__append_4434 = terminfo.module ++@COND_arm_coreboot_TRUE@am__append_4435 = terminfo.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_4436 = ++@COND_arm_coreboot_TRUE@am__append_4437 = $(nodist_terminfo_module_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_4438 = \ + @COND_arm_coreboot_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_arm_coreboot_TRUE@ terminfo.marker +-@COND_arm_coreboot_TRUE@am__append_4446 = terminfo.mod +-@COND_arm_coreboot_TRUE@am__append_4447 = terminfo.marker +-@COND_riscv32_efi_TRUE@am__append_4448 = terminfo.module +-@COND_riscv32_efi_TRUE@am__append_4449 = terminfo.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_4450 = +-@COND_riscv32_efi_TRUE@am__append_4451 = $(nodist_terminfo_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_4452 = \ ++@COND_arm_coreboot_TRUE@am__append_4439 = terminfo.mod ++@COND_arm_coreboot_TRUE@am__append_4440 = terminfo.marker ++@COND_riscv32_efi_TRUE@am__append_4441 = terminfo.module ++@COND_riscv32_efi_TRUE@am__append_4442 = terminfo.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_4443 = ++@COND_riscv32_efi_TRUE@am__append_4444 = $(nodist_terminfo_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_4445 = \ + @COND_riscv32_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ terminfo.marker +-@COND_riscv32_efi_TRUE@am__append_4453 = terminfo.mod +-@COND_riscv32_efi_TRUE@am__append_4454 = terminfo.marker +-@COND_riscv64_efi_TRUE@am__append_4455 = terminfo.module +-@COND_riscv64_efi_TRUE@am__append_4456 = terminfo.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_4457 = +-@COND_riscv64_efi_TRUE@am__append_4458 = $(nodist_terminfo_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_4459 = \ ++@COND_riscv32_efi_TRUE@am__append_4446 = terminfo.mod ++@COND_riscv32_efi_TRUE@am__append_4447 = terminfo.marker ++@COND_riscv64_efi_TRUE@am__append_4448 = terminfo.module ++@COND_riscv64_efi_TRUE@am__append_4449 = terminfo.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4450 = ++@COND_riscv64_efi_TRUE@am__append_4451 = $(nodist_terminfo_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_4452 = \ + @COND_riscv64_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ terminfo.marker +-@COND_riscv64_efi_TRUE@am__append_4460 = terminfo.mod +-@COND_riscv64_efi_TRUE@am__append_4461 = terminfo.marker +-@COND_i386_pc_TRUE@am__append_4462 = usb_keyboard.module +-@COND_i386_pc_TRUE@am__append_4463 = usb_keyboard.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4453 = terminfo.mod ++@COND_riscv64_efi_TRUE@am__append_4454 = terminfo.marker ++@COND_i386_pc_TRUE@am__append_4455 = usb_keyboard.module ++@COND_i386_pc_TRUE@am__append_4456 = usb_keyboard.module$(EXEEXT) + @COND_arm_coreboot_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@usb_keyboard_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4464 = +-@COND_i386_pc_TRUE@am__append_4465 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4466 = \ ++@COND_i386_pc_TRUE@am__append_4457 = ++@COND_i386_pc_TRUE@am__append_4458 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4459 = \ + @COND_i386_pc_TRUE@ $(nodist_usb_keyboard_module_SOURCES) \ + @COND_i386_pc_TRUE@ usb_keyboard.marker +-@COND_i386_pc_TRUE@am__append_4467 = usb_keyboard.mod +-@COND_i386_pc_TRUE@am__append_4468 = usb_keyboard.marker +-@COND_i386_efi_TRUE@am__append_4469 = usb_keyboard.module +-@COND_i386_efi_TRUE@am__append_4470 = usb_keyboard.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4471 = +-@COND_i386_efi_TRUE@am__append_4472 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4473 = \ ++@COND_i386_pc_TRUE@am__append_4460 = usb_keyboard.mod ++@COND_i386_pc_TRUE@am__append_4461 = usb_keyboard.marker ++@COND_i386_efi_TRUE@am__append_4462 = usb_keyboard.module ++@COND_i386_efi_TRUE@am__append_4463 = usb_keyboard.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4464 = ++@COND_i386_efi_TRUE@am__append_4465 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4466 = \ + @COND_i386_efi_TRUE@ $(nodist_usb_keyboard_module_SOURCES) \ + @COND_i386_efi_TRUE@ usb_keyboard.marker +-@COND_i386_efi_TRUE@am__append_4474 = usb_keyboard.mod +-@COND_i386_efi_TRUE@am__append_4475 = usb_keyboard.marker +-@COND_i386_qemu_TRUE@am__append_4476 = usb_keyboard.module +-@COND_i386_qemu_TRUE@am__append_4477 = usb_keyboard.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4478 = +-@COND_i386_qemu_TRUE@am__append_4479 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4480 = \ ++@COND_i386_efi_TRUE@am__append_4467 = usb_keyboard.mod ++@COND_i386_efi_TRUE@am__append_4468 = usb_keyboard.marker ++@COND_i386_qemu_TRUE@am__append_4469 = usb_keyboard.module ++@COND_i386_qemu_TRUE@am__append_4470 = usb_keyboard.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4471 = ++@COND_i386_qemu_TRUE@am__append_4472 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4473 = \ + @COND_i386_qemu_TRUE@ $(nodist_usb_keyboard_module_SOURCES) \ + @COND_i386_qemu_TRUE@ usb_keyboard.marker +-@COND_i386_qemu_TRUE@am__append_4481 = usb_keyboard.mod +-@COND_i386_qemu_TRUE@am__append_4482 = usb_keyboard.marker +-@COND_i386_coreboot_TRUE@am__append_4483 = usb_keyboard.module +-@COND_i386_coreboot_TRUE@am__append_4484 = usb_keyboard.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4485 = +-@COND_i386_coreboot_TRUE@am__append_4486 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4487 = $(nodist_usb_keyboard_module_SOURCES) \ ++@COND_i386_qemu_TRUE@am__append_4474 = usb_keyboard.mod ++@COND_i386_qemu_TRUE@am__append_4475 = usb_keyboard.marker ++@COND_i386_coreboot_TRUE@am__append_4476 = usb_keyboard.module ++@COND_i386_coreboot_TRUE@am__append_4477 = usb_keyboard.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4478 = ++@COND_i386_coreboot_TRUE@am__append_4479 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4480 = $(nodist_usb_keyboard_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ usb_keyboard.marker +-@COND_i386_coreboot_TRUE@am__append_4488 = usb_keyboard.mod +-@COND_i386_coreboot_TRUE@am__append_4489 = usb_keyboard.marker +-@COND_i386_multiboot_TRUE@am__append_4490 = usb_keyboard.module +-@COND_i386_multiboot_TRUE@am__append_4491 = usb_keyboard.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4492 = +-@COND_i386_multiboot_TRUE@am__append_4493 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4494 = $(nodist_usb_keyboard_module_SOURCES) \ ++@COND_i386_coreboot_TRUE@am__append_4481 = usb_keyboard.mod ++@COND_i386_coreboot_TRUE@am__append_4482 = usb_keyboard.marker ++@COND_i386_multiboot_TRUE@am__append_4483 = usb_keyboard.module ++@COND_i386_multiboot_TRUE@am__append_4484 = usb_keyboard.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4485 = ++@COND_i386_multiboot_TRUE@am__append_4486 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4487 = $(nodist_usb_keyboard_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ usb_keyboard.marker +-@COND_i386_multiboot_TRUE@am__append_4495 = usb_keyboard.mod +-@COND_i386_multiboot_TRUE@am__append_4496 = usb_keyboard.marker +-@COND_i386_ieee1275_TRUE@am__append_4497 = usb_keyboard.module +-@COND_i386_ieee1275_TRUE@am__append_4498 = usb_keyboard.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4499 = +-@COND_i386_ieee1275_TRUE@am__append_4500 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4501 = $(nodist_usb_keyboard_module_SOURCES) \ ++@COND_i386_multiboot_TRUE@am__append_4488 = usb_keyboard.mod ++@COND_i386_multiboot_TRUE@am__append_4489 = usb_keyboard.marker ++@COND_i386_ieee1275_TRUE@am__append_4490 = usb_keyboard.module ++@COND_i386_ieee1275_TRUE@am__append_4491 = usb_keyboard.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4492 = ++@COND_i386_ieee1275_TRUE@am__append_4493 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4494 = $(nodist_usb_keyboard_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ usb_keyboard.marker +-@COND_i386_ieee1275_TRUE@am__append_4502 = usb_keyboard.mod +-@COND_i386_ieee1275_TRUE@am__append_4503 = usb_keyboard.marker +-@COND_x86_64_efi_TRUE@am__append_4504 = usb_keyboard.module +-@COND_x86_64_efi_TRUE@am__append_4505 = usb_keyboard.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4506 = +-@COND_x86_64_efi_TRUE@am__append_4507 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4508 = \ ++@COND_i386_ieee1275_TRUE@am__append_4495 = usb_keyboard.mod ++@COND_i386_ieee1275_TRUE@am__append_4496 = usb_keyboard.marker ++@COND_x86_64_efi_TRUE@am__append_4497 = usb_keyboard.module ++@COND_x86_64_efi_TRUE@am__append_4498 = usb_keyboard.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4499 = ++@COND_x86_64_efi_TRUE@am__append_4500 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4501 = \ + @COND_x86_64_efi_TRUE@ $(nodist_usb_keyboard_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ usb_keyboard.marker +-@COND_x86_64_efi_TRUE@am__append_4509 = usb_keyboard.mod +-@COND_x86_64_efi_TRUE@am__append_4510 = usb_keyboard.marker +-@COND_mips_loongson_TRUE@am__append_4511 = usb_keyboard.module +-@COND_mips_loongson_TRUE@am__append_4512 = usb_keyboard.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_4513 = +-@COND_mips_loongson_TRUE@am__append_4514 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_4515 = $(nodist_usb_keyboard_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_4502 = usb_keyboard.mod ++@COND_x86_64_efi_TRUE@am__append_4503 = usb_keyboard.marker ++@COND_mips_loongson_TRUE@am__append_4504 = usb_keyboard.module ++@COND_mips_loongson_TRUE@am__append_4505 = usb_keyboard.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_4506 = ++@COND_mips_loongson_TRUE@am__append_4507 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_4508 = $(nodist_usb_keyboard_module_SOURCES) \ + @COND_mips_loongson_TRUE@ usb_keyboard.marker +-@COND_mips_loongson_TRUE@am__append_4516 = usb_keyboard.mod +-@COND_mips_loongson_TRUE@am__append_4517 = usb_keyboard.marker +-@COND_arm_coreboot_TRUE@am__append_4518 = usb_keyboard.module +-@COND_arm_coreboot_TRUE@am__append_4519 = usb_keyboard.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__append_4520 = +-@COND_arm_coreboot_TRUE@am__append_4521 = $(nodist_usb_keyboard_module_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_4522 = \ ++@COND_mips_loongson_TRUE@am__append_4509 = usb_keyboard.mod ++@COND_mips_loongson_TRUE@am__append_4510 = usb_keyboard.marker ++@COND_arm_coreboot_TRUE@am__append_4511 = usb_keyboard.module ++@COND_arm_coreboot_TRUE@am__append_4512 = usb_keyboard.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__append_4513 = ++@COND_arm_coreboot_TRUE@am__append_4514 = $(nodist_usb_keyboard_module_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_4515 = \ + @COND_arm_coreboot_TRUE@ $(nodist_usb_keyboard_module_SOURCES) \ + @COND_arm_coreboot_TRUE@ usb_keyboard.marker +-@COND_arm_coreboot_TRUE@am__append_4523 = usb_keyboard.mod +-@COND_arm_coreboot_TRUE@am__append_4524 = usb_keyboard.marker +-@COND_i386_pc_TRUE@am__append_4525 = vga.module vga_text.module \ ++@COND_arm_coreboot_TRUE@am__append_4516 = usb_keyboard.mod ++@COND_arm_coreboot_TRUE@am__append_4517 = usb_keyboard.marker ++@COND_i386_pc_TRUE@am__append_4518 = vga.module vga_text.module \ + @COND_i386_pc_TRUE@ mda_text.module +-@COND_i386_pc_TRUE@am__append_4526 = vga.module$(EXEEXT) \ ++@COND_i386_pc_TRUE@am__append_4519 = vga.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ vga_text.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ mda_text.module$(EXEEXT) + @COND_i386_pc_FALSE@vga_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4527 = +-@COND_i386_pc_TRUE@am__append_4528 = $(nodist_vga_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4520 = ++@COND_i386_pc_TRUE@am__append_4521 = $(nodist_vga_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_vga_text_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_mda_text_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4529 = $(nodist_vga_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4522 = $(nodist_vga_module_SOURCES) \ + @COND_i386_pc_TRUE@ vga.marker \ + @COND_i386_pc_TRUE@ $(nodist_vga_text_module_SOURCES) \ + @COND_i386_pc_TRUE@ vga_text.marker \ + @COND_i386_pc_TRUE@ $(nodist_mda_text_module_SOURCES) \ + @COND_i386_pc_TRUE@ mda_text.marker +-@COND_i386_pc_TRUE@am__append_4530 = vga.mod vga_text.mod mda_text.mod +-@COND_i386_pc_TRUE@am__append_4531 = vga.marker vga_text.marker \ ++@COND_i386_pc_TRUE@am__append_4523 = vga.mod vga_text.mod mda_text.mod ++@COND_i386_pc_TRUE@am__append_4524 = vga.marker vga_text.marker \ + @COND_i386_pc_TRUE@ mda_text.marker + @COND_i386_pc_FALSE@vga_text_module_DEPENDENCIES = + @COND_i386_coreboot_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@mda_text_module_DEPENDENCIES = +-@COND_i386_qemu_TRUE@am__append_4532 = mda_text.module +-@COND_i386_qemu_TRUE@am__append_4533 = mda_text.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4534 = +-@COND_i386_qemu_TRUE@am__append_4535 = $(nodist_mda_text_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4536 = \ ++@COND_i386_qemu_TRUE@am__append_4525 = mda_text.module ++@COND_i386_qemu_TRUE@am__append_4526 = mda_text.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4527 = ++@COND_i386_qemu_TRUE@am__append_4528 = $(nodist_mda_text_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4529 = \ + @COND_i386_qemu_TRUE@ $(nodist_mda_text_module_SOURCES) \ + @COND_i386_qemu_TRUE@ mda_text.marker +-@COND_i386_qemu_TRUE@am__append_4537 = mda_text.mod +-@COND_i386_qemu_TRUE@am__append_4538 = mda_text.marker +-@COND_i386_coreboot_TRUE@am__append_4539 = mda_text.module +-@COND_i386_coreboot_TRUE@am__append_4540 = mda_text.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4541 = +-@COND_i386_coreboot_TRUE@am__append_4542 = $(nodist_mda_text_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4543 = \ ++@COND_i386_qemu_TRUE@am__append_4530 = mda_text.mod ++@COND_i386_qemu_TRUE@am__append_4531 = mda_text.marker ++@COND_i386_coreboot_TRUE@am__append_4532 = mda_text.module ++@COND_i386_coreboot_TRUE@am__append_4533 = mda_text.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4534 = ++@COND_i386_coreboot_TRUE@am__append_4535 = $(nodist_mda_text_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4536 = \ + @COND_i386_coreboot_TRUE@ $(nodist_mda_text_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ mda_text.marker +-@COND_i386_coreboot_TRUE@am__append_4544 = mda_text.mod +-@COND_i386_coreboot_TRUE@am__append_4545 = mda_text.marker +-@COND_i386_multiboot_TRUE@am__append_4546 = mda_text.module +-@COND_i386_multiboot_TRUE@am__append_4547 = mda_text.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4548 = +-@COND_i386_multiboot_TRUE@am__append_4549 = $(nodist_mda_text_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4550 = \ ++@COND_i386_coreboot_TRUE@am__append_4537 = mda_text.mod ++@COND_i386_coreboot_TRUE@am__append_4538 = mda_text.marker ++@COND_i386_multiboot_TRUE@am__append_4539 = mda_text.module ++@COND_i386_multiboot_TRUE@am__append_4540 = mda_text.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4541 = ++@COND_i386_multiboot_TRUE@am__append_4542 = $(nodist_mda_text_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4543 = \ + @COND_i386_multiboot_TRUE@ $(nodist_mda_text_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ mda_text.marker +-@COND_i386_multiboot_TRUE@am__append_4551 = mda_text.mod +-@COND_i386_multiboot_TRUE@am__append_4552 = mda_text.marker +-@COND_i386_pc_TRUE@am__append_4553 = video_cirrus.module +-@COND_i386_pc_TRUE@am__append_4554 = video_cirrus.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4544 = mda_text.mod ++@COND_i386_multiboot_TRUE@am__append_4545 = mda_text.marker ++@COND_i386_pc_TRUE@am__append_4546 = video_cirrus.module ++@COND_i386_pc_TRUE@am__append_4547 = video_cirrus.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@video_cirrus_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4555 = +-@COND_i386_pc_TRUE@am__append_4556 = $(nodist_video_cirrus_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4557 = \ ++@COND_i386_pc_TRUE@am__append_4548 = ++@COND_i386_pc_TRUE@am__append_4549 = $(nodist_video_cirrus_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4550 = \ + @COND_i386_pc_TRUE@ $(nodist_video_cirrus_module_SOURCES) \ + @COND_i386_pc_TRUE@ video_cirrus.marker +-@COND_i386_pc_TRUE@am__append_4558 = video_cirrus.mod +-@COND_i386_pc_TRUE@am__append_4559 = video_cirrus.marker +-@COND_i386_efi_TRUE@am__append_4560 = video_cirrus.module +-@COND_i386_efi_TRUE@am__append_4561 = video_cirrus.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4562 = +-@COND_i386_efi_TRUE@am__append_4563 = $(nodist_video_cirrus_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4564 = \ ++@COND_i386_pc_TRUE@am__append_4551 = video_cirrus.mod ++@COND_i386_pc_TRUE@am__append_4552 = video_cirrus.marker ++@COND_i386_efi_TRUE@am__append_4553 = video_cirrus.module ++@COND_i386_efi_TRUE@am__append_4554 = video_cirrus.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4555 = ++@COND_i386_efi_TRUE@am__append_4556 = $(nodist_video_cirrus_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4557 = \ + @COND_i386_efi_TRUE@ $(nodist_video_cirrus_module_SOURCES) \ + @COND_i386_efi_TRUE@ video_cirrus.marker +-@COND_i386_efi_TRUE@am__append_4565 = video_cirrus.mod +-@COND_i386_efi_TRUE@am__append_4566 = video_cirrus.marker +-@COND_i386_qemu_TRUE@am__append_4567 = video_cirrus.module +-@COND_i386_qemu_TRUE@am__append_4568 = video_cirrus.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4569 = +-@COND_i386_qemu_TRUE@am__append_4570 = $(nodist_video_cirrus_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4571 = \ ++@COND_i386_efi_TRUE@am__append_4558 = video_cirrus.mod ++@COND_i386_efi_TRUE@am__append_4559 = video_cirrus.marker ++@COND_i386_qemu_TRUE@am__append_4560 = video_cirrus.module ++@COND_i386_qemu_TRUE@am__append_4561 = video_cirrus.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4562 = ++@COND_i386_qemu_TRUE@am__append_4563 = $(nodist_video_cirrus_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4564 = \ + @COND_i386_qemu_TRUE@ $(nodist_video_cirrus_module_SOURCES) \ + @COND_i386_qemu_TRUE@ video_cirrus.marker +-@COND_i386_qemu_TRUE@am__append_4572 = video_cirrus.mod +-@COND_i386_qemu_TRUE@am__append_4573 = video_cirrus.marker +-@COND_i386_coreboot_TRUE@am__append_4574 = video_cirrus.module +-@COND_i386_coreboot_TRUE@am__append_4575 = video_cirrus.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4576 = +-@COND_i386_coreboot_TRUE@am__append_4577 = $(nodist_video_cirrus_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4578 = $(nodist_video_cirrus_module_SOURCES) \ ++@COND_i386_qemu_TRUE@am__append_4565 = video_cirrus.mod ++@COND_i386_qemu_TRUE@am__append_4566 = video_cirrus.marker ++@COND_i386_coreboot_TRUE@am__append_4567 = video_cirrus.module ++@COND_i386_coreboot_TRUE@am__append_4568 = video_cirrus.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4569 = ++@COND_i386_coreboot_TRUE@am__append_4570 = $(nodist_video_cirrus_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4571 = $(nodist_video_cirrus_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ video_cirrus.marker +-@COND_i386_coreboot_TRUE@am__append_4579 = video_cirrus.mod +-@COND_i386_coreboot_TRUE@am__append_4580 = video_cirrus.marker +-@COND_i386_multiboot_TRUE@am__append_4581 = video_cirrus.module +-@COND_i386_multiboot_TRUE@am__append_4582 = video_cirrus.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4583 = +-@COND_i386_multiboot_TRUE@am__append_4584 = $(nodist_video_cirrus_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4585 = $(nodist_video_cirrus_module_SOURCES) \ ++@COND_i386_coreboot_TRUE@am__append_4572 = video_cirrus.mod ++@COND_i386_coreboot_TRUE@am__append_4573 = video_cirrus.marker ++@COND_i386_multiboot_TRUE@am__append_4574 = video_cirrus.module ++@COND_i386_multiboot_TRUE@am__append_4575 = video_cirrus.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4576 = ++@COND_i386_multiboot_TRUE@am__append_4577 = $(nodist_video_cirrus_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4578 = $(nodist_video_cirrus_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ video_cirrus.marker +-@COND_i386_multiboot_TRUE@am__append_4586 = video_cirrus.mod +-@COND_i386_multiboot_TRUE@am__append_4587 = video_cirrus.marker +-@COND_i386_ieee1275_TRUE@am__append_4588 = video_cirrus.module +-@COND_i386_ieee1275_TRUE@am__append_4589 = video_cirrus.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4590 = +-@COND_i386_ieee1275_TRUE@am__append_4591 = $(nodist_video_cirrus_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4592 = $(nodist_video_cirrus_module_SOURCES) \ ++@COND_i386_multiboot_TRUE@am__append_4579 = video_cirrus.mod ++@COND_i386_multiboot_TRUE@am__append_4580 = video_cirrus.marker ++@COND_i386_ieee1275_TRUE@am__append_4581 = video_cirrus.module ++@COND_i386_ieee1275_TRUE@am__append_4582 = video_cirrus.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4583 = ++@COND_i386_ieee1275_TRUE@am__append_4584 = $(nodist_video_cirrus_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4585 = $(nodist_video_cirrus_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ video_cirrus.marker +-@COND_i386_ieee1275_TRUE@am__append_4593 = video_cirrus.mod +-@COND_i386_ieee1275_TRUE@am__append_4594 = video_cirrus.marker +-@COND_x86_64_efi_TRUE@am__append_4595 = video_cirrus.module +-@COND_x86_64_efi_TRUE@am__append_4596 = video_cirrus.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4597 = +-@COND_x86_64_efi_TRUE@am__append_4598 = $(nodist_video_cirrus_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4599 = \ ++@COND_i386_ieee1275_TRUE@am__append_4586 = video_cirrus.mod ++@COND_i386_ieee1275_TRUE@am__append_4587 = video_cirrus.marker ++@COND_x86_64_efi_TRUE@am__append_4588 = video_cirrus.module ++@COND_x86_64_efi_TRUE@am__append_4589 = video_cirrus.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4590 = ++@COND_x86_64_efi_TRUE@am__append_4591 = $(nodist_video_cirrus_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4592 = \ + @COND_x86_64_efi_TRUE@ $(nodist_video_cirrus_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ video_cirrus.marker +-@COND_x86_64_efi_TRUE@am__append_4600 = video_cirrus.mod +-@COND_x86_64_efi_TRUE@am__append_4601 = video_cirrus.marker +-@COND_i386_pc_TRUE@am__append_4602 = video_bochs.module +-@COND_i386_pc_TRUE@am__append_4603 = video_bochs.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4593 = video_cirrus.mod ++@COND_x86_64_efi_TRUE@am__append_4594 = video_cirrus.marker ++@COND_i386_pc_TRUE@am__append_4595 = video_bochs.module ++@COND_i386_pc_TRUE@am__append_4596 = video_bochs.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@video_bochs_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4604 = +-@COND_i386_pc_TRUE@am__append_4605 = $(nodist_video_bochs_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4606 = \ ++@COND_i386_pc_TRUE@am__append_4597 = ++@COND_i386_pc_TRUE@am__append_4598 = $(nodist_video_bochs_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4599 = \ + @COND_i386_pc_TRUE@ $(nodist_video_bochs_module_SOURCES) \ + @COND_i386_pc_TRUE@ video_bochs.marker +-@COND_i386_pc_TRUE@am__append_4607 = video_bochs.mod +-@COND_i386_pc_TRUE@am__append_4608 = video_bochs.marker +-@COND_i386_efi_TRUE@am__append_4609 = video_bochs.module +-@COND_i386_efi_TRUE@am__append_4610 = video_bochs.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4611 = +-@COND_i386_efi_TRUE@am__append_4612 = $(nodist_video_bochs_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4613 = \ ++@COND_i386_pc_TRUE@am__append_4600 = video_bochs.mod ++@COND_i386_pc_TRUE@am__append_4601 = video_bochs.marker ++@COND_i386_efi_TRUE@am__append_4602 = video_bochs.module ++@COND_i386_efi_TRUE@am__append_4603 = video_bochs.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4604 = ++@COND_i386_efi_TRUE@am__append_4605 = $(nodist_video_bochs_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4606 = \ + @COND_i386_efi_TRUE@ $(nodist_video_bochs_module_SOURCES) \ + @COND_i386_efi_TRUE@ video_bochs.marker +-@COND_i386_efi_TRUE@am__append_4614 = video_bochs.mod +-@COND_i386_efi_TRUE@am__append_4615 = video_bochs.marker +-@COND_i386_qemu_TRUE@am__append_4616 = video_bochs.module +-@COND_i386_qemu_TRUE@am__append_4617 = video_bochs.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4618 = +-@COND_i386_qemu_TRUE@am__append_4619 = $(nodist_video_bochs_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4620 = \ ++@COND_i386_efi_TRUE@am__append_4607 = video_bochs.mod ++@COND_i386_efi_TRUE@am__append_4608 = video_bochs.marker ++@COND_i386_qemu_TRUE@am__append_4609 = video_bochs.module ++@COND_i386_qemu_TRUE@am__append_4610 = video_bochs.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4611 = ++@COND_i386_qemu_TRUE@am__append_4612 = $(nodist_video_bochs_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4613 = \ + @COND_i386_qemu_TRUE@ $(nodist_video_bochs_module_SOURCES) \ + @COND_i386_qemu_TRUE@ video_bochs.marker +-@COND_i386_qemu_TRUE@am__append_4621 = video_bochs.mod +-@COND_i386_qemu_TRUE@am__append_4622 = video_bochs.marker +-@COND_i386_coreboot_TRUE@am__append_4623 = video_bochs.module +-@COND_i386_coreboot_TRUE@am__append_4624 = video_bochs.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4625 = +-@COND_i386_coreboot_TRUE@am__append_4626 = $(nodist_video_bochs_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4627 = \ ++@COND_i386_qemu_TRUE@am__append_4614 = video_bochs.mod ++@COND_i386_qemu_TRUE@am__append_4615 = video_bochs.marker ++@COND_i386_coreboot_TRUE@am__append_4616 = video_bochs.module ++@COND_i386_coreboot_TRUE@am__append_4617 = video_bochs.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4618 = ++@COND_i386_coreboot_TRUE@am__append_4619 = $(nodist_video_bochs_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4620 = \ + @COND_i386_coreboot_TRUE@ $(nodist_video_bochs_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ video_bochs.marker +-@COND_i386_coreboot_TRUE@am__append_4628 = video_bochs.mod +-@COND_i386_coreboot_TRUE@am__append_4629 = video_bochs.marker +-@COND_i386_multiboot_TRUE@am__append_4630 = video_bochs.module +-@COND_i386_multiboot_TRUE@am__append_4631 = video_bochs.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4632 = +-@COND_i386_multiboot_TRUE@am__append_4633 = $(nodist_video_bochs_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4634 = $(nodist_video_bochs_module_SOURCES) \ ++@COND_i386_coreboot_TRUE@am__append_4621 = video_bochs.mod ++@COND_i386_coreboot_TRUE@am__append_4622 = video_bochs.marker ++@COND_i386_multiboot_TRUE@am__append_4623 = video_bochs.module ++@COND_i386_multiboot_TRUE@am__append_4624 = video_bochs.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4625 = ++@COND_i386_multiboot_TRUE@am__append_4626 = $(nodist_video_bochs_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4627 = $(nodist_video_bochs_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ video_bochs.marker +-@COND_i386_multiboot_TRUE@am__append_4635 = video_bochs.mod +-@COND_i386_multiboot_TRUE@am__append_4636 = video_bochs.marker +-@COND_i386_ieee1275_TRUE@am__append_4637 = video_bochs.module +-@COND_i386_ieee1275_TRUE@am__append_4638 = video_bochs.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4639 = +-@COND_i386_ieee1275_TRUE@am__append_4640 = $(nodist_video_bochs_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4641 = \ ++@COND_i386_multiboot_TRUE@am__append_4628 = video_bochs.mod ++@COND_i386_multiboot_TRUE@am__append_4629 = video_bochs.marker ++@COND_i386_ieee1275_TRUE@am__append_4630 = video_bochs.module ++@COND_i386_ieee1275_TRUE@am__append_4631 = video_bochs.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4632 = ++@COND_i386_ieee1275_TRUE@am__append_4633 = $(nodist_video_bochs_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4634 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_video_bochs_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ video_bochs.marker +-@COND_i386_ieee1275_TRUE@am__append_4642 = video_bochs.mod +-@COND_i386_ieee1275_TRUE@am__append_4643 = video_bochs.marker +-@COND_x86_64_efi_TRUE@am__append_4644 = video_bochs.module +-@COND_x86_64_efi_TRUE@am__append_4645 = video_bochs.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4646 = +-@COND_x86_64_efi_TRUE@am__append_4647 = $(nodist_video_bochs_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4648 = \ ++@COND_i386_ieee1275_TRUE@am__append_4635 = video_bochs.mod ++@COND_i386_ieee1275_TRUE@am__append_4636 = video_bochs.marker ++@COND_x86_64_efi_TRUE@am__append_4637 = video_bochs.module ++@COND_x86_64_efi_TRUE@am__append_4638 = video_bochs.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4639 = ++@COND_x86_64_efi_TRUE@am__append_4640 = $(nodist_video_bochs_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4641 = \ + @COND_x86_64_efi_TRUE@ $(nodist_video_bochs_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ video_bochs.marker +-@COND_x86_64_efi_TRUE@am__append_4649 = video_bochs.mod +-@COND_x86_64_efi_TRUE@am__append_4650 = video_bochs.marker +-@COND_emu_TRUE@am__append_4651 = legacy_password_test.module +-@COND_emu_TRUE@am__append_4652 = legacy_password_test.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4642 = video_bochs.mod ++@COND_x86_64_efi_TRUE@am__append_4643 = video_bochs.marker ++@COND_emu_TRUE@am__append_4644 = legacy_password_test.module ++@COND_emu_TRUE@am__append_4645 = legacy_password_test.module$(EXEEXT) + @COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_pc_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@legacy_password_test_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_4653 = +-@COND_emu_TRUE@am__append_4654 = $(nodist_legacy_password_test_module_SOURCES) +-@COND_emu_TRUE@am__append_4655 = \ ++@COND_emu_TRUE@am__append_4646 = ++@COND_emu_TRUE@am__append_4647 = $(nodist_legacy_password_test_module_SOURCES) ++@COND_emu_TRUE@am__append_4648 = \ + @COND_emu_TRUE@ $(nodist_legacy_password_test_module_SOURCES) \ + @COND_emu_TRUE@ legacy_password_test.marker +-@COND_emu_TRUE@am__append_4656 = legacy_password_test.mod +-@COND_emu_TRUE@am__append_4657 = legacy_password_test.marker +-@COND_i386_pc_TRUE@am__append_4658 = legacy_password_test.module +-@COND_i386_pc_TRUE@am__append_4659 = legacy_password_test.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_4660 = +-@COND_i386_pc_TRUE@am__append_4661 = $(nodist_legacy_password_test_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4662 = $(nodist_legacy_password_test_module_SOURCES) \ ++@COND_emu_TRUE@am__append_4649 = legacy_password_test.mod ++@COND_emu_TRUE@am__append_4650 = legacy_password_test.marker ++@COND_i386_pc_TRUE@am__append_4651 = legacy_password_test.module ++@COND_i386_pc_TRUE@am__append_4652 = legacy_password_test.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_4653 = ++@COND_i386_pc_TRUE@am__append_4654 = $(nodist_legacy_password_test_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4655 = $(nodist_legacy_password_test_module_SOURCES) \ + @COND_i386_pc_TRUE@ legacy_password_test.marker +-@COND_i386_pc_TRUE@am__append_4663 = legacy_password_test.mod +-@COND_i386_pc_TRUE@am__append_4664 = legacy_password_test.marker +-@COND_i386_efi_TRUE@am__append_4665 = legacy_password_test.module +-@COND_i386_efi_TRUE@am__append_4666 = legacy_password_test.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4667 = +-@COND_i386_efi_TRUE@am__append_4668 = $(nodist_legacy_password_test_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4669 = $(nodist_legacy_password_test_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4656 = legacy_password_test.mod ++@COND_i386_pc_TRUE@am__append_4657 = legacy_password_test.marker ++@COND_i386_efi_TRUE@am__append_4658 = legacy_password_test.module ++@COND_i386_efi_TRUE@am__append_4659 = legacy_password_test.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4660 = ++@COND_i386_efi_TRUE@am__append_4661 = $(nodist_legacy_password_test_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4662 = $(nodist_legacy_password_test_module_SOURCES) \ + @COND_i386_efi_TRUE@ legacy_password_test.marker +-@COND_i386_efi_TRUE@am__append_4670 = legacy_password_test.mod +-@COND_i386_efi_TRUE@am__append_4671 = legacy_password_test.marker +-@COND_x86_64_efi_TRUE@am__append_4672 = legacy_password_test.module +-@COND_x86_64_efi_TRUE@am__append_4673 = legacy_password_test.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4674 = +-@COND_x86_64_efi_TRUE@am__append_4675 = $(nodist_legacy_password_test_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4676 = $(nodist_legacy_password_test_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_4663 = legacy_password_test.mod ++@COND_i386_efi_TRUE@am__append_4664 = legacy_password_test.marker ++@COND_x86_64_efi_TRUE@am__append_4665 = legacy_password_test.module ++@COND_x86_64_efi_TRUE@am__append_4666 = legacy_password_test.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4667 = ++@COND_x86_64_efi_TRUE@am__append_4668 = $(nodist_legacy_password_test_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4669 = $(nodist_legacy_password_test_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ legacy_password_test.marker +-@COND_x86_64_efi_TRUE@am__append_4677 = legacy_password_test.mod +-@COND_x86_64_efi_TRUE@am__append_4678 = legacy_password_test.marker +-@COND_i386_xen_TRUE@am__append_4679 = legacy_password_test.module +-@COND_i386_xen_TRUE@am__append_4680 = legacy_password_test.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_4681 = +-@COND_i386_xen_TRUE@am__append_4682 = $(nodist_legacy_password_test_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_4683 = $(nodist_legacy_password_test_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_4670 = legacy_password_test.mod ++@COND_x86_64_efi_TRUE@am__append_4671 = legacy_password_test.marker ++@COND_i386_xen_TRUE@am__append_4672 = legacy_password_test.module ++@COND_i386_xen_TRUE@am__append_4673 = legacy_password_test.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_4674 = ++@COND_i386_xen_TRUE@am__append_4675 = $(nodist_legacy_password_test_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_4676 = $(nodist_legacy_password_test_module_SOURCES) \ + @COND_i386_xen_TRUE@ legacy_password_test.marker +-@COND_i386_xen_TRUE@am__append_4684 = legacy_password_test.mod +-@COND_i386_xen_TRUE@am__append_4685 = legacy_password_test.marker +-@COND_x86_64_xen_TRUE@am__append_4686 = legacy_password_test.module +-@COND_x86_64_xen_TRUE@am__append_4687 = legacy_password_test.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_4688 = +-@COND_x86_64_xen_TRUE@am__append_4689 = $(nodist_legacy_password_test_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_4690 = $(nodist_legacy_password_test_module_SOURCES) \ ++@COND_i386_xen_TRUE@am__append_4677 = legacy_password_test.mod ++@COND_i386_xen_TRUE@am__append_4678 = legacy_password_test.marker ++@COND_x86_64_xen_TRUE@am__append_4679 = legacy_password_test.module ++@COND_x86_64_xen_TRUE@am__append_4680 = legacy_password_test.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_4681 = ++@COND_x86_64_xen_TRUE@am__append_4682 = $(nodist_legacy_password_test_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_4683 = $(nodist_legacy_password_test_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ legacy_password_test.marker +-@COND_x86_64_xen_TRUE@am__append_4691 = legacy_password_test.mod +-@COND_x86_64_xen_TRUE@am__append_4692 = legacy_password_test.marker +-@COND_i386_xen_pvh_TRUE@am__append_4693 = legacy_password_test.module +-@COND_i386_xen_pvh_TRUE@am__append_4694 = legacy_password_test.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_4695 = +-@COND_i386_xen_pvh_TRUE@am__append_4696 = $(nodist_legacy_password_test_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_4697 = $(nodist_legacy_password_test_module_SOURCES) \ ++@COND_x86_64_xen_TRUE@am__append_4684 = legacy_password_test.mod ++@COND_x86_64_xen_TRUE@am__append_4685 = legacy_password_test.marker ++@COND_i386_xen_pvh_TRUE@am__append_4686 = legacy_password_test.module ++@COND_i386_xen_pvh_TRUE@am__append_4687 = legacy_password_test.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_4688 = ++@COND_i386_xen_pvh_TRUE@am__append_4689 = $(nodist_legacy_password_test_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_4690 = $(nodist_legacy_password_test_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ legacy_password_test.marker +-@COND_i386_xen_pvh_TRUE@am__append_4698 = legacy_password_test.mod +-@COND_i386_xen_pvh_TRUE@am__append_4699 = legacy_password_test.marker +-@COND_emu_TRUE@am__append_4700 = div.module +-@COND_emu_TRUE@am__append_4701 = div.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_4691 = legacy_password_test.mod ++@COND_i386_xen_pvh_TRUE@am__append_4692 = legacy_password_test.marker ++@COND_emu_TRUE@am__append_4693 = div.module ++@COND_emu_TRUE@am__append_4694 = div.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@div_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_4702 = +-@COND_emu_TRUE@am__append_4703 = $(nodist_div_module_SOURCES) +-@COND_emu_TRUE@am__append_4704 = $(nodist_div_module_SOURCES) \ ++@COND_emu_TRUE@am__append_4695 = ++@COND_emu_TRUE@am__append_4696 = $(nodist_div_module_SOURCES) ++@COND_emu_TRUE@am__append_4697 = $(nodist_div_module_SOURCES) \ + @COND_emu_TRUE@ div.marker +-@COND_emu_TRUE@am__append_4705 = div.mod +-@COND_emu_TRUE@am__append_4706 = div.marker +-@COND_i386_pc_TRUE@am__append_4707 = div.module +-@COND_i386_pc_TRUE@am__append_4708 = div.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_4709 = +-@COND_i386_pc_TRUE@am__append_4710 = $(nodist_div_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4711 = $(nodist_div_module_SOURCES) \ ++@COND_emu_TRUE@am__append_4698 = div.mod ++@COND_emu_TRUE@am__append_4699 = div.marker ++@COND_i386_pc_TRUE@am__append_4700 = div.module ++@COND_i386_pc_TRUE@am__append_4701 = div.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_4702 = ++@COND_i386_pc_TRUE@am__append_4703 = $(nodist_div_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4704 = $(nodist_div_module_SOURCES) \ + @COND_i386_pc_TRUE@ div.marker +-@COND_i386_pc_TRUE@am__append_4712 = div.mod +-@COND_i386_pc_TRUE@am__append_4713 = div.marker +-@COND_i386_efi_TRUE@am__append_4714 = div.module +-@COND_i386_efi_TRUE@am__append_4715 = div.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4716 = +-@COND_i386_efi_TRUE@am__append_4717 = $(nodist_div_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4718 = $(nodist_div_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4705 = div.mod ++@COND_i386_pc_TRUE@am__append_4706 = div.marker ++@COND_i386_efi_TRUE@am__append_4707 = div.module ++@COND_i386_efi_TRUE@am__append_4708 = div.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4709 = ++@COND_i386_efi_TRUE@am__append_4710 = $(nodist_div_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4711 = $(nodist_div_module_SOURCES) \ + @COND_i386_efi_TRUE@ div.marker +-@COND_i386_efi_TRUE@am__append_4719 = div.mod +-@COND_i386_efi_TRUE@am__append_4720 = div.marker +-@COND_i386_qemu_TRUE@am__append_4721 = div.module +-@COND_i386_qemu_TRUE@am__append_4722 = div.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4723 = +-@COND_i386_qemu_TRUE@am__append_4724 = $(nodist_div_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4725 = $(nodist_div_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_4712 = div.mod ++@COND_i386_efi_TRUE@am__append_4713 = div.marker ++@COND_i386_qemu_TRUE@am__append_4714 = div.module ++@COND_i386_qemu_TRUE@am__append_4715 = div.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4716 = ++@COND_i386_qemu_TRUE@am__append_4717 = $(nodist_div_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4718 = $(nodist_div_module_SOURCES) \ + @COND_i386_qemu_TRUE@ div.marker +-@COND_i386_qemu_TRUE@am__append_4726 = div.mod +-@COND_i386_qemu_TRUE@am__append_4727 = div.marker +-@COND_i386_coreboot_TRUE@am__append_4728 = div.module +-@COND_i386_coreboot_TRUE@am__append_4729 = div.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_4730 = +-@COND_i386_coreboot_TRUE@am__append_4731 = $(nodist_div_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_4732 = \ ++@COND_i386_qemu_TRUE@am__append_4719 = div.mod ++@COND_i386_qemu_TRUE@am__append_4720 = div.marker ++@COND_i386_coreboot_TRUE@am__append_4721 = div.module ++@COND_i386_coreboot_TRUE@am__append_4722 = div.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_4723 = ++@COND_i386_coreboot_TRUE@am__append_4724 = $(nodist_div_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_4725 = \ + @COND_i386_coreboot_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ div.marker +-@COND_i386_coreboot_TRUE@am__append_4733 = div.mod +-@COND_i386_coreboot_TRUE@am__append_4734 = div.marker +-@COND_i386_multiboot_TRUE@am__append_4735 = div.module +-@COND_i386_multiboot_TRUE@am__append_4736 = div.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4737 = +-@COND_i386_multiboot_TRUE@am__append_4738 = $(nodist_div_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4739 = \ ++@COND_i386_coreboot_TRUE@am__append_4726 = div.mod ++@COND_i386_coreboot_TRUE@am__append_4727 = div.marker ++@COND_i386_multiboot_TRUE@am__append_4728 = div.module ++@COND_i386_multiboot_TRUE@am__append_4729 = div.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4730 = ++@COND_i386_multiboot_TRUE@am__append_4731 = $(nodist_div_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4732 = \ + @COND_i386_multiboot_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ div.marker +-@COND_i386_multiboot_TRUE@am__append_4740 = div.mod +-@COND_i386_multiboot_TRUE@am__append_4741 = div.marker +-@COND_i386_ieee1275_TRUE@am__append_4742 = div.module +-@COND_i386_ieee1275_TRUE@am__append_4743 = div.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4744 = +-@COND_i386_ieee1275_TRUE@am__append_4745 = $(nodist_div_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4746 = \ ++@COND_i386_multiboot_TRUE@am__append_4733 = div.mod ++@COND_i386_multiboot_TRUE@am__append_4734 = div.marker ++@COND_i386_ieee1275_TRUE@am__append_4735 = div.module ++@COND_i386_ieee1275_TRUE@am__append_4736 = div.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4737 = ++@COND_i386_ieee1275_TRUE@am__append_4738 = $(nodist_div_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4739 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ div.marker +-@COND_i386_ieee1275_TRUE@am__append_4747 = div.mod +-@COND_i386_ieee1275_TRUE@am__append_4748 = div.marker +-@COND_x86_64_efi_TRUE@am__append_4749 = div.module +-@COND_x86_64_efi_TRUE@am__append_4750 = div.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4751 = +-@COND_x86_64_efi_TRUE@am__append_4752 = $(nodist_div_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4753 = $(nodist_div_module_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_4740 = div.mod ++@COND_i386_ieee1275_TRUE@am__append_4741 = div.marker ++@COND_x86_64_efi_TRUE@am__append_4742 = div.module ++@COND_x86_64_efi_TRUE@am__append_4743 = div.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4744 = ++@COND_x86_64_efi_TRUE@am__append_4745 = $(nodist_div_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4746 = $(nodist_div_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ div.marker +-@COND_x86_64_efi_TRUE@am__append_4754 = div.mod +-@COND_x86_64_efi_TRUE@am__append_4755 = div.marker +-@COND_i386_xen_TRUE@am__append_4756 = div.module +-@COND_i386_xen_TRUE@am__append_4757 = div.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_4758 = +-@COND_i386_xen_TRUE@am__append_4759 = $(nodist_div_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_4760 = $(nodist_div_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_4747 = div.mod ++@COND_x86_64_efi_TRUE@am__append_4748 = div.marker ++@COND_i386_xen_TRUE@am__append_4749 = div.module ++@COND_i386_xen_TRUE@am__append_4750 = div.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_4751 = ++@COND_i386_xen_TRUE@am__append_4752 = $(nodist_div_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_4753 = $(nodist_div_module_SOURCES) \ + @COND_i386_xen_TRUE@ div.marker +-@COND_i386_xen_TRUE@am__append_4761 = div.mod +-@COND_i386_xen_TRUE@am__append_4762 = div.marker +-@COND_x86_64_xen_TRUE@am__append_4763 = div.module +-@COND_x86_64_xen_TRUE@am__append_4764 = div.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_4765 = +-@COND_x86_64_xen_TRUE@am__append_4766 = $(nodist_div_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_4767 = $(nodist_div_module_SOURCES) \ ++@COND_i386_xen_TRUE@am__append_4754 = div.mod ++@COND_i386_xen_TRUE@am__append_4755 = div.marker ++@COND_x86_64_xen_TRUE@am__append_4756 = div.module ++@COND_x86_64_xen_TRUE@am__append_4757 = div.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_4758 = ++@COND_x86_64_xen_TRUE@am__append_4759 = $(nodist_div_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_4760 = $(nodist_div_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ div.marker +-@COND_x86_64_xen_TRUE@am__append_4768 = div.mod +-@COND_x86_64_xen_TRUE@am__append_4769 = div.marker +-@COND_i386_xen_pvh_TRUE@am__append_4770 = div.module +-@COND_i386_xen_pvh_TRUE@am__append_4771 = div.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_4772 = +-@COND_i386_xen_pvh_TRUE@am__append_4773 = $(nodist_div_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_4774 = \ ++@COND_x86_64_xen_TRUE@am__append_4761 = div.mod ++@COND_x86_64_xen_TRUE@am__append_4762 = div.marker ++@COND_i386_xen_pvh_TRUE@am__append_4763 = div.module ++@COND_i386_xen_pvh_TRUE@am__append_4764 = div.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_4765 = ++@COND_i386_xen_pvh_TRUE@am__append_4766 = $(nodist_div_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_4767 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ div.marker +-@COND_i386_xen_pvh_TRUE@am__append_4775 = div.mod +-@COND_i386_xen_pvh_TRUE@am__append_4776 = div.marker +-@COND_mips_loongson_TRUE@am__append_4777 = div.module +-@COND_mips_loongson_TRUE@am__append_4778 = div.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__append_4779 = +-@COND_mips_loongson_TRUE@am__append_4780 = $(nodist_div_module_SOURCES) +-@COND_mips_loongson_TRUE@am__append_4781 = \ ++@COND_i386_xen_pvh_TRUE@am__append_4768 = div.mod ++@COND_i386_xen_pvh_TRUE@am__append_4769 = div.marker ++@COND_mips_loongson_TRUE@am__append_4770 = div.module ++@COND_mips_loongson_TRUE@am__append_4771 = div.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__append_4772 = ++@COND_mips_loongson_TRUE@am__append_4773 = $(nodist_div_module_SOURCES) ++@COND_mips_loongson_TRUE@am__append_4774 = \ + @COND_mips_loongson_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_mips_loongson_TRUE@ div.marker +-@COND_mips_loongson_TRUE@am__append_4782 = div.mod +-@COND_mips_loongson_TRUE@am__append_4783 = div.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4784 = div.module +-@COND_sparc64_ieee1275_TRUE@am__append_4785 = div.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_4786 = +-@COND_sparc64_ieee1275_TRUE@am__append_4787 = $(nodist_div_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_4788 = \ ++@COND_mips_loongson_TRUE@am__append_4775 = div.mod ++@COND_mips_loongson_TRUE@am__append_4776 = div.marker ++@COND_sparc64_ieee1275_TRUE@am__append_4777 = div.module ++@COND_sparc64_ieee1275_TRUE@am__append_4778 = div.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_4779 = ++@COND_sparc64_ieee1275_TRUE@am__append_4780 = $(nodist_div_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_4781 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ div.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4789 = div.mod +-@COND_sparc64_ieee1275_TRUE@am__append_4790 = div.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4791 = div.module +-@COND_powerpc_ieee1275_TRUE@am__append_4792 = div.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_4793 = +-@COND_powerpc_ieee1275_TRUE@am__append_4794 = $(nodist_div_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_4795 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_4782 = div.mod ++@COND_sparc64_ieee1275_TRUE@am__append_4783 = div.marker ++@COND_powerpc_ieee1275_TRUE@am__append_4784 = div.module ++@COND_powerpc_ieee1275_TRUE@am__append_4785 = div.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_4786 = ++@COND_powerpc_ieee1275_TRUE@am__append_4787 = $(nodist_div_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_4788 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ div.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4796 = div.mod +-@COND_powerpc_ieee1275_TRUE@am__append_4797 = div.marker +-@COND_mips_arc_TRUE@am__append_4798 = div.module +-@COND_mips_arc_TRUE@am__append_4799 = div.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_4800 = +-@COND_mips_arc_TRUE@am__append_4801 = $(nodist_div_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_4802 = $(nodist_div_module_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_4789 = div.mod ++@COND_powerpc_ieee1275_TRUE@am__append_4790 = div.marker ++@COND_mips_arc_TRUE@am__append_4791 = div.module ++@COND_mips_arc_TRUE@am__append_4792 = div.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_4793 = ++@COND_mips_arc_TRUE@am__append_4794 = $(nodist_div_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_4795 = $(nodist_div_module_SOURCES) \ + @COND_mips_arc_TRUE@ div.marker +-@COND_mips_arc_TRUE@am__append_4803 = div.mod +-@COND_mips_arc_TRUE@am__append_4804 = div.marker +-@COND_mips_qemu_mips_TRUE@am__append_4805 = div.module +-@COND_mips_qemu_mips_TRUE@am__append_4806 = div.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_4807 = +-@COND_mips_qemu_mips_TRUE@am__append_4808 = $(nodist_div_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_4809 = \ ++@COND_mips_arc_TRUE@am__append_4796 = div.mod ++@COND_mips_arc_TRUE@am__append_4797 = div.marker ++@COND_mips_qemu_mips_TRUE@am__append_4798 = div.module ++@COND_mips_qemu_mips_TRUE@am__append_4799 = div.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_4800 = ++@COND_mips_qemu_mips_TRUE@am__append_4801 = $(nodist_div_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_4802 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_div_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ div.marker +-@COND_mips_qemu_mips_TRUE@am__append_4810 = div.mod +-@COND_mips_qemu_mips_TRUE@am__append_4811 = div.marker +-@COND_arm64_efi_TRUE@am__append_4812 = div.module +-@COND_arm64_efi_TRUE@am__append_4813 = div.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_4814 = +-@COND_arm64_efi_TRUE@am__append_4815 = $(nodist_div_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_4816 = $(nodist_div_module_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_4803 = div.mod ++@COND_mips_qemu_mips_TRUE@am__append_4804 = div.marker ++@COND_arm64_efi_TRUE@am__append_4805 = div.module ++@COND_arm64_efi_TRUE@am__append_4806 = div.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_4807 = ++@COND_arm64_efi_TRUE@am__append_4808 = $(nodist_div_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_4809 = $(nodist_div_module_SOURCES) \ + @COND_arm64_efi_TRUE@ div.marker +-@COND_arm64_efi_TRUE@am__append_4817 = div.mod +-@COND_arm64_efi_TRUE@am__append_4818 = div.marker +-@COND_riscv64_efi_TRUE@am__append_4819 = div.module +-@COND_riscv64_efi_TRUE@am__append_4820 = div.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_4821 = +-@COND_riscv64_efi_TRUE@am__append_4822 = $(nodist_div_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_4823 = $(nodist_div_module_SOURCES) \ ++@COND_arm64_efi_TRUE@am__append_4810 = div.mod ++@COND_arm64_efi_TRUE@am__append_4811 = div.marker ++@COND_riscv64_efi_TRUE@am__append_4812 = div.module ++@COND_riscv64_efi_TRUE@am__append_4813 = div.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4814 = ++@COND_riscv64_efi_TRUE@am__append_4815 = $(nodist_div_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_4816 = $(nodist_div_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ div.marker +-@COND_riscv64_efi_TRUE@am__append_4824 = div.mod +-@COND_riscv64_efi_TRUE@am__append_4825 = div.marker +-@COND_i386_efi_TRUE@am__append_4826 = efi_gop.module +-@COND_i386_efi_TRUE@am__append_4827 = efi_gop.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4817 = div.mod ++@COND_riscv64_efi_TRUE@am__append_4818 = div.marker ++@COND_i386_efi_TRUE@am__append_4819 = efi_gop.module ++@COND_i386_efi_TRUE@am__append_4820 = efi_gop.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_i386_efi_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@efi_gop_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_4828 = +-@COND_i386_efi_TRUE@am__append_4829 = $(nodist_efi_gop_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4830 = \ ++@COND_i386_efi_TRUE@am__append_4821 = ++@COND_i386_efi_TRUE@am__append_4822 = $(nodist_efi_gop_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4823 = \ + @COND_i386_efi_TRUE@ $(nodist_efi_gop_module_SOURCES) \ + @COND_i386_efi_TRUE@ efi_gop.marker +-@COND_i386_efi_TRUE@am__append_4831 = efi_gop.mod +-@COND_i386_efi_TRUE@am__append_4832 = efi_gop.marker +-@COND_x86_64_efi_TRUE@am__append_4833 = efi_gop.module +-@COND_x86_64_efi_TRUE@am__append_4834 = efi_gop.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4835 = +-@COND_x86_64_efi_TRUE@am__append_4836 = $(nodist_efi_gop_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4837 = \ ++@COND_i386_efi_TRUE@am__append_4824 = efi_gop.mod ++@COND_i386_efi_TRUE@am__append_4825 = efi_gop.marker ++@COND_x86_64_efi_TRUE@am__append_4826 = efi_gop.module ++@COND_x86_64_efi_TRUE@am__append_4827 = efi_gop.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4828 = ++@COND_x86_64_efi_TRUE@am__append_4829 = $(nodist_efi_gop_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4830 = \ + @COND_x86_64_efi_TRUE@ $(nodist_efi_gop_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ efi_gop.marker +-@COND_x86_64_efi_TRUE@am__append_4838 = efi_gop.mod +-@COND_x86_64_efi_TRUE@am__append_4839 = efi_gop.marker +-@COND_ia64_efi_TRUE@am__append_4840 = efi_gop.module +-@COND_ia64_efi_TRUE@am__append_4841 = efi_gop.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_4842 = +-@COND_ia64_efi_TRUE@am__append_4843 = $(nodist_efi_gop_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_4844 = \ ++@COND_x86_64_efi_TRUE@am__append_4831 = efi_gop.mod ++@COND_x86_64_efi_TRUE@am__append_4832 = efi_gop.marker ++@COND_ia64_efi_TRUE@am__append_4833 = efi_gop.module ++@COND_ia64_efi_TRUE@am__append_4834 = efi_gop.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_4835 = ++@COND_ia64_efi_TRUE@am__append_4836 = $(nodist_efi_gop_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_4837 = \ + @COND_ia64_efi_TRUE@ $(nodist_efi_gop_module_SOURCES) \ + @COND_ia64_efi_TRUE@ efi_gop.marker +-@COND_ia64_efi_TRUE@am__append_4845 = efi_gop.mod +-@COND_ia64_efi_TRUE@am__append_4846 = efi_gop.marker +-@COND_arm_efi_TRUE@am__append_4847 = efi_gop.module +-@COND_arm_efi_TRUE@am__append_4848 = efi_gop.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_4849 = +-@COND_arm_efi_TRUE@am__append_4850 = $(nodist_efi_gop_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_4851 = $(nodist_efi_gop_module_SOURCES) \ ++@COND_ia64_efi_TRUE@am__append_4838 = efi_gop.mod ++@COND_ia64_efi_TRUE@am__append_4839 = efi_gop.marker ++@COND_arm_efi_TRUE@am__append_4840 = efi_gop.module ++@COND_arm_efi_TRUE@am__append_4841 = efi_gop.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_4842 = ++@COND_arm_efi_TRUE@am__append_4843 = $(nodist_efi_gop_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_4844 = $(nodist_efi_gop_module_SOURCES) \ + @COND_arm_efi_TRUE@ efi_gop.marker +-@COND_arm_efi_TRUE@am__append_4852 = efi_gop.mod +-@COND_arm_efi_TRUE@am__append_4853 = efi_gop.marker +-@COND_arm64_efi_TRUE@am__append_4854 = efi_gop.module +-@COND_arm64_efi_TRUE@am__append_4855 = efi_gop.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_4856 = +-@COND_arm64_efi_TRUE@am__append_4857 = $(nodist_efi_gop_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_4858 = \ ++@COND_arm_efi_TRUE@am__append_4845 = efi_gop.mod ++@COND_arm_efi_TRUE@am__append_4846 = efi_gop.marker ++@COND_arm64_efi_TRUE@am__append_4847 = efi_gop.module ++@COND_arm64_efi_TRUE@am__append_4848 = efi_gop.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_4849 = ++@COND_arm64_efi_TRUE@am__append_4850 = $(nodist_efi_gop_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_4851 = \ + @COND_arm64_efi_TRUE@ $(nodist_efi_gop_module_SOURCES) \ + @COND_arm64_efi_TRUE@ efi_gop.marker +-@COND_arm64_efi_TRUE@am__append_4859 = efi_gop.mod +-@COND_arm64_efi_TRUE@am__append_4860 = efi_gop.marker +-@COND_riscv32_efi_TRUE@am__append_4861 = efi_gop.module +-@COND_riscv32_efi_TRUE@am__append_4862 = efi_gop.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_4863 = +-@COND_riscv32_efi_TRUE@am__append_4864 = $(nodist_efi_gop_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_4865 = \ ++@COND_arm64_efi_TRUE@am__append_4852 = efi_gop.mod ++@COND_arm64_efi_TRUE@am__append_4853 = efi_gop.marker ++@COND_riscv32_efi_TRUE@am__append_4854 = efi_gop.module ++@COND_riscv32_efi_TRUE@am__append_4855 = efi_gop.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_4856 = ++@COND_riscv32_efi_TRUE@am__append_4857 = $(nodist_efi_gop_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_4858 = \ + @COND_riscv32_efi_TRUE@ $(nodist_efi_gop_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ efi_gop.marker +-@COND_riscv32_efi_TRUE@am__append_4866 = efi_gop.mod +-@COND_riscv32_efi_TRUE@am__append_4867 = efi_gop.marker +-@COND_riscv64_efi_TRUE@am__append_4868 = efi_gop.module +-@COND_riscv64_efi_TRUE@am__append_4869 = efi_gop.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_4870 = +-@COND_riscv64_efi_TRUE@am__append_4871 = $(nodist_efi_gop_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_4872 = \ ++@COND_riscv32_efi_TRUE@am__append_4859 = efi_gop.mod ++@COND_riscv32_efi_TRUE@am__append_4860 = efi_gop.marker ++@COND_riscv64_efi_TRUE@am__append_4861 = efi_gop.module ++@COND_riscv64_efi_TRUE@am__append_4862 = efi_gop.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4863 = ++@COND_riscv64_efi_TRUE@am__append_4864 = $(nodist_efi_gop_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_4865 = \ + @COND_riscv64_efi_TRUE@ $(nodist_efi_gop_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ efi_gop.marker +-@COND_riscv64_efi_TRUE@am__append_4873 = efi_gop.mod +-@COND_riscv64_efi_TRUE@am__append_4874 = efi_gop.marker +-@COND_i386_efi_TRUE@am__append_4875 = efi_uga.module +-@COND_i386_efi_TRUE@am__append_4876 = efi_uga.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_4866 = efi_gop.mod ++@COND_riscv64_efi_TRUE@am__append_4867 = efi_gop.marker ++@COND_i386_efi_TRUE@am__append_4868 = efi_uga.module ++@COND_i386_efi_TRUE@am__append_4869 = efi_uga.module$(EXEEXT) + @COND_i386_efi_FALSE@@COND_x86_64_efi_FALSE@efi_uga_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_4877 = +-@COND_i386_efi_TRUE@am__append_4878 = $(nodist_efi_uga_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4879 = \ ++@COND_i386_efi_TRUE@am__append_4870 = ++@COND_i386_efi_TRUE@am__append_4871 = $(nodist_efi_uga_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4872 = \ + @COND_i386_efi_TRUE@ $(nodist_efi_uga_module_SOURCES) \ + @COND_i386_efi_TRUE@ efi_uga.marker +-@COND_i386_efi_TRUE@am__append_4880 = efi_uga.mod +-@COND_i386_efi_TRUE@am__append_4881 = efi_uga.marker +-@COND_x86_64_efi_TRUE@am__append_4882 = efi_uga.module +-@COND_x86_64_efi_TRUE@am__append_4883 = efi_uga.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4884 = +-@COND_x86_64_efi_TRUE@am__append_4885 = $(nodist_efi_uga_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4886 = \ ++@COND_i386_efi_TRUE@am__append_4873 = efi_uga.mod ++@COND_i386_efi_TRUE@am__append_4874 = efi_uga.marker ++@COND_x86_64_efi_TRUE@am__append_4875 = efi_uga.module ++@COND_x86_64_efi_TRUE@am__append_4876 = efi_uga.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4877 = ++@COND_x86_64_efi_TRUE@am__append_4878 = $(nodist_efi_uga_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4879 = \ + @COND_x86_64_efi_TRUE@ $(nodist_efi_uga_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ efi_uga.marker +-@COND_x86_64_efi_TRUE@am__append_4887 = efi_uga.mod +-@COND_x86_64_efi_TRUE@am__append_4888 = efi_uga.marker +-@COND_i386_pc_TRUE@am__append_4889 = vbe.module +-@COND_i386_pc_TRUE@am__append_4890 = vbe.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4880 = efi_uga.mod ++@COND_x86_64_efi_TRUE@am__append_4881 = efi_uga.marker ++@COND_i386_pc_TRUE@am__append_4882 = vbe.module ++@COND_i386_pc_TRUE@am__append_4883 = vbe.module$(EXEEXT) + @COND_i386_pc_FALSE@vbe_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_4891 = +-@COND_i386_pc_TRUE@am__append_4892 = $(nodist_vbe_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4893 = $(nodist_vbe_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_4884 = ++@COND_i386_pc_TRUE@am__append_4885 = $(nodist_vbe_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4886 = $(nodist_vbe_module_SOURCES) \ + @COND_i386_pc_TRUE@ vbe.marker +-@COND_i386_pc_TRUE@am__append_4894 = vbe.mod +-@COND_i386_pc_TRUE@am__append_4895 = vbe.marker +-@COND_emu_TRUE@am__append_4896 = video_fb.module +-@COND_emu_TRUE@am__append_4897 = video_fb.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_4887 = vbe.mod ++@COND_i386_pc_TRUE@am__append_4888 = vbe.marker ++@COND_emu_TRUE@am__append_4889 = video_fb.module ++@COND_emu_TRUE@am__append_4890 = video_fb.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@video_fb_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_4898 = +-@COND_emu_TRUE@am__append_4899 = $(nodist_video_fb_module_SOURCES) +-@COND_emu_TRUE@am__append_4900 = $(nodist_video_fb_module_SOURCES) \ ++@COND_emu_TRUE@am__append_4891 = ++@COND_emu_TRUE@am__append_4892 = $(nodist_video_fb_module_SOURCES) ++@COND_emu_TRUE@am__append_4893 = $(nodist_video_fb_module_SOURCES) \ + @COND_emu_TRUE@ video_fb.marker +-@COND_emu_TRUE@am__append_4901 = video_fb.mod +-@COND_emu_TRUE@am__append_4902 = video_fb.marker +-@COND_i386_pc_TRUE@am__append_4903 = video_fb.module +-@COND_i386_pc_TRUE@am__append_4904 = video_fb.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_4905 = +-@COND_i386_pc_TRUE@am__append_4906 = $(nodist_video_fb_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_4907 = \ ++@COND_emu_TRUE@am__append_4894 = video_fb.mod ++@COND_emu_TRUE@am__append_4895 = video_fb.marker ++@COND_i386_pc_TRUE@am__append_4896 = video_fb.module ++@COND_i386_pc_TRUE@am__append_4897 = video_fb.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_4898 = ++@COND_i386_pc_TRUE@am__append_4899 = $(nodist_video_fb_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_4900 = \ + @COND_i386_pc_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_i386_pc_TRUE@ video_fb.marker +-@COND_i386_pc_TRUE@am__append_4908 = video_fb.mod +-@COND_i386_pc_TRUE@am__append_4909 = video_fb.marker +-@COND_i386_efi_TRUE@am__append_4910 = video_fb.module +-@COND_i386_efi_TRUE@am__append_4911 = video_fb.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_4912 = +-@COND_i386_efi_TRUE@am__append_4913 = $(nodist_video_fb_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_4914 = \ ++@COND_i386_pc_TRUE@am__append_4901 = video_fb.mod ++@COND_i386_pc_TRUE@am__append_4902 = video_fb.marker ++@COND_i386_efi_TRUE@am__append_4903 = video_fb.module ++@COND_i386_efi_TRUE@am__append_4904 = video_fb.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_4905 = ++@COND_i386_efi_TRUE@am__append_4906 = $(nodist_video_fb_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_4907 = \ + @COND_i386_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_i386_efi_TRUE@ video_fb.marker +-@COND_i386_efi_TRUE@am__append_4915 = video_fb.mod +-@COND_i386_efi_TRUE@am__append_4916 = video_fb.marker +-@COND_i386_qemu_TRUE@am__append_4917 = video_fb.module +-@COND_i386_qemu_TRUE@am__append_4918 = video_fb.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_4919 = +-@COND_i386_qemu_TRUE@am__append_4920 = $(nodist_video_fb_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_4921 = \ ++@COND_i386_efi_TRUE@am__append_4908 = video_fb.mod ++@COND_i386_efi_TRUE@am__append_4909 = video_fb.marker ++@COND_i386_qemu_TRUE@am__append_4910 = video_fb.module ++@COND_i386_qemu_TRUE@am__append_4911 = video_fb.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_4912 = ++@COND_i386_qemu_TRUE@am__append_4913 = $(nodist_video_fb_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_4914 = \ + @COND_i386_qemu_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_i386_qemu_TRUE@ video_fb.marker +-@COND_i386_qemu_TRUE@am__append_4922 = video_fb.mod +-@COND_i386_qemu_TRUE@am__append_4923 = video_fb.marker +-@COND_i386_multiboot_TRUE@am__append_4924 = video_fb.module +-@COND_i386_multiboot_TRUE@am__append_4925 = video_fb.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_4926 = +-@COND_i386_multiboot_TRUE@am__append_4927 = $(nodist_video_fb_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_4928 = \ ++@COND_i386_qemu_TRUE@am__append_4915 = video_fb.mod ++@COND_i386_qemu_TRUE@am__append_4916 = video_fb.marker ++@COND_i386_multiboot_TRUE@am__append_4917 = video_fb.module ++@COND_i386_multiboot_TRUE@am__append_4918 = video_fb.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_4919 = ++@COND_i386_multiboot_TRUE@am__append_4920 = $(nodist_video_fb_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_4921 = \ + @COND_i386_multiboot_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ video_fb.marker +-@COND_i386_multiboot_TRUE@am__append_4929 = video_fb.mod +-@COND_i386_multiboot_TRUE@am__append_4930 = video_fb.marker +-@COND_i386_ieee1275_TRUE@am__append_4931 = video_fb.module +-@COND_i386_ieee1275_TRUE@am__append_4932 = video_fb.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_4933 = +-@COND_i386_ieee1275_TRUE@am__append_4934 = $(nodist_video_fb_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_4935 = \ ++@COND_i386_multiboot_TRUE@am__append_4922 = video_fb.mod ++@COND_i386_multiboot_TRUE@am__append_4923 = video_fb.marker ++@COND_i386_ieee1275_TRUE@am__append_4924 = video_fb.module ++@COND_i386_ieee1275_TRUE@am__append_4925 = video_fb.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_4926 = ++@COND_i386_ieee1275_TRUE@am__append_4927 = $(nodist_video_fb_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_4928 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ video_fb.marker +-@COND_i386_ieee1275_TRUE@am__append_4936 = video_fb.mod +-@COND_i386_ieee1275_TRUE@am__append_4937 = video_fb.marker +-@COND_x86_64_efi_TRUE@am__append_4938 = video_fb.module +-@COND_x86_64_efi_TRUE@am__append_4939 = video_fb.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_4940 = +-@COND_x86_64_efi_TRUE@am__append_4941 = $(nodist_video_fb_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_4942 = \ ++@COND_i386_ieee1275_TRUE@am__append_4929 = video_fb.mod ++@COND_i386_ieee1275_TRUE@am__append_4930 = video_fb.marker ++@COND_x86_64_efi_TRUE@am__append_4931 = video_fb.module ++@COND_x86_64_efi_TRUE@am__append_4932 = video_fb.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_4933 = ++@COND_x86_64_efi_TRUE@am__append_4934 = $(nodist_video_fb_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_4935 = \ + @COND_x86_64_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ video_fb.marker +-@COND_x86_64_efi_TRUE@am__append_4943 = video_fb.mod +-@COND_x86_64_efi_TRUE@am__append_4944 = video_fb.marker +-@COND_i386_xen_TRUE@am__append_4945 = video_fb.module +-@COND_i386_xen_TRUE@am__append_4946 = video_fb.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_4947 = +-@COND_i386_xen_TRUE@am__append_4948 = $(nodist_video_fb_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_4949 = \ ++@COND_x86_64_efi_TRUE@am__append_4936 = video_fb.mod ++@COND_x86_64_efi_TRUE@am__append_4937 = video_fb.marker ++@COND_i386_xen_TRUE@am__append_4938 = video_fb.module ++@COND_i386_xen_TRUE@am__append_4939 = video_fb.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_4940 = ++@COND_i386_xen_TRUE@am__append_4941 = $(nodist_video_fb_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_4942 = \ + @COND_i386_xen_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_i386_xen_TRUE@ video_fb.marker +-@COND_i386_xen_TRUE@am__append_4950 = video_fb.mod +-@COND_i386_xen_TRUE@am__append_4951 = video_fb.marker +-@COND_x86_64_xen_TRUE@am__append_4952 = video_fb.module +-@COND_x86_64_xen_TRUE@am__append_4953 = video_fb.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_4954 = +-@COND_x86_64_xen_TRUE@am__append_4955 = $(nodist_video_fb_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_4956 = \ ++@COND_i386_xen_TRUE@am__append_4943 = video_fb.mod ++@COND_i386_xen_TRUE@am__append_4944 = video_fb.marker ++@COND_x86_64_xen_TRUE@am__append_4945 = video_fb.module ++@COND_x86_64_xen_TRUE@am__append_4946 = video_fb.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_4947 = ++@COND_x86_64_xen_TRUE@am__append_4948 = $(nodist_video_fb_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_4949 = \ + @COND_x86_64_xen_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ video_fb.marker +-@COND_x86_64_xen_TRUE@am__append_4957 = video_fb.mod +-@COND_x86_64_xen_TRUE@am__append_4958 = video_fb.marker +-@COND_i386_xen_pvh_TRUE@am__append_4959 = video_fb.module +-@COND_i386_xen_pvh_TRUE@am__append_4960 = video_fb.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_4961 = +-@COND_i386_xen_pvh_TRUE@am__append_4962 = $(nodist_video_fb_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_4963 = \ ++@COND_x86_64_xen_TRUE@am__append_4950 = video_fb.mod ++@COND_x86_64_xen_TRUE@am__append_4951 = video_fb.marker ++@COND_i386_xen_pvh_TRUE@am__append_4952 = video_fb.module ++@COND_i386_xen_pvh_TRUE@am__append_4953 = video_fb.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_4954 = ++@COND_i386_xen_pvh_TRUE@am__append_4955 = $(nodist_video_fb_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_4956 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ video_fb.marker +-@COND_i386_xen_pvh_TRUE@am__append_4964 = video_fb.mod +-@COND_i386_xen_pvh_TRUE@am__append_4965 = video_fb.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4966 = video_fb.module +-@COND_sparc64_ieee1275_TRUE@am__append_4967 = video_fb.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_4968 = +-@COND_sparc64_ieee1275_TRUE@am__append_4969 = $(nodist_video_fb_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_4970 = \ ++@COND_i386_xen_pvh_TRUE@am__append_4957 = video_fb.mod ++@COND_i386_xen_pvh_TRUE@am__append_4958 = video_fb.marker ++@COND_sparc64_ieee1275_TRUE@am__append_4959 = video_fb.module ++@COND_sparc64_ieee1275_TRUE@am__append_4960 = video_fb.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_4961 = ++@COND_sparc64_ieee1275_TRUE@am__append_4962 = $(nodist_video_fb_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_4963 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ video_fb.marker +-@COND_sparc64_ieee1275_TRUE@am__append_4971 = video_fb.mod +-@COND_sparc64_ieee1275_TRUE@am__append_4972 = video_fb.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4973 = video_fb.module +-@COND_powerpc_ieee1275_TRUE@am__append_4974 = video_fb.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_4975 = +-@COND_powerpc_ieee1275_TRUE@am__append_4976 = $(nodist_video_fb_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_4977 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_4964 = video_fb.mod ++@COND_sparc64_ieee1275_TRUE@am__append_4965 = video_fb.marker ++@COND_powerpc_ieee1275_TRUE@am__append_4966 = video_fb.module ++@COND_powerpc_ieee1275_TRUE@am__append_4967 = video_fb.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_4968 = ++@COND_powerpc_ieee1275_TRUE@am__append_4969 = $(nodist_video_fb_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_4970 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ video_fb.marker +-@COND_powerpc_ieee1275_TRUE@am__append_4978 = video_fb.mod +-@COND_powerpc_ieee1275_TRUE@am__append_4979 = video_fb.marker +-@COND_mips_arc_TRUE@am__append_4980 = video_fb.module +-@COND_mips_arc_TRUE@am__append_4981 = video_fb.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_4982 = +-@COND_mips_arc_TRUE@am__append_4983 = $(nodist_video_fb_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_4984 = \ ++@COND_powerpc_ieee1275_TRUE@am__append_4971 = video_fb.mod ++@COND_powerpc_ieee1275_TRUE@am__append_4972 = video_fb.marker ++@COND_mips_arc_TRUE@am__append_4973 = video_fb.module ++@COND_mips_arc_TRUE@am__append_4974 = video_fb.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_4975 = ++@COND_mips_arc_TRUE@am__append_4976 = $(nodist_video_fb_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_4977 = \ + @COND_mips_arc_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_mips_arc_TRUE@ video_fb.marker +-@COND_mips_arc_TRUE@am__append_4985 = video_fb.mod +-@COND_mips_arc_TRUE@am__append_4986 = video_fb.marker +-@COND_ia64_efi_TRUE@am__append_4987 = video_fb.module +-@COND_ia64_efi_TRUE@am__append_4988 = video_fb.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_4989 = +-@COND_ia64_efi_TRUE@am__append_4990 = $(nodist_video_fb_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_4991 = \ ++@COND_mips_arc_TRUE@am__append_4978 = video_fb.mod ++@COND_mips_arc_TRUE@am__append_4979 = video_fb.marker ++@COND_ia64_efi_TRUE@am__append_4980 = video_fb.module ++@COND_ia64_efi_TRUE@am__append_4981 = video_fb.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_4982 = ++@COND_ia64_efi_TRUE@am__append_4983 = $(nodist_video_fb_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_4984 = \ + @COND_ia64_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_ia64_efi_TRUE@ video_fb.marker +-@COND_ia64_efi_TRUE@am__append_4992 = video_fb.mod +-@COND_ia64_efi_TRUE@am__append_4993 = video_fb.marker +-@COND_mips_qemu_mips_TRUE@am__append_4994 = video_fb.module +-@COND_mips_qemu_mips_TRUE@am__append_4995 = video_fb.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_4996 = +-@COND_mips_qemu_mips_TRUE@am__append_4997 = $(nodist_video_fb_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_4998 = \ ++@COND_ia64_efi_TRUE@am__append_4985 = video_fb.mod ++@COND_ia64_efi_TRUE@am__append_4986 = video_fb.marker ++@COND_mips_qemu_mips_TRUE@am__append_4987 = video_fb.module ++@COND_mips_qemu_mips_TRUE@am__append_4988 = video_fb.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_4989 = ++@COND_mips_qemu_mips_TRUE@am__append_4990 = $(nodist_video_fb_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_4991 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ video_fb.marker +-@COND_mips_qemu_mips_TRUE@am__append_4999 = video_fb.mod +-@COND_mips_qemu_mips_TRUE@am__append_5000 = video_fb.marker +-@COND_arm_uboot_TRUE@am__append_5001 = video_fb.module +-@COND_arm_uboot_TRUE@am__append_5002 = video_fb.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__append_5003 = +-@COND_arm_uboot_TRUE@am__append_5004 = $(nodist_video_fb_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_5005 = \ ++@COND_mips_qemu_mips_TRUE@am__append_4992 = video_fb.mod ++@COND_mips_qemu_mips_TRUE@am__append_4993 = video_fb.marker ++@COND_arm_uboot_TRUE@am__append_4994 = video_fb.module ++@COND_arm_uboot_TRUE@am__append_4995 = video_fb.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_4996 = ++@COND_arm_uboot_TRUE@am__append_4997 = $(nodist_video_fb_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_4998 = \ + @COND_arm_uboot_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_arm_uboot_TRUE@ video_fb.marker +-@COND_arm_uboot_TRUE@am__append_5006 = video_fb.mod +-@COND_arm_uboot_TRUE@am__append_5007 = video_fb.marker +-@COND_arm_efi_TRUE@am__append_5008 = video_fb.module +-@COND_arm_efi_TRUE@am__append_5009 = video_fb.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_5010 = +-@COND_arm_efi_TRUE@am__append_5011 = $(nodist_video_fb_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_5012 = \ ++@COND_arm_uboot_TRUE@am__append_4999 = video_fb.mod ++@COND_arm_uboot_TRUE@am__append_5000 = video_fb.marker ++@COND_arm_efi_TRUE@am__append_5001 = video_fb.module ++@COND_arm_efi_TRUE@am__append_5002 = video_fb.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_5003 = ++@COND_arm_efi_TRUE@am__append_5004 = $(nodist_video_fb_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_5005 = \ + @COND_arm_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_arm_efi_TRUE@ video_fb.marker +-@COND_arm_efi_TRUE@am__append_5013 = video_fb.mod +-@COND_arm_efi_TRUE@am__append_5014 = video_fb.marker +-@COND_arm64_efi_TRUE@am__append_5015 = video_fb.module +-@COND_arm64_efi_TRUE@am__append_5016 = video_fb.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_5017 = +-@COND_arm64_efi_TRUE@am__append_5018 = $(nodist_video_fb_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_5019 = \ ++@COND_arm_efi_TRUE@am__append_5006 = video_fb.mod ++@COND_arm_efi_TRUE@am__append_5007 = video_fb.marker ++@COND_arm64_efi_TRUE@am__append_5008 = video_fb.module ++@COND_arm64_efi_TRUE@am__append_5009 = video_fb.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_5010 = ++@COND_arm64_efi_TRUE@am__append_5011 = $(nodist_video_fb_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_5012 = \ + @COND_arm64_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_arm64_efi_TRUE@ video_fb.marker +-@COND_arm64_efi_TRUE@am__append_5020 = video_fb.mod +-@COND_arm64_efi_TRUE@am__append_5021 = video_fb.marker +-@COND_riscv32_efi_TRUE@am__append_5022 = video_fb.module +-@COND_riscv32_efi_TRUE@am__append_5023 = video_fb.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_5024 = +-@COND_riscv32_efi_TRUE@am__append_5025 = $(nodist_video_fb_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_5026 = \ ++@COND_arm64_efi_TRUE@am__append_5013 = video_fb.mod ++@COND_arm64_efi_TRUE@am__append_5014 = video_fb.marker ++@COND_riscv32_efi_TRUE@am__append_5015 = video_fb.module ++@COND_riscv32_efi_TRUE@am__append_5016 = video_fb.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_5017 = ++@COND_riscv32_efi_TRUE@am__append_5018 = $(nodist_video_fb_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_5019 = \ + @COND_riscv32_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ video_fb.marker +-@COND_riscv32_efi_TRUE@am__append_5027 = video_fb.mod +-@COND_riscv32_efi_TRUE@am__append_5028 = video_fb.marker +-@COND_riscv64_efi_TRUE@am__append_5029 = video_fb.module +-@COND_riscv64_efi_TRUE@am__append_5030 = video_fb.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_5031 = +-@COND_riscv64_efi_TRUE@am__append_5032 = $(nodist_video_fb_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_5033 = \ ++@COND_riscv32_efi_TRUE@am__append_5020 = video_fb.mod ++@COND_riscv32_efi_TRUE@am__append_5021 = video_fb.marker ++@COND_riscv64_efi_TRUE@am__append_5022 = video_fb.module ++@COND_riscv64_efi_TRUE@am__append_5023 = video_fb.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_5024 = ++@COND_riscv64_efi_TRUE@am__append_5025 = $(nodist_video_fb_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_5026 = \ + @COND_riscv64_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ video_fb.marker +-@COND_riscv64_efi_TRUE@am__append_5034 = video_fb.mod +-@COND_riscv64_efi_TRUE@am__append_5035 = video_fb.marker +-@COND_emu_TRUE@am__append_5036 = video.module +-@COND_emu_TRUE@am__append_5037 = video.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_5027 = video_fb.mod ++@COND_riscv64_efi_TRUE@am__append_5028 = video_fb.marker ++@COND_emu_TRUE@am__append_5029 = video.module ++@COND_emu_TRUE@am__append_5030 = video.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@video_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_5038 = +-@COND_emu_TRUE@am__append_5039 = $(nodist_video_module_SOURCES) +-@COND_emu_TRUE@am__append_5040 = $(nodist_video_module_SOURCES) \ ++@COND_emu_TRUE@am__append_5031 = ++@COND_emu_TRUE@am__append_5032 = $(nodist_video_module_SOURCES) ++@COND_emu_TRUE@am__append_5033 = $(nodist_video_module_SOURCES) \ + @COND_emu_TRUE@ video.marker +-@COND_emu_TRUE@am__append_5041 = video.mod +-@COND_emu_TRUE@am__append_5042 = video.marker +-@COND_i386_pc_TRUE@am__append_5043 = video.module +-@COND_i386_pc_TRUE@am__append_5044 = video.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_5045 = +-@COND_i386_pc_TRUE@am__append_5046 = $(nodist_video_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_5047 = $(nodist_video_module_SOURCES) \ ++@COND_emu_TRUE@am__append_5034 = video.mod ++@COND_emu_TRUE@am__append_5035 = video.marker ++@COND_i386_pc_TRUE@am__append_5036 = video.module ++@COND_i386_pc_TRUE@am__append_5037 = video.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_5038 = ++@COND_i386_pc_TRUE@am__append_5039 = $(nodist_video_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_5040 = $(nodist_video_module_SOURCES) \ + @COND_i386_pc_TRUE@ video.marker +-@COND_i386_pc_TRUE@am__append_5048 = video.mod +-@COND_i386_pc_TRUE@am__append_5049 = video.marker +-@COND_i386_efi_TRUE@am__append_5050 = video.module +-@COND_i386_efi_TRUE@am__append_5051 = video.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_5052 = +-@COND_i386_efi_TRUE@am__append_5053 = $(nodist_video_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5054 = $(nodist_video_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5041 = video.mod ++@COND_i386_pc_TRUE@am__append_5042 = video.marker ++@COND_i386_efi_TRUE@am__append_5043 = video.module ++@COND_i386_efi_TRUE@am__append_5044 = video.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_5045 = ++@COND_i386_efi_TRUE@am__append_5046 = $(nodist_video_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5047 = $(nodist_video_module_SOURCES) \ + @COND_i386_efi_TRUE@ video.marker +-@COND_i386_efi_TRUE@am__append_5055 = video.mod +-@COND_i386_efi_TRUE@am__append_5056 = video.marker +-@COND_i386_qemu_TRUE@am__append_5057 = video.module +-@COND_i386_qemu_TRUE@am__append_5058 = video.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_5059 = +-@COND_i386_qemu_TRUE@am__append_5060 = $(nodist_video_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5061 = $(nodist_video_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_5048 = video.mod ++@COND_i386_efi_TRUE@am__append_5049 = video.marker ++@COND_i386_qemu_TRUE@am__append_5050 = video.module ++@COND_i386_qemu_TRUE@am__append_5051 = video.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_5052 = ++@COND_i386_qemu_TRUE@am__append_5053 = $(nodist_video_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5054 = $(nodist_video_module_SOURCES) \ + @COND_i386_qemu_TRUE@ video.marker +-@COND_i386_qemu_TRUE@am__append_5062 = video.mod +-@COND_i386_qemu_TRUE@am__append_5063 = video.marker +-@COND_i386_multiboot_TRUE@am__append_5064 = video.module +-@COND_i386_multiboot_TRUE@am__append_5065 = video.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_5066 = +-@COND_i386_multiboot_TRUE@am__append_5067 = $(nodist_video_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_5068 = \ ++@COND_i386_qemu_TRUE@am__append_5055 = video.mod ++@COND_i386_qemu_TRUE@am__append_5056 = video.marker ++@COND_i386_multiboot_TRUE@am__append_5057 = video.module ++@COND_i386_multiboot_TRUE@am__append_5058 = video.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_5059 = ++@COND_i386_multiboot_TRUE@am__append_5060 = $(nodist_video_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_5061 = \ + @COND_i386_multiboot_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ video.marker +-@COND_i386_multiboot_TRUE@am__append_5069 = video.mod +-@COND_i386_multiboot_TRUE@am__append_5070 = video.marker +-@COND_i386_ieee1275_TRUE@am__append_5071 = video.module +-@COND_i386_ieee1275_TRUE@am__append_5072 = video.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_5073 = +-@COND_i386_ieee1275_TRUE@am__append_5074 = $(nodist_video_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5075 = \ ++@COND_i386_multiboot_TRUE@am__append_5062 = video.mod ++@COND_i386_multiboot_TRUE@am__append_5063 = video.marker ++@COND_i386_ieee1275_TRUE@am__append_5064 = video.module ++@COND_i386_ieee1275_TRUE@am__append_5065 = video.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_5066 = ++@COND_i386_ieee1275_TRUE@am__append_5067 = $(nodist_video_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5068 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ video.marker +-@COND_i386_ieee1275_TRUE@am__append_5076 = video.mod +-@COND_i386_ieee1275_TRUE@am__append_5077 = video.marker +-@COND_x86_64_efi_TRUE@am__append_5078 = video.module +-@COND_x86_64_efi_TRUE@am__append_5079 = video.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_5080 = +-@COND_x86_64_efi_TRUE@am__append_5081 = $(nodist_video_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5082 = \ ++@COND_i386_ieee1275_TRUE@am__append_5069 = video.mod ++@COND_i386_ieee1275_TRUE@am__append_5070 = video.marker ++@COND_x86_64_efi_TRUE@am__append_5071 = video.module ++@COND_x86_64_efi_TRUE@am__append_5072 = video.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5073 = ++@COND_x86_64_efi_TRUE@am__append_5074 = $(nodist_video_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5075 = \ + @COND_x86_64_efi_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ video.marker +-@COND_x86_64_efi_TRUE@am__append_5083 = video.mod +-@COND_x86_64_efi_TRUE@am__append_5084 = video.marker +-@COND_i386_xen_TRUE@am__append_5085 = video.module +-@COND_i386_xen_TRUE@am__append_5086 = video.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_5087 = +-@COND_i386_xen_TRUE@am__append_5088 = $(nodist_video_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_5089 = $(nodist_video_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_5076 = video.mod ++@COND_x86_64_efi_TRUE@am__append_5077 = video.marker ++@COND_i386_xen_TRUE@am__append_5078 = video.module ++@COND_i386_xen_TRUE@am__append_5079 = video.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_5080 = ++@COND_i386_xen_TRUE@am__append_5081 = $(nodist_video_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_5082 = $(nodist_video_module_SOURCES) \ + @COND_i386_xen_TRUE@ video.marker +-@COND_i386_xen_TRUE@am__append_5090 = video.mod +-@COND_i386_xen_TRUE@am__append_5091 = video.marker +-@COND_x86_64_xen_TRUE@am__append_5092 = video.module +-@COND_x86_64_xen_TRUE@am__append_5093 = video.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_5094 = +-@COND_x86_64_xen_TRUE@am__append_5095 = $(nodist_video_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_5096 = \ ++@COND_i386_xen_TRUE@am__append_5083 = video.mod ++@COND_i386_xen_TRUE@am__append_5084 = video.marker ++@COND_x86_64_xen_TRUE@am__append_5085 = video.module ++@COND_x86_64_xen_TRUE@am__append_5086 = video.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_5087 = ++@COND_x86_64_xen_TRUE@am__append_5088 = $(nodist_video_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_5089 = \ + @COND_x86_64_xen_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ video.marker +-@COND_x86_64_xen_TRUE@am__append_5097 = video.mod +-@COND_x86_64_xen_TRUE@am__append_5098 = video.marker +-@COND_i386_xen_pvh_TRUE@am__append_5099 = video.module +-@COND_i386_xen_pvh_TRUE@am__append_5100 = video.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_5101 = +-@COND_i386_xen_pvh_TRUE@am__append_5102 = $(nodist_video_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_5103 = \ ++@COND_x86_64_xen_TRUE@am__append_5090 = video.mod ++@COND_x86_64_xen_TRUE@am__append_5091 = video.marker ++@COND_i386_xen_pvh_TRUE@am__append_5092 = video.module ++@COND_i386_xen_pvh_TRUE@am__append_5093 = video.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_5094 = ++@COND_i386_xen_pvh_TRUE@am__append_5095 = $(nodist_video_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_5096 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ video.marker +-@COND_i386_xen_pvh_TRUE@am__append_5104 = video.mod +-@COND_i386_xen_pvh_TRUE@am__append_5105 = video.marker +-@COND_sparc64_ieee1275_TRUE@am__append_5106 = video.module +-@COND_sparc64_ieee1275_TRUE@am__append_5107 = video.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_5108 = +-@COND_sparc64_ieee1275_TRUE@am__append_5109 = $(nodist_video_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_5110 = \ ++@COND_i386_xen_pvh_TRUE@am__append_5097 = video.mod ++@COND_i386_xen_pvh_TRUE@am__append_5098 = video.marker ++@COND_sparc64_ieee1275_TRUE@am__append_5099 = video.module ++@COND_sparc64_ieee1275_TRUE@am__append_5100 = video.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_5101 = ++@COND_sparc64_ieee1275_TRUE@am__append_5102 = $(nodist_video_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_5103 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ video.marker +-@COND_sparc64_ieee1275_TRUE@am__append_5111 = video.mod +-@COND_sparc64_ieee1275_TRUE@am__append_5112 = video.marker +-@COND_powerpc_ieee1275_TRUE@am__append_5113 = video.module +-@COND_powerpc_ieee1275_TRUE@am__append_5114 = video.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_5115 = +-@COND_powerpc_ieee1275_TRUE@am__append_5116 = $(nodist_video_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_5117 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_5104 = video.mod ++@COND_sparc64_ieee1275_TRUE@am__append_5105 = video.marker ++@COND_powerpc_ieee1275_TRUE@am__append_5106 = video.module ++@COND_powerpc_ieee1275_TRUE@am__append_5107 = video.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_5108 = ++@COND_powerpc_ieee1275_TRUE@am__append_5109 = $(nodist_video_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_5110 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ video.marker +-@COND_powerpc_ieee1275_TRUE@am__append_5118 = video.mod +-@COND_powerpc_ieee1275_TRUE@am__append_5119 = video.marker +-@COND_mips_arc_TRUE@am__append_5120 = video.module +-@COND_mips_arc_TRUE@am__append_5121 = video.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__append_5122 = +-@COND_mips_arc_TRUE@am__append_5123 = $(nodist_video_module_SOURCES) +-@COND_mips_arc_TRUE@am__append_5124 = $(nodist_video_module_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_5111 = video.mod ++@COND_powerpc_ieee1275_TRUE@am__append_5112 = video.marker ++@COND_mips_arc_TRUE@am__append_5113 = video.module ++@COND_mips_arc_TRUE@am__append_5114 = video.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__append_5115 = ++@COND_mips_arc_TRUE@am__append_5116 = $(nodist_video_module_SOURCES) ++@COND_mips_arc_TRUE@am__append_5117 = $(nodist_video_module_SOURCES) \ + @COND_mips_arc_TRUE@ video.marker +-@COND_mips_arc_TRUE@am__append_5125 = video.mod +-@COND_mips_arc_TRUE@am__append_5126 = video.marker +-@COND_ia64_efi_TRUE@am__append_5127 = video.module +-@COND_ia64_efi_TRUE@am__append_5128 = video.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_5129 = +-@COND_ia64_efi_TRUE@am__append_5130 = $(nodist_video_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_5131 = $(nodist_video_module_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_5118 = video.mod ++@COND_mips_arc_TRUE@am__append_5119 = video.marker ++@COND_ia64_efi_TRUE@am__append_5120 = video.module ++@COND_ia64_efi_TRUE@am__append_5121 = video.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_5122 = ++@COND_ia64_efi_TRUE@am__append_5123 = $(nodist_video_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_5124 = $(nodist_video_module_SOURCES) \ + @COND_ia64_efi_TRUE@ video.marker +-@COND_ia64_efi_TRUE@am__append_5132 = video.mod +-@COND_ia64_efi_TRUE@am__append_5133 = video.marker +-@COND_mips_qemu_mips_TRUE@am__append_5134 = video.module +-@COND_mips_qemu_mips_TRUE@am__append_5135 = video.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__append_5136 = +-@COND_mips_qemu_mips_TRUE@am__append_5137 = $(nodist_video_module_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_5138 = \ ++@COND_ia64_efi_TRUE@am__append_5125 = video.mod ++@COND_ia64_efi_TRUE@am__append_5126 = video.marker ++@COND_mips_qemu_mips_TRUE@am__append_5127 = video.module ++@COND_mips_qemu_mips_TRUE@am__append_5128 = video.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__append_5129 = ++@COND_mips_qemu_mips_TRUE@am__append_5130 = $(nodist_video_module_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_5131 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ video.marker +-@COND_mips_qemu_mips_TRUE@am__append_5139 = video.mod +-@COND_mips_qemu_mips_TRUE@am__append_5140 = video.marker +-@COND_arm_uboot_TRUE@am__append_5141 = video.module +-@COND_arm_uboot_TRUE@am__append_5142 = video.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__append_5143 = +-@COND_arm_uboot_TRUE@am__append_5144 = $(nodist_video_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_5145 = $(nodist_video_module_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_5132 = video.mod ++@COND_mips_qemu_mips_TRUE@am__append_5133 = video.marker ++@COND_arm_uboot_TRUE@am__append_5134 = video.module ++@COND_arm_uboot_TRUE@am__append_5135 = video.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_5136 = ++@COND_arm_uboot_TRUE@am__append_5137 = $(nodist_video_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_5138 = $(nodist_video_module_SOURCES) \ + @COND_arm_uboot_TRUE@ video.marker +-@COND_arm_uboot_TRUE@am__append_5146 = video.mod +-@COND_arm_uboot_TRUE@am__append_5147 = video.marker +-@COND_arm_efi_TRUE@am__append_5148 = video.module +-@COND_arm_efi_TRUE@am__append_5149 = video.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_5150 = +-@COND_arm_efi_TRUE@am__append_5151 = $(nodist_video_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_5152 = $(nodist_video_module_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_5139 = video.mod ++@COND_arm_uboot_TRUE@am__append_5140 = video.marker ++@COND_arm_efi_TRUE@am__append_5141 = video.module ++@COND_arm_efi_TRUE@am__append_5142 = video.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_5143 = ++@COND_arm_efi_TRUE@am__append_5144 = $(nodist_video_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_5145 = $(nodist_video_module_SOURCES) \ + @COND_arm_efi_TRUE@ video.marker +-@COND_arm_efi_TRUE@am__append_5153 = video.mod +-@COND_arm_efi_TRUE@am__append_5154 = video.marker +-@COND_arm64_efi_TRUE@am__append_5155 = video.module +-@COND_arm64_efi_TRUE@am__append_5156 = video.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_5157 = +-@COND_arm64_efi_TRUE@am__append_5158 = $(nodist_video_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_5159 = $(nodist_video_module_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_5146 = video.mod ++@COND_arm_efi_TRUE@am__append_5147 = video.marker ++@COND_arm64_efi_TRUE@am__append_5148 = video.module ++@COND_arm64_efi_TRUE@am__append_5149 = video.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_5150 = ++@COND_arm64_efi_TRUE@am__append_5151 = $(nodist_video_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_5152 = $(nodist_video_module_SOURCES) \ + @COND_arm64_efi_TRUE@ video.marker +-@COND_arm64_efi_TRUE@am__append_5160 = video.mod +-@COND_arm64_efi_TRUE@am__append_5161 = video.marker +-@COND_riscv32_efi_TRUE@am__append_5162 = video.module +-@COND_riscv32_efi_TRUE@am__append_5163 = video.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_5164 = +-@COND_riscv32_efi_TRUE@am__append_5165 = $(nodist_video_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_5166 = \ ++@COND_arm64_efi_TRUE@am__append_5153 = video.mod ++@COND_arm64_efi_TRUE@am__append_5154 = video.marker ++@COND_riscv32_efi_TRUE@am__append_5155 = video.module ++@COND_riscv32_efi_TRUE@am__append_5156 = video.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_5157 = ++@COND_riscv32_efi_TRUE@am__append_5158 = $(nodist_video_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_5159 = \ + @COND_riscv32_efi_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ video.marker +-@COND_riscv32_efi_TRUE@am__append_5167 = video.mod +-@COND_riscv32_efi_TRUE@am__append_5168 = video.marker +-@COND_riscv64_efi_TRUE@am__append_5169 = video.module +-@COND_riscv64_efi_TRUE@am__append_5170 = video.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_5171 = +-@COND_riscv64_efi_TRUE@am__append_5172 = $(nodist_video_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_5173 = \ ++@COND_riscv32_efi_TRUE@am__append_5160 = video.mod ++@COND_riscv32_efi_TRUE@am__append_5161 = video.marker ++@COND_riscv64_efi_TRUE@am__append_5162 = video.module ++@COND_riscv64_efi_TRUE@am__append_5163 = video.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_5164 = ++@COND_riscv64_efi_TRUE@am__append_5165 = $(nodist_video_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_5166 = \ + @COND_riscv64_efi_TRUE@ $(nodist_video_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ video.marker +-@COND_riscv64_efi_TRUE@am__append_5174 = video.mod +-@COND_riscv64_efi_TRUE@am__append_5175 = video.marker +-@COND_powerpc_ieee1275_TRUE@am__append_5176 = ieee1275_fb.module +-@COND_powerpc_ieee1275_TRUE@am__append_5177 = ieee1275_fb.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_5167 = video.mod ++@COND_riscv64_efi_TRUE@am__append_5168 = video.marker ++@COND_powerpc_ieee1275_TRUE@am__append_5169 = ieee1275_fb.module ++@COND_powerpc_ieee1275_TRUE@am__append_5170 = ieee1275_fb.module$(EXEEXT) + @COND_powerpc_ieee1275_FALSE@ieee1275_fb_module_DEPENDENCIES = +-@COND_powerpc_ieee1275_TRUE@am__append_5178 = +-@COND_powerpc_ieee1275_TRUE@am__append_5179 = $(nodist_ieee1275_fb_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_5180 = $(nodist_ieee1275_fb_module_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_5171 = ++@COND_powerpc_ieee1275_TRUE@am__append_5172 = $(nodist_ieee1275_fb_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_5173 = $(nodist_ieee1275_fb_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ ieee1275_fb.marker +-@COND_powerpc_ieee1275_TRUE@am__append_5181 = ieee1275_fb.mod +-@COND_powerpc_ieee1275_TRUE@am__append_5182 = ieee1275_fb.marker +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5183 = sdl.module +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5184 = sdl.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_5174 = ieee1275_fb.mod ++@COND_powerpc_ieee1275_TRUE@am__append_5175 = ieee1275_fb.marker ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5176 = sdl.module ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5177 = sdl.module$(EXEEXT) + @COND_GRUB_EMU_SDL_FALSE@sdl_module_DEPENDENCIES = + @COND_emu_FALSE@sdl_module_DEPENDENCIES = +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5185 = +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5186 = $(nodist_sdl_module_SOURCES) +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5187 = $(nodist_sdl_module_SOURCES) \ ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5178 = ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5179 = $(nodist_sdl_module_SOURCES) ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5180 = $(nodist_sdl_module_SOURCES) \ + @COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@ sdl.marker +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5188 = sdl.mod +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5189 = sdl.marker +-@COND_i386_ieee1275_TRUE@am__append_5190 = ofnet.module +-@COND_i386_ieee1275_TRUE@am__append_5191 = ofnet.module$(EXEEXT) ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5181 = sdl.mod ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5182 = sdl.marker ++@COND_i386_ieee1275_TRUE@am__append_5183 = ofnet.module ++@COND_i386_ieee1275_TRUE@am__append_5184 = ofnet.module$(EXEEXT) + @COND_i386_ieee1275_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_sparc64_ieee1275_FALSE@ofnet_module_DEPENDENCIES = +-@COND_i386_ieee1275_TRUE@am__append_5192 = +-@COND_i386_ieee1275_TRUE@am__append_5193 = $(nodist_ofnet_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5194 = \ ++@COND_i386_ieee1275_TRUE@am__append_5185 = ++@COND_i386_ieee1275_TRUE@am__append_5186 = $(nodist_ofnet_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5187 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_ofnet_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ ofnet.marker +-@COND_i386_ieee1275_TRUE@am__append_5195 = ofnet.mod +-@COND_i386_ieee1275_TRUE@am__append_5196 = ofnet.marker +-@COND_sparc64_ieee1275_TRUE@am__append_5197 = ofnet.module +-@COND_sparc64_ieee1275_TRUE@am__append_5198 = ofnet.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__append_5199 = +-@COND_sparc64_ieee1275_TRUE@am__append_5200 = $(nodist_ofnet_module_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_5201 = \ ++@COND_i386_ieee1275_TRUE@am__append_5188 = ofnet.mod ++@COND_i386_ieee1275_TRUE@am__append_5189 = ofnet.marker ++@COND_sparc64_ieee1275_TRUE@am__append_5190 = ofnet.module ++@COND_sparc64_ieee1275_TRUE@am__append_5191 = ofnet.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__append_5192 = ++@COND_sparc64_ieee1275_TRUE@am__append_5193 = $(nodist_ofnet_module_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_5194 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_ofnet_module_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ ofnet.marker +-@COND_sparc64_ieee1275_TRUE@am__append_5202 = ofnet.mod +-@COND_sparc64_ieee1275_TRUE@am__append_5203 = ofnet.marker +-@COND_powerpc_ieee1275_TRUE@am__append_5204 = ofnet.module +-@COND_powerpc_ieee1275_TRUE@am__append_5205 = ofnet.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__append_5206 = +-@COND_powerpc_ieee1275_TRUE@am__append_5207 = $(nodist_ofnet_module_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_5208 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_5195 = ofnet.mod ++@COND_sparc64_ieee1275_TRUE@am__append_5196 = ofnet.marker ++@COND_powerpc_ieee1275_TRUE@am__append_5197 = ofnet.module ++@COND_powerpc_ieee1275_TRUE@am__append_5198 = ofnet.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_5199 = ++@COND_powerpc_ieee1275_TRUE@am__append_5200 = $(nodist_ofnet_module_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_5201 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_ofnet_module_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ ofnet.marker +-@COND_powerpc_ieee1275_TRUE@am__append_5209 = ofnet.mod +-@COND_powerpc_ieee1275_TRUE@am__append_5210 = ofnet.marker +-@COND_arm_uboot_TRUE@am__append_5211 = ubootnet.module +-@COND_arm_uboot_TRUE@am__append_5212 = ubootnet.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__append_5202 = ofnet.mod ++@COND_powerpc_ieee1275_TRUE@am__append_5203 = ofnet.marker ++@COND_arm_uboot_TRUE@am__append_5204 = ubootnet.module ++@COND_arm_uboot_TRUE@am__append_5205 = ubootnet.module$(EXEEXT) + @COND_arm_uboot_FALSE@ubootnet_module_DEPENDENCIES = +-@COND_arm_uboot_TRUE@am__append_5213 = +-@COND_arm_uboot_TRUE@am__append_5214 = $(nodist_ubootnet_module_SOURCES) +-@COND_arm_uboot_TRUE@am__append_5215 = \ ++@COND_arm_uboot_TRUE@am__append_5206 = ++@COND_arm_uboot_TRUE@am__append_5207 = $(nodist_ubootnet_module_SOURCES) ++@COND_arm_uboot_TRUE@am__append_5208 = \ + @COND_arm_uboot_TRUE@ $(nodist_ubootnet_module_SOURCES) \ + @COND_arm_uboot_TRUE@ ubootnet.marker +-@COND_arm_uboot_TRUE@am__append_5216 = ubootnet.mod +-@COND_arm_uboot_TRUE@am__append_5217 = ubootnet.marker +-@COND_i386_efi_TRUE@am__append_5218 = efinet.module +-@COND_i386_efi_TRUE@am__append_5219 = efinet.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__append_5209 = ubootnet.mod ++@COND_arm_uboot_TRUE@am__append_5210 = ubootnet.marker ++@COND_i386_efi_TRUE@am__append_5211 = efinet.module ++@COND_i386_efi_TRUE@am__append_5212 = efinet.module$(EXEEXT) + @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_i386_efi_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@efinet_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_5220 = +-@COND_i386_efi_TRUE@am__append_5221 = $(nodist_efinet_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5222 = $(nodist_efinet_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_5213 = ++@COND_i386_efi_TRUE@am__append_5214 = $(nodist_efinet_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5215 = $(nodist_efinet_module_SOURCES) \ + @COND_i386_efi_TRUE@ efinet.marker +-@COND_i386_efi_TRUE@am__append_5223 = efinet.mod +-@COND_i386_efi_TRUE@am__append_5224 = efinet.marker +-@COND_x86_64_efi_TRUE@am__append_5225 = efinet.module +-@COND_x86_64_efi_TRUE@am__append_5226 = efinet.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_5227 = +-@COND_x86_64_efi_TRUE@am__append_5228 = $(nodist_efinet_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5229 = \ ++@COND_i386_efi_TRUE@am__append_5216 = efinet.mod ++@COND_i386_efi_TRUE@am__append_5217 = efinet.marker ++@COND_x86_64_efi_TRUE@am__append_5218 = efinet.module ++@COND_x86_64_efi_TRUE@am__append_5219 = efinet.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5220 = ++@COND_x86_64_efi_TRUE@am__append_5221 = $(nodist_efinet_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5222 = \ + @COND_x86_64_efi_TRUE@ $(nodist_efinet_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ efinet.marker +-@COND_x86_64_efi_TRUE@am__append_5230 = efinet.mod +-@COND_x86_64_efi_TRUE@am__append_5231 = efinet.marker +-@COND_ia64_efi_TRUE@am__append_5232 = efinet.module +-@COND_ia64_efi_TRUE@am__append_5233 = efinet.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__append_5234 = +-@COND_ia64_efi_TRUE@am__append_5235 = $(nodist_efinet_module_SOURCES) +-@COND_ia64_efi_TRUE@am__append_5236 = $(nodist_efinet_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_5223 = efinet.mod ++@COND_x86_64_efi_TRUE@am__append_5224 = efinet.marker ++@COND_ia64_efi_TRUE@am__append_5225 = efinet.module ++@COND_ia64_efi_TRUE@am__append_5226 = efinet.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__append_5227 = ++@COND_ia64_efi_TRUE@am__append_5228 = $(nodist_efinet_module_SOURCES) ++@COND_ia64_efi_TRUE@am__append_5229 = $(nodist_efinet_module_SOURCES) \ + @COND_ia64_efi_TRUE@ efinet.marker +-@COND_ia64_efi_TRUE@am__append_5237 = efinet.mod +-@COND_ia64_efi_TRUE@am__append_5238 = efinet.marker +-@COND_arm_efi_TRUE@am__append_5239 = efinet.module +-@COND_arm_efi_TRUE@am__append_5240 = efinet.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__append_5241 = +-@COND_arm_efi_TRUE@am__append_5242 = $(nodist_efinet_module_SOURCES) +-@COND_arm_efi_TRUE@am__append_5243 = $(nodist_efinet_module_SOURCES) \ ++@COND_ia64_efi_TRUE@am__append_5230 = efinet.mod ++@COND_ia64_efi_TRUE@am__append_5231 = efinet.marker ++@COND_arm_efi_TRUE@am__append_5232 = efinet.module ++@COND_arm_efi_TRUE@am__append_5233 = efinet.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__append_5234 = ++@COND_arm_efi_TRUE@am__append_5235 = $(nodist_efinet_module_SOURCES) ++@COND_arm_efi_TRUE@am__append_5236 = $(nodist_efinet_module_SOURCES) \ + @COND_arm_efi_TRUE@ efinet.marker +-@COND_arm_efi_TRUE@am__append_5244 = efinet.mod +-@COND_arm_efi_TRUE@am__append_5245 = efinet.marker +-@COND_arm64_efi_TRUE@am__append_5246 = efinet.module +-@COND_arm64_efi_TRUE@am__append_5247 = efinet.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__append_5248 = +-@COND_arm64_efi_TRUE@am__append_5249 = $(nodist_efinet_module_SOURCES) +-@COND_arm64_efi_TRUE@am__append_5250 = \ ++@COND_arm_efi_TRUE@am__append_5237 = efinet.mod ++@COND_arm_efi_TRUE@am__append_5238 = efinet.marker ++@COND_arm64_efi_TRUE@am__append_5239 = efinet.module ++@COND_arm64_efi_TRUE@am__append_5240 = efinet.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__append_5241 = ++@COND_arm64_efi_TRUE@am__append_5242 = $(nodist_efinet_module_SOURCES) ++@COND_arm64_efi_TRUE@am__append_5243 = \ + @COND_arm64_efi_TRUE@ $(nodist_efinet_module_SOURCES) \ + @COND_arm64_efi_TRUE@ efinet.marker +-@COND_arm64_efi_TRUE@am__append_5251 = efinet.mod +-@COND_arm64_efi_TRUE@am__append_5252 = efinet.marker +-@COND_riscv32_efi_TRUE@am__append_5253 = efinet.module +-@COND_riscv32_efi_TRUE@am__append_5254 = efinet.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__append_5255 = +-@COND_riscv32_efi_TRUE@am__append_5256 = $(nodist_efinet_module_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_5257 = \ ++@COND_arm64_efi_TRUE@am__append_5244 = efinet.mod ++@COND_arm64_efi_TRUE@am__append_5245 = efinet.marker ++@COND_riscv32_efi_TRUE@am__append_5246 = efinet.module ++@COND_riscv32_efi_TRUE@am__append_5247 = efinet.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__append_5248 = ++@COND_riscv32_efi_TRUE@am__append_5249 = $(nodist_efinet_module_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_5250 = \ + @COND_riscv32_efi_TRUE@ $(nodist_efinet_module_SOURCES) \ + @COND_riscv32_efi_TRUE@ efinet.marker +-@COND_riscv32_efi_TRUE@am__append_5258 = efinet.mod +-@COND_riscv32_efi_TRUE@am__append_5259 = efinet.marker +-@COND_riscv64_efi_TRUE@am__append_5260 = efinet.module +-@COND_riscv64_efi_TRUE@am__append_5261 = efinet.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__append_5262 = +-@COND_riscv64_efi_TRUE@am__append_5263 = $(nodist_efinet_module_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_5264 = \ ++@COND_riscv32_efi_TRUE@am__append_5251 = efinet.mod ++@COND_riscv32_efi_TRUE@am__append_5252 = efinet.marker ++@COND_riscv64_efi_TRUE@am__append_5253 = efinet.module ++@COND_riscv64_efi_TRUE@am__append_5254 = efinet.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__append_5255 = ++@COND_riscv64_efi_TRUE@am__append_5256 = $(nodist_efinet_module_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_5257 = \ + @COND_riscv64_efi_TRUE@ $(nodist_efinet_module_SOURCES) \ + @COND_riscv64_efi_TRUE@ efinet.marker +-@COND_riscv64_efi_TRUE@am__append_5265 = efinet.mod +-@COND_riscv64_efi_TRUE@am__append_5266 = efinet.marker +-@COND_emu_TRUE@am__append_5267 = emunet.module legacycfg.module +-@COND_emu_TRUE@am__append_5268 = emunet.module$(EXEEXT) \ ++@COND_riscv64_efi_TRUE@am__append_5258 = efinet.mod ++@COND_riscv64_efi_TRUE@am__append_5259 = efinet.marker ++@COND_emu_TRUE@am__append_5260 = emunet.module legacycfg.module ++@COND_emu_TRUE@am__append_5261 = emunet.module$(EXEEXT) \ + @COND_emu_TRUE@ legacycfg.module$(EXEEXT) + @COND_emu_FALSE@emunet_module_DEPENDENCIES = +-@COND_emu_TRUE@am__append_5269 = +-@COND_emu_TRUE@am__append_5270 = $(nodist_emunet_module_SOURCES) \ ++@COND_emu_TRUE@am__append_5262 = ++@COND_emu_TRUE@am__append_5263 = $(nodist_emunet_module_SOURCES) \ + @COND_emu_TRUE@ $(nodist_legacycfg_module_SOURCES) +-@COND_emu_TRUE@am__append_5271 = $(nodist_emunet_module_SOURCES) \ ++@COND_emu_TRUE@am__append_5264 = $(nodist_emunet_module_SOURCES) \ + @COND_emu_TRUE@ emunet.marker \ + @COND_emu_TRUE@ $(nodist_legacycfg_module_SOURCES) \ + @COND_emu_TRUE@ legacycfg.marker +-@COND_emu_TRUE@am__append_5272 = emunet.mod legacycfg.mod +-@COND_emu_TRUE@am__append_5273 = emunet.marker legacycfg.marker ++@COND_emu_TRUE@am__append_5265 = emunet.mod legacycfg.mod ++@COND_emu_TRUE@am__append_5266 = emunet.marker legacycfg.marker + @COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_pc_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@legacycfg_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_5274 = legacycfg.module +-@COND_i386_pc_TRUE@am__append_5275 = legacycfg.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__append_5276 = +-@COND_i386_pc_TRUE@am__append_5277 = $(nodist_legacycfg_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_5278 = \ ++@COND_i386_pc_TRUE@am__append_5267 = legacycfg.module ++@COND_i386_pc_TRUE@am__append_5268 = legacycfg.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__append_5269 = ++@COND_i386_pc_TRUE@am__append_5270 = $(nodist_legacycfg_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_5271 = \ + @COND_i386_pc_TRUE@ $(nodist_legacycfg_module_SOURCES) \ + @COND_i386_pc_TRUE@ legacycfg.marker +-@COND_i386_pc_TRUE@am__append_5279 = legacycfg.mod +-@COND_i386_pc_TRUE@am__append_5280 = legacycfg.marker +-@COND_i386_efi_TRUE@am__append_5281 = legacycfg.module +-@COND_i386_efi_TRUE@am__append_5282 = legacycfg.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_5283 = +-@COND_i386_efi_TRUE@am__append_5284 = $(nodist_legacycfg_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5285 = \ ++@COND_i386_pc_TRUE@am__append_5272 = legacycfg.mod ++@COND_i386_pc_TRUE@am__append_5273 = legacycfg.marker ++@COND_i386_efi_TRUE@am__append_5274 = legacycfg.module ++@COND_i386_efi_TRUE@am__append_5275 = legacycfg.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_5276 = ++@COND_i386_efi_TRUE@am__append_5277 = $(nodist_legacycfg_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5278 = \ + @COND_i386_efi_TRUE@ $(nodist_legacycfg_module_SOURCES) \ + @COND_i386_efi_TRUE@ legacycfg.marker +-@COND_i386_efi_TRUE@am__append_5286 = legacycfg.mod +-@COND_i386_efi_TRUE@am__append_5287 = legacycfg.marker +-@COND_x86_64_efi_TRUE@am__append_5288 = legacycfg.module +-@COND_x86_64_efi_TRUE@am__append_5289 = legacycfg.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_5290 = +-@COND_x86_64_efi_TRUE@am__append_5291 = $(nodist_legacycfg_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5292 = \ ++@COND_i386_efi_TRUE@am__append_5279 = legacycfg.mod ++@COND_i386_efi_TRUE@am__append_5280 = legacycfg.marker ++@COND_x86_64_efi_TRUE@am__append_5281 = legacycfg.module ++@COND_x86_64_efi_TRUE@am__append_5282 = legacycfg.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5283 = ++@COND_x86_64_efi_TRUE@am__append_5284 = $(nodist_legacycfg_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5285 = \ + @COND_x86_64_efi_TRUE@ $(nodist_legacycfg_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ legacycfg.marker +-@COND_x86_64_efi_TRUE@am__append_5293 = legacycfg.mod +-@COND_x86_64_efi_TRUE@am__append_5294 = legacycfg.marker +-@COND_i386_xen_TRUE@am__append_5295 = legacycfg.module +-@COND_i386_xen_TRUE@am__append_5296 = legacycfg.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_5297 = +-@COND_i386_xen_TRUE@am__append_5298 = $(nodist_legacycfg_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_5299 = \ ++@COND_x86_64_efi_TRUE@am__append_5286 = legacycfg.mod ++@COND_x86_64_efi_TRUE@am__append_5287 = legacycfg.marker ++@COND_i386_xen_TRUE@am__append_5288 = legacycfg.module ++@COND_i386_xen_TRUE@am__append_5289 = legacycfg.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_5290 = ++@COND_i386_xen_TRUE@am__append_5291 = $(nodist_legacycfg_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_5292 = \ + @COND_i386_xen_TRUE@ $(nodist_legacycfg_module_SOURCES) \ + @COND_i386_xen_TRUE@ legacycfg.marker +-@COND_i386_xen_TRUE@am__append_5300 = legacycfg.mod +-@COND_i386_xen_TRUE@am__append_5301 = legacycfg.marker +-@COND_x86_64_xen_TRUE@am__append_5302 = legacycfg.module +-@COND_x86_64_xen_TRUE@am__append_5303 = legacycfg.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_5304 = +-@COND_x86_64_xen_TRUE@am__append_5305 = $(nodist_legacycfg_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_5306 = \ ++@COND_i386_xen_TRUE@am__append_5293 = legacycfg.mod ++@COND_i386_xen_TRUE@am__append_5294 = legacycfg.marker ++@COND_x86_64_xen_TRUE@am__append_5295 = legacycfg.module ++@COND_x86_64_xen_TRUE@am__append_5296 = legacycfg.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_5297 = ++@COND_x86_64_xen_TRUE@am__append_5298 = $(nodist_legacycfg_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_5299 = \ + @COND_x86_64_xen_TRUE@ $(nodist_legacycfg_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ legacycfg.marker +-@COND_x86_64_xen_TRUE@am__append_5307 = legacycfg.mod +-@COND_x86_64_xen_TRUE@am__append_5308 = legacycfg.marker +-@COND_i386_xen_pvh_TRUE@am__append_5309 = legacycfg.module +-@COND_i386_xen_pvh_TRUE@am__append_5310 = legacycfg.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_5311 = +-@COND_i386_xen_pvh_TRUE@am__append_5312 = $(nodist_legacycfg_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_5313 = \ ++@COND_x86_64_xen_TRUE@am__append_5300 = legacycfg.mod ++@COND_x86_64_xen_TRUE@am__append_5301 = legacycfg.marker ++@COND_i386_xen_pvh_TRUE@am__append_5302 = legacycfg.module ++@COND_i386_xen_pvh_TRUE@am__append_5303 = legacycfg.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_5304 = ++@COND_i386_xen_pvh_TRUE@am__append_5305 = $(nodist_legacycfg_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_5306 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_legacycfg_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ legacycfg.marker +-@COND_i386_xen_pvh_TRUE@am__append_5314 = legacycfg.mod +-@COND_i386_xen_pvh_TRUE@am__append_5315 = legacycfg.marker +-@COND_i386_pc_TRUE@am__append_5316 = backtrace.module +-@COND_i386_pc_TRUE@am__append_5317 = backtrace.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_5307 = legacycfg.mod ++@COND_i386_xen_pvh_TRUE@am__append_5308 = legacycfg.marker ++@COND_i386_pc_TRUE@am__append_5309 = backtrace.module ++@COND_i386_pc_TRUE@am__append_5310 = backtrace.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@backtrace_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_5318 = +-@COND_i386_pc_TRUE@am__append_5319 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_5320 = \ ++@COND_i386_pc_TRUE@am__append_5311 = ++@COND_i386_pc_TRUE@am__append_5312 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_5313 = \ + @COND_i386_pc_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_pc_TRUE@ backtrace.marker +-@COND_i386_pc_TRUE@am__append_5321 = backtrace.mod +-@COND_i386_pc_TRUE@am__append_5322 = backtrace.marker +-@COND_i386_efi_TRUE@am__append_5323 = backtrace.module +-@COND_i386_efi_TRUE@am__append_5324 = backtrace.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_5325 = +-@COND_i386_efi_TRUE@am__append_5326 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5327 = \ ++@COND_i386_pc_TRUE@am__append_5314 = backtrace.mod ++@COND_i386_pc_TRUE@am__append_5315 = backtrace.marker ++@COND_i386_efi_TRUE@am__append_5316 = backtrace.module ++@COND_i386_efi_TRUE@am__append_5317 = backtrace.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_5318 = ++@COND_i386_efi_TRUE@am__append_5319 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5320 = \ + @COND_i386_efi_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_efi_TRUE@ backtrace.marker +-@COND_i386_efi_TRUE@am__append_5328 = backtrace.mod +-@COND_i386_efi_TRUE@am__append_5329 = backtrace.marker +-@COND_i386_qemu_TRUE@am__append_5330 = backtrace.module +-@COND_i386_qemu_TRUE@am__append_5331 = backtrace.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_5332 = +-@COND_i386_qemu_TRUE@am__append_5333 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5334 = \ ++@COND_i386_efi_TRUE@am__append_5321 = backtrace.mod ++@COND_i386_efi_TRUE@am__append_5322 = backtrace.marker ++@COND_i386_qemu_TRUE@am__append_5323 = backtrace.module ++@COND_i386_qemu_TRUE@am__append_5324 = backtrace.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_5325 = ++@COND_i386_qemu_TRUE@am__append_5326 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5327 = \ + @COND_i386_qemu_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_qemu_TRUE@ backtrace.marker +-@COND_i386_qemu_TRUE@am__append_5335 = backtrace.mod +-@COND_i386_qemu_TRUE@am__append_5336 = backtrace.marker +-@COND_i386_coreboot_TRUE@am__append_5337 = backtrace.module +-@COND_i386_coreboot_TRUE@am__append_5338 = backtrace.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_5339 = +-@COND_i386_coreboot_TRUE@am__append_5340 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_5341 = \ ++@COND_i386_qemu_TRUE@am__append_5328 = backtrace.mod ++@COND_i386_qemu_TRUE@am__append_5329 = backtrace.marker ++@COND_i386_coreboot_TRUE@am__append_5330 = backtrace.module ++@COND_i386_coreboot_TRUE@am__append_5331 = backtrace.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_5332 = ++@COND_i386_coreboot_TRUE@am__append_5333 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_5334 = \ + @COND_i386_coreboot_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ backtrace.marker +-@COND_i386_coreboot_TRUE@am__append_5342 = backtrace.mod +-@COND_i386_coreboot_TRUE@am__append_5343 = backtrace.marker +-@COND_i386_multiboot_TRUE@am__append_5344 = backtrace.module +-@COND_i386_multiboot_TRUE@am__append_5345 = backtrace.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_5346 = +-@COND_i386_multiboot_TRUE@am__append_5347 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_5348 = \ ++@COND_i386_coreboot_TRUE@am__append_5335 = backtrace.mod ++@COND_i386_coreboot_TRUE@am__append_5336 = backtrace.marker ++@COND_i386_multiboot_TRUE@am__append_5337 = backtrace.module ++@COND_i386_multiboot_TRUE@am__append_5338 = backtrace.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_5339 = ++@COND_i386_multiboot_TRUE@am__append_5340 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_5341 = \ + @COND_i386_multiboot_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ backtrace.marker +-@COND_i386_multiboot_TRUE@am__append_5349 = backtrace.mod +-@COND_i386_multiboot_TRUE@am__append_5350 = backtrace.marker +-@COND_i386_ieee1275_TRUE@am__append_5351 = backtrace.module +-@COND_i386_ieee1275_TRUE@am__append_5352 = backtrace.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_5353 = +-@COND_i386_ieee1275_TRUE@am__append_5354 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5355 = \ ++@COND_i386_multiboot_TRUE@am__append_5342 = backtrace.mod ++@COND_i386_multiboot_TRUE@am__append_5343 = backtrace.marker ++@COND_i386_ieee1275_TRUE@am__append_5344 = backtrace.module ++@COND_i386_ieee1275_TRUE@am__append_5345 = backtrace.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_5346 = ++@COND_i386_ieee1275_TRUE@am__append_5347 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5348 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ backtrace.marker +-@COND_i386_ieee1275_TRUE@am__append_5356 = backtrace.mod +-@COND_i386_ieee1275_TRUE@am__append_5357 = backtrace.marker +-@COND_x86_64_efi_TRUE@am__append_5358 = backtrace.module +-@COND_x86_64_efi_TRUE@am__append_5359 = backtrace.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_5360 = +-@COND_x86_64_efi_TRUE@am__append_5361 = $(nodist_backtrace_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5362 = \ ++@COND_i386_ieee1275_TRUE@am__append_5349 = backtrace.mod ++@COND_i386_ieee1275_TRUE@am__append_5350 = backtrace.marker ++@COND_x86_64_efi_TRUE@am__append_5351 = backtrace.module ++@COND_x86_64_efi_TRUE@am__append_5352 = backtrace.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5353 = ++@COND_x86_64_efi_TRUE@am__append_5354 = $(nodist_backtrace_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5355 = \ + @COND_x86_64_efi_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ backtrace.marker +-@COND_x86_64_efi_TRUE@am__append_5363 = backtrace.mod +-@COND_x86_64_efi_TRUE@am__append_5364 = backtrace.marker +-@COND_i386_xen_TRUE@am__append_5365 = backtrace.module +-@COND_i386_xen_TRUE@am__append_5366 = backtrace.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__append_5367 = +-@COND_i386_xen_TRUE@am__append_5368 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_xen_TRUE@am__append_5369 = \ ++@COND_x86_64_efi_TRUE@am__append_5356 = backtrace.mod ++@COND_x86_64_efi_TRUE@am__append_5357 = backtrace.marker ++@COND_i386_xen_TRUE@am__append_5358 = backtrace.module ++@COND_i386_xen_TRUE@am__append_5359 = backtrace.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__append_5360 = ++@COND_i386_xen_TRUE@am__append_5361 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_xen_TRUE@am__append_5362 = \ + @COND_i386_xen_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_xen_TRUE@ backtrace.marker +-@COND_i386_xen_TRUE@am__append_5370 = backtrace.mod +-@COND_i386_xen_TRUE@am__append_5371 = backtrace.marker +-@COND_x86_64_xen_TRUE@am__append_5372 = backtrace.module +-@COND_x86_64_xen_TRUE@am__append_5373 = backtrace.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__append_5374 = +-@COND_x86_64_xen_TRUE@am__append_5375 = $(nodist_backtrace_module_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_5376 = \ ++@COND_i386_xen_TRUE@am__append_5363 = backtrace.mod ++@COND_i386_xen_TRUE@am__append_5364 = backtrace.marker ++@COND_x86_64_xen_TRUE@am__append_5365 = backtrace.module ++@COND_x86_64_xen_TRUE@am__append_5366 = backtrace.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__append_5367 = ++@COND_x86_64_xen_TRUE@am__append_5368 = $(nodist_backtrace_module_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_5369 = \ + @COND_x86_64_xen_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_x86_64_xen_TRUE@ backtrace.marker +-@COND_x86_64_xen_TRUE@am__append_5377 = backtrace.mod +-@COND_x86_64_xen_TRUE@am__append_5378 = backtrace.marker +-@COND_i386_xen_pvh_TRUE@am__append_5379 = backtrace.module +-@COND_i386_xen_pvh_TRUE@am__append_5380 = backtrace.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__append_5381 = +-@COND_i386_xen_pvh_TRUE@am__append_5382 = $(nodist_backtrace_module_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_5383 = \ ++@COND_x86_64_xen_TRUE@am__append_5370 = backtrace.mod ++@COND_x86_64_xen_TRUE@am__append_5371 = backtrace.marker ++@COND_i386_xen_pvh_TRUE@am__append_5372 = backtrace.module ++@COND_i386_xen_pvh_TRUE@am__append_5373 = backtrace.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__append_5374 = ++@COND_i386_xen_pvh_TRUE@am__append_5375 = $(nodist_backtrace_module_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_5376 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_backtrace_module_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ backtrace.marker +-@COND_i386_xen_pvh_TRUE@am__append_5384 = backtrace.mod +-@COND_i386_xen_pvh_TRUE@am__append_5385 = backtrace.marker +-@COND_i386_pc_TRUE@am__append_5386 = lsapm.module keylayouts.module +-@COND_i386_pc_TRUE@am__append_5387 = lsapm.module$(EXEEXT) \ ++@COND_i386_xen_pvh_TRUE@am__append_5377 = backtrace.mod ++@COND_i386_xen_pvh_TRUE@am__append_5378 = backtrace.marker ++@COND_i386_pc_TRUE@am__append_5379 = lsapm.module keylayouts.module ++@COND_i386_pc_TRUE@am__append_5380 = lsapm.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ keylayouts.module$(EXEEXT) + @COND_i386_pc_FALSE@lsapm_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_5388 = +-@COND_i386_pc_TRUE@am__append_5389 = $(nodist_lsapm_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5381 = ++@COND_i386_pc_TRUE@am__append_5382 = $(nodist_lsapm_module_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_keylayouts_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_5390 = $(nodist_lsapm_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5383 = $(nodist_lsapm_module_SOURCES) \ + @COND_i386_pc_TRUE@ lsapm.marker \ + @COND_i386_pc_TRUE@ $(nodist_keylayouts_module_SOURCES) \ + @COND_i386_pc_TRUE@ keylayouts.marker +-@COND_i386_pc_TRUE@am__append_5391 = lsapm.mod keylayouts.mod +-@COND_i386_pc_TRUE@am__append_5392 = lsapm.marker keylayouts.marker ++@COND_i386_pc_TRUE@am__append_5384 = lsapm.mod keylayouts.mod ++@COND_i386_pc_TRUE@am__append_5385 = lsapm.marker keylayouts.marker + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@keylayouts_module_DEPENDENCIES = +-@COND_i386_efi_TRUE@am__append_5393 = keylayouts.module +-@COND_i386_efi_TRUE@am__append_5394 = keylayouts.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_5395 = +-@COND_i386_efi_TRUE@am__append_5396 = $(nodist_keylayouts_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5397 = \ ++@COND_i386_efi_TRUE@am__append_5386 = keylayouts.module ++@COND_i386_efi_TRUE@am__append_5387 = keylayouts.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_5388 = ++@COND_i386_efi_TRUE@am__append_5389 = $(nodist_keylayouts_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5390 = \ + @COND_i386_efi_TRUE@ $(nodist_keylayouts_module_SOURCES) \ + @COND_i386_efi_TRUE@ keylayouts.marker +-@COND_i386_efi_TRUE@am__append_5398 = keylayouts.mod +-@COND_i386_efi_TRUE@am__append_5399 = keylayouts.marker +-@COND_i386_qemu_TRUE@am__append_5400 = keylayouts.module +-@COND_i386_qemu_TRUE@am__append_5401 = keylayouts.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_5402 = +-@COND_i386_qemu_TRUE@am__append_5403 = $(nodist_keylayouts_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5404 = \ ++@COND_i386_efi_TRUE@am__append_5391 = keylayouts.mod ++@COND_i386_efi_TRUE@am__append_5392 = keylayouts.marker ++@COND_i386_qemu_TRUE@am__append_5393 = keylayouts.module ++@COND_i386_qemu_TRUE@am__append_5394 = keylayouts.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_5395 = ++@COND_i386_qemu_TRUE@am__append_5396 = $(nodist_keylayouts_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5397 = \ + @COND_i386_qemu_TRUE@ $(nodist_keylayouts_module_SOURCES) \ + @COND_i386_qemu_TRUE@ keylayouts.marker +-@COND_i386_qemu_TRUE@am__append_5405 = keylayouts.mod +-@COND_i386_qemu_TRUE@am__append_5406 = keylayouts.marker +-@COND_i386_coreboot_TRUE@am__append_5407 = keylayouts.module +-@COND_i386_coreboot_TRUE@am__append_5408 = keylayouts.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_5409 = +-@COND_i386_coreboot_TRUE@am__append_5410 = $(nodist_keylayouts_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_5411 = \ ++@COND_i386_qemu_TRUE@am__append_5398 = keylayouts.mod ++@COND_i386_qemu_TRUE@am__append_5399 = keylayouts.marker ++@COND_i386_coreboot_TRUE@am__append_5400 = keylayouts.module ++@COND_i386_coreboot_TRUE@am__append_5401 = keylayouts.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_5402 = ++@COND_i386_coreboot_TRUE@am__append_5403 = $(nodist_keylayouts_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_5404 = \ + @COND_i386_coreboot_TRUE@ $(nodist_keylayouts_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ keylayouts.marker +-@COND_i386_coreboot_TRUE@am__append_5412 = keylayouts.mod +-@COND_i386_coreboot_TRUE@am__append_5413 = keylayouts.marker +-@COND_i386_multiboot_TRUE@am__append_5414 = keylayouts.module +-@COND_i386_multiboot_TRUE@am__append_5415 = keylayouts.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_5416 = +-@COND_i386_multiboot_TRUE@am__append_5417 = $(nodist_keylayouts_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_5418 = \ ++@COND_i386_coreboot_TRUE@am__append_5405 = keylayouts.mod ++@COND_i386_coreboot_TRUE@am__append_5406 = keylayouts.marker ++@COND_i386_multiboot_TRUE@am__append_5407 = keylayouts.module ++@COND_i386_multiboot_TRUE@am__append_5408 = keylayouts.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_5409 = ++@COND_i386_multiboot_TRUE@am__append_5410 = $(nodist_keylayouts_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_5411 = \ + @COND_i386_multiboot_TRUE@ $(nodist_keylayouts_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ keylayouts.marker +-@COND_i386_multiboot_TRUE@am__append_5419 = keylayouts.mod +-@COND_i386_multiboot_TRUE@am__append_5420 = keylayouts.marker +-@COND_i386_ieee1275_TRUE@am__append_5421 = keylayouts.module +-@COND_i386_ieee1275_TRUE@am__append_5422 = keylayouts.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_5423 = +-@COND_i386_ieee1275_TRUE@am__append_5424 = $(nodist_keylayouts_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5425 = \ ++@COND_i386_multiboot_TRUE@am__append_5412 = keylayouts.mod ++@COND_i386_multiboot_TRUE@am__append_5413 = keylayouts.marker ++@COND_i386_ieee1275_TRUE@am__append_5414 = keylayouts.module ++@COND_i386_ieee1275_TRUE@am__append_5415 = keylayouts.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_5416 = ++@COND_i386_ieee1275_TRUE@am__append_5417 = $(nodist_keylayouts_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5418 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_keylayouts_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ keylayouts.marker +-@COND_i386_ieee1275_TRUE@am__append_5426 = keylayouts.mod +-@COND_i386_ieee1275_TRUE@am__append_5427 = keylayouts.marker +-@COND_x86_64_efi_TRUE@am__append_5428 = keylayouts.module +-@COND_x86_64_efi_TRUE@am__append_5429 = keylayouts.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_5430 = +-@COND_x86_64_efi_TRUE@am__append_5431 = $(nodist_keylayouts_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5432 = \ ++@COND_i386_ieee1275_TRUE@am__append_5419 = keylayouts.mod ++@COND_i386_ieee1275_TRUE@am__append_5420 = keylayouts.marker ++@COND_x86_64_efi_TRUE@am__append_5421 = keylayouts.module ++@COND_x86_64_efi_TRUE@am__append_5422 = keylayouts.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5423 = ++@COND_x86_64_efi_TRUE@am__append_5424 = $(nodist_keylayouts_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5425 = \ + @COND_x86_64_efi_TRUE@ $(nodist_keylayouts_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ keylayouts.marker +-@COND_x86_64_efi_TRUE@am__append_5433 = keylayouts.mod +-@COND_x86_64_efi_TRUE@am__append_5434 = keylayouts.marker +-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5435 = cacheinfo.module +-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5436 = cacheinfo.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5426 = keylayouts.mod ++@COND_x86_64_efi_TRUE@am__append_5427 = keylayouts.marker ++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5428 = cacheinfo.module ++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5429 = cacheinfo.module$(EXEEXT) + @COND_ENABLE_CACHE_STATS_FALSE@cacheinfo_module_DEPENDENCIES = +-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5437 = +-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5438 = $(nodist_cacheinfo_module_SOURCES) +-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5439 = $(nodist_cacheinfo_module_SOURCES) \ ++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5430 = ++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5431 = $(nodist_cacheinfo_module_SOURCES) ++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5432 = $(nodist_cacheinfo_module_SOURCES) \ + @COND_ENABLE_CACHE_STATS_TRUE@ cacheinfo.marker +-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5440 = cacheinfo.mod +-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5441 = cacheinfo.marker +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5442 = boottime.module +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5443 = boottime.module$(EXEEXT) ++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5433 = cacheinfo.mod ++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5434 = cacheinfo.marker ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5435 = boottime.module ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5436 = boottime.module$(EXEEXT) + @COND_ENABLE_BOOT_TIME_STATS_FALSE@boottime_module_DEPENDENCIES = +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5444 = +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5445 = $(nodist_boottime_module_SOURCES) +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5446 = $(nodist_boottime_module_SOURCES) \ ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5437 = ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5438 = $(nodist_boottime_module_SOURCES) ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5439 = $(nodist_boottime_module_SOURCES) \ + @COND_ENABLE_BOOT_TIME_STATS_TRUE@ boottime.marker +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5447 = boottime.mod +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5448 = boottime.marker +-@COND_i386_pc_TRUE@am__append_5449 = gdb.module +-@COND_i386_pc_TRUE@am__append_5450 = gdb.module$(EXEEXT) ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5440 = boottime.mod ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5441 = boottime.marker ++@COND_i386_pc_TRUE@am__append_5442 = gdb.module ++@COND_i386_pc_TRUE@am__append_5443 = gdb.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@gdb_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_5451 = +-@COND_i386_pc_TRUE@am__append_5452 = $(nodist_gdb_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_5453 = $(nodist_gdb_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5444 = ++@COND_i386_pc_TRUE@am__append_5445 = $(nodist_gdb_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_5446 = $(nodist_gdb_module_SOURCES) \ + @COND_i386_pc_TRUE@ gdb.marker +-@COND_i386_pc_TRUE@am__append_5454 = gdb.mod +-@COND_i386_pc_TRUE@am__append_5455 = gdb.marker +-@COND_i386_efi_TRUE@am__append_5456 = gdb.module +-@COND_i386_efi_TRUE@am__append_5457 = gdb.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_5458 = +-@COND_i386_efi_TRUE@am__append_5459 = $(nodist_gdb_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5460 = $(nodist_gdb_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5447 = gdb.mod ++@COND_i386_pc_TRUE@am__append_5448 = gdb.marker ++@COND_i386_efi_TRUE@am__append_5449 = gdb.module ++@COND_i386_efi_TRUE@am__append_5450 = gdb.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_5451 = ++@COND_i386_efi_TRUE@am__append_5452 = $(nodist_gdb_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5453 = $(nodist_gdb_module_SOURCES) \ + @COND_i386_efi_TRUE@ gdb.marker +-@COND_i386_efi_TRUE@am__append_5461 = gdb.mod +-@COND_i386_efi_TRUE@am__append_5462 = gdb.marker +-@COND_i386_qemu_TRUE@am__append_5463 = gdb.module +-@COND_i386_qemu_TRUE@am__append_5464 = gdb.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_5465 = +-@COND_i386_qemu_TRUE@am__append_5466 = $(nodist_gdb_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5467 = $(nodist_gdb_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_5454 = gdb.mod ++@COND_i386_efi_TRUE@am__append_5455 = gdb.marker ++@COND_i386_qemu_TRUE@am__append_5456 = gdb.module ++@COND_i386_qemu_TRUE@am__append_5457 = gdb.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_5458 = ++@COND_i386_qemu_TRUE@am__append_5459 = $(nodist_gdb_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5460 = $(nodist_gdb_module_SOURCES) \ + @COND_i386_qemu_TRUE@ gdb.marker +-@COND_i386_qemu_TRUE@am__append_5468 = gdb.mod +-@COND_i386_qemu_TRUE@am__append_5469 = gdb.marker +-@COND_i386_coreboot_TRUE@am__append_5470 = gdb.module +-@COND_i386_coreboot_TRUE@am__append_5471 = gdb.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_5472 = +-@COND_i386_coreboot_TRUE@am__append_5473 = $(nodist_gdb_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_5474 = \ ++@COND_i386_qemu_TRUE@am__append_5461 = gdb.mod ++@COND_i386_qemu_TRUE@am__append_5462 = gdb.marker ++@COND_i386_coreboot_TRUE@am__append_5463 = gdb.module ++@COND_i386_coreboot_TRUE@am__append_5464 = gdb.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_5465 = ++@COND_i386_coreboot_TRUE@am__append_5466 = $(nodist_gdb_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_5467 = \ + @COND_i386_coreboot_TRUE@ $(nodist_gdb_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ gdb.marker +-@COND_i386_coreboot_TRUE@am__append_5475 = gdb.mod +-@COND_i386_coreboot_TRUE@am__append_5476 = gdb.marker +-@COND_i386_multiboot_TRUE@am__append_5477 = gdb.module +-@COND_i386_multiboot_TRUE@am__append_5478 = gdb.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_5479 = +-@COND_i386_multiboot_TRUE@am__append_5480 = $(nodist_gdb_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_5481 = \ ++@COND_i386_coreboot_TRUE@am__append_5468 = gdb.mod ++@COND_i386_coreboot_TRUE@am__append_5469 = gdb.marker ++@COND_i386_multiboot_TRUE@am__append_5470 = gdb.module ++@COND_i386_multiboot_TRUE@am__append_5471 = gdb.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_5472 = ++@COND_i386_multiboot_TRUE@am__append_5473 = $(nodist_gdb_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_5474 = \ + @COND_i386_multiboot_TRUE@ $(nodist_gdb_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ gdb.marker +-@COND_i386_multiboot_TRUE@am__append_5482 = gdb.mod +-@COND_i386_multiboot_TRUE@am__append_5483 = gdb.marker +-@COND_i386_ieee1275_TRUE@am__append_5484 = gdb.module +-@COND_i386_ieee1275_TRUE@am__append_5485 = gdb.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_5486 = +-@COND_i386_ieee1275_TRUE@am__append_5487 = $(nodist_gdb_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5488 = \ ++@COND_i386_multiboot_TRUE@am__append_5475 = gdb.mod ++@COND_i386_multiboot_TRUE@am__append_5476 = gdb.marker ++@COND_i386_ieee1275_TRUE@am__append_5477 = gdb.module ++@COND_i386_ieee1275_TRUE@am__append_5478 = gdb.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_5479 = ++@COND_i386_ieee1275_TRUE@am__append_5480 = $(nodist_gdb_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5481 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_gdb_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ gdb.marker +-@COND_i386_ieee1275_TRUE@am__append_5489 = gdb.mod +-@COND_i386_ieee1275_TRUE@am__append_5490 = gdb.marker +-@COND_x86_64_efi_TRUE@am__append_5491 = tpm.module +-@COND_x86_64_efi_TRUE@am__append_5492 = tpm.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_5482 = gdb.mod ++@COND_i386_ieee1275_TRUE@am__append_5483 = gdb.marker ++@COND_x86_64_efi_TRUE@am__append_5484 = tpm.module ++@COND_x86_64_efi_TRUE@am__append_5485 = tpm.module$(EXEEXT) + @COND_x86_64_efi_FALSE@tpm_module_DEPENDENCIES = +-@COND_x86_64_efi_TRUE@am__append_5493 = +-@COND_x86_64_efi_TRUE@am__append_5494 = $(nodist_tpm_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5495 = $(nodist_tpm_module_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_5486 = ++@COND_x86_64_efi_TRUE@am__append_5487 = $(nodist_tpm_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5488 = $(nodist_tpm_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ tpm.marker +-@COND_x86_64_efi_TRUE@am__append_5496 = tpm.mod +-@COND_x86_64_efi_TRUE@am__append_5497 = tpm.marker +-@COND_i386_pc_TRUE@am__append_5498 = rdmsr.module +-@COND_i386_pc_TRUE@am__append_5499 = rdmsr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5489 = tpm.mod ++@COND_x86_64_efi_TRUE@am__append_5490 = tpm.marker ++@COND_i386_pc_TRUE@am__append_5491 = rdmsr.module ++@COND_i386_pc_TRUE@am__append_5492 = rdmsr.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@rdmsr_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_5500 = +-@COND_i386_pc_TRUE@am__append_5501 = $(nodist_rdmsr_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_5502 = $(nodist_rdmsr_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5493 = ++@COND_i386_pc_TRUE@am__append_5494 = $(nodist_rdmsr_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_5495 = $(nodist_rdmsr_module_SOURCES) \ + @COND_i386_pc_TRUE@ rdmsr.marker +-@COND_i386_pc_TRUE@am__append_5503 = rdmsr.mod +-@COND_i386_pc_TRUE@am__append_5504 = rdmsr.marker +-@COND_i386_efi_TRUE@am__append_5505 = rdmsr.module +-@COND_i386_efi_TRUE@am__append_5506 = rdmsr.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_5507 = +-@COND_i386_efi_TRUE@am__append_5508 = $(nodist_rdmsr_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5509 = $(nodist_rdmsr_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5496 = rdmsr.mod ++@COND_i386_pc_TRUE@am__append_5497 = rdmsr.marker ++@COND_i386_efi_TRUE@am__append_5498 = rdmsr.module ++@COND_i386_efi_TRUE@am__append_5499 = rdmsr.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_5500 = ++@COND_i386_efi_TRUE@am__append_5501 = $(nodist_rdmsr_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5502 = $(nodist_rdmsr_module_SOURCES) \ + @COND_i386_efi_TRUE@ rdmsr.marker +-@COND_i386_efi_TRUE@am__append_5510 = rdmsr.mod +-@COND_i386_efi_TRUE@am__append_5511 = rdmsr.marker +-@COND_i386_qemu_TRUE@am__append_5512 = rdmsr.module +-@COND_i386_qemu_TRUE@am__append_5513 = rdmsr.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_5514 = +-@COND_i386_qemu_TRUE@am__append_5515 = $(nodist_rdmsr_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5516 = $(nodist_rdmsr_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_5503 = rdmsr.mod ++@COND_i386_efi_TRUE@am__append_5504 = rdmsr.marker ++@COND_i386_qemu_TRUE@am__append_5505 = rdmsr.module ++@COND_i386_qemu_TRUE@am__append_5506 = rdmsr.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_5507 = ++@COND_i386_qemu_TRUE@am__append_5508 = $(nodist_rdmsr_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5509 = $(nodist_rdmsr_module_SOURCES) \ + @COND_i386_qemu_TRUE@ rdmsr.marker +-@COND_i386_qemu_TRUE@am__append_5517 = rdmsr.mod +-@COND_i386_qemu_TRUE@am__append_5518 = rdmsr.marker +-@COND_i386_coreboot_TRUE@am__append_5519 = rdmsr.module +-@COND_i386_coreboot_TRUE@am__append_5520 = rdmsr.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_5521 = +-@COND_i386_coreboot_TRUE@am__append_5522 = $(nodist_rdmsr_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_5523 = \ ++@COND_i386_qemu_TRUE@am__append_5510 = rdmsr.mod ++@COND_i386_qemu_TRUE@am__append_5511 = rdmsr.marker ++@COND_i386_coreboot_TRUE@am__append_5512 = rdmsr.module ++@COND_i386_coreboot_TRUE@am__append_5513 = rdmsr.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_5514 = ++@COND_i386_coreboot_TRUE@am__append_5515 = $(nodist_rdmsr_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_5516 = \ + @COND_i386_coreboot_TRUE@ $(nodist_rdmsr_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ rdmsr.marker +-@COND_i386_coreboot_TRUE@am__append_5524 = rdmsr.mod +-@COND_i386_coreboot_TRUE@am__append_5525 = rdmsr.marker +-@COND_i386_multiboot_TRUE@am__append_5526 = rdmsr.module +-@COND_i386_multiboot_TRUE@am__append_5527 = rdmsr.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_5528 = +-@COND_i386_multiboot_TRUE@am__append_5529 = $(nodist_rdmsr_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_5530 = \ ++@COND_i386_coreboot_TRUE@am__append_5517 = rdmsr.mod ++@COND_i386_coreboot_TRUE@am__append_5518 = rdmsr.marker ++@COND_i386_multiboot_TRUE@am__append_5519 = rdmsr.module ++@COND_i386_multiboot_TRUE@am__append_5520 = rdmsr.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_5521 = ++@COND_i386_multiboot_TRUE@am__append_5522 = $(nodist_rdmsr_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_5523 = \ + @COND_i386_multiboot_TRUE@ $(nodist_rdmsr_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ rdmsr.marker +-@COND_i386_multiboot_TRUE@am__append_5531 = rdmsr.mod +-@COND_i386_multiboot_TRUE@am__append_5532 = rdmsr.marker +-@COND_i386_ieee1275_TRUE@am__append_5533 = rdmsr.module +-@COND_i386_ieee1275_TRUE@am__append_5534 = rdmsr.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_5535 = +-@COND_i386_ieee1275_TRUE@am__append_5536 = $(nodist_rdmsr_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5537 = \ ++@COND_i386_multiboot_TRUE@am__append_5524 = rdmsr.mod ++@COND_i386_multiboot_TRUE@am__append_5525 = rdmsr.marker ++@COND_i386_ieee1275_TRUE@am__append_5526 = rdmsr.module ++@COND_i386_ieee1275_TRUE@am__append_5527 = rdmsr.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_5528 = ++@COND_i386_ieee1275_TRUE@am__append_5529 = $(nodist_rdmsr_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5530 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_rdmsr_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ rdmsr.marker +-@COND_i386_ieee1275_TRUE@am__append_5538 = rdmsr.mod +-@COND_i386_ieee1275_TRUE@am__append_5539 = rdmsr.marker +-@COND_x86_64_efi_TRUE@am__append_5540 = rdmsr.module +-@COND_x86_64_efi_TRUE@am__append_5541 = rdmsr.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_5542 = +-@COND_x86_64_efi_TRUE@am__append_5543 = $(nodist_rdmsr_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5544 = \ ++@COND_i386_ieee1275_TRUE@am__append_5531 = rdmsr.mod ++@COND_i386_ieee1275_TRUE@am__append_5532 = rdmsr.marker ++@COND_x86_64_efi_TRUE@am__append_5533 = rdmsr.module ++@COND_x86_64_efi_TRUE@am__append_5534 = rdmsr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5535 = ++@COND_x86_64_efi_TRUE@am__append_5536 = $(nodist_rdmsr_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5537 = \ + @COND_x86_64_efi_TRUE@ $(nodist_rdmsr_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ rdmsr.marker +-@COND_x86_64_efi_TRUE@am__append_5545 = rdmsr.mod +-@COND_x86_64_efi_TRUE@am__append_5546 = rdmsr.marker +-@COND_i386_pc_TRUE@am__append_5547 = wrmsr.module +-@COND_i386_pc_TRUE@am__append_5548 = wrmsr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5538 = rdmsr.mod ++@COND_x86_64_efi_TRUE@am__append_5539 = rdmsr.marker ++@COND_i386_pc_TRUE@am__append_5540 = wrmsr.module ++@COND_i386_pc_TRUE@am__append_5541 = wrmsr.module$(EXEEXT) + @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_x86_64_efi_FALSE@wrmsr_module_DEPENDENCIES = +-@COND_i386_pc_TRUE@am__append_5549 = +-@COND_i386_pc_TRUE@am__append_5550 = $(nodist_wrmsr_module_SOURCES) +-@COND_i386_pc_TRUE@am__append_5551 = $(nodist_wrmsr_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5542 = ++@COND_i386_pc_TRUE@am__append_5543 = $(nodist_wrmsr_module_SOURCES) ++@COND_i386_pc_TRUE@am__append_5544 = $(nodist_wrmsr_module_SOURCES) \ + @COND_i386_pc_TRUE@ wrmsr.marker +-@COND_i386_pc_TRUE@am__append_5552 = wrmsr.mod +-@COND_i386_pc_TRUE@am__append_5553 = wrmsr.marker +-@COND_i386_efi_TRUE@am__append_5554 = wrmsr.module +-@COND_i386_efi_TRUE@am__append_5555 = wrmsr.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__append_5556 = +-@COND_i386_efi_TRUE@am__append_5557 = $(nodist_wrmsr_module_SOURCES) +-@COND_i386_efi_TRUE@am__append_5558 = $(nodist_wrmsr_module_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5545 = wrmsr.mod ++@COND_i386_pc_TRUE@am__append_5546 = wrmsr.marker ++@COND_i386_efi_TRUE@am__append_5547 = wrmsr.module ++@COND_i386_efi_TRUE@am__append_5548 = wrmsr.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__append_5549 = ++@COND_i386_efi_TRUE@am__append_5550 = $(nodist_wrmsr_module_SOURCES) ++@COND_i386_efi_TRUE@am__append_5551 = $(nodist_wrmsr_module_SOURCES) \ + @COND_i386_efi_TRUE@ wrmsr.marker +-@COND_i386_efi_TRUE@am__append_5559 = wrmsr.mod +-@COND_i386_efi_TRUE@am__append_5560 = wrmsr.marker +-@COND_i386_qemu_TRUE@am__append_5561 = wrmsr.module +-@COND_i386_qemu_TRUE@am__append_5562 = wrmsr.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__append_5563 = +-@COND_i386_qemu_TRUE@am__append_5564 = $(nodist_wrmsr_module_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5565 = $(nodist_wrmsr_module_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_5552 = wrmsr.mod ++@COND_i386_efi_TRUE@am__append_5553 = wrmsr.marker ++@COND_i386_qemu_TRUE@am__append_5554 = wrmsr.module ++@COND_i386_qemu_TRUE@am__append_5555 = wrmsr.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__append_5556 = ++@COND_i386_qemu_TRUE@am__append_5557 = $(nodist_wrmsr_module_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5558 = $(nodist_wrmsr_module_SOURCES) \ + @COND_i386_qemu_TRUE@ wrmsr.marker +-@COND_i386_qemu_TRUE@am__append_5566 = wrmsr.mod +-@COND_i386_qemu_TRUE@am__append_5567 = wrmsr.marker +-@COND_i386_coreboot_TRUE@am__append_5568 = wrmsr.module +-@COND_i386_coreboot_TRUE@am__append_5569 = wrmsr.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__append_5570 = +-@COND_i386_coreboot_TRUE@am__append_5571 = $(nodist_wrmsr_module_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_5572 = \ ++@COND_i386_qemu_TRUE@am__append_5559 = wrmsr.mod ++@COND_i386_qemu_TRUE@am__append_5560 = wrmsr.marker ++@COND_i386_coreboot_TRUE@am__append_5561 = wrmsr.module ++@COND_i386_coreboot_TRUE@am__append_5562 = wrmsr.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__append_5563 = ++@COND_i386_coreboot_TRUE@am__append_5564 = $(nodist_wrmsr_module_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_5565 = \ + @COND_i386_coreboot_TRUE@ $(nodist_wrmsr_module_SOURCES) \ + @COND_i386_coreboot_TRUE@ wrmsr.marker +-@COND_i386_coreboot_TRUE@am__append_5573 = wrmsr.mod +-@COND_i386_coreboot_TRUE@am__append_5574 = wrmsr.marker +-@COND_i386_multiboot_TRUE@am__append_5575 = wrmsr.module +-@COND_i386_multiboot_TRUE@am__append_5576 = wrmsr.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__append_5577 = +-@COND_i386_multiboot_TRUE@am__append_5578 = $(nodist_wrmsr_module_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_5579 = \ ++@COND_i386_coreboot_TRUE@am__append_5566 = wrmsr.mod ++@COND_i386_coreboot_TRUE@am__append_5567 = wrmsr.marker ++@COND_i386_multiboot_TRUE@am__append_5568 = wrmsr.module ++@COND_i386_multiboot_TRUE@am__append_5569 = wrmsr.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__append_5570 = ++@COND_i386_multiboot_TRUE@am__append_5571 = $(nodist_wrmsr_module_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_5572 = \ + @COND_i386_multiboot_TRUE@ $(nodist_wrmsr_module_SOURCES) \ + @COND_i386_multiboot_TRUE@ wrmsr.marker +-@COND_i386_multiboot_TRUE@am__append_5580 = wrmsr.mod +-@COND_i386_multiboot_TRUE@am__append_5581 = wrmsr.marker +-@COND_i386_ieee1275_TRUE@am__append_5582 = wrmsr.module +-@COND_i386_ieee1275_TRUE@am__append_5583 = wrmsr.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__append_5584 = +-@COND_i386_ieee1275_TRUE@am__append_5585 = $(nodist_wrmsr_module_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5586 = \ ++@COND_i386_multiboot_TRUE@am__append_5573 = wrmsr.mod ++@COND_i386_multiboot_TRUE@am__append_5574 = wrmsr.marker ++@COND_i386_ieee1275_TRUE@am__append_5575 = wrmsr.module ++@COND_i386_ieee1275_TRUE@am__append_5576 = wrmsr.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__append_5577 = ++@COND_i386_ieee1275_TRUE@am__append_5578 = $(nodist_wrmsr_module_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5579 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_wrmsr_module_SOURCES) \ + @COND_i386_ieee1275_TRUE@ wrmsr.marker +-@COND_i386_ieee1275_TRUE@am__append_5587 = wrmsr.mod +-@COND_i386_ieee1275_TRUE@am__append_5588 = wrmsr.marker +-@COND_x86_64_efi_TRUE@am__append_5589 = wrmsr.module +-@COND_x86_64_efi_TRUE@am__append_5590 = wrmsr.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__append_5591 = +-@COND_x86_64_efi_TRUE@am__append_5592 = $(nodist_wrmsr_module_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5593 = \ ++@COND_i386_ieee1275_TRUE@am__append_5580 = wrmsr.mod ++@COND_i386_ieee1275_TRUE@am__append_5581 = wrmsr.marker ++@COND_x86_64_efi_TRUE@am__append_5582 = wrmsr.module ++@COND_x86_64_efi_TRUE@am__append_5583 = wrmsr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__append_5584 = ++@COND_x86_64_efi_TRUE@am__append_5585 = $(nodist_wrmsr_module_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5586 = \ + @COND_x86_64_efi_TRUE@ $(nodist_wrmsr_module_SOURCES) \ + @COND_x86_64_efi_TRUE@ wrmsr.marker +-@COND_x86_64_efi_TRUE@am__append_5594 = wrmsr.mod +-@COND_x86_64_efi_TRUE@am__append_5595 = wrmsr.marker +-@COND_emu_TRUE@am__append_5596 = kernel.exec ++@COND_x86_64_efi_TRUE@am__append_5587 = wrmsr.mod ++@COND_x86_64_efi_TRUE@am__append_5588 = wrmsr.marker ++@COND_emu_TRUE@am__append_5589 = kernel.exec + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@kernel_exec_DEPENDENCIES = +-@COND_emu_TRUE@am__append_5597 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_emu_TRUE@am__append_5598 = $(nodist_kernel_exec_SOURCES) +-@COND_emu_TRUE@am__append_5599 = $(nodist_kernel_exec_SOURCES) \ ++@COND_emu_TRUE@am__append_5590 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_emu_TRUE@am__append_5591 = $(nodist_kernel_exec_SOURCES) ++@COND_emu_TRUE@am__append_5592 = $(nodist_kernel_exec_SOURCES) \ + @COND_emu_TRUE@ kernel.img +-@COND_emu_TRUE@am__append_5600 = kernel.img +-@COND_i386_pc_TRUE@am__append_5601 = kernel.exec +-@COND_i386_pc_TRUE@am__append_5602 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_pc_TRUE@am__append_5603 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_pc_TRUE@am__append_5604 = $(nodist_kernel_exec_SOURCES) \ ++@COND_emu_TRUE@am__append_5593 = kernel.img ++@COND_i386_pc_TRUE@am__append_5594 = kernel.exec ++@COND_i386_pc_TRUE@am__append_5595 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_pc_TRUE@am__append_5596 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_pc_TRUE@am__append_5597 = $(nodist_kernel_exec_SOURCES) \ + @COND_i386_pc_TRUE@ kernel.img +-@COND_i386_pc_TRUE@am__append_5605 = kernel.img +-@COND_i386_efi_TRUE@am__append_5606 = kernel.exec +-@COND_i386_efi_TRUE@am__append_5607 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_efi_TRUE@am__append_5608 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_efi_TRUE@am__append_5609 = $(nodist_kernel_exec_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5598 = kernel.img ++@COND_i386_efi_TRUE@am__append_5599 = kernel.exec ++@COND_i386_efi_TRUE@am__append_5600 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_efi_TRUE@am__append_5601 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_efi_TRUE@am__append_5602 = $(nodist_kernel_exec_SOURCES) \ + @COND_i386_efi_TRUE@ kernel.img +-@COND_i386_efi_TRUE@am__append_5610 = kernel.img +-@COND_i386_qemu_TRUE@am__append_5611 = kernel.exec +-@COND_i386_qemu_TRUE@am__append_5612 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_qemu_TRUE@am__append_5613 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5614 = $(nodist_kernel_exec_SOURCES) \ ++@COND_i386_efi_TRUE@am__append_5603 = kernel.img ++@COND_i386_qemu_TRUE@am__append_5604 = kernel.exec ++@COND_i386_qemu_TRUE@am__append_5605 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_qemu_TRUE@am__append_5606 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5607 = $(nodist_kernel_exec_SOURCES) \ + @COND_i386_qemu_TRUE@ kernel.img +-@COND_i386_qemu_TRUE@am__append_5615 = kernel.img +-@COND_i386_coreboot_TRUE@am__append_5616 = kernel.exec +-@COND_i386_coreboot_TRUE@am__append_5617 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_coreboot_TRUE@am__append_5618 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_coreboot_TRUE@am__append_5619 = \ ++@COND_i386_qemu_TRUE@am__append_5608 = kernel.img ++@COND_i386_coreboot_TRUE@am__append_5609 = kernel.exec ++@COND_i386_coreboot_TRUE@am__append_5610 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_coreboot_TRUE@am__append_5611 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_coreboot_TRUE@am__append_5612 = \ + @COND_i386_coreboot_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_i386_coreboot_TRUE@ kernel.img +-@COND_i386_coreboot_TRUE@am__append_5620 = kernel.img +-@COND_i386_multiboot_TRUE@am__append_5621 = kernel.exec +-@COND_i386_multiboot_TRUE@am__append_5622 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_multiboot_TRUE@am__append_5623 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_multiboot_TRUE@am__append_5624 = \ ++@COND_i386_coreboot_TRUE@am__append_5613 = kernel.img ++@COND_i386_multiboot_TRUE@am__append_5614 = kernel.exec ++@COND_i386_multiboot_TRUE@am__append_5615 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_multiboot_TRUE@am__append_5616 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_multiboot_TRUE@am__append_5617 = \ + @COND_i386_multiboot_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_i386_multiboot_TRUE@ kernel.img +-@COND_i386_multiboot_TRUE@am__append_5625 = kernel.img +-@COND_i386_ieee1275_TRUE@am__append_5626 = kernel.exec +-@COND_i386_ieee1275_TRUE@am__append_5627 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_ieee1275_TRUE@am__append_5628 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_ieee1275_TRUE@am__append_5629 = \ ++@COND_i386_multiboot_TRUE@am__append_5618 = kernel.img ++@COND_i386_ieee1275_TRUE@am__append_5619 = kernel.exec ++@COND_i386_ieee1275_TRUE@am__append_5620 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_ieee1275_TRUE@am__append_5621 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_ieee1275_TRUE@am__append_5622 = \ + @COND_i386_ieee1275_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_i386_ieee1275_TRUE@ kernel.img +-@COND_i386_ieee1275_TRUE@am__append_5630 = kernel.img +-@COND_x86_64_efi_TRUE@am__append_5631 = kernel.exec +-@COND_x86_64_efi_TRUE@am__append_5632 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_x86_64_efi_TRUE@am__append_5633 = $(nodist_kernel_exec_SOURCES) +-@COND_x86_64_efi_TRUE@am__append_5634 = $(nodist_kernel_exec_SOURCES) \ ++@COND_i386_ieee1275_TRUE@am__append_5623 = kernel.img ++@COND_x86_64_efi_TRUE@am__append_5624 = kernel.exec ++@COND_x86_64_efi_TRUE@am__append_5625 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_x86_64_efi_TRUE@am__append_5626 = $(nodist_kernel_exec_SOURCES) ++@COND_x86_64_efi_TRUE@am__append_5627 = $(nodist_kernel_exec_SOURCES) \ + @COND_x86_64_efi_TRUE@ kernel.img +-@COND_x86_64_efi_TRUE@am__append_5635 = kernel.img +-@COND_i386_xen_TRUE@am__append_5636 = kernel.exec +-@COND_i386_xen_TRUE@am__append_5637 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_xen_TRUE@am__append_5638 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_xen_TRUE@am__append_5639 = $(nodist_kernel_exec_SOURCES) \ ++@COND_x86_64_efi_TRUE@am__append_5628 = kernel.img ++@COND_i386_xen_TRUE@am__append_5629 = kernel.exec ++@COND_i386_xen_TRUE@am__append_5630 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_xen_TRUE@am__append_5631 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_xen_TRUE@am__append_5632 = $(nodist_kernel_exec_SOURCES) \ + @COND_i386_xen_TRUE@ kernel.img +-@COND_i386_xen_TRUE@am__append_5640 = kernel.img +-@COND_x86_64_xen_TRUE@am__append_5641 = kernel.exec +-@COND_x86_64_xen_TRUE@am__append_5642 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_x86_64_xen_TRUE@am__append_5643 = $(nodist_kernel_exec_SOURCES) +-@COND_x86_64_xen_TRUE@am__append_5644 = $(nodist_kernel_exec_SOURCES) \ ++@COND_i386_xen_TRUE@am__append_5633 = kernel.img ++@COND_x86_64_xen_TRUE@am__append_5634 = kernel.exec ++@COND_x86_64_xen_TRUE@am__append_5635 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_x86_64_xen_TRUE@am__append_5636 = $(nodist_kernel_exec_SOURCES) ++@COND_x86_64_xen_TRUE@am__append_5637 = $(nodist_kernel_exec_SOURCES) \ + @COND_x86_64_xen_TRUE@ kernel.img +-@COND_x86_64_xen_TRUE@am__append_5645 = kernel.img +-@COND_i386_xen_pvh_TRUE@am__append_5646 = kernel.exec +-@COND_i386_xen_pvh_TRUE@am__append_5647 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_i386_xen_pvh_TRUE@am__append_5648 = $(nodist_kernel_exec_SOURCES) +-@COND_i386_xen_pvh_TRUE@am__append_5649 = \ ++@COND_x86_64_xen_TRUE@am__append_5638 = kernel.img ++@COND_i386_xen_pvh_TRUE@am__append_5639 = kernel.exec ++@COND_i386_xen_pvh_TRUE@am__append_5640 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_i386_xen_pvh_TRUE@am__append_5641 = $(nodist_kernel_exec_SOURCES) ++@COND_i386_xen_pvh_TRUE@am__append_5642 = \ + @COND_i386_xen_pvh_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_i386_xen_pvh_TRUE@ kernel.img +-@COND_i386_xen_pvh_TRUE@am__append_5650 = kernel.img +-@COND_mips_loongson_TRUE@am__append_5651 = kernel.exec +-@COND_mips_loongson_TRUE@am__append_5652 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_mips_loongson_TRUE@am__append_5653 = $(nodist_kernel_exec_SOURCES) +-@COND_mips_loongson_TRUE@am__append_5654 = \ ++@COND_i386_xen_pvh_TRUE@am__append_5643 = kernel.img ++@COND_mips_loongson_TRUE@am__append_5644 = kernel.exec ++@COND_mips_loongson_TRUE@am__append_5645 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_mips_loongson_TRUE@am__append_5646 = $(nodist_kernel_exec_SOURCES) ++@COND_mips_loongson_TRUE@am__append_5647 = \ + @COND_mips_loongson_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_mips_loongson_TRUE@ kernel.img +-@COND_mips_loongson_TRUE@am__append_5655 = kernel.img +-@COND_sparc64_ieee1275_TRUE@am__append_5656 = kernel.exec +-@COND_sparc64_ieee1275_TRUE@am__append_5657 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_sparc64_ieee1275_TRUE@am__append_5658 = $(nodist_kernel_exec_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_5659 = \ ++@COND_mips_loongson_TRUE@am__append_5648 = kernel.img ++@COND_sparc64_ieee1275_TRUE@am__append_5649 = kernel.exec ++@COND_sparc64_ieee1275_TRUE@am__append_5650 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_sparc64_ieee1275_TRUE@am__append_5651 = $(nodist_kernel_exec_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_5652 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ kernel.img +-@COND_sparc64_ieee1275_TRUE@am__append_5660 = kernel.img +-@COND_powerpc_ieee1275_TRUE@am__append_5661 = kernel.exec +-@COND_powerpc_ieee1275_TRUE@am__append_5662 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_powerpc_ieee1275_TRUE@am__append_5663 = $(nodist_kernel_exec_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_5664 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_5653 = kernel.img ++@COND_powerpc_ieee1275_TRUE@am__append_5654 = kernel.exec ++@COND_powerpc_ieee1275_TRUE@am__append_5655 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_powerpc_ieee1275_TRUE@am__append_5656 = $(nodist_kernel_exec_SOURCES) ++@COND_powerpc_ieee1275_TRUE@am__append_5657 = \ + @COND_powerpc_ieee1275_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_powerpc_ieee1275_TRUE@ kernel.img +-@COND_powerpc_ieee1275_TRUE@am__append_5665 = kernel.img +-@COND_mips_arc_TRUE@am__append_5666 = kernel.exec +-@COND_mips_arc_TRUE@am__append_5667 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_mips_arc_TRUE@am__append_5668 = $(nodist_kernel_exec_SOURCES) +-@COND_mips_arc_TRUE@am__append_5669 = $(nodist_kernel_exec_SOURCES) \ ++@COND_powerpc_ieee1275_TRUE@am__append_5658 = kernel.img ++@COND_mips_arc_TRUE@am__append_5659 = kernel.exec ++@COND_mips_arc_TRUE@am__append_5660 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_mips_arc_TRUE@am__append_5661 = $(nodist_kernel_exec_SOURCES) ++@COND_mips_arc_TRUE@am__append_5662 = $(nodist_kernel_exec_SOURCES) \ + @COND_mips_arc_TRUE@ kernel.img +-@COND_mips_arc_TRUE@am__append_5670 = kernel.img +-@COND_ia64_efi_TRUE@am__append_5671 = kernel.exec +-@COND_ia64_efi_TRUE@am__append_5672 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_ia64_efi_TRUE@am__append_5673 = $(nodist_kernel_exec_SOURCES) +-@COND_ia64_efi_TRUE@am__append_5674 = $(nodist_kernel_exec_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_5663 = kernel.img ++@COND_ia64_efi_TRUE@am__append_5664 = kernel.exec ++@COND_ia64_efi_TRUE@am__append_5665 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_ia64_efi_TRUE@am__append_5666 = $(nodist_kernel_exec_SOURCES) ++@COND_ia64_efi_TRUE@am__append_5667 = $(nodist_kernel_exec_SOURCES) \ + @COND_ia64_efi_TRUE@ kernel.img +-@COND_ia64_efi_TRUE@am__append_5675 = kernel.img +-@COND_mips_qemu_mips_TRUE@am__append_5676 = kernel.exec +-@COND_mips_qemu_mips_TRUE@am__append_5677 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_mips_qemu_mips_TRUE@am__append_5678 = $(nodist_kernel_exec_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_5679 = \ ++@COND_ia64_efi_TRUE@am__append_5668 = kernel.img ++@COND_mips_qemu_mips_TRUE@am__append_5669 = kernel.exec ++@COND_mips_qemu_mips_TRUE@am__append_5670 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_mips_qemu_mips_TRUE@am__append_5671 = $(nodist_kernel_exec_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_5672 = \ + @COND_mips_qemu_mips_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ kernel.img +-@COND_mips_qemu_mips_TRUE@am__append_5680 = kernel.img +-@COND_arm_uboot_TRUE@am__append_5681 = kernel.exec +-@COND_arm_uboot_TRUE@am__append_5682 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_arm_uboot_TRUE@am__append_5683 = $(nodist_kernel_exec_SOURCES) +-@COND_arm_uboot_TRUE@am__append_5684 = $(nodist_kernel_exec_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_5673 = kernel.img ++@COND_arm_uboot_TRUE@am__append_5674 = kernel.exec ++@COND_arm_uboot_TRUE@am__append_5675 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_arm_uboot_TRUE@am__append_5676 = $(nodist_kernel_exec_SOURCES) ++@COND_arm_uboot_TRUE@am__append_5677 = $(nodist_kernel_exec_SOURCES) \ + @COND_arm_uboot_TRUE@ kernel.img +-@COND_arm_uboot_TRUE@am__append_5685 = kernel.img +-@COND_arm_efi_TRUE@am__append_5686 = kernel.exec +-@COND_arm_efi_TRUE@am__append_5687 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_arm_efi_TRUE@am__append_5688 = $(nodist_kernel_exec_SOURCES) +-@COND_arm_efi_TRUE@am__append_5689 = $(nodist_kernel_exec_SOURCES) \ ++@COND_arm_uboot_TRUE@am__append_5678 = kernel.img ++@COND_arm_efi_TRUE@am__append_5679 = kernel.exec ++@COND_arm_efi_TRUE@am__append_5680 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_arm_efi_TRUE@am__append_5681 = $(nodist_kernel_exec_SOURCES) ++@COND_arm_efi_TRUE@am__append_5682 = $(nodist_kernel_exec_SOURCES) \ + @COND_arm_efi_TRUE@ kernel.img +-@COND_arm_efi_TRUE@am__append_5690 = kernel.img +-@COND_arm64_efi_TRUE@am__append_5691 = kernel.exec +-@COND_arm64_efi_TRUE@am__append_5692 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_arm64_efi_TRUE@am__append_5693 = $(nodist_kernel_exec_SOURCES) +-@COND_arm64_efi_TRUE@am__append_5694 = $(nodist_kernel_exec_SOURCES) \ ++@COND_arm_efi_TRUE@am__append_5683 = kernel.img ++@COND_arm64_efi_TRUE@am__append_5684 = kernel.exec ++@COND_arm64_efi_TRUE@am__append_5685 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_arm64_efi_TRUE@am__append_5686 = $(nodist_kernel_exec_SOURCES) ++@COND_arm64_efi_TRUE@am__append_5687 = $(nodist_kernel_exec_SOURCES) \ + @COND_arm64_efi_TRUE@ kernel.img +-@COND_arm64_efi_TRUE@am__append_5695 = kernel.img +-@COND_arm_coreboot_TRUE@am__append_5696 = kernel.exec +-@COND_arm_coreboot_TRUE@am__append_5697 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_arm_coreboot_TRUE@am__append_5698 = $(nodist_kernel_exec_SOURCES) +-@COND_arm_coreboot_TRUE@am__append_5699 = \ ++@COND_arm64_efi_TRUE@am__append_5688 = kernel.img ++@COND_arm_coreboot_TRUE@am__append_5689 = kernel.exec ++@COND_arm_coreboot_TRUE@am__append_5690 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_arm_coreboot_TRUE@am__append_5691 = $(nodist_kernel_exec_SOURCES) ++@COND_arm_coreboot_TRUE@am__append_5692 = \ + @COND_arm_coreboot_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_arm_coreboot_TRUE@ kernel.img +-@COND_arm_coreboot_TRUE@am__append_5700 = kernel.img +-@COND_riscv32_efi_TRUE@am__append_5701 = kernel.exec +-@COND_riscv32_efi_TRUE@am__append_5702 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_riscv32_efi_TRUE@am__append_5703 = $(nodist_kernel_exec_SOURCES) +-@COND_riscv32_efi_TRUE@am__append_5704 = \ ++@COND_arm_coreboot_TRUE@am__append_5693 = kernel.img ++@COND_riscv32_efi_TRUE@am__append_5694 = kernel.exec ++@COND_riscv32_efi_TRUE@am__append_5695 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_riscv32_efi_TRUE@am__append_5696 = $(nodist_kernel_exec_SOURCES) ++@COND_riscv32_efi_TRUE@am__append_5697 = \ + @COND_riscv32_efi_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_riscv32_efi_TRUE@ kernel.img +-@COND_riscv32_efi_TRUE@am__append_5705 = kernel.img +-@COND_riscv64_efi_TRUE@am__append_5706 = kernel.exec +-@COND_riscv64_efi_TRUE@am__append_5707 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S +-@COND_riscv64_efi_TRUE@am__append_5708 = $(nodist_kernel_exec_SOURCES) +-@COND_riscv64_efi_TRUE@am__append_5709 = \ ++@COND_riscv32_efi_TRUE@am__append_5698 = kernel.img ++@COND_riscv64_efi_TRUE@am__append_5699 = kernel.exec ++@COND_riscv64_efi_TRUE@am__append_5700 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S ++@COND_riscv64_efi_TRUE@am__append_5701 = $(nodist_kernel_exec_SOURCES) ++@COND_riscv64_efi_TRUE@am__append_5702 = \ + @COND_riscv64_efi_TRUE@ $(nodist_kernel_exec_SOURCES) \ + @COND_riscv64_efi_TRUE@ kernel.img +-@COND_riscv64_efi_TRUE@am__append_5710 = kernel.img +-@COND_i386_pc_TRUE@am__append_5711 = boot.image +-@COND_i386_pc_TRUE@am__append_5712 = +-@COND_i386_pc_TRUE@am__append_5713 = $(nodist_boot_image_SOURCES) +-@COND_i386_pc_TRUE@am__append_5714 = $(nodist_boot_image_SOURCES) \ ++@COND_riscv64_efi_TRUE@am__append_5703 = kernel.img ++@COND_i386_pc_TRUE@am__append_5704 = boot.image ++@COND_i386_pc_TRUE@am__append_5705 = ++@COND_i386_pc_TRUE@am__append_5706 = $(nodist_boot_image_SOURCES) ++@COND_i386_pc_TRUE@am__append_5707 = $(nodist_boot_image_SOURCES) \ + @COND_i386_pc_TRUE@ boot.img +-@COND_i386_pc_TRUE@am__append_5715 = boot.img +-@COND_i386_qemu_TRUE@am__append_5716 = boot.image +-@COND_i386_qemu_TRUE@am__append_5717 = +-@COND_i386_qemu_TRUE@am__append_5718 = $(nodist_boot_image_SOURCES) +-@COND_i386_qemu_TRUE@am__append_5719 = $(nodist_boot_image_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5708 = boot.img ++@COND_i386_qemu_TRUE@am__append_5709 = boot.image ++@COND_i386_qemu_TRUE@am__append_5710 = ++@COND_i386_qemu_TRUE@am__append_5711 = $(nodist_boot_image_SOURCES) ++@COND_i386_qemu_TRUE@am__append_5712 = $(nodist_boot_image_SOURCES) \ + @COND_i386_qemu_TRUE@ boot.img +-@COND_i386_qemu_TRUE@am__append_5720 = boot.img +-@COND_sparc64_ieee1275_TRUE@am__append_5721 = boot.image +-@COND_sparc64_ieee1275_TRUE@am__append_5722 = +-@COND_sparc64_ieee1275_TRUE@am__append_5723 = $(nodist_boot_image_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_5724 = \ ++@COND_i386_qemu_TRUE@am__append_5713 = boot.img ++@COND_sparc64_ieee1275_TRUE@am__append_5714 = boot.image ++@COND_sparc64_ieee1275_TRUE@am__append_5715 = ++@COND_sparc64_ieee1275_TRUE@am__append_5716 = $(nodist_boot_image_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_5717 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_boot_image_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ boot.img +-@COND_sparc64_ieee1275_TRUE@am__append_5725 = boot.img +-@COND_i386_pc_TRUE@am__append_5726 = boot_hybrid.image cdboot.image +-@COND_i386_pc_TRUE@am__append_5727 = +-@COND_i386_pc_TRUE@am__append_5728 = \ ++@COND_sparc64_ieee1275_TRUE@am__append_5718 = boot.img ++@COND_i386_pc_TRUE@am__append_5719 = boot_hybrid.image cdboot.image ++@COND_i386_pc_TRUE@am__append_5720 = ++@COND_i386_pc_TRUE@am__append_5721 = \ + @COND_i386_pc_TRUE@ $(nodist_boot_hybrid_image_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_cdboot_image_SOURCES) +-@COND_i386_pc_TRUE@am__append_5729 = \ ++@COND_i386_pc_TRUE@am__append_5722 = \ + @COND_i386_pc_TRUE@ $(nodist_boot_hybrid_image_SOURCES) \ + @COND_i386_pc_TRUE@ boot_hybrid.img \ + @COND_i386_pc_TRUE@ $(nodist_cdboot_image_SOURCES) cdboot.img +-@COND_i386_pc_TRUE@am__append_5730 = boot_hybrid.img cdboot.img +-@COND_sparc64_ieee1275_TRUE@am__append_5731 = cdboot.image +-@COND_sparc64_ieee1275_TRUE@am__append_5732 = +-@COND_sparc64_ieee1275_TRUE@am__append_5733 = $(nodist_cdboot_image_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_5734 = \ ++@COND_i386_pc_TRUE@am__append_5723 = boot_hybrid.img cdboot.img ++@COND_sparc64_ieee1275_TRUE@am__append_5724 = cdboot.image ++@COND_sparc64_ieee1275_TRUE@am__append_5725 = ++@COND_sparc64_ieee1275_TRUE@am__append_5726 = $(nodist_cdboot_image_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_5727 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_cdboot_image_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ cdboot.img +-@COND_sparc64_ieee1275_TRUE@am__append_5735 = cdboot.img +-@COND_i386_pc_TRUE@am__append_5736 = pxeboot.image diskboot.image +-@COND_i386_pc_TRUE@am__append_5737 = +-@COND_i386_pc_TRUE@am__append_5738 = $(nodist_pxeboot_image_SOURCES) \ ++@COND_sparc64_ieee1275_TRUE@am__append_5728 = cdboot.img ++@COND_i386_pc_TRUE@am__append_5729 = pxeboot.image diskboot.image ++@COND_i386_pc_TRUE@am__append_5730 = ++@COND_i386_pc_TRUE@am__append_5731 = $(nodist_pxeboot_image_SOURCES) \ + @COND_i386_pc_TRUE@ $(nodist_diskboot_image_SOURCES) +-@COND_i386_pc_TRUE@am__append_5739 = $(nodist_pxeboot_image_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5732 = $(nodist_pxeboot_image_SOURCES) \ + @COND_i386_pc_TRUE@ pxeboot.img \ + @COND_i386_pc_TRUE@ $(nodist_diskboot_image_SOURCES) \ + @COND_i386_pc_TRUE@ diskboot.img +-@COND_i386_pc_TRUE@am__append_5740 = pxeboot.img diskboot.img +-@COND_sparc64_ieee1275_TRUE@am__append_5741 = diskboot.image +-@COND_sparc64_ieee1275_TRUE@am__append_5742 = +-@COND_sparc64_ieee1275_TRUE@am__append_5743 = $(nodist_diskboot_image_SOURCES) +-@COND_sparc64_ieee1275_TRUE@am__append_5744 = \ ++@COND_i386_pc_TRUE@am__append_5733 = pxeboot.img diskboot.img ++@COND_sparc64_ieee1275_TRUE@am__append_5734 = diskboot.image ++@COND_sparc64_ieee1275_TRUE@am__append_5735 = ++@COND_sparc64_ieee1275_TRUE@am__append_5736 = $(nodist_diskboot_image_SOURCES) ++@COND_sparc64_ieee1275_TRUE@am__append_5737 = \ + @COND_sparc64_ieee1275_TRUE@ $(nodist_diskboot_image_SOURCES) \ + @COND_sparc64_ieee1275_TRUE@ diskboot.img +-@COND_sparc64_ieee1275_TRUE@am__append_5745 = diskboot.img +-@COND_i386_pc_TRUE@am__append_5746 = lnxboot.image +-@COND_i386_pc_TRUE@am__append_5747 = +-@COND_i386_pc_TRUE@am__append_5748 = $(nodist_lnxboot_image_SOURCES) +-@COND_i386_pc_TRUE@am__append_5749 = $(nodist_lnxboot_image_SOURCES) \ ++@COND_sparc64_ieee1275_TRUE@am__append_5738 = diskboot.img ++@COND_i386_pc_TRUE@am__append_5739 = lnxboot.image ++@COND_i386_pc_TRUE@am__append_5740 = ++@COND_i386_pc_TRUE@am__append_5741 = $(nodist_lnxboot_image_SOURCES) ++@COND_i386_pc_TRUE@am__append_5742 = $(nodist_lnxboot_image_SOURCES) \ + @COND_i386_pc_TRUE@ lnxboot.img +-@COND_i386_pc_TRUE@am__append_5750 = lnxboot.img +-@COND_mips_loongson_TRUE@am__append_5751 = xz_decompress.image +-@COND_mips_loongson_TRUE@am__append_5752 = +-@COND_mips_loongson_TRUE@am__append_5753 = $(nodist_xz_decompress_image_SOURCES) +-@COND_mips_loongson_TRUE@am__append_5754 = $(nodist_xz_decompress_image_SOURCES) \ ++@COND_i386_pc_TRUE@am__append_5743 = lnxboot.img ++@COND_mips_loongson_TRUE@am__append_5744 = xz_decompress.image ++@COND_mips_loongson_TRUE@am__append_5745 = ++@COND_mips_loongson_TRUE@am__append_5746 = $(nodist_xz_decompress_image_SOURCES) ++@COND_mips_loongson_TRUE@am__append_5747 = $(nodist_xz_decompress_image_SOURCES) \ + @COND_mips_loongson_TRUE@ xz_decompress.img +-@COND_mips_loongson_TRUE@am__append_5755 = xz_decompress.img +-@COND_mips_arc_TRUE@am__append_5756 = xz_decompress.image +-@COND_mips_arc_TRUE@am__append_5757 = +-@COND_mips_arc_TRUE@am__append_5758 = $(nodist_xz_decompress_image_SOURCES) +-@COND_mips_arc_TRUE@am__append_5759 = \ ++@COND_mips_loongson_TRUE@am__append_5748 = xz_decompress.img ++@COND_mips_arc_TRUE@am__append_5749 = xz_decompress.image ++@COND_mips_arc_TRUE@am__append_5750 = ++@COND_mips_arc_TRUE@am__append_5751 = $(nodist_xz_decompress_image_SOURCES) ++@COND_mips_arc_TRUE@am__append_5752 = \ + @COND_mips_arc_TRUE@ $(nodist_xz_decompress_image_SOURCES) \ + @COND_mips_arc_TRUE@ xz_decompress.img +-@COND_mips_arc_TRUE@am__append_5760 = xz_decompress.img +-@COND_mips_qemu_mips_TRUE@am__append_5761 = xz_decompress.image +-@COND_mips_qemu_mips_TRUE@am__append_5762 = +-@COND_mips_qemu_mips_TRUE@am__append_5763 = $(nodist_xz_decompress_image_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_5764 = $(nodist_xz_decompress_image_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_5753 = xz_decompress.img ++@COND_mips_qemu_mips_TRUE@am__append_5754 = xz_decompress.image ++@COND_mips_qemu_mips_TRUE@am__append_5755 = ++@COND_mips_qemu_mips_TRUE@am__append_5756 = $(nodist_xz_decompress_image_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_5757 = $(nodist_xz_decompress_image_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ xz_decompress.img +-@COND_mips_qemu_mips_TRUE@am__append_5765 = xz_decompress.img +-@COND_mips_loongson_TRUE@am__append_5766 = none_decompress.image +-@COND_mips_loongson_TRUE@am__append_5767 = +-@COND_mips_loongson_TRUE@am__append_5768 = $(nodist_none_decompress_image_SOURCES) +-@COND_mips_loongson_TRUE@am__append_5769 = $(nodist_none_decompress_image_SOURCES) \ ++@COND_mips_qemu_mips_TRUE@am__append_5758 = xz_decompress.img ++@COND_mips_loongson_TRUE@am__append_5759 = none_decompress.image ++@COND_mips_loongson_TRUE@am__append_5760 = ++@COND_mips_loongson_TRUE@am__append_5761 = $(nodist_none_decompress_image_SOURCES) ++@COND_mips_loongson_TRUE@am__append_5762 = $(nodist_none_decompress_image_SOURCES) \ + @COND_mips_loongson_TRUE@ none_decompress.img +-@COND_mips_loongson_TRUE@am__append_5770 = none_decompress.img +-@COND_mips_arc_TRUE@am__append_5771 = none_decompress.image +-@COND_mips_arc_TRUE@am__append_5772 = +-@COND_mips_arc_TRUE@am__append_5773 = $(nodist_none_decompress_image_SOURCES) +-@COND_mips_arc_TRUE@am__append_5774 = \ ++@COND_mips_loongson_TRUE@am__append_5763 = none_decompress.img ++@COND_mips_arc_TRUE@am__append_5764 = none_decompress.image ++@COND_mips_arc_TRUE@am__append_5765 = ++@COND_mips_arc_TRUE@am__append_5766 = $(nodist_none_decompress_image_SOURCES) ++@COND_mips_arc_TRUE@am__append_5767 = \ + @COND_mips_arc_TRUE@ $(nodist_none_decompress_image_SOURCES) \ + @COND_mips_arc_TRUE@ none_decompress.img +-@COND_mips_arc_TRUE@am__append_5775 = none_decompress.img +-@COND_mips_qemu_mips_TRUE@am__append_5776 = none_decompress.image +-@COND_mips_qemu_mips_TRUE@am__append_5777 = +-@COND_mips_qemu_mips_TRUE@am__append_5778 = $(nodist_none_decompress_image_SOURCES) +-@COND_mips_qemu_mips_TRUE@am__append_5779 = $(nodist_none_decompress_image_SOURCES) \ ++@COND_mips_arc_TRUE@am__append_5768 = none_decompress.img ++@COND_mips_qemu_mips_TRUE@am__append_5769 = none_decompress.image ++@COND_mips_qemu_mips_TRUE@am__append_5770 = ++@COND_mips_qemu_mips_TRUE@am__append_5771 = $(nodist_none_decompress_image_SOURCES) ++@COND_mips_qemu_mips_TRUE@am__append_5772 = $(nodist_none_decompress_image_SOURCES) \ + @COND_mips_qemu_mips_TRUE@ none_decompress.img +-@COND_mips_qemu_mips_TRUE@am__append_5780 = none_decompress.img +-@COND_i386_pc_TRUE@am__append_5781 = lzma_decompress.image +-@COND_i386_pc_TRUE@am__append_5782 = +-@COND_i386_pc_TRUE@am__append_5783 = $(nodist_lzma_decompress_image_SOURCES) +-@COND_i386_pc_TRUE@am__append_5784 = \ ++@COND_mips_qemu_mips_TRUE@am__append_5773 = none_decompress.img ++@COND_i386_pc_TRUE@am__append_5774 = lzma_decompress.image ++@COND_i386_pc_TRUE@am__append_5775 = ++@COND_i386_pc_TRUE@am__append_5776 = $(nodist_lzma_decompress_image_SOURCES) ++@COND_i386_pc_TRUE@am__append_5777 = \ + @COND_i386_pc_TRUE@ $(nodist_lzma_decompress_image_SOURCES) \ + @COND_i386_pc_TRUE@ lzma_decompress.img +-@COND_i386_pc_TRUE@am__append_5785 = lzma_decompress.img +-@COND_mips_loongson_TRUE@am__append_5786 = fwstart.image \ ++@COND_i386_pc_TRUE@am__append_5778 = lzma_decompress.img ++@COND_mips_loongson_TRUE@am__append_5779 = fwstart.image \ + @COND_mips_loongson_TRUE@ fwstart_fuloong2f.image +-@COND_mips_loongson_TRUE@am__append_5787 = +-@COND_mips_loongson_TRUE@am__append_5788 = \ ++@COND_mips_loongson_TRUE@am__append_5780 = ++@COND_mips_loongson_TRUE@am__append_5781 = \ + @COND_mips_loongson_TRUE@ $(nodist_fwstart_image_SOURCES) \ + @COND_mips_loongson_TRUE@ $(nodist_fwstart_fuloong2f_image_SOURCES) +-@COND_mips_loongson_TRUE@am__append_5789 = \ ++@COND_mips_loongson_TRUE@am__append_5782 = \ + @COND_mips_loongson_TRUE@ $(nodist_fwstart_image_SOURCES) \ + @COND_mips_loongson_TRUE@ fwstart.img \ + @COND_mips_loongson_TRUE@ $(nodist_fwstart_fuloong2f_image_SOURCES) \ + @COND_mips_loongson_TRUE@ fwstart_fuloong2f.img +-@COND_mips_loongson_TRUE@am__append_5790 = fwstart.img \ ++@COND_mips_loongson_TRUE@am__append_5783 = fwstart.img \ + @COND_mips_loongson_TRUE@ fwstart_fuloong2f.img +-@COND_emu_TRUE@am__append_5791 = grub-emu grub-emu-lite +-@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5792 = grub-emu.1 +-@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5793 = grub-emu.1 +-@COND_emu_TRUE@am__append_5794 = +-@COND_emu_TRUE@am__append_5795 = $(nodist_grub_emu_SOURCES) \ ++@COND_emu_TRUE@am__append_5784 = grub-emu grub-emu-lite ++@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5785 = grub-emu.1 ++@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5786 = grub-emu.1 ++@COND_emu_TRUE@am__append_5787 = ++@COND_emu_TRUE@am__append_5788 = $(nodist_grub_emu_SOURCES) \ + @COND_emu_TRUE@ $(nodist_grub_emu_lite_SOURCES) +-@COND_emu_TRUE@am__append_5796 = $(nodist_grub_emu_SOURCES) \ ++@COND_emu_TRUE@am__append_5789 = $(nodist_grub_emu_SOURCES) \ + @COND_emu_TRUE@ $(nodist_grub_emu_lite_SOURCES) +-@COND_powerpc_ieee1275_TRUE@am__append_5797 = grub.chrp bootinfo.txt +-@COND_powerpc_ieee1275_TRUE@am__append_5798 = grub.chrp bootinfo.txt +-@COND_powerpc_ieee1275_TRUE@am__append_5799 = +-@COND_powerpc_ieee1275_TRUE@am__append_5800 = \ ++@COND_powerpc_ieee1275_TRUE@am__append_5790 = grub.chrp bootinfo.txt ++@COND_powerpc_ieee1275_TRUE@am__append_5791 = grub.chrp bootinfo.txt ++@COND_powerpc_ieee1275_TRUE@am__append_5792 = ++@COND_powerpc_ieee1275_TRUE@am__append_5793 = \ + @COND_powerpc_ieee1275_TRUE@ boot/powerpc/grub.chrp.in \ + @COND_powerpc_ieee1275_TRUE@ boot/powerpc/bootinfo.txt.in +-@COND_emu_TRUE@am__append_5801 = $(top_srcdir)/include/grub/compiler-rt-emu.h +-@COND_emu_FALSE@am__append_5802 = $(top_srcdir)/include/grub/compiler-rt.h +-@COND_i386_pc_TRUE@am__append_5803 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_emu_TRUE@am__append_5794 = $(top_srcdir)/include/grub/compiler-rt-emu.h ++@COND_emu_FALSE@am__append_5795 = $(top_srcdir)/include/grub/compiler-rt.h ++@COND_i386_pc_TRUE@am__append_5796 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_i386_pc_TRUE@ $(top_builddir)/include/grub/machine/pxe.h \ + @COND_i386_pc_TRUE@ $(top_builddir)/include/grub/machine/int.h \ + @COND_i386_pc_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h +-@COND_i386_xen_pvh_TRUE@am__append_5804 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_i386_xen_pvh_TRUE@am__append_5797 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_i386_xen_pvh_TRUE@ $(top_builddir)/include/grub/machine/int.h \ + @COND_i386_xen_pvh_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h \ + @COND_i386_xen_pvh_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ +@@ -7834,14 +7824,14 @@ TESTS = + @COND_i386_xen_pvh_TRUE@ $(top_srcdir)/include/grub/lib/arg.h \ + @COND_i386_xen_pvh_TRUE@ $(top_srcdir)/include/grub/xen.h \ + @COND_i386_xen_pvh_TRUE@ $(top_srcdir)/include/grub/i386/xen/hypercall.h +-@COND_i386_efi_TRUE@am__append_5805 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_i386_efi_TRUE@am__append_5798 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_i386_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \ + @COND_i386_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \ + @COND_i386_efi_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h \ + @COND_i386_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h \ + @COND_i386_efi_TRUE@ $(top_srcdir)/include/grub/pci.h \ + @COND_i386_efi_TRUE@ $(top_srcdir)/include/grub/i386/pmtimer.h +-@COND_i386_coreboot_TRUE@am__append_5806 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_i386_coreboot_TRUE@am__append_5799 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_i386_coreboot_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h \ + @COND_i386_coreboot_TRUE@ $(top_srcdir)/include/grub/coreboot/lbio.h \ + @COND_i386_coreboot_TRUE@ $(top_srcdir)/include/grub/video.h \ +@@ -7850,56 +7840,56 @@ TESTS = + @COND_i386_coreboot_TRUE@ $(top_srcdir)/include/grub/font.h \ + @COND_i386_coreboot_TRUE@ $(top_srcdir)/include/grub/bufio.h \ + @COND_i386_coreboot_TRUE@ $(top_srcdir)/include/grub/acpi.h +-@COND_i386_multiboot_TRUE@am__append_5807 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_i386_multiboot_TRUE@am__append_5800 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_i386_multiboot_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h \ + @COND_i386_multiboot_TRUE@ $(top_srcdir)/include/grub/acpi.h +-@COND_i386_qemu_TRUE@am__append_5808 = \ ++@COND_i386_qemu_TRUE@am__append_5801 = \ + @COND_i386_qemu_TRUE@ $(top_srcdir)/include/grub/pci.h \ + @COND_i386_qemu_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h +-@COND_i386_ieee1275_TRUE@am__append_5809 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_i386_ieee1275_TRUE@am__append_5802 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_i386_ieee1275_TRUE@ $(top_srcdir)/include/grub/ieee1275/ieee1275.h \ + @COND_i386_ieee1275_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ + @COND_i386_ieee1275_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_i386_ieee1275_TRUE@ $(top_srcdir)/include/grub/lib/arg.h \ + @COND_i386_ieee1275_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h +-@COND_i386_xen_TRUE@am__append_5810 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_i386_xen_TRUE@am__append_5803 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_i386_xen_TRUE@ $(top_srcdir)/include/grub/xen.h \ + @COND_i386_xen_TRUE@ $(top_srcdir)/include/grub/i386/xen/hypercall.h \ + @COND_i386_xen_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ + @COND_i386_xen_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_i386_xen_TRUE@ $(top_srcdir)/include/grub/lib/arg.h \ + @COND_i386_xen_TRUE@ $(top_srcdir)/include/grub/loader.h +-@COND_x86_64_xen_TRUE@am__append_5811 = \ ++@COND_x86_64_xen_TRUE@am__append_5804 = \ + @COND_x86_64_xen_TRUE@ $(top_srcdir)/include/grub/xen.h \ + @COND_x86_64_xen_TRUE@ $(top_srcdir)/include/grub/x86_64/xen/hypercall.h \ + @COND_x86_64_xen_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ + @COND_x86_64_xen_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_x86_64_xen_TRUE@ $(top_srcdir)/include/grub/lib/arg.h \ + @COND_x86_64_xen_TRUE@ $(top_srcdir)/include/grub/loader.h +-@COND_x86_64_efi_TRUE@am__append_5812 = $(top_builddir)/include/grub/machine/kernel.h \ ++@COND_x86_64_efi_TRUE@am__append_5805 = $(top_builddir)/include/grub/machine/kernel.h \ + @COND_x86_64_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \ + @COND_x86_64_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \ + @COND_x86_64_efi_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h \ + @COND_x86_64_efi_TRUE@ $(top_srcdir)/include/grub/pci.h \ + @COND_x86_64_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h \ + @COND_x86_64_efi_TRUE@ $(top_srcdir)/include/grub/i386/pmtimer.h +-@COND_ia64_efi_TRUE@am__append_5813 = \ ++@COND_ia64_efi_TRUE@am__append_5806 = \ + @COND_ia64_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \ + @COND_ia64_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \ + @COND_ia64_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h +-@COND_mips_TRUE@am__append_5814 = $(top_builddir)/include/grub/cpu/kernel.h +-@COND_mips_arc_TRUE@am__append_5815 = \ ++@COND_mips_TRUE@am__append_5807 = $(top_builddir)/include/grub/cpu/kernel.h ++@COND_mips_arc_TRUE@am__append_5808 = \ + @COND_mips_arc_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_mips_arc_TRUE@ $(top_srcdir)/include/grub/arc/arc.h \ + @COND_mips_arc_TRUE@ $(top_srcdir)/include/grub/terminfo.h +-@COND_mips_qemu_mips_TRUE@am__append_5816 = $(top_builddir)/include/grub/keyboard_layouts.h \ ++@COND_mips_qemu_mips_TRUE@am__append_5809 = $(top_builddir)/include/grub/keyboard_layouts.h \ + @COND_mips_qemu_mips_TRUE@ $(top_builddir)/include/grub/machine/kernel.h \ + @COND_mips_qemu_mips_TRUE@ $(top_srcdir)/include/grub/serial.h \ + @COND_mips_qemu_mips_TRUE@ $(top_srcdir)/include/grub/loader.h \ + @COND_mips_qemu_mips_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ + @COND_mips_qemu_mips_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_mips_qemu_mips_TRUE@ $(top_srcdir)/include/grub/lib/arg.h +-@COND_mips_loongson_TRUE@am__append_5817 = $(top_builddir)/include/grub/keyboard_layouts.h \ ++@COND_mips_loongson_TRUE@am__append_5810 = $(top_builddir)/include/grub/keyboard_layouts.h \ + @COND_mips_loongson_TRUE@ $(top_builddir)/include/grub/machine/kernel.h \ + @COND_mips_loongson_TRUE@ $(top_builddir)/include/grub/machine/time.h \ + @COND_mips_loongson_TRUE@ $(top_srcdir)/include/grub/video.h \ +@@ -7915,24 +7905,24 @@ TESTS = + @COND_mips_loongson_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ + @COND_mips_loongson_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_mips_loongson_TRUE@ $(top_srcdir)/include/grub/lib/arg.h +-@COND_mips_qemu_mips_TRUE@am__append_5818 = $(top_builddir)/include/grub/machine/memory.h \ ++@COND_mips_qemu_mips_TRUE@am__append_5811 = $(top_builddir)/include/grub/machine/memory.h \ + @COND_mips_qemu_mips_TRUE@ $(top_builddir)/include/grub/machine/kernel.h +-@COND_powerpc_ieee1275_TRUE@am__append_5819 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \ ++@COND_powerpc_ieee1275_TRUE@am__append_5812 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \ + @COND_powerpc_ieee1275_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ + @COND_powerpc_ieee1275_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_powerpc_ieee1275_TRUE@ $(top_srcdir)/include/grub/lib/arg.h +-@COND_sparc64_ieee1275_TRUE@am__append_5820 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \ ++@COND_sparc64_ieee1275_TRUE@am__append_5813 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \ + @COND_sparc64_ieee1275_TRUE@ $(top_srcdir)/include/grub/sparc64/ieee1275/ieee1275.h \ + @COND_sparc64_ieee1275_TRUE@ $(top_srcdir)/include/grub/terminfo.h \ + @COND_sparc64_ieee1275_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_sparc64_ieee1275_TRUE@ $(top_srcdir)/include/grub/lib/arg.h +-@COND_arm_uboot_TRUE@am__append_5821 = \ ++@COND_arm_uboot_TRUE@am__append_5814 = \ + @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/uboot/uboot.h \ + @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/uboot/disk.h \ + @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/extcmd.h \ + @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/lib/arg.h \ + @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/arm/system.h +-@COND_arm_coreboot_TRUE@am__append_5822 = $(top_builddir)/include/grub/keyboard_layouts.h \ ++@COND_arm_coreboot_TRUE@am__append_5815 = $(top_builddir)/include/grub/keyboard_layouts.h \ + @COND_arm_coreboot_TRUE@ $(top_srcdir)/include/grub/arm/system.h \ + @COND_arm_coreboot_TRUE@ $(top_srcdir)/include/grub/video.h \ + @COND_arm_coreboot_TRUE@ $(top_srcdir)/include/grub/video_fb.h \ +@@ -7943,35 +7933,35 @@ TESTS = + @COND_arm_coreboot_TRUE@ $(top_srcdir)/include/grub/dma.h \ + @COND_arm_coreboot_TRUE@ $(top_srcdir)/include/grub/arm/coreboot/kernel.h \ + @COND_arm_coreboot_TRUE@ $(top_srcdir)/include/grub/fdtbus.h +-@COND_arm_efi_TRUE@am__append_5823 = \ ++@COND_arm_efi_TRUE@am__append_5816 = \ + @COND_arm_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \ + @COND_arm_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \ + @COND_arm_efi_TRUE@ $(top_srcdir)/include/grub/arm/system.h \ + @COND_arm_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h +-@COND_arm64_efi_TRUE@am__append_5824 = \ ++@COND_arm64_efi_TRUE@am__append_5817 = \ + @COND_arm64_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \ + @COND_arm64_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \ + @COND_arm64_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h +-@COND_riscv32_efi_TRUE@am__append_5825 = \ ++@COND_riscv32_efi_TRUE@am__append_5818 = \ + @COND_riscv32_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \ + @COND_riscv32_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \ + @COND_riscv32_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h +-@COND_riscv64_efi_TRUE@am__append_5826 = \ ++@COND_riscv64_efi_TRUE@am__append_5819 = \ + @COND_riscv64_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \ + @COND_riscv64_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \ + @COND_riscv64_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h +-@COND_emu_TRUE@am__append_5827 = \ ++@COND_emu_TRUE@am__append_5820 = \ + @COND_emu_TRUE@ $(top_srcdir)/include/grub/datetime.h \ + @COND_emu_TRUE@ $(top_srcdir)/include/grub/emu/misc.h \ + @COND_emu_TRUE@ $(top_srcdir)/include/grub/emu/net.h \ + @COND_emu_TRUE@ $(top_srcdir)/include/grub/emu/hostdisk.h \ + @COND_emu_TRUE@ $(top_srcdir)/include/grub/emu/hostfile.h \ + @COND_emu_TRUE@ $(top_srcdir)/include/grub/extcmd.h +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5828 = $(top_srcdir)/include/grub/sdl.h +-@COND_GRUB_EMU_PCI_TRUE@@COND_emu_TRUE@am__append_5829 = $(top_srcdir)/include/grub/libpciaccess.h +-@COND_emu_TRUE@am__append_5830 = grub_emu_init.h grub_emu_init.c +-@COND_ENABLE_EFIEMU_TRUE@am__append_5831 = efiemu32.o efiemu64.o +-@COND_ENABLE_EFIEMU_TRUE@am__append_5832 = efiemu32.o efiemu64.o efiemu64_c.o efiemu64_s.o ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5821 = $(top_srcdir)/include/grub/sdl.h ++@COND_GRUB_EMU_PCI_TRUE@@COND_emu_TRUE@am__append_5822 = $(top_srcdir)/include/grub/libpciaccess.h ++@COND_emu_TRUE@am__append_5823 = grub_emu_init.h grub_emu_init.c ++@COND_ENABLE_EFIEMU_TRUE@am__append_5824 = efiemu32.o efiemu64.o ++@COND_ENABLE_EFIEMU_TRUE@am__append_5825 = efiemu32.o efiemu64.o efiemu64_c.o efiemu64_s.o + subdir = grub-core + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ +@@ -8380,591 +8370,590 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(platformdir)" \ + @COND_arm_coreboot_TRUE@am__EXEEXT_290 = reboot.module$(EXEEXT) + @COND_riscv32_efi_TRUE@am__EXEEXT_291 = reboot.module$(EXEEXT) + @COND_riscv64_efi_TRUE@am__EXEEXT_292 = reboot.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_293 = shim_lock.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_294 = hdparm.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_295 = hdparm.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_296 = hdparm.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_297 = hdparm.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_298 = hdparm.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_299 = hdparm.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_300 = hdparm.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_301 = hdparm.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_302 = hdparm.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_303 = loadbios.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_304 = loadbios.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_305 = lspci.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_306 = lspci.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_307 = lspci.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_308 = lspci.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_309 = lspci.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_310 = lspci.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_311 = lspci.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_312 = lspci.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_313 = play.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_314 = play.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_315 = play.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_316 = play.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_317 = play.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_318 = play.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_319 = play.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_320 = spkmodem.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_321 = spkmodem.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_322 = spkmodem.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_323 = spkmodem.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_324 = spkmodem.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_325 = spkmodem.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_326 = spkmodem.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_327 = morse.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_328 = morse.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_329 = morse.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_330 = morse.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_331 = morse.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_332 = morse.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_333 = morse.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_334 = setpci.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_335 = setpci.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_336 = setpci.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_337 = setpci.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_338 = setpci.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_339 = setpci.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_340 = setpci.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_341 = setpci.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_342 = pcidump.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_343 = pcidump.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_344 = pcidump.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_345 = pcidump.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_346 = pcidump.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_347 = pcidump.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_348 = pcidump.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_349 = pcidump.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_350 = suspend.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_351 = suspend.module$(EXEEXT) \ ++@COND_i386_pc_TRUE@am__EXEEXT_293 = hdparm.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_294 = hdparm.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_295 = hdparm.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_296 = hdparm.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_297 = hdparm.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_298 = hdparm.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_299 = hdparm.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_300 = hdparm.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_301 = hdparm.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_302 = loadbios.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_303 = loadbios.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_304 = lspci.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_305 = lspci.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_306 = lspci.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_307 = lspci.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_308 = lspci.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_309 = lspci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_310 = lspci.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_311 = lspci.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_312 = play.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_313 = play.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_314 = play.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_315 = play.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_316 = play.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_317 = play.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_318 = play.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_319 = spkmodem.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_320 = spkmodem.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_321 = spkmodem.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_322 = spkmodem.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_323 = spkmodem.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_324 = spkmodem.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_325 = spkmodem.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_326 = morse.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_327 = morse.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_328 = morse.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_329 = morse.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_330 = morse.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_331 = morse.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_332 = morse.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_333 = setpci.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_334 = setpci.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_335 = setpci.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_336 = setpci.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_337 = setpci.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_338 = setpci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_339 = setpci.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_340 = setpci.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_341 = pcidump.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_342 = pcidump.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_343 = pcidump.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_344 = pcidump.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_345 = pcidump.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_346 = pcidump.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_347 = pcidump.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_348 = pcidump.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_349 = suspend.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_350 = suspend.module$(EXEEXT) \ + @COND_powerpc_ieee1275_TRUE@ escc.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_352 = usbtest.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_353 = usbtest.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_354 = usbtest.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_355 = usbtest.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_356 = usbtest.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_357 = usbtest.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_358 = usbtest.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_359 = usbtest.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_360 = usbtest.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_361 = ata.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_362 = ata.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_363 = ata.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_364 = ata.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_365 = ata.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_366 = ata.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_367 = ata.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_368 = ata.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_369 = ata.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_370 = ahci.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_371 = ahci.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_372 = ahci.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_373 = ahci.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_374 = ahci.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_375 = ahci.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_376 = ahci.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_377 = ahci.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_378 = pata.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_379 = pata.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_380 = pata.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_381 = pata.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_382 = pata.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_383 = pata.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_384 = pata.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_385 = pata.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_386 = pata.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_387 = biosdisk.module$(EXEEXT) \ ++@COND_i386_pc_TRUE@am__EXEEXT_351 = usbtest.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_352 = usbtest.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_353 = usbtest.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_354 = usbtest.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_355 = usbtest.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_356 = usbtest.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_357 = usbtest.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_358 = usbtest.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__EXEEXT_359 = usbtest.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_360 = ata.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_361 = ata.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_362 = ata.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_363 = ata.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_364 = ata.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_365 = ata.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_366 = ata.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_367 = ata.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_368 = ata.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_369 = ahci.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_370 = ahci.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_371 = ahci.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_372 = ahci.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_373 = ahci.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_374 = ahci.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_375 = ahci.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_376 = ahci.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_377 = pata.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_378 = pata.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_379 = pata.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_380 = pata.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_381 = pata.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_382 = pata.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_383 = pata.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_384 = pata.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_385 = pata.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_386 = biosdisk.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ usbms.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_388 = usbms.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_389 = usbms.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_390 = usbms.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_391 = usbms.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_392 = usbms.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_393 = usbms.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_394 = usbms.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_395 = usbms.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_396 = nand.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_397 = efiemu.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_398 = efiemu.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_399 = efiemu.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_400 = efiemu.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_401 = efiemu.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_402 = font.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_403 = font.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_404 = font.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_405 = font.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_406 = font.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_407 = font.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_408 = font.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_409 = font.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_410 = font.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_411 = font.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_412 = font.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_413 = font.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_414 = font.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_415 = font.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_416 = font.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_417 = font.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_418 = font.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_419 = font.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_420 = font.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_421 = font.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_422 = pxe.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_423 = bufio.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_424 = bufio.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_425 = bufio.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_426 = bufio.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_427 = bufio.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_428 = bufio.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_429 = bufio.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_430 = bufio.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_431 = bufio.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_432 = bufio.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_433 = bufio.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_434 = bufio.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_435 = bufio.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_436 = bufio.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_437 = bufio.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_438 = bufio.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_439 = bufio.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_440 = bufio.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_441 = bufio.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_442 = bufio.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_443 = relocator.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_444 = relocator.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_445 = relocator.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_446 = relocator.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_447 = relocator.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_448 = relocator.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_449 = relocator.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_450 = relocator.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_451 = relocator.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_452 = relocator.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_453 = relocator.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_454 = \ ++@COND_i386_efi_TRUE@am__EXEEXT_387 = usbms.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_388 = usbms.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_389 = usbms.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_390 = usbms.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_391 = usbms.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_392 = usbms.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_393 = usbms.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__EXEEXT_394 = usbms.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_395 = nand.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_396 = efiemu.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_397 = efiemu.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_398 = efiemu.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_399 = efiemu.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_400 = efiemu.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_401 = font.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_402 = font.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_403 = font.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_404 = font.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_405 = font.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_406 = font.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_407 = font.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_408 = font.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_409 = font.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_410 = font.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_411 = font.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_412 = font.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_413 = font.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_414 = font.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_415 = font.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_416 = font.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_417 = font.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_418 = font.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_419 = font.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_420 = font.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_421 = pxe.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_422 = bufio.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_423 = bufio.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_424 = bufio.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_425 = bufio.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_426 = bufio.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_427 = bufio.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_428 = bufio.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_429 = bufio.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_430 = bufio.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_431 = bufio.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_432 = bufio.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_433 = bufio.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_434 = bufio.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_435 = bufio.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_436 = bufio.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_437 = bufio.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_438 = bufio.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_439 = bufio.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_440 = bufio.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_441 = bufio.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_442 = relocator.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_443 = relocator.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_444 = relocator.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_445 = relocator.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_446 = relocator.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_447 = relocator.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_448 = relocator.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_449 = relocator.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_450 = relocator.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_451 = relocator.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_452 = relocator.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_453 = \ + @COND_powerpc_ieee1275_TRUE@ relocator.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_455 = relocator.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_456 = relocator.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_457 = datetime.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_458 = datetime.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_459 = datetime.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_460 = datetime.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_461 = datetime.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_462 = datetime.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_463 = datetime.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_464 = datetime.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_465 = datetime.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_466 = datetime.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_467 = datetime.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_468 = datetime.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_469 = datetime.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_470 = datetime.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_471 = datetime.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_472 = datetime.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_473 = datetime.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_474 = datetime.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_475 = datetime.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_476 = datetime.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_477 = datetime.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_478 = datetime.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_479 = aout.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_480 = aout.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_481 = aout.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_482 = aout.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_483 = aout.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_484 = aout.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_485 = aout.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_486 = bsd.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_487 = bsd.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_488 = bsd.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_489 = bsd.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_490 = bsd.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_491 = bsd.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_492 = bsd.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_493 = plan9.module$(EXEEXT) \ ++@COND_mips_arc_TRUE@am__EXEEXT_454 = relocator.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_455 = relocator.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_456 = datetime.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_457 = datetime.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_458 = datetime.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_459 = datetime.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_460 = datetime.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_461 = datetime.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_462 = datetime.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_463 = datetime.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_464 = datetime.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_465 = datetime.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_466 = datetime.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_467 = datetime.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_468 = datetime.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_469 = datetime.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_470 = datetime.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_471 = datetime.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_472 = datetime.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_473 = datetime.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_474 = datetime.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__EXEEXT_475 = datetime.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_476 = datetime.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_477 = datetime.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_478 = aout.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_479 = aout.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_480 = aout.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_481 = aout.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_482 = aout.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_483 = aout.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_484 = aout.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_485 = bsd.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_486 = bsd.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_487 = bsd.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_488 = bsd.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_489 = bsd.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_490 = bsd.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_491 = bsd.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_492 = plan9.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ linux16.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_494 = linux16.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_495 = linux16.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_496 = linux16.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_497 = linux16.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_498 = linux16.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_499 = linux16.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_500 = ntldr.module$(EXEEXT) \ ++@COND_i386_efi_TRUE@am__EXEEXT_493 = linux16.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_494 = linux16.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_495 = linux16.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_496 = linux16.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_497 = linux16.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_498 = linux16.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_499 = ntldr.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ truecrypt.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ freedos.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ pxechain.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ multiboot2.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_501 = multiboot2.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_502 = multiboot2.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_503 = multiboot2.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_504 = multiboot2.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_505 = multiboot2.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_506 = multiboot2.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_507 = multiboot2.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_508 = multiboot2.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_509 = multiboot2.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_510 = multiboot2.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_511 = multiboot.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_512 = multiboot.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_513 = multiboot.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_514 = multiboot.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_515 = multiboot.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_516 = multiboot.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_517 = multiboot.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_518 = multiboot.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_519 = xen_boot.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_520 = linux.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_521 = linux.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_522 = linux.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_523 = linux.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_524 = linux.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_525 = linux.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_526 = linux.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_527 = linux.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_528 = linux.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_529 = linux.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_530 = linux.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_531 = linux.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_532 = linux.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_533 = linux.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_534 = linux.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_535 = linux.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_536 = linux.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_537 = linux.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_538 = linux.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_539 = linux.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_540 = linux.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_541 = linux.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_542 = fdt.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_543 = fdt.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_544 = fdt.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_545 = fdt.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_546 = fdt.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_547 = xnu.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_548 = xnu.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_549 = xnu.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_550 = xnu.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_551 = xnu.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_552 = random.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_553 = random.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_554 = random.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_555 = random.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_556 = random.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_557 = appleldr.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_558 = appleldr.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_559 = chain.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_560 = chain.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_561 = chain.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_562 = chain.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_563 = chain.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_564 = chain.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_565 = chain.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_566 = chain.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_567 = chain.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_568 = mmap.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_569 = mmap.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_570 = mmap.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_571 = mmap.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_572 = mmap.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_573 = mmap.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_574 = mmap.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_575 = mmap.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_576 = mmap.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_577 = mmap.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_578 = mmap.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_579 = mmap.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_580 = mmap.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_581 = mmap.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_582 = mmap.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_583 = mmap.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_584 = at_keyboard.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_585 = at_keyboard.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_586 = at_keyboard.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_587 = at_keyboard.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_588 = \ ++@COND_i386_efi_TRUE@am__EXEEXT_500 = multiboot2.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_501 = multiboot2.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_502 = multiboot2.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_503 = multiboot2.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_504 = multiboot2.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_505 = multiboot2.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_506 = multiboot2.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_507 = multiboot2.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_508 = multiboot2.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_509 = multiboot2.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_510 = multiboot.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_511 = multiboot.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_512 = multiboot.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_513 = multiboot.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_514 = multiboot.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_515 = multiboot.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_516 = multiboot.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_517 = multiboot.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_518 = xen_boot.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_519 = linux.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_520 = linux.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_521 = linux.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_522 = linux.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_523 = linux.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_524 = linux.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_525 = linux.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_526 = linux.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_527 = linux.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_528 = linux.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_529 = linux.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_530 = linux.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_531 = linux.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_532 = linux.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_533 = linux.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_534 = linux.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_535 = linux.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_536 = linux.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_537 = linux.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__EXEEXT_538 = linux.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_539 = linux.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_540 = linux.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_541 = fdt.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_542 = fdt.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_543 = fdt.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_544 = fdt.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_545 = fdt.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_546 = xnu.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_547 = xnu.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_548 = xnu.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_549 = xnu.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_550 = xnu.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_551 = random.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_552 = random.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_553 = random.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_554 = random.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_555 = random.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_556 = appleldr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_557 = appleldr.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_558 = chain.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_559 = chain.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_560 = chain.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_561 = chain.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_562 = chain.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_563 = chain.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_564 = chain.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_565 = chain.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_566 = chain.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_567 = mmap.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_568 = mmap.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_569 = mmap.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_570 = mmap.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_571 = mmap.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_572 = mmap.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_573 = mmap.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_574 = mmap.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_575 = mmap.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_576 = mmap.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_577 = mmap.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_578 = mmap.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_579 = mmap.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_580 = mmap.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_581 = mmap.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_582 = mmap.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_583 = at_keyboard.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_584 = at_keyboard.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_585 = at_keyboard.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_586 = at_keyboard.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_587 = \ + @COND_i386_multiboot_TRUE@ at_keyboard.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_589 = at_keyboard.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_590 = at_keyboard.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_591 = gfxterm.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_592 = gfxterm.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_593 = gfxterm.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_594 = gfxterm.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_595 = gfxterm.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_596 = gfxterm.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_597 = gfxterm.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_598 = gfxterm.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_599 = gfxterm.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_600 = gfxterm.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_601 = gfxterm.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_602 = gfxterm.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_603 = gfxterm.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_604 = gfxterm.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_605 = gfxterm.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_606 = gfxterm.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_607 = gfxterm.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_608 = gfxterm.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_609 = gfxterm.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_610 = gfxterm.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_611 = serial.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_612 = serial.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_613 = serial.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_614 = serial.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_615 = serial.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_616 = serial.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_617 = serial.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_618 = serial.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_619 = serial.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_620 = serial.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_621 = serial.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_622 = serial.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_623 = serial.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_624 = serial.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_625 = serial.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_626 = serial.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_627 = sendkey.module$(EXEEXT) \ ++@COND_i386_ieee1275_TRUE@am__EXEEXT_588 = at_keyboard.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_589 = at_keyboard.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_590 = gfxterm.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_591 = gfxterm.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_592 = gfxterm.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_593 = gfxterm.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_594 = gfxterm.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_595 = gfxterm.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_596 = gfxterm.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_597 = gfxterm.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_598 = gfxterm.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_599 = gfxterm.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_600 = gfxterm.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_601 = gfxterm.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_602 = gfxterm.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_603 = gfxterm.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_604 = gfxterm.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_605 = gfxterm.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_606 = gfxterm.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_607 = gfxterm.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_608 = gfxterm.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_609 = gfxterm.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_610 = serial.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_611 = serial.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_612 = serial.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_613 = serial.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_614 = serial.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_615 = serial.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_616 = serial.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_617 = serial.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_618 = serial.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_619 = serial.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_620 = serial.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_621 = serial.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_622 = serial.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__EXEEXT_623 = serial.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_624 = serial.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_625 = serial.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_626 = sendkey.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ terminfo.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_628 = terminfo.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_629 = terminfo.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_630 = terminfo.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_631 = terminfo.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_632 = terminfo.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_633 = terminfo.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_634 = terminfo.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_635 = terminfo.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_636 = terminfo.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_637 = terminfo.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_638 = terminfo.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_639 = usb_keyboard.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_640 = usb_keyboard.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_641 = usb_keyboard.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_642 = \ ++@COND_i386_efi_TRUE@am__EXEEXT_627 = terminfo.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_628 = terminfo.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_629 = terminfo.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_630 = terminfo.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_631 = terminfo.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_632 = terminfo.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_633 = terminfo.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_634 = terminfo.module$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__EXEEXT_635 = terminfo.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_636 = terminfo.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_637 = terminfo.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_638 = usb_keyboard.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_639 = usb_keyboard.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_640 = usb_keyboard.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_641 = \ + @COND_i386_coreboot_TRUE@ usb_keyboard.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_643 = \ ++@COND_i386_multiboot_TRUE@am__EXEEXT_642 = \ + @COND_i386_multiboot_TRUE@ usb_keyboard.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_644 = \ ++@COND_i386_ieee1275_TRUE@am__EXEEXT_643 = \ + @COND_i386_ieee1275_TRUE@ usb_keyboard.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_645 = usb_keyboard.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_646 = \ ++@COND_x86_64_efi_TRUE@am__EXEEXT_644 = usb_keyboard.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_645 = \ + @COND_mips_loongson_TRUE@ usb_keyboard.module$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_647 = usb_keyboard.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_648 = vga.module$(EXEEXT) \ ++@COND_arm_coreboot_TRUE@am__EXEEXT_646 = usb_keyboard.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_647 = vga.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ vga_text.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ mda_text.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_649 = mda_text.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_650 = mda_text.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_651 = mda_text.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_652 = video_cirrus.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_653 = video_cirrus.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_654 = video_cirrus.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_655 = \ ++@COND_i386_qemu_TRUE@am__EXEEXT_648 = mda_text.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_649 = mda_text.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_650 = mda_text.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_651 = video_cirrus.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_652 = video_cirrus.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_653 = video_cirrus.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_654 = \ + @COND_i386_coreboot_TRUE@ video_cirrus.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_656 = \ ++@COND_i386_multiboot_TRUE@am__EXEEXT_655 = \ + @COND_i386_multiboot_TRUE@ video_cirrus.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_657 = \ ++@COND_i386_ieee1275_TRUE@am__EXEEXT_656 = \ + @COND_i386_ieee1275_TRUE@ video_cirrus.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_658 = video_cirrus.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_659 = video_bochs.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_660 = video_bochs.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_661 = video_bochs.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_662 = video_bochs.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_663 = \ ++@COND_x86_64_efi_TRUE@am__EXEEXT_657 = video_cirrus.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_658 = video_bochs.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_659 = video_bochs.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_660 = video_bochs.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_661 = video_bochs.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_662 = \ + @COND_i386_multiboot_TRUE@ video_bochs.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_664 = video_bochs.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_665 = video_bochs.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_666 = legacy_password_test.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_667 = \ ++@COND_i386_ieee1275_TRUE@am__EXEEXT_663 = video_bochs.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_664 = video_bochs.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_665 = legacy_password_test.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_666 = \ + @COND_i386_pc_TRUE@ legacy_password_test.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_668 = \ ++@COND_i386_efi_TRUE@am__EXEEXT_667 = \ + @COND_i386_efi_TRUE@ legacy_password_test.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_669 = \ ++@COND_x86_64_efi_TRUE@am__EXEEXT_668 = \ + @COND_x86_64_efi_TRUE@ legacy_password_test.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_670 = \ ++@COND_i386_xen_TRUE@am__EXEEXT_669 = \ + @COND_i386_xen_TRUE@ legacy_password_test.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_671 = \ ++@COND_x86_64_xen_TRUE@am__EXEEXT_670 = \ + @COND_x86_64_xen_TRUE@ legacy_password_test.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_672 = \ ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_671 = \ + @COND_i386_xen_pvh_TRUE@ legacy_password_test.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_673 = div.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_674 = div.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_675 = div.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_676 = div.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_677 = div.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_678 = div.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_679 = div.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_680 = div.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_681 = div.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_682 = div.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_683 = div.module$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_684 = div.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_685 = div.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_686 = div.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_687 = div.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_688 = div.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_689 = div.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_690 = div.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_691 = efi_gop.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_692 = efi_gop.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_693 = efi_gop.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_694 = efi_gop.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_695 = efi_gop.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_696 = efi_gop.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_697 = efi_gop.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_698 = efi_uga.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_699 = efi_uga.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_700 = vbe.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_701 = video_fb.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_702 = video_fb.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_703 = video_fb.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_704 = video_fb.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_705 = video_fb.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_706 = video_fb.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_707 = video_fb.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_708 = video_fb.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_709 = video_fb.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_710 = video_fb.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_711 = video_fb.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_712 = video_fb.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_713 = video_fb.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_714 = video_fb.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_715 = video_fb.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_716 = video_fb.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_717 = video_fb.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_718 = video_fb.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_719 = video_fb.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_720 = video_fb.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_721 = video.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_722 = video.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_723 = video.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_724 = video.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_725 = video.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_726 = video.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_727 = video.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_728 = video.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_729 = video.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_730 = video.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_731 = video.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_732 = video.module$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_733 = video.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_734 = video.module$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_735 = video.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_736 = video.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_737 = video.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_738 = video.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_739 = video.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_740 = video.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_741 = \ ++@COND_emu_TRUE@am__EXEEXT_672 = div.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_673 = div.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_674 = div.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_675 = div.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_676 = div.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_677 = div.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_678 = div.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_679 = div.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_680 = div.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_681 = div.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_682 = div.module$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_683 = div.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_684 = div.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_685 = div.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_686 = div.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_687 = div.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_688 = div.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_689 = div.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_690 = efi_gop.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_691 = efi_gop.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_692 = efi_gop.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_693 = efi_gop.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_694 = efi_gop.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_695 = efi_gop.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_696 = efi_gop.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_697 = efi_uga.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_698 = efi_uga.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_699 = vbe.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_700 = video_fb.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_701 = video_fb.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_702 = video_fb.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_703 = video_fb.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_704 = video_fb.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_705 = video_fb.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_706 = video_fb.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_707 = video_fb.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_708 = video_fb.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_709 = video_fb.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_710 = video_fb.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_711 = video_fb.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_712 = video_fb.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_713 = video_fb.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_714 = video_fb.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_715 = video_fb.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_716 = video_fb.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_717 = video_fb.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_718 = video_fb.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_719 = video_fb.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_720 = video.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_721 = video.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_722 = video.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_723 = video.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_724 = video.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_725 = video.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_726 = video.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_727 = video.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_728 = video.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_729 = video.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_730 = video.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_731 = video.module$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_732 = video.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_733 = video.module$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_734 = video.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_735 = video.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_736 = video.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_737 = video.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_738 = video.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_739 = video.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_740 = \ + @COND_powerpc_ieee1275_TRUE@ ieee1275_fb.module$(EXEEXT) +-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__EXEEXT_742 = \ ++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__EXEEXT_741 = \ + @COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@ sdl.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_743 = ofnet.module$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_744 = ofnet.module$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_745 = ofnet.module$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_746 = ubootnet.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_747 = efinet.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_748 = efinet.module$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_749 = efinet.module$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_750 = efinet.module$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_751 = efinet.module$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_752 = efinet.module$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_753 = efinet.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_754 = emunet.module$(EXEEXT) \ ++@COND_i386_ieee1275_TRUE@am__EXEEXT_742 = ofnet.module$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_743 = ofnet.module$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_744 = ofnet.module$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_745 = ubootnet.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_746 = efinet.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_747 = efinet.module$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_748 = efinet.module$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_749 = efinet.module$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_750 = efinet.module$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_751 = efinet.module$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_752 = efinet.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_753 = emunet.module$(EXEEXT) \ + @COND_emu_TRUE@ legacycfg.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_755 = legacycfg.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_756 = legacycfg.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_757 = legacycfg.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_758 = legacycfg.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_759 = legacycfg.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_760 = legacycfg.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_761 = backtrace.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_762 = backtrace.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_763 = backtrace.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_764 = backtrace.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_765 = backtrace.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_766 = backtrace.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_767 = backtrace.module$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_768 = backtrace.module$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_769 = backtrace.module$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_770 = backtrace.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_771 = lsapm.module$(EXEEXT) \ ++@COND_i386_pc_TRUE@am__EXEEXT_754 = legacycfg.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_755 = legacycfg.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_756 = legacycfg.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_757 = legacycfg.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_758 = legacycfg.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_759 = legacycfg.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_760 = backtrace.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_761 = backtrace.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_762 = backtrace.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_763 = backtrace.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_764 = backtrace.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_765 = backtrace.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_766 = backtrace.module$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_767 = backtrace.module$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_768 = backtrace.module$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_769 = backtrace.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_770 = lsapm.module$(EXEEXT) \ + @COND_i386_pc_TRUE@ keylayouts.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_772 = keylayouts.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_773 = keylayouts.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_774 = keylayouts.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_775 = keylayouts.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_776 = keylayouts.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_777 = keylayouts.module$(EXEEXT) +-@COND_ENABLE_CACHE_STATS_TRUE@am__EXEEXT_778 = \ ++@COND_i386_efi_TRUE@am__EXEEXT_771 = keylayouts.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_772 = keylayouts.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_773 = keylayouts.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_774 = keylayouts.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_775 = keylayouts.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_776 = keylayouts.module$(EXEEXT) ++@COND_ENABLE_CACHE_STATS_TRUE@am__EXEEXT_777 = \ + @COND_ENABLE_CACHE_STATS_TRUE@ cacheinfo.module$(EXEEXT) +-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__EXEEXT_779 = \ ++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__EXEEXT_778 = \ + @COND_ENABLE_BOOT_TIME_STATS_TRUE@ boottime.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_780 = gdb.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_781 = gdb.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_782 = gdb.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_783 = gdb.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_784 = gdb.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_785 = gdb.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_786 = tpm.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_787 = rdmsr.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_788 = rdmsr.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_789 = rdmsr.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_790 = rdmsr.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_791 = rdmsr.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_792 = rdmsr.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_793 = rdmsr.module$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_794 = wrmsr.module$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_795 = wrmsr.module$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_796 = wrmsr.module$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_797 = wrmsr.module$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_798 = wrmsr.module$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_799 = wrmsr.module$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_800 = wrmsr.module$(EXEEXT) +-@COND_emu_TRUE@am__EXEEXT_801 = kernel.exec$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_802 = kernel.exec$(EXEEXT) +-@COND_i386_efi_TRUE@am__EXEEXT_803 = kernel.exec$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_804 = kernel.exec$(EXEEXT) +-@COND_i386_coreboot_TRUE@am__EXEEXT_805 = kernel.exec$(EXEEXT) +-@COND_i386_multiboot_TRUE@am__EXEEXT_806 = kernel.exec$(EXEEXT) +-@COND_i386_ieee1275_TRUE@am__EXEEXT_807 = kernel.exec$(EXEEXT) +-@COND_x86_64_efi_TRUE@am__EXEEXT_808 = kernel.exec$(EXEEXT) +-@COND_i386_xen_TRUE@am__EXEEXT_809 = kernel.exec$(EXEEXT) +-@COND_x86_64_xen_TRUE@am__EXEEXT_810 = kernel.exec$(EXEEXT) +-@COND_i386_xen_pvh_TRUE@am__EXEEXT_811 = kernel.exec$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_812 = kernel.exec$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_813 = kernel.exec$(EXEEXT) +-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_814 = kernel.exec$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_815 = kernel.exec$(EXEEXT) +-@COND_ia64_efi_TRUE@am__EXEEXT_816 = kernel.exec$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_817 = kernel.exec$(EXEEXT) +-@COND_arm_uboot_TRUE@am__EXEEXT_818 = kernel.exec$(EXEEXT) +-@COND_arm_efi_TRUE@am__EXEEXT_819 = kernel.exec$(EXEEXT) +-@COND_arm64_efi_TRUE@am__EXEEXT_820 = kernel.exec$(EXEEXT) +-@COND_arm_coreboot_TRUE@am__EXEEXT_821 = kernel.exec$(EXEEXT) +-@COND_riscv32_efi_TRUE@am__EXEEXT_822 = kernel.exec$(EXEEXT) +-@COND_riscv64_efi_TRUE@am__EXEEXT_823 = kernel.exec$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_824 = boot.image$(EXEEXT) +-@COND_i386_qemu_TRUE@am__EXEEXT_825 = boot.image$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_826 = boot.image$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_827 = boot_hybrid.image$(EXEEXT) \ ++@COND_i386_pc_TRUE@am__EXEEXT_779 = gdb.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_780 = gdb.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_781 = gdb.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_782 = gdb.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_783 = gdb.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_784 = gdb.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_785 = tpm.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_786 = rdmsr.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_787 = rdmsr.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_788 = rdmsr.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_789 = rdmsr.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_790 = rdmsr.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_791 = rdmsr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_792 = rdmsr.module$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_793 = wrmsr.module$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_794 = wrmsr.module$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_795 = wrmsr.module$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_796 = wrmsr.module$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_797 = wrmsr.module$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_798 = wrmsr.module$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_799 = wrmsr.module$(EXEEXT) ++@COND_emu_TRUE@am__EXEEXT_800 = kernel.exec$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_801 = kernel.exec$(EXEEXT) ++@COND_i386_efi_TRUE@am__EXEEXT_802 = kernel.exec$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_803 = kernel.exec$(EXEEXT) ++@COND_i386_coreboot_TRUE@am__EXEEXT_804 = kernel.exec$(EXEEXT) ++@COND_i386_multiboot_TRUE@am__EXEEXT_805 = kernel.exec$(EXEEXT) ++@COND_i386_ieee1275_TRUE@am__EXEEXT_806 = kernel.exec$(EXEEXT) ++@COND_x86_64_efi_TRUE@am__EXEEXT_807 = kernel.exec$(EXEEXT) ++@COND_i386_xen_TRUE@am__EXEEXT_808 = kernel.exec$(EXEEXT) ++@COND_x86_64_xen_TRUE@am__EXEEXT_809 = kernel.exec$(EXEEXT) ++@COND_i386_xen_pvh_TRUE@am__EXEEXT_810 = kernel.exec$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_811 = kernel.exec$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_812 = kernel.exec$(EXEEXT) ++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_813 = kernel.exec$(EXEEXT) ++@COND_mips_arc_TRUE@am__EXEEXT_814 = kernel.exec$(EXEEXT) ++@COND_ia64_efi_TRUE@am__EXEEXT_815 = kernel.exec$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_816 = kernel.exec$(EXEEXT) ++@COND_arm_uboot_TRUE@am__EXEEXT_817 = kernel.exec$(EXEEXT) ++@COND_arm_efi_TRUE@am__EXEEXT_818 = kernel.exec$(EXEEXT) ++@COND_arm64_efi_TRUE@am__EXEEXT_819 = kernel.exec$(EXEEXT) ++@COND_arm_coreboot_TRUE@am__EXEEXT_820 = kernel.exec$(EXEEXT) ++@COND_riscv32_efi_TRUE@am__EXEEXT_821 = kernel.exec$(EXEEXT) ++@COND_riscv64_efi_TRUE@am__EXEEXT_822 = kernel.exec$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_823 = boot.image$(EXEEXT) ++@COND_i386_qemu_TRUE@am__EXEEXT_824 = boot.image$(EXEEXT) ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_825 = boot.image$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_826 = boot_hybrid.image$(EXEEXT) \ + @COND_i386_pc_TRUE@ cdboot.image$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_828 = cdboot.image$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_829 = pxeboot.image$(EXEEXT) \ ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_827 = cdboot.image$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_828 = pxeboot.image$(EXEEXT) \ + @COND_i386_pc_TRUE@ diskboot.image$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_830 = diskboot.image$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_831 = lnxboot.image$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_832 = \ ++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_829 = diskboot.image$(EXEEXT) ++@COND_i386_pc_TRUE@am__EXEEXT_830 = lnxboot.image$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_831 = \ + @COND_mips_loongson_TRUE@ xz_decompress.image$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_833 = xz_decompress.image$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_834 = \ ++@COND_mips_arc_TRUE@am__EXEEXT_832 = xz_decompress.image$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_833 = \ + @COND_mips_qemu_mips_TRUE@ xz_decompress.image$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_835 = \ ++@COND_mips_loongson_TRUE@am__EXEEXT_834 = \ + @COND_mips_loongson_TRUE@ none_decompress.image$(EXEEXT) +-@COND_mips_arc_TRUE@am__EXEEXT_836 = none_decompress.image$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@am__EXEEXT_837 = \ ++@COND_mips_arc_TRUE@am__EXEEXT_835 = none_decompress.image$(EXEEXT) ++@COND_mips_qemu_mips_TRUE@am__EXEEXT_836 = \ + @COND_mips_qemu_mips_TRUE@ none_decompress.image$(EXEEXT) +-@COND_i386_pc_TRUE@am__EXEEXT_838 = lzma_decompress.image$(EXEEXT) +-@COND_mips_loongson_TRUE@am__EXEEXT_839 = fwstart.image$(EXEEXT) \ ++@COND_i386_pc_TRUE@am__EXEEXT_837 = lzma_decompress.image$(EXEEXT) ++@COND_mips_loongson_TRUE@am__EXEEXT_838 = fwstart.image$(EXEEXT) \ + @COND_mips_loongson_TRUE@ fwstart_fuloong2f.image$(EXEEXT) + PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(platform_PROGRAMS) \ + $(sbin_PROGRAMS) +@@ -12775,13 +12764,6 @@ shift_test_module_OBJECTS = $(am_shift_test_module_OBJECTS) \ + $(nodist_shift_test_module_OBJECTS) + shift_test_module_LINK = $(CCLD) $(shift_test_module_CFLAGS) $(CFLAGS) \ + $(shift_test_module_LDFLAGS) $(LDFLAGS) -o $@ +-am__shim_lock_module_SOURCES_DIST = commands/efi/shim_lock.c +-@COND_x86_64_efi_TRUE@am_shim_lock_module_OBJECTS = commands/efi/shim_lock_module-shim_lock.$(OBJEXT) +-nodist_shim_lock_module_OBJECTS = +-shim_lock_module_OBJECTS = $(am_shim_lock_module_OBJECTS) \ +- $(nodist_shim_lock_module_OBJECTS) +-shim_lock_module_LINK = $(CCLD) $(shim_lock_module_CFLAGS) $(CFLAGS) \ +- $(shim_lock_module_LDFLAGS) $(LDFLAGS) -o $@ + am_signature_test_module_OBJECTS = \ + tests/signature_test_module-signature_test.$(OBJEXT) + nodist_signature_test_module_OBJECTS = +@@ -13847,7 +13829,6 @@ SOURCES = $(acpi_module_SOURCES) $(nodist_acpi_module_SOURCES) \ + $(nodist_setpci_module_SOURCES) $(sfs_module_SOURCES) \ + $(nodist_sfs_module_SOURCES) $(shift_test_module_SOURCES) \ + $(nodist_shift_test_module_SOURCES) \ +- $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES) \ + $(signature_test_module_SOURCES) \ + $(nodist_signature_test_module_SOURCES) \ + $(sleep_module_SOURCES) $(nodist_sleep_module_SOURCES) \ +@@ -14078,10 +14059,8 @@ DIST_SOURCES = $(am__acpi_module_SOURCES_DIST) \ + $(am__serial_module_SOURCES_DIST) $(setjmp_module_SOURCES) \ + $(setjmp_test_module_SOURCES) \ + $(am__setpci_module_SOURCES_DIST) $(sfs_module_SOURCES) \ +- $(shift_test_module_SOURCES) \ +- $(am__shim_lock_module_SOURCES_DIST) \ +- $(signature_test_module_SOURCES) $(sleep_module_SOURCES) \ +- $(sleep_test_module_SOURCES) \ ++ $(shift_test_module_SOURCES) $(signature_test_module_SOURCES) \ ++ $(sleep_module_SOURCES) $(sleep_test_module_SOURCES) \ + $(am__spkmodem_module_SOURCES_DIST) $(squash4_module_SOURCES) \ + $(strtoull_test_module_SOURCES) \ + $(am__suspend_module_SOURCES_DIST) \ +@@ -15514,56 +15493,55 @@ MOD_FILES = disk.mod trig.mod $(am__append_8) $(am__append_15) \ + $(am__append_2045) $(am__append_2052) $(am__append_2059) \ + $(am__append_2066) $(am__append_2073) $(am__append_2080) \ + $(am__append_2087) $(am__append_2094) $(am__append_2101) \ +- $(am__append_2108) help.mod hexdump.mod keystatus.mod \ +- $(am__append_2115) $(am__append_2122) loadenv.mod ls.mod \ +- lsmmap.mod $(am__append_2129) $(am__append_2136) \ ++ help.mod hexdump.mod keystatus.mod $(am__append_2108) \ ++ $(am__append_2115) loadenv.mod ls.mod lsmmap.mod \ ++ $(am__append_2122) $(am__append_2129) $(am__append_2136) \ + $(am__append_2143) $(am__append_2150) $(am__append_2157) \ +- $(am__append_2164) $(am__append_2171) $(am__append_2178) \ +- memrw.mod minicmd.mod parttool.mod password.mod \ +- password_pbkdf2.mod $(am__append_2185) $(am__append_2192) \ ++ $(am__append_2164) $(am__append_2171) memrw.mod minicmd.mod \ ++ parttool.mod password.mod password_pbkdf2.mod \ ++ $(am__append_2178) $(am__append_2185) $(am__append_2192) \ + $(am__append_2199) $(am__append_2206) $(am__append_2213) \ + $(am__append_2220) $(am__append_2227) $(am__append_2234) \ + $(am__append_2241) $(am__append_2248) $(am__append_2255) \ + $(am__append_2262) $(am__append_2269) $(am__append_2276) \ + $(am__append_2283) $(am__append_2290) $(am__append_2297) \ + $(am__append_2304) $(am__append_2311) $(am__append_2318) \ +- $(am__append_2325) probe.mod read.mod search.mod \ +- search_fs_file.mod search_fs_uuid.mod search_label.mod \ ++ probe.mod read.mod search.mod search_fs_file.mod \ ++ search_fs_uuid.mod search_label.mod $(am__append_2325) \ + $(am__append_2332) $(am__append_2339) $(am__append_2346) \ + $(am__append_2353) $(am__append_2360) $(am__append_2367) \ + $(am__append_2374) $(am__append_2381) $(am__append_2388) \ + $(am__append_2395) $(am__append_2402) $(am__append_2409) \ + $(am__append_2416) $(am__append_2423) $(am__append_2430) \ +- $(am__append_2437) sleep.mod $(am__append_2444) \ +- $(am__append_2451) terminal.mod test.mod true.mod \ +- $(am__append_2458) $(am__append_2465) $(am__append_2472) \ +- $(am__append_2479) $(am__append_2486) $(am__append_2493) \ +- $(am__append_2500) $(am__append_2507) $(am__append_2514) \ +- videoinfo.mod videotest.mod xnu_uuid.mod dm_nv.mod \ +- loopback.mod cryptodisk.mod luks.mod geli.mod lvm.mod ldm.mod \ +- mdraid09.mod mdraid09_be.mod mdraid1x.mod diskfilter.mod \ +- raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \ +- $(am__append_2521) $(am__append_2528) $(am__append_2535) \ +- $(am__append_2542) $(am__append_2549) $(am__append_2556) \ +- $(am__append_2563) $(am__append_2570) $(am__append_2577) \ +- $(am__append_2584) $(am__append_2591) $(am__append_2598) \ +- $(am__append_2605) $(am__append_2612) $(am__append_2619) \ +- $(am__append_2626) $(am__append_2633) $(am__append_2640) \ +- $(am__append_2647) $(am__append_2654) $(am__append_2661) \ +- $(am__append_2668) $(am__append_2675) $(am__append_2682) \ +- $(am__append_2689) $(am__append_2696) $(am__append_2703) \ +- $(am__append_2710) $(am__append_2717) $(am__append_2724) \ +- $(am__append_2731) $(am__append_2738) $(am__append_2745) \ +- $(am__append_2752) $(am__append_2759) $(am__append_2766) \ +- $(am__append_2773) $(am__append_2780) $(am__append_2787) \ +- $(am__append_2794) $(am__append_2801) $(am__append_2808) \ +- $(am__append_2815) $(am__append_2822) $(am__append_2829) \ +- $(am__append_2836) $(am__append_2843) $(am__append_2850) \ +- $(am__append_2857) $(am__append_2864) $(am__append_2871) \ +- $(am__append_2878) $(am__append_2885) $(am__append_2892) \ +- $(am__append_2899) $(am__append_2906) $(am__append_2913) \ +- $(am__append_2920) $(am__append_2927) $(am__append_2934) \ +- $(am__append_2941) procfs.mod affs.mod afs.mod bfs.mod \ ++ sleep.mod $(am__append_2437) $(am__append_2444) terminal.mod \ ++ test.mod true.mod $(am__append_2451) $(am__append_2458) \ ++ $(am__append_2465) $(am__append_2472) $(am__append_2479) \ ++ $(am__append_2486) $(am__append_2493) $(am__append_2500) \ ++ $(am__append_2507) videoinfo.mod videotest.mod xnu_uuid.mod \ ++ dm_nv.mod loopback.mod cryptodisk.mod luks.mod geli.mod \ ++ lvm.mod ldm.mod mdraid09.mod mdraid09_be.mod mdraid1x.mod \ ++ diskfilter.mod raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \ ++ $(am__append_2514) $(am__append_2521) $(am__append_2528) \ ++ $(am__append_2535) $(am__append_2542) $(am__append_2549) \ ++ $(am__append_2556) $(am__append_2563) $(am__append_2570) \ ++ $(am__append_2577) $(am__append_2584) $(am__append_2591) \ ++ $(am__append_2598) $(am__append_2605) $(am__append_2612) \ ++ $(am__append_2619) $(am__append_2626) $(am__append_2633) \ ++ $(am__append_2640) $(am__append_2647) $(am__append_2654) \ ++ $(am__append_2661) $(am__append_2668) $(am__append_2675) \ ++ $(am__append_2682) $(am__append_2689) $(am__append_2696) \ ++ $(am__append_2703) $(am__append_2710) $(am__append_2717) \ ++ $(am__append_2724) $(am__append_2731) $(am__append_2738) \ ++ $(am__append_2745) $(am__append_2752) $(am__append_2759) \ ++ $(am__append_2766) $(am__append_2773) $(am__append_2780) \ ++ $(am__append_2787) $(am__append_2794) $(am__append_2801) \ ++ $(am__append_2808) $(am__append_2815) $(am__append_2822) \ ++ $(am__append_2829) $(am__append_2836) $(am__append_2843) \ ++ $(am__append_2850) $(am__append_2857) $(am__append_2864) \ ++ $(am__append_2871) $(am__append_2878) $(am__append_2885) \ ++ $(am__append_2892) $(am__append_2899) $(am__append_2906) \ ++ $(am__append_2913) $(am__append_2920) $(am__append_2927) \ ++ $(am__append_2934) procfs.mod affs.mod afs.mod bfs.mod \ + zstd.mod btrfs.mod archelp.mod cbfs.mod cpio.mod cpio_be.mod \ + newc.mod odc.mod ext2.mod fat.mod exfat.mod f2fs.mod \ + fshelp.mod hfs.mod hfsplus.mod hfspluscomp.mod iso9660.mod \ +@@ -15571,150 +15549,150 @@ MOD_FILES = disk.mod trig.mod $(am__append_8) $(am__append_15) \ + minix2_be.mod minix3_be.mod nilfs2.mod ntfs.mod ntfscomp.mod \ + reiserfs.mod romfs.mod sfs.mod squash4.mod tar.mod udf.mod \ + ufs1.mod ufs1_be.mod ufs2.mod xfs.mod zfs.mod zfscrypt.mod \ +- zfsinfo.mod macbless.mod $(am__append_2948) gettext.mod \ +- gfxmenu.mod hello.mod gzio.mod offsetio.mod $(am__append_2955) \ +- $(am__append_2962) $(am__append_2969) $(am__append_2976) \ +- $(am__append_2983) $(am__append_2990) $(am__append_2997) \ +- $(am__append_3004) $(am__append_3011) $(am__append_3018) \ +- $(am__append_3025) $(am__append_3032) $(am__append_3039) \ +- $(am__append_3046) $(am__append_3053) $(am__append_3060) \ +- $(am__append_3067) $(am__append_3074) $(am__append_3081) \ +- $(am__append_3088) elf.mod crypto.mod pbkdf2.mod \ +- $(am__append_3095) $(am__append_3102) $(am__append_3109) \ +- $(am__append_3116) $(am__append_3123) $(am__append_3130) \ +- $(am__append_3137) $(am__append_3144) $(am__append_3151) \ +- $(am__append_3158) $(am__append_3165) $(am__append_3172) \ +- $(am__append_3179) $(am__append_3186) $(am__append_3193) \ +- $(am__append_3200) $(am__append_3207) $(am__append_3214) \ +- $(am__append_3221) $(am__append_3228) $(am__append_3235) \ +- $(am__append_3242) $(am__append_3249) $(am__append_3256) \ +- $(am__append_3263) $(am__append_3270) $(am__append_3277) \ +- $(am__append_3284) $(am__append_3291) $(am__append_3298) \ +- $(am__append_3305) $(am__append_3312) $(am__append_3319) \ +- $(am__append_3326) $(am__append_3333) $(am__append_3340) \ +- setjmp.mod $(am__append_3347) $(am__append_3354) \ +- $(am__append_3361) $(am__append_3368) $(am__append_3375) \ +- $(am__append_3382) $(am__append_3389) $(am__append_3396) \ +- $(am__append_3403) $(am__append_3410) $(am__append_3417) \ +- $(am__append_3424) $(am__append_3431) $(am__append_3438) \ +- $(am__append_3445) $(am__append_3452) $(am__append_3459) \ +- $(am__append_3466) $(am__append_3473) $(am__append_3480) \ +- $(am__append_3487) $(am__append_3494) $(am__append_3501) \ +- $(am__append_3508) $(am__append_3515) $(am__append_3522) \ +- $(am__append_3529) $(am__append_3536) $(am__append_3543) \ +- $(am__append_3550) $(am__append_3557) $(am__append_3564) \ +- $(am__append_3571) $(am__append_3578) $(am__append_3585) \ +- $(am__append_3592) $(am__append_3599) $(am__append_3606) \ +- $(am__append_3613) $(am__append_3620) $(am__append_3627) \ +- $(am__append_3634) $(am__append_3641) $(am__append_3648) \ +- $(am__append_3655) $(am__append_3662) $(am__append_3669) \ +- $(am__append_3676) $(am__append_3683) $(am__append_3690) \ +- $(am__append_3697) $(am__append_3704) $(am__append_3711) \ +- $(am__append_3718) $(am__append_3725) $(am__append_3732) \ +- $(am__append_3739) $(am__append_3746) $(am__append_3753) \ +- $(am__append_3760) $(am__append_3767) $(am__append_3774) \ +- $(am__append_3781) $(am__append_3788) $(am__append_3795) \ +- $(am__append_3802) $(am__append_3809) $(am__append_3816) \ +- $(am__append_3823) $(am__append_3830) $(am__append_3837) \ +- $(am__append_3844) $(am__append_3851) $(am__append_3858) \ +- $(am__append_3865) $(am__append_3872) $(am__append_3879) \ +- $(am__append_3886) macho.mod $(am__append_3893) \ +- $(am__append_3900) $(am__append_3907) $(am__append_3914) \ +- $(am__append_3921) $(am__append_3928) $(am__append_3935) \ +- $(am__append_3942) $(am__append_3949) $(am__append_3956) \ +- $(am__append_3963) $(am__append_3970) $(am__append_3977) \ +- $(am__append_3984) $(am__append_3991) $(am__append_3998) \ +- $(am__append_4005) $(am__append_4012) $(am__append_4019) \ +- $(am__append_4026) $(am__append_4033) $(am__append_4040) \ +- $(am__append_4047) $(am__append_4054) $(am__append_4061) \ +- $(am__append_4068) $(am__append_4075) normal.mod \ ++ zfsinfo.mod macbless.mod $(am__append_2941) gettext.mod \ ++ gfxmenu.mod hello.mod gzio.mod offsetio.mod $(am__append_2948) \ ++ $(am__append_2955) $(am__append_2962) $(am__append_2969) \ ++ $(am__append_2976) $(am__append_2983) $(am__append_2990) \ ++ $(am__append_2997) $(am__append_3004) $(am__append_3011) \ ++ $(am__append_3018) $(am__append_3025) $(am__append_3032) \ ++ $(am__append_3039) $(am__append_3046) $(am__append_3053) \ ++ $(am__append_3060) $(am__append_3067) $(am__append_3074) \ ++ $(am__append_3081) elf.mod crypto.mod pbkdf2.mod \ ++ $(am__append_3088) $(am__append_3095) $(am__append_3102) \ ++ $(am__append_3109) $(am__append_3116) $(am__append_3123) \ ++ $(am__append_3130) $(am__append_3137) $(am__append_3144) \ ++ $(am__append_3151) $(am__append_3158) $(am__append_3165) \ ++ $(am__append_3172) $(am__append_3179) $(am__append_3186) \ ++ $(am__append_3193) $(am__append_3200) $(am__append_3207) \ ++ $(am__append_3214) $(am__append_3221) $(am__append_3228) \ ++ $(am__append_3235) $(am__append_3242) $(am__append_3249) \ ++ $(am__append_3256) $(am__append_3263) $(am__append_3270) \ ++ $(am__append_3277) $(am__append_3284) $(am__append_3291) \ ++ $(am__append_3298) $(am__append_3305) $(am__append_3312) \ ++ $(am__append_3319) $(am__append_3326) $(am__append_3333) \ ++ setjmp.mod $(am__append_3340) $(am__append_3347) \ ++ $(am__append_3354) $(am__append_3361) $(am__append_3368) \ ++ $(am__append_3375) $(am__append_3382) $(am__append_3389) \ ++ $(am__append_3396) $(am__append_3403) $(am__append_3410) \ ++ $(am__append_3417) $(am__append_3424) $(am__append_3431) \ ++ $(am__append_3438) $(am__append_3445) $(am__append_3452) \ ++ $(am__append_3459) $(am__append_3466) $(am__append_3473) \ ++ $(am__append_3480) $(am__append_3487) $(am__append_3494) \ ++ $(am__append_3501) $(am__append_3508) $(am__append_3515) \ ++ $(am__append_3522) $(am__append_3529) $(am__append_3536) \ ++ $(am__append_3543) $(am__append_3550) $(am__append_3557) \ ++ $(am__append_3564) $(am__append_3571) $(am__append_3578) \ ++ $(am__append_3585) $(am__append_3592) $(am__append_3599) \ ++ $(am__append_3606) $(am__append_3613) $(am__append_3620) \ ++ $(am__append_3627) $(am__append_3634) $(am__append_3641) \ ++ $(am__append_3648) $(am__append_3655) $(am__append_3662) \ ++ $(am__append_3669) $(am__append_3676) $(am__append_3683) \ ++ $(am__append_3690) $(am__append_3697) $(am__append_3704) \ ++ $(am__append_3711) $(am__append_3718) $(am__append_3725) \ ++ $(am__append_3732) $(am__append_3739) $(am__append_3746) \ ++ $(am__append_3753) $(am__append_3760) $(am__append_3767) \ ++ $(am__append_3774) $(am__append_3781) $(am__append_3788) \ ++ $(am__append_3795) $(am__append_3802) $(am__append_3809) \ ++ $(am__append_3816) $(am__append_3823) $(am__append_3830) \ ++ $(am__append_3837) $(am__append_3844) $(am__append_3851) \ ++ $(am__append_3858) $(am__append_3865) $(am__append_3872) \ ++ $(am__append_3879) macho.mod $(am__append_3886) \ ++ $(am__append_3893) $(am__append_3900) $(am__append_3907) \ ++ $(am__append_3914) $(am__append_3921) $(am__append_3928) \ ++ $(am__append_3935) $(am__append_3942) $(am__append_3949) \ ++ $(am__append_3956) $(am__append_3963) $(am__append_3970) \ ++ $(am__append_3977) $(am__append_3984) $(am__append_3991) \ ++ $(am__append_3998) $(am__append_4005) $(am__append_4012) \ ++ $(am__append_4019) $(am__append_4026) $(am__append_4033) \ ++ $(am__append_4040) $(am__append_4047) $(am__append_4054) \ ++ $(am__append_4061) $(am__append_4068) normal.mod \ + part_acorn.mod part_amiga.mod part_apple.mod part_gpt.mod \ + part_msdos.mod part_sun.mod part_plan.mod part_dvh.mod \ + part_bsd.mod part_sunpc.mod part_dfly.mod msdospart.mod \ +- $(am__append_4082) $(am__append_4089) $(am__append_4096) \ +- $(am__append_4103) $(am__append_4110) $(am__append_4117) \ +- $(am__append_4124) $(am__append_4131) $(am__append_4138) \ +- $(am__append_4145) $(am__append_4152) $(am__append_4159) \ +- $(am__append_4166) $(am__append_4173) $(am__append_4180) \ +- $(am__append_4187) $(am__append_4194) $(am__append_4201) \ +- $(am__append_4208) $(am__append_4215) $(am__append_4222) \ +- $(am__append_4229) $(am__append_4236) $(am__append_4243) \ +- $(am__append_4250) $(am__append_4257) $(am__append_4264) \ +- gfxterm_background.mod $(am__append_4271) $(am__append_4278) \ +- $(am__append_4285) $(am__append_4292) $(am__append_4299) \ +- $(am__append_4306) $(am__append_4313) $(am__append_4320) \ +- $(am__append_4327) $(am__append_4334) $(am__append_4341) \ +- $(am__append_4348) $(am__append_4355) $(am__append_4362) \ +- $(am__append_4369) $(am__append_4376) $(am__append_4383) \ +- $(am__append_4390) $(am__append_4397) $(am__append_4404) \ +- $(am__append_4411) $(am__append_4418) $(am__append_4425) \ +- $(am__append_4432) $(am__append_4439) $(am__append_4446) \ +- $(am__append_4453) $(am__append_4460) $(am__append_4467) \ +- $(am__append_4474) $(am__append_4481) $(am__append_4488) \ +- $(am__append_4495) $(am__append_4502) $(am__append_4509) \ +- $(am__append_4516) $(am__append_4523) $(am__append_4530) \ +- $(am__append_4537) $(am__append_4544) $(am__append_4551) \ +- $(am__append_4558) $(am__append_4565) $(am__append_4572) \ +- $(am__append_4579) $(am__append_4586) $(am__append_4593) \ +- $(am__append_4600) $(am__append_4607) $(am__append_4614) \ +- $(am__append_4621) $(am__append_4628) $(am__append_4635) \ +- $(am__append_4642) $(am__append_4649) functional_test.mod \ ++ $(am__append_4075) $(am__append_4082) $(am__append_4089) \ ++ $(am__append_4096) $(am__append_4103) $(am__append_4110) \ ++ $(am__append_4117) $(am__append_4124) $(am__append_4131) \ ++ $(am__append_4138) $(am__append_4145) $(am__append_4152) \ ++ $(am__append_4159) $(am__append_4166) $(am__append_4173) \ ++ $(am__append_4180) $(am__append_4187) $(am__append_4194) \ ++ $(am__append_4201) $(am__append_4208) $(am__append_4215) \ ++ $(am__append_4222) $(am__append_4229) $(am__append_4236) \ ++ $(am__append_4243) $(am__append_4250) $(am__append_4257) \ ++ gfxterm_background.mod $(am__append_4264) $(am__append_4271) \ ++ $(am__append_4278) $(am__append_4285) $(am__append_4292) \ ++ $(am__append_4299) $(am__append_4306) $(am__append_4313) \ ++ $(am__append_4320) $(am__append_4327) $(am__append_4334) \ ++ $(am__append_4341) $(am__append_4348) $(am__append_4355) \ ++ $(am__append_4362) $(am__append_4369) $(am__append_4376) \ ++ $(am__append_4383) $(am__append_4390) $(am__append_4397) \ ++ $(am__append_4404) $(am__append_4411) $(am__append_4418) \ ++ $(am__append_4425) $(am__append_4432) $(am__append_4439) \ ++ $(am__append_4446) $(am__append_4453) $(am__append_4460) \ ++ $(am__append_4467) $(am__append_4474) $(am__append_4481) \ ++ $(am__append_4488) $(am__append_4495) $(am__append_4502) \ ++ $(am__append_4509) $(am__append_4516) $(am__append_4523) \ ++ $(am__append_4530) $(am__append_4537) $(am__append_4544) \ ++ $(am__append_4551) $(am__append_4558) $(am__append_4565) \ ++ $(am__append_4572) $(am__append_4579) $(am__append_4586) \ ++ $(am__append_4593) $(am__append_4600) $(am__append_4607) \ ++ $(am__append_4614) $(am__append_4621) $(am__append_4628) \ ++ $(am__append_4635) $(am__append_4642) functional_test.mod \ + exfctest.mod strtoull_test.mod setjmp_test.mod \ + signature_test.mod sleep_test.mod xnu_uuid_test.mod \ +- pbkdf2_test.mod $(am__append_4656) $(am__append_4663) \ +- $(am__append_4670) $(am__append_4677) $(am__append_4684) \ +- $(am__append_4691) $(am__append_4698) $(am__append_4705) \ +- $(am__append_4712) $(am__append_4719) $(am__append_4726) \ +- $(am__append_4733) $(am__append_4740) $(am__append_4747) \ +- $(am__append_4754) $(am__append_4761) $(am__append_4768) \ +- $(am__append_4775) $(am__append_4782) $(am__append_4789) \ +- $(am__append_4796) $(am__append_4803) $(am__append_4810) \ +- $(am__append_4817) $(am__append_4824) div_test.mod \ ++ pbkdf2_test.mod $(am__append_4649) $(am__append_4656) \ ++ $(am__append_4663) $(am__append_4670) $(am__append_4677) \ ++ $(am__append_4684) $(am__append_4691) $(am__append_4698) \ ++ $(am__append_4705) $(am__append_4712) $(am__append_4719) \ ++ $(am__append_4726) $(am__append_4733) $(am__append_4740) \ ++ $(am__append_4747) $(am__append_4754) $(am__append_4761) \ ++ $(am__append_4768) $(am__append_4775) $(am__append_4782) \ ++ $(am__append_4789) $(am__append_4796) $(am__append_4803) \ ++ $(am__append_4810) $(am__append_4817) div_test.mod \ + mul_test.mod shift_test.mod cmp_test.mod ctz_test.mod \ + bswap_test.mod videotest_checksum.mod gfxterm_menu.mod \ + cmdline_cat_test.mod bitmap.mod bitmap_scale.mod \ +- $(am__append_4831) $(am__append_4838) $(am__append_4845) \ +- $(am__append_4852) $(am__append_4859) $(am__append_4866) \ +- $(am__append_4873) $(am__append_4880) $(am__append_4887) \ +- jpeg.mod png.mod tga.mod $(am__append_4894) $(am__append_4901) \ +- $(am__append_4908) $(am__append_4915) $(am__append_4922) \ +- $(am__append_4929) $(am__append_4936) $(am__append_4943) \ +- $(am__append_4950) $(am__append_4957) $(am__append_4964) \ +- $(am__append_4971) $(am__append_4978) $(am__append_4985) \ +- $(am__append_4992) $(am__append_4999) $(am__append_5006) \ +- $(am__append_5013) $(am__append_5020) $(am__append_5027) \ +- $(am__append_5034) $(am__append_5041) $(am__append_5048) \ +- $(am__append_5055) $(am__append_5062) $(am__append_5069) \ +- $(am__append_5076) $(am__append_5083) $(am__append_5090) \ +- $(am__append_5097) $(am__append_5104) $(am__append_5111) \ +- $(am__append_5118) $(am__append_5125) $(am__append_5132) \ +- $(am__append_5139) $(am__append_5146) $(am__append_5153) \ +- $(am__append_5160) $(am__append_5167) $(am__append_5174) \ +- video_colors.mod $(am__append_5181) $(am__append_5188) \ +- datehook.mod net.mod tftp.mod http.mod $(am__append_5195) \ +- $(am__append_5202) $(am__append_5209) $(am__append_5216) \ +- $(am__append_5223) $(am__append_5230) $(am__append_5237) \ +- $(am__append_5244) $(am__append_5251) $(am__append_5258) \ +- $(am__append_5265) $(am__append_5272) $(am__append_5279) \ +- $(am__append_5286) $(am__append_5293) $(am__append_5300) \ +- $(am__append_5307) $(am__append_5314) syslinuxcfg.mod \ ++ $(am__append_4824) $(am__append_4831) $(am__append_4838) \ ++ $(am__append_4845) $(am__append_4852) $(am__append_4859) \ ++ $(am__append_4866) $(am__append_4873) $(am__append_4880) \ ++ jpeg.mod png.mod tga.mod $(am__append_4887) $(am__append_4894) \ ++ $(am__append_4901) $(am__append_4908) $(am__append_4915) \ ++ $(am__append_4922) $(am__append_4929) $(am__append_4936) \ ++ $(am__append_4943) $(am__append_4950) $(am__append_4957) \ ++ $(am__append_4964) $(am__append_4971) $(am__append_4978) \ ++ $(am__append_4985) $(am__append_4992) $(am__append_4999) \ ++ $(am__append_5006) $(am__append_5013) $(am__append_5020) \ ++ $(am__append_5027) $(am__append_5034) $(am__append_5041) \ ++ $(am__append_5048) $(am__append_5055) $(am__append_5062) \ ++ $(am__append_5069) $(am__append_5076) $(am__append_5083) \ ++ $(am__append_5090) $(am__append_5097) $(am__append_5104) \ ++ $(am__append_5111) $(am__append_5118) $(am__append_5125) \ ++ $(am__append_5132) $(am__append_5139) $(am__append_5146) \ ++ $(am__append_5153) $(am__append_5160) $(am__append_5167) \ ++ video_colors.mod $(am__append_5174) $(am__append_5181) \ ++ datehook.mod net.mod tftp.mod http.mod $(am__append_5188) \ ++ $(am__append_5195) $(am__append_5202) $(am__append_5209) \ ++ $(am__append_5216) $(am__append_5223) $(am__append_5230) \ ++ $(am__append_5237) $(am__append_5244) $(am__append_5251) \ ++ $(am__append_5258) $(am__append_5265) $(am__append_5272) \ ++ $(am__append_5279) $(am__append_5286) $(am__append_5293) \ ++ $(am__append_5300) $(am__append_5307) syslinuxcfg.mod \ + test_blockarg.mod xzio.mod lzopio.mod testload.mod \ +- $(am__append_5321) $(am__append_5328) $(am__append_5335) \ +- $(am__append_5342) $(am__append_5349) $(am__append_5356) \ +- $(am__append_5363) $(am__append_5370) $(am__append_5377) \ +- $(am__append_5384) $(am__append_5391) $(am__append_5398) \ +- $(am__append_5405) $(am__append_5412) $(am__append_5419) \ +- $(am__append_5426) $(am__append_5433) priority_queue.mod \ +- time.mod $(am__append_5440) $(am__append_5447) adler32.mod \ +- crc64.mod mpi.mod all_video.mod $(am__append_5454) \ +- $(am__append_5461) $(am__append_5468) $(am__append_5475) \ +- $(am__append_5482) $(am__append_5489) testspeed.mod \ +- $(am__append_5496) tr.mod progress.mod file.mod \ +- $(am__append_5503) $(am__append_5510) $(am__append_5517) \ +- $(am__append_5524) $(am__append_5531) $(am__append_5538) \ +- $(am__append_5545) $(am__append_5552) $(am__append_5559) \ +- $(am__append_5566) $(am__append_5573) $(am__append_5580) \ +- $(am__append_5587) $(am__append_5594) gcry_arcfour.mod \ ++ $(am__append_5314) $(am__append_5321) $(am__append_5328) \ ++ $(am__append_5335) $(am__append_5342) $(am__append_5349) \ ++ $(am__append_5356) $(am__append_5363) $(am__append_5370) \ ++ $(am__append_5377) $(am__append_5384) $(am__append_5391) \ ++ $(am__append_5398) $(am__append_5405) $(am__append_5412) \ ++ $(am__append_5419) $(am__append_5426) priority_queue.mod \ ++ time.mod $(am__append_5433) $(am__append_5440) adler32.mod \ ++ crc64.mod mpi.mod all_video.mod $(am__append_5447) \ ++ $(am__append_5454) $(am__append_5461) $(am__append_5468) \ ++ $(am__append_5475) $(am__append_5482) testspeed.mod \ ++ $(am__append_5489) tr.mod progress.mod file.mod \ ++ $(am__append_5496) $(am__append_5503) $(am__append_5510) \ ++ $(am__append_5517) $(am__append_5524) $(am__append_5531) \ ++ $(am__append_5538) $(am__append_5545) $(am__append_5552) \ ++ $(am__append_5559) $(am__append_5566) $(am__append_5573) \ ++ $(am__append_5580) $(am__append_5587) gcry_arcfour.mod \ + gcry_blowfish.mod gcry_camellia.mod gcry_cast5.mod \ + gcry_crc.mod gcry_des.mod gcry_dsa.mod gcry_idea.mod \ + gcry_md4.mod gcry_md5.mod gcry_rfc2268.mod gcry_rijndael.mod \ +@@ -15826,72 +15804,71 @@ MODULE_FILES = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + hashsum.module$(EXEEXT) pgp.module$(EXEEXT) $(am__append_2041) \ + $(am__append_2048) $(am__append_2055) $(am__append_2062) \ + $(am__append_2069) $(am__append_2076) $(am__append_2083) \ +- $(am__append_2090) $(am__append_2097) $(am__append_2104) \ +- help.module$(EXEEXT) hexdump.module$(EXEEXT) \ +- keystatus.module$(EXEEXT) $(am__append_2111) \ +- $(am__append_2118) loadenv.module$(EXEEXT) ls.module$(EXEEXT) \ +- lsmmap.module$(EXEEXT) $(am__append_2125) $(am__append_2132) \ +- $(am__append_2139) $(am__append_2146) $(am__append_2153) \ +- $(am__append_2160) $(am__append_2167) $(am__append_2174) \ +- memrw.module$(EXEEXT) minicmd.module$(EXEEXT) \ +- parttool.module$(EXEEXT) password.module$(EXEEXT) \ +- password_pbkdf2.module$(EXEEXT) $(am__append_2181) \ +- $(am__append_2188) $(am__append_2195) $(am__append_2202) \ +- $(am__append_2209) $(am__append_2216) $(am__append_2223) \ +- $(am__append_2230) $(am__append_2237) $(am__append_2244) \ +- $(am__append_2251) $(am__append_2258) $(am__append_2265) \ +- $(am__append_2272) $(am__append_2279) $(am__append_2286) \ +- $(am__append_2293) $(am__append_2300) $(am__append_2307) \ +- $(am__append_2314) $(am__append_2321) probe.module$(EXEEXT) \ +- read.module$(EXEEXT) search.module$(EXEEXT) \ +- search_fs_file.module$(EXEEXT) search_fs_uuid.module$(EXEEXT) \ +- search_label.module$(EXEEXT) $(am__append_2328) \ +- $(am__append_2335) $(am__append_2342) $(am__append_2349) \ +- $(am__append_2356) $(am__append_2363) $(am__append_2370) \ +- $(am__append_2377) $(am__append_2384) $(am__append_2391) \ +- $(am__append_2398) $(am__append_2405) $(am__append_2412) \ +- $(am__append_2419) $(am__append_2426) $(am__append_2433) \ +- sleep.module$(EXEEXT) $(am__append_2440) $(am__append_2447) \ +- terminal.module$(EXEEXT) test.module$(EXEEXT) \ +- true.module$(EXEEXT) $(am__append_2454) $(am__append_2461) \ +- $(am__append_2468) $(am__append_2475) $(am__append_2482) \ +- $(am__append_2489) $(am__append_2496) $(am__append_2503) \ +- $(am__append_2510) videoinfo.module$(EXEEXT) \ +- videotest.module$(EXEEXT) xnu_uuid.module$(EXEEXT) \ +- dm_nv.module$(EXEEXT) loopback.module$(EXEEXT) \ +- cryptodisk.module$(EXEEXT) luks.module$(EXEEXT) \ +- geli.module$(EXEEXT) lvm.module$(EXEEXT) ldm.module$(EXEEXT) \ +- mdraid09.module$(EXEEXT) mdraid09_be.module$(EXEEXT) \ +- mdraid1x.module$(EXEEXT) diskfilter.module$(EXEEXT) \ +- raid5rec.module$(EXEEXT) raid6rec.module$(EXEEXT) \ +- scsi.module$(EXEEXT) memdisk.module$(EXEEXT) \ +- $(am__append_2517) $(am__append_2524) $(am__append_2531) \ +- $(am__append_2538) $(am__append_2545) $(am__append_2552) \ +- $(am__append_2559) $(am__append_2566) $(am__append_2573) \ +- $(am__append_2580) $(am__append_2587) $(am__append_2594) \ +- $(am__append_2601) $(am__append_2608) $(am__append_2615) \ +- $(am__append_2622) $(am__append_2629) $(am__append_2636) \ +- $(am__append_2643) $(am__append_2650) $(am__append_2657) \ +- $(am__append_2664) $(am__append_2671) $(am__append_2678) \ +- $(am__append_2685) $(am__append_2692) $(am__append_2699) \ +- $(am__append_2706) $(am__append_2713) $(am__append_2720) \ +- $(am__append_2727) $(am__append_2734) $(am__append_2741) \ +- $(am__append_2748) $(am__append_2755) $(am__append_2762) \ +- $(am__append_2769) $(am__append_2776) $(am__append_2783) \ +- $(am__append_2790) $(am__append_2797) $(am__append_2804) \ +- $(am__append_2811) $(am__append_2818) $(am__append_2825) \ +- $(am__append_2832) $(am__append_2839) $(am__append_2846) \ +- $(am__append_2853) $(am__append_2860) $(am__append_2867) \ +- $(am__append_2874) $(am__append_2881) $(am__append_2888) \ +- $(am__append_2895) $(am__append_2902) $(am__append_2909) \ +- $(am__append_2916) $(am__append_2923) $(am__append_2930) \ +- $(am__append_2937) procfs.module$(EXEEXT) affs.module$(EXEEXT) \ +- afs.module$(EXEEXT) bfs.module$(EXEEXT) zstd.module$(EXEEXT) \ +- btrfs.module$(EXEEXT) archelp.module$(EXEEXT) \ +- cbfs.module$(EXEEXT) cpio.module$(EXEEXT) \ +- cpio_be.module$(EXEEXT) newc.module$(EXEEXT) \ +- odc.module$(EXEEXT) ext2.module$(EXEEXT) fat.module$(EXEEXT) \ +- exfat.module$(EXEEXT) f2fs.module$(EXEEXT) \ ++ $(am__append_2090) $(am__append_2097) help.module$(EXEEXT) \ ++ hexdump.module$(EXEEXT) keystatus.module$(EXEEXT) \ ++ $(am__append_2104) $(am__append_2111) loadenv.module$(EXEEXT) \ ++ ls.module$(EXEEXT) lsmmap.module$(EXEEXT) $(am__append_2118) \ ++ $(am__append_2125) $(am__append_2132) $(am__append_2139) \ ++ $(am__append_2146) $(am__append_2153) $(am__append_2160) \ ++ $(am__append_2167) memrw.module$(EXEEXT) \ ++ minicmd.module$(EXEEXT) parttool.module$(EXEEXT) \ ++ password.module$(EXEEXT) password_pbkdf2.module$(EXEEXT) \ ++ $(am__append_2174) $(am__append_2181) $(am__append_2188) \ ++ $(am__append_2195) $(am__append_2202) $(am__append_2209) \ ++ $(am__append_2216) $(am__append_2223) $(am__append_2230) \ ++ $(am__append_2237) $(am__append_2244) $(am__append_2251) \ ++ $(am__append_2258) $(am__append_2265) $(am__append_2272) \ ++ $(am__append_2279) $(am__append_2286) $(am__append_2293) \ ++ $(am__append_2300) $(am__append_2307) $(am__append_2314) \ ++ probe.module$(EXEEXT) read.module$(EXEEXT) \ ++ search.module$(EXEEXT) search_fs_file.module$(EXEEXT) \ ++ search_fs_uuid.module$(EXEEXT) search_label.module$(EXEEXT) \ ++ $(am__append_2321) $(am__append_2328) $(am__append_2335) \ ++ $(am__append_2342) $(am__append_2349) $(am__append_2356) \ ++ $(am__append_2363) $(am__append_2370) $(am__append_2377) \ ++ $(am__append_2384) $(am__append_2391) $(am__append_2398) \ ++ $(am__append_2405) $(am__append_2412) $(am__append_2419) \ ++ $(am__append_2426) sleep.module$(EXEEXT) $(am__append_2433) \ ++ $(am__append_2440) terminal.module$(EXEEXT) \ ++ test.module$(EXEEXT) true.module$(EXEEXT) $(am__append_2447) \ ++ $(am__append_2454) $(am__append_2461) $(am__append_2468) \ ++ $(am__append_2475) $(am__append_2482) $(am__append_2489) \ ++ $(am__append_2496) $(am__append_2503) \ ++ videoinfo.module$(EXEEXT) videotest.module$(EXEEXT) \ ++ xnu_uuid.module$(EXEEXT) dm_nv.module$(EXEEXT) \ ++ loopback.module$(EXEEXT) cryptodisk.module$(EXEEXT) \ ++ luks.module$(EXEEXT) geli.module$(EXEEXT) lvm.module$(EXEEXT) \ ++ ldm.module$(EXEEXT) mdraid09.module$(EXEEXT) \ ++ mdraid09_be.module$(EXEEXT) mdraid1x.module$(EXEEXT) \ ++ diskfilter.module$(EXEEXT) raid5rec.module$(EXEEXT) \ ++ raid6rec.module$(EXEEXT) scsi.module$(EXEEXT) \ ++ memdisk.module$(EXEEXT) $(am__append_2510) $(am__append_2517) \ ++ $(am__append_2524) $(am__append_2531) $(am__append_2538) \ ++ $(am__append_2545) $(am__append_2552) $(am__append_2559) \ ++ $(am__append_2566) $(am__append_2573) $(am__append_2580) \ ++ $(am__append_2587) $(am__append_2594) $(am__append_2601) \ ++ $(am__append_2608) $(am__append_2615) $(am__append_2622) \ ++ $(am__append_2629) $(am__append_2636) $(am__append_2643) \ ++ $(am__append_2650) $(am__append_2657) $(am__append_2664) \ ++ $(am__append_2671) $(am__append_2678) $(am__append_2685) \ ++ $(am__append_2692) $(am__append_2699) $(am__append_2706) \ ++ $(am__append_2713) $(am__append_2720) $(am__append_2727) \ ++ $(am__append_2734) $(am__append_2741) $(am__append_2748) \ ++ $(am__append_2755) $(am__append_2762) $(am__append_2769) \ ++ $(am__append_2776) $(am__append_2783) $(am__append_2790) \ ++ $(am__append_2797) $(am__append_2804) $(am__append_2811) \ ++ $(am__append_2818) $(am__append_2825) $(am__append_2832) \ ++ $(am__append_2839) $(am__append_2846) $(am__append_2853) \ ++ $(am__append_2860) $(am__append_2867) $(am__append_2874) \ ++ $(am__append_2881) $(am__append_2888) $(am__append_2895) \ ++ $(am__append_2902) $(am__append_2909) $(am__append_2916) \ ++ $(am__append_2923) $(am__append_2930) procfs.module$(EXEEXT) \ ++ affs.module$(EXEEXT) afs.module$(EXEEXT) bfs.module$(EXEEXT) \ ++ zstd.module$(EXEEXT) btrfs.module$(EXEEXT) \ ++ archelp.module$(EXEEXT) cbfs.module$(EXEEXT) \ ++ cpio.module$(EXEEXT) cpio_be.module$(EXEEXT) \ ++ newc.module$(EXEEXT) odc.module$(EXEEXT) ext2.module$(EXEEXT) \ ++ fat.module$(EXEEXT) exfat.module$(EXEEXT) f2fs.module$(EXEEXT) \ + fshelp.module$(EXEEXT) hfs.module$(EXEEXT) \ + hfsplus.module$(EXEEXT) hfspluscomp.module$(EXEEXT) \ + iso9660.module$(EXEEXT) jfs.module$(EXEEXT) \ +@@ -15906,166 +15883,166 @@ MODULE_FILES = disk.module$(EXEEXT) trig.module$(EXEEXT) \ + ufs1_be.module$(EXEEXT) ufs2.module$(EXEEXT) \ + xfs.module$(EXEEXT) zfs.module$(EXEEXT) \ + zfscrypt.module$(EXEEXT) zfsinfo.module$(EXEEXT) \ +- macbless.module$(EXEEXT) $(am__append_2944) \ ++ macbless.module$(EXEEXT) $(am__append_2937) \ + gettext.module$(EXEEXT) gfxmenu.module$(EXEEXT) \ + hello.module$(EXEEXT) gzio.module$(EXEEXT) \ +- offsetio.module$(EXEEXT) $(am__append_2951) $(am__append_2958) \ +- $(am__append_2965) $(am__append_2972) $(am__append_2979) \ +- $(am__append_2986) $(am__append_2993) $(am__append_3000) \ +- $(am__append_3007) $(am__append_3014) $(am__append_3021) \ +- $(am__append_3028) $(am__append_3035) $(am__append_3042) \ +- $(am__append_3049) $(am__append_3056) $(am__append_3063) \ +- $(am__append_3070) $(am__append_3077) $(am__append_3084) \ ++ offsetio.module$(EXEEXT) $(am__append_2944) $(am__append_2951) \ ++ $(am__append_2958) $(am__append_2965) $(am__append_2972) \ ++ $(am__append_2979) $(am__append_2986) $(am__append_2993) \ ++ $(am__append_3000) $(am__append_3007) $(am__append_3014) \ ++ $(am__append_3021) $(am__append_3028) $(am__append_3035) \ ++ $(am__append_3042) $(am__append_3049) $(am__append_3056) \ ++ $(am__append_3063) $(am__append_3070) $(am__append_3077) \ + elf.module$(EXEEXT) crypto.module$(EXEEXT) \ +- pbkdf2.module$(EXEEXT) $(am__append_3091) $(am__append_3098) \ +- $(am__append_3105) $(am__append_3112) $(am__append_3119) \ +- $(am__append_3126) $(am__append_3133) $(am__append_3140) \ +- $(am__append_3147) $(am__append_3154) $(am__append_3161) \ +- $(am__append_3168) $(am__append_3175) $(am__append_3182) \ +- $(am__append_3189) $(am__append_3196) $(am__append_3203) \ +- $(am__append_3210) $(am__append_3217) $(am__append_3224) \ +- $(am__append_3231) $(am__append_3238) $(am__append_3245) \ +- $(am__append_3252) $(am__append_3259) $(am__append_3266) \ +- $(am__append_3273) $(am__append_3280) $(am__append_3287) \ +- $(am__append_3294) $(am__append_3301) $(am__append_3308) \ +- $(am__append_3315) $(am__append_3322) $(am__append_3329) \ +- $(am__append_3336) setjmp.module$(EXEEXT) $(am__append_3343) \ +- $(am__append_3350) $(am__append_3357) $(am__append_3364) \ +- $(am__append_3371) $(am__append_3378) $(am__append_3385) \ +- $(am__append_3392) $(am__append_3399) $(am__append_3406) \ +- $(am__append_3413) $(am__append_3420) $(am__append_3427) \ +- $(am__append_3434) $(am__append_3441) $(am__append_3448) \ +- $(am__append_3455) $(am__append_3462) $(am__append_3469) \ +- $(am__append_3476) $(am__append_3483) $(am__append_3490) \ +- $(am__append_3497) $(am__append_3504) $(am__append_3511) \ +- $(am__append_3518) $(am__append_3525) $(am__append_3532) \ +- $(am__append_3539) $(am__append_3546) $(am__append_3553) \ +- $(am__append_3560) $(am__append_3567) $(am__append_3574) \ +- $(am__append_3581) $(am__append_3588) $(am__append_3595) \ +- $(am__append_3602) $(am__append_3609) $(am__append_3616) \ +- $(am__append_3623) $(am__append_3630) $(am__append_3637) \ +- $(am__append_3644) $(am__append_3651) $(am__append_3658) \ +- $(am__append_3665) $(am__append_3672) $(am__append_3679) \ +- $(am__append_3686) $(am__append_3693) $(am__append_3700) \ +- $(am__append_3707) $(am__append_3714) $(am__append_3721) \ +- $(am__append_3728) $(am__append_3735) $(am__append_3742) \ +- $(am__append_3749) $(am__append_3756) $(am__append_3763) \ +- $(am__append_3770) $(am__append_3777) $(am__append_3784) \ +- $(am__append_3791) $(am__append_3798) $(am__append_3805) \ +- $(am__append_3812) $(am__append_3819) $(am__append_3826) \ +- $(am__append_3833) $(am__append_3840) $(am__append_3847) \ +- $(am__append_3854) $(am__append_3861) $(am__append_3868) \ +- $(am__append_3875) $(am__append_3882) macho.module$(EXEEXT) \ +- $(am__append_3889) $(am__append_3896) $(am__append_3903) \ +- $(am__append_3910) $(am__append_3917) $(am__append_3924) \ +- $(am__append_3931) $(am__append_3938) $(am__append_3945) \ +- $(am__append_3952) $(am__append_3959) $(am__append_3966) \ +- $(am__append_3973) $(am__append_3980) $(am__append_3987) \ +- $(am__append_3994) $(am__append_4001) $(am__append_4008) \ +- $(am__append_4015) $(am__append_4022) $(am__append_4029) \ +- $(am__append_4036) $(am__append_4043) $(am__append_4050) \ +- $(am__append_4057) $(am__append_4064) $(am__append_4071) \ ++ pbkdf2.module$(EXEEXT) $(am__append_3084) $(am__append_3091) \ ++ $(am__append_3098) $(am__append_3105) $(am__append_3112) \ ++ $(am__append_3119) $(am__append_3126) $(am__append_3133) \ ++ $(am__append_3140) $(am__append_3147) $(am__append_3154) \ ++ $(am__append_3161) $(am__append_3168) $(am__append_3175) \ ++ $(am__append_3182) $(am__append_3189) $(am__append_3196) \ ++ $(am__append_3203) $(am__append_3210) $(am__append_3217) \ ++ $(am__append_3224) $(am__append_3231) $(am__append_3238) \ ++ $(am__append_3245) $(am__append_3252) $(am__append_3259) \ ++ $(am__append_3266) $(am__append_3273) $(am__append_3280) \ ++ $(am__append_3287) $(am__append_3294) $(am__append_3301) \ ++ $(am__append_3308) $(am__append_3315) $(am__append_3322) \ ++ $(am__append_3329) setjmp.module$(EXEEXT) $(am__append_3336) \ ++ $(am__append_3343) $(am__append_3350) $(am__append_3357) \ ++ $(am__append_3364) $(am__append_3371) $(am__append_3378) \ ++ $(am__append_3385) $(am__append_3392) $(am__append_3399) \ ++ $(am__append_3406) $(am__append_3413) $(am__append_3420) \ ++ $(am__append_3427) $(am__append_3434) $(am__append_3441) \ ++ $(am__append_3448) $(am__append_3455) $(am__append_3462) \ ++ $(am__append_3469) $(am__append_3476) $(am__append_3483) \ ++ $(am__append_3490) $(am__append_3497) $(am__append_3504) \ ++ $(am__append_3511) $(am__append_3518) $(am__append_3525) \ ++ $(am__append_3532) $(am__append_3539) $(am__append_3546) \ ++ $(am__append_3553) $(am__append_3560) $(am__append_3567) \ ++ $(am__append_3574) $(am__append_3581) $(am__append_3588) \ ++ $(am__append_3595) $(am__append_3602) $(am__append_3609) \ ++ $(am__append_3616) $(am__append_3623) $(am__append_3630) \ ++ $(am__append_3637) $(am__append_3644) $(am__append_3651) \ ++ $(am__append_3658) $(am__append_3665) $(am__append_3672) \ ++ $(am__append_3679) $(am__append_3686) $(am__append_3693) \ ++ $(am__append_3700) $(am__append_3707) $(am__append_3714) \ ++ $(am__append_3721) $(am__append_3728) $(am__append_3735) \ ++ $(am__append_3742) $(am__append_3749) $(am__append_3756) \ ++ $(am__append_3763) $(am__append_3770) $(am__append_3777) \ ++ $(am__append_3784) $(am__append_3791) $(am__append_3798) \ ++ $(am__append_3805) $(am__append_3812) $(am__append_3819) \ ++ $(am__append_3826) $(am__append_3833) $(am__append_3840) \ ++ $(am__append_3847) $(am__append_3854) $(am__append_3861) \ ++ $(am__append_3868) $(am__append_3875) macho.module$(EXEEXT) \ ++ $(am__append_3882) $(am__append_3889) $(am__append_3896) \ ++ $(am__append_3903) $(am__append_3910) $(am__append_3917) \ ++ $(am__append_3924) $(am__append_3931) $(am__append_3938) \ ++ $(am__append_3945) $(am__append_3952) $(am__append_3959) \ ++ $(am__append_3966) $(am__append_3973) $(am__append_3980) \ ++ $(am__append_3987) $(am__append_3994) $(am__append_4001) \ ++ $(am__append_4008) $(am__append_4015) $(am__append_4022) \ ++ $(am__append_4029) $(am__append_4036) $(am__append_4043) \ ++ $(am__append_4050) $(am__append_4057) $(am__append_4064) \ + normal.module$(EXEEXT) part_acorn.module$(EXEEXT) \ + part_amiga.module$(EXEEXT) part_apple.module$(EXEEXT) \ + part_gpt.module$(EXEEXT) part_msdos.module$(EXEEXT) \ + part_sun.module$(EXEEXT) part_plan.module$(EXEEXT) \ + part_dvh.module$(EXEEXT) part_bsd.module$(EXEEXT) \ + part_sunpc.module$(EXEEXT) part_dfly.module$(EXEEXT) \ +- msdospart.module$(EXEEXT) $(am__append_4078) \ +- $(am__append_4085) $(am__append_4092) $(am__append_4099) \ +- $(am__append_4106) $(am__append_4113) $(am__append_4120) \ +- $(am__append_4127) $(am__append_4134) $(am__append_4141) \ +- $(am__append_4148) $(am__append_4155) $(am__append_4162) \ +- $(am__append_4169) $(am__append_4176) $(am__append_4183) \ +- $(am__append_4190) $(am__append_4197) $(am__append_4204) \ +- $(am__append_4211) $(am__append_4218) $(am__append_4225) \ +- $(am__append_4232) $(am__append_4239) $(am__append_4246) \ +- $(am__append_4253) $(am__append_4260) \ +- gfxterm_background.module$(EXEEXT) $(am__append_4267) \ +- $(am__append_4274) $(am__append_4281) $(am__append_4288) \ +- $(am__append_4295) $(am__append_4302) $(am__append_4309) \ +- $(am__append_4316) $(am__append_4323) $(am__append_4330) \ +- $(am__append_4337) $(am__append_4344) $(am__append_4351) \ +- $(am__append_4358) $(am__append_4365) $(am__append_4372) \ +- $(am__append_4379) $(am__append_4386) $(am__append_4393) \ +- $(am__append_4400) $(am__append_4407) $(am__append_4414) \ +- $(am__append_4421) $(am__append_4428) $(am__append_4435) \ +- $(am__append_4442) $(am__append_4449) $(am__append_4456) \ +- $(am__append_4463) $(am__append_4470) $(am__append_4477) \ +- $(am__append_4484) $(am__append_4491) $(am__append_4498) \ +- $(am__append_4505) $(am__append_4512) $(am__append_4519) \ +- $(am__append_4526) $(am__append_4533) $(am__append_4540) \ +- $(am__append_4547) $(am__append_4554) $(am__append_4561) \ +- $(am__append_4568) $(am__append_4575) $(am__append_4582) \ +- $(am__append_4589) $(am__append_4596) $(am__append_4603) \ +- $(am__append_4610) $(am__append_4617) $(am__append_4624) \ +- $(am__append_4631) $(am__append_4638) $(am__append_4645) \ ++ msdospart.module$(EXEEXT) $(am__append_4071) \ ++ $(am__append_4078) $(am__append_4085) $(am__append_4092) \ ++ $(am__append_4099) $(am__append_4106) $(am__append_4113) \ ++ $(am__append_4120) $(am__append_4127) $(am__append_4134) \ ++ $(am__append_4141) $(am__append_4148) $(am__append_4155) \ ++ $(am__append_4162) $(am__append_4169) $(am__append_4176) \ ++ $(am__append_4183) $(am__append_4190) $(am__append_4197) \ ++ $(am__append_4204) $(am__append_4211) $(am__append_4218) \ ++ $(am__append_4225) $(am__append_4232) $(am__append_4239) \ ++ $(am__append_4246) $(am__append_4253) \ ++ gfxterm_background.module$(EXEEXT) $(am__append_4260) \ ++ $(am__append_4267) $(am__append_4274) $(am__append_4281) \ ++ $(am__append_4288) $(am__append_4295) $(am__append_4302) \ ++ $(am__append_4309) $(am__append_4316) $(am__append_4323) \ ++ $(am__append_4330) $(am__append_4337) $(am__append_4344) \ ++ $(am__append_4351) $(am__append_4358) $(am__append_4365) \ ++ $(am__append_4372) $(am__append_4379) $(am__append_4386) \ ++ $(am__append_4393) $(am__append_4400) $(am__append_4407) \ ++ $(am__append_4414) $(am__append_4421) $(am__append_4428) \ ++ $(am__append_4435) $(am__append_4442) $(am__append_4449) \ ++ $(am__append_4456) $(am__append_4463) $(am__append_4470) \ ++ $(am__append_4477) $(am__append_4484) $(am__append_4491) \ ++ $(am__append_4498) $(am__append_4505) $(am__append_4512) \ ++ $(am__append_4519) $(am__append_4526) $(am__append_4533) \ ++ $(am__append_4540) $(am__append_4547) $(am__append_4554) \ ++ $(am__append_4561) $(am__append_4568) $(am__append_4575) \ ++ $(am__append_4582) $(am__append_4589) $(am__append_4596) \ ++ $(am__append_4603) $(am__append_4610) $(am__append_4617) \ ++ $(am__append_4624) $(am__append_4631) $(am__append_4638) \ + functional_test.module$(EXEEXT) exfctest.module$(EXEEXT) \ + strtoull_test.module$(EXEEXT) setjmp_test.module$(EXEEXT) \ + signature_test.module$(EXEEXT) sleep_test.module$(EXEEXT) \ + xnu_uuid_test.module$(EXEEXT) pbkdf2_test.module$(EXEEXT) \ +- $(am__append_4652) $(am__append_4659) $(am__append_4666) \ +- $(am__append_4673) $(am__append_4680) $(am__append_4687) \ +- $(am__append_4694) $(am__append_4701) $(am__append_4708) \ +- $(am__append_4715) $(am__append_4722) $(am__append_4729) \ +- $(am__append_4736) $(am__append_4743) $(am__append_4750) \ +- $(am__append_4757) $(am__append_4764) $(am__append_4771) \ +- $(am__append_4778) $(am__append_4785) $(am__append_4792) \ +- $(am__append_4799) $(am__append_4806) $(am__append_4813) \ +- $(am__append_4820) div_test.module$(EXEEXT) \ ++ $(am__append_4645) $(am__append_4652) $(am__append_4659) \ ++ $(am__append_4666) $(am__append_4673) $(am__append_4680) \ ++ $(am__append_4687) $(am__append_4694) $(am__append_4701) \ ++ $(am__append_4708) $(am__append_4715) $(am__append_4722) \ ++ $(am__append_4729) $(am__append_4736) $(am__append_4743) \ ++ $(am__append_4750) $(am__append_4757) $(am__append_4764) \ ++ $(am__append_4771) $(am__append_4778) $(am__append_4785) \ ++ $(am__append_4792) $(am__append_4799) $(am__append_4806) \ ++ $(am__append_4813) div_test.module$(EXEEXT) \ + mul_test.module$(EXEEXT) shift_test.module$(EXEEXT) \ + cmp_test.module$(EXEEXT) ctz_test.module$(EXEEXT) \ + bswap_test.module$(EXEEXT) videotest_checksum.module$(EXEEXT) \ + gfxterm_menu.module$(EXEEXT) cmdline_cat_test.module$(EXEEXT) \ + bitmap.module$(EXEEXT) bitmap_scale.module$(EXEEXT) \ +- $(am__append_4827) $(am__append_4834) $(am__append_4841) \ +- $(am__append_4848) $(am__append_4855) $(am__append_4862) \ +- $(am__append_4869) $(am__append_4876) $(am__append_4883) \ ++ $(am__append_4820) $(am__append_4827) $(am__append_4834) \ ++ $(am__append_4841) $(am__append_4848) $(am__append_4855) \ ++ $(am__append_4862) $(am__append_4869) $(am__append_4876) \ + jpeg.module$(EXEEXT) png.module$(EXEEXT) tga.module$(EXEEXT) \ +- $(am__append_4890) $(am__append_4897) $(am__append_4904) \ +- $(am__append_4911) $(am__append_4918) $(am__append_4925) \ +- $(am__append_4932) $(am__append_4939) $(am__append_4946) \ +- $(am__append_4953) $(am__append_4960) $(am__append_4967) \ +- $(am__append_4974) $(am__append_4981) $(am__append_4988) \ +- $(am__append_4995) $(am__append_5002) $(am__append_5009) \ +- $(am__append_5016) $(am__append_5023) $(am__append_5030) \ +- $(am__append_5037) $(am__append_5044) $(am__append_5051) \ +- $(am__append_5058) $(am__append_5065) $(am__append_5072) \ +- $(am__append_5079) $(am__append_5086) $(am__append_5093) \ +- $(am__append_5100) $(am__append_5107) $(am__append_5114) \ +- $(am__append_5121) $(am__append_5128) $(am__append_5135) \ +- $(am__append_5142) $(am__append_5149) $(am__append_5156) \ +- $(am__append_5163) $(am__append_5170) \ +- video_colors.module$(EXEEXT) $(am__append_5177) \ +- $(am__append_5184) datehook.module$(EXEEXT) \ ++ $(am__append_4883) $(am__append_4890) $(am__append_4897) \ ++ $(am__append_4904) $(am__append_4911) $(am__append_4918) \ ++ $(am__append_4925) $(am__append_4932) $(am__append_4939) \ ++ $(am__append_4946) $(am__append_4953) $(am__append_4960) \ ++ $(am__append_4967) $(am__append_4974) $(am__append_4981) \ ++ $(am__append_4988) $(am__append_4995) $(am__append_5002) \ ++ $(am__append_5009) $(am__append_5016) $(am__append_5023) \ ++ $(am__append_5030) $(am__append_5037) $(am__append_5044) \ ++ $(am__append_5051) $(am__append_5058) $(am__append_5065) \ ++ $(am__append_5072) $(am__append_5079) $(am__append_5086) \ ++ $(am__append_5093) $(am__append_5100) $(am__append_5107) \ ++ $(am__append_5114) $(am__append_5121) $(am__append_5128) \ ++ $(am__append_5135) $(am__append_5142) $(am__append_5149) \ ++ $(am__append_5156) $(am__append_5163) \ ++ video_colors.module$(EXEEXT) $(am__append_5170) \ ++ $(am__append_5177) datehook.module$(EXEEXT) \ + net.module$(EXEEXT) tftp.module$(EXEEXT) http.module$(EXEEXT) \ +- $(am__append_5191) $(am__append_5198) $(am__append_5205) \ +- $(am__append_5212) $(am__append_5219) $(am__append_5226) \ +- $(am__append_5233) $(am__append_5240) $(am__append_5247) \ +- $(am__append_5254) $(am__append_5261) $(am__append_5268) \ +- $(am__append_5275) $(am__append_5282) $(am__append_5289) \ +- $(am__append_5296) $(am__append_5303) $(am__append_5310) \ ++ $(am__append_5184) $(am__append_5191) $(am__append_5198) \ ++ $(am__append_5205) $(am__append_5212) $(am__append_5219) \ ++ $(am__append_5226) $(am__append_5233) $(am__append_5240) \ ++ $(am__append_5247) $(am__append_5254) $(am__append_5261) \ ++ $(am__append_5268) $(am__append_5275) $(am__append_5282) \ ++ $(am__append_5289) $(am__append_5296) $(am__append_5303) \ + syslinuxcfg.module$(EXEEXT) test_blockarg.module$(EXEEXT) \ + xzio.module$(EXEEXT) lzopio.module$(EXEEXT) \ +- testload.module$(EXEEXT) $(am__append_5317) $(am__append_5324) \ +- $(am__append_5331) $(am__append_5338) $(am__append_5345) \ +- $(am__append_5352) $(am__append_5359) $(am__append_5366) \ +- $(am__append_5373) $(am__append_5380) $(am__append_5387) \ +- $(am__append_5394) $(am__append_5401) $(am__append_5408) \ +- $(am__append_5415) $(am__append_5422) $(am__append_5429) \ ++ testload.module$(EXEEXT) $(am__append_5310) $(am__append_5317) \ ++ $(am__append_5324) $(am__append_5331) $(am__append_5338) \ ++ $(am__append_5345) $(am__append_5352) $(am__append_5359) \ ++ $(am__append_5366) $(am__append_5373) $(am__append_5380) \ ++ $(am__append_5387) $(am__append_5394) $(am__append_5401) \ ++ $(am__append_5408) $(am__append_5415) $(am__append_5422) \ + priority_queue.module$(EXEEXT) time.module$(EXEEXT) \ +- $(am__append_5436) $(am__append_5443) adler32.module$(EXEEXT) \ ++ $(am__append_5429) $(am__append_5436) adler32.module$(EXEEXT) \ + crc64.module$(EXEEXT) mpi.module$(EXEEXT) \ +- all_video.module$(EXEEXT) $(am__append_5450) \ +- $(am__append_5457) $(am__append_5464) $(am__append_5471) \ +- $(am__append_5478) $(am__append_5485) \ +- testspeed.module$(EXEEXT) $(am__append_5492) \ ++ all_video.module$(EXEEXT) $(am__append_5443) \ ++ $(am__append_5450) $(am__append_5457) $(am__append_5464) \ ++ $(am__append_5471) $(am__append_5478) \ ++ testspeed.module$(EXEEXT) $(am__append_5485) \ + tr.module$(EXEEXT) progress.module$(EXEEXT) \ +- file.module$(EXEEXT) $(am__append_5499) $(am__append_5506) \ +- $(am__append_5513) $(am__append_5520) $(am__append_5527) \ +- $(am__append_5534) $(am__append_5541) $(am__append_5548) \ +- $(am__append_5555) $(am__append_5562) $(am__append_5569) \ +- $(am__append_5576) $(am__append_5583) $(am__append_5590) \ ++ file.module$(EXEEXT) $(am__append_5492) $(am__append_5499) \ ++ $(am__append_5506) $(am__append_5513) $(am__append_5520) \ ++ $(am__append_5527) $(am__append_5534) $(am__append_5541) \ ++ $(am__append_5548) $(am__append_5555) $(am__append_5562) \ ++ $(am__append_5569) $(am__append_5576) $(am__append_5583) \ + gcry_arcfour.module$(EXEEXT) gcry_blowfish.module$(EXEEXT) \ + gcry_camellia.module$(EXEEXT) gcry_cast5.module$(EXEEXT) \ + gcry_crc.module$(EXEEXT) gcry_des.module$(EXEEXT) \ +@@ -16180,58 +16157,58 @@ MARKER_FILES = disk.marker trig.marker $(am__append_9) \ + hashsum.marker pgp.marker $(am__append_2046) \ + $(am__append_2053) $(am__append_2060) $(am__append_2067) \ + $(am__append_2074) $(am__append_2081) $(am__append_2088) \ +- $(am__append_2095) $(am__append_2102) $(am__append_2109) \ +- help.marker hexdump.marker keystatus.marker $(am__append_2116) \ +- $(am__append_2123) loadenv.marker ls.marker lsmmap.marker \ +- $(am__append_2130) $(am__append_2137) $(am__append_2144) \ +- $(am__append_2151) $(am__append_2158) $(am__append_2165) \ +- $(am__append_2172) $(am__append_2179) memrw.marker \ ++ $(am__append_2095) $(am__append_2102) help.marker \ ++ hexdump.marker keystatus.marker $(am__append_2109) \ ++ $(am__append_2116) loadenv.marker ls.marker lsmmap.marker \ ++ $(am__append_2123) $(am__append_2130) $(am__append_2137) \ ++ $(am__append_2144) $(am__append_2151) $(am__append_2158) \ ++ $(am__append_2165) $(am__append_2172) memrw.marker \ + minicmd.marker parttool.marker password.marker \ +- password_pbkdf2.marker $(am__append_2186) $(am__append_2193) \ +- $(am__append_2200) $(am__append_2207) $(am__append_2214) \ +- $(am__append_2221) $(am__append_2228) $(am__append_2235) \ +- $(am__append_2242) $(am__append_2249) $(am__append_2256) \ +- $(am__append_2263) $(am__append_2270) $(am__append_2277) \ +- $(am__append_2284) $(am__append_2291) $(am__append_2298) \ +- $(am__append_2305) $(am__append_2312) $(am__append_2319) \ +- $(am__append_2326) probe.marker read.marker search.marker \ ++ password_pbkdf2.marker $(am__append_2179) $(am__append_2186) \ ++ $(am__append_2193) $(am__append_2200) $(am__append_2207) \ ++ $(am__append_2214) $(am__append_2221) $(am__append_2228) \ ++ $(am__append_2235) $(am__append_2242) $(am__append_2249) \ ++ $(am__append_2256) $(am__append_2263) $(am__append_2270) \ ++ $(am__append_2277) $(am__append_2284) $(am__append_2291) \ ++ $(am__append_2298) $(am__append_2305) $(am__append_2312) \ ++ $(am__append_2319) probe.marker read.marker search.marker \ + search_fs_file.marker search_fs_uuid.marker \ +- search_label.marker $(am__append_2333) $(am__append_2340) \ +- $(am__append_2347) $(am__append_2354) $(am__append_2361) \ +- $(am__append_2368) $(am__append_2375) $(am__append_2382) \ +- $(am__append_2389) $(am__append_2396) $(am__append_2403) \ +- $(am__append_2410) $(am__append_2417) $(am__append_2424) \ +- $(am__append_2431) $(am__append_2438) sleep.marker \ +- $(am__append_2445) $(am__append_2452) terminal.marker \ +- test.marker true.marker $(am__append_2459) $(am__append_2466) \ +- $(am__append_2473) $(am__append_2480) $(am__append_2487) \ +- $(am__append_2494) $(am__append_2501) $(am__append_2508) \ +- $(am__append_2515) videoinfo.marker videotest.marker \ ++ search_label.marker $(am__append_2326) $(am__append_2333) \ ++ $(am__append_2340) $(am__append_2347) $(am__append_2354) \ ++ $(am__append_2361) $(am__append_2368) $(am__append_2375) \ ++ $(am__append_2382) $(am__append_2389) $(am__append_2396) \ ++ $(am__append_2403) $(am__append_2410) $(am__append_2417) \ ++ $(am__append_2424) $(am__append_2431) sleep.marker \ ++ $(am__append_2438) $(am__append_2445) terminal.marker \ ++ test.marker true.marker $(am__append_2452) $(am__append_2459) \ ++ $(am__append_2466) $(am__append_2473) $(am__append_2480) \ ++ $(am__append_2487) $(am__append_2494) $(am__append_2501) \ ++ $(am__append_2508) videoinfo.marker videotest.marker \ + xnu_uuid.marker dm_nv.marker loopback.marker cryptodisk.marker \ + luks.marker geli.marker lvm.marker ldm.marker mdraid09.marker \ + mdraid09_be.marker mdraid1x.marker diskfilter.marker \ + raid5rec.marker raid6rec.marker scsi.marker memdisk.marker \ +- $(am__append_2522) $(am__append_2529) $(am__append_2536) \ +- $(am__append_2543) $(am__append_2550) $(am__append_2557) \ +- $(am__append_2564) $(am__append_2571) $(am__append_2578) \ +- $(am__append_2585) $(am__append_2592) $(am__append_2599) \ +- $(am__append_2606) $(am__append_2613) $(am__append_2620) \ +- $(am__append_2627) $(am__append_2634) $(am__append_2641) \ +- $(am__append_2648) $(am__append_2655) $(am__append_2662) \ +- $(am__append_2669) $(am__append_2676) $(am__append_2683) \ +- $(am__append_2690) $(am__append_2697) $(am__append_2704) \ +- $(am__append_2711) $(am__append_2718) $(am__append_2725) \ +- $(am__append_2732) $(am__append_2739) $(am__append_2746) \ +- $(am__append_2753) $(am__append_2760) $(am__append_2767) \ +- $(am__append_2774) $(am__append_2781) $(am__append_2788) \ +- $(am__append_2795) $(am__append_2802) $(am__append_2809) \ +- $(am__append_2816) $(am__append_2823) $(am__append_2830) \ +- $(am__append_2837) $(am__append_2844) $(am__append_2851) \ +- $(am__append_2858) $(am__append_2865) $(am__append_2872) \ +- $(am__append_2879) $(am__append_2886) $(am__append_2893) \ +- $(am__append_2900) $(am__append_2907) $(am__append_2914) \ +- $(am__append_2921) $(am__append_2928) $(am__append_2935) \ +- $(am__append_2942) procfs.marker affs.marker afs.marker \ ++ $(am__append_2515) $(am__append_2522) $(am__append_2529) \ ++ $(am__append_2536) $(am__append_2543) $(am__append_2550) \ ++ $(am__append_2557) $(am__append_2564) $(am__append_2571) \ ++ $(am__append_2578) $(am__append_2585) $(am__append_2592) \ ++ $(am__append_2599) $(am__append_2606) $(am__append_2613) \ ++ $(am__append_2620) $(am__append_2627) $(am__append_2634) \ ++ $(am__append_2641) $(am__append_2648) $(am__append_2655) \ ++ $(am__append_2662) $(am__append_2669) $(am__append_2676) \ ++ $(am__append_2683) $(am__append_2690) $(am__append_2697) \ ++ $(am__append_2704) $(am__append_2711) $(am__append_2718) \ ++ $(am__append_2725) $(am__append_2732) $(am__append_2739) \ ++ $(am__append_2746) $(am__append_2753) $(am__append_2760) \ ++ $(am__append_2767) $(am__append_2774) $(am__append_2781) \ ++ $(am__append_2788) $(am__append_2795) $(am__append_2802) \ ++ $(am__append_2809) $(am__append_2816) $(am__append_2823) \ ++ $(am__append_2830) $(am__append_2837) $(am__append_2844) \ ++ $(am__append_2851) $(am__append_2858) $(am__append_2865) \ ++ $(am__append_2872) $(am__append_2879) $(am__append_2886) \ ++ $(am__append_2893) $(am__append_2900) $(am__append_2907) \ ++ $(am__append_2914) $(am__append_2921) $(am__append_2928) \ ++ $(am__append_2935) procfs.marker affs.marker afs.marker \ + bfs.marker zstd.marker btrfs.marker archelp.marker cbfs.marker \ + cpio.marker cpio_be.marker newc.marker odc.marker ext2.marker \ + fat.marker exfat.marker f2fs.marker fshelp.marker hfs.marker \ +@@ -16242,153 +16219,153 @@ MARKER_FILES = disk.marker trig.marker $(am__append_9) \ + squash4.marker tar.marker udf.marker ufs1.marker \ + ufs1_be.marker ufs2.marker xfs.marker zfs.marker \ + zfscrypt.marker zfsinfo.marker macbless.marker \ +- $(am__append_2949) gettext.marker gfxmenu.marker hello.marker \ +- gzio.marker offsetio.marker $(am__append_2956) \ +- $(am__append_2963) $(am__append_2970) $(am__append_2977) \ +- $(am__append_2984) $(am__append_2991) $(am__append_2998) \ +- $(am__append_3005) $(am__append_3012) $(am__append_3019) \ +- $(am__append_3026) $(am__append_3033) $(am__append_3040) \ +- $(am__append_3047) $(am__append_3054) $(am__append_3061) \ +- $(am__append_3068) $(am__append_3075) $(am__append_3082) \ +- $(am__append_3089) elf.marker crypto.marker pbkdf2.marker \ +- $(am__append_3096) $(am__append_3103) $(am__append_3110) \ +- $(am__append_3117) $(am__append_3124) $(am__append_3131) \ +- $(am__append_3138) $(am__append_3145) $(am__append_3152) \ +- $(am__append_3159) $(am__append_3166) $(am__append_3173) \ +- $(am__append_3180) $(am__append_3187) $(am__append_3194) \ +- $(am__append_3201) $(am__append_3208) $(am__append_3215) \ +- $(am__append_3222) $(am__append_3229) $(am__append_3236) \ +- $(am__append_3243) $(am__append_3250) $(am__append_3257) \ +- $(am__append_3264) $(am__append_3271) $(am__append_3278) \ +- $(am__append_3285) $(am__append_3292) $(am__append_3299) \ +- $(am__append_3306) $(am__append_3313) $(am__append_3320) \ +- $(am__append_3327) $(am__append_3334) $(am__append_3341) \ +- setjmp.marker $(am__append_3348) $(am__append_3355) \ +- $(am__append_3362) $(am__append_3369) $(am__append_3376) \ +- $(am__append_3383) $(am__append_3390) $(am__append_3397) \ +- $(am__append_3404) $(am__append_3411) $(am__append_3418) \ +- $(am__append_3425) $(am__append_3432) $(am__append_3439) \ +- $(am__append_3446) $(am__append_3453) $(am__append_3460) \ +- $(am__append_3467) $(am__append_3474) $(am__append_3481) \ +- $(am__append_3488) $(am__append_3495) $(am__append_3502) \ +- $(am__append_3509) $(am__append_3516) $(am__append_3523) \ +- $(am__append_3530) $(am__append_3537) $(am__append_3544) \ +- $(am__append_3551) $(am__append_3558) $(am__append_3565) \ +- $(am__append_3572) $(am__append_3579) $(am__append_3586) \ +- $(am__append_3593) $(am__append_3600) $(am__append_3607) \ +- $(am__append_3614) $(am__append_3621) $(am__append_3628) \ +- $(am__append_3635) $(am__append_3642) $(am__append_3649) \ +- $(am__append_3656) $(am__append_3663) $(am__append_3670) \ +- $(am__append_3677) $(am__append_3684) $(am__append_3691) \ +- $(am__append_3698) $(am__append_3705) $(am__append_3712) \ +- $(am__append_3719) $(am__append_3726) $(am__append_3733) \ +- $(am__append_3740) $(am__append_3747) $(am__append_3754) \ +- $(am__append_3761) $(am__append_3768) $(am__append_3775) \ +- $(am__append_3782) $(am__append_3789) $(am__append_3796) \ +- $(am__append_3803) $(am__append_3810) $(am__append_3817) \ +- $(am__append_3824) $(am__append_3831) $(am__append_3838) \ +- $(am__append_3845) $(am__append_3852) $(am__append_3859) \ +- $(am__append_3866) $(am__append_3873) $(am__append_3880) \ +- $(am__append_3887) macho.marker $(am__append_3894) \ +- $(am__append_3901) $(am__append_3908) $(am__append_3915) \ +- $(am__append_3922) $(am__append_3929) $(am__append_3936) \ +- $(am__append_3943) $(am__append_3950) $(am__append_3957) \ +- $(am__append_3964) $(am__append_3971) $(am__append_3978) \ +- $(am__append_3985) $(am__append_3992) $(am__append_3999) \ +- $(am__append_4006) $(am__append_4013) $(am__append_4020) \ +- $(am__append_4027) $(am__append_4034) $(am__append_4041) \ +- $(am__append_4048) $(am__append_4055) $(am__append_4062) \ +- $(am__append_4069) $(am__append_4076) normal.marker \ ++ $(am__append_2942) gettext.marker gfxmenu.marker hello.marker \ ++ gzio.marker offsetio.marker $(am__append_2949) \ ++ $(am__append_2956) $(am__append_2963) $(am__append_2970) \ ++ $(am__append_2977) $(am__append_2984) $(am__append_2991) \ ++ $(am__append_2998) $(am__append_3005) $(am__append_3012) \ ++ $(am__append_3019) $(am__append_3026) $(am__append_3033) \ ++ $(am__append_3040) $(am__append_3047) $(am__append_3054) \ ++ $(am__append_3061) $(am__append_3068) $(am__append_3075) \ ++ $(am__append_3082) elf.marker crypto.marker pbkdf2.marker \ ++ $(am__append_3089) $(am__append_3096) $(am__append_3103) \ ++ $(am__append_3110) $(am__append_3117) $(am__append_3124) \ ++ $(am__append_3131) $(am__append_3138) $(am__append_3145) \ ++ $(am__append_3152) $(am__append_3159) $(am__append_3166) \ ++ $(am__append_3173) $(am__append_3180) $(am__append_3187) \ ++ $(am__append_3194) $(am__append_3201) $(am__append_3208) \ ++ $(am__append_3215) $(am__append_3222) $(am__append_3229) \ ++ $(am__append_3236) $(am__append_3243) $(am__append_3250) \ ++ $(am__append_3257) $(am__append_3264) $(am__append_3271) \ ++ $(am__append_3278) $(am__append_3285) $(am__append_3292) \ ++ $(am__append_3299) $(am__append_3306) $(am__append_3313) \ ++ $(am__append_3320) $(am__append_3327) $(am__append_3334) \ ++ setjmp.marker $(am__append_3341) $(am__append_3348) \ ++ $(am__append_3355) $(am__append_3362) $(am__append_3369) \ ++ $(am__append_3376) $(am__append_3383) $(am__append_3390) \ ++ $(am__append_3397) $(am__append_3404) $(am__append_3411) \ ++ $(am__append_3418) $(am__append_3425) $(am__append_3432) \ ++ $(am__append_3439) $(am__append_3446) $(am__append_3453) \ ++ $(am__append_3460) $(am__append_3467) $(am__append_3474) \ ++ $(am__append_3481) $(am__append_3488) $(am__append_3495) \ ++ $(am__append_3502) $(am__append_3509) $(am__append_3516) \ ++ $(am__append_3523) $(am__append_3530) $(am__append_3537) \ ++ $(am__append_3544) $(am__append_3551) $(am__append_3558) \ ++ $(am__append_3565) $(am__append_3572) $(am__append_3579) \ ++ $(am__append_3586) $(am__append_3593) $(am__append_3600) \ ++ $(am__append_3607) $(am__append_3614) $(am__append_3621) \ ++ $(am__append_3628) $(am__append_3635) $(am__append_3642) \ ++ $(am__append_3649) $(am__append_3656) $(am__append_3663) \ ++ $(am__append_3670) $(am__append_3677) $(am__append_3684) \ ++ $(am__append_3691) $(am__append_3698) $(am__append_3705) \ ++ $(am__append_3712) $(am__append_3719) $(am__append_3726) \ ++ $(am__append_3733) $(am__append_3740) $(am__append_3747) \ ++ $(am__append_3754) $(am__append_3761) $(am__append_3768) \ ++ $(am__append_3775) $(am__append_3782) $(am__append_3789) \ ++ $(am__append_3796) $(am__append_3803) $(am__append_3810) \ ++ $(am__append_3817) $(am__append_3824) $(am__append_3831) \ ++ $(am__append_3838) $(am__append_3845) $(am__append_3852) \ ++ $(am__append_3859) $(am__append_3866) $(am__append_3873) \ ++ $(am__append_3880) macho.marker $(am__append_3887) \ ++ $(am__append_3894) $(am__append_3901) $(am__append_3908) \ ++ $(am__append_3915) $(am__append_3922) $(am__append_3929) \ ++ $(am__append_3936) $(am__append_3943) $(am__append_3950) \ ++ $(am__append_3957) $(am__append_3964) $(am__append_3971) \ ++ $(am__append_3978) $(am__append_3985) $(am__append_3992) \ ++ $(am__append_3999) $(am__append_4006) $(am__append_4013) \ ++ $(am__append_4020) $(am__append_4027) $(am__append_4034) \ ++ $(am__append_4041) $(am__append_4048) $(am__append_4055) \ ++ $(am__append_4062) $(am__append_4069) normal.marker \ + part_acorn.marker part_amiga.marker part_apple.marker \ + part_gpt.marker part_msdos.marker part_sun.marker \ + part_plan.marker part_dvh.marker part_bsd.marker \ + part_sunpc.marker part_dfly.marker msdospart.marker \ +- $(am__append_4083) $(am__append_4090) $(am__append_4097) \ +- $(am__append_4104) $(am__append_4111) $(am__append_4118) \ +- $(am__append_4125) $(am__append_4132) $(am__append_4139) \ +- $(am__append_4146) $(am__append_4153) $(am__append_4160) \ +- $(am__append_4167) $(am__append_4174) $(am__append_4181) \ +- $(am__append_4188) $(am__append_4195) $(am__append_4202) \ +- $(am__append_4209) $(am__append_4216) $(am__append_4223) \ +- $(am__append_4230) $(am__append_4237) $(am__append_4244) \ +- $(am__append_4251) $(am__append_4258) $(am__append_4265) \ +- gfxterm_background.marker $(am__append_4272) \ +- $(am__append_4279) $(am__append_4286) $(am__append_4293) \ +- $(am__append_4300) $(am__append_4307) $(am__append_4314) \ +- $(am__append_4321) $(am__append_4328) $(am__append_4335) \ +- $(am__append_4342) $(am__append_4349) $(am__append_4356) \ +- $(am__append_4363) $(am__append_4370) $(am__append_4377) \ +- $(am__append_4384) $(am__append_4391) $(am__append_4398) \ +- $(am__append_4405) $(am__append_4412) $(am__append_4419) \ +- $(am__append_4426) $(am__append_4433) $(am__append_4440) \ +- $(am__append_4447) $(am__append_4454) $(am__append_4461) \ +- $(am__append_4468) $(am__append_4475) $(am__append_4482) \ +- $(am__append_4489) $(am__append_4496) $(am__append_4503) \ +- $(am__append_4510) $(am__append_4517) $(am__append_4524) \ +- $(am__append_4531) $(am__append_4538) $(am__append_4545) \ +- $(am__append_4552) $(am__append_4559) $(am__append_4566) \ +- $(am__append_4573) $(am__append_4580) $(am__append_4587) \ +- $(am__append_4594) $(am__append_4601) $(am__append_4608) \ +- $(am__append_4615) $(am__append_4622) $(am__append_4629) \ +- $(am__append_4636) $(am__append_4643) $(am__append_4650) \ ++ $(am__append_4076) $(am__append_4083) $(am__append_4090) \ ++ $(am__append_4097) $(am__append_4104) $(am__append_4111) \ ++ $(am__append_4118) $(am__append_4125) $(am__append_4132) \ ++ $(am__append_4139) $(am__append_4146) $(am__append_4153) \ ++ $(am__append_4160) $(am__append_4167) $(am__append_4174) \ ++ $(am__append_4181) $(am__append_4188) $(am__append_4195) \ ++ $(am__append_4202) $(am__append_4209) $(am__append_4216) \ ++ $(am__append_4223) $(am__append_4230) $(am__append_4237) \ ++ $(am__append_4244) $(am__append_4251) $(am__append_4258) \ ++ gfxterm_background.marker $(am__append_4265) \ ++ $(am__append_4272) $(am__append_4279) $(am__append_4286) \ ++ $(am__append_4293) $(am__append_4300) $(am__append_4307) \ ++ $(am__append_4314) $(am__append_4321) $(am__append_4328) \ ++ $(am__append_4335) $(am__append_4342) $(am__append_4349) \ ++ $(am__append_4356) $(am__append_4363) $(am__append_4370) \ ++ $(am__append_4377) $(am__append_4384) $(am__append_4391) \ ++ $(am__append_4398) $(am__append_4405) $(am__append_4412) \ ++ $(am__append_4419) $(am__append_4426) $(am__append_4433) \ ++ $(am__append_4440) $(am__append_4447) $(am__append_4454) \ ++ $(am__append_4461) $(am__append_4468) $(am__append_4475) \ ++ $(am__append_4482) $(am__append_4489) $(am__append_4496) \ ++ $(am__append_4503) $(am__append_4510) $(am__append_4517) \ ++ $(am__append_4524) $(am__append_4531) $(am__append_4538) \ ++ $(am__append_4545) $(am__append_4552) $(am__append_4559) \ ++ $(am__append_4566) $(am__append_4573) $(am__append_4580) \ ++ $(am__append_4587) $(am__append_4594) $(am__append_4601) \ ++ $(am__append_4608) $(am__append_4615) $(am__append_4622) \ ++ $(am__append_4629) $(am__append_4636) $(am__append_4643) \ + functional_test.marker exfctest.marker strtoull_test.marker \ + setjmp_test.marker signature_test.marker sleep_test.marker \ +- xnu_uuid_test.marker pbkdf2_test.marker $(am__append_4657) \ +- $(am__append_4664) $(am__append_4671) $(am__append_4678) \ +- $(am__append_4685) $(am__append_4692) $(am__append_4699) \ +- $(am__append_4706) $(am__append_4713) $(am__append_4720) \ +- $(am__append_4727) $(am__append_4734) $(am__append_4741) \ +- $(am__append_4748) $(am__append_4755) $(am__append_4762) \ +- $(am__append_4769) $(am__append_4776) $(am__append_4783) \ +- $(am__append_4790) $(am__append_4797) $(am__append_4804) \ +- $(am__append_4811) $(am__append_4818) $(am__append_4825) \ ++ xnu_uuid_test.marker pbkdf2_test.marker $(am__append_4650) \ ++ $(am__append_4657) $(am__append_4664) $(am__append_4671) \ ++ $(am__append_4678) $(am__append_4685) $(am__append_4692) \ ++ $(am__append_4699) $(am__append_4706) $(am__append_4713) \ ++ $(am__append_4720) $(am__append_4727) $(am__append_4734) \ ++ $(am__append_4741) $(am__append_4748) $(am__append_4755) \ ++ $(am__append_4762) $(am__append_4769) $(am__append_4776) \ ++ $(am__append_4783) $(am__append_4790) $(am__append_4797) \ ++ $(am__append_4804) $(am__append_4811) $(am__append_4818) \ + div_test.marker mul_test.marker shift_test.marker \ + cmp_test.marker ctz_test.marker bswap_test.marker \ + videotest_checksum.marker gfxterm_menu.marker \ + cmdline_cat_test.marker bitmap.marker bitmap_scale.marker \ +- $(am__append_4832) $(am__append_4839) $(am__append_4846) \ +- $(am__append_4853) $(am__append_4860) $(am__append_4867) \ +- $(am__append_4874) $(am__append_4881) $(am__append_4888) \ +- jpeg.marker png.marker tga.marker $(am__append_4895) \ +- $(am__append_4902) $(am__append_4909) $(am__append_4916) \ +- $(am__append_4923) $(am__append_4930) $(am__append_4937) \ +- $(am__append_4944) $(am__append_4951) $(am__append_4958) \ +- $(am__append_4965) $(am__append_4972) $(am__append_4979) \ +- $(am__append_4986) $(am__append_4993) $(am__append_5000) \ +- $(am__append_5007) $(am__append_5014) $(am__append_5021) \ +- $(am__append_5028) $(am__append_5035) $(am__append_5042) \ +- $(am__append_5049) $(am__append_5056) $(am__append_5063) \ +- $(am__append_5070) $(am__append_5077) $(am__append_5084) \ +- $(am__append_5091) $(am__append_5098) $(am__append_5105) \ +- $(am__append_5112) $(am__append_5119) $(am__append_5126) \ +- $(am__append_5133) $(am__append_5140) $(am__append_5147) \ +- $(am__append_5154) $(am__append_5161) $(am__append_5168) \ +- $(am__append_5175) video_colors.marker $(am__append_5182) \ +- $(am__append_5189) datehook.marker net.marker tftp.marker \ +- http.marker $(am__append_5196) $(am__append_5203) \ +- $(am__append_5210) $(am__append_5217) $(am__append_5224) \ +- $(am__append_5231) $(am__append_5238) $(am__append_5245) \ +- $(am__append_5252) $(am__append_5259) $(am__append_5266) \ +- $(am__append_5273) $(am__append_5280) $(am__append_5287) \ +- $(am__append_5294) $(am__append_5301) $(am__append_5308) \ +- $(am__append_5315) syslinuxcfg.marker test_blockarg.marker \ +- xzio.marker lzopio.marker testload.marker $(am__append_5322) \ +- $(am__append_5329) $(am__append_5336) $(am__append_5343) \ +- $(am__append_5350) $(am__append_5357) $(am__append_5364) \ +- $(am__append_5371) $(am__append_5378) $(am__append_5385) \ +- $(am__append_5392) $(am__append_5399) $(am__append_5406) \ +- $(am__append_5413) $(am__append_5420) $(am__append_5427) \ +- $(am__append_5434) priority_queue.marker time.marker \ +- $(am__append_5441) $(am__append_5448) adler32.marker \ +- crc64.marker mpi.marker all_video.marker $(am__append_5455) \ +- $(am__append_5462) $(am__append_5469) $(am__append_5476) \ +- $(am__append_5483) $(am__append_5490) testspeed.marker \ +- $(am__append_5497) tr.marker progress.marker file.marker \ +- $(am__append_5504) $(am__append_5511) $(am__append_5518) \ +- $(am__append_5525) $(am__append_5532) $(am__append_5539) \ +- $(am__append_5546) $(am__append_5553) $(am__append_5560) \ +- $(am__append_5567) $(am__append_5574) $(am__append_5581) \ +- $(am__append_5588) $(am__append_5595) gcry_arcfour.marker \ ++ $(am__append_4825) $(am__append_4832) $(am__append_4839) \ ++ $(am__append_4846) $(am__append_4853) $(am__append_4860) \ ++ $(am__append_4867) $(am__append_4874) $(am__append_4881) \ ++ jpeg.marker png.marker tga.marker $(am__append_4888) \ ++ $(am__append_4895) $(am__append_4902) $(am__append_4909) \ ++ $(am__append_4916) $(am__append_4923) $(am__append_4930) \ ++ $(am__append_4937) $(am__append_4944) $(am__append_4951) \ ++ $(am__append_4958) $(am__append_4965) $(am__append_4972) \ ++ $(am__append_4979) $(am__append_4986) $(am__append_4993) \ ++ $(am__append_5000) $(am__append_5007) $(am__append_5014) \ ++ $(am__append_5021) $(am__append_5028) $(am__append_5035) \ ++ $(am__append_5042) $(am__append_5049) $(am__append_5056) \ ++ $(am__append_5063) $(am__append_5070) $(am__append_5077) \ ++ $(am__append_5084) $(am__append_5091) $(am__append_5098) \ ++ $(am__append_5105) $(am__append_5112) $(am__append_5119) \ ++ $(am__append_5126) $(am__append_5133) $(am__append_5140) \ ++ $(am__append_5147) $(am__append_5154) $(am__append_5161) \ ++ $(am__append_5168) video_colors.marker $(am__append_5175) \ ++ $(am__append_5182) datehook.marker net.marker tftp.marker \ ++ http.marker $(am__append_5189) $(am__append_5196) \ ++ $(am__append_5203) $(am__append_5210) $(am__append_5217) \ ++ $(am__append_5224) $(am__append_5231) $(am__append_5238) \ ++ $(am__append_5245) $(am__append_5252) $(am__append_5259) \ ++ $(am__append_5266) $(am__append_5273) $(am__append_5280) \ ++ $(am__append_5287) $(am__append_5294) $(am__append_5301) \ ++ $(am__append_5308) syslinuxcfg.marker test_blockarg.marker \ ++ xzio.marker lzopio.marker testload.marker $(am__append_5315) \ ++ $(am__append_5322) $(am__append_5329) $(am__append_5336) \ ++ $(am__append_5343) $(am__append_5350) $(am__append_5357) \ ++ $(am__append_5364) $(am__append_5371) $(am__append_5378) \ ++ $(am__append_5385) $(am__append_5392) $(am__append_5399) \ ++ $(am__append_5406) $(am__append_5413) $(am__append_5420) \ ++ $(am__append_5427) priority_queue.marker time.marker \ ++ $(am__append_5434) $(am__append_5441) adler32.marker \ ++ crc64.marker mpi.marker all_video.marker $(am__append_5448) \ ++ $(am__append_5455) $(am__append_5462) $(am__append_5469) \ ++ $(am__append_5476) $(am__append_5483) testspeed.marker \ ++ $(am__append_5490) tr.marker progress.marker file.marker \ ++ $(am__append_5497) $(am__append_5504) $(am__append_5511) \ ++ $(am__append_5518) $(am__append_5525) $(am__append_5532) \ ++ $(am__append_5539) $(am__append_5546) $(am__append_5553) \ ++ $(am__append_5560) $(am__append_5567) $(am__append_5574) \ ++ $(am__append_5581) $(am__append_5588) gcry_arcfour.marker \ + gcry_blowfish.marker gcry_camellia.marker gcry_cast5.marker \ + gcry_crc.marker gcry_des.marker gcry_dsa.marker \ + gcry_idea.marker gcry_md4.marker gcry_md5.marker \ +@@ -16410,8 +16387,8 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \ + $(top_srcdir)/include/grub/i18n.h \ + $(top_srcdir)/include/grub/kernel.h \ + $(top_srcdir)/include/grub/list.h \ +- $(top_srcdir)/include/grub/misc.h $(am__append_5801) \ +- $(am__append_5802) $(top_srcdir)/include/grub/mm.h \ ++ $(top_srcdir)/include/grub/misc.h $(am__append_5794) \ ++ $(am__append_5795) $(top_srcdir)/include/grub/mm.h \ + $(top_srcdir)/include/grub/parser.h \ + $(top_srcdir)/include/grub/partition.h \ + $(top_srcdir)/include/grub/term.h \ +@@ -16419,38 +16396,38 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \ + $(top_srcdir)/include/grub/verify.h \ + $(top_srcdir)/include/grub/mm_private.h \ + $(top_srcdir)/include/grub/net.h \ +- $(top_srcdir)/include/grub/memory.h $(am__append_5803) \ +- $(am__append_5804) $(am__append_5805) $(am__append_5806) \ +- $(am__append_5807) $(am__append_5808) $(am__append_5809) \ +- $(am__append_5810) $(am__append_5811) $(am__append_5812) \ +- $(am__append_5813) $(am__append_5814) $(am__append_5815) \ +- $(am__append_5816) $(am__append_5817) $(am__append_5818) \ +- $(am__append_5819) $(am__append_5820) $(am__append_5821) \ +- $(am__append_5822) $(am__append_5823) $(am__append_5824) \ +- $(am__append_5825) $(am__append_5826) $(am__append_5827) \ +- $(am__append_5828) $(am__append_5829) +-man_MANS = $(am__append_5792) ++ $(top_srcdir)/include/grub/memory.h $(am__append_5796) \ ++ $(am__append_5797) $(am__append_5798) $(am__append_5799) \ ++ $(am__append_5800) $(am__append_5801) $(am__append_5802) \ ++ $(am__append_5803) $(am__append_5804) $(am__append_5805) \ ++ $(am__append_5806) $(am__append_5807) $(am__append_5808) \ ++ $(am__append_5809) $(am__append_5810) $(am__append_5811) \ ++ $(am__append_5812) $(am__append_5813) $(am__append_5814) \ ++ $(am__append_5815) $(am__append_5816) $(am__append_5817) \ ++ $(am__append_5818) $(am__append_5819) $(am__append_5820) \ ++ $(am__append_5821) $(am__append_5822) ++man_MANS = $(am__append_5785) + noinst_DATA = gensyminfo.sh genmod.sh modinfo.sh kernel_syms.lst + pkgdata_DATA = + bin_SCRIPTS = + sbin_SCRIPTS = +-platform_DATA = $(am__append_5600) $(am__append_5605) \ +- $(am__append_5610) $(am__append_5615) $(am__append_5620) \ +- $(am__append_5625) $(am__append_5630) $(am__append_5635) \ +- $(am__append_5640) $(am__append_5645) $(am__append_5650) \ +- $(am__append_5655) $(am__append_5660) $(am__append_5665) \ +- $(am__append_5670) $(am__append_5675) $(am__append_5680) \ +- $(am__append_5685) $(am__append_5690) $(am__append_5695) \ +- $(am__append_5700) $(am__append_5705) $(am__append_5710) \ +- $(am__append_5715) $(am__append_5720) $(am__append_5725) \ +- $(am__append_5730) $(am__append_5735) $(am__append_5740) \ +- $(am__append_5745) $(am__append_5750) $(am__append_5755) \ +- $(am__append_5760) $(am__append_5765) $(am__append_5770) \ +- $(am__append_5775) $(am__append_5780) $(am__append_5785) \ +- $(am__append_5790) gmodule.pl gdb_grub $(am__append_5797) \ ++platform_DATA = $(am__append_5593) $(am__append_5598) \ ++ $(am__append_5603) $(am__append_5608) $(am__append_5613) \ ++ $(am__append_5618) $(am__append_5623) $(am__append_5628) \ ++ $(am__append_5633) $(am__append_5638) $(am__append_5643) \ ++ $(am__append_5648) $(am__append_5653) $(am__append_5658) \ ++ $(am__append_5663) $(am__append_5668) $(am__append_5673) \ ++ $(am__append_5678) $(am__append_5683) $(am__append_5688) \ ++ $(am__append_5693) $(am__append_5698) $(am__append_5703) \ ++ $(am__append_5708) $(am__append_5713) $(am__append_5718) \ ++ $(am__append_5723) $(am__append_5728) $(am__append_5733) \ ++ $(am__append_5738) $(am__append_5743) $(am__append_5748) \ ++ $(am__append_5753) $(am__append_5758) $(am__append_5763) \ ++ $(am__append_5768) $(am__append_5773) $(am__append_5778) \ ++ $(am__append_5783) gmodule.pl gdb_grub $(am__append_5790) \ + fs.lst command.lst partmap.lst terminal.lst fdt.lst \ + parttool.lst video.lst crypto.lst moddep.lst $(MOD_FILES) \ +- modinfo.sh $(am__append_5831) ++ modinfo.sh $(am__append_5824) + check_SCRIPTS = + dist_grubconf_DATA = + noinst_SCRIPTS = +@@ -16567,7 +16544,7 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \ + $(am__append_2259) $(am__append_2266) $(am__append_2273) \ + $(am__append_2280) $(am__append_2287) $(am__append_2294) \ + $(am__append_2301) $(am__append_2308) $(am__append_2315) \ +- $(am__append_2322) commands/search.c $(am__append_2329) \ ++ commands/search.c $(am__append_2322) $(am__append_2329) \ + $(am__append_2336) $(am__append_2343) $(am__append_2350) \ + $(am__append_2357) $(am__append_2364) $(am__append_2371) \ + $(am__append_2378) $(am__append_2385) $(am__append_2392) \ +@@ -16603,8 +16580,8 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \ + $(am__append_3008) $(am__append_3015) $(am__append_3022) \ + $(am__append_3029) $(am__append_3036) $(am__append_3043) \ + $(am__append_3050) $(am__append_3057) $(am__append_3064) \ +- $(am__append_3071) $(am__append_3078) $(am__append_3085) \ +- kern/elfXX.c lib/libgcrypt-grub/cipher/crypto.lst \ ++ $(am__append_3071) $(am__append_3078) kern/elfXX.c \ ++ lib/libgcrypt-grub/cipher/crypto.lst $(am__append_3085) \ + $(am__append_3092) $(am__append_3099) $(am__append_3106) \ + $(am__append_3113) $(am__append_3120) $(am__append_3127) \ + $(am__append_3134) $(am__append_3141) $(am__append_3148) \ +@@ -16616,11 +16593,11 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \ + $(am__append_3260) $(am__append_3267) $(am__append_3274) \ + $(am__append_3281) $(am__append_3288) $(am__append_3295) \ + $(am__append_3302) $(am__append_3309) $(am__append_3316) \ +- $(am__append_3323) $(am__append_3330) $(am__append_3337) \ +- lib/i386/setjmp.S lib/mips/setjmp.S lib/x86_64/setjmp.S \ +- lib/sparc64/setjmp.S lib/powerpc/setjmp.S lib/ia64/setjmp.S \ +- lib/ia64/longjmp.S lib/arm/setjmp.S lib/arm64/setjmp.S \ +- lib/riscv/setjmp.S $(am__append_3344) $(am__append_3351) \ ++ $(am__append_3323) $(am__append_3330) lib/i386/setjmp.S \ ++ lib/mips/setjmp.S lib/x86_64/setjmp.S lib/sparc64/setjmp.S \ ++ lib/powerpc/setjmp.S lib/ia64/setjmp.S lib/ia64/longjmp.S \ ++ lib/arm/setjmp.S lib/arm64/setjmp.S lib/riscv/setjmp.S \ ++ $(am__append_3337) $(am__append_3344) $(am__append_3351) \ + $(am__append_3358) $(am__append_3365) $(am__append_3372) \ + $(am__append_3379) $(am__append_3386) $(am__append_3393) \ + $(am__append_3400) $(am__append_3407) $(am__append_3414) \ +@@ -16646,7 +16623,7 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \ + $(am__append_3820) $(am__append_3827) $(am__append_3834) \ + $(am__append_3841) $(am__append_3848) $(am__append_3855) \ + $(am__append_3862) $(am__append_3869) $(am__append_3876) \ +- $(am__append_3883) loader/machoXX.c $(am__append_3890) \ ++ loader/machoXX.c $(am__append_3883) $(am__append_3890) \ + $(am__append_3897) $(am__append_3904) $(am__append_3911) \ + $(am__append_3918) $(am__append_3925) $(am__append_3932) \ + $(am__append_3939) $(am__append_3946) $(am__append_3953) \ +@@ -16655,8 +16632,8 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \ + $(am__append_4002) $(am__append_4009) $(am__append_4016) \ + $(am__append_4023) $(am__append_4030) $(am__append_4037) \ + $(am__append_4044) $(am__append_4051) $(am__append_4058) \ +- $(am__append_4065) $(am__append_4072) script/yylex.l \ +- script/parser.y $(am__append_4079) $(am__append_4086) \ ++ $(am__append_4065) script/yylex.l script/parser.y \ ++ $(am__append_4072) $(am__append_4079) $(am__append_4086) \ + $(am__append_4093) $(am__append_4100) $(am__append_4107) \ + $(am__append_4114) $(am__append_4121) $(am__append_4128) \ + $(am__append_4135) $(am__append_4142) $(am__append_4149) \ +@@ -16723,30 +16700,29 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \ + $(am__append_5416) $(am__append_5423) $(am__append_5430) \ + $(am__append_5437) $(am__append_5444) $(am__append_5451) \ + $(am__append_5458) $(am__append_5465) $(am__append_5472) \ +- $(am__append_5479) $(am__append_5486) $(am__append_5493) \ +- commands/fileXX.c loader/i386/xen_fileXX.c $(am__append_5500) \ ++ $(am__append_5479) $(am__append_5486) commands/fileXX.c \ ++ loader/i386/xen_fileXX.c $(am__append_5493) $(am__append_5500) \ + $(am__append_5507) $(am__append_5514) $(am__append_5521) \ + $(am__append_5528) $(am__append_5535) $(am__append_5542) \ + $(am__append_5549) $(am__append_5556) $(am__append_5563) \ + $(am__append_5570) $(am__append_5577) $(am__append_5584) \ +- $(am__append_5591) $(am__append_5597) $(am__append_5602) \ +- $(am__append_5607) $(am__append_5612) $(am__append_5617) \ +- $(am__append_5622) $(am__append_5627) $(am__append_5632) \ +- $(am__append_5637) $(am__append_5642) $(am__append_5647) \ +- $(am__append_5652) $(am__append_5657) $(am__append_5662) \ +- $(am__append_5667) $(am__append_5672) $(am__append_5677) \ +- $(am__append_5682) $(am__append_5687) $(am__append_5692) \ +- $(am__append_5697) $(am__append_5702) $(am__append_5707) \ +- $(am__append_5712) $(am__append_5717) $(am__append_5722) \ +- $(am__append_5727) $(am__append_5732) $(am__append_5737) \ +- $(am__append_5742) $(am__append_5747) $(am__append_5752) \ +- $(am__append_5757) $(am__append_5762) $(am__append_5767) \ +- $(am__append_5772) $(am__append_5777) $(am__append_5782) \ +- $(am__append_5787) $(am__append_5794) gensyminfo.sh.in \ +- genmod.sh.in modinfo.sh.in gmodule.pl.in gdb_grub.in \ +- $(am__append_5800) ++ $(am__append_5590) $(am__append_5595) $(am__append_5600) \ ++ $(am__append_5605) $(am__append_5610) $(am__append_5615) \ ++ $(am__append_5620) $(am__append_5625) $(am__append_5630) \ ++ $(am__append_5635) $(am__append_5640) $(am__append_5645) \ ++ $(am__append_5650) $(am__append_5655) $(am__append_5660) \ ++ $(am__append_5665) $(am__append_5670) $(am__append_5675) \ ++ $(am__append_5680) $(am__append_5685) $(am__append_5690) \ ++ $(am__append_5695) $(am__append_5700) $(am__append_5705) \ ++ $(am__append_5710) $(am__append_5715) $(am__append_5720) \ ++ $(am__append_5725) $(am__append_5730) $(am__append_5735) \ ++ $(am__append_5740) $(am__append_5745) $(am__append_5750) \ ++ $(am__append_5755) $(am__append_5760) $(am__append_5765) \ ++ $(am__append_5770) $(am__append_5775) $(am__append_5780) \ ++ $(am__append_5787) gensyminfo.sh.in genmod.sh.in modinfo.sh.in \ ++ gmodule.pl.in gdb_grub.in $(am__append_5793) + platform_SCRIPTS = +-EXTRA_DIST = $(am__append_5799) ++EXTRA_DIST = $(am__append_5792) + CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + build-grub-pe2elf$(BUILD_EXEEXT) gentrigtables$(BUILD_EXEEXT) \ + build-grub-module-verifier$(BUILD_EXEEXT) trigtables.c \ +@@ -16862,48 +16838,48 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + $(nodist_pgp_module_SOURCES) pgp.marker $(am__append_2044) \ + $(am__append_2051) $(am__append_2058) $(am__append_2065) \ + $(am__append_2072) $(am__append_2079) $(am__append_2086) \ +- $(am__append_2093) $(am__append_2100) $(am__append_2107) \ ++ $(am__append_2093) $(am__append_2100) \ + $(nodist_help_module_SOURCES) help.marker \ + $(nodist_hexdump_module_SOURCES) hexdump.marker \ + $(nodist_keystatus_module_SOURCES) keystatus.marker \ +- $(am__append_2114) $(am__append_2121) \ ++ $(am__append_2107) $(am__append_2114) \ + $(nodist_loadenv_module_SOURCES) loadenv.marker \ + $(nodist_ls_module_SOURCES) ls.marker \ + $(nodist_lsmmap_module_SOURCES) lsmmap.marker \ +- $(am__append_2128) $(am__append_2135) $(am__append_2142) \ +- $(am__append_2149) $(am__append_2156) $(am__append_2163) \ +- $(am__append_2170) $(am__append_2177) \ ++ $(am__append_2121) $(am__append_2128) $(am__append_2135) \ ++ $(am__append_2142) $(am__append_2149) $(am__append_2156) \ ++ $(am__append_2163) $(am__append_2170) \ + $(nodist_memrw_module_SOURCES) memrw.marker \ + $(nodist_minicmd_module_SOURCES) minicmd.marker \ + $(nodist_parttool_module_SOURCES) parttool.marker \ + $(nodist_password_module_SOURCES) password.marker \ + $(nodist_password_pbkdf2_module_SOURCES) \ +- password_pbkdf2.marker $(am__append_2184) $(am__append_2191) \ +- $(am__append_2198) $(am__append_2205) $(am__append_2212) \ +- $(am__append_2219) $(am__append_2226) $(am__append_2233) \ +- $(am__append_2240) $(am__append_2247) $(am__append_2254) \ +- $(am__append_2261) $(am__append_2268) $(am__append_2275) \ +- $(am__append_2282) $(am__append_2289) $(am__append_2296) \ +- $(am__append_2303) $(am__append_2310) $(am__append_2317) \ +- $(am__append_2324) $(nodist_probe_module_SOURCES) probe.marker \ ++ password_pbkdf2.marker $(am__append_2177) $(am__append_2184) \ ++ $(am__append_2191) $(am__append_2198) $(am__append_2205) \ ++ $(am__append_2212) $(am__append_2219) $(am__append_2226) \ ++ $(am__append_2233) $(am__append_2240) $(am__append_2247) \ ++ $(am__append_2254) $(am__append_2261) $(am__append_2268) \ ++ $(am__append_2275) $(am__append_2282) $(am__append_2289) \ ++ $(am__append_2296) $(am__append_2303) $(am__append_2310) \ ++ $(am__append_2317) $(nodist_probe_module_SOURCES) probe.marker \ + $(nodist_read_module_SOURCES) read.marker \ + $(nodist_search_module_SOURCES) search.marker \ + $(nodist_search_fs_file_module_SOURCES) search_fs_file.marker \ + $(nodist_search_fs_uuid_module_SOURCES) search_fs_uuid.marker \ + $(nodist_search_label_module_SOURCES) search_label.marker \ +- $(am__append_2331) $(am__append_2338) $(am__append_2345) \ +- $(am__append_2352) $(am__append_2359) $(am__append_2366) \ +- $(am__append_2373) $(am__append_2380) $(am__append_2387) \ +- $(am__append_2394) $(am__append_2401) $(am__append_2408) \ +- $(am__append_2415) $(am__append_2422) $(am__append_2429) \ +- $(am__append_2436) $(nodist_sleep_module_SOURCES) sleep.marker \ +- $(am__append_2443) $(am__append_2450) \ ++ $(am__append_2324) $(am__append_2331) $(am__append_2338) \ ++ $(am__append_2345) $(am__append_2352) $(am__append_2359) \ ++ $(am__append_2366) $(am__append_2373) $(am__append_2380) \ ++ $(am__append_2387) $(am__append_2394) $(am__append_2401) \ ++ $(am__append_2408) $(am__append_2415) $(am__append_2422) \ ++ $(am__append_2429) $(nodist_sleep_module_SOURCES) sleep.marker \ ++ $(am__append_2436) $(am__append_2443) \ + $(nodist_terminal_module_SOURCES) terminal.marker \ + $(nodist_test_module_SOURCES) test.marker \ +- $(nodist_true_module_SOURCES) true.marker $(am__append_2457) \ +- $(am__append_2464) $(am__append_2471) $(am__append_2478) \ +- $(am__append_2485) $(am__append_2492) $(am__append_2499) \ +- $(am__append_2506) $(am__append_2513) \ ++ $(nodist_true_module_SOURCES) true.marker $(am__append_2450) \ ++ $(am__append_2457) $(am__append_2464) $(am__append_2471) \ ++ $(am__append_2478) $(am__append_2485) $(am__append_2492) \ ++ $(am__append_2499) $(am__append_2506) \ + $(nodist_videoinfo_module_SOURCES) videoinfo.marker \ + $(nodist_videotest_module_SOURCES) videotest.marker \ + $(nodist_xnu_uuid_module_SOURCES) xnu_uuid.marker \ +@@ -16922,27 +16898,27 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + $(nodist_raid6rec_module_SOURCES) raid6rec.marker \ + $(nodist_scsi_module_SOURCES) scsi.marker \ + $(nodist_memdisk_module_SOURCES) memdisk.marker \ +- $(am__append_2520) $(am__append_2527) $(am__append_2534) \ +- $(am__append_2541) $(am__append_2548) $(am__append_2555) \ +- $(am__append_2562) $(am__append_2569) $(am__append_2576) \ +- $(am__append_2583) $(am__append_2590) $(am__append_2597) \ +- $(am__append_2604) $(am__append_2611) $(am__append_2618) \ +- $(am__append_2625) $(am__append_2632) $(am__append_2639) \ +- $(am__append_2646) $(am__append_2653) $(am__append_2660) \ +- $(am__append_2667) $(am__append_2674) $(am__append_2681) \ +- $(am__append_2688) $(am__append_2695) $(am__append_2702) \ +- $(am__append_2709) $(am__append_2716) $(am__append_2723) \ +- $(am__append_2730) $(am__append_2737) $(am__append_2744) \ +- $(am__append_2751) $(am__append_2758) $(am__append_2765) \ +- $(am__append_2772) $(am__append_2779) $(am__append_2786) \ +- $(am__append_2793) $(am__append_2800) $(am__append_2807) \ +- $(am__append_2814) $(am__append_2821) $(am__append_2828) \ +- $(am__append_2835) $(am__append_2842) $(am__append_2849) \ +- $(am__append_2856) $(am__append_2863) $(am__append_2870) \ +- $(am__append_2877) $(am__append_2884) $(am__append_2891) \ +- $(am__append_2898) $(am__append_2905) $(am__append_2912) \ +- $(am__append_2919) $(am__append_2926) $(am__append_2933) \ +- $(am__append_2940) $(nodist_procfs_module_SOURCES) \ ++ $(am__append_2513) $(am__append_2520) $(am__append_2527) \ ++ $(am__append_2534) $(am__append_2541) $(am__append_2548) \ ++ $(am__append_2555) $(am__append_2562) $(am__append_2569) \ ++ $(am__append_2576) $(am__append_2583) $(am__append_2590) \ ++ $(am__append_2597) $(am__append_2604) $(am__append_2611) \ ++ $(am__append_2618) $(am__append_2625) $(am__append_2632) \ ++ $(am__append_2639) $(am__append_2646) $(am__append_2653) \ ++ $(am__append_2660) $(am__append_2667) $(am__append_2674) \ ++ $(am__append_2681) $(am__append_2688) $(am__append_2695) \ ++ $(am__append_2702) $(am__append_2709) $(am__append_2716) \ ++ $(am__append_2723) $(am__append_2730) $(am__append_2737) \ ++ $(am__append_2744) $(am__append_2751) $(am__append_2758) \ ++ $(am__append_2765) $(am__append_2772) $(am__append_2779) \ ++ $(am__append_2786) $(am__append_2793) $(am__append_2800) \ ++ $(am__append_2807) $(am__append_2814) $(am__append_2821) \ ++ $(am__append_2828) $(am__append_2835) $(am__append_2842) \ ++ $(am__append_2849) $(am__append_2856) $(am__append_2863) \ ++ $(am__append_2870) $(am__append_2877) $(am__append_2884) \ ++ $(am__append_2891) $(am__append_2898) $(am__append_2905) \ ++ $(am__append_2912) $(am__append_2919) $(am__append_2926) \ ++ $(am__append_2933) $(nodist_procfs_module_SOURCES) \ + procfs.marker $(nodist_affs_module_SOURCES) affs.marker \ + $(nodist_afs_module_SOURCES) afs.marker \ + $(nodist_bfs_module_SOURCES) bfs.marker \ +@@ -16987,70 +16963,70 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + $(nodist_zfscrypt_module_SOURCES) zfscrypt.marker \ + $(nodist_zfsinfo_module_SOURCES) zfsinfo.marker \ + $(nodist_macbless_module_SOURCES) macbless.marker \ +- $(am__append_2947) $(nodist_gettext_module_SOURCES) \ ++ $(am__append_2940) $(nodist_gettext_module_SOURCES) \ + gettext.marker $(nodist_gfxmenu_module_SOURCES) gfxmenu.marker \ + $(nodist_hello_module_SOURCES) hello.marker \ + $(nodist_gzio_module_SOURCES) gzio.marker \ + $(nodist_offsetio_module_SOURCES) offsetio.marker \ +- $(am__append_2954) $(am__append_2961) $(am__append_2968) \ +- $(am__append_2975) $(am__append_2982) $(am__append_2989) \ +- $(am__append_2996) $(am__append_3003) $(am__append_3010) \ +- $(am__append_3017) $(am__append_3024) $(am__append_3031) \ +- $(am__append_3038) $(am__append_3045) $(am__append_3052) \ +- $(am__append_3059) $(am__append_3066) $(am__append_3073) \ +- $(am__append_3080) $(am__append_3087) \ ++ $(am__append_2947) $(am__append_2954) $(am__append_2961) \ ++ $(am__append_2968) $(am__append_2975) $(am__append_2982) \ ++ $(am__append_2989) $(am__append_2996) $(am__append_3003) \ ++ $(am__append_3010) $(am__append_3017) $(am__append_3024) \ ++ $(am__append_3031) $(am__append_3038) $(am__append_3045) \ ++ $(am__append_3052) $(am__append_3059) $(am__append_3066) \ ++ $(am__append_3073) $(am__append_3080) \ + $(nodist_elf_module_SOURCES) elf.marker \ + $(nodist_crypto_module_SOURCES) crypto.marker \ + $(nodist_pbkdf2_module_SOURCES) pbkdf2.marker \ +- $(am__append_3094) $(am__append_3101) $(am__append_3108) \ +- $(am__append_3115) $(am__append_3122) $(am__append_3129) \ +- $(am__append_3136) $(am__append_3143) $(am__append_3150) \ +- $(am__append_3157) $(am__append_3164) $(am__append_3171) \ +- $(am__append_3178) $(am__append_3185) $(am__append_3192) \ +- $(am__append_3199) $(am__append_3206) $(am__append_3213) \ +- $(am__append_3220) $(am__append_3227) $(am__append_3234) \ +- $(am__append_3241) $(am__append_3248) $(am__append_3255) \ +- $(am__append_3262) $(am__append_3269) $(am__append_3276) \ +- $(am__append_3283) $(am__append_3290) $(am__append_3297) \ +- $(am__append_3304) $(am__append_3311) $(am__append_3318) \ +- $(am__append_3325) $(am__append_3332) $(am__append_3339) \ ++ $(am__append_3087) $(am__append_3094) $(am__append_3101) \ ++ $(am__append_3108) $(am__append_3115) $(am__append_3122) \ ++ $(am__append_3129) $(am__append_3136) $(am__append_3143) \ ++ $(am__append_3150) $(am__append_3157) $(am__append_3164) \ ++ $(am__append_3171) $(am__append_3178) $(am__append_3185) \ ++ $(am__append_3192) $(am__append_3199) $(am__append_3206) \ ++ $(am__append_3213) $(am__append_3220) $(am__append_3227) \ ++ $(am__append_3234) $(am__append_3241) $(am__append_3248) \ ++ $(am__append_3255) $(am__append_3262) $(am__append_3269) \ ++ $(am__append_3276) $(am__append_3283) $(am__append_3290) \ ++ $(am__append_3297) $(am__append_3304) $(am__append_3311) \ ++ $(am__append_3318) $(am__append_3325) $(am__append_3332) \ + $(nodist_setjmp_module_SOURCES) setjmp.marker \ +- $(am__append_3346) $(am__append_3353) $(am__append_3360) \ +- $(am__append_3367) $(am__append_3374) $(am__append_3381) \ +- $(am__append_3388) $(am__append_3395) $(am__append_3402) \ +- $(am__append_3409) $(am__append_3416) $(am__append_3423) \ +- $(am__append_3430) $(am__append_3437) $(am__append_3444) \ +- $(am__append_3451) $(am__append_3458) $(am__append_3465) \ +- $(am__append_3472) $(am__append_3479) $(am__append_3486) \ +- $(am__append_3493) $(am__append_3500) $(am__append_3507) \ +- $(am__append_3514) $(am__append_3521) $(am__append_3528) \ +- $(am__append_3535) $(am__append_3542) $(am__append_3549) \ +- $(am__append_3556) $(am__append_3563) $(am__append_3570) \ +- $(am__append_3577) $(am__append_3584) $(am__append_3591) \ +- $(am__append_3598) $(am__append_3605) $(am__append_3612) \ +- $(am__append_3619) $(am__append_3626) $(am__append_3633) \ +- $(am__append_3640) $(am__append_3647) $(am__append_3654) \ +- $(am__append_3661) $(am__append_3668) $(am__append_3675) \ +- $(am__append_3682) $(am__append_3689) $(am__append_3696) \ +- $(am__append_3703) $(am__append_3710) $(am__append_3717) \ +- $(am__append_3724) $(am__append_3731) $(am__append_3738) \ +- $(am__append_3745) $(am__append_3752) $(am__append_3759) \ +- $(am__append_3766) $(am__append_3773) $(am__append_3780) \ +- $(am__append_3787) $(am__append_3794) $(am__append_3801) \ +- $(am__append_3808) $(am__append_3815) $(am__append_3822) \ +- $(am__append_3829) $(am__append_3836) $(am__append_3843) \ +- $(am__append_3850) $(am__append_3857) $(am__append_3864) \ +- $(am__append_3871) $(am__append_3878) $(am__append_3885) \ +- $(nodist_macho_module_SOURCES) macho.marker $(am__append_3892) \ +- $(am__append_3899) $(am__append_3906) $(am__append_3913) \ +- $(am__append_3920) $(am__append_3927) $(am__append_3934) \ +- $(am__append_3941) $(am__append_3948) $(am__append_3955) \ +- $(am__append_3962) $(am__append_3969) $(am__append_3976) \ +- $(am__append_3983) $(am__append_3990) $(am__append_3997) \ +- $(am__append_4004) $(am__append_4011) $(am__append_4018) \ +- $(am__append_4025) $(am__append_4032) $(am__append_4039) \ +- $(am__append_4046) $(am__append_4053) $(am__append_4060) \ +- $(am__append_4067) $(am__append_4074) \ ++ $(am__append_3339) $(am__append_3346) $(am__append_3353) \ ++ $(am__append_3360) $(am__append_3367) $(am__append_3374) \ ++ $(am__append_3381) $(am__append_3388) $(am__append_3395) \ ++ $(am__append_3402) $(am__append_3409) $(am__append_3416) \ ++ $(am__append_3423) $(am__append_3430) $(am__append_3437) \ ++ $(am__append_3444) $(am__append_3451) $(am__append_3458) \ ++ $(am__append_3465) $(am__append_3472) $(am__append_3479) \ ++ $(am__append_3486) $(am__append_3493) $(am__append_3500) \ ++ $(am__append_3507) $(am__append_3514) $(am__append_3521) \ ++ $(am__append_3528) $(am__append_3535) $(am__append_3542) \ ++ $(am__append_3549) $(am__append_3556) $(am__append_3563) \ ++ $(am__append_3570) $(am__append_3577) $(am__append_3584) \ ++ $(am__append_3591) $(am__append_3598) $(am__append_3605) \ ++ $(am__append_3612) $(am__append_3619) $(am__append_3626) \ ++ $(am__append_3633) $(am__append_3640) $(am__append_3647) \ ++ $(am__append_3654) $(am__append_3661) $(am__append_3668) \ ++ $(am__append_3675) $(am__append_3682) $(am__append_3689) \ ++ $(am__append_3696) $(am__append_3703) $(am__append_3710) \ ++ $(am__append_3717) $(am__append_3724) $(am__append_3731) \ ++ $(am__append_3738) $(am__append_3745) $(am__append_3752) \ ++ $(am__append_3759) $(am__append_3766) $(am__append_3773) \ ++ $(am__append_3780) $(am__append_3787) $(am__append_3794) \ ++ $(am__append_3801) $(am__append_3808) $(am__append_3815) \ ++ $(am__append_3822) $(am__append_3829) $(am__append_3836) \ ++ $(am__append_3843) $(am__append_3850) $(am__append_3857) \ ++ $(am__append_3864) $(am__append_3871) $(am__append_3878) \ ++ $(nodist_macho_module_SOURCES) macho.marker $(am__append_3885) \ ++ $(am__append_3892) $(am__append_3899) $(am__append_3906) \ ++ $(am__append_3913) $(am__append_3920) $(am__append_3927) \ ++ $(am__append_3934) $(am__append_3941) $(am__append_3948) \ ++ $(am__append_3955) $(am__append_3962) $(am__append_3969) \ ++ $(am__append_3976) $(am__append_3983) $(am__append_3990) \ ++ $(am__append_3997) $(am__append_4004) $(am__append_4011) \ ++ $(am__append_4018) $(am__append_4025) $(am__append_4032) \ ++ $(am__append_4039) $(am__append_4046) $(am__append_4053) \ ++ $(am__append_4060) $(am__append_4067) \ + $(nodist_normal_module_SOURCES) normal.marker \ + $(nodist_part_acorn_module_SOURCES) part_acorn.marker \ + $(nodist_part_amiga_module_SOURCES) part_amiga.marker \ +@@ -17064,35 +17040,35 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + $(nodist_part_sunpc_module_SOURCES) part_sunpc.marker \ + $(nodist_part_dfly_module_SOURCES) part_dfly.marker \ + $(nodist_msdospart_module_SOURCES) msdospart.marker \ +- $(am__append_4081) $(am__append_4088) $(am__append_4095) \ +- $(am__append_4102) $(am__append_4109) $(am__append_4116) \ +- $(am__append_4123) $(am__append_4130) $(am__append_4137) \ +- $(am__append_4144) $(am__append_4151) $(am__append_4158) \ +- $(am__append_4165) $(am__append_4172) $(am__append_4179) \ +- $(am__append_4186) $(am__append_4193) $(am__append_4200) \ +- $(am__append_4207) $(am__append_4214) $(am__append_4221) \ +- $(am__append_4228) $(am__append_4235) $(am__append_4242) \ +- $(am__append_4249) $(am__append_4256) $(am__append_4263) \ ++ $(am__append_4074) $(am__append_4081) $(am__append_4088) \ ++ $(am__append_4095) $(am__append_4102) $(am__append_4109) \ ++ $(am__append_4116) $(am__append_4123) $(am__append_4130) \ ++ $(am__append_4137) $(am__append_4144) $(am__append_4151) \ ++ $(am__append_4158) $(am__append_4165) $(am__append_4172) \ ++ $(am__append_4179) $(am__append_4186) $(am__append_4193) \ ++ $(am__append_4200) $(am__append_4207) $(am__append_4214) \ ++ $(am__append_4221) $(am__append_4228) $(am__append_4235) \ ++ $(am__append_4242) $(am__append_4249) $(am__append_4256) \ + $(nodist_gfxterm_background_module_SOURCES) \ +- gfxterm_background.marker $(am__append_4270) \ +- $(am__append_4277) $(am__append_4284) $(am__append_4291) \ +- $(am__append_4298) $(am__append_4305) $(am__append_4312) \ +- $(am__append_4319) $(am__append_4326) $(am__append_4333) \ +- $(am__append_4340) $(am__append_4347) $(am__append_4354) \ +- $(am__append_4361) $(am__append_4368) $(am__append_4375) \ +- $(am__append_4382) $(am__append_4389) $(am__append_4396) \ +- $(am__append_4403) $(am__append_4410) $(am__append_4417) \ +- $(am__append_4424) $(am__append_4431) $(am__append_4438) \ +- $(am__append_4445) $(am__append_4452) $(am__append_4459) \ +- $(am__append_4466) $(am__append_4473) $(am__append_4480) \ +- $(am__append_4487) $(am__append_4494) $(am__append_4501) \ +- $(am__append_4508) $(am__append_4515) $(am__append_4522) \ +- $(am__append_4529) $(am__append_4536) $(am__append_4543) \ +- $(am__append_4550) $(am__append_4557) $(am__append_4564) \ +- $(am__append_4571) $(am__append_4578) $(am__append_4585) \ +- $(am__append_4592) $(am__append_4599) $(am__append_4606) \ +- $(am__append_4613) $(am__append_4620) $(am__append_4627) \ +- $(am__append_4634) $(am__append_4641) $(am__append_4648) \ ++ gfxterm_background.marker $(am__append_4263) \ ++ $(am__append_4270) $(am__append_4277) $(am__append_4284) \ ++ $(am__append_4291) $(am__append_4298) $(am__append_4305) \ ++ $(am__append_4312) $(am__append_4319) $(am__append_4326) \ ++ $(am__append_4333) $(am__append_4340) $(am__append_4347) \ ++ $(am__append_4354) $(am__append_4361) $(am__append_4368) \ ++ $(am__append_4375) $(am__append_4382) $(am__append_4389) \ ++ $(am__append_4396) $(am__append_4403) $(am__append_4410) \ ++ $(am__append_4417) $(am__append_4424) $(am__append_4431) \ ++ $(am__append_4438) $(am__append_4445) $(am__append_4452) \ ++ $(am__append_4459) $(am__append_4466) $(am__append_4473) \ ++ $(am__append_4480) $(am__append_4487) $(am__append_4494) \ ++ $(am__append_4501) $(am__append_4508) $(am__append_4515) \ ++ $(am__append_4522) $(am__append_4529) $(am__append_4536) \ ++ $(am__append_4543) $(am__append_4550) $(am__append_4557) \ ++ $(am__append_4564) $(am__append_4571) $(am__append_4578) \ ++ $(am__append_4585) $(am__append_4592) $(am__append_4599) \ ++ $(am__append_4606) $(am__append_4613) $(am__append_4620) \ ++ $(am__append_4627) $(am__append_4634) $(am__append_4641) \ + $(nodist_functional_test_module_SOURCES) \ + functional_test.marker $(nodist_exfctest_module_SOURCES) \ + exfctest.marker $(nodist_strtoull_test_module_SOURCES) \ +@@ -17101,15 +17077,15 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + signature_test.marker $(nodist_sleep_test_module_SOURCES) \ + sleep_test.marker $(nodist_xnu_uuid_test_module_SOURCES) \ + xnu_uuid_test.marker $(nodist_pbkdf2_test_module_SOURCES) \ +- pbkdf2_test.marker $(am__append_4655) $(am__append_4662) \ +- $(am__append_4669) $(am__append_4676) $(am__append_4683) \ +- $(am__append_4690) $(am__append_4697) $(am__append_4704) \ +- $(am__append_4711) $(am__append_4718) $(am__append_4725) \ +- $(am__append_4732) $(am__append_4739) $(am__append_4746) \ +- $(am__append_4753) $(am__append_4760) $(am__append_4767) \ +- $(am__append_4774) $(am__append_4781) $(am__append_4788) \ +- $(am__append_4795) $(am__append_4802) $(am__append_4809) \ +- $(am__append_4816) $(am__append_4823) \ ++ pbkdf2_test.marker $(am__append_4648) $(am__append_4655) \ ++ $(am__append_4662) $(am__append_4669) $(am__append_4676) \ ++ $(am__append_4683) $(am__append_4690) $(am__append_4697) \ ++ $(am__append_4704) $(am__append_4711) $(am__append_4718) \ ++ $(am__append_4725) $(am__append_4732) $(am__append_4739) \ ++ $(am__append_4746) $(am__append_4753) $(am__append_4760) \ ++ $(am__append_4767) $(am__append_4774) $(am__append_4781) \ ++ $(am__append_4788) $(am__append_4795) $(am__append_4802) \ ++ $(am__append_4809) $(am__append_4816) \ + $(nodist_div_test_module_SOURCES) div_test.marker \ + $(nodist_mul_test_module_SOURCES) mul_test.marker \ + $(nodist_shift_test_module_SOURCES) shift_test.marker \ +@@ -17122,65 +17098,65 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + $(nodist_cmdline_cat_test_module_SOURCES) \ + cmdline_cat_test.marker $(nodist_bitmap_module_SOURCES) \ + bitmap.marker $(nodist_bitmap_scale_module_SOURCES) \ +- bitmap_scale.marker $(am__append_4830) $(am__append_4837) \ +- $(am__append_4844) $(am__append_4851) $(am__append_4858) \ +- $(am__append_4865) $(am__append_4872) $(am__append_4879) \ +- $(am__append_4886) $(nodist_jpeg_module_SOURCES) jpeg.marker \ ++ bitmap_scale.marker $(am__append_4823) $(am__append_4830) \ ++ $(am__append_4837) $(am__append_4844) $(am__append_4851) \ ++ $(am__append_4858) $(am__append_4865) $(am__append_4872) \ ++ $(am__append_4879) $(nodist_jpeg_module_SOURCES) jpeg.marker \ + $(nodist_png_module_SOURCES) png.marker \ +- $(nodist_tga_module_SOURCES) tga.marker $(am__append_4893) \ +- $(am__append_4900) $(am__append_4907) $(am__append_4914) \ +- $(am__append_4921) $(am__append_4928) $(am__append_4935) \ +- $(am__append_4942) $(am__append_4949) $(am__append_4956) \ +- $(am__append_4963) $(am__append_4970) $(am__append_4977) \ +- $(am__append_4984) $(am__append_4991) $(am__append_4998) \ +- $(am__append_5005) $(am__append_5012) $(am__append_5019) \ +- $(am__append_5026) $(am__append_5033) $(am__append_5040) \ +- $(am__append_5047) $(am__append_5054) $(am__append_5061) \ +- $(am__append_5068) $(am__append_5075) $(am__append_5082) \ +- $(am__append_5089) $(am__append_5096) $(am__append_5103) \ +- $(am__append_5110) $(am__append_5117) $(am__append_5124) \ +- $(am__append_5131) $(am__append_5138) $(am__append_5145) \ +- $(am__append_5152) $(am__append_5159) $(am__append_5166) \ +- $(am__append_5173) $(nodist_video_colors_module_SOURCES) \ +- video_colors.marker $(am__append_5180) $(am__append_5187) \ ++ $(nodist_tga_module_SOURCES) tga.marker $(am__append_4886) \ ++ $(am__append_4893) $(am__append_4900) $(am__append_4907) \ ++ $(am__append_4914) $(am__append_4921) $(am__append_4928) \ ++ $(am__append_4935) $(am__append_4942) $(am__append_4949) \ ++ $(am__append_4956) $(am__append_4963) $(am__append_4970) \ ++ $(am__append_4977) $(am__append_4984) $(am__append_4991) \ ++ $(am__append_4998) $(am__append_5005) $(am__append_5012) \ ++ $(am__append_5019) $(am__append_5026) $(am__append_5033) \ ++ $(am__append_5040) $(am__append_5047) $(am__append_5054) \ ++ $(am__append_5061) $(am__append_5068) $(am__append_5075) \ ++ $(am__append_5082) $(am__append_5089) $(am__append_5096) \ ++ $(am__append_5103) $(am__append_5110) $(am__append_5117) \ ++ $(am__append_5124) $(am__append_5131) $(am__append_5138) \ ++ $(am__append_5145) $(am__append_5152) $(am__append_5159) \ ++ $(am__append_5166) $(nodist_video_colors_module_SOURCES) \ ++ video_colors.marker $(am__append_5173) $(am__append_5180) \ + $(nodist_datehook_module_SOURCES) datehook.marker \ + $(nodist_net_module_SOURCES) net.marker \ + $(nodist_tftp_module_SOURCES) tftp.marker \ +- $(nodist_http_module_SOURCES) http.marker $(am__append_5194) \ +- $(am__append_5201) $(am__append_5208) $(am__append_5215) \ +- $(am__append_5222) $(am__append_5229) $(am__append_5236) \ +- $(am__append_5243) $(am__append_5250) $(am__append_5257) \ +- $(am__append_5264) $(am__append_5271) $(am__append_5278) \ +- $(am__append_5285) $(am__append_5292) $(am__append_5299) \ +- $(am__append_5306) $(am__append_5313) \ ++ $(nodist_http_module_SOURCES) http.marker $(am__append_5187) \ ++ $(am__append_5194) $(am__append_5201) $(am__append_5208) \ ++ $(am__append_5215) $(am__append_5222) $(am__append_5229) \ ++ $(am__append_5236) $(am__append_5243) $(am__append_5250) \ ++ $(am__append_5257) $(am__append_5264) $(am__append_5271) \ ++ $(am__append_5278) $(am__append_5285) $(am__append_5292) \ ++ $(am__append_5299) $(am__append_5306) \ + $(nodist_syslinuxcfg_module_SOURCES) syslinuxcfg.marker \ + $(nodist_test_blockarg_module_SOURCES) test_blockarg.marker \ + $(nodist_xzio_module_SOURCES) xzio.marker \ + $(nodist_lzopio_module_SOURCES) lzopio.marker \ + $(nodist_testload_module_SOURCES) testload.marker \ +- $(am__append_5320) $(am__append_5327) $(am__append_5334) \ +- $(am__append_5341) $(am__append_5348) $(am__append_5355) \ +- $(am__append_5362) $(am__append_5369) $(am__append_5376) \ +- $(am__append_5383) $(am__append_5390) $(am__append_5397) \ +- $(am__append_5404) $(am__append_5411) $(am__append_5418) \ +- $(am__append_5425) $(am__append_5432) \ ++ $(am__append_5313) $(am__append_5320) $(am__append_5327) \ ++ $(am__append_5334) $(am__append_5341) $(am__append_5348) \ ++ $(am__append_5355) $(am__append_5362) $(am__append_5369) \ ++ $(am__append_5376) $(am__append_5383) $(am__append_5390) \ ++ $(am__append_5397) $(am__append_5404) $(am__append_5411) \ ++ $(am__append_5418) $(am__append_5425) \ + $(nodist_priority_queue_module_SOURCES) priority_queue.marker \ +- $(nodist_time_module_SOURCES) time.marker $(am__append_5439) \ +- $(am__append_5446) $(nodist_adler32_module_SOURCES) \ ++ $(nodist_time_module_SOURCES) time.marker $(am__append_5432) \ ++ $(am__append_5439) $(nodist_adler32_module_SOURCES) \ + adler32.marker $(nodist_crc64_module_SOURCES) crc64.marker \ + $(nodist_mpi_module_SOURCES) mpi.marker \ + $(nodist_all_video_module_SOURCES) all_video.marker \ +- $(am__append_5453) $(am__append_5460) $(am__append_5467) \ +- $(am__append_5474) $(am__append_5481) $(am__append_5488) \ ++ $(am__append_5446) $(am__append_5453) $(am__append_5460) \ ++ $(am__append_5467) $(am__append_5474) $(am__append_5481) \ + $(nodist_testspeed_module_SOURCES) testspeed.marker \ +- $(am__append_5495) $(nodist_tr_module_SOURCES) tr.marker \ ++ $(am__append_5488) $(nodist_tr_module_SOURCES) tr.marker \ + $(nodist_progress_module_SOURCES) progress.marker \ +- $(nodist_file_module_SOURCES) file.marker $(am__append_5502) \ +- $(am__append_5509) $(am__append_5516) $(am__append_5523) \ +- $(am__append_5530) $(am__append_5537) $(am__append_5544) \ +- $(am__append_5551) $(am__append_5558) $(am__append_5565) \ +- $(am__append_5572) $(am__append_5579) $(am__append_5586) \ +- $(am__append_5593) $(nodist_gcry_arcfour_module_SOURCES) \ ++ $(nodist_file_module_SOURCES) file.marker $(am__append_5495) \ ++ $(am__append_5502) $(am__append_5509) $(am__append_5516) \ ++ $(am__append_5523) $(am__append_5530) $(am__append_5537) \ ++ $(am__append_5544) $(am__append_5551) $(am__append_5558) \ ++ $(am__append_5565) $(am__append_5572) $(am__append_5579) \ ++ $(am__append_5586) $(nodist_gcry_arcfour_module_SOURCES) \ + gcry_arcfour.marker $(nodist_gcry_blowfish_module_SOURCES) \ + gcry_blowfish.marker $(nodist_gcry_camellia_module_SOURCES) \ + gcry_camellia.marker $(nodist_gcry_cast5_module_SOURCES) \ +@@ -17202,25 +17178,25 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \ + gcry_sha512.marker $(nodist_gcry_tiger_module_SOURCES) \ + gcry_tiger.marker $(nodist_gcry_twofish_module_SOURCES) \ + gcry_twofish.marker $(nodist_gcry_whirlpool_module_SOURCES) \ +- gcry_whirlpool.marker $(am__append_5599) $(am__append_5604) \ +- $(am__append_5609) $(am__append_5614) $(am__append_5619) \ +- $(am__append_5624) $(am__append_5629) $(am__append_5634) \ +- $(am__append_5639) $(am__append_5644) $(am__append_5649) \ +- $(am__append_5654) $(am__append_5659) $(am__append_5664) \ +- $(am__append_5669) $(am__append_5674) $(am__append_5679) \ +- $(am__append_5684) $(am__append_5689) $(am__append_5694) \ +- $(am__append_5699) $(am__append_5704) $(am__append_5709) \ +- $(am__append_5714) $(am__append_5719) $(am__append_5724) \ +- $(am__append_5729) $(am__append_5734) $(am__append_5739) \ +- $(am__append_5744) $(am__append_5749) $(am__append_5754) \ +- $(am__append_5759) $(am__append_5764) $(am__append_5769) \ +- $(am__append_5774) $(am__append_5779) $(am__append_5784) \ +- $(am__append_5789) $(am__append_5793) $(am__append_5796) \ ++ gcry_whirlpool.marker $(am__append_5592) $(am__append_5597) \ ++ $(am__append_5602) $(am__append_5607) $(am__append_5612) \ ++ $(am__append_5617) $(am__append_5622) $(am__append_5627) \ ++ $(am__append_5632) $(am__append_5637) $(am__append_5642) \ ++ $(am__append_5647) $(am__append_5652) $(am__append_5657) \ ++ $(am__append_5662) $(am__append_5667) $(am__append_5672) \ ++ $(am__append_5677) $(am__append_5682) $(am__append_5687) \ ++ $(am__append_5692) $(am__append_5697) $(am__append_5702) \ ++ $(am__append_5707) $(am__append_5712) $(am__append_5717) \ ++ $(am__append_5722) $(am__append_5727) $(am__append_5732) \ ++ $(am__append_5737) $(am__append_5742) $(am__append_5747) \ ++ $(am__append_5752) $(am__append_5757) $(am__append_5762) \ ++ $(am__append_5767) $(am__append_5772) $(am__append_5777) \ ++ $(am__append_5782) $(am__append_5786) $(am__append_5789) \ + gensyminfo.sh genmod.sh modinfo.sh gmodule.pl gdb_grub \ +- $(am__append_5798) symlist.h symlist.c kernel_syms.lst \ +- $(am__append_5830) fs.lst command.lst partmap.lst terminal.lst \ ++ $(am__append_5791) symlist.h symlist.c kernel_syms.lst \ ++ $(am__append_5823) fs.lst command.lst partmap.lst terminal.lst \ + fdt.lst parttool.lst video.lst crypto.lst config.log \ +- syminfo.lst moddep.lst $(MOD_FILES) $(am__append_5832) ++ syminfo.lst moddep.lst $(MOD_FILES) $(am__append_5825) + BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(nodist_trig_module_SOURCES) $(am__append_6) $(am__append_13) \ + $(am__append_20) $(am__append_27) $(am__append_34) \ +@@ -17329,42 +17305,41 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(am__append_2043) $(am__append_2050) $(am__append_2057) \ + $(am__append_2064) $(am__append_2071) $(am__append_2078) \ + $(am__append_2085) $(am__append_2092) $(am__append_2099) \ +- $(am__append_2106) $(nodist_help_module_SOURCES) \ +- $(nodist_hexdump_module_SOURCES) \ +- $(nodist_keystatus_module_SOURCES) $(am__append_2113) \ +- $(am__append_2120) $(nodist_loadenv_module_SOURCES) \ ++ $(nodist_help_module_SOURCES) $(nodist_hexdump_module_SOURCES) \ ++ $(nodist_keystatus_module_SOURCES) $(am__append_2106) \ ++ $(am__append_2113) $(nodist_loadenv_module_SOURCES) \ + $(nodist_ls_module_SOURCES) $(nodist_lsmmap_module_SOURCES) \ +- $(am__append_2127) $(am__append_2134) $(am__append_2141) \ +- $(am__append_2148) $(am__append_2155) $(am__append_2162) \ +- $(am__append_2169) $(am__append_2176) \ ++ $(am__append_2120) $(am__append_2127) $(am__append_2134) \ ++ $(am__append_2141) $(am__append_2148) $(am__append_2155) \ ++ $(am__append_2162) $(am__append_2169) \ + $(nodist_memrw_module_SOURCES) \ + $(nodist_minicmd_module_SOURCES) \ + $(nodist_parttool_module_SOURCES) \ + $(nodist_password_module_SOURCES) \ +- $(nodist_password_pbkdf2_module_SOURCES) $(am__append_2183) \ +- $(am__append_2190) $(am__append_2197) $(am__append_2204) \ +- $(am__append_2211) $(am__append_2218) $(am__append_2225) \ +- $(am__append_2232) $(am__append_2239) $(am__append_2246) \ +- $(am__append_2253) $(am__append_2260) $(am__append_2267) \ +- $(am__append_2274) $(am__append_2281) $(am__append_2288) \ +- $(am__append_2295) $(am__append_2302) $(am__append_2309) \ +- $(am__append_2316) $(am__append_2323) \ ++ $(nodist_password_pbkdf2_module_SOURCES) $(am__append_2176) \ ++ $(am__append_2183) $(am__append_2190) $(am__append_2197) \ ++ $(am__append_2204) $(am__append_2211) $(am__append_2218) \ ++ $(am__append_2225) $(am__append_2232) $(am__append_2239) \ ++ $(am__append_2246) $(am__append_2253) $(am__append_2260) \ ++ $(am__append_2267) $(am__append_2274) $(am__append_2281) \ ++ $(am__append_2288) $(am__append_2295) $(am__append_2302) \ ++ $(am__append_2309) $(am__append_2316) \ + $(nodist_probe_module_SOURCES) $(nodist_read_module_SOURCES) \ + $(nodist_search_module_SOURCES) \ + $(nodist_search_fs_file_module_SOURCES) \ + $(nodist_search_fs_uuid_module_SOURCES) \ +- $(nodist_search_label_module_SOURCES) $(am__append_2330) \ +- $(am__append_2337) $(am__append_2344) $(am__append_2351) \ +- $(am__append_2358) $(am__append_2365) $(am__append_2372) \ +- $(am__append_2379) $(am__append_2386) $(am__append_2393) \ +- $(am__append_2400) $(am__append_2407) $(am__append_2414) \ +- $(am__append_2421) $(am__append_2428) $(am__append_2435) \ +- $(nodist_sleep_module_SOURCES) $(am__append_2442) \ +- $(am__append_2449) $(nodist_terminal_module_SOURCES) \ ++ $(nodist_search_label_module_SOURCES) $(am__append_2323) \ ++ $(am__append_2330) $(am__append_2337) $(am__append_2344) \ ++ $(am__append_2351) $(am__append_2358) $(am__append_2365) \ ++ $(am__append_2372) $(am__append_2379) $(am__append_2386) \ ++ $(am__append_2393) $(am__append_2400) $(am__append_2407) \ ++ $(am__append_2414) $(am__append_2421) $(am__append_2428) \ ++ $(nodist_sleep_module_SOURCES) $(am__append_2435) \ ++ $(am__append_2442) $(nodist_terminal_module_SOURCES) \ + $(nodist_test_module_SOURCES) $(nodist_true_module_SOURCES) \ +- $(am__append_2456) $(am__append_2463) $(am__append_2470) \ +- $(am__append_2477) $(am__append_2484) $(am__append_2491) \ +- $(am__append_2498) $(am__append_2505) $(am__append_2512) \ ++ $(am__append_2449) $(am__append_2456) $(am__append_2463) \ ++ $(am__append_2470) $(am__append_2477) $(am__append_2484) \ ++ $(am__append_2491) $(am__append_2498) $(am__append_2505) \ + $(nodist_videoinfo_module_SOURCES) \ + $(nodist_videotest_module_SOURCES) \ + $(nodist_xnu_uuid_module_SOURCES) \ +@@ -17380,27 +17355,27 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(nodist_raid5rec_module_SOURCES) \ + $(nodist_raid6rec_module_SOURCES) \ + $(nodist_scsi_module_SOURCES) $(nodist_memdisk_module_SOURCES) \ +- $(am__append_2519) $(am__append_2526) $(am__append_2533) \ +- $(am__append_2540) $(am__append_2547) $(am__append_2554) \ +- $(am__append_2561) $(am__append_2568) $(am__append_2575) \ +- $(am__append_2582) $(am__append_2589) $(am__append_2596) \ +- $(am__append_2603) $(am__append_2610) $(am__append_2617) \ +- $(am__append_2624) $(am__append_2631) $(am__append_2638) \ +- $(am__append_2645) $(am__append_2652) $(am__append_2659) \ +- $(am__append_2666) $(am__append_2673) $(am__append_2680) \ +- $(am__append_2687) $(am__append_2694) $(am__append_2701) \ +- $(am__append_2708) $(am__append_2715) $(am__append_2722) \ +- $(am__append_2729) $(am__append_2736) $(am__append_2743) \ +- $(am__append_2750) $(am__append_2757) $(am__append_2764) \ +- $(am__append_2771) $(am__append_2778) $(am__append_2785) \ +- $(am__append_2792) $(am__append_2799) $(am__append_2806) \ +- $(am__append_2813) $(am__append_2820) $(am__append_2827) \ +- $(am__append_2834) $(am__append_2841) $(am__append_2848) \ +- $(am__append_2855) $(am__append_2862) $(am__append_2869) \ +- $(am__append_2876) $(am__append_2883) $(am__append_2890) \ +- $(am__append_2897) $(am__append_2904) $(am__append_2911) \ +- $(am__append_2918) $(am__append_2925) $(am__append_2932) \ +- $(am__append_2939) $(nodist_procfs_module_SOURCES) \ ++ $(am__append_2512) $(am__append_2519) $(am__append_2526) \ ++ $(am__append_2533) $(am__append_2540) $(am__append_2547) \ ++ $(am__append_2554) $(am__append_2561) $(am__append_2568) \ ++ $(am__append_2575) $(am__append_2582) $(am__append_2589) \ ++ $(am__append_2596) $(am__append_2603) $(am__append_2610) \ ++ $(am__append_2617) $(am__append_2624) $(am__append_2631) \ ++ $(am__append_2638) $(am__append_2645) $(am__append_2652) \ ++ $(am__append_2659) $(am__append_2666) $(am__append_2673) \ ++ $(am__append_2680) $(am__append_2687) $(am__append_2694) \ ++ $(am__append_2701) $(am__append_2708) $(am__append_2715) \ ++ $(am__append_2722) $(am__append_2729) $(am__append_2736) \ ++ $(am__append_2743) $(am__append_2750) $(am__append_2757) \ ++ $(am__append_2764) $(am__append_2771) $(am__append_2778) \ ++ $(am__append_2785) $(am__append_2792) $(am__append_2799) \ ++ $(am__append_2806) $(am__append_2813) $(am__append_2820) \ ++ $(am__append_2827) $(am__append_2834) $(am__append_2841) \ ++ $(am__append_2848) $(am__append_2855) $(am__append_2862) \ ++ $(am__append_2869) $(am__append_2876) $(am__append_2883) \ ++ $(am__append_2890) $(am__append_2897) $(am__append_2904) \ ++ $(am__append_2911) $(am__append_2918) $(am__append_2925) \ ++ $(am__append_2932) $(nodist_procfs_module_SOURCES) \ + $(nodist_affs_module_SOURCES) $(nodist_afs_module_SOURCES) \ + $(nodist_bfs_module_SOURCES) $(nodist_zstd_module_SOURCES) \ + $(nodist_btrfs_module_SOURCES) \ +@@ -17428,69 +17403,69 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(nodist_xfs_module_SOURCES) $(nodist_zfs_module_SOURCES) \ + $(nodist_zfscrypt_module_SOURCES) \ + $(nodist_zfsinfo_module_SOURCES) \ +- $(nodist_macbless_module_SOURCES) $(am__append_2946) \ ++ $(nodist_macbless_module_SOURCES) $(am__append_2939) \ + $(nodist_gettext_module_SOURCES) \ + $(nodist_gfxmenu_module_SOURCES) \ + $(nodist_hello_module_SOURCES) $(nodist_gzio_module_SOURCES) \ +- $(nodist_offsetio_module_SOURCES) $(am__append_2953) \ +- $(am__append_2960) $(am__append_2967) $(am__append_2974) \ +- $(am__append_2981) $(am__append_2988) $(am__append_2995) \ +- $(am__append_3002) $(am__append_3009) $(am__append_3016) \ +- $(am__append_3023) $(am__append_3030) $(am__append_3037) \ +- $(am__append_3044) $(am__append_3051) $(am__append_3058) \ +- $(am__append_3065) $(am__append_3072) $(am__append_3079) \ +- $(am__append_3086) $(nodist_elf_module_SOURCES) \ ++ $(nodist_offsetio_module_SOURCES) $(am__append_2946) \ ++ $(am__append_2953) $(am__append_2960) $(am__append_2967) \ ++ $(am__append_2974) $(am__append_2981) $(am__append_2988) \ ++ $(am__append_2995) $(am__append_3002) $(am__append_3009) \ ++ $(am__append_3016) $(am__append_3023) $(am__append_3030) \ ++ $(am__append_3037) $(am__append_3044) $(am__append_3051) \ ++ $(am__append_3058) $(am__append_3065) $(am__append_3072) \ ++ $(am__append_3079) $(nodist_elf_module_SOURCES) \ + $(nodist_crypto_module_SOURCES) \ +- $(nodist_pbkdf2_module_SOURCES) $(am__append_3093) \ +- $(am__append_3100) $(am__append_3107) $(am__append_3114) \ +- $(am__append_3121) $(am__append_3128) $(am__append_3135) \ +- $(am__append_3142) $(am__append_3149) $(am__append_3156) \ +- $(am__append_3163) $(am__append_3170) $(am__append_3177) \ +- $(am__append_3184) $(am__append_3191) $(am__append_3198) \ +- $(am__append_3205) $(am__append_3212) $(am__append_3219) \ +- $(am__append_3226) $(am__append_3233) $(am__append_3240) \ +- $(am__append_3247) $(am__append_3254) $(am__append_3261) \ +- $(am__append_3268) $(am__append_3275) $(am__append_3282) \ +- $(am__append_3289) $(am__append_3296) $(am__append_3303) \ +- $(am__append_3310) $(am__append_3317) $(am__append_3324) \ +- $(am__append_3331) $(am__append_3338) \ +- $(nodist_setjmp_module_SOURCES) $(am__append_3345) \ +- $(am__append_3352) $(am__append_3359) $(am__append_3366) \ +- $(am__append_3373) $(am__append_3380) $(am__append_3387) \ +- $(am__append_3394) $(am__append_3401) $(am__append_3408) \ +- $(am__append_3415) $(am__append_3422) $(am__append_3429) \ +- $(am__append_3436) $(am__append_3443) $(am__append_3450) \ +- $(am__append_3457) $(am__append_3464) $(am__append_3471) \ +- $(am__append_3478) $(am__append_3485) $(am__append_3492) \ +- $(am__append_3499) $(am__append_3506) $(am__append_3513) \ +- $(am__append_3520) $(am__append_3527) $(am__append_3534) \ +- $(am__append_3541) $(am__append_3548) $(am__append_3555) \ +- $(am__append_3562) $(am__append_3569) $(am__append_3576) \ +- $(am__append_3583) $(am__append_3590) $(am__append_3597) \ +- $(am__append_3604) $(am__append_3611) $(am__append_3618) \ +- $(am__append_3625) $(am__append_3632) $(am__append_3639) \ +- $(am__append_3646) $(am__append_3653) $(am__append_3660) \ +- $(am__append_3667) $(am__append_3674) $(am__append_3681) \ +- $(am__append_3688) $(am__append_3695) $(am__append_3702) \ +- $(am__append_3709) $(am__append_3716) $(am__append_3723) \ +- $(am__append_3730) $(am__append_3737) $(am__append_3744) \ +- $(am__append_3751) $(am__append_3758) $(am__append_3765) \ +- $(am__append_3772) $(am__append_3779) $(am__append_3786) \ +- $(am__append_3793) $(am__append_3800) $(am__append_3807) \ +- $(am__append_3814) $(am__append_3821) $(am__append_3828) \ +- $(am__append_3835) $(am__append_3842) $(am__append_3849) \ +- $(am__append_3856) $(am__append_3863) $(am__append_3870) \ +- $(am__append_3877) $(am__append_3884) \ +- $(nodist_macho_module_SOURCES) $(am__append_3891) \ +- $(am__append_3898) $(am__append_3905) $(am__append_3912) \ +- $(am__append_3919) $(am__append_3926) $(am__append_3933) \ +- $(am__append_3940) $(am__append_3947) $(am__append_3954) \ +- $(am__append_3961) $(am__append_3968) $(am__append_3975) \ +- $(am__append_3982) $(am__append_3989) $(am__append_3996) \ +- $(am__append_4003) $(am__append_4010) $(am__append_4017) \ +- $(am__append_4024) $(am__append_4031) $(am__append_4038) \ +- $(am__append_4045) $(am__append_4052) $(am__append_4059) \ +- $(am__append_4066) $(am__append_4073) \ ++ $(nodist_pbkdf2_module_SOURCES) $(am__append_3086) \ ++ $(am__append_3093) $(am__append_3100) $(am__append_3107) \ ++ $(am__append_3114) $(am__append_3121) $(am__append_3128) \ ++ $(am__append_3135) $(am__append_3142) $(am__append_3149) \ ++ $(am__append_3156) $(am__append_3163) $(am__append_3170) \ ++ $(am__append_3177) $(am__append_3184) $(am__append_3191) \ ++ $(am__append_3198) $(am__append_3205) $(am__append_3212) \ ++ $(am__append_3219) $(am__append_3226) $(am__append_3233) \ ++ $(am__append_3240) $(am__append_3247) $(am__append_3254) \ ++ $(am__append_3261) $(am__append_3268) $(am__append_3275) \ ++ $(am__append_3282) $(am__append_3289) $(am__append_3296) \ ++ $(am__append_3303) $(am__append_3310) $(am__append_3317) \ ++ $(am__append_3324) $(am__append_3331) \ ++ $(nodist_setjmp_module_SOURCES) $(am__append_3338) \ ++ $(am__append_3345) $(am__append_3352) $(am__append_3359) \ ++ $(am__append_3366) $(am__append_3373) $(am__append_3380) \ ++ $(am__append_3387) $(am__append_3394) $(am__append_3401) \ ++ $(am__append_3408) $(am__append_3415) $(am__append_3422) \ ++ $(am__append_3429) $(am__append_3436) $(am__append_3443) \ ++ $(am__append_3450) $(am__append_3457) $(am__append_3464) \ ++ $(am__append_3471) $(am__append_3478) $(am__append_3485) \ ++ $(am__append_3492) $(am__append_3499) $(am__append_3506) \ ++ $(am__append_3513) $(am__append_3520) $(am__append_3527) \ ++ $(am__append_3534) $(am__append_3541) $(am__append_3548) \ ++ $(am__append_3555) $(am__append_3562) $(am__append_3569) \ ++ $(am__append_3576) $(am__append_3583) $(am__append_3590) \ ++ $(am__append_3597) $(am__append_3604) $(am__append_3611) \ ++ $(am__append_3618) $(am__append_3625) $(am__append_3632) \ ++ $(am__append_3639) $(am__append_3646) $(am__append_3653) \ ++ $(am__append_3660) $(am__append_3667) $(am__append_3674) \ ++ $(am__append_3681) $(am__append_3688) $(am__append_3695) \ ++ $(am__append_3702) $(am__append_3709) $(am__append_3716) \ ++ $(am__append_3723) $(am__append_3730) $(am__append_3737) \ ++ $(am__append_3744) $(am__append_3751) $(am__append_3758) \ ++ $(am__append_3765) $(am__append_3772) $(am__append_3779) \ ++ $(am__append_3786) $(am__append_3793) $(am__append_3800) \ ++ $(am__append_3807) $(am__append_3814) $(am__append_3821) \ ++ $(am__append_3828) $(am__append_3835) $(am__append_3842) \ ++ $(am__append_3849) $(am__append_3856) $(am__append_3863) \ ++ $(am__append_3870) $(am__append_3877) \ ++ $(nodist_macho_module_SOURCES) $(am__append_3884) \ ++ $(am__append_3891) $(am__append_3898) $(am__append_3905) \ ++ $(am__append_3912) $(am__append_3919) $(am__append_3926) \ ++ $(am__append_3933) $(am__append_3940) $(am__append_3947) \ ++ $(am__append_3954) $(am__append_3961) $(am__append_3968) \ ++ $(am__append_3975) $(am__append_3982) $(am__append_3989) \ ++ $(am__append_3996) $(am__append_4003) $(am__append_4010) \ ++ $(am__append_4017) $(am__append_4024) $(am__append_4031) \ ++ $(am__append_4038) $(am__append_4045) $(am__append_4052) \ ++ $(am__append_4059) $(am__append_4066) \ + $(nodist_normal_module_SOURCES) \ + $(nodist_part_acorn_module_SOURCES) \ + $(nodist_part_amiga_module_SOURCES) \ +@@ -17503,35 +17478,35 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(nodist_part_bsd_module_SOURCES) \ + $(nodist_part_sunpc_module_SOURCES) \ + $(nodist_part_dfly_module_SOURCES) \ +- $(nodist_msdospart_module_SOURCES) $(am__append_4080) \ +- $(am__append_4087) $(am__append_4094) $(am__append_4101) \ +- $(am__append_4108) $(am__append_4115) $(am__append_4122) \ +- $(am__append_4129) $(am__append_4136) $(am__append_4143) \ +- $(am__append_4150) $(am__append_4157) $(am__append_4164) \ +- $(am__append_4171) $(am__append_4178) $(am__append_4185) \ +- $(am__append_4192) $(am__append_4199) $(am__append_4206) \ +- $(am__append_4213) $(am__append_4220) $(am__append_4227) \ +- $(am__append_4234) $(am__append_4241) $(am__append_4248) \ +- $(am__append_4255) $(am__append_4262) \ +- $(nodist_gfxterm_background_module_SOURCES) $(am__append_4269) \ +- $(am__append_4276) $(am__append_4283) $(am__append_4290) \ +- $(am__append_4297) $(am__append_4304) $(am__append_4311) \ +- $(am__append_4318) $(am__append_4325) $(am__append_4332) \ +- $(am__append_4339) $(am__append_4346) $(am__append_4353) \ +- $(am__append_4360) $(am__append_4367) $(am__append_4374) \ +- $(am__append_4381) $(am__append_4388) $(am__append_4395) \ +- $(am__append_4402) $(am__append_4409) $(am__append_4416) \ +- $(am__append_4423) $(am__append_4430) $(am__append_4437) \ +- $(am__append_4444) $(am__append_4451) $(am__append_4458) \ +- $(am__append_4465) $(am__append_4472) $(am__append_4479) \ +- $(am__append_4486) $(am__append_4493) $(am__append_4500) \ +- $(am__append_4507) $(am__append_4514) $(am__append_4521) \ +- $(am__append_4528) $(am__append_4535) $(am__append_4542) \ +- $(am__append_4549) $(am__append_4556) $(am__append_4563) \ +- $(am__append_4570) $(am__append_4577) $(am__append_4584) \ +- $(am__append_4591) $(am__append_4598) $(am__append_4605) \ +- $(am__append_4612) $(am__append_4619) $(am__append_4626) \ +- $(am__append_4633) $(am__append_4640) $(am__append_4647) \ ++ $(nodist_msdospart_module_SOURCES) $(am__append_4073) \ ++ $(am__append_4080) $(am__append_4087) $(am__append_4094) \ ++ $(am__append_4101) $(am__append_4108) $(am__append_4115) \ ++ $(am__append_4122) $(am__append_4129) $(am__append_4136) \ ++ $(am__append_4143) $(am__append_4150) $(am__append_4157) \ ++ $(am__append_4164) $(am__append_4171) $(am__append_4178) \ ++ $(am__append_4185) $(am__append_4192) $(am__append_4199) \ ++ $(am__append_4206) $(am__append_4213) $(am__append_4220) \ ++ $(am__append_4227) $(am__append_4234) $(am__append_4241) \ ++ $(am__append_4248) $(am__append_4255) \ ++ $(nodist_gfxterm_background_module_SOURCES) $(am__append_4262) \ ++ $(am__append_4269) $(am__append_4276) $(am__append_4283) \ ++ $(am__append_4290) $(am__append_4297) $(am__append_4304) \ ++ $(am__append_4311) $(am__append_4318) $(am__append_4325) \ ++ $(am__append_4332) $(am__append_4339) $(am__append_4346) \ ++ $(am__append_4353) $(am__append_4360) $(am__append_4367) \ ++ $(am__append_4374) $(am__append_4381) $(am__append_4388) \ ++ $(am__append_4395) $(am__append_4402) $(am__append_4409) \ ++ $(am__append_4416) $(am__append_4423) $(am__append_4430) \ ++ $(am__append_4437) $(am__append_4444) $(am__append_4451) \ ++ $(am__append_4458) $(am__append_4465) $(am__append_4472) \ ++ $(am__append_4479) $(am__append_4486) $(am__append_4493) \ ++ $(am__append_4500) $(am__append_4507) $(am__append_4514) \ ++ $(am__append_4521) $(am__append_4528) $(am__append_4535) \ ++ $(am__append_4542) $(am__append_4549) $(am__append_4556) \ ++ $(am__append_4563) $(am__append_4570) $(am__append_4577) \ ++ $(am__append_4584) $(am__append_4591) $(am__append_4598) \ ++ $(am__append_4605) $(am__append_4612) $(am__append_4619) \ ++ $(am__append_4626) $(am__append_4633) $(am__append_4640) \ + $(nodist_functional_test_module_SOURCES) \ + $(nodist_exfctest_module_SOURCES) \ + $(nodist_strtoull_test_module_SOURCES) \ +@@ -17539,15 +17514,15 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(nodist_signature_test_module_SOURCES) \ + $(nodist_sleep_test_module_SOURCES) \ + $(nodist_xnu_uuid_test_module_SOURCES) \ +- $(nodist_pbkdf2_test_module_SOURCES) $(am__append_4654) \ +- $(am__append_4661) $(am__append_4668) $(am__append_4675) \ +- $(am__append_4682) $(am__append_4689) $(am__append_4696) \ +- $(am__append_4703) $(am__append_4710) $(am__append_4717) \ +- $(am__append_4724) $(am__append_4731) $(am__append_4738) \ +- $(am__append_4745) $(am__append_4752) $(am__append_4759) \ +- $(am__append_4766) $(am__append_4773) $(am__append_4780) \ +- $(am__append_4787) $(am__append_4794) $(am__append_4801) \ +- $(am__append_4808) $(am__append_4815) $(am__append_4822) \ ++ $(nodist_pbkdf2_test_module_SOURCES) $(am__append_4647) \ ++ $(am__append_4654) $(am__append_4661) $(am__append_4668) \ ++ $(am__append_4675) $(am__append_4682) $(am__append_4689) \ ++ $(am__append_4696) $(am__append_4703) $(am__append_4710) \ ++ $(am__append_4717) $(am__append_4724) $(am__append_4731) \ ++ $(am__append_4738) $(am__append_4745) $(am__append_4752) \ ++ $(am__append_4759) $(am__append_4766) $(am__append_4773) \ ++ $(am__append_4780) $(am__append_4787) $(am__append_4794) \ ++ $(am__append_4801) $(am__append_4808) $(am__append_4815) \ + $(nodist_div_test_module_SOURCES) \ + $(nodist_mul_test_module_SOURCES) \ + $(nodist_shift_test_module_SOURCES) \ +@@ -17558,59 +17533,59 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(nodist_gfxterm_menu_module_SOURCES) \ + $(nodist_cmdline_cat_test_module_SOURCES) \ + $(nodist_bitmap_module_SOURCES) \ +- $(nodist_bitmap_scale_module_SOURCES) $(am__append_4829) \ +- $(am__append_4836) $(am__append_4843) $(am__append_4850) \ +- $(am__append_4857) $(am__append_4864) $(am__append_4871) \ +- $(am__append_4878) $(am__append_4885) \ ++ $(nodist_bitmap_scale_module_SOURCES) $(am__append_4822) \ ++ $(am__append_4829) $(am__append_4836) $(am__append_4843) \ ++ $(am__append_4850) $(am__append_4857) $(am__append_4864) \ ++ $(am__append_4871) $(am__append_4878) \ + $(nodist_jpeg_module_SOURCES) $(nodist_png_module_SOURCES) \ +- $(nodist_tga_module_SOURCES) $(am__append_4892) \ +- $(am__append_4899) $(am__append_4906) $(am__append_4913) \ +- $(am__append_4920) $(am__append_4927) $(am__append_4934) \ +- $(am__append_4941) $(am__append_4948) $(am__append_4955) \ +- $(am__append_4962) $(am__append_4969) $(am__append_4976) \ +- $(am__append_4983) $(am__append_4990) $(am__append_4997) \ +- $(am__append_5004) $(am__append_5011) $(am__append_5018) \ +- $(am__append_5025) $(am__append_5032) $(am__append_5039) \ +- $(am__append_5046) $(am__append_5053) $(am__append_5060) \ +- $(am__append_5067) $(am__append_5074) $(am__append_5081) \ +- $(am__append_5088) $(am__append_5095) $(am__append_5102) \ +- $(am__append_5109) $(am__append_5116) $(am__append_5123) \ +- $(am__append_5130) $(am__append_5137) $(am__append_5144) \ +- $(am__append_5151) $(am__append_5158) $(am__append_5165) \ +- $(am__append_5172) $(nodist_video_colors_module_SOURCES) \ +- $(am__append_5179) $(am__append_5186) \ ++ $(nodist_tga_module_SOURCES) $(am__append_4885) \ ++ $(am__append_4892) $(am__append_4899) $(am__append_4906) \ ++ $(am__append_4913) $(am__append_4920) $(am__append_4927) \ ++ $(am__append_4934) $(am__append_4941) $(am__append_4948) \ ++ $(am__append_4955) $(am__append_4962) $(am__append_4969) \ ++ $(am__append_4976) $(am__append_4983) $(am__append_4990) \ ++ $(am__append_4997) $(am__append_5004) $(am__append_5011) \ ++ $(am__append_5018) $(am__append_5025) $(am__append_5032) \ ++ $(am__append_5039) $(am__append_5046) $(am__append_5053) \ ++ $(am__append_5060) $(am__append_5067) $(am__append_5074) \ ++ $(am__append_5081) $(am__append_5088) $(am__append_5095) \ ++ $(am__append_5102) $(am__append_5109) $(am__append_5116) \ ++ $(am__append_5123) $(am__append_5130) $(am__append_5137) \ ++ $(am__append_5144) $(am__append_5151) $(am__append_5158) \ ++ $(am__append_5165) $(nodist_video_colors_module_SOURCES) \ ++ $(am__append_5172) $(am__append_5179) \ + $(nodist_datehook_module_SOURCES) $(nodist_net_module_SOURCES) \ + $(nodist_tftp_module_SOURCES) $(nodist_http_module_SOURCES) \ +- $(am__append_5193) $(am__append_5200) $(am__append_5207) \ +- $(am__append_5214) $(am__append_5221) $(am__append_5228) \ +- $(am__append_5235) $(am__append_5242) $(am__append_5249) \ +- $(am__append_5256) $(am__append_5263) $(am__append_5270) \ +- $(am__append_5277) $(am__append_5284) $(am__append_5291) \ +- $(am__append_5298) $(am__append_5305) $(am__append_5312) \ ++ $(am__append_5186) $(am__append_5193) $(am__append_5200) \ ++ $(am__append_5207) $(am__append_5214) $(am__append_5221) \ ++ $(am__append_5228) $(am__append_5235) $(am__append_5242) \ ++ $(am__append_5249) $(am__append_5256) $(am__append_5263) \ ++ $(am__append_5270) $(am__append_5277) $(am__append_5284) \ ++ $(am__append_5291) $(am__append_5298) $(am__append_5305) \ + $(nodist_syslinuxcfg_module_SOURCES) \ + $(nodist_test_blockarg_module_SOURCES) \ + $(nodist_xzio_module_SOURCES) $(nodist_lzopio_module_SOURCES) \ +- $(nodist_testload_module_SOURCES) $(am__append_5319) \ +- $(am__append_5326) $(am__append_5333) $(am__append_5340) \ +- $(am__append_5347) $(am__append_5354) $(am__append_5361) \ +- $(am__append_5368) $(am__append_5375) $(am__append_5382) \ +- $(am__append_5389) $(am__append_5396) $(am__append_5403) \ +- $(am__append_5410) $(am__append_5417) $(am__append_5424) \ +- $(am__append_5431) $(nodist_priority_queue_module_SOURCES) \ +- $(nodist_time_module_SOURCES) $(am__append_5438) \ +- $(am__append_5445) $(nodist_adler32_module_SOURCES) \ ++ $(nodist_testload_module_SOURCES) $(am__append_5312) \ ++ $(am__append_5319) $(am__append_5326) $(am__append_5333) \ ++ $(am__append_5340) $(am__append_5347) $(am__append_5354) \ ++ $(am__append_5361) $(am__append_5368) $(am__append_5375) \ ++ $(am__append_5382) $(am__append_5389) $(am__append_5396) \ ++ $(am__append_5403) $(am__append_5410) $(am__append_5417) \ ++ $(am__append_5424) $(nodist_priority_queue_module_SOURCES) \ ++ $(nodist_time_module_SOURCES) $(am__append_5431) \ ++ $(am__append_5438) $(nodist_adler32_module_SOURCES) \ + $(nodist_crc64_module_SOURCES) $(nodist_mpi_module_SOURCES) \ +- $(nodist_all_video_module_SOURCES) $(am__append_5452) \ +- $(am__append_5459) $(am__append_5466) $(am__append_5473) \ +- $(am__append_5480) $(am__append_5487) \ +- $(nodist_testspeed_module_SOURCES) $(am__append_5494) \ ++ $(nodist_all_video_module_SOURCES) $(am__append_5445) \ ++ $(am__append_5452) $(am__append_5459) $(am__append_5466) \ ++ $(am__append_5473) $(am__append_5480) \ ++ $(nodist_testspeed_module_SOURCES) $(am__append_5487) \ + $(nodist_tr_module_SOURCES) $(nodist_progress_module_SOURCES) \ +- $(nodist_file_module_SOURCES) $(am__append_5501) \ +- $(am__append_5508) $(am__append_5515) $(am__append_5522) \ +- $(am__append_5529) $(am__append_5536) $(am__append_5543) \ +- $(am__append_5550) $(am__append_5557) $(am__append_5564) \ +- $(am__append_5571) $(am__append_5578) $(am__append_5585) \ +- $(am__append_5592) $(nodist_gcry_arcfour_module_SOURCES) \ ++ $(nodist_file_module_SOURCES) $(am__append_5494) \ ++ $(am__append_5501) $(am__append_5508) $(am__append_5515) \ ++ $(am__append_5522) $(am__append_5529) $(am__append_5536) \ ++ $(am__append_5543) $(am__append_5550) $(am__append_5557) \ ++ $(am__append_5564) $(am__append_5571) $(am__append_5578) \ ++ $(am__append_5585) $(nodist_gcry_arcfour_module_SOURCES) \ + $(nodist_gcry_blowfish_module_SOURCES) \ + $(nodist_gcry_camellia_module_SOURCES) \ + $(nodist_gcry_cast5_module_SOURCES) \ +@@ -17631,20 +17606,20 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \ + $(nodist_gcry_sha512_module_SOURCES) \ + $(nodist_gcry_tiger_module_SOURCES) \ + $(nodist_gcry_twofish_module_SOURCES) \ +- $(nodist_gcry_whirlpool_module_SOURCES) $(am__append_5598) \ +- $(am__append_5603) $(am__append_5608) $(am__append_5613) \ +- $(am__append_5618) $(am__append_5623) $(am__append_5628) \ +- $(am__append_5633) $(am__append_5638) $(am__append_5643) \ +- $(am__append_5648) $(am__append_5653) $(am__append_5658) \ +- $(am__append_5663) $(am__append_5668) $(am__append_5673) \ +- $(am__append_5678) $(am__append_5683) $(am__append_5688) \ +- $(am__append_5693) $(am__append_5698) $(am__append_5703) \ +- $(am__append_5708) $(am__append_5713) $(am__append_5718) \ +- $(am__append_5723) $(am__append_5728) $(am__append_5733) \ +- $(am__append_5738) $(am__append_5743) $(am__append_5748) \ +- $(am__append_5753) $(am__append_5758) $(am__append_5763) \ +- $(am__append_5768) $(am__append_5773) $(am__append_5778) \ +- $(am__append_5783) $(am__append_5788) $(am__append_5795) \ ++ $(nodist_gcry_whirlpool_module_SOURCES) $(am__append_5591) \ ++ $(am__append_5596) $(am__append_5601) $(am__append_5606) \ ++ $(am__append_5611) $(am__append_5616) $(am__append_5621) \ ++ $(am__append_5626) $(am__append_5631) $(am__append_5636) \ ++ $(am__append_5641) $(am__append_5646) $(am__append_5651) \ ++ $(am__append_5656) $(am__append_5661) $(am__append_5666) \ ++ $(am__append_5671) $(am__append_5676) $(am__append_5681) \ ++ $(am__append_5686) $(am__append_5691) $(am__append_5696) \ ++ $(am__append_5701) $(am__append_5706) $(am__append_5711) \ ++ $(am__append_5716) $(am__append_5721) $(am__append_5726) \ ++ $(am__append_5731) $(am__append_5736) $(am__append_5741) \ ++ $(am__append_5746) $(am__append_5751) $(am__append_5756) \ ++ $(am__append_5761) $(am__append_5766) $(am__append_5771) \ ++ $(am__append_5776) $(am__append_5781) $(am__append_5788) \ + symlist.h symlist.c + MACHO2IMG = $(top_builddir)/grub-macho2img + AM_CFLAGS = $(TARGET_CFLAGS) +@@ -20083,14 +20058,6 @@ pgp_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) + pgp_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) -I$(srcdir)/lib/posix_wrap + pgp_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) + pgp_module_DEPENDENCIES = $(TARGET_OBJ2ELF) +-@COND_x86_64_efi_TRUE@shim_lock_module_SOURCES = commands/efi/shim_lock.c ## platform sources +-@COND_x86_64_efi_TRUE@nodist_shim_lock_module_SOURCES = ## platform nodist sources +-@COND_x86_64_efi_TRUE@shim_lock_module_LDADD = +-@COND_x86_64_efi_TRUE@shim_lock_module_CFLAGS = $(AM_CFLAGS) $(CFLAGS_MODULE) +-@COND_x86_64_efi_TRUE@shim_lock_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) +-@COND_x86_64_efi_TRUE@shim_lock_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) +-@COND_x86_64_efi_TRUE@shim_lock_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) +-@COND_x86_64_efi_TRUE@shim_lock_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_coreboot_TRUE@hdparm_module_SOURCES = commands/hdparm.c ## platform sources + @COND_i386_efi_TRUE@hdparm_module_SOURCES = commands/hdparm.c ## platform sources + @COND_i386_ieee1275_TRUE@hdparm_module_SOURCES = commands/hdparm.c ## platform sources +@@ -29924,13 +29891,6 @@ tests/shift_test_module-shift_test.$(OBJEXT): tests/$(am__dirstamp) \ + shift_test.module$(EXEEXT): $(shift_test_module_OBJECTS) $(shift_test_module_DEPENDENCIES) $(EXTRA_shift_test_module_DEPENDENCIES) + @rm -f shift_test.module$(EXEEXT) + $(AM_V_CCLD)$(shift_test_module_LINK) $(shift_test_module_OBJECTS) $(shift_test_module_LDADD) $(LIBS) +-commands/efi/shim_lock_module-shim_lock.$(OBJEXT): \ +- commands/efi/$(am__dirstamp) \ +- commands/efi/$(DEPDIR)/$(am__dirstamp) +- +-shim_lock.module$(EXEEXT): $(shim_lock_module_OBJECTS) $(shim_lock_module_DEPENDENCIES) $(EXTRA_shim_lock_module_DEPENDENCIES) +- @rm -f shim_lock.module$(EXEEXT) +- $(AM_V_CCLD)$(shim_lock_module_LINK) $(shim_lock_module_OBJECTS) $(shim_lock_module_LDADD) $(LIBS) + tests/signature_test_module-signature_test.$(OBJEXT): \ + tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp) + +@@ -30831,7 +30791,6 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/lsefimmap_module-lsefimmap.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/lsefisystab_module-lsefisystab.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/lssal_module-lssal.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/tpm_module-tpm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/i386/$(DEPDIR)/cmosdump_module-cmosdump.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@commands/i386/$(DEPDIR)/cmostest_module-cmostest.Po@am__quote@ +@@ -40402,20 +40361,6 @@ tests/shift_test_module-shift_test.obj: tests/shift_test.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shift_test_module_CPPFLAGS) $(CPPFLAGS) $(shift_test_module_CFLAGS) $(CFLAGS) -c -o tests/shift_test_module-shift_test.obj `if test -f 'tests/shift_test.c'; then $(CYGPATH_W) 'tests/shift_test.c'; else $(CYGPATH_W) '$(srcdir)/tests/shift_test.c'; fi` + +-commands/efi/shim_lock_module-shim_lock.o: commands/efi/shim_lock.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -MT commands/efi/shim_lock_module-shim_lock.o -MD -MP -MF commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo -c -o commands/efi/shim_lock_module-shim_lock.o `test -f 'commands/efi/shim_lock.c' || echo '$(srcdir)/'`commands/efi/shim_lock.c +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='commands/efi/shim_lock.c' object='commands/efi/shim_lock_module-shim_lock.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -c -o commands/efi/shim_lock_module-shim_lock.o `test -f 'commands/efi/shim_lock.c' || echo '$(srcdir)/'`commands/efi/shim_lock.c +- +-commands/efi/shim_lock_module-shim_lock.obj: commands/efi/shim_lock.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -MT commands/efi/shim_lock_module-shim_lock.obj -MD -MP -MF commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo -c -o commands/efi/shim_lock_module-shim_lock.obj `if test -f 'commands/efi/shim_lock.c'; then $(CYGPATH_W) 'commands/efi/shim_lock.c'; else $(CYGPATH_W) '$(srcdir)/commands/efi/shim_lock.c'; fi` +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='commands/efi/shim_lock.c' object='commands/efi/shim_lock_module-shim_lock.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -c -o commands/efi/shim_lock_module-shim_lock.obj `if test -f 'commands/efi/shim_lock.c'; then $(CYGPATH_W) 'commands/efi/shim_lock.c'; else $(CYGPATH_W) '$(srcdir)/commands/efi/shim_lock.c'; fi` +- + tests/signature_test_module-signature_test.o: tests/signature_test.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(signature_test_module_CPPFLAGS) $(CPPFLAGS) $(signature_test_module_CFLAGS) $(CFLAGS) -MT tests/signature_test_module-signature_test.o -MD -MP -MF tests/$(DEPDIR)/signature_test_module-signature_test.Tpo -c -o tests/signature_test_module-signature_test.o `test -f 'tests/signature_test.c' || echo '$(srcdir)/'`tests/signature_test.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/signature_test_module-signature_test.Tpo tests/$(DEPDIR)/signature_test_module-signature_test.Po +@@ -43738,10 +43683,6 @@ pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES) + $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) + grep 'MARKER' $@.new > $@; rm -f $@.new + +-@COND_x86_64_efi_TRUE@shim_lock.marker: $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES) +-@COND_x86_64_efi_TRUE@ $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) +-@COND_x86_64_efi_TRUE@ grep 'MARKER' $@.new > $@; rm -f $@.new +- + @COND_i386_pc_TRUE@hdparm.marker: $(hdparm_module_SOURCES) $(nodist_hdparm_module_SOURCES) + @COND_i386_pc_TRUE@ $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hdparm_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1) + @COND_i386_pc_TRUE@ grep 'MARKER' $@.new > $@; rm -f $@.new +diff --git a/grub-core/commands/efi/shim_lock.c b/grub-core/commands/efi/shim_lock.c +deleted file mode 100644 +index d8f52d7..0000000 +--- a/grub-core/commands/efi/shim_lock.c ++++ /dev/null +@@ -1,130 +0,0 @@ +-/* +- * GRUB -- GRand Unified Bootloader +- * Copyright (C) 2017 Free Software Foundation, Inc. +- * +- * GRUB is free software: you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation, either version 3 of the License, or +- * (at your option) any later version. +- * +- * GRUB 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 GRUB. If not, see . +- * +- * EFI shim lock verifier. +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +- +-GRUB_MOD_LICENSE ("GPLv3+"); +- +-static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID; +-static grub_efi_shim_lock_protocol_t *sl; +- +-/* List of modules which cannot be loaded if UEFI secure boot mode is enabled. */ +-static const char * const disabled_mods[] = {"iorw", "memrw", "wrmsr", NULL}; +- +-static grub_err_t +-shim_lock_init (grub_file_t io, enum grub_file_type type, +- void **context __attribute__ ((unused)), +- enum grub_verify_flags *flags) +-{ +- const char *b, *e; +- int i; +- +- *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION; +- +- if (!sl) +- return GRUB_ERR_NONE; +- +- switch (type & GRUB_FILE_TYPE_MASK) +- { +- case GRUB_FILE_TYPE_GRUB_MODULE: +- /* Establish GRUB module name. */ +- b = grub_strrchr (io->name, '/'); +- e = grub_strrchr (io->name, '.'); +- +- b = b ? (b + 1) : io->name; +- e = e ? e : io->name + grub_strlen (io->name); +- e = (e > b) ? e : io->name + grub_strlen (io->name); +- +- for (i = 0; disabled_mods[i]; i++) +- if (!grub_strncmp (b, disabled_mods[i], grub_strlen (b) - grub_strlen (e))) +- { +- grub_error (GRUB_ERR_ACCESS_DENIED, +- N_("module cannot be loaded in UEFI secure boot mode: %s"), +- io->name); +- return GRUB_ERR_ACCESS_DENIED; +- } +- +- /* Fall through. */ +- +- case GRUB_FILE_TYPE_ACPI_TABLE: +- case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE: +- *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH; +- +- return GRUB_ERR_NONE; +- +- case GRUB_FILE_TYPE_LINUX_KERNEL: +- case GRUB_FILE_TYPE_MULTIBOOT_KERNEL: +- case GRUB_FILE_TYPE_BSD_KERNEL: +- case GRUB_FILE_TYPE_XNU_KERNEL: +- case GRUB_FILE_TYPE_PLAN9_KERNEL: +- for (i = 0; disabled_mods[i]; i++) +- if (grub_dl_get (disabled_mods[i])) +- { +- grub_error (GRUB_ERR_ACCESS_DENIED, +- N_("cannot boot due to dangerous module in memory: %s"), +- disabled_mods[i]); +- return GRUB_ERR_ACCESS_DENIED; +- } +- +- *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK; +- +- /* Fall through. */ +- +- default: +- return GRUB_ERR_NONE; +- } +-} +- +-static grub_err_t +-shim_lock_write (void *context __attribute__ ((unused)), void *buf, grub_size_t size) +-{ +- if (sl->verify (buf, size) != GRUB_EFI_SUCCESS) +- return grub_error (GRUB_ERR_BAD_SIGNATURE, N_("bad shim signature")); +- +- return GRUB_ERR_NONE; +-} +- +-struct grub_file_verifier shim_lock = +- { +- .name = "shim_lock", +- .init = shim_lock_init, +- .write = shim_lock_write +- }; +- +-GRUB_MOD_INIT(shim_lock) +-{ +- sl = grub_efi_locate_protocol (&shim_lock_guid, 0); +- grub_verifier_register (&shim_lock); +- +- if (!sl) +- return; +- +- grub_dl_set_persistent (mod); +-} +- +-GRUB_MOD_FINI(shim_lock) +-{ +- grub_verifier_unregister (&shim_lock); +-} +diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c +index 2c31847..b683bec 100644 +--- a/grub-core/kern/efi/init.c ++++ b/grub-core/kern/efi/init.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -39,6 +40,9 @@ grub_efi_init (void) + /* Initialize the memory management system. */ + grub_efi_mm_init (); + ++ /* Register the shim_lock verifier if UEFI Secure Boot is enabled. */ ++ grub_shim_lock_verifier_setup (); ++ + efi_call_4 (grub_efi_system_table->boot_services->set_watchdog_timer, + 0, 0, 0, NULL); + +diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c +index 19658d9..ce3b7f6 100644 +--- a/grub-core/kern/efi/sb.c ++++ b/grub-core/kern/efi/sb.c +@@ -22,9 +22,16 @@ + #include + #include + #include ++#include + #include + #include + #include ++#include ++ ++static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID; ++ ++/* List of modules which cannot be loaded if UEFI secure boot mode is enabled. */ ++static const char * const disabled_mods[] = {"iorw", "memrw", NULL}; + + /* + * Determine whether we're in secure boot mode. +@@ -107,3 +114,101 @@ grub_efi_get_secureboot (void) + + return secureboot; + } ++ ++static grub_err_t ++shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)), ++ enum grub_file_type type, ++ void **context __attribute__ ((unused)), ++ enum grub_verify_flags *flags) ++{ ++ const char *b, *e; ++ int i; ++ ++ *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION; ++ ++ switch (type & GRUB_FILE_TYPE_MASK) ++ { ++ case GRUB_FILE_TYPE_GRUB_MODULE: ++ /* Establish GRUB module name. */ ++ b = grub_strrchr (io->name, '/'); ++ e = grub_strrchr (io->name, '.'); ++ ++ b = b ? (b + 1) : io->name; ++ e = e ? e : io->name + grub_strlen (io->name); ++ e = (e > b) ? e : io->name + grub_strlen (io->name); ++ ++ for (i = 0; disabled_mods[i]; i++) ++ if (!grub_strncmp (b, disabled_mods[i], grub_strlen (b) - grub_strlen (e))) ++ { ++ grub_error (GRUB_ERR_ACCESS_DENIED, ++ N_("module cannot be loaded in UEFI secure boot mode: %s"), ++ io->name); ++ return GRUB_ERR_ACCESS_DENIED; ++ } ++ ++ /* Fall through. */ ++ ++ case GRUB_FILE_TYPE_ACPI_TABLE: ++ case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE: ++ *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH; ++ ++ return GRUB_ERR_NONE; ++ ++ case GRUB_FILE_TYPE_LINUX_KERNEL: ++ case GRUB_FILE_TYPE_MULTIBOOT_KERNEL: ++ case GRUB_FILE_TYPE_BSD_KERNEL: ++ case GRUB_FILE_TYPE_XNU_KERNEL: ++ case GRUB_FILE_TYPE_PLAN9_KERNEL: ++ for (i = 0; disabled_mods[i]; i++) ++ if (grub_dl_get (disabled_mods[i])) ++ { ++ grub_error (GRUB_ERR_ACCESS_DENIED, ++ N_("cannot boot due to dangerous module in memory: %s"), ++ disabled_mods[i]); ++ return GRUB_ERR_ACCESS_DENIED; ++ } ++ ++ *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK; ++ ++ /* Fall through. */ ++ ++ default: ++ return GRUB_ERR_NONE; ++ } ++} ++ ++static grub_err_t ++shim_lock_verifier_write (void *context __attribute__ ((unused)), void *buf, grub_size_t size) ++{ ++ grub_efi_shim_lock_protocol_t *sl = grub_efi_locate_protocol (&shim_lock_guid, 0); ++ ++ if (!sl) ++ return grub_error (GRUB_ERR_ACCESS_DENIED, N_("shim_lock protocol not found")); ++ ++ if (sl->verify (buf, size) != GRUB_EFI_SUCCESS) ++ return grub_error (GRUB_ERR_BAD_SIGNATURE, N_("bad shim signature")); ++ ++ return GRUB_ERR_NONE; ++} ++ ++struct grub_file_verifier shim_lock_verifier = ++ { ++ .name = "shim_lock_verifier", ++ .init = shim_lock_verifier_init, ++ .write = shim_lock_verifier_write ++ }; ++ ++void ++grub_shim_lock_verifier_setup (void) ++{ ++ grub_efi_shim_lock_protocol_t *sl = ++ grub_efi_locate_protocol (&shim_lock_guid, 0); ++ ++ if (!sl) ++ return; ++ ++ if (grub_efi_get_secureboot () != GRUB_EFI_SECUREBOOT_MODE_ENABLED) ++ return; ++ ++ grub_verifier_register (&shim_lock_verifier); ++} +diff --git a/include/grub/efi/sb.h b/include/grub/efi/sb.h +index a33d985..30c4335 100644 +--- a/include/grub/efi/sb.h ++++ b/include/grub/efi/sb.h +@@ -30,6 +30,9 @@ + #ifdef GRUB_MACHINE_EFI + extern grub_uint8_t + EXPORT_FUNC (grub_efi_get_secureboot) (void); ++ ++extern void ++grub_shim_lock_verifier_setup (void); + #else + static inline grub_uint8_t + grub_efi_get_secureboot (void) +diff --git a/po/POTFILES.in b/po/POTFILES.in +index 11c799f..49755d3 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -39,7 +39,6 @@ + ./grub-core/commands/efi/lsefimmap.c + ./grub-core/commands/efi/lsefisystab.c + ./grub-core/commands/efi/lssal.c +-./grub-core/commands/efi/shim_lock.c + ./grub-core/commands/efi/tpm.c + ./grub-core/commands/eval.c + ./grub-core/commands/extcmd.c +-- +2.14.2 + diff --git a/boot/grub2/0035-kern-Add-lockdown-support.patch b/boot/grub2/0035-kern-Add-lockdown-support.patch new file mode 100644 index 00000000000..268b6527859 --- /dev/null +++ b/boot/grub2/0035-kern-Add-lockdown-support.patch @@ -0,0 +1,763 @@ +From 578c95298bcc46e0296f4c786db64c2ff26ce2cc Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Mon, 28 Sep 2020 20:08:02 +0200 +Subject: [PATCH] kern: Add lockdown support + +When the GRUB starts on a secure boot platform, some commands can be +used to subvert the protections provided by the verification mechanism and +could lead to booting untrusted system. + +To prevent that situation, allow GRUB to be locked down. That way the code +may check if GRUB has been locked down and further restrict the commands +that are registered or what subset of their functionality could be used. + +The lockdown support adds the following components: + +* The grub_lockdown() function which can be used to lockdown GRUB if, + e.g., UEFI Secure Boot is enabled. + +* The grub_is_lockdown() function which can be used to check if the GRUB + was locked down. + +* A verifier that flags OS kernels, the GRUB modules, Device Trees and ACPI + tables as GRUB_VERIFY_FLAGS_DEFER_AUTH to defer verification to other + verifiers. These files are only successfully verified if another registered + verifier returns success. Otherwise, the whole verification process fails. + + For example, PE/COFF binaries verification can be done by the shim_lock + verifier which validates the signatures using the shim_lock protocol. + However, the verification is not deferred directly to the shim_lock verifier. + The shim_lock verifier is hooked into the verification process instead. + +* A set of grub_{command,extcmd}_lockdown functions that can be used by + code registering command handlers, to only register unsafe commands if + the GRUB has not been locked down. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + Makefile.in | 2 ++ + conf/Makefile.common | 2 ++ + docs/grub-dev.texi | 27 +++++++++++++++ + docs/grub.texi | 8 +++++ + grub-core/Makefile.am | 5 ++- + grub-core/Makefile.core.am | 14 ++++---- + grub-core/Makefile.core.def | 1 + + grub-core/Makefile.in | 73 ++++++++++++++++++++++++++++++----------- + grub-core/commands/extcmd.c | 23 +++++++++++++ + grub-core/kern/command.c | 24 ++++++++++++++ + grub-core/kern/lockdown.c | 80 +++++++++++++++++++++++++++++++++++++++++++++ + include/grub/command.h | 5 +++ + include/grub/extcmd.h | 7 ++++ + include/grub/lockdown.h | 44 +++++++++++++++++++++++++ + po/POTFILES.in | 2 ++ + 15 files changed, 290 insertions(+), 27 deletions(-) + create mode 100644 grub-core/kern/lockdown.c + create mode 100644 include/grub/lockdown.h + +diff --git a/Makefile.in b/Makefile.in +index e6a185b..ecb3278 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -2617,7 +2617,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER + CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' \ + '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' \ ++ '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \ + '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' \ ++ '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \ + '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \ +diff --git a/conf/Makefile.common b/conf/Makefile.common +index 6cd71cb..2a1a886 100644 +--- a/conf/Makefile.common ++++ b/conf/Makefile.common +@@ -84,7 +84,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER + CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_TERMINAL_LIST += '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' ++CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' ++CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \ +diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi +index ee389fd..635ec72 100644 +--- a/docs/grub-dev.texi ++++ b/docs/grub-dev.texi +@@ -86,6 +86,7 @@ This edition documents version @value{VERSION}. + * PFF2 Font File Format:: + * Graphical Menu Software Design:: + * Verifiers framework:: ++* Lockdown framework:: + * Copying This Manual:: Copying This Manual + * Index:: + @end menu +@@ -2086,6 +2087,32 @@ Optionally at the end of the file @samp{fini}, if it exists, is called with just + the context. If you return no error during any of @samp{init}, @samp{write} and + @samp{fini} then the file is considered as having succeded verification. + ++@node Lockdown framework ++@chapter Lockdown framework ++ ++The GRUB can be locked down, which is a restricted mode where some operations ++are not allowed. For instance, some commands cannot be used when the GRUB is ++locked down. ++ ++The function ++@code{grub_lockdown()} is used to lockdown GRUB and the function ++@code{grub_is_lockdown()} function can be used to check whether lockdown is ++enabled or not. When enabled, the function returns @samp{GRUB_LOCKDOWN_ENABLED} ++and @samp{GRUB_LOCKDOWN_DISABLED} when is not enabled. ++ ++The following functions can be used to register the commands that can only be ++used when lockdown is disabled: ++ ++@itemize ++ ++@item @code{grub_cmd_lockdown()} registers command which should not run when the ++GRUB is in lockdown mode. ++ ++@item @code{grub_cmd_lockdown()} registers extended command which should not run ++when the GRUB is in lockdown mode. ++ ++@end itemize ++ + @node Copying This Manual + @appendix Copying This Manual + +diff --git a/docs/grub.texi b/docs/grub.texi +index aefe032..a25459f 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -5581,6 +5581,7 @@ environment variables and commands are listed in the same order. + * Using digital signatures:: Booting digitally signed code + * UEFI secure boot and shim:: Booting digitally signed PE files + * Measured Boot:: Measuring boot components ++* Lockdown:: Lockdown when booting on a secure setup + @end menu + + @node Authentication and authorisation +@@ -5795,6 +5796,13 @@ into @file{core.img} in order to avoid a potential gap in measurement between + + Measured boot is currently only supported on EFI platforms. + ++@node Lockdown ++@section Lockdown when booting on a secure setup ++ ++The GRUB can be locked down when booted on a secure boot environment, for example ++if the UEFI secure boot is enabled. On a locked down configuration, the GRUB will ++be restricted and some operations/commands cannot be executed. ++ + @node Platform limitations + @chapter Platform limitations + +diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am +index cc6fc7d..30e23ad 100644 +--- a/grub-core/Makefile.am ++++ b/grub-core/Makefile.am +@@ -80,6 +80,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fs.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i18n.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/kernel.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/list.h ++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lockdown.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/misc.h + if COND_emu + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/compiler-rt-emu.h +@@ -377,8 +378,10 @@ command.lst: $(MARKER_FILES) + b=`basename $$pp .marker`; \ + sed -n \ + -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ ++ -e "/EXTCOMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ + -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ +- -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \ ++ -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \ ++ -e "/COMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \ + done) | sort -u > $@ + platform_DATA += command.lst + CLEANFILES += command.lst +diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am +index 5623a5e..fbfb627 100644 +--- a/grub-core/Makefile.core.am ++++ b/grub-core/Makefile.core.am +@@ -22378,7 +22378,7 @@ endif + if COND_i386_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22488,7 +22488,7 @@ endif + if COND_x86_64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/x86_64/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22664,7 +22664,7 @@ endif + if COND_ia64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = +-kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput +@@ -22730,7 +22730,7 @@ endif + if COND_arm_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/efi/startup.S +-kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22752,7 +22752,7 @@ endif + if COND_arm64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm64/efi/startup.S +-kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22796,7 +22796,7 @@ endif + if COND_riscv32_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22818,7 +22818,7 @@ endif + if COND_riscv64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def +index 4d380ed..ee8dc55 100644 +--- a/grub-core/Makefile.core.def ++++ b/grub-core/Makefile.core.def +@@ -205,6 +205,7 @@ kernel = { + efi = kern/acpi.c; + efi = kern/efi/acpi.c; + efi = kern/efi/sb.c; ++ efi = kern/lockdown.c; + i386_coreboot = kern/i386/pc/acpi.c; + i386_multiboot = kern/i386/pc/acpi.c; + i386_coreboot = kern/acpi.c; +diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in +index 09dc802..ac400ea 100644 +--- a/grub-core/Makefile.in ++++ b/grub-core/Makefile.in +@@ -10457,13 +10457,14 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + kern/arm64/cache_flush.S kern/arm64/dl.c \ + kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c \ + kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c \ +- kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c \ +- kern/time.c kern/generic/millisleep.c kern/command.c \ +- kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c \ +- kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c \ +- kern/misc.c kern/parser.c kern/partition.c \ +- kern/rescue_parser.c kern/rescue_reader.c kern/term.c \ +- kern/verifiers.c kern/arm/startup.S kern/arm/coreboot/init.c \ ++ kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c \ ++ kern/compiler-rt.c kern/mm.c kern/time.c \ ++ kern/generic/millisleep.c kern/command.c kern/corecmd.c \ ++ kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c \ ++ kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c \ ++ kern/parser.c kern/partition.c kern/rescue_parser.c \ ++ kern/rescue_reader.c kern/term.c kern/verifiers.c \ ++ kern/arm/startup.S kern/arm/coreboot/init.c \ + kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \ + lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \ + term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \ +@@ -10572,6 +10573,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -10646,6 +10648,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -10683,6 +10686,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -10884,6 +10888,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -11120,6 +11125,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -11287,6 +11293,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -11379,6 +11386,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \ ++@COND_arm64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ +@@ -15379,7 +15387,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER + CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' \ + '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' \ ++ '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \ + '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' \ ++ '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \ + '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)' + CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \ +@@ -16387,6 +16397,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \ + $(top_srcdir)/include/grub/i18n.h \ + $(top_srcdir)/include/grub/kernel.h \ + $(top_srcdir)/include/grub/list.h \ ++ $(top_srcdir)/include/grub/lockdown.h \ + $(top_srcdir)/include/grub/misc.h $(am__append_5794) \ + $(am__append_5795) $(top_srcdir)/include/grub/mm.h \ + $(top_srcdir)/include/grub/parser.h \ +@@ -25594,7 +25605,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_arm64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ + @COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ +-@COND_arm64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ ++@COND_arm64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ ++@COND_arm64_efi_TRUE@ kern/mm.c kern/time.c \ + @COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_arm64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ + @COND_arm64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +@@ -25645,7 +25657,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_efi_TRUE@ kern/efi/init.c kern/efi/mm.c \ + @COND_arm_efi_TRUE@ term/efi/console.c kern/acpi.c \ + @COND_arm_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \ +-@COND_arm_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ ++@COND_arm_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ ++@COND_arm_efi_TRUE@ kern/mm.c kern/time.c \ + @COND_arm_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_arm_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ + @COND_arm_efi_TRUE@ kern/dl.c kern/env.c kern/err.c kern/file.c \ +@@ -25725,7 +25738,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_i386_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ + @COND_i386_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ +-@COND_i386_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ ++@COND_i386_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ ++@COND_i386_efi_TRUE@ kern/mm.c kern/time.c \ + @COND_i386_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_i386_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ + @COND_i386_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +@@ -25843,7 +25857,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_ia64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_ia64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ + @COND_ia64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ +-@COND_ia64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ ++@COND_ia64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ ++@COND_ia64_efi_TRUE@ kern/mm.c kern/time.c \ + @COND_ia64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_ia64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ + @COND_ia64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +@@ -25956,8 +25971,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv32_efi_TRUE@ kern/efi/init.c kern/efi/mm.c \ + @COND_riscv32_efi_TRUE@ term/efi/console.c kern/acpi.c \ + @COND_riscv32_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \ +-@COND_riscv32_efi_TRUE@ kern/compiler-rt.c kern/mm.c \ +-@COND_riscv32_efi_TRUE@ kern/time.c kern/generic/millisleep.c \ ++@COND_riscv32_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ ++@COND_riscv32_efi_TRUE@ kern/mm.c kern/time.c \ ++@COND_riscv32_efi_TRUE@ kern/generic/millisleep.c \ + @COND_riscv32_efi_TRUE@ kern/command.c kern/corecmd.c \ + @COND_riscv32_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ + @COND_riscv32_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ +@@ -25974,9 +25990,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_riscv64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ + @COND_riscv64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ +-@COND_riscv64_efi_TRUE@ kern/efi/sb.c kern/compiler-rt.c \ +-@COND_riscv64_efi_TRUE@ kern/mm.c kern/time.c \ +-@COND_riscv64_efi_TRUE@ kern/generic/millisleep.c \ ++@COND_riscv64_efi_TRUE@ kern/efi/sb.c kern/lockdown.c \ ++@COND_riscv64_efi_TRUE@ kern/compiler-rt.c kern/mm.c \ ++@COND_riscv64_efi_TRUE@ kern/time.c kern/generic/millisleep.c \ + @COND_riscv64_efi_TRUE@ kern/command.c kern/corecmd.c \ + @COND_riscv64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ + @COND_riscv64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ +@@ -26022,8 +26038,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_x86_64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \ + @COND_x86_64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \ + @COND_x86_64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ +-@COND_x86_64_efi_TRUE@ kern/efi/sb.c kern/compiler-rt.c \ +-@COND_x86_64_efi_TRUE@ kern/mm.c kern/time.c \ ++@COND_x86_64_efi_TRUE@ kern/efi/sb.c kern/lockdown.c \ ++@COND_x86_64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ + @COND_x86_64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ + @COND_x86_64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ + @COND_x86_64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +@@ -27994,6 +28010,8 @@ kern/efi/kernel_exec-acpi.$(OBJEXT): kern/efi/$(am__dirstamp) \ + kern/efi/$(DEPDIR)/$(am__dirstamp) + kern/efi/kernel_exec-sb.$(OBJEXT): kern/efi/$(am__dirstamp) \ + kern/efi/$(DEPDIR)/$(am__dirstamp) ++kern/kernel_exec-lockdown.$(OBJEXT): kern/$(am__dirstamp) \ ++ kern/$(DEPDIR)/$(am__dirstamp) + kern/kernel_exec-compiler-rt.$(OBJEXT): kern/$(am__dirstamp) \ + kern/$(DEPDIR)/$(am__dirstamp) + kern/kernel_exec-mm.$(OBJEXT): kern/$(am__dirstamp) \ +@@ -30945,6 +30963,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-file.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-fs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-list.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-lockdown.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-main.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-misc.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-mm.Po@am__quote@ +@@ -35293,6 +35312,20 @@ kern/efi/kernel_exec-sb.obj: kern/efi/sb.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/efi/kernel_exec-sb.obj `if test -f 'kern/efi/sb.c'; then $(CYGPATH_W) 'kern/efi/sb.c'; else $(CYGPATH_W) '$(srcdir)/kern/efi/sb.c'; fi` + ++kern/kernel_exec-lockdown.o: kern/lockdown.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-lockdown.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-lockdown.Tpo -c -o kern/kernel_exec-lockdown.o `test -f 'kern/lockdown.c' || echo '$(srcdir)/'`kern/lockdown.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-lockdown.Tpo kern/$(DEPDIR)/kernel_exec-lockdown.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/lockdown.c' object='kern/kernel_exec-lockdown.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-lockdown.o `test -f 'kern/lockdown.c' || echo '$(srcdir)/'`kern/lockdown.c ++ ++kern/kernel_exec-lockdown.obj: kern/lockdown.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-lockdown.obj -MD -MP -MF kern/$(DEPDIR)/kernel_exec-lockdown.Tpo -c -o kern/kernel_exec-lockdown.obj `if test -f 'kern/lockdown.c'; then $(CYGPATH_W) 'kern/lockdown.c'; else $(CYGPATH_W) '$(srcdir)/kern/lockdown.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-lockdown.Tpo kern/$(DEPDIR)/kernel_exec-lockdown.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/lockdown.c' object='kern/kernel_exec-lockdown.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-lockdown.obj `if test -f 'kern/lockdown.c'; then $(CYGPATH_W) 'kern/lockdown.c'; else $(CYGPATH_W) '$(srcdir)/kern/lockdown.c'; fi` ++ + kern/kernel_exec-compiler-rt.o: kern/compiler-rt.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-compiler-rt.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo -c -o kern/kernel_exec-compiler-rt.o `test -f 'kern/compiler-rt.c' || echo '$(srcdir)/'`kern/compiler-rt.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo kern/$(DEPDIR)/kernel_exec-compiler-rt.Po +@@ -46650,8 +46683,10 @@ command.lst: $(MARKER_FILES) + b=`basename $$pp .marker`; \ + sed -n \ + -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ ++ -e "/EXTCOMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ + -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ +- -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \ ++ -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \ ++ -e "/COMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \ + done) | sort -u > $@ + + partmap.lst: $(MARKER_FILES) +diff --git a/grub-core/commands/extcmd.c b/grub-core/commands/extcmd.c +index 69574e2..90a5ca2 100644 +--- a/grub-core/commands/extcmd.c ++++ b/grub-core/commands/extcmd.c +@@ -19,6 +19,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -110,6 +111,28 @@ grub_register_extcmd (const char *name, grub_extcmd_func_t func, + summary, description, parser, 1); + } + ++static grub_err_t ++grub_extcmd_lockdown (grub_extcmd_context_t ctxt __attribute__ ((unused)), ++ int argc __attribute__ ((unused)), ++ char **argv __attribute__ ((unused))) ++{ ++ return grub_error (GRUB_ERR_ACCESS_DENIED, ++ N_("%s: the command is not allowed when lockdown is enforced"), ++ ctxt->extcmd->cmd->name); ++} ++ ++grub_extcmd_t ++grub_register_extcmd_lockdown (const char *name, grub_extcmd_func_t func, ++ grub_command_flags_t flags, const char *summary, ++ const char *description, ++ const struct grub_arg_option *parser) ++{ ++ if (grub_is_lockdown () == GRUB_LOCKDOWN_ENABLED) ++ func = grub_extcmd_lockdown; ++ ++ return grub_register_extcmd (name, func, flags, summary, description, parser); ++} ++ + void + grub_unregister_extcmd (grub_extcmd_t ext) + { +diff --git a/grub-core/kern/command.c b/grub-core/kern/command.c +index acd7218..4aabcd4 100644 +--- a/grub-core/kern/command.c ++++ b/grub-core/kern/command.c +@@ -17,6 +17,7 @@ + * along with GRUB. If not, see . + */ + ++#include + #include + #include + +@@ -77,6 +78,29 @@ grub_register_command_prio (const char *name, + return cmd; + } + ++static grub_err_t ++grub_cmd_lockdown (grub_command_t cmd __attribute__ ((unused)), ++ int argc __attribute__ ((unused)), ++ char **argv __attribute__ ((unused))) ++ ++{ ++ return grub_error (GRUB_ERR_ACCESS_DENIED, ++ N_("%s: the command is not allowed when lockdown is enforced"), ++ cmd->name); ++} ++ ++grub_command_t ++grub_register_command_lockdown (const char *name, ++ grub_command_func_t func, ++ const char *summary, ++ const char *description) ++{ ++ if (grub_is_lockdown () == GRUB_LOCKDOWN_ENABLED) ++ func = grub_cmd_lockdown; ++ ++ return grub_register_command_prio (name, func, summary, description, 0); ++} ++ + void + grub_unregister_command (grub_command_t cmd) + { +diff --git a/grub-core/kern/lockdown.c b/grub-core/kern/lockdown.c +new file mode 100644 +index 0000000..1e56c0b +--- /dev/null ++++ b/grub-core/kern/lockdown.c +@@ -0,0 +1,80 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2020 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++ ++static int lockdown = GRUB_LOCKDOWN_DISABLED; ++ ++static grub_err_t ++lockdown_verifier_init (grub_file_t io __attribute__ ((unused)), ++ enum grub_file_type type, ++ void **context __attribute__ ((unused)), ++ enum grub_verify_flags *flags) ++{ ++ *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION; ++ ++ switch (type & GRUB_FILE_TYPE_MASK) ++ { ++ case GRUB_FILE_TYPE_GRUB_MODULE: ++ case GRUB_FILE_TYPE_LINUX_KERNEL: ++ case GRUB_FILE_TYPE_MULTIBOOT_KERNEL: ++ case GRUB_FILE_TYPE_XEN_HYPERVISOR: ++ case GRUB_FILE_TYPE_BSD_KERNEL: ++ case GRUB_FILE_TYPE_XNU_KERNEL: ++ case GRUB_FILE_TYPE_PLAN9_KERNEL: ++ case GRUB_FILE_TYPE_NTLDR: ++ case GRUB_FILE_TYPE_TRUECRYPT: ++ case GRUB_FILE_TYPE_FREEDOS: ++ case GRUB_FILE_TYPE_PXECHAINLOADER: ++ case GRUB_FILE_TYPE_PCCHAINLOADER: ++ case GRUB_FILE_TYPE_COREBOOT_CHAINLOADER: ++ case GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE: ++ case GRUB_FILE_TYPE_ACPI_TABLE: ++ case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE: ++ *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH; ++ ++ /* Fall through. */ ++ ++ default: ++ return GRUB_ERR_NONE; ++ } ++} ++ ++struct grub_file_verifier lockdown_verifier = ++ { ++ .name = "lockdown_verifier", ++ .init = lockdown_verifier_init, ++ }; ++ ++void ++grub_lockdown (void) ++{ ++ lockdown = GRUB_LOCKDOWN_ENABLED; ++ ++ grub_verifier_register (&lockdown_verifier); ++} ++ ++int ++grub_is_lockdown (void) ++{ ++ return lockdown; ++} +diff --git a/include/grub/command.h b/include/grub/command.h +index eee4e84..2a6f7f8 100644 +--- a/include/grub/command.h ++++ b/include/grub/command.h +@@ -86,6 +86,11 @@ EXPORT_FUNC(grub_register_command_prio) (const char *name, + const char *summary, + const char *description, + int prio); ++grub_command_t ++EXPORT_FUNC(grub_register_command_lockdown) (const char *name, ++ grub_command_func_t func, ++ const char *summary, ++ const char *description); + void EXPORT_FUNC(grub_unregister_command) (grub_command_t cmd); + + static inline grub_command_t +diff --git a/include/grub/extcmd.h b/include/grub/extcmd.h +index 19fe592..fe9248b 100644 +--- a/include/grub/extcmd.h ++++ b/include/grub/extcmd.h +@@ -62,6 +62,13 @@ grub_extcmd_t EXPORT_FUNC(grub_register_extcmd) (const char *name, + const char *description, + const struct grub_arg_option *parser); + ++grub_extcmd_t EXPORT_FUNC(grub_register_extcmd_lockdown) (const char *name, ++ grub_extcmd_func_t func, ++ grub_command_flags_t flags, ++ const char *summary, ++ const char *description, ++ const struct grub_arg_option *parser); ++ + grub_extcmd_t EXPORT_FUNC(grub_register_extcmd_prio) (const char *name, + grub_extcmd_func_t func, + grub_command_flags_t flags, +diff --git a/include/grub/lockdown.h b/include/grub/lockdown.h +new file mode 100644 +index 0000000..40531fa +--- /dev/null ++++ b/include/grub/lockdown.h +@@ -0,0 +1,44 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2020 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ */ ++ ++#ifndef GRUB_LOCKDOWN_H ++#define GRUB_LOCKDOWN_H 1 ++ ++#include ++ ++#define GRUB_LOCKDOWN_DISABLED 0 ++#define GRUB_LOCKDOWN_ENABLED 1 ++ ++#ifdef GRUB_MACHINE_EFI ++extern void ++EXPORT_FUNC (grub_lockdown) (void); ++extern int ++EXPORT_FUNC (grub_is_lockdown) (void); ++#else ++static inline void ++grub_lockdown (void) ++{ ++} ++ ++static inline int ++grub_is_lockdown (void) ++{ ++ return GRUB_LOCKDOWN_DISABLED; ++} ++#endif ++#endif /* ! GRUB_LOCKDOWN_H */ +diff --git a/po/POTFILES.in b/po/POTFILES.in +index 49755d3..5e26845 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -309,6 +309,7 @@ + ./grub-core/kern/ieee1275/mmap.c + ./grub-core/kern/ieee1275/openfw.c + ./grub-core/kern/list.c ++./grub-core/kern/lockdown.c + ./grub-core/kern/main.c + ./grub-core/kern/mips/arc/init.c + ./grub-core/kern/mips/dl.c +@@ -1207,6 +1208,7 @@ + ./include/grub/linux.h + ./include/grub/list.h + ./include/grub/loader.h ++./include/grub/lockdown.h + ./include/grub/lvm.h + ./include/grub/macho.h + ./include/grub/machoload.h +-- +2.14.2 + diff --git a/boot/grub2/0036-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch b/boot/grub2/0036-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch new file mode 100644 index 00000000000..e630d332eb2 --- /dev/null +++ b/boot/grub2/0036-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch @@ -0,0 +1,57 @@ +From d90367471779c240e002e62edfb6b31fc85b4908 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 2 Feb 2021 19:59:48 +0100 +Subject: [PATCH] kern/lockdown: Set a variable if the GRUB is locked down + +It may be useful for scripts to determine whether the GRUB is locked +down or not. Add the lockdown variable which is set to "y" when the GRUB +is locked down. + +Suggested-by: Dimitri John Ledkov +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 3 +++ + grub-core/kern/lockdown.c | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/docs/grub.texi b/docs/grub.texi +index a25459f..bdbb329 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -5803,6 +5803,9 @@ The GRUB can be locked down when booted on a secure boot environment, for exampl + if the UEFI secure boot is enabled. On a locked down configuration, the GRUB will + be restricted and some operations/commands cannot be executed. + ++The @samp{lockdown} variable is set to @samp{y} when the GRUB is locked down. ++Otherwise it does not exit. ++ + @node Platform limitations + @chapter Platform limitations + +diff --git a/grub-core/kern/lockdown.c b/grub-core/kern/lockdown.c +index 1e56c0b..0bc70fd 100644 +--- a/grub-core/kern/lockdown.c ++++ b/grub-core/kern/lockdown.c +@@ -18,6 +18,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -71,6 +72,9 @@ grub_lockdown (void) + lockdown = GRUB_LOCKDOWN_ENABLED; + + grub_verifier_register (&lockdown_verifier); ++ ++ grub_env_set ("lockdown", "y"); ++ grub_env_export ("lockdown"); + } + + int +-- +2.14.2 + diff --git a/boot/grub2/0037-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch b/boot/grub2/0037-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch new file mode 100644 index 00000000000..b55772de9a0 --- /dev/null +++ b/boot/grub2/0037-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch @@ -0,0 +1,49 @@ +From 98b00a403cbf2ba6833d1ac0499871b27a08eb77 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Mon, 28 Sep 2020 20:08:29 +0200 +Subject: [PATCH] efi: Lockdown the GRUB when the UEFI Secure Boot is enabled + +If the UEFI Secure Boot is enabled then the GRUB must be locked down +to prevent executing code that can potentially be used to subvert its +verification mechanisms. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/efi/init.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c +index b683bec..1333465 100644 +--- a/grub-core/kern/efi/init.c ++++ b/grub-core/kern/efi/init.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -40,8 +41,15 @@ grub_efi_init (void) + /* Initialize the memory management system. */ + grub_efi_mm_init (); + +- /* Register the shim_lock verifier if UEFI Secure Boot is enabled. */ +- grub_shim_lock_verifier_setup (); ++ /* ++ * Lockdown the GRUB and register the shim_lock verifier ++ * if the UEFI Secure Boot is enabled. ++ */ ++ if (grub_efi_get_secureboot () == GRUB_EFI_SECUREBOOT_MODE_ENABLED) ++ { ++ grub_lockdown (); ++ grub_shim_lock_verifier_setup (); ++ } + + efi_call_4 (grub_efi_system_table->boot_services->set_watchdog_timer, + 0, 0, 0, NULL); +-- +2.14.2 + diff --git a/boot/grub2/0038-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch b/boot/grub2/0038-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch new file mode 100644 index 00000000000..c551822bf0d --- /dev/null +++ b/boot/grub2/0038-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch @@ -0,0 +1,232 @@ +From 8f73052885892bc0dbc01e297f79d7cf4925e491 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Mon, 28 Sep 2020 20:08:33 +0200 +Subject: [PATCH] efi: Use grub_is_lockdown() instead of hardcoding a disabled + modules list + +Now the GRUB can check if it has been locked down and this can be used to +prevent executing commands that can be utilized to circumvent the UEFI +Secure Boot mechanisms. So, instead of hardcoding a list of modules that +have to be disabled, prevent the usage of commands that can be dangerous. + +This not only allows the commands to be disabled on other platforms, but +also properly separate the concerns. Since the shim_lock verifier logic +should be only about preventing to run untrusted binaries and not about +defining these kind of policies. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 15 +++++++++------ + grub-core/commands/i386/wrmsr.c | 5 +++-- + grub-core/commands/iorw.c | 19 ++++++++++--------- + grub-core/commands/memrw.c | 19 ++++++++++--------- + grub-core/kern/efi/sb.c | 41 ----------------------------------------- + 5 files changed, 32 insertions(+), 67 deletions(-) + +diff --git a/docs/grub.texi b/docs/grub.texi +index bdbb329..bbe60a4 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -5256,6 +5256,9 @@ only applies to the particular cpu/core/thread that runs the command. + Also, if you specify a reserved or unimplemented MSR address, it will + cause a general protection exception (which is not currently being handled) + and the system will reboot. ++ ++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}). ++ This is done to prevent subverting various security mechanisms. + @end deffn + + @node xen_hypervisor +@@ -5752,12 +5755,12 @@ boot and the shim. This functionality is provided by the shim_lock verifier. It + is built into the @file{core.img} and is registered if the UEFI secure boot is + enabled. + +-All modules not stored in the @file{core.img} and the ACPI tables for the +-@command{acpi} command have to be signed, e.g. using PGP. Additionally, the +-@command{iorw}, the @command{memrw} and the @command{wrmsr} commands are +-prohibited if the UEFI secure boot is enabled. This is done due to +-security reasons. All above mentioned requirements are enforced by the +-shim_lock verifier logic. ++All GRUB modules not stored in the @file{core.img}, OS kernels, ACPI tables, ++Device Trees, etc. have to be signed, e.g, using PGP. Additionally, the commands ++that can be used to subvert the UEFI secure boot mechanism, such as @command{iorw} ++and @command{memrw} will not be available when the UEFI secure boot is enabled. ++This is done for security reasons and are enforced by the GRUB Lockdown mechanism ++(@pxref{Lockdown}). + + @node Measured Boot + @section Measuring boot components +diff --git a/grub-core/commands/i386/wrmsr.c b/grub-core/commands/i386/wrmsr.c +index 9c5e510..56a29c2 100644 +--- a/grub-core/commands/i386/wrmsr.c ++++ b/grub-core/commands/i386/wrmsr.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -83,8 +84,8 @@ grub_cmd_msr_write (grub_command_t cmd __attribute__ ((unused)), int argc, char + + GRUB_MOD_INIT(wrmsr) + { +- cmd_write = grub_register_command ("wrmsr", grub_cmd_msr_write, N_("ADDR VALUE"), +- N_("Write a value to a CPU model specific register.")); ++ cmd_write = grub_register_command_lockdown ("wrmsr", grub_cmd_msr_write, N_("ADDR VALUE"), ++ N_("Write a value to a CPU model specific register.")); + } + + GRUB_MOD_FINI(wrmsr) +diff --git a/grub-core/commands/iorw.c b/grub-core/commands/iorw.c +index a0c164e..584baec 100644 +--- a/grub-core/commands/iorw.c ++++ b/grub-core/commands/iorw.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -131,17 +132,17 @@ GRUB_MOD_INIT(memrw) + N_("PORT"), N_("Read 32-bit value from PORT."), + options); + cmd_write_byte = +- grub_register_command ("outb", grub_cmd_write, +- N_("PORT VALUE [MASK]"), +- N_("Write 8-bit VALUE to PORT.")); ++ grub_register_command_lockdown ("outb", grub_cmd_write, ++ N_("PORT VALUE [MASK]"), ++ N_("Write 8-bit VALUE to PORT.")); + cmd_write_word = +- grub_register_command ("outw", grub_cmd_write, +- N_("PORT VALUE [MASK]"), +- N_("Write 16-bit VALUE to PORT.")); ++ grub_register_command_lockdown ("outw", grub_cmd_write, ++ N_("PORT VALUE [MASK]"), ++ N_("Write 16-bit VALUE to PORT.")); + cmd_write_dword = +- grub_register_command ("outl", grub_cmd_write, +- N_("ADDR VALUE [MASK]"), +- N_("Write 32-bit VALUE to PORT.")); ++ grub_register_command_lockdown ("outl", grub_cmd_write, ++ N_("ADDR VALUE [MASK]"), ++ N_("Write 32-bit VALUE to PORT.")); + } + + GRUB_MOD_FINI(memrw) +diff --git a/grub-core/commands/memrw.c b/grub-core/commands/memrw.c +index 98769ea..d401a6d 100644 +--- a/grub-core/commands/memrw.c ++++ b/grub-core/commands/memrw.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -133,17 +134,17 @@ GRUB_MOD_INIT(memrw) + N_("ADDR"), N_("Read 32-bit value from ADDR."), + options); + cmd_write_byte = +- grub_register_command ("write_byte", grub_cmd_write, +- N_("ADDR VALUE [MASK]"), +- N_("Write 8-bit VALUE to ADDR.")); ++ grub_register_command_lockdown ("write_byte", grub_cmd_write, ++ N_("ADDR VALUE [MASK]"), ++ N_("Write 8-bit VALUE to ADDR.")); + cmd_write_word = +- grub_register_command ("write_word", grub_cmd_write, +- N_("ADDR VALUE [MASK]"), +- N_("Write 16-bit VALUE to ADDR.")); ++ grub_register_command_lockdown ("write_word", grub_cmd_write, ++ N_("ADDR VALUE [MASK]"), ++ N_("Write 16-bit VALUE to ADDR.")); + cmd_write_dword = +- grub_register_command ("write_dword", grub_cmd_write, +- N_("ADDR VALUE [MASK]"), +- N_("Write 32-bit VALUE to ADDR.")); ++ grub_register_command_lockdown ("write_dword", grub_cmd_write, ++ N_("ADDR VALUE [MASK]"), ++ N_("Write 32-bit VALUE to ADDR.")); + } + + GRUB_MOD_FINI(memrw) +diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c +index ce3b7f6..5d7210a 100644 +--- a/grub-core/kern/efi/sb.c ++++ b/grub-core/kern/efi/sb.c +@@ -30,9 +30,6 @@ + + static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID; + +-/* List of modules which cannot be loaded if UEFI secure boot mode is enabled. */ +-static const char * const disabled_mods[] = {"iorw", "memrw", NULL}; +- + /* + * Determine whether we're in secure boot mode. + * +@@ -121,53 +118,15 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)), + void **context __attribute__ ((unused)), + enum grub_verify_flags *flags) + { +- const char *b, *e; +- int i; +- + *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION; + + switch (type & GRUB_FILE_TYPE_MASK) + { +- case GRUB_FILE_TYPE_GRUB_MODULE: +- /* Establish GRUB module name. */ +- b = grub_strrchr (io->name, '/'); +- e = grub_strrchr (io->name, '.'); +- +- b = b ? (b + 1) : io->name; +- e = e ? e : io->name + grub_strlen (io->name); +- e = (e > b) ? e : io->name + grub_strlen (io->name); +- +- for (i = 0; disabled_mods[i]; i++) +- if (!grub_strncmp (b, disabled_mods[i], grub_strlen (b) - grub_strlen (e))) +- { +- grub_error (GRUB_ERR_ACCESS_DENIED, +- N_("module cannot be loaded in UEFI secure boot mode: %s"), +- io->name); +- return GRUB_ERR_ACCESS_DENIED; +- } +- +- /* Fall through. */ +- +- case GRUB_FILE_TYPE_ACPI_TABLE: +- case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE: +- *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH; +- +- return GRUB_ERR_NONE; +- + case GRUB_FILE_TYPE_LINUX_KERNEL: + case GRUB_FILE_TYPE_MULTIBOOT_KERNEL: + case GRUB_FILE_TYPE_BSD_KERNEL: + case GRUB_FILE_TYPE_XNU_KERNEL: + case GRUB_FILE_TYPE_PLAN9_KERNEL: +- for (i = 0; disabled_mods[i]; i++) +- if (grub_dl_get (disabled_mods[i])) +- { +- grub_error (GRUB_ERR_ACCESS_DENIED, +- N_("cannot boot due to dangerous module in memory: %s"), +- disabled_mods[i]); +- return GRUB_ERR_ACCESS_DENIED; +- } +- + *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK; + + /* Fall through. */ +-- +2.14.2 + diff --git a/boot/grub2/0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch b/boot/grub2/0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch new file mode 100644 index 00000000000..b258b517b7a --- /dev/null +++ b/boot/grub2/0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch @@ -0,0 +1,76 @@ +From 3e8e4c0549240fa209acffceb473e1e509b50c95 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Mon, 28 Sep 2020 20:08:41 +0200 +Subject: [PATCH] acpi: Don't register the acpi command when locked down +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The command is not allowed when lockdown is enforced. Otherwise an +attacker can instruct the GRUB to load an SSDT table to overwrite +the kernel lockdown configuration and later load and execute +unsigned code. + +Fixes: CVE-2020-14372 + +Reported-by: Máté Kukri +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 5 +++++ + grub-core/commands/acpi.c | 15 ++++++++------- + 2 files changed, 13 insertions(+), 7 deletions(-) + +diff --git a/docs/grub.texi b/docs/grub.texi +index bbe60a4..98592d3 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -3986,6 +3986,11 @@ Normally, this command will replace the Root System Description Pointer + (RSDP) in the Extended BIOS Data Area to point to the new tables. If the + @option{--no-ebda} option is used, the new tables will be known only to + GRUB, but may be used by GRUB's EFI emulation. ++ ++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}). ++ Otherwise an attacker can instruct the GRUB to load an SSDT table to ++ overwrite the kernel lockdown configuration and later load and execute ++ unsigned code. + @end deffn + + +diff --git a/grub-core/commands/acpi.c b/grub-core/commands/acpi.c +index 5a1499a..1215f2a 100644 +--- a/grub-core/commands/acpi.c ++++ b/grub-core/commands/acpi.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #ifdef GRUB_MACHINE_EFI + #include +@@ -775,13 +776,13 @@ static grub_extcmd_t cmd; + + GRUB_MOD_INIT(acpi) + { +- cmd = grub_register_extcmd ("acpi", grub_cmd_acpi, 0, +- N_("[-1|-2] [--exclude=TABLE1,TABLE2|" +- "--load-only=TABLE1,TABLE2] FILE1" +- " [FILE2] [...]"), +- N_("Load host ACPI tables and tables " +- "specified by arguments."), +- options); ++ cmd = grub_register_extcmd_lockdown ("acpi", grub_cmd_acpi, 0, ++ N_("[-1|-2] [--exclude=TABLE1,TABLE2|" ++ "--load-only=TABLE1,TABLE2] FILE1" ++ " [FILE2] [...]"), ++ N_("Load host ACPI tables and tables " ++ "specified by arguments."), ++ options); + } + + GRUB_MOD_FINI(acpi) +-- +2.14.2 + diff --git a/boot/grub2/0040-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch b/boot/grub2/0040-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch new file mode 100644 index 00000000000..e7376e6a5d0 --- /dev/null +++ b/boot/grub2/0040-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch @@ -0,0 +1,70 @@ +From d298b41f90cbf1f2e5a10e29daa1fc92ddee52c9 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Wed, 14 Oct 2020 16:33:42 +0200 +Subject: [PATCH] mmap: Don't register cutmem and badram commands when lockdown + is enforced + +The cutmem and badram commands can be used to remove EFI memory regions +and potentially disable the UEFI Secure Boot. Prevent the commands to be +registered if the GRUB is locked down. + +Fixes: CVE-2020-27779 + +Reported-by: Teddy Reed +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 4 ++++ + grub-core/mmap/mmap.c | 13 +++++++------ + 2 files changed, 11 insertions(+), 6 deletions(-) + +diff --git a/docs/grub.texi b/docs/grub.texi +index 98592d3..f2fe149 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -4051,6 +4051,10 @@ this page is to be filtered. This syntax makes it easy to represent patterns + that are often result of memory damage, due to physical distribution of memory + cells. + ++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}). ++ This prevents removing EFI memory regions to potentially subvert the ++ security mechanisms provided by the UEFI secure boot. ++ + @node blocklist + @subsection blocklist + +diff --git a/grub-core/mmap/mmap.c b/grub-core/mmap/mmap.c +index 57b4e9a..7ebf32e 100644 +--- a/grub-core/mmap/mmap.c ++++ b/grub-core/mmap/mmap.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -534,12 +535,12 @@ static grub_command_t cmd, cmd_cut; + + GRUB_MOD_INIT(mmap) + { +- cmd = grub_register_command ("badram", grub_cmd_badram, +- N_("ADDR1,MASK1[,ADDR2,MASK2[,...]]"), +- N_("Declare memory regions as faulty (badram).")); +- cmd_cut = grub_register_command ("cutmem", grub_cmd_cutmem, +- N_("FROM[K|M|G] TO[K|M|G]"), +- N_("Remove any memory regions in specified range.")); ++ cmd = grub_register_command_lockdown ("badram", grub_cmd_badram, ++ N_("ADDR1,MASK1[,ADDR2,MASK2[,...]]"), ++ N_("Declare memory regions as faulty (badram).")); ++ cmd_cut = grub_register_command_lockdown ("cutmem", grub_cmd_cutmem, ++ N_("FROM[K|M|G] TO[K|M|G]"), ++ N_("Remove any memory regions in specified range.")); + + } + +-- +2.14.2 + diff --git a/boot/grub2/0041-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch b/boot/grub2/0041-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch new file mode 100644 index 00000000000..1980d6d97d0 --- /dev/null +++ b/boot/grub2/0041-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch @@ -0,0 +1,105 @@ +From 468a5699b249fe6816b4e7e86c5dc9d325c9b09e Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Wed, 24 Feb 2021 09:00:05 +0100 +Subject: [PATCH] commands: Restrict commands that can load BIOS or DT blobs + when locked down + +There are some more commands that should be restricted when the GRUB is +locked down. Following is the list of commands and reasons to restrict: + + * fakebios: creates BIOS-like structures for backward compatibility with + existing OSes. This should not be allowed when locked down. + + * loadbios: reads a BIOS dump from storage and loads it. This action + should not be allowed when locked down. + + * devicetree: loads a Device Tree blob and passes it to the OS. It replaces + any Device Tree provided by the firmware. This also should + not be allowed when locked down. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 3 +++ + grub-core/commands/efi/loadbios.c | 16 ++++++++-------- + grub-core/loader/arm/linux.c | 6 +++--- + grub-core/loader/efi/fdt.c | 4 ++-- + 4 files changed, 16 insertions(+), 13 deletions(-) + +diff --git a/docs/grub.texi b/docs/grub.texi +index f2fe149..79f58c5 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -4235,6 +4235,9 @@ hour, minute, and second unchanged. + Load a device tree blob (.dtb) from a filesystem, for later use by a Linux + kernel. Does not perform merging with any device tree supplied by firmware, + but rather replaces it completely. ++ ++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}). ++ This is done to prevent subverting various security mechanisms. + @ref{GNU/Linux}. + @end deffn + +diff --git a/grub-core/commands/efi/loadbios.c b/grub-core/commands/efi/loadbios.c +index d41d521..5c7725f 100644 +--- a/grub-core/commands/efi/loadbios.c ++++ b/grub-core/commands/efi/loadbios.c +@@ -205,14 +205,14 @@ static grub_command_t cmd_fakebios, cmd_loadbios; + + GRUB_MOD_INIT(loadbios) + { +- cmd_fakebios = grub_register_command ("fakebios", grub_cmd_fakebios, +- 0, N_("Create BIOS-like structures for" +- " backward compatibility with" +- " existing OS.")); +- +- cmd_loadbios = grub_register_command ("loadbios", grub_cmd_loadbios, +- N_("BIOS_DUMP [INT10_DUMP]"), +- N_("Load BIOS dump.")); ++ cmd_fakebios = grub_register_command_lockdown ("fakebios", grub_cmd_fakebios, ++ 0, N_("Create BIOS-like structures for" ++ " backward compatibility with" ++ " existing OS.")); ++ ++ cmd_loadbios = grub_register_command_lockdown ("loadbios", grub_cmd_loadbios, ++ N_("BIOS_DUMP [INT10_DUMP]"), ++ N_("Load BIOS dump.")); + } + + GRUB_MOD_FINI(loadbios) +diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c +index d70c174..ed23dc7 100644 +--- a/grub-core/loader/arm/linux.c ++++ b/grub-core/loader/arm/linux.c +@@ -493,9 +493,9 @@ GRUB_MOD_INIT (linux) + 0, N_("Load Linux.")); + cmd_initrd = grub_register_command ("initrd", grub_cmd_initrd, + 0, N_("Load initrd.")); +- cmd_devicetree = grub_register_command ("devicetree", grub_cmd_devicetree, +- /* TRANSLATORS: DTB stands for device tree blob. */ +- 0, N_("Load DTB file.")); ++ cmd_devicetree = grub_register_command_lockdown ("devicetree", grub_cmd_devicetree, ++ /* TRANSLATORS: DTB stands for device tree blob. */ ++ 0, N_("Load DTB file.")); + my_mod = mod; + current_fdt = (const void *) grub_arm_firmware_get_boot_data (); + machine_type = grub_arm_firmware_get_machine_type (); +diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c +index ee9c559..003d07c 100644 +--- a/grub-core/loader/efi/fdt.c ++++ b/grub-core/loader/efi/fdt.c +@@ -165,8 +165,8 @@ static grub_command_t cmd_devicetree; + GRUB_MOD_INIT (fdt) + { + cmd_devicetree = +- grub_register_command ("devicetree", grub_cmd_devicetree, 0, +- N_("Load DTB file.")); ++ grub_register_command_lockdown ("devicetree", grub_cmd_devicetree, 0, ++ N_("Load DTB file.")); + } + + GRUB_MOD_FINI (fdt) +-- +2.14.2 + diff --git a/boot/grub2/0042-commands-setpci-Restrict-setpci-command-when-locked-.patch b/boot/grub2/0042-commands-setpci-Restrict-setpci-command-when-locked-.patch new file mode 100644 index 00000000000..dcddfe19576 --- /dev/null +++ b/boot/grub2/0042-commands-setpci-Restrict-setpci-command-when-locked-.patch @@ -0,0 +1,37 @@ +From 58b77d4069823b44c5fa916fa8ddfc9c4cd51e02 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Wed, 24 Feb 2021 22:59:59 +0100 +Subject: [PATCH] commands/setpci: Restrict setpci command when locked down + +This command can set PCI devices register values, which makes it dangerous +in a locked down configuration. Restrict it so can't be used on this setup. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/setpci.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/grub-core/commands/setpci.c b/grub-core/commands/setpci.c +index d5bc97d..fa2ba7d 100644 +--- a/grub-core/commands/setpci.c ++++ b/grub-core/commands/setpci.c +@@ -329,10 +329,10 @@ static grub_extcmd_t cmd; + + GRUB_MOD_INIT(setpci) + { +- cmd = grub_register_extcmd ("setpci", grub_cmd_setpci, 0, +- N_("[-s POSITION] [-d DEVICE] [-v VAR] " +- "REGISTER[=VALUE[:MASK]]"), +- N_("Manipulate PCI devices."), options); ++ cmd = grub_register_extcmd_lockdown ("setpci", grub_cmd_setpci, 0, ++ N_("[-s POSITION] [-d DEVICE] [-v VAR] " ++ "REGISTER[=VALUE[:MASK]]"), ++ N_("Manipulate PCI devices."), options); + } + + GRUB_MOD_FINI(setpci) +-- +2.14.2 + diff --git a/boot/grub2/0043-commands-hdparm-Restrict-hdparm-command-when-locked-.patch b/boot/grub2/0043-commands-hdparm-Restrict-hdparm-command-when-locked-.patch new file mode 100644 index 00000000000..3c26c8604a5 --- /dev/null +++ b/boot/grub2/0043-commands-hdparm-Restrict-hdparm-command-when-locked-.patch @@ -0,0 +1,35 @@ +From 5c97492a29c6063567b65ed1a069f5e6f4e211f0 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Wed, 24 Feb 2021 12:59:29 +0100 +Subject: [PATCH] commands/hdparm: Restrict hdparm command when locked down + +The command can be used to get/set ATA disk parameters. Some of these can +be dangerous since change the disk behavior. Restrict it when locked down. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/hdparm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/grub-core/commands/hdparm.c b/grub-core/commands/hdparm.c +index d3fa966..2e2319e 100644 +--- a/grub-core/commands/hdparm.c ++++ b/grub-core/commands/hdparm.c +@@ -436,9 +436,9 @@ static grub_extcmd_t cmd; + + GRUB_MOD_INIT(hdparm) + { +- cmd = grub_register_extcmd ("hdparm", grub_cmd_hdparm, 0, +- N_("[OPTIONS] DISK"), +- N_("Get/set ATA disk parameters."), options); ++ cmd = grub_register_extcmd_lockdown ("hdparm", grub_cmd_hdparm, 0, ++ N_("[OPTIONS] DISK"), ++ N_("Get/set ATA disk parameters."), options); + } + + GRUB_MOD_FINI(hdparm) +-- +2.14.2 + diff --git a/boot/grub2/0044-gdb-Restrict-GDB-access-when-locked-down.patch b/boot/grub2/0044-gdb-Restrict-GDB-access-when-locked-down.patch new file mode 100644 index 00000000000..c671ad88200 --- /dev/null +++ b/boot/grub2/0044-gdb-Restrict-GDB-access-when-locked-down.patch @@ -0,0 +1,62 @@ +From 508270838998f151a82e9c13e7cb8a470a2dc23d Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Wed, 24 Feb 2021 15:03:26 +0100 +Subject: [PATCH] gdb: Restrict GDB access when locked down + +The gdbstub* commands allow to start and control a GDB stub running on +local host that can be used to connect from a remote debugger. Restrict +this functionality when the GRUB is locked down. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/gdb/gdb.c | 32 ++++++++++++++++++-------------- + 1 file changed, 18 insertions(+), 14 deletions(-) + +diff --git a/grub-core/gdb/gdb.c b/grub-core/gdb/gdb.c +index 847a1e1..1818cb6 100644 +--- a/grub-core/gdb/gdb.c ++++ b/grub-core/gdb/gdb.c +@@ -75,20 +75,24 @@ static grub_command_t cmd, cmd_stop, cmd_break; + GRUB_MOD_INIT (gdb) + { + grub_gdb_idtinit (); +- cmd = grub_register_command ("gdbstub", grub_cmd_gdbstub, +- N_("PORT"), +- /* TRANSLATORS: GDB stub is a small part of +- GDB functionality running on local host +- which allows remote debugger to +- connect to it. */ +- N_("Start GDB stub on given port")); +- cmd_break = grub_register_command ("gdbstub_break", grub_cmd_gdb_break, +- /* TRANSLATORS: this refers to triggering +- a breakpoint so that the user will land +- into GDB. */ +- 0, N_("Break into GDB")); +- cmd_stop = grub_register_command ("gdbstub_stop", grub_cmd_gdbstop, +- 0, N_("Stop GDB stub")); ++ cmd = grub_register_command_lockdown ("gdbstub", grub_cmd_gdbstub, ++ N_("PORT"), ++ /* ++ * TRANSLATORS: GDB stub is a small part of ++ * GDB functionality running on local host ++ * which allows remote debugger to ++ * connect to it. ++ */ ++ N_("Start GDB stub on given port")); ++ cmd_break = grub_register_command_lockdown ("gdbstub_break", grub_cmd_gdb_break, ++ /* ++ * TRANSLATORS: this refers to triggering ++ * a breakpoint so that the user will land ++ * into GDB. ++ */ ++ 0, N_("Break into GDB")); ++ cmd_stop = grub_register_command_lockdown ("gdbstub_stop", grub_cmd_gdbstop, ++ 0, N_("Stop GDB stub")); + } + + GRUB_MOD_FINI (gdb) +-- +2.14.2 + diff --git a/boot/grub2/0045-loader-xnu-Don-t-allow-loading-extension-and-package.patch b/boot/grub2/0045-loader-xnu-Don-t-allow-loading-extension-and-package.patch new file mode 100644 index 00000000000..6548c0d6e21 --- /dev/null +++ b/boot/grub2/0045-loader-xnu-Don-t-allow-loading-extension-and-package.patch @@ -0,0 +1,61 @@ +From 9c5565135f12400a925ee901b25984e7af4442f5 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Wed, 24 Feb 2021 14:44:38 +0100 +Subject: [PATCH] loader/xnu: Don't allow loading extension and packages when + locked down + +The shim_lock verifier validates the XNU kernels but no its extensions +and packages. Prevent these to be loaded when the GRUB is locked down. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/loader/xnu.c | 31 +++++++++++++++++-------------- + 1 file changed, 17 insertions(+), 14 deletions(-) + +diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c +index 9ae4ceb..44fd5a9 100644 +--- a/grub-core/loader/xnu.c ++++ b/grub-core/loader/xnu.c +@@ -1485,20 +1485,23 @@ GRUB_MOD_INIT(xnu) + N_("Load XNU image.")); + cmd_kernel64 = grub_register_command ("xnu_kernel64", grub_cmd_xnu_kernel64, + 0, N_("Load 64-bit XNU image.")); +- cmd_mkext = grub_register_command ("xnu_mkext", grub_cmd_xnu_mkext, 0, +- N_("Load XNU extension package.")); +- cmd_kext = grub_register_command ("xnu_kext", grub_cmd_xnu_kext, 0, +- N_("Load XNU extension.")); +- cmd_kextdir = grub_register_command ("xnu_kextdir", grub_cmd_xnu_kextdir, +- /* TRANSLATORS: OSBundleRequired is a +- variable name in xnu extensions +- manifests. It behaves mostly like +- GNU/Linux runlevels. +- */ +- N_("DIRECTORY [OSBundleRequired]"), +- /* TRANSLATORS: There are many extensions +- in extension directory. */ +- N_("Load XNU extension directory.")); ++ cmd_mkext = grub_register_command_lockdown ("xnu_mkext", grub_cmd_xnu_mkext, 0, ++ N_("Load XNU extension package.")); ++ cmd_kext = grub_register_command_lockdown ("xnu_kext", grub_cmd_xnu_kext, 0, ++ N_("Load XNU extension.")); ++ cmd_kextdir = grub_register_command_lockdown ("xnu_kextdir", grub_cmd_xnu_kextdir, ++ /* ++ * TRANSLATORS: OSBundleRequired is ++ * a variable name in xnu extensions ++ * manifests. It behaves mostly like ++ * GNU/Linux runlevels. ++ */ ++ N_("DIRECTORY [OSBundleRequired]"), ++ /* ++ * TRANSLATORS: There are many extensions ++ * in extension directory. ++ */ ++ N_("Load XNU extension directory.")); + cmd_ramdisk = grub_register_command ("xnu_ramdisk", grub_cmd_xnu_ramdisk, 0, + /* TRANSLATORS: ramdisk here isn't identifier. It can be translated. */ + N_("Load XNU ramdisk. " +-- +2.14.2 + diff --git a/boot/grub2/0046-docs-Document-the-cutmem-command.patch b/boot/grub2/0046-docs-Document-the-cutmem-command.patch new file mode 100644 index 00000000000..978aeabc949 --- /dev/null +++ b/boot/grub2/0046-docs-Document-the-cutmem-command.patch @@ -0,0 +1,65 @@ +From f05e79a0143beb2d9a482a3ebf4fe0ce76778122 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Sat, 7 Nov 2020 01:03:18 +0100 +Subject: [PATCH] docs: Document the cutmem command + +The command is not present in the docs/grub.texi user documentation. + +Reported-by: Daniel Kiper +Signed-off-by: Javier Martinez Canillas +Signed-off-by: Daniel Kiper +Reviewed-by: Javier Martinez Canillas +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/docs/grub.texi b/docs/grub.texi +index 79f58c5..8518cc0 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -3892,6 +3892,7 @@ you forget a command, you can run the command @command{help} + * cpuid:: Check for CPU features + * crc:: Compute or check CRC32 checksums + * cryptomount:: Mount a crypto device ++* cutmem:: Remove memory regions + * date:: Display or set current date and time + * devicetree:: Load a device tree blob + * distrust:: Remove a pubkey from trusted keys +@@ -4051,6 +4052,8 @@ this page is to be filtered. This syntax makes it easy to represent patterns + that are often result of memory damage, due to physical distribution of memory + cells. + ++The command is similar to @command{cutmem} command. ++ + Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}). + This prevents removing EFI memory regions to potentially subvert the + security mechanisms provided by the UEFI secure boot. +@@ -4214,6 +4217,24 @@ GRUB suports devices encrypted using LUKS and geli. Note that necessary modules + be used. + @end deffn + ++@node cutmem ++@subsection cutmem ++ ++@deffn Command cutmem from[K|M|G] to[K|M|G] ++Remove any memory regions in specified range. ++@end deffn ++ ++This command notifies the memory manager that specified regions of RAM ought to ++be filtered out. This remains in effect after a payload kernel has been loaded ++by GRUB, as long as the loaded kernel obtains its memory map from GRUB. Kernels ++that support this include Linux, GNU Mach, the kernel of FreeBSD and Multiboot ++kernels in general. ++ ++The command is similar to @command{badram} command. ++ ++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}). ++ This prevents removing EFI memory regions to potentially subvert the ++ security mechanisms provided by the UEFI secure boot. + + @node date + @subsection date +-- +2.14.2 + diff --git a/boot/grub2/0047-dl-Only-allow-unloading-modules-that-are-not-depende.patch b/boot/grub2/0047-dl-Only-allow-unloading-modules-that-are-not-depende.patch new file mode 100644 index 00000000000..3bb02ad4fb6 --- /dev/null +++ b/boot/grub2/0047-dl-Only-allow-unloading-modules-that-are-not-depende.patch @@ -0,0 +1,87 @@ +From 7630ec5397fe418276b360f9011934b8c034936c Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 29 Sep 2020 14:08:55 +0200 +Subject: [PATCH] dl: Only allow unloading modules that are not dependencies + +When a module is attempted to be removed its reference counter is always +decremented. This means that repeated rmmod invocations will cause the +module to be unloaded even if another module depends on it. + +This may lead to a use-after-free scenario allowing an attacker to execute +arbitrary code and by-pass the UEFI Secure Boot protection. + +While being there, add the extern keyword to some function declarations in +that header file. + +Fixes: CVE-2020-25632 + +Reported-by: Chris Coulson +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/minicmd.c | 7 +++++-- + grub-core/kern/dl.c | 9 +++++++++ + include/grub/dl.h | 8 +++++--- + 3 files changed, 19 insertions(+), 5 deletions(-) + +diff --git a/grub-core/commands/minicmd.c b/grub-core/commands/minicmd.c +index 6bbce31..fa49893 100644 +--- a/grub-core/commands/minicmd.c ++++ b/grub-core/commands/minicmd.c +@@ -140,8 +140,11 @@ grub_mini_cmd_rmmod (struct grub_command *cmd __attribute__ ((unused)), + if (grub_dl_is_persistent (mod)) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "cannot unload persistent module"); + +- if (grub_dl_unref (mod) <= 0) +- grub_dl_unload (mod); ++ if (grub_dl_ref_count (mod) > 1) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "cannot unload referenced module"); ++ ++ grub_dl_unref (mod); ++ grub_dl_unload (mod); + + return 0; + } +diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c +index 48eb5e7..48f8a79 100644 +--- a/grub-core/kern/dl.c ++++ b/grub-core/kern/dl.c +@@ -549,6 +549,15 @@ grub_dl_unref (grub_dl_t mod) + return --mod->ref_count; + } + ++int ++grub_dl_ref_count (grub_dl_t mod) ++{ ++ if (mod == NULL) ++ return 0; ++ ++ return mod->ref_count; ++} ++ + static void + grub_dl_flush_cache (grub_dl_t mod) + { +diff --git a/include/grub/dl.h b/include/grub/dl.h +index f03c035..b3753c9 100644 +--- a/include/grub/dl.h ++++ b/include/grub/dl.h +@@ -203,9 +203,11 @@ grub_dl_t EXPORT_FUNC(grub_dl_load) (const char *name); + grub_dl_t grub_dl_load_core (void *addr, grub_size_t size); + grub_dl_t EXPORT_FUNC(grub_dl_load_core_noinit) (void *addr, grub_size_t size); + int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod); +-void grub_dl_unload_unneeded (void); +-int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod); +-int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod); ++extern void grub_dl_unload_unneeded (void); ++extern int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod); ++extern int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod); ++extern int EXPORT_FUNC(grub_dl_ref_count) (grub_dl_t mod); ++ + extern grub_dl_t EXPORT_VAR(grub_dl_head); + + #ifndef GRUB_UTIL +-- +2.14.2 + diff --git a/boot/grub2/0048-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch b/boot/grub2/0048-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch new file mode 100644 index 00000000000..6a056e52a67 --- /dev/null +++ b/boot/grub2/0048-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch @@ -0,0 +1,116 @@ +From 128c16a682034263eb519c89bc0934eeb6fa8cfa Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Fri, 11 Dec 2020 19:19:21 +0100 +Subject: [PATCH] usb: Avoid possible out-of-bound accesses caused by malicious + devices + +The maximum number of configurations and interfaces are fixed but there is +no out-of-bound checking to prevent a malicious USB device to report large +values for these and cause accesses outside the arrays' memory. + +Fixes: CVE-2020-25647 + +Reported-by: Joseph Tartaro +Reported-by: Ilja Van Sprundel +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/bus/usb/usb.c | 15 ++++++++++++--- + include/grub/usb.h | 10 +++++++--- + 2 files changed, 19 insertions(+), 6 deletions(-) + +diff --git a/grub-core/bus/usb/usb.c b/grub-core/bus/usb/usb.c +index 8da5e4c..7cb3cc2 100644 +--- a/grub-core/bus/usb/usb.c ++++ b/grub-core/bus/usb/usb.c +@@ -75,6 +75,9 @@ grub_usb_controller_iterate (grub_usb_controller_iterate_hook_t hook, + grub_usb_err_t + grub_usb_clear_halt (grub_usb_device_t dev, int endpoint) + { ++ if (endpoint >= GRUB_USB_MAX_TOGGLE) ++ return GRUB_USB_ERR_BADDEVICE; ++ + dev->toggle[endpoint] = 0; + return grub_usb_control_msg (dev, (GRUB_USB_REQTYPE_OUT + | GRUB_USB_REQTYPE_STANDARD +@@ -134,10 +137,10 @@ grub_usb_device_initialize (grub_usb_device_t dev) + return err; + descdev = &dev->descdev; + +- for (i = 0; i < 8; i++) ++ for (i = 0; i < GRUB_USB_MAX_CONF; i++) + dev->config[i].descconf = NULL; + +- if (descdev->configcnt == 0) ++ if (descdev->configcnt == 0 || descdev->configcnt > GRUB_USB_MAX_CONF) + { + err = GRUB_USB_ERR_BADDEVICE; + goto fail; +@@ -172,6 +175,12 @@ grub_usb_device_initialize (grub_usb_device_t dev) + /* Skip the configuration descriptor. */ + pos = dev->config[i].descconf->length; + ++ if (dev->config[i].descconf->numif > GRUB_USB_MAX_IF) ++ { ++ err = GRUB_USB_ERR_BADDEVICE; ++ goto fail; ++ } ++ + /* Read all interfaces. */ + for (currif = 0; currif < dev->config[i].descconf->numif; currif++) + { +@@ -217,7 +226,7 @@ grub_usb_device_initialize (grub_usb_device_t dev) + + fail: + +- for (i = 0; i < 8; i++) ++ for (i = 0; i < GRUB_USB_MAX_CONF; i++) + grub_free (dev->config[i].descconf); + + return err; +diff --git a/include/grub/usb.h b/include/grub/usb.h +index 512ae1d..6475c55 100644 +--- a/include/grub/usb.h ++++ b/include/grub/usb.h +@@ -23,6 +23,10 @@ + #include + #include + ++#define GRUB_USB_MAX_CONF 8 ++#define GRUB_USB_MAX_IF 32 ++#define GRUB_USB_MAX_TOGGLE 256 ++ + typedef struct grub_usb_device *grub_usb_device_t; + typedef struct grub_usb_controller *grub_usb_controller_t; + typedef struct grub_usb_controller_dev *grub_usb_controller_dev_t; +@@ -167,7 +171,7 @@ struct grub_usb_configuration + struct grub_usb_desc_config *descconf; + + /* Interfaces associated to this configuration. */ +- struct grub_usb_interface interf[32]; ++ struct grub_usb_interface interf[GRUB_USB_MAX_IF]; + }; + + struct grub_usb_hub_port +@@ -191,7 +195,7 @@ struct grub_usb_device + struct grub_usb_controller controller; + + /* Device configurations (after opening the device). */ +- struct grub_usb_configuration config[8]; ++ struct grub_usb_configuration config[GRUB_USB_MAX_CONF]; + + /* Device address. */ + int addr; +@@ -203,7 +207,7 @@ struct grub_usb_device + int initialized; + + /* Data toggle values (used for bulk transfers only). */ +- int toggle[256]; ++ int toggle[GRUB_USB_MAX_TOGGLE]; + + /* Used by libusb wrapper. Schedulded for removal. */ + void *data; +-- +2.14.2 + diff --git a/boot/grub2/0049-mmap-Fix-memory-leak-when-iterating-over-mapped-memo.patch b/boot/grub2/0049-mmap-Fix-memory-leak-when-iterating-over-mapped-memo.patch new file mode 100644 index 00000000000..f443f190279 --- /dev/null +++ b/boot/grub2/0049-mmap-Fix-memory-leak-when-iterating-over-mapped-memo.patch @@ -0,0 +1,40 @@ +From 8cb2848f9699642a698af84b12ba187cab722031 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 3 Dec 2020 14:39:45 +0000 +Subject: [PATCH] mmap: Fix memory leak when iterating over mapped memory + +When returning from grub_mmap_iterate() the memory allocated to present +is not being released causing it to leak. + +Fixes: CID 96655 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/mmap/mmap.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/grub-core/mmap/mmap.c b/grub-core/mmap/mmap.c +index 7ebf32e..8bf235f 100644 +--- a/grub-core/mmap/mmap.c ++++ b/grub-core/mmap/mmap.c +@@ -270,6 +270,7 @@ grub_mmap_iterate (grub_memory_hook_t hook, void *hook_data) + hook_data)) + { + grub_free (ctx.scanline_events); ++ grub_free (present); + return GRUB_ERR_NONE; + } + +@@ -282,6 +283,7 @@ grub_mmap_iterate (grub_memory_hook_t hook, void *hook_data) + } + + grub_free (ctx.scanline_events); ++ grub_free (present); + return GRUB_ERR_NONE; + } + +-- +2.14.2 + diff --git a/boot/grub2/0050-net-net-Fix-possible-dereference-to-of-a-NULL-pointe.patch b/boot/grub2/0050-net-net-Fix-possible-dereference-to-of-a-NULL-pointe.patch new file mode 100644 index 00000000000..5a8cc6d191e --- /dev/null +++ b/boot/grub2/0050-net-net-Fix-possible-dereference-to-of-a-NULL-pointe.patch @@ -0,0 +1,40 @@ +From 03f2515ae0c503406f1a99a2178405049c6555db Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 27 Nov 2020 15:10:26 +0000 +Subject: [PATCH] net/net: Fix possible dereference to of a NULL pointer + +It is always possible that grub_zalloc() could fail, so we should check for +a NULL return. Otherwise we run the risk of dereferencing a NULL pointer. + +Fixes: CID 296221 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/net/net.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index 38f19df..7c2cdf2 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -86,8 +86,13 @@ grub_net_link_layer_add_address (struct grub_net_card *card, + + /* Add sender to cache table. */ + if (card->link_layer_table == NULL) +- card->link_layer_table = grub_zalloc (LINK_LAYER_CACHE_SIZE +- * sizeof (card->link_layer_table[0])); ++ { ++ card->link_layer_table = grub_zalloc (LINK_LAYER_CACHE_SIZE ++ * sizeof (card->link_layer_table[0])); ++ if (card->link_layer_table == NULL) ++ return; ++ } ++ + entry = &(card->link_layer_table[card->new_ll_entry]); + entry->avail = 1; + grub_memcpy (&entry->ll_address, ll, sizeof (entry->ll_address)); +-- +2.14.2 + diff --git a/boot/grub2/0051-net-tftp-Fix-dangling-memory-pointer.patch b/boot/grub2/0051-net-tftp-Fix-dangling-memory-pointer.patch new file mode 100644 index 00000000000..cc3983ea9c0 --- /dev/null +++ b/boot/grub2/0051-net-tftp-Fix-dangling-memory-pointer.patch @@ -0,0 +1,34 @@ +From 0cb838b281a68b536a09681f9557ea6a7ac5da7a Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 19 Feb 2021 17:12:23 +0000 +Subject: [PATCH] net/tftp: Fix dangling memory pointer + +The static code analysis tool, Parfait, reported that the valid of +file->data was left referencing memory that was freed by the call to +grub_free(data) where data was initialized from file->data. + +To ensure that there is no unintentional access to this memory +referenced by file->data we should set the pointer to NULL. + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/net/tftp.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c +index b4297bc..c106704 100644 +--- a/grub-core/net/tftp.c ++++ b/grub-core/net/tftp.c +@@ -406,6 +406,7 @@ tftp_close (struct grub_file *file) + grub_net_udp_close (data->sock); + } + grub_free (data); ++ file->data = NULL; + return GRUB_ERR_NONE; + } + +-- +2.14.2 + diff --git a/boot/grub2/0052-kern-parser-Fix-resource-leak-if-argc-0.patch b/boot/grub2/0052-kern-parser-Fix-resource-leak-if-argc-0.patch new file mode 100644 index 00000000000..dd01092d29c --- /dev/null +++ b/boot/grub2/0052-kern-parser-Fix-resource-leak-if-argc-0.patch @@ -0,0 +1,51 @@ +From d06161b035dde4769199ad65aa0a587a5920012b Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 22 Jan 2021 12:32:41 +0000 +Subject: [PATCH] kern/parser: Fix resource leak if argc == 0 + +After processing the command-line yet arriving at the point where we are +setting argv, we are allocating memory, even if argc == 0, which makes +no sense since we never put anything into the allocated argv. + +The solution is to simply return that we've successfully processed the +arguments but that argc == 0, and also ensure that argv is NULL when +we're not allocating anything in it. + +There are only 2 callers of this function, and both are handling a zero +value in argc assuming nothing is allocated in argv. + +Fixes: CID 96680 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/parser.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c +index 619db31..d1cf061 100644 +--- a/grub-core/kern/parser.c ++++ b/grub-core/kern/parser.c +@@ -146,6 +146,7 @@ grub_parser_split_cmdline (const char *cmdline, + int i; + + *argc = 0; ++ *argv = NULL; + do + { + if (!rd || !*rd) +@@ -207,6 +208,10 @@ grub_parser_split_cmdline (const char *cmdline, + (*argc)++; + } + ++ /* If there are no args, then we're done. */ ++ if (!*argc) ++ return 0; ++ + /* Reserve memory for the return values. */ + args = grub_malloc (bp - buffer); + if (!args) +-- +2.14.2 + diff --git a/boot/grub2/0053-kern-efi-Fix-memory-leak-on-failure.patch b/boot/grub2/0053-kern-efi-Fix-memory-leak-on-failure.patch new file mode 100644 index 00000000000..e2c49979600 --- /dev/null +++ b/boot/grub2/0053-kern-efi-Fix-memory-leak-on-failure.patch @@ -0,0 +1,31 @@ +From ed286ceba6015d37a9304f04602451c47bf195d7 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 5 Nov 2020 10:15:25 +0000 +Subject: [PATCH] kern/efi: Fix memory leak on failure + +Free the memory allocated to name before returning on failure. + +Fixes: CID 296222 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/efi/efi.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c +index 9cfd88d..4fc14d6 100644 +--- a/grub-core/kern/efi/efi.c ++++ b/grub-core/kern/efi/efi.c +@@ -388,6 +388,7 @@ grub_efi_get_filename (grub_efi_device_path_t *dp0) + { + grub_error (GRUB_ERR_OUT_OF_RANGE, + "malformed EFI Device Path node has length=%d", len); ++ grub_free (name); + return NULL; + } + +-- +2.14.2 + diff --git a/boot/grub2/0054-kern-efi-mm-Fix-possible-NULL-pointer-dereference.patch b/boot/grub2/0054-kern-efi-mm-Fix-possible-NULL-pointer-dereference.patch new file mode 100644 index 00000000000..04ef9fc686c --- /dev/null +++ b/boot/grub2/0054-kern-efi-mm-Fix-possible-NULL-pointer-dereference.patch @@ -0,0 +1,66 @@ +From 6aee4bfd6973c714056fb7b56890b8d524e94ee1 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 11 Dec 2020 15:03:13 +0000 +Subject: [PATCH] kern/efi/mm: Fix possible NULL pointer dereference + +The model of grub_efi_get_memory_map() is that if memory_map is NULL, +then the purpose is to discover how much memory should be allocated to +it for the subsequent call. + +The problem here is that with grub_efi_is_finished set to 1, there is no +check at all that the function is being called with a non-NULL memory_map. + +While this MAY be true, we shouldn't assume it. + +The solution to this is to behave as expected, and if memory_map is NULL, +then don't try to use it and allow memory_map_size to be filled in, and +return 0 as is done later in the code if the buffer is too small (or NULL). + +Additionally, drop unneeded ret = 1. + +Fixes: CID 96632 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/efi/mm.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c +index b02fab1..5afcef7 100644 +--- a/grub-core/kern/efi/mm.c ++++ b/grub-core/kern/efi/mm.c +@@ -328,15 +328,24 @@ grub_efi_get_memory_map (grub_efi_uintn_t *memory_map_size, + if (grub_efi_is_finished) + { + int ret = 1; +- if (*memory_map_size < finish_mmap_size) ++ ++ if (memory_map != NULL) + { +- grub_memcpy (memory_map, finish_mmap_buf, *memory_map_size); +- ret = 0; ++ if (*memory_map_size < finish_mmap_size) ++ { ++ grub_memcpy (memory_map, finish_mmap_buf, *memory_map_size); ++ ret = 0; ++ } ++ else ++ grub_memcpy (memory_map, finish_mmap_buf, finish_mmap_size); + } + else + { +- grub_memcpy (memory_map, finish_mmap_buf, finish_mmap_size); +- ret = 1; ++ /* ++ * Incomplete, no buffer to copy into, same as ++ * GRUB_EFI_BUFFER_TOO_SMALL below. ++ */ ++ ret = 0; + } + *memory_map_size = finish_mmap_size; + if (map_key) +-- +2.14.2 + diff --git a/boot/grub2/0055-gnulib-regexec-Resolve-unused-variable.patch b/boot/grub2/0055-gnulib-regexec-Resolve-unused-variable.patch new file mode 100644 index 00000000000..99e13546624 --- /dev/null +++ b/boot/grub2/0055-gnulib-regexec-Resolve-unused-variable.patch @@ -0,0 +1,90 @@ +From a983d36bd9178d377d2072fd4b11c635fdc404b4 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Wed, 21 Oct 2020 14:41:27 +0000 +Subject: [PATCH] gnulib/regexec: Resolve unused variable + +This is a really minor issue where a variable is being assigned to but +not checked before it is overwritten again. + +The reason for this issue is that we are not building with DEBUG set and +this in turn means that the assert() that reads the value of the +variable match_last is being processed out. + +The solution, move the assignment to match_last in to an ifdef DEBUG too. + +Fixes: CID 292459 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + Makefile.in | 1 + + conf/Makefile.extra-dist | 1 + + grub-core/lib/gnulib-patches/fix-unused-value.patch | 14 ++++++++++++++ + grub-core/lib/gnulib/regexec.c | 4 ++++ + 4 files changed, 20 insertions(+) + create mode 100644 grub-core/lib/gnulib-patches/fix-unused-value.patch + +diff --git a/Makefile.in b/Makefile.in +index ecb3278..e6b287b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -2742,6 +2742,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \ + grub-core/gensyminfo.sh.in grub-core/gensymlist.sh \ + grub-core/genemuinit.sh grub-core/genemuinitheader.sh \ + grub-core/lib/gnulib-patches/fix-null-deref.patch \ ++ grub-core/lib/gnulib-patches/fix-unused-value.patch \ + grub-core/lib/gnulib-patches/fix-width.patch \ + grub-core/lib/gnulib-patches/no-abort.patch \ + grub-core/lib/libgcrypt \ +diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist +index 46c4e95..9b01152 100644 +--- a/conf/Makefile.extra-dist ++++ b/conf/Makefile.extra-dist +@@ -29,6 +29,7 @@ EXTRA_DIST += grub-core/genemuinit.sh + EXTRA_DIST += grub-core/genemuinitheader.sh + + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch ++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/no-abort.patch + +diff --git a/grub-core/lib/gnulib-patches/fix-unused-value.patch b/grub-core/lib/gnulib-patches/fix-unused-value.patch +new file mode 100644 +index 0000000..ba51f1b +--- /dev/null ++++ b/grub-core/lib/gnulib-patches/fix-unused-value.patch +@@ -0,0 +1,14 @@ ++--- a/lib/regexec.c 2020-10-21 14:25:35.310195912 +0000 +++++ b/lib/regexec.c 2020-10-21 14:32:07.961765604 +0000 ++@@ -828,7 +828,11 @@ ++ break; ++ if (__glibc_unlikely (err != REG_NOMATCH)) ++ goto free_return; +++#ifdef DEBUG +++ /* Only used for assertion below when DEBUG is set, otherwise +++ it will be over-written when we loop around. */ ++ match_last = -1; +++#endif ++ } ++ else ++ break; /* We found a match. */ +diff --git a/grub-core/lib/gnulib/regexec.c b/grub-core/lib/gnulib/regexec.c +index 21cf791..98a25f5 100644 +--- a/grub-core/lib/gnulib/regexec.c ++++ b/grub-core/lib/gnulib/regexec.c +@@ -828,6 +828,10 @@ re_search_internal (const regex_t *preg, const char *string, Idx length, + break; + if (__glibc_unlikely (err != REG_NOMATCH)) + goto free_return; ++#ifdef DEBUG ++ /* Only used for assertion below when DEBUG is set, otherwise ++ it will be over-written when we loop around. */ ++#endif + match_last = -1; + } + else +-- +2.14.2 + diff --git a/boot/grub2/0056-gnulib-regcomp-Fix-uninitialized-token-structure.patch b/boot/grub2/0056-gnulib-regcomp-Fix-uninitialized-token-structure.patch new file mode 100644 index 00000000000..24645615d09 --- /dev/null +++ b/boot/grub2/0056-gnulib-regcomp-Fix-uninitialized-token-structure.patch @@ -0,0 +1,82 @@ +From 75c3d3cec4f408848f575d6d5e30a95bd6313db0 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 22 Oct 2020 13:54:06 +0000 +Subject: [PATCH] gnulib/regcomp: Fix uninitialized token structure + +The code is assuming that the value of br_token.constraint was +initialized to zero when it wasn't. + +While some compilers will ensure that, not all do, so it is better to +fix this explicitly than leave it to chance. + +Fixes: CID 73749 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + Makefile.in | 1 + + conf/Makefile.extra-dist | 1 + + grub-core/lib/gnulib-patches/fix-uninit-structure.patch | 11 +++++++++++ + grub-core/lib/gnulib/regcomp.c | 2 +- + 4 files changed, 14 insertions(+), 1 deletion(-) + create mode 100644 grub-core/lib/gnulib-patches/fix-uninit-structure.patch + +diff --git a/Makefile.in b/Makefile.in +index e6b287b..d58a7d7 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -2742,6 +2742,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \ + grub-core/gensyminfo.sh.in grub-core/gensymlist.sh \ + grub-core/genemuinit.sh grub-core/genemuinitheader.sh \ + grub-core/lib/gnulib-patches/fix-null-deref.patch \ ++ grub-core/lib/gnulib-patches/fix-uninit-structure.patch \ + grub-core/lib/gnulib-patches/fix-unused-value.patch \ + grub-core/lib/gnulib-patches/fix-width.patch \ + grub-core/lib/gnulib-patches/no-abort.patch \ +diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist +index 9b01152..9e55458 100644 +--- a/conf/Makefile.extra-dist ++++ b/conf/Makefile.extra-dist +@@ -29,6 +29,7 @@ EXTRA_DIST += grub-core/genemuinit.sh + EXTRA_DIST += grub-core/genemuinitheader.sh + + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch ++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/no-abort.patch +diff --git a/grub-core/lib/gnulib-patches/fix-uninit-structure.patch b/grub-core/lib/gnulib-patches/fix-uninit-structure.patch +new file mode 100644 +index 0000000..7b4d9f6 +--- /dev/null ++++ b/grub-core/lib/gnulib-patches/fix-uninit-structure.patch +@@ -0,0 +1,11 @@ ++--- a/lib/regcomp.c 2020-10-22 13:49:06.770168928 +0000 +++++ b/lib/regcomp.c 2020-10-22 13:50:37.026528298 +0000 ++@@ -3662,7 +3662,7 @@ ++ Idx alloc = 0; ++ #endif /* not RE_ENABLE_I18N */ ++ reg_errcode_t ret; ++- re_token_t br_token; +++ re_token_t br_token = {0}; ++ bin_tree_t *tree; ++ ++ sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); +diff --git a/grub-core/lib/gnulib/regcomp.c b/grub-core/lib/gnulib/regcomp.c +index fe7dfcb..2545d3e 100644 +--- a/grub-core/lib/gnulib/regcomp.c ++++ b/grub-core/lib/gnulib/regcomp.c +@@ -3662,7 +3662,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, + Idx alloc = 0; + #endif /* not RE_ENABLE_I18N */ + reg_errcode_t ret; +- re_token_t br_token; ++ re_token_t br_token = {0}; + bin_tree_t *tree; + + sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); +-- +2.14.2 + diff --git a/boot/grub2/0057-gnulib-argp-help-Fix-dereference-of-a-possibly-NULL-.patch b/boot/grub2/0057-gnulib-argp-help-Fix-dereference-of-a-possibly-NULL-.patch new file mode 100644 index 00000000000..34c630bf079 --- /dev/null +++ b/boot/grub2/0057-gnulib-argp-help-Fix-dereference-of-a-possibly-NULL-.patch @@ -0,0 +1,82 @@ +From 3a37bf120a9194c373257c70175cdb5b337bc107 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Wed, 28 Oct 2020 14:43:01 +0000 +Subject: [PATCH] gnulib/argp-help: Fix dereference of a possibly NULL state + +All other instances of call to __argp_failure() where there is +a dgettext() call is first checking whether state is NULL before +attempting to dereference it to get the root_argp->argp_domain. + +Fixes: CID 292436 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + Makefile.in | 1 + + conf/Makefile.extra-dist | 1 + + grub-core/lib/gnulib-patches/fix-null-state-deref.patch | 12 ++++++++++++ + grub-core/lib/gnulib/argp-help.c | 3 ++- + 4 files changed, 16 insertions(+), 1 deletion(-) + create mode 100644 grub-core/lib/gnulib-patches/fix-null-state-deref.patch + +diff --git a/Makefile.in b/Makefile.in +index d58a7d7..812b7c2 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -2742,6 +2742,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \ + grub-core/gensyminfo.sh.in grub-core/gensymlist.sh \ + grub-core/genemuinit.sh grub-core/genemuinitheader.sh \ + grub-core/lib/gnulib-patches/fix-null-deref.patch \ ++ grub-core/lib/gnulib-patches/fix-null-state-deref.patch \ + grub-core/lib/gnulib-patches/fix-uninit-structure.patch \ + grub-core/lib/gnulib-patches/fix-unused-value.patch \ + grub-core/lib/gnulib-patches/fix-width.patch \ +diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist +index 9e55458..96d7e69 100644 +--- a/conf/Makefile.extra-dist ++++ b/conf/Makefile.extra-dist +@@ -29,6 +29,7 @@ EXTRA_DIST += grub-core/genemuinit.sh + EXTRA_DIST += grub-core/genemuinitheader.sh + + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch ++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch +diff --git a/grub-core/lib/gnulib-patches/fix-null-state-deref.patch b/grub-core/lib/gnulib-patches/fix-null-state-deref.patch +new file mode 100644 +index 0000000..813ec09 +--- /dev/null ++++ b/grub-core/lib/gnulib-patches/fix-null-state-deref.patch +@@ -0,0 +1,12 @@ ++--- a/lib/argp-help.c 2020-10-28 14:32:19.189215988 +0000 +++++ b/lib/argp-help.c 2020-10-28 14:38:21.204673940 +0000 ++@@ -145,7 +145,8 @@ ++ if (*(int *)((char *)upptr + up->uparams_offs) >= upptr->rmargin) ++ { ++ __argp_failure (state, 0, 0, ++- dgettext (state->root_argp->argp_domain, +++ dgettext (state == NULL ? NULL +++ : state->root_argp->argp_domain, ++ "\ ++ ARGP_HELP_FMT: %s value is less than or equal to %s"), ++ "rmargin", up->name); +diff --git a/grub-core/lib/gnulib/argp-help.c b/grub-core/lib/gnulib/argp-help.c +index 5d8f451..c75568c 100644 +--- a/grub-core/lib/gnulib/argp-help.c ++++ b/grub-core/lib/gnulib/argp-help.c +@@ -145,7 +145,8 @@ validate_uparams (const struct argp_state *state, struct uparams *upptr) + if (*(int *)((char *)upptr + up->uparams_offs) >= upptr->rmargin) + { + __argp_failure (state, 0, 0, +- dgettext (state->root_argp->argp_domain, ++ dgettext (state == NULL ? NULL ++ : state->root_argp->argp_domain, + "\ + ARGP_HELP_FMT: %s value is less than or equal to %s"), + "rmargin", up->name); +-- +2.14.2 + diff --git a/boot/grub2/0058-gnulib-regexec-Fix-possible-null-dereference.patch b/boot/grub2/0058-gnulib-regexec-Fix-possible-null-dereference.patch new file mode 100644 index 00000000000..0ced54ae96f --- /dev/null +++ b/boot/grub2/0058-gnulib-regexec-Fix-possible-null-dereference.patch @@ -0,0 +1,83 @@ +From 0b7f347638153e403ee2dd518af3ce26f4f99647 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 5 Nov 2020 10:57:14 +0000 +Subject: [PATCH] gnulib/regexec: Fix possible null-dereference + +It appears to be possible that the mctx->state_log field may be NULL, +and the name of this function, clean_state_log_if_needed(), suggests +that it should be checking that it is valid to be cleaned before +assuming that it does. + +Fixes: CID 86720 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + Makefile.in | 1 + + conf/Makefile.extra-dist | 1 + + grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch | 12 ++++++++++++ + grub-core/lib/gnulib/regexec.c | 3 +++ + 4 files changed, 17 insertions(+) + create mode 100644 grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch + +diff --git a/Makefile.in b/Makefile.in +index 812b7c2..d9da6e9 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -2743,6 +2743,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \ + grub-core/genemuinit.sh grub-core/genemuinitheader.sh \ + grub-core/lib/gnulib-patches/fix-null-deref.patch \ + grub-core/lib/gnulib-patches/fix-null-state-deref.patch \ ++ grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch \ + grub-core/lib/gnulib-patches/fix-uninit-structure.patch \ + grub-core/lib/gnulib-patches/fix-unused-value.patch \ + grub-core/lib/gnulib-patches/fix-width.patch \ +diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist +index 96d7e69..d27d3a9 100644 +--- a/conf/Makefile.extra-dist ++++ b/conf/Makefile.extra-dist +@@ -30,6 +30,7 @@ EXTRA_DIST += grub-core/genemuinitheader.sh + + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch ++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch +diff --git a/grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch b/grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch +new file mode 100644 +index 0000000..db6dac9 +--- /dev/null ++++ b/grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch +@@ -0,0 +1,12 @@ ++--- a/lib/regexec.c 2020-10-21 14:25:35.310195912 +0000 +++++ b/lib/regexec.c 2020-11-05 10:55:09.621542984 +0000 ++@@ -1692,6 +1692,9 @@ ++ { ++ Idx top = mctx->state_log_top; ++ +++ if (mctx->state_log == NULL) +++ return REG_NOERROR; +++ ++ if ((next_state_log_idx >= mctx->input.bufs_len ++ && mctx->input.bufs_len < mctx->input.len) ++ || (next_state_log_idx >= mctx->input.valid_len +diff --git a/grub-core/lib/gnulib/regexec.c b/grub-core/lib/gnulib/regexec.c +index 98a25f5..df97667 100644 +--- a/grub-core/lib/gnulib/regexec.c ++++ b/grub-core/lib/gnulib/regexec.c +@@ -1696,6 +1696,9 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx) + { + Idx top = mctx->state_log_top; + ++ if (mctx->state_log == NULL) ++ return REG_NOERROR; ++ + if ((next_state_log_idx >= mctx->input.bufs_len + && mctx->input.bufs_len < mctx->input.len) + || (next_state_log_idx >= mctx->input.valid_len +-- +2.14.2 + diff --git a/boot/grub2/0059-gnulib-regcomp-Fix-uninitialized-re_token.patch b/boot/grub2/0059-gnulib-regcomp-Fix-uninitialized-re_token.patch new file mode 100644 index 00000000000..ecdc93c8cde --- /dev/null +++ b/boot/grub2/0059-gnulib-regcomp-Fix-uninitialized-re_token.patch @@ -0,0 +1,88 @@ +From 03477085f9a33789ba6cca7cd49ab9326a1baa0e Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Tue, 24 Nov 2020 18:04:22 +0000 +Subject: [PATCH] gnulib/regcomp: Fix uninitialized re_token + +This issue has been fixed in the latest version of gnulib, so to +maintain consistency, I've backported that change rather than doing +something different. + +Fixes: CID 73828 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + Makefile.in | 1 + + conf/Makefile.extra-dist | 1 + + .../lib/gnulib-patches/fix-regcomp-uninit-token.patch | 15 +++++++++++++++ + grub-core/lib/gnulib/regcomp.c | 6 +----- + 4 files changed, 18 insertions(+), 5 deletions(-) + create mode 100644 grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch + +diff --git a/Makefile.in b/Makefile.in +index d9da6e9..9442504 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -2743,6 +2743,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \ + grub-core/genemuinit.sh grub-core/genemuinitheader.sh \ + grub-core/lib/gnulib-patches/fix-null-deref.patch \ + grub-core/lib/gnulib-patches/fix-null-state-deref.patch \ ++ grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch \ + grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch \ + grub-core/lib/gnulib-patches/fix-uninit-structure.patch \ + grub-core/lib/gnulib-patches/fix-unused-value.patch \ +diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist +index d27d3a9..ffe6829 100644 +--- a/conf/Makefile.extra-dist ++++ b/conf/Makefile.extra-dist +@@ -30,6 +30,7 @@ EXTRA_DIST += grub-core/genemuinitheader.sh + + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch ++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch + EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch +diff --git a/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch b/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch +new file mode 100644 +index 0000000..02e0631 +--- /dev/null ++++ b/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch +@@ -0,0 +1,15 @@ ++--- a/lib/regcomp.c 2020-11-24 17:06:08.159223858 +0000 +++++ b/lib/regcomp.c 2020-11-24 17:06:15.630253923 +0000 ++@@ -3808,11 +3808,7 @@ ++ create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, ++ re_token_type_t type) ++ { ++- re_token_t t; ++-#if defined GCC_LINT || defined lint ++- memset (&t, 0, sizeof t); ++-#endif ++- t.type = type; +++ re_token_t t = { .type = type }; ++ return create_token_tree (dfa, left, right, &t); ++ } ++ +diff --git a/grub-core/lib/gnulib/regcomp.c b/grub-core/lib/gnulib/regcomp.c +index 2545d3e..64a4fa7 100644 +--- a/grub-core/lib/gnulib/regcomp.c ++++ b/grub-core/lib/gnulib/regcomp.c +@@ -3808,11 +3808,7 @@ static bin_tree_t * + create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, + re_token_type_t type) + { +- re_token_t t; +-#if defined GCC_LINT || defined lint +- memset (&t, 0, sizeof t); +-#endif +- t.type = type; ++ re_token_t t = { .type = type }; + return create_token_tree (dfa, left, right, &t); + } + +-- +2.14.2 + diff --git a/boot/grub2/0060-io-lzopio-Resolve-unnecessary-self-assignment-errors.patch b/boot/grub2/0060-io-lzopio-Resolve-unnecessary-self-assignment-errors.patch new file mode 100644 index 00000000000..cc6b217245e --- /dev/null +++ b/boot/grub2/0060-io-lzopio-Resolve-unnecessary-self-assignment-errors.patch @@ -0,0 +1,42 @@ +From 59666e520f44177c97b82a44c169b3b315d63b42 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Wed, 21 Oct 2020 14:44:10 +0000 +Subject: [PATCH] io/lzopio: Resolve unnecessary self-assignment errors + +These 2 assignments are unnecessary since they are just assigning +to themselves. + +Fixes: CID 73643 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/io/lzopio.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/grub-core/io/lzopio.c b/grub-core/io/lzopio.c +index 3014485..a7d4425 100644 +--- a/grub-core/io/lzopio.c ++++ b/grub-core/io/lzopio.c +@@ -125,8 +125,6 @@ read_block_header (struct grub_lzopio *lzopio) + sizeof (lzopio->block.ucheck)) != + sizeof (lzopio->block.ucheck)) + return -1; +- +- lzopio->block.ucheck = lzopio->block.ucheck; + } + + /* Read checksum of compressed data. */ +@@ -143,8 +141,6 @@ read_block_header (struct grub_lzopio *lzopio) + sizeof (lzopio->block.ccheck)) != + sizeof (lzopio->block.ccheck)) + return -1; +- +- lzopio->block.ccheck = lzopio->block.ccheck; + } + } + +-- +2.14.2 + diff --git a/boot/grub2/0061-zstd-Initialize-seq_t-structure-fully.patch b/boot/grub2/0061-zstd-Initialize-seq_t-structure-fully.patch new file mode 100644 index 00000000000..5e1752b3a51 --- /dev/null +++ b/boot/grub2/0061-zstd-Initialize-seq_t-structure-fully.patch @@ -0,0 +1,35 @@ +From 2777cf4466719921dbe4b30af358a75e7d76f217 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 5 Nov 2020 10:29:59 +0000 +Subject: [PATCH] zstd: Initialize seq_t structure fully + +While many compilers will initialize this to zero, not all will, so it +is better to be sure that fields not being explicitly set are at known +values, and there is code that checks this fields value elsewhere in the +code. + +Fixes: CID 292440 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/lib/zstd/zstd_decompress.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/lib/zstd/zstd_decompress.c b/grub-core/lib/zstd/zstd_decompress.c +index 711b5b6..e4b5670 100644 +--- a/grub-core/lib/zstd/zstd_decompress.c ++++ b/grub-core/lib/zstd/zstd_decompress.c +@@ -1325,7 +1325,7 @@ typedef enum { ZSTD_lo_isRegularOffset, ZSTD_lo_isLongOffset=1 } ZSTD_longOffset + FORCE_INLINE_TEMPLATE seq_t + ZSTD_decodeSequence(seqState_t* seqState, const ZSTD_longOffset_e longOffsets) + { +- seq_t seq; ++ seq_t seq = {0}; + U32 const llBits = seqState->stateLL.table[seqState->stateLL.state].nbAdditionalBits; + U32 const mlBits = seqState->stateML.table[seqState->stateML.state].nbAdditionalBits; + U32 const ofBits = seqState->stateOffb.table[seqState->stateOffb.state].nbAdditionalBits; +-- +2.14.2 + diff --git a/boot/grub2/0062-kern-partition-Check-for-NULL-before-dereferencing-i.patch b/boot/grub2/0062-kern-partition-Check-for-NULL-before-dereferencing-i.patch new file mode 100644 index 00000000000..431d45fd171 --- /dev/null +++ b/boot/grub2/0062-kern-partition-Check-for-NULL-before-dereferencing-i.patch @@ -0,0 +1,44 @@ +From bc9c468a2ce84bc767234eec888b71f1bc744fff Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 23 Oct 2020 09:49:59 +0000 +Subject: [PATCH] kern/partition: Check for NULL before dereferencing input + string + +There is the possibility that the value of str comes from an external +source and continuing to use it before ever checking its validity is +wrong. So, needs fixing. + +Additionally, drop unneeded part initialization. + +Fixes: CID 292444 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/partition.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/grub-core/kern/partition.c b/grub-core/kern/partition.c +index e499147..b10a184 100644 +--- a/grub-core/kern/partition.c ++++ b/grub-core/kern/partition.c +@@ -109,11 +109,14 @@ grub_partition_map_probe (const grub_partition_map_t partmap, + grub_partition_t + grub_partition_probe (struct grub_disk *disk, const char *str) + { +- grub_partition_t part = 0; ++ grub_partition_t part; + grub_partition_t curpart = 0; + grub_partition_t tail; + const char *ptr; + ++ if (str == NULL) ++ return 0; ++ + part = tail = disk->partition; + + for (ptr = str; *ptr;) +-- +2.14.2 + diff --git a/boot/grub2/0063-disk-ldm-Make-sure-comp-data-is-freed-before-exiting.patch b/boot/grub2/0063-disk-ldm-Make-sure-comp-data-is-freed-before-exiting.patch new file mode 100644 index 00000000000..5bebd400f6c --- /dev/null +++ b/boot/grub2/0063-disk-ldm-Make-sure-comp-data-is-freed-before-exiting.patch @@ -0,0 +1,129 @@ +From 23e39f50ca7a107f6b66396ed4d177a914dee035 Mon Sep 17 00:00:00 2001 +From: Marco A Benatto +Date: Mon, 7 Dec 2020 11:53:03 -0300 +Subject: [PATCH] disk/ldm: Make sure comp data is freed before exiting from + make_vg() + +Several error handling paths in make_vg() do not free comp data before +jumping to fail2 label and returning from the function. This will leak +memory. So, let's fix all issues of that kind. + +Fixes: CID 73804 + +Signed-off-by: Marco A Benatto +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/ldm.c | 51 ++++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 44 insertions(+), 7 deletions(-) + +diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c +index 58f8a53..428415f 100644 +--- a/grub-core/disk/ldm.c ++++ b/grub-core/disk/ldm.c +@@ -554,7 +554,11 @@ make_vg (grub_disk_t disk, + comp->segments = grub_calloc (comp->segment_alloc, + sizeof (*comp->segments)); + if (!comp->segments) +- goto fail2; ++ { ++ grub_free (comp->internal_id); ++ grub_free (comp); ++ goto fail2; ++ } + } + else + { +@@ -562,7 +566,11 @@ make_vg (grub_disk_t disk, + comp->segment_count = 1; + comp->segments = grub_malloc (sizeof (*comp->segments)); + if (!comp->segments) +- goto fail2; ++ { ++ grub_free (comp->internal_id); ++ grub_free (comp); ++ goto fail2; ++ } + comp->segments->start_extent = 0; + comp->segments->extent_count = lv->size; + comp->segments->layout = 0; +@@ -574,15 +582,26 @@ make_vg (grub_disk_t disk, + comp->segments->layout = GRUB_RAID_LAYOUT_SYMMETRIC_MASK; + } + else +- goto fail2; ++ { ++ grub_free (comp->segments); ++ grub_free (comp->internal_id); ++ grub_free (comp); ++ goto fail2; ++ } + ptr += *ptr + 1; + ptr++; + if (!(vblk[i].flags & 0x10)) +- goto fail2; ++ { ++ grub_free (comp->segments); ++ grub_free (comp->internal_id); ++ grub_free (comp); ++ goto fail2; ++ } + if (ptr >= vblk[i].dynamic + sizeof (vblk[i].dynamic) + || ptr + *ptr + 1 >= vblk[i].dynamic + + sizeof (vblk[i].dynamic)) + { ++ grub_free (comp->segments); + grub_free (comp->internal_id); + grub_free (comp); + goto fail2; +@@ -592,6 +611,7 @@ make_vg (grub_disk_t disk, + if (ptr + *ptr + 1 >= vblk[i].dynamic + + sizeof (vblk[i].dynamic)) + { ++ grub_free (comp->segments); + grub_free (comp->internal_id); + grub_free (comp); + goto fail2; +@@ -601,7 +621,12 @@ make_vg (grub_disk_t disk, + comp->segments->nodes = grub_calloc (comp->segments->node_alloc, + sizeof (*comp->segments->nodes)); + if (!lv->segments->nodes) +- goto fail2; ++ { ++ grub_free (comp->segments); ++ grub_free (comp->internal_id); ++ grub_free (comp); ++ goto fail2; ++ } + } + + if (lv->segments->node_alloc == lv->segments->node_count) +@@ -611,11 +636,23 @@ make_vg (grub_disk_t disk, + + if (grub_mul (lv->segments->node_alloc, 2, &lv->segments->node_alloc) || + grub_mul (lv->segments->node_alloc, sizeof (*lv->segments->nodes), &sz)) +- goto fail2; ++ { ++ grub_free (comp->segments->nodes); ++ grub_free (comp->segments); ++ grub_free (comp->internal_id); ++ grub_free (comp); ++ goto fail2; ++ } + + t = grub_realloc (lv->segments->nodes, sz); + if (!t) +- goto fail2; ++ { ++ grub_free (comp->segments->nodes); ++ grub_free (comp->segments); ++ grub_free (comp->internal_id); ++ grub_free (comp); ++ goto fail2; ++ } + lv->segments->nodes = t; + } + lv->segments->nodes[lv->segments->node_count].pv = 0; +-- +2.14.2 + diff --git a/boot/grub2/0064-disk-ldm-If-failed-then-free-vg-variable-too.patch b/boot/grub2/0064-disk-ldm-If-failed-then-free-vg-variable-too.patch new file mode 100644 index 00000000000..24417a16111 --- /dev/null +++ b/boot/grub2/0064-disk-ldm-If-failed-then-free-vg-variable-too.patch @@ -0,0 +1,29 @@ +From e0b83df5da538d2a38f770e60817b3a4b9d5b4d7 Mon Sep 17 00:00:00 2001 +From: Paulo Flabiano Smorigo +Date: Mon, 7 Dec 2020 10:07:47 -0300 +Subject: [PATCH] disk/ldm: If failed then free vg variable too + +Fixes: CID 73809 + +Signed-off-by: Paulo Flabiano Smorigo +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/ldm.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c +index 428415f..54713f4 100644 +--- a/grub-core/disk/ldm.c ++++ b/grub-core/disk/ldm.c +@@ -199,6 +199,7 @@ make_vg (grub_disk_t disk, + { + grub_free (vg->uuid); + grub_free (vg->name); ++ grub_free (vg); + return NULL; + } + grub_memcpy (vg->uuid, label->group_guid, LDM_GUID_STRLEN); +-- +2.14.2 + diff --git a/boot/grub2/0065-disk-ldm-Fix-memory-leak-on-uninserted-lv-references.patch b/boot/grub2/0065-disk-ldm-Fix-memory-leak-on-uninserted-lv-references.patch new file mode 100644 index 00000000000..ee424e80140 --- /dev/null +++ b/boot/grub2/0065-disk-ldm-Fix-memory-leak-on-uninserted-lv-references.patch @@ -0,0 +1,51 @@ +From 156c281a1625dc73fd350530630c6f2d5673d4f6 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Tue, 8 Dec 2020 10:00:51 +0000 +Subject: [PATCH] disk/ldm: Fix memory leak on uninserted lv references + +The problem here is that the memory allocated to the variable lv is not +yet inserted into the list that is being processed at the label fail2. + +As we can already see at line 342, which correctly frees lv before going +to fail2, we should also be doing that at these earlier jumps to fail2. + +Fixes: CID 73824 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/ldm.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c +index 54713f4..e82e989 100644 +--- a/grub-core/disk/ldm.c ++++ b/grub-core/disk/ldm.c +@@ -321,7 +321,10 @@ make_vg (grub_disk_t disk, + lv->visible = 1; + lv->segments = grub_zalloc (sizeof (*lv->segments)); + if (!lv->segments) +- goto fail2; ++ { ++ grub_free (lv); ++ goto fail2; ++ } + lv->segments->start_extent = 0; + lv->segments->type = GRUB_DISKFILTER_MIRROR; + lv->segments->node_count = 0; +@@ -329,7 +332,10 @@ make_vg (grub_disk_t disk, + lv->segments->nodes = grub_calloc (lv->segments->node_alloc, + sizeof (*lv->segments->nodes)); + if (!lv->segments->nodes) +- goto fail2; ++ { ++ grub_free (lv); ++ goto fail2; ++ } + ptr = vblk[i].dynamic; + if (ptr + *ptr + 1 >= vblk[i].dynamic + + sizeof (vblk[i].dynamic)) +-- +2.14.2 + diff --git a/boot/grub2/0066-disk-cryptodisk-Fix-potential-integer-overflow.patch b/boot/grub2/0066-disk-cryptodisk-Fix-potential-integer-overflow.patch new file mode 100644 index 00000000000..781ebc180c1 --- /dev/null +++ b/boot/grub2/0066-disk-cryptodisk-Fix-potential-integer-overflow.patch @@ -0,0 +1,51 @@ +From a201ad17caa430aa710654fdf2e6ab4c8166f031 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 21 Jan 2021 11:38:31 +0000 +Subject: [PATCH] disk/cryptodisk: Fix potential integer overflow + +The encrypt and decrypt functions expect a grub_size_t. So, we need to +ensure that the constant bit shift is using grub_size_t rather than +unsigned int when it is performing the shift. + +Fixes: CID 307788 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/cryptodisk.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c +index 5037768..6883f48 100644 +--- a/grub-core/disk/cryptodisk.c ++++ b/grub-core/disk/cryptodisk.c +@@ -311,10 +311,10 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev, + case GRUB_CRYPTODISK_MODE_CBC: + if (do_encrypt) + err = grub_crypto_cbc_encrypt (dev->cipher, data + i, data + i, +- (1U << dev->log_sector_size), iv); ++ ((grub_size_t) 1 << dev->log_sector_size), iv); + else + err = grub_crypto_cbc_decrypt (dev->cipher, data + i, data + i, +- (1U << dev->log_sector_size), iv); ++ ((grub_size_t) 1 << dev->log_sector_size), iv); + if (err) + return err; + break; +@@ -322,10 +322,10 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev, + case GRUB_CRYPTODISK_MODE_PCBC: + if (do_encrypt) + err = grub_crypto_pcbc_encrypt (dev->cipher, data + i, data + i, +- (1U << dev->log_sector_size), iv); ++ ((grub_size_t) 1 << dev->log_sector_size), iv); + else + err = grub_crypto_pcbc_decrypt (dev->cipher, data + i, data + i, +- (1U << dev->log_sector_size), iv); ++ ((grub_size_t) 1 << dev->log_sector_size), iv); + if (err) + return err; + break; +-- +2.14.2 + diff --git a/boot/grub2/0067-hfsplus-Check-that-the-volume-name-length-is-valid.patch b/boot/grub2/0067-hfsplus-Check-that-the-volume-name-length-is-valid.patch new file mode 100644 index 00000000000..78cff9b458d --- /dev/null +++ b/boot/grub2/0067-hfsplus-Check-that-the-volume-name-length-is-valid.patch @@ -0,0 +1,44 @@ +From 2298f6e0d951251bb9ca97d891d1bc8b74515f8c Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 23 Oct 2020 17:09:31 +0000 +Subject: [PATCH] hfsplus: Check that the volume name length is valid + +HFS+ documentation suggests that the maximum filename and volume name is +255 Unicode characters in length. + +So, when converting from big-endian to little-endian, we should ensure +that the name of the volume has a length that is between 0 and 255, +inclusive. + +Fixes: CID 73641 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/hfsplus.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c +index 9c4e4c8..8fe7c12 100644 +--- a/grub-core/fs/hfsplus.c ++++ b/grub-core/fs/hfsplus.c +@@ -1012,6 +1012,15 @@ grub_hfsplus_label (grub_device_t device, char **label) + grub_hfsplus_btree_recptr (&data->catalog_tree, node, ptr); + + label_len = grub_be_to_cpu16 (catkey->namelen); ++ ++ /* Ensure that the length is >= 0. */ ++ if (label_len < 0) ++ label_len = 0; ++ ++ /* Ensure label length is at most 255 Unicode characters. */ ++ if (label_len > 255) ++ label_len = 255; ++ + label_name = grub_calloc (label_len, sizeof (*label_name)); + if (!label_name) + { +-- +2.14.2 + diff --git a/boot/grub2/0068-zfs-Fix-possible-negative-shift-operation.patch b/boot/grub2/0068-zfs-Fix-possible-negative-shift-operation.patch new file mode 100644 index 00000000000..3445619de23 --- /dev/null +++ b/boot/grub2/0068-zfs-Fix-possible-negative-shift-operation.patch @@ -0,0 +1,43 @@ +From a02091834d3e167320d8a262ff04b8e83c5e616d Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Tue, 24 Nov 2020 16:41:49 +0000 +Subject: [PATCH] zfs: Fix possible negative shift operation + +While it is possible for the return value from zfs_log2() to be zero +(0), it is quite unlikely, given that the previous assignment to blksz +is shifted up by SPA_MINBLOCKSHIFT (9) before 9 is subtracted at the +assignment to epbs. + +But, while unlikely during a normal operation, it may be that a carefully +crafted ZFS filesystem could result in a zero (0) value to the +dn_datalbkszsec field, which means that the shift left does nothing +and assigns zero (0) to blksz, resulting in a negative epbs value. + +Fixes: CID 73608 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/zfs/zfs.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 36d0373..0c42cba 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -2667,6 +2667,11 @@ dnode_get (dnode_end_t * mdn, grub_uint64_t objnum, grub_uint8_t type, + blksz = grub_zfs_to_cpu16 (mdn->dn.dn_datablkszsec, + mdn->endian) << SPA_MINBLOCKSHIFT; + epbs = zfs_log2 (blksz) - DNODE_SHIFT; ++ ++ /* While this should never happen, we should check that epbs is not negative. */ ++ if (epbs < 0) ++ epbs = 0; ++ + blkid = objnum >> epbs; + idx = objnum & ((1 << epbs) - 1); + +-- +2.14.2 + diff --git a/boot/grub2/0069-zfs-Fix-resource-leaks-while-constructing-path.patch b/boot/grub2/0069-zfs-Fix-resource-leaks-while-constructing-path.patch new file mode 100644 index 00000000000..d4a3f649666 --- /dev/null +++ b/boot/grub2/0069-zfs-Fix-resource-leaks-while-constructing-path.patch @@ -0,0 +1,122 @@ +From 89bdab965805e8d54d7f75349024e1a11cbe2eb8 Mon Sep 17 00:00:00 2001 +From: Paulo Flabiano Smorigo +Date: Mon, 14 Dec 2020 18:54:49 -0300 +Subject: [PATCH] zfs: Fix resource leaks while constructing path + +There are several exit points in dnode_get_path() that are causing possible +memory leaks. + +In the while(1) the correct exit mechanism should not be to do a direct return, +but to instead break out of the loop, setting err first if it is not already set. + +The reason behind this is that the dnode_path is a linked list, and while doing +through this loop, it is being allocated and built up - the only way to +correctly unravel it is to traverse it, which is what is being done at the end +of the function outside of the loop. + +Several of the existing exit points correctly did a break, but not all so this +change makes that more consistent and should resolve the leaking of memory as +found by Coverity. + +Fixes: CID 73741 + +Signed-off-by: Paulo Flabiano Smorigo +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/zfs/zfs.c | 30 +++++++++++++++++++++--------- + 1 file changed, 21 insertions(+), 9 deletions(-) + +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 0c42cba..9087a72 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -2836,8 +2836,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + + if (dnode_path->dn.dn.dn_type != DMU_OT_DIRECTORY_CONTENTS) + { +- grub_free (path_buf); +- return grub_error (GRUB_ERR_BAD_FILE_TYPE, N_("not a directory")); ++ err = grub_error (GRUB_ERR_BAD_FILE_TYPE, N_("not a directory")); ++ break; + } + err = zap_lookup (&(dnode_path->dn), cname, &objnum, + data, subvol->case_insensitive); +@@ -2879,11 +2879,18 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + << SPA_MINBLOCKSHIFT); + + if (blksz == 0) +- return grub_error(GRUB_ERR_BAD_FS, "0-sized block"); ++ { ++ err = grub_error (GRUB_ERR_BAD_FS, "0-sized block"); ++ break; ++ } + + sym_value = grub_malloc (sym_sz); + if (!sym_value) +- return grub_errno; ++ { ++ err = grub_errno; ++ break; ++ } ++ + for (block = 0; block < (sym_sz + blksz - 1) / blksz; block++) + { + void *t; +@@ -2893,7 +2900,7 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + if (err) + { + grub_free (sym_value); +- return err; ++ break; + } + + movesize = sym_sz - block * blksz; +@@ -2903,6 +2910,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + grub_memcpy (sym_value + block * blksz, t, movesize); + grub_free (t); + } ++ if (err) ++ break; + free_symval = 1; + } + path = path_buf = grub_malloc (sym_sz + grub_strlen (oldpath) + 1); +@@ -2911,7 +2920,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + grub_free (oldpathbuf); + if (free_symval) + grub_free (sym_value); +- return grub_errno; ++ err = grub_errno; ++ break; + } + grub_memcpy (path, sym_value, sym_sz); + if (free_symval) +@@ -2949,11 +2959,12 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + + err = zio_read (bp, dnode_path->dn.endian, &sahdrp, NULL, data); + if (err) +- return err; ++ break; + } + else + { +- return grub_error (GRUB_ERR_BAD_FS, "filesystem is corrupt"); ++ err = grub_error (GRUB_ERR_BAD_FS, "filesystem is corrupt"); ++ break; + } + + hdrsize = SA_HDR_SIZE (((sa_hdr_phys_t *) sahdrp)); +@@ -2974,7 +2985,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + if (!path_buf) + { + grub_free (oldpathbuf); +- return grub_errno; ++ err = grub_errno; ++ break; + } + grub_memcpy (path, sym_value, sym_sz); + path [sym_sz] = 0; +-- +2.14.2 + diff --git a/boot/grub2/0070-zfs-Fix-possible-integer-overflows.patch b/boot/grub2/0070-zfs-Fix-possible-integer-overflows.patch new file mode 100644 index 00000000000..b4791e6116c --- /dev/null +++ b/boot/grub2/0070-zfs-Fix-possible-integer-overflows.patch @@ -0,0 +1,57 @@ +From 302c12ff5714bc455949117c1c9548ccb324d55b Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Tue, 8 Dec 2020 22:17:04 +0000 +Subject: [PATCH] zfs: Fix possible integer overflows + +In all cases the problem is that the value being acted upon by +a left-shift is a 32-bit number which is then being used in the +context of a 64-bit number. + +To avoid overflow we ensure that the number being shifted is 64-bit +before the shift is done. + +Fixes: CID 73684, CID 73695, CID 73764 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/zfs/zfs.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 9087a72..b078ccc 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -564,7 +564,7 @@ find_bestub (uberblock_phys_t * ub_array, + ubptr = (uberblock_phys_t *) ((grub_properly_aligned_t *) ub_array + + ((i << ub_shift) + / sizeof (grub_properly_aligned_t))); +- err = uberblock_verify (ubptr, offset, 1 << ub_shift); ++ err = uberblock_verify (ubptr, offset, (grub_size_t) 1 << ub_shift); + if (err) + { + grub_errno = GRUB_ERR_NONE; +@@ -1543,7 +1543,7 @@ read_device (grub_uint64_t offset, struct grub_zfs_device_desc *desc, + + high = grub_divmod64 ((offset >> desc->ashift) + c, + desc->n_children, &devn); +- csize = bsize << desc->ashift; ++ csize = (grub_size_t) bsize << desc->ashift; + if (csize > len) + csize = len; + +@@ -1635,8 +1635,8 @@ read_device (grub_uint64_t offset, struct grub_zfs_device_desc *desc, + + while (len > 0) + { +- grub_size_t csize; +- csize = ((s / (desc->n_children - desc->nparity)) ++ grub_size_t csize = s; ++ csize = ((csize / (desc->n_children - desc->nparity)) + << desc->ashift); + if (csize > len) + csize = len; +-- +2.14.2 + diff --git a/boot/grub2/0071-zfsinfo-Correct-a-check-for-error-allocating-memory.patch b/boot/grub2/0071-zfsinfo-Correct-a-check-for-error-allocating-memory.patch new file mode 100644 index 00000000000..817fbc37ad0 --- /dev/null +++ b/boot/grub2/0071-zfsinfo-Correct-a-check-for-error-allocating-memory.patch @@ -0,0 +1,36 @@ +From 7aab03418ec6a9b991aa44416cb2585aff4e7972 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 26 Nov 2020 10:56:45 +0000 +Subject: [PATCH] zfsinfo: Correct a check for error allocating memory + +While arguably the check for grub_errno is correct, we should really be +checking the return value from the function since it is always possible +that grub_errno was set elsewhere, making this code behave incorrectly. + +Fixes: CID 73668 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/zfs/zfsinfo.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/zfs/zfsinfo.c b/grub-core/fs/zfs/zfsinfo.c +index c8a28ac..bf29180 100644 +--- a/grub-core/fs/zfs/zfsinfo.c ++++ b/grub-core/fs/zfs/zfsinfo.c +@@ -358,8 +358,8 @@ grub_cmd_zfs_bootfs (grub_command_t cmd __attribute__ ((unused)), int argc, + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("one argument expected")); + + devname = grub_file_get_device_name (args[0]); +- if (grub_errno) +- return grub_errno; ++ if (devname == NULL) ++ return GRUB_ERR_OUT_OF_MEMORY; + + dev = grub_device_open (devname); + grub_free (devname); +-- +2.14.2 + diff --git a/boot/grub2/0072-affs-Fix-memory-leaks.patch b/boot/grub2/0072-affs-Fix-memory-leaks.patch new file mode 100644 index 00000000000..bcbc0377e35 --- /dev/null +++ b/boot/grub2/0072-affs-Fix-memory-leaks.patch @@ -0,0 +1,83 @@ +From 178ac5107389f8e5b32489d743d6824a5ebf342a Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 26 Nov 2020 12:48:07 +0000 +Subject: [PATCH] affs: Fix memory leaks + +The node structure reference is being allocated but not freed if it +reaches the end of the function. If any of the hooks had returned +a non-zero value, then node would have been copied in to the context +reference, but otherwise node is not stored and should be freed. + +Similarly, the call to grub_affs_create_node() replaces the allocated +memory in node with a newly allocated structure, leaking the existing +memory pointed by node. + +Finally, when dir->parent is set, then we again replace node with newly +allocated memory, which seems unnecessary when we copy in the values +from dir->parent immediately after. + +Fixes: CID 73759 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/affs.c | 18 ++++++++---------- + 1 file changed, 8 insertions(+), 10 deletions(-) + +diff --git a/grub-core/fs/affs.c b/grub-core/fs/affs.c +index 220b371..230e26a 100644 +--- a/grub-core/fs/affs.c ++++ b/grub-core/fs/affs.c +@@ -400,12 +400,12 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir, + { + unsigned int i; + struct grub_affs_file file; +- struct grub_fshelp_node *node = 0; ++ struct grub_fshelp_node *node, *orig_node; + struct grub_affs_data *data = dir->data; + grub_uint32_t *hashtable; + + /* Create the directory entries for `.' and `..'. */ +- node = grub_zalloc (sizeof (*node)); ++ node = orig_node = grub_zalloc (sizeof (*node)); + if (!node) + return 1; + +@@ -414,9 +414,6 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir, + return 1; + if (dir->parent) + { +- node = grub_zalloc (sizeof (*node)); +- if (!node) +- return 1; + *node = *dir->parent; + if (hook ("..", GRUB_FSHELP_DIR, node, hook_data)) + return 1; +@@ -456,17 +453,18 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir, + + if (grub_affs_create_node (dir, hook, hook_data, &node, &hashtable, + next, &file)) +- return 1; ++ { ++ /* Node has been replaced in function. */ ++ grub_free (orig_node); ++ return 1; ++ } + + next = grub_be_to_cpu32 (file.next); + } + } + +- grub_free (hashtable); +- return 0; +- + fail: +- grub_free (node); ++ grub_free (orig_node); + grub_free (hashtable); + return 0; + } +-- +2.14.2 + diff --git a/boot/grub2/0073-libgcrypt-mpi-Fix-possible-unintended-sign-extension.patch b/boot/grub2/0073-libgcrypt-mpi-Fix-possible-unintended-sign-extension.patch new file mode 100644 index 00000000000..5e5bb2f00f6 --- /dev/null +++ b/boot/grub2/0073-libgcrypt-mpi-Fix-possible-unintended-sign-extension.patch @@ -0,0 +1,50 @@ +From e8814c811132a70f9b55418f7567378a34ad3883 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Tue, 3 Nov 2020 16:43:37 +0000 +Subject: [PATCH] libgcrypt/mpi: Fix possible unintended sign extension + +The array of unsigned char gets promoted to a signed 32-bit int before +it is finally promoted to a size_t. There is the possibility that this +may result in the signed-bit being set for the intermediate signed +32-bit int. We should ensure that the promotion is to the correct type +before we bitwise-OR the values. + +Fixes: CID 96697 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/lib/libgcrypt-grub/mpi/mpicoder.c | 2 +- + grub-core/lib/libgcrypt/mpi/mpicoder.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c +index 3d55dfc..faf1cd6 100644 +--- a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c ++++ b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c +@@ -460,7 +460,7 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format, + if (len && len < 4) + return gcry_error (GPG_ERR_TOO_SHORT); + +- n = (s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]); ++ n = ((size_t)s[0] << 24 | (size_t)s[1] << 16 | (size_t)s[2] << 8 | (size_t)s[3]); + s += 4; + if (len) + len -= 4; +diff --git a/grub-core/lib/libgcrypt/mpi/mpicoder.c b/grub-core/lib/libgcrypt/mpi/mpicoder.c +index a3435ed..7ecad27 100644 +--- a/grub-core/lib/libgcrypt/mpi/mpicoder.c ++++ b/grub-core/lib/libgcrypt/mpi/mpicoder.c +@@ -458,7 +458,7 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format, + if (len && len < 4) + return gcry_error (GPG_ERR_TOO_SHORT); + +- n = (s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]); ++ n = ((size_t)s[0] << 24 | (size_t)s[1] << 16 | (size_t)s[2] << 8 | (size_t)s[3]); + s += 4; + if (len) + len -= 4; +-- +2.14.2 + diff --git a/boot/grub2/0074-libgcrypt-mpi-Fix-possible-NULL-dereference.patch b/boot/grub2/0074-libgcrypt-mpi-Fix-possible-NULL-dereference.patch new file mode 100644 index 00000000000..80446aa078b --- /dev/null +++ b/boot/grub2/0074-libgcrypt-mpi-Fix-possible-NULL-dereference.patch @@ -0,0 +1,49 @@ +From ae0f3fabeba7b393113d5dc185b6aff9b728136d Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 26 Nov 2020 10:41:54 +0000 +Subject: [PATCH] libgcrypt/mpi: Fix possible NULL dereference + +The code in gcry_mpi_scan() assumes that buffer is not NULL, but there +is no explicit check for that, so we add one. + +Fixes: CID 73757 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/lib/libgcrypt-grub/mpi/mpicoder.c | 3 +++ + grub-core/lib/libgcrypt/mpi/mpicoder.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c +index faf1cd6..e734dcf 100644 +--- a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c ++++ b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c +@@ -381,6 +381,9 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format, + unsigned int len; + int secure = (buffer && gcry_is_secure (buffer)); + ++ if (!buffer) ++ return gcry_error (GPG_ERR_INV_ARG); ++ + if (format == GCRYMPI_FMT_SSH) + len = 0; + else +diff --git a/grub-core/lib/libgcrypt/mpi/mpicoder.c b/grub-core/lib/libgcrypt/mpi/mpicoder.c +index 7ecad27..6fe3891 100644 +--- a/grub-core/lib/libgcrypt/mpi/mpicoder.c ++++ b/grub-core/lib/libgcrypt/mpi/mpicoder.c +@@ -379,6 +379,9 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format, + unsigned int len; + int secure = (buffer && gcry_is_secure (buffer)); + ++ if (!buffer) ++ return gcry_error (GPG_ERR_INV_ARG); ++ + if (format == GCRYMPI_FMT_SSH) + len = 0; + else +-- +2.14.2 + diff --git a/boot/grub2/0075-syslinux-Fix-memory-leak-while-parsing.patch b/boot/grub2/0075-syslinux-Fix-memory-leak-while-parsing.patch new file mode 100644 index 00000000000..acc3034e76a --- /dev/null +++ b/boot/grub2/0075-syslinux-Fix-memory-leak-while-parsing.patch @@ -0,0 +1,44 @@ +From 95bc016dba94cab3d398dd74160665915cd08ad6 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 26 Nov 2020 15:31:53 +0000 +Subject: [PATCH] syslinux: Fix memory leak while parsing + +In syslinux_parse_real() the 2 points where return is being called +didn't release the memory stored in buf which is no longer required. + +Fixes: CID 176634 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/lib/syslinux_parse.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/grub-core/lib/syslinux_parse.c b/grub-core/lib/syslinux_parse.c +index 4afa992..3acc6b4 100644 +--- a/grub-core/lib/syslinux_parse.c ++++ b/grub-core/lib/syslinux_parse.c +@@ -737,7 +737,10 @@ syslinux_parse_real (struct syslinux_menu *menu) + && grub_strncasecmp ("help", ptr3, ptr4 - ptr3) == 0)) + { + if (helptext (ptr5, file, menu)) +- return 1; ++ { ++ grub_free (buf); ++ return 1; ++ } + continue; + } + +@@ -757,6 +760,7 @@ syslinux_parse_real (struct syslinux_menu *menu) + } + fail: + grub_file_close (file); ++ grub_free (buf); + return err; + } + +-- +2.14.2 + diff --git a/boot/grub2/0076-normal-completion-Fix-leaking-of-memory-when-process.patch b/boot/grub2/0076-normal-completion-Fix-leaking-of-memory-when-process.patch new file mode 100644 index 00000000000..52f01ab96ea --- /dev/null +++ b/boot/grub2/0076-normal-completion-Fix-leaking-of-memory-when-process.patch @@ -0,0 +1,53 @@ +From 9213575b7a95b514bce80be5964a28d407d7d56d Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 4 Dec 2020 18:56:48 +0000 +Subject: [PATCH] normal/completion: Fix leaking of memory when processing a + completion + +It is possible for the code to reach the end of the function without +freeing the memory allocated to argv and argc still to be 0. + +We should always call grub_free(argv). The grub_free() will handle +a NULL argument correctly if it reaches that code without the memory +being allocated. + +Fixes: CID 96672 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/normal/completion.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/grub-core/normal/completion.c b/grub-core/normal/completion.c +index 5961028..46e473c 100644 +--- a/grub-core/normal/completion.c ++++ b/grub-core/normal/completion.c +@@ -400,8 +400,8 @@ char * + grub_normal_do_completion (char *buf, int *restore, + void (*hook) (const char *, grub_completion_type_t, int)) + { +- int argc; +- char **argv; ++ int argc = 0; ++ char **argv = NULL; + + /* Initialize variables. */ + match = 0; +@@ -516,10 +516,8 @@ grub_normal_do_completion (char *buf, int *restore, + + fail: + if (argc != 0) +- { +- grub_free (argv[0]); +- grub_free (argv); +- } ++ grub_free (argv[0]); ++ grub_free (argv); + grub_free (match); + grub_errno = GRUB_ERR_NONE; + +-- +2.14.2 + diff --git a/boot/grub2/0077-commands-hashsum-Fix-a-memory-leak.patch b/boot/grub2/0077-commands-hashsum-Fix-a-memory-leak.patch new file mode 100644 index 00000000000..ce06c5502e0 --- /dev/null +++ b/boot/grub2/0077-commands-hashsum-Fix-a-memory-leak.patch @@ -0,0 +1,57 @@ +From 8b6f528e52e18b7a69f90b8dc3671d7b1147d9f3 Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Tue, 1 Dec 2020 23:41:24 +0000 +Subject: [PATCH] commands/hashsum: Fix a memory leak + +check_list() uses grub_file_getline(), which allocates a buffer. +If the hash list file contains invalid lines, the function leaks +this buffer when it returns an error. + +Fixes: CID 176635 + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/hashsum.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/grub-core/commands/hashsum.c b/grub-core/commands/hashsum.c +index 456ba90..b8a22b0 100644 +--- a/grub-core/commands/hashsum.c ++++ b/grub-core/commands/hashsum.c +@@ -128,11 +128,17 @@ check_list (const gcry_md_spec_t *hash, const char *hashfilename, + high = hextoval (*p++); + low = hextoval (*p++); + if (high < 0 || low < 0) +- return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list"); ++ { ++ grub_free (buf); ++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list"); ++ } + expected[i] = (high << 4) | low; + } + if ((p[0] != ' ' && p[0] != '\t') || (p[1] != ' ' && p[1] != '\t')) +- return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list"); ++ { ++ grub_free (buf); ++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list"); ++ } + p += 2; + if (prefix) + { +@@ -140,7 +146,10 @@ check_list (const gcry_md_spec_t *hash, const char *hashfilename, + + filename = grub_xasprintf ("%s/%s", prefix, p); + if (!filename) +- return grub_errno; ++ { ++ grub_free (buf); ++ return grub_errno; ++ } + file = grub_file_open (filename, GRUB_FILE_TYPE_TO_HASH + | (!uncompress ? GRUB_FILE_TYPE_NO_DECOMPRESS + : GRUB_FILE_TYPE_NONE)); +-- +2.14.2 + diff --git a/boot/grub2/0079-video-efi_gop-Remove-unnecessary-return-value-of-gru.patch b/boot/grub2/0079-video-efi_gop-Remove-unnecessary-return-value-of-gru.patch new file mode 100644 index 00000000000..f45915933c0 --- /dev/null +++ b/boot/grub2/0079-video-efi_gop-Remove-unnecessary-return-value-of-gru.patch @@ -0,0 +1,95 @@ +From fc5951d3b1616055ef81a019a5affc09d13344d0 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Tue, 8 Dec 2020 21:14:31 +0000 +Subject: [PATCH] video/efi_gop: Remove unnecessary return value of + grub_video_gop_fill_mode_info() + +The return value of grub_video_gop_fill_mode_info() is never able to be +anything other than GRUB_ERR_NONE. So, rather than continue to return +a value and checking it each time, it is more correct to redefine the +function to not return anything and remove checks of its return value +altogether. + +Fixes: CID 96701 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/efi_gop.c | 25 ++++++------------------- + 1 file changed, 6 insertions(+), 19 deletions(-) + +diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c +index 7f9d1c2..db2ee98 100644 +--- a/grub-core/video/efi_gop.c ++++ b/grub-core/video/efi_gop.c +@@ -227,7 +227,7 @@ grub_video_gop_fill_real_mode_info (unsigned mode, + return GRUB_ERR_NONE; + } + +-static grub_err_t ++static void + grub_video_gop_fill_mode_info (unsigned mode, + struct grub_efi_gop_mode_info *in, + struct grub_video_mode_info *out) +@@ -252,8 +252,6 @@ grub_video_gop_fill_mode_info (unsigned mode, + out->blit_format = GRUB_VIDEO_BLIT_FORMAT_BGRA_8888; + out->mode_type |= (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED + | GRUB_VIDEO_MODE_TYPE_UPDATING_SWAP); +- +- return GRUB_ERR_NONE; + } + + static int +@@ -266,7 +264,6 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo + grub_efi_uintn_t size; + grub_efi_status_t status; + struct grub_efi_gop_mode_info *info = NULL; +- grub_err_t err; + struct grub_video_mode_info mode_info; + + status = efi_call_4 (gop->query_mode, gop, mode, &size, &info); +@@ -277,12 +274,7 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo + continue; + } + +- err = grub_video_gop_fill_mode_info (mode, info, &mode_info); +- if (err) +- { +- grub_errno = GRUB_ERR_NONE; +- continue; +- } ++ grub_video_gop_fill_mode_info (mode, info, &mode_info); + if (hook (&mode_info, hook_arg)) + return 1; + } +@@ -466,13 +458,8 @@ grub_video_gop_setup (unsigned int width, unsigned int height, + + info = gop->mode->info; + +- err = grub_video_gop_fill_mode_info (gop->mode->mode, info, +- &framebuffer.mode_info); +- if (err) +- { +- grub_dprintf ("video", "GOP: couldn't fill mode info\n"); +- return err; +- } ++ grub_video_gop_fill_mode_info (gop->mode->mode, info, ++ &framebuffer.mode_info); + + framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base; + framebuffer.offscreen +@@ -486,8 +473,8 @@ grub_video_gop_setup (unsigned int width, unsigned int height, + { + grub_dprintf ("video", "GOP: couldn't allocate shadow\n"); + grub_errno = 0; +- err = grub_video_gop_fill_mode_info (gop->mode->mode, info, +- &framebuffer.mode_info); ++ grub_video_gop_fill_mode_info (gop->mode->mode, info, ++ &framebuffer.mode_info); + buffer = framebuffer.ptr; + } + +-- +2.14.2 + diff --git a/boot/grub2/0080-video-fb-fbfill-Fix-potential-integer-overflow.patch b/boot/grub2/0080-video-fb-fbfill-Fix-potential-integer-overflow.patch new file mode 100644 index 00000000000..ef0cb1d79e1 --- /dev/null +++ b/boot/grub2/0080-video-fb-fbfill-Fix-potential-integer-overflow.patch @@ -0,0 +1,79 @@ +From 7ce3259f67ac2cd93acb0ec0080c24b3b69e66c6 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Wed, 4 Nov 2020 15:10:51 +0000 +Subject: [PATCH] video/fb/fbfill: Fix potential integer overflow + +The multiplication of 2 unsigned 32-bit integers may overflow before +promotion to unsigned 64-bit. We should ensure that the multiplication +is done with overflow detection. Additionally, use grub_sub() for +subtraction. + +Fixes: CID 73640, CID 73697, CID 73702, CID 73823 + +Signed-off-by: Darren Kenny +Signed-off-by: Marco A Benatto +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/fb/fbfill.c | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) + +diff --git a/grub-core/video/fb/fbfill.c b/grub-core/video/fb/fbfill.c +index 11816d0..a37acd1 100644 +--- a/grub-core/video/fb/fbfill.c ++++ b/grub-core/video/fb/fbfill.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + #include + + /* Generic filler that works for every supported mode. */ +@@ -61,7 +62,9 @@ grub_video_fbfill_direct32 (struct grub_video_fbblit_info *dst, + + /* Calculate the number of bytes to advance from the end of one line + to the beginning of the next line. */ +- rowskip = dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width; ++ if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) || ++ grub_sub (dst->mode_info->pitch, rowskip, &rowskip)) ++ return; + + /* Get the start address. */ + dstptr = grub_video_fb_get_video_ptr (dst, x, y); +@@ -98,7 +101,9 @@ grub_video_fbfill_direct24 (struct grub_video_fbblit_info *dst, + #endif + /* Calculate the number of bytes to advance from the end of one line + to the beginning of the next line. */ +- rowskip = dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width; ++ if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) || ++ grub_sub (dst->mode_info->pitch, rowskip, &rowskip)) ++ return; + + /* Get the start address. */ + dstptr = grub_video_fb_get_video_ptr (dst, x, y); +@@ -131,7 +136,9 @@ grub_video_fbfill_direct16 (struct grub_video_fbblit_info *dst, + + /* Calculate the number of bytes to advance from the end of one line + to the beginning of the next line. */ +- rowskip = (dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width); ++ if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) || ++ grub_sub (dst->mode_info->pitch, rowskip, &rowskip)) ++ return; + + /* Get the start address. */ + dstptr = grub_video_fb_get_video_ptr (dst, x, y); +@@ -161,7 +168,9 @@ grub_video_fbfill_direct8 (struct grub_video_fbblit_info *dst, + + /* Calculate the number of bytes to advance from the end of one line + to the beginning of the next line. */ +- rowskip = dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width; ++ if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) || ++ grub_sub (dst->mode_info->pitch, rowskip, &rowskip)) ++ return; + + /* Get the start address. */ + dstptr = grub_video_fb_get_video_ptr (dst, x, y); +-- +2.14.2 + diff --git a/boot/grub2/0081-video-fb-video_fb-Fix-multiple-integer-overflows.patch b/boot/grub2/0081-video-fb-video_fb-Fix-multiple-integer-overflows.patch new file mode 100644 index 00000000000..cd75284c187 --- /dev/null +++ b/boot/grub2/0081-video-fb-video_fb-Fix-multiple-integer-overflows.patch @@ -0,0 +1,105 @@ +From 08e098b1dbf01e96376f594b337491bc4cfa48dd Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Wed, 4 Nov 2020 14:43:44 +0000 +Subject: [PATCH] video/fb/video_fb: Fix multiple integer overflows + +The calculation of the unsigned 64-bit value is being generated by +multiplying 2, signed or unsigned, 32-bit integers which may overflow +before promotion to unsigned 64-bit. Fix all of them. + +Fixes: CID 73703, CID 73767, CID 73833 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/fb/video_fb.c | 52 ++++++++++++++++++++++++++++++------------- + 1 file changed, 36 insertions(+), 16 deletions(-) + +diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c +index 1a602c8..1c9a138 100644 +--- a/grub-core/video/fb/video_fb.c ++++ b/grub-core/video/fb/video_fb.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -1417,15 +1418,23 @@ doublebuf_blit_update_screen (void) + { + if (framebuffer.current_dirty.first_line + <= framebuffer.current_dirty.last_line) +- grub_memcpy ((char *) framebuffer.pages[0] +- + framebuffer.current_dirty.first_line +- * framebuffer.back_target->mode_info.pitch, +- (char *) framebuffer.back_target->data +- + framebuffer.current_dirty.first_line +- * framebuffer.back_target->mode_info.pitch, +- framebuffer.back_target->mode_info.pitch +- * (framebuffer.current_dirty.last_line +- - framebuffer.current_dirty.first_line)); ++ { ++ grub_size_t copy_size; ++ ++ if (grub_sub (framebuffer.current_dirty.last_line, ++ framebuffer.current_dirty.first_line, ©_size) || ++ grub_mul (framebuffer.back_target->mode_info.pitch, copy_size, ©_size)) ++ { ++ /* Shouldn't happen, but if it does we've a bug. */ ++ return GRUB_ERR_BUG; ++ } ++ ++ grub_memcpy ((char *) framebuffer.pages[0] + framebuffer.current_dirty.first_line * ++ framebuffer.back_target->mode_info.pitch, ++ (char *) framebuffer.back_target->data + framebuffer.current_dirty.first_line * ++ framebuffer.back_target->mode_info.pitch, ++ copy_size); ++ } + framebuffer.current_dirty.first_line + = framebuffer.back_target->mode_info.height; + framebuffer.current_dirty.last_line = 0; +@@ -1439,7 +1448,7 @@ grub_video_fb_doublebuf_blit_init (struct grub_video_fbrender_target **back, + volatile void *framebuf) + { + grub_err_t err; +- grub_size_t page_size = mode_info.pitch * mode_info.height; ++ grub_size_t page_size = (grub_size_t) mode_info.pitch * mode_info.height; + + framebuffer.offscreen_buffer = grub_zalloc (page_size); + if (! framebuffer.offscreen_buffer) +@@ -1482,12 +1491,23 @@ doublebuf_pageflipping_update_screen (void) + last_line = framebuffer.previous_dirty.last_line; + + if (first_line <= last_line) +- grub_memcpy ((char *) framebuffer.pages[framebuffer.render_page] +- + first_line * framebuffer.back_target->mode_info.pitch, +- (char *) framebuffer.back_target->data +- + first_line * framebuffer.back_target->mode_info.pitch, +- framebuffer.back_target->mode_info.pitch +- * (last_line - first_line)); ++ { ++ grub_size_t copy_size; ++ ++ if (grub_sub (last_line, first_line, ©_size) || ++ grub_mul (framebuffer.back_target->mode_info.pitch, copy_size, ©_size)) ++ { ++ /* Shouldn't happen, but if it does we've a bug. */ ++ return GRUB_ERR_BUG; ++ } ++ ++ grub_memcpy ((char *) framebuffer.pages[framebuffer.render_page] + first_line * ++ framebuffer.back_target->mode_info.pitch, ++ (char *) framebuffer.back_target->data + first_line * ++ framebuffer.back_target->mode_info.pitch, ++ copy_size); ++ } ++ + framebuffer.previous_dirty = framebuffer.current_dirty; + framebuffer.current_dirty.first_line + = framebuffer.back_target->mode_info.height; +-- +2.14.2 + diff --git a/boot/grub2/0082-video-fb-video_fb-Fix-possible-integer-overflow.patch b/boot/grub2/0082-video-fb-video_fb-Fix-possible-integer-overflow.patch new file mode 100644 index 00000000000..3b4bc2271cd --- /dev/null +++ b/boot/grub2/0082-video-fb-video_fb-Fix-possible-integer-overflow.patch @@ -0,0 +1,40 @@ +From 08413f2f4edec0e2d9bf15f836f6ee5ca2e379cb Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 4 Dec 2020 14:51:30 +0000 +Subject: [PATCH] video/fb/video_fb: Fix possible integer overflow + +It is minimal possibility that the values being used here will overflow. +So, change the code to use the safemath function grub_mul() to ensure +that doesn't happen. + +Fixes: CID 73761 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/fb/video_fb.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c +index 1c9a138..ae6b89f 100644 +--- a/grub-core/video/fb/video_fb.c ++++ b/grub-core/video/fb/video_fb.c +@@ -1537,7 +1537,13 @@ doublebuf_pageflipping_init (struct grub_video_mode_info *mode_info, + volatile void *page1_ptr) + { + grub_err_t err; +- grub_size_t page_size = mode_info->pitch * mode_info->height; ++ grub_size_t page_size = 0; ++ ++ if (grub_mul (mode_info->pitch, mode_info->height, &page_size)) ++ { ++ /* Shouldn't happen, but if it does we've a bug. */ ++ return GRUB_ERR_BUG; ++ } + + framebuffer.offscreen_buffer = grub_malloc (page_size); + if (! framebuffer.offscreen_buffer) +-- +2.14.2 + diff --git a/boot/grub2/0083-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch b/boot/grub2/0083-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch new file mode 100644 index 00000000000..12aba3647d8 --- /dev/null +++ b/boot/grub2/0083-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch @@ -0,0 +1,39 @@ +From 5f5eb7ca8e971227e95745abe541df3e1509360e Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 4 Dec 2020 15:39:00 +0000 +Subject: [PATCH] video/readers/jpeg: Test for an invalid next marker reference + from a jpeg file + +While it may never happen, and potentially could be caught at the end of +the function, it is worth checking up front for a bad reference to the +next marker just in case of a maliciously crafted file being provided. + +Fixes: CID 73694 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/readers/jpeg.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c +index 31359a4..0b6ce3c 100644 +--- a/grub-core/video/readers/jpeg.c ++++ b/grub-core/video/readers/jpeg.c +@@ -253,6 +253,12 @@ grub_jpeg_decode_quan_table (struct grub_jpeg_data *data) + next_marker = data->file->offset; + next_marker += grub_jpeg_get_word (data); + ++ if (next_marker > data->file->size) ++ { ++ /* Should never be set beyond the size of the file. */ ++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid next reference"); ++ } ++ + while (data->file->offset + sizeof (data->quan_table[id]) + 1 + <= next_marker) + { +-- +2.14.2 + diff --git a/boot/grub2/0084-gfxmenu-gui_list-Remove-code-that-coverity-is-flaggi.patch b/boot/grub2/0084-gfxmenu-gui_list-Remove-code-that-coverity-is-flaggi.patch new file mode 100644 index 00000000000..73fcd7806a0 --- /dev/null +++ b/boot/grub2/0084-gfxmenu-gui_list-Remove-code-that-coverity-is-flaggi.patch @@ -0,0 +1,35 @@ +From 4a1aa5917595650efbd46b581368c470ebee42ab Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Mon, 7 Dec 2020 14:44:47 +0000 +Subject: [PATCH] gfxmenu/gui_list: Remove code that coverity is flagging as + dead + +The test of value for NULL before calling grub_strdup() is not required, +since the if condition prior to this has already tested for value being +NULL and cannot reach this code if it is. + +Fixes: CID 73659 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/gfxmenu/gui_list.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/gfxmenu/gui_list.c b/grub-core/gfxmenu/gui_list.c +index 01477cd..df334a6 100644 +--- a/grub-core/gfxmenu/gui_list.c ++++ b/grub-core/gfxmenu/gui_list.c +@@ -771,7 +771,7 @@ list_set_property (void *vself, const char *name, const char *value) + { + self->need_to_recreate_boxes = 1; + grub_free (self->selected_item_box_pattern); +- self->selected_item_box_pattern = value ? grub_strdup (value) : 0; ++ self->selected_item_box_pattern = grub_strdup (value); + self->selected_item_box_pattern_inherit = 0; + } + } +-- +2.14.2 + diff --git a/boot/grub2/0085-loader-bsd-Check-for-NULL-arg-up-front.patch b/boot/grub2/0085-loader-bsd-Check-for-NULL-arg-up-front.patch new file mode 100644 index 00000000000..c3704575956 --- /dev/null +++ b/boot/grub2/0085-loader-bsd-Check-for-NULL-arg-up-front.patch @@ -0,0 +1,48 @@ +From 5d5391b0a05abe76e04c1eb68dcc6cbef5326c4a Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Tue, 8 Dec 2020 21:47:13 +0000 +Subject: [PATCH] loader/bsd: Check for NULL arg up-front + +The code in the next block suggests that it is possible for .set to be +true but .arg may still be NULL. + +This code assumes that it is never NULL, yet later is testing if it is +NULL - that is inconsistent. + +So we should check first if .arg is not NULL, and remove this check that +is being flagged by Coverity since it is no longer required. + +Fixes: CID 292471 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/loader/i386/bsd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/loader/i386/bsd.c b/grub-core/loader/i386/bsd.c +index b92cbe9..8432283 100644 +--- a/grub-core/loader/i386/bsd.c ++++ b/grub-core/loader/i386/bsd.c +@@ -1605,7 +1605,7 @@ grub_cmd_openbsd (grub_extcmd_context_t ctxt, int argc, char *argv[]) + kernel_type = KERNEL_TYPE_OPENBSD; + bootflags = grub_bsd_parse_flags (ctxt->state, openbsd_flags); + +- if (ctxt->state[OPENBSD_ROOT_ARG].set) ++ if (ctxt->state[OPENBSD_ROOT_ARG].set && ctxt->state[OPENBSD_ROOT_ARG].arg != NULL) + { + const char *arg = ctxt->state[OPENBSD_ROOT_ARG].arg; + unsigned type, unit, part; +@@ -1622,7 +1622,7 @@ grub_cmd_openbsd (grub_extcmd_context_t ctxt, int argc, char *argv[]) + "unknown disk type name"); + + unit = grub_strtoul (arg, (char **) &arg, 10); +- if (! (arg && *arg >= 'a' && *arg <= 'z')) ++ if (! (*arg >= 'a' && *arg <= 'z')) + return grub_error (GRUB_ERR_BAD_ARGUMENT, + "only device specifications of form " + " are supported"); +-- +2.14.2 + diff --git a/boot/grub2/0086-loader-xnu-Fix-memory-leak.patch b/boot/grub2/0086-loader-xnu-Fix-memory-leak.patch new file mode 100644 index 00000000000..aae6774cf68 --- /dev/null +++ b/boot/grub2/0086-loader-xnu-Fix-memory-leak.patch @@ -0,0 +1,39 @@ +From bcb59ece3263d118510c4440c4da0950f224bb7f Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 26 Nov 2020 12:53:10 +0000 +Subject: [PATCH] loader/xnu: Fix memory leak + +The code here is finished with the memory stored in name, but it only +frees it if there curvalue is valid, while it could actually free it +regardless. + +The fix is a simple relocation of the grub_free() to before the test +of curvalue. + +Fixes: CID 96646 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/loader/xnu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c +index 44fd5a9..eb14462 100644 +--- a/grub-core/loader/xnu.c ++++ b/grub-core/loader/xnu.c +@@ -1391,9 +1391,9 @@ grub_xnu_fill_devicetree (void) + name[len] = 0; + + curvalue = grub_xnu_create_value (curkey, name); ++ grub_free (name); + if (!curvalue) + return grub_errno; +- grub_free (name); + + data = grub_malloc (grub_strlen (var->value) + 1); + if (!data) +-- +2.14.2 + diff --git a/boot/grub2/0087-loader-xnu-Free-driverkey-data-when-an-error-is-dete.patch b/boot/grub2/0087-loader-xnu-Free-driverkey-data-when-an-error-is-dete.patch new file mode 100644 index 00000000000..6388c5cfc0b --- /dev/null +++ b/boot/grub2/0087-loader-xnu-Free-driverkey-data-when-an-error-is-dete.patch @@ -0,0 +1,78 @@ +From 4b4027b6b1c877d7ab467896b04c7bd1aadcfa15 Mon Sep 17 00:00:00 2001 +From: Marco A Benatto +Date: Mon, 30 Nov 2020 12:18:24 -0300 +Subject: [PATCH] loader/xnu: Free driverkey data when an error is detected in + grub_xnu_writetree_toheap() + +... to avoid memory leaks. + +Fixes: CID 96640 + +Signed-off-by: Marco A Benatto +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/loader/xnu.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c +index eb14462..1a590db 100644 +--- a/grub-core/loader/xnu.c ++++ b/grub-core/loader/xnu.c +@@ -227,26 +227,33 @@ grub_xnu_writetree_toheap (grub_addr_t *target, grub_size_t *size) + if (! memorymap) + return grub_errno; + +- driverkey = (struct grub_xnu_devtree_key *) grub_malloc (sizeof (*driverkey)); ++ driverkey = (struct grub_xnu_devtree_key *) grub_zalloc (sizeof (*driverkey)); + if (! driverkey) + return grub_errno; + driverkey->name = grub_strdup ("DeviceTree"); + if (! driverkey->name) +- return grub_errno; ++ { ++ err = grub_errno; ++ goto fail; ++ } ++ + driverkey->datasize = sizeof (*extdesc); + driverkey->next = memorymap->first_child; + memorymap->first_child = driverkey; + driverkey->data = extdesc + = (struct grub_xnu_extdesc *) grub_malloc (sizeof (*extdesc)); + if (! driverkey->data) +- return grub_errno; ++ { ++ err = grub_errno; ++ goto fail; ++ } + + /* Allocate the space based on the size with dummy value. */ + *size = grub_xnu_writetree_get_size (grub_xnu_devtree_root, "/"); + err = grub_xnu_heap_malloc (ALIGN_UP (*size + 1, GRUB_XNU_PAGESIZE), + &src, target); + if (err) +- return err; ++ goto fail; + + /* Put real data in the dummy. */ + extdesc->addr = *target; +@@ -255,6 +262,15 @@ grub_xnu_writetree_toheap (grub_addr_t *target, grub_size_t *size) + /* Write the tree to heap. */ + grub_xnu_writetree_toheap_real (src, grub_xnu_devtree_root, "/"); + return GRUB_ERR_NONE; ++ ++ fail: ++ memorymap->first_child = NULL; ++ ++ grub_free (driverkey->data); ++ grub_free (driverkey->name); ++ grub_free (driverkey); ++ ++ return err; + } + + /* Find a key or value in parent key. */ +-- +2.14.2 + diff --git a/boot/grub2/0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch b/boot/grub2/0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch new file mode 100644 index 00000000000..c26c26441ed --- /dev/null +++ b/boot/grub2/0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch @@ -0,0 +1,43 @@ +From 7c8a2b5d1421a0f2a33d33531f7561f3da93b844 Mon Sep 17 00:00:00 2001 +From: Paulo Flabiano Smorigo +Date: Mon, 30 Nov 2020 10:36:00 -0300 +Subject: [PATCH] loader/xnu: Check if pointer is NULL before using it + +Fixes: CID 73654 + +Signed-off-by: Paulo Flabiano Smorigo +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/loader/xnu.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c +index 1a590db..1c0cf6a 100644 +--- a/grub-core/loader/xnu.c ++++ b/grub-core/loader/xnu.c +@@ -670,6 +670,9 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile, + char *name, *nameend; + int namelen; + ++ if (infoplistname == NULL) ++ return grub_error (GRUB_ERR_BAD_FILENAME, N_("missing p-list filename")); ++ + name = get_name_ptr (infoplistname); + nameend = grub_strchr (name, '/'); + +@@ -701,10 +704,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile, + else + macho = 0; + +- if (infoplistname) +- infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST); +- else +- infoplist = 0; ++ infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST); + grub_errno = GRUB_ERR_NONE; + if (infoplist) + { +-- +2.14.2 + diff --git a/boot/grub2/0089-util-grub-install-Fix-NULL-pointer-dereferences.patch b/boot/grub2/0089-util-grub-install-Fix-NULL-pointer-dereferences.patch new file mode 100644 index 00000000000..f9c3f5d6867 --- /dev/null +++ b/boot/grub2/0089-util-grub-install-Fix-NULL-pointer-dereferences.patch @@ -0,0 +1,42 @@ +From 8b3a95655b4391122e7b0315d8cc6f876caf8183 Mon Sep 17 00:00:00 2001 +From: Daniel Kiper +Date: Thu, 25 Feb 2021 18:35:01 +0100 +Subject: [PATCH] util/grub-install: Fix NULL pointer dereferences + +Two grub_device_open() calls does not have associated NULL checks +for returned values. Fix that and appease the Coverity. + +Fixes: CID 314583 + +Signed-off-by: Daniel Kiper +Reviewed-by: Javier Martinez Canillas +Signed-off-by: Stefan Sørensen +--- + util/grub-install.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/util/grub-install.c b/util/grub-install.c +index a82725f..367350f 100644 +--- a/util/grub-install.c ++++ b/util/grub-install.c +@@ -1775,6 +1775,8 @@ main (int argc, char *argv[]) + fill_core_services (core_services); + + ins_dev = grub_device_open (install_drive); ++ if (ins_dev == NULL) ++ grub_util_error ("%s", grub_errmsg); + + bless (ins_dev, core_services, 0); + +@@ -1875,6 +1877,8 @@ main (int argc, char *argv[]) + fill_core_services(core_services); + + ins_dev = grub_device_open (install_drive); ++ if (ins_dev == NULL) ++ grub_util_error ("%s", grub_errmsg); + + bless (ins_dev, boot_efi, 1); + if (!removable && update_nvram) +-- +2.14.2 + diff --git a/boot/grub2/0090-util-grub-editenv-Fix-incorrect-casting-of-a-signed-.patch b/boot/grub2/0090-util-grub-editenv-Fix-incorrect-casting-of-a-signed-.patch new file mode 100644 index 00000000000..4420152a853 --- /dev/null +++ b/boot/grub2/0090-util-grub-editenv-Fix-incorrect-casting-of-a-signed-.patch @@ -0,0 +1,47 @@ +From 5dc41edc4eba259c6043ae7698c245ec1baaacc6 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Thu, 5 Nov 2020 14:33:50 +0000 +Subject: [PATCH] util/grub-editenv: Fix incorrect casting of a signed value + +The return value of ftell() may be negative (-1) on error. While it is +probably unlikely to occur, we should not blindly cast to an unsigned +value without first testing that it is not negative. + +Fixes: CID 73856 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/grub-editenv.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/util/grub-editenv.c b/util/grub-editenv.c +index f3662c9..db6f187 100644 +--- a/util/grub-editenv.c ++++ b/util/grub-editenv.c +@@ -125,6 +125,7 @@ open_envblk_file (const char *name) + { + FILE *fp; + char *buf; ++ long loc; + size_t size; + grub_envblk_t envblk; + +@@ -143,7 +144,12 @@ open_envblk_file (const char *name) + grub_util_error (_("cannot seek `%s': %s"), name, + strerror (errno)); + +- size = (size_t) ftell (fp); ++ loc = ftell (fp); ++ if (loc < 0) ++ grub_util_error (_("cannot get file location `%s': %s"), name, ++ strerror (errno)); ++ ++ size = (size_t) loc; + + if (fseek (fp, 0, SEEK_SET) < 0) + grub_util_error (_("cannot seek `%s': %s"), name, +-- +2.14.2 + diff --git a/boot/grub2/0091-util-glue-efi-Fix-incorrect-use-of-a-possibly-negati.patch b/boot/grub2/0091-util-glue-efi-Fix-incorrect-use-of-a-possibly-negati.patch new file mode 100644 index 00000000000..6acc37189fd --- /dev/null +++ b/boot/grub2/0091-util-glue-efi-Fix-incorrect-use-of-a-possibly-negati.patch @@ -0,0 +1,51 @@ +From 1641d74e16f9d1ca35ba1a87ee4a0bf3afa48e72 Mon Sep 17 00:00:00 2001 +From: Darren Kenny +Date: Fri, 4 Dec 2020 15:04:28 +0000 +Subject: [PATCH] util/glue-efi: Fix incorrect use of a possibly negative value + +It is possible for the ftell() function to return a negative value, +although it is fairly unlikely here, we should be checking for +a negative value before we assign it to an unsigned value. + +Fixes: CID 73744 + +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/glue-efi.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/util/glue-efi.c b/util/glue-efi.c +index 68f5316..de0fa6d 100644 +--- a/util/glue-efi.c ++++ b/util/glue-efi.c +@@ -39,13 +39,23 @@ write_fat (FILE *in32, FILE *in64, FILE *out, const char *out_filename, + struct grub_macho_fat_header head; + struct grub_macho_fat_arch arch32, arch64; + grub_uint32_t size32, size64; ++ long size; + char *buf; + + fseek (in32, 0, SEEK_END); +- size32 = ftell (in32); ++ size = ftell (in32); ++ if (size < 0) ++ grub_util_error ("cannot get end of input file '%s': %s", ++ name32, strerror (errno)); ++ size32 = (grub_uint32_t) size; + fseek (in32, 0, SEEK_SET); ++ + fseek (in64, 0, SEEK_END); +- size64 = ftell (in64); ++ size = ftell (in64); ++ if (size < 0) ++ grub_util_error ("cannot get end of input file '%s': %s", ++ name64, strerror (errno)); ++ size64 = (grub_uint64_t) size; + fseek (in64, 0, SEEK_SET); + + head.magic = grub_cpu_to_le32_compile_time (GRUB_MACHO_FAT_EFI_MAGIC); +-- +2.14.2 + diff --git a/boot/grub2/0092-script-execute-Fix-NULL-dereference-in-grub_script_e.patch b/boot/grub2/0092-script-execute-Fix-NULL-dereference-in-grub_script_e.patch new file mode 100644 index 00000000000..028e587952f --- /dev/null +++ b/boot/grub2/0092-script-execute-Fix-NULL-dereference-in-grub_script_e.patch @@ -0,0 +1,29 @@ +From 41ae93b2e6c75453514629bcfe684300e3aec0ce Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 3 Apr 2020 23:05:13 +1100 +Subject: [PATCH] script/execute: Fix NULL dereference in + grub_script_execute_cmdline() + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/script/execute.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c +index 7e028e1..5ea2aef 100644 +--- a/grub-core/script/execute.c ++++ b/grub-core/script/execute.c +@@ -940,7 +940,7 @@ grub_script_execute_cmdline (struct grub_script_cmd *cmd) + struct grub_script_argv argv = { 0, 0, 0 }; + + /* Lookup the command. */ +- if (grub_script_arglist_to_argv (cmdline->arglist, &argv) || ! argv.args[0]) ++ if (grub_script_arglist_to_argv (cmdline->arglist, &argv) || ! argv.args || ! argv.args[0]) + return grub_errno; + + for (i = 0; i < argv.argc; i++) +-- +2.14.2 + diff --git a/boot/grub2/0093-commands-ls-Require-device_name-is-not-NULL-before-p.patch b/boot/grub2/0093-commands-ls-Require-device_name-is-not-NULL-before-p.patch new file mode 100644 index 00000000000..58b61fd636a --- /dev/null +++ b/boot/grub2/0093-commands-ls-Require-device_name-is-not-NULL-before-p.patch @@ -0,0 +1,34 @@ +From 6afbe6063c95b827372f9ec310c9fc7461311eb1 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 11 Jan 2021 16:57:37 +1100 +Subject: [PATCH] commands/ls: Require device_name is not NULL before printing + +This can be triggered with: + ls -l (0 0*) +and causes a NULL deref in grub_normal_print_device_info(). + +I'm not sure if there's any implication with the IEEE 1275 platform. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/ls.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c +index 5b7491a..326d2d6 100644 +--- a/grub-core/commands/ls.c ++++ b/grub-core/commands/ls.c +@@ -196,7 +196,7 @@ grub_ls_list_files (char *dirname, int longlist, int all, int human) + goto fail; + } + +- if (! *path) ++ if (! *path && device_name) + { + if (grub_errno == GRUB_ERR_UNKNOWN_FS) + grub_errno = GRUB_ERR_NONE; +-- +2.14.2 + diff --git a/boot/grub2/0094-script-execute-Avoid-crash-when-using-outside-a-func.patch b/boot/grub2/0094-script-execute-Avoid-crash-when-using-outside-a-func.patch new file mode 100644 index 00000000000..a37390890f3 --- /dev/null +++ b/boot/grub2/0094-script-execute-Avoid-crash-when-using-outside-a-func.patch @@ -0,0 +1,38 @@ +From fe0586347ee46f927ae27bb9673532da9f5dead5 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 11 Jan 2021 17:30:42 +1100 +Subject: [PATCH] script/execute: Avoid crash when using "$#" outside a + function scope + +"$#" represents the number of arguments to a function. It is only +defined in a function scope, where "scope" is non-NULL. Currently, +if we attempt to evaluate "$#" outside a function scope, "scope" will +be NULL and we will crash with a NULL pointer dereference. + +Do not attempt to count arguments for "$#" if "scope" is NULL. This +will result in "$#" being interpreted as an empty string if evaluated +outside a function scope. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/script/execute.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c +index 5ea2aef..23d34bd 100644 +--- a/grub-core/script/execute.c ++++ b/grub-core/script/execute.c +@@ -485,7 +485,7 @@ gettext_putvar (const char *str, grub_size_t len, + return 0; + + /* Enough for any number. */ +- if (len == 1 && str[0] == '#') ++ if (len == 1 && str[0] == '#' && scope != NULL) + { + grub_snprintf (*ptr, 30, "%u", scope->argv.argc); + *ptr += grub_strlen (*ptr); +-- +2.14.2 + diff --git a/boot/grub2/0095-lib-arg-Block-repeated-short-options-that-require-an.patch b/boot/grub2/0095-lib-arg-Block-repeated-short-options-that-require-an.patch new file mode 100644 index 00000000000..0338502a23e --- /dev/null +++ b/boot/grub2/0095-lib-arg-Block-repeated-short-options-that-require-an.patch @@ -0,0 +1,56 @@ +From 2a330dba93ff11bc00eda76e9419bc52b0c7ead6 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 22 Jan 2021 16:07:29 +1100 +Subject: [PATCH] lib/arg: Block repeated short options that require an + argument + +Fuzzing found the following crash: + + search -hhhhhhhhhhhhhf + +We didn't allocate enough option space for 13 hints because the +allocation code counts the number of discrete arguments (i.e. argc). +However, the shortopt parsing code will happily keep processing +a combination of short options without checking if those short +options require an argument. This means you can easily end writing +past the allocated option space. + +This fixes a OOB write which can cause heap corruption. + +Fixes: CVE-2021-20225 + +Reported-by: Daniel Axtens +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/lib/arg.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/grub-core/lib/arg.c b/grub-core/lib/arg.c +index 3288609..537c5e9 100644 +--- a/grub-core/lib/arg.c ++++ b/grub-core/lib/arg.c +@@ -299,6 +299,19 @@ grub_arg_parse (grub_extcmd_t cmd, int argc, char **argv, + it can have an argument value. */ + if (*curshort) + { ++ /* ++ * Only permit further short opts if this one doesn't ++ * require a value. ++ */ ++ if (opt->type != ARG_TYPE_NONE && ++ !(opt->flags & GRUB_ARG_OPTION_OPTIONAL)) ++ { ++ grub_error (GRUB_ERR_BAD_ARGUMENT, ++ N_("missing mandatory option for `%s'"), ++ opt->longarg); ++ goto fail; ++ } ++ + if (parse_option (cmd, opt, 0, usr) || grub_errno) + goto fail; + } +-- +2.14.2 + diff --git a/boot/grub2/0096-script-execute-Don-t-crash-on-a-for-loop-with-no-ite.patch b/boot/grub2/0096-script-execute-Don-t-crash-on-a-for-loop-with-no-ite.patch new file mode 100644 index 00000000000..4f543c5e22e --- /dev/null +++ b/boot/grub2/0096-script-execute-Don-t-crash-on-a-for-loop-with-no-ite.patch @@ -0,0 +1,40 @@ +From 0a05f88e2bb33ed2a0cfd93f481f471efb7791aa Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 22 Jan 2021 16:18:26 +1100 +Subject: [PATCH] script/execute: Don't crash on a "for" loop with no items + +The following crashes the parser: + + for x in; do + 0 + done + +This is because grub_script_arglist_to_argv() doesn't consider the +possibility that arglist is NULL. Catch that explicitly. + +This avoids a NULL pointer dereference. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/script/execute.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c +index 23d34bd..31dac25 100644 +--- a/grub-core/script/execute.c ++++ b/grub-core/script/execute.c +@@ -624,6 +624,9 @@ grub_script_arglist_to_argv (struct grub_script_arglist *arglist, + struct grub_script_arg *arg = 0; + struct grub_script_argv result = { 0, 0, 0 }; + ++ if (arglist == NULL) ++ return 1; ++ + for (; arglist && arglist->arg; arglist = arglist->next) + { + if (grub_script_argv_next (&result)) +-- +2.14.2 + diff --git a/boot/grub2/0097-commands-menuentry-Fix-quoting-in-setparams_prefix.patch b/boot/grub2/0097-commands-menuentry-Fix-quoting-in-setparams_prefix.patch new file mode 100644 index 00000000000..23818d4eb4d --- /dev/null +++ b/boot/grub2/0097-commands-menuentry-Fix-quoting-in-setparams_prefix.patch @@ -0,0 +1,48 @@ +From 2f533a89a8dfcacbf2c9dbc77d910f111f24bf33 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 22 Jan 2021 17:10:48 +1100 +Subject: [PATCH] commands/menuentry: Fix quoting in setparams_prefix() + +Commit 9acdcbf32542 (use single quotes in menuentry setparams command) +says that expressing a quoted single quote will require 3 characters. It +actually requires (and always did require!) 4 characters: + + str: a'b => a'\''b + len: 3 => 6 (2 for the letters + 4 for the quote) + +This leads to not allocating enough memory and thus out of bounds writes +that have been observed to cause heap corruption. + +Allocate 4 bytes for each single quote. + +Commit 22e7dbb2bb81 (Fix quoting in legacy parser.) does the same +quoting, but it adds 3 as extra overhead on top of the single byte that +the quote already needs. So it's correct. + +Fixes: 9acdcbf32542 (use single quotes in menuentry setparams command) +Fixes: CVE-2021-20233 + +Reported-by: Daniel Axtens +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/commands/menuentry.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c +index 9164df7..720e6d8 100644 +--- a/grub-core/commands/menuentry.c ++++ b/grub-core/commands/menuentry.c +@@ -230,7 +230,7 @@ setparams_prefix (int argc, char **args) + len += 3; /* 3 = 1 space + 2 quotes */ + p = args[i]; + while (*p) +- len += (*p++ == '\'' ? 3 : 1); ++ len += (*p++ == '\'' ? 4 : 1); + } + + result = grub_malloc (len + 2); +-- +2.14.2 + diff --git a/boot/grub2/0098-kern-misc-Always-set-end-in-grub_strtoull.patch b/boot/grub2/0098-kern-misc-Always-set-end-in-grub_strtoull.patch new file mode 100644 index 00000000000..838804a82de --- /dev/null +++ b/boot/grub2/0098-kern-misc-Always-set-end-in-grub_strtoull.patch @@ -0,0 +1,47 @@ +From f41f0af48ab7f7c135aac17ac862c30bde0bbab7 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Wed, 13 Jan 2021 22:19:01 +1100 +Subject: [PATCH] kern/misc: Always set *end in grub_strtoull() + +Currently, if there is an error in grub_strtoull(), *end is not set. +This differs from the usual behavior of strtoull(), and also means that +some callers may use an uninitialized value for *end. + +Set *end unconditionally. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/misc.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c +index a7abd36..b02693b 100644 +--- a/grub-core/kern/misc.c ++++ b/grub-core/kern/misc.c +@@ -406,6 +406,10 @@ grub_strtoull (const char *str, char **end, int base) + { + grub_error (GRUB_ERR_OUT_OF_RANGE, + N_("overflow is detected")); ++ ++ if (end) ++ *end = (char *) str; ++ + return ~0ULL; + } + +@@ -417,6 +421,10 @@ grub_strtoull (const char *str, char **end, int base) + { + grub_error (GRUB_ERR_BAD_NUMBER, + N_("unrecognized number")); ++ ++ if (end) ++ *end = (char *) str; ++ + return 0; + } + +-- +2.14.2 + diff --git a/boot/grub2/0099-video-readers-jpeg-Catch-files-with-unsupported-quan.patch b/boot/grub2/0099-video-readers-jpeg-Catch-files-with-unsupported-quan.patch new file mode 100644 index 00000000000..d09f7771866 --- /dev/null +++ b/boot/grub2/0099-video-readers-jpeg-Catch-files-with-unsupported-quan.patch @@ -0,0 +1,53 @@ +From 693989598fd38c3c0b2a928f4f64865b5681762f Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 15 Jan 2021 12:57:04 +1100 +Subject: [PATCH] video/readers/jpeg: Catch files with unsupported quantization + or Huffman tables + +Our decoder only supports 2 quantization tables. If a file asks for +a quantization table with index > 1, reject it. + +Similarly, our decoder only supports 4 Huffman tables. If a file asks +for a Huffman table with index > 3, reject it. + +This fixes some out of bounds reads. It's not clear what degree of control +over subsequent execution could be gained by someone who can carefully +set up the contents of memory before loading an invalid JPEG file. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/readers/jpeg.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c +index 0b6ce3c..23f919a 100644 +--- a/grub-core/video/readers/jpeg.c ++++ b/grub-core/video/readers/jpeg.c +@@ -333,7 +333,11 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data) + else if (ss != JPEG_SAMPLING_1x1) + return grub_error (GRUB_ERR_BAD_FILE_TYPE, + "jpeg: sampling method not supported"); ++ + data->comp_index[id][0] = grub_jpeg_get_byte (data); ++ if (data->comp_index[id][0] > 1) ++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, ++ "jpeg: too many quantization tables"); + } + + if (data->file->offset != next_marker) +@@ -602,6 +606,10 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data) + ht = grub_jpeg_get_byte (data); + data->comp_index[id][1] = (ht >> 4); + data->comp_index[id][2] = (ht & 0xF) + 2; ++ ++ if ((data->comp_index[id][1] < 0) || (data->comp_index[id][1] > 3) || ++ (data->comp_index[id][2] < 0) || (data->comp_index[id][2] > 3)) ++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid hufftable index"); + } + + grub_jpeg_get_byte (data); /* Skip 3 unused bytes. */ +-- +2.14.2 + diff --git a/boot/grub2/0100-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch b/boot/grub2/0100-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch new file mode 100644 index 00000000000..9dabd97bd5a --- /dev/null +++ b/boot/grub2/0100-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch @@ -0,0 +1,48 @@ +From 34b85a6e07014383ddcad09f99ff239ad752dd1a Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 15 Jan 2021 13:29:53 +1100 +Subject: [PATCH] video/readers/jpeg: Catch OOB reads/writes in + grub_jpeg_decode_du() + +The key line is: + + du[jpeg_zigzag_order[pos]] = val * (int) data->quan_table[qt][pos]; + +jpeg_zigzag_order is grub_uint8_t[64]. + +I don't understand JPEG decoders quite well enough to explain what's +going on here. However, I observe sometimes pos=64, which leads to an +OOB read of the jpeg_zigzag_order global then an OOB write to du. +That leads to various unpleasant memory corruption conditions. + +Catch where pos >= ARRAY_SIZE(jpeg_zigzag_order) and bail. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/readers/jpeg.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c +index 23f919a..e514812 100644 +--- a/grub-core/video/readers/jpeg.c ++++ b/grub-core/video/readers/jpeg.c +@@ -526,6 +526,14 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du) + val = grub_jpeg_get_number (data, num & 0xF); + num >>= 4; + pos += num; ++ ++ if (pos >= ARRAY_SIZE (jpeg_zigzag_order)) ++ { ++ grub_error (GRUB_ERR_BAD_FILE_TYPE, ++ "jpeg: invalid position in zigzag order!?"); ++ return; ++ } ++ + du[jpeg_zigzag_order[pos]] = val * (int) data->quan_table[qt][pos]; + pos++; + } +-- +2.14.2 + diff --git a/boot/grub2/0101-video-readers-jpeg-Don-t-decode-data-before-start-of.patch b/boot/grub2/0101-video-readers-jpeg-Don-t-decode-data-before-start-of.patch new file mode 100644 index 00000000000..89d08303cb4 --- /dev/null +++ b/boot/grub2/0101-video-readers-jpeg-Don-t-decode-data-before-start-of.patch @@ -0,0 +1,40 @@ +From 8338a8238f08d9f3ae4c2ddfff0603eff80af9e2 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 15 Jan 2021 14:06:46 +1100 +Subject: [PATCH] video/readers/jpeg: Don't decode data before start of stream + +When a start of stream marker is encountered, we call grub_jpeg_decode_sos() +which allocates space for a bitmap. + +When a restart marker is encountered, we call grub_jpeg_decode_data() which +then fills in that bitmap. + +If we get a restart marker before the start of stream marker, we will +attempt to write to a bitmap_ptr that hasn't been allocated. Catch this +and bail out. This fixes an attempt to write to NULL. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/video/readers/jpeg.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c +index e514812..e31602f 100644 +--- a/grub-core/video/readers/jpeg.c ++++ b/grub-core/video/readers/jpeg.c +@@ -646,6 +646,10 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data) + nr1 = (data->image_height + vb - 1) >> (3 + data->log_vs); + nc1 = (data->image_width + hb - 1) >> (3 + data->log_hs); + ++ if (data->bitmap_ptr == NULL) ++ return grub_error(GRUB_ERR_BAD_FILE_TYPE, ++ "jpeg: attempted to decode data before start of stream"); ++ + for (; data->r1 < nr1 && (!data->dri || rst); + data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3) + for (c1 = 0; c1 < nc1 && (!data->dri || rst); +-- +2.14.2 + diff --git a/boot/grub2/0102-term-gfxterm-Don-t-set-up-a-font-with-glyphs-that-ar.patch b/boot/grub2/0102-term-gfxterm-Don-t-set-up-a-font-with-glyphs-that-ar.patch new file mode 100644 index 00000000000..fa818747c4e --- /dev/null +++ b/boot/grub2/0102-term-gfxterm-Don-t-set-up-a-font-with-glyphs-that-ar.patch @@ -0,0 +1,52 @@ +From 829329bddb2c3e623270cc634cc9ab32e6455fe7 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 15 Jan 2021 20:03:20 +1100 +Subject: [PATCH] term/gfxterm: Don't set up a font with glyphs that are too + big + +Catch the case where we have a font so big that it causes the number of +rows or columns to be 0. Currently we continue and allocate a +virtual_screen.text_buffer of size 0. We then try to use that for glpyhs +and things go badly. + +On the emu platform, malloc() may give us a valid pointer, in which case +we'll access heap memory which we shouldn't. Alternatively, it may give us +NULL, in which case we'll crash. For other platforms, if I understand +grub_memalign() correctly, we will receive a valid but small allocation +that we will very likely later overrun. + +Prevent the creation of a virtual screen that isn't at least 40 cols +by 12 rows. This is arbitrary, but it seems that if your width or height +is half a standard 80x24 terminal, you're probably going to struggle to +read anything anyway. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/term/gfxterm.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/grub-core/term/gfxterm.c b/grub-core/term/gfxterm.c +index af7c090..b40fcce 100644 +--- a/grub-core/term/gfxterm.c ++++ b/grub-core/term/gfxterm.c +@@ -232,6 +232,15 @@ grub_virtual_screen_setup (unsigned int x, unsigned int y, + virtual_screen.columns = virtual_screen.width / virtual_screen.normal_char_width; + virtual_screen.rows = virtual_screen.height / virtual_screen.normal_char_height; + ++ /* ++ * There must be a minimum number of rows and columns for the screen to ++ * make sense. Arbitrarily pick half of 80x24. If either dimensions is 0 ++ * we would allocate 0 bytes for the text_buffer. ++ */ ++ if (virtual_screen.columns < 40 || virtual_screen.rows < 12) ++ return grub_error (GRUB_ERR_BAD_FONT, ++ "font: glyphs too large to fit on screen"); ++ + /* Allocate memory for text buffer. */ + virtual_screen.text_buffer = + (struct grub_colored_char *) grub_malloc (virtual_screen.columns +-- +2.14.2 + diff --git a/boot/grub2/0103-fs-fshelp-Catch-impermissibly-large-block-sizes-in-r.patch b/boot/grub2/0103-fs-fshelp-Catch-impermissibly-large-block-sizes-in-r.patch new file mode 100644 index 00000000000..00523ec80a0 --- /dev/null +++ b/boot/grub2/0103-fs-fshelp-Catch-impermissibly-large-block-sizes-in-r.patch @@ -0,0 +1,47 @@ +From b5bc456f664bc301ab4cd5a17d3d23c6661c259e Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 11:46:39 +1100 +Subject: [PATCH] fs/fshelp: Catch impermissibly large block sizes in read + helper + +A fuzzed HFS+ filesystem had log2blocksize = 22. This gave +log2blocksize + GRUB_DISK_SECTOR_BITS = 31. 1 << 31 = 0x80000000, +which is -1 as an int. This caused some wacky behavior later on in +the function, leading to out-of-bounds writes on the destination buffer. + +Catch log2blocksize + GRUB_DISK_SECTOR_BITS >= 31. We could be stricter, +but this is the minimum that will prevent integer size weirdness. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/fshelp.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/grub-core/fs/fshelp.c b/grub-core/fs/fshelp.c +index 4c902ad..a2d0d29 100644 +--- a/grub-core/fs/fshelp.c ++++ b/grub-core/fs/fshelp.c +@@ -362,6 +362,18 @@ grub_fshelp_read_file (grub_disk_t disk, grub_fshelp_node_t node, + grub_disk_addr_t i, blockcnt; + int blocksize = 1 << (log2blocksize + GRUB_DISK_SECTOR_BITS); + ++ /* ++ * Catch blatantly invalid log2blocksize. We could be a lot stricter, but ++ * this is the most permissive we can be before we start to see integer ++ * overflow/underflow issues. ++ */ ++ if (log2blocksize + GRUB_DISK_SECTOR_BITS >= 31) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, ++ N_("blocksize too large")); ++ return -1; ++ } ++ + if (pos > filesize) + { + grub_error (GRUB_ERR_OUT_OF_RANGE, +-- +2.14.2 + diff --git a/boot/grub2/0104-fs-hfsplus-Don-t-fetch-a-key-beyond-the-end-of-the-n.patch b/boot/grub2/0104-fs-hfsplus-Don-t-fetch-a-key-beyond-the-end-of-the-n.patch new file mode 100644 index 00000000000..a8609a67056 --- /dev/null +++ b/boot/grub2/0104-fs-hfsplus-Don-t-fetch-a-key-beyond-the-end-of-the-n.patch @@ -0,0 +1,33 @@ +From 58ea11d5b9ca0966bd9c68d8ba5240cf7dc3ba83 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 22 Jan 2021 18:13:56 +1100 +Subject: [PATCH] fs/hfsplus: Don't fetch a key beyond the end of the node + +Otherwise you get a wild pointer, leading to a bunch of invalid reads. +Check it falls inside the given node. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/hfsplus.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c +index 8fe7c12..1c7791b 100644 +--- a/grub-core/fs/hfsplus.c ++++ b/grub-core/fs/hfsplus.c +@@ -635,6 +635,10 @@ grub_hfsplus_btree_search (struct grub_hfsplus_btree *btree, + pointer = ((char *) currkey + + grub_be_to_cpu16 (currkey->keylen) + + 2); ++ ++ if ((char *) pointer > node + btree->nodesize - 2) ++ return grub_error (GRUB_ERR_BAD_FS, "HFS+ key beyond end of node"); ++ + currnode = grub_be_to_cpu32 (grub_get_unaligned32 (pointer)); + match = 1; + } +-- +2.14.2 + diff --git a/boot/grub2/0105-fs-hfsplus-Don-t-use-uninitialized-data-on-corrupt-f.patch b/boot/grub2/0105-fs-hfsplus-Don-t-use-uninitialized-data-on-corrupt-f.patch new file mode 100644 index 00000000000..a83a21ef579 --- /dev/null +++ b/boot/grub2/0105-fs-hfsplus-Don-t-use-uninitialized-data-on-corrupt-f.patch @@ -0,0 +1,108 @@ +From 2ca0e5dbcdcb6fc93ccae39a0f39d0dba4a7ff20 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 2 Feb 2021 16:59:35 +1100 +Subject: [PATCH] fs/hfsplus: Don't use uninitialized data on corrupt + filesystems + +Valgrind identified the following use of uninitialized data: + + ==2782220== Conditional jump or move depends on uninitialised value(s) + ==2782220== at 0x42B364: grub_hfsplus_btree_search (hfsplus.c:566) + ==2782220== by 0x42B21D: grub_hfsplus_read_block (hfsplus.c:185) + ==2782220== by 0x42A693: grub_fshelp_read_file (fshelp.c:386) + ==2782220== by 0x42C598: grub_hfsplus_read_file (hfsplus.c:219) + ==2782220== by 0x42C598: grub_hfsplus_mount (hfsplus.c:330) + ==2782220== by 0x42B8C5: grub_hfsplus_dir (hfsplus.c:958) + ==2782220== by 0x4C1AE6: grub_fs_probe (fs.c:73) + ==2782220== by 0x407C94: grub_ls_list_files (ls.c:186) + ==2782220== by 0x407C94: grub_cmd_ls (ls.c:284) + ==2782220== by 0x4D7130: grub_extcmd_dispatcher (extcmd.c:55) + ==2782220== by 0x4045A6: execute_command (grub-fstest.c:59) + ==2782220== by 0x4045A6: fstest (grub-fstest.c:433) + ==2782220== by 0x4045A6: main (grub-fstest.c:772) + ==2782220== Uninitialised value was created by a heap allocation + ==2782220== at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) + ==2782220== by 0x4C0305: grub_malloc (mm.c:42) + ==2782220== by 0x42C21D: grub_hfsplus_mount (hfsplus.c:239) + ==2782220== by 0x42B8C5: grub_hfsplus_dir (hfsplus.c:958) + ==2782220== by 0x4C1AE6: grub_fs_probe (fs.c:73) + ==2782220== by 0x407C94: grub_ls_list_files (ls.c:186) + ==2782220== by 0x407C94: grub_cmd_ls (ls.c:284) + ==2782220== by 0x4D7130: grub_extcmd_dispatcher (extcmd.c:55) + ==2782220== by 0x4045A6: execute_command (grub-fstest.c:59) + ==2782220== by 0x4045A6: fstest (grub-fstest.c:433) + ==2782220== by 0x4045A6: main (grub-fstest.c:772) + +This happens when the process of reading the catalog file goes sufficiently +wrong that there's an attempt to read the extent overflow file, which has +not yet been loaded. Keep track of when the extent overflow file is +fully loaded and refuse to use it before then. + +The load valgrind doesn't like is btree->nodesize, and that's then used +to allocate a data structure. It looks like there are subsequently a lot +of reads based on that pointer so OOB reads are likely, and indeed crashes +(albeit difficult-to-replicate ones) have been observed in fuzzing. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/hfsplus.c | 14 ++++++++++++++ + include/grub/hfsplus.h | 2 ++ + 2 files changed, 16 insertions(+) + +diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c +index 1c7791b..361e5be 100644 +--- a/grub-core/fs/hfsplus.c ++++ b/grub-core/fs/hfsplus.c +@@ -177,6 +177,17 @@ grub_hfsplus_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + break; + } + ++ /* ++ * If the extent overflow tree isn't ready yet, we can't look ++ * in it. This can happen where the catalog file is corrupted. ++ */ ++ if (!node->data->extoverflow_tree_ready) ++ { ++ grub_error (GRUB_ERR_BAD_FS, ++ "attempted to read extent overflow tree before loading"); ++ break; ++ } ++ + /* Set up the key to look for in the extent overflow file. */ + extoverflow.extkey.fileid = node->fileid; + extoverflow.extkey.type = 0; +@@ -241,6 +252,7 @@ grub_hfsplus_mount (grub_disk_t disk) + return 0; + + data->disk = disk; ++ data->extoverflow_tree_ready = 0; + + /* Read the bootblock. */ + grub_disk_read (disk, GRUB_HFSPLUS_SBLOCK, 0, sizeof (volheader), +@@ -357,6 +369,8 @@ grub_hfsplus_mount (grub_disk_t disk) + if (data->extoverflow_tree.nodesize < 2) + goto fail; + ++ data->extoverflow_tree_ready = 1; ++ + if (grub_hfsplus_read_file (&data->attr_tree.file, 0, 0, + sizeof (struct grub_hfsplus_btnode), + sizeof (header), (char *) &header) <= 0) +diff --git a/include/grub/hfsplus.h b/include/grub/hfsplus.h +index 117740a..e14dd31 100644 +--- a/include/grub/hfsplus.h ++++ b/include/grub/hfsplus.h +@@ -113,6 +113,8 @@ struct grub_hfsplus_data + struct grub_hfsplus_btree extoverflow_tree; + struct grub_hfsplus_btree attr_tree; + ++ int extoverflow_tree_ready; ++ + struct grub_hfsplus_file dirroot; + struct grub_hfsplus_file opened_file; + +-- +2.14.2 + diff --git a/boot/grub2/0106-fs-hfs-Disable-under-lockdown.patch b/boot/grub2/0106-fs-hfs-Disable-under-lockdown.patch new file mode 100644 index 00000000000..42e4ee44616 --- /dev/null +++ b/boot/grub2/0106-fs-hfs-Disable-under-lockdown.patch @@ -0,0 +1,47 @@ +From 1c15848838d924552611247110723e2a1c17a5a1 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 12:19:07 +1100 +Subject: [PATCH] fs/hfs: Disable under lockdown + +HFS has issues such as infinite mutual recursion that are simply too +complex to fix for such a legacy format. So simply do not permit +it to be loaded under lockdown. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/hfs.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c +index 3fe842b..9a5b7bb 100644 +--- a/grub-core/fs/hfs.c ++++ b/grub-core/fs/hfs.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -1433,11 +1434,13 @@ static struct grub_fs grub_hfs_fs = + + GRUB_MOD_INIT(hfs) + { +- grub_fs_register (&grub_hfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_register (&grub_hfs_fs); + my_mod = mod; + } + + GRUB_MOD_FINI(hfs) + { +- grub_fs_unregister (&grub_hfs_fs); ++ if (!grub_is_lockdown()) ++ grub_fs_unregister (&grub_hfs_fs); + } +-- +2.14.2 + diff --git a/boot/grub2/0107-fs-sfs-Fix-over-read-of-root-object-name.patch b/boot/grub2/0107-fs-sfs-Fix-over-read-of-root-object-name.patch new file mode 100644 index 00000000000..840bfc247af --- /dev/null +++ b/boot/grub2/0107-fs-sfs-Fix-over-read-of-root-object-name.patch @@ -0,0 +1,50 @@ +From 8d3ae59dee2930d640add3bba983006e1f5dd1b6 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 14:34:58 +1100 +Subject: [PATCH] fs/sfs: Fix over-read of root object name + +There's a read of the name of the root object that assumes that the name +is nul-terminated within the root block. This isn't guaranteed - it seems +SFS would require you to read multiple blocks to get a full name in general, +but maybe that doesn't apply to the root object. + +Either way, figure out how much space is left in the root block and don't +over-read it. This fixes some OOB reads. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/sfs.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c +index de2b107..983e880 100644 +--- a/grub-core/fs/sfs.c ++++ b/grub-core/fs/sfs.c +@@ -373,6 +373,7 @@ grub_sfs_mount (grub_disk_t disk) + struct grub_sfs_objc *rootobjc; + char *rootobjc_data = 0; + grub_uint32_t blk; ++ unsigned int max_len; + + data = grub_malloc (sizeof (*data)); + if (!data) +@@ -421,7 +422,13 @@ grub_sfs_mount (grub_disk_t disk) + data->diropen.data = data; + data->diropen.cache = 0; + data->disk = disk; +- data->label = grub_strdup ((char *) (rootobjc->objects[0].filename)); ++ ++ /* We only read 1 block of data, so truncate the name if needed. */ ++ max_len = ((GRUB_DISK_SECTOR_SIZE << data->log_blocksize) ++ - 24 /* offsetof (struct grub_sfs_objc, objects) */ ++ - 25); /* offsetof (struct grub_sfs_obj, filename) */ ++ data->label = grub_zalloc (max_len + 1); ++ grub_strncpy (data->label, (char *) rootobjc->objects[0].filename, max_len); + + grub_free (rootobjc_data); + return data; +-- +2.14.2 + diff --git a/boot/grub2/0108-fs-jfs-Do-not-move-to-leaf-level-if-name-length-is-n.patch b/boot/grub2/0108-fs-jfs-Do-not-move-to-leaf-level-if-name-length-is-n.patch new file mode 100644 index 00000000000..dc629ba890f --- /dev/null +++ b/boot/grub2/0108-fs-jfs-Do-not-move-to-leaf-level-if-name-length-is-n.patch @@ -0,0 +1,34 @@ +From ffd5a46f68710e2781899d0be4d701429a5a817d Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 14:51:11 +1100 +Subject: [PATCH] fs/jfs: Do not move to leaf level if name length is negative + +Fuzzing JFS revealed crashes where a negative number would be passed +to le_to_cpu16_copy(). There it would be cast to a large positive number +and the copy would read and write off the end of the respective buffers. + +Catch this at the top as well as the bottom of the loop. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/jfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index d5a6d65..e5bbda6 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -567,7 +567,7 @@ grub_jfs_getent (struct grub_jfs_diropen *diro) + + /* Move down to the leaf level. */ + nextent = leaf->next; +- if (leaf->next != 255) ++ if (leaf->next != 255 && len > 0) + do + { + next_leaf = &diro->next_leaf[nextent]; +-- +2.14.2 + diff --git a/boot/grub2/0109-fs-jfs-Limit-the-extents-that-getblk-can-consider.patch b/boot/grub2/0109-fs-jfs-Limit-the-extents-that-getblk-can-consider.patch new file mode 100644 index 00000000000..9c8ecd2c626 --- /dev/null +++ b/boot/grub2/0109-fs-jfs-Limit-the-extents-that-getblk-can-consider.patch @@ -0,0 +1,62 @@ +From bd0cf8148ccf721f6e39ffbd70f8abad0c8897f0 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 14:57:17 +1100 +Subject: [PATCH] fs/jfs: Limit the extents that getblk() can consider + +getblk() implicitly trusts that treehead->count is an accurate count of +the number of extents. However, that value is read from disk and is not +trustworthy, leading to OOB reads and crashes. I am not sure to what +extent the data read from OOB can influence subsequent program execution. + +Require callers to pass in the maximum number of extents for which +they have storage. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/jfs.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index e5bbda6..804c42d 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -261,13 +261,15 @@ static grub_err_t grub_jfs_lookup_symlink (struct grub_jfs_data *data, grub_uint + static grub_int64_t + getblk (struct grub_jfs_treehead *treehead, + struct grub_jfs_tree_extent *extents, ++ int max_extents, + struct grub_jfs_data *data, + grub_uint64_t blk) + { + int found = -1; + int i; + +- for (i = 0; i < grub_le_to_cpu16 (treehead->count) - 2; i++) ++ for (i = 0; i < grub_le_to_cpu16 (treehead->count) - 2 && ++ i < max_extents; i++) + { + if (treehead->flags & GRUB_JFS_TREE_LEAF) + { +@@ -302,7 +304,7 @@ getblk (struct grub_jfs_treehead *treehead, + << (grub_le_to_cpu16 (data->sblock.log2_blksz) + - GRUB_DISK_SECTOR_BITS), 0, + sizeof (*tree), (char *) tree)) +- ret = getblk (&tree->treehead, &tree->extents[0], data, blk); ++ ret = getblk (&tree->treehead, &tree->extents[0], 254, data, blk); + grub_free (tree); + return ret; + } +@@ -316,7 +318,7 @@ static grub_int64_t + grub_jfs_blkno (struct grub_jfs_data *data, struct grub_jfs_inode *inode, + grub_uint64_t blk) + { +- return getblk (&inode->file.tree, &inode->file.extents[0], data, blk); ++ return getblk (&inode->file.tree, &inode->file.extents[0], 16, data, blk); + } + + +-- +2.14.2 + diff --git a/boot/grub2/0110-fs-jfs-Catch-infinite-recursion.patch b/boot/grub2/0110-fs-jfs-Catch-infinite-recursion.patch new file mode 100644 index 00000000000..98866599c62 --- /dev/null +++ b/boot/grub2/0110-fs-jfs-Catch-infinite-recursion.patch @@ -0,0 +1,46 @@ +From 223120dd83745126cb232a0248c9a8901d7e350d Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 15:47:24 +1100 +Subject: [PATCH] fs/jfs: Catch infinite recursion + +It's possible with a fuzzed filesystem for JFS to keep getblk()-ing +the same data over and over again, leading to stack exhaustion. + +Check if we'd be calling the function with exactly the same data as +was passed in, and if so abort. + +I'm not sure what the performance impact of this is and am open to +better ideas. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/jfs.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index 804c42d..6f7c439 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -304,7 +304,16 @@ getblk (struct grub_jfs_treehead *treehead, + << (grub_le_to_cpu16 (data->sblock.log2_blksz) + - GRUB_DISK_SECTOR_BITS), 0, + sizeof (*tree), (char *) tree)) +- ret = getblk (&tree->treehead, &tree->extents[0], 254, data, blk); ++ { ++ if (grub_memcmp (&tree->treehead, treehead, sizeof (struct grub_jfs_treehead)) || ++ grub_memcmp (&tree->extents, extents, 254 * sizeof (struct grub_jfs_tree_extent))) ++ ret = getblk (&tree->treehead, &tree->extents[0], 254, data, blk); ++ else ++ { ++ grub_error (GRUB_ERR_BAD_FS, "jfs: infinite recursion detected"); ++ ret = -1; ++ } ++ } + grub_free (tree); + return ret; + } +-- +2.14.2 + diff --git a/boot/grub2/0111-fs-nilfs2-Reject-too-large-keys.patch b/boot/grub2/0111-fs-nilfs2-Reject-too-large-keys.patch new file mode 100644 index 00000000000..d442f3cee20 --- /dev/null +++ b/boot/grub2/0111-fs-nilfs2-Reject-too-large-keys.patch @@ -0,0 +1,46 @@ +From 20ab8cb44bc140a1dedda82a3fccdd45e9bc6929 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 16:49:09 +1100 +Subject: [PATCH] fs/nilfs2: Reject too-large keys + +NILFS2 has up to 7 keys, per the data structure. Do not permit array +indices in excess of that. + +This catches some OOB reads. I don't know how controllable the invalidly +read data is or if that could be used later in the program. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/nilfs2.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c +index 7ed148d..fee2242 100644 +--- a/grub-core/fs/nilfs2.c ++++ b/grub-core/fs/nilfs2.c +@@ -569,6 +569,11 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data, + static inline grub_uint64_t + grub_nilfs2_direct_lookup (struct grub_nilfs2_inode *inode, grub_uint64_t key) + { ++ if (1 + key > 6) ++ { ++ grub_error (GRUB_ERR_BAD_FS, "key is too large"); ++ return 0xffffffffffffffff; ++ } + return grub_le_to_cpu64 (inode->i_bmap[1 + key]); + } + +@@ -584,7 +589,7 @@ grub_nilfs2_bmap_lookup (struct grub_nilfs2_data *data, + { + grub_uint64_t ptr; + ptr = grub_nilfs2_direct_lookup (inode, key); +- if (need_translate) ++ if (ptr != ((grub_uint64_t) 0xffffffffffffffff) && need_translate) + ptr = grub_nilfs2_dat_translate (data, ptr); + return ptr; + } +-- +2.14.2 + diff --git a/boot/grub2/0112-fs-nilfs2-Don-t-search-children-if-provided-number-i.patch b/boot/grub2/0112-fs-nilfs2-Don-t-search-children-if-provided-number-i.patch new file mode 100644 index 00000000000..426aceebe76 --- /dev/null +++ b/boot/grub2/0112-fs-nilfs2-Don-t-search-children-if-provided-number-i.patch @@ -0,0 +1,100 @@ +From 37c0eb05cdcc64c28d31c4ebd300f14d5239d05e Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 16:49:44 +1100 +Subject: [PATCH] fs/nilfs2: Don't search children if provided number is too + large + +NILFS2 reads the number of children a node has from the node. Unfortunately, +that's not trustworthy. Check if it's beyond what the filesystem permits and +reject it if so. + +This blocks some OOB reads. I'm not sure how controllable the read is and what +could be done with invalidly read data later on. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/nilfs2.c | 38 +++++++++++++++++++++++--------------- + 1 file changed, 23 insertions(+), 15 deletions(-) + +diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c +index fee2242..43ac1ad 100644 +--- a/grub-core/fs/nilfs2.c ++++ b/grub-core/fs/nilfs2.c +@@ -416,14 +416,34 @@ grub_nilfs2_btree_node_get_key (struct grub_nilfs2_btree_node *node, + } + + static inline int +-grub_nilfs2_btree_node_lookup (struct grub_nilfs2_btree_node *node, ++grub_nilfs2_btree_node_nchildren_max (struct grub_nilfs2_data *data, ++ struct grub_nilfs2_btree_node *node) ++{ ++ int node_children_max = ((NILFS2_BLOCK_SIZE (data) - ++ sizeof (struct grub_nilfs2_btree_node) - ++ NILFS_BTREE_NODE_EXTRA_PAD_SIZE) / ++ (sizeof (grub_uint64_t) + sizeof (grub_uint64_t))); ++ ++ return (node->bn_flags & NILFS_BTREE_NODE_ROOT) ? 3 : node_children_max; ++} ++ ++static inline int ++grub_nilfs2_btree_node_lookup (struct grub_nilfs2_data *data, ++ struct grub_nilfs2_btree_node *node, + grub_uint64_t key, int *indexp) + { + grub_uint64_t nkey; + int index, low, high, s; + + low = 0; ++ + high = grub_le_to_cpu16 (node->bn_nchildren) - 1; ++ if (high >= grub_nilfs2_btree_node_nchildren_max (data, node)) ++ { ++ grub_error (GRUB_ERR_BAD_FS, "too many children"); ++ return 0; ++ } ++ + index = 0; + s = 0; + while (low <= high) +@@ -459,18 +479,6 @@ grub_nilfs2_btree_node_lookup (struct grub_nilfs2_btree_node *node, + return s == 0; + } + +-static inline int +-grub_nilfs2_btree_node_nchildren_max (struct grub_nilfs2_data *data, +- struct grub_nilfs2_btree_node *node) +-{ +- int node_children_max = ((NILFS2_BLOCK_SIZE (data) - +- sizeof (struct grub_nilfs2_btree_node) - +- NILFS_BTREE_NODE_EXTRA_PAD_SIZE) / +- (sizeof (grub_uint64_t) + sizeof (grub_uint64_t))); +- +- return (node->bn_flags & NILFS_BTREE_NODE_ROOT) ? 3 : node_children_max; +-} +- + static inline grub_uint64_t * + grub_nilfs2_btree_node_dptrs (struct grub_nilfs2_data *data, + struct grub_nilfs2_btree_node *node) +@@ -517,7 +525,7 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data, + node = grub_nilfs2_btree_get_root (inode); + level = grub_nilfs2_btree_get_level (node); + +- found = grub_nilfs2_btree_node_lookup (node, key, &index); ++ found = grub_nilfs2_btree_node_lookup (data, node, key, &index); + ptr = grub_nilfs2_btree_node_get_ptr (data, node, index); + if (need_translate) + ptr = grub_nilfs2_dat_translate (data, ptr); +@@ -538,7 +546,7 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data, + } + + if (!found) +- found = grub_nilfs2_btree_node_lookup (node, key, &index); ++ found = grub_nilfs2_btree_node_lookup (data, node, key, &index); + else + index = 0; + +-- +2.14.2 + diff --git a/boot/grub2/0113-fs-nilfs2-Properly-bail-on-errors-in-grub_nilfs2_btr.patch b/boot/grub2/0113-fs-nilfs2-Properly-bail-on-errors-in-grub_nilfs2_btr.patch new file mode 100644 index 00000000000..85cb82d1ee1 --- /dev/null +++ b/boot/grub2/0113-fs-nilfs2-Properly-bail-on-errors-in-grub_nilfs2_btr.patch @@ -0,0 +1,68 @@ +From ca5d9ac206043b1fb4cb06259272fb1c5946bb6d Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 17:06:19 +1100 +Subject: [PATCH] fs/nilfs2: Properly bail on errors in + grub_nilfs2_btree_node_lookup() + +We just introduced an error return in grub_nilfs2_btree_node_lookup(). +Make sure the callers catch it. + +At the same time, make sure that grub_nilfs2_btree_node_lookup() always +inits the index pointer passed to it. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/nilfs2.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c +index 43ac1ad..aaba002 100644 +--- a/grub-core/fs/nilfs2.c ++++ b/grub-core/fs/nilfs2.c +@@ -433,7 +433,7 @@ grub_nilfs2_btree_node_lookup (struct grub_nilfs2_data *data, + grub_uint64_t key, int *indexp) + { + grub_uint64_t nkey; +- int index, low, high, s; ++ int index = 0, low, high, s; + + low = 0; + +@@ -441,10 +441,10 @@ grub_nilfs2_btree_node_lookup (struct grub_nilfs2_data *data, + if (high >= grub_nilfs2_btree_node_nchildren_max (data, node)) + { + grub_error (GRUB_ERR_BAD_FS, "too many children"); ++ *indexp = index; + return 0; + } + +- index = 0; + s = 0; + while (low <= high) + { +@@ -526,6 +526,10 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data, + level = grub_nilfs2_btree_get_level (node); + + found = grub_nilfs2_btree_node_lookup (data, node, key, &index); ++ ++ if (grub_errno != GRUB_ERR_NONE) ++ goto fail; ++ + ptr = grub_nilfs2_btree_node_get_ptr (data, node, index); + if (need_translate) + ptr = grub_nilfs2_dat_translate (data, ptr); +@@ -550,7 +554,8 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data, + else + index = 0; + +- if (index < grub_nilfs2_btree_node_nchildren_max (data, node)) ++ if (index < grub_nilfs2_btree_node_nchildren_max (data, node) && ++ grub_errno == GRUB_ERR_NONE) + { + ptr = grub_nilfs2_btree_node_get_ptr (data, node, index); + if (need_translate) +-- +2.14.2 + diff --git a/boot/grub2/0114-io-gzio-Bail-if-gzio-tl-td-is-NULL.patch b/boot/grub2/0114-io-gzio-Bail-if-gzio-tl-td-is-NULL.patch new file mode 100644 index 00000000000..cf6b778401d --- /dev/null +++ b/boot/grub2/0114-io-gzio-Bail-if-gzio-tl-td-is-NULL.patch @@ -0,0 +1,67 @@ +From 3334a5e6c86f10e715cca3bf66ce0fc2f164b61b Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Wed, 13 Jan 2021 20:59:09 +1100 +Subject: [PATCH] io/gzio: Bail if gzio->tl/td is NULL + +This is an ugly fix that doesn't address why gzio->tl comes to be NULL. +However, it seems to be sufficient to patch up a bunch of NULL derefs. + +It would be good to revisit this in future and see if we can have +a cleaner solution that addresses some of the causes of the unexpected +NULL pointers. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/io/gzio.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c +index 43d98a7..4a8eaea 100644 +--- a/grub-core/io/gzio.c ++++ b/grub-core/io/gzio.c +@@ -669,6 +669,13 @@ inflate_codes_in_window (grub_gzio_t gzio) + { + if (! gzio->code_state) + { ++ ++ if (gzio->tl == NULL) ++ { ++ grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "NULL gzio->tl"); ++ return 1; ++ } ++ + NEEDBITS ((unsigned) gzio->bl); + if ((e = (t = gzio->tl + ((unsigned) b & ml))->e) > 16) + do +@@ -707,6 +714,12 @@ inflate_codes_in_window (grub_gzio_t gzio) + n = t->v.n + ((unsigned) b & mask_bits[e]); + DUMPBITS (e); + ++ if (gzio->td == NULL) ++ { ++ grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "NULL gzio->td"); ++ return 1; ++ } ++ + /* decode distance of block to copy */ + NEEDBITS ((unsigned) gzio->bd); + if ((e = (t = gzio->td + ((unsigned) b & md))->e) > 16) +@@ -917,6 +930,13 @@ init_dynamic_block (grub_gzio_t gzio) + n = nl + nd; + m = mask_bits[gzio->bl]; + i = l = 0; ++ ++ if (gzio->tl == NULL) ++ { ++ grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "NULL gzio->tl"); ++ return; ++ } ++ + while ((unsigned) i < n) + { + NEEDBITS ((unsigned) gzio->bl); +-- +2.14.2 + diff --git a/boot/grub2/0115-io-gzio-Add-init_dynamic_block-clean-up-if-unpacking.patch b/boot/grub2/0115-io-gzio-Add-init_dynamic_block-clean-up-if-unpacking.patch new file mode 100644 index 00000000000..25b270aeebf --- /dev/null +++ b/boot/grub2/0115-io-gzio-Add-init_dynamic_block-clean-up-if-unpacking.patch @@ -0,0 +1,67 @@ +From 18490336d91da2b532277cba56473bfed1376fc4 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 00:05:58 +1100 +Subject: [PATCH] io/gzio: Add init_dynamic_block() clean up if unpacking codes + fails + +init_dynamic_block() didn't clean up gzio->tl and td in some error +paths. This left td pointing to part of tl. Then in grub_gzio_close(), +when tl was freed the storage for td would also be freed. The code then +attempts to free td explicitly, performing a UAF and then a double free. + +Explicitly clean up tl and td in the error paths. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/io/gzio.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c +index 4a8eaea..4236f0f 100644 +--- a/grub-core/io/gzio.c ++++ b/grub-core/io/gzio.c +@@ -953,7 +953,7 @@ init_dynamic_block (grub_gzio_t gzio) + if ((unsigned) i + j > n) + { + grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "too many codes found"); +- return; ++ goto fail; + } + while (j--) + ll[i++] = l; +@@ -966,7 +966,7 @@ init_dynamic_block (grub_gzio_t gzio) + if ((unsigned) i + j > n) + { + grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "too many codes found"); +- return; ++ goto fail; + } + while (j--) + ll[i++] = 0; +@@ -981,7 +981,7 @@ init_dynamic_block (grub_gzio_t gzio) + if ((unsigned) i + j > n) + { + grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "too many codes found"); +- return; ++ goto fail; + } + while (j--) + ll[i++] = 0; +@@ -1019,6 +1019,12 @@ init_dynamic_block (grub_gzio_t gzio) + /* indicate we're now working on a block */ + gzio->code_state = 0; + gzio->block_len++; ++ return; ++ ++ fail: ++ huft_free (gzio->tl); ++ gzio->td = NULL; ++ gzio->tl = NULL; + } + + +-- +2.14.2 + diff --git a/boot/grub2/0116-io-gzio-Catch-missing-values-in-huft_build-and-bail.patch b/boot/grub2/0116-io-gzio-Catch-missing-values-in-huft_build-and-bail.patch new file mode 100644 index 00000000000..3ee520c141e --- /dev/null +++ b/boot/grub2/0116-io-gzio-Catch-missing-values-in-huft_build-and-bail.patch @@ -0,0 +1,57 @@ +From 4e76b08f7171a8603d74fcafb27409a91f578647 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 12:20:49 +1100 +Subject: [PATCH] io/gzio: Catch missing values in huft_build() and bail + +In huft_build(), "v" is a table of values in order of bit length. +The code later (when setting up table entries in "r") assumes that all +elements of this array corresponding to a code are initialized and less +than N_MAX. However, it doesn't enforce this. + +With sufficiently manipulated inputs (e.g. from fuzzing), there can be +elements of "v" that are not filled. Therefore a lookup into "e" or "d" +will use an uninitialized value. This can lead to an invalid/OOB read on +those values, often leading to a crash. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/io/gzio.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c +index 4236f0f..19adebe 100644 +--- a/grub-core/io/gzio.c ++++ b/grub-core/io/gzio.c +@@ -507,6 +507,7 @@ huft_build (unsigned *b, /* code lengths in bits (all assumed <= BMAX) */ + } + + /* Make a table of values in order of bit lengths */ ++ grub_memset (v, N_MAX, ARRAY_SIZE (v)); + p = b; + i = 0; + do +@@ -588,11 +589,18 @@ huft_build (unsigned *b, /* code lengths in bits (all assumed <= BMAX) */ + r.v.n = (ush) (*p); /* simple code is just the value */ + p++; /* one compiler does not like *p++ */ + } +- else ++ else if (*p < N_MAX) + { + r.e = (uch) e[*p - s]; /* non-simple--look up in lists */ + r.v.n = d[*p++ - s]; + } ++ else ++ { ++ /* Detected an uninitialised value, abort. */ ++ if (h) ++ huft_free (u[0]); ++ return 2; ++ } + + /* fill code-like entries with r */ + f = 1 << (k - w); +-- +2.14.2 + diff --git a/boot/grub2/0117-io-gzio-Zero-gzio-tl-td-in-init_dynamic_block-if-huf.patch b/boot/grub2/0117-io-gzio-Zero-gzio-tl-td-in-init_dynamic_block-if-huf.patch new file mode 100644 index 00000000000..a7ae3fb9ed3 --- /dev/null +++ b/boot/grub2/0117-io-gzio-Zero-gzio-tl-td-in-init_dynamic_block-if-huf.patch @@ -0,0 +1,42 @@ +From b5a2b59cc5b8f5ee7ba3b951e7693e402d5b3a6f Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 12:22:28 +1100 +Subject: [PATCH] io/gzio: Zero gzio->tl/td in init_dynamic_block() if + huft_build() fails + +If huft_build() fails, gzio->tl or gzio->td could contain pointers that +are no longer valid. Zero them out. + +This prevents a double free when grub_gzio_close() comes through and +attempts to free them again. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/io/gzio.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c +index 19adebe..aea86a0 100644 +--- a/grub-core/io/gzio.c ++++ b/grub-core/io/gzio.c +@@ -1010,6 +1010,7 @@ init_dynamic_block (grub_gzio_t gzio) + gzio->bl = lbits; + if (huft_build (ll, nl, 257, cplens, cplext, &gzio->tl, &gzio->bl) != 0) + { ++ gzio->tl = 0; + grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, + "failed in building a Huffman code table"); + return; +@@ -1019,6 +1020,7 @@ init_dynamic_block (grub_gzio_t gzio) + { + huft_free (gzio->tl); + gzio->tl = 0; ++ gzio->td = 0; + grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, + "failed in building a Huffman code table"); + return; +-- +2.14.2 + diff --git a/boot/grub2/0118-disk-lvm-Don-t-go-beyond-the-end-of-the-data-we-read.patch b/boot/grub2/0118-disk-lvm-Don-t-go-beyond-the-end-of-the-data-we-read.patch new file mode 100644 index 00000000000..31c99fbce7c --- /dev/null +++ b/boot/grub2/0118-disk-lvm-Don-t-go-beyond-the-end-of-the-data-we-read.patch @@ -0,0 +1,49 @@ +From a8cc95de74ccc3ad090e8062ac335c844f13c9f4 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 17:59:14 +1100 +Subject: [PATCH] disk/lvm: Don't go beyond the end of the data we read from + disk + +We unconditionally trusted offset_xl from the LVM label header, even if +it told us that the PV header/disk locations were way off past the end +of the data we read from disk. + +Require that the offset be sane, fixing an OOB read and crash. + +Fixes: CID 314367, CID 314371 + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/lvm.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index 139fafd..8136122 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -141,6 +141,20 @@ grub_lvm_detect (grub_disk_t disk, + goto fail; + } + ++ /* ++ * We read a grub_lvm_pv_header and then 2 grub_lvm_disk_locns that ++ * immediately follow the PV header. Make sure we have space for both. ++ */ ++ if (grub_le_to_cpu32 (lh->offset_xl) >= ++ GRUB_LVM_LABEL_SIZE - sizeof (struct grub_lvm_pv_header) - ++ 2 * sizeof (struct grub_lvm_disk_locn)) ++ { ++#ifdef GRUB_UTIL ++ grub_util_info ("LVM PV header/disk locations are beyond the end of the block"); ++#endif ++ goto fail; ++ } ++ + pvh = (struct grub_lvm_pv_header *) (buf + grub_le_to_cpu32(lh->offset_xl)); + + for (i = 0, j = 0; i < GRUB_LVM_ID_LEN; i++) +-- +2.14.2 + diff --git a/boot/grub2/0119-disk-lvm-Don-t-blast-past-the-end-of-the-circular-me.patch b/boot/grub2/0119-disk-lvm-Don-t-blast-past-the-end-of-the-circular-me.patch new file mode 100644 index 00000000000..4f083847c2b --- /dev/null +++ b/boot/grub2/0119-disk-lvm-Don-t-blast-past-the-end-of-the-circular-me.patch @@ -0,0 +1,43 @@ +From 27a79bf38e6d050e497eb96a3fdddce43af25577 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 18:19:51 +1100 +Subject: [PATCH] disk/lvm: Don't blast past the end of the circular metadata + buffer + +This catches at least some OOB reads, and it's possible I suppose that +if 2 * mda_size is less than GRUB_LVM_MDA_HEADER_SIZE it might catch some +OOB writes too (although that hasn't showed up as a crash in fuzzing yet). + +It's a bit ugly and I'd appreciate better suggestions. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/lvm.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index 8136122..36da575 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -214,6 +214,16 @@ grub_lvm_detect (grub_disk_t disk, + if (grub_le_to_cpu64 (rlocn->offset) + grub_le_to_cpu64 (rlocn->size) > + grub_le_to_cpu64 (mdah->size)) + { ++ if (2 * mda_size < GRUB_LVM_MDA_HEADER_SIZE || ++ (grub_le_to_cpu64 (rlocn->offset) + grub_le_to_cpu64 (rlocn->size) - ++ grub_le_to_cpu64 (mdah->size) > mda_size - GRUB_LVM_MDA_HEADER_SIZE)) ++ { ++#ifdef GRUB_UTIL ++ grub_util_info ("cannot copy metadata wrap in circular buffer"); ++#endif ++ goto fail2; ++ } ++ + /* Metadata is circular. Copy the wrap in place. */ + grub_memcpy (metadatabuf + mda_size, + metadatabuf + GRUB_LVM_MDA_HEADER_SIZE, +-- +2.14.2 + diff --git a/boot/grub2/0120-disk-lvm-Bail-on-missing-PV-list.patch b/boot/grub2/0120-disk-lvm-Bail-on-missing-PV-list.patch new file mode 100644 index 00000000000..f23740655c7 --- /dev/null +++ b/boot/grub2/0120-disk-lvm-Bail-on-missing-PV-list.patch @@ -0,0 +1,35 @@ +From 2958695c4cdc785de6ed708709af071a2d20afef Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 18:54:29 +1100 +Subject: [PATCH] disk/lvm: Bail on missing PV list + +There's an if block for the presence of "physical_volumes {", but if +that block is absent, then p remains NULL and a NULL-deref will result +when looking for logical volumes. + +It doesn't seem like LVM makes sense without physical volumes, so error +out rather than crashing. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/lvm.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index 36da575..8e560f3 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -370,6 +370,8 @@ grub_lvm_detect (grub_disk_t disk, + goto fail4; + } + } ++ else ++ goto fail4; + + p = grub_strstr (p, "logical_volumes {"); + if (p) +-- +2.14.2 + diff --git a/boot/grub2/0121-disk-lvm-Do-not-crash-if-an-expected-string-is-not-f.patch b/boot/grub2/0121-disk-lvm-Do-not-crash-if-an-expected-string-is-not-f.patch new file mode 100644 index 00000000000..720e5a21844 --- /dev/null +++ b/boot/grub2/0121-disk-lvm-Do-not-crash-if-an-expected-string-is-not-f.patch @@ -0,0 +1,83 @@ +From db29073fc7aec71a40dabfc722a96ea9f3280907 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 18:35:22 +1100 +Subject: [PATCH] disk/lvm: Do not crash if an expected string is not found + +Clean up a bunch of cases where we could have strstr() fail and lead to +us dereferencing NULL. + +We'll still leak memory in some cases (loops don't clean up allocations +from earlier iterations if a later iteration fails) but at least we're +not crashing. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/lvm.c | 22 +++++++++++++++++----- + 1 file changed, 17 insertions(+), 5 deletions(-) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index 8e560f3..bd5ae87 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -539,7 +539,16 @@ grub_lvm_detect (grub_disk_t disk, + } + + if (seg->node_count != 1) +- seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = "); ++ { ++ seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = "); ++ if (p == NULL) ++ { ++#ifdef GRUB_UTIL ++ grub_util_info ("unknown stripe_size"); ++#endif ++ goto lvs_segment_fail; ++ } ++ } + + seg->nodes = grub_calloc (seg->node_count, + sizeof (*stripe)); +@@ -559,7 +568,7 @@ grub_lvm_detect (grub_disk_t disk, + { + p = grub_strchr (p, '"'); + if (p == NULL) +- continue; ++ goto lvs_segment_fail2; + q = ++p; + while (*q != '"') + q++; +@@ -578,7 +587,10 @@ grub_lvm_detect (grub_disk_t disk, + stripe->start = grub_lvm_getvalue (&p, ",") + * vg->extent_size; + if (p == NULL) +- continue; ++ { ++ grub_free (stripe->name); ++ goto lvs_segment_fail2; ++ } + + stripe++; + } +@@ -615,7 +627,7 @@ grub_lvm_detect (grub_disk_t disk, + + p = grub_strchr (p, '"'); + if (p == NULL) +- continue; ++ goto lvs_segment_fail2; + q = ++p; + while (*q != '"') + q++; +@@ -703,7 +715,7 @@ grub_lvm_detect (grub_disk_t disk, + p = p ? grub_strchr (p + 1, '"') : 0; + p = p ? grub_strchr (p + 1, '"') : 0; + if (p == NULL) +- continue; ++ goto lvs_segment_fail2; + q = ++p; + while (*q != '"') + q++; +-- +2.14.2 + diff --git a/boot/grub2/0122-disk-lvm-Do-not-overread-metadata.patch b/boot/grub2/0122-disk-lvm-Do-not-overread-metadata.patch new file mode 100644 index 00000000000..1aeb61ca591 --- /dev/null +++ b/boot/grub2/0122-disk-lvm-Do-not-overread-metadata.patch @@ -0,0 +1,111 @@ +From 1155d7dffd3337942cb7583706b429d567d4db86 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Thu, 21 Jan 2021 18:35:22 +1100 +Subject: [PATCH] disk/lvm: Do not overread metadata + +We could reach the end of valid metadata and not realize, leading to +some buffer overreads. Check if we have reached the end and bail. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/lvm.c | 31 +++++++++++++++++++++++++------ + 1 file changed, 25 insertions(+), 6 deletions(-) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index bd5ae87..742ecd6 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -313,17 +313,23 @@ grub_lvm_detect (grub_disk_t disk, + while (1) + { + grub_ssize_t s; +- while (grub_isspace (*p)) ++ while (grub_isspace (*p) && p < mda_end) + p++; + ++ if (p == mda_end) ++ goto fail4; ++ + if (*p == '}') + break; + + pv = grub_zalloc (sizeof (*pv)); + q = p; +- while (*q != ' ') ++ while (*q != ' ' && q < mda_end) + q++; + ++ if (q == mda_end) ++ goto pvs_fail_noname; ++ + s = q - p; + pv->name = grub_malloc (s + 1); + grub_memcpy (pv->name, p, s); +@@ -366,6 +372,7 @@ grub_lvm_detect (grub_disk_t disk, + continue; + pvs_fail: + grub_free (pv->name); ++ pvs_fail_noname: + grub_free (pv); + goto fail4; + } +@@ -387,18 +394,24 @@ grub_lvm_detect (grub_disk_t disk, + struct grub_diskfilter_segment *seg; + int is_pvmove; + +- while (grub_isspace (*p)) ++ while (grub_isspace (*p) && p < mda_end) + p++; + ++ if (p == mda_end) ++ goto fail4; ++ + if (*p == '}') + break; + + lv = grub_zalloc (sizeof (*lv)); + + q = p; +- while (*q != ' ') ++ while (*q != ' ' && q < mda_end) + q++; + ++ if (q == mda_end) ++ goto lvs_fail; ++ + s = q - p; + lv->name = grub_strndup (p, s); + if (!lv->name) +@@ -570,9 +583,12 @@ grub_lvm_detect (grub_disk_t disk, + if (p == NULL) + goto lvs_segment_fail2; + q = ++p; +- while (*q != '"') ++ while (q < mda_end && *q != '"') + q++; + ++ if (q == mda_end) ++ goto lvs_segment_fail2; ++ + s = q - p; + + stripe->name = grub_malloc (s + 1); +@@ -629,9 +645,12 @@ grub_lvm_detect (grub_disk_t disk, + if (p == NULL) + goto lvs_segment_fail2; + q = ++p; +- while (*q != '"') ++ while (q < mda_end && *q != '"') + q++; + ++ if (q == mda_end) ++ goto lvs_segment_fail2; ++ + s = q - p; + + lvname = grub_malloc (s + 1); +-- +2.14.2 + diff --git a/boot/grub2/0123-disk-lvm-Sanitize-rlocn-offset-to-prevent-wild-read.patch b/boot/grub2/0123-disk-lvm-Sanitize-rlocn-offset-to-prevent-wild-read.patch new file mode 100644 index 00000000000..449e2634fc6 --- /dev/null +++ b/boot/grub2/0123-disk-lvm-Sanitize-rlocn-offset-to-prevent-wild-read.patch @@ -0,0 +1,41 @@ +From 701293684742d00133b39bf957d3642c81dc83f4 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 22 Jan 2021 14:43:58 +1100 +Subject: [PATCH] disk/lvm: Sanitize rlocn->offset to prevent wild read + +rlocn->offset is read directly from disk and added to the metadatabuf +pointer to create a pointer to a block of metadata. It's a 64-bit +quantity so as long as you don't overflow you can set subsequent +pointers to point anywhere in memory. + +Require that rlocn->offset fits within the metadata buffer size. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/lvm.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index 742ecd6..ed0712f 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -211,6 +211,14 @@ grub_lvm_detect (grub_disk_t disk, + } + + rlocn = mdah->raw_locns; ++ if (grub_le_to_cpu64 (rlocn->offset) >= grub_le_to_cpu64 (mda_size)) ++ { ++#ifdef GRUB_UTIL ++ grub_util_info ("metadata offset is beyond end of metadata area"); ++#endif ++ goto fail2; ++ } ++ + if (grub_le_to_cpu64 (rlocn->offset) + grub_le_to_cpu64 (rlocn->size) > + grub_le_to_cpu64 (mdah->size)) + { +-- +2.14.2 + diff --git a/boot/grub2/0124-disk-lvm-Do-not-allow-a-LV-to-be-it-s-own-segment-s-.patch b/boot/grub2/0124-disk-lvm-Do-not-allow-a-LV-to-be-it-s-own-segment-s-.patch new file mode 100644 index 00000000000..183b1fff666 --- /dev/null +++ b/boot/grub2/0124-disk-lvm-Do-not-allow-a-LV-to-be-it-s-own-segment-s-.patch @@ -0,0 +1,39 @@ +From e18a00073890021362b4a48097672f1d4b340d3c Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 22 Jan 2021 14:42:21 +1100 +Subject: [PATCH] disk/lvm: Do not allow a LV to be it's own segment's node's + LV + +This prevents infinite recursion in the diskfilter verification code. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/disk/lvm.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index ed0712f..81dc375 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -838,9 +838,13 @@ grub_lvm_detect (grub_disk_t disk, + } + if (lv1->segments[i].nodes[j].pv == NULL) + for (lv2 = vg->lvs; lv2; lv2 = lv2->next) +- if (grub_strcmp (lv2->name, +- lv1->segments[i].nodes[j].name) == 0) +- lv1->segments[i].nodes[j].lv = lv2; ++ { ++ if (lv1 == lv2) ++ continue; ++ if (grub_strcmp (lv2->name, ++ lv1->segments[i].nodes[j].name) == 0) ++ lv1->segments[i].nodes[j].lv = lv2; ++ } + } + + } +-- +2.14.2 + diff --git a/boot/grub2/0125-fs-btrfs-Validate-the-number-of-stripes-parities-in-.patch b/boot/grub2/0125-fs-btrfs-Validate-the-number-of-stripes-parities-in-.patch new file mode 100644 index 00000000000..2caa1b038bf --- /dev/null +++ b/boot/grub2/0125-fs-btrfs-Validate-the-number-of-stripes-parities-in-.patch @@ -0,0 +1,33 @@ +From b88a82e78cdd0ab8e0339c1c3f9564c4d8c0c969 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 17:17:16 +1100 +Subject: [PATCH] fs/btrfs: Validate the number of stripes/parities in RAID5/6 + +This prevents a divide by zero if nstripes == nparities, and +also prevents propagation of invalid values if nstripes ends up +less than nparities. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/btrfs.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c +index 2b65bd5..e4e87ba 100644 +--- a/grub-core/fs/btrfs.c ++++ b/grub-core/fs/btrfs.c +@@ -1076,6 +1076,9 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr, + * stripen is computed without the parities + * (0 for A0, A1, A2, 1 for B0, B1, B2, etc.). + */ ++ if (nparities >= nstripes) ++ return grub_error (GRUB_ERR_BAD_FS, ++ "invalid RAID5/6: nparities >= nstripes"); + high = grub_divmod64 (stripe_nr, nstripes - nparities, &stripen); + + /* +-- +2.14.2 + diff --git a/boot/grub2/0126-fs-btrfs-Squash-some-uninitialized-reads.patch b/boot/grub2/0126-fs-btrfs-Squash-some-uninitialized-reads.patch new file mode 100644 index 00000000000..32381f09b4c --- /dev/null +++ b/boot/grub2/0126-fs-btrfs-Squash-some-uninitialized-reads.patch @@ -0,0 +1,43 @@ +From b911884dd707ba1e6f641eb17857df3155013a45 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Mon, 18 Jan 2021 17:27:18 +1100 +Subject: [PATCH] fs/btrfs: Squash some uninitialized reads + +We need to check errors before calling into a function that uses the result. + +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/fs/btrfs.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c +index e4e87ba..d489cb0 100644 +--- a/grub-core/fs/btrfs.c ++++ b/grub-core/fs/btrfs.c +@@ -381,9 +381,9 @@ next (struct grub_btrfs_data *data, + + err = grub_btrfs_read_logical (data, grub_le_to_cpu64 (node.addr), + &head, sizeof (head), 0); +- check_btrfs_header (data, &head, grub_le_to_cpu64 (node.addr)); + if (err) + return -err; ++ check_btrfs_header (data, &head, grub_le_to_cpu64 (node.addr)); + + save_ref (desc, grub_le_to_cpu64 (node.addr), 0, + grub_le_to_cpu32 (head.nitems), !head.level); +@@ -443,9 +443,9 @@ lower_bound (struct grub_btrfs_data *data, + /* FIXME: preread few nodes into buffer. */ + err = grub_btrfs_read_logical (data, addr, &head, sizeof (head), + recursion_depth + 1); +- check_btrfs_header (data, &head, addr); + if (err) + return err; ++ check_btrfs_header (data, &head, addr); + addr += sizeof (head); + if (head.level) + { +-- +2.14.2 + diff --git a/boot/grub2/0127-kern-parser-Fix-a-memory-leak.patch b/boot/grub2/0127-kern-parser-Fix-a-memory-leak.patch new file mode 100644 index 00000000000..77b1cac291b --- /dev/null +++ b/boot/grub2/0127-kern-parser-Fix-a-memory-leak.patch @@ -0,0 +1,77 @@ +From c6c426e5ab6ea715153b72584de6bd8c82f698ec Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Wed, 18 Nov 2020 00:59:24 +0000 +Subject: [PATCH] kern/parser: Fix a memory leak + +The getline() function supplied to grub_parser_split_cmdline() returns +a newly allocated buffer and can be called multiple times, but the +returned buffer is never freed. + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/parser.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c +index d1cf061..39e4df6 100644 +--- a/grub-core/kern/parser.c ++++ b/grub-core/kern/parser.c +@@ -140,6 +140,7 @@ grub_parser_split_cmdline (const char *cmdline, + char buffer[1024]; + char *bp = buffer; + char *rd = (char *) cmdline; ++ char *rp = rd; + char varname[200]; + char *vp = varname; + char *args; +@@ -149,10 +150,18 @@ grub_parser_split_cmdline (const char *cmdline, + *argv = NULL; + do + { +- if (!rd || !*rd) ++ if (rp == NULL || *rp == '\0') + { ++ if (rd != cmdline) ++ { ++ grub_free (rd); ++ rd = rp = NULL; ++ } + if (getline) +- getline (&rd, 1, getline_data); ++ { ++ getline (&rd, 1, getline_data); ++ rp = rd; ++ } + else + break; + } +@@ -160,12 +169,12 @@ grub_parser_split_cmdline (const char *cmdline, + if (!rd) + break; + +- for (; *rd; rd++) ++ for (; *rp != '\0'; rp++) + { + grub_parser_state_t newstate; + char use; + +- newstate = grub_parser_cmdline_state (state, *rd, &use); ++ newstate = grub_parser_cmdline_state (state, *rp, &use); + + /* If a variable was being processed and this character does + not describe the variable anymore, write the variable to +@@ -198,6 +207,9 @@ grub_parser_split_cmdline (const char *cmdline, + } + while (state != GRUB_PARSER_STATE_TEXT && !check_varstate (state)); + ++ if (rd != cmdline) ++ grub_free (rd); ++ + /* A special case for when the last character was part of a + variable. */ + add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT); +-- +2.14.2 + diff --git a/boot/grub2/0128-kern-parser-Introduce-process_char-helper.patch b/boot/grub2/0128-kern-parser-Introduce-process_char-helper.patch new file mode 100644 index 00000000000..f771748b08a --- /dev/null +++ b/boot/grub2/0128-kern-parser-Introduce-process_char-helper.patch @@ -0,0 +1,120 @@ +From b1c9e9e889e4273fb15712051c887e6078511448 Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Tue, 5 Jan 2021 22:17:28 +0000 +Subject: [PATCH] kern/parser: Introduce process_char() helper + +grub_parser_split_cmdline() iterates over each command line character. +In order to add error checking and to simplify the subsequent error +handling, split the character processing in to a separate function. + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/parser.c | 74 ++++++++++++++++++++++++++++++------------------- + 1 file changed, 46 insertions(+), 28 deletions(-) + +diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c +index 39e4df6..0d3582b 100644 +--- a/grub-core/kern/parser.c ++++ b/grub-core/kern/parser.c +@@ -1,7 +1,7 @@ + /* parser.c - the part of the parser that can return partial tokens */ + /* + * GRUB -- GRand Unified Bootloader +- * Copyright (C) 2005,2007,2009 Free Software Foundation, Inc. ++ * Copyright (C) 2005,2007,2009,2021 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -129,6 +129,46 @@ add_var (char *varname, char **bp, char **vp, + *((*bp)++) = *val; + } + ++static grub_err_t ++process_char (char c, char *buffer, char **bp, char *varname, char **vp, ++ grub_parser_state_t state, int *argc, ++ grub_parser_state_t *newstate) ++{ ++ char use; ++ ++ *newstate = grub_parser_cmdline_state (state, c, &use); ++ ++ /* ++ * If a variable was being processed and this character does ++ * not describe the variable anymore, write the variable to ++ * the buffer. ++ */ ++ add_var (varname, bp, vp, state, *newstate); ++ ++ if (check_varstate (*newstate)) ++ { ++ if (use) ++ *((*vp)++) = use; ++ } ++ else if (*newstate == GRUB_PARSER_STATE_TEXT && ++ state != GRUB_PARSER_STATE_ESC && grub_isspace (use)) ++ { ++ /* ++ * Don't add more than one argument if multiple ++ * spaces are used. ++ */ ++ if (*bp != buffer && *((*bp) - 1) != '\0') ++ { ++ *((*bp)++) = '\0'; ++ (*argc)++; ++ } ++ } ++ else if (use) ++ *((*bp)++) = use; ++ ++ return GRUB_ERR_NONE; ++} ++ + grub_err_t + grub_parser_split_cmdline (const char *cmdline, + grub_reader_getline_t getline, void *getline_data, +@@ -172,35 +212,13 @@ grub_parser_split_cmdline (const char *cmdline, + for (; *rp != '\0'; rp++) + { + grub_parser_state_t newstate; +- char use; +- +- newstate = grub_parser_cmdline_state (state, *rp, &use); + +- /* If a variable was being processed and this character does +- not describe the variable anymore, write the variable to +- the buffer. */ +- add_var (varname, &bp, &vp, state, newstate); +- +- if (check_varstate (newstate)) +- { +- if (use) +- *(vp++) = use; +- } +- else ++ if (process_char (*rp, buffer, &bp, varname, &vp, state, argc, ++ &newstate) != GRUB_ERR_NONE) + { +- if (newstate == GRUB_PARSER_STATE_TEXT +- && state != GRUB_PARSER_STATE_ESC && grub_isspace (use)) +- { +- /* Don't add more than one argument if multiple +- spaces are used. */ +- if (bp != buffer && *(bp - 1)) +- { +- *(bp++) = '\0'; +- (*argc)++; +- } +- } +- else if (use) +- *(bp++) = use; ++ if (rd != cmdline) ++ grub_free (rd); ++ return grub_errno; + } + state = newstate; + } +-- +2.14.2 + diff --git a/boot/grub2/0129-kern-parser-Introduce-terminate_arg-helper.patch b/boot/grub2/0129-kern-parser-Introduce-terminate_arg-helper.patch new file mode 100644 index 00000000000..7ed9f987a55 --- /dev/null +++ b/boot/grub2/0129-kern-parser-Introduce-terminate_arg-helper.patch @@ -0,0 +1,66 @@ +From 3d157bbd06506b170fde5ec23980c4bf9f7660e2 Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Thu, 7 Jan 2021 19:53:55 +0000 +Subject: [PATCH] kern/parser: Introduce terminate_arg() helper + +process_char() and grub_parser_split_cmdline() use similar code for +terminating the most recent argument. Add a helper function for this. + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/parser.c | 23 +++++++++++++---------- + 1 file changed, 13 insertions(+), 10 deletions(-) + +diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c +index 0d3582b..572c670 100644 +--- a/grub-core/kern/parser.c ++++ b/grub-core/kern/parser.c +@@ -129,6 +129,16 @@ add_var (char *varname, char **bp, char **vp, + *((*bp)++) = *val; + } + ++static void ++terminate_arg (char *buffer, char **bp, int *argc) ++{ ++ if (*bp != buffer && *((*bp) - 1) != '\0') ++ { ++ *((*bp)++) = '\0'; ++ (*argc)++; ++ } ++} ++ + static grub_err_t + process_char (char c, char *buffer, char **bp, char *varname, char **vp, + grub_parser_state_t state, int *argc, +@@ -157,11 +167,7 @@ process_char (char c, char *buffer, char **bp, char *varname, char **vp, + * Don't add more than one argument if multiple + * spaces are used. + */ +- if (*bp != buffer && *((*bp) - 1) != '\0') +- { +- *((*bp)++) = '\0'; +- (*argc)++; +- } ++ terminate_arg (buffer, bp, argc); + } + else if (use) + *((*bp)++) = use; +@@ -232,11 +238,8 @@ grub_parser_split_cmdline (const char *cmdline, + variable. */ + add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT); + +- if (bp != buffer && *(bp - 1)) +- { +- *(bp++) = '\0'; +- (*argc)++; +- } ++ /* Ensure that the last argument is terminated. */ ++ terminate_arg (buffer, &bp, argc); + + /* If there are no args, then we're done. */ + if (!*argc) +-- +2.14.2 + diff --git a/boot/grub2/0130-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch b/boot/grub2/0130-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch new file mode 100644 index 00000000000..e1e955ff2aa --- /dev/null +++ b/boot/grub2/0130-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch @@ -0,0 +1,92 @@ +From 8bc817014ce3d7a498db44eae33c8b90e2430926 Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Wed, 6 Jan 2021 13:54:26 +0000 +Subject: [PATCH] kern/parser: Refactor grub_parser_split_cmdline() cleanup + +Introduce a common function epilogue used for cleaning up on all +return paths, which will simplify additional error handling to be +introduced in a subsequent commit. + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/parser.c | 35 ++++++++++++++++++++--------------- + 1 file changed, 20 insertions(+), 15 deletions(-) + +diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c +index 572c670..e010eaa 100644 +--- a/grub-core/kern/parser.c ++++ b/grub-core/kern/parser.c +@@ -221,19 +221,13 @@ grub_parser_split_cmdline (const char *cmdline, + + if (process_char (*rp, buffer, &bp, varname, &vp, state, argc, + &newstate) != GRUB_ERR_NONE) +- { +- if (rd != cmdline) +- grub_free (rd); +- return grub_errno; +- } ++ goto fail; ++ + state = newstate; + } + } + while (state != GRUB_PARSER_STATE_TEXT && !check_varstate (state)); + +- if (rd != cmdline) +- grub_free (rd); +- + /* A special case for when the last character was part of a + variable. */ + add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT); +@@ -243,20 +237,20 @@ grub_parser_split_cmdline (const char *cmdline, + + /* If there are no args, then we're done. */ + if (!*argc) +- return 0; ++ { ++ grub_errno = GRUB_ERR_NONE; ++ goto out; ++ } + + /* Reserve memory for the return values. */ + args = grub_malloc (bp - buffer); + if (!args) +- return grub_errno; ++ goto fail; + grub_memcpy (args, buffer, bp - buffer); + + *argv = grub_calloc (*argc + 1, sizeof (char *)); + if (!*argv) +- { +- grub_free (args); +- return grub_errno; +- } ++ goto fail; + + /* The arguments are separated with 0's, setup argv so it points to + the right values. */ +@@ -269,7 +263,18 @@ grub_parser_split_cmdline (const char *cmdline, + bp++; + } + +- return 0; ++ grub_errno = GRUB_ERR_NONE; ++ ++ out: ++ if (rd != cmdline) ++ grub_free (rd); ++ ++ return grub_errno; ++ ++ fail: ++ grub_free (*argv); ++ grub_free (args); ++ goto out; + } + + /* Helper for grub_parser_execute. */ +-- +2.14.2 + diff --git a/boot/grub2/0131-kern-buffer-Add-variable-sized-heap-buffer.patch b/boot/grub2/0131-kern-buffer-Add-variable-sized-heap-buffer.patch new file mode 100644 index 00000000000..1731011ca63 --- /dev/null +++ b/boot/grub2/0131-kern-buffer-Add-variable-sized-heap-buffer.patch @@ -0,0 +1,1237 @@ +From 030fb6c4fa354cdbd6a8d6903dfed5d36eaf3cb2 Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Thu, 7 Jan 2021 15:15:43 +0000 +Subject: [PATCH] kern/buffer: Add variable sized heap buffer + +Add a new variable sized heap buffer type (grub_buffer_t) with simple +operations for appending data, accessing the data and maintaining +a read cursor. + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper +[Add changes to generated files] +Signed-off-by: Stefan Sørensen +--- + grub-core/Makefile.core.am | 46 +++--- + grub-core/Makefile.core.def | 1 + + grub-core/Makefile.in | 341 +++++++++++++++++++++++++------------------- + grub-core/kern/buffer.c | 117 +++++++++++++++ + include/grub/buffer.h | 144 +++++++++++++++++++ + po/POTFILES.in | 2 + + 6 files changed, 485 insertions(+), 166 deletions(-) + create mode 100644 grub-core/kern/buffer.c + create mode 100644 include/grub/buffer.h + +diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am +index fbfb627..2fa9a8e 100644 +--- a/grub-core/Makefile.core.am ++++ b/grub-core/Makefile.core.am +@@ -22334,7 +22334,7 @@ gcry_whirlpool.marker: $(gcry_whirlpool_module_SOURCES) $(nodist_gcry_whirlpool_ + if COND_emu + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = +-kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) $(CFLAGS_GNULIB) +@@ -22356,7 +22356,7 @@ endif + if COND_i386_pc + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/pc/startup.S +-kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22378,7 +22378,7 @@ endif + if COND_i386_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22400,7 +22400,7 @@ endif + if COND_i386_qemu + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/qemu/startup.S +-kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22422,7 +22422,7 @@ endif + if COND_i386_coreboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/coreboot/startup.S +-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22444,7 +22444,7 @@ endif + if COND_i386_multiboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/coreboot/startup.S +-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22466,7 +22466,7 @@ endif + if COND_i386_ieee1275 + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/ieee1275/startup.S +-kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22488,7 +22488,7 @@ endif + if COND_x86_64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/x86_64/efi/startup.S +-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22510,7 +22510,7 @@ endif + if COND_i386_xen + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/xen/startup.S +-kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22532,7 +22532,7 @@ endif + if COND_x86_64_xen + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/x86_64/xen/startup.S +-kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22554,7 +22554,7 @@ endif + if COND_i386_xen_pvh + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/i386/xen/startup_pvh.S +-kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22576,7 +22576,7 @@ endif + if COND_mips_loongson + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/mips/startup.S +-kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22598,7 +22598,7 @@ endif + if COND_sparc64_ieee1275 + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/sparc64/ieee1275/crt0.S +-kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22620,7 +22620,7 @@ endif + if COND_powerpc_ieee1275 + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/powerpc/ieee1275/startup.S +-kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22642,7 +22642,7 @@ endif + if COND_mips_arc + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/mips/startup.S +-kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22664,7 +22664,7 @@ endif + if COND_ia64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = +-kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput +@@ -22686,7 +22686,7 @@ endif + if COND_mips_qemu_mips + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/mips/startup.S +-kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22708,7 +22708,7 @@ endif + if COND_arm_uboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/startup.S +-kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22730,7 +22730,7 @@ endif + if COND_arm_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/efi/startup.S +-kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22752,7 +22752,7 @@ endif + if COND_arm64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm64/efi/startup.S +-kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22774,7 +22774,7 @@ endif + if COND_arm_coreboot + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/arm/startup.S +-kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22796,7 +22796,7 @@ endif + if COND_riscv32_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +@@ -22818,7 +22818,7 @@ endif + if COND_riscv64_efi + platform_PROGRAMS += kernel.exec + kernel_exec_SOURCES = kern/riscv/efi/startup.S +-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c ++kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c kern/verifiers.c + nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources + kernel_exec_LDADD = + kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) +diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def +index ee8dc55..291b58a 100644 +--- a/grub-core/Makefile.core.def ++++ b/grub-core/Makefile.core.def +@@ -123,6 +123,7 @@ kernel = { + riscv32_efi_startup = kern/riscv/efi/startup.S; + riscv64_efi_startup = kern/riscv/efi/startup.S; + ++ common = kern/buffer.c; + common = kern/command.c; + common = kern/corecmd.c; + common = kern/device.c; +diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in +index ac400ea..1f8133b 100644 +--- a/grub-core/Makefile.in ++++ b/grub-core/Makefile.in +@@ -10459,12 +10459,12 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c \ + kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c \ + kern/compiler-rt.c kern/mm.c kern/time.c \ +- kern/generic/millisleep.c kern/command.c kern/corecmd.c \ +- kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c \ +- kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c \ +- kern/parser.c kern/partition.c kern/rescue_parser.c \ +- kern/rescue_reader.c kern/term.c kern/verifiers.c \ +- kern/arm/startup.S kern/arm/coreboot/init.c \ ++ kern/generic/millisleep.c kern/buffer.c kern/command.c \ ++ kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c \ ++ kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c \ ++ kern/misc.c kern/parser.c kern/partition.c \ ++ kern/rescue_parser.c kern/rescue_reader.c kern/term.c \ ++ kern/verifiers.c kern/arm/startup.S kern/arm/coreboot/init.c \ + kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \ + lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \ + term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \ +@@ -10538,6 +10538,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10578,6 +10579,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10616,6 +10618,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10653,6 +10656,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10691,6 +10695,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10728,6 +10733,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10768,6 +10774,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10822,6 +10829,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10856,6 +10864,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10893,6 +10902,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10928,6 +10938,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10963,6 +10974,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -10994,6 +11006,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11023,6 +11036,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11054,6 +11068,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11091,6 +11106,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11130,6 +11146,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11174,6 +11191,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11216,6 +11234,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ term/kernel_exec-tparm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ commands/kernel_exec-extcmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ lib/kernel_exec-arg.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11257,6 +11276,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11298,6 +11318,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11353,6 +11374,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -11391,6 +11413,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \ ++@COND_arm64_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \ + @COND_arm64_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \ +@@ -25607,11 +25630,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ + @COND_arm64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ + @COND_arm64_efi_TRUE@ kern/mm.c kern/time.c \ +-@COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_arm64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_arm64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_arm64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_arm64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ ++@COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_arm64_efi_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_arm64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_arm64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_arm64_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_arm64_efi_TRUE@ kern/misc.c kern/parser.c \ + @COND_arm64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ + @COND_arm64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_arm64_efi_TRUE@ kern/verifiers.c +@@ -25639,12 +25663,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_coreboot_TRUE@ kern/arm/compiler-rt.S lib/division.c \ + @COND_arm_coreboot_TRUE@ kern/compiler-rt.c kern/mm.c \ + @COND_arm_coreboot_TRUE@ kern/time.c kern/generic/millisleep.c \ +-@COND_arm_coreboot_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_arm_coreboot_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_arm_coreboot_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_arm_coreboot_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_arm_coreboot_TRUE@ kern/misc.c kern/parser.c \ +-@COND_arm_coreboot_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_arm_coreboot_TRUE@ kern/buffer.c kern/command.c \ ++@COND_arm_coreboot_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_arm_coreboot_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_arm_coreboot_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_arm_coreboot_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_arm_coreboot_TRUE@ kern/parser.c kern/partition.c \ ++@COND_arm_coreboot_TRUE@ kern/rescue_parser.c \ + @COND_arm_coreboot_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_arm_coreboot_TRUE@ kern/verifiers.c + @COND_arm_efi_TRUE@kernel_exec_SOURCES = kern/arm/efi/startup.S \ +@@ -25659,13 +25684,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \ + @COND_arm_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ + @COND_arm_efi_TRUE@ kern/mm.c kern/time.c \ +-@COND_arm_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_arm_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_arm_efi_TRUE@ kern/dl.c kern/env.c kern/err.c kern/file.c \ +-@COND_arm_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_arm_efi_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ +-@COND_arm_efi_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ +-@COND_arm_efi_TRUE@ kern/term.c kern/verifiers.c ++@COND_arm_efi_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_arm_efi_TRUE@ kern/command.c kern/corecmd.c kern/device.c \ ++@COND_arm_efi_TRUE@ kern/disk.c kern/dl.c kern/env.c kern/err.c \ ++@COND_arm_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ ++@COND_arm_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ ++@COND_arm_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_arm_efi_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_arm_efi_TRUE@ kern/verifiers.c + @COND_arm_uboot_TRUE@kernel_exec_SOURCES = kern/arm/startup.S \ + @COND_arm_uboot_TRUE@ kern/arm/uboot/init.c \ + @COND_arm_uboot_TRUE@ kern/arm/uboot/uboot.S \ +@@ -25679,11 +25705,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_arm_uboot_TRUE@ term/terminfo.c term/tparm.c \ + @COND_arm_uboot_TRUE@ commands/extcmd.c lib/arg.c \ + @COND_arm_uboot_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ +-@COND_arm_uboot_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_arm_uboot_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_arm_uboot_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_arm_uboot_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_arm_uboot_TRUE@ kern/main.c kern/misc.c kern/parser.c \ ++@COND_arm_uboot_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_arm_uboot_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_arm_uboot_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_arm_uboot_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_arm_uboot_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_arm_uboot_TRUE@ kern/misc.c kern/parser.c \ + @COND_arm_uboot_TRUE@ kern/partition.c kern/rescue_parser.c \ + @COND_arm_uboot_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_arm_uboot_TRUE@ kern/verifiers.c +@@ -25696,11 +25723,11 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_emu_TRUE@ kern/emu/cache.c osdep/emuconsole.c osdep/dl.c \ + @COND_emu_TRUE@ osdep/sleep.c osdep/init.c osdep/emunet.c \ + @COND_emu_TRUE@ osdep/cputime.c term/terminfo.c term/tparm.c \ +-@COND_emu_TRUE@ commands/extcmd.c lib/arg.c kern/command.c \ +-@COND_emu_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_emu_TRUE@ kern/dl.c kern/env.c kern/err.c kern/file.c \ +-@COND_emu_TRUE@ kern/fs.c kern/list.c kern/main.c kern/misc.c \ +-@COND_emu_TRUE@ kern/parser.c kern/partition.c \ ++@COND_emu_TRUE@ commands/extcmd.c lib/arg.c kern/buffer.c \ ++@COND_emu_TRUE@ kern/command.c kern/corecmd.c kern/device.c \ ++@COND_emu_TRUE@ kern/disk.c kern/dl.c kern/env.c kern/err.c \ ++@COND_emu_TRUE@ kern/file.c kern/fs.c kern/list.c kern/main.c \ ++@COND_emu_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ + @COND_emu_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ + @COND_emu_TRUE@ kern/term.c kern/verifiers.c + @COND_i386_coreboot_TRUE@kernel_exec_SOURCES = \ +@@ -25721,12 +25748,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_coreboot_TRUE@ kern/i386/tsc_pit.c \ + @COND_i386_coreboot_TRUE@ kern/compiler-rt.c kern/mm.c \ + @COND_i386_coreboot_TRUE@ kern/time.c kern/generic/millisleep.c \ +-@COND_i386_coreboot_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_i386_coreboot_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_i386_coreboot_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_i386_coreboot_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_i386_coreboot_TRUE@ kern/misc.c kern/parser.c \ +-@COND_i386_coreboot_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_i386_coreboot_TRUE@ kern/buffer.c kern/command.c \ ++@COND_i386_coreboot_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_i386_coreboot_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_i386_coreboot_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_i386_coreboot_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_i386_coreboot_TRUE@ kern/parser.c kern/partition.c \ ++@COND_i386_coreboot_TRUE@ kern/rescue_parser.c \ + @COND_i386_coreboot_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_i386_coreboot_TRUE@ kern/verifiers.c + @COND_i386_efi_TRUE@kernel_exec_SOURCES = kern/i386/efi/startup.S \ +@@ -25740,14 +25768,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ + @COND_i386_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ + @COND_i386_efi_TRUE@ kern/mm.c kern/time.c \ +-@COND_i386_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_i386_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_i386_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_i386_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_i386_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ +-@COND_i386_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_efi_TRUE@ kern/rescue_reader.c kern/term.c \ +-@COND_i386_efi_TRUE@ kern/verifiers.c ++@COND_i386_efi_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_i386_efi_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_i386_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_i386_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_i386_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_i386_efi_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ ++@COND_i386_efi_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ ++@COND_i386_efi_TRUE@ kern/term.c kern/verifiers.c + @COND_i386_ieee1275_TRUE@kernel_exec_SOURCES = \ + @COND_i386_ieee1275_TRUE@ kern/i386/ieee1275/startup.S \ + @COND_i386_ieee1275_TRUE@ disk/ieee1275/ofdisk.c \ +@@ -25762,12 +25790,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_ieee1275_TRUE@ commands/extcmd.c lib/arg.c \ + @COND_i386_ieee1275_TRUE@ kern/compiler-rt.c kern/mm.c \ + @COND_i386_ieee1275_TRUE@ kern/time.c kern/generic/millisleep.c \ +-@COND_i386_ieee1275_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_i386_ieee1275_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_i386_ieee1275_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_i386_ieee1275_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_i386_ieee1275_TRUE@ kern/misc.c kern/parser.c \ +-@COND_i386_ieee1275_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_i386_ieee1275_TRUE@ kern/buffer.c kern/command.c \ ++@COND_i386_ieee1275_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_i386_ieee1275_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_i386_ieee1275_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_i386_ieee1275_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_i386_ieee1275_TRUE@ kern/parser.c kern/partition.c \ ++@COND_i386_ieee1275_TRUE@ kern/rescue_parser.c \ + @COND_i386_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_i386_ieee1275_TRUE@ kern/verifiers.c + @COND_i386_multiboot_TRUE@kernel_exec_SOURCES = \ +@@ -25781,12 +25810,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_multiboot_TRUE@ kern/compiler-rt.c kern/mm.c \ + @COND_i386_multiboot_TRUE@ kern/time.c \ + @COND_i386_multiboot_TRUE@ kern/generic/millisleep.c \ +-@COND_i386_multiboot_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_i386_multiboot_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_i386_multiboot_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_i386_multiboot_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_i386_multiboot_TRUE@ kern/misc.c kern/parser.c \ +-@COND_i386_multiboot_TRUE@ kern/partition.c \ ++@COND_i386_multiboot_TRUE@ kern/buffer.c kern/command.c \ ++@COND_i386_multiboot_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_i386_multiboot_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_i386_multiboot_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_i386_multiboot_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_i386_multiboot_TRUE@ kern/parser.c kern/partition.c \ + @COND_i386_multiboot_TRUE@ kern/rescue_parser.c \ + @COND_i386_multiboot_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_i386_multiboot_TRUE@ kern/verifiers.c +@@ -25795,24 +25824,26 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_pc_TRUE@ term/i386/pc/console.c kern/i386/dl.c \ + @COND_i386_pc_TRUE@ kern/i386/tsc.c kern/i386/tsc_pit.c \ + @COND_i386_pc_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ +-@COND_i386_pc_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_i386_pc_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_i386_pc_TRUE@ kern/dl.c kern/env.c kern/err.c kern/file.c \ +-@COND_i386_pc_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_i386_pc_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ +-@COND_i386_pc_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ +-@COND_i386_pc_TRUE@ kern/term.c kern/verifiers.c ++@COND_i386_pc_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_i386_pc_TRUE@ kern/command.c kern/corecmd.c kern/device.c \ ++@COND_i386_pc_TRUE@ kern/disk.c kern/dl.c kern/env.c kern/err.c \ ++@COND_i386_pc_TRUE@ kern/file.c kern/fs.c kern/list.c \ ++@COND_i386_pc_TRUE@ kern/main.c kern/misc.c kern/parser.c \ ++@COND_i386_pc_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_i386_pc_TRUE@ kern/rescue_reader.c kern/term.c \ ++@COND_i386_pc_TRUE@ kern/verifiers.c + @COND_i386_qemu_TRUE@kernel_exec_SOURCES = kern/i386/qemu/startup.S \ + @COND_i386_qemu_TRUE@ kern/i386/qemu/init.c bus/pci.c \ + @COND_i386_qemu_TRUE@ kern/vga_init.c kern/i386/qemu/mmap.c \ + @COND_i386_qemu_TRUE@ term/i386/pc/vga_text.c kern/i386/dl.c \ + @COND_i386_qemu_TRUE@ kern/i386/tsc.c kern/i386/tsc_pit.c \ + @COND_i386_qemu_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ +-@COND_i386_qemu_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_i386_qemu_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_i386_qemu_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_i386_qemu_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_i386_qemu_TRUE@ kern/main.c kern/misc.c kern/parser.c \ ++@COND_i386_qemu_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_i386_qemu_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_i386_qemu_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_i386_qemu_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_i386_qemu_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_i386_qemu_TRUE@ kern/misc.c kern/parser.c \ + @COND_i386_qemu_TRUE@ kern/partition.c kern/rescue_parser.c \ + @COND_i386_qemu_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_i386_qemu_TRUE@ kern/verifiers.c +@@ -25824,14 +25855,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_xen_TRUE@ term/terminfo.c term/tparm.c \ + @COND_i386_xen_TRUE@ commands/extcmd.c lib/arg.c \ + @COND_i386_xen_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ +-@COND_i386_xen_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_i386_xen_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_i386_xen_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_i386_xen_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_i386_xen_TRUE@ kern/main.c kern/misc.c kern/parser.c \ +-@COND_i386_xen_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_i386_xen_TRUE@ kern/rescue_reader.c kern/term.c \ +-@COND_i386_xen_TRUE@ kern/verifiers.c ++@COND_i386_xen_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_i386_xen_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_i386_xen_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_i386_xen_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_i386_xen_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_i386_xen_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ ++@COND_i386_xen_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ ++@COND_i386_xen_TRUE@ kern/term.c kern/verifiers.c + @COND_i386_xen_pvh_TRUE@kernel_exec_SOURCES = \ + @COND_i386_xen_pvh_TRUE@ kern/i386/xen/startup_pvh.S \ + @COND_i386_xen_pvh_TRUE@ kern/i386/dl.c commands/boot.c \ +@@ -25842,12 +25873,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_i386_xen_pvh_TRUE@ term/tparm.c commands/extcmd.c \ + @COND_i386_xen_pvh_TRUE@ lib/arg.c kern/compiler-rt.c kern/mm.c \ + @COND_i386_xen_pvh_TRUE@ kern/time.c kern/generic/millisleep.c \ +-@COND_i386_xen_pvh_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_i386_xen_pvh_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_i386_xen_pvh_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_i386_xen_pvh_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_i386_xen_pvh_TRUE@ kern/misc.c kern/parser.c \ +-@COND_i386_xen_pvh_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_i386_xen_pvh_TRUE@ kern/buffer.c kern/command.c \ ++@COND_i386_xen_pvh_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_i386_xen_pvh_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_i386_xen_pvh_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_i386_xen_pvh_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_i386_xen_pvh_TRUE@ kern/parser.c kern/partition.c \ ++@COND_i386_xen_pvh_TRUE@ kern/rescue_parser.c \ + @COND_i386_xen_pvh_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_i386_xen_pvh_TRUE@ kern/verifiers.c + @COND_ia64_efi_TRUE@kernel_exec_SOURCES = kern/ia64/efi/startup.S \ +@@ -25859,14 +25891,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_ia64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \ + @COND_ia64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ + @COND_ia64_efi_TRUE@ kern/mm.c kern/time.c \ +-@COND_ia64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_ia64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_ia64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_ia64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_ia64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ +-@COND_ia64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_ia64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ +-@COND_ia64_efi_TRUE@ kern/verifiers.c ++@COND_ia64_efi_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_ia64_efi_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_ia64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_ia64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_ia64_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_ia64_efi_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ ++@COND_ia64_efi_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ ++@COND_ia64_efi_TRUE@ kern/term.c kern/verifiers.c + @COND_mips_arc_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \ + @COND_mips_arc_TRUE@ kern/mips/arc/init.c term/arc/console.c \ + @COND_mips_arc_TRUE@ disk/arc/arcdisk.c \ +@@ -25875,14 +25907,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_mips_arc_TRUE@ kern/mips/init.c term/terminfo.c \ + @COND_mips_arc_TRUE@ term/tparm.c commands/extcmd.c lib/arg.c \ + @COND_mips_arc_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ +-@COND_mips_arc_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_mips_arc_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_mips_arc_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_mips_arc_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_mips_arc_TRUE@ kern/main.c kern/misc.c kern/parser.c \ +-@COND_mips_arc_TRUE@ kern/partition.c kern/rescue_parser.c \ +-@COND_mips_arc_TRUE@ kern/rescue_reader.c kern/term.c \ +-@COND_mips_arc_TRUE@ kern/verifiers.c ++@COND_mips_arc_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_mips_arc_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_mips_arc_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_mips_arc_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_mips_arc_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_mips_arc_TRUE@ kern/misc.c kern/parser.c kern/partition.c \ ++@COND_mips_arc_TRUE@ kern/rescue_parser.c kern/rescue_reader.c \ ++@COND_mips_arc_TRUE@ kern/term.c kern/verifiers.c + @COND_mips_loongson_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \ + @COND_mips_loongson_TRUE@ term/ns8250.c bus/bonito.c \ + @COND_mips_loongson_TRUE@ bus/cs5536.c bus/pci.c \ +@@ -25904,12 +25936,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_mips_loongson_TRUE@ lib/arg.c kern/compiler-rt.c \ + @COND_mips_loongson_TRUE@ kern/mm.c kern/time.c \ + @COND_mips_loongson_TRUE@ kern/generic/millisleep.c \ +-@COND_mips_loongson_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_mips_loongson_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_mips_loongson_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_mips_loongson_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_mips_loongson_TRUE@ kern/misc.c kern/parser.c \ +-@COND_mips_loongson_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_mips_loongson_TRUE@ kern/buffer.c kern/command.c \ ++@COND_mips_loongson_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_mips_loongson_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_mips_loongson_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_mips_loongson_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_mips_loongson_TRUE@ kern/parser.c kern/partition.c \ ++@COND_mips_loongson_TRUE@ kern/rescue_parser.c \ + @COND_mips_loongson_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_mips_loongson_TRUE@ kern/verifiers.c + @COND_mips_qemu_mips_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \ +@@ -25927,12 +25960,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_mips_qemu_mips_TRUE@ lib/arg.c kern/compiler-rt.c \ + @COND_mips_qemu_mips_TRUE@ kern/mm.c kern/time.c \ + @COND_mips_qemu_mips_TRUE@ kern/generic/millisleep.c \ +-@COND_mips_qemu_mips_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_mips_qemu_mips_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_mips_qemu_mips_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_mips_qemu_mips_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_mips_qemu_mips_TRUE@ kern/misc.c kern/parser.c \ +-@COND_mips_qemu_mips_TRUE@ kern/partition.c \ ++@COND_mips_qemu_mips_TRUE@ kern/buffer.c kern/command.c \ ++@COND_mips_qemu_mips_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_mips_qemu_mips_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_mips_qemu_mips_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_mips_qemu_mips_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_mips_qemu_mips_TRUE@ kern/parser.c kern/partition.c \ + @COND_mips_qemu_mips_TRUE@ kern/rescue_parser.c \ + @COND_mips_qemu_mips_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_mips_qemu_mips_TRUE@ kern/verifiers.c +@@ -25953,12 +25986,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_powerpc_ieee1275_TRUE@ kern/compiler-rt.c kern/mm.c \ + @COND_powerpc_ieee1275_TRUE@ kern/time.c \ + @COND_powerpc_ieee1275_TRUE@ kern/generic/millisleep.c \ +-@COND_powerpc_ieee1275_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_powerpc_ieee1275_TRUE@ kern/device.c kern/disk.c \ +-@COND_powerpc_ieee1275_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_powerpc_ieee1275_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_powerpc_ieee1275_TRUE@ kern/main.c kern/misc.c \ +-@COND_powerpc_ieee1275_TRUE@ kern/parser.c kern/partition.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/buffer.c kern/command.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/list.c kern/main.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/misc.c kern/parser.c \ ++@COND_powerpc_ieee1275_TRUE@ kern/partition.c \ + @COND_powerpc_ieee1275_TRUE@ kern/rescue_parser.c \ + @COND_powerpc_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_powerpc_ieee1275_TRUE@ kern/verifiers.c +@@ -25973,7 +26007,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv32_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \ + @COND_riscv32_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \ + @COND_riscv32_efi_TRUE@ kern/mm.c kern/time.c \ +-@COND_riscv32_efi_TRUE@ kern/generic/millisleep.c \ ++@COND_riscv32_efi_TRUE@ kern/generic/millisleep.c kern/buffer.c \ + @COND_riscv32_efi_TRUE@ kern/command.c kern/corecmd.c \ + @COND_riscv32_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ + @COND_riscv32_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ +@@ -25993,12 +26027,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_riscv64_efi_TRUE@ kern/efi/sb.c kern/lockdown.c \ + @COND_riscv64_efi_TRUE@ kern/compiler-rt.c kern/mm.c \ + @COND_riscv64_efi_TRUE@ kern/time.c kern/generic/millisleep.c \ +-@COND_riscv64_efi_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_riscv64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ +-@COND_riscv64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ +-@COND_riscv64_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ +-@COND_riscv64_efi_TRUE@ kern/misc.c kern/parser.c \ +-@COND_riscv64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ ++@COND_riscv64_efi_TRUE@ kern/buffer.c kern/command.c \ ++@COND_riscv64_efi_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_riscv64_efi_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_riscv64_efi_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_riscv64_efi_TRUE@ kern/list.c kern/main.c kern/misc.c \ ++@COND_riscv64_efi_TRUE@ kern/parser.c kern/partition.c \ ++@COND_riscv64_efi_TRUE@ kern/rescue_parser.c \ + @COND_riscv64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_riscv64_efi_TRUE@ kern/verifiers.c + @COND_sparc64_ieee1275_TRUE@kernel_exec_SOURCES = \ +@@ -26019,12 +26054,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_sparc64_ieee1275_TRUE@ kern/compiler-rt.c kern/mm.c \ + @COND_sparc64_ieee1275_TRUE@ kern/time.c \ + @COND_sparc64_ieee1275_TRUE@ kern/generic/millisleep.c \ +-@COND_sparc64_ieee1275_TRUE@ kern/command.c kern/corecmd.c \ +-@COND_sparc64_ieee1275_TRUE@ kern/device.c kern/disk.c \ +-@COND_sparc64_ieee1275_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_sparc64_ieee1275_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_sparc64_ieee1275_TRUE@ kern/main.c kern/misc.c \ +-@COND_sparc64_ieee1275_TRUE@ kern/parser.c kern/partition.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/buffer.c kern/command.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/corecmd.c kern/device.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/disk.c kern/dl.c kern/env.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/err.c kern/file.c kern/fs.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/list.c kern/main.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/misc.c kern/parser.c \ ++@COND_sparc64_ieee1275_TRUE@ kern/partition.c \ + @COND_sparc64_ieee1275_TRUE@ kern/rescue_parser.c \ + @COND_sparc64_ieee1275_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_sparc64_ieee1275_TRUE@ kern/verifiers.c +@@ -26040,11 +26076,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_x86_64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \ + @COND_x86_64_efi_TRUE@ kern/efi/sb.c kern/lockdown.c \ + @COND_x86_64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ +-@COND_x86_64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_x86_64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_x86_64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_x86_64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_x86_64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \ ++@COND_x86_64_efi_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_x86_64_efi_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_x86_64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_x86_64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_x86_64_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_x86_64_efi_TRUE@ kern/misc.c kern/parser.c \ + @COND_x86_64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \ + @COND_x86_64_efi_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_x86_64_efi_TRUE@ kern/verifiers.c +@@ -26057,11 +26094,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF) + @COND_x86_64_xen_TRUE@ term/terminfo.c term/tparm.c \ + @COND_x86_64_xen_TRUE@ commands/extcmd.c lib/arg.c \ + @COND_x86_64_xen_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \ +-@COND_x86_64_xen_TRUE@ kern/generic/millisleep.c kern/command.c \ +-@COND_x86_64_xen_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \ +-@COND_x86_64_xen_TRUE@ kern/dl.c kern/env.c kern/err.c \ +-@COND_x86_64_xen_TRUE@ kern/file.c kern/fs.c kern/list.c \ +-@COND_x86_64_xen_TRUE@ kern/main.c kern/misc.c kern/parser.c \ ++@COND_x86_64_xen_TRUE@ kern/generic/millisleep.c kern/buffer.c \ ++@COND_x86_64_xen_TRUE@ kern/command.c kern/corecmd.c \ ++@COND_x86_64_xen_TRUE@ kern/device.c kern/disk.c kern/dl.c \ ++@COND_x86_64_xen_TRUE@ kern/env.c kern/err.c kern/file.c \ ++@COND_x86_64_xen_TRUE@ kern/fs.c kern/list.c kern/main.c \ ++@COND_x86_64_xen_TRUE@ kern/misc.c kern/parser.c \ + @COND_x86_64_xen_TRUE@ kern/partition.c kern/rescue_parser.c \ + @COND_x86_64_xen_TRUE@ kern/rescue_reader.c kern/term.c \ + @COND_x86_64_xen_TRUE@ kern/verifiers.c +@@ -28027,6 +28065,8 @@ kern/generic/$(DEPDIR)/$(am__dirstamp): + kern/generic/kernel_exec-millisleep.$(OBJEXT): \ + kern/generic/$(am__dirstamp) \ + kern/generic/$(DEPDIR)/$(am__dirstamp) ++kern/kernel_exec-buffer.$(OBJEXT): kern/$(am__dirstamp) \ ++ kern/$(DEPDIR)/$(am__dirstamp) + kern/kernel_exec-command.$(OBJEXT): kern/$(am__dirstamp) \ + kern/$(DEPDIR)/$(am__dirstamp) + kern/kernel_exec-corecmd.$(OBJEXT): kern/$(am__dirstamp) \ +@@ -30952,6 +30992,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/acpi_module-acpi.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/elf_module-elf.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-acpi.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-buffer.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-command.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-compiler-rt.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-corecmd.Po@am__quote@ +@@ -35382,6 +35423,20 @@ kern/generic/kernel_exec-millisleep.obj: kern/generic/millisleep.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/generic/kernel_exec-millisleep.obj `if test -f 'kern/generic/millisleep.c'; then $(CYGPATH_W) 'kern/generic/millisleep.c'; else $(CYGPATH_W) '$(srcdir)/kern/generic/millisleep.c'; fi` + ++kern/kernel_exec-buffer.o: kern/buffer.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-buffer.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-buffer.Tpo -c -o kern/kernel_exec-buffer.o `test -f 'kern/buffer.c' || echo '$(srcdir)/'`kern/buffer.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-buffer.Tpo kern/$(DEPDIR)/kernel_exec-buffer.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/buffer.c' object='kern/kernel_exec-buffer.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-buffer.o `test -f 'kern/buffer.c' || echo '$(srcdir)/'`kern/buffer.c ++ ++kern/kernel_exec-buffer.obj: kern/buffer.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-buffer.obj -MD -MP -MF kern/$(DEPDIR)/kernel_exec-buffer.Tpo -c -o kern/kernel_exec-buffer.obj `if test -f 'kern/buffer.c'; then $(CYGPATH_W) 'kern/buffer.c'; else $(CYGPATH_W) '$(srcdir)/kern/buffer.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-buffer.Tpo kern/$(DEPDIR)/kernel_exec-buffer.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/buffer.c' object='kern/kernel_exec-buffer.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-buffer.obj `if test -f 'kern/buffer.c'; then $(CYGPATH_W) 'kern/buffer.c'; else $(CYGPATH_W) '$(srcdir)/kern/buffer.c'; fi` ++ + kern/kernel_exec-command.o: kern/command.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-command.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-command.Tpo -c -o kern/kernel_exec-command.o `test -f 'kern/command.c' || echo '$(srcdir)/'`kern/command.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-command.Tpo kern/$(DEPDIR)/kernel_exec-command.Po +diff --git a/grub-core/kern/buffer.c b/grub-core/kern/buffer.c +new file mode 100644 +index 0000000..9f5f8b8 +--- /dev/null ++++ b/grub-core/kern/buffer.c +@@ -0,0 +1,117 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2021 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++grub_buffer_t ++grub_buffer_new (grub_size_t sz) ++{ ++ struct grub_buffer *ret; ++ ++ ret = (struct grub_buffer *) grub_malloc (sizeof (*ret)); ++ if (ret == NULL) ++ return NULL; ++ ++ ret->data = (grub_uint8_t *) grub_malloc (sz); ++ if (ret->data == NULL) ++ { ++ grub_free (ret); ++ return NULL; ++ } ++ ++ ret->sz = sz; ++ ret->pos = 0; ++ ret->used = 0; ++ ++ return ret; ++} ++ ++void ++grub_buffer_free (grub_buffer_t buf) ++{ ++ grub_free (buf->data); ++ grub_free (buf); ++} ++ ++grub_err_t ++grub_buffer_ensure_space (grub_buffer_t buf, grub_size_t req) ++{ ++ grub_uint8_t *d; ++ grub_size_t newsz = 1; ++ ++ /* Is the current buffer size adequate? */ ++ if (buf->sz >= req) ++ return GRUB_ERR_NONE; ++ ++ /* Find the smallest power-of-2 size that satisfies the request. */ ++ while (newsz < req) ++ { ++ if (newsz == 0) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, ++ N_("requested buffer size is too large")); ++ newsz <<= 1; ++ } ++ ++ d = (grub_uint8_t *) grub_realloc (buf->data, newsz); ++ if (d == NULL) ++ return grub_errno; ++ ++ buf->data = d; ++ buf->sz = newsz; ++ ++ return GRUB_ERR_NONE; ++} ++ ++void * ++grub_buffer_take_data (grub_buffer_t buf) ++{ ++ void *data = buf->data; ++ ++ buf->data = NULL; ++ buf->sz = buf->pos = buf->used = 0; ++ ++ return data; ++} ++ ++void ++grub_buffer_reset (grub_buffer_t buf) ++{ ++ buf->pos = buf->used = 0; ++} ++ ++grub_err_t ++grub_buffer_advance_read_pos (grub_buffer_t buf, grub_size_t n) ++{ ++ grub_size_t newpos; ++ ++ if (grub_add (buf->pos, n, &newpos)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ ++ if (newpos > buf->used) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, ++ N_("new read is position beyond the end of the written data")); ++ ++ buf->pos = newpos; ++ ++ return GRUB_ERR_NONE; ++} +diff --git a/include/grub/buffer.h b/include/grub/buffer.h +new file mode 100644 +index 0000000..f4b10cf +--- /dev/null ++++ b/include/grub/buffer.h +@@ -0,0 +1,144 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2021 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ */ ++ ++#ifndef GRUB_BUFFER_H ++#define GRUB_BUFFER_H 1 ++ ++#include ++#include ++#include ++#include ++#include ++ ++struct grub_buffer ++{ ++ grub_uint8_t *data; ++ grub_size_t sz; ++ grub_size_t pos; ++ grub_size_t used; ++}; ++ ++/* ++ * grub_buffer_t represents a simple variable sized byte buffer with ++ * read and write cursors. It currently only implements ++ * functionality required by the only user in GRUB (append byte[s], ++ * peeking data at a specified position and updating the read cursor. ++ * Some things that this doesn't do yet are: ++ * - Reading a portion of the buffer by copying data from the current ++ * read position in to a caller supplied destination buffer and then ++ * automatically updating the read cursor. ++ * - Dropping the read part at the start of the buffer when an append ++ * requires more space. ++ */ ++typedef struct grub_buffer *grub_buffer_t; ++ ++/* Allocate a new buffer with the specified initial size. */ ++extern grub_buffer_t grub_buffer_new (grub_size_t sz); ++ ++/* Free the buffer and its resources. */ ++extern void grub_buffer_free (grub_buffer_t buf); ++ ++/* Return the number of unread bytes in this buffer. */ ++static inline grub_size_t ++grub_buffer_get_unread_bytes (grub_buffer_t buf) ++{ ++ return buf->used - buf->pos; ++} ++ ++/* ++ * Ensure that the buffer size is at least the requested ++ * number of bytes. ++ */ ++extern grub_err_t grub_buffer_ensure_space (grub_buffer_t buf, grub_size_t req); ++ ++/* ++ * Append the specified number of bytes from the supplied ++ * data to the buffer. ++ */ ++static inline grub_err_t ++grub_buffer_append_data (grub_buffer_t buf, const void *data, grub_size_t len) ++{ ++ grub_size_t req; ++ ++ if (grub_add (buf->used, len, &req)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ ++ if (grub_buffer_ensure_space (buf, req) != GRUB_ERR_NONE) ++ return grub_errno; ++ ++ grub_memcpy (&buf->data[buf->used], data, len); ++ buf->used = req; ++ ++ return GRUB_ERR_NONE; ++} ++ ++/* Append the supplied character to the buffer. */ ++static inline grub_err_t ++grub_buffer_append_char (grub_buffer_t buf, char c) ++{ ++ return grub_buffer_append_data (buf, &c, 1); ++} ++ ++/* ++ * Forget and return the underlying data buffer. The caller ++ * becomes the owner of this buffer, and must free it when it ++ * is no longer required. ++ */ ++extern void *grub_buffer_take_data (grub_buffer_t buf); ++ ++/* Reset this buffer. Note that this does not deallocate any resources. */ ++void grub_buffer_reset (grub_buffer_t buf); ++ ++/* ++ * Return a pointer to the underlying data buffer at the specified ++ * offset from the current read position. Note that this pointer may ++ * become invalid if the buffer is mutated further. ++ */ ++static inline void * ++grub_buffer_peek_data_at (grub_buffer_t buf, grub_size_t off) ++{ ++ if (grub_add (buf->pos, off, &off)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected.")); ++ return NULL; ++ } ++ ++ if (off >= buf->used) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("peek out of range")); ++ return NULL; ++ } ++ ++ return &buf->data[off]; ++} ++ ++/* ++ * Return a pointer to the underlying data buffer at the current ++ * read position. Note that this pointer may become invalid if the ++ * buffer is mutated further. ++ */ ++static inline void * ++grub_buffer_peek_data (grub_buffer_t buf) ++{ ++ return grub_buffer_peek_data_at (buf, 0); ++} ++ ++/* Advance the read position by the specified number of bytes. */ ++extern grub_err_t grub_buffer_advance_read_pos (grub_buffer_t buf, grub_size_t n); ++ ++#endif /* GRUB_BUFFER_H */ +diff --git a/po/POTFILES.in b/po/POTFILES.in +index 5e26845..7753ab4 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -250,6 +250,7 @@ + ./grub-core/kern/arm64/dl.c + ./grub-core/kern/arm64/dl_helper.c + ./grub-core/kern/arm64/efi/init.c ++./grub-core/kern/buffer.c + ./grub-core/kern/command.c + ./grub-core/kern/compiler-rt.c + ./grub-core/kern/coreboot/cbtable.c +@@ -1021,6 +1022,7 @@ + ./include/grub/boottime.h + ./include/grub/bsdlabel.h + ./include/grub/btrfs.h ++./include/grub/buffer.h + ./include/grub/bufio.h + ./include/grub/cache.h + ./include/grub/cbfs_core.h +-- +2.14.2 + diff --git a/boot/grub2/0132-kern-parser-Fix-a-stack-buffer-overflow.patch b/boot/grub2/0132-kern-parser-Fix-a-stack-buffer-overflow.patch new file mode 100644 index 00000000000..b017c1e5f92 --- /dev/null +++ b/boot/grub2/0132-kern-parser-Fix-a-stack-buffer-overflow.patch @@ -0,0 +1,248 @@ +From 4ea7bae51f97e49c84dc67ea30b466ca8633b9f6 Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Thu, 7 Jan 2021 19:21:03 +0000 +Subject: [PATCH] kern/parser: Fix a stack buffer overflow + +grub_parser_split_cmdline() expands variable names present in the supplied +command line in to their corresponding variable contents and uses a 1 kiB +stack buffer for temporary storage without sufficient bounds checking. If +the function is called with a command line that references a variable with +a sufficiently large payload, it is possible to overflow the stack +buffer via tab completion, corrupt the stack frame and potentially +control execution. + +Fixes: CVE-2020-27749 + +Reported-by: Chris Coulson +Signed-off-by: Chris Coulson +Signed-off-by: Darren Kenny +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/parser.c | 110 +++++++++++++++++++++++++++++------------------- + 1 file changed, 67 insertions(+), 43 deletions(-) + +diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c +index e010eaa..6ab7aa4 100644 +--- a/grub-core/kern/parser.c ++++ b/grub-core/kern/parser.c +@@ -18,6 +18,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -107,8 +108,8 @@ check_varstate (grub_parser_state_t s) + } + + +-static void +-add_var (char *varname, char **bp, char **vp, ++static grub_err_t ++add_var (grub_buffer_t varname, grub_buffer_t buf, + grub_parser_state_t state, grub_parser_state_t newstate) + { + const char *val; +@@ -116,31 +117,41 @@ add_var (char *varname, char **bp, char **vp, + /* Check if a variable was being read in and the end of the name + was reached. */ + if (!(check_varstate (state) && !check_varstate (newstate))) +- return; ++ return GRUB_ERR_NONE; ++ ++ if (grub_buffer_append_char (varname, '\0') != GRUB_ERR_NONE) ++ return grub_errno; + +- *((*vp)++) = '\0'; +- val = grub_env_get (varname); +- *vp = varname; ++ val = grub_env_get ((const char *) grub_buffer_peek_data (varname)); ++ grub_buffer_reset (varname); + if (!val) +- return; ++ return GRUB_ERR_NONE; + + /* Insert the contents of the variable in the buffer. */ +- for (; *val; val++) +- *((*bp)++) = *val; ++ return grub_buffer_append_data (buf, val, grub_strlen (val)); + } + +-static void +-terminate_arg (char *buffer, char **bp, int *argc) ++static grub_err_t ++terminate_arg (grub_buffer_t buffer, int *argc) + { +- if (*bp != buffer && *((*bp) - 1) != '\0') +- { +- *((*bp)++) = '\0'; +- (*argc)++; +- } ++ grub_size_t unread = grub_buffer_get_unread_bytes (buffer); ++ ++ if (unread == 0) ++ return GRUB_ERR_NONE; ++ ++ if (*(const char *) grub_buffer_peek_data_at (buffer, unread - 1) == '\0') ++ return GRUB_ERR_NONE; ++ ++ if (grub_buffer_append_char (buffer, '\0') != GRUB_ERR_NONE) ++ return grub_errno; ++ ++ (*argc)++; ++ ++ return GRUB_ERR_NONE; + } + + static grub_err_t +-process_char (char c, char *buffer, char **bp, char *varname, char **vp, ++process_char (char c, grub_buffer_t buffer, grub_buffer_t varname, + grub_parser_state_t state, int *argc, + grub_parser_state_t *newstate) + { +@@ -153,12 +164,13 @@ process_char (char c, char *buffer, char **bp, char *varname, char **vp, + * not describe the variable anymore, write the variable to + * the buffer. + */ +- add_var (varname, bp, vp, state, *newstate); ++ if (add_var (varname, buffer, state, *newstate) != GRUB_ERR_NONE) ++ return grub_errno; + + if (check_varstate (*newstate)) + { + if (use) +- *((*vp)++) = use; ++ return grub_buffer_append_char (varname, use); + } + else if (*newstate == GRUB_PARSER_STATE_TEXT && + state != GRUB_PARSER_STATE_ESC && grub_isspace (use)) +@@ -167,10 +179,10 @@ process_char (char c, char *buffer, char **bp, char *varname, char **vp, + * Don't add more than one argument if multiple + * spaces are used. + */ +- terminate_arg (buffer, bp, argc); ++ return terminate_arg (buffer, argc); + } + else if (use) +- *((*bp)++) = use; ++ return grub_buffer_append_char (buffer, use); + + return GRUB_ERR_NONE; + } +@@ -181,19 +193,22 @@ grub_parser_split_cmdline (const char *cmdline, + int *argc, char ***argv) + { + grub_parser_state_t state = GRUB_PARSER_STATE_TEXT; +- /* XXX: Fixed size buffer, perhaps this buffer should be dynamically +- allocated. */ +- char buffer[1024]; +- char *bp = buffer; ++ grub_buffer_t buffer, varname; + char *rd = (char *) cmdline; + char *rp = rd; +- char varname[200]; +- char *vp = varname; +- char *args; + int i; + + *argc = 0; + *argv = NULL; ++ ++ buffer = grub_buffer_new (1024); ++ if (buffer == NULL) ++ return grub_errno; ++ ++ varname = grub_buffer_new (200); ++ if (varname == NULL) ++ goto fail; ++ + do + { + if (rp == NULL || *rp == '\0') +@@ -219,7 +234,7 @@ grub_parser_split_cmdline (const char *cmdline, + { + grub_parser_state_t newstate; + +- if (process_char (*rp, buffer, &bp, varname, &vp, state, argc, ++ if (process_char (*rp, buffer, varname, state, argc, + &newstate) != GRUB_ERR_NONE) + goto fail; + +@@ -230,10 +245,12 @@ grub_parser_split_cmdline (const char *cmdline, + + /* A special case for when the last character was part of a + variable. */ +- add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT); ++ if (add_var (varname, buffer, state, GRUB_PARSER_STATE_TEXT) != GRUB_ERR_NONE) ++ goto fail; + + /* Ensure that the last argument is terminated. */ +- terminate_arg (buffer, &bp, argc); ++ if (terminate_arg (buffer, argc) != GRUB_ERR_NONE) ++ goto fail; + + /* If there are no args, then we're done. */ + if (!*argc) +@@ -242,38 +259,45 @@ grub_parser_split_cmdline (const char *cmdline, + goto out; + } + +- /* Reserve memory for the return values. */ +- args = grub_malloc (bp - buffer); +- if (!args) +- goto fail; +- grub_memcpy (args, buffer, bp - buffer); +- + *argv = grub_calloc (*argc + 1, sizeof (char *)); + if (!*argv) + goto fail; + + /* The arguments are separated with 0's, setup argv so it points to + the right values. */ +- bp = args; + for (i = 0; i < *argc; i++) + { +- (*argv)[i] = bp; +- while (*bp) +- bp++; +- bp++; ++ char *arg; ++ ++ if (i > 0) ++ { ++ if (grub_buffer_advance_read_pos (buffer, 1) != GRUB_ERR_NONE) ++ goto fail; ++ } ++ ++ arg = (char *) grub_buffer_peek_data (buffer); ++ if (arg == NULL || ++ grub_buffer_advance_read_pos (buffer, grub_strlen (arg)) != GRUB_ERR_NONE) ++ goto fail; ++ ++ (*argv)[i] = arg; + } + ++ /* Keep memory for the return values. */ ++ grub_buffer_take_data (buffer); ++ + grub_errno = GRUB_ERR_NONE; + + out: + if (rd != cmdline) + grub_free (rd); ++ grub_buffer_free (buffer); ++ grub_buffer_free (varname); + + return grub_errno; + + fail: + grub_free (*argv); +- grub_free (args); + goto out; + } + +-- +2.14.2 + diff --git a/boot/grub2/0133-kern-efi-Add-initial-stack-protector-implementation.patch b/boot/grub2/0133-kern-efi-Add-initial-stack-protector-implementation.patch new file mode 100644 index 00000000000..c0b6bf6a835 --- /dev/null +++ b/boot/grub2/0133-kern-efi-Add-initial-stack-protector-implementation.patch @@ -0,0 +1,466 @@ +From 133d73079c5771bbf3d8311281b6772846357ec1 Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Tue, 1 Dec 2020 23:03:39 +0000 +Subject: [PATCH] kern/efi: Add initial stack protector implementation + +It works only on UEFI platforms but can be quite easily extended to +others architectures and platforms if needed. + +Signed-off-by: Chris Coulson +Signed-off-by: Daniel Kiper +Reviewed-by: Marco A Benatto +Reviewed-by: Javier Martinez Canillas +Signed-off-by: Stefan Sørensen +--- + acinclude.m4 | 38 ++++++++++++++++- + configure | 97 +++++++++++++++++++++++++++++++++++++++--- + configure.ac | 44 ++++++++++++++++--- + grub-core/Makefile.am | 1 + + grub-core/Makefile.in | 1 + + grub-core/kern/efi/init.c | 54 +++++++++++++++++++++++ + include/grub/efi/api.h | 19 +++++++++ + include/grub/stack_protector.h | 30 +++++++++++++ + po/POTFILES.in | 1 + + 9 files changed, 272 insertions(+), 13 deletions(-) + create mode 100644 include/grub/stack_protector.h + +diff --git a/acinclude.m4 b/acinclude.m4 +index 78cdf6e..6e14bb5 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -305,9 +305,9 @@ fi + ]) + + +-dnl Check if the C compiler supports `-fstack-protector'. ++dnl Check if the C compiler supports the stack protector + AC_DEFUN([grub_CHECK_STACK_PROTECTOR],[ +-[# Smashing stack protector. ++[# Stack smashing protector. + ssp_possible=yes] + AC_MSG_CHECKING([whether `$CC' accepts `-fstack-protector']) + # Is this a reliable test case? +@@ -324,6 +324,40 @@ else + ssp_possible=no] + AC_MSG_RESULT([no]) + [fi] ++[# Strong stack smashing protector. ++ssp_strong_possible=yes] ++AC_MSG_CHECKING([whether `$CC' accepts `-fstack-protector-strong']) ++# Is this a reliable test case? ++AC_LANG_CONFTEST([AC_LANG_SOURCE([[ ++void foo (void) { volatile char a[8]; a[3]; } ++]])]) ++[# `$CC -c -o ...' might not be portable. But, oh, well... Is calling ++# `ac_compile' like this correct, after all? ++if eval "$ac_compile -S -fstack-protector-strong -o conftest.s" 2> /dev/null; then] ++ AC_MSG_RESULT([yes]) ++ [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'? ++ rm -f conftest.s ++else ++ ssp_strong_possible=no] ++ AC_MSG_RESULT([no]) ++[fi] ++[# Global stack smashing protector. ++ssp_global_possible=yes] ++AC_MSG_CHECKING([whether `$CC' accepts `-mstack-protector-guard=global']) ++# Is this a reliable test case? ++AC_LANG_CONFTEST([AC_LANG_SOURCE([[ ++void foo (void) { volatile char a[8]; a[3]; } ++]])]) ++[# `$CC -c -o ...' might not be portable. But, oh, well... Is calling ++# `ac_compile' like this correct, after all? ++if eval "$ac_compile -S -fstack-protector -mstack-protector-guard=global -o conftest.s" 2> /dev/null; then] ++ AC_MSG_RESULT([yes]) ++ [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'? ++ rm -f conftest.s ++else ++ ssp_global_possible=no] ++ AC_MSG_RESULT([no]) ++[fi] + ]) + + dnl Check if the C compiler supports `-mstack-arg-probe' (Cygwin). +diff --git a/configure b/configure +index 9290ae8..973f702 100755 +--- a/configure ++++ b/configure +@@ -1778,6 +1778,7 @@ with_libintl_prefix + with_libpth_prefix + with_included_regex + enable_efiemu ++enable_stack_protector + enable_mm_debug + enable_cache_stats + enable_boot_time +@@ -2459,6 +2460,8 @@ Optional Features: + --disable-rpath do not hardcode runtime library paths + --enable-efiemu build and install the efiemu runtimes + (default=guessed) ++ --enable-stack-protector ++ enable the stack protector + --enable-mm-debug include memory manager debugging + --enable-cache-stats enable disk cache statistics collection + --enable-boot-time enable boot time statistics collection +@@ -32348,9 +32351,9 @@ fi + + CFLAGS="$TARGET_CFLAGS" + +-# Smashing stack protector. ++# Stack smashing protector. + +-# Smashing stack protector. ++# Stack smashing protector. + ssp_possible=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`$CC' accepts \`-fstack-protector'" >&5 + $as_echo_n "checking whether \`$CC' accepts \`-fstack-protector'... " >&6; } +@@ -32373,11 +32376,88 @@ else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } + fi ++# Strong stack smashing protector. ++ssp_strong_possible=yes ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`$CC' accepts \`-fstack-protector-strong'" >&5 ++$as_echo_n "checking whether \`$CC' accepts \`-fstack-protector-strong'... " >&6; } ++# Is this a reliable test case? ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + +-# Need that, because some distributions ship compilers that include +-# `-fstack-protector' in the default specs. +-if test "x$ssp_possible" = xyes; then +- TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector" ++void foo (void) { volatile char a[8]; a[3]; } ++ ++_ACEOF ++# `$CC -c -o ...' might not be portable. But, oh, well... Is calling ++# `ac_compile' like this correct, after all? ++if eval "$ac_compile -S -fstack-protector-strong -o conftest.s" 2> /dev/null; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ # Should we clear up other files as well, having called `AC_LANG_CONFTEST'? ++ rm -f conftest.s ++else ++ ssp_strong_possible=no ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++# Global stack smashing protector. ++ssp_global_possible=yes ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`$CC' accepts \`-mstack-protector-guard=global'" >&5 ++$as_echo_n "checking whether \`$CC' accepts \`-mstack-protector-guard=global'... " >&6; } ++# Is this a reliable test case? ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++void foo (void) { volatile char a[8]; a[3]; } ++ ++_ACEOF ++# `$CC -c -o ...' might not be portable. But, oh, well... Is calling ++# `ac_compile' like this correct, after all? ++if eval "$ac_compile -S -fstack-protector -mstack-protector-guard=global -o conftest.s" 2> /dev/null; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ # Should we clear up other files as well, having called `AC_LANG_CONFTEST'? ++ rm -f conftest.s ++else ++ ssp_global_possible=no ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++# Check whether --enable-stack-protector was given. ++if test "${enable_stack_protector+set}" = set; then : ++ enableval=$enable_stack_protector; ++else ++ enable_stack_protector=no ++fi ++ ++if test "x$enable_stack_protector" = xno; then ++ if test "x$ssp_possible" = xyes; then ++ # Need that, because some distributions ship compilers that include ++ # `-fstack-protector' in the default specs. ++ TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector" ++ fi ++elif test "x$platform" != xefi; then ++ as_fn_error $? "--enable-stack-protector is only supported on EFI platforms" "$LINENO" 5 ++elif test "x$ssp_global_possible" != xyes; then ++ as_fn_error $? "--enable-stack-protector is not supported (compiler doesn't support -mstack-protector-guard=global)" "$LINENO" 5 ++else ++ TARGET_CFLAGS="$TARGET_CFLAGS -mstack-protector-guard=global" ++ if test "x$enable_stack_protector" = xyes; then ++ if test "x$ssp_possible" != xyes; then ++ as_fn_error $? "--enable-stack-protector is not supported (compiler doesn't support -fstack-protector)" "$LINENO" 5 ++ fi ++ TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector" ++ elif test "x$enable_stack_protector" = xstrong; then ++ if test "x$ssp_strong_possible" != xyes; then ++ as_fn_error $? "--enable-stack-protector=strong is not supported (compiler doesn't support -fstack-protector-strong)" "$LINENO" 5 ++ fi ++ TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector-strong" ++ else ++ # Note, -fstack-protector-all requires that the protector is disabled for ++ # functions that appear in the call stack when the canary is initialized. ++ as_fn_error $? "invalid value $enable_stack_protector for --enable-stack-protector" "$LINENO" 5 ++ fi ++ TARGET_CPPFLAGS="$TARGET_CPPFLAGS -DGRUB_STACK_PROTECTOR=1" + fi + + CFLAGS="$TARGET_CFLAGS" +@@ -37054,5 +37134,10 @@ echo "Without liblzma (no support for XZ-compressed mips images) ($liblzma_excus + else + echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)" + fi ++if test "x$enable_stack_protector" != xno; then ++echo "With stack smashing protector: Yes" ++else ++echo "With stack smashing protector: No" ++fi + echo "*******************************************************" + +diff --git a/configure.ac b/configure.ac +index 7656f24..bb6b02a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1285,12 +1285,41 @@ fi] + + CFLAGS="$TARGET_CFLAGS" + +-# Smashing stack protector. ++# Stack smashing protector. + grub_CHECK_STACK_PROTECTOR +-# Need that, because some distributions ship compilers that include +-# `-fstack-protector' in the default specs. +-if test "x$ssp_possible" = xyes; then +- TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector" ++AC_ARG_ENABLE([stack-protector], ++ AS_HELP_STRING([--enable-stack-protector], ++ [enable the stack protector]), ++ [], ++ [enable_stack_protector=no]) ++if test "x$enable_stack_protector" = xno; then ++ if test "x$ssp_possible" = xyes; then ++ # Need that, because some distributions ship compilers that include ++ # `-fstack-protector' in the default specs. ++ TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector" ++ fi ++elif test "x$platform" != xefi; then ++ AC_MSG_ERROR([--enable-stack-protector is only supported on EFI platforms]) ++elif test "x$ssp_global_possible" != xyes; then ++ AC_MSG_ERROR([--enable-stack-protector is not supported (compiler doesn't support -mstack-protector-guard=global)]) ++else ++ TARGET_CFLAGS="$TARGET_CFLAGS -mstack-protector-guard=global" ++ if test "x$enable_stack_protector" = xyes; then ++ if test "x$ssp_possible" != xyes; then ++ AC_MSG_ERROR([--enable-stack-protector is not supported (compiler doesn't support -fstack-protector)]) ++ fi ++ TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector" ++ elif test "x$enable_stack_protector" = xstrong; then ++ if test "x$ssp_strong_possible" != xyes; then ++ AC_MSG_ERROR([--enable-stack-protector=strong is not supported (compiler doesn't support -fstack-protector-strong)]) ++ fi ++ TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector-strong" ++ else ++ # Note, -fstack-protector-all requires that the protector is disabled for ++ # functions that appear in the call stack when the canary is initialized. ++ AC_MSG_ERROR([invalid value $enable_stack_protector for --enable-stack-protector]) ++ fi ++ TARGET_CPPFLAGS="$TARGET_CPPFLAGS -DGRUB_STACK_PROTECTOR=1" + fi + + CFLAGS="$TARGET_CFLAGS" +@@ -2103,5 +2132,10 @@ echo "Without liblzma (no support for XZ-compressed mips images) ($liblzma_excus + else + echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)" + fi ++if test "x$enable_stack_protector" != xno; then ++echo "With stack smashing protector: Yes" ++else ++echo "With stack smashing protector: No" ++fi + echo "*******************************************************" + ] +diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am +index 30e23ad..ee88e44 100644 +--- a/grub-core/Makefile.am ++++ b/grub-core/Makefile.am +@@ -90,6 +90,7 @@ endif + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/parser.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/partition.h ++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/stack_protector.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h + KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/verify.h +diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in +index 1f8133b..50c70b5 100644 +--- a/grub-core/Makefile.in ++++ b/grub-core/Makefile.in +@@ -16425,6 +16425,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \ + $(am__append_5795) $(top_srcdir)/include/grub/mm.h \ + $(top_srcdir)/include/grub/parser.h \ + $(top_srcdir)/include/grub/partition.h \ ++ $(top_srcdir)/include/grub/stack_protector.h \ + $(top_srcdir)/include/grub/term.h \ + $(top_srcdir)/include/grub/time.h \ + $(top_srcdir)/include/grub/verify.h \ +diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c +index 1333465..7facacf 100644 +--- a/grub-core/kern/efi/init.c ++++ b/grub-core/kern/efi/init.c +@@ -27,6 +27,58 @@ + #include + #include + #include ++#include ++ ++#ifdef GRUB_STACK_PROTECTOR ++ ++static grub_efi_guid_t rng_protocol_guid = GRUB_EFI_RNG_PROTOCOL_GUID; ++ ++/* ++ * Don't put this on grub_efi_init()'s local stack to avoid it ++ * getting a stack check. ++ */ ++static grub_efi_uint8_t stack_chk_guard_buf[32]; ++ ++grub_addr_t __stack_chk_guard; ++ ++void __attribute__ ((noreturn)) ++__stack_chk_fail (void) ++{ ++ /* ++ * Assume it's not safe to call into EFI Boot Services. Sorry, that ++ * means no console message here. ++ */ ++ do ++ { ++ /* Do not optimize out the loop. */ ++ asm volatile (""); ++ } ++ while (1); ++} ++ ++static void ++stack_protector_init (void) ++{ ++ grub_efi_rng_protocol_t *rng; ++ ++ /* Set up the stack canary. Make errors here non-fatal for now. */ ++ rng = grub_efi_locate_protocol (&rng_protocol_guid, NULL); ++ if (rng != NULL) ++ { ++ grub_efi_status_t status; ++ ++ status = efi_call_4 (rng->get_rng, rng, NULL, sizeof (stack_chk_guard_buf), ++ stack_chk_guard_buf); ++ if (status == GRUB_EFI_SUCCESS) ++ grub_memcpy (&__stack_chk_guard, stack_chk_guard_buf, sizeof (__stack_chk_guard)); ++ } ++} ++#else ++static void ++stack_protector_init (void) ++{ ++} ++#endif + + grub_addr_t grub_modbase; + +@@ -38,6 +90,8 @@ grub_efi_init (void) + messages. */ + grub_console_init (); + ++ stack_protector_init (); ++ + /* Initialize the memory management system. */ + grub_efi_mm_init (); + +diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h +index 13e5715..5517f7e 100644 +--- a/include/grub/efi/api.h ++++ b/include/grub/efi/api.h +@@ -339,6 +339,11 @@ + { 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } \ + } + ++#define GRUB_EFI_RNG_PROTOCOL_GUID \ ++ { 0x3152bca5, 0xeade, 0x433d, \ ++ { 0x86, 0x2e, 0xc0, 0x1c, 0xdc, 0x29, 0x1f, 0x44 } \ ++ } ++ + struct grub_efi_sal_system_table + { + grub_uint32_t signature; +@@ -1700,6 +1705,20 @@ struct grub_efi_shim_lock_protocol + }; + typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t; + ++typedef grub_efi_guid_t grub_efi_rng_algorithm_t; ++ ++struct grub_efi_rng_protocol ++{ ++ grub_efi_status_t (*get_info) (struct grub_efi_rng_protocol *this, ++ grub_efi_uintn_t *rng_algorithm_list_size, ++ grub_efi_rng_algorithm_t *rng_algorithm_list); ++ grub_efi_status_t (*get_rng) (struct grub_efi_rng_protocol *this, ++ grub_efi_rng_algorithm_t *rng_algorithm, ++ grub_efi_uintn_t rng_value_length, ++ grub_efi_uint8_t *rng_value); ++}; ++typedef struct grub_efi_rng_protocol grub_efi_rng_protocol_t; ++ + #if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \ + || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \ + || defined(__riscv) +diff --git a/include/grub/stack_protector.h b/include/grub/stack_protector.h +new file mode 100644 +index 0000000..c88dc00 +--- /dev/null ++++ b/include/grub/stack_protector.h +@@ -0,0 +1,30 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2021 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB 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 GRUB. If not, see . ++ */ ++ ++#ifndef GRUB_STACK_PROTECTOR_H ++#define GRUB_STACK_PROTECTOR_H 1 ++ ++#include ++#include ++ ++#ifdef GRUB_STACK_PROTECTOR ++extern grub_addr_t EXPORT_VAR (__stack_chk_guard); ++extern void __attribute__ ((noreturn)) EXPORT_FUNC (__stack_chk_fail) (void); ++#endif ++ ++#endif /* GRUB_STACK_PROTECTOR_H */ +diff --git a/po/POTFILES.in b/po/POTFILES.in +index 7753ab4..ef42c7d 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -1319,6 +1319,7 @@ + ./include/grub/sparc64/time.h + ./include/grub/sparc64/types.h + ./include/grub/speaker.h ++./include/grub/stack_protector.h + ./include/grub/symbol.h + ./include/grub/syslinux_parse.h + ./include/grub/term.h +-- +2.14.2 + diff --git a/boot/grub2/0134-util-mkimage-Remove-unused-code-to-add-BSS-section.patch b/boot/grub2/0134-util-mkimage-Remove-unused-code-to-add-BSS-section.patch new file mode 100644 index 00000000000..a3eb78ebc75 --- /dev/null +++ b/boot/grub2/0134-util-mkimage-Remove-unused-code-to-add-BSS-section.patch @@ -0,0 +1,61 @@ +From d52f78def1b9c4f435fdbf6b24fd899208580c76 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Thu, 11 Feb 2021 17:06:49 +0100 +Subject: [PATCH] util/mkimage: Remove unused code to add BSS section + +The code is compiled out so there is no reason to keep it. + +Additionally, don't set bss_size field since we do not add a BSS section. + +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/mkimage.c | 17 ----------------- + 1 file changed, 17 deletions(-) + +diff --git a/util/mkimage.c b/util/mkimage.c +index 37d6249..32bb8ea 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -1304,7 +1304,6 @@ grub_install_generate_image (const char *dir, const char *prefix, + o->code_size = grub_host_to_target32 (layout.exec_size); + o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size + - header_size); +- o->bss_size = grub_cpu_to_le32 (layout.bss_size); + o->entry_addr = grub_cpu_to_le32 (layout.start_address); + o->code_base = grub_cpu_to_le32 (header_size); + +@@ -1342,7 +1341,6 @@ grub_install_generate_image (const char *dir, const char *prefix, + o->code_size = grub_host_to_target32 (layout.exec_size); + o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size + - header_size); +- o->bss_size = grub_cpu_to_le32 (layout.bss_size); + o->entry_addr = grub_cpu_to_le32 (layout.start_address); + o->code_base = grub_cpu_to_le32 (header_size); + o->image_base = 0; +@@ -1387,21 +1385,6 @@ grub_install_generate_image (const char *dir, const char *prefix, + = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA + | GRUB_PE32_SCN_MEM_READ + | GRUB_PE32_SCN_MEM_WRITE); +- +-#if 0 +- bss_section = data_section + 1; +- strcpy (bss_section->name, ".bss"); +- bss_section->virtual_size = grub_cpu_to_le32 (layout.bss_size); +- bss_section->virtual_address = grub_cpu_to_le32 (header_size + layout.kernel_size); +- bss_section->raw_data_size = 0; +- bss_section->raw_data_offset = 0; +- bss_section->characteristics +- = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_MEM_READ +- | GRUB_PE32_SCN_MEM_WRITE +- | GRUB_PE32_SCN_ALIGN_64BYTES +- | GRUB_PE32_SCN_CNT_INITIALIZED_DATA +- | 0x80); +-#endif + + mods_section = data_section + 1; + strcpy (mods_section->name, "mods"); +-- +2.14.2 + diff --git a/boot/grub2/0135-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch b/boot/grub2/0135-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch new file mode 100644 index 00000000000..778065ce5f7 --- /dev/null +++ b/boot/grub2/0135-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch @@ -0,0 +1,113 @@ +From 1710452aca05ccdd21e74390ec08c63fdf0ee10a Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 15 Feb 2021 13:59:21 +0100 +Subject: [PATCH] util/mkimage: Use grub_host_to_target32() instead of + grub_cpu_to_le32() + +The latter doesn't take into account the target image endianness. There is +a grub_cpu_to_le32_compile_time() but no compile time variant for function +grub_host_to_target32(). So, let's keep using the other one for this case. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/mkimage.c | 44 ++++++++++++++++++++++---------------------- + 1 file changed, 22 insertions(+), 22 deletions(-) + +diff --git a/util/mkimage.c b/util/mkimage.c +index 32bb8ea..02944f2 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -1302,10 +1302,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + + sizeof (struct grub_pe32_coff_header)); + o->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC); + o->code_size = grub_host_to_target32 (layout.exec_size); +- o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size ++ o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size + - header_size); +- o->entry_addr = grub_cpu_to_le32 (layout.start_address); +- o->code_base = grub_cpu_to_le32 (header_size); ++ o->entry_addr = grub_host_to_target32 (layout.start_address); ++ o->code_base = grub_host_to_target32 (header_size); + + o->data_base = grub_host_to_target32 (header_size + layout.exec_size); + +@@ -1339,10 +1339,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + + sizeof (struct grub_pe32_coff_header)); + o->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC); + o->code_size = grub_host_to_target32 (layout.exec_size); +- o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size ++ o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size + - header_size); +- o->entry_addr = grub_cpu_to_le32 (layout.start_address); +- o->code_base = grub_cpu_to_le32 (header_size); ++ o->entry_addr = grub_host_to_target32 (layout.start_address); ++ o->code_base = grub_host_to_target32 (header_size); + o->image_base = 0; + o->section_alignment = grub_host_to_target32 (image_target->section_align); + o->file_alignment = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT); +@@ -1366,10 +1366,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + /* The sections. */ + text_section = sections; + strcpy (text_section->name, ".text"); +- text_section->virtual_size = grub_cpu_to_le32 (layout.exec_size); +- text_section->virtual_address = grub_cpu_to_le32 (header_size); +- text_section->raw_data_size = grub_cpu_to_le32 (layout.exec_size); +- text_section->raw_data_offset = grub_cpu_to_le32 (header_size); ++ text_section->virtual_size = grub_host_to_target32 (layout.exec_size); ++ text_section->virtual_address = grub_host_to_target32 (header_size); ++ text_section->raw_data_size = grub_host_to_target32 (layout.exec_size); ++ text_section->raw_data_offset = grub_host_to_target32 (header_size); + text_section->characteristics = grub_cpu_to_le32_compile_time ( + GRUB_PE32_SCN_CNT_CODE + | GRUB_PE32_SCN_MEM_EXECUTE +@@ -1377,10 +1377,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + + data_section = text_section + 1; + strcpy (data_section->name, ".data"); +- data_section->virtual_size = grub_cpu_to_le32 (layout.kernel_size - layout.exec_size); +- data_section->virtual_address = grub_cpu_to_le32 (header_size + layout.exec_size); +- data_section->raw_data_size = grub_cpu_to_le32 (layout.kernel_size - layout.exec_size); +- data_section->raw_data_offset = grub_cpu_to_le32 (header_size + layout.exec_size); ++ data_section->virtual_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size); ++ data_section->virtual_address = grub_host_to_target32 (header_size + layout.exec_size); ++ data_section->raw_data_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size); ++ data_section->raw_data_offset = grub_host_to_target32 (header_size + layout.exec_size); + data_section->characteristics + = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA + | GRUB_PE32_SCN_MEM_READ +@@ -1388,10 +1388,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + + mods_section = data_section + 1; + strcpy (mods_section->name, "mods"); +- mods_section->virtual_size = grub_cpu_to_le32 (reloc_addr - layout.kernel_size - header_size); +- mods_section->virtual_address = grub_cpu_to_le32 (header_size + layout.kernel_size + layout.bss_size); +- mods_section->raw_data_size = grub_cpu_to_le32 (reloc_addr - layout.kernel_size - header_size); +- mods_section->raw_data_offset = grub_cpu_to_le32 (header_size + layout.kernel_size); ++ mods_section->virtual_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size); ++ mods_section->virtual_address = grub_host_to_target32 (header_size + layout.kernel_size + layout.bss_size); ++ mods_section->raw_data_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size); ++ mods_section->raw_data_offset = grub_host_to_target32 (header_size + layout.kernel_size); + mods_section->characteristics + = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA + | GRUB_PE32_SCN_MEM_READ +@@ -1399,10 +1399,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + + reloc_section = mods_section + 1; + strcpy (reloc_section->name, ".reloc"); +- reloc_section->virtual_size = grub_cpu_to_le32 (layout.reloc_size); +- reloc_section->virtual_address = grub_cpu_to_le32 (reloc_addr + layout.bss_size); +- reloc_section->raw_data_size = grub_cpu_to_le32 (layout.reloc_size); +- reloc_section->raw_data_offset = grub_cpu_to_le32 (reloc_addr); ++ reloc_section->virtual_size = grub_host_to_target32 (layout.reloc_size); ++ reloc_section->virtual_address = grub_host_to_target32 (reloc_addr + layout.bss_size); ++ reloc_section->raw_data_size = grub_host_to_target32 (layout.reloc_size); ++ reloc_section->raw_data_offset = grub_host_to_target32 (reloc_addr); + reloc_section->characteristics + = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA + | GRUB_PE32_SCN_MEM_DISCARDABLE +-- +2.14.2 + diff --git a/boot/grub2/0136-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch b/boot/grub2/0136-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch new file mode 100644 index 00000000000..81d7d01f9bb --- /dev/null +++ b/boot/grub2/0136-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch @@ -0,0 +1,39 @@ +From ae8936f9c375e1a38129e85a1b5d573fb451f288 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 15 Feb 2021 14:14:24 +0100 +Subject: [PATCH] util/mkimage: Always use grub_host_to_target32() to + initialize PE stack and heap stuff + +This change does not impact final result of initialization itself. +However, it eases PE code unification in subsequent patches. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/mkimage.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/util/mkimage.c b/util/mkimage.c +index 02944f2..b94bfb7 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -1351,10 +1351,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + o->subsystem = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION); + + /* Do these really matter? */ +- o->stack_reserve_size = grub_host_to_target64 (0x10000); +- o->stack_commit_size = grub_host_to_target64 (0x10000); +- o->heap_reserve_size = grub_host_to_target64 (0x10000); +- o->heap_commit_size = grub_host_to_target64 (0x10000); ++ o->stack_reserve_size = grub_host_to_target32 (0x10000); ++ o->stack_commit_size = grub_host_to_target32 (0x10000); ++ o->heap_reserve_size = grub_host_to_target32 (0x10000); ++ o->heap_commit_size = grub_host_to_target32 (0x10000); + + o->num_data_directories + = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES); +-- +2.14.2 + diff --git a/boot/grub2/0137-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch b/boot/grub2/0137-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch new file mode 100644 index 00000000000..1f8cb8e2fdc --- /dev/null +++ b/boot/grub2/0137-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch @@ -0,0 +1,169 @@ +From a4e8936f010a8e928e973b80390c8f83ad6b8000 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 15 Feb 2021 14:19:31 +0100 +Subject: [PATCH] util/mkimage: Unify more of the PE32 and PE32+ header set-up + +There's quite a bit of code duplication in the code that sets the optional +header for PE32 and PE32+. The two are very similar with the exception of +a few fields that have type grub_uint64_t instead of grub_uint32_t. + +Factor out the common code and add a PE_OHDR() macro that simplifies the +set-up and make the code more readable. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/mkimage.c | 111 ++++++++++++++++++++++++++------------------------------- + 1 file changed, 51 insertions(+), 60 deletions(-) + +diff --git a/util/mkimage.c b/util/mkimage.c +index b94bfb7..a039039 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -816,6 +816,21 @@ grub_install_get_image_targets_string (void) + return formats; + } + ++/* ++ * tmp_ is just here so the compiler knows we'll never derefernce a NULL. ++ * It should get fully optimized away. ++ */ ++#define PE_OHDR(o32, o64, field) (*( \ ++{ \ ++ __typeof__((o64)->field) tmp_; \ ++ __typeof__((o64)->field) *ret_ = &tmp_; \ ++ if (o32) \ ++ ret_ = (void *)(&((o32)->field)); \ ++ else if (o64) \ ++ ret_ = (void *)(&((o64)->field)); \ ++ ret_; \ ++})) ++ + void + grub_install_generate_image (const char *dir, const char *prefix, + FILE *out, const char *outname, char *mods[], +@@ -1252,6 +1267,8 @@ grub_install_generate_image (const char *dir, const char *prefix, + static const grub_uint8_t stub[] = GRUB_PE32_MSDOS_STUB; + int header_size; + int reloc_addr; ++ struct grub_pe32_optional_header *o32 = NULL; ++ struct grub_pe64_optional_header *o64 = NULL; + + if (image_target->voidp_sizeof == 4) + header_size = EFI32_HEADER_SIZE; +@@ -1293,76 +1310,50 @@ grub_install_generate_image (const char *dir, const char *prefix, + /* The PE Optional header. */ + if (image_target->voidp_sizeof == 4) + { +- struct grub_pe32_optional_header *o; +- + c->optional_header_size = grub_host_to_target16 (sizeof (struct grub_pe32_optional_header)); + +- o = (struct grub_pe32_optional_header *) +- (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE +- + sizeof (struct grub_pe32_coff_header)); +- o->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC); +- o->code_size = grub_host_to_target32 (layout.exec_size); +- o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size +- - header_size); +- o->entry_addr = grub_host_to_target32 (layout.start_address); +- o->code_base = grub_host_to_target32 (header_size); +- +- o->data_base = grub_host_to_target32 (header_size + layout.exec_size); +- +- o->image_base = 0; +- o->section_alignment = grub_host_to_target32 (image_target->section_align); +- o->file_alignment = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT); +- o->image_size = grub_host_to_target32 (pe_size); +- o->header_size = grub_host_to_target32 (header_size); +- o->subsystem = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION); +- +- /* Do these really matter? */ +- o->stack_reserve_size = grub_host_to_target32 (0x10000); +- o->stack_commit_size = grub_host_to_target32 (0x10000); +- o->heap_reserve_size = grub_host_to_target32 (0x10000); +- o->heap_commit_size = grub_host_to_target32 (0x10000); +- +- o->num_data_directories = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES); ++ o32 = (struct grub_pe32_optional_header *) ++ (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE + ++ sizeof (struct grub_pe32_coff_header)); ++ o32->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC); ++ o32->data_base = grub_host_to_target32 (header_size + layout.exec_size); + +- o->base_relocation_table.rva = grub_host_to_target32 (reloc_addr); +- o->base_relocation_table.size = grub_host_to_target32 (layout.reloc_size); +- sections = o + 1; ++ sections = o32 + 1; + } + else + { +- struct grub_pe64_optional_header *o; +- + c->optional_header_size = grub_host_to_target16 (sizeof (struct grub_pe64_optional_header)); + +- o = (struct grub_pe64_optional_header *) +- (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE +- + sizeof (struct grub_pe32_coff_header)); +- o->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC); +- o->code_size = grub_host_to_target32 (layout.exec_size); +- o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size +- - header_size); +- o->entry_addr = grub_host_to_target32 (layout.start_address); +- o->code_base = grub_host_to_target32 (header_size); +- o->image_base = 0; +- o->section_alignment = grub_host_to_target32 (image_target->section_align); +- o->file_alignment = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT); +- o->image_size = grub_host_to_target32 (pe_size); +- o->header_size = grub_host_to_target32 (header_size); +- o->subsystem = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION); +- +- /* Do these really matter? */ +- o->stack_reserve_size = grub_host_to_target32 (0x10000); +- o->stack_commit_size = grub_host_to_target32 (0x10000); +- o->heap_reserve_size = grub_host_to_target32 (0x10000); +- o->heap_commit_size = grub_host_to_target32 (0x10000); +- +- o->num_data_directories +- = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES); ++ o64 = (struct grub_pe64_optional_header *) ++ (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE + ++ sizeof (struct grub_pe32_coff_header)); ++ o64->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC); + +- o->base_relocation_table.rva = grub_host_to_target32 (reloc_addr); +- o->base_relocation_table.size = grub_host_to_target32 (layout.reloc_size); +- sections = o + 1; ++ sections = o64 + 1; + } ++ ++ PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size); ++ PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size); ++ PE_OHDR (o32, o64, entry_addr) = grub_host_to_target32 (layout.start_address); ++ PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size); ++ ++ PE_OHDR (o32, o64, image_base) = 0; ++ PE_OHDR (o32, o64, section_alignment) = grub_host_to_target32 (image_target->section_align); ++ PE_OHDR (o32, o64, file_alignment) = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT); ++ PE_OHDR (o32, o64, image_size) = grub_host_to_target32 (pe_size); ++ PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size); ++ PE_OHDR (o32, o64, subsystem) = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION); ++ ++ /* Do these really matter? */ ++ PE_OHDR (o32, o64, stack_reserve_size) = grub_host_to_target32 (0x10000); ++ PE_OHDR (o32, o64, stack_commit_size) = grub_host_to_target32 (0x10000); ++ PE_OHDR (o32, o64, heap_reserve_size) = grub_host_to_target32 (0x10000); ++ PE_OHDR (o32, o64, heap_commit_size) = grub_host_to_target32 (0x10000); ++ ++ PE_OHDR (o32, o64, num_data_directories) = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES); ++ PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr); ++ PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size); ++ + /* The sections. */ + text_section = sections; + strcpy (text_section->name, ".text"); +-- +2.14.2 + diff --git a/boot/grub2/0138-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch b/boot/grub2/0138-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch new file mode 100644 index 00000000000..cb65f964059 --- /dev/null +++ b/boot/grub2/0138-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch @@ -0,0 +1,73 @@ +From ba44c87e56a8bccde235ebb7d41d5aa54604d241 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 15 Feb 2021 14:21:48 +0100 +Subject: [PATCH] util/mkimage: Reorder PE optional header fields set-up + +This makes the PE32 and PE32+ header fields set-up easier to follow by +setting them closer to the initialization of their related sections. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/mkimage.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/util/mkimage.c b/util/mkimage.c +index a039039..deaef56 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -1332,16 +1332,12 @@ grub_install_generate_image (const char *dir, const char *prefix, + sections = o64 + 1; + } + +- PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size); +- PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size); ++ PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size); + PE_OHDR (o32, o64, entry_addr) = grub_host_to_target32 (layout.start_address); +- PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size); +- + PE_OHDR (o32, o64, image_base) = 0; ++ PE_OHDR (o32, o64, image_size) = grub_host_to_target32 (pe_size); + PE_OHDR (o32, o64, section_alignment) = grub_host_to_target32 (image_target->section_align); + PE_OHDR (o32, o64, file_alignment) = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT); +- PE_OHDR (o32, o64, image_size) = grub_host_to_target32 (pe_size); +- PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size); + PE_OHDR (o32, o64, subsystem) = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION); + + /* Do these really matter? */ +@@ -1351,10 +1347,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + PE_OHDR (o32, o64, heap_commit_size) = grub_host_to_target32 (0x10000); + + PE_OHDR (o32, o64, num_data_directories) = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES); +- PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr); +- PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size); + + /* The sections. */ ++ PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size); ++ PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size); + text_section = sections; + strcpy (text_section->name, ".text"); + text_section->virtual_size = grub_host_to_target32 (layout.exec_size); +@@ -1366,6 +1362,8 @@ grub_install_generate_image (const char *dir, const char *prefix, + | GRUB_PE32_SCN_MEM_EXECUTE + | GRUB_PE32_SCN_MEM_READ); + ++ PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size); ++ + data_section = text_section + 1; + strcpy (data_section->name, ".data"); + data_section->virtual_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size); +@@ -1388,6 +1386,8 @@ grub_install_generate_image (const char *dir, const char *prefix, + | GRUB_PE32_SCN_MEM_READ + | GRUB_PE32_SCN_MEM_WRITE); + ++ PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr); ++ PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size); + reloc_section = mods_section + 1; + strcpy (reloc_section->name, ".reloc"); + reloc_section->virtual_size = grub_host_to_target32 (layout.reloc_size); +-- +2.14.2 + diff --git a/boot/grub2/0139-util-mkimage-Improve-data_size-value-calculation.patch b/boot/grub2/0139-util-mkimage-Improve-data_size-value-calculation.patch new file mode 100644 index 00000000000..cc25519a1b3 --- /dev/null +++ b/boot/grub2/0139-util-mkimage-Improve-data_size-value-calculation.patch @@ -0,0 +1,50 @@ +From ff406eff25465932b97a2857ee5a75fd0957e9b9 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Thu, 11 Feb 2021 17:07:33 +0100 +Subject: [PATCH] util/mkimage: Improve data_size value calculation + +According to "Microsoft Portable Executable and Common Object File Format +Specification", the Optional Header SizeOfInitializedData field contains: + + Size of the initialized data section, or the sum of all such sections if + there are multiple data sections. + +Make this explicit by adding the GRUB kernel data size to the sum of all +the modules sizes. The ALIGN_UP() is not required by the PE spec but do +it to avoid alignment issues. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/mkimage.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/util/mkimage.c b/util/mkimage.c +index deaef56..853a521 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -1260,6 +1260,7 @@ grub_install_generate_image (const char *dir, const char *prefix, + void *pe_img; + grub_uint8_t *header; + void *sections; ++ size_t scn_size; + size_t pe_size; + struct grub_pe32_coff_header *c; + struct grub_pe32_section_table *text_section, *data_section; +@@ -1362,7 +1363,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + | GRUB_PE32_SCN_MEM_EXECUTE + | GRUB_PE32_SCN_MEM_READ); + +- PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size); ++ scn_size = ALIGN_UP (layout.kernel_size - layout.exec_size, GRUB_PE32_FILE_ALIGNMENT); ++ PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size + ++ ALIGN_UP (total_module_size, ++ GRUB_PE32_FILE_ALIGNMENT)); + + data_section = text_section + 1; + strcpy (data_section->name, ".data"); +-- +2.14.2 + diff --git a/boot/grub2/0140-util-mkimage-Refactor-section-setup-to-use-a-helper.patch b/boot/grub2/0140-util-mkimage-Refactor-section-setup-to-use-a-helper.patch new file mode 100644 index 00000000000..cc0270edb73 --- /dev/null +++ b/boot/grub2/0140-util-mkimage-Refactor-section-setup-to-use-a-helper.patch @@ -0,0 +1,221 @@ +From f60ba9e5945892e835e53f0619406d96002f7f70 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 15 Feb 2021 14:58:06 +0100 +Subject: [PATCH] util/mkimage: Refactor section setup to use a helper + +Add a init_pe_section() helper function to setup PE sections. This makes +the code simpler and easier to read. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + util/mkimage.c | 143 +++++++++++++++++++++++++++++++-------------------------- + 1 file changed, 77 insertions(+), 66 deletions(-) + +diff --git a/util/mkimage.c b/util/mkimage.c +index 853a521..8b475a6 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -816,6 +816,38 @@ grub_install_get_image_targets_string (void) + return formats; + } + ++/* ++ * The image_target parameter is used by the grub_host_to_target32() macro. ++ */ ++static struct grub_pe32_section_table * ++init_pe_section(const struct grub_install_image_target_desc *image_target, ++ struct grub_pe32_section_table *section, ++ const char * const name, ++ grub_uint32_t *vma, grub_uint32_t vsz, grub_uint32_t valign, ++ grub_uint32_t *rda, grub_uint32_t rsz, ++ grub_uint32_t characteristics) ++{ ++ size_t len = strlen (name); ++ ++ if (len > sizeof (section->name)) ++ grub_util_error (_("section name %s length is bigger than %lu"), ++ name, (unsigned long) sizeof (section->name)); ++ ++ memcpy (section->name, name, len); ++ ++ section->virtual_address = grub_host_to_target32 (*vma); ++ section->virtual_size = grub_host_to_target32 (vsz); ++ (*vma) = ALIGN_UP (*vma + vsz, valign); ++ ++ section->raw_data_offset = grub_host_to_target32 (*rda); ++ section->raw_data_size = grub_host_to_target32 (rsz); ++ (*rda) = ALIGN_UP (*rda + rsz, GRUB_PE32_FILE_ALIGNMENT); ++ ++ section->characteristics = grub_host_to_target32 (characteristics); ++ ++ return section + 1; ++} ++ + /* + * tmp_ is just here so the compiler knows we'll never derefernce a NULL. + * It should get fully optimized away. +@@ -1257,17 +1289,13 @@ grub_install_generate_image (const char *dir, const char *prefix, + break; + case IMAGE_EFI: + { +- void *pe_img; +- grub_uint8_t *header; +- void *sections; ++ char *pe_img, *header; ++ struct grub_pe32_section_table *section; + size_t scn_size; +- size_t pe_size; ++ grub_uint32_t vma, raw_data; ++ size_t pe_size, header_size; + struct grub_pe32_coff_header *c; +- struct grub_pe32_section_table *text_section, *data_section; +- struct grub_pe32_section_table *mods_section, *reloc_section; + static const grub_uint8_t stub[] = GRUB_PE32_MSDOS_STUB; +- int header_size; +- int reloc_addr; + struct grub_pe32_optional_header *o32 = NULL; + struct grub_pe64_optional_header *o64 = NULL; + +@@ -1276,17 +1304,12 @@ grub_install_generate_image (const char *dir, const char *prefix, + else + header_size = EFI64_HEADER_SIZE; + +- reloc_addr = ALIGN_UP (header_size + core_size, +- GRUB_PE32_FILE_ALIGNMENT); ++ vma = raw_data = header_size; ++ pe_size = ALIGN_UP (header_size + core_size, GRUB_PE32_FILE_ALIGNMENT) + ++ ALIGN_UP (layout.reloc_size, GRUB_PE32_FILE_ALIGNMENT); ++ header = pe_img = xcalloc (1, pe_size); + +- pe_size = ALIGN_UP (reloc_addr + layout.reloc_size, +- GRUB_PE32_FILE_ALIGNMENT); +- pe_img = xmalloc (reloc_addr + layout.reloc_size); +- memset (pe_img, 0, header_size); +- memcpy ((char *) pe_img + header_size, core_img, core_size); +- memset ((char *) pe_img + header_size + core_size, 0, reloc_addr - (header_size + core_size)); +- memcpy ((char *) pe_img + reloc_addr, layout.reloc_section, layout.reloc_size); +- header = pe_img; ++ memcpy (pe_img + raw_data, core_img, core_size); + + /* The magic. */ + memcpy (header, stub, GRUB_PE32_MSDOS_STUB_SIZE); +@@ -1319,18 +1342,17 @@ grub_install_generate_image (const char *dir, const char *prefix, + o32->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC); + o32->data_base = grub_host_to_target32 (header_size + layout.exec_size); + +- sections = o32 + 1; ++ section = (struct grub_pe32_section_table *)(o32 + 1); + } + else + { + c->optional_header_size = grub_host_to_target16 (sizeof (struct grub_pe64_optional_header)); +- + o64 = (struct grub_pe64_optional_header *) + (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE + + sizeof (struct grub_pe32_coff_header)); + o64->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC); + +- sections = o64 + 1; ++ section = (struct grub_pe32_section_table *)(o64 + 1); + } + + PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size); +@@ -1350,58 +1372,47 @@ grub_install_generate_image (const char *dir, const char *prefix, + PE_OHDR (o32, o64, num_data_directories) = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES); + + /* The sections. */ +- PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size); ++ PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (vma); + PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size); +- text_section = sections; +- strcpy (text_section->name, ".text"); +- text_section->virtual_size = grub_host_to_target32 (layout.exec_size); +- text_section->virtual_address = grub_host_to_target32 (header_size); +- text_section->raw_data_size = grub_host_to_target32 (layout.exec_size); +- text_section->raw_data_offset = grub_host_to_target32 (header_size); +- text_section->characteristics = grub_cpu_to_le32_compile_time ( +- GRUB_PE32_SCN_CNT_CODE +- | GRUB_PE32_SCN_MEM_EXECUTE +- | GRUB_PE32_SCN_MEM_READ); ++ section = init_pe_section (image_target, section, ".text", ++ &vma, layout.exec_size, ++ image_target->section_align, ++ &raw_data, layout.exec_size, ++ GRUB_PE32_SCN_CNT_CODE | ++ GRUB_PE32_SCN_MEM_EXECUTE | ++ GRUB_PE32_SCN_MEM_READ); + + scn_size = ALIGN_UP (layout.kernel_size - layout.exec_size, GRUB_PE32_FILE_ALIGNMENT); + PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size + + ALIGN_UP (total_module_size, + GRUB_PE32_FILE_ALIGNMENT)); + +- data_section = text_section + 1; +- strcpy (data_section->name, ".data"); +- data_section->virtual_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size); +- data_section->virtual_address = grub_host_to_target32 (header_size + layout.exec_size); +- data_section->raw_data_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size); +- data_section->raw_data_offset = grub_host_to_target32 (header_size + layout.exec_size); +- data_section->characteristics +- = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA +- | GRUB_PE32_SCN_MEM_READ +- | GRUB_PE32_SCN_MEM_WRITE); +- +- mods_section = data_section + 1; +- strcpy (mods_section->name, "mods"); +- mods_section->virtual_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size); +- mods_section->virtual_address = grub_host_to_target32 (header_size + layout.kernel_size + layout.bss_size); +- mods_section->raw_data_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size); +- mods_section->raw_data_offset = grub_host_to_target32 (header_size + layout.kernel_size); +- mods_section->characteristics +- = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA +- | GRUB_PE32_SCN_MEM_READ +- | GRUB_PE32_SCN_MEM_WRITE); +- +- PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr); +- PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size); +- reloc_section = mods_section + 1; +- strcpy (reloc_section->name, ".reloc"); +- reloc_section->virtual_size = grub_host_to_target32 (layout.reloc_size); +- reloc_section->virtual_address = grub_host_to_target32 (reloc_addr + layout.bss_size); +- reloc_section->raw_data_size = grub_host_to_target32 (layout.reloc_size); +- reloc_section->raw_data_offset = grub_host_to_target32 (reloc_addr); +- reloc_section->characteristics +- = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA +- | GRUB_PE32_SCN_MEM_DISCARDABLE +- | GRUB_PE32_SCN_MEM_READ); ++ section = init_pe_section (image_target, section, ".data", ++ &vma, scn_size, image_target->section_align, ++ &raw_data, scn_size, ++ GRUB_PE32_SCN_CNT_INITIALIZED_DATA | ++ GRUB_PE32_SCN_MEM_READ | ++ GRUB_PE32_SCN_MEM_WRITE); ++ ++ scn_size = pe_size - layout.reloc_size - raw_data; ++ section = init_pe_section (image_target, section, "mods", ++ &vma, scn_size, image_target->section_align, ++ &raw_data, scn_size, ++ GRUB_PE32_SCN_CNT_INITIALIZED_DATA | ++ GRUB_PE32_SCN_MEM_READ | ++ GRUB_PE32_SCN_MEM_WRITE); ++ ++ scn_size = layout.reloc_size; ++ PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (vma); ++ PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (scn_size); ++ memcpy (pe_img + raw_data, layout.reloc_section, scn_size); ++ init_pe_section (image_target, section, ".reloc", ++ &vma, scn_size, image_target->section_align, ++ &raw_data, scn_size, ++ GRUB_PE32_SCN_CNT_INITIALIZED_DATA | ++ GRUB_PE32_SCN_MEM_DISCARDABLE | ++ GRUB_PE32_SCN_MEM_READ); ++ + free (core_img); + core_img = pe_img; + core_size = pe_size; +-- +2.14.2 + diff --git a/boot/grub2/0141-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch b/boot/grub2/0141-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch new file mode 100644 index 00000000000..3cc6b498c02 --- /dev/null +++ b/boot/grub2/0141-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch @@ -0,0 +1,264 @@ +From b11547137703bbc642114a816233a5b6fed61b06 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 15 Feb 2021 17:07:00 +0100 +Subject: [PATCH] util/mkimage: Add an option to import SBAT metadata into a + .sbat section + +Add a --sbat option to the grub-mkimage tool which allows us to import +an SBAT metadata formatted as a CSV file into a .sbat section of the +EFI binary. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 19 +++++++++++++++++++ + include/grub/util/install.h | 3 ++- + include/grub/util/mkimage.h | 1 + + util/grub-install-common.c | 2 +- + util/grub-mkimage.c | 15 ++++++++++++++- + util/mkimage.c | 43 ++++++++++++++++++++++++++++++++++++------- + 6 files changed, 73 insertions(+), 10 deletions(-) + +diff --git a/docs/grub.texi b/docs/grub.texi +index 8518cc0..bff6dfc 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -5616,6 +5616,7 @@ environment variables and commands are listed in the same order. + * Authentication and authorisation:: Users and access control + * Using digital signatures:: Booting digitally signed code + * UEFI secure boot and shim:: Booting digitally signed PE files ++* Secure Boot Advanced Targeting:: Embedded information for generation number based revocation + * Measured Boot:: Measuring boot components + * Lockdown:: Lockdown when booting on a secure setup + @end menu +@@ -5795,6 +5796,24 @@ and @command{memrw} will not be available when the UEFI secure boot is enabled. + This is done for security reasons and are enforced by the GRUB Lockdown mechanism + (@pxref{Lockdown}). + ++@node Secure Boot Advanced Targeting ++@section Embedded information for generation number based revocation ++ ++The Secure Boot Advanced Targeting (SBAT) is a mechanism to allow the revocation ++of components in the boot path by using generation numbers embedded into the EFI ++binaries. The SBAT metadata is located in an .sbat data section that has set of ++UTF-8 strings as comma-separated values (CSV). See ++@uref{https://github.com/rhboot/shim/blob/main/SBAT.md} for more details. ++ ++To add a data section containing the SBAT information into the binary, the ++@option{--sbat} option of @command{grub-mkimage} command should be used. The content ++of a CSV file, encoded with UTF-8, is copied as is to the .sbat data section into ++the generated EFI binary. The CSV file can be stored anywhere on the file system. ++ ++@example ++grub-mkimage -O x86_64-efi -o grubx64.efi -p '(tftp)/grub' --sbat sbat.csv efinet tftp ++@end example ++ + @node Measured Boot + @section Measuring boot components + +diff --git a/include/grub/util/install.h b/include/grub/util/install.h +index 2631b10..c03befd 100644 +--- a/include/grub/util/install.h ++++ b/include/grub/util/install.h +@@ -183,7 +183,8 @@ grub_install_generate_image (const char *dir, const char *prefix, + char *config_path, + const struct grub_install_image_target_desc *image_target, + int note, +- grub_compression_t comp, const char *dtb_file); ++ grub_compression_t comp, const char *dtb_file, ++ const char *sbat_path); + + const struct grub_install_image_target_desc * + grub_install_get_image_target (const char *arg); +diff --git a/include/grub/util/mkimage.h b/include/grub/util/mkimage.h +index ba9f568..3819a67 100644 +--- a/include/grub/util/mkimage.h ++++ b/include/grub/util/mkimage.h +@@ -24,6 +24,7 @@ struct grub_mkimage_layout + size_t exec_size; + size_t kernel_size; + size_t bss_size; ++ size_t sbat_size; + grub_uint64_t start_address; + void *reloc_section; + size_t reloc_size; +diff --git a/util/grub-install-common.c b/util/grub-install-common.c +index 0295d40..5d43ed1 100644 +--- a/util/grub-install-common.c ++++ b/util/grub-install-common.c +@@ -511,7 +511,7 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix, + grub_install_generate_image (dir, prefix, fp, outname, + modules.entries, memdisk_path, + pubkeys, npubkeys, config_path, tgt, +- note, compression, dtb); ++ note, compression, dtb, NULL); + while (dc--) + grub_install_pop_module (); + } +diff --git a/util/grub-mkimage.c b/util/grub-mkimage.c +index 912564e..75b8847 100644 +--- a/util/grub-mkimage.c ++++ b/util/grub-mkimage.c +@@ -81,6 +81,7 @@ static struct argp_option options[] = { + {"output", 'o', N_("FILE"), 0, N_("output a generated image to FILE [default=stdout]"), 0}, + {"format", 'O', N_("FORMAT"), 0, 0, 0}, + {"compression", 'C', "(xz|none|auto)", 0, N_("choose the compression to use for core image"), 0}, ++ {"sbat", 's', N_("FILE"), 0, N_("SBAT metadata"), 0}, + {"verbose", 'v', 0, 0, N_("print verbose messages."), 0}, + { 0, 0, 0, 0, 0, 0 } + }; +@@ -123,6 +124,7 @@ struct arguments + size_t npubkeys; + char *font; + char *config; ++ char *sbat; + int note; + const struct grub_install_image_target_desc *image_target; + grub_compression_t comp; +@@ -224,6 +226,13 @@ argp_parser (int key, char *arg, struct argp_state *state) + arguments->prefix = xstrdup (arg); + break; + ++ case 's': ++ if (arguments->sbat) ++ free (arguments->sbat); ++ ++ arguments->sbat = xstrdup (arg); ++ break; ++ + case 'v': + verbosity++; + break; +@@ -309,7 +318,8 @@ main (int argc, char *argv[]) + arguments.memdisk, arguments.pubkeys, + arguments.npubkeys, arguments.config, + arguments.image_target, arguments.note, +- arguments.comp, arguments.dtb); ++ arguments.comp, arguments.dtb, ++ arguments.sbat); + + if (grub_util_file_sync (fp) < 0) + grub_util_error (_("cannot sync `%s': %s"), arguments.output ? : "stdout", +@@ -328,5 +338,8 @@ main (int argc, char *argv[]) + if (arguments.output) + free (arguments.output); + ++ if (arguments.sbat) ++ free (arguments.sbat); ++ + return 0; + } +diff --git a/util/mkimage.c b/util/mkimage.c +index 8b475a6..b354ec1 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -869,12 +869,13 @@ grub_install_generate_image (const char *dir, const char *prefix, + char *memdisk_path, char **pubkey_paths, + size_t npubkeys, char *config_path, + const struct grub_install_image_target_desc *image_target, +- int note, grub_compression_t comp, const char *dtb_path) ++ int note, grub_compression_t comp, const char *dtb_path, ++ const char *sbat_path) + { + char *kernel_img, *core_img; + size_t total_module_size, core_size; + size_t memdisk_size = 0, config_size = 0; +- size_t prefix_size = 0, dtb_size = 0; ++ size_t prefix_size = 0, dtb_size = 0, sbat_size = 0; + char *kernel_path; + size_t offset; + struct grub_util_path_list *path_list, *p; +@@ -925,6 +926,9 @@ grub_install_generate_image (const char *dir, const char *prefix, + total_module_size += dtb_size + sizeof (struct grub_module_header); + } + ++ if (sbat_path != NULL && image_target->id != IMAGE_EFI) ++ grub_util_error (_(".sbat section can be embedded into EFI images only")); ++ + if (config_path) + { + config_size = ALIGN_ADDR (grub_util_get_image_size (config_path) + 1); +@@ -1289,8 +1293,9 @@ grub_install_generate_image (const char *dir, const char *prefix, + break; + case IMAGE_EFI: + { +- char *pe_img, *header; ++ char *pe_img, *pe_sbat, *header; + struct grub_pe32_section_table *section; ++ size_t n_sections = 4; + size_t scn_size; + grub_uint32_t vma, raw_data; + size_t pe_size, header_size; +@@ -1305,8 +1310,15 @@ grub_install_generate_image (const char *dir, const char *prefix, + header_size = EFI64_HEADER_SIZE; + + vma = raw_data = header_size; ++ ++ if (sbat_path != NULL) ++ { ++ sbat_size = ALIGN_ADDR (grub_util_get_image_size (sbat_path)); ++ sbat_size = ALIGN_UP (sbat_size, GRUB_PE32_FILE_ALIGNMENT); ++ } ++ + pe_size = ALIGN_UP (header_size + core_size, GRUB_PE32_FILE_ALIGNMENT) + +- ALIGN_UP (layout.reloc_size, GRUB_PE32_FILE_ALIGNMENT); ++ ALIGN_UP (layout.reloc_size, GRUB_PE32_FILE_ALIGNMENT) + sbat_size; + header = pe_img = xcalloc (1, pe_size); + + memcpy (pe_img + raw_data, core_img, core_size); +@@ -1321,7 +1333,10 @@ grub_install_generate_image (const char *dir, const char *prefix, + + GRUB_PE32_SIGNATURE_SIZE); + c->machine = grub_host_to_target16 (image_target->pe_target); + +- c->num_sections = grub_host_to_target16 (4); ++ if (sbat_path != NULL) ++ n_sections++; ++ ++ c->num_sections = grub_host_to_target16 (n_sections); + c->time = grub_host_to_target32 (STABLE_EMBEDDING_TIMESTAMP); + c->characteristics = grub_host_to_target16 (GRUB_PE32_EXECUTABLE_IMAGE + | GRUB_PE32_LINE_NUMS_STRIPPED +@@ -1383,7 +1398,8 @@ grub_install_generate_image (const char *dir, const char *prefix, + GRUB_PE32_SCN_MEM_READ); + + scn_size = ALIGN_UP (layout.kernel_size - layout.exec_size, GRUB_PE32_FILE_ALIGNMENT); +- PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size + ++ /* ALIGN_UP (sbat_size, GRUB_PE32_FILE_ALIGNMENT) is done earlier. */ ++ PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size + sbat_size + + ALIGN_UP (total_module_size, + GRUB_PE32_FILE_ALIGNMENT)); + +@@ -1394,7 +1410,7 @@ grub_install_generate_image (const char *dir, const char *prefix, + GRUB_PE32_SCN_MEM_READ | + GRUB_PE32_SCN_MEM_WRITE); + +- scn_size = pe_size - layout.reloc_size - raw_data; ++ scn_size = pe_size - layout.reloc_size - sbat_size - raw_data; + section = init_pe_section (image_target, section, "mods", + &vma, scn_size, image_target->section_align, + &raw_data, scn_size, +@@ -1402,6 +1418,19 @@ grub_install_generate_image (const char *dir, const char *prefix, + GRUB_PE32_SCN_MEM_READ | + GRUB_PE32_SCN_MEM_WRITE); + ++ if (sbat_path != NULL) ++ { ++ pe_sbat = pe_img + raw_data; ++ grub_util_load_image (sbat_path, pe_sbat); ++ ++ section = init_pe_section (image_target, section, ".sbat", ++ &vma, sbat_size, ++ image_target->section_align, ++ &raw_data, sbat_size, ++ GRUB_PE32_SCN_CNT_INITIALIZED_DATA | ++ GRUB_PE32_SCN_MEM_READ); ++ } ++ + scn_size = layout.reloc_size; + PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (vma); + PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (scn_size); +-- +2.14.2 + diff --git a/boot/grub2/0142-grub-install-common-Add-sbat-option.patch b/boot/grub2/0142-grub-install-common-Add-sbat-option.patch new file mode 100644 index 00000000000..13f71ff84f4 --- /dev/null +++ b/boot/grub2/0142-grub-install-common-Add-sbat-option.patch @@ -0,0 +1,85 @@ +From bb51ee2b49fbda0f66c1fa580a33442ff578f110 Mon Sep 17 00:00:00 2001 +From: Dimitri John Ledkov +Date: Mon, 22 Feb 2021 17:05:25 +0000 +Subject: [PATCH] grub-install-common: Add --sbat option + +Signed-off-by: Dimitri John Ledkov +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + include/grub/util/install.h | 5 ++++- + util/grub-install-common.c | 12 ++++++++++-- + 2 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/include/grub/util/install.h b/include/grub/util/install.h +index c03befd..8cb5056 100644 +--- a/include/grub/util/install.h ++++ b/include/grub/util/install.h +@@ -63,6 +63,8 @@ + /* TRANSLATORS: "embed" is a verb (command description). "*/ \ + { "pubkey", 'k', N_("FILE"), 0, \ + N_("embed FILE as public key for signature checking"), 0}, \ ++ { "sbat", GRUB_INSTALL_OPTIONS_SBAT, N_("FILE"), 0, \ ++ N_("SBAT metadata"), 0 }, \ + { "verbose", 'v', 0, 0, \ + N_("print verbose messages."), 1 } + +@@ -122,7 +124,8 @@ enum grub_install_options { + GRUB_INSTALL_OPTIONS_THEMES_DIRECTORY, + GRUB_INSTALL_OPTIONS_GRUB_MKIMAGE, + GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS, +- GRUB_INSTALL_OPTIONS_DTB ++ GRUB_INSTALL_OPTIONS_DTB, ++ GRUB_INSTALL_OPTIONS_SBAT + }; + + extern char *grub_install_source_directory; +diff --git a/util/grub-install-common.c b/util/grub-install-common.c +index 5d43ed1..1fcccd2 100644 +--- a/util/grub-install-common.c ++++ b/util/grub-install-common.c +@@ -307,6 +307,7 @@ handle_install_list (struct install_list *il, const char *val, + + static char **pubkeys; + static size_t npubkeys; ++static char *sbat; + static grub_compression_t compression; + + int +@@ -337,6 +338,12 @@ grub_install_parse (int key, char *arg) + * (npubkeys + 1)); + pubkeys[npubkeys++] = xstrdup (arg); + return 1; ++ case GRUB_INSTALL_OPTIONS_SBAT: ++ if (sbat) ++ free (sbat); ++ ++ sbat = xstrdup (arg); ++ return 1; + + case GRUB_INSTALL_OPTIONS_VERBOSITY: + verbosity++; +@@ -498,9 +505,10 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix, + grub_util_info ("grub-mkimage --directory '%s' --prefix '%s'" + " --output '%s' " + " --dtb '%s' " ++ "--sbat '%s' " + "--format '%s' --compression '%s' %s %s\n", + dir, prefix, +- outname, dtb ? : "", mkimage_target, ++ outname, dtb ? : "", sbat ? : "", mkimage_target, + compnames[compression], note ? "--note" : "", s); + free (s); + +@@ -511,7 +519,7 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix, + grub_install_generate_image (dir, prefix, fp, outname, + modules.entries, memdisk_path, + pubkeys, npubkeys, config_path, tgt, +- note, compression, dtb, NULL); ++ note, compression, dtb, sbat); + while (dc--) + grub_install_pop_module (); + } +-- +2.14.2 + diff --git a/boot/grub2/0143-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch b/boot/grub2/0143-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch new file mode 100644 index 00000000000..ef20639ca4c --- /dev/null +++ b/boot/grub2/0143-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch @@ -0,0 +1,270 @@ +From 968de8c23c1cba0f18230f778ebcf6c412ec8ec5 Mon Sep 17 00:00:00 2001 +From: Dimitri John Ledkov +Date: Sat, 20 Feb 2021 17:10:34 +0000 +Subject: [PATCH] shim_lock: Only skip loading shim_lock verifier with explicit + consent + +Commit 32ddc42c (efi: Only register shim_lock verifier if shim_lock +protocol is found and SB enabled) reintroduced CVE-2020-15705 which +previously only existed in the out-of-tree linuxefi patches and was +fixed as part of the BootHole patch series. + +Under Secure Boot enforce loading shim_lock verifier. Allow skipping +shim_lock verifier if SecureBoot/MokSBState EFI variables indicate +skipping validations, or if GRUB image is built with --disable-shim-lock. + +Fixes: 132ddc42c (efi: Only register shim_lock verifier if shim_lock + protocol is found and SB enabled) +Fixes: CVE-2020-15705 +Fixes: CVE-2021-3418 + +Reported-by: Dimitri John Ledkov +Signed-off-by: Dimitri John Ledkov +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 5 ++++- + grub-core/kern/efi/sb.c | 17 ++++++++++++++++- + include/grub/kernel.h | 3 ++- + include/grub/util/install.h | 7 +++++-- + util/grub-install-common.c | 12 +++++++++--- + util/grub-mkimage.c | 8 +++++++- + util/mkimage.c | 15 ++++++++++++++- + 7 files changed, 57 insertions(+), 10 deletions(-) + +diff --git a/docs/grub.texi b/docs/grub.texi +index bff6dfc..e302797 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -5787,7 +5787,10 @@ secure boot chain. + The GRUB, except the @command{chainloader} command, works with the UEFI secure + boot and the shim. This functionality is provided by the shim_lock verifier. It + is built into the @file{core.img} and is registered if the UEFI secure boot is +-enabled. ++enabled. The @samp{shim_lock} variable is set to @samp{y} when shim_lock verifier ++is registered. If it is desired to use UEFI secure boot without shim, one can ++disable shim_lock by disabling shim verification with MokSbState UEFI variable ++or by building grub image with @samp{--disable-shim-lock} option. + + All GRUB modules not stored in the @file{core.img}, OS kernels, ACPI tables, + Device Trees, etc. have to be signed, e.g, using PGP. Additionally, the commands +diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c +index 5d7210a..41dadcd 100644 +--- a/grub-core/kern/efi/sb.c ++++ b/grub-core/kern/efi/sb.c +@@ -21,9 +21,11 @@ + #include + #include + #include ++#include + #include + #include + #include ++#include + #include + #include + #include +@@ -160,14 +162,27 @@ struct grub_file_verifier shim_lock_verifier = + void + grub_shim_lock_verifier_setup (void) + { ++ struct grub_module_header *header; + grub_efi_shim_lock_protocol_t *sl = + grub_efi_locate_protocol (&shim_lock_guid, 0); + ++ /* shim_lock is missing, check if GRUB image is built with --disable-shim-lock. */ + if (!sl) +- return; ++ { ++ FOR_MODULES (header) ++ { ++ if (header->type == OBJ_TYPE_DISABLE_SHIM_LOCK) ++ return; ++ } ++ } + ++ /* Secure Boot is off. Do not load shim_lock. */ + if (grub_efi_get_secureboot () != GRUB_EFI_SECUREBOOT_MODE_ENABLED) + return; + ++ /* Enforce shim_lock_verifier. */ + grub_verifier_register (&shim_lock_verifier); ++ ++ grub_env_set ("shim_lock", "y"); ++ grub_env_export ("shim_lock"); + } +diff --git a/include/grub/kernel.h b/include/grub/kernel.h +index 133a37c..abbca5e 100644 +--- a/include/grub/kernel.h ++++ b/include/grub/kernel.h +@@ -29,7 +29,8 @@ enum + OBJ_TYPE_CONFIG, + OBJ_TYPE_PREFIX, + OBJ_TYPE_PUBKEY, +- OBJ_TYPE_DTB ++ OBJ_TYPE_DTB, ++ OBJ_TYPE_DISABLE_SHIM_LOCK + }; + + /* The module header. */ +diff --git a/include/grub/util/install.h b/include/grub/util/install.h +index 8cb5056..11a8df8 100644 +--- a/include/grub/util/install.h ++++ b/include/grub/util/install.h +@@ -65,6 +65,8 @@ + N_("embed FILE as public key for signature checking"), 0}, \ + { "sbat", GRUB_INSTALL_OPTIONS_SBAT, N_("FILE"), 0, \ + N_("SBAT metadata"), 0 }, \ ++ { "disable-shim-lock", GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK, 0, 0, \ ++ N_("disable shim_lock verifier"), 0 }, \ + { "verbose", 'v', 0, 0, \ + N_("print verbose messages."), 1 } + +@@ -125,7 +127,8 @@ enum grub_install_options { + GRUB_INSTALL_OPTIONS_GRUB_MKIMAGE, + GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS, + GRUB_INSTALL_OPTIONS_DTB, +- GRUB_INSTALL_OPTIONS_SBAT ++ GRUB_INSTALL_OPTIONS_SBAT, ++ GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK + }; + + extern char *grub_install_source_directory; +@@ -187,7 +190,7 @@ grub_install_generate_image (const char *dir, const char *prefix, + const struct grub_install_image_target_desc *image_target, + int note, + grub_compression_t comp, const char *dtb_file, +- const char *sbat_path); ++ const char *sbat_path, const int disable_shim_lock); + + const struct grub_install_image_target_desc * + grub_install_get_image_target (const char *arg); +diff --git a/util/grub-install-common.c b/util/grub-install-common.c +index 1fcccd2..13d9fe9 100644 +--- a/util/grub-install-common.c ++++ b/util/grub-install-common.c +@@ -308,6 +308,7 @@ handle_install_list (struct install_list *il, const char *val, + static char **pubkeys; + static size_t npubkeys; + static char *sbat; ++static int disable_shim_lock; + static grub_compression_t compression; + + int +@@ -344,6 +345,9 @@ grub_install_parse (int key, char *arg) + + sbat = xstrdup (arg); + return 1; ++ case GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK: ++ disable_shim_lock = 1; ++ return 1; + + case GRUB_INSTALL_OPTIONS_VERBOSITY: + verbosity++; +@@ -506,10 +510,11 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix, + " --output '%s' " + " --dtb '%s' " + "--sbat '%s' " +- "--format '%s' --compression '%s' %s %s\n", ++ "--format '%s' --compression '%s' %s %s %s\n", + dir, prefix, + outname, dtb ? : "", sbat ? : "", mkimage_target, +- compnames[compression], note ? "--note" : "", s); ++ compnames[compression], note ? "--note" : "", ++ disable_shim_lock ? "--disable-shim-lock" : "", s); + free (s); + + tgt = grub_install_get_image_target (mkimage_target); +@@ -519,7 +524,8 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix, + grub_install_generate_image (dir, prefix, fp, outname, + modules.entries, memdisk_path, + pubkeys, npubkeys, config_path, tgt, +- note, compression, dtb, sbat); ++ note, compression, dtb, sbat, ++ disable_shim_lock); + while (dc--) + grub_install_pop_module (); + } +diff --git a/util/grub-mkimage.c b/util/grub-mkimage.c +index 75b8847..c0d5599 100644 +--- a/util/grub-mkimage.c ++++ b/util/grub-mkimage.c +@@ -82,6 +82,7 @@ static struct argp_option options[] = { + {"format", 'O', N_("FORMAT"), 0, 0, 0}, + {"compression", 'C', "(xz|none|auto)", 0, N_("choose the compression to use for core image"), 0}, + {"sbat", 's', N_("FILE"), 0, N_("SBAT metadata"), 0}, ++ {"disable-shim-lock", GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK, 0, 0, N_("disable shim_lock verifier"), 0}, + {"verbose", 'v', 0, 0, N_("print verbose messages."), 0}, + { 0, 0, 0, 0, 0, 0 } + }; +@@ -126,6 +127,7 @@ struct arguments + char *config; + char *sbat; + int note; ++ int disable_shim_lock; + const struct grub_install_image_target_desc *image_target; + grub_compression_t comp; + }; +@@ -233,6 +235,10 @@ argp_parser (int key, char *arg, struct argp_state *state) + arguments->sbat = xstrdup (arg); + break; + ++ case GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK: ++ arguments->disable_shim_lock = 1; ++ break; ++ + case 'v': + verbosity++; + break; +@@ -319,7 +325,7 @@ main (int argc, char *argv[]) + arguments.npubkeys, arguments.config, + arguments.image_target, arguments.note, + arguments.comp, arguments.dtb, +- arguments.sbat); ++ arguments.sbat, arguments.disable_shim_lock); + + if (grub_util_file_sync (fp) < 0) + grub_util_error (_("cannot sync `%s': %s"), arguments.output ? : "stdout", +diff --git a/util/mkimage.c b/util/mkimage.c +index b354ec1..a26cf76 100644 +--- a/util/mkimage.c ++++ b/util/mkimage.c +@@ -870,7 +870,7 @@ grub_install_generate_image (const char *dir, const char *prefix, + size_t npubkeys, char *config_path, + const struct grub_install_image_target_desc *image_target, + int note, grub_compression_t comp, const char *dtb_path, +- const char *sbat_path) ++ const char *sbat_path, int disable_shim_lock) + { + char *kernel_img, *core_img; + size_t total_module_size, core_size; +@@ -929,6 +929,9 @@ grub_install_generate_image (const char *dir, const char *prefix, + if (sbat_path != NULL && image_target->id != IMAGE_EFI) + grub_util_error (_(".sbat section can be embedded into EFI images only")); + ++ if (disable_shim_lock) ++ total_module_size += sizeof (struct grub_module_header); ++ + if (config_path) + { + config_size = ALIGN_ADDR (grub_util_get_image_size (config_path) + 1); +@@ -1065,6 +1068,16 @@ grub_install_generate_image (const char *dir, const char *prefix, + offset += dtb_size; + } + ++ if (disable_shim_lock) ++ { ++ struct grub_module_header *header; ++ ++ header = (struct grub_module_header *) (kernel_img + offset); ++ header->type = grub_host_to_target32 (OBJ_TYPE_DISABLE_SHIM_LOCK); ++ header->size = grub_host_to_target32 (sizeof (*header)); ++ offset += sizeof (*header); ++ } ++ + if (config_path) + { + struct grub_module_header *header; +-- +2.14.2 + diff --git a/boot/grub2/0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch b/boot/grub2/0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch new file mode 100644 index 00000000000..74fdc1dbe64 --- /dev/null +++ b/boot/grub2/0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch @@ -0,0 +1,50 @@ +From 7f11bde3143b21b40d8225ea1d641e0f83b5a01e Mon Sep 17 00:00:00 2001 +From: Thomas Frauendorfer | Miray Software +Date: Mon, 15 Feb 2021 13:40:16 +0100 +Subject: [PATCH] kern/misc: Split parse_printf_args() into format parsing and + va_list handling + +This patch is preparing for a follow up patch which will use +the format parsing part to compare the arguments in a printf() +format from an external source against a printf() format with +expected arguments. + +Signed-off-by: Thomas Frauendorfer | Miray Software +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/misc.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c +index b02693b..50bf3ee 100644 +--- a/grub-core/kern/misc.c ++++ b/grub-core/kern/misc.c +@@ -632,8 +632,7 @@ grub_lltoa (char *str, int c, unsigned long long n) + } + + static void +-parse_printf_args (const char *fmt0, struct printf_args *args, +- va_list args_in) ++parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) + { + const char *fmt; + char c; +@@ -789,6 +788,14 @@ parse_printf_args (const char *fmt0, struct printf_args *args, + break; + } + } ++} ++ ++static void ++parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in) ++{ ++ grub_size_t n; ++ ++ parse_printf_arg_fmt (fmt0, args); + + for (n = 0; n < args->count; n++) + switch (args->ptr[n].type) +-- +2.14.2 + diff --git a/boot/grub2/0145-kern-misc-Add-STRING-type-for-internal-printf-format.patch b/boot/grub2/0145-kern-misc-Add-STRING-type-for-internal-printf-format.patch new file mode 100644 index 00000000000..56463b0846a --- /dev/null +++ b/boot/grub2/0145-kern-misc-Add-STRING-type-for-internal-printf-format.patch @@ -0,0 +1,68 @@ +From 1a2a5aff71e8edba436398492279de434abfe7a3 Mon Sep 17 00:00:00 2001 +From: Thomas Frauendorfer | Miray Software +Date: Mon, 15 Feb 2021 14:04:26 +0100 +Subject: [PATCH] kern/misc: Add STRING type for internal printf() format + handling + +Set printf() argument type for "%s" to new type STRING. This is in +preparation for a follow up patch to compare a printf() format string +against an expected printf() format string. + +For "%s" the corresponding printf() argument is dereferenced as pointer +while all other argument types are defined as integer value. However, +when validating a printf() format it is necessary to differentiate "%s" +from "%p" and other integers. So, let's do that. + +Signed-off-by: Thomas Frauendorfer | Miray Software +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/misc.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c +index 50bf3ee..22417f7 100644 +--- a/grub-core/kern/misc.c ++++ b/grub-core/kern/misc.c +@@ -33,7 +33,8 @@ union printf_arg + enum + { + INT, LONG, LONGLONG, +- UNSIGNED_INT = 3, UNSIGNED_LONG, UNSIGNED_LONGLONG ++ UNSIGNED_INT = 3, UNSIGNED_LONG, UNSIGNED_LONGLONG, ++ STRING + } type; + long long ll; + }; +@@ -776,12 +777,14 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) + args->ptr[curn].type = INT + longfmt; + break; + case 'p': +- case 's': + if (sizeof (void *) == sizeof (long long)) + args->ptr[curn].type = UNSIGNED_LONGLONG; + else + args->ptr[curn].type = UNSIGNED_INT; + break; ++ case 's': ++ args->ptr[curn].type = STRING; ++ break; + case 'C': + case 'c': + args->ptr[curn].type = INT; +@@ -816,6 +819,12 @@ parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in) + case UNSIGNED_LONGLONG: + args->ptr[n].ll = va_arg (args_in, long long); + break; ++ case STRING: ++ if (sizeof (void *) == sizeof (long long)) ++ args->ptr[n].ll = va_arg (args_in, long long); ++ else ++ args->ptr[n].ll = va_arg (args_in, unsigned int); ++ break; + } + } + +-- +2.14.2 + diff --git a/boot/grub2/0146-kern-misc-Add-function-to-check-printf-format-agains.patch b/boot/grub2/0146-kern-misc-Add-function-to-check-printf-format-agains.patch new file mode 100644 index 00000000000..1b0d6738afa --- /dev/null +++ b/boot/grub2/0146-kern-misc-Add-function-to-check-printf-format-agains.patch @@ -0,0 +1,219 @@ +From 83603bea6ce8fdff5ab3fbc4c9e592a8c71a8706 Mon Sep 17 00:00:00 2001 +From: Thomas Frauendorfer | Miray Software +Date: Thu, 4 Feb 2021 19:02:33 +0100 +Subject: [PATCH] kern/misc: Add function to check printf() format against + expected format + +The grub_printf_fmt_check() function parses the arguments of an untrusted +printf() format and an expected printf() format and then compares the +arguments counts and arguments types. The arguments count in the untrusted +format string must be less or equal to the arguments count in the expected +format string and both arguments types must match. + +To do this the parse_printf_arg_fmt() helper function is extended in the +following way: + + 1. Add a return value to report errors to the grub_printf_fmt_check(). + + 2. Add the fmt_check argument to enable stricter format verification: + - the function expects that arguments definitions are always + terminated by a supported conversion specifier. + - positional parameters, "$", are not allowed, as they cannot be + validated correctly with the current implementation. For example + "%s%1$d" would assign the first args entry twice while leaving the + second one unchanged. + - Return an error if preallocated space in args is too small and + allocation fails for the needed size. The grub_printf_fmt_check() + should verify all arguments. So, if validation is not possible for + any reason it should return an error. + This also adds a case entry to handle "%%", which is the escape + sequence to print "%" character. + + 3. Add the max_args argument to check for the maximum allowed arguments + count in a printf() string. This should be set to the arguments count + of the expected format. Then the parse_printf_arg_fmt() function will + return an error if the arguments count is exceeded. + +The two additional arguments allow us to use parse_printf_arg_fmt() in +printf() and grub_printf_fmt_check() calls. + +When parse_printf_arg_fmt() is used by grub_printf_fmt_check() the +function parse user provided untrusted format string too. So, in +that case it is better to be too strict than too lenient. + +Signed-off-by: Thomas Frauendorfer | Miray Software +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/misc.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++--- + include/grub/misc.h | 16 ++++++++++ + 2 files changed, 94 insertions(+), 4 deletions(-) + +diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c +index 22417f7..90317b6 100644 +--- a/grub-core/kern/misc.c ++++ b/grub-core/kern/misc.c +@@ -632,8 +632,26 @@ grub_lltoa (char *str, int c, unsigned long long n) + return p; + } + +-static void +-parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) ++/* ++ * Parse printf() fmt0 string into args arguments. ++ * ++ * The parsed arguments are either used by a printf() function to format the fmt0 ++ * string or they are used to compare a format string from an untrusted source ++ * against a format string with expected arguments. ++ * ++ * When the fmt_check is set to !0, e.g. 1, then this function is executed in ++ * printf() format check mode. This enforces stricter rules for parsing the ++ * fmt0 to limit exposure to possible errors in printf() handling. It also ++ * disables positional parameters, "$", because some formats, e.g "%s%1$d", ++ * cannot be validated with the current implementation. ++ * ++ * The max_args allows to set a maximum number of accepted arguments. If the fmt0 ++ * string defines more arguments than the max_args then the parse_printf_arg_fmt() ++ * function returns an error. This is currently used for format check only. ++ */ ++static grub_err_t ++parse_printf_arg_fmt (const char *fmt0, struct printf_args *args, ++ int fmt_check, grub_size_t max_args) + { + const char *fmt; + char c; +@@ -660,7 +678,12 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) + fmt++; + + if (*fmt == '$') +- fmt++; ++ { ++ if (fmt_check) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, ++ "positional arguments are not supported"); ++ fmt++; ++ } + + if (*fmt =='-') + fmt++; +@@ -691,9 +714,19 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) + case 's': + args->count++; + break; ++ case '%': ++ /* "%%" is the escape sequence to output "%". */ ++ break; ++ default: ++ if (fmt_check) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "unexpected format"); ++ break; + } + } + ++ if (fmt_check && args->count > max_args) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "too many arguments"); ++ + if (args->count <= ARRAY_SIZE (args->prealloc)) + args->ptr = args->prealloc; + else +@@ -701,6 +734,9 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) + args->ptr = grub_calloc (args->count, sizeof (args->ptr[0])); + if (!args->ptr) + { ++ if (fmt_check) ++ return grub_errno; ++ + grub_errno = GRUB_ERR_NONE; + args->ptr = args->prealloc; + args->count = ARRAY_SIZE (args->prealloc); +@@ -791,6 +827,8 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) + break; + } + } ++ ++ return GRUB_ERR_NONE; + } + + static void +@@ -798,7 +836,7 @@ parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in) + { + grub_size_t n; + +- parse_printf_arg_fmt (fmt0, args); ++ parse_printf_arg_fmt (fmt0, args, 0, 0); + + for (n = 0; n < args->count; n++) + switch (args->ptr[n].type) +@@ -1105,6 +1143,42 @@ grub_xasprintf (const char *fmt, ...) + return ret; + } + ++grub_err_t ++grub_printf_fmt_check (const char *fmt, const char *fmt_expected) ++{ ++ struct printf_args args_expected, args_fmt; ++ grub_err_t ret; ++ grub_size_t n; ++ ++ if (fmt == NULL || fmt_expected == NULL) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid format"); ++ ++ ret = parse_printf_arg_fmt (fmt_expected, &args_expected, 1, GRUB_SIZE_MAX); ++ if (ret != GRUB_ERR_NONE) ++ return ret; ++ ++ /* Limit parsing to the number of expected arguments. */ ++ ret = parse_printf_arg_fmt (fmt, &args_fmt, 1, args_expected.count); ++ if (ret != GRUB_ERR_NONE) ++ { ++ free_printf_args (&args_expected); ++ return ret; ++ } ++ ++ for (n = 0; n < args_fmt.count; n++) ++ if (args_fmt.ptr[n].type != args_expected.ptr[n].type) ++ { ++ ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "arguments types do not match"); ++ break; ++ } ++ ++ free_printf_args (&args_expected); ++ free_printf_args (&args_fmt); ++ ++ return ret; ++} ++ ++ + /* Abort GRUB. This function does not return. */ + static void __attribute__ ((noreturn)) + grub_abort (void) +diff --git a/include/grub/misc.h b/include/grub/misc.h +index ee48eb7..d1c5709 100644 +--- a/include/grub/misc.h ++++ b/include/grub/misc.h +@@ -440,6 +440,22 @@ grub_error_load (const struct grub_error_saved *save) + grub_errno = save->grub_errno; + } + ++/* ++ * grub_printf_fmt_checks() a fmt string for printf() against an expected ++ * format. It is intended for cases where the fmt string could come from ++ * an outside source and cannot be trusted. ++ * ++ * While expected fmt accepts a printf() format string it should be kept ++ * as simple as possible. The printf() format strings with positional ++ * parameters are NOT accepted, neither for fmt nor for fmt_expected. ++ * ++ * The fmt is accepted if it has equal or less arguments than fmt_expected ++ * and if the type of all arguments match. ++ * ++ * Returns GRUB_ERR_NONE if fmt is acceptable. ++ */ ++grub_err_t EXPORT_FUNC (grub_printf_fmt_check) (const char *fmt, const char *fmt_expected); ++ + #if BOOT_TIME_STATS + struct grub_boot_time + { +-- +2.14.2 + diff --git a/boot/grub2/0147-gfxmenu-gui-Check-printf-format-in-the-gui_progress_.patch b/boot/grub2/0147-gfxmenu-gui-Check-printf-format-in-the-gui_progress_.patch new file mode 100644 index 00000000000..e0acb07c8c6 --- /dev/null +++ b/boot/grub2/0147-gfxmenu-gui-Check-printf-format-in-the-gui_progress_.patch @@ -0,0 +1,62 @@ +From 42facd577231cf5ffe4c7128fed15b7e7d99cbca Mon Sep 17 00:00:00 2001 +From: Thomas Frauendorfer | Miray Software +Date: Tue, 4 Aug 2020 13:49:51 +0200 +Subject: [PATCH] gfxmenu/gui: Check printf() format in the gui_progress_bar + and gui_label + +The gui_progress_bar and gui_label components can display the timeout +value. The format string can be set through a theme file. This patch +adds a validation step to the format string. + +If a user loads a theme file into the GRUB without this patch then +a GUI label with the following settings + + + label { + ... + id = "__timeout__" + text = "%s" + } + +will interpret the current timeout value as string pointer and print the +memory at that position on the screen. It is not desired behavior. + +Signed-off-by: Thomas Frauendorfer | Miray Software +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/gfxmenu/gui_label.c | 4 ++++ + grub-core/gfxmenu/gui_progress_bar.c | 3 +++ + 2 files changed, 7 insertions(+) + +diff --git a/grub-core/gfxmenu/gui_label.c b/grub-core/gfxmenu/gui_label.c +index a4c8178..1c19054 100644 +--- a/grub-core/gfxmenu/gui_label.c ++++ b/grub-core/gfxmenu/gui_label.c +@@ -193,6 +193,10 @@ label_set_property (void *vself, const char *name, const char *value) + else if (grub_strcmp (value, "@KEYMAP_SHORT@") == 0) + value = _("enter: boot, `e': options, `c': cmd-line"); + /* FIXME: Add more templates here if needed. */ ++ ++ if (grub_printf_fmt_check(value, "%d") != GRUB_ERR_NONE) ++ value = ""; /* Unsupported format. */ ++ + self->template = grub_strdup (value); + self->text = grub_xasprintf (value, self->value); + } +diff --git a/grub-core/gfxmenu/gui_progress_bar.c b/grub-core/gfxmenu/gui_progress_bar.c +index b128f08..ace85a1 100644 +--- a/grub-core/gfxmenu/gui_progress_bar.c ++++ b/grub-core/gfxmenu/gui_progress_bar.c +@@ -348,6 +348,9 @@ progress_bar_set_property (void *vself, const char *name, const char *value) + Please use the shortest form available in you language. */ + value = _("%ds"); + ++ if (grub_printf_fmt_check(value, "%d") != GRUB_ERR_NONE) ++ value = ""; /* Unsupported format. */ ++ + self->template = grub_strdup (value); + } + else if (grub_strcmp (name, "font") == 0) +-- +2.14.2 + diff --git a/boot/grub2/0148-templates-Disable-the-os-prober-by-default.patch b/boot/grub2/0148-templates-Disable-the-os-prober-by-default.patch new file mode 100644 index 00000000000..7cc89c2d0f3 --- /dev/null +++ b/boot/grub2/0148-templates-Disable-the-os-prober-by-default.patch @@ -0,0 +1,87 @@ +From e346414725a70e5c74ee87ca14e580c66f517666 Mon Sep 17 00:00:00 2001 +From: Alex Burmashev +Date: Tue, 16 Feb 2021 11:12:12 +0100 +Subject: [PATCH] templates: Disable the os-prober by default + +The os-prober is enabled by default what may lead to potentially +dangerous use cases and borderline opening attack vectors. This +patch disables the os-prober, adds warning messages and updates +GRUB_DISABLE_OS_PROBER configuration option documentation. This +way we make it clear that the os-prober usage is not recommended. + +Simplistic nature of this change allows downstream vendors, who +really want os-prober to be enabled out of the box in their +relevant products, easily revert to it's old behavior. + +Reported-by: NyankoSec (, https://twitter.com/NyankoSec), + working with SSD Secure Disclosure +Signed-off-by: Alex Burmashev +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + docs/grub.texi | 18 ++++++++++-------- + util/grub.d/30_os-prober.in | 5 ++++- + 2 files changed, 14 insertions(+), 9 deletions(-) + +diff --git a/docs/grub.texi b/docs/grub.texi +index e302797..45a9f80 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -1481,10 +1481,13 @@ boot sequence. If you have problems, set this option to @samp{text} and + GRUB will tell Linux to boot in normal text mode. + + @item GRUB_DISABLE_OS_PROBER +-Normally, @command{grub-mkconfig} will try to use the external +-@command{os-prober} program, if installed, to discover other operating +-systems installed on the same system and generate appropriate menu entries +-for them. Set this option to @samp{true} to disable this. ++The @command{grub-mkconfig} has a feature to use the external ++@command{os-prober} program to discover other operating systems installed on ++the same machine and generate appropriate menu entries for them. It is disabled ++by default since automatic and silent execution of @command{os-prober}, and ++creating boot entries based on that data, is a potential attack vector. Set ++this option to @samp{false} to enable this feature in the ++@command{grub-mkconfig} command. + + @item GRUB_OS_PROBER_SKIP_LIST + List of space-separated FS UUIDs of filesystems to be ignored from os-prober +@@ -1812,10 +1815,9 @@ than zero; otherwise 0. + @section Multi-boot manual config + + Currently autogenerating config files for multi-boot environments depends on +-os-prober and has several shortcomings. While fixing it is scheduled for the +-next release, meanwhile you can make use of the power of GRUB syntax and do it +-yourself. A possible configuration is detailed here, feel free to adjust to your +-needs. ++os-prober and has several shortcomings. Due to that it is disabled by default. ++It is advised to use the power of GRUB syntax and do it yourself. A possible ++configuration is detailed here, feel free to adjust to your needs. + + First create a separate GRUB partition, big enough to hold GRUB. Some of the + following entries show how to load OS installer images from this same partition, +diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in +index 515a68c..99de043 100644 +--- a/util/grub.d/30_os-prober.in ++++ b/util/grub.d/30_os-prober.in +@@ -26,7 +26,8 @@ export TEXTDOMAINDIR="@localedir@" + + . "$pkgdatadir/grub-mkconfig_lib" + +-if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then ++if [ "x${GRUB_DISABLE_OS_PROBER}" = "xfalse" ]; then ++ gettext_printf "os-prober will not be executed to detect other bootable partitions.\nSystems on them will not be added to the GRUB boot configuration.\nCheck GRUB_DISABLE_OS_PROBER documentation entry.\n" + exit 0 + fi + +@@ -39,6 +40,8 @@ OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`" + if [ -z "${OSPROBED}" ] ; then + # empty os-prober output, nothing doing + exit 0 ++else ++ grub_warn "$(gettext_printf "os-prober was executed to detect other bootable partitions.\nIt's output will be used to detect bootable binaries on them and create new boot entries.")" + fi + + osx_entry() { +-- +2.14.2 + diff --git a/boot/grub2/0149-kern-mm-Fix-grub_debug_calloc-compilation-error.patch b/boot/grub2/0149-kern-mm-Fix-grub_debug_calloc-compilation-error.patch new file mode 100644 index 00000000000..bda0507307e --- /dev/null +++ b/boot/grub2/0149-kern-mm-Fix-grub_debug_calloc-compilation-error.patch @@ -0,0 +1,33 @@ +From a9d8de960834f376087856f9d60a214b47c76f61 Mon Sep 17 00:00:00 2001 +From: Marco A Benatto +Date: Tue, 9 Feb 2021 12:33:06 -0300 +Subject: [PATCH] kern/mm: Fix grub_debug_calloc() compilation error + +Fix compilation error due to missing parameter to +grub_printf() when MM_DEBUG is defined. + +Fixes: 64e26162e (calloc: Make sure we always have an overflow-checking calloc() available) + +Signed-off-by: Marco A Benatto +Reviewed-by: Daniel Kiper +Signed-off-by: Stefan Sørensen +--- + grub-core/kern/mm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c +index f2822a8..c070afc 100644 +--- a/grub-core/kern/mm.c ++++ b/grub-core/kern/mm.c +@@ -594,7 +594,7 @@ grub_debug_calloc (const char *file, int line, grub_size_t nmemb, grub_size_t si + + if (grub_mm_debug) + grub_printf ("%s:%d: calloc (0x%" PRIxGRUB_SIZE ", 0x%" PRIxGRUB_SIZE ") = ", +- file, line, size); ++ file, line, nmemb, size); + ptr = grub_calloc (nmemb, size); + if (grub_mm_debug) + grub_printf ("%p\n", ptr); +-- +2.14.2 + diff --git a/boot/grub2/0150-Makefile-Make-libgrub.pp-depend-on-config-util.h.patch b/boot/grub2/0150-Makefile-Make-libgrub.pp-depend-on-config-util.h.patch new file mode 100644 index 00000000000..97c315406b1 --- /dev/null +++ b/boot/grub2/0150-Makefile-Make-libgrub.pp-depend-on-config-util.h.patch @@ -0,0 +1,66 @@ +From 42f4054faf3c7f2cd2cab5b43e63f9d97d81f7a1 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Wed, 4 Mar 2020 12:58:42 +0100 +Subject: [PATCH] Makefile: Make libgrub.pp depend on config-util.h + +If you build with "make -j48" a lot, sometimes you see: + +gcc -E -DHAVE_CONFIG_H -I. -I.. -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub_script.tab.h\" -I. -I.. -I. -I.. -I../include -I./include -I../grub-core/lib/libgcrypt-grub/src/ -I../grub-core/lib/minilzo -I../grub-core/lib/xzembed -DMINILZO_HAVE_CONFIG_H -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub_script.tab.h\" -I. -I.. -I. -I.. -I../include -I./include -I../grub-core/lib/libgcrypt-grub/src/ -I./grub-core/gnulib -I../grub-core/gnulib -I/builddir/build/BUILD/grub-2.02/grub-aarch64-efi-2.02 -D_FILE_OFFSET_BITS=64 \ + -D'GRUB_MOD_INIT(x)=@MARKER@x@' grub_script.tab.h grub_script.yy.h ../grub-core/commands/blocklist.c ../grub-core/commands/macbless.c ../grub-core/commands/xnu_uuid.c ../grub-core/commands/testload.c ../grub-core/commands/ls.c ../grub-core/disk/dmraid_nvidia.c ../grub-core/disk/loopback.c ../grub-core/disk/lvm.c ../grub-core/disk/mdraid_linux.c ../grub-core/disk/mdraid_linux_be.c ../grub-core/disk/mdraid1x_linux.c ../grub-core/disk/raid5_recover.c ../grub-core/disk/raid6_recover.c ../grub-core/font/font.c ../grub-core/gfxmenu/font.c ../grub-core/normal/charset.c ../grub-core/video/fb/fbblit.c ../grub-core/video/fb/fbutil.c ../grub-core/video/fb/fbfill.c ../grub-core/video/fb/video_fb.c ../grub-core/video/video.c ../grub-core/video/capture.c ../grub-core/video/colors.c ../grub-core/unidata.c ../grub-core/io/bufio.c ../grub-core/fs/affs.c ../grub-core/fs/afs.c ../grub-core/fs/bfs.c ../grub-core/fs/btrfs.c ../grub-core/fs/cbfs.c ../grub-core/fs/cpio.c ../grub-core/fs/cpio_be.c ../grub-core/fs/odc.c ../grub-core/fs/newc.c ../grub-core/fs/ext2.c ../grub-core/fs/fat.c ../grub-core/fs/exfat.c ../grub-core/fs/fshelp.c ../grub-core/fs/hfs.c ../grub-core/fs/hfsplus.c ../grub-core/fs/hfspluscomp.c ../grub-core/fs/iso9660.c ../grub-core/fs/jfs.c ../grub-core/fs/minix.c ../grub-core/fs/minix2.c ../grub-core/fs/minix3.c ../grub-core/fs/minix_be.c ../grub-core/fs/minix2_be.c ../grub-core/fs/minix3_be.c ../grub-core/fs/nilfs2.c ../grub-core/fs/ntfs.c ../grub-core/fs/ntfscomp.c ../grub-core/fs/reiserfs.c ../grub-core/fs/romfs.c ../grub-core/fs/sfs.c ../grub-core/fs/squash4.c ../grub-core/fs/tar.c ../grub-core/fs/udf.c ../grub-core/fs/ufs2.c ../grub-core/fs/ufs.c ../grub-core/fs/ufs_be.c ../grub-core/fs/xfs.c ../grub-core/fs/zfs/zfscrypt.c ../grub-core/fs/zfs/zfs.c ../grub-core/fs/zfs/zfsinfo.c ../grub-core/fs/zfs/zfs_lzjb.c ../grub-core/fs/zfs/zfs_lz4.c ../grub-core/fs/zfs/zfs_sha256.c ../grub-core/fs/zfs/zfs_fletcher.c ../grub-core/lib/envblk.c ../grub-core/lib/hexdump.c ../grub-core/lib/LzFind.c ../grub-core/lib/LzmaEnc.c ../grub-core/lib/crc.c ../grub-core/lib/adler32.c ../grub-core/lib/crc64.c ../grub-core/normal/datetime.c ../grub-core/normal/misc.c ../grub-core/partmap/acorn.c ../grub-core/partmap/amiga.c ../grub-core/partmap/apple.c ../grub-core/partmap/sun.c ../grub-core/partmap/plan.c ../grub-core/partmap/dvh.c ../grub-core/partmap/sunpc.c ../grub-core/partmap/bsdlabel.c ../grub-core/partmap/dfly.c ../grub-core/script/function.c ../grub-core/script/lexer.c ../grub-core/script/main.c ../grub-core/script/script.c ../grub-core/script/argv.c ../grub-core/io/gzio.c ../grub-core/io/xzio.c ../grub-core/io/lzopio.c ../grub-core/kern/ia64/dl_helper.c ../grub-core/kern/arm/dl_helper.c ../grub-core/kern/arm64/dl_helper.c ../grub-core/lib/minilzo/minilzo.c ../grub-core/lib/xzembed/xz_dec_bcj.c ../grub-core/lib/xzembed/xz_dec_lzma2.c ../grub-core/lib/xzembed/xz_dec_stream.c ../util/misc.c ../grub-core/kern/command.c ../grub-core/kern/device.c ../grub-core/kern/disk.c ../grub-core/lib/disk.c ../util/getroot.c ../grub-core/osdep/unix/getroot.c ../grub-core/osdep/getroot.c ../grub-core/osdep/devmapper/getroot.c ../grub-core/osdep/relpath.c ../grub-core/kern/emu/hostdisk.c ../grub-core/osdep/devmapper/hostdisk.c ../grub-core/osdep/hostdisk.c ../grub-core/osdep/unix/hostdisk.c ../grub-core/osdep/exec.c ../grub-core/osdep/sleep.c ../grub-core/osdep/password.c ../grub-core/kern/emu/misc.c ../grub-core/kern/emu/mm.c ../grub-core/kern/env.c ../grub-core/kern/err.c ../grub-core/kern/file.c ../grub-core/kern/fs.c ../grub-core/kern/list.c ../grub-core/kern/misc.c ../grub-core/kern/partition.c ../grub-core/lib/crypto.c ../grub-core/disk/luks.c ../grub-core/disk/geli.c ../grub-core/disk/cryptodisk.c ../grub-core/disk/AFSplitter.c ../grub-core/lib/pbkdf2.c ../grub-core/commands/extcmd.c ../grub-core/lib/arg.c ../grub-core/disk/ldm.c ../grub-core/disk/diskfilter.c ../grub-core/partmap/gpt.c ../grub-core/partmap/msdos.c ../grub-core/fs/proc.c ../grub-core/fs/archelp.c > libgrub.pp || (rm -f libgrub.pp; exit 1) +rm -f stamp-h1 +touch ../config-util.h.in +cd . && /bin/sh ./config.status config-util.h +config.status: creating config-util.h +In file included from ../include/grub/mm.h:25:0, + from ../include/grub/disk.h:29, + from ../include/grub/file.h:26, + from ../grub-core/fs/btrfs.c:21: +./config.h:38:10: fatal error: ./config-util.h: No such file or directory + #include + ^~~~~~~~~~~~~~~ +compilation terminated. +make: *** [Makefile:13098: libgrub.pp] Error 1 + +This is because libgrub.pp is built with -DGRUB_UTIL=1, which means +it'll try to include config-util.h, but a parallel make is actually +building that file. I think. + +Signed-off-by: Peter Jones +Signed-off-by: Javier Martinez Canillas +Reviewed-by: Daniel Kiper +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 1f4bb9b8c..bf9c1ba64 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -37,7 +37,7 @@ grub_script.yy.c: grub_script.yy.h + CLEANFILES += grub_script.yy.c grub_script.yy.h + + # For libgrub.a +-libgrub.pp: grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) ++libgrub.pp: config-util.h grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) + $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgrubmods_a_CPPFLAGS) $(libgrubkern_a_CPPFLAGS) $(CPPFLAGS) \ + -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) + CLEANFILES += libgrub.pp +-- +2.25.1 + +diff --git a/Makefile.in b/Makefile.in +index 1f4bb9b8c..bf9c1ba64 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -37,7 +37,7 @@ grub_script.yy.c: grub_script.yy.h + CLEANFILES += grub_script.yy.c grub_script.yy.h + + # For libgrub.a +-libgrub.pp: grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) ++libgrub.pp: config-util.h grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) + $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgrubmods_a_CPPFLAGS) $(libgrubkern_a_CPPFLAGS) $(CPPFLAGS) \ + -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) + CLEANFILES += libgrub.pp +-- +2.25.1 + diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in index e45133999ed..92b5dd501b7 100644 --- a/boot/grub2/Config.in +++ b/boot/grub2/Config.in @@ -10,6 +10,13 @@ config BR2_TARGET_GRUB2 bool "grub2" depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS depends on BR2_USE_WCHAR + select BR2_TARGET_GRUB2_I386_PC if \ + !BR2_TARGET_GRUB2_HAS_PTF && \ + (BR2_i386 || BR2_x86_64) + select BR2_TARGET_GRUB2_ARM_UBOOT if \ + !BR2_TARGET_GRUB2_HAS_PTF && \ + BR2_arm + select BR2_TARGET_GRUB2_ARM64_EFI if BR2_aarch64 help GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally @@ -27,12 +34,19 @@ config BR2_TARGET_GRUB2 if BR2_TARGET_GRUB2 -choice - prompt "Platform" +config BR2_TARGET_GRUB2_HAS_LEGACY_BOOT + bool + +config BR2_TARGET_GRUB2_HAS_EFI_BOOT + bool + +config BR2_TARGET_GRUB2_HAS_PTF + bool config BR2_TARGET_GRUB2_I386_PC bool "i386-pc" depends on BR2_i386 || BR2_x86_64 + select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT help Select this option if the platform you're targetting is a x86 or x86-64 legacy BIOS based platform. @@ -40,6 +54,8 @@ config BR2_TARGET_GRUB2_I386_PC config BR2_TARGET_GRUB2_I386_EFI bool "i386-efi" depends on BR2_i386 || BR2_x86_64 + select BR2_TARGET_GRUB2_HAS_PTF + select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting has a 32 bits EFI BIOS. Note that some x86-64 platforms use a 32 @@ -48,6 +64,8 @@ config BR2_TARGET_GRUB2_I386_EFI config BR2_TARGET_GRUB2_X86_64_EFI bool "x86-64-efi" depends on BR2_x86_64 + select BR2_TARGET_GRUB2_HAS_PTF + select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting has a 64 bits EFI BIOS. @@ -55,6 +73,7 @@ config BR2_TARGET_GRUB2_X86_64_EFI config BR2_TARGET_GRUB2_ARM_UBOOT bool "arm-uboot" depends on BR2_arm + select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT help Select this option if the platform you're targetting is an ARM u-boot platform, and you want to boot Grub 2 as an u-boot @@ -63,6 +82,8 @@ config BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_ARM_EFI bool "arm-efi" depends on BR2_arm + select BR2_TARGET_GRUB2_HAS_PTF + select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting is an ARM platform and you want to boot Grub 2 as an EFI @@ -71,14 +92,15 @@ config BR2_TARGET_GRUB2_ARM_EFI config BR2_TARGET_GRUB2_ARM64_EFI bool "arm64-efi" depends on BR2_aarch64 + select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting is an Aarch64 platform and you want to boot Grub 2 as an EFI application. -endchoice +if BR2_TARGET_GRUB2_HAS_LEGACY_BOOT -if BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT +comment "Options for the x86 legacy BIOS or ARM U-Boot support" config BR2_TARGET_GRUB2_BOOT_PARTITION string "boot partition" @@ -89,24 +111,43 @@ config BR2_TARGET_GRUB2_BOOT_PARTITION first disk if using a legacy partition table, or 'hd0,gpt1' if using GPT partition table. -endif # BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT - -config BR2_TARGET_GRUB2_BUILTIN_MODULES +config BR2_TARGET_GRUB2_BUILTIN_MODULES_PC string "builtin modules" + default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC - default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" \ - if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI || \ - BR2_TARGET_GRUB2_ARM_EFI || BR2_TARGET_GRUB2_ARM64_EFI default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT -config BR2_TARGET_GRUB2_BUILTIN_CONFIG +config BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC string "builtin config" + default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy help Path to a Grub 2 configuration file that will be embedded into the Grub image itself. This allows to set the root device and other configuration parameters, but however menu entries cannot be described in this embedded configuration. +endif # BR2_TARGET_GRUB2_HAS_LEGACY_BOOT + +if BR2_TARGET_GRUB2_HAS_EFI_BOOT + +comment "Options for the EFI BIOS or ARM EFI support" + +config BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI + string "builtin modules" + default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy + default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" + +config BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI + string "builtin config" + default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy + help + Path to a Grub 2 configuration file that will be embedded + into the Grub image itself. This allows to set the root + device and other configuration parameters, but however menu + entries cannot be described in this embedded configuration. + +endif # BR2_TARGET_GRUB2_HAS_EFI_BOOT + config BR2_TARGET_GRUB2_INSTALL_TOOLS bool "install tools" help diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 9686815f4d8..d93e383422b 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -13,10 +13,13 @@ GRUB2_DEPENDENCIES = host-bison host-flex host-grub2 HOST_GRUB2_DEPENDENCIES = host-bison host-flex GRUB2_INSTALL_IMAGES = YES -# 0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch +# 0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch and 2021/03/02 +# security fixes (patches 0029-0149) define GRUB2_AVOID_AUTORECONF $(Q)touch $(@D)/Makefile.util.am + $(Q)touch $(@D)/aclocal.m4 $(Q)touch $(@D)/Makefile.in + $(Q)touch $(@D)/configure endef GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF HOST_GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF @@ -31,6 +34,21 @@ GRUB2_IGNORE_CVES += CVE-2020-14309 CVE-2020-14310 CVE-2020-14311 GRUB2_IGNORE_CVES += CVE-2020-15706 # 0028-linux-Fix-integer-overflows-in-initrd-size-handling.patch GRUB2_IGNORE_CVES += CVE-2020-15707 +# 2021/03/02 security fixes - patches 0029-0149 +GRUB2_IGNORE_CVES += CVE-2020-25632 CVE-2020-25647 CVE-2020-27749 \ + CVE-2020-27779 CVE-2021-3418 CVE-2021-20225 CVE-2021-20233 +# 0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch +GRUB2_IGNORE_CVES += CVE-2020-14372 +# CVE-2019-14865 is about a flaw in the grub2-set-bootflag tool, which +# doesn't exist upstream, but is added by the Redhat/Fedora +# packaging. Not applicable to Buildroot. +GRUB2_IGNORE_CVES += CVE-2019-14865 +# CVE-2020-15705 is related to a flaw in the use of the +# grub_linuxefi_secure_validate(), which was added by Debian/Ubuntu +# patches. The issue doesn't affect upstream Grub, and +# grub_linuxefi_secure_validate() is not implemented in the grub2 +# version available in Buildroot. +GRUB2_IGNORE_CVES += CVE-2020-15705 ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) GRUB2_INSTALL_TARGET = YES @@ -39,53 +57,65 @@ GRUB2_INSTALL_TARGET = NO endif GRUB2_CPE_ID_VENDOR = gnu -GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES)) -GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG)) +GRUB2_BUILTIN_MODULES_PC = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_PC)) +GRUB2_BUILTIN_MODULES_EFI = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI)) +GRUB2_BUILTIN_CONFIG_PC = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC)) +GRUB2_BUILTIN_CONFIG_EFI = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI)) GRUB2_BOOT_PARTITION = $(call qstrip,$(BR2_TARGET_GRUB2_BOOT_PARTITION)) -ifeq ($(BR2_TARGET_GRUB2_I386_PC),y) -GRUB2_IMAGE = $(BINARIES_DIR)/grub.img -GRUB2_CFG = $(TARGET_DIR)/boot/grub/grub.cfg -GRUB2_PREFIX = ($(GRUB2_BOOT_PARTITION))/boot/grub -GRUB2_TUPLE = i386-pc -GRUB2_TARGET = i386 -GRUB2_PLATFORM = pc -else ifeq ($(BR2_TARGET_GRUB2_I386_EFI),y) -GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootia32.efi -GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg -GRUB2_PREFIX = /EFI/BOOT -GRUB2_TUPLE = i386-efi -GRUB2_TARGET = i386 -GRUB2_PLATFORM = efi -else ifeq ($(BR2_TARGET_GRUB2_X86_64_EFI),y) -GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi -GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg -GRUB2_PREFIX = /EFI/BOOT -GRUB2_TUPLE = x86_64-efi -GRUB2_TARGET = x86_64 -GRUB2_PLATFORM = efi -else ifeq ($(BR2_TARGET_GRUB2_ARM_UBOOT),y) -GRUB2_IMAGE = $(BINARIES_DIR)/boot-part/grub/grub.img -GRUB2_CFG = $(BINARIES_DIR)/boot-part/grub/grub.cfg -GRUB2_PREFIX = ($(GRUB2_BOOT_PARTITION))/boot/grub -GRUB2_TUPLE = arm-uboot -GRUB2_TARGET = arm -GRUB2_PLATFORM = uboot -else ifeq ($(BR2_TARGET_GRUB2_ARM_EFI),y) -GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootarm.efi -GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg -GRUB2_PREFIX = /EFI/BOOT -GRUB2_TUPLE = arm-efi -GRUB2_TARGET = arm -GRUB2_PLATFORM = efi -else ifeq ($(BR2_TARGET_GRUB2_ARM64_EFI),y) -GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootaa64.efi -GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg -GRUB2_PREFIX = /EFI/BOOT -GRUB2_TUPLE = arm64-efi -GRUB2_TARGET = aarch64 -GRUB2_PLATFORM = efi -endif +GRUB2_IMAGE_i386-pc = $(BINARIES_DIR)/grub.img +GRUB2_CFG_i386-pc = $(TARGET_DIR)/boot/grub/grub.cfg +GRUB2_PREFIX_i386-pc = ($(GRUB2_BOOT_PARTITION))/boot/grub +GRUB2_TARGET_i386-pc = i386 +GRUB2_PLATFORM_i386-pc = pc +GRUB2_BUILTIN_CONFIG_i386-pc = $(GRUB2_BUILTIN_CONFIG_PC) +GRUB2_BUILTIN_MODULES_i386-pc = $(GRUB2_BUILTIN_MODULES_PC) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_I386_PC) += i386-pc + +GRUB2_IMAGE_i386-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootia32.efi +GRUB2_CFG_i386-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_i386-efi = /EFI/BOOT +GRUB2_TARGET_i386-efi = i386 +GRUB2_PLATFORM_i386-efi = efi +GRUB2_BUILTIN_CONFIG_i386-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_i386-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_I386_EFI) += i386-efi + +GRUB2_IMAGE_x86_64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi +GRUB2_CFG_x86_64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_x86_64-efi = /EFI/BOOT +GRUB2_TARGET_x86_64-efi = x86_64 +GRUB2_PLATFORM_x86_64-efi = efi +GRUB2_BUILTIN_CONFIG_x86_64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_x86_64-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_X86_64_EFI) += x86_64-efi + +GRUB2_IMAGE_arm-uboot = $(BINARIES_DIR)/boot-part/grub/grub.img +GRUB2_CFG_arm-uboot = $(BINARIES_DIR)/boot-part/grub/grub.cfg +GRUB2_PREFIX_arm-uboot = ($(GRUB2_BOOT_PARTITION))/boot/grub +GRUB2_TARGET_arm-uboot = arm +GRUB2_PLATFORM_arm-uboot = uboot +GRUB2_BUILTIN_CONFIG_arm-uboot = $(GRUB2_BUILTIN_CONFIG_PC) +GRUB2_BUILTIN_MODULES_arm-uboot = $(GRUB2_BUILTIN_MODULES_PC) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_ARM_UBOOT) += arm-uboot + +GRUB2_IMAGE_arm-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootarm.efi +GRUB2_CFG_arm-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_arm-efi = /EFI/BOOT +GRUB2_TARGET_arm-efi = arm +GRUB2_PLATFORM_arm-efi = efi +GRUB2_BUILTIN_CONFIG_arm-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_arm-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_ARM_EFI) += arm-efi + +GRUB2_IMAGE_arm64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootaa64.efi +GRUB2_CFG_arm64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_arm64-efi = /EFI/BOOT +GRUB2_TARGET_arm64-efi = aarch64 +GRUB2_PLATFORM_arm64-efi = efi +GRUB2_BUILTIN_CONFIG_arm64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_arm64-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_ARM64_EFI) += arm64-efi # Grub2 is kind of special: it considers CC, LD and so on to be the # tools to build the host programs and uses TARGET_CC, TARGET_CFLAGS, @@ -100,26 +130,17 @@ HOST_GRUB2_CONF_ENV = \ GRUB2_CONF_ENV = \ CPP="$(TARGET_CC) -E" \ TARGET_CC="$(TARGET_CC)" \ - TARGET_CFLAGS="$(TARGET_CFLAGS)" \ - TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \ - TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ + CFLAGS="$(TARGET_CFLAGS) -Os" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) -Os" \ + CPPFLAGS="$(TARGET_CPPFLAGS) -Os -fno-stack-protector" \ + TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -Os -fno-stack-protector" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS) -Os" \ TARGET_NM="$(TARGET_NM)" \ TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \ TARGET_STRIP="$(TARGET_CROSS)strip" -GRUB2_CONF_OPTS = \ - --target=$(GRUB2_TARGET) \ - --with-platform=$(GRUB2_PLATFORM) \ - --prefix=/ \ - --exec-prefix=/ \ - --disable-grub-mkfont \ - --enable-efiemu=no \ - ac_cv_lib_lzma_lzma_code=no \ - --enable-device-mapper=no \ - --enable-libzfs=no \ - --disable-werror - HOST_GRUB2_CONF_OPTS = \ + --with-platform=none \ --disable-grub-mkfont \ --enable-efiemu=no \ ac_cv_lib_lzma_lzma_code=no \ @@ -127,34 +148,65 @@ HOST_GRUB2_CONF_OPTS = \ --enable-libzfs=no \ --disable-werror -ifeq ($(BR2_TARGET_GRUB2_I386_PC),y) -define GRUB2_IMAGE_INSTALL_ELTORITO - cat $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \ - $(BINARIES_DIR)/grub-eltorito.img +define GRUB2_CONFIGURE_CMDS + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Configuring $(tuple)) + mkdir -p $(@D)/build-$(tuple) + cd $(@D)/build-$(tuple) && \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + $(GRUB2_CONF_ENV) \ + ../configure \ + --target=$(GRUB2_TARGET_$(tuple)) \ + --with-platform=$(GRUB2_PLATFORM_$(tuple)) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/ \ + --exec-prefix=/ \ + --disable-grub-mkfont \ + --enable-efiemu=no \ + ac_cv_lib_lzma_lzma_code=no \ + --enable-device-mapper=no \ + --enable-libzfs=no \ + --disable-werror + ) +endef + +define GRUB2_BUILD_CMDS + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Building $(tuple)) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build-$(tuple) + ) endef -endif define GRUB2_INSTALL_IMAGES_CMDS - mkdir -p $(dir $(GRUB2_IMAGE)) - $(HOST_DIR)/usr/bin/grub-mkimage \ - -d $(@D)/grub-core/ \ - -O $(GRUB2_TUPLE) \ - -o $(GRUB2_IMAGE) \ - -p "$(GRUB2_PREFIX)" \ - $(if $(GRUB2_BUILTIN_CONFIG),-c $(GRUB2_BUILTIN_CONFIG)) \ - $(GRUB2_BUILTIN_MODULES) - mkdir -p $(dir $(GRUB2_CFG)) - $(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG) - $(GRUB2_IMAGE_INSTALL_ELTORITO) + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Installing $(tuple) to images directory) + mkdir -p $(dir $(GRUB2_IMAGE_$(tuple))) + $(HOST_DIR)/usr/bin/grub-mkimage \ + -d $(@D)/build-$(tuple)/grub-core/ \ + -O $(tuple) \ + -o $(GRUB2_IMAGE_$(tuple)) \ + -p "$(GRUB2_PREFIX_$(tuple))" \ + $(if $(GRUB2_BUILTIN_CONFIG_$(tuple)), \ + -c $(GRUB2_BUILTIN_CONFIG_$(tuple))) \ + $(GRUB2_BUILTIN_MODULES_$(tuple)) + $(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG_$(tuple)) + $(if $(findstring $(GRUB2_PLATFORM_$(tuple)), pc), \ + cat $(@D)/build-$(tuple)/grub-core/cdboot.img $(GRUB2_IMAGE_$(tuple)) > \ + $(BINARIES_DIR)/grub-eltorito.img + ) \ + ) endef -ifeq ($(GRUB2_PLATFORM),efi) -define GRUB2_EFI_STARTUP_NSH - echo $(notdir $(GRUB2_IMAGE)) > \ - $(BINARIES_DIR)/efi-part/startup.nsh +ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) +define GRUB2_INSTALL_TARGET_CMDS + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Installing $(tuple) to target directory) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build-$(tuple) DESTDIR=$(TARGET_DIR) install + ) endef -GRUB2_POST_INSTALL_IMAGES_HOOKS += GRUB2_EFI_STARTUP_NSH endif -$(eval $(autotools-package)) +$(eval $(generic-package)) $(eval $(host-autotools-package)) diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk index 748e87030e7..eb1f3da78ca 100644 --- a/boot/gummiboot/gummiboot.mk +++ b/boot/gummiboot/gummiboot.mk @@ -32,8 +32,6 @@ GUMMIBOOT_CONF_OPTS = \ define GUMMIBOOT_INSTALL_IMAGES_CMDS $(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \ $(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi - echo "boot$(GUMMIBOOT_IMGARCH).efi" > \ - $(BINARIES_DIR)/efi-part/startup.nsh $(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \ $(BINARIES_DIR)/efi-part/loader/loader.conf $(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \ diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch b/boot/lpc32xxcdl/0001-compiler_name.patch similarity index 100% rename from boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch rename to boot/lpc32xxcdl/0001-compiler_name.patch diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch b/boot/lpc32xxcdl/0002-delete_redundant_files.patch similarity index 100% rename from boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch rename to boot/lpc32xxcdl/0002-delete_redundant_files.patch diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch b/boot/lpc32xxcdl/0003-libnosys_gnu.patch similarity index 100% rename from boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch rename to boot/lpc32xxcdl/0003-libnosys_gnu.patch diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch b/boot/lpc32xxcdl/0004-slashes.patch similarity index 100% rename from boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch rename to boot/lpc32xxcdl/0004-slashes.patch diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/boot/mv-ddr-marvell/mv-ddr-marvell.hash index e1a86008db3..5bfae8af457 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.hash +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 bfab74a625d65238c569b9df282b55c0fc9a1e2d3decedcf194d44774df2ede4 mv-ddr-marvell-305d923e6bc4236cd3b902f6679b0aef9e5fa52d.tar.gz -sha256 69208236fc322026920b92d1d839ebdc521ca65379bfdb3368a24945e794fc78 ddr3_init.c +sha256 48bb930b6fbc3f5db72e29c849b096df3868e4a6d2bdc0e2dd3365c768241cd5 ddr3_init.c diff --git a/boot/opensbi/0001-Makefile-Don-t-specify-mabi-or-march.patch b/boot/opensbi/0.9/0001-Makefile-Don-t-specify-mabi-or-march.patch similarity index 100% rename from boot/opensbi/0001-Makefile-Don-t-specify-mabi-or-march.patch rename to boot/opensbi/0.9/0001-Makefile-Don-t-specify-mabi-or-march.patch diff --git a/boot/opensbi/0.9/0002-Makefile-unconditionally-disable-SSP.patch b/boot/opensbi/0.9/0002-Makefile-unconditionally-disable-SSP.patch new file mode 100644 index 00000000000..c4edd37f1a9 --- /dev/null +++ b/boot/opensbi/0.9/0002-Makefile-unconditionally-disable-SSP.patch @@ -0,0 +1,53 @@ +From e389d5fbc296e496db15368b2b621e0f178f7f34 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 8 May 2021 21:28:10 +0200 +Subject: [PATCH] Makefile: unconditionally disable SSP + +Though -nostdlib is passed in {C,+AS,DTSCPP}FLAGS, -fno-stack-protector +must also be passed to avoid linking errors related to undefined +references to '__stack_chk_guard' and '__stack_chk_fail' if toolchain +enforces -fstack-protector. + +Fixes: + - https://gitlab.com/kubu93/buildroot/-/jobs/1247043359 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/riscv/opensbi/pull/211] +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index eeffe6b..1419360 100644 +--- a/Makefile ++++ b/Makefile +@@ -203,7 +203,7 @@ GENFLAGS += $(libsbiutils-genflags-y) + GENFLAGS += $(platform-genflags-y) + GENFLAGS += $(firmware-genflags-y) + +-CFLAGS = -g -Wall -Werror -ffreestanding -nostdlib -fno-strict-aliasing -O2 ++CFLAGS = -g -Wall -Werror -ffreestanding -nostdlib -fno-stack-protector -fno-strict-aliasing -O2 + CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls + CFLAGS += -mno-save-restore -mstrict-align + CFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) +@@ -217,7 +217,7 @@ CPPFLAGS += $(GENFLAGS) + CPPFLAGS += $(platform-cppflags-y) + CPPFLAGS += $(firmware-cppflags-y) + +-ASFLAGS = -g -Wall -nostdlib -D__ASSEMBLY__ ++ASFLAGS = -g -Wall -nostdlib -fno-stack-protector -D__ASSEMBLY__ + ASFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls + ASFLAGS += -mno-save-restore -mstrict-align + ASFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) +@@ -236,7 +236,7 @@ MERGEFLAGS += -r + MERGEFLAGS += -b elf$(PLATFORM_RISCV_XLEN)-littleriscv + MERGEFLAGS += -m elf$(PLATFORM_RISCV_XLEN)lriscv + +-DTSCPPFLAGS = $(CPPFLAGS) -nostdinc -nostdlib -fno-builtin -D__DTS__ -x assembler-with-cpp ++DTSCPPFLAGS = $(CPPFLAGS) -nostdinc -nostdlib -fno-stack-protector -fno-builtin -D__DTS__ -x assembler-with-cpp + + # Setup functions for compilation + define dynamic_flags +-- +2.30.2 + diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in index b9b0ace8af4..f1443498d9c 100644 --- a/boot/opensbi/Config.in +++ b/boot/opensbi/Config.in @@ -13,6 +13,57 @@ config BR2_TARGET_OPENSBI https://github.com/riscv/opensbi.git if BR2_TARGET_OPENSBI +choice + prompt "OpenSBI Version" + help + Select the specific OpenSBI version you want to use + +config BR2_TARGET_OPENSBI_LATEST_VERSION + bool "0.9" + +config BR2_TARGET_OPENSBI_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions + +config BR2_TARGET_OPENSBI_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_OPENSBI_CUSTOM_GIT + bool "Custom Git repository" + +endchoice + +config BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE + string "OpenSBI version" + depends on BR2_TARGET_OPENSBI_CUSTOM_VERSION + +config BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION + string "URL of custom OpenSBI tarball" + depends on BR2_TARGET_OPENSBI_CUSTOM_TARBALL + +if BR2_TARGET_OPENSBI_CUSTOM_GIT + +config BR2_TARGET_OPENSBI_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by Git. E.G. a + sha id, a tag, branch, .. + +endif + +config BR2_TARGET_OPENSBI_VERSION + string + default "0.9" if BR2_TARGET_OPENSBI_LATEST_VERSION + default BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_OPENSBI_CUSTOM_VERSION + default "custom" if BR2_TARGET_OPENSBI_CUSTOM_TARBALL + default BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION \ + if BR2_TARGET_OPENSBI_CUSTOM_GIT + config BR2_TARGET_OPENSBI_PLAT string "OpenSBI Platform" default "" @@ -23,12 +74,49 @@ config BR2_TARGET_OPENSBI_PLAT the platform specific static library libplatsbi.a and firmware examples are built. +config BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG + bool "Install fw_dynamic image" + default y if BR2_TARGET_OPENSBI_PLAT != "" + help + This installs the fw_dynamic image. + +config BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG + bool "Install fw_jump image" + default y if BR2_TARGET_OPENSBI_PLAT != "" + help + This installs the fw_jump image. + +config BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG + bool "Install fw_payload image" + help + This option enables the installation of the fw_paylaod + image. + config BR2_TARGET_OPENSBI_LINUX_PAYLOAD bool "Include Linux as OpenSBI Payload" depends on BR2_TARGET_OPENSBI_PLAT != "" depends on BR2_LINUX_KERNEL depends on BR2_LINUX_KERNEL_IMAGE + select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG help Build OpenSBI with the Linux kernel as a Payload. +config BR2_TARGET_OPENSBI_UBOOT_PAYLOAD + bool "Include U-Boot as OpenSBI Payload" + depends on BR2_TARGET_OPENSBI_PLAT != "" + depends on BR2_TARGET_UBOOT + select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG + help + Build OpenSBI with the U-Boot as a Payload. + +config BR2_TARGET_OPENSBI_FW_FDT_PATH + bool "Include U-Boot DTB in OpenSBI Payload" + depends on BR2_TARGET_OPENSBI_UBOOT_PAYLOAD + select BR2_TARGET_UBOOT_FORMAT_DTB + help + Build OpenSBI with FW_FDT_PATH set to + $(BINARIES_DIR)/u-boot.dtb. Note that CONFIG_OF_SEPARATE + must be set in the U-Boot configuration for this file to be + produced. + endif diff --git a/boot/opensbi/opensbi.hash b/boot/opensbi/opensbi.hash index f7280b890bb..3b6d97c42d1 100644 --- a/boot/opensbi/opensbi.hash +++ b/boot/opensbi/opensbi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 17e048ac765e92e15f7436b604452614cf88dc2bcbbaab18cdc024f3fdd4c575 opensbi-0.8.tar.gz +sha256 60f995cb3cd03e3cf5e649194d3395d0fe67499fd960a36cf7058a4efde686f0 opensbi-0.9.tar.gz sha256 82d13fb1bf6bb162629deeea9eb9c117e74548d3b707e478967691fe79a68e21 COPYING.BSD diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk index 60b87c268dc..8e055633a82 100644 --- a/boot/opensbi/opensbi.mk +++ b/boot/opensbi/opensbi.mk @@ -4,13 +4,32 @@ # ################################################################################ -OPENSBI_VERSION = 0.8 +OPENSBI_VERSION = $(call qstrip,$(BR2_TARGET_OPENSBI_VERSION)) + +ifeq ($(OPENSBI_VERSION),custom) +# Handle custom OpenSBI tarballs as specified by the configuration +OPENSBI_TARBALL = $(call qstrip,$(BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION)) +OPENSBI_SITE = $(patsubst %/,%,$(dir $(OPENSBI_TARBALL))) +OPENSBI_SOURCE = $(notdir $(OPENSBI_TARBALL)) +else ifeq ($(BR2_TARGET_OPENSBI_CUSTOM_GIT),y) +OPENSBI_SITE = $(call qstrip,$(BR2_TARGET_OPENSBI_CUSTOM_REPO_URL)) +OPENSBI_SITE_METHOD = git +else +# Handle official OpenSBI versions OPENSBI_SITE = $(call github,riscv,opensbi,v$(OPENSBI_VERSION)) +endif + OPENSBI_LICENSE = BSD-2-Clause +ifeq ($(BR2_TARGET_OPENSBI_LATEST_VERSION),y) OPENSBI_LICENSE_FILES = COPYING.BSD +endif OPENSBI_INSTALL_TARGET = NO OPENSBI_INSTALL_STAGING = YES +ifeq ($(BR2_TARGET_OPENSBI)$(BR2_TARGET_OPENSBI_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(OPENSBI_SOURCE) +endif + OPENSBI_MAKE_ENV = \ CROSS_COMPILE=$(TARGET_CROSS) @@ -24,16 +43,31 @@ OPENSBI_DEPENDENCIES += linux OPENSBI_MAKE_ENV += FW_PAYLOAD_PATH="$(BINARIES_DIR)/Image" endif +ifeq ($(BR2_TARGET_OPENSBI_UBOOT_PAYLOAD),y) +OPENSBI_DEPENDENCIES += uboot +OPENSBI_MAKE_ENV += FW_PAYLOAD_PATH="$(BINARIES_DIR)/u-boot.bin" +ifeq ($(BR2_TARGET_OPENSBI_FW_FDT_PATH),y) +OPENSBI_MAKE_ENV += FW_FDT_PATH="$(BINARIES_DIR)/u-boot.dtb" +endif +endif + define OPENSBI_BUILD_CMDS $(TARGET_MAKE_ENV) $(OPENSBI_MAKE_ENV) $(MAKE) -C $(@D) endef -ifneq ($(OPENSBI_PLAT),) +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG),y) OPENSBI_INSTALL_IMAGES = YES -OPENSBI_FW_IMAGES += jump dynamic -ifeq ($(BR2_TARGET_OPENSBI_LINUX_PAYLOAD),y) -OPENSBI_FW_IMAGES += payload +OPENSBI_FW_IMAGES += dynamic endif + +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG),y) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += jump +endif + +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG),y) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += payload endif define OPENSBI_INSTALL_IMAGES_CMDS diff --git a/boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch b/boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch new file mode 100644 index 00000000000..0ff61dc524d --- /dev/null +++ b/boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch @@ -0,0 +1,56 @@ +From 82becbadd5918ed7ad3c2b651ce479084b5feb2a Mon Sep 17 00:00:00 2001 +From: Etienne Carriere +Date: Mon, 10 May 2021 15:58:41 +0200 +Subject: core: zlib: fix build warning when _LFS64_LARGEFILE is not defined + +In zlib, _LFS64_LARGEFILE is expected to be a boolean directive, either +1 (true) or 0 (false). Depending on toolchain version and directives +build may produces warnings (as shown below with gcc 9.3) when the macro +is not defined hence this change to default it to value 0 (false). + +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ +In file included from core/lib/zlib/adler32.c:9: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ + CC out/core/lib/zlib/zutil.o +In file included from core/lib/zlib/inftrees.c:7: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ +In file included from core/lib/zlib/inflate.c:84: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ +In file included from core/lib/zlib/zutil.c:9: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ + +Signed-off-by: Etienne Carriere +Reviewed-by: Jens Wiklander +--- + core/lib/zlib/zconf.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/core/lib/zlib/zconf.h b/core/lib/zlib/zconf.h +index 0bca18be..a7d13741 100644 +--- a/core/lib/zlib/zconf.h ++++ b/core/lib/zlib/zconf.h +@@ -487,6 +487,11 @@ typedef uLong FAR uLongf; + # endif + #endif + ++/* Other places expect _LFS64_LARGEFILE to be defined with a valid value */ ++#ifndef _LFS64_LARGEFILE ++#define _LFS64_LARGEFILE 0 ++#endif ++ + #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 + # define Z_LFS64 + #endif +-- +2.17.1 + diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in index 3076be6b421..ea16550b720 100644 --- a/boot/optee-os/Config.in +++ b/boot/optee-os/Config.in @@ -18,7 +18,7 @@ choice Select the version of OP-TEE OS you want to use config BR2_TARGET_OPTEE_OS_LATEST - bool "3.11.0" + bool "3.15.0" help Use the latest release tag from the OP-TEE OS official Git repository. @@ -50,10 +50,17 @@ endif config BR2_TARGET_OPTEE_OS_VERSION string - default "3.11.0" if BR2_TARGET_OPTEE_OS_LATEST + default "3.15.0" if BR2_TARGET_OPTEE_OS_LATEST default BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION \ if BR2_TARGET_OPTEE_OS_CUSTOM_GIT +config BR2_TARGET_OPTEE_OS_NEEDS_DTC + bool "OP-TEE OS needs dtc" + select BR2_PACKAGE_HOST_DTC + help + Select this option if your OP-TEE OS platform configuration + requires the Device Tree compiler to be available. + config BR2_TARGET_OPTEE_OS_CORE bool "Build core" default y diff --git a/boot/optee-os/optee-os.hash b/boot/optee-os/optee-os.hash index 0d60cebea16..3c32e25b366 100644 --- a/boot/optee-os/optee-os.hash +++ b/boot/optee-os/optee-os.hash @@ -1,4 +1,4 @@ -# From https://github.com/OP-TEE/optee_os/archive/3.11.0.tar.gz -sha256 3c34eda1052fbb9ed36fcfdfaecfd2685023b9290670c1a5982f8a0457bfd2cb optee-os-3.11.0.tar.gz +# From https://github.com/OP-TEE/optee_os/archive/3.15.0/optee-os-3.15.0.tar.gz +sha256 e5bb3d9eedaf7785af091602addac5b52118f4cdc108af9cd6f6c96b21503ab8 optee-os-3.15.0.tar.gz # Locally computed sha256 1247ee90858f4037b6cac63cbffddfed435d0d73c631b37d78c1e6e6ab3e5d1a LICENSE diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk index 03ce08ffb2f..9f76d8450ea 100644 --- a/boot/optee-os/optee-os.mk +++ b/boot/optee-os/optee-os.mk @@ -21,7 +21,11 @@ else OPTEE_OS_SITE = $(call github,OP-TEE,optee_os,$(OPTEE_OS_VERSION)) endif -OPTEE_OS_DEPENDENCIES = host-openssl host-python3 host-python3-pycryptodomex host-python3-pyelftools +OPTEE_OS_DEPENDENCIES = host-openssl host-python3 host-python-pycryptodomex host-python-pyelftools + +ifeq ($(BR2_TARGET_OPTEE_OS_NEEDS_DTC),y) +OPTEE_OS_DEPENDENCIES += host-dtc +endif # On 64bit targets, OP-TEE OS can be built in 32bit mode, or # can be built in 64bit mode and support 32bit and 64bit diff --git a/boot/shim/Config.in b/boot/shim/Config.in index ea6650f54c8..462ef12d626 100644 --- a/boot/shim/Config.in +++ b/boot/shim/Config.in @@ -1,9 +1,15 @@ +config BR2_PACKAGE_SHIM_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_arm + default y if BR2_i386 + default y if BR2_x86_64 + # it includes gnu-efi + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS + config BR2_TARGET_SHIM bool "shim" - depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS - # ARM32 build currently broken - depends on !BR2_ARM_CPU_HAS_ARM - select BR2_PACKAGE_GNU_EFI + depends on BR2_PACKAGE_SHIM_ARCH_SUPPORTS help Boot loader to chain-load signed boot loaders under Secure Boot. diff --git a/boot/shim/shim.hash b/boot/shim/shim.hash index 318390f80b3..15c763abca1 100644 --- a/boot/shim/shim.hash +++ b/boot/shim/shim.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 279d19cc95b9974ea2379401a6a0653d949c3fa3d61f0c4bd6a7b9e840bdc425 shim-15.tar.gz +sha256 8344473dd10569588b8238a4656b8fab226714eea9f5363f8c410aa8a5090297 shim-15.4.tar.bz2 sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT diff --git a/boot/shim/shim.mk b/boot/shim/shim.mk index e0f01a8a9d8..0a6d1527aae 100644 --- a/boot/shim/shim.mk +++ b/boot/shim/shim.mk @@ -4,22 +4,19 @@ # ################################################################################ -SHIM_VERSION = 15 -SHIM_SITE = $(call github,rhboot,shim,$(SHIM_VERSION)) +SHIM_VERSION = 15.4 +SHIM_SITE = https://github.com/rhboot/shim/releases/download/$(SHIM_VERSION) +SHIM_SOURCE = shim-$(SHIM_VERSION).tar.bz2 SHIM_LICENSE = BSD-2-Clause SHIM_LICENSE_FILES = COPYRIGHT SHIM_CPE_ID_VENDOR = redhat -SHIM_DEPENDENCIES = gnu-efi SHIM_INSTALL_TARGET = NO SHIM_INSTALL_IMAGES = YES SHIM_MAKE_OPTS = \ ARCH="$(GNU_EFI_PLATFORM)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ - DASHJ="-j$(PARALLEL_JOBS)" \ - EFI_INCLUDE="$(STAGING_DIR)/usr/include/efi" \ - EFI_PATH="$(STAGING_DIR)/usr/lib" \ - LIBDIR="$(STAGING_DIR)/usr/lib" + DASHJ="-j$(PARALLEL_JOBS)" define SHIM_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(SHIM_MAKE_OPTS) diff --git a/boot/sun20i-d1-spl/Config.in b/boot/sun20i-d1-spl/Config.in new file mode 100644 index 00000000000..9d94d87b1cf --- /dev/null +++ b/boot/sun20i-d1-spl/Config.in @@ -0,0 +1,8 @@ +config BR2_TARGET_SUN20I_D1_SPL + bool "sun20-d1-spl" + depends on BR2_RISCV_64 + help + Allwinner D1 boot0 code with modifications to use as U-Boot + SPL. + + https://github.com/smaeul/sun20i_d1_spl diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.hash b/boot/sun20i-d1-spl/sun20i-d1-spl.hash new file mode 100644 index 00000000000..11d17a9a16f --- /dev/null +++ b/boot/sun20i-d1-spl/sun20i-d1-spl.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 08e2d0574e58c99734cd1d9ea89b86464242bf2db4f6769b23803bf9dcdac3c4 sun20i-d1-spl-882671fcf53137aaafc3a94fa32e682cb7b921f1.tar.gz diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.mk b/boot/sun20i-d1-spl/sun20i-d1-spl.mk new file mode 100644 index 00000000000..6bcea0fa969 --- /dev/null +++ b/boot/sun20i-d1-spl/sun20i-d1-spl.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# sun20i-d1-spl +# +################################################################################ + +# Commit on the 'mainline' branch +SUN20I_D1_SPL_VERSION = 882671fcf53137aaafc3a94fa32e682cb7b921f1 +SUN20I_D1_SPL_SITE = $(call github,smaeul,sun20i_d1_spl,$(SUN20I_D1_SPL_VERSION)) +SUN20I_D1_SPL_INSTALL_TARGET = NO +SUN20I_D1_SPL_INSTALL_IMAGES = YES +SUN20I_D1_SPL_LICENSE = GPL-2.0+ + +define SUN20I_D1_SPL_BUILD_CMDS + $(MAKE) -C $(@D) CROSS_COMPILE="$(TARGET_CROSS)" p=sun20iw1p1 mmc +endef + +define SUN20I_D1_SPL_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/nboot/boot0_sdcard_sun20iw1p1.bin \ + $(BINARIES_DIR)/boot0_sdcard_sun20iw1p1.bin +endef + +$(eval $(generic-package)) diff --git a/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch b/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch new file mode 100644 index 00000000000..ea91de5cb38 --- /dev/null +++ b/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch @@ -0,0 +1,126 @@ +From 16f293d67eace501c98494976030f4319778ebf5 Mon Sep 17 00:00:00 2001 +From: Merlin Mathesius +Date: Wed, 13 May 2020 08:02:27 -0500 +Subject: [PATCH] Workaround multiple definition of symbol errors + +[From https://src.fedoraproject.org/rpms/syslinux/raw/rawhide/f/0005-Workaround-multiple-definition-of-symbol-errors.patch + plus adding '-z muldefs' for gpxe] +Signed-off-by: Peter Seiderer +--- + com32/cmenu/Makefile | 2 +- + com32/elflink/ldlinux/Makefile | 2 +- + com32/gpllib/Makefile | 2 +- + com32/hdt/Makefile | 2 +- + core/Makefile | 2 +- + dos/Makefile | 2 +- + efi/Makefile | 2 +- + gpxe/src/arch/i386/Makefile | 2 +- + 8 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile +index 6bb52316..66cdd649 100644 +--- a/com32/cmenu/Makefile ++++ b/com32/cmenu/Makefile +@@ -49,7 +49,7 @@ makeoutputdirs: + @mkdir -p $(OBJ)/libmenu + + libmenu/libmenu.elf: $(LIBMENU) +- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \ ++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \ + -o $@ $^ + + tidy dist: +diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile +index d948da43..67434a1f 100644 +--- a/com32/elflink/ldlinux/Makefile ++++ b/com32/elflink/ldlinux/Makefile +@@ -33,7 +33,7 @@ endif + all: $(BTARGET) ldlinux_lnx.a + + ldlinux.elf : $(OBJS) +- $(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS) ++ $(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS) + + LNXCFLAGS += -D__export='__attribute__((visibility("default")))' + LNXLIBOBJS = get_key.lo +diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile +index e3e30d76..17520a1e 100644 +--- a/com32/gpllib/Makefile ++++ b/com32/gpllib/Makefile +@@ -24,7 +24,7 @@ makeoutputdirs: + $(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b)) + + libgpl.elf : $(LIBOBJS) +- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ ++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ + + tidy dist clean: + find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \ +diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile +index 80f2d0a0..8509cd96 100644 +--- a/com32/hdt/Makefile ++++ b/com32/hdt/Makefile +@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm + all: $(MODULES) $(TESTFILES) + + hdt.elf : $(OBJS) $(LIBS) $(C_LIBS) +- $(LD) $(LDFLAGS) -o $@ $^ ++ $(LD) $(LDFLAGS) -z muldefs -o $@ $^ + + memtest: + -[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST) +diff --git a/core/Makefile b/core/Makefile +index ad0acb5a..3bee4dc9 100644 +--- a/core/Makefile ++++ b/core/Makefile +@@ -164,7 +164,7 @@ AUXLIBS = libisolinux.a libisolinux-debug.a libldlinux.a \ + LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld + + %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS) +- $(LD) $(LDFLAGS) -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \ ++ $(LD) $(LDFLAGS) -z muldefs -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \ + --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group \ + > $(@:.elf=.map) + $(OBJDUMP) -h $@ > $(@:.elf=.sec) +diff --git a/dos/Makefile b/dos/Makefile +index b9c337d5..2af87346 100644 +--- a/dos/Makefile ++++ b/dos/Makefile +@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk + CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3 + # CFLAGS += -DDEBUG + +-LDFLAGS = -T $(SRC)/dosexe.ld ++LDFLAGS = -T $(SRC)/dosexe.ld -z muldefs + OPTFLAGS = -g + INCLUDES = -include code16.h -nostdinc -iwithprefix include \ + -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \ +diff --git a/efi/Makefile b/efi/Makefile +index d24d16db..7c714ebf 100644 +--- a/efi/Makefile ++++ b/efi/Makefile +@@ -70,7 +70,7 @@ $(OBJS): subdirs + BTARGET = syslinux.efi + + syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) +- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi ++ $(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi + + # We need to rename the .hash section because the EFI firmware + # linker really doesn't like it. +diff --git a/gpxe/src/arch/i386/Makefile b/gpxe/src/arch/i386/Makefile +index dd8da802..be1d00ff 100644 +--- a/gpxe/src/arch/i386/Makefile ++++ b/gpxe/src/arch/i386/Makefile +@@ -55,7 +55,7 @@ ASFLAGS += --32 + ifeq ($(HOST_OS),FreeBSD) + LDFLAGS += -m elf_i386_fbsd + else +-LDFLAGS += -m elf_i386 ++LDFLAGS += -z muldefs -m elf_i386 + endif + + # EFI requires -fshort-wchar, and nothing else currently uses wchar_t +-- +2.30.1 + diff --git a/boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch b/boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch new file mode 100644 index 00000000000..69a7e87d85f --- /dev/null +++ b/boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch @@ -0,0 +1,42 @@ +From 698a6ce88524b727d265b204d648e78d8acb485c Mon Sep 17 00:00:00 2001 +From: Merlin Mathesius +Date: Wed, 13 May 2020 11:58:37 -0500 +Subject: [PATCH] Replace builtin strlen that appears to get optimized away + +[From https://src.fedoraproject.org/rpms/syslinux/raw/rawhide/f/0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch] +Signed-off-by: Peter Seiderer +--- + dos/string.h | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/dos/string.h b/dos/string.h +index f648de2d..407d0233 100644 +--- a/dos/string.h ++++ b/dos/string.h +@@ -5,12 +5,22 @@ + #ifndef _STRING_H + #define _STRING_H + ++#include ++ + /* Standard routines */ + #define memcpy(a,b,c) __builtin_memcpy(a,b,c) + #define memmove(a,b,c) __builtin_memmove(a,b,c) + #define memset(a,b,c) __builtin_memset(a,b,c) + #define strcpy(a,b) __builtin_strcpy(a,b) +-#define strlen(a) __builtin_strlen(a) ++#define strlen(a) inline_strlen(a) ++ ++/* replacement for builtin strlen that appears to get optimized away */ ++static inline size_t inline_strlen(const char *str) ++{ ++ size_t l; ++ for (l = 0; *str++; l++); ++ return l; ++} + + /* This only returns true or false */ + static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n) +-- +2.30.1 + diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in index 339a97f0e44..c95dac1804a 100644 --- a/boot/syslinux/Config.in +++ b/boot/syslinux/Config.in @@ -35,7 +35,6 @@ config BR2_TARGET_SYSLINUX_PXELINUX config BR2_TARGET_SYSLINUX_MBR bool "install mbr" - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 select BR2_TARGET_SYSLINUX_LEGACY_BIOS help Install the legacy-BIOS 'mbr' image, to boot off a diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index 67bc69254e1..2df415fcfd4 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -14,7 +14,12 @@ SYSLINUX_LICENSE_FILES = COPYING SYSLINUX_INSTALL_IMAGES = YES # host-util-linux needed to provide libuuid when building host tools -SYSLINUX_DEPENDENCIES = host-nasm host-upx util-linux host-util-linux +SYSLINUX_DEPENDENCIES = \ + host-nasm \ + host-python3 \ + host-upx \ + host-util-linux \ + util-linux ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y) SYSLINUX_TARGET += bios @@ -55,10 +60,13 @@ define SYSLINUX_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) \ CC="$(TARGET_CC)" \ LD="$(TARGET_LD)" \ + OBJCOPY="$(TARGET_OBJCOPY)" \ + AS="$(TARGET_AS)" \ NASM="$(HOST_DIR)/bin/nasm" \ CC_FOR_BUILD="$(HOSTCC)" \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \ + PYTHON=$(HOST_DIR)/bin/python3 \ $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) endef diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index d43c85cce70..953c36135e4 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -41,7 +41,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2021.01" + bool "2022.01" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -85,7 +85,7 @@ endif config BR2_TARGET_UBOOT_VERSION string - default "2021.01" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2022.01" if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ if BR2_TARGET_UBOOT_CUSTOM_VERSION default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL @@ -143,45 +143,23 @@ config BR2_TARGET_UBOOT_NEEDS_DTC Select this option if your U-Boot board configuration requires the Device Tree compiler to be available. -config BR2_TARGET_UBOOT_NEEDS_PYTHON - bool - -choice - bool "U-Boot needs host Python" - -config BR2_TARGET_UBOOT_NEEDS_PYTHON_NONE - bool "no" - depends on !BR2_TARGET_UBOOT_NEEDS_PYTHON - help - Select this option if U-Boot does not need any - host python to build. - -config BR2_TARGET_UBOOT_NEEDS_PYTHON2 - bool "python 2.x" - help - Select this option if U-Boot needs a host Python 2.x - interpreter. This is the case for some U-Boot - configurations, prior to U-Boot 2020.01. - config BR2_TARGET_UBOOT_NEEDS_PYTHON3 - bool "python 3.x" + bool "U-Boot needs host python 3.x" help Select this option if U-Boot needs a host Python 3.x interpreter. This is the case for some U-Boot configurations, after U-Boot 2020.01. -endchoice - config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT bool "U-Boot needs pylibfdt" - select BR2_TARGET_UBOOT_NEEDS_PYTHON + select BR2_TARGET_UBOOT_NEEDS_PYTHON3 help Select this option if your U-Boot board configuration requires the Python libfdt library to be available. config BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS bool "U-Boot needs pyelftools" - select BR2_TARGET_UBOOT_NEEDS_PYTHON + select BR2_TARGET_UBOOT_NEEDS_PYTHON3 help Select this option if your U-Boot board configuration requires the Python pyelftools library to be available. @@ -229,6 +207,15 @@ config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF endchoice +config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE + bool "U-Boot needs OPTEE TEE" + depends on BR2_TARGET_OPTEE_OS_CORE + help + Some platforms (such as Rockchip) encapsulate the TEE inside + U-Boot. This option makes sure optee-os gets built prior to + U-Boot, and that the TEE variable pointing to OPTEE's + tee.elf, is passed during the Buildroot build. + config BR2_TARGET_UBOOT_NEEDS_OPENSBI bool "U-Boot needs OpenSBI" depends on BR2_TARGET_OPENSBI @@ -239,6 +226,18 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSBI and that the OpenSBI variable pointing to OpenSBI binary, is passed during the Buildroot build. +config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE + bool "U-Boot needs firmware-imx" + depends on BR2_PACKAGE_FIRMWARE_IMX + depends on BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || \ + BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW + help + Some i.MX8 platforms (such as i.MX8 M, i.MX 8M Mini, i.MX 8M + Nano) encapsulate NXP specific firmware (DDR, HDMI) inside + U-Boot. + This option makes sure that the i.MX firmwares are copied into + the U-Boot source directory. + menu "U-Boot binary format" config BR2_TARGET_UBOOT_FORMAT_AIS @@ -252,6 +251,9 @@ config BR2_TARGET_UBOOT_FORMAT_BIN bool "u-boot.bin" default y +config BR2_TARGET_UBOOT_FORMAT_DTB + bool "u-boot.dtb" + config BR2_TARGET_UBOOT_FORMAT_DTB_BIN bool "u-boot-dtb.bin" @@ -431,18 +433,6 @@ config BR2_TARGET_UBOOT_SPL_NAME and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is MLO on OMAP and SPL on i.MX6 for example. -config BR2_TARGET_UBOOT_ZYNQ_IMAGE - bool "Generate image for Xilinx Zynq" - depends on BR2_arm - depends on BR2_TARGET_UBOOT_SPL - depends on BR2_TARGET_UBOOT_FORMAT_DTB_IMG - help - Generate the BOOT.BIN file from U-Boot's SPL. The image - boots the Xilinx Zynq chip without any FPGA bitstream. - A bitstream can be loaded by the U-Boot. The SPL searchs - for u-boot-dtb.img file so this U-Boot format is required - to be set. - config BR2_TARGET_UBOOT_ZYNQMP bool "Boot on the Xilinx ZynqMP SoCs" depends on BR2_aarch64 diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index 7cbd785541e..9171a794a16 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 b407e1510a74e863b8b5cb42a24625344f0e0c2fc7582d8c866bd899367d0454 u-boot-2021.01.tar.bz2 +sha256 81b4543227db228c03f8a1bf5ddbc813b0bb8f6555ce46064ef721a6fc680413 u-boot-2022.01.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index bb459800225..cb26fc8d3e3 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -17,7 +17,7 @@ UBOOT_CPE_ID_PRODUCT = u-boot UBOOT_INSTALL_IMAGES = YES # u-boot 2020.01+ needs make 4.0+ -UBOOT_DEPENDENCIES = $(BR2_MAKE_HOST_DEPENDENCY) +UBOOT_DEPENDENCIES = host-pkgconf $(BR2_MAKE_HOST_DEPENDENCY) UBOOT_MAKE = $(BR2_MAKE) ifeq ($(UBOOT_VERSION),custom) @@ -48,6 +48,10 @@ ifeq ($(BR2_TARGET_UBOOT_FORMAT_BIN),y) UBOOT_BINS += u-boot.bin endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB),y) +UBOOT_BINS += u-boot.dtb +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_ELF),y) UBOOT_BINS += u-boot # To make elf usable for debuging on ARC use special target @@ -139,12 +143,12 @@ endif # The kernel calls AArch64 'arm64', but U-Boot calls it just 'arm', so # we have to special case it. Similar for i386/x86_64 -> x86 -ifeq ($(KERNEL_ARCH),arm64) +ifeq ($(NORMALIZED_ARCH),arm64) UBOOT_ARCH = arm -else ifneq ($(filter $(KERNEL_ARCH),i386 x86_64),) +else ifneq ($(filter $(NORMALIZED_ARCH),i386 x86_64),) UBOOT_ARCH = x86 else -UBOOT_ARCH = $(KERNEL_ARCH) +UBOOT_ARCH = $(NORMALIZED_ARCH) endif UBOOT_MAKE_OPTS += \ @@ -158,24 +162,53 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y) UBOOT_DEPENDENCIES += arm-trusted-firmware ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y) UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.elf +define UBOOT_COPY_ATF_FIRMWARE + cp $(BINARIES_DIR)/bl31.elf $(@D)/ +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_ATF_FIRMWARE else UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin +define UBOOT_COPY_ATF_FIRMWARE + cp $(BINARIES_DIR)/bl31.bin $(@D)/ +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_ATF_FIRMWARE endif endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE),y) +UBOOT_DEPENDENCIES += optee-os +UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.elf +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSBI),y) UBOOT_DEPENDENCIES += opensbi UBOOT_MAKE_OPTS += OPENSBI=$(BINARIES_DIR)/fw_dynamic.bin endif +# Mainline U-Boot versions can create the i.MX specific boot images +# and need some NXP firmware blobs. +ifeq ($(BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE),y) +UBOOT_DEPENDENCIES += firmware-imx +UBOOT_IMX_FW_FILES = \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),signed_hdmi_imx8m.bin) \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),lpddr4*.bin) \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin) \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR3),ddr3*.bin) + +define UBOOT_COPY_IMX_FW_FILES + $(foreach fw,$(UBOOT_IMX_FW_FILES),\ + cp $(BINARIES_DIR)/$(fw) $(@D)/ + ) +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_FW_FILES +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc endif -ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON2),y) -UBOOT_DEPENDENCIES += host-python host-python-setuptools -else ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON3),y) -UBOOT_DEPENDENCIES += host-python3 host-python3-setuptools +ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON3),y) +UBOOT_DEPENDENCIES += host-python3 host-python-setuptools endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYLIBFDT),y) @@ -183,11 +216,7 @@ UBOOT_DEPENDENCIES += host-swig endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS),y) -ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON2),y) UBOOT_DEPENDENCIES += host-python-pyelftools -else ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON3),y) -UBOOT_DEPENDENCIES += host-python3-pyelftools -endif endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y) @@ -209,6 +238,13 @@ endef UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE +# Older versions break on gcc 10+ because of redefined symbols +define UBOOT_DROP_YYLLOC + $(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \ + |xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d' +endef +UBOOT_POST_PATCH_HOOKS += UBOOT_DROP_YYLLOC + ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) define UBOOT_XTENSA_OVERLAY_EXTRACT $(call arch-xtensa-overlay-extract,$(@D),u-boot) @@ -292,12 +328,6 @@ UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig # override again. In addition, host-ccache is not ready at kconfig # time, so use HOSTCC_NOCCACHE. UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTLDFLAGS="" -define UBOOT_HELP_CMDS - @echo ' uboot-menuconfig - Run U-Boot menuconfig' - @echo ' uboot-savedefconfig - Run U-Boot savedefconfig' - @echo ' uboot-update-defconfig - Save the U-Boot configuration to the path specified' - @echo ' by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE' -endef endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY UBOOT_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_DTS_PATH)) @@ -307,6 +337,11 @@ define UBOOT_BUILD_CMDS cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/ ) $(TARGET_CONFIGURE_OPTS) \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" \ $(UBOOT_MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_MAKE_TARGET) $(if $(BR2_TARGET_UBOOT_FORMAT_SD), @@ -398,17 +433,6 @@ UBOOT_POST_BUILD_HOOKS += UBOOT_BUILD_OMAP_IFT UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_OMAP_IFT_IMAGE endif -ifeq ($(BR2_TARGET_UBOOT_ZYNQ_IMAGE),y) -define UBOOT_GENERATE_ZYNQ_IMAGE - $(HOST_DIR)/bin/python2 \ - $(HOST_DIR)/bin/zynq-boot-bin.py \ - -u $(@D)/$(firstword $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))) \ - -o $(BINARIES_DIR)/BOOT.BIN -endef -UBOOT_DEPENDENCIES += host-zynq-boot-bin -UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_GENERATE_ZYNQ_IMAGE -endif - ifeq ($(BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC),y) ifeq ($(BR2_TARGET_UBOOT_SPL),y) UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)) @@ -497,7 +521,12 @@ UBOOT_DEPENDENCIES += \ $(eval $(generic-package)) else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y) UBOOT_MAKE_ENV = $(TARGET_MAKE_ENV) -UBOOT_KCONFIG_DEPENDENCIES = \ +# Starting with 2021.10, the kconfig in uboot calls the cross-compiler +# to check its capabilities. So we need the toolchain before we can +# call the configurators. +UBOOT_KCONFIG_DEPENDENCIES += \ + toolchain \ + $(BR2_MAKE_HOST_DEPENDENCY) \ $(BR2_BISON_HOST_DEPENDENCY) \ $(BR2_FLEX_HOST_DEPENDENCY) $(eval $(kconfig-package)) diff --git a/configs/aarch64_efi_defconfig b/configs/aarch64_efi_defconfig index 99600575edf..1bd06c51f37 100644 --- a/configs/aarch64_efi_defconfig +++ b/configs/aarch64_efi_defconfig @@ -5,7 +5,6 @@ BR2_aarch64=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # System -BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y ## Required tools to create bootable media @@ -23,13 +22,13 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="200M" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg" -# Linux headers same as kernel, a 5.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.4" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/acmesystems_acqua_a5_256mb_defconfig b/configs/acmesystems_acqua_a5_256mb_defconfig new file mode 100644 index 00000000000..f8129f37809 --- /dev/null +++ b/configs/acmesystems_acqua_a5_256mb_defconfig @@ -0,0 +1,26 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/acqua-a5/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.107" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="acqua-256m" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_acqua_a5_512mb_defconfig b/configs/acmesystems_acqua_a5_512mb_defconfig new file mode 100644 index 00000000000..e399d4a9ffe --- /dev/null +++ b/configs/acmesystems_acqua_a5_512mb_defconfig @@ -0,0 +1,26 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/acqua-a5/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.107" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="acqua-512m" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_aria_g25_128mb_defconfig b/configs/acmesystems_aria_g25_128mb_defconfig index cf62b5b72e6..c428e318d21 100644 --- a/configs/acmesystems_aria_g25_128mb_defconfig +++ b/configs/acmesystems_aria_g25_128mb_defconfig @@ -15,7 +15,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/aria-g25/genimage.cfg" # Kernel configuration BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.216" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariag25" @@ -29,7 +29,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="aria-128m" # Tools to build sdcard.img diff --git a/configs/acmesystems_aria_g25_256mb_defconfig b/configs/acmesystems_aria_g25_256mb_defconfig index 496ccd6853a..83f7625dc70 100644 --- a/configs/acmesystems_aria_g25_256mb_defconfig +++ b/configs/acmesystems_aria_g25_256mb_defconfig @@ -15,7 +15,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/aria-g25/genimage.cfg" # Kernel configuration BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.216" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariag25" @@ -29,7 +29,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="aria-256m" # Tools to build sdcard.img diff --git a/configs/acmesystems_arietta_g25_128mb_defconfig b/configs/acmesystems_arietta_g25_128mb_defconfig index 17ef7e757ce..b882b2bdb26 100644 --- a/configs/acmesystems_arietta_g25_128mb_defconfig +++ b/configs/acmesystems_arietta_g25_128mb_defconfig @@ -15,7 +15,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/arietta-g25/genimage.cfg" # Kernel configuration BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.216" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariettag25" @@ -29,7 +29,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="arietta-128m" # Tools to build sdcard.img diff --git a/configs/acmesystems_arietta_g25_256mb_defconfig b/configs/acmesystems_arietta_g25_256mb_defconfig index aa0236bbb31..10501d462cb 100644 --- a/configs/acmesystems_arietta_g25_256mb_defconfig +++ b/configs/acmesystems_arietta_g25_256mb_defconfig @@ -15,7 +15,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/arietta-g25/genimage.cfg" # Kernel configuration BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.216" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariettag25" @@ -29,7 +29,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="arietta-256m" # Tools to build sdcard.img diff --git a/configs/amarula_vyasa_rk3288_defconfig b/configs/amarula_vyasa_rk3288_defconfig index 760ad3f9f4a..ff96019e1ee 100644 --- a/configs/amarula_vyasa_rk3288_defconfig +++ b/configs/amarula_vyasa_rk3288_defconfig @@ -3,16 +3,17 @@ BR2_arm=y BR2_cortex_a17=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.0 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vyasa-rk3288" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y @@ -22,7 +23,7 @@ BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" @@ -44,4 +45,3 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/vyasa/genimage.cfg" BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/vyasa/post-build.sh" -BR2_GLOBAL_PATCH_DIR="board/amarula/vyasa/patches/" diff --git a/configs/armadeus_apf28_defconfig b/configs/armadeus_apf28_defconfig index 56351ebde52..01e14e66188 100644 --- a/configs/armadeus_apf28_defconfig +++ b/configs/armadeus_apf28_defconfig @@ -13,7 +13,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.172" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.289" BR2_LINUX_KERNEL_DEFCONFIG="mxs" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" diff --git a/configs/armadeus_apf51_defconfig b/configs/armadeus_apf51_defconfig index 26b6a447d48..aa7c2f84aef 100644 --- a/configs/armadeus_apf51_defconfig +++ b/configs/armadeus_apf51_defconfig @@ -2,7 +2,7 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 3.12 series +# Linux headers same as kernel, a 4.4 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y # System @@ -13,7 +13,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.186" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.291" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf51/linux-4.4.config" BR2_LINUX_KERNEL_UIMAGE=y diff --git a/configs/asus_tinker_rk3288_defconfig b/configs/asus_tinker_rk3288_defconfig index e95a19a7571..6963fa939ff 100644 --- a/configs/asus_tinker_rk3288_defconfig +++ b/configs/asus_tinker_rk3288_defconfig @@ -3,16 +3,18 @@ BR2_arm=y BR2_cortex_a17=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.0 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y @@ -22,7 +24,7 @@ BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" @@ -43,4 +45,3 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/asus/tinker/genimage.cfg" BR2_ROOTFS_POST_BUILD_SCRIPT="board/asus/tinker/post-build.sh" -BR2_GLOBAL_PATCH_DIR="board/asus/tinker/patches/" diff --git a/configs/at91sam9260eknf_defconfig b/configs/at91sam9260eknf_defconfig index 807d0294e8b..b795ad6effc 100644 --- a/configs/at91sam9260eknf_defconfig +++ b/configs/at91sam9260eknf_defconfig @@ -21,7 +21,7 @@ BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9260eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/at91sam9g20dfc_defconfig b/configs/at91sam9g20dfc_defconfig index 7511c96fe9c..46626d857a0 100644 --- a/configs/at91sam9g20dfc_defconfig +++ b/configs/at91sam9g20dfc_defconfig @@ -27,7 +27,7 @@ BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9g20eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/at91sam9g45m10ek_defconfig b/configs/at91sam9g45m10ek_defconfig index c598527f96c..bf0771bc149 100644 --- a/configs/at91sam9g45m10ek_defconfig +++ b/configs/at91sam9g45m10ek_defconfig @@ -22,7 +22,7 @@ BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9m10g45eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/at91sam9rlek_defconfig b/configs/at91sam9rlek_defconfig index ba3a94c08c5..5c0fdc59935 100644 --- a/configs/at91sam9rlek_defconfig +++ b/configs/at91sam9rlek_defconfig @@ -22,7 +22,7 @@ BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9rleknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/at91sam9x5ek_defconfig b/configs/at91sam9x5ek_defconfig index d544e277a7f..70e2d94826f 100644 --- a/configs/at91sam9x5ek_defconfig +++ b/configs/at91sam9x5ek_defconfig @@ -16,7 +16,7 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/at91sam9x5ek_dev_defconfig b/configs/at91sam9x5ek_dev_defconfig index 5f777fbc729..bfa8e95941c 100644 --- a/configs/at91sam9x5ek_dev_defconfig +++ b/configs/at91sam9x5ek_dev_defconfig @@ -84,7 +84,7 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/at91sam9x5ek_mmc_defconfig b/configs/at91sam9x5ek_mmc_defconfig index 63a537bd9c7..79a300a81b3 100644 --- a/configs/at91sam9x5ek_mmc_defconfig +++ b/configs/at91sam9x5ek_mmc_defconfig @@ -26,7 +26,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/at91sam9x5ek_mmc_dev_defconfig b/configs/at91sam9x5ek_mmc_dev_defconfig index 698cb9230ac..2e1a5c7f595 100644 --- a/configs/at91sam9x5ek_mmc_dev_defconfig +++ b/configs/at91sam9x5ek_mmc_dev_defconfig @@ -86,7 +86,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig b/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig index b608bac0c61..ba2fa46790d 100644 --- a/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig +++ b/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig @@ -3,7 +3,7 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y BR2_PTHREAD_DEBUG=y BR2_TOOLCHAIN_BUILDROOT_CXX=y @@ -12,7 +12,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d27_som1_ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam-2020.04)/linux-at91-linux4sam-2020.04.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_som1_ek" @@ -71,7 +71,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.2)/at91bootstrap3-v3.9.2.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d27_som1_eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d2_xplained_mmc_defconfig b/configs/atmel_sama5d2_xplained_mmc_defconfig index 2c73cc4c275..5b638126062 100644 --- a/configs/atmel_sama5d2_xplained_mmc_defconfig +++ b/configs/atmel_sama5d2_xplained_mmc_defconfig @@ -3,12 +3,12 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained" @@ -17,7 +17,7 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d2_xplained_mmc_dev_defconfig b/configs/atmel_sama5d2_xplained_mmc_dev_defconfig index 6f641280c8d..a8b68ca0a2d 100644 --- a/configs/atmel_sama5d2_xplained_mmc_dev_defconfig +++ b/configs/atmel_sama5d2_xplained_mmc_dev_defconfig @@ -6,7 +6,7 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # Needed for some packages BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # Needed for gdb @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained" @@ -88,7 +88,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d3_xplained_defconfig b/configs/atmel_sama5d3_xplained_defconfig index 65304a2e42a..7ef45db4698 100644 --- a/configs/atmel_sama5d3_xplained_defconfig +++ b/configs/atmel_sama5d3_xplained_defconfig @@ -2,10 +2,10 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" @@ -16,7 +16,7 @@ BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d3_xplained_dev_defconfig b/configs/atmel_sama5d3_xplained_dev_defconfig index 28efe4cc8fc..cdfd9de17e6 100644 --- a/configs/atmel_sama5d3_xplained_dev_defconfig +++ b/configs/atmel_sama5d3_xplained_dev_defconfig @@ -5,7 +5,7 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # Needed for some packages BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # Needed for gdb @@ -20,7 +20,7 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" @@ -85,7 +85,7 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d3_xplained_mmc_defconfig b/configs/atmel_sama5d3_xplained_mmc_defconfig index 3fd5f1dde01..1b7d2698871 100644 --- a/configs/atmel_sama5d3_xplained_mmc_defconfig +++ b/configs/atmel_sama5d3_xplained_mmc_defconfig @@ -2,12 +2,12 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" @@ -16,7 +16,7 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d3_xplained_mmc_dev_defconfig b/configs/atmel_sama5d3_xplained_mmc_dev_defconfig index 1f1881f8b7d..a2205aeefa6 100644 --- a/configs/atmel_sama5d3_xplained_mmc_dev_defconfig +++ b/configs/atmel_sama5d3_xplained_mmc_dev_defconfig @@ -5,7 +5,7 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # Needed for some packages BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # Needed for gdb @@ -23,7 +23,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" @@ -87,7 +87,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d3xek_defconfig b/configs/atmel_sama5d3xek_defconfig index 63417eae7c7..f71e84bf0fc 100644 --- a/configs/atmel_sama5d3xek_defconfig +++ b/configs/atmel_sama5d3xek_defconfig @@ -24,7 +24,7 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.8.10)/at91bootstrap3-v3.8.10.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.10.3)/at91bootstrap3-v3.10.3.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3xeknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d4_xplained_defconfig b/configs/atmel_sama5d4_xplained_defconfig index 319f31956da..c0b606bc9a1 100644 --- a/configs/atmel_sama5d4_xplained_defconfig +++ b/configs/atmel_sama5d4_xplained_defconfig @@ -3,10 +3,10 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" @@ -20,7 +20,7 @@ BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x40000 BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d4_xplained_dev_defconfig b/configs/atmel_sama5d4_xplained_dev_defconfig index 71568f74977..f8783f56524 100644 --- a/configs/atmel_sama5d4_xplained_dev_defconfig +++ b/configs/atmel_sama5d4_xplained_dev_defconfig @@ -6,7 +6,7 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # Needed for some packages BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # Needed for gdb @@ -21,7 +21,7 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" @@ -89,7 +89,7 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d4_xplained_mmc_defconfig b/configs/atmel_sama5d4_xplained_mmc_defconfig index ed294c35a13..ff010732059 100644 --- a/configs/atmel_sama5d4_xplained_mmc_defconfig +++ b/configs/atmel_sama5d4_xplained_mmc_defconfig @@ -3,12 +3,12 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" @@ -17,7 +17,7 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/atmel_sama5d4_xplained_mmc_dev_defconfig b/configs/atmel_sama5d4_xplained_mmc_dev_defconfig index 93a5bd9299f..b4e99f658a0 100644 --- a/configs/atmel_sama5d4_xplained_mmc_dev_defconfig +++ b/configs/atmel_sama5d4_xplained_mmc_dev_defconfig @@ -6,7 +6,7 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # Needed for some packages BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # Needed for gdb @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" @@ -88,7 +88,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap3-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/bananapi_m1_defconfig b/configs/bananapi_m1_defconfig index 23da363345b..2d948ec223c 100644 --- a/configs/bananapi_m1_defconfig +++ b/configs/bananapi_m1_defconfig @@ -1,5 +1,6 @@ BR2_arm=y BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M1" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" diff --git a/configs/bananapi_m1_plus_defconfig b/configs/bananapi_m1_plus_defconfig index 8f278f932db..271124f79a2 100644 --- a/configs/bananapi_m1_plus_defconfig +++ b/configs/bananapi_m1_plus_defconfig @@ -2,6 +2,7 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y BR2_GLOBAL_PATCH_DIR="board/sinovoip/m1-plus/patches" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_HOSTNAME="bananapi" BR2_TARGET_GENERIC_ISSUE="Welcome to Banana Pi!" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y diff --git a/configs/bananapi_m2_ultra_defconfig b/configs/bananapi_m2_ultra_defconfig index 22f7974bcbc..2ec0e60e8d7 100644 --- a/configs/bananapi_m2_ultra_defconfig +++ b/configs/bananapi_m2_ultra_defconfig @@ -16,15 +16,17 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m2_berry" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/bananapi/bananapi-m2-ultra/boot.cmd" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/bananapi/bananapi-m2-ultra/boot.cmd" diff --git a/configs/beaglebone_defconfig b/configs/beaglebone_defconfig index 9a4be13ec55..06154d98b73 100644 --- a/configs/beaglebone_defconfig +++ b/configs/beaglebone_defconfig @@ -1,31 +1,52 @@ +# Architecture BR2_arm=y BR2_cortex_a8=y +BR2_ARM_FPU_VFPV3=y + +# Patches BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +# System +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y + +# Image BR2_ROOTFS_POST_BUILD_SCRIPT="board/beaglebone/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglebone/genimage.cfg" + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,4.19.79-ti-r30)/linux-4.19.79-ti-r30.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,5.10.30-ti-r3)/linux-5.10.30-ti-r3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue am335x-boneblack-wireless" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y + +# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_evm" BR2_TARGET_UBOOT_NEEDS_DTC=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="MLO" + +# Required tools to create the SD image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y + +# Supporting host tools to build FIT image BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/beaglebone_qt5_defconfig b/configs/beaglebone_qt5_defconfig index 6e0371a7d38..ff03a05a8eb 100644 --- a/configs/beaglebone_qt5_defconfig +++ b/configs/beaglebone_qt5_defconfig @@ -5,6 +5,7 @@ BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_OVERLAY="board/beaglebone/rootfs_overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/beaglebone/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglebone/genimage.cfg" @@ -14,7 +15,7 @@ BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,4.19.7 BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/beaglebone/linux-sgx.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue am335x-boneblack-wireless" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_FBV=y BR2_PACKAGE_QT5=y @@ -31,13 +32,11 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="250M" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_evm" BR2_TARGET_UBOOT_NEEDS_DTC=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin" BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="MLO" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/beagleboneai_defconfig b/configs/beagleboneai_defconfig index eb23cdf69a9..586a75317e5 100644 --- a/configs/beagleboneai_defconfig +++ b/configs/beagleboneai_defconfig @@ -1,23 +1,24 @@ BR2_arm=y BR2_cortex_a15=y BR2_GLOBAL_PATCH_DIR="board/beagleboneai/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboneai/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboneai/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,4.14.108-ti-r117)/linux-4.14.108-ti-r117.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="bb.org" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.79" +BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="am5729-beagleboneai" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am57xx_evm" BR2_TARGET_UBOOT_NEEDS_DTC=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set diff --git a/configs/beaglev_defconfig b/configs/beaglev_defconfig new file mode 100644 index 00000000000..79af8c2ece8 --- /dev/null +++ b/configs/beaglev_defconfig @@ -0,0 +1,41 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVF=y +BR2_RISCV_ISA_CUSTOM_RVD=y +BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/beaglev/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglev/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +# tag buildroot-20210609 of the 5.13 branch (esmil_starlight) +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,linux,83dba1f25dfc118cacec991c31a7a4cfa7405c89)/linux-83dba1f25dfc118cacec991c31a7a4cfa7405c89.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="starlight" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="starfive/jh7100-beaglev-starlight" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_BEAGLEV_DDRINIT=y +BR2_TARGET_BEAGLEV_SECONDBOOT=y +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_TARBALL=y +# upstream opensbi master branch +BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION="$(call github,riscv,opensbi,79f9b4220ffa7f74356054be25d450d7958bf16c)/opensbi-79f9b4220ffa7f74356054be25d450d7958bf16c.tar.gz" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG is not set +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_OPENSBI_UBOOT_PAYLOAD=y +BR2_TARGET_OPENSBI_FW_FDT_PATH=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +# HEAD of the starfive-tech:Fedora_VIC_7100_2021.04 branch +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,u-boot,64ead5b83959da8eb87b6963843addf5942e6ed4)/uboot-64ead5b83959da8eb87b6963843addf5942e6ed4.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="starfive_vic7100_beagle_v_smode" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_JH71XX_TOOLS=y diff --git a/configs/beelink_gs1_defconfig b/configs/beelink_gs1_defconfig index b461574a985..d4682d6b7ce 100644 --- a/configs/beelink_gs1_defconfig +++ b/configs/beelink_gs1_defconfig @@ -9,11 +9,11 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/beelink/gs1/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beelink/gs1/genimage.cfg" -# Kernel Linux headers same as kernel, a 5.5 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_5=y +# Kernel Linux headers same as kernel, 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.5.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h6-beelink-gs1" @@ -24,16 +24,17 @@ BR2_TARGET_ROOTFS_EXT2_4=y # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h6" # Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="beelink_gs1" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y diff --git a/configs/chromebook_elm_defconfig b/configs/chromebook_elm_defconfig index 4f82370fb9a..827d9296314 100644 --- a/configs/chromebook_elm_defconfig +++ b/configs/chromebook_elm_defconfig @@ -2,20 +2,17 @@ BR2_aarch64=y BR2_cortex_a72_a53=y -# Patches -BR2_GLOBAL_PATCH_DIR="board/chromebook/elm/patches/" - # Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel (5.9 series) -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9=y +# Linux headers same as kernel (5.10 series) +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10" # Build Kernel with a Custom config. BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y diff --git a/configs/cubieboard2_defconfig b/configs/cubieboard2_defconfig index 8924c88c540..18337fac725 100644 --- a/configs/cubieboard2_defconfig +++ b/configs/cubieboard2_defconfig @@ -1,32 +1,42 @@ +# Architecture BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y -BR2_TARGET_GENERIC_HOSTNAME="Cubieboard2" -BR2_TARGET_GENERIC_ISSUE="Welcome to Cubieboard2!" -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard2/post-image.sh" + +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.14" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.11" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-cubieboard2" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y + +# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Cubieboard2" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/cubietech/cubieboard2/boot.cmd" + +# System +BR2_TARGET_GENERIC_HOSTNAME="Cubieboard2" +BR2_TARGET_GENERIC_ISSUE="Welcome to Cubieboard2!" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard2/post-image.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/engicam_imx6qdl_icore_qt5_defconfig b/configs/engicam_imx6qdl_icore_qt5_defconfig index b893c6aeadd..2d213e4ab98 100644 --- a/configs/engicam_imx6qdl_icore_qt5_defconfig +++ b/configs/engicam_imx6qdl_icore_qt5_defconfig @@ -61,7 +61,6 @@ BR2_PACKAGE_QT5BASE_JPEG=y # mesa3d BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y -BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y diff --git a/configs/freescale_imx6dlsabreauto_defconfig b/configs/freescale_imx6dlsabreauto_defconfig index 443dc92fb6c..8fe10f6275a 100644 --- a/configs/freescale_imx6dlsabreauto_defconfig +++ b/configs/freescale_imx6dlsabreauto_defconfig @@ -8,8 +8,8 @@ BR2_ARM_FPU_VFPV3=y # patches BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" @@ -18,7 +18,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabreauto" @@ -40,5 +40,5 @@ BR2_TARGET_UBOOT_BOARDNAME="mx6dlsabreauto" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6dlsabresd_defconfig b/configs/freescale_imx6dlsabresd_defconfig index 488ceef4688..74debbfd460 100644 --- a/configs/freescale_imx6dlsabresd_defconfig +++ b/configs/freescale_imx6dlsabresd_defconfig @@ -8,8 +8,8 @@ BR2_ARM_FPU_VFPV3=y # patches BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -18,7 +18,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabresd" @@ -39,5 +39,5 @@ BR2_TARGET_UBOOT_BOARDNAME="mx6dlsabresd" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6qsabreauto_defconfig b/configs/freescale_imx6qsabreauto_defconfig index 1a0c96d52c1..58b4a5f92d1 100644 --- a/configs/freescale_imx6qsabreauto_defconfig +++ b/configs/freescale_imx6qsabreauto_defconfig @@ -8,8 +8,8 @@ BR2_ARM_FPU_VFPV3=y # patches BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" @@ -18,7 +18,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabreauto" @@ -40,5 +40,5 @@ BR2_TARGET_UBOOT_BOARDNAME="mx6qsabreauto" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6qsabresd_defconfig b/configs/freescale_imx6qsabresd_defconfig index 19d71733002..f2ac993da0e 100644 --- a/configs/freescale_imx6qsabresd_defconfig +++ b/configs/freescale_imx6qsabresd_defconfig @@ -8,8 +8,8 @@ BR2_ARM_FPU_VFPV3=y # patches BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -18,7 +18,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd" @@ -40,5 +40,5 @@ BR2_TARGET_UBOOT_BOARDNAME="mx6qsabresd" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6sxsabresd_defconfig b/configs/freescale_imx6sxsabresd_defconfig index 1628d7c5a56..9f48ef2da5f 100644 --- a/configs/freescale_imx6sxsabresd_defconfig +++ b/configs/freescale_imx6sxsabresd_defconfig @@ -8,8 +8,8 @@ BR2_ARM_FPU_VFPV3=y # patches BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -18,7 +18,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-sdb" @@ -38,6 +38,6 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sxsabresd" BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6ullevk_defconfig b/configs/freescale_imx6ullevk_defconfig index 88d095d4005..4c5c3b25246 100644 --- a/configs/freescale_imx6ullevk_defconfig +++ b/configs/freescale_imx6ullevk_defconfig @@ -1,12 +1,12 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ull-14x14-evk" @@ -17,7 +17,7 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk" BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/freescale_imx7dsabresd_defconfig b/configs/freescale_imx7dsabresd_defconfig index a8b1df19ff1..5a9cff488d1 100644 --- a/configs/freescale_imx7dsabresd_defconfig +++ b/configs/freescale_imx7dsabresd_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a7=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -12,7 +12,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-sdb" @@ -27,7 +27,7 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx7dsabresd" BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx8mmevk_defconfig b/configs/freescale_imx8mmevk_defconfig index 13117189e53..ae82f291587 100644 --- a/configs/freescale_imx8mmevk_defconfig +++ b/configs/freescale_imx8mmevk_defconfig @@ -1,13 +1,13 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV3=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mm-evk.dtb" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-evk freescale/imx8mm-evk-revb-qca-wifi" @@ -21,14 +21,14 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mm_evk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/freescale_imx8mnevk_defconfig b/configs/freescale_imx8mnevk_defconfig index 192f5d297ec..b24eb1566b9 100644 --- a/configs/freescale_imx8mnevk_defconfig +++ b/configs/freescale_imx8mnevk_defconfig @@ -1,13 +1,13 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV3=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mn-ddr4-evk.dtb" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-ddr4-evk" @@ -22,14 +22,14 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_ddr4_evk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/freescale_imx8mpevk_defconfig b/configs/freescale_imx8mpevk_defconfig new file mode 100644 index 00000000000..8d0e6e0f3ed --- /dev/null +++ b/configs/freescale_imx8mpevk_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mp-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mp_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8mqevk_defconfig b/configs/freescale_imx8mqevk_defconfig index d5d22dcf2b4..7f5dd87b5fa 100644 --- a/configs/freescale_imx8mqevk_defconfig +++ b/configs/freescale_imx8mqevk_defconfig @@ -1,13 +1,13 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV3=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-evk.dtb" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-evk" @@ -21,14 +21,14 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/freescale_imx8qmmek_defconfig b/configs/freescale_imx8qmmek_defconfig index 0342c0a206b..8a0e866cee4 100644 --- a/configs/freescale_imx8qmmek_defconfig +++ b/configs/freescale_imx8qmmek_defconfig @@ -1,12 +1,12 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8qm-mek.dtb" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8qm-mek" @@ -22,14 +22,14 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8qm" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8qm_mek" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/freescale_imx8qxpmek_defconfig b/configs/freescale_imx8qxpmek_defconfig index e37a7553ad8..1ffbd123e08 100644 --- a/configs/freescale_imx8qxpmek_defconfig +++ b/configs/freescale_imx8qxpmek_defconfig @@ -1,14 +1,14 @@ BR2_aarch64=y BR2_cortex_a35=y BR2_ARM_FPU_VFPV3=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8qxp-mek.dtb" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8qxp-mek" @@ -24,14 +24,14 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8qx" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.70_2.3.0" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8qxp_mek" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/friendlyarm_nanopi_r2s_defconfig b/configs/friendlyarm_nanopi_r2s_defconfig new file mode 100644 index 00000000000..ce252a5d76c --- /dev/null +++ b/configs/friendlyarm_nanopi_r2s_defconfig @@ -0,0 +1,41 @@ +BR2_aarch64=y +BR2_cortex_a53=y +BR2_ARM_FPU_VFPV4=y +BR2_TARGET_GENERIC_HOSTNAME="rk3328-nanopi-r2s" +BR2_TARGET_GENERIC_ISSUE="Welcome to Nanopi R2S RK3328" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-r2s/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-r2s/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3328-nanopi-r2s" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3328" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi-r2s-rk3328" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig index 03ca23f4142..a8fd0a6dcc1 100644 --- a/configs/galileo_defconfig +++ b/configs/galileo_defconfig @@ -1,4 +1,5 @@ BR2_x86_x1000=y +BR2_GLOBAL_PATCH_DIR=board/intel/galileo/patches # Needed for TARGET_GRUB2 BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # Linux headers same as kernel, a 3.14 series diff --git a/configs/globalscale_espressobin_defconfig b/configs/globalscale_espressobin_defconfig index 50cfc6b530a..8d44b25ae78 100644 --- a/configs/globalscale_espressobin_defconfig +++ b/configs/globalscale_espressobin_defconfig @@ -2,17 +2,17 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -# Linux headers same as kernel, a 5.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.1" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/globalscale/espressobin/linux-extras.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-3720-espressobin marvell/armada-3720-espressobin-emmc marvell/armada-3720-espressobin-v7 marvell/armada-3720-espressobin-v7-emmc" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-3720-espressobin marvell/armada-3720-espressobin-emmc marvell/armada-3720-espressobin-v7 marvell/armada-3720-espressobin-v7-emmc marvell/armada-3720-espressobin-ultra" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/grinn_chiliboard_defconfig b/configs/grinn_chiliboard_defconfig index 5b05ed44d6c..80f3077b763 100644 --- a/configs/grinn_chiliboard_defconfig +++ b/configs/grinn_chiliboard_defconfig @@ -1,12 +1,12 @@ BR2_arm=y BR2_cortex_a8=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/grinn/chiliboard/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.26" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.14" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-chiliboard" @@ -16,7 +16,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="chiliboard" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/grinn_liteboard_defconfig b/configs/grinn_liteboard_defconfig index 8bec2e1d546..9cad66e15a7 100644 --- a/configs/grinn_liteboard_defconfig +++ b/configs/grinn_liteboard_defconfig @@ -1,12 +1,12 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/grinn/liteboard/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.14" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-liteboard" @@ -16,8 +16,9 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="liteboard" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" diff --git a/configs/imx23evk_defconfig b/configs/imx23evk_defconfig index b5bfc849b43..94d159cf9e5 100644 --- a/configs/imx23evk_defconfig +++ b/configs/imx23evk_defconfig @@ -20,7 +20,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-evk" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx23evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_FORMAT_SD=y # Filesystem diff --git a/configs/imx6-sabreauto_defconfig b/configs/imx6-sabreauto_defconfig index a77b57e4f93..24b3fd387f9 100644 --- a/configs/imx6-sabreauto_defconfig +++ b/configs/imx6-sabreauto_defconfig @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 5.3 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" @@ -24,16 +24,17 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sabreauto" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_NEEDS_LZOP=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.1" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabreauto imx6dl-sabreauto imx6qp-sabreauto" diff --git a/configs/imx6-sabresd_defconfig b/configs/imx6-sabresd_defconfig index c0dce1ce621..19986f2cbb5 100644 --- a/configs/imx6-sabresd_defconfig +++ b/configs/imx6-sabresd_defconfig @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -24,15 +24,16 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sabresd" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.12" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd imx6dl-sabresd imx6qp-sabresd" diff --git a/configs/imx6-sabresd_qt5_defconfig b/configs/imx6-sabresd_qt5_defconfig index b23dd90192d..38a86131dda 100644 --- a/configs/imx6-sabresd_qt5_defconfig +++ b/configs/imx6-sabresd_qt5_defconfig @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Additional features needed for packages BR2_TOOLCHAIN_BUILDROOT_WCHAR=y @@ -30,15 +30,16 @@ BR2_ROOTFS_OVERLAY="board/freescale/imx6-sabresd/rootfs_overlay" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sabresd" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.12" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd imx6dl-sabresd imx6qp-sabresd" @@ -48,7 +49,6 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # GL driver BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y -BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y diff --git a/configs/imx6slevk_defconfig b/configs/imx6slevk_defconfig index 90a02964e7d..9448267e2b2 100644 --- a/configs/imx6slevk_defconfig +++ b/configs/imx6slevk_defconfig @@ -3,19 +3,20 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6slevk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.11" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-evk" diff --git a/configs/imx6sx-sdb_defconfig b/configs/imx6sx-sdb_defconfig index a87bdf84f66..c36520a165d 100644 --- a/configs/imx6sx-sdb_defconfig +++ b/configs/imx6sx-sdb_defconfig @@ -3,19 +3,20 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sxsabresd" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.11" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-sdb imx6sx-sdb-reva" diff --git a/configs/imx6ulevk_defconfig b/configs/imx6ulevk_defconfig index 53381d71a7c..22b5a45480b 100644 --- a/configs/imx6ulevk_defconfig +++ b/configs/imx6ulevk_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -12,7 +12,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.11" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-14x14-evk" @@ -22,7 +22,8 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6ul_14x14_evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" diff --git a/configs/imx6ullevk_defconfig b/configs/imx6ullevk_defconfig index 81db66268a2..c6e2981697f 100644 --- a/configs/imx6ullevk_defconfig +++ b/configs/imx6ullevk_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.7 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -12,7 +12,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.14" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ull-14x14-evk" @@ -22,9 +22,10 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/imx6ulpico_defconfig b/configs/imx6ulpico_defconfig index 56ae5887527..e406d9938bd 100644 --- a/configs/imx6ulpico_defconfig +++ b/configs/imx6ulpico_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.17 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc5" @@ -15,11 +15,12 @@ BR2_ROOTFS_OVERLAY="board/technexion/imx6ulpico/rootfs_overlay" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.11" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-pico-hobbit" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-pico-pi imx6ul-pico-hobbit imx6ul-pico-dwarf" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y # wifi firmware for brcm4339 BR2_PACKAGE_LINUX_FIRMWARE=y @@ -35,10 +36,13 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y # bootloader BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_TARGET_UBOOT_BOARDNAME="pico-imx6ul" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" -BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y # required tools to create the eMMC image BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/imx7d-sdb_defconfig b/configs/imx7d-sdb_defconfig index 1a3494b4af4..8ee5e1fc401 100644 --- a/configs/imx7d-sdb_defconfig +++ b/configs/imx7d-sdb_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.13 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -12,20 +12,22 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.13" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-sdb" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y # U-Boot BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx7dsabresd" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.07" BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y # Filesystem +BR2_ROOTFS_OVERLAY="board/freescale/imx7dsdb/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/imx7dpico_defconfig b/configs/imx7dpico_defconfig index a3c2af16415..c6ea04b6836 100644 --- a/configs/imx7dpico_defconfig +++ b/configs/imx7dpico_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.7 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y +# Linux headers same as kernel, a 5.13 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc4" @@ -12,7 +12,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc4" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.13" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-pico-pi" @@ -25,7 +25,7 @@ BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_TARGET_UBOOT_BOARDNAME="pico-pi-imx7d" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.07" BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y # wifi firmware for brcm43439 diff --git a/configs/kontron_bl_imx8mm_defconfig b/configs/kontron_bl_imx8mm_defconfig new file mode 100644 index 00000000000..2b7e121e252 --- /dev/null +++ b/configs/kontron_bl_imx8mm_defconfig @@ -0,0 +1,60 @@ +# Architecture +BR2_aarch64=y +BR2_cortex_a53=y +BR2_ARM_FPU_VFPV3=y + +BR2_GLOBAL_PATCH_DIR="board/kontron/bl-imx8mm/patches" + +# System +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-kontron-n801x-s" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y + +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y +BR2_PACKAGE_FIRMWARE_IMX=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + +# Bootloader +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.6" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="IMX_BOOT_UART_BASE=0x30880000" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="kontron-sl-mx8mm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y + +# Required host tools to create the SD/eMMC image +BR2_ROOTFS_POST_BUILD_SCRIPT="board/kontron/bl-imx8mm/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/kontron_pitx_imx8m_defconfig b/configs/kontron_pitx_imx8m_defconfig new file mode 100644 index 00000000000..8f756f52461 --- /dev/null +++ b/configs/kontron_pitx_imx8m_defconfig @@ -0,0 +1,52 @@ +# Architecture +BR2_aarch64=y + +# System +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/kontron/pitx-imx8m/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/kontron/pitx-imx8m/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/pitx-imx8mq.dtb" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-kontron-pitx-imx8m" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y + +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y +BR2_PACKAGE_FIRMWARE_IMX=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + +# Bootloader +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://gitlab.kontron.com/imx/u-boot-imx/-/archive/PITX-IMX8M-R12/u-boot-imx-PITX-IMX8M-R12.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pitx-imx8m" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y + +# Required host tools to create the SD/eMMC image +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/kontron_smarc_sal28_defconfig b/configs/kontron_smarc_sal28_defconfig index 4a72bf3ec15..37e415cf32d 100644 --- a/configs/kontron_smarc_sal28_defconfig +++ b/configs/kontron_smarc_sal28_defconfig @@ -1,6 +1,6 @@ BR2_aarch64=y BR2_cortex_a72=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/kontron/smarc-sal28/rootfs_overlay" @@ -9,7 +9,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-kontron-sl28 freescale/fsl-ls1028a-kontron-sl28-var2 freescale/fsl-ls1028a-kontron-sl28-var3-ads2 freescale/fsl-ls1028a-kontron-sl28-var4 freescale/fsl-ls1028a-kontron-kbox-a-230-ls" diff --git a/configs/lego_ev3_defconfig b/configs/lego_ev3_defconfig index b4a10000360..555a63e36c7 100644 --- a/configs/lego_ev3_defconfig +++ b/configs/lego_ev3_defconfig @@ -43,7 +43,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="legoev3" # host diff --git a/configs/microchip_sam9x60ek_mmc_defconfig b/configs/microchip_sam9x60ek_mmc_defconfig index b389320e421..7a1a699d2e4 100644 --- a/configs/microchip_sam9x60ek_mmc_defconfig +++ b/configs/microchip_sam9x60ek_mmc_defconfig @@ -1,11 +1,11 @@ BR2_arm=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_HOSTNAME="sam9x60ek" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sam9x60ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam-2020.04)/linux-linux4sam-2020.04.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sam9x60ek" @@ -14,7 +14,7 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.10.0)/at91bootstrap-v3.10.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sam9x60eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/microchip_sam9x60ek_mmc_dev_defconfig b/configs/microchip_sam9x60ek_mmc_dev_defconfig index 6c3fcc6b3f2..06e03967c45 100644 --- a/configs/microchip_sam9x60ek_mmc_dev_defconfig +++ b/configs/microchip_sam9x60ek_mmc_dev_defconfig @@ -1,11 +1,15 @@ BR2_arm=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_PTHREAD_DEBUG=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="sam9x60ek" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sam9x60ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam-2020.04)/linux-linux4sam-2020.04.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sam9x60ek" @@ -62,9 +66,10 @@ BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.10.0)/at91bootstrap-v3.10.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sam9x60eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig index 3bba4f6e3aa..024e8a1465d 100644 --- a/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig +++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig @@ -3,12 +3,12 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_wlsom1_ek" @@ -17,7 +17,7 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d27_wlsom1_eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig index 031a533bc9e..3bcd5f0200d 100644 --- a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig +++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig @@ -3,7 +3,7 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y BR2_PTHREAD_DEBUG=y BR2_TOOLCHAIN_BUILDROOT_CXX=y @@ -12,7 +12,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_wlsom1_ek" @@ -72,7 +72,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v3.9.0)/at91bootstrap-v3.9.0.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d27_wlsom1_eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/configs/microchip_sama5d2_icp_mmc_defconfig b/configs/microchip_sama5d2_icp_mmc_defconfig new file mode 100644 index 00000000000..27ea4970f18 --- /dev/null +++ b/configs/microchip_sama5d2_icp_mmc_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama5d2_icp/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_icp" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_icpsd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.10)/u-boot-at91-linux4sam-2020.10.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_icp_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama5d2_icp_mmc_dev_defconfig b/configs/microchip_sama5d2_icp_mmc_dev_defconfig new file mode 100644 index 00000000000..27d1d3409d9 --- /dev/null +++ b/configs/microchip_sama5d2_icp_mmc_dev_defconfig @@ -0,0 +1,74 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_PTHREAD_DEBUG=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama5d2_icp/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_icp" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_TOOLS_IIO=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_SETSERIAL=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_LIBSYSFS=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_ARGP_STANDALONE=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_MII_DIAG=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_HTOP=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_icpsd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.10)/u-boot-at91-linux4sam-2020.10.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_icp_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama7g5ek_mmc_defconfig b/configs/microchip_sama7g5ek_mmc_defconfig new file mode 100644 index 00000000000..7ab81d1dd00 --- /dev/null +++ b/configs/microchip_sama7g5ek_mmc_defconfig @@ -0,0 +1,29 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama7g5ek/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.21" +BR2_LINUX_KERNEL_DEFCONFIG="sama7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama7g5ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama7g5eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2021.04)/u-boot-at91-linux4sam-2021.04.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama7g5ek_mmc1" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama7g5ek_mmc_dev_defconfig b/configs/microchip_sama7g5ek_mmc_dev_defconfig new file mode 100644 index 00000000000..6eb6c282e03 --- /dev/null +++ b/configs/microchip_sama7g5ek_mmc_dev_defconfig @@ -0,0 +1,74 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_PTHREAD_DEBUG=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama7g5ek/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.21" +BR2_LINUX_KERNEL_DEFCONFIG="sama7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama7g5ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_TOOLS_IIO=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_RNG_TOOLS=y +# BR2_PACKAGE_RNG_TOOLS_JITTERENTROPY_LIBRARY is not set +BR2_PACKAGE_SETSERIAL=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_LIBSYSFS=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_ARGP_STANDALONE=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_MII_DIAG=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_HTOP=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama7g5eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2021.04)/u-boot-at91-linux4sam-2021.04.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama7g5ek_mmc1" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/minnowboard_max-graphical_defconfig b/configs/minnowboard_max-graphical_defconfig index 3b769ca6e73..051c7584dc2 100644 --- a/configs/minnowboard_max-graphical_defconfig +++ b/configs/minnowboard_max-graphical_defconfig @@ -40,7 +40,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GLMARK2=y BR2_PACKAGE_MESA3D_DEMOS=y BR2_PACKAGE_MESA3D=y -BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y BR2_PACKAGE_MESA3D_OPENGL_GLX=y diff --git a/configs/mx6cubox_defconfig b/configs/mx6cubox_defconfig index 5ed28e53c09..6ea4f6e416f 100644 --- a/configs/mx6cubox_defconfig +++ b/configs/mx6cubox_defconfig @@ -6,18 +6,18 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y # Toolchain -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # System configuration BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/mx6cubox/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/solidrun/mx6cubox/post-image.sh" +BR2_ROOTFS_OVERLAY="board/solidrun/mx6cubox/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.69" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.13" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-cubox-i imx6dl-cubox-i-emmc-som-v15 imx6dl-cubox-i-som-v15 imx6dl-hummingboard imx6dl-hummingboard-emmc-som-v15 imx6dl-hummingboard-som-v15 imx6q-cubox-i imx6q-cubox-i-emmc-som-v15 imx6q-cubox-i-som-v15 imx6q-hummingboard imx6q-hummingboard-emmc-som-v15 imx6q-hummingboard-som-v15" @@ -32,13 +32,14 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mx6cuboxi" BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/mx6sx_udoo_neo_defconfig b/configs/mx6sx_udoo_neo_defconfig index 2bdcade2529..793d992ce7a 100644 --- a/configs/mx6sx_udoo_neo_defconfig +++ b/configs/mx6sx_udoo_neo_defconfig @@ -3,8 +3,8 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 5.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/udoo/common/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y @@ -12,13 +12,14 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="udoo_neo" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.13" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-udoo-neo-basic imx6sx-udoo-neo-full imx6sx-udoo-neo-extended" diff --git a/configs/mx6udoo_defconfig b/configs/mx6udoo_defconfig index 60436e8616c..5092ef0fd14 100644 --- a/configs/mx6udoo_defconfig +++ b/configs/mx6udoo_defconfig @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y BR2_GLOBAL_PATCH_DIR="board/udoo/mx6qdl/patches" -# Linux headers same as kernel, a 5.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" BR2_ROOTFS_POST_BUILD_SCRIPT="board/udoo/common/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" @@ -20,7 +20,7 @@ BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.84" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-udoo imx6dl-udoo" diff --git a/configs/nezha_defconfig b/configs/nezha_defconfig new file mode 100644 index 00000000000..2d66d6cb4a8 --- /dev/null +++ b/configs/nezha_defconfig @@ -0,0 +1,36 @@ +BR2_riscv=y +BR2_GLOBAL_PATCH_DIR="board/nezha/patches" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +BR2_ROOTFS_OVERLAY="board/nezha/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/nezha/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,linux,012f5a3d01be6d44e32c74bb3637ec281790b297)/linux-012f5a3d01be6d44e32c74bb3637ec281790b297.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="nezha" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun20i-d1-nezha" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_TARBALL=y +BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,opensbi,b9125c6f8909d1cc0417795737fc13cb6297ff11)/opensbi-b9125c6f8909d1cc0417795737fc13cb6297ff11.tar.gz" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_SUN20I_D1_SPL=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,62392d3b8a624a80646c1876533336f90140088d)/uboot-62392d3b8a624a80646c1876533336f90140088d.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nezha" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.toc1" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/nitrogen6sx_defconfig b/configs/nitrogen6sx_defconfig index 8f1f7d7f67c..3c2fe0cc7b0 100644 --- a/configs/nitrogen6sx_defconfig +++ b/configs/nitrogen6sx_defconfig @@ -17,15 +17,15 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -# Last version of branch boundary-v2020.10 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/e27d3240.tar.gz" +# Latest revision of branch boundary-imx_v2020.10 +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/f2c92d83.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6sx" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y @@ -35,8 +35,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/bo # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Last version of branch boundary-imx_5.4.x_2.2.0 -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/388bebee.tar.gz" +# Latest revision of branch boundary-imx_5.10.x_2.0.0 +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/950d5f1b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/nitrogen6x_defconfig b/configs/nitrogen6x_defconfig index b3b69fd34ba..9e1d3ae1bc1 100644 --- a/configs/nitrogen6x_defconfig +++ b/configs/nitrogen6x_defconfig @@ -16,15 +16,15 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -# Last version of branch boundary-v2020.10 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/e27d3240.tar.gz" +# Latest revision of branch boundary-imx_v2020.10 +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/f2c92d83.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6q" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y @@ -34,8 +34,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/bo # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Last version of branch boundary-imx_5.4.x_2.2.0 -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/388bebee.tar.gz" +# Latest revision of branch boundary-imx_5.10.x_2.0.0 +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/950d5f1b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/nitrogen7_defconfig b/configs/nitrogen7_defconfig index 156089ba395..0dbced86e91 100644 --- a/configs/nitrogen7_defconfig +++ b/configs/nitrogen7_defconfig @@ -16,15 +16,15 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -# Last version of branch boundary-v2020.10 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/e27d3240.tar.gz" +# Latest revision of branch boundary-imx_v2020.10 +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/f2c92d83.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen7" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y @@ -34,8 +34,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/bo # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Last version of branch boundary-imx_5.4.x_2.2.0 -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/388bebee.tar.gz" +# Latest revision of branch boundary-imx_5.10.x_2.0.0 +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/950d5f1b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/nitrogen8m_defconfig b/configs/nitrogen8m_defconfig index 0aa913aa54c..a41e5f04d8b 100644 --- a/configs/nitrogen8m_defconfig +++ b/configs/nitrogen8m_defconfig @@ -17,8 +17,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # DDR training binaries BR2_PACKAGE_FREESCALE_IMX=y @@ -28,8 +28,8 @@ BR2_PACKAGE_FIRMWARE_IMX=y # ARM Trusted Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.4.47_2.2.0 -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/515fb041.tar.gz" +# Latest revision of branch boundary-imx_5.4.70_2.3.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/9f6114fd.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -39,7 +39,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8m" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-imx_v2020.10 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/e27d3240.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/f2c92d83.tar.gz" BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_NEEDS_DTC=y @@ -49,8 +49,8 @@ BR2_TARGET_UBOOT_SPL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.4.x_2.2.0 -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/388bebee.tar.gz" +# Latest revision of branch boundary-imx_5.10.x_2.0.0 +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/950d5f1b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/nitrogen8mm_defconfig b/configs/nitrogen8mm_defconfig index 1767490d8bb..a635f8012be 100644 --- a/configs/nitrogen8mm_defconfig +++ b/configs/nitrogen8mm_defconfig @@ -17,8 +17,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # DDR training binaries BR2_PACKAGE_FREESCALE_IMX=y @@ -28,8 +28,8 @@ BR2_PACKAGE_FIRMWARE_IMX=y # ARM Trusted Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.4.47_2.2.0 -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/515fb041.tar.gz" +# Latest revision of branch boundary-imx_5.4.70_2.3.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/9f6114fd.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -39,7 +39,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8mm_2g" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-imx_v2020.10 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/e27d3240.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/f2c92d83.tar.gz" BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_NEEDS_DTC=y @@ -49,8 +49,8 @@ BR2_TARGET_UBOOT_SPL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.4.x_2.2.0 -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/388bebee.tar.gz" +# Latest revision of branch boundary-imx_5.10.x_2.0.0 +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/950d5f1b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/nitrogen8mn_defconfig b/configs/nitrogen8mn_defconfig index cd5c4d928d0..5c2101441d6 100644 --- a/configs/nitrogen8mn_defconfig +++ b/configs/nitrogen8mn_defconfig @@ -17,8 +17,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # DDR training binaries BR2_PACKAGE_FREESCALE_IMX=y @@ -28,8 +28,8 @@ BR2_PACKAGE_FIRMWARE_IMX=y # ARM Trusted Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.4.47_2.2.0 -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/515fb041.tar.gz" +# Latest revision of branch boundary-imx_5.4.70_2.3.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/9f6114fd.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -39,7 +39,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8_nano_8mn1gr0" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-imx_v2020.10 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/e27d3240.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/f2c92d83.tar.gz" BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_NEEDS_DTC=y @@ -49,8 +49,8 @@ BR2_TARGET_UBOOT_SPL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.4.x_2.2.0 -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/388bebee.tar.gz" +# Latest revision of branch boundary-imx_5.10.x_2.0.0 +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/950d5f1b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/nitrogen8mp_defconfig b/configs/nitrogen8mp_defconfig new file mode 100644 index 00000000000..dc7427c856e --- /dev/null +++ b/configs/nitrogen8mp_defconfig @@ -0,0 +1,58 @@ +# Architecture +BR2_aarch64=y +BR2_cortex_a53=y + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/boundarydevices/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mp-nitrogen8mp.dtb" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y + +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +# DDR training binaries +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y +BR2_PACKAGE_FIRMWARE_IMX=y + +# ARM Trusted Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +# Latest revision of branch boundary-imx_5.4.70_2.3.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/9f6114fd.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8mp_2gr0" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +# Latest revision of branch boundary-imx_v2020.10 +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/f2c92d83.tar.gz" +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +# Latest revision of branch boundary-imx_5.10.x_2.0.0 +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/950d5f1b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="boundary" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-nitrogen8mp freescale/imx8mp-nitrogen8mp-m4 freescale/imx8mp-nitrogen8mp-enc freescale/imx8mp-nitrogen8mp-enc-tc358743" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/olimex_a10_olinuxino_lime_defconfig b/configs/olimex_a10_olinuxino_lime_defconfig index 0896a66ddaa..d0e00301f72 100644 --- a/configs/olimex_a10_olinuxino_lime_defconfig +++ b/configs/olimex_a10_olinuxino_lime_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a10-olinuxino" @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a10_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.26" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -33,10 +33,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A10-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" diff --git a/configs/olimex_a13_olinuxino_defconfig b/configs/olimex_a13_olinuxino_defconfig index df2a7223680..6d25d7d0a1a 100644 --- a/configs/olimex_a13_olinuxino_defconfig +++ b/configs/olimex_a13_olinuxino_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a13-olinuxino" @@ -15,9 +15,12 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A13-OLinuXino" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" @@ -25,7 +28,7 @@ BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/olimex_a20_olinuxino_lime2_defconfig b/configs/olimex_a20_olinuxino_lime2_defconfig index ca8a319e681..b46cf374330 100644 --- a/configs/olimex_a20_olinuxino_lime2_defconfig +++ b/configs/olimex_a20_olinuxino_lime2_defconfig @@ -2,12 +2,13 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_EABIHF=y +BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # Toolchain -# glibc is needed for sunxi-mali-mainline-package. +# glibc is needed for sunxi-mali-utgard package. BR2_TOOLCHAIN_BUILDROOT_GLIBC=y # System configuration @@ -15,24 +16,25 @@ BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino/post-build.sh" +BR2_ROOTFS_OVERLAY="board/olimex/a20_olinuxino/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.69" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/a20_olinuxino/linux-disable-lima.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime2" BR2_LINUX_KERNEL_INSTALL_TARGET=y # sunxi packages BR2_PACKAGE_SUNXI_TOOLS=y -BR2_PACKAGE_SUNXI_MALI_MAINLINE=y -BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER=y +BR2_PACKAGE_SUNXI_MALI_UTGARD=y +BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER=y # Filesystem BR2_TARGET_ROOTFS_EXT2=y @@ -43,17 +45,16 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime2" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot.cmd" # Additional tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olimex_a20_olinuxino_lime_defconfig b/configs/olimex_a20_olinuxino_lime_defconfig index 9de6de77f33..698137e46cc 100644 --- a/configs/olimex_a20_olinuxino_lime_defconfig +++ b/configs/olimex_a20_olinuxino_lime_defconfig @@ -2,12 +2,13 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_EABIHF=y +BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # Toolchain -# glibc is needed for sunxi-mali-mainline-package. +# glibc is needed for sunxi-mali-utgard package. BR2_TOOLCHAIN_BUILDROOT_GLIBC=y # System configuration @@ -15,24 +16,25 @@ BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino/post-build.sh" +BR2_ROOTFS_OVERLAY="board/olimex/a20_olinuxino/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.69" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/a20_olinuxino/linux-disable-lima.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime" BR2_LINUX_KERNEL_INSTALL_TARGET=y # sunxi packages BR2_PACKAGE_SUNXI_TOOLS=y -BR2_PACKAGE_SUNXI_MALI_MAINLINE=y -BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER=y +BR2_PACKAGE_SUNXI_MALI_UTGARD=y +BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER=y # Filesystem BR2_TARGET_ROOTFS_EXT2=y @@ -43,17 +45,16 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot.cmd" # Additional tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olimex_a20_olinuxino_micro_defconfig b/configs/olimex_a20_olinuxino_micro_defconfig index 4a2a8a4ba7a..1394c0b8b85 100644 --- a/configs/olimex_a20_olinuxino_micro_defconfig +++ b/configs/olimex_a20_olinuxino_micro_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-micro" @@ -33,9 +33,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino_MICRO" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/olimex_a33_olinuxino_defconfig b/configs/olimex_a33_olinuxino_defconfig index 7c691ab20d7..27924b9e929 100644 --- a/configs/olimex_a33_olinuxino_defconfig +++ b/configs/olimex_a33_olinuxino_defconfig @@ -1,9 +1,10 @@ # Architecture BR2_arm=y BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.0 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +# Linux headers same as kernel, a 5.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="A33-olinuxino" @@ -15,10 +16,12 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A33-OLinuXino" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" @@ -29,7 +32,7 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a33_olinuxino/boot # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/olimex_a64_olinuxino_defconfig b/configs/olimex_a64_olinuxino_defconfig index e35c6014bd3..53e8c2ece54 100644 --- a/configs/olimex_a64_olinuxino_defconfig +++ b/configs/olimex_a64_olinuxino_defconfig @@ -2,30 +2,30 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -# Linux headers same as kernel, a 5.0 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y # Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="a64-olinuxino" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a64-olinuxino/boot.cmd" @@ -33,7 +33,7 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a64-olinuxino/boot # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.7" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-olinuxino" diff --git a/configs/olimex_stmp157_olinuxino_lime_defconfig b/configs/olimex_stmp157_olinuxino_lime_defconfig new file mode 100644 index 00000000000..74e7f9ba67a --- /dev/null +++ b/configs/olimex_stmp157_olinuxino_lime_defconfig @@ -0,0 +1,47 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y + +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +# System configuration +BR2_TARGET_GENERIC_HOSTNAME="stmp1-olinuxino" +BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" +BR2_ROOTFS_OVERLAY="board/olimex/stmp1_olinuxino/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/stmp1_olinuxino/genimage.cfg" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/OLIMEX/linux-olimex.git" +# branch release-20210821-v5.10.60 +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="081be4c4c634cf9345b8bf59fe141a0236383ae4" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/olimex/stmp1_olinuxino/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp1xx-olinuxino-lime" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/OLIMEX/u-boot-olinuxino.git" +# release-20211130, based on 2021.04 +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="1c29714bc643c299e2ed4ba870be8d4538124144" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="STM32-OLinuXino-LIME" +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32" + +# Additional tools +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/openblocks_a6_defconfig b/configs/openblocks_a6_defconfig index c805ae9c618..2238c0940c5 100644 --- a/configs/openblocks_a6_defconfig +++ b/configs/openblocks_a6_defconfig @@ -17,7 +17,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.253" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v5" BR2_LINUX_KERNEL_APPENDED_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig index e75943c9868..e8348164567 100644 --- a/configs/orangepi_lite_defconfig +++ b/configs/orangepi_lite_defconfig @@ -1,12 +1,12 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Lite" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Lite" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.1" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-lite/linux-extras.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -22,18 +22,18 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_lite" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-lite/boot.cmd" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-lite/genimage.cfg" diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig index 20b78fe7c81..1a2772a307b 100644 --- a/configs/orangepi_one_defconfig +++ b/configs/orangepi_one_defconfig @@ -1,34 +1,35 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_One" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi One" BR2_SYSTEM_DHCP="eth0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-one" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_one" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-one/boot.cmd" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-one/genimage.cfg" diff --git a/configs/orangepi_pc_plus_defconfig b/configs/orangepi_pc_plus_defconfig index a42b380f604..c3ff8bc4170 100644 --- a/configs/orangepi_pc_plus_defconfig +++ b/configs/orangepi_pc_plus_defconfig @@ -2,13 +2,13 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC_Plus" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC Plus" BR2_SYSTEM_DHCP="eth0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc-plus" @@ -20,12 +20,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc_plus" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-pc-plus/boot.cmd" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig index b008523c84d..464e075e5c3 100644 --- a/configs/orangepi_zero_defconfig +++ b/configs/orangepi_zero_defconfig @@ -1,49 +1,58 @@ +# Architecture BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +# System BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero" +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_SYSTEM_DHCP="eth0" + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.16" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.fragment" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set + +# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero/boot.cmd" -BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" + +# Required tools to create the SD image BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y + +# Image +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-zero/genimage.cfg" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" -# wireless driver and firmware +# Wireless driver and firmware BR2_PACKAGE_XR819_XRADIO=y BR2_PACKAGE_ARMBIAN_FIRMWARE=y BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819=y -# wireless support +# Wireless support BR2_PACKAGE_IW=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WIRELESS_TOOLS_LIB=y @@ -51,5 +60,5 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y BR2_PACKAGE_WPA_SUPPLICANT_CLI=y -# spi flash support +# Spi flash support BR2_PACKAGE_MTD=y diff --git a/configs/orangepi_zero_plus2_defconfig b/configs/orangepi_zero_plus2_defconfig index aa4c5c94137..9d88b37ac94 100644 --- a/configs/orangepi_zero_plus2_defconfig +++ b/configs/orangepi_zero_plus2_defconfig @@ -2,32 +2,31 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay" # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y # Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero-plus2/boot.cmd" @@ -35,7 +34,7 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero-pl # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus2" @@ -58,6 +57,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_CLI=y BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero Plus2" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/pandaboard_defconfig b/configs/pandaboard_defconfig index 408bced9c08..376ecfe5044 100644 --- a/configs/pandaboard_defconfig +++ b/configs/pandaboard_defconfig @@ -1,32 +1,48 @@ +# Architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_ARM_FPU_VFPV3=y + +# Linux headers same as kernel, a 5.12 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y + +# System BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS2" BR2_SYSTEM_DHCP="eth0" + +# Image BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pandaboard/genimage.cfg" + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.62" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap4-panda-es omap4-panda omap4-panda-a4" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set + +# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="omap4_panda" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="MLO" + +# Required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/pc_x86_64_bios_defconfig b/configs/pc_x86_64_bios_defconfig index 1c1f7a3666f..df5988d75e2 100644 --- a/configs/pc_x86_64_bios_defconfig +++ b/configs/pc_x86_64_bios_defconfig @@ -13,6 +13,7 @@ BR2_PACKAGE_HOST_GENIMAGE=y # Bootloader BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_INSTALL_TOOLS=y # Filesystem / image BR2_TARGET_ROOTFS_EXT2=y @@ -23,13 +24,13 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" -# Linux headers same as kernel, a 4.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/pc_x86_64_efi_defconfig b/configs/pc_x86_64_efi_defconfig index 984fc8f92f9..18d2c477d5b 100644 --- a/configs/pc_x86_64_efi_defconfig +++ b/configs/pc_x86_64_efi_defconfig @@ -25,13 +25,13 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" -# Linux headers same as kernel, a 4.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/pcengines_apu2_defconfig b/configs/pcengines_apu2_defconfig index 68cebb8f6a9..a85808554c8 100644 --- a/configs/pcengines_apu2_defconfig +++ b/configs/pcengines_apu2_defconfig @@ -1,16 +1,28 @@ +# Architecture BR2_x86_64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y -BR2_TARGET_GENERIC_HOSTNAME="apu2" -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_SYSTEM_DHCP="eth0" + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pcengines/apu2/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y + +# Default hostname and TTY +BR2_TARGET_GENERIC_HOSTNAME="apu2" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Networking +BR2_SYSTEM_DHCP="eth0" + +# Rootfs BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_ISO9660=y BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="board/pcengines/apu2/isolinux.cfg" BR2_TARGET_ROOTFS_ISO9660_HYBRID=y # BR2_TARGET_ROOTFS_TAR is not set + +# Bootloader BR2_TARGET_SYSLINUX=y diff --git a/configs/qemu_aarch64_sbsa_defconfig b/configs/qemu_aarch64_sbsa_defconfig new file mode 100644 index 00000000000..2d6134e78cb --- /dev/null +++ b/configs/qemu_aarch64_sbsa_defconfig @@ -0,0 +1,53 @@ +# Architecture +BR2_aarch64=y +BR2_cortex_a57=y + +# Toolchain +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y + +# System +BR2_SYSTEM_DHCP="eth0" +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" + +# Image +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/aarch64-sbsa/assemble-flash-images support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/aarch64-sbsa/genimage.cfg" + +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# UEFI firmware +BR2_TARGET_EDK2=y +BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_ARM64_EFI=y + +# ARM Trusted Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.4" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y + +# Host tools for genimage +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_MTOOLS=y + +# host-qemu for gitlab testing +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_aarch64_virt_defconfig b/configs/qemu_aarch64_virt_defconfig index aa00ddf8311..03df0ad9e20 100644 --- a/configs/qemu_aarch64_virt_defconfig +++ b/configs/qemu_aarch64_virt_defconfig @@ -4,7 +4,6 @@ BR2_cortex_a53=y # System BR2_SYSTEM_DHCP="eth0" -BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" # Filesystem BR2_TARGET_ROOTFS_EXT2=y @@ -15,13 +14,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_arm_versatile_defconfig b/configs/qemu_arm_versatile_defconfig index 10dd9e52b4f..4f43273a821 100644 --- a/configs/qemu_arm_versatile_defconfig +++ b/configs/qemu_arm_versatile_defconfig @@ -14,15 +14,15 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux.config" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_DEFCONFIG="versatile" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-versatile/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="versatile-pb" diff --git a/configs/qemu_arm_versatile_nommu_defconfig b/configs/qemu_arm_versatile_nommu_defconfig index fa783f92998..0c49d1b67d7 100644 --- a/configs/qemu_arm_versatile_nommu_defconfig +++ b/configs/qemu_arm_versatile_nommu_defconfig @@ -25,15 +25,15 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-nommu.config" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_DEFCONFIG="versatile" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-versatile/linux-nommu.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="versatile-pb" diff --git a/configs/qemu_arm_vexpress_defconfig b/configs/qemu_arm_vexpress_defconfig index 20fdbb4062c..2c813456f40 100644 --- a/configs/qemu_arm_vexpress_defconfig +++ b/configs/qemu_arm_vexpress_defconfig @@ -19,13 +19,13 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Qemu >= 5.1 requires an SD card size to be a power of 2, e.g. 64 MiB. BR2_TARGET_ROOTFS_EXT2_SIZE="64M" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" diff --git a/configs/qemu_arm_vexpress_tz_defconfig b/configs/qemu_arm_vexpress_tz_defconfig index 3e37024debf..def11721ae2 100644 --- a/configs/qemu_arm_vexpress_tz_defconfig +++ b/configs/qemu_arm_vexpress_tz_defconfig @@ -13,25 +13,25 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y # Filesystem BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-vexpress-tz/linux.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca15_a7" # TF-A for booting OP-TEE secure and uboot/linux non secure BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.4" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BL32_RAM_LOCATION=tdram" @@ -43,6 +43,10 @@ BR2_PACKAGE_OPTEE_BENCHMARK=y BR2_PACKAGE_OPTEE_EXAMPLES=y BR2_PACKAGE_OPTEE_TEST=y +# Enable OpenSSL library for some optee-test tests +BR2_PACKAGE_OPENSSL=y +BR2_PACKAGE_LIBOPENSSL=y + # Image BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" @@ -51,7 +55,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/qemu/arm-vexpress-tz/u-boot.config" diff --git a/configs/qemu_csky610_virt_defconfig b/configs/qemu_csky610_virt_defconfig deleted file mode 100644 index e7d75f5f49b..00000000000 --- a/configs/qemu_csky610_virt_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -# Architecture -BR2_csky=y -BR2_ck610=y - -# System -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" - -# linux kernel header, the same version with linux kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.12" -BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/csky/linux-ck610.config.fragment" diff --git a/configs/qemu_csky807_virt_defconfig b/configs/qemu_csky807_virt_defconfig deleted file mode 100644 index df12450a55c..00000000000 --- a/configs/qemu_csky807_virt_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -# Architecture -BR2_csky=y -BR2_ck807=y - -# System -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" - -# linux kernel header, the same version with linux kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.12" -BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/csky/linux-ck807.config.fragment" diff --git a/configs/qemu_csky810_virt_defconfig b/configs/qemu_csky810_virt_defconfig deleted file mode 100644 index dd1fd329f50..00000000000 --- a/configs/qemu_csky810_virt_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -# Architecture -BR2_csky=y -BR2_ck810=y - -# System -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" - -# linux kernel header, the same version with linux kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.12" -BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/csky/linux-ck810.config.fragment" diff --git a/configs/qemu_csky860_virt_defconfig b/configs/qemu_csky860_virt_defconfig deleted file mode 100644 index 6edfba4e8ea..00000000000 --- a/configs/qemu_csky860_virt_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -# Architecture -BR2_csky=y -BR2_ck860=y - -# System -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" - -# linux kernel header, the same version with linux kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.12" -BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/csky/linux-ck860.config.fragment" diff --git a/configs/qemu_m68k_mcf5208_defconfig b/configs/qemu_m68k_mcf5208_defconfig index c45a775556d..0490b9e29e8 100644 --- a/configs/qemu_m68k_mcf5208_defconfig +++ b/configs/qemu_m68k_mcf5208_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-mcf5208/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_m68k_q800_defconfig b/configs/qemu_m68k_q800_defconfig index abd0560cb14..30d8982db3f 100644 --- a/configs/qemu_m68k_q800_defconfig +++ b/configs/qemu_m68k_q800_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-q800/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_microblazebe_mmu_defconfig b/configs/qemu_microblazebe_mmu_defconfig index 638c6629daa..7bd2ae53b82 100644 --- a/configs/qemu_microblazebe_mmu_defconfig +++ b/configs/qemu_microblazebe_mmu_defconfig @@ -14,13 +14,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazebe-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y diff --git a/configs/qemu_microblazeel_mmu_defconfig b/configs/qemu_microblazeel_mmu_defconfig index 6e62cc33048..cd8c5a3cb29 100644 --- a/configs/qemu_microblazeel_mmu_defconfig +++ b/configs/qemu_microblazeel_mmu_defconfig @@ -14,13 +14,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazeel-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y diff --git a/configs/qemu_mips32r2_malta_defconfig b/configs/qemu_mips32r2_malta_defconfig index 434e3d95306..49d84c308b5 100644 --- a/configs/qemu_mips32r2_malta_defconfig +++ b/configs/qemu_mips32r2_malta_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips32r2el_malta_defconfig b/configs/qemu_mips32r2el_malta_defconfig index 2b8b2e8df16..5363018c47c 100644 --- a/configs/qemu_mips32r2el_malta_defconfig +++ b/configs/qemu_mips32r2el_malta_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips32r6_malta_defconfig b/configs/qemu_mips32r6_malta_defconfig index bf1306a2b22..f77feb9b6d4 100644 --- a/configs/qemu_mips32r6_malta_defconfig +++ b/configs/qemu_mips32r6_malta_defconfig @@ -13,17 +13,16 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y -BR2_GLOBAL_PATCH_DIR="board/qemu/mips32r6-malta/patches" # Serial port config BR2_TARGET_GENERIC_GETTY=y diff --git a/configs/qemu_mips32r6el_malta_defconfig b/configs/qemu_mips32r6el_malta_defconfig index 5edf591bcf6..575034441a6 100644 --- a/configs/qemu_mips32r6el_malta_defconfig +++ b/configs/qemu_mips32r6el_malta_defconfig @@ -13,17 +13,16 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y -BR2_GLOBAL_PATCH_DIR="board/qemu/mips32r6el-malta/patches" # Serial port config BR2_TARGET_GENERIC_GETTY=y diff --git a/configs/qemu_mips64_malta_defconfig b/configs/qemu_mips64_malta_defconfig index ec841b5a09c..e9438fda1e1 100644 --- a/configs/qemu_mips64_malta_defconfig +++ b/configs/qemu_mips64_malta_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips64el_malta_defconfig b/configs/qemu_mips64el_malta_defconfig index 680ccbbd608..4b1c8e22af7 100644 --- a/configs/qemu_mips64el_malta_defconfig +++ b/configs/qemu_mips64el_malta_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips64r6_malta_defconfig b/configs/qemu_mips64r6_malta_defconfig index 53c5c097889..87ef7902af8 100644 --- a/configs/qemu_mips64r6_malta_defconfig +++ b/configs/qemu_mips64r6_malta_defconfig @@ -14,17 +14,16 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y -BR2_GLOBAL_PATCH_DIR="board/qemu/mips64r6-malta/patches" # Serial port config BR2_TARGET_GENERIC_GETTY=y diff --git a/configs/qemu_mips64r6el_malta_defconfig b/configs/qemu_mips64r6el_malta_defconfig index 8230b1a9f97..5774207f65d 100644 --- a/configs/qemu_mips64r6el_malta_defconfig +++ b/configs/qemu_mips64r6el_malta_defconfig @@ -14,17 +14,16 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y -BR2_GLOBAL_PATCH_DIR="board/qemu/mips64r6el-malta/patches" # Serial port config BR2_TARGET_GENERIC_GETTY=y diff --git a/configs/qemu_nios2_10m50_defconfig b/configs/qemu_nios2_10m50_defconfig index d562e941b75..4b9c53e8deb 100644 --- a/configs/qemu_nios2_10m50_defconfig +++ b/configs/qemu_nios2_10m50_defconfig @@ -1,7 +1,7 @@ BR2_nios2=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="10m50" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/nios2-10m50/linux.fragment" BR2_TARGET_ROOTFS_INITRAMFS=y @@ -10,8 +10,8 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel needs mkimage BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/qemu_or1k_defconfig b/configs/qemu_or1k_defconfig index 21d86e22ce8..b3d9d791567 100644 --- a/configs/qemu_or1k_defconfig +++ b/configs/qemu_or1k_defconfig @@ -9,13 +9,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/or1k/linux.config" diff --git a/configs/qemu_ppc64_e5500_defconfig b/configs/qemu_ppc64_e5500_defconfig index dace0af8eeb..072240c99c3 100644 --- a/configs/qemu_ppc64_e5500_defconfig +++ b/configs/qemu_ppc64_e5500_defconfig @@ -2,7 +2,8 @@ BR2_powerpc64=y BR2_powerpc_e5500=y -# Serial port config +# System +BR2_SYSTEM_DHCP="eth0" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" # Image @@ -10,12 +11,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as the kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_ppc64_pseries_defconfig b/configs/qemu_ppc64_pseries_defconfig index 4ce116e26af..ad523ec2efe 100644 --- a/configs/qemu_ppc64_pseries_defconfig +++ b/configs/qemu_ppc64_pseries_defconfig @@ -14,13 +14,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="pseries" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc64le_powernv8_defconfig b/configs/qemu_ppc64le_powernv8_defconfig new file mode 100644 index 00000000000..a784695ddf0 --- /dev/null +++ b/configs/qemu_ppc64le_powernv8_defconfig @@ -0,0 +1,29 @@ +# Architecture +BR2_powerpc64le=y +BR2_powerpc_power8=y + +# System +BR2_TARGET_GENERIC_GETTY_PORT="hvc0" +BR2_SYSTEM_DHCP="eth0" + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Image +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" + +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_DEFCONFIG="powernv" +BR2_LINUX_KERNEL_VMLINUX=y + +# host-qemu for gitlab testing +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc64le_pseries_defconfig b/configs/qemu_ppc64le_pseries_defconfig index 3be9de74a63..f10b0fdf408 100644 --- a/configs/qemu_ppc64le_pseries_defconfig +++ b/configs/qemu_ppc64le_pseries_defconfig @@ -14,13 +14,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="pseries_le" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc_bamboo_defconfig b/configs/qemu_ppc_bamboo_defconfig new file mode 100644 index 00000000000..6129c4a6633 --- /dev/null +++ b/configs/qemu_ppc_bamboo_defconfig @@ -0,0 +1,36 @@ +# Architecture +BR2_powerpc=y +BR2_powerpc_440fp=y + +# System +BR2_SYSTEM_DHCP="eth0" + +# Filesystem +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ROOTFS_INITRAMFS=y + +# Image +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" + +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_DEFCONFIG="44x/bamboo" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-bamboo/linux.fragment" +BR2_LINUX_KERNEL_VMLINUX=y + +# Serial port config +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Kernel needs mkimage +BR2_PACKAGE_HOST_UBOOT_TOOLS=y + +# host-qemu for gitlab testing +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc_e500mc_defconfig b/configs/qemu_ppc_e500mc_defconfig new file mode 100644 index 00000000000..1853e538bb3 --- /dev/null +++ b/configs/qemu_ppc_e500mc_defconfig @@ -0,0 +1,30 @@ +# Architecture +BR2_powerpc=y +BR2_powerpc_e500mc=y + +# System +BR2_SYSTEM_DHCP="eth0" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Image +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" + +# Linux headers same as the kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_DEFCONFIG="corenet32_smp" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-e500mc/linux.fragment" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set + +# host-qemu for gitlab testing +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc_g3beige_defconfig b/configs/qemu_ppc_g3beige_defconfig index 6e41afe8d75..9bbebede1b9 100644 --- a/configs/qemu_ppc_g3beige_defconfig +++ b/configs/qemu_ppc_g3beige_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-g3beige/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc_mac99_defconfig b/configs/qemu_ppc_mac99_defconfig index a1e9c1a5a63..e9629ff2330 100644 --- a/configs/qemu_ppc_mac99_defconfig +++ b/configs/qemu_ppc_mac99_defconfig @@ -5,13 +5,13 @@ BR2_powerpc_7400=y # System BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="pmac32" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-mac99/linux.fragment" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc_mpc8544ds_defconfig b/configs/qemu_ppc_mpc8544ds_defconfig index 55e6db5a0d1..2b51573da9b 100644 --- a/configs/qemu_ppc_mpc8544ds_defconfig +++ b/configs/qemu_ppc_mpc8544ds_defconfig @@ -14,13 +14,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-mpc8544ds/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_riscv32_virt_defconfig b/configs/qemu_riscv32_virt_defconfig index 10420889885..dff87ef342f 100644 --- a/configs/qemu_riscv32_virt_defconfig +++ b/configs/qemu_riscv32_virt_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_DEFCONFIG="rv32" BR2_LINUX_KERNEL_IMAGE=y diff --git a/configs/qemu_riscv64_virt_defconfig b/configs/qemu_riscv64_virt_defconfig index 93d38b1ec23..d67d070185a 100644 --- a/configs/qemu_riscv64_virt_defconfig +++ b/configs/qemu_riscv64_virt_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_IMAGE=y diff --git a/configs/qemu_s390x_defconfig b/configs/qemu_s390x_defconfig index 9b3821f043c..346df04adab 100644 --- a/configs/qemu_s390x_defconfig +++ b/configs/qemu_s390x_defconfig @@ -11,13 +11,13 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_sh4_r2d_defconfig b/configs/qemu_sh4_r2d_defconfig index a14277dd050..0f12b7dfe9c 100644 --- a/configs/qemu_sh4_r2d_defconfig +++ b/configs/qemu_sh4_r2d_defconfig @@ -14,13 +14,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_sh4eb_r2d_defconfig b/configs/qemu_sh4eb_r2d_defconfig index 4911ba03539..d5ee371e79f 100644 --- a/configs/qemu_sh4eb_r2d_defconfig +++ b/configs/qemu_sh4eb_r2d_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4eb-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_sparc64_sun4u_defconfig b/configs/qemu_sparc64_sun4u_defconfig index cff0c2968ad..485b497e71a 100644 --- a/configs/qemu_sparc64_sun4u_defconfig +++ b/configs/qemu_sparc64_sun4u_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux.config" diff --git a/configs/qemu_sparc_ss10_defconfig b/configs/qemu_sparc_ss10_defconfig index 0181f168466..2ba04c08642 100644 --- a/configs/qemu_sparc_ss10_defconfig +++ b/configs/qemu_sparc_ss10_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc-ss10/linux.config" diff --git a/configs/qemu_x86_64_defconfig b/configs/qemu_x86_64_defconfig index 25e0d43f49c..cc505a85401 100644 --- a/configs/qemu_x86_64_defconfig +++ b/configs/qemu_x86_64_defconfig @@ -15,15 +15,16 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y # host-qemu for gitlab testing BR2_PACKAGE_HOST_QEMU=y diff --git a/configs/qemu_x86_defconfig b/configs/qemu_x86_defconfig index bcd325b7ec0..34b7e2d2926 100644 --- a/configs/qemu_x86_defconfig +++ b/configs/qemu_x86_defconfig @@ -16,13 +16,13 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux.config" diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig index 50c1c4ccf00..cb781060918 100644 --- a/configs/qemu_xtensa_lx60_defconfig +++ b/configs/qemu_xtensa_lx60_defconfig @@ -15,13 +15,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig index baf72da9b88..44fb81bd740 100644 --- a/configs/qemu_xtensa_lx60_nommu_defconfig +++ b/configs/qemu_xtensa_lx60_nommu_defconfig @@ -7,6 +7,9 @@ BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/ BR2_PACKAGE_HOST_ELF2FLT=y # BR2_USE_MMU is not set +# Use minimal busybox with hush and networking tools +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" + # System BR2_SYSTEM_DHCP="eth0" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" @@ -19,13 +22,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-nommu.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y diff --git a/configs/raspberrypi0_defconfig b/configs/raspberrypi0_defconfig index c06d6dfcb50..4506e94bce5 100644 --- a/configs/raspberrypi0_defconfig +++ b/configs/raspberrypi0_defconfig @@ -9,7 +9,7 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" # Build the DTBs for A/B from the kernel sources: the zero is the same @@ -20,6 +20,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi0/config_default.txt" # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set # Required tools to create the SD image diff --git a/configs/raspberrypi0w_defconfig b/configs/raspberrypi0w_defconfig index b54bb34ad9c..7a35794c2d7 100644 --- a/configs/raspberrypi0w_defconfig +++ b/configs/raspberrypi0w_defconfig @@ -9,13 +9,16 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero-w" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi0w/config_0w.txt" # Required tools to create the SD image BR2_PACKAGE_HOST_DOSFSTOOLS=y @@ -29,4 +32,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0w/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0w/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay" diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig index 5104422cb1a..9b484c5588e 100644 --- a/configs/raspberrypi2_defconfig +++ b/configs/raspberrypi2_defconfig @@ -12,7 +12,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -22,6 +22,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi/config_default.txt" # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set # Required tools to create the SD image diff --git a/configs/raspberrypi3_64_defconfig b/configs/raspberrypi3_64_defconfig index 65c1291e6a9..4d838ae0e89 100644 --- a/configs/raspberrypi3_64_defconfig +++ b/configs/raspberrypi3_64_defconfig @@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" # Build the DTB from the kernel sources @@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi- BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3-64/config_3_64bit.txt" # Required tools to create the SD image BR2_PACKAGE_HOST_DOSFSTOOLS=y @@ -34,4 +37,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--aarch64 --add-miniuart-bt-overlay" diff --git a/configs/raspberrypi3_defconfig b/configs/raspberrypi3_defconfig index 96eca54f0d4..0a59ab42a93 100644 --- a/configs/raspberrypi3_defconfig +++ b/configs/raspberrypi3_defconfig @@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-r BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3/config_3.txt" # Required tools to create the SD image BR2_PACKAGE_HOST_DOSFSTOOLS=y @@ -34,4 +37,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay" diff --git a/configs/raspberrypi3_qt5we_defconfig b/configs/raspberrypi3_qt5we_defconfig index 8015288acba..40d0c0f8889 100644 --- a/configs/raspberrypi3_qt5we_defconfig +++ b/configs/raspberrypi3_qt5we_defconfig @@ -12,7 +12,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -31,6 +31,9 @@ BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_QT5WEBENGINE=y BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3/config_3_qt5we.txt" BR2_PACKAGE_RPI_USERLAND=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_NTP=y @@ -48,4 +51,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="400M" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --gpu_mem_1024=200" diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig index 94ac5cf5ec8..5942f7c4e1a 100644 --- a/configs/raspberrypi4_64_defconfig +++ b/configs/raspberrypi4_64_defconfig @@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" # Build the DTB from the kernel sources @@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4-64/config_4_64bit.txt" # Required tools to create the SD image BR2_PACKAGE_HOST_DOSFSTOOLS=y @@ -35,4 +36,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64" diff --git a/configs/raspberrypi4_defconfig b/configs/raspberrypi4_defconfig index c2ed5e73c57..4e5580c140d 100644 --- a/configs/raspberrypi4_defconfig +++ b/configs/raspberrypi4_defconfig @@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" # Build the DTB from the kernel sources @@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4/config_4.txt" # Required tools to create the SD image BR2_PACKAGE_HOST_DOSFSTOOLS=y @@ -35,4 +36,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay" diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig index 2d3bb536bf6..cca53f9b378 100644 --- a/configs/raspberrypi_defconfig +++ b/configs/raspberrypi_defconfig @@ -11,7 +11,7 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" # Build the DTBs for A/B, A+/B+ and compute module from the kernel sources @@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-c BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi/config_default.txt" # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set # Required tools to create the SD image diff --git a/configs/raspberrypicm4io_64_defconfig b/configs/raspberrypicm4io_64_defconfig new file mode 100644 index 00000000000..29cb0472d72 --- /dev/null +++ b/configs/raspberrypicm4io_64_defconfig @@ -0,0 +1,41 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_ARM_FPU_VFPV4=y + +BR2_TOOLCHAIN_BUILDROOT_CXX=y + +BR2_SYSTEM_DHCP="eth0" + +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" + +# Build the DTB from the kernel sources +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-cm4" + +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm4io-64/config_cm4io_64bit.txt" + +# Required tools to create the SD image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# Required tool to flash CM4 eMMC memory +BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io-64/post-image.sh" diff --git a/configs/raspberrypicm4io_defconfig b/configs/raspberrypicm4io_defconfig new file mode 100644 index 00000000000..017aecc0dd0 --- /dev/null +++ b/configs/raspberrypicm4io_defconfig @@ -0,0 +1,41 @@ +BR2_arm=y +BR2_cortex_a72=y +BR2_ARM_FPU_NEON_VFPV4=y + +BR2_TOOLCHAIN_BUILDROOT_CXX=y + +BR2_SYSTEM_DHCP="eth0" + +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" + +# Build the DTB from the kernel sources +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-cm4" + +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm4io-64/config_cm4io.txt" + +# Required tools to create the SD image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# Required tool to flash CM4 eMMC memory +BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io/post-image.sh" diff --git a/configs/raspberrypizero2w_defconfig b/configs/raspberrypizero2w_defconfig new file mode 100644 index 00000000000..2ea503ca24d --- /dev/null +++ b/configs/raspberrypizero2w_defconfig @@ -0,0 +1,36 @@ +BR2_arm=y +BR2_cortex_a53=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +BR2_TOOLCHAIN_BUILDROOT_CXX=y + +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" + +# Build the DTB from the kernel sources +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-zero-2-w" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypizero2w/config_zero2w.txt" + +# MicroSD images generation tools +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypizero2w/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypizero2w/post-image.sh" diff --git a/configs/roc_pc_rk3399_defconfig b/configs/roc_pc_rk3399_defconfig index dfbc5e4f474..ae7cf19a804 100644 --- a/configs/roc_pc_rk3399_defconfig +++ b/configs/roc_pc_rk3399_defconfig @@ -45,7 +45,7 @@ BR2_TARGET_GENERIC_HOSTNAME="roc-rk3399-pc" BR2_TARGET_GENERIC_ISSUE="Welcome to ROC-RK3399-PC!" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/rock64_defconfig b/configs/rock64_defconfig index a9d29a424d1..2fae2298de9 100644 --- a/configs/rock64_defconfig +++ b/configs/rock64_defconfig @@ -7,7 +7,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/rock64/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.19" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.216" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3328-rock64" diff --git a/configs/roseapplepi_defconfig b/configs/roseapplepi_defconfig index 2af94d010b0..0f37d5dc0b4 100644 --- a/configs/roseapplepi_defconfig +++ b/configs/roseapplepi_defconfig @@ -3,15 +3,16 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_GLOBAL_PATCH_DIR="board/roseapplepi/patches" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 5.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/roseapplepi/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/roseapplepi/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/roseapplepi/linux.config" BR2_LINUX_KERNEL_UIMAGE=y @@ -20,7 +21,8 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="owl-s500-roseapplepi" # Filesystem / image -BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set # Bootloaders diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig index 052e39398af..7f186df22c0 100644 --- a/configs/sheevaplug_defconfig +++ b/configs/sheevaplug_defconfig @@ -3,6 +3,7 @@ BR2_arm=y BR2_arm926t=y # system +BR2_GLOBAL_PATCH_DIR="board/sheevaplug/patches" BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" @@ -26,7 +27,7 @@ BR2_TARGET_UBOOT_FORMAT_KWB=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.63" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.253" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v5" BR2_LINUX_KERNEL_APPENDED_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" diff --git a/configs/snps_aarch64_vdk_defconfig b/configs/snps_aarch64_vdk_defconfig deleted file mode 100644 index b55dce1ad60..00000000000 --- a/configs/snps_aarch64_vdk_defconfig +++ /dev/null @@ -1,12 +0,0 @@ -BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot" -BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-aarch64-defconfig" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/snps_arc700_axs101_defconfig b/configs/snps_arc700_axs101_defconfig index 080250e92bd..3a6bd5c0d33 100644 --- a/configs/snps_arc700_axs101_defconfig +++ b/configs/snps_arc700_axs101_defconfig @@ -8,13 +8,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" -# Linux headers same as kernel, a 5.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y +# Linux headers same as kernel, a 5.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_DEFCONFIG="axs101" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -22,6 +22,8 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs101" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/synopsys/axs10x/uboot-fragment.config" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/configs/snps_archs38_axs103_defconfig b/configs/snps_archs38_axs103_defconfig index c5847809baa..2002520d1bf 100644 --- a/configs/snps_archs38_axs103_defconfig +++ b/configs/snps_archs38_axs103_defconfig @@ -9,13 +9,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" -# Linux headers same as kernel, a 5.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y +# Linux headers same as kernel, a 5.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_DEFCONFIG="axs103_smp" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -23,6 +23,8 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs103" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/synopsys/axs10x/uboot-fragment.config" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/configs/snps_archs38_haps_defconfig b/configs/snps_archs38_haps_defconfig index a95d760df27..02e020bb47b 100644 --- a/configs/snps_archs38_haps_defconfig +++ b/configs/snps_archs38_haps_defconfig @@ -7,12 +7,12 @@ BR2_TARGET_GENERIC_HOSTNAME="zebu_hs" BR2_TARGET_GENERIC_ISSUE="Welcome to the HAPS Development Platform" BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 5.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y +# Linux headers same as kernel, a 5.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_DEFCONFIG="haps_hs_smp" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/snps_archs38_hsdk_defconfig b/configs/snps_archs38_hsdk_defconfig index 4a1ac3fcff5..413ca5098c1 100644 --- a/configs/snps_archs38_hsdk_defconfig +++ b/configs/snps_archs38_hsdk_defconfig @@ -1,7 +1,7 @@ BR2_arcle=y BR2_archs38_full=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y BR2_PACKAGE_GLIBC_UTILS=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_OPTIMIZATION="-mfpu=fpud_all" @@ -12,7 +12,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/synopsys/hsdk/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_DEFCONFIG="hsdk" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/synopsys/hsdk/linux.fragment" BR2_TARGET_ROOTFS_EXT2=y @@ -21,10 +21,11 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="hsdk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_ELF=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/snps_archs38_vdk_defconfig b/configs/snps_archs38_vdk_defconfig deleted file mode 100644 index 8d8e9f75599..00000000000 --- a/configs/snps_archs38_vdk_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -# Architecture -BR2_arcle=y -BR2_archs38=y - -# System -BR2_TARGET_GENERIC_HOSTNAME="archs38_vdk" -BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" -BR2_TARGET_ROOTFS_EXT2=y - -# Linux headers same as kernel, a 5.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.3" -BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38_smp" -BR2_LINUX_KERNEL_VMLINUX=y -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/spike_riscv64_defconfig b/configs/spike_riscv64_defconfig new file mode 100644 index 00000000000..cc145bcd8e3 --- /dev/null +++ b/configs/spike_riscv64_defconfig @@ -0,0 +1,13 @@ +BR2_riscv=y +BR2_RISCV_64=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.13" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_TARGET_ROOTFS_CPIO=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_TARGET_OPENSBI_LINUX_PAYLOAD=y +BR2_PACKAGE_HOST_RISCV_ISA_SIM=y diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig deleted file mode 100644 index 2c0641a6c55..00000000000 --- a/configs/stm32f429_disco_defconfig +++ /dev/null @@ -1,18 +0,0 @@ -BR2_arm=y -BR2_cortex_m4=y -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" -BR2_LINUX_KERNEL_DEFCONFIG="stm32" -BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y -BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f429-disco" -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_AFBOOT_STM32=y -BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f429_disco_xip_defconfig b/configs/stm32f429_disco_xip_defconfig new file mode 100644 index 00000000000..01b54c02cc8 --- /dev/null +++ b/configs/stm32f429_disco_xip_defconfig @@ -0,0 +1,21 @@ +BR2_arm=y +BR2_cortex_m4=y +BR2_KERNEL_HEADERS_5_15=y +# BR2_UCLIBC_INSTALL_UTILS is not set +BR2_GCC_ENABLE_LTO=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f429-disco/linux.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f429-disco" +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AFBOOT_STM32=y +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000 +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f469_disco_defconfig b/configs/stm32f469_disco_defconfig deleted file mode 100644 index 9760d518785..00000000000 --- a/configs/stm32f469_disco_defconfig +++ /dev/null @@ -1,19 +0,0 @@ -BR2_arm=y -BR2_cortex_m4=y -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" -BR2_LINUX_KERNEL_DEFCONFIG="stm32" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config" -BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y -BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_AFBOOT_STM32=y -BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f469_disco_sd_defconfig b/configs/stm32f469_disco_sd_defconfig new file mode 100644 index 00000000000..ea1361efc02 --- /dev/null +++ b/configs/stm32f469_disco_sd_defconfig @@ -0,0 +1,26 @@ +BR2_arm=y +BR2_cortex_m4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh board/stmicroelectronics/stm32f469-disco/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32f469-disco/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.12" +BR2_LINUX_KERNEL_DEFCONFIG="stm32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux-sd.fragment" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f469-discovery" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig new file mode 100644 index 00000000000..d95b7759f31 --- /dev/null +++ b/configs/stm32f469_disco_xip_defconfig @@ -0,0 +1,21 @@ +BR2_arm=y +BR2_cortex_m4=y +BR2_KERNEL_HEADERS_5_15=y +# BR2_UCLIBC_INSTALL_UTILS is not set +BR2_GCC_ENABLE_LTO=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.6" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f469-disco/linux-xip.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AFBOOT_STM32=y +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000 +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig index 6883aaba7b9..a487ce98914 100644 --- a/configs/stm32mp157a_dk1_defconfig +++ b/configs/stm32mp157a_dk1_defconfig @@ -1,23 +1,34 @@ +# Architecture BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8=y + +# Linux headers same as kernel, a 5.13 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y + +# System configuration BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp157a-dk1/overlay/" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp157/post-image.sh" + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32mp157a-dk1/linux.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157a-dk1" BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set + +# Bootloaders BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-dk1.dtb" BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" @@ -25,10 +36,12 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" -BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/stm32mp157a-dk1/uboot-fragment.config" # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157a-dk1" + +# Additional tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig index 50d875749b1..f1f7baaa080 100644 --- a/configs/stm32mp157c_dk2_defconfig +++ b/configs/stm32mp157c_dk2_defconfig @@ -1,23 +1,34 @@ +# Architecture BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8=y + +# Linux headers same as kernel, a 5.13 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y + +# System configuration BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp157c-dk2/overlay/" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp157/post-image.sh" + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32mp157c-dk2/linux.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157c-dk2" BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set + +# Bootloaders BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-dk2.dtb" BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" @@ -25,10 +36,12 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" -BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/stm32mp157c-dk2/uboot-fragment.config" # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-dk2" + +# Additional tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/stm32mp157c_odyssey_defconfig b/configs/stm32mp157c_odyssey_defconfig new file mode 100644 index 00000000000..6b699830b17 --- /dev/null +++ b/configs/stm32mp157c_odyssey_defconfig @@ -0,0 +1,34 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_GLOBAL_PATCH_DIR="board/seeed/stm32mp157c-odyssey/patches" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_ROOTFS_OVERLAY="board/seeed/stm32mp157c-odyssey/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/seeed/stm32mp157c-odyssey/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.1" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/seeed/stm32mp157c-odyssey/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157c-odyssey" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-odyssey.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" +BR2_TARGET_UBOOT_NEEDS_DTC=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-odyssey" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/terasic_de10nano_cyclone5_defconfig b/configs/terasic_de10nano_cyclone5_defconfig new file mode 100644 index 00000000000..8fb7cf664a6 --- /dev/null +++ b/configs/terasic_de10nano_cyclone5_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_NEON=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_11=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/terasic/de10nano_cyclone5/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/altera-opensource/linux-socfpga.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_socfpga-5.11_21.06.01_pr" +BR2_LINUX_KERNEL_DEFCONFIG="socfpga" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="socfpga_cyclone5_de0_nano_soc" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_BAREBOX=y +BR2_TARGET_BAREBOX_CUSTOM_VERSION=y +BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE="2021.07.0" +BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="socfpga" +BR2_TARGET_BAREBOX_IMAGE_FILE="images/barebox-socfpga-de10_nano.img" +BR2_TARGET_BAREBOX_CUSTOM_ENV=y +BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH="board/terasic/de10nano_cyclone5/barebox-env" +BR2_TARGET_BAREBOX_AUX=y +BR2_TARGET_BAREBOX_AUX_BOARD_DEFCONFIG="socfpga-xload-2" +BR2_TARGET_BAREBOX_AUX_IMAGE_FILE="images/barebox-socfpga-de10_nano-xload.img" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ts7680_defconfig b/configs/ts7680_defconfig index 7eb57ab1c57..e4f5c1aabdb 100644 --- a/configs/ts7680_defconfig +++ b/configs/ts7680_defconfig @@ -4,7 +4,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/technologic/ts7680/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,embeddedarm,linux-4.9.y,d03d426e6abd95a973bc669315206295713c17e8)/linux-d03d426e6abd95a973bc669315206295713c17e8.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,embeddedTS,linux-4.9.y,d03d426e6abd95a973bc669315206295713c17e8)/linux-d03d426e6abd95a973bc669315206295713c17e8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="ts_imx28" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" diff --git a/configs/uevm5432_defconfig b/configs/uevm5432_defconfig new file mode 100644 index 00000000000..7b9a4309c63 --- /dev/null +++ b/configs/uevm5432_defconfig @@ -0,0 +1,46 @@ +# Architecture +BR2_arm=y +BR2_cortex_a15=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, a 5.12 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y + +# System +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS2" +BR2_SYSTEM_DHCP="eth0" + +# Image +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/uevm5432/genimage.cfg" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2" +BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap5-uevm" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="omap5_uevm" +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="MLO" + +# Required tools to create the SD card image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index 8f9e30a1a99..0966719d486 100644 --- a/configs/wandboard_defconfig +++ b/configs/wandboard_defconfig @@ -1,32 +1,45 @@ +# Architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +# Linux headers same as kernel, a 5.13 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y + +# System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/wandboard/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/wandboard/genimage.cfg" + +# Image +BR2_ROOTFS_OVERLAY="board/wandboard/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" + +# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y + +# Bootloader BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="wandboard" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="wandboard" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.13" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-wandboard imx6dl-wandboard imx6q-wandboard-revb1 imx6dl-wandboard-revb1 imx6q-wandboard-revd1 imx6dl-wandboard-revd1 imx6qp-wandboard-revd1" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y -# required tools to create the SD card image + +# Required tools to create the SD image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index 5f9d973663d..04dfc94f7dd 100644 --- a/configs/warp7_defconfig +++ b/configs/warp7_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8=y +# Linux headers same as kernel, a 5.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -15,7 +15,7 @@ BR2_ROOTFS_OVERLAY="board/warp7/rootfs_overlay" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.5" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7s-warp" @@ -25,8 +25,9 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="warp7" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # wifi firmware for brcm43430 BR2_PACKAGE_LINUX_FIRMWARE=y diff --git a/configs/zynqmp_zcu102_defconfig b/configs/zynqmp_zcu102_defconfig new file mode 100644 index 00000000000..5361981f5be --- /dev/null +++ b/configs/zynqmp_zcu102_defconfig @@ -0,0 +1,37 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.1)/xlnx_rebase_v5.15_LTS_2022.1.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu102-rev1.0" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.6_2022.1)/xlnx_rebase_v2.6_2022.1.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.1)/xlnx_rebase_v2022.01_2022.1.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/zynqmp/zcu102/uboot.fragment" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/lucaceresoli/zynqmp-pmufw-binaries/raw/v2022.1/bin/pmufw-v2022.1.bin" +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu102/pm_cfg_obj.c" +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynqmp_zcu106_defconfig b/configs/zynqmp_zcu106_defconfig index bee7c1daf70..e1ea27a4960 100644 --- a/configs/zynqmp_zcu106_defconfig +++ b/configs/zynqmp_zcu106_defconfig @@ -1,34 +1,38 @@ BR2_aarch64=y -BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches/" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2017.4" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.1)/xlnx_rebase_v5.15_LTS_2022.1.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu106-revA" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.6_2022.1)/xlnx_rebase_v2.6_2022.1.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://github.com/xilinx/u-boot-xlnx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="228801a215909365ae1dcdd799034195ad7264f7" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_zcu106_revA" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.1)/xlnx_rebase_v2022.01_2022.1.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/zynqmp/zcu106/uboot.fragment" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" BR2_TARGET_UBOOT_ZYNQMP=y -BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/lucaceresoli/zynqmp-pmufw-binaries/raw/53fdb7b6c92860ceb0ec5fd14deee302f4a84269/bin/pmufw-zcu106-default-v2017.4.bin" +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/lucaceresoli/zynqmp-pmufw-binaries/raw/v2022.1/bin/pmufw-v2022.1.bin" +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu106/pm_cfg_obj.c" +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/zcu106/patches" diff --git a/docs/conf/asciidoc-text.conf b/docs/conf/asciidoc-text.conf index 470bdecfc24..bb614b9d852 100644 --- a/docs/conf/asciidoc-text.conf +++ b/docs/conf/asciidoc-text.conf @@ -1,5 +1,5 @@ # Refer to following asciidoc documentation: -# http://www.methods.co.nz/asciidoc/userguide.html +# https://asciidoc-py.github.io/userguide.html # In particular sections "Macros" and "Attribute References" # # For hyperlinks, show 'link text [URL]' (if link text provided) or 'URL' diff --git a/docs/manual/adding-board-support.txt b/docs/manual/adding-board-support.txt index 33ed7095354..cd90a5871fa 100644 --- a/docs/manual/adding-board-support.txt +++ b/docs/manual/adding-board-support.txt @@ -46,3 +46,11 @@ create a directory +board/+ and a subdirectory +board//+. You can then store your patches and configurations in these directories, and reference them from the main Buildroot configuration. Refer to xref:customize[] for more details. + +Before submitting patches for new boards it is recommended to test it by +building it using latest gitlab-CI docker container. To do this use +utils/docker-run script and inside it issue these commands: +-------------------- + $ make +_defconfig+ + $ make +-------------------- diff --git a/docs/manual/adding-packages-asciidoc.txt b/docs/manual/adding-packages-asciidoc.txt index f9688b36c7e..0bfe99d22e8 100644 --- a/docs/manual/adding-packages-asciidoc.txt +++ b/docs/manual/adding-packages-asciidoc.txt @@ -39,7 +39,7 @@ Here is an example to render a simple AsciiDoc document. 04: # 05: ################################################################################ 06: -07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) +07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) 08: $(eval $(call asciidoc-document)) ---- @@ -85,6 +85,17 @@ various steps: * +FOO_CHECK_DEPENDENCIES__HOOKS+, to run additional tests for the specified format ++ (see the list of rendered formats, above). +Buildroot sets the following variable that can be used in the definitions +above: + +* +$(FOO_DOCDIR)+, similar to +$(FOO_PKGDIR)+, contains the path to the + directory containing +foo.mk+. It can be used to refer to the document + sources, and can be used in the hooks, especially the post-rsync hook + if parts of the documentation needs to be generated. + +* +$(@D)+, as for traditional packages, contains the path to the directory + where the document will be copied and built. + Here is a complete example that uses all variables and all hooks: ---- @@ -94,8 +105,8 @@ Here is a complete example that uses all variables and all hooks: 04: # 05: ################################################################################ 06: -07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) -08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources)) +07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) +08: FOO_RESOURCES = $(sort $(wildcard $(FOO_DOCDIR)/ressources)) 09: 10: define FOO_GEN_EXTRA_DOC 11: /path/to/generate-script --outdir=$(@D) diff --git a/docs/manual/adding-packages-cargo.txt b/docs/manual/adding-packages-cargo.txt index 8fcc80bcc69..e18fd9ce237 100644 --- a/docs/manual/adding-packages-cargo.txt +++ b/docs/manual/adding-packages-cargo.txt @@ -1,7 +1,7 @@ // -*- mode:doc; -*- // vim: set syntax=asciidoc: -=== Integration of Cargo-based packages +=== Infrastructure for Cargo-based packages Cargo is the package manager for the Rust programming language. It allows the user to build programs or libraries written in Rust, but it also downloads and @@ -10,7 +10,7 @@ called "crates". [[cargo-package-tutorial]] -==== Cargo-based package's +Config.in+ file +==== +cargo-package+ tutorial The +Config.in+ file of Cargo-based package 'foo' should contain: @@ -25,11 +25,7 @@ The +Config.in+ file of Cargo-based package 'foo' should contain: 08: http://foosoftware.org/foo/ --------------------------- -==== Cargo-based package's +.mk+ file - -Buildroot does not (yet) provide a dedicated package infrastructure for -Cargo-based packages. So, we will explain how to write a +.mk+ file for such a -package. Let's start with an example: +And the +.mk+ file for this package should contain: ------------------------------ 01: ################################################################################ @@ -44,66 +40,61 @@ package. Let's start with an example: 10: FOO_LICENSE = GPL-3.0+ 11: FOO_LICENSE_FILES = COPYING 12: -13: FOO_DEPENDENCIES = host-rustc -14: -15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo -16: -17: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE) -18: -19: FOO_CARGO_OPTS = \ -20: $(if $(BR2_ENABLE_DEBUG),,--release) \ -21: --target=$(RUSTC_TARGET_NAME) \ -22: --manifest-path=$(@D)/Cargo.toml -23: -24: define FOO_BUILD_CMDS -25: $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \ -26: cargo build $(FOO_CARGO_OPTS) -27: endef -28: -29: define FOO_INSTALL_TARGET_CMDS -30: $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \ -31: $(TARGET_DIR)/usr/bin/foo -32: endef -33: -34: $(eval $(generic-package)) +13: $(eval $(cargo-package)) -------------------------------- -The Makefile starts with the definition of the standard variables for package -declaration (lines 7 to 11). +The Makefile starts with the definition of the standard variables for +package declaration (lines 7 to 11). + +As seen in line 13, it is based on the +cargo-package+ +infrastructure. Cargo will be invoked automatically by this +infrastructure to build and install the package. + +It is still possible to define custom build commands or install +commands (i.e. with FOO_BUILD_CMDS and FOO_INSTALL_TARGET_CMDS). +Those will then replace the commands from the cargo infrastructure. + +==== +cargo-package+ reference + +The main macros for the Cargo package infrastructure are ++cargo-package+ for target packages and +host-cargo-package+ for host +packages. -As seen in line 34, it is based on the -xref:generic-package-tutorial[+generic-package+ infrastructure]. So, it defines -the variables required by this particular infrastructure, where Cargo is -invoked: +Just like the generic infrastructure, the Cargo infrastructure works +by defining a number of variables before calling the +cargo-package+ +or +host-cargo-package+ macros. -* +FOO_BUILD_CMDS+: Cargo is invoked to perform the build. The options required - to configure the cross-compilation of the package are passed via - +FOO_CONF_OPTS+. +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the Cargo infrastructure: ++FOO_VERSION+, +FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, ++FOO_DEPENDENCIES+, +FOO_LICENSE+, +FOO_LICENSE_FILES+, etc. -* +FOO_INSTALL_TARGET_CMDS+: The binary executable generated is installed on - the target. +A few additional variables, specific to the Cargo infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. -In order to have Cargo available for the build, +FOO_DEPENDENCIES+ needs to -contain +host-cargo+. +* +FOO_SUBDIR+ may contain the name of a subdirectory inside the package + that contains the Cargo.toml file. This is useful, if for example, it + is not at the root of the tree extracted by the tarball. If + +HOST_FOO_SUBDIR+ is not specified, it defaults to +FOO_SUBDIR+. -To sum it up, to add a new Cargo-based package, the Makefile example can be -copied verbatim then edited to replace all occurences of +FOO+ with the -uppercase name of the new package and update the values of the standard -variables. +* +FOO_CARGO_ENV+ can be used to pass additional variables in the + environment of +cargo+ invocations. It used at both build and + installation time -==== About Dependencies Management +* +FOO_CARGO_BUILD_OPTS+ can be used to pass additional options to + +cargo+ at build time. -A crate can depend on other libraries from crates.io or git repositories, listed -in its Cargo.toml file. Before starting a build, Cargo usually downloads -automatically them. This step can also be performed independently, via the -+cargo fetch+ command. +* +FOO_CARGO_INSTALL_OPTS+ can be used to pass additional options to + +cargo+ at install time. -Cargo maintains a local cache of the registry index and of git checkouts of the -crates, whose location is given by +$CARGO_HOME+. As seen in the package -Makefile example at line 15, this environment variable is set to -+$(HOST_DIR)/share/cargo+. +A crate can depend on other libraries from crates.io or git +repositories, listed in its +Cargo.toml+ file. Buildroot automatically +takes care of downloading such dependencies as part of the download +step of packages that use the +cargo-package+ infrastructure. Such +dependencies are then kept together with the package source code in +the tarball cached in Buildroot's +DL_DIR+, and therefore the hash of +the package's tarball includes such dependencies. -This dependency download mechanism is not convenient when performing an offline -build, as Cargo will fail to fetch the dependencies. In that case, it is advised -to generate a tarball of the dependencies using the +cargo vendor+ and add it to -+FOO_EXTRA_DOWNLOADS+. +This mechanism ensures that any change in the dependencies will be +detected, and allows the build to be performed completely offline. diff --git a/docs/manual/adding-packages-cmake.txt b/docs/manual/adding-packages-cmake.txt index 73f0943024d..541d7422cf3 100644 --- a/docs/manual/adding-packages-cmake.txt +++ b/docs/manual/adding-packages-cmake.txt @@ -100,7 +100,7 @@ typical packages will therefore only use a few of them. necessary to set them in the package's +*.mk+ file unless you want to override them: -** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_DEBUG+; +** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_RUNTIME_DEBUG+; ** +CMAKE_INSTALL_PREFIX+; ** +BUILD_SHARED_LIBS+ is driven by +BR2_STATIC_LIBS+; ** +BUILD_DOC+, +BUILD_DOCS+ are disabled; diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt index 4ceb3fd7727..749e2d43b9d 100644 --- a/docs/manual/adding-packages-directory.txt +++ b/docs/manual/adding-packages-directory.txt @@ -196,13 +196,13 @@ config BR2_PACKAGE_E -------------------------- config BR2_PACKAGE_D bool "Package D" - select BR2_PACKAGE_B depends on BR2_PACKAGE_A + select BR2_PACKAGE_B config BR2_PACKAGE_E bool "Package E" - select BR2_PACKAGE_D depends on BR2_PACKAGE_A + select BR2_PACKAGE_D -------------------------- Overall, for package library dependencies, +select+ should be @@ -464,9 +464,8 @@ The format of this file is one line for each file for which to check the hash, each line with the following three fields separated by two spaces: * the type of hash, one of: -** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+, +none+ +** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+ * the hash of the file: -** for +none+, one or more non-space chars, usually just the string +xxx+ ** for +md5+, 32 hexadecimal characters ** for +sha1+, 40 hexadecimal characters ** for +sha224+, 56 hexadecimal characters @@ -500,9 +499,6 @@ target run. For a package with multiple versions (like Qt5), create the hash file in a subdirectory ++ of that package (see also xref:patch-apply-order[]). -The +none+ hash type is reserved to those archives downloaded from a -repository, like a 'git clone', a 'subversion checkout'... - The example below defines a +sha1+ and a +sha256+ published by upstream for the main +libfoo-1.2.3.tar.bz2+ tarball, an +md5+ from upstream and a locally-computed +sha256+ hashes for a binary blob, a +sha256+ for a @@ -520,9 +516,6 @@ sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo # Locally computed: sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch -# No hash for 1234: -none xxx libfoo-1234.tar.gz - # Hash for license files: sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL @@ -554,3 +547,99 @@ over time. Such patches should not be downloaded, and instead be added locally to the package folder. If the +.hash+ file is missing, then no check is done at all. + +[[adding-packages-start-script]] +=== The +SNNfoo+ start script + +Packages that provide a system daemon usually need to be started somehow +at boot. Buildroot comes with support for several init systems, some +are considered tier one (see xref:init-system[]), while others are also +available but do not have the same level of integration. Ideally, all +packages providing a system daemon should provide a start script for +BusyBox/SysV init and a systemd unit file. + +For consistency, the start script must follow the style and composition +as shown in the reference: +package/busybox/S01syslogd+. An annotated +example of this style is shown below. There is no specific coding style +for systemd unit files, but if a package comes with its own unit file, +that is preferred over a buildroot specific one, if it is compatible +with buildroot. + +The name of the start script is composed of the +SNN+ and the daemon +name. The +NN+ is the start order number which needs to be carefully +chosen. For example, a program that requires networking to be up should +not start before +S40network+. The scripts are started in alphabetical +order, so +S01syslogd+ starts before +S01watchdogd+, and +S02sysctl+ +start thereafter. + +------------------------------ +01: #!/bin/sh +02: +03: DAEMON="syslogd" +04: PIDFILE="/var/run/$DAEMON.pid" +05: +06: SYSLOGD_ARGS="" +07: +08: # shellcheck source=/dev/null +09: [ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" +10: +11: # BusyBox' syslogd does not create a pidfile, so pass "-n" in the command line +12: # and use "-m" to instruct start-stop-daemon to create one. +13: start() { +14: printf 'Starting %s: ' "$DAEMON" +15: # shellcheck disable=SC2086 # we need the word splitting +16: start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ +17: -- -n $SYSLOGD_ARGS +18: status=$? +19: if [ "$status" -eq 0 ]; then +20: echo "OK" +21: else +22: echo "FAIL" +23: fi +24: return "$status" +25: } +26: +27: stop() { +28: printf 'Stopping %s: ' "$DAEMON" +29: start-stop-daemon -K -q -p "$PIDFILE" +30: status=$? +31: if [ "$status" -eq 0 ]; then +32: rm -f "$PIDFILE" +33: echo "OK" +34: else +35: echo "FAIL" +36: fi +37: return "$status" +38: } +39: +40: restart() { +41: stop +42: sleep 1 +43: start +44: } +45: +46: case "$1" in +47: start|stop|restart) +48: "$1";; +49: reload) +50: # Restart, since there is no true "reload" feature. +51: restart;; +52: *) +53: echo "Usage: $0 {start|stop|restart|reload}" +54: exit 1 +55: esac +------------------------------ + +*Note:* programs that support reloading their configuration in some +fashion (+SIGHUP+) should provide a +reload()+ function similar to ++stop()+. The +start-stop-daemon+ supports +-K -s HUP+ for this. +It is recommended to always append +-x "/sbin/$DAEMON"+ to all the ++start-stop-daemon+ commands to ensure signals are set to a PID that +matches +$DAEMON+. + +Both start scripts and unit files can source command line arguments from ++/etc/default/foo+, in general, if such a file does not exist it should +not block the start of the daemon, unless there is some site specirfic +command line argument the daemon requires to start. For start scripts a ++FOO_ARGS="-s -o -m -e -args"+ can be defined to a default value in and +the user can override this from +/etc/default/foo+. diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt index 2201d4385ef..fbe37f9ca9f 100644 --- a/docs/manual/adding-packages-generic.txt +++ b/docs/manual/adding-packages-generic.txt @@ -48,11 +48,11 @@ system is based on hand-written Makefiles or shell scripts. 33: endef 34: 35: define LIBFOO_DEVICES -36: /dev/foo c 666 0 0 42 0 - - - +36: /dev/foo c 666 0 0 42 0 - - - 37: endef 38: 39: define LIBFOO_PERMISSIONS -40: /bin/foo f 4755 foo libfoo - - - - - +40: /bin/foo f 4755 foo libfoo - - - - - 41: endef 42: 43: $(eval $(generic-package)) @@ -256,7 +256,7 @@ not and can not work as people would expect it should: +scp://[user@]host:filepath+, and that filepath is relative to the user's home directory, so you may want to prepend the path with a slash for absolute paths: - +scp://[user@]host:/absolutepath+. + + +scp://[user@]host:/absolutepath+. The same goes for SFTP URLs. + If +HOST_LIBFOO_SITE+ is not specified, it defaults to +LIBFOO_SITE+. Examples: + @@ -291,6 +291,8 @@ not and can not work as people would expect it should: +ftp://+. ** +scp+ for downloads of tarballs over SSH with scp. Used by default when +LIBFOO_SITE+ begins with +scp://+. + ** +sftp+ for downloads of tarballs over SSH with sftp. Used by + default when +LIBFOO_SITE+ begins with +sftp://+. ** +svn+ for retrieving source code from a Subversion repository. Used by default when +LIBFOO_SITE+ begins with +svn://+. When a +http://+ Subversion repository URL is specified in @@ -314,8 +316,7 @@ not and can not work as people would expect it should: 13:45+01" see "man cvs" for further details). ** +git+ for retrieving source code from a Git repository. Used by default when +LIBFOO_SITE+ begins with +git://+. The downloaded - source code is cached as with the +svn+ - method. + source code is cached as with the +svn+ method. ** +hg+ for retrieving source code from a Mercurial repository. One 'must' specify +LIBFOO_SITE_METHOD=hg+ when +LIBFOO_SITE+ contains a Mercurial repository URL. The downloaded source code @@ -342,6 +343,10 @@ not and can not work as people would expect it should: submodules when they contain bundled libraries, in which case we prefer to use those libraries from their own package. +* +LIBFOO_GIT_LFS+ should be set to +YES+ if the Git repository uses + Git LFS to store large files out of band. This is only available for + packages downloaded with git (i.e. when +LIBFOO_SITE_METHOD=git+). + * +LIBFOO_STRIP_COMPONENTS+ is the number of leading components (directories) that tar must strip from file names on extraction. The tarball for most packages has one leading component named diff --git a/docs/manual/adding-packages-golang.txt b/docs/manual/adding-packages-golang.txt index 3b34579200c..c952cde5776 100644 --- a/docs/manual/adding-packages-golang.txt +++ b/docs/manual/adding-packages-golang.txt @@ -120,3 +120,14 @@ possible to customize what is done in any particular step: +FOO_BUILD_CMDS+ variable, it will be used instead of the default Go one. However, using this method should be restricted to very specific cases. Do not use it in the general case. + +A Go package can depend on other Go modules, listed in its +go.mod+ +file. Buildroot automatically takes care of downloading such +dependencies as part of the download step of packages that use the ++golang-package+ infrastructure. Such dependencies are then kept +together with the package source code in the tarball cached in +Buildroot's +DL_DIR+, and therefore the hash of the package's tarball +includes such dependencies. + +This mechanism ensures that any change in the dependencies will be +detected, and allows the build to be performed completely offline. diff --git a/docs/manual/adding-packages-hooks.txt b/docs/manual/adding-packages-hooks.txt index 0ce79f8907f..741b71ca296 100644 --- a/docs/manual/adding-packages-hooks.txt +++ b/docs/manual/adding-packages-hooks.txt @@ -46,6 +46,8 @@ The following hook points are available: * +LIBFOO_PRE_LEGAL_INFO_HOOKS+ * +LIBFOO_POST_LEGAL_INFO_HOOKS+ +* +LIBFOO_TARGET_FINALIZE_HOOKS+ + These variables are 'lists' of variable names containing actions to be performed at this hook point. This allows several hooks to be registered at a given hook point. Here is an example: diff --git a/docs/manual/adding-packages-kconfig.txt b/docs/manual/adding-packages-kconfig.txt index 8f40ea60990..a35681775f8 100644 --- a/docs/manual/adding-packages-kconfig.txt +++ b/docs/manual/adding-packages-kconfig.txt @@ -91,3 +91,6 @@ be set to suit the needs of the package under consideration: * +FOO_KCONFIG_DEPENDENCIES+: the list of packages (most probably, host packages) that need to be built before this package's kconfig is interpreted. Seldom used. By default, empty. + +* +FOO_KCONFIG_SUPPORTS_DEFCONFIG+: whether the package's kconfig system + supports using defconfig files; few packages do not. By default, 'YES'. diff --git a/docs/manual/adding-packages-kernel-module.txt b/docs/manual/adding-packages-kernel-module.txt index b609ecc90a1..1d4251333d7 100644 --- a/docs/manual/adding-packages-kernel-module.txt +++ b/docs/manual/adding-packages-kernel-module.txt @@ -70,11 +70,11 @@ Let's look at a more complex example: 14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) 15: 16: ifeq ($(BR2_PACKAGE_LIBBAR),y) -17: FOO_DEPENDENCIES = libbar -18: FOO_CONF_OPTS = --enable-bar +17: FOO_DEPENDENCIES += libbar +18: FOO_CONF_OPTS += --enable-bar 19: FOO_MODULE_SUBDIRS += driver/bar 20: else -21: FOO_CONF_OPTS = --disable-bar +21: FOO_CONF_OPTS += --disable-bar 22: endif 23: 24: $(eval $(kernel-module)) diff --git a/docs/manual/adding-packages-python.txt b/docs/manual/adding-packages-python.txt index 0c100859be3..0141fea85b7 100644 --- a/docs/manual/adding-packages-python.txt +++ b/docs/manual/adding-packages-python.txt @@ -67,14 +67,6 @@ Python build system, but are not Python modules, can freely choose their name (existing examples in Buildroot are +scons+ and +supervisor+). -Packages that are only compatible with one version of Python (as in: -Python 2 or Python 3) should depend on that version explicitely in -their +Config.in+ file (+BR2_PACKAGE_PYTHON+ for Python 2, -+BR2_PACKAGE_PYTHON3+ for Python 3). Packages that are compatible -with both versions should not explicitely depend on them in their -+Config.in+ file, since that condition is already expressed for the -whole "External python modules" menu. - The main macro of the Python package infrastructure is +python-package+. It is similar to the +generic-package+ macro. It is also possible to create Python host packages with the @@ -149,13 +141,6 @@ therefore only use a few of them, or none. packages) and +HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS+ (for host setuptools packages). -* +HOST_PYTHON_FOO_NEEDS_HOST_PYTHON+, to define the host python - interpreter. The usage of this variable is limited to host - packages. The two supported value are +python2+ and +python3+. It - will ensure the right host python package is available and will - invoke it for the build. If some build steps are overloaded, the - right python interpreter must be explicitly called in the commands. - With the Python infrastructure, all the steps required to build and install the packages are already defined, and they generally work well for most Python-based packages. However, when required, it is still diff --git a/docs/manual/adding-packages-qmake.txt b/docs/manual/adding-packages-qmake.txt index c7e6ff354a7..699d082aa1b 100644 --- a/docs/manual/adding-packages-qmake.txt +++ b/docs/manual/adding-packages-qmake.txt @@ -80,6 +80,6 @@ also be defined. to the +make+ command during the target installation step. By default, +install+. -* +LIBFOO_SYNC_HEADERS+, to run syncqt.pl before qmake. Some packages +* +LIBFOO_SYNC_QT_HEADERS+, to run syncqt.pl before qmake. Some packages need this to have a properly populated include directory before running the build. diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt index 95a1d599ef7..d8c2eceb105 100644 --- a/docs/manual/adding-packages-tips.txt +++ b/docs/manual/adding-packages-tips.txt @@ -174,8 +174,8 @@ past, the 'github' helper function should be used as shown below. ------------------------ # Use a tag or a full commit ID -FOO_VERSION = v1.0 -FOO_SITE = $(call github,,,$(FOO_VERSION)) +FOO_VERSION = 1.0 +FOO_SITE = $(call github,,,v$(FOO_VERSION)) ------------------------ .Notes @@ -184,6 +184,12 @@ FOO_SITE = $(call github,,,$(FOO_VERSION)) Buildroot (e.g.: +foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz+), so it is not necessary to specify it in the +.mk+ file. - When using a commit ID as version, you should use the full 40 hex characters. +- When the tag contains a prefix such as +v+ in +v1.0+, then the + +VERSION+ variable should contain just +1.0+, and the +v+ should be + added directly in the +SITE+ variable, as illustrated above. This + ensures that the +VERSION+ variable value can be used to match + against http://www.release-monitoring.org/[release-monitoring.org] + results. If the package you wish to add does have a release section on GitHub, the maintainer may have uploaded a release tarball, or the release may just point @@ -204,3 +210,33 @@ image::github_hash_mongrel2.png[] - On the other hand, if there's is *only* the "Source code" link, then it's an automatically generated tarball and you should use the 'github' helper function. + +[[gitlab-download-url]] +==== How to add a package from Gitlab + +In a similar way to the +github+ macro described in +xref:github-download-url[], Buildroot also provides the +gitlab+ macro +to download from Gitlab repositories. It can be used to download +auto-generated tarballs produced by Gitlab, either for specific tags +or commits: + +------------------------ +# Use a tag or a full commit ID +FOO_VERSION = 1.0 +FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) +------------------------ + +By default, it will use a +.tar.gz+ tarball, but Gitlab also provides ++.tar.bz2+ tarballs, so by adding a +_SOURCE+ variable, this ++.tar.bz2+ tarball can be used: + +------------------------ +# Use a tag or a full commit ID +FOO_VERSION = 1.0 +FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) +FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2 +------------------------ + +If there is a specific tarball uploaded by the upstream developers in ++https://gitlab.com//releases/+, do not use this macro, but +rather use directly the link to the tarball. diff --git a/docs/manual/adding-packages-virtual.txt b/docs/manual/adding-packages-virtual.txt index 6326bb5455f..722e6e3771f 100644 --- a/docs/manual/adding-packages-virtual.txt +++ b/docs/manual/adding-packages-virtual.txt @@ -13,7 +13,7 @@ the provider used in the rootfs. For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems. The implementation of this API is different for the 'Allwinner Tech Sunxi' and the 'Texas Instruments OMAP35xx' platforms. So +libgles+ will be a virtual -package and +sunxi-mali+ and +ti-gfx+ will be the providers. +package and +sunxi-mali-utgard+ and +ti-gfx+ will be the providers. ==== +virtual-package+ tutorial diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt index c9eef567f47..60860d2c716 100644 --- a/docs/manual/configure.txt +++ b/docs/manual/configure.txt @@ -377,6 +377,7 @@ good solution. Note that if +systemd+ is chosen as init system, /dev management will be performed by the +udev+ program provided by +systemd+. +[[init-system]] === init system The _init_ program is the first userspace program started by the diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt index 14ecdbd66c5..bf2aed6b51a 100644 --- a/docs/manual/contribute.txt +++ b/docs/manual/contribute.txt @@ -519,24 +519,22 @@ Following pastebin services are known to work correctly: - https://gist.github.com/ - http://code.bulix.org/ -=== Using the run-tests framework +=== Using the runtime tests framework -Buildroot includes a run-time testing framework called run-tests built -upon Python scripting and QEMU runtime execution. There are two types of -test cases within the framework, one for build time tests and another for -run-time tests that have a QEMU dependency. The goals of the framework are +Buildroot includes a run-time testing framework built upon Python +scripting and QEMU runtime execution. The goals of the framework are the following: -* build a well defined configuration +* build a well defined Buildroot configuration * optionally, verify some properties of the build output -* if it is a run-time test: -** boot it under QEMU -** run some test condition to verify that a given feature is working +* optionally, boot the build results under Qemu, and verify that a + given feature is working as expected -The run-tests tool has a series of options documented in the tool's help '-h' -description. Some common options include setting the download folder, the -output folder, keeping build output, and for multiple test cases, you can set -the JLEVEL for each. +The entry point to use the runtime tests framework is the ++support/testing/run-tests+ tool, which has a series of options +documented in the tool's help '-h' description. Some common options +include setting the download folder, the output folder, keeping build +output, and for multiple test cases, you can set the JLEVEL for each. Here is an example walk through of running a test case. @@ -549,7 +547,6 @@ one at a time and selectively as a group of a subset of tests. $ support/testing/run-tests -l List of tests test_run (tests.utils.test_check_package.TestCheckPackage) -Test the various ways the script can be called in a simple top to ... ok test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootMusl) ... ok test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc) ... ok test_run (tests.toolchain.test_external.TestExternalToolchainCCache) ... ok @@ -575,52 +572,7 @@ Ran 157 tests in 0.021s OK --------------------- -Those runtime tests are regularly executed by Buildroot Gitlab CI -infrastructure, see .gitlab.yml and https://gitlab.com/buildroot.org/buildroot/-/jobs. - -==== Creating a test case - -The best way to get familiar with how to create a test case is to look at a -few of the basic file system +support/testing/tests/fs/+ and init -+support/testing/tests/init/+ test scripts. Those tests give good examples -of a basic build and build with run type of tests. There are other more -advanced cases that use things like nested +br2-external+ folders to provide -skeletons and additional packages. - -The test cases by default use a br-arm-full-* uClibc-ng toolchain and the -prebuild kernel for a armv5/7 cpu. It is recommended to use the default -defconfig test configuration except when Glibc/musl or a newer kernel are -necessary. By using the default it saves build time and the test would -automatically inherit a kernel/std library upgrade when the default is -updated. - -The basic test case definition involves - -* Creation of a new test file -* Defining a unique test class -* Determining if the default defconfig plus test options can be used -* Implementing a +def test_run(self):+ function to optionally startup the -emulator and provide test case conditions. - -After creating the test script, add yourself to the +DEVELOPERS+ file to -be the maintainer of that test case. - -==== Debugging a test case - -Within the Buildroot repository, the testing framework is organized at the -top level in +support/testing/+ by folders of +conf+, +infra+ and +tests+. -All the test cases live under the +test+ folder and are organized in various -folders representing the catagory of test. - -Lets walk through an example. - -* Using the Busybox Init system test case with a read/write rootfs -+tests.init.test_busybox.TestInitSystemBusyboxRw+ -* A minimal set of command line arguments when debugging a test case would -include '-d' which points to your dl folder, '-o' to an output folder, and -'-k' to keep any output on both pass/fail. With those options, the test will -retain logging and build artifacts providing status of the build and -execution of the test case. +* Then, to run one test case: --------------------- $ support/testing/run-tests -d dl -o output_folder -k tests.init.test_busybox.TestInitSystemBusyboxRw @@ -634,21 +586,57 @@ Ran 1 test in 301.140s OK --------------------- -* For the case of a successful build, the +output_folder+ would contain a - folder with the Buildroot build, build log and run-time log. If -the build failed, the console output would show the stage at which it failed -(setup / build / run). Depending on the failure stage, the build/run logs -and/or Buildroot build artifacts can be inspected and instrumented. If the -QEMU instance needs to be launched for additional testing, the first few -lines of the run-time log capture it and it would allow some incremental -testing without re-running +support/testing/run-tests+. +The standard output indicates if the test is successful or not. By +default, the output folder for the test is deleted automatically +unless the option +-k+ is passed to *keep* the output directory. -* You can also make modifications to the current sources inside the -+output_folder+ (e.g. for debug purposes) and rerun the standard -Buildroot make targets (in order to regenerate the complete image with -the new modifications) and then rerun the test. Modifying the sources -directly can speed up debugging compared to adding patch files, wiping the -output directoy, and starting the test again. +==== Creating a test case + +Within the Buildroot repository, the testing framework is organized at the +top level in +support/testing/+ by folders of +conf+, +infra+ and +tests+. +All the test cases live under the +tests+ folder and are organized in various +folders representing the category of test. + +The best way to get familiar with how to create a test case is to look +at a few of the basic file system +support/testing/tests/fs/+ and init ++support/testing/tests/init/+ test scripts. Those tests give good +examples of a basic tests that include both checking the build +results, and doing runtime tests. There are other more advanced cases +that use things like nested +br2-external+ folders to provide +skeletons and additional packages. + +Creating a basic test case involves: + +* Defining a test class that inherits from +infra.basetest.BRTest+ + +* Defining the +config+ member of the test class, to the Buildroot + configuration to build for this test case. It can optionally rely on + configuration snippets provided by the runtime test infrastructure: + +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ to get a basic + architecture/toolchain configuration, and + +infra.basetest.MINIMAL_CONFIG+ to not build any filesystem. The + advantage of using +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ is that a + matching Linux kernel image is provided, which allows to boot the + resulting image in Qemu without having to build a Linux kernel image + as part of the test case, therefore significant decreasing the build + time required for the test case. + +* Implementing a +def test_run(self):+ function to implement the + actual tests to run after the build has completed. They may be tests + that verify the build output, by running command on the host using + the +run_cmd_on_host()+ helper function. Or they may boot the + generated system in Qemu using the +Emulator+ object available as + +self.emulator+ in the test case. For example +self.emulator.boot()+ + allows to boot the system in Qemu, +self.emulator.login()+ allows to + login, +self.emulator.run()+ allows to run shell commands inside + Qemu. + +After creating the test script, add yourself to the +DEVELOPERS+ file to +be the maintainer of that test case. + +==== Debugging a test case + +When a test case runs, the +output_folder+ will contain the following: --------------------- $ ls output_folder/ @@ -657,29 +645,68 @@ TestInitSystemBusyboxRw-build.log TestInitSystemBusyboxRw-run.log --------------------- -* The source file used to implement this example test is found under -+support/testing/tests/init/test_busybox.py+. This file outlines the -minimal defconfig that creates the build, QEMU configuration to launch -the built images and the test case assertions. ++TestInitSystemBusyboxRw/+ is the Buildroot output directory, and it +is preserved only if the +-k+ option is passed. + ++TestInitSystemBusyboxRw-build.log+ is the log of the Buildroot build. + ++TestInitSystemBusyboxRw-run.log+ is the log of the Qemu boot and +test. This file will only exist if the build was successful and the +test case involves booting under Qemu. + +If you want to manually run Qemu to do manual tests of the build +result, the first few lines of +TestInitSystemBusyboxRw-run.log+ +contain the Qemu command line to use. + +You can also make modifications to the current sources inside the ++output_folder+ (e.g. for debug purposes) and rerun the standard +Buildroot make targets (in order to regenerate the complete image with +the new modifications) and then rerun the test. + +==== Runtime tests and Gitlab CI + +All runtime tests are regularly executed by Buildroot Gitlab CI +infrastructure, see .gitlab.yml and +https://gitlab.com/buildroot.org/buildroot/-/jobs. -To test an existing or new test case within Gitlab CI, there is a method of -invoking a specific test by creating a Buildroot fork in Gitlab under your -account. This can be handy when adding/changing a run-time test or fixing a -bug on a use case tested by a run-time test case. +You can also use Gitlab CI to test your new test cases, or verify that +existing tests continue to work after making changes in Buildroot. +In order to achieve this, you need to create a fork of the Buildroot +project on Gitlab, and be able to push branches to your Buildroot fork +on Gitlab. -In the examples below, the component of the branch name is a unique -string you choose to identify this specific job being created. +The name of the branch that you push will determine if a Gitlab CI +pipeline will be triggered or not, and for which test cases. -* to trigger all run-test test case jobs: +In the examples below, the component of the branch name is an +arbitrary string you choose. + +* To trigger all run-test test case jobs, push a branch that ends with + +-runtime-tests+: --------------------- $ git push gitlab HEAD:-runtime-tests --------------------- -* to trigger one test case job, a specific branch naming string is used that -includes the full test case name. +* To trigger one or several test case jobs, push a branch that ends + with the complete test case name + (+tests.init.test_busybox.TestInitSystemBusyboxRo+) or with the name + of a category of tests (+tests.init.test_busybox+): --------------------- $ git push gitlab HEAD:- --------------------- + +Example to run one test: + +--------------------- + $ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo +--------------------- + +Examples to run several tests part of the same group: + +--------------------- + $ git push gitlab HEAD:foo-tests.init.test_busybox + $ git push gitlab HEAD:foo-tests.init +--------------------- diff --git a/docs/manual/customize-post-image.txt b/docs/manual/customize-post-image.txt index 90ea2b9328c..5308093d06d 100644 --- a/docs/manual/customize-post-image.txt +++ b/docs/manual/customize-post-image.txt @@ -28,7 +28,8 @@ different sets of arguments to each script. Again just like for the post-build scripts, the scripts have access to the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+, -+TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+ and +BASE_DIR+. ++TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+, +CONFIG_DIR+ and ++BASE_DIR+. The post-image scripts will be executed as the user that executes Buildroot, which should normally _not_ be the root user. Therefore, any diff --git a/docs/manual/customize-rootfs.txt b/docs/manual/customize-rootfs.txt index e1dbadda5bb..e46306fd2ac 100644 --- a/docs/manual/customize-rootfs.txt +++ b/docs/manual/customize-rootfs.txt @@ -60,6 +60,9 @@ The post-build scripts are run with the main Buildroot tree as current In addition, you may also use these environment variables: - +BR2_CONFIG+: the path to the Buildroot .config file + - +CONFIG_DIR+: the directory containing the .config file, and + therefore the top-level Buildroot Makefile to use (which is + correct for both in-tree and out-of-tree builds) - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see xref:generic-package-reference[] - +BUILD_DIR+: the directory where packages are extracted and built diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt index 5adf3fa6ce6..b08bf9bc4ae 100644 --- a/docs/manual/faq-troubleshooting.txt +++ b/docs/manual/faq-troubleshooting.txt @@ -45,7 +45,7 @@ distribution_ and you should opt for something like: * http://www.openembedded.org[openembedded] * https://www.yoctoproject.org[yocto] -* http://www.emdebian.org[emdebian] +* https://www.debian.org/ports/[Debian] * https://fedoraproject.org/wiki/Architectures[Fedora] * http://en.opensuse.org/Portal:ARM[openSUSE ARM] * http://archlinuxarm.org[Arch Linux ARM] diff --git a/docs/manual/known-issues.txt b/docs/manual/known-issues.txt index ae29a48b385..616430b91cf 100644 --- a/docs/manual/known-issues.txt +++ b/docs/manual/known-issues.txt @@ -7,7 +7,7 @@ if such options contain a +$+ sign. For example, the following is known to break: +BR2_TARGET_LDFLAGS="-Wl,-rpath=\'$ORIGIN/../lib'"+ -* The +libffi+ package is not supported on the SuperH 2 and ARC +* The +libffi+ package is not supported on the SuperH 2, nds32, and ARMv7-M architectures. * The +prboom+ package triggers a compiler failure with the SuperH 4 diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.txt index 869b6807dd1..df3b888c25e 100644 --- a/docs/manual/make-tips.txt +++ b/docs/manual/make-tips.txt @@ -35,7 +35,8 @@ some settings in the +.config+ file may hide some targets: * +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the +barebox+ bootloader is enabled. * +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the - +U-Boot+ bootloader is enabled. + +U-Boot+ bootloader is enabled and the +uboot+ build system is set + to +Kconfig+. .Cleaning: diff --git a/docs/manual/makeusers-syntax.txt b/docs/manual/makeusers-syntax.txt index 467e5962304..0a955970b3a 100644 --- a/docs/manual/makeusers-syntax.txt +++ b/docs/manual/makeusers-syntax.txt @@ -20,13 +20,16 @@ Where: It can not be +root+, and must be unique. If set to +-+, then just a group will be created. - +uid+ is the desired UID for the user. It must be unique, and not - +0+. If set to +-1+, then a unique UID will be computed by Buildroot - in the range [1000...1999] + +0+. If set to +-1+ or +-2+, then a unique UID will be computed by + Buildroot, with +-1+ denoting a system UID from [100...999] and +-2+ + denoting a user UID from [1000...1999]. - +group+ is the desired name for the user's main group. It can not be +root+. If the group does not exist, it will be created. - +gid+ is the desired GID for the user's main group. It must be unique, - and not +0+. If set to +-1+, and the group does not already exist, then - a unique GID will be computed by Buildroot in the range [1000..1999] + and not +0+. If set to +-1+ or +-2+, and the group does not already + exist, then a unique GID will be computed by Buildroot, with +-1+ + denoting a system GID from [100...999] and +-2+ denoting a user GID + from [1000...1999]. - +password+ is the crypt(3)-encoded password. If prefixed with +!+, then login is disabled. If prefixed with +=+, then it is interpreted as clear-text, and will be crypt-encoded (using MD5). If prefixed with @@ -87,3 +90,16 @@ This will create this user: - +shell+ is: +/bin/sh+ - +test+ is not a member of any additional +groups+ - +comment+ is: +Test user+ + + +=== Caveat with automatic UIDs and GIDs + +When updating buildroot or when packages are added or removed to/from +the configuration, it is possible that the automatic UIDs and GIDs are +changed. This can be a problem if persistent files were created with +that user or group: after upgrade, they will suddenly have a different +owner. + +Therefore, it is advisable to perpetuate the automatic IDs. This can be +done by adding a users table with the generated IDs. It is only needed +to do this for UIDs that actually create persistent files, e.g. database. diff --git a/docs/manual/migrating.txt b/docs/manual/migrating.txt index 92e487c71ec..cb1f5eacc91 100644 --- a/docs/manual/migrating.txt +++ b/docs/manual/migrating.txt @@ -8,6 +8,36 @@ Some versions have introduced backward incompatibilities. This section explains those incompatibilities, and for each explains what to do to complete the migration. +[[migrating-approach]] +=== General approach + +To migrate from an older Buildroot version, take the following steps. + +. For all your configurations, do a build in the old Buildroot + environment. Run +make graph-size+. Save + +graphs/file-size-stats.csv+ in a different location. Run +make + clean+ to remove the rest. +. Review the specific migration notes below and make the required + adaptations to external packages and custom build scripts. +. Update Buildroot. +. Run +make menuconfig+ starting from the existing +.config+. +. If anything is enabled in the Legacy menu, check its help text, + unselect it, and save the configuration. +. For more details, review the git commit messages for the packages that + you need. Change into the +packages+ directory and run + +git log .. -- +. +. Build in the new Buildroot environment. +. Fix build issues in external packages (usually due to updated + dependencies). +. Run +make graph-size+. +. Compare the new +file-size-stats.csv+ with the original one, to + check if no required files have disappeared and if no new big unneeded + files have appeared. +. For configuration (and other) files in a custom overlay that overwrite + files created by Buildroot, check if there are changes in the + Buildroot-generated file that need to be propagated to your custom + file. + [[br2-external-converting]] === Migrating to 2016.11 diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt index 4e614cfa1b9..40071491f83 100644 --- a/docs/manual/prerequisite.txt +++ b/docs/manual/prerequisite.txt @@ -78,6 +78,7 @@ corresponding tool on the host system: ** +mercurial+ ** +rsync+ ** +scp+ +** +sftp+ ** +subversion+ * Java-related packages, if the Java Classpath needs to be built for diff --git a/docs/manual/resources.txt b/docs/manual/resources.txt index 69bfff8f2b8..e90a49b2ab9 100644 --- a/docs/manual/resources.txt +++ b/docs/manual/resources.txt @@ -21,20 +21,18 @@ http://lists.buildroot.org/mailman/listinfo/buildroot[mailing list info page]. + Mails that are sent to the mailing list are also available in the -http://lists.buildroot.org/pipermail/buildroot[mailing list archives] and -via http://gmane.org[Gmane], at -http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[+gmane.comp.lib.uclibc.buildroot+]. -Please search the mailing list archives before asking questions, since -there is a good chance someone else has asked the same question before. +mailing list archives, available through +http://lists.buildroot.org/pipermail/buildroot[Mailman] or at +https://lore.kernel.org/buildroot/[lore.kernel.org]. IRC:: + -The Buildroot IRC channel irc://freenode.net/#buildroot[#buildroot] is -hosted on http://webchat.freenode.net[Freenode]. It is a useful place to +The Buildroot IRC channel irc://irc.oftc.net/#buildroot[#buildroot] is +hosted on https://www.oftc.net/WebChat/[OFTC]. It is a useful place to ask quick questions or discuss on certain topics. + When asking for help on IRC, share relevant logs or pieces of code -using a code sharing website, such as http://code.bulix.org. +using a code sharing website, such as https://paste.ack.tf/. + Note that for certain questions, posting to the mailing list may be better as it will reach more people, both developers and users. diff --git a/docs/manual/using-buildroot-debugger.txt b/docs/manual/using-buildroot-debugger.txt index d5293beb538..9a8a7dfbaf9 100644 --- a/docs/manual/using-buildroot-debugger.txt +++ b/docs/manual/using-buildroot-debugger.txt @@ -35,7 +35,7 @@ Then, on the host, you should start the cross gdb using the following command line: ---------------------------- -/output/host/bin/-gdb -x /output/staging/usr/share/buildroot/gdbinit foo +/output/host/bin/-gdb -ix /output/staging/usr/share/buildroot/gdbinit foo ---------------------------- Of course, +foo+ must be available in the current directory, built diff --git a/docs/manual/writing-rules.txt b/docs/manual/writing-rules.txt index 3b809d5c48d..84d8f764311 100644 --- a/docs/manual/writing-rules.txt +++ b/docs/manual/writing-rules.txt @@ -93,9 +93,9 @@ so _make_ recognizes them as commands. YES: + --------------------- -ifeq ($(BR2_PACKAGE_PYTHON),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) LIBFOO_CONF_OPTS += --with-python-support -LIBFOO_DEPENDENCIES += python +LIBFOO_DEPENDENCIES += python3 else LIBFOO_CONF_OPTS += --without-python-support endif @@ -104,8 +104,8 @@ endif NO: + --------------------- -LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support -LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) +LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON3),,out)-python-support +LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,) --------------------- ** Keep configure options and dependencies close together. @@ -136,13 +136,81 @@ LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA endif --------------------- +[[writing-genimage-cfg]] + +=== The +genimage.cfg+ file + ++genimage.cfg+ files contain the output image layout that genimage utility +uses to create final .img file. + +An example follows: + +--------------------- +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 32M +} + +image sdimage.img { + hdimage { + } + + partition u-boot { + image = "efi-part.vfat" + offset = 8K + } + + partition root { + image = "rootfs.ext2" + size = 512M + } +} +--------------------- + +* Every +section+(i.e. hdimage, vfat etc.), +partition+ must be indented + with one tab. + +* Every +file+ or other +subnode+ must be indented with two tabs. + +* Every node(+section+, +partition+, +file+, +subnode+) must have an open + curly bracket on the same line of the node's name, while the closing one + must be on a newline and after it a newline must be added except for the + last one node. Same goes for its option, for example option +size+ +=+. + +* Every +option+(i.e. +image+, +offset+, +size+) must have the +=+ + assignment one space from it and one space from the value specified. + +* Filename must at least begin with genimage prefix and have the .cfg + extension to be easy to recognize. + +* Allowed notations for +offset+ and +size+ options are: +G+, +M+, +K+ + (not +k+). If it's not possible to express a precise byte count + with notations above then use hexadecimal +0x+ prefix or, as last + chance, the byte count. In comments instead use +GB+, +MB+, +KB+ + (not +kb+) in place of +G+, +M+, +K+. + +The +genimage.cfg+ files are the input for the genimage tool used in +Buildroot to generate the final image file(i.e. sdcard.img). For further +details about the _genimage_ language, refer to +https://github.com/pengutronix/genimage/blob/master/README.rst[]. + + === The documentation The documentation uses the -http://www.methods.co.nz/asciidoc/[asciidoc] format. +https://asciidoc-py.github.io/[asciidoc] format. For further details about the asciidoc syntax, refer to -http://www.methods.co.nz/asciidoc/userguide.html[]. +https://asciidoc-py.github.io/userguide.html[]. === Support scripts diff --git a/docs/website/docs.html b/docs/website/docs.html index c619c16fa67..85b005004dc 100644 --- a/docs/website/docs.html +++ b/docs/website/docs.html @@ -108,14 +108,13 @@

ASCII
-
Public training course
+
Public online training course
- The next online public training course on Buildroot - organized - by Bootlin will - take place on March 8-11, 2021, with Thomas Petazzoni as - trainer. Infos - and registration. + Regular online training courses, available to individual + registration, are proposed by Bootlin, with Thomas + Petazzoni as + trainer. See next + dates and registration details.
diff --git a/docs/website/download.html b/docs/website/download.html index bd6499dfce5..18a9254cbf9 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -8,105 +8,105 @@
Download
-

Latest stable / long term support release: 2021.02

+

Latest stable / long term support release: 2022.02

diff --git a/docs/website/news.html b/docs/website/news.html index c882664c770..de80a5f23d2 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,728 @@

News

    +
  • +
    +
    +
    +

    2022.02 released

    +

    8 March 2022

    +
    +
    +

    The stable 2022.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2022.02 release.

    + +

    Notice that this is a long term support release which will be + supported with security and other important fixes until March 2023.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.02-rc3 released

    +

    28 February 2022

    +
    +
    +

    2022.02-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2022.02-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.10 released

    +

    28 February 2022

    +
    +
    +

    The 2021.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.10 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.11.2 released

    +

    28 February 2022

    +
    +
    +

    The 2021.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.11.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.02-rc2 released

    +

    20 February 2022

    +
    +
    +

    2022.02-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2022.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.02-rc1 released

    +

    13 February 2022

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2022.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.9 released

    +

    29 January 2022

    +
    +
    +

    The 2021.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.9 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.11.1 released

    +

    29 January 2022

    +
    +
    +

    The 2021.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.11.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.8 released

    +

    14 December 2021

    +
    +
    +

    The 2021.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.8 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.08.3 released, 2021.08.x series EOL

    +

    13 December 2021

    +
    +
    +

    The 2021.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08.3 release.

    + +

    Notice that the 2021.08.x series is now end of life. Please migrate to + the 2021.11 series instead which will be supported until April 2022.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.11 released

    +

    5 December 2021

    +
    +
    +

    The stable 2021.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.11-rc3 released

    +

    30 November 2021

    +
    +
    +

    2021.11-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2021.11-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.11-rc2 released

    +

    19 November 2021

    +
    +
    +

    2021.11-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2021.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.7 released

    +

    10 November 2021

    +
    +
    +

    The 2021.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.7 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.08.2 released

    +

    10 November 2021

    +
    +
    +

    The 2021.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.11-rc1 released

    +

    8 November 2021

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2021.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.6 released

    +

    12 October 2021

    +
    +
    +

    The 2021.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.6 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.05.3 released, 2021.05.x series EOL

    +

    12 October 2021

    +
    +
    +

    The 2021.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05.3 release.

    + +

    Notice that the 2021.05.x series is now end of life. Please migrate to + the 2021.08 series instead which will be supported until December 2021.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.08.1 released

    +

    11 October 2021

    +
    +
    +

    The 2021.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.5 released

    +

    16 September 2021

    +
    +
    +

    The 2021.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.5 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.05.2 released

    +

    15 September 2021

    +
    +
    +

    The 2021.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.08 released

    +

    4 September 2021

    +
    +
    +

    The stable 2021.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.08-rc3 released

    +

    31 August 2021

    +
    +
    +

    2021.08-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2021.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.08-rc2 released

    +

    18 August 2021

    +
    +
    +

    2021.08-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2021.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.4 released

    +

    11 August 2021

    +
    +
    +

    The 2021.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.4 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.05.1 released

    +

    10 August 2021

    +
    +
    +

    The 2021.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.08-rc1 released

    +

    3 August 2021

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2021.08-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.3 released

    +

    12 June 2021

    +
    +
    +

    The 2021.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.3 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.05 released

    +

    6 June 2021

    +
    +
    +

    The stable 2021.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.05-rc3 released

    +

    31 May 2021

    +
    +
    +

    2021.05-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2021.05-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.05-rc2 released

    +

    22 May 2021

    +
    +
    +

    2021.05-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2021.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.2 released

    +

    12 May 2021

    +
    +
    +

    The 2021.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.05-rc1 released

    +

    12 May 2021

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2021.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2021.02.1 released

    +

    7 April 2021

    +
    +
    +

    The 2021.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.02.12 released, 2020.02.x series EOL

    +

    5 April 2021

    +
    +
    +

    The 2020.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.12 release.

    + +

    Notice that the 2020.02.x series is now end of life. Please migrate to + the 2021.02 series instead which will be supported until March 2022.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.11.4 released, 2020.11.x series EOL

    +

    5 April 2021

    +
    +
    +

    The 2020.11.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.11.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.11.4 release.

    + +

    Notice that the 2020.11.x series is now end of life. Please migrate to + the 2021.02 series instead which will be supported until March 2022.

    +
    +
    +
  • +
  • @@ -20,7 +742,8 @@

    2021.02 released

    The stable 2021.02 release is out - Thanks to everyone contributing and testing the release candidates. See the CHANGES - file for more details + file for more details, read the + announcement and go to the downloads page to pick up the 2021.02 release.

    diff --git a/docs/website/support.html b/docs/website/support.html index 6c602b42d2d..90231f601c3 100644 --- a/docs/website/support.html +++ b/docs/website/support.html @@ -19,15 +19,15 @@
    -

    The Buildroot IRC channel is - #buildroot, hosted on Freenode. If you do not have an IRC client, you can - use the Freenode web interface. +

    The Buildroot IRC channel is + #buildroot, hosted on OFTC. If you do not have an IRC client, you can + use the OFTC web interface. When asking for help on IRC, share relevant logs or pieces of code using a code sharing website.

    -

    Note that due to excessive spamming on Freenode, the channel can only be +

    Note that due to excessive spamming on IRC, the channel can only be joined if you are a registered user with - Freenode nickserv + OFTC NickServ service. Follow the instructions to register as a user with a password, and then join the #buildroot channel.

    @@ -45,22 +45,22 @@
-

The mailing list is for discussion and +

The mailing list is for discussion and development. You can subscribe by visiting - this page. - Only subscribers to the Buildroot mailing list are allowed to post - to this list.

+ this + page. Only subscribers to the Buildroot + mailing list are allowed to post to this + list. Archives are available + from Mailman + and lore.kernel.org.

Search the List Archives

Please search the mailing list archives before asking questions on the mailing list, since there is a good chance someone else has asked the same question before.

-
- - - - + +
diff --git a/fs/Config.in b/fs/Config.in index 37a2aa21f8a..eee5e26bb2b 100644 --- a/fs/Config.in +++ b/fs/Config.in @@ -11,6 +11,7 @@ source "fs/f2fs/Config.in" source "fs/initramfs/Config.in" source "fs/iso9660/Config.in" source "fs/jffs2/Config.in" +source "fs/oci/Config.in" source "fs/romfs/Config.in" source "fs/squashfs/Config.in" source "fs/tar/Config.in" diff --git a/fs/common.mk b/fs/common.mk index afab7b50fb7..37eafac4f7a 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -186,6 +186,8 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES) $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) + echo "find $$(TARGET_DIR)/run/ -mindepth 1 -prune -print0 | xargs -0r rm -rf --" >> $$(FAKEROOT_SCRIPT) + echo "find $$(TARGET_DIR)/tmp/ -mindepth 1 -prune -print0 | xargs -0r rm -rf --" >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_SELINUX)) >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) diff --git a/fs/erofs/Config.in b/fs/erofs/Config.in index d7360edeabf..e1125726888 100644 --- a/fs/erofs/Config.in +++ b/fs/erofs/Config.in @@ -11,4 +11,14 @@ config BR2_TARGET_ROOTFS_EROFS_LZ4HC help Use lz4 high-compression to compress data in the filesystem. +config BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE + int "pcluster size" + default 0 + help + Specify the maximum size of physical cluster in bytes, as a + multiple of 4KiB, for the big pcluster feature in order to + get much better compression ratios (thus better sequential + read performance for common storage devices), which has been + introduced since Linux 5.13. + endif # BR2_TARGET_ROOTFS_EROFS diff --git a/fs/erofs/erofs.mk b/fs/erofs/erofs.mk index 58559d48334..0e9d4401a93 100644 --- a/fs/erofs/erofs.mk +++ b/fs/erofs/erofs.mk @@ -10,6 +10,10 @@ ifeq ($(BR2_TARGET_ROOTFS_EROFS_LZ4HC),y) ROOTFS_EROFS_ARGS += -zlz4hc endif +ifneq ($(BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE),0) +ROOTFS_EROFS_ARGS += -C$(strip $(BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE)) +endif + define ROOTFS_EROFS_CMD $(HOST_DIR)/bin/mkfs.erofs $(ROOTFS_EROFS_ARGS) $@ $(TARGET_DIR) endef diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk index 74c99bd7b11..5b5393f0923 100644 --- a/fs/ext2/ext2.mk +++ b/fs/ext2/ext2.mk @@ -4,32 +4,32 @@ # ################################################################################ -EXT2_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_SIZE)) -ifeq ($(BR2_TARGET_ROOTFS_EXT2)-$(EXT2_SIZE),y-) +ROOTFS_EXT2_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_SIZE)) +ifeq ($(BR2_TARGET_ROOTFS_EXT2)-$(ROOTFS_EXT2_SIZE),y-) $(error BR2_TARGET_ROOTFS_EXT2_SIZE cannot be empty) endif -EXT2_MKFS_OPTS = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS)) +ROOTFS_EXT2_MKFS_OPTS = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS)) # qstrip results in stripping consecutive spaces into a single one. So the # variable is not qstrip-ed to preserve the integrity of the string value. -EXT2_LABEL = $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) +ROOTFS_EXT2_LABEL = $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) #" Syntax highlighting... :-/ ) -EXT2_OPTS = \ +ROOTFS_EXT2_OPTS = \ -d $(TARGET_DIR) \ -r $(BR2_TARGET_ROOTFS_EXT2_REV) \ -N $(BR2_TARGET_ROOTFS_EXT2_INODES) \ -m $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) \ - -L "$(EXT2_LABEL)" \ - $(EXT2_MKFS_OPTS) + -L "$(ROOTFS_EXT2_LABEL)" \ + $(ROOTFS_EXT2_MKFS_OPTS) ROOTFS_EXT2_DEPENDENCIES = host-e2fsprogs define ROOTFS_EXT2_CMD rm -f $@ - $(HOST_DIR)/sbin/mkfs.ext$(BR2_TARGET_ROOTFS_EXT2_GEN) $(EXT2_OPTS) $@ \ - "$(EXT2_SIZE)" \ + $(HOST_DIR)/sbin/mkfs.ext$(BR2_TARGET_ROOTFS_EXT2_GEN) $(ROOTFS_EXT2_OPTS) $@ \ + "$(ROOTFS_EXT2_SIZE)" \ || { ret=$$?; \ echo "*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)" 1>&2; \ exit $$ret; \ diff --git a/fs/iso9660/Config.in b/fs/iso9660/Config.in index 6f001c0640e..8c4e7badf8c 100644 --- a/fs/iso9660/Config.in +++ b/fs/iso9660/Config.in @@ -2,8 +2,7 @@ config BR2_TARGET_ROOTFS_ISO9660 bool "iso image" depends on (BR2_i386 || BR2_x86_64) depends on BR2_LINUX_KERNEL - depends on BR2_TARGET_GRUB2_I386_PC || \ - BR2_TARGET_SYSLINUX_ISOLINUX + depends on BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX select BR2_LINUX_KERNEL_INSTALL_TARGET \ if (!BR2_TARGET_ROOTFS_ISO9660_INITRD && !BR2_TARGET_ROOTFS_INITRAMFS) help @@ -27,19 +26,33 @@ choice config BR2_TARGET_ROOTFS_ISO9660_GRUB2 bool "grub2" - depends on BR2_TARGET_GRUB2_I386_PC + depends on BR2_TARGET_GRUB2 + select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER \ + if BR2_TARGET_GRUB2_I386_PC + select BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER \ + if (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) help Use Grub 2 as the bootloader for the ISO9660 image. Make sure to enable the 'iso9660' module in - BR2_TARGET_GRUB2_BUILTIN_MODULES and to use 'cd' as the boot - partition in BR2_TARGET_GRUB2_BOOT_PARTITION=. + BR2_TARGET_GRUB2_BUILTIN_MODULES_PC or + BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. Use 'cd' as the boot + partition in BR2_TARGET_GRUB2_BOOT_PARTITION= for GRUB on BIOS + or 'set root=(cd0)' in the configuration file passed to + BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI for GRUB on EFI. config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX bool "isolinux" depends on BR2_TARGET_SYSLINUX_ISOLINUX + select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER endchoice +config BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER + bool + +config BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER + bool + config BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU string "Boot menu config file" default "fs/iso9660/grub.cfg" if BR2_TARGET_ROOTFS_ISO9660_GRUB2 @@ -83,7 +96,7 @@ config BR2_TARGET_ROOTFS_ISO9660_HYBRID endif -comment "iso image needs a Linux kernel and either grub2 i386-pc or isolinux to be built" +comment "iso image needs a Linux kernel and either grub2 or isolinux to be built" depends on BR2_i386 || BR2_x86_64 depends on !BR2_LINUX_KERNEL || \ - !(BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_SYSLINUX_ISOLINUX) + !(BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX) diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk index a129655ce3e..0524f94c351 100644 --- a/fs/iso9660/iso9660.mk +++ b/fs/iso9660/iso9660.mk @@ -24,7 +24,7 @@ ROOTFS_ISO9660_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU)) -ROOTFS_ISO9660_DEPENDENCIES = host-cdrkit linux +ROOTFS_ISO9660_DEPENDENCIES = host-xorriso linux ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) ROOTFS_ISO9660_USE_INITRD = YES @@ -52,26 +52,54 @@ define ROOTFS_ISO9660_MKZFTREE $(ROOTFS_ISO9660_TMP_TARGET_DIR) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_MKZFTREE -ROOTFS_ISO9660_GENISOIMAGE_OPTS += -z +ROOTFS_ISO9660_OPTS += -z else ROOTFS_ISO9660_TMP_TARGET_DIR = $(TARGET_DIR) endif -ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2),y) +ifeq ($(BR2_REPRODUCIBLE),y) +ROOTFS_ISO9660_VFAT_OPTS = --invariant +ROOTFS_ISO9660_FIX_TIME = touch -d @$(SOURCE_DATE_EPOCH) +else +ROOTFS_ISO9660_FIX_TIME = : +endif + +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2)$(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),yy) ROOTFS_ISO9660_DEPENDENCIES += grub2 ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg ROOTFS_ISO9660_BOOT_IMAGE = boot/grub/grub-eltorito.img -define ROOTFS_ISO9660_INSTALL_BOOTLOADER +define ROOTFS_ISO9660_INSTALL_BOOTLOADER_BIOS $(INSTALL) -D -m 0644 $(BINARIES_DIR)/grub-eltorito.img \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub-eltorito.img endef -else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX),y) +endif + +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2)$(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),yy) +ROOTFS_ISO9660_DEPENDENCIES += grub2 host-dosfstools host-mtools +ROOTFS_ISO9660_EFI_PARTITION = boot/fat.efi +ROOTFS_ISO9660_EFI_PARTITION_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_EFI_PARTITION) +ROOTFS_ISO9660_EFI_PARTITION_CONTENT = $(BINARIES_DIR)/efi-part +ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg +define ROOTFS_ISO9660_INSTALL_BOOTLOADER_EFI + rm -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH) + mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH)) + dd if=/dev/zero of=$(ROOTFS_ISO9660_EFI_PARTITION_PATH) bs=1M count=1 + $(HOST_DIR)/sbin/mkfs.vfat $(ROOTFS_ISO9660_VFAT_OPTS) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) + $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* + $(HOST_DIR)/bin/mcopy -p -m -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) -s \ + $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* ::/ + $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) +endef +endif + +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX),y) ROOTFS_ISO9660_DEPENDENCIES += syslinux ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/isolinux.cfg ROOTFS_ISO9660_BOOT_IMAGE = isolinux/isolinux.bin -define ROOTFS_ISO9660_INSTALL_BOOTLOADER +define ROOTFS_ISO9660_INSTALL_BOOTLOADER_BIOS $(INSTALL) -D -m 0644 $(BINARIES_DIR)/syslinux/* \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/ldlinux.c32 \ @@ -84,7 +112,8 @@ define ROOTFS_ISO9660_PREPARATION $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) - $(ROOTFS_ISO9660_INSTALL_BOOTLOADER) + $(ROOTFS_ISO9660_INSTALL_BOOTLOADER_BIOS) + $(ROOTFS_ISO9660_INSTALL_BOOTLOADER_EFI) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_PREPARATION @@ -128,10 +157,32 @@ ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD endif # ROOTFS_ISO9660_USE_INITRD +ROOTFS_ISO9660_OPTS += -J -R + +ROOTFS_ISO9660_OPTS_BIOS = \ + -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ + -no-emul-boot \ + -boot-load-size 4 \ + -boot-info-table + +ROOTFS_ISO9660_OPTS_EFI = \ + --efi-boot $(ROOTFS_ISO9660_EFI_PARTITION) \ + -no-emul-boot + +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER)$(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),yy) +ROOTFS_ISO9660_OPTS += \ + $(ROOTFS_ISO9660_OPTS_BIOS) \ + -eltorito-alt-boot \ + $(ROOTFS_ISO9660_OPTS_EFI) +else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),y) +ROOTFS_ISO9660_OPTS += $(ROOTFS_ISO9660_OPTS_BIOS) +else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),y) +ROOTFS_ISO9660_OPTS += $(ROOTFS_ISO9660_OPTS_EFI) +endif + define ROOTFS_ISO9660_CMD - $(HOST_DIR)/bin/genisoimage -J -R -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ - -no-emul-boot -boot-load-size 4 -boot-info-table \ - $(ROOTFS_ISO9660_GENISOIMAGE_OPTS) \ + $(HOST_DIR)/bin/xorriso -as mkisofs \ + $(ROOTFS_ISO9660_OPTS) \ -o $@ $(ROOTFS_ISO9660_TMP_TARGET_DIR) endef diff --git a/fs/oci/Config.in b/fs/oci/Config.in new file mode 100644 index 00000000000..5e7aff282fd --- /dev/null +++ b/fs/oci/Config.in @@ -0,0 +1,106 @@ +config BR2_TARGET_ROOTFS_OCI + bool "oci image" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + help + Build an OCI (Open Container Initiative) image. + + By default, the image is generated in a directory called + rootfs-oci: + + $ cd output/images + $ ls rootfs-oci/ + blobs index.json oci-layout + + You can push the image to a registry. Example using skopeo: + + $ skopeo copy --dest-creds : \ + oci:rootfs-oci: docker:///[:tag] + + And pull/run it with docker: + + $ docker run -it /[:tag] + +if BR2_TARGET_ROOTFS_OCI + +config BR2_TARGET_ROOTFS_OCI_AUTHOR + string "author name and/or email address" + default "Buildroot" + help + Name and/or email address of the person which created the + image. + +config BR2_TARGET_ROOTFS_OCI_TAG + string "image tag" + default "latest" + help + Tag to be used in the container image. If empty, 'latest' will + be used by default. + +config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT + string "entrypoint" + default "sh" + help + Command to execute when the container starts. + + Spaces must be quoted or escaped, like for a shell string: + /usr/bin/env sh -c + /bin/my-init --some-option "1 2 3 4" some\ arg -- + + See the Docker documentation on how entrypoint and command + interact together: + https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact + +config BR2_TARGET_ROOTFS_OCI_CMD + string "command (or entrypoint arguments)" + help + Default command, or entrypoint arguments, of the container. + + Spaces must be quoted or escaped, like for a shell string: + "your shell scriptlet" + /usr/bin/env sh + + See the Docker documentation on how entrypoint and command + interact together: + https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact + +config BR2_TARGET_ROOTFS_OCI_WORKDIR + string "working directory" + help + Working directory of the entrypoint process in the + container. + +config BR2_TARGET_ROOTFS_OCI_UID + string "username or UID" + default "0" + help + The username or UID of user the process run as. + +config BR2_TARGET_ROOTFS_OCI_ENV_VARS + string "environment variables" + help + Default environment variables for the container. + Space-separated list of variable=value assignments. + +config BR2_TARGET_ROOTFS_OCI_PORTS + string "ports" + help + Default set of ports to expose from a container running + this image as a space-separted list of ports in the following + format: + + /tcp, /udp, (same as /tcp). + +config BR2_TARGET_ROOTFS_OCI_LABELS + string "labels" + help + Metadata in the format KEY=VALUE for the container compliant + with OCI annotation rules. If KEY starts with a dot, it will + be prefixed with "org.opencontainers.image" + (e.g. .url -> org.opencontainers.image.url). + +config BR2_TARGET_ROOTFS_OCI_ARCHIVE + bool "pack oci image into a tar archive" + help + Select whether the image should be packed into a TAR archive. + +endif diff --git a/fs/oci/oci.mk b/fs/oci/oci.mk new file mode 100644 index 00000000000..4458cf8ef94 --- /dev/null +++ b/fs/oci/oci.mk @@ -0,0 +1,86 @@ +################################################################################ +# +# Build the oci image +# +################################################################################ + +ROOTFS_OCI_DEPENDENCIES = host-sloci-image + +# architecture - take it from Go +OCI_SLOCI_IMAGE_OPTS = --arch $(GO_GOARCH) + +# architecture variant (typically used only for arm) +OCI_SLOCI_IMAGE_OPTS += $(and $(GO_GOARM),--arch-variant v$(GO_GOARM)) + +# entrypoint and command +# Special treatment: both the entrypoint and arguments (aka command) are +# a double-quoted, space-separated, escaped-double-quoted string, like: +# "foo \"1 2 3 4\" ' a b c d ' bar\ buz" +# which should be interpreted as a 4-item list (using single quotes to +# delimit them and see leading/trailing spaces): +# 'foo' +# '1 2 3 4' +# ' a b c d ' +# 'bar buz' +# +# We use some trickery to have the shell properly expand this into a list +# where each item is single-quoted and prefixed with the appropriate +# option string: +OCI_SLOCI_IMAGE_OPTS += \ + $(shell eval printf -- "--entrypoint\ \'%s\'\ " $(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT)) \ + $(shell eval printf -- "--cmd\ \'%s\'\ " $(BR2_TARGET_ROOTFS_OCI_CMD)) + +# author +OCI_AUTHOR = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_AUTHOR)) +ifneq ($(OCI_AUTHOR),) +OCI_SLOCI_IMAGE_OPTS += --author "$(OCI_AUTHOR)" +endif + +# username or UID +OCI_UID = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_UID)) +ifneq ($(OCI_UID),) +OCI_SLOCI_IMAGE_OPTS += --user "$(OCI_UID)" +endif + +# labels +OCI_LABELS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_LABELS)) +ifneq ($(OCI_LABELS),) +OCI_SLOCI_IMAGE_OPTS += \ + $(foreach label,$(OCI_LABELS),--label "$(label)") +endif + +# environment variables +OCI_ENV_VARS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENV_VARS)) +ifneq ($(OCI_ENV_VARS),) +OCI_SLOCI_IMAGE_OPTS += \ + $(foreach var,$(OCI_ENV_VARS),--env "$(var)") +endif + +# working directory +OCI_WORKDIR = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_WORKDIR)) +ifneq ($(OCI_WORKDIR),) +OCI_SLOCI_IMAGE_OPTS += --working-dir "$(OCI_WORKDIR)" +endif + +# ports +OCI_PORTS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_PORTS)) +ifneq ($(OCI_PORTS),) +OCI_SLOCI_IMAGE_OPTS += \ + $(foreach port,$(OCI_PORTS),--port "$(port)") +endif + +# tag +OCI_TAG = $(or $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_TAG)),latest) + +# enable tar archive +ifeq ($(BR2_TARGET_ROOTFS_OCI_ARCHIVE),y) +OCI_SLOCI_IMAGE_OPTS += --tar +endif + +define ROOTFS_OCI_CMD + rm -rf $(BINARIES_DIR)/rootfs-oci + $(HOST_DIR)/bin/sloci-image $(OCI_SLOCI_IMAGE_OPTS) $(TARGET_DIR) \ + $(BINARIES_DIR)/rootfs-oci:$(OCI_TAG) +endef + +$(eval $(rootfs)) diff --git a/linux/Config.ext.in b/linux/Config.ext.in index 734a52a5330..5b968b0bcb8 100644 --- a/linux/Config.ext.in +++ b/linux/Config.ext.in @@ -48,6 +48,9 @@ comment "xenomai needs a uClibc or glibc toolchain w/ threads" # RTAI config BR2_LINUX_KERNEL_EXT_RTAI bool "RTAI Real-time patch" + depends on !BR2_LINUX_KERNEL_LATEST_VERSION + depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION + depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION select BR2_PACKAGE_RTAI help RTAI Kernel part. diff --git a/linux/Config.in b/linux/Config.in index 5b3a626871c..9880db0a66f 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -28,10 +28,12 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (5.10)" + bool "Latest version (5.15)" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 if BR2_KERNEL_HEADERS_AS_KERNEL config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (4.19.152-cip37)" + bool "Latest CIP SLTS version (5.10.115-cip7)" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -44,18 +46,19 @@ config BR2_LINUX_KERNEL_LATEST_CIP_VERSION implementation of software building blocks that meet these requirements. - The CIP community plans to maintain 4.19 for security and + The CIP community plans to maintain 5.10 for security and bug fixes for more than 10 years. https://www.cip-project.org config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION - bool "Latest CIP RT SLTS version (4.19.152-cip37-rt16)" + bool "Latest CIP RT SLTS version (5.10.109-cip5-rt4)" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL help Same as the CIP version, but this is the PREEMPT_RT realtime variant. - The CIP community plans to maintain 4.19 for security and + The CIP community plans to maintain 5.10 for security and bug fixes for more than 10 years. https://www.cip-project.org @@ -125,9 +128,9 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "5.10.19" if BR2_LINUX_KERNEL_LATEST_VERSION - default "4.19.152-cip37" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION - default "4.19.152-cip37-rt16" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION + default "5.15.45" if BR2_LINUX_KERNEL_LATEST_VERSION + default "5.10.115-cip7" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "5.10.109-cip5-rt4" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -261,11 +264,11 @@ config BR2_LINUX_KERNEL_SIMPLEIMAGE config BR2_LINUX_KERNEL_IMAGE bool "Image" - depends on BR2_aarch64 || BR2_riscv + depends on BR2_aarch64 || BR2_aarch64_be || BR2_riscv config BR2_LINUX_KERNEL_IMAGEGZ bool "Image.gz" - depends on BR2_aarch64 || BR2_riscv + depends on BR2_aarch64 || BR2_aarch64_be || BR2_riscv config BR2_LINUX_KERNEL_LINUX_BIN bool "linux.bin" @@ -329,6 +332,10 @@ config BR2_LINUX_KERNEL_XZ config BR2_LINUX_KERNEL_ZSTD bool "zstd compression" +config BR2_LINUX_KERNEL_UNCOMPRESSED + bool "uncompressed" + depends on BR2_s390x + endchoice config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME @@ -407,9 +414,10 @@ config BR2_LINUX_KERNEL_INTREE_DTS_NAME config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH string "Out-of-tree Device Tree Source file paths" help - Path to to out-of-tree device tree source files. - You can provide a list of dts paths to copy and - build, separated by spaces. + Paths to out-of-tree Device Tree Source (.dts) and Device Tree + Source Include (.dtsi) files, separated by spaces. These files + will be copied to the kernel sources and the .dts files will + be compiled from there. config BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME bool "Keep the directory name of the Device Tree" @@ -466,6 +474,18 @@ config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". +config BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE + bool "Needs host pahole" + help + Some Linux kernel configuration options (such as + CONFIG_DEBUG_INFO_BTF) require building a host program + called pahole. Enabling this option will ensure host-pahole + gets built before the Linux kernel. + + Enable this option if you get a Linux kernel build failure + such as "BTF: .tmp_vmlinux.btf: pahole (pahole) is not + available". + # Linux extensions source "linux/Config.ext.in" diff --git a/linux/linux.hash b/linux/linux.hash index 6ab7a6989e4..315da719676 100644 --- a/linux/linux.hash +++ b/linux/linux.hash @@ -1,14 +1,16 @@ # From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256 27e7bbb0de7f0acc29c3c2e0a70c9a5fafc5fcf250993ce48713f809862ab4d6 linux-5.10.19.tar.xz -sha256 4e118c072dbe3209ddeaff32ecc558f7e809d54e661550342079f1ee76d9349d linux-5.4.101.tar.xz +sha256 d8060dc88f862baaae66b42a2dbc12298ed667c698eb5c55617a7786ee47bf25 linux-5.16.20.tar.xz +sha256 b2390d7d977c66036ef0ceb294e408f2bdaab6dfeeb8ff4f4e0a84b71f8d8754 linux-5.15.45.tar.xz +sha256 5b7a756004158ece2f5e41795ba523ec201743a736e34ce41cbe09177f7d0e8b linux-5.10.120.tar.xz +sha256 c2ad17b3fc70cd05d9e0766abe9b5aa9409fc2cc86a200eaa57c8f837afe36a8 linux-5.4.197.tar.xz # From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc -sha256 0c41611ae151b80723eb68c75f8a3366756f93e8748ab0892255344f38d76665 linux-4.4.258.tar.xz -sha256 d478f8e069f6d8b86b0a69f99252ea9e7cd7070bf6bdd0e9b3773ee418e5c8cd linux-4.9.258.tar.xz -sha256 734082b03d9f8e43b123b0061f08045b70c34e3a4b09f8a8da6a287686dac744 linux-4.14.222.tar.xz -sha256 ac0eb3794e01eac66bea3ab39b8776dadf15c418ddc534ccfd95a0270302357d linux-4.19.177.tar.xz +sha256 35017bb40b604e0b577fc2b87e727632b46608a2ba3a4f5858b9177f58f376b3 linux-4.4.302.tar.xz +sha256 7ea3369b915c99b38528dbf68c491f3f9324b2f4e56eac980dd7524d2fc30d1b linux-4.9.317.tar.xz +sha256 6637c8470c3093a477d2de6fa9e0f63c55810438a411c73bcd723634371657a3 linux-4.14.282.tar.xz +sha256 00ad2f5a36c91221a2ade0078b93bf84b60d494bd1ef51eaccb5bdb6277dba3a linux-4.19.246.tar.xz # Locally computed -sha256 d2a06f52143deb929b8d513cf9afc9bd065951389a80fa70bc4d63025b5b3fb9 linux-cip-4.19.152-cip37.tar.gz -sha256 bc1dacd3d0f526de3e8754a444e8e02a54521527af639ddb907cb35cda775a8c linux-cip-4.19.152-cip37-rt16.tar.gz +sha256 f3559be277be9200897022282be18cfc0278d1d8baec8058305b04b9cd72002a linux-cip-5.10.115-cip7.tar.gz +sha256 71fba4ed5cb48fa7869e9fe271b68b77fed26775ce5cf2f50891aa8f71c388b3 linux-cip-5.10.109-cip5-rt4.tar.gz # Licenses hashes sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING diff --git a/linux/linux.mk b/linux/linux.mk index 2366961b13d..1c0ad6cfdfa 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -16,13 +16,6 @@ LINUX_CPE_ID_VENDOR = linux LINUX_CPE_ID_PRODUCT = linux_kernel LINUX_CPE_ID_PREFIX = cpe:2.3:o -define LINUX_HELP_CMDS - @echo ' linux-menuconfig - Run Linux kernel menuconfig' - @echo ' linux-savedefconfig - Run Linux kernel savedefconfig' - @echo ' linux-update-defconfig - Save the Linux configuration to the path specified' - @echo ' by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE' -endef - # Compute LINUX_SOURCE and LINUX_SITE from the configuration ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y) LINUX_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) @@ -77,8 +70,15 @@ LINUX_MAKE_ENV = \ BR_BINARIES_DIR=$(BINARIES_DIR) LINUX_INSTALL_IMAGES = YES -LINUX_DEPENDENCIES = host-kmod \ - $(if $(BR2_PACKAGE_INTEL_MICROCODE),intel-microcode) +LINUX_DEPENDENCIES = host-kmod + +# The kernel CONFIG_EXTRA_FIRMWARE feature requires firmware files at build +# time. Make sure they are available before the kernel builds. +LINUX_DEPENDENCIES += \ + $(if $(BR2_PACKAGE_INTEL_MICROCODE),intel-microcode) \ + $(if $(BR2_PACKAGE_LINUX_FIRMWARE),linux-firmware) \ + $(if $(BR2_PACKAGE_FREESCALE_IMX),firmware-imx) \ + $(if $(BR2_PACKAGE_WIRELESS_REGDB),wireless-regdb) # Starting with 4.16, the generated kconfig paser code is no longer # shipped with the kernel sources, so we need flex and bison, but @@ -110,6 +110,7 @@ LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) += CONFIG_KERNEL_LZMA LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) += CONFIG_KERNEL_LZO LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_ZSTD) += CONFIG_KERNEL_ZSTD +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_UNCOMPRESSED) += CONFIG_KERNEL_UNCOMPRESSED ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y) LINUX_DEPENDENCIES += host-openssl @@ -119,6 +120,17 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y) LINUX_DEPENDENCIES += host-elfutils host-pkgconf endif +ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE),y) +LINUX_DEPENDENCIES += host-pahole +else +define LINUX_FIXUP_CONFIG_PAHOLE_CHECK + if grep -q "^CONFIG_DEBUG_INFO_BTF=y" $(KCONFIG_DOT_CONFIG); then \ + echo "To use CONFIG_DEBUG_INFO_BTF, enable host-pahole (BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE)" 1>&2; \ + exit 1; \ + fi +endef +endif + # If host-uboot-tools is selected by the user, assume it is needed to # create a custom image ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y) @@ -135,11 +147,14 @@ endif # We don't want to run depmod after installing the kernel. It's done in a # target-finalize hook, to encompass modules installed by packages. +# Disable building host tools with -Werror: newer gcc versions can be +# extra picky about some code (https://bugs.busybox.net/show_bug.cgi?id=14826) LINUX_MAKE_FLAGS = \ HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \ + WERROR=0 \ DEPMOD=$(HOST_DIR)/sbin/depmod ifeq ($(BR2_REPRODUCIBLE),y) @@ -236,6 +251,8 @@ ifeq ($(KERNEL_ARCH),i386) LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86 else ifeq ($(KERNEL_ARCH),x86_64) LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86 +else ifeq ($(KERNEL_ARCH),sparc64) +LINUX_ARCH_PATH = $(LINUX_DIR)/arch/sparc else LINUX_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH) endif @@ -262,6 +279,13 @@ endef LINUX_POST_PATCH_HOOKS += LINUX_APPLY_LOCAL_PATCHES +# Older versions break on gcc 10+ because of redefined symbols +define LINUX_DROP_YYLLOC + $(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \ + |xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d' +endef +LINUX_POST_PATCH_HOOKS += LINUX_DROP_YYLLOC + # Older linux kernels use deprecated perl constructs in timeconst.pl # that were removed for perl 5.22+ so it breaks on newer distributions # Try a dry-run patch to see if this applies, if it does go ahead @@ -286,7 +310,11 @@ endif ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) LINUX_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig else ifeq ($(BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG),y) +ifeq ($(BR2_powerpc64le),y) +LINUX_KCONFIG_DEFCONFIG = ppc64le_defconfig +else LINUX_KCONFIG_DEFCONFIG = defconfig +endif else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y) LINUX_KCONFIG_FILE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)) endif @@ -329,6 +357,7 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_DISABLE_OPT,$(opt)) ) $(LINUX_FIXUP_CONFIG_ENDIANNESS) + $(LINUX_FIXUP_CONFIG_PAHOLE_CHECK) $(if $(BR2_arm)$(BR2_armeb), $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI)) $(if $(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le), @@ -549,6 +578,12 @@ endif ifeq ($(BR_BUILDING),y) +ifeq ($(BR2_LINUX_KERNEL_CUSTOM_VERSION),y) +ifeq ($(LINUX_VERSION),) +$(error No custom kernel version set. Check your BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE setting) +endif +endif + ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) # We must use the user-supplied kconfig value, because # LINUX_KCONFIG_DEFCONFIG will at least contain the diff --git a/package/4th/4th.hash b/package/4th/4th.hash index 36d29410550..ae08a6bf5ec 100644 --- a/package/4th/4th.hash +++ b/package/4th/4th.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f822f7dd8cfb0b1744a62d653c6efe933578ae1789ec60a088509a38bca4b4fc 4th-3.62.5-unix.tar.gz +sha256 c0905e92316c151224858fcfff21c143c85efa4f9f1b2ade3c64cfd988e0a6a8 4th-3.64.0-unix.tar.gz sha256 8c6111b645a02219579ea66e84aa8e78a0ed4f4dd80857ffb91bcda5528717d4 COPYING diff --git a/package/4th/4th.mk b/package/4th/4th.mk index aee59c463f3..d031c0e4b4b 100644 --- a/package/4th/4th.mk +++ b/package/4th/4th.mk @@ -4,7 +4,7 @@ # ################################################################################ -4TH_VERSION = 3.62.5 +4TH_VERSION = 3.64.0 4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz 4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION) 4TH_LICENSE = GPL-3.0+, LGPL-3.0+ diff --git a/package/Config.in b/package/Config.in index d5e006974ad..dbf8cd82a62 100644 --- a/package/Config.in +++ b/package/Config.in @@ -62,6 +62,7 @@ menu "Audio and video applications" source "package/wavpack/Config.in" source "package/yavta/Config.in" source "package/ympd/Config.in" + source "package/zynaddsubfx/Config.in" endmenu menu "Compressors and decompressors" @@ -85,6 +86,7 @@ menu "Debugging, profiling and benchmark" source "package/babeltrace2/Config.in" source "package/blktrace/Config.in" source "package/bonnie/Config.in" + source "package/bpftool/Config.in" source "package/cache-calibrator/Config.in" source "package/clinfo/Config.in" source "package/coremark/Config.in" @@ -109,6 +111,7 @@ menu "Debugging, profiling and benchmark" source "package/kvm-unit-tests/Config.in" source "package/kyua/Config.in" source "package/latencytop/Config.in" + source "package/libbpf/Config.in" source "package/lmbench/Config.in" source "package/lsof/Config.in" source "package/ltp-testsuite/Config.in" @@ -126,12 +129,14 @@ menu "Debugging, profiling and benchmark" source "package/pcm-tools/Config.in" source "package/piglit/Config.in" source "package/ply/Config.in" + source "package/poke/Config.in" source "package/ptm2human/Config.in" source "package/pv/Config.in" source "package/racehound/Config.in" source "package/ramsmp/Config.in" source "package/ramspeed/Config.in" source "package/rt-tests/Config.in" + source "package/rwmem/Config.in" source "package/sentry-native/Config.in" source "package/spidev_test/Config.in" source "package/strace/Config.in" @@ -144,6 +149,7 @@ menu "Debugging, profiling and benchmark" source "package/trace-cmd/Config.in" source "package/trinity/Config.in" source "package/uclibc-ng-test/Config.in" + source "package/uftrace/Config.in" source "package/valgrind/Config.in" source "package/vmtouch/Config.in" source "package/whetstone/Config.in" @@ -178,6 +184,7 @@ menu "Development tools" source "package/jq/Config.in" source "package/libtool/Config.in" source "package/make/Config.in" + source "package/mawk/Config.in" source "package/patch/Config.in" source "package/pkgconf/Config.in" source "package/ripgrep/Config.in" @@ -192,6 +199,7 @@ menu "Filesystem and flash utilities" source "package/aufs/Config.in" source "package/aufs-util/Config.in" source "package/autofs/Config.in" + source "package/bmap-tools/Config.in" source "package/btrfs-progs/Config.in" source "package/cifs-utils/Config.in" source "package/cpio/Config.in" @@ -207,6 +215,7 @@ menu "Filesystem and flash utilities" source "package/exfat-utils/Config.in" source "package/exfatprogs/Config.in" source "package/f2fs-tools/Config.in" + source "package/firmware-utils/Config.in" source "package/flashbench/Config.in" source "package/fscryptctl/Config.in" source "package/fuse-overlayfs/Config.in" @@ -214,6 +223,7 @@ menu "Filesystem and flash utilities" source "package/genext2fs/Config.in" source "package/genpart/Config.in" source "package/genromfs/Config.in" + source "package/gocryptfs/Config.in" source "package/imx-usb-loader/Config.in" source "package/mmc-utils/Config.in" source "package/mtd/Config.in" @@ -228,6 +238,7 @@ menu "Filesystem and flash utilities" source "package/udftools/Config.in" source "package/unionfs/Config.in" source "package/xfsprogs/Config.in" + source "package/zfs/Config.in" endmenu menu "Fonts, cursors, icons, sounds and themes" @@ -299,12 +310,14 @@ comment "Graphic applications" source "package/kmscube/Config.in" source "package/libva-utils/Config.in" source "package/mesa3d-demos/Config.in" + source "package/midori/Config.in" source "package/netsurf/Config.in" source "package/pngquant/Config.in" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" source "package/stellarium/Config.in" source "package/tesseract-ocr/Config.in" + source "package/tinifier/Config.in" comment "Graphic libraries" source "package/cegui/Config.in" @@ -320,6 +333,7 @@ comment "Graphic libraries" source "package/freerdp/Config.in" source "package/graphicsmagick/Config.in" source "package/imagemagick/Config.in" + source "package/libglvnd/Config.in" source "package/linux-fusion/Config.in" source "package/lite/Config.in" source "package/mesa3d/Config.in" @@ -341,6 +355,7 @@ comment "Graphic libraries" source "package/sdl2_net/Config.in" source "package/sdl2_ttf/Config.in" source "package/tk/Config.in" + source "package/vulkan-headers/Config.in" comment "Other GUIs" source "package/qt5/Config.in" @@ -353,6 +368,7 @@ comment "QT libraries and helper libraries" source "package/qjson/Config.in" source "package/quazip/Config.in" source "package/qwt/Config.in" + source "package/simple-mail/Config.in" endif source "package/tekui/Config.in" source "package/weston/Config.in" @@ -369,7 +385,7 @@ comment "X applications" source "package/gmpc/Config.in" source "package/gtkperf/Config.in" source "package/leafpad/Config.in" - source "package/midori/Config.in" + source "package/mupdf/Config.in" source "package/nodm/Config.in" source "package/pcmanfm/Config.in" source "package/qt-webkit-kiosk/Config.in" @@ -406,14 +422,13 @@ menu "Firmware" source "package/am33x-cm3/Config.in" source "package/armbian-firmware/Config.in" source "package/b43-firmware/Config.in" + source "package/brcmfmac_sdio-firmware-rpi/Config.in" source "package/linux-firmware/Config.in" source "package/murata-cyw-fw/Config.in" source "package/odroidc2-firmware/Config.in" source "package/qcom-db410c-firmware/Config.in" source "package/rcw-smarc-sal28/Config.in" - source "package/rpi-bt-firmware/Config.in" source "package/rpi-firmware/Config.in" - source "package/rpi-wifi-firmware/Config.in" source "package/sunxi-boards/Config.in" source "package/ts4900-fpga/Config.in" source "package/ux500-firmware/Config.in" @@ -443,8 +458,10 @@ endmenu source "package/cwiid/Config.in" source "package/dahdi-linux/Config.in" source "package/dahdi-tools/Config.in" + source "package/davinci-bootcount/Config.in" source "package/dbus/Config.in" source "package/dbus-cpp/Config.in" + source "package/dbus-cxx/Config.in" source "package/dbus-glib/Config.in" source "package/dbus-python/Config.in" source "package/dbus-triggerd/Config.in" @@ -452,11 +469,13 @@ endmenu source "package/dmidecode/Config.in" source "package/dmraid/Config.in" source "package/dt-utils/Config.in" + source "package/dtbocfg/Config.in" source "package/dtv-scan-tables/Config.in" source "package/dump1090/Config.in" source "package/dvb-apps/Config.in" source "package/dvbsnoop/Config.in" source "package/edid-decode/Config.in" + source "package/edk2-platforms/Config.in" source "package/eudev/Config.in" source "package/ev3dev-linux-drivers/Config.in" source "package/evemu/Config.in" @@ -466,6 +485,7 @@ endmenu source "package/fconfig/Config.in" source "package/flashrom/Config.in" source "package/fmtools/Config.in" + source "package/freeipmi/Config.in" source "package/freescale-imx/Config.in" source "package/fru-tools/Config.in" source "package/fxload/Config.in" @@ -481,7 +501,6 @@ endmenu source "package/i7z/Config.in" source "package/input-event-daemon/Config.in" source "package/intel-microcode/Config.in" - source "package/iostat/Config.in" source "package/ipmitool/Config.in" source "package/ipmiutil/Config.in" source "package/irda-utils/Config.in" @@ -501,6 +520,7 @@ endmenu source "package/lsuio/Config.in" source "package/luksmeta/Config.in" source "package/lvm2/Config.in" + source "package/mali-driver/Config.in" source "package/mali-t76x/Config.in" source "package/mbpfan/Config.in" source "package/mdadm/Config.in" @@ -533,16 +553,20 @@ endmenu source "package/pps-tools/Config.in" source "package/pru-software-support/Config.in" source "package/pulseview/Config.in" + source "package/qoriq-cadence-dp-firmware/Config.in" source "package/raspi-gpio/Config.in" source "package/read-edid/Config.in" source "package/rng-tools/Config.in" + source "package/rockchip-mali/Config.in" source "package/rpi-userland/Config.in" source "package/rs485conf/Config.in" source "package/rtc-tools/Config.in" source "package/rtl8188eu/Config.in" + source "package/rtl8189es/Config.in" source "package/rtl8189fs/Config.in" source "package/rtl8723bs/Config.in" source "package/rtl8723bu/Config.in" + source "package/rtl8812au-aircrack-ng/Config.in" source "package/rtl8821au/Config.in" source "package/sane-backends/Config.in" source "package/sdparm/Config.in" @@ -558,8 +582,8 @@ endmenu source "package/statserial/Config.in" source "package/stm32flash/Config.in" source "package/sunxi-cedarx/Config.in" - source "package/sunxi-mali-mainline/Config.in" - source "package/sunxi-mali-mainline-driver/Config.in" + source "package/sunxi-mali-utgard/Config.in" + source "package/sunxi-mali-utgard-driver/Config.in" source "package/sysstat/Config.in" source "package/targetcli-fb/Config.in" source "package/ti-gfx/Config.in" @@ -581,6 +605,7 @@ endmenu source "package/upower/Config.in" source "package/usb_modeswitch/Config.in" source "package/usb_modeswitch_data/Config.in" + source "package/usbguard/Config.in" source "package/usbmount/Config.in" source "package/usbutils/Config.in" source "package/w_scan/Config.in" @@ -625,6 +650,7 @@ endif source "package/gauche/Config.in" source "package/guile/Config.in" source "package/haserl/Config.in" + source "package/janet/Config.in" source "package/jimtcl/Config.in" source "package/lua/Config.in" source "package/luainterpreter/Config.in" @@ -649,9 +675,12 @@ menu "Lua libraries/modules" source "package/lpty/Config.in" source "package/lrandom/Config.in" source "package/lsqlite3/Config.in" + source "package/lua-argon2/Config.in" + source "package/lua-augeas/Config.in" source "package/lua-basexx/Config.in" source "package/lua-binaryheap/Config.in" source "package/lua-bit32/Config.in" + source "package/lua-cffi/Config.in" source "package/lua-cjson/Config.in" source "package/lua-coat/Config.in" source "package/lua-coatpersistent/Config.in" @@ -667,10 +696,12 @@ menu "Lua libraries/modules" source "package/lua-gd/Config.in" source "package/lua-http/Config.in" source "package/lua-iconv/Config.in" + source "package/lua-inotify/Config.in" source "package/lua-livr/Config.in" source "package/lua-livr-extra/Config.in" source "package/lua-lpeg-patterns/Config.in" source "package/lua-lunitx/Config.in" + source "package/lua-lunix/Config.in" source "package/lua-lyaml/Config.in" source "package/lua-markdown/Config.in" source "package/lua-messagepack/Config.in" @@ -687,6 +718,7 @@ menu "Lua libraries/modules" source "package/lua-testmore/Config.in" source "package/lua-utf8/Config.in" source "package/lua-valua/Config.in" + source "package/lua-zlib/Config.in" source "package/luabitop/Config.in" source "package/luadbi/Config.in" source "package/luadbi-sqlite3/Config.in" @@ -819,6 +851,7 @@ menu "Perl libraries/modules" source "package/perl-number-bytes-human/Config.in" source "package/perl-package-stash/Config.in" source "package/perl-params-util/Config.in" + source "package/perl-parse-yapp/Config.in" source "package/perl-path-tiny/Config.in" source "package/perl-plack/Config.in" source "package/perl-posix-strftime-compiler/Config.in" @@ -849,10 +882,14 @@ if BR2_PACKAGE_PHP if !BR2_STATIC_LIBS menu "External php extensions" source "package/php-amqp/Config.in" + source "package/php-apcu/Config.in" source "package/php-geoip/Config.in" source "package/php-gnupg/Config.in" source "package/php-imagick/Config.in" + source "package/php-lua/Config.in" source "package/php-memcached/Config.in" + source "package/php-pam/Config.in" + source "package/php-pecl-dbus/Config.in" source "package/php-ssh2/Config.in" source "package/php-xdebug/Config.in" source "package/php-yaml/Config.in" @@ -863,11 +900,11 @@ if BR2_STATIC_LIBS comment "External PHP extensions need a toolchain w/ dynamic library" endif endif - source "package/python/Config.in" source "package/python3/Config.in" -if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 +if BR2_PACKAGE_PYTHON3 menu "External python modules" source "package/python-aenum/Config.in" + source "package/python-aexpect/Config.in" source "package/python-aioblescan/Config.in" source "package/python-aiocoap/Config.in" source "package/python-aioconsole/Config.in" @@ -885,6 +922,7 @@ menu "External python modules" source "package/python-aiojobs/Config.in" source "package/python-aiologstash/Config.in" source "package/python-aiomonitor/Config.in" + source "package/python-aioprocessing/Config.in" source "package/python-aioredis/Config.in" source "package/python-aiorwlock/Config.in" source "package/python-aiosignal/Config.in" @@ -893,23 +931,22 @@ menu "External python modules" source "package/python-ansicolors/Config.in" source "package/python-argh/Config.in" source "package/python-argon2-cffi/Config.in" + source "package/python-argon2-cffi-bindings/Config.in" source "package/python-arrow/Config.in" source "package/python-asgiref/Config.in" source "package/python-asn1crypto/Config.in" source "package/python-async-lru/Config.in" source "package/python-async-timeout/Config.in" source "package/python-attrs/Config.in" + source "package/python-augeas/Config.in" source "package/python-autobahn/Config.in" source "package/python-automat/Config.in" source "package/python-avro/Config.in" source "package/python-babel/Config.in" source "package/python-backcall/Config.in" - source "package/python-backports-abc/Config.in" - source "package/python-backports-functools-lru-cache/Config.in" - source "package/python-backports-shutil-get-terminal-size/Config.in" - source "package/python-backports-ssl-match-hostname/Config.in" source "package/python-bcrypt/Config.in" source "package/python-beautifulsoup4/Config.in" + source "package/python-bidict/Config.in" source "package/python-bitstring/Config.in" source "package/python-bleak/Config.in" source "package/python-bluezero/Config.in" @@ -931,15 +968,14 @@ menu "External python modules" source "package/python-channels-redis/Config.in" source "package/python-characteristic/Config.in" source "package/python-chardet/Config.in" + source "package/python-charset-normalizer/Config.in" source "package/python-cheetah/Config.in" source "package/python-cheroot/Config.in" source "package/python-cherrypy/Config.in" source "package/python-click/Config.in" - source "package/python-coherence/Config.in" source "package/python-colorama/Config.in" source "package/python-colorlog/Config.in" source "package/python-colorzero/Config.in" - source "package/python-configobj/Config.in" source "package/python-configshell-fb/Config.in" source "package/python-constantly/Config.in" source "package/python-couchdb/Config.in" @@ -950,6 +986,7 @@ menu "External python modules" source "package/python-crossbar/Config.in" source "package/python-cryptography/Config.in" source "package/python-cssselect/Config.in" + source "package/python-cssselect2/Config.in" source "package/python-cssutils/Config.in" source "package/python-cycler/Config.in" source "package/python-daemon/Config.in" @@ -957,11 +994,12 @@ menu "External python modules" source "package/python-daphne/Config.in" source "package/python-dataproperty/Config.in" source "package/python-dateutil/Config.in" + source "package/python-dbus-next/Config.in" source "package/python-decorator/Config.in" source "package/python-defusedxml/Config.in" - source "package/python-dialog/Config.in" source "package/python-dialog3/Config.in" source "package/python-dicttoxml/Config.in" + source "package/python-distro/Config.in" source "package/python-django/Config.in" source "package/python-django-enumfields/Config.in" source "package/python-dnspython/Config.in" @@ -975,8 +1013,6 @@ menu "External python modules" source "package/python-ecdsa/Config.in" source "package/python-engineio/Config.in" source "package/python-entrypoints/Config.in" - source "package/python-enum/Config.in" - source "package/python-enum34/Config.in" source "package/python-esptool/Config.in" source "package/python-falcon/Config.in" source "package/python-filelock/Config.in" @@ -984,16 +1020,19 @@ menu "External python modules" source "package/python-flask/Config.in" source "package/python-flask-babel/Config.in" source "package/python-flask-cors/Config.in" + source "package/python-flask-expects-json/Config.in" source "package/python-flask-jsonrpc/Config.in" source "package/python-flask-login/Config.in" source "package/python-flask-sqlalchemy/Config.in" + source "package/python-flask-wtf/Config.in" source "package/python-flatbuffers/Config.in" source "package/python-flup/Config.in" + source "package/python-fonttools/Config.in" source "package/python-frozenlist/Config.in" - source "package/python-functools32/Config.in" source "package/python-future/Config.in" - source "package/python-futures/Config.in" + source "package/python-git/Config.in" source "package/python-gitdb2/Config.in" + source "package/python-gnupg/Config.in" source "package/python-gobject/Config.in" source "package/python-gpiozero/Config.in" source "package/python-greenlet/Config.in" @@ -1008,7 +1047,6 @@ menu "External python modules" source "package/python-hyperframe/Config.in" source "package/python-hyperlink/Config.in" source "package/python-ibmiotf/Config.in" - source "package/python-id3/Config.in" source "package/python-idna/Config.in" source "package/python-ifaddr/Config.in" source "package/python-incremental/Config.in" @@ -1018,8 +1056,6 @@ menu "External python modules" source "package/python-iniparse/Config.in" source "package/python-intelhex/Config.in" source "package/python-iowait/Config.in" - source "package/python-ipaddr/Config.in" - source "package/python-ipaddress/Config.in" source "package/python-ipdb/Config.in" source "package/python-iptables/Config.in" source "package/python-ipy/Config.in" @@ -1027,6 +1063,7 @@ menu "External python modules" source "package/python-ipython-genutils/Config.in" source "package/python-iso8601/Config.in" source "package/python-itsdangerous/Config.in" + source "package/python-iwlib/Config.in" source "package/python-janus/Config.in" source "package/python-jaraco-classes/Config.in" source "package/python-jaraco-functools/Config.in" @@ -1047,18 +1084,18 @@ menu "External python modules" source "package/python-lxml/Config.in" source "package/python-m2crypto/Config.in" source "package/python-m2r/Config.in" - source "package/python-mad/Config.in" source "package/python-mako/Config.in" source "package/python-markdown/Config.in" source "package/python-markdown2/Config.in" source "package/python-markupsafe/Config.in" source "package/python-matplotlib/Config.in" source "package/python-mbstrdecoder/Config.in" - source "package/python-meld3/Config.in" + source "package/python-memory-profiler/Config.in" source "package/python-mimeparse/Config.in" source "package/python-mistune/Config.in" source "package/python-modbus-tk/Config.in" source "package/python-more-itertools/Config.in" + source "package/python-mpd2/Config.in" source "package/python-msgfy/Config.in" source "package/python-msgpack/Config.in" source "package/python-multidict/Config.in" @@ -1071,17 +1108,14 @@ menu "External python modules" source "package/python-netifaces/Config.in" source "package/python-networkmanager/Config.in" source "package/python-networkx/Config.in" - source "package/python-nfc/Config.in" source "package/python-numpy/Config.in" source "package/python-oauthlib/Config.in" source "package/python-opcua-asyncio/Config.in" source "package/python-packaging/Config.in" source "package/python-paho-mqtt/Config.in" - source "package/python-pam/Config.in" source "package/python-paramiko/Config.in" source "package/python-parso/Config.in" source "package/python-passlib/Config.in" - source "package/python-pathlib2/Config.in" source "package/python-pathpy/Config.in" source "package/python-pathtools/Config.in" source "package/python-pathvalidate/Config.in" @@ -1111,12 +1145,12 @@ menu "External python modules" source "package/python-pybind/Config.in" source "package/python-pycairo/Config.in" source "package/python-pycares/Config.in" - source "package/python-pycli/Config.in" source "package/python-pycparser/Config.in" source "package/python-pycryptodomex/Config.in" source "package/python-pycups/Config.in" source "package/python-pydal/Config.in" source "package/python-pydantic/Config.in" + source "package/python-pydyf/Config.in" source "package/python-pyelftools/Config.in" source "package/python-pyftpdlib/Config.in" source "package/python-pygame/Config.in" @@ -1128,16 +1162,17 @@ menu "External python modules" source "package/python-pylibftdi/Config.in" source "package/python-pylru/Config.in" source "package/python-pymodbus/Config.in" + source "package/python-pymupdf/Config.in" source "package/python-pymysql/Config.in" source "package/python-pynacl/Config.in" + source "package/python-pyndiff/Config.in" source "package/python-pyopenssl/Config.in" source "package/python-pyparsing/Config.in" source "package/python-pyparted/Config.in" - source "package/python-pypcap/Config.in" + source "package/python-pyphen/Config.in" source "package/python-pyqrcode/Config.in" source "package/python-pyqt5/Config.in" source "package/python-pyratemp/Config.in" - source "package/python-pyro/Config.in" source "package/python-pyroute2/Config.in" source "package/python-pysendfile/Config.in" source "package/python-pysftp/Config.in" @@ -1168,6 +1203,7 @@ menu "External python modules" source "package/python-requests-toolbelt/Config.in" source "package/python-rpi-gpio/Config.in" source "package/python-rpi-ws281x/Config.in" + source "package/python-rsa/Config.in" source "package/python-rtslib-fb/Config.in" source "package/python-s3transfer/Config.in" source "package/python-scandir/Config.in" @@ -1190,7 +1226,6 @@ menu "External python modules" source "package/python-simplejson/Config.in" source "package/python-simplelogging/Config.in" source "package/python-simplesqlite/Config.in" - source "package/python-singledispatch/Config.in" source "package/python-sip/Config.in" source "package/python-six/Config.in" source "package/python-slob/Config.in" @@ -1205,7 +1240,6 @@ menu "External python modules" source "package/python-sqlalchemy/Config.in" source "package/python-sqliteschema/Config.in" source "package/python-sqlparse/Config.in" - source "package/python-subprocess32/Config.in" source "package/python-systemd/Config.in" source "package/python-tabledata/Config.in" source "package/python-tempora/Config.in" @@ -1213,9 +1247,11 @@ menu "External python modules" source "package/python-terminaltables/Config.in" source "package/python-texttable/Config.in" source "package/python-thrift/Config.in" + source "package/python-tinycss2/Config.in" source "package/python-tinyrpc/Config.in" source "package/python-tomako/Config.in" source "package/python-toml/Config.in" + source "package/python-tomli/Config.in" source "package/python-tornado/Config.in" source "package/python-tqdm/Config.in" source "package/python-traitlets/Config.in" @@ -1225,11 +1261,11 @@ menu "External python modules" source "package/python-txdbus/Config.in" source "package/python-txtorcon/Config.in" source "package/python-typepy/Config.in" - source "package/python-typing/Config.in" source "package/python-typing-extensions/Config.in" source "package/python-u-msgpack/Config.in" source "package/python-ubjson/Config.in" source "package/python-ujson/Config.in" + source "package/python-unittest-xml-reporting/Config.in" source "package/python-urllib3/Config.in" source "package/python-urwid/Config.in" source "package/python-uvloop/Config.in" @@ -1238,6 +1274,7 @@ menu "External python modules" source "package/python-visitor/Config.in" source "package/python-watchdog/Config.in" source "package/python-wcwidth/Config.in" + source "package/python-weasyprint/Config.in" source "package/python-web2py/Config.in" source "package/python-webencodings/Config.in" source "package/python-webob/Config.in" @@ -1255,14 +1292,15 @@ menu "External python modules" source "package/python-xlsxwriter/Config.in" source "package/python-xlutils/Config.in" source "package/python-xlwt/Config.in" + source "package/python-xmljson/Config.in" source "package/python-xmltodict/Config.in" source "package/python-xmodem/Config.in" source "package/python-yarl/Config.in" source "package/python-yatl/Config.in" - source "package/python-yieldfrom/Config.in" source "package/python-zc-lockfile/Config.in" source "package/python-zeroconf/Config.in" source "package/python-zope-interface/Config.in" + source "package/python-zopfli/Config.in" endmenu endif source "package/quickjs/Config.in" @@ -1280,6 +1318,7 @@ menu "Libraries" menu "Audio/Sound" source "package/alsa-lib/Config.in" + source "package/alsa-plugins/Config.in" source "package/alure/Config.in" source "package/aubio/Config.in" source "package/bcg729/Config.in" @@ -1313,6 +1352,8 @@ menu "Audio/Sound" source "package/libsoundtouch/Config.in" source "package/libsoxr/Config.in" source "package/libvorbis/Config.in" + source "package/lilv/Config.in" + source "package/lv2/Config.in" source "package/mp4v2/Config.in" source "package/openal/Config.in" source "package/opencore-amr/Config.in" @@ -1323,6 +1364,7 @@ menu "Audio/Sound" source "package/spandsp/Config.in" source "package/speex/Config.in" source "package/speexdsp/Config.in" + source "package/sratom/Config.in" source "package/taglib/Config.in" source "package/tinyalsa/Config.in" source "package/tremor/Config.in" @@ -1340,6 +1382,7 @@ menu "Compression and decompression" source "package/minizip/Config.in" source "package/snappy/Config.in" source "package/szip/Config.in" + source "package/zchunk/Config.in" source "package/zlib/Config.in" source "package/zziplib/Config.in" endmenu @@ -1350,6 +1393,7 @@ menu "Crypto" source "package/botan/Config.in" source "package/ca-certificates/Config.in" source "package/cryptodev/Config.in" + source "package/cryptopp/Config.in" source "package/gcr/Config.in" source "package/gnutls/Config.in" source "package/libargon2/Config.in" @@ -1359,7 +1403,7 @@ menu "Crypto" source "package/libgpgme/Config.in" source "package/libkcapi/Config.in" source "package/libksba/Config.in" - source "package/libmcrypt/Config.in" + source "package/libmd/Config.in" source "package/libmhash/Config.in" source "package/libnss/Config.in" source "package/libolm/Config.in" @@ -1372,6 +1416,7 @@ menu "Crypto" source "package/libssh2/Config.in" source "package/libtomcrypt/Config.in" source "package/libuecc/Config.in" + source "package/libxcrypt/Config.in" source "package/mbedtls/Config.in" source "package/nettle/Config.in" source "package/openssl/Config.in" @@ -1392,6 +1437,8 @@ menu "Database" source "package/hiredis/Config.in" source "package/kompexsqlite/Config.in" source "package/leveldb/Config.in" + source "package/libdbi/Config.in" + source "package/libdbi-drivers/Config.in" source "package/libgit2/Config.in" source "package/libmdbx/Config.in" source "package/libodb/Config.in" @@ -1402,6 +1449,10 @@ menu "Database" source "package/mongodb/Config.in" source "package/mysql/Config.in" source "package/postgresql/Config.in" +if BR2_PACKAGE_POSTGRESQL + source "package/osm2pgsql/Config.in" + source "package/postgis/Config.in" +endif source "package/redis/Config.in" source "package/rocksdb/Config.in" source "package/sqlcipher/Config.in" @@ -1441,6 +1492,7 @@ menu "Graphics" source "package/freetype/Config.in" source "package/gd/Config.in" source "package/gdk-pixbuf/Config.in" + source "package/gdk-pixbuf-xlib/Config.in" source "package/giblib/Config.in" source "package/giflib/Config.in" source "package/granite/Config.in" @@ -1487,7 +1539,6 @@ menu "Graphics" source "package/libqrencode/Config.in" source "package/libraw/Config.in" source "package/librsvg/Config.in" - source "package/libsoil/Config.in" source "package/libsvg/Config.in" source "package/libsvg-cairo/Config.in" source "package/libsvgtiny/Config.in" @@ -1498,11 +1549,13 @@ menu "Graphics" source "package/libwpe/Config.in" source "package/menu-cache/Config.in" source "package/opencv3/Config.in" + source "package/opencv4/Config.in" source "package/opengl/Config.in" source "package/openjpeg/Config.in" source "package/pango/Config.in" source "package/pangomm/Config.in" source "package/pipewire/Config.in" + source "package/pipewire-media-session/Config.in" source "package/pixman/Config.in" source "package/poppler/Config.in" source "package/powervr/Config.in" @@ -1515,6 +1568,7 @@ menu "Graphics" source "package/waylandpp/Config.in" source "package/webkitgtk/Config.in" source "package/webp/Config.in" + source "package/wireplumber/Config.in" source "package/wlroots/Config.in" source "package/woff2/Config.in" source "package/wpebackend-fdo/Config.in" @@ -1558,6 +1612,7 @@ menu "Hardware handling" source "package/libphidget/Config.in" source "package/libpri/Config.in" source "package/libqmi/Config.in" + source "package/libqrtr-glib/Config.in" source "package/libraw1394/Config.in" source "package/librtas/Config.in" source "package/librtlsdr/Config.in" @@ -1578,6 +1633,7 @@ menu "Hardware handling" source "package/neardal/Config.in" source "package/owfs/Config.in" source "package/pcsc-lite/Config.in" + source "package/rpi-rgb-led-matrix/Config.in" source "package/tslib/Config.in" source "package/uhd/Config.in" source "package/urg/Config.in" @@ -1617,8 +1673,11 @@ endif source "package/jszip/Config.in" source "package/openlayers/Config.in" source "package/popperjs/Config.in" - source "package/spidermonkey/Config.in" source "package/vuejs/Config.in" +if BR2_PACKAGE_VUEJS +comment "External Vue.js plugins" + source "package/vuejs-router/Config.in" +endif endmenu menu "JSON/XML/INI" @@ -1648,10 +1707,13 @@ menu "JSON/XML/INI" source "package/rapidjson/Config.in" source "package/rapidxml/Config.in" source "package/raptor/Config.in" + source "package/serd/Config.in" + source "package/sord/Config.in" source "package/tinyxml/Config.in" source "package/tinyxml2/Config.in" source "package/valijson/Config.in" source "package/xerces/Config.in" + source "package/xml-security-c/Config.in" source "package/yajl/Config.in" source "package/yaml-cpp/Config.in" endmenu @@ -1663,12 +1725,15 @@ menu "Logging" source "package/log4cplus/Config.in" source "package/log4cpp/Config.in" source "package/log4cxx/Config.in" + source "package/log4qt/Config.in" source "package/opentracing-cpp/Config.in" source "package/spdlog/Config.in" + source "package/ulog/Config.in" source "package/zlog/Config.in" endmenu menu "Multimedia" + source "package/bento4/Config.in" source "package/bitstream/Config.in" source "package/dav1d/Config.in" source "package/kvazaar/Config.in" @@ -1677,6 +1742,7 @@ menu "Multimedia" source "package/libbdplus/Config.in" source "package/libbluray/Config.in" source "package/libcamera/Config.in" + source "package/libcamera-apps/Config.in" source "package/libdcadec/Config.in" source "package/libdvbcsa/Config.in" source "package/libdvbpsi/Config.in" @@ -1691,6 +1757,7 @@ menu "Multimedia" source "package/libmms/Config.in" source "package/libmpeg2/Config.in" source "package/libogg/Config.in" + source "package/libopenaptx/Config.in" source "package/libopenh264/Config.in" source "package/libopusenc/Config.in" source "package/libtheora/Config.in" @@ -1711,12 +1778,12 @@ menu "Networking" source "package/belle-sip/Config.in" source "package/bluez5_utils-headers/Config.in" source "package/c-ares/Config.in" - source "package/canfestival/Config.in" source "package/cgic/Config.in" source "package/cppzmq/Config.in" source "package/curlpp/Config.in" source "package/czmq/Config.in" source "package/daq/Config.in" + source "package/daq3/Config.in" source "package/davici/Config.in" source "package/enet/Config.in" source "package/filemq/Config.in" @@ -1740,6 +1807,7 @@ menu "Networking" source "package/libcurl/Config.in" source "package/libdnet/Config.in" source "package/libeXosip2/Config.in" + source "package/libest/Config.in" source "package/libfcgi/Config.in" source "package/libgsasl/Config.in" source "package/libhtp/Config.in" @@ -1780,6 +1848,7 @@ menu "Networking" source "package/libpagekite/Config.in" source "package/libpcap/Config.in" source "package/libpjsip/Config.in" + source "package/libpsl/Config.in" source "package/librelp/Config.in" source "package/librsync/Config.in" source "package/libshairplay/Config.in" @@ -1788,6 +1857,7 @@ menu "Networking" source "package/libsoup/Config.in" source "package/libsrtp/Config.in" source "package/libstrophe/Config.in" + source "package/libteam/Config.in" source "package/libtelnet/Config.in" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" @@ -1829,6 +1899,7 @@ menu "Networking" source "package/resiprocate/Config.in" source "package/restclient-cpp/Config.in" source "package/rtmpdump/Config.in" + source "package/siproxd/Config.in" source "package/slirp/Config.in" source "package/snmppp/Config.in" source "package/sofia-sip/Config.in" @@ -1843,6 +1914,7 @@ menu "Networking" endmenu menu "Other" + source "package/ace/Config.in" source "package/apr/Config.in" source "package/apr-util/Config.in" source "package/argp-standalone/Config.in" @@ -1858,7 +1930,6 @@ menu "Other" source "package/cctz/Config.in" source "package/cereal/Config.in" source "package/clang/Config.in" - source "package/clapack/Config.in" source "package/cmocka/Config.in" source "package/cppcms/Config.in" source "package/cracklib/Config.in" @@ -1880,6 +1951,7 @@ menu "Other" source "package/gobject-introspection/Config.in" source "package/gsl/Config.in" source "package/gtest/Config.in" + source "package/gumbo-parser/Config.in" source "package/jemalloc/Config.in" source "package/lapack/Config.in" source "package/libabseil-cpp/Config.in" @@ -1904,27 +1976,35 @@ menu "Other" source "package/libev/Config.in" source "package/libevdev/Config.in" source "package/libevent/Config.in" + source "package/libexecinfo/Config.in" source "package/libffi/Config.in" + source "package/libfutils/Config.in" source "package/libgee/Config.in" source "package/libgeos/Config.in" source "package/libglib2/Config.in" source "package/libglob/Config.in" source "package/libical/Config.in" source "package/libite/Config.in" + source "package/libks/Config.in" source "package/liblinear/Config.in" source "package/libloki/Config.in" source "package/libnpth/Config.in" source "package/libnspr/Config.in" + source "package/libosmium/Config.in" + source "package/libpeas/Config.in" source "package/libpfm4/Config.in" source "package/libplatform/Config.in" source "package/libplist/Config.in" source "package/libpthread-stubs/Config.in" source "package/libpthsem/Config.in" source "package/libpwquality/Config.in" + source "package/libqb/Config.in" source "package/libseccomp/Config.in" + source "package/libshdata/Config.in" source "package/libsigc/Config.in" source "package/libsigsegv/Config.in" source "package/libspatialindex/Config.in" + source "package/libtalloc/Config.in" source "package/libtasn1/Config.in" source "package/libtommath/Config.in" source "package/libtpl/Config.in" @@ -1932,6 +2012,7 @@ menu "Other" source "package/libuci/Config.in" source "package/libunwind/Config.in" source "package/liburcu/Config.in" + source "package/liburing/Config.in" source "package/libuv/Config.in" source "package/lightning/Config.in" source "package/linux-pam/Config.in" @@ -1958,6 +2039,7 @@ endif source "package/poco/Config.in" source "package/protobuf/Config.in" source "package/protobuf-c/Config.in" + source "package/protozero/Config.in" source "package/qhull/Config.in" source "package/qlibc/Config.in" source "package/riemann-c-client/Config.in" @@ -1978,6 +2060,7 @@ menu "Security" source "package/libsemanage/Config.in" source "package/libsepol/Config.in" source "package/safeclib/Config.in" + source "package/softhsm2/Config.in" endmenu menu "Text and terminal handling" @@ -2037,23 +2120,30 @@ menu "Miscellaneous" source "package/gsettings-desktop-schemas/Config.in" source "package/haveged/Config.in" source "package/linux-syscall-support/Config.in" - source "package/mcrypt/Config.in" source "package/mobile-broadband-provider-info/Config.in" source "package/netdata/Config.in" source "package/proj/Config.in" source "package/qemu/Config.in" source "package/qpdf/Config.in" + source "package/rtl_433/Config.in" source "package/shared-mime-info/Config.in" source "package/sunwait/Config.in" source "package/taskd/Config.in" source "package/wine/Config.in" + source "package/xmrig/Config.in" source "package/xutil_util-macros/Config.in" endmenu menu "Networking applications" source "package/aircrack-ng/Config.in" + source "package/alfred/Config.in" source "package/aoetools/Config.in" source "package/apache/Config.in" +if BR2_PACKAGE_APACHE +menu "External Apache modules" + source "package/modsecurity2/Config.in" +endmenu +endif source "package/argus/Config.in" source "package/arp-scan/Config.in" source "package/arptables/Config.in" @@ -2071,6 +2161,7 @@ menu "Networking applications" source "package/bluez-tools/Config.in" source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" + source "package/bmx7/Config.in" source "package/boinc/Config.in" source "package/brcm-patchram-plus/Config.in" source "package/bridge-utils/Config.in" @@ -2080,6 +2171,7 @@ menu "Networking applications" source "package/can-utils/Config.in" source "package/cannelloni/Config.in" source "package/casync/Config.in" + source "package/cfm/Config.in" source "package/chrony/Config.in" source "package/civetweb/Config.in" source "package/connman/Config.in" @@ -2090,6 +2182,7 @@ menu "Networking applications" source "package/ctorrent/Config.in" source "package/cups/Config.in" source "package/cups-filters/Config.in" + source "package/cups-pk-helper/Config.in" source "package/dante/Config.in" source "package/darkhttpd/Config.in" source "package/dehydrated/Config.in" @@ -2155,6 +2248,7 @@ menu "Networking applications" source "package/keepalived/Config.in" source "package/kismet/Config.in" source "package/knock/Config.in" + source "package/ksmbd-tools/Config.in" source "package/leafnode2/Config.in" source "package/lft/Config.in" source "package/lftp/Config.in" @@ -2176,11 +2270,11 @@ menu "Networking applications" source "package/mjpg-streamer/Config.in" source "package/modem-manager/Config.in" source "package/mongrel2/Config.in" - source "package/monkey/Config.in" source "package/mosh/Config.in" source "package/mosquitto/Config.in" source "package/mrouted/Config.in" source "package/mrp/Config.in" + source "package/mstpd/Config.in" source "package/mtr/Config.in" source "package/nbd/Config.in" source "package/ncftp/Config.in" @@ -2195,6 +2289,7 @@ menu "Networking applications" source "package/netstat-nat/Config.in" source "package/network-manager/Config.in" source "package/network-manager-openvpn/Config.in" + source "package/networkd-dispatcher/Config.in" source "package/nfacct/Config.in" source "package/nftables/Config.in" source "package/nginx/Config.in" @@ -2265,6 +2360,7 @@ endif source "package/sngrep/Config.in" source "package/snmpclitools/Config.in" source "package/snort/Config.in" + source "package/snort3/Config.in" source "package/socat/Config.in" source "package/socketcand/Config.in" source "package/softether/Config.in" @@ -2279,6 +2375,7 @@ endif source "package/strongswan/Config.in" source "package/stunnel/Config.in" source "package/suricata/Config.in" + source "package/system-config-printer/Config.in" source "package/tcpdump/Config.in" source "package/tcping/Config.in" source "package/tcpreplay/Config.in" @@ -2298,6 +2395,7 @@ endif source "package/uhttpd/Config.in" source "package/ulogd/Config.in" source "package/unbound/Config.in" + source "package/uqmi/Config.in" source "package/uredir/Config.in" source "package/ushare/Config.in" source "package/ussp-push/Config.in" @@ -2321,6 +2419,7 @@ endif source "package/xinetd/Config.in" source "package/xl2tp/Config.in" source "package/xtables-addons/Config.in" + source "package/zabbix/Config.in" source "package/znc/Config.in" endmenu @@ -2338,6 +2437,7 @@ comment "See the manual: " comment "http://buildroot.org/manual.html#faq-no-binary-packages" comment "-------------------------------------------------------" source "package/opkg/Config.in" + source "package/opkg-utils/Config.in" source "package/rpm/Config.in" endmenu @@ -2371,6 +2471,7 @@ comment "Shells" source "package/mksh/Config.in" source "package/zsh/Config.in" comment "Utilities" + source "package/apg/Config.in" source "package/at/Config.in" source "package/bash-completion/Config.in" source "package/ccrypt/Config.in" @@ -2415,6 +2516,7 @@ menu "System tools" source "package/bubblewrap/Config.in" source "package/cgroupfs-mount/Config.in" source "package/circus/Config.in" + source "package/containerd/Config.in" source "package/coreutils/Config.in" source "package/cpuload/Config.in" source "package/daemon/Config.in" @@ -2424,12 +2526,12 @@ menu "System tools" source "package/debianutils/Config.in" source "package/docker-cli/Config.in" source "package/docker-compose/Config.in" - source "package/docker-containerd/Config.in" source "package/docker-engine/Config.in" source "package/docker-proxy/Config.in" source "package/earlyoom/Config.in" source "package/efibootmgr/Config.in" source "package/efivar/Config.in" + source "package/embiggen-disk/Config.in" source "package/emlog/Config.in" source "package/ftop/Config.in" source "package/getent/Config.in" @@ -2445,11 +2547,13 @@ menu "System tools" source "package/kmod/Config.in" source "package/kvmtool/Config.in" source "package/libostree/Config.in" + source "package/libvirt/Config.in" source "package/lxc/Config.in" source "package/makedumpfile/Config.in" source "package/mender/Config.in" source "package/mender-grubenv/Config.in" source "package/mfoc/Config.in" + source "package/moby-buildkit/Config.in" source "package/monit/Config.in" source "package/multipath-tools/Config.in" source "package/ncdu/Config.in" @@ -2478,7 +2582,9 @@ menu "System tools" source "package/s6-rc/Config.in" source "package/scrub/Config.in" source "package/scrypt/Config.in" + source "package/sdbus-cpp/Config.in" source "package/sdbusplus/Config.in" + source "package/seatd/Config.in" source "package/smack/Config.in" source "package/start-stop-daemon/Config.in" source "package/supervisor/Config.in" @@ -2497,12 +2603,14 @@ menu "System tools" source "package/unscd/Config.in" source "package/util-linux/Config.in" source "package/watchdog/Config.in" + source "package/watchdogd/Config.in" source "package/xdg-dbus-proxy/Config.in" source "package/xen/Config.in" source "package/xvisor/Config.in" endmenu menu "Text editors and viewers" + source "package/bat/Config.in" source "package/ed/Config.in" source "package/joe/Config.in" source "package/less/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index c3a784a3213..095c7ce713b 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -5,6 +5,7 @@ menu "Host utilities" source "package/android-tools/Config.in.host" source "package/asn1c/Config.in.host" source "package/babeltrace2/Config.in.host" + source "package/bmap-tools/Config.in.host" source "package/btrfs-progs/Config.in.host" source "package/cbootimage/Config.in.host" source "package/checkpolicy/Config.in.host" @@ -13,6 +14,7 @@ menu "Host utilities" source "package/cramfs/Config.in.host" source "package/cryptsetup/Config.in.host" source "package/dbus-python/Config.in.host" + source "package/delve/Config.in.host" source "package/dfu-util/Config.in.host" source "package/dos2unix/Config.in.host" source "package/dosfstools/Config.in.host" @@ -28,6 +30,7 @@ menu "Host utilities" source "package/f2fs-tools/Config.in.host" source "package/faketime/Config.in.host" source "package/fatcat/Config.in.host" + source "package/firmware-utils/Config.in.host" source "package/fwup/Config.in.host" source "package/genext2fs/Config.in.host" source "package/genimage/Config.in.host" @@ -40,6 +43,7 @@ menu "Host utilities" source "package/imagemagick/Config.in.host" source "package/imx-mkimage/Config.in.host" source "package/imx-usb-loader/Config.in.host" + source "package/jh71xx-tools/Config.in.host" source "package/jq/Config.in.host" source "package/jsmin/Config.in.host" source "package/kmod/Config.in.host" @@ -54,18 +58,20 @@ menu "Host utilities" source "package/mtd/Config.in.host" source "package/mtools/Config.in.host" source "package/mxsldr/Config.in.host" + source "package/nodejs/Config.in.host" source "package/odb/Config.in.host" source "package/omap-u-boot-utils/Config.in.host" source "package/openocd/Config.in.host" source "package/opkg-utils/Config.in.host" + source "package/pahole/Config.in.host" source "package/parted/Config.in.host" source "package/patchelf/Config.in.host" source "package/pigz/Config.in.host" source "package/pkgconf/Config.in.host" source "package/pru-software-support/Config.in.host" source "package/pwgen/Config.in.host" - source "package/python/Config.in.host" source "package/python-cython/Config.in.host" + source "package/python-greenlet/Config.in.host" source "package/python-lxml/Config.in.host" source "package/python-six/Config.in.host" source "package/python-xlrd/Config.in.host" @@ -74,11 +80,13 @@ menu "Host utilities" source "package/qoriq-rcw/Config.in.host" source "package/raspberrypi-usbboot/Config.in.host" source "package/rauc/Config.in.host" + source "package/riscv-isa-sim/Config.in.host" source "package/rustc/Config.in.host" source "package/s6-rc/Config.in.host" source "package/sam-ba/Config.in.host" source "package/sdbusplus/Config.in.host" source "package/sentry-cli/Config.in.host" + source "package/sloci-image/Config.in.host" source "package/squashfs/Config.in.host" source "package/sunxi-tools/Config.in.host" source "package/swig/Config.in.host" diff --git a/package/Makefile.in b/package/Makefile.in index 51f5cbce4f1..508ea7c3665 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -39,8 +39,9 @@ endif # Compute GNU_TARGET_NAME GNU_TARGET_NAME = $(ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI) -# FLAT binary format needs uclinux -ifeq ($(BR2_BINFMT_FLAT),y) +# FLAT binary format needs uclinux, except RISC-V 64-bits which needs +# the regular linux name. +ifeq ($(BR2_BINFMT_FLAT):$(BR2_RISCV_64),y:) TARGET_OS = uclinux else TARGET_OS = linux @@ -136,6 +137,9 @@ endif ifeq ($(BR2_OPTIMIZE_FAST),y) TARGET_OPTIMIZATION = -Ofast endif +ifeq ($(BR2_ENABLE_DEBUG),) +TARGET_DEBUGGING = -g0 +endif ifeq ($(BR2_DEBUG_1),y) TARGET_DEBUGGING = -g1 endif @@ -175,13 +179,22 @@ TARGET_CXXFLAGS += -fno-dwarf2-cfi-asm endif ifeq ($(BR2_BINFMT_FLAT),y) -TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\ - -Wl$(comma)-elf2flt) -TARGET_CXXFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\ - -Wl$(comma)-elf2flt) -TARGET_FCFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\ +ifeq ($(BR2_RISCV_64),y) +TARGET_CFLAGS += -fPIC +endif +ifeq ($(BR2_BINFMT_FLAT_ONE),y) +ELF2FLT_FLAGS = $(if $($(PKG)_FLAT_STACKSIZE),\ + -Wl$(comma)-elf2flt="-r -s$($(PKG)_FLAT_STACKSIZE)",\ + -Wl$(comma)-elf2flt=-r) +else +ELF2FLT_FLAGS = $(if $($(PKG)_FLAT_STACKSIZE),\ + -Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\ -Wl$(comma)-elf2flt) -TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt) +endif +TARGET_CFLAGS += $(ELF2FLT_FLAGS) +TARGET_CXXFLAGS += $(ELF2FLT_FLAGS) +TARGET_FCFLAGS += $(ELF2FLT_FLAGS) +TARGET_LDFLAGS += $(ELF2FLT_FLAGS) endif ifeq ($(BR2_BINFMT_FLAT_SHARED),y) @@ -197,16 +210,23 @@ else TARGET_CROSS = $(HOST_DIR)/bin/$(TOOLCHAIN_EXTERNAL_PREFIX)- endif +# gcc-4.7 and later ships with wrappers that will automatically pass +# arguments to the binutils tools. Those are paths to necessary linker +# plugins. +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7),y) +TARGET_GCC_WRAPPERS_PREFIX = gcc- +endif + # Define TARGET_xx variables for all common binutils/gcc -TARGET_AR = $(TARGET_CROSS)ar +TARGET_AR = $(TARGET_CROSS)$(TARGET_GCC_WRAPPERS_PREFIX)ar TARGET_AS = $(TARGET_CROSS)as TARGET_CC = $(TARGET_CROSS)gcc TARGET_CPP = $(TARGET_CROSS)cpp TARGET_CXX = $(TARGET_CROSS)g++ TARGET_FC = $(TARGET_CROSS)gfortran TARGET_LD = $(TARGET_CROSS)ld -TARGET_NM = $(TARGET_CROSS)nm -TARGET_RANLIB = $(TARGET_CROSS)ranlib +TARGET_NM = $(TARGET_CROSS)$(TARGET_GCC_WRAPPERS_PREFIX)nm +TARGET_RANLIB = $(TARGET_CROSS)$(TARGET_GCC_WRAPPERS_PREFIX)ranlib TARGET_READELF = $(TARGET_CROSS)readelf TARGET_OBJCOPY = $(TARGET_CROSS)objcopy TARGET_OBJDUMP = $(TARGET_CROSS)objdump @@ -318,6 +338,7 @@ EXTRA_ENV = \ PATH=$(BR_PATH) \ BR2_DL_DIR=$(BR2_DL_DIR) \ BUILD_DIR=$(BUILD_DIR) \ + CONFIG_DIR=$(CONFIG_DIR) \ O=$(CANONICAL_O) ################################################################################ @@ -427,3 +448,4 @@ include package/pkg-waf.mk include package/pkg-golang.mk include package/pkg-meson.mk include package/pkg-qmake.mk +include package/pkg-cargo.mk diff --git a/package/abootimg/Config.in b/package/abootimg/Config.in index 30e5bd1fb02..bcd2a082c96 100644 --- a/package/abootimg/Config.in +++ b/package/abootimg/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_ABOOTIMG Tool to manipulate Android Boot Images, either on files or directly on /dev block devices. - https://github.com/ggrandou/abootimg + https://gitlab.com/ajs124/abootimg diff --git a/package/abootimg/abootimg.hash b/package/abootimg/abootimg.hash index fa5282c6c3f..141db268607 100644 --- a/package/abootimg/abootimg.hash +++ b/package/abootimg/abootimg.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 eb8d912bc7b5454c2afd3385fd86f4917d3587c48a6f5ae45df7856d88502cab abootimg-7e127fee6a3981f6b0a50ce9910267cd501e09d4.tar.gz +sha256 f377da42a57d982cfc22fa75c5a69febdc3e4c1ef43cd0ceaec42e14067e2f37 abootimg-1ebeb393252ab5aeed62e34bc439b6728444f06e-br1.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/abootimg/abootimg.mk b/package/abootimg/abootimg.mk index ab6c7093181..a07100df5a7 100644 --- a/package/abootimg/abootimg.mk +++ b/package/abootimg/abootimg.mk @@ -4,8 +4,9 @@ # ################################################################################ -ABOOTIMG_VERSION = 7e127fee6a3981f6b0a50ce9910267cd501e09d4 -ABOOTIMG_SITE = $(call github,ggrandou,abootimg,$(ABOOTIMG_VERSION)) +ABOOTIMG_VERSION = 1ebeb393252ab5aeed62e34bc439b6728444f06e +ABOOTIMG_SITE = https://gitlab.com/ajs124/abootimg.git +ABOOTIMG_SITE_METHOD = git ABOOTIMG_LICENSE = GPL-2.0+ ABOOTIMG_LICENSE_FILES = LICENSE diff --git a/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch b/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch new file mode 100644 index 00000000000..ad82c101723 --- /dev/null +++ b/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch @@ -0,0 +1,52 @@ +From e06cadc3b95a577e6a8bbc94f93dd063710c73a1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Apr 2022 15:25:49 +0200 +Subject: [PATCH] ACE/ace/SSL/SSL_Asynch_BIO.cpp: fix build with libressl + +Fix the following build failure with libressl: + +/home/autobuild/autobuild/instance-10/output-1/build/ace-7.0.6/ace/SSL/SSL_Asynch_BIO.cpp:174:7: error: 'BIO_get_init' was not declared in this scope; did you mean 'BIO_set_init'? + 174 | if (BIO_get_init(pBIO) == 0 || p_stream == 0 || buf == 0 || len <= 0) + | ^~~~~~~~~~~~ + | BIO_set_init + +Fixes: + - http://autobuild.buildroot.org/results/386afa88ac9e5e3bb65dddeabf610bb1e9bc4285 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/DOCGroup/ACE_TAO/commit/e06cadc3b95a577e6a8bbc94f93dd063710c73a1] +--- + ACE/ace/SSL/SSL_Asynch_BIO.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ace/SSL/SSL_Asynch_BIO.cpp b/ace/SSL/SSL_Asynch_BIO.cpp +index a657d8a14e6f7..64aa14c6ab9a7 100644 +--- a/ace/SSL/SSL_Asynch_BIO.cpp ++++ b/ace/SSL/SSL_Asynch_BIO.cpp +@@ -41,7 +41,7 @@ extern "C" + + #define BIO_TYPE_ACE ( 21 | BIO_TYPE_SOURCE_SINK ) + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + static BIO_METHOD methods_ACE = + { + BIO_TYPE_ACE, // BIO_TYPE_PROXY_SERVER, +@@ -68,14 +68,14 @@ static BIO_METHOD methods_ACE = + #else + static BIO_METHOD* methods_ACE; + # define BIO_set_num(b, val) +-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ ++#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */ + + ACE_BEGIN_VERSIONED_NAMESPACE_DECL + + BIO * + ACE_SSL_make_BIO (void * ssl_asynch_stream) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + BIO * const pBIO = BIO_new (&methods_ACE); + #else + if (!methods_ACE) diff --git a/package/ace/Config.in b/package/ace/Config.in new file mode 100644 index 00000000000..5000f2352f7 --- /dev/null +++ b/package/ace/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_ACE + bool "ace" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + The ADAPTIVE Communication Environment (ACE(TM)) + An OO Network Programming Toolkit in C++. + + http://www.dre.vanderbilt.edu/~schmidt/ACE.html + +comment "ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.8" + depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \ + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/ace/ace.hash b/package/ace/ace.hash new file mode 100644 index 00000000000..23879278797 --- /dev/null +++ b/package/ace/ace.hash @@ -0,0 +1,6 @@ +# From https://download.dre.vanderbilt.edu/previous_versions/ACE-7.0.6.tar.bz2.md5: +md5 d1656851619aff15365270ccf2d56c6e ACE-7.0.6.tar.bz2 + +# Locally Computed: +sha256 4a0cd7da4851f769fddfcf33f663eba4afad824efeff9f59f134c4640ee80216 ACE-7.0.6.tar.bz2 +sha256 687bf9d16119e0caf6fb5c18214928fd6ea0da10df91e906255b7613af8061d8 COPYING diff --git a/package/ace/ace.mk b/package/ace/ace.mk new file mode 100644 index 00000000000..7299f0d40c3 --- /dev/null +++ b/package/ace/ace.mk @@ -0,0 +1,66 @@ +################################################################################ +# +# ace +# +################################################################################ + +ACE_VERSION = 7.0.6 +ACE_SOURCE = ACE-$(ACE_VERSION).tar.bz2 +ACE_SITE = http://download.dre.vanderbilt.edu/previous_versions +ACE_LICENSE = DOC +ACE_LICENSE_FILES = COPYING +ACE_INSTALL_STAGING = YES +ACE_CPE_ID_VENDOR = vanderbilt +ACE_CPE_ID_PRODUCT = adaptive_communication_environment + +# Note: We are excluding examples, apps and tests +# Only compiling ACE libraries (no TAO) +ACE_LIBARIES = ace ACEXML Kokyu netsvcs protocols/ace + +ACE_MAKE_OPTS = \ + ACE_ROOT="$(@D)" \ + DEFFLAGS="$(TARGET_CPPFLAGS) -std=c++11" + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +ACE_LIBARIES += ace/SSL +ACE_DEPENDENCIES += openssl +define ACE_CONFIGURE_SSL + echo "ssl = 1" >> $(@D)/include/makeinclude/platform_macros.GNU +endef +endif + +# configure the target build +# refer: http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix +define ACE_CONFIGURE_CMDS + # create a config file + echo ' #include "ace/config-linux.h" ' >> $(@D)/ace/config.h + + # Create platform/compiler-specific Makefile configurations + $(INSTALL) -m 0644 package/ace/platform_macros.GNU $(@D)/include/makeinclude/ + + $(ACE_CONFIGURE_SSL) +endef + +define ACE_BUILD_CMDS + $(foreach lib,$(ACE_LIBARIES), \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(lib) \ + $(ACE_MAKE_OPTS) all + ) +endef + +define ACE_LIBARIES_INSTALL + mkdir -p $(1)/usr/share/ace + $(foreach lib,$(ACE_LIBARIES), \ + $(MAKE) -C $(@D)/$(lib) $(ACE_MAKE_OPTS) DESTDIR=$(1) install + ) +endef + +define ACE_INSTALL_TARGET_CMDS + $(call ACE_LIBARIES_INSTALL,$(TARGET_DIR)) +endef + +define ACE_INSTALL_STAGING_CMDS + $(call ACE_LIBARIES_INSTALL,$(STAGING_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/ace/platform_macros.GNU b/package/ace/platform_macros.GNU new file mode 100644 index 00000000000..ab5ec25a1b3 --- /dev/null +++ b/package/ace/platform_macros.GNU @@ -0,0 +1,14 @@ +# help: http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix + +# create a platform macros file +include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU + +# disable RPATH +install_rpath = 0 + +# set the installation prefix +INSTALL_PREFIX = /usr + +# fix link error with ARM EABI tools +# http://list.isis.vanderbilt.edu/pipermail/ace-users/2008-January/002742.html +no_hidden_visibility = 1 diff --git a/package/acl/acl.hash b/package/acl/acl.hash index 50c32d77347..32e904baf35 100644 --- a/package/acl/acl.hash +++ b/package/acl/acl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7 acl-2.2.53.tar.gz +sha256 c0234042e17f11306c23c038b08e5e070edb7be44bef6697fb8734dcff1c66b1 acl-2.3.1.tar.xz # Locally calculated sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 doc/COPYING diff --git a/package/acl/acl.mk b/package/acl/acl.mk index 8dce274150f..c898421dc58 100644 --- a/package/acl/acl.mk +++ b/package/acl/acl.mk @@ -4,10 +4,12 @@ # ################################################################################ -ACL_VERSION = 2.2.53 +ACL_VERSION = 2.3.1 +ACL_SOURCE = acl-$(ACL_VERSION).tar.xz ACL_SITE = http://download.savannah.gnu.org/releases/acl ACL_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL +ACL_CPE_ID_VENDOR = acl_project ACL_DEPENDENCIES = attr HOST_ACL_DEPENDENCIES = host-attr diff --git a/package/acpid/acpid.hash b/package/acpid/acpid.hash index f325325b9c0..d5e5bcc14b0 100644 --- a/package/acpid/acpid.hash +++ b/package/acpid/acpid.hash @@ -1,7 +1,7 @@ # From https://sourceforge.net/projects/acpid2/files/ -md5 248995264b9d1cd8bdb923d5b190fd44 acpid-2.0.32.tar.xz -sha1 a194e99c5b596186c7865e7ddfec55dea6d7fc73 acpid-2.0.32.tar.xz +md5 b2f2ca633b30ae893c47981fa4d3b258 acpid-2.0.33.tar.xz +sha1 b3e06c3f2213db8ee1a9024cf372fb30e2fab637 acpid-2.0.33.tar.xz # Locally computed -sha256 f2d2d30b3edc3234bd82f6f7186699a6aa3c85c8d20bc4e30e9b3c68a1ed157e acpid-2.0.32.tar.xz -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 0856f71b3eb34a1b663d0a8e6363dfcbc519e63d847330498898658e2972dbe8 acpid-2.0.33.tar.xz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/acpid/acpid.mk b/package/acpid/acpid.mk index ff6e62b5cd9..5d5138baa39 100644 --- a/package/acpid/acpid.mk +++ b/package/acpid/acpid.mk @@ -4,11 +4,14 @@ # ################################################################################ -ACPID_VERSION = 2.0.32 +ACPID_VERSION = 2.0.33 ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz ACPID_SITE = http://downloads.sourceforge.net/project/acpid2 ACPID_LICENSE = GPL-2.0+ ACPID_LICENSE_FILES = COPYING +ACPID_CPE_ID_VENDOR = tedfelix +ACPID_CPE_ID_PRODUCT = acpid2 +ACPID_SELINUX_MODULES = acpi define ACPID_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/acpid/acpid.service \ diff --git a/package/adwaita-icon-theme/Config.in b/package/adwaita-icon-theme/Config.in index d200570e765..71b839d996d 100644 --- a/package/adwaita-icon-theme/Config.in +++ b/package/adwaita-icon-theme/Config.in @@ -1,5 +1,10 @@ config BR2_PACKAGE_ADWAITA_ICON_THEME bool "adwaita icon theme" depends on BR2_PACKAGE_LIBGTK2 || BR2_PACKAGE_LIBGTK3 + # host-libgtk3 -> host-librsvg -> host-pango -> host-harfbuzz + depends on BR2_HOST_GCC_AT_LEAST_4_9 help Adwaita icon theme + +comment "adwaita icon theme needs host gcc >= 4.9" + depends on !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/aer-inject/aer-inject.mk b/package/aer-inject/aer-inject.mk index 72495bbea26..6bc9cb44da7 100644 --- a/package/aer-inject/aer-inject.mk +++ b/package/aer-inject/aer-inject.mk @@ -5,7 +5,8 @@ ################################################################################ AER_INJECT_VERSION = 9bd5e2c7886fca72f139cd8402488a2235957d41 -AER_INJECT_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git +AER_INJECT_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git +AER_INJECT_SITE_METHOD = git AER_INJECT_LICENSE = GPL-2.0 AER_INJECT_LICENSE_FILES = README AER_INJECT_DEPENDENCIES = host-flex host-bison diff --git a/package/aircrack-ng/Config.in b/package/aircrack-ng/Config.in index f3e2bc4ef12..eb997e8d1bd 100644 --- a/package/aircrack-ng/Config.in +++ b/package/aircrack-ng/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_AIRCRACK_NG depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # dlfcn.h select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL help A set of tools for auditing wireless networks diff --git a/package/aircrack-ng/aircrack-ng.mk b/package/aircrack-ng/aircrack-ng.mk index ff87766d6fb..95cda7c5a68 100644 --- a/package/aircrack-ng/aircrack-ng.mk +++ b/package/aircrack-ng/aircrack-ng.mk @@ -69,7 +69,7 @@ endif ifeq ($(BR2_PACKAGE_SQLITE),y) AIRCRACK_NG_DEPENDENCIES += sqlite -AIRCRACK_NG_CONF_OPTS += --with-sqlite3 +AIRCRACK_NG_CONF_OPTS += --with-sqlite3=$(STAGING_DIR)/usr else AIRCRACK_NG_CONF_OPTS += --without-sqlite3 endif diff --git a/package/alchemy/0001-toolchains-remove-hash-style-management.patch b/package/alchemy/0001-toolchains-remove-hash-style-management.patch new file mode 100644 index 00000000000..522766b9774 --- /dev/null +++ b/package/alchemy/0001-toolchains-remove-hash-style-management.patch @@ -0,0 +1,36 @@ +From 4cb9681ab99db3d8e330ac789e17ec69583aecd4 Mon Sep 17 00:00:00 2001 +From: Herve Codina +Date: Thu, 28 Oct 2021 18:39:18 +0200 +Subject: [PATCH] toolchains: remove --hash-style management + +Using an external toolchain, with an external configuration given +using TARGET_GLOBAL_XXXX variables, having '--hash-style=both' +in Alchemy toolchains can lead to compilation failure. + +This patch simply removes all --hash-style settings. + +Signed-off-by: Herve Codina +--- + toolchains/linux/eglibc/flags.mk | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) + +diff --git a/toolchains/linux/eglibc/flags.mk b/toolchains/linux/eglibc/flags.mk +index 95c0a46..4474729 100644 +--- a/toolchains/linux/eglibc/flags.mk ++++ b/toolchains/linux/eglibc/flags.mk +@@ -11,11 +11,4 @@ TARGET_GLOBAL_LDLIBS += -pthread -lrt + TARGET_GLOBAL_CFLAGS += -funwind-tables + + # Enable link optimization for binutils's ld. +-# gnu hash not supported by mips ABI +-ifeq ("$(TARGET_ARCH)","mips") +- TARGET_GLOBAL_LDFLAGS += -Wl,-O1 +-else ifeq ("$(TARGET_ARCH)","mips64") +- TARGET_GLOBAL_LDFLAGS += -Wl,-O1 +-else +- TARGET_GLOBAL_LDFLAGS += -Wl,-O1,--hash-style=both +-endif ++TARGET_GLOBAL_LDFLAGS += -Wl,-O1 +-- +2.31.1 + diff --git a/package/alchemy/alchemy.hash b/package/alchemy/alchemy.hash new file mode 100644 index 00000000000..33895263ccc --- /dev/null +++ b/package/alchemy/alchemy.hash @@ -0,0 +1,4 @@ +# Locally computed: +sha256 346c06b9317691a9371d878b850e61f8bcec4f20132ac95340b9d2571be25ee8 alchemy-d95b3c38cd37814a1b98d0bbf813de7adaaecfbc.tar.gz +sha256 542f44eecd9f8806ec1ae285201e442ab547c82d9f8c70e44c977d6332a2bea0 COPYING +sha256 49872815ee3de163f07a83737c996e77a5bffa186d06b1e3bb969bfb68c251df README diff --git a/package/alchemy/alchemy.mk b/package/alchemy/alchemy.mk new file mode 100644 index 00000000000..10d1068ac44 --- /dev/null +++ b/package/alchemy/alchemy.mk @@ -0,0 +1,71 @@ +################################################################################ +# +# alchemy +# +################################################################################ + +ALCHEMY_VERSION = d95b3c38cd37814a1b98d0bbf813de7adaaecfbc +ALCHEMY_SITE = $(call github,Parrot-Developers,alchemy,$(ALCHEMY_VERSION)) +ALCHEMY_LICENSE = BSD-3-Clause (Alchemy), GPL-2.0 (kconfig) +ALCHEMY_LICENSE_FILES = COPYING README +HOST_ALCHEMY_DEPENDENCIES = host-pkgconf host-python3 + +ALCHEMY_HOME = $(HOST_DIR)/opt/alchemy +ALCHEMY_SDK_BASEDIR = $(STAGING_DIR)/usr/lib/alchemy/sdk + +define HOST_ALCHEMY_INSTALL_CMDS + mkdir -p $(ALCHEMY_HOME) + cp -rf $(@D)/* $(ALCHEMY_HOME) + cp $(HOST_ALCHEMY_PKGDIR)/atom.mk.in $(ALCHEMY_HOME)/atom.mk.in +endef + +$(eval $(host-generic-package)) + +# Variables used by other packages + +ALCHEMY_MAKE = $(ALCHEMY_HOME)/scripts/alchemake + +# TARGET_ARCH is set to 'xxx' to avoid Alchemy managing the architecture. +# When Alchemy manages the architecture, it can add some flags to CFGLAGS and +# can lead to incorrect result with the toolchain provided in TARGET_CROSS. +# 'xxx' is an unknown architecture for Alchemy. Using this value is a simple +# way to disable the Alchemy architecture management. +ALCHEMY_TARGET_ENV = \ + $(TARGET_MAKE_ENV) \ + ALCHEMY_HOME=$(ALCHEMY_HOME) \ + ALCHEMY_WORKSPACE_DIR="$(@D)" \ + ALCHEMY_TARGET_OUT=alchemy-out \ + PKGCONFIG_BIN=$(PKG_CONFIG_HOST_BINARY) \ + TARGET_OS=linux \ + TARGET_OS_FLAVOUR=buildroot \ + TARGET_CROSS="$(TARGET_CROSS)" \ + TARGET_ARCH=xxx \ + TARGET_GLOBAL_CXXFLAGS="$(TARGET_CXXFLAGS)" \ + TARGET_GLOBAL_LDFLAGS="$(TARGET_LDFLAGS)" \ + TARGET_GLOBAL_FFLAGS="$(TARGET_FCFLAGS)" \ + TARGET_GLOBAL_FCFLAGS="$(TARGET_FCFLAGS)" + +ifeq ($(BR2_STATIC_LIBS),y) +ALCHEMY_TARGET_ENV += \ + TARGET_FORCE_STATIC=1 \ + TARGET_GLOBAL_CFLAGS="$(TARGET_CFLAGS)" +else +ALCHEMY_TARGET_ENV += \ + TARGET_GLOBAL_CFLAGS="$(TARGET_CFLAGS) -fPIC" +endif + +# Install an Alchemy SDK file. +# This macro can be used by Alchemy packages +# $1: Alchemy module name +# $2: Alchemy module file name +# $3: Alchemy module libraries this module depends on +define ALCHEMY_INSTALL_LIB_SDK_FILE + $(INSTALL) -m 0644 -D \ + $(ALCHEMY_HOME)/atom.mk.in \ + $(ALCHEMY_SDK_BASEDIR)/$($(PKG)_NAME)/atom.mk + $(SED) 's#@STAGING_DIR@#$(STAGING_DIR)#' \ + -e 's#@MODULE@#$(strip $(1))#' \ + -e 's#@MODULE_FILENAME@#$(strip $(2))#' \ + -e 's#@LIBRARIES@#$(strip $(3))#' \ + $(ALCHEMY_SDK_BASEDIR)/$($(PKG)_NAME)/atom.mk +endef diff --git a/package/alchemy/atom.mk.in b/package/alchemy/atom.mk.in new file mode 100644 index 00000000000..084ae0e89f8 --- /dev/null +++ b/package/alchemy/atom.mk.in @@ -0,0 +1,8 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) +LOCAL_MODULE := @MODULE@ +LOCAL_SDK := @STAGING_DIR@ +LOCAL_DESTDIR := usr/lib +LOCAL_MODULE_FILENAME := @MODULE_FILENAME@ +LOCAL_LIBRARIES := @LIBRARIES@ +include $(BUILD_LIBRARY) diff --git a/package/alfred/Config.in b/package/alfred/Config.in new file mode 100644 index 00000000000..bfcfef0d405 --- /dev/null +++ b/package/alfred/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_ALFRED + bool "alfred" + depends on !BR2_STATIC_LIBS # dlopen() + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_LIBNL + help + Alfred is a user space daemon for distributing arbitrary + local information over the mesh/network in a decentralized + fashion. + + This data can be anything which appears to be useful - + originally designed to replace the batman-adv visualization + (vis), you may distribute hostnames, phone books, + administration information, DNS information, the local + weather forecast ... + + https://www.open-mesh.org/projects/alfred/wiki + +comment "alfred needs a toolchain w/ dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/alfred/alfred.hash b/package/alfred/alfred.hash new file mode 100644 index 00000000000..2da7eb31c84 --- /dev/null +++ b/package/alfred/alfred.hash @@ -0,0 +1,5 @@ +# From https://downloads.open-mesh.org/batman/stable/sources/alfred/alfred-2022.0.tar.gz.sha1 +sha1 8e00789d3e1e5c959dd985809861ff624d372694 alfred-2022.0.tar.gz +# Locally computed +sha256 abba1dac61eccfcd6329e7331d0555fecc937760fb36c6cf55ce6c1d751cfd98 alfred-2022.0.tar.gz +sha256 cecbf53d1148e13256ac29f8b900655b7fc8dc12d59939a95bc2323ea1747025 LICENSES/preferred/GPL-2.0 diff --git a/package/alfred/alfred.mk b/package/alfred/alfred.mk new file mode 100644 index 00000000000..24b9956b110 --- /dev/null +++ b/package/alfred/alfred.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# alfred +# +################################################################################ + +ALFRED_VERSION = 2022.0 +ALFRED_SITE = https://downloads.open-mesh.org/batman/stable/sources/alfred +ALFRED_LICENSE = GPL-2.0 +ALFRED_LICENSE_FILES = LICENSES/preferred/GPL-2.0 +ALFRED_DEPENDENCIES = libnl + +define ALFRED_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) \ + CONFIG_ALFRED_CAPABILITIES=n \ + CONFIG_ALFRED_GPSD=n +endef + +define ALFRED_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/alfred $(TARGET_DIR)/usr/bin/alfred + $(INSTALL) -m 0755 -D $(@D)/vis/batadv-vis $(TARGET_DIR)/usr/bin/batadv-vis +endef + +$(eval $(generic-package)) diff --git a/package/alsa-lib/0002-dlmisc-the-snd_plugin_dir_set.patch b/package/alsa-lib/0002-dlmisc-the-snd_plugin_dir_set.patch deleted file mode 100644 index 61d945455cb..00000000000 --- a/package/alsa-lib/0002-dlmisc-the-snd_plugin_dir_set.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Thu, 22 Oct 2020 20:57:32 +0200 -Subject: [PATCH] dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be - declared even for \!DL_ORIGIN_AVAILABLE - -Fixes: 8580c081c2 ("dlsym: add support for ALSA_PLUGIN_DIR environment variable") -BugLink: https://github.com/alsa-project/alsa-lib/issues/91 -Signed-off-by: Jaroslav Kysela - -Downloaded from upstream commit -https://github.com/alsa-project/alsa-lib/commit/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e - -Signed-off-by: Bernd Kuhls ---- - src/dlmisc.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/dlmisc.c b/src/dlmisc.c -index c9517c55..f20eb593 100644 ---- a/src/dlmisc.c -+++ b/src/dlmisc.c -@@ -42,11 +42,9 @@ - #ifndef PIC - struct snd_dlsym_link *snd_dlsym_start = NULL; - #endif --#ifdef DL_ORIGIN_AVAILABLE - static int snd_plugin_dir_set = 0; - static char *snd_plugin_dir = NULL; - #endif --#endif - - #if defined(DL_ORIGIN_AVAILABLE) && defined(HAVE_LIBPTHREAD) - static pthread_mutex_t snd_dlpath_mutex = PTHREAD_MUTEX_INITIALIZER; diff --git a/package/alsa-lib/0002-fix-PyTuple_SET_ITEM-usage-no-return-value.patch b/package/alsa-lib/0002-fix-PyTuple_SET_ITEM-usage-no-return-value.patch new file mode 100644 index 00000000000..a1c9f3b80d5 --- /dev/null +++ b/package/alsa-lib/0002-fix-PyTuple_SET_ITEM-usage-no-return-value.patch @@ -0,0 +1,70 @@ +From 1da2ede2d8b01a8851648e774a4c3c5779c0bafa Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 7 Dec 2021 13:55:54 -0800 +Subject: [PATCH] Fix PyTuple_SET_ITEM() usage - no return value + +As noted in bpo-30459 (link bellow) the PyTuple_SET_ITEM() macro +has not a return value. Make the code compatible with python 3.10. + +Link: https://bugs.python.org/issue30459 +Signed-off-by: Adam Duskett +--- + modules/mixer/simple/python.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/modules/mixer/simple/python.c b/modules/mixer/simple/python.c +index 8a7264d..c7c1ce7 100644 +--- a/modules/mixer/simple/python.c ++++ b/modules/mixer/simple/python.c +@@ -775,8 +775,8 @@ pymixer_melement_new(struct pymixer *pymixer, PyObject *args) + obj = PyDict_GetItemString(pymixer->mdict, class); + if (obj) { + obj1 = PyTuple_New(4); +- if (PyTuple_SET_ITEM(obj1, 0, (PyObject *)pymixer)) +- Py_INCREF((PyObject *)pymixer); ++ PyTuple_SET_ITEM(obj1, 0, (PyObject *)pymixer); ++ Py_INCREF((PyObject *)pymixer); + PyTuple_SET_ITEM(obj1, 1, PyUnicode_FromString(name)); + PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong(index)); + PyTuple_SET_ITEM(obj1, 3, PyInt_FromLong(weight)); +@@ -920,8 +920,8 @@ static PyObject *new_helem(struct python_priv *priv, snd_hctl_elem_t *helem) + obj = PyDict_GetItemString(priv->py_mdict, "HElement"); + if (obj) { + obj1 = PyTuple_New(3); +- if (PyTuple_SET_ITEM(obj1, 0, py_hctl)) +- Py_INCREF(py_hctl); ++ PyTuple_SET_ITEM(obj1, 0, py_hctl); ++ Py_INCREF(py_hctl); + PyTuple_SET_ITEM(obj1, 1, PyFloat_FromDouble(1)); + PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong((long)helem)); + obj2 = PyObject_CallObject(obj, obj1); +@@ -995,11 +995,11 @@ int alsa_mixer_simple_event(snd_mixer_class_t *class, unsigned int mask, + } + if (o == NULL) + return 0; +- if (PyTuple_SET_ITEM(t, 1, o)) +- Py_INCREF(o); ++ PyTuple_SET_ITEM(t, 1, o); ++ Py_INCREF(o); + o = melem ? find_melem(priv, melem) : Py_None; +- if (PyTuple_SET_ITEM(t, 2, o)) +- Py_INCREF(o); ++ PyTuple_SET_ITEM(t, 2, o); ++ Py_INCREF(o); + r = PyObject_CallObject(priv->py_event_func, t); + Py_DECREF(t); + if (r) { +@@ -1066,8 +1066,8 @@ static int alsa_mixer_simple_pyinit(struct python_priv *priv, + obj1 = PyTuple_New(3); + PyTuple_SET_ITEM(obj1, 0, PyInt_FromLong((long)class)); + PyTuple_SET_ITEM(obj1, 1, PyInt_FromLong((long)mixer)); +- if (PyTuple_SET_ITEM(obj1, 2, mdict)) +- Py_INCREF(mdict); ++ PyTuple_SET_ITEM(obj1, 2, mdict); ++ Py_INCREF(mdict); + obj2 = PyObject_CallObject(obj, obj1); + Py_XDECREF(obj1); + PyDict_SetItemString(mdict, "mixer", obj2); +-- +2.33.1 + diff --git a/package/alsa-lib/0003-src-topology-parser.c-drop-duplicate-safe_strtol_bas.patch b/package/alsa-lib/0003-src-topology-parser.c-drop-duplicate-safe_strtol_bas.patch new file mode 100644 index 00000000000..a3741c42c0e --- /dev/null +++ b/package/alsa-lib/0003-src-topology-parser.c-drop-duplicate-safe_strtol_bas.patch @@ -0,0 +1,51 @@ +From 47252054b4a2d5c8382cb1342f5d4eb89dabf95f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 1 Jan 2022 17:20:47 +0100 +Subject: [PATCH] src/topology/parser.c: drop duplicate safe_strtol_base + +The safe_strtol_base() function is defined twice since + f547b2e3 ("conf: introduce safe_strtol_base()") and + 5fab157a ("topology: do not call strtol directly") +resulting in the following build failure when alsa-utils is built +statically because safe_strtol_base is defined twice. + +Fixes: http://autobuild.buildroot.org/results/08d028004090b2a8292f03910cb9bf80a73ac804 +Fixes: https://github.com/alsa-project/alsa-lib/pull/207 +Signed-off-by: Fabrice Fontaine +Signed-off-by: Jaroslav Kysela +[Retrieved from: +https://github.com/alsa-project/alsa-lib/commit/47252054b4a2d5c8382cb1342f5d4eb89dabf95f] +--- + src/topology/parser.c | 19 ------------------- + 1 file changed, 19 deletions(-) + +diff --git a/src/topology/parser.c b/src/topology/parser.c +index 01c95afa..e70173f6 100644 +--- a/src/topology/parser.c ++++ b/src/topology/parser.c +@@ -21,25 +21,6 @@ + #include "list.h" + #include "tplg_local.h" + +-/* +- * Safe strtol call +- */ +-int safe_strtol_base(const char *str, long *val, int base) +-{ +- char *end; +- long v; +- if (!*str) +- return -EINVAL; +- errno = 0; +- v = strtol(str, &end, base); +- if (errno) +- return -errno; +- if (*end) +- return -EINVAL; +- *val = v; +- return 0; +-} +- + /* + * Get integer value + */ diff --git a/package/alsa-lib/0004-conf-fix-the-export-of-safe_strto-functions-from-libasound.patch b/package/alsa-lib/0004-conf-fix-the-export-of-safe_strto-functions-from-libasound.patch new file mode 100644 index 00000000000..3dfcb78b5c5 --- /dev/null +++ b/package/alsa-lib/0004-conf-fix-the-export-of-safe_strto-functions-from-libasound.patch @@ -0,0 +1,88 @@ +From c687c482107f746332dd18f7407f6c6efbffccb2 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sat, 1 Jan 2022 19:18:25 +0100 +Subject: [PATCH] conf: fix the export of safe_strto* functions from libasound + +Only one library should define the safe_strto function. Export it +correctly and add _snd_ prefix to avoid possible clashes with the other +application code. + +Fixes: 47252054 ("src/topology/parser.c: drop duplicate safe_strtol_base") +Fixes: https://github.com/alsa-project/alsa-lib/pull/208 +Signed-off-by: Jaroslav Kysela + +[Retrieved from: +https://github.com/alsa-project/alsa-lib/commit/c687c482107f746332dd18f7407f6c6efbffccb2] +Signed-off-by: Fabrice Fontaine +--- + include/local.h | 8 ++++++-- + src/Versions.in | 6 ++++++ + src/conf.c | 6 +++--- + 3 files changed, 15 insertions(+), 5 deletions(-) + +diff --git a/include/local.h b/include/local.h +index ebc9350c..f64fe9d8 100644 +--- a/include/local.h ++++ b/include/local.h +@@ -232,10 +232,14 @@ size_t page_align(size_t size); + size_t page_size(void); + size_t page_ptr(size_t object_offset, size_t object_size, size_t *offset, size_t *mmap_offset); + +-int safe_strtoll_base(const char *str, long long *val, int base); ++#define safe_strtoll_base _snd_safe_strtoll_base ++int _snd_safe_strtoll_base(const char *str, long long *val, int base); + static inline int safe_strtoll(const char *str, long long *val) { return safe_strtoll_base(str, val, 0); } +-int safe_strtol_base(const char *str, long *val, int base); ++#define safe_strtol_base _snd_safe_strtol_base ++int _snd_safe_strtol_base(const char *str, long *val, int base); + static inline int safe_strtol(const char *str, long *val) { return safe_strtol_base(str, val, 0); } ++#define safe_strtod _snd_safe_strtod ++int _snd_safe_strtod(const char *str, double *val); + + int snd_send_fd(int sock, void *data, size_t len, int fd); + int snd_receive_fd(int sock, void *data, size_t len, int *fd); +diff --git a/src/Versions.in b/src/Versions.in +index 5daccbd4..85031b38 100644 +--- a/src/Versions.in ++++ b/src/Versions.in +@@ -134,3 +134,9 @@ ALSA_1.1.6 { + + @SYMBOL_PREFIX@snd_dlopen; + } ALSA_0.9.7; ++ ++ALSA_1.2.6 { ++ global: ++ ++ @SYMBOL_PREFIX@_snd_safe_strto*; ++} ALSA_1.1.6; +diff --git a/src/conf.c b/src/conf.c +index d3597cbc..098ebd63 100644 +--- a/src/conf.c ++++ b/src/conf.c +@@ -663,7 +663,7 @@ static int input_stdio_open(snd_input_t **inputp, const char *file, + return err; + } + +-int safe_strtoll_base(const char *str, long long *val, int base) ++int _snd_safe_strtoll_base(const char *str, long long *val, int base) + { + char *end; + long v; +@@ -679,7 +679,7 @@ int safe_strtoll_base(const char *str, long long *val, int base) + return 0; + } + +-int safe_strtol_base(const char *str, long *val, int base) ++int _snd_safe_strtol_base(const char *str, long *val, int base) + { + char *end; + long v; +@@ -695,7 +695,7 @@ int safe_strtol_base(const char *str, long *val, int base) + return 0; + } + +-static int safe_strtod(const char *str, double *val) ++int _snd_safe_strtod(const char *str, double *val) + { + char *end; + double v; diff --git a/package/alsa-lib/Config.in b/package/alsa-lib/Config.in index f334b66bffe..af3de984d96 100644 --- a/package/alsa-lib/Config.in +++ b/package/alsa-lib/Config.in @@ -22,7 +22,7 @@ if BR2_PACKAGE_ALSA_LIB config BR2_PACKAGE_ALSA_LIB_PYTHON bool "Python support for alsa-lib" - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON3 help Add python support for alsa-lib. Python will be built and libpython will be installed diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index 6e65fb7166c..42040d631bf 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7 alsa-lib-1.2.4.tar.bz2 +sha256 ad582993d52cdb5fb159a0beab60a6ac57eab0cc1bdf85dc4db6d6197f02333f alsa-lib-1.2.6.1.tar.bz2 sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk index b1bfaf30e5a..1aa1b4c2768 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.2.4 +ALSA_LIB_VERSION = 1.2.6.1 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 ALSA_LIB_SITE = https://www.alsa-project.org/files/pub/lib ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) @@ -16,8 +16,11 @@ ALSA_LIB_AUTORECONF = YES ALSA_LIB_CONF_OPTS = \ --with-alsa-devdir=$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_DEVDIR)) \ --with-pcm-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS))" \ - --with-ctl-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS))" \ - --without-versioned + --with-ctl-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS))" + +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) +ALSA_LIB_CONF_OPTS += --without-versioned +endif # Can't build with static & shared at the same time (1.0.25+) ifeq ($(BR2_STATIC_LIBS),y) @@ -58,10 +61,11 @@ endif ifeq ($(BR2_PACKAGE_ALSA_LIB_PYTHON),y) ALSA_LIB_CONF_OPTS += \ - --with-pythonlibs=-lpython$(PYTHON_VERSION_MAJOR) \ - --with-pythonincludes=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) -ALSA_LIB_CFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) -ALSA_LIB_DEPENDENCIES = python + --enable-mixer-pymods \ + --with-pythonlibs=-lpython$(PYTHON3_VERSION_MAJOR) \ + --with-pythonincludes=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) +ALSA_LIB_CFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) +ALSA_LIB_DEPENDENCIES += python3 else ALSA_LIB_CONF_OPTS += --disable-python endif diff --git a/package/alsa-plugins/Config.in b/package/alsa-plugins/Config.in new file mode 100644 index 00000000000..ee0fb4c1d5d --- /dev/null +++ b/package/alsa-plugins/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_ALSA_PLUGINS + bool "alsa-plugins" + depends on BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_ALSA_LIB_HWDEP + help + Advanced Linux Sound Architecture Plugins + + http://www.alsa-project.org/ diff --git a/package/alsa-plugins/alsa-plugins.hash b/package/alsa-plugins/alsa-plugins.hash new file mode 100644 index 00000000000..8ecbd199654 --- /dev/null +++ b/package/alsa-plugins/alsa-plugins.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 42eef98433d2c8d11f1deeeb459643619215a75aa5a5bbdd06a794e4c413df20 alsa-plugins-1.2.5.tar.bz2 +sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING.GPL diff --git a/package/alsa-plugins/alsa-plugins.mk b/package/alsa-plugins/alsa-plugins.mk new file mode 100644 index 00000000000..396f47adafd --- /dev/null +++ b/package/alsa-plugins/alsa-plugins.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# alsa-plugins +# +################################################################################ + +ALSA_PLUGINS_VERSION = 1.2.5 +ALSA_PLUGINS_SOURCE = alsa-plugins-$(ALSA_PLUGINS_VERSION).tar.bz2 +ALSA_PLUGINS_SITE = https://www.alsa-project.org/files/pub/plugins +ALSA_PLUGINS_LICENSE = LGPL-2.1+ +ALSA_PLUGINS_LICENSE_FILES = COPYING +ALSA_PLUGINS_DEPENDENCIES = host-pkgconf alsa-lib + +ALSA_PLUGINS_CONF_OPTS = \ + --disable-jack \ + --disable-usbstream \ + --disable-pulseaudio \ + --disable-libav \ + --disable-maemo-plugin \ + --disable-maemo-resource-manager \ + --with-speex=no + +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +ALSA_PLUGINS_CONF_OPTS += --enable-samplerate +ALSA_PLUGINS_DEPENDENCIES += libsamplerate +ALSA_PLUGINS_LICENSE += , GPL-2.0+ (samplerate plugin) +ALSA_PLUGINS_LICENSE_FILES += COPYING.GPL +else +ALSA_PLUGINS_CONF_OPTS += --disable-samplerate +endif + +$(eval $(autotools-package)) diff --git a/package/alsa-utils/alsa-utils.hash b/package/alsa-utils/alsa-utils.hash index dda009c1af0..c2d3ee9bb5c 100644 --- a/package/alsa-utils/alsa-utils.hash +++ b/package/alsa-utils/alsa-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 98ffc2d599de0577d423a48fa5f20a992ca0b82d812ed1f2e58ade49ac6da426 alsa-utils-1.2.4.tar.bz2 +sha256 6a1efd8a1f1d9d38e489633eaec1fffa5c315663b316cab804be486887e6145d alsa-utils-1.2.6.tar.bz2 sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk index d9f0fea7b40..c1478bf847f 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.2.4 +ALSA_UTILS_VERSION = 1.2.6 ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2 ALSA_UTILS_SITE = https://www.alsa-project.org/files/pub/utils ALSA_UTILS_LICENSE = GPL-2.0 @@ -15,6 +15,10 @@ ALSA_UTILS_DEPENDENCIES = host-pkgconf alsa-lib \ $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \ $(TARGET_NLS_DEPENDENCIES) +ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSACTL),y) +ALSA_UTILS_SELINUX_MODULES += alsa +endif + ALSA_UTILS_CONF_ENV = \ ac_cv_prog_ncurses5_config=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) \ LIBS=$(TARGET_NLS_LIBS) @@ -73,8 +77,7 @@ define ALSA_UTILS_INSTALL_TARGET_CMDS fi if [ -x "$(TARGET_DIR)/usr/sbin/alsactl" ]; then \ mkdir -p $(TARGET_DIR)/usr/share/; \ - rm -rf $(TARGET_DIR)/usr/share/alsa/; \ - cp -rdpf $(STAGING_DIR)/usr/share/alsa/ $(TARGET_DIR)/usr/share/alsa/; \ + cp -rdpf $(STAGING_DIR)/usr/share/alsa/* $(TARGET_DIR)/usr/share/alsa/; \ fi endef diff --git a/package/android-tools/Config.in b/package/android-tools/Config.in index a36c4db189d..bc76d545c11 100644 --- a/package/android-tools/Config.in +++ b/package/android-tools/Config.in @@ -38,6 +38,7 @@ config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT bool "fastboot" depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux depends on !BR2_STATIC_LIBS # libselinux + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS select BR2_PACKAGE_LIBSELINUX select BR2_PACKAGE_ZLIB @@ -46,8 +47,9 @@ config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT the target, which can be used to reflash other target devices implementing the fastboot protocol. -comment "fastboot needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "fastboot needs a toolchain w/ threads, dynamic library, gcc >= 5" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)" depends on !BR2_arc diff --git a/package/android-tools/Config.in.host b/package/android-tools/Config.in.host index 433f4e384f5..898ddb2199a 100644 --- a/package/android-tools/Config.in.host +++ b/package/android-tools/Config.in.host @@ -11,11 +11,15 @@ if BR2_PACKAGE_HOST_ANDROID_TOOLS config BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT bool "fastboot" + depends on BR2_HOST_GCC_AT_LEAST_5 # host-libselinux -> host-libsepol help This option will build and install the fastboot utility for the host, which can be used to reflash target devices implementing the fastboot protocol. +comment "fastboot needs a toolchain w/ host gcc >= 5" + depends on !BR2_HOST_GCC_AT_LEAST_5 + config BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB bool "adb" help @@ -25,9 +29,13 @@ config BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB config BR2_PACKAGE_HOST_ANDROID_TOOLS_EXT4_UTILS bool "ext4 utils" + depends on BR2_HOST_GCC_AT_LEAST_5 # host-libselinux -> host-libsepol help This option will build and install the ext4 utils for the host, i.e. make_ext4fs, ext4fixup, ext2simg, img2simg, simg2img and simg2simg. +comment "ext4 utils needs a toolchain w/ host gcc >= 5" + depends on !BR2_HOST_GCC_AT_LEAST_5 + endif diff --git a/package/apache/0004-server-log.c-ap_log_pid-Use-a-temporary-file-then-re.patch b/package/apache/0004-server-log.c-ap_log_pid-Use-a-temporary-file-then-re.patch deleted file mode 100644 index af3cd47a304..00000000000 --- a/package/apache/0004-server-log.c-ap_log_pid-Use-a-temporary-file-then-re.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 5b95d256387b45fbe33f7ee7890ae35afdd5c371 Mon Sep 17 00:00:00 2001 -From: Joe Orton -Date: Fri, 13 Mar 2020 14:34:18 +0000 -Subject: [PATCH] * server/log.c (ap_log_pid): Use a temporary file, then - rename once successfully written; also add error checking. Avoids startup - failures if a previous httpd invocation crashed while writing the pidfile. - -Submitted by: Nicolas Carrier , jorton -Github: closes #100, closes #69 -PR: 63140 - -git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1875153 13f79535-47bb-0310-9956-ffa450edef68 -Signed-off-by: Nicolas Carrier ---- - server/log.c | 33 ++++++++++++++++++++++++++------- - 1 file changed, 26 insertions(+), 7 deletions(-) - -diff --git a/server/log.c b/server/log.c -index f0bde6e4b8..8d54b4e057 100644 ---- a/server/log.c -+++ b/server/log.c -@@ -1598,6 +1598,9 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *filename) - pid_t mypid; - apr_status_t rv; - const char *fname; -+ char *temp_fname; -+ apr_fileperms_t perms; -+ char pidstr[64]; - - if (!filename) { - return; -@@ -1626,19 +1629,35 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *filename) - fname); - } - -- if ((rv = apr_file_open(&pid_file, fname, -- APR_WRITE | APR_CREATE | APR_TRUNCATE, -- APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD, p)) -- != APR_SUCCESS) { -+ temp_fname = apr_pstrcat(p, fname, ".XXXXXX", NULL); -+ rv = apr_file_mktemp(&pid_file, temp_fname, -+ APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE, p); -+ if (rv != APR_SUCCESS) { - ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL, APLOGNO(00099) -- "could not create %s", fname); -+ "could not create %s", temp_fname); - ap_log_error(APLOG_MARK, APLOG_ERR, 0, NULL, APLOGNO(00100) - "%s: could not log pid to file %s", - ap_server_argv0, fname); - exit(1); - } -- apr_file_printf(pid_file, "%" APR_PID_T_FMT APR_EOL_STR, mypid); -- apr_file_close(pid_file); -+ -+ apr_snprintf(pidstr, sizeof pidstr, "%" APR_PID_T_FMT APR_EOL_STR, mypid); -+ -+ perms = APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD; -+ rv = apr_file_perms_set(temp_fname, perms); -+ if (rv == APR_SUCCESS) -+ rv = apr_file_write_full(pid_file, pidstr, strlen(pidstr), NULL); -+ if (rv == APR_SUCCESS) -+ rv = apr_file_close(pid_file); -+ if (rv == APR_SUCCESS) -+ rv = apr_file_rename(temp_fname, fname, p); -+ if (rv != APR_SUCCESS) { -+ ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL, APLOGNO(10231) -+ "%s: Failed creating pid file %s", -+ ap_server_argv0, temp_fname); -+ exit(1); -+ } -+ - saved_pid = mypid; - } - --- -2.25.2 - diff --git a/package/apache/Config.in b/package/apache/Config.in index 693ee20a1bf..270296bce4e 100644 --- a/package/apache/Config.in +++ b/package/apache/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_APACHE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # apr select BR2_PACKAGE_APR_UTIL - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 help The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating @@ -13,7 +13,7 @@ config BR2_PACKAGE_APACHE server that provides HTTP services in sync with the current HTTP standards. - http://httpd.apache.org + https://httpd.apache.org if BR2_PACKAGE_APACHE diff --git a/package/apache/apache.hash b/package/apache/apache.hash index bd3f6ac7ba1..11dcdefe466 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,5 +1,5 @@ -# From http://archive.apache.org/dist/httpd/httpd-2.4.46.tar.bz2.{sha256,sha512} -sha256 740eddf6e1c641992b22359cabc66e6325868c3c5e2e3f98faf349b61ecf41ea httpd-2.4.46.tar.bz2 -sha512 5936784bb662e9d8a4f7fe38b70c043b468114d931cd10ea831bfe74461ea5856b64f88f42c567ab791fc8907640a99884ba4b6a600f86d661781812735b6f13 httpd-2.4.46.tar.bz2 +# From https://downloads.apache.org/httpd/httpd-2.4.53.tar.bz2.{sha256,sha512} +sha256 d0bbd1121a57b5f2a6ff92d7b96f8050c5a45d3f14db118f64979d525858db63 httpd-2.4.53.tar.bz2 +sha512 07ef59594251a30a864cc9cc9a58ab788c2d006cef85b728f29533243927c63cb063e0867f2a306f37324c3adb9cf7dcb2402f3516b05c2c6f32469d475dd756 httpd-2.4.53.tar.bz2 # Locally computed sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index 6b9d18ac00c..b2c855aa36d 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,31 +4,24 @@ # ################################################################################ -APACHE_VERSION = 2.4.46 +APACHE_VERSION = 2.4.53 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 -APACHE_SITE = http://archive.apache.org/dist/httpd +APACHE_SITE = https://downloads.apache.org/httpd APACHE_LICENSE = Apache-2.0 APACHE_LICENSE_FILES = LICENSE APACHE_CPE_ID_VENDOR = apache APACHE_CPE_ID_PRODUCT = http_server +APACHE_SELINUX_MODULES = apache # Needed for mod_php APACHE_INSTALL_STAGING = YES # We have a patch touching configure.in and Makefile.in, # so we need to autoreconf: APACHE_AUTORECONF = YES -APACHE_DEPENDENCIES = apr apr-util pcre - -ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -define APACHE_FIXUP_APR_LIBTOOL - $(SED) "s@$(PER_PACKAGE_DIR)/[^/]\+/@$(PER_PACKAGE_DIR)/apache/@g" \ - $(STAGING_DIR)/usr/build-1/libtool -endef -APACHE_POST_CONFIGURE_HOOKS += APACHE_FIXUP_APR_LIBTOOL -endif +APACHE_DEPENDENCIES = apr apr-util pcre2 APACHE_CONF_ENV= \ ap_cv_void_ptr_lt_long=no \ - PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config + PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config ifeq ($(BR2_PACKAGE_APACHE_MPM_EVENT),y) APACHE_MPM = event @@ -42,7 +35,7 @@ APACHE_CONF_OPTS = \ --sysconfdir=/etc/apache2 \ --with-apr=$(STAGING_DIR)/usr \ --with-apr-util=$(STAGING_DIR)/usr \ - --with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \ + --with-pcre=$(STAGING_DIR)/usr/bin/pcre2-config \ --enable-http \ --enable-dbd \ --enable-proxy \ diff --git a/package/apcupsd/apcupsd.mk b/package/apcupsd/apcupsd.mk index 410bce9aeca..80ed0b08327 100644 --- a/package/apcupsd/apcupsd.mk +++ b/package/apcupsd/apcupsd.mk @@ -8,6 +8,8 @@ APCUPSD_VERSION = 3.14.14 APCUPSD_SITE = http://downloads.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/$(APCUPSD_VERSION) APCUPSD_LICENSE = GPL-2.0 APCUPSD_LICENSE_FILES = COPYING +APCUPSD_CPE_ID_VENDOR = apcupsd +APCUPSD_SELINUX_MODULES = apache apcupsd APCUPSD_CONF_OPTS = --disable-test ifneq ($(BR2_PACKAGE_APCUPSD_MODBUS_USB)$(BR2_PACKAGE_APCUPSD_USB),) @@ -32,7 +34,7 @@ endif ifeq ($(BR2_PACKAGE_APCUPSD_MODBUS_USB),y) APCUPSD_CONF_OPTS += --enable-modbus-usb -APCUPSD_DEPENDENCIES = libusb libusb-compat +APCUPSD_DEPENDENCIES += libusb libusb-compat else APCUPSD_CONF_OPTS += --disable-modbus-usb endif @@ -63,7 +65,7 @@ endif ifeq ($(BR2_PACKAGE_APCUPSD_USB),y) APCUPSD_CONF_OPTS += --enable-usb -APCUPSD_DEPENDENCIES = libusb libusb-compat +APCUPSD_DEPENDENCIES += libusb libusb-compat else APCUPSD_CONF_OPTS += --disable-usb endif diff --git a/package/apg/Config.in b/package/apg/Config.in new file mode 100644 index 00000000000..94c286a178b --- /dev/null +++ b/package/apg/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_APG + bool "apg" + help + Automated Password Generator (APG). + + https://github.com/wilx/apg diff --git a/package/apg/apg.hash b/package/apg/apg.hash new file mode 100644 index 00000000000..5532289a68c --- /dev/null +++ b/package/apg/apg.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 89539aa734a47d68124fca5ba7acbe559edc5003b6791f5200ef9e706dd00fe9 apg-2.3.0b.tar.gz +sha256 5d0c892ea452c3828f1e311637cde4e3a04eb6431554308b3fcdac8c1b330168 COPYING diff --git a/package/apg/apg.mk b/package/apg/apg.mk new file mode 100644 index 00000000000..ac4dce77f94 --- /dev/null +++ b/package/apg/apg.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# apg +# +################################################################################ + +APG_VERSION = 2.3.0b +APG_SITE = $(call github,wilx,apg,v$(APG_VERSION)) +APG_LICENSE = BSD-3-Clause +APG_LICENSE_FILES = COPYING + +define APG_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(APG_CFLAGS)" \ + -C $(@D) +endef + +define APG_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/apg $(TARGET_DIR)/usr/bin/apg +endef + +$(eval $(generic-package)) diff --git a/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch b/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch deleted file mode 100644 index bf47bba9319..00000000000 --- a/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 189a3b8397c61ba262a2221885e38dc514c59d94 Mon Sep 17 00:00:00 2001 -From: Paul Cercueil -Date: Sat, 7 Dec 2019 00:00:57 +0100 -Subject: [PATCH] dlsym: Fix build under uClibc - -uClibc defines the __GLIBC__ macro too (I know, right?), so verify that -__UCLIBC__ is not defined before we can use glibc-specific internal -functions. - -Signed-off-by: Paul Cercueil -Upstream: https://github.com/apitrace/apitrace/commit/189a3b8397c61ba262a2221885e38dc514c59d94 ---- - wrappers/dlsym.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp -index 2eda082a..5ab8465b 100644 ---- a/wrappers/dlsym.cpp -+++ b/wrappers/dlsym.cpp -@@ -34,7 +34,7 @@ - #include "os.hpp" - - --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - - - #include --- -2.24.0 - diff --git a/package/apitrace/0001-thirdparty-libbacktrace-backtrace-h-include-config.h.patch b/package/apitrace/0001-thirdparty-libbacktrace-backtrace-h-include-config.h.patch new file mode 100644 index 00000000000..bc76e5e26bf --- /dev/null +++ b/package/apitrace/0001-thirdparty-libbacktrace-backtrace-h-include-config.h.patch @@ -0,0 +1,40 @@ +From 36ff87a927092b4d62c587736d7684dea9c82e63 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 19 Jul 2021 08:27:48 +0200 +Subject: [PATCH] thirdparty/libbacktrace/backtrace/h: include config.h + +Build on musl is broken since version 10.0 because the include on +config.h was removed by +https://github.com/apitrace/apitrace/commit/1544abf59d68d74977b8b692bea4d7468d65547b: + +In file included from /home/buildroot/autobuild/instance-3/output-1/build/apitrace-10.0/thirdparty/libbacktrace/testlib.c:40: +/home/buildroot/autobuild/instance-3/output-1/build/apitrace-10.0/thirdparty/libbacktrace/backtrace.h:53:10: fatal error: gstdint.h: No such file or directory + 53 | #include "gstdint.h" + | ^~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/a10793d01efa3a1533ba37aa845b9ac2bb1dfb6b + +Signed-off-by: Fabrice Fontaine +[Upstream status: not needed +(https://github.com/apitrace/apitrace/issues/755)] +--- + thirdparty/libbacktrace/backtrace.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/thirdparty/libbacktrace/backtrace.h b/thirdparty/libbacktrace/backtrace.h +index 2814763f..ab7679a0 100644 +--- a/thirdparty/libbacktrace/backtrace.h ++++ b/thirdparty/libbacktrace/backtrace.h +@@ -33,6 +33,8 @@ POSSIBILITY OF SUCH DAMAGE. */ + #ifndef BACKTRACE_H + #define BACKTRACE_H + ++#include "config.h" ++ + #include + #include + +-- +2.30.2 + diff --git a/package/apitrace/0002-Support-libc-that-don-t-have-RTLD_DEEPBIND.patch b/package/apitrace/0002-Support-libc-that-don-t-have-RTLD_DEEPBIND.patch deleted file mode 100644 index e34357428ab..00000000000 --- a/package/apitrace/0002-Support-libc-that-don-t-have-RTLD_DEEPBIND.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d495d15e20bf655afa3be62ada792e8dfc8d29b6 Mon Sep 17 00:00:00 2001 -From: Gleb Mazovetskiy -Date: Fri, 13 Dec 2019 13:39:19 +0000 -Subject: [PATCH] Support libc that don't have RTLD_DEEPBIND - -[Retrieved from: https://github.com/apitrace/apitrace/pull/646] -Signed-off-by: Fabrice Fontaine ---- - dispatch/glproc_gl.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/dispatch/glproc_gl.cpp b/dispatch/glproc_gl.cpp -index 5d7903a0c..456fcc42e 100644 ---- a/dispatch/glproc_gl.cpp -+++ b/dispatch/glproc_gl.cpp -@@ -148,6 +148,9 @@ _getPrivateProcAddress(const char *procName) - - #else - -+#ifndef RTLD_DEEPBIND -+#define RTLD_DEEPBIND 0 -+#endif - - static inline void - logSymbol(const char *name, void *ptr) { diff --git a/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch b/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch new file mode 100644 index 00000000000..57e3ee248be --- /dev/null +++ b/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch @@ -0,0 +1,34 @@ +From d28a980802ad48568c87da02d630c8babfe163bb Mon Sep 17 00:00:00 2001 +From: Jose Fonseca +Date: Wed, 1 Sep 2021 16:34:54 +0100 +Subject: [PATCH] gltrace: Avoid __libc_dlsym and __libc_dlopen_mode on GLIBC + 2.34. + +These GLIBC_PRIVATE symbols are gone from GLIBC 2.34 due to the merge of +libdl.so onto libc.so. + +This means apitrace can't defend against infinite recursion when +used with Steam Overlay, but at least it should work otherwise. + +Fixes https://github.com/apitrace/apitrace/issues/756 + +[Retrieved from: +https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb] +Signed-off-by: Fabrice Fontaine +--- + wrappers/dlsym.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp +index 5ab8465b0..5369af35a 100644 +--- a/wrappers/dlsym.cpp ++++ b/wrappers/dlsym.cpp +@@ -34,7 +34,7 @@ + #include "os.hpp" + + +-#if defined(__GLIBC__) && !defined(__UCLIBC__) ++#if defined(__GLIBC__) && !defined(__UCLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34 + + + #include diff --git a/package/apitrace/0003-CMakeLists.txt-respect-BUILD_TESTING-OFF.patch b/package/apitrace/0003-CMakeLists.txt-respect-BUILD_TESTING-OFF.patch deleted file mode 100644 index 8cc1f8bb0bc..00000000000 --- a/package/apitrace/0003-CMakeLists.txt-respect-BUILD_TESTING-OFF.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 7f0f1e7e34f997eef697856804dd478b54bb365e Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 22 Dec 2020 10:45:21 +0100 -Subject: [PATCH] CMakeLists.txt: respect BUILD_TESTING=OFF - -Allow the user to disable unit tests through BUILD_TESTING=OFF: -https://cmake.org/cmake/help/latest/command/enable_testing.html - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/apitrace/apitrace/pull/698] ---- - CMakeLists.txt | 6 +++++- - gui/CMakeLists.txt | 6 ++++-- - lib/guids/CMakeLists.txt | 6 ++++-- - lib/os/CMakeLists.txt | 6 ++++-- - lib/trace/CMakeLists.txt | 6 ++++-- - 5 files changed, 21 insertions(+), 9 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4a07f069..ee401887 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,6 +41,8 @@ option (ENABLE_FRAME_POINTER "Disable frame pointer omission" ON) - - option (ENABLE_ASAN "Enable Address Sanitizer" OFF) - -+option (BUILD_TESTING "Enable unit tests" ON) -+ - option (ENABLE_TESTS "Enable additional tests" OFF) - - if (ANDROID) -@@ -433,7 +435,9 @@ endmacro () - # which subdirectory they are declared - set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) - --enable_testing () -+if (BUILD_TESTING) -+ enable_testing () -+endif () - if (CMAKE_CROSSCOMPILING) - add_custom_target (check) - elseif (DEFINED CMAKE_BUILD_TYPE) -diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt -index 5baf3552..ad6ee501 100644 ---- a/gui/CMakeLists.txt -+++ b/gui/CMakeLists.txt -@@ -13,8 +13,10 @@ add_library (qubjson STATIC - qubjson.cpp - ) - --add_gtest (qubjson_test qubjson_test.cpp) --target_link_libraries (qubjson_test qubjson) -+if (BUILD_TESTING) -+ add_gtest (qubjson_test qubjson_test.cpp) -+ target_link_libraries (qubjson_test qubjson) -+endif () - - set(qapitrace_SRCS - apisurface.cpp -diff --git a/lib/guids/CMakeLists.txt b/lib/guids/CMakeLists.txt -index ce0f86da..ea28a18f 100644 ---- a/lib/guids/CMakeLists.txt -+++ b/lib/guids/CMakeLists.txt -@@ -5,5 +5,7 @@ add_library (guids STATIC - guids.hpp - ) - --add_gtest (guids_test guids_test.cpp) --target_link_libraries (guids_test guids) -+if (BUILD_TESTING) -+ add_gtest (guids_test guids_test.cpp) -+ target_link_libraries (guids_test guids) -+endif () -diff --git a/lib/os/CMakeLists.txt b/lib/os/CMakeLists.txt -index 222411e0..b7134b57 100644 ---- a/lib/os/CMakeLists.txt -+++ b/lib/os/CMakeLists.txt -@@ -36,5 +36,7 @@ if (APPLE) - ) - endif () - --add_gtest (os_thread_test os_thread_test.cpp) --target_link_libraries (os_thread_test os) -+if (BUILD_TESTING) -+ add_gtest (os_thread_test os_thread_test.cpp) -+ target_link_libraries (os_thread_test os) -+endif () -diff --git a/lib/trace/CMakeLists.txt b/lib/trace/CMakeLists.txt -index c68bd00f..d95df978 100644 ---- a/lib/trace/CMakeLists.txt -+++ b/lib/trace/CMakeLists.txt -@@ -34,5 +34,7 @@ target_link_libraries (common - brotli_dec brotli_common - ) - --add_gtest (trace_parser_flags_test trace_parser_flags_test.cpp) --target_link_libraries (trace_parser_flags_test common) -+if (BUILD_TESTING) -+ add_gtest (trace_parser_flags_test trace_parser_flags_test.cpp) -+ target_link_libraries (trace_parser_flags_test common) -+endif () --- -2.29.2 - diff --git a/package/apitrace/Config.in b/package/apitrace/Config.in index 263eec5e7db..44bd696431e 100644 --- a/package/apitrace/Config.in +++ b/package/apitrace/Config.in @@ -1,8 +1,8 @@ -comment "apitrace needs a toolchain w/ C++, wchar, dynamic library, threads, gcc >= 4.9" +comment "apitrace needs a toolchain w/ C++, wchar, dynamic library, threads, gcc >= 7" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 config BR2_PACKAGE_APITRACE bool "apitrace" @@ -10,7 +10,7 @@ config BR2_PACKAGE_APITRACE depends on BR2_USE_WCHAR depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # dlfcn.h - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBPNG diff --git a/package/apitrace/apitrace.hash b/package/apitrace/apitrace.hash index 9479f064253..7ccf6cfbe19 100644 --- a/package/apitrace/apitrace.hash +++ b/package/apitrace/apitrace.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0eec81ba7d3799622336319785465a2982a0621898842517a07894d7e2aa18eb apitrace-9.0.tar.gz -sha256 7066bb1b787519c42f8278b77757c21de522cd97755cb30a22759ac401c62260 LICENSE +sha256 2e57d37af39369d7ce78666acb8afb1a49ec758f683a21077ec39eb0befae4ad apitrace-10.0.tar.gz +sha256 7066bb1b787519c42f8278b77757c21de522cd97755cb30a22759ac401c62260 LICENSE diff --git a/package/apitrace/apitrace.mk b/package/apitrace/apitrace.mk index b962ac01d36..c47562233b0 100644 --- a/package/apitrace/apitrace.mk +++ b/package/apitrace/apitrace.mk @@ -4,7 +4,7 @@ # ################################################################################ -APITRACE_VERSION = 9.0 +APITRACE_VERSION = 10.0 APITRACE_SITE = $(call github,apitrace,apitrace,$(APITRACE_VERSION)) APITRACE_LICENSE = MIT APITRACE_LICENSE_FILES = LICENSE @@ -38,6 +38,11 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) APITRACE_CXXFLAGS += -O0 endif +# m68k needs 32-bit offsets in switch tables to build +ifeq ($(BR2_m68k),y) +APITRACE_CXXFLAGS += -mlong-jump-table-offsets +endif + APITRACE_CONF_OPTS += \ -DCMAKE_C_FLAGS="$(APITRACE_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$(APITRACE_CXXFLAGS)" diff --git a/package/apparmor/apparmor.hash b/package/apparmor/apparmor.hash index ddbe87c5692..88280cbfcf2 100644 --- a/package/apparmor/apparmor.hash +++ b/package/apparmor/apparmor.hash @@ -1,5 +1,5 @@ # From: https://gitlab.com/apparmor/apparmor/-/wikis/home#userspace -sha256 8fada772d9a60989525594346d9aa22af938daafc1781adce9a1acb3c75bdf24 apparmor-3.0.1.tar.gz +sha256 153db05d8f491e0596022663c19fb1166806cb473b3c6f0a7279feda2ec25a59 apparmor-3.0.3.tar.gz # locally computed sha256 a7e0cdcbea5c14927cedfc600d46526bdcbb1eb0a4d951e2ea53c2a6de159cb4 LICENSE diff --git a/package/apparmor/apparmor.mk b/package/apparmor/apparmor.mk index 6c23e1bb895..43bfa053088 100644 --- a/package/apparmor/apparmor.mk +++ b/package/apparmor/apparmor.mk @@ -6,7 +6,7 @@ # When updating the version here, please also update the libapparmor package APPARMOR_VERSION_MAJOR = 3.0 -APPARMOR_VERSION = $(APPARMOR_VERSION_MAJOR).1 +APPARMOR_VERSION = $(APPARMOR_VERSION_MAJOR).3 APPARMOR_SITE = https://launchpad.net/apparmor/$(APPARMOR_VERSION_MAJOR)/$(APPARMOR_VERSION)/+download APPARMOR_DL_SUBDIR = libapparmor APPARMOR_LICENSE = GPL-2.0 @@ -54,15 +54,6 @@ ifeq ($(BR2_PACKAGE_APACHE),y) APPARMOR_DEPENDENCIES += apache APPARMOR_TOOLS += changehat/mod_apparmor APPARMOR_MAKE_OPTS += APXS=$(STAGING_DIR)/usr/bin/apxs - -ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -define APPARMOR_FIXUP_APXS - $(SED) "s@$(PER_PACKAGE_DIR)/[^/]\+/@$(PER_PACKAGE_DIR)/apparmor/@g" \ - $(STAGING_DIR)/usr/bin/apxs \ - $(STAGING_DIR)/usr/build/config_vars.mk -endef -APPARMOR_POST_CONFIGURE_HOOKS += APPARMOR_FIXUP_APXS -endif endif define APPARMOR_BUILD_CMDS diff --git a/package/apr-util/Config.in b/package/apr-util/Config.in index 6c5e3bbdf59..c1a967bdecf 100644 --- a/package/apr-util/Config.in +++ b/package/apr-util/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_APR_UTIL help The utility library for the apache runtime project - http://apr.apache.org/ + https://apr.apache.org comment "apr-util needs a toolchain w/ dynamic library" depends on BR2_USE_MMU diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index db4df915649..fb0735f5e73 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -6,7 +6,7 @@ APR_UTIL_VERSION = 1.6.1 APR_UTIL_SOURCE = apr-util-$(APR_UTIL_VERSION).tar.bz2 -APR_UTIL_SITE = http://archive.apache.org/dist/apr +APR_UTIL_SITE = https://archive.apache.org/dist/apr APR_UTIL_LICENSE = Apache-2.0 APR_UTIL_LICENSE_FILES = LICENSE APR_UTIL_CPE_ID_VENDOR = apache @@ -17,16 +17,6 @@ APR_UTIL_CONF_OPTS = \ --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config APR_UTIL_CONFIG_SCRIPTS = apu-1-config -ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -define APR_UTIL_FIX_RULES_MK_LIBTOOL - $(SED) 's,$(PER_PACKAGE_DIR)/apr/,$(PER_PACKAGE_DIR)/apr-util/,g' \ - $(@D)/build/rules.mk - $(SED) 's,$(PER_PACKAGE_DIR)/apr/,$(PER_PACKAGE_DIR)/apr-util/,g' \ - $(STAGING_DIR)/usr/build-1/libtool -endef -APR_UTIL_POST_CONFIGURE_HOOKS += APR_UTIL_FIX_RULES_MK_LIBTOOL -endif - # When iconv is available, then use it to provide charset conversion # features. APR_UTIL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) diff --git a/package/apr/0003-Merge-r1887279-from-trunk.patch b/package/apr/0003-Merge-r1887279-from-trunk.patch new file mode 100644 index 00000000000..444b9d2b068 --- /dev/null +++ b/package/apr/0003-Merge-r1887279-from-trunk.patch @@ -0,0 +1,69 @@ +From a15958a37a06f71c42c690278f9c958b93b7ee20 Mon Sep 17 00:00:00 2001 +From: Yann Ylavic +Date: Thu, 11 Mar 2021 14:10:21 +0000 +Subject: [PATCH] Merge r1887279 from trunk: + +build/apr_common.m4: avoid explicit inclusion of "confdefs.h" + +The failure is observed on `autoconf-2.69d` (soon to be released +as `autoconf-2.70`). There `int64_t` detection fails as: + +$ autoreconf && ./configure +checking whether int64_t and int use fmt %d... no +checking whether int64_t and long use fmt %ld... no +checking whether int64_t and long long use fmt %lld... no +configure: error: could not determine the string function for int64_t +``` + +This happens because `./configure` always stumbles on warning: + +configure:3350: gcc -c -g -O2 -Werror conftest.c >&5 +In file included from conftest.c:31: +confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror] + 22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 + | + +It's triggered by double inclusion of `"confdefs.h"` contents: +explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly +via `AC_LANG_SOURCE` use. + +To fix it and avoid having to define `main()` declaration the change +uses `AC_LANG_PROGRAM` instead. + +Tested on both `autoconf-2.69` and `autoconf-2.69d`. + + +Github: closes #25 +Submitted by: Sergei Trofimovich +Reviewed by: ylavic + + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1887485 13f79535-47bb-0310-9956-ffa450edef68 + +[Retrieved from: +https://github.com/apache/apr/commit/0a763c5e500f4304b7c534fae0fad430d64982e8] +Signed-off-by: Fabrice Fontaine +--- + build/apr_common.m4 | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/build/apr_common.m4 b/build/apr_common.m4 +index 297dd32cf75..b67a8608abe 100644 +--- a/build/apr_common.m4 ++++ b/build/apr_common.m4 +@@ -467,13 +467,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], + CFLAGS="$CFLAGS -Werror" + fi + AC_COMPILE_IFELSE( +- [AC_LANG_SOURCE( +- [#include "confdefs.h" +- ] +- [[$1]] +- [int main(int argc, const char *const *argv) {] ++ [AC_LANG_PROGRAM( ++ [[$1]], + [[$2]] +- [ return 0; }] + )], [CFLAGS=$apr_save_CFLAGS + $3], [CFLAGS=$apr_save_CFLAGS + $4]) diff --git a/package/apr/0004-apr-1.7.0-CVE-2021-35940.patch b/package/apr/0004-apr-1.7.0-CVE-2021-35940.patch new file mode 100644 index 00000000000..b065a3330a6 --- /dev/null +++ b/package/apr/0004-apr-1.7.0-CVE-2021-35940.patch @@ -0,0 +1,57 @@ + +SECURITY: CVE-2021-35940 (cve.mitre.org) + +Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though +was addressed in 1.6.x in 1.6.3 and later via r1807976. + +The fix was merged back to 1.7.x in r1891198. + +Since this was a regression in 1.7.0, a new CVE name has been assigned +to track this, CVE-2021-35940. + +Thanks to Iveta Cesalova for reporting this issue. + +https://svn.apache.org/viewvc?view=revision&revision=1891198 + +[Retrieved from: +https://dist.apache.org/repos/dist/release/apr/patches/apr-1.7.0-CVE-2021-35940.patch] +Signed-off-by: Fabrice Fontaine + +Index: ./time/unix/time.c +=================================================================== +--- ./time/unix/time.c (revision 1891197) ++++ ./time/unix/time.c (revision 1891198) +@@ -142,6 +142,9 @@ + static const int dayoffset[12] = + {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; + ++ if (xt->tm_mon < 0 || xt->tm_mon >= 12) ++ return APR_EBADDATE; ++ + /* shift new year to 1st March in order to make leap year calc easy */ + + if (xt->tm_mon < 2) +Index: ./time/win32/time.c +=================================================================== +--- ./time/win32/time.c (revision 1891197) ++++ ./time/win32/time.c (revision 1891198) +@@ -54,6 +54,9 @@ + static const int dayoffset[12] = + {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; + ++ if (tm->wMonth < 1 || tm->wMonth > 12) ++ return APR_EBADDATE; ++ + /* Note; the caller is responsible for filling in detailed tm_usec, + * tm_gmtoff and tm_isdst data when applicable. + */ +@@ -228,6 +231,9 @@ + static const int dayoffset[12] = + {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; + ++ if (xt->tm_mon < 0 || xt->tm_mon >= 12) ++ return APR_EBADDATE; ++ + /* shift new year to 1st March in order to make leap year calc easy */ + + if (xt->tm_mon < 2) diff --git a/package/apr/Config.in b/package/apr/Config.in index 67de925474e..4606fc5378d 100644 --- a/package/apr/Config.in +++ b/package/apr/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_APR predictable and consistent interface to underlying platform-specific implementations - http://apr.apache.org/ + https://apr.apache.org comment "apr needs a toolchain w/ dynamic library" depends on BR2_USE_MMU diff --git a/package/apr/apr.mk b/package/apr/apr.mk index 466222586c9..77217ccbb35 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -6,14 +6,19 @@ APR_VERSION = 1.7.0 APR_SOURCE = apr-$(APR_VERSION).tar.bz2 -APR_SITE = http://archive.apache.org/dist/apr +APR_SITE = https://archive.apache.org/dist/apr APR_LICENSE = Apache-2.0 APR_LICENSE_FILES = LICENSE +APR_CPE_ID_VENDOR = apache +APR_CPE_ID_PRODUCT = portable_runtime APR_INSTALL_STAGING = YES # We have a patch touching configure.in and Makefile.in, # so we need to autoreconf: APR_AUTORECONF = YES +# 0004-apr-1.7.0-CVE-2021-35940.patch +APR_IGNORE_CVES += CVE-2021-35940 + # avoid apr_hints.m4 by setting apr_preload_done=yes and set # the needed CFLAGS on our own (avoids '-D_REENTRANT' in case # not supported by toolchain and subsequent configure failure) diff --git a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash index b18e56c1516..73c2708feae 100644 --- a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash +++ b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ac952d89ae0fc3543e81099e7d34917efc621f5def112eee843fd1ce755eca8c gcc-arm-9.2-2019.12-x86_64-arm-none-eabi.tar.xz +sha256 45225813f74e0c3f76af2715d30d1fbebb873c1abe7098f9c694e5567cc2279c gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz diff --git a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk index d7088892ca7..97ab89c9eb7 100644 --- a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk +++ b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk @@ -4,7 +4,7 @@ # ################################################################################ -ARM_GNU_A_TOOLCHAIN_VERSION = 9.2-2019.12 +ARM_GNU_A_TOOLCHAIN_VERSION = 10.3-2021.07 ARM_GNU_A_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/$(ARM_GNU_A_TOOLCHAIN_VERSION)/binrel ARM_GNU_A_TOOLCHAIN_SOURCE = gcc-arm-$(ARM_GNU_A_TOOLCHAIN_VERSION)-x86_64-arm-none-eabi.tar.xz ARM_GNU_A_TOOLCHAIN_LICENSE = GPL-3.0+ diff --git a/package/armadillo/Config.in b/package/armadillo/Config.in index b2b61a3233d..7aed4fd02fe 100644 --- a/package/armadillo/Config.in +++ b/package/armadillo/Config.in @@ -1,20 +1,38 @@ comment "armadillo needs a toolchain w/ C++" + depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP - depends on !BR2_powerpc - depends on !BR2_m68k_cf -comment "armadillo needs a glibc toolchain w/ C++" - depends on BR2_powerpc - depends on !BR2_INSTALL_LIBSTDCPP || BR2_TOOLCHAIN_USES_UCLIBC +comment "armadillo needs a toolchain w/ fortran, C++" + depends on !BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS # otherwise, see comment above + depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_FORTRAN || !BR2_INSTALL_LIBSTDCPP config BR2_PACKAGE_ARMADILLO bool "armadillo" + depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS || \ + (BR2_PACKAGE_LAPACK_ARCH_SUPPORTS && BR2_TOOLCHAIN_HAS_FORTRAN) depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC # clapack - depends on !BR2_m68k_cf # clapack - select BR2_PACKAGE_CLAPACK help Armadillo: An Open Source C++ Linear Algebra Library for Fast Prototyping and Computationally Intensive Experiments. http://arma.sourceforge.net/ + +if BR2_PACKAGE_ARMADILLO + +choice + prompt "BLAS implementation" + +config BR2_PACKAGE_ARMADILLO_OPENBLAS + bool "openblas" + depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS + select BR2_PACKAGE_OPENBLAS + +config BR2_PACKAGE_ARMADILLO_LAPACK + bool "lapack" + depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS && BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_PACKAGE_LAPACK + +endchoice + +endif diff --git a/package/armadillo/armadillo.mk b/package/armadillo/armadillo.mk index 624b842ef6f..8661bfd9da8 100644 --- a/package/armadillo/armadillo.mk +++ b/package/armadillo/armadillo.mk @@ -7,11 +7,27 @@ ARMADILLO_VERSION = 9.900.2 ARMADILLO_SOURCE = armadillo-$(ARMADILLO_VERSION).tar.xz ARMADILLO_SITE = https://downloads.sourceforge.net/project/arma -ARMADILLO_DEPENDENCIES = clapack ARMADILLO_INSTALL_STAGING = YES ARMADILLO_LICENSE = Apache-2.0 ARMADILLO_LICENSE_FILES = LICENSE.txt ARMADILLO_CONF_OPTS = -DDETECT_HDF5=false +# blas support may be provided by lapack (libblas.a) or openblas (libopenblas.a) +ARMADILLO_CONF_OPTS += -DBLAS_FOUND=ON +ifeq ($(BR2_PACKAGE_ARMADILLO_OPENBLAS),y) +ARMADILLO_CONF_OPTS += -DBLAS_LIBRARIES=-lopenblas +ARMADILLO_DEPENDENCIES += openblas +else +# Since BR2_PACKAGE_LAPACK is selected in this case, the dependency on it is +# added below. +ARMADILLO_CONF_OPTS += -DBLAS_LIBRARIES=-lblas +endif + +# lapack support is optional and can only be provided by lapack, not openblas +ifeq ($(BR2_PACKAGE_LAPACK),y) +ARMADILLO_CONF_OPTS += -DLAPACK_FOUND=ON +ARMADILLO_DEPENDENCIES += lapack +endif + $(eval $(cmake-package)) diff --git a/package/armbian-firmware/Config.in b/package/armbian-firmware/Config.in index 7c5f6ba193d..7fb654b6d54 100644 --- a/package/armbian-firmware/Config.in +++ b/package/armbian-firmware/Config.in @@ -18,6 +18,16 @@ config BR2_PACKAGE_ARMBIAN_FIRMWARE_AP6256 help Firmware files for AP6256 WiFi/BT combo chip. +config BR2_PACKAGE_ARMBIAN_FIRMWARE_AP6255 + bool "AP6255 WiFi/BT" + help + Firmware files for AP6255 WiFi/BT combo chip. + +config BR2_PACKAGE_ARMBIAN_FIRMWARE_RTL8822CS + bool "Realtek 8822CS SDIO WiFi/BT" + help + Firmware files for Realtek 8822CS SDIO combo chip. + config BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819 bool "XR819 WiFi" help diff --git a/package/armbian-firmware/armbian-firmware.hash b/package/armbian-firmware/armbian-firmware.hash index ceefafd97cf..5ef875dbeac 100644 --- a/package/armbian-firmware/armbian-firmware.hash +++ b/package/armbian-firmware/armbian-firmware.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 a370a6aeb30f12a17f8d47c81a4d81aa822b9408589305a4d6a67d544280520d armbian-firmware-70a08503ac9e765f5d1ccf4fa3e825db0751e53e-br1.tar.gz +sha256 725b1f65a5947f053a593f917f91c6634d496c92af6180845cc3679d1377ab79 armbian-firmware-5d685ad233b4dfd03a4d025fa0061f6b0f850cb3-br1.tar.gz diff --git a/package/armbian-firmware/armbian-firmware.mk b/package/armbian-firmware/armbian-firmware.mk index 0ed069025d5..5d945548f2d 100644 --- a/package/armbian-firmware/armbian-firmware.mk +++ b/package/armbian-firmware/armbian-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -ARMBIAN_FIRMWARE_VERSION = 70a08503ac9e765f5d1ccf4fa3e825db0751e53e +ARMBIAN_FIRMWARE_VERSION = 5d685ad233b4dfd03a4d025fa0061f6b0f850cb3 ARMBIAN_FIRMWARE_SITE = https://github.com/armbian/firmware ARMBIAN_FIRMWARE_SITE_METHOD = git @@ -21,6 +21,29 @@ ARMBIAN_FIRMWARE_FILES += \ brcm/brcmfmac43456-sdio.txt endif +# AP6255 WiFi/BT combo firmware +ifeq ($(BR2_PACKAGE_ARMBIAN_FIRMWARE_AP6255),y) +ARMBIAN_FIRMWARE_FILES += \ + BCM4345C0.hcd \ + fw_bcm43455c0_ag.bin \ + fw_bcm43455c0_ag_apsta.bin \ + fw_bcm43455c0_ag_p2p.bin \ + nvram_ap6255.txt \ + brcm/brcmfmac43455-sdio.bin \ + brcm/brcmfmac43455-sdio.clm_blob \ + brcm/brcmfmac43455-sdio.txt \ + brcm/config.txt +endif + +# Realtek 8822CS SDIO WiFi/BT combo firmware +ifeq ($(BR2_PACKAGE_ARMBIAN_FIRMWARE_RTL8822CS),y) +ARMBIAN_FIRMWARE_FILES += \ + rtlbt/rtl8822cs_config \ + rtlbt/rtl8822cs_fw \ + rtl_bt/rtl8822cs_config.bin \ + rtl_bt/rtl8822cs_fw.bin +endif + # XR819 WiFi firmware ifeq ($(BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819),y) ARMBIAN_FIRMWARE_FILES += \ diff --git a/package/arp-scan/arp-scan.mk b/package/arp-scan/arp-scan.mk index cc1efe84a7a..3fdbd463c2d 100644 --- a/package/arp-scan/arp-scan.mk +++ b/package/arp-scan/arp-scan.mk @@ -12,7 +12,7 @@ ARP_SCAN_DEPENDENCIES = libpcap ARP_SCAN_AUTORECONF = YES ifeq ($(BR2_STATIC_LIBS),y) -ARP_SCAN_CONF_OPTS = LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" +ARP_SCAN_CONF_OPTS += LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" endif ARP_SCAN_CONF_ENV = pgac_cv_snprintf_long_long_int_format='%lld' diff --git a/package/arptables/0001-Fix-musl-build-issue.patch b/package/arptables/0001-Fix-musl-build-issue.patch index e9419b0a964..28bfa21fb1a 100644 --- a/package/arptables/0001-Fix-musl-build-issue.patch +++ b/package/arptables/0001-Fix-musl-build-issue.patch @@ -1,7 +1,7 @@ From cbf84a0bc377c6a368d30571f37ebfab27784697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Krause?= Date: Wed, 2 Dec 2015 04:57:33 +0100 -Subject: [PATCH 4/4] Fix musl build issue +Subject: [PATCH] Fix musl build issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch b/package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch new file mode 100644 index 00000000000..29f2d714e2c --- /dev/null +++ b/package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch @@ -0,0 +1,49 @@ +From 7d8285ae92253017a15282dd25f76d76eed49518 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 21 Apr 2022 13:43:23 +0200 +Subject: [PATCH] libarptc/libarptc_incl.c: fix build with -O0 + +Fix the following build failure with -O0: + +libarptc/libarptc.c:48:21: error: redefinition of 'arpt_get_target' + 48 | #define GET_TARGET arpt_get_target + | ^~~~~~~~~~~~~~~ +libarptc/libarptc_incl.c:16:1: note: in expansion of macro 'GET_TARGET' + 16 | GET_TARGET(STRUCT_ENTRY *e) + | ^~~~~~~~~~ +In file included from .//include/libarptc/libarptc.h:7, + from libarptc/libarptc.c:26: +.//include/linux/netfilter_arp/arp_tables.h:196:43: note: previous definition of 'arpt_get_target' was here + 196 | static __inline__ struct xt_entry_target *arpt_get_target(struct arpt_entry *e) + | ^~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/730dce4101e7afcee233067e2870603cd64b8a48 + +Signed-off-by: Fabrice Fontaine +--- + libarptc/libarptc_incl.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/libarptc/libarptc_incl.c b/libarptc/libarptc_incl.c +index c4d5de3..441f2de 100644 +--- a/libarptc/libarptc_incl.c ++++ b/libarptc/libarptc_incl.c +@@ -11,14 +11,6 @@ + /* (C)1999 Paul ``Rusty'' Russell - Placed under the GNU GPL (See + COPYING for details). */ + +-#ifndef __OPTIMIZE__ +-STRUCT_ENTRY_TARGET * +-GET_TARGET(STRUCT_ENTRY *e) +-{ +- return (void *)e + e->target_offset; +-} +-#endif +- + static int sockfd = -1; + static void *arptc_fn = NULL; + +-- +2.35.1 + diff --git a/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch b/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch deleted file mode 100644 index 1b23d66364a..00000000000 --- a/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 30a2ecc7939449f235282eb6de42e367fc5b1867 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Thu, 14 Jan 2016 22:13:15 +0100 -Subject: [PATCH] Fix FBXConverter: use proper 64-bit constant - -Use proper 64-bit constant for CONVERT_FBX_TIME(time) conversion, fixes: - - code/FBXConverter.cpp:2025: error: integer constant is too large for 'long' type - code/FBXConverter.cpp:2026: error: integer constant is too large for 'long' type - code/FBXConverter.cpp:2794: error: integer constant is too large for 'long' type - code/FBXConverter.cpp:2868: error: integer constant is too large for 'long' type - code/FBXConverter.cpp:2878: error: integer constant is too large for 'long' type - code/FBXConverter.cpp:2888: error: integer constant is too large for 'long' type - -Signed-off-by: Peter Seiderer -[Rebased on 5.0.1] -Signed-off-by: Peter Seiderer ---- - code/FBX/FBXConverter.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/code/FBX/FBXConverter.cpp b/code/FBXConverter.cpp -index e0c6b9c..b1e9a71 100644 ---- a/code/FBX/FBXConverter.cpp -+++ b/code/FBX/FBXConverter.cpp -@@ -67,7 +67,7 @@ namespace FBX { - - #define MAGIC_NODE_TAG "_$AssimpFbx$" - --#define CONVERT_FBX_TIME(time) static_cast(time) / 46186158000L -+#define CONVERT_FBX_TIME(time) static_cast(time) / 46186158000LL - - // XXX vc9's debugger won't step into anonymous namespaces - //namespace { --- -2.1.4 - diff --git a/package/assimp/0001-code-disable-Werror.patch b/package/assimp/0001-code-disable-Werror.patch new file mode 100644 index 00000000000..33867e61c3f --- /dev/null +++ b/package/assimp/0001-code-disable-Werror.patch @@ -0,0 +1,39 @@ +From 5146e1c4d58174e302dbdcf2a85c2023be1cffc6 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 10 Dec 2021 15:15:30 +0100 +Subject: [PATCH] code: disable -Werror +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + .../build/assimp-5.1.3/code/PostProcessing/TriangulateProcess.cpp:285:50: error: argument 1 value ‘4294967294’ exceeds maximum object size 2147483647 [-Werror=alloc-size-larger-than=] + 285 | std::unique_ptr done(new bool[max_out]); + | ^ + [...] + .../host/opt/ext-toolchain/powerpc-buildroot-linux-uclibc/include/c++/9.3.0/new:127:26: note: in a call to allocation function ‘void* operator new [](std::size_t)’ declared here + 127 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) + | ^~~~~~~~ + +Signed-off-by: Peter Seiderer +--- + code/CMakeLists.txt | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt +index e45bf8a2a..f71b6583d 100644 +--- a/code/CMakeLists.txt ++++ b/code/CMakeLists.txt +@@ -1167,8 +1167,6 @@ TARGET_USE_COMMON_OUTPUT_DIRECTORY(assimp) + # enable warnings as errors ######################################## + IF (MSVC) + TARGET_COMPILE_OPTIONS(assimp PRIVATE /WX) +-ELSE() +- TARGET_COMPILE_OPTIONS(assimp PRIVATE -Werror) + ENDIF() + + # adds C_FLAGS required to compile zip.c on old GCC 4.x compiler +-- +2.34.1 + diff --git a/package/assimp/0002-contrib-zip-fix-ssize_t-typedef-mismatch-for-musl-co.patch b/package/assimp/0002-contrib-zip-fix-ssize_t-typedef-mismatch-for-musl-co.patch deleted file mode 100644 index a9a30c48340..00000000000 --- a/package/assimp/0002-contrib-zip-fix-ssize_t-typedef-mismatch-for-musl-co.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 3fef857a570d1ef2c96401358fe8e239625b48c9 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Fri, 10 Apr 2020 18:11:50 +0200 -Subject: [PATCH] contrib/zip: fix ssize_t typedef mismatch for musl compile - -Musl uses defines __DEFINED_ssize_t to indicate ssize_t -availability. So backport this part of upstream commit [1] -to fixl musl compile. - -https://github.com/assimp/assimp/commit/f78446b14aff46db2ef27d062a275b6a01fd68b1 - -Signed-off-by: Peter Seiderer ---- - contrib/zip/src/zip.h | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -diff --git a/contrib/zip/src/zip.h b/contrib/zip/src/zip.h -index 5f39df50..4672eb3e 100644 ---- a/contrib/zip/src/zip.h -+++ b/contrib/zip/src/zip.h -@@ -20,8 +20,9 @@ extern "C" { - #endif - - #if !defined(_SSIZE_T_DEFINED) && !defined(_SSIZE_T_DEFINED_) && \ -- !defined(_SSIZE_T) && !defined(_SSIZE_T_) && !defined(__ssize_t_defined) --#define _SSIZE_T -+ !defined(__DEFINED_ssize_t) && !defined(__ssize_t_defined) && \ -+ !defined(_SSIZE_T) && !defined(_SSIZE_T_) -+ - // 64-bit Windows is the only mainstream platform - // where sizeof(long) != sizeof(void*) - #ifdef _WIN64 -@@ -29,6 +30,14 @@ typedef long long ssize_t; /* byte count or error */ - #else - typedef long ssize_t; /* byte count or error */ - #endif -+ -+#define _SSIZE_T_DEFINED -+#define _SSIZE_T_DEFINED_ -+#define __DEFINED_ssize_t -+#define __ssize_t_defined -+#define _SSIZE_T -+#define _SSIZE_T_ -+ - #endif - - #ifndef MAX_PATH --- -2.26.0 - diff --git a/package/assimp/0003-contrib-zlib-disable-dynamic-library-building.patch b/package/assimp/0003-contrib-zlib-disable-dynamic-library-building.patch deleted file mode 100644 index 8661311be59..00000000000 --- a/package/assimp/0003-contrib-zlib-disable-dynamic-library-building.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2b8684aded0c383be64bac0fa59e39870252963f Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sun, 12 Apr 2020 18:19:13 +0200 -Subject: [PATCH] contrib/zlib: disable dynamic library building - -Fixes compile failure for static only toolchains (and assimp -links against the static one). - -Signed-off-by: Peter Seiderer ---- - contrib/zlib/CMakeLists.txt | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/contrib/zlib/CMakeLists.txt b/contrib/zlib/CMakeLists.txt -index 9d1fcc94..78346233 100644 ---- a/contrib/zlib/CMakeLists.txt -+++ b/contrib/zlib/CMakeLists.txt -@@ -195,10 +195,7 @@ if(MINGW) - set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) - endif(MINGW) - --add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) - add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) --set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) --set_target_properties(zlib PROPERTIES SOVERSION 1) - - INSTALL( TARGETS zlibstatic - LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} --- -2.26.0 - diff --git a/package/assimp/Config.in b/package/assimp/Config.in index 9bdc054909c..5ffb50cd79c 100644 --- a/package/assimp/Config.in +++ b/package/assimp/Config.in @@ -2,6 +2,9 @@ config BR2_PACKAGE_ASSIMP bool "assimp" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help Open Asset Import Library (assimp) is a portable Open Source library to import various well-known 3D model formats in a @@ -13,3 +16,6 @@ config BR2_PACKAGE_ASSIMP comment "assimp needs a toolchain w/ C++, wchar" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR + +comment "assimp needs exception_ptr" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/assimp/assimp.hash b/package/assimp/assimp.hash index df5daa79c93..50f0b3e6d6f 100644 --- a/package/assimp/assimp.hash +++ b/package/assimp/assimp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc assimp-5.0.1.tar.gz -sha256 a26ccc3dbf2f58ea99c100945a8a126fa0f9f4d7fd2b49aa8bdb8e09355864d8 LICENSE +sha256 52ad3a3776ce320c8add531dbcb2d3b93f2e1f10fcff5ac30178b09ba934d084 assimp-5.1.6.tar.gz +sha256 147874443d242b4e2bae97036e26ec9d6b37f706174c1bd5ecfcc8c1294cef51 LICENSE diff --git a/package/assimp/assimp.mk b/package/assimp/assimp.mk index e1b9a23499f..766b2c9b5a3 100644 --- a/package/assimp/assimp.mk +++ b/package/assimp/assimp.mk @@ -4,10 +4,11 @@ # ################################################################################ -ASSIMP_VERSION = 5.0.1 +ASSIMP_VERSION = 5.1.6 ASSIMP_SITE = $(call github,assimp,assimp,v$(ASSIMP_VERSION)) ASSIMP_LICENSE = BSD-3-Clause ASSIMP_LICENSE_FILES = LICENSE +ASSIMP_DEPENDENCIES = zlib ASSIMP_INSTALL_STAGING = YES # relocation truncated to fit: R_68K_GOT16O. We also need to disable @@ -36,7 +37,7 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) ASSIMP_CXXFLAGS += -O0 endif -ASSIMP_CONF_OPTS += -DASSIMP_BUILD_ZLIB=ON -DASSIMP_BUILD_TESTS=OFF \ +ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)" $(eval $(cmake-package)) diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index bd836362719..fe59483b73e 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 226eaef400d2d335ce29d7b3c8aca8dfdfc5e854c215e0c47615c095ced12171 asterisk-16.14.1.tar.gz +sha256 0fb817943a276f5e540c2a9432e8841cd3393e7c1bd1250055c620902f6eafc8 asterisk-16.25.2.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed @@ -10,6 +10,6 @@ sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asteri # License files, locally computed sha256 82af40ed7f49c08685360811993d9396320842f021df828801d733e8fdc0312f COPYING -sha256 ac5571f00e558e3b7c9b3f13f421b874cc12cf4250c4f70094c71544cf486312 main/sha1.c +sha256 3ce4755b8da872a0de93ecdbbe2f940763cc95c9027bbf3c4a2e914fcd8bf4c6 main/sha1.c sha256 6215e3ed73c3982a5c6701127d681ec0b9f1121ac78a28805bd93f93c3eb84c0 codecs/speex/speex_resampler.h sha256 ea69cc96ab8a779c180a362377caeada71926897d1b55b980f04d74ba5aaa388 utils/db1-ast/include/db.h diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk index 67b6da56db7..9b59997b80d 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 16.14.1 +ASTERISK_VERSION = 16.25.2 # Use the github mirror: it's an official mirror maintained by Digium, and # provides tarballs, which the main Asterisk git tree (behind Gerrit) does not. ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION)) @@ -14,7 +14,7 @@ ASTERISK_EXTRA_DOWNLOADS = \ $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.6.1.tar.gz \ $(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz -ASTERISK_LICENSE = GPL-2.0, BSD-3c (SHA1, resample), BSD-4c (db1-ast) +ASTERISK_LICENSE = GPL-2.0, BSD-3-Clause (SHA1, resample), BSD-4-Clause (db1-ast) ASTERISK_LICENSE_FILES = \ COPYING \ main/sha1.c \ @@ -23,6 +23,7 @@ ASTERISK_LICENSE_FILES = \ ASTERISK_CPE_ID_VENDOR = asterisk ASTERISK_CPE_ID_PRODUCT = open_source +ASTERISK_SELINUX_MODULES = asterisk # For patches 0002, 0003 and 0005 ASTERISK_AUTORECONF = YES @@ -242,11 +243,11 @@ ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy) ASTERISK_DEPENDENCIES += speex ASTERISK_CONF_OPTS += --with-speex --with-speexdsp else -ASTERISK_CONF_OPTS += --without-speex --without-speexdsp +ASTERISK_CONF_OPTS += --without-speex --without-speexdsp endif # asterisk needs an openssl-enabled libsrtp -ifeq ($(BR2_PACKAGE_LIBSRTP)$(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yyx) +ifeq ($(BR2_PACKAGE_LIBSRTP)$(BR2_PACKAGE_OPENSSL),yy) ASTERISK_DEPENDENCIES += libsrtp ASTERISK_CONF_OPTS += --with-srtp else diff --git a/package/at/0001-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch b/package/at/0001-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch new file mode 100644 index 00000000000..91e9738358a --- /dev/null +++ b/package/at/0001-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch @@ -0,0 +1,92 @@ +From 77b28c32ebfed0eb130a0acdb2acb7206f2b9530 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Fri, 23 Jul 2021 16:47:56 +0200 +Subject: [PATCH] Makefile.in: fix make install for non-root, don't strip + +Buildroot will ensure all files are owned by root and stripped anyway +(if needed) before the rootfs is created. + +Signed-off-by: Peter Korsgaard +Signed-off-by: Vicente Olivert Riera +[Vincent: tweak the patch for the new version] +Signed-off-by: Giulio Benetti +[Giulio: convert patch to git format and rebase to version 3.2.2 and +3.2.4] +--- + Makefile.in | 47 +++++++++++++++++++++++------------------------ + 1 file changed, 23 insertions(+), 24 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 4ae194f..af82e4c 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -102,43 +102,42 @@ atrun: atrun.in + $(CC) -c $(CFLAGS) $(DEFS) $*.c + + install: all +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdatadir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(atdatadir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) + chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) + touch $(DESTDIR)$(LFILE) + chmod 600 $(DESTDIR)$(LFILE) +- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) +- test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR)$(etcdir)/ +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(DESTDIR)$(bindir) ++ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/ ++ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir) + $(LN_S) -f at $(DESTDIR)$(bindir)/atq + $(LN_S) -f at $(DESTDIR)$(bindir)/atrm +- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) +- $(INSTALL) -g root -o root -m 755 batch-job $(DESTDIR)$(atdatadir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) +- $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/ ++ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir) ++ $(INSTALL) -m 755 batch-job $(DESTDIR)$(atdatadir) ++ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir) ++ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir) ++ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir) ++ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir) ++ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir) ++ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/ + cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 +- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/ ++ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/ + sed "s,\$${exec_prefix},$(exec_prefix),g" tmpman +- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 ++ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 + rm -f tmpman +- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ ++ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ + cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 +- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir) ++ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir) + rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \ + $(DESTDIR)$(mandir)/cat1/atq.1* + rm -f $(DESTDIR)$(mandir)/cat1/atd.8* + if test x"$(systemdsystemunitdir)" != xno; then \ +- $(INSTALL) -o root -g root -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \ +- $(INSTALL) -o root -g root -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \ ++ $(INSTALL) -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \ ++ $(INSTALL) -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \ + fi + + dist: checkin $(DIST) $(LIST) Filelist.asc +-- +2.25.1 + diff --git a/package/at/0001-Makefile.in-replace-IROOT-by-DESTDIR.patch b/package/at/0001-Makefile.in-replace-IROOT-by-DESTDIR.patch deleted file mode 100644 index 856b6c8d08f..00000000000 --- a/package/at/0001-Makefile.in-replace-IROOT-by-DESTDIR.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 195d30e2e01fe2f91ed3bdaeec3982aa66b309dd Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde -Date: Tue, 1 Dec 2009 20:57:45 +0100 -Subject: [PATCH 5/5] Makefile.in: replace IROOT by DESTDIR - -This patch replaces IROOT by DESTDIR, which is the autotools standard -variable. For backwards compatibilty IROOT overwrites the DESTDIR. - -[Vincent: tweak the patch for the new version] - -Signed-off-by: Marc Kleine-Budde -Signed-off-by: Vicente Olivert Riera ---- - Makefile.in | 68 ++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 36 insertions(+), 32 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 06544f9..1f699d9 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -17,6 +17,10 @@ atdocdir = $(docdir)/at - etcdir = @ETCDIR@ - systemdsystemunitdir = @systemdsystemunitdir@ - -+ifdef IROOT -+DESTDIR = $(DESTDIR) -+endif -+ - DAEMON_USERNAME = @DAEMON_USERNAME@ - DAEMON_GROUPNAME= @DAEMON_GROUPNAME@ - LOADAVG_MX = @LOADAVG_MX@ -@@ -91,41 +95,41 @@ atrun: atrun.in - $(CC) -c $(CFLAGS) $(DEFS) $*.c - - install: all -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir) -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) -- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) -- touch $(IROOT)$(LFILE) -- chmod 600 $(IROOT)$(LFILE) -- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE) -- test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/ -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(IROOT)$(bindir) -- $(LN_S) -f at $(IROOT)$(bindir)/atq -- $(LN_S) -f at $(IROOT)$(bindir)/atrm -- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir) -- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir) -- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir) -- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir) -- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir) -- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir) -- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/ -- cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 -- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/ -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) -+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) -+ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) -+ touch $(DESTDIR)$(LFILE) -+ chmod 600 $(DESTDIR)$(LFILE) -+ chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) -+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR)$(etcdir)/ -+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(DESTDIR)$(bindir) -+ $(LN_S) -f at $(DESTDIR)$(bindir)/atq -+ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm -+ $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) -+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) -+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) -+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) -+ $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir) -+ $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) -+ $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/ -+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 -+ $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/ - sed "s,\$${exec_prefix},$(exec_prefix),g" tmpman -- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8 -+ $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 - rm -f tmpman -- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/ -- cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 -- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir) -- rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \ -- $(IROOT)$(mandir)/cat1/atq.1* -- rm -f $(IROOT)$(mandir)/cat1/atd.8* -+ $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ -+ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 -+ $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir) -+ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \ -+ $(DESTDIR)$(mandir)/cat1/atq.1* -+ rm -f $(DESTDIR)$(mandir)/cat1/atd.8* - if test x"$(systemdsystemunitdir)" != xno; then \ -- $(INSTALL) -o root -g root -m 755 -d $(IROOT)$(systemdsystemunitdir); \ -- $(INSTALL) -o root -g root -m 644 atd.service $(IROOT)$(systemdsystemunitdir); \ -+ $(INSTALL) -o root -g root -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \ -+ $(INSTALL) -o root -g root -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \ - fi - - dist: checkin $(DIST) $(LIST) Filelist.asc --- -2.4.10 - diff --git a/package/at/0002-Makefile.in-make-install-fix.patch b/package/at/0002-Makefile.in-make-install-fix.patch deleted file mode 100644 index 831ea1a3a99..00000000000 --- a/package/at/0002-Makefile.in-make-install-fix.patch +++ /dev/null @@ -1,83 +0,0 @@ -[PATCH]: Makefile.in: fix make install for non-root, don't strip - -Buildroot will ensure all files are owned by root and stripped anyway -(if needed) before the rootfs is created. - -[Vincent: tweak the patch for the new version] - -Signed-off-by: Peter Korsgaard -Signed-off-by: Vicente Olivert Riera ---- - Makefile.in | 43 +++++++++++++++++++++---------------------- - 1 file changed, 21 insertions(+), 22 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 1f699d9..f313f9b 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -95,41 +95,40 @@ atrun: atrun.in - $(CC) -c $(CFLAGS) $(DEFS) $*.c - - install: all -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) - chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) - touch $(DESTDIR)$(LFILE) - chmod 600 $(DESTDIR)$(LFILE) -- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) -- test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR)$(etcdir)/ -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(DESTDIR)$(bindir) -+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/ -+ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir) - $(LN_S) -f at $(DESTDIR)$(bindir)/atq - $(LN_S) -f at $(DESTDIR)$(bindir)/atrm -- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) -- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) -- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) -- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) -- $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir) -- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) -- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/ -+ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir) -+ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir) -+ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir) -+ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir) -+ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir) -+ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir) -+ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/ - cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 -- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/ -+ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/ - sed "s,\$${exec_prefix},$(exec_prefix),g" tmpman -- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 -+ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 - rm -f tmpman -- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ -+ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ - cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 -- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir) -+ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir) - rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \ - $(DESTDIR)$(mandir)/cat1/atq.1* - rm -f $(DESTDIR)$(mandir)/cat1/atd.8* - if test x"$(systemdsystemunitdir)" != xno; then \ -- $(INSTALL) -o root -g root -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \ -- $(INSTALL) -o root -g root -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \ -+ $(INSTALL) -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \ -+ $(INSTALL) -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \ - fi - - dist: checkin $(DIST) $(LIST) Filelist.asc --- -2.4.10 - diff --git a/package/at/0003-getloadavg.c-fix.patch b/package/at/0003-getloadavg.c-fix.patch deleted file mode 100644 index e0739271efb..00000000000 --- a/package/at/0003-getloadavg.c-fix.patch +++ /dev/null @@ -1,30 +0,0 @@ -[PATCH]: fix getloadavg.c compilation, revert to 3.1.10 version - -getloadavg.c shipped with 3.1.13 doesn't compile because it references -headers not shipped. Fix it by simply reverting to the 3.1.10 version. - -Signed-off-by: Peter Korsgaard ---- - getloadavg.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: at-3.1.13/getloadavg.c -=================================================================== ---- at-3.1.13.orig/getloadavg.c -+++ at-3.1.13/getloadavg.c -@@ -66,11 +66,12 @@ Boston, MA 02110-1301 USA */ - - /* This should always be first. */ - #ifdef HAVE_CONFIG_H --#include -+#include "config.h" - #endif - --#include "lisp.h" --#include "sysfile.h" /* for encapsulated open, close, read, write */ -+#include -+#include -+#include - - #ifndef HAVE_GETLOADAVG - diff --git a/package/at/0004-Makefile-fix-parallel-build-failure.patch b/package/at/0004-Makefile-fix-parallel-build-failure.patch deleted file mode 100644 index 6e3dc24ca49..00000000000 --- a/package/at/0004-Makefile-fix-parallel-build-failure.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 3ace0b57e2aacb784c01a3c7694c6c92461937ff Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Thu, 20 Feb 2020 22:00:11 +0100 -Subject: [PATCH] Makefile: fix parallel build failure - -At the moment parallel build fails due to 2 causes: -1) parsetime.l tries to include incomplete y.tab.h, since y.tab.h is the -result of yacc -d parsetime.y -2) when compiling y.tab.c, y.tab.c itself is not complete, since it is -the result of yacc -d parsetime.y - -So fix it by: -1) making parsetime.l to wait for y.tab.h to be created by yacc -2) waiting for y.tab.c and y.tab.h to be created before compile them - -Signed-off-by: Giulio Benetti ---- - Makefile.in | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Makefile.in b/Makefile.in -index 4c11913..57c3a0c 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -83,6 +83,8 @@ y.tab.c y.tab.h: parsetime.y - lex.yy.c: parsetime.l - $(LEX) -i parsetime.l - -+parsetime.l: y.tab.h -+ - atd.service: atd.service.in - cat $< | sed -e 's![@]sbindir[@]!$(sbindir)!g' | sed -e 's![@]atjobdir[@]!$(atjobdir)!g' > $@ - -@@ -173,3 +175,4 @@ perm.o: perm.c config.h privs.h at.h - posixtm.o: posixtm.c posixtm.h - daemon.o: daemon.c config.h daemon.h privs.h - getloadavg.o: getloadavg.c config.h getloadavg.h -+y.tab.o: y.tab.c y.tab.h --- -2.20.1 - diff --git a/package/at/at.hash b/package/at/at.hash index c5daf4ef86e..d4ad9aa436a 100644 --- a/package/at/at.hash +++ b/package/at/at.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 62123a6fcf02b2606673afca80c2874358b83880c12db7f276a7c6cc70068cb2 at-upstream-3.2.1.tar.bz2 +sha256 76990cbb6f4b9bfedb926637904fdcc0d4fa20b6596b9c932117a49a0624c684 at_3.2.4.orig.tar.gz sha256 01dccc0975aa9ba1a9f83e7c5e04f16077353d3c72a0a759b8846ee7a5b2b616 Copyright sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/at/at.mk b/package/at/at.mk index 6ac82e2de33..26c44f52877 100644 --- a/package/at/at.mk +++ b/package/at/at.mk @@ -4,10 +4,9 @@ # ################################################################################ -AT_VERSION = 3.2.1 -AT_SOURCE = at-upstream-$(AT_VERSION).tar.bz2 -AT_SITE = https://salsa.debian.org/debian/at/-/archive/upstream/$(AT_VERSION) -AT_AUTORECONF = YES +AT_VERSION = 3.2.4 +AT_SOURCE = at_$(AT_VERSION).orig.tar.gz +AT_SITE = http://software.calhariz.com/at AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex) host-bison host-flex AT_LICENSE = GPL-2.0+, GPL-3.0+, ISC AT_LICENSE_FILES = Copyright COPYING diff --git a/package/atftp/atftp.hash b/package/atftp/atftp.hash index 158e9e3b339..6b0d9a5879c 100644 --- a/package/atftp/atftp.hash +++ b/package/atftp/atftp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d3c9cd0d971dfc786d7a5f4055c35d4e66aafc8102ac03473ef225bdf7edb26a atftp-0.7.4.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE +sha256 93c87a4fb18218414e008e01c995dadd231ba4c752d0f894b34416d1e6d3038a atftp-0.7.5.tar.gz +sha256 86dc744860e6dfacfeba2f33fea908db03fe67c7e37a878285b7aae8e4596735 LICENSE diff --git a/package/atftp/atftp.mk b/package/atftp/atftp.mk index a2df4af0568..70ef4c0faec 100644 --- a/package/atftp/atftp.mk +++ b/package/atftp/atftp.mk @@ -4,11 +4,12 @@ # ################################################################################ -ATFTP_VERSION = 0.7.4 +ATFTP_VERSION = 0.7.5 ATFTP_SITE = http://sourceforge.net/projects/atftp/files ATFTP_LICENSE = GPL-2.0+ ATFTP_LICENSE_FILES = LICENSE ATFTP_CPE_ID_VENDOR = atftp_project +ATFTP_SELINUX_MODULES = tftp ATFTP_CONF_OPTS = --disable-libwrap --disable-mtftp # For static we need to explicitly link against libpthread ATFTP_LIBS = -lpthread diff --git a/package/atkmm/Config.in b/package/atkmm/Config.in index ce1e24d4eef..aa58f8d593e 100644 --- a/package/atkmm/Config.in +++ b/package/atkmm/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_ATKMM bool "atkmm" depends on BR2_INSTALL_LIBSTDCPP # glibmm - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc depends on BR2_TOOLCHAIN_HAS_THREADS # atk/glibmm -> libglib2 depends on BR2_USE_MMU # atk/glibmm -> libglib2 depends on BR2_USE_WCHAR # atk/glibmm -> libglib2 @@ -14,7 +14,7 @@ config BR2_PACKAGE_ATKMM http://www.gtkmm.org/ -comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/atkmm/atkmm.hash b/package/atkmm/atkmm.hash index 42cc2d7221b..f965ad29cbd 100644 --- a/package/atkmm/atkmm.hash +++ b/package/atkmm/atkmm.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atkmm/2.24/atkmm-2.24.2.sha256sum -sha256 ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd atkmm-2.24.2.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/atkmm/2.36/atkmm-2.36.1.sha256sum +sha256 e11324bfed1b6e330a02db25cecc145dca03fb0dff47f0710c85e317687da458 atkmm-2.36.1.tar.xz # locally computed sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/atkmm/atkmm.mk b/package/atkmm/atkmm.mk index 234a937bba6..3bcb941c9fc 100644 --- a/package/atkmm/atkmm.mk +++ b/package/atkmm/atkmm.mk @@ -4,8 +4,8 @@ # ################################################################################ -ATKMM_VERSION_MAJOR = 2.24 -ATKMM_VERSION = $(ATKMM_VERSION_MAJOR).2 +ATKMM_VERSION_MAJOR = 2.36 +ATKMM_VERSION = $(ATKMM_VERSION_MAJOR).1 ATKMM_SOURCE = atkmm-$(ATKMM_VERSION).tar.xz ATKMM_SITE = http://ftp.gnome.org/pub/gnome/sources/atkmm/$(ATKMM_VERSION_MAJOR) ATKMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) @@ -13,4 +13,4 @@ ATKMM_LICENSE_FILES = COPYING COPYING.tools ATKMM_INSTALL_STAGING = YES ATKMM_DEPENDENCIES = atk glibmm libsigc host-pkgconf -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/atop/0001-ifprop.c-fix-build-with-kernel-4.6.patch b/package/atop/0001-ifprop.c-fix-build-with-kernel-4.6.patch deleted file mode 100644 index 0dfe4f43013..00000000000 --- a/package/atop/0001-ifprop.c-fix-build-with-kernel-4.6.patch +++ /dev/null @@ -1,51 +0,0 @@ -From aff473ee28903775e1bb35793b9c4c50ee0c7270 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 22 Dec 2020 12:23:33 +0100 -Subject: [PATCH] ifprop.c: fix build with kernel < 4.6 - -Build fails with kernel headers < 4.6 since version 2.6.0 and -https://github.com/Atoptool/atop/commit/08c622ecaa5bb0bb260984ceaddc4730d1b312a7 - -Indeed, ethtool_link_settings and ETHTOOL_GLINKSETTINGS are only -available since -https://github.com/torvalds/linux/commit/3f1ac7a700d039c61d8d8b99f28d605d489a60cf - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/Atoptool/atop/pull/142] ---- - ifprop.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ifprop.c b/ifprop.c -index 60fa3fa..63fce5a 100644 ---- a/ifprop.c -+++ b/ifprop.c -@@ -104,7 +104,9 @@ initifprop(void) - char *cp, linebuf[2048]; - int i=0, sockfd; - -+#ifdef ETHTOOL_GLINKSETTINGS - struct ethtool_link_settings ethlink; // preferred! -+#endif - struct ethtool_cmd ethcmd; // deprecated - - struct ifreq ifreq; -@@ -153,6 +155,7 @@ initifprop(void) - strncpy((void *)&ifreq.ifr_ifrn.ifrn_name, ifprops[i].name, - sizeof ifreq.ifr_ifrn.ifrn_name-1); - -+#ifdef ETHTOOL_GLINKSETTINGS - ethlink.cmd = ETHTOOL_GLINKSETTINGS; - ifreq.ifr_ifru.ifru_data = (void *)ðlink; - -@@ -164,6 +167,7 @@ initifprop(void) - phy_addr = ethlink.phy_address; - } - else -+#endif - { - ethcmd.cmd = ETHTOOL_GSET; - ifreq.ifr_ifru.ifru_data = (void *)ðcmd; --- -2.29.2 - diff --git a/package/atop/0002-photosyst.c-fix-build-on-musl.patch b/package/atop/0002-photosyst.c-fix-build-on-musl.patch deleted file mode 100644 index 8573d59d6b4..00000000000 --- a/package/atop/0002-photosyst.c-fix-build-on-musl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 34996ad1eb6d295382e7737ef34bd362abdd4944 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 19 Jan 2021 22:15:45 +0100 -Subject: [PATCH] photosyst.c: fix build on musl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Build on musl is broken since version 2.6.0 and -https://github.com/Atoptool/atop/commit/e889c66fbe1d0b7ae38fbcbaa46cea749257f486 -because limits.h is not included: - -photosyst.c: In function ‘lvmmapname’: -photosyst.c:1624:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean ‘AF_MAX’? - char path[PATH_MAX]; - ^~~~~~~~ - AF_MAX - -Signed-off-by: Fabrice Fontaine ---- - photosyst.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/photosyst.c b/photosyst.c -index 3de874b..67ae92f 100644 ---- a/photosyst.c -+++ b/photosyst.c -@@ -165,6 +165,7 @@ - #include - #include - #include -+#include - - #define SCALINGMAXCPU 8 // threshold for scaling info per CPU - --- -2.29.2 - diff --git a/package/atop/atop.hash b/package/atop/atop.hash index 65148b85788..18ba42340c0 100644 --- a/package/atop/atop.hash +++ b/package/atop/atop.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 9ec2ca3a571692f7efaa095f99a5106432bcb71cc22cd6c49597ef0481058f72 atop-2.6.0.tar.gz +sha256 ca48d2f17e071deead5e6e9cc9e388bf6a3270d695e61976b3794d4d927b5c4e atop-2.7.1.tar.gz # Hash for license file: sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atop/atop.mk b/package/atop/atop.mk index 88f292b6b3d..8a0fcda33b1 100644 --- a/package/atop/atop.mk +++ b/package/atop/atop.mk @@ -4,7 +4,7 @@ # ################################################################################ -ATOP_VERSION = 2.6.0 +ATOP_VERSION = 2.7.1 ATOP_SITE = http://www.atoptool.nl/download ATOP_LICENSE = GPL-2.0+ ATOP_LICENSE_FILES = COPYING diff --git a/package/attr/0002-Switch-back-to-syscall.patch b/package/attr/0002-Switch-back-to-syscall.patch deleted file mode 100644 index de879e23ab5..00000000000 --- a/package/attr/0002-Switch-back-to-syscall.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 14adc898a36948267bfe5c63b399996879e94c98 Mon Sep 17 00:00:00 2001 -From: Andreas Gruenbacher -Date: Fri, 17 Aug 2018 14:07:31 +0200 -Subject: Switch back to syscall() - -Switch back to syscall() for the *xattr system calls. The current -mechanism of forwarding those calls to glibc breaks libraries like -libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc --fsanitize=address). - -Those libraries provide wrappers for functions defined in other shared -libraries, usually glibc, do their own processing, and forward calls to -the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name"). In -our case, dlsym returns the libattr_*xattr wrappers. However, when our -wrappers try calling glibc, they end up calling the libfakeroot / -libasan wrappers instead because those override the original symbols => -recursion. - -The libattr_*xattr wrappers will only be used when symbols are looked up -at runtime (dlopen / dlsym). Programs linking against libattr will -directly use the glibc provided symbols. Therefore, the slightly worse -performance of syscall() won't affect any of the "normal" users of -libattr. - -[nicolas.cavallari: with uclibc-ng, the recursion always happen] -Signed-off-by: Nicolas Cavallari ---- - libattr/syscalls.c | 26 ++++++++++++++------------ - 1 file changed, 14 insertions(+), 12 deletions(-) - -diff --git a/libattr/syscalls.c b/libattr/syscalls.c -index 3013aa0..721ad7f 100644 ---- a/libattr/syscalls.c -+++ b/libattr/syscalls.c -@@ -22,6 +22,8 @@ - - #include "config.h" - -+#include -+#include - #include - - #ifdef HAVE_VISIBILITY_ATTRIBUTE -@@ -31,67 +33,67 @@ - int libattr_setxattr(const char *path, const char *name, - void *value, size_t size, int flags) - { -- return setxattr(path, name, value, size, flags); -+ return syscall(__NR_setxattr, path, name, value, size, flags); - } - - int libattr_lsetxattr(const char *path, const char *name, - void *value, size_t size, int flags) - { -- return lsetxattr(path, name, value, size, flags); -+ return syscall(__NR_lsetxattr, path, name, value, size, flags); - } - - int libattr_fsetxattr(int filedes, const char *name, - void *value, size_t size, int flags) - { -- return fsetxattr(filedes, name, value, size, flags); -+ return syscall(__NR_fsetxattr, filedes, name, value, size, flags); - } - - ssize_t libattr_getxattr(const char *path, const char *name, - void *value, size_t size) - { -- return getxattr(path, name, value, size); -+ return syscall(__NR_getxattr, path, name, value, size); - } - - ssize_t libattr_lgetxattr(const char *path, const char *name, - void *value, size_t size) - { -- return lgetxattr(path, name, value, size); -+ return syscall(__NR_lgetxattr, path, name, value, size); - } - - ssize_t libattr_fgetxattr(int filedes, const char *name, - void *value, size_t size) - { -- return fgetxattr(filedes, name, value, size); -+ return syscall(__NR_fgetxattr, filedes, name, value, size); - } - - ssize_t libattr_listxattr(const char *path, char *list, size_t size) - { -- return listxattr(path, list, size); -+ return syscall(__NR_listxattr, path, list, size); - } - - ssize_t libattr_llistxattr(const char *path, char *list, size_t size) - { -- return llistxattr(path, list, size); -+ return syscall(__NR_llistxattr, path, list, size); - } - - ssize_t libattr_flistxattr(int filedes, char *list, size_t size) - { -- return flistxattr(filedes, list, size); -+ return syscall(__NR_flistxattr, filedes, list, size); - } - - int libattr_removexattr(const char *path, const char *name) - { -- return removexattr(path, name); -+ return syscall(__NR_removexattr, path, name); - } - - int libattr_lremovexattr(const char *path, const char *name) - { -- return lremovexattr(path, name); -+ return syscall(__NR_lremovexattr, path, name); - } - - int libattr_fremovexattr(int filedes, const char *name) - { -- return fremovexattr(filedes, name); -+ return syscall(__NR_fremovexattr, filedes, name); - } - - #ifdef HAVE_VISIBILITY_ATTRIBUTE --- -cgit v1.0-41-gc330 - diff --git a/package/attr/attr.hash b/package/attr/attr.hash index ba9f45669f4..334a438cae4 100644 --- a/package/attr/attr.hash +++ b/package/attr/attr.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7 attr-2.4.48.tar.gz +sha256 db448a626f9313a1a970d636767316a8da32aede70518b8050fa0de7947adc32 attr-2.5.1.tar.xz # Locally calculated sha256 98f318493be6b08bff3cd295791cde06c54e17882a3c74a1ed245eaa02533d52 doc/COPYING diff --git a/package/attr/attr.mk b/package/attr/attr.mk index b6b46453c7d..0327497e1e2 100644 --- a/package/attr/attr.mk +++ b/package/attr/attr.mk @@ -4,7 +4,8 @@ # ################################################################################ -ATTR_VERSION = 2.4.48 +ATTR_VERSION = 2.5.1 +ATTR_SOURCE = attr-$(ATTR_VERSION).tar.xz ATTR_SITE = http://download.savannah.gnu.org/releases/attr ATTR_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ATTR_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk index b79beccd979..b2eb2b5e6d4 100644 --- a/package/aubio/aubio.mk +++ b/package/aubio/aubio.mk @@ -11,6 +11,7 @@ AUBIO_LICENSE = GPL-3.0+ AUBIO_LICENSE_FILES = COPYING AUBIO_INSTALL_STAGING = YES +AUBIO_DEPENDENCIES = host-pkgconf AUBIO_CONF_OPTS = \ --disable-docs \ --disable-atlas diff --git a/package/audit/0001-Fix-audispd-path-in-auditd.conf.patch b/package/audit/0001-Fix-audispd-path-in-auditd.conf.patch deleted file mode 100644 index ccf45db9113..00000000000 --- a/package/audit/0001-Fix-audispd-path-in-auditd.conf.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6e1fd09f7bc131c8f16d9cc43e2455ba4650c651 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Sat, 3 Nov 2018 08:25:58 -0300 -Subject: [PATCH] Fix audispd path in auditd.conf - -audispd is installed at /usr/sbin but the configuration file pointed -to /sbin, causing auditd to fail on startup. - -This patch cannot be sent upstream because audispd does not exist -anymore on the master branch (it was merged to auditd). - -Signed-off-by: Carlos Santos ---- - init.d/auditd.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/init.d/auditd.conf b/init.d/auditd.conf -index 4dcda83..998904f 100644 ---- a/init.d/auditd.conf -+++ b/init.d/auditd.conf -@@ -13,7 +13,7 @@ max_log_file = 8 - num_logs = 5 - priority_boost = 4 - disp_qos = lossy --dispatcher = /sbin/audispd -+dispatcher = /usr/sbin/audispd - name_format = NONE - ##name = mydomain - max_log_file_action = ROTATE --- -2.17.1 - diff --git a/package/audit/0002-Add-substitue-functions-for-strndupa-rawmemchr.patch b/package/audit/0002-Add-substitue-functions-for-strndupa-rawmemchr.patch deleted file mode 100644 index ac292c57d1c..00000000000 --- a/package/audit/0002-Add-substitue-functions-for-strndupa-rawmemchr.patch +++ /dev/null @@ -1,133 +0,0 @@ -From c39a071e7c021f6ff3554aca2758e97b47a9777c Mon Sep 17 00:00:00 2001 -From: Steve Grubb -Date: Tue, 26 Feb 2019 18:33:33 -0500 -Subject: [PATCH] Add substitue functions for strndupa & rawmemchr - -(cherry picked from commit d579a08bb1cde71f939c13ac6b2261052ae9f77e) -Signed-off-by: Thomas Petazzoni ---- - auparse/auparse.c | 12 +++++++++++- - auparse/interpret.c | 9 ++++++++- - configure.ac | 14 +++++++++++++- - src/ausearch-lol.c | 12 +++++++++++- - 4 files changed, 43 insertions(+), 4 deletions(-) - -diff --git a/auparse/auparse.c b/auparse/auparse.c -index 650db02..2e1c737 100644 ---- a/auparse/auparse.c -+++ b/auparse/auparse.c -@@ -1,5 +1,5 @@ - /* auparse.c -- -- * Copyright 2006-08,2012-17 Red Hat Inc., Durham, North Carolina. -+ * Copyright 2006-08,2012-19 Red Hat Inc., Durham, North Carolina. - * All Rights Reserved. - * - * This library is free software; you can redistribute it and/or -@@ -1118,6 +1118,16 @@ static int str2event(char *s, au_event_t *e) - return 0; - } - -+#ifndef HAVE_STRNDUPA -+static inline char *strndupa(const char *old, size_t n) -+{ -+ size_t len = strnlen(old, n); -+ char *tmp = alloca(len + 1); -+ tmp[len] = 0; -+ return memcpy(tmp, old, len); -+} -+#endif -+ - /* Returns 0 on success and 1 on error */ - static int extract_timestamp(const char *b, au_event_t *e) - { -diff --git a/auparse/interpret.c b/auparse/interpret.c -index 51c4a5e..67b7b77 100644 ---- a/auparse/interpret.c -+++ b/auparse/interpret.c -@@ -853,6 +853,13 @@ err_out: - return print_escaped(id->val); - } - -+// rawmemchr is faster. Let's use it if we have it. -+#ifdef HAVE_RAWMEMCHR -+#define STRCHR rawmemchr -+#else -+#define STRCHR strchr -+#endif -+ - static const char *print_proctitle(const char *val) - { - char *out = (char *)print_escaped(val); -@@ -863,7 +870,7 @@ static const char *print_proctitle(const char *val) - // Proctitle has arguments separated by NUL bytes - // We need to write over the NUL bytes with a space - // so that we can see the arguments -- while ((ptr = rawmemchr(ptr, '\0'))) { -+ while ((ptr = STRCHR(ptr, '\0'))) { - if (ptr >= end) - break; - *ptr = ' '; -diff --git a/configure.ac b/configure.ac -index 6e345f1..6f3007e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,7 +1,7 @@ - dnl - define([AC_INIT_NOTICE], - [### Generated automatically using autoconf version] AC_ACVERSION [ --### Copyright 2005-18 Steve Grubb -+### Copyright 2005-19 Steve Grubb - ### - ### Permission is hereby granted, free of charge, to any person obtaining a - ### copy of this software and associated documentation files (the "Software"), -@@ -72,6 +72,18 @@ dnl; posix_fallocate is used in audisp-remote - AC_CHECK_FUNCS([posix_fallocate]) - dnl; signalfd is needed for libev - AC_CHECK_FUNC([signalfd], [], [ AC_MSG_ERROR([The signalfd system call is necessary for auditd]) ]) -+dnl; check if rawmemchr is available -+AC_CHECK_FUNCS([rawmemchr]) -+dnl; check if strndupa is available -+AC_LINK_IFELSE( -+ [AC_LANG_SOURCE( -+ [[ -+ #define _GNU_SOURCE -+ #include -+ int main() { (void) strndupa("test", 10); return 0; }]])], -+ [AC_DEFINE(HAVE_STRNDUPA, 1, [Let us know if we have it or not])], -+ [] -+) - - ALLWARNS="" - ALLDEBUG="-g" -diff --git a/src/ausearch-lol.c b/src/ausearch-lol.c -index 5d17a72..758c33e 100644 ---- a/src/ausearch-lol.c -+++ b/src/ausearch-lol.c -@@ -1,6 +1,6 @@ - /* - * ausearch-lol.c - linked list of linked lists library --* Copyright (c) 2008,2010,2014,2016 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2008,2010,2014,2016,2019 Red Hat Inc., Durham, North Carolina. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -152,6 +152,16 @@ static int compare_event_time(event *e1, event *e2) - return 0; - } - -+#ifndef HAVE_STRNDUPA -+static inline char *strndupa(const char *old, size_t n) -+{ -+ size_t len = strnlen(old, n); -+ char *tmp = alloca(len + 1); -+ tmp[len] = 0; -+ return memcpy(tmp, old, len); -+} -+#endif -+ - /* - * This function will look at the line and pick out pieces of it. - */ --- -2.21.0 - diff --git a/package/audit/0003-Header-definitions-need-to-be-external-when-building.patch b/package/audit/0003-Header-definitions-need-to-be-external-when-building.patch deleted file mode 100644 index 9a546261df9..00000000000 --- a/package/audit/0003-Header-definitions-need-to-be-external-when-building.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 017e6c6ab95df55f34e339d2139def83e5dada1f Mon Sep 17 00:00:00 2001 -From: Steve Grubb -Date: Fri, 10 Jan 2020 21:13:50 -0500 -Subject: [PATCH] Header definitions need to be external when building with - -fno-common (which is default in GCC 10) - Tony Jones - -Patch taken from upstream: https://github.com/linux-audit/audit-userspace/commit/017e6c6ab95df55f34e339d2139def83e5dada1f -Signed-off-by: Heiko Thiery ---- - src/ausearch-common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/ausearch-common.h b/src/ausearch-common.h -index 6669203..3040547 100644 ---- a/src/ausearch-common.h -+++ b/src/ausearch-common.h -@@ -50,7 +50,7 @@ extern pid_t event_pid; - extern int event_exact_match; - extern uid_t event_uid, event_euid, event_loginuid; - extern const char *event_tuid, *event_teuid, *event_tauid; --slist *event_node_list; -+extern slist *event_node_list; - extern const char *event_comm; - extern const char *event_filename; - extern const char *event_hostname; --- -2.20.1 - diff --git a/package/audit/S02auditd b/package/audit/S02auditd index 2ecf0f1df93..dd3dc22d6d4 100644 --- a/package/audit/S02auditd +++ b/package/audit/S02auditd @@ -18,9 +18,9 @@ start(){ # Create dir to store log files in if one doesn't exist. Create # the directory with SELinux permissions if possible - command -v matchpathcon >/dev/null 2>&1 + command -v selabel_lookup >/dev/null 2>&1 if [ $? = 0 ]; then - mkdir -p /var/log/audit -Z `matchpathcon -n /var/log/audit` + mkdir -p /var/log/audit -Z `selabel_lookup -b file -k /var/log/audit | cut -d ' ' -f 3` else mkdir -p /var/log/audit fi diff --git a/package/audit/audit.hash b/package/audit/audit.hash index 71e7df7dbc1..6260f158d89 100644 --- a/package/audit/audit.hash +++ b/package/audit/audit.hash @@ -1,4 +1,4 @@ #Locally computed -sha256 0e5d4103646e00f8d1981e1cd2faea7a2ae28e854c31a803e907a383c5e2ecb7 audit-2.8.5.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING -sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB +sha256 8b4c78632a9301a1c7f859b0e38fc0b9c260b8214d6b7c771bf28b3d73a62597 audit-3.0.7.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/audit/audit.mk b/package/audit/audit.mk index 05a16e6e313..aa8ef515e68 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -4,12 +4,10 @@ # ################################################################################ -AUDIT_VERSION = 2.8.5 +AUDIT_VERSION = 3.0.7 AUDIT_SITE = http://people.redhat.com/sgrubb/audit AUDIT_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) AUDIT_LICENSE_FILES = COPYING COPYING.LIB -# 0002-Add-substitue-functions-for-strndupa-rawmemchr.patch -AUDIT_AUTORECONF = YES AUDIT_CPE_ID_VENDOR = linux_audit_project AUDIT_CPE_ID_PRODUCT = linux_audit diff --git a/package/autoconf-archive/autoconf-archive.hash b/package/autoconf-archive/autoconf-archive.hash index 3ef98f2f149..79ee5ff68a7 100644 --- a/package/autoconf-archive/autoconf-archive.hash +++ b/package/autoconf-archive/autoconf-archive.hash @@ -1,4 +1,4 @@ # Computed locally -sha256 17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f autoconf-archive-2019.01.06.tar.xz -sha256 e6037104443f9a7829b2aa7c5370d0789a7bda3ca65a0b904cdc0c2e285d9195 COPYING -sha256 23ed0b84fa023bfa33433b498192cd08a3bfb1f4864a8ed791a84f3eb48b2dd2 COPYING.EXCEPTION +sha256 e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd autoconf-archive-2021.02.19.tar.xz +sha256 e6037104443f9a7829b2aa7c5370d0789a7bda3ca65a0b904cdc0c2e285d9195 COPYING +sha256 23ed0b84fa023bfa33433b498192cd08a3bfb1f4864a8ed791a84f3eb48b2dd2 COPYING.EXCEPTION diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk index 3f1f0a5b3c2..bd4a09d96df 100644 --- a/package/autoconf-archive/autoconf-archive.mk +++ b/package/autoconf-archive/autoconf-archive.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOCONF_ARCHIVE_VERSION = 2019.01.06 +AUTOCONF_ARCHIVE_VERSION = 2021.02.19 AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive AUTOCONF_ARCHIVE_LICENSE = GPL-3.0+ with exception diff --git a/package/autoconf/autoconf.hash b/package/autoconf/autoconf.hash index f53e8979c02..de0840dd84a 100644 --- a/package/autoconf/autoconf.hash +++ b/package/autoconf/autoconf.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684 autoconf-2.69.tar.xz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYINGv3 -sha256 23ed0b84fa023bfa33433b498192cd08a3bfb1f4864a8ed791a84f3eb48b2dd2 COPYING.EXCEPTION +sha256 f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4 autoconf-2.71.tar.xz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYINGv3 +sha256 1f1cde9fb68b9b3cff18c420894bec5bd4defacd700b7d13df54a887301e5350 COPYING.EXCEPTION diff --git a/package/autoconf/autoconf.mk b/package/autoconf/autoconf.mk index 336ac59b420..7e0850422b0 100644 --- a/package/autoconf/autoconf.mk +++ b/package/autoconf/autoconf.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOCONF_VERSION = 2.69 +AUTOCONF_VERSION = 2.71 AUTOCONF_SOURCE = autoconf-$(AUTOCONF_VERSION).tar.xz AUTOCONF_SITE = $(BR2_GNU_MIRROR)/autoconf @@ -23,4 +23,4 @@ $(eval $(host-autotools-package)) # variables used by other packages AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" AUTOHEADER = $(HOST_DIR)/bin/autoheader -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" -AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true $(HOST_DIR)/bin/autoreconf -f -i +AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true GTKDOCIZE=/bin/true $(HOST_DIR)/bin/autoreconf -f -i diff --git a/package/autofs/autofs.hash b/package/autofs/autofs.hash index 10ca42ebed3..97bc757d6b8 100644 --- a/package/autofs/autofs.hash +++ b/package/autofs/autofs.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/daemons/autofs/v5/sha256sums.asc -sha256 a36b268611b79b07051749870ba540b139938efc84bc0293244c483e94f9ced7 autofs-5.1.7.tar.xz +sha256 b33d1059855664b20eeda26f3e28ff518fb0c3d58f565570af2ae569dc73c0fd autofs-5.1.8.tar.xz # Hash for license files sha256 458028929f712b4795bc5adc31a1d6a2151364ce1b372ac43f613f56c8448fed COPYING diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk index 4c5200584fe..97b1b6b3e40 100644 --- a/package/autofs/autofs.mk +++ b/package/autofs/autofs.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOFS_VERSION = 5.1.7 +AUTOFS_VERSION = 5.1.8 AUTOFS_SOURCE = autofs-$(AUTOFS_VERSION).tar.xz AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5 AUTOFS_LICENSE = GPL-2.0+ diff --git a/package/automake/automake.hash b/package/automake/automake.hash index b194c3c2bca..b2e70641dbe 100644 --- a/package/automake/automake.hash +++ b/package/automake/automake.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 af6ba39142220687c500f79b4aa2f181d9b24e4f8d8ec497cea4ba26c64bedaf automake-1.15.1.tar.xz +sha256 f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469 automake-1.16.5.tar.xz # License files, locally calculated -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/automake/automake.mk b/package/automake/automake.mk index 89dcaa12934..fd7933dd74f 100644 --- a/package/automake/automake.mk +++ b/package/automake/automake.mk @@ -4,17 +4,18 @@ # ################################################################################ -AUTOMAKE_VERSION = 1.15.1 +AUTOMAKE_VERSION = 1.16.5 AUTOMAKE_SOURCE = automake-$(AUTOMAKE_VERSION).tar.xz AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake AUTOMAKE_LICENSE = GPL-2.0+ AUTOMAKE_LICENSE_FILES = COPYING +AUTOMAKE_CPE_ID_VENDOR = gnu HOST_AUTOMAKE_DEPENDENCIES = host-autoconf ACLOCAL_HOST_DIR = $(HOST_DIR)/share/aclocal -define GTK_DOC_M4_INSTALL +define HOST_AUTOMAKE_GTK_DOC_M4_INSTALL $(INSTALL) -D -m 0644 package/automake/gtk-doc.m4 \ $(ACLOCAL_HOST_DIR)/gtk-doc.m4 endef @@ -24,7 +25,7 @@ define HOST_AUTOMAKE_MAKE_ACLOCAL mkdir -p $(ACLOCAL_DIR) endef -HOST_AUTOMAKE_POST_INSTALL_HOOKS += GTK_DOC_M4_INSTALL +HOST_AUTOMAKE_POST_INSTALL_HOOKS += HOST_AUTOMAKE_GTK_DOC_M4_INSTALL HOST_AUTOMAKE_POST_INSTALL_HOOKS += HOST_AUTOMAKE_MAKE_ACLOCAL $(eval $(host-autotools-package)) diff --git a/package/avahi/0001-Fix-NULL-pointer-crashes-from-175.patch b/package/avahi/0001-Fix-NULL-pointer-crashes-from-175.patch new file mode 100644 index 00000000000..7e191e8da78 --- /dev/null +++ b/package/avahi/0001-Fix-NULL-pointer-crashes-from-175.patch @@ -0,0 +1,152 @@ +From 9d31939e55280a733d930b15ac9e4dda4497680c Mon Sep 17 00:00:00 2001 +From: Tommi Rantala +Date: Mon, 8 Feb 2021 11:04:43 +0200 +Subject: [PATCH] Fix NULL pointer crashes from #175 + +avahi-daemon is crashing when running "ping .local". +The crash is due to failing assertion from NULL pointer. +Add missing NULL pointer checks to fix it. + +Introduced in #175 - merge commit 8f75a045709a780c8cf92a6a21e9d35b593bdecd + +[Retrieved from: +https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c] +Signed-off-by: Fabrice Fontaine +--- + avahi-core/browse-dns-server.c | 5 ++++- + avahi-core/browse-domain.c | 5 ++++- + avahi-core/browse-service-type.c | 3 +++ + avahi-core/browse-service.c | 3 +++ + avahi-core/browse.c | 3 +++ + avahi-core/resolve-address.c | 5 ++++- + avahi-core/resolve-host-name.c | 5 ++++- + avahi-core/resolve-service.c | 5 ++++- + 8 files changed, 29 insertions(+), 5 deletions(-) + +diff --git a/avahi-core/browse-dns-server.c b/avahi-core/browse-dns-server.c +index 049752e9..c2d914fa 100644 +--- a/avahi-core/browse-dns-server.c ++++ b/avahi-core/browse-dns-server.c +@@ -343,7 +343,10 @@ AvahiSDNSServerBrowser *avahi_s_dns_server_browser_new( + AvahiSDNSServerBrowser* b; + + b = avahi_s_dns_server_browser_prepare(server, interface, protocol, domain, type, aprotocol, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_dns_server_browser_start(b); + + return b; +-} +\ No newline at end of file ++} +diff --git a/avahi-core/browse-domain.c b/avahi-core/browse-domain.c +index f145d56a..06fa70c0 100644 +--- a/avahi-core/browse-domain.c ++++ b/avahi-core/browse-domain.c +@@ -253,7 +253,10 @@ AvahiSDomainBrowser *avahi_s_domain_browser_new( + AvahiSDomainBrowser *b; + + b = avahi_s_domain_browser_prepare(server, interface, protocol, domain, type, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_domain_browser_start(b); + + return b; +-} +\ No newline at end of file ++} +diff --git a/avahi-core/browse-service-type.c b/avahi-core/browse-service-type.c +index fdd22dcd..b1fc7af8 100644 +--- a/avahi-core/browse-service-type.c ++++ b/avahi-core/browse-service-type.c +@@ -171,6 +171,9 @@ AvahiSServiceTypeBrowser *avahi_s_service_type_browser_new( + AvahiSServiceTypeBrowser *b; + + b = avahi_s_service_type_browser_prepare(server, interface, protocol, domain, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_service_type_browser_start(b); + + return b; +diff --git a/avahi-core/browse-service.c b/avahi-core/browse-service.c +index 5531360c..63e0275a 100644 +--- a/avahi-core/browse-service.c ++++ b/avahi-core/browse-service.c +@@ -184,6 +184,9 @@ AvahiSServiceBrowser *avahi_s_service_browser_new( + AvahiSServiceBrowser *b; + + b = avahi_s_service_browser_prepare(server, interface, protocol, service_type, domain, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_service_browser_start(b); + + return b; +diff --git a/avahi-core/browse.c b/avahi-core/browse.c +index 2941e579..e8a915e9 100644 +--- a/avahi-core/browse.c ++++ b/avahi-core/browse.c +@@ -634,6 +634,9 @@ AvahiSRecordBrowser *avahi_s_record_browser_new( + AvahiSRecordBrowser *b; + + b = avahi_s_record_browser_prepare(server, interface, protocol, key, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_record_browser_start_query(b); + + return b; +diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c +index ac0b29b1..e61dd242 100644 +--- a/avahi-core/resolve-address.c ++++ b/avahi-core/resolve-address.c +@@ -286,7 +286,10 @@ AvahiSAddressResolver *avahi_s_address_resolver_new( + AvahiSAddressResolver *b; + + b = avahi_s_address_resolver_prepare(server, interface, protocol, address, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_address_resolver_start(b); + + return b; +-} +\ No newline at end of file ++} +diff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c +index 808b0e72..4e8e5973 100644 +--- a/avahi-core/resolve-host-name.c ++++ b/avahi-core/resolve-host-name.c +@@ -318,7 +318,10 @@ AvahiSHostNameResolver *avahi_s_host_name_resolver_new( + AvahiSHostNameResolver *b; + + b = avahi_s_host_name_resolver_prepare(server, interface, protocol, host_name, aprotocol, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_host_name_resolver_start(b); + + return b; +-} +\ No newline at end of file ++} +diff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c +index 66bf3cae..43771763 100644 +--- a/avahi-core/resolve-service.c ++++ b/avahi-core/resolve-service.c +@@ -519,7 +519,10 @@ AvahiSServiceResolver *avahi_s_service_resolver_new( + AvahiSServiceResolver *b; + + b = avahi_s_service_resolver_prepare(server, interface, protocol, name, type, domain, aprotocol, flags, callback, userdata); ++ if (!b) ++ return NULL; ++ + avahi_s_service_resolver_start(b); + + return b; +-} +\ No newline at end of file ++} diff --git a/package/avahi/Config.in b/package/avahi/Config.in index 5e303d044e8..2484d8ce5ce 100644 --- a/package/avahi/Config.in +++ b/package/avahi/Config.in @@ -34,6 +34,12 @@ config BR2_PACKAGE_AVAHI_DAEMON The daemon registers local IP addresses and services using mDNS/DNS-SD. +# This hidden option allows packages that need the libavahi-client to +# more easily determine if it's available or not. +config BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT + bool + default y if BR2_PACKAGE_AVAHI_DAEMON && BR2_PACKAGE_DBUS + config BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY bool "libdns_sd compatibility (Bonjour)" depends on BR2_PACKAGE_AVAHI_DAEMON @@ -42,6 +48,13 @@ config BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY Enable the libdns_sd (Bonjour) compatibility library support for legacy applications. +config BR2_PACKAGE_AVAHI_DEFAULT_SERVICES + bool "install default service definitions" + depends on BR2_PACKAGE_AVAHI_DAEMON + help + Install the SSH/SFTP service definitions included with the + Avahi daemon by default. + endif comment "avahi needs a toolchain w/ threads" diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk index e2b27328cdf..1992669a927 100644 --- a/package/avahi/avahi.mk +++ b/package/avahi/avahi.mk @@ -9,8 +9,16 @@ AVAHI_SITE = https://github.com/lathiat/avahi/releases/download/v$(AVAHI_VERSION AVAHI_LICENSE = LGPL-2.1+ AVAHI_LICENSE_FILES = LICENSE AVAHI_CPE_ID_VENDOR = avahi +AVAHI_SELINUX_MODULES = avahi AVAHI_INSTALL_STAGING = YES +# CVE-2021-26720 is an issue in avahi-daemon-check-dns.sh, which is +# part of the Debian packaging and not part of upstream avahi +AVAHI_IGNORE_CVES += CVE-2021-26720 + +# 0001-Fix-NULL-pointer-crashes-from-175.patch +AVAHI_IGNORE_CVES += CVE-2021-36217 + AVAHI_CONF_ENV = \ avahi_cv_sys_cxx_works=yes \ DATADIRNAME=share @@ -32,7 +40,6 @@ AVAHI_CONF_OPTS = \ --disable-gtk \ --disable-gtk3 \ --disable-gdbm \ - --disable-pygobject \ --disable-mono \ --disable-monodoc \ --disable-stack-protector \ @@ -96,17 +103,16 @@ else AVAHI_CONF_OPTS += --disable-glib --disable-gobject endif -ifeq ($(BR2_PACKAGE_PYTHON),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) AVAHI_CONF_ENV += \ - am_cv_pathless_PYTHON=python \ - am_cv_path_PYTHON=$(PYTHON_TARGET_BINARY) \ - am_cv_python_version=$(PYTHON_VERSION) \ - am_cv_python_platform=linux2 \ - am_cv_python_pythondir=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \ - am_cv_python_pyexecdir=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \ + am_cv_pathless_PYTHON=python3 \ + am_cv_python_version=$(PYTHON3_VERSION) \ + am_cv_python_platform=linux5 \ + am_cv_python_pythondir=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ + am_cv_python_pyexecdir=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ py_cv_mod_socket_=yes -AVAHI_DEPENDENCIES += python +AVAHI_DEPENDENCIES += python3 AVAHI_CONF_OPTS += --enable-python else AVAHI_CONF_OPTS += --disable-python @@ -120,6 +126,13 @@ else AVAHI_CONF_OPTS += --disable-python-dbus endif +ifeq ($(BR2_PACKAGE_PYTHON_GOBJECT),y) +AVAHI_CONF_OPTS += --enable-pygobject +AVAHI_DEPENDENCIES += python-gobject +else +AVAHI_CONF_OPTS += --disable-pygobject +endif + AVAHI_CONF_ENV += CFLAGS="$(AVAHI_CFLAGS)" AVAHI_MAKE_OPTS += LIBS=$(TARGET_NLS_LIBS) @@ -185,4 +198,13 @@ endef AVAHI_POST_INSTALL_STAGING_HOOKS += AVAHI_STAGING_INSTALL_LIBDNSSD_LINK endif +ifeq ($(BR2_PACKAGE_AVAHI_DEFAULT_SERVICES),) +define AVAHI_REMOVE_DEFAULT_SERVICES + $(foreach service,ssh sftp-ssh, \ + $(RM) -f $(TARGET_DIR)/etc/avahi/services/$(service).service + ) +endef +AVAHI_POST_INSTALL_TARGET_HOOKS += AVAHI_REMOVE_DEFAULT_SERVICES +endif + $(eval $(autotools-package)) diff --git a/package/avrdude/Config.in b/package/avrdude/Config.in index fba4253ad86..cbbd0766675 100644 --- a/package/avrdude/Config.in +++ b/package/avrdude/Config.in @@ -15,6 +15,18 @@ config BR2_PACKAGE_AVRDUDE https://github.com/kcuzner/avrdude +if BR2_PACKAGE_AVRDUDE + +config BR2_PACKAGE_AVRDUDE_SPI + bool "SPI support" + default y # Backward compatibility + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 + +comment "SPI support needs a toolchain w/ linux headers >= 4.8" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 + +endif + comment "avrdude needs a uClibc or glibc toolchain w/ threads, wchar, dynamic library, gcc >= 4.9" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ diff --git a/package/avrdude/avrdude.hash b/package/avrdude/avrdude.hash index 888668ae44d..d53d4dd60de 100644 --- a/package/avrdude/avrdude.hash +++ b/package/avrdude/avrdude.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cfa97af7badc713c62306ab85d0e7a288b064bf72e698494f73cb16c5b2c659e avrdude-f8893ccf0aceeff67c45f95ae4e86bc7fbe342aa.tar.gz -sha256 201babc7da198873304a77a30dbfc7ca449c9bba52df2dffa4cca0009dbdfcb2 avrdude/COPYING +sha256 bbe2cf09163b3561ea28e9d48c2a588838f7adcd7858e34ced9c886feacb5be6 avrdude-6.4.tar.gz +sha256 201babc7da198873304a77a30dbfc7ca449c9bba52df2dffa4cca0009dbdfcb2 COPYING diff --git a/package/avrdude/avrdude.mk b/package/avrdude/avrdude.mk index ae378dfbace..accd92c1d5d 100644 --- a/package/avrdude/avrdude.mk +++ b/package/avrdude/avrdude.mk @@ -4,11 +4,11 @@ # ################################################################################ -AVRDUDE_VERSION = f8893ccf0aceeff67c45f95ae4e86bc7fbe342aa -AVRDUDE_SITE = $(call github,kcuzner,avrdude,$(AVRDUDE_VERSION)) +AVRDUDE_VERSION = 6.4 +AVRDUDE_SITE = $(call github,avrdudes,avrdude,v$(AVRDUDE_VERSION)) AVRDUDE_LICENSE = GPL-2.0+ -AVRDUDE_LICENSE_FILES = avrdude/COPYING -AVRDUDE_SUBDIR = avrdude +AVRDUDE_LICENSE_FILES = COPYING + # Sources coming from git, without generated configure and Makefile.in # files. AVRDUDE_AUTORECONF = YES @@ -16,12 +16,22 @@ AVRDUDE_CONF_OPTS = --enable-linuxgpio AVRDUDE_DEPENDENCIES = elfutils libusb libusb-compat ncurses \ host-flex host-bison +ifeq ($(BR2_PACKAGE_AVRDUDE_SPI),y) +AVRDUDE_CONF_OPTS += --enable-linuxspi +else +AVRDUDE_CONF_OPTS += --disable-linuxspi +endif + ifeq ($(BR2_PACKAGE_LIBFTDI1),y) AVRDUDE_DEPENDENCIES += libftdi1 else ifeq ($(BR2_PACKAGE_LIBFTDI),y) AVRDUDE_DEPENDENCIES += libftdi endif +ifeq ($(BR2_PACKAGE_HIDAPI),y) +AVRDUDE_DEPENDENCIES += hidapi +endif + # if /etc/avrdude.conf exists, the installation process creates a # backup file, which we do not want in the context of Buildroot. define AVRDUDE_REMOVE_BACKUP_FILE diff --git a/package/axel/axel.hash b/package/axel/axel.hash index 552f9406521..ca7ad5c1d3c 100644 --- a/package/axel/axel.hash +++ b/package/axel/axel.hash @@ -1,2 +1,2 @@ -sha256 46eb4f10a11c4e50320ae6a034ef03ffe59dc11c3c6542a9867a3e4dc0c4b44e axel-2.17.10.tar.xz +sha256 580b2c18692482fd7f1e2b2819159484311ffc50f6d18924dceb80fd41d4ccf9 axel-2.17.11.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 8e3d7679e73..191484d11bd 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -4,7 +4,7 @@ # ################################################################################ -AXEL_VERSION = 2.17.10 +AXEL_VERSION = 2.17.11 AXEL_SITE = https://github.com/axel-download-accelerator/axel/releases/download/v$(AXEL_VERSION) AXEL_SOURCE = axel-$(AXEL_VERSION).tar.xz AXEL_LICENSE = GPL-2.0+ diff --git a/package/azmq/0001-Conditionally-disable-test-and-doc-builds.patch b/package/azmq/0001-Conditionally-disable-test-and-doc-builds.patch deleted file mode 100644 index 98975d27edf..00000000000 --- a/package/azmq/0001-Conditionally-disable-test-and-doc-builds.patch +++ /dev/null @@ -1,43 +0,0 @@ -From d960f93fb52e373f76cfedbee5f4fb0c5276856a Mon Sep 17 00:00:00 2001 -From: RJ Ascani -Date: Thu, 20 Jul 2017 15:53:40 -0700 -Subject: [PATCH] Conditionally disable test and doc builds - -Signed-off-by: RJ Ascani ---- - CMakeLists.txt | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5b5b9cc..97006a4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -49,7 +49,9 @@ include_directories(${Boost_INCLUDE_DIRS} - ${ZeroMQ_INCLUDE_DIRS} - ${PROJECT_SOURCE_DIR}) - --enable_testing() -+if (BUILD_TESTING) -+ enable_testing() -+endif() - - macro(add_catch_test name) - if (TEST_REPORT_FORMAT) -@@ -59,8 +61,12 @@ macro(add_catch_test name) - endif() - endmacro() - --add_subdirectory(test) --add_subdirectory(doc) -+if (BUILD_TESTING) -+ add_subdirectory(test) -+endif() -+if (BUILD_DOC) -+ add_subdirectory(doc) -+endif() - - install(DIRECTORY ${PROJECT_SOURCE_DIR}/azmq - DESTINATION include) --- -2.13.3 - diff --git a/package/azmq/Config.in b/package/azmq/Config.in index 37131a260a7..7bdd07ebf82 100644 --- a/package/azmq/Config.in +++ b/package/azmq/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_AZMQ bool "azmq" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # boost-log + depends on BR2_TOOLCHAIN_HAS_THREADS # boost, zeromq depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_USE_WCHAR # boost depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread @@ -11,9 +11,7 @@ config BR2_PACKAGE_AZMQ select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_DATE_TIME - select BR2_PACKAGE_BOOST_LOG select BR2_PACKAGE_BOOST_RANDOM - select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD help @@ -21,10 +19,10 @@ config BR2_PACKAGE_AZMQ https://github.com/zeromq/azmq -comment "azmq needs a toolchain w/ C++11, wchar and NPTL" +comment "azmq needs a toolchain w/ C++11, wchar and threads" depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ - && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS_NPTL) + && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS) comment "azmq needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/azmq/azmq.hash b/package/azmq/azmq.hash index f5d24e79ced..6caf53582a1 100644 --- a/package/azmq/azmq.hash +++ b/package/azmq/azmq.hash @@ -1,4 +1,3 @@ # Locally calculated -# https://github.com/zeromq/azmq/archive/v1.0.2.tar.gz -sha256 25fa8b07756cffae95e25a55c7ea42efe02e8cd797552201aa771dd69cfc8fbf azmq-1.0.2.tar.gz -sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE-BOOST_1_0 +sha256 80cfb951c5614b8c2e55a59ea2e5723a18ebed08da80e5420e525d6bf273771a azmq-1.0.3.tar.gz +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE-BOOST_1_0 diff --git a/package/azmq/azmq.mk b/package/azmq/azmq.mk index 918c6e1a36f..a72b155664a 100644 --- a/package/azmq/azmq.mk +++ b/package/azmq/azmq.mk @@ -4,7 +4,7 @@ # ################################################################################ -AZMQ_VERSION = 1.0.2 +AZMQ_VERSION = 1.0.3 AZMQ_SITE = $(call github,zeromq,azmq,v$(AZMQ_VERSION)) AZMQ_DEPENDENCIES = boost zeromq AZMQ_LICENSE = BSL-1.0 @@ -15,4 +15,6 @@ AZMQ_LICENSE_FILES = LICENSE-BOOST_1_0 AZMQ_INSTALL_STAGING = YES AZMQ_INSTALL_TARGET = NO +AZMQ_CONF_OPTS = -DAZMQ_NO_TESTS=ON + $(eval $(cmake-package)) diff --git a/package/azure-iot-sdk-c/0001-Fix-redirection-of-errno-header.patch b/package/azure-iot-sdk-c/0001-Fix-redirection-of-errno-header.patch deleted file mode 100644 index efc3d332654..00000000000 --- a/package/azure-iot-sdk-c/0001-Fix-redirection-of-errno-header.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9ff62052a9490c96366d97096a039dca30702b2d Mon Sep 17 00:00:00 2001 -From: Sergio Prado -Date: Fri, 3 Jul 2020 21:09:20 -0300 -Subject: [PATCH] Fix redirection of errno header - -The POSIX correct header to include is . - -The glibc silently redirects incorrect includes, but musl libc prints -a warning: - #warning redirecting incorrect #include to - -Signed-off-by: Sergio Prado ---- - c-utility/pal/linux/socket_async_os.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/c-utility/pal/linux/socket_async_os.h b/c-utility/pal/linux/socket_async_os.h -index bd59e487c099..1797089851e3 100644 ---- a/c-utility/pal/linux/socket_async_os.h -+++ b/c-utility/pal/linux/socket_async_os.h -@@ -10,7 +10,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include --- -2.17.1 - diff --git a/package/azure-iot-sdk-c/0001-adapters-fix-build-with-libressl-2.8.0.patch b/package/azure-iot-sdk-c/0001-adapters-fix-build-with-libressl-2.8.0.patch new file mode 100644 index 00000000000..e2a241bffe8 --- /dev/null +++ b/package/azure-iot-sdk-c/0001-adapters-fix-build-with-libressl-2.8.0.patch @@ -0,0 +1,85 @@ +From 43b313988d66de144a528e4cf57827df1e8c692d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 12 Apr 2022 20:00:36 +0200 +Subject: [PATCH] adapters: fix build with libressl >= 2.8.0 (#589) + +Fix the following build failure with libressl >= 2.8.0 raised since +https://github.com/libressl-portable/openbsd/commit/703abab3212b397d500bd8c2f5f7ee6b03feb159: + +/nvmedata/autobuild/instance-20/output-1/build/azure-iot-sdk-c-LTS_01_2022_Ref01/c-utility/adapters/tlsio_openssl.c: In function 'add_certificate_to_store': +/nvmedata/autobuild/instance-20/output-1/build/azure-iot-sdk-c-LTS_01_2022_Ref01/c-utility/adapters/tlsio_openssl.c:961:24: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] + 961 | bio_method = BIO_s_mem(); + | ^ +cc1: all warnings being treated as errors + +Fix #585 + +Fixes: + - http://autobuild.buildroot.org/results/873f86fb2311ed29a791140f2341943475985fcc + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/Azure/azure-c-shared-utility/commit/43b313988d66de144a528e4cf57827df1e8c692d] +--- + adapters/tlsio_openssl.c | 2 +- + adapters/x509_openssl.c | 4 ++-- + tests/x509_openssl_ut/x509_openssl_ut.c | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/c-utility/adapters/tlsio_openssl.c b/c-utility/adapters/tlsio_openssl.c +index 4a3df8496..aa48ce52d 100644 +--- a/c-utility/adapters/tlsio_openssl.c ++++ b/c-utility/adapters/tlsio_openssl.c +@@ -953,7 +953,7 @@ static int add_certificate_to_store(TLS_IO_INSTANCE* tls_io_instance, const char + } + else + { +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + const BIO_METHOD* bio_method; + #else + BIO_METHOD* bio_method; +diff --git a/c-utility/adapters/x509_openssl.c b/c-utility/adapters/x509_openssl.c +index 5a9e5ac29..46195b403 100644 +--- a/c-utility/adapters/x509_openssl.c ++++ b/c-utility/adapters/x509_openssl.c +@@ -75,7 +75,7 @@ static int load_certificate_chain(SSL_CTX* ssl_ctx, const char* certificate) + // certificates. + + /* Codes_SRS_X509_OPENSSL_07_006: [ If successful x509_openssl_add_ecc_credentials shall to import each certificate in the cert chain. ] */ +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_CTX_clear_extra_chain_certs(ssl_ctx); + #else + if (ssl_ctx->extra_certs != NULL) +@@ -345,7 +345,7 @@ int x509_openssl_add_certificates(SSL_CTX* ssl_ctx, const char* certificates) + else + { + /*Codes_SRS_X509_OPENSSL_02_012: [ x509_openssl_add_certificates shall get the memory BIO method function by calling BIO_s_mem. ]*/ +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + const BIO_METHOD* bio_method; + #else + BIO_METHOD* bio_method; +diff --git a/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c b/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c +index b3349f6b0..f73191e3f 100644 +--- a/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c ++++ b/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c +@@ -348,7 +348,7 @@ BEGIN_TEST_SUITE(x509_openssl_unittests) + STRICT_EXPECTED_CALL(BIO_new_mem_buf((void*)TEST_PUBLIC_CERTIFICATE, -1)); + STRICT_EXPECTED_CALL(PEM_read_bio_X509_AUX(IGNORED_PTR_ARG, NULL, NULL, NULL)); + STRICT_EXPECTED_CALL(SSL_CTX_use_certificate(IGNORED_PTR_ARG, IGNORED_PTR_ARG)); +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + // Actual macro name: SSL_CTX_clear_extra_chain_certs: + STRICT_EXPECTED_CALL(SSL_CTX_ctrl(TEST_SSL_CTX_STRUCTURE, SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS, 0, NULL)); + #endif +@@ -537,7 +537,7 @@ BEGIN_TEST_SUITE(x509_openssl_unittests) + + umock_c_negative_tests_snapshot(); + +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + #ifdef __APPLE__ + size_t calls_cannot_fail_rsa[] = { 4, 5, 6, 10, 12, 13, 14 }; + size_t calls_cannot_fail_ecc[] = { 3, 4, 8, 10, 11, 12} ; diff --git a/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch b/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch new file mode 100644 index 00000000000..0c262e6c465 --- /dev/null +++ b/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch @@ -0,0 +1,35 @@ +From 3a7997af72e7a4f70109d1639e6725b39046443e Mon Sep 17 00:00:00 2001 +From: Francesco Giancane <30423178+fgiancane8@users.noreply.github.com> +Date: Fri, 2 Jul 2021 20:47:38 +0200 +Subject: [PATCH] hmac.c: fix mismatching function prototype (#537) + +The reported function raises a warning when compilers assert the flag +`-Warray-parameter=`, signaling that an array-type argument was promoted +to a pointer-type argument. + +While in practice in most C implementations this is correct, fixing the +warning (and, in this case, indicating the maximum size for the array) +would represent a best-practice for finding out-of-bound accesses or +identifying wrongly-sized arrays passed in the function. + +Signed-off-by: Francesco Giancane +[Retrieved from: +https://github.com/Azure/azure-c-shared-utility/commit/3a7997af72e7a4f70109d1639e6725b39046443e] +Signed-off-by: Fabrice Fontaine +--- + src/hmac.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hmac.c b/src/hmac.c +index 53f2411f8..160af9d2f 100644 +--- a/c-utility/src/hmac.c ++++ b/c-utility/src/hmac.c +@@ -208,7 +208,7 @@ int hmacFinalBits(HMACContext *ctx, + * sha Error Code. + * + */ +-int hmacResult(HMACContext *ctx, uint8_t *digest) ++int hmacResult(HMACContext *ctx, uint8_t digest[USHAMaxHashSize]) + { + if (!ctx) return shaNull; + diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.hash b/package/azure-iot-sdk-c/azure-iot-sdk-c.hash index 124c7a1107d..72fa99c44d8 100644 --- a/package/azure-iot-sdk-c/azure-iot-sdk-c.hash +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 61874790b66c7e120550fdffff88cb1e3cbfbfebcf324e41982f04461f8793a0 azure-iot-sdk-c-LTS_07_2020_Ref02-br1.tar.gz +sha256 987b469aa76d6c81e5dbcd62e81f4ece0620770930cf65722754c76aedd6049f azure-iot-sdk-c-LTS_01_2021_Ref01-br1.tar.gz # Hash for license files: sha256 be2e9913fad9ff33607287c728f392579e2a6cc83e51b203ef6274c41db02ee7 LICENSE diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk index c664ad83a40..e6de8c851b2 100644 --- a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -AZURE_IOT_SDK_C_VERSION = LTS_07_2020_Ref02 +AZURE_IOT_SDK_C_VERSION = LTS_01_2021_Ref01 AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c AZURE_IOT_SDK_C_SITE_METHOD = git AZURE_IOT_SDK_C_GIT_SUBMODULES = YES @@ -14,62 +14,4 @@ AZURE_IOT_SDK_C_INSTALL_STAGING = YES AZURE_IOT_SDK_C_DEPENDENCIES = libxml2 openssl libcurl util-linux AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON -# The project only supports building one kind of library. -# Further the install target installs the wrong files, so we do it here: -ifeq ($(BR2_STATIC_LIBS),y) -AZURE_IOT_SDK_C_LIBS += \ - uamqp/libuamqp.a \ - c-utility/libaziotsharedutil.a \ - iothub_client/libiothub_client.a \ - iothub_client/libiothub_client_mqtt_ws_transport.a \ - iothub_client/libiothub_client_amqp_ws_transport.a \ - iothub_client/libiothub_client_http_transport.a \ - iothub_client/libiothub_client_amqp_transport.a \ - iothub_client/libiothub_client_mqtt_transport.a \ - iothub_service_client/libiothub_service_client.a \ - serializer/libserializer.a \ - umqtt/libumqtt.a \ - deps/uhttp/libuhttp.a \ - deps/umock-c/libumock_c.a \ - libparson.a -else -AZURE_IOT_SDK_C_LIBS += \ - uamqp/libuamqp.so \ - c-utility/libaziotsharedutil.so \ - iothub_client/libiothub_client.so \ - iothub_client/libiothub_client_mqtt_ws_transport.so \ - iothub_client/libiothub_client_amqp_ws_transport.so \ - iothub_client/libiothub_client_http_transport.so \ - iothub_client/libiothub_client_amqp_transport.so \ - iothub_client/libiothub_client_mqtt_transport.so \ - iothub_service_client/libiothub_service_client.so \ - serializer/libserializer.so \ - umqtt/libumqtt.so.1.1.12 \ - deps/uhttp/libuhttp.so \ - deps/umock-c/libumock_c.so \ - libparson.so - -define AZURE_IOT_SDK_C_CREATE_SYMLINKS - ln -sf libumqtt.so.1.1.12 $(1)/usr/lib/libumqtt.so.1 - ln -sf libumqtt.so.1.1.12 $(1)/usr/lib/libumqtt.so -endef -endif - -define AZURE_IOT_SDK_C_INSTALL_LIBS - $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \ - $(INSTALL) -D -m 0755 $(@D)/$(l) $(1)/usr/lib/$(notdir $(l)) - ) - $(call AZURE_IOT_SDK_C_CREATE_SYMLINKS,$(1)) -endef - -define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS - $(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(STAGING_DIR)) - cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/ - cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/ -endef - -define AZURE_IOT_SDK_C_INSTALL_TARGET_CMDS - $(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(TARGET_DIR)) -endef - $(eval $(cmake-package)) diff --git a/package/babeltrace2/0002-tests-lib-test_trace_ir_ref.c-rename-user-structure.patch b/package/babeltrace2/0002-tests-lib-test_trace_ir_ref.c-rename-user-structure.patch deleted file mode 100644 index ac9eee82d8e..00000000000 --- a/package/babeltrace2/0002-tests-lib-test_trace_ir_ref.c-rename-user-structure.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 7a27f13c192d15cae47740f3e884bba16f15ed41 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 26 Sep 2020 22:03:10 +0200 -Subject: [PATCH] tests/lib/test_trace_ir_ref.c: rename user structure - -Rename user structure to bt_user to avoid the following build failure -with uclibc: - -test_trace_ir_ref.c:41:8: error: redefinition of 'struct user' - struct user { - ^ -In file included from /home/naourr/work/instance-0/output-1/per-package/babeltrace2/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/sys/procfs.h:33, - from /home/naourr/work/instance-0/output-1/per-package/babeltrace2/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/sys/ucontext.h:25, - from /home/naourr/work/instance-0/output-1/per-package/babeltrace2/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/signal.h:329, - from /home/naourr/work/instance-0/output-1/per-package/babeltrace2/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/glib-2.0/glib/gbacktrace.h:36, - from /home/naourr/work/instance-0/output-1/per-package/babeltrace2/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/glib-2.0/glib.h:34, - from ../../src/common/assert.h:28, - from ../../src/lib/object.h:28, - from test_trace_ir_ref.c:25: -/home/naourr/work/instance-0/output-1/per-package/babeltrace2/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/sys/user.h:48:8: note: originally defined here - struct user - ^~~~ - -Fixes: - - http://autobuild.buildroot.org/results/e4229e2b9c892b419a9d2eaa6929b80ea62dd130 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/efficios/babeltrace/pull/115] ---- - tests/lib/test_trace_ir_ref.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/lib/test_trace_ir_ref.c b/tests/lib/test_trace_ir_ref.c -index d5dfa9cf..70caf29c 100644 ---- a/tests/lib/test_trace_ir_ref.c -+++ b/tests/lib/test_trace_ir_ref.c -@@ -25,7 +25,7 @@ - - #define NR_TESTS 37 - --struct user { -+struct bt_user { - bt_trace_class *tc; - bt_stream_class *sc; - bt_event_class *ec; -@@ -265,7 +265,7 @@ static void test_example_scenario(bt_self_component_source *self_comp) - bt_stream_class *weak_sc1 = NULL, *weak_sc2 = NULL; - bt_event_class *weak_ec1 = NULL, *weak_ec2 = NULL, - *weak_ec3 = NULL; -- struct user user_a = { 0 }, user_b = { 0 }, user_c = { 0 }; -+ struct bt_user user_a = { 0 }, user_b = { 0 }, user_c = { 0 }; - - /* The only reference which exists at this point is on TC1. */ - tc1 = create_tc1(self_comp); --- -2.28.0 - diff --git a/package/babeltrace2/babeltrace2.hash b/package/babeltrace2/babeltrace2.hash index 27c47ba26ff..164e65cded9 100644 --- a/package/babeltrace2/babeltrace2.hash +++ b/package/babeltrace2/babeltrace2.hash @@ -1,8 +1,8 @@ -# From https://www.efficios.com/files/babeltrace/babeltrace2-2.0.3.tar.bz2.sha256 -sha256 a53625152554102d868ba8395347d0daba0bec9c4b854c3e9bd97c77b0bf04a0 babeltrace2-2.0.3.tar.bz2 +# From https://www.efficios.com/files/babeltrace/babeltrace2-2.0.4.tar.bz2.sha256 +sha256 774f116685dab5db9c51577dde43c8c1df482aae6bb78a089b1e9e7c8b489bca babeltrace2-2.0.4.tar.bz2 # Hash for license files -sha256 d919c6347409efde6dea63c6f349fb06bc060a2b721fc3df07b5f720b5f1d60e LICENSE -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 gpl-2.0.txt -sha256 c68fd1ffc1623ea0dace21abf57305818e4998a4ae0c79010aaaa943eb660b55 lgpl-2.1.txt -sha256 2f801b7c2494850c3d91da820eb230502dc0192c9d0db024db37ec08d0be1434 mit-license.txt +sha256 d919c6347409efde6dea63c6f349fb06bc060a2b721fc3df07b5f720b5f1d60e LICENSE +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 gpl-2.0.txt +sha256 c68fd1ffc1623ea0dace21abf57305818e4998a4ae0c79010aaaa943eb660b55 lgpl-2.1.txt +sha256 2f801b7c2494850c3d91da820eb230502dc0192c9d0db024db37ec08d0be1434 mit-license.txt diff --git a/package/babeltrace2/babeltrace2.mk b/package/babeltrace2/babeltrace2.mk index 1e03f5fdd29..eedfc72b8cf 100644 --- a/package/babeltrace2/babeltrace2.mk +++ b/package/babeltrace2/babeltrace2.mk @@ -5,7 +5,7 @@ ################################################################################ BABELTRACE2_SITE = https://www.efficios.com/files/babeltrace -BABELTRACE2_VERSION = 2.0.3 +BABELTRACE2_VERSION = 2.0.4 BABELTRACE2_SOURCE = babeltrace2-$(BABELTRACE2_VERSION).tar.bz2 BABELTRACE2_LICENSE = MIT, LGPL-2.1 (src/common/list.h), GPL-2.0 (test code) BABELTRACE2_LICENSE_FILES = mit-license.txt lgpl-2.1.txt gpl-2.0.txt LICENSE diff --git a/package/bandwidthd/Config.in b/package/bandwidthd/Config.in index 5a3529e0c43..e2a6f1acb11 100644 --- a/package/bandwidthd/Config.in +++ b/package/bandwidthd/Config.in @@ -36,6 +36,7 @@ config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL bool "enable postgresql log target support" depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Enable support for logging the bandwidthd data to a remote @@ -46,6 +47,9 @@ config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL comment "postgresql support needs a toolchain w/ dynamic library, wchar" depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "postgresql support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_BANDWIDTHD_SQLITE3 bool "enable sqlite3 log storage" select BR2_PACKAGE_SQLITE diff --git a/package/bash-completion/bash-completion.hash b/package/bash-completion/bash-completion.hash index fa98272be61..7e952e5b027 100644 --- a/package/bash-completion/bash-completion.hash +++ b/package/bash-completion/bash-completion.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 123c17998e34b937ce57bb1b111cd817bc369309e9a8047c0bcf06ead4a3ec92 bash-completion-2.10.tar.xz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 73a8894bad94dee83ab468fa09f628daffd567e8bef1a24277f1e9a0daf911ac bash-completion-2.11.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/bash-completion/bash-completion.mk b/package/bash-completion/bash-completion.mk index 4b86e9f118c..8b0e9494161 100644 --- a/package/bash-completion/bash-completion.mk +++ b/package/bash-completion/bash-completion.mk @@ -4,7 +4,7 @@ # ################################################################################ -BASH_COMPLETION_VERSION = 2.10 +BASH_COMPLETION_VERSION = 2.11 BASH_COMPLETION_SITE = https://github.com/scop/bash-completion/releases/download/$(BASH_COMPLETION_VERSION) BASH_COMPLETION_SOURCE = bash-completion-$(BASH_COMPLETION_VERSION).tar.xz BASH_COMPLETION_LICENSE = GPL-2.0 diff --git a/package/bash/0001-bash50-001.patch b/package/bash/0001-bash50-001.patch deleted file mode 100644 index 90e89ce5686..00000000000 --- a/package/bash/0001-bash50-001.patch +++ /dev/null @@ -1,170 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-001 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-001 - -Bug-Reported-by: axel@freakout.de -Bug-Reference-ID: <201901082050.x08KoShS006731@bongo.freakout.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html - -Bug-Description: - -Under certain circumstances, the glob expansion code did not remove -backslashes escaping characters in directory names (or portions of a -pattern preceding a slash). - -Patch (apply with `patch -p0'): - -*** ../bash-5.0/bashline.c 2018-11-27 13:20:16.000000000 -0500 ---- b/bashline.c 2019-01-16 16:06:03.000000000 -0500 -*************** -*** 232,235 **** ---- 232,236 ---- - static int bash_possible_command_completions __P((int, int)); - -+ static int completion_glob_pattern __P((char *)); - static char *glob_complete_word __P((const char *, int)); - static int bash_glob_completion_internal __P((int)); -*************** -*** 1742,1746 **** - /* This could be a globbing pattern, so try to expand it using pathname - expansion. */ -! if (!matches && glob_pattern_p (text)) - { - matches = rl_completion_matches (text, glob_complete_word); ---- 1743,1747 ---- - /* This could be a globbing pattern, so try to expand it using pathname - expansion. */ -! if (!matches && completion_glob_pattern ((char *)text)) - { - matches = rl_completion_matches (text, glob_complete_word); -*************** -*** 1851,1855 **** - } - -! globpat = glob_pattern_p (hint_text); - - /* If this is an absolute program name, do not check it against ---- 1852,1856 ---- - } - -! globpat = completion_glob_pattern ((char *)hint_text); - - /* If this is an absolute program name, do not check it against -*************** -*** 3714,3717 **** ---- 3715,3773 ---- - } - -+ static int -+ completion_glob_pattern (string) -+ char *string; -+ { -+ register int c; -+ char *send; -+ int open; -+ -+ DECLARE_MBSTATE; -+ -+ open = 0; -+ send = string + strlen (string); -+ -+ while (c = *string++) -+ { -+ switch (c) -+ { -+ case '?': -+ case '*': -+ return (1); -+ -+ case '[': -+ open++; -+ continue; -+ -+ case ']': -+ if (open) -+ return (1); -+ continue; -+ -+ case '+': -+ case '@': -+ case '!': -+ if (*string == '(') /*)*/ -+ return (1); -+ continue; -+ -+ case '\\': -+ if (*string == 0) -+ return (0); -+ } -+ -+ /* Advance one fewer byte than an entire multibyte character to -+ account for the auto-increment in the loop above. */ -+ #ifdef HANDLE_MULTIBYTE -+ string--; -+ ADVANCE_CHAR_P (string, send - string); -+ string++; -+ #else -+ ADVANCE_CHAR_P (string, send - string); -+ #endif -+ } -+ return (0); -+ } -+ - static char *globtext; - static char *globorig; -*************** -*** 3878,3882 **** - } - -! if (t && glob_pattern_p (t) == 0) - rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ - FREE (t); ---- 3934,3938 ---- - } - -! if (t && completion_glob_pattern (t) == 0) - rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ - FREE (t); -*** ../bash-5.0/lib/glob/glob_loop.c 2018-12-31 13:35:15.000000000 -0500 ---- b/lib/glob/glob_loop.c 2019-01-09 09:44:36.000000000 -0500 -*************** -*** 55,59 **** - - case L('\\'): -- #if 0 - /* Don't let the pattern end in a backslash (GMATCH returns no match - if the pattern ends in a backslash anyway), but otherwise return 1, ---- 55,58 ---- -*************** -*** 61,69 **** - and it can be removed. */ - return (*p != L('\0')); -- #else -- /* The pattern may not end with a backslash. */ -- if (*p++ == L('\0')) -- return 0; -- #endif - } - ---- 60,63 ---- -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 0 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0019-input.h-add-missing-include-on-stdio.h.patch b/package/bash/0001-input.h-add-missing-include-on-stdio.h.patch similarity index 100% rename from package/bash/0019-input.h-add-missing-include-on-stdio.h.patch rename to package/bash/0001-input.h-add-missing-include-on-stdio.h.patch diff --git a/package/bash/0002-bash50-002.patch b/package/bash/0002-bash50-002.patch deleted file mode 100644 index 60d0a76f9d7..00000000000 --- a/package/bash/0002-bash50-002.patch +++ /dev/null @@ -1,117 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-002 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-002 - -Bug-Reported-by: Ante Peric -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html - -Bug-Description: - -When an alias value ends with an unquoted literal tab (not part of a quoted -string or comment), alias expansion cannot correctly detect the end of the -alias value after expanding it. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0/parser.h 2018-12-28 19:11:18.000000000 -0500 ---- b/parser.h 2019-01-11 15:13:03.000000000 -0500 -*************** -*** 48,51 **** ---- 48,52 ---- - #define PST_REDIRLIST 0x080000 /* parsing a list of redirections preceding a simple command name */ - #define PST_COMMENT 0x100000 /* parsing a shell comment; used by aliases */ -+ #define PST_ENDALIAS 0x200000 /* just finished expanding and consuming an alias */ - - /* Definition of the delimiter stack. Needed by parse.y and bashhist.c. */ -*** ../bash-5.0/parse.y 2019-01-02 13:57:34.000000000 -0500 ---- b/parse.y 2019-01-14 08:23:31.000000000 -0500 -*************** -*** 2558,2567 **** - pushed_string_list->flags != PSH_DPAREN && - (parser_state & PST_COMMENT) == 0 && - shell_input_line_index > 0 && -! shell_input_line[shell_input_line_index-1] != ' ' && - shell_input_line[shell_input_line_index-1] != '\n' && - shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && - (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) - { - return ' '; /* END_ALIAS */ - } ---- 2558,2569 ---- - pushed_string_list->flags != PSH_DPAREN && - (parser_state & PST_COMMENT) == 0 && -+ (parser_state & PST_ENDALIAS) == 0 && /* only once */ - shell_input_line_index > 0 && -! shellblank (shell_input_line[shell_input_line_index-1]) == 0 && - shell_input_line[shell_input_line_index-1] != '\n' && - shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && - (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) - { -+ parser_state |= PST_ENDALIAS; - return ' '; /* END_ALIAS */ - } -*************** -*** 2572,2575 **** ---- 2574,2578 ---- - if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) - { -+ parser_state &= ~PST_ENDALIAS; - pop_string (); - uc = shell_input_line[shell_input_line_index]; -*** ../bash-5.0/y.tab.c 2019-01-02 13:57:43.000000000 -0500 ---- b/y.tab.c 2019-01-14 08:39:23.000000000 -0500 -*************** -*** 4874,4883 **** - pushed_string_list->flags != PSH_DPAREN && - (parser_state & PST_COMMENT) == 0 && - shell_input_line_index > 0 && -! shell_input_line[shell_input_line_index-1] != ' ' && - shell_input_line[shell_input_line_index-1] != '\n' && - shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && - (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) - { - return ' '; /* END_ALIAS */ - } ---- 4874,4885 ---- - pushed_string_list->flags != PSH_DPAREN && - (parser_state & PST_COMMENT) == 0 && -+ (parser_state & PST_ENDALIAS) == 0 && /* only once */ - shell_input_line_index > 0 && -! shellblank (shell_input_line[shell_input_line_index-1]) == 0 && - shell_input_line[shell_input_line_index-1] != '\n' && - shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && - (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) - { -+ parser_state |= PST_ENDALIAS; - return ' '; /* END_ALIAS */ - } -*************** -*** 4888,4891 **** ---- 4890,4894 ---- - if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) - { -+ parser_state &= ~PST_ENDALIAS; - pop_string (); - uc = shell_input_line[shell_input_line_index]; -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0002-locale-fix-typo-local_shiftstates-vs.-locale_shiftst.patch b/package/bash/0002-locale-fix-typo-local_shiftstates-vs.-locale_shiftst.patch new file mode 100644 index 00000000000..1636c180363 --- /dev/null +++ b/package/bash/0002-locale-fix-typo-local_shiftstates-vs.-locale_shiftst.patch @@ -0,0 +1,72 @@ +From 3d6b9e18506ad9daf4ec7b7d406b38d58ec88009 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 11 Mar 2021 20:48:36 +0100 +Subject: [PATCH] locale: fix typo local_shiftstates vs. locale_shiftstates +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + locale.c:94:3: error: ‘local_shiftstates’ undeclared (first use in this function); did you mean ‘locale_shiftstates’? + 94 | local_shiftstates = 0; + | ^~~~~~~~~~~~~~~~~ + | locale_shiftstates + +Signed-off-by: Peter Seiderer +--- + locale.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/locale.c b/locale.c +index 17ccc58..d6dd95a 100644 +--- a/locale.c ++++ b/locale.c +@@ -91,7 +91,7 @@ set_default_locale () + #if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); + #else +- local_shiftstates = 0; ++ locale_shiftstates = 0; + #endif + } + +@@ -117,7 +117,7 @@ set_default_locale_vars () + # if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); + # else +- local_shiftstates = 0; ++ locale_shiftstates = 0; + # endif + + u32reset (); +@@ -226,7 +226,7 @@ set_locale_var (var, value) + # if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); + # else +- local_shiftstates = 0; ++ locale_shiftstates = 0; + # endif + u32reset (); + return r; +@@ -250,7 +250,7 @@ set_locale_var (var, value) + #if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); + #else +- local_shiftstates = 0; ++ locale_shiftstates = 0; + #endif + u32reset (); + } +@@ -391,7 +391,7 @@ reset_locale_vars () + # if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); + # else +- local_shiftstates = 0; ++ locale_shiftstates = 0; + # endif + u32reset (); + #endif +-- +2.30.1 + diff --git a/package/bash/0003-bash50-003.patch b/package/bash/0003-bash50-003.patch deleted file mode 100644 index 12edb16a2a4..00000000000 --- a/package/bash/0003-bash50-003.patch +++ /dev/null @@ -1,243 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-003 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-003 - -Bug-Reported-by: Andrew Church -Bug-Reference-ID: <5c534aa2.04371@msgid.achurch.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html - -Bug-Description: - -There are several incompatibilities in how bash-5.0 processes pathname -expansion (globbing) of filename arguments that have backslashes in the -directory portion. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/lib/glob/glob_loop.c 2019-01-16 16:13:21.000000000 -0500 ---- b/lib/glob/glob_loop.c 2019-02-01 09:45:11.000000000 -0500 -*************** -*** 27,34 **** - register const GCHAR *p; - register GCHAR c; -! int bopen; - - p = pattern; -! bopen = 0; - - while ((c = *p++) != L('\0')) ---- 27,34 ---- - register const GCHAR *p; - register GCHAR c; -! int bopen, bsquote; - - p = pattern; -! bopen = bsquote = 0; - - while ((c = *p++) != L('\0')) -*************** -*** 56,66 **** - case L('\\'): - /* Don't let the pattern end in a backslash (GMATCH returns no match -! if the pattern ends in a backslash anyway), but otherwise return 1, -! since the matching engine uses backslash as an escape character -! and it can be removed. */ -! return (*p != L('\0')); - } - -! return 0; - } - ---- 56,75 ---- - case L('\\'): - /* Don't let the pattern end in a backslash (GMATCH returns no match -! if the pattern ends in a backslash anyway), but otherwise note that -! we have seen this, since the matching engine uses backslash as an -! escape character and it can be removed. We return 2 later if we -! have seen only backslash-escaped characters, so interested callers -! know they can shortcut and just dequote the pathname. */ -! if (*p != L('\0')) -! { -! p++; -! bsquote = 1; -! continue; -! } -! else /* (*p == L('\0')) */ -! return 0; - } - -! return bsquote ? 2 : 0; - } - -*** ../bash-5.0-patched/lib/glob/glob.h 2013-10-28 14:46:12.000000000 -0400 ---- b/lib/glob/glob.h 2019-03-07 11:06:47.000000000 -0500 -*************** -*** 31,34 **** ---- 31,35 ---- - #define GX_ADDCURDIR 0x200 /* internal -- add passed directory name */ - #define GX_GLOBSTAR 0x400 /* turn on special handling of ** */ -+ #define GX_RECURSE 0x800 /* internal -- glob_filename called recursively */ - - extern int glob_pattern_p __P((const char *)); -*** ../bash-5.0-patched/lib/glob/glob.c 2018-09-20 10:53:23.000000000 -0400 ---- b/lib/glob/glob.c 2019-03-07 14:23:43.000000000 -0500 -*************** -*** 1062,1066 **** - unsigned int directory_len; - int free_dirname; /* flag */ -! int dflags; - - result = (char **) malloc (sizeof (char *)); ---- 1078,1082 ---- - unsigned int directory_len; - int free_dirname; /* flag */ -! int dflags, hasglob; - - result = (char **) malloc (sizeof (char *)); -*************** -*** 1111,1117 **** - } - - /* If directory_name contains globbing characters, then we -! have to expand the previous levels. Just recurse. */ -! if (directory_len > 0 && glob_pattern_p (directory_name)) - { - char **directories, *d, *p; ---- 1127,1136 ---- - } - -+ hasglob = 0; - /* If directory_name contains globbing characters, then we -! have to expand the previous levels. Just recurse. -! If glob_pattern_p returns != [0,1] we have a pattern that has backslash -! quotes but no unquoted glob pattern characters. We dequote it below. */ -! if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1) - { - char **directories, *d, *p; -*************** -*** 1176,1180 **** - d[directory_len - 1] = '\0'; - -! directories = glob_filename (d, dflags); - - if (free_dirname) ---- 1195,1199 ---- - d[directory_len - 1] = '\0'; - -! directories = glob_filename (d, dflags|GX_RECURSE); - - if (free_dirname) -*************** -*** 1333,1336 **** ---- 1352,1369 ---- - return (NULL); - } -+ /* If we have a directory name with quoted characters, and we are -+ being called recursively to glob the directory portion of a pathname, -+ we need to dequote the directory name before returning it so the -+ caller can read the directory */ -+ if (directory_len > 0 && hasglob == 2 && (flags & GX_RECURSE) != 0) -+ { -+ dequote_pathname (directory_name); -+ directory_len = strlen (directory_name); -+ } -+ -+ /* We could check whether or not the dequoted directory_name is a -+ directory and return it here, returning the original directory_name -+ if not, but we don't do that yet. I'm not sure it matters. */ -+ - /* Handle GX_MARKDIRS here. */ - result[0] = (char *) malloc (directory_len + 1); -*** ../bash-5.0-patched/pathexp.c 2018-04-29 17:44:48.000000000 -0400 ---- b/pathexp.c 2019-01-31 20:19:41.000000000 -0500 -*************** -*** 66,74 **** - register int c; - char *send; -! int open; - - DECLARE_MBSTATE; - -! open = 0; - send = string + strlen (string); - ---- 66,74 ---- - register int c; - char *send; -! int open, bsquote; - - DECLARE_MBSTATE; - -! open = bsquote = 0; - send = string + strlen (string); - -*************** -*** 101,105 **** - globbing. */ - case '\\': -! return (*string != 0); - - case CTLESC: ---- 101,112 ---- - globbing. */ - case '\\': -! if (*string != '\0' && *string != '/') -! { -! bsquote = 1; -! string++; -! continue; -! } -! else if (*string == 0) -! return (0); - - case CTLESC: -*************** -*** 118,122 **** - #endif - } -! return (0); - } - ---- 125,130 ---- - #endif - } -! -! return (bsquote ? 2 : 0); - } - -*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500 ---- b/bashline.c 2019-02-22 09:29:08.000000000 -0500 -*************** -*** 3753,3757 **** - - case '\\': -! if (*string == 0) - return (0); - } ---- 3766,3770 ---- - - case '\\': -! if (*string++ == 0) - return (0); - } -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0003-glob-fix-dequote_pathname-vs.-udequote_pathname.patch b/package/bash/0003-glob-fix-dequote_pathname-vs.-udequote_pathname.patch new file mode 100644 index 00000000000..a801f68236c --- /dev/null +++ b/package/bash/0003-glob-fix-dequote_pathname-vs.-udequote_pathname.patch @@ -0,0 +1,40 @@ +From a60ab1e5e88863acf9b0e9bcaa7919bbf093da05 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 11 Mar 2021 20:55:52 +0100 +Subject: [PATCH] glob: fix dequote_pathname vs. udequote_pathname +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + glob.c:123:28: error: static declaration of ‘udequote_pathname’ follows non-static declaration + 123 | # define dequote_pathname udequote_pathname + | ^~~~~~~~~~~~~~~~~ + glob.c:125:13: note: in expansion of macro ‘dequote_pathname’ + 125 | static void dequote_pathname PARAMS((char *)); + | ^~~~~~~~~~~~~~~~ + glob.c:118:6: note: previous declaration of ‘udequote_pathname’ was here + 118 | void udequote_pathname PARAMS((char *)); + | ^~~~~~~~~~~~~~~~~ + +Signed-off-by: Peter Seiderer +--- + lib/glob/glob.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/lib/glob/glob.c b/lib/glob/glob.c +index eb6277f..c903b15 100644 +--- a/lib/glob/glob.c ++++ b/lib/glob/glob.c +@@ -117,6 +117,5 @@ static int mbskipname PARAMS((char *, char *, int)); + #else + # define dequote_pathname udequote_pathname + #endif +-static void dequote_pathname PARAMS((char *)); + static int glob_testdir PARAMS((char *, int)); + static char **glob_dir_to_array PARAMS((char *, char **, int)); + +-- +2.30.1 + diff --git a/package/bash/0004-bash50-004.patch b/package/bash/0004-bash50-004.patch deleted file mode 100644 index b27358609ba..00000000000 --- a/package/bash/0004-bash50-004.patch +++ /dev/null @@ -1,57 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-004 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-004 - -Bug-Reported-by: Daniel Kahn Gillmor -Bug-Reference-ID: <87lg0g8aiw.fsf@fifthhorseman.net> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html - -Bug-Description: - -In bash-5.0, the `wait' builtin without arguments waits for all children of the -shell. This includes children it `inherited' at shell invocation time. This -patch modifies the behavior to not wait for these inherited children, some -of which might be long-lived. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500 ---- b/jobs.c 2019-04-12 15:15:10.000000000 -0400 -*************** -*** 2489,2496 **** - wait_procsubs (); - reap_procsubs (); -! #if 1 - /* We don't want to wait indefinitely if we have stopped children. */ -- /* XXX - should add a loop that goes through the list of process -- substitutions and waits for each proc in turn before this code. */ - if (any_stopped == 0) - { ---- 2490,2495 ---- - wait_procsubs (); - reap_procsubs (); -! #if 0 - /* We don't want to wait indefinitely if we have stopped children. */ - if (any_stopped == 0) - { -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0005-bash50-005.patch b/package/bash/0005-bash50-005.patch deleted file mode 100644 index df1772f9baa..00000000000 --- a/package/bash/0005-bash50-005.patch +++ /dev/null @@ -1,114 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-005 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-005 - -Bug-Reported-by: Brad Spencer -Bug-Reference-ID: <1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html - -Bug-Description: - -In certain cases, bash optimizes out a fork() call too early and prevents -traps from running. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/command.h 2018-07-20 21:16:31.000000000 -0400 ---- b/command.h 2019-02-20 11:09:36.000000000 -0500 -*************** -*** 187,190 **** ---- 188,192 ---- - #define CMD_LASTPIPE 0x2000 - #define CMD_STDPATH 0x4000 /* use standard path for command lookup */ -+ #define CMD_TRY_OPTIMIZING 0x8000 /* try to optimize this simple command */ - - /* What a command looks like. */ -*** ../bash-5.0-patched/builtins/evalstring.c 2018-12-26 11:19:21.000000000 -0500 ---- b/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500 -*************** -*** 101,104 **** ---- 101,113 ---- - } - -+ int -+ can_optimize_connection (command) -+ COMMAND *command; -+ { -+ return (*bash_input.location.string == '\0' && -+ (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && -+ command->value.Connection->second->type == cm_simple); -+ } -+ - void - optimize_fork (command) -*************** -*** 106,110 **** - { - if (command->type == cm_connection && -! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) && - should_suppress_fork (command->value.Connection->second)) - { ---- 115,120 ---- - { - if (command->type == cm_connection && -! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && -! (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) && - should_suppress_fork (command->value.Connection->second)) - { -*************** -*** 413,418 **** - command->value.Simple->flags |= CMD_NO_FORK; - } -! else if (command->type == cm_connection) -! optimize_fork (command); - #endif /* ONESHOT */ - ---- 423,438 ---- - command->value.Simple->flags |= CMD_NO_FORK; - } -! -! /* Can't optimize forks out here execept for simple commands. -! This knows that the parser sets up commands as left-side heavy -! (&& and || are left-associative) and after the single parse, -! if we are at the end of the command string, the last in a -! series of connection commands is -! command->value.Connection->second. */ -! else if (command->type == cm_connection && can_optimize_connection (command)) -! { -! command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING; -! command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING; -! } - #endif /* ONESHOT */ - -*** ../bash-5.0-patched/execute_cmd.c 2018-12-05 09:05:14.000000000 -0500 ---- b/execute_cmd.c 2019-01-25 15:59:00.000000000 -0500 -*************** -*** 2768,2771 **** ---- 2768,2773 ---- - (exec_result != EXECUTION_SUCCESS))) - { -+ optimize_fork (command); -+ - second = command->value.Connection->second; - if (ignore_return && second) -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0006-bash50-006.patch b/package/bash/0006-bash50-006.patch deleted file mode 100644 index e447989d05b..00000000000 --- a/package/bash/0006-bash50-006.patch +++ /dev/null @@ -1,51 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-006 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-006 - -Bug-Reported-by: Tomas Mozes -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html - -Bug-Description: - -Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without -also defining SYSLOG_SHOPT. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/builtins/shopt.def 2018-10-05 14:49:02.000000000 -0400 ---- b/builtins/shopt.def 2019-01-23 09:55:22.000000000 -0500 -*************** -*** 123,127 **** - #endif - -! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT) - extern int syslog_history; - #endif ---- 123,127 ---- - #endif - -! #if defined (SYSLOG_HISTORY) - extern int syslog_history; - #endif -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0007-bash50-007.patch b/package/bash/0007-bash50-007.patch deleted file mode 100644 index 164dfcc9e0b..00000000000 --- a/package/bash/0007-bash50-007.patch +++ /dev/null @@ -1,66 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-007 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-007 - -Bug-Reported-by: Grisha Levit -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html - -Bug-Description: - -Running `exec' when job control was disabled, even temporarily, but after it -had been initialized, could leave the terminal in the wrong process group for -the executed process. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500 ---- b/jobs.c 2019-04-12 15:15:10.000000000 -0400 -*************** -*** 4838,4850 **** - { - if (job_control) -! { -! terminate_stopped_jobs (); - -! if (original_pgrp >= 0) -! give_terminal_to (original_pgrp, 1); -! } - -! if (original_pgrp >= 0) -! setpgid (0, original_pgrp); - } - ---- 4838,4848 ---- - { - if (job_control) -! terminate_stopped_jobs (); - -! if (original_pgrp >= 0 && terminal_pgrp != original_pgrp) -! give_terminal_to (original_pgrp, 1); - -! if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0) -! shell_pgrp = original_pgrp; - } - -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0008-bash50-008.patch b/package/bash/0008-bash50-008.patch deleted file mode 100644 index b571c92336f..00000000000 --- a/package/bash/0008-bash50-008.patch +++ /dev/null @@ -1,72 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-008 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-008 - -Bug-Reported-by: Michael Albinus -Bug-Reference-ID: <87bm36k3kz.fsf@gmx.de> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html - -Bug-Description: - -When HISTSIZE is set to 0, history expansion can leave the history length -set to an incorrect value, leading to subsequent attempts to access invalid -memory. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/bashhist.c 2018-07-05 22:41:14.000000000 -0400 ---- b/bashhist.c 2019-02-20 16:20:04.000000000 -0500 -*************** -*** 561,573 **** - if (!history_expansion_inhibited && history_expansion && history_expansion_p (line)) - { - /* If we are expanding the second or later line of a multi-line - command, decrease history_length so references to history expansions - in these lines refer to the previous history entry and not the - current command. */ - if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) - history_length--; - expanded = history_expand (line, &history_value); - if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) -! history_length++; - - if (expanded) ---- 561,576 ---- - if (!history_expansion_inhibited && history_expansion && history_expansion_p (line)) - { -+ int old_len; -+ - /* If we are expanding the second or later line of a multi-line - command, decrease history_length so references to history expansions - in these lines refer to the previous history entry and not the - current command. */ -+ old_len = history_length; - if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) - history_length--; - expanded = history_expand (line, &history_value); - if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) -! history_length = old_len; - - if (expanded) - -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0009-bash50-009.patch b/package/bash/0009-bash50-009.patch deleted file mode 100644 index c53f464ae09..00000000000 --- a/package/bash/0009-bash50-009.patch +++ /dev/null @@ -1,46 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-009 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-009 - -Bug-Reported-by: chet.ramey@case.edu -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -The history file reading code doesn't close the file descriptor open to -the history file when it encounters a zero-length file. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400 ---- b/lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400 -*************** -*** 306,309 **** ---- 312,316 ---- - { - free (input); -+ close (file); - return 0; /* don't waste time if we don't have to */ - } -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0010-bash50-010.patch b/package/bash/0010-bash50-010.patch deleted file mode 100644 index ebc06a6672b..00000000000 --- a/package/bash/0010-bash50-010.patch +++ /dev/null @@ -1,176 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-010 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-010 - -Bug-Reported-by: Thorsten Glaser -Bug-Reference-ID: <156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de> -Bug-Reference-URL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115 - -Bug-Description: - -Bash-5.0 changed the way assignment statements preceding special builtins -and shell functions were handled in posix mode. They automatically created -or modified global variables instead of modifying existing local variables -as in bash-4.4. - -The bash-4.4 posix-mode semantics were buggy, and resulted in creating -local variables where they were not intended and modifying global variables -and local variables simultaneously. - -The bash-5.0 changes were intended to fix this issue, but did not preserve -enough backwards compatibility. The posix standard also changed what it -required in these cases, so bash-5.0 is not bound by the strict conformance -requirements that existed in previous issues of the standard. - -This patch modifies the bash-5.0 posix mode behavior in an effort to restore -some backwards compatibility and rationalize the behavior in the presence of -local variables. It - -1. Changes the assignment semantics to be more similar to standalone assignment - statements: assignments preceding a function call or special builtin while - executing in a shell function will modify the value of a local variable - with the same name for the duration of the function's execution; - -2. Changes assignments preceding shell function calls or special builtins - from within a shell function to no longer create or modify global variables - in the presence of a local variable with the same name; - -3. Assignment statements preceding a shell function call or special builtin - at the global scope continue to modify the (global) calling environment, - but are unaffected by assignments preceding function calls or special - builtins within a function, as described in item 2. This is also similar - to the behavior of a standalone assignment statement. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/variables.c 2018-12-18 11:07:21.000000000 -0500 ---- b/variables.c 2019-08-22 10:53:44.000000000 -0400 -*************** -*** 4461,4467 **** - - /* Take a variable from an assignment statement preceding a posix special -! builtin (including `return') and create a global variable from it. This -! is called from merge_temporary_env, which is only called when in posix -! mode. */ - static void - push_posix_temp_var (data) ---- 4461,4467 ---- - - /* Take a variable from an assignment statement preceding a posix special -! builtin (including `return') and create a variable from it as if a -! standalone assignment statement had been performed. This is called from -! merge_temporary_env, which is only called when in posix mode. */ - static void - push_posix_temp_var (data) -*************** -*** 4473,4486 **** - var = (SHELL_VAR *)data; - -! binding_table = global_variables->table; -! if (binding_table == 0) -! binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS); -! -! v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP); - - /* global variables are no longer temporary and don't need propagating. */ -! var->attributes &= ~(att_tempvar|att_propagate); - if (v) -! v->attributes |= var->attributes; - - if (find_special_var (var->name) >= 0) ---- 4473,4497 ---- - var = (SHELL_VAR *)data; - -! /* Just like do_assignment_internal(). This makes assignments preceding -! special builtins act like standalone assignment statements when in -! posix mode, satisfying the posix requirement that this affect the -! "current execution environment." */ -! v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP); -! -! /* If this modifies an existing local variable, v->context will be non-zero. -! If it comes back with v->context == 0, we bound at the global context. -! Set binding_table appropriately. It doesn't matter whether it's correct -! if the variable is local, only that it's not global_variables->table */ -! binding_table = v->context ? shell_variables->table : global_variables->table; - - /* global variables are no longer temporary and don't need propagating. */ -! if (binding_table == global_variables->table) -! var->attributes &= ~(att_tempvar|att_propagate); -! - if (v) -! { -! v->attributes |= var->attributes; -! v->attributes &= ~att_tempvar; /* not a temp var now */ -! } - - if (find_special_var (var->name) >= 0) -*************** -*** 4576,4587 **** - { - int i; - - tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1); - tempvar_list[tvlist_ind = 0] = 0; -! -! hash_flush (temporary_env, pushf); -! hash_dispose (temporary_env); - temporary_env = (HASH_TABLE *)NULL; - - tempvar_list[tvlist_ind] = 0; - ---- 4587,4601 ---- - { - int i; -+ HASH_TABLE *disposer; - - tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1); - tempvar_list[tvlist_ind = 0] = 0; -! -! disposer = temporary_env; - temporary_env = (HASH_TABLE *)NULL; - -+ hash_flush (disposer, pushf); -+ hash_dispose (disposer); -+ - tempvar_list[tvlist_ind] = 0; - -*** ../bash-5.0-patched/tests/varenv.right 2018-12-17 15:39:48.000000000 -0500 ---- b/tests/varenv.right 2019-08-22 16:05:25.000000000 -0400 -*************** -*** 147,153 **** - outside: declare -- var="one" - inside: declare -x var="value" -! outside: declare -x var="value" -! inside: declare -- var="local" -! outside: declare -x var="global" - foo= environment foo= - foo=foo environment foo=foo ---- 147,153 ---- - outside: declare -- var="one" - inside: declare -x var="value" -! outside: declare -- var="outside" -! inside: declare -x var="global" -! outside: declare -- var="outside" - foo= environment foo= - foo=foo environment foo=foo -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0011-bash50-011.patch b/package/bash/0011-bash50-011.patch deleted file mode 100644 index 555d0f8f8bd..00000000000 --- a/package/bash/0011-bash50-011.patch +++ /dev/null @@ -1,63 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-011 - -Signed-off-by: Pascal de Bruijn - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-011 - -Bug-Reported-by: Matt Whitlock -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/support/?109671 - -Bug-Description: - -The conditional command did not perform appropriate quoted null character -removal on its arguments, causing syntax errors and attempts to stat -invalid pathnames. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/subst.c 2018-12-22 17:43:37.000000000 -0500 ---- b/subst.c 2019-04-14 13:25:41.000000000 -0400 -*************** -*** 3626,3630 **** - SPECIAL is 2, this is an rhs argument for the =~ operator, and should - be quoted appropriately for regcomp/regexec. The caller is responsible -! for removing the backslashes if the unquoted word is needed later. */ - char * - cond_expand_word (w, special) ---- 3642,3648 ---- - SPECIAL is 2, this is an rhs argument for the =~ operator, and should - be quoted appropriately for regcomp/regexec. The caller is responsible -! for removing the backslashes if the unquoted word is needed later. In -! any case, since we don't perform word splitting, we need to do quoted -! null character removal. */ - char * - cond_expand_word (w, special) -*************** -*** 3647,3650 **** ---- 3665,3670 ---- - if (special == 0) /* LHS */ - { -+ if (l->word) -+ word_list_remove_quoted_nulls (l); - dequote_list (l); - r = string_list (l); -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0012-bash50-012.patch b/package/bash/0012-bash50-012.patch deleted file mode 100644 index d634932ee19..00000000000 --- a/package/bash/0012-bash50-012.patch +++ /dev/null @@ -1,68 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-012 - -Signed-off-by: Fabrice Fontaine - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-012 - -Bug-Reported-by: lessbug@qq.com -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -When using previous-history to go back beyond the beginning of the history list, -it's possible to move to an incorrect partial line. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/lib/readline/misc.c 2017-07-07 17:30:12.000000000 -0400 ---- b/lib/readline/misc.c 2019-05-16 11:43:46.000000000 -0400 -*************** -*** 577,580 **** ---- 590,594 ---- - { - HIST_ENTRY *old_temp, *temp; -+ int had_saved_line; - - if (count < 0) -*************** -*** 589,592 **** ---- 603,607 ---- - - /* If we don't have a line saved, then save this one. */ -+ had_saved_line = _rl_saved_line_for_history != 0; - rl_maybe_save_line (); - -*************** -*** 612,616 **** - if (temp == 0) - { -! rl_maybe_unsave_line (); - rl_ding (); - } ---- 627,632 ---- - if (temp == 0) - { -! if (had_saved_line == 0) -! _rl_free_saved_history_line (); - rl_ding (); - } -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0013-bash50-013.patch b/package/bash/0013-bash50-013.patch deleted file mode 100644 index 1c99f5c8c03..00000000000 --- a/package/bash/0013-bash50-013.patch +++ /dev/null @@ -1,77 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-013 - -Signed-off-by: Fabrice Fontaine - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-013 - -Bug-Reported-by: HIROSE Masaaki -Bug-Reference-ID: -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html - -Bug-Description: - -Reading history entries with timestamps can result in history entries joined -by linefeeds. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400 ---- b/lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400 -*************** -*** 370,376 **** - - has_timestamps = HIST_TIMESTAMP_START (buffer); -! history_multiline_entries += has_timestamps && history_write_timestamps; - - /* Skip lines until we are at FROM. */ - for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++) - if (*line_end == '\n') ---- 370,378 ---- - - has_timestamps = HIST_TIMESTAMP_START (buffer); -! history_multiline_entries += has_timestamps && history_write_timestamps; - - /* Skip lines until we are at FROM. */ -+ if (has_timestamps) -+ last_ts = buffer; - for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++) - if (*line_end == '\n') -*************** -*** 381,385 **** ---- 383,398 ---- - if (HIST_TIMESTAMP_START(p) == 0) - current_line++; -+ else -+ last_ts = p; - line_start = p; -+ /* If we are at the last line (current_line == from) but we have -+ timestamps (has_timestamps), then line_start points to the -+ text of the last command, and we need to skip to its end. */ -+ if (current_line >= from && has_timestamps) -+ { -+ for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++) -+ ; -+ line_start = (*line_end == '\n') ? line_end + 1 : line_end; -+ } - } - - -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0014-bash50-014.patch b/package/bash/0014-bash50-014.patch deleted file mode 100644 index 2aadbda880f..00000000000 --- a/package/bash/0014-bash50-014.patch +++ /dev/null @@ -1,56 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-014 - -Signed-off-by: Fabrice Fontaine - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-014 - -Bug-Reported-by: Johannes Hielscher -Bug-Reference-ID: <20190208205048.77c25a83@hordevm> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html - -Bug-Description: - -If the current line is empty, using the emacs C-xC-e binding to enter the -editor will edit the previous command instead of the current (empty) one. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500 ---- b/bashline.c 2019-02-11 11:18:57.000000000 -0500 -*************** -*** 962,970 **** - finished with the command, so we should not ignore the last command */ - using_history (); -! if (rl_line_buffer[0]) -! { -! current_command_line_count++; /* for rl_newline above */ -! bash_add_history (rl_line_buffer); -! } - current_command_line_count = 0; /* for dummy history entry */ - bash_add_history (""); ---- 965,970 ---- - finished with the command, so we should not ignore the last command */ - using_history (); -! current_command_line_count++; /* for rl_newline above */ -! bash_add_history (rl_line_buffer); - current_command_line_count = 0; /* for dummy history entry */ - bash_add_history (""); -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0015-bash50-015.patch b/package/bash/0015-bash50-015.patch deleted file mode 100644 index d927f41af88..00000000000 --- a/package/bash/0015-bash50-015.patch +++ /dev/null @@ -1,82 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-015 - -Signed-off-by: Fabrice Fontaine - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-015 - -Bug-Reported-by: Yu Kou -Bug-Reference-ID: -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html - -Bug-Description: - -If alias expansion is enabled when processing the command argument to the -`-c' option, an alias is defined in that command, and the command ends with -the invocation of that alias, the shell's command parser can prematurely -terminate before the entire command is executed. - -Patch (apply with `patch -p0'): - -*** ../bash-20190426/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500 ---- b/builtins/evalstring.c 2019-05-15 14:19:36.000000000 -0400 -*************** -*** 92,95 **** ---- 92,96 ---- - running_trap == 0 && - *bash_input.location.string == '\0' && -+ parser_expanding_alias () == 0 && - command->type == cm_simple && - signal_is_trapped (EXIT_TRAP) == 0 && -*************** -*** 106,109 **** ---- 107,111 ---- - { - return (*bash_input.location.string == '\0' && -+ parser_expanding_alias () == 0 && - (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && - command->value.Connection->second->type == cm_simple); -*************** -*** 291,295 **** - with_input_from_string (string, from_file); - clear_shell_input_line (); -! while (*(bash_input.location.string)) - { - command = (COMMAND *)NULL; ---- 293,297 ---- - with_input_from_string (string, from_file); - clear_shell_input_line (); -! while (*(bash_input.location.string) || parser_expanding_alias ()) - { - command = (COMMAND *)NULL; -*************** -*** 546,550 **** - - with_input_from_string (string, from_file); -! while (*(bash_input.location.string)) - { - command = (COMMAND *)NULL; ---- 548,552 ---- - - with_input_from_string (string, from_file); -! while (*(bash_input.location.string)) /* XXX - parser_expanding_alias () ? */ - { - command = (COMMAND *)NULL; -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0016-bash50-016.patch b/package/bash/0016-bash50-016.patch deleted file mode 100644 index 8dec1fb34cd..00000000000 --- a/package/bash/0016-bash50-016.patch +++ /dev/null @@ -1,62 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-016 - -Signed-off-by: Fabrice Fontaine - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-016 - -Bug-Reported-by: sunnycemetery@gmail.com -Bug-Reference-ID: <20190316041534.GB22884@midnight> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html - -Bug-Description: - -Bash waits too long to reap /dev/fd process substitutions used as redirections -with loops and group commands, which can lead to file descriptor exhaustion. - -Patch (apply with `patch -p0'): - -*** ../bash-5.0-patched/execute_cmd.c 2019-04-19 15:46:36.000000000 -0400 ---- b/execute_cmd.c 2019-07-01 16:45:49.000000000 -0400 -*************** -*** 1104,1107 **** ---- 1085,1104 ---- - discard_unwind_frame ("internal_fifos"); - } -+ # if defined (HAVE_DEV_FD) -+ /* Reap process substitutions at the end of loops */ -+ switch (command->type) -+ { -+ case cm_while: -+ case cm_until: -+ case cm_for: -+ case cm_group: -+ # if defined (ARITH_FOR_COMMAND) -+ case cm_arith_for: -+ # endif -+ reap_procsubs (); -+ default: -+ break; -+ } -+ # endif /* HAVE_DEV_FD */ - #endif - - -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 16 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0017-bash50-017.patch b/package/bash/0017-bash50-017.patch deleted file mode 100644 index 6758b203f86..00000000000 --- a/package/bash/0017-bash50-017.patch +++ /dev/null @@ -1,293 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash55-017 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-017 - -Bug-Reported-by: Valentin Lab -Bug-Reference-ID: -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html - -Bug-Description: - -There were cases where patch 16 reaped process substitution file descriptors -(or FIFOs) and processes to early. This is a better fix for the problem that -bash50-016 attempted to solve. - -Patch (apply with `patch -p0'): - -*** bash-5.0-patched/subst.c 2019-08-29 11:16:49.000000000 -0400 ---- b/subst.c 2020-04-02 16:24:19.000000000 -0400 -*************** -*** 5337,5341 **** - } - -! char * - copy_fifo_list (sizep) - int *sizep; ---- b/5337,5341 ---- - } - -! void * - copy_fifo_list (sizep) - int *sizep; -*************** -*** 5343,5347 **** - if (sizep) - *sizep = 0; -! return (char *)NULL; - } - ---- b/5343,5347 ---- - if (sizep) - *sizep = 0; -! return (void *)NULL; - } - -*************** -*** 5409,5414 **** - if (fifo_list[i].file) - { -! fifo_list[j].file = fifo_list[i].file; -! fifo_list[j].proc = fifo_list[i].proc; - j++; - } ---- b/5409,5419 ---- - if (fifo_list[i].file) - { -! if (i != j) -! { -! fifo_list[j].file = fifo_list[i].file; -! fifo_list[j].proc = fifo_list[i].proc; -! fifo_list[i].file = (char *)NULL; -! fifo_list[i].proc = 0; -! } - j++; - } -*************** -*** 5426,5433 **** - void - close_new_fifos (list, lsize) -! char *list; - int lsize; - { - int i; - - if (list == 0) ---- b/5431,5439 ---- - void - close_new_fifos (list, lsize) -! void *list; - int lsize; - { - int i; -+ char *plist; - - if (list == 0) -*************** -*** 5437,5442 **** - } - -! for (i = 0; i < lsize; i++) -! if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1) - unlink_fifo (i); - ---- b/5443,5448 ---- - } - -! for (plist = (char *)list, i = 0; i < lsize; i++) -! if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1) - unlink_fifo (i); - -*************** -*** 5560,5568 **** - } - -! char * - copy_fifo_list (sizep) - int *sizep; - { -! char *ret; - - if (nfds == 0 || totfds == 0) ---- b/5566,5574 ---- - } - -! void * - copy_fifo_list (sizep) - int *sizep; - { -! void *ret; - - if (nfds == 0 || totfds == 0) -*************** -*** 5570,5579 **** - if (sizep) - *sizep = 0; -! return (char *)NULL; - } - - if (sizep) - *sizep = totfds; -! ret = (char *)xmalloc (totfds * sizeof (pid_t)); - return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t))); - } ---- b/5576,5585 ---- - if (sizep) - *sizep = 0; -! return (void *)NULL; - } - - if (sizep) - *sizep = totfds; -! ret = xmalloc (totfds * sizeof (pid_t)); - return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t))); - } -*************** -*** 5648,5655 **** - void - close_new_fifos (list, lsize) -! char *list; - int lsize; - { - int i; - - if (list == 0) ---- b/5654,5662 ---- - void - close_new_fifos (list, lsize) -! void *list; - int lsize; - { - int i; -+ pid_t *plist; - - if (list == 0) -*************** -*** 5659,5664 **** - } - -! for (i = 0; i < lsize; i++) -! if (list[i] == 0 && i < totfds && dev_fd_list[i]) - unlink_fifo (i); - ---- b/5666,5671 ---- - } - -! for (plist = (pid_t *)list, i = 0; i < lsize; i++) -! if (plist[i] == 0 && i < totfds && dev_fd_list[i]) - unlink_fifo (i); - -*** bash-5.0-patched/subst.h 2018-10-21 18:46:09.000000000 -0400 ---- b/subst.h 2020-04-02 16:29:28.000000000 -0400 -*************** -*** 274,280 **** - extern void unlink_fifo __P((int)); - -! extern char *copy_fifo_list __P((int *)); -! extern void unlink_new_fifos __P((char *, int)); -! extern void close_new_fifos __P((char *, int)); - - extern void clear_fifo_list __P((void)); ---- b/274,279 ---- - extern void unlink_fifo __P((int)); - -! extern void *copy_fifo_list __P((int *)); -! extern void close_new_fifos __P((void *, int)); - - extern void clear_fifo_list __P((void)); -*** bash-5.0-patched/execute_cmd.c 2020-02-06 20:16:48.000000000 -0500 ---- b/execute_cmd.c 2020-04-02 17:00:10.000000000 -0400 -*************** -*** 565,569 **** - #if defined (PROCESS_SUBSTITUTION) - volatile int ofifo, nfifo, osize, saved_fifo; -! volatile char *ofifo_list; - #endif - ---- b/565,569 ---- - #if defined (PROCESS_SUBSTITUTION) - volatile int ofifo, nfifo, osize, saved_fifo; -! volatile void *ofifo_list; - #endif - -*************** -*** 751,760 **** - # endif - -! if (variable_context != 0) /* XXX - also if sourcelevel != 0? */ - { - ofifo = num_fifos (); - ofifo_list = copy_fifo_list ((int *)&osize); - begin_unwind_frame ("internal_fifos"); -! add_unwind_protect (xfree, ofifo_list); - saved_fifo = 1; - } ---- b/751,762 ---- - # endif - -! /* XXX - also if sourcelevel != 0? */ -! if (variable_context != 0) - { - ofifo = num_fifos (); - ofifo_list = copy_fifo_list ((int *)&osize); - begin_unwind_frame ("internal_fifos"); -! if (ofifo_list) -! add_unwind_protect (xfree, ofifo_list); - saved_fifo = 1; - } -*************** -*** 1100,1123 **** - nfifo = num_fifos (); - if (nfifo > ofifo) -! close_new_fifos ((char *)ofifo_list, osize); - free ((void *)ofifo_list); - discard_unwind_frame ("internal_fifos"); - } -- # if defined (HAVE_DEV_FD) -- /* Reap process substitutions at the end of loops */ -- switch (command->type) -- { -- case cm_while: -- case cm_until: -- case cm_for: -- case cm_group: -- # if defined (ARITH_FOR_COMMAND) -- case cm_arith_for: -- # endif -- reap_procsubs (); -- default: -- break; -- } -- # endif /* HAVE_DEV_FD */ - #endif - ---- b/1102,1109 ---- - nfifo = num_fifos (); - if (nfifo > ofifo) -! close_new_fifos ((void *)ofifo_list, osize); - free ((void *)ofifo_list); - discard_unwind_frame ("internal_fifos"); - } - #endif - - -*** bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 16 - - #endif /* _PATCHLEVEL_H_ */ ---- b/26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 17 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0018-bash50-018.patch b/package/bash/0018-bash50-018.patch deleted file mode 100644 index efecb1897d2..00000000000 --- a/package/bash/0018-bash50-018.patch +++ /dev/null @@ -1,49 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash55-018 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 5.0 -Patch-ID: bash50-018 - -Bug-Reported-by: oguzismailuysal@gmail.com -Bug-Reference-ID: -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-10/msg00098.html - -Bug-Description: - -In certain cases, bash does not perform quoted null removal on patterns -that are used as part of word expansions such as ${parameter##pattern}, so -empty patterns are treated as non-empty. - -Patch (apply with `patch -p0'): - -*** bash-5.0.17/subst.c 2020-04-02 17:14:58.000000000 -0400 ---- b/subst.c 2020-07-09 15:28:19.000000000 -0400 -*************** -*** 5113,5116 **** ---- b/5113,5118 ---- - (int *)NULL, (int *)NULL) - : (WORD_LIST *)0; -+ if (l) -+ word_list_remove_quoted_nulls (l); - pat = string_list (l); - dispose_words (l); - -*** bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 ---- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 17 - - #endif /* _PATCHLEVEL_H_ */ ---- b/26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 18 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0020-locale.c-fix-build-without-wchar.patch b/package/bash/0020-locale.c-fix-build-without-wchar.patch deleted file mode 100644 index 15c5f2e4017..00000000000 --- a/package/bash/0020-locale.c-fix-build-without-wchar.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 73ca494c60d46103f806325e6ccbe9e400238008 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 23 Feb 2020 11:41:09 +0100 -Subject: [PATCH] locale.c: fix build without wchar - -bash unconditionally builds locale.c which depends on mblen since -version 5.0 and -https://github.com/bminor/bash/commit/d233b485e83c3a784b803fb894280773f16f2deb - -This results in the following build failure if wchar is not available: - -/home/buildroot/autobuild/run/instance-0/output-1/host/bin/microblazeel-buildroot-linux-uclibc-gcc -L./builtins -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L./lib/glob -L./lib/tilde -L./lib/sh -rdynamic -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wno-parentheses -Wno-format-security -o bash shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hashcmd.o hashlib.o mailcheck.o trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o alias.o array.o arrayfunc.o assoc.o braces.o bracecomp.o bashhist.o bashline.o list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o pcomplib.o syntax.o xmalloc.o signames.o -lbuiltins -lglob -lsh -lreadline -lhistory -lcurses -ltilde -ldl -/home/buildroot/autobuild/run/instance-0/output-1/host/lib/gcc/microblazeel-buildroot-linux-uclibc/8.3.0/../../../../microblazeel-buildroot-linux-uclibc/bin/ld: locale.o: in function `set_default_locale': -(.text+0x260): undefined reference to `mblen' - -To fix this issue, don't use mblen if HANDLE_MULTIBYTE is not defined, -an other possibility would be to use MBLEN wrapper defined in shmbutil.h - -Fixes: - - http://autobuild.buildroot.org/results/298fb9c785e137bff432dd304eb56986e54ce3ed - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://savannah.gnu.org/support/index.php?110200] ---- - locale.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/locale.c b/locale.c -index d62547f6..a64c5b4b 100644 ---- a/locale.c -+++ b/locale.c -@@ -86,7 +86,9 @@ set_default_locale () - - locale_mb_cur_max = MB_CUR_MAX; - locale_utf8locale = locale_isutf8 (default_locale); -+#if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); -+#endif - } - - /* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES, LC_NUMERIC and -@@ -107,7 +109,9 @@ set_default_locale_vars () - locale_setblanks (); - locale_mb_cur_max = MB_CUR_MAX; - locale_utf8locale = locale_isutf8 (lc_all); -+# if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); -+# endif - u32reset (); - } - # endif -@@ -211,7 +215,9 @@ set_locale_var (var, value) - /* if LC_ALL == "", reset_locale_vars has already called this */ - if (*lc_all && x) - locale_utf8locale = locale_isutf8 (lc_all); -+# if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); -+# endif - u32reset (); - return r; - #else -@@ -231,7 +237,9 @@ set_locale_var (var, value) - /* if setlocale() returns NULL, the locale is not changed */ - if (x) - locale_utf8locale = locale_isutf8 (x); -+# if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); -+# endif - u32reset (); - } - # endif -@@ -368,7 +376,9 @@ reset_locale_vars () - locale_mb_cur_max = MB_CUR_MAX; - if (x) - locale_utf8locale = locale_isutf8 (x); -+# if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); -+# endif - u32reset (); - #endif - return 1; --- -2.25.0 - diff --git a/package/bash/Config.in b/package/bash/Config.in index 5a9ebb8d02f..0212df6bfd4 100644 --- a/package/bash/Config.in +++ b/package/bash/Config.in @@ -9,3 +9,17 @@ config BR2_PACKAGE_BASH The standard GNU Bourne again shell. http://tiswww.case.edu/php/chet/bash/bashtop.html + +if BR2_PACKAGE_BASH + +config BR2_PACKAGE_BASH_LOADABLE_EXAMPLES + bool "loadable examples" + depends on !BR2_STATIC_LIBS + help + This option will enable the installation of the "loadable" + examples, which are dynamically loadable extension providing + additional built-ins commands to bash. There are typically + not needed as they are provided as regular, external + commands. + +endif diff --git a/package/bash/bash.hash b/package/bash/bash.hash index 9113b1653f1..4660e9d38a9 100644 --- a/package/bash/bash.hash +++ b/package/bash/bash.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# http://ftp.gnu.org/gnu/bash/bash-4.4.18.tar.gz.sig -sha256 b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d bash-5.0.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +# https://ftp.gnu.org/gnu/bash/bash-5.1.16.tar.gz.sig +sha256 5bac17218d3911834520dad13cd1f85ab944e1c09ae1aba55906be1f8192f558 bash-5.1.16.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bash/bash.mk b/package/bash/bash.mk index b4681c1085b..3aca22898e7 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,14 +4,19 @@ # ################################################################################ -BASH_VERSION = 5.0 +BASH_VERSION = 5.1.16 BASH_SITE = $(BR2_GNU_MIRROR)/bash BASH_DEPENDENCIES = ncurses readline host-bison -BASH_CONF_OPTS = --with-installed-readline --without-bash-malloc BASH_LICENSE = GPL-3.0+ BASH_LICENSE_FILES = COPYING BASH_CPE_ID_VENDOR = gnu +# We want the bash binary in /bin +BASH_CONF_OPTS = \ + --bindir=/bin \ + --with-installed-readline \ + --without-bash-malloc + BASH_CONF_ENV += \ ac_cv_rl_prefix="$(STAGING_DIR)" \ ac_cv_rl_version="$(READLINE_VERSION)" \ @@ -24,7 +29,6 @@ BASH_CONF_ENV += \ # The static build needs some trickery ifeq ($(BR2_STATIC_LIBS),y) BASH_CONF_OPTS += --enable-static-link -BASH_CONF_ENV += SHOBJ_STATUS=unsupported # bash wants to redefine the getenv() function. To check whether this is # possible, AC_TRY_RUN is used which is not possible in # cross-compilation. @@ -38,11 +42,23 @@ BASH_CONF_ENV += bash_cv_getenv_redef=yes endif endif -define BASH_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - DESTDIR=$(TARGET_DIR) exec_prefix=/ install +define BASH_REMOVE_UNUSED_FILES rm -f $(TARGET_DIR)/bin/bashbug endef +BASH_POST_INSTALL_TARGET_HOOKS += BASH_REMOVE_UNUSED_FILES + +ifeq ($(BR2_PACKAGE_BASH_LOADABLE_EXAMPLES),y) +define BASH_REMOVE_LOADABLE_UNUSED_FILES + rm -f $(TARGET_DIR)/usr/lib/bash/Makefile.inc + rm -f $(TARGET_DIR)/usr/lib/bash/loadables.h +endef +BASH_POST_INSTALL_TARGET_HOOKS += BASH_REMOVE_LOADABLE_UNUSED_FILES +else +define BASH_REMOVE_LOADABLE_EXAMPLES + rm -rf $(TARGET_DIR)/usr/lib/bash +endef +BASH_POST_INSTALL_TARGET_HOOKS += BASH_REMOVE_LOADABLE_EXAMPLES +endif # Add /bin/bash to /etc/shells otherwise some login tools like dropbear # can reject the user connection. See man shells. diff --git a/package/bat/Config.in b/package/bat/Config.in new file mode 100644 index 00000000000..515eaf591ac --- /dev/null +++ b/package/bat/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_BAT + bool "bat" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUSTC + # we need a full version of less + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_LESS + help + A cat(1) clone with syntax highlighting and Git integration. + + https://github.com/sharkdp/bat diff --git a/package/bat/bat.hash b/package/bat/bat.hash new file mode 100644 index 00000000000..f4d3e32c347 --- /dev/null +++ b/package/bat/bat.hash @@ -0,0 +1,4 @@ +# Locally generated +sha256 7940641baaa61cd3bcd1c3db4804d179609d6ccd955868928a129bf3f853e0b2 bat-0.19.0.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE-APACHE +sha256 64de710b6309a7db5e44ad0af382300c7fb6f6d116d8ae32f0164e05db033068 LICENSE-MIT diff --git a/package/bat/bat.mk b/package/bat/bat.mk new file mode 100644 index 00000000000..dc29a85429c --- /dev/null +++ b/package/bat/bat.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# bat +# +################################################################################ + +BAT_VERSION = 0.19.0 +BAT_SITE = $(call github,sharkdp,bat,v$(BAT_VERSION)) +BAT_LICENSE = Apache-2.0 or MIT +BAT_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT + +$(eval $(cargo-package)) diff --git a/package/batctl/batctl.hash b/package/batctl/batctl.hash index e8127aa26f8..56bea3c5da2 100644 --- a/package/batctl/batctl.hash +++ b/package/batctl/batctl.hash @@ -1,6 +1,6 @@ -# From https://downloads.open-mesh.org/batman/releases/batman-adv-2020.2/batctl-2020.2.tar.gz.sha1 -sha1 e347fb126e2a8f6d21516296325afc043062e3bd batctl-2020.2.tar.gz +# From https://downloads.open-mesh.org/batman/releases/batman-adv-2021.0/batctl-2021.0.tar.gz.sha1 +sha1 87d0bb34950cb70578a0ca5ce706513a8279a01c batctl-2021.0.tar.gz # Locally calculated -sha256 d29cdb53ee68abd5027eae07d9fd645b3f154e0d577efa2666c1334bb6d60efd batctl-2020.2.tar.gz +sha256 9cec8bf1952f885192749a9dc0318a54633b717aaf05c438d504efd83f5201e4 batctl-2021.0.tar.gz sha256 cecbf53d1148e13256ac29f8b900655b7fc8dc12d59939a95bc2323ea1747025 LICENSES/preferred/GPL-2.0 sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/preferred/MIT diff --git a/package/batctl/batctl.mk b/package/batctl/batctl.mk index 229c042aaf1..8ff591844de 100644 --- a/package/batctl/batctl.mk +++ b/package/batctl/batctl.mk @@ -4,7 +4,7 @@ # ################################################################################ -BATCTL_VERSION = 2020.2 +BATCTL_VERSION = 2021.0 BATCTL_SITE = http://downloads.open-mesh.org/batman/releases/batman-adv-$(BATCTL_VERSION) BATCTL_LICENSE = GPL-2.0, MIT (batman_adv.h, list.h) BATCTL_LICENSE_FILES = LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT diff --git a/package/batman-adv/Config.in b/package/batman-adv/Config.in index 9d3d7967b9f..eae94fd1308 100644 --- a/package/batman-adv/Config.in +++ b/package/batman-adv/Config.in @@ -6,6 +6,8 @@ config BR2_PACKAGE_BATMAN_ADV depends on BR2_LINUX_KERNEL help batman-adv mesh networking kernel module + Note: batman-adv is part of the linux mainline + kernel since version 2.6.38 https://www.open-mesh.org/projects/batman-adv/ diff --git a/package/batman-adv/batman-adv.hash b/package/batman-adv/batman-adv.hash index dabbec8120f..c0986637393 100644 --- a/package/batman-adv/batman-adv.hash +++ b/package/batman-adv/batman-adv.hash @@ -1,7 +1,7 @@ -# From https://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2019.3.tar.gz.{md5,sha1} -md5 39345688ddf12a542853b2318325f07b batman-adv-2019.3.tar.gz -sha1 202539c0cbf4604f6c8e9d427b338d4e807bd220 batman-adv-2019.3.tar.gz +# From https://downloads.open-mesh.org/batman/releases/batman-adv-2021.4/batman-adv-2021.4.tar.gz.sha1 +sha1 80a3e4d763b6bf35db6e561ed9d6775dc874d7c6 batman-adv-2021.4.tar.gz # Hash for license files -sha256 cecbf53d1148e13256ac29f8b900655b7fc8dc12d59939a95bc2323ea1747025 LICENSES/preferred/GPL-2.0 -sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/preferred/MIT +sha256 cff7a2f160045fd0dbf1f1cd7e35e93bf489e81cb8b9501b3756daa391f3eb1b batman-adv-2021.4.tar.gz +sha256 cecbf53d1148e13256ac29f8b900655b7fc8dc12d59939a95bc2323ea1747025 LICENSES/preferred/GPL-2.0 +sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/preferred/MIT diff --git a/package/batman-adv/batman-adv.mk b/package/batman-adv/batman-adv.mk index 3f48e620512..6a1aaa699ce 100644 --- a/package/batman-adv/batman-adv.mk +++ b/package/batman-adv/batman-adv.mk @@ -4,33 +4,40 @@ # ################################################################################ -BATMAN_ADV_VERSION = 2019.3 +BATMAN_ADV_VERSION = 2021.4 BATMAN_ADV_SITE = https://downloads.open-mesh.org/batman/stable/sources/batman-adv BATMAN_ADV_LICENSE = GPL-2.0, MIT (batman_adv.h) BATMAN_ADV_LICENSE_FILES = LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT -# Bridge Loop Avoidance, Distributed Arp Table are always enabled BATMAN_ADV_CFLAGS = \ -I$(@D)/compat-include/ \ -I$(@D)/include/ \ -include $(@D)/compat.h \ -DBATADV_SOURCE_VERSION=\"\\\"$(BATMAN_ADV_VERSION)\\\"\" + +# Bridge Loop Avoidance, Distributed Arp Table are always enabled BATMAN_ADV_MODULE_MAKE_OPTS = \ KVER=$(LINUX_VERSION_PROBED) \ INSTALL_MOD_DIR=updates/net/batman-adv \ NOSTDINC_FLAGS="$(BATMAN_ADV_CFLAGS)" \ CONFIG_BATMAN_ADV=m \ - CONFIG_BATMAN_ADV_BATMAN_V=$(BR2_PACKAGE_BATMAN_ADV_BATMAN_V) \ CONFIG_BATMAN_ADV_BLA=y \ CONFIG_BATMAN_ADV_DAT=y \ - CONFIG_BATMAN_ADV_DEBUG=$(BR2_PACKAGE_BATMAN_ADV_DEBUG) \ CONFIG_BATMAN_ADV_MCAST=y \ - CONFIG_BATMAN_ADV_NC=$(BR2_PACKAGE_BATMAN_ADV_NC) + CONFIG_BATMAN_ADV_BATMAN_V=$(if $(BR2_PACKAGE_BATMAN_ADV_BATMAN_V),y,n) \ + CONFIG_BATMAN_ADV_DEBUG=$(if $(BR2_PACKAGE_BATMAN_ADV_DEBUG),y,n) \ + CONFIG_BATMAN_ADV_NC=$(if $(BR2_PACKAGE_BATMAN_ADV_NC),y,n) + BATMAN_ADV_MODULE_SUBDIRS = net/batman-adv define BATMAN_ADV_CONFIGURE_CMDS $(BATMAN_ADV_MODULE_MAKE_OPTS) $(@D)/gen-compat-autoconf.sh $(@D)/compat-autoconf.h endef +define BATMAN_ADV_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_CRC16) + $(call KCONFIG_ENABLE_OPT,CONFIG_LIBCRC32C) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/bats-core/bats-core.hash b/package/bats-core/bats-core.hash index b50543a2690..369cc703d49 100644 --- a/package/bats-core/bats-core.hash +++ b/package/bats-core/bats-core.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 91c49b1fe6f0656c46491929ed728f8dfa9a96df0cce294963e8c6082bff87a2 bats-core-1.2.1.tar.gz +sha256 bff517da043ae24440ec8272039f396c2a7907076ac67693c0f18d4a17c08f7d bats-core-1.4.1.tar.gz # License files sha256 55074b2b3b87809105034e1468e59076554d76a80c67bcc592000cc3d929852d LICENSE.md diff --git a/package/bats-core/bats-core.mk b/package/bats-core/bats-core.mk index fc8ac674aec..181d4eb0331 100644 --- a/package/bats-core/bats-core.mk +++ b/package/bats-core/bats-core.mk @@ -4,7 +4,7 @@ # ################################################################################ -BATS_CORE_VERSION = 1.2.1 +BATS_CORE_VERSION = 1.4.1 BATS_CORE_SITE = $(call github,bats-core,bats-core,v$(BATS_CORE_VERSION)) BATS_CORE_LICENSE = MIT BATS_CORE_LICENSE_FILES = LICENSE.md diff --git a/package/bayer2rgb-neon/Config.in b/package/bayer2rgb-neon/Config.in index ed065c1ed71..b0e3017b9f7 100644 --- a/package/bayer2rgb-neon/Config.in +++ b/package/bayer2rgb-neon/Config.in @@ -1,6 +1,11 @@ +config BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS + bool + default y if BR2_arm && BR2_ARM_CPU_HAS_NEON + default y if BR2_aarch64 + config BR2_PACKAGE_BAYER2RGB_NEON bool "bayer2rgb-neon" - depends on BR2_arm && BR2_ARM_CPU_HAS_NEON + depends on BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 @@ -9,9 +14,9 @@ config BR2_PACKAGE_BAYER2RGB_NEON to decode raw camera bayer to RGB using NEON hardware acceleration. - https://git.phytec.de/bayer2rgb-neon/ + https://gitlab-ext.sigma-chemnitz.de/ensc/bayer2rgb comment "bayer2rgb-neon needs a toolchain w/ C++, dynamic library, gcc >= 4.9" - depends on BR2_arm && BR2_ARM_CPU_HAS_NEON + depends on BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/bayer2rgb-neon/bayer2rgb-neon.hash b/package/bayer2rgb-neon/bayer2rgb-neon.hash index b1e87d7a361..26a14fcb51f 100644 --- a/package/bayer2rgb-neon/bayer2rgb-neon.hash +++ b/package/bayer2rgb-neon/bayer2rgb-neon.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d2e3e97bb9da218f223c03b2f080c5da727224e6e4cb99979398971110dfae04 bayer2rgb-neon-bef3ecafe290d61a50fd27da3e5d0df6f4b88045-br1.tar.gz +sha256 edf451dbb52ad67eb35f9043390bd75ea7228d493c99184aae80b3bd27beab62 bayer2rgb-neon-15feb1115b4828488cc36d09f625e23e8b6a0ec5-br1.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bayer2rgb-neon/bayer2rgb-neon.mk b/package/bayer2rgb-neon/bayer2rgb-neon.mk index 34510e76165..212fe767666 100644 --- a/package/bayer2rgb-neon/bayer2rgb-neon.mk +++ b/package/bayer2rgb-neon/bayer2rgb-neon.mk @@ -4,7 +4,7 @@ # ################################################################################ -BAYER2RGB_NEON_VERSION = bef3ecafe290d61a50fd27da3e5d0df6f4b88045 +BAYER2RGB_NEON_VERSION = 15feb1115b4828488cc36d09f625e23e8b6a0ec5 BAYER2RGB_NEON_SITE = https://gitlab-ext.sigma-chemnitz.de/ensc/bayer2rgb.git BAYER2RGB_NEON_SITE_METHOD = git BAYER2RGB_NEON_LICENSE = GPL-3.0 @@ -13,6 +13,12 @@ BAYER2RGB_NEON_INSTALL_STAGING = YES BAYER2RGB_NEON_DEPENDENCIES = host-pkgconf host-gengetopt BAYER2RGB_NEON_AUTORECONF = YES -BAYER2RGB_NEON_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -mfpu=neon" +BAYER2RGB_NEON_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_arm),y) +BAYER2RGB_NEON_CFLAGS += -mfpu=neon +endif + +BAYER2RGB_NEON_CONF_ENV = CFLAGS="$(BAYER2RGB_NEON_CFLAGS)" $(eval $(autotools-package)) diff --git a/package/bcm2835/Config.in b/package/bcm2835/Config.in index 4c3eb2cbfc8..8c77a62a11a 100644 --- a/package/bcm2835/Config.in +++ b/package/bcm2835/Config.in @@ -16,4 +16,4 @@ config BR2_PACKAGE_BCM2835 the kernel drivers are doing, and potentially conflicting with them. - http://www.airspayce.com/mikem/bcm2835 + https://www.airspayce.com/mikem/bcm2835 diff --git a/package/bcm2835/bcm2835.hash b/package/bcm2835/bcm2835.hash index e366f190381..2cdc35fcee4 100644 --- a/package/bcm2835/bcm2835.hash +++ b/package/bcm2835/bcm2835.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 b7eda59fd7bc3cb97fdac14e8455e86ddad75006d69270358ac8d00108e369a9 bcm2835-1.68.tar.gz +sha256 564920d205977d7e2846e434947708455d468d3a952feca9faef643abd03a227 bcm2835-1.71.tar.gz sha256 8b1ba204bb69a0ade2bfcf65ef294a920f6bb361b317dba43c7ef29d96332b9b COPYING diff --git a/package/bcm2835/bcm2835.mk b/package/bcm2835/bcm2835.mk index 1ddd0358189..4870aa10ba4 100644 --- a/package/bcm2835/bcm2835.mk +++ b/package/bcm2835/bcm2835.mk @@ -4,8 +4,8 @@ # ################################################################################ -BCM2835_VERSION = 1.68 -BCM2835_SITE = http://www.airspayce.com/mikem/bcm2835 +BCM2835_VERSION = 1.71 +BCM2835_SITE = https://www.airspayce.com/mikem/bcm2835 BCM2835_LICENSE = GPL-3.0 BCM2835_LICENSE_FILES = COPYING BCM2835_INSTALL_STAGING = YES diff --git a/package/bdwgc/Config.in b/package/bdwgc/Config.in index 95139efb933..aad2bc9ef2e 100644 --- a/package/bdwgc/Config.in +++ b/package/bdwgc/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_BDWGC be used as a garbage collecting replacement for C 'malloc' or C++ 'new'. - http://www.hboehm.info/gc/ + https://www.hboehm.info/gc/ diff --git a/package/bdwgc/bdwgc.hash b/package/bdwgc/bdwgc.hash index 4d221319640..d0459969b58 100644 --- a/package/bdwgc/bdwgc.hash +++ b/package/bdwgc/bdwgc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 436a0ddc67b1ac0b0405b61a9675bca9e075c8156f4debd1d06f3a56c7cd289d gc-8.0.4.tar.gz -sha256 aeeaabbf44e67d413e18719f0c6ac9c23387ab0b33e7a15ee46cf59ddef12cc7 README.QUICK +sha256 3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11 gc-8.0.6.tar.gz +sha256 0aab7a56a92ed878c4a5464cf282d65f38bcdee64fe9cf213e26254bddb3f340 README.QUICK diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk index 57dd82cab44..d1c9d4dfdc0 100644 --- a/package/bdwgc/bdwgc.mk +++ b/package/bdwgc/bdwgc.mk @@ -4,9 +4,9 @@ # ################################################################################ -BDWGC_VERSION = 8.0.4 +BDWGC_VERSION = 8.0.6 BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz -BDWGC_SITE = http://www.hboehm.info/gc/gc_source +BDWGC_SITE = https://github.com/ivmai/bdwgc/releases/download/v$(BDWGC_VERSION) BDWGC_INSTALL_STAGING = YES BDWGC_LICENSE = bdwgc license BDWGC_LICENSE_FILES = README.QUICK diff --git a/package/belle-sip/belle-sip.mk b/package/belle-sip/belle-sip.mk index 23b60e51f54..11b96f3fd98 100644 --- a/package/belle-sip/belle-sip.mk +++ b/package/belle-sip/belle-sip.mk @@ -9,6 +9,7 @@ BELLE_SIP_SITE = \ https://gitlab.linphone.org/BC/public/belle-sip/-/archive/$(BELLE_SIP_VERSION) BELLE_SIP_LICENSE = GPL-3.0+ BELLE_SIP_LICENSE_FILES = LICENSE.txt +BELLE_SIP_CPE_ID_VENDOR = linphone BELLE_SIP_INSTALL_STAGING = YES BELLE_SIP_DEPENDENCIES = \ bctoolbox \ diff --git a/package/belr/belr.mk b/package/belr/belr.mk index f243830a853..26b949734f0 100644 --- a/package/belr/belr.mk +++ b/package/belr/belr.mk @@ -17,9 +17,8 @@ BELR_CONF_OPTS = \ ifeq ($(BR2_STATIC_LIBS),y) BELR_CONF_OPTS += -DENABLE_SHARED=OFF -DENABLE_STATIC=ON -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -BELR_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=ON -else ifeq ($(BR2_SHARED_LIBS),y) +else +# cannot build static and shared together BELR_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF endif diff --git a/package/benejson/benejson.mk b/package/benejson/benejson.mk index 5bb57d028d4..680e5b5bdad 100644 --- a/package/benejson/benejson.mk +++ b/package/benejson/benejson.mk @@ -9,7 +9,7 @@ BENEJSON_SITE = $(call github,codehero,benejson,$(BENEJSON_VERSION)) BENEJSON_LICENSE = MIT BENEJSON_LICENSE_FILES = LICENSE BENEJSON_INSTALL_STAGING = YES -BENEJSON_DEPENDENCIES = host-python3 host-scons +BENEJSON_DEPENDENCIES = host-scons # wchar support needs to be manually disabled ifeq ($(BR2_USE_WCHAR),) @@ -41,7 +41,7 @@ endif # Shared enabled define BENEJSON_BUILD_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) \ - $(HOST_DIR)/bin/python3 $(SCONS) $(BENEJSON_SCONS_TARGETS)) + $(SCONS) $(BENEJSON_SCONS_TARGETS)) endef define BENEJSON_INSTALL_STAGING_CMDS diff --git a/package/bento4/0001-Add-support-for-cmake-install.patch b/package/bento4/0001-Add-support-for-cmake-install.patch new file mode 100644 index 00000000000..cec0cb18b9b --- /dev/null +++ b/package/bento4/0001-Add-support-for-cmake-install.patch @@ -0,0 +1,130 @@ +From ba95f55c495c4c34c75a95de843acfa00f6afe24 Mon Sep 17 00:00:00 2001 +From: Harry Mallon +Date: Fri, 9 Jul 2021 15:50:26 +0100 +Subject: [PATCH] Add support for cmake install + +Downloaded from upstream commit +https://github.com/axiomatic-systems/Bento4/commit/ba95f55c495c4c34c75a95de843acfa00f6afe24 + +Signed-off-by: Bernd Kuhls +--- + Build/cmake/Config.cmake.in | 4 ++ + CMakeLists.txt | 73 ++++++++++++++++++++++++++++++++++--- + 2 files changed, 71 insertions(+), 6 deletions(-) + create mode 100644 Build/cmake/Config.cmake.in + +diff --git a/Build/cmake/Config.cmake.in b/Build/cmake/Config.cmake.in +new file mode 100644 +index 00000000..38bbde7b +--- /dev/null ++++ b/Build/cmake/Config.cmake.in +@@ -0,0 +1,4 @@ ++@PACKAGE_INIT@ ++ ++include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") ++check_required_components("@PROJECT_NAME@") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6de3bfe1..6ebf127f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,14 @@ else() + cmake_minimum_required(VERSION 3.10) + endif() + +-project(bento4) ++function(get_bento4_version) ++ file(STRINGS "Source/C++/Core/Ap4Version.h" _temp REGEX "AP4_VERSION_STRING") ++ string(REGEX MATCH "\"([^\"]+)\"" _temp "${_temp}") ++ set(BENTO4_VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE) ++endfunction() ++ ++get_bento4_version() ++project(bento4 VERSION "${BENTO4_VERSION}") + + # Variables + set(SOURCE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/Source/C++) +@@ -51,14 +58,22 @@ endif() + + # Includes + set(AP4_INCLUDE_DIRS +- ${SOURCE_CORE} +- ${SOURCE_CODECS} +- ${SOURCE_CRYPTO} +- ${SOURCE_METADATA} ++ $ ++ $ ++ $ ++ $ ++) ++file(GLOB AP4_HEADERS ++ ${SOURCE_CORE}/*.h ++ ${SOURCE_CODECS}/*.h ++ ${SOURCE_CRYPTO}/*.h ++ ${SOURCE_METADATA}/*.h + ) + + add_library(ap4 STATIC ${AP4_SOURCES}) +-target_include_directories(ap4 PUBLIC ${AP4_INCLUDE_DIRS}) ++target_include_directories(ap4 PUBLIC ++ ${AP4_INCLUDE_DIRS} ++) + + # Use the statically linked C runtime library + if(MSVC) +@@ -72,6 +87,7 @@ if(BUILD_APPS) + file(GLOB BENTO4_APPS RELATIVE ${SOURCE_ROOT}/Apps ${SOURCE_ROOT}/Apps/*) + foreach(app ${BENTO4_APPS}) + string(TOLOWER ${app} binary_name) ++ list(APPEND BENTO4_APPS_LOWERCASE ${binary_name}) + add_executable(${binary_name} ${SOURCE_ROOT}/Apps/${app}/${app}.cpp) + target_link_libraries(${binary_name} ap4) + +@@ -81,3 +97,48 @@ foreach(app ${BENTO4_APPS}) + endif() + endforeach() + endif(BUILD_APPS) ++ ++# Install ++include(GNUInstallDirs) ++set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") ++set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") ++set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake") ++set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") ++set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") ++set(namespace "${PROJECT_NAME}::") ++ ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file( ++ "${version_config}" COMPATIBILITY SameMajorVersion ++) ++ ++configure_package_config_file( ++ "Build/cmake/Config.cmake.in" ++ "${project_config}" ++ INSTALL_DESTINATION "${config_install_dir}" ++) ++ ++install( ++ TARGETS ap4 ${BENTO4_APPS_LOWERCASE} ++ EXPORT "${TARGETS_EXPORT_NAME}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++) ++ ++install( ++ FILES ${AP4_HEADERS} ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/bento4" ++) ++ ++install( ++ FILES "${project_config}" "${version_config}" ++ DESTINATION "${config_install_dir}" ++) ++ ++install( ++ EXPORT "${TARGETS_EXPORT_NAME}" ++ NAMESPACE "${namespace}" ++ DESTINATION "${config_install_dir}" ++) diff --git a/package/bento4/0002-Add-additional-methods-funtions-and-passing-poolid.patch b/package/bento4/0002-Add-additional-methods-funtions-and-passing-poolid.patch new file mode 100644 index 00000000000..22ac657a3f3 --- /dev/null +++ b/package/bento4/0002-Add-additional-methods-funtions-and-passing-poolid.patch @@ -0,0 +1,634 @@ +From b2027d354ef5d52efd525730fa5e6beccb88d33f Mon Sep 17 00:00:00 2001 +From: Glenn Guy +Date: Thu, 22 Jul 2021 10:00:44 +0200 +Subject: [PATCH] Add additional methods/funtions and passing poolid + +Added back: +* SSD - > ParentIsOwner functionality +* LinearReader: GetSample, SeekSample, Reset +* Ap4Movie -> GetPsshAtoms +* Uuid/VppC -> GetData +* Ap4Protection -> WVTT atom type + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4ByteStream.h | 1 - + Source/C++/Core/Ap4CommonEncryption.cpp | 15 ++-- + Source/C++/Core/Ap4CommonEncryption.h | 24 +++++-- + Source/C++/Core/Ap4IsmaCryp.cpp | 5 +- + Source/C++/Core/Ap4IsmaCryp.h | 3 +- + Source/C++/Core/Ap4LinearReader.cpp | 94 ++++++++++++++++++++++++- + Source/C++/Core/Ap4LinearReader.h | 4 ++ + Source/C++/Core/Ap4Marlin.cpp | 5 +- + Source/C++/Core/Ap4Marlin.h | 3 +- + Source/C++/Core/Ap4MoovAtom.cpp | 28 +++++++- + Source/C++/Core/Ap4MoovAtom.h | 5 ++ + Source/C++/Core/Ap4Movie.cpp | 10 +++ + Source/C++/Core/Ap4Movie.h | 4 ++ + Source/C++/Core/Ap4OmaDcf.cpp | 8 ++- + Source/C++/Core/Ap4OmaDcf.h | 6 +- + Source/C++/Core/Ap4Protection.h | 3 +- + Source/C++/Core/Ap4SampleDescription.h | 1 + + Source/C++/Core/Ap4UuidAtom.h | 1 + + Source/C++/Core/Ap4VpccAtom.h | 3 + + 19 files changed, 197 insertions(+), 26 deletions(-) + +diff --git a/Source/C++/Core/Ap4ByteStream.h b/Source/C++/Core/Ap4ByteStream.h +index 0a59e63..93ac80f 100644 +--- a/Source/C++/Core/Ap4ByteStream.h ++++ b/Source/C++/Core/Ap4ByteStream.h +@@ -195,7 +195,6 @@ public: + AP4_UI08* UseData() { return m_Buffer->UseData(); } + AP4_Size GetDataSize() { return m_Buffer->GetDataSize(); } + +-protected: + virtual ~AP4_MemoryByteStream(); + + private: +diff --git a/Source/C++/Core/Ap4CommonEncryption.cpp b/Source/C++/Core/Ap4CommonEncryption.cpp +index acd6361..5308200 100644 +--- a/Source/C++/Core/Ap4CommonEncryption.cpp ++++ b/Source/C++/Core/Ap4CommonEncryption.cpp +@@ -1859,7 +1859,8 @@ AP4_CencSingleSampleDecrypter::~AP4_CencSingleSampleDecrypter() { + | AP4_CencSingleSampleDecrypter::DecryptSampleData + +---------------------------------------------------------------------*/ + AP4_Result +-AP4_CencSingleSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, ++AP4_CencSingleSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv, + unsigned int subsample_count, +@@ -2094,8 +2095,9 @@ AP4_CencSampleDecrypter::Create(AP4_CencSampleInfoTable* sample_info_table, + +---------------------------------------------------------------------*/ + AP4_CencSampleDecrypter::~AP4_CencSampleDecrypter() + { +- delete m_SampleInfoTable; +- delete m_SingleSampleDecrypter; ++ delete m_SampleInfoTable; ++ if (m_SingleSampleDecrypter->GetParentIsOwner()) ++ delete m_SingleSampleDecrypter; + } + + /*---------------------------------------------------------------------- +@@ -2112,7 +2114,8 @@ AP4_CencSampleDecrypter::SetSampleIndex(AP4_Ordinal sample_index) + | AP4_CencSampleDecrypter::DecryptSampleData + +---------------------------------------------------------------------*/ + AP4_Result +-AP4_CencSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, ++AP4_CencSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv) + { +@@ -2139,7 +2142,7 @@ AP4_CencSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, + } + + // decrypt the sample +- return m_SingleSampleDecrypter->DecryptSampleData(data_in, data_out, iv_block, subsample_count, bytes_of_cleartext_data, bytes_of_encrypted_data); ++ return m_SingleSampleDecrypter->DecryptSampleData(poolid, data_in, data_out, iv_block, subsample_count, bytes_of_cleartext_data, bytes_of_encrypted_data); + } + + /*---------------------------------------------------------------------- +@@ -2323,7 +2326,7 @@ AP4_CencFragmentDecrypter::ProcessSample(AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out) + { + // decrypt the sample +- return m_SampleDecrypter->DecryptSampleData(data_in, data_out, NULL); ++ return m_SampleDecrypter->DecryptSampleData(0, data_in, data_out, NULL); + } + + /*---------------------------------------------------------------------- +diff --git a/Source/C++/Core/Ap4CommonEncryption.h b/Source/C++/Core/Ap4CommonEncryption.h +index 80db456..580de66 100644 +--- a/Source/C++/Core/Ap4CommonEncryption.h ++++ b/Source/C++/Core/Ap4CommonEncryption.h +@@ -691,9 +691,18 @@ public: + // methods + AP4_CencSingleSampleDecrypter(AP4_StreamCipher* cipher) : + m_Cipher(cipher), +- m_FullBlocksOnly(false) {} ++ m_FullBlocksOnly(false), ++ m_ParentIsOwner(true) {} + virtual ~AP4_CencSingleSampleDecrypter(); +- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, ++ virtual AP4_Result SetFragmentInfo(AP4_UI32 poolid, const AP4_UI08* keyid, const AP4_UI08 nalu_length_size, ++ AP4_DataBuffer &annexb_sps_pps, AP4_UI32 flags) { ++ return AP4_ERROR_NOT_SUPPORTED; ++ }; ++ virtual AP4_UI32 AddPool() { return 0; }; ++ virtual void RemovePool(AP4_UI32 poolid) {}; ++ virtual const char* GetSessionId() { return nullptr; }; ++ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + + // always 16 bytes +@@ -706,7 +715,9 @@ public: + const AP4_UI16* bytes_of_cleartext_data, + + // array of integers. NULL if subsample_count is 0 +- const AP4_UI32* bytes_of_encrypted_data); ++ const AP4_UI32* bytes_of_encrypted_data); ++ bool GetParentIsOwner()const { return m_ParentIsOwner; }; ++ void SetParentIsOwner(bool parent_is_owner) { m_ParentIsOwner = parent_is_owner; }; + + private: + // constructor +@@ -715,12 +726,14 @@ private: + bool reset_iv_at_each_subsample) : + m_Cipher(cipher), + m_FullBlocksOnly(full_blocks_only), +- m_ResetIvAtEachSubsample(reset_iv_at_each_subsample) {} ++ m_ResetIvAtEachSubsample(reset_iv_at_each_subsample), ++ m_ParentIsOwner(true) {} + + // members + AP4_StreamCipher* m_Cipher; + bool m_FullBlocksOnly; + bool m_ResetIvAtEachSubsample; ++ bool m_ParentIsOwner; + }; + + /*---------------------------------------------------------------------- +@@ -766,7 +779,8 @@ public: + m_SampleCursor(0) {} + virtual ~AP4_CencSampleDecrypter(); + virtual AP4_Result SetSampleIndex(AP4_Ordinal sample_index); +- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, ++ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv); + +diff --git a/Source/C++/Core/Ap4IsmaCryp.cpp b/Source/C++/Core/Ap4IsmaCryp.cpp +index dfb59a4..442ad49 100644 +--- a/Source/C++/Core/Ap4IsmaCryp.cpp ++++ b/Source/C++/Core/Ap4IsmaCryp.cpp +@@ -142,7 +142,8 @@ AP4_IsmaCipher::GetDecryptedSampleSize(AP4_Sample& sample) + | AP4_IsmaCipher::DecryptSampleData + +---------------------------------------------------------------------*/ + AP4_Result +-AP4_IsmaCipher::DecryptSampleData(AP4_DataBuffer& data_in, ++AP4_IsmaCipher::DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* /*iv*/) + { +@@ -333,7 +334,7 @@ AP4_Result + AP4_IsmaTrackDecrypter::ProcessSample(AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out) + { +- return m_Cipher->DecryptSampleData(data_in, data_out); ++ return m_Cipher->DecryptSampleData(0, data_in, data_out); + } + + /*---------------------------------------------------------------------- +diff --git a/Source/C++/Core/Ap4IsmaCryp.h b/Source/C++/Core/Ap4IsmaCryp.h +index 4b9c60e..970dac8 100644 +--- a/Source/C++/Core/Ap4IsmaCryp.h ++++ b/Source/C++/Core/Ap4IsmaCryp.h +@@ -74,7 +74,8 @@ public: + AP4_Result EncryptSampleData(AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + AP4_UI32 block_counter); +- AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, ++ AP4_Result DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv = NULL); + AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); +diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp +index 08b55ee..7cc3ebd 100644 +--- a/Source/C++/Core/Ap4LinearReader.cpp ++++ b/Source/C++/Core/Ap4LinearReader.cpp +@@ -117,6 +117,29 @@ AP4_LinearReader::FlushQueues() + } + } + ++/*---------------------------------------------------------------------- ++| AP4_LinearReader::Reset +++---------------------------------------------------------------------*/ ++void ++AP4_LinearReader::Reset() ++{ ++ // flush any queued samples ++ FlushQueues(); ++ ++ // reset tracker states ++ for (unsigned int i = 0; i < m_Trackers.ItemCount(); i++) { ++ if (m_Trackers[i]->m_SampleTableIsOwned) { ++ delete m_Trackers[i]->m_SampleTable; ++ } ++ delete m_Trackers[i]->m_NextSample; ++ m_Trackers[i]->m_SampleTable = NULL; ++ m_Trackers[i]->m_NextSample = NULL; ++ m_Trackers[i]->m_NextSampleIndex = 0; ++ m_Trackers[i]->m_Eos = false; ++ } ++ m_NextFragmentPosition = 0; ++} ++ + /*---------------------------------------------------------------------- + | AP4_LinearReader::SetSampleIndex + +---------------------------------------------------------------------*/ +@@ -591,6 +614,75 @@ AP4_LinearReader::ReadNextSample(AP4_Sample& sample, + return ReadNextSample(sample, &sample_data, track_id); + } + ++/*---------------------------------------------------------------------- ++| AP4_LinearReader::GetSample +++---------------------------------------------------------------------*/ ++AP4_Result AP4_LinearReader::GetSample(AP4_UI32 track_id, AP4_Sample &sample, AP4_Ordinal sample_index) ++{ ++ // look for a sample from a specific track ++ Tracker* tracker = FindTracker(track_id); ++ if (tracker == NULL) ++ return AP4_ERROR_INVALID_PARAMETERS; ++ ++ // don't continue if we've reached the end of that tracker ++ if (tracker->m_Eos) ++ return AP4_ERROR_EOS; ++ ++ return tracker->m_SampleTable->GetSample(sample_index, sample); ++} ++ ++/*---------------------------------------------------------------------- ++| AP4_LinearReader::SeekSample +++---------------------------------------------------------------------*/ ++AP4_Result ++AP4_LinearReader::SeekSample(AP4_UI32 track_id, AP4_UI64 ts, AP4_Ordinal &sample_index, bool preceedingSync) ++{ ++ // we only support fragmented sources for now ++ if (!m_HasFragments) ++ return AP4_ERROR_NOT_SUPPORTED; ++ ++ if (m_Trackers.ItemCount() == 0) { ++ return AP4_ERROR_NO_SUCH_ITEM; ++ } ++ ++ // look for a sample from a specific track ++ Tracker* tracker = FindTracker(track_id); ++ if (tracker == NULL) ++ return AP4_ERROR_INVALID_PARAMETERS; ++ ++ // don't continue if we've reached the end of that tracker ++ if (tracker->m_Eos) ++ return AP4_ERROR_EOS; ++ ++ AP4_Result result; ++ ++ if (!tracker->m_SampleTable && AP4_FAILED(result = Advance())) ++ return result; ++ ++ while (AP4_FAILED(result = tracker->m_SampleTable->GetSampleIndexForTimeStamp(ts, sample_index))) ++ { ++ if (result == AP4_ERROR_NOT_ENOUGH_DATA) ++ { ++ tracker->m_NextSampleIndex = tracker->m_SampleTable->GetSampleCount(); ++ if (AP4_FAILED(result = Advance())) ++ return result; ++ continue; ++ } ++ return result; ++ } ++ ++ sample_index = tracker->m_SampleTable->GetNearestSyncSampleIndex(sample_index, preceedingSync); ++ //we have reached the end -> go for the first sample of the next segment ++ if (sample_index == tracker->m_SampleTable->GetSampleCount()) ++ { ++ tracker->m_NextSampleIndex = tracker->m_SampleTable->GetSampleCount(); ++ if (AP4_FAILED(result = Advance())) ++ return result; ++ sample_index = 0; ++ } ++ return SetSampleIndex(tracker->m_Track->GetId(), sample_index); ++} ++ + /*---------------------------------------------------------------------- + | AP4_LinearReader::GetNextSample + +---------------------------------------------------------------------*/ +@@ -633,5 +725,5 @@ AP4_DecryptingSampleReader::ReadSampleData(AP4_Sample& sample, + AP4_Result result = sample.ReadData(m_DataBuffer); + if (AP4_FAILED(result)) return result; + +- return m_Decrypter->DecryptSampleData(m_DataBuffer, sample_data); ++ return m_Decrypter->DecryptSampleData(0, m_DataBuffer, sample_data); + } +diff --git a/Source/C++/Core/Ap4LinearReader.h b/Source/C++/Core/Ap4LinearReader.h +index 549cb5f..21f4871 100644 +--- a/Source/C++/Core/Ap4LinearReader.h ++++ b/Source/C++/Core/Ap4LinearReader.h +@@ -85,6 +85,8 @@ public: + AP4_Result SetSampleIndex(AP4_UI32 track_id, AP4_UI32 sample_index); + + AP4_Result SeekTo(AP4_UI32 time_ms, AP4_UI32* actual_time_ms = 0); ++ ++ AP4_Result SeekSample(AP4_UI32 track_id, AP4_UI64 ts, AP4_Ordinal &sample_index, bool preceedingSync); + + // accessors + AP4_Size GetBufferFullness() { return m_BufferFullness; } +@@ -169,8 +171,10 @@ protected: + AP4_Result ReadNextSample(AP4_Sample& sample, + AP4_DataBuffer* sample_data, + AP4_UI32& track_id); ++ AP4_Result GetSample(AP4_UI32 track_id, AP4_Sample &sample, AP4_Ordinal sample_index); + void FlushQueue(Tracker* tracker); + void FlushQueues(); ++ void Reset(); + + // members + AP4_Movie& m_Movie; +diff --git a/Source/C++/Core/Ap4Marlin.cpp b/Source/C++/Core/Ap4Marlin.cpp +index d0ddd3f..c1aa8b6 100644 +--- a/Source/C++/Core/Ap4Marlin.cpp ++++ b/Source/C++/Core/Ap4Marlin.cpp +@@ -431,7 +431,8 @@ AP4_MarlinIpmpSampleDecrypter::GetDecryptedSampleSize(AP4_Sample& sample) + | AP4_MarlinIpmpSampleDecrypter::DecryptSampleData + +---------------------------------------------------------------------*/ + AP4_Result +-AP4_MarlinIpmpSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, ++AP4_MarlinIpmpSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* /*iv*/) + { +@@ -630,7 +631,7 @@ AP4_Result + AP4_MarlinIpmpTrackDecrypter::ProcessSample(AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out) + { +- return m_SampleDecrypter->DecryptSampleData(data_in, data_out); ++ return m_SampleDecrypter->DecryptSampleData(0, data_in, data_out); + } + + /*---------------------------------------------------------------------- +diff --git a/Source/C++/Core/Ap4Marlin.h b/Source/C++/Core/Ap4Marlin.h +index 774e04f..9280ad6 100644 +--- a/Source/C++/Core/Ap4Marlin.h ++++ b/Source/C++/Core/Ap4Marlin.h +@@ -118,7 +118,8 @@ public: + + // AP4_SampleDecrypter methods + AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); +- AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, ++ AP4_Result DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv = NULL); + +diff --git a/Source/C++/Core/Ap4MoovAtom.cpp b/Source/C++/Core/Ap4MoovAtom.cpp +index 1ceab49..fbeee4f 100644 +--- a/Source/C++/Core/Ap4MoovAtom.cpp ++++ b/Source/C++/Core/Ap4MoovAtom.cpp +@@ -31,6 +31,7 @@ + +---------------------------------------------------------------------*/ + #include "Ap4MoovAtom.h" + #include "Ap4TrakAtom.h" ++#include "Ap4PsshAtom.h" + #include "Ap4AtomFactory.h" + + /*---------------------------------------------------------------------- +@@ -61,6 +62,29 @@ private: + AP4_List* m_TrakAtoms; + }; + ++/*---------------------------------------------------------------------- ++| AP4_PsshAtomCollector +++---------------------------------------------------------------------*/ ++class AP4_PsshAtomCollector : public AP4_List::Item::Operator ++{ ++public: ++ AP4_PsshAtomCollector(AP4_List* pssh_atoms) : ++ m_PsshAtoms(pssh_atoms) {} ++ ++ AP4_Result Action(AP4_Atom* atom) const { ++ if (atom->GetType() == AP4_ATOM_TYPE_PSSH) { ++ AP4_PsshAtom* pssh = AP4_DYNAMIC_CAST(AP4_PsshAtom, atom); ++ if (pssh) { ++ m_PsshAtoms->Add(pssh); ++ } ++ } ++ return AP4_SUCCESS; ++ } ++ ++private: ++ AP4_List* m_PsshAtoms; ++}; ++ + /*---------------------------------------------------------------------- + | AP4_MoovAtom::AP4_MoovAtom + +---------------------------------------------------------------------*/ +@@ -80,7 +104,9 @@ AP4_MoovAtom::AP4_MoovAtom(AP4_UI32 size, + m_TimeScale(0) + { + // collect all trak atoms +- m_Children.Apply(AP4_TrakAtomCollector(&m_TrakAtoms)); ++ m_Children.Apply(AP4_TrakAtomCollector(&m_TrakAtoms)); ++ // collect all pssh atoms ++ m_Children.Apply(AP4_PsshAtomCollector(&m_PsshAtoms)); + } + + /*---------------------------------------------------------------------- +diff --git a/Source/C++/Core/Ap4MoovAtom.h b/Source/C++/Core/Ap4MoovAtom.h +index f06b2a1..d1a0147 100644 +--- a/Source/C++/Core/Ap4MoovAtom.h ++++ b/Source/C++/Core/Ap4MoovAtom.h +@@ -40,6 +40,7 @@ + +---------------------------------------------------------------------*/ + class AP4_AtomFactory; + class AP4_TrakAtom; ++class AP4_PsshAtom; + + /*---------------------------------------------------------------------- + | AP4_MoovAtom +@@ -61,6 +62,9 @@ public: + AP4_List& GetTrakAtoms() { + return m_TrakAtoms; + } ++ AP4_List& GetPsshAtoms() { ++ return m_PsshAtoms; ++ } + AP4_UI32 GetTimeScale() { + return m_TimeScale; + } +@@ -77,6 +81,7 @@ private: + AP4_AtomFactory& atom_factory); + + // members ++ AP4_List m_PsshAtoms; + AP4_List m_TrakAtoms; + AP4_UI32 m_TimeScale; + }; +diff --git a/Source/C++/Core/Ap4Movie.cpp b/Source/C++/Core/Ap4Movie.cpp +index b080b53..9617494 100644 +--- a/Source/C++/Core/Ap4Movie.cpp ++++ b/Source/C++/Core/Ap4Movie.cpp +@@ -32,6 +32,7 @@ + #include "Ap4File.h" + #include "Ap4Atom.h" + #include "Ap4TrakAtom.h" ++#include "Ap4PsshAtom.h" + #include "Ap4MoovAtom.h" + #include "Ap4MvhdAtom.h" + #include "Ap4AtomFactory.h" +@@ -110,6 +111,15 @@ AP4_Movie::AP4_Movie(AP4_MoovAtom* moov, AP4_ByteStream& sample_stream, bool tra + time_scale = 0; + } + ++ // get the pssh atoms ++ AP4_List* pssh_atoms; ++ pssh_atoms = &moov->GetPsshAtoms(); ++ AP4_List::Item* pssh_item = pssh_atoms->FirstItem(); ++ while (pssh_item) { ++ m_PsshAtoms.Append(*pssh_item->GetData()); ++ pssh_item = pssh_item->GetNext(); ++ } ++ + // get all tracks + AP4_List* trak_atoms; + trak_atoms = &moov->GetTrakAtoms(); +diff --git a/Source/C++/Core/Ap4Movie.h b/Source/C++/Core/Ap4Movie.h +index 21ef173..04992a4 100644 +--- a/Source/C++/Core/Ap4Movie.h ++++ b/Source/C++/Core/Ap4Movie.h +@@ -37,6 +37,7 @@ + #include "Ap4MvhdAtom.h" + #include "Ap4Track.h" + #include "Ap4List.h" ++#include "Ap4PsshAtom.h" + + /*---------------------------------------------------------------------- + | class references +@@ -60,6 +61,8 @@ public: + AP4_Result Inspect(AP4_AtomInspector& inspector); + + AP4_MoovAtom* GetMoovAtom() { return m_MoovAtom;} ++ void SetMoovAtom(AP4_MoovAtom* atom) { m_MoovAtom = atom; } ++ AP4_Array& GetPsshAtoms() { return m_PsshAtoms; } + AP4_MvhdAtom* GetMvhdAtom() { return m_MvhdAtom;} + AP4_List& GetTracks() { return m_Tracks; } + AP4_Track* GetTrack(AP4_UI32 track_id); +@@ -75,6 +78,7 @@ private: + AP4_MoovAtom* m_MoovAtom; + bool m_MoovAtomIsOwned; + AP4_MvhdAtom* m_MvhdAtom; ++ AP4_Array m_PsshAtoms; + AP4_List m_Tracks; + }; + +diff --git a/Source/C++/Core/Ap4OmaDcf.cpp b/Source/C++/Core/Ap4OmaDcf.cpp +index 17099a1..4eefbaf 100644 +--- a/Source/C++/Core/Ap4OmaDcf.cpp ++++ b/Source/C++/Core/Ap4OmaDcf.cpp +@@ -436,7 +436,8 @@ AP4_OmaDcfCtrSampleDecrypter::~AP4_OmaDcfCtrSampleDecrypter() + | AP4_OmaDcfCtrSampleDecrypter::DecryptSampleData + +---------------------------------------------------------------------*/ + AP4_Result +-AP4_OmaDcfCtrSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, ++AP4_OmaDcfCtrSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* /*iv*/) + { +@@ -531,7 +532,8 @@ AP4_OmaDcfCbcSampleDecrypter::~AP4_OmaDcfCbcSampleDecrypter() + | AP4_OmaDbcCbcSampleDecrypter::DecryptSampleData + +---------------------------------------------------------------------*/ + AP4_Result +-AP4_OmaDcfCbcSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, ++AP4_OmaDcfCbcSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* /*iv*/) + { +@@ -853,7 +855,7 @@ AP4_Result + AP4_OmaDcfTrackDecrypter::ProcessSample(AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out) + { +- return m_Cipher->DecryptSampleData(data_in, data_out); ++ return m_Cipher->DecryptSampleData(0, data_in, data_out); + } + + /*---------------------------------------------------------------------- +diff --git a/Source/C++/Core/Ap4OmaDcf.h b/Source/C++/Core/Ap4OmaDcf.h +index 23f10ed..bb7b3d6 100644 +--- a/Source/C++/Core/Ap4OmaDcf.h ++++ b/Source/C++/Core/Ap4OmaDcf.h +@@ -133,7 +133,8 @@ public: + ~AP4_OmaDcfCtrSampleDecrypter(); + + // methods +- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, ++ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv = NULL); + virtual AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); +@@ -155,7 +156,8 @@ public: + ~AP4_OmaDcfCbcSampleDecrypter(); + + // methods +- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, ++ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv = NULL); + virtual AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); +diff --git a/Source/C++/Core/Ap4Protection.h b/Source/C++/Core/Ap4Protection.h +index 856f1f3..4080584 100644 +--- a/Source/C++/Core/Ap4Protection.h ++++ b/Source/C++/Core/Ap4Protection.h +@@ -393,7 +393,8 @@ public: + // methods + virtual AP4_Size GetDecryptedSampleSize(AP4_Sample& sample) { return sample.GetSize(); } + virtual AP4_Result SetSampleIndex(AP4_Ordinal /*index*/) { return AP4_SUCCESS; } +- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, ++ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, ++ AP4_DataBuffer& data_in, + AP4_DataBuffer& data_out, + const AP4_UI08* iv = NULL) = 0; + }; +diff --git a/Source/C++/Core/Ap4SampleDescription.h b/Source/C++/Core/Ap4SampleDescription.h +index 27f3136..d493f96 100644 +--- a/Source/C++/Core/Ap4SampleDescription.h ++++ b/Source/C++/Core/Ap4SampleDescription.h +@@ -101,6 +101,7 @@ const AP4_UI32 AP4_SAMPLE_FORMAT_TX3G = AP4_ATOM_TYPE('t','x','3','g'); + const AP4_UI32 AP4_SAMPLE_FORMAT_VC_1 = AP4_ATOM_TYPE('v','c','-','1'); + const AP4_UI32 AP4_SAMPLE_FORMAT_XML_ = AP4_ATOM_TYPE('x','m','l',' '); + const AP4_UI32 AP4_SAMPLE_FORMAT_STPP = AP4_ATOM_TYPE('s','t','p','p'); ++const AP4_UI32 AP4_SAMPLE_FORMAT_WVTT = AP4_ATOM_TYPE('w','v','t','t'); + const AP4_UI32 AP4_SAMPLE_FORMAT_FLAC = AP4_ATOM_TYPE('f','L','a','C'); + const AP4_UI32 AP4_SAMPLE_FORMAT_OPUS = AP4_ATOM_TYPE('O','p','u','s'); + const AP4_UI32 AP4_SAMPLE_FORMAT_VP8 = AP4_ATOM_TYPE('v','p','0','8'); +diff --git a/Source/C++/Core/Ap4UuidAtom.h b/Source/C++/Core/Ap4UuidAtom.h +index b9771bd..0ec3b08 100644 +--- a/Source/C++/Core/Ap4UuidAtom.h ++++ b/Source/C++/Core/Ap4UuidAtom.h +@@ -90,6 +90,7 @@ public: + + // methods + virtual AP4_Result WriteFields(AP4_ByteStream& stream); ++ const AP4_DataBuffer &GetData() { return m_Data; }; + + protected: + // members +diff --git a/Source/C++/Core/Ap4VpccAtom.h b/Source/C++/Core/Ap4VpccAtom.h +index 9fb60bc..929048a 100644 +--- a/Source/C++/Core/Ap4VpccAtom.h ++++ b/Source/C++/Core/Ap4VpccAtom.h +@@ -79,10 +79,13 @@ public: + AP4_UI08 GetTransferCharacteristics() { return m_TransferCharacteristics; } + AP4_UI08 GetMatrixCoefficients() { return m_MatrixCoefficients; } + const AP4_DataBuffer& GetCodecInitializationData() { return m_CodecIntializationData; } ++ const AP4_DataBuffer& GetData() { return m_Data; } + + // helpers + AP4_Result GetCodecString(AP4_UI32 container_type, AP4_String& codec); + ++protected: ++ AP4_DataBuffer m_Data; + private: + // methods + AP4_VpccAtom(AP4_UI32 size, const AP4_UI08* payload); +-- +2.30.2 + diff --git a/package/bento4/0003-Backport-Smmothstream-changes.patch b/package/bento4/0003-Backport-Smmothstream-changes.patch new file mode 100644 index 00000000000..a9a577a2d91 --- /dev/null +++ b/package/bento4/0003-Backport-Smmothstream-changes.patch @@ -0,0 +1,99 @@ +From 97088e7bd7e84a493bea7e5fe4e808c8ac3e00ff Mon Sep 17 00:00:00 2001 +From: CastagnaIT +Date: Thu, 22 Jul 2021 10:09:24 +0200 +Subject: [PATCH] Backport Smmothstream changes + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4File.cpp | 14 ++++++++------ + Source/C++/Core/Ap4File.h | 6 ++++-- + Source/C++/Core/Ap4FragmentSampleTable.cpp | 2 +- + 3 files changed, 13 insertions(+), 9 deletions(-) + +diff --git a/Source/C++/Core/Ap4File.cpp b/Source/C++/Core/Ap4File.cpp +index cb20c3e..f1d2727 100644 +--- a/Source/C++/Core/Ap4File.cpp ++++ b/Source/C++/Core/Ap4File.cpp +@@ -55,13 +55,14 @@ AP4_File::AP4_File(AP4_Movie* movie) : + +---------------------------------------------------------------------*/ + AP4_File::AP4_File(AP4_ByteStream& stream, + AP4_AtomFactory& atom_factory, +- bool moov_only) : +- m_Movie(NULL), ++ bool moov_only, ++ AP4_Movie* movie) : ++ m_Movie(movie), + m_FileType(NULL), + m_MetaData(NULL), + m_MoovIsBeforeMdat(true) + { +- ParseStream(stream, atom_factory, moov_only); ++ ParseStream(stream, atom_factory, moov_only, movie); + } + + /*---------------------------------------------------------------------- +@@ -75,7 +76,7 @@ AP4_File::AP4_File(AP4_ByteStream& stream, + m_MoovIsBeforeMdat(true) + { + AP4_DefaultAtomFactory atom_factory; +- ParseStream(stream, atom_factory, moov_only); ++ ParseStream(stream, atom_factory, moov_only, m_Movie); + } + + /*---------------------------------------------------------------------- +@@ -93,12 +94,13 @@ AP4_File::~AP4_File() + void + AP4_File::ParseStream(AP4_ByteStream& stream, + AP4_AtomFactory& atom_factory, +- bool moov_only) ++ bool moov_only, ++ AP4_Movie* movie) + { + // parse top-level atoms + AP4_Atom* atom; + AP4_Position stream_position; +- bool keep_parsing = true; ++ bool keep_parsing = movie == 0; + while (keep_parsing && + AP4_SUCCEEDED(stream.Tell(stream_position)) && + AP4_SUCCEEDED(atom_factory.CreateAtomFromStream(stream, atom))) { +diff --git a/Source/C++/Core/Ap4File.h b/Source/C++/Core/Ap4File.h +index 9375258..2f00187 100644 +--- a/Source/C++/Core/Ap4File.h ++++ b/Source/C++/Core/Ap4File.h +@@ -101,7 +101,8 @@ public: + */ + AP4_File(AP4_ByteStream& stream, + AP4_AtomFactory& atom_factory, +- bool moov_only); ++ bool moov_only, ++ AP4_Movie* movie = NULL); + + /** + * Constructs an AP4_File from a stream using the default atom factory +@@ -161,7 +162,8 @@ private: + // methods + void ParseStream(AP4_ByteStream& stream, + AP4_AtomFactory& atom_factory, +- bool moov_only); ++ bool moov_only, ++ AP4_Movie* movie); + + // members + AP4_Movie* m_Movie; +diff --git a/Source/C++/Core/Ap4FragmentSampleTable.cpp b/Source/C++/Core/Ap4FragmentSampleTable.cpp +index 84e5ded..3fbb53e 100644 +--- a/Source/C++/Core/Ap4FragmentSampleTable.cpp ++++ b/Source/C++/Core/Ap4FragmentSampleTable.cpp +@@ -130,7 +130,7 @@ AP4_FragmentSampleTable::AddTrun(AP4_TrunAtom* trun, + data_offset += trun->GetDataOffset(); + } + // MS hack +- if (data_offset == moof_offset) { ++ if (data_offset < payload_offset) { + data_offset = payload_offset; + } else { + payload_offset = data_offset; +-- +2.30.2 + diff --git a/package/bento4/0004-more-SPS-parameters.patch b/package/bento4/0004-more-SPS-parameters.patch new file mode 100644 index 00000000000..7034739815e --- /dev/null +++ b/package/bento4/0004-more-SPS-parameters.patch @@ -0,0 +1,219 @@ +From 25df596f009514b213c5eaf5d5eb94072391c1be Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 10:22:39 +0200 +Subject: [PATCH] more SPS parameters + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Codecs/Ap4AvcParser.cpp | 100 ++++++++++++++++++++++++++++- + Source/C++/Codecs/Ap4AvcParser.h | 22 +++++++ + Source/C++/Core/Ap4Utils.cpp | 8 +++ + Source/C++/Core/Ap4Utils.h | 2 +- + 4 files changed, 129 insertions(+), 3 deletions(-) + +diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp +index b95398b..7efb5c9 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.cpp ++++ b/Source/C++/Codecs/Ap4AvcParser.cpp +@@ -30,7 +30,6 @@ + | includes + +---------------------------------------------------------------------*/ + #include "Ap4AvcParser.h" +-#include "Ap4Utils.h" + + /*---------------------------------------------------------------------- + | debugging +@@ -123,6 +122,25 @@ AP4_AvcNalParser::SliceTypeName(unsigned int slice_type) + } + } + ++const int SAR[17][2] = { ++ { 0, 1 }, ++ { 1, 1 }, ++ { 12, 11 }, ++ { 10, 11 }, ++ { 16, 11 }, ++ { 40, 33 }, ++ { 24, 11 }, ++ { 20, 11 }, ++ { 32, 11 }, ++ { 80, 33 }, ++ { 18, 11 }, ++ { 15, 11 }, ++ { 64, 33 }, ++ { 160, 99 }, ++ { 4, 3 }, ++ { 3, 2 }, ++ { 2, 1 }, ++}; + /*---------------------------------------------------------------------- + | AP4_AvcNalParser::AP4_AvcNalParser + +---------------------------------------------------------------------*/ +@@ -236,7 +254,28 @@ AP4_AvcSequenceParameterSet::AP4_AvcSequenceParameterSet() : + frame_crop_left_offset(0), + frame_crop_right_offset(0), + frame_crop_top_offset(0), +- frame_crop_bottom_offset(0) ++ frame_crop_bottom_offset(0), ++ vui_parameters_present_flag(0), ++ aspect_ratio_info_present_flag(0), ++ aspect_ratio_idc(0), ++ sar_width(0), ++ sar_height(0), ++ overscan_info_present_flag(0), ++ overscan_appropriate_flag(0), ++ video_signal_type_present_flag(0), ++ video_format(0), ++ video_full_range_flag(0), ++ colour_description_present_flag(0), ++ colour_primaries(0), ++ transfer_characteristics(0), ++ matrix_coefficients(0), ++ chroma_loc_info_present_flag(0), ++ chroma_sample_loc_type_top_field(0), ++ chroma_sample_loc_type_bottom_field(0), ++ timing_info_present_flag(0), ++ num_units_in_tick(0), ++ time_scale(0), ++ fixed_frame_rate_flag(0) + { + AP4_SetMemory(scaling_list_4x4, 0, sizeof(scaling_list_4x4)); + AP4_SetMemory(use_default_scaling_matrix_4x4, 0, sizeof(use_default_scaling_matrix_4x4)); +@@ -372,7 +411,64 @@ AP4_AvcFrameParser::ParseSPS(const unsigned char* data, + sps.frame_crop_top_offset = ReadGolomb(bits); + sps.frame_crop_bottom_offset = ReadGolomb(bits); + } ++ sps.vui_parameters_present_flag = bits.ReadBit(); ++ if (sps.vui_parameters_present_flag) { ++ sps.aspect_ratio_info_present_flag = bits.ReadBit(); ++ if (sps.aspect_ratio_info_present_flag) { ++ sps.aspect_ratio_idc = bits.ReadBits(8); ++ if (sps.aspect_ratio_idc == 0xFF) ++ { ++ sps.sar_width = bits.ReadBits(16); ++ sps.sar_height = bits.ReadBits(16); ++ } ++ else if (sps.aspect_ratio_idc < 17) ++ { ++ sps.sar_width = SAR[sps.aspect_ratio_idc][0]; ++ sps.sar_height = SAR[sps.aspect_ratio_idc][1]; ++ } ++ } ++ sps.overscan_info_present_flag = bits.ReadBit(); ++ if (sps.overscan_info_present_flag) ++ sps.overscan_appropriate_flag = bits.ReadBit(); ++ ++ sps.video_signal_type_present_flag = bits.ReadBit(); ++ if (sps.video_signal_type_present_flag) { ++ sps.video_format = bits.ReadBits(3); ++ sps.video_full_range_flag = bits.ReadBit(); ++ sps.colour_description_present_flag = bits.ReadBit(); ++ if (sps.colour_description_present_flag) { ++ sps.colour_primaries = bits.ReadBits(8); ++ sps.transfer_characteristics = bits.ReadBits(8); ++ sps.matrix_coefficients = bits.ReadBits(8); ++ } ++ } ++ + ++ sps.chroma_loc_info_present_flag = bits.ReadBit(); ++ if (sps.chroma_loc_info_present_flag) { ++ sps.chroma_sample_loc_type_top_field = ReadGolomb(bits); ++ sps.chroma_sample_loc_type_bottom_field = ReadGolomb(bits); ++ } ++ ++ if (bits.PeekBit() && bits.BitsLeft() < 10) ++ return AP4_SUCCESS; ++ ++ sps.timing_info_present_flag = bits.ReadBit(); ++ if (sps.timing_info_present_flag) { ++#if AP4_PLATFORM_BYTE_ORDER == AP4_PLATFORM_BYTE_ORDER_BIG_ENDIAN ++ sps.num_units_in_tick = bits.ReadBits(32); ++ sps.time_scale = bits.ReadBits(32); ++#else ++ sps.num_units_in_tick = bits.ReadBits(16) << 16; ++ sps.num_units_in_tick |= bits.ReadBits(16); ++ sps.time_scale = bits.ReadBits(16) << 16; ++ sps.time_scale |= bits.ReadBits(16); ++#endif ++ if (!sps.num_units_in_tick || !sps.time_scale) ++ sps.timing_info_present_flag = 0; ++ sps.fixed_frame_rate_flag = bits.ReadBit(); ++ } ++ } + return AP4_SUCCESS; + } + +diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h +index 8f9cd6c..9f97892 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.h ++++ b/Source/C++/Codecs/Ap4AvcParser.h +@@ -37,6 +37,7 @@ + #include "Ap4DataBuffer.h" + #include "Ap4NalParser.h" + #include "Ap4Array.h" ++#include "Ap4Utils.h" + + /*---------------------------------------------------------------------- + | constants +@@ -131,6 +132,27 @@ struct AP4_AvcSequenceParameterSet { + unsigned int frame_crop_right_offset; + unsigned int frame_crop_top_offset; + unsigned int frame_crop_bottom_offset; ++ unsigned int vui_parameters_present_flag; ++ unsigned int aspect_ratio_info_present_flag; ++ unsigned int aspect_ratio_idc; ++ unsigned int sar_width; ++ unsigned int sar_height; ++ unsigned int overscan_info_present_flag; ++ unsigned int overscan_appropriate_flag; ++ unsigned int video_signal_type_present_flag; ++ unsigned int video_format; ++ unsigned int video_full_range_flag; ++ unsigned int colour_description_present_flag; ++ unsigned int colour_primaries; ++ unsigned int transfer_characteristics; ++ unsigned int matrix_coefficients; ++ unsigned int chroma_loc_info_present_flag; ++ unsigned int chroma_sample_loc_type_top_field; ++ unsigned int chroma_sample_loc_type_bottom_field; ++ unsigned int timing_info_present_flag; ++ unsigned int num_units_in_tick; ++ unsigned int time_scale; ++ unsigned int fixed_frame_rate_flag; + }; + + struct AP4_AvcPictureParameterSet { +diff --git a/Source/C++/Core/Ap4Utils.cpp b/Source/C++/Core/Ap4Utils.cpp +index 96def27..6de4dba 100644 +--- a/Source/C++/Core/Ap4Utils.cpp ++++ b/Source/C++/Core/Ap4Utils.cpp +@@ -581,4 +581,12 @@ AP4_BitReader::SkipBit() + } + } + ++/*---------------------------------------------------------------------- ++| AP4_BitReader::BitsLeft +++---------------------------------------------------------------------*/ ++AP4_UI32 ++AP4_BitReader::BitsLeft() ++{ ++ return (m_Buffer.GetDataSize() - m_Position) * 8 + m_BitsCached; ++} + +diff --git a/Source/C++/Core/Ap4Utils.h b/Source/C++/Core/Ap4Utils.h +index 475bff3..e66bafa 100644 +--- a/Source/C++/Core/Ap4Utils.h ++++ b/Source/C++/Core/Ap4Utils.h +@@ -262,7 +262,7 @@ public: + AP4_Result SkipBytes(AP4_Size byte_count); + void SkipBit(); + void SkipBits(unsigned int bit_count); +- ++ AP4_UI32 BitsLeft(); + unsigned int GetBitsRead(); + + private: +-- +2.30.2 + diff --git a/package/bento4/0005-AVC-extract-VUI-values-from-SPS.patch b/package/bento4/0005-AVC-extract-VUI-values-from-SPS.patch new file mode 100644 index 00000000000..27b9572269f --- /dev/null +++ b/package/bento4/0005-AVC-extract-VUI-values-from-SPS.patch @@ -0,0 +1,96 @@ +From 56e0acde44adbc5503da20dd96c31db33f744bd7 Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 10:27:50 +0200 +Subject: [PATCH] AVC extract VUI values from SPS + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Codecs/Ap4AvcParser.cpp | 54 +++++++++++++++++++++++++----- + Source/C++/Codecs/Ap4AvcParser.h | 3 +- + 2 files changed, 47 insertions(+), 10 deletions(-) + +diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp +index 7efb5c9..7f4fc34 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.cpp ++++ b/Source/C++/Codecs/Ap4AvcParser.cpp +@@ -287,18 +287,54 @@ AP4_AvcSequenceParameterSet::AP4_AvcSequenceParameterSet() : + /*---------------------------------------------------------------------- + | AP4_AvcSequenceParameterSet::GetInfo + +---------------------------------------------------------------------*/ +-void ++bool + AP4_AvcSequenceParameterSet::GetInfo(unsigned int& width, unsigned int& height) + { +- width = (pic_width_in_mbs_minus1+1) * 16; +- height = (2-frame_mbs_only_flag) * (pic_height_in_map_units_minus1+1) * 16; ++ unsigned int nwidth = (pic_width_in_mbs_minus1+1) * 16; ++ unsigned int nheight = (2-frame_mbs_only_flag) * (pic_height_in_map_units_minus1+1) * 16; + +- if (frame_cropping_flag) { +- unsigned int crop_h = 2*(frame_crop_left_offset+frame_crop_right_offset); +- unsigned int crop_v = 2*(frame_crop_top_offset+frame_crop_bottom_offset)*(2-frame_mbs_only_flag); +- if (crop_h < width) width -= crop_h; +- if (crop_v < height) height -= crop_v; +- } ++ if (frame_cropping_flag) { ++ unsigned int crop_h = 2*(frame_crop_left_offset+frame_crop_right_offset); ++ unsigned int crop_v = 2*(frame_crop_top_offset+frame_crop_bottom_offset)*(2-frame_mbs_only_flag); ++ if (crop_h < nwidth) nwidth -= crop_h; ++ if (crop_v < nheight) nheight -= crop_v; ++ } ++ if (nwidth != width || nheight != height) ++ { ++ width = nwidth; ++ height = nheight; ++ return true; ++ } ++ return false; ++} ++ ++/*---------------------------------------------------------------------- ++| AP4_AvcSequenceParameterSet::GetVUIInfo +++---------------------------------------------------------------------*/ ++bool ++AP4_AvcSequenceParameterSet::GetVUIInfo(unsigned int& fps_ticks, unsigned int& fps_scale, float &aspect) ++{ ++ bool ret(false); ++ if (timing_info_present_flag && fixed_frame_rate_flag) ++ { ++ if (fps_scale != (num_units_in_tick << 1) || fps_ticks != time_scale) ++ { ++ fps_scale = num_units_in_tick << 1; ++ fps_ticks = time_scale; ++ ret = true; ++ } ++ } ++ unsigned int w, h; ++ if (aspect_ratio_info_present_flag && GetInfo(w, h)) ++ { ++ float a((float)(sar_width * w) / (sar_height * h)); ++ if (a != aspect) ++ { ++ aspect = a; ++ ret = true; ++ } ++ } ++ return ret; + } + + /*---------------------------------------------------------------------- +diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h +index 9f97892..431a294 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.h ++++ b/Source/C++/Codecs/Ap4AvcParser.h +@@ -91,7 +91,8 @@ typedef struct { + struct AP4_AvcSequenceParameterSet { + AP4_AvcSequenceParameterSet(); + +- void GetInfo(unsigned int& width, unsigned int& height); ++ bool GetInfo(unsigned int& width, unsigned int& height); ++ bool GetVUIInfo(unsigned int& fps_ticks, unsigned int& fps_scale, float &aspect); + + AP4_DataBuffer raw_bytes; + +-- +2.30.2 + diff --git a/package/bento4/0006-Implement-SPS-Frame-parser.patch b/package/bento4/0006-Implement-SPS-Frame-parser.patch new file mode 100644 index 00000000000..d2c224ccf90 --- /dev/null +++ b/package/bento4/0006-Implement-SPS-Frame-parser.patch @@ -0,0 +1,67 @@ +From 441247d84e8493a49d234fe062100b049956de90 Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 10:34:42 +0200 +Subject: [PATCH] Implement SPS Frame parser + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Codecs/Ap4AvcParser.cpp | 26 ++++++++++++++++++++++++++ + Source/C++/Codecs/Ap4AvcParser.h | 5 +++++ + 2 files changed, 31 insertions(+) + +diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp +index 7f4fc34..cfa841d 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.cpp ++++ b/Source/C++/Codecs/Ap4AvcParser.cpp +@@ -1112,6 +1112,32 @@ AP4_AvcFrameParser::AppendNalUnitData(const unsigned char* data, unsigned int da + m_AccessUnitData.Append(new AP4_DataBuffer(data, data_size)); + } + ++/*---------------------------------------------------------------------- ++| AP4_AvcFrameParser::Feed +++---------------------------------------------------------------------*/ ++AP4_Result AP4_AvcFrameParser::ParseFrameForSPS(const AP4_Byte* data, AP4_Size data_size, AP4_UI08 naluLengthSize, AP4_AvcSequenceParameterSet &sps) ++{ ++ if (data_size < naluLengthSize) ++ return AP4_ERROR_EOS; ++ ++ while (data_size > naluLengthSize) ++ { ++ AP4_Size nalSize(0); ++ for (unsigned int i(0); i < naluLengthSize; ++i) { nalSize = (nalSize << 8) + *data++; }; ++ data_size -= naluLengthSize; ++ if (nalSize > data_size) ++ return AP4_ERROR_INVALID_PARAMETERS; ++ ++ if ((*data & 0x1F) == AP4_AVC_NAL_UNIT_TYPE_SPS) ++ { ++ AP4_AvcFrameParser fp; ++ return fp.ParseSPS(data, data_size, sps); ++ } ++ data_size -= nalSize; ++ } ++ return AP4_SUCCESS; ++} ++ + /*---------------------------------------------------------------------- + | AP4_AvcFrameParser::Feed + +---------------------------------------------------------------------*/ +diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h +index 431a294..99c5320 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.h ++++ b/Source/C++/Codecs/Ap4AvcParser.h +@@ -258,6 +258,11 @@ public: + AP4_AvcFrameParser(); + ~AP4_AvcFrameParser(); + ++ static AP4_Result ParseFrameForSPS(const AP4_Byte* data, ++ AP4_Size data_size, ++ AP4_UI08 naluLengthSize, ++ AP4_AvcSequenceParameterSet &sps); ++ + /** + * Feed some data to the parser and look for the next NAL Unit. + * +-- +2.30.2 + diff --git a/package/bento4/0007-Fix-segfault-when-AP4_Sample-s-seek.patch b/package/bento4/0007-Fix-segfault-when-AP4_Sample-s-seek.patch new file mode 100644 index 00000000000..bd7f4346528 --- /dev/null +++ b/package/bento4/0007-Fix-segfault-when-AP4_Sample-s-seek.patch @@ -0,0 +1,25 @@ +From b36f3c02a93029308654f77c01c3c04259449c5c Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 10:35:48 +0200 +Subject: [PATCH] Fix segfault when AP4_Sample's seek + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4LinearReader.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp +index 7cc3ebd..61dd60e 100644 +--- a/Source/C++/Core/Ap4LinearReader.cpp ++++ b/Source/C++/Core/Ap4LinearReader.cpp +@@ -482,6 +482,7 @@ AP4_LinearReader::Advance(bool read_data) + result = buffer->m_Sample->ReadData(buffer->m_Data); + } + if (AP4_FAILED(result)) { ++ buffer->m_Sample = nullptr; + delete buffer; + return result; + } +-- +2.30.2 + diff --git a/package/bento4/0008-Hack-HBO.patch b/package/bento4/0008-Hack-HBO.patch new file mode 100644 index 00000000000..ed297574a83 --- /dev/null +++ b/package/bento4/0008-Hack-HBO.patch @@ -0,0 +1,214 @@ +From 37e54320f2822bdc7eab50eb54b1fc4a452c7f60 Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 11:18:14 +0200 +Subject: [PATCH] Hack HBO + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4FragmentSampleTable.cpp | 8 +++++++- + Source/C++/Core/Ap4FragmentSampleTable.h | 1 + + Source/C++/Core/Ap4LinearReader.cpp | 20 +++++++++++++------- + Source/C++/Core/Ap4LinearReader.h | 3 ++- + Source/C++/Core/Ap4MovieFragment.cpp | 5 ++++- + Source/C++/Core/Ap4MovieFragment.h | 2 ++ + Source/C++/Core/Ap4Processor.cpp | 3 ++- + 7 files changed, 31 insertions(+), 11 deletions(-) + +diff --git a/Source/C++/Core/Ap4FragmentSampleTable.cpp b/Source/C++/Core/Ap4FragmentSampleTable.cpp +index 3fbb53e..cea5c7d 100644 +--- a/Source/C++/Core/Ap4FragmentSampleTable.cpp ++++ b/Source/C++/Core/Ap4FragmentSampleTable.cpp +@@ -47,6 +47,7 @@ AP4_FragmentSampleTable::AP4_FragmentSampleTable(AP4_ContainerAtom* traf, + AP4_ByteStream* sample_stream, + AP4_Position moof_offset, + AP4_Position mdat_payload_offset, ++ AP4_UI64 mdat_payload_size, + AP4_UI64 dts_origin) : + m_Duration(0) + { +@@ -73,6 +74,7 @@ AP4_FragmentSampleTable::AP4_FragmentSampleTable(AP4_ContainerAtom* traf, + } + + // process all the trun atoms ++ AP4_UI32 trun_flags(0); + for (AP4_List::Item* item = traf->GetChildren().FirstItem(); + item; + item = item->GetNext()) { +@@ -88,9 +90,13 @@ AP4_FragmentSampleTable::AP4_FragmentSampleTable(AP4_ContainerAtom* traf, + mdat_payload_offset, + dts_origin); + if (AP4_FAILED(result)) return; ++ trun_flags |= trun->GetFlags(); + } + } +- } ++ } ++ // Hack if we have a single sample and default sample size is wrong (hbo ttml) ++ if (m_Samples.ItemCount() == 1 && (trun_flags & AP4_TRUN_FLAG_SAMPLE_SIZE_PRESENT) == 0) ++ m_Samples[0].SetSize(mdat_payload_size); + } + + /*---------------------------------------------------------------------- +diff --git a/Source/C++/Core/Ap4FragmentSampleTable.h b/Source/C++/Core/Ap4FragmentSampleTable.h +index 67192de..29fa4a9 100644 +--- a/Source/C++/Core/Ap4FragmentSampleTable.h ++++ b/Source/C++/Core/Ap4FragmentSampleTable.h +@@ -57,6 +57,7 @@ class AP4_FragmentSampleTable : public AP4_SampleTable + AP4_ByteStream* sample_stream, + AP4_Position moof_offset, + AP4_Position mdat_payload_offset, // hack because MS doesn't implement the spec correctly ++ AP4_UI64 mdat_payload_size, + AP4_UI64 dts_origin=0); + virtual ~AP4_FragmentSampleTable(); + +diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp +index 61dd60e..eabeacf 100644 +--- a/Source/C++/Core/Ap4LinearReader.cpp ++++ b/Source/C++/Core/Ap4LinearReader.cpp +@@ -309,7 +309,8 @@ AP4_LinearReader::ProcessTrack(AP4_Track* track) + AP4_Result + AP4_LinearReader::ProcessMoof(AP4_ContainerAtom* moof, + AP4_Position moof_offset, +- AP4_Position mdat_payload_offset) ++ AP4_Position mdat_payload_offset, ++ AP4_UI64 mdat_payload_size) + { + AP4_Result result; + +@@ -334,7 +335,8 @@ AP4_LinearReader::ProcessMoof(AP4_ContainerAtom* moof, + ids[j], + m_FragmentStream, + moof_offset, +- mdat_payload_offset, ++ mdat_payload_offset, ++ mdat_payload_size, + tracker->m_NextDts, + sample_table); + if (AP4_FAILED(result)) return result; +@@ -382,13 +384,11 @@ AP4_LinearReader::AdvanceFragment() + AP4_Position position = 0; + m_FragmentStream->Tell(position); + +- // process the movie fragment +- result = ProcessMoof(moof, position-atom->GetSize(), position+8); +- if (AP4_FAILED(result)) return result; +- + // compute where the next fragment will be + AP4_UI32 size; + AP4_UI32 type; ++ AP4_UI64 size_64 = 0; ++ + m_FragmentStream->Tell(position); + result = m_FragmentStream->ReadUI32(size); + if (AP4_FAILED(result)) return AP4_SUCCESS; // can't read more +@@ -397,13 +397,19 @@ AP4_LinearReader::AdvanceFragment() + if (size == 0) { + m_NextFragmentPosition = 0; + } else if (size == 1) { +- AP4_UI64 size_64 = 0; + result = m_FragmentStream->ReadUI64(size_64); + if (AP4_FAILED(result)) return AP4_SUCCESS; // can't read more + m_NextFragmentPosition = position+size_64; ++ size_64 -= 8; + } else { + m_NextFragmentPosition = position+size; ++ size_64 = size; + } ++ ++ // process the movie fragment ++ result = ProcessMoof(moof, position - atom->GetSize(), position + 8, size_64 - 8); ++ if (AP4_FAILED(result)) return result; ++ + return AP4_SUCCESS; + } else { + delete atom; +diff --git a/Source/C++/Core/Ap4LinearReader.h b/Source/C++/Core/Ap4LinearReader.h +index 21f4871..929b4e1 100644 +--- a/Source/C++/Core/Ap4LinearReader.h ++++ b/Source/C++/Core/Ap4LinearReader.h +@@ -161,7 +161,8 @@ protected: + virtual AP4_Result ProcessTrack(AP4_Track* track); + virtual AP4_Result ProcessMoof(AP4_ContainerAtom* moof, + AP4_Position moof_offset, +- AP4_Position mdat_payload_offset); ++ AP4_Position mdat_payload_offset, ++ AP4_UI64 mdat_payload_size); + + // methods + Tracker* FindTracker(AP4_UI32 track_id); +diff --git a/Source/C++/Core/Ap4MovieFragment.cpp b/Source/C++/Core/Ap4MovieFragment.cpp +index 028d42d..c2ead25 100644 +--- a/Source/C++/Core/Ap4MovieFragment.cpp ++++ b/Source/C++/Core/Ap4MovieFragment.cpp +@@ -127,6 +127,7 @@ AP4_MovieFragment::CreateSampleTable(AP4_MoovAtom* moov, + AP4_ByteStream* sample_stream, + AP4_Position moof_offset, + AP4_Position mdat_payload_offset, ++ AP4_UI64 mdat_payload_size, + AP4_UI64 dts_origin, + AP4_FragmentSampleTable*& sample_table) + { +@@ -158,6 +159,7 @@ AP4_MovieFragment::CreateSampleTable(AP4_MoovAtom* moov, + sample_stream, + moof_offset, + mdat_payload_offset, ++ mdat_payload_size, + dts_origin); + return AP4_SUCCESS; + } +@@ -174,9 +176,10 @@ AP4_MovieFragment::CreateSampleTable(AP4_Movie* movie, + AP4_ByteStream* sample_stream, + AP4_Position moof_offset, + AP4_Position mdat_payload_offset, ++ AP4_UI64 mdat_payload_size, + AP4_UI64 dts_origin, + AP4_FragmentSampleTable*& sample_table) + { + AP4_MoovAtom* moov = movie?movie->GetMoovAtom():NULL; +- return CreateSampleTable(moov, track_id, sample_stream, moof_offset, mdat_payload_offset, dts_origin, sample_table); ++ return CreateSampleTable(moov, track_id, sample_stream, moof_offset, mdat_payload_offset, mdat_payload_size, dts_origin, sample_table); + } +diff --git a/Source/C++/Core/Ap4MovieFragment.h b/Source/C++/Core/Ap4MovieFragment.h +index f829411..de59c42 100644 +--- a/Source/C++/Core/Ap4MovieFragment.h ++++ b/Source/C++/Core/Ap4MovieFragment.h +@@ -70,6 +70,7 @@ public: + AP4_ByteStream* sample_stream, + AP4_Position moof_offset, + AP4_Position mdat_payload_offset, // hack because MS doesn't implement the spec properly ++ AP4_UI64 mdat_payload_size, + AP4_UI64 dts_origin, + AP4_FragmentSampleTable*& sample_table); + AP4_Result CreateSampleTable(AP4_Movie* movie, +@@ -77,6 +78,7 @@ public: + AP4_ByteStream* sample_stream, + AP4_Position moof_offset, + AP4_Position mdat_payload_offset, // hack because MS doesn't implement the spec properly ++ AP4_UI64 mdat_payload_size, + AP4_UI64 dts_origin, + AP4_FragmentSampleTable*& sample_table); + +diff --git a/Source/C++/Core/Ap4Processor.cpp b/Source/C++/Core/Ap4Processor.cpp +index c4e1d78..365d955 100644 +--- a/Source/C++/Core/Ap4Processor.cpp ++++ b/Source/C++/Core/Ap4Processor.cpp +@@ -156,6 +156,7 @@ AP4_Processor::ProcessFragments(AP4_MoovAtom* moov, + AP4_Atom* atom = locator->m_Atom; + AP4_UI64 atom_offset = locator->m_Offset; + AP4_UI64 mdat_payload_offset = atom_offset+atom->GetSize()+AP4_ATOM_HEADER_SIZE; ++ AP4_UI64 mdat_payload_size = atom->GetSize(); + AP4_Sample sample; + AP4_DataBuffer sample_data_in; + AP4_DataBuffer sample_data_out; +@@ -226,7 +227,7 @@ AP4_Processor::ProcessFragments(AP4_MoovAtom* moov, + + // create a sample table object so we can read the sample data + AP4_FragmentSampleTable* sample_table = NULL; +- result = fragment->CreateSampleTable(moov, tfhd->GetTrackId(), &input, atom_offset, mdat_payload_offset, 0, sample_table); ++ result = fragment->CreateSampleTable(moov, tfhd->GetTrackId(), &input, atom_offset, mdat_payload_offset, mdat_payload_size, 0, sample_table); + if (AP4_FAILED(result)) return result; + sample_tables.Append(sample_table); + +-- +2.30.2 + diff --git a/package/bento4/0009-Android-32-ftello-fix.patch b/package/bento4/0009-Android-32-ftello-fix.patch new file mode 100644 index 00000000000..0adca20ed08 --- /dev/null +++ b/package/bento4/0009-Android-32-ftello-fix.patch @@ -0,0 +1,31 @@ +From f12fbb6f54b8302db2ab7c926a26f9189cf86532 Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 10:41:35 +0200 +Subject: [PATCH] Android 32 ftello fix + +ref: https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4Config.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/C++/Core/Ap4Config.h b/Source/C++/Core/Ap4Config.h +index 422069e..c859a03 100644 +--- a/Source/C++/Core/Ap4Config.h ++++ b/Source/C++/Core/Ap4Config.h +@@ -141,10 +141,10 @@ + #endif + + #if !defined(AP4_fseek) +-#define AP4_fseek fseeko ++#define AP4_fseek fseek + #endif + #if !defined(AP4_ftell) +-#define AP4_ftell ftello ++#define AP4_ftell ftell + #endif + + /* some compilers (ex: MSVC 8) deprecate those, so we rename them */ +-- +2.30.2 + diff --git a/package/bento4/0010-Dazn-sample-duration-workaround.patch b/package/bento4/0010-Dazn-sample-duration-workaround.patch new file mode 100644 index 00000000000..5c64210324a --- /dev/null +++ b/package/bento4/0010-Dazn-sample-duration-workaround.patch @@ -0,0 +1,30 @@ +From 10f931c703c68b4fc856e09788dfe64579252bb8 Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 10:48:36 +0200 +Subject: [PATCH] Dazn sample duration workaround + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4TrunAtom.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/Source/C++/Core/Ap4TrunAtom.cpp b/Source/C++/Core/Ap4TrunAtom.cpp +index c51f21d..77b7c6d 100644 +--- a/Source/C++/Core/Ap4TrunAtom.cpp ++++ b/Source/C++/Core/Ap4TrunAtom.cpp +@@ -128,6 +128,12 @@ AP4_TrunAtom::AP4_TrunAtom(AP4_UI32 size, + for (unsigned int i=0; i 1 sequences ++ if (i && m_Entries[i].sample_duration == 1 && m_Entries[i - 1].sample_duration > 1) ++ { ++ m_Entries[i].sample_duration = m_Entries[i - 1].sample_duration >> 1; ++ m_Entries[i - 1].sample_duration -= m_Entries[i].sample_duration; ++ } + --record_fields_count; + } + if (flags & AP4_TRUN_FLAG_SAMPLE_SIZE_PRESENT) { +-- +2.30.2 + diff --git a/package/bento4/0011-Add-argument-to-reuse-single-sample-decrypter.patch b/package/bento4/0011-Add-argument-to-reuse-single-sample-decrypter.patch new file mode 100644 index 00000000000..15159af892d --- /dev/null +++ b/package/bento4/0011-Add-argument-to-reuse-single-sample-decrypter.patch @@ -0,0 +1,179 @@ +From 7bb5120b52814e4471a165e295acdc6b6155259e Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 11:01:12 +0200 +Subject: [PATCH] Add argument to reuse single sample decrypter + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4CommonEncryption.cpp | 36 ++++++++++++++++++------- + Source/C++/Core/Ap4CommonEncryption.h | 8 +++++- + Source/C++/Core/Ap4Protection.cpp | 3 ++- + 3 files changed, 35 insertions(+), 12 deletions(-) + +diff --git a/Source/C++/Core/Ap4CommonEncryption.cpp b/Source/C++/Core/Ap4CommonEncryption.cpp +index 5308200..cb5c328 100644 +--- a/Source/C++/Core/Ap4CommonEncryption.cpp ++++ b/Source/C++/Core/Ap4CommonEncryption.cpp +@@ -1967,6 +1967,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti + const AP4_UI08* key, + AP4_Size key_size, + AP4_BlockCipherFactory* block_cipher_factory, ++ AP4_CencSingleSampleDecrypter* singlesample_decrypter, + AP4_CencSampleDecrypter*& decrypter) + { + AP4_SaioAtom* saio = NULL; +@@ -1982,6 +1983,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti + saio, + saiz, + sample_encryption_atom, ++ singlesample_decrypter, + decrypter); + } + +@@ -1999,6 +2001,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti + AP4_SaioAtom*& saio, + AP4_SaizAtom*& saiz, + AP4_CencSampleEncryption*& sample_encryption_atom, ++ AP4_CencSingleSampleDecrypter* singlesample_decrypter, + AP4_CencSampleDecrypter*& decrypter) + { + // default return values +@@ -2032,6 +2035,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti + key_size, + block_cipher_factory, + reset_iv_at_each_subsample, ++ singlesample_decrypter, + decrypter); + } + +@@ -2045,6 +2049,7 @@ AP4_CencSampleDecrypter::Create(AP4_CencSampleInfoTable* sample_info_table, + AP4_Size key_size, + AP4_BlockCipherFactory* block_cipher_factory, + bool reset_iv_at_each_subsample, ++ AP4_CencSingleSampleDecrypter* singlesample_decrypter, + AP4_CencSampleDecrypter*& decrypter) + { + // default return value +@@ -2074,15 +2079,23 @@ AP4_CencSampleDecrypter::Create(AP4_CencSampleInfoTable* sample_info_table, + + // create a single-sample decrypter + AP4_CencSingleSampleDecrypter* single_sample_decrypter = NULL; +- AP4_Result result = AP4_CencSingleSampleDecrypter::Create(cipher_type, +- key, +- key_size, +- sample_info_table->GetCryptByteBlock(), +- sample_info_table->GetSkipByteBlock(), +- block_cipher_factory, +- reset_iv_at_each_subsample, +- single_sample_decrypter); +- if (AP4_FAILED(result)) return result; ++ if (!singlesample_decrypter) ++ { ++ AP4_Result result = AP4_CencSingleSampleDecrypter::Create(cipher_type, ++ key, ++ key_size, ++ sample_info_table->GetCryptByteBlock(), ++ sample_info_table->GetSkipByteBlock(), ++ block_cipher_factory, ++ reset_iv_at_each_subsample, ++ single_sample_decrypter); ++ ++ if (AP4_FAILED(result)) return result; ++ } ++ else ++ { ++ single_sample_decrypter = singlesample_decrypter; ++ } + + // create the decrypter + decrypter = new AP4_CencSampleDecrypter(single_sample_decrypter, sample_info_table); +@@ -2333,7 +2346,9 @@ AP4_CencFragmentDecrypter::ProcessSample(AP4_DataBuffer& data_in, + | AP4_CencDecryptingProcessor::AP4_CencDecryptingProcessor + +---------------------------------------------------------------------*/ + AP4_CencDecryptingProcessor::AP4_CencDecryptingProcessor(const AP4_ProtectionKeyMap* key_map, +- AP4_BlockCipherFactory* block_cipher_factory) : ++ AP4_BlockCipherFactory* block_cipher_factory, ++ AP4_CencSingleSampleDecrypter *cenc_singlesample_decrypter) : ++ m_CencSingleSampleDecrypter(cenc_singlesample_decrypter), + m_KeyMap(key_map) + { + if (block_cipher_factory) { +@@ -2483,6 +2498,7 @@ AP4_CencDecryptingProcessor::CreateFragmentHandler(AP4_TrakAtom* trak, + saio, + saiz, + sample_encryption_atom, ++ m_CencSingleSampleDecrypter, + sample_decrypter); + if (AP4_FAILED(result)) return NULL; + +diff --git a/Source/C++/Core/Ap4CommonEncryption.h b/Source/C++/Core/Ap4CommonEncryption.h +index 580de66..a6b20ce 100644 +--- a/Source/C++/Core/Ap4CommonEncryption.h ++++ b/Source/C++/Core/Ap4CommonEncryption.h +@@ -48,6 +48,7 @@ class AP4_SaioAtom; + class AP4_CencSampleInfoTable; + class AP4_AvcFrameParser; + class AP4_HevcFrameParser; ++class AP4_CencSingleSampleDecrypter; + + /*---------------------------------------------------------------------- + | constants +@@ -654,7 +655,8 @@ class AP4_CencDecryptingProcessor : public AP4_Processor + public: + // constructor + AP4_CencDecryptingProcessor(const AP4_ProtectionKeyMap* key_map, +- AP4_BlockCipherFactory* block_cipher_factory = NULL); ++ AP4_BlockCipherFactory* block_cipher_factory = NULL, ++ AP4_CencSingleSampleDecrypter* cenc_singlesample_decrypter = NULL); + + // AP4_Processor methods + virtual AP4_Processor::TrackHandler* CreateTrackHandler(AP4_TrakAtom* trak); +@@ -670,6 +672,7 @@ protected: + + // members + AP4_BlockCipherFactory* m_BlockCipherFactory; ++ AP4_CencSingleSampleDecrypter* m_CencSingleSampleDecrypter; + const AP4_ProtectionKeyMap* m_KeyMap; + }; + +@@ -752,6 +755,7 @@ public: + AP4_SaioAtom*& saio_atom, // [out] + AP4_SaizAtom*& saiz_atom, // [out] + AP4_CencSampleEncryption*& sample_encryption_atom, // [out] ++ AP4_CencSingleSampleDecrypter* singlesample_decrypter, + AP4_CencSampleDecrypter*& decrypter); + + static AP4_Result Create(AP4_ProtectedSampleDescription* sample_description, +@@ -761,6 +765,7 @@ public: + const AP4_UI08* key, + AP4_Size key_size, + AP4_BlockCipherFactory* block_cipher_factory, ++ AP4_CencSingleSampleDecrypter* singlesample_decrypter, + AP4_CencSampleDecrypter*& decrypter); + + static AP4_Result Create(AP4_CencSampleInfoTable* sample_info_table, +@@ -769,6 +774,7 @@ public: + AP4_Size key_size, + AP4_BlockCipherFactory* block_cipher_factory, + bool reset_iv_at_each_subsample, ++ AP4_CencSingleSampleDecrypter* singlesample_decrypter, + AP4_CencSampleDecrypter*& decrypter); + + // methods +diff --git a/Source/C++/Core/Ap4Protection.cpp b/Source/C++/Core/Ap4Protection.cpp +index fd421e9..80bb9f0 100644 +--- a/Source/C++/Core/Ap4Protection.cpp ++++ b/Source/C++/Core/Ap4Protection.cpp +@@ -812,7 +812,8 @@ AP4_SampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_description, + aux_info_data_offset, + key, + key_size, +- block_cipher_factory, ++ block_cipher_factory, ++ NULL, + decrypter); + if (AP4_FAILED(result)) return NULL; + return decrypter; +-- +2.30.2 + diff --git a/package/bento4/0012-Static-ReadGolomb-SignedGolomb.patch b/package/bento4/0012-Static-ReadGolomb-SignedGolomb.patch new file mode 100644 index 00000000000..d20e1191bf7 --- /dev/null +++ b/package/bento4/0012-Static-ReadGolomb-SignedGolomb.patch @@ -0,0 +1,54 @@ +From 91e148a9c53811447d35c36d9f11f767d49477a0 Mon Sep 17 00:00:00 2001 +From: Glenn Guy +Date: Thu, 22 Jul 2021 11:04:26 +0200 +Subject: [PATCH] Static ReadGolomb/SignedGolomb + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Codecs/Ap4AvcParser.cpp | 8 ++++---- + Source/C++/Codecs/Ap4AvcParser.h | 3 +++ + 2 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp +index cfa841d..a17b698 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.cpp ++++ b/Source/C++/Codecs/Ap4AvcParser.cpp +@@ -191,8 +191,8 @@ AP4_AvcFrameParser::~AP4_AvcFrameParser() + /*---------------------------------------------------------------------- + | ReadGolomb + +---------------------------------------------------------------------*/ +-static unsigned int +-ReadGolomb(AP4_BitReader& bits) ++unsigned int ++AP4_AvcFrameParser::ReadGolomb(AP4_BitReader& bits) + { + unsigned int leading_zeros = 0; + while (bits.ReadBit() == 0) { +@@ -209,8 +209,8 @@ ReadGolomb(AP4_BitReader& bits) + /*---------------------------------------------------------------------- + | SignedGolomb + +---------------------------------------------------------------------*/ +-static int +-SignedGolomb(unsigned int code_num) ++int ++AP4_AvcFrameParser::SignedGolomb(unsigned int code_num) + { + if (code_num % 2) { + return (code_num+1)/2; +diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h +index 99c5320..0c74c0e 100644 +--- a/Source/C++/Codecs/Ap4AvcParser.h ++++ b/Source/C++/Codecs/Ap4AvcParser.h +@@ -321,6 +321,9 @@ public: + unsigned int nal_ref_idc, + AP4_AvcSliceHeader& slice_header); + ++ static unsigned int ReadGolomb(AP4_BitReader& bits); ++ static int SignedGolomb(unsigned int code_num); ++ + private: + // methods + bool SameFrame(unsigned int nal_unit_type_1, unsigned int nal_ref_idc_1, AP4_AvcSliceHeader& sh1, +-- +2.30.2 + diff --git a/package/bento4/0013-Add-GetChannels-method.patch b/package/bento4/0013-Add-GetChannels-method.patch new file mode 100644 index 00000000000..7e3f6e69aca --- /dev/null +++ b/package/bento4/0013-Add-GetChannels-method.patch @@ -0,0 +1,40 @@ +From 15e31e3641e4f85475984bf4d9ebf8ae47303a8a Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 11:07:13 +0200 +Subject: [PATCH] Add GetChannels method + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4Dac3Atom.cpp | 6 ++++++ + Source/C++/Core/Ap4Dac3Atom.h | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/Source/C++/Core/Ap4Dac3Atom.cpp b/Source/C++/Core/Ap4Dac3Atom.cpp +index 80a511e..a9ea78a 100644 +--- a/Source/C++/Core/Ap4Dac3Atom.cpp ++++ b/Source/C++/Core/Ap4Dac3Atom.cpp +@@ -143,3 +143,9 @@ AP4_Dac3Atom::InspectFields(AP4_AtomInspector& inspector) + inspector.AddField("lfeon", m_StreamInfo.lfeon); + return AP4_SUCCESS; + } ++ ++AP4_UI08 AP4_Dac3Atom::GetChannels() const ++{ ++ static const AP4_UI08 CC[] = { 2, 1, 2, 3, 3, 4, 4, 5 }; ++ return CC[m_StreamInfo.acmod] + m_StreamInfo.lfeon; ++} +diff --git a/Source/C++/Core/Ap4Dac3Atom.h b/Source/C++/Core/Ap4Dac3Atom.h +index 2532ef2..78e2875 100644 +--- a/Source/C++/Core/Ap4Dac3Atom.h ++++ b/Source/C++/Core/Ap4Dac3Atom.h +@@ -73,6 +73,7 @@ public: + const AP4_DataBuffer& GetRawBytes() const { return m_RawBytes; } + unsigned int GetDataRate() const { return m_DataRate; } + const StreamInfo& GetStreamInfo() const { return m_StreamInfo; } ++ AP4_UI08 GetChannels() const; + + private: + // methods +-- +2.30.2 + diff --git a/package/bento4/0014-Implemented-GetSampleIndexForTimeStamp-GetNearestSyn.patch b/package/bento4/0014-Implemented-GetSampleIndexForTimeStamp-GetNearestSyn.patch new file mode 100644 index 00000000000..a2bc7aefebe --- /dev/null +++ b/package/bento4/0014-Implemented-GetSampleIndexForTimeStamp-GetNearestSyn.patch @@ -0,0 +1,59 @@ +From f673675843144785658a010bab455972d83af004 Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 11:09:37 +0200 +Subject: [PATCH] Implemented + GetSampleIndexForTimeStamp/GetNearestSyncSampleIndex + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4FragmentSampleTable.cpp | 25 ++++++++++++++++++---- + 1 file changed, 21 insertions(+), 4 deletions(-) + +diff --git a/Source/C++/Core/Ap4FragmentSampleTable.cpp b/Source/C++/Core/Ap4FragmentSampleTable.cpp +index cea5c7d..1c62f24 100644 +--- a/Source/C++/Core/Ap4FragmentSampleTable.cpp ++++ b/Source/C++/Core/Ap4FragmentSampleTable.cpp +@@ -297,10 +297,19 @@ AP4_FragmentSampleTable::GetSampleChunkPosition(AP4_Ordinal sample_index, + | AP4_FragmentSampleTable::GetSampleIndexForTimeStamp + +---------------------------------------------------------------------*/ + AP4_Result +-AP4_FragmentSampleTable::GetSampleIndexForTimeStamp(AP4_UI64 /*ts*/, ++AP4_FragmentSampleTable::GetSampleIndexForTimeStamp(AP4_UI64 ts, + AP4_Ordinal& sample_index) + { +- sample_index = 0; // TODO ++ if (!m_Samples.ItemCount()) ++ return AP4_ERROR_NOT_ENOUGH_DATA; ++ ++ sample_index = 0; ++ while (sample_index < m_Samples.ItemCount() && m_Samples[sample_index].GetCts() + m_Samples[sample_index].GetDuration() < ts) ++ ++sample_index; ++ ++ if (sample_index == m_Samples.ItemCount()) ++ return AP4_ERROR_NOT_ENOUGH_DATA; ++ + return AP4_SUCCESS; + } + +@@ -308,8 +317,16 @@ AP4_FragmentSampleTable::GetSampleIndexForTimeStamp(AP4_UI64 /*ts*/, + | AP4_FragmentSampleTable::GetNearestSyncSampleIndex + +---------------------------------------------------------------------*/ + AP4_Ordinal +-AP4_FragmentSampleTable::GetNearestSyncSampleIndex(AP4_Ordinal /*sample_index*/, bool /*before*/) ++AP4_FragmentSampleTable::GetNearestSyncSampleIndex(AP4_Ordinal sample_index, bool before) + { +- return 0; // TODO ++ if (sample_index >= m_Samples.ItemCount()) ++ return sample_index; ++ ++ AP4_Ordinal end(before ? 0 : m_Samples.ItemCount()); ++ ++ while (sample_index != end && !m_Samples[sample_index].IsSync()) ++ sample_index = sample_index + (before ? -1 : 1); ++ ++ return sample_index; + } + +-- +2.30.2 + diff --git a/package/bento4/0015-Avoid-set-next-fragment-position.patch b/package/bento4/0015-Avoid-set-next-fragment-position.patch new file mode 100644 index 00000000000..ded33ffdaf2 --- /dev/null +++ b/package/bento4/0015-Avoid-set-next-fragment-position.patch @@ -0,0 +1,43 @@ +From 0658d38be16c88585b248b237895b4dc63f28e79 Mon Sep 17 00:00:00 2001 +From: peak3d +Date: Thu, 22 Jul 2021 11:23:13 +0200 +Subject: [PATCH] Avoid set next fragment position + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4LinearReader.cpp | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp +index eabeacf..61c3a9d 100644 +--- a/Source/C++/Core/Ap4LinearReader.cpp ++++ b/Source/C++/Core/Ap4LinearReader.cpp +@@ -54,8 +54,8 @@ AP4_LinearReader::AP4_LinearReader(AP4_Movie& movie, + m_HasFragments = movie.HasFragments(); + if (fragment_stream) { + fragment_stream->AddReference(); +- fragment_stream->Tell(m_CurrentFragmentPosition); +- m_NextFragmentPosition = m_CurrentFragmentPosition; ++ //fragment_stream->Tell(m_CurrentFragmentPosition); ++ //m_NextFragmentPosition = m_CurrentFragmentPosition; + } + } + +@@ -360,9 +360,11 @@ AP4_LinearReader::AdvanceFragment() + AP4_Result result; + + // go the the start of the next fragment +- result = m_FragmentStream->Seek(m_NextFragmentPosition); +- if (AP4_FAILED(result)) return result; +- m_CurrentFragmentPosition = m_NextFragmentPosition; ++ if (m_NextFragmentPosition) { ++ result = m_FragmentStream->Seek(m_NextFragmentPosition); ++ if (AP4_FAILED(result)) return result; ++ m_CurrentFragmentPosition = m_NextFragmentPosition; ++ } + + // read atoms until we find a moof + assert(m_HasFragments); +-- +2.30.2 + diff --git a/package/bento4/0016-Fix-segfault-in-AP4_LinearReader-ProcessMoof.patch b/package/bento4/0016-Fix-segfault-in-AP4_LinearReader-ProcessMoof.patch new file mode 100644 index 00000000000..cbcc62f9825 --- /dev/null +++ b/package/bento4/0016-Fix-segfault-in-AP4_LinearReader-ProcessMoof.patch @@ -0,0 +1,27 @@ +From e5b37c1e0a7a84fdc7b403c5e30a5e93706104b8 Mon Sep 17 00:00:00 2001 +From: Dobroslaw Kijowski +Date: Tue, 19 Oct 2021 14:17:11 +0200 +Subject: [PATCH] Fix segfault in Ap4LinearReader ProcessMoof + +Downloaded from https://github.com/xbmc/inputstream.adaptive/pull/856 + +Signed-off-by: Bernd Kuhls +--- + Source/C++/Core/Ap4LinearReader.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp +index 61c3a9d..2464865 100644 +--- a/Source/C++/Core/Ap4LinearReader.cpp ++++ b/Source/C++/Core/Ap4LinearReader.cpp +@@ -329,7 +329,7 @@ AP4_LinearReader::ProcessMoof(AP4_ContainerAtom* moof, + tracker->m_SampleTable = NULL; + tracker->m_NextSampleIndex = 0; + for (unsigned int j=0; jm_Track->GetId()) { ++ if (ids.ItemCount()==1 || ids[j] == tracker->m_Track->GetId()) { + AP4_FragmentSampleTable* sample_table = NULL; + result = m_Fragment->CreateSampleTable(&m_Movie, + ids[j], +-- +2.33.1 diff --git a/package/bento4/Config.in b/package/bento4/Config.in new file mode 100644 index 00000000000..5b9eb127e2b --- /dev/null +++ b/package/bento4/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_BENTO4 + bool "bento4" + depends on BR2_INSTALL_LIBSTDCPP + help + Bento4 is a C++ class library designed to read and write + ISO-MP4 files. + + https://www.bento4.com/ + +comment "bento4 support needs a toolchain with C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/bento4/bento4.hash b/package/bento4/bento4.hash new file mode 100644 index 00000000000..8b9ec610f51 --- /dev/null +++ b/package/bento4/bento4.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 9f3eb912207d7ed9c1e6e05315083404b32a11f8aacd604a9b2bdcb10bf79eb9 bento4-1.6.0-639.tar.gz +sha256 7daae92c8628ada28def8d096fe2fde298b72ec3e2d64a3c408afce38edb361b Documents/LICENSE.txt diff --git a/package/bento4/bento4.mk b/package/bento4/bento4.mk new file mode 100644 index 00000000000..89ff2e4b85a --- /dev/null +++ b/package/bento4/bento4.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# bento4 +# +################################################################################ + +BENTO4_VERSION = 1.6.0-639 +BENTO4_SITE = $(call github,axiomatic-systems,Bento4,v$(BENTO4_VERSION)) +BENTO4_INSTALL_STAGING = YES +BENTO4_LICENSE = GPL-2.0+ +BENTO4_LICENSE_FILES = Documents/LICENSE.txt +BENTO4_CPE_ID_VENDOR = axiosys + +# Source/C++/Core/Ap4Config.h +ifeq ($(BR2_ENDIAN),"BIG") +BENTO4_BYTE_ORDER = 0 +else +BENTO4_BYTE_ORDER = 1 +endif + +BENTO4_CONF_OPTS += \ + -DBUILD_APPS=OFF \ + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -std=c++11 -fPIC -DAP4_PLATFORM_BYTE_ORDER=$(BENTO4_BYTE_ORDER)" + +$(eval $(cmake-package)) diff --git a/package/bind/Config.in b/package/bind/Config.in index db10ceb3047..9887403ed91 100644 --- a/package/bind/Config.in +++ b/package/bind/Config.in @@ -1,6 +1,11 @@ config BR2_PACKAGE_BIND bool "bind" - depends on BR2_USE_MMU # fork() + depends on BR2_USE_MMU # fork(), libuv + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + depends on !BR2_STATIC_LIBS # libuv + select BR2_PACKAGE_LIBUV + select BR2_PACKAGE_OPENSSL help BIND (Berkeley Internet Name Domain) is an implementation of the Domain Name System (DNS) protocols @@ -24,6 +29,11 @@ config BR2_PACKAGE_BIND https://www.isc.org/bind/ +comment "bind needs a toolchain w/ NPTL, dynamic library" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + if BR2_PACKAGE_BIND config BR2_PACKAGE_BIND_SERVER diff --git a/package/bind/bind.hash b/package/bind/bind.hash index 369d2f5fb51..2c10a0429b4 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/bind9/9.11.28/bind-9.11.28.tar.gz.asc -# with key 2455774D42FDFE6B9C383EB8FE1002BC5970811F -sha256 1090cbe6caba37c404d1075887da7e5282ae9a2bc6172d722df15cd480975e74 bind-9.11.28.tar.gz -sha256 cad49daa42654bc241762cd998630168a2542c8fd6fad3881e2eac1510bb6fcd COPYRIGHT +# Verified from https://ftp.isc.org/isc/bind9/9.16.27/bind-9.16.27.tar.xz.asc +# with key AADBBA5074F1402F7B69D56BC5B4EE931A9F9DFD +sha256 90902aaf104c81019d75d6f8b2f7ec40fcd249406f894b44e4a9c6b5e08bf566 bind-9.16.27.tar.xz +sha256 daf6f1eddf5983ed664a2d125b619e56e2e93917c19d0d41c7586ea153ba2155 COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 8e8896f3cc2..5164001ab58 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,15 +4,20 @@ # ################################################################################ -BIND_VERSION = 9.11.28 +BIND_VERSION = 9.16.27 +BIND_SOURCE= bind-$(BIND_VERSION).tar.xz BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) BIND_INSTALL_STAGING = YES -BIND_CONFIG_SCRIPTS = bind9-config isc-config.sh BIND_LICENSE = MPL-2.0 BIND_LICENSE_FILES = COPYRIGHT BIND_CPE_ID_VENDOR = isc +BIND_SELINUX_MODULES = bind +# Only applies to RHEL6.x with DNSSEC validation on +BIND_IGNORE_CVES = CVE-2017-3139 +# Library CVE and not used by bind but used by ISC DHCP +BIND_IGNORE_CVES += CVE-2019-6470 BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage BIND_TARGET_SERVER_SBIN += dnssec-importkey dnssec-keygen dnssec-revoke BIND_TARGET_SERVER_SBIN += dnssec-settime dnssec-verify genrandom @@ -23,19 +28,25 @@ BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate BIND_CONF_ENV = \ BUILD_CC="$(TARGET_CC)" \ - BUILD_CFLAGS="$(TARGET_CFLAGS)" + BUILD_CFLAGS="$(TARGET_CFLAGS)" \ + LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` BIND_CONF_OPTS = \ $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-threads,--disable-threads) \ --without-lmdb \ - --with-libjson=no \ + --with-json-c=no \ --with-randomdev=/dev/urandom \ --enable-epoll \ - --with-gssapi=no \ --enable-filter-aaaa \ - --disable-backtrace + --disable-backtrace \ + --with-openssl=$(STAGING_DIR)/usr \ + --with-ecdsa=yes \ + --with-eddsa=no \ + --with-aes=yes + +BIND_DEPENDENCIES = host-pkgconf libuv openssl ifeq ($(BR2_PACKAGE_ZLIB),y) -BIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr +BIND_CONF_OPTS += --with-zlib BIND_DEPENDENCIES += zlib else BIND_CONF_OPTS += --without-zlib @@ -48,30 +59,26 @@ else BIND_CONF_OPTS += --disable-linux-caps endif +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +BIND_CONF_OPTS += --with-gssapi=$(STAGING_DIR)/usr/bin/krb5-config +BIND_DEPENDENCIES += libkrb5 +else +BIND_CONF_OPTS += --with-gssapi=no +endif + ifeq ($(BR2_PACKAGE_LIBXML2),y) -BIND_CONF_OPTS += --with-libxml2=$(STAGING_DIR)/usr +BIND_CONF_OPTS += --with-libxml2 BIND_DEPENDENCIES += libxml2 else BIND_CONF_OPTS += --with-libxml2=no endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -BIND_DEPENDENCIES += host-pkgconf openssl -BIND_CONF_OPTS += \ - --with-openssl=$(STAGING_DIR)/usr \ - --with-ecdsa=yes \ - --with-eddsa=no \ - --with-aes=yes -BIND_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` # GOST cipher support requires openssl extra engines ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) BIND_CONF_OPTS += --with-gost=yes else BIND_CONF_OPTS += --with-gost=no endif -else -BIND_CONF_OPTS += --with-openssl=no -endif # Used by dnssec-keymgr ifeq ($(BR2_PACKAGE_PYTHON_PLY),y) diff --git a/package/binutils/2.32/0010-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch b/package/binutils/2.32/0010-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch new file mode 100644 index 00000000000..a67d12789e9 --- /dev/null +++ b/package/binutils/2.32/0010-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch @@ -0,0 +1,59 @@ +From 788cda9f9447e0fe67e582e8fb5adafd678d08b2 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:14 +0900 +Subject: [PATCH] or1k: Fix issue with plt link failure for local calls + +When building protobuf we were seeing the assert failure: + + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + collect2: error: ld returned 1 exit status + +This failure happens while writing out PLT entries, there is a check +"BFD_ASSERT (h->dynindx != -1)" to confirm all plt entries have dynamic +symbol attributes. This was failing for symbols that were +"forced_local" in previous linking code. + +The fix adds logic to or1k_elf_adjust_dynamic_symbol to identify +"forced_local" symbols and exclude them from the the PLT. + +bfd/ChangeLog: + + PR 27624 + * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Change + condition used to cleanup plt entries to cleanup forced local + entries. + +Cc: Giulio Benetti +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 2f200b197b8..1f2c88b0b3a 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2535,11 +2535,10 @@ or1k_elf_adjust_dynamic_symbol (struct bfd_link_info *info, + if (h->type == STT_FUNC + || h->needs_plt) + { +- if (! bfd_link_pic (info) +- && !h->def_dynamic +- && !h->ref_dynamic +- && h->root.type != bfd_link_hash_undefweak +- && h->root.type != bfd_link_hash_undefined) ++ if (h->plt.refcount <= 0 ++ || (SYMBOL_CALLS_LOCAL (info, h) ++ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ && h->root.type == bfd_link_hash_undefweak))) + { + /* This case can occur if we saw a PLT reloc in an input + file, but the symbol was never referred to by a dynamic +-- +2.25.1 + diff --git a/package/binutils/2.32/0011-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch b/package/binutils/2.32/0011-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch new file mode 100644 index 00000000000..5a2b91fe8e6 --- /dev/null +++ b/package/binutils/2.32/0011-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch @@ -0,0 +1,256 @@ +From b10e6230dea0015bf3b7748580b82c551f9a3a4a Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:15 +0900 +Subject: [PATCH] or1k: Implement relocation R_OR1K_GOT_AHI16 for gotha() + +The gotha() relocation mnemonic will be outputted by OpenRISC GCC when +using the -mcmodel=large option. This relocation is used along with +got() to generate 32-bit GOT offsets. This increases the previous GOT +offset limit from the previous 16-bit (64K) limit. + +This is needed on large binaries where the GOT grows larger than 64k. + +bfd/ChangeLog: + + PR 21464 + * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation. + * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise. + (or1k_final_link_relocate, or1k_elf_relocate_section, + or1k_elf_check_relocs): Likewise. + * libbfd.h (bfd_reloc_code_real_names): Likewise. + * reloc.c: Likewise. + +cpu/ChangeLog: + + PR 21464 + * or1k.opc (or1k_imm16_relocs, parse_reloc): Define parse logic + for gotha() relocation. + +include/ChangeLog: + + PR 21464 + * elf/or1k.h (elf_or1k_reloc_type): Define R_OR1K_GOT_AHI16 number. + +opcodes/ChangeLog: + + PR 21464 + * or1k-asm.c: Regenerate. + +gas/ChangeLog: + + PR 21464 + * testsuite/gas/or1k/reloc-1.s: Add test for new relocation. + * testsuite/gas/or1k/reloc-1.d: Add test result for new + relocation. + +Cc: Giulio Benetti + +fixup reloc, add tests + +Signed-off-by: Giulio Benetti +--- + bfd/bfd-in2.h | 1 + + bfd/elf32-or1k.c | 21 ++++++++++++++++++++- + bfd/libbfd.h | 1 + + bfd/reloc.c | 2 ++ + cpu/or1k.opc | 7 ++++++- + gas/testsuite/gas/or1k/reloc-1.d | 4 +++- + gas/testsuite/gas/or1k/reloc-1.s | 4 ++++ + include/elf/or1k.h | 1 + + opcodes/or1k-asm.c | 7 ++++++- + 9 files changed, 44 insertions(+), 4 deletions(-) + +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h +index e25da50aafb..530a41fca43 100644 +--- a/bfd/bfd-in2.h ++++ b/bfd/bfd-in2.h +@@ -5517,6 +5517,7 @@ then it may be truncated to 8 bits. */ + BFD_RELOC_OR1K_TLS_TPOFF, + BFD_RELOC_OR1K_TLS_DTPOFF, + BFD_RELOC_OR1K_TLS_DTPMOD, ++ BFD_RELOC_OR1K_GOT_AHI16, + + /* H8 elf Relocations. */ + BFD_RELOC_H8_DIR16A8, +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 1f2c88b0b3a..a4a64f73b7c 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -808,6 +808,20 @@ static reloc_howto_type or1k_elf_howto_table[] = + 0, /* Source Mask. */ + 0x03ffffff, /* Dest Mask. */ + TRUE), /* PC relative offset? */ ++ ++ HOWTO (R_OR1K_GOT_AHI16, /* type */ ++ 16, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_signed, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_OR1K_GOT_AHI16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0xffff, /* dst_mask */ ++ FALSE), /* pcrel_offset */ + }; + + /* Map BFD reloc types to Or1k ELF reloc types. */ +@@ -871,6 +885,7 @@ static const struct or1k_reloc_map or1k_reloc_map[] = + { BFD_RELOC_OR1K_TLS_IE_LO13, R_OR1K_TLS_IE_LO13 }, + { BFD_RELOC_OR1K_SLO13, R_OR1K_SLO13 }, + { BFD_RELOC_OR1K_PLTA26, R_OR1K_PLTA26 }, ++ { BFD_RELOC_OR1K_GOT_AHI16, R_OR1K_GOT_AHI16 }, + }; + + #define TLS_UNKNOWN 0 +@@ -1080,6 +1095,7 @@ or1k_final_link_relocate (reloc_howto_type *howto, bfd *input_bfd, + switch (howto->type) + { + case R_OR1K_AHI16: ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOTOFF_AHI16: + case R_OR1K_TLS_IE_AHI16: + case R_OR1K_TLS_LE_AHI16: +@@ -1344,6 +1360,7 @@ or1k_elf_relocate_section (bfd *output_bfd, + } + break; + ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOT16: + case R_OR1K_GOT_PG21: + case R_OR1K_GOT_LO13: +@@ -1435,7 +1452,8 @@ or1k_elf_relocate_section (bfd *output_bfd, + /* The GOT_PG21 and GOT_LO13 relocs are pc-relative, + while the GOT16 reloc is GOT relative. */ + relocation = got_base + off; +- if (r_type == R_OR1K_GOT16) ++ if (r_type == R_OR1K_GOT16 ++ || r_type == R_OR1K_GOT_AHI16) + relocation -= got_sym_value; + + /* Addend should be zero. */ +@@ -1945,6 +1963,7 @@ or1k_elf_check_relocs (bfd *abfd, + } + break; + ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOT16: + case R_OR1K_GOT_PG21: + case R_OR1K_GOT_LO13: +diff --git a/bfd/libbfd.h b/bfd/libbfd.h +index 36284d71a9b..6e9e3190bb8 100644 +--- a/bfd/libbfd.h ++++ b/bfd/libbfd.h +@@ -2702,6 +2702,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", + "BFD_RELOC_OR1K_TLS_TPOFF", + "BFD_RELOC_OR1K_TLS_DTPOFF", + "BFD_RELOC_OR1K_TLS_DTPMOD", ++ "BFD_RELOC_OR1K_GOT_AHI16", + "BFD_RELOC_H8_DIR16A8", + "BFD_RELOC_H8_DIR16R8", + "BFD_RELOC_H8_DIR24A8", +diff --git a/bfd/reloc.c b/bfd/reloc.c +index e6446a78098..b0003ab1175 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -6164,6 +6164,8 @@ ENUMX + BFD_RELOC_OR1K_GOTPC_HI16 + ENUMX + BFD_RELOC_OR1K_GOTPC_LO16 ++ENUMX ++ BFD_RELOC_OR1K_GOT_AHI16 + ENUMX + BFD_RELOC_OR1K_GOT16 + ENUMX +diff --git a/cpu/or1k.opc b/cpu/or1k.opc +index 5082a30cee1..85163fc96c9 100644 +--- a/cpu/or1k.opc ++++ b/cpu/or1k.opc +@@ -173,7 +173,7 @@ static const bfd_reloc_code_real_type or1k_imm16_relocs[][6] = { + BFD_RELOC_OR1K_GOT_LO13, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +- BFD_RELOC_UNUSED }, ++ BFD_RELOC_OR1K_GOT_AHI16 }, + { BFD_RELOC_OR1K_GOTPC_LO16, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +@@ -276,6 +276,11 @@ parse_reloc (const char **strp) + str += 5; + cls = RCLASS_TPOFF; + } ++ else if (strncasecmp (str, "got", 3) == 0) ++ { ++ str += 3; ++ cls = RCLASS_GOT; ++ } + + if (strncasecmp (str, "hi(", 3) == 0) + { +diff --git a/gas/testsuite/gas/or1k/reloc-1.d b/gas/testsuite/gas/or1k/reloc-1.d +index d1bcf5608bb..3a001c4ed99 100644 +--- a/gas/testsuite/gas/or1k/reloc-1.d ++++ b/gas/testsuite/gas/or1k/reloc-1.d +@@ -68,5 +68,7 @@ OFFSET TYPE VALUE + 000000ec R_OR1K_LO13 x + 000000f0 R_OR1K_GOT_LO13 x + 000000f4 R_OR1K_SLO13 x +- ++000000f8 R_OR1K_GOT_AHI16 x ++000000fc R_OR1K_GOT_AHI16 x ++00000100 R_OR1K_GOT_AHI16 x + +diff --git a/gas/testsuite/gas/or1k/reloc-1.s b/gas/testsuite/gas/or1k/reloc-1.s +index e76abef6532..562609aa869 100644 +--- a/gas/testsuite/gas/or1k/reloc-1.s ++++ b/gas/testsuite/gas/or1k/reloc-1.s +@@ -74,3 +74,7 @@ + l.lbz r5,po(x)(r3) + l.lbz r5,gotpo(x)(r3) + l.sb po(x)(r3),r6 ++ ++ l.movhi r4,gotha(x) ++ l.ori r3,r4,gotha(x) ++ l.addi r3,r4,gotha(x) +diff --git a/include/elf/or1k.h b/include/elf/or1k.h +index 0abef046202..7db3cad18eb 100644 +--- a/include/elf/or1k.h ++++ b/include/elf/or1k.h +@@ -77,6 +77,7 @@ START_RELOC_NUMBERS (elf_or1k_reloc_type) + RELOC_NUMBER (R_OR1K_TLS_IE_LO13, 51) + RELOC_NUMBER (R_OR1K_SLO13, 52) + RELOC_NUMBER (R_OR1K_PLTA26, 53) ++ RELOC_NUMBER (R_OR1K_GOT_AHI16, 54) + END_RELOC_NUMBERS (R_OR1K_max) + + #define EF_OR1K_NODELAY (1UL << 0) +diff --git a/opcodes/or1k-asm.c b/opcodes/or1k-asm.c +index 7d058d03f5f..332f4b7a9b5 100644 +--- a/opcodes/or1k-asm.c ++++ b/opcodes/or1k-asm.c +@@ -177,7 +177,7 @@ static const bfd_reloc_code_real_type or1k_imm16_relocs[][6] = { + BFD_RELOC_OR1K_GOT_LO13, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +- BFD_RELOC_UNUSED }, ++ BFD_RELOC_OR1K_GOT_AHI16 }, + { BFD_RELOC_OR1K_GOTPC_LO16, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +@@ -280,6 +280,11 @@ parse_reloc (const char **strp) + str += 5; + cls = RCLASS_TPOFF; + } ++ else if (strncasecmp (str, "got", 3) == 0) ++ { ++ str += 3; ++ cls = RCLASS_GOT; ++ } + + if (strncasecmp (str, "hi(", 3) == 0) + { +-- +2.25.1 + diff --git a/package/binutils/2.32/0012-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch b/package/binutils/2.32/0012-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch new file mode 100644 index 00000000000..adc6f5f8b91 --- /dev/null +++ b/package/binutils/2.32/0012-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch @@ -0,0 +1,61 @@ +From 0f61f76454a9420f158f626cb09a4fbc08c3709e Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:16 +0900 +Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 overflow failures in presence + of R_OR1K_GOT_AHI16 + +Now that we support R_OR1K_GOT_AHI16 we can relax the R_OR1K_GOT16 +overflow validation check if the section has R_OR1K_GOT_AHI16. + +We cannot simple disable R_OR1K_GOT16 overflow validation as there will +still be binaries that will have only R_OR1K_GOT16. The +R_OR1K_GOT_AHI16 relocation will only be added by GCC when building with +the option -mcmodel=large. + +This assumes that R_OR1K_GOT_AHI16 will come before R_OR1K_GOT16, which +is the code pattern that will be emitted by GCC. + +bfd/ChangeLog: + + PR 21464 + * elf32-or1k.c (or1k_elf_relocate_section): Relax R_OR1K_GOT16 + overflow check if we have R_OR1K_GOT_AHI16 followed by + R_OR1K_GOT16. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index a4a64f73b7c..07fff3602a3 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -1248,6 +1248,7 @@ or1k_elf_relocate_section (bfd *output_bfd, + asection *sgot, *splt; + bfd_vma plt_base, got_base, got_sym_value; + bfd_boolean ret_val = TRUE; ++ bfd_boolean saw_gotha = FALSE; + + if (htab == NULL) + return FALSE; +@@ -1456,6 +1457,16 @@ or1k_elf_relocate_section (bfd *output_bfd, + || r_type == R_OR1K_GOT_AHI16) + relocation -= got_sym_value; + ++ if (r_type == R_OR1K_GOT_AHI16) ++ saw_gotha = TRUE; ++ ++ /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 ++ relocation we assume the code is doing the right thing to avoid ++ overflows. Here we mask the lower 16-bit of the relocation to ++ avoid overflow validation failures. */ ++ if (r_type == R_OR1K_GOT16 && saw_gotha) ++ relocation &= 0xffff; ++ + /* Addend should be zero. */ + if (rel->r_addend != 0) + { +-- +2.25.1 + diff --git a/package/binutils/2.32/0013-or1k-Support-large-plt_relocs-when-generating-plt-en.patch b/package/binutils/2.32/0013-or1k-Support-large-plt_relocs-when-generating-plt-en.patch new file mode 100644 index 00000000000..dc0431e0afb --- /dev/null +++ b/package/binutils/2.32/0013-or1k-Support-large-plt_relocs-when-generating-plt-en.patch @@ -0,0 +1,500 @@ +From 36c7de7ef77ab0c30cb33e2c7ea7a6f4e3052c73 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:17 +0900 +Subject: [PATCH] or1k: Support large plt_relocs when generating plt + entries + +The current PLT generation code will generate invalid code when the PLT +relocation offset exceeds 64k. This fixes the issue by detecting large +plt_reloc offsets and generare code sequences to create larger plt +relocations. + +The "large" plt code needs 2 extra instructions to create 32-bit offsets. + +bfd/ChangeLog: + + PR 27746 + * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT, + OR1K_ADD, OR1K_ORI): New macros to help with plt creation. + (elf_or1k_link_hash_table): New field plt_count. + (elf_or1k_link_hash_entry): New field plt_index. + (elf_or1k_plt_entry_size): New function. + (or1k_write_plt_entry): Update to support variable size PLTs. + (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry + API. + (or1k_elf_finish_dynamic_symbol): Update to write large PLTs + when needed. + (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for + PLT size. + +ld/ChangeLog: + + PR 27746 + testsuite/ld-or1k/or1k.exp (or1kplttests): Add tests for linking + along with gotha() relocations. + testsuite/ld-or1k/gotha1.dd: New file. + testsuite/ld-or1k/gotha1.s: New file. + testsuite/ld-or1k/gotha2.dd: New file. + testsuite/ld-or1k/gotha2.s: New file + testsuite/ld-or1k/pltlib.s (x): Define size to avoid link + failure. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 149 ++++++++++++++++++++++++--------- + ld/testsuite/ld-or1k/gotha1.dd | 34 ++++++++ + ld/testsuite/ld-or1k/gotha1.s | 24 ++++++ + ld/testsuite/ld-or1k/gotha2.dd | 21 +++++ + ld/testsuite/ld-or1k/gotha2.s | 22 +++++ + ld/testsuite/ld-or1k/or1k.exp | 8 ++ + ld/testsuite/ld-or1k/pltlib.s | 1 + + 7 files changed, 220 insertions(+), 39 deletions(-) + create mode 100644 ld/testsuite/ld-or1k/gotha1.dd + create mode 100644 ld/testsuite/ld-or1k/gotha1.s + create mode 100644 ld/testsuite/ld-or1k/gotha2.dd + create mode 100644 ld/testsuite/ld-or1k/gotha2.s + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 07fff3602a3..fcebbe5f23a 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -30,10 +30,14 @@ + #define N_ONES(X) (((bfd_vma)2 << (X)) - 1) + + #define PLT_ENTRY_SIZE 16 ++#define PLT_ENTRY_SIZE_LARGE (6*4) ++#define PLT_MAX_INSN_COUNT 6 + + #define OR1K_MOVHI(D) (0x18000000 | (D << 21)) + #define OR1K_ADRP(D) (0x08000000 | (D << 21)) + #define OR1K_LWZ(D,A) (0x84000000 | (D << 21) | (A << 16)) ++#define OR1K_ADD(D,A,B) (0xE0000000 | (D << 21) | (A << 16) | (B << 11)) ++#define OR1K_ORI(D,A) (0xA8000000 | (D << 21) | (A << 16)) + #define OR1K_ORI0(D) (0xA8000000 | (D << 21)) + #define OR1K_JR(B) (0x44000000 | (B << 11)) + #define OR1K_NOP 0x15000000 +@@ -903,6 +907,8 @@ struct elf_or1k_link_hash_entry + /* Track dynamic relocs copied for this symbol. */ + struct elf_dyn_relocs *dyn_relocs; + ++ /* For calculating PLT size. */ ++ bfd_vma plt_index; + /* Track type of TLS access. */ + unsigned char tls_type; + }; +@@ -930,9 +936,20 @@ struct elf_or1k_link_hash_table + /* Small local sym to section mapping cache. */ + struct sym_cache sym_sec; + ++ bfd_vma plt_count; + bfd_boolean saw_plta; + }; + ++static size_t ++elf_or1k_plt_entry_size (bfd_vma plt_index) ++{ ++ bfd_vma plt_reloc; ++ ++ plt_reloc = plt_index * sizeof (Elf32_External_Rela); ++ ++ return (plt_reloc > 0xffff) ? PLT_ENTRY_SIZE_LARGE : PLT_ENTRY_SIZE; ++} ++ + /* Get the ELF linker hash table from a link_info structure. */ + #define or1k_elf_hash_table(p) \ + (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \ +@@ -2176,33 +2193,46 @@ or1k_elf_check_relocs (bfd *abfd, + } + + static void +-or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insn1, +- unsigned insn2, unsigned insn3, unsigned insnj) ++or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, ++ unsigned insns[], size_t insn_count) + { + unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; +- unsigned insn4; ++ unsigned output_insns[PLT_MAX_INSN_COUNT]; ++ ++ /* Copy instructions into the output buffer. */ ++ for (size_t i = 0; i < insn_count; i++) ++ output_insns[i] = insns[i]; + + /* Honor the no-delay-slot setting. */ +- if (insn3 == OR1K_NOP) ++ if (insns[insn_count-1] == OR1K_NOP) + { +- insn4 = insn3; ++ unsigned slot1, slot2; ++ + if (nodelay) +- insn3 = insnj; ++ slot1 = insns[insn_count-2], slot2 = insnj; + else +- insn3 = insn2, insn2 = insnj; ++ slot1 = insnj, slot2 = insns[insn_count-2]; ++ ++ output_insns[insn_count-2] = slot1; ++ output_insns[insn_count-1] = slot2; ++ output_insns[insn_count] = OR1K_NOP; + } + else + { ++ unsigned slot1, slot2; ++ + if (nodelay) +- insn4 = insnj; ++ slot1 = insns[insn_count-1], slot2 = insnj; + else +- insn4 = insn3, insn3 = insnj; ++ slot1 = insnj, slot2 = insns[insn_count-1]; ++ ++ output_insns[insn_count-1] = slot1; ++ output_insns[insn_count] = slot2; + } + +- bfd_put_32 (output_bfd, insn1, contents); +- bfd_put_32 (output_bfd, insn2, contents + 4); +- bfd_put_32 (output_bfd, insn3, contents + 8); +- bfd_put_32 (output_bfd, insn4, contents + 12); ++ /* Write out the output buffer. */ ++ for (size_t i = 0; i < (insn_count+1); i++) ++ bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); + } + + /* Finish up the dynamic sections. */ +@@ -2269,7 +2299,8 @@ or1k_elf_finish_dynamic_sections (bfd *output_bfd, + splt = htab->root.splt; + if (splt && splt->size > 0) + { +- unsigned plt0, plt1, plt2; ++ unsigned plt[PLT_MAX_INSN_COUNT]; ++ size_t plt_insn_count = 3; + bfd_vma got_addr = sgot->output_section->vma + sgot->output_offset; + + /* Note we force 16 byte alignment on the .got, so that +@@ -2280,27 +2311,27 @@ or1k_elf_finish_dynamic_sections (bfd *output_bfd, + bfd_vma pc = splt->output_section->vma + splt->output_offset; + unsigned pa = ((got_addr >> 13) - (pc >> 13)) & 0x1fffff; + unsigned po = got_addr & 0x1fff; +- plt0 = OR1K_ADRP(12) | pa; +- plt1 = OR1K_LWZ(15,12) | (po + 8); +- plt2 = OR1K_LWZ(12,12) | (po + 4); ++ plt[0] = OR1K_ADRP(12) | pa; ++ plt[1] = OR1K_LWZ(15,12) | (po + 8); ++ plt[2] = OR1K_LWZ(12,12) | (po + 4); + } + else if (bfd_link_pic (info)) + { +- plt0 = OR1K_LWZ(15, 16) | 8; /* .got+8 */ +- plt1 = OR1K_LWZ(12, 16) | 4; /* .got+4 */ +- plt2 = OR1K_NOP; ++ plt[0] = OR1K_LWZ(15, 16) | 8; /* .got+8 */ ++ plt[1] = OR1K_LWZ(12, 16) | 4; /* .got+4 */ ++ plt[2] = OR1K_NOP; + } + else + { + unsigned ha = ((got_addr + 0x8000) >> 16) & 0xffff; + unsigned lo = got_addr & 0xffff; +- plt0 = OR1K_MOVHI(12) | ha; +- plt1 = OR1K_LWZ(15,12) | (lo + 8); +- plt2 = OR1K_LWZ(12,12) | (lo + 4); ++ plt[0] = OR1K_MOVHI(12) | ha; ++ plt[1] = OR1K_LWZ(15,12) | (lo + 8); ++ plt[2] = OR1K_LWZ(12,12) | (lo + 4); + } + +- or1k_write_plt_entry (output_bfd, splt->contents, +- plt0, plt1, plt2, OR1K_JR(15)); ++ or1k_write_plt_entry (output_bfd, splt->contents, OR1K_JR(15), ++ plt, plt_insn_count); + + elf_section_data (splt->output_section)->this_hdr.sh_entsize = 4; + } +@@ -2343,7 +2374,8 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + + if (h->plt.offset != (bfd_vma) -1) + { +- unsigned int plt0, plt1, plt2; ++ unsigned int plt[PLT_MAX_INSN_COUNT]; ++ size_t plt_insn_count = 3; + asection *splt; + asection *sgot; + asection *srela; +@@ -2355,6 +2387,7 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + bfd_vma got_offset; + bfd_vma got_addr; + Elf_Internal_Rela rela; ++ bfd_boolean large_plt_entry; + + /* This symbol has an entry in the procedure linkage table. Set + it up. */ +@@ -2372,10 +2405,13 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + corresponds to this symbol. This is the index of this symbol + in all the symbols for which we are making plt entries. The + first entry in the procedure linkage table is reserved. */ +- plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1; ++ plt_index = ((struct elf_or1k_link_hash_entry *) h)->plt_index; + plt_addr = plt_base_addr + h->plt.offset; + plt_reloc = plt_index * sizeof (Elf32_External_Rela); + ++ large_plt_entry = (elf_or1k_plt_entry_size (plt_index) ++ == PLT_ENTRY_SIZE_LARGE); ++ + /* Get the offset into the .got table of the entry that + corresponds to this function. Each .got entry is 4 bytes. + The first three are reserved. */ +@@ -2387,27 +2423,57 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + { + unsigned pa = ((got_addr >> 13) - (plt_addr >> 13)) & 0x1fffff; + unsigned po = (got_addr & 0x1fff); +- plt0 = OR1K_ADRP(12) | pa; +- plt1 = OR1K_LWZ(12,12) | po; +- plt2 = OR1K_ORI0(11) | plt_reloc; ++ plt[0] = OR1K_ADRP(12) | pa; ++ plt[1] = OR1K_LWZ(12,12) | po; ++ plt[2] = OR1K_ORI0(11) | plt_reloc; + } + else if (bfd_link_pic (info)) + { +- plt0 = OR1K_LWZ(12,16) | got_offset; +- plt1 = OR1K_ORI0(11) | plt_reloc; +- plt2 = OR1K_NOP; ++ if (large_plt_entry) ++ { ++ unsigned gotha = ((got_offset + 0x8000) >> 16) & 0xffff; ++ unsigned got = got_offset & 0xffff; ++ unsigned pltrelhi = (plt_reloc >> 16) & 0xffff; ++ unsigned pltrello = plt_reloc & 0xffff; ++ ++ plt[0] = OR1K_MOVHI(12) | gotha; ++ plt[1] = OR1K_ADD(12,12,16); ++ plt[2] = OR1K_LWZ(12,12) | got; ++ plt[3] = OR1K_MOVHI(11) | pltrelhi; ++ plt[4] = OR1K_ORI(11,11) | pltrello; ++ plt_insn_count = 5; ++ } ++ else ++ { ++ plt[0] = OR1K_LWZ(12,16) | got_offset; ++ plt[1] = OR1K_ORI0(11) | plt_reloc; ++ plt[2] = OR1K_NOP; ++ } + } + else + { + unsigned ha = ((got_addr + 0x8000) >> 16) & 0xffff; + unsigned lo = got_addr & 0xffff; +- plt0 = OR1K_MOVHI(12) | ha; +- plt1 = OR1K_LWZ(12,12) | lo; +- plt2 = OR1K_ORI0(11) | plt_reloc; ++ plt[0] = OR1K_MOVHI(12) | ha; ++ plt[1] = OR1K_LWZ(12,12) | lo; ++ plt[2] = OR1K_ORI0(11) | plt_reloc; ++ } ++ ++ /* For large code model we fixup the non-PIC PLT relocation instructions ++ here. */ ++ if (large_plt_entry && !bfd_link_pic (info)) ++ { ++ unsigned pltrelhi = (plt_reloc >> 16) & 0xffff; ++ unsigned pltrello = plt_reloc & 0xffff; ++ ++ plt[2] = OR1K_MOVHI(11) | pltrelhi; ++ plt[3] = OR1K_ORI(11,11) | pltrello; ++ plt[4] = OR1K_NOP; ++ plt_insn_count = 5; + } + + or1k_write_plt_entry (output_bfd, splt->contents + h->plt.offset, +- plt0, plt1, plt2, OR1K_JR(12)); ++ OR1K_JR(12), plt, plt_insn_count); + + /* Fill in the entry in the global offset table. */ + bfd_put_32 (output_bfd, plt_addr, sgot->contents + got_offset); +@@ -2699,11 +2765,16 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, bfd_link_pic (info), h)) + { + asection *s = htab->root.splt; ++ bfd_vma plt_index; ++ ++ /* Track the index of our plt entry for use in calculating size. */ ++ plt_index = htab->plt_count++; ++ ((struct elf_or1k_link_hash_entry *) h)->plt_index = plt_index; + + /* If this is the first .plt entry, make room for the special + first entry. */ + if (s->size == 0) +- s->size = PLT_ENTRY_SIZE; ++ s->size = elf_or1k_plt_entry_size (plt_index); + + h->plt.offset = s->size; + +@@ -2720,7 +2791,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) + } + + /* Make room for this entry. */ +- s->size += PLT_ENTRY_SIZE; ++ s->size += elf_or1k_plt_entry_size (plt_index); + + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ +diff --git a/ld/testsuite/ld-or1k/gotha1.dd b/ld/testsuite/ld-or1k/gotha1.dd +new file mode 100644 +index 00000000000..0ad1f8f5399 +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha1.dd +@@ -0,0 +1,34 @@ ++ ++.*\.x: file format elf32-or1k ++ ++ ++Disassembly of section \.plt: ++ ++[0-9a-f]+ <\.plt>: ++ +[0-9a-f]+: 19 80 00 00 l\.movhi r12,0x0 ++ +[0-9a-f]+: 85 ec [0-9a-f]+ [0-9a-f]+ l\.lwz r15,[0-9]+\(r12\) ++ +[0-9a-f]+: 44 00 78 00 l\.jr r15 ++ +[0-9a-f]+: 85 8c [0-9a-f]+ [0-9a-f]+ l\.lwz r12,[0-9]+\(r12\) ++ +[0-9a-f]+: 19 80 00 00 l\.movhi r12,0x0 ++ +[0-9a-f]+: 85 8c [0-9a-f]+ [0-9a-f]+ l\.lwz r12,[0-9]+\(r12\) ++ +[0-9a-f]+: 44 00 60 00 l\.jr r12 ++ +[0-9a-f]+: a9 60 00 00 l\.ori r11,r0,0x0 ++ ++Disassembly of section \.text: ++ ++[0-9a-f]+ <_start>: ++ +[0-9a-f]+: 9c 21 ff fc l\.addi r1,r1,-4 ++ +[0-9a-f]+: d4 01 48 00 l\.sw 0\(r1\),r9 ++ +[0-9a-f]+: 04 00 00 02 l\.jal [0-9a-f]+ <_start\+0x10> ++ +[0-9a-f]+: 1a 60 00 00 l\.movhi r19,0x0 ++ +[0-9a-f]+: aa 73 [0-9a-f]+ [0-9a-f]+ l\.ori r19,r19,0x[0-9a-f]+ ++ +[0-9a-f]+: e2 73 48 00 l\.add r19,r19,r9 ++ +[0-9a-f]+: 1a 20 00 00 l\.movhi r17,0x0 ++ +[0-9a-f]+: e2 31 98 00 l\.add r17,r17,r19 ++ +[0-9a-f]+: 86 31 00 10 l\.lwz r17,16\(r17\) ++ +[0-9a-f]+: 84 71 00 00 l\.lwz r3,0\(r17\) ++ +[0-9a-f]+: 07 ff ff f2 l\.jal [0-9a-f]+ <\.plt\+0x10> ++ +[0-9a-f]+: 15 00 00 00 l\.nop 0x0 ++ +[0-9a-f]+: 85 21 00 00 l\.lwz r9,0\(r1\) ++ +[0-9a-f]+: 44 00 48 00 l\.jr r9 ++ +[0-9a-f]+: 9c 21 00 04 l\.addi r1,r1,4 +diff --git a/ld/testsuite/ld-or1k/gotha1.s b/ld/testsuite/ld-or1k/gotha1.s +new file mode 100644 +index 00000000000..42b16db425c +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha1.s +@@ -0,0 +1,24 @@ ++ .data ++ .p2align 16 ++ ++ .text ++ .globl _start ++_start: ++ l.addi r1, r1, -4 ++ l.sw 0(r1), r9 ++ ++ l.jal 8 ++ l.movhi r19, gotpchi(_GLOBAL_OFFSET_TABLE_-4) ++ l.ori r19, r19, gotpclo(_GLOBAL_OFFSET_TABLE_+0) ++ l.add r19, r19, r9 ++ ++ l.movhi r17, gotha(x) ++ l.add r17, r17, r19 ++ l.lwz r17, got(x)(r17) ++ l.lwz r3, 0(r17) ++ ++ l.jal plt(func) ++ l.nop ++ l.lwz r9, 0(r1) ++ l.jr r9 ++ l.addi r1, r1, 4 +diff --git a/ld/testsuite/ld-or1k/gotha2.dd b/ld/testsuite/ld-or1k/gotha2.dd +new file mode 100644 +index 00000000000..fe09da5466b +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha2.dd +@@ -0,0 +1,21 @@ ++ ++.*\.x: file format elf32-or1k ++ ++ ++Disassembly of section \.text: ++ ++[0-9a-f]+ : ++ +[0-9a-f]+: 9c 21 ff f8 l\.addi r1,r1,-8 ++ +[0-9a-f]+: d4 01 80 00 l\.sw 0\(r1\),r16 ++ +[0-9a-f]+: d4 01 48 04 l\.sw 4\(r1\),r9 ++ +[0-9a-f]+: 04 00 [0-9a-f]+ [0-9a-f]+ l\.jal [0-9a-f]+ ++ +[0-9a-f]+: 1a 00 00 00 l\.movhi r16,0x0 ++ +[0-9a-f]+: aa 10 [0-9a-f]+ [0-9a-f]+ l\.ori r16,r16,0x[0-9a-f]+ ++ +[0-9a-f]+: e2 10 48 00 l\.add r16,r16,r9 ++ +[0-9a-f]+: 1a 20 00 00 l\.movhi r17,0x0 ++ +[0-9a-f]+: e2 31 80 00 l\.add r17,r17,r16 ++ +[0-9a-f]+: 86 31 00 0c l\.lwz r17,12\(r17\) ++ +[0-9a-f]+: 85 21 00 04 l\.lwz r9,4\(r1\) ++ +[0-9a-f]+: 86 01 00 00 l\.lwz r16,0\(r1\) ++ +[0-9a-f]+: 44 00 48 00 l\.jr r9 ++ +[0-9a-f]+: 9c 21 00 08 l\.addi r1,r1,8 +diff --git a/ld/testsuite/ld-or1k/gotha2.s b/ld/testsuite/ld-or1k/gotha2.s +new file mode 100644 +index 00000000000..164b282f2dd +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha2.s +@@ -0,0 +1,22 @@ ++ .section .text ++ .align 4 ++ .global test ++ .type test, @function ++test: ++ l.addi r1, r1, -8 ++ l.sw 0(r1), r16 ++ l.sw 4(r1), r9 ++ ++ l.jal 8 ++ l.movhi r16, gotpchi(_GLOBAL_OFFSET_TABLE_-4) ++ l.ori r16, r16, gotpclo(_GLOBAL_OFFSET_TABLE_+0) ++ l.add r16, r16, r9 ++ ++ l.movhi r17, gotha(i) ++ l.add r17, r17, r16 ++ l.lwz r17, got(i)(r17) ++ ++ l.lwz r9, 4(r1) ++ l.lwz r16, 0(r1) ++ l.jr r9 ++ l.addi r1, r1, 8 +diff --git a/ld/testsuite/ld-or1k/or1k.exp b/ld/testsuite/ld-or1k/or1k.exp +index 24cdbe5fbf3..9cebc49b946 100644 +--- a/ld/testsuite/ld-or1k/or1k.exp ++++ b/ld/testsuite/ld-or1k/or1k.exp +@@ -53,6 +53,14 @@ set or1kplttests { + "" {plt1.s} + {{objdump -dr plt1.x.dd}} + "plt1.x"} ++ {"gotha exec plt" "tmpdir/libpltlib.so" "" ++ "" {gotha1.s} ++ {{objdump -dr gotha1.dd}} ++ "gotha1.x"} ++ {"gotha -fpic -shared" "-fpic -shared" "" ++ "" {gotha2.s} ++ {{objdump -dr gotha2.dd}} ++ "gotha2.x"} + } + + # Not implemented yet +diff --git a/ld/testsuite/ld-or1k/pltlib.s b/ld/testsuite/ld-or1k/pltlib.s +index baf76ca1af7..8b4d7ba48fd 100644 +--- a/ld/testsuite/ld-or1k/pltlib.s ++++ b/ld/testsuite/ld-or1k/pltlib.s +@@ -1,5 +1,6 @@ + .section .data + .globl x, y ++ .size x, 4 + x: .long 33 + y: .long 44 + +-- +2.25.1 + diff --git a/package/binutils/2.32/0014-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch b/package/binutils/2.32/0014-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch new file mode 100644 index 00000000000..c3978e22fa8 --- /dev/null +++ b/package/binutils/2.32/0014-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch @@ -0,0 +1,50 @@ +From c3003947e4bad18faea4337fd2073feeb30ee078 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 9 Jun 2021 17:28:27 +0200 +Subject: [PATCH] bfd/elf32-or1k: fix building with gcc version < 5 + +Gcc version >= 5 has standard C mode not set to -std=gnu11, so if we use +an old compiler(i.e. gcc 4.9) build fails on: +``` +elf32-or1k.c:2251:3: error: 'for' loop initial declarations are only allowed in +C99 or C11 mode + for (size_t i = 0; i < insn_count; i++) + ^ +``` + +So let's declare `size_t i` at the top of the function instead of inside +for loop. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..32063ab0289 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2244,9 +2244,10 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + { + unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; + unsigned output_insns[PLT_MAX_INSN_COUNT]; ++ size_t i; + + /* Copy instructions into the output buffer. */ +- for (size_t i = 0; i < insn_count; i++) ++ for (i = 0; i < insn_count; i++) + output_insns[i] = insns[i]; + + /* Honor the no-delay-slot setting. */ +@@ -2277,7 +2278,7 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + } + + /* Write out the output buffer. */ +- for (size_t i = 0; i < (insn_count+1); i++) ++ for (i = 0; i < (insn_count+1); i++) + bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); + } + +-- +2.25.1 + diff --git a/package/binutils/2.32/0015-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch b/package/binutils/2.32/0015-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch new file mode 100644 index 00000000000..585b97b2af1 --- /dev/null +++ b/package/binutils/2.32/0015-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch @@ -0,0 +1,59 @@ +From 9af93e143a7fbdb75aa1ed37277f9250eb111628 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sat, 10 Jul 2021 17:57:34 +0200 +Subject: [PATCH] or1k: fix pc-relative relocation against dynamic on PC + relative 26 bit relocation + +When building openal we were seeing the assert failure: + +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePausev +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceStopv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceRewindv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePlayv +collect2: error: ld returned 1 exit status + +This happens because in R_OR1K_INSN_REL_26 case we can't reference local +symbol as previously done but we need to make sure that calls to actual +symbol always call the version of current object. + +bfd/Changelog: + + * elf32-or1k.c (or1k_elf_relocate_section): use a separate entry + in switch case R_OR1K_INSN_REL_26 where we need to check for + !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL(). + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..4f9092539f5 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -1543,6 +1543,18 @@ or1k_elf_relocate_section (bfd *output_bfd, + break; + + case R_OR1K_INSN_REL_26: ++ /* For a non-shared link, these will reference plt or call the ++ version of actual object. */ ++ if (bfd_link_pic (info) && !SYMBOL_CALLS_LOCAL (info, h)) ++ { ++ _bfd_error_handler ++ (_("%pB: pc-relative relocation against dynamic symbol %s"), ++ input_bfd, name); ++ ret_val = FALSE; ++ bfd_set_error (bfd_error_bad_value); ++ } ++ break; ++ + case R_OR1K_PCREL_PG21: + case R_OR1K_LO13: + case R_OR1K_SLO13: +-- +2.25.1 + diff --git a/package/binutils/2.32/0016-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch b/package/binutils/2.32/0016-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch new file mode 100644 index 00000000000..7e92e2bfd81 --- /dev/null +++ b/package/binutils/2.32/0016-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch @@ -0,0 +1,75 @@ +From 51def3dc6a168d03d28e0d4e2935d9ddb2929192 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 Jan 2022 09:03:28 +0900 +Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 signed overflow by using special + howto + +Previously when fixing PR 21464 we masked out upper bits of the +relocation value in order to avoid overflow complaints when acceptable. +It turns out this does not work when the relocation value ends up being +signed. + +To fix this this patch introduces a special howto with +complain_on_overflow set to complain_overflow_dont. This is used in +place of the normal R_OR1K_GOT16 howto when we detect R_OR1K_GOT_AHI16 +relocations. + +bfd/ChangeLog: + + PR 28735 + * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define. + (or1k_elf_relocate_section): Use new howto instead of trying to + mask out relocation bits. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index cfa292f0032..ecb70753b6a 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -828,6 +828,23 @@ static reloc_howto_type or1k_elf_howto_table[] = + FALSE), /* pcrel_offset */ + }; + ++/* A copy of the R_OR1K_GOT16 used in the presense of R_OR1K_GOT_AHI16 ++ relocations when we know we can ignore overflows. */ ++static reloc_howto_type or1k_elf_got16_no_overflow_howto = ++ HOWTO (R_OR1K_GOT16, /* type */ ++ 0, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_dont, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_OR1K_GOT16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0xffff, /* dst_mask */ ++ FALSE); /* pcrel_offset */ ++ + /* Map BFD reloc types to Or1k ELF reloc types. */ + + struct or1k_reloc_map +@@ -1477,12 +1494,11 @@ or1k_elf_relocate_section (bfd *output_bfd, + if (r_type == R_OR1K_GOT_AHI16) + saw_gotha = TRUE; + +- /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 ++ /* If we have a R_OR1K_GOT16 following a R_OR1K_GOT_AHI16 + relocation we assume the code is doing the right thing to avoid +- overflows. Here we mask the lower 16-bit of the relocation to +- avoid overflow validation failures. */ ++ overflows. */ + if (r_type == R_OR1K_GOT16 && saw_gotha) +- relocation &= 0xffff; ++ howto = &or1k_elf_got16_no_overflow_howto; + + /* Addend should be zero. */ + if (rel->r_addend != 0) +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch b/package/binutils/2.35.2/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch new file mode 100644 index 00000000000..81fb6b85182 --- /dev/null +++ b/package/binutils/2.35.2/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch @@ -0,0 +1,59 @@ +From baf313f84b106a5a29f01796afd857e69abf8b08 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:14 +0900 +Subject: [PATCH] or1k: Fix issue with plt link failure for local calls + +When building protobuf we were seeing the assert failure: + + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + collect2: error: ld returned 1 exit status + +This failure happens while writing out PLT entries, there is a check +"BFD_ASSERT (h->dynindx != -1)" to confirm all plt entries have dynamic +symbol attributes. This was failing for symbols that were +"forced_local" in previous linking code. + +The fix adds logic to or1k_elf_adjust_dynamic_symbol to identify +"forced_local" symbols and exclude them from the the PLT. + +bfd/ChangeLog: + + PR 27624 + * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Change + condition used to cleanup plt entries to cleanup forced local + entries. + +Cc: Giulio Benetti +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 7c02d004cc7..bbfa2bfe614 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2568,11 +2568,10 @@ or1k_elf_adjust_dynamic_symbol (struct bfd_link_info *info, + if (h->type == STT_FUNC + || h->needs_plt) + { +- if (! bfd_link_pic (info) +- && !h->def_dynamic +- && !h->ref_dynamic +- && h->root.type != bfd_link_hash_undefweak +- && h->root.type != bfd_link_hash_undefined) ++ if (h->plt.refcount <= 0 ++ || (SYMBOL_CALLS_LOCAL (info, h) ++ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ && h->root.type == bfd_link_hash_undefweak))) + { + /* This case can occur if we saw a PLT reloc in an input + file, but the symbol was never referred to by a dynamic +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch b/package/binutils/2.35.2/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch new file mode 100644 index 00000000000..a4af57d546e --- /dev/null +++ b/package/binutils/2.35.2/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch @@ -0,0 +1,256 @@ +From c67656e248d6dadaa2729975a17c8dd03afe48d0 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:15 +0900 +Subject: [PATCH] or1k: Implement relocation R_OR1K_GOT_AHI16 for gotha() + +The gotha() relocation mnemonic will be outputted by OpenRISC GCC when +using the -mcmodel=large option. This relocation is used along with +got() to generate 32-bit GOT offsets. This increases the previous GOT +offset limit from the previous 16-bit (64K) limit. + +This is needed on large binaries where the GOT grows larger than 64k. + +bfd/ChangeLog: + + PR 21464 + * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation. + * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise. + (or1k_final_link_relocate, or1k_elf_relocate_section, + or1k_elf_check_relocs): Likewise. + * libbfd.h (bfd_reloc_code_real_names): Likewise. + * reloc.c: Likewise. + +cpu/ChangeLog: + + PR 21464 + * or1k.opc (or1k_imm16_relocs, parse_reloc): Define parse logic + for gotha() relocation. + +include/ChangeLog: + + PR 21464 + * elf/or1k.h (elf_or1k_reloc_type): Define R_OR1K_GOT_AHI16 number. + +opcodes/ChangeLog: + + PR 21464 + * or1k-asm.c: Regenerate. + +gas/ChangeLog: + + PR 21464 + * testsuite/gas/or1k/reloc-1.s: Add test for new relocation. + * testsuite/gas/or1k/reloc-1.d: Add test result for new + relocation. + +Cc: Giulio Benetti + +fixup reloc, add tests + +Signed-off-by: Giulio Benetti +--- + bfd/bfd-in2.h | 1 + + bfd/elf32-or1k.c | 21 ++++++++++++++++++++- + bfd/libbfd.h | 1 + + bfd/reloc.c | 2 ++ + cpu/or1k.opc | 7 ++++++- + gas/testsuite/gas/or1k/reloc-1.d | 4 +++- + gas/testsuite/gas/or1k/reloc-1.s | 4 ++++ + include/elf/or1k.h | 1 + + opcodes/or1k-asm.c | 7 ++++++- + 9 files changed, 44 insertions(+), 4 deletions(-) + +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h +index df6f9f45673..ab861395e93 100644 +--- a/bfd/bfd-in2.h ++++ b/bfd/bfd-in2.h +@@ -5041,6 +5041,7 @@ then it may be truncated to 8 bits. */ + BFD_RELOC_OR1K_TLS_TPOFF, + BFD_RELOC_OR1K_TLS_DTPOFF, + BFD_RELOC_OR1K_TLS_DTPMOD, ++ BFD_RELOC_OR1K_GOT_AHI16, + + /* H8 elf Relocations. */ + BFD_RELOC_H8_DIR16A8, +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index bbfa2bfe614..8e395827123 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -808,6 +808,20 @@ static reloc_howto_type or1k_elf_howto_table[] = + 0, /* Source Mask. */ + 0x03ffffff, /* Dest Mask. */ + TRUE), /* PC relative offset? */ ++ ++ HOWTO (R_OR1K_GOT_AHI16, /* type */ ++ 16, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_signed, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_OR1K_GOT_AHI16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0xffff, /* dst_mask */ ++ FALSE), /* pcrel_offset */ + }; + + /* Map BFD reloc types to Or1k ELF reloc types. */ +@@ -871,6 +885,7 @@ static const struct or1k_reloc_map or1k_reloc_map[] = + { BFD_RELOC_OR1K_TLS_IE_LO13, R_OR1K_TLS_IE_LO13 }, + { BFD_RELOC_OR1K_SLO13, R_OR1K_SLO13 }, + { BFD_RELOC_OR1K_PLTA26, R_OR1K_PLTA26 }, ++ { BFD_RELOC_OR1K_GOT_AHI16, R_OR1K_GOT_AHI16 }, + }; + + /* tls_type is a mask used to track how each symbol is accessed, +@@ -1113,6 +1128,7 @@ or1k_final_link_relocate (reloc_howto_type *howto, bfd *input_bfd, + switch (howto->type) + { + case R_OR1K_AHI16: ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOTOFF_AHI16: + case R_OR1K_TLS_IE_AHI16: + case R_OR1K_TLS_LE_AHI16: +@@ -1375,6 +1391,7 @@ or1k_elf_relocate_section (bfd *output_bfd, + } + break; + ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOT16: + case R_OR1K_GOT_PG21: + case R_OR1K_GOT_LO13: +@@ -1466,7 +1483,8 @@ or1k_elf_relocate_section (bfd *output_bfd, + /* The GOT_PG21 and GOT_LO13 relocs are pc-relative, + while the GOT16 reloc is GOT relative. */ + relocation = got_base + off; +- if (r_type == R_OR1K_GOT16) ++ if (r_type == R_OR1K_GOT16 ++ || r_type == R_OR1K_GOT_AHI16) + relocation -= got_sym_value; + + /* Addend should be zero. */ +@@ -1992,6 +2010,7 @@ or1k_elf_check_relocs (bfd *abfd, + } + break; + ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOT16: + case R_OR1K_GOT_PG21: + case R_OR1K_GOT_LO13: +diff --git a/bfd/libbfd.h b/bfd/libbfd.h +index b97534fc9fe..795c9b9d27f 100644 +--- a/bfd/libbfd.h ++++ b/bfd/libbfd.h +@@ -2755,6 +2755,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", + "BFD_RELOC_OR1K_TLS_TPOFF", + "BFD_RELOC_OR1K_TLS_DTPOFF", + "BFD_RELOC_OR1K_TLS_DTPMOD", ++ "BFD_RELOC_OR1K_GOT_AHI16", + "BFD_RELOC_H8_DIR16A8", + "BFD_RELOC_H8_DIR16R8", + "BFD_RELOC_H8_DIR24A8", +diff --git a/bfd/reloc.c b/bfd/reloc.c +index 9aba84ca81e..1e021febef2 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -6175,6 +6175,8 @@ ENUMX + BFD_RELOC_OR1K_GOTPC_HI16 + ENUMX + BFD_RELOC_OR1K_GOTPC_LO16 ++ENUMX ++ BFD_RELOC_OR1K_GOT_AHI16 + ENUMX + BFD_RELOC_OR1K_GOT16 + ENUMX +diff --git a/cpu/or1k.opc b/cpu/or1k.opc +index f0adcbb00a5..5d20a1f33a7 100644 +--- a/cpu/or1k.opc ++++ b/cpu/or1k.opc +@@ -193,7 +193,7 @@ static const bfd_reloc_code_real_type or1k_imm16_relocs[][6] = { + BFD_RELOC_OR1K_GOT_LO13, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +- BFD_RELOC_UNUSED }, ++ BFD_RELOC_OR1K_GOT_AHI16 }, + { BFD_RELOC_OR1K_GOTPC_LO16, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +@@ -296,6 +296,11 @@ parse_reloc (const char **strp) + str += 5; + cls = RCLASS_TPOFF; + } ++ else if (strncasecmp (str, "got", 3) == 0) ++ { ++ str += 3; ++ cls = RCLASS_GOT; ++ } + + if (strncasecmp (str, "hi(", 3) == 0) + { +diff --git a/gas/testsuite/gas/or1k/reloc-1.d b/gas/testsuite/gas/or1k/reloc-1.d +index d1bcf5608bb..3a001c4ed99 100644 +--- a/gas/testsuite/gas/or1k/reloc-1.d ++++ b/gas/testsuite/gas/or1k/reloc-1.d +@@ -68,5 +68,7 @@ OFFSET TYPE VALUE + 000000ec R_OR1K_LO13 x + 000000f0 R_OR1K_GOT_LO13 x + 000000f4 R_OR1K_SLO13 x +- ++000000f8 R_OR1K_GOT_AHI16 x ++000000fc R_OR1K_GOT_AHI16 x ++00000100 R_OR1K_GOT_AHI16 x + +diff --git a/gas/testsuite/gas/or1k/reloc-1.s b/gas/testsuite/gas/or1k/reloc-1.s +index e76abef6532..562609aa869 100644 +--- a/gas/testsuite/gas/or1k/reloc-1.s ++++ b/gas/testsuite/gas/or1k/reloc-1.s +@@ -74,3 +74,7 @@ + l.lbz r5,po(x)(r3) + l.lbz r5,gotpo(x)(r3) + l.sb po(x)(r3),r6 ++ ++ l.movhi r4,gotha(x) ++ l.ori r3,r4,gotha(x) ++ l.addi r3,r4,gotha(x) +diff --git a/include/elf/or1k.h b/include/elf/or1k.h +index a215ef5c17e..dff37d875f2 100644 +--- a/include/elf/or1k.h ++++ b/include/elf/or1k.h +@@ -77,6 +77,7 @@ START_RELOC_NUMBERS (elf_or1k_reloc_type) + RELOC_NUMBER (R_OR1K_TLS_IE_LO13, 51) + RELOC_NUMBER (R_OR1K_SLO13, 52) + RELOC_NUMBER (R_OR1K_PLTA26, 53) ++ RELOC_NUMBER (R_OR1K_GOT_AHI16, 54) + END_RELOC_NUMBERS (R_OR1K_max) + + #define EF_OR1K_NODELAY (1UL << 0) +diff --git a/opcodes/or1k-asm.c b/opcodes/or1k-asm.c +index 5f3c6c74b12..e0c49b3b8cd 100644 +--- a/opcodes/or1k-asm.c ++++ b/opcodes/or1k-asm.c +@@ -177,7 +177,7 @@ static const bfd_reloc_code_real_type or1k_imm16_relocs[][6] = { + BFD_RELOC_OR1K_GOT_LO13, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +- BFD_RELOC_UNUSED }, ++ BFD_RELOC_OR1K_GOT_AHI16 }, + { BFD_RELOC_OR1K_GOTPC_LO16, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +@@ -280,6 +280,11 @@ parse_reloc (const char **strp) + str += 5; + cls = RCLASS_TPOFF; + } ++ else if (strncasecmp (str, "got", 3) == 0) ++ { ++ str += 3; ++ cls = RCLASS_GOT; ++ } + + if (strncasecmp (str, "hi(", 3) == 0) + { +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch b/package/binutils/2.35.2/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch new file mode 100644 index 00000000000..82198dd3734 --- /dev/null +++ b/package/binutils/2.35.2/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch @@ -0,0 +1,61 @@ +From 097b83a1c9c694a14e6081cee034bf24f16875c1 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:16 +0900 +Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 overflow failures in presence of + R_OR1K_GOT_AHI16 + +Now that we support R_OR1K_GOT_AHI16 we can relax the R_OR1K_GOT16 +overflow validation check if the section has R_OR1K_GOT_AHI16. + +We cannot simple disable R_OR1K_GOT16 overflow validation as there will +still be binaries that will have only R_OR1K_GOT16. The +R_OR1K_GOT_AHI16 relocation will only be added by GCC when building with +the option -mcmodel=large. + +This assumes that R_OR1K_GOT_AHI16 will come before R_OR1K_GOT16, which +is the code pattern that will be emitted by GCC. + +bfd/ChangeLog: + + PR 21464 + * elf32-or1k.c (or1k_elf_relocate_section): Relax R_OR1K_GOT16 + overflow check if we have R_OR1K_GOT_AHI16 followed by + R_OR1K_GOT16. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 8e395827123..9f315bfda99 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -1280,6 +1280,7 @@ or1k_elf_relocate_section (bfd *output_bfd, + asection *sgot, *splt; + bfd_vma plt_base, got_base, got_sym_value; + bfd_boolean ret_val = TRUE; ++ bfd_boolean saw_gotha = FALSE; + + if (htab == NULL) + return FALSE; +@@ -1487,6 +1488,16 @@ or1k_elf_relocate_section (bfd *output_bfd, + || r_type == R_OR1K_GOT_AHI16) + relocation -= got_sym_value; + ++ if (r_type == R_OR1K_GOT_AHI16) ++ saw_gotha = TRUE; ++ ++ /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 ++ relocation we assume the code is doing the right thing to avoid ++ overflows. Here we mask the lower 16-bit of the relocation to ++ avoid overflow validation failures. */ ++ if (r_type == R_OR1K_GOT16 && saw_gotha) ++ relocation &= 0xffff; ++ + /* Addend should be zero. */ + if (rel->r_addend != 0) + { +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch b/package/binutils/2.35.2/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch new file mode 100644 index 00000000000..c884ab874d9 --- /dev/null +++ b/package/binutils/2.35.2/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch @@ -0,0 +1,500 @@ +From c87692eb894b4b86eced7b7ba205f9bf27c2c213 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:17 +0900 +Subject: [PATCH] or1k: Support large plt_relocs when generating plt + entries + +The current PLT generation code will generate invalid code when the PLT +relocation offset exceeds 64k. This fixes the issue by detecting large +plt_reloc offsets and generare code sequences to create larger plt +relocations. + +The "large" plt code needs 2 extra instructions to create 32-bit offsets. + +bfd/ChangeLog: + + PR 27746 + * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT, + OR1K_ADD, OR1K_ORI): New macros to help with plt creation. + (elf_or1k_link_hash_table): New field plt_count. + (elf_or1k_link_hash_entry): New field plt_index. + (elf_or1k_plt_entry_size): New function. + (or1k_write_plt_entry): Update to support variable size PLTs. + (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry + API. + (or1k_elf_finish_dynamic_symbol): Update to write large PLTs + when needed. + (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for + PLT size. + +ld/ChangeLog: + + PR 27746 + testsuite/ld-or1k/or1k.exp (or1kplttests): Add tests for linking + along with gotha() relocations. + testsuite/ld-or1k/gotha1.dd: New file. + testsuite/ld-or1k/gotha1.s: New file. + testsuite/ld-or1k/gotha2.dd: New file. + testsuite/ld-or1k/gotha2.s: New file + testsuite/ld-or1k/pltlib.s (x): Define size to avoid link + failure. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 149 ++++++++++++++++++++++++--------- + ld/testsuite/ld-or1k/gotha1.dd | 34 ++++++++ + ld/testsuite/ld-or1k/gotha1.s | 24 ++++++ + ld/testsuite/ld-or1k/gotha2.dd | 21 +++++ + ld/testsuite/ld-or1k/gotha2.s | 22 +++++ + ld/testsuite/ld-or1k/or1k.exp | 8 ++ + ld/testsuite/ld-or1k/pltlib.s | 1 + + 7 files changed, 220 insertions(+), 39 deletions(-) + create mode 100644 ld/testsuite/ld-or1k/gotha1.dd + create mode 100644 ld/testsuite/ld-or1k/gotha1.s + create mode 100644 ld/testsuite/ld-or1k/gotha2.dd + create mode 100644 ld/testsuite/ld-or1k/gotha2.s + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 9f315bfda99..7a14eaa3a46 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -30,10 +30,14 @@ + #define N_ONES(X) (((bfd_vma)2 << (X)) - 1) + + #define PLT_ENTRY_SIZE 16 ++#define PLT_ENTRY_SIZE_LARGE (6*4) ++#define PLT_MAX_INSN_COUNT 6 + + #define OR1K_MOVHI(D) (0x18000000 | (D << 21)) + #define OR1K_ADRP(D) (0x08000000 | (D << 21)) + #define OR1K_LWZ(D,A) (0x84000000 | (D << 21) | (A << 16)) ++#define OR1K_ADD(D,A,B) (0xE0000000 | (D << 21) | (A << 16) | (B << 11)) ++#define OR1K_ORI(D,A) (0xA8000000 | (D << 21) | (A << 16)) + #define OR1K_ORI0(D) (0xA8000000 | (D << 21)) + #define OR1K_JR(B) (0x44000000 | (B << 11)) + #define OR1K_NOP 0x15000000 +@@ -907,6 +911,8 @@ struct elf_or1k_link_hash_entry + { + struct elf_link_hash_entry root; + ++ /* For calculating PLT size. */ ++ bfd_vma plt_index; + /* Track type of TLS access. */ + unsigned char tls_type; + }; +@@ -934,9 +940,20 @@ struct elf_or1k_link_hash_table + /* Small local sym to section mapping cache. */ + struct sym_cache sym_sec; + ++ bfd_vma plt_count; + bfd_boolean saw_plta; + }; + ++static size_t ++elf_or1k_plt_entry_size (bfd_vma plt_index) ++{ ++ bfd_vma plt_reloc; ++ ++ plt_reloc = plt_index * sizeof (Elf32_External_Rela); ++ ++ return (plt_reloc > 0xffff) ? PLT_ENTRY_SIZE_LARGE : PLT_ENTRY_SIZE; ++} ++ + /* Get the ELF linker hash table from a link_info structure. */ + #define or1k_elf_hash_table(p) \ + (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \ +@@ -2224,33 +2241,46 @@ or1k_elf_check_relocs (bfd *abfd, + } + + static void +-or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insn1, +- unsigned insn2, unsigned insn3, unsigned insnj) ++or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, ++ unsigned insns[], size_t insn_count) + { + unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; +- unsigned insn4; ++ unsigned output_insns[PLT_MAX_INSN_COUNT]; ++ ++ /* Copy instructions into the output buffer. */ ++ for (size_t i = 0; i < insn_count; i++) ++ output_insns[i] = insns[i]; + + /* Honor the no-delay-slot setting. */ +- if (insn3 == OR1K_NOP) ++ if (insns[insn_count-1] == OR1K_NOP) + { +- insn4 = insn3; ++ unsigned slot1, slot2; ++ + if (nodelay) +- insn3 = insnj; ++ slot1 = insns[insn_count-2], slot2 = insnj; + else +- insn3 = insn2, insn2 = insnj; ++ slot1 = insnj, slot2 = insns[insn_count-2]; ++ ++ output_insns[insn_count-2] = slot1; ++ output_insns[insn_count-1] = slot2; ++ output_insns[insn_count] = OR1K_NOP; + } + else + { ++ unsigned slot1, slot2; ++ + if (nodelay) +- insn4 = insnj; ++ slot1 = insns[insn_count-1], slot2 = insnj; + else +- insn4 = insn3, insn3 = insnj; ++ slot1 = insnj, slot2 = insns[insn_count-1]; ++ ++ output_insns[insn_count-1] = slot1; ++ output_insns[insn_count] = slot2; + } + +- bfd_put_32 (output_bfd, insn1, contents); +- bfd_put_32 (output_bfd, insn2, contents + 4); +- bfd_put_32 (output_bfd, insn3, contents + 8); +- bfd_put_32 (output_bfd, insn4, contents + 12); ++ /* Write out the output buffer. */ ++ for (size_t i = 0; i < (insn_count+1); i++) ++ bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); + } + + /* Finish up the dynamic sections. */ +@@ -2317,7 +2347,8 @@ or1k_elf_finish_dynamic_sections (bfd *output_bfd, + splt = htab->root.splt; + if (splt && splt->size > 0) + { +- unsigned plt0, plt1, plt2; ++ unsigned plt[PLT_MAX_INSN_COUNT]; ++ size_t plt_insn_count = 3; + bfd_vma got_addr = sgot->output_section->vma + sgot->output_offset; + + /* Note we force 16 byte alignment on the .got, so that +@@ -2328,27 +2359,27 @@ or1k_elf_finish_dynamic_sections (bfd *output_bfd, + bfd_vma pc = splt->output_section->vma + splt->output_offset; + unsigned pa = ((got_addr >> 13) - (pc >> 13)) & 0x1fffff; + unsigned po = got_addr & 0x1fff; +- plt0 = OR1K_ADRP(12) | pa; +- plt1 = OR1K_LWZ(15,12) | (po + 8); +- plt2 = OR1K_LWZ(12,12) | (po + 4); ++ plt[0] = OR1K_ADRP(12) | pa; ++ plt[1] = OR1K_LWZ(15,12) | (po + 8); ++ plt[2] = OR1K_LWZ(12,12) | (po + 4); + } + else if (bfd_link_pic (info)) + { +- plt0 = OR1K_LWZ(15, 16) | 8; /* .got+8 */ +- plt1 = OR1K_LWZ(12, 16) | 4; /* .got+4 */ +- plt2 = OR1K_NOP; ++ plt[0] = OR1K_LWZ(15, 16) | 8; /* .got+8 */ ++ plt[1] = OR1K_LWZ(12, 16) | 4; /* .got+4 */ ++ plt[2] = OR1K_NOP; + } + else + { + unsigned ha = ((got_addr + 0x8000) >> 16) & 0xffff; + unsigned lo = got_addr & 0xffff; +- plt0 = OR1K_MOVHI(12) | ha; +- plt1 = OR1K_LWZ(15,12) | (lo + 8); +- plt2 = OR1K_LWZ(12,12) | (lo + 4); ++ plt[0] = OR1K_MOVHI(12) | ha; ++ plt[1] = OR1K_LWZ(15,12) | (lo + 8); ++ plt[2] = OR1K_LWZ(12,12) | (lo + 4); + } + +- or1k_write_plt_entry (output_bfd, splt->contents, +- plt0, plt1, plt2, OR1K_JR(15)); ++ or1k_write_plt_entry (output_bfd, splt->contents, OR1K_JR(15), ++ plt, plt_insn_count); + + elf_section_data (splt->output_section)->this_hdr.sh_entsize = 4; + } +@@ -2391,7 +2422,8 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + + if (h->plt.offset != (bfd_vma) -1) + { +- unsigned int plt0, plt1, plt2; ++ unsigned int plt[PLT_MAX_INSN_COUNT]; ++ size_t plt_insn_count = 3; + asection *splt; + asection *sgot; + asection *srela; +@@ -2403,6 +2435,7 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + bfd_vma got_offset; + bfd_vma got_addr; + Elf_Internal_Rela rela; ++ bfd_boolean large_plt_entry; + + /* This symbol has an entry in the procedure linkage table. Set + it up. */ +@@ -2420,10 +2453,13 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + corresponds to this symbol. This is the index of this symbol + in all the symbols for which we are making plt entries. The + first entry in the procedure linkage table is reserved. */ +- plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1; ++ plt_index = ((struct elf_or1k_link_hash_entry *) h)->plt_index; + plt_addr = plt_base_addr + h->plt.offset; + plt_reloc = plt_index * sizeof (Elf32_External_Rela); + ++ large_plt_entry = (elf_or1k_plt_entry_size (plt_index) ++ == PLT_ENTRY_SIZE_LARGE); ++ + /* Get the offset into the .got table of the entry that + corresponds to this function. Each .got entry is 4 bytes. + The first three are reserved. */ +@@ -2435,27 +2471,57 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + { + unsigned pa = ((got_addr >> 13) - (plt_addr >> 13)) & 0x1fffff; + unsigned po = (got_addr & 0x1fff); +- plt0 = OR1K_ADRP(12) | pa; +- plt1 = OR1K_LWZ(12,12) | po; +- plt2 = OR1K_ORI0(11) | plt_reloc; ++ plt[0] = OR1K_ADRP(12) | pa; ++ plt[1] = OR1K_LWZ(12,12) | po; ++ plt[2] = OR1K_ORI0(11) | plt_reloc; + } + else if (bfd_link_pic (info)) + { +- plt0 = OR1K_LWZ(12,16) | got_offset; +- plt1 = OR1K_ORI0(11) | plt_reloc; +- plt2 = OR1K_NOP; ++ if (large_plt_entry) ++ { ++ unsigned gotha = ((got_offset + 0x8000) >> 16) & 0xffff; ++ unsigned got = got_offset & 0xffff; ++ unsigned pltrelhi = (plt_reloc >> 16) & 0xffff; ++ unsigned pltrello = plt_reloc & 0xffff; ++ ++ plt[0] = OR1K_MOVHI(12) | gotha; ++ plt[1] = OR1K_ADD(12,12,16); ++ plt[2] = OR1K_LWZ(12,12) | got; ++ plt[3] = OR1K_MOVHI(11) | pltrelhi; ++ plt[4] = OR1K_ORI(11,11) | pltrello; ++ plt_insn_count = 5; ++ } ++ else ++ { ++ plt[0] = OR1K_LWZ(12,16) | got_offset; ++ plt[1] = OR1K_ORI0(11) | plt_reloc; ++ plt[2] = OR1K_NOP; ++ } + } + else + { + unsigned ha = ((got_addr + 0x8000) >> 16) & 0xffff; + unsigned lo = got_addr & 0xffff; +- plt0 = OR1K_MOVHI(12) | ha; +- plt1 = OR1K_LWZ(12,12) | lo; +- plt2 = OR1K_ORI0(11) | plt_reloc; ++ plt[0] = OR1K_MOVHI(12) | ha; ++ plt[1] = OR1K_LWZ(12,12) | lo; ++ plt[2] = OR1K_ORI0(11) | plt_reloc; ++ } ++ ++ /* For large code model we fixup the non-PIC PLT relocation instructions ++ here. */ ++ if (large_plt_entry && !bfd_link_pic (info)) ++ { ++ unsigned pltrelhi = (plt_reloc >> 16) & 0xffff; ++ unsigned pltrello = plt_reloc & 0xffff; ++ ++ plt[2] = OR1K_MOVHI(11) | pltrelhi; ++ plt[3] = OR1K_ORI(11,11) | pltrello; ++ plt[4] = OR1K_NOP; ++ plt_insn_count = 5; + } + + or1k_write_plt_entry (output_bfd, splt->contents + h->plt.offset, +- plt0, plt1, plt2, OR1K_JR(12)); ++ OR1K_JR(12), plt, plt_insn_count); + + /* Fill in the entry in the global offset table. We initialize it to + point to the top of the plt. This is done to lazy lookup the actual +@@ -2779,11 +2845,16 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, bfd_link_pic (info), h)) + { + asection *splt = htab->root.splt; ++ bfd_vma plt_index; ++ ++ /* Track the index of our plt entry for use in calculating size. */ ++ plt_index = htab->plt_count++; ++ ((struct elf_or1k_link_hash_entry *) h)->plt_index = plt_index; + + /* If this is the first .plt entry, make room for the special + first entry. */ + if (splt->size == 0) +- splt->size = PLT_ENTRY_SIZE; ++ splt->size = elf_or1k_plt_entry_size (plt_index); + + h->plt.offset = splt->size; + +@@ -2800,7 +2871,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) + } + + /* Make room for this entry. */ +- splt->size += PLT_ENTRY_SIZE; ++ splt->size += elf_or1k_plt_entry_size (plt_index); + + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ +diff --git a/ld/testsuite/ld-or1k/gotha1.dd b/ld/testsuite/ld-or1k/gotha1.dd +new file mode 100644 +index 00000000000..0ad1f8f5399 +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha1.dd +@@ -0,0 +1,34 @@ ++ ++.*\.x: file format elf32-or1k ++ ++ ++Disassembly of section \.plt: ++ ++[0-9a-f]+ <\.plt>: ++ +[0-9a-f]+: 19 80 00 00 l\.movhi r12,0x0 ++ +[0-9a-f]+: 85 ec [0-9a-f]+ [0-9a-f]+ l\.lwz r15,[0-9]+\(r12\) ++ +[0-9a-f]+: 44 00 78 00 l\.jr r15 ++ +[0-9a-f]+: 85 8c [0-9a-f]+ [0-9a-f]+ l\.lwz r12,[0-9]+\(r12\) ++ +[0-9a-f]+: 19 80 00 00 l\.movhi r12,0x0 ++ +[0-9a-f]+: 85 8c [0-9a-f]+ [0-9a-f]+ l\.lwz r12,[0-9]+\(r12\) ++ +[0-9a-f]+: 44 00 60 00 l\.jr r12 ++ +[0-9a-f]+: a9 60 00 00 l\.ori r11,r0,0x0 ++ ++Disassembly of section \.text: ++ ++[0-9a-f]+ <_start>: ++ +[0-9a-f]+: 9c 21 ff fc l\.addi r1,r1,-4 ++ +[0-9a-f]+: d4 01 48 00 l\.sw 0\(r1\),r9 ++ +[0-9a-f]+: 04 00 00 02 l\.jal [0-9a-f]+ <_start\+0x10> ++ +[0-9a-f]+: 1a 60 00 00 l\.movhi r19,0x0 ++ +[0-9a-f]+: aa 73 [0-9a-f]+ [0-9a-f]+ l\.ori r19,r19,0x[0-9a-f]+ ++ +[0-9a-f]+: e2 73 48 00 l\.add r19,r19,r9 ++ +[0-9a-f]+: 1a 20 00 00 l\.movhi r17,0x0 ++ +[0-9a-f]+: e2 31 98 00 l\.add r17,r17,r19 ++ +[0-9a-f]+: 86 31 00 10 l\.lwz r17,16\(r17\) ++ +[0-9a-f]+: 84 71 00 00 l\.lwz r3,0\(r17\) ++ +[0-9a-f]+: 07 ff ff f2 l\.jal [0-9a-f]+ <\.plt\+0x10> ++ +[0-9a-f]+: 15 00 00 00 l\.nop 0x0 ++ +[0-9a-f]+: 85 21 00 00 l\.lwz r9,0\(r1\) ++ +[0-9a-f]+: 44 00 48 00 l\.jr r9 ++ +[0-9a-f]+: 9c 21 00 04 l\.addi r1,r1,4 +diff --git a/ld/testsuite/ld-or1k/gotha1.s b/ld/testsuite/ld-or1k/gotha1.s +new file mode 100644 +index 00000000000..42b16db425c +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha1.s +@@ -0,0 +1,24 @@ ++ .data ++ .p2align 16 ++ ++ .text ++ .globl _start ++_start: ++ l.addi r1, r1, -4 ++ l.sw 0(r1), r9 ++ ++ l.jal 8 ++ l.movhi r19, gotpchi(_GLOBAL_OFFSET_TABLE_-4) ++ l.ori r19, r19, gotpclo(_GLOBAL_OFFSET_TABLE_+0) ++ l.add r19, r19, r9 ++ ++ l.movhi r17, gotha(x) ++ l.add r17, r17, r19 ++ l.lwz r17, got(x)(r17) ++ l.lwz r3, 0(r17) ++ ++ l.jal plt(func) ++ l.nop ++ l.lwz r9, 0(r1) ++ l.jr r9 ++ l.addi r1, r1, 4 +diff --git a/ld/testsuite/ld-or1k/gotha2.dd b/ld/testsuite/ld-or1k/gotha2.dd +new file mode 100644 +index 00000000000..fe09da5466b +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha2.dd +@@ -0,0 +1,21 @@ ++ ++.*\.x: file format elf32-or1k ++ ++ ++Disassembly of section \.text: ++ ++[0-9a-f]+ : ++ +[0-9a-f]+: 9c 21 ff f8 l\.addi r1,r1,-8 ++ +[0-9a-f]+: d4 01 80 00 l\.sw 0\(r1\),r16 ++ +[0-9a-f]+: d4 01 48 04 l\.sw 4\(r1\),r9 ++ +[0-9a-f]+: 04 00 [0-9a-f]+ [0-9a-f]+ l\.jal [0-9a-f]+ ++ +[0-9a-f]+: 1a 00 00 00 l\.movhi r16,0x0 ++ +[0-9a-f]+: aa 10 [0-9a-f]+ [0-9a-f]+ l\.ori r16,r16,0x[0-9a-f]+ ++ +[0-9a-f]+: e2 10 48 00 l\.add r16,r16,r9 ++ +[0-9a-f]+: 1a 20 00 00 l\.movhi r17,0x0 ++ +[0-9a-f]+: e2 31 80 00 l\.add r17,r17,r16 ++ +[0-9a-f]+: 86 31 00 0c l\.lwz r17,12\(r17\) ++ +[0-9a-f]+: 85 21 00 04 l\.lwz r9,4\(r1\) ++ +[0-9a-f]+: 86 01 00 00 l\.lwz r16,0\(r1\) ++ +[0-9a-f]+: 44 00 48 00 l\.jr r9 ++ +[0-9a-f]+: 9c 21 00 08 l\.addi r1,r1,8 +diff --git a/ld/testsuite/ld-or1k/gotha2.s b/ld/testsuite/ld-or1k/gotha2.s +new file mode 100644 +index 00000000000..164b282f2dd +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha2.s +@@ -0,0 +1,22 @@ ++ .section .text ++ .align 4 ++ .global test ++ .type test, @function ++test: ++ l.addi r1, r1, -8 ++ l.sw 0(r1), r16 ++ l.sw 4(r1), r9 ++ ++ l.jal 8 ++ l.movhi r16, gotpchi(_GLOBAL_OFFSET_TABLE_-4) ++ l.ori r16, r16, gotpclo(_GLOBAL_OFFSET_TABLE_+0) ++ l.add r16, r16, r9 ++ ++ l.movhi r17, gotha(i) ++ l.add r17, r17, r16 ++ l.lwz r17, got(i)(r17) ++ ++ l.lwz r9, 4(r1) ++ l.lwz r16, 0(r1) ++ l.jr r9 ++ l.addi r1, r1, 8 +diff --git a/ld/testsuite/ld-or1k/or1k.exp b/ld/testsuite/ld-or1k/or1k.exp +index 7592e8307c1..8e19ec6c31a 100644 +--- a/ld/testsuite/ld-or1k/or1k.exp ++++ b/ld/testsuite/ld-or1k/or1k.exp +@@ -53,6 +53,14 @@ set or1kplttests { + "" {plt1.s} + {{objdump -dr plt1.x.dd}} + "plt1.x"} ++ {"gotha exec plt" "tmpdir/libpltlib.so" "" ++ "" {gotha1.s} ++ {{objdump -dr gotha1.dd}} ++ "gotha1.x"} ++ {"gotha -fpic -shared" "-fpic -shared" "" ++ "" {gotha2.s} ++ {{objdump -dr gotha2.dd}} ++ "gotha2.x"} + } + + # Not implemented yet +diff --git a/ld/testsuite/ld-or1k/pltlib.s b/ld/testsuite/ld-or1k/pltlib.s +index baf76ca1af7..8b4d7ba48fd 100644 +--- a/ld/testsuite/ld-or1k/pltlib.s ++++ b/ld/testsuite/ld-or1k/pltlib.s +@@ -1,5 +1,6 @@ + .section .data + .globl x, y ++ .size x, 4 + x: .long 33 + y: .long 44 + +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0007-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch b/package/binutils/2.35.2/0007-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch new file mode 100644 index 00000000000..c3978e22fa8 --- /dev/null +++ b/package/binutils/2.35.2/0007-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch @@ -0,0 +1,50 @@ +From c3003947e4bad18faea4337fd2073feeb30ee078 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 9 Jun 2021 17:28:27 +0200 +Subject: [PATCH] bfd/elf32-or1k: fix building with gcc version < 5 + +Gcc version >= 5 has standard C mode not set to -std=gnu11, so if we use +an old compiler(i.e. gcc 4.9) build fails on: +``` +elf32-or1k.c:2251:3: error: 'for' loop initial declarations are only allowed in +C99 or C11 mode + for (size_t i = 0; i < insn_count; i++) + ^ +``` + +So let's declare `size_t i` at the top of the function instead of inside +for loop. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..32063ab0289 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2244,9 +2244,10 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + { + unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; + unsigned output_insns[PLT_MAX_INSN_COUNT]; ++ size_t i; + + /* Copy instructions into the output buffer. */ +- for (size_t i = 0; i < insn_count; i++) ++ for (i = 0; i < insn_count; i++) + output_insns[i] = insns[i]; + + /* Honor the no-delay-slot setting. */ +@@ -2277,7 +2278,7 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + } + + /* Write out the output buffer. */ +- for (size_t i = 0; i < (insn_count+1); i++) ++ for (i = 0; i < (insn_count+1); i++) + bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); + } + +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0008-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch b/package/binutils/2.35.2/0008-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch new file mode 100644 index 00000000000..585b97b2af1 --- /dev/null +++ b/package/binutils/2.35.2/0008-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch @@ -0,0 +1,59 @@ +From 9af93e143a7fbdb75aa1ed37277f9250eb111628 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sat, 10 Jul 2021 17:57:34 +0200 +Subject: [PATCH] or1k: fix pc-relative relocation against dynamic on PC + relative 26 bit relocation + +When building openal we were seeing the assert failure: + +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePausev +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceStopv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceRewindv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePlayv +collect2: error: ld returned 1 exit status + +This happens because in R_OR1K_INSN_REL_26 case we can't reference local +symbol as previously done but we need to make sure that calls to actual +symbol always call the version of current object. + +bfd/Changelog: + + * elf32-or1k.c (or1k_elf_relocate_section): use a separate entry + in switch case R_OR1K_INSN_REL_26 where we need to check for + !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL(). + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..4f9092539f5 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -1543,6 +1543,18 @@ or1k_elf_relocate_section (bfd *output_bfd, + break; + + case R_OR1K_INSN_REL_26: ++ /* For a non-shared link, these will reference plt or call the ++ version of actual object. */ ++ if (bfd_link_pic (info) && !SYMBOL_CALLS_LOCAL (info, h)) ++ { ++ _bfd_error_handler ++ (_("%pB: pc-relative relocation against dynamic symbol %s"), ++ input_bfd, name); ++ ret_val = FALSE; ++ bfd_set_error (bfd_error_bad_value); ++ } ++ break; ++ + case R_OR1K_PCREL_PG21: + case R_OR1K_LO13: + case R_OR1K_SLO13: +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0009-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch b/package/binutils/2.35.2/0009-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch new file mode 100644 index 00000000000..e96d49122a3 --- /dev/null +++ b/package/binutils/2.35.2/0009-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch @@ -0,0 +1,75 @@ +From fbab8933bca6b7dba2aa19190a71f799a370c3d4 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 Jan 2022 09:03:28 +0900 +Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 signed overflow by using special + howto + +Previously when fixing PR 21464 we masked out upper bits of the +relocation value in order to avoid overflow complaints when acceptable. +It turns out this does not work when the relocation value ends up being +signed. + +To fix this this patch introduces a special howto with +complain_on_overflow set to complain_overflow_dont. This is used in +place of the normal R_OR1K_GOT16 howto when we detect R_OR1K_GOT_AHI16 +relocations. + +bfd/ChangeLog: + + PR 28735 + * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define. + (or1k_elf_relocate_section): Use new howto instead of trying to + mask out relocation bits. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 2ff998066a8..3df31172fcb 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -828,6 +828,23 @@ static reloc_howto_type or1k_elf_howto_table[] = + FALSE), /* pcrel_offset */ + }; + ++/* A copy of the R_OR1K_GOT16 used in the presense of R_OR1K_GOT_AHI16 ++ relocations when we know we can ignore overflows. */ ++static reloc_howto_type or1k_elf_got16_no_overflow_howto = ++ HOWTO (R_OR1K_GOT16, /* type */ ++ 0, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_dont, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_OR1K_GOT16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0xffff, /* dst_mask */ ++ FALSE); /* pcrel_offset */ ++ + /* Map BFD reloc types to Or1k ELF reloc types. */ + + struct or1k_reloc_map +@@ -1508,12 +1525,11 @@ or1k_elf_relocate_section (bfd *output_bfd, + if (r_type == R_OR1K_GOT_AHI16) + saw_gotha = TRUE; + +- /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 ++ /* If we have a R_OR1K_GOT16 following a R_OR1K_GOT_AHI16 + relocation we assume the code is doing the right thing to avoid +- overflows. Here we mask the lower 16-bit of the relocation to +- avoid overflow validation failures. */ ++ overflows. */ + if (r_type == R_OR1K_GOT16 && saw_gotha) +- relocation &= 0xffff; ++ howto = &or1k_elf_got16_no_overflow_howto; + + /* Addend should be zero. */ + if (rel->r_addend != 0) +-- +2.25.1 + diff --git a/package/binutils/2.35.2/0010-i386-Allow-GOT32-relocations-against-ABS-symbols.patch b/package/binutils/2.35.2/0010-i386-Allow-GOT32-relocations-against-ABS-symbols.patch new file mode 100644 index 00000000000..e95eb1e7c52 --- /dev/null +++ b/package/binutils/2.35.2/0010-i386-Allow-GOT32-relocations-against-ABS-symbols.patch @@ -0,0 +1,46 @@ +From 30a954525f4e53a9cd50a1a8a6f201c7cf6595c7 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +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 + +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/package/binutils/2.36.1/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch b/package/binutils/2.36.1/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch new file mode 100644 index 00000000000..85931ff661c --- /dev/null +++ b/package/binutils/2.36.1/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch @@ -0,0 +1,59 @@ +From b5fdaa85790dff45fd2c3fd15405c16dbc50a074 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:14 +0900 +Subject: [PATCH] or1k: Fix issue with plt link failure for local calls + +When building protobuf we were seeing the assert failure: + + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + /home/giuliobenetti/git/upstream/or1k-binutils-2.36.1/host/lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: + BFD (GNU Binutils) 2.36.1 assertion fail elf32-or1k.c:2377 + collect2: error: ld returned 1 exit status + +This failure happens while writing out PLT entries, there is a check +"BFD_ASSERT (h->dynindx != -1)" to confirm all plt entries have dynamic +symbol attributes. This was failing for symbols that were +"forced_local" in previous linking code. + +The fix adds logic to or1k_elf_adjust_dynamic_symbol to identify +"forced_local" symbols and exclude them from the the PLT. + +bfd/ChangeLog: + + PR 27624 + * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Change + condition used to cleanup plt entries to cleanup forced local + entries. + +Cc: Giulio Benetti +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 65938e51378..4f82cc4c667 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2566,11 +2566,10 @@ or1k_elf_adjust_dynamic_symbol (struct bfd_link_info *info, + if (h->type == STT_FUNC + || h->needs_plt) + { +- if (! bfd_link_pic (info) +- && !h->def_dynamic +- && !h->ref_dynamic +- && h->root.type != bfd_link_hash_undefweak +- && h->root.type != bfd_link_hash_undefined) ++ if (h->plt.refcount <= 0 ++ || (SYMBOL_CALLS_LOCAL (info, h) ++ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ && h->root.type == bfd_link_hash_undefweak))) + { + /* This case can occur if we saw a PLT reloc in an input + file, but the symbol was never referred to by a dynamic +-- +2.25.1 + diff --git a/package/binutils/2.36.1/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch b/package/binutils/2.36.1/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch new file mode 100644 index 00000000000..08c23d2760b --- /dev/null +++ b/package/binutils/2.36.1/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch @@ -0,0 +1,256 @@ +From 141dee7402871c7b3994838c3eddf64a92d67be7 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:15 +0900 +Subject: [PATCH] or1k: Implement relocation R_OR1K_GOT_AHI16 for gotha() + +The gotha() relocation mnemonic will be outputted by OpenRISC GCC when +using the -mcmodel=large option. This relocation is used along with +got() to generate 32-bit GOT offsets. This increases the previous GOT +offset limit from the previous 16-bit (64K) limit. + +This is needed on large binaries where the GOT grows larger than 64k. + +bfd/ChangeLog: + + PR 21464 + * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation. + * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise. + (or1k_final_link_relocate, or1k_elf_relocate_section, + or1k_elf_check_relocs): Likewise. + * libbfd.h (bfd_reloc_code_real_names): Likewise. + * reloc.c: Likewise. + +cpu/ChangeLog: + + PR 21464 + * or1k.opc (or1k_imm16_relocs, parse_reloc): Define parse logic + for gotha() relocation. + +include/ChangeLog: + + PR 21464 + * elf/or1k.h (elf_or1k_reloc_type): Define R_OR1K_GOT_AHI16 number. + +opcodes/ChangeLog: + + PR 21464 + * or1k-asm.c: Regenerate. + +gas/ChangeLog: + + PR 21464 + * testsuite/gas/or1k/reloc-1.s: Add test for new relocation. + * testsuite/gas/or1k/reloc-1.d: Add test result for new + relocation. + +Cc: Giulio Benetti + +fixup reloc, add tests + +Signed-off-by: Giulio Benetti +--- + bfd/bfd-in2.h | 1 + + bfd/elf32-or1k.c | 21 ++++++++++++++++++++- + bfd/libbfd.h | 1 + + bfd/reloc.c | 2 ++ + cpu/or1k.opc | 7 ++++++- + gas/testsuite/gas/or1k/reloc-1.d | 4 +++- + gas/testsuite/gas/or1k/reloc-1.s | 4 ++++ + include/elf/or1k.h | 1 + + opcodes/or1k-asm.c | 7 ++++++- + 9 files changed, 44 insertions(+), 4 deletions(-) + +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h +index 7eff85b7eaa..e76b9e7a319 100644 +--- a/bfd/bfd-in2.h ++++ b/bfd/bfd-in2.h +@@ -5048,6 +5048,7 @@ then it may be truncated to 8 bits. */ + BFD_RELOC_OR1K_TLS_TPOFF, + BFD_RELOC_OR1K_TLS_DTPOFF, + BFD_RELOC_OR1K_TLS_DTPMOD, ++ BFD_RELOC_OR1K_GOT_AHI16, + + /* H8 elf Relocations. */ + BFD_RELOC_H8_DIR16A8, +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4f82cc4c667..48461854a96 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -808,6 +808,20 @@ static reloc_howto_type or1k_elf_howto_table[] = + 0, /* Source Mask. */ + 0x03ffffff, /* Dest Mask. */ + TRUE), /* PC relative offset? */ ++ ++ HOWTO (R_OR1K_GOT_AHI16, /* type */ ++ 16, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_signed, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_OR1K_GOT_AHI16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0xffff, /* dst_mask */ ++ FALSE), /* pcrel_offset */ + }; + + /* Map BFD reloc types to Or1k ELF reloc types. */ +@@ -871,6 +885,7 @@ static const struct or1k_reloc_map or1k_reloc_map[] = + { BFD_RELOC_OR1K_TLS_IE_LO13, R_OR1K_TLS_IE_LO13 }, + { BFD_RELOC_OR1K_SLO13, R_OR1K_SLO13 }, + { BFD_RELOC_OR1K_PLTA26, R_OR1K_PLTA26 }, ++ { BFD_RELOC_OR1K_GOT_AHI16, R_OR1K_GOT_AHI16 }, + }; + + /* tls_type is a mask used to track how each symbol is accessed, +@@ -1111,6 +1126,7 @@ or1k_final_link_relocate (reloc_howto_type *howto, bfd *input_bfd, + switch (howto->type) + { + case R_OR1K_AHI16: ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOTOFF_AHI16: + case R_OR1K_TLS_IE_AHI16: + case R_OR1K_TLS_LE_AHI16: +@@ -1373,6 +1389,7 @@ or1k_elf_relocate_section (bfd *output_bfd, + } + break; + ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOT16: + case R_OR1K_GOT_PG21: + case R_OR1K_GOT_LO13: +@@ -1464,7 +1481,8 @@ or1k_elf_relocate_section (bfd *output_bfd, + /* The GOT_PG21 and GOT_LO13 relocs are pc-relative, + while the GOT16 reloc is GOT relative. */ + relocation = got_base + off; +- if (r_type == R_OR1K_GOT16) ++ if (r_type == R_OR1K_GOT16 ++ || r_type == R_OR1K_GOT_AHI16) + relocation -= got_sym_value; + + /* Addend should be zero. */ +@@ -1990,6 +2008,7 @@ or1k_elf_check_relocs (bfd *abfd, + } + break; + ++ case R_OR1K_GOT_AHI16: + case R_OR1K_GOT16: + case R_OR1K_GOT_PG21: + case R_OR1K_GOT_LO13: +diff --git a/bfd/libbfd.h b/bfd/libbfd.h +index 7271a2ad5a1..e0ee2dafc07 100644 +--- a/bfd/libbfd.h ++++ b/bfd/libbfd.h +@@ -2757,6 +2757,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", + "BFD_RELOC_OR1K_TLS_TPOFF", + "BFD_RELOC_OR1K_TLS_DTPOFF", + "BFD_RELOC_OR1K_TLS_DTPMOD", ++ "BFD_RELOC_OR1K_GOT_AHI16", + "BFD_RELOC_H8_DIR16A8", + "BFD_RELOC_H8_DIR16R8", + "BFD_RELOC_H8_DIR24A8", +diff --git a/bfd/reloc.c b/bfd/reloc.c +index 4f4b95a0b7f..fe94e0d8f91 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -6204,6 +6204,8 @@ ENUMX + BFD_RELOC_OR1K_GOTPC_HI16 + ENUMX + BFD_RELOC_OR1K_GOTPC_LO16 ++ENUMX ++ BFD_RELOC_OR1K_GOT_AHI16 + ENUMX + BFD_RELOC_OR1K_GOT16 + ENUMX +diff --git a/cpu/or1k.opc b/cpu/or1k.opc +index f0adcbb00a5..5d20a1f33a7 100644 +--- a/cpu/or1k.opc ++++ b/cpu/or1k.opc +@@ -193,7 +193,7 @@ static const bfd_reloc_code_real_type or1k_imm16_relocs[][6] = { + BFD_RELOC_OR1K_GOT_LO13, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +- BFD_RELOC_UNUSED }, ++ BFD_RELOC_OR1K_GOT_AHI16 }, + { BFD_RELOC_OR1K_GOTPC_LO16, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +@@ -296,6 +296,11 @@ parse_reloc (const char **strp) + str += 5; + cls = RCLASS_TPOFF; + } ++ else if (strncasecmp (str, "got", 3) == 0) ++ { ++ str += 3; ++ cls = RCLASS_GOT; ++ } + + if (strncasecmp (str, "hi(", 3) == 0) + { +diff --git a/gas/testsuite/gas/or1k/reloc-1.d b/gas/testsuite/gas/or1k/reloc-1.d +index d1bcf5608bb..3a001c4ed99 100644 +--- a/gas/testsuite/gas/or1k/reloc-1.d ++++ b/gas/testsuite/gas/or1k/reloc-1.d +@@ -68,5 +68,7 @@ OFFSET TYPE VALUE + 000000ec R_OR1K_LO13 x + 000000f0 R_OR1K_GOT_LO13 x + 000000f4 R_OR1K_SLO13 x +- ++000000f8 R_OR1K_GOT_AHI16 x ++000000fc R_OR1K_GOT_AHI16 x ++00000100 R_OR1K_GOT_AHI16 x + +diff --git a/gas/testsuite/gas/or1k/reloc-1.s b/gas/testsuite/gas/or1k/reloc-1.s +index e76abef6532..562609aa869 100644 +--- a/gas/testsuite/gas/or1k/reloc-1.s ++++ b/gas/testsuite/gas/or1k/reloc-1.s +@@ -74,3 +74,7 @@ + l.lbz r5,po(x)(r3) + l.lbz r5,gotpo(x)(r3) + l.sb po(x)(r3),r6 ++ ++ l.movhi r4,gotha(x) ++ l.ori r3,r4,gotha(x) ++ l.addi r3,r4,gotha(x) +diff --git a/include/elf/or1k.h b/include/elf/or1k.h +index 7f281481061..69ab90584a2 100644 +--- a/include/elf/or1k.h ++++ b/include/elf/or1k.h +@@ -77,6 +77,7 @@ START_RELOC_NUMBERS (elf_or1k_reloc_type) + RELOC_NUMBER (R_OR1K_TLS_IE_LO13, 51) + RELOC_NUMBER (R_OR1K_SLO13, 52) + RELOC_NUMBER (R_OR1K_PLTA26, 53) ++ RELOC_NUMBER (R_OR1K_GOT_AHI16, 54) + END_RELOC_NUMBERS (R_OR1K_max) + + #define EF_OR1K_NODELAY (1UL << 0) +diff --git a/opcodes/or1k-asm.c b/opcodes/or1k-asm.c +index 045ab6230b6..fdccf67f9e1 100644 +--- a/opcodes/or1k-asm.c ++++ b/opcodes/or1k-asm.c +@@ -177,7 +177,7 @@ static const bfd_reloc_code_real_type or1k_imm16_relocs[][6] = { + BFD_RELOC_OR1K_GOT_LO13, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +- BFD_RELOC_UNUSED }, ++ BFD_RELOC_OR1K_GOT_AHI16 }, + { BFD_RELOC_OR1K_GOTPC_LO16, + BFD_RELOC_UNUSED, + BFD_RELOC_UNUSED, +@@ -280,6 +280,11 @@ parse_reloc (const char **strp) + str += 5; + cls = RCLASS_TPOFF; + } ++ else if (strncasecmp (str, "got", 3) == 0) ++ { ++ str += 3; ++ cls = RCLASS_GOT; ++ } + + if (strncasecmp (str, "hi(", 3) == 0) + { +-- +2.25.1 + diff --git a/package/binutils/2.36.1/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch b/package/binutils/2.36.1/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch new file mode 100644 index 00000000000..618072fb10d --- /dev/null +++ b/package/binutils/2.36.1/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch @@ -0,0 +1,61 @@ +From de914df5f2ba23a9f6f1fbf6efdc22e1b045901c Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:16 +0900 +Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 overflow failures in presence of + R_OR1K_GOT_AHI16 + +Now that we support R_OR1K_GOT_AHI16 we can relax the R_OR1K_GOT16 +overflow validation check if the section has R_OR1K_GOT_AHI16. + +We cannot simple disable R_OR1K_GOT16 overflow validation as there will +still be binaries that will have only R_OR1K_GOT16. The +R_OR1K_GOT_AHI16 relocation will only be added by GCC when building with +the option -mcmodel=large. + +This assumes that R_OR1K_GOT_AHI16 will come before R_OR1K_GOT16, which +is the code pattern that will be emitted by GCC. + +bfd/ChangeLog: + + PR 21464 + * elf32-or1k.c (or1k_elf_relocate_section): Relax R_OR1K_GOT16 + overflow check if we have R_OR1K_GOT_AHI16 followed by + R_OR1K_GOT16. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 48461854a96..44e67f2b84b 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -1278,6 +1278,7 @@ or1k_elf_relocate_section (bfd *output_bfd, + asection *sgot, *splt; + bfd_vma plt_base, got_base, got_sym_value; + bfd_boolean ret_val = TRUE; ++ bfd_boolean saw_gotha = FALSE; + + if (htab == NULL) + return FALSE; +@@ -1485,6 +1486,16 @@ or1k_elf_relocate_section (bfd *output_bfd, + || r_type == R_OR1K_GOT_AHI16) + relocation -= got_sym_value; + ++ if (r_type == R_OR1K_GOT_AHI16) ++ saw_gotha = TRUE; ++ ++ /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 ++ relocation we assume the code is doing the right thing to avoid ++ overflows. Here we mask the lower 16-bit of the relocation to ++ avoid overflow validation failures. */ ++ if (r_type == R_OR1K_GOT16 && saw_gotha) ++ relocation &= 0xffff; ++ + /* Addend should be zero. */ + if (rel->r_addend != 0) + { +-- +2.25.1 + diff --git a/package/binutils/2.36.1/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch b/package/binutils/2.36.1/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch new file mode 100644 index 00000000000..6d50852fe94 --- /dev/null +++ b/package/binutils/2.36.1/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch @@ -0,0 +1,500 @@ +From 4a7b357d0c802685bee7706bafb9702c821286e1 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:02:17 +0900 +Subject: [PATCH] or1k: Support large plt_relocs when generating plt + entries + +The current PLT generation code will generate invalid code when the PLT +relocation offset exceeds 64k. This fixes the issue by detecting large +plt_reloc offsets and generare code sequences to create larger plt +relocations. + +The "large" plt code needs 2 extra instructions to create 32-bit offsets. + +bfd/ChangeLog: + + PR 27746 + * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT, + OR1K_ADD, OR1K_ORI): New macros to help with plt creation. + (elf_or1k_link_hash_table): New field plt_count. + (elf_or1k_link_hash_entry): New field plt_index. + (elf_or1k_plt_entry_size): New function. + (or1k_write_plt_entry): Update to support variable size PLTs. + (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry + API. + (or1k_elf_finish_dynamic_symbol): Update to write large PLTs + when needed. + (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for + PLT size. + +ld/ChangeLog: + + PR 27746 + testsuite/ld-or1k/or1k.exp (or1kplttests): Add tests for linking + along with gotha() relocations. + testsuite/ld-or1k/gotha1.dd: New file. + testsuite/ld-or1k/gotha1.s: New file. + testsuite/ld-or1k/gotha2.dd: New file. + testsuite/ld-or1k/gotha2.s: New file + testsuite/ld-or1k/pltlib.s (x): Define size to avoid link + failure. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 149 ++++++++++++++++++++++++--------- + ld/testsuite/ld-or1k/gotha1.dd | 34 ++++++++ + ld/testsuite/ld-or1k/gotha1.s | 24 ++++++ + ld/testsuite/ld-or1k/gotha2.dd | 21 +++++ + ld/testsuite/ld-or1k/gotha2.s | 22 +++++ + ld/testsuite/ld-or1k/or1k.exp | 8 ++ + ld/testsuite/ld-or1k/pltlib.s | 1 + + 7 files changed, 220 insertions(+), 39 deletions(-) + create mode 100644 ld/testsuite/ld-or1k/gotha1.dd + create mode 100644 ld/testsuite/ld-or1k/gotha1.s + create mode 100644 ld/testsuite/ld-or1k/gotha2.dd + create mode 100644 ld/testsuite/ld-or1k/gotha2.s + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 44e67f2b84b..3da68e52425 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -30,10 +30,14 @@ + #define N_ONES(X) (((bfd_vma)2 << (X)) - 1) + + #define PLT_ENTRY_SIZE 16 ++#define PLT_ENTRY_SIZE_LARGE (6*4) ++#define PLT_MAX_INSN_COUNT 6 + + #define OR1K_MOVHI(D) (0x18000000 | (D << 21)) + #define OR1K_ADRP(D) (0x08000000 | (D << 21)) + #define OR1K_LWZ(D,A) (0x84000000 | (D << 21) | (A << 16)) ++#define OR1K_ADD(D,A,B) (0xE0000000 | (D << 21) | (A << 16) | (B << 11)) ++#define OR1K_ORI(D,A) (0xA8000000 | (D << 21) | (A << 16)) + #define OR1K_ORI0(D) (0xA8000000 | (D << 21)) + #define OR1K_JR(B) (0x44000000 | (B << 11)) + #define OR1K_NOP 0x15000000 +@@ -907,6 +911,8 @@ struct elf_or1k_link_hash_entry + { + struct elf_link_hash_entry root; + ++ /* For calculating PLT size. */ ++ bfd_vma plt_index; + /* Track type of TLS access. */ + unsigned char tls_type; + }; +@@ -931,9 +937,20 @@ struct elf_or1k_link_hash_table + { + struct elf_link_hash_table root; + ++ bfd_vma plt_count; + bfd_boolean saw_plta; + }; + ++static size_t ++elf_or1k_plt_entry_size (bfd_vma plt_index) ++{ ++ bfd_vma plt_reloc; ++ ++ plt_reloc = plt_index * sizeof (Elf32_External_Rela); ++ ++ return (plt_reloc > 0xffff) ? PLT_ENTRY_SIZE_LARGE : PLT_ENTRY_SIZE; ++} ++ + /* Get the ELF linker hash table from a link_info structure. */ + #define or1k_elf_hash_table(p) \ + ((is_elf_hash_table ((p)->hash) \ +@@ -2222,33 +2239,46 @@ or1k_elf_check_relocs (bfd *abfd, + } + + static void +-or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insn1, +- unsigned insn2, unsigned insn3, unsigned insnj) ++or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, ++ unsigned insns[], size_t insn_count) + { + unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; +- unsigned insn4; ++ unsigned output_insns[PLT_MAX_INSN_COUNT]; ++ ++ /* Copy instructions into the output buffer. */ ++ for (size_t i = 0; i < insn_count; i++) ++ output_insns[i] = insns[i]; + + /* Honor the no-delay-slot setting. */ +- if (insn3 == OR1K_NOP) ++ if (insns[insn_count-1] == OR1K_NOP) + { +- insn4 = insn3; ++ unsigned slot1, slot2; ++ + if (nodelay) +- insn3 = insnj; ++ slot1 = insns[insn_count-2], slot2 = insnj; + else +- insn3 = insn2, insn2 = insnj; ++ slot1 = insnj, slot2 = insns[insn_count-2]; ++ ++ output_insns[insn_count-2] = slot1; ++ output_insns[insn_count-1] = slot2; ++ output_insns[insn_count] = OR1K_NOP; + } + else + { ++ unsigned slot1, slot2; ++ + if (nodelay) +- insn4 = insnj; ++ slot1 = insns[insn_count-1], slot2 = insnj; + else +- insn4 = insn3, insn3 = insnj; ++ slot1 = insnj, slot2 = insns[insn_count-1]; ++ ++ output_insns[insn_count-1] = slot1; ++ output_insns[insn_count] = slot2; + } + +- bfd_put_32 (output_bfd, insn1, contents); +- bfd_put_32 (output_bfd, insn2, contents + 4); +- bfd_put_32 (output_bfd, insn3, contents + 8); +- bfd_put_32 (output_bfd, insn4, contents + 12); ++ /* Write out the output buffer. */ ++ for (size_t i = 0; i < (insn_count+1); i++) ++ bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); + } + + /* Finish up the dynamic sections. */ +@@ -2315,7 +2345,8 @@ or1k_elf_finish_dynamic_sections (bfd *output_bfd, + splt = htab->root.splt; + if (splt && splt->size > 0) + { +- unsigned plt0, plt1, plt2; ++ unsigned plt[PLT_MAX_INSN_COUNT]; ++ size_t plt_insn_count = 3; + bfd_vma got_addr = sgot->output_section->vma + sgot->output_offset; + + /* Note we force 16 byte alignment on the .got, so that +@@ -2326,27 +2357,27 @@ or1k_elf_finish_dynamic_sections (bfd *output_bfd, + bfd_vma pc = splt->output_section->vma + splt->output_offset; + unsigned pa = ((got_addr >> 13) - (pc >> 13)) & 0x1fffff; + unsigned po = got_addr & 0x1fff; +- plt0 = OR1K_ADRP(12) | pa; +- plt1 = OR1K_LWZ(15,12) | (po + 8); +- plt2 = OR1K_LWZ(12,12) | (po + 4); ++ plt[0] = OR1K_ADRP(12) | pa; ++ plt[1] = OR1K_LWZ(15,12) | (po + 8); ++ plt[2] = OR1K_LWZ(12,12) | (po + 4); + } + else if (bfd_link_pic (info)) + { +- plt0 = OR1K_LWZ(15, 16) | 8; /* .got+8 */ +- plt1 = OR1K_LWZ(12, 16) | 4; /* .got+4 */ +- plt2 = OR1K_NOP; ++ plt[0] = OR1K_LWZ(15, 16) | 8; /* .got+8 */ ++ plt[1] = OR1K_LWZ(12, 16) | 4; /* .got+4 */ ++ plt[2] = OR1K_NOP; + } + else + { + unsigned ha = ((got_addr + 0x8000) >> 16) & 0xffff; + unsigned lo = got_addr & 0xffff; +- plt0 = OR1K_MOVHI(12) | ha; +- plt1 = OR1K_LWZ(15,12) | (lo + 8); +- plt2 = OR1K_LWZ(12,12) | (lo + 4); ++ plt[0] = OR1K_MOVHI(12) | ha; ++ plt[1] = OR1K_LWZ(15,12) | (lo + 8); ++ plt[2] = OR1K_LWZ(12,12) | (lo + 4); + } + +- or1k_write_plt_entry (output_bfd, splt->contents, +- plt0, plt1, plt2, OR1K_JR(15)); ++ or1k_write_plt_entry (output_bfd, splt->contents, OR1K_JR(15), ++ plt, plt_insn_count); + + elf_section_data (splt->output_section)->this_hdr.sh_entsize = 4; + } +@@ -2389,7 +2420,8 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + + if (h->plt.offset != (bfd_vma) -1) + { +- unsigned int plt0, plt1, plt2; ++ unsigned int plt[PLT_MAX_INSN_COUNT]; ++ size_t plt_insn_count = 3; + asection *splt; + asection *sgot; + asection *srela; +@@ -2401,6 +2433,7 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + bfd_vma got_offset; + bfd_vma got_addr; + Elf_Internal_Rela rela; ++ bfd_boolean large_plt_entry; + + /* This symbol has an entry in the procedure linkage table. Set + it up. */ +@@ -2418,10 +2451,13 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + corresponds to this symbol. This is the index of this symbol + in all the symbols for which we are making plt entries. The + first entry in the procedure linkage table is reserved. */ +- plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1; ++ plt_index = ((struct elf_or1k_link_hash_entry *) h)->plt_index; + plt_addr = plt_base_addr + h->plt.offset; + plt_reloc = plt_index * sizeof (Elf32_External_Rela); + ++ large_plt_entry = (elf_or1k_plt_entry_size (plt_index) ++ == PLT_ENTRY_SIZE_LARGE); ++ + /* Get the offset into the .got table of the entry that + corresponds to this function. Each .got entry is 4 bytes. + The first three are reserved. */ +@@ -2433,27 +2469,57 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + { + unsigned pa = ((got_addr >> 13) - (plt_addr >> 13)) & 0x1fffff; + unsigned po = (got_addr & 0x1fff); +- plt0 = OR1K_ADRP(12) | pa; +- plt1 = OR1K_LWZ(12,12) | po; +- plt2 = OR1K_ORI0(11) | plt_reloc; ++ plt[0] = OR1K_ADRP(12) | pa; ++ plt[1] = OR1K_LWZ(12,12) | po; ++ plt[2] = OR1K_ORI0(11) | plt_reloc; + } + else if (bfd_link_pic (info)) + { +- plt0 = OR1K_LWZ(12,16) | got_offset; +- plt1 = OR1K_ORI0(11) | plt_reloc; +- plt2 = OR1K_NOP; ++ if (large_plt_entry) ++ { ++ unsigned gotha = ((got_offset + 0x8000) >> 16) & 0xffff; ++ unsigned got = got_offset & 0xffff; ++ unsigned pltrelhi = (plt_reloc >> 16) & 0xffff; ++ unsigned pltrello = plt_reloc & 0xffff; ++ ++ plt[0] = OR1K_MOVHI(12) | gotha; ++ plt[1] = OR1K_ADD(12,12,16); ++ plt[2] = OR1K_LWZ(12,12) | got; ++ plt[3] = OR1K_MOVHI(11) | pltrelhi; ++ plt[4] = OR1K_ORI(11,11) | pltrello; ++ plt_insn_count = 5; ++ } ++ else ++ { ++ plt[0] = OR1K_LWZ(12,16) | got_offset; ++ plt[1] = OR1K_ORI0(11) | plt_reloc; ++ plt[2] = OR1K_NOP; ++ } + } + else + { + unsigned ha = ((got_addr + 0x8000) >> 16) & 0xffff; + unsigned lo = got_addr & 0xffff; +- plt0 = OR1K_MOVHI(12) | ha; +- plt1 = OR1K_LWZ(12,12) | lo; +- plt2 = OR1K_ORI0(11) | plt_reloc; ++ plt[0] = OR1K_MOVHI(12) | ha; ++ plt[1] = OR1K_LWZ(12,12) | lo; ++ plt[2] = OR1K_ORI0(11) | plt_reloc; ++ } ++ ++ /* For large code model we fixup the non-PIC PLT relocation instructions ++ here. */ ++ if (large_plt_entry && !bfd_link_pic (info)) ++ { ++ unsigned pltrelhi = (plt_reloc >> 16) & 0xffff; ++ unsigned pltrello = plt_reloc & 0xffff; ++ ++ plt[2] = OR1K_MOVHI(11) | pltrelhi; ++ plt[3] = OR1K_ORI(11,11) | pltrello; ++ plt[4] = OR1K_NOP; ++ plt_insn_count = 5; + } + + or1k_write_plt_entry (output_bfd, splt->contents + h->plt.offset, +- plt0, plt1, plt2, OR1K_JR(12)); ++ OR1K_JR(12), plt, plt_insn_count); + + /* Fill in the entry in the global offset table. We initialize it to + point to the top of the plt. This is done to lazy lookup the actual +@@ -2777,11 +2843,16 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, bfd_link_pic (info), h)) + { + asection *splt = htab->root.splt; ++ bfd_vma plt_index; ++ ++ /* Track the index of our plt entry for use in calculating size. */ ++ plt_index = htab->plt_count++; ++ ((struct elf_or1k_link_hash_entry *) h)->plt_index = plt_index; + + /* If this is the first .plt entry, make room for the special + first entry. */ + if (splt->size == 0) +- splt->size = PLT_ENTRY_SIZE; ++ splt->size = elf_or1k_plt_entry_size (plt_index); + + h->plt.offset = splt->size; + +@@ -2798,7 +2869,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) + } + + /* Make room for this entry. */ +- splt->size += PLT_ENTRY_SIZE; ++ splt->size += elf_or1k_plt_entry_size (plt_index); + + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ +diff --git a/ld/testsuite/ld-or1k/gotha1.dd b/ld/testsuite/ld-or1k/gotha1.dd +new file mode 100644 +index 00000000000..0ad1f8f5399 +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha1.dd +@@ -0,0 +1,34 @@ ++ ++.*\.x: file format elf32-or1k ++ ++ ++Disassembly of section \.plt: ++ ++[0-9a-f]+ <\.plt>: ++ +[0-9a-f]+: 19 80 00 00 l\.movhi r12,0x0 ++ +[0-9a-f]+: 85 ec [0-9a-f]+ [0-9a-f]+ l\.lwz r15,[0-9]+\(r12\) ++ +[0-9a-f]+: 44 00 78 00 l\.jr r15 ++ +[0-9a-f]+: 85 8c [0-9a-f]+ [0-9a-f]+ l\.lwz r12,[0-9]+\(r12\) ++ +[0-9a-f]+: 19 80 00 00 l\.movhi r12,0x0 ++ +[0-9a-f]+: 85 8c [0-9a-f]+ [0-9a-f]+ l\.lwz r12,[0-9]+\(r12\) ++ +[0-9a-f]+: 44 00 60 00 l\.jr r12 ++ +[0-9a-f]+: a9 60 00 00 l\.ori r11,r0,0x0 ++ ++Disassembly of section \.text: ++ ++[0-9a-f]+ <_start>: ++ +[0-9a-f]+: 9c 21 ff fc l\.addi r1,r1,-4 ++ +[0-9a-f]+: d4 01 48 00 l\.sw 0\(r1\),r9 ++ +[0-9a-f]+: 04 00 00 02 l\.jal [0-9a-f]+ <_start\+0x10> ++ +[0-9a-f]+: 1a 60 00 00 l\.movhi r19,0x0 ++ +[0-9a-f]+: aa 73 [0-9a-f]+ [0-9a-f]+ l\.ori r19,r19,0x[0-9a-f]+ ++ +[0-9a-f]+: e2 73 48 00 l\.add r19,r19,r9 ++ +[0-9a-f]+: 1a 20 00 00 l\.movhi r17,0x0 ++ +[0-9a-f]+: e2 31 98 00 l\.add r17,r17,r19 ++ +[0-9a-f]+: 86 31 00 10 l\.lwz r17,16\(r17\) ++ +[0-9a-f]+: 84 71 00 00 l\.lwz r3,0\(r17\) ++ +[0-9a-f]+: 07 ff ff f2 l\.jal [0-9a-f]+ <\.plt\+0x10> ++ +[0-9a-f]+: 15 00 00 00 l\.nop 0x0 ++ +[0-9a-f]+: 85 21 00 00 l\.lwz r9,0\(r1\) ++ +[0-9a-f]+: 44 00 48 00 l\.jr r9 ++ +[0-9a-f]+: 9c 21 00 04 l\.addi r1,r1,4 +diff --git a/ld/testsuite/ld-or1k/gotha1.s b/ld/testsuite/ld-or1k/gotha1.s +new file mode 100644 +index 00000000000..42b16db425c +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha1.s +@@ -0,0 +1,24 @@ ++ .data ++ .p2align 16 ++ ++ .text ++ .globl _start ++_start: ++ l.addi r1, r1, -4 ++ l.sw 0(r1), r9 ++ ++ l.jal 8 ++ l.movhi r19, gotpchi(_GLOBAL_OFFSET_TABLE_-4) ++ l.ori r19, r19, gotpclo(_GLOBAL_OFFSET_TABLE_+0) ++ l.add r19, r19, r9 ++ ++ l.movhi r17, gotha(x) ++ l.add r17, r17, r19 ++ l.lwz r17, got(x)(r17) ++ l.lwz r3, 0(r17) ++ ++ l.jal plt(func) ++ l.nop ++ l.lwz r9, 0(r1) ++ l.jr r9 ++ l.addi r1, r1, 4 +diff --git a/ld/testsuite/ld-or1k/gotha2.dd b/ld/testsuite/ld-or1k/gotha2.dd +new file mode 100644 +index 00000000000..fe09da5466b +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha2.dd +@@ -0,0 +1,21 @@ ++ ++.*\.x: file format elf32-or1k ++ ++ ++Disassembly of section \.text: ++ ++[0-9a-f]+ : ++ +[0-9a-f]+: 9c 21 ff f8 l\.addi r1,r1,-8 ++ +[0-9a-f]+: d4 01 80 00 l\.sw 0\(r1\),r16 ++ +[0-9a-f]+: d4 01 48 04 l\.sw 4\(r1\),r9 ++ +[0-9a-f]+: 04 00 [0-9a-f]+ [0-9a-f]+ l\.jal [0-9a-f]+ ++ +[0-9a-f]+: 1a 00 00 00 l\.movhi r16,0x0 ++ +[0-9a-f]+: aa 10 [0-9a-f]+ [0-9a-f]+ l\.ori r16,r16,0x[0-9a-f]+ ++ +[0-9a-f]+: e2 10 48 00 l\.add r16,r16,r9 ++ +[0-9a-f]+: 1a 20 00 00 l\.movhi r17,0x0 ++ +[0-9a-f]+: e2 31 80 00 l\.add r17,r17,r16 ++ +[0-9a-f]+: 86 31 00 0c l\.lwz r17,12\(r17\) ++ +[0-9a-f]+: 85 21 00 04 l\.lwz r9,4\(r1\) ++ +[0-9a-f]+: 86 01 00 00 l\.lwz r16,0\(r1\) ++ +[0-9a-f]+: 44 00 48 00 l\.jr r9 ++ +[0-9a-f]+: 9c 21 00 08 l\.addi r1,r1,8 +diff --git a/ld/testsuite/ld-or1k/gotha2.s b/ld/testsuite/ld-or1k/gotha2.s +new file mode 100644 +index 00000000000..164b282f2dd +--- /dev/null ++++ b/ld/testsuite/ld-or1k/gotha2.s +@@ -0,0 +1,22 @@ ++ .section .text ++ .align 4 ++ .global test ++ .type test, @function ++test: ++ l.addi r1, r1, -8 ++ l.sw 0(r1), r16 ++ l.sw 4(r1), r9 ++ ++ l.jal 8 ++ l.movhi r16, gotpchi(_GLOBAL_OFFSET_TABLE_-4) ++ l.ori r16, r16, gotpclo(_GLOBAL_OFFSET_TABLE_+0) ++ l.add r16, r16, r9 ++ ++ l.movhi r17, gotha(i) ++ l.add r17, r17, r16 ++ l.lwz r17, got(i)(r17) ++ ++ l.lwz r9, 4(r1) ++ l.lwz r16, 0(r1) ++ l.jr r9 ++ l.addi r1, r1, 8 +diff --git a/ld/testsuite/ld-or1k/or1k.exp b/ld/testsuite/ld-or1k/or1k.exp +index 8bb943aacc9..f10949e89aa 100644 +--- a/ld/testsuite/ld-or1k/or1k.exp ++++ b/ld/testsuite/ld-or1k/or1k.exp +@@ -53,6 +53,14 @@ set or1kplttests { + "" {plt1.s} + {{objdump -dr plt1.x.dd}} + "plt1.x"} ++ {"gotha exec plt" "tmpdir/libpltlib.so" "" ++ "" {gotha1.s} ++ {{objdump -dr gotha1.dd}} ++ "gotha1.x"} ++ {"gotha -fpic -shared" "-fpic -shared" "" ++ "" {gotha2.s} ++ {{objdump -dr gotha2.dd}} ++ "gotha2.x"} + } + + # Not implemented yet +diff --git a/ld/testsuite/ld-or1k/pltlib.s b/ld/testsuite/ld-or1k/pltlib.s +index baf76ca1af7..8b4d7ba48fd 100644 +--- a/ld/testsuite/ld-or1k/pltlib.s ++++ b/ld/testsuite/ld-or1k/pltlib.s +@@ -1,5 +1,6 @@ + .section .data + .globl x, y ++ .size x, 4 + x: .long 33 + y: .long 44 + +-- +2.25.1 + diff --git a/package/binutils/2.36.1/0007-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch b/package/binutils/2.36.1/0007-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch new file mode 100644 index 00000000000..c3978e22fa8 --- /dev/null +++ b/package/binutils/2.36.1/0007-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch @@ -0,0 +1,50 @@ +From c3003947e4bad18faea4337fd2073feeb30ee078 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 9 Jun 2021 17:28:27 +0200 +Subject: [PATCH] bfd/elf32-or1k: fix building with gcc version < 5 + +Gcc version >= 5 has standard C mode not set to -std=gnu11, so if we use +an old compiler(i.e. gcc 4.9) build fails on: +``` +elf32-or1k.c:2251:3: error: 'for' loop initial declarations are only allowed in +C99 or C11 mode + for (size_t i = 0; i < insn_count; i++) + ^ +``` + +So let's declare `size_t i` at the top of the function instead of inside +for loop. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..32063ab0289 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2244,9 +2244,10 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + { + unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; + unsigned output_insns[PLT_MAX_INSN_COUNT]; ++ size_t i; + + /* Copy instructions into the output buffer. */ +- for (size_t i = 0; i < insn_count; i++) ++ for (i = 0; i < insn_count; i++) + output_insns[i] = insns[i]; + + /* Honor the no-delay-slot setting. */ +@@ -2277,7 +2278,7 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + } + + /* Write out the output buffer. */ +- for (size_t i = 0; i < (insn_count+1); i++) ++ for (i = 0; i < (insn_count+1); i++) + bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); + } + +-- +2.25.1 + diff --git a/package/binutils/2.36.1/0008-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch b/package/binutils/2.36.1/0008-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch new file mode 100644 index 00000000000..585b97b2af1 --- /dev/null +++ b/package/binutils/2.36.1/0008-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch @@ -0,0 +1,59 @@ +From 9af93e143a7fbdb75aa1ed37277f9250eb111628 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sat, 10 Jul 2021 17:57:34 +0200 +Subject: [PATCH] or1k: fix pc-relative relocation against dynamic on PC + relative 26 bit relocation + +When building openal we were seeing the assert failure: + +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePausev +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceStopv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceRewindv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePlayv +collect2: error: ld returned 1 exit status + +This happens because in R_OR1K_INSN_REL_26 case we can't reference local +symbol as previously done but we need to make sure that calls to actual +symbol always call the version of current object. + +bfd/Changelog: + + * elf32-or1k.c (or1k_elf_relocate_section): use a separate entry + in switch case R_OR1K_INSN_REL_26 where we need to check for + !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL(). + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..4f9092539f5 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -1543,6 +1543,18 @@ or1k_elf_relocate_section (bfd *output_bfd, + break; + + case R_OR1K_INSN_REL_26: ++ /* For a non-shared link, these will reference plt or call the ++ version of actual object. */ ++ if (bfd_link_pic (info) && !SYMBOL_CALLS_LOCAL (info, h)) ++ { ++ _bfd_error_handler ++ (_("%pB: pc-relative relocation against dynamic symbol %s"), ++ input_bfd, name); ++ ret_val = FALSE; ++ bfd_set_error (bfd_error_bad_value); ++ } ++ break; ++ + case R_OR1K_PCREL_PG21: + case R_OR1K_LO13: + case R_OR1K_SLO13: +-- +2.25.1 + diff --git a/package/binutils/2.36.1/0009-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch b/package/binutils/2.36.1/0009-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch new file mode 100644 index 00000000000..c4fedb719af --- /dev/null +++ b/package/binutils/2.36.1/0009-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch @@ -0,0 +1,75 @@ +From 190091f9c1ec4cb80f8106e45ab4125eefa4114b Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 Jan 2022 09:03:28 +0900 +Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 signed overflow by using special + howto + +Previously when fixing PR 21464 we masked out upper bits of the +relocation value in order to avoid overflow complaints when acceptable. +It turns out this does not work when the relocation value ends up being +signed. + +To fix this this patch introduces a special howto with +complain_on_overflow set to complain_overflow_dont. This is used in +place of the normal R_OR1K_GOT16 howto when we detect R_OR1K_GOT_AHI16 +relocations. + +bfd/ChangeLog: + + PR 28735 + * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define. + (or1k_elf_relocate_section): Use new howto instead of trying to + mask out relocation bits. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 431a8ee479f..ea26cdf1033 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -828,6 +828,23 @@ static reloc_howto_type or1k_elf_howto_table[] = + FALSE), /* pcrel_offset */ + }; + ++/* A copy of the R_OR1K_GOT16 used in the presense of R_OR1K_GOT_AHI16 ++ relocations when we know we can ignore overflows. */ ++static reloc_howto_type or1k_elf_got16_no_overflow_howto = ++ HOWTO (R_OR1K_GOT16, /* type */ ++ 0, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_dont, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_OR1K_GOT16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0xffff, /* dst_mask */ ++ FALSE); /* pcrel_offset */ ++ + /* Map BFD reloc types to Or1k ELF reloc types. */ + + struct or1k_reloc_map +@@ -1506,12 +1523,11 @@ or1k_elf_relocate_section (bfd *output_bfd, + if (r_type == R_OR1K_GOT_AHI16) + saw_gotha = TRUE; + +- /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 ++ /* If we have a R_OR1K_GOT16 following a R_OR1K_GOT_AHI16 + relocation we assume the code is doing the right thing to avoid +- overflows. Here we mask the lower 16-bit of the relocation to +- avoid overflow validation failures. */ ++ overflows. */ + if (r_type == R_OR1K_GOT16 && saw_gotha) +- relocation &= 0xffff; ++ howto = &or1k_elf_got16_no_overflow_howto; + + /* Addend should be zero. */ + if (rel->r_addend != 0) +-- +2.25.1 + diff --git a/package/binutils/2.36.1/0010-i386-Allow-GOT32-relocations-against-ABS-symbols.patch b/package/binutils/2.36.1/0010-i386-Allow-GOT32-relocations-against-ABS-symbols.patch new file mode 100644 index 00000000000..af96f1a0f03 --- /dev/null +++ b/package/binutils/2.36.1/0010-i386-Allow-GOT32-relocations-against-ABS-symbols.patch @@ -0,0 +1,53 @@ +From 30a954525f4e53a9cd50a1a8a6f201c7cf6595c7 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +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. + +ld/ + + PR ld/28870 + * testsuite/ld-i386/i386.exp: Run pr28870. + * testsuite/ld-i386/pr28870.d: New file. + * testsuite/ld-i386/pr28870.s: Likewise. + +Signed-off-by: Waldemar Brodkorb + +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/package/binutils/2.34/0001-sh-conf.patch b/package/binutils/2.37/0001-sh-conf.patch similarity index 84% rename from package/binutils/2.34/0001-sh-conf.patch rename to package/binutils/2.37/0001-sh-conf.patch index 6f873691fe9..fcc597e4d94 100644 --- a/package/binutils/2.34/0001-sh-conf.patch +++ b/package/binutils/2.37/0001-sh-conf.patch @@ -1,4 +1,4 @@ -From a4292f2852027008714c5ccdbab77af0b36f3928 Mon Sep 17 00:00:00 2001 +From 33f3c1f804efc2e4f97849081589efb70cda31e5 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 25 Dec 2015 11:38:13 +0100 Subject: [PATCH] sh-conf @@ -18,10 +18,10 @@ Signed-off-by: Thomas Petazzoni 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index 91dc42f6c7..92f70a4ce6 100755 +index 3dd206525a7..6881ce632f5 100755 --- a/configure +++ b/configure -@@ -3915,7 +3915,7 @@ case "${target}" in +@@ -3892,7 +3892,7 @@ case "${target}" in nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; @@ -31,10 +31,10 @@ index 91dc42f6c7..92f70a4ce6 100755 sh*-*-elf) ;; diff --git a/configure.ac b/configure.ac -index 4bd869a63a..139e0aa6ab 100644 +index 797a624621e..1f9256bbf18 100644 --- a/configure.ac +++ b/configure.ac -@@ -1159,7 +1159,7 @@ case "${target}" in +@@ -1175,7 +1175,7 @@ case "${target}" in nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; @@ -44,5 +44,5 @@ index 4bd869a63a..139e0aa6ab 100644 sh*-*-elf) ;; -- -2.24.1 +2.31.1 diff --git a/package/binutils/2.34/0002-poison-system-directories.patch b/package/binutils/2.37/0002-poison-system-directories.patch similarity index 82% rename from package/binutils/2.34/0002-poison-system-directories.patch rename to package/binutils/2.37/0002-poison-system-directories.patch index fc0c69841c8..1a5fe465752 100644 --- a/package/binutils/2.34/0002-poison-system-directories.patch +++ b/package/binutils/2.37/0002-poison-system-directories.patch @@ -1,4 +1,4 @@ -From 9952aec22006cfd0e1f5dd0106523e2b93ad20a8 Mon Sep 17 00:00:00 2001 +From 4d8705ddb55897e8a74b617ab95736d520d9e1ea Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 25 Dec 2015 11:45:38 +0100 Subject: [PATCH] poison-system-directories @@ -78,10 +78,10 @@ Signed-off-by: Scott Garman 9 files changed, 89 insertions(+) diff --git a/ld/config.in b/ld/config.in -index d93c9b0830..5da2742bea 100644 +index 26d55a00d47..ffad464783c 100644 --- a/ld/config.in +++ b/ld/config.in -@@ -31,6 +31,9 @@ +@@ -43,6 +43,9 @@ language is requested. */ #undef ENABLE_NLS @@ -92,10 +92,10 @@ index d93c9b0830..5da2742bea 100644 #undef EXTRA_SHLIB_EXTENSION diff --git a/ld/configure b/ld/configure -index d55a6a779f..7e5314d24a 100755 +index c197aaef3cb..882263aa43f 100755 --- a/ld/configure +++ b/ld/configure -@@ -826,6 +826,7 @@ with_lib_path +@@ -829,6 +829,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot @@ -103,8 +103,8 @@ index d55a6a779f..7e5314d24a 100755 enable_gold enable_got enable_compressed_debug_sections -@@ -1491,6 +1492,8 @@ Optional Features: - --disable-largefile omit support for large files +@@ -1498,6 +1499,8 @@ Optional Features: + --enable-checking enable run-time checks --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) + --enable-poison-system-directories @@ -112,7 +112,7 @@ index d55a6a779f..7e5314d24a 100755 --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15809,7 +15812,18 @@ else +@@ -15236,7 +15239,18 @@ else fi @@ -132,10 +132,10 @@ index d55a6a779f..7e5314d24a 100755 # Check whether --enable-got was given. if test "${enable_got+set}" = set; then : diff --git a/ld/configure.ac b/ld/configure.ac -index b5e849d84a..22e022ec03 100644 +index 8ea97c43cd4..0f246db67d8 100644 --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) +@@ -106,6 +106,16 @@ AC_SUBST(use_sysroot) AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) @@ -153,29 +153,29 @@ index b5e849d84a..22e022ec03 100644 dnl "install_as_default" is set to false if gold is the default linker. dnl "installed_linker" is the installed BFD linker name. diff --git a/ld/ld.h b/ld/ld.h -index 71fd781267..5c7843100b 100644 +index 35fafebfaed..74e66405de6 100644 --- a/ld/ld.h +++ b/ld/ld.h -@@ -166,6 +166,14 @@ typedef struct +@@ -162,6 +162,14 @@ typedef struct in the linker script. */ - bfd_boolean force_group_allocation; + bool force_group_allocation; + /* If TRUE (the default) warn for uses of system directories when + cross linking. */ -+ bfd_boolean poison_system_directories; ++ bool poison_system_directories; + + /* If TRUE (default FALSE) give an error for uses of system + directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; ++ bool error_poison_system_directories; + /* Big or little endian as set on command line. */ enum endian_enum endian; diff --git a/ld/ld.texi b/ld/ld.texi -index eb7bcb9933..3c73d445a0 100644 +index dd8f571d4e4..3ab210b41b9 100644 --- a/ld/ld.texi +++ b/ld/ld.texi -@@ -2551,6 +2551,18 @@ string identifying the original linked file does not change. +@@ -2863,6 +2863,18 @@ string identifying the original linked file does not change. Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. @@ -195,10 +195,10 @@ index eb7bcb9933..3c73d445a0 100644 @c man end diff --git a/ld/ldfile.c b/ld/ldfile.c -index 411f7ddf97..17db16c2cc 100644 +index 9d0af06f1f6..7cdd3b1c1b1 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) +@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bool cmdline) new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); else new_dirs->name = xstrdup (name); @@ -223,38 +223,38 @@ index 411f7ddf97..17db16c2cc 100644 /* Try to open a BFD for a lang_input_statement. */ diff --git a/ld/ldlex.h b/ld/ldlex.h -index 5287f19a7f..55096e4fc9 100644 +index 9e8bf5fb835..2f0fadfe0a3 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -150,6 +150,8 @@ enum option_values - OPTION_FORCE_GROUP_ALLOCATION, - OPTION_PRINT_MAP_DISCARDED, - OPTION_NO_PRINT_MAP_DISCARDED, +@@ -163,6 +163,8 @@ enum option_values + OPTION_CTF_VARIABLES, + OPTION_NO_CTF_VARIABLES, + OPTION_CTF_SHARE_TYPES, + OPTION_NO_POISON_SYSTEM_DIRECTORIES, + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, }; /* The initial parser states. */ diff --git a/ld/ldmain.c b/ld/ldmain.c -index c4af10f4e9..95b56b2d2d 100644 +index 42660eb9a3c..1aef9387f93 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -273,6 +273,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; +@@ -321,6 +321,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = true; + command_line.warn_search_mismatch = true; command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; ++ command_line.poison_system_directories = true; ++ command_line.error_poison_system_directories = false; /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/ld/lexsup.c b/ld/lexsup.c -index 3d15cc491d..54f52dc72f 100644 +index 00274c500d0..4f23b3a2da2 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -550,6 +550,14 @@ static const struct ld_option ld_options[] = - { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, - '\0', NULL, N_("Do not show discarded sections in map file output"), +@@ -595,6 +595,14 @@ static const struct ld_option ld_options[] = + " is: share-unconflicted (default),\n" + " share-duplicated"), TWO_DASHES }, + { {"no-poison-system-directories", no_argument, NULL, + OPTION_NO_POISON_SYSTEM_DIRECTORIES}, @@ -267,7 +267,7 @@ index 3d15cc491d..54f52dc72f 100644 }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -562,6 +570,7 @@ parse_args (unsigned argc, char **argv) +@@ -607,6 +615,7 @@ parse_args (unsigned argc, char **argv) int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -275,32 +275,32 @@ index 3d15cc491d..54f52dc72f 100644 struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1562,6 +1571,14 @@ parse_args (unsigned argc, char **argv) +@@ -1643,6 +1652,14 @@ parse_args (unsigned argc, char **argv) } break; + case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; ++ command_line.poison_system_directories = false; + break; + + case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = true; + break; + case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1613,6 +1630,10 @@ parse_args (unsigned argc, char **argv) +@@ -1788,6 +1805,10 @@ parse_args (unsigned argc, char **argv) command_line.soname = NULL; } + BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); + if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = true; + while (ingroup) { einfo (_("%P: missing --end-group; added as last command line option\n")); -- -2.24.1 +2.31.1 diff --git a/package/binutils/2.37/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch b/package/binutils/2.37/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch new file mode 100644 index 00000000000..bfd531b8185 --- /dev/null +++ b/package/binutils/2.37/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch @@ -0,0 +1,50 @@ +From ef4ba1da823e8366ea4f126f50885a44ebf4dcf0 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 9 Jun 2021 17:28:27 +0200 +Subject: [PATCH] bfd/elf32-or1k: fix building with gcc version < 5 + +Gcc version >= 5 has standard C mode not set to -std=gnu11, so if we use +an old compiler(i.e. gcc 4.9) build fails on: +``` +elf32-or1k.c:2251:3: error: 'for' loop initial declarations are only allowed in +C99 or C11 mode + for (size_t i = 0; i < insn_count; i++) + ^ +``` + +So let's declare `size_t i` at the top of the function instead of inside +for loop. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..32063ab0289 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2244,9 +2244,10 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + { + unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; + unsigned output_insns[PLT_MAX_INSN_COUNT]; ++ size_t i; + + /* Copy instructions into the output buffer. */ +- for (size_t i = 0; i < insn_count; i++) ++ for (i = 0; i < insn_count; i++) + output_insns[i] = insns[i]; + + /* Honor the no-delay-slot setting. */ +@@ -2277,7 +2278,7 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, + } + + /* Write out the output buffer. */ +- for (size_t i = 0; i < (insn_count+1); i++) ++ for (i = 0; i < (insn_count+1); i++) + bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); + } + +-- +2.31.1 + diff --git a/package/binutils/2.37/0004-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch b/package/binutils/2.37/0004-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch new file mode 100644 index 00000000000..0d18321ee11 --- /dev/null +++ b/package/binutils/2.37/0004-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch @@ -0,0 +1,59 @@ +From 203b80f8dbdd3ddb860114b03351a0dea28c978f Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sat, 10 Jul 2021 17:57:34 +0200 +Subject: [PATCH] or1k: fix pc-relative relocation against dynamic on PC + relative 26 bit relocation + +When building openal we were seeing the assert failure: + +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePausev +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceStopv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourceRewindv +/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: +pc-relative relocation against dynamic symbol alSourcePlayv +collect2: error: ld returned 1 exit status + +This happens because in R_OR1K_INSN_REL_26 case we can't reference local +symbol as previously done but we need to make sure that calls to actual +symbol always call the version of current object. + +bfd/Changelog: + + * elf32-or1k.c (or1k_elf_relocate_section): use a separate entry + in switch case R_OR1K_INSN_REL_26 where we need to check for + !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL(). + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 32063ab0289..67252394173 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -1543,6 +1543,18 @@ or1k_elf_relocate_section (bfd *output_bfd, + break; + + case R_OR1K_INSN_REL_26: ++ /* For a non-shared link, these will reference plt or call the ++ version of actual object. */ ++ if (bfd_link_pic (info) && !SYMBOL_CALLS_LOCAL (info, h)) ++ { ++ _bfd_error_handler ++ (_("%pB: pc-relative relocation against dynamic symbol %s"), ++ input_bfd, name); ++ ret_val = false; ++ bfd_set_error (bfd_error_bad_value); ++ } ++ break; ++ + case R_OR1K_PCREL_PG21: + case R_OR1K_LO13: + case R_OR1K_SLO13: +-- +2.31.1 + diff --git a/package/binutils/2.37/0005-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch b/package/binutils/2.37/0005-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch new file mode 100644 index 00000000000..8609db95b7a --- /dev/null +++ b/package/binutils/2.37/0005-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch @@ -0,0 +1,75 @@ +From 362a20108782b87cd780a989c0dbd014fc2def8b Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 Jan 2022 09:03:28 +0900 +Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 signed overflow by using special + howto + +Previously when fixing PR 21464 we masked out upper bits of the +relocation value in order to avoid overflow complaints when acceptable. +It turns out this does not work when the relocation value ends up being +signed. + +To fix this this patch introduces a special howto with +complain_on_overflow set to complain_overflow_dont. This is used in +place of the normal R_OR1K_GOT16 howto when we detect R_OR1K_GOT_AHI16 +relocations. + +bfd/ChangeLog: + + PR 28735 + * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define. + (or1k_elf_relocate_section): Use new howto instead of trying to + mask out relocation bits. + +Signed-off-by: Giulio Benetti +--- + bfd/elf32-or1k.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 4ae7f324d33..7fd88d72442 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -828,6 +828,23 @@ static reloc_howto_type or1k_elf_howto_table[] = + false), /* pcrel_offset */ + }; + ++/* A copy of the R_OR1K_GOT16 used in the presense of R_OR1K_GOT_AHI16 ++ relocations when we know we can ignore overflows. */ ++static reloc_howto_type or1k_elf_got16_no_overflow_howto = ++ HOWTO (R_OR1K_GOT16, /* type */ ++ 0, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ false, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_dont, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_OR1K_GOT16", /* name */ ++ false, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0xffff, /* dst_mask */ ++ false); /* pcrel_offset */ ++ + /* Map BFD reloc types to Or1k ELF reloc types. */ + + struct or1k_reloc_map +@@ -1506,12 +1523,11 @@ or1k_elf_relocate_section (bfd *output_bfd, + if (r_type == R_OR1K_GOT_AHI16) + saw_gotha = true; + +- /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 ++ /* If we have a R_OR1K_GOT16 following a R_OR1K_GOT_AHI16 + relocation we assume the code is doing the right thing to avoid +- overflows. Here we mask the lower 16-bit of the relocation to +- avoid overflow validation failures. */ ++ overflows. */ + if (r_type == R_OR1K_GOT16 && saw_gotha) +- relocation &= 0xffff; ++ howto = &or1k_elf_got16_no_overflow_howto; + + /* Addend should be zero. */ + if (rel->r_addend != 0) +-- +2.25.1 + diff --git a/package/binutils/2.37/0006-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch b/package/binutils/2.37/0006-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch new file mode 100644 index 00000000000..46697cc5c8a --- /dev/null +++ b/package/binutils/2.37/0006-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch @@ -0,0 +1,236 @@ +From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Mon, 26 Jul 2021 05:59:55 -0700 +Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd + +Close the file descriptor if there is no archive plugin file descriptor +to avoid running out of file descriptors on thin archives with many +archive members. + +bfd/ + + PR ld/28138 + * plugin.c (bfd_plugin_close_file_descriptor): Close the file + descriptor there is no archive plugin file descriptor. + +ld/ + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for + native build. + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. + * testsuite/ld-plugin/pr28138.c: New file. + * testsuite/ld-plugin/pr28138-1.c: Likewise. + * testsuite/ld-plugin/pr28138-2.c: Likewise. + * testsuite/ld-plugin/pr28138-3.c: Likewise. + * testsuite/ld-plugin/pr28138-4.c: Likewise. + * testsuite/ld-plugin/pr28138-5.c: Likewise. + * testsuite/ld-plugin/pr28138-6.c: Likewise. + * testsuite/ld-plugin/pr28138-7.c: Likewise. + +(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) +(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) + +[Upstream: + https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1c611b40e6bfc8029bff7696814330b5bc0ee5c0] +Signed-off-by: Peter Seiderer +--- + bfd/plugin.c | 8 +++++++ + ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++ + ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++ + 10 files changed, 104 insertions(+) + create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c + create mode 100644 ld/testsuite/ld-plugin/pr28138.c + +diff --git a/bfd/plugin.c b/bfd/plugin.c +index 6cfa2b66470..3bab8febe88 100644 +--- a/bfd/plugin.c ++++ b/bfd/plugin.c +@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd) + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; + ++ /* Close the file descriptor if there is no archive plugin file ++ descriptor. */ ++ if (abfd->archive_plugin_fd == -1) ++ { ++ close (fd); ++ return; ++ } ++ + abfd->archive_plugin_fd_open_count--; + /* Dup the archive plugin file descriptor for later use, which + will be closed by _bfd_archive_close_and_cleanup. */ +diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp +index def69e43ab3..999d911ce6a 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } { + } + } + ++run_cc_link_tests [list \ ++ [list \ ++ "Build pr28138.a" \ ++ "-T" "" \ ++ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ ++ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ ++ ] \ ++ [list \ ++ "Build pr28138.o" \ ++ "" "" \ ++ {pr28138.c} {} \ ++ ] \ ++] ++ ++set exec_output [run_host_cmd "sh" \ ++ "-c \"ulimit -n 20; \ ++ $CC -Btmpdir/ld -o tmpdir/pr28138 \ ++ tmpdir/pr28138.o tmpdir/pr28138.a\""] ++set exec_output [prune_warnings $exec_output] ++if [string match "" $exec_output] then { ++ if { [isnative] } { ++ set exec_output [run_host_cmd "tmpdir/pr28138" ""] ++ if [string match "PASS" $exec_output] then { ++ pass "PR ld/28138" ++ } else { ++ fail "PR ld/28138" ++ } ++ } else { ++ pass "PR ld/28138" ++ } ++} else { ++ fail "PR ld/28138" ++} ++ + set testname "Build liblto-11.a" + remote_file host delete "tmpdir/liblto-11.a" + set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] +diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c +new file mode 100644 +index 00000000000..51d119e1642 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-1.c +@@ -0,0 +1,6 @@ ++extern int a0(void); ++int ++a1(void) ++{ ++ return 1 + a0(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c +new file mode 100644 +index 00000000000..1120cd797e9 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-2.c +@@ -0,0 +1,6 @@ ++extern int a1(void); ++int ++a2(void) ++{ ++ return 1 + a1(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c +new file mode 100644 +index 00000000000..ec464947ee6 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-3.c +@@ -0,0 +1,6 @@ ++extern int a2(void); ++int ++a3(void) ++{ ++ return 1 + a2(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c +new file mode 100644 +index 00000000000..475701b2c5c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-4.c +@@ -0,0 +1,6 @@ ++extern int a3(void); ++int ++a4(void) ++{ ++ return 1 + a3(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c +new file mode 100644 +index 00000000000..e24f86c363e +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-5.c +@@ -0,0 +1,6 @@ ++extern int a4(void); ++int ++a5(void) ++{ ++ return 1 + a4(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c +new file mode 100644 +index 00000000000..b5b938bdb21 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-6.c +@@ -0,0 +1,6 @@ ++extern int a5(void); ++int ++a6(void) ++{ ++ return 1 + a5(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c +new file mode 100644 +index 00000000000..4ef75bf0f0c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-7.c +@@ -0,0 +1,6 @@ ++extern int a6(void); ++int ++a7(void) ++{ ++ return 1 + a6(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c +new file mode 100644 +index 00000000000..68252c9f382 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138.c +@@ -0,0 +1,20 @@ ++#include ++ ++extern int a7(void); ++ ++int ++a0(void) ++{ ++ return 0; ++} ++ ++int ++main() ++{ ++ if (a7() == 7) ++ { ++ printf ("PASS\n"); ++ return 0; ++ } ++ return 1; ++} +-- +2.34.1 + diff --git a/package/binutils/2.37/0007-i386-Allow-GOT32-relocations-against-ABS-symbols.patch b/package/binutils/2.37/0007-i386-Allow-GOT32-relocations-against-ABS-symbols.patch new file mode 100644 index 00000000000..3e292822613 --- /dev/null +++ b/package/binutils/2.37/0007-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" +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 + +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/package/binutils/Config.in b/package/binutils/Config.in index e17a8ec65ac..5e1a769998b 100644 --- a/package/binutils/Config.in +++ b/package/binutils/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_BINUTILS bool "binutils" depends on !BR2_nios2 depends on BR2_USE_WCHAR + select BR2_PACKAGE_ZLIB help Install binutils on the target diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index d6909617c7c..c3ac7a0cf21 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -7,9 +7,8 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI choice prompt "Binutils Version" - default BR2_BINUTILS_VERSION_2_35_X if !BR2_arc && !BR2_csky + default BR2_BINUTILS_VERSION_2_36_X if !BR2_arc && !BR2_csky default BR2_BINUTILS_VERSION_ARC if BR2_arc - default BR2_BINUTILS_VERSION_CSKY if BR2_csky help Select the version of binutils you wish to use. @@ -17,45 +16,30 @@ config BR2_BINUTILS_VERSION_2_32_X bool "binutils 2.32" depends on !BR2_csky -config BR2_BINUTILS_VERSION_2_34_X - bool "binutils 2.34" - depends on !BR2_csky - # https://github.com/uclinux-dev/elf2flt/pull/16 - # https://github.com/uclinux-dev/elf2flt/issues/12 - depends on !BR2_BINFMT_FLAT - config BR2_BINUTILS_VERSION_2_35_X bool "binutils 2.35.2" depends on !BR2_csky - # https://github.com/uclinux-dev/elf2flt/pull/16 - # https://github.com/uclinux-dev/elf2flt/issues/12 - depends on !BR2_BINFMT_FLAT config BR2_BINUTILS_VERSION_2_36_X bool "binutils 2.36.1" depends on !BR2_csky - # https://github.com/uclinux-dev/elf2flt/pull/16 - # https://github.com/uclinux-dev/elf2flt/issues/12 - depends on !BR2_BINFMT_FLAT + +config BR2_BINUTILS_VERSION_2_37_X + bool "binutils 2.37" config BR2_BINUTILS_VERSION_ARC bool "binutils arc (2.34.50)" depends on BR2_arc -config BR2_BINUTILS_VERSION_CSKY - bool "binutils csky" - depends on BR2_csky - endchoice config BR2_BINUTILS_VERSION string default "arc-2020.09-release" if BR2_BINUTILS_VERSION_ARC - default "c66d8bbcebfddf713b2b436e1b135e6b125a55a5" if BR2_BINUTILS_VERSION_CSKY default "2.32" if BR2_BINUTILS_VERSION_2_32_X - default "2.34" if BR2_BINUTILS_VERSION_2_34_X default "2.35.2" if BR2_BINUTILS_VERSION_2_35_X default "2.36.1" if BR2_BINUTILS_VERSION_2_36_X + default "2.37" if BR2_BINUTILS_VERSION_2_37_X config BR2_BINUTILS_ENABLE_LTO bool diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index 20462b3809a..d1be6cbce8c 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -1,15 +1,12 @@ # From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum sha512 d326408f12a03d9a61a9de56584c2af12f81c2e50d2d7e835d51565df8314df01575724afa1e43bd0db45cfc9916b41519b67dfce03232aa4978704492a6994a binutils-2.32.tar.xz -sha512 2c7976939dcf5e8c5b7374cccd39bfe803b1bec73c6abfa0eb17c24e1942574c6bdb874c66a092a82adc443182eacd8a5a8001c19a76101f0c7ba40c27de0bbd binutils-2.34.tar.xz sha512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348 binutils-2.35.2.tar.xz sha512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9 binutils-2.36.1.tar.xz +sha512 5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7 binutils-2.37.tar.xz # Locally calculated (fetched from Github) sha512 76a8227a19218435319c660e4983ea17985194b7f496f163e97543e7f6fd3e9249241fdc05a16ba512fba96a1d846c1f7b080983404d821d6215f10e7f11e238 binutils-gdb-arc-2020.09-release.tar.gz -# Locally calculated (fetched from https://github.com/c-sky/binutils-gdb) -sha512 979552d4b3a4f31e9f3b9a7027321bd4eb3ac6c2d8deac1720e94e54f81d736db09c53c5d87c301010e307b64127e14400a036c7a35e5d63a954a4edd9cc8e2c binutils-c66d8bbcebfddf713b2b436e1b135e6b125a55a5.tar.gz - # locally computed sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING3 sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index e469febbb4f..8c4a1371ca8 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -11,7 +11,7 @@ ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) BINUTILS_VERSION = arc-2020.09-release else -BINUTILS_VERSION = 2.35.2 +BINUTILS_VERSION = 2.36.1 endif endif # BINUTILS_VERSION @@ -21,17 +21,11 @@ BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y endif -ifeq ($(BR2_csky),y) -BINUTILS_SITE = $(call github,c-sky,binutils-gdb,$(BINUTILS_VERSION)) -BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz -BINUTILS_FROM_GIT = y -endif - BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.xz BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS)) BINUTILS_INSTALL_STAGING = YES -BINUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +BINUTILS_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES) BINUTILS_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) BINUTILS_LICENSE = GPL-3.0+, libiberty LGPL-2.1+ BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB @@ -57,6 +51,7 @@ BINUTILS_CONF_OPTS = \ --target=$(GNU_TARGET_NAME) \ --enable-install-libiberty \ --enable-build-warnings=no \ + --with-system-zlib \ $(BINUTILS_DISABLE_GDB_CONF_OPTS) \ $(BINUTILS_EXTRA_CONFIG_OPTIONS) @@ -80,10 +75,6 @@ ifeq ($(BR2_ARM_CPU_ARMV7M)$(BR2_OPTIMIZE_S),yy) BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O2" endif -ifeq ($(BR2_PACKAGE_ZLIB),y) -BINUTILS_DEPENDENCIES += zlib -endif - # "host" binutils should actually be "cross" # We just keep the convention of "host utility" for now HOST_BINUTILS_CONF_OPTS = \ @@ -112,10 +103,10 @@ endef # If we don't want full binutils on target ifneq ($(BR2_PACKAGE_BINUTILS_TARGET),y) +# libiberty is static-only, so it is only installed to staging, above. define BINUTILS_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/bfd DESTDIR=$(TARGET_DIR) install $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/opcodes DESTDIR=$(TARGET_DIR) install - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libiberty DESTDIR=$(STAGING_DIR) install endef endif diff --git a/package/bird/0001-Nest-Fix-build-without-protocols.patch b/package/bird/0001-Nest-Fix-build-without-protocols.patch deleted file mode 100644 index 48d21441ca2..00000000000 --- a/package/bird/0001-Nest-Fix-build-without-protocols.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f9eb9b4cab65b850c61738dd56632bae0e7329ca Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 19 Oct 2019 12:50:27 +0200 -Subject: [PATCH] Nest: Fix build without protocols - -(CHECK keyword added by commiter) -[Retrieved from: -https://gitlab.labs.nic.cz/labs/bird/commit/f9eb9b4cab65b850c61738dd56632bae0e7329ca] -Signed-off-by: Fabrice Fontaine ---- - nest/config.Y | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/nest/config.Y b/nest/config.Y -index c62501a3..1bc203dd 100644 ---- a/nest/config.Y -+++ b/nest/config.Y -@@ -75,6 +75,7 @@ CF_KEYWORDS(BGP, PASSWORDS, DESCRIPTION, SORTED) - CF_KEYWORDS(RELOAD, IN, OUT, MRTDUMP, MESSAGES, RESTRICT, MEMORY, IGP_METRIC, CLASS, DSCP) - CF_KEYWORDS(TIMEFORMAT, ISO, SHORT, LONG, ROUTE, PROTOCOL, BASE, LOG, S, MS, US) - CF_KEYWORDS(GRACEFUL, RESTART, WAIT, MAX, FLUSH, AS) -+CF_KEYWORDS(CHECK, LINK) - - /* For r_args_channel */ - CF_KEYWORDS(IPV4, IPV4_MC, IPV4_MPLS, IPV6, IPV6_MC, IPV6_MPLS, IPV6_SADR, VPN4, VPN4_MC, VPN4_MPLS, VPN6, VPN6_MC, VPN6_MPLS, ROA4, ROA6, FLOW4, FLOW6, MPLS, PRI, SEC) --- -2.21.0 - diff --git a/package/bird/0002-Added-missing-extern.patch b/package/bird/0002-Added-missing-extern.patch deleted file mode 100644 index 00aab3e92b0..00000000000 --- a/package/bird/0002-Added-missing-extern.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4bbc10614f3431c37e6352f5a6ea5c693c31021e Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Tue, 4 Feb 2020 10:11:16 +0100 -Subject: [PATCH] Added missing extern -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Thanks to Robert Scheck who reported it -and Toke Høiland-Jørgensen who suggested this patch. - -[Retrieved from: -https://gitlab.nic.cz/labs/bird/-/commit/4bbc10614f3431c37e6352f5a6ea5c693c31021e] -Signed-off-by: Fabrice Fontaine ---- - nest/route.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/nest/route.h b/nest/route.h -index d2a07f09..b927db5f 100644 ---- a/nest/route.h -+++ b/nest/route.h -@@ -458,7 +458,7 @@ typedef struct rta { - protocol-specific metric is availabe */ - - --const char * rta_dest_names[RTD_MAX]; -+extern const char * rta_dest_names[RTD_MAX]; - - static inline const char *rta_dest_name(uint n) - { return (n < RTD_MAX) ? rta_dest_names[n] : "???"; } --- -2.26.2 - diff --git a/package/bird/Config.in b/package/bird/Config.in index e78dfdf90f5..866fc65617f 100644 --- a/package/bird/Config.in +++ b/package/bird/Config.in @@ -73,6 +73,11 @@ config BR2_PACKAGE_BIRD_RIP help Enable RIP protocol. +config BR2_PACKAGE_BIRD_RPKI + bool "rpki" + help + Enable RPKI protocol. + config BR2_PACKAGE_BIRD_STATIC bool "static" help diff --git a/package/bird/bird.hash b/package/bird/bird.hash index 303fc21205c..2d20491dd60 100644 --- a/package/bird/bird.hash +++ b/package/bird/bird.hash @@ -1,2 +1,2 @@ -sha256 631d2b58aebdbd651aaa3c68c3756c02ebfe5b1e60d307771ea909eeaa5b1066 bird-2.0.7.tar.gz -sha256 94c53c84320078920ac1f0d49c81a4e9004512f534521a58bdf145acbcbc2cd2 README +sha256 19d2de83ee25a307b9e5b9e58797dd68766d439bcee33e3ac617ed502370e7f6 bird-2.0.8.tar.gz +sha256 94c53c84320078920ac1f0d49c81a4e9004512f534521a58bdf145acbcbc2cd2 README diff --git a/package/bird/bird.mk b/package/bird/bird.mk index 6b28102754c..7d7002d5f21 100644 --- a/package/bird/bird.mk +++ b/package/bird/bird.mk @@ -4,11 +4,14 @@ # ################################################################################ -BIRD_VERSION = 2.0.7 +BIRD_VERSION = 2.0.8 BIRD_SITE = ftp://bird.network.cz/pub/bird BIRD_LICENSE = GPL-2.0+ BIRD_LICENSE_FILES = README +BIRD_CPE_ID_VENDOR = nic +BIRD_SELINUX_MODULES = bird BIRD_DEPENDENCIES = host-flex host-bison +BIRD_AUTORECONF = YES ifeq ($(BR2_PACKAGE_BIRD_CLIENT),y) BIRD_CONF_OPTS += --enable-client @@ -17,6 +20,13 @@ else BIRD_CONF_OPTS += --disable-client endif +ifeq ($(BR2_PACKAGE_LIBSSH),y) +BIRD_CONF_OPTS += --enable-libssh +BIRD_DEPENDENCIES += libssh +else +BIRD_CONF_OPTS += --disable-libssh +endif + BIRD_PROTOCOLS = \ $(if $(BR2_PACKAGE_BIRD_BFD),bfd) \ $(if $(BR2_PACKAGE_BIRD_BABEL),babel) \ @@ -27,6 +37,7 @@ BIRD_PROTOCOLS = \ $(if $(BR2_PACKAGE_BIRD_PIPE),pipe) \ $(if $(BR2_PACKAGE_BIRD_RADV),radv) \ $(if $(BR2_PACKAGE_BIRD_RIP),rip) \ + $(if $(BR2_PACKAGE_BIRD_RPKI),rpki) \ $(if $(BR2_PACKAGE_BIRD_STATIC),static) BIRD_CONF_OPTS += --with-protocols=$(subst $(space),$(comma),$(strip $(BIRD_PROTOCOLS))) diff --git a/package/bison/bison.hash b/package/bison/bison.hash index 123b6100c4b..98ce5b97a38 100644 --- a/package/bison/bison.hash +++ b/package/bison/bison.hash @@ -1,4 +1,5 @@ -# Locally calculated after checking pgp signature -sha256 55c215521a13982a9bee68cd42eed51a65713f96c530a739a57de4438ac1bb69 bison-3.7.1.tar.xz +# Locally calculated after checking pgp signature from +# http://mirror.keystealth.org/gnu/bison/bison-3.8.2.tar.xz.sig +sha256 9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2 bison-3.8.2.tar.xz # License files, locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/bison/bison.mk b/package/bison/bison.mk index efd75afd661..27038de6745 100644 --- a/package/bison/bison.mk +++ b/package/bison/bison.mk @@ -4,7 +4,7 @@ # ################################################################################ -BISON_VERSION = 3.7.1 +BISON_VERSION = 3.8.2 BISON_SOURCE = bison-$(BISON_VERSION).tar.xz BISON_SITE = $(BR2_GNU_MIRROR)/bison BISON_LICENSE = GPL-3.0+ diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in index 7ce4f80656a..a344811d6b4 100644 --- a/package/bitcoin/Config.in +++ b/package/bitcoin/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS config BR2_PACKAGE_BITCOIN bool "bitcoin" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS # boost diff --git a/package/bitcoin/bitcoin.hash b/package/bitcoin/bitcoin.hash index 3c65c3d7301..643fcbc1419 100644 --- a/package/bitcoin/bitcoin.hash +++ b/package/bitcoin/bitcoin.hash @@ -1,5 +1,5 @@ -# From https://bitcoincore.org/bin/bitcoin-core-0.21.0/SHA256SUMS.asc -sha256 1a91202c62ee49fb64d57a52b8d6d01cd392fffcbef257b573800f9289655f37 bitcoin-0.21.0.tar.gz +# From https://bitcoincore.org/bin/bitcoin-core-0.21.2/SHA256SUMS.asc +sha256 4146f751fc5691bdcf911cbdb8d32d8d25c297d29d58173227ae1ae6438edb9e bitcoin-0.21.2.tar.gz # Hash for license file sha256 96fe807030b21f88305adc32af62f9aa19915f2783509fd6f52aea02cf83f644 COPYING diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk index 5f1684879ce..10ae32202cf 100644 --- a/package/bitcoin/bitcoin.mk +++ b/package/bitcoin/bitcoin.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITCOIN_VERSION = 0.21.0 +BITCOIN_VERSION = 0.21.2 BITCOIN_SITE = https://bitcoincore.org/bin/bitcoin-core-$(BITCOIN_VERSION) BITCOIN_AUTORECONF = YES BITCOIN_LICENSE = MIT diff --git a/package/bitwise/bitwise.hash b/package/bitwise/bitwise.hash index 061c5e529ea..c8daa0aa649 100644 --- a/package/bitwise/bitwise.hash +++ b/package/bitwise/bitwise.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 33ce934fb99dadf7652224152cc135a0abf6a211adde53d96e9be7067567749c bitwise-v0.41.tar.gz +sha256 f524f794188a10defc4df673d8cf0b3739f93e58e93aff0cdb8a99fbdcca2ffb bitwise-v0.43.tar.gz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/bitwise/bitwise.mk b/package/bitwise/bitwise.mk index 581eac6fb4e..33d8f6776b5 100644 --- a/package/bitwise/bitwise.mk +++ b/package/bitwise/bitwise.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITWISE_VERSION = 0.41 +BITWISE_VERSION = 0.43 BITWISE_SITE = https://github.com/mellowcandle/bitwise/releases/download/v$(BITWISE_VERSION) BITWISE_SOURCE = bitwise-v$(BITWISE_VERSION).tar.gz BITWISE_DEPENDENCIES = ncurses readline diff --git a/package/blktrace/0001-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch b/package/blktrace/0001-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch deleted file mode 100644 index 764410d472f..00000000000 --- a/package/blktrace/0001-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch +++ /dev/null @@ -1,146 +0,0 @@ -From d61ff409cb4dda31386373d706ea0cfb1aaac5b7 Mon Sep 17 00:00:00 2001 -From: Jens Axboe -Date: Wed, 2 May 2018 10:24:17 -0600 -Subject: btt: make device/devno use PATH_MAX to avoid overflow - -Herbo Zhang reports: - -I found a bug in blktrace/btt/devmap.c. The code is just as follows: - -https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/tree/btt/devmap.c?id=8349ad2f2d19422a6241f94ea84d696b21de4757 - - struct devmap { - -struct list_head head; -char device[32], devno[32]; // #1 -}; - -LIST_HEAD(all_devmaps); - -static int dev_map_add(char *line) -{ -struct devmap *dmp; - -if (strstr(line, "Device") != NULL) -return 1; - -dmp = malloc(sizeof(struct devmap)); -if (sscanf(line, "%s %s", dmp->device, dmp->devno) != 2) { //#2 -free(dmp); -return 1; -} - -list_add_tail(&dmp->head, &all_devmaps); -return 0; -} - -int dev_map_read(char *fname) -{ -char line[256]; // #3 -FILE *fp = my_fopen(fname, "r"); - -if (!fp) { -perror(fname); -return 1; -} - -while (fscanf(fp, "%255[a-zA-Z0-9 :.,/_-]\n", line) == 1) { -if (dev_map_add(line)) -break; -} - -fclose(fp); -return 0; -} - - The line length is 256, but the dmp->device, dmp->devno max length -is only 32. We can put strings longer than 32 into dmp->device and -dmp->devno , and then they will be overflowed. - - we can trigger this bug just as follows: - - $ python -c "print 'A'*256" > ./test - $ btt -M ./test - - *** Error in btt': free(): invalid next size (fast): 0x000055ad7349b250 *** - ======= Backtrace: ========= - /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f7f158ce7e5] - /lib/x86_64-linux-gnu/libc.so.6(+0x7fe0a)[0x7f7f158d6e0a] - /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f7f158da98c] - btt(+0x32e0)[0x55ad7306f2e0] - btt(+0x2c5f)[0x55ad7306ec5f] - btt(+0x251f)[0x55ad7306e51f] - /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f7f15877830] - btt(+0x26b9)[0x55ad7306e6b9] - ======= Memory map: ======== - 55ad7306c000-55ad7307f000 r-xp 00000000 08:14 3698139 - /usr/bin/btt - 55ad7327e000-55ad7327f000 r--p 00012000 08:14 3698139 - /usr/bin/btt - 55ad7327f000-55ad73280000 rw-p 00013000 08:14 3698139 - /usr/bin/btt - 55ad73280000-55ad73285000 rw-p 00000000 00:00 0 - 55ad7349a000-55ad734bb000 rw-p 00000000 00:00 0 - [heap] - 7f7f10000000-7f7f10021000 rw-p 00000000 00:00 0 - 7f7f10021000-7f7f14000000 ---p 00000000 00:00 0 - 7f7f15640000-7f7f15656000 r-xp 00000000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15656000-7f7f15855000 ---p 00016000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15855000-7f7f15856000 r--p 00015000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15856000-7f7f15857000 rw-p 00016000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15857000-7f7f15a16000 r-xp 00000000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15a16000-7f7f15c16000 ---p 001bf000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15c16000-7f7f15c1a000 r--p 001bf000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15c1a000-7f7f15c1c000 rw-p 001c3000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15c1c000-7f7f15c20000 rw-p 00000000 00:00 0 - 7f7f15c20000-7f7f15c46000 r-xp 00000000 08:14 14948478 - /lib/x86_64-linux-gnu/ld-2.23.so - 7f7f15e16000-7f7f15e19000 rw-p 00000000 00:00 0 - 7f7f15e42000-7f7f15e45000 rw-p 00000000 00:00 0 - 7f7f15e45000-7f7f15e46000 r--p 00025000 08:14 14948478 - /lib/x86_64-linux-gnu/ld-2.23.so - 7f7f15e46000-7f7f15e47000 rw-p 00026000 08:14 14948478 - /lib/x86_64-linux-gnu/ld-2.23.so - 7f7f15e47000-7f7f15e48000 rw-p 00000000 00:00 0 - 7ffdebe5c000-7ffdebe7d000 rw-p 00000000 00:00 0 - [stack] - 7ffdebebc000-7ffdebebe000 r--p 00000000 00:00 0 - [vvar] - 7ffdebebe000-7ffdebec0000 r-xp 00000000 00:00 0 - [vdso] - ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 - [vsyscall] - [1] 6272 abort btt -M test - -Signed-off-by: Jens Axboe -[Retrieved from: -https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/commit/?id=d61ff409cb4dda31386373d706ea0cfb1aaac5b7] -Signed-off-by: Fabrice Fontaine ---- - btt/devmap.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/btt/devmap.c b/btt/devmap.c -index 0553a9e..5fc1cb2 100644 ---- a/btt/devmap.c -+++ b/btt/devmap.c -@@ -23,7 +23,7 @@ - - struct devmap { - struct list_head head; -- char device[32], devno[32]; -+ char device[PATH_MAX], devno[PATH_MAX]; - }; - - LIST_HEAD(all_devmaps); --- -cgit 1.2-0.3.lf.el7 - diff --git a/package/blktrace/blktrace.hash b/package/blktrace/blktrace.hash index d4f6218486d..d279419c9e4 100644 --- a/package/blktrace/blktrace.hash +++ b/package/blktrace/blktrace.hash @@ -1,6 +1,6 @@ # From http://brick.kernel.dk/snaps/MD5SUMS -md5 05abb873b4de96c5e7b2deba80695bf1 blktrace-1.2.0.tar.gz +md5 aa9bc7d76870d8dae56aa816527e8e15 blktrace-1.3.0.tar.bz2 # Locally computed -sha256 d14029bc096026dacb206bf115c912dcdb795320b5aba6dff3e46d7f94c5242d blktrace-1.2.0.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 d6deda03862de2bd1b1b9fba729bbb862d9bca795e6aa7f7ca86b656811a70d6 blktrace-1.3.0.tar.bz2 +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/blktrace/blktrace.mk b/package/blktrace/blktrace.mk index 4ada2e8e4bc..d66a35227e3 100644 --- a/package/blktrace/blktrace.mk +++ b/package/blktrace/blktrace.mk @@ -4,14 +4,13 @@ # ################################################################################ -BLKTRACE_VERSION = 1.2.0 +BLKTRACE_VERSION = 1.3.0 +BLKTRACE_SOURCE = blktrace-$(BLKTRACE_VERSION).tar.bz2 BLKTRACE_SITE = http://brick.kernel.dk/snaps BLKTRACE_DEPENDENCIES = libaio BLKTRACE_LICENSE = GPL-2.0+ BLKTRACE_LICENSE_FILES = COPYING - -# 0001-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch -BLKTRACE_IGNORE_CVES += CVE-2018-10689 +BLKTRACE_CPE_ID_VENDOR = blktrace_project define BLKTRACE_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) $(TARGET_CONFIGURE_OPTS) diff --git a/package/bluez-alsa/Config.in b/package/bluez-alsa/Config.in index 2f103f409c7..42bb9133bfd 100644 --- a/package/bluez-alsa/Config.in +++ b/package/bluez-alsa/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_BLUEZ_ALSA bool "bluez-alsa" depends on !BR2_STATIC_LIBS # bluez5 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5 @@ -8,6 +9,7 @@ config BR2_PACKAGE_BLUEZ_ALSA depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_BLUEZ5_UTILS + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_SBC help @@ -33,8 +35,9 @@ config BR2_PACKAGE_BLUEZ_ALSA_RFCOMM endif -comment "bluez-alsa needs a toolchain w/ wchar, NPTL, headers >= 3.4, dynamic library" +comment "bluez-alsa needs a toolchain w/ wchar, NPTL, headers >= 3.4, dynamic library, gcc >= 4.9" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU diff --git a/package/bluez-alsa/bluez-alsa.hash b/package/bluez-alsa/bluez-alsa.hash index 6be93bc045a..f6e7294681b 100644 --- a/package/bluez-alsa/bluez-alsa.hash +++ b/package/bluez-alsa/bluez-alsa.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 8b9bc36be922c10c6628ddf84b13dfadfeb3ab0bcf72bad842c66f3120abc6b2 bluez-alsa-3.0.0.tar.gz +sha256 d9a878d9fd7f18842c9c8ed83bc96cab684753c90f2751d575a3cdd776ec78a5 bluez-alsa-3.1.0.tar.gz sha256 60253922a459245128c34eb379cbda7c76936636d4c10edc576663a0f560dd4d LICENSE diff --git a/package/bluez-alsa/bluez-alsa.mk b/package/bluez-alsa/bluez-alsa.mk index 9262a7f66b1..f5e3aa12454 100644 --- a/package/bluez-alsa/bluez-alsa.mk +++ b/package/bluez-alsa/bluez-alsa.mk @@ -4,7 +4,7 @@ # ################################################################################ -BLUEZ_ALSA_VERSION = 3.0.0 +BLUEZ_ALSA_VERSION = 3.1.0 BLUEZ_ALSA_SITE = $(call github,Arkq,bluez-alsa,v$(BLUEZ_ALSA_VERSION)) BLUEZ_ALSA_LICENSE = MIT BLUEZ_ALSA_LICENSE_FILES = LICENSE @@ -69,4 +69,11 @@ else BLUEZ_ALSA_CONF_OPTS += --disable-rfcomm endif +ifeq ($(BR2_PACKAGE_LIBOPENAPTX),y) +BLUEZ_ALSA_DEPENDENCIES += libopenaptx +BLUEZ_ALSA_CONF_OPTS += --with-libopenaptx --enable-aptx --enable-aptx-hd +else +BLUEZ_ALSA_CONF_OPTS += --without-libopenaptx --disable-aptx --disable-aptx-hd +endif + $(eval $(autotools-package)) diff --git a/package/bluez-tools/0001-fix-gcc-10-compile.patch b/package/bluez-tools/0001-fix-gcc-10-compile.patch deleted file mode 100644 index 028c2db69d1..00000000000 --- a/package/bluez-tools/0001-fix-gcc-10-compile.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 687105d611b38961f390f0a328f9cfa3b93aeb18 Mon Sep 17 00:00:00 2001 -From: Leigh Scott -Date: Tue, 28 Jan 2020 22:46:37 +0000 -Subject: [PATCH] fix gcc-10 compile - -[Retrieved from: -https://github.com/khvzak/bluez-tools/pull/34/commits/687105d611b38961f390f0a328f9cfa3b93aeb18] -Signed-off-by: Fabrice Fontaine ---- - src/lib/agent-helper.c | 2 ++ - src/lib/agent-helper.h | 4 ++-- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/lib/agent-helper.c b/src/lib/agent-helper.c -index bf50bcc..2b94100 100644 ---- a/src/lib/agent-helper.c -+++ b/src/lib/agent-helper.c -@@ -33,6 +33,8 @@ - - #include "agent-helper.h" - -+gboolean agent_need_unregister; -+ - static const gchar *_bt_agent_introspect_xml = "\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n"; - static guint _bt_agent_registration_id = 0; - static GHashTable *_pin_hash_table = NULL; -diff --git a/src/lib/agent-helper.h b/src/lib/agent-helper.h -index 8e1cc85..9a952c4 100644 ---- a/src/lib/agent-helper.h -+++ b/src/lib/agent-helper.h -@@ -35,7 +35,7 @@ extern "C" { - #define AGENT_DBUS_INTERFACE "org.bluez.Agent1" - #define AGENT_PATH "/org/blueztools" - --gboolean agent_need_unregister; -+extern gboolean agent_need_unregister; - - void register_agent_callbacks(gboolean interactive_console, GHashTable *pin_dictonary, gpointer main_loop_object, GError **error); - void unregister_agent_callbacks(GError **error); -@@ -44,4 +44,4 @@ void unregister_agent_callbacks(GError **error); - } - #endif - --#endif /* __AGENT_HELPER_H */ -\ No newline at end of file -+#endif /* __AGENT_HELPER_H */ diff --git a/package/bluez-tools/bluez-tools.hash b/package/bluez-tools/bluez-tools.hash index 808e5c6061b..f013f195cb6 100644 --- a/package/bluez-tools/bluez-tools.hash +++ b/package/bluez-tools/bluez-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 62ca98af63d2ae142dbc77995c6bd4c259eaba4a5832daa33ae9e3d585b9205f bluez-tools-97efd293491ad7ec96a655665339908f2478b3d1.tar.gz +sha256 dd5acf9e501514f4ad1136af966d2723f3270e0e2fffd6d29da93fa76c9fafa3 bluez-tools-f65321736475429316f07ee94ec0deac8e46ec4a.tar.gz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/bluez-tools/bluez-tools.mk b/package/bluez-tools/bluez-tools.mk index c58701981a9..007235958ba 100644 --- a/package/bluez-tools/bluez-tools.mk +++ b/package/bluez-tools/bluez-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -BLUEZ_TOOLS_VERSION = 97efd293491ad7ec96a655665339908f2478b3d1 +BLUEZ_TOOLS_VERSION = f65321736475429316f07ee94ec0deac8e46ec4a BLUEZ_TOOLS_SITE = $(call github,khvzak,bluez-tools,$(BLUEZ_TOOLS_VERSION)) # sources fetched from github, no configure script) diff --git a/package/bluez5_utils-headers/bluez5_utils-headers.mk b/package/bluez5_utils-headers/bluez5_utils-headers.mk index a2e22148ae2..5bfc652355d 100644 --- a/package/bluez5_utils-headers/bluez5_utils-headers.mk +++ b/package/bluez5_utils-headers/bluez5_utils-headers.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils -BLUEZ5_UTILS_HEADERS_VERSION = 5.55 +BLUEZ5_UTILS_HEADERS_VERSION = 5.63 BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils diff --git a/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch b/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch new file mode 100644 index 00000000000..7f1197357fd --- /dev/null +++ b/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch @@ -0,0 +1,33 @@ +From 5158827fded7cb4daf550a5956aff0c74f6c38fc Mon Sep 17 00:00:00 2001 +From: Michael Nosthoff +Date: Thu, 22 Jul 2021 21:36:13 +0200 +Subject: [PATCH] tools/mesh-cfgtest: include limits.h + +mesh-cfgtest.c uses PATH_MAX so it should include limits.h. + +fixes compilation error when enabling mesh support with musl-based +toolchains observed in buildroot autobuilders. + +http://autobuild.buildroot.net/results/20cc47f54de0b0d4bdf108c3715c590ae8ab476f/ +http://autobuild.buildroot.net/results/003968b25906579dbcf5a95d1e43fec0ab504ef5/ + +Signed-off-by: Michael Nosthoff +--- + tools/mesh-cfgtest.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/mesh-cfgtest.c b/tools/mesh-cfgtest.c +index fa0474faa..116ab7f16 100644 +--- a/tools/mesh-cfgtest.c ++++ b/tools/mesh-cfgtest.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.32.0 + diff --git a/package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch b/package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch new file mode 100644 index 00000000000..f8d74528d84 --- /dev/null +++ b/package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch @@ -0,0 +1,67 @@ +From f3263fed28bf510a1225661fe2b5f598300c11cd Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Wed, 5 Jan 2022 15:53:35 -0800 +Subject: [PATCH] shared/util: Rename btd_malloc to util_malloc + +util functions are not limited to daemon only which is normally the case +when using btd prefix. + +(cherry picked from commit 710220f861b100856711a0a4d4a852874228a57a) +Signed-off-by: Thomas Devoogdt +--- + profiles/audio/avdtp.c | 2 +- + src/shared/util.c | 2 +- + src/shared/util.h | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c +index d3dfbf96d..f2b461330 100644 +--- a/profiles/audio/avdtp.c ++++ b/profiles/audio/avdtp.c +@@ -1333,7 +1333,7 @@ static GSList *caps_to_list(uint8_t *data, size_t size, + break; + } + +- cpy = btd_malloc(sizeof(*cpy) + cap->length); ++ cpy = util_malloc(sizeof(*cpy) + cap->length); + memcpy(cpy, cap, sizeof(*cap) + cap->length); + + size -= sizeof(*cap) + cap->length; +diff --git a/src/shared/util.c b/src/shared/util.c +index 81b20d86f..93110047b 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -25,7 +25,7 @@ + + #include "src/shared/util.h" + +-void *btd_malloc(size_t size) ++void *util_malloc(size_t size) + { + if (__builtin_expect(!!size, 1)) { + void *ptr; +diff --git a/src/shared/util.h b/src/shared/util.h +index ac70117ca..11d09979d 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -75,7 +75,7 @@ do { \ + size_t __n = (size_t) (count); \ + size_t __s = sizeof(type); \ + void *__p; \ +- __p = btd_malloc(__n * __s); \ ++ __p = util_malloc(__n * __s); \ + memset(__p, 0, __n * __s); \ + __p; \ + })) +@@ -86,7 +86,7 @@ do { \ + char *strdelimit(char *str, char *del, char c); + int strsuffix(const char *str, const char *suffix); + +-void *btd_malloc(size_t size); ++void *util_malloc(size_t size); + + typedef void (*util_debug_func_t)(const char *str, void *user_data); + +-- +2.17.1 + diff --git a/package/bluez5_utils/0003-shared-util-Add-util_memdup.patch b/package/bluez5_utils/0003-shared-util-Add-util_memdup.patch new file mode 100644 index 00000000000..d5c31a2614c --- /dev/null +++ b/package/bluez5_utils/0003-shared-util-Add-util_memdup.patch @@ -0,0 +1,57 @@ +From 28f1c140374d1ecda65e3d59cca72352c3a07774 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Thu, 6 Jan 2022 11:45:12 -0800 +Subject: [PATCH] shared/util: Add util_memdup + +This adds util_memdup which is intended to replace g_memdup since +replacing that with g_memdup2 requires bumping the glib version. + +(cherry picked from commit 9f09e69ecb077082301dafb745856e1f3731aaa7) +Signed-off-by: Thomas Devoogdt +--- + src/shared/util.c | 16 ++++++++++++++++ + src/shared/util.h | 1 + + 2 files changed, 17 insertions(+) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 93110047b..6e1c83057 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -41,6 +41,22 @@ void *util_malloc(size_t size) + return NULL; + } + ++void *util_memdup(const void *src, size_t size) ++{ ++ void *cpy; ++ ++ if (!src || !size) ++ return NULL; ++ ++ cpy = util_malloc(size); ++ if (!cpy) ++ return NULL; ++ ++ memcpy(cpy, src, size); ++ ++ return cpy; ++} ++ + void util_debug_va(util_debug_func_t function, void *user_data, + const char *format, va_list va) + { +diff --git a/src/shared/util.h b/src/shared/util.h +index 11d09979d..8ef6132c4 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -87,6 +87,7 @@ char *strdelimit(char *str, char *del, char c); + int strsuffix(const char *str, const char *suffix); + + void *util_malloc(size_t size); ++void *util_memdup(const void *src, size_t size); + + typedef void (*util_debug_func_t)(const char *str, void *user_data); + +-- +2.17.1 + diff --git a/package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch b/package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch new file mode 100644 index 00000000000..9e1047c9578 --- /dev/null +++ b/package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch @@ -0,0 +1,1411 @@ +From 7eb74180cf6fd6cebc61bb719d458cbf5d7f4ca7 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Thu, 6 Jan 2022 12:50:33 -0800 +Subject: [PATCH] build: Replace use of g_memdup with util_memdup +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This replaces the uses of g_memdup with util_memdup since the former has +been deprecated: + + warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead + [-Wdeprecated-declarations] + +g_memdup2 requires bumping glib version which would likely have its +own problems thus why util_memdup was introduced. + +(cherry picked from commit cfab569484b18407fc117bb96634525cc76ea1f5) +Signed-off-by: Thomas Devoogdt +--- + Makefile.am | 10 ++--- + Makefile.obexd | 1 + + Makefile.tools | 11 ++++-- + android/a2dp.c | 9 +++-- + android/avctp.c | 5 ++- + android/avrcp-lib.c | 2 +- + android/gatt.c | 5 ++- + android/hidhost.c | 3 +- + android/tester-main.c | 77 +++++++++++++++++++++----------------- + attrib/gatt.c | 12 +++--- + client/gatt.c | 2 +- + gobex/gobex-header.c | 7 ++-- + gobex/gobex-packet.c | 5 ++- + obexd/src/obex.c | 5 ++- + plugins/neard.c | 9 +++-- + plugins/policy.c | 7 ++-- + profiles/audio/avctp.c | 9 +++-- + profiles/audio/avrcp.c | 10 ++--- + profiles/battery/bas.c | 4 +- + profiles/battery/battery.c | 4 +- + profiles/deviceinfo/dis.c | 4 +- + profiles/input/hog-lib.c | 12 +++--- + profiles/scanparam/scpp.c | 4 +- + src/eir.c | 8 ++-- + tools/gatt-service.c | 15 ++++---- + tools/mesh-gatt/gatt.c | 5 ++- + unit/test-avctp.c | 4 +- + unit/test-avdtp.c | 6 +-- + unit/test-avrcp.c | 10 ++--- + unit/test-gatt.c | 4 +- + unit/test-hfp.c | 11 +++--- + unit/test-hog.c | 26 ++++++------- + unit/test-sdp.c | 10 +++-- + unit/test-uhid.c | 2 +- + 34 files changed, 172 insertions(+), 146 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 308f13c50..9b5e140b8 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -508,23 +508,23 @@ unit_tests += unit/test-gobex-header unit/test-gobex-packet unit/test-gobex \ + + unit_test_gobex_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ + unit/test-gobex.c +-unit_test_gobex_LDADD = $(GLIB_LIBS) ++unit_test_gobex_LDADD = src/libshared-glib.la $(GLIB_LIBS) + + unit_test_gobex_packet_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ + unit/test-gobex-packet.c +-unit_test_gobex_packet_LDADD = $(GLIB_LIBS) ++unit_test_gobex_packet_LDADD = src/libshared-glib.la $(GLIB_LIBS) + + unit_test_gobex_header_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ + unit/test-gobex-header.c +-unit_test_gobex_header_LDADD = $(GLIB_LIBS) ++unit_test_gobex_header_LDADD = src/libshared-glib.la $(GLIB_LIBS) + + unit_test_gobex_transfer_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ + unit/test-gobex-transfer.c +-unit_test_gobex_transfer_LDADD = $(GLIB_LIBS) ++unit_test_gobex_transfer_LDADD = src/libshared-glib.la $(GLIB_LIBS) + + unit_test_gobex_apparam_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ + unit/test-gobex-apparam.c +-unit_test_gobex_apparam_LDADD = $(GLIB_LIBS) ++unit_test_gobex_apparam_LDADD = src/libshared-glib.la $(GLIB_LIBS) + endif + + unit_tests += unit/test-lib +diff --git a/Makefile.obexd b/Makefile.obexd +index 37a133455..5d1a4ff65 100644 +--- a/Makefile.obexd ++++ b/Makefile.obexd +@@ -82,6 +82,7 @@ obexd_src_obexd_SOURCES = $(btio_sources) $(gobex_sources) \ + obexd/src/map_ap.h + obexd_src_obexd_LDADD = lib/libbluetooth-internal.la \ + gdbus/libgdbus-internal.la \ ++ src/libshared-glib.la \ + $(ICAL_LIBS) $(DBUS_LIBS) $(LIBEBOOK_LIBS) \ + $(LIBEDATASERVER_LIBS) $(GLIB_LIBS) -ldl + +diff --git a/Makefile.tools b/Makefile.tools +index c7bdff83f..35b0021ea 100644 +--- a/Makefile.tools ++++ b/Makefile.tools +@@ -302,7 +302,8 @@ tools_mpris_proxy_SOURCES = tools/mpris-proxy.c + tools_mpris_proxy_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS) + + tools_gatt_service_SOURCES = tools/gatt-service.c +-tools_gatt_service_LDADD = $(GLIB_LIBS) $(DBUS_LIBS) gdbus/libgdbus-internal.la ++tools_gatt_service_LDADD = gdbus/libgdbus-internal.la \ ++ src/libshared-mainloop.la $(GLIB_LIBS) $(DBUS_LIBS) + + profiles_iap_iapd_SOURCES = profiles/iap/main.c + profiles_iap_iapd_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS) +@@ -448,11 +449,12 @@ noinst_PROGRAMS += tools/btmgmt tools/obex-client-tool tools/obex-server-tool \ + tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \ + tools/obex-client-tool.c + tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \ +- $(GLIB_LIBS) -lreadline ++ src/libshared-glib.la $(GLIB_LIBS) -lreadline + + tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ + tools/obex-server-tool.c +-tools_obex_server_tool_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS) ++tools_obex_server_tool_LDADD = lib/libbluetooth-internal.la \ ++ src/libshared-glib.la $(GLIB_LIBS) + + tools_bluetooth_player_SOURCES = tools/bluetooth-player.c + tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \ +@@ -461,7 +463,8 @@ tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \ + + tools_obexctl_SOURCES = tools/obexctl.c + tools_obexctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ +- $(GLIB_LIBS) $(DBUS_LIBS) -lreadline ++ src/libshared-glib.la $(GLIB_LIBS) $(DBUS_LIBS) \ ++ -lreadline + + tools_btmgmt_SOURCES = tools/btmgmt.c src/uuid-helper.c client/display.c + tools_btmgmt_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la \ +diff --git a/android/a2dp.c b/android/a2dp.c +index 029107cf5..ee607a32d 100644 +--- a/android/a2dp.c ++++ b/android/a2dp.c +@@ -26,6 +26,7 @@ + #include "lib/sdp_lib.h" + #include "profiles/audio/a2dp-codecs.h" + #include "src/shared/queue.h" ++#include "src/shared/util.h" + #include "src/log.h" + #include "hal-msg.h" + #include "ipc-common.h" +@@ -428,7 +429,7 @@ static struct a2dp_preset *sbc_select_range(void *caps, uint8_t caps_len, + + p = g_new0(struct a2dp_preset, 1); + p->len = conf_len; +- p->data = g_memdup(conf, p->len); ++ p->data = util_memdup(conf, p->len); + + return p; + } +@@ -448,7 +449,7 @@ static struct a2dp_preset *aac_select_range(void *caps, uint8_t caps_len, + + p = g_new0(struct a2dp_preset, 1); + p->len = conf_len; +- p->data = g_memdup(conf, p->len); ++ p->data = util_memdup(conf, p->len); + + return p; + } +@@ -1036,7 +1037,7 @@ static gboolean sep_setconf_ind(struct avdtp *session, + + preset = g_new0(struct a2dp_preset, 1); + preset->len = cap->length - sizeof(*codec); +- preset->data = g_memdup(codec->data, preset->len); ++ preset->data = util_memdup(codec->data, preset->len); + + if (check_config(endpoint, preset) < 0) { + preset_free(preset); +@@ -1365,7 +1366,7 @@ static GSList *parse_presets(const struct audio_preset *p, uint8_t count, + + preset = g_new0(struct a2dp_preset, 1); + preset->len = p->len; +- preset->data = g_memdup(p->data, preset->len); ++ preset->data = util_memdup(p->data, preset->len); + l = g_slist_append(l, preset); + + len -= preset->len; +diff --git a/android/avctp.c b/android/avctp.c +index 14ebbc391..37b4cec4f 100644 +--- a/android/avctp.c ++++ b/android/avctp.c +@@ -31,6 +31,7 @@ + #include + + #include "lib/sdp.h" ++#include "src/shared/util.h" + #include "src/log.h" + #include "avctp.h" + +@@ -1177,7 +1178,7 @@ static int avctp_send_req(struct avctp *session, uint8_t code, uint8_t subunit, + + for (i = 0; i < iov_cnt; i++) { + pdu[i].iov_len = iov[i].iov_len; +- pdu[i].iov_base = g_memdup(iov[i].iov_base, iov[i].iov_len); ++ pdu[i].iov_base = util_memdup(iov[i].iov_base, iov[i].iov_len); + } + + req = g_new0(struct avctp_control_req, 1); +@@ -1218,7 +1219,7 @@ int avctp_send_browsing_req(struct avctp *session, + + for (i = 0; i < iov_cnt; i++) { + pdu[i].iov_len = iov[i].iov_len; +- pdu[i].iov_base = g_memdup(iov[i].iov_base, iov[i].iov_len); ++ pdu[i].iov_base = util_memdup(iov[i].iov_base, iov[i].iov_len); + } + + req = g_new0(struct avctp_browsing_req, 1); +diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c +index 2007d09d2..b342692cb 100644 +--- a/android/avrcp-lib.c ++++ b/android/avrcp-lib.c +@@ -2620,7 +2620,7 @@ static char *parse_folder_list(uint8_t *params, uint16_t params_len, + return NULL; + } + +- folders[count] = g_memdup(¶ms[i], len); ++ folders[count] = util_memdup(¶ms[i], len); + i += len; + } + +diff --git a/android/gatt.c b/android/gatt.c +index a8a0c488b..e8ba5aabb 100644 +--- a/android/gatt.c ++++ b/android/gatt.c +@@ -1338,7 +1338,8 @@ static void discover_primary_cb(uint8_t status, GSList *services, + } + + bt_uuid_to_uuid128(&uuid, &u128); +- new_uuid = g_memdup(&u128.value.u128, sizeof(u128.value.u128)); ++ new_uuid = util_memdup(&u128.value.u128, ++ sizeof(u128.value.u128)); + + uuids = g_slist_prepend(uuids, new_uuid); + } +@@ -6633,7 +6634,7 @@ static uint8_t write_prep_request(const uint8_t *cmd, uint16_t cmd_len, + + queue_push_tail(dev->pending_requests, data); + +- data->value = g_memdup(value, vlen); ++ data->value = util_memdup(value, vlen); + data->length = vlen; + + if (!gatt_db_attribute_write(attrib, offset, value, vlen, cmd[0], +diff --git a/android/hidhost.c b/android/hidhost.c +index 016382e17..b4e5c527f 100644 +--- a/android/hidhost.c ++++ b/android/hidhost.c +@@ -689,7 +689,8 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data) + goto fail; + + dev->rd_size = data->unitSize; +- dev->rd_data = g_memdup(data->val.str, data->unitSize); ++ dev->rd_data = util_memdup(data->val.str, ++ data->unitSize); + } + } + +diff --git a/android/tester-main.c b/android/tester-main.c +index ff5ecdf83..317c1de06 100644 +--- a/android/tester-main.c ++++ b/android/tester-main.c +@@ -1253,7 +1253,8 @@ static bt_property_t *copy_properties(int num_properties, + for (i = 0; i < num_properties; i++) { + props[i].type = properties[i].type; + props[i].len = properties[i].len; +- props[i].val = g_memdup(properties[i].val, properties[i].len); ++ props[i].val = util_memdup(properties[i].val, ++ properties[i].len); + } + + return props; +@@ -1268,7 +1269,8 @@ static bt_property_t *repack_properties(int num_properties, + for (i = 0; i < num_properties; i++) { + props[i].type = properties[i]->type; + props[i].len = properties[i]->len; +- props[i].val = g_memdup(properties[i]->val, properties[i]->len); ++ props[i].val = util_memdup(properties[i]->val, ++ properties[i]->len); + } + + return props; +@@ -1281,7 +1283,7 @@ static bt_property_t *create_property(bt_property_type_t type, void *val, + + prop->type = type; + prop->len = len; +- prop->val = g_memdup(val, len); ++ prop->val = util_memdup(val, len); + + return prop; + } +@@ -1615,7 +1617,7 @@ static void gattc_search_result_cb(int conn_id, btgatt_srvc_id_t *srvc_id) + + step->callback = CB_GATTC_SEARCH_RESULT; + step->callback_result.conn_id = conn_id; +- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id)); ++ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id)); + + schedule_callback_verification(step); + } +@@ -1639,8 +1641,8 @@ static void gattc_get_characteristic_cb(int conn_id, int status, + step->callback = CB_GATTC_GET_CHARACTERISTIC; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id)); +- step->callback_result.characteristic = g_memdup(char_id, ++ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id)); ++ step->callback_result.characteristic = util_memdup(char_id, + sizeof(*char_id)); + step->callback_result.char_prop = char_prop; + +@@ -1656,10 +1658,10 @@ static void gattc_get_descriptor_cb(int conn_id, int status, + step->callback = CB_GATTC_GET_DESCRIPTOR; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id)); +- step->callback_result.characteristic = g_memdup(char_id, ++ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id)); ++ step->callback_result.characteristic = util_memdup(char_id, + sizeof(*char_id)); +- step->callback_result.descriptor = g_memdup(descr_id, ++ step->callback_result.descriptor = util_memdup(descr_id, + sizeof(*descr_id)); + + schedule_callback_verification(step); +@@ -1673,8 +1675,8 @@ static void gattc_get_included_service_cb(int conn_id, int status, + step->callback = CB_GATTC_GET_INCLUDED_SERVICE; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id)); +- step->callback_result.included = g_memdup(incl_srvc_id, ++ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id)); ++ step->callback_result.included = util_memdup(incl_srvc_id, + sizeof(*srvc_id)); + + schedule_callback_verification(step); +@@ -1688,7 +1690,8 @@ static void gattc_read_characteristic_cb(int conn_id, int status, + step->callback = CB_GATTC_READ_CHARACTERISTIC; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.read_params = g_memdup(p_data, sizeof(*p_data)); ++ step->callback_result.read_params = util_memdup(p_data, ++ sizeof(*p_data)); + + schedule_callback_verification(step); + } +@@ -1701,7 +1704,8 @@ static void gattc_read_descriptor_cb(int conn_id, int status, + step->callback = CB_GATTC_READ_DESCRIPTOR; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.read_params = g_memdup(p_data, sizeof(*p_data)); ++ step->callback_result.read_params = util_memdup(p_data, ++ sizeof(*p_data)); + + schedule_callback_verification(step); + } +@@ -1714,7 +1718,8 @@ static void gattc_write_characteristic_cb(int conn_id, int status, + step->callback = CB_GATTC_WRITE_CHARACTERISTIC; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.write_params = g_memdup(p_data, sizeof(*p_data)); ++ step->callback_result.write_params = util_memdup(p_data, ++ sizeof(*p_data)); + + schedule_callback_verification(step); + } +@@ -1727,7 +1732,8 @@ static void gattc_write_descriptor_cb(int conn_id, int status, + step->callback = CB_GATTC_WRITE_DESCRIPTOR; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.write_params = g_memdup(p_data, sizeof(*p_data)); ++ step->callback_result.write_params = util_memdup(p_data, ++ sizeof(*p_data)); + + schedule_callback_verification(step); + } +@@ -1742,8 +1748,8 @@ static void gattc_register_for_notification_cb(int conn_id, int registered, + step->callback = CB_GATTC_REGISTER_FOR_NOTIFICATION; + step->callback_result.status = status; + step->callback_result.conn_id = conn_id; +- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id)); +- step->callback_result.characteristic = g_memdup(char_id, ++ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id)); ++ step->callback_result.characteristic = util_memdup(char_id, + sizeof(*char_id)); + step->callback_result.notification_registered = registered; + +@@ -1756,7 +1762,8 @@ static void gattc_notif_cb(int conn_id, btgatt_notify_params_t *p_data) + + step->callback = CB_GATTC_NOTIFY; + step->callback_result.conn_id = conn_id; +- step->callback_result.notify_params = g_memdup(p_data, sizeof(*p_data)); ++ step->callback_result.notify_params = util_memdup(p_data, ++ sizeof(*p_data)); + + schedule_callback_verification(step); + } +@@ -1827,8 +1834,8 @@ static void gatts_service_added_cb(int status, int server_if, + + step->callback_result.status = status; + step->callback_result.gatt_app_id = server_if; +- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id)); +- step->callback_result.srvc_handle = g_memdup(&srvc_handle, ++ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id)); ++ step->callback_result.srvc_handle = util_memdup(&srvc_handle, + sizeof(srvc_handle)); + + schedule_callback_verification(step); +@@ -1844,9 +1851,9 @@ static void gatts_included_service_added_cb(int status, int server_if, + + step->callback_result.status = status; + step->callback_result.gatt_app_id = server_if; +- step->callback_result.srvc_handle = g_memdup(&srvc_handle, ++ step->callback_result.srvc_handle = util_memdup(&srvc_handle, + sizeof(srvc_handle)); +- step->callback_result.inc_srvc_handle = g_memdup(&inc_srvc_handle, ++ step->callback_result.inc_srvc_handle = util_memdup(&inc_srvc_handle, + sizeof(inc_srvc_handle)); + + schedule_callback_verification(step); +@@ -1863,10 +1870,10 @@ static void gatts_characteristic_added_cb(int status, int server_if, + + step->callback_result.status = status; + step->callback_result.gatt_app_id = server_if; +- step->callback_result.srvc_handle = g_memdup(&srvc_handle, ++ step->callback_result.srvc_handle = util_memdup(&srvc_handle, + sizeof(srvc_handle)); +- step->callback_result.uuid = g_memdup(uuid, sizeof(*uuid)); +- step->callback_result.char_handle = g_memdup(&char_handle, ++ step->callback_result.uuid = util_memdup(uuid, sizeof(*uuid)); ++ step->callback_result.char_handle = util_memdup(&char_handle, + sizeof(char_handle)); + + schedule_callback_verification(step); +@@ -1883,10 +1890,10 @@ static void gatts_descriptor_added_cb(int status, int server_if, + + step->callback_result.status = status; + step->callback_result.gatt_app_id = server_if; +- step->callback_result.srvc_handle = g_memdup(&srvc_handle, ++ step->callback_result.srvc_handle = util_memdup(&srvc_handle, + sizeof(srvc_handle)); +- step->callback_result.uuid = g_memdup(uuid, sizeof(*uuid)); +- step->callback_result.desc_handle = g_memdup(&desc_handle, ++ step->callback_result.uuid = util_memdup(uuid, sizeof(*uuid)); ++ step->callback_result.desc_handle = util_memdup(&desc_handle, + sizeof(desc_handle)); + + schedule_callback_verification(step); +@@ -1900,7 +1907,7 @@ static void gatts_service_started_cb(int status, int server_if, int srvc_handle) + + step->callback_result.status = status; + step->callback_result.gatt_app_id = server_if; +- step->callback_result.srvc_handle = g_memdup(&srvc_handle, ++ step->callback_result.srvc_handle = util_memdup(&srvc_handle, + sizeof(srvc_handle)); + + schedule_callback_verification(step); +@@ -1914,7 +1921,7 @@ static void gatts_service_stopped_cb(int status, int server_if, int srvc_handle) + + step->callback_result.status = status; + step->callback_result.gatt_app_id = server_if; +- step->callback_result.srvc_handle = g_memdup(&srvc_handle, ++ step->callback_result.srvc_handle = util_memdup(&srvc_handle, + sizeof(srvc_handle)); + + schedule_callback_verification(step); +@@ -1928,7 +1935,7 @@ static void gatts_service_deleted_cb(int status, int server_if, int srvc_handle) + + step->callback_result.status = status; + step->callback_result.gatt_app_id = server_if; +- step->callback_result.srvc_handle = g_memdup(&srvc_handle, ++ step->callback_result.srvc_handle = util_memdup(&srvc_handle, + sizeof(srvc_handle)); + + schedule_callback_verification(step); +@@ -1945,7 +1952,7 @@ static void gatts_request_read_cb(int conn_id, int trans_id, bt_bdaddr_t *bda, + + step->callback_result.conn_id = conn_id; + step->callback_result.trans_id = trans_id; +- step->callback_result.attr_handle = g_memdup(&attr_handle, ++ step->callback_result.attr_handle = util_memdup(&attr_handle, + sizeof(attr_handle)); + step->callback_result.offset = offset; + step->callback_result.is_long = is_long; +@@ -1974,13 +1981,13 @@ static void gatts_request_write_cb(int conn_id, int trans_id, bt_bdaddr_t *bda, + + step->callback_result.conn_id = conn_id; + step->callback_result.trans_id = trans_id; +- step->callback_result.attr_handle = g_memdup(&attr_handle, ++ step->callback_result.attr_handle = util_memdup(&attr_handle, + sizeof(attr_handle)); + step->callback_result.offset = offset; + step->callback_result.length = length; + step->callback_result.need_rsp = need_rsp; + step->callback_result.is_prep = is_prep; +- step->callback_result.value = g_memdup(&value, length); ++ step->callback_result.value = util_memdup(&value, length); + + /* Utilize property verification mechanism for bdaddr */ + props[0] = create_property(BT_PROPERTY_BDADDR, bda, sizeof(*bda)); +@@ -2169,7 +2176,7 @@ static btmce_mas_instance_t *copy_mas_instances(int num_instances, + inst[i].id = instances[i].id; + inst[i].scn = instances[i].scn; + inst[i].msg_types = instances[i].msg_types; +- inst[i].p_name = g_memdup(instances[i].p_name, ++ inst[i].p_name = util_memdup(instances[i].p_name, + strlen(instances[i].p_name)); + } + +diff --git a/attrib/gatt.c b/attrib/gatt.c +index 46b2ca381..b496dd1eb 100644 +--- a/attrib/gatt.c ++++ b/attrib/gatt.c +@@ -135,7 +135,7 @@ static void discover_char_unref(void *data) + + g_slist_free_full(dc->characteristics, g_free); + g_attrib_unref(dc->attrib); +- g_free(dc->uuid); ++ free(dc->uuid); + g_free(dc); + } + +@@ -157,7 +157,7 @@ static void discover_desc_unref(void *data) + + g_slist_free_full(dd->descriptors, g_free); + g_attrib_unref(dd->attrib); +- g_free(dd->uuid); ++ free(dd->uuid); + g_free(dd); + } + +@@ -696,7 +696,7 @@ guint gatt_discover_char(GAttrib *attrib, uint16_t start, uint16_t end, + dc->user_data = user_data; + dc->end = end; + dc->start = start; +- dc->uuid = g_memdup(uuid, sizeof(bt_uuid_t)); ++ dc->uuid = util_memdup(uuid, sizeof(bt_uuid_t)); + + dc->id = g_attrib_send(attrib, 0, buf, plen, char_discovered_cb, + discover_char_ref(dc), discover_char_unref); +@@ -905,7 +905,7 @@ static void prepare_write_cb(guint8 status, const guint8 *rpdu, guint16 rlen, + if (long_write->offset == long_write->vlen) { + execute_write(long_write->attrib, ATT_WRITE_ALL_PREP_WRITES, + long_write->func, long_write->user_data); +- g_free(long_write->value); ++ free(long_write->value); + g_free(long_write); + + return; +@@ -964,7 +964,7 @@ guint gatt_write_char(GAttrib *attrib, uint16_t handle, const uint8_t *value, + long_write->func = func; + long_write->user_data = user_data; + long_write->handle = handle; +- long_write->value = g_memdup(value, vlen); ++ long_write->value = util_memdup(value, vlen); + long_write->vlen = vlen; + + return prepare_write(long_write); +@@ -1130,7 +1130,7 @@ guint gatt_discover_desc(GAttrib *attrib, uint16_t start, uint16_t end, + dd->user_data = user_data; + dd->start = start; + dd->end = end; +- dd->uuid = g_memdup(uuid, sizeof(bt_uuid_t)); ++ dd->uuid = util_memdup(uuid, sizeof(bt_uuid_t)); + + dd->id = g_attrib_send(attrib, 0, buf, plen, desc_discovered_cb, + discover_desc_ref(dd), discover_desc_unref); +diff --git a/client/gatt.c b/client/gatt.c +index 11f70dc4f..13872c794 100644 +--- a/client/gatt.c ++++ b/client/gatt.c +@@ -811,7 +811,7 @@ static uint8_t *str2bytearray(char *arg, size_t *val_len) + + *val_len = i; + +- return g_memdup(value, i); ++ return util_memdup(value, i); + } + + void gatt_write_attribute(GDBusProxy *proxy, int argc, char *argv[]) +diff --git a/gobex/gobex-header.c b/gobex/gobex-header.c +index 011d33d1a..002ba8861 100644 +--- a/gobex/gobex-header.c ++++ b/gobex/gobex-header.c +@@ -15,6 +15,7 @@ + + #include "gobex-header.h" + #include "gobex-debug.h" ++#include "src/shared/util.h" + + /* Header types */ + #define G_OBEX_HDR_ENC_UNICODE (0 << 6) +@@ -222,7 +223,7 @@ GObexHeader *g_obex_header_decode(const void *data, gsize len, + + switch (data_policy) { + case G_OBEX_DATA_COPY: +- header->v.data = g_memdup(ptr, header->vlen); ++ header->v.data = util_memdup(ptr, header->vlen); + break; + case G_OBEX_DATA_REF: + header->extdata = TRUE; +@@ -282,7 +283,7 @@ void g_obex_header_free(GObexHeader *header) + break; + case G_OBEX_HDR_ENC_BYTES: + if (!header->extdata) +- g_free(header->v.data); ++ free(header->v.data); + break; + case G_OBEX_HDR_ENC_UINT8: + case G_OBEX_HDR_ENC_UINT32: +@@ -410,7 +411,7 @@ GObexHeader *g_obex_header_new_bytes(guint8 id, const void *data, gsize len) + header->id = id; + header->vlen = len; + header->hlen = len + 3; +- header->v.data = g_memdup(data, len); ++ header->v.data = util_memdup(data, len); + + return header; + } +diff --git a/gobex/gobex-packet.c b/gobex/gobex-packet.c +index 11937a5a5..8ae78b0f6 100644 +--- a/gobex/gobex-packet.c ++++ b/gobex/gobex-packet.c +@@ -17,6 +17,7 @@ + #include "gobex-defs.h" + #include "gobex-packet.h" + #include "gobex-debug.h" ++#include "src/shared/util.h" + + #define FINAL_BIT 0x80 + +@@ -201,7 +202,7 @@ gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, gsize len, + + switch (data_policy) { + case G_OBEX_DATA_COPY: +- pkt->data.buf = g_memdup(data, len); ++ pkt->data.buf = util_memdup(data, len); + break; + case G_OBEX_DATA_REF: + pkt->data.buf_ref = data; +@@ -259,7 +260,7 @@ void g_obex_packet_free(GObexPacket *pkt) + switch (pkt->data_policy) { + case G_OBEX_DATA_INHERIT: + case G_OBEX_DATA_COPY: +- g_free(pkt->data.buf); ++ free(pkt->data.buf); + break; + case G_OBEX_DATA_REF: + break; +diff --git a/obexd/src/obex.c b/obexd/src/obex.c +index 9f992ec18..3a68fd66c 100644 +--- a/obexd/src/obex.c ++++ b/obexd/src/obex.c +@@ -40,6 +40,7 @@ + #include "mimetype.h" + #include "service.h" + #include "transport.h" ++#include "src/shared/util.h" + + typedef struct { + uint8_t version; +@@ -145,7 +146,7 @@ static void os_reset_session(struct obex_session *os) + os->path = NULL; + } + if (os->apparam) { +- g_free(os->apparam); ++ free(os->apparam); + os->apparam = NULL; + os->apparam_len = 0; + } +@@ -594,7 +595,7 @@ static void parse_apparam(struct obex_session *os, GObexPacket *req) + if (!g_obex_header_get_bytes(hdr, &apparam, &len)) + return; + +- os->apparam = g_memdup(apparam, len); ++ os->apparam = util_memdup(apparam, len); + os->apparam_len = len; + DBG("APPARAM"); + } +diff --git a/plugins/neard.c b/plugins/neard.c +index e07b51106..a75527148 100644 +--- a/plugins/neard.c ++++ b/plugins/neard.c +@@ -30,6 +30,7 @@ + #include "src/eir.h" + #include "src/agent.h" + #include "src/btd.h" ++#include "src/shared/util.h" + + #define NEARD_NAME "org.neard" + #define NEARD_PATH "/" +@@ -71,7 +72,7 @@ static void free_oob_params(struct oob_params *params) + g_free(params->name); + g_free(params->hash); + g_free(params->randomizer); +- g_free(params->pin); ++ free(params->pin); + } + + static DBusMessage *error_reply(DBusMessage *msg, int error) +@@ -407,10 +408,10 @@ static int process_nokia_long (void *data, size_t size, uint8_t marker, + remote->name = g_strndup((char *)n->name, n->name_len); + + if (marker == 0x01) { +- remote->pin = g_memdup(n->authentication, 4); ++ remote->pin = util_memdup(n->authentication, 4); + remote->pin_len = 4; + } else if (marker == 0x02) { +- remote->pin = g_memdup(n->authentication, 16); ++ remote->pin = util_memdup(n->authentication, 16); + remote->pin_len = 16; + } + +@@ -439,7 +440,7 @@ static int process_nokia_short (void *data, size_t size, + if (n->name_len > 0) + remote->name = g_strndup((char *)n->name, n->name_len); + +- remote->pin = g_memdup(n->authentication, 4); ++ remote->pin = util_memdup(n->authentication, 4); + remote->pin_len = 4; + + return 0; +diff --git a/plugins/policy.c b/plugins/policy.c +index 051db82e1..48f5db7d3 100644 +--- a/plugins/policy.c ++++ b/plugins/policy.c +@@ -32,6 +32,7 @@ + #include "src/profile.h" + #include "src/btd.h" + #include "src/shared/timeout.h" ++#include "src/shared/util.h" + + #define CONTROL_CONNECT_TIMEOUT 2 + #define SOURCE_RETRY_TIMEOUT 2 +@@ -855,7 +856,7 @@ static int policy_init(void) + reconnect_attempts = default_attempts; + reconnect_intervals_len = sizeof(default_intervals) / + sizeof(*reconnect_intervals); +- reconnect_intervals = g_memdup(default_intervals, ++ reconnect_intervals = util_memdup(default_intervals, + sizeof(default_intervals)); + goto done; + } +@@ -886,7 +887,7 @@ static int policy_init(void) + g_clear_error(&gerr); + reconnect_intervals_len = sizeof(default_intervals) / + sizeof(*reconnect_intervals); +- reconnect_intervals = g_memdup(default_intervals, ++ reconnect_intervals = util_memdup(default_intervals, + sizeof(default_intervals)); + } + +@@ -919,7 +920,7 @@ static void policy_exit(void) + if (reconnect_uuids) + g_strfreev(reconnect_uuids); + +- g_free(reconnect_intervals); ++ free(reconnect_intervals); + + g_slist_free_full(reconnects, reconnect_destroy); + +diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c +index 64d1a8504..6f64f162b 100644 +--- a/profiles/audio/avctp.c ++++ b/profiles/audio/avctp.c +@@ -40,6 +40,7 @@ + #include "src/log.h" + #include "src/error.h" + #include "src/shared/timeout.h" ++#include "src/shared/util.h" + + #include "avctp.h" + #include "avrcp.h" +@@ -760,7 +761,7 @@ static void control_req_destroy(void *data) + NULL, 0, req->user_data); + + done: +- g_free(req->operands); ++ free(req->operands); + g_free(req); + } + +@@ -776,7 +777,7 @@ static void browsing_req_destroy(void *data) + req->func(session, NULL, 0, req->user_data); + + done: +- g_free(req->operands); ++ free(req->operands); + g_free(req); + } + +@@ -1727,7 +1728,7 @@ static int avctp_send_req(struct avctp *session, uint8_t code, + req->subunit = subunit; + req->op = opcode; + req->func = func; +- req->operands = g_memdup(operands, operand_count); ++ req->operands = util_memdup(operands, operand_count); + req->operand_count = operand_count; + req->user_data = user_data; + +@@ -1765,7 +1766,7 @@ int avctp_send_browsing_req(struct avctp *session, + + req = g_new0(struct avctp_browsing_req, 1); + req->func = func; +- req->operands = g_memdup(operands, operand_count); ++ req->operands = util_memdup(operands, operand_count); + req->operand_count = operand_count; + req->user_data = user_data; + +diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c +index 7c280203c..d4e19ffc0 100644 +--- a/profiles/audio/avrcp.c ++++ b/profiles/audio/avrcp.c +@@ -1298,7 +1298,7 @@ static uint8_t avrcp_handle_get_current_player_value(struct avrcp *session, + * Save a copy of requested settings because we can override them + * while responding + */ +- settings = g_memdup(&pdu->params[1], pdu->params[0]); ++ settings = util_memdup(&pdu->params[1], pdu->params[0]); + len = 0; + + /* +@@ -1323,7 +1323,7 @@ static uint8_t avrcp_handle_get_current_player_value(struct avrcp *session, + pdu->params[++len] = val; + } + +- g_free(settings); ++ free(settings); + + if (len) { + pdu->params[0] = len / 2; +@@ -2801,7 +2801,7 @@ static gboolean avrcp_set_browsed_player_rsp(struct avctp *conn, + break; + } + +- folders[count] = g_memdup(&pdu->params[i], len); ++ folders[count] = util_memdup(&pdu->params[i], len); + i += len; + } + +@@ -2888,7 +2888,7 @@ static void avrcp_player_parse_features(struct avrcp_player *player, + { + struct media_player *mp = player->user_data; + +- player->features = g_memdup(features, 16); ++ player->features = util_memdup(features, 16); + + if (features[7] & 0x08) { + media_player_set_browsable(mp, true); +@@ -3622,7 +3622,7 @@ static void player_destroy(gpointer data) + g_slist_free(player->sessions); + g_free(player->path); + g_free(player->change_path); +- g_free(player->features); ++ free(player->features); + g_free(player); + } + +diff --git a/profiles/battery/bas.c b/profiles/battery/bas.c +index 3c6173b61..16ff22e19 100644 +--- a/profiles/battery/bas.c ++++ b/profiles/battery/bas.c +@@ -62,7 +62,7 @@ static void bas_free(struct bt_bas *bas) + { + bt_bas_detach(bas); + +- g_free(bas->primary); ++ free(bas->primary); + queue_destroy(bas->gatt_op, (void *) destroy_gatt_req); + free(bas); + } +@@ -75,7 +75,7 @@ struct bt_bas *bt_bas_new(void *primary) + bas->gatt_op = queue_new(); + + if (primary) +- bas->primary = g_memdup(primary, sizeof(*bas->primary)); ++ bas->primary = util_memdup(primary, sizeof(*bas->primary)); + + return bt_bas_ref(bas); + } +diff --git a/profiles/battery/battery.c b/profiles/battery/battery.c +index 176d127f6..02d024d92 100644 +--- a/profiles/battery/battery.c ++++ b/profiles/battery/battery.c +@@ -66,7 +66,7 @@ static void batt_free(struct batt *batt) + gatt_db_unref(batt->db); + bt_gatt_client_unref(batt->client); + btd_device_unref(batt->device); +- g_free (batt->initial_value); ++ free(batt->initial_value); + if (batt->battery) + btd_battery_unregister(batt->battery); + g_free(batt); +@@ -159,7 +159,7 @@ static void read_initial_battery_level_cb(bool success, + if (!length) + return; + +- batt->initial_value = g_memdup(value, length); ++ batt->initial_value = util_memdup(value, length); + + /* request notify */ + batt->batt_level_cb_id = +diff --git a/profiles/deviceinfo/dis.c b/profiles/deviceinfo/dis.c +index 87fa63306..f660179ed 100644 +--- a/profiles/deviceinfo/dis.c ++++ b/profiles/deviceinfo/dis.c +@@ -72,7 +72,7 @@ static void dis_free(struct bt_dis *dis) + { + bt_dis_detach(dis); + +- g_free(dis->primary); ++ free(dis->primary); + queue_destroy(dis->gatt_op, (void *) destroy_gatt_req); + g_free(dis); + } +@@ -143,7 +143,7 @@ struct bt_dis *bt_dis_new_primary(void *primary) + dis->gatt_op = queue_new(); + + if (primary) +- dis->primary = g_memdup(primary, sizeof(*dis->primary)); ++ dis->primary = util_memdup(primary, sizeof(*dis->primary)); + + return bt_dis_ref(dis); + } +diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c +index 3bbe42370..d37caa1f1 100644 +--- a/profiles/input/hog-lib.c ++++ b/profiles/input/hog-lib.c +@@ -527,9 +527,9 @@ static void report_read_cb(guint8 status, const guint8 *pdu, guint16 len, + } + + if (report->value) +- g_free(report->value); ++ free(report->value); + +- report->value = g_memdup(pdu, len); ++ report->value = util_memdup(pdu, len); + report->len = len; + } + +@@ -1217,7 +1217,7 @@ static void report_free(void *data) + { + struct report *report = data; + +- g_free(report->value); ++ free(report->value); + g_free(report); + } + +@@ -1241,7 +1241,7 @@ static void hog_free(void *data) + bt_uhid_unref(hog->uhid); + g_slist_free_full(hog->reports, report_free); + g_free(hog->name); +- g_free(hog->primary); ++ free(hog->primary); + queue_destroy(hog->gatt_op, (void *) destroy_gatt_req); + if (hog->gatt_db) + gatt_db_unref(hog->gatt_db); +@@ -1609,7 +1609,7 @@ static void hog_attach_hog(struct bt_hog *hog, struct gatt_primary *primary) + struct bt_hog *instance; + + if (!hog->primary) { +- hog->primary = g_memdup(primary, sizeof(*primary)); ++ hog->primary = util_memdup(primary, sizeof(*primary)); + discover_char(hog, hog->attrib, primary->range.start, + primary->range.end, NULL, + char_discovered_cb, hog); +@@ -1623,7 +1623,7 @@ static void hog_attach_hog(struct bt_hog *hog, struct gatt_primary *primary) + if (!instance) + return; + +- instance->primary = g_memdup(primary, sizeof(*primary)); ++ instance->primary = util_memdup(primary, sizeof(*primary)); + find_included(instance, hog->attrib, primary->range.start, + primary->range.end, find_included_cb, instance); + +diff --git a/profiles/scanparam/scpp.c b/profiles/scanparam/scpp.c +index da38a6aaa..4be8b26cc 100644 +--- a/profiles/scanparam/scpp.c ++++ b/profiles/scanparam/scpp.c +@@ -91,7 +91,7 @@ static void scpp_free(struct bt_scpp *scan) + { + bt_scpp_detach(scan); + +- g_free(scan->primary); ++ free(scan->primary); + queue_destroy(scan->gatt_op, NULL); /* cleared in bt_scpp_detach */ + g_free(scan); + } +@@ -110,7 +110,7 @@ struct bt_scpp *bt_scpp_new(void *primary) + scan->gatt_op = queue_new(); + + if (primary) +- scan->primary = g_memdup(primary, sizeof(*scan->primary)); ++ scan->primary = util_memdup(primary, sizeof(*scan->primary)); + + return bt_scpp_ref(scan); + } +diff --git a/src/eir.c b/src/eir.c +index 0f5d14fcd..2f9ee036f 100644 +--- a/src/eir.c ++++ b/src/eir.c +@@ -53,9 +53,9 @@ void eir_data_free(struct eir_data *eir) + eir->services = NULL; + g_free(eir->name); + eir->name = NULL; +- g_free(eir->hash); ++ free(eir->hash); + eir->hash = NULL; +- g_free(eir->randomizer); ++ free(eir->randomizer); + eir->randomizer = NULL; + g_slist_free_full(eir->msd_list, g_free); + eir->msd_list = NULL; +@@ -323,13 +323,13 @@ void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len) + case EIR_SSP_HASH: + if (data_len < 16) + break; +- eir->hash = g_memdup(data, 16); ++ eir->hash = util_memdup(data, 16); + break; + + case EIR_SSP_RANDOMIZER: + if (data_len < 16) + break; +- eir->randomizer = g_memdup(data, 16); ++ eir->randomizer = util_memdup(data, 16); + break; + + case EIR_DEVICE_ID: +diff --git a/tools/gatt-service.c b/tools/gatt-service.c +index 631c4f249..ed6b06f1e 100644 +--- a/tools/gatt-service.c ++++ b/tools/gatt-service.c +@@ -26,6 +26,7 @@ + #include "gdbus/gdbus.h" + + #include "src/error.h" ++#include "src/shared/util.h" + + #define GATT_MGR_IFACE "org.bluez.GattManager1" + #define GATT_SERVICE_IFACE "org.bluez.GattService1" +@@ -126,8 +127,8 @@ static gboolean desc_get_value(const GDBusPropertyTable *property, + + static void desc_write(struct descriptor *desc, const uint8_t *value, int len) + { +- g_free(desc->value); +- desc->value = g_memdup(value, len); ++ free(desc->value); ++ desc->value = util_memdup(value, len); + desc->vlen = len; + + g_dbus_emit_property_changed(connection, desc->path, +@@ -264,8 +265,8 @@ static gboolean chr_get_props(const GDBusPropertyTable *property, + + static void chr_write(struct characteristic *chr, const uint8_t *value, int len) + { +- g_free(chr->value); +- chr->value = g_memdup(value, len); ++ free(chr->value); ++ chr->value = util_memdup(value, len); + chr->vlen = len; + + g_dbus_emit_property_changed(connection, chr->path, GATT_CHR_IFACE, +@@ -388,7 +389,7 @@ static void chr_iface_destroy(gpointer user_data) + + g_free(chr->uuid); + g_free(chr->service); +- g_free(chr->value); ++ free(chr->value); + g_free(chr->path); + g_free(chr); + } +@@ -398,7 +399,7 @@ static void desc_iface_destroy(gpointer user_data) + struct descriptor *desc = user_data; + + g_free(desc->uuid); +- g_free(desc->value); ++ free(desc->value); + g_free(desc->path); + g_free(desc); + } +@@ -592,7 +593,7 @@ static gboolean register_characteristic(const char *chr_uuid, + + chr = g_new0(struct characteristic, 1); + chr->uuid = g_strdup(chr_uuid); +- chr->value = g_memdup(value, vlen); ++ chr->value = util_memdup(value, vlen); + chr->vlen = vlen; + chr->props = props; + chr->service = g_strdup(service_path); +diff --git a/tools/mesh-gatt/gatt.c b/tools/mesh-gatt/gatt.c +index c8a8123fb..ab9743cd1 100644 +--- a/tools/mesh-gatt/gatt.c ++++ b/tools/mesh-gatt/gatt.c +@@ -24,6 +24,7 @@ + + #include "src/shared/io.h" + #include "src/shared/shell.h" ++#include "src/shared/util.h" + #include "gdbus/gdbus.h" + #include "lib/bluetooth.h" + #include "lib/uuid.h" +@@ -86,7 +87,7 @@ static void write_data_free(void *user_data) + { + struct write_data *data = user_data; + +- g_free(data->gatt_data); ++ free(data->gatt_data); + free(data); + } + +@@ -338,7 +339,7 @@ bool mesh_gatt_write(GDBusProxy *proxy, uint8_t *buf, uint16_t len, + /* TODO: should keep in queue in case we need to cancel write? */ + + data->gatt_len = len; +- data->gatt_data = g_memdup(buf, len); ++ data->gatt_data = util_memdup(buf, len); + data->gatt_data[0] &= GATT_TYPE_MASK; + data->iov.iov_base = data->gatt_data; + data->iov.iov_len = len; +diff --git a/unit/test-avctp.c b/unit/test-avctp.c +index fa7db59c8..25fd3abc2 100644 +--- a/unit/test-avctp.c ++++ b/unit/test-avctp.c +@@ -53,7 +53,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -64,7 +64,7 @@ struct context { + }; \ + static struct test_data data; \ + data.test_name = g_strdup(name); \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + tester_add(name, &data, NULL, function, NULL); \ + } while (0) + +diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c +index 4e8a68c6b..2e49def43 100644 +--- a/unit/test-avdtp.c ++++ b/unit/test-avdtp.c +@@ -48,7 +48,7 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -56,7 +56,7 @@ struct test_data { + { \ + .valid = true, \ + .fragmented = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -67,7 +67,7 @@ struct test_data { + }; \ + static struct test_data data; \ + data.test_name = g_strdup(name); \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + tester_add(name, &data, NULL, function, NULL); \ + } while (0) + +diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c +index 34a70377d..b637a8a1b 100644 +--- a/unit/test-avrcp.c ++++ b/unit/test-avrcp.c +@@ -61,7 +61,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -69,7 +69,7 @@ struct context { + { \ + .valid = true, \ + .browse = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -77,7 +77,7 @@ struct context { + { \ + .valid = true, \ + .fragmented = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -85,7 +85,7 @@ struct context { + { \ + .valid = true, \ + .continuing = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -96,7 +96,7 @@ struct context { + }; \ + static struct test_data data; \ + data.test_name = g_strdup(name); \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + tester_add(name, &data, NULL, function, NULL); \ + } while (0) + +diff --git a/unit/test-gatt.c b/unit/test-gatt.c +index 6a47268e6..f92d860c4 100644 +--- a/unit/test-gatt.c ++++ b/unit/test-gatt.c +@@ -73,7 +73,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -94,7 +94,7 @@ struct context { + data.uuid = bt_uuid; \ + data.step = test_step; \ + data.source_db = db; \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + tester_add(name, &data, NULL, function, NULL); \ + } while (0) + +diff --git a/unit/test-hfp.c b/unit/test-hfp.c +index f504724d7..b4af99d53 100644 +--- a/unit/test-hfp.c ++++ b/unit/test-hfp.c +@@ -17,6 +17,7 @@ + #include + #include "src/shared/hfp.h" + #include "src/shared/tester.h" ++#include "src/shared/util.h" + + struct context { + guint watch_id; +@@ -50,7 +51,7 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -62,7 +63,7 @@ struct test_data { + #define type_pdu(cmd_type, args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + .type = cmd_type, \ + } +@@ -70,7 +71,7 @@ struct test_data { + #define frg_pdu(args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + .fragmented = true, \ + } +@@ -82,7 +83,7 @@ struct test_data { + }; \ + static struct test_data data; \ + data.test_name = g_strdup(name); \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + data.result_func = result_function; \ + tester_add(name, &data, NULL, function, NULL); \ + data.test_handler = test_handler; \ +@@ -96,7 +97,7 @@ struct test_data { + }; \ + static struct test_data data; \ + data.test_name = g_strdup(name); \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + data.hf_result_func = result_func; \ + data.response_func = response_function; \ + tester_add(name, &data, NULL, function, NULL); \ +diff --git a/unit/test-hog.c b/unit/test-hog.c +index 116a5cb07..067497de4 100644 +--- a/unit/test-hog.c ++++ b/unit/test-hog.c +@@ -59,24 +59,24 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = g_memdup(data(args), sizeof(data(args))), \ ++ .data = util_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +-#define false_pdu() \ +-{ \ +- .valid = false, \ ++#define false_pdu() \ ++{ \ ++ .valid = false, \ + } + +-#define define_test(name, function, args...) \ +- do { \ +- const struct test_pdu pdus[] = { \ +- args, { } \ +- }; \ +- static struct test_data data; \ +- data.test_name = g_strdup(name); \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ +- tester_add(name, &data, NULL, function, NULL); \ ++#define define_test(name, function, args...) \ ++ do { \ ++ const struct test_pdu pdus[] = { \ ++ args, { } \ ++ }; \ ++ static struct test_data data; \ ++ data.test_name = g_strdup(name); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus));\ ++ tester_add(name, &data, NULL, function, NULL); \ + } while (0) + + static gboolean context_quit(gpointer user_data) +diff --git a/unit/test-sdp.c b/unit/test-sdp.c +index 8f95fcb71..5c04a71eb 100644 +--- a/unit/test-sdp.c ++++ b/unit/test-sdp.c +@@ -47,14 +47,16 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \ ++ .raw_data = util_memdup(raw_data(args), \ ++ sizeof(raw_data(args))), \ + .raw_size = sizeof(raw_data(args)), \ + } + + #define raw_pdu_cont(cont, args...) \ + { \ + .valid = true, \ +- .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \ ++ .raw_data = util_memdup(raw_data(args), \ ++ sizeof(raw_data(args))), \ + .raw_size = sizeof(raw_data(args)), \ + .cont_len = cont, \ + } +@@ -66,7 +68,7 @@ struct test_data { + }; \ + static struct test_data data; \ + data.mtu = _mtu; \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + tester_add(name, &data, NULL, test_sdp, NULL); \ + } while (0) + +@@ -92,7 +94,7 @@ struct test_data_de { + #define define_test_de_attr(name, input, exp) \ + do { \ + static struct test_data_de data; \ +- data.input_data = g_memdup(input, sizeof(input)); \ ++ data.input_data = util_memdup(input, sizeof(input)); \ + data.input_size = sizeof(input); \ + data.expected = exp; \ + tester_add("/sdp/DE/ATTR/" name, &data, NULL, \ +diff --git a/unit/test-uhid.c b/unit/test-uhid.c +index 001d39a3d..8a8eef855 100644 +--- a/unit/test-uhid.c ++++ b/unit/test-uhid.c +@@ -61,7 +61,7 @@ struct context { + }; \ + static struct test_data data; \ + data.test_name = g_strdup(name); \ +- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ ++ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \ + tester_add(name, &data, NULL, function, NULL); \ + } while (0) + +-- +2.17.1 + diff --git a/package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch b/package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch new file mode 100644 index 00000000000..13033da7b2d --- /dev/null +++ b/package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch @@ -0,0 +1,312 @@ +From fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 14 Feb 2022 21:17:39 +0100 +Subject: build: Fix errors with glibc < 2.25 + +getrandom and sys/random.h are only available since glibc 2.25: +https://www.gnu.org/software/gnulib/manual/html_node/sys_002frandom_002eh.html +resulting in the following build failures since version 5.63 and +https://git.kernel.org/pub/scm/bluetooth/bluez.git/log/?qt=grep&q=getrandom: + +plugins/autopair.c:20:24: fatal error: sys/random.h: No such file or directory + #include + ^ + +To fix this build failure, add util_getrandom and a fallback (borrowed +from pipewire and licensed under MIT): +https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/utils.c + +Fixes: + - http://autobuild.buildroot.org/results/6b8870d12e0804d6154230a7322c49416c1dc0e2 + +[Retrieved from: +https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 4 +++- + emulator/le.c | 3 +-- + emulator/phy.c | 3 +-- + peripheral/main.c | 4 ++-- + plugins/autopair.c | 4 ++-- + profiles/health/hdp.c | 4 ++-- + profiles/health/mcap.c | 6 +++--- + src/shared/util.c | 25 +++++++++++++++++++++++++ + src/shared/util.h | 2 ++ + tools/btgatt-server.c | 3 +-- + 10 files changed, 42 insertions(+), 16 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 07d068a4d..441bd5f29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -54,6 +54,8 @@ AC_ARG_ENABLE(threads, AS_HELP_STRING([--enable-threads], + + AC_CHECK_FUNCS(explicit_bzero) + ++AC_CHECK_FUNCS(getrandom) ++ + AC_CHECK_FUNCS(rawmemchr) + + AC_CHECK_FUNC(signalfd, dummy=yes, +@@ -68,7 +70,7 @@ AC_CHECK_LIB(pthread, pthread_create, dummy=yes, + AC_CHECK_LIB(dl, dlopen, dummy=yes, + AC_MSG_ERROR(dynamic linking loader is required)) + +-AC_CHECK_HEADERS(linux/types.h linux/if_alg.h linux/uinput.h linux/uhid.h) ++AC_CHECK_HEADERS(linux/types.h linux/if_alg.h linux/uinput.h linux/uhid.h sys/random.h) + + PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28, dummy=yes, + AC_MSG_ERROR(GLib >= 2.28 is required)) +diff --git a/emulator/le.c b/emulator/le.c +index f8f313f2c..7656a657c 100644 +--- a/emulator/le.c ++++ b/emulator/le.c +@@ -20,7 +20,6 @@ + #include + #include + #include +-#include + #include + + #include "lib/bluetooth.h" +@@ -509,7 +508,7 @@ static unsigned int get_adv_delay(void) + /* The advertising delay is a pseudo-random value with a range + * of 0 ms to 10 ms generated for each advertising event. + */ +- if (getrandom(&val, sizeof(val), 0) < 0) { ++ if (util_getrandom(&val, sizeof(val), 0) < 0) { + /* If it fails to get the random number, use a static value */ + val = 5; + } +diff --git a/emulator/phy.c b/emulator/phy.c +index 44cace438..7de85fb05 100644 +--- a/emulator/phy.c ++++ b/emulator/phy.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -174,7 +173,7 @@ struct bt_phy *bt_phy_new(void) + mainloop_add_fd(phy->rx_fd, EPOLLIN, phy_rx_callback, phy, NULL); + + if (!get_random_bytes(&phy->id, sizeof(phy->id))) { +- if (getrandom(&phy->id, sizeof(phy->id), 0) < 0) { ++ if (util_getrandom(&phy->id, sizeof(phy->id), 0) < 0) { + mainloop_remove_fd(phy->rx_fd); + close(phy->tx_fd); + close(phy->rx_fd); +diff --git a/peripheral/main.c b/peripheral/main.c +index 91adb45fc..b82d7caf6 100644 +--- a/peripheral/main.c ++++ b/peripheral/main.c +@@ -25,13 +25,13 @@ + #include + #include + #include +-#include + + #ifndef WAIT_ANY + #define WAIT_ANY (-1) + #endif + + #include "src/shared/mainloop.h" ++#include "src/shared/util.h" + #include "peripheral/efivars.h" + #include "peripheral/attach.h" + #include "peripheral/gap.h" +@@ -192,7 +192,7 @@ int main(int argc, char *argv[]) + addr, 6) < 0) { + printf("Generating new persistent static address\n"); + +- if (getrandom(addr, sizeof(addr), 0) < 0) { ++ if (util_getrandom(addr, sizeof(addr), 0) < 0) { + perror("Failed to get random static address"); + return EXIT_FAILURE; + } +diff --git a/plugins/autopair.c b/plugins/autopair.c +index a75ecebe4..0b09e893f 100644 +--- a/plugins/autopair.c ++++ b/plugins/autopair.c +@@ -17,7 +17,6 @@ + #include + #include + #include +-#include + + #include + +@@ -29,6 +28,7 @@ + #include "src/device.h" + #include "src/log.h" + #include "src/storage.h" ++#include "src/shared/util.h" + + /* + * Plugin to handle automatic pairing of devices with reduced user +@@ -131,7 +131,7 @@ static ssize_t autopair_pincb(struct btd_adapter *adapter, + if (attempt >= 4) + return 0; + +- if (getrandom(&val, sizeof(val), 0) < 0) { ++ if (util_getrandom(&val, sizeof(val), 0) < 0) { + error("Failed to get a random pincode"); + return 0; + } +diff --git a/profiles/health/hdp.c b/profiles/health/hdp.c +index 9d9d1e824..b6590cd3a 100644 +--- a/profiles/health/hdp.c ++++ b/profiles/health/hdp.c +@@ -16,7 +16,6 @@ + #include + #include + #include +-#include + + #include + +@@ -33,6 +32,7 @@ + #include "src/device.h" + #include "src/sdpd.h" + #include "src/shared/timeout.h" ++#include "src/shared/util.h" + #include "btio/btio.h" + + #include "hdp_types.h" +@@ -1490,7 +1490,7 @@ static void *generate_echo_packet(void) + if (!buf) + return NULL; + +- if (getrandom(buf, HDP_ECHO_LEN, 0) < 0) { ++ if (util_getrandom(buf, HDP_ECHO_LEN, 0) < 0) { + g_free(buf); + return NULL; + } +diff --git a/profiles/health/mcap.c b/profiles/health/mcap.c +index aad0a08a3..5d2bac3d9 100644 +--- a/profiles/health/mcap.c ++++ b/profiles/health/mcap.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + + #include + +@@ -28,6 +27,7 @@ + #include "btio/btio.h" + #include "src/log.h" + #include "src/shared/timeout.h" ++#include "src/shared/util.h" + + #include "mcap.h" + +@@ -1905,7 +1905,7 @@ gboolean mcap_create_mcl(struct mcap_instance *mi, + mcl->state = MCL_IDLE; + bacpy(&mcl->addr, addr); + set_default_cb(mcl); +- if (getrandom(&val, sizeof(val), 0) < 0) { ++ if (util_getrandom(&val, sizeof(val), 0) < 0) { + mcap_instance_unref(mcl->mi); + g_free(mcl); + return FALSE; +@@ -2049,7 +2049,7 @@ static void connect_mcl_event_cb(GIOChannel *chan, GError *gerr, + mcl->mi = mcap_instance_ref(mi); + bacpy(&mcl->addr, &dst); + set_default_cb(mcl); +- if (getrandom(&val, sizeof(val), 0) < 0) { ++ if (util_getrandom(&val, sizeof(val), 0) < 0) { + mcap_instance_unref(mcl->mi); + g_free(mcl); + goto drop; +diff --git a/src/shared/util.c b/src/shared/util.c +index 6e1c83057..33196bf8b 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -13,6 +13,7 @@ + #endif + + #define _GNU_SOURCE ++#include + #include + #include + #include +@@ -23,6 +24,10 @@ + #include + #include + ++#ifdef HAVE_SYS_RANDOM_H ++#include ++#endif ++ + #include "src/shared/util.h" + + void *util_malloc(size_t size) +@@ -138,6 +143,26 @@ unsigned char util_get_dt(const char *parent, const char *name) + return DT_UNKNOWN; + } + ++/* Helper for getting a random in case getrandom unavailable (glibc < 2.25) */ ++ssize_t util_getrandom(void *buf, size_t buflen, unsigned int flags) ++{ ++#ifdef HAVE_GETRANDOM ++ return getrandom(buf, buflen, flags); ++#else ++ int fd; ++ ssize_t bytes; ++ ++ fd = open("/dev/urandom", O_CLOEXEC); ++ if (fd < 0) ++ return -1; ++ ++ bytes = read(fd, buf, buflen); ++ close(fd); ++ ++ return bytes; ++#endif ++} ++ + /* Helpers for bitfield operations */ + + /* Find unique id in range from 1 to max but no bigger than 64. */ +diff --git a/src/shared/util.h b/src/shared/util.h +index 8ef6132c4..c01eccf8a 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -103,6 +103,8 @@ void util_hexdump(const char dir, const unsigned char *buf, size_t len, + + unsigned char util_get_dt(const char *parent, const char *name); + ++ssize_t util_getrandom(void *buf, size_t buflen, unsigned int flags); ++ + uint8_t util_get_uid(uint64_t *bitmap, uint8_t max); + void util_clear_uid(uint64_t *bitmap, uint8_t id); + +diff --git a/tools/btgatt-server.c b/tools/btgatt-server.c +index 15d49a464..4a5d2b720 100644 +--- a/tools/btgatt-server.c ++++ b/tools/btgatt-server.c +@@ -20,7 +20,6 @@ + #include + #include + #include +-#include + + #include "lib/bluetooth.h" + #include "lib/hci.h" +@@ -287,7 +286,7 @@ static bool hr_msrmt_cb(void *user_data) + uint32_t cur_ee; + uint32_t val; + +- if (getrandom(&val, sizeof(val), 0) < 0) ++ if (util_getrandom(&val, sizeof(val), 0) < 0) + return false; + + pdu[0] = 0x06; +-- +cgit + diff --git a/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch b/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch new file mode 100644 index 00000000000..8a5bd64d43c --- /dev/null +++ b/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch @@ -0,0 +1,39 @@ +From 1d21878d84f16e28e16c61b36799a62e22732d97 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 24 Feb 2022 18:19:33 +0100 +Subject: [PATCH] src/shared/util.h: include sys/types.h + +Include sys/types.h to avoid the following build failure on musl raised +since commit fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac: + +In file included from src/shared/queue.c:15: +./src/shared/util.h:106:1: error: unknown type name 'ssize_t'; did you mean 'size_t'? + 106 | ssize_t util_getrandom(void *buf, size_t buflen, unsigned int flags); + | ^~~~~~~ + | size_t + +Fixes: + - http://autobuild.buildroot.org/results/83eaeb3863040645409f5787fdbdde79385c5257 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://patchwork.kernel.org/project/bluetooth/patch/20220224173104.479809-1-fontaine.fabrice@gmail.com] +--- + src/shared/util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/shared/util.h b/src/shared/util.h +index c01eccf8a..554481e1e 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) + #define BIT(n) (1 << (n)) +-- +2.34.1 + diff --git a/package/bluez5_utils/Config.in b/package/bluez5_utils/Config.in index 016a16c4c5b..49bb7191025 100644 --- a/package/bluez5_utils/Config.in +++ b/package/bluez5_utils/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_BLUEZ5_UTILS - bool "bluez-utils 5.x" + bool "bluez-utils" depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus @@ -9,17 +9,12 @@ config BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 help - bluez utils version 5.x + BlueZ utils - With this release BlueZ only supports the new Bluetooth - Management kernel interface (introduced in Linux 3.4). + Provides Stack, Library and Tooling for Bluetooth Classic + and Bluetooth LE. - For Low Energy support at least kernel version 3.5 is - needed. - - The API is not backward compatible with BlueZ 4. - - Bluez utils will use systemd and/or udev if enabled. + BlueZ utils will use systemd and/or udev if enabled. http://www.bluez.org http://www.kernel.org/pub/linux/bluetooth @@ -31,7 +26,7 @@ config BR2_PACKAGE_BLUEZ5_UTILS_OBEX depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBICAL help - Enable the OBEX support in Bluez 5.x. + Enable OBEX support. comment "OBEX support needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP @@ -40,75 +35,133 @@ config BR2_PACKAGE_BLUEZ5_UTILS_CLIENT bool "build CLI client" select BR2_PACKAGE_READLINE help - Enable the Bluez 5.x command line client. + Build the command line client "bluetoothctl". + +config BR2_PACKAGE_BLUEZ5_UTILS_MONITOR + bool "build monitor utility" + help + Build monitor utility btmon. + +config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS + bool "build tools" + help + Build tools like bluemoon, btattach, hex2hcd, l2test, + l2ping, mpris-proxy, rctest. config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED - bool "install deprecated tool" - depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT + bool "install deprecated tools" + depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT || BR2_PACKAGE_BLUEZ5_UTILS_TOOLS help - Build BlueZ 5.x deprecated tools. These currently include: + Build deprecated tools. + + When "build tools" is selected these tools are installed: hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool, - ciptool, gatttool. + ciptool. + + When CLI client is enabled "gatttool" is installed. config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL - bool "build experimental obexd plugin" + bool "build experimental tools" + help + Build experimental tools. This is currently only the + "Nokia OBEX PC Suite tool". So, only if OBEX support is + enabled this option has an effect. + +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO + bool "build audio plugins (a2dp and avrcp)" help - Build BlueZ 5.x experimental Nokia OBEX PC Suite plugin + Build plugins for audio profiles (for A2DP and AVRCP). config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH bool "build health plugin" help - Build BlueZ 5.x health plugin + Build plugin for health profiles. + +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID + bool "build hid plugin" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG + help + Build plugin for HID (input) profiles. + +comment "hid plugin needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG + bool "build hog plugin" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + help + Build plugin for HoG (input) profiles. + +comment "hog plugin needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH - bool "build mesh profile" + bool "build mesh plugin" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ell select BR2_PACKAGE_ELL select BR2_PACKAGE_JSON_C select BR2_PACKAGE_READLINE help - Build BlueZ 5.x mesh plugin + Build plugin for Mesh support. comment "mesh profile needs a toolchain w/ headers >= 4.12" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI - bool "build midi profile" + bool "build midi plugin" select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_ALSA_LIB_SEQ help - Build BlueZ 5.x midi plugin + Build MIDI support via ALSA sequencer. + +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK + bool "build network plugin" + default y + help + Build plugin for PANU, NAP, GN profiles. config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC bool "build nfc plugin" help - Build BlueZ 5.x nfc plugin + Build plugin for NFC pairing. config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP bool "build sap plugin" help - Build BlueZ 5.x sap plugin + Build plugin for SAP profile. config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS bool "build sixaxis plugin" depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # hid plugin + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime help - Build BlueZ 5.x sixaxis plugin (support Sony Dualshock + Build sixaxis plugin (support Sony Dualshock controller) +comment "sixaxis plugin needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + comment "sixaxis plugin needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV config BR2_PACKAGE_BLUEZ5_UTILS_TEST - bool "build tests" + bool "install test scripts" help - Build BlueZ 5.x tests + Install the python test scripts from the "test" directory. config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI bool "build hid2hci tool" depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # hid plugin + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime + select BR2_PACKAGE_BLUEZ5_UTILS_TOOLS help - Build BlueZ 5.x hid2hci tool + Build hid2hci tool + +comment "hid2hci tool needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 comment "hid2hci tool needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index d0f3b80598e..a8f5399fa60 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,4 +1,5 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88 bluez-5.55.tar.xz +sha256 9349e11e8160bb3d720835d271250d8a7424d3690f5289e6db6fe07cc66c6d76 bluez-5.63.tar.xz +# Locally computed sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index 2fd3016b50a..3d76cfb7dc6 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils-headers -BLUEZ5_UTILS_VERSION = 5.55 +BLUEZ5_UTILS_VERSION = 5.63 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES @@ -13,6 +13,8 @@ BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB BLUEZ5_UTILS_CPE_ID_VENDOR = bluez BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez +# We're patching Makefile.am and configure.ac +BLUEZ5_UTILS_AUTORECONF = YES BLUEZ5_UTILS_DEPENDENCIES = \ $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \ @@ -20,9 +22,13 @@ BLUEZ5_UTILS_DEPENDENCIES = \ libglib2 BLUEZ5_UTILS_CONF_OPTS = \ - --enable-tools \ --enable-library \ --disable-cups \ + --disable-manpages \ + --disable-asan \ + --disable-lsan \ + --disable-ubsan \ + --disable-pie \ --with-dbusconfdir=/etc ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) @@ -39,6 +45,18 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-client endif +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_MONITOR),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-monitor +else +BLUEZ5_UTILS_CONF_OPTS += --disable-monitor +endif + +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-tools +else +BLUEZ5_UTILS_CONF_OPTS += --disable-tools +endif + # experimental plugins ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) BLUEZ5_UTILS_CONF_OPTS += --enable-experimental @@ -46,6 +64,13 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-experimental endif +# enable audio plugins (a2dp and avrcp) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-a2dp --enable-avrcp +else +BLUEZ5_UTILS_CONF_OPTS += --disable-a2dp --disable-avrcp +endif + # enable health plugin ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y) BLUEZ5_UTILS_CONF_OPTS += --enable-health @@ -53,6 +78,20 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-health endif +# enable hid plugin +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-hid +else +BLUEZ5_UTILS_CONF_OPTS += --disable-hid +endif + +# enable hog plugin +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-hog +else +BLUEZ5_UTILS_CONF_OPTS += --disable-hog +endif + # enable mesh profile ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y) BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh @@ -69,6 +108,13 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-midi endif +# enable network plugin +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-network +else +BLUEZ5_UTILS_CONF_OPTS += --disable-network +endif + # enable nfc plugin ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y) BLUEZ5_UTILS_CONF_OPTS += --enable-nfc @@ -90,12 +136,16 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis endif -# install gatttool (For some reason upstream choose not to do it by default) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y) +# install gatttool (For some reason upstream choose not to do it by default) +# gattool depends on the client for readline +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y) define BLUEZ5_UTILS_INSTALL_GATTTOOL $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool endef BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL +endif + # hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but # Broadcom firmware blobs are usually located in `/lib/firmware`. BLUEZ5_UTILS_CONF_ENV += \ diff --git a/package/bmap-tools/Config.in b/package/bmap-tools/Config.in new file mode 100644 index 00000000000..91081069c73 --- /dev/null +++ b/package/bmap-tools/Config.in @@ -0,0 +1,43 @@ +config BR2_PACKAGE_BMAP_TOOLS + bool "bmap-tools" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime, pkg_resources + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Tool to flash image files to block devices using the block map + bmaptool is a generic tool for creating the block map (bmap) + for a file, and copying files using the block map. The idea is + that large file containing unused blocks, like raw system + image files, can be copied or flashed a lot faster with + bmaptool than with traditional tools like "dd" or "cp". + + Relevant optional dependencies: + + - Busybox compiled with CONFIG_BZIP2, or BR2_PACKAGE_BZIP2, + to support bz2 compressed images + + - BR2_PACKAGE_PIGZ for optimized gzip decompression + + - Busybox compiled with CONFIG_LZOP, or BR2_PACKAGE_LZOP, to + support lzo compressed images. + + - BR2_PACKAGE_ZIP to support zip compressed images + + - BR2_PACKAGE_LZ4 to support lz4 compressed images + + - BR2_PACKAGE_ZSTD to support zstd compressed images + + - Busybox compiled CONFIG_FEATURE_SEAMLESS_* or + BR2_PACKAGE_TAR to support tar compressed images + + - BR2_PACKAGE_OPENSSH to retrieve images over SSH. + + - BR2_PACKAGE_SSHPASS to retrieve images over SSH if + password authentication is used. + + Image signature verification is not supported as + python-gpgme is not available. Optimized bzip2 decompression + is not supported as pbzip2 is not available. + + https://github.com/intel/bmap-tools diff --git a/package/bmap-tools/Config.in.host b/package/bmap-tools/Config.in.host new file mode 100644 index 00000000000..a20829030d6 --- /dev/null +++ b/package/bmap-tools/Config.in.host @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HOST_BMAP_TOOLS + bool "host bmap-tools" + select BR2_PACKAGE_HOST_PYTHON_SIX # runtime + help + Tool to flash image files to block devices using the block map + bmaptool is a generic tool for creating the block map (bmap) + for a file, and copying files using the block map. The idea is + that large file containing unused blocks, like raw system + image files, can be copied or flashed a lot faster with + bmaptool than with traditional tools like "dd" or "cp". + + https://github.com/intel/bmap-tools diff --git a/package/bmap-tools/bmap-tools.hash b/package/bmap-tools/bmap-tools.hash new file mode 100644 index 00000000000..82a570ecacd --- /dev/null +++ b/package/bmap-tools/bmap-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0658afb972e7221aa16fece3f84e29e5102e901c929253d7fb6040bde28243f7 bmap-tools-3.6.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/bmap-tools/bmap-tools.mk b/package/bmap-tools/bmap-tools.mk new file mode 100644 index 00000000000..32399ca151c --- /dev/null +++ b/package/bmap-tools/bmap-tools.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# bmap-tools +# +################################################################################ + +BMAP_TOOLS_VERSION = 3.6 +BMAP_TOOLS_SITE = $(call github,intel,bmap-tools,v$(BMAP_TOOLS_VERSION)) +BMAP_TOOLS_LICENSE = GPL-2.0 +BMAP_TOOLS_LICENSE_FILES = COPYING +BMAP_TOOLS_SETUP_TYPE = setuptools + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch b/package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch new file mode 100644 index 00000000000..d627cf61654 --- /dev/null +++ b/package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch @@ -0,0 +1,28 @@ +From f16fa9796e05ca9ea6ee764b3c1f0b8baed535e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Pekkarinen?= +Date: Fri, 10 Dec 2021 14:35:45 +0200 +Subject: [PATCH] Fix schedule.c:378:36: error: 'SIOCGSTAMP' undeclared +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: José Pekkarinen +--- + src/schedule.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/schedule.c b/src/schedule.c +index 8868b01..09ab248 100644 +--- a/src/schedule.c ++++ b/src/schedule.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + + #include "list.h" +-- +2.30.2 + diff --git a/package/bmx7/0002-Fix-linking-error.patch b/package/bmx7/0002-Fix-linking-error.patch new file mode 100644 index 00000000000..04354c6a0ab --- /dev/null +++ b/package/bmx7/0002-Fix-linking-error.patch @@ -0,0 +1,29 @@ +From 974541b80bf8d7ec78ed9214a1b541957670f9cd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Pekkarinen?= +Date: Fri, 10 Dec 2021 14:36:55 +0200 +Subject: [PATCH] Fix linking error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: José Pekkarinen +--- + src/bmx.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bmx.h b/src/bmx.h +index 4269903..7789f7f 100644 +--- a/src/bmx.h ++++ b/src/bmx.h +@@ -290,7 +290,7 @@ enum ADGSN { + #define SUCCESS 0 + #define FAILURE -1 + +-const void* FAILURE_PTR; ++extern const void* FAILURE_PTR; + + + #define MAX_SELECT_TIMEOUT_MS 1100 /* MUST be smaller than (1000/2) to fit into max tv_usec */ +-- +2.30.2 + diff --git a/package/bmx7/0003-Reorder-includes-to-avoid-ethhdr-collision.patch b/package/bmx7/0003-Reorder-includes-to-avoid-ethhdr-collision.patch new file mode 100644 index 00000000000..75cc3925135 --- /dev/null +++ b/package/bmx7/0003-Reorder-includes-to-avoid-ethhdr-collision.patch @@ -0,0 +1,35 @@ +From fc13da06c1de4d085e21dc2bf45e1e95eb6145d9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Pekkarinen?= +Date: Fri, 10 Dec 2021 14:37:37 +0200 +Subject: [PATCH] Reorder includes to avoid ethhdr collision +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: José Pekkarinen +--- + src/ip.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ip.c b/src/ip.c +index cd50074..4198e92 100644 +--- a/src/ip.c ++++ b/src/ip.c +@@ -43,13 +43,13 @@ + #include + #include + +-#include /* TUNSETPERSIST, ... */ + #include + + #ifndef BMX7_LIB_IWINFO + #define BMX7_LIB_IW + #include + #endif ++#include /* TUNSETPERSIST, ... */ + //#include + // apt-get install libiw-dev + //#include +-- +2.30.2 + diff --git a/package/bmx7/Config.in b/package/bmx7/Config.in new file mode 100644 index 00000000000..6fa6a07997b --- /dev/null +++ b/package/bmx7/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_BMX7 + bool "bmx7" + depends on !BR2_STATIC_LIBS # dlopen() + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_MBEDTLS + select BR2_PACKAGE_WIRELESS_TOOLS + select BR2_PACKAGE_WIRELESS_TOOLS_LIB + help + BMX7 is a mesh routing protocol for Linux based + operating systems. + + https://github.com/bmx-routing/bmx7 + +comment "bmx7 needs a toolchain with dynamic library support" + depends on BR2_STATIC_LIBS diff --git a/package/bmx7/bmx7.hash b/package/bmx7/bmx7.hash new file mode 100644 index 00000000000..39203c979f7 --- /dev/null +++ b/package/bmx7/bmx7.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 5f88df1c95e5cb842a6016bb1604e3e7f6097c63c5c9916edc3c84e96d4f5f65 bmx7-7.1.1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/bmx7/bmx7.mk b/package/bmx7/bmx7.mk new file mode 100644 index 00000000000..7eb8a3d6ca0 --- /dev/null +++ b/package/bmx7/bmx7.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# bmx7 +# +################################################################################ + +BMX7_VERSION = 7.1.1 +BMX7_SITE = $(call github,bmx-routing,bmx7,v$(BMX7_VERSION)) +BMX7_LICENSE = GPL-2.0 +BMX7_LICENSE_FILES = LICENSE +BMX7_DEPENDENCIES = zlib mbedtls wireless_tools + +define BMX7_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/src +endef + +define BMX7_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/src/bmx7 $(TARGET_DIR)/usr/bin/bmx7 +endef + +$(eval $(generic-package)) diff --git a/package/boinc/Config.in b/package/boinc/Config.in index 5239019a575..72d5440131b 100644 --- a/package/boinc/Config.in +++ b/package/boinc/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_BOINC bool "boinc" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBCURL @@ -16,7 +17,8 @@ config BR2_PACKAGE_BOINC https://boinc.berkeley.edu -comment "boinc needs a toolchain w/ dynamic library, C++, threads" +comment "boinc needs a toolchain w/ dynamic library, C++, threads, gcc >= 4.8" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/boinc/boinc.hash b/package/boinc/boinc.hash index b842b6c0173..35e59ce4153 100644 --- a/package/boinc/boinc.hash +++ b/package/boinc/boinc.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 caa567da8d3eb50859efe2eeba1c23c7b27d3b0f15b548136e75302713b25303 boinc-7.16.6.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER +sha256 274388d9c49e488b6c8502ffc6eb605d5ceae391fb0c2fc56dbb0254d0ceb27e boinc-7.18.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk index fe972181dfe..695495f7771 100644 --- a/package/boinc/boinc.mk +++ b/package/boinc/boinc.mk @@ -4,19 +4,29 @@ # ################################################################################ -BOINC_VERSION_MAJOR = 7.16 -BOINC_VERSION = $(BOINC_VERSION_MAJOR).6 +BOINC_VERSION_MAJOR = 7.18 +BOINC_VERSION = $(BOINC_VERSION_MAJOR).1 BOINC_SITE = \ $(call github,BOINC,boinc,client_release/$(BOINC_VERSION_MAJOR)/$(BOINC_VERSION)) BOINC_LICENSE = LGPL-3.0+ BOINC_LICENSE_FILES = COPYING COPYING.LESSER BOINC_CPE_ID_VENDOR = rom_walton +BOINC_SELINUX_MODULES = boinc BOINC_DEPENDENCIES = host-pkgconf libcurl openssl BOINC_AUTORECONF = YES -BOINC_CONF_ENV = ac_cv_path__libcurl_config=$(STAGING_DIR)/usr/bin/curl-config +# The ac_cv_c_undeclared_builtin_options value is to help +# AC_CHECK_DECLS realize that it doesn't need any particular compiler +# option to get an error when building a program that uses undeclared +# symbols. Otherwise, AC_CHECK_DECLS is confused by the configure +# script unconditionally passing -mavx, which only exists on x86, and +# therefore causes a failure on all other architectures. +BOINC_CONF_ENV = \ + ac_cv_c_undeclared_builtin_options='none needed' \ + ac_cv_path__libcurl_config=$(STAGING_DIR)/usr/bin/curl-config BOINC_CONF_OPTS = \ --disable-apps \ --disable-boinczip \ + --disable-fcgi \ --disable-manager \ --disable-server \ --enable-client \ @@ -29,13 +39,13 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y) BOINC_DEPENDENCIES += freetype endif -ifeq ($(BR2_PACKAGE_LIBFCGI),y) -BOINC_DEPENDENCIES += libfcgi -BOINC_CONF_OPTS += --enable-fcgi -else -BOINC_CONF_OPTS += --disable-fcgi +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +BOINC_DEPENDENCIES += libexecinfo +BOINC_MAKE_OPTS += LIBS="-lexecinfo" endif +BOINC_MAKE_OPTS += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" + # Remove boinc-client because it is incompatible with buildroot define BOINC_REMOVE_UNNEEDED_FILE $(RM) $(TARGET_DIR)/etc/init.d/boinc-client diff --git a/package/boost/0001-Fix-missing-sys-stat-h-include-on-musl-based-systems.patch b/package/boost/0001-Fix-missing-sys-stat-h-include-on-musl-based-systems.patch new file mode 100644 index 00000000000..9b86b816bff --- /dev/null +++ b/package/boost/0001-Fix-missing-sys-stat-h-include-on-musl-based-systems.patch @@ -0,0 +1,31 @@ +From de657e01635306085488290ea83de541ec393f8b Mon Sep 17 00:00:00 2001 +From: Leonardo Neumann +Date: Mon, 13 Dec 2021 01:07:20 -0300 +Subject: [PATCH] Fix missing sys/stat.h include on musl-based systems + +Boost 1.78.0 fails to build on musl-based systems because musl does +not include sys/stat.h by default. + +Fixes #161 ("Boost compiler error") + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/boostorg/interprocess/pull/162] +--- + include/boost/interprocess/permissions.hpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/boost/interprocess/permissions.hpp b/boost/interprocess/permissions.hpp +index ab55411e..0b21a685 100644 +--- a/boost/interprocess/permissions.hpp ++++ b/boost/interprocess/permissions.hpp +@@ -29,6 +29,10 @@ + + #include + ++#else ++ ++#include ++ + #endif + + #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED diff --git a/package/boost/0001-fenv.patch b/package/boost/0001-fenv.patch deleted file mode 100644 index 9dc7848c93f..00000000000 --- a/package/boost/0001-fenv.patch +++ /dev/null @@ -1,37 +0,0 @@ -Disable fenv.h in certain configurations - -The boost build system does not properly test whether fenv.h is -available, and if it is, if it supports all the features used by -Boost. This causes build failures with uClibc (reported upstream at -https://svn.boost.org/trac/boost/ticket/11756) but also with glibc on -specific architectures that don't have a full fenv implementation, -such as NIOSII or Microblaze. - -To address this, we forcefully disable the use of fenv support in the -affected configurations. - -Signed-off-by: Bernd Kuhls -[Thomas: add Microblaze/NIOSII exclusions.] -Signed-off-by: Thomas Petazzoni - -Index: b/boost/config/platform/linux.hpp -=================================================================== ---- a/boost/config/platform/linux.hpp -+++ b/boost/config/platform/linux.hpp -@@ -48,6 +48,16 @@ - #endif - - // -+// uClibc has no support for fenv.h, and also a few architectures -+// don't have fenv.h support at all (or incomplete support) even with -+// glibc. -+ -+// -+#if defined(__UCLIBC__) || defined(__nios2__) || defined(__microblaze__) -+# define BOOST_NO_FENV_H -+#endif -+ -+// - // If glibc is past version 2 then we definitely have - // gettimeofday, earlier versions may or may not have it: - // diff --git a/package/boost/Config.in b/package/boost/Config.in index 9248c574f4d..33a5337096a 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -68,12 +68,13 @@ config BR2_PACKAGE_BOOST_CONTAINER Standard library containers and extensions. # see -# http://www.boost.org/doc/libs/1_59_0/libs/context/doc/html/context/architectures.html +# http://www.boost.org/doc/libs/1_78_0/libs/context/doc/html/context/architectures.html # for the list of supported architectures. Sparc pretends to be # supported, but it doesn't build. config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS bool default y if ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) + default y if (BR2_aarch64 || BR2_aarch64_be) default y if BR2_i386 default y if BR2_mips default y if BR2_mipsel @@ -140,8 +141,7 @@ config BR2_PACKAGE_BOOST_FIBER # mips support uses the "pause" instruction, only available # since mips32r2/mips64r2. depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64 - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ - || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-context -> boost-thread + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context select BR2_PACKAGE_BOOST_CONTEXT select BR2_PACKAGE_BOOST_FILESYSTEM @@ -151,8 +151,7 @@ config BR2_PACKAGE_BOOST_FIBER comment "boost-fiber needs a toolchain w/ NPTL" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ - || BR2_TOOLCHAIN_GCC_AT_LEAST_6 + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL comment "boost-fiber needs a toolchain not affected by GCC bug 64735" @@ -163,6 +162,8 @@ comment "boost-fiber needs a toolchain not affected by GCC bug 64735" config BR2_PACKAGE_BOOST_FILESYSTEM bool "boost-filesystem" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic + select BR2_PACKAGE_BOOST_ATOMIC select BR2_PACKAGE_BOOST_SYSTEM help The Boost Filesystem Library provides portable facilities to @@ -295,7 +296,7 @@ config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS config BR2_PACKAGE_BOOST_PYTHON bool "boost-python" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 help The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ diff --git a/package/boost/boost.hash b/package/boost/boost.hash index e6d44a76b67..a174e414ee4 100644 --- a/package/boost/boost.hash +++ b/package/boost/boost.hash @@ -1,5 +1,5 @@ -# From https://www.boost.org/users/history/version_1_74_0.html -sha256 953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost_1_75_0.tar.bz2 +# From https://www.boost.org/users/history/version_1_78_0.html +sha256 8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc boost_1_78_0.tar.bz2 # Locally computed sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/boost/boost.mk b/package/boost/boost.mk index b8f90bb8365..032ba5c8205 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -4,9 +4,9 @@ # ################################################################################ -BOOST_VERSION = 1.75.0 +BOOST_VERSION = 1.78.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 -BOOST_SITE = https://dl.bintray.com/boostorg/release/$(BOOST_VERSION)/source +BOOST_SITE = https://boostorg.jfrog.io/artifactory/main/release/$(BOOST_VERSION)/source BOOST_INSTALL_STAGING = YES BOOST_LICENSE = BSL-1.0 BOOST_LICENSE_FILES = LICENSE_1_0.txt @@ -17,7 +17,7 @@ HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \ --without-libraries=$(subst $(space),$(comma),atomic chrono context \ contract container coroutine date_time exception fiber filesystem graph \ graph_parallel iostreams json locale log math mpi nowide program_options \ - python random regex serialization stacktrace system test thread timer \ + python random serialization stacktrace test thread timer \ type_erasure wave) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic) @@ -68,16 +68,11 @@ BOOST_DEPENDENCIES += bzip2 zlib endif ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y) -BOOST_FLAGS += --with-python-root=$(HOST_DIR) -ifeq ($(BR2_PACKAGE_PYTHON3),y) -BOOST_FLAGS += --with-python=$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) +BOOST_FLAGS += \ + --with-python-root=$(HOST_DIR) \ + --with-python=$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) BOOST_DEPENDENCIES += python3 -else -BOOST_FLAGS += --with-python=$(HOST_DIR)/bin/python$(PYTHON_VERSION_MAJOR) -BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) -BOOST_DEPENDENCIES += python -endif endif HOST_BOOST_OPTS += --no-cmake-config toolset=gcc threading=multi \ @@ -85,17 +80,17 @@ HOST_BOOST_OPTS += --no-cmake-config toolset=gcc threading=multi \ ifeq ($(BR2_MIPS_OABI32),y) BOOST_ABI = o32 -else ifeq ($(BR2_arm),y) +else ifeq ($(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_aarch64_be),y) BOOST_ABI = aapcs else BOOST_ABI = sysv endif BOOST_OPTS += --no-cmake-config \ - toolset=gcc \ - threading=multi \ - abi=$(BOOST_ABI) \ - variant=$(if $(BR2_ENABLE_DEBUG),debug,release) + toolset=gcc \ + threading=multi \ + abi=$(BOOST_ABI) \ + variant=$(if $(BR2_ENABLE_RUNTIME_DEBUG),debug,release) ifeq ($(BR2_sparc64),y) BOOST_OPTS += architecture=sparc instruction-set=ultrasparc diff --git a/package/botan/0001-Add--extra-libs-option-and-group-l-flags-from-LDFLAGS-to-the-end.patch b/package/botan/0001-Add--extra-libs-option-and-group-l-flags-from-LDFLAGS-to-the-end.patch deleted file mode 100644 index 8aa5c686523..00000000000 --- a/package/botan/0001-Add--extra-libs-option-and-group-l-flags-from-LDFLAGS-to-the-end.patch +++ /dev/null @@ -1,75 +0,0 @@ -From af63fe89228172e5a395f7e6491fae3bfa9da4b1 Mon Sep 17 00:00:00 2001 -From: Jack Lloyd -Date: Mon, 15 Feb 2021 15:01:38 -0500 -Subject: [PATCH] Add --extra-libs option and group -l flags from LDFLAGS to - the end - -Ref #2622 - -[Retrieved from: -https://github.com/randombit/botan/commit/af63fe89228172e5a395f7e6491fae3bfa9da4b1] -Signed-off-by: Fabrice Fontaine ---- - configure.py | 14 ++++++++++++++ - src/build-data/makefile.in | 2 +- - 2 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/configure.py b/configure.py -index 73fc0271e9..865a6c8e62 100755 ---- a/configure.py -+++ b/configure.py -@@ -333,6 +333,9 @@ def process_command_line(args): # pylint: disable=too-many-locals,too-many-state - target_group.add_option('--ldflags', metavar='FLAGS', - help='set linker flags', default=None) - -+ target_group.add_option('--extra-libs', metavar='LIBS', -+ help='specify extra libraries to link against', default='') -+ - target_group.add_option('--ar-command', dest='ar_command', metavar='AR', default=None, - help='set path to static archive creator') - -@@ -2020,6 +2023,12 @@ def choose_cxx_exe(): - else: - return '%s %s' % (options.compiler_cache, cxx) - -+ def extra_libs(libs, cc): -+ if libs is None: -+ return '' -+ -+ return ' '.join([(cc.add_lib_option % lib) for lib in libs.split(',')]) -+ - variables = { - 'version_major': Version.major(), - 'version_minor': Version.minor(), -@@ -2149,6 +2158,7 @@ def choose_cxx_exe(): - 'cc_sysroot': sysroot_option(), - 'cc_compile_flags': options.cxxflags or cc.cc_compile_flags(options), - 'ldflags': options.ldflags or '', -+ 'extra_libs': extra_libs(options.extra_libs, cc), - 'cc_warning_flags': cc.cc_warning_flags(options), - 'output_to_exe': cc.output_to_exe, - 'cc_macro': cc.macro_name, -@@ -3029,6 +3039,10 @@ def canonicalize_build_targets(options): - if options.build_fuzzers == 'libfuzzer' and options.fuzzer_lib is None: - options.fuzzer_lib = 'Fuzzer' - -+ if options.ldflags is not None: -+ libs = [m.group(1) for m in re.finditer(r'-l([a-z0-9]+)', options.ldflags)] -+ options.extra_libs += ','.join(libs) -+ - # Checks user options for consistency - # This method DOES NOT change options on behalf of the user but explains - # why the given configuration does not work. -diff --git a/src/build-data/makefile.in b/src/build-data/makefile.in -index 4692d00f71..82f6576650 100644 ---- a/src/build-data/makefile.in -+++ b/src/build-data/makefile.in -@@ -20,7 +20,7 @@ LDFLAGS = %{ldflags} - EXE_LINK_CMD = %{exe_link_cmd} - - LIB_LINKS_TO = %{external_link_cmd} %{link_to} --EXE_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO) -+EXE_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO) %{extra_libs} - - BUILD_FLAGS = $(ABI_FLAGS) $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS) - diff --git a/package/botan/0001-Revert-workaround-a-miscompilation-issue-in-clang-12.patch b/package/botan/0001-Revert-workaround-a-miscompilation-issue-in-clang-12.patch new file mode 100644 index 00000000000..b43aeafe13f --- /dev/null +++ b/package/botan/0001-Revert-workaround-a-miscompilation-issue-in-clang-12.patch @@ -0,0 +1,144 @@ +From 372bdf0348fb86d671e73baab19daa34bd0cf73d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 9 Nov 2021 19:01:20 +0100 +Subject: [PATCH] Revert "workaround a miscompilation issue in clang 12 + (XCode 13)" + +This reverts commit 219329f8e777af54d785ae7259f8be32a714b751. + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/randombit/botan/issues/2845] +--- + src/lib/hash/sha3/sha3.cpp | 46 ++++++----------------- + src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp | 46 ++++++----------------- + 2 files changed, 22 insertions(+), 70 deletions(-) + +diff --git a/src/lib/hash/sha3/sha3.cpp b/src/lib/hash/sha3/sha3.cpp +index 289e451ff..690c2b264 100644 +--- a/src/lib/hash/sha3/sha3.cpp ++++ b/src/lib/hash/sha3/sha3.cpp +@@ -11,47 +11,23 @@ + #include + #include + +-#include +- + namespace Botan { + + namespace { + +-// This is a workaround for a suspected bug in clang 12 (and XCode 13) +-// that caused a miscompile of the SHA3 implementation for optimization +-// level -O2 and higher. +-// +-// For details, see: https://github.com/randombit/botan/issues/2802 +-#if defined(__clang__) && \ +- (( defined(__apple_build_version__) && __clang_major__ == 13) || \ +- (!defined(__apple_build_version__) && __clang_major__ == 12)) +-#define BOTAN_WORKAROUND_MAYBE_INLINE __attribute__((noinline)) +-#else +-#define BOTAN_WORKAROUND_MAYBE_INLINE inline +-#endif +- +-BOTAN_WORKAROUND_MAYBE_INLINE std::tuple +- xor_CNs(const uint64_t A[25]) +- { +- return { +- A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20], +- A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21], +- A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22], +- A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23], +- A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]}; +- } +- +-#undef BOTAN_WORKAROUND_MAYBE_INLINE +- + inline void SHA3_round(uint64_t T[25], const uint64_t A[25], uint64_t RC) + { +- const auto Cs = xor_CNs(A); +- +- const uint64_t D0 = rotl<1>(std::get<0>(Cs)) ^ std::get<3>(Cs); +- const uint64_t D1 = rotl<1>(std::get<1>(Cs)) ^ std::get<4>(Cs); +- const uint64_t D2 = rotl<1>(std::get<2>(Cs)) ^ std::get<0>(Cs); +- const uint64_t D3 = rotl<1>(std::get<3>(Cs)) ^ std::get<1>(Cs); +- const uint64_t D4 = rotl<1>(std::get<4>(Cs)) ^ std::get<2>(Cs); ++ const uint64_t C0 = A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20]; ++ const uint64_t C1 = A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21]; ++ const uint64_t C2 = A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22]; ++ const uint64_t C3 = A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23]; ++ const uint64_t C4 = A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]; ++ ++ const uint64_t D0 = rotl<1>(C0) ^ C3; ++ const uint64_t D1 = rotl<1>(C1) ^ C4; ++ const uint64_t D2 = rotl<1>(C2) ^ C0; ++ const uint64_t D3 = rotl<1>(C3) ^ C1; ++ const uint64_t D4 = rotl<1>(C4) ^ C2; + + const uint64_t B00 = A[ 0] ^ D1; + const uint64_t B01 = rotl<44>(A[ 6] ^ D2); +diff --git a/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp b/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp +index c7f1914a3..a9650ad9d 100644 +--- a/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp ++++ b/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp +@@ -8,47 +8,23 @@ + #include + #include + +-#include +- + namespace Botan { + + namespace { + +-// This is a workaround for a suspected bug in clang 12 (and XCode 13) +-// that caused a miscompile of the SHA3 implementation for optimization +-// level -O2 and higher. +-// +-// For details, see: https://github.com/randombit/botan/issues/2802 +-#if defined(__clang__) && \ +- (( defined(__apple_build_version__) && __clang_major__ == 13) || \ +- (!defined(__apple_build_version__) && __clang_major__ == 12)) +-#define BOTAN_WORKAROUND_MAYBE_INLINE __attribute__((noinline)) +-#else +-#define BOTAN_WORKAROUND_MAYBE_INLINE inline +-#endif +- +-BOTAN_WORKAROUND_MAYBE_INLINE std::tuple +- xor_CNs(const uint64_t A[25]) +- { +- return { +- A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20], +- A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21], +- A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22], +- A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23], +- A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]}; +- } +- +-#undef BOTAN_WORKAROUND_MAYBE_INLINE +- + inline void SHA3_BMI2_round(uint64_t T[25], const uint64_t A[25], uint64_t RC) + { +- const auto Cs = xor_CNs(A); +- +- const uint64_t D0 = rotl<1>(std::get<0>(Cs)) ^ std::get<3>(Cs); +- const uint64_t D1 = rotl<1>(std::get<1>(Cs)) ^ std::get<4>(Cs); +- const uint64_t D2 = rotl<1>(std::get<2>(Cs)) ^ std::get<0>(Cs); +- const uint64_t D3 = rotl<1>(std::get<3>(Cs)) ^ std::get<1>(Cs); +- const uint64_t D4 = rotl<1>(std::get<4>(Cs)) ^ std::get<2>(Cs); ++ const uint64_t C0 = A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20]; ++ const uint64_t C1 = A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21]; ++ const uint64_t C2 = A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22]; ++ const uint64_t C3 = A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23]; ++ const uint64_t C4 = A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]; ++ ++ const uint64_t D0 = rotl<1>(C0) ^ C3; ++ const uint64_t D1 = rotl<1>(C1) ^ C4; ++ const uint64_t D2 = rotl<1>(C2) ^ C0; ++ const uint64_t D3 = rotl<1>(C3) ^ C1; ++ const uint64_t D4 = rotl<1>(C4) ^ C2; + + const uint64_t B00 = A[ 0] ^ D1; + const uint64_t B01 = rotl<44>(A[ 6] ^ D2); +-- +2.33.0 + diff --git a/package/botan/0002-Avoid-empty-l.patch b/package/botan/0002-Avoid-empty-l.patch deleted file mode 100644 index 91023602448..00000000000 --- a/package/botan/0002-Avoid-empty-l.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4b2225ea54988e09b649768848b3c14b43e064de Mon Sep 17 00:00:00 2001 -From: Jack Lloyd -Date: Mon, 15 Feb 2021 15:11:12 -0500 -Subject: [PATCH] Avoid empty -l - -[Retrieved from: -https://github.com/randombit/botan/commit/4b2225ea54988e09b649768848b3c14b43e064de] -Signed-off-by: Fabrice Fontaine ---- - configure.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.py b/configure.py -index 865a6c8e62..a79f672eca 100755 ---- a/configure.py -+++ b/configure.py -@@ -2027,7 +2027,7 @@ def extra_libs(libs, cc): - if libs is None: - return '' - -- return ' '.join([(cc.add_lib_option % lib) for lib in libs.split(',')]) -+ return ' '.join([(cc.add_lib_option % lib) for lib in libs.split(',') if lib != '']) - - variables = { - 'version_major': Version.major(), diff --git a/package/botan/Config.in b/package/botan/Config.in index 95367b90008..635fe1836d3 100644 --- a/package/botan/Config.in +++ b/package/botan/Config.in @@ -18,8 +18,10 @@ config BR2_PACKAGE_BOTAN depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future - select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST - select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help Botan is a crypto library for C++ diff --git a/package/botan/botan.hash b/package/botan/botan.hash index d1b1d14acb6..91e1bf741a9 100644 --- a/package/botan/botan.hash +++ b/package/botan/botan.hash @@ -1,4 +1,4 @@ # From https://botan.randombit.net/releases/sha256sums.txt -sha256 79123b654445a4abba486e09a431788545c708237382a3e765664c9f55b03b88 Botan-2.17.3.tar.xz +sha256 541a3b13f1b9d30f977c6c1ae4c7bfdfda763cda6e44de807369dce79f42307e Botan-2.18.2.tar.xz # Locally computed sha256 fb7f0322d36fba55ca17d77bc203a9f09a40daa8a249b75cf8887aba36cec9d0 license.txt diff --git a/package/botan/botan.mk b/package/botan/botan.mk index 2e3f99b49bb..ebff1343b17 100644 --- a/package/botan/botan.mk +++ b/package/botan/botan.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOTAN_VERSION = 2.17.3 +BOTAN_VERSION = 2.18.2 BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz BOTAN_SITE = http://botan.randombit.net/releases BOTAN_LICENSE = BSD-2-Clause @@ -50,7 +50,7 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) BOTAN_CONF_OPTS += --without-os-feature=getauxval endif -ifeq ($(BR2_PACKAGE_BOOST),y) +ifeq ($(BR2_PACKAGE_BOOST_FILESYSTEM)$(BR2_PACKAGE_BOOST_SYSTEM),yy) BOTAN_DEPENDENCIES += boost BOTAN_CONF_OPTS += --with-boost endif diff --git a/package/bpftool/Config.in b/package/bpftool/Config.in new file mode 100644 index 00000000000..461be9e5b4f --- /dev/null +++ b/package/bpftool/Config.in @@ -0,0 +1,33 @@ +config BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS + bool + # see libbpf/src/bpf.c + default y if BR2_arc + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_i386 || BR2_x86_64 + default y if BR2_sparc || BR2_sparc64 + default y if BR2_s390x + +config BR2_PACKAGE_BPFTOOL + bool "bpftool" + depends on BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_nios2 # binutils + depends on BR2_USE_WCHAR # binutils, elfutils + depends on !BR2_STATIC_LIBS # elfutils + depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + select BR2_PACKAGE_BINUTILS + select BR2_PACKAGE_ELFUTILS + help + bpftool is a tool for for inspection and simple manipulation + of eBPF programs and maps. + +comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, headers >= 4.12" + depends on BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_nios2 + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 diff --git a/package/bpftool/bpftool.hash b/package/bpftool/bpftool.hash new file mode 100644 index 00000000000..2e414b8eb80 --- /dev/null +++ b/package/bpftool/bpftool.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 e4ce219d3b87dd70d8dbfb8f02bd356f70c010f739f17baca1c8912199a8a72b bpftool-v6.7.0-br1.tar.gz +sha256 7c588754d5e81e92e2a12e47cf78949d485c9c22b4850f12d21b3835c85947d1 LICENSE +sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd LICENSE.BSD-2-Clause +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL-2.0 diff --git a/package/bpftool/bpftool.mk b/package/bpftool/bpftool.mk new file mode 100644 index 00000000000..87429172534 --- /dev/null +++ b/package/bpftool/bpftool.mk @@ -0,0 +1,45 @@ +################################################################################ +# +# bpftool +# +################################################################################ + +BPFTOOL_VERSION = v6.7.0 +BPFTOOL_SITE = https://github.com/libbpf/bpftool +BPFTOOL_SITE_METHOD = git +BPFTOOL_GIT_SUBMODULES = YES +BPFTOOL_LICENSE = GPL-2.0, BSD-2-Clause +BPFTOOL_LICENSE_FILES = LICENSE LICENSE.BSD-2-Clause LICENSE.GPL-2.0 +BPFTOOL_DEPENDENCIES = binutils elfutils +HOST_BPFTOOL_DEPENDENCIES = host-elfutils host-pkgconf host-zlib + +ifeq ($(BR2_PACKAGE_LIBCAP),y) +BPFTOOL_DEPENDENCIES += libcap +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +BPFTOOL_DEPENDENCIES += zlib +endif + +define BPFTOOL_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/src +endef + +define HOST_BPFTOOL_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/src +endef + +define BPFTOOL_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/src install DESTDIR="$(TARGET_DIR)" prefix=/usr +endef + +define HOST_BPFTOOL_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/src install DESTDIR="$(HOST_DIR)" prefix=/usr +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/brcmfmac_sdio-firmware-rpi/Config.in b/package/brcmfmac_sdio-firmware-rpi/Config.in new file mode 100644 index 00000000000..73f400a2b72 --- /dev/null +++ b/package/brcmfmac_sdio-firmware-rpi/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI + bool "brcmfmac-sdio-firmware-rpi" + depends on BR2_arm || BR2_aarch64 + help + Raspberry Broadcom Bluetooth and Wifi firmware. + + https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi + +if BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI + +config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT + bool "brcmfmac-sdio-firmware-rpi-bt" + help + Raspberry Pi 3 and Zero W Broadcom BCM43438 Bluetooth module + firmware. Raspberry Pi 3 Model B+ Broadcom BCM4345C0 + Bluetooth module firmware. + +config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI + bool "brcmfmac-sdio-firmware-rpi-wifi" + depends on !BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX + help + Raspberry Pi 3 and Zero W Broadcom BCM43430 wifi module + NVRAM data. Raspberry Pi 3 Model B+ Broadcom BCM43455 + wifi module NVRAM data. + +comment "brcmfmac-sdio-firmware-rpi-wifi conflicts with linux-firmware Broadcom BRCM bcm43xx" + depends on BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX + +endif diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash new file mode 100644 index 00000000000..a12e92cbac4 --- /dev/null +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e51b717c2a60ca29fcdd8e04e07c00996226cb48fa56a8ad1934b5f4ddee2e3d brcmfmac_sdio-firmware-rpi-ea9963f3f77b4bb6cd280577eb115152bdd67e8d.tar.gz +sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk new file mode 100644 index 00000000000..5332bf53d73 --- /dev/null +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# brcmfmac_sdio-firmware-rpi +# +################################################################################ + +BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = ea9963f3f77b4bb6cd280577eb115152bdd67e8d +BRCMFMAC_SDIO_FIRMWARE_RPI_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION)) +BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE = PROPRIETARY +BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE.broadcom_bcm43xx + +ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT),y) +define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_BT + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm + $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm +endef +endif + +ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI),y) +define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_WIFI + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm + $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm + ln -sf ../cypress/cyfmac43430-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.bin + ln -sf ../cypress/cyfmac43430-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob + ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt + ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt + ln -sf ../cypress/cyfmac43455-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.bin + ln -sf ../cypress/cyfmac43455-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob + ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt + ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt + ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/cypress + $(INSTALL) -m 0644 $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress +endef +endif + +define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_CMDS + $(BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_BT) + $(BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_WIFI) +endef + +$(eval $(generic-package)) diff --git a/package/brickd/brickd.hash b/package/brickd/brickd.hash index e9be1b10b09..be9ad9ed909 100644 --- a/package/brickd/brickd.hash +++ b/package/brickd/brickd.hash @@ -1,5 +1,5 @@ # Locally computed hash -sha256 205f581103512599cb10992275da8c7207ed732e1a686600877c51b7a742de73 brickd-ev3dev-stretch_1.2.1-br1.tar.gz +sha256 8469b6959a7e32c4b39a56e1a4f7479f785d83e6db3269487f5312f3cf1df382 brickd-v1.2.2-br1.tar.gz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.txt diff --git a/package/brickd/brickd.mk b/package/brickd/brickd.mk index 7fe28daf781..f42b3c9956b 100644 --- a/package/brickd/brickd.mk +++ b/package/brickd/brickd.mk @@ -4,7 +4,7 @@ # ################################################################################ -BRICKD_VERSION = ev3dev-stretch/1.2.1 +BRICKD_VERSION = v1.2.2 BRICKD_SITE = https://github.com/ev3dev/brickd BRICKD_SITE_METHOD = git BRICKD_GIT_SUBMODULES = YES diff --git a/package/bridge-utils/0001-fix-build-on-musl.patch b/package/bridge-utils/0001-fix-build-on-musl.patch new file mode 100644 index 00000000000..1a5d1eb23b0 --- /dev/null +++ b/package/bridge-utils/0001-fix-build-on-musl.patch @@ -0,0 +1,51 @@ +From 1d5a2e0f88e0c53fede03632fa92ffade5e79ac5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 11 Apr 2021 10:04:59 +0200 +Subject: [PATCH] fix build on musl + +Build on musl is broken since version 1.7.1 and commit +a1f20223cfcf7b9eae8c9e7e7a07e7bf1377f65b: + +libbridge_devif.c: In function 'fpopen': +libbridge_devif.c:33:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'AF_MAX'? + 33 | char path[PATH_MAX]; + | ^~~~~~~~ + | AF_MAX + +Fixes: + - http://autobuild.buildroot.org/results/0f080ff6913595ee2732b93206e5001c837c1bcc + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to Stephen Hemminger ] +--- + libbridge/libbridge_devif.c | 1 + + libbridge/libbridge_init.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/libbridge/libbridge_devif.c b/libbridge/libbridge_devif.c +index 8b7d954..6c679f6 100644 +--- a/libbridge/libbridge_devif.c ++++ b/libbridge/libbridge_devif.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/libbridge/libbridge_init.c b/libbridge/libbridge_init.c +index c914971..83a97cd 100644 +--- a/libbridge/libbridge_init.c ++++ b/libbridge/libbridge_init.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.30.2 + diff --git a/package/bridge-utils/bridge-utils.hash b/package/bridge-utils/bridge-utils.hash index ccf71704b88..60cdd1cec1b 100644 --- a/package/bridge-utils/bridge-utils.hash +++ b/package/bridge-utils/bridge-utils.hash @@ -1,3 +1,5 @@ +# From https://mirrors.edge.kernel.org/pub/linux/utils/net/bridge-utils/sha256sums.asc +sha256 a61d8be4f1a1405c60c8ef38d544f0c18c05b33b9b07e5b4b31033536165e60e bridge-utils-1.7.1.tar.xz + # locally computed -sha256 4b9b12f31d147320dea931f1041b8a69d84741ddb92cf35ea1f896b67da98b7c bridge-utils-1.7.tar.gz sha256 995a31f60a9ddb4c609214cc7d17ca94cc3cbc7f37e1e64dba81e7f8ea9d4f91 COPYING diff --git a/package/bridge-utils/bridge-utils.mk b/package/bridge-utils/bridge-utils.mk index fa71c3a64ef..e8e9a3ca3ad 100644 --- a/package/bridge-utils/bridge-utils.mk +++ b/package/bridge-utils/bridge-utils.mk @@ -4,13 +4,14 @@ # ################################################################################ -BRIDGE_UTILS_VERSION = 1.7 -BRIDGE_UTILS_SITE = \ - https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/bridge-utils.git/snapshot +BRIDGE_UTILS_VERSION = 1.7.1 +BRIDGE_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/bridge-utils +BRIDGE_UTILS_SOURCE = bridge-utils-$(BRIDGE_UTILS_VERSION).tar.xz BRIDGE_UTILS_AUTORECONF = YES BRIDGE_UTILS_LICENSE = GPL-2.0+ BRIDGE_UTILS_LICENSE_FILES = COPYING BRIDGE_UTILS_CPE_ID_VENDOR = kernel +BRIDGE_UTILS_SELINUX_MODULES = brctl # Avoid using the host's headers. Location is not important as # required headers will anyway be found from within the sysroot. diff --git a/package/brltty/0002-Programs-pgmprivs_linux.c-fix-build-with-gcc-5.patch b/package/brltty/0002-Programs-pgmprivs_linux.c-fix-build-with-gcc-5.patch deleted file mode 100644 index 92b5aea21ec..00000000000 --- a/package/brltty/0002-Programs-pgmprivs_linux.c-fix-build-with-gcc-5.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 92b3fca2d55757680398b55869214fc2d19e9b71 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 21 Feb 2021 20:47:06 +0100 -Subject: [PATCH] Programs/pgmprivs_linux.c: fix build with gcc < 5 - -Build with gcc < 5 is broken since version 6.2 and -https://github.com/brltty/brltty/commit/8ce262f2c15f10a40d9cbae0b3c88b466970a055: - -./pgmprivs_linux.c: In function 'getPrivilegeParameterNames': -./pgmprivs_linux.c:2220:3: error: array initialized from non-constant array expression - static const char *const names[] = NULL_TERMINATED_STRING_ARRAY( - ^ - -Build was partially fixed since -https://github.com/brltty/brltty/commit/8ae78dd560d00c5074158f90be5ac8dac80183db -but it forgot to update pgmprivs_linux.c - -Fixes: - - http://autobuild.buildroot.org/results/58afeb50a0ecdb8b527d7c9946bcae290b79b055 - -Signed-off-by: Fabrice Fontaine -[yann.morin.1998@free.fr: use an actual backport after upstream merge] -Signed-off-by: Yann E. MORIN ---- - Programs/pgmprivs_linux.c | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/Programs/pgmprivs_linux.c b/Programs/pgmprivs_linux.c -index 56e464a82..7dfabaf9b 100644 ---- a/Programs/pgmprivs_linux.c -+++ b/Programs/pgmprivs_linux.c -@@ -2215,13 +2215,15 @@ typedef enum { - PARM_USER, - } Parameters; - -+ -+static const char *const *const pgmprivs_names = -+ NULL_TERMINATED_STRING_ARRAY( -+ "path", "scfmode", "shell", "user" -+ ); -+ - const char *const * - getPrivilegeParameterNames (void) { -- static const char *const names[] = NULL_TERMINATED_STRING_ARRAY( -- "path", "scfmode", "shell", "user" -- ); -- -- return names; -+ return pgmprivs_names; - } - - const char * --- -2.25.1 - diff --git a/package/brltty/Config.in b/package/brltty/Config.in index de11af3bbeb..3527df61613 100644 --- a/package/brltty/Config.in +++ b/package/brltty/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_BRLTTY depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID if BR2_PACKAGE_BLUEZ5_UTILS && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # runtime help A daemon providing access to the Linux console for a blind person using a refreshable braille display. diff --git a/package/brltty/brltty.hash b/package/brltty/brltty.hash index 504b0d802ad..cec074d8ce6 100644 --- a/package/brltty/brltty.hash +++ b/package/brltty/brltty.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 b256df8f86b4d6a597cfe982cc5a7c831915de37cfece683ddb02b2329256a8a brltty-6.3.tar.xz +sha256 bc7573b0d0ab865c36607945b64c209312405571788f3b409397726f6143eaa6 brltty-6.4.tar.xz sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f LICENSE-LGPL -sha256 da78e60359a86eeefb6d6e02bc47d386ece10ae45309d998981157c3746724ab README +sha256 429be921e6bf783303a1f94cbb7f29dc4f0839e47efe38150b808f886028f4df README diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk index 602750c9b8a..600bf596df7 100644 --- a/package/brltty/brltty.mk +++ b/package/brltty/brltty.mk @@ -4,7 +4,7 @@ # ################################################################################ -BRLTTY_VERSION = 6.3 +BRLTTY_VERSION = 6.4 BRLTTY_SOURCE = brltty-$(BRLTTY_VERSION).tar.xz BRLTTY_SITE = http://brltty.com/archive BRLTTY_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install @@ -129,12 +129,12 @@ BRLTTY_POST_INSTALL_TARGET_HOOKS += BRLTTY_INSTALL_CONF define BRLTTY_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/brltty/S10brltty \ - $(TARGET_DIR)/etc/init.d/S10brltty + $(TARGET_DIR)/etc/init.d/S10brltty endef define BRLTTY_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/brltty/brltty.service \ - $(TARGET_DIR)/usr/lib/systemd/system/brltty.service + $(TARGET_DIR)/usr/lib/systemd/system/brltty.service endef $(eval $(autotools-package)) diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk index 43c8524c0b3..ac49fe664f7 100644 --- a/package/brotli/brotli.mk +++ b/package/brotli/brotli.mk @@ -21,6 +21,12 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) BROTLI_CFLAGS += -O0 endif +# Workaround "Error: value -1234 out of range" assembler issues +# when building with optimizations. +ifeq ($(BR2_m68k),y) +BROTLI_CFLAGS += -Os +endif + BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(BROTLI_CFLAGS)" $(eval $(cmake-package)) diff --git a/package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch b/package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch new file mode 100644 index 00000000000..b6c1a424565 --- /dev/null +++ b/package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch @@ -0,0 +1,43 @@ +From b28f7bd9bba6f65258da48955154794f466b4104 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield +Date: Thu, 30 Dec 2021 15:23:59 +0200 +Subject: [PATCH] btrfs-progs: include linux/const.h to fix build with 5.12+ + headers + +btrfs-tools compile fails with mips, musl and 5.12+ headers. + +The definition of __ALIGN_KERNEL has moved in 5.12+ kernels, so we +add an explicit include of const.h to pickup the macro: + + | make: *** [Makefile:595: mkfs.btrfs] Error 1 + | make: *** Waiting for unfinished jobs.... + | libbtrfs.a(volumes.o): in function `dev_extent_search_start': + | /usr/src/debug/btrfs-tools/5.12.1-r0/git/kernel-shared/volumes.c:464: undefined reference to `__ALIGN_KERNEL' + | collect2: error: ld returned 1 exit status + +This is safe for older kernel's as well, since the header still +exists, and is valid to include. + +Signed-off-by: Bruce Ashfield +[remove invalid OE Upstream-status] +Signed-off-by: Stijn Tintel +Signed-off-by: David Sterba +[Retrieved from: +https://github.com/kdave/btrfs-progs/commit/b28f7bd9bba6f65258da48955154794f466b4104] +Signed-off-by: Fabrice Fontaine +--- + kerncompat.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kerncompat.h b/kerncompat.h +index df167fe6c..2503d1afa 100644 +--- a/kerncompat.h ++++ b/kerncompat.h +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + + #include diff --git a/package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch b/package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch new file mode 100644 index 00000000000..7473fe67cbd --- /dev/null +++ b/package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch @@ -0,0 +1,49 @@ +From a2511aaa85c8d95d12805dfdcbb5667fa3e30ba5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 8 Jan 2022 22:44:44 +0100 +Subject: [PATCH] btrfs-progs: include sys/sysinfo.h conditionally on musl + +Make inclusion of sys/sysinfo.h conditional to avoid the following build +failure on musl: + +In file included from .../i586-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:4, + from ./kerncompat.h:31, + from common/utils.c:42: +.../i586-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:7:8: error: redefinition of 'struct sysinfo' + 7 | struct sysinfo { + | ^~~~~~~ +In file included from common/utils.c:27: +.../i586-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here + 10 | struct sysinfo { + | ^~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/16f44fb9dea72a7079e8e5517e760dd79d2724cc + +The 'struct sysinfo' is defined in linux/sysinfo.h and sys/sysinfo.h, +while both must not be included at the same time. Stop including +linux/kernel.h that sometimes unconditionally includes sys/sysinfo.h and +causes the double definition for some reason. As we now include +linux/const.h directly, there's no other effective change. + +Pull-request: #433 +Signed-off-by: Fabrice Fontaine +Signed-off-by: David Sterba +[Retrieved from: +https://github.com/kdave/btrfs-progs/commit/a2511aaa85c8d95d12805dfdcbb5667fa3e30ba5] +--- + kerncompat.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/kerncompat.h b/kerncompat.h +index 2503d1afa..6ca1526e2 100644 +--- a/kerncompat.h ++++ b/kerncompat.h +@@ -28,7 +28,6 @@ + #include + #include + #include +-#include + #include + #include + diff --git a/package/btrfs-progs/0003-btrfs-progs-kerncompat-add-local-definition-for-alignment-macros.patch b/package/btrfs-progs/0003-btrfs-progs-kerncompat-add-local-definition-for-alignment-macros.patch new file mode 100644 index 00000000000..86c63edc307 --- /dev/null +++ b/package/btrfs-progs/0003-btrfs-progs-kerncompat-add-local-definition-for-alignment-macros.patch @@ -0,0 +1,46 @@ +From b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58 Mon Sep 17 00:00:00 2001 +From: David Sterba +Date: Thu, 13 Jan 2022 14:47:08 +0100 +Subject: [PATCH] btrfs-progs: kerncompat: add local definition for alignment + macros + +There's still problem left with compilation on musl and kernel < 5.11, +because __ALIGN_KERNEL is not defined anymore: + +../bin/ld: kernel-shared/volumes.o: in function `create_chunk': +volumes.c:(.text+0x17f8): undefined reference to `__ALIGN_KERNEL' + +Due to the entangled includes and unconditional definition of +__ALIGN_KERNEL, we can't use #ifdef in kerncompat.h to define it +eventually (as kerncompat.h is the first include). Instead add local +definitions of the macros and rename them to avoid name clashes. + +Pull-request: #433 +Signed-off-by: David Sterba +[Retrieved from: +https://github.com/kdave/btrfs-progs/commit/b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58] +Signed-off-by: Fabrice Fontaine +--- + kerncompat.h | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/kerncompat.h b/kerncompat.h +index 6ca1526e2..f0a6e196e 100644 +--- a/kerncompat.h ++++ b/kerncompat.h +@@ -359,7 +359,14 @@ do { \ + + /* Alignment check */ + #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) +-#define ALIGN(x, a) __ALIGN_KERNEL((x), (a)) ++ ++/* ++ * Alignment, copied and renamed from /usr/include/linux/const.h to work around ++ * issues caused by moving the definition in 5.12 ++ */ ++#define __ALIGN_KERNEL__(x, a) __ALIGN_KERNEL_MASK__(x, (typeof(x))(a) - 1) ++#define __ALIGN_KERNEL_MASK__(x, mask) (((x) + (mask)) & ~(mask)) ++#define ALIGN(x, a) __ALIGN_KERNEL__((x), (a)) + + static inline int is_power_of_2(unsigned long n) + { diff --git a/package/btrfs-progs/btrfs-progs.hash b/package/btrfs-progs/btrfs-progs.hash index 9008513630f..339eab02aa9 100644 --- a/package/btrfs-progs/btrfs-progs.hash +++ b/package/btrfs-progs/btrfs-progs.hash @@ -1,6 +1,5 @@ # From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc -sha256 5c2f048b8c814852614b0b262ab2d468ea02774ef01124ebc0ab708df262de5c btrfs-progs-v5.7.tar.xz +sha256 6230f8f33961bd62633d601b0d049a3c6b833c1a1a7a2f2782d0c5796e7ab920 btrfs-progs-v5.15.1.tar.xz # Locally computed -sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15 COPYING -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 libbtrfsutil/COPYING -sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 libbtrfsutil/COPYING.LESSER +sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 libbtrfsutil/COPYING diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk index 22e1e330c55..54922df8390 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -4,14 +4,13 @@ # ################################################################################ -BTRFS_PROGS_VERSION = 5.7 +BTRFS_PROGS_VERSION = 5.15.1 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz BTRFS_PROGS_DEPENDENCIES = host-pkgconf lzo util-linux zlib -BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python -BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil) -BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING \ - libbtrfsutil/COPYING.LESSER +BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-python +BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-2.1+ (libbtrfsutil) +BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING BTRFS_PROGS_INSTALL_STAGING = YES # Doesn't autodetect static-only and tries to build both @@ -31,9 +30,31 @@ else BTRFS_PROGS_CONF_OPTS += --disable-convert endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +BTRFS_PROGS_CONF_OPTS += --enable-zstd +BTRFS_PROGS_DEPENDENCIES += zstd +else +BTRFS_PROGS_CONF_OPTS += --disable-zstd +endif + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +BTRFS_PROGS_CONF_OPTS += --enable-libudev +BTRFS_PROGS_DEPENDENCIES += udev +else +BTRFS_PROGS_CONF_OPTS += --disable-libudev +endif + +ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10),y) +BTRFS_PROGS_CONF_OPTS += --enable-zoned +else +BTRFS_PROGS_CONF_OPTS += --disable-zoned +endif + HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib HOST_BTRFS_PROGS_CONF_OPTS = \ --disable-backtrace \ + --disable-libudev \ + --disable-zoned \ --disable-zstd \ --disable-python \ --disable-convert diff --git a/package/bubblewrap/bubblewrap.hash b/package/bubblewrap/bubblewrap.hash index d3ccb4cb1f5..88aba150cdc 100644 --- a/package/bubblewrap/bubblewrap.hash +++ b/package/bubblewrap/bubblewrap.hash @@ -1,5 +1,5 @@ -# Locally computed: -sha256 b9c69b9b1c61a608f34325c8e1a495229bacf6e4a07cbb0c80cf7a814d7ccc03 bubblewrap-0.4.1.tar.xz +# From https://github.com/containers/bubblewrap/releases/tag/v0.5.0 +sha256 16fdaf33799d63104e347e0133f909196fe90d0c50515d010bcb422eb5a00818 bubblewrap-0.5.0.tar.xz # Hash for license files: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/bubblewrap/bubblewrap.mk b/package/bubblewrap/bubblewrap.mk index 18c175951ab..5f3d95e826c 100644 --- a/package/bubblewrap/bubblewrap.mk +++ b/package/bubblewrap/bubblewrap.mk @@ -4,7 +4,7 @@ # ################################################################################ -BUBBLEWRAP_VERSION = 0.4.1 +BUBBLEWRAP_VERSION = 0.5.0 BUBBLEWRAP_SITE = https://github.com/containers/bubblewrap/releases/download/v$(BUBBLEWRAP_VERSION) BUBBLEWRAP_SOURCE = bubblewrap-$(BUBBLEWRAP_VERSION).tar.xz BUBBLEWRAP_DEPENDENCIES = host-pkgconf libcap diff --git a/package/bullet/Config.in b/package/bullet/Config.in index fc285ab33a4..0c420e82123 100644 --- a/package/bullet/Config.in +++ b/package/bullet/Config.in @@ -1,11 +1,15 @@ config BR2_PACKAGE_BULLET bool "bullet" depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR help Bullet is a Collision Detection and Rigid Body Dynamics Library. http://bulletphysics.org -comment "bullet needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "bullet needs a toolchain w/ C++, dynamic library, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/package/bullet/bullet.hash b/package/bullet/bullet.hash index 9da8c733d0e..5c70c683b02 100644 --- a/package/bullet/bullet.hash +++ b/package/bullet/bullet.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 621b36e91c0371933f3c2156db22c083383164881d2a6b84636759dc4cbb0bb8 bullet-2.89.tar.gz -sha256 885cd516a8420acb7c3e0b1a7119913b686495001ae564e3229740460e8cff59 LICENSE.txt +sha256 49d1ee47aa8cbb0bc6bb459f0a4cfb9579b40e28f5c7d9a36c313e3031fb3965 bullet-3.21.tar.gz +sha256 885cd516a8420acb7c3e0b1a7119913b686495001ae564e3229740460e8cff59 LICENSE.txt diff --git a/package/bullet/bullet.mk b/package/bullet/bullet.mk index b25fc5d2192..9afd922ec9e 100644 --- a/package/bullet/bullet.mk +++ b/package/bullet/bullet.mk @@ -4,17 +4,16 @@ # ################################################################################ -BULLET_VERSION = 2.89 +BULLET_VERSION = 3.21 BULLET_SITE = $(call github,bulletphysics,bullet3,$(BULLET_VERSION)) BULLET_INSTALL_STAGING = YES BULLET_LICENSE = Zlib BULLET_LICENSE_FILES = LICENSE.txt -# Disable demos apps and unit tests. -# Disable Bullet3 library. -BULLET_CONF_OPTS = -DBUILD_UNIT_TESTS=OFF \ - -DBUILD_BULLET2_DEMOS=OFF \ - -DBUILD_BULLET3=OFF +# Disable unit tests. +# Don't disable demos apps and Bullet3 library to avoid a build failure: +# https://github.com/bulletphysics/bullet3/issues/3143 +BULLET_CONF_OPTS = -DBUILD_UNIT_TESTS=OFF # extras needs dlfcn.h and NPTL (pthread_barrier_init) ifeq ($(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_HAS_THREADS_NPTL),:y) @@ -25,7 +24,7 @@ endif BULLET_CXXFLAGS = $(TARGET_CXXFLAGS) -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +ifneq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180)$(BR2_TOOLCHAIN_HAS_GCC_BUG_101952),) BULLET_CXXFLAGS += -O0 endif diff --git a/package/busybox/0001-networking-libiproute-use-linux-if_packet.h-instead-.patch b/package/busybox/0001-networking-libiproute-use-linux-if_packet.h-instead-.patch index 3aabc96053f..9b5eaf89bd9 100644 --- a/package/busybox/0001-networking-libiproute-use-linux-if_packet.h-instead-.patch +++ b/package/busybox/0001-networking-libiproute-use-linux-if_packet.h-instead-.patch @@ -1,4 +1,4 @@ -From d4fec31889ad660a58dab633c511221feb66e817 Mon Sep 17 00:00:00 2001 +From 60da1d0763224698008d847eb8ad8d4d8c6f54ff Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 5 Oct 2013 15:55:06 +0200 Subject: [PATCH] networking/libiproute: use instead of @@ -14,10 +14,15 @@ This commit fixes the build of iplink with the musl C library. Signed-off-by: Thomas Petazzoni [Gustavo: update for busybox 1.22.0] +Signed-off-by: Petr Vorel +--- + networking/libiproute/iplink.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -diff -Nura busybox-1.22.0.orig/networking/libiproute/iplink.c busybox-1.22.0/networking/libiproute/iplink.c ---- busybox-1.22.0.orig/networking/libiproute/iplink.c 2014-01-01 09:42:40.301137882 -0300 -+++ busybox-1.22.0/networking/libiproute/iplink.c 2014-01-01 09:43:01.282827700 -0300 +diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c +index 1a1064bdc..a4c3ad307 100644 +--- a/networking/libiproute/iplink.c ++++ b/networking/libiproute/iplink.c @@ -7,7 +7,7 @@ */ #include @@ -25,5 +30,8 @@ diff -Nura busybox-1.22.0.orig/networking/libiproute/iplink.c busybox-1.22.0/net -#include +#include #include - + #include +-- +2.33.0 + diff --git a/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch b/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch index 84435442c9d..3a94241043e 100644 --- a/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch +++ b/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch @@ -1,7 +1,8 @@ -From 67eb23d2be8aba3c474dac81a15b0fa11e5847b7 Mon Sep 17 00:00:00 2001 +From 59daea82e7b5abcdb42a4f97a0109f14d5a774ea Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 25 Nov 2013 22:51:53 +0100 -Subject: [PATCH] Makefile.flags: strip non -l arguments returned by pkg-config +Subject: [PATCH] Makefile.flags: strip non -l arguments returned by + pkg-config Signed-off-by: Thomas Petazzoni [yann.morin.1998@free.fr: refresh for 1.29.0] @@ -13,10 +14,10 @@ Signed-off-by: Petr Vorel 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.flags b/Makefile.flags -index 307afa7..885e323 100644 +index 667481983..88d76efec 100644 --- a/Makefile.flags +++ b/Makefile.flags -@@ -176,7 +176,9 @@ ifeq ($(CONFIG_SELINUX),y) +@@ -180,7 +180,9 @@ ifeq ($(CONFIG_SELINUX),y) SELINUX_PC_MODULES = libselinux libsepol $(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES))) CPPFLAGS += $(SELINUX_CFLAGS) @@ -25,8 +26,8 @@ index 307afa7..885e323 100644 + $(patsubst -l%,%,$(filter -l%,$(SELINUX_LIBS))),\ + $(SELINUX_PC_MODULES:lib%=%)) endif - + ifeq ($(CONFIG_FEATURE_NSLOOKUP_BIG),y) --- -1.8.1.2 +-- +2.33.0 diff --git a/package/busybox/0003-update_passwd-fix-context-variable.patch b/package/busybox/0003-update_passwd-fix-context-variable.patch deleted file mode 100644 index 25c07d70543..00000000000 --- a/package/busybox/0003-update_passwd-fix-context-variable.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b4828612abe378491693c9036db19e4f64768307 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 10 Jan 2021 13:15:04 +0100 -Subject: [PATCH] update_passwd: fix context variable - -Commit -https://git.busybox.net/busybox/commit/libbb/update_passwd.c?id=2496616b0a8d1c80cd1416b73a4847b59b9f969a - -changed the variable used from context to seuser but forgot this -change resulting in build errors detected by buildroot autobuilders: - -http://autobuild.buildroot.net/results/b89/b89b7d0f0601bb706e76cea31cf4e43326e5540c//build-end.log - -libbb/update_passwd.c:51:11: error: 'context' undeclared (first use in - this function); did you mean 'ucontext'? - freecon(context); - -Patch sent upstream: -http://lists.busybox.net/pipermail/busybox/2021-January/088467.html - -Signed-off-by: Bernd Kuhls ---- - libbb/update_passwd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libbb/update_passwd.c b/libbb/update_passwd.c -index 7b67f30cd..a228075cc 100644 ---- a/libbb/update_passwd.c -+++ b/libbb/update_passwd.c -@@ -48,7 +48,7 @@ static void check_selinux_update_passwd(const char *username) - bb_simple_error_msg_and_die("SELinux: access denied"); - } - if (ENABLE_FEATURE_CLEAN_UP) -- freecon(context); -+ freecon(seuser); - } - #else - # define check_selinux_update_passwd(username) ((void)0) --- -2.29.2 - diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config index a7aa19ea8aa..1fb4e39e21d 100644 --- a/package/busybox/busybox-minimal.config +++ b/package/busybox/busybox-minimal.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.28.0 -# Wed Feb 7 09:47:09 2018 +# Busybox version: 1.35.0 +# Thu Jan 27 10:16:03 2022 # CONFIG_HAVE_DOT_CONFIG=y @@ -24,6 +24,7 @@ CONFIG_FEATURE_WTMP=y # CONFIG_FEATURE_PIDFILE is not set CONFIG_PID_FILE_PATH="" CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y CONFIG_FEATURE_INSTALLER=y # CONFIG_INSTALL_NO_USR is not set CONFIG_FEATURE_SUID=y @@ -33,8 +34,8 @@ CONFIG_FEATURE_SUID=y CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" # CONFIG_SELINUX is not set # CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y CONFIG_FEATURE_SYSLOG=y -CONFIG_PLATFORM_LINUX=y # # Build Options @@ -52,6 +53,8 @@ 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) @@ -73,6 +76,7 @@ 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 @@ -81,15 +85,21 @@ CONFIG_NO_DEBUG_LIB=y # 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_SHA3_SMALL=1 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS 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=y @@ -100,6 +110,7 @@ CONFIG_FEATURE_REVERSE_SEARCH=y CONFIG_FEATURE_TAB_COMPLETION=y # CONFIG_FEATURE_USERNAME_COMPLETION is not set 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 is not set @@ -112,14 +123,6 @@ CONFIG_LAST_SUPPORTED_WCHAR=0 # 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 # # Applets @@ -149,10 +152,13 @@ CONFIG_LZCAT=y CONFIG_XZCAT=y # CONFIG_XZ is not set # CONFIG_BZIP2 is not set +CONFIG_BZIP2_SMALL=0 CONFIG_FEATURE_BZIP2_DECOMPRESS=y # 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 @@ -188,6 +194,22 @@ CONFIG_LZOPCAT=y # # Coreutils # +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +# CONFIG_FEATURE_TIMEZONE is not set + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y CONFIG_BASENAME=y CONFIG_CAT=y CONFIG_FEATURE_CATN=y @@ -198,10 +220,13 @@ CONFIG_CHOWN=y # CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set CONFIG_CHROOT=y CONFIG_CKSUM=y +CONFIG_CRC32=y # CONFIG_COMM is not set CONFIG_CP=y # CONFIG_FEATURE_CP_LONG_OPTIONS is not set +# CONFIG_FEATURE_CP_REFLINK is not set CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y CONFIG_DATE=y CONFIG_FEATURE_DATE_ISOFMT=y # CONFIG_FEATURE_DATE_NANO is not set @@ -213,6 +238,7 @@ CONFIG_FEATURE_DD_IBS_OBS=y CONFIG_FEATURE_DD_STATUS=y CONFIG_DF=y # CONFIG_FEATURE_DF_FANCY is not set +CONFIG_FEATURE_SKIP_ROOTFS=y CONFIG_DIRNAME=y CONFIG_DOS2UNIX=y CONFIG_UNIX2DOS=y @@ -228,7 +254,6 @@ CONFIG_EXPR_MATH_SUPPORT_64=y CONFIG_FACTOR=y CONFIG_FALSE=y CONFIG_FOLD=y -# CONFIG_FSYNC is not set CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y CONFIG_HOSTID=y @@ -283,9 +308,9 @@ CONFIG_SHRED=y # CONFIG_SHUF is not set CONFIG_SLEEP=y CONFIG_FEATURE_FANCY_SLEEP=y -CONFIG_FEATURE_FLOAT_SLEEP=y CONFIG_SORT=y CONFIG_FEATURE_SORT_BIG=y +# 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 @@ -295,6 +320,7 @@ CONFIG_STTY=y # CONFIG_SUM is not set CONFIG_SYNC=y # CONFIG_FEATURE_SYNC_FANCY is not set +# CONFIG_FSYNC is not set # CONFIG_TAC is not set CONFIG_TAIL=y CONFIG_FEATURE_FANCY_TAIL=y @@ -306,7 +332,6 @@ CONFIG_TEST2=y CONFIG_FEATURE_TEST_64=y # CONFIG_TIMEOUT is not set CONFIG_TOUCH=y -# CONFIG_FEATURE_TOUCH_NODEREF is not set CONFIG_FEATURE_TOUCH_SUSV3=y CONFIG_TR=y CONFIG_FEATURE_TR_CLASSES=y @@ -321,31 +346,17 @@ CONFIG_UNIQ=y CONFIG_UNLINK=y CONFIG_USLEEP=y CONFIG_UUDECODE=y +CONFIG_BASE32=y # CONFIG_BASE64 is not set CONFIG_UUENCODE=y CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set -CONFIG_WHOAMI=y CONFIG_WHO=y CONFIG_W=y # CONFIG_USERS is not set +CONFIG_WHOAMI=y CONFIG_YES=y -# -# Common options -# -CONFIG_FEATURE_VERBOSE=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - # # Console Utilities # @@ -409,6 +420,7 @@ CONFIG_SED=y CONFIG_FEATURE_VI_MAX_LEN=0 # CONFIG_FEATURE_VI_8BIT is not set # CONFIG_FEATURE_VI_COLON is not set +# CONFIG_FEATURE_VI_COLON_EXPAND is not set # CONFIG_FEATURE_VI_YANKMARK is not set # CONFIG_FEATURE_VI_SEARCH is not set # CONFIG_FEATURE_VI_REGEX_SEARCH is not set @@ -422,6 +434,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 # @@ -430,13 +443,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 @@ -446,7 +465,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 @@ -473,6 +494,7 @@ CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y CONFIG_HALT=y CONFIG_POWEROFF=y CONFIG_REBOOT=y +CONFIG_FEATURE_WAIT_FOR_INIT=y # CONFIG_FEATURE_CALL_TELINIT is not set CONFIG_TELINIT_PATH="" CONFIG_INIT=y @@ -495,10 +517,10 @@ CONFIG_FEATURE_SHADOWPASSWDS=y # CONFIG_USE_BB_SHADOW is not set CONFIG_USE_BB_CRYPT=y # CONFIG_USE_BB_CRYPT_SHA is not set -# CONFIG_ADDGROUP is not set -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set CONFIG_ADDUSER=y # CONFIG_FEATURE_CHECK_NAMES is not set CONFIG_LAST_ID=60000 @@ -605,7 +627,6 @@ CONFIG_FSFREEZE=y CONFIG_GETOPT=y CONFIG_FEATURE_GETOPT_LONG=y # CONFIG_HEXDUMP is not set -# CONFIG_FEATURE_HEXDUMP_REVERSE is not set # CONFIG_HD is not set CONFIG_XXD=y # CONFIG_HWCLOCK is not set @@ -624,6 +645,7 @@ CONFIG_XXD=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set # CONFIG_FEATURE_MDEV_EXEC is not set # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set CONFIG_MESG=y CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y CONFIG_MKE2FS=y @@ -647,6 +669,8 @@ CONFIG_FEATURE_MOUNT_FLAGS=y CONFIG_FEATURE_MOUNT_FSTAB=y CONFIG_FEATURE_MOUNT_OTHERTAB=y # CONFIG_MOUNTPOINT is not set +CONFIG_NOLOGIN=y +# CONFIG_NOLOGIN_DEPENDENCIES is not set # CONFIG_NSENTER is not set # CONFIG_PIVOT_ROOT is not set # CONFIG_RDATE is not set @@ -673,6 +697,7 @@ CONFIG_FEATURE_SWAPONOFF_LABEL=y # 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=y CONFIG_FEATURE_UMOUNT_ALL=y @@ -693,6 +718,7 @@ CONFIG_VOLUMEID=y # CONFIG_FEATURE_VOLUMEID_BCACHE is not set # CONFIG_FEATURE_VOLUMEID_BTRFS is not set # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +CONFIG_FEATURE_VOLUMEID_EROFS=y # CONFIG_FEATURE_VOLUMEID_EXFAT is not set # CONFIG_FEATURE_VOLUMEID_EXT is not set # CONFIG_FEATURE_VOLUMEID_F2FS is not set @@ -700,6 +726,7 @@ CONFIG_VOLUMEID=y # 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 @@ -719,8 +746,15 @@ CONFIG_FEATURE_VOLUMEID_MINIX=y # Miscellaneous Utilities # # CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y # CONFIG_BBCONFIG is not set # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BC=y +# CONFIG_DC is not set +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y # CONFIG_BEEP is not set CONFIG_FEATURE_BEEP_FREQ=0 CONFIG_FEATURE_BEEP_LENGTH_MS=0 @@ -739,8 +773,6 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0 # 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 @@ -748,10 +780,10 @@ CONFIG_FEATURE_CROND_DIR="" # CONFIG_FEATURE_DEVFS is not set # CONFIG_DEVMEM is not set # CONFIG_FBSPLASH is not set -# CONFIG_FLASHCP is not set # CONFIG_FLASH_ERASEALL is not set # CONFIG_FLASH_LOCK is not set # CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set # CONFIG_HDPARM is not set # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set @@ -764,6 +796,7 @@ CONFIG_HEXEDIT=y # CONFIG_I2CSET is not set # CONFIG_I2CDUMP is not set # CONFIG_I2CDETECT is not set +CONFIG_I2CTRANSFER=y # CONFIG_INOTIFYD is not set # CONFIG_LESS is not set CONFIG_FEATURE_LESS_MAXLINES=0 @@ -776,12 +809,15 @@ 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=y # CONFIG_MAKEDEVS is not set # CONFIG_FEATURE_MAKEDEVS_LEAF is not set # CONFIG_FEATURE_MAKEDEVS_TABLE is not set # CONFIG_MAN is not set # CONFIG_MICROCOM is not set +CONFIG_MIM=y # CONFIG_MT is not set # CONFIG_NANDWRITE is not set # CONFIG_NANDDUMP is not set @@ -795,16 +831,18 @@ CONFIG_SETFATTR=y CONFIG_SETSERIAL=y # CONFIG_STRINGS is not set # CONFIG_TIME is not set +CONFIG_TS=y # CONFIG_TTYSIZE is not set -# CONFIG_UBIRENAME is not set # CONFIG_UBIATTACH is not set # CONFIG_UBIDETACH is not set # CONFIG_UBIMKVOL is not set # CONFIG_UBIRMVOL is not set # CONFIG_UBIRSVOL is not set # CONFIG_UBIUPDATEVOL is not set +# CONFIG_UBIRENAME is not set # CONFIG_VOLNAME is not set # CONFIG_WATCHDOG is not set +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set # # Networking Utilities @@ -813,6 +851,10 @@ CONFIG_SETSERIAL=y # CONFIG_FEATURE_UNIX_LOCAL is not set # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_HWIB=y +# CONFIG_FEATURE_TLS_SHA1 is not set # CONFIG_ARP is not set # CONFIG_ARPING is not set # CONFIG_BRCTL is not set @@ -830,6 +872,7 @@ CONFIG_SETSERIAL=y CONFIG_HOSTNAME=y CONFIG_DNSDOMAINNAME=y # 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 @@ -841,6 +884,10 @@ CONFIG_DNSDOMAINNAME=y # CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set # CONFIG_FEATURE_HTTPD_PROXY is not set # CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_FEATURE_HTTPD_ETAG is not set +# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +# CONFIG_FEATURE_HTTPD_DATE is not set +# CONFIG_FEATURE_HTTPD_ACL_IP is not set CONFIG_IFCONFIG=y CONFIG_FEATURE_IFCONFIG_STATUS=y # CONFIG_FEATURE_IFCONFIG_SLIP is not set @@ -895,9 +942,12 @@ CONFIG_NETSTAT=y # CONFIG_FEATURE_NETSTAT_WIDE is not set CONFIG_FEATURE_NETSTAT_PRG=y # 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=y # CONFIG_PING6 is not set # CONFIG_FEATURE_FANCY_PING is not set @@ -905,6 +955,8 @@ CONFIG_PING=y CONFIG_ROUTE=y # CONFIG_SLATTACH is not set # CONFIG_SSL_CLIENT is not set +CONFIG_TC=y +CONFIG_FEATURE_TC_INGRESS=y # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y @@ -913,9 +965,11 @@ CONFIG_FEATURE_TELNET_AUTOLOGIN=y CONFIG_FEATURE_TELNET_WIDTH=y # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set +CONFIG_FEATURE_TELNETD_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 @@ -932,6 +986,7 @@ CONFIG_FEATURE_TELNET_WIDTH=y CONFIG_WGET=y # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set # CONFIG_FEATURE_WGET_STATUSBAR is not set +CONFIG_FEATURE_WGET_FTP=y # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_TIMEOUT is not set # CONFIG_FEATURE_WGET_HTTPS is not set @@ -952,16 +1007,18 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # 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 # # Common options for DHCP applets # +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=9 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 # CONFIG_FEATURE_UDHCP_RFC3397 is not set # CONFIG_FEATURE_UDHCP_8021Q is not set -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R" # # Print Utilities @@ -973,17 +1030,19 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" # # 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 @@ -1022,7 +1081,6 @@ CONFIG_FEATURE_PS_LONG=y # 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 @@ -1038,6 +1096,7 @@ CONFIG_FEATURE_PS_LONG=y # CONFIG_SV is not set CONFIG_SV_DEFAULT_SERVICE_DIR="" CONFIG_SVC=y +CONFIG_SVOK=y # CONFIG_SVLOGD is not set # CONFIG_CHCON is not set # CONFIG_GETENFORCE is not set @@ -1062,10 +1121,13 @@ CONFIG_SH_IS_HUSH=y # CONFIG_BASH_IS_ASH is not set # CONFIG_BASH_IS_HUSH is not set CONFIG_BASH_IS_NONE=y +# 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_BASH_COMPAT 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_RANDOM_SUPPORT is not set @@ -1080,8 +1142,11 @@ CONFIG_BASH_IS_NONE=y # CONFIG_ASH_CMDCMD 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_BASH_SOURCE_CURDIR is not set +CONFIG_HUSH_LINENO_VAR=y CONFIG_HUSH_INTERACTIVE=y CONFIG_HUSH_SAVEHISTORY=y CONFIG_HUSH_JOB=y @@ -1102,6 +1167,7 @@ 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 @@ -1118,11 +1184,13 @@ CONFIG_HUSH_GETOPTS=y # 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 is not set +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y # # System Logging Utilities @@ -1137,6 +1205,7 @@ CONFIG_FEATURE_SH_READ_FRAC=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/busybox/busybox.config b/package/busybox/busybox.config index 1ea810e5bef..52cb8ffcd8e 100644 --- a/package/busybox/busybox.config +++ b/package/busybox/busybox.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.28.0 -# Wed Feb 7 09:44:57 2018 +# Busybox version: 1.35.0 +# Thu Jan 27 10:16:54 2022 # CONFIG_HAVE_DOT_CONFIG=y @@ -24,6 +24,7 @@ CONFIG_FEATURE_WTMP=y # CONFIG_FEATURE_PIDFILE is not set CONFIG_PID_FILE_PATH="" CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y CONFIG_FEATURE_INSTALLER=y # CONFIG_INSTALL_NO_USR is not set CONFIG_FEATURE_SUID=y @@ -33,8 +34,8 @@ CONFIG_FEATURE_SUID=y CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" # CONFIG_SELINUX is not set # CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y CONFIG_FEATURE_SYSLOG=y -CONFIG_PLATFORM_LINUX=y # # Build Options @@ -52,6 +53,8 @@ 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) @@ -73,6 +76,7 @@ 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 @@ -81,15 +85,21 @@ CONFIG_NO_DEBUG_LIB=y # 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_SHA3_SMALL=1 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS 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=y @@ -100,6 +110,7 @@ CONFIG_FEATURE_REVERSE_SEARCH=y CONFIG_FEATURE_TAB_COMPLETION=y # CONFIG_FEATURE_USERNAME_COMPLETION is not set 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 is not set @@ -112,14 +123,6 @@ CONFIG_LAST_SUPPORTED_WCHAR=0 # 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 # # Applets @@ -149,10 +152,13 @@ CONFIG_UNXZ=y CONFIG_XZCAT=y CONFIG_XZ=y # CONFIG_BZIP2 is not set +CONFIG_BZIP2_SMALL=0 CONFIG_FEATURE_BZIP2_DECOMPRESS=y CONFIG_CPIO=y # 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=y @@ -188,6 +194,22 @@ CONFIG_FEATURE_UNZIP_XZ=y # # Coreutils # +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +CONFIG_FEATURE_TIMEZONE=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y CONFIG_BASENAME=y CONFIG_CAT=y CONFIG_FEATURE_CATN=y @@ -198,10 +220,13 @@ CONFIG_CHOWN=y # CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set CONFIG_CHROOT=y CONFIG_CKSUM=y +CONFIG_CRC32=y # CONFIG_COMM is not set CONFIG_CP=y # CONFIG_FEATURE_CP_LONG_OPTIONS is not set +# CONFIG_FEATURE_CP_REFLINK is not set CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y CONFIG_DATE=y CONFIG_FEATURE_DATE_ISOFMT=y # CONFIG_FEATURE_DATE_NANO is not set @@ -213,6 +238,7 @@ CONFIG_FEATURE_DD_IBS_OBS=y CONFIG_FEATURE_DD_STATUS=y CONFIG_DF=y # CONFIG_FEATURE_DF_FANCY is not set +CONFIG_FEATURE_SKIP_ROOTFS=y CONFIG_DIRNAME=y CONFIG_DOS2UNIX=y CONFIG_UNIX2DOS=y @@ -228,7 +254,6 @@ CONFIG_EXPR_MATH_SUPPORT_64=y CONFIG_FACTOR=y CONFIG_FALSE=y CONFIG_FOLD=y -# CONFIG_FSYNC is not set CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y CONFIG_HOSTID=y @@ -283,9 +308,9 @@ CONFIG_SHRED=y # CONFIG_SHUF is not set CONFIG_SLEEP=y CONFIG_FEATURE_FANCY_SLEEP=y -CONFIG_FEATURE_FLOAT_SLEEP=y CONFIG_SORT=y CONFIG_FEATURE_SORT_BIG=y +# 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 @@ -295,6 +320,7 @@ CONFIG_STTY=y # CONFIG_SUM is not set CONFIG_SYNC=y # CONFIG_FEATURE_SYNC_FANCY is not set +# CONFIG_FSYNC is not set # CONFIG_TAC is not set CONFIG_TAIL=y CONFIG_FEATURE_FANCY_TAIL=y @@ -306,7 +332,6 @@ CONFIG_TEST2=y CONFIG_FEATURE_TEST_64=y # CONFIG_TIMEOUT is not set CONFIG_TOUCH=y -# CONFIG_FEATURE_TOUCH_NODEREF is not set CONFIG_FEATURE_TOUCH_SUSV3=y CONFIG_TR=y CONFIG_FEATURE_TR_CLASSES=y @@ -321,31 +346,17 @@ CONFIG_UNIQ=y CONFIG_UNLINK=y CONFIG_USLEEP=y CONFIG_UUDECODE=y +CONFIG_BASE32=y CONFIG_BASE64=y CONFIG_UUENCODE=y CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set -CONFIG_WHOAMI=y CONFIG_WHO=y CONFIG_W=y # CONFIG_USERS is not set +CONFIG_WHOAMI=y CONFIG_YES=y -# -# Common options -# -CONFIG_FEATURE_VERBOSE=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - # # Console Utilities # @@ -413,6 +424,7 @@ CONFIG_VI=y CONFIG_FEATURE_VI_MAX_LEN=4096 CONFIG_FEATURE_VI_8BIT=y CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y CONFIG_FEATURE_VI_YANKMARK=y CONFIG_FEATURE_VI_SEARCH=y # CONFIG_FEATURE_VI_REGEX_SEARCH is not set @@ -426,6 +438,7 @@ CONFIG_FEATURE_VI_ASK_TERMINAL=y CONFIG_FEATURE_VI_UNDO=y CONFIG_FEATURE_VI_UNDO_QUEUE=y CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y CONFIG_FEATURE_ALLOW_EXEC=y # @@ -434,13 +447,19 @@ CONFIG_FEATURE_ALLOW_EXEC=y CONFIG_FIND=y CONFIG_FEATURE_FIND_PRINT0=y CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_ATIME=y +CONFIG_FEATURE_FIND_CTIME=y CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_AMIN=y +CONFIG_FEATURE_FIND_CMIN=y CONFIG_FEATURE_FIND_PERM=y CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_EXECUTABLE=y CONFIG_FEATURE_FIND_XDEV=y CONFIG_FEATURE_FIND_MAXDEPTH=y CONFIG_FEATURE_FIND_NEWER=y # CONFIG_FEATURE_FIND_INUM is not set +CONFIG_FEATURE_FIND_SAMEFILE=y CONFIG_FEATURE_FIND_EXEC=y CONFIG_FEATURE_FIND_EXEC_PLUS=y CONFIG_FEATURE_FIND_USER=y @@ -450,7 +469,9 @@ CONFIG_FEATURE_FIND_DEPTH=y CONFIG_FEATURE_FIND_PAREN=y CONFIG_FEATURE_FIND_SIZE=y CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_QUIT=y # CONFIG_FEATURE_FIND_DELETE is not set +CONFIG_FEATURE_FIND_EMPTY=y CONFIG_FEATURE_FIND_PATH=y CONFIG_FEATURE_FIND_REGEX=y # CONFIG_FEATURE_FIND_CONTEXT is not set @@ -477,6 +498,7 @@ CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y CONFIG_HALT=y CONFIG_POWEROFF=y CONFIG_REBOOT=y +CONFIG_FEATURE_WAIT_FOR_INIT=y # CONFIG_FEATURE_CALL_TELINIT is not set CONFIG_TELINIT_PATH="" CONFIG_INIT=y @@ -499,10 +521,10 @@ CONFIG_FEATURE_SHADOWPASSWDS=y # CONFIG_USE_BB_SHADOW is not set CONFIG_USE_BB_CRYPT=y # CONFIG_USE_BB_CRYPT_SHA is not set -CONFIG_ADDGROUP=y -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set +CONFIG_ADDGROUP=y +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set CONFIG_ADDUSER=y # CONFIG_FEATURE_CHECK_NAMES is not set CONFIG_LAST_ID=60000 @@ -609,7 +631,6 @@ CONFIG_FSTRIM=y CONFIG_GETOPT=y CONFIG_FEATURE_GETOPT_LONG=y CONFIG_HEXDUMP=y -# CONFIG_FEATURE_HEXDUMP_REVERSE is not set # CONFIG_HD is not set CONFIG_XXD=y CONFIG_HWCLOCK=y @@ -652,6 +673,8 @@ CONFIG_FEATURE_MOUNT_FLAGS=y CONFIG_FEATURE_MOUNT_FSTAB=y CONFIG_FEATURE_MOUNT_OTHERTAB=y CONFIG_MOUNTPOINT=y +CONFIG_NOLOGIN=y +# CONFIG_NOLOGIN_DEPENDENCIES is not set # CONFIG_NSENTER is not set CONFIG_PIVOT_ROOT=y CONFIG_RDATE=y @@ -678,6 +701,7 @@ CONFIG_FEATURE_SWAPONOFF_LABEL=y CONFIG_SWITCH_ROOT=y # CONFIG_TASKSET is not set # CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_FEATURE_TASKSET_CPULIST is not set CONFIG_UEVENT=y CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y @@ -698,6 +722,7 @@ CONFIG_VOLUMEID=y # CONFIG_FEATURE_VOLUMEID_BCACHE is not set # CONFIG_FEATURE_VOLUMEID_BTRFS is not set # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +CONFIG_FEATURE_VOLUMEID_EROFS=y CONFIG_FEATURE_VOLUMEID_EXFAT=y CONFIG_FEATURE_VOLUMEID_EXT=y CONFIG_FEATURE_VOLUMEID_F2FS=y @@ -705,6 +730,7 @@ CONFIG_FEATURE_VOLUMEID_FAT=y # 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 @@ -724,8 +750,15 @@ CONFIG_FEATURE_VOLUMEID_UBIFS=y # Miscellaneous Utilities # # CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y # CONFIG_BBCONFIG is not set # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BC=y +CONFIG_DC=y +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y # CONFIG_BEEP is not set CONFIG_FEATURE_BEEP_FREQ=0 CONFIG_FEATURE_BEEP_LENGTH_MS=0 @@ -744,8 +777,6 @@ CONFIG_CROND=y CONFIG_FEATURE_CROND_SPECIAL_TIMES=y CONFIG_FEATURE_CROND_DIR="/var/spool/cron" CONFIG_CRONTAB=y -CONFIG_DC=y -# 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 @@ -753,10 +784,10 @@ CONFIG_DC=y # CONFIG_FEATURE_DEVFS is not set CONFIG_DEVMEM=y # CONFIG_FBSPLASH is not set -# CONFIG_FLASHCP is not set # CONFIG_FLASH_ERASEALL is not set # CONFIG_FLASH_LOCK is not set # CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set CONFIG_HDPARM=y CONFIG_FEATURE_HDPARM_GET_IDENTITY=y # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set @@ -769,6 +800,7 @@ CONFIG_I2CGET=y CONFIG_I2CSET=y CONFIG_I2CDUMP=y CONFIG_I2CDETECT=y +CONFIG_I2CTRANSFER=y # CONFIG_INOTIFYD is not set CONFIG_LESS=y CONFIG_FEATURE_LESS_MAXLINES=9999999 @@ -781,12 +813,15 @@ CONFIG_FEATURE_LESS_REGEXP=y # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set # CONFIG_FEATURE_LESS_DASHCMD is not set # CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_FEATURE_LESS_RAW is not set +# CONFIG_FEATURE_LESS_ENV is not set CONFIG_LSSCSI=y CONFIG_MAKEDEVS=y # CONFIG_FEATURE_MAKEDEVS_LEAF is not set CONFIG_FEATURE_MAKEDEVS_TABLE=y # CONFIG_MAN is not set CONFIG_MICROCOM=y +CONFIG_MIM=y CONFIG_MT=y # CONFIG_NANDWRITE is not set # CONFIG_NANDDUMP is not set @@ -800,16 +835,18 @@ CONFIG_SETFATTR=y CONFIG_SETSERIAL=y CONFIG_STRINGS=y CONFIG_TIME=y +CONFIG_TS=y # CONFIG_TTYSIZE is not set -CONFIG_UBIRENAME=y # CONFIG_UBIATTACH is not set # CONFIG_UBIDETACH is not set # CONFIG_UBIMKVOL is not set # CONFIG_UBIRMVOL is not set # CONFIG_UBIRSVOL is not set # CONFIG_UBIUPDATEVOL is not set +CONFIG_UBIRENAME=y # CONFIG_VOLNAME is not set CONFIG_WATCHDOG=y +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set # # Networking Utilities @@ -818,6 +855,10 @@ CONFIG_FEATURE_IPV6=y # CONFIG_FEATURE_UNIX_LOCAL is not set CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_HWIB=y +# CONFIG_FEATURE_TLS_SHA1 is not set CONFIG_ARP=y CONFIG_ARPING=y # CONFIG_BRCTL is not set @@ -835,6 +876,7 @@ CONFIG_ETHER_WAKE=y CONFIG_HOSTNAME=y CONFIG_DNSDOMAINNAME=y # 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 @@ -846,6 +888,10 @@ CONFIG_DNSDOMAINNAME=y # CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set # CONFIG_FEATURE_HTTPD_PROXY is not set # CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_FEATURE_HTTPD_ETAG is not set +# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +# CONFIG_FEATURE_HTTPD_DATE is not set +# CONFIG_FEATURE_HTTPD_ACL_IP is not set CONFIG_IFCONFIG=y CONFIG_FEATURE_IFCONFIG_STATUS=y CONFIG_FEATURE_IFCONFIG_SLIP=y @@ -900,9 +946,12 @@ CONFIG_NETSTAT=y # CONFIG_FEATURE_NETSTAT_WIDE is not set # CONFIG_FEATURE_NETSTAT_PRG is not set CONFIG_NSLOOKUP=y +CONFIG_FEATURE_NSLOOKUP_BIG=y +CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y # 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=y # CONFIG_PING6 is not set CONFIG_FEATURE_FANCY_PING=y @@ -910,6 +959,8 @@ CONFIG_FEATURE_FANCY_PING=y CONFIG_ROUTE=y # CONFIG_SLATTACH is not set # CONFIG_SSL_CLIENT is not set +CONFIG_TC=y +CONFIG_FEATURE_TC_INGRESS=y # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y @@ -918,14 +969,12 @@ CONFIG_FEATURE_TELNET_AUTOLOGIN=y CONFIG_FEATURE_TELNET_WIDTH=y # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set +CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0 # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set CONFIG_TFTP=y # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +CONFIG_FEATURE_TFTP_HPA_COMPAT=y # CONFIG_TFTPD is not set - -# -# Common options for tftp/tftpd -# CONFIG_FEATURE_TFTP_GET=y CONFIG_FEATURE_TFTP_PUT=y CONFIG_FEATURE_TFTP_BLOCKSIZE=y @@ -941,6 +990,7 @@ CONFIG_VCONFIG=y CONFIG_WGET=y CONFIG_FEATURE_WGET_LONG_OPTIONS=y CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_FTP=y CONFIG_FEATURE_WGET_AUTHENTICATION=y CONFIG_FEATURE_WGET_TIMEOUT=y # CONFIG_FEATURE_WGET_HTTPS is not set @@ -961,16 +1011,18 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # 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 # # Common options for DHCP applets # +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 CONFIG_FEATURE_UDHCP_RFC3397=y CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n -O search" +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-b -R -O search" # # Print Utilities @@ -982,17 +1034,19 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n -O search" # # 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=y CONFIG_FUSER=y # CONFIG_IOSTAT is not set @@ -1031,7 +1085,6 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y CONFIG_UPTIME=y # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set CONFIG_WATCH=y -# CONFIG_FEATURE_SHOW_THREADS is not set # # Runit Utilities @@ -1047,6 +1100,7 @@ CONFIG_WATCH=y # CONFIG_SV is not set CONFIG_SV_DEFAULT_SERVICE_DIR="" CONFIG_SVC=y +CONFIG_SVOK=y # CONFIG_SVLOGD is not set # CONFIG_CHCON is not set # CONFIG_GETENFORCE is not set @@ -1071,10 +1125,13 @@ CONFIG_SH_IS_ASH=y # CONFIG_BASH_IS_ASH is not set # CONFIG_BASH_IS_HUSH is not set CONFIG_BASH_IS_NONE=y +CONFIG_SHELL_ASH=y CONFIG_ASH=y CONFIG_ASH_OPTIMIZE_FOR_SIZE=y CONFIG_ASH_INTERNAL_GLOB=y CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y CONFIG_ASH_JOB_CONTROL=y CONFIG_ASH_ALIAS=y CONFIG_ASH_RANDOM_SUPPORT=y @@ -1089,8 +1146,11 @@ CONFIG_ASH_GETOPTS=y CONFIG_ASH_CMDCMD=y # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set @@ -1111,6 +1171,7 @@ CONFIG_ASH_CMDCMD=y # CONFIG_HUSH_READONLY is not set # CONFIG_HUSH_KILL is not set # CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set # CONFIG_HUSH_TRAP is not set # CONFIG_HUSH_TYPE is not set # CONFIG_HUSH_TIMES is not set @@ -1127,11 +1188,13 @@ CONFIG_ASH_CMDCMD=y # 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 is not set +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y # # System Logging Utilities @@ -1146,6 +1209,7 @@ CONFIG_FEATURE_ROTATE_LOGFILE=y CONFIG_FEATURE_REMOTE_LOG=y # 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=256 # CONFIG_FEATURE_IPC_SYSLOG is not set CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 diff --git a/package/busybox/busybox.hash b/package/busybox/busybox.hash index dffab214005..2091cdaf659 100644 --- a/package/busybox/busybox.hash +++ b/package/busybox/busybox.hash @@ -1,5 +1,5 @@ -# From https://busybox.net/downloads/busybox-1.33.0.tar.bz2.sha256 -sha256 d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd busybox-1.33.0.tar.bz2 +# From https://busybox.net/downloads/busybox-1.35.0.tar.bz2.sha256 +sha256 faeeb244c35a348a334f4a59e44626ee870fb07b6884d68c10ae8bc19f83a694 busybox-1.35.0.tar.bz2 # Locally computed sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE sha256 b5a136ed67798e51fe2e0ca0b2a21cb01b904ff0c9f7d563a6292e276607e58f archival/libarchive/bz/LICENSE diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 032e4872675..3e49de0a848 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -4,17 +4,13 @@ # ################################################################################ -BUSYBOX_VERSION = 1.33.0 +BUSYBOX_VERSION = 1.35.0 BUSYBOX_SITE = https://www.busybox.net/downloads BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 BUSYBOX_LICENSE = GPL-2.0, bzip2-1.0.4 BUSYBOX_LICENSE_FILES = LICENSE archival/libarchive/bz/LICENSE BUSYBOX_CPE_ID_VENDOR = busybox -define BUSYBOX_HELP_CMDS - @echo ' busybox-menuconfig - Run BusyBox menuconfig' -endef - BUSYBOX_CFLAGS = \ $(TARGET_CFLAGS) @@ -95,8 +91,11 @@ BUSYBOX_MAKE_ENV += \ endif BUSYBOX_MAKE_OPTS = \ + AR="$(TARGET_AR)" \ + NM="$(TARGET_NM)" \ + RANLIB="$(TARGET_RANLIB)" \ CC="$(TARGET_CC)" \ - ARCH=$(KERNEL_ARCH) \ + ARCH=$(NORMALIZED_ARCH) \ PREFIX="$(TARGET_DIR)" \ EXTRA_LDFLAGS="$(BUSYBOX_LDFLAGS)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ @@ -107,6 +106,7 @@ ifndef BUSYBOX_CONFIG_FILE BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) endif +BUSYBOX_KCONFIG_SUPPORTS_DEFCONFIG = NO BUSYBOX_KCONFIG_FILE = $(BUSYBOX_CONFIG_FILE) BUSYBOX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES)) BUSYBOX_KCONFIG_EDITORS = menuconfig xconfig gconfig @@ -335,6 +335,12 @@ define BUSYBOX_INSTALL_TELNET_SCRIPT $(TARGET_DIR)/etc/init.d/S50telnet ; \ fi endef +define BUSYBOX_INSTALL_TELNET_SERVICE + if grep -q CONFIG_FEATURE_TELNETD_STANDALONE=y $(@D)/.config; then \ + $(INSTALL) -D -m 0644 package/busybox/telnetd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/telnetd.service ; \ + fi +endef # Add /bin/{a,hu}sh to /etc/shells otherwise some login tools like dropbear # can reject the user connection. See man shells. @@ -387,6 +393,10 @@ define BUSYBOX_INSTALL_INIT_OPENRC $(BUSYBOX_INSTALL_TELNET_SCRIPT) endef +define BUSYBOX_INSTALL_INIT_SYSTEMD + $(BUSYBOX_INSTALL_TELNET_SERVICE) +endef + define BUSYBOX_INSTALL_INIT_SYSV $(BUSYBOX_INSTALL_MDEV_SCRIPT) $(BUSYBOX_INSTALL_LOGGING_SCRIPT) diff --git a/package/busybox/inittab b/package/busybox/inittab index ff1725c775a..f2b4df801b4 100644 --- a/package/busybox/inittab +++ b/package/busybox/inittab @@ -18,6 +18,7 @@ ::sysinit:/bin/mount -o remount,rw / ::sysinit:/bin/mkdir -p /dev/pts /dev/shm ::sysinit:/bin/mount -a +::sysinit:/bin/mkdir -p /run/lock/subsys ::sysinit:/sbin/swapon -a null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin diff --git a/package/busybox/telnetd.service b/package/busybox/telnetd.service new file mode 100644 index 00000000000..8a640b761f5 --- /dev/null +++ b/package/busybox/telnetd.service @@ -0,0 +1,10 @@ +[Unit] +Description=Telnetd Service +After=network.target + +[Service] +Type=simple +ExecStart=/usr/sbin/telnetd -F + +[Install] +WantedBy=multi-user.target diff --git a/package/busybox/udhcpc.script b/package/busybox/udhcpc.script index c73ad6c2efc..74dc5532b93 100755 --- a/package/busybox/udhcpc.script +++ b/package/busybox/udhcpc.script @@ -4,6 +4,7 @@ [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 +ACTION="$1" RESOLV_CONF="/etc/resolv.conf" [ -e $RESOLV_CONF ] || touch $RESOLV_CONF [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" @@ -29,7 +30,7 @@ wait_for_ipv6_default_route() { printf " timeout!\n" } -case "$1" in +case "$ACTION" in deconfig) /sbin/ifconfig $interface up /sbin/ifconfig $interface 0.0.0.0 @@ -115,7 +116,7 @@ esac HOOK_DIR="$0.d" for hook in "${HOOK_DIR}/"*; do [ -f "${hook}" -a -x "${hook}" ] || continue - "${hook}" "${@}" + "${hook}" "$ACTION" done exit 0 diff --git a/package/bwm-ng/bwm-ng.hash b/package/bwm-ng/bwm-ng.hash index 4b662276766..d447673f5d8 100644 --- a/package/bwm-ng/bwm-ng.hash +++ b/package/bwm-ng/bwm-ng.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 906a2d561f2ec9e0dd68b7f51b302908e99515ea1216d0ecaf14d873ef54ae70 bwm-ng-0.6.2.tar.gz +sha256 c1a552b6ff48ea3e4e10110a7c188861abc4750befc67c6caaba8eb3ecf67f46 bwm-ng-0.6.3.tar.gz sha256 8556cc15ba3c0a411bf7d94bac5870829fb725f294b450c724c1e0856a601556 COPYING diff --git a/package/bwm-ng/bwm-ng.mk b/package/bwm-ng/bwm-ng.mk index 4a34559e3c7..de09eafae5f 100644 --- a/package/bwm-ng/bwm-ng.mk +++ b/package/bwm-ng/bwm-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -BWM_NG_VERSION = 0.6.2 +BWM_NG_VERSION = 0.6.3 BWM_NG_SITE = $(call github,vgropp,bwm-ng,v$(BWM_NG_VERSION)) BWM_NG_CONF_OPTS = --with-procnetdev --with-diskstats BWM_NG_LICENSE = GPL-2.0+ diff --git a/package/c-ares/c-ares.hash b/package/c-ares/c-ares.hash index 235b7dbc66e..af1f076aab0 100644 --- a/package/c-ares/c-ares.hash +++ b/package/c-ares/c-ares.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 d73dd0f6de824afd407ce10750ea081af47eba52b8a6cb307d220131ad93fc40 c-ares-1.17.1.tar.gz +sha256 1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf c-ares-1.18.1.tar.gz # Hash for license file sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index 8f200237cf0..0152759ebcc 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,12 +4,13 @@ # ################################################################################ -C_ARES_VERSION = 1.17.1 +C_ARES_VERSION = 1.18.1 C_ARES_SITE = http://c-ares.haxx.se/download C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom C_ARES_LICENSE = MIT C_ARES_LICENSE_FILES = LICENSE.md +C_ARES_CPE_ID_VENDOR = c-ares_project $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/c-periphery/c-periphery.mk b/package/c-periphery/c-periphery.mk index dcc82f19c00..722679f9f86 100644 --- a/package/c-periphery/c-periphery.mk +++ b/package/c-periphery/c-periphery.mk @@ -9,5 +9,6 @@ C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,v$(C_PERIPHERY_VERSION)) C_PERIPHERY_INSTALL_STAGING = YES C_PERIPHERY_LICENSE = MIT C_PERIPHERY_LICENSE_FILES = LICENSE +C_PERIPHERY_CPE_ID_VENDOR = c-periphery_project $(eval $(cmake-package)) diff --git a/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch b/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch new file mode 100644 index 00000000000..b76c1bfd7f5 --- /dev/null +++ b/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch @@ -0,0 +1,59 @@ +From bf18b564122e8f976681a2398862fde1eafd84ba Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 6 Jan 2022 23:15:00 +0100 +Subject: [PATCH] mozilla/certdata2pem.py: make cryptography module optional + +The Python cryptography module is only used to verify if trusted +certificates have expired, but this is only a warning. For some build +systems and distributions, providing Python cryptography is costly, +especially since it's now partly written in Rust. + +As the check is only a warning, it's anyway going to be overlooked by +most people. This commit changes the check to be optional: if the +cryptography Python module is there, we perform the check, otherwise +the check is skipped. + +Signed-off-by: Thomas Petazzoni +--- + mozilla/certdata2pem.py | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py +index ede23d4..a6261f8 100644 +--- a/mozilla/certdata2pem.py ++++ b/mozilla/certdata2pem.py +@@ -28,9 +28,6 @@ import sys + import textwrap + import io + +-from cryptography import x509 +- +- + objects = [] + + # Dirty file parser. +@@ -122,11 +119,16 @@ for obj in objects: + if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]: + continue + +- cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) +- if cert.not_valid_after < datetime.datetime.now(): +- print('!'*74) +- print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) +- print('!'*74) ++ try: ++ from cryptography import x509 ++ ++ cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) ++ if cert.not_valid_after < datetime.datetime.now(): ++ print('!'*74) ++ print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) ++ print('!'*74) ++ except ImportError: ++ pass + + bname = obj['CKA_LABEL'][1:-1].replace('/', '_')\ + .replace(' ', '_')\ +-- +2.33.1 + diff --git a/package/ca-certificates/ca-certificates.hash b/package/ca-certificates/ca-certificates.hash index 1ed1c3ca062..a1675b999e7 100644 --- a/package/ca-certificates/ca-certificates.hash +++ b/package/ca-certificates/ca-certificates.hash @@ -1,6 +1,6 @@ # hashes from: $(CA_CERTIFICATES_SITE)/ca-certificates_$(CA_CERTIFICATES_VERSION).dsc : -sha1 f17235bc9c3aec538065a655681815c242a6d7d5 ca-certificates_20200601.tar.xz -sha256 43766d5a436519503dfd65ab83488ae33ab4d4ca3d0993797b58c92eb9ed4e63 ca-certificates_20200601.tar.xz +sha1 bce5a8fac45456dbebf256f3a812c6cd0a853e3e ca-certificates_20211016.tar.xz +sha256 2ae9b6dc5f40c25d6d7fe55e07b54f12a8967d1955d3b7b2f42ee46266eeef88 ca-certificates_20211016.tar.xz # Locally computed sha256 e85e1bcad3a915dc7e6f41412bc5bdeba275cadd817896ea0451f2140a93967c debian/copyright diff --git a/package/ca-certificates/ca-certificates.mk b/package/ca-certificates/ca-certificates.mk index 5c24d4be49a..0b6962ab7b8 100644 --- a/package/ca-certificates/ca-certificates.mk +++ b/package/ca-certificates/ca-certificates.mk @@ -4,14 +4,10 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 20200601 +CA_CERTIFICATES_VERSION = 20211016 CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz -CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20200602T145955Z/pool/main/c/ca-certificates -CA_CERTIFICATES_DEPENDENCIES = host-openssl -# ca-certificates can be built with either python 2 or python 3 -# but it must be at least python 2.7 -CA_CERTIFICATES_DEPENDENCIES += \ - $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) +CA_CERTIFICATES_SITE = https://snapshot.debian.org/archive/debian/20211022T144903Z/pool/main/c/ca-certificates +CA_CERTIFICATES_DEPENDENCIES = host-openssl host-python3 CA_CERTIFICATES_LICENSE = GPL-2.0+ (script), MPL-2.0 (data) CA_CERTIFICATES_LICENSE_FILES = debian/copyright @@ -26,7 +22,7 @@ define CA_CERTIFICATES_INSTALL_TARGET_CMDS rm -f $(TARGET_DIR)/usr/sbin/update-ca-certificates # Remove any existing certificates under /etc/ssl/certs - rm -f $(TARGET_DIR)/etc/ssl/certs/* + rm -f $(TARGET_DIR)/etc/ssl/certs/* # Create symlinks to certificates under /etc/ssl/certs # and generate the bundle diff --git a/package/cage/Config.in b/package/cage/Config.in index 3bef08f0373..0844d6ff62a 100644 --- a/package/cage/Config.in +++ b/package/cage/Config.in @@ -1,6 +1,7 @@ -comment "cage needs udev, mesa3d w/ EGL and GLES support" - depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL || \ - !BR2_PACKAGE_MESA3D_OPENGL_ES || \ +comment "cage needs udev, EGL w/ Wayland backend and OpenGL ES support" + depends on !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ + !BR2_PACKAGE_HAS_LIBGLES || \ !BR2_PACKAGE_HAS_UDEV comment "cage needs a toolchain w/ threads, dynamic library" @@ -11,9 +12,10 @@ config BR2_PACKAGE_CAGE bool "cage" depends on !BR2_STATIC_LIBS # wlroots depends on BR2_TOOLCHAIN_HAS_THREADS # wlroots + depends on BR2_PACKAGE_HAS_LIBEGL # wlroots + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wlroots + depends on BR2_PACKAGE_HAS_LIBGLES # wlroots depends on BR2_PACKAGE_HAS_UDEV # wlroots - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # wlroots - depends on BR2_PACKAGE_MESA3D_OPENGL_ES # wlroots select BR2_PACKAGE_WLROOTS help Kiosk compositor for Wayland, which displays a single diff --git a/package/cage/cage.hash b/package/cage/cage.hash index 5cae952d729..31ae25bacca 100644 --- a/package/cage/cage.hash +++ b/package/cage/cage.hash @@ -1,5 +1,5 @@ -# Generated locally -sha256 38a3e3968f00cc58fe1d9448e972cfac7d1efa30c48699f09032f264101a55ac cage-0.1.2.1.tar.gz +# Generated locally after checking GPG signature +sha256 dfe27fb0c7d43db72d6c82f01e2736580a0791a23ba69d7b56285d08af98ad90 cage-0.1.4.tar.gz # Hashes for license files: sha256 e117104073335dbaf78596fb1bedf89dda63c71f60f0b665947b2d369c77ecee LICENSE diff --git a/package/cage/cage.mk b/package/cage/cage.mk index 9fc01d36c1b..c132f086f63 100644 --- a/package/cage/cage.mk +++ b/package/cage/cage.mk @@ -4,16 +4,17 @@ # ################################################################################ -CAGE_VERSION = 0.1.2.1 +CAGE_VERSION = 0.1.4 CAGE_SITE = https://github.com/Hjdskes/cage/releases/download/v$(CAGE_VERSION) CAGE_LICENSE = MIT CAGE_LICENSE_FILES = LICENSE CAGE_DEPENDENCIES = host-pkgconf wlroots +CAGE_CONF_OPTS = -Dman-pages=disabled -ifeq ($(BR2_PACKAGE_XORG7),y) -CAGE_CONF_OPTS = -Dxwayland=true +ifeq ($(BR2_PACKAGE_WLROOTS_X11),y) +CAGE_CONF_OPTS += -Dxwayland=true else -CAGE_CONF_OPTS = -Dxwayland=false +CAGE_CONF_OPTS += -Dxwayland=false endif $(eval $(meson-package)) diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index 98f270442a9..f479aa252a1 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -15,6 +15,8 @@ CAIRO_INSTALL_STAGING = YES # 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch CAIRO_IGNORE_CVES += CVE-2018-19876 +CAIRO_CONF_ENV = LIBS="$(CAIRO_LIBS)" + # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot" @@ -27,7 +29,7 @@ endif # cairo can use C++11 atomics when available, so we need to link with # libatomic for the architectures who need libatomic. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -CAIRO_CONF_ENV += LIBS="-latomic" +CAIRO_LIBS += -latomic endif CAIRO_CONF_OPTS = \ @@ -81,6 +83,11 @@ else CAIRO_CONF_OPTS += --disable-ft endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +CAIRO_DEPENDENCIES += libexecinfo +CAIRO_LIBS += -lexecinfo +endif + ifeq ($(BR2_PACKAGE_LIBGLIB2),y) CAIRO_CONF_OPTS += --enable-gobject CAIRO_DEPENDENCIES += libglib2 diff --git a/package/cairomm/Config.in b/package/cairomm/Config.in index 840549b47ca..dae52f01f73 100644 --- a/package/cairomm/Config.in +++ b/package/cairomm/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_CAIROMM bool "cairomm" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_USE_MMU # libglib2 @@ -13,7 +13,7 @@ config BR2_PACKAGE_CAIROMM http://www.gtkmm.org/ -comment "cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" +comment "cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 7" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \ || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/cairomm/cairomm.hash b/package/cairomm/cairomm.hash index 573104ec961..d14a65c2d6f 100644 --- a/package/cairomm/cairomm.hash +++ b/package/cairomm/cairomm.hash @@ -1,4 +1,3 @@ -# From http://ftp.gnome.org/pub/gnome/sources/cairomm/1.12/cairomm-1.12.0.sha256sum -sha256 a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6 cairomm-1.12.0.tar.xz # Locally computed -sha256 bfe4a52dc4645385f356a8e83cc54216a293e3b6f1cb4f79f5fc0277abf937fd COPYING +sha256 bb86d855041bd46d31b03e43ea355d233de44034b39d4200725b1e0947e63e67 cairomm-1.16.1.tar.gz +sha256 bfe4a52dc4645385f356a8e83cc54216a293e3b6f1cb4f79f5fc0277abf937fd COPYING diff --git a/package/cairomm/cairomm.mk b/package/cairomm/cairomm.mk index 07aae971d06..856c9d67fc2 100644 --- a/package/cairomm/cairomm.mk +++ b/package/cairomm/cairomm.mk @@ -4,13 +4,12 @@ # ################################################################################ -CAIROMM_VERSION_MAJOR = 1.12 -CAIROMM_VERSION = $(CAIROMM_VERSION_MAJOR).0 +CAIROMM_VERSION = 1.16.1 CAIROMM_LICENSE = LGPL-2.0+ CAIROMM_LICENSE_FILES = COPYING -CAIROMM_SOURCE = cairomm-$(CAIROMM_VERSION).tar.xz -CAIROMM_SITE = http://ftp.gnome.org/pub/gnome/sources/cairomm/$(CAIROMM_VERSION_MAJOR) +CAIROMM_SITE = https://gitlab.freedesktop.org/cairo/cairomm/-/archive/$(CAIROMM_VERSION) CAIROMM_INSTALL_STAGING = YES CAIROMM_DEPENDENCIES = cairo libglib2 libsigc host-pkgconf +CAIROMM_CONF_OPTS = -Dbuild-examples=false -Dbuild-tests=false -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/can-utils/can-utils.hash b/package/can-utils/can-utils.hash index d7d46245061..4e47143f313 100644 --- a/package/can-utils/can-utils.hash +++ b/package/can-utils/can-utils.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 b8e53081c076fca248c39ae9ae5791359a81f1eb3e5fe23ff6fb0d0e1f1033fa can-utils-2020.11.0.tar.gz +sha256 c9b8f29515ad34af7f78450ec55c983abc5393e86b1f128a92ac0dfd141baaf7 can-utils-2021.08.0.tar.gz sha256 c3dc748f5e725cf5ed89784fe78e4ff1b05d309bf1e7ade4c572e8fde1b8406c LICENSES/BSD-3-Clause sha256 995a31f60a9ddb4c609214cc7d17ca94cc3cbc7f37e1e64dba81e7f8ea9d4f91 LICENSES/GPL-2.0-only.txt diff --git a/package/can-utils/can-utils.mk b/package/can-utils/can-utils.mk index 2cd7777d898..5b8a2aeea3b 100644 --- a/package/can-utils/can-utils.mk +++ b/package/can-utils/can-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -CAN_UTILS_VERSION = 2020.11.0 +CAN_UTILS_VERSION = 2021.08.0 CAN_UTILS_SITE = $(call github,linux-can,can-utils,v$(CAN_UTILS_VERSION)) CAN_UTILS_LICENSE = BSD-3-Clause or GPL-2.0 CAN_UTILS_LICENSE_FILES = LICENSES/BSD-3-Clause LICENSES/GPL-2.0-only.txt diff --git a/package/canfestival/0001-install-pkgconfig-module-for-canfestival.patch b/package/canfestival/0001-install-pkgconfig-module-for-canfestival.patch deleted file mode 100644 index 23f3d899f18..00000000000 --- a/package/canfestival/0001-install-pkgconfig-module-for-canfestival.patch +++ /dev/null @@ -1,74 +0,0 @@ -From s.martin49@gmail.com Sun Sep 28 14:59:53 2014 -Content-Type: text/plain; charset="us-ascii" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [PATCH] Install pkgconfig module for canfestival -X-Mercurial-Node: c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 -X-Mercurial-Series-Index: 1 -X-Mercurial-Series-Total: 1 -Message-Id: -X-Mercurial-Series-Id: -User-Agent: Mercurial-patchbomb/3.1.1 -Date: Sun, 28 Sep 2014 14:59:53 +0200 -From: Samuel Martin -To: canfestival-devel@lists.sourceforge.net -Cc: Samuel Martin - -# HG changeset patch -# User "Samuel Martin" -# Date 1411906817 -7200 -# Sun Sep 28 14:20:17 2014 +0200 -# Node ID c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 -# Parent 7740ac6fdedc23e1ed6908d3d7db54833c88572b -Install pkgconfig module for canfestival. - -Signed-off-by: Samuel Martin -Cc: Cluadio Laurita - -diff -r 7740ac6fdedc -r c408fdc77aa1 canfestival.pc.in ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/canfestival.pc.in Sun Sep 28 14:20:17 2014 +0200 -@@ -0,0 +1,12 @@ -+PREFIX = SUB_PREFIX -+TARGET = SUB_TARGET -+ -+prefix=${PREFIX} -+libdir=${prefix}/lib -+includedir=${prefix}/include/canfestival -+ -+Name: Canfestival -+Description: Canfestival CANOpen library -+Version: 1 -+Libs: -L${libdir} -lcanfestival -lcanfestival_${TARGET} -lrt -ldl -lpthread -+Cflags: -I${includedir} -diff -r 7740ac6fdedc -r c408fdc77aa1 configure ---- a/configure Thu Jun 12 14:07:16 2014 +0200 -+++ b/configure Sun Sep 28 14:20:17 2014 +0200 -@@ -813,6 +813,10 @@ - MAKEFILES=$MAKEFILES\ drivers/$SUB_TARGET/Makefile.in - fi - -+if [ "$SUB_TARGET" = "unix" ]; then -+ MAKEFILES=$MAKEFILES\ canfestival.pc.in -+fi -+ - if [ "$SUB_TARGET" = "unix" -a "$SUB_TIMERS_DRIVER" = "kernel" ]; then - MAKEFILES=$MAKEFILES\ - \ examples/kerneltest/Makefile.in\ -diff -r 7740ac6fdedc -r c408fdc77aa1 src/Makefile.in ---- a/src/Makefile.in Thu Jun 12 14:07:16 2014 +0200 -+++ b/src/Makefile.in Sun Sep 28 14:20:17 2014 +0200 -@@ -132,9 +132,10 @@ - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< - - install: libcanfestival.a -- mkdir -p $(DESTDIR)$(PREFIX)/lib/ -+ mkdir -p $(DESTDIR)$(PREFIX)/lib/pkgconfig - mkdir -p $(DESTDIR)$(PREFIX)/include/canfestival - cp libcanfestival.a $(DESTDIR)$(PREFIX)/lib/ -+ cp ../canfestival.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig/ - cp ../include/*.h $(DESTDIR)$(PREFIX)/include/canfestival - - uninstall: - - diff --git a/package/canfestival/0002-allow-to-set-python-interpreter.patch b/package/canfestival/0002-allow-to-set-python-interpreter.patch deleted file mode 100644 index bb6031658c7..00000000000 --- a/package/canfestival/0002-allow-to-set-python-interpreter.patch +++ /dev/null @@ -1,176 +0,0 @@ -From s.martin49@gmail.com Fri Oct 10 23:43:32 2014 -Content-Type: text/plain; charset="us-ascii" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [PATCH] allow to set python interpreter -X-Mercurial-Node: 4805f636c2317d989a5f704ba691369f41be6595 -X-Mercurial-Series-Index: 1 -X-Mercurial-Series-Total: 1 -Message-Id: <4805f636c2317d989a5f.1412977412@bobook> -X-Mercurial-Series-Id: <4805f636c2317d989a5f.1412977412@bobook> -User-Agent: Mercurial-patchbomb/3.1.2 -Date: Fri, 10 Oct 2014 23:43:32 +0200 -From: Samuel Martin -To: canfestival-devel@lists.sourceforge.net -Cc: Samuel Martin - -# HG changeset patch -# User "Samuel Martin" -# Date 1412977082 -7200 -# Fri Oct 10 23:38:02 2014 +0200 -# Node ID 4805f636c2317d989a5f704ba691369f41be6595 -# Parent c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 -allow to set python interpreter - -Canfestival python modules and scripts are not python3 compliant. - -Allow to pass the python interperter to be used to make. - -Signed-off-by: Samuel Martin - -diff --git a/Makefile.in b/Makefile.in ---- a/Makefile.in -+++ b/Makefile.in -@@ -21,6 +21,9 @@ - # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - # - -+PYTHON ?= python -+export PYTHON -+ - all: objdictedit canfestival examples - - examples: canfestival driver -diff --git a/doc/manual/en/manual.tex b/doc/manual/en/manual.tex ---- a/doc/manual/en/manual.tex -+++ b/doc/manual/en/manual.tex -@@ -1134,6 +1134,7 @@ - python objdictedit.py [od files...] - \end{verbatim} - -+Note that Gnosis modules only run with python2 as interpreter. - - \subsubsection{Installation and usage on Windows} - -diff --git a/examples/CANOpenShell/Makefile.in b/examples/CANOpenShell/Makefile.in ---- a/examples/CANOpenShell/Makefile.in -+++ b/examples/CANOpenShell/Makefile.in -@@ -69,11 +69,11 @@ - - CANOpenShellMasterOD.c: CANOpenShellMasterOD.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py CANOpenShellMasterOD.od CANOpenShellMasterOD.c -+ $(PYTHON) ../../objdictgen/objdictgen.py CANOpenShellMasterOD.od CANOpenShellMasterOD.c - - CANOpenShellSlaveOD.c: CANOpenShellSlaveOD.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py CANOpenShellSlaveOD.od CANOpenShellSlaveOD.c -+ $(PYTHON) ../../objdictgen/objdictgen.py CANOpenShellSlaveOD.od CANOpenShellSlaveOD.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/DS401_Master/Makefile.in b/examples/DS401_Master/Makefile.in ---- a/examples/DS401_Master/Makefile.in -+++ b/examples/DS401_Master/Makefile.in -@@ -53,7 +53,7 @@ - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/DS401_Slave_Gui/Makefile.in b/examples/DS401_Slave_Gui/Makefile.in ---- a/examples/DS401_Slave_Gui/Makefile.in -+++ b/examples/DS401_Slave_Gui/Makefile.in -@@ -59,7 +59,7 @@ - - ObjDict.c: ObjDict.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py ObjDict.od ObjDict.c -+ $(PYTHON) ../../objdictgen/objdictgen.py ObjDict.od ObjDict.c - - .cpp.o: - $(CXX) -c $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) `wx-config --cxxflags` $< -o $@ -diff --git a/examples/SillySlave/Makefile.in b/examples/SillySlave/Makefile.in ---- a/examples/SillySlave/Makefile.in -+++ b/examples/SillySlave/Makefile.in -@@ -53,7 +53,7 @@ - - SillySlave.c: SillySlave.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py SillySlave.od SillySlave.c -+ $(PYTHON) ../../objdictgen/objdictgen.py SillySlave.od SillySlave.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/TestMasterMicroMod/Makefile.in b/examples/TestMasterMicroMod/Makefile.in ---- a/examples/TestMasterMicroMod/Makefile.in -+++ b/examples/TestMasterMicroMod/Makefile.in -@@ -61,7 +61,7 @@ - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/TestMasterSlave/Makefile.in b/examples/TestMasterSlave/Makefile.in ---- a/examples/TestMasterSlave/Makefile.in -+++ b/examples/TestMasterSlave/Makefile.in -@@ -69,11 +69,11 @@ - - TestSlave.c: TestSlave.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/TestMasterSlaveLSS/Makefile.in b/examples/TestMasterSlaveLSS/Makefile.in ---- a/examples/TestMasterSlaveLSS/Makefile.in -+++ b/examples/TestMasterSlaveLSS/Makefile.in -@@ -64,15 +64,15 @@ - - TestSlaveA.c: TestSlaveA.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlaveA.od TestSlaveA.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlaveA.od TestSlaveA.c - - TestSlaveB.c: TestSlaveB.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlaveB.od TestSlaveB.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlaveB.od TestSlaveB.c - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/kerneltest/Makefile.in b/examples/kerneltest/Makefile.in ---- a/examples/kerneltest/Makefile.in -+++ b/examples/kerneltest/Makefile.in -@@ -79,10 +79,10 @@ - - TestSlave.c: TestSlave.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - #endif - - diff --git a/package/canfestival/Config.in b/package/canfestival/Config.in deleted file mode 100644 index 8300e265825..00000000000 --- a/package/canfestival/Config.in +++ /dev/null @@ -1,90 +0,0 @@ -config BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS - bool - default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_arm - -comment "canfestival needs a glibc or uClibc toolchain w/ threads and dynamic library" - depends on BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_USES_MUSL || \ - !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS - -config BR2_PACKAGE_CANFESTIVAL - bool "canfestival" - depends on BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_USES_MUSL # sigval_t - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_STATIC_LIBS - help - CanFestival is an OpenSource CANOpen framework, licensed under - LGPLv2.1 and GPLv2 for some drivers (virtual_kernel, lincan - and copcican_comedi). - - http://www.canfestival.org - -if BR2_PACKAGE_CANFESTIVAL - -choice - prompt "driver" - default BR2_PACKAGE_CANFESTIVAL_SOCKET - -# - The AnaGate CAN(duo) [1], PeakSystem CAN [2] and CO-PCICAN [3] -# drivers are not available (not packaged in Buildroot), so their -# support are disabled. -# - The virtual_kernel driver is disabled because it uses very old -# kernel APIs, that have been renamed, or marked as deprecated or -# removed for a long while. The question has been raised on the -# canfestival mailing list [4]. -# -# [1] http://www.anagate.de/en/index.html -# [2] http://www.peak-system.com/linux/ -# [3] http://www.cosateq.com/ -# [4] http://sourceforge.net/p/canfestival/mailman/message/32519648/ - -config BR2_PACKAGE_CANFESTIVAL_VIRTUAL - bool "virtual" - help - Unix pipe based virtual CAN driver. - -config BR2_PACKAGE_CANFESTIVAL_SOCKET - bool "socket" - help - SocketCAN (the standard mainline CAN bus interface). - - http://developer.berlios.de/projects/socketcan/ - -config BR2_PACKAGE_CANFESTIVAL_LINCAN - bool "lincan" - help - Lincan driver. - - http://www.ocera.org/download/components/WP7/lincan-0.3.3.html - -config BR2_PACKAGE_CANFESTIVAL_CAN4LINUX - bool "can4linux" - help - Can4linux driver. - - http://www.port.de/engl/canprod/hw_can4linux.html - -endchoice - -config BR2_PACKAGE_CANFESTIVAL_DRIVER - string - default "virtual" if BR2_PACKAGE_CANFESTIVAL_VIRTUAL - default "socket" if BR2_PACKAGE_CANFESTIVAL_SOCKET - default "lincan" if BR2_PACKAGE_CANFESTIVAL_LINCAN - default "can4linux" if BR2_PACKAGE_CANFESTIVAL_CAN4LINUX - -config BR2_PACKAGE_CANFESTIVAL_ADDITIONAL_OPTIONS - string "additional configure options" - help - Additional options can be passed directly to the configure - script (e.g.: --MAX_CAN_BUS_ID=..., - --SDO_MAX_LENGTH_TRANSFER=..., --SDO_BLOCK_SIZE=...). - -config BR2_PACKAGE_CANFESTIVAL_INSTALL_EXAMPLES - bool "install examples" - help - Install binary application examples. - -endif diff --git a/package/canfestival/canfestival.hash b/package/canfestival/canfestival.hash deleted file mode 100644 index dc32bd9a2e8..00000000000 --- a/package/canfestival/canfestival.hash +++ /dev/null @@ -1,3 +0,0 @@ -# License files, locally calculated -sha256 b5c45f160093a6c2fb7bd0078f50c62f4b4089b6206b0e90b0f122b40a2fe110 COPYING -sha256 d4594b82f4d50840df6a7e9d14132a8c0a3cc05d0ac46d15310a264a1f75447e LICENCE diff --git a/package/canfestival/canfestival.mk b/package/canfestival/canfestival.mk deleted file mode 100644 index 760f14aecd9..00000000000 --- a/package/canfestival/canfestival.mk +++ /dev/null @@ -1,59 +0,0 @@ -################################################################################ -# -# canfestival -# -################################################################################ - -CANFESTIVAL_VERSION = 7740ac6fdedc23e1ed6908d3d7db54833c88572b -CANFESTIVAL_SITE = http://dev.automforge.net/CanFestival-3 -CANFESTIVAL_SITE_METHOD = hg -CANFESTIVAL_LICENSE = LGPL-2.1+ -CANFESTIVAL_LICENSE_FILES = COPYING LICENCE -CANFESTIVAL_INSTALL_STAGING = YES -CANFESTIVAL_INSTALLED-y = src drivers -CANFESTIVAL_INSTALLED-$(BR2_PACKAGE_CANFESTIVAL_INSTALL_EXAMPLES) += examples - -# Canfestival provides and used some python modules and scripts only compliant -# with python2. -CANFESTIVAL_DEPENDENCIES = host-python - -# canfestival uses its own hand-written build-system. Though there is -# a configure script, it does not use the autotools, so, we use the -# generic-package infrastructure. -define CANFESTIVAL_CONFIGURE_CMDS - cd $(@D) && \ - $(TARGET_CONFIGURE_OPTS) ./configure \ - --target=unix \ - --arch=$(BR2_ARCH) \ - --timers=unix \ - --binutils=$(TARGET_CROSS) \ - --cc="$(TARGET_CC)" \ - --cxx="$(TARGET_CC)" \ - --ld="$(TARGET_CC)" \ - --prefix=/usr \ - --can=$(BR2_PACKAGE_CANFESTIVAL_DRIVER) \ - $(call qstrip,$(BR2_PACKAGE_CANFESTIVAL_ADDITIONAL_OPTIONS)) -endef - -define CANFESTIVAL_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) all \ - PYTHON=$(HOST_DIR)/bin/python2 -endef - -define CANFESTIVAL_INSTALL_TARGET_CMDS - for d in $(CANFESTIVAL_INSTALLED-y) ; do \ - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/$$d install \ - PYTHON=$(HOST_DIR)/bin/python2 \ - DESTDIR=$(TARGET_DIR) || exit 1 ; \ - done -endef - -define CANFESTIVAL_INSTALL_STAGING_CMDS - for d in $(CANFESTIVAL_INSTALLED-y) ; do \ - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/$$d install \ - PYTHON=$(HOST_DIR)/bin/python2 \ - DESTDIR=$(STAGING_DIR) || exit 1 ; \ - done -endef - -$(eval $(generic-package)) diff --git a/package/capnproto/capnproto.hash b/package/capnproto/capnproto.hash index d4500e0aad6..7fd0e6158b1 100644 --- a/package/capnproto/capnproto.hash +++ b/package/capnproto/capnproto.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6d8b43a7ec2a764b4dfe4139a7cdd070ad9057f106898050d9f4db3754b98820 capnproto-0.8.0.tar.gz -sha256 9564998c8d7f270a61a8b89869a8d17a9d5e3783b64027788b5e339ec8479e10 LICENSE +sha256 daf49f794560f715e2f4651c842aaece2d065d4216834c5c3d3254962e35b535 capnproto-0.9.1.tar.gz +sha256 9564998c8d7f270a61a8b89869a8d17a9d5e3783b64027788b5e339ec8479e10 LICENSE diff --git a/package/capnproto/capnproto.mk b/package/capnproto/capnproto.mk index 901b57ecda2..7fc07043fbd 100644 --- a/package/capnproto/capnproto.mk +++ b/package/capnproto/capnproto.mk @@ -4,7 +4,7 @@ # ################################################################################ -CAPNPROTO_VERSION = 0.8.0 +CAPNPROTO_VERSION = 0.9.1 CAPNPROTO_SITE = $(call github,capnproto,capnproto,v$(CAPNPROTO_VERSION)) CAPNPROTO_LICENSE = MIT CAPNPROTO_LICENSE_FILES = LICENSE @@ -29,5 +29,10 @@ else CAPNPROTO_CONF_OPTS += --without-openssl endif +# musl doesn't support getcontext/setcontext +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +CAPNPROTO_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DKJ_USE_FIBERS=0" +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/casync/casync.mk b/package/casync/casync.mk index d74cb1bfe85..bb9bd8ccac1 100644 --- a/package/casync/casync.mk +++ b/package/casync/casync.mk @@ -40,8 +40,8 @@ else CASYNC_CONF_OPTS += -Dudev=false endif -ifeq ($(BR2_PACKAGE_LIBZSTD),y) -CASYNC_DEPENDENCIES += libzstd +ifeq ($(BR2_PACKAGE_ZSTD),y) +CASYNC_DEPENDENCIES += zstd CASYNC_CONF_OPTS += -Dlibzstd=enabled else CASYNC_CONF_OPTS += -Dlibzstd=disabled diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in index 2661592d7f4..fa5674b36d9 100644 --- a/package/cc-tool/Config.in +++ b/package/cc-tool/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_CC_TOOL bool "cc-tool" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem depends on BR2_USE_WCHAR # boost-filesystem depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb select BR2_PACKAGE_LIBUSB @@ -18,6 +19,7 @@ config BR2_PACKAGE_CC_TOOL https://github.com/dashesy/cc-tool/ comment "cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 " + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/cegui/0001-XMLParser.cpp-include-string.h.patch b/package/cegui/0001-XMLParser.cpp-include-string.h.patch new file mode 100644 index 00000000000..e117d6220df --- /dev/null +++ b/package/cegui/0001-XMLParser.cpp-include-string.h.patch @@ -0,0 +1,37 @@ +From b98ed87225fa3c0f156b0798ca5c285d8fa8fac1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 15 Jun 2021 07:27:41 +0200 +Subject: [PATCH] XMLParser.cpp: include string.h + +Include string.h to avoid the following build failure: + +/home/buildroot/autobuild/run/instance-3/output-1/build/cegui-00b4e1fe174da53b7ed726ab5970ba51bd5b5ee0/cegui/src/XMLParserModules/RapidXML/XMLParser.cpp:73:5: error: 'memcpy' was not declared in this scope + 73 | memcpy(buf, source.getDataPtr(), size); + | ^~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/1cb09e5f52435efc505c61707b2d5d2ee871524b + +Signed-off-by: Fabrice Fontaine +Upstream: 628f7edf4b420f752f1965ea11e5e747e3ff93b0 +Signed-off-by: Thomas Petazzoni +--- + cegui/src/XMLParserModules/RapidXML/XMLParser.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/cegui/src/XMLParserModules/RapidXML/XMLParser.cpp b/cegui/src/XMLParserModules/RapidXML/XMLParser.cpp +index 810ea6bbf..59822fc80 100644 +--- a/cegui/src/XMLParserModules/RapidXML/XMLParser.cpp ++++ b/cegui/src/XMLParserModules/RapidXML/XMLParser.cpp +@@ -38,6 +38,8 @@ + #include "CEGUI/Logger.h" + #include "CEGUI/Exceptions.h" + ++#include ++ + // Start of CEGUI namespace section + namespace CEGUI + { +-- +2.31.1 + diff --git a/package/cegui/0001-src-Exceptions.cpp-check-if-execinfo-header-is-avail.patch b/package/cegui/0001-src-Exceptions.cpp-check-if-execinfo-header-is-avail.patch deleted file mode 100644 index dd5dba9e717..00000000000 --- a/package/cegui/0001-src-Exceptions.cpp-check-if-execinfo-header-is-avail.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e18e48624cd45910917e5e4fb0aa16cef490bb6d Mon Sep 17 00:00:00 2001 -From: Bartosz Bilas -Date: Sun, 22 Mar 2020 14:25:53 +0100 -Subject: [PATCH] src/Exceptions.cpp: check if execinfo header is available - -Fixes: - fatal error: execinfo.h: No such file or directory - compilation terminated. - -Signed-off-by: Bartosz Bilas ---- - Upstream status: https://github.com/cegui/cegui/pull/1189 - -cegui/src/Exceptions.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/cegui/src/Exceptions.cpp b/cegui/src/Exceptions.cpp -index 8e4890378..6a8420491 100644 ---- a/cegui/src/Exceptions.cpp -+++ b/cegui/src/Exceptions.cpp -@@ -46,7 +46,9 @@ - #elif (defined(__linux__) && !defined(__ANDROID__)) \ - || defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) \ - || defined(__HAIKU__) -+#ifdef HAVE_EXECINFO_H - # include -+#endif - # include - # include - # include --- -2.25.2 - diff --git a/package/cegui/0002-cegui-src-IconvStringTranscoder.cpp-use-cast-notatio.patch b/package/cegui/0002-cegui-src-IconvStringTranscoder.cpp-use-cast-notatio.patch deleted file mode 100644 index f30438b986d..00000000000 --- a/package/cegui/0002-cegui-src-IconvStringTranscoder.cpp-use-cast-notatio.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4561bac9dddad8fd79e746ea1ddd89c20647a162 Mon Sep 17 00:00:00 2001 -From: Bartosz Bilas -Date: Thu, 2 Apr 2020 18:04:28 +0200 -Subject: [PATCH] cegui/src/IconvStringTranscoder.cpp: use cast notation - instead of reinterpret_cast - -Fixes: - IconvStringTranscoder.cpp:50:49: error: invalid cast from type 'int' to - type 'iconv_t' {aka 'long int'} - if (d_cd == reinterpret_cast(-1)) - -Signed-off-by: Bartosz Bilas ---- - Upstream status: https://github.com/cegui/cegui/pull/1194 - - cegui/src/IconvStringTranscoder.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cegui/src/IconvStringTranscoder.cpp b/cegui/src/IconvStringTranscoder.cpp -index 1a5df2995..f6b5aa816 100644 ---- a/cegui/src/IconvStringTranscoder.cpp -+++ b/cegui/src/IconvStringTranscoder.cpp -@@ -47,7 +47,7 @@ public: - d_toCode(tocode), - d_cd(iconv_open(d_toCode.c_str(), d_fromCode.c_str())) - { -- if (d_cd == reinterpret_cast(-1)) -+ if (d_cd == (iconv_t)(-1)) - CEGUI_THROW(InvalidRequestException(String( - "Failed to create conversion descriptor from \"") + - d_fromCode.c_str() + "\" to \"" + d_toCode.c_str() + "\".")); --- -2.26.0 - diff --git a/package/cegui/Config.in b/package/cegui/Config.in index 1bd0ee1cc33..20b865835b9 100644 --- a/package/cegui/Config.in +++ b/package/cegui/Config.in @@ -1,11 +1,13 @@ -comment "cegui needs a toolchain w/ C++, threads, dynamic library, wchar" +comment "cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ - || BR2_STATIC_LIBS || !BR2_USE_WCHAR + || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_PACKAGE_CEGUI bool "cegui" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++11 PR59987 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR select BR2_PACKAGE_GLM diff --git a/package/cegui/cegui.hash b/package/cegui/cegui.hash index 8295039037c..131b2486199 100644 --- a/package/cegui/cegui.hash +++ b/package/cegui/cegui.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 7be289d2d8562e7d20bd155d087d6ccb0ba62f7e99cc25d20684b8edf2ba15cd cegui-0-8-7.tar.gz +sha256 5b6f9e209e8a29b2f30d6aef92efd125c8bedaab5be04b562208be51e5e7f04e cegui-00b4e1fe174da53b7ed726ab5970ba51bd5b5ee0.tar.gz sha256 cc869e2ece8ad039f6d7fd17259db4ea0ae0a502d02a1bb506c0168deb12e40d COPYING diff --git a/package/cegui/cegui.mk b/package/cegui/cegui.mk index d578c9913c3..2e563223742 100644 --- a/package/cegui/cegui.mk +++ b/package/cegui/cegui.mk @@ -4,15 +4,21 @@ # ################################################################################ -CEGUI_VERSION = 0-8-7 -CEGUI_SITE = $(call github,cegui,cegui,v$(CEGUI_VERSION)) +CEGUI_VERSION = 00b4e1fe174da53b7ed726ab5970ba51bd5b5ee0 +CEGUI_SITE = $(call github,cegui,cegui,$(CEGUI_VERSION)) CEGUI_LICENSE = MIT CEGUI_LICENSE_FILES = COPYING CEGUI_INSTALL_STAGING = YES CEGUI_CONF_OPTS = \ - -DCEGUI_BUILD_XMLPARSER_XERCES=OFF \ -DCEGUI_HAS_MINIZIP_RESOURCE_PROVIDER=OFF \ - -DCEGUI_BUILD_RENDERER_OGRE=OFF + -DCEGUI_BUILD_RENDERER_IRRLICHT=OFF \ + -DCEGUI_BUILD_RENDERER_OGRE=OFF \ + -DCEGUI_BUILD_RENDERER_OPENGLES=OFF \ + -DCEGUI_BUILD_XMLPARSER_XERCES=OFF \ + -DCEGUI_USE_FRIBIDI=OFF \ + -DCEGUI_SAMPLES_ENABLED=OFF \ + -DCEGUI_BUILD_APPLICATION_TEMPLATES=OFF \ + -DCEGUI_BUILD_PYTHON_MODULES_SWIG=OFF CEGUI_DEPENDENCIES = glm \ $(if $(BR2_PACKAGE_LIBGLFW),libglfw) \ $(if $(BR2_PACKAGE_HAS_LIBGL),libgl) \ @@ -44,13 +50,6 @@ else CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_EXPAT=OFF endif -ifeq ($(BR2_PACKAGE_IRRLICHT),y) -CEGUI_DEPENDENCIES += irrlicht -CEGUI_CONF_OPTS += -DCEGUI_BUILD_RENDERER_IRRLICHT=ON -else -CEGUI_CONF_OPTS += -DCEGUI_BUILD_RENDERER_IRRLICHT=OFF -endif - ifeq ($(BR2_PACKAGE_SDL2)$(BR2_PACKAGE_SDL2_IMAGE),yy) CEGUI_DEPENDENCIES += sdl2 sdl2_image CEGUI_CONF_OPTS += -DCEGUI_BUILD_IMAGECODEC_SDL2=ON diff --git a/package/cereal/0001-Store-a-copy-of-each-serialized-shared_ptr-within-the-archive.patch b/package/cereal/0001-Store-a-copy-of-each-serialized-shared_ptr-within-the-archive.patch deleted file mode 100644 index 3458ec1b59f..00000000000 --- a/package/cereal/0001-Store-a-copy-of-each-serialized-shared_ptr-within-the-archive.patch +++ /dev/null @@ -1,67 +0,0 @@ -From f27c12d491955c94583512603bf32c4568f20929 Mon Sep 17 00:00:00 2001 -From: Michael Walz -Date: Tue, 2 Feb 2021 00:50:29 +0100 -Subject: [PATCH] Store a copy of each serialized shared_ptr within the archive - to prevent the shared_ptr to be freed to early. (#667) - -The archives use the memory address pointed by the shared_ptr as a -unique id which must not be reused during lifetime of the archive. -Therefore, the archives stores a copy of it. -This problem was also reported as CVE-2020-11105. - -[Retrieved from: -https://github.com/USCiLab/cereal/commit/f27c12d491955c94583512603bf32c4568f20929] -Signed-off-by: Fabrice Fontaine ---- - include/cereal/cereal.hpp | 13 +++++++++++-- - include/cereal/types/memory.hpp | 2 +- - 2 files changed, 12 insertions(+), 3 deletions(-) - -diff --git a/include/cereal/cereal.hpp b/include/cereal/cereal.hpp -index 99bed9d6..f0d15e8b 100644 ---- a/include/cereal/cereal.hpp -+++ b/include/cereal/cereal.hpp -@@ -369,12 +369,17 @@ namespace cereal - point to the same data. - - @internal -- @param addr The address (see shared_ptr get()) pointed to by the shared pointer -+ @param sharedPointer The shared pointer itself (the adress is taked via get()). -+ The archive takes a copy to prevent the memory location to be freed -+ as long as the address is used as id. This is needed to prevent CVE-2020-11105. - @return A key that uniquely identifies the pointer */ -- inline std::uint32_t registerSharedPointer( void const * addr ) -+ inline std::uint32_t registerSharedPointer(const std::shared_ptr& sharedPointer) - { -+ void const * addr = sharedPointer.get(); -+ - // Handle null pointers by just returning 0 - if(addr == 0) return 0; -+ itsSharedPointerStorage.push_back(sharedPointer); - - auto id = itsSharedPointerMap.find( addr ); - if( id == itsSharedPointerMap.end() ) -@@ -645,6 +650,10 @@ namespace cereal - //! Maps from addresses to pointer ids - std::unordered_map itsSharedPointerMap; - -+ //! Copy of shared pointers used in #itsSharedPointerMap to make sure they are kept alive -+ // during lifetime of itsSharedPointerMap to prevent CVE-2020-11105. -+ std::vector> itsSharedPointerStorage; -+ - //! The id to be given to the next pointer - std::uint32_t itsCurrentPointerId; - -diff --git a/include/cereal/types/memory.hpp b/include/cereal/types/memory.hpp -index 59e9da9b..cac1f334 100644 ---- a/include/cereal/types/memory.hpp -+++ b/include/cereal/types/memory.hpp -@@ -263,7 +263,7 @@ namespace cereal - { - auto & ptr = wrapper.ptr; - -- uint32_t id = ar.registerSharedPointer( ptr.get() ); -+ uint32_t id = ar.registerSharedPointer( ptr ); - ar( CEREAL_NVP_("id", id) ); - - if( id & detail::msb_32bit ) diff --git a/package/cereal/cereal.hash b/package/cereal/cereal.hash index ddaf54e7b40..18889b4d422 100644 --- a/package/cereal/cereal.hash +++ b/package/cereal/cereal.hash @@ -1,6 +1,6 @@ # Locally computed -sha256 329ea3e3130b026c03a4acc50e168e7daff4e6e661bc6a7dfec0d77b570851d5 cereal-1.3.0.tar.gz -sha256 18fd7618c44c9fe28b5f54cd19747df3c0472ed33e8507fea571e2acf6e72f34 LICENSE -sha256 d9e523e8736ac0c68064c7ad312a222f285e82bf6c96a1b1c2cadaffff9fc64f include/cereal/external/base64.hpp -sha256 7fb69c707f0ed3a8b59b8f949f0928a9cc06d67bc15d599094693703ff70ea26 include/cereal/external/rapidjson/rapidjson.h -sha256 794bf3b2ecf5cf0c740ac6c524d66ce6284c4b1de1f983d21a242b8abbeb9720 include/cereal/external/rapidxml/license.txt +sha256 65ea6ddda98f4274f5c10fb3e07b2269ccdd1e5cbb227be6a2fd78b8f382c976 cereal-1.3.1.tar.gz +sha256 58604a126af6a671ea390ee3d5b3e42228aa59b2858fb7af1d5b20b31739ccbb LICENSE +sha256 d9e523e8736ac0c68064c7ad312a222f285e82bf6c96a1b1c2cadaffff9fc64f include/cereal/external/base64.hpp +sha256 7fb69c707f0ed3a8b59b8f949f0928a9cc06d67bc15d599094693703ff70ea26 include/cereal/external/rapidjson/rapidjson.h +sha256 794bf3b2ecf5cf0c740ac6c524d66ce6284c4b1de1f983d21a242b8abbeb9720 include/cereal/external/rapidxml/license.txt diff --git a/package/cereal/cereal.mk b/package/cereal/cereal.mk index 19faa2ac4ea..a44f09c7436 100644 --- a/package/cereal/cereal.mk +++ b/package/cereal/cereal.mk @@ -4,7 +4,7 @@ # ################################################################################ -CEREAL_VERSION = 1.3.0 +CEREAL_VERSION = 1.3.1 CEREAL_SITE = $(call github,USCiLab,cereal,v$(CEREAL_VERSION)) # For licensing, see also: https://github.com/USCiLab/cereal/issues/609 CEREAL_LICENSE = BSD-3-Clause (cereal), Zlib (base64.hpp), MIT (rapidjson), BSL-1.0 or MIT (rapidxml) @@ -16,7 +16,4 @@ CEREAL_CONF_OPTS = \ -DTHREAD_SAFE=ON \ -DJUST_INSTALL_CEREAL=ON -# 0001-Store-a-copy-of-each-serialized-shared_ptr-within-the-archive.patch -CEREAL_IGNORE_CVES += CVE-2020-11105 - $(eval $(cmake-package)) diff --git a/package/cfm/Config.in b/package/cfm/Config.in new file mode 100644 index 00000000000..1c2e92be67b --- /dev/null +++ b/package/cfm/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_CFM + bool "cfm" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 + select BR2_PACKAGE_LIBEV + select BR2_PACKAGE_LIBMNL + select BR2_PACKAGE_LIBNL + help + This is the userspace application that configures the kernel + to run CFM protocol. The userspace application is made of 2 + applications, one daemon and a client. + + https://github.com/microchip-ung/cfm + +comment "cfm needs a toolchain w/ threads, kernel headers >= 5.0" + depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 diff --git a/package/cfm/S65cfm b/package/cfm/S65cfm new file mode 100644 index 00000000000..10192686082 --- /dev/null +++ b/package/cfm/S65cfm @@ -0,0 +1,55 @@ +#!/bin/sh +# +# Start cfm +# + +DAEMON="cfm_server" + +PIDFILE="/var/run/$DAEMON.pid" + +# shellcheck source=/dev/null +[ -r "/etc/default/cfm_server" ] && . "/etc/default/cfm_server" + +start() { + printf "Starting cfm daemon: " + start-stop-daemon -S -b -q -m -p $PIDFILE \ + -x /usr/bin/$DAEMON + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return $status +} + +stop() { + printf "Stopping cfm daemon: " + start-stop-daemon -K -q -p $PIDFILE + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return $status +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/cfm/cfm.hash b/package/cfm/cfm.hash new file mode 100644 index 00000000000..a1805d81be6 --- /dev/null +++ b/package/cfm/cfm.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 b5ce096e8c496c397d108201f1a46855f735da6c4163b7a9af345916e75a7126 cfm-0.3.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/cfm/cfm.mk b/package/cfm/cfm.mk new file mode 100644 index 00000000000..850b8d604ca --- /dev/null +++ b/package/cfm/cfm.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# cfm +# +################################################################################ + +CFM_VERSION = 0.3 +CFM_SITE = $(call github,microchip-ung,cfm,v$(CFM_VERSION)) +CFM_DEPENDENCIES = libev libmnl libnl +CFM_LICENSE = GPL-2.0 +CFM_LICENSE_FILES = LICENSE +CFM_INSTALL_STAGING = YES + +define CFM_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D $(CFM_PKGDIR)/S65cfm \ + $(TARGET_DIR)/etc/init.d/S65cfm +endef + +define CFM_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(CFM_PKGDIR)/cfm.service \ + $(TARGET_DIR)/usr/lib/systemd/system/cfm.service +endef + +$(eval $(cmake-package)) diff --git a/package/cfm/cfm.service b/package/cfm/cfm.service new file mode 100644 index 00000000000..1a00c5ba08c --- /dev/null +++ b/package/cfm/cfm.service @@ -0,0 +1,10 @@ +[Unit] +Description=Connectivity Fault Management +After=network.target + +[Service] +ExecStart=/usr/bin/cfm_server +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/package/cgilua/cgilua.hash b/package/cgilua/cgilua.hash index 8bdb1d18f17..385382b9d5c 100644 --- a/package/cgilua/cgilua.hash +++ b/package/cgilua/cgilua.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 7d4883e6a89b3463a1d35b8084a6e2afbbb584af7aca1169380e92af0f848413 cgilua-5.2.1-1.src.rock -sha256 0cf6f0858b0fd90bb5705c8ace77a8afd11e8fce1427fe0a48156937222b8c28 cgilua-5.2.1/doc/us/license.html +sha256 7bfb88c483136bca9b814316d7f9ff581a805d68d144c1eebdfda3e8dfb5eb3a cgilua-6.0.2-0.src.rock +sha256 b82f9b13f9b1a1387f53203a625612914630b520377731b0aab7ce93ad2b18c4 cgilua/doc/us/license.html diff --git a/package/cgilua/cgilua.mk b/package/cgilua/cgilua.mk index cd78841fdb1..8061eaf3a6b 100644 --- a/package/cgilua/cgilua.mk +++ b/package/cgilua/cgilua.mk @@ -4,8 +4,10 @@ # ################################################################################ -CGILUA_VERSION = 5.2.1-1 +CGILUA_VERSION = 6.0.2-0 +CGILUA_SUBDIR = cgilua CGILUA_LICENSE = MIT CGILUA_LICENSE_FILES = $(CGILUA_SUBDIR)/doc/us/license.html +CGILUA_CPE_ID_VENDOR = keplerproject $(eval $(luarocks-package)) diff --git a/package/cgroupfs-mount/cgroupfs-mount.mk b/package/cgroupfs-mount/cgroupfs-mount.mk index 9a76799952d..acf7442056b 100644 --- a/package/cgroupfs-mount/cgroupfs-mount.mk +++ b/package/cgroupfs-mount/cgroupfs-mount.mk @@ -8,6 +8,7 @@ CGROUPFS_MOUNT_VERSION = 1.4 CGROUPFS_MOUNT_SITE = $(call github,tianon,cgroupfs-mount,$(CGROUPFS_MOUNT_VERSION)) CGROUPFS_MOUNT_LICENSE = GPL-3.0+ CGROUPFS_MOUNT_LICENSE_FILES = debian/copyright +CGROUPFS_MOUNT_CPE_ID_VENDOR = cgroupfs-mount_project define CGROUPFS_MOUNT_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/cgroupfs-mount $(TARGET_DIR)/usr/bin/cgroupfs-mount diff --git a/package/check/check.hash b/package/check/check.hash index d00956c750a..543e78f317e 100644 --- a/package/check/check.hash +++ b/package/check/check.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 c1cc3d64975c0edd8042ab90d881662f1571278f8ea79d8e3c2cc877dac60001 check-0.15.1.tar.gz +sha256 a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a check-0.15.2.tar.gz # License files, locally calculated sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LESSER diff --git a/package/check/check.mk b/package/check/check.mk index f80e6b63b37..be825394698 100644 --- a/package/check/check.mk +++ b/package/check/check.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHECK_VERSION = 0.15.1 +CHECK_VERSION = 0.15.2 CHECK_SITE = https://github.com/libcheck/check/releases/download/$(CHECK_VERSION) CHECK_INSTALL_STAGING = YES CHECK_DEPENDENCIES = host-pkgconf diff --git a/package/checkpolicy/Config.in b/package/checkpolicy/Config.in index ad769d22b7c..6a1f22991df 100644 --- a/package/checkpolicy/Config.in +++ b/package/checkpolicy/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_CHECKPOLICY bool "checkpolicy" depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux depends on !BR2_STATIC_LIBS # libselinux + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol select BR2_PACKAGE_LIBSELINUX select BR2_PACKAGE_FLEX help @@ -13,5 +14,6 @@ config BR2_PACKAGE_CHECKPOLICY http://selinuxproject.org/page/Main_Page -comment "checkpolicy needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "checkpolicy needs a toolchain w/ threads, dynamic library, gcc >= 5" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/checkpolicy/Config.in.host b/package/checkpolicy/Config.in.host index 240a5b6dc42..38e35e2fc1c 100644 --- a/package/checkpolicy/Config.in.host +++ b/package/checkpolicy/Config.in.host @@ -1,5 +1,6 @@ config BR2_PACKAGE_HOST_CHECKPOLICY bool "host checkpolicy" + depends on BR2_HOST_GCC_AT_LEAST_5 # host-libselinux -> host-libsepol help checkpolicy is the SELinux policy compiler. It uses libsepol to generate the binary policy. checkpolicy uses the static @@ -8,3 +9,6 @@ config BR2_PACKAGE_HOST_CHECKPOLICY shared library interface. http://selinuxproject.org/page/Main_Page + +comment "host checkpolicy needs a toolchain w/ host gcc >= 5" + depends on !BR2_HOST_GCC_AT_LEAST_5 diff --git a/package/checkpolicy/checkpolicy.hash b/package/checkpolicy/checkpolicy.hash index 55f4f09f76a..35863890474 100644 --- a/package/checkpolicy/checkpolicy.hash +++ b/package/checkpolicy/checkpolicy.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 dfc7707070520c93b14fbbdfdbe081364d806bf28e3e79e10318c2594c77bbb2 checkpolicy-3.1.tar.gz +sha256 25c84edfa3a10ab8cb073b97bc55cb66377532d54a2723da9accdabd05431485 checkpolicy-3.3.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/checkpolicy/checkpolicy.mk b/package/checkpolicy/checkpolicy.mk index 86eaffccb1a..af9a58cee89 100644 --- a/package/checkpolicy/checkpolicy.mk +++ b/package/checkpolicy/checkpolicy.mk @@ -4,8 +4,8 @@ # ################################################################################ -CHECKPOLICY_VERSION = 3.1 -CHECKPOLICY_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +CHECKPOLICY_VERSION = 3.3 +CHECKPOLICY_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(CHECKPOLICY_VERSION) CHECKPOLICY_LICENSE = GPL-2.0 CHECKPOLICY_LICENSE_FILES = COPYING diff --git a/package/checksec/checksec.hash b/package/checksec/checksec.hash index 397cfe381ea..41aae8188c7 100644 --- a/package/checksec/checksec.hash +++ b/package/checksec/checksec.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c5e2a8e188040fc34eb9362084778a2e25f8d1f888e47a2be09efa7cecd9c70d LICENSE.txt -sha256 d3c8e80bdd1cee0c2f0e60cb7a8a9482b82f651ea069e3a4453ae9a44072a632 checksec-2.2.2.tar.gz +sha256 1034459d7cd2b0ee515c2b6b003375fec566fb59c838fc5e1961e1fcf76b54fa checksec-2.5.0.tar.gz +sha256 7888fee828bf56d547fc1f634e40638984148b4fc41373b7626eb465060640de LICENSE.txt diff --git a/package/checksec/checksec.mk b/package/checksec/checksec.mk index e46e858437f..61ef110f900 100644 --- a/package/checksec/checksec.mk +++ b/package/checksec/checksec.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHECKSEC_VERSION = 2.2.2 +CHECKSEC_VERSION = 2.5.0 CHECKSEC_SITE = $(call github,slimm609,checksec.sh,$(CHECKSEC_VERSION)) CHECKSEC_LICENSE = BSD-3-Clause CHECKSEC_LICENSE_FILES = LICENSE.txt diff --git a/package/chrony/0001-sys_linux-fix-build-with-older-kernel-headers.patch b/package/chrony/0001-sys_linux-fix-build-with-older-kernel-headers.patch deleted file mode 100644 index 892664f494d..00000000000 --- a/package/chrony/0001-sys_linux-fix-build-with-older-kernel-headers.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5dab78341bd515692f1b9ff8716a911c3ebf9ee1 Mon Sep 17 00:00:00 2001 -Message-Id: <5dab78341bd515692f1b9ff8716a911c3ebf9ee1.1611839550.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Thu, 28 Jan 2021 15:02:40 +0200 -Subject: [PATCH] sys_linux: fix build with older kernel headers - -The renameat2 system call was introduced in kernel version 3.15. Fix -build against older headers. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit a2372b0c3abfc85d11c1684c0fb6370cc329e5c4 - - sys_linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/sys_linux.c b/sys_linux.c -index 0b24445e173d..202da845edac 100644 ---- a/sys_linux.c -+++ b/sys_linux.c -@@ -547,7 +547,9 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) - SCMP_SYS(readlinkat), - SCMP_SYS(rename), - SCMP_SYS(renameat), -+#ifdef __NR_renameat2 - SCMP_SYS(renameat2), -+#endif - SCMP_SYS(stat), - SCMP_SYS(stat64), - SCMP_SYS(statfs), --- -2.29.2 - diff --git a/package/chrony/chrony.hash b/package/chrony/chrony.hash index 87e0cf8ea04..f8dd1438bc7 100644 --- a/package/chrony/chrony.hash +++ b/package/chrony/chrony.hash @@ -1,4 +1,4 @@ -# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2020/10/msg00000.html -sha256 be27ea14c55e7a4434b2fa51d53018c7051c42fa6a3198c9aa6a1658bae0c625 chrony-4.0.tar.gz +# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2021/05/msg00000.html +sha256 ed76f2d3f9347ac6221a91ad4bd553dd0565ac188cd7490d0801d08f7171164c chrony-4.1.tar.gz # Locally calculated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/chrony/chrony.mk b/package/chrony/chrony.mk index ef459ad38b3..5a34f70e1e9 100644 --- a/package/chrony/chrony.mk +++ b/package/chrony/chrony.mk @@ -4,10 +4,12 @@ # ################################################################################ -CHRONY_VERSION = 4.0 +CHRONY_VERSION = 4.1 CHRONY_SITE = http://download.tuxfamily.org/chrony CHRONY_LICENSE = GPL-2.0 CHRONY_LICENSE_FILES = COPYING +CHRONY_CPE_ID_VENDOR = tuxfamily +CHRONY_SELINUX_MODULES = chronyd CHRONY_DEPENDENCIES = host-pkgconf CHRONY_CONF_OPTS = \ diff --git a/package/chrony/chrony.service b/package/chrony/chrony.service index 325b63c492b..210122cf5d2 100644 --- a/package/chrony/chrony.service +++ b/package/chrony/chrony.service @@ -4,6 +4,10 @@ After=syslog.target network.target Conflicts=systemd-timesyncd.service [Service] +# Turn off DNSSEC validation for hostname look-ups, since those need the +# correct time to work, but we likely won't acquire that without NTP. Let's +# break this chicken-and-egg cycle here. +Environment=SYSTEMD_NSS_RESOLVE_VALIDATE=0 ExecStart=/usr/sbin/chronyd -n Restart=always diff --git a/package/cifs-utils/0001-Use-DESTDIR-when-installing-mount.smb3-and-optionall.patch b/package/cifs-utils/0001-Use-DESTDIR-when-installing-mount.smb3-and-optionall.patch deleted file mode 100644 index e36ec5b5dad..00000000000 --- a/package/cifs-utils/0001-Use-DESTDIR-when-installing-mount.smb3-and-optionall.patch +++ /dev/null @@ -1,41 +0,0 @@ -From dbb4452787cb966cc74b2015689961875fd5d668 Mon Sep 17 00:00:00 2001 -From: Ryan Barnett -Date: Mon, 27 Apr 2020 22:03:25 -0500 -Subject: [PATCH] Use DESTDIR when installing mount.smb3 and optionally install - man page - -Properly create mount.smb3 symlink by using DESTDIR. Also use -CONFIG_MAN to optionally install manpage for mount.smb3. - -Signed-off-by: Ryan Barnett ---- -Upstream: https://marc.info/?l=linux-cifs&m=158804444725745&w=2 ---- - Makefile.am | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index fe9cd34..e0587f1 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -119,11 +119,13 @@ endif - SUBDIRS = contrib - - install-exec-hook: -- (cd $(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3) -+ (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3) - -+if CONFIG_MAN - install-data-hook: -- (cd $(man8dir) && ln -sf mount.cifs.8 mount.smb3.8) -+ (cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8) -+endif - - uninstall-hook: -- (cd $(ROOTSBINDIR) && rm -f $(ROOTSBINDIR)/mount.smb3) -- (cd $(man8dir) && rm -f $(man8dir)/mount.smb3.8) -+ rm -f $(DESTDIR)$(ROOTSBINDIR)/mount.smb3 -+ rm -f $(DESTDIR)$(man8dir)/mount.smb3.8 --- -2.17.1 - diff --git a/package/cifs-utils/Config.in b/package/cifs-utils/Config.in index b433850a186..d1b1406a3ed 100644 --- a/package/cifs-utils/Config.in +++ b/package/cifs-utils/Config.in @@ -13,3 +13,21 @@ config BR2_PACKAGE_CIFS_UTILS split them off into their own package. http://wiki.samba.org/index.php/LinuxCIFS_utils + +if BR2_PACKAGE_CIFS_UTILS + +config BR2_PACKAGE_CIFS_UTILS_SMBTOOLS + bool "smbtools" + depends on BR2_USE_WCHAR # python3 + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 + depends on !BR2_STATIC_LIBS # python3 + select BR2_PACKAGE_PYTHON3 # runtime + help + Install the smb tools smbinfo and smb2-quota (python + implementations). + +comment "smbtools needs a toolchain w/ wchar, threads, dynamic library" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS + +endif diff --git a/package/cifs-utils/cifs-utils.hash b/package/cifs-utils/cifs-utils.hash index ca97eb8e560..ec6ea55961f 100644 --- a/package/cifs-utils/cifs-utils.hash +++ b/package/cifs-utils/cifs-utils.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 b859239a3f204f8220d3e54ed43bf8109e1ef202042dd87ba87492f8878728d9 cifs-utils-6.11.tar.bz2 +sha256 a7b6940e93250c1676a6fa66b6ead91b78cd43a5fee99cc462459c8b9cf1e6f4 cifs-utils-6.15.tar.bz2 # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/cifs-utils/cifs-utils.mk b/package/cifs-utils/cifs-utils.mk index 63b454413cc..edf08d4b4d4 100644 --- a/package/cifs-utils/cifs-utils.mk +++ b/package/cifs-utils/cifs-utils.mk @@ -4,13 +4,13 @@ # ################################################################################ -CIFS_UTILS_VERSION = 6.11 +CIFS_UTILS_VERSION = 6.15 CIFS_UTILS_SOURCE = cifs-utils-$(CIFS_UTILS_VERSION).tar.bz2 CIFS_UTILS_SITE = http://ftp.samba.org/pub/linux-cifs/cifs-utils CIFS_UTILS_LICENSE = GPL-3.0+ CIFS_UTILS_LICENSE_FILES = COPYING CIFS_UTILS_CPE_ID_VENDOR = samba -# Missing install-sh in release tarball and patching Makefile.am +# Missing install-sh in release tarball CIFS_UTILS_AUTORECONF = YES CIFS_UTILS_DEPENDENCIES = host-pkgconf @@ -31,4 +31,12 @@ endef CIFS_UTILS_POST_PATCH_HOOKS += CIFS_UTILS_NO_WERROR +ifeq ($(BR2_PACKAGE_CIFS_UTILS_SMBTOOLS),) +define CIFS_UTILS_REMOVE_SMBTOOLS + rm -f $(TARGET_DIR)/usr/bin/smbinfo + rm -f $(TARGET_DIR)/usr/bin/smb2-quota +endef +CIFS_UTILS_POST_INSTALL_TARGET_HOOKS += CIFS_UTILS_REMOVE_SMBTOOLS +endif + $(eval $(autotools-package)) diff --git a/package/civetweb/Config.in b/package/civetweb/Config.in index 9e439690853..6bca5ed8fd0 100644 --- a/package/civetweb/Config.in +++ b/package/civetweb/Config.in @@ -21,18 +21,6 @@ config BR2_PACKAGE_CIVETWEB_LIB Enable the civetweb library for embedding in another application. -config BR2_PACKAGE_CIVETWEB_WITH_LUA - bool "enable Lua support" - # required by the bundled Sqlite3 and Lua code - depends on !BR2_STATIC_LIBS - help - Enable Lua support in Civetweb. Note that this will use a - version of Lua and Sqlite bundled within the Civetweb - sources, and not the packages from Buildroot. - -comment "lua support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - endif comment "civetweb needs a toolchain w/ threads" diff --git a/package/civetweb/civetweb.hash b/package/civetweb/civetweb.hash index cf9d6768320..bdf6d77427f 100644 --- a/package/civetweb/civetweb.hash +++ b/package/civetweb/civetweb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a7ccc76c2f1b5f4e8d855eb328ed542f8fe3b882a6da868781799a98f4acdedc civetweb-1.13.tar.gz -sha256 291622dfbbf4fb35829726fbe97177b7227c0d4d6392b350660af73af4f86df8 LICENSE.md +sha256 90a533422944ab327a4fbb9969f0845d0dba05354f9cacce3a5005fa59f593b9 civetweb-1.15.tar.gz +sha256 24d3d2aee56ae3cddcdf3392c1250877818108314233cf15f2bc9eb3ac298934 LICENSE.md diff --git a/package/civetweb/civetweb.mk b/package/civetweb/civetweb.mk index 94fbb4f9d81..a299de85e91 100644 --- a/package/civetweb/civetweb.mk +++ b/package/civetweb/civetweb.mk @@ -4,7 +4,7 @@ # ################################################################################ -CIVETWEB_VERSION = 1.13 +CIVETWEB_VERSION = 1.15 CIVETWEB_SITE = $(call github,civetweb,civetweb,v$(CIVETWEB_VERSION)) CIVETWEB_LICENSE = MIT CIVETWEB_LICENSE_FILES = LICENSE.md @@ -26,9 +26,21 @@ ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),) CIVETWEB_COPT += -DNO_ATOMICS=1 endif -ifeq ($(BR2_PACKAGE_CIVETWEB_WITH_LUA),y) -CIVETWEB_CONF_OPTS += WITH_LUA=1 -CIVETWEB_LIBS += -ldl +ifeq ($(BR2_PACKAGE_LUAJIT),y) +CIVETWEB_CONF_OPTS += WITH_LUAJIT_SHARED=1 +CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs luajit` -ldl +CIVETWEB_DEPENDENCIES += host-pkgconf luajit +else ifeq ($(BR2_PACKAGE_LUA):$(BR2_STATIC_LIBS),y:) +CIVETWEB_CONF_OPTS += WITH_LUA=1 WITH_LUA_SHARED=1 LUA_SHARED_LIB_FLAG='' +CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs lua` +CIVETWEB_DEPENDENCIES += host-pkgconf lua +ifeq ($(BR2_PACKAGE_LUA_5_1),y) +CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=501 +else ifeq ($(BR2_PACKAGE_LUA_5_3),y) +CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=503 +else ifeq ($(BR2_PACKAGE_LUA_5_4),y) +CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=504 +endif endif ifeq ($(BR2_PACKAGE_OPENSSL),y) @@ -54,12 +66,12 @@ ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y) CIVETWEB_INSTALL_STAGING = YES CIVETWEB_INSTALL_TARGETS += install-headers -ifeq ($(BR2_STATIC_LIBS)$(BR2_STATIC_SHARED_LIBS),y) +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) CIVETWEB_BUILD_TARGETS += lib CIVETWEB_INSTALL_TARGETS += install-lib endif -ifeq ($(BR2_SHARED_LIBS)$(BR2_STATIC_SHARED_LIBS),y) +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) CIVETWEB_BUILD_TARGETS += slib CIVETWEB_INSTALL_TARGETS += install-slib endif diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash index b99fcee8bae..c39e884cdd9 100644 --- a/package/cjson/cjson.hash +++ b/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d4e77a38f540f2c37f55758f2666655314f1f51c716fea5f279659940efdcf04 cjson-1.7.13.tar.gz +sha256 5308fd4bd90cef7aa060558514de6a1a4a0819974a26e6ed13973c5f624c24b2 cjson-1.7.15.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index 47f8ecfd157..ac8db5701f2 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -CJSON_VERSION = 1.7.13 +CJSON_VERSION = 1.7.15 CJSON_SITE = $(call github,DaveGamble,cjson,v$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT diff --git a/package/clamav/0001-clamdscan-proto.c-fix-build-error-due-to-missing-soc.patch b/package/clamav/0001-clamdscan-proto.c-fix-build-error-due-to-missing-soc.patch deleted file mode 100644 index daac677eaa8..00000000000 --- a/package/clamav/0001-clamdscan-proto.c-fix-build-error-due-to-missing-soc.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 52fda6e6689e22866a39ec4273713fb6035c38b2 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Mon, 7 May 2018 23:14:46 +0200 -Subject: [PATCH] clamdscan/proto.c: fix build error due to missing sockaddr_un - definition -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -proto.c: In function ‘dconnect’: -proto.c:86:67: error: invalid application of ‘sizeof’ to incomplete type ‘struct sockaddr_un’ - if (connect(sockd, (struct sockaddr *)&nixsock, sizeof(nixsock)) == 0) - -Signed-off-by: Bernd Kuhls -Upstream-status: http://lurker.clamav.net/message/20140928.130829.5494fd68.en.html ---- - clamdscan/proto.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/clamdscan/proto.c b/clamdscan/proto.c -index 0205f6da0..d3396732f 100644 ---- a/clamdscan/proto.c -+++ b/clamdscan/proto.c -@@ -42,6 +42,7 @@ - #include - #include - #include -+#include - #ifdef HAVE_SYS_SELECT_H - #include - #endif --- -2.14.3 - diff --git a/package/clamav/0002-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch b/package/clamav/0001-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch similarity index 100% rename from package/clamav/0002-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch rename to package/clamav/0001-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch diff --git a/package/clamav/Config.in b/package/clamav/Config.in index 990a818b5c6..2857f9cbf43 100644 --- a/package/clamav/Config.in +++ b/package/clamav/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_CLAMAV select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help ClamAV is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats. diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash index 1b2325870d6..579b0ec89e5 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 7308c47b89b268af3b9f36140528927a49ff3e633a9c9c0aac2712d81056e257 clamav-0.103.1.tar.gz +sha256 aaa12e3dc19f1d323b1c50d7a10fa8af557e4390149e864d59bde39b6ad9ba33 clamav-0.103.6.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index 4cd13fb827a..10856ed9713 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,13 +4,14 @@ # ################################################################################ -CLAMAV_VERSION = 0.103.1 +CLAMAV_VERSION = 0.103.6 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ COPYING.LGPL COPYING.llvm COPYING.lzma COPYING.pcre COPYING.regex \ COPYING.unrar COPYING.zlib CLAMAV_CPE_ID_VENDOR = clamav +CLAMAV_SELINUX_MODULES = clamav CLAMAV_DEPENDENCIES = \ host-pkgconf \ libcurl \ @@ -68,6 +69,7 @@ CLAMAV_CONF_OPTS += --without-libjson endif ifeq ($(BR2_PACKAGE_LIBXML2),y) +CLAMAV_CONF_ENV += ac_cv_path_xmlconfig=$(STAGING_DIR)/usr/bin/xml2-config CLAMAV_CONF_OPTS += --with-xml=$(STAGING_DIR)/usr CLAMAV_DEPENDENCIES += libxml2 else diff --git a/package/clapack/0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch b/package/clapack/0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch deleted file mode 100644 index 8fede9da91e..00000000000 --- a/package/clapack/0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4fe2f454e454d9e6b1e83b2ea67581990461ed36 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 22:05:25 +0100 -Subject: [PATCH 1/6] cmake: force libf2c to be built as a static library - -As stated in INSTALL/LAPACK_version.c, liblapack requires to be linked -against the static library of libf2c. - -Signed-off-by: Samuel Martin ---- - F2CLIBS/libf2c/CMakeLists.txt | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index 43d7b3f..f98d66a 100644 ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -58,5 +58,10 @@ if(WIN32) - endif() - include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) - include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c) --add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) -+add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) - set_property(TARGET f2c PROPERTY PREFIX lib) -+# Set fPIC on the library when build shared libraries is enabled, because -+# libf2c.a will most likely be included by some shared libraries in such cases. -+if(UNIX AND BUILD_SHARED_LIBS) -+ set_target_properties(f2c PROPERTIES COMPILE_FLAGS "-fPIC") -+endif() --- -1.8.5.3 - diff --git a/package/clapack/0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch b/package/clapack/0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch deleted file mode 100644 index eac4164f5df..00000000000 --- a/package/clapack/0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 834c221936d9c460b44e3a65b6fedfb3193f491b Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:33:12 +0100 -Subject: [PATCH 2/6] cmake: make test build sensitive to BUILD_TESTING - -This patch prevent from wasting time building the tests if it's our -wish. - -The test build takes a significant amount of time, and the binaries -are not installed. - -Signed-off-by: Samuel Martin ---- - BLAS/TESTING/CMakeLists.txt | 3 +++ - CMakeLists.txt | 9 ++++++--- - TESTING/CMakeLists.txt | 4 ++++ - 3 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/BLAS/TESTING/CMakeLists.txt b/BLAS/TESTING/CMakeLists.txt -index ec2c587..e7dc0b7 100644 ---- a/BLAS/TESTING/CMakeLists.txt -+++ b/BLAS/TESTING/CMakeLists.txt -@@ -25,6 +25,9 @@ - # make single FRC=FRC - # - ####################################################################### -+if(NOT BUILD_TESTING) -+ return() -+endif() - - macro(add_blas_test name src) - get_filename_component(baseNAME ${src} NAME_WE) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 320ccc6..0a362c0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,5 @@ - cmake_minimum_required(VERSION 2.6) - project(CLAPACK C) --enable_testing() - include(CTest) - - if(WIN32 AND NOT CYGWIN) -@@ -11,7 +10,9 @@ else() - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c) - set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c) - endif() --enable_testing() -+if(NOT BUILD_TESTING) -+ enable_testing() -+endif() - option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF) - if(NOT USE_BLAS_WRAP) - # _zrotg_ seems to be missing in the wrap header -@@ -21,7 +22,9 @@ include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE) - add_subdirectory(F2CLIBS) - add_subdirectory(BLAS) - add_subdirectory(SRC) --add_subdirectory(TESTING) -+if(NOT BUILD_TESTING) -+ add_subdirectory(TESTING) -+endif() - set(CLAPACK_VERSION 3.2.1) - set(CPACK_PACKAGE_VERSION_MAJOR 3) - set(CPACK_PACKAGE_VERSION_MINOR 2) -diff --git a/TESTING/CMakeLists.txt b/TESTING/CMakeLists.txt -index d59359d..f6b083a 100644 ---- a/TESTING/CMakeLists.txt -+++ b/TESTING/CMakeLists.txt -@@ -1,3 +1,7 @@ -+if(NOT BUILD_TESTING) -+ return() -+endif() -+ - if(MSVC_VERSION) - # string(REPLACE "/STACK:10000000" "/STACK:900000000000000000" - # CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") --- -1.8.5.3 - diff --git a/package/clapack/0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch b/package/clapack/0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch deleted file mode 100644 index cd9828ff38c..00000000000 --- a/package/clapack/0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a2f0669fac1f8e7183b15cf7d14f0e99a2d8b012 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:47:39 +0100 -Subject: [PATCH 3/6] cmake: do not try to run arithchk when cross-compiling to - generate sources - -Instead, use a predefined arith.h if provided, or generate a default one. - -The arithchk binary is still built (but not installed) to allow the user to -run it on its target and use it; so then allowing to build an optimized -blas library. - -Signed-off-by: Samuel Martin ---- - F2CLIBS/libf2c/CMakeLists.txt | 38 ++++++++++++++++++++++++++++---------- - 1 file changed, 28 insertions(+), 10 deletions(-) - -diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index f98d66a..45a0804 100644 ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -38,17 +38,35 @@ set(TIME dtime_.c etime_.c) - - # For INTEGER*8 support (which requires system-dependent adjustments to - # f2c.h), add ${QINT} to the OFILES assignment below... --add_executable(arithchk arithchk.c) --if(UNIX) -- target_link_libraries(arithchk m) -+if(CMAKE_CROSSCOMPILING) -+ if(ARITH_H) -+ message(STATUS "Using the user-defined '${ARITH_H}' as arith.h header.") -+ configure_file("${ARITH_H}" "${CMAKE_CURRENT_BINARY_DIR}/arith.h" COPYONLY) -+ else() -+ message(STATUS "No user-defined arith.h header.") -+ if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/arith.h") -+ message(WARNING "Generating the default non-optimized 'arith.h' header. -+ -+To generate and provide a custom arith.h header: -+run the cross-compiled arithchk binary on your target, -+and use its output to fill your custom arith.h header.") -+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arith.h" -+ "/* default, not optimized arith.h */") -+ endif() -+ endif() -+else() -+ add_executable(arithchk arithchk.c) -+ if(UNIX) -+ target_link_libraries(arithchk m) -+ endif() -+ set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS -+ "NO_FPINIT;NO_LONG_LONG") -+ ADD_CUSTOM_COMMAND( -+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h -+ COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h -+ DEPENDS arithchk -+ ) - endif() --set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS -- "NO_FPINIT;NO_LONG_LONG") --ADD_CUSTOM_COMMAND( -- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h -- COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h -- DEPENDS arithchk -- ) - - - set(OFILES ${MISC} ${POW} ${CX} ${DCX} ${REAL} ${DBL} ${INT} --- -1.8.5.3 - diff --git a/package/clapack/0004-cmake-blas-add-library-and-header-install-rules.patch b/package/clapack/0004-cmake-blas-add-library-and-header-install-rules.patch deleted file mode 100644 index e83b066dac4..00000000000 --- a/package/clapack/0004-cmake-blas-add-library-and-header-install-rules.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 675111e8ffc179276a7e4950fe4a4eda4d38a703 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:48:32 +0100 -Subject: [PATCH 4/6] cmake: blas: add library and header install rules - -Signed-off-by: Samuel Martin ---- - BLAS/SRC/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt -index d1caff8..a5de5a1 100644 ---- a/BLAS/SRC/CMakeLists.txt -+++ b/BLAS/SRC/CMakeLists.txt -@@ -141,3 +141,5 @@ if(UNIX) - target_link_libraries(blas m) - endif() - target_link_libraries(blas f2c) -+install(TARGETS blas LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+install(FILES "${CLAPACK_SOURCE_DIR}/INCLUDE/blaswrap.h" DESTINATION include) --- -1.8.5.3 - diff --git a/package/clapack/0005-cmake-lapack-add-library-and-header-install-rules.patch b/package/clapack/0005-cmake-lapack-add-library-and-header-install-rules.patch deleted file mode 100644 index abba460b6c9..00000000000 --- a/package/clapack/0005-cmake-lapack-add-library-and-header-install-rules.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9dfac0d55a31be59a856bad9d3a5071d65176597 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:49:22 +0100 -Subject: [PATCH 5/6] cmake: lapack: add library and header install rules - -Signed-off-by: Samuel Martin ---- - SRC/CMakeLists.txt | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt -index ac4cce3..aa60555 100644 ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -377,4 +377,5 @@ if(BUILD_COMPLEX16) - endif() - add_library(lapack ${ALLOBJ} ${ALLXOBJ}) - target_link_libraries(lapack blas) -- -+install(TARGETS lapack LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+install(FILES "${CLAPACK_SOURCE_DIR}/INCLUDE/clapack.h" DESTINATION include) --- -1.8.5.3 - diff --git a/package/clapack/0006-remove-uninit-f2c.patch b/package/clapack/0006-remove-uninit-f2c.patch deleted file mode 100644 index 83c2c5c75f3..00000000000 --- a/package/clapack/0006-remove-uninit-f2c.patch +++ /dev/null @@ -1,24 +0,0 @@ -uninit.c includes glibc-specific not provided by musl. -Somewhat portable replacement is , which is available in musl -but requires non-trivial changes to uninit.c. - -f2c uses _uninit_f2c() from uninit.c to implement its -trapuv option, -pre-initializiing floating-point variables to NaN and asking FPU to send -SIGFPE whenever NaN value is encountered. - -clapack source has already been run through f2c without -trapuv, -so uninit.c code is not used anywhere and can be safely excluded. - -Signed-off-by: Alex Suykov - ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -1,7 +1,7 @@ - set(MISC - f77vers.c i77vers.c main.c s_rnge.c abort_.c exit_.c getarg_.c iargc_.c - getenv_.c signal_.c s_stop.c s_paus.c system_.c cabs.c ctype.c -- derf_.c derfc_.c erf_.c erfc_.c sig_die.c uninit.c) -+ derf_.c derfc_.c erf_.c erfc_.c sig_die.c) - set(POW pow_ci.c pow_dd.c pow_di.c pow_hh.c pow_ii.c pow_ri.c pow_zi.c pow_zz.c) - set(CX c_abs.c c_cos.c c_div.c c_exp.c c_log.c c_sin.c c_sqrt.c) - set(DCX z_abs.c z_cos.c z_div.c z_exp.c z_log.c z_sin.c z_sqrt.c) diff --git a/package/clapack/0007-off64-t.patch b/package/clapack/0007-off64-t.patch deleted file mode 100644 index bf66d3c95fc..00000000000 --- a/package/clapack/0007-off64-t.patch +++ /dev/null @@ -1,16 +0,0 @@ -musl only provides off64_t, not __off64_t. -glibc and uclibc have both defined. - -Signed-off-by: Alex Suykov - ---- a/F2CLIBS/libf2c/sysdep1.h -+++ b/F2CLIBS/libf2c/sysdep1.h -@@ -10,7 +10,7 @@ - - #ifdef __linux__ - #define USE_LARGEFILE --#define OFF_T __off64_t -+#define OFF_T off64_t - #endif - - #ifdef _AIX43 diff --git a/package/clapack/Config.in b/package/clapack/Config.in deleted file mode 100644 index a912eb6c915..00000000000 --- a/package/clapack/Config.in +++ /dev/null @@ -1,28 +0,0 @@ -comment "clapack needs a glibc toolchain" - depends on BR2_powerpc - depends on !BR2_TOOLCHAIN_USES_GLIBC - -config BR2_PACKAGE_CLAPACK - bool "cblas/clapack" - # _fpu_control is used on PowerPC, but not available with - # uClibc or musl - depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC - # assembler: Error: value out of range - depends on !BR2_m68k_cf - help - BLAS and LAPACK C implementation (f2c'ed version of). - - http://www.netlib.org/clapack/ - -config BR2_PACKAGE_CLAPACK_ARITH_H - string "Custom BLAS arith.h" - depends on BR2_PACKAGE_CLAPACK - help - To optimize BLAS library for the hardware, an 'arith.h' header - should be provided. - - If empty, the library will not be optimized by the compiler. - - In any case an 'arithchk' program is built - (but not installed), to be run on the target to generate this - arith.h header. diff --git a/package/clapack/clapack.hash b/package/clapack/clapack.hash deleted file mode 100644 index ad586fac726..00000000000 --- a/package/clapack/clapack.hash +++ /dev/null @@ -1,5 +0,0 @@ -# Locally calculated -sha256 0b3f782bc24845d85f36bafbff0f2f1384dc72df730fda4e7924ec1a70baca5a clapack-3.2.1-CMAKE.tgz -# License files, locally calculated -sha256 23014869214a231525b38c39fdb5f82364fa24154ac80fdcab2a79671460fd09 COPYING -sha256 44561c447e91203ddc747beeca5cc2794d95ee982c17c578670e4f0408bc3904 F2CLIBS/libf2c/Notice diff --git a/package/clapack/clapack.mk b/package/clapack/clapack.mk deleted file mode 100644 index 9a083f32234..00000000000 --- a/package/clapack/clapack.mk +++ /dev/null @@ -1,22 +0,0 @@ -################################################################################ -# -# clapack -# -################################################################################ - -CLAPACK_VERSION = 3.2.1 -CLAPACK_SOURCE = clapack-$(CLAPACK_VERSION)-CMAKE.tgz -# This package provides 3 libraries: -# - libf2c.a (not installed) -# - libblas (statically linked with libf2c.a) -# - liblapack (statically linked with libf2c.a) -CLAPACK_LICENSE = HPND (libf2c), BSD-3-Clause (libblas and liblapack) -CLAPACK_LICENSE_FILES = F2CLIBS/libf2c/Notice COPYING -CLAPACK_SITE = http://www.netlib.org/clapack -CLAPACK_INSTALL_STAGING = YES - -ifneq ($(BR2_PACKAGE_CLAPACK_ARITH_H),) -CLAPACK_CONF_OPTS += -DARITH_H=$(BR2_PACKAGE_CLAPACK_ARITH_H) -endif - -$(eval $(cmake-package)) diff --git a/package/clinfo/clinfo.hash b/package/clinfo/clinfo.hash index 2528a9e6c85..e433b6740c0 100644 --- a/package/clinfo/clinfo.hash +++ b/package/clinfo/clinfo.hash @@ -1,4 +1,4 @@ # locally calculated -sha256 3c506083e72e9ee09fc7d5de513be7c5eff0284f198a60fb60ab493f6f0a549a clinfo-3.0.20.11.20.tar.gz +sha256 e52f5c374a10364999d57a1be30219b47fb0b4f090e418f2ca19a0c037c1e694 clinfo-3.0.21.02.21.tar.gz sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 legalcode.txt sha256 2a7a9321be169ea6edbc6b1010e8f7bb0f4c1482a2f65c34a49e9719f129b79a LICENSE diff --git a/package/clinfo/clinfo.mk b/package/clinfo/clinfo.mk index 404e5f7535f..d4c1df90d40 100644 --- a/package/clinfo/clinfo.mk +++ b/package/clinfo/clinfo.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLINFO_VERSION = 3.0.20.11.20 +CLINFO_VERSION = 3.0.21.02.21 CLINFO_SITE = $(call github,Oblomov,clinfo,$(CLINFO_VERSION)) CLINFO_LICENSE = CC0-1.0 CLINFO_LICENSE_FILES = legalcode.txt LICENSE diff --git a/package/cloop/cloop.hash b/package/cloop/cloop.hash index 7af1a9594d1..eb922764bba 100644 --- a/package/cloop/cloop.hash +++ b/package/cloop/cloop.hash @@ -1,6 +1,6 @@ -# From http://snapshot.debian.org/archive/debian/20150503T155713Z/pool/main/c/cloop/cloop_3.14.1.2.dsc -sha256 ac344225b3a5c4ddbb0d4b20cd4874798b51427b707b53e2ee9fbdada7497c95 cloop_3.14.1.2.tar.xz +# From http://snapshot.debian.org/archive/debian/20200419T152225Z/pool/main/c/cloop/cloop_3.14.1.3.dsc +sha256 e3079e70f9edae8ed1ac64694af08f6c7dc710ca65a56e4770dcb1325a293193 cloop_3.14.1.3.tar.xz # Hash for license files -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad advancecomp-1.15/COPYING -sha256 1b1f89e94e131e259b9e334565c5c3500d4b8aa755b75c3f145ddcdff3b89124 README +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad advancecomp-1.15/COPYING +sha256 1b1f89e94e131e259b9e334565c5c3500d4b8aa755b75c3f145ddcdff3b89124 README diff --git a/package/cloop/cloop.mk b/package/cloop/cloop.mk index 046d98c862b..6f6d5fe6a8f 100644 --- a/package/cloop/cloop.mk +++ b/package/cloop/cloop.mk @@ -4,9 +4,9 @@ # ################################################################################ -CLOOP_VERSION = 3.14.1.2 +CLOOP_VERSION = 3.14.1.3 CLOOP_SOURCE = cloop_$(CLOOP_VERSION).tar.xz -CLOOP_SITE = http://snapshot.debian.org/archive/debian/20150503T155713Z/pool/main/c/cloop +CLOOP_SITE = http://snapshot.debian.org/archive/debian/20200419T152225Z/pool/main/c/cloop CLOOP_LICENSE = GPL-2.0 (module), GPL-2.0+ (advancecomp) CLOOP_LICENSE_FILES = README advancecomp-1.15/COPYING @@ -14,7 +14,7 @@ HOST_CLOOP_DEPENDENCIES = host-zlib define HOST_CLOOP_BUILD_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D) APPSONLY=yes \ - CFLAGS="$(HOST_CFLAGS) -D_GNU_SOURCE" + CFLAGS="$(HOST_CFLAGS) -D_GNU_SOURCE" CPPFLAGS="-std=c++14" endef define HOST_CLOOP_INSTALL_CMDS diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index 983c2929839..97e83a274cd 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,5 +1,5 @@ -# From https://cmake.org/files/v3.15/cmake-3.15.5-SHA-256.txt -sha256 fbdd7cef15c0ced06bb13024bfda0ecc0dedbcaaaa6b8a5d368c75255243beb4 cmake-3.15.5.tar.gz +# From https://cmake.org/files/v3.16/cmake-3.16.9-SHA-256.txt +sha256 1708361827a5a0de37d55f5c9698004c035abb1de6120a376d5d59a81630191f cmake-3.16.9.tar.gz # Locally calculated -sha256 dc628fb936a5d229296d42083f9a8218aa32204c016919e784404c9ec58776e9 Copyright.txt +sha256 dc628fb936a5d229296d42083f9a8218aa32204c016919e784404c9ec58776e9 Copyright.txt diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index 1f307360230..b1b214982e8 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -4,11 +4,14 @@ # ################################################################################ -CMAKE_VERSION_MAJOR = 3.15 -CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).5 +CMAKE_VERSION_MAJOR = 3.16 +CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).9 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) CMAKE_LICENSE = BSD-3-Clause CMAKE_LICENSE_FILES = Copyright.txt +CMAKE_CPE_ID_VENDOR = cmake_project +# Tool download MITM attack warning if using npm package to install cmake +CMAKE_IGNORE_CVES = CVE-2016-10642 # CMake is a particular package: # * CMake can be built using the generic infrastructure or the cmake one. diff --git a/package/cog/Config.in b/package/cog/Config.in index a9ca7473a9a..d4238750f9f 100644 --- a/package/cog/Config.in +++ b/package/cog/Config.in @@ -28,12 +28,12 @@ config BR2_PACKAGE_COG_PROGRAMS_HOME_URI must be always specified in the command line. config BR2_PACKAGE_COG_PLATFORM_FDO - bool "FreeDesktop.org backend" + bool "Wayland backend" default y select BR2_PACKAGE_LIBXKBCOMMON select BR2_PACKAGE_WAYLAND_PROTOCOLS help - Enable the FreeDesktop.org backend. Cog will interface with + Enable the Wayland backend. Cog will interface with a compositor over the Wayland protocol. config BR2_PACKAGE_COG_PLATFORM_DRM @@ -47,6 +47,11 @@ config BR2_PACKAGE_COG_PLATFORM_DRM with video drivers that support kernel mode-setting (KMS) via the DRM user-space API. +config BR2_PACKAGE_COG_USE_SYSTEM_DBUS + bool "expose system D-Bus control interface" + help + Expose remote control interface on system bus + comment "DRM platform needs mesa3d w/ EGL driver and GBM" depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL diff --git a/package/cog/cog.hash b/package/cog/cog.hash index d76306ca54a..00d3a4e1916 100644 --- a/package/cog/cog.hash +++ b/package/cog/cog.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/cog-0.8.0.tar.xz.sums -md5 f7aa8a425927cab247563411fc67c5a3 cog-0.8.0.tar.xz -sha1 977559204dae0f9220e4c6b8ded7537899fd2daf cog-0.8.0.tar.xz -sha256 181b1f4963cdf264b8068460a64d14c92a627f7138ebecc0f36fce085f4e92dd cog-0.8.0.tar.xz +# From https://wpewebkit.org/releases/cog-0.12.4.tar.xz.sums +md5 cdb8acdc3acc9b5082e7db9c279155c3 cog-0.12.4.tar.xz +sha1 600b30efadf55bf94ea5062a0a1b2ea0b74053e5 cog-0.12.4.tar.xz +sha256 9983c621c8e14fca3792ff566cb6b86d6a1f17446eb4c083af4a5a749112982f cog-0.12.4.tar.xz # Hashes for license files: sha256 e6c42d93c68b292bcccf6d2ec3e13da85df90b718ba27c2c2a01053a9d009252 COPYING diff --git a/package/cog/cog.mk b/package/cog/cog.mk index 47a5573dda4..f2ca0af93d1 100644 --- a/package/cog/cog.mk +++ b/package/cog/cog.mk @@ -4,7 +4,7 @@ # ################################################################################ -COG_VERSION = 0.8.0 +COG_VERSION = 0.12.4 COG_SITE = https://wpewebkit.org/releases COG_SOURCE = cog-$(COG_VERSION).tar.xz COG_INSTALL_STAGING = YES @@ -13,15 +13,17 @@ COG_LICENSE = MIT COG_LICENSE_FILES = COPYING COG_CONF_OPTS = \ -DCOG_BUILD_PROGRAMS=ON \ + -DCOG_PLATFORM_HEADLESS=ON \ -DCOG_WESTON_DIRECT_DISPLAY=OFF \ -DINSTALL_MAN_PAGES=OFF \ - -DCOG_HOME_URI='$(call qstrip,$(BR2_PACKAGE_COG_PROGRAMS_HOME_URI))' + -DCOG_HOME_URI='$(call qstrip,$(BR2_PACKAGE_COG_PROGRAMS_HOME_URI))' \ + -DUSE_SOUP2=ON ifeq ($(BR2_PACKAGE_COG_PLATFORM_FDO),y) -COG_CONF_OPTS += -DCOG_PLATFORM_FDO=ON +COG_CONF_OPTS += -DCOG_PLATFORM_WL=ON COG_DEPENDENCIES += libxkbcommon wayland-protocols else -COG_CONF_OPTS += -DCOG_PLATFORM_FDO=OFF +COG_CONF_OPTS += -DCOG_PLATFORM_WL=OFF endif ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y) @@ -31,4 +33,10 @@ else COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF endif +ifeq ($(BR2_PACKAGE_COG_USE_SYSTEM_DBUS),y) +COG_CONF_OPTS += -DCOG_DBUS_SYSTEM_BUS=ON +else +COG_CONF_OPTS += -DCOG_DBUS_SYSTEM_BUS=OFF +endif + $(eval $(cmake-package)) diff --git a/package/collectd/Config.in b/package/collectd/Config.in index 82c24fdbc38..c28079008ed 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -212,6 +212,17 @@ config BR2_PACKAGE_COLLECTD_CURL_XML help Reads files using libcurl and parses it as XML. +config BR2_PACKAGE_COLLECTD_DBI + bool "dbi" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBDBI + help + Executes SQL statements on various databases and + interprets the returned data. + +comment "dbi support needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_COLLECTD_DF bool "df" help @@ -301,6 +312,17 @@ config BR2_PACKAGE_COLLECTD_IPC IPC counters: semaphores used, number of allocated segments in shared memory and more. +config BR2_PACKAGE_COLLECTD_IPMI + bool "ipmi" + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_PACKAGE_OPENIPMI + help + Read hardware sensors from servers using the Intelligent + Platform Management Interface (IPMI). + +comment "ipmi needs a toolchain w/ NPTL" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + config BR2_PACKAGE_COLLECTD_IPTABLES bool "iptables" select BR2_PACKAGE_IPTABLES @@ -377,6 +399,10 @@ config BR2_PACKAGE_COLLECTD_MYSQL Connects to a MySQL database and issues a "show status" command. +comment "mysql needs a toolchain w/ C++, threads" + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_COLLECTD_NETLINK bool "netlink" select BR2_PACKAGE_LIBMNL @@ -449,6 +475,7 @@ config BR2_PACKAGE_COLLECTD_PING config BR2_PACKAGE_COLLECTD_POSTGRESQL bool "postgresql" depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Connects to and executes SQL statements on a PostgreSQL @@ -459,6 +486,9 @@ config BR2_PACKAGE_COLLECTD_POSTGRESQL comment "postgresql support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR +comment "postgresql support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_COLLECTD_PROCESSES bool "processes" help @@ -565,6 +595,24 @@ config BR2_PACKAGE_COLLECTD_USERS help Counts the number of users currently logged in. +config BR2_PACKAGE_COLLECTD_VIRT + bool "virt" + depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS # libvirt + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # libvirt + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64 # libvirt + depends on BR2_PACKAGE_HAS_UDEV # libvirt + depends on BR2_USE_WCHAR # libvirt + select BR2_PACKAGE_LIBVIRT + select BR2_PACKAGE_LIBXML2 + help + Gather statistics about virtualized guests on a system. + +comment "virt needs udev /dev management, a toolchain w/ wchar, kernel headers >= 3.12 (4.11 for AArch64)" + depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_USE_WCHAR || \ + !(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 && \ + (BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64)) + config BR2_PACKAGE_COLLECTD_VMEM bool "vmem" help @@ -636,7 +684,6 @@ config BR2_PACKAGE_COLLECTD_GRPC depends on BR2_INSTALL_LIBSTDCPP # grpc -> protobuf depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # grpc -> protobuf depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # grpc -> libabseil-cpp - depends on BR2_HOST_GCC_AT_LEAST_4_9 # grpc -> host-libabseil-cpp depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc select BR2_PACKAGE_GRPC help diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index 7db753b3428..57517570408 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -13,15 +13,16 @@ COLLECTD_INSTALL_STAGING = YES COLLECTD_LICENSE = MIT (daemon, plugins), GPL-2.0 (plugins), LGPL-2.1 (plugins) COLLECTD_LICENSE_FILES = COPYING COLLECTD_CPE_ID_VENDOR = collectd +COLLECTD_SELINUX_MODULES = apache collectd # These require unmet dependencies, are fringe, pointless or deprecated COLLECTD_PLUGINS_DISABLE = \ - apple_sensors aquaero ascent barometer dbi dpdkstat email \ - gmond hddtemp intel_rdt ipmi java lpar \ + apple_sensors aquaero ascent barometer dpdkstat email \ + gmond hddtemp intel_rdt java lpar \ madwifi mbmon mic multimeter netapp notify_desktop numa \ oracle perl pf pinba powerdns python routeros \ rrdcached sigrok tape target_v5upgrade teamspeak2 ted \ - tokyotyrant turbostat uuid varnish virt vserver write_kafka \ + tokyotyrant turbostat uuid varnish vserver write_kafka \ write_mongodb xencpu xmms zfs_arc zone COLLECTD_CONF_ENV += LIBS="-lm" @@ -66,6 +67,7 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_CURL),--enable-curl,--disable-curl) \ $(if $(BR2_PACKAGE_COLLECTD_CURL_JSON),--enable-curl_json,--disable-curl_json) \ $(if $(BR2_PACKAGE_COLLECTD_CURL_XML),--enable-curl_xml,--disable-curl_xml) \ + $(if $(BR2_PACKAGE_COLLECTD_DBI),--enable-dbi,--disable-dbi) \ $(if $(BR2_PACKAGE_COLLECTD_DF),--enable-df,--disable-df) \ $(if $(BR2_PACKAGE_COLLECTD_DISK),--enable-disk,--disable-disk) \ $(if $(BR2_PACKAGE_COLLECTD_DNS),--enable-dns,--disable-dns) \ @@ -86,6 +88,7 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_INFINIBAND),--enable-infiniband,--disable-infiniband) \ $(if $(BR2_PACKAGE_COLLECTD_INTERFACE),--enable-interface,--disable-interface) \ $(if $(BR2_PACKAGE_COLLECTD_IPC),--enable-ipc,--disable-ipc) \ + $(if $(BR2_PACKAGE_COLLECTD_IPMI),--enable-ipmi,--disable-ipmi) \ $(if $(BR2_PACKAGE_COLLECTD_IPTABLES),--enable-iptables,--disable-iptables) \ $(if $(BR2_PACKAGE_COLLECTD_IPVS),--enable-ipvs,--disable-ipvs) \ $(if $(BR2_PACKAGE_COLLECTD_IRQ),--enable-irq,--disable-irq) \ @@ -146,6 +149,7 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_UPTIME),--enable-uptime,--disable-uptime) \ $(if $(BR2_PACKAGE_COLLECTD_USERS),--enable-users,--disable-users) \ $(if $(BR2_PACKAGE_COLLECTD_VALUE),--enable-match_value,--disable-match_value) \ + $(if $(BR2_PACKAGE_COLLECTD_VIRT),--enable-virt,--disable-virt) \ $(if $(BR2_PACKAGE_COLLECTD_VMEM),--enable-vmem,--disable-vmem) \ $(if $(BR2_PACKAGE_COLLECTD_WIRELESS),--enable-wireless,--disable-wireless) \ $(if $(BR2_PACKAGE_COLLECTD_WRITEHTTP),--enable-write_http,--disable-write_http) \ @@ -167,10 +171,12 @@ COLLECTD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_COLLECTD_CURL),libcurl) \ $(if $(BR2_PACKAGE_COLLECTD_CURL_JSON),libcurl yajl) \ $(if $(BR2_PACKAGE_COLLECTD_CURL_XML),libcurl libxml2) \ + $(if $(BR2_PACKAGE_COLLECTD_DBI),libdbi) \ $(if $(BR2_PACKAGE_COLLECTD_DNS),libpcap) \ $(if $(BR2_PACKAGE_COLLECTD_DPDK_TELEMETRY),jansson) \ $(if $(BR2_PACKAGE_COLLECTD_GPS),gpsd) \ $(if $(BR2_PACKAGE_COLLECTD_GRPC),grpc) \ + $(if $(BR2_PACKAGE_COLLECTD_IPMI),openipmi) \ $(if $(BR2_PACKAGE_COLLECTD_IPTABLES),iptables) \ $(if $(BR2_PACKAGE_COLLECTD_LOGSTASH),yajl) \ $(if $(BR2_PACKAGE_COLLECTD_LUA),luainterpreter) \ @@ -192,6 +198,7 @@ COLLECTD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_COLLECTD_SENSORS),lm-sensors) \ $(if $(BR2_PACKAGE_COLLECTD_SMART),libatasmart) \ $(if $(BR2_PACKAGE_COLLECTD_SNMP),netsnmp) \ + $(if $(BR2_PACKAGE_COLLECTD_VIRT),libvirt libxml2) \ $(if $(BR2_PACKAGE_COLLECTD_WRITEHTTP),libcurl) \ $(if $(BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS),libmicrohttpd protobuf-c) \ $(if $(BR2_PACKAGE_COLLECTD_WRITEREDIS),hiredis) diff --git a/package/collectl/collectl.hash b/package/collectl/collectl.hash index d866e0beccf..1785d25d877 100644 --- a/package/collectl/collectl.hash +++ b/package/collectl/collectl.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 2187264d974b36a653c8a4b028ac6eeab23e1885f8b2563a33f06358f39889f1 collectl-4.3.1.src.tar.gz -sha256 b92800d37afa2aa03c02817ff3b68efc7236436fe76af06ad9b1fc4682f59bcb ARTISTIC -sha256 264fe27852db5624e6a9a9845b4e14e91ee5007305b33e5556dfade394d578a8 COPYING -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 GPL +sha256 9fab4769441c07201748e52c7f8c7b21526ab45a05142dd2b2b1fa5c16c38750 collectl-4.3.2.src.tar.gz +sha256 b92800d37afa2aa03c02817ff3b68efc7236436fe76af06ad9b1fc4682f59bcb ARTISTIC +sha256 264fe27852db5624e6a9a9845b4e14e91ee5007305b33e5556dfade394d578a8 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 GPL diff --git a/package/collectl/collectl.mk b/package/collectl/collectl.mk index c9fb59293c1..c6cb2e14943 100644 --- a/package/collectl/collectl.mk +++ b/package/collectl/collectl.mk @@ -4,7 +4,7 @@ # ################################################################################ -COLLECTL_VERSION = 4.3.1 +COLLECTL_VERSION = 4.3.2 COLLECTL_SOURCE = collectl-$(COLLECTL_VERSION).src.tar.gz COLLECTL_SITE = http://downloads.sourceforge.net/collectl/collectl COLLECTL_LICENSE = Artistic or GPL-2.0 diff --git a/package/connman/connman.hash b/package/connman/connman.hash index 338e1919de0..6fc5edf29a2 100644 --- a/package/connman/connman.hash +++ b/package/connman/connman.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/network/connman/sha256sums.asc -sha256 9f62a7169b7491c670a1ff2e335b0d966308fb2f62e285c781105eb90f181af3 connman-1.39.tar.xz +sha256 79fb40f4fdd5530c45aa8e592fb16ba23d3674f3a98cf10b89a6576f198de589 connman-1.41.tar.xz # Locally computed sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/connman/connman.mk b/package/connman/connman.mk index 77073f984ef..1b6fd611f5a 100644 --- a/package/connman/connman.mk +++ b/package/connman/connman.mk @@ -4,10 +4,10 @@ # ################################################################################ -CONNMAN_VERSION = 1.39 +CONNMAN_VERSION = 1.41 CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman -CONNMAN_DEPENDENCIES = libglib2 dbus iptables +CONNMAN_DEPENDENCIES = libglib2 dbus CONNMAN_INSTALL_STAGING = YES CONNMAN_LICENSE = GPL-2.0 CONNMAN_LICENSE_FILES = COPYING @@ -85,6 +85,12 @@ else CONNMAN_CONF_OPTS += --disable-wispr endif +ifeq ($(BR2_PACKAGE_IWD),y) +CONNMAN_CONF_OPTS += --enable-iwd +else +CONNMAN_CONF_OPTS += --disable-iwd +endif + define CONNMAN_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/connman/S45connman $(TARGET_DIR)/etc/init.d/S45connman endef @@ -103,4 +109,9 @@ else CONNMAN_CONF_OPTS += --disable-client endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +CONNMAN_DEPENDENCIES += libexecinfo +CONNMAN_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" +endif + $(eval $(autotools-package)) diff --git a/package/containerd/Config.in b/package/containerd/Config.in new file mode 100644 index 00000000000..0e3a55ef394 --- /dev/null +++ b/package/containerd/Config.in @@ -0,0 +1,35 @@ +config BR2_PACKAGE_CONTAINERD + bool "containerd" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc + depends on BR2_USE_MMU # util-linux + select BR2_PACKAGE_RUNC # runtime dependency + select BR2_PACKAGE_UTIL_LINUX # runtime dependency + select BR2_PACKAGE_UTIL_LINUX_BINARIES + select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT + select BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT + select BR2_PACKAGE_UTIL_LINUX_MOUNT + help + containerd is a daemon to control runC. + + https://containerd.io/ + +if BR2_PACKAGE_CONTAINERD + +config BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS + bool "btrfs snapshot driver" + depends on BR2_USE_MMU # btrfs-progs + depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs + select BR2_PACKAGE_BTRFS_PROGS + help + Build the btrfs snapshot driver for containerd. + +endif + +comment "containerd needs a glibc or musl toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/containerd/containerd.hash b/package/containerd/containerd.hash new file mode 100644 index 00000000000..3f5c9865e6a --- /dev/null +++ b/package/containerd/containerd.hash @@ -0,0 +1,3 @@ +# Computed locally +sha256 02b79d5e2b07b5e64cd28f1fe84395ee11eef95fc49fd923a9ab93022b148be6 containerd-1.5.11.tar.gz +sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/containerd/containerd.mk b/package/containerd/containerd.mk new file mode 100644 index 00000000000..c405b75e814 --- /dev/null +++ b/package/containerd/containerd.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# containerd +# +################################################################################ + +CONTAINERD_VERSION = 1.5.11 +CONTAINERD_SITE = $(call github,containerd,containerd,v$(CONTAINERD_VERSION)) +CONTAINERD_LICENSE = Apache-2.0 +CONTAINERD_LICENSE_FILES = LICENSE +CONTAINERD_CPE_ID_VENDOR = linuxfoundation +CONTAINERD_CPE_ID_PRODUCT = containerd + +CONTAINERD_GOMOD = github.com/containerd/containerd + +CONTAINERD_LDFLAGS = \ + -X $(CONTAINERD_GOMOD)/version.Version=$(CONTAINERD_VERSION) + +CONTAINERD_BUILD_TARGETS = \ + cmd/containerd \ + cmd/containerd-shim \ + cmd/containerd-shim-runc-v1 \ + cmd/containerd-shim-runc-v2 \ + cmd/ctr + +CONTAINERD_INSTALL_BINS = $(notdir $(CONTAINERD_BUILD_TARGETS)) + +ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) +CONTAINERD_DEPENDENCIES += libapparmor +CONTAINERD_TAGS += apparmor +endif + +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +CONTAINERD_DEPENDENCIES += libseccomp host-pkgconf +CONTAINERD_TAGS += seccomp +endif + +ifeq ($(BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS),y) +CONTAINERD_DEPENDENCIES += btrfs-progs +else +CONTAINERD_TAGS += no_btrfs +endif + +$(eval $(golang-package)) diff --git a/package/coremark-pro/coremark-pro.mk b/package/coremark-pro/coremark-pro.mk index 515b8eafbda..6a850885606 100644 --- a/package/coremark-pro/coremark-pro.mk +++ b/package/coremark-pro/coremark-pro.mk @@ -40,7 +40,7 @@ COREMARK_PRO_MAKE_OPTS += \ EXE= define COREMARK_PRO_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_CC)" -C $(@D) \ + $(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC)" LD="$(TARGET_CC)" -C $(@D) \ $(COREMARK_PRO_MAKE_OPTS) build endef @@ -48,7 +48,7 @@ COREMARK_PRO_MARKS = cjpeg-rose7-preset core linear_alg-mid-100x100-sp loops-all COREMARK_PRO_SCRIPTS = results_parser.pl cert_median.pl cert_mark.pl headings.txt define COREMARK_PRO_INSTALL_TARGET_CMDS - mkdir -p $(TARGET_DIR)/usr/share/coremark-pro/logs + mkdir -p $(TARGET_DIR)/usr/share/coremark-pro/logs $(foreach m,$(COREMARK_PRO_MARKS),\ $(INSTALL) -D $(@D)/builds/linux$(if $(BR2_ARCH_IS_64),64)/gcc$(if $(BR2_ARCH_IS_64),64)/bin/$(m) $(TARGET_DIR)/usr/bin/$(m)$(sep) \ size $(TARGET_DIR)/usr/bin/$(m) > $(TARGET_DIR)/usr/share/coremark-pro/logs/$(m).size.log$(sep)) diff --git a/package/coreutils/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch b/package/coreutils/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch new file mode 100644 index 00000000000..88390a11241 --- /dev/null +++ b/package/coreutils/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch @@ -0,0 +1,46 @@ +From a0594387565e1e6b4a8a8ba04ad13b135cc1f0b5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 1 Apr 2021 07:49:46 +0200 +Subject: [PATCH] lib/getrandom.c: fix build with uclibc < 1.0.35 + +Fix the following build failure with uclibc < 1.0.35 which is raised +since the addition of getrandom module in +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=682cc4e678aceff32dea2a84b6e5147bdf5a20a7: + +In file included from ./sys/random.h:40, + from getrandom.c:22: +/home/fabrice/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t' + 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags) + | ^~~~~~ +/home/fabrice/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header ''; did you forget to '#include '? + 7 | #include + +++ |+#include + 8 | + +This patch is not upstreamable as it is only a workaround for +uclibc < 1.0.35, upstream uclibc has been patched with +https://github.com/wbx-github/uclibc-ng/commit/00972c02c2b6e0a95d5def4a71bdfb188e091782 + +Fixes: + - http://autobuild.buildroot.org/results/c69f5c8b8e53ed3de753f0c6d2cdd99497504b49 + +Signed-off-by: Fabrice Fontaine +--- + lib/getrandom.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/getrandom.c b/lib/getrandom.c +index 41212fb32..0ad3f9648 100644 +--- a/lib/getrandom.c ++++ b/lib/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +-- +2.30.2 + diff --git a/package/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch b/package/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch deleted file mode 100644 index 43a8161b93d..00000000000 --- a/package/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 5 Mar 2020 17:25:29 -0800 -Subject: [PATCH] ls: restore 8.31 behavior on removed directories - -* NEWS: Mention this. -* src/ls.c: Do not include -(print_dir): Don't worry about whether the directory is removed. -* tests/ls/removed-directory.sh: Adjust to match new (i.e., old) -behavior. -Signed-off-by: Joao Marcos Costa ---- - NEWS | 6 ++++++ - src/ls.c | 22 ---------------------- - tests/ls/removed-directory.sh | 10 ++-------- - 3 files changed, 8 insertions(+), 30 deletions(-) - -diff --git a/NEWS b/NEWS -index fdc8bf5db..653e7178b 100644 ---- a/NEWS -+++ b/NEWS -@@ -2,6 +2,12 @@ GNU coreutils NEWS -*- outline -*- - - * Noteworthy changes in release ?.? (????-??-??) [?] - -+** Changes in behavior -+ -+ On GNU/Linux systems, ls no longer issues an error message on -+ directory merely because it was removed. This reverts a change -+ that was made in release 8.32. -+ - - * Noteworthy changes in release 8.32 (2020-03-05) [stable] - -diff --git a/src/ls.c b/src/ls.c -index 24b983287..4acf5f44d 100644 ---- a/src/ls.c -+++ b/src/ls.c -@@ -49,10 +49,6 @@ - # include - #endif - --#ifdef __linux__ --# include --#endif -- - #include - #include - #include -@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) - struct dirent *next; - uintmax_t total_blocks = 0; - static bool first = true; -- bool found_any_entries = false; - - errno = 0; - dirp = opendir (name); -@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) - next = readdir (dirp); - if (next) - { -- found_any_entries = true; - if (! file_ignored (next->d_name)) - { - enum filetype type = unknown; -@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) - if (errno != EOVERFLOW) - break; - } --#ifdef __linux__ -- else if (! found_any_entries) -- { -- /* If readdir finds no directory entries at all, not even "." or -- "..", then double check that the directory exists. */ -- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1 -- && errno != EINVAL) -- { -- /* We exclude EINVAL as that pertains to buffer handling, -- and we've passed NULL as the buffer for simplicity. -- ENOENT is returned if appropriate before buffer handling. */ -- file_failure (command_line_arg, _("reading directory %s"), name); -- } -- break; -- } --#endif - else - break; - -diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh -index e8c835dab..fe8f929a1 100755 ---- a/tests/ls/removed-directory.sh -+++ b/tests/ls/removed-directory.sh -@@ -26,20 +26,14 @@ case $host_triplet in - *) skip_ 'non linux kernel' ;; - esac - --LS_FAILURE=2 -- --cat <<\EOF >exp-err || framework_failure_ --ls: reading directory '.': No such file or directory --EOF -- - cwd=$(pwd) - mkdir d || framework_failure_ - cd d || framework_failure_ - rmdir ../d || framework_failure_ - --returns_ $LS_FAILURE ls >../out 2>../err || fail=1 -+ls >../out 2>../err || fail=1 - cd "$cwd" || framework_failure_ - compare /dev/null out || fail=1 --compare exp-err err || fail=1 -+compare /dev/null err || fail=1 - - Exit $fail --- -2.17.1 - diff --git a/package/coreutils/coreutils.hash b/package/coreutils/coreutils.hash index 54cdf4c5515..758a6341a38 100644 --- a/package/coreutils/coreutils.hash +++ b/package/coreutils/coreutils.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa coreutils-8.32.tar.xz +sha256 ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce coreutils-9.0.tar.xz # Locally computed sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index 18e9052dfd6..438b7910ebf 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -COREUTILS_VERSION = 8.32 +COREUTILS_VERSION = 9.0 COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz COREUTILS_LICENSE = GPL-3.0+ @@ -45,7 +45,6 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ gl_cv_func_getcwd_null=yes \ gl_cv_func_getcwd_path_max=yes \ gl_cv_func_gettimeofday_clobber=no \ - gl_cv_func_fstatat_zero_flag=no \ gl_cv_func_link_follows_symlink=no \ gl_cv_func_re_compile_pattern_working=yes \ gl_cv_func_svid_putenv=yes \ @@ -94,6 +93,13 @@ else COREUTILS_CONF_OPTS += --disable-libcap endif +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +COREUTILS_DEPENDENCIES += libselinux +COREUTILS_CONF_OPTS += --with-selinux +else +COREUTILS_CONF_OPTS += --without-selinux +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) COREUTILS_CONF_OPTS += --with-openssl=yes COREUTILS_DEPENDENCIES += openssl @@ -148,7 +154,8 @@ COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_FIX_CHROOT_LOCATION # Explicitly install ln and realpath, which we *are* insterested in. # A lot of other programs still get installed, however, but disabling # them does not gain much at build time, and is a loooong list that is -# difficult to maintain... +# difficult to maintain... Just avoid overwriting fakedate when creating +# a reproducible build HOST_COREUTILS_CONF_OPTS = \ --disable-acl \ --disable-libcap \ @@ -156,7 +163,8 @@ HOST_COREUTILS_CONF_OPTS = \ --disable-single-binary \ --disable-xattr \ --without-gmp \ - --enable-install-program=ln,realpath + --enable-install-program=ln,realpath \ + --enable-no-install-program=date $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/cpio/0002-Rewrite-dynamic-string-support.patch b/package/cpio/0002-Rewrite-dynamic-string-support.patch new file mode 100644 index 00000000000..44282ae3f11 --- /dev/null +++ b/package/cpio/0002-Rewrite-dynamic-string-support.patch @@ -0,0 +1,461 @@ +From dd96882877721703e19272fe25034560b794061b Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Sat, 7 Aug 2021 12:52:21 +0300 +Subject: Rewrite dynamic string support. + +* src/dstring.c (ds_init): Take a single argument. +(ds_free): New function. +(ds_resize): Take a single argument. Use x2nrealloc to expand +the storage. +(ds_reset,ds_append,ds_concat,ds_endswith): New function. +(ds_fgetstr): Rewrite. In particular, this fixes integer overflow. +* src/dstring.h (dynamic_string): Keep both the allocated length +(ds_size) and index of the next free byte in the string (ds_idx). +(ds_init,ds_resize): Change signature. +(ds_len): New macro. +(ds_free,ds_reset,ds_append,ds_concat,ds_endswith): New protos. +* src/copyin.c: Use new ds_ functions. +* src/copyout.c: Likewise. +* src/copypass.c: Likewise. +* src/util.c: Likewise. + +[Retrieved from: +https://git.savannah.gnu.org/cgit/cpio.git/commit/?id=dd96882877721703e19272fe25034560b794061b] +Signed-off-by: Fabrice Fontaine +--- + src/copyin.c | 40 +++++++++++++------------- + src/copyout.c | 16 ++++------- + src/copypass.c | 34 +++++++++++------------ + src/dstring.c | 88 ++++++++++++++++++++++++++++++++++++++++++---------------- + src/dstring.h | 31 ++++++++++----------- + src/util.c | 6 ++-- + 6 files changed, 123 insertions(+), 92 deletions(-) + +diff --git a/src/copyin.c b/src/copyin.c +index a096048..4fb14af 100644 +--- a/src/copyin.c ++++ b/src/copyin.c +@@ -55,11 +55,12 @@ query_rename(struct cpio_file_stat* file_hdr, FILE *tty_in, FILE *tty_out, + char *str_res; /* Result for string function. */ + static dynamic_string new_name; /* New file name for rename option. */ + static int initialized_new_name = false; ++ + if (!initialized_new_name) +- { +- ds_init (&new_name, 128); +- initialized_new_name = true; +- } ++ { ++ ds_init (&new_name); ++ initialized_new_name = true; ++ } + + if (rename_flag) + { +@@ -780,37 +781,36 @@ long_format (struct cpio_file_stat *file_hdr, char const *link_name) + already in `save_patterns' (from the command line) are preserved. */ + + static void +-read_pattern_file () ++read_pattern_file (void) + { +- int max_new_patterns; +- char **new_save_patterns; +- int new_num_patterns; ++ char **new_save_patterns = NULL; ++ size_t max_new_patterns; ++ size_t new_num_patterns; + int i; +- dynamic_string pattern_name; ++ dynamic_string pattern_name = DYNAMIC_STRING_INITIALIZER; + FILE *pattern_fp; + + if (num_patterns < 0) + num_patterns = 0; +- max_new_patterns = 1 + num_patterns; +- new_save_patterns = (char **) xmalloc (max_new_patterns * sizeof (char *)); + new_num_patterns = num_patterns; +- ds_init (&pattern_name, 128); ++ max_new_patterns = num_patterns; ++ new_save_patterns = xcalloc (max_new_patterns, sizeof (new_save_patterns[0])); + + pattern_fp = fopen (pattern_file_name, "r"); + if (pattern_fp == NULL) + open_fatal (pattern_file_name); + while (ds_fgetstr (pattern_fp, &pattern_name, '\n') != NULL) + { +- if (new_num_patterns >= max_new_patterns) +- { +- max_new_patterns += 1; +- new_save_patterns = (char **) +- xrealloc ((char *) new_save_patterns, +- max_new_patterns * sizeof (char *)); +- } ++ if (new_num_patterns == max_new_patterns) ++ new_save_patterns = x2nrealloc (new_save_patterns, ++ &max_new_patterns, ++ sizeof (new_save_patterns[0])); + new_save_patterns[new_num_patterns] = xstrdup (pattern_name.ds_string); + ++new_num_patterns; + } ++ ++ ds_free (&pattern_name); ++ + if (ferror (pattern_fp) || fclose (pattern_fp) == EOF) + close_error (pattern_file_name); + +@@ -1210,7 +1210,7 @@ swab_array (char *ptr, int count) + in the file system. */ + + void +-process_copy_in () ++process_copy_in (void) + { + FILE *tty_in = NULL; /* Interactive file for rename option. */ + FILE *tty_out = NULL; /* Interactive file for rename option. */ +diff --git a/src/copyout.c b/src/copyout.c +index 5ca587f..ca6798c 100644 +--- a/src/copyout.c ++++ b/src/copyout.c +@@ -594,9 +594,10 @@ assign_string (char **pvar, char *value) + The format of the header depends on the compatibility (-c) flag. */ + + void +-process_copy_out () ++process_copy_out (void) + { +- dynamic_string input_name; /* Name of file read from stdin. */ ++ dynamic_string input_name = DYNAMIC_STRING_INITIALIZER; ++ /* Name of file read from stdin. */ + struct stat file_stat; /* Stat record for file. */ + struct cpio_file_stat file_hdr = CPIO_FILE_STAT_INITIALIZER; + /* Output header information. */ +@@ -605,7 +606,6 @@ process_copy_out () + char *orig_file_name = NULL; + + /* Initialize the copy out. */ +- ds_init (&input_name, 128); + file_hdr.c_magic = 070707; + + /* Check whether the output file might be a tape. */ +@@ -657,14 +657,9 @@ process_copy_out () + { + if (file_hdr.c_mode & CP_IFDIR) + { +- int len = strlen (input_name.ds_string); + /* Make sure the name ends with a slash */ +- if (input_name.ds_string[len-1] != '/') +- { +- ds_resize (&input_name, len + 2); +- input_name.ds_string[len] = '/'; +- input_name.ds_string[len+1] = 0; +- } ++ if (!ds_endswith (&input_name, '/')) ++ ds_append (&input_name, '/'); + } + } + +@@ -875,6 +870,7 @@ process_copy_out () + (unsigned long) blocks), (unsigned long) blocks); + } + cpio_file_stat_free (&file_hdr); ++ ds_free (&input_name); + } + + +diff --git a/src/copypass.c b/src/copypass.c +index 5d5e939..23ee687 100644 +--- a/src/copypass.c ++++ b/src/copypass.c +@@ -48,10 +48,12 @@ set_copypass_perms (int fd, const char *name, struct stat *st) + If `link_flag', link instead of copying. */ + + void +-process_copy_pass () ++process_copy_pass (void) + { +- dynamic_string input_name; /* Name of file from stdin. */ +- dynamic_string output_name; /* Name of new file. */ ++ dynamic_string input_name = DYNAMIC_STRING_INITIALIZER; ++ /* Name of file from stdin. */ ++ dynamic_string output_name = DYNAMIC_STRING_INITIALIZER; ++ /* Name of new file. */ + size_t dirname_len; /* Length of `directory_name'. */ + int res; /* Result of functions. */ + char *slash; /* For moving past slashes in input name. */ +@@ -65,25 +67,18 @@ process_copy_pass () + created files */ + + /* Initialize the copy pass. */ +- ds_init (&input_name, 128); + + dirname_len = strlen (directory_name); + if (change_directory_option && !ISSLASH (directory_name[0])) + { + char *pwd = xgetcwd (); +- +- dirname_len += strlen (pwd) + 1; +- ds_init (&output_name, dirname_len + 2); +- strcpy (output_name.ds_string, pwd); +- strcat (output_name.ds_string, "/"); +- strcat (output_name.ds_string, directory_name); ++ ++ ds_concat (&output_name, pwd); ++ ds_append (&output_name, '/'); + } +- else +- { +- ds_init (&output_name, dirname_len + 2); +- strcpy (output_name.ds_string, directory_name); +- } +- output_name.ds_string[dirname_len] = '/'; ++ ds_concat (&output_name, directory_name); ++ ds_append (&output_name, '/'); ++ dirname_len = ds_len (&output_name); + output_is_seekable = true; + + change_dir (); +@@ -116,8 +111,8 @@ process_copy_pass () + /* Make the name of the new file. */ + for (slash = input_name.ds_string; *slash == '/'; ++slash) + ; +- ds_resize (&output_name, dirname_len + strlen (slash) + 2); +- strcpy (output_name.ds_string + dirname_len + 1, slash); ++ ds_reset (&output_name, dirname_len); ++ ds_concat (&output_name, slash); + + existing_dir = false; + if (lstat (output_name.ds_string, &out_file_stat) == 0) +@@ -333,6 +328,9 @@ process_copy_pass () + (unsigned long) blocks), + (unsigned long) blocks); + } ++ ++ ds_free (&input_name); ++ ds_free (&output_name); + } + + /* Try and create a hard link from FILE_NAME to another file +diff --git a/src/dstring.c b/src/dstring.c +index b261d5a..692d3e7 100644 +--- a/src/dstring.c ++++ b/src/dstring.c +@@ -20,8 +20,8 @@ + #if defined(HAVE_CONFIG_H) + # include + #endif +- + #include ++#include + #if defined(HAVE_STRING_H) || defined(STDC_HEADERS) + #include + #else +@@ -33,24 +33,41 @@ + /* Initialiaze dynamic string STRING with space for SIZE characters. */ + + void +-ds_init (dynamic_string *string, int size) ++ds_init (dynamic_string *string) ++{ ++ memset (string, 0, sizeof *string); ++} ++ ++/* Free the dynamic string storage. */ ++ ++void ++ds_free (dynamic_string *string) + { +- string->ds_length = size; +- string->ds_string = (char *) xmalloc (size); ++ free (string->ds_string); + } + +-/* Expand dynamic string STRING, if necessary, to hold SIZE characters. */ ++/* Expand dynamic string STRING, if necessary. */ + + void +-ds_resize (dynamic_string *string, int size) ++ds_resize (dynamic_string *string) + { +- if (size > string->ds_length) ++ if (string->ds_idx == string->ds_size) + { +- string->ds_length = size; +- string->ds_string = (char *) xrealloc ((char *) string->ds_string, size); ++ string->ds_string = x2nrealloc (string->ds_string, &string->ds_size, ++ 1); + } + } + ++/* Reset the index of the dynamic string S to LEN. */ ++ ++void ++ds_reset (dynamic_string *s, size_t len) ++{ ++ while (len > s->ds_size) ++ ds_resize (s); ++ s->ds_idx = len; ++} ++ + /* Dynamic string S gets a string terminated by the EOS character + (which is removed) from file F. S will increase + in size during the function if the string from F is longer than +@@ -61,34 +78,50 @@ ds_resize (dynamic_string *string, int size) + char * + ds_fgetstr (FILE *f, dynamic_string *s, char eos) + { +- int insize; /* Amount needed for line. */ +- int strsize; /* Amount allocated for S. */ + int next_ch; + + /* Initialize. */ +- insize = 0; +- strsize = s->ds_length; ++ s->ds_idx = 0; + + /* Read the input string. */ +- next_ch = getc (f); +- while (next_ch != eos && next_ch != EOF) ++ while ((next_ch = getc (f)) != eos && next_ch != EOF) + { +- if (insize >= strsize - 1) +- { +- ds_resize (s, strsize * 2 + 2); +- strsize = s->ds_length; +- } +- s->ds_string[insize++] = next_ch; +- next_ch = getc (f); ++ ds_resize (s); ++ s->ds_string[s->ds_idx++] = next_ch; + } +- s->ds_string[insize++] = '\0'; ++ ds_resize (s); ++ s->ds_string[s->ds_idx] = '\0'; + +- if (insize == 1 && next_ch == EOF) ++ if (s->ds_idx == 0 && next_ch == EOF) + return NULL; + else + return s->ds_string; + } + ++void ++ds_append (dynamic_string *s, int c) ++{ ++ ds_resize (s); ++ s->ds_string[s->ds_idx] = c; ++ if (c) ++ { ++ s->ds_idx++; ++ ds_resize (s); ++ s->ds_string[s->ds_idx] = 0; ++ } ++} ++ ++void ++ds_concat (dynamic_string *s, char const *str) ++{ ++ size_t len = strlen (str); ++ while (len + 1 > s->ds_size) ++ ds_resize (s); ++ memcpy (s->ds_string + s->ds_idx, str, len); ++ s->ds_idx += len; ++ s->ds_string[s->ds_idx] = 0; ++} ++ + char * + ds_fgets (FILE *f, dynamic_string *s) + { +@@ -100,3 +133,10 @@ ds_fgetname (FILE *f, dynamic_string *s) + { + return ds_fgetstr (f, s, '\0'); + } ++ ++/* Return true if the dynamic string S ends with character C. */ ++int ++ds_endswith (dynamic_string *s, int c) ++{ ++ return (s->ds_idx > 0 && s->ds_string[s->ds_idx - 1] == c); ++} +diff --git a/src/dstring.h b/src/dstring.h +index 5d24181..ca7a5f1 100644 +--- a/src/dstring.h ++++ b/src/dstring.h +@@ -17,10 +17,6 @@ + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301 USA. */ + +-#ifndef NULL +-#define NULL 0 +-#endif +- + /* A dynamic string consists of record that records the size of an + allocated string and the pointer to that string. The actual string + is a normal zero byte terminated string that can be used with the +@@ -30,22 +26,25 @@ + + typedef struct + { +- int ds_length; /* Actual amount of storage allocated. */ +- char *ds_string; /* String. */ ++ size_t ds_size; /* Actual amount of storage allocated. */ ++ size_t ds_idx; /* Index of the next free byte in the string. */ ++ char *ds_string; /* String storage. */ + } dynamic_string; + ++#define DYNAMIC_STRING_INITIALIZER { 0, 0, NULL } + +-/* Macros that look similar to the original string functions. +- WARNING: These macros work only on pointers to dynamic string records. +- If used with a real record, an "&" must be used to get the pointer. */ +-#define ds_strlen(s) strlen ((s)->ds_string) +-#define ds_strcmp(s1, s2) strcmp ((s1)->ds_string, (s2)->ds_string) +-#define ds_strncmp(s1, s2, n) strncmp ((s1)->ds_string, (s2)->ds_string, n) +-#define ds_index(s, c) index ((s)->ds_string, c) +-#define ds_rindex(s, c) rindex ((s)->ds_string, c) ++void ds_init (dynamic_string *string); ++void ds_free (dynamic_string *string); ++void ds_reset (dynamic_string *s, size_t len); + +-void ds_init (dynamic_string *string, int size); +-void ds_resize (dynamic_string *string, int size); ++/* All functions below guarantee that s->ds_string[s->ds_idx] == '\0' */ + char *ds_fgetname (FILE *f, dynamic_string *s); + char *ds_fgets (FILE *f, dynamic_string *s); + char *ds_fgetstr (FILE *f, dynamic_string *s, char eos); ++void ds_append (dynamic_string *s, int c); ++void ds_concat (dynamic_string *s, char const *str); ++ ++#define ds_len(s) ((s)->ds_idx) ++ ++int ds_endswith (dynamic_string *s, int c); ++ +diff --git a/src/util.c b/src/util.c +index 996d4fa..ff2746d 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -846,11 +846,9 @@ get_next_reel (int tape_des) + FILE *tty_out; /* File for interacting with user. */ + int old_tape_des; + char *next_archive_name; +- dynamic_string new_name; ++ dynamic_string new_name = DYNAMIC_STRING_INITIALIZER; + char *str_res; + +- ds_init (&new_name, 128); +- + /* Open files for interactive communication. */ + tty_in = fopen (TTY_NAME, "r"); + if (tty_in == NULL) +@@ -925,7 +923,7 @@ get_next_reel (int tape_des) + error (PAXEXIT_FAILURE, 0, _("internal error: tape descriptor changed from %d to %d"), + old_tape_des, tape_des); + +- free (new_name.ds_string); ++ ds_free (&new_name); + fclose (tty_in); + fclose (tty_out); + } +-- +cgit v1.2.1 + diff --git a/package/cpio/0003-Fix-previous-commit.patch b/package/cpio/0003-Fix-previous-commit.patch new file mode 100644 index 00000000000..e33a8523d86 --- /dev/null +++ b/package/cpio/0003-Fix-previous-commit.patch @@ -0,0 +1,40 @@ +From dfc801c44a93bed7b3951905b188823d6a0432c8 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Wed, 11 Aug 2021 18:10:38 +0300 +Subject: Fix previous commit + +* src/dstring.c (ds_reset,ds_concat): Don't call ds_resize in a +loop. + +[Retrieved from: +https://git.savannah.gnu.org/cgit/cpio.git/commit/?id=dfc801c44a93bed7b3951905b188823d6a0432c8] +Signed-off-by: Fabrice Fontaine +--- + src/dstring.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/dstring.c b/src/dstring.c +index 692d3e7..b7e0bb5 100644 +--- a/src/dstring.c ++++ b/src/dstring.c +@@ -64,7 +64,7 @@ void + ds_reset (dynamic_string *s, size_t len) + { + while (len > s->ds_size) +- ds_resize (s); ++ s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1); + s->ds_idx = len; + } + +@@ -116,7 +116,7 @@ ds_concat (dynamic_string *s, char const *str) + { + size_t len = strlen (str); + while (len + 1 > s->ds_size) +- ds_resize (s); ++ s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1); + memcpy (s->ds_string + s->ds_idx, str, len); + s->ds_idx += len; + s->ds_string[s->ds_idx] = 0; +-- +cgit v1.2.1 + diff --git a/package/cpio/cpio.mk b/package/cpio/cpio.mk index 9ce281dd1c5..e95ea742b33 100644 --- a/package/cpio/cpio.mk +++ b/package/cpio/cpio.mk @@ -12,6 +12,10 @@ CPIO_LICENSE = GPL-3.0+ CPIO_LICENSE_FILES = COPYING CPIO_CPE_ID_VENDOR = gnu +# 0002-Rewrite-dynamic-string-support.patch +# 0003-Fix-previous-commit.patch +CPIO_IGNORE_CVES += CVE-2021-38185 + # cpio uses argp.h which is not provided by uclibc or musl by default. # Use the argp-standalone package to provide this. ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in index 1d7635a83e9..6c0bff934cb 100644 --- a/package/cppcms/Config.in +++ b/package/cppcms/Config.in @@ -1,13 +1,10 @@ config BR2_PACKAGE_CPPCMS bool "cppcms" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() depends on BR2_USE_WCHAR - select BR2_PACKAGE_ZLIB select BR2_PACKAGE_PCRE - select BR2_PACKAGE_LIBGCRYPT help CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed for Rapid Web Application Development. It diff --git a/package/cppcms/cppcms.mk b/package/cppcms/cppcms.mk index b289617bbc9..c560b5d0fa5 100644 --- a/package/cppcms/cppcms.mk +++ b/package/cppcms/cppcms.mk @@ -18,7 +18,7 @@ CPPCMS_CONF_OPTS = \ -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_CXX_FLAGS="$(CPPCMS_CXXFLAGS)" -CPPCMS_DEPENDENCIES = zlib pcre libgcrypt +CPPCMS_DEPENDENCIES = pcre ifeq ($(BR2_PACKAGE_CPPCMS_ICU),y) CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=OFF @@ -28,6 +28,27 @@ else CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=ON endif +ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +CPPCMS_CONF_OPTS += -DDISABLE_GCRYPT=OFF +CPPCMS_DEPENDENCIES += libgcrypt +else +CPPCMS_CONF_OPTS += -DDISABLE_GCRYPT=ON +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +CPPCMS_CONF_OPTS += -DDISABLE_OPENSSL=OFF +CPPCMS_DEPENDENCIES += openssl +else +CPPCMS_CONF_OPTS += -DDISABLE_OPENSSL=ON +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +CPPCMS_CONF_OPTS += -DDISABLE_GZIP=OFF +CPPCMS_DEPENDENCIES += zlib +else +CPPCMS_CONF_OPTS += -DDISABLE_GZIP=ON +endif + ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) # posix backend needs monetary.h which isn't available on uClibc CPPCMS_CONF_OPTS += -DDISABLE_POSIX_LOCALE=on diff --git a/package/cppzmq/cppzmq.hash b/package/cppzmq/cppzmq.hash index 7e40d4e32fd..31b93275df5 100644 --- a/package/cppzmq/cppzmq.hash +++ b/package/cppzmq/cppzmq.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ffbedc8ffb95caea0b82f9be208c8ac5d6040870b63f2a9c780ccff681d5464c cppzmq-4.7.0.tar.gz +sha256 7a23639a45f3a0049e11a188e29aaedd10b2f4845f0000cf3e22d6774ebde0af cppzmq-4.8.1.tar.gz sha256 7e6db90e2e805c72b3daa77849d1cb5f1f92da0e69750c8a4aa1d86d70704748 LICENSE diff --git a/package/cppzmq/cppzmq.mk b/package/cppzmq/cppzmq.mk index 0f0ace25411..570ad4e3a3d 100644 --- a/package/cppzmq/cppzmq.mk +++ b/package/cppzmq/cppzmq.mk @@ -4,7 +4,7 @@ # ################################################################################ -CPPZMQ_VERSION = 4.7.0 +CPPZMQ_VERSION = 4.8.1 CPPZMQ_SITE = $(call github,zeromq,cppzmq,v$(CPPZMQ_VERSION)) CPPZMQ_INSTALL_STAGING = YES CPPZMQ_DEPENDENCIES = host-pkgconf zeromq diff --git a/package/cracklib/cracklib.mk b/package/cracklib/cracklib.mk index 91d510ff342..46917b7926a 100644 --- a/package/cracklib/cracklib.mk +++ b/package/cracklib/cracklib.mk @@ -8,6 +8,7 @@ CRACKLIB_VERSION = 2.9.7 CRACKLIB_SITE = https://github.com/cracklib/cracklib/releases/download/v$(CRACKLIB_VERSION) CRACKLIB_LICENSE = LGPL-2.1 CRACKLIB_LICENSE_FILES = COPYING.LIB +CRACKLIB_CPE_ID_VENDOR = cracklib_project CRACKLIB_INSTALL_STAGING = YES CRACKLIB_DEPENDENCIES = host-cracklib $(TARGET_NLS_DEPENDENCIES) CRACKLIB_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) @@ -19,9 +20,12 @@ else CRACKLIB_CONF_OPTS += --without-zlib endif -ifeq ($(BR2_PACKAGE_PYTHON),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) CRACKLIB_CONF_OPTS += --with-python -CRACKLIB_DEPENDENCIES += python +CRACKLIB_CONF_ENV += \ + ac_cv_path_PYTHON=$(HOST_DIR)/bin/python3 \ + am_cv_python_version=$(PYTHON3_VERSION_MAJOR) +CRACKLIB_DEPENDENCIES += python3 else CRACKLIB_CONF_OPTS += --without-python endif diff --git a/package/crudini/Config.in b/package/crudini/Config.in index 240848dffc0..ff4c98d579d 100644 --- a/package/crudini/Config.in +++ b/package/crudini/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_CRUDINI bool "crudini" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_INIPARSE # runtime help A utility for handling ini files from the command line and diff --git a/package/cryptodev-linux/cryptodev-linux.hash b/package/cryptodev-linux/cryptodev-linux.hash index 1cbc2e85974..d649e8934ae 100644 --- a/package/cryptodev-linux/cryptodev-linux.hash +++ b/package/cryptodev-linux/cryptodev-linux.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0e2d30cf440a55e1125c815f0df229350192cfddbb38e6571e97de19069c97c6 cryptodev-linux-fabe5989a3dc9fba0cd0a40b612247cdde351c01.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 f51c2254749233b1b1d7ec9445158bd709f124f88e1c650fe2faac83c3a81938 cryptodev-linux-1.12.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/cryptodev-linux/cryptodev-linux.mk b/package/cryptodev-linux/cryptodev-linux.mk index 2a65755aa21..d0c3bc5218e 100644 --- a/package/cryptodev-linux/cryptodev-linux.mk +++ b/package/cryptodev-linux/cryptodev-linux.mk @@ -4,8 +4,8 @@ # ################################################################################ -CRYPTODEV_LINUX_VERSION = fabe5989a3dc9fba0cd0a40b612247cdde351c01 -CRYPTODEV_LINUX_SITE = $(call github,cryptodev-linux,cryptodev-linux,$(CRYPTODEV_LINUX_VERSION)) +CRYPTODEV_LINUX_VERSION = 1.12 +CRYPTODEV_LINUX_SITE = $(call github,cryptodev-linux,cryptodev-linux,cryptodev-linux-$(CRYPTODEV_LINUX_VERSION)) CRYPTODEV_LINUX_INSTALL_STAGING = YES CRYPTODEV_LINUX_LICENSE = GPL-2.0+ CRYPTODEV_LINUX_LICENSE_FILES = COPYING @@ -23,5 +23,10 @@ define CRYPTODEV_LINUX_INSTALL_STAGING_CMDS $(STAGING_DIR)/usr/include/crypto/cryptodev.h endef +define CRYPTODEV_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_USER_API_AEAD) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/cryptopp/0001-GNUmakefile-add-missing-shared-library-symlink.patch b/package/cryptopp/0001-GNUmakefile-add-missing-shared-library-symlink.patch new file mode 100644 index 00000000000..5f87414d533 --- /dev/null +++ b/package/cryptopp/0001-GNUmakefile-add-missing-shared-library-symlink.patch @@ -0,0 +1,62 @@ +From e4c2e3bc8174f24cf63923619f5d06d85b84ae1d Mon Sep 17 00:00:00 2001 +From: Kamel Bouhara +Date: Fri, 7 Jan 2022 22:59:23 +0100 +Subject: [PATCH] GNUmakefile: add missing shared library symlink + +The GNUmakefile install-lib target currently installs the following +symlink: + + libcryptopp.so -> libcryptopp.so.8.6.0 + +However, it does not create the following symlink: + + libcryptopp.so.8 -> libcryptopp.so.8.6.0 + +This symlink is necessary at runtime because libcryptopp.so.8 is the +SONAME of the cryptopp library, and therefore this is what the dynamic +loader will search when starting a program that is linked against +cryptopp. + +For native compilation, the 'ldconfig' invocation that immediately +follows will create that symlink, so everything works. + +For cross-compilation however, ldconfig can't be used, and therefore +LDCONFIG is passed as /bin/true, and therefore it doesn't create the +symlink. So instead, create it directly inside the GNUmakefile, +without relying on ldconfig. + +Upstream: https://github.com/weidai11/cryptopp/pull/1101 +Signed-off-by: Kamel Bouhara +Signed-off-by: Thomas Petazzoni +--- + GNUmakefile | 1 + + GNUmakefile-cross | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/GNUmakefile b/GNUmakefile +index 23273edb..3b55e420 100644 +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -1412,6 +1412,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),) + $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX) + ifeq ($(HAS_SOLIB_VERSION),1) + -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so ++ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX) + $(LDCONF) $(DESTDIR)$(LIBDIR) + endif + endif +diff --git a/GNUmakefile-cross b/GNUmakefile-cross +index 9847f04b..a2b87e4a 100644 +--- a/GNUmakefile-cross ++++ b/GNUmakefile-cross +@@ -856,6 +856,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),) + $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX) + ifeq ($(HAS_SOLIB_VERSION),1) + -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so ++ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX) + $(LDCONF) $(DESTDIR)$(LIBDIR) + endif + endif +-- +2.33.1 + diff --git a/package/cryptopp/Config.in b/package/cryptopp/Config.in new file mode 100644 index 00000000000..1648a73f9db --- /dev/null +++ b/package/cryptopp/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_CRYPTOPP + bool "cryptopp" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR + help + A free C++ class library of cryptographic schemes + +comment "cryptopp needs a toolchain w/ C++, dynamic library, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_USE_WCHAR diff --git a/package/cryptopp/cryptopp.hash b/package/cryptopp/cryptopp.hash index 2774dc70ec0..9a113b8f04f 100644 --- a/package/cryptopp/cryptopp.hash +++ b/package/cryptopp/cryptopp.hash @@ -1,5 +1,5 @@ -# Hash from: https://www.cryptopp.com/release830.html: -sha512 ad5219a66c5924d330d3646d0ff996dd235006f6812074bc4eb9e8c662a4f000ba20449d377f24b133d19ce682f7b2a3b2eb4c08857ce0f5bb39743d1d425147 cryptopp830.zip +# Hash from: https://www.cryptopp.com/release860.html: +sha512 e7773f5e4a7dc7e8e735b1702524bee56ba38e5211544c9c9778bc51ed8dc7b376c17f2e406410043b636312336f26f76dc963f298872f8c13933e88c232fc03 cryptopp860.zip # Hash for license file: sha256 e668af8c73a38a66a1e8951d14ec24e7582fee5254dd6c3dae488a416d105d5f License.txt diff --git a/package/cryptopp/cryptopp.mk b/package/cryptopp/cryptopp.mk index 1706108454b..87d6fba2374 100644 --- a/package/cryptopp/cryptopp.mk +++ b/package/cryptopp/cryptopp.mk @@ -4,7 +4,7 @@ # ################################################################################ -CRYPTOPP_VERSION = 8.3.0 +CRYPTOPP_VERSION = 8.6.0 CRYPTOPP_SOURCE = cryptopp$(subst .,,$(CRYPTOPP_VERSION)).zip CRYPTOPP_SITE = https://cryptopp.com CRYPTOPP_LICENSE = BSL-1.0, BSD-3-Clause (CRYPTOGAMS), Public domain (ChaCha SSE2 and AVX) @@ -36,4 +36,43 @@ define HOST_CRYPTOPP_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install-lib endef +define CRYPTOPP_EXTRACT_CMDS + $(UNZIP) $(CRYPTOPP_DL_DIR)/$(CRYPTOPP_SOURCE) -d $(@D) +endef + +CRYPTOPP_CXXFLAGS = $(TARGET_CXXFLAGS) -fPIC + +# _mm256_broadcastsi128_si256 has been added only in gcc 4.9 +ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_9),y) +CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2 +endif + +ifneq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) +CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ALTIVEC +endif + +ifneq ($(BR2_ARM_CPU_HAS_NEON),y) +CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_NEON +endif + +CRYPTOPP_MAKE_OPTS = \ + $(TARGET_CONFIGURE_OPTS) \ + CXXFLAGS="$(CRYPTOPP_CXXFLAGS)" + +define CRYPTOPP_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CRYPTOPP_MAKE_OPTS) \ + PREFIX=/usr shared libcryptopp.pc +endef + +define CRYPTOPP_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) \ + LDCONFIG=/bin/true install-lib +endef + +define CRYPTOPP_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) \ + LDCONFIG=/bin/true install-lib +endef + +$(eval $(generic-package)) $(eval $(host-generic-package)) diff --git a/package/cryptsetup/0001-Add-check-program-for-symver-attribute.patch b/package/cryptsetup/0001-Add-check-program-for-symver-attribute.patch new file mode 100644 index 00000000000..04f59a20506 --- /dev/null +++ b/package/cryptsetup/0001-Add-check-program-for-symver-attribute.patch @@ -0,0 +1,56 @@ +From 7c6ec620de3f99d4212f4a54aa576df1b97020ab Mon Sep 17 00:00:00 2001 +From: Ondrej Kozina +Date: Wed, 2 Feb 2022 11:34:57 +0100 +Subject: [PATCH] Add check program for symver attribute. + +Fixes: #709. +Signed-off-by: Giulio Benetti +--- + configure.ac | 11 +++++++++++ + lib/libcryptsetup_symver.h | 8 +++----- + 2 files changed, 14 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a0e5990d..b052f8cf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -554,6 +554,17 @@ if test "x$enable_static_cryptsetup" = "xyes"; then + PKG_CONFIG=$saved_PKG_CONFIG + fi + ++dnl Check compiler support for symver function attribute ++saved_CFLAGS=$CFLAGS ++CFLAGS="-O0 -Werror" ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++ void _test_sym(void); ++ __attribute__((__symver__("sym@VERSION_4.2"))) void _test_sym(void) {} ++]], ++[[ _test_sym() ]] ++)],[ AC_DEFINE([HAVE_ATTRIBUTE_SYMVER], 1, [Define to 1 to use __attribute__((symver))])]) ++CFLAGS=$saved_CFLAGS ++ + AC_MSG_CHECKING([for systemd tmpfiles config directory]) + PKG_CHECK_VAR([systemd_tmpfilesdir], [systemd], [tmpfilesdir], [], [systemd_tmpfilesdir=no]) + AC_MSG_RESULT([$systemd_tmpfilesdir]) +diff --git a/lib/libcryptsetup_symver.h b/lib/libcryptsetup_symver.h +index 2a804b6a..3558310d 100644 +--- a/lib/libcryptsetup_symver.h ++++ b/lib/libcryptsetup_symver.h +@@ -67,11 +67,9 @@ + * under CRYPT_SYMBOL_EXPORT_OLD(int, crypt_func_X, ...) macro + */ + +-#ifdef __has_attribute +-# if __has_attribute(symver) +-# define _CRYPT_SYMVER(_local_sym, _public_sym, _ver_str, _maj, _min) \ +- __attribute__((__symver__(#_public_sym _ver_str #_maj "." #_min))) +-# endif ++#if HAVE_ATTRIBUTE_SYMVER ++# define _CRYPT_SYMVER(_local_sym, _public_sym, _ver_str, _maj, _min) \ ++ __attribute__((__symver__(#_public_sym _ver_str #_maj "." #_min))) + #endif + + #if !defined(_CRYPT_SYMVER) && defined(__GNUC__) +-- +2.25.1 + diff --git a/package/cryptsetup/0001-Remove-json_object-typedef.patch b/package/cryptsetup/0001-Remove-json_object-typedef.patch deleted file mode 100644 index bbfd1aa0759..00000000000 --- a/package/cryptsetup/0001-Remove-json_object-typedef.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 567e7f8664c621f8aeaa95d9f4ab4b590574f572 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Wed, 15 Aug 2018 14:13:46 +0300 -Subject: [PATCH] Remove json_object typedef - -The json-c header already defines the same typedef. While C11 allows -typedef redefinition to the same type, older versions of gcc disallow -that. - -In file included from lib/luks2/luks2_internal.h:32, - from lib/luks2/luks2_disk_metadata.c:24: -lib/luks2/luks2.h:86: error: redefinition of typedef 'json_object' - -Signed-off-by: Baruch Siach -[Upstream status: -https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/91] ---- - lib/luks2/luks2.h | 1 - - lib/setup.c | 1 + - 2 files changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/luks2/luks2.h b/lib/luks2/luks2.h -index ee57b41ba974..25e36190da45 100644 ---- a/lib/luks2/luks2.h -+++ b/lib/luks2/luks2.h -@@ -83,7 +83,6 @@ struct luks2_hdr_disk { - /* - * LUKS2 header in-memory. - */ --typedef struct json_object json_object; - struct luks2_hdr { - size_t hdr_size; - uint64_t seqid; -diff --git a/lib/setup.c b/lib/setup.c -index fddbe7ef7897..856f6e80f465 100644 ---- a/lib/setup.c -+++ b/lib/setup.c -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - - #include "libcryptsetup.h" - #include "luks.h" --- -2.18.0 - diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in index d9c9d4d4f4e..f36883ea475 100644 --- a/package/cryptsetup/Config.in +++ b/package/cryptsetup/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_CRYPTSETUP depends on BR2_USE_MMU # lvm2, libargon2 depends on !BR2_STATIC_LIBS # lvm2, libargon2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + select BR2_PACKAGE_ARGP_STANDALONE if BR2_PACKAGE_LIBSSH && \ + (BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL) select BR2_PACKAGE_POPT select BR2_PACKAGE_LVM2 select BR2_PACKAGE_UTIL_LINUX diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index 3b58345611a..dce2686d315 100644 --- a/package/cryptsetup/cryptsetup.hash +++ b/package/cryptsetup/cryptsetup.hash @@ -1,4 +1,4 @@ -# From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.3/sha256sums.asc -sha256 9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773 cryptsetup-2.3.4.tar.xz +# From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/sha256sums.asc +sha256 fc0df945188172264ec5bf1d0bda08264fadc8a3f856d47eba91f31fe354b507 cryptsetup-2.4.3.tar.xz sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index 719885b59ca..bd8681d5fff 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -4,8 +4,8 @@ # ################################################################################ -CRYPTSETUP_VERSION_MAJOR = 2.3 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).4 +CRYPTSETUP_VERSION_MAJOR = 2.4 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).3 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR) CRYPTSETUP_DEPENDENCIES = \ @@ -17,6 +17,10 @@ CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL CRYPTSETUP_CPE_ID_VENDOR = cryptsetup_project CRYPTSETUP_INSTALL_STAGING = YES + +# 0001-Add-check-program-for-symver-attribute.patch +CRYPTSETUP_AUTORECONF = YES + CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" CRYPTSETUP_CONF_OPTS += --enable-blkid --enable-libargon2 @@ -33,6 +37,19 @@ else CRYPTSETUP_CONF_OPTS += --with-crypto_backend=kernel endif +ifeq ($(BR2_PACKAGE_LIBSSH),y) +CRYPTSETUP_DEPENDENCIES += \ + $(if $(BR2_PACKAGE_ARGP_STANDALONE),argp-standalone) \ + libssh +CRYPTSETUP_CONF_OPTS += --enable-ssh-token +else +CRYPTSETUP_CONF_OPTS += --disable-ssh-token +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +CRYPTSETUP_CONF_OPTS += --with-tmpfilesdir=/usr/lib/tmpfiles.d +endif + HOST_CRYPTSETUP_DEPENDENCIES = \ host-pkgconf \ host-lvm2 \ @@ -43,7 +60,9 @@ HOST_CRYPTSETUP_DEPENDENCIES = \ HOST_CRYPTSETUP_CONF_OPTS = --with-crypto_backend=openssl \ --disable-kernel_crypto \ - --enable-blkid + --disable-ssh-token \ + --enable-blkid \ + --with-tmpfilesdir=no $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/cups-filters/Config.in b/package/cups-filters/Config.in index 9e4e37ca6b3..ded99a47745 100644 --- a/package/cups-filters/Config.in +++ b/package/cups-filters/Config.in @@ -4,10 +4,11 @@ config BR2_PACKAGE_CUPS_FILTERS depends on BR2_USE_MMU depends on BR2_INSTALL_LIBSTDCPP # qpdf depends on !BR2_STATIC_LIBS - depends on BR2_USE_WCHAR # libglib2, qpdf + depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_PACKAGE_CUPS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qpdf + depends on BR2_TOOLCHAIN_HAS_ATOMIC # qpdf select BR2_PACKAGE_JPEG select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE @@ -31,8 +32,9 @@ config BR2_PACKAGE_CUPS_FILTERS http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters -comment "cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 4.8" +comment "cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 5" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/cups-filters/cups-filters.hash b/package/cups-filters/cups-filters.hash index 8c2526ae9d6..aefb67f651a 100644 --- a/package/cups-filters/cups-filters.hash +++ b/package/cups-filters/cups-filters.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 cf90b96b5c7a906a05070e757ee5566d9680db98a279e60567ea5421c38f11de cups-filters-1.28.4.tar.gz +sha256 8cb40355287d65ea03e90dfa7e2d34f0d46752957c8a6d4e96ab6fe6c581e5d2 cups-filters-1.28.10.tar.gz sha256 38192ffdaca98b718f78b2d4abc38bb087f0bbcc9a16d212c98b903b985f900f COPYING diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk index 3ba031d5a14..c8f2dd0aaeb 100644 --- a/package/cups-filters/cups-filters.mk +++ b/package/cups-filters/cups-filters.mk @@ -4,10 +4,11 @@ # ################################################################################ -CUPS_FILTERS_VERSION = 1.28.4 +CUPS_FILTERS_VERSION = 1.28.10 CUPS_FILTERS_SITE = http://openprinting.org/download/cups-filters CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause CUPS_FILTERS_LICENSE_FILES = COPYING +CUPS_FILTERS_CPE_ID_VENDOR = linuxfoundation CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg @@ -44,8 +45,7 @@ else CUPS_FILTERS_CONF_OPTS += --disable-dbus endif -# avahi support requires avahi-client, which needs avahi-daemon and dbus -ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) CUPS_FILTERS_DEPENDENCIES += avahi CUPS_FILTERS_CONF_OPTS += --enable-avahi else diff --git a/package/cups-pk-helper/Config.in b/package/cups-pk-helper/Config.in new file mode 100644 index 00000000000..756ac49cfa2 --- /dev/null +++ b/package/cups-pk-helper/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_CUPS_PK_HELPER + bool "cups-pk-helper" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> c++17 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, polkit + depends on BR2_USE_WCHAR # libglib2 + depends on !BR2_STATIC_LIBS # polkit -> duktape + depends on !BR2_OPTIMIZE_FAST # polkit -> duktape + depends on BR2_PACKAGE_CUPS + select BR2_PACKAGE_POLKIT + help + cups-pk-helper is a PolicyKit helper to configure cups with + fine-grained privileges. + + https://wiki.freedesktop.org/www/Software/cups-pk-helper/ + +comment "cups-pk-helper support needs a toolchain with threads, wchar, dynamic library, gcc >= 7" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + +comment "cups-pk-helper can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/cups-pk-helper/cups-pk-helper.hash b/package/cups-pk-helper/cups-pk-helper.hash new file mode 100644 index 00000000000..18fe789389a --- /dev/null +++ b/package/cups-pk-helper/cups-pk-helper.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 959af8f2f5a2761e7e498b61c9caf25ae963335031eae9972d999e9a0d97a228 cups-pk-helper-0.2.6.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/cups-pk-helper/cups-pk-helper.mk b/package/cups-pk-helper/cups-pk-helper.mk new file mode 100644 index 00000000000..c688743160a --- /dev/null +++ b/package/cups-pk-helper/cups-pk-helper.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# cups-pk-helper +# +################################################################################ + +CUPS_PK_HELPER_VERSION = 0.2.6 +CUPS_PK_HELPER_SITE = https://www.freedesktop.org/software/cups-pk-helper/releases +CUPS_PK_HELPER_SOURCE = cups-pk-helper-$(CUPS_PK_HELPER_VERSION).tar.xz +CUPS_PK_HELPER_LICENSE = GPL-2.0+ +CUPS_PK_HELPER_LICENSE_FILES = COPYING +CUPS_PK_HELPER_CPE_ID_VENDOR = cups-pk-helper_project +CUPS_PK_HELPER_DEPENDENCIES = cups libglib2 polkit + +$(eval $(autotools-package)) diff --git a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch index 7fcf7133c87..6b81a93de2d 100644 --- a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch +++ b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch @@ -8,23 +8,26 @@ Signed-off-by: Bernd Kuhls Signed-off-by: Fabrice Fontaine [Michael: updated for 2.3.3] Signed-off-by: Michael Trimarchi +[Angelo: updated for 2.4.0] +Signed-off-by: Angelo Compagnucci --- config-scripts/cups-common.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 -index a460a73..d427acb 100644 +index 3a162b6d5..fb629fdfd 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 -@@ -434,7 +434,7 @@ LIBHEADERSPRIV="\$(COREHEADERSPRIV) \$(DRIVERHEADERSPRIV)" +@@ -462,7 +462,7 @@ LIBHEADERS="\$(COREHEADERS) \$(DRIVERHEADERS)" + LIBHEADERSPRIV="\$(COREHEADERSPRIV) \$(DRIVERHEADERSPRIV)" - case "$COMPONENTS" in - all) -- BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates" -+ BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale doc examples templates" - ;; - - core) + AS_CASE(["$COMPONENTS"], [all], [ +- BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates" ++ BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale doc examples templates" + ], [core], [ + BUILDDIRS="tools examples locale" + ], [corelite], [ + -- 2.17.1 diff --git a/package/cups/cups.hash b/package/cups/cups.hash index 2eb289e2092..b0e3654b3de 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,4 +1,4 @@ # Locally calculated: -sha256 261fd948bce8647b6d5cb2a1784f0c24cc52b5c4e827b71d726020bcc502f3ee cups-2.3.3-source.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE -sha256 a5d616e6322a9cb1a971e18765025edfca4f3cd9c0eafc32d6d2eb4b8c8787b5 NOTICE +sha256 9abecec128ca6847c5bb2d3e3d30c87b782c0697b9acf284d16fa38f80a3a6de cups-2.4.0-source.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 a2a46d024e4d78dd2475d89f2f3d905578edfeca7dcb041e1d0ba079d9a87b48 NOTICE diff --git a/package/cups/cups.mk b/package/cups/cups.mk index 2fe9b03a607..e406d3bc643 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,12 +4,13 @@ # ################################################################################ -CUPS_VERSION = 2.3.3 +CUPS_VERSION = 2.4.0 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz -CUPS_SITE = https://github.com/apple/cups/releases/download/v$(CUPS_VERSION) +CUPS_SITE = https://github.com/OpenPrinting/cups/releases/download/v$(CUPS_VERSION) CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception CUPS_LICENSE_FILES = LICENSE NOTICE CUPS_CPE_ID_VENDOR = cups +CUPS_SELINUX_MODULES = cups CUPS_INSTALL_STAGING = YES # Using autoconf, not autoheader, so we cannot use AUTORECONF = YES. @@ -49,10 +50,10 @@ CUPS_CONF_OPTS += --disable-dbus endif ifeq ($(BR2_PACKAGE_GNUTLS),y) -CUPS_CONF_OPTS += --enable-gnutls +CUPS_CONF_OPTS += --with-tls=yes CUPS_DEPENDENCIES += gnutls else -CUPS_CONF_OPTS += --disable-gnutls +CUPS_CONF_OPTS += --with-tls=no endif ifeq ($(BR2_PACKAGE_LIBUSB),y) diff --git a/package/cutelyst/0001-server-CMakeLists.txt-don-t-override-CMAKE_EXE_LINKE.patch b/package/cutelyst/0001-server-CMakeLists.txt-don-t-override-CMAKE_EXE_LINKE.patch new file mode 100644 index 00000000000..45b1fcd1464 --- /dev/null +++ b/package/cutelyst/0001-server-CMakeLists.txt-don-t-override-CMAKE_EXE_LINKE.patch @@ -0,0 +1,31 @@ +From c347aeb43775109cbc2824b99cb10b1b3440c191 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 17 May 2021 21:27:11 +0200 +Subject: [PATCH] server/CMakeLists.txt: don't override CMAKE_EXE_LINKER_FLAGS + +Don't override CMAKE_EXE_LINKER_FLAGS as this could break the build if +CMAKE_EXE_LINKER_FLAGS is already set by the user (for example to pass +-latomic) + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/cutelyst/cutelyst/pull/312] +--- + wsgi/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt +index ec5689f7..1ed56859 100644 +--- a/wsgi/CMakeLists.txt ++++ b/wsgi/CMakeLists.txt +@@ -95,7 +95,7 @@ install(TARGETS Cutelyst${PROJECT_VERSION_MAJOR}Qt${QT_VERSION_MAJOR}Server + cxx_generalized_initializers + ) + if (JEMALLOC_FOUND) +- set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} " -Wl,--no-as-needed") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-as-needed") + target_link_libraries(cutelyst-wsgi2 PRIVATE ${JEMALLOC_LIBRARIES}) + endif() + +-- +2.30.2 + diff --git a/package/cutelyst/cutelyst.mk b/package/cutelyst/cutelyst.mk index 95209224546..5313b003adb 100644 --- a/package/cutelyst/cutelyst.mk +++ b/package/cutelyst/cutelyst.mk @@ -18,7 +18,7 @@ CUTELYST_CONF_OPTS += \ # Qt 5.8 needs atomics, which on various architectures are in -latomic ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -CUTELYST_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +CUTELYST_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif ifeq ($(BR2_PACKAGE_LIBPWQUALITY),y) diff --git a/package/cvs/cvs.mk b/package/cvs/cvs.mk index 3d01f335e24..bd1e04eee00 100644 --- a/package/cvs/cvs.mk +++ b/package/cvs/cvs.mk @@ -11,6 +11,7 @@ CVS_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/ CVS_LICENSE = GPL-1.0+, LGPL-2.0+, LGPL-2.1+ (glob) CVS_LICENSE_FILES = COPYING COPYING.LIB lib/glob-libc.h CVS_CPE_ID_VENDOR = gnu +CVS_SELINUX_MODULES = apache cvs CVS_DEPENDENCIES = ncurses CVS_CONF_ENV = \ diff --git a/package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch b/package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch index e1e4ec485ed..857e7452532 100644 --- a/package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch +++ b/package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch @@ -1,7 +1,7 @@ From af6bffb5b8b71e99e0f9bbbd2cf1fbd695a643c2 Mon Sep 17 00:00:00 2001 From: Samuel Martin Date: Sat, 8 Dec 2012 13:32:40 +0100 -Subject: [PATCH 1/2] wmdemo: fix linking by adding the missing -lbluetooth to +Subject: [PATCH] wmdemo: fix linking by adding the missing -lbluetooth to LDLIBS Signed-off-by: Samuel Martin diff --git a/package/cwiid/0002-configure-make-wmgui-build-optional.patch b/package/cwiid/0002-configure-make-wmgui-build-optional.patch index f5eff33acb7..49fd5faa1fa 100644 --- a/package/cwiid/0002-configure-make-wmgui-build-optional.patch +++ b/package/cwiid/0002-configure-make-wmgui-build-optional.patch @@ -1,7 +1,7 @@ From dbb578450974db5decc24560da4aeaed838849a1 Mon Sep 17 00:00:00 2001 From: Samuel Martin Date: Thu, 2 Jan 2014 14:03:07 +0100 -Subject: [PATCH 2/2] configure: make wmgui build optional +Subject: [PATCH] configure: make wmgui build optional So, make gtk-2 and glib2 dependencies optional (only needed by wmgui) diff --git a/package/cwiid/Config.in b/package/cwiid/Config.in index 9dab5d10700..7e8cdc30861 100644 --- a/package/cwiid/Config.in +++ b/package/cwiid/Config.in @@ -4,20 +4,21 @@ config BR2_PACKAGE_CWIID depends on BR2_USE_WCHAR # bluez5_utils -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # bluez5_utils -> dbus, alsa-lib, libglib2 depends on BR2_USE_MMU # bluez5_utils -> dbus, libglib2 - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # bluez5_utils hid plugin depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils select BR2_PACKAGE_BLUEZ5_UTILS + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime help A collection of Linux tools written in C for interfacing to the Nintendo Wiimote. - http://abstrakraft.org/cwiid/ + https://github.com/abstrakraft/cwiid if BR2_PACKAGE_CWIID config BR2_PACKAGE_CWIID_WMGUI bool "wmgui" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libgtk2 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgtk2 -> pango -> harfbuzz depends on BR2_PACKAGE_XORG7 # libgtk2 depends on BR2_USE_WCHAR # libgtk2 -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2 @@ -27,9 +28,9 @@ config BR2_PACKAGE_CWIID_WMGUI select BR2_PACKAGE_LIBGTK2 endif -comment "cwiid needs a toolchain w/ dynamic lib, threads, wchar, headers >= 3.4" +comment "cwiid needs a toolchain w/ dynamic lib, threads, wchar, headers >= 3.18" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 depends on !BR2_USE_MMU diff --git a/package/daemon/0001-daemon-fix-build-with-musl-libc-again.patch b/package/daemon/0001-daemon-fix-build-with-musl-libc-again.patch new file mode 100644 index 00000000000..48d95f122fe --- /dev/null +++ b/package/daemon/0001-daemon-fix-build-with-musl-libc-again.patch @@ -0,0 +1,46 @@ +From b879e6886498fdd147287bffdf5867378c7f3299 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 24 Jun 2021 14:28:10 +0300 +Subject: [PATCH] daemon: fix build with musl libc (again) + +Commit 6b28c54dd95b3 added HAVE_SYS_TTYDEFAULTS_H to guard +sys/ttydefaults.h include. This breaks musl libc build because +HAVE_SYS_TTYDEFAULTS_H is not defined until config.h is included. + +Move sys/ttydefaults.h include below config.h + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/raforg/daemon/pull/4 + + daemon.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/daemon.c b/daemon.c +index 5c5ef2cb86df..f88a0d49bf84 100644 +--- a/daemon.c ++++ b/daemon.c +@@ -1011,9 +1011,6 @@ I + #ifdef _RESTORE_POSIX_SOURCE + #define _POSIX_SOURCE + #endif +-#ifdef HAVE_SYS_TTYDEFAULTS_H /* For CEOF in musl libc (Linux only) */ +-#include +-#endif + #include + #include + #include +@@ -1037,6 +1034,10 @@ I + #include + #endif + ++#ifdef HAVE_SYS_TTYDEFAULTS_H /* For CEOF in musl libc (Linux only) */ ++#include ++#endif ++ + /* Configuration file entries */ + + typedef struct Config Config; +-- +2.30.2 + diff --git a/package/daemon/0001-fix-musl.patch b/package/daemon/0001-fix-musl.patch deleted file mode 100644 index 5ebb645973f..00000000000 --- a/package/daemon/0001-fix-musl.patch +++ /dev/null @@ -1,18 +0,0 @@ -daemon: fix build with musl - -musl requires the ttydefaults.h to be included explicitly for CEOF. - -Signed-off-by: Baruch Siach ---- - -diff -Nuar daemon-0.6.4-orig/daemon.c daemon-0.6.4/daemon.c ---- daemon-0.6.4-orig/daemon.c 2010-06-12 16:37:00.000000000 +0300 -+++ daemon-0.6.4/daemon.c 2017-05-01 22:02:17.721413468 +0300 -@@ -864,6 +864,7 @@ - #ifdef _RESTORE_POSIX_SOURCE - #define _POSIX_SOURCE - #endif -+#include - #include - #include - #include diff --git a/package/daemon/0002-Fix-build-with-NDEBUG-defined.patch b/package/daemon/0002-Fix-build-with-NDEBUG-defined.patch new file mode 100644 index 00000000000..e99e9d8ed73 --- /dev/null +++ b/package/daemon/0002-Fix-build-with-NDEBUG-defined.patch @@ -0,0 +1,46 @@ +From fc84d8d572ffcecb533fd6d6d025abea12ce027e Mon Sep 17 00:00:00 2001 +Message-Id: +From: Baruch Siach +Date: Thu, 3 Jun 2021 15:01:10 +0300 +Subject: [PATCH] Fix build with NDEBUG defined + +Build with NDEBUG fails because the debug() macro becomes empty. This +creates invalid syntax with the debug() call is the only statement in +the body of a 'for' loop. + +This fixes build failures like: + +daemon.c: In function 'show': +daemon.c:3607:2: error: expected expression before '}' token + } + ^ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/raforg/daemon/pull/3 + + libslack/err.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libslack/err.h b/libslack/err.h +index 106bdb01e074..7acfbe46d60a 100644 +--- a/libslack/err.h ++++ b/libslack/err.h +@@ -40,10 +40,10 @@ + #undef check + + #ifdef NDEBUG +-#define debug(args) +-#define vdebug(args) +-#define debugsys(args) +-#define vdebugsys(args) ++#define debug(args) do {} while (0); ++#define vdebug(args) do {} while (0); ++#define debugsys(args) do {} while (0); ++#define vdebugsys(args) do {} while (0); + #define check(cond, mesg) (void_cast(0)) + #else + #define debug(args) debugf args; +-- +2.30.2 + diff --git a/package/daemon/daemon.hash b/package/daemon/daemon.hash index b1c1dcdc2c5..c490f715487 100644 --- a/package/daemon/daemon.hash +++ b/package/daemon/daemon.hash @@ -1,3 +1,5 @@ # From http://www.libslack.org/daemon/ -sha256 f66af2ece784c16dcb5219de1f4fa3ae5787bb3374e44bd4b1d3e275e8ff272c daemon-0.7.tar.gz +sha256 74f12e6d4b3c85632489bd08431d3d997bc17264bf57b7202384f2e809cff596 daemon-0.8.tar.gz +# Locally calculated sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE +sha256 91329bb9be4ae0b7800081fa054e9bb760c60005b26958c1fb8461bc66bcd998 COPYING diff --git a/package/daemon/daemon.mk b/package/daemon/daemon.mk index f3a1917fadc..96a163e597e 100644 --- a/package/daemon/daemon.mk +++ b/package/daemon/daemon.mk @@ -4,10 +4,10 @@ # ################################################################################ -DAEMON_VERSION = 0.7 +DAEMON_VERSION = 0.8 DAEMON_SITE = http://libslack.org/daemon/download DAEMON_LICENSE = GPL-2.0+ -DAEMON_LICENSE_FILES = LICENSE +DAEMON_LICENSE_FILES = LICENSE COPYING define DAEMON_CONFIGURE_CMDS (cd $(@D); ./configure) diff --git a/package/dahdi-linux/0001-drivers-dahdi-Kbuild-fix-HOTPLUG_FIRMWARE-definition.patch b/package/dahdi-linux/0001-drivers-dahdi-Kbuild-fix-HOTPLUG_FIRMWARE-definition.patch new file mode 100644 index 00000000000..82fd9bdc593 --- /dev/null +++ b/package/dahdi-linux/0001-drivers-dahdi-Kbuild-fix-HOTPLUG_FIRMWARE-definition.patch @@ -0,0 +1,64 @@ +From dc0a646a460e6da10ddbe7bf02794051d76f8751 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 4 Nov 2021 17:30:06 +0100 +Subject: [PATCH] drivers/dahdi/Kbuild: fix HOTPLUG_FIRMWARE definition + +HOTPLUG_FIRMWARE is used before being defined resulting in the following +build failure since version 2.7.0 and +https://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=commit;h=e2f492595c9191ba6d556ccac1bde4c1bb892938: + + MODPOST /home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/Module.symvers +ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcaxx.ko] undefined! +ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcaxx.ko] undefined! +ERROR: modpost: "_binary_dahdi_fw_oct6114_128_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! +ERROR: modpost: "_binary_dahdi_fw_oct6114_064_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! +ERROR: modpost: "_binary_dahdi_fw_oct6114_128_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! +ERROR: modpost: "_binary_dahdi_fw_oct6114_064_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! +ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte13xp.ko] undefined! +ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte13xp.ko] undefined! + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to "Shaun Ruffell "] +--- + drivers/dahdi/Kbuild | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/drivers/dahdi/Kbuild b/drivers/dahdi/Kbuild +index 855e5bf..b1a8481 100644 +--- a/drivers/dahdi/Kbuild ++++ b/drivers/dahdi/Kbuild +@@ -13,6 +13,15 @@ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP) += wctc4xxp/ + obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/ + obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE13XP) += wcte13xp.o + ++ifndef HOTPLUG_FIRMWARE ++ifneq (,$(filter y m,$(CONFIG_FW_LOADER))) ++HOTPLUG_FIRMWARE := yes ++else ++HOTPLUG_FIRMWARE := no ++endif ++export HOTPLUG_FIRMWARE ++endif ++ + wcte13xp-objs := wcte13xp-base.o wcxb_spi.o wcxb.o wcxb_flash.o + CFLAGS_wcte13xp-base.o += -I$(src)/oct612x -I$(src)/oct612x/include -I$(src)/oct612x/octdeviceapi -I$(src)/oct612x/octdeviceapi/oct6100api + ifeq ($(HOTPLUG_FIRMWARE),yes) +@@ -61,15 +70,6 @@ endif + + CFLAGS_MODULE += -I$(DAHDI_INCLUDE) -I$(src) -Wno-format-truncation + +-ifndef HOTPLUG_FIRMWARE +-ifneq (,$(filter y m,$(CONFIG_FW_LOADER))) +-HOTPLUG_FIRMWARE := yes +-else +-HOTPLUG_FIRMWARE := no +-endif +-export HOTPLUG_FIRMWARE +-endif +- + # fix typo present in CentOS and RHEL 2.6.9 kernels + BAD_KERNELS_VERS := 22 34 34.0.1 34.0.2 + BAD_KERNELS := $(foreach ver,$(BAD_KERNELS_VERS),2.6.9-$(ver).EL 2.6.9-$(ver).ELsmp) +-- +2.33.0 + diff --git a/package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch b/package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch new file mode 100644 index 00000000000..ddaf6b4e7a4 --- /dev/null +++ b/package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch @@ -0,0 +1,144 @@ +From aa74fa2fb5acf54bd46ad4c1b10e0a23a2cb3d25 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 4 Nov 2021 18:45:11 +0100 +Subject: [PATCH] fix build with 32-bits kernel + +Use div_s64 or div_s64_rem to fix the following build failure on 32-bits +kernels: + +ERROR: modpost: "__divdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp_usb.ko] undefined! +ERROR: modpost: "__udivdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp_usb.ko] undefined! +ERROR: modpost: "__moddi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp.ko] undefined! +ERROR: modpost: "__divdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp.ko] undefined! + +Signed-off-by: Fabrice Fontaine +--- + drivers/dahdi/xpp/xbus-core.c | 9 ++++++--- + drivers/dahdi/xpp/xbus-pcm.c | 4 ++-- + drivers/dahdi/xpp/xbus-sysfs.c | 2 +- + drivers/dahdi/xpp/xframe_queue.c | 15 ++++++++++----- + drivers/dahdi/xpp/xpp_usb.c | 2 +- + 5 files changed, 20 insertions(+), 12 deletions(-) + +diff --git a/drivers/dahdi/xpp/xbus-core.c b/drivers/dahdi/xpp/xbus-core.c +index fc4ce7b..b1d1fd7 100644 +--- a/drivers/dahdi/xpp/xbus-core.c ++++ b/drivers/dahdi/xpp/xbus-core.c +@@ -1754,11 +1754,14 @@ out: + + static void xbus_fill_proc_queue(struct seq_file *sfile, struct xframe_queue *q) + { ++ s64 msec = 0; ++ s32 rem = 0; ++ ++ msec = div_s64_rem(q->worst_lag_usec, 1000, &rem); + seq_printf(sfile, +- "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", ++ "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%d ms\n", + q->name, q->steady_state_count, q->count, q->max_count, +- q->worst_count, q->overflows, q->worst_lag_usec / 1000, +- q->worst_lag_usec % 1000); ++ q->worst_count, q->overflows, msec, rem); + xframe_queue_clearstats(q); + } + +diff --git a/drivers/dahdi/xpp/xbus-pcm.c b/drivers/dahdi/xpp/xbus-pcm.c +index 8bb2fe7..e690ce7 100644 +--- a/drivers/dahdi/xpp/xbus-pcm.c ++++ b/drivers/dahdi/xpp/xbus-pcm.c +@@ -129,7 +129,7 @@ static int xpp_ticker_step(struct xpp_ticker *ticker, const ktime_t t) + usec = ktime_us_delta(ticker->last_sample, + ticker->first_sample); + ticker->first_sample = ticker->last_sample; +- ticker->tick_period = usec / ticker->cycle; ++ ticker->tick_period = div_s64(usec, ticker->cycle); + cycled = 1; + } + ticker->count++; +@@ -497,7 +497,7 @@ static void send_drift(xbus_t *xbus, int drift) + XBUS_DBG(SYNC, xbus, + "%sDRIFT adjust %s (%d) (last update %lld seconds ago)\n", + (disable_pll_sync) ? "Fake " : "", msg, drift, +- msec_delta / MSEC_PER_SEC); ++ div_s64(msec_delta, MSEC_PER_SEC)); + if (!disable_pll_sync) + CALL_PROTO(GLOBAL, SYNC_SOURCE, xbus, NULL, SYNC_MODE_PLL, + drift); +diff --git a/drivers/dahdi/xpp/xbus-sysfs.c b/drivers/dahdi/xpp/xbus-sysfs.c +index d8c11dc..35180d9 100644 +--- a/drivers/dahdi/xpp/xbus-sysfs.c ++++ b/drivers/dahdi/xpp/xbus-sysfs.c +@@ -249,7 +249,7 @@ static DEVICE_ATTR_READER(driftinfo_show, dev, buf) + /* + * Calculate lost ticks time + */ +- seconds = ktime_ms_delta(now, di->last_lost_tick) / 1000; ++ seconds = div_s64(ktime_ms_delta(now, di->last_lost_tick), 1000); + minutes = seconds / 60; + seconds = seconds % 60; + hours = minutes / 60; +diff --git a/drivers/dahdi/xpp/xframe_queue.c b/drivers/dahdi/xpp/xframe_queue.c +index e986083..8e5e508 100644 +--- a/drivers/dahdi/xpp/xframe_queue.c ++++ b/drivers/dahdi/xpp/xframe_queue.c +@@ -35,15 +35,18 @@ static void __xframe_dump_queue(struct xframe_queue *q) + int i = 0; + char prefix[30]; + ktime_t now = ktime_get(); ++ s64 msec = 0; ++ s32 rem = 0; + + printk(KERN_DEBUG "%s: dump queue '%s' (first packet in each frame)\n", + THIS_MODULE->name, q->name); + list_for_each_entry_reverse(xframe, &q->head, frame_list) { + xpacket_t *pack = (xpacket_t *)&xframe->packets[0]; + s64 usec = ktime_us_delta(now, xframe->kt_queued); ++ msec = div_s64_rem(usec, 1000, &rem); + +- snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03lld msec", +- i++, usec / 1000, usec % 1000); ++ snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03d msec", ++ i++, msec, rem); + dump_packet(prefix, pack, 1); + } + } +@@ -52,6 +55,8 @@ static bool __xframe_enqueue(struct xframe_queue *q, xframe_t *xframe) + { + int ret = 1; + static int overflow_cnt; ++ s64 msec = 0; ++ s32 rem = 0; + + if (unlikely(q->disabled)) { + ret = 0; +@@ -60,11 +65,11 @@ static bool __xframe_enqueue(struct xframe_queue *q, xframe_t *xframe) + if (q->count >= q->max_count) { + q->overflows++; + if ((overflow_cnt++ % 1000) < 5) { +- NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", ++ msec = div_s64_rem(q->worst_lag_usec, 1000, &rem); ++ NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%d ms\n", + q->name, q->steady_state_count, q->count, + q->max_count, q->worst_count, q->overflows, +- q->worst_lag_usec / 1000, +- q->worst_lag_usec % 1000); ++ msec, rem); + __xframe_dump_queue(q); + } + ret = 0; +diff --git a/drivers/dahdi/xpp/xpp_usb.c b/drivers/dahdi/xpp/xpp_usb.c +index 1a591b1..3741457 100644 +--- a/drivers/dahdi/xpp/xpp_usb.c ++++ b/drivers/dahdi/xpp/xpp_usb.c +@@ -882,7 +882,7 @@ static void xpp_send_callback(struct urb *urb) + usec = 0; /* System clock jumped */ + if (usec > xusb->max_tx_delay) + xusb->max_tx_delay = usec; +- i = usec / USEC_BUCKET; ++ i = div_s64(usec, USEC_BUCKET); + if (i >= NUM_BUCKETS) + i = NUM_BUCKETS - 1; + xusb->usb_tx_delay[i]++; +-- +2.33.0 + diff --git a/package/dahdi-linux/Config.in b/package/dahdi-linux/Config.in index f2a370917cd..7b6ce794227 100644 --- a/package/dahdi-linux/Config.in +++ b/package/dahdi-linux/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_DAHDI_LINUX - bool "dhadi-linux" + bool "dahdi-linux" depends on BR2_LINUX_KERNEL help DAHDI (Digium/Asterisk Hardware Device Interface) is the open @@ -11,9 +11,5 @@ config BR2_PACKAGE_DAHDI_LINUX http://www.asterisk.org/downloads/dahdi - Note: DAHDI Linux drivers won't build on a kernel v4.0 or more - recent, because they use internals that have been removed in - v4.0. - comment "dahdi-linux needs a Linux kernel to be built" depends on !BR2_LINUX_KERNEL diff --git a/package/dahdi-linux/dahdi-linux.hash b/package/dahdi-linux/dahdi-linux.hash index 1847a4da4c9..7a4c6880618 100644 --- a/package/dahdi-linux/dahdi-linux.hash +++ b/package/dahdi-linux/dahdi-linux.hash @@ -1,7 +1,5 @@ -# sha1 from: http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases -# sha256 locally computed -sha1 9827f0afc625e293021b81daf94ec054145c975b dahdi-linux-3.0.0.tar.gz -sha256 02a8a680d20a3e243f37259edc3554ab9a488595a28562c45c33da3792d12caa dahdi-linux-3.0.0.tar.gz +# Locally computed +sha256 3faf127ee3f1fad0195c56d00b7bf2708ec8a54bf3c31edd827fd9beb47e0a51 dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8-br1.tar.gz # Firmware files have no upstream hash, so sha56 locally computed sha256 3ff26cf80555fd7470b43a87c51d03c1db2a75abcd4561d79f69b6c48298e4a1 dahdi-fwload-vpmadt032-1.25.0.tar.gz diff --git a/package/dahdi-linux/dahdi-linux.mk b/package/dahdi-linux/dahdi-linux.mk index 4d2c7e7177e..93124f0e024 100644 --- a/package/dahdi-linux/dahdi-linux.mk +++ b/package/dahdi-linux/dahdi-linux.mk @@ -4,10 +4,11 @@ # ################################################################################ -DAHDI_LINUX_VERSION = 3.0.0 -DAHDI_LINUX_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases +DAHDI_LINUX_VERSION = 5c840cf43838e0690873e73409491c392333b3b8 +DAHDI_LINUX_SITE = https://gerrit.asterisk.org/dahdi-linux +DAHDI_LINUX_SITE_METHOD = git -# We need to download all thoe firmware blobs ourselves, otherwise +# We need to download all those firmware blobs ourselves, otherwise # dahdi-linux will try to download them at install time. DAHDI_LINUX_FW_SITE = http://downloads.digium.com/pub/telephony/firmware/releases DAHDI_LINUX_FW_FILES = \ @@ -60,6 +61,10 @@ define DAHDI_LINUX_EXTRACT_FW endef DAHDI_LINUX_POST_EXTRACT_HOOKS += DAHDI_LINUX_EXTRACT_FW +define DAHDI_LINUX_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_CRC_CCITT) +endef + # Need to pass the same options as for building the modules, because # it wants to scan Linux' .config file to check whether some options # are set or not (like CONFIG_FW_LOADER). diff --git a/package/dahdi-tools/dahdi-tools.hash b/package/dahdi-tools/dahdi-tools.hash index 5538ed6b8a6..72fa995c842 100644 --- a/package/dahdi-tools/dahdi-tools.hash +++ b/package/dahdi-tools/dahdi-tools.hash @@ -1,7 +1,7 @@ # sha1 from http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases # sha256 locally computed -sha1 3e988256aae4b6a6ed8efb3ecc07753779f54823 dahdi-tools-3.0.0.tar.gz -sha256 5bebb20d5ae13fa13f0e2075603013954b962be477db02271eef44b3e41557c5 dahdi-tools-3.0.0.tar.gz +sha1 fff6c8fdc72a66f81768e4f50bf55156f7cebbc4 dahdi-tools-3.1.0.tar.gz +sha256 ea852ebd274ee1cc90ff5e4ac84261b0b787b1a74e8b76ad659bc9ec4f77e67e dahdi-tools-3.1.0.tar.gz # License files, locally computed sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE diff --git a/package/dahdi-tools/dahdi-tools.mk b/package/dahdi-tools/dahdi-tools.mk index 392dc091406..fc0c591ca84 100644 --- a/package/dahdi-tools/dahdi-tools.mk +++ b/package/dahdi-tools/dahdi-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAHDI_TOOLS_VERSION = 3.0.0 +DAHDI_TOOLS_VERSION = 3.1.0 DAHDI_TOOLS_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases DAHDI_TOOLS_LICENSE = GPLv2, LGPLv2.1 diff --git a/package/dante/dante.hash b/package/dante/dante.hash index cb87cdc04ae..a76018fdb65 100644 --- a/package/dante/dante.hash +++ b/package/dante/dante.hash @@ -1,5 +1,5 @@ # From https://www.inet.no/dante/download.html -sha256 4c97cff23e5c9b00ca1ec8a95ab22972813921d7fbf60fc453e3e06382fc38a7 dante-1.4.2.tar.gz +sha256 418a065fe1a4b8ace8fbf77c2da269a98f376e7115902e76cda7e741e4846a5d dante-1.4.3.tar.gz # Hash for license file -sha256 954ab6dbcf994711e28e603d8657d6eceef333cd6f9ca6705f0e9d118ab7d69a LICENSE +sha256 05e2db26147a8575005f090aada119ea6cb40a4382164929d647f00abef3bdfd LICENSE diff --git a/package/dante/dante.mk b/package/dante/dante.mk index 6e950b119ed..ae60252bed2 100644 --- a/package/dante/dante.mk +++ b/package/dante/dante.mk @@ -4,10 +4,11 @@ # ################################################################################ -DANTE_VERSION = 1.4.2 +DANTE_VERSION = 1.4.3 DANTE_SITE = http://www.inet.no/dante/files DANTE_LICENSE = BSD-3-Clause DANTE_LICENSE_FILES = LICENSE +DANTE_SELINUX_MODULES = dante # Needed so that our libtool patch applies properly DANTE_AUTORECONF = YES diff --git a/package/daq3/Config.in b/package/daq3/Config.in new file mode 100644 index 00000000000..b53e5508fd8 --- /dev/null +++ b/package/daq3/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_DAQ3 + bool "daq3" + depends on !BR2_PACKAGE_DAQ + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_TOOLCHAIN_HAS_THREADS + help + DAQ is a Data Acquisition library for packet I/O from the + Snort project. + + https://www.snort.org + +comment "daq3 needs a toolchain w/ dynamic library, gcc >= 4.9, threads" + depends on !BR2_PACKAGE_DAQ + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ + || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/daq3/daq3.hash b/package/daq3/daq3.hash new file mode 100644 index 00000000000..a97f81833b5 --- /dev/null +++ b/package/daq3/daq3.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 4281464c5502037669e69d314b628df863420f590c4999c5b567c8016cd1e658 daq3-3.0.5.tar.gz + +# Hash for license files: +sha256 64601289158eddad72cb4de72652f9e64dc886942c910b38ddee93ba13b0db26 COPYING +sha256 64601289158eddad72cb4de72652f9e64dc886942c910b38ddee93ba13b0db26 LICENSE diff --git a/package/daq3/daq3.mk b/package/daq3/daq3.mk new file mode 100644 index 00000000000..ed97615e617 --- /dev/null +++ b/package/daq3/daq3.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# daq3 +# +################################################################################ + +DAQ3_VERSION = 3.0.5 +DAQ3_SITE = $(call github,snort3,libdaq,v$(DAQ3_VERSION)) +DAQ3_LICENSE = GPL-2.0 +DAQ3_LICENSE_FILES = COPYING LICENSE +DAQ3_INSTALL_STAGING = YES +DAQ3_DEPENDENCIES = host-pkgconf +# From git +DAQ3_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_LIBNETFILTER_QUEUE),y) +DAQ3_DEPENDENCIES += libnetfilter_queue +DAQ3_CONF_OPTS += --enable-nfq-module +else +DAQ3_CONF_OPTS += --disable-nfq-module +endif + +ifeq ($(BR2_PACKAGE_LIBPCAP),y) +DAQ3_DEPENDENCIES += libpcap +DAQ3_CONF_OPTS += --enable-pcap-module +else +DAQ3_CONF_OPTS += --disable-pcap-module +endif + +$(eval $(autotools-package)) diff --git a/package/darkhttpd/0001-Declare-vars-outside-of-for-loop-for-std-c90.patch b/package/darkhttpd/0001-Declare-vars-outside-of-for-loop-for-std-c90.patch new file mode 100644 index 00000000000..7584bff98e9 --- /dev/null +++ b/package/darkhttpd/0001-Declare-vars-outside-of-for-loop-for-std-c90.patch @@ -0,0 +1,39 @@ +From 81b491e60affd67f4ec2feccbee1cdf98dc57b81 Mon Sep 17 00:00:00 2001 +From: Emil Mikulic +Date: Sun, 21 Mar 2021 15:03:14 +1100 +Subject: [PATCH] Declare vars outside of for() loop for -std=c90. + +Fixes #2. + +[Retrieved from: +https://github.com/emikulic/darkhttpd/commit/81b491e60affd67f4ec2feccbee1cdf98dc57b81] +Signed-off-by: Fabrice Fontaine +--- + darkhttpd.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/darkhttpd.c b/darkhttpd.c +index 219a8a3..268628a 100644 +--- a/darkhttpd.c ++++ b/darkhttpd.c +@@ -966,8 +966,9 @@ static char *base64_encode(char *str) { + char *encoded_data = malloc(output_length+1); + if (encoded_data == NULL) return NULL; + +- for (int i = 0, j = 0; i < input_length;) { +- ++ int i; ++ int j; ++ for (i = 0, j = 0; i < input_length;) { + uint32_t octet_a = i < input_length ? (unsigned char)str[i++] : 0; + uint32_t octet_b = i < input_length ? (unsigned char)str[i++] : 0; + uint32_t octet_c = i < input_length ? (unsigned char)str[i++] : 0; +@@ -981,7 +982,7 @@ static char *base64_encode(char *str) { + } + + const int mod_table[] = {0, 2, 1}; +- for (int i = 0; i < mod_table[input_length % 3]; i++) ++ for (i = 0; i < mod_table[input_length % 3]; i++) + encoded_data[output_length - 1 - i] = '='; + encoded_data[output_length] = '\0'; + diff --git a/package/darkhttpd/darkhttpd.hash b/package/darkhttpd/darkhttpd.hash index b6618db89a4..af5a2bf8c9c 100644 --- a/package/darkhttpd/darkhttpd.hash +++ b/package/darkhttpd/darkhttpd.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 a50417b622b32b5f421b3132cb94ebeff04f02c5fb87fba2e31147d23de50505 darkhttpd-1.12.tar.bz2 -sha256 6e1a2e45d8dd3c8835222e3c82e5cccde8e60f02d55555910e18715ec5dc6d04 darkhttpd.c +sha256 1d88c395ac79ca9365aa5af71afe4ad136a4ed45099ca398168d4a2014dc0fc2 darkhttpd-1.13.tar.gz +sha256 44e784df460954c7760e2eeae69aecb12a3d23ca1c0a4f6047c3c6452b2e2f49 darkhttpd.c diff --git a/package/darkhttpd/darkhttpd.mk b/package/darkhttpd/darkhttpd.mk index 4b65cffe604..56e5a6ecd65 100644 --- a/package/darkhttpd/darkhttpd.mk +++ b/package/darkhttpd/darkhttpd.mk @@ -4,9 +4,8 @@ # ################################################################################ -DARKHTTPD_VERSION = 1.12 -DARKHTTPD_SITE = https://unix4lyfe.org/darkhttpd -DARKHTTPD_SOURCE = darkhttpd-$(DARKHTTPD_VERSION).tar.bz2 +DARKHTTPD_VERSION = 1.13 +DARKHTTPD_SITE = $(call github,emikulic,darkhttpd,v$(DARKHTTPD_VERSION)) DARKHTTPD_LICENSE = MIT DARKHTTPD_LICENSE_FILES = darkhttpd.c diff --git a/package/dash/dash.hash b/package/dash/dash.hash index 24cc7318bd9..1803bcdb2cc 100644 --- a/package/dash/dash.hash +++ b/package/dash/dash.hash @@ -1,4 +1,4 @@ -# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.11.2.tar.gz.sha256sum -sha256 62b9f1676ba6a7e8eaec541a39ea037b325253240d1f378c72360baa1cbcbc2a dash-0.5.11.3.tar.gz +# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.11.5.tar.gz.sha512sum +sha512 5387e213820eeb44d812bb4697543023fd4662b51a9ffd52a702810fed8b28d23fbe35a7f371e6686107de9f81902eff109458964b4622f4c5412d60190a66bf dash-0.5.11.5.tar.gz # Locally calculated sha256 254a7894923ff62e69184a991dcbccae97edee58a1105e8efbe78caf10595d72 COPYING diff --git a/package/dash/dash.mk b/package/dash/dash.mk index 1712dcf5999..fed3a995511 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -4,7 +4,7 @@ # ################################################################################ -DASH_VERSION = 0.5.11.3 +DASH_VERSION = 0.5.11.5 DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c) DASH_LICENSE_FILES = COPYING diff --git a/package/datatables-fixedcolumns/datatables-fixedcolumns.mk b/package/datatables-fixedcolumns/datatables-fixedcolumns.mk index 3c744990ca9..33174e106f3 100644 --- a/package/datatables-fixedcolumns/datatables-fixedcolumns.mk +++ b/package/datatables-fixedcolumns/datatables-fixedcolumns.mk @@ -6,7 +6,7 @@ DATATABLES_FIXEDCOLUMNS_VERSION = 3.3.0 DATATABLES_FIXEDCOLUMNS_SITE = https://datatables.net/releases -DATATABLES_FIXEDCOLUMNS_SOURCE = FixedColumns-$(DATATABLES_FIXEDCOLUMNS_VERSION).zip +DATATABLES_FIXEDCOLUMNS_SOURCE = FixedColumns-$(DATATABLES_FIXEDCOLUMNS_VERSION).zip DATATABLES_FIXEDCOLUMNS_LICENSE = MIT DATATABLES_FIXEDCOLUMNS_LICENSE_FILES = License.txt diff --git a/package/datatables-responsive/datatables-responsive.mk b/package/datatables-responsive/datatables-responsive.mk index bc9644701f9..2809a52280f 100644 --- a/package/datatables-responsive/datatables-responsive.mk +++ b/package/datatables-responsive/datatables-responsive.mk @@ -6,7 +6,7 @@ DATATABLES_RESPONSIVE_VERSION = 2.2.3 DATATABLES_RESPONSIVE_SITE = https://datatables.net/releases -DATATABLES_RESPONSIVE_SOURCE = Responsive-$(DATATABLES_RESPONSIVE_VERSION).zip +DATATABLES_RESPONSIVE_SOURCE = Responsive-$(DATATABLES_RESPONSIVE_VERSION).zip DATATABLES_RESPONSIVE_LICENSE = MIT DATATABLES_RESPONSIVE_LICENSE_FILES = License.txt diff --git a/package/datatables/datatables.mk b/package/datatables/datatables.mk index 7bd3d83ac33..c20cdf12544 100644 --- a/package/datatables/datatables.mk +++ b/package/datatables/datatables.mk @@ -6,7 +6,7 @@ DATATABLES_VERSION = 1.10.20 DATATABLES_SITE = https://datatables.net/releases -DATATABLES_SOURCE = DataTables-$(DATATABLES_VERSION).zip +DATATABLES_SOURCE = DataTables-$(DATATABLES_VERSION).zip DATATABLES_LICENSE = MIT DATATABLES_LICENSE_FILES = license.txt diff --git a/package/dav1d/dav1d.hash b/package/dav1d/dav1d.hash index 45152f7a803..5e838b0951e 100644 --- a/package/dav1d/dav1d.hash +++ b/package/dav1d/dav1d.hash @@ -1,3 +1,4 @@ +# From http://download.videolan.org/pub/videolan/dav1d/0.9.2/dav1d-0.9.2.tar.xz.sha256 +sha256 e3235ab6c43c0135b0db1d131e1923fad4c84db9d85683e30b91b33a52d61c71 dav1d-0.9.2.tar.xz # Locally computed -sha256 842da2945afcf54e651d17112bf2823a238e6c935a6c8dff3a8e96a2eb740269 dav1d-0.8.1.tar.bz2 sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 COPYING diff --git a/package/dav1d/dav1d.mk b/package/dav1d/dav1d.mk index 68f6fc8805d..ecc4cc55c30 100644 --- a/package/dav1d/dav1d.mk +++ b/package/dav1d/dav1d.mk @@ -4,9 +4,9 @@ # ################################################################################ -DAV1D_VERSION = 0.8.1 -DAV1D_SOURCE = dav1d-$(DAV1D_VERSION).tar.bz2 -DAV1D_SITE = https://code.videolan.org/videolan/dav1d/-/archive/$(DAV1D_VERSION) +DAV1D_VERSION = 0.9.2 +DAV1D_SOURCE = dav1d-$(DAV1D_VERSION).tar.xz +DAV1D_SITE = http://download.videolan.org/pub/videolan/dav1d/$(DAV1D_VERSION) DAV1D_LICENSE = BSD-2-Clause DAV1D_LICENSE_FILES = COPYING DAV1D_INSTALL_STAGING = YES @@ -25,7 +25,7 @@ endif # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -DAV1D_LDFLAGS += -latomic +DAV1D_LDFLAGS += $(TARGET_LDFLAGS) -latomic endif $(eval $(meson-package)) diff --git a/package/davfs2/davfs2.hash b/package/davfs2/davfs2.hash index 88a314d1c2d..a555779dbc7 100644 --- a/package/davfs2/davfs2.hash +++ b/package/davfs2/davfs2.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 2e6b675685bd917772be60f0999ae098c80f79ff20dc131e8fec4547cbb63b50 davfs2-1.6.0.tar.gz +sha256 ce3eb948ece582a51c934ccb0cc70e659839172717caff173f69a5e2af90c5c0 davfs2-1.6.1.tar.gz # License file, locally calculated sha256 0ae0485a5bd37a63e63603596417e4eb0e653334fa6c7f932ca3a0e85d4af227 COPYING diff --git a/package/davfs2/davfs2.mk b/package/davfs2/davfs2.mk index 1099f1b13b2..42192faa59f 100644 --- a/package/davfs2/davfs2.mk +++ b/package/davfs2/davfs2.mk @@ -4,10 +4,11 @@ # ################################################################################ -DAVFS2_VERSION = 1.6.0 +DAVFS2_VERSION = 1.6.1 DAVFS2_SITE = http://download.savannah.nongnu.org/releases/davfs2 DAVFS2_LICENSE = GPL-3.0+ DAVFS2_LICENSE_FILES = COPYING +DAVFS2_CPE_ID_VENDOR = werner_baumann DAVFS2_DEPENDENCIES = \ neon \ diff --git a/package/davici/davici.hash b/package/davici/davici.hash index 178d87f2e28..27ec2a6dabd 100644 --- a/package/davici/davici.hash +++ b/package/davici/davici.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d3e5e806ecca841d7e133a3df768062df59f4b4c76bf98e0f90aa8064721b3bd davici-1.3.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 b03c5a1aad905e962271d70246d6af6c337ffd00449d990082ea02161327bde8 davici-1.4.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/davici/davici.mk b/package/davici/davici.mk index 6c8df48b6af..d54e02e2786 100644 --- a/package/davici/davici.mk +++ b/package/davici/davici.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAVICI_VERSION = 1.3 +DAVICI_VERSION = 1.4 DAVICI_SITE = $(call github,strongswan,davici,v$(DAVICI_VERSION)) DAVICI_LICENSE = LGPL-2.1+ DAVICI_LICENSE_FILES = COPYING diff --git a/package/davinci-bootcount/Config.in b/package/davinci-bootcount/Config.in new file mode 100644 index 00000000000..e34adde570a --- /dev/null +++ b/package/davinci-bootcount/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_DAVINCI_BOOTCOUNT + bool "davinci-bootcount" + depends on BR2_arm # only relevant for TI am335x + help + U-Boot implements a boot count scheme that can be used to + detect multiple failed attempts to boot Linux. On Davinci + platform (TI AM 335x) the `bootcount' is stored in the RTC + SCRATCH2 register. This tool allows to read and write this + register from userspace. + + https://github.com/VoltServer/uboot-davinci-bootcount diff --git a/package/davinci-bootcount/davinci-bootcount.hash b/package/davinci-bootcount/davinci-bootcount.hash new file mode 100644 index 00000000000..ef4bca2b7df --- /dev/null +++ b/package/davinci-bootcount/davinci-bootcount.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 de7843cf1245a739b6d18d4db478893e50c2de0ee19bbce96dc323065d28c3e4 davinci-bootcount-0973689c7556a953d2b468e4d8d46758c6d467b4.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/davinci-bootcount/davinci-bootcount.mk b/package/davinci-bootcount/davinci-bootcount.mk new file mode 100644 index 00000000000..385d96d5a2c --- /dev/null +++ b/package/davinci-bootcount/davinci-bootcount.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# davinci-bootcount +# +################################################################################ + +DAVINCI_BOOTCOUNT_VERSION = 0973689c7556a953d2b468e4d8d46758c6d467b4 +DAVINCI_BOOTCOUNT_SITE = $(call github,VoltServer,uboot-davinci-bootcount,$(DAVINCI_BOOTCOUNT_VERSION)) +DAVINCI_BOOTCOUNT_LICENSE = GPL-3.0 +DAVINCI_BOOTCOUNT_LICENSE_FILES = COPYING + +# sources fetched from github, no configure script +DAVINCI_BOOTCOUNT_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/dbus-cxx/0001-gcc11-include-typeinfo.patch b/package/dbus-cxx/0001-gcc11-include-typeinfo.patch new file mode 100644 index 00000000000..b4b7d83de2c --- /dev/null +++ b/package/dbus-cxx/0001-gcc11-include-typeinfo.patch @@ -0,0 +1,29 @@ +From 0a4c5db225d8d213916655593471e303ba71e0ea Mon Sep 17 00:00:00 2001 +From: Oleksandr Kravchuk +Date: Mon, 13 Dec 2021 03:42:44 +0100 +Subject: [PATCH] Include typeinfo for typeid() (#83) + +Otherwise fails with: + error: must '#include ' before using 'typeid' + +Fetch from: https://github.com/dbus-cxx/dbus-cxx/pull/83 +Upstream-Status: Accepted +Signed-off-by: Daniel Lang + +--- + dbus-cxx/demangle.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dbus-cxx/demangle.h b/dbus-cxx/demangle.h +index b71bcb9..9a4e99b 100644 +--- a/dbus-cxx/demangle.h ++++ b/dbus-cxx/demangle.h +@@ -21,6 +21,7 @@ + #define DBUSCXX_DEMANGLE_H + + #include ++#include + #include + + #if DBUS_CXX_HAS_CXXABI_H + diff --git a/package/dbus-cxx/0002-cmake-improve-include-paths.patch b/package/dbus-cxx/0002-cmake-improve-include-paths.patch new file mode 100644 index 00000000000..1f6a36a2c08 --- /dev/null +++ b/package/dbus-cxx/0002-cmake-improve-include-paths.patch @@ -0,0 +1,91 @@ +From 5a0ebbf55515a928acf9926d3fcd789115e347d3 Mon Sep 17 00:00:00 2001 +From: Lang Daniel +Date: Mon, 17 Jan 2022 13:57:55 +0100 +Subject: [PATCH] cmake: improve include paths + +Adding the dbus-cxx subfolders as an include path might override system +headers (signal.h for gcc 10). +By removing the subfolders, includes can happen via #include "..." or +via #include . + +Fetch from: https://github.com/dbus-cxx/dbus-cxx/pull/86 +Upstream-Status: Accepted +Signed-off-by: Daniel Lang + +--- + CMakeLists.txt | 4 +--- + dbus-cxx/matchrule.h | 2 +- + dbus-cxx/sasl.h | 2 +- + dbus-cxx/sendmsgtransport.cpp | 2 +- + dbus-cxx/simpletransport.cpp | 2 +- + 5 files changed, 5 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5b6d28c..e76cd61 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -207,9 +207,7 @@ set( DBUS_CXX_HEADERS + + set( DBUS_CXX_INCLUDE_DIRECTORIES + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/dbus-cxx +- ${PROJECT_BINARY_DIR} +- ${PROJECT_BINARY_DIR}/dbus-cxx ) ++ ${PROJECT_BINARY_DIR} ) + include_directories( ${DBUS_CXX_INCLUDE_DIRECTORIES} + ${dbus_INCLUDE_DIRS} + ${sigc_INCLUDE_DIRS} ) +diff --git a/dbus-cxx/matchrule.h b/dbus-cxx/matchrule.h +index 69fdab7..18c9e81 100644 +--- a/dbus-cxx/matchrule.h ++++ b/dbus-cxx/matchrule.h +@@ -20,7 +20,7 @@ + #define DBUSCXX_MATCH_RULE_H + + #include +-#include "dbus-cxx-config.h" ++#include + + namespace DBus { + +diff --git a/dbus-cxx/sasl.h b/dbus-cxx/sasl.h +index d7429a3..44edd6e 100644 +--- a/dbus-cxx/sasl.h ++++ b/dbus-cxx/sasl.h +@@ -19,7 +19,7 @@ + #ifndef DBUSCXX_SASL_H + #define DBUSCXX_SASL_H + +-#include ++#include + + #include + #include +diff --git a/dbus-cxx/sendmsgtransport.cpp b/dbus-cxx/sendmsgtransport.cpp +index ae053ff..a10ae66 100644 +--- a/dbus-cxx/sendmsgtransport.cpp ++++ b/dbus-cxx/sendmsgtransport.cpp +@@ -21,8 +21,8 @@ + #include "dbus-cxx-private.h" + #include "utility.h" + #include "validator.h" ++#include "message.h" + +-#include + #include + #include + #include +diff --git a/dbus-cxx/simpletransport.cpp b/dbus-cxx/simpletransport.cpp +index f291d9f..fed4364 100644 +--- a/dbus-cxx/simpletransport.cpp ++++ b/dbus-cxx/simpletransport.cpp +@@ -18,7 +18,7 @@ + ***************************************************************************/ + #include "simpletransport.h" + +-#include ++#include "dbus-cxx-private.h" + #include "demarshaling.h" + #include "message.h" + #include "utility.h" + diff --git a/package/dbus-cxx/0003-sasl-use-uid_t.patch b/package/dbus-cxx/0003-sasl-use-uid_t.patch new file mode 100644 index 00000000000..f08769b6c51 --- /dev/null +++ b/package/dbus-cxx/0003-sasl-use-uid_t.patch @@ -0,0 +1,41 @@ +From 9db9673c0c2407e18e215844adadbd4a397e6f78 Mon Sep 17 00:00:00 2001 +From: Lang Daniel +Date: Fri, 28 Jan 2022 07:53:13 +0100 +Subject: [PATCH] use uid_t instead of __uid_t + +uclibc and glibc define getuid() as +extern __uid_t getuid (void) __THROW; +https://elixir.bootlin.com/glibc/glibc-2.34/source/posix/unistd.h#L698 +which is a typedef for unsigned int. + +musl uses uid_t as return type +uid_t getuid(void); +https://elixir.bootlin.com/musl/v1.2.2/source/include/unistd.h#L108 +which is a typedef to unsigned. + +glibc and uclibc include typedefs from __uid_t to uid_t, +which means one should be able to use uid_t as a replacement +for __uid_t and make compiling with all three c standard libraries +possible. + +Fetch from: https://github.com/dbus-cxx/dbus-cxx/pull/87 +Signed-off-by: Daniel Lang + +--- + dbus-cxx/sasl.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dbus-cxx/sasl.cpp b/dbus-cxx/sasl.cpp +index e8a6060..7a76af6 100644 +--- a/dbus-cxx/sasl.cpp ++++ b/dbus-cxx/sasl.cpp +@@ -70,7 +70,7 @@ std::tuple> SASL::authenticate() { + bool success = false; + bool negotiatedFD = false; + std::vector serverGUID; +- __uid_t uid = getuid(); ++ uid_t uid = getuid(); + std::string line; + std::smatch regex_match; + + diff --git a/package/dbus-cxx/Config.in b/package/dbus-cxx/Config.in new file mode 100644 index 00000000000..1892f73a72b --- /dev/null +++ b/package/dbus-cxx/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_DBUS_CXX + bool "dbus-cxx" + depends on BR2_USE_MMU # dbus + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_DBUS # runtime + select BR2_PACKAGE_LIBSIGC + help + DBus-cxx is a C++ implementation for DBus. DBus is a + Linux-specific RPC (remote procedure call) and + IPC (inter-process communications) mechanism. + DBus-cxx provides an object-oriented view of all programs + on the DBus, and allows an object-oriented way of + exporting methods onto the DBus. + + https://dbus-cxx.github.io/ + +comment "dbus-cxx needs a toolchain w/ C++, threads, gcc >= 7 and dynamic library support" + depends on BR2_USE_MMU # dbus + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/dbus-cxx/dbus-cxx.hash b/package/dbus-cxx/dbus-cxx.hash new file mode 100644 index 00000000000..907de1866f6 --- /dev/null +++ b/package/dbus-cxx/dbus-cxx.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 05c4f4750261f09819564bb8ee93b5d7f56fd05bbcd755858860fa6697d09c2a dbus-cxx-2.1.0.tar.gz +sha256 e85e018c8ee7d4f439b097289bf4371f6fcfec24e89f3e77c422944501bc383d COPYING +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 cmake-modules/LICENSE_1_0.txt +sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 tools/libcppgenerate/LICENSE diff --git a/package/dbus-cxx/dbus-cxx.mk b/package/dbus-cxx/dbus-cxx.mk new file mode 100644 index 00000000000..3e89fc9db75 --- /dev/null +++ b/package/dbus-cxx/dbus-cxx.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# dbus-cxx +# +################################################################################ + +DBUS_CXX_VERSION = 2.1.0 +DBUS_CXX_SITE = $(call github,dbus-cxx,dbus-cxx,$(DBUS_CXX_VERSION)) +DBUS_CXX_LICENSE = GPL-3.0, Boost license (cmake-modules), Apache 2.0 (libcppgenerate) +DBUS_CXX_LICENSE_FILES = COPYING cmake-modules/LICENSE_1_0.txt tools/libcppgenerate/LICENSE +DBUS_CXX_INSTALL_STAGING = YES +DBUS_CXX_DEPENDENCIES = libsigc + +ifeq ($(BR2_PACKAGE_QT5BASE),y) +DBUS_CXX_CONF_OPTS += -DENABLE_QT_SUPPORT=ON +DBUS_CXX_DEPENDENCIES += qt5base +else +DBUS_CXX_CONF_OPTS += -DENABLE_QT_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) +DBUS_CXX_CONF_OPTS += -DENABLE_GLIB_SUPPORT=ON +DBUS_CXX_DEPENDENCIES += libglib2 +else +DBUS_CXX_CONF_OPTS += -DENABLE_GLIB_SUPPORT=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/dbus-glib/dbus-glib.hash b/package/dbus-glib/dbus-glib.hash index 098832431ef..072dde3d69a 100644 --- a/package/dbus-glib/dbus-glib.hash +++ b/package/dbus-glib/dbus-glib.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825 dbus-glib-0.110.tar.gz +sha256 7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a dbus-glib-0.112.tar.gz # Locally calculated -sha256 ef1634fc21d9112dca08f2557313584719d534d05213cf14f3c77938506266b4 COPYING +sha256 589bc300214a8b9ecd121f51570fe6342617487fd8fc0fb1f4ec26a13d5b96f8 COPYING diff --git a/package/dbus-glib/dbus-glib.mk b/package/dbus-glib/dbus-glib.mk index 5eb158d954b..0d247e1d893 100644 --- a/package/dbus-glib/dbus-glib.mk +++ b/package/dbus-glib/dbus-glib.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_GLIB_VERSION = 0.110 +DBUS_GLIB_VERSION = 0.112 DBUS_GLIB_SITE = http://dbus.freedesktop.org/releases/dbus-glib DBUS_GLIB_INSTALL_STAGING = YES DBUS_GLIB_LICENSE = AFL-2.1 or GPL-2.0+ diff --git a/package/dbus-python/Config.in b/package/dbus-python/Config.in index 4bfb59ed911..76453e168a7 100644 --- a/package/dbus-python/Config.in +++ b/package/dbus-python/Config.in @@ -3,16 +3,14 @@ config BR2_PACKAGE_DBUS_PYTHON depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_PACKAGE_DBUS - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_LIBGLIB2 - # pyexpat: runtime dependency only - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime help Python bindings for D-Bus http://dbus.freedesktop.org/doc/dbus-python/ comment "dbus-python needs a toolchain w/ wchar, threads" - depends on BR2_PACKAGE_DBUS && (BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3) + depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_PYTHON3 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/dbus-python/dbus-python.hash b/package/dbus-python/dbus-python.hash index e65695d616a..8d1609dec70 100644 --- a/package/dbus-python/dbus-python.hash +++ b/package/dbus-python/dbus-python.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 11238f1d86c995d8aed2e22f04a1e3779f0d70e587caffeab4857f3c662ed5a4 dbus-python-1.2.16.tar.gz +sha256 92bdd1e68b45596c833307a5ff4b217ee6929a1502f5341bae28fd120acf7260 dbus-python-1.2.18.tar.gz # Locally calculated sha256 1e4562245383fdb5203b1769789e5b28bba21af4923aea7e8b2614f7f93623c0 COPYING diff --git a/package/dbus-python/dbus-python.mk b/package/dbus-python/dbus-python.mk index f4b8996d767..d9bb30ed67b 100644 --- a/package/dbus-python/dbus-python.mk +++ b/package/dbus-python/dbus-python.mk @@ -4,45 +4,25 @@ # ################################################################################ -DBUS_PYTHON_VERSION = 1.2.16 +DBUS_PYTHON_VERSION = 1.2.18 DBUS_PYTHON_SITE = http://dbus.freedesktop.org/releases/dbus-python DBUS_PYTHON_INSTALL_STAGING = YES DBUS_PYTHON_LICENSE = MIT (dbus-python), AFL-2.1 or GPL-2.0+ (dbus-gmain) DBUS_PYTHON_LICENSE_FILES = COPYING dbus-gmain/COPYING -DBUS_PYTHON_DEPENDENCIES = dbus libglib2 -HOST_DBUS_PYTHON_DEPENDENCIES = host-dbus host-libglib2 +DBUS_PYTHON_DEPENDENCIES = dbus libglib2 python3 host-python3 +HOST_DBUS_PYTHON_DEPENDENCIES = host-dbus host-libglib2 host-python3 -ifeq ($(BR2_PACKAGE_PYTHON),y) -DBUS_PYTHON_DEPENDENCIES += python host-python - -DBUS_PYTHON_CONF_ENV += \ - PYTHON=$(HOST_DIR)/bin/python2 \ - PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python2-config --includes`" \ - PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python2-config --ldflags`" - -HOST_DBUS_PYTHON_DEPENDENCIES += host-python - -HOST_DBUS_PYTHON_CONF_ENV += \ - PYTHON=$(HOST_DIR)/bin/python2 \ - PYTHON_INCLUDES="`$(HOST_DIR)/usr/bin/python2-config --includes`" \ - PYTHON_LIBS="`$(HOST_DIR)/usr/bin/python2-config --ldflags`" -else -DBUS_PYTHON_DEPENDENCIES += python3 host-python3 - -DBUS_PYTHON_CONF_ENV += \ +DBUS_PYTHON_CONF_ENV = \ PYTHON=$(HOST_DIR)/bin/python3 \ PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python3-config --includes`" \ PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --ldflags`" \ PYTHON_EXTRA_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --libs --embed`" -HOST_DBUS_PYTHON_DEPENDENCIES += host-python3 - -HOST_DBUS_PYTHON_CONF_ENV += \ +HOST_DBUS_PYTHON_CONF_ENV = \ PYTHON=$(HOST_DIR)/bin/python3 \ PYTHON_INCLUDES="`$(HOST_DIR)/usr/bin/python3-config --includes`" \ PYTHON_LIBS="`$(HOST_DIR)/usr/bin/python3-config --ldflags`" \ PYTHON_EXTRA_LIBS="`$(HOST_DIR)/usr/bin/python3-config --libs --embed`" -endif $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash index 06512e56563..176396fe2fc 100644 --- a/package/dbus/dbus.hash +++ b/package/dbus/dbus.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.20.tar.gz.asc +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.22.tar.gz.asc # using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F -sha256 f77620140ecb4cdc67f37fb444f8a6bea70b5b6461f12f1cbe2cec60fa7de5fe dbus-1.12.20.tar.gz +sha256 8d25785c798ec4f892e6f9d177fb0ceeb8b29867b119798f9d5228561d3ad474 dbus-1.12.22.tar.gz # Locally calculated sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index d78e1024273..de447d86801 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_VERSION = 1.12.20 +DBUS_VERSION = 1.12.22 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING diff --git a/package/dc3dd/Config.in b/package/dc3dd/Config.in index 0383897cd50..bd181b70655 100644 --- a/package/dc3dd/Config.in +++ b/package/dc3dd/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_DC3DD bool "dc3dd" + depends on !BR2_RISCV_32 + depends on !BR2_arc depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_MUSL help @@ -11,5 +13,7 @@ config BR2_PACKAGE_DC3DD https://sourceforge.net/projects/dc3dd/ comment "dc3dd needs a glibc or uClibc toolchain w/ threads" + depends on !BR2_RISCV_32 + depends on !BR2_arc depends on !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_TOOLCHAIN_USES_MUSL diff --git a/package/ddrescue/ddrescue.hash b/package/ddrescue/ddrescue.hash index 6877b7008d7..f7c82b086bb 100644 --- a/package/ddrescue/ddrescue.hash +++ b/package/ddrescue/ddrescue.hash @@ -1,4 +1,4 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2020-03/msg00002.html -sha256 ce538ebd26a09f45da67d3ad3f7431932428231ceec7a2d255f716fa231a1063 ddrescue-1.25.tar.lz +# From https://lists.gnu.org/archive/html/info-gnu/2022-01/msg00013.html +sha256 e513cd3a90d9810dfdd91197d40aa40f6df01597bfb5ecfdfb205de1127c551f ddrescue-1.26.tar.lz # Locally computed sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/ddrescue/ddrescue.mk b/package/ddrescue/ddrescue.mk index f113681fa19..6d16d8701fa 100644 --- a/package/ddrescue/ddrescue.mk +++ b/package/ddrescue/ddrescue.mk @@ -4,7 +4,7 @@ # ################################################################################ -DDRESCUE_VERSION = 1.25 +DDRESCUE_VERSION = 1.26 DDRESCUE_SOURCE = ddrescue-$(DDRESCUE_VERSION).tar.lz DDRESCUE_SITE = http://download.savannah.gnu.org/releases/ddrescue DDRESCUE_LICENSE = GPL-2.0+ diff --git a/package/dehydrated/Config.in b/package/dehydrated/Config.in index 979938d70ca..13b3632f9d8 100644 --- a/package/dehydrated/Config.in +++ b/package/dehydrated/Config.in @@ -30,4 +30,4 @@ config BR2_PACKAGE_DEHYDRATED You probably need to install a custom /etc/dehydrated/config with the rootfs overlay. - https://github.com/lukas2511/dehydrated + https://github.com/dehydrated-io/dehydrated diff --git a/package/dehydrated/dehydrated.hash b/package/dehydrated/dehydrated.hash index 388dd247493..04526452565 100644 --- a/package/dehydrated/dehydrated.hash +++ b/package/dehydrated/dehydrated.hash @@ -1,6 +1,6 @@ # Locally computed after verifying -# https://github.com/lukas2511/dehydrated/releases/download/v0.6.5/dehydrated-0.6.5.tar.gz.asc +# https://github.com/dehydrated-io/dehydrated/releases/download/v0.7.0/dehydrated-0.7.0.tar.gz.asc # with key 3C2F2605E078A1E18F4793909C4DBE6CF438F333 from https://keybase.io/lukas2511 -sha256 10aabd0027450bc70a18e49acaca7a9697e0cfb92368d3e508b7a4d6d69bfa35 dehydrated-0.6.5.tar.gz +sha256 1c5f12c2e57e64b1762803f82f0f7e767a72e65a6ce68e4d1ec197e61b9dc4f9 dehydrated-0.7.0.tar.gz # License, locally computed sha256 b4583b7dd07e3e2a08906de38e7e329d41f921ed9dcb6310b3886e013a6b8723 LICENSE diff --git a/package/dehydrated/dehydrated.mk b/package/dehydrated/dehydrated.mk index 17c67b84788..28fb5a49122 100644 --- a/package/dehydrated/dehydrated.mk +++ b/package/dehydrated/dehydrated.mk @@ -4,8 +4,8 @@ # ################################################################################ -DEHYDRATED_VERSION = 0.6.5 -DEHYDRATED_SITE = https://github.com/lukas2511/dehydrated/releases/download/v$(DEHYDRATED_VERSION) +DEHYDRATED_VERSION = 0.7.0 +DEHYDRATED_SITE = https://github.com/dehydrated-io/dehydrated/releases/download/v$(DEHYDRATED_VERSION) DEHYDRATED_LICENSE = MIT DEHYDRATED_LICENSE_FILES = LICENSE diff --git a/package/delve/Config.in.host b/package/delve/Config.in.host new file mode 100644 index 00000000000..dab5ca89144 --- /dev/null +++ b/package/delve/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_DELVE + bool "host delve" + depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS + help + Delve is a debugger for the Go programming language. + + https://github.com/go-delve/delve diff --git a/package/delve/delve.hash b/package/delve/delve.hash index e8bb9c37adb..04ea4954cca 100644 --- a/package/delve/delve.hash +++ b/package/delve/delve.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f8bbaecdfc9d1ff6148900d3dea44b6dd06a7f0197be4e9a75c289b7f62682ab delve-1.5.0.tar.gz -sha256 778864b990007e8cef6633f8c372dd05bac1fada6cf67b008afb1483f83b38f5 LICENSE +sha256 086106a4776fa155bf20c37d27b9caed55255be6359c7f0bda1893d3adbb614e delve-1.8.0.tar.gz +sha256 778864b990007e8cef6633f8c372dd05bac1fada6cf67b008afb1483f83b38f5 LICENSE diff --git a/package/delve/delve.mk b/package/delve/delve.mk index f574bc5c083..4ca1786ffc6 100644 --- a/package/delve/delve.mk +++ b/package/delve/delve.mk @@ -4,7 +4,7 @@ # ################################################################################ -DELVE_VERSION = 1.5.0 +DELVE_VERSION = 1.8.0 DELVE_SITE = $(call github,go-delve,delve,v$(DELVE_VERSION)) DELVE_LICENSE = MIT DELVE_LICENSE_FILES = LICENSE @@ -14,4 +14,9 @@ DELVE_TAGS = cgo DELVE_BUILD_TARGETS = cmd/dlv DELVE_INSTALL_BINS = $(notdir $(DELVE_BUILD_TARGETS)) +HOST_DELVE_TAGS = cgo +HOST_DELVE_BUILD_TARGETS = cmd/dlv +HOST_DELVE_INSTALL_BINS = $(notdir $(HOST_DELVE_BUILD_TARGETS)) + $(eval $(golang-package)) +$(eval $(host-golang-package)) diff --git a/package/desktop-file-utils/desktop-file-utils.hash b/package/desktop-file-utils/desktop-file-utils.hash new file mode 100644 index 00000000000..48623831cc3 --- /dev/null +++ b/package/desktop-file-utils/desktop-file-utils.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 b26dbde79ea72c8c84fb7f9d870ffd857381d049a86d25e0038c4cef4c747309 desktop-file-utils-0.26.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/desktop-file-utils/desktop-file-utils.mk b/package/desktop-file-utils/desktop-file-utils.mk new file mode 100644 index 00000000000..12f000edf2b --- /dev/null +++ b/package/desktop-file-utils/desktop-file-utils.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# desktop-file-utils +# +################################################################################ + +DESKTOP_FILE_UTILS_VERSION = 0.26 +DESKTOP_FILE_UTILS_SOURCE = desktop-file-utils-$(DESKTOP_FILE_UTILS_VERSION).tar.xz +DESKTOP_FILE_UTILS_SITE = https://www.freedesktop.org/software/desktop-file-utils/releases +DESKTOP_FILE_UTILS_LICENSE = GPL-2.0+ +DESKTOP_FILE_UTILS_LICENSE_FILES = COPYING +HOST_DESKTOP_FILE_UTILS_DEPENDENCIES = host-libglib2 + +$(eval $(host-meson-package)) diff --git a/package/dfu-util/Config.in b/package/dfu-util/Config.in index 71c1a1687c5..2eddbf0521c 100644 --- a/package/dfu-util/Config.in +++ b/package/dfu-util/Config.in @@ -4,9 +4,10 @@ config BR2_PACKAGE_DFU_UTIL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb select BR2_PACKAGE_LIBUSB help - Dfu-util is the host side implementation of the DFU 1.0 - specification of the USB forum. DFU is intended to download - and upload firmware to devices connected over USB. + Dfu-util is the host side implementation of the DFU 1.0 and + DFU 1.1 specification of the USB forum. + DFU is intended to download and upload firmware to devices + connected over USB. http://dfu-util.sourceforge.net/ diff --git a/package/dfu-util/Config.in.host b/package/dfu-util/Config.in.host index 1bf9275f97c..5ce0da0372d 100644 --- a/package/dfu-util/Config.in.host +++ b/package/dfu-util/Config.in.host @@ -2,9 +2,10 @@ config BR2_PACKAGE_HOST_DFU_UTIL bool "host dfu-util" depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libusb help - Dfu-util is the host side implementation of the DFU 1.0 - specification of the USB forum. DFU is intended to download - and upload firmware to devices connected over USB. + Dfu-util is the host side implementation of the DFU 1.0 and + DFU 1.1 specification of the USB forum. + DFU is intended to download and upload firmware to devices + connected over USB. http://dfu-util.sourceforge.net/ diff --git a/package/dfu-util/dfu-util.hash b/package/dfu-util/dfu-util.hash index 7c66a933765..4ca28a26c9d 100644 --- a/package/dfu-util/dfu-util.hash +++ b/package/dfu-util/dfu-util.hash @@ -1,6 +1,6 @@ -# From http://dfu-util.sourceforge.net/releases/dfu-util-0.9.tar.gz.md5 -md5 233bb1e08ef4b405062445d84e28fde6 dfu-util-0.9.tar.gz +# From http://dfu-util.sourceforge.net/releases/dfu-util-0.11.tar.gz.md5 +md5 31c983543a1fe8f03260ca4d56ad4f43 dfu-util-0.11.tar.gz # Locally computed -sha256 36428c6a6cb3088cad5a3592933385253da5f29f2effa61518ee5991ea38f833 dfu-util-0.9.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 b4b53ba21a82ef7e3d4c47df2952adf5fa494f499b6b0b57c58c5d04ae8ff19e dfu-util-0.11.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/dfu-util/dfu-util.mk b/package/dfu-util/dfu-util.mk index 5e8ba5a8f2b..638cb32f37d 100644 --- a/package/dfu-util/dfu-util.mk +++ b/package/dfu-util/dfu-util.mk @@ -4,9 +4,9 @@ # ################################################################################ -DFU_UTIL_VERSION = 0.9 +DFU_UTIL_VERSION = 0.11 DFU_UTIL_SITE = http://dfu-util.sourceforge.net/releases -DFU_UTIL_LICENSE = GPL-2.0+ +DFU_UTIL_LICENSE = GPL-2.0+, LGPL-3.0 DFU_UTIL_LICENSE_FILES = COPYING DFU_UTIL_DEPENDENCIES = libusb diff --git a/package/dhcp/0001-WIP-Resolve-ISC-DHCP-does-not-build-with-gcc10.patch b/package/dhcp/0001-WIP-Resolve-ISC-DHCP-does-not-build-with-gcc10.patch deleted file mode 100644 index ad244267fed..00000000000 --- a/package/dhcp/0001-WIP-Resolve-ISC-DHCP-does-not-build-with-gcc10.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 129b7e402bd6e7278854e5a8935fce460552b5f4 Mon Sep 17 00:00:00 2001 -From: Thomas Markwalder -Date: Thu, 30 Jul 2020 10:01:36 -0400 -Subject: [PATCH] [#117] Fixed gcc 10 compilation issues - -client/dhclient.c -relay/dhcrelay.c - extern'ed local_port,remote_port - -common/discover.c - init local_port,remote_port to 0 - -server/mdb.c - extern'ed dhcp_type_host - -server/mdb6.c - create_prefix6() - eliminated memcpy string overflow error - -[Retrieved from: -https://gitlab.isc.org/isc-projects/dhcp/-/merge_requests/60/diffs?commit_id=129b7e402bd6e7278854e5a8935fce460552b5f4] -Signed-off-by: Fabrice Fontaine ---- - RELNOTES | 5 +++++ - client/dhclient.c | 5 +++-- - common/discover.c | 4 ++-- - relay/dhcrelay.c | 4 ++-- - server/mdb.c | 2 +- - server/mdb6.c | 2 +- - 6 files changed, 14 insertions(+), 8 deletions(-) - -diff --git a/RELNOTES b/RELNOTES -index 9d0a0414..6919dba7 100644 ---- a/RELNOTES -+++ b/RELNOTES -@@ -103,6 +103,11 @@ ISC DHCP is open source software maintained by Internet Systems - Consortium. This product includes cryptographic software written - by Eric Young (eay@cryptsoft.com). - -+ Changes since 4.4.2 (Bug Fixes) -+ -+- Minor corrections to allow compilation under gcc 10. -+ [Gitlab #117] -+ - Changes since 4.4.2b1 (Bug Fixes) - - - Added a clarification on DHCPINFORMs and server authority to -diff --git a/client/dhclient.c b/client/dhclient.c -index 189e5270..7a7837cb 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -83,8 +83,9 @@ static const char message [] = "Internet Systems Consortium DHCP Client"; - static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/"; - #endif /* UNIT_TEST */ - --u_int16_t local_port = 0; --u_int16_t remote_port = 0; -+extern u_int16_t local_port; -+extern u_int16_t remote_port; -+ - #if defined(DHCPv6) && defined(DHCP4o6) - int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */ - #endif -diff --git a/common/discover.c b/common/discover.c -index ca4f4d55..22f09767 100644 ---- a/common/discover.c -+++ b/common/discover.c -@@ -45,8 +45,8 @@ struct interface_info *fallback_interface = 0; - - int interfaces_invalidated; - int quiet_interface_discovery; --u_int16_t local_port; --u_int16_t remote_port; -+u_int16_t local_port = 0; -+u_int16_t remote_port = 0; - u_int16_t relay_port = 0; - int dhcpv4_over_dhcpv6 = 0; - int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *); -diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c -index 883d5058..7211e3bb 100644 ---- a/relay/dhcrelay.c -+++ b/relay/dhcrelay.c -@@ -95,8 +95,8 @@ enum { forward_and_append, /* Forward and append our own relay option. */ - forward_untouched, /* Forward without changes. */ - discard } agent_relay_mode = forward_and_replace; - --u_int16_t local_port; --u_int16_t remote_port; -+extern u_int16_t local_port; -+extern u_int16_t remote_port; - - /* Relay agent server list. */ - struct server_list { -diff --git a/server/mdb.c b/server/mdb.c -index ff8a707f..8266d764 100644 ---- a/server/mdb.c -+++ b/server/mdb.c -@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL; - - int numclasseswritten; - --omapi_object_type_t *dhcp_type_host; -+extern omapi_object_type_t *dhcp_type_host; - - isc_result_t enter_class(cd, dynamicp, commit) - struct class *cd; -diff --git a/server/mdb6.c b/server/mdb6.c -index da7baf6e..ebe01e56 100644 ---- a/server/mdb6.c -+++ b/server/mdb6.c -@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref, - } - new_ds.data = new_ds.buffer->data; - memcpy(new_ds.buffer->data, ds.data, ds.len); -- memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp)); -+ memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp)); - data_string_forget(&ds, MDL); - data_string_copy(&ds, &new_ds, MDL); - data_string_forget(&new_ds, MDL); --- -GitLab - diff --git a/package/dhcp/Config.in b/package/dhcp/Config.in index e6e70908ddd..e0706efafb1 100644 --- a/package/dhcp/Config.in +++ b/package/dhcp/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_DHCP # fork() depends on BR2_USE_MMU depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - select BR2_PACKAGE_BIND help DHCP relay agent from the ISC DHCP distribution. @@ -13,7 +12,6 @@ if BR2_PACKAGE_DHCP config BR2_PACKAGE_DHCP_SERVER bool "dhcp server" - select BR2_PACKAGE_SYSTEMD_TMPFILES if BR2_PACKAGE_SYSTEMD help DHCP server from the ISC DHCP distribution. diff --git a/package/dhcp/dhcp.hash b/package/dhcp/dhcp.hash index 92ecdfec58e..be03423db82 100644 --- a/package/dhcp/dhcp.hash +++ b/package/dhcp/dhcp.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/dhcp/4.4.2/dhcp-4.4.2.tar.gz.sha256.asc -sha256 1a7ccd64a16e5e68f7b5e0f527fd07240a2892ea53fe245620f4f5f607004521 dhcp-4.4.2.tar.gz +# Verified from https://ftp.isc.org/isc/dhcp/4.4.3/dhcp-4.4.3.tar.gz.sha256.asc +sha256 0e3ec6b4c2a05ec0148874bcd999a66d05518378d77421f607fb0bc9d0135818 dhcp-4.4.3.tar.gz # Locally calculated -sha256 89e7b0661134cc118bdcdeb87ff0493d544bc5723c9ca6616fa05f03539738af LICENSE +sha256 45a39c430be0920cb9570f34b32d2378fe6048c034f2f3265b9326d64ada73df LICENSE diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk index 988c7792dc3..981e34e551e 100644 --- a/package/dhcp/dhcp.mk +++ b/package/dhcp/dhcp.mk @@ -4,13 +4,22 @@ # ################################################################################ -DHCP_VERSION = 4.4.2 -DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) +DHCP_VERSION = 4.4.3 +DHCP_SITE = https://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) DHCP_INSTALL_STAGING = YES DHCP_LICENSE = MPL-2.0 DHCP_LICENSE_FILES = LICENSE -DHCP_DEPENDENCIES = bind +DHCP_DEPENDENCIES = host-gawk DHCP_CPE_ID_VENDOR = isc +# internal bind does not support parallel builds. +DHCP_MAKE = $(MAKE1) + +# untar internal bind so libtool patches will be applied on bind's libtool +define DHCP_UNTAR_INTERNAL_BIND + $(TAR) xf $(@D)/bind/bind.tar.gz -C $(@D)/bind/ +endef + +DHCP_POST_EXTRACT_HOOKS = DHCP_UNTAR_INTERNAL_BIND # use libtool-enabled configure.ac define DHCP_LIBTOOL_AUTORECONF @@ -22,8 +31,18 @@ DHCP_CONF_ENV = \ -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \ CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1' +DHCP_BIND_EXTRA_CONFIG = \ + BUILD_CC='$(HOSTCC)' \ + BUILD_CFLAGS='$(HOST_CFLAGS)' \ + BUILD_CPPFLAGS='$(HOST_CPPFLAGS)' \ + BUILD_LDFLAGS='$(HOST_LDFLAGS)' \ + RANLIB='$(TARGET_RANLIB)' \ + --disable-backtrace + +DHCP_CONF_ENV += ac_cv_prog_AWK=$(HOST_DIR)/bin/gawk + DHCP_CONF_OPTS = \ - --with-libbind=$(STAGING_DIR)/usr \ + --with-bind-extra-config="$(DHCP_BIND_EXTRA_CONFIG)" \ --with-randomdev=/dev/random \ --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ @@ -36,8 +55,23 @@ DHCP_CONF_OPTS = \ --with-relay-pid-file=/var/run/dhcrelay.pid \ --with-relay6-pid-file=/var/run/dhcrelay6.pid +ifeq ($(BR2_PACKAGE_ZLIB),y) +DHCP_BIND_EXTRA_CONFIG += --with-zlib=$(STAGING_DIR)/usr +DHCP_DEPENDENCIES += zlib +else +DHCP_BIND_EXTRA_CONFIG += --without-zlib +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_ATOMIC),y) +DHCP_BIND_EXTRA_CONFIG += --enable-atomic +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +DHCP_CONF_ENV += LIBS=-latomic +endif +else +DHCP_BIND_EXTRA_CONFIG += --disable-atomic +endif + ifeq ($(BR2_STATIC_LIBS),y) -DHCP_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/bind9-config --libs bind9`" DHCP_CONF_OPTS += --disable-libtool else DHCP_POST_EXTRACT_HOOKS += DHCP_LIBTOOL_AUTORECONF @@ -50,6 +84,7 @@ DHCP_CONF_OPTS += --enable-delayed-ack endif define DHCP_INSTALL_LIBS + $(MAKE) -C $(@D)/bind install-bind DESTDIR=$(TARGET_DIR) $(MAKE) -C $(@D)/common install-exec DESTDIR=$(TARGET_DIR) $(MAKE) -C $(@D)/omapip install-exec DESTDIR=$(TARGET_DIR) endef diff --git a/package/dhcpcd/0001-src-privsep-linux.c-add-support-for-nds32-21.patch b/package/dhcpcd/0001-src-privsep-linux.c-add-support-for-nds32-21.patch deleted file mode 100644 index 5d28fca516b..00000000000 --- a/package/dhcpcd/0001-src-privsep-linux.c-add-support-for-nds32-21.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 92dc3bd959681cf65d4a3466c89233cf0411b693 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 30 Jan 2021 12:10:08 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for nds32 (#21) - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -It should be noted that AUDIT_ARCH_NDS32 is only defined since kernel -5.2 and -https://github.com/torvalds/linux/commit/fa562447e154334523daa44c0b60625d71a345f5 - -Fixes: - - http://autobuild.buildroot.org/results/af8ba07ea0c12ab8cd24d528ef98db05521f3d36 - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit 3848e7204f23bb78eb42dcde4898c70aca67d58d) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index d31d720d..8716032c 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -182,6 +182,8 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # else - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPS - # endif -+#elif defined(__nds32__) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32 - #elif defined(__powerpc64__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC64 - #elif defined(__powerpc__) --- -2.29.2 - diff --git a/package/dhcpcd/0002-src-privsep-linux.c-add-support-for-xtensa-22.patch b/package/dhcpcd/0002-src-privsep-linux.c-add-support-for-xtensa-22.patch deleted file mode 100644 index f1789b13f13..00000000000 --- a/package/dhcpcd/0002-src-privsep-linux.c-add-support-for-xtensa-22.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1a77d82b0020ff4c71ffe55262676c3403978bd5 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 31 Jan 2021 03:35:10 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for xtensa (#22) - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -It should be noted that AUDIT_ARCH_XTENSA is only defined since kernel -5.0 and -https://github.com/torvalds/linux/commit/98c3115a4ec56f03056efd9295e0fcb4c5c57a85 - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit 19c3d9209a834e02918a17e011afd9da3e5be38d) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index 8716032c..f1b33f91 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -204,6 +204,8 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # else - # define AUDIT_ARCH_SPARC - # endif -+#elif defined(__xtensa__) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_XTENSA - #else - # error "Platform does not support seccomp filter yet" - #endif --- -2.29.2 - diff --git a/package/dhcpcd/0003-Linux-Add-support-for-NDS32BE-SECCOMP.patch b/package/dhcpcd/0003-Linux-Add-support-for-NDS32BE-SECCOMP.patch deleted file mode 100644 index de952688498..00000000000 --- a/package/dhcpcd/0003-Linux-Add-support-for-NDS32BE-SECCOMP.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 4d2ef61b8b4abcb446699b9d3c29b422f2cf9826 Mon Sep 17 00:00:00 2001 -From: Roy Marples -Date: Sun, 31 Jan 2021 07:37:03 +0000 -Subject: [PATCH] Linux: Add support for NDS32BE SECCOMP - -(cherry picked from commit 8253ef16e11db8b52af1ed8021cd2517046165d6) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index f1b33f91..04950ed2 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -183,7 +183,11 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPS - # endif - #elif defined(__nds32__) --# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32 -+# if (BYTE_ORDER == LITTLE_ENDIAN) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32 -+#ele -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32BE -+#endif - #elif defined(__powerpc64__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC64 - #elif defined(__powerpc__) --- -2.29.2 - diff --git a/package/dhcpcd/0004-Typo-with-prior.patch b/package/dhcpcd/0004-Typo-with-prior.patch deleted file mode 100644 index 9c988957131..00000000000 --- a/package/dhcpcd/0004-Typo-with-prior.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 59f67be640881eaf56cc30c304362af00523ff5d Mon Sep 17 00:00:00 2001 -From: Roy Marples -Date: Sun, 31 Jan 2021 10:08:11 +0000 -Subject: [PATCH] Typo with prior - -(cherry picked from commit d8d7f68001db3f084dfbb6e5b8ea4491088b55ba) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index 04950ed2..1660447c 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -185,7 +185,7 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - #elif defined(__nds32__) - # if (BYTE_ORDER == LITTLE_ENDIAN) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32 --#ele -+#else - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32BE - #endif - #elif defined(__powerpc64__) --- -2.29.2 - diff --git a/package/dhcpcd/0005-src-privsep-linux.c-add-support-for-nios2-23.patch b/package/dhcpcd/0005-src-privsep-linux.c-add-support-for-nios2-23.patch deleted file mode 100644 index ac1ef071a1a..00000000000 --- a/package/dhcpcd/0005-src-privsep-linux.c-add-support-for-nios2-23.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 24ca5bdd409dd811a088bc702a2b6f99ea05ad19 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 31 Jan 2021 11:12:21 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for nios2 (#23) - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -It should be noted that AUDIT_ARCH_NIOS2 is only defined since kernel -5.2 and -https://github.com/torvalds/linux/commit/1660aac45e5b49a5ace29fb5b73254617533fcbd - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit d670866ce008c21cbf6d5b20c4d4af6460ec35d2) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index 1660447c..e374c068 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -188,6 +188,8 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - #else - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32BE - #endif -+#elif defined(__nios2__) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NIOS2 - #elif defined(__powerpc64__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC64 - #elif defined(__powerpc__) --- -2.29.2 - diff --git a/package/dhcpcd/0006-src-privsep-linux.c-add-support-for-microblaze-24.patch b/package/dhcpcd/0006-src-privsep-linux.c-add-support-for-microblaze-24.patch deleted file mode 100644 index 245faed4762..00000000000 --- a/package/dhcpcd/0006-src-privsep-linux.c-add-support-for-microblaze-24.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 89a2f250ed978950aecf4854d1cee16f57946759 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 31 Jan 2021 21:57:40 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for microblaze (#24) - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -It should be noted that AUDIT_ARCH_MICROBLAZE is only defined since -kernel 3.18 and -https://github.com/torvalds/linux/commit/ce5d112827e5c2e9864323d0efd7ec2a62c6dce0 - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit e3a40586dbb584774d0a17bc277e69cb500cfa38) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index e374c068..a861a836 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -170,6 +170,8 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # endif - #elif defined(__ia64__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_IA64 -+#elif defined(__microblaze__) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MICROBLAZE - #elif defined(__mips__) - # if defined(__MIPSEL__) - # if defined(__LP64__) --- -2.29.2 - diff --git a/package/dhcpcd/0007-src-privsep-linux.c-add-support-for-sh-25.patch b/package/dhcpcd/0007-src-privsep-linux.c-add-support-for-sh-25.patch deleted file mode 100644 index b9c023805e9..00000000000 --- a/package/dhcpcd/0007-src-privsep-linux.c-add-support-for-sh-25.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 10acecc0583b7301cb539ba6875618956fa3d13b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 5 Feb 2021 09:05:54 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for sh (#25) - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -It should be noted that AUDIT_ARCH_{SH,SHEL,SH64,SHEL64} are defined at -least since kernel 3.7 and -https://github.com/torvalds/linux/commit/607ca46e97a1b6594b29647d98a32d545c24bdff - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit 166491c2953546a677073694036f43a65fc25063) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index a861a836..428ea4b0 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -206,6 +206,20 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_S390X - #elif defined(__s390__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_S390 -+#elif defined(__sh__) -+# if defined(__LP64__) -+# if (BYTE_ORDER == LITTLE_ENDIAN) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SHEL64 -+# else -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SH64 -+# endif -+# else -+# if (BYTE_ORDER == LITTLE_ENDIAN) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SHEL -+# else -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SH -+# endif -+# endif - #elif defined(__sparc__) - # if defined(__arch64__) - # define AUDIT_ARCH_SPARC64 --- -2.29.2 - diff --git a/package/dhcpcd/0008-src-privsep-linux-fix-build-on-sparc-26.patch b/package/dhcpcd/0008-src-privsep-linux-fix-build-on-sparc-26.patch deleted file mode 100644 index 06199228cee..00000000000 --- a/package/dhcpcd/0008-src-privsep-linux-fix-build-on-sparc-26.patch +++ /dev/null @@ -1,45 +0,0 @@ -From be36eccb1ae53422f2aa9b42f257baeb21bd8be7 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 5 Feb 2021 09:25:12 +0100 -Subject: [PATCH] src/privsep-linux: fix build on sparc (#26) - -Fix the following build failure: - -privsep-linux.c:203: warning: "AUDIT_ARCH_SPARC64" redefined - 203 | # define AUDIT_ARCH_SPARC64 - | -In file included from privsep-linux.c:35: -/srv/storage/autobuild/run/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/linux/audit.h:392: note: this is the location of the previous definition - 392 | #define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT) - | -In file included from privsep-linux.c:36: -privsep-linux.c:215:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - 215 | BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - | ^~~~~~~~~~~~~~~~~~ - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit dcfd7a23f002793a855156255e81662ef84064d3) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index 428ea4b0..8093740a 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -222,9 +222,9 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # endif - #elif defined(__sparc__) - # if defined(__arch64__) --# define AUDIT_ARCH_SPARC64 -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SPARC64 - # else --# define AUDIT_ARCH_SPARC -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SPARC - # endif - #elif defined(__xtensa__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_XTENSA --- -2.29.2 - diff --git a/package/dhcpcd/0009-src-privsep-linux.c-add-support-for-or1k-27.patch b/package/dhcpcd/0009-src-privsep-linux.c-add-support-for-or1k-27.patch deleted file mode 100644 index 3756cac7e92..00000000000 --- a/package/dhcpcd/0009-src-privsep-linux.c-add-support-for-or1k-27.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 617e3a44137cbba55afae24f6754580916bb770b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 7 Feb 2021 09:43:14 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for or1k (#27) - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -It should be noted that AUDIT_ARCH_OPENRISC is defined since kernel 3.7: -https://github.com/torvalds/linux/commit/e2bebb4ae6d9ac4ffc524db67f7ecb205a173f77 - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit f3f7332001d5d5722239f6b7279f32923e4eedd0) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index 8093740a..58df5c30 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -192,6 +192,8 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - #endif - #elif defined(__nios2__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NIOS2 -+#elif defined(__or1k__) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_OPENRISC - #elif defined(__powerpc64__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC64 - #elif defined(__powerpc__) --- -2.29.2 - diff --git a/package/dhcpcd/0010-src-privsep-linux.c-add-support-for-arc-28.patch b/package/dhcpcd/0010-src-privsep-linux.c-add-support-for-arc-28.patch deleted file mode 100644 index b7b3e153ebe..00000000000 --- a/package/dhcpcd/0010-src-privsep-linux.c-add-support-for-arc-28.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 1b6b6329daf70e29221f341ef1946717f158ec8a Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 8 Feb 2021 07:23:54 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for arc (#28) - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -It should be noted that AUDIT_ARCH_{ARCOMPACT,ARCV2} is only defined -since kernel 5.2 and -https://github.com/torvalds/linux/commit/67f2a8a29311841ba6ab9b0e2d1b8f1e9978cd84 - -Detection of arc compact and arc v2 have been "copy/pasted" from -https://github.com/wbx-github/uclibc-ng/commit/afab56958f1cbb47b831ee3ebff231dfbae74af2 - -Fixes: - - http://autobuild.buildroot.org/results/d29083700a80dd647621eed06faeeae03f0587d3 - -Signed-off-by: Fabrice Fontaine -(cherry picked from commit 82386110e67cf75c224e9817fce55e6b0f143266) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - src/privsep-linux.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index 58df5c30..fc269a5c 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -149,6 +149,22 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_I386 - #elif defined(__x86_64__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_X86_64 -+#elif defined(__arc__) -+# if defined(__A7__) -+# if (BYTE_ORDER == LITTLE_ENDIAN) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCOMPACT -+# else -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCOMPACTBE -+# endif -+# elif defined(__HS__) -+# if (BYTE_ORDER == LITTLE_ENDIAN) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCV2 -+# else -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCV2BE -+# endif -+# else -+# error "Platform does not support seccomp filter yet" -+# endif - #elif defined(__arm__) - # ifndef EM_ARM - # define EM_ARM 40 --- -2.29.2 - diff --git a/package/dhcpcd/0011-src-privsep-linux.c-add-support-for-m68k.patch b/package/dhcpcd/0011-src-privsep-linux.c-add-support-for-m68k.patch deleted file mode 100644 index 8fe80d42660..00000000000 --- a/package/dhcpcd/0011-src-privsep-linux.c-add-support-for-m68k.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f7721a6728bfd786604474df051f463a12dd0335 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 5 Mar 2021 12:22:13 +0100 -Subject: [PATCH] src/privsep-linux.c: add support for m68k - -Fix the following build failure: - -privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet" - # error "Platform does not support seccomp filter yet" - ^~~~~ -In file included from privsep-linux.c:36: -privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'? - BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0), - ^~~~~~~~~~~~~~~~~~ - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/rsmarples/dhcpcd/pull/29] ---- - src/privsep-linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/privsep-linux.c b/src/privsep-linux.c -index 21d41a9a..7dc92083 100644 ---- a/src/privsep-linux.c -+++ b/src/privsep-linux.c -@@ -188,6 +188,8 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_IA64 - #elif defined(__microblaze__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MICROBLAZE -+#elif defined(__m68k__) -+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_M68K - #elif defined(__mips__) - # if defined(__MIPSEL__) - # if defined(__LP64__) --- -2.30.0 - diff --git a/package/dhcpcd/Config.in b/package/dhcpcd/Config.in index ece08d2c96a..3ebacb3ba2d 100644 --- a/package/dhcpcd/Config.in +++ b/package/dhcpcd/Config.in @@ -8,3 +8,22 @@ config BR2_PACKAGE_DHCPCD An RFC2131 compliant DHCP client http://roy.marples.name/projects/dhcpcd/ + +if BR2_PACKAGE_DHCPCD + +config BR2_PACKAGE_DHCPCD_ENABLE_PRIVSEP + bool + default y + depends on BR2_USE_MMU + # Audit headers were only added in recent kernels for some arches + depends on !(BR2_arceb || BR2_arcle) || \ + BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2 + depends on !(BR2_microblazeel || BR2_microblazebe) || \ + BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + depends on !BR2_nds32 || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2 + depends on !BR2_nios2 || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2 + depends on !BR2_or1k || BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + depends on !BR2_sh || BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + depends on !BR2_xtensa || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 + +endif diff --git a/package/dhcpcd/dhcpcd.hash b/package/dhcpcd/dhcpcd.hash index 413f5c842b5..532fbd467e2 100644 --- a/package/dhcpcd/dhcpcd.hash +++ b/package/dhcpcd/dhcpcd.hash @@ -1,4 +1,4 @@ -# sha256 from ftp://roy.marples.name/pub/dhcpcd/dhcpcd-9.4.0.tar.xz.distinfo -sha256 41a69297f380bf15ee8f94f73154f8c2bca7157a087c0d5aca8de000ba1d4513 dhcpcd-9.4.0.tar.xz +# sha256 from ftp://roy.marples.name/pub/dhcpcd/dhcpcd-9.4.1.tar.xz.distinfo +sha256 819357634efed1ea5cf44ec01b24d3d3f8852fec8b4249925dcc5667c54e376c dhcpcd-9.4.1.tar.xz # Locally calculated -sha256 9cce1077bad23544349788ec750ec6e5aee106fc437fd6b5d73c0d8510426578 LICENSE +sha256 4f21ce186859516dcab9b3197f3e9533a9bd1b87932015c87f539af4a48cd592 LICENSE diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk index f040610de4f..922d289b263 100644 --- a/package/dhcpcd/dhcpcd.mk +++ b/package/dhcpcd/dhcpcd.mk @@ -4,35 +4,22 @@ # ################################################################################ -DHCPCD_VERSION = 9.4.0 +DHCPCD_VERSION = 9.4.1 DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz DHCPCD_SITE = http://roy.marples.name/downloads/dhcpcd DHCPCD_DEPENDENCIES = host-pkgconf DHCPCD_LICENSE = BSD-2-Clause DHCPCD_LICENSE_FILES = LICENSE +DHCPCD_CPE_ID_VENDOR = dhcpcd_project DHCPCD_CONFIG_OPTS = \ --libexecdir=/lib/dhcpcd \ --os=linux \ --privsepuser=dhcpcd -# AUDIT_ARCH_{OPENRISC,SH,SHEL,SH64,SHEL64} are only available with kernel >= 3.7 -ifeq ($(BR2_or1k)$(BR2_sh):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7),y:) -DHCPCD_CONFIG_OPTS += --disable-privsep -endif - -# AUDIT_ARCH_MICROBLAZE is only available with kernel >= 3.18 -ifeq ($(BR2_microblazeel)$(BR2_microblazebe):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18),y:) -DHCPCD_CONFIG_OPTS += --disable-privsep -endif - -# AUDIT_ARCH_XTENSA is only available with kernel >= 5.0 -ifeq ($(BR2_xtensa):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0),y:) -DHCPCD_CONFIG_OPTS += --disable-privsep -endif - -# AUDIT_ARCH_{ARCOMPACT,ARCV2,NDS32,NIOS2} are only available with kernel >= 5.2 -ifeq ($(BR2_arceb)$(BR2_arcle)$(BR2_nds32)$(BR2_nios2):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2),y:) +ifeq ($(BR2_PACKAGE_DHCPCD_ENABLE_PRIVSEP),y) +DHCPCD_CONFIG_OPTS += --enable-privsep +else DHCPCD_CONFIG_OPTS += --disable-privsep endif @@ -48,7 +35,7 @@ DHCPCD_CONFIG_OPTS += --enable-static endif ifeq ($(BR2_USE_MMU),) -DHCPCD_CONFIG_OPTS += --disable-fork --disable-privsep +DHCPCD_CONFIG_OPTS += --disable-fork endif define DHCPCD_CONFIGURE_CMDS diff --git a/package/dieharder/0005-Remove-defunct-rgb_operm.patch b/package/dieharder/0005-Remove-defunct-rgb_operm.patch new file mode 100644 index 00000000000..efc311dbaad --- /dev/null +++ b/package/dieharder/0005-Remove-defunct-rgb_operm.patch @@ -0,0 +1,732 @@ +From 40d377b86c856f5a4510a6f5cd56be004873ad77 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marcus=20M=C3=BCller?= +Date: Mon, 12 Oct 2020 21:30:12 +0200 +Subject: [PATCH] Remove defunct rgb_operm + +[Retrieved from: +https://github.com/eddelbuettel/dieharder/pull/2/commits/40d377b86c856f5a4510a6f5cd56be004873ad77] +Signed-off-by: Fabrice Fontaine +--- + include/Makefile.am | 1 - + include/dieharder/rgb_operm.h | 38 -- + include/dieharder/tests.h | 2 - + libdieharder/rgb_operm.c | 633 ---------------------------------- + 4 files changed, 674 deletions(-) + delete mode 100644 include/dieharder/rgb_operm.h + delete mode 100644 libdieharder/rgb_operm.c + +diff --git a/include/Makefile.am b/include/Makefile.am +index f80b4ff..e4659cd 100644 +--- a/include/Makefile.am ++++ b/include/Makefile.am +@@ -33,7 +33,6 @@ nobase_include_HEADERS = dieharder/copyright.h \ + dieharder/rgb_lagged_sums.h \ + dieharder/rgb_lmn.h \ + dieharder/rgb_minimum_distance.h \ +- dieharder/rgb_operm.h \ + dieharder/rgb_persist.h \ + dieharder/rgb_permutations.h \ + dieharder/rgb_timing.h \ +diff --git a/include/dieharder/rgb_operm.h b/include/dieharder/rgb_operm.h +deleted file mode 100644 +index c48fa37..0000000 +--- a/include/dieharder/rgb_operm.h ++++ /dev/null +@@ -1,38 +0,0 @@ +-/* +- * rgb_operm test header. +- */ +- +-/* +- * function prototype +- */ +-int rgb_operm(Test **test,int irun); +- +-static Dtest rgb_operm_dtest __attribute__((unused)) = { +- "RGB Overlapping Permuations Test", +- "rgb_operm", +- "\n\ +-#========================================================================\n\ +-# RGB Overlapping Permutations Test\n\ +-# Forms both the exact (expected) covariance matrix for overlapping\n\ +-# permutations of random integer and an empirical covariance matrix\n\ +-# formed from a long string of samples. The difference is expected\n\ +-# to have a chisq distribution and hence can be transformed into a\n\ +-# sample p-value. Note that this is one possible functional replacement\n\ +-# for the broken/defunct diehard operm5 test, but one that permits k (the\n\ +-# number of numbers in the overlapping permutation window) to be varied\n\ +-# from 2 to perhaps 8.\n\ +-#\n", +- 100, /* Default psamples */ +- 100000, /* Default tsamples */ +- 1, /* We magically make all the bit tests return a single histogram */ +- rgb_operm, +- 0 +-}; +- +-/* +- * Global variables. +- * +- * rgb_operm_k is the size of the overlapping window that is slid along +- * a data stream of rands from x_i to x_{i+k} to compute c[][]. +- */ +-unsigned int rgb_operm_k; +diff --git a/include/dieharder/tests.h b/include/dieharder/tests.h +index 1674aed..b50dbe3 100644 +--- a/include/dieharder/tests.h ++++ b/include/dieharder/tests.h +@@ -11,7 +11,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -80,7 +79,6 @@ + RGB_PERMUTATIONS, + RGB_LAGGED_SUMS, + RGB_LMN, +- RGB_OPERM, + DAB_BYTEDISTRIB, + DAB_DCT, + DAB_FILLTREE, +diff --git a/libdieharder/rgb_operm.c b/libdieharder/rgb_operm.c +deleted file mode 100644 +index 15f8e9a..0000000 +--- a/libdieharder/rgb_operm.c ++++ /dev/null +@@ -1,633 +0,0 @@ +-/* +- * ======================================================================== +- * $Id: rgb_operm.c 252 2006-10-10 13:17:36Z rgb $ +- * +- * See copyright in copyright.h and the accompanying file COPYING +- * ======================================================================== +- */ +- +-/* +- * ======================================================================== +- * This is the revised Overlapping Permutations test. It directly +- * simulates the covariance matrix of overlapping permutations. The way +- * this works below (tentatively) is: +- * +- * For a bit ntuple of length N, slide a window of length N to the +- * right one bit at a time. Compute the permutation index of the +- * original ntuple, the permutation index of the window ntuple, and +- * accumulate the covariance matrix of the two positions. This +- * can be directly and precisely computed as well. The simulated +- * result should be distributed according to the chisq distribution, +- * so we subtract the two and feed it into the chisq program as a +- * vector to compute p. +- * +- * This MAY NOT BE RIGHT. I'm working from both Marsaglia's limited +- * documentation (in a program that doesn't do ANYTHING like what the +- * documentation says it does) and from Nilpotent Markov Processes. +- * But I confess to not quite understand how to actually perform the +- * test in the latter -- it is very good at describing the construction +- * of the target matrix, not so good at describing how to transform +- * this into a chisq and p. +- * +- * FWIW, as I get something that actually works here, I'm going to +- * THOROUGHLY document it in the book that will accompany the test. +- *======================================================================== +- */ +- +-#include +-#define RGB_OPERM_KMAX 10 +- +-/* +- * Some globals that will eventually go in the test include where they +- * arguably belong. +- */ +-double fpipi(int pi1,int pi2,int nkp); +-uint piperm(size_t *data,int len); +-void make_cexact(); +-void make_cexpt(); +-int nperms,noperms; +-double **cexact,**ceinv,**cexpt,**idty; +-double *cvexact,*cvein,*cvexpt,*vidty; +- +-int rgb_operm(Test **test,int irun) +-{ +- +- int i,j,n,nb,iv,s; +- uint csamples; /* rgb_operm_k^2 is vector size of cov matrix */ +- uint *count,ctotal; /* counters */ +- uint size; +- double pvalue,ntuple_prob,pbin; /* probabilities */ +- Vtest *vtest; /* Chisq entry vector */ +- +- gsl_matrix_view CEXACT,CEINV,CEXPT,IDTY; +- +- /* +- * For a given n = ntuple size in bits, there are n! bit orderings +- */ +- MYDEBUG(D_RGB_OPERM){ +- printf("#==================================================================\n"); +- printf("# rgb_operm: Running rgb_operm verbosely for k = %d.\n",rgb_operm_k); +- printf("# rgb_operm: Use -v = %d to focus.\n",D_RGB_OPERM); +- printf("# rgb_operm: ======================================================\n"); +- } +- +- /* +- * Sanity check first +- */ +- if((rgb_operm_k < 0) || (rgb_operm_k > RGB_OPERM_KMAX)){ +- printf("\nError: rgb_operm_k must be a positive integer <= %u. Exiting.\n",RGB_OPERM_KMAX); +- exit(0); +- } +- +- nperms = gsl_sf_fact(rgb_operm_k); +- noperms = gsl_sf_fact(3*rgb_operm_k-2); +- csamples = rgb_operm_k*rgb_operm_k; +- gsl_permutation * p = gsl_permutation_alloc(nperms); +- +- /* +- * Allocate memory for value_max vector of Vtest structs and counts, +- * PER TEST. Note that we must free both of these when we are done +- * or leak. +- */ +- vtest = (Vtest *)malloc(csamples*sizeof(Vtest)); +- count = (uint *)malloc(csamples*sizeof(uint)); +- Vtest_create(vtest,csamples+1); +- +- /* +- * We have to allocate and free the cexact and cexpt matrices here +- * or they'll be forgotten when these routines return. +- */ +- MYDEBUG(D_RGB_OPERM){ +- printf("# rgb_operm: Creating and zeroing cexact[][] and cexpt[][].\n"); +- } +- cexact = (double **)malloc(nperms*sizeof(double*)); +- ceinv = (double **)malloc(nperms*sizeof(double*)); +- cexpt = (double **)malloc(nperms*sizeof(double*)); +- idty = (double **)malloc(nperms*sizeof(double*)); +- cvexact = (double *)malloc(nperms*nperms*sizeof(double)); +- cvein = (double *)malloc(nperms*nperms*sizeof(double)); +- cvexpt = (double *)malloc(nperms*nperms*sizeof(double)); +- vidty = (double *)malloc(nperms*nperms*sizeof(double)); +- for(i=0;idata[k]; +- +- /* Not cruft, but quiet... +- MYDEBUG(D_RGB_OPERM){ +- printf("#------------------------------------------------------------------\n"); +- printf("# Generating offset sample permutation pi's\n"); +- } +- */ +- for(k=0;k<2*rgb_operm_k - 1;k++){ +- gsl_sort_index((size_t *) ps,&testv[k],1,rgb_operm_k); +- pi[k] = piperm((size_t *) ps,rgb_operm_k); +- +- /* Not cruft, but quiet... +- MYDEBUG(D_RGB_OPERM){ +- printf("# %u: ",k); +- for(ip=k;ipdata[ip]); +- } +- printf(" = %u\n",pi[k]); +- } +- */ +- } +- +- /* +- * This is the business end of things. The covariance matrix is the +- * the sum of a central function of the permutation indices that yields +- * nperms-1/nperms on diagonal, -1/nperms off diagonal, for all the +- * possible permutations, for the FIRST permutation in a sample (fi) +- * times the sum of the same function over all the overlapping permutations +- * drawn from the same sample. Quite simple, really. +- */ +- for(i=0;idata[rgb_operm_k-j-1] = lookup[i]->data[j]; +- } +- } else { +- gsl_permutation_memcpy(lookup[i],lookup[i-1]); +- gsl_permutation_next(lookup[i]); +- for(j=0;jdata[rgb_operm_k-j-1] = lookup[i]->data[j]; +- } +- } +- } +- */ +- MYDEBUG(D_RGB_OPERM){ +- for(i=0;i ",i); +- gsl_permutation_fprintf(stdout,lookup[i]," %u"); +- printf("\n"); +- } +- } +- +- } +- +- for(i=0;idata,len*sizeof(uint))==0){ +- /* Not cruft, but off: +- MYDEBUG(D_RGB_OPERM){ +- printf("# piperm(): "); +- gsl_permutation_fprintf(stdout,lookup[i]," %u"); +- printf(" = %u\n",i); +- } +- */ +- return(i); +- } +- } +- printf("We'd better not get here...\n"); +- +- return(0); +- +-} +- +-double fpipi(int pi1,int pi2,int nkp) +-{ +- +- int i; +- double fret; +- +- /* +- * compute the k-permutation index from iperm for the window +- * at data[offset] of length len. If it matches pind, return +- * the first quantity, otherwise return the second. +- */ +- if(pi1 == pi2){ +- +- fret = (double) (nkp - 1.0)/nkp; +- if(verbose < 0){ +- printf(" f(%d,%d) = %10.6f\n",pi1,pi2,fret); +- } +- return(fret); +- +- } else { +- +- fret = (double) (-1.0/nkp); +- if(verbose < 0){ +- printf(" f(%d,%d) = %10.6f\n",pi1,pi2,fret); +- } +- return(fret); +- +- } +- +- +-} +- +- +- +- diff --git a/package/diffutils/0001-m4-stack-direction.m4-fix-build-on-microblazeel.patch b/package/diffutils/0001-m4-stack-direction.m4-fix-build-on-microblazeel.patch new file mode 100644 index 00000000000..6e60beecbd8 --- /dev/null +++ b/package/diffutils/0001-m4-stack-direction.m4-fix-build-on-microblazeel.patch @@ -0,0 +1,39 @@ +From 7fd9de7f12718db0ace575c15c3a0e061ef6c542 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 11 Nov 2021 09:46:41 +0100 +Subject: [PATCH] m4/stack-direction.m4: fix build on microblazeel + +Fix the following build failure on microblazeel with diffutils raised +since version 3.8 and +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=e54aa6196947ed22ff66bcd714e4fc7bd0c5c3b4 + +sigsegv.c: In function 'sigsegv_handler': +sigsegv.c:979:28: error: 'struct vma_struct' has no member named 'is_near_this' + 979 | : vma.is_near_this (addr, &vma)) + | ^ + +Fixes: + - http://autobuild.buildroot.org/results/5ecd55b7c72f9630a7acc72341ccb60e94ddb574 + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to bug-gnulib@gnu.org] +--- + m4/stack-direction.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 +index c90d69733..70286c8f5 100644 +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -37,7 +37,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + m68* | \ + m88k | \ + mcore | \ +- microblaze | \ ++ microblaze* | \ + mips* | \ + mmix | \ + mn10200 | \ +-- +2.33.0 + diff --git a/package/diffutils/0002-sigsegv-fix-build-on-or1k.patch b/package/diffutils/0002-sigsegv-fix-build-on-or1k.patch new file mode 100644 index 00000000000..73385fe9f72 --- /dev/null +++ b/package/diffutils/0002-sigsegv-fix-build-on-or1k.patch @@ -0,0 +1,32 @@ +From 496c1740e5475be85b65fdb2b143771f09ed27cb Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 11 Nov 2021 10:06:31 +0100 +Subject: sigsegv: fix build on or1k + +Fix the following build failure on or1k with diffutils 3.8 +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=e54aa6196947ed22ff66bcd714e4fc7bd0c5c3b4 +sigsegv.c:979:28: error: 'struct vma_struct' has no member named 'is_near_this' +http://autobuild.buildroot.org/results/5427e52489d29ed4f18b4a70b3c36f0f7bb0ddd9 + +[Retrieved from: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=496c1740e5475be85b65fdb2b143771f09ed27cb] +Signed-off-by: Fabrice Fontaine +--- + m4/stack-direction.m4 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 +index 70286c8f5..29e398d77 100644 +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -45,6 +45,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + nios2 | \ + nds32* | \ + ns32k | \ ++ or1k | \ + pdp11 | \ + pj* | \ + powerpc* | rs6000 | \ +-- +cgit v1.2.1 + diff --git a/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch b/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch new file mode 100644 index 00000000000..f9dd12f8e6e --- /dev/null +++ b/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch @@ -0,0 +1,39 @@ +From 135414a7f543e4d40ad0a7cbd51885e159a6e0f4 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 30 Nov 2021 17:50:01 -0800 +Subject: sys_random: port better to uClibc < 1.0.35 + +Problem reported by Fabrice Fontaine in: +https://lists.gnu.org/r/bug-gnulib/2021-11/msg00043.html +* lib/sys_random.in.h [HAVE_SYS_RANDOM_H && !__GLIBC__ && __UCLIBC__]: +Include , in case this file is included before +__UCLIBC__ is defined. + +[Retrieved (and backported to remove ChangeLog update) from: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=135414a7f543e4d40ad0a7cbd51885e159a6e0f4] +Signed-off-by: Fabrice Fontaine +--- + ChangeLog | 9 +++++++++ + lib/sys_random.in.h | 6 ++++-- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/lib/sys_random.in.h b/lib/sys_random.in.h +index 1abd6c544..8b4b934a1 100644 +--- a/lib/sys_random.in.h ++++ b/lib/sys_random.in.h +@@ -23,8 +23,10 @@ + + #if @HAVE_SYS_RANDOM_H@ + +-/* On uClibc, assumes prior inclusion of . */ +-# if defined __UCLIBC__ ++/* On uClibc < 1.0.35, assumes prior inclusion of . ++ Do not use __UCLIBC__ here, as it might not be defined yet. ++ But avoid namespace pollution on glibc systems. */ ++# ifndef __GLIBC__ + # include + # endif + /* On Mac OS X 10.5, assumes prior inclusion of . +-- +cgit v1.2.1 + diff --git a/package/diffutils/0004-sigsegv-Fix-compilation-error-on-arceb-CPUs.patch b/package/diffutils/0004-sigsegv-Fix-compilation-error-on-arceb-CPUs.patch new file mode 100644 index 00000000000..20db798f3ab --- /dev/null +++ b/package/diffutils/0004-sigsegv-Fix-compilation-error-on-arceb-CPUs.patch @@ -0,0 +1,41 @@ +From 1957bb5113a2bf02c7ecf0815125eec04b9476d2 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Sat, 16 Apr 2022 03:01:51 +0200 +Subject: sigsegv: Fix compilation error on arceb CPUs. + +Reported by Fabrice Fontaine in +. + +* m4/stack-direction.m4 (SV_STACK_DIRECTION): Treat the 'arc' variants +like 'arc'. + +[Retrieved (and backported) from: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=1957bb5113a2bf02c7ecf0815125eec04b9476d2] +Signed-off-by: Fabrice Fontaine +--- + ChangeLog | 8 ++++++++ + m4/stack-direction.m4 | 4 ++-- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 +index 1df823e..924c5de 100644 +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -1,4 +1,4 @@ +-# stack-direction.m4 serial 7 ++# stack-direction.m4 serial 11 + dnl Copyright (C) 2002-2021 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General +@@ -18,7 +18,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + a29k | \ + aarch64* | \ + alpha* | \ +- arc | \ ++ arc | arceb | arc32 | arc64 | \ + arm* | strongarm* | xscale* | \ + avr | avr32 | \ + bfin | \ +-- +cgit v1.1 + diff --git a/package/diffutils/0005-sigsegv-Add-support-for-Linux-PowerPC-32-bit-with-mu.patch b/package/diffutils/0005-sigsegv-Add-support-for-Linux-PowerPC-32-bit-with-mu.patch new file mode 100644 index 00000000000..16e0941f6c2 --- /dev/null +++ b/package/diffutils/0005-sigsegv-Add-support-for-Linux-PowerPC-32-bit-with-mu.patch @@ -0,0 +1,58 @@ +From 6f2f006185cdeeda997d19d651379bfc6887e394 Mon Sep 17 00:00:00 2001 +From: Joel Stanley +Date: Mon, 6 Jun 2022 17:14:12 +0930 +Subject: [PATCH] sigsegv: Add support for Linux/PowerPC (32-bit) with musl + libc. Reported by Khem Raj in + . + +* src/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER): In the Linux/PowerPC +32-bit case, handle musl libc differently. +* modules/sigsegv (Files): Add m4/musl.m4. +(configure.ac): Invoke gl_MUSL_LIBC. + +Backported from http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=2d830e4a792fcd9f614ed08a7f18584b8b21d23b +Signed-off-by: Joel Stanley +--- + lib/sigsegv.c | 25 +++++++++++++++++++++---- + 1 file changed, 21 insertions(+), 4 deletions(-) + +diff --git a/lib/sigsegv.c b/lib/sigsegv.c +index da70ffa5fda1..da64d7d0b617 100644 +--- a/lib/sigsegv.c ++++ b/lib/sigsegv.c +@@ -227,11 +227,28 @@ int libsigsegv_version = LIBSIGSEGV_VERSION; + # if defined __powerpc64__ || defined __powerpc64_elfv2__ /* 64-bit */ + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gp_regs[1] + # else /* 32-bit */ +-/* both should be equivalent */ +-# if 0 +-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] ++# if MUSL_LIBC ++/* musl libc has a different structure of ucontext_t in ++ musl/arch/powerpc/bits/signal.h. */ ++/* The glibc comments say: ++ "Different versions of the kernel have stored the registers on signal ++ delivery at different offsets from the ucontext struct. Programs should ++ thus use the uc_mcontext.uc_regs pointer to find where the registers are ++ actually stored." */ ++# if 0 ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_regs->gregs[1] ++# endif + # else +-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++/* Assume the structure of ucontext_t in ++ glibc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h. */ ++/* Because of the union, both definitions should be equivalent. */ ++# if 0 ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++# endif + # endif + # endif + +-- +2.35.1 + diff --git a/package/diffutils/diffutils.hash b/package/diffutils/diffutils.hash index aa91fd4316b..8cf4eb75c79 100644 --- a/package/diffutils/diffutils.hash +++ b/package/diffutils/diffutils.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26 diffutils-3.7.tar.xz +sha256 a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec diffutils-3.8.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk index 586b81ace8c..3d865412955 100644 --- a/package/diffutils/diffutils.mk +++ b/package/diffutils/diffutils.mk @@ -4,12 +4,14 @@ # ################################################################################ -DIFFUTILS_VERSION = 3.7 +DIFFUTILS_VERSION = 3.8 DIFFUTILS_SOURCE = diffutils-$(DIFFUTILS_VERSION).tar.xz DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils DIFFUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) DIFFUTILS_LICENSE = GPL-3.0+ DIFFUTILS_LICENSE_FILES = COPYING +# We're patching m4/stack-direction.m4 +DIFFUTILS_AUTORECONF = YES # Since glibc >= 2.26, don't try to use getopt_long replacement bundled # with diffutils. It will conflict with the one from glibc. @@ -18,3 +20,4 @@ DIFFUTILS_CONF_ENV += gl_cv_func_getopt_gnu=yes endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/directfb-examples/Config.in b/package/directfb-examples/Config.in index 216e036577e..4d5de030688 100644 --- a/package/directfb-examples/Config.in +++ b/package/directfb-examples/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_DIRECTFB_EXAMPLES help The DirectFB-examples package contains a set of simple DirectFB applications that can be used to test and demonstrate - various DirectFB features. + various DirectFB features. As of 4 October 2015, DirectFB's + website http://www.directfb.org/ is down. See alternative site + listed below. - http://directfb.org/downloads/Extras/README.DirectFB-examples + http://elinux.org/DirectFB diff --git a/package/directfb-examples/directfb-examples.mk b/package/directfb-examples/directfb-examples.mk index 46263da733a..c8d09b3e336 100644 --- a/package/directfb-examples/directfb-examples.mk +++ b/package/directfb-examples/directfb-examples.mk @@ -5,7 +5,7 @@ ################################################################################ DIRECTFB_EXAMPLES_VERSION = 1.7.0 -DIRECTFB_EXAMPLES_SITE = http://www.directfb.org/downloads/Extras +DIRECTFB_EXAMPLES_SITE = http://sources.buildroot.net/directfb-examples DIRECTFB_EXAMPLES_SOURCE = DirectFB-examples-$(DIRECTFB_EXAMPLES_VERSION).tar.gz DIRECTFB_EXAMPLES_LICENSE = MIT DIRECTFB_EXAMPLES_LICENSE_FILES = COPYING diff --git a/package/directfb/Config.in b/package/directfb/Config.in index 20481f56da1..f4d6b8cbd19 100644 --- a/package/directfb/Config.in +++ b/package/directfb/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_DIRECTFB bool "directfb" + depends on !BR2_RISCV_32 depends on !BR2_STATIC_LIBS # static link issues depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP @@ -161,6 +162,7 @@ config BR2_PACKAGE_DIRECTFB_TESTS endif # BR2_PACKAGE_DIRECTFB comment "directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library" + depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || BR2_TOOLCHAIN_USES_MUSL || \ diff --git a/package/directfb/directfb.mk b/package/directfb/directfb.mk index 0b32162d8fd..56a396ab996 100644 --- a/package/directfb/directfb.mk +++ b/package/directfb/directfb.mk @@ -6,7 +6,7 @@ DIRECTFB_VERSION_MAJOR = 1.7 DIRECTFB_VERSION = $(DIRECTFB_VERSION_MAJOR).7 -DIRECTFB_SITE = http://www.directfb.org/downloads/Core/DirectFB-$(DIRECTFB_VERSION_MAJOR) +DIRECTFB_SITE = http://sources.buildroot.net/directfb DIRECTFB_SOURCE = DirectFB-$(DIRECTFB_VERSION).tar.gz DIRECTFB_LICENSE = LGPL-2.1+ DIRECTFB_LICENSE_FILES = COPYING diff --git a/package/dmalloc/0001-add-fpic.patch b/package/dmalloc/0001-add-fpic.patch deleted file mode 100644 index 230a9e15f13..00000000000 --- a/package/dmalloc/0001-add-fpic.patch +++ /dev/null @@ -1,58 +0,0 @@ -Without -fPIC, dmalloc does not build with: - -/home/test/mips-4.4/bin/mips-linux-gnu-ld --sysroot=/home/test/outputs/test-35/staging -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a -/home/test/mips-4.4/bin/mips-linux-gnu-ld: libdmalloc.a(arg_check.o): relocation R_MIPS_HI16 against `_dmalloc_flags' can not be used when making a shared object; recompile with -fPIC -libdmalloc.a(arg_check.o): could not read symbols: Bad value - -This patch, taken from -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dmalloc/files/dmalloc-5.2.4-fpic.patch?hideattic=0&view=markup, -fixes the problem by passing the -fPIC flag. It isn't passed through -the ./configure environment in order to not clutter the configuration -cache with incorrect values. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.in | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/Makefile.in -+++ b/Makefile.in -@@ -318,17 +318,17 @@ - # special _th versions of objects with the LOCK_THREADS variable defined to 1 - chunk_th.o : $(srcdir)/chunk.c - rm -f $@ -- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \ -+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \ - -c $(srcdir)/chunk.c -o ./$@ - - error_th.o : $(srcdir)/error.c - rm -f $@ -- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \ -+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \ - -c $(srcdir)/error.c -o ./$@ - - malloc_th.o : $(srcdir)/malloc.c - rm -f $@ -- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \ -+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \ - -c $(srcdir)/malloc.c -o ./$@ - - tests : $(TEST) $(TEST_FC) -@@ -360,7 +360,7 @@ - - .c.o : - rm -f $@ -- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@ -+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@ - - # - # .cc.o auto-target doesn't work on some systems. -@@ -368,7 +368,7 @@ - # - dmallocc.o : $(srcdir)/dmallocc.cc - rm -f $@ -- $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \ -+ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \ - -o ./$@ - - # diff --git a/package/dmalloc/0001-mips.patch b/package/dmalloc/0001-mips.patch new file mode 100644 index 00000000000..3150d030ec5 --- /dev/null +++ b/package/dmalloc/0001-mips.patch @@ -0,0 +1,45 @@ +[Fabrice: Updated for 5.6.5] +Signed-off-by: Fabrice Fontaine +--- a/configure ++++ b/configure +@@ -7107,7 +7107,7 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking return.h macros work" >&5 + $as_echo_n "checking return.h macros work... " >&6; } + if test "$cross_compiling" = yes; then : +- $as_echo "#define RETURN_MACROS_WORK 0" >>confdefs.h ++ $as_echo "#define RETURN_MACROS_WORK 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } + +--- a/return.h ++++ b/return.h +@@ -106,26 +106,16 @@ + /*************************************/ + + /* +- * For DEC Mips machines running Ultrix ++ * For Mips machines running Linux + */ + #if __mips + + /* +- * I have no idea how to get inline assembly with the default cc. +- * Anyone know how? +- */ +- +-#if 0 +- +-/* + * NOTE: we assume here that file is global. + * +- * $31 is the frame pointer. $2 looks to be the return address but maybe +- * not consistently. ++ * $31 is the return address. + */ +-#define GET_RET_ADDR(file) asm("sw $2, file") +- +-#endif ++#define GET_RET_ADDR(file) asm("sw $31, %0" : "=m" (file)) + + #endif /* __mips */ + diff --git a/package/dmalloc/0002-mips.patch b/package/dmalloc/0002-mips.patch deleted file mode 100644 index 3e6b00e3617..00000000000 --- a/package/dmalloc/0002-mips.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- a/configure -+++ b/configure -@@ -7107,7 +7107,7 @@ - echo $ECHO_N "checking return.h macros work... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - cat >>confdefs.h <<\_ACEOF --#define RETURN_MACROS_WORK 0 -+#define RETURN_MACROS_WORK 1 - _ACEOF - echo "$as_me:$LINENO: result: no" >&5 - echo "${ECHO_T}no" >&6 ---- a/return.h -+++ b/return.h -@@ -106,26 +106,16 @@ - /*************************************/ - - /* -- * For DEC Mips machines running Ultrix -+ * For Mips machines running Linux - */ - #if __mips - - /* -- * I have no idea how to get inline assembly with the default cc. -- * Anyone know how? -- */ -- --#if 0 -- --/* - * NOTE: we assume here that file is global. - * -- * $31 is the frame pointer. $2 looks to be the return address but maybe -- * not consistently. -+ * $31 is the return address. - */ --#define GET_RET_ADDR(file) asm("sw $2, file") -- --#endif -+#define GET_RET_ADDR(file) asm("sw $31, %0" : "=m" (file)) - - #endif /* __mips */ - diff --git a/package/dmalloc/0002-return-Fix-PowerPC-assembly.patch b/package/dmalloc/0002-return-Fix-PowerPC-assembly.patch new file mode 100644 index 00000000000..e6aa8116441 --- /dev/null +++ b/package/dmalloc/0002-return-Fix-PowerPC-assembly.patch @@ -0,0 +1,54 @@ +From 6d87fc890c3de81ee33baf25d7c3c86532f26060 Mon Sep 17 00:00:00 2001 +From: Joel Stanley +Date: Mon, 9 May 2022 20:27:58 +0930 +Subject: [PATCH] return: Fix PowerPC assembly + +The original assembly used suspicious syntax. However, due to the +!defined(__OPTIMIZE__) guard this code was rarely built. + +There nothing to stop the compiler using r0 between the two asm blocks, +which may have been the cause of the note mentioning it failed when +build with optimisation enabled. + +Write a single asm statement that places the result in the given +location. + +This builds for powerpc64le and passes tests. + +Signed-off-by: Joel Stanley +Upstream: https://github.com/j256/dmalloc/pull/113 +--- + return.h | 13 +++---------- + 1 file changed, 3 insertions(+), 10 deletions(-) + +diff --git a/return.h b/return.h +index 55b9369fe12d..fafbe3754f0f 100644 +--- a/return.h ++++ b/return.h +@@ -260,20 +260,13 @@ asm void ASM_GET_RET_ADDR(file) + /*************************************/ + + /* +- * For Powerpc 603 based system running LynxOS 2.3.1 using gcc/gas. +- */ +-#if defined(__powerpc__) && defined(__GNUC__) && !defined(__OPTIMIZE__) +- +-/* +- * This won't compile if "-O2" is used, but it seems to work fine with +- * "-O0". I'm no assembler expert; I was happy enough to come up with +- * something that works at all... :-) ++ * For PowerPC using gcc/gas. + */ ++#if defined(__powerpc__) && defined(__GNUC__) + + #define GET_RET_ADDR(file) \ + do { \ +- asm("mflr 0"); \ +- asm("stw 0,%0" : "=g" (file)); \ ++ asm("mflr %0" : "=r" (file)); \ + } while(0) + + #endif /* __powerpc__ && __GNUC__ && !__OPTIMIZE__ */ +-- +2.35.1 + diff --git a/package/dmalloc/0003-fix-parallel-build.patch b/package/dmalloc/0003-fix-parallel-build.patch deleted file mode 100644 index c521a114bb5..00000000000 --- a/package/dmalloc/0003-fix-parallel-build.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix parallel build issue - -Missing dmallocc.o <- dmalloc.h dependency may break parallel builds. -dmalloc.h is generated,and may not be around by the time gcc starts -parsing dmallocc.cc. - -Signed-off-by: Alex Suykov - ---- a/Makefile.in -+++ b/Makefile.in -@@ -401,6 +401,7 @@ - compat.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h - dmalloc.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \ - debug_tok.h dmalloc_loc.h env.h error_val.h version.h -+dmallocc.o: dmallocc.cc dmalloc.h return.h conf.h settings.h - dmalloc_argv.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \ - dmalloc_argv_loc.h compat.h - dmalloc_fc_t.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \ diff --git a/package/dmalloc/0004-fix-shlibs.patch b/package/dmalloc/0004-fix-shlibs.patch deleted file mode 100644 index a99d926daf6..00000000000 --- a/package/dmalloc/0004-fix-shlibs.patch +++ /dev/null @@ -1,46 +0,0 @@ -Fix shared library rules - -dmalloc uses ld -shared --whole-archive -o lib.so lib.a, -but for some reason lists regular objects in addition -to the archive, ending up with two copies of each symbol. - -Signed-off-by: Alex Suykov - ---- a/Makefile.in -+++ b/Makefile.in -@@ -257,7 +257,7 @@ shlib : $(BUILD_SL) - # via: http://256.com/gray/email.html - $(LIB_SL) : $(LIBRARY) - rm -f $@ $@.t -- @shlinkargs@ $(LIBRARY) $(OBJS) $(NORMAL_OBJS) -+ @shlinkargs@ $(LIBRARY) - mv $@.t $@ - - $(LIBRARY) : $(OBJS) $(NORMAL_OBJS) -@@ -270,7 +270,7 @@ $(LIB_TH) : $(OBJS) $(THREAD_OBJS) - - $(LIB_TH_SL) : $(LIB_TH) - rm -f $@ $@.t -- @shlinkargs@ $(LIB_TH) $(OBJS) $(THREAD_OBJS) -+ @shlinkargs@ $(LIB_TH) - mv $@.t $@ - - $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS) -@@ -279,7 +279,7 @@ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS) - - $(LIB_CXX_SL) : $(LIB_CXX) - rm -f $@ $@.t -- @shlinkargs@ $(LIB_CXX) $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS) -+ @shlinkargs@ $(LIB_CXX) - mv $@.t $@ - - $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS) -@@ -288,7 +288,7 @@ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS) - - $(LIB_TH_CXX_SL) : $(LIB_TH_CXX) - rm -f $@ $@.t -- @shlinkargs@ $(LIB_TH_CXX) $(OBJS) $(THREAD_OBJS) $(CXX_OBJS) -+ @shlinkargs@ $(LIB_TH_CXX) - mv $@.t $@ - - threadssl : $(LIB_TH_SL) diff --git a/package/dmalloc/0005-fix-strdup.patch b/package/dmalloc/0005-fix-strdup.patch deleted file mode 100644 index 5884df6a899..00000000000 --- a/package/dmalloc/0005-fix-strdup.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 59d73a473f1c1a31bcba90d314f956d0bcc3de95 Mon Sep 17 00:00:00 2001 -From: Siana Gearz -Date: Sat, 8 Sep 2012 22:55:17 +0200 -Subject: [PATCH] Fix strdup - -[Retrieved from: -https://github.com/siana/dmalloc/commit/59d73a473f1c1a31bcba90d314f956d0bcc3de95] -Signed-off-by: Fabrice Fontaine ---- - dmalloc.h.3 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dmalloc.h.3 b/dmalloc.h.3 -index d3d1c13..3fc573a 100644 ---- a/dmalloc.h.3 -+++ b/dmalloc.h.3 -@@ -459,6 +459,7 @@ DMALLOC_PNT valloc(DMALLOC_SIZE size); - * - * string -> String we are duplicating. - */ -+#undef strdup - extern - char *strdup(const char *string); - #endif /* ifndef DMALLOC_STRDUP_MACRO */ diff --git a/package/dmalloc/0006-fix-strndup.patch b/package/dmalloc/0006-fix-strndup.patch deleted file mode 100644 index a1865acb85e..00000000000 --- a/package/dmalloc/0006-fix-strndup.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 005d92c2cebbde5c8623daa29725f7a62b18df7c Mon Sep 17 00:00:00 2001 -From: Siana Gearz -Date: Sat, 8 Sep 2012 22:44:35 +0200 -Subject: [PATCH] Fix strndup - -[Retrieved from: -https://github.com/siana/dmalloc/commit/005d92c2cebbde5c8623daa29725f7a62b18df7c] -Signed-off-by: Fabrice Fontaine ---- - dmalloc.h.3 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dmalloc.h.3 b/dmalloc.h.3 -index 8bda997..fb538a8 100644 ---- a/dmalloc.h.3 -+++ b/dmalloc.h.3 -@@ -429,6 +429,7 @@ char *strdup(const char *string); - * - * len -> Length of the string to duplicate. - */ -+#undef strndup - extern - char *strndup(const char *string, const DMALLOC_SIZE len); - diff --git a/package/dmalloc/dmalloc.hash b/package/dmalloc/dmalloc.hash index 113751656c2..f4cc98e8134 100644 --- a/package/dmalloc/dmalloc.hash +++ b/package/dmalloc/dmalloc.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a dmalloc-5.5.2.tgz -sha256 8659d49ceeeb006288ad246164e504ccfe33f7a4c1680439fb6ff6a393b0722b dmalloc.h.1 +sha256 480e3414ab6cedca837721c756b7d64b01a84d2d0e837378d98444e2f63a7c01 dmalloc-5.6.5.tgz +sha256 8657f6bc5ebb765dd792b2c3c54d5dc37b8b4e6bbe8aa48d464fd92081b1e720 LICENSE.txt diff --git a/package/dmalloc/dmalloc.mk b/package/dmalloc/dmalloc.mk index 38b2c020271..93dc45c15de 100644 --- a/package/dmalloc/dmalloc.mk +++ b/package/dmalloc/dmalloc.mk @@ -4,18 +4,23 @@ # ################################################################################ -DMALLOC_VERSION = 5.5.2 +DMALLOC_VERSION = 5.6.5 DMALLOC_SOURCE = dmalloc-$(DMALLOC_VERSION).tgz DMALLOC_SITE = http://dmalloc.com/releases -DMALLOC_LICENSE = MIT-like -# license is in each file, dmalloc.h.1 is the smallest one -DMALLOC_LICENSE_FILES = dmalloc.h.1 +DMALLOC_LICENSE = ISC +DMALLOC_LICENSE_FILES = LICENSE.txt DMALLOC_INSTALL_STAGING = YES -DMALLOC_CONF_OPTS = --enable-shlib DMALLOC_CFLAGS = $(TARGET_CFLAGS) +ifeq ($(BR2_STATIC_LIBS),y) +DMALLOC_CONF_OPTS += --disable-shlib +else +DMALLOC_CONF_OPTS += --enable-shlib +DMALLOC_CFLAGS += -fPIC +endif + ifeq ($(BR2_INSTALL_LIBSTDCPP),y) DMALLOC_CONF_OPTS += --enable-cxx else @@ -43,6 +48,7 @@ DMALLOC_CONF_ENV = CFLAGS="$(DMALLOC_CFLAGS)" define DMALLOC_POST_PATCH $(SED) 's/^ac_cv_page_size=0$$/ac_cv_page_size=12/' $(@D)/configure + $(SED) 's/ac_cv_strdup_macro=no$$/ac_cv_strdup_macro=yes/' $(@D)/configure $(SED) 's/(ld -/($${LD-ld} -/' $(@D)/configure $(SED) 's/'\''ld -/"$${LD-ld}"'\'' -/' $(@D)/configure $(SED) 's/ar cr/$$(AR) cr/' $(@D)/Makefile.in diff --git a/package/dmidecode/dmidecode.mk b/package/dmidecode/dmidecode.mk index 89d9155f953..3f09cc956df 100644 --- a/package/dmidecode/dmidecode.mk +++ b/package/dmidecode/dmidecode.mk @@ -9,6 +9,7 @@ DMIDECODE_SOURCE = dmidecode-$(DMIDECODE_VERSION).tar.xz DMIDECODE_SITE = http://download.savannah.gnu.org/releases/dmidecode DMIDECODE_LICENSE = GPL-2.0+ DMIDECODE_LICENSE_FILES = LICENSE +DMIDECODE_SELINUX_MODULES = dmidecode define DMIDECODE_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) diff --git a/package/dmraid/0001-fix-compilation-under-musl.patch b/package/dmraid/0001-fix-compilation-under-musl.patch index 7cf87928625..a6f5c41075f 100644 --- a/package/dmraid/0001-fix-compilation-under-musl.patch +++ b/package/dmraid/0001-fix-compilation-under-musl.patch @@ -1,7 +1,7 @@ From 89c7fc15e064dd407e6d5ccefe78985b86b8a036 Mon Sep 17 00:00:00 2001 From: Brendan Heading Date: Tue, 1 Sep 2015 12:26:36 +0100 -Subject: [PATCH 1/1] fix compilation under musl +Subject: [PATCH] fix compilation under musl Patch borrowed from Void Linux : diff --git a/package/dnsmasq/0001-src-option.c-fix-build-with-gcc-4.8.patch b/package/dnsmasq/0001-src-option.c-fix-build-with-gcc-4.8.patch new file mode 100644 index 00000000000..50ecf2f18a6 --- /dev/null +++ b/package/dnsmasq/0001-src-option.c-fix-build-with-gcc-4.8.patch @@ -0,0 +1,52 @@ +From 46312909d9080ff8743133fbd52427b4b2213171 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 31 Dec 2021 17:29:44 +0100 +Subject: [PATCH] src/option.c: fix build with gcc 4.8 + +Fix the following build failure with gcc 4.8 raised since version 2.86: + +option.c: In function 'one_opt': +option.c:2445:11: error: 'for' loop initial declarations are only allowed in C99 mode + for (char *p = arg; *p; p++) { + ^ +option.c:2445:11: note: use option -std=c99 or -std=gnu99 to compile your code +option.c:2453:11: error: 'for' loop initial declarations are only allowed in C99 mode + for (u8 i = 0; i < sizeof(daemon->umbrella_device); i++, arg+=2) { + ^ + +Fixes: + - http://autobuild.buildroot.org/results/39b34a4e69fc10f4bd9d4ddb0ed8c0aae5741c84 + +Signed-off-by: Fabrice Fontaine +[Upstream commit 46312909d9080ff8743133fbd52427b4b2213171] +--- + src/option.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/option.c b/src/option.c +index ff54def..c57f6d8 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -2525,7 +2525,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + arg += 9; + if (strlen(arg) != 16) + ret_err(gen_err); +- for (char *p = arg; *p; p++) { ++ char *p; ++ for (*p = arg; *p; p++) { + if (!isxdigit((int)*p)) + ret_err(gen_err); + } +@@ -2533,7 +2534,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + + u8 *u = daemon->umbrella_device; + char word[3]; +- for (u8 i = 0; i < sizeof(daemon->umbrella_device); i++, arg+=2) { ++ u8 i; ++ for (i = 0; i < sizeof(daemon->umbrella_device); i++, arg+=2) { + memcpy(word, &(arg[0]), 2); + *u++ = strtoul(word, NULL, 16); + } +-- +2.33.0 + diff --git a/package/dnsmasq/0002-Fix-46312909d9080ff8743133fbd52427b4b2213171-typo.patch b/package/dnsmasq/0002-Fix-46312909d9080ff8743133fbd52427b4b2213171-typo.patch new file mode 100644 index 00000000000..8cdf5b3f1b7 --- /dev/null +++ b/package/dnsmasq/0002-Fix-46312909d9080ff8743133fbd52427b4b2213171-typo.patch @@ -0,0 +1,36 @@ +From 2748fb81e23b71e2c44956e99321816aca91905d Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Sat, 1 Jan 2022 23:03:26 +0000 +Subject: [PATCH] Fix 46312909d9080ff8743133fbd52427b4b2213171 typo. + +[Upstream commit 2748fb81e23b71e2c44956e99321816aca91905d] +Signed-off-by: Fabrice Fontaine +--- + src/option.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/option.c b/src/option.c +index c57f6d8..6f56ce8 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -357,7 +357,7 @@ static const struct myoption opts[] = + { "dhcp-ignore-clid", 0, 0, LOPT_IGNORE_CLID }, + { "dynamic-host", 1, 0, LOPT_DYNHOST }, + { "log-debug", 0, 0, LOPT_LOG_DEBUG }, +- { "umbrella", 2, 0, LOPT_UMBRELLA }, ++ { "umbrella", 2, 0, LOPT_UMBRELLA }, + { "quiet-tftp", 0, 0, LOPT_QUIET_TFTP }, + { NULL, 0, 0, 0 } + }; +@@ -2526,7 +2526,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + if (strlen(arg) != 16) + ret_err(gen_err); + char *p; +- for (*p = arg; *p; p++) { ++ for (p = arg; *p; p++) { + if (!isxdigit((int)*p)) + ret_err(gen_err); + } +-- +2.33.0 + diff --git a/package/dnsmasq/0003-Fix-FTBFS-when-CONNTRACK-and-UBUS-but-not-DNSSEC-compile-options-selected.patch b/package/dnsmasq/0003-Fix-FTBFS-when-CONNTRACK-and-UBUS-but-not-DNSSEC-compile-options-selected.patch new file mode 100644 index 00000000000..9c98af2be53 --- /dev/null +++ b/package/dnsmasq/0003-Fix-FTBFS-when-CONNTRACK-and-UBUS-but-not-DNSSEC-compile-options-selected.patch @@ -0,0 +1,34 @@ +From 2c60441239e1c10c4987cb586653b1ea08f703c0 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Tue, 28 Sep 2021 23:42:15 +0100 +Subject: [PATCH] Fix FTBFS when CONNTRACK and UBUS but not DNSSEC compile + options selected. + +[Retrieved from: +https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=2c60441239e1c10c4987cb586653b1ea08f703c0] +Signed-off-by: Fabrice Fontaine +--- + src/dnsmasq.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index c8a918a..3fdc1b0 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -1173,9 +1173,12 @@ extern struct daemon { + char *packet; /* packet buffer */ + int packet_buff_sz; /* size of above */ + char *namebuff; /* MAXDNAME size buffer */ ++#if (defined(HAVE_CONNTRACK) && defined(HAVE_UBUS)) || defined(HAVE_DNSSEC) ++ /* CONNTRACK UBUS code uses this buffer, as well as DNSSEC code. */ ++ char *workspacename; ++#endif + #ifdef HAVE_DNSSEC + char *keyname; /* MAXDNAME size buffer */ +- char *workspacename; /* ditto */ + unsigned long *rr_status; /* ceiling in TTL from DNSSEC or zero for insecure */ + int rr_status_sz; + int dnssec_no_time_check; +-- +2.20.1 + diff --git a/package/dnsmasq/0004-src-pattern.c-fix-build-with-gcc-4.8.patch b/package/dnsmasq/0004-src-pattern.c-fix-build-with-gcc-4.8.patch new file mode 100644 index 00000000000..90bb02b23a3 --- /dev/null +++ b/package/dnsmasq/0004-src-pattern.c-fix-build-with-gcc-4.8.patch @@ -0,0 +1,57 @@ +From 0c89dd2fa0fe50b00bca638dbbacfbd361526e0a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 2 Jan 2022 21:57:52 +0100 +Subject: [PATCH] src/pattern.c: fix build with gcc 4.8 + +Fix the following build failure: + +pattern.c: In function 'is_valid_dns_name': +pattern.c:134:3: error: 'for' loop initial declarations are only allowed in C99 mode + for (const char *c = value;; c++) + ^ +pattern.c:134:3: note: use option -std=c99 or -std=gnu99 to compile your code +pattern.c: In function 'is_valid_dns_name_pattern': +pattern.c:249:3: error: 'for' loop initial declarations are only allowed in C99 mode + for (const char *c = value;; c++) + ^ + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=b2690415bfa1bc105e61b75f642fb5c1aaf0fae8] +--- + src/pattern.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/pattern.c b/src/pattern.c +index 03e23b9..928d259 100644 +--- a/src/pattern.c ++++ b/src/pattern.c +@@ -129,9 +129,9 @@ int is_valid_dns_name(const char *value) + + size_t num_bytes = 0; + size_t num_labels = 0; +- const char *label = NULL; ++ const char *c, *label = NULL; + int is_label_numeric = 1; +- for (const char *c = value;; c++) ++ for (c = value;; c++) + { + if (*c && + *c != '-' && *c != '.' && +@@ -242,11 +242,11 @@ int is_valid_dns_name_pattern(const char *value) + + size_t num_bytes = 0; + size_t num_labels = 0; +- const char *label = NULL; ++ const char *c, *label = NULL; + int is_label_numeric = 1; + size_t num_wildcards = 0; + int previous_label_has_wildcard = 1; +- for (const char *c = value;; c++) ++ for (c = value;; c++) + { + if (*c && + *c != '*' && /* Wildcard. */ +-- +2.20.1 + diff --git a/package/dnsmasq/dnsmasq.hash b/package/dnsmasq/dnsmasq.hash index d141fb0c83b..804012821e0 100644 --- a/package/dnsmasq/dnsmasq.hash +++ b/package/dnsmasq/dnsmasq.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.83.tar.xz.asc -sha256 603195c64b73137609b07e1024ae0b37f652b2f5fe467dce66985b3d1850050c dnsmasq-2.84.tar.xz +# https://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.86.tar.xz.asc +sha256 28d52cfc9e2004ac4f85274f52b32e1647b4dbc9761b82e7de1e41c49907eb08 dnsmasq-2.86.tar.xz # Locally calculated sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING-v3 diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index 76b48f952ab..230e4a81162 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -4,7 +4,7 @@ # ################################################################################ -DNSMASQ_VERSION = 2.84 +DNSMASQ_VERSION = 2.86 DNSMASQ_SOURCE = dnsmasq-$(DNSMASQ_VERSION).tar.xz DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" @@ -15,6 +15,7 @@ DNSMASQ_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) DNSMASQ_LICENSE = GPL-2.0 or GPL-3.0 DNSMASQ_LICENSE_FILES = COPYING COPYING-v3 DNSMASQ_CPE_ID_VENDOR = thekelleys +DNSMASQ_SELINUX_MODULES = dnsmasq DNSMASQ_I18N = $(if $(BR2_SYSTEM_ENABLE_NLS),-i18n) @@ -25,9 +26,6 @@ endif ifeq ($(BR2_PACKAGE_DNSMASQ_DNSSEC),y) DNSMASQ_DEPENDENCIES += gmp nettle DNSMASQ_COPTS += -DHAVE_DNSSEC -ifeq ($(BR2_STATIC_LIBS),y) -DNSMASQ_COPTS += -DHAVE_DNSSEC_STATIC -endif endif ifneq ($(BR2_PACKAGE_DNSMASQ_TFTP),y) diff --git a/package/doc-asciidoc.mk b/package/doc-asciidoc.mk index be92496c2e2..2bd761edfbc 100644 --- a/package/doc-asciidoc.mk +++ b/package/doc-asciidoc.mk @@ -42,12 +42,11 @@ BR_ASCIIDOC_CONF = docs/conf/asciidoc.conf # argument 1 is the name of the document and the top-level asciidoc file must # have the same name # argument 2 is the uppercase name of the document -# argument 3 is the directory containing the document -# argument 4 is the type of document to generate (-f argument of a2x) -# argument 5 is the document type as used in the make target -# argument 6 is the output file extension for the document type -# argument 7 is the human text for the document type -# argument 8 (optional) are extra arguments for a2x +# argument 3 is the type of document to generate (-f argument of a2x) +# argument 4 is the document type as used in the make target +# argument 5 is the output file extension for the document type +# argument 6 is the human text for the document type +# argument 7 (optional) are extra arguments for a2x # # The variable _SOURCES defines the dependencies. # @@ -55,55 +54,55 @@ BR_ASCIIDOC_CONF = docs/conf/asciidoc.conf # all variable references except the arguments must be $$-quoted. ################################################################################ define ASCIIDOC_INNER -$(1): $(1)-$(5) -.PHONY: $(1)-$(5) -$(1)-$(5): $$(O)/docs/$(1)/$(1).$(6) +$(1): $(1)-$(4) +.PHONY: $(1)-$(4) +$(1)-$(4): $$(O)/docs/$(1)/$(1).$(5) -asciidoc-check-dependencies-$(5): -.PHONY: $(1)-check-dependencies-$(5) +asciidoc-check-dependencies-$(4): +.PHONY: $(1)-check-dependencies-$(4) # Single line, because splitting a foreach is not easy... -$(1)-check-dependencies-$(5): asciidoc-check-dependencies-$(5) - $$(Q)$$(foreach hook,$$($(2)_CHECK_DEPENDENCIES_$$(call UPPERCASE,$(5))_HOOKS),$$(call $$(hook))$$(sep)) +$(1)-check-dependencies-$(4): asciidoc-check-dependencies-$(4) + $$(Q)$$(foreach hook,$$($(2)_CHECK_DEPENDENCIES_$$(call UPPERCASE,$(4))_HOOKS),$$(call $$(hook))$$(sep)) # Include Buildroot's AsciiDoc configuration first: # - generic configuration, # - then output-specific configuration ifneq ($$(wildcard $$(BR_ASCIIDOC_CONF)),) -$(2)_$(4)_ASCIIDOC_OPTS += -f $$(BR_ASCIIDOC_CONF) +$(2)_$(3)_ASCIIDOC_OPTS += -f $$(BR_ASCIIDOC_CONF) endif -BR_$(4)_ASCIIDOC_CONF = docs/conf/asciidoc-$(4).conf -ifneq ($$(wildcard $$(BR_$(4)_ASCIIDOC_CONF)),) -$(2)_$(4)_ASCIIDOC_OPTS += -f $$(BR_$(4)_ASCIIDOC_CONF) +BR_$(3)_ASCIIDOC_CONF = docs/conf/asciidoc-$(3).conf +ifneq ($$(wildcard $$(BR_$(3)_ASCIIDOC_CONF)),) +$(2)_$(3)_ASCIIDOC_OPTS += -f $$(BR_$(3)_ASCIIDOC_CONF) endif # Then include the document's AsciiDoc configuration: # - generic configuration, # - then output-specific configuration ifneq ($$(wildcard $$($(2)_ASCIIDOC_CONF)),) -$(2)_$(4)_ASCIIDOC_OPTS += -f $$($(2)_ASCIIDOC_CONF) +$(2)_$(3)_ASCIIDOC_OPTS += -f $$($(2)_ASCIIDOC_CONF) endif -$(2)_$(4)_ASCIIDOC_CONF = $(3)/asciidoc-$(4).conf -ifneq ($$(wildcard $$($(2)_$(4)_ASCIIDOC_CONF)),) -$(2)_$(4)_ASCIIDOC_OPTS += -f $$($(2)_$(4)_ASCIIDOC_CONF) +$(2)_$(3)_ASCIIDOC_CONF = $$($(2)_DOCDIR)/asciidoc-$(3).conf +ifneq ($$(wildcard $$($(2)_$(3)_ASCIIDOC_CONF)),) +$(2)_$(3)_ASCIIDOC_OPTS += -f $$($(2)_$(3)_ASCIIDOC_CONF) endif # Handle a2x warning about --destination-dir option only applicable to HTML # based outputs. So: # - use the --destination-dir option if possible (html and split-html), # - otherwise copy the generated document to the output directory -$(2)_$(4)_A2X_OPTS = -ifneq ($$(filter $(5),html split-html),) -$(2)_$(4)_A2X_OPTS += --destination-dir="$$(@D)" +$(2)_$(3)_A2X_OPTS = +ifneq ($$(filter $(4),html split-html),) +$(2)_$(3)_A2X_OPTS += --destination-dir="$$(@D)" else -define $(2)_$(4)_INSTALL_CMDS - $$(Q)cp -f $$(BUILD_DIR)/docs/$(1)/$(1).$(6) $$(@D) +define $(2)_$(3)_INSTALL_CMDS + $$(Q)cp -f $$(BUILD_DIR)/docs/$(1)/$(1).$(5) $$(@D) endef endif -$$(O)/docs/$(1)/$(1).$(6): export TZ=UTC +$$(O)/docs/$(1)/$(1).$(5): export TZ=UTC -ifeq ($(6)-$$(GENDOC_XSLTPROC_IS_BROKEN),pdf-y) -$$(O)/docs/$(1)/$(1).$(6): +ifeq ($(5)-$$(GENDOC_XSLTPROC_IS_BROKEN),pdf-y) +$$(O)/docs/$(1)/$(1).$(5): $$(warning PDF generation is disabled because of a bug in \ xsltproc. To be able to generate a PDF, you should \ build xsltproc from the libxslt sources >=1.1.29 and pass it \ @@ -112,20 +111,20 @@ $$(O)/docs/$(1)/$(1).$(6): else # -r $(@D) is there for documents that use external filters; those filters # generate code at the same location it finds the document's source files. -$$(O)/docs/$(1)/$(1).$(6): $$($(2)_SOURCES) \ +$$(O)/docs/$(1)/$(1).$(5): $$($(2)_SOURCES) \ $(1)-check-dependencies \ - $(1)-check-dependencies-$(5) \ + $(1)-check-dependencies-$(4) \ $(1)-prepare-sources - $$(Q)$$(call MESSAGE,"Generating $(7) $(1)...") + $$(Q)$$(call MESSAGE,"Generating $(6) $(1)...") $$(Q)mkdir -p $$(@D) - $$(Q)a2x $(8) -f $(4) -d book -L \ + $$(Q)a2x $(7) -f $(3) -d book -L \ $$(foreach r,$$($(2)_RESOURCES) $$(@D), \ --resource="$$(abspath $$(r))") \ - $$($(2)_$(4)_A2X_OPTS) \ - --asciidoc-opts="$$($(2)_$(4)_ASCIIDOC_OPTS)" \ + $$($(2)_$(3)_A2X_OPTS) \ + --asciidoc-opts="$$($(2)_$(3)_ASCIIDOC_OPTS)" \ $$(BUILD_DIR)/docs/$(1)/$(1).txt # install the generated document - $$($(2)_$(4)_INSTALL_CMDS) + $$($(2)_$(3)_INSTALL_CMDS) endif endef @@ -135,13 +134,14 @@ endef # argument 1 is the lowercase name of the document; the document's main file # must have the same name, with the .txt extension # argument 2 is the uppercase name of the document -# argument 3 is the directory containing the document's sources # # The variable _SOURCES defines the dependencies. # The variable _RESOURCES defines where the document's # resources, such as images, are located; must be an absolute path. ################################################################################ define ASCIIDOC +$(2)_DOCDIR = $(pkgdir) + # Single line, because splitting a foreach is not easy... .PHONY: $(1)-check-dependencies $(1)-check-dependencies: asciidoc-check-dependencies $$($(2)_DEPENDENCIES) @@ -153,29 +153,29 @@ $(1)-check-dependencies: asciidoc-check-dependencies $$($(2)_DEPENDENCIES) $$(BUILD_DIR)/docs/$(1)/.stamp_doc_rsynced: $$(Q)$$(call MESSAGE,"Preparing the $(1) sources...") $$(Q)mkdir -p $$(@D) - $$(Q)rsync -a $(3) $$(@D) + $$(Q)rsync -a $$($(2)_DOCDIR) $$(@D) $$(Q)$$(foreach hook,$$($(2)_POST_RSYNC_HOOKS),$$(call $$(hook))$$(sep)) .PHONY: $(1)-prepare-sources $(1)-prepare-sources: $$(BUILD_DIR)/docs/$(1)/.stamp_doc_rsynced -$(2)_ASCIIDOC_CONF = $(3)/asciidoc.conf +$(2)_ASCIIDOC_CONF = $$($(2)_DOCDIR)/asciidoc.conf -$(call ASCIIDOC_INNER,$(1),$(2),$(3),xhtml,html,html,HTML,\ +$(call ASCIIDOC_INNER,$(1),$(2),xhtml,html,html,HTML,\ --xsltproc-opts "--stringparam toc.section.depth 1") -$(call ASCIIDOC_INNER,$(1),$(2),$(3),chunked,split-html,chunked,split HTML,\ +$(call ASCIIDOC_INNER,$(1),$(2),chunked,split-html,chunked,split HTML,\ --xsltproc-opts "--stringparam toc.section.depth 1") # dblatex needs to pass the '--maxvars ...' option to xsltproc to prevent it # from reaching the template recursion limit when processing the (long) target # package table and bailing out. -$(call ASCIIDOC_INNER,$(1),$(2),$(3),pdf,pdf,pdf,PDF,\ +$(call ASCIIDOC_INNER,$(1),$(2),pdf,pdf,pdf,PDF,\ --dblatex-opts "-P latex.output.revhistory=0 -x '--maxvars 100000'") -$(call ASCIIDOC_INNER,$(1),$(2),$(3),text,text,text,text) +$(call ASCIIDOC_INNER,$(1),$(2),text,text,text,text) -$(call ASCIIDOC_INNER,$(1),$(2),$(3),epub,epub,epub,ePUB) +$(call ASCIIDOC_INNER,$(1),$(2),epub,epub,epub,ePUB) clean: $(1)-clean $(1)-clean: @@ -187,4 +187,4 @@ endef # asciidoc-document -- the target generator macro for asciidoc documents ################################################################################ -asciidoc-document = $(call ASCIIDOC,$(pkgname),$(call UPPERCASE,$(pkgname)),$(pkgdir)) +asciidoc-document = $(call ASCIIDOC,$(pkgname),$(call UPPERCASE,$(pkgname))) diff --git a/package/docker-cli/docker-cli.hash b/package/docker-cli/docker-cli.hash index 95b15b539bf..9a07acf89f4 100644 --- a/package/docker-cli/docker-cli.hash +++ b/package/docker-cli/docker-cli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 aafba3765d9013cb75810b4f4334525f0e74e82ef073b4df9e8b524f3794e60a docker-cli-20.10.3.tar.gz +sha256 bda289b27b18675d6a6ff07568453768fe68c16c27b5e52724e46896d5464a55 docker-cli-20.10.14.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk index d90c3b7d109..c7458f85dd1 100644 --- a/package/docker-cli/docker-cli.mk +++ b/package/docker-cli/docker-cli.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CLI_VERSION = 20.10.3 +DOCKER_CLI_VERSION = 20.10.14 DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION)) DOCKER_CLI_LICENSE = Apache-2.0 @@ -12,6 +12,9 @@ DOCKER_CLI_LICENSE_FILES = LICENSE DOCKER_CLI_DEPENDENCIES = host-pkgconf +DOCKER_CLI_CPE_ID_VENDOR = docker +DOCKER_CLI_CPE_ID_PRODUCT = docker + DOCKER_CLI_TAGS = autogen DOCKER_CLI_BUILD_TARGETS = cmd/docker DOCKER_CLI_GOMOD = github.com/docker/cli diff --git a/package/docker-compose/Config.in b/package/docker-compose/Config.in index 74af8e03d5a..f82a0c4bc2a 100644 --- a/package/docker-compose/Config.in +++ b/package/docker-compose/Config.in @@ -1,15 +1,12 @@ config BR2_PACKAGE_DOCKER_COMPOSE bool "docker-compose" - depends on BR2_USE_MMU # python - depends on BR2_USE_WCHAR # python - depends on BR2_TOOLCHAIN_HAS_THREADS # python - depends on !BR2_STATIC_LIBS # python - depends on BR2_INSTALL_LIBSTDCPP # python-paramiko -> python-cryptography - select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME \ - if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime + depends on BR2_USE_MMU # python3 + depends on BR2_USE_WCHAR # python3 + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 + depends on !BR2_STATIC_LIBS # python3 + # python-paramiko -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_CACHED_PROPERTY # runtime select BR2_PACKAGE_PYTHON_DOCOPT # runtime select BR2_PACKAGE_PYTHON_PARAMIKO # runtime @@ -26,7 +23,8 @@ config BR2_PACKAGE_DOCKER_COMPOSE https://www.docker.com/ -comment "docker-compose needs a toolchain w/ C++, wchar, threads, dynamic library" +comment "docker-compose needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP + BR2_STATIC_LIBS diff --git a/package/docker-containerd/Config.in b/package/docker-containerd/Config.in deleted file mode 100644 index 9568dd0a2a4..00000000000 --- a/package/docker-containerd/Config.in +++ /dev/null @@ -1,35 +0,0 @@ -config BR2_PACKAGE_DOCKER_CONTAINERD - bool "docker-containerd" - depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS - depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc - depends on BR2_USE_MMU # util-linux - select BR2_PACKAGE_RUNC # runtime dependency - select BR2_PACKAGE_UTIL_LINUX # runtime dependency - select BR2_PACKAGE_UTIL_LINUX_BINARIES - select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT - select BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT - select BR2_PACKAGE_UTIL_LINUX_MOUNT - help - containerd is a daemon to control runC. - - https://containerd.io/ - -if BR2_PACKAGE_DOCKER_CONTAINERD - -config BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS - bool "btrfs snapshot driver" - depends on BR2_USE_MMU # btrfs-progs - depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs - select BR2_PACKAGE_BTRFS_PROGS - help - Build the btrfs snapshot driver for containerd. - -endif - -comment "docker-containerd needs a glibc or musl toolchain w/ threads" - depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS - depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/docker-containerd/docker-containerd.hash b/package/docker-containerd/docker-containerd.hash deleted file mode 100644 index c5cfc137b83..00000000000 --- a/package/docker-containerd/docker-containerd.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Computed locally -sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 docker-containerd-1.4.3.tar.gz -sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk deleted file mode 100644 index 626889e5f42..00000000000 --- a/package/docker-containerd/docker-containerd.mk +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -# -# docker-containerd -# -################################################################################ - -DOCKER_CONTAINERD_VERSION = 1.4.3 -DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,v$(DOCKER_CONTAINERD_VERSION)) -DOCKER_CONTAINERD_LICENSE = Apache-2.0 -DOCKER_CONTAINERD_LICENSE_FILES = LICENSE -DOCKER_CONTAINERD_CPE_ID_VENDOR = linuxfoundation -DOCKER_CONTAINERD_CPE_ID_PRODUCT = containerd - -DOCKER_CONTAINERD_GOMOD = github.com/containerd/containerd - -DOCKER_CONTAINERD_LDFLAGS = \ - -X $(DOCKER_CONTAINERD_GOMOD)/version.Version=$(DOCKER_CONTAINERD_VERSION) - -DOCKER_CONTAINERD_BUILD_TARGETS = \ - cmd/containerd \ - cmd/containerd-shim \ - cmd/containerd-shim-runc-v1 \ - cmd/containerd-shim-runc-v2 \ - cmd/ctr - -DOCKER_CONTAINERD_INSTALL_BINS = $(notdir $(DOCKER_CONTAINERD_BUILD_TARGETS)) - -ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) -DOCKER_CONTAINERD_DEPENDENCIES += libapparmor -DOCKER_CONTAINERD_TAGS += apparmor -endif - -ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) -DOCKER_CONTAINERD_DEPENDENCIES += libseccomp host-pkgconf -DOCKER_CONTAINERD_TAGS += seccomp -endif - -ifeq ($(BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS),y) -DOCKER_CONTAINERD_DEPENDENCIES += btrfs-progs -else -DOCKER_CONTAINERD_TAGS += no_btrfs -endif - -$(eval $(golang-package)) diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in index 85a4bc6a0f3..1f0efb8fcc0 100644 --- a/package/docker-engine/Config.in +++ b/package/docker-engine/Config.in @@ -3,13 +3,12 @@ config BR2_PACKAGE_DOCKER_ENGINE depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_USES_UCLIBC # docker-containerd -> runc - depends on BR2_USE_MMU # docker-containerd + depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd -> runc + depends on BR2_USE_MMU # containerd select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency - select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency + select BR2_PACKAGE_CONTAINERD # runtime dependency select BR2_PACKAGE_DOCKER_PROXY # runtime dependency select BR2_PACKAGE_IPTABLES # runtime dependency - select BR2_PACKAGE_SQLITE # runtime dependency help Docker is a platform to build, ship, and run applications as lightweight containers. @@ -34,9 +33,7 @@ config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 depends on BR2_USE_MMU # lvm2 depends on !BR2_STATIC_LIBS # lvm2 - depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 select BR2_PACKAGE_LVM2 - select BR2_PACKAGE_LVM2_APP_LIBRARY help Build the devicemapper filesystem driver for Docker. diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index 69ebd113ea4..d4fe83a806d 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 62bb03f197b8a064da568e62639f6834f91c8cfc9273126a978847becc214c31 docker-engine-20.10.3.tar.gz +sha256 dbe1ae342351108b7b30232c4bce0559c81ad9fb6c978d7c8425d6aa53e476c1 docker-engine-20.10.14.tar.gz sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index bbc97af8b5a..3aef31599f7 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = 20.10.3 +DOCKER_ENGINE_VERSION = 20.10.14 DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 @@ -13,6 +13,9 @@ DOCKER_ENGINE_LICENSE_FILES = LICENSE DOCKER_ENGINE_DEPENDENCIES = host-pkgconf DOCKER_ENGINE_GOMOD = github.com/docker/docker +DOCKER_ENGINE_CPE_ID_VENDOR = docker +DOCKER_ENGINE_CPE_ID_PRODUCT = docker + DOCKER_ENGINE_LDFLAGS = \ -X $(DOCKER_ENGINE_GOMOD)/dockerversion.BuildTime="" \ -X $(DOCKER_ENGINE_GOMOD)/dockerversion.GitCommit="buildroot" \ diff --git a/package/domoticz/0001-Revert-Updating-CMake-configuration-file-to-use-vers.patch b/package/domoticz/0001-Revert-Updating-CMake-configuration-file-to-use-vers.patch deleted file mode 100644 index 5393b0caf07..00000000000 --- a/package/domoticz/0001-Revert-Updating-CMake-configuration-file-to-use-vers.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 2cd95289939b4a7c2576176c7f6268028aa093b2 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 24 May 2019 21:50:16 +0200 -Subject: [PATCH] Revert "Updating CMake configuration file to use - version 3.14 as minimum and added boost dependency targets" - -This reverts commit 4e4ee999c4b323514c0ba81ab1ff3afb10d2f1cd to avoid -bumping host-cmake requirement version from 3.8 to 3.14 in buildroot. - -[Fabrice: Updated for 2020.1] -Signed-off-by: Fabrice Fontaine ---- - CMakeLists.txt | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c5b7832ff..a21f5b87b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,5 @@ --#set to minimum version that supports clean build --cmake_minimum_required(VERSION 3.14.0) -+#set to minimum version that supports clean build on cygwin -+cmake_minimum_required(VERSION 2.8.4) - - project(domoticz) - -@@ -583,6 +583,7 @@ set(Boost_USE_STATIC_LIBS ${USE_STATIC_BOOST}) - set(Boost_USE_MULTITHREADED ON) - unset(Boost_INCLUDE_DIR CACHE) - unset(Boost_LIBRARY_DIRS CACHE) -+find_package(Boost REQUIRED COMPONENTS thread system) - - if(USE_STATIC_BOOST) - message(STATUS "Linking against boost static libraries") -@@ -590,16 +591,6 @@ else(USE_STATIC_BOOST) - message(STATUS "Linking against boost dynamic libraries") - endif(USE_STATIC_BOOST) - --find_package(Boost REQUIRED COMPONENTS thread system) --if(Boost_FOUND) -- MESSAGE(STATUS "BOOST libraries found at: ${Boost_LIBRARY_DIRS}") -- MESSAGE(STATUS "Boost includes found at: ${Boost_INCLUDE_DIR}") --else(Boost_FOUND) -- MESSAGE(FATAL_ERROR "Boost thread/system library not found on your system, try to get this installed.") --endif(Boost_FOUND) -- --target_link_libraries(domoticz Boost::thread Boost::system) -- - # compare found vs required libBoost version - if(Boost_VERSION VERSION_LESS DOMO_MIN_LIBBOOST_VERSION) - message(FATAL_ERROR "Found libBoost version ${Boost_VERSION}, ${DOMO_MIN_LIBBOOST_VERSION} or newer required") --- -2.20.1 - diff --git a/package/domoticz/0002-Avoid-deprecated-bind-placeholders-in-global-namespace.patch b/package/domoticz/0002-Avoid-deprecated-bind-placeholders-in-global-namespace.patch deleted file mode 100644 index 5cf53b393e0..00000000000 --- a/package/domoticz/0002-Avoid-deprecated-bind-placeholders-in-global-namespace.patch +++ /dev/null @@ -1,843 +0,0 @@ -From bbcf7fd0646d74b7f169b3aa4231d9150028ed0d Mon Sep 17 00:00:00 2001 -From: Rob Peters -Date: Sun, 17 May 2020 11:46:37 +0200 -Subject: [PATCH] Avoid deprecated bind placeholders in global namespace - -[Retrieved (and slightly updated to backport it) from: -https://github.com/domoticz/domoticz/commit/bbcf7fd0646d74b7f169b3aa4231d9150028ed0d] -Signed-off-by: Fabrice Fontaine ---- - hardware/ASyncSerial.cpp | 2 +- - hardware/ASyncTCP.cpp | 4 +++- - hardware/Comm5Serial.cpp | 2 ++ - hardware/CurrentCostMeterSerial.cpp | 4 +++- - hardware/DavisLoggerSerial.cpp | 4 +++- - hardware/DenkoviUSBDevices.cpp | 2 ++ - hardware/EnOceanESP2.cpp | 4 +++- - hardware/EnOceanESP3.cpp | 4 +++- - hardware/EvohomeRadio.cpp | 3 +++ - hardware/EvohomeSerial.cpp | 2 ++ - hardware/KMTronic433.cpp | 4 +++- - hardware/KMTronicBase.cpp | 2 +- - hardware/KMTronicSerial.cpp | 4 +++- - hardware/MQTT.cpp | 2 ++ - hardware/Meteostick.cpp | 4 +++- - hardware/MySensorsBase.cpp | 2 +- - hardware/MySensorsSerial.cpp | 4 +++- - hardware/OTGWBase.cpp | 2 +- - hardware/OTGWSerial.cpp | 4 +++- - hardware/OpenWebNetUSB.cpp | 3 ++- - hardware/P1MeterSerial.cpp | 4 +++- - hardware/Pinger.cpp | 2 ++ - hardware/RAVEn.cpp | 2 ++ - hardware/RFLinkSerial.cpp | 2 ++ - hardware/RFXComSerial.cpp | 4 +++- - hardware/RFXComTCP.cpp | 2 -- - hardware/Rego6XXSerial.cpp | 4 +++- - hardware/S0MeterBase.cpp | 2 +- - hardware/S0MeterSerial.cpp | 4 +++- - hardware/TCPProxy/tcpproxy_server.cpp | 2 ++ - hardware/TeleinfoSerial.cpp | 4 +++- - hardware/USBtin.cpp | 4 +++- - hardware/XiaomiGateway.cpp | 2 +- - hardware/Yeelight.h | 1 - - hardware/ZiBlueSerial.cpp | 2 ++ - hardware/plugins/PluginTransports.cpp | 2 ++ - main/WebServer.cpp | 4 +++- - main/mainworker.cpp | 2 ++ - push/FibaroPush.cpp | 2 ++ - push/GooglePubSubPush.cpp | 2 ++ - push/HttpPush.cpp | 2 ++ - push/InfluxPush.cpp | 2 ++ - push/WebsocketPush.cpp | 2 ++ - tcpserver/TCPServer.cpp | 2 +- - webserver/cWebem.cpp | 2 +- - webserver/connection.cpp | 4 +++- - webserver/connection_manager.cpp | 4 +++- - webserver/proxyclient.cpp | 2 ++ - webserver/server.cpp | 4 +++- - 49 files changed, 107 insertions(+), 32 deletions(-) - -diff --git a/hardware/ASyncSerial.cpp b/hardware/ASyncSerial.cpp -index 2c9a5e27e9..36dd402fa7 100644 ---- a/hardware/ASyncSerial.cpp -+++ b/hardware/ASyncSerial.cpp -@@ -34,7 +34,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include // for shared_array -diff --git a/hardware/ASyncTCP.cpp b/hardware/ASyncTCP.cpp -index 8990c24300..7f7b1e0f24 100644 ---- a/hardware/ASyncTCP.cpp -+++ b/hardware/ASyncTCP.cpp -@@ -1,10 +1,12 @@ - #include "stdafx.h" - #include "ASyncTCP.h" - #include --#include -+#include - #include // for error_code - #include "../main/Logger.h" - -+//using namespace boost::placeholders; -+ - struct hostent; - - #ifndef WIN32 -diff --git a/hardware/Comm5Serial.cpp b/hardware/Comm5Serial.cpp -index 9b44496fb5..f1c1f706d2 100644 ---- a/hardware/Comm5Serial.cpp -+++ b/hardware/Comm5Serial.cpp -@@ -5,6 +5,8 @@ - #include "../main/Logger.h" - #include "../main/RFXtrx.h" - -+using namespace boost::placeholders; -+ - /* - This driver allows Domoticz to control any I/O module from the MA-4xxx Family - -diff --git a/hardware/CurrentCostMeterSerial.cpp b/hardware/CurrentCostMeterSerial.cpp -index 05bac73d6a..bf9d35cab7 100644 ---- a/hardware/CurrentCostMeterSerial.cpp -+++ b/hardware/CurrentCostMeterSerial.cpp -@@ -10,10 +10,12 @@ - - #include - #include --#include -+#include - - #include - -+using namespace boost::placeholders; -+ - // - //Class CurrentCostMeterSerial - // -diff --git a/hardware/DavisLoggerSerial.cpp b/hardware/DavisLoggerSerial.cpp -index 9c44539beb..44c9dbde5c 100644 ---- a/hardware/DavisLoggerSerial.cpp -+++ b/hardware/DavisLoggerSerial.cpp -@@ -8,13 +8,15 @@ - #include - #include - #include --#include -+#include - - #include "../main/localtime_r.h" - #include "../main/mainworker.h" - - #include - -+using namespace boost::placeholders; -+ - #ifdef _DEBUG - //#define DEBUG_DAVIS - #endif -diff --git a/hardware/DenkoviUSBDevices.cpp b/hardware/DenkoviUSBDevices.cpp -index a7977d82c8..53a27e5583 100644 ---- a/hardware/DenkoviUSBDevices.cpp -+++ b/hardware/DenkoviUSBDevices.cpp -@@ -5,6 +5,8 @@ - #include "../main/localtime_r.h" - #include "../main/mainworker.h" - -+using namespace boost::placeholders; -+ - #define MAX_POLL_INTERVAL 3600*1000 - - #define DAE_IO_TYPE_RELAY 2 -diff --git a/hardware/EnOceanESP2.cpp b/hardware/EnOceanESP2.cpp -index f20ff9c0cb..fd08c55f63 100644 ---- a/hardware/EnOceanESP2.cpp -+++ b/hardware/EnOceanESP2.cpp -@@ -8,7 +8,7 @@ - #include - #include - #include --#include -+#include - #include "hardwaretypes.h" - #include "../main/localtime_r.h" - -@@ -16,6 +16,8 @@ - #include - #include - -+using namespace boost::placeholders; -+ - #define ENOCEAN_RETRY_DELAY 30 - - #define round(a) ( int ) ( a + .5 ) -diff --git a/hardware/EnOceanESP3.cpp b/hardware/EnOceanESP3.cpp -index 6866eeb0d0..2afa0e1e36 100644 ---- a/hardware/EnOceanESP3.cpp -+++ b/hardware/EnOceanESP3.cpp -@@ -8,7 +8,7 @@ - #include - #include - #include --#include -+#include - #include "hardwaretypes.h" - #include "../main/localtime_r.h" - -@@ -16,6 +16,8 @@ - #include - #include - -+using namespace boost::placeholders; -+ - #if _DEBUG - #define ENOCEAN_BUTTON_DEBUG - #endif -diff --git a/hardware/EvohomeRadio.cpp b/hardware/EvohomeRadio.cpp -index 4da983538b..6ba97158cd 100644 ---- a/hardware/EvohomeRadio.cpp -+++ b/hardware/EvohomeRadio.cpp -@@ -23,6 +23,9 @@ - #include "../main/WebServer.h" - #include "../webserver/cWebem.h" - #include "../json/json.h" -+#include -+ -+using namespace boost::placeholders; - - extern std::string szUserDataFolder; - -diff --git a/hardware/EvohomeSerial.cpp b/hardware/EvohomeSerial.cpp -index 4a54988291..c74cf576cc 100644 ---- a/hardware/EvohomeSerial.cpp -+++ b/hardware/EvohomeSerial.cpp -@@ -7,6 +7,8 @@ - #include "../main/localtime_r.h" - #include - -+using namespace boost::placeholders; -+ - CEvohomeSerial::CEvohomeSerial(const int ID, const std::string &szSerialPort, const int baudrate, const std::string &UserContID) : - CEvohomeRadio(ID, UserContID) - { -diff --git a/hardware/KMTronic433.cpp b/hardware/KMTronic433.cpp -index da81b20f9f..f9832a5a74 100644 ---- a/hardware/KMTronic433.cpp -+++ b/hardware/KMTronic433.cpp -@@ -9,11 +9,13 @@ - #include - #include - #include --#include -+#include - #include - - #include - -+using namespace boost::placeholders; -+ - //#define DEBUG_KMTronic - - #define RETRY_DELAY 30 -diff --git a/hardware/KMTronicBase.cpp b/hardware/KMTronicBase.cpp -index b343108966..d9c45872b5 100644 ---- a/hardware/KMTronicBase.cpp -+++ b/hardware/KMTronicBase.cpp -@@ -10,7 +10,7 @@ - #include - #include - #include --#include -+#include - - #include - -diff --git a/hardware/KMTronicSerial.cpp b/hardware/KMTronicSerial.cpp -index 4e07f2c37a..6240f941bd 100644 ---- a/hardware/KMTronicSerial.cpp -+++ b/hardware/KMTronicSerial.cpp -@@ -10,12 +10,14 @@ - #include - #include - #include --#include -+#include - #include - #include - - //#define DEBUG_KMTronic - -+using namespace boost::placeholders; -+ - #define RETRY_DELAY 30 - - KMTronicSerial::KMTronicSerial(const int ID, const std::string& devname) -diff --git a/hardware/MQTT.cpp b/hardware/MQTT.cpp -index 8de3671853..19750bb75b 100644 ---- a/hardware/MQTT.cpp -+++ b/hardware/MQTT.cpp -@@ -11,6 +11,8 @@ - #define __STDC_FORMAT_MACROS - #include - -+using namespace boost::placeholders; -+ - #define RETRY_DELAY 30 - - #define CLIENTID "Domoticz" -diff --git a/hardware/Meteostick.cpp b/hardware/Meteostick.cpp -index 9793f4b57b..10da69d6e3 100644 ---- a/hardware/Meteostick.cpp -+++ b/hardware/Meteostick.cpp -@@ -9,12 +9,14 @@ - #include - #include - #include --#include -+#include - #include "../main/localtime_r.h" - #include "../main/mainworker.h" - - #include - -+using namespace boost::placeholders; -+ - #define RETRY_DELAY 30 - - #define round(a) ( int ) ( a + .5 ) -diff --git a/hardware/MySensorsBase.cpp b/hardware/MySensorsBase.cpp -index af976fba95..42bf58fad5 100644 ---- a/hardware/MySensorsBase.cpp -+++ b/hardware/MySensorsBase.cpp -@@ -13,7 +13,7 @@ - #include - #include - #include --#include -+#include - #include "../webserver/cWebem.h" - #include - -diff --git a/hardware/MySensorsSerial.cpp b/hardware/MySensorsSerial.cpp -index 44f8692d2b..42f3e05409 100644 ---- a/hardware/MySensorsSerial.cpp -+++ b/hardware/MySensorsSerial.cpp -@@ -8,12 +8,14 @@ - #include "hardwaretypes.h" - - #include --#include -+#include - #include - #include - #include - #include - -+using namespace boost::placeholders; -+ - //#define DEBUG_MYSENSORS - - #define RETRY_DELAY 30 -diff --git a/hardware/OTGWBase.cpp b/hardware/OTGWBase.cpp -index 322574458b..ded3a31c2c 100644 ---- a/hardware/OTGWBase.cpp -+++ b/hardware/OTGWBase.cpp -@@ -12,7 +12,7 @@ - #include - #include - #include --#include -+#include - #include "../json/json.h" - - #include -diff --git a/hardware/OTGWSerial.cpp b/hardware/OTGWSerial.cpp -index 4ade70e063..5a3416548f 100644 ---- a/hardware/OTGWSerial.cpp -+++ b/hardware/OTGWSerial.cpp -@@ -8,12 +8,14 @@ - #include "../main/localtime_r.h" - - #include --#include -+#include - #include - #include - #include - #include - -+using namespace boost::placeholders; -+ - #define RETRY_DELAY 30 - #define OTGW_READ_INTERVAL 10 - -diff --git a/hardware/OpenWebNetUSB.cpp b/hardware/OpenWebNetUSB.cpp -index bf23049844..352a2220e9 100644 ---- a/hardware/OpenWebNetUSB.cpp -+++ b/hardware/OpenWebNetUSB.cpp -@@ -19,11 +19,12 @@ License: Public domain - - #include - #include --#include -+#include - #include - #include - #include - -+using namespace boost::placeholders; - - COpenWebNetUSB::COpenWebNetUSB(const int ID, const std::string& devname, unsigned int baud_rate) - { -diff --git a/hardware/P1MeterSerial.cpp b/hardware/P1MeterSerial.cpp -index 566b451fa5..7dc3e0782e 100644 ---- a/hardware/P1MeterSerial.cpp -+++ b/hardware/P1MeterSerial.cpp -@@ -14,10 +14,12 @@ - #include - #include - #include --#include -+#include - - #include - -+using namespace boost::placeholders; -+ - #ifdef _DEBUG - //#define DEBUG_P1_R - #endif -diff --git a/hardware/Pinger.cpp b/hardware/Pinger.cpp -index d3e2fda942..b6dc78a786 100644 ---- a/hardware/Pinger.cpp -+++ b/hardware/Pinger.cpp -@@ -19,6 +19,8 @@ - - #include - -+using namespace boost::placeholders; -+ - #if BOOST_VERSION >= 107000 - #define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context()) - #else -diff --git a/hardware/RAVEn.cpp b/hardware/RAVEn.cpp -index d9efc7480a..b6a4399d04 100644 ---- a/hardware/RAVEn.cpp -+++ b/hardware/RAVEn.cpp -@@ -8,6 +8,8 @@ - #include "../tinyxpath/tinyxml.h" - #include "hardwaretypes.h" - -+using namespace boost::placeholders; -+ - //Rainforest RAVEn USB ZigBee Smart Meter Adapter - //https://rainforestautomation.com/rfa-z106-raven/ - -diff --git a/hardware/RFLinkSerial.cpp b/hardware/RFLinkSerial.cpp -index c5cae0f739..4ab07ed88e 100644 ---- a/hardware/RFLinkSerial.cpp -+++ b/hardware/RFLinkSerial.cpp -@@ -5,6 +5,8 @@ - #include "../main/localtime_r.h" - #include - -+using namespace boost::placeholders; -+ - CRFLinkSerial::CRFLinkSerial(const int ID, const std::string& devname) : - m_szSerialPort(devname) - { -diff --git a/hardware/RFXComSerial.cpp b/hardware/RFXComSerial.cpp -index dc85f4832d..4c39520510 100644 ---- a/hardware/RFXComSerial.cpp -+++ b/hardware/RFXComSerial.cpp -@@ -12,7 +12,7 @@ - #include - #include - #include --#include -+#include - - #include - -@@ -23,6 +23,8 @@ - #include - #endif - -+using namespace boost::placeholders; -+ - #define RETRY_DELAY 30 - - #define RFX_WRITE_DELAY 300 -diff --git a/hardware/RFXComTCP.cpp b/hardware/RFXComTCP.cpp -index 7c6b3954b8..0e4856fbfb 100644 ---- a/hardware/RFXComTCP.cpp -+++ b/hardware/RFXComTCP.cpp -@@ -1,8 +1,6 @@ - #include "stdafx.h" - #include "RFXComTCP.h" - #include "../main/Logger.h" --//#include --//#include - #include "../main/Helper.h" - #include "../main/localtime_r.h" - #include "../main/mainworker.h" -diff --git a/hardware/Rego6XXSerial.cpp b/hardware/Rego6XXSerial.cpp -index b94bd291bc..15d22f869a 100644 ---- a/hardware/Rego6XXSerial.cpp -+++ b/hardware/Rego6XXSerial.cpp -@@ -16,11 +16,13 @@ - #include - #include - #include --#include -+#include - #include "hardwaretypes.h" - - #include - -+using namespace boost::placeholders; -+ - #define Rego6XX_RETRY_DELAY 30 - #define Rego6XX_COMMAND_DELAY 5 - #define Rego6XX_READ_BUFFER_MASK (Rego6XX_READ_BUFFER_SIZE - 1) -diff --git a/hardware/S0MeterBase.cpp b/hardware/S0MeterBase.cpp -index 9cffa67022..75a06e2cc1 100644 ---- a/hardware/S0MeterBase.cpp -+++ b/hardware/S0MeterBase.cpp -@@ -13,7 +13,7 @@ - #include - #include - #include --#include -+#include - - #include - -diff --git a/hardware/S0MeterSerial.cpp b/hardware/S0MeterSerial.cpp -index 1dc16b2b3e..f474d1c766 100644 ---- a/hardware/S0MeterSerial.cpp -+++ b/hardware/S0MeterSerial.cpp -@@ -8,11 +8,13 @@ - - #include - #include --#include -+#include - #include - #include - #include - -+using namespace boost::placeholders; -+ - #ifdef _DEBUG - //#define DEBUG_S0 - #define TOT_DEBUG_LINES 6 -diff --git a/hardware/TCPProxy/tcpproxy_server.cpp b/hardware/TCPProxy/tcpproxy_server.cpp -index 60445d9c28..82ba3559d9 100644 ---- a/hardware/TCPProxy/tcpproxy_server.cpp -+++ b/hardware/TCPProxy/tcpproxy_server.cpp -@@ -15,6 +15,8 @@ - #include "stdafx.h" - #include "tcpproxy_server.h" - -+using namespace boost::placeholders; -+ - #if BOOST_VERSION >= 107000 - #define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context()) - #else -diff --git a/hardware/TeleinfoSerial.cpp b/hardware/TeleinfoSerial.cpp -index 85f9a6240f..fa794802e9 100644 ---- a/hardware/TeleinfoSerial.cpp -+++ b/hardware/TeleinfoSerial.cpp -@@ -28,9 +28,11 @@ History : - #include "../main/localtime_r.h" - #include "../main/Logger.h" - --#include -+#include - #include - -+using namespace boost::placeholders; -+ - CTeleinfoSerial::CTeleinfoSerial(const int ID, const std::string& devname, const int datatimeout, unsigned int baud_rate, const bool disable_crc, const int ratelimit) - { - m_HwdID = ID; -diff --git a/hardware/USBtin.cpp b/hardware/USBtin.cpp -index c3e3656319..ce6f542df3 100644 ---- a/hardware/USBtin.cpp -+++ b/hardware/USBtin.cpp -@@ -27,7 +27,7 @@ History : - #include "../main/SQLHelper.h" - - #include --#include -+#include - #include - #include - #include -@@ -35,6 +35,8 @@ History : - #include - #include - -+using namespace boost::placeholders; -+ - #define USBTIN_BAUD_RATE 115200 - #define USBTIN_PARITY boost::asio::serial_port_base::parity::none - #define USBTIN_CARACTER_SIZE 8 -diff --git a/hardware/XiaomiGateway.cpp b/hardware/XiaomiGateway.cpp -index f4567ec62f..e4998faa6a 100644 ---- a/hardware/XiaomiGateway.cpp -+++ b/hardware/XiaomiGateway.cpp -@@ -12,7 +12,7 @@ - #include "XiaomiHardware.h" - #include - #include --#include -+#include - - #ifndef WIN32 - #include -diff --git a/hardware/Yeelight.h b/hardware/Yeelight.h -index b063f79743..64fd6f5479 100644 ---- a/hardware/Yeelight.h -+++ b/hardware/Yeelight.h -@@ -2,7 +2,6 @@ - - #include "DomoticzHardware.h" - #include --#include - - class Yeelight : public CDomoticzHardwareBase - { -diff --git a/hardware/ZiBlueSerial.cpp b/hardware/ZiBlueSerial.cpp -index 9e9db2aff1..8e896897fc 100644 ---- a/hardware/ZiBlueSerial.cpp -+++ b/hardware/ZiBlueSerial.cpp -@@ -6,6 +6,8 @@ - - #include - -+using namespace boost::placeholders; -+ - #define ZiBlue_RETRY_DELAY 30 - - CZiBlueSerial::CZiBlueSerial(const int ID, const std::string& devname) : -diff --git a/hardware/plugins/PluginTransports.cpp b/hardware/plugins/PluginTransports.cpp -index c7e065529f..7fc1cb953e 100644 ---- a/hardware/plugins/PluginTransports.cpp -+++ b/hardware/plugins/PluginTransports.cpp -@@ -13,6 +13,8 @@ - #include "icmp_header.hpp" - #include "ipv4_header.hpp" - -+using namespace boost::placeholders; -+ - namespace Plugins { - - void CPluginTransport::handleRead(const boost::system::error_code& e, std::size_t bytes_transferred) -diff --git a/main/WebServer.cpp b/main/WebServer.cpp -index 0a19319669..ed92f06e32 100644 ---- a/main/WebServer.cpp -+++ b/main/WebServer.cpp -@@ -1,7 +1,7 @@ - #include "stdafx.h" - #include "WebServer.h" - #include "WebServerHelper.h" --#include -+#include - #include - #include - #include "mainworker.h" -@@ -65,6 +65,8 @@ - #define __STDC_FORMAT_MACROS - #include - -+using namespace boost::placeholders; -+ - #define round(a) ( int ) ( a + .5 ) - - extern std::string szStartupFolder; -diff --git a/main/mainworker.cpp b/main/mainworker.cpp -index 505f59f49d..5fb2ee9042 100644 ---- a/main/mainworker.cpp -+++ b/main/mainworker.cpp -@@ -174,6 +174,8 @@ - #include - #endif - -+using namespace boost::placeholders; -+ - #define round(a) ( int ) ( a + .5 ) - - extern std::string szStartupFolder; -diff --git a/push/FibaroPush.cpp b/push/FibaroPush.cpp -index 0bc54e6cfd..350a8fa893 100644 ---- a/push/FibaroPush.cpp -+++ b/push/FibaroPush.cpp -@@ -14,6 +14,8 @@ - #define __STDC_FORMAT_MACROS - #include - -+using namespace boost::placeholders; -+ - CFibaroPush::CFibaroPush() - { - m_PushType = PushType::PUSHTYPE_FIBARO; -diff --git a/push/GooglePubSubPush.cpp b/push/GooglePubSubPush.cpp -index 6d0fc82d40..a5b720f219 100644 ---- a/push/GooglePubSubPush.cpp -+++ b/push/GooglePubSubPush.cpp -@@ -21,6 +21,8 @@ extern "C" { - #include - #endif - -+using namespace boost::placeholders; -+ - extern std::string szUserDataFolder; - - // this should be filled in by the preprocessor -diff --git a/push/HttpPush.cpp b/push/HttpPush.cpp -index 8132ca2b43..3d1d51d52e 100644 ---- a/push/HttpPush.cpp -+++ b/push/HttpPush.cpp -@@ -15,6 +15,8 @@ - #define __STDC_FORMAT_MACROS - #include - -+using namespace boost::placeholders; -+ - CHttpPush::CHttpPush() - { - m_PushType = PushType::PUSHTYPE_HTTP; -diff --git a/push/InfluxPush.cpp b/push/InfluxPush.cpp -index 0a8e99414f..745fdf0496 100644 ---- a/push/InfluxPush.cpp -+++ b/push/InfluxPush.cpp -@@ -15,6 +15,8 @@ - #define __STDC_FORMAT_MACROS - #include - -+using namespace boost::placeholders; -+ - CInfluxPush::CInfluxPush() : - m_InfluxPort(8086), - m_bInfluxDebugActive(false) -diff --git a/push/WebsocketPush.cpp b/push/WebsocketPush.cpp -index 0fb71f96ec..3c2ce7ed54 100644 ---- a/push/WebsocketPush.cpp -+++ b/push/WebsocketPush.cpp -@@ -3,6 +3,8 @@ - #include "../webserver/WebsocketHandler.h" - #include "../main/mainworker.h" - -+using namespace boost::placeholders; -+ - extern boost::signals2::signal sOnNotificationReceived; - - -diff --git a/tcpserver/TCPServer.cpp b/tcpserver/TCPServer.cpp -index d3b0a94847..3b8d0b9b76 100644 ---- a/tcpserver/TCPServer.cpp -+++ b/tcpserver/TCPServer.cpp -@@ -11,7 +11,7 @@ - #include "../main/localtime_r.h" - #include - #include --#include -+#include - - namespace tcp { - namespace server { -diff --git a/webserver/cWebem.cpp b/webserver/cWebem.cpp -index f015be097f..63c96f789f 100644 ---- a/webserver/cWebem.cpp -+++ b/webserver/cWebem.cpp -@@ -5,7 +5,7 @@ - //Modified, extended etc by Robbert E. Peters/RTSS B.V. - #include "stdafx.h" - #include "cWebem.h" --#include -+#include - #include "reply.hpp" - #include "request.hpp" - #include "mime_types.hpp" -diff --git a/webserver/connection.cpp b/webserver/connection.cpp -index d3485fe923..afe700e5d7 100644 ---- a/webserver/connection.cpp -+++ b/webserver/connection.cpp -@@ -9,7 +9,7 @@ - // - #include "stdafx.h" - #include "connection.hpp" --#include -+#include - #include - #include "connection_manager.hpp" - #include "request_handler.hpp" -@@ -17,6 +17,8 @@ - #include "../main/localtime_r.h" - #include "../main/Logger.h" - -+using namespace boost::placeholders; -+ - namespace http { - namespace server { - extern std::string convert_to_http_date(time_t time); -diff --git a/webserver/connection_manager.cpp b/webserver/connection_manager.cpp -index b6c20de53f..bf1d9882d0 100644 ---- a/webserver/connection_manager.cpp -+++ b/webserver/connection_manager.cpp -@@ -10,10 +10,12 @@ - #include "stdafx.h" - #include "connection_manager.hpp" - #include --#include -+#include - #include - #include "../main/Logger.h" - -+using namespace boost::placeholders; -+ - namespace http { - namespace server { - -diff --git a/webserver/proxyclient.cpp b/webserver/proxyclient.cpp -index c2bcd3178f..423ee0fb4b 100644 ---- a/webserver/proxyclient.cpp -+++ b/webserver/proxyclient.cpp -@@ -8,6 +8,8 @@ - #include "../tcpserver/TCPServer.h" - #include "sha1.hpp" - -+using namespace boost::placeholders; -+ - // RK: some defines to make mydomoticz also work when openssl not compiled in - #ifdef WWW_ENABLE_SSL - #define PROXY_PORT 443 -diff --git a/webserver/server.cpp b/webserver/server.cpp -index 1eb2137ef2..6025b1cdb5 100644 ---- a/webserver/server.cpp -+++ b/webserver/server.cpp -@@ -3,7 +3,7 @@ - // ~~~~~~~~~~ - // - #include "stdafx.h" --#include -+#include - #include "server.hpp" - #include - #include "../main/Logger.h" -@@ -11,6 +11,8 @@ - #include "../main/localtime_r.h" - #include "../main/mainworker.h" - -+using namespace boost::placeholders; -+ - extern bool g_bIsWSL; - - namespace http { diff --git a/package/domoticz/0003-Build-failure-with-python-3-9.patch b/package/domoticz/0003-Build-failure-with-python-3-9.patch deleted file mode 100644 index 3b07436e835..00000000000 --- a/package/domoticz/0003-Build-failure-with-python-3-9.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b3525e2a970ae3e783665040b1e0db5fc3391327 Mon Sep 17 00:00:00 2001 -From: Jose Zapater -Date: Mon, 2 Nov 2020 09:46:17 +0100 -Subject: [PATCH] Build failure with python 3.9 - -Signed-off-by: Jose Zapater - -[Retrieved from: -https://github.com/domoticz/domoticz/commit/b3525e2a970ae3e783665040b1e0db5fc3391327] -Signed-off-by: Fabrice Fontaine ---- - hardware/plugins/DelayedLink.h | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/hardware/plugins/DelayedLink.h b/hardware/plugins/DelayedLink.h -index c90a7d8e69..cb71478685 100644 ---- a/hardware/plugins/DelayedLink.h -+++ b/hardware/plugins/DelayedLink.h -@@ -14,6 +14,17 @@ - #include - #include "../../main/Helper.h" - -+#ifndef _Py_DEC_REFTOTAL -+ /* _Py_DEC_REFTOTAL macro has been removed from Python 3.9 by: -+ https://github.com/python/cpython/commit/49932fec62c616ec88da52642339d83ae719e924 */ -+# ifdef Py_REF_DEBUG -+# define _Py_DEC_REFTOTAL _Py_RefTotal-- -+# else -+# define _Py_DEC_REFTOTAL -+# define _Py_Dealloc -+# endif -+#endif -+ - #if PY_VERSION_HEX >= 0x030800f0 - static inline void - py3__Py_DECREF(const char *filename, int lineno, PyObject *op) diff --git a/package/domoticz/0004-Load-python-3-9-shared-libs.patch b/package/domoticz/0004-Load-python-3-9-shared-libs.patch deleted file mode 100644 index c157fd354e3..00000000000 --- a/package/domoticz/0004-Load-python-3-9-shared-libs.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4e1d21967d27d286cbc837b98a1a9f031f7dde58 Mon Sep 17 00:00:00 2001 -From: Jose Zapater -Date: Fri, 6 Nov 2020 07:40:37 +0100 -Subject: [PATCH] Load python 3.9 shared libs - -Signed-off-by: Jose Zapater - -[Retrieved from: -https://github.com/domoticz/domoticz/commit/4e1d21967d27d286cbc837b98a1a9f031f7dde58] -Signed-off-by: Fabrice Fontaine ---- - hardware/plugins/DelayedLink.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/hardware/plugins/DelayedLink.h b/hardware/plugins/DelayedLink.h -index cb71478685..409c9dce1b 100644 ---- a/hardware/plugins/DelayedLink.h -+++ b/hardware/plugins/DelayedLink.h -@@ -193,12 +193,14 @@ namespace Plugins { - if (!shared_lib_) { - #ifdef WIN32 - # ifdef _DEBUG -+ if (!shared_lib_) shared_lib_ = LoadLibrary("python39_d.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python38_d.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python37_d.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python36_d.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python35_d.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python34_d.dll"); - # else -+ if (!shared_lib_) shared_lib_ = LoadLibrary("python39.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python38.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python37.dll"); - if (!shared_lib_) shared_lib_ = LoadLibrary("python36.dll"); -@@ -206,6 +208,7 @@ namespace Plugins { - if (!shared_lib_) shared_lib_ = LoadLibrary("python34.dll"); - # endif - #else -+ if (!shared_lib_) FindLibrary("python3.9", true); - if (!shared_lib_) FindLibrary("python3.8", true); - if (!shared_lib_) FindLibrary("python3.7", true); - if (!shared_lib_) FindLibrary("python3.6", true); diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in index 88de232642d..4324d13cee2 100644 --- a/package/domoticz/Config.in +++ b/package/domoticz/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_DOMOTICZ bool "domoticz" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # sleep_for + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14 # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mosquitto depends on BR2_INSTALL_LIBSTDCPP @@ -11,9 +11,12 @@ config BR2_PACKAGE_DOMOTICZ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_ATOMIC select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD + select BR2_PACKAGE_CEREAL + select BR2_PACKAGE_FMT select BR2_PACKAGE_JSONCPP select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_MOSQUITTO @@ -29,11 +32,11 @@ config BR2_PACKAGE_DOMOTICZ http://domoticz.com -comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library" +comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ !BR2_PACKAGE_LUA_5_3 diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash index 4f095c33a74..18bf57b7e0e 100644 --- a/package/domoticz/domoticz.hash +++ b/package/domoticz/domoticz.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d0c17b2082dad8a8caeed888b7d4c191975e74a2808b5d078305f5327b82442d domoticz-2020.1.tar.gz +sha256 b7faf959c4f1dbfec3b0c17ab495f29b3d1437bc2251579c5252be82247e7ff9 domoticz-2022.1-br1.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk index 0cd3520a719..5edc10e8d8b 100644 --- a/package/domoticz/domoticz.mk +++ b/package/domoticz/domoticz.mk @@ -4,13 +4,17 @@ # ################################################################################ -DOMOTICZ_VERSION = 2020.1 -DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION)) +DOMOTICZ_VERSION = 2022.1 +DOMOTICZ_SITE = https://github.com/domoticz/domoticz +DOMOTICZ_SITE_METHOD = git +DOMOTICZ_GIT_SUBMODULES = YES DOMOTICZ_LICENSE = GPL-3.0 DOMOTICZ_LICENSE_FILES = License.txt DOMOTICZ_CPE_ID_VENDOR = domoticz DOMOTICZ_DEPENDENCIES = \ boost \ + cereal \ + fmt \ host-pkgconf \ jsoncpp \ libcurl \ @@ -30,13 +34,18 @@ DOMOTICZ_CONF_OPTS += \ -DUSE_OPENSSL_STATIC=OFF # Do not use any built-in libraries which are enabled by default for -# jsoncpp, lua, sqlite and mqtt +# jsoncpp, fmt, sqlite and mqtt DOMOTICZ_CONF_OPTS += \ -DUSE_BUILTIN_JSONCPP=OFF \ - -DUSE_BUILTIN_LUA=OFF \ + -DUSE_BUILTIN_LIBFMT=OFF \ -DUSE_BUILTIN_SQLITE=OFF \ -DUSE_BUILTIN_MQTT=OFF +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +DOMOTICZ_DEPENDENCIES += libexecinfo +DOMOTICZ_CONF_OPTS += -DEXECINFO_LIBRARIES=-lexecinfo +endif + ifeq ($(BR2_PACKAGE_LIBUSB),y) DOMOTICZ_DEPENDENCIES += libusb DOMOTICZ_CONF_OPTS += -DWITH_LIBUSB=ON diff --git a/package/dos2unix/dos2unix.hash b/package/dos2unix/dos2unix.hash index 41fb23429b9..493011fce43 100644 --- a/package/dos2unix/dos2unix.hash +++ b/package/dos2unix/dos2unix.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.4.1.tar.gz.asc -sha256 1cd58a60b03ed28fa39046102a185c5e88c4f7665e1e0417c25de7f8b9f78623 dos2unix-7.4.1.tar.gz -sha256 af32dca9450e90b9a7a0f6408da1554466382cc81960108c59512f78a666a276 COPYING.txt +# https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.4.2.tar.gz.asc +sha256 6035c58df6ea2832e868b599dfa0d60ad41ca3ecc8aa27822c4b7a9789d3ae01 dos2unix-7.4.2.tar.gz +sha256 db8888b7d1454348aca0c6ca851327245ef60e57afa8a6555761c8b95d24af77 COPYING.txt diff --git a/package/dos2unix/dos2unix.mk b/package/dos2unix/dos2unix.mk index 5064b7e5bbb..1f3e79ec4e0 100644 --- a/package/dos2unix/dos2unix.mk +++ b/package/dos2unix/dos2unix.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOS2UNIX_VERSION = 7.4.1 +DOS2UNIX_VERSION = 7.4.2 DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix DOS2UNIX_LICENSE = BSD-2-Clause DOS2UNIX_LICENSE_FILES = COPYING.txt diff --git a/package/dosfstools/dosfstools.hash b/package/dosfstools/dosfstools.hash index d5f396f69fd..840bb4d563e 100644 --- a/package/dosfstools/dosfstools.hash +++ b/package/dosfstools/dosfstools.hash @@ -1,5 +1,6 @@ -# Locally calculated after checking pgp signature -sha256 e6b2aca70ccc3fe3687365009dd94a2e18e82b688ed4e260e04b7412471cc173 dosfstools-4.1.tar.xz +# Locally calculated after checking pgp signature from +# https://github.com/dosfstools/dosfstools/releases/download/v4.2/dosfstools-4.2.tar.gz.sig +sha256 64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527 dosfstools-4.2.tar.gz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk index b5da490dbd0..26a28670c0b 100644 --- a/package/dosfstools/dosfstools.mk +++ b/package/dosfstools/dosfstools.mk @@ -4,12 +4,12 @@ # ################################################################################ -DOSFSTOOLS_VERSION = 4.1 -DOSFSTOOLS_SOURCE = dosfstools-$(DOSFSTOOLS_VERSION).tar.xz +DOSFSTOOLS_VERSION = 4.2 DOSFSTOOLS_SITE = https://github.com/dosfstools/dosfstools/releases/download/v$(DOSFSTOOLS_VERSION) DOSFSTOOLS_LICENSE = GPL-3.0+ DOSFSTOOLS_LICENSE_FILES = COPYING DOSFSTOOLS_CPE_ID_VENDOR = dosfstools_project +DOSFSTOOLS_SELINUX_MODULES = fstools DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks --exec-prefix=/ HOST_DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index cf3ebdbf549..f3a5890151c 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,3 +1,3 @@ # Locally computed after checking signature -sha256 68ca0f78a3caa6b090a469f45c395c44cf16da8fcb3345755b1ca436c9ffb2d2 dovecot-2.3-pigeonhole-0.5.14.tar.gz +sha256 a6d828f8d6f2decba5105343ece5c7a65245bd94e46a8ae4432a6d97543108a5 dovecot-2.3-pigeonhole-0.5.18.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 35a1e1ef525..62d9909cf58 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.14 +DOVECOT_PIGEONHOLE_VERSION = 0.5.18 DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.3-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz DOVECOT_PIGEONHOLE_SITE = https://pigeonhole.dovecot.org/releases/2.3 DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1 @@ -15,12 +15,4 @@ DOVECOT_PIGEONHOLE_DEPENDENCIES = dovecot DOVECOT_PIGEONHOLE_CONF_OPTS = --with-dovecot=$(STAGING_DIR)/usr/lib -ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -define DOVECOT_PIGEONHOLE_FIXUP_DOVECOT_CONFIG - $(SED) 's,$(PER_PACKAGE_DIR)/dovecot/,$(PER_PACKAGE_DIR)/dovecot-pigeonhole/,g' \ - $(STAGING_DIR)/usr/lib/dovecot-config -endef -DOVECOT_PIGEONHOLE_PRE_CONFIGURE_HOOKS = DOVECOT_PIGEONHOLE_FIXUP_DOVECOT_CONFIG -endif - $(eval $(autotools-package)) diff --git a/package/dovecot/dovecot.hash b/package/dovecot/dovecot.hash index edb9d20e6df..0363b6e922e 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 c8b3d7f3af1e558a3ff0f970309d4013a4d3ce136f8c02a53a3b05f345b9a34a dovecot-2.3.14.tar.gz +sha256 1c67ccccdc81a75007c01dedc02ad608c4d856c60a6b89b9cd246e79f72aa2b8 dovecot-2.3.17.1.tar.gz sha256 319a9830aab406109cd67cb45496587566a8123203d66d037b209ca3e13de02a COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT diff --git a/package/dovecot/dovecot.mk b/package/dovecot/dovecot.mk index a38cf1941a9..fb299a8e451 100644 --- a/package/dovecot/dovecot.mk +++ b/package/dovecot/dovecot.mk @@ -5,18 +5,21 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).14 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).17.1 DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 DOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT DOVECOT_CPE_ID_VENDOR = dovecot +DOVECOT_SELINUX_MODULES = dovecot DOVECOT_DEPENDENCIES = \ host-pkgconf \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ openssl -# add host-gettext for AM_ICONV macro -DOVECOT_DEPENDENCIES += host-gettext + +# CVE-2016-4983 is an issue in a postinstall script in the dovecot rpm, which +# is part of the Red Hat packaging and not part of upstream dovecot +DOVECOT_IGNORE_CVES += CVE-2016-4983 DOVECOT_CONF_ENV = \ RPCGEN=__disable_RPCGEN_rquota \ diff --git a/package/doxygen/doxygen.mk b/package/doxygen/doxygen.mk index ee8ae4fde4d..b24c527a206 100644 --- a/package/doxygen/doxygen.mk +++ b/package/doxygen/doxygen.mk @@ -9,6 +9,7 @@ DOXYGEN_SOURCE = doxygen-$(DOXYGEN_VERSION).src.tar.gz DOXYGEN_SITE = http://doxygen.nl/files DOXYGEN_LICENSE = GPL-2.0 DOXYGEN_LICENSE_FILES = LICENSE +DOXYGEN_CPE_ID_VENDOR = doxygen HOST_DOXYGEN_DEPENDENCIES = host-flex host-bison HOST_DOXYGEN_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF diff --git a/package/drbd-utils/drbd-utils.hash b/package/drbd-utils/drbd-utils.hash index 47f6f6ecf51..58d282714e1 100644 --- a/package/drbd-utils/drbd-utils.hash +++ b/package/drbd-utils/drbd-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e89be59e60fc33534481a5dcae90de242e35867512d85cef2878ca757bfb074a drbd-utils-9.15.0.tar.gz +sha256 3827bfed6630f8784ec558a8ac3de68175d544876d897c0810ad141a61487cad drbd-utils-9.19.0.tar.gz sha256 1ca3e8f71b7de618968e7ea9fe47822d9e704dc476aef8544033abedec355225 COPYING diff --git a/package/drbd-utils/drbd-utils.mk b/package/drbd-utils/drbd-utils.mk index 8ea581eb279..2082810a375 100644 --- a/package/drbd-utils/drbd-utils.mk +++ b/package/drbd-utils/drbd-utils.mk @@ -4,10 +4,11 @@ # ################################################################################ -DRBD_UTILS_VERSION = 9.15.0 -DRBD_UTILS_SITE = http://www.linbit.com/downloads/drbd/utils +DRBD_UTILS_VERSION = 9.19.0 +DRBD_UTILS_SITE = http://pkg.linbit.com/downloads/drbd/utils DRBD_UTILS_LICENSE = GPL-2.0+ DRBD_UTILS_LICENSE_FILES = COPYING +DRBD_UTILS_SELINUX_MODULES = drbd DRBD_UTILS_DEPENDENCIES = host-flex DRBD_UTILS_CONF_OPTS = --with-distro=generic --without-manual diff --git a/package/dstat/Config.in b/package/dstat/Config.in index 647a7033c6a..09d1970f736 100644 --- a/package/dstat/Config.in +++ b/package/dstat/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_DSTAT bool "dstat" - depends on BR2_USE_WCHAR # python - depends on BR2_USE_MMU # python - depends on BR2_TOOLCHAIN_HAS_THREADS # python - depends on !BR2_STATIC_LIBS # python - select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON + depends on BR2_USE_WCHAR # python3 + depends on BR2_USE_MMU # python3 + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 + depends on !BR2_STATIC_LIBS # python3 + select BR2_PACKAGE_PYTHON3 # runtime help Dstat, written in Python, is a versatile replacement for vmstat, iostat, netstat and ifstat. Dstat overcomes some of diff --git a/package/dt-utils/dt-utils.hash b/package/dt-utils/dt-utils.hash index e42e82578d8..9fca594db52 100644 --- a/package/dt-utils/dt-utils.hash +++ b/package/dt-utils/dt-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 737313719d7c04d7b9576fdc572d838c81ea22ea41a44c7646467018e67a0b97 dt-utils-v2019.01.0-br1.tar.gz +sha256 63cf47c70911bb3605bafac38a5a7e19eb753ac1c90de2abceaf2fdefd71be6d dt-utils-2021.03.0.tar.xz sha256 a45932c79317d15116eadbf1c9c6fc59117ec3c4621db3a876066defa723963b COPYING diff --git a/package/dt-utils/dt-utils.mk b/package/dt-utils/dt-utils.mk index 25c287d4340..d264e2cdc9c 100644 --- a/package/dt-utils/dt-utils.mk +++ b/package/dt-utils/dt-utils.mk @@ -4,9 +4,9 @@ # ################################################################################ -DT_UTILS_VERSION = v2019.01.0 -DT_UTILS_SITE = https://git.pengutronix.de/git/tools/dt-utils -DT_UTILS_SITE_METHOD = git +DT_UTILS_VERSION = 2021.03.0 +DT_UTILS_SOURCE = dt-utils-$(DT_UTILS_VERSION).tar.xz +DT_UTILS_SITE = https://git.pengutronix.de/cgit/tools/dt-utils/snapshot DT_UTILS_LICENSE = GPL-2.0 DT_UTILS_LICENSE_FILES = COPYING DT_UTILS_DEPENDENCIES = udev diff --git a/package/dtbocfg/Config.in b/package/dtbocfg/Config.in new file mode 100644 index 00000000000..35e318061e8 --- /dev/null +++ b/package/dtbocfg/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_DTBOCFG + bool "dtbocfg" + depends on BR2_LINUX_KERNEL + help + dtbocfg, which stands for Device Tree Blob Overlay + Configuration File System, was developed to serve + as a userspace API of Device Tree Overlay. + + https://github.com/ikwzm/dtbocfg + +comment "dtbocfg needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/dtbocfg/dtbocfg.hash b/package/dtbocfg/dtbocfg.hash new file mode 100644 index 00000000000..7db69f9e591 --- /dev/null +++ b/package/dtbocfg/dtbocfg.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 faa53aefd7f7636c65e2b56bec223d2bc7676354e3ad9b5c1691aca349b9bbb8 dtbocfg-0.0.9.tar.gz +sha256 e57cb9f2ed607cd95bf1b64371325c505c1ac8fe640a8c9933e7fe7637a38567 LICENSE diff --git a/package/dtbocfg/dtbocfg.mk b/package/dtbocfg/dtbocfg.mk new file mode 100644 index 00000000000..68beb1a45ed --- /dev/null +++ b/package/dtbocfg/dtbocfg.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# dtbocfg +# +################################################################################ + +DTBOCFG_VERSION = 0.0.9 +DTBOCFG_SITE = $(call github,ikwzm,dtbocfg,v$(DTBOCFG_VERSION)) +DTBOCFG_LICENSE = BSD-2-Clause +DTBOCFG_LICENSE_FILES = LICENSE + +define DTBOCFG_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_OF_OVERLAY) + $(call KCONFIG_ENABLE_OPT,CONFIG_CONFIGFS_FS) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/dtc/dtc.hash b/package/dtc/dtc.hash index 902ce1baf91..29b7e0b121b 100644 --- a/package/dtc/dtc.hash +++ b/package/dtc/dtc.hash @@ -1,5 +1,5 @@ # from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc -sha256 10503b0217e1b07933e29e8d347a00015b2431bea5f59afe0bed3af30340c82d dtc-1.6.0.tar.xz +sha256 65cec529893659a49a89740bb362f507a3b94fc8cd791e76a8d6a2b6f3203473 dtc-1.6.1.tar.xz # Hash for license files sha256 78e1e1ce5728a990d59c7de61d4741c49185d5129daf783b386380a214328d68 README.license diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk index 956a60b29d8..53f9c9c8dfb 100644 --- a/package/dtc/dtc.mk +++ b/package/dtc/dtc.mk @@ -4,11 +4,12 @@ # ################################################################################ -DTC_VERSION = 1.6.0 +DTC_VERSION = 1.6.1 DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz DTC_SITE = https://www.kernel.org/pub/software/utils/dtc DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library) DTC_LICENSE_FILES = README.license GPL BSD-2-Clause +DTC_CPE_ID_VENDOR = dtc_project DTC_INSTALL_STAGING = YES DTC_DEPENDENCIES = host-bison host-flex host-pkgconf HOST_DTC_DEPENDENCIES = host-bison host-flex host-pkgconf diff --git a/package/dtv-scan-tables/dtv-scan-tables.hash b/package/dtv-scan-tables/dtv-scan-tables.hash index a57409978f5..8d4290fc537 100644 --- a/package/dtv-scan-tables/dtv-scan-tables.hash +++ b/package/dtv-scan-tables/dtv-scan-tables.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 fc65b1f85195ab3d877f7ce802dc62b8c70b3a1815fa6e6a69de19a9d354c19a dtv-scan-tables-6d019038cd04e837d9dd58701202c15924c1c654-br1.tar.gz +sha256 186a6fe1755d83d583590de3f83013c2e4df47b258c88180dffd1afb0d36d4d6 dtv-scan-tables-25ee9e0ce4bbacdb278d4cff306ceb6528c4f548-br1.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING sha256 4fd46f32582c29007657e2daad8d0a6d954cf4e9d2e47bae8f8d8c32765fc987 COPYING.LGPL diff --git a/package/dtv-scan-tables/dtv-scan-tables.mk b/package/dtv-scan-tables/dtv-scan-tables.mk index 5fad615b6bb..4150abd1a0a 100644 --- a/package/dtv-scan-tables/dtv-scan-tables.mk +++ b/package/dtv-scan-tables/dtv-scan-tables.mk @@ -4,7 +4,7 @@ # ################################################################################ -DTV_SCAN_TABLES_VERSION = 6d019038cd04e837d9dd58701202c15924c1c654 +DTV_SCAN_TABLES_VERSION = 25ee9e0ce4bbacdb278d4cff306ceb6528c4f548 DTV_SCAN_TABLES_SITE = https://git.linuxtv.org/dtv-scan-tables.git DTV_SCAN_TABLES_SITE_METHOD = git diff --git a/package/duktape/Config.in b/package/duktape/Config.in index 5dad5c3e7c7..38f2c48cc01 100644 --- a/package/duktape/Config.in +++ b/package/duktape/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_DUKTAPE bool "duktape" depends on !BR2_STATIC_LIBS + depends on !BR2_OPTIMIZE_FAST help Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint. @@ -14,3 +15,6 @@ config BR2_PACKAGE_DUKTAPE comment "duktape needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS + +comment "duktape can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/duktape/duktape.mk b/package/duktape/duktape.mk index aadd609248b..89a6e451f59 100644 --- a/package/duktape/duktape.mk +++ b/package/duktape/duktape.mk @@ -19,6 +19,10 @@ endef define DUKTAPE_INSTALL_STAGING_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary \ INSTALL_PREFIX=$(STAGING_DIR)/usr install + $(INSTALL) -D -m 0644 $(DUKTAPE_PKGDIR)/duktape.pc.in \ + $(STAGING_DIR)/usr/lib/pkgconfig/duktape.pc + $(SED) 's/@VERSION@/$(DUKTAPE_VERSION)/g;' \ + $(STAGING_DIR)/usr/lib/pkgconfig/duktape.pc endef define DUKTAPE_INSTALL_TARGET_CMDS diff --git a/package/duktape/duktape.pc.in b/package/duktape/duktape.pc.in new file mode 100644 index 00000000000..eaef5f69940 --- /dev/null +++ b/package/duktape/duktape.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: duktape +Description: Embeddable Javascript engine +Version: @VERSION@ +Libs: -L${libdir} -lduktape +Cflags: -I${includedir}/ diff --git a/package/duma/duma.mk b/package/duma/duma.mk index 0e8a623bde5..906db872d5c 100644 --- a/package/duma/duma.mk +++ b/package/duma/duma.mk @@ -21,7 +21,7 @@ define DUMA_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ OS=linux \ DUMA_OPTIONS="$(DUMA_OPTIONS)" \ - $(DUMA_CPP) -C $(@D) + CPPFLAGS="$(TARGET_CXXFLAGS) -std=c++11" -C $(@D) endef define DUMA_INSTALL_STAGING_CMDS diff --git a/package/dvb-apps/dvb-apps.mk b/package/dvb-apps/dvb-apps.mk index ffab0db6827..161c1f8495f 100644 --- a/package/dvb-apps/dvb-apps.mk +++ b/package/dvb-apps/dvb-apps.mk @@ -11,7 +11,7 @@ DVB_APPS_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1+ DVB_APPS_LICENSE_FILES = COPYING COPYING.LGPL ifeq ($(BR2_ENABLE_LOCALE),) -DVB_APPS_DEPENDENCIES = libiconv +DVB_APPS_DEPENDENCIES += libiconv DVB_APPS_LDLIBS += -liconv endif diff --git a/package/e2fsprogs/0001-create_inode-set-xattrs-to-the-root-directory-as-wel.patch b/package/e2fsprogs/0001-create_inode-set-xattrs-to-the-root-directory-as-wel.patch deleted file mode 100644 index 2e9c3ccef0a..00000000000 --- a/package/e2fsprogs/0001-create_inode-set-xattrs-to-the-root-directory-as-wel.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1826d8965057bd84517156a4b75c81bdfdae9ebc Mon Sep 17 00:00:00 2001 -From: Antoine Tenart -Date: Wed, 1 Jul 2020 10:06:03 +0200 -Subject: [PATCH] create_inode: set xattrs to the root directory as well - -populate_fs do copy the xattrs for all files and directories, but the -root directory is skipped and as a result its extended attributes aren't -set. This is an issue when using mkfs to build a full system image that -can be used with SElinux in enforcing mode without making any runtime -fix at first boot. - -This patch adds logic to set the root directory's extended attributes. - -[Uspstream status: sent to the mailing list and has a Reviewed-by tag, -https://lore.kernel.org/linux-ext4/20200717100846.497546-1-antoine.tenart@bootlin.com/] - -Signed-off-by: Antoine Tenart ---- - misc/create_inode.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/misc/create_inode.c b/misc/create_inode.c -index e8d1df6b55a5..fe66faf1b53d 100644 ---- a/misc/create_inode.c -+++ b/misc/create_inode.c -@@ -1050,9 +1050,17 @@ errcode_t populate_fs2(ext2_filsys fs, ext2_ino_t parent_ino, - file_info.path_max_len = 255; - file_info.path = calloc(file_info.path_max_len, 1); - -+ retval = set_inode_xattr(fs, root, source_dir); -+ if (retval) { -+ com_err(__func__, retval, -+ _("while copying xattrs on root directory")); -+ goto out; -+ } -+ - retval = __populate_fs(fs, parent_ino, source_dir, root, &hdlinks, - &file_info, fs_callbacks); - -+out: - free(file_info.path); - free(hdlinks.hdl); - return retval; --- -2.26.2 - diff --git a/package/e2fsprogs/0001-libext2fs-add-sanity-check-to-extent-manipulation.patch b/package/e2fsprogs/0001-libext2fs-add-sanity-check-to-extent-manipulation.patch new file mode 100644 index 00000000000..b5299a2a78e --- /dev/null +++ b/package/e2fsprogs/0001-libext2fs-add-sanity-check-to-extent-manipulation.patch @@ -0,0 +1,59 @@ +From ab51d587bb9b229b1fade1afd02e1574c1ba5c76 Mon Sep 17 00:00:00 2001 +From: Lukas Czerner +Date: Thu, 21 Apr 2022 19:31:48 +0200 +Subject: libext2fs: add sanity check to extent manipulation + +It is possible to have a corrupted extent tree in such a way that a leaf +node contains zero extents in it. Currently if that happens and we try +to traverse the tree we can end up accessing wrong data, or possibly +even uninitialized memory. Make sure we don't do that. + +Additionally make sure that we have a sane number of bytes passed to +memmove() in ext2fs_extent_delete(). + +Note that e2fsck is currently unable to spot and fix such corruption in +pass1. + +Signed-off-by: Lukas Czerner +Reported-by: Nils Bars +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2068113 +Addresses: CVE-2022-1304 +Addresses-Debian-Bug: #1010263 +Signed-off-by: Theodore Ts'o + +[Retrieved from: +https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?h=maint&id=ab51d587bb9b229b1fade1afd02e1574c1ba5c76] +Signed-off-by: Fabrice Fontaine +--- + lib/ext2fs/extent.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c +index b324c7b0..1a206a16 100644 +--- a/lib/ext2fs/extent.c ++++ b/lib/ext2fs/extent.c +@@ -495,6 +495,10 @@ retry: + ext2fs_le16_to_cpu(eh->eh_entries); + newpath->max_entries = ext2fs_le16_to_cpu(eh->eh_max); + ++ /* Make sure there is at least one extent present */ ++ if (newpath->left <= 0) ++ return EXT2_ET_EXTENT_NO_DOWN; ++ + if (path->left > 0) { + ix++; + newpath->end_blk = ext2fs_le32_to_cpu(ix->ei_block); +@@ -1630,6 +1634,10 @@ errcode_t ext2fs_extent_delete(ext2_extent_handle_t handle, int flags) + + cp = path->curr; + ++ /* Sanity check before memmove() */ ++ if (path->left < 0) ++ return EXT2_ET_EXTENT_LEAF_BAD; ++ + if (path->left) { + memmove(cp, cp + sizeof(struct ext3_extent_idx), + path->left * sizeof(struct ext3_extent_idx)); +-- +cgit + diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in index b3d12b4a63d..23c4ef30b31 100644 --- a/package/e2fsprogs/Config.in +++ b/package/e2fsprogs/Config.in @@ -31,6 +31,19 @@ config BR2_PACKAGE_E2FSPROGS_E2IMAGE help Save critical ext2/ext3/ext4 filesystem metadata to a file +config BR2_PACKAGE_E2FSPROGS_E2SCRUB + bool "e2scrub" + depends on BR2_PACKAGE_BASH # runtime + depends on BR2_PACKAGE_COREUTILS # runtime + depends on BR2_PACKAGE_LVM2 # runtime + depends on BR2_PACKAGE_UTIL_LINUX # runtime + help + Check the contents of a mounted ext[234] filesystem + +comment "e2scrub needs bash, coreutils, lvm2, and util-linux" + depends on !BR2_PACKAGE_BASH || !BR2_PACKAGE_COREUTILS \ + || !BR2_PACKAGE_LVM2 || !BR2_PACKAGE_UTIL_LINUX + config BR2_PACKAGE_E2FSPROGS_E4DEFRAG bool "e4defrag" depends on !BR2_nios2 # fallocate not implemented diff --git a/package/e2fsprogs/e2fsprogs.hash b/package/e2fsprogs/e2fsprogs.hash index b563af27f23..452c8d5689b 100644 --- a/package/e2fsprogs/e2fsprogs.hash +++ b/package/e2fsprogs/e2fsprogs.hash @@ -1,5 +1,5 @@ -# https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.6/sha256sums.asc -sha256 ffa7ae6954395abdc50d0f8605d8be84736465afc53b8938ef473fcf7ff44256 e2fsprogs-1.45.6.tar.xz +# From https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.5/sha256sums.asc +sha256 2f16c9176704cf645dc69d5b15ff704ae722d665df38b2ed3cfc249757d8d81e e2fsprogs-1.46.5.tar.xz # Locally calculated sha256 5da5ef153e559c1d990d4c3eedbedd4442db892d37eae1f35fff069de8ec9020 NOTICE sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index eb127b42d38..39c9e076447 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -E2FSPROGS_VERSION = 1.45.6 +E2FSPROGS_VERSION = 1.46.5 E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION) E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet) @@ -12,6 +12,9 @@ E2FSPROGS_LICENSE_FILES = NOTICE lib/ss/mit-sipb-copyright.h lib/et/internal.h E2FSPROGS_CPE_ID_VENDOR = e2fsprogs_project E2FSPROGS_INSTALL_STAGING = YES +# 0001-libext2fs-add-sanity-check-to-extent-manipulation.patch +E2FSPROGS_IGNORE_CVES += CVE-2022-1304 + # Use libblkid and libuuid from util-linux for host and target packages. # This prevents overriding them with e2fsprogs' ones, which may cause # problems for other packages. @@ -27,6 +30,7 @@ HOST_E2FSPROGS_CONF_OPTS = \ --disable-defrag \ --disable-e2initrd-helper \ --disable-fuse2fs \ + --disable-fsck \ --disable-libblkid \ --disable-libuuid \ --disable-testio-debug \ @@ -74,10 +78,26 @@ E2FSPROGS_INSTALL_STAGING_OPTS = \ DESTDIR=$(STAGING_DIR) \ install-libs +# e2scrub has no associated --enable/disable option +ifneq ($(BR2_PACKAGE_E2FSPROGS_E2SCRUB),y) +E2FSPROGS_MAKE_OPTS += E2SCRUB_DIR= +endif + +E2FSPROGS_INSTALL_TARGET_OPTS = \ + $(E2FSPROGS_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) \ + install + # Package does not build in parallel due to improper make rules define HOST_E2FSPROGS_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) install install-libs endef +# Remove compile_et which raises a build failure with samba4 +define HOST_E2FSPROGS_REMOVE_COMPILE_ET + $(RM) $(HOST_DIR)/bin/compile_et +endef +HOST_E2FSPROGS_POST_INSTALL_HOOKS += HOST_E2FSPROGS_REMOVE_COMPILE_ET + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/earlyoom/earlyoom.hash b/package/earlyoom/earlyoom.hash index b0095cb8ece..ab91383ee47 100644 --- a/package/earlyoom/earlyoom.hash +++ b/package/earlyoom/earlyoom.hash @@ -1,4 +1,4 @@ # locally calculated -sha256 b81804fc4470f996014d52252a87a1cf3b43d3d8754140035b10dcee349302b8 earlyoom-1.6.tar.gz +sha256 227234cf9e77831c21c748bd361e1a7c415e158b96034eacd59e70586779bb6c earlyoom-1.6.2.tar.gz # License files, locally calculated sha256 e730b3ec729de46d987ae73f30ed337e4cbe832f09205330acfa71848c6e0087 LICENSE diff --git a/package/earlyoom/earlyoom.mk b/package/earlyoom/earlyoom.mk index 066a479bd1d..d1cf9d4de1c 100644 --- a/package/earlyoom/earlyoom.mk +++ b/package/earlyoom/earlyoom.mk @@ -4,7 +4,7 @@ # ################################################################################ -EARLYOOM_VERSION = 1.6 +EARLYOOM_VERSION = 1.6.2 EARLYOOM_SITE = $(call github,rfjakob,earlyoom,v$(EARLYOOM_VERSION)) EARLYOOM_LICENSE = MIT EARLYOOM_LICENSE_FILES = LICENSE diff --git a/package/easyframes/0001-CMakesLists.txt-fix-static-build-with-pcap.patch b/package/easyframes/0001-CMakesLists.txt-fix-static-build-with-pcap.patch deleted file mode 100644 index 3f13613e9da..00000000000 --- a/package/easyframes/0001-CMakesLists.txt-fix-static-build-with-pcap.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 89ad9c143825b13d028c2f1713d55e83135d5c0f Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 5 Sep 2020 15:38:33 +0200 -Subject: [PATCH] CMakesLists.txt: fix static build with pcap - -Use pkg-config to find the dependencies of pcap such as libnl otherwise -a static-only build will fail on: - -[100%] Linking C executable ef -/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /srv/storage/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libpcap.a(pcap-linux.o): in function `nl80211_init': -pcap-linux.c:(.text+0x460): undefined reference to `nl_socket_alloc' -/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: pcap-linux.c:(.text+0x498): undefined reference to `genl_connect' - -Fixes: - - http://autobuild.buildroot.org/results/99062bfc8c21c32bc835acae675aede7c9cf0c90 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/microchip-ung/easyframes/pull/2] ---- - CMakeLists.txt | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a62a950..5be128c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,13 +7,21 @@ include_directories(src) - - - set(_LIBPCAP "") --FIND_PATH(PCAP_INCLUDE_DIR NAMES pcap/pcap.h) --FIND_LIBRARY(PCAP_LIBRARY NAMES pcap) -- --if (PCAP_LIBRARY) -+find_package(PkgConfig) -+pkg_check_modules(PCAP libpcap) -+if (PCAP_FOUND) - add_definitions(-DHAS_LIBPCAP) -- include_directories(${PCAP_INCLUDE_DIR}) -- set(_LIBPCAP ${PCAP_LIBRARY}) -+ include_directories(${PCAP_INCLUDE_DIRS}) -+ set(_LIBPCAP ${PCAP_LIBRARIES}) -+else() -+ FIND_PATH(PCAP_INCLUDE_DIR NAMES pcap/pcap.h) -+ FIND_LIBRARY(PCAP_LIBRARY NAMES pcap) -+ -+ if (PCAP_LIBRARY) -+ add_definitions(-DHAS_LIBPCAP) -+ include_directories(${PCAP_INCLUDE_DIR}) -+ set(_LIBPCAP ${PCAP_LIBRARY}) -+ endif() - endif() - - add_library(libef STATIC --- -2.28.0 - diff --git a/package/easyframes/0002-Fix-different-compiling-issues.patch b/package/easyframes/0002-Fix-different-compiling-issues.patch deleted file mode 100644 index e4d16a73a54..00000000000 --- a/package/easyframes/0002-Fix-different-compiling-issues.patch +++ /dev/null @@ -1,91 +0,0 @@ -From d3d179c3c39ec10ec636b325325ad8e18ae9542f Mon Sep 17 00:00:00 2001 -From: Horatiu Vultur -Date: Tue, 1 Sep 2020 13:03:47 +0200 -Subject: [PATCH] Fix different compiling issues - -[Retrieved from: -https://github.com/microchip-ung/easyframes/commit/d3d179c3c39ec10ec636b325325ad8e18ae9542f] -Signed-off-by: Fabrice Fontaine ---- - src/ef-exec.c | 4 ++-- - src/ef-parse-bytes.c | 8 ++++++-- - src/ef.h | 4 ++-- - 3 files changed, 10 insertions(+), 6 deletions(-) - -diff --git a/src/ef-exec.c b/src/ef-exec.c -index 3d184a0..824164e 100644 ---- a/src/ef-exec.c -+++ b/src/ef-exec.c -@@ -108,7 +108,7 @@ int ring_wait_for_init(tpacket_ring *ring) { - - - int raw_socket(cmd_socket_t *cmd_socket) { -- int s, res, val, ifidx; -+ int s, res, val, ifidx, i; - struct sockaddr_ll sa = {}; - struct packet_mreq mr = {}; - -@@ -194,7 +194,7 @@ int raw_socket(cmd_socket_t *cmd_socket) { - // - // TODO: This does not seem to be needed, if we uses a RX ring buffer - // instead (atleast that seems to work for libpcap) -- for (int i = 0; i < 10000; ++i) { -+ for (i = 0; i < 10000; ++i) { - struct msghdr msg = { 0 }; - int res = recvmsg(s, &msg, MSG_DONTWAIT); - if (res < 0) -diff --git a/src/ef-parse-bytes.c b/src/ef-parse-bytes.c -index 1dd590f..1785f45 100644 ---- a/src/ef-parse-bytes.c -+++ b/src/ef-parse-bytes.c -@@ -2,6 +2,7 @@ - #include - #include - #include -+#include - #include - - struct start_with { -@@ -212,7 +213,9 @@ buf_t *parse_bytes(const char *s, int bytes) { - for (s = data_begin; *s; ++s) { - int match_found = 0; - for (i = 0; i < sizeof(has_chars)/sizeof(has_chars[0]); ++i) { -- for (const char *set_i = has_chars[i].char_set; *set_i; ++set_i) { -+ const char *set_i; -+ -+ for (set_i = has_chars[i].char_set; *set_i; ++set_i) { - if (*s == *set_i) { - has_mask |= has_chars[i].mask; - match_found = 1; -@@ -313,6 +316,7 @@ buf_t *parse_bytes(const char *s, int bytes) { - ((has_mask & ~(HAS_HEX_COL)) == 0) && (has_mask & HAS_COLON)) { - // This will be treated as a mac-address - uint8_t m[6] = {}; -+ const char *x; - - // We want to be able to write something like this (like we RFC2373 - // specifies for IPv6): -@@ -334,7 +338,7 @@ buf_t *parse_bytes(const char *s, int bytes) { - - //po("line: %d data_begin: %s\n", __LINE__, data_begin); - -- for (const char *x = data_begin; *x; ++x) { -+ for (x = data_begin; *x; ++x) { - int colon = 0; - int val = 0; - -diff --git a/src/ef.h b/src/ef.h -index 8926c25..f4c1629 100644 ---- a/src/ef.h -+++ b/src/ef.h -@@ -59,8 +59,8 @@ void bl_check(buf_list_t *b); - void bl_reset(buf_list_t *b); - void bset_value(buf_t *b, uint8_t v); - --inline void bl_init(buf_list_t *b) { bl_reset(b); } --inline void bl_destroy(buf_list_t *b) { bl_reset(b); } -+static inline void bl_init(buf_list_t *b) { bl_reset(b); } -+static inline void bl_destroy(buf_list_t *b) { bl_reset(b); } - - int bl_printf_append(buf_list_t *b, const char *format, ...) - __attribute__ ((format (printf, 2, 3))); diff --git a/package/easyframes/easyframes.hash b/package/easyframes/easyframes.hash index 0f16e0caa1e..d9a804aad0f 100644 --- a/package/easyframes/easyframes.hash +++ b/package/easyframes/easyframes.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 3c0449b3129c29b5ecf67b689f1a75ffc65fde3c5f62811e2f0439ce4f4af392 easyframes-0.3.tar.gz -sha256 24f37598e822a1411fb7164ce7eb3ef120aea8279016399abc282c2381ce3f57 COPYING +sha256 0b8f4af8c41b0b1de2529d500aef6b9be7609f25b28e6a863129578a66806e5d easyframes-0.4.tar.gz +sha256 24f37598e822a1411fb7164ce7eb3ef120aea8279016399abc282c2381ce3f57 COPYING diff --git a/package/easyframes/easyframes.mk b/package/easyframes/easyframes.mk index 1821ce703cc..10e1561232a 100644 --- a/package/easyframes/easyframes.mk +++ b/package/easyframes/easyframes.mk @@ -4,7 +4,7 @@ # ################################################################################ -EASYFRAMES_VERSION = 0.3 +EASYFRAMES_VERSION = 0.4 EASYFRAMES_SITE = $(call github,microchip-ung,easyframes,v$(EASYFRAMES_VERSION)) EASYFRAMES_DEPENDENCIES = host-pkgconf libpcap EASYFRAMES_LICENSE = MIT diff --git a/package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch b/package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch new file mode 100644 index 00000000000..84b4d0f392d --- /dev/null +++ b/package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch @@ -0,0 +1,105 @@ +From 7297a8ef3cab3b0faf1426622ee902a2144e2e89 Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Wed, 24 Mar 2021 11:27:14 +0100 +Subject: [PATCH] ebtables.h: restore KERNEL_64_USERSPACE_32 checks + +Commit e6359eedfbf497e52d52451072aea4713ed80a88 replaced the file ebtables.h +but removed the usage of KERNEL_64_USERSPACE_32. This breaks boards where +such flag is relevant, with following messages: + +[ 6364.971346] kernel msg: ebtables bug: please report to author: Standard target size too big + +Unable to update the kernel. Two possible causes: +1. Multiple ebtables programs were executing simultaneously. The ebtables + userspace tool doesn't by default support multiple ebtables programs running + concurrently. The ebtables option --concurrent or a tool like flock can be + used to support concurrent scripts that update the ebtables kernel tables. +2. The kernel doesn't support a certain ebtables extension, consider + recompiling your kernel or insmod the extension. + +Analysis shows that the structure 'ebt_replace' passed from userspace +ebtables to the kernel, is too small, i.e 80 bytes instead of 120 in case of +64-bit kernel. + +Note that the ebtables build system seems to assume that 'sparc64' is the +only case where KERNEL_64_USERSPACE_32 is relevant, but this is not true. +This situation can happen on many architectures, especially in embedded +systems. For example, an Aarch64 processor with kernel in 64-bit but +userland build for 32-bit Arm. Or a 64-bit MIPS Octeon III processor, with +userland running in the 'n32' ABI. + +Signed-off-by: Thomas De Schampheleire +Upstream-Status: http://patchwork.ozlabs.org/project/netfilter-devel/patch/20210518181730.13436-1-patrickdepinguin@gmail.com/ +--- + include/linux/netfilter_bridge/ebtables.h | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/include/linux/netfilter_bridge/ebtables.h b/include/linux/netfilter_bridge/ebtables.h +index 5be75f2..3c2b61e 100644 +--- a/include/linux/netfilter_bridge/ebtables.h ++++ b/include/linux/netfilter_bridge/ebtables.h +@@ -49,12 +49,21 @@ struct ebt_replace { + /* total size of the entries */ + unsigned int entries_size; + /* start of the chains */ ++#ifdef KERNEL_64_USERSPACE_32 ++ uint64_t hook_entry[NF_BR_NUMHOOKS]; ++#else + struct ebt_entries *hook_entry[NF_BR_NUMHOOKS]; ++#endif + /* nr of counters userspace expects back */ + unsigned int num_counters; + /* where the kernel will put the old counters */ ++#ifdef KERNEL_64_USERSPACE_32 ++ uint64_t counters; ++ uint64_t entries; ++#else + struct ebt_counter *counters; + char *entries; ++#endif + }; + + struct ebt_replace_kernel { +@@ -129,6 +138,9 @@ struct ebt_entry_match { + } u; + /* size of data */ + unsigned int match_size; ++#ifdef KERNEL_64_USERSPACE_32 ++ unsigned int pad; ++#endif + unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); + }; + +@@ -142,6 +154,9 @@ struct ebt_entry_watcher { + } u; + /* size of data */ + unsigned int watcher_size; ++#ifdef KERNEL_64_USERSPACE_32 ++ unsigned int pad; ++#endif + unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); + }; + +@@ -155,6 +170,9 @@ struct ebt_entry_target { + } u; + /* size of data */ + unsigned int target_size; ++#ifdef KERNEL_64_USERSPACE_32 ++ unsigned int pad; ++#endif + unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); + }; + +@@ -162,6 +180,9 @@ struct ebt_entry_target { + struct ebt_standard_target { + struct ebt_entry_target target; + int verdict; ++#ifdef KERNEL_64_USERSPACE_32 ++ unsigned int pad; ++#endif + }; + + /* one entry */ +-- +2.26.2 + diff --git a/package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch b/package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch new file mode 100644 index 00000000000..cb57b395690 --- /dev/null +++ b/package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch @@ -0,0 +1,51 @@ +From ebf0236270b977a62c522bc32810bc9f8edc72d1 Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Wed, 24 Mar 2021 13:40:14 +0100 +Subject: [PATCH] configure.ac: add option --enable-kernel-64-userland-32 + +The ebtables build system seems to assume that 'sparc64' is the +only case where KERNEL_64_USERSPACE_32 is relevant, but this is not true. +This situation can happen on many architectures, especially in embedded +systems. For example, an Aarch64 processor with kernel in 64-bit but +userland build for 32-bit Arm. Or a 64-bit MIPS Octeon III processor, with +userland running in the 'n32' ABI. + +While it is possible to set CFLAGS in the environment when calling the +configure script, the caller would need to know to not only specify +KERNEL_64_USERSPACE_32 but also the EBT_MIN_ALIGN value. + +Instead, add a configure option. All internal details can then be handled by +the configure script. + +Signed-off-by: Thomas De Schampheleire +Upstream-Status: http://patchwork.ozlabs.org/project/netfilter-devel/patch/20210518181730.13436-2-patrickdepinguin@gmail.com/ +--- + configure.ac | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c24ede3..3e89c0c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -15,10 +15,17 @@ AS_IF([test "x$LOCKFILE" = x], [LOCKFILE="/var/lib/ebtables/lock"]) + + regular_CFLAGS="-Wall -Wunused" + regular_CPPFLAGS="" ++ + case "$host" in + sparc64-*) +- regular_CPPFLAGS="$regular_CPPFLAGS -DEBT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32";; ++ enable_kernel_64_userland_32=yes ;; + esac ++AC_ARG_ENABLE([kernel-64-userland-32], ++ AC_HELP_STRING([--enable-kernel-64-userland-32], [indicate that ebtables will be built as a 32-bit application but run under a 64-bit kernel]) ++) ++AS_IF([test "x$enable_kernel_64_userland_32" = xyes], ++ [regular_CPPFLAGS="$regular_CPPFLAGS -DEBT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32"] ++) + + AC_SUBST([regular_CFLAGS]) + AC_SUBST([regular_CPPFLAGS]) +-- +2.26.2 + diff --git a/package/ebtables/ebtables.mk b/package/ebtables/ebtables.mk index 54932334c27..2f9dd5ac4bf 100644 --- a/package/ebtables/ebtables.mk +++ b/package/ebtables/ebtables.mk @@ -11,6 +11,12 @@ EBTABLES_LICENSE_FILES = COPYING EBTABLES_CPE_ID_VENDOR = netfilter EBTABLES_SELINUX_MODULES = iptables +# for 0003-configure.ac-add-option-enable-kernel-64-userland-32.patch +EBTABLES_AUTORECONF = YES +ifeq ($(BR2_KERNEL_64_USERLAND_32),y) +EBTABLES_CONF_OPTS += --enable-kernel-64-userland-32 +endif + ifeq ($(BR2_PACKAGE_EBTABLES_UTILS_SAVE),y) define EBTABLES_INSTALL_TARGET_UTILS_SAVE $(INSTALL) -m 0755 -D $(@D)/ebtables-save.sh $(TARGET_DIR)/usr/sbin/ebtables-legacy-save diff --git a/package/ed/ed.hash b/package/ed/ed.hash index 3169923c3de..90d467d1f3f 100644 --- a/package/ed/ed.hash +++ b/package/ed/ed.hash @@ -1,4 +1,4 @@ -# From https://lists.gnu.org/archive/html/bug-ed/2020-02/msg00002.html -sha256 cfc07a14ab048a758473ce222e784fbf031485bcd54a76f74acfee1f390d8b2c ed-1.16.tar.lz +# From https://lists.gnu.org/archive/html/bug-ed/2021-01/msg00000.html +sha256 71de39883c25b6fab44add80635382a10c9bf154515b94729f4a6529ddcc5e54 ed-1.17.tar.lz # Locally calculated sha256 f03a12bef9dfb7281864a0dd965166d4f4ec7a66633df2bc72fa4363e57de02c COPYING diff --git a/package/ed/ed.mk b/package/ed/ed.mk index 1b299781d02..975cf3be104 100644 --- a/package/ed/ed.mk +++ b/package/ed/ed.mk @@ -4,7 +4,7 @@ # ################################################################################ -ED_VERSION = 1.16 +ED_VERSION = 1.17 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_SOURCE = ed-$(ED_VERSION).tar.lz ED_LICENSE = GPL-3.0+ diff --git a/package/edk2-platforms/Config.in b/package/edk2-platforms/Config.in new file mode 100644 index 00000000000..17633c0fdd8 --- /dev/null +++ b/package/edk2-platforms/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_EDK2_PLATFORMS + bool + help + EDK2 description files for all supported platforms. + The main EDK2 bootloader package will depend on these + description files while building firmware for some platforms. + + https://github.com/tianocore/edk2-platforms diff --git a/package/edk2-platforms/edk2-platforms.hash b/package/edk2-platforms/edk2-platforms.hash new file mode 100644 index 00000000000..30ae235078d --- /dev/null +++ b/package/edk2-platforms/edk2-platforms.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 dfdc34fea86e5037a3a6cbd2a83b1f655f16b4c9ab4f5ff9da91e45a358c9a14 edk2-platforms-db922e1253cb6f1fc456805bc42fb7d401eed5c2.tar.gz +sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt diff --git a/package/edk2-platforms/edk2-platforms.mk b/package/edk2-platforms/edk2-platforms.mk new file mode 100644 index 00000000000..430791ae3e0 --- /dev/null +++ b/package/edk2-platforms/edk2-platforms.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# edk2-platforms +# +################################################################################ + +# Keep in sync with latest commit as of the release date for boot/edk2 +EDK2_PLATFORMS_VERSION = db922e1253cb6f1fc456805bc42fb7d401eed5c2 +EDK2_PLATFORMS_SITE = $(call github,tianocore,edk2-platforms,$(EDK2_PLATFORMS_VERSION)) +EDK2_PLATFORMS_LICENSE = BSD-2-Clause +EDK2_PLATFORMS_LICENSE_FILE = License.txt +EDK2_PLATFORMS_INSTALL_TARGET = NO +EDK2_PLATFORMS_INSTALL_STAGING = YES + +# There is nothing to build for edk2-platforms. All we need to do is to copy +# all description files to staging, for other packages to build with. +define EDK2_PLATFORMS_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/share/edk2-platforms + cp -rf $(@D)/*/ $(STAGING_DIR)/usr/share/edk2-platforms/ +endef + +$(eval $(generic-package)) diff --git a/package/efibootmgr/0002-remove-extra-decl.patch b/package/efibootmgr/0002-remove-extra-decl.patch new file mode 100644 index 00000000000..f838d50a201 --- /dev/null +++ b/package/efibootmgr/0002-remove-extra-decl.patch @@ -0,0 +1,28 @@ +From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Wed, 13 Jun 2018 09:41:01 -0400 +Subject: [PATCH] remove extra decl + +Downloaded from upstream commit +https://github.com/rhboot/efibootmgr/commit/99b578501643377e0b1994b2a068b790d189d5ad + +Signed-off-by: Peter Jones +Signed-off-by: Bernd Kuhls +--- + src/efibootmgr.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/efibootmgr.c b/src/efibootmgr.c +index de38f01..4e1a680 100644 +--- a/src/efibootmgr.c ++++ b/src/efibootmgr.c +@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv) + "invalid numeric value %s\n", + optarg); + } +- /* XXX efivar-36 accidentally doesn't have a public +- * header for this */ +- extern int efi_set_verbose(int verbosity, FILE *errlog); + efi_set_verbose(opts.verbose - 2, stderr); + break; + case 'V': diff --git a/package/efibootmgr/Config.in b/package/efibootmgr/Config.in index d31f9b13ee6..98ff71c9966 100644 --- a/package/efibootmgr/Config.in +++ b/package/efibootmgr/Config.in @@ -15,7 +15,7 @@ config BR2_PACKAGE_EFIBOOTMGR https://github.com/rhboot/efibootmgr -comment "efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" +comment "efibootmgr needs a toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ diff --git a/package/efibootmgr/efibootmgr.hash b/package/efibootmgr/efibootmgr.hash index b786a415a8b..fdbc9a2732a 100644 --- a/package/efibootmgr/efibootmgr.hash +++ b/package/efibootmgr/efibootmgr.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 5a708b9690cdc631fd75d8f598128d20cad007e711b975b0143f9517c2dd1bf4 efibootmgr-15.tar.gz -sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 22a95ebe0d5c9fb2915b3a100450f8f37484d1dbb8b296f55b343cc84f10397d efibootmgr-17.tar.gz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/efibootmgr/efibootmgr.mk b/package/efibootmgr/efibootmgr.mk index 079a9b72814..7e09b5f6591 100644 --- a/package/efibootmgr/efibootmgr.mk +++ b/package/efibootmgr/efibootmgr.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFIBOOTMGR_VERSION = 15 +EFIBOOTMGR_VERSION = 17 EFIBOOTMGR_SITE = $(call github,rhboot,efibootmgr,$(EFIBOOTMGR_VERSION)) EFIBOOTMGR_LICENSE = GPL-2.0+ EFIBOOTMGR_LICENSE_FILES = COPYING diff --git a/package/efivar/0005-ucs2.h-remove-unused-variable.patch b/package/efivar/0005-ucs2.h-remove-unused-variable.patch new file mode 100644 index 00000000000..a814043ce81 --- /dev/null +++ b/package/efivar/0005-ucs2.h-remove-unused-variable.patch @@ -0,0 +1,35 @@ +From fdb803402fb32fa6d020bac57a40c7efe4aabb7d Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 5 Mar 2019 17:23:24 +0100 +Subject: [PATCH] ucs2.h: remove unused variable + +The const uint16_t pointer is not used since now the two bytes of the +UCS-2 chars are checked to know if is the termination of the string. + +Signed-off-by: Javier Martinez Canillas +Signed-off-by: Peter Korsgaard +--- + src/ucs2.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/ucs2.h b/src/ucs2.h +index edd8367..e0390c3 100644 +--- a/src/ucs2.h ++++ b/src/ucs2.h +@@ -26,12 +26,11 @@ static inline size_t UNUSED + ucs2len(const void *vs, ssize_t limit) + { + ssize_t i; +- const uint16_t *s = vs; + const uint8_t *s8 = vs; + + for (i = 0; + i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; +- i++, s8 += 2, s++) ++ i++, s8 += 2) + ; + return i; + } +-- +2.20.1 + diff --git a/package/efivar/0006-ucs2.h-fix-logic-that-checks-for-UCS-2-string-termin.patch b/package/efivar/0006-ucs2.h-fix-logic-that-checks-for-UCS-2-string-termin.patch new file mode 100644 index 00000000000..00b20332ef6 --- /dev/null +++ b/package/efivar/0006-ucs2.h-fix-logic-that-checks-for-UCS-2-string-termin.patch @@ -0,0 +1,32 @@ +From 4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 5 Mar 2019 17:23:32 +0100 +Subject: [PATCH] ucs2.h: fix logic that checks for UCS-2 string termination + +Currently the loop to count the lenght of the UCS-2 string ends if either +of the two bytes are 0, but 0 is a valid value for UCS-2 character codes. + +So only break the loop when 0 is the value for both UCS-2 char bytes. + +Signed-off-by: Javier Martinez Canillas +Signed-off-by: Peter Korsgaard +--- + src/ucs2.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ucs2.h b/src/ucs2.h +index e0390c3..fd8b056 100644 +--- a/src/ucs2.h ++++ b/src/ucs2.h +@@ -29,7 +29,7 @@ ucs2len(const void *vs, ssize_t limit) + const uint8_t *s8 = vs; + + for (i = 0; +- i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; ++ i < (limit >= 0 ? limit : i+1) && !(s8[0] == 0 && s8[1] == 0); + i++, s8 += 2) + ; + return i; +-- +2.20.1 + diff --git a/package/efivar/0007-gcc.specs-drop-Werror.patch b/package/efivar/0007-gcc.specs-drop-Werror.patch new file mode 100644 index 00000000000..aa717fedafa --- /dev/null +++ b/package/efivar/0007-gcc.specs-drop-Werror.patch @@ -0,0 +1,44 @@ +From 8d5cf3347cce9d644f670ffd1d48e71d74635481 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 22 Mar 2021 07:52:34 +0100 +Subject: [PATCH] gcc.specs: drop -Werror + +Build with -Werror raises the following build failure with gcc 10: + +/home/buildroot/autobuild/run/instance-1/output-1/host/bin/aarch64-none-linux-gnu-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -I/home/buildroot/autobuild/run/instance-1/output-1/build/efivar-37/src/include/ -specs=/home/buildroot/autobuild/run/instance-1/output-1/build/efivar-37/gcc.specs -L. -fPIC -Wl,-z,muldefs -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o efivar efivar.c -lefivar -ldl +In file included from efivar.h:28, + from efivar.c:40: +In function 'text_to_guid', + inlined from 'parse_name.constprop' at efivar.c:157:8: +guid.h:106:2: error: 'strncpy' output may be truncated copying 8 bytes from a string of length 38 [-Werror=stringop-truncation] + 106 | strncpy(eightbytes, text, 8); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cc1: all warnings being treated as errors + +Fixes: + - http://autobuild.buildroot.org/results/fcba72d359f4128515560e9105384cd4deff5043 + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable as Makefiles were reworked and a new +ERRORS parameter was added: +https://github.com/rhboot/efivar/commit/998f617cec92d526e1fadb745673ceef63fa1483] +--- + gcc.specs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc.specs b/gcc.specs +index 45d43d1..1baf11a 100644 +--- a/gcc.specs ++++ b/gcc.specs +@@ -2,7 +2,7 @@ + + -D_GNU_SOURCE + + *efivar_cpp_options: +- -Werror -Wall -std=gnu11 -Wextra ++ -Wall -std=gnu11 -Wextra + + *cpp_options: + + %(efivar_cpp_options) +-- +2.30.1 + diff --git a/package/efl/0001-ecore_evas-engines-drm-meson.build-use-gl_deps-as-en.patch b/package/efl/0001-ecore_evas-engines-drm-meson.build-use-gl_deps-as-en.patch index 185926ac46a..8fa4658f06e 100644 --- a/package/efl/0001-ecore_evas-engines-drm-meson.build-use-gl_deps-as-en.patch +++ b/package/efl/0001-ecore_evas-engines-drm-meson.build-use-gl_deps-as-en.patch @@ -1,4 +1,4 @@ -From 51dfe1863ddc8c5dd576405a9bbb8bca875c1142 Mon Sep 17 00:00:00 2001 +From 00833baac6935bd1e3e9856211bc165c5b02a7bd Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sat, 1 Aug 2020 02:25:47 +0200 Subject: [PATCH] ecore_evas/engines/drm/meson.build: use "gl_deps" as engine @@ -32,5 +32,5 @@ index 58071010d0..0741d7fccd 100644 engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'drm')) -- -2.25.4 +2.31.1 diff --git a/package/efl/0002-ecore_evas-engines-drm-meson.build-fix-gl_drm-includ.patch b/package/efl/0002-ecore_evas-engines-drm-meson.build-fix-gl_drm-includ.patch index 89ec838a728..3465fc50aa0 100644 --- a/package/efl/0002-ecore_evas-engines-drm-meson.build-fix-gl_drm-includ.patch +++ b/package/efl/0002-ecore_evas-engines-drm-meson.build-fix-gl_drm-includ.patch @@ -1,4 +1,4 @@ -From 8548b02c487ba7e9d78489c6db58812ee5cfb197 Mon Sep 17 00:00:00 2001 +From a21e71cc2284a19a34c913aff757e656e3a8c14a Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sat, 1 Aug 2020 01:01:00 +0200 Subject: [PATCH] ecore_evas/engines/drm/meson.build: fix "gl_drm" include @@ -33,5 +33,5 @@ index 0741d7fccd..edda1abd71 100644 shared_module(mod_full_name, engine_src, include_directories : config_dir + [engine_include_dir], -- -2.25.4 +2.31.1 diff --git a/package/efl/0003-ecore_fb-fix-build-with-tslib.patch b/package/efl/0003-ecore_fb-fix-build-with-tslib.patch new file mode 100644 index 00000000000..2756e0932d7 --- /dev/null +++ b/package/efl/0003-ecore_fb-fix-build-with-tslib.patch @@ -0,0 +1,35 @@ +From 836b13de08980d89fc13690284efd355c1b43218 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 10 Jul 2021 22:38:03 +0200 +Subject: [PATCH] ecore_fb: fix build with tslib + +Build with tslib is broken since version 1.25.0 and +https://git.enlightenment.org/core/efl.git/commit/?id=8e3606698eb439eecd7302a885504365aca7e564: + +/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/powerpc-buildroot-linux-uclibc/9.3.0/../../../../powerpc-buildroot-linux-uclibc/bin/ld: src/lib/ecore_fb/libecore_fb.so.1.25.1.p/ecore_fb_ts.c.o: in function `_ecore_fb_ts_fd_handler': +ecore_fb_ts.c:(.text+0x4c): undefined reference to `ts_read_raw' + +Fixes: + - http://autobuild.buildroot.org/results/fa111306b95316eed54771550474dae804fa261e + +Signed-off-by: Fabrice Fontaine +--- + src/lib/ecore_fb/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/ecore_fb/meson.build b/src/lib/ecore_fb/meson.build +index 6d50e0f146..7c7f6786c3 100644 +--- a/src/lib/ecore_fb/meson.build ++++ b/src/lib/ecore_fb/meson.build +@@ -22,7 +22,7 @@ ecore_fb_src = files([ + ecore_fb_lib = library('ecore_fb', + ecore_fb_src, pub_eo_file_target, + c_args : package_c_args, +- dependencies: ecore_fb_pub_deps + ecore_fb_deps, ++ dependencies: ecore_fb_pub_deps + ecore_fb_deps + ecore_fb_ext_deps, + include_directories : config_dir, + install: true, + version : meson.project_version() +-- +2.31.1 + diff --git a/package/efl/Config.in b/package/efl/Config.in index 305d1469a75..c4f82b92e3d 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -21,7 +21,7 @@ config BR2_PACKAGE_EFL help Enlightenment Foundation Libraries - https://enlightenment.org + https://www.enlightenment.org/ if BR2_PACKAGE_EFL @@ -85,6 +85,19 @@ config BR2_PACKAGE_EFL_LIBFRIBIDI so you may also trigger code paths with bugs that are never normally used. +config BR2_PACKAGE_EFL_ELPUT + bool "Enable elput support (recommended)" + default y + depends on BR2_PACKAGE_HAS_UDEV # libinput, efl-eeze + select BR2_PACKAGE_EFL_EEZE + select BR2_PACKAGE_LIBINPUT + select BR2_PACKAGE_LIBXKBCOMMON + help + Eplut is used to support gesture recognition. + +comment "elput needs udev /dev management" + depends on !BR2_PACKAGE_HAS_UDEV + config BR2_PACKAGE_EFL_LIBSNDFILE bool "Enable libsndfile support (recommended)" default y @@ -115,7 +128,8 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)" default y - depends on BR2_PACKAGE_EFL_EEZE + depends on BR2_PACKAGE_HAS_UDEV # efl-eeze + select BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT # libblkid is part of required tools, see EFL's README. @@ -125,8 +139,8 @@ config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT devices etc... and disabling this will hurt support for Enlightenment and its filemanager. -comment "efl's libmount support needs udev /dev management (eeze)" - depends on !BR2_PACKAGE_EFL_EEZE +comment "efl's libmount support needs udev /dev management " + depends on !BR2_PACKAGE_HAS_UDEV config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG bool @@ -173,16 +187,16 @@ config BR2_PACKAGE_EFL_WAYLAND depends on BR2_PACKAGE_WAYLAND depends on BR2_TOOLCHAIN_HAS_THREADS # Evas DRM Engine -> libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # Evas DRM Engine - depends on BR2_PACKAGE_EFL_EEZE # efl drm + depends on BR2_PACKAGE_HAS_UDEV # efl drm, efl-eeze depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only depends on BR2_ENABLE_LOCALE # efl-drm <- efl-elput <- linput select BR2_PACKAGE_EFL_DRM select BR2_PACKAGE_WAYLAND_PROTOCOLS -comment "Wayland support needs udev /dev management (eeze), OpenGL ES w/ EGL, threads, locales" +comment "Wayland support needs udev /dev management, OpenGL ES w/ EGL, threads, locales" depends on BR2_PACKAGE_WAYLAND depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \ - || !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_EFL_EEZE \ + || !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_HAS_UDEV \ || !BR2_ENABLE_LOCALE choice @@ -215,12 +229,11 @@ endchoice # OpenGL support config BR2_PACKAGE_EFL_DRM bool "Evas DRM Engine" - depends on BR2_PACKAGE_EFL_EEZE + depends on BR2_PACKAGE_HAS_UDEV # efl-elput, efl-eeze depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d + select BR2_PACKAGE_EFL_ELPUT select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_LIBINPUT # For elput - select BR2_PACKAGE_LIBXKBCOMMON help This option enable building support for the Evas DRM Engine. @@ -230,9 +243,9 @@ config BR2_PACKAGE_EFL_DRM etc) to handle interfacing with libinput without having to duplicate the code in each subsystem. -comment "Evas DRM Engine needs udev /dev management (eeze), mesa3d w/ EGL support, threads" +comment "Evas DRM Engine needs udev /dev management, mesa3d w/ EGL support, threads" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \ - || !BR2_PACKAGE_EFL_EEZE + || !BR2_PACKAGE_HAS_UDEV comment "libevas loaders" @@ -258,6 +271,7 @@ config BR2_PACKAGE_EFL_WEBP config BR2_PACKAGE_EFL_LIBRAW bool "libraw loader" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libraw select BR2_PACKAGE_LIBRAW help This option enables the Evas generic Libraw loader diff --git a/package/efl/efl.hash b/package/efl/efl.hash index 11e69633b9e..8d50400eb71 100644 --- a/package/efl/efl.hash +++ b/package/efl/efl.hash @@ -1,5 +1,5 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.25.0.tar.xz.sha256sum -sha256 53941f910daf5d1b5162bfdb0dc66f1a04e55a0f2dd7760da0ad63713370956e efl-1.25.0.tar.xz +# From https://www.enlightenment.org/news/2022-01-03-efl-1.26.1 +sha256 86a9677e3d48dd0c13a399ebb417bd417bd8d150d6b06cc491bc92275c88a642 efl-1.26.1.tar.xz sha256 d666b6b2df9f5b791f85c299c65516cb55528b02a807603de246f65f4918ae22 COMPLIANCE sha256 5bceb52d65debe420bc520f2992807740dc928b7fdc3c2e9a74b5889177ddf4c COPYING diff --git a/package/efl/efl.mk b/package/efl/efl.mk index d77cb3092bf..d4a16475e58 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -4,9 +4,9 @@ # ################################################################################ -EFL_VERSION = 1.25.0 +EFL_VERSION = 1.26.1 EFL_SOURCE = efl-$(EFL_VERSION).tar.xz -EFL_SITE = http://download.enlightenment.org/rel/libs/efl +EFL_SITE = https://download.enlightenment.org/rel/libs/efl EFL_LICENSE = BSD-2-Clause, LGPL-2.1+, GPL-2.0+, FTL, MIT EFL_LICENSE_FILES = \ COMPLIANCE \ @@ -67,6 +67,13 @@ else EFL_CONF_OPTS += -Deeze=false endif +ifeq ($(BR2_PACKAGE_EFL_ELPUT),y) +EFL_DEPENDENCIES += libinput libxkbcommon +EFL_CONF_OPTS += -Dinput=true +else +EFL_CONF_OPTS += -Dinput=false +endif + ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y) EFL_DEPENDENCIES += util-linux EFL_CONF_OPTS += -Dlibmount=true @@ -192,7 +199,7 @@ endif ifeq ($(BR2_PACKAGE_EFL_DRM),y) EFL_CONF_OPTS += -Ddrm=true -EFL_DEPENDENCIES += libdrm libegl libinput mesa3d +EFL_DEPENDENCIES += libdrm libegl mesa3d else EFL_CONF_OPTS += -Ddrm=false endif @@ -204,12 +211,10 @@ else EFL_CONF_OPTS += -Dwl=false endif -EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon) - # json evas loader is disabled by default by upstream. # Disable libspectre (ps). # Keep all other evas loader enabled or handled below. -EFL_EVAS_LOADERS_DISABLER = avif gst json ps +EFL_EVAS_LOADERS_DISABLER = avif gst heif json ps # efl already depends on jpeg. ifeq ($(BR2_PACKAGE_EFL_JPEG),y) @@ -302,6 +307,7 @@ HOST_EFL_DEPENDENCIES = \ # Configure options: # audio=false: remove libsndfile dependency. # eeze=false: remove libudev dependency. +# input=false: remove libinput dependency. # libmount=false: remove dependency on host-util-linux libmount. # elua=true: build elua for the host. # physics=false: remove Bullet dependency. @@ -324,6 +330,7 @@ HOST_EFL_CONF_OPTS += \ -Dglib=true \ -Dgstreamer=false \ -Dharfbuzz=false \ + -Dinput=false \ -Dlibmount=false \ -Dlua-interpreter=luajit \ -Dnetwork-backend=none \ @@ -340,7 +347,7 @@ HOST_EFL_CONF_OPTS += \ -Dxinput22=false # List of modular image/vector loaders to disable in efl -HOST_EFL_EVAS_LOADERS_DISABLER = avif bmp dds eet generic gst ico json \ +HOST_EFL_EVAS_LOADERS_DISABLER = avif bmp dds eet generic gst heif ico json \ jp2k pdf pmaps ps psd raw rsvg tga tgv tiff wbmp webp xcf xpm HOST_EFL_CONF_OPTS += -Devas-loaders-disabler=$(subst $(space),$(comma),$(HOST_EFL_EVAS_LOADERS_DISABLER)) diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk index 16454897176..98e6c61e38f 100644 --- a/package/eigen/eigen.mk +++ b/package/eigen/eigen.mk @@ -6,7 +6,7 @@ EIGEN_VERSION = 3.3.7 EIGEN_SOURCE = eigen-$(EIGEN_VERSION).tar.bz2 -EIGEN_SITE = https://gitlab.com/libeigen/eigen/-/archive/$(EIGEN_VERSION) +EIGEN_SITE = $(call gitlab,libeigen,eigen,$(EIGEN_VERSION)) EIGEN_LICENSE = MPL2, BSD-3-Clause, LGPL-2.1 EIGEN_LICENSE_FILES = COPYING.MPL2 COPYING.BSD COPYING.LGPL COPYING.README EIGEN_INSTALL_STAGING = YES @@ -15,6 +15,7 @@ EIGEN_SUPPORTS_IN_SOURCE_BUILD = NO # Default Eigen CMake installs .pc file in /usr/share/pkgconfig # change it to /usr/lib/pkgconfig, to be consistent with other packages. -EIGEN_CONF_OPTS = -DPKGCONFIG_INSTALL_DIR=/usr/lib/pkgconfig +EIGEN_CONF_OPTS = -DPKGCONFIG_INSTALL_DIR=/usr/lib/pkgconfig \ + -DCMAKE_Fortran_COMPILER=$(TARGET_FC) $(eval $(cmake-package)) diff --git a/package/ejabberd/ejabberd.mk b/package/ejabberd/ejabberd.mk index a0b4a635421..2b23701ddf1 100644 --- a/package/ejabberd/ejabberd.mk +++ b/package/ejabberd/ejabberd.mk @@ -9,6 +9,7 @@ EJABBERD_SOURCE = ejabberd-$(EJABBERD_VERSION).tgz EJABBERD_SITE = https://static.process-one.net/ejabberd/downloads/$(EJABBERD_VERSION) EJABBERD_LICENSE = GPL-2.0+ with OpenSSL exception EJABBERD_LICENSE_FILES = COPYING +EJABBERD_CPE_ID_VENDOR = process-one EJABBERD_DEPENDENCIES = getent openssl erlang-eimp host-erlang-lager \ erlang-lager erlang-p1-cache-tab erlang-p1-sip \ erlang-p1-stringprep erlang-p1-stun erlang-p1-tls \ diff --git a/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch b/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch new file mode 100644 index 00000000000..4aa473c244d --- /dev/null +++ b/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch @@ -0,0 +1,377 @@ +From d78acba6510527aaa01a41eaf4c931f7a57e5f44 Mon Sep 17 00:00:00 2001 +From: Romain Naour +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 +--- + 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 ], ++ [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 \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 \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 \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 \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 \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 \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 \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/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch deleted file mode 100644 index a27c4913fbf..00000000000 --- a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch +++ /dev/null @@ -1,79 +0,0 @@ -From b31e9b1bff6832063816b972395179859d1d4619 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 13 Aug 2017 16:03:20 +0200 -Subject: [PATCH] ld-elf2flt: behave properly when called with a name different - from TARGET_ALIAS - -ld-elf2flt currently handles two cases: - - 1 It is called as the wrapper for -ld, generally - installed in the bin/ directory of a toolchain. - - 2 It is called as the wrapper for "ld", generally installed in the - TARGET_ALIAS/bin/ directory of a toolchain. - -Unfortunately, if for some reason it gets called using a FOOBAR-ld -name that is different from -ld, it assumes it is in -case (2), while it really is in case (1). Due to this, the path -mangling logic doesn't work, and it doesn't find ld.real. - -This happens for example when the binary program in bin/ is named -arm-buildroot-uclinux-uclibcgnueabi-ld, but also has a simpler symlink -named arm-linux-ld. In this case, -arm-buildroot-uclinux-uclibcgnueabi-ld is recognized by ld-elf2flt as -containing TARGET_ALIAS, and therefore the proper logic to find -ld.real is applied. However, when arm-linux-ld is used, ld-elf2flt -doesn't find TARGET_ALIAS, and therefore assumes we're being called as -TARGET_ALIAS/bin/ld.. and searches for a program called ld.real in -bin/, which doesn't exist. - -See: - -$ ./output/host/bin/arm-buildroot-uclinux-uclibcgnueabi-ld -/home/thomas/buildroot/buildroot/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files - -$ ./output/host/bin/arm-linux-ld -arm-linux-ld (ld-elf2flt): error trying to exec '/home/thomas/buildroot/buildroot/output/host/bin/ld.real': execvp: No such file or directory - -$ ./output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld -/home/thomas/buildroot/buildroot/output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files - -This commit fixes that by inverting the logic: if we're being called -as just "ld", then we assume it's the program in -TARGET_ALIAS/bin/. Otherwise, we're called through some variant of -TARGET-ld. - -Signed-off-by: Thomas Petazzoni -Submitted-upstream: https://github.com/uclinux-dev/elf2flt/pull/8 ---- - ld-elf2flt.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/ld-elf2flt.c b/ld-elf2flt.c -index de39fe0..c187c2e 100644 ---- a/ld-elf2flt.c -+++ b/ld-elf2flt.c -@@ -506,15 +506,15 @@ int main(int argc, char *argv[]) - the host while those in /lib are for the target. - Make bindir point to the bin dir for bin/-foo. - Make tooldir point to the bin dir for /bin/foo. */ -- if (streqn(elf2flt_progname, TARGET_ALIAS)) { -- tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); -+ if (streqn(elf2flt_progname, "ld")) { -+ tmp = concat(argv0_dir, "../../bin", NULL); - if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { -- tooldir = concat(tmp, "/", NULL); -+ bindir = concat(tmp, "/", NULL); - } - } else { -- tmp = concat(argv0_dir, "../../bin", NULL); -+ tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); - if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { -- bindir = concat(tmp, "/", NULL); -+ tooldir = concat(tmp, "/", NULL); - } - } - --- -2.9.4 - diff --git a/package/elf2flt/0002-elf2flt-add-riscv-64-bits-support.patch b/package/elf2flt/0002-elf2flt-add-riscv-64-bits-support.patch new file mode 100644 index 00000000000..c530bc020d1 --- /dev/null +++ b/package/elf2flt/0002-elf2flt-add-riscv-64-bits-support.patch @@ -0,0 +1,129 @@ +From 3879965dfda08a24e7d44ed76bbcc2f4a41df1fa Mon Sep 17 00:00:00 2001 +From: Damien Le Moal +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 . + +Signed-off-by: Damien Le Moal +--- + elf2flt.c | 23 +++++++++++++++++++++++ + elf2flt.ld.in | 1 + + ld-elf2flt.c | 16 ++++++++++++++++ + 3 files changed, 40 insertions(+) + +diff --git a/elf2flt.c b/elf2flt.c +index ea6b5a1..7100c20 100644 +--- a/elf2flt.c ++++ b/elf2flt.c +@@ -81,6 +81,8 @@ const char *elf2flt_progname; + #include + #elif defined(TARGET_xtensa) + #include ++#elif defined(TARGET_riscv64) ++#include + #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 +@@ -821,6 +825,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 +@@ -1841,6 +1855,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 0df999d..f1eed1f 100644 +--- a/elf2flt.ld.in ++++ b/elf2flt.ld.in +@@ -109,6 +109,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..1a503dd 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.35.1 + diff --git a/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch b/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch deleted file mode 100644 index 953bd79ccf9..00000000000 --- a/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch +++ /dev/null @@ -1,188 +0,0 @@ -From d7eb73163bcea31168c438fc132a0967ac172e3d Mon Sep 17 00:00:00 2001 -From: Max Filippov -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 -Signed-off-by: Max Filippov -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/package/elf2flt/0003-elf2flt-handle-binutils-2.34.patch b/package/elf2flt/0003-elf2flt-handle-binutils-2.34.patch deleted file mode 100644 index 16d56333856..00000000000 --- a/package/elf2flt/0003-elf2flt-handle-binutils-2.34.patch +++ /dev/null @@ -1,377 +0,0 @@ -From 26165906f85d82f0a4456f34b5c60fcaaef48535 Mon Sep 17 00:00:00 2001 -From: Romain Naour -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 ---- - configure.ac | 16 +++++++++++ - elf2flt.c | 81 +++++++++++++++++++++++++++++----------------------- - 2 files changed, 61 insertions(+), 36 deletions(-) - -diff --git a/configure.ac b/configure.ac -index e82eb1d..cf7dea8 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 ], -+ [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 b93aecd..3bcf4fe 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", -@@ -442,7 +451,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); -@@ -694,7 +703,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)))) -@@ -727,7 +736,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)))) -@@ -885,7 +894,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: -@@ -910,7 +919,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: -@@ -938,7 +947,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: -@@ -960,7 +969,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; -@@ -973,7 +982,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: -@@ -986,7 +995,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: -@@ -1012,7 +1021,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; -@@ -1026,7 +1035,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; -@@ -1058,7 +1067,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); -@@ -1068,7 +1077,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 */ -@@ -1099,7 +1108,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(sym_section); - sym_addr += sym_vma + q->addend; - - /* modify high 16 bits, in target order */ -@@ -1132,7 +1141,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; -@@ -1213,7 +1222,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: -@@ -1232,7 +1241,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) -@@ -1242,7 +1251,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 |= ( -@@ -1256,7 +1265,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: -@@ -1288,7 +1297,7 @@ NIOS2_RELOC_ERR: - case R_E1_CONST31: - relocation_needed = 1; - DBG_E1("Handling Reloc \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; -@@ -1303,7 +1312,7 @@ NIOS2_RELOC_ERR: - relocation_needed = 0; - DBG_E1("Handling Reloc \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; -@@ -1330,7 +1339,7 @@ NIOS2_RELOC_ERR: - relocation_needed = 0; - DBG_E1("Handling Reloc \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; -@@ -1363,7 +1372,7 @@ NIOS2_RELOC_ERR: - DBG_E1("Handling Reloc \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; -@@ -1380,7 +1389,7 @@ DIS29_RELOCATION: - relocation_needed = 0; - DBG_E1("Handling Reloc \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; -@@ -1406,7 +1415,7 @@ DIS29_RELOCATION: - case R_E1_IMM32: - relocation_needed = 1; - DBG_E1("Handling Reloc \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; -@@ -1422,7 +1431,7 @@ DIS29_RELOCATION: - case R_E1_WORD: - relocation_needed = 1; - DBG_E1("Handling Reloc \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; -@@ -1449,7 +1458,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)); - - - /* -@@ -1887,8 +1896,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) -@@ -1913,7 +1922,7 @@ int main(int argc, char *argv[]) - if (s->flags & SEC_CODE) - 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); - } -@@ -1939,7 +1948,7 @@ int main(int argc, char *argv[]) - if (s->flags & SEC_DATA) - 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.25.4 - diff --git a/package/elf2flt/Config.in.host b/package/elf2flt/Config.in.host index d6685a7ff6d..2bab0095c22 100644 --- a/package/elf2flt/Config.in.host +++ b/package/elf2flt/Config.in.host @@ -1,6 +1,6 @@ config BR2_PACKAGE_HOST_ELF2FLT bool "Enable elf2flt support?" - depends on BR2_arm || BR2_sh || BR2_sparc || BR2_xtensa + depends on BR2_arm || BR2_sh || BR2_sparc || BR2_xtensa || BR2_RISCV_64 depends on !BR2_USE_MMU help uCLinux uses a Binary Flat format commonly known as BFLT. It diff --git a/package/elf2flt/elf2flt.hash b/package/elf2flt/elf2flt.hash index c4b0697fcd3..c576f65cdb0 100644 --- a/package/elf2flt/elf2flt.hash +++ b/package/elf2flt/elf2flt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d63baae6fe0d7fcc50a635be151a6f9e1e83dba30568046a869a395c15bf6284 elf2flt-7e33f28df198c46764021ed14408bd262751e148.tar.gz +sha256 6637432ed58dee2d42d09e3b9a902a0dd3b9975acba0c0b24ef9e4e9253159a9 elf2flt-2021.08.tar.gz sha256 f20bc5007904094e3a4e9fbcc3526cdd40893f91d458c3139b308e5c4c0899c6 LICENSE.TXT diff --git a/package/elf2flt/elf2flt.mk b/package/elf2flt/elf2flt.mk index 3239af1b9a1..11cacaf9e0a 100644 --- a/package/elf2flt/elf2flt.mk +++ b/package/elf2flt/elf2flt.mk @@ -4,8 +4,8 @@ # ################################################################################ -ELF2FLT_VERSION = 7e33f28df198c46764021ed14408bd262751e148 -ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,$(ELF2FLT_VERSION)) +ELF2FLT_VERSION = 2021.08 +ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,v$(ELF2FLT_VERSION)) ELF2FLT_LICENSE = GPL-2.0+ ELF2FLT_LICENSE_FILES = LICENSE.TXT diff --git a/package/elftosb/0002-force-cxx-compiler.patch b/package/elftosb/0002-force-cxx-compiler.patch index 14df0dbe463..efa92d11713 100644 --- a/package/elftosb/0002-force-cxx-compiler.patch +++ b/package/elftosb/0002-force-cxx-compiler.patch @@ -1,4 +1,4 @@ -Subject: [PATCH 1/1] elftosb: force host C++ compiler +Subject: [PATCH] elftosb: force host C++ compiler Because Freescale provides *.cpp sources and elftosb links again libstdc++, force to use the host c++ compiler. diff --git a/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch b/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch index 7b3c4593216..bac9bc12457 100644 --- a/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch +++ b/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch @@ -1,4 +1,4 @@ -From dfea82b761b2ea4708fbf9370a5467ae4be525ca Mon Sep 17 00:00:00 2001 +From 73e4da5ca780196d23db8029dcd28f87a0402711 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 29 May 2017 23:03:48 +0300 Subject: [PATCH] Add a --{enable,disable}-progs configure option @@ -18,37 +18,41 @@ Based on the former patch by Thomas Petazzoni. Signed-off-by: Thomas Petazzoni Signed-off-by: Vicente Olivert Riera Signed-off-by: Bernd Kuhls +[Rebased on 0.183] +Signed-off-by: Peter Seiderer +[Fabrice: don't error out if obstack is not found] +Signed-off-by: Fabrice Fontaine --- Makefile.am | 6 +++++- configure.ac | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index 2ff444e7bf1d..70443abb4fb6 100644 +index 9c47afa..edf8dfc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,8 +26,12 @@ AM_MAKEFLAGS = --no-print-directory - + pkginclude_HEADERS = version.h - + +if ENABLE_PROGS +PROGS_SUBDIR = src +endif + - SUBDIRS = config m4 lib libelf libcpu backends libebl libdwelf libdwfl libdw \ + SUBDIRS = config lib libelf libcpu backends libebl libdwelf libdwfl libdw \ - libasm debuginfod src po doc tests + libasm debuginfod $(PROGS_SUBDIR) po doc tests - + EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \ COPYING COPYING-GPLV2 COPYING-LGPLV3 diff --git a/configure.ac b/configure.ac -index c2c1d90b2133..7b4c38381cca 100644 +index d345495..0dd4b1e 100644 --- a/configure.ac +++ b/configure.ac -@@ -390,6 +390,12 @@ +@@ -393,6 +393,12 @@ AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]), [tests_use_rpath=$enableval], [tests_use_rpath=no]) AM_CONDITIONAL(TESTS_RPATH, test "$tests_use_rpath" = yes) - + +AC_ARG_ENABLE([progs], + AS_HELP_STRING([--enable-progs], [enable progs]), + enable_progs=$enableval, @@ -58,6 +62,15 @@ index c2c1d90b2133..7b4c38381cca 100644 dnl zlib is mandatory. save_LIBS="$LIBS" LIBS= --- -2.11.0 +@@ -579,7 +585,7 @@ saved_LIBS="$LIBS" + AC_SEARCH_LIBS([_obstack_free], [obstack]) + LIBS="$saved_LIBS" + case "$ac_cv_search__obstack_free" in +- no) AC_MSG_FAILURE([failed to find _obstack_free]) ;; ++ no) obstack_LIBS= ;; + -l*) obstack_LIBS="$ac_cv_search__obstack_free" ;; + *) obstack_LIBS= ;; + esac +-- +2.30.1 diff --git a/package/elfutils/elfutils.hash b/package/elfutils/elfutils.hash index 65ee764bcbe..3274b326508 100644 --- a/package/elfutils/elfutils.hash +++ b/package/elfutils/elfutils.hash @@ -1,5 +1,5 @@ -# From https://sourceware.org/elfutils/ftp/0.181/sha512.sum -sha512 d565541d5817f409dc89ebb1ee593366f69c371a1531308eeb67ff934b14a0fab0c9009fd7c23240efbaa1b4e04edac5c425e47d80e3e66ba03dcaf000afea36 elfutils-0.181.tar.bz2 +# From https://sourceware.org/elfutils/ftp/0.186/sha512.sum +sha512 c9180b27ec62935f18b9431268d176f6023d1bb938731d2af6e7626ae460af6608a70ba68483aa1ec7e6cb0fa0528b661ca8b68bc4f58ea8e18af527c5950c78 elfutils-0.186.tar.bz2 # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING-GPLV2 diff --git a/package/elfutils/elfutils.mk b/package/elfutils/elfutils.mk index b76b06bcb38..8116ae59724 100644 --- a/package/elfutils/elfutils.mk +++ b/package/elfutils/elfutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELFUTILS_VERSION = 0.181 +ELFUTILS_VERSION = 0.186 ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2 ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION) ELFUTILS_INSTALL_STAGING = YES @@ -26,6 +26,7 @@ ELFUTILS_CONF_OPTS += \ HOST_ELFUTILS_CONF_OPTS = \ --with-bzlib \ --with-lzma \ + --without-zstd \ --disable-progs # elfutils gets confused when lfs mode is forced, so don't @@ -79,6 +80,13 @@ else ELFUTILS_CONF_OPTS += --without-lzma endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +ELFUTILS_DEPENDENCIES += zstd +ELFUTILS_CONF_OPTS += --with-zstd +else +ELFUTILS_CONF_OPTS += --without-zstd +endif + ifeq ($(BR2_PACKAGE_ELFUTILS_PROGS),y) ELFUTILS_CONF_OPTS += --enable-progs ELFUTILS_LICENSE += , GPL-3.0+ (programs) diff --git a/package/ell/0001-build-Add-rawmemchr-to-missing.h.patch b/package/ell/0001-build-Add-rawmemchr-to-missing.h.patch deleted file mode 100644 index 3e000230016..00000000000 --- a/package/ell/0001-build-Add-rawmemchr-to-missing.h.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 3916c1cc32be205e185a8a56de5cde1b9ec60e81 Mon Sep 17 00:00:00 2001 -From: Denis Kenzior -Date: Mon, 30 Nov 2020 13:00:11 -0600 -Subject: [PATCH] build: Add rawmemchr to missing.h - -For those systems (i.e. musl) that do not support this - -[Upstream: https://git.kernel.org/pub/scm/libs/ell/ell.git/patch/?id=3916c1cc32be205e185a8a56de5cde1b9ec60e81] -Signed-off-by: Peter Seiderer ---- - configure.ac | 1 + - ell/missing.h | 10 ++++++++++ - 2 files changed, 11 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 1e5ead9..f34add1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -98,6 +98,7 @@ AC_ARG_ENABLE(ubsan, AC_HELP_STRING([--enable-ubsan], - ]) - - AC_CHECK_FUNCS(explicit_bzero) -+AC_CHECK_FUNCS(rawmemchr) - - AC_CHECK_FUNC(signalfd, dummy=yes, - AC_MSG_ERROR(signalfd support is required)) -diff --git a/ell/missing.h b/ell/missing.h -index 6b9b0fd..2a3e647 100644 ---- a/ell/missing.h -+++ b/ell/missing.h -@@ -67,3 +67,13 @@ static inline void explicit_bzero(void *s, size_t n) - #ifndef SO_BINDTOIFINDEX - #define SO_BINDTOIFINDEX 62 - #endif -+ -+#ifndef HAVE_RAWMEMCHR -+static inline void *rawmemchr(const void *s, int c) -+{ -+_Pragma("GCC diagnostic push") -+_Pragma("GCC diagnostic ignored \"-Wstringop-overflow=\"") -+ return memchr(s, c, (size_t) -1); -+_Pragma("GCC diagnostic pop") -+} -+#endif --- -2.29.2 - diff --git a/package/ell/0002-ell-add-missing-include-in-dhcp-server.patch b/package/ell/0002-ell-add-missing-include-in-dhcp-server.patch deleted file mode 100644 index a2ac7b0965e..00000000000 --- a/package/ell/0002-ell-add-missing-include-in-dhcp-server.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 6dfff19d4716ba216de1a3298ed0f667d7782810 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=89rico=20Nogueira?= -Date: Mon, 30 Nov 2020 18:40:33 -0300 -Subject: [PATCH] ell: add missing include in dhcp-server. - -[Upstream: https://git.kernel.org/pub/scm/libs/ell/ell.git/patch/?id=6dfff19d4716ba216de1a3298ed0f667d7782810] -Signed-off-by: Peter Seiderer ---- - ell/dhcp-server.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/ell/dhcp-server.c b/ell/dhcp-server.c -index c983ed4..144e83e 100644 ---- a/ell/dhcp-server.c -+++ b/ell/dhcp-server.c -@@ -24,6 +24,7 @@ - #include - #endif - -+#include - #include - #include - #include --- -2.29.2 - diff --git a/package/ell/ell.hash b/package/ell/ell.hash index efd39b31dbd..4bde1ab677b 100644 --- a/package/ell/ell.hash +++ b/package/ell/ell.hash @@ -1,5 +1,5 @@ -# Locally computed -sha256 c2b3848568c75bcf5a0e7d1f2efce4fdb2733d28226ed21c6a6542f0be05d784 ell-0.35-br1.tar.gz +# From https://mirrors.edge.kernel.org/pub/linux/libs/ell/sha256sums.asc +sha256 9894943042a5d6165d3e5cc354f92274fb1304004d02b4bee682ab6067cdbbd5 ell-0.48.tar.xz # License files sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/ell/ell.mk b/package/ell/ell.mk index 8aec067bc00..267b44e5f08 100644 --- a/package/ell/ell.mk +++ b/package/ell/ell.mk @@ -4,20 +4,12 @@ # ################################################################################ -ELL_VERSION = 0.35 -ELL_SITE = https://git.kernel.org/pub/scm/libs/ell/ell.git -ELL_SITE_METHOD = git +ELL_VERSION = 0.48 +ELL_SOURCE = ell-$(ELL_VERSION).tar.xz +ELL_SITE = $(BR2_KERNEL_MIRROR)/linux/libs/ell ELL_LICENSE = LGPL-2.1+ ELL_LICENSE_FILES = COPYING ELL_INSTALL_STAGING = YES -# sources from git, no configure script provided -ELL_AUTORECONF = YES - -# autoreconf requires an existing build-aux directory -define ELL_MKDIR_BUILD_AUX - mkdir -p $(@D)/build-aux -endef -ELL_POST_PATCH_HOOKS += ELL_MKDIR_BUILD_AUX ELL_DEPENDENCIES = host-pkgconf diff --git a/package/embiggen-disk/Config.in b/package/embiggen-disk/Config.in new file mode 100644 index 00000000000..667d71c86e6 --- /dev/null +++ b/package/embiggen-disk/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_EMBIGGEN_DISK + bool "embiggen-disk" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve + depends on BR2_USE_MMU # util-linux + select BR2_PACKAGE_UTIL_LINUX # sfdisk + select BR2_PACKAGE_UTIL_LINUX_BINARIES # sfdisk + help + embiggen-disk is a tool to resize disk partitions at runtime. + + https://github.com/bradfitz/embiggen-disk + +comment "embiggen-disk needs a glibc or musl toolchain w/ threads" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS && \ + BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/embiggen-disk/embiggen-disk.hash b/package/embiggen-disk/embiggen-disk.hash new file mode 100644 index 00000000000..3a290e2ec82 --- /dev/null +++ b/package/embiggen-disk/embiggen-disk.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 514cde66ab9fe6af91b97f17acc19b37976f675ebea0e1be741d6bd621811d87 embiggen-disk-9e7b2fc7b99c4dece41a805489a6ca377ce55a62.tar.gz +sha256 063aedec1652c5a05c2d04c40e032b932453142ee8ef7fd53c04a9acc127fc95 LICENSE diff --git a/package/embiggen-disk/embiggen-disk.mk b/package/embiggen-disk/embiggen-disk.mk new file mode 100644 index 00000000000..66f2087dbd1 --- /dev/null +++ b/package/embiggen-disk/embiggen-disk.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# embiggen-disk +# +################################################################################ + +EMBIGGEN_DISK_VERSION = 9e7b2fc7b99c4dece41a805489a6ca377ce55a62 +EMBIGGEN_DISK_SITE = $(call github,bradfitz,embiggen-disk,$(EMBIGGEN_DISK_VERSION)) +EMBIGGEN_DISK_LICENSE = Apache-2.0 +EMBIGGEN_DISK_LICENSE_FILES = LICENSE + +$(eval $(golang-package)) diff --git a/package/enchant/enchant.hash b/package/enchant/enchant.hash index 84d738ffa66..9df5316aac1 100644 --- a/package/enchant/enchant.hash +++ b/package/enchant/enchant.hash @@ -1,3 +1,3 @@ # locally computed -sha256 a29c5777c4e45fcac2595c15c49d6d2aa434fa5e7c993dff3f9f367b65fe472a enchant-2.2.11.tar.gz -sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING.LIB +sha256 ce9ba47fd4d34031bd69445598a698a6611602b2b0e91d705e91a6f5099ead6e enchant-2.3.2.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/enchant/enchant.mk b/package/enchant/enchant.mk index c342600bd8f..e00fcb25e11 100644 --- a/package/enchant/enchant.mk +++ b/package/enchant/enchant.mk @@ -4,7 +4,7 @@ # ################################################################################ -ENCHANT_VERSION = 2.2.11 +ENCHANT_VERSION = 2.3.2 ENCHANT_SITE = \ https://github.com/AbiWord/enchant/releases/download/v$(ENCHANT_VERSION) ENCHANT_INSTALL_STAGING = YES diff --git a/package/enet/enet.hash b/package/enet/enet.hash index ed5231c7792..2643878ca94 100644 --- a/package/enet/enet.hash +++ b/package/enet/enet.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 98f6f57aab0a424469619ed3047728f0d3901ce8f0dea919c11e7966d807e870 enet-1.3.14.tar.gz -sha256 eebe647a9ef7e596b0e8b9216c215f169d762af1a27904a87bc2e05b83735d35 LICENSE +sha256 a38f0f194555d558533b8b15c0c478e946310022d0ec7b34334e19e4574dcedc enet-1.3.17.tar.gz +sha256 77f94e3be39938801163844b8bf9a4f12badcc0da136e9886e7da14a816d74d3 LICENSE diff --git a/package/enet/enet.mk b/package/enet/enet.mk index b12c1b60aff..e2feb26b54d 100644 --- a/package/enet/enet.mk +++ b/package/enet/enet.mk @@ -4,7 +4,7 @@ # ################################################################################ -ENET_VERSION = 1.3.14 +ENET_VERSION = 1.3.17 ENET_SITE = http://enet.bespin.org/download ENET_LICENSE = MIT ENET_LICENSE_FILES = LICENSE diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in index 91cdd896f65..cdf4d9211f1 100644 --- a/package/enlightenment/Config.in +++ b/package/enlightenment/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_ENLIGHTENMENT depends on BR2_PACKAGE_XORG7 # libevas-generic-loaders-svg -> librsvg -> pango -> harfbuzz depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_EFL_X_XLIB select BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_EFL_JPEG # needed at runtime by enlightenment_start @@ -27,12 +27,12 @@ config BR2_PACKAGE_ENLIGHTENMENT KDE. Enlightenment can be used as a substitute for a full desktop environment. - http://www.enlightenment.org/ + https://www.enlightenment.org/ -comment "enlightenment needs udev /dev management and a toolchain w/ wchar, C++, threads, gcc >= 4.8" +comment "enlightenment needs udev /dev management and a toolchain w/ wchar, C++, threads, gcc >= 4.9" depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on BR2_PACKAGE_EFL && BR2_PACKAGE_XORG7 && BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/enlightenment/enlightenment.hash b/package/enlightenment/enlightenment.hash index 7f0f3f3e7b7..2d977b86f75 100644 --- a/package/enlightenment/enlightenment.hash +++ b/package/enlightenment/enlightenment.hash @@ -1,4 +1,4 @@ -# From https://www.enlightenment.org/news/e24.2 -sha256 be18e2f18d6c0b058f633e769863d3cbc4c07b629058ae670dec74cd7906dff1 enlightenment-0.24.2.tar.xz -sha256 17dda7902d3e1a743f91cf2545f474be93f612768a9e9022593d788ecc83935a COPYING -sha256 f4ba47ef8f4ff588202e721ab10f0208a3fa678147e7f928e6b2820f2e646e13 src/modules/wl_weekeyboard/themes/default/fonts/LICENSE.txt +# From https://www.enlightenment.org/news/2022-01-03-enlightenment-0.25.1 +sha256 2cf05fe3d96ef35e823619dbc0ac513ecabcae2186800ecd804924a637112444 enlightenment-0.25.1.tar.xz +sha256 8d2fbc393e967cd6f5b8559d1744881a6a1ceb3ec6e1c2368c3916809ffccb8d COPYING +sha256 cdc77ee1732455b203610f923fe4196046b3f7509038c48dc0b0c7e3492c23f3 src/modules/wl_weekeyboard/themes/default/fonts/LICENSE.txt diff --git a/package/enlightenment/enlightenment.mk b/package/enlightenment/enlightenment.mk index 12827964e16..95670e800da 100644 --- a/package/enlightenment/enlightenment.mk +++ b/package/enlightenment/enlightenment.mk @@ -4,12 +4,13 @@ # ################################################################################ -ENLIGHTENMENT_VERSION = 0.24.2 +ENLIGHTENMENT_VERSION = 0.25.1 ENLIGHTENMENT_SOURCE = enlightenment-$(ENLIGHTENMENT_VERSION).tar.xz -ENLIGHTENMENT_SITE = http://download.enlightenment.org/rel/apps/enlightenment +ENLIGHTENMENT_SITE = https://download.enlightenment.org/rel/apps/enlightenment ENLIGHTENMENT_LICENSE = BSD-2-Clause, OFL-1.1 (font) ENLIGHTENMENT_LICENSE_FILES = COPYING \ src/modules/wl_weekeyboard/themes/default/fonts/LICENSE.txt +ENLIGHTENMENT_CPE_ID_VENDOR = enlightenment ENLIGHTENMENT_DEPENDENCIES = \ host-pkgconf \ @@ -21,6 +22,7 @@ ENLIGHTENMENT_CONF_OPTS = \ -Dedje-cc=$(HOST_DIR)/bin/edje_cc \ -Deet=$(HOST_DIR)/bin/eet \ -Deldbus-codegen=$(HOST_DIR)/bin/eldbus-codegen \ + -Dlibexif=false \ -Dpam=false \ -Dpolkit=false diff --git a/package/enscript/enscript.mk b/package/enscript/enscript.mk index fbc9e69daed..441ae3dad4b 100644 --- a/package/enscript/enscript.mk +++ b/package/enscript/enscript.mk @@ -8,6 +8,7 @@ ENSCRIPT_VERSION = 1.6.6 ENSCRIPT_SITE = $(BR2_GNU_MIRROR)/enscript ENSCRIPT_LICENSE = GPL-3.0+ ENSCRIPT_LICENSE_FILES = COPYING +ENSCRIPT_CPE_ID_VENDOR = gnu # Enable pthread threads if toolchain supports threads ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) diff --git a/package/environment-setup/environment-setup b/package/environment-setup/environment-setup index e9bc36fdd09..84a9843c243 100644 --- a/package/environment-setup/environment-setup +++ b/package/environment-setup/environment-setup @@ -16,4 +16,10 @@ Some tips: * To build CMake-based projects, use the "cmake" alias EOF -SDK_PATH=$(dirname $(realpath "${BASH_SOURCE[0]}")) +if [ x"$BASH_VERSION" != x"" ] ; then + SDK_PATH=$(dirname $(realpath "${BASH_SOURCE[0]}")) +elif [ x"$ZSH_VERSION" != x"" ] ; then + SDK_PATH=$(dirname $(realpath $0)) +else + echo "unsupported shell" +fi diff --git a/package/environment-setup/environment-setup.mk b/package/environment-setup/environment-setup.mk index fcad013f0de..29ec5a9a95e 100644 --- a/package/environment-setup/environment-setup.mk +++ b/package/environment-setup/environment-setup.mk @@ -11,7 +11,7 @@ define HOST_ENVIRONMENT_SETUP_INSTALL_CMDS for var in $(TARGET_CONFIGURE_OPTS); do \ printf "export \"$$var\"\n" >> $(ENVIRONMENT_SETUP_FILE); \ done - printf "export \"ARCH=$(KERNEL_ARCH)\"\n" >> $(ENVIRONMENT_SETUP_FILE) + printf "export \"ARCH=$(NORMALIZED_ARCH)\"\n" >> $(ENVIRONMENT_SETUP_FILE) printf "export \"CROSS_COMPILE=$(TARGET_CROSS)\"\n" >> $(ENVIRONMENT_SETUP_FILE) printf "export \"CONFIGURE_FLAGS=--target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ @@ -26,8 +26,8 @@ define HOST_ENVIRONMENT_SETUP_INSTALL_CMDS printf "alias cmake=\"cmake \ -DCMAKE_TOOLCHAIN_FILE=$(HOST_DIR)/share/buildroot/toolchainfile.cmake \ -DCMAKE_INSTALL_PREFIX=/usr\"\n" >> $(ENVIRONMENT_SETUP_FILE) - $(SED) 's%$(HOST_DIR)%\$$SDK_PATH%g' \ - -e 's%$(HOST_DIR)/bin/%%g' \ + $(SED) 's%$(HOST_DIR)/bin/%%g' \ + -e 's%$(HOST_DIR)%\$$SDK_PATH%g' \ -e '/^export "PATH=/c\' \ $(ENVIRONMENT_SETUP_FILE) printf "export \"PATH=\$$SDK_PATH/bin:\$$SDK_PATH/sbin:\$$PATH\"\n" \ diff --git a/package/erlang-jiffy/erlang-jiffy.hash b/package/erlang-jiffy/erlang-jiffy.hash index 19e4f960129..93c5e1f8c82 100644 --- a/package/erlang-jiffy/erlang-jiffy.hash +++ b/package/erlang-jiffy/erlang-jiffy.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7cf67840c58b8732e12c84c8a3b714774da2601ae5e6a57f286273e25b205516 erlang-jiffy-1.0.6.tar.gz +sha256 45c224afe0ea2d3ece39e227f01f5585ad53b8b91d2d6924f9f50548874ae879 erlang-jiffy-1.0.9.tar.gz sha256 0fa8afad2f02c08850a16e36fe55376ee19732b3a116a0207f2a73c857777a49 LICENSE diff --git a/package/erlang-jiffy/erlang-jiffy.mk b/package/erlang-jiffy/erlang-jiffy.mk index e50a5f598f3..cd946329628 100644 --- a/package/erlang-jiffy/erlang-jiffy.mk +++ b/package/erlang-jiffy/erlang-jiffy.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_JIFFY_VERSION = 1.0.6 +ERLANG_JIFFY_VERSION = 1.0.9 ERLANG_JIFFY_SITE = $(call github,davisp,jiffy,$(ERLANG_JIFFY_VERSION)) ERLANG_JIFFY_LICENSE = MIT (core), \ BSD-3-Clause (Google double conversion library), \ diff --git a/package/erlang-rebar/0001-src-rebar_port_compiler-add-fPIC-to-LDFLAGS-by-defau.patch b/package/erlang-rebar/0001-src-rebar_port_compiler-add-fPIC-to-LDFLAGS-by-defau.patch new file mode 100644 index 00000000000..a9c1670a1f8 --- /dev/null +++ b/package/erlang-rebar/0001-src-rebar_port_compiler-add-fPIC-to-LDFLAGS-by-defau.patch @@ -0,0 +1,35 @@ +From 7f54d48ee5db037778ead310e0b8278f3fe70b41 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sun, 19 Dec 2021 07:52:55 +0100 +Subject: [PATCH] src/rebar_port_compiler: add -fPIC to LDFLAGS by default + +Since both DRV_CFLAGS and EXE_CFLAGS list -fPIC we need also the LDFLAGS +to follow them. Unfortunately adding -fPIC only to DRV_LDFLAGS and +EXE_LDFLAGS is not sufficient, since when linking as a library(.so) it +doesn't take into account those variables. Since -fPIC is needed by default +by any kind of linking, let's add it to the general -fPIC. Rebar seems to +link libraries without taking into account any variable listed in: +src/rebar_port_compiler.erl +this after testing and tracing for every variable. + +Signed-off-by: Giulio Benetti +--- + src/rebar_port_compiler.erl | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/rebar_port_compiler.erl b/src/rebar_port_compiler.erl +index 9679c80..bd08b21 100644 +--- a/src/rebar_port_compiler.erl ++++ b/src/rebar_port_compiler.erl +@@ -645,6 +645,8 @@ default_env() -> + {"OBJCOPY", get_tool(Arch, "objcopy", "objcopy")}, + {"OBJDUMP", get_tool(Arch, "objdump", "objdump")}, + ++ {"LDFLAGS", "-fPIC $LDFLAGS"}, ++ + {"DRV_CXX_TEMPLATE", + "$CXX -c $CXXFLAGS $DRV_CFLAGS $PORT_IN_FILES -o $PORT_OUT_FILE"}, + {"DRV_CC_TEMPLATE", +-- +2.25.1 + diff --git a/package/erlang/0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch b/package/erlang/0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch deleted file mode 100644 index 69b6fae81fd..00000000000 --- a/package/erlang/0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch +++ /dev/null @@ -1,54 +0,0 @@ -From de870d7f9f36b3e68f280057851a4585a67ab219 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Tue, 14 Jan 2020 23:15:01 +0000 -Subject: [PATCH] ei_portio.h: avoid ODR violation of - 'ei_default_socket_callbacks' - -Noticed as a build failure against fresh gcc-master: - -``` -LD otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call -ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(eirecv.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here -ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here -ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send_reg.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here -ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(epmd_port.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here -ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_portio.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here -collect2: error: ld returned 1 exit status -make[3]: *** [x86_64-unknown-linux-gnu/Makefile:669: otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call] Error 1 -``` - -The failure looks legitimate: `ei_default_socket_callbacks` is a -struct defined in 'ei_portio.h' and in 'ei_portio.c'. - -The change flips 'ei_portio.h' definition to declaration. - -gcc-10 will change the default from -fcommon to fno-common: -https://gcc.gnu.org/PR85678. - -The error also happens if CFLAGS=-fno-common passed explicitly. - -Signed-off-by: Sergei Trofimovich - -Patch taken from upstream: https://github.com/erlang/otp/commit/de870d7f9f36b3e68f280057851a4585a67ab219 -Signed-off-by: Heiko Thiery ---- - lib/erl_interface/src/misc/ei_portio.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/erl_interface/src/misc/ei_portio.h b/lib/erl_interface/src/misc/ei_portio.h -index 84ebc5039a..5172d085b4 100644 - ---- a/lib/erl_interface/src/misc/ei_portio.h -+++ b/lib/erl_interface/src/misc/ei_portio.h -@@ -47,7 +47,7 @@ int ei_writev_fill_ctx_t__(ei_socket_callbacks *cbs, void *ctx, const struct iov - int ei_socket_callbacks_have_writev__(ei_socket_callbacks *cbs); - #endif - --ei_socket_callbacks ei_default_socket_callbacks; -+extern ei_socket_callbacks ei_default_socket_callbacks; - - #define EI_FD_AS_CTX__(FD) \ - ((void *) (long) (FD)) --- -2.20.1 - diff --git a/package/erlang/Config.in b/package/erlang/Config.in index ab87eab6fff..15931b58969 100644 --- a/package/erlang/Config.in +++ b/package/erlang/Config.in @@ -6,9 +6,11 @@ config BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS bool # see HOWTO/INSTALL.md for Erlang's supported platforms - # when using its native atomic ops implementation + # when using its native atomic ops implementation or gcc's + # __atomic_* builtins default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || \ - BR2_sparc_v9 || BR2_arm || BR2_aarch64 || BR2_mipsel + BR2_sparc_v9 || BR2_arm || BR2_aarch64 || BR2_mipsel || \ + BR2_RISCV_64 # erlang needs host-erlang depends on BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS diff --git a/package/erlang/erlang.hash b/package/erlang/erlang.hash index 3c2f0394966..338545a0baa 100644 --- a/package/erlang/erlang.hash +++ b/package/erlang/erlang.hash @@ -1,4 +1,5 @@ -# md5 from http://www.erlang.org/download/MD5, sha256 locally computed -md5 b2b48dad6e69c1e882843edbf2abcfd3 otp_src_22.2.tar.gz -sha256 89c2480cdac566065577c82704a48e10f89cf2e6ca5ab99e1cf80027784c678f otp_src_22.2.tar.gz -sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE.txt +# From https://github.com/erlang/otp/releases/download/OTP-22.3.4.22/SHA256.txt +sha256 e7f0793e62f8da4f7551dc9c1c0de76c40f19773ba516121fc56315c840f60cc otp_src_22.3.4.22.tar.gz + +# Hash for license file +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE.txt diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk index 59fcdba93f7..ac2c204a493 100644 --- a/package/erlang/erlang.mk +++ b/package/erlang/erlang.mk @@ -5,8 +5,9 @@ ################################################################################ # See note below when updating Erlang -ERLANG_VERSION = 22.2 -ERLANG_SITE = http://www.erlang.org/download +ERLANG_VERSION = 22.3.4.22 +ERLANG_SITE = \ + https://github.com/erlang/otp/releases/download/OTP-$(ERLANG_VERSION) ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz ERLANG_DEPENDENCIES = host-erlang @@ -16,6 +17,9 @@ ERLANG_CPE_ID_VENDOR = erlang ERLANG_CPE_ID_PRODUCT = erlang\/otp ERLANG_INSTALL_STAGING = YES +# windows specific issue: https://nvd.nist.gov/vuln/detail/CVE-2021-29221 +ERLANG_IGNORE_CVES += CVE-2021-29221 + # Remove the leftover deps directory from the ssl app # See https://bugs.erlang.org/browse/ERL-1168 define ERLANG_REMOVE_SSL_DEPS @@ -34,7 +38,7 @@ HOST_ERLANG_PRE_CONFIGURE_HOOKS += ERLANG_RUN_AUTOCONF # Whenever updating Erlang, this value should be updated as well, to the # value of EI_VSN in the file lib/erl_interface/vsn.mk -ERLANG_EI_VSN = 3.13.1 +ERLANG_EI_VSN = 3.13.2.2 # The configure checks for these functions fail incorrectly ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes diff --git a/package/erofs-utils/0001-erofs-utils-manpage-only-install-erofsfuse.1-with-th.patch b/package/erofs-utils/0001-erofs-utils-manpage-only-install-erofsfuse.1-with-th.patch new file mode 100644 index 00000000000..0aa99d5324d --- /dev/null +++ b/package/erofs-utils/0001-erofs-utils-manpage-only-install-erofsfuse.1-with-th.patch @@ -0,0 +1,32 @@ +From 7ab34000c672adca90388a8fcb1f70a7d391d35c Mon Sep 17 00:00:00 2001 +From: David Michael +Date: Thu, 3 Jun 2021 16:18:57 -0400 +Subject: [PATCH] erofs-utils: manpage: only install erofsfuse.1 with the + command + +Link: https://lore.kernel.org/r/87lf7q3dn2.fsf@gmail.com +Reviewed-by: Gao Xiang +Signed-off-by: David Michael +Signed-off-by: Gao Xiang +--- + man/Makefile.am | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/man/Makefile.am b/man/Makefile.am +index ffcf6f81c255..0df947b6fbf7 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,5 +1,9 @@ + # SPDX-License-Identifier: GPL-2.0+ + # Makefile.am + +-dist_man_MANS = mkfs.erofs.1 erofsfuse.1 ++dist_man_MANS = mkfs.erofs.1 + ++EXTRA_DIST = erofsfuse.1 ++if ENABLE_FUSE ++man_MANS = erofsfuse.1 ++endif +-- +2.20.1 + diff --git a/package/erofs-utils/erofs-utils.hash b/package/erofs-utils/erofs-utils.hash index 0de52d28a90..8bbb0885689 100644 --- a/package/erofs-utils/erofs-utils.hash +++ b/package/erofs-utils/erofs-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6b2ea15c3b092bd9a3abd966f78bc01c6caacb94022643ff34cf69893ee04e84 erofs-utils-1.2.1.tar.gz +sha256 132635740039bbe76d743aea72378bfae30dbf034e123929f5d794198d4c0b12 erofs-utils-1.3.tar.gz sha256 feee3b3157dcdf78d4f50edefbd5dd7adf8b6d52c11bfaaa746a85a373256713 COPYING diff --git a/package/erofs-utils/erofs-utils.mk b/package/erofs-utils/erofs-utils.mk index 5d547148b20..e35470b02ed 100644 --- a/package/erofs-utils/erofs-utils.mk +++ b/package/erofs-utils/erofs-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -EROFS_UTILS_VERSION = 1.2.1 +EROFS_UTILS_VERSION = 1.3 EROFS_UTILS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot EROFS_UTILS_LICENSE = GPL-2.0+ EROFS_UTILS_LICENSE_FILES = COPYING diff --git a/package/espeak/0002-tr_languages-cast-string_ordinal-init-values.patch b/package/espeak/0002-tr_languages-cast-string_ordinal-init-values.patch index d37e64c6ea7..2391fc8c2b1 100644 --- a/package/espeak/0002-tr_languages-cast-string_ordinal-init-values.patch +++ b/package/espeak/0002-tr_languages-cast-string_ordinal-init-values.patch @@ -1,7 +1,7 @@ From 451330d09a6a3500b40bc4f5896ba790ab46cd6c Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sun, 15 Jan 2017 19:37:31 +0100 -Subject: [PATCH 2/2] tr_languages: cast string_ordinal init values +Subject: [PATCH] tr_languages: cast string_ordinal init values On some architecture, "char" is signed (x86_64, nios2...) so the compiler try to convert int 0xc2 and 0xba to a signed char. diff --git a/package/espeak/espeak.mk b/package/espeak/espeak.mk index aa0b5b07166..44893ac9be3 100644 --- a/package/espeak/espeak.mk +++ b/package/espeak/espeak.mk @@ -13,11 +13,11 @@ ESPEAK_LICENSE_FILES = License.txt ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA),y) ESPEAK_AUDIO_BACKEND = portaudio -ESPEAK_DEPENDENCIES = portaudio +ESPEAK_DEPENDENCIES += portaudio endif ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO),y) ESPEAK_AUDIO_BACKEND = pulseaudio -ESPEAK_DEPENDENCIES = pulseaudio +ESPEAK_DEPENDENCIES += pulseaudio endif define ESPEAK_EXTRACT_CMDS @@ -32,12 +32,13 @@ define ESPEAK_CONFIGURE_CMDS endef define ESPEAK_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src $(TARGET_CONFIGURE_OPTS) \ AUDIO="$(ESPEAK_AUDIO_BACKEND)" all endef define ESPEAK_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src DESTDIR="$(TARGET_DIR)" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src $(TARGET_CONFIGURE_OPTS) \ + AUDIO="$(ESPEAK_AUDIO_BACKEND)" DESTDIR="$(TARGET_DIR)" install endef $(eval $(generic-package)) diff --git a/package/ethtool/ethtool.hash b/package/ethtool/ethtool.hash index 334ff8d503e..59c657e8682 100644 --- a/package/ethtool/ethtool.hash +++ b/package/ethtool/ethtool.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/software/network/ethtool/sha256sums.asc -sha256 817d5396a9307b4c637b435d4c558b8f5f964a1464a035ca3c0180f4cc93cfcf ethtool-5.10.tar.xz +sha256 686fd6110389d49c2a120f00c3cd5dfe43debada8e021e4270d74bbe452a116d ethtool-5.15.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 5d632934396f90c82dfebe3c9512648bbb6333b406113d0cd331b0e0aa2d34a1 LICENSE diff --git a/package/ethtool/ethtool.mk b/package/ethtool/ethtool.mk index c9765eccffa..c4bb9bdd903 100644 --- a/package/ethtool/ethtool.mk +++ b/package/ethtool/ethtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -ETHTOOL_VERSION = 5.10 +ETHTOOL_VERSION = 5.15 ETHTOOL_SOURCE = ethtool-$(ETHTOOL_VERSION).tar.xz ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool ETHTOOL_LICENSE = GPL-2.0 diff --git a/package/eudev/0001-src-libudev-libudev-monitor.c-do-not-check-if-dev-is.patch b/package/eudev/0001-src-libudev-libudev-monitor.c-do-not-check-if-dev-is.patch deleted file mode 100644 index 3027ad7f17b..00000000000 --- a/package/eudev/0001-src-libudev-libudev-monitor.c-do-not-check-if-dev-is.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 799591c57368bbe47667f5b696050247a766b117 Mon Sep 17 00:00:00 2001 -From: "Anthony G. Basile" -Date: Mon, 6 Jan 2020 11:14:47 -0500 -Subject: [PATCH] src/libudev/libudev-monitor.c: do not check if /dev is tmpfs - -This check fails for buildroot systems where /dev is not mounted -as a tmpfs filesystem. Dropping this check should be safe even -on regular systems. - -This solves issue #172. - -Signed-off-by: Anthony G. Basile -Signed-off-by: Joel Stanley ---- - src/libudev/libudev-monitor.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c -index 614149c6243c..060ba733f33b 100644 ---- a/src/libudev/libudev-monitor.c -+++ b/src/libudev/libudev-monitor.c -@@ -186,7 +186,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c - * We do not set a netlink multicast group here, so the socket - * will not receive any messages. - */ -- if (access(UDEV_ROOT_RUN "/udev/control", F_OK) < 0 || !udev_has_devtmpfs(udev)) { -+ if (access(UDEV_ROOT_RUN "/udev/control", F_OK) < 0) { - log_debug("the udev service seems not to be active, disable the monitor"); - group = UDEV_MONITOR_NONE; - } else --- -2.25.0 - diff --git a/package/eudev/Config.in b/package/eudev/Config.in index 0e5bd0cee94..6e7bbe46484 100644 --- a/package/eudev/Config.in +++ b/package/eudev/Config.in @@ -16,7 +16,7 @@ config BR2_PACKAGE_EUDEV Upstart, older kernels, various toolchains and anything else required by users and various distributions. - https://wiki.gentoo.org/wiki/Project:Eudev + https://github.com/eudev-project/eudev if BR2_PACKAGE_EUDEV diff --git a/package/eudev/eudev.hash b/package/eudev/eudev.hash index e6a319ac442..fe6c7ef0084 100644 --- a/package/eudev/eudev.hash +++ b/package/eudev/eudev.hash @@ -1,5 +1,3 @@ -# From http://dev.gentoo.org/~blueness/eudev/ -md5 dedfb1964f6098fe9320de827957331f eudev-3.2.9.tar.gz # Locally calculated -sha256 89618619084a19e1451d373c43f141b469c9fd09767973d73dd268b92074d4fc eudev-3.2.9.tar.gz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed44558b eudev-3.2.11.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk index d4133a5acef..705370689d9 100644 --- a/package/eudev/eudev.mk +++ b/package/eudev/eudev.mk @@ -4,8 +4,8 @@ # ################################################################################ -EUDEV_VERSION = 3.2.9 -EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev +EUDEV_VERSION = 3.2.11 +EUDEV_SITE = https://github.com/eudev-project/eudev/releases/download/v$(EUDEV_VERSION) EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) EUDEV_LICENSE_FILES = COPYING EUDEV_INSTALL_STAGING = YES diff --git a/package/evemu/evemu.mk b/package/evemu/evemu.mk index 02e5abdb8ff..b27033afa4c 100644 --- a/package/evemu/evemu.mk +++ b/package/evemu/evemu.mk @@ -22,9 +22,9 @@ EVEMU_CONF_OPTS += --disable-tests EVEMU_DEPENDENCIES = host-pkgconf libevdev # Check for target python -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) EVEMU_CONF_OPTS += --enable-python-bindings -EVEMU_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,python) +EVEMU_DEPENDENCIES += python3 else EVEMU_CONF_OPTS += --disable-python-bindings endif diff --git a/package/execline/execline.hash b/package/execline/execline.hash index ac6239e86d4..706b131afd2 100644 --- a/package/execline/execline.hash +++ b/package/execline/execline.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 a24c76f097ff44fe50b63b89bcde5d6ba9a481aecddbe88ee01b0e5a7b314556 execline-2.6.1.0.tar.gz -sha256 5443ac67e8d74ac614ced7bc64211ce90ccedb7778a68bfe9e68a8b234c9503e COPYING +sha256 a373f497d2335905d750e2f3be2ba47a028c11c4a7d5595dca9965c161e53aed execline-2.8.0.1.tar.gz +sha256 adecb8bedfaae27fcfe65ecb3ef0e2e71aa2a2b49dc21886a200bc677d93e6ec COPYING diff --git a/package/execline/execline.mk b/package/execline/execline.mk index e2423e9536d..c348d924b75 100644 --- a/package/execline/execline.mk +++ b/package/execline/execline.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXECLINE_VERSION = 2.6.1.0 +EXECLINE_VERSION = 2.8.0.1 EXECLINE_SITE = http://skarnet.org/software/execline EXECLINE_LICENSE = ISC EXECLINE_LICENSE_FILES = COPYING @@ -12,11 +12,11 @@ EXECLINE_INSTALL_STAGING = YES EXECLINE_DEPENDENCIES = skalibs EXECLINE_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/exempi/exempi.hash b/package/exempi/exempi.hash index 5ea96830538..5df610de175 100644 --- a/package/exempi/exempi.hash +++ b/package/exempi/exempi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 52f54314aefd45945d47a6ecf4bd21f362e6467fa5d0538b0d45a06bc6eaaed5 exempi-2.5.2.tar.bz2 +sha256 072451ac1e0dc97ed69a2e5bfc235fd94fe093d837f65584d0e3581af5db18cd exempi-2.6.1.tar.bz2 sha256 3d3c3593c15e0d35bdae0df7c642106250f6be3adc61477419413900f23ae607 COPYING diff --git a/package/exempi/exempi.mk b/package/exempi/exempi.mk index 3790b16b328..56fbe203792 100644 --- a/package/exempi/exempi.mk +++ b/package/exempi/exempi.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXEMPI_VERSION = 2.5.2 +EXEMPI_VERSION = 2.6.1 EXEMPI_SOURCE = exempi-$(EXEMPI_VERSION).tar.bz2 EXEMPI_SITE = https://libopenraw.freedesktop.org/download EXEMPI_INSTALL_STAGING = YES @@ -13,5 +13,6 @@ EXEMPI_DEPENDENCIES = host-pkgconf expat zlib \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) EXEMPI_LICENSE = BSD-3-Clause EXEMPI_LICENSE_FILES = COPYING +EXEMPI_CPE_ID_VENDOR = exempi_project $(eval $(autotools-package)) diff --git a/package/exfat/exfat.mk b/package/exfat/exfat.mk index e23495152e3..282a30aa5e3 100644 --- a/package/exfat/exfat.mk +++ b/package/exfat/exfat.mk @@ -10,6 +10,7 @@ EXFAT_SOURCE = fuse-exfat-$(EXFAT_VERSION).tar.gz EXFAT_DEPENDENCIES = libfuse host-pkgconf EXFAT_LICENSE = GPL-2.0+ EXFAT_LICENSE_FILES = COPYING +EXFAT_CPE_ID_VENDOR = exfat_project EXFAT_CFLAGS = $(TARGET_CFLAGS) -std=c99 EXFAT_CONF_OPTS += --exec-prefix=/ diff --git a/package/exfatprogs/exfatprogs.hash b/package/exfatprogs/exfatprogs.hash index d251bce5e68..99f57c9deb4 100644 --- a/package/exfatprogs/exfatprogs.hash +++ b/package/exfatprogs/exfatprogs.hash @@ -1,3 +1,5 @@ -# Locally calculated -sha256 982883f208a694962dff0654f4421a1a726d7d71068a0c84b93a10688179a186 exfatprogs-1.0.4.tar.gz -sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING +# From https://github.com/exfatprogs/exfatprogs/releases/download/1.1.3/exfatprogs-1.1.3.tar.xz.sha256 +sha256 3dbd74b60eec18d2c68d57be4a872d7baa4f7d848e669e31159452ef5245b809 exfatprogs-1.1.3.tar.xz + +# Hash for license file +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/exfatprogs/exfatprogs.mk b/package/exfatprogs/exfatprogs.mk index 56db82cd8ac..2911d21f4f4 100644 --- a/package/exfatprogs/exfatprogs.mk +++ b/package/exfatprogs/exfatprogs.mk @@ -4,7 +4,8 @@ # ################################################################################ -EXFATPROGS_VERSION = 1.0.4 +EXFATPROGS_VERSION = 1.1.3 +EXFATPROGS_SOURCE = exfatprogs-$(EXFATPROGS_VERSION).tar.xz EXFATPROGS_SITE = https://github.com/exfatprogs/exfatprogs/releases/download/$(EXFATPROGS_VERSION) EXFATPROGS_LICENSE = GPL-2.0+ EXFATPROGS_LICENSE_FILES = COPYING diff --git a/package/exim/exim.hash b/package/exim/exim.hash index 265a95c6f54..5cbad08a4be 100644 --- a/package/exim/exim.hash +++ b/package/exim/exim.hash @@ -1,6 +1,6 @@ # From https://ftp.exim.org/pub/exim/exim4/00-sha256sums.txt -sha256 f77ee8faf04f5db793243c3ae81c1f4e452cd6ad7dd515a80edf755c4b144bdb exim-4.94.tar.xz +sha256 cc9cb653fff2ea947c3702680b59c99ac0bd1bbf19976d37e22a463cd804f167 exim-4.95.tar.xz # From https://ftp.exim.org/pub/exim/exim4/00-sha512sums.txt -sha512 3bf95ade30902327403e7308089a3e423761da5b0745397dace7c7fd15ba3838d93e0ee418f1fed57606f79e57b793c7c7407e5c0d526146f0036126d5d95316 exim-4.94.tar.xz +sha512 93d09c20d99f27da5edbe3e6dc7d25aa4548faa2b67ca26f2cc0b4aeaf58398dd468e0263714fcf0df97531f05d16fcd3f1f0e9d0656ead7858a66b248a44a65 exim-4.95.tar.xz # Locally calculated sha256 49240db527b7e55b312a46fc59794fde5dd006422e422257f4f057bfd27b3c8f LICENCE diff --git a/package/exim/exim.mk b/package/exim/exim.mk index 53185c4bb81..b45458b21b7 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -4,12 +4,13 @@ # ################################################################################ -EXIM_VERSION = 4.94 +EXIM_VERSION = 4.95 EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz EXIM_SITE = https://ftp.exim.org/pub/exim/exim4 EXIM_LICENSE = GPL-2.0+ EXIM_LICENSE_FILES = LICENCE EXIM_CPE_ID_VENDOR = exim +EXIM_SELINUX_MODULES = exim mta EXIM_DEPENDENCIES = host-berkeleydb host-pcre pcre berkeleydb host-pkgconf # Modify a variable value. It must already exist in the file, either diff --git a/package/exiv2/0001-add-BUILD_WITH_STACK_PROTECTOR-option.patch b/package/exiv2/0001-add-BUILD_WITH_STACK_PROTECTOR-option.patch new file mode 100644 index 00000000000..18684ebbfa7 --- /dev/null +++ b/package/exiv2/0001-add-BUILD_WITH_STACK_PROTECTOR-option.patch @@ -0,0 +1,54 @@ +From 4bb57da5fb0bb0d7e747b9e325e9ec0876ffc1f9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 31 Jul 2021 16:36:50 +0200 +Subject: [PATCH] add BUILD_WITH_STACK_PROTECTOR option + +Add BUILD_WITH_STACK_PROTECTOR to avoid the following build failure with +toolchains that don't support stack-protector: + +/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/9.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: utils.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag]+0xd0): undefined reference to `__stack_chk_fail' + +Indeed, support for -fstack-protector-strong can't be detected through +check_cxx_compiler_flag as some toolchains need to link with -lssp to +enable SSP support + +Fixes: + - http://autobuild.buildroot.org/results/ae4635899124c602c70d2b342a76f95c34aa4a3d + +Upstream: https://github.com/Exiv2/exiv2/commit/f31c0eba098889899d29b7b0da830aee2b62a7b8 +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 1 + + cmake/compilerFlags.cmake | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6f0da06a..0746ee14 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -47,6 +47,7 @@ mark_as_advanced( + EXIV2_TEAM_USE_SANITIZERS + ) + ++option( BUILD_WITH_STACK_PROTECTOR "Build with stack protector" ON ) + option( BUILD_WITH_CCACHE "Use ccache to speed up compilations" OFF ) + option( BUILD_WITH_COVERAGE "Add compiler flags to generate coverage stats" OFF ) + +diff --git a/cmake/compilerFlags.cmake b/cmake/compilerFlags.cmake +index 35faf501..0a646e50 100644 +--- a/cmake/compilerFlags.cmake ++++ b/cmake/compilerFlags.cmake +@@ -33,8 +33,8 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN + endif() + if(HAS_FCF_PROTECTION) + add_compile_options(-fcf-protection) +- endif() +- if(HAS_FSTACK_PROTECTOR_STRONG) ++ endif() ++ if(BUILD_WITH_STACK_PROTECTOR AND HAS_FSTACK_PROTECTOR_STRONG) + add_compile_options(-fstack-protector-strong) + endif() + endif() +-- +2.31.1 + diff --git a/package/exiv2/0001-cmake-compilerFlags.cmake-properly-detect-availabili.patch b/package/exiv2/0001-cmake-compilerFlags.cmake-properly-detect-availabili.patch deleted file mode 100644 index 7b9fa488152..00000000000 --- a/package/exiv2/0001-cmake-compilerFlags.cmake-properly-detect-availabili.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 2f6d2e5795382f0d6e22f5aea52e8104110d24ad Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 19 Jul 2020 16:29:15 +0200 -Subject: [PATCH] cmake/compilerFlags.cmake: properly detect availability of - flags - -Instead of relying on fragile and complex logic to decide if a -compiler flag is available or not, use the check_c_compiler_flag() -macro provided by the CMake standard library. - -This for example avoids using -fcf-protection on architectures that -don't support this option. - -[Upstream: https://github.com/Exiv2/exiv2/pull/1252. The submitted -patch is slightly different than this one, due to other changes -between 0.27.3 and master.] -Signed-off-by: Thomas Petazzoni ---- - cmake/compilerFlags.cmake | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - -diff --git a/cmake/compilerFlags.cmake b/cmake/compilerFlags.cmake -index 0418aa61..be430977 100644 ---- a/cmake/compilerFlags.cmake -+++ b/cmake/compilerFlags.cmake -@@ -1,4 +1,5 @@ - # These flags applies to exiv2lib, the applications, and to the xmp code -+include(CheckCCompilerFlag) - - if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN - if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) -@@ -25,13 +26,16 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN - - # This fails under Fedora, MinGW GCC 8.3.0 and CYGWIN/MSYS 9.3.0 - if (NOT (MINGW OR CMAKE_HOST_SOLARIS OR CYGWIN OR MSYS) ) -- if (COMPILER_IS_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0) -- add_compile_options(-fstack-clash-protection -fcf-protection) -- endif() -- -- if( (COMPILER_IS_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0) # Not in GCC 4.8 -- OR (COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.7) # Not in Clang 3.4.2 -- ) -+ check_c_compiler_flag(-fstack-clash-protection HAS_FSTACK_CLASH_PROTECTION) -+ check_c_compiler_flag(-fcf-protection HAS_FCF_PROTECTION) -+ check_c_compiler_flag(-fstack-protector-strong HAS_FSTACK_PROTECTOR_STRONG) -+ if(HAS_FSTACK_CLASH_PROTECTION) -+ add_compile_options(-fstack-clash-protection) -+ endif() -+ if(GCC_HAS_FCF_PROTECTION) -+ add_compile_options(-fcf-protection) -+ endif() -+ if(GCC_HAS_FSTACK_PROTECTOR_STRONG) - add_compile_options(-fstack-protector-strong) - endif() - endif() ---- -2.26.2 - diff --git a/package/exiv2/exiv2.hash b/package/exiv2/exiv2.hash index 94ab4ac6381..a405d2611bc 100644 --- a/package/exiv2/exiv2.hash +++ b/package/exiv2/exiv2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6398bc743c32b85b2cb2a604273b8c90aa4eb0fd7c1700bf66cbb2712b4f00c1 exiv2-0.27.3.tar.gz -sha256 a7ba75cb966aca374711e2af49e5f3aea6a4443a803440f5d93e73a5a1222f66 COPYING +sha256 35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2 exiv2-0.27.5-Source.tar.gz +sha256 a7ba75cb966aca374711e2af49e5f3aea6a4443a803440f5d93e73a5a1222f66 COPYING diff --git a/package/exiv2/exiv2.mk b/package/exiv2/exiv2.mk index 3d4cf41731a..2a91c71c8f9 100644 --- a/package/exiv2/exiv2.mk +++ b/package/exiv2/exiv2.mk @@ -4,14 +4,17 @@ # ################################################################################ -EXIV2_VERSION = 0.27.3 -EXIV2_SITE = $(call github,Exiv2,exiv2,v$(EXIV2_VERSION)) +EXIV2_VERSION = 0.27.5 +EXIV2_SOURCE = exiv2-$(EXIV2_VERSION)-Source.tar.gz +EXIV2_SITE = https://exiv2.org/builds EXIV2_INSTALL_STAGING = YES EXIV2_LICENSE = GPL-2.0+ EXIV2_LICENSE_FILES = COPYING EXIV2_CPE_ID_VENDOR = exiv2 -EXIV2_CONF_OPTS += -DEXIV2_BUILD_SAMPLES=OFF +EXIV2_CONF_OPTS += \ + -DBUILD_WITH_STACK_PROTECTOR=OFF \ + -DEXIV2_BUILD_SAMPLES=OFF ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y) EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON diff --git a/package/expat/expat.hash b/package/expat/expat.hash index 5a8dd412809..26f1098b7a7 100644 --- a/package/expat/expat.hash +++ b/package/expat/expat.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.2.10/ -md5 e0fe49a6b3480827c9455e4cfc799133 expat-2.2.10.tar.xz -sha1 a333b95121a718a77ee481dbade5efcd72a32eb8 expat-2.2.10.tar.xz +# From https://sourceforge.net/projects/expat/files/expat/2.4.7/ +md5 75a1f475e30281a00cb6f083ea481159 expat-2.4.7.tar.xz +sha1 032ceaa11cd791d4bc622bbf0d835b8766207796 expat-2.4.7.tar.xz # Locally calculated -sha256 5dfe538f8b5b63f03e98edac520d7d9a6a4d22e482e5c96d4d06fcc5485c25f2 expat-2.2.10.tar.xz +sha256 9875621085300591f1e64c18fd3da3a0eeca4a74f884b9abac2758ad1bd07a7d expat-2.4.7.tar.xz sha256 8c6b5b6de8fae20b317f4992729abc0e520bfba4c7606cd1e9eeb87418eebdec COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index 4acbade2c84..a42c77e0fb7 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,19 +4,18 @@ # ################################################################################ -EXPAT_VERSION = 2.2.10 +EXPAT_VERSION = 2.4.7 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.xz EXPAT_INSTALL_STAGING = YES -EXPAT_DEPENDENCIES = host-pkgconf -HOST_EXPAT_DEPENDENCIES = host-pkgconf EXPAT_LICENSE = MIT EXPAT_LICENSE_FILES = COPYING EXPAT_CPE_ID_VENDOR = libexpat_project EXPAT_CPE_ID_PRODUCT = libexpat -EXPAT_CONF_OPTS = --without-docbook -HOST_EXPAT_CONF_OPTS = --without-docbook +EXPAT_CONF_OPTS = \ + --without-docbook --without-examples --without-tests --without-xmlwf +HOST_EXPAT_CONF_OPTS = --without-docbook --without-examples --without-tests $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/expect/expect.mk b/package/expect/expect.mk index 37b4ce7065e..44bf74af469 100644 --- a/package/expect/expect.mk +++ b/package/expect/expect.mk @@ -16,6 +16,6 @@ EXPECT_DEPENDENCIES = tcl EXPECT_CONF_OPTS = --with-tcl=$(BUILD_DIR)/tcl-$(TCL_VERSION)/unix # Since we don't want examples installed -EXPECT_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-binaries +EXPECT_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-binaries $(eval $(autotools-package)) diff --git a/package/faifa/0002-hpav_cfg.c-do-not-include-linux-if_ether.h-for-musl-.patch b/package/faifa/0002-hpav_cfg.c-do-not-include-linux-if_ether.h-for-musl-.patch index 6f340c35098..c5547a5e10a 100644 --- a/package/faifa/0002-hpav_cfg.c-do-not-include-linux-if_ether.h-for-musl-.patch +++ b/package/faifa/0002-hpav_cfg.c-do-not-include-linux-if_ether.h-for-musl-.patch @@ -1,7 +1,7 @@ From 36eed08a3783df6bb8d92d3c80cd47d0660eeb12 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sat, 30 Jan 2016 16:27:37 +0100 -Subject: [PATCH 1/1] hpav_cfg.c: do not include linux/if_ether.h for musl +Subject: [PATCH] hpav_cfg.c: do not include linux/if_ether.h for musl compatibility Fixes a build issue with the musl C library diff --git a/package/fail2ban/0001-fixed-possible-RCE-vulnerability-unset-escape-variable.patch b/package/fail2ban/0001-fixed-possible-RCE-vulnerability-unset-escape-variable.patch new file mode 100644 index 00000000000..6d44f41d857 --- /dev/null +++ b/package/fail2ban/0001-fixed-possible-RCE-vulnerability-unset-escape-variable.patch @@ -0,0 +1,158 @@ +From 410a6ce5c80dd981c22752da034f2529b5eee844 Mon Sep 17 00:00:00 2001 +From: sebres +Date: Mon, 21 Jun 2021 17:12:53 +0200 +Subject: [PATCH] fixed possible RCE vulnerability, unset escape variable + (default tilde) stops consider "~" char after new-line as composing escape + sequence + +[Retrieved from: +https://github.com/fail2ban/fail2ban/commit/410a6ce5c80dd981c22752da034f2529b5eee844] +Signed-off-by: Fabrice Fontaine +--- + config/action.d/complain.conf | 2 +- + config/action.d/dshield.conf | 2 +- + config/action.d/mail-buffered.conf | 8 ++++---- + config/action.d/mail-whois-lines.conf | 2 +- + config/action.d/mail-whois.conf | 6 +++--- + config/action.d/mail.conf | 6 +++--- + 6 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/config/action.d/complain.conf b/config/action.d/complain.conf +index 3a5f882c9f..4d73b05859 100644 +--- a/config/action.d/complain.conf ++++ b/config/action.d/complain.conf +@@ -102,7 +102,7 @@ logpath = /dev/null + # Notes.: Your system mail command. Is passed 2 args: subject and recipient + # Values: CMD + # +-mailcmd = mail -s ++mailcmd = mail -E 'set escape' -s + + # Option: mailargs + # Notes.: Additional arguments to mail command. e.g. for standard Unix mail: +diff --git a/config/action.d/dshield.conf b/config/action.d/dshield.conf +index c128bef348..3d5a7a53a9 100644 +--- a/config/action.d/dshield.conf ++++ b/config/action.d/dshield.conf +@@ -179,7 +179,7 @@ tcpflags = + # Notes.: Your system mail command. Is passed 2 args: subject and recipient + # Values: CMD + # +-mailcmd = mail -s ++mailcmd = mail -E 'set escape' -s + + # Option: mailargs + # Notes.: Additional arguments to mail command. e.g. for standard Unix mail: +diff --git a/config/action.d/mail-buffered.conf b/config/action.d/mail-buffered.conf +index 325f185b2f..79b841049c 100644 +--- a/config/action.d/mail-buffered.conf ++++ b/config/action.d/mail-buffered.conf +@@ -17,7 +17,7 @@ actionstart = printf %%b "Hi,\n + The jail has been started successfully.\n + Output will be buffered until lines are available.\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : started on " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : started on " + + # Option: actionstop + # Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +@@ -28,13 +28,13 @@ actionstop = if [ -f ]; then + These hosts have been banned by Fail2Ban.\n + `cat ` + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : Summary from " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : Summary from " + rm + fi + printf %%b "Hi,\n + The jail has been stopped.\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : stopped on " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : stopped on " + + # Option: actioncheck + # Notes.: command executed once before each actionban command +@@ -55,7 +55,7 @@ actionban = printf %%b "`date`: ( failures)\n" >> + These hosts have been banned by Fail2Ban.\n + `cat ` + \nRegards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : Summary" ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : Summary" + rm + fi + +diff --git a/config/action.d/mail-whois-lines.conf b/config/action.d/mail-whois-lines.conf +index 3a3e56b2c7..d2818cb9b9 100644 +--- a/config/action.d/mail-whois-lines.conf ++++ b/config/action.d/mail-whois-lines.conf +@@ -72,7 +72,7 @@ actionunban = + # Notes.: Your system mail command. Is passed 2 args: subject and recipient + # Values: CMD + # +-mailcmd = mail -s ++mailcmd = mail -E 'set escape' -s + + # Default name of the chain + # +diff --git a/config/action.d/mail-whois.conf b/config/action.d/mail-whois.conf +index 7fea34c40d..ab33b616dc 100644 +--- a/config/action.d/mail-whois.conf ++++ b/config/action.d/mail-whois.conf +@@ -20,7 +20,7 @@ norestored = 1 + actionstart = printf %%b "Hi,\n + The jail has been started successfully.\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : started on " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : started on " + + # Option: actionstop + # Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +@@ -29,7 +29,7 @@ actionstart = printf %%b "Hi,\n + actionstop = printf %%b "Hi,\n + The jail has been stopped.\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : stopped on " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : stopped on " + + # Option: actioncheck + # Notes.: command executed once before each actionban command +@@ -49,7 +49,7 @@ actionban = printf %%b "Hi,\n + Here is more information about :\n + `%(_whois_command)s`\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : banned from " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : banned from " + + # Option: actionunban + # Notes.: command executed when unbanning an IP. Take care that the +diff --git a/config/action.d/mail.conf b/config/action.d/mail.conf +index 5d8c0e154c..f4838ddcb6 100644 +--- a/config/action.d/mail.conf ++++ b/config/action.d/mail.conf +@@ -16,7 +16,7 @@ norestored = 1 + actionstart = printf %%b "Hi,\n + The jail has been started successfully.\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : started on " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : started on " + + # Option: actionstop + # Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +@@ -25,7 +25,7 @@ actionstart = printf %%b "Hi,\n + actionstop = printf %%b "Hi,\n + The jail has been stopped.\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : stopped on " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : stopped on " + + # Option: actioncheck + # Notes.: command executed once before each actionban command +@@ -43,7 +43,7 @@ actionban = printf %%b "Hi,\n + The IP has just been banned by Fail2Ban after + attempts against .\n + Regards,\n +- Fail2Ban"|mail -s "[Fail2Ban] : banned from " ++ Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] : banned from " + + # Option: actionunban + # Notes.: command executed when unbanning an IP. Take care that the diff --git a/package/fail2ban/0002-fix-gh-3098-build-fails-with-error-in-fail2ban-setup-command.patch b/package/fail2ban/0002-fix-gh-3098-build-fails-with-error-in-fail2ban-setup-command.patch new file mode 100644 index 00000000000..8cb097dc389 --- /dev/null +++ b/package/fail2ban/0002-fix-gh-3098-build-fails-with-error-in-fail2ban-setup-command.patch @@ -0,0 +1,67 @@ +From 5ac303df8a171f748330d4c645ccbf1c2c7f3497 Mon Sep 17 00:00:00 2001 +From: sebres +Date: Sun, 19 Sep 2021 18:49:18 +0200 +Subject: [PATCH] fix gh-3098: build fails with error in fail2ban setup + command: use_2to3 is invalid (setuptools 58+) + +[Retrieved from: +https://github.com/fail2ban/fail2ban/commit/5ac303df8a171f748330d4c645ccbf1c2c7f3497] +Signed-off-by: Fabrice Fontaine +--- + setup.py | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/setup.py b/setup.py +index f4c2550f6..98413273c 100755 +--- a/setup.py ++++ b/setup.py +@@ -48,7 +48,7 @@ + from glob import glob + + from fail2ban.setup import updatePyExec +- ++from fail2ban.version import version + + source_dir = os.path.realpath(os.path.dirname( + # __file__ seems to be overwritten sometimes on some python versions (e.g. bug of 2.6 by running under cProfile, etc.): +@@ -112,22 +112,12 @@ def update_scripts(self, dry_run=False): + # Wrapper to specify fail2ban own options: + class install_command_f2b(install): + user_options = install.user_options + [ +- ('disable-2to3', None, 'Specify to deactivate 2to3, e.g. if the install runs from fail2ban test-cases.'), + ('without-tests', None, 'without tests files installation'), + ] + def initialize_options(self): +- self.disable_2to3 = None + self.without_tests = not with_tests + install.initialize_options(self) + def finalize_options(self): +- global _2to3 +- ## in the test cases 2to3 should be already done (fail2ban-2to3): +- if self.disable_2to3: +- _2to3 = False +- if _2to3: +- cmdclass = self.distribution.cmdclass +- cmdclass['build_py'] = build_py_2to3 +- cmdclass['build_scripts'] = build_scripts_2to3 + if self.without_tests: + self.distribution.scripts.remove('bin/fail2ban-testcases') + +@@ -178,7 +168,6 @@ def run(self): + if setuptools: + setup_extra = { + 'test_suite': "fail2ban.tests.utils.gatherTests", +- 'use_2to3': True, + } + else: + setup_extra = {} +@@ -202,9 +191,6 @@ def run(self): + ('/usr/share/doc/fail2ban', doc_files) + ) + +-# Get version number, avoiding importing fail2ban. +-# This is due to tests not functioning for python3 as 2to3 takes place later +-exec(open(join("fail2ban", "version.py")).read()) + + setup( + name = "fail2ban", diff --git a/package/fail2ban/Config.in b/package/fail2ban/Config.in index 86e6233793e..8a48a8c1d0e 100644 --- a/package/fail2ban/Config.in +++ b/package/fail2ban/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_FAIL2BAN bool "fail2ban" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_SYSTEMD if BR2_PACKAGE_SYSTEMD help Fail2ban scans log files (e.g. /var/log/apache/error_log) and diff --git a/package/fail2ban/fail2ban.hash b/package/fail2ban/fail2ban.hash index f807d5a82bc..072f0ef9616 100644 --- a/package/fail2ban/fail2ban.hash +++ b/package/fail2ban/fail2ban.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 71d2a52b66bb0f87ac3812246bdd3819ec561913cd44afd39130a342f043aa6d fail2ban-0.11.1.tar.gz +sha256 383108e5f8644cefb288537950923b7520f642e7e114efb843f6e7ea9268b1e0 fail2ban-0.11.2.tar.gz sha256 a75fec0260742fe6275d63ff6a5d97b924b28766558306b3fa4069763096929b COPYING diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk index d2fe19d11e3..4a08981a971 100644 --- a/package/fail2ban/fail2ban.mk +++ b/package/fail2ban/fail2ban.mk @@ -4,22 +4,24 @@ # ################################################################################ -FAIL2BAN_VERSION = 0.11.1 +FAIL2BAN_VERSION = 0.11.2 FAIL2BAN_SITE = $(call github,fail2ban,fail2ban,$(FAIL2BAN_VERSION)) FAIL2BAN_LICENSE = GPL-2.0+ FAIL2BAN_LICENSE_FILES = COPYING FAIL2BAN_CPE_ID_VENDOR = fail2ban +FAIL2BAN_SELINUX_MODULES = fail2ban FAIL2BAN_SETUP_TYPE = distutils -ifeq ($(BR2_PACKAGE_PYTHON3),y) +# 0001-fixed-possible-RCE-vulnerability-unset-escape-variable.patch +FAIL2BAN_IGNORE_CVES += CVE-2021-32749 + define FAIL2BAN_PYTHON_2TO3 $(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban endef -FAIL2BAN_DEPENDENCIES += host-python3 +FAIL2BAN_DEPENDENCIES = host-python3 # We can't use _POST_PATCH_HOOKS because dependencies are not guaranteed # to build and install before _POST_PATCH_HOOKS run. FAIL2BAN_PRE_CONFIGURE_HOOKS += FAIL2BAN_PYTHON_2TO3 -endif define FAIL2BAN_FIX_DEFAULT_CONFIG $(SED) '/^socket/c\socket = /run/fail2ban.sock' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf @@ -30,8 +32,7 @@ FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_DEFAULT_CONFIG # fail2ban-python points to host python define FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK - ln -snf $(if $(BR2_PACKAGE_PYTHON),python,python3) \ - $(TARGET_DIR)/usr/bin/fail2ban-python + ln -snf python3 $(TARGET_DIR)/usr/bin/fail2ban-python endef FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK diff --git a/package/fakedate/fakedate b/package/fakedate/fakedate index a64d9b9cdfa..7ebbf1f0da5 100755 --- a/package/fakedate/fakedate +++ b/package/fakedate/fakedate @@ -18,18 +18,23 @@ # Copyright (C) 2016 Jérôme Pouiller # -DATE_BIN=false -# Do not call `date' directly since it will produce an infinite recursion. -# Instead, find path of true `date' binary. -for P in `echo $PATH | tr ':' ' '`; do - if [ -x "$P/date" ]; then - if ! [ "$P/date" -ef "$0" ]; then - DATE_BIN="$P/date" - break; - fi +# Do not call any 'date' before us in the PATH, or that would create +# an infinite recursion. +found=false +for date in $(which -a date); do + if [ "${date}" -ef "$0" ]; then + found=true + elif ${found}; then + DATE_BIN="${date}" + break fi done +if [ -z "${DATE_BIN}" ]; then + printf 'fakedate: no real date found in PATH after "%s"\n' "${0}" >&2 + exit 1 +fi + if [ -n "$SOURCE_DATE_EPOCH" ]; then FORCE_EPOCH=1 for i in "$@"; do diff --git a/package/fakeroot/0001-fix-prototype-generation.patch b/package/fakeroot/0001-fix-prototype-generation.patch new file mode 100644 index 00000000000..960bad21296 --- /dev/null +++ b/package/fakeroot/0001-fix-prototype-generation.patch @@ -0,0 +1,61 @@ +Subject: Fix prototype generation for openat +Author: Christoph Biedl +Date: 2021-12-30 +Bug-Debian: https://bugs.debian.org/995393 +Forwarded: Yes (implicitely) + + As jrtc27 pointed out in IRC, ppc64el is more strict than other + architectures when it comes to va_arg handling: + + it's that ppc64le uses the elfv2 abi, and for variadic calls you + must reserve space for a parameter save area + + So enhance wrapawk to create a proper prototype and argument + handling although it's specific to the openat call. Also add the + missing documentation for the sixth column to wrapfunc.inp. + +Signed-off-by: Joel Stanley + +--- a/wrapawk ++++ b/wrapawk +@@ -37,7 +37,25 @@ + argtype=$3; + argname=$4; + MACRO=$5; +- if(MACRO){ ++ openat_extra=$6; ++ if(openat_extra){ ++ print " {(void(*))&next_" name ", \"" name "\"}," > structfile; ++ print "extern " ret " (*next_" name ")" openat_extra ";" > headerfile; ++ print ret " (*next_" name ")" openat_extra "=tmp_" name ";"> deffile; ++ ++ print ret " tmp_" name, openat_extra "{" > tmpffile; ++ print " mode_t mode = 0;" > tmpffile; ++ print " if (flags & O_CREAT) {" > tmpffile; ++ print " va_list args;" > tmpffile; ++ print " va_start(args, flags);" > tmpffile; ++ print " mode = va_arg(args, int);" > tmpffile; ++ print " va_end(args);" > tmpffile; ++ print " }" > tmpffile; ++ print " load_library_symbols();" > tmpffile; ++ print " return next_" name, argname ";" > tmpffile; ++ print "}" > tmpffile; ++ print "" > tmpffile; ++ } else if(MACRO){ + print " {(void(*))&NEXT_" MACRO "_NOARG, " name "_QUOTE}," > structfile; + print "extern " ret " (*NEXT_" MACRO "_NOARG)" argtype ";" > headerfile; + print ret " (*NEXT_" MACRO "_NOARG)" argtype "=TMP_" MACRO ";"> deffile; +--- a/wrapfunc.inp ++++ b/wrapfunc.inp +@@ -9,8 +9,10 @@ + /**/ */ + /* each line of this file lists 4 fields, seperated by a ";". */ + /* The first field is the name of the wrapped function, then it's return */ +-/* value. After that come the function arguments with types, and the last */ ++/* value. After that come the function arguments with types, and the fifth */ + /* field contains the function arguments without types. */ ++/* A sixth field is a special needed when wrapping the openat syscall. */ ++/* Otherwise it's like the third (function arguments with types). */ + /**/ + + /* __*xstat are used on glibc systems instead of just *xstat. */ diff --git a/package/fakeroot/0001-skip-doc-subdirs.patch b/package/fakeroot/0001-skip-doc-subdirs.patch deleted file mode 100644 index 91663fb64d3..00000000000 --- a/package/fakeroot/0001-skip-doc-subdirs.patch +++ /dev/null @@ -1,14 +0,0 @@ -For some reason, version 1.25 and up is missing all localized doc, -and thus fails on the install stage. - -Skip the directories. - -Signed-off-by: Norbert Lange ---- fakeroot-1.25.1.org/doc/Makefile.am 2020-09-22 23:52:20.000000000 +0200 -+++ fakeroot-1.25.1/doc/Makefile.am 2020-09-24 11:05:27.611298673 +0200 -@@ -1,5 +1,4 @@ - AUTOMAKE_OPTIONS=foreign --SUBDIRS = de es fr nl pt sv - - man_MANS = faked.1 fakeroot.1 - diff --git a/package/fakeroot/0002-libfakeroot.c-define-_STAT_VER-if-not-already-define.patch b/package/fakeroot/0002-libfakeroot.c-define-_STAT_VER-if-not-already-define.patch deleted file mode 100644 index 574e55e33a7..00000000000 --- a/package/fakeroot/0002-libfakeroot.c-define-_STAT_VER-if-not-already-define.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 03bc0ee07fb6e293d081ffd8af1654788b434f6a Mon Sep 17 00:00:00 2001 -From: Ilya Lipnitskiy -Date: Thu, 11 Feb 2021 20:59:25 -0800 -Subject: [PATCH] libfakeroot.c: define _STAT_VER if not already defined -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -glibc 2.33 does does declare `_STAT_VER` anymore. - -Based on patch from Jan Pazdziora: -https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/SMQ3RYXEYTVZH6PLQMKNB3NM4XLPMNZO/ - -Backported from: feda578ca3608b7fc9a28a3a91293611c0ef47b7 - -Signed-off-by: Ilya Lipnitskiy -Signed-off-by: Jörg Krause ---- - libfakeroot.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/libfakeroot.c b/libfakeroot.c -index 3e80e38..14cdbc4 100644 ---- a/libfakeroot.c -+++ b/libfakeroot.c -@@ -90,6 +90,16 @@ - #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b) - #endif - -+#ifndef _STAT_VER -+ #if defined (__aarch64__) -+ #define _STAT_VER 0 -+ #elif defined (__x86_64__) -+ #define _STAT_VER 1 -+ #else -+ #define _STAT_VER 3 -+ #endif -+#endif -+ - /* - These INT_* (which stands for internal) macros should always be used when - the fakeroot library owns the storage of the stat variable. --- -2.30.1 - diff --git a/package/fakeroot/0003-libfakeroot.c-add-wrappers-for-new-glibc-2.33-symbol.patch b/package/fakeroot/0003-libfakeroot.c-add-wrappers-for-new-glibc-2.33-symbol.patch deleted file mode 100644 index 8115598d64f..00000000000 --- a/package/fakeroot/0003-libfakeroot.c-add-wrappers-for-new-glibc-2.33-symbol.patch +++ /dev/null @@ -1,80 +0,0 @@ -From feda578ca3608b7fc9a28a3a91293611c0ef47b7 Mon Sep 17 00:00:00 2001 -From: Ilya Lipnitskiy -Date: Thu, 11 Feb 2021 21:00:04 -0800 -Subject: [PATCH] libfakeroot.c: add wrappers for new glibc 2.33+ symbols -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch add wrappers for newly exported symbols in glibc 2.33. - -Backported from: feda578ca3608b7fc9a28a3a91293611c0ef47b7 - -Signed-off-by: Ilya Lipnitskiy -Signed-off-by: Jörg Krause ---- - libfakeroot.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 48 insertions(+) - -diff --git a/libfakeroot.c b/libfakeroot.c -index 14cdbc4..d75c51f 100644 ---- a/libfakeroot.c -+++ b/libfakeroot.c -@@ -1352,6 +1352,54 @@ int renameat(int olddir_fd, const char *oldpath, - #endif /* HAVE_FSTATAT */ - - -+#if defined(__GLIBC__) && __GLIBC_PREREQ(2,33) -+/* Glibc 2.33 exports symbols for these functions in the shared lib */ -+ int lstat(const char *file_name, struct stat *statbuf) { -+ return WRAP_LSTAT LSTAT_ARG(_STAT_VER, file_name, statbuf); -+ } -+ int stat(const char *file_name, struct stat *st) { -+ return WRAP_STAT STAT_ARG(_STAT_VER, file_name, st); -+ } -+ int fstat(int fd, struct stat *st) { -+ return WRAP_FSTAT FSTAT_ARG(_STAT_VER, fd, st); -+ } -+ -+ #ifdef HAVE_FSTATAT -+ int fstatat(int dir_fd, const char *path, struct stat *st, int flags) { -+ return WRAP_FSTATAT FSTATAT_ARG(_STAT_VER, dir_fd, path, st, flags); -+ } -+ #endif -+ -+ #ifdef STAT64_SUPPORT -+ int lstat64(const char *file_name, struct stat64 *st) { -+ return WRAP_LSTAT64 LSTAT64_ARG(_STAT_VER, file_name, st); -+ } -+ int stat64(const char *file_name, struct stat64 *st) { -+ return WRAP_STAT64 STAT64_ARG(_STAT_VER, file_name, st); -+ } -+ int fstat64(int fd, struct stat64 *st) { -+ return WRAP_FSTAT64 FSTAT64_ARG(_STAT_VER, fd, st); -+ } -+ -+ #ifdef HAVE_FSTATAT -+ int fstatat64(int dir_fd, const char *path, struct stat64 *st, int flags) { -+ return WRAP_FSTATAT64 FSTATAT64_ARG(_STAT_VER, dir_fd, path, st, flags); -+ } -+ #endif -+ #endif -+ -+ int mknod(const char *pathname, mode_t mode, dev_t dev) { -+ return WRAP_MKNOD MKNOD_ARG(_STAT_VER, pathname, mode, &dev); -+ } -+ -+ #if defined(HAVE_FSTATAT) && defined(HAVE_MKNODAT) -+ int mknodat(int dir_fd, const char *pathname, mode_t mode, dev_t dev) { -+ return WRAP_MKNODAT MKNODAT_ARG(_STAT_VER, dir_fd, pathname, mode, &dev); -+ } -+ #endif -+#endif /* GLIBC_PREREQ */ -+ -+ - #ifdef FAKEROOT_FAKENET - pid_t fork(void) - { --- -2.30.1 - diff --git a/package/fakeroot/0004-configure.ac-fix-__xmknod-at-pointer-argument.patch b/package/fakeroot/0004-configure.ac-fix-__xmknod-at-pointer-argument.patch deleted file mode 100644 index 38dfea868b9..00000000000 --- a/package/fakeroot/0004-configure.ac-fix-__xmknod-at-pointer-argument.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 432dd46e662772020306a2ce8b1be38321697e69 Mon Sep 17 00:00:00 2001 -From: Ilya Lipnitskiy -Date: Sat, 13 Feb 2021 19:32:08 -0800 -Subject: [PATCH] configure.ac: fix __xmknod{,at} pointer argument -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Switch default to assume * and not the absence of *. - -On glibc 2.33+, there is no definition for these functions in header -files, so the compile test doesn't work. But, we can default to using -the pointer (as is the case with newer glibc), and use the header file -on older platforms to fail the test and use no pointer. - -Backported from: c3eebec293e35b997bb46c22fb5a4e114afb5e7f - -Signed-off-by: Ilya Lipnitskiy -Signed-off-by: Jörg Krause ---- - configure.ac | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 73415d2..d85566f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -183,13 +183,13 @@ AC_MSG_CHECKING([for type of arg of __xmknod]) - ]], [[ - int __xmknod ( int ver, - const char *pathname , -- mode_t mode , dev_t dev); -+ mode_t mode , dev_t *dev); - ]])],[ -- AC_DEFINE(XMKNOD_FRTH_ARG,) -- AC_MSG_RESULT([no extra *]) -- ],[ - AC_DEFINE(XMKNOD_FRTH_ARG,[*]) - AC_MSG_RESULT([needs *]) -+ ],[ -+ AC_DEFINE(XMKNOD_FRTH_ARG,) -+ AC_MSG_RESULT([no extra *]) - - ]) - -@@ -210,13 +210,13 @@ AC_MSG_CHECKING([for type of arg of __xmknodat]) - int __xmknodat ( int ver, - int dirfd, - const char *pathname , -- mode_t mode , dev_t dev); -+ mode_t mode , dev_t *dev); - ]])],[ -- AC_DEFINE(XMKNODAT_FIFTH_ARG,) -- AC_MSG_RESULT([no extra *]) -- ],[ - AC_DEFINE(XMKNODAT_FIFTH_ARG,[*]) - AC_MSG_RESULT([needs *]) -+ ],[ -+ AC_DEFINE(XMKNODAT_FIFTH_ARG,) -+ AC_MSG_RESULT([no extra *]) - - ]) - --- -2.30.1 - diff --git a/package/fakeroot/0005-fix-build-regression-on-macOS.patch b/package/fakeroot/0005-fix-build-regression-on-macOS.patch deleted file mode 100644 index d5589a79f57..00000000000 --- a/package/fakeroot/0005-fix-build-regression-on-macOS.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 3590b817df703a256f2c1de9a5f5469eaa1c86e9 Mon Sep 17 00:00:00 2001 -From: Ilya Lipnitskiy -Date: Mon, 15 Feb 2021 11:07:56 -0800 -Subject: [PATCH] fix build regression on macOS - -Signed-off-by: Felix Fietkau -Signed-off-by: Ilya Lipnitskiy -[Ryan: backported from 8090dffdad8fda86dccd47ce7a7db8840bdf7d7b] -Signed-off-by: Ryan Barnett ---- - configure.ac | 6 ++++++ - libfakeroot.c | 4 +++- - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index d85566f..d635df1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -181,6 +181,9 @@ AC_MSG_CHECKING([for type of arg of __xmknod]) - #include - #include - ]], [[ -+#ifndef __GLIBC__ -+#error no extra * -+#endif - int __xmknod ( int ver, - const char *pathname , - mode_t mode , dev_t *dev); -@@ -207,6 +210,9 @@ AC_MSG_CHECKING([for type of arg of __xmknodat]) - #include - #include - ]], [[ -+#ifndef __GLIBC__ -+#error no extra * -+#endif - int __xmknodat ( int ver, - int dirfd, - const char *pathname , -diff --git a/libfakeroot.c b/libfakeroot.c -index d75c51f..ec4e577 100644 ---- a/libfakeroot.c -+++ b/libfakeroot.c -@@ -1352,7 +1352,8 @@ int renameat(int olddir_fd, const char *oldpath, - #endif /* HAVE_FSTATAT */ - - --#if defined(__GLIBC__) && __GLIBC_PREREQ(2,33) -+#if defined(__GLIBC__) -+#if __GLIBC_PREREQ(2,33) - /* Glibc 2.33 exports symbols for these functions in the shared lib */ - int lstat(const char *file_name, struct stat *statbuf) { - return WRAP_LSTAT LSTAT_ARG(_STAT_VER, file_name, statbuf); -@@ -1397,6 +1398,7 @@ int renameat(int olddir_fd, const char *oldpath, - return WRAP_MKNODAT MKNODAT_ARG(_STAT_VER, dir_fd, pathname, mode, &dev); - } - #endif -+#endif /* __GLIBC__ */ - #endif /* GLIBC_PREREQ */ - - --- -2.25.1 - diff --git a/package/fakeroot/fakeroot.hash b/package/fakeroot/fakeroot.hash index 1a23d9e8d80..3d53eeb0970 100644 --- a/package/fakeroot/fakeroot.hash +++ b/package/fakeroot/fakeroot.hash @@ -1,4 +1,4 @@ -# From http://deb.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.25.3-1.dsc -sha256 8e903683357f7f5bcc31b879fd743391ad47691d4be33d24a76be3b6c21e956c fakeroot_1.25.3.orig.tar.gz +# From http://deb.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.26-1.dsc +sha256 480a578ffdc5592e73df4c086950d321b4adc78dbdaec56c82e4fe1fb68de8e9 fakeroot_1.26.orig.tar.gz # License files, locally calculated sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/fakeroot/fakeroot.mk b/package/fakeroot/fakeroot.mk index c3312b777b2..3fadf1c0f08 100644 --- a/package/fakeroot/fakeroot.mk +++ b/package/fakeroot/fakeroot.mk @@ -4,9 +4,9 @@ # ################################################################################ -FAKEROOT_VERSION = 1.25.3 +FAKEROOT_VERSION = 1.26 FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.gz -FAKEROOT_SITE = https://snapshot.debian.org/archive/debian/20201008T205817Z/pool/main/f/fakeroot +FAKEROOT_SITE = https://snapshot.debian.org/archive/debian/20210907T092512Z/pool/main/f/fakeroot HOST_FAKEROOT_DEPENDENCIES = host-acl # Force capabilities detection off @@ -15,8 +15,6 @@ HOST_FAKEROOT_DEPENDENCIES = host-acl HOST_FAKEROOT_CONF_ENV = \ ac_cv_header_sys_capability_h=no \ ac_cv_func_capset=no -# patching configure.ac in patch 0003 -HOST_FAKEROOT_AUTORECONF = YES FAKEROOT_LICENSE = GPL-3.0+ FAKEROOT_LICENSE_FILES = COPYING diff --git a/package/faketime/faketime.hash b/package/faketime/faketime.hash index bdb003aa69b..0628ff9ae65 100644 --- a/package/faketime/faketime.hash +++ b/package/faketime/faketime.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 06288237cd5890eca148489e5b904ed852ed0ffa8424bfb479342f4daa8442a3 faketime-0.9.8.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 57d0181150361c0a9b5c8eef05b11392f6134ada2c2d998e92e63daed639647c faketime-0.9.9.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/faketime/faketime.mk b/package/faketime/faketime.mk index 85ce9a90d86..355477ba3b9 100644 --- a/package/faketime/faketime.mk +++ b/package/faketime/faketime.mk @@ -4,7 +4,7 @@ # ################################################################################ -FAKETIME_VERSION = 0.9.8 +FAKETIME_VERSION = 0.9.9 FAKETIME_SITE = $(call github,wolfcw,libfaketime,v$(FAKETIME_VERSION)) FAKETIME_LICENSE = GPL-2.0 FAKETIME_LICENSE_FILES = COPYING diff --git a/package/fastd/Config.in b/package/fastd/Config.in index 5319d685033..97fac9362a4 100644 --- a/package/fastd/Config.in +++ b/package/fastd/Config.in @@ -21,6 +21,13 @@ config BR2_PACKAGE_FASTD_STATUS_SOCKET help Enable support for a socket to get fastd's status. +config BR2_PACKAGE_FASTD_OFFLOAD_L2TP + bool "l2tp offload support" + select BR2_PACKAGE_LIBMNL + help + L2TP can be offloaded to the Linux kernel, significantly + increasing throughput. + endif comment "fastd needs a toolchain w/ threads, dynamic library" diff --git a/package/fastd/fastd.hash b/package/fastd/fastd.hash index b59085e0eec..5f7f9665336 100644 --- a/package/fastd/fastd.hash +++ b/package/fastd/fastd.hash @@ -1,3 +1,3 @@ # computed locally -sha256 942f33bcd794bcb8e19da4c30c875bdfd4d0f1c24ec4dcdf51237791bbfb0d4c fastd-21.tar.xz -sha256 1f5acece57466eac89108f934a196be09b7676fa2d637e78d6657ee1a7d644ac COPYRIGHT +sha256 19750b88705d66811b7c21b672537909c19ae6b21350688cbd1a3a54d08a8951 fastd-22.tar.xz +sha256 adf08b42f1b890b89e998360a864cb4f8441a0a57c9e95e2ce1bfdfc24c49976 COPYRIGHT diff --git a/package/fastd/fastd.mk b/package/fastd/fastd.mk index bbec63d9634..5cd6a909c38 100644 --- a/package/fastd/fastd.mk +++ b/package/fastd/fastd.mk @@ -4,11 +4,12 @@ # ################################################################################ -FASTD_VERSION = 21 +FASTD_VERSION = 22 FASTD_SITE = https://github.com/NeoRaider/fastd/releases/download/v$(FASTD_VERSION) FASTD_SOURCE = fastd-$(FASTD_VERSION).tar.xz FASTD_LICENSE = BSD-2-Clause FASTD_LICENSE_FILES = COPYRIGHT +FASTD_CPE_ID_VERSION = $(FASTD_VERSION).0 FASTD_DEPENDENCIES = host-bison host-pkgconf libuecc libsodium ifeq ($(BR2_PACKAGE_LIBCAP),y) @@ -32,6 +33,13 @@ else FASTD_CONF_OPTS += -Dstatus_socket=disabled endif +ifeq ($(BR2_PACKAGE_FASTD_OFFLOAD_L2TP),y) +FASTD_CONF_OPTS += -Doffload_l2tp=enabled -Dlibmnl_builtin=false +FASTD_DEPENDENCIES += libmnl +else +FASTD_CONF_OPTS += -Doffload_l2tp=disabled +endif + ifeq ($(BR2_INIT_SYSTEMD),y) FASTD_CONF_OPTS += -Dsystemd=enabled else diff --git a/package/fatcat/fatcat.hash b/package/fatcat/fatcat.hash index 66823e2d9e4..56f89edd50e 100644 --- a/package/fatcat/fatcat.hash +++ b/package/fatcat/fatcat.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 303efe2aa73cbfe6fbc5d8af346d0f2c70b3f996fc891e8859213a58b95ad88c fatcat-1.1.0.tar.gz -sha256 3ea03755e32cf7f5b12981de92a0fdad396448195fe0024990c9cbc388e9866c LICENSE +sha256 5574f715f62a9feda7fffc8099f8bca7134ff4f1274bb1bc0db96a2969eea206 fatcat-1.1.1.tar.gz +sha256 3ea03755e32cf7f5b12981de92a0fdad396448195fe0024990c9cbc388e9866c LICENSE diff --git a/package/fatcat/fatcat.mk b/package/fatcat/fatcat.mk index 1a2e5aacae9..0dff53fa656 100644 --- a/package/fatcat/fatcat.mk +++ b/package/fatcat/fatcat.mk @@ -4,7 +4,7 @@ # ################################################################################ -FATCAT_VERSION = 1.1.0 +FATCAT_VERSION = 1.1.1 FATCAT_SITE = $(call github,Gregwar,fatcat,v$(FATCAT_VERSION)) FATCAT_LICENSE = MIT FATCAT_LICENSE_FILES = LICENSE diff --git a/package/fb-test-app/fb-test-app.hash b/package/fb-test-app/fb-test-app.hash index 06611db7998..ff7730ef8dc 100644 --- a/package/fb-test-app/fb-test-app.hash +++ b/package/fb-test-app/fb-test-app.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6baf6b45968d0bb9a5527c6c4bf18661e9f9eb9be973a6d1952c38168c90d58f fb-test-app-rosetta-1.1.0.tar.gz +sha256 45d490ed78a6e4425d9a760e81e99dc503af01704e17ab5bf186b87a31c5e3db fb-test-app-1.1.1.tar.gz sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/fb-test-app/fb-test-app.mk b/package/fb-test-app/fb-test-app.mk index 1ab7b2f219a..89d533ab15b 100644 --- a/package/fb-test-app/fb-test-app.mk +++ b/package/fb-test-app/fb-test-app.mk @@ -4,8 +4,8 @@ # ################################################################################ -FB_TEST_APP_VERSION = rosetta-1.1.0 -FB_TEST_APP_SITE = $(call github,prpplague,fb-test-app,$(FB_TEST_APP_VERSION)) +FB_TEST_APP_VERSION = 1.1.1 +FB_TEST_APP_SITE = $(call github,andy-shev,fb-test-app,rosetta-$(FB_TEST_APP_VERSION)) FB_TEST_APP_LICENSE = GPL-2.0 FB_TEST_APP_LICENSE_FILES = COPYING @@ -18,6 +18,7 @@ define FB_TEST_APP_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/rect $(TARGET_DIR)/usr/bin/fb-test-rect $(INSTALL) -D -m 0755 $(@D)/fb-test $(TARGET_DIR)/usr/bin/fb-test $(INSTALL) -D -m 0755 $(@D)/offset $(TARGET_DIR)/usr/bin/fb-test-offset + $(INSTALL) -D -m 0755 $(@D)/fb-string $(TARGET_DIR)/usr/bin/fb-test-string endef $(eval $(generic-package)) diff --git a/package/fbgrab/fbgrab.hash b/package/fbgrab/fbgrab.hash index 4d9a6b97d44..8cd1ff15186 100644 --- a/package/fbgrab/fbgrab.hash +++ b/package/fbgrab/fbgrab.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 62d7aa82138ac36db0921832f3b5267b4cffc0dc22c8701857ebcb997960a32e fbgrab-1.4.tar.gz +sha256 0202a9c4fb430eee4d8f566d09ab5f6e35c50804a192ba106046e54eb886f8f1 fbgrab-1.5.tar.gz sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/package/fbgrab/fbgrab.mk b/package/fbgrab/fbgrab.mk index 1ae03ae43ff..693c4c282d9 100644 --- a/package/fbgrab/fbgrab.mk +++ b/package/fbgrab/fbgrab.mk @@ -4,7 +4,7 @@ # ################################################################################ -FBGRAB_VERSION = 1.4 +FBGRAB_VERSION = 1.5 FBGRAB_SITE = $(call github,GunnarMonell,fbgrab,$(FBGRAB_VERSION)) FBGRAB_DEPENDENCIES = libpng FBGRAB_LICENSE = GPL-2.0 diff --git a/package/fbv/0002-cross.patch b/package/fbv/0001-cross.patch similarity index 100% rename from package/fbv/0002-cross.patch rename to package/fbv/0001-cross.patch diff --git a/package/fbv/0003-fix-24bpp-support-on-big-endian.patch b/package/fbv/0002-fix-24bpp-support-on-big-endian.patch similarity index 100% rename from package/fbv/0003-fix-24bpp-support-on-big-endian.patch rename to package/fbv/0002-fix-24bpp-support-on-big-endian.patch diff --git a/package/fbv/0004-fix-bgr555.patch b/package/fbv/0003-fix-bgr555.patch similarity index 100% rename from package/fbv/0004-fix-bgr555.patch rename to package/fbv/0003-fix-bgr555.patch diff --git a/package/fbv/0005-giflib.patch b/package/fbv/0004-giflib.patch similarity index 100% rename from package/fbv/0005-giflib.patch rename to package/fbv/0004-giflib.patch diff --git a/package/fbv/0006-include.patch b/package/fbv/0005-include.patch similarity index 100% rename from package/fbv/0006-include.patch rename to package/fbv/0005-include.patch diff --git a/package/fbv/0007-libpng15.patch b/package/fbv/0006-libpng15.patch similarity index 100% rename from package/fbv/0007-libpng15.patch rename to package/fbv/0006-libpng15.patch diff --git a/package/fbv/0007-gif.c-fic-build-with-gcc-10.patch b/package/fbv/0007-gif.c-fic-build-with-gcc-10.patch new file mode 100644 index 00000000000..57d5777b61b --- /dev/null +++ b/package/fbv/0007-gif.c-fic-build-with-gcc-10.patch @@ -0,0 +1,36 @@ +From 8877207b290da1c3bc100f2705c30e6bdafcd985 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 26 May 2022 23:59:46 +0200 +Subject: [PATCH] gif.c: fic build with gcc >= 10 + +Fix the following build failure with gcc >= 10:: + +/nvmedata/autobuild/instance-30/output-1/per-package/fbv/host/bin/../lib/gcc/powerpc-buildroot-linux-uclibc/11.3.0/../../../../powerpc-buildroot-linux-uclibc/bin/ld: gif.o: in function `fh_gif_load': +gif.c:(.text+0x338): undefined reference to `m_rend_gif_decodecolormap' + +Fixes: + - http://autobuild.buildroot.org/results/dca603a61b1fd0558992b4a40152d23b5b9c0049 + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable (most active fork dropped gif +support: https://github.com/godspeed1989/fbv/pull/17)] +--- + gif.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gif.c b/gif.c +index 689e549..5560f25 100644 +--- a/gif.c ++++ b/gif.c +@@ -48,7 +48,7 @@ int fh_gif_id(char *name) + return(0); + } + +-inline void m_rend_gif_decodecolormap(unsigned char *cmb,unsigned char *rgbb,ColorMapObject *cm,int s,int l, int transparency) ++static inline void m_rend_gif_decodecolormap(unsigned char *cmb,unsigned char *rgbb,ColorMapObject *cm,int s,int l, int transparency) + { + GifColorType *cmentry; + int i; +-- +2.35.1 + diff --git a/package/fdk-aac/fdk-aac.hash b/package/fdk-aac/fdk-aac.hash index 6b41e66a619..b10d5f92b16 100644 --- a/package/fdk-aac/fdk-aac.hash +++ b/package/fdk-aac/fdk-aac.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/opencore-amr/files/fdk-aac/ -sha1 575e90e85321c5be44dcf743a40ea57ab0835928 fdk-aac-2.0.1.tar.gz -md5 e8b0b38e837df455b8a1ba75417ff0ad fdk-aac-2.0.1.tar.gz +sha1 579b34e8174b4feb21a9c598695f5ff4a7ceef8c fdk-aac-2.0.2.tar.gz +md5 b41222194b31f570b3132bd622a9aef6 fdk-aac-2.0.2.tar.gz # Locally computed: -sha256 840133aa9412153894af03b27b03dde1188772442c316a4ce2a24ed70093f271 fdk-aac-2.0.1.tar.gz -sha256 95ec80da40b4af12ad4c4f3158c9cfb80f2479f3246e4260cb600827cc8c7836 NOTICE +sha256 c9e8630cf9d433f3cead74906a1520d2223f89bcd3fa9254861017440b8eb22f fdk-aac-2.0.2.tar.gz +sha256 95ec80da40b4af12ad4c4f3158c9cfb80f2479f3246e4260cb600827cc8c7836 NOTICE diff --git a/package/fdk-aac/fdk-aac.mk b/package/fdk-aac/fdk-aac.mk index 92753b5e082..c66f6df7975 100644 --- a/package/fdk-aac/fdk-aac.mk +++ b/package/fdk-aac/fdk-aac.mk @@ -4,7 +4,7 @@ # ################################################################################ -FDK_AAC_VERSION = 2.0.1 +FDK_AAC_VERSION = 2.0.2 FDK_AAC_SITE = http://downloads.sourceforge.net/project/opencore-amr/fdk-aac FDK_AAC_LICENSE = fdk-aac license FDK_AAC_LICENSE_FILES = NOTICE diff --git a/package/feh/feh.hash b/package/feh/feh.hash index 806bca08ce4..07c0dd9403a 100644 --- a/package/feh/feh.hash +++ b/package/feh/feh.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 388f9dcc8284031023364355e23a82c276e79ca614f2dcd64d2f927857a4531e feh-3.5.tar.bz2 +sha256 57ab1ca61f57c96595878069f550d36f518530f88fa31b74cc39cd739f9258b6 feh-3.7.1.tar.bz2 sha256 2c3a31327dc3cc3331aa6e759d378e4f66d0ece7174a0d5aa137f3cba4bf0509 COPYING diff --git a/package/feh/feh.mk b/package/feh/feh.mk index c1dae9db88c..3aa509abfea 100644 --- a/package/feh/feh.mk +++ b/package/feh/feh.mk @@ -4,12 +4,13 @@ # ################################################################################ -FEH_VERSION = 3.5 +FEH_VERSION = 3.7.1 FEH_SOURCE = feh-$(FEH_VERSION).tar.bz2 FEH_SITE = http://feh.finalrewind.org FEH_DEPENDENCIES = imlib2 libpng xlib_libXt FEH_LICENSE = MIT FEH_LICENSE_FILES = COPYING +FEH_CPE_ID_VENDOR = feh_project ifeq ($(BR2_PACKAGE_LIBCURL),y) FEH_DEPENDENCIES += libcurl diff --git a/package/fetchmail/fetchmail.hash b/package/fetchmail/fetchmail.hash index b5261638499..3d4c3da3dc0 100644 --- a/package/fetchmail/fetchmail.hash +++ b/package/fetchmail/fetchmail.hash @@ -1,6 +1,4 @@ -# From https://sourceforge.net/p/fetchmail/mailman/message/37215482/ -sha256 044b9a0ac03afbae7744979defe3e2e32e39141bca68fd0c8deda2ed40884fb9 fetchmail-6.4.16.tar.xz -# From https://sourceforge.net/projects/fetchmail/files/branch_6.4/ -sha1 ec910eed3db4d8c44469aabaf33f529334a2fdb5 fetchmail-6.4.16.tar.xz +# From https://sourceforge.net/p/fetchmail/mailman/message/37388106/ +sha256 9c961df25cd922f539218b0b56a77e7a47778e49ed907edaa5b4941ad3b253cf fetchmail-6.4.24.tar.xz # Locally computed: -sha256 8e3ec4863456a26fcd1cf84fadd4146efcb2fd8515bcec482e0f2b7060108895 COPYING +sha256 001d1b8d111a83e3bab8b4d511ea4767d37d3bd0583560fccece630df1ba8f3c COPYING diff --git a/package/fetchmail/fetchmail.mk b/package/fetchmail/fetchmail.mk index 2db635ec66d..7d6be719541 100644 --- a/package/fetchmail/fetchmail.mk +++ b/package/fetchmail/fetchmail.mk @@ -5,12 +5,13 @@ ################################################################################ FETCHMAIL_VERSION_MAJOR = 6.4 -FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).16 +FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).24 FETCHMAIL_SOURCE = fetchmail-$(FETCHMAIL_VERSION).tar.xz FETCHMAIL_SITE = http://downloads.sourceforge.net/project/fetchmail/branch_$(FETCHMAIL_VERSION_MAJOR) FETCHMAIL_LICENSE = GPL-2.0; some exceptions are mentioned in COPYING FETCHMAIL_LICENSE_FILES = COPYING FETCHMAIL_CPE_ID_VENDOR = fetchmail +FETCHMAIL_SELINUX_MODULES = fetchmail mta FETCHMAIL_CONF_OPTS = \ --with-ssl=$(STAGING_DIR)/usr diff --git a/package/ffmpeg/0003-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch b/package/ffmpeg/0002-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch similarity index 100% rename from package/ffmpeg/0003-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch rename to package/ffmpeg/0002-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch diff --git a/package/ffmpeg/0002-configure-use-require_pkg_config-to-check-for-wavpac.patch b/package/ffmpeg/0002-configure-use-require_pkg_config-to-check-for-wavpac.patch deleted file mode 100644 index 49c3ccee9b5..00000000000 --- a/package/ffmpeg/0002-configure-use-require_pkg_config-to-check-for-wavpac.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a507a9cd6525d5b3a1eea32e25a139b4023800a2 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 20 Sep 2020 13:48:00 +0200 -Subject: [PATCH] configure: use require_pkg_config to check for wavpack - -Fixes static builds with toolchains needing "-lm" for math functions. - -Patch sent upstream: -http://ffmpeg.org/pipermail/ffmpeg-devel/2020-September/270127.html - -Signed-off-by: Bernd Kuhls ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index 5d68695192..4e6c6edd30 100755 ---- a/configure -+++ b/configure -@@ -6438,7 +6438,7 @@ enabled libvpx && { - fi - } - --enabled libwavpack && require libwavpack wavpack/wavpack.h WavpackOpenFileOutput -lwavpack -+enabled libwavpack && require_pkg_config libwavpack wavpack "wavpack/wavpack.h" WavpackOpenFileOutput - enabled libwebp && { - enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion - enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; } --- -2.27.0 - diff --git a/package/ffmpeg/0003-libavutil-Fix-mips-build.patch b/package/ffmpeg/0003-libavutil-Fix-mips-build.patch new file mode 100644 index 00000000000..8b81e66981b --- /dev/null +++ b/package/ffmpeg/0003-libavutil-Fix-mips-build.patch @@ -0,0 +1,72 @@ +From 6e8daf0d502a2a822f1f08f42368d7d676dc1a9e Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 6 Jun 2021 08:54:53 +0200 +Subject: [PATCH] libavutil: Fix mips build + +Check for sys/auxv.h because not all toolchains contain this header. + +Fixes https://trac.ffmpeg.org/ticket/9138 + +Patch sent upstream: +http://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281272.html + +Signed-off-by: Bernd Kuhls +--- + configure | 2 ++ + libavutil/mips/cpu.c | 6 +++--- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index 6bfd98b384..773a7d516c 100755 +--- a/configure ++++ b/configure +@@ -2161,6 +2161,7 @@ HEADERS_LIST=" + opencv2_core_core_c_h + OpenGL_gl3_h + poll_h ++ sys_auxv_h + sys_param_h + sys_resource_h + sys_select_h +@@ -6218,6 +6219,7 @@ check_func_headers VideoToolbox/VTCompressionSession.h VTCompressionSessionPrepa + check_headers windows.h + check_headers X11/extensions/XvMClib.h + check_headers asm/types.h ++check_headers sys/auxv.h + + # it seems there are versions of clang in some distros that try to use the + # gcc headers, which explodes for stdatomic +diff --git a/libavutil/mips/cpu.c b/libavutil/mips/cpu.c +index 59619d54de..19196de50b 100644 +--- a/libavutil/mips/cpu.c ++++ b/libavutil/mips/cpu.c +@@ -19,7 +19,7 @@ + #include "libavutil/cpu.h" + #include "libavutil/cpu_internal.h" + #include "config.h" +-#if defined __linux__ || defined __ANDROID__ ++#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H + #include + #include + #include +@@ -28,7 +28,7 @@ + #include "libavutil/avstring.h" + #endif + +-#if defined __linux__ || defined __ANDROID__ ++#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H + + #define HWCAP_LOONGSON_CPUCFG (1 << 14) + +@@ -105,7 +105,7 @@ static int cpu_flags_cpuinfo(void) + + int ff_get_cpu_flags_mips(void) + { +-#if defined __linux__ || defined __ANDROID__ ++#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H + if (cpucfg_available()) + return cpu_flags_cpucfg(); + else +-- +2.29.2 + diff --git a/package/ffmpeg/0004-avformat-mpegts-make-sure-mpegts-read-header-always.patch b/package/ffmpeg/0004-avformat-mpegts-make-sure-mpegts-read-header-always.patch deleted file mode 100644 index 75a39d16fa7..00000000000 --- a/package/ffmpeg/0004-avformat-mpegts-make-sure-mpegts-read-header-always.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 3136f41e6db8189994a8e4f72eacc92b669776d1 Mon Sep 17 00:00:00 2001 -From: Marton Balint -Date: Sun, 15 Nov 2020 00:39:41 +0100 -Subject: [PATCH] avformat/mpegts: make sure mpegts_read_header always stops at - the first pmt - -mpegts_read_header stops parsing the file at the first PMT. However the check -that ensured this was wrong because streams can also be added before the first -PMT is received (e.g. EIT). - -So let's make sure we are in the header reading phase by checking if ts->pkt is -unset instead of checking if the number of streams found so far is 0. - -Downloaded from Kodi ffmpeg repo: -https://github.com/xbmc/FFmpeg/commit/3136f41e6db8189994a8e4f72eacc92b669776d1 - -Patch was committed upstream: -http://git.videolan.org/?p=ffmpeg.git;a=patch;h=ca55240b8c1fd4cfdb61f88fd2cb378d475d910a - -Signed-off-by: Marton Balint -Signed-off-by: Bernd Kuhls ---- - libavformat/mpegts.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c -index c6fd3e1cef63..1da81a0fe62a 100644 ---- a/libavformat/mpegts.c -+++ b/libavformat/mpegts.c -@@ -2352,7 +2352,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len - goto out; - - // stop parsing after pmt, we found header -- if (!ts->stream->nb_streams) -+ if (!ts->pkt) - ts->stop_parse = 2; - - set_pmt_found(ts, h->id); diff --git a/package/ffmpeg/0004-configure-add-extralibs-to-extralibs_xxx.patch b/package/ffmpeg/0004-configure-add-extralibs-to-extralibs_xxx.patch new file mode 100644 index 00000000000..dbc19c1cecb --- /dev/null +++ b/package/ffmpeg/0004-configure-add-extralibs-to-extralibs_xxx.patch @@ -0,0 +1,47 @@ +From 0c288853630b7b4e004774c39945d4a804afcfa8 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 6 Aug 2021 09:17:20 +0200 +Subject: [PATCH] configure: add extralibs to extralibs_xxx + +Add extralibs to extralibs_xxx (e.g. extralibs_avformat) to allow +applications such as motion to retrieve ffmpeg dependencies such as +-latomic through pkg-config + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable] +--- + configure | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/configure b/configure +index 0bb3a7cf2b..3bda99e415 100755 +--- a/configure ++++ b/configure +@@ -7602,15 +7602,15 @@ rpath=$(enabled rpath && echo "-Wl,-rpath,\${libdir}") + source_path=${source_path} + LIBPREF=${LIBPREF} + LIBSUF=${LIBSUF} +-extralibs_avutil="$avutil_extralibs" +-extralibs_avcodec="$avcodec_extralibs" +-extralibs_avformat="$avformat_extralibs" +-extralibs_avdevice="$avdevice_extralibs" +-extralibs_avfilter="$avfilter_extralibs" +-extralibs_avresample="$avresample_extralibs" +-extralibs_postproc="$postproc_extralibs" +-extralibs_swscale="$swscale_extralibs" +-extralibs_swresample="$swresample_extralibs" ++extralibs_avutil="$avutil_extralibs $extralibs" ++extralibs_avcodec="$avcodec_extralibs $extralibs" ++extralibs_avformat="$avformat_extralibs $extralibs" ++extralibs_avdevice="$avdevice_extralibs $extralibs" ++extralibs_avfilter="$avfilter_extralibs $extralibs" ++extralibs_avresample="$avresample_extralibs $extralibs" ++extralibs_postproc="$postproc_extralibs $extralibs" ++extralibs_swscale="$swscale_extralibs $extralibs" ++extralibs_swresample="$swresample_extralibs $extralibs" + EOF + + for lib in $LIBRARY_LIST; do +-- +2.30.2 + diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash index 959a562b8d4..8669a060d0b 100644 --- a/package/ffmpeg/ffmpeg.hash +++ b/package/ffmpeg/ffmpeg.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb ffmpeg-4.3.1.tar.xz +sha256 af419a7f88adbc56c758ab19b4c708afbcae15ef09606b82b855291f6a6faa93 ffmpeg-4.4.2.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 sha256 cb48bf09a11f5fb576cddb0431c8f5ed0a60157a9ec942adffc13907cbe083f2 LICENSE.md diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index 6d28bfbed75..82d229903f3 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 4.3.1 +FFMPEG_VERSION = 4.4.2 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -368,13 +368,6 @@ else FFMPEG_CONF_OPTS += --disable-libtheora endif -ifeq ($(BR2_PACKAGE_WAVPACK),y) -FFMPEG_CONF_OPTS += --enable-libwavpack -FFMPEG_DEPENDENCIES += wavpack -else -FFMPEG_CONF_OPTS += --disable-libwavpack -endif - ifeq ($(BR2_PACKAGE_LIBICONV),y) FFMPEG_CONF_OPTS += --enable-iconv FFMPEG_DEPENDENCIES += libiconv @@ -514,10 +507,8 @@ else FFMPEG_CONF_OPTS += --enable-mipsfpu endif -# Fix build failure on "addi opcode not supported" -ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y) +# Fix build failure on several missing assembly instructions FFMPEG_CONF_OPTS += --disable-asm -endif endif # MIPS ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) diff --git a/package/file/0001-Add-libmagic.pc.patch b/package/file/0001-Add-libmagic.pc.patch deleted file mode 100644 index b26d16224d5..00000000000 --- a/package/file/0001-Add-libmagic.pc.patch +++ /dev/null @@ -1,76 +0,0 @@ -From d079cac1110cc2761417f0dcb0a142b217eb1eda Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 31 Jan 2020 20:26:29 +0100 -Subject: [PATCH] Add libmagic.pc - -libmagic can optionally depends on xz (for lzma) or bzip2 since version -5.38 and -https://github.com/file/file/commit/b259a07ea95827f565faa20f0316e5b2704064f7 -so add libmagic.pc so package (such as gerbera) that links with libmagic -will be able to use pkg-config to retrieve those static dependencies -For example, this will avoid the following build failure: - -[100%] Linking CXX executable gerbera -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/br-user/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmagic.a(compress.o): in function `uncompressbuf': -compress.c:(.text+0x69c): undefined reference to `BZ2_bzDecompressInit' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x710): undefined reference to `BZ2_bzDecompress' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x730): undefined reference to `BZ2_bzDecompressEnd' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x7bc): undefined reference to `lzma_auto_decoder' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x828): undefined reference to `lzma_code' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x848): undefined reference to `lzma_end' - -Fixes: - - http://autobuild.buildroot.org/results/37b1ef54dc41100689f311fbc31fc9300dc6ae63 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://bugs.astron.com/view.php?id=136] ---- - Makefile.am | 5 +++++ - configure.ac | 2 +- - libmagic.pc.in | 10 ++++++++++ - 3 files changed, 16 insertions(+), 1 deletion(-) - create mode 100644 libmagic.pc.in - -diff --git a/Makefile.am b/Makefile.am -index 8bd927d9..2ab67ed7 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -3,3 +3,8 @@ ACLOCAL_AMFLAGS = -I m4 - EXTRA_DIST = MAINT - - SUBDIRS = src magic tests doc python -+ -+# This variable must have 'exec' in its name, in order to be installed -+# by 'install-exec' target (instead of default 'install-data') -+pkgconfigexecdir = $(libdir)/pkgconfig -+pkgconfigexec_DATA = libmagic.pc -diff --git a/configure.ac b/configure.ac -index ac37fccd..b2e2e5b8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -217,5 +217,5 @@ if test "$ac_cv_header_lzma_h$ac_cv_lib_lzma_lzma_stream_decoder" = "yesyes"; t - AC_DEFINE([XZLIBSUPPORT], 1, [Enable xzlib compression support]) - fi - --AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile]) -+AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile libmagic.pc]) - AC_OUTPUT -diff --git a/libmagic.pc.in b/libmagic.pc.in -new file mode 100644 -index 00000000..3ad1290b ---- /dev/null -+++ b/libmagic.pc.in -@@ -0,0 +1,10 @@ -+prefix=@prefix@ -+exec_prefix=@exec_prefix@ -+libdir=@libdir@ -+includedir=@includedir@ -+ -+Name: libmagic -+Description: Magic number recognition library -+Version: @VERSION@ -+Libs: -L${libdir} -lmagic -+Libs.private: @LIBS@ --- -2.24.1 - diff --git a/package/file/file.hash b/package/file/file.hash index 96efaf8483d..33875776ebe 100644 --- a/package/file/file.hash +++ b/package/file/file.hash @@ -1,7 +1,7 @@ # Locally calculated after verifying signature -# ftp://ftp.astron.com/pub/file/file-5.38.tar.gz.asc +# ftp://ftp.astron.com/pub/file/file-5.41.tar.gz.asc # using key BE04995BA8F90ED0C0C176C471112AB16CB33B3A -sha256 593c2ffc2ab349c5aea0f55fedfe4d681737b6b62376a9b3ad1e77b2cc19fa34 file-5.38.tar.gz -sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING -sha256 4ccb60d623884ef637af4a5bc16b2cb350163e2135e967655837336019a64462 src/mygetopt.h -sha256 58b5932aca6c10f2194290a3b26088ec9ba07ef6b52cc9bb2dd638cc634db6f1 src/vasprintf.c +sha256 13e532c7b364f7d57e23dfeea3147103150cb90593a57af86c10e4f6e411603f file-5.41.tar.gz +sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING +sha256 4ccb60d623884ef637af4a5bc16b2cb350163e2135e967655837336019a64462 src/mygetopt.h +sha256 c4fa92d6504b88484a12140fe3e24b9b29b0112717f94b1ff4205d54828b1c70 src/vasprintf.c diff --git a/package/file/file.mk b/package/file/file.mk index c41a8eb3a47..c06975460f6 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -4,18 +4,21 @@ # ################################################################################ -FILE_VERSION = 5.38 +FILE_VERSION = 5.41 FILE_SITE = ftp://ftp.astron.com/pub/file -FILE_DEPENDENCIES = host-file -HOST_FILE_DEPENDENCIES = host-zlib -FILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' -FILE_INSTALL_STAGING = YES FILE_LICENSE = BSD-2-Clause, BSD-4-Clause (one file), BSD-3-Clause (one file) FILE_LICENSE_FILES = COPYING src/mygetopt.h src/vasprintf.c FILE_CPE_ID_VENDOR = file_project -# We're patching configure.ac + FILE_AUTORECONF = YES + +FILE_DEPENDENCIES = host-file +FILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' +FILE_INSTALL_STAGING = YES + +HOST_FILE_DEPENDENCIES = host-zlib HOST_FILE_CONF_OPTS = --disable-libseccomp +HOST_FILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' ifeq ($(BR2_PACKAGE_BZIP2),y) FILE_CONF_OPTS += --enable-bzlib diff --git a/package/filemq/filemq.hash b/package/filemq/filemq.hash index 611d19208e2..cf81eb4f503 100644 --- a/package/filemq/filemq.hash +++ b/package/filemq/filemq.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f3764e1adacfbf7fd09fb9c553e796a80d8159f1ace689fb68307afbc1746d4c filemq-8940f34e0f1c8f25c1c693ed8db069f58fbc5ad0.tar.gz +sha256 bdec8584a181e1c9a1d9be567768bcf8c3f7132ea701dd1829f74370c6536991 filemq-af4768dcaf2fcb8083a32bad107a22ecb7a5d954.tar.gz sha256 60222c28c1a7f6a92c7df98e5c5f4459e624e6e285e0b9b94467af5f6ab3343d LICENSE diff --git a/package/filemq/filemq.mk b/package/filemq/filemq.mk index 75d8bd992c3..665d6da2124 100644 --- a/package/filemq/filemq.mk +++ b/package/filemq/filemq.mk @@ -4,7 +4,7 @@ # ################################################################################ -FILEMQ_VERSION = 8940f34e0f1c8f25c1c693ed8db069f58fbc5ad0 +FILEMQ_VERSION = af4768dcaf2fcb8083a32bad107a22ecb7a5d954 FILEMQ_SITE = $(call github,zeromq,filemq,$(FILEMQ_VERSION)) FILEMQ_AUTORECONF = YES diff --git a/package/findutils/findutils.hash b/package/findutils/findutils.hash index 392c62d2544..0284c0e7b21 100644 --- a/package/findutils/findutils.hash +++ b/package/findutils/findutils.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 c5fefbdf9858f7e4feb86f036e1247a54c79fc2d8e4b7064d5aaa1f47dfa789a findutils-4.7.0.tar.xz +sha256 a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe findutils-4.9.0.tar.xz # Hash for license file -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/findutils/findutils.mk b/package/findutils/findutils.mk index 13d8271e181..9731a350473 100644 --- a/package/findutils/findutils.mk +++ b/package/findutils/findutils.mk @@ -4,14 +4,22 @@ # ################################################################################ -FINDUTILS_VERSION = 4.7.0 +FINDUTILS_VERSION = 4.9.0 FINDUTILS_SOURCE = findutils-$(FINDUTILS_VERSION).tar.xz FINDUTILS_SITE = $(BR2_GNU_MIRROR)/findutils FINDUTILS_LICENSE = GPL-3.0+ FINDUTILS_LICENSE_FILES = COPYING +FINDUTILS_CPE_ID_VENDOR = gnu FINDUTILS_CONF_ENV = \ gl_cv_func_stdin=yes \ ac_cv_func_working_mktime=yes \ gl_cv_func_wcwidth_works=yes +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +FINDUTILS_DEPENDENCIES += libselinux +FINDUTILS_CONF_OPTS += --with-selinux +else +FINDUTILS_CONF_OPTS += --without-selinux +endif + $(eval $(autotools-package)) diff --git a/package/fio/0001-t-io_uring-don-t-use-rand48_r-variants.patch b/package/fio/0001-t-io_uring-don-t-use-rand48_r-variants.patch deleted file mode 100644 index 8d6830ac819..00000000000 --- a/package/fio/0001-t-io_uring-don-t-use-rand48_r-variants.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 5e8865c0e08861558c1253c521dc9098d0c773ee Mon Sep 17 00:00:00 2001 -From: Jens Axboe -Date: Mon, 16 Mar 2020 08:30:36 -0600 -Subject: [PATCH] t/io_uring: don't use *rand48_r() variants - -Not available on all platforms. - -Signed-off-by: Jens Axboe - -[Patch from upstream -https://github.com/axboe/fio/commit/5e8865c0e08861558c1253c521dc9098d0c773ee] -Signed-off-by: Heiko Thiery ---- - t/io_uring.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/t/io_uring.c b/t/io_uring.c -index e84a2b6b..d48db1e9 100644 ---- a/t/io_uring.c -+++ b/t/io_uring.c -@@ -63,7 +63,6 @@ struct file { - struct submitter { - pthread_t thread; - int ring_fd; -- struct drand48_data rand; - struct io_sq_ring sq_ring; - struct io_uring_sqe *sqes; - struct io_cq_ring cq_ring; -@@ -170,7 +169,7 @@ static void init_io(struct submitter *s, unsigned index) - } - f->pending_ios++; - -- lrand48_r(&s->rand, &r); -+ r = lrand48(); - offset = (r % (f->max_blocks - 1)) * BS; - - if (register_files) { -@@ -286,7 +285,7 @@ static void *submitter_fn(void *data) - - printf("submitter=%d\n", gettid()); - -- srand48_r(pthread_self(), &s->rand); -+ srand48(pthread_self()); - - prepped = 0; - do { --- -2.20.1 - diff --git a/package/fio/0002-Makefile-fix-build-of-io_uring-on-sh4.patch b/package/fio/0002-Makefile-fix-build-of-io_uring-on-sh4.patch deleted file mode 100644 index 69bda93d379..00000000000 --- a/package/fio/0002-Makefile-fix-build-of-io_uring-on-sh4.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e1985f9097f37748efdc29239eb3fb6a00b12f27 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 23 May 2020 19:07:40 +0200 -Subject: [PATCH] Makefile: fix build of io_uring on sh4 - -SuperH compile currently fails with: - -/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sh4-buildroot-linux-uclibc/8.3.0/../../../../sh4-buildroot-linux-uclibc/bin/ld: t/io_uring.o: in function `submitter_fn': -/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/fio-3.19/t/io_uring.c:131: undefined reference to `arch_flags' -/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sh4-buildroot-linux-uclibc/8.3.0/../../../../sh4-buildroot-linux-uclibc/bin/ld: /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/fio-3.19/t/io_uring.c:367: undefined reference to `arch_flags' -collect2: error: ld returned 1 exit status - -Fix that by ensuring we have a stub arch.o with the necessary arch flags - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/axboe/fio/commit/e1985f9097f37748efdc29239eb3fb6a00b12f27] ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile b/Makefile -index f1e984f5f..e39621954 100644 ---- a/Makefile -+++ b/Makefile -@@ -283,6 +283,7 @@ T_PIPE_ASYNC_OBJS = t/read-to-pipe-async.o - T_PIPE_ASYNC_PROGS = t/read-to-pipe-async - - T_IOU_RING_OBJS = t/io_uring.o -+T_IOU_RING_OBJS += t/arch.o - T_IOU_RING_PROGS = t/io_uring - - T_MEMLOCK_OBJS = t/memlock.o diff --git a/package/fio/Config.in b/package/fio/Config.in index 8da227db7c0..7825209b4c9 100644 --- a/package/fio/Config.in +++ b/package/fio/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_FIO bool "fio" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_TOOLCHAIN_HAS_THREADS # fio uses fallocate() which becomes fallocate64() while compiling with @@ -13,8 +14,9 @@ config BR2_PACKAGE_FIO http://git.kernel.dk/?p=fio.git;a=summary -comment "fio needs a toolchain w/ dynamic library, threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "fio needs a toolchain w/ dynamic library, threads, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_nios2 depends on BR2_USE_MMU diff --git a/package/fio/fio.hash b/package/fio/fio.hash index d95deb20b0b..891ca4e40e9 100644 --- a/package/fio/fio.hash +++ b/package/fio/fio.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 a2f885834900f554127718716338914791f5d72800b6f9e3edf173b94b5a2e4e fio-3.19.tar.gz +sha256 859dca5241e5494d86c4aa1531a984cc556789c78e56b30d6070acfbdd193a8c fio-3.28.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 8a240c1ad13d1fe3e58588643d81d0695899be4a669fe6d8fafa76ca6a89db2c MORAL-LICENSE diff --git a/package/fio/fio.mk b/package/fio/fio.mk index 3ddd74eda44..13818b60fd7 100644 --- a/package/fio/fio.mk +++ b/package/fio/fio.mk @@ -4,7 +4,7 @@ # ################################################################################ -FIO_VERSION = 3.19 +FIO_VERSION = 3.28 FIO_SITE = http://brick.kernel.dk/snaps FIO_LICENSE = GPL-2.0 FIO_LICENSE_FILES = COPYING MORAL-LICENSE @@ -13,6 +13,10 @@ ifeq ($(BR2_PACKAGE_LIBAIO),y) FIO_DEPENDENCIES += libaio endif +ifeq ($(BR2_PACKAGE_LIBNFS),y) +FIO_DEPENDENCIES += libnfs +endif + ifeq ($(BR2_PACKAGE_NUMACTL),y) FIO_DEPENDENCIES += numactl endif diff --git a/package/firmware-utils/Config.in b/package/firmware-utils/Config.in new file mode 100644 index 00000000000..77533607022 --- /dev/null +++ b/package/firmware-utils/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_FIRMWARE_UTILS + bool "firmware-utils" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_ZLIB + help + Firmware utils are tools that can be used for managing + platform / device / vendor specific firmware images. Depending + on a specific tool it may be possible to read information, + extract data, modify or build an image from a scratch. + + A common target usage of firmware utils is to upgrade kernel + and / or rootfs. Depending on device it may be required to + extract a part of firmware image and flash it. + + https://git.openwrt.org/?p=project/firmware-utils.git;a=summary + +comment "firmware-utils needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/firmware-utils/Config.in.host b/package/firmware-utils/Config.in.host new file mode 100644 index 00000000000..4aaec05001b --- /dev/null +++ b/package/firmware-utils/Config.in.host @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HOST_FIRMWARE_UTILS + bool "host firmware-utils" + help + Firmware utils are tools that can be used for managing + platform / device / vendor specific firmware images. Depending + on a specific tool it may be possible to read information, + extract data, modify or build an image from a scratch. + + A common host usage of firmware utils is to build a bootloader + supported image. + + https://git.openwrt.org/?p=project/firmware-utils.git;a=summary diff --git a/package/firmware-utils/firmware-utils.hash b/package/firmware-utils/firmware-utils.hash new file mode 100644 index 00000000000..16197cabd05 --- /dev/null +++ b/package/firmware-utils/firmware-utils.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0df1b7912d68822025f9bb6a7ddfdf9675e2116d34c3c74bbdc83defcefe203c firmware-utils-86739f2b3ae9502368b89ef37fa6f31c42aad6f4-br1.tar.gz diff --git a/package/firmware-utils/firmware-utils.mk b/package/firmware-utils/firmware-utils.mk new file mode 100644 index 00000000000..d5b079e4f5a --- /dev/null +++ b/package/firmware-utils/firmware-utils.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# firmware-utils +# +################################################################################ + +FIRMWARE_UTILS_VERSION = 86739f2b3ae9502368b89ef37fa6f31c42aad6f4 +FIRMWARE_UTILS_SITE = https://git.openwrt.org/project/firmware-utils.git +FIRMWARE_UTILS_SITE_METHOD = git +FIRMWARE_UTILS_LICENSE = \ + BSD-2-Clause (tplink-safeloader), \ + BSD-3-Clause (seama), \ + GPL-2.0 (add_header, bcmalgo, buffalo-enc, buffalo-lib, buffalo-tag, \ + buffalo-tftp, dgfirmware, dns313-header, edimax_fw_header, \ + fix-u-media-header, hcsmakeimage, mkbrncmdline, mkbrnimg, \ + mkbuffaloimg, mkcameofw, mkcasfw, mkdapimg, mkdapimg2, \ + mkdhpimg, mkdniimg, mkhilinkfw, mkmerakifw-old, mkmerakifw, \ + mkplanexfw, mkporayfw, mkrasimage, mkrtn56uimg, mksenaofw, \ + mksercommfw, mktitanimg, mktplinkfw-lib, mktplinkfw, \ + mktplinkfw2, mkwrggimg, mkwrgimg, mkzcfw, mkzynfw, \ + mkzyxelzldfw osbridge-crc, pc1crypt, srec2bin, trx2edips, \ + uimage_padhdr, wrt400n, zyimage, zytrx), \ + GPL-2.0+ (addpattern, asustrx, bcm4908asus, bcm4908kernel, dgn3500sum, \ + encode_crc, jcgimage, lzma2eva, makeamitbin, mkchkimg, \ + mkcsysimg, mkdlinkfw-lib, mkdlinkfw, mkedimaximg, mkfwimage, \ + mkfwimage2, mkheader_gemtek, mkmylofw, motorola-bin, \ + nec-enc, oseama, otrx, ptgen, sign_dlink_ru, spw303v, trx, \ + uimage_sgehdr, xiaomifw, xorimage, zyxbcm), \ + GPL-2.0 OR GPL-3.0 (nand_ecc), \ + GPL-2.0+ OR MIT (lxlfw), \ + UNKNOWN (imagetag, trx2usr) +# No explicit license file. We could use the source files, but that would mean +# we need to use all of them. If we need to do that, we can just as well leave +# it to the integrator to get them from the sources + +FIRMWARE_UTILS_DEPENDENCIES = openssl zlib +HOST_FIRMWARE_UTILS_DEPENDENCIES = host-openssl host-zlib + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/flac/0001-Fix-uclibc-build.patch b/package/flac/0001-Fix-uclibc-build.patch new file mode 100644 index 00000000000..fcba670fae2 --- /dev/null +++ b/package/flac/0001-Fix-uclibc-build.patch @@ -0,0 +1,81 @@ +From 4c62082f64132bfcbcb6569aa914c5ec283303f9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 21 Feb 2022 18:21:11 +0100 +Subject: [PATCH] Fix uclibc build + +Commit 4fbb6d4f2ecf2a96c17ea9880108409f852c08a9 reverted commit +44036c9a9b45d03373fe90e9c112852bfc054c51 and so broke again the build on +uclibc + +So put back the sys/auxv.h check as well as a getauxval check in a way +that doesn't break iOS + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/xiph/flac/pull/292] +--- + configure.ac | 5 ++++- + src/libFLAC/cpu.c | 9 ++++----- + 2 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4d7dc2e4..6f32fa45 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -69,7 +69,7 @@ AC_C_INLINE + AC_C_VARARRAYS + AC_C_TYPEOF + +-AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h]) ++AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/auxv.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h]) + + XIPH_C_BSWAP32 + XIPH_C_BSWAP16 +@@ -101,6 +101,9 @@ fi + # For the XMMS plugin. + AC_CHECK_TYPES(socklen_t, [], []) + ++dnl check for getauxval in standard library ++AC_CHECK_FUNCS(getauxval) ++ + dnl check for getopt in standard library + dnl AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] ) + AC_CHECK_FUNCS(getopt_long, [], []) +diff --git a/src/libFLAC/cpu.c b/src/libFLAC/cpu.c +index 8b92f4c7..64c6acad 100644 +--- a/src/libFLAC/cpu.c ++++ b/src/libFLAC/cpu.c +@@ -53,11 +53,9 @@ + #define dfprintf(file, format, ...) + #endif + +-#if defined FLAC__CPU_PPC +-#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD__ >= 12)) ++#if defined(HAVE_SYS_AUXV_H) + #include + #endif +-#endif + + #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) && !defined FLAC__NO_ASM + +@@ -247,7 +245,7 @@ ppc_cpu_info (FLAC__CPUInfo *info) + #define PPC_FEATURE2_ARCH_2_07 0x80000000 + #endif + +-#ifdef __linux__ ++#if defined (__linux__) && defined(HAVE_GETAUXVAL) + if (getauxval(AT_HWCAP2) & PPC_FEATURE2_ARCH_3_00) { + info->ppc.arch_3_00 = true; + } else if (getauxval(AT_HWCAP2) & PPC_FEATURE2_ARCH_2_07) { +@@ -267,7 +265,8 @@ ppc_cpu_info (FLAC__CPUInfo *info) + info->ppc.arch_2_07 = false; + info->ppc.arch_3_00 = false; + #else +-#error Unsupported platform! Please add support for reading ppc hwcaps. ++ info->ppc.arch_2_07 = false; ++ info->ppc.arch_3_00 = false; + #endif + + #else +-- +2.34.1 + diff --git a/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch b/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch deleted file mode 100644 index d1398d4b3ee..00000000000 --- a/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 14a0713389fbfef59225d027ea466ebb478a8c6b Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Thu, 19 Sep 2019 21:18:04 +0200 -Subject: [PATCH] configure.ac: check for sys/auxv.h before defining FLAC__CPU_PPC - -Upstream: https://github.com/xiph/flac/pull/142 -Signed-off-by: Peter Seiderer ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0228a12..64cb3f2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -144,7 +144,7 @@ case "$host_cpu" in - powerpc64|powerpc64le) - cpu_ppc64=true - cpu_ppc=true -- AC_DEFINE(FLAC__CPU_PPC) -+ AC_CHECK_HEADER(sys/auxv.h, AC_DEFINE(FLAC__CPU_PPC)) - AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) - AC_DEFINE(FLAC__CPU_PPC64) - AH_TEMPLATE(FLAC__CPU_PPC64, [define if building for PowerPC64]) -@@ -152,7 +152,7 @@ case "$host_cpu" in - ;; - powerpc|powerpcle) - cpu_ppc=true -- AC_DEFINE(FLAC__CPU_PPC) -+ AC_CHECK_HEADER(sys/auxv.h, AC_DEFINE(FLAC__CPU_PPC)) - AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) - asm_optimisation=$asm_opt - ;; --- -2.23.0 - diff --git a/package/flac/flac.hash b/package/flac/flac.hash index df7c2d1b95a..2444535e0f5 100644 --- a/package/flac/flac.hash +++ b/package/flac/flac.hash @@ -1,10 +1,8 @@ -# From https://ftp.osuosl.org/pub/xiph/releases/flac/MD5SUMS -md5 26703ed2858c1fc9ffc05136d13daa69 flac-1.3.3.tar.xz # From https://ftp.osuosl.org/pub/xiph/releases/flac/SHA1SUMS -sha1 6ac2e8f1dd18c9b0214c4d81bd70cdc1e943cffe flac-1.3.3.tar.xz +sha1 99c28482a8b2d81deaf740639e4cb55658427420 flac-1.3.4.tar.xz # From http://downloads.xiph.org/releases/flac/SHA256SUMS.txt -sha256 213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748 flac-1.3.3.tar.xz +sha256 8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737 flac-1.3.4.tar.xz # Locally computed -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LGPL -sha256 fa27cb11f13f97b0c5f3ff363b1e2610c6efe87ed175779cb2a78e44eb19d34c COPYING.Xiph +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LGPL +sha256 fa27cb11f13f97b0c5f3ff363b1e2610c6efe87ed175779cb2a78e44eb19d34c COPYING.Xiph diff --git a/package/flac/flac.mk b/package/flac/flac.mk index 880c176f6ef..3a18d81591e 100644 --- a/package/flac/flac.mk +++ b/package/flac/flac.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLAC_VERSION = 1.3.3 +FLAC_VERSION = 1.3.4 FLAC_SITE = http://downloads.xiph.org/releases/flac FLAC_SOURCE = flac-$(FLAC_VERSION).tar.xz FLAC_INSTALL_STAGING = YES @@ -17,9 +17,11 @@ FLAC_CPE_ID_VENDOR = flac_project FLAC_AUTORECONF = YES FLAC_CONF_OPTS = \ - --disable-cpplibs \ + $(if $(BR2_INSTALL_LIBSTDCPP),--enable-cpplibs,--disable-cpplibs) \ --disable-xmms-plugin \ - --disable-altivec + --disable-altivec \ + --disable-stack-smash-protection \ + --disable-vsx ifeq ($(BR2_PACKAGE_LIBOGG),y) FLAC_CONF_OPTS += --with-ogg=$(STAGING_DIR)/usr diff --git a/package/flannel/Config.in b/package/flannel/Config.in index 326361080f9..eb8d798f48b 100644 --- a/package/flannel/Config.in +++ b/package/flannel/Config.in @@ -12,4 +12,4 @@ config BR2_PACKAGE_FLANNEL Flannel is a virtual network that gives a subnet to each host for use with container runtimes. - https://github.com/coreos/flannel + https://github.com/flannel-io/flannel diff --git a/package/flannel/flannel.hash b/package/flannel/flannel.hash index 8195140f8e2..0d0f75e6b46 100644 --- a/package/flannel/flannel.hash +++ b/package/flannel/flannel.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 7375318b288bcff733aabfe1a1007d478cb9091cdaffe68c8253ddd93bc070ed v0.12.0.tar.gz +sha256 e17164db3b158d13ce5e40bb7b233790cb186762d929fa4f626baf586d4d63ca v0.14.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/flannel/flannel.mk b/package/flannel/flannel.mk index 8aa960f0862..231cf90dfd6 100644 --- a/package/flannel/flannel.mk +++ b/package/flannel/flannel.mk @@ -4,14 +4,14 @@ # ################################################################################ -FLANNEL_VERSION = 0.12.0 -FLANNEL_SITE = https://github.com/coreos/flannel/archive +FLANNEL_VERSION = 0.14.0 +FLANNEL_SITE = https://github.com/flannel-io/flannel/archive FLANNEL_SOURCE = v$(FLANNEL_VERSION).tar.gz FLANNEL_LICENSE = Apache-2.0 FLANNEL_LICENSE_FILES = LICENSE -FLANNEL_LDFLAGS = -X github.com/coreos/flannel/version.Version=$(FLANNEL_VERSION) +FLANNEL_LDFLAGS = -X github.com/flannel-io/flannel/version.Version=$(FLANNEL_VERSION) # Install flannel to its well known location. define FLANNEL_INSTALL_TARGET_CMDS diff --git a/package/flare-engine/Config.in b/package/flare-engine/Config.in index d08b740af3f..9c997c2b9a9 100644 --- a/package/flare-engine/Config.in +++ b/package/flare-engine/Config.in @@ -7,6 +7,7 @@ config BR2_PACKAGE_FLARE_ENGINE select BR2_PACKAGE_SDL2_IMAGE select BR2_PACKAGE_SDL2_MIXER select BR2_PACKAGE_SDL2_TTF + select BR2_PACKAGE_TREMOR # for SDL2_mixer ogg support help Flare (Free Libre Action Roleplaying Engine) is a simple game engine built to handle a very specific kind of game: diff --git a/package/flare-engine/flare-engine.hash b/package/flare-engine/flare-engine.hash index 0e37a719226..7f6169381cb 100644 --- a/package/flare-engine/flare-engine.hash +++ b/package/flare-engine/flare-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 035ffd936d9e120dc2eb792779a0b7ff64574d4a29a1124946deaf7946d1059d flare-engine-1.11.tar.gz +sha256 287a08532972fa3ac56ce7cb213d21be8be35b529339f61d4eeadbd501c78a8e flare-engine-1.12.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/flare-engine/flare-engine.mk b/package/flare-engine/flare-engine.mk index e2f3eefa281..cbb7add4bb8 100644 --- a/package/flare-engine/flare-engine.mk +++ b/package/flare-engine/flare-engine.mk @@ -4,26 +4,22 @@ # ################################################################################ -FLARE_ENGINE_VERSION = 1.11 -FLARE_ENGINE_SITE = $(call github,flareteam,flare-engine,v$(FLARE_ENGINE_VERSION)) +FLARE_ENGINE_VERSION = 1.12 +FLARE_ENGINE_SITE = $(call github,flareteam,flare-engine,v$(FLARE_ENGINE_VERSION)) FLARE_ENGINE_LICENSE = GPL-3.0+ FLARE_ENGINE_LICENSE_FILES = COPYING -FLARE_ENGINE_DEPENDENCIES += sdl2 sdl2_image sdl2_mixer sdl2_ttf +FLARE_ENGINE_DEPENDENCIES += sdl2 sdl2_image sdl2_mixer sdl2_ttf tremor # Don't use /usr/games and /usr/share/games FLARE_ENGINE_CONF_OPTS += -DBINDIR=bin -DDATADIR=share/flare -# Don't use the default Debug type as it adds -pg (gprof) -ifeq ($(BR2_ENABLE_DEBUG),y) -FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo -endif +# CMAKE_BUILD_TYPE is only used to set optimization and debug flags, all of +# which we want Buildroot to steer explicitly. Explicitly set a fake build type +# to get this control. +FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) -# CMakeLists.txt sets CMAKE_CXX_FLAGS_ depending on -# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS. -# Override CMAKE_BUILD_TYPE so no overrides are applied. -FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot FLARE_ENGINE_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O0" endif diff --git a/package/flare-game/flare-game.hash b/package/flare-game/flare-game.hash index 983c23200fe..3d6d678c94f 100644 --- a/package/flare-game/flare-game.hash +++ b/package/flare-game/flare-game.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c13231c7dd021252487f6cf117f7f2bb24bbda40af0a2b2902d72b5e2d4c242a flare-game-1.11.tar.gz +sha256 19a909f2c6e0868baae823bb491e8840d5fb3e0454f00201de8da119772e5160 flare-game-1.12.tar.gz sha256 3f941b3b89cf7b8370ceb83cc76d2120d471b58735d8ca60238a751a48d7f72f LICENSE.txt diff --git a/package/flare-game/flare-game.mk b/package/flare-game/flare-game.mk index 4bebc79595b..41f02bec933 100644 --- a/package/flare-game/flare-game.mk +++ b/package/flare-game/flare-game.mk @@ -4,11 +4,11 @@ # ################################################################################ -FLARE_GAME_VERSION = 1.11 -FLARE_GAME_SITE = $(call github,flareteam,flare-game,v$(FLARE_GAME_VERSION)) +FLARE_GAME_VERSION = 1.12 +FLARE_GAME_SITE = $(call github,flareteam,flare-game,v$(FLARE_GAME_VERSION)) FLARE_GAME_LICENSE = CC-BY-SA-3.0 (data files), GPL-2.0 (GNU Unifont), \ OFL-1.1 (Liberation Sans) -FLARE_GAME_LICENSE_FILES = README +FLARE_GAME_LICENSE_FILES = LICENSE.txt FLARE_GAME_DEPENDENCIES = flare-engine diff --git a/package/flashbench/flashbench.mk b/package/flashbench/flashbench.mk index e89a250aa31..f5791c3e95b 100644 --- a/package/flashbench/flashbench.mk +++ b/package/flashbench/flashbench.mk @@ -5,7 +5,8 @@ ################################################################################ FLASHBENCH_VERSION = 2e30b1968a66147412f21002ea844122a0d5e2f0 -FLASHBENCH_SITE = git://git.linaro.org/people/arnd/flashbench.git +FLASHBENCH_SITE = https://git.linaro.org/people/arnd/flashbench.git +FLASHBENCH_SITE_METHOD = git FLASHBENCH_LICENSE = GPL-2.0 FLASHBENCH_LICENSE_FILES = COPYING diff --git a/package/flatbuffers/0001-include-flatbuffers-base.h-fix-build-on-musl.patch b/package/flatbuffers/0001-include-flatbuffers-base.h-fix-build-on-musl.patch new file mode 100644 index 00000000000..b4bc0e12de8 --- /dev/null +++ b/package/flatbuffers/0001-include-flatbuffers-base.h-fix-build-on-musl.patch @@ -0,0 +1,51 @@ +From 0315cef04a5a8a953072691faa48af9acb6009bd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 10 Aug 2021 13:39:58 +0200 +Subject: [PATCH] include/flatbuffers/base.h: fix build on musl + +Build of applications using flatbuffers such as snort3 are broken on +musl since version 1.11.0 and +https://github.com/google/flatbuffers/commit/5f32f948102e65eaeea461b44f3b43f96c7a7a5a +because strtoll_l (and strtoull_l) are not available on musl. +flatbuffers checks for the availability of strtoull_l in CMakeLists.txt +so flatbuffers builds successfully but for applications using +flatbuffers, the result of this check is not available and +FLATBUFFERS_LOCALE_INDEPENDENT is set to 1 resulting in the following +build failure: + +In file included from /tmp/instance-0/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/flatbuffers/flexbuffers.h:24, + from /tmp/instance-0/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/flatbuffers/idl.h:26, + from /tmp/instance-0/output-1/build/snort3-3.1.6.0/src/network_inspectors/perf_monitor/fbs_formatter.cc:29: +/tmp/instance-0/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/flatbuffers/util.h: In function 'void flatbuffers::strtoval_impl(int64_t*, const char*, char**, int)': +/tmp/instance-0/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/flatbuffers/util.h:258:12: error: 'strtoll_l' was not declared in this scope; did you mean 'strcoll_l'? + 258 | *val = __strtoll_impl(str, endptr, base); + | ^~~~~~~~~~~~~~ + +Fix this failure by checking if __GNUC__ is defined before setting +FLATBUFFERS_LOCALE_INDEPENDENT to 1. + +Fixes: + - http://autobuild.buildroot.org/results/68045b83e94f8caa337b1af7ed5f493ac1a55c47 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/google/flatbuffers/pull/6773] +--- + include/flatbuffers/base.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h +index de7898dc..101c7598 100644 +--- a/include/flatbuffers/base.h ++++ b/include/flatbuffers/base.h +@@ -266,7 +266,7 @@ namespace flatbuffers { + #ifndef FLATBUFFERS_LOCALE_INDEPENDENT + // Enable locale independent functions {strtof_l, strtod_l,strtoll_l, strtoull_l}. + #if ((defined(_MSC_VER) && _MSC_VER >= 1800) || \ +- (defined(_XOPEN_VERSION) && (_XOPEN_VERSION>=700)) && (!defined(__ANDROID_API__) || (defined(__ANDROID_API__) && (__ANDROID_API__>=21)))) ++ (defined(__GLIBC__) && defined(_XOPEN_VERSION) && (_XOPEN_VERSION>=700)) && (!defined(__ANDROID_API__) || (defined(__ANDROID_API__) && (__ANDROID_API__>=21)))) + #define FLATBUFFERS_LOCALE_INDEPENDENT 1 + #else + #define FLATBUFFERS_LOCALE_INDEPENDENT 0 +-- +2.30.2 + diff --git a/package/flatbuffers/flatbuffers.hash b/package/flatbuffers/flatbuffers.hash index 82ef942799e..b05b9e7b4ba 100644 --- a/package/flatbuffers/flatbuffers.hash +++ b/package/flatbuffers/flatbuffers.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45 flatbuffers-1.12.0.tar.gz +sha256 9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4 flatbuffers-2.0.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/flatbuffers/flatbuffers.mk b/package/flatbuffers/flatbuffers.mk index 814751f30bf..280834c2d46 100644 --- a/package/flatbuffers/flatbuffers.mk +++ b/package/flatbuffers/flatbuffers.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLATBUFFERS_VERSION = 1.12.0 +FLATBUFFERS_VERSION = 2.0.0 FLATBUFFERS_SITE = $(call github,google,flatbuffers,v$(FLATBUFFERS_VERSION)) FLATBUFFERS_LICENSE = Apache-2.0 FLATBUFFERS_LICENSE_FILES = LICENSE.txt diff --git a/package/flatcc/flatcc.mk b/package/flatcc/flatcc.mk index c27809b86af..fcace691c07 100644 --- a/package/flatcc/flatcc.mk +++ b/package/flatcc/flatcc.mk @@ -10,6 +10,8 @@ FLATCC_LICENSE = Apache-2.0 FLATCC_LICENSE_FILES = LICENSE FLATCC_INSTALL_STAGING = YES FLATCC_DEPENDENCIES = host-flatcc +FLATCC_CONF_OPTS = -DFLATCC_ALLOW_WERROR=OFF +HOST_FLATCC_CONF_OPTS = -DFLATCC_ALLOW_WERROR=OFF # Disable build of tests and samples FLATCC_CONF_OPTS += -DFLATCC_TEST=OFF diff --git a/package/flex/flex.mk b/package/flex/flex.mk index 2d00969662c..85da5ddae8a 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -10,6 +10,9 @@ FLEX_INSTALL_STAGING = YES FLEX_LICENSE = FLEX FLEX_LICENSE_FILES = COPYING FLEX_CPE_ID_VENDOR = flex_project +# bug does not cause stack overflows in the generated code and has been +# noted upstream as a bug in the code generator +FLEX_IGNORE_CVES = CVE-2019-6293 FLEX_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-m4 HOST_FLEX_DEPENDENCIES = host-m4 diff --git a/package/flite/flite.hash b/package/flite/flite.hash index f21a21d1867..35ec61960a6 100644 --- a/package/flite/flite.hash +++ b/package/flite/flite.hash @@ -1,4 +1,4 @@ # locally computed hash -sha256 c73c3f6a2ea764977d6eaf0a287722d1e2066b4697088c552e342c790f3d2b85 flite-2.1-release.tar.bz2 +sha256 ab1555fe5adc3f99f1d4a1a0eb1596d329fd6d74f1464a0097c81f53c0cf9e5c flite-2.2.tar.gz # License files, locally calculated sha256 d31bceaf2823d56a8c9400f7bde3b17140e739e991eb4f203bdcf9827754ab59 COPYING diff --git a/package/flite/flite.mk b/package/flite/flite.mk index fd5f4ec1723..79b2288fe35 100644 --- a/package/flite/flite.mk +++ b/package/flite/flite.mk @@ -4,9 +4,8 @@ # ################################################################################ -FLITE_VERSION = 2.1 -FLITE_SOURCE = flite-$(FLITE_VERSION)-release.tar.bz2 -FLITE_SITE = http://www.festvox.org/flite/packed/flite-$(FLITE_VERSION) +FLITE_VERSION = 2.2 +FLITE_SITE = $(call github,festvox,flite,v$(FLITE_VERSION)) FLITE_LICENSE = BSD-4-Clause FLITE_LICENSE_FILES = COPYING diff --git a/package/fltk/fltk.hash b/package/fltk/fltk.hash index f3430e41f95..f8afe0c43be 100644 --- a/package/fltk/fltk.hash +++ b/package/fltk/fltk.hash @@ -1,5 +1,5 @@ -# From http://www.fltk.org/software.php?VERSION=1.3.5 -md5 e85017defd5a03ae82e634311db87bbf fltk-1.3.5-source.tar.gz +# From http://www.fltk.org/software.php?VERSION=1.3.7 +md5 b28470d0509d00633d21bee9b65167f8 fltk-1.3.7-source.tar.bz2 # Locally generated -sha256 8729b2a055f38c1636ba20f749de0853384c1d3e9d1a6b8d4d1305143e115702 fltk-1.3.5-source.tar.gz -sha256 57dd381e713fb309fb7dd85c3c38b274557ecb333475d0f1d65a5f06ad85c9a6 COPYING +sha256 5ff1e90766ff4216e78e9a19a9bf527e6258f04accccd4429e9bb829b01d690d fltk-1.3.7-source.tar.bz2 +sha256 57dd381e713fb309fb7dd85c3c38b274557ecb333475d0f1d65a5f06ad85c9a6 COPYING diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk index 763ff612d39..7c26839343f 100644 --- a/package/fltk/fltk.mk +++ b/package/fltk/fltk.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLTK_VERSION = 1.3.5 -FLTK_SOURCE = fltk-$(FLTK_VERSION)-source.tar.gz +FLTK_VERSION = 1.3.7 +FLTK_SOURCE = fltk-$(FLTK_VERSION)-source.tar.bz2 FLTK_SITE = http://fltk.org/pub/fltk/$(FLTK_VERSION) FLTK_INSTALL_STAGING = YES # We force --libdir=/usr/lib, because by default, it is set to diff --git a/package/fluidsynth/Config.in b/package/fluidsynth/Config.in index 5726e235e4f..376419ce8f1 100644 --- a/package/fluidsynth/Config.in +++ b/package/fluidsynth/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_FLUIDSYNTH # the .pc file installed by fluidsynth does not mention its # indirect dependencies in Libs.private. depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBGLIB2 help FluidSynth is a real-time software synthesizer based on the @@ -128,7 +129,7 @@ config BR2_PACKAGE_FLUIDSYNTH_READLINE endif # BR2_PACKAGE_FLUIDSYNTH -comment "fluidsynth needs a toolchain w/ threads, wchar, dynamic library" +comment "fluidsynth needs a toolchain w/ threads, wchar, dynamic library, C++" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/fluidsynth/fluidsynth.hash b/package/fluidsynth/fluidsynth.hash index 17e37e2479e..12e67404fa0 100644 --- a/package/fluidsynth/fluidsynth.hash +++ b/package/fluidsynth/fluidsynth.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b539b7c65a650b56f01cd60a4e83c6125c217c5a63c0c214ef6274894a677d00 fluidsynth-2.1.5.tar.gz +sha256 460d86d8d687f567dc4780890b72538c7ff6b2082080ef2f9359d41670a309cf fluidsynth-2.2.7.tar.gz sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/fluidsynth/fluidsynth.mk b/package/fluidsynth/fluidsynth.mk index dc777e0bf9f..c4c98831023 100644 --- a/package/fluidsynth/fluidsynth.mk +++ b/package/fluidsynth/fluidsynth.mk @@ -4,10 +4,11 @@ # ################################################################################ -FLUIDSYNTH_VERSION = 2.1.5 +FLUIDSYNTH_VERSION = 2.2.7 FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION)) FLUIDSYNTH_LICENSE = LGPL-2.1+ FLUIDSYNTH_LICENSE_FILES = LICENSE +FLUIDSYNTH_CPE_ID_VENDOR = fluidsynth FLUIDSYNTH_INSTALL_STAGING = YES FLUIDSYNTH_DEPENDENCIES = libglib2 diff --git a/package/fluxbox/0001-fixes-bug-1138.patch b/package/fluxbox/0001-fixes-bug-1138.patch new file mode 100644 index 00000000000..9c02e933501 --- /dev/null +++ b/package/fluxbox/0001-fixes-bug-1138.patch @@ -0,0 +1,25 @@ +From 22866c4d30f5b289c429c5ca88d800200db4fc4f Mon Sep 17 00:00:00 2001 +From: John Sennesael +Date: Mon, 2 Nov 2015 15:14:32 -0600 +Subject: [PATCH] fixes bug #1138 + +[Retrieved from: +https://github.com/fluxbox/fluxbox/commit/22866c4d30f5b289c429c5ca88d800200db4fc4f] +Signed-off-by: Fabrice Fontaine +--- + util/fluxbox-remote.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/fluxbox-remote.cc b/util/fluxbox-remote.cc +index 59852e6a..504015b5 100644 +--- a/util/fluxbox-remote.cc ++++ b/util/fluxbox-remote.cc +@@ -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/fmt.hash b/package/fmt/fmt.hash index 7947a17456e..79956c251bf 100644 --- a/package/fmt/fmt.hash +++ b/package/fmt/fmt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5d98c504d0205f912e22449ecdea776b78ce0bb096927334f80781e720084c9f fmt-7.1.3.zip +sha256 23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d fmt-8.1.1.zip sha256 825c9324e70f8c839c8ba910543dd4a7daee243b86ef960594c11381a19980b8 LICENSE.rst diff --git a/package/fmt/fmt.mk b/package/fmt/fmt.mk index 000bacfd7bb..be7ffb022bd 100644 --- a/package/fmt/fmt.mk +++ b/package/fmt/fmt.mk @@ -4,11 +4,12 @@ # ################################################################################ -FMT_VERSION = 7.1.3 +FMT_VERSION = 8.1.1 FMT_SITE = https://github.com/fmtlib/fmt/releases/download/$(FMT_VERSION) FMT_SOURCE = fmt-$(FMT_VERSION).zip FMT_LICENSE = MIT with exception FMT_LICENSE_FILES = LICENSE.rst +FMT_CPE_ID_VENDOR = fmt FMT_INSTALL_STAGING = YES FMT_CONF_OPTS = \ diff --git a/package/font-awesome/font-awesome.mk b/package/font-awesome/font-awesome.mk index 666346be0eb..5211ac22a5d 100644 --- a/package/font-awesome/font-awesome.mk +++ b/package/font-awesome/font-awesome.mk @@ -13,6 +13,8 @@ define FONT_AWESOME_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/share/font-awesome/ $(foreach d,$(FONT_AWESOME_DIRECTORIES_LIST),\ cp -dpfr $(@D)/$(d) $(TARGET_DIR)/usr/share/font-awesome$(sep)) + mkdir -p $(TARGET_DIR)/usr/share/fonts/ + ln -sf ../font-awesome $(TARGET_DIR)/usr/share/fonts/font-awesome endef $(eval $(generic-package)) diff --git a/package/fontconfig/fontconfig.mk b/package/fontconfig/fontconfig.mk index 33218ed6398..e34acde534f 100644 --- a/package/fontconfig/fontconfig.mk +++ b/package/fontconfig/fontconfig.mk @@ -10,9 +10,12 @@ FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.bz2 # 0002-add-pthread-as-a-dependency-of-a-static-lib.patch FONTCONFIG_AUTORECONF = YES FONTCONFIG_INSTALL_STAGING = YES -FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf host-gperf util-linux +FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf host-gperf \ + $(if $(BR2_PACKAGE_UTIL_LINUX_LIBS),util-linux-libs,util-linux) \ + $(TARGET_NLS_DEPENDENCIES) HOST_FONTCONFIG_DEPENDENCIES = \ - host-freetype host-expat host-pkgconf host-gperf host-util-linux + host-freetype host-expat host-pkgconf host-gperf host-util-linux \ + host-gettext FONTCONFIG_LICENSE = fontconfig license FONTCONFIG_LICENSE_FILES = COPYING FONTCONFIG_CPE_ID_VENDOR = fontconfig_project diff --git a/package/fping/fping.hash b/package/fping/fping.hash index 0b2233f3799..4671cd77cfa 100644 --- a/package/fping/fping.hash +++ b/package/fping/fping.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ed38c0b9b64686a05d1b3bc1d66066114a492e04e44eef1821d43b1263cd57b8 fping-5.0.tar.gz +sha256 1ee5268c063d76646af2b4426052e7d81a42b657e6a77d8e7d3d2e60fd7409fe fping-5.1.tar.gz # Hash for license file sha256 6051b27e4b4a648f7bc8b329024da53a6e95ce88fcf0ccc259c371a74b741757 COPYING diff --git a/package/fping/fping.mk b/package/fping/fping.mk index 0a03c1dfdc5..5986d05b93e 100644 --- a/package/fping/fping.mk +++ b/package/fping/fping.mk @@ -4,7 +4,7 @@ # ################################################################################ -FPING_VERSION = 5.0 +FPING_VERSION = 5.1 FPING_SITE = http://fping.org/dist FPING_LICENSE = BSD-like FPING_LICENSE_FILES = COPYING diff --git a/package/freeipmi/0001-libfreeipmi-rename-md2-and-md5-functions-macros.patch b/package/freeipmi/0001-libfreeipmi-rename-md2-and-md5-functions-macros.patch new file mode 100644 index 00000000000..0de5b29c9c6 --- /dev/null +++ b/package/freeipmi/0001-libfreeipmi-rename-md2-and-md5-functions-macros.patch @@ -0,0 +1,695 @@ +From 50eeda7f14c4eaa56aa86ba570a47557456544f2 Mon Sep 17 00:00:00 2001 +From: Albert Chu +Date: Wed, 19 Jan 2022 11:55:55 -0800 +Subject: [PATCH] libfreeipmi: rename md2 and md5 functions / macros + +Static compilation with libfreeipmi can lead to problems if +other software has similarly named md2/md5 functions +(such as md5_init()). Prefix all macros and functions with +'ipmi_' as needed. Update all callers accordingly. + +[Retrieved from: +https://github.com/chu11/freeipmi-mirror/commit/50eeda7f14c4eaa56aa86ba570a47557456544f2] +Signed-off-by: Fabrice Fontaine +--- + ChangeLog | 11 ++ + libfreeipmi/interface/ipmi-lan-interface.c | 48 +++---- + .../interface/ipmi-rmcpplus-interface.c | 2 +- + libfreeipmi/libcommon/ipmi-md2.c | 72 +++++------ + libfreeipmi/libcommon/ipmi-md2.h | 30 ++--- + libfreeipmi/libcommon/ipmi-md5.c | 64 +++++----- + libfreeipmi/libcommon/ipmi-md5.h | 18 +-- + libfreeipmi/util/ipmi-lan-util.c | 120 +++++++++--------- + 8 files changed, 188 insertions(+), 177 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 883a195cf..60bf8c323 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,14 @@ ++2021-01-19 Albert Chu ++ ++ * libfreeipmi/libcommon/ipmi-md2.h, ++ libfreeipmi/libcommon/ipmi-md2.c, ++ libfreeipmi/libcommon/ipmi-md5.h, ++ libfreeipmi/libcommon/ipmi-md5.c: Static compilation with ++ libfreeipmi can lead to problems if other software has similarly ++ named md2/md5 functions (such as md5_init()). Prefix all macros ++ and functions with 'ipmi_' as needed. Update all callers ++ accordingly. ++ + 2022-01-18 Fabrice Fontaine + + * configure.ac: use pkg-config to find gcrypt +diff --git a/libfreeipmi/interface/ipmi-lan-interface.c b/libfreeipmi/interface/ipmi-lan-interface.c +index 20099d770..658be53e1 100644 +--- a/libfreeipmi/interface/ipmi-lan-interface.c ++++ b/libfreeipmi/interface/ipmi-lan-interface.c +@@ -533,37 +533,37 @@ assemble_ipmi_lan_pkt (fiid_obj_t obj_rmcp_hdr, + + if (authentication_type == IPMI_AUTHENTICATION_TYPE_MD2) + { +- md2_t ctx; +- uint8_t digest[MD2_DIGEST_LENGTH]; ++ ipmi_md2_t ctx; ++ uint8_t digest[IPMI_MD2_DIGEST_LENGTH]; + +- assert (IPMI_1_5_MAX_PASSWORD_LENGTH == MD2_DIGEST_LENGTH); ++ assert (IPMI_1_5_MAX_PASSWORD_LENGTH == IPMI_MD2_DIGEST_LENGTH); + +- md2_init (&ctx); +- md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_update_data (&ctx, session_id_buf, session_id_len); +- md2_update_data (&ctx, msg_data_ptr, msg_data_count); +- md2_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); +- md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_finish (&ctx, digest, MD2_DIGEST_LENGTH); +- md2_init (&ctx); ++ ipmi_md2_init (&ctx); ++ ipmi_md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_update_data (&ctx, session_id_buf, session_id_len); ++ ipmi_md2_update_data (&ctx, msg_data_ptr, msg_data_count); ++ ipmi_md2_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); ++ ipmi_md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_finish (&ctx, digest, IPMI_MD2_DIGEST_LENGTH); ++ ipmi_md2_init (&ctx); + + memcpy (authentication_code_field_ptr, digest, IPMI_1_5_MAX_PASSWORD_LENGTH); + } + else if (authentication_type == IPMI_AUTHENTICATION_TYPE_MD5) + { +- md5_t ctx; +- uint8_t digest[MD5_DIGEST_LENGTH]; +- +- assert (IPMI_1_5_MAX_PASSWORD_LENGTH == MD5_DIGEST_LENGTH); +- +- md5_init (&ctx); +- md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_update_data (&ctx, session_id_buf, session_id_len); +- md5_update_data (&ctx, msg_data_ptr, msg_data_count); +- md5_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); +- md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_finish (&ctx, digest, MD5_DIGEST_LENGTH); +- md5_init (&ctx); ++ ipmi_md5_t ctx; ++ uint8_t digest[IPMI_MD5_DIGEST_LENGTH]; ++ ++ assert (IPMI_1_5_MAX_PASSWORD_LENGTH == IPMI_MD5_DIGEST_LENGTH); ++ ++ ipmi_md5_init (&ctx); ++ ipmi_md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_update_data (&ctx, session_id_buf, session_id_len); ++ ipmi_md5_update_data (&ctx, msg_data_ptr, msg_data_count); ++ ipmi_md5_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); ++ ipmi_md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_finish (&ctx, digest, IPMI_MD5_DIGEST_LENGTH); ++ ipmi_md5_init (&ctx); + + memcpy (authentication_code_field_ptr, digest, IPMI_1_5_MAX_PASSWORD_LENGTH); + } +diff --git a/libfreeipmi/interface/ipmi-rmcpplus-interface.c b/libfreeipmi/interface/ipmi-rmcpplus-interface.c +index 1f462da7e..d1fd0753a 100644 +--- a/libfreeipmi/interface/ipmi-rmcpplus-interface.c ++++ b/libfreeipmi/interface/ipmi-rmcpplus-interface.c +@@ -1134,7 +1134,7 @@ _construct_session_trlr_authentication_code (uint8_t integrity_algorithm, + { + hash_algorithm = IPMI_CRYPT_HASH_MD5; + hash_flags = 0; +- expected_digest_len = MD5_DIGEST_LENGTH; ++ expected_digest_len = IPMI_MD5_DIGEST_LENGTH; + copy_digest_len = IPMI_MD5_128_AUTHENTICATION_CODE_LENGTH; + } + else /* IPMI_INTEGRITY_ALGORITHM_HMAC_SHA256_128 */ +diff --git a/libfreeipmi/libcommon/ipmi-md2.c b/libfreeipmi/libcommon/ipmi-md2.c +index 6e9386be7..076b555bd 100644 +--- a/libfreeipmi/libcommon/ipmi-md2.c ++++ b/libfreeipmi/libcommon/ipmi-md2.c +@@ -101,15 +101,15 @@ static unsigned char S[256] = + 0xDB, 0x99, 0x8D, 0x33, 0x9F, 0x11, 0x83, 0x14 + }; + +-#define L ctx->l +-#define X ctx->x +-#define C ctx->c +-#define M ctx->m +-#define Mlen ctx->mlen +-#define MD2_MAGIC 0xf00fd00d ++#define L ctx->l ++#define X ctx->x ++#define C ctx->c ++#define M ctx->m ++#define Mlen ctx->mlen ++#define IPMI_MD2_MAGIC 0xf00fd00d + + int +-md2_init (md2_t *ctx) ++ipmi_md2_init (ipmi_md2_t *ctx) + { + + if (ctx == NULL) +@@ -118,26 +118,26 @@ md2_init (md2_t *ctx) + return (-1); + } + +- ctx->magic = MD2_MAGIC; ++ ctx->magic = IPMI_MD2_MAGIC; + + L = 0; + Mlen = 0; +- memset (X, '\0', MD2_BUFFER_LENGTH); +- memset (C, '\0', MD2_CHKSUM_LENGTH); +- memset (M, '\0', MD2_BLOCK_LENGTH); ++ memset (X, '\0', IPMI_MD2_BUFFER_LENGTH); ++ memset (C, '\0', IPMI_MD2_CHKSUM_LENGTH); ++ memset (M, '\0', IPMI_MD2_BLOCK_LENGTH); + + return (0); + } + + static void +-_md2_update_digest_and_checksum (md2_t *ctx) ++_ipmi_md2_update_digest_and_checksum (ipmi_md2_t *ctx) + { + unsigned int j, k; + uint8_t c, t; + + /* Update X */ + +- for (j = 0; j < MD2_BLOCK_LENGTH; j++) ++ for (j = 0; j < IPMI_MD2_BLOCK_LENGTH; j++) + { + X[16+j] = M[j]; + X[32+j] = (X[16+j] ^ X[j]); +@@ -145,9 +145,9 @@ _md2_update_digest_and_checksum (md2_t *ctx) + + t = 0; + +- for (j = 0; j < MD2_ROUNDS_LENGTH; j++) ++ for (j = 0; j < IPMI_MD2_ROUNDS_LENGTH; j++) + { +- for (k = 0; k < MD2_BUFFER_LENGTH; k++) ++ for (k = 0; k < IPMI_MD2_BUFFER_LENGTH; k++) + { + t = X[k] = (X[k] ^ S[t]); + } +@@ -166,7 +166,7 @@ _md2_update_digest_and_checksum (md2_t *ctx) + * Set C[j] to C[j] xor S[c xor L]. + */ + +- for (j = 0; j < MD2_BLOCK_LENGTH; j++) ++ for (j = 0; j < IPMI_MD2_BLOCK_LENGTH; j++) + { + c = M[j]; + C[j] = C[j] ^ S[c ^ L]; +@@ -175,10 +175,10 @@ _md2_update_digest_and_checksum (md2_t *ctx) + } + + int +-md2_update_data (md2_t *ctx, const void *buf, unsigned int buflen) ++ipmi_md2_update_data (ipmi_md2_t *ctx, const void *buf, unsigned int buflen) + { + +- if (ctx == NULL || ctx->magic != MD2_MAGIC || buf == NULL) ++ if (ctx == NULL || ctx->magic != IPMI_MD2_MAGIC || buf == NULL) + { + errno = EINVAL; + return (-1); +@@ -187,19 +187,19 @@ md2_update_data (md2_t *ctx, const void *buf, unsigned int buflen) + if (buflen == 0) + return (0); + +- if ((Mlen + buflen) >= MD2_BLOCK_LENGTH) ++ if ((Mlen + buflen) >= IPMI_MD2_BLOCK_LENGTH) + { + unsigned int bufcount; + +- bufcount = (MD2_BLOCK_LENGTH - Mlen); ++ bufcount = (IPMI_MD2_BLOCK_LENGTH - Mlen); + memcpy (M + Mlen, buf, bufcount); +- _md2_update_digest_and_checksum (ctx); ++ _ipmi_md2_update_digest_and_checksum (ctx); + +- while ((buflen - bufcount) >= MD2_BLOCK_LENGTH) ++ while ((buflen - bufcount) >= IPMI_MD2_BLOCK_LENGTH) + { +- memcpy (M, buf + bufcount, MD2_BLOCK_LENGTH); +- bufcount += MD2_BLOCK_LENGTH; +- _md2_update_digest_and_checksum (ctx); ++ memcpy (M, buf + bufcount, IPMI_MD2_BLOCK_LENGTH); ++ bufcount += IPMI_MD2_BLOCK_LENGTH; ++ _ipmi_md2_update_digest_and_checksum (ctx); + } + + Mlen = buflen - bufcount; +@@ -217,33 +217,33 @@ md2_update_data (md2_t *ctx, const void *buf, unsigned int buflen) + } + + static void +-_md2_append_padding_and_checksum (md2_t *ctx) ++_ipmi_md2_append_padding_and_checksum (ipmi_md2_t *ctx) + { + unsigned int padlen; + int padindex; + +- padlen = MD2_PADDING_LENGTH - Mlen; ++ padlen = IPMI_MD2_PADDING_LENGTH - Mlen; + padindex = padlen - 1; + +- md2_update_data (ctx, padding[padindex], padlen); ++ ipmi_md2_update_data (ctx, padding[padindex], padlen); + +- md2_update_data (ctx, C, MD2_CHKSUM_LENGTH); ++ ipmi_md2_update_data (ctx, C, IPMI_MD2_CHKSUM_LENGTH); + } + + int +-md2_finish (md2_t *ctx, void *digest, unsigned int digestlen) ++ipmi_md2_finish (ipmi_md2_t *ctx, void *digest, unsigned int digestlen) + { +- if (ctx == NULL || ctx->magic != MD2_MAGIC +- || digest == NULL || digestlen < MD2_DIGEST_LENGTH) ++ if (ctx == NULL || ctx->magic != IPMI_MD2_MAGIC ++ || digest == NULL || digestlen < IPMI_MD2_DIGEST_LENGTH) + { + errno = EINVAL; + return (-1); + } + +- _md2_append_padding_and_checksum (ctx); +- memcpy (digest, X, MD2_DIGEST_LENGTH); ++ _ipmi_md2_append_padding_and_checksum (ctx); ++ memcpy (digest, X, IPMI_MD2_DIGEST_LENGTH); + +- ctx->magic = ~MD2_MAGIC; +- return (MD2_DIGEST_LENGTH); ++ ctx->magic = ~IPMI_MD2_MAGIC; ++ return (IPMI_MD2_DIGEST_LENGTH); + } + +diff --git a/libfreeipmi/libcommon/ipmi-md2.h b/libfreeipmi/libcommon/ipmi-md2.h +index c102fce2c..05328e85e 100644 +--- a/libfreeipmi/libcommon/ipmi-md2.h ++++ b/libfreeipmi/libcommon/ipmi-md2.h +@@ -34,26 +34,26 @@ + + #include + +-#define MD2_BLOCK_LENGTH 16 +-#define MD2_BUFFER_LENGTH 48 +-#define MD2_CHKSUM_LENGTH 16 +-#define MD2_DIGEST_LENGTH 16 +-#define MD2_PADDING_LENGTH 16 +-#define MD2_ROUNDS_LENGTH 18 +- +-typedef struct __md2 { ++#define IPMI_MD2_BLOCK_LENGTH 16 ++#define IPMI_MD2_BUFFER_LENGTH 48 ++#define IPMI_MD2_CHKSUM_LENGTH 16 ++#define IPMI_MD2_DIGEST_LENGTH 16 ++#define IPMI_MD2_PADDING_LENGTH 16 ++#define IPMI_MD2_ROUNDS_LENGTH 18 ++ ++typedef struct __ipmi_md2 { + uint32_t magic; + uint8_t l; + unsigned int mlen; +- uint8_t x[MD2_BUFFER_LENGTH]; +- uint8_t c[MD2_CHKSUM_LENGTH]; +- uint8_t m[MD2_BLOCK_LENGTH]; +-} md2_t; ++ uint8_t x[IPMI_MD2_BUFFER_LENGTH]; ++ uint8_t c[IPMI_MD2_CHKSUM_LENGTH]; ++ uint8_t m[IPMI_MD2_BLOCK_LENGTH]; ++} ipmi_md2_t; + +-int md2_init (md2_t *ctx); ++int ipmi_md2_init (ipmi_md2_t *ctx); + +-int md2_update_data (md2_t *ctx, const void *buf, unsigned int buflen); ++int ipmi_md2_update_data (ipmi_md2_t *ctx, const void *buf, unsigned int buflen); + +-int md2_finish (md2_t *ctx, void *digest, unsigned int digestlen); ++int ipmi_md2_finish (ipmi_md2_t *ctx, void *digest, unsigned int digestlen); + + #endif /* IPMI_MD2_H */ +diff --git a/libfreeipmi/libcommon/ipmi-md5.c b/libfreeipmi/libcommon/ipmi-md5.c +index 17073b85f..c84e350a6 100644 +--- a/libfreeipmi/libcommon/ipmi-md5.c ++++ b/libfreeipmi/libcommon/ipmi-md5.c +@@ -92,7 +92,7 @@ static uint32_t T[64] = + #define D ctx->d + #define M ctx->m + #define Mlen ctx->mlen +-#define MD5_MAGIC 0xfb0fdb0d ++#define IPMI_MD5_MAGIC 0xfb0fdb0d + + #define F(x,y,z) (((x) & (y)) | ((~(x)) & (z))) + #define G(x,y,z) (((x) & (z)) | ((y) & (~(z)))) +@@ -126,7 +126,7 @@ static uint32_t T[64] = + } while (0) + + int +-md5_init (md5_t *ctx) ++ipmi_md5_init (ipmi_md5_t *ctx) + { + if (ctx == NULL) + { +@@ -134,13 +134,13 @@ md5_init (md5_t *ctx) + return (-1); + } + +- ctx->magic = MD5_MAGIC; ++ ctx->magic = IPMI_MD5_MAGIC; + + Mlen = 0; + ctx->bytes_mod_64 = 0; + ctx->bit_count[0] = 0; + ctx->bit_count[1] = 0; +- memset (M, '\0', MD5_BLOCK_LENGTH); ++ memset (M, '\0', IPMI_MD5_BLOCK_LENGTH); + + /* initial values are listed low-order byte first */ + A = 0x67452301; +@@ -152,16 +152,16 @@ md5_init (md5_t *ctx) + } + + static void +-_md5_update_digest (md5_t *ctx) ++_ipmi_md5_update_digest (ipmi_md5_t *ctx) + { + uint32_t AA, BB, CC, DD; +- uint32_t X[MD5_BLOCK_WORDS_LENGTH]; ++ uint32_t X[IPMI_MD5_BLOCK_WORDS_LENGTH]; + unsigned int j; + + /* Note there are no endian issues here, compiler is required to + * handle shifts correctly + */ +- for (j = 0; j < MD5_BLOCK_WORDS_LENGTH; j++) ++ for (j = 0; j < IPMI_MD5_BLOCK_WORDS_LENGTH; j++) + X[j] = ((uint32_t)M[j*4] + | ((uint32_t)M[j*4+1] << 8) + | ((uint32_t)M[j*4+2] << 16) +@@ -251,7 +251,7 @@ _md5_update_digest (md5_t *ctx) + } + + static void +-_md5_update_count (md5_t *ctx, unsigned int buflen) ++_ipmi_md5_update_count (ipmi_md5_t *ctx, unsigned int buflen) + { + + /* Use two uint32_t integers to hold our 64 bit count. +@@ -272,10 +272,10 @@ _md5_update_count (md5_t *ctx, unsigned int buflen) + } + + int +-md5_update_data (md5_t *ctx, const void *buf, unsigned int buflen) ++ipmi_md5_update_data (ipmi_md5_t *ctx, const void *buf, unsigned int buflen) + { + +- if (ctx == NULL || ctx->magic != MD5_MAGIC || buf == NULL) ++ if (ctx == NULL || ctx->magic != IPMI_MD5_MAGIC || buf == NULL) + { + errno = EINVAL; + return (-1); +@@ -284,28 +284,28 @@ md5_update_data (md5_t *ctx, const void *buf, unsigned int buflen) + if (buflen == 0) + return (0); + +- if ((Mlen + buflen) >= MD5_BLOCK_LENGTH) ++ if ((Mlen + buflen) >= IPMI_MD5_BLOCK_LENGTH) + { + unsigned int bufcount; + +- bufcount = (MD5_BLOCK_LENGTH - Mlen); ++ bufcount = (IPMI_MD5_BLOCK_LENGTH - Mlen); + memcpy (M + Mlen, buf, bufcount); +- _md5_update_digest (ctx); +- _md5_update_count (ctx, bufcount); ++ _ipmi_md5_update_digest (ctx); ++ _ipmi_md5_update_count (ctx, bufcount); + +- while ((buflen - bufcount) >= MD5_BLOCK_LENGTH) ++ while ((buflen - bufcount) >= IPMI_MD5_BLOCK_LENGTH) + { +- memcpy (M, buf + bufcount, MD5_BLOCK_LENGTH); +- bufcount += MD5_BLOCK_LENGTH; +- _md5_update_digest (ctx); +- _md5_update_count (ctx, MD5_BLOCK_LENGTH); ++ memcpy (M, buf + bufcount, IPMI_MD5_BLOCK_LENGTH); ++ bufcount += IPMI_MD5_BLOCK_LENGTH; ++ _ipmi_md5_update_digest (ctx); ++ _ipmi_md5_update_count (ctx, IPMI_MD5_BLOCK_LENGTH); + } + + Mlen = buflen - bufcount; + if (Mlen > 0) + { + memcpy (M, buf + bufcount, Mlen); +- _md5_update_count (ctx, Mlen); ++ _ipmi_md5_update_count (ctx, Mlen); + } + } + else +@@ -313,14 +313,14 @@ md5_update_data (md5_t *ctx, const void *buf, unsigned int buflen) + /* Not enough data to update digest, just copy in data */ + memcpy (M + Mlen, buf, buflen); + Mlen += buflen; +- _md5_update_count (ctx, buflen); ++ _ipmi_md5_update_count (ctx, buflen); + } + + return (buflen); + } + + static void +-_md5_append_padding_and_length (md5_t *ctx) ++_ipmi_md5_append_padding_and_length (ipmi_md5_t *ctx) + { + unsigned int padlen; + char length[8]; +@@ -348,23 +348,23 @@ _md5_append_padding_and_length (md5_t *ctx) + length[6] = (ctx->bit_count[0] & 0x00ff0000) >> 16; + length[7] = (ctx->bit_count[0] & 0xff000000) >> 24; + +- md5_update_data (ctx, padding, padlen); +- md5_update_data (ctx, length, 8); ++ ipmi_md5_update_data (ctx, padding, padlen); ++ ipmi_md5_update_data (ctx, length, 8); + } + + int +-md5_finish (md5_t *ctx, void *digest, unsigned int digestlen) ++ipmi_md5_finish (ipmi_md5_t *ctx, void *digest, unsigned int digestlen) + { +- uint8_t buf[MD5_DIGEST_LENGTH]; ++ uint8_t buf[IPMI_MD5_DIGEST_LENGTH]; + +- if (ctx == NULL || ctx->magic != MD5_MAGIC +- || digest == NULL || digestlen < MD5_DIGEST_LENGTH) ++ if (ctx == NULL || ctx->magic != IPMI_MD5_MAGIC ++ || digest == NULL || digestlen < IPMI_MD5_DIGEST_LENGTH) + { + errno = EINVAL; + return (-1); + } + +- _md5_append_padding_and_length (ctx); ++ _ipmi_md5_append_padding_and_length (ctx); + + /* Note there are no endian issues here, compiler is required to + * handle bitmasks and shifts correctly +@@ -387,7 +387,7 @@ md5_finish (md5_t *ctx, void *digest, unsigned int digestlen) + buf[14] = (D & 0x00ff0000) >> 16; + buf[15] = (D & 0xff000000) >> 24; + +- memcpy (digest, buf, MD5_DIGEST_LENGTH); +- ctx->magic = ~MD5_MAGIC; +- return (MD5_DIGEST_LENGTH); ++ memcpy (digest, buf, IPMI_MD5_DIGEST_LENGTH); ++ ctx->magic = ~IPMI_MD5_MAGIC; ++ return (IPMI_MD5_DIGEST_LENGTH); + } +diff --git a/libfreeipmi/libcommon/ipmi-md5.h b/libfreeipmi/libcommon/ipmi-md5.h +index 0f86f1754..6b863ef36 100644 +--- a/libfreeipmi/libcommon/ipmi-md5.h ++++ b/libfreeipmi/libcommon/ipmi-md5.h +@@ -34,11 +34,11 @@ + + #include + +-#define MD5_BLOCK_LENGTH 64 +-#define MD5_BLOCK_WORDS_LENGTH (MD5_BLOCK_LENGTH/4) +-#define MD5_DIGEST_LENGTH 16 ++#define IPMI_MD5_BLOCK_LENGTH 64 ++#define IPMI_MD5_BLOCK_WORDS_LENGTH (IPMI_MD5_BLOCK_LENGTH/4) ++#define IPMI_MD5_DIGEST_LENGTH 16 + +-typedef struct __md5 { ++typedef struct __ipmi_md5 { + uint32_t magic; + unsigned int mlen; + unsigned int bytes_mod_64; +@@ -47,13 +47,13 @@ typedef struct __md5 { + uint32_t b; + uint32_t c; + uint32_t d; +- uint8_t m[MD5_BLOCK_LENGTH]; +-} md5_t; ++ uint8_t m[IPMI_MD5_BLOCK_LENGTH]; ++} ipmi_md5_t; + +-int md5_init (md5_t *ctx); ++int ipmi_md5_init (ipmi_md5_t *ctx); + +-int md5_update_data (md5_t *ctx, const void *buf, unsigned int buflen); ++int ipmi_md5_update_data (ipmi_md5_t *ctx, const void *buf, unsigned int buflen); + +-int md5_finish (md5_t *ctx, void *digest, unsigned int digestlen); ++int ipmi_md5_finish (ipmi_md5_t *ctx, void *digest, unsigned int digestlen); + + #endif /* IPMI_MD5_H */ +diff --git a/libfreeipmi/util/ipmi-lan-util.c b/libfreeipmi/util/ipmi-lan-util.c +index cd269fcb9..a374acc8d 100644 +--- a/libfreeipmi/util/ipmi-lan-util.c ++++ b/libfreeipmi/util/ipmi-lan-util.c +@@ -281,33 +281,33 @@ ipmi_lan_check_session_authentication_code (fiid_obj_t obj_lan_session_hdr_rs, + + if (authentication_type == IPMI_AUTHENTICATION_TYPE_MD2) + { +- md2_t ctx; +- +- assert (IPMI_1_5_MAX_PASSWORD_LENGTH == MD2_DIGEST_LENGTH); +- +- md2_init (&ctx); +- md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_update_data (&ctx, session_id_buf, session_id_len); +- md2_update_data (&ctx, buf, len); +- md2_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); +- md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_finish (&ctx, authentication_code_calc, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_init (&ctx); ++ ipmi_md2_t ctx; ++ ++ assert (IPMI_1_5_MAX_PASSWORD_LENGTH == IPMI_MD2_DIGEST_LENGTH); ++ ++ ipmi_md2_init (&ctx); ++ ipmi_md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_update_data (&ctx, session_id_buf, session_id_len); ++ ipmi_md2_update_data (&ctx, buf, len); ++ ipmi_md2_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); ++ ipmi_md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_finish (&ctx, authentication_code_calc, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_init (&ctx); + } + else if (authentication_type == IPMI_AUTHENTICATION_TYPE_MD5) + { +- md5_t ctx; +- +- assert (IPMI_1_5_MAX_PASSWORD_LENGTH == MD5_DIGEST_LENGTH); +- +- md5_init (&ctx); +- md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_update_data (&ctx, session_id_buf, session_id_len); +- md5_update_data (&ctx, buf, len); +- md5_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); +- md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_finish (&ctx, authentication_code_calc, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_init (&ctx); ++ ipmi_md5_t ctx; ++ ++ assert (IPMI_1_5_MAX_PASSWORD_LENGTH == IPMI_MD5_DIGEST_LENGTH); ++ ++ ipmi_md5_init (&ctx); ++ ipmi_md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_update_data (&ctx, session_id_buf, session_id_len); ++ ipmi_md5_update_data (&ctx, buf, len); ++ ipmi_md5_update_data (&ctx, session_sequence_number_buf, session_sequence_number_len); ++ ipmi_md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_finish (&ctx, authentication_code_calc, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_init (&ctx); + } + } + +@@ -451,45 +451,45 @@ ipmi_lan_check_packet_session_authentication_code (const void *pkt, + memcpy (pwbuf, authentication_code_data, authentication_code_data_len); + if (authentication_type == IPMI_AUTHENTICATION_TYPE_MD2) + { +- md2_t ctx; +- +- assert (IPMI_1_5_MAX_PASSWORD_LENGTH == MD2_DIGEST_LENGTH); +- +- md2_init (&ctx); +- md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_update_data (&ctx, +- pkt + session_id_offset, +- session_id_len); +- md2_update_data (&ctx, +- pkt + data_offset, +- pkt_len - data_offset); +- md2_update_data (&ctx, +- pkt + session_sequence_number_offset, +- session_sequence_number_len); +- md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_finish (&ctx, authentication_code_buf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md2_init (&ctx); ++ ipmi_md2_t ctx; ++ ++ assert (IPMI_1_5_MAX_PASSWORD_LENGTH == IPMI_MD2_DIGEST_LENGTH); ++ ++ ipmi_md2_init (&ctx); ++ ipmi_md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_update_data (&ctx, ++ pkt + session_id_offset, ++ session_id_len); ++ ipmi_md2_update_data (&ctx, ++ pkt + data_offset, ++ pkt_len - data_offset); ++ ipmi_md2_update_data (&ctx, ++ pkt + session_sequence_number_offset, ++ session_sequence_number_len); ++ ipmi_md2_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_finish (&ctx, authentication_code_buf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md2_init (&ctx); + } + else if (authentication_type == IPMI_AUTHENTICATION_TYPE_MD5) + { +- md5_t ctx; +- +- assert (IPMI_1_5_MAX_PASSWORD_LENGTH == MD5_DIGEST_LENGTH); +- +- md5_init (&ctx); +- md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_update_data (&ctx, +- pkt + session_id_offset, +- session_id_len); +- md5_update_data (&ctx, +- pkt + data_offset, +- pkt_len - data_offset); +- md5_update_data (&ctx, +- pkt + session_sequence_number_offset, +- session_sequence_number_len); +- md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_finish (&ctx, authentication_code_buf, IPMI_1_5_MAX_PASSWORD_LENGTH); +- md5_init (&ctx); ++ ipmi_md5_t ctx; ++ ++ assert (IPMI_1_5_MAX_PASSWORD_LENGTH == IPMI_MD5_DIGEST_LENGTH); ++ ++ ipmi_md5_init (&ctx); ++ ipmi_md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_update_data (&ctx, ++ pkt + session_id_offset, ++ session_id_len); ++ ipmi_md5_update_data (&ctx, ++ pkt + data_offset, ++ pkt_len - data_offset); ++ ipmi_md5_update_data (&ctx, ++ pkt + session_sequence_number_offset, ++ session_sequence_number_len); ++ ipmi_md5_update_data (&ctx, pwbuf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_finish (&ctx, authentication_code_buf, IPMI_1_5_MAX_PASSWORD_LENGTH); ++ ipmi_md5_init (&ctx); + } + } + else /* authentication_type == IPMI_AUTHENTICATION_TYPE_STRAIGHT_PASSWORD_KEY diff --git a/package/freeipmi/Config.in b/package/freeipmi/Config.in new file mode 100644 index 00000000000..8ef2e137fac --- /dev/null +++ b/package/freeipmi/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_FREEIPMI + bool "freeipmi" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL + help + FreeIPMI provides in-band and out-of-band IPMI software based + on the IPMI v1.5/2.0 specification. + + The IPMI specification defines a set of interfaces for + platform management and is implemented by a number vendors + for system management. The features of IPMI that most users + will be interested in are sensor monitoring, system event + monitoring, power control, and serial-over-LAN (SOL). + + https://www.gnu.org/software/freeipmi/ + +comment "freeipmi needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/freeipmi/freeipmi.hash b/package/freeipmi/freeipmi.hash new file mode 100644 index 00000000000..05fb50bd4c7 --- /dev/null +++ b/package/freeipmi/freeipmi.hash @@ -0,0 +1,15 @@ +# Locally computed: +sha256 f25e1c35f3d0f1b5a99cc31ecc2353ca83ed46a15163842fba870127dc9c8206 freeipmi-1.6.9.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.bmc-watchdog +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmiconsole +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmi-dcmi +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmidetect +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmi-fru +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmimonitoring +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmiping +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmipower +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmiseld +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.pstdout +sha256 48f44386b3f359e70d7e4a5d7f1d529d8591a7c64c47df3f4abdf2ad45a6d537 COPYING.sunbmc +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ZRESEARCH diff --git a/package/freeipmi/freeipmi.mk b/package/freeipmi/freeipmi.mk new file mode 100644 index 00000000000..9fb59245b90 --- /dev/null +++ b/package/freeipmi/freeipmi.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# freeipmi +# +################################################################################ + +FREEIPMI_VERSION = 1.6.9 +FREEIPMI_SITE = https://ftp.gnu.org/gnu/freeipmi +FREEIPMI_LICENSE = GPL-3.0+, BSD-like (sunbmc) +FREEIPMI_LICENSE_FILES = \ + COPYING COPYING.bmc-watchdog COPYING.ipmiconsole COPYING.ipmi-dcmi \ + COPYING.ipmidetect COPYING.ipmi-fru COPYING.ipmimonitoring \ + COPYING.ipmiping COPYING.ipmipower COPYING.ipmiseld COPYING.pstdout \ + COPYING.sunbmc COPYING.ZRESEARCH +FREEIPMI_DEPENDENCIES = host-pkgconf +FREEIPMI_INSTALL_STAGING = YES +# Disable checking for /dev/urandom and /dev/random through AC_CHECK_FILE +FREEIPMI_CONF_OPTS = --without-random-device + +# Work around for uClibc or musl toolchains which lack argp_*() +# functions. +ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) +FREEIPMI_DEPENDENCIES += argp-standalone +endif + +ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +FREEIPMI_CONF_OPTS += --with-encryption +FREEIPMI_DEPENDENCIES += libgcrypt +else +FREEIPMI_CONF_OPTS += --without-encryption +endif + +$(eval $(autotools-package)) diff --git a/package/freerdp/0001-Fix-variable-declaration-in-loop.patch b/package/freerdp/0001-Fix-variable-declaration-in-loop.patch new file mode 100644 index 00000000000..a391e42ee6d --- /dev/null +++ b/package/freerdp/0001-Fix-variable-declaration-in-loop.patch @@ -0,0 +1,33 @@ +From ddde652460350b962d32036981ff8ed77ed2f1ed Mon Sep 17 00:00:00 2001 +From: Armin Novak +Date: Wed, 16 Sep 2020 09:30:37 +0200 +Subject: [PATCH] Fix variable declaration in loop + +[Retrieved from: +https://github.com/FreeRDP/FreeRDP/commit/ddde652460350b962d32036981ff8ed77ed2f1ed] +Signed-off-by: Fabrice Fontaine +--- + client/X11/xf_graphics.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/client/X11/xf_graphics.c b/client/X11/xf_graphics.c +index 76fbef5bd6..bf71b563c3 100644 +--- a/client/X11/xf_graphics.c ++++ b/client/X11/xf_graphics.c +@@ -386,6 +386,7 @@ static BOOL xf_Pointer_New(rdpContext* context, rdpPointer* pointer) + static void xf_Pointer_Free(rdpContext* context, rdpPointer* pointer) + { + #ifdef WITH_XCURSOR ++ UINT32 i; + xfContext* xfc = (xfContext*)context; + xfPointer* xpointer = (xfPointer*)pointer; + +@@ -395,7 +396,7 @@ static void xf_Pointer_Free(rdpContext* context, rdpPointer* pointer) + free(xpointer->cursorWidths); + free(xpointer->cursorHeights); + +- for (int i = 0; i < xpointer->nCursors; i++) ++ for (i = 0; i < xpointer->nCursors; i++) + { + XFreeCursor(xfc->display, xpointer->cursors[i]); + } diff --git a/package/freerdp/0002-Fixed-variable-declaration-in-loop.patch b/package/freerdp/0002-Fixed-variable-declaration-in-loop.patch new file mode 100644 index 00000000000..14e1d6c8f46 --- /dev/null +++ b/package/freerdp/0002-Fixed-variable-declaration-in-loop.patch @@ -0,0 +1,34 @@ +From 4f8a48d96e472e43a5f856c449f61669792ce9fa Mon Sep 17 00:00:00 2001 +From: akallabeth +Date: Tue, 22 Sep 2020 07:43:56 +0200 +Subject: [PATCH] Fixed variable declaration in loop + +[Retrieved from: +https://github.com/FreeRDP/FreeRDP/commit/4f8a48d96e472e43a5f856c449f61669792ce9fa] +Signed-off-by: Fabrice Fontaine +--- + client/X11/xf_graphics.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/client/X11/xf_graphics.c b/client/X11/xf_graphics.c +index bf71b563c3..c50726c8e4 100644 +--- a/client/X11/xf_graphics.c ++++ b/client/X11/xf_graphics.c +@@ -240,7 +240,7 @@ static BOOL _xf_Pointer_GetCursorForCurrentScale(rdpContext* context, const rdpP + double xscale; + double yscale; + size_t size; +- int cursorIndex = -1; ++ int cursorIndex = -1, i; + + if (!context || !pointer || !context->gdi) + return FALSE; +@@ -255,7 +255,7 @@ static BOOL _xf_Pointer_GetCursorForCurrentScale(rdpContext* context, const rdpP + xTargetSize = pointer->width * xscale; + yTargetSize = pointer->height * yscale; + +- for (int i = 0; i < xpointer->nCursors; i++) ++ for (i = 0; i < xpointer->nCursors; i++) + { + if (xpointer->cursorWidths[i] == xTargetSize && xpointer->cursorHeights[i] == yTargetSize) + { diff --git a/package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch b/package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch new file mode 100644 index 00000000000..d8dfe13d1bd --- /dev/null +++ b/package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch @@ -0,0 +1,39 @@ +From 21036304f909eae9f7506f48703ba1c74724342b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 31 Jul 2021 09:49:27 +0200 +Subject: [PATCH] winpr/include/winpr/file.h: fix build on uclibc + +Include stdio.h to fix the following build failure with uclibc raised +since version 2.4.0 and +https://github.com/FreeRDP/FreeRDP/commit/eb6777ea69b022c9e43a1576a2192a1cb807b1e6: + +In file included from /tmp/instance-0/output-1/build/freerdp-2.4.0/winpr/libwinpr/utils/lodepng/lodepng.c:30: +/tmp/instance-0/output-1/build/freerdp-2.4.0/winpr/include/winpr/file.h:524:11: error: unknown type name 'FILE' + WINPR_API FILE* winpr_fopen(const char* path, const char* mode); + ^~~~ + +Fixes: + - http://autobuild.buildroot.org/results/31e770a330158035e24b7b952bec0030138482b7 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/FreeRDP/FreeRDP/pull/7205] +--- + winpr/include/winpr/file.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/winpr/include/winpr/file.h b/winpr/include/winpr/file.h +index 48a29f9f5..79c9b392c 100644 +--- a/winpr/include/winpr/file.h ++++ b/winpr/include/winpr/file.h +@@ -30,6 +30,8 @@ + + #ifndef _WIN32 + ++#include ++ + #ifndef MAX_PATH + #define MAX_PATH 260 + #endif +-- +2.30.2 + diff --git a/package/freerdp/Config.in b/package/freerdp/Config.in index 5705ce0e0c0..14c5f986714 100644 --- a/package/freerdp/Config.in +++ b/package/freerdp/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_FREERDP depends on BR2_USE_MMU # libglib2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_ZLIB select BR2_PACKAGE_LIBGLIB2 help diff --git a/package/freerdp/freerdp.hash b/package/freerdp/freerdp.hash index 8217a2106cc..2b7aa25999e 100644 --- a/package/freerdp/freerdp.hash +++ b/package/freerdp/freerdp.hash @@ -1,5 +1,5 @@ -# From https://pub.freerdp.com/releases/freerdp-2.2.0.tar.gz.sha256 -sha256 19b30759e324ce7a9767af880116a4c571761e9ad9c5d6c98c5b302ff8c24c6c freerdp-2.2.0.tar.gz +# From https://pub.freerdp.com/releases/freerdp-2.7.0.tar.gz.sha256 +sha256 89000728b6e66ac37db018d6dc5f0981b530fd550ab748877ff42892dd0c166b freerdp-2.7.0.tar.gz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk index 16d58b5aa04..f4636724d30 100644 --- a/package/freerdp/freerdp.mk +++ b/package/freerdp/freerdp.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERDP_VERSION = 2.2.0 +FREERDP_VERSION = 2.7.0 FREERDP_SITE = https://pub.freerdp.com/releases FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 @@ -43,6 +43,11 @@ else FREERDP_CONF_OPTS += -DWITH_ALSA=OFF endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +FREERDP_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-lexecinfo +FREERDP_DEPENDENCIES += libexecinfo +endif + ifeq ($(BR2_PACKAGE_LIBUSB),y) FREERDP_CONF_OPTS += -DCHANNEL_URBDRC=ON FREERDP_DEPENDENCIES += libusb diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index b0c7de84365..4a4237fb42a 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -52,6 +52,9 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN bool "imx8mn" +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP + bool "imx8mp" + config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X bool "imx8x" endchoice @@ -72,6 +75,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM default "IMX8MQ" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M default "IMX8MM" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM default "IMX8MN" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN + default "IMX8MP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU bool @@ -83,7 +87,8 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO bool default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \ - BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU bool @@ -94,6 +99,7 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X source "package/freescale-imx/imx-alsa-plugins/Config.in" @@ -109,6 +115,7 @@ source "package/freescale-imx/imx-vpuwrap/Config.in" source "package/freescale-imx/firmware-imx/Config.in" source "package/freescale-imx/imx-sc-firmware/Config.in" source "package/freescale-imx/imx-seco/Config.in" +source "package/freescale-imx/imx-vpu-hantro-vc/Config.in" if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53) source "package/freescale-imx/gpu-amd-bin-mx51/Config.in" source "package/freescale-imx/libz160/Config.in" diff --git a/package/freescale-imx/firmware-imx/Config.in b/package/freescale-imx/firmware-imx/Config.in index 88107797994..06c4d8036c8 100644 --- a/package/freescale-imx/firmware-imx/Config.in +++ b/package/freescale-imx/firmware-imx/Config.in @@ -24,6 +24,7 @@ config BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN + default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP config BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME string @@ -38,6 +39,10 @@ config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW bool default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M +config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EASRC_FW + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN + config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EPDC_FW bool default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q @@ -48,6 +53,7 @@ config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW @@ -69,6 +75,11 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR4 help Use DDR4 binaries (i.e.: ddr4_*_201810.bin). +config BR2_PACKAGE_FIRMWARE_IMX_DDR3 + bool "DDR3" + help + Use DDR3 binaries (i.e.: ddr3_*_201810.bin). + endchoice # DDR training FW config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN diff --git a/package/freescale-imx/firmware-imx/firmware-imx.hash b/package/freescale-imx/firmware-imx/firmware-imx.hash index 0a717d40f54..98a0e730484 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.hash +++ b/package/freescale-imx/firmware-imx/firmware-imx.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 2b70f169d4065b2a7ac7a676afe24636128bd2dacc9f5230346758c3b146b2be firmware-imx-8.10.bin -sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA -sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING +sha256 6b6747bf36ecc53e385234afdce01f69c5775adf0d6685c885281ca6e4e322ef firmware-imx-8.12.bin +sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING +sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk index 6d82ea20775..211a43c4caa 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -FIRMWARE_IMX_VERSION = 8.10 +FIRMWARE_IMX_VERSION = 8.12 FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE) FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin @@ -51,6 +51,11 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_2d_fw.bin > \ $(BINARIES_DIR)/lpddr4_pmu_train_fw.bin ln -sf $(BINARIES_DIR)/lpddr4_pmu_train_fw.bin $(BINARIES_DIR)/ddr_fw.bin + + # U-Boot supports creation of the combined flash.bin image. To make + # sure that U-Boot can access all available files copy them to + # the binary dir. + cp $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4*.bin $(BINARIES_DIR)/ endef endif @@ -69,6 +74,31 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_2d_201810_fw.bin > \ $(BINARIES_DIR)/ddr4_201810_fw.bin ln -sf $(BINARIES_DIR)/ddr4_201810_fw.bin $(BINARIES_DIR)/ddr_fw.bin + + # U-Boot supports creation of the combined flash.bin image. To make + # sure that U-Boot can access all available files copy them to + # the binary dir. + cp $(FIRMWARE_IMX_DDRFW_DIR)/ddr4*.bin $(BINARIES_DIR)/ +endef +endif + +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR3),y) +FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys + +define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW + # Create padded versions of ddr3_* and generate ddr3_fw.bin. + # ddr3_fw.bin is needed when generating imx8-boot-sd.bin + # which is done in post-image script. + $(call FIRMWARE_IMX_PREPARE_DDR_FW, \ + ddr3_imem_1d_201810,ddr3_dmem_1d_201810,ddr3_1d_201810_fw) + cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr3_1d_201810_fw.bin > \ + $(BINARIES_DIR)/ddr3_201810_fw.bin + ln -sf $(BINARIES_DIR)/ddr3_201810_fw.bin $(BINARIES_DIR)/ddr_fw.bin + + # U-Boot supports creation of the combined flash.bin image. To make + # sure that U-Boot can access all available files copy them to + # the binary dir. + cp $(FIRMWARE_IMX_DDRFW_DIR)/ddr3*.bin $(BINARIES_DIR)/ endef endif @@ -83,6 +113,17 @@ define FIRMWARE_IMX_INSTALL_IMAGE_HDMI_FW endef endif +# +# EASRC firmware +# + +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EASRC_FW),y) +define FIRMWARE_IMX_INSTALL_TARGET_EASRC_FW + mkdir -p $(TARGET_DIR)/lib/firmware/imx + cp -r $(@D)/firmware/easrc $(TARGET_DIR)/lib/firmware/imx +endef +endif + # # EPDC firmware # @@ -130,6 +171,7 @@ define FIRMWARE_IMX_INSTALL_IMAGES_CMDS endef define FIRMWARE_IMX_INSTALL_TARGET_CMDS + $(FIRMWARE_IMX_INSTALL_TARGET_EASRC_FW) $(FIRMWARE_IMX_INSTALL_TARGET_EPDC_FW) $(FIRMWARE_IMX_INSTALL_TARGET_SDMA_FW) $(FIRMWARE_IMX_INSTALL_TARGET_VPU_FW) diff --git a/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk b/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk index 5586073712a..c99c568f73b 100644 --- a/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk +++ b/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk @@ -12,7 +12,7 @@ GPU_AMD_BIN_MX51_SOURCE = amd-gpu-bin-mx51-$(GPU_AMD_BIN_MX51_BASE_VERSION).bin else GPU_AMD_BIN_MX51_VERSION = $(GPU_AMD_BIN_MX51_BASE_VERSION)-x11 GPU_AMD_BIN_MX51_SOURCE = amd-gpu-x11-bin-mx51-$(GPU_AMD_BIN_MX51_BASE_VERSION).bin -GPU_AMD_BIN_MX51_DEPENDENCIES = libxcb xlib_libX11 xlib_libXext \ +GPU_AMD_BIN_MX51_DEPENDENCIES += libxcb xlib_libX11 xlib_libXext \ xlib_libXrender xlib_libXau xlib_libXdmcp endif GPU_AMD_BIN_MX51_PROVIDES = libegl libgles libopenvg diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash index 8bfd302b160..4d28b037d03 100644 --- a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 8d3b024151d4bdcc4f68cdbba9c4e5d126d55c9258de5821c43b393ae3f840b4 imx-gpu-g2d-6.4.3.p1.0-arm.bin -sha256 47a39b171d83bced378b1b4f408be6304850fe2f25bf4577dd1ea78e22473f3d imx-gpu-g2d-6.4.3.p1.0-aarch64.bin -sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING -sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA +sha256 39fe307916e19a0892a514621121086e276a43858af90230372a1344852116a2 imx-gpu-g2d-6.4.3.p2.0-arm.bin +sha256 2642a49e088daae4cf568a150d01e7c095995e8a6ff1883c02c3fa6d26d254b3 imx-gpu-g2d-6.4.3.p2.0-aarch64.bin +sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING +sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk index 3e6c3fc1c5d..0e4078a962b 100644 --- a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk @@ -5,9 +5,9 @@ ################################################################################ ifeq ($(BR2_aarch64),y) -IMX_GPU_G2D_VERSION = 6.4.3.p1.0-aarch64 +IMX_GPU_G2D_VERSION = 6.4.3.p2.0-aarch64 else -IMX_GPU_G2D_VERSION = 6.4.3.p1.0-arm +IMX_GPU_G2D_VERSION = 6.4.3.p2.0-arm endif IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in index cca2689905c..9ba3d0428eb 100644 --- a/package/freescale-imx/imx-gpu-viv/Config.in +++ b/package/freescale-imx/imx-gpu-viv/Config.in @@ -12,8 +12,15 @@ config BR2_PACKAGE_IMX_GPU_VIV depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64 # Library binaries are linked against libc.so.6 depends on BR2_TOOLCHAIN_USES_GLIBC + # Library binaries are linked against libdrm.so.2, except framebuffer + # output on ARM + select BR2_PACKAGE_LIBDRM if !(BR2_arm && BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB) select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES + # gbm is only available in the aarch64 blobs + select BR2_PACKAGE_HAS_LIBGBM if BR2_aarch64 + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF if BR2_aarch64 + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT if BR2_aarch64 select BR2_PACKAGE_HAS_LIBOPENCL select BR2_PACKAGE_HAS_LIBOPENVG help @@ -56,8 +63,6 @@ config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL bool "Wayland" - # libdrm needed by gbm_viv.so - select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_WAYLAND select BR2_PACKAGE_HAS_LIBEGL_WAYLAND @@ -81,13 +86,25 @@ config BR2_PACKAGE_PROVIDES_LIBOPENCL config BR2_PACKAGE_PROVIDES_LIBOPENVG default "imx-gpu-viv" +if BR2_aarch64 + +config BR2_PACKAGE_PROVIDES_LIBGBM + default "imx-gpu-viv" + +endif + config BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES bool "install examples" + # example binaries are linked against libstdc++.so.6 + depends on BR2_INSTALL_LIBSTDCPP help Copy the Vivante examples to the target. Warning: examples take approximately 150 MB of disk space. +comment "imx-gpu-viv-examples need a toolchain w/ C++ support" + depends on !BR2_INSTALL_LIBSTDCPP + config BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO bool "install gmem_info tool" help diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash index 9c18103996f..312eeb6f82d 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 9960fadbc1ea919f8b1b5c1e2e38a52b7293b70c906518d7fff2ada4140c59ea imx-gpu-viv-6.4.3.p1.0-aarch32.bin -sha256 0505620c3851a980d2e08fee4b4fcd06eff92efac02d1646924bea86e4384ad4 imx-gpu-viv-6.4.3.p1.0-aarch64.bin -sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING -sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA +sha256 1324b1aaf190110b80ad9a6f6533f4f50dce9e9ab8d49d8503f59764b151d219 imx-gpu-viv-6.4.3.p2.0-aarch32.bin +sha256 003c30baefb1655790b475c3cdfa5cefbf81ea89ef37c6649b64f151dd23a52e imx-gpu-viv-6.4.3.p2.0-aarch64.bin +sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING +sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk index 6ae9aa7accd..1d76d79e2b3 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -5,9 +5,9 @@ ################################################################################ ifeq ($(BR2_aarch64),y) -IMX_GPU_VIV_VERSION = 6.4.3.p1.0-aarch64 +IMX_GPU_VIV_VERSION = 6.4.3.p2.0-aarch64 else -IMX_GPU_VIV_VERSION = 6.4.3.p1.0-aarch32 +IMX_GPU_VIV_VERSION = 6.4.3.p2.0-aarch32 endif IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin @@ -19,6 +19,11 @@ IMX_GPU_VIV_LICENSE_FILES = EULA COPYING IMX_GPU_VIV_REDISTRIBUTE = NO IMX_GPU_VIV_PROVIDES = libegl libgles libopencl libopenvg + +ifeq ($(BR2_aarch64),y) +IMX_GPU_VIV_PROVIDES += libgbm +endif + IMX_GPU_VIV_LIB_TARGET = $(call qstrip,$(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT)) ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) @@ -29,52 +34,48 @@ ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) IMX_GPU_VIV_DEPENDENCIES += xlib_libXdamage xlib_libXext xlib_libXfixes endif +# Libraries are linked against libdrm, except framebuffer output on ARM +ifneq ($(IMX_GPU_VIV_LIB_TARGET)$(BR2_arm),fby) +IMX_GPU_VIV_DEPENDENCIES += libdrm +endif + ifeq ($(IMX_GPU_VIV_LIB_TARGET),wayland) -IMX_GPU_VIV_DEPENDENCIES += libdrm wayland +IMX_GPU_VIV_DEPENDENCIES += wayland endif define IMX_GPU_VIV_EXTRACT_CMDS $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_GPU_VIV_DL_DIR)/$(IMX_GPU_VIV_SOURCE)) endef -# Instead of building, we fix up the inconsistencies that exist -# in the upstream archive here. We also remove unused backend files. -# Make sure these commands are idempotent. -define IMX_GPU_VIV_BUILD_CMDS - cp -dpfr $(@D)/gpu-core/usr/lib/$(IMX_GPU_VIV_LIB_TARGET)/* $(@D)/gpu-core/usr/lib/ - for backend in fb x11 wayland; do \ - $(RM) -r $(@D)/gpu-core/usr/lib/$$backend ; \ - done -endef - ifeq ($(IMX_GPU_VIV_LIB_TARGET),fb) define IMX_GPU_VIV_FIXUP_PKGCONFIG ln -sf egl_linuxfb.pc $(@D)/gpu-core/usr/lib/pkgconfig/egl.pc endef -endif - -ifeq ($(IMX_GPU_VIV_LIB_TARGET),wayland) +else ifeq ($(IMX_GPU_VIV_LIB_TARGET),wayland) define IMX_GPU_VIV_FIXUP_PKGCONFIG ln -sf egl_wayland.pc $(@D)/gpu-core/usr/lib/pkgconfig/egl.pc endef -endif - -ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) +else ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) define IMX_GPU_VIV_FIXUP_PKGCONFIG - for lib in egl gbm glesv1_cm glesv2 vg; do \ - ln -sf $${lib}_x11.pc $(@D)/gpu-core/usr/lib/pkgconfig/$${lib}.pc || exit 1; \ - done + $(foreach lib,egl gbm glesv1_cm glesv2 vg, \ + ln -sf $(lib)_x11.pc $(@D)/gpu-core/usr/lib/pkgconfig/$(lib).pc + ) endef endif +# Instead of building, we fix up the inconsistencies that exist +# in the upstream archive here. We also remove unused backend files. +# Make sure these commands are idempotent. +define IMX_GPU_VIV_BUILD_CMDS + cp -dpfr $(@D)/gpu-core/usr/lib/$(IMX_GPU_VIV_LIB_TARGET)/* $(@D)/gpu-core/usr/lib/ + $(foreach backend,fb x11 wayland, \ + $(RM) -r $(@D)/gpu-core/usr/lib/$(backend) + ) + $(IMX_GPU_VIV_FIXUP_PKGCONFIG) +endef + define IMX_GPU_VIV_INSTALL_STAGING_CMDS cp -r $(@D)/gpu-core/usr/* $(STAGING_DIR)/usr - $(IMX_GPU_VIV_FIXUP_PKGCONFIG) - for lib in egl gbm glesv1_cm glesv2 vg; do \ - $(INSTALL) -m 0644 -D \ - $(@D)/gpu-core/usr/lib/pkgconfig/$${lib}.pc \ - $(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \ - done endef ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES),y) diff --git a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash index 661a77de1ad..ed83e757afd 100644 --- a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash +++ b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 db4c414d405aea6f013946d109db198798f40f71bf0810b9b50c027ca252b4b7 imx-sc-firmware-1.7.0.bin -sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA -sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING +sha256 24a647237c0077ce0172563d67fcbc5e8f231bad7cf55a2436848c89579c5a06 imx-sc-firmware-1.8.0.bin +sha256 a07e8df685161553d7e0b78b8b93ebe9086d95bb8635abff0ed3247992181e85 EULA +sha256 4f3cc2dcbe3b7369bd4a51df749f432b69d8189fc2bde88f9fadbec73c686683 COPYING diff --git a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk index b05ca3c7241..bbb73103064 100644 --- a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk +++ b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_SC_FIRMWARE_VERSION = 1.7.0 +IMX_SC_FIRMWARE_VERSION = 1.8.0 IMX_SC_FIRMWARE_SITE = $(FREESCALE_IMX_SITE) IMX_SC_FIRMWARE_SOURCE = imx-sc-firmware-$(IMX_SC_FIRMWARE_VERSION).bin diff --git a/package/freescale-imx/imx-seco/Config.in b/package/freescale-imx/imx-seco/Config.in index 1877664a0c5..867ffe1bb08 100644 --- a/package/freescale-imx/imx-seco/Config.in +++ b/package/freescale-imx/imx-seco/Config.in @@ -7,3 +7,47 @@ config BR2_PACKAGE_IMX_SECO This library is provided by Freescale as-is and doesn't have an upstream. + +if BR2_PACKAGE_IMX_SECO + +choice + prompt "i.MX Seco Firmware Release" + default BR2_PACKAGE_IMX_SECO_MX8QMB0 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 + default BR2_PACKAGE_IMX_SECO_MX8QXC0 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + help + Select the appropriate ahab container image to install + to match the iMX asics revision. + + Note - mismatches result in a failure to boot + +config BR2_PACKAGE_IMX_SECO_MX8DXLA0 + bool "imx-seco-mx8dxla0" + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 + +config BR2_PACKAGE_IMX_SECO_MX8DXLA1 + bool "imx-seco-mx8dxla1" + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 + +config BR2_PACKAGE_IMX_SECO_MX8QMB0 + bool "imx-seco-mx8qmb0" + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 + +config BR2_PACKAGE_IMX_SECO_MX8QXB0 + bool "imx-seco-mx8qxb0" + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + +config BR2_PACKAGE_IMX_SECO_MX8QXC0 + bool "imx-seco-mx8qxc0" + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + +endchoice + +config BR2_PACKAGE_IMX_SECO_AHAB_CONTAINER_IMAGE + string + default "mx8dxla0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8DXLA0 + default "mx8dxla1-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8DXLA1 + default "mx8qmb0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8QMB0 + default "mx8qxb0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8QXB0 + default "mx8qxc0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8QXC0 + +endif diff --git a/package/freescale-imx/imx-seco/imx-seco.hash b/package/freescale-imx/imx-seco/imx-seco.hash index 2e111c64d76..378c24bc549 100644 --- a/package/freescale-imx/imx-seco/imx-seco.hash +++ b/package/freescale-imx/imx-seco/imx-seco.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 2ed8177e48c8e33f742b3a642805be56a5ef56df78b1b29e10518552154da2bc imx-seco-3.7.4.bin +sha256 08cf25a4be6841ca7264a50b29c311b386eae1c02fced8a3b55fd04213acb4bc imx-seco-3.7.5.bin sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING diff --git a/package/freescale-imx/imx-seco/imx-seco.mk b/package/freescale-imx/imx-seco/imx-seco.mk index f7aaca7e4b9..79c9722c43b 100644 --- a/package/freescale-imx/imx-seco/imx-seco.mk +++ b/package/freescale-imx/imx-seco/imx-seco.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_SECO_VERSION = 3.7.4 +IMX_SECO_VERSION = 3.7.5 IMX_SECO_SITE = $(FREESCALE_IMX_SITE) IMX_SECO_SOURCE = imx-seco-$(IMX_SECO_VERSION).bin @@ -20,16 +20,11 @@ IMX_SECO_INSTALL_IMAGES = YES # SECO firmware is needed when generating imx8-boot-sd.bin which # is done in post-image script. -ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y) -define IMX_SECO_INSTALL_IMAGES_CMDS - cp $(@D)/firmware/seco/mx8qxb0-ahab-container.img \ - $(BINARIES_DIR)/ahab-container.img -endef -else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8),y) +IMX_SECO_AHAB_CONTAINER_IMAGE = $(call qstrip,$(BR2_PACKAGE_IMX_SECO_AHAB_CONTAINER_IMAGE)) + define IMX_SECO_INSTALL_IMAGES_CMDS - cp $(@D)/firmware/seco/mx8qmb0-ahab-container.img \ + cp $(@D)/firmware/seco/$(IMX_SECO_AHAB_CONTAINER_IMAGE) \ $(BINARIES_DIR)/ahab-container.img endef -endif $(eval $(generic-package)) diff --git a/package/freescale-imx/imx-uuc/Config.in b/package/freescale-imx/imx-uuc/Config.in index 0e257bde170..6c3d4a63618 100644 --- a/package/freescale-imx/imx-uuc/Config.in +++ b/package/freescale-imx/imx-uuc/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_IMX_UUC bool "imx-uuc" depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_arm # Only relevant for i.MX + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # usb_functionfs_descs_head_v2 select BR2_PACKAGE_HOST_DOSFSTOOLS diff --git a/package/freescale-imx/imx-uuc/imx-uuc.hash b/package/freescale-imx/imx-uuc/imx-uuc.hash index 57a5098597f..5d95463903f 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.hash +++ b/package/freescale-imx/imx-uuc/imx-uuc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2784e0826074335893fdad20e9a4faaedced2f206565c383043fbd169e9273a4 imx-uuc-fc48b497fe961d601b4bcced807f562090854ec9.tar.gz +sha256 7f4d4838d4bf489932ef4a242677db30ad8d9ffd76065e07f4ddee3e6c35db82 imx-uuc-d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/freescale-imx/imx-uuc/imx-uuc.mk b/package/freescale-imx/imx-uuc/imx-uuc.mk index 2ed910cb848..4e065c19ead 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.mk +++ b/package/freescale-imx/imx-uuc/imx-uuc.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_UUC_VERSION = fc48b497fe961d601b4bcced807f562090854ec9 +IMX_UUC_VERSION = d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION)) IMX_UUC_LICENSE = GPL-2.0+ IMX_UUC_LICENSE_FILES = COPYING diff --git a/package/freescale-imx/imx-vpu-hantro-vc/Config.in b/package/freescale-imx/imx-vpu-hantro-vc/Config.in new file mode 100644 index 00000000000..9a0f448bc9c --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro-vc/Config.in @@ -0,0 +1,14 @@ +comment "imx-vpu-hantro-vc needs an i.MX-specific Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +comment "imx-vpu-hantro-vc needs an i.MX platform with Hantro VPU" + depends on BR2_LINUX_KERNEL + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + +config BR2_PACKAGE_IMX_VPU_HANTRO_VC + bool "imx-vpu-hantro-vc" + depends on BR2_LINUX_KERNEL + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + help + i.MX VC8000E Encoder library. Intended for the i.MX 8M Plus + processor. diff --git a/package/freescale-imx/imx-vpu-hantro-vc/imx-vpu-hantro-vc.hash b/package/freescale-imx/imx-vpu-hantro-vc/imx-vpu-hantro-vc.hash new file mode 100644 index 00000000000..aadf5b121ff --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro-vc/imx-vpu-hantro-vc.hash @@ -0,0 +1,4 @@ +# Locally computed: +sha256 d5efae484c4271c098286d007590d6bf40c272d4f35702ff65625f2362715ab3 imx-vpu-hantro-vc-1.4.0.bin +sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING +sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA diff --git a/package/freescale-imx/imx-vpu-hantro-vc/imx-vpu-hantro-vc.mk b/package/freescale-imx/imx-vpu-hantro-vc/imx-vpu-hantro-vc.mk new file mode 100644 index 00000000000..b07e1166744 --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro-vc/imx-vpu-hantro-vc.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# imx-vpu-hantro-vc +# +################################################################################ + +IMX_VPU_HANTRO_VC_VERSION = 1.4.0 +IMX_VPU_HANTRO_VC_SITE = $(FREESCALE_IMX_SITE) +IMX_VPU_HANTRO_VC_SOURCE = imx-vpu-hantro-vc-$(IMX_VPU_HANTRO_VC_VERSION).bin +IMX_VPU_HANTRO_VC_DEPENDENCIES = linux + +IMX_VPU_HANTRO_VC_LICENSE = NXP Semiconductor Software License Agreement +IMX_VPU_HANTRO_VC_LICENSE_FILES = EULA COPYING +IMX_VPU_HANTRO_VC_REDISTRIBUTE = NO + +define IMX_VPU_HANTRO_VC_EXTRACT_CMDS + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_VC_DL_DIR)/$(IMX_VPU_HANTRO_VC_SOURCE)) +endef + +define IMX_VPU_HANTRO_VC_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/usr/lib/libhantro_vc8000e.so $(TARGET_DIR)/usr/lib/libhantro_vc8000e.so + $(INSTALL) -D -m 0755 $(@D)/usr/lib/libhantro_vc8000e.so.1 $(TARGET_DIR)/usr/lib/libhantro_vc8000e.so.1 +endef + +$(eval $(generic-package)) diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch index f5a67cd514b..7a89dd99e02 100644 --- a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch +++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch @@ -1,6 +1,6 @@ -From e776e7360f80da9ac03f81a5df27d8b7fabc7ac7 Mon Sep 17 00:00:00 2001 +From dfe8ef9123936d2c1d5da34f63f661849171d5ef Mon Sep 17 00:00:00 2001 From: Gary Bisson -Date: Thu, 26 Mar 2020 16:00:33 +0100 +Date: Sun, 3 Oct 2021 16:39:29 -0700 Subject: [PATCH] Fix ion.h header inclusion to be standard NXP "solution" was to manually copy the header to include/linux. @@ -8,6 +8,7 @@ Let's point the Makefile to the proper (mainline) location instead: https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h Signed-off-by: Gary Bisson +Signed-off-by: Chris Dimich --- Makefile_G1G2 | 4 ++-- Makefile_H1 | 4 ++-- @@ -16,7 +17,7 @@ Signed-off-by: Gary Bisson 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile_G1G2 b/Makefile_G1G2 -index 8280cce..4c9fc34 100755 +index 8f83391..25884fa 100755 --- a/Makefile_G1G2 +++ b/Makefile_G1G2 @@ -10,8 +10,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so @@ -31,10 +32,10 @@ index 8280cce..4c9fc34 100755 CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \ -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \ diff --git a/Makefile_H1 b/Makefile_H1 -index 9ab62e1..8d366e3 100755 +index 0979571..479940a 100755 --- a/Makefile_H1 +++ b/Makefile_H1 -@@ -17,8 +17,8 @@ ENV += -DMEMALLOC_MODULE_PATH=\\\"/dev/ion\\\" +@@ -17,8 +17,8 @@ ENV = -DENC_MODULE_PATH=\\\"/dev/mxc_hantro_h1\\\" #ENV += -DSDRAM_LM_BASE=0x00000000 ENV += -DEWL_NO_HW_TIMEOUT ENV += -DUSE_ION @@ -43,34 +44,34 @@ index 9ab62e1..8d366e3 100755 +ENV += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include +ENV += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi - LIBENCNAME = libcodec_enc - LIBSENC = -L./ -lhantro_h1 -lpthread + ifeq ($(CFG_SECURE_DATA_PATH), y) + ENV += -DCFG_SECURE_DATA_PATH diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c -index 9b057f0..43225f6 100755 +index 7d5e33b..c0e5727 100755 --- a/decoder_sw/software/linux/dwl/dwl_linux.c +++ b/decoder_sw/software/linux/dwl/dwl_linux.c -@@ -41,7 +41,7 @@ - #include "dwl.h" - #include - #ifdef USE_ION +@@ -50,7 +50,7 @@ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0) + #include + #else -#include +#include - #include - #include + #endif #ifdef ANDROID + #include diff --git a/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c b/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c -index fef1307..20b6f95 100755 +index 312e4cc..70630c3 100755 --- a/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c +++ b/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c -@@ -49,7 +49,7 @@ - - #include "linux/hx280enc.h" - #ifdef USE_ION +@@ -52,7 +52,7 @@ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0) + #include + #else -#include +#include + #endif #include #include - #ifdef ANDROID -- -2.25.1 +2.31.1 diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash index df9916e418e..dd3b167e3e1 100644 --- a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash @@ -1,3 +1,4 @@ -sha256 261cab83954bd66e95b1650a737cb36261a2098597d904e517da638097ed4fd2 imx-vpu-hantro-1.19.0.bin -sha256 69cbb76b3f10ac5a8c36f34df7bbdf50825815560c00a946fff2922365ef01a2 COPYING -sha256 a39da2e94bd8b99eaac4325633854620ea3a55145259c3a7748c610a80714cfc EULA +# Locally computed: +sha256 03c61dfb268b31a0d25a4d1387cb3ad0261029ad5de801f72224602e2b37da00 imx-vpu-hantro-1.22.0.bin +sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING +sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk index 1d21449c20f..360591b4445 100644 --- a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_VPU_HANTRO_VERSION = 1.19.0 +IMX_VPU_HANTRO_VERSION = 1.22.0 IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE) IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin IMX_VPU_HANTRO_DEPENDENCIES = linux diff --git a/package/freescale-imx/imx-vpu/imx-vpu.hash b/package/freescale-imx/imx-vpu/imx-vpu.hash index 6ab67510b0d..e3a53e3fb63 100644 --- a/package/freescale-imx/imx-vpu/imx-vpu.hash +++ b/package/freescale-imx/imx-vpu/imx-vpu.hash @@ -1,4 +1,4 @@ # Locally computed sha256 87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127 imx-vpu-5.4.39.3.bin -sha256 69cbb76b3f10ac5a8c36f34df7bbdf50825815560c00a946fff2922365ef01a2 COPYING -sha256 a39da2e94bd8b99eaac4325633854620ea3a55145259c3a7748c610a80714cfc EULA +sha256 2ceab29de5ea533b86f570bcc4e9ddbfb5fe85a1da4978a8613ff3fd9bed781d COPYING +sha256 7ffad92e72e5f6b23027e7cf93a770a4acef00a92dcf79f22701ed401c5478c0 EULA diff --git a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk index fdad3a5f2b6..4f89165403d 100644 --- a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk +++ b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk @@ -10,11 +10,11 @@ IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin IMX_VPUWRAP_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_IMX_VPU),y) -IMX_VPUWRAP_DEPENDENCIES = imx-vpu +IMX_VPUWRAP_DEPENDENCIES += imx-vpu endif ifeq ($(BR2_PACKAGE_IMX_VPU_HANTRO),y) -IMX_VPUWRAP_DEPENDENCIES = imx-vpu-hantro +IMX_VPUWRAP_DEPENDENCIES += imx-vpu-hantro endif IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash index 0fd8e04f213..ee105ef82c0 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash @@ -1,3 +1,3 @@ # locally computed -sha256 ee9227d8b3f6da84a4b0be59cdc9a4c67db5c941c719ab44a29e09fe73019cac kernel-module-imx-gpu-viv-5c8eb7b0576dc2348fb206945ce13e41d0837cf1.tar.gz +sha256 257c6cd8b01cfb6543827cbeb78409e6a2ad4ae321891751dcea1abc47d89379 kernel-module-imx-gpu-viv-ae0f3be0b7240f11cca191a3e2bdd4a445ee46e5.tar.gz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk index 4a2fb3032bf..10505fdf175 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk @@ -4,7 +4,7 @@ # ################################################################################ -KERNEL_MODULE_IMX_GPU_VIV_VERSION = 5c8eb7b0576dc2348fb206945ce13e41d0837cf1 +KERNEL_MODULE_IMX_GPU_VIV_VERSION = ae0f3be0b7240f11cca191a3e2bdd4a445ee46e5 KERNEL_MODULE_IMX_GPU_VIV_SITE = \ $(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION)) KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPL-2.0 diff --git a/package/freeswitch/0001-fix-build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch b/package/freeswitch/0001-fix-build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch new file mode 100644 index 00000000000..57f6e660c13 --- /dev/null +++ b/package/freeswitch/0001-fix-build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch @@ -0,0 +1,26 @@ +From 68039d344d8e826e8b403c9cd0284fd07b4495ac Mon Sep 17 00:00:00 2001 +From: Dragos Oancea +Date: Tue, 26 Oct 2021 08:42:58 +0000 +Subject: [PATCH] [core] fix build SWITCH_BYTE_ORDER == __BIG_ENDIAN + +Downloaded from upstream commit: +https://github.com/signalwire/freeswitch/commit/68039d344d8e826e8b403c9cd0284fd07b4495ac + +Signed-off-by: Bernd Kuhls +--- + src/switch_rtp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/switch_rtp.c b/src/switch_rtp.c +index 1880bbb19c..843ee81381 100644 +--- a/src/switch_rtp.c ++++ b/src/switch_rtp.c +@@ -2155,7 +2155,7 @@ static void switch_send_rtcp_event(switch_rtp_t *rtp_session ,struct switch_rtcp + switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value); + snprintf(header, sizeof(header), "Source-Lost"); + #if SWITCH_BYTE_ORDER == __BIG_ENDIAN +- tmpLost = report->lost; /* signed 24bit will extended signess to int32_t automatically */ ++ tmpLost = rtcp_report_block->lost; /* signed 24bit will extended signess to int32_t automatically */ + #else + tmpLost = ntohl(rtcp_report_block->lost)>>8; + tmpLost = tmpLost | ((tmpLost & 0x00800000) ? 0xff000000 : 0x00000000); /* ...and signess compensation */ diff --git a/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch b/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch deleted file mode 100644 index cd0a3ab4c24..00000000000 --- a/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 575409a14e62f73e83309daf8ff6642a235f250c Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 16 Oct 2020 23:06:36 +0200 -Subject: [PATCH] src/mod/applications/mod_cv/mod_cv.cpp: fix build with opencv - 3.4.9 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Use cvScalar instead of CV_RGB to avoid the following build failure with -opencv 3.4.9: - -mod_cv.cpp:693:24: error: conversion from ‘cv::Scalar {aka cv::Scalar_}’ to non-scalar type ‘CvScalar’ requested - CvScalar col = CV_RGB((float)255 * object_neighbors / max_neighbors, 0, 0); - ^ - -Indeed, CV_RGB is defined as cv::Scalar instead of cvScalar since -version 3.4.2 and -https://github.com/opencv/opencv/commit/7f9253ea0a9fe2635926379420002dbf0c3fce0f - -It should be noted that CV_RGB(r,g,b) = cvScalar(b,g,r,0) - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/signalwire/freeswitch/pull/914] ---- - src/mod/applications/mod_cv/mod_cv.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/mod/applications/mod_cv/mod_cv.cpp b/src/mod/applications/mod_cv/mod_cv.cpp -index 582f925abf..bbec755e91 100644 ---- a/src/mod/applications/mod_cv/mod_cv.cpp -+++ b/src/mod/applications/mod_cv/mod_cv.cpp -@@ -690,7 +690,7 @@ void detectAndDraw(cv_context_t *context) - //printf("WTF %d\n", object_neighbors); - //cout << "Detected " << object_neighbors << " object neighbors" << endl; - const int rect_height = cvRound((float)img.rows * object_neighbors / max_neighbors); -- CvScalar col = CV_RGB((float)255 * object_neighbors / max_neighbors, 0, 0); -+ CvScalar col = cvScalar(0, 0, (float)255 * object_neighbors / max_neighbors, 0); - rectangle(img, cvPoint(0, img.rows), cvPoint(img.cols/10, img.rows - rect_height), col, -1); - - parse_stats(&context->nestDetected, nestedObjects.size(), context->skip); --- -2.28.0 - diff --git a/package/freeswitch/0002-core-fix--disable-libyuv.patch b/package/freeswitch/0002-core-fix--disable-libyuv.patch new file mode 100644 index 00000000000..137cb27cf8e --- /dev/null +++ b/package/freeswitch/0002-core-fix--disable-libyuv.patch @@ -0,0 +1,129 @@ +From a2ce46c6fde38d6ac54a8a2ee1a5b391e2ed2071 Mon Sep 17 00:00:00 2001 +From: Sebastian Kemper +Date: Mon, 1 Nov 2021 09:59:09 +0100 +Subject: [PATCH] [core] fix "--disable-libyuv" + +Recent changes made it impossible to compile freeswitch without libyuv +support. + +src/switch_core_video.c: In function 'switch_img_read_from_file': +src/switch_core_video.c:3139:4: error: implicit declaration of function 'RAWToI420' [-Werror=implicit-function-declaration] +RAWToI420(data, width * 3, +^ +src/switch_core_video.c:3148:4: error: implicit declaration of function 'ABGRToARGB' [-Werror=implicit-function-declaration] +ABGRToARGB(data, width * 4, img->planes[SWITCH_PLANE_PACKED], img->stride[SWITCH_PLANE_PACKED], width, height); +^ + +Fix this my adding/moving the checks for "SWITCH_HAVE_YUV". + +Downloaded from upstream commit: +https://github.com/signalwire/freeswitch/commit/a2ce46c6fde38d6ac54a8a2ee1a5b391e2ed2071 + +Signed-off-by: Bernd Kuhls +Signed-off-by: Sebastian Kemper +--- + src/switch_core_video.c | 12 ++++++++++++ + tests/unit/switch_core_video.c | 4 ++++ + 2 files changed, 16 insertions(+) + +diff --git a/src/switch_core_video.c b/src/switch_core_video.c +index 7dbd685d6ee..0d377f9c3e4 100644 +--- a/src/switch_core_video.c ++++ b/src/switch_core_video.c +@@ -3116,6 +3116,7 @@ SWITCH_DECLARE(switch_status_t) switch_img_data_url_png(switch_image_t *img, cha + + SWITCH_DECLARE(switch_image_t *) switch_img_read_from_file(const char* file_name, switch_img_fmt_t img_fmt) + { ++#ifdef SWITCH_HAVE_YUV + int width = 0, height = 0, channels = 0; + int comp = STBI_rgb; + unsigned char *data = NULL; +@@ -3155,12 +3156,16 @@ SWITCH_DECLARE(switch_image_t *) switch_img_read_from_file(const char* file_name + } else if (data) { + stbi_image_free(data); + } ++#endif + + return NULL; + } + + SWITCH_DECLARE(switch_status_t) switch_img_write_to_file(switch_image_t *img, const char* file_name, int quality) + { ++#ifndef SWITCH_HAVE_YUV ++ return SWITCH_STATUS_FALSE; ++#else + int comp = STBI_rgb; + unsigned char *data = NULL; + const char *ext = strrchr(file_name, '.'); +@@ -3217,6 +3222,7 @@ SWITCH_DECLARE(switch_status_t) switch_img_write_to_file(switch_image_t *img, co + free(data); + + return ret ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE; ++#endif + } + + typedef struct data_url_context_s { +@@ -3224,14 +3230,19 @@ typedef struct data_url_context_s { + char **urlP; + } data_url_context_t; + ++#ifdef SWITCH_HAVE_YUV + static void data_url_write_func(void *context, void *data, int size) + { + switch_buffer_t *buffer = (switch_buffer_t *)context; + switch_buffer_write(buffer, data, size); + } ++#endif + + SWITCH_DECLARE(switch_status_t) switch_img_data_url(switch_image_t *img, char **urlP, const char *type, int quality) + { ++#ifndef SWITCH_HAVE_YUV ++ return SWITCH_STATUS_FALSE; ++#else + int comp = STBI_rgb; + unsigned char *data = NULL; + int stride_in_bytes = 0; +@@ -3300,6 +3311,7 @@ SWITCH_DECLARE(switch_status_t) switch_img_data_url(switch_image_t *img, char ** + switch_buffer_destroy(&buffer); + + return ret ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE; ++#endif /* SWITCH_HAVE_YUV */ + } + + +diff --git a/tests/unit/switch_core_video.c b/tests/unit/switch_core_video.c +index 27c96102929..e395db474d5 100644 +--- a/tests/unit/switch_core_video.c ++++ b/tests/unit/switch_core_video.c +@@ -48,6 +48,7 @@ FST_CORE_BEGIN("./conf") + } + FST_TEARDOWN_END() + ++#ifdef SWITCH_HAVE_YUV + FST_TEST_BEGIN(data_url_test) + { + char *data_url = NULL; +@@ -88,6 +89,7 @@ FST_CORE_BEGIN("./conf") + unlink(argb_filename); + } + FST_TEST_END() ++#endif /* SWITCH_HAVE_YUV */ + + FST_TEST_BEGIN(img_patch) + { +@@ -239,6 +241,7 @@ FST_CORE_BEGIN("./conf") + } + FST_TEST_END() + ++#ifdef SWITCH_HAVE_YUV + FST_TEST_BEGIN(stb_data_url) + { + switch_image_t *img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, 120, 60, 1); +@@ -321,6 +324,7 @@ FST_CORE_BEGIN("./conf") + unlink(jpg_write_filename); + } + FST_TEST_END() ++#endif /* SWITCH_HAVE_YUV */ + } + FST_SUITE_END() + } diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash index d95e05c0b12..8066c620c48 100644 --- a/package/freeswitch/freeswitch.hash +++ b/package/freeswitch/freeswitch.hash @@ -1,5 +1,5 @@ -# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.5.-release.tar.xz.sha256 -sha256 3e26600767a82946eca94af2c8f14712783aa83db5fb1cc57585f544aecce327 freeswitch-1.10.5.-release.tar.xz +# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.7.-release.tar.xz.sha256 +sha256 0919bddc2ea9cab2e4944314e71637bea9dd4f40d510722a74ea032104594c41 freeswitch-1.10.7.-release.tar.xz # Locally computed sha256 75c933202f40939cdc3827fce20a1efdaa38291e2b5a65d234eb16e2cffda66a COPYING sha256 c3e3388768dae8bf4edcc4108f95be815b8a05c0b0aef6e4c3d8df81affdfa34 docs/OPENH264_BINARY_LICENSE.txt diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index 72198805303..c576e5f2675 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESWITCH_VERSION = 1.10.5 +FREESWITCH_VERSION = 1.10.7 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).-release.tar.xz FREESWITCH_SITE = https://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging @@ -20,6 +20,8 @@ FREESWITCH_LICENSE_FILES = \ libs/apr-util/LICENSE \ libs/srtp/LICENSE +FREESWITCH_CPE_ID_VENDOR = freeswitch + # required dependencies FREESWITCH_DEPENDENCIES = \ host-pkgconf \ @@ -118,7 +120,6 @@ FREESWITCH_ENABLED_MODULES += \ endpoints/mod_rtc \ endpoints/mod_rtmp \ endpoints/mod_sofia \ - endpoints/mod_verto \ event_handlers/mod_cdr_csv \ event_handlers/mod_cdr_sqlite \ event_handlers/mod_event_socket \ @@ -207,6 +208,11 @@ FREESWITCH_DEPENDENCIES += libilbc FREESWITCH_ENABLED_MODULES += codecs/mod_ilbc endif +ifeq ($(BR2_PACKAGE_LIBKS),y) +FREESWITCH_DEPENDENCIES += libks +FREESWITCH_ENABLED_MODULES += endpoints/mod_verto +endif + ifeq ($(BR2_PACKAGE_LIBLDNS),y) FREESWITCH_DEPENDENCIES += libldns FREESWITCH_ENABLED_MODULES += applications/mod_enum diff --git a/package/freetype/freetype.hash b/package/freetype/freetype.hash index 36571b51af8..7abc3d96da5 100644 --- a/package/freetype/freetype.hash +++ b/package/freetype/freetype.hash @@ -1,8 +1,8 @@ -# From https://sourceforge.net/projects/freetype/files/freetype2/2.10.4/ -sha1 0181862673f7216ad2b5074f95fc131209e30b27 freetype-2.10.4.tar.xz +# From https://sourceforge.net/projects/freetype/files/freetype2/2.11.1/ +sha1 86bdc98b37efe447cf53420bf2c18402ff905112 freetype-2.11.1.tar.xz # Locally calculated -sha256 86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784 freetype-2.10.4.tar.xz -sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb docs/LICENSE.TXT +sha256 3333ae7cfda88429c97a7ae63b7d01ab398076c3b67182e960e5684050f2c5c8 freetype-2.11.1.tar.xz +sha256 c85e842b7ff04d95dab7d68e812773de0f8b67940e5449d35b42c66eb0f619fe LICENSE.TXT sha256 08c135755dd589039470f1fdbb400daaabaaa50d0b366d19cebff4d22986baa1 docs/FTL.TXT sha256 c4120c6752c910c299e3bd9cb3a46ff262c268303ca2069b61f92f10a5656c18 docs/GPLv2.TXT diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 59d6dc0eb8a..912e6c4daac 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,13 +4,13 @@ # ################################################################################ -FREETYPE_VERSION = 2.10.4 +FREETYPE_VERSION = 2.11.1 FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.xz FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES FREETYPE_MAKE_OPTS = CCexe="$(HOSTCC)" FREETYPE_LICENSE = Dual FTL/GPL-2.0+ -FREETYPE_LICENSE_FILES = docs/LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT +FREETYPE_LICENSE_FILES = LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT FREETYPE_CPE_ID_VENDOR = freetype FREETYPE_DEPENDENCIES = host-pkgconf FREETYPE_CONFIG_SCRIPTS = freetype-config diff --git a/package/frotz/Config.in b/package/frotz/Config.in index b73beea330c..9473f5944d2 100644 --- a/package/frotz/Config.in +++ b/package/frotz/Config.in @@ -1,14 +1,10 @@ config BR2_PACKAGE_FROTZ bool "frotz" - depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_NCURSES help Frotz is an interpreter for old Infocom adventure games and - other Z-code games. Note that frotz can not be run as root. + other Z-code games. Note that frotz cannot be run as root. You must add a normal user to your buildroot configuration to be able to use it. https://661.org/proj/if/frotz/ - -comment "frotz needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/frotz/frotz.hash b/package/frotz/frotz.hash index 14f1a7fbe2c..e5024aa2cd0 100644 --- a/package/frotz/frotz.hash +++ b/package/frotz/frotz.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7e488140791259a1a8c9e16a0c467ca69b694b918c28ffe3d83c654bcb253cca frotz-2.51.tar.bz2 +sha256 8da558828dd74d6d6ee30483bb32276ef918b8b72b7f6e89b4f7cb27e7abf58b frotz-2.53.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/frotz/frotz.mk b/package/frotz/frotz.mk index ce27bdf0bf9..c1362b2ac6e 100644 --- a/package/frotz/frotz.mk +++ b/package/frotz/frotz.mk @@ -4,9 +4,9 @@ # ################################################################################ -FROTZ_VERSION = 2.51 +FROTZ_VERSION = 2.53 FROTZ_SOURCE = frotz-$(FROTZ_VERSION).tar.bz2 -FROTZ_SITE = https://gitlab.com/DavidGriffith/frotz/-/archive/$(FROTZ_VERSION) +FROTZ_SITE = $(call gitlab,DavidGriffith,frotz,$(FROTZ_VERSION)) FROTZ_DEPENDENCIES = host-pkgconf ncurses FROTZ_LICENSE = GPL-2.0+ FROTZ_LICENSE_FILES = COPYING diff --git a/package/frr/0001-configure.ac-fix-enable_bmp-typo.patch b/package/frr/0001-configure.ac-fix-enable_bmp-typo.patch new file mode 100644 index 00000000000..c8ce500dfca --- /dev/null +++ b/package/frr/0001-configure.ac-fix-enable_bmp-typo.patch @@ -0,0 +1,29 @@ +From bacabf2476553d0e873b827359e1c8a4216c2f8c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 16 Dec 2021 20:10:26 +0100 +Subject: [PATCH] configure.ac: fix enable_bmp typo + +enable_bmp doesn't exist, use enable_bgp_bmp + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/FRRouting/frr/pull/10236] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1bcc42ef8..c7a5f1286 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1806,7 +1806,7 @@ if test "$enable_bgp_vnc" != "no";then + fi + + bgpd_bmp=false +-case "${enable_bmp}" in ++case "${enable_bgp_bmp}" in + no) + ;; + yes) +-- +2.33.0 + diff --git a/package/frr/0002-lib-fix-elf_py-TLS-section-handling.patch b/package/frr/0002-lib-fix-elf_py-TLS-section-handling.patch new file mode 100644 index 00000000000..d491cb1a7d7 --- /dev/null +++ b/package/frr/0002-lib-fix-elf_py-TLS-section-handling.patch @@ -0,0 +1,31 @@ +From 3942ee1f7bc754dd0dd9ae79f89d0f2635be334f Mon Sep 17 00:00:00 2001 +From: David Lamparter +Date: Wed, 10 Nov 2021 15:30:07 +0100 +Subject: [PATCH] lib: fix elf_py TLS section handling + +... need to ignore TLS sections, their address is effectively +meaningless but can overlap other sections we actually need to access. + +Signed-off-by: David Lamparter + +[Retrieved from: +https://github.com/FRRouting/frr/commit/3942ee1f7bc754dd0dd9ae79f89d0f2635be334f] +Signed-off-by: Fabrice Fontaine +--- + lib/elf_py.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/elf_py.c b/lib/elf_py.c +index 1c306893ad8..f230add6957 100644 +--- a/lib/elf_py.c ++++ b/lib/elf_py.c +@@ -636,6 +636,9 @@ static Elf_Scn *elf_find_addr(struct elffile *ef, uint64_t addr, size_t *idx) + Elf_Scn *scn = elf_getscn(ef->elf, i); + GElf_Shdr _shdr, *shdr = gelf_getshdr(scn, &_shdr); + ++ /* virtual address is kinda meaningless for TLS sections */ ++ if (shdr->sh_flags & SHF_TLS) ++ continue; + if (addr < shdr->sh_addr || + addr >= shdr->sh_addr + shdr->sh_size) + continue; diff --git a/package/frr/Config.in b/package/frr/Config.in index 911913292fb..c2e9577a272 100644 --- a/package/frr/Config.in +++ b/package/frr/Config.in @@ -3,10 +3,9 @@ config BR2_PACKAGE_FRR depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS # libyang depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c, libyang select BR2_PACKAGE_BASH select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash - select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBYANG select BR2_PACKAGE_LIBNL select BR2_PACKAGE_READLINE @@ -19,6 +18,22 @@ config BR2_PACKAGE_FRR https://frrouting.org +if BR2_PACKAGE_FRR + +config BR2_PACKAGE_FRR_BMP + bool "BMP protocol" + select BR2_PACKAGE_C_ARES + help + Build BGP Monitoring Protocol daemon. + +config BR2_PACKAGE_FRR_NHRPD + bool "NHRPD protocol" + select BR2_PACKAGE_C_ARES + help + Build Next Hop Routing Protocol daemon. + +endif + comment "frr needs a toolchain w/ threads, dynamic library" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU diff --git a/package/frr/frr.hash b/package/frr/frr.hash index 942065f0f30..bb6c32b7bba 100644 --- a/package/frr/frr.hash +++ b/package/frr/frr.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 54066e82a82751ec5876d9b67aa0cb24fe94e19e7371af290ac25099eda9f136 frr-7.5.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 9d82c11b304ab89a30627fcbb4150f51e639f473f8563976e14101e796240599 frr-8.1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/frr/frr.mk b/package/frr/frr.mk index 3ae292874aa..0e6ab7a815e 100644 --- a/package/frr/frr.mk +++ b/package/frr/frr.mk @@ -4,16 +4,22 @@ # ################################################################################ -FRR_VERSION = 7.5 +FRR_VERSION = 8.1 FRR_SITE = $(call github,FRRouting,frr,frr-$(FRR_VERSION)) FRR_LICENSE = GPL-2.0 FRR_LICENSE_FILES = COPYING +FRR_CPE_ID_VENDOR = linuxfoundation +FRR_CPE_ID_PRODUCT = free_range_routing FRR_AUTORECONF = YES -FRR_DEPENDENCIES = host-frr readline json-c \ - libyang libnl c-ares +FRR_DEPENDENCIES = host-frr readline json-c libyang libnl \ + $(if $(BR2_PACKAGE_C_ARES),c-ares) -HOST_FRR_DEPENDENCIES = host-flex host-bison host-python3 +HOST_FRR_DEPENDENCIES = host-flex host-bison host-elfutils host-python3 + +FRR_CONF_ENV = \ + ac_cv_lib_cunit_CU_initialize_registry=no \ + CFLAGS="$(TARGET_CFLAGS) -DFRR_XREF_NO_NOTE" FRR_CONF_OPTS = --with-clippy=$(HOST_DIR)/bin/clippy \ --sysconfdir=/etc/frr \ @@ -27,11 +33,43 @@ FRR_CONF_OPTS = --with-clippy=$(HOST_DIR)/bin/clippy \ --enable-user=frr \ --enable-group=frr \ --enable-vty-group=frrvty \ - --disable-capabilities \ --enable-fpm HOST_FRR_CONF_OPTS = --enable-clippy-only +ifeq ($(BR2_PACKAGE_FRR_BMP),y) +FRR_CONF_OPTS += --enable-bgp-bmp +else +FRR_CONF_OPTS += --disable-bgp-bmp +endif + +ifeq ($(BR2_PACKAGE_FRR_NHRPD),y) +FRR_CONF_OPTS += --enable-nhrpd +else +FRR_CONF_OPTS += --disable-nhrpd +endif + +ifeq ($(BR2_PACKAGE_LIBCAP),y) +FRR_DEPENDENCIES += libcap +FRR_CONF_OPTS += --enable-capabilities +else +FRR_CONF_OPTS += --disable-capabilities +endif + +ifeq ($(BR2_PACKAGE_SQLITE),y) +FRR_DEPENDENCIES += sqlite +FRR_CONF_OPTS += --enable-config-rollbacks +else +FRR_CONF_OPTS += --disable-config-rollbacks +endif + +ifeq ($(BR2_PACKAGE_ZEROMQ),y) +FRR_DEPENDENCIES += zeromq +FRR_CONF_OPTS += --enable-zeromq +else +FRR_CONF_OPTS += --disable-zeromq +endif + ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) FRR_CONF_ENV += LIBS=-latomic endif diff --git a/package/fswebcam/fswebcam.hash b/package/fswebcam/fswebcam.hash index bac16267856..6ecb0d9794b 100644 --- a/package/fswebcam/fswebcam.hash +++ b/package/fswebcam/fswebcam.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5702771cee6e3fa0f2bbbb72ecf3e5a253ff458c1f648f7e7c0d477e39f0ec80 fswebcam-e9f8094b6a3d1a49f99b2abec4e6ab4df33e2e33.tar.gz +sha256 d5439b2bf49bb634100d7e42ed9854f84bfd355c1d40bc3d4d81593eeadd8aee fswebcam-20200725.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/fswebcam/fswebcam.mk b/package/fswebcam/fswebcam.mk index 3a5b8c9eefa..12e7860e7bd 100644 --- a/package/fswebcam/fswebcam.mk +++ b/package/fswebcam/fswebcam.mk @@ -4,7 +4,7 @@ # ################################################################################ -FSWEBCAM_VERSION = e9f8094b6a3d1a49f99b2abec4e6ab4df33e2e33 +FSWEBCAM_VERSION = 20200725 FSWEBCAM_SITE = $(call github,fsphil,fswebcam,$(FSWEBCAM_VERSION)) FSWEBCAM_LICENSE = GPL-2.0 FSWEBCAM_LICENSE_FILES = LICENSE diff --git a/package/fuse-overlayfs/fuse-overlayfs.hash b/package/fuse-overlayfs/fuse-overlayfs.hash index 9770ee0d3fd..f9473c154a9 100644 --- a/package/fuse-overlayfs/fuse-overlayfs.hash +++ b/package/fuse-overlayfs/fuse-overlayfs.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 7e5666aef4f2047e6a5202d6438b08c2d314dba5b40e431014e7dbb8168d9018 fuse-overlayfs-1.4.0.tar.gz +sha256 6c81b65b71067b303aaa9871f512c2cabc23e2b793f19c6c854d01a492b5a923 fuse-overlayfs-1.5.0.tar.gz # Locally computed sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/fuse-overlayfs/fuse-overlayfs.mk b/package/fuse-overlayfs/fuse-overlayfs.mk index 707cacce03b..0ad7dbc51d3 100644 --- a/package/fuse-overlayfs/fuse-overlayfs.mk +++ b/package/fuse-overlayfs/fuse-overlayfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -FUSE_OVERLAYFS_VERSION = 1.4.0 +FUSE_OVERLAYFS_VERSION = 1.5.0 FUSE_OVERLAYFS_SITE = $(call github,containers,fuse-overlayfs,v$(FUSE_OVERLAYFS_VERSION)) FUSE_OVERLAYFS_LICENSE = GPL-3.0 FUSE_OVERLAYFS_LICENSE_FILES = COPYING diff --git a/package/fwts/0001-build-do-not-use-Werror.patch b/package/fwts/0001-build-do-not-use-Werror.patch index 07f64b35b10..715c4f63a53 100644 --- a/package/fwts/0001-build-do-not-use-Werror.patch +++ b/package/fwts/0001-build-do-not-use-Werror.patch @@ -1,7 +1,10 @@ -From 4c202c0fd7e5bd3264c720d715f05573047d9cf5 Mon Sep 17 00:00:00 2001 +From e481c2f990ffa71f205d4b9daf0823e71269a7f3 Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Fri, 12 Aug 2016 23:11:56 +0200 Subject: [PATCH] fwts: do not use -Werror +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Warnings come and go with various compiler versions, so using -Werror is prone to cause build failures with various compiler versions, especially @@ -12,6 +15,8 @@ Remove use of -Werror. Signed-off-by: Erico Nunes [Fabrice: updated for 20.08.00] Signed-off-by: Fabrice Fontaine +[Vincent: rebased onto V21.05.00] +Signed-off-by: Vincent Stehlé --- configure.ac | 2 +- src/Makefile.am | 2 +- @@ -20,7 +25,7 @@ Signed-off-by: Fabrice Fontaine 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 0109d644..3ca599e1 100644 +index f40c3678..0ff5025b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ @@ -31,12 +36,12 @@ index 0109d644..3ca599e1 100644 AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/Makefile.am b/src/Makefile.am -index 52c637dd..d9d73f1c 100644 +index cdabb386..7c2e5730 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -14,7 +14,7 @@ AM_CPPFLAGS = \ - `pkg-config --silence-errors --cflags json` \ - `pkg-config --silence-errors --cflags json-c` \ +@@ -12,7 +12,7 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/src/acpica/source/compiler \ + -I$(top_srcdir)/efi_runtime \ -pthread `pkg-config --cflags glib-2.0 gio-2.0` \ - -Wall -Werror -Wextra \ + -Wall -Wextra \ @@ -44,10 +49,10 @@ index 52c637dd..d9d73f1c 100644 -Wfloat-equal -Wmissing-declarations \ -Wno-long-long -Wredundant-decls -Wshadow \ diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am -index 54de7f44..e129ed16 100644 +index 55c52b41..50efa97a 100644 --- a/src/lib/src/Makefile.am +++ b/src/lib/src/Makefile.am -@@ -24,7 +24,7 @@ AM_CPPFLAGS = \ +@@ -25,7 +25,7 @@ AM_CPPFLAGS = \ `pkg-config --silence-errors --cflags json-c` \ `pkg-config --cflags glib-2.0 gio-2.0` \ -DDATAROOTDIR=\"$(datarootdir)\" \ @@ -57,18 +62,18 @@ index 54de7f44..e129ed16 100644 pkglib_LTLIBRARIES = libfwts.la diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am -index aa37de55..4d5297cc 100644 +index 1fc0fc02..53614e33 100644 --- a/src/utilities/Makefile.am +++ b/src/utilities/Makefile.am @@ -16,7 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # --AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ -+AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ - `pkg-config --silence-errors --cflags json` \ - `pkg-config --silence-errors --cflags json-c` +-AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ ++AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ + -I$(srcdir)/../lib/include + bin_PROGRAMS = kernelscan -- -2.17.1 +2.30.2 diff --git a/package/fwts/fwts.hash b/package/fwts/fwts.hash index 9b056731529..8634980e036 100644 --- a/package/fwts/fwts.hash +++ b/package/fwts/fwts.hash @@ -1,5 +1,5 @@ # Hash from: http://fwts.ubuntu.com/release/SHA256SUMS -sha256 bfe7993f1dd328b96a90ecfe92df67063df21afe4b4a103e498da6625c7c71b7 fwts-V20.08.00.tar.gz +sha256 17d1f0b9639e0f9b092ed8233be2d63d6c44ea8d2a76be0fb5902cc867961374 fwts-V21.11.00.tar.gz # Hash for license file -sha256 379eab3c1071a6f5b8acd3632586577ec9c47ef10601b10467e890b8ff8b3842 debian/copyright +sha256 fbbea748555635dd8c7e6e2f99cddd778f5ee3f9e3510775183bf9799076e5e5 debian/copyright diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk index e4e9defebfb..6634cdc40e6 100644 --- a/package/fwts/fwts.mk +++ b/package/fwts/fwts.mk @@ -4,7 +4,7 @@ # ################################################################################ -FWTS_VERSION = 20.08.00 +FWTS_VERSION = 21.11.00 FWTS_SOURCE = fwts-V$(FWTS_VERSION).tar.gz FWTS_SITE = http://fwts.ubuntu.com/release FWTS_STRIP_COMPONENTS = 0 diff --git a/package/fwup/fwup.hash b/package/fwup/fwup.hash index 87263192e4c..2e5b2b1f6c0 100644 --- a/package/fwup/fwup.hash +++ b/package/fwup/fwup.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9890f0328796f4315e6c1188df5c103855c530fbc14fbc8c12f4b24066c975f1 fwup-1.8.0.tar.gz +sha256 18ae6753145cef2fd5f5fc83e29c2d883e570668d8aa064ee6c94d4c5e44d73d fwup-1.9.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/fwup/fwup.mk b/package/fwup/fwup.mk index 77eaa528f3e..62016d94e36 100644 --- a/package/fwup/fwup.mk +++ b/package/fwup/fwup.mk @@ -4,8 +4,8 @@ # ################################################################################ -FWUP_VERSION = 1.8.0 -FWUP_SITE = $(call github,fhunleth,fwup,v$(FWUP_VERSION)) +FWUP_VERSION = 1.9.0 +FWUP_SITE = $(call github,fwup-home,fwup,v$(FWUP_VERSION)) FWUP_LICENSE = Apache-2.0 FWUP_LICENSE_FILES = LICENSE FWUP_DEPENDENCIES = host-pkgconf libconfuse libarchive diff --git a/package/gauche/gauche.mk b/package/gauche/gauche.mk index 25203793694..fe0a613a9d6 100644 --- a/package/gauche/gauche.mk +++ b/package/gauche/gauche.mk @@ -10,8 +10,6 @@ GAUCHE_SITE = http://downloads.sourceforge.net/project/gauche/Gauche GAUCHE_LICENSE = BSD-3-Clause, Boehm-gc, SRFI (srfi-11.scm), reload (reload.scm) GAUCHE_LICENSE_FILES = COPYING GAUCHE_DEPENDENCIES = host-gauche -# We're patching configure.ac -GAUCHE_AUTORECONF = YES HOST_GAUCHE_CONF_OPTS = --without-zlib GAUCHE_CONF_OPTS = --without-libatomic-ops diff --git a/package/gawk/gawk.hash b/package/gawk/gawk.hash index 91e506607ef..894c939c5bf 100644 --- a/package/gawk/gawk.hash +++ b/package/gawk/gawk.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/gawk/gawk-5.1.0.tar.xz.sig +# https://ftp.gnu.org/gnu/gawk/gawk-5.1.1.tar.xz.sig # Primary key fingerprint: D196 7C63 7887 1317 7D86 1ED7 DF59 7815 937E C0D2 -sha256 cf5fea4ac5665fd5171af4716baab2effc76306a9572988d5ba1078f196382bd gawk-5.1.0.tar.xz +sha256 d87629386e894bbea11a5e00515fc909dc9b7249529dad9e6a3a2c77085f7ea2 gawk-5.1.1.tar.xz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk index 16906f6f93f..b55c74d00ac 100644 --- a/package/gawk/gawk.mk +++ b/package/gawk/gawk.mk @@ -4,7 +4,7 @@ # ################################################################################ -GAWK_VERSION = 5.1.0 +GAWK_VERSION = 5.1.1 GAWK_SOURCE = gawk-$(GAWK_VERSION).tar.xz GAWK_SITE = $(BR2_GNU_MIRROR)/gawk GAWK_DEPENDENCIES = host-gawk @@ -39,5 +39,11 @@ endef GAWK_POST_INSTALL_TARGET_HOOKS += GAWK_CREATE_SYMLINK +define HOST_GAWK_CREATE_SYMLINK + ln -sf gawk $(HOST_DIR)/usr/bin/awk +endef + +HOST_GAWK_POST_INSTALL_HOOKS += HOST_GAWK_CREATE_SYMLINK + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/gcc/10.2.0/0001-arc-Refurbish-adc-sbc-patterns.patch b/package/gcc/10.2.0/0001-arc-Refurbish-adc-sbc-patterns.patch deleted file mode 100644 index ed7b000ede7..00000000000 --- a/package/gcc/10.2.0/0001-arc-Refurbish-adc-sbc-patterns.patch +++ /dev/null @@ -1,242 +0,0 @@ -From 09944fba5bfb8e5543ce043c70d08222cf2f97ff Mon Sep 17 00:00:00 2001 -From: Claudiu Zissulescu -Date: Wed, 11 Nov 2020 12:31:10 +0200 -Subject: [PATCH] arc: Refurbish adc/sbc patterns - -The adc/sbc patterns were unecessary spliting, remove that and -associated functions. - -gcc/ChangeLog: - -2020-10-11 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove - it. - (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - * config/arc/arc.c (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - (arc_scheduling_not_expected): Likewise. - * config/arc/arc.md: Convert adc/sbc patterns to simple - instruction definitions. - -Signed-off-by: Claudiu Zissulescu -Signed-off-by: Veronika Kremneva ---- - gcc/config/arc/arc-protos.h | 3 -- - gcc/config/arc/arc.c | 53 ------------------------- - gcc/config/arc/arc.md | 95 ++++++++++++++------------------------------- - 3 files changed, 29 insertions(+), 122 deletions(-) - -diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h -index c72d78e3b9e..de4cf47c818 100644 ---- a/gcc/config/arc/arc-protos.h -+++ b/gcc/config/arc/arc-protos.h -@@ -90,10 +90,7 @@ extern void split_subsi (rtx *); - extern void arc_split_move (rtx *); - extern const char *arc_short_long (rtx_insn *insn, const char *, const char *); - extern rtx arc_regno_use_in (unsigned int, rtx); --extern bool arc_scheduling_not_expected (void); --extern bool arc_sets_cc_p (rtx_insn *insn); - extern int arc_label_align (rtx_insn *label); --extern bool arc_need_delay (rtx_insn *insn); - extern bool arc_text_label (rtx_insn *insn); - - extern bool arc_short_comparison_p (rtx, int); -diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c -index fcb83c4e23e..2daf83dd009 100644 ---- a/gcc/config/arc/arc.c -+++ b/gcc/config/arc/arc.c -@@ -10341,59 +10341,6 @@ arc_attr_type (rtx_insn *insn) - return get_attr_type (insn); - } - --/* Return true if insn sets the condition codes. */ -- --bool --arc_sets_cc_p (rtx_insn *insn) --{ -- if (NONJUMP_INSN_P (insn)) -- if (rtx_sequence *seq = dyn_cast (PATTERN (insn))) -- insn = seq->insn (seq->len () - 1); -- return arc_attr_type (insn) == TYPE_COMPARE; --} -- --/* Return true if INSN is an instruction with a delay slot we may want -- to fill. */ -- --bool --arc_need_delay (rtx_insn *insn) --{ -- rtx_insn *next; -- -- if (!flag_delayed_branch) -- return false; -- /* The return at the end of a function needs a delay slot. */ -- if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE -- && (!(next = next_active_insn (insn)) -- || ((!NONJUMP_INSN_P (next) || GET_CODE (PATTERN (next)) != SEQUENCE) -- && arc_attr_type (next) == TYPE_RETURN)) -- && (!TARGET_PAD_RETURN -- || (prev_active_insn (insn) -- && prev_active_insn (prev_active_insn (insn)) -- && prev_active_insn (prev_active_insn (prev_active_insn (insn)))))) -- return true; -- if (NONJUMP_INSN_P (insn) -- ? (GET_CODE (PATTERN (insn)) == USE -- || GET_CODE (PATTERN (insn)) == CLOBBER -- || GET_CODE (PATTERN (insn)) == SEQUENCE) -- : JUMP_P (insn) -- ? (GET_CODE (PATTERN (insn)) == ADDR_VEC -- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC) -- : !CALL_P (insn)) -- return false; -- return num_delay_slots (insn) != 0; --} -- --/* Return true if the scheduling pass(es) has/have already run, -- i.e. where possible, we should try to mitigate high latencies -- by different instruction selection. */ -- --bool --arc_scheduling_not_expected (void) --{ -- return cfun->machine->arc_reorg_started; --} -- - /* Code has a minimum p2 alignment of 1, which we must restore after - an ADDR_DIFF_VEC. */ - -diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md -index d4d9f59a3ea..6c09c86884f 100644 ---- a/gcc/config/arc/arc.md -+++ b/gcc/config/arc/arc.md -@@ -2857,43 +2857,25 @@ archs4x, archs4xd" - (set_attr "type" "compare") - (set_attr "length" "4,4,8")]) - --; w/c/c comes first (rather than w/0/C_0) to prevent the middle-end --; needlessly prioritizing the matching constraint. --; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional --; execution is used where possible. --(define_insn_and_split "adc" -- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") -- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REG) (const_int 0)) -- (match_operand:SI 1 "nonmemory_operand" -- "%c,0,c,0,cCal")) -- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] -+(define_insn "adc" -+ [(set (match_operand:SI 0 "register_operand" "=r, r,r,r, r,r") -+ (plus:SI -+ (plus:SI -+ (ltu:SI (reg:CC_C CC_REG) (const_int 0)) -+ (match_operand:SI 1 "nonmemory_operand" "%r, 0,r,0,Cal,r")) -+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I, r,Cal")))] - "register_operand (operands[1], SImode) - || register_operand (operands[2], SImode)" - "@ -- adc %0,%1,%2 -- add.cs %0,%1,1 -- adc %0,%1,%2 -- adc %0,%1,%2 -- adc %0,%1,%2" -- ; if we have a bad schedule after sched2, split. -- "reload_completed -- && !optimize_size && (!TARGET_ARC600_FAMILY) -- && arc_scheduling_not_expected () -- && arc_sets_cc_p (prev_nonnote_insn (insn)) -- /* If next comes a return or other insn that needs a delay slot, -- expect the adc to get into the delay slot. */ -- && next_nonnote_insn (insn) -- && !arc_need_delay (next_nonnote_insn (insn)) -- /* Restore operands before emitting. */ -- && (extract_insn_cached (insn), 1)" -- [(set (match_dup 0) (match_dup 3)) -- (cond_exec -- (ltu (reg:CC_C CC_REG) (const_int 0)) -- (set (match_dup 0) (plus:SI (match_dup 0) (const_int 1))))] -- "operands[3] = simplify_gen_binary (PLUS, SImode, operands[1], operands[2]);" -+ adc\\t%0,%1,%2 -+ add.cs\\t%0,%1,1 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2" - [(set_attr "cond" "use") - (set_attr "type" "cc_arith") -- (set_attr "length" "4,4,4,4,8")]) -+ (set_attr "length" "4,4,4,4,8,8")]) - - ; combiner-splitter cmp / scc -> cmp / adc - (define_split -@@ -3025,7 +3007,7 @@ archs4x, archs4xd" - DONE; - } - emit_insn (gen_sub_f (l0, l1, l2)); -- emit_insn (gen_sbc (h0, h1, h2, gen_rtx_REG (CCmode, CC_REG))); -+ emit_insn (gen_sbc (h0, h1, h2)); - DONE; - ") - -@@ -3040,44 +3022,25 @@ archs4x, archs4xd" - (set_attr "type" "cc_arith") - (set_attr "length" "4")]) - --; w/c/c comes first (rather than Rcw/0/C_0) to prevent the middle-end --; needlessly prioritizing the matching constraint. --; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional execution --; is used where possible. --(define_insn_and_split "sbc" -- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") -- (minus:SI (minus:SI (match_operand:SI 1 "nonmemory_operand" -- "c,0,c,0,cCal") -- (ltu:SI (match_operand:CC_C 3 "cc_use_register") -- (const_int 0))) -- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] -+(define_insn "sbc" -+ [(set (match_operand:SI 0 "dest_reg_operand" "=r,r,r,r,r,r") -+ (minus:SI -+ (minus:SI -+ (match_operand:SI 1 "nonmemory_operand" "r, 0,r,0, r,Cal") -+ (ltu:SI (reg:CC_C CC_REG) (const_int 0))) -+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I,Cal,r")))] - "register_operand (operands[1], SImode) - || register_operand (operands[2], SImode)" - "@ -- sbc %0,%1,%2 -- sub.cs %0,%1,1 -- sbc %0,%1,%2 -- sbc %0,%1,%2 -- sbc %0,%1,%2" -- ; if we have a bad schedule after sched2, split. -- "reload_completed -- && !optimize_size && (!TARGET_ARC600_FAMILY) -- && arc_scheduling_not_expected () -- && arc_sets_cc_p (prev_nonnote_insn (insn)) -- /* If next comes a return or other insn that needs a delay slot, -- expect the adc to get into the delay slot. */ -- && next_nonnote_insn (insn) -- && !arc_need_delay (next_nonnote_insn (insn)) -- /* Restore operands before emitting. */ -- && (extract_insn_cached (insn), 1)" -- [(set (match_dup 0) (match_dup 4)) -- (cond_exec -- (ltu (reg:CC_C CC_REG) (const_int 0)) -- (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1))))] -- "operands[4] = simplify_gen_binary (MINUS, SImode, operands[1], operands[2]);" -+ sbc\\t%0,%1,%2 -+ sub.cs\\t%0,%1,1 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2" - [(set_attr "cond" "use") - (set_attr "type" "cc_arith") -- (set_attr "length" "4,4,4,4,8")]) -+ (set_attr "length" "4,4,4,4,8,8")]) - - (define_insn "sub_f" - [(set (reg:CC CC_REG) --- -2.16.2 - diff --git a/package/gcc/10.2.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/package/gcc/10.2.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch deleted file mode 100644 index 6f11713c6b2..00000000000 --- a/package/gcc/10.2.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch +++ /dev/null @@ -1,325 +0,0 @@ -From 472472ee0aaccb6389747d6281c34c558bcca7d8 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 20 Jan 2021 23:26:29 +0100 -Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 - -mcpu=niagara2 -fPIE)" - -This reverts commit 0a83f1a441d7aaadecb368c237b6ee70bd7b91d6. - -Building the Buildroot defconfig qemu_sparc_ss10_defconfig using -gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal -instruction messages. - -gcc 8.3, 9.2 are the latest working gcc version. -git bisect between gcc 8.4 and 8.4 allowed to identify -the commit that introcuce the regression. - -Reverting this patch allowed to produce a working rootfs. - -Signed-off-by: Romain Naour -Cc: Eric Botcazou ---- - gcc/config/sparc/sparc-protos.h | 1 - - gcc/config/sparc/sparc.c | 121 +++++++----------- - gcc/config/sparc/sparc.md | 5 +- - .../gcc.c-torture/compile/20191108-1.c | 14 -- - gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +- - gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +- - gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +- - 7 files changed, 53 insertions(+), 94 deletions(-) - delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c - -diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h -index f525cd7a422..0d9f47af644 100644 ---- a/gcc/config/sparc/sparc-protos.h -+++ b/gcc/config/sparc/sparc-protos.h -@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); - 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 --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c -index aefced85fe1..3ff6f9200f6 100644 ---- a/gcc/config/sparc/sparc.c -+++ b/gcc/config/sparc/sparc.c -@@ -4192,6 +4192,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) - 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: -@@ -4227,11 +4234,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) - } - - /* 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. */ - -@@ -4244,6 +4249,27 @@ sparc_got (void) - 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 -@@ -4263,78 +4289,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) - 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. */ -@@ -5499,7 +5477,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) - 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 -@@ -12542,9 +12520,10 @@ static void - 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 -@@ -12581,22 +12560,17 @@ sparc_file_end (void) - #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 - } - -@@ -13091,10 +13065,7 @@ sparc_init_pic_reg (void) - 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 --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md -index 231c0d84778..899804b80ae 100644 ---- a/gcc/config/sparc/sparc.md -+++ b/gcc/config/sparc/sparc.md -@@ -1604,7 +1604,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 --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c -deleted file mode 100644 -index 7929751bb06..00000000000 ---- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c -+++ /dev/null -@@ -1,14 +0,0 @@ --/* PR target/92095 */ --/* Testcase by Sergei Trofimovich */ -- --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 --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c -index 52d6ab2b688..86dddfb09e6 100644 ---- a/gcc/testsuite/gcc.target/sparc/overflow-3.c -+++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-require-effective-target lp64 } */ --/* { dg-options "-O -fno-pie" } */ -+/* { dg-options "-O" } */ - - #include - #include -diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c -index c6121b958c3..019feee335c 100644 ---- a/gcc/testsuite/gcc.target/sparc/overflow-4.c -+++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c -@@ -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 - #include -diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c -index f00283f6e7b..67d4ac38095 100644 ---- a/gcc/testsuite/gcc.target/sparc/overflow-5.c -+++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-require-effective-target lp64 } */ --/* { dg-options "-O -fno-pie -mvis3" } */ -+/* { dg-options "-O -mvis3" } */ - - #include - #include --- -2.25.4 - diff --git a/package/gcc/10.3.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/package/gcc/10.3.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch new file mode 100644 index 00000000000..af0d2d7d02d --- /dev/null +++ b/package/gcc/10.3.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch @@ -0,0 +1,328 @@ +From 0824d6819857f306583592bce96315893f91bd84 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 20 Jan 2021 23:26:29 +0100 +Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 + -mcpu=niagara2 -fPIE)" + +This reverts commit 0a83f1a441d7aaadecb368c237b6ee70bd7b91d6. + +Building the Buildroot defconfig qemu_sparc_ss10_defconfig using +gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal +instruction messages. + +gcc 8.3, 9.2 are the latest working gcc version. +git bisect between gcc 8.4 and 8.4 allowed to identify +the commit that introcuce the regression. + +Reverting this patch allowed to produce a working rootfs. + +Reported to gcc: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98784 + +Signed-off-by: Romain Naour +Cc: Eric Botcazou +--- + gcc/config/sparc/sparc-protos.h | 1 - + gcc/config/sparc/sparc.c | 121 +++++++----------- + gcc/config/sparc/sparc.md | 5 +- + .../gcc.c-torture/compile/20191108-1.c | 14 -- + gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +- + 7 files changed, 53 insertions(+), 94 deletions(-) + delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c + +diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h +index 5f9999a669c..37452b06415 100644 +--- a/gcc/config/sparc/sparc-protos.h ++++ b/gcc/config/sparc/sparc-protos.h +@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); + 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 --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c +index d0843102148..14d112d8ca8 100644 +--- a/gcc/config/sparc/sparc.c ++++ b/gcc/config/sparc/sparc.c +@@ -4157,6 +4157,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) + 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 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) + } + + /* 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 @@ sparc_got (void) + 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 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) + 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 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) + 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 @@ static void + 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 @@ sparc_file_end (void) + #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 @@ sparc_init_pic_reg (void) + 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 --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md +index 6e9ccb4ecfd..8fb0fa11aed 100644 +--- a/gcc/config/sparc/sparc.md ++++ b/gcc/config/sparc/sparc.md +@@ -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 --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c +deleted file mode 100644 +index 7929751bb06..00000000000 +--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c ++++ /dev/null +@@ -1,14 +0,0 @@ +-/* PR target/92095 */ +-/* Testcase by Sergei Trofimovich */ +- +-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 --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c +index 52d6ab2b688..86dddfb09e6 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie" } */ ++/* { dg-options "-O" } */ + + #include + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c +index c6121b958c3..019feee335c 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c +@@ -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 + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c +index f00283f6e7b..67d4ac38095 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie -mvis3" } */ ++/* { dg-options "-O -mvis3" } */ + + #include + #include +-- +2.30.2 + diff --git a/package/gcc/10.3.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch b/package/gcc/10.3.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch new file mode 100644 index 00000000000..73010c21ee7 --- /dev/null +++ b/package/gcc/10.3.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch @@ -0,0 +1,200 @@ +From 1dad3f95ffcd1871ca670a13a06fbedb1c3ce509 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:11:44 +0900 +Subject: [PATCH] or1k: Add mcmodel option to handle large GOTs + +When building libgeos we get an error with: + + linux-uclibc/9.3.0/crtbeginS.o: in function `__do_global_dtors_aux': + crtstuff.c:(.text+0x118): relocation truncated to fit: R_OR1K_GOT16 against symbol `__cxa_finalize' defined in .text section in + /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/host/or1k-buildroot-linux-uclibc/sysroot/lib/libc.so. + +This is caused by GOT code having a limit of 64k. In OpenRISC this +looks to be the only relocation code pattern to be limited to 64k. + +This patch allows specifying a new option -mcmodel=large which can be +used to generate 2 more instructions to construct 32-bit addresses for +up to 4G GOTs. + +gcc/ChangeLog: + + PR 99783 + * config/or1k/or1k-opts.h: New file. + * config/or1k/or1k.c (or1k_legitimize_address_1, print_reloc): + Support generating gotha relocations if -mcmodel=large is + specified. + * config/or1k/or1k.h (TARGET_CMODEL_SMALL, TARGET_CMODEL_LARGE): + New macros. + * config/or1k/or1k.opt (mcmodel=): New option. + * doc/invoke.text (OpenRISC Options): Document mcmodel. + +Signed-off-by: Giulio Benetti +--- + gcc/config/or1k/or1k-opts.h | 30 ++++++++++++++++++++++++++++++ + gcc/config/or1k/or1k.c | 11 +++++++++-- + gcc/config/or1k/or1k.h | 7 +++++++ + gcc/config/or1k/or1k.opt | 19 +++++++++++++++++++ + gcc/doc/invoke.texi | 12 +++++++++++- + 5 files changed, 76 insertions(+), 3 deletions(-) + create mode 100644 gcc/config/or1k/or1k-opts.h + +diff --git a/gcc/config/or1k/or1k-opts.h b/gcc/config/or1k/or1k-opts.h +new file mode 100644 +index 00000000000..f791b894fdd +--- /dev/null ++++ b/gcc/config/or1k/or1k-opts.h +@@ -0,0 +1,30 @@ ++/* Definitions for option handling for OpenRISC. ++ Copyright (C) 2021 Free Software Foundation, Inc. ++ Contributed by Stafford Horne. ++ ++ This file is part of GCC. ++ ++ GCC is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published ++ by the Free Software Foundation; either version 3, or (at your ++ option) any later version. ++ ++ GCC is distributed in the hope that it will be useful, but WITHOUT ++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public ++ License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . */ ++ ++#ifndef GCC_OR1K_OPTS_H ++#define GCC_OR1K_OPTS_H ++ ++/* The OpenRISC code generation models available. */ ++enum or1k_cmodel_type { ++ CMODEL_SMALL, ++ CMODEL_LARGE ++}; ++ ++#endif /* GCC_OR1K_OPTS_H */ +diff --git a/gcc/config/or1k/or1k.c b/gcc/config/or1k/or1k.c +index 5fa5425aa2b..88613f9596b 100644 +--- a/gcc/config/or1k/or1k.c ++++ b/gcc/config/or1k/or1k.c +@@ -750,7 +750,14 @@ or1k_legitimize_address_1 (rtx x, rtx scratch) + { + base = gen_sym_unspec (base, UNSPEC_GOT); + crtl->uses_pic_offset_table = 1; +- t2 = gen_rtx_LO_SUM (Pmode, pic_offset_table_rtx, base); ++ if (TARGET_CMODEL_LARGE) ++ { ++ emit_insn (gen_rtx_SET (t1, gen_rtx_HIGH (Pmode, base))); ++ emit_insn (gen_add3_insn (t1, t1, pic_offset_table_rtx)); ++ t2 = gen_rtx_LO_SUM (Pmode, t1, base); ++ } ++ else ++ t2 = gen_rtx_LO_SUM (Pmode, pic_offset_table_rtx, base); + t2 = gen_const_mem (Pmode, t2); + emit_insn (gen_rtx_SET (t1, t2)); + base = t1; +@@ -1089,7 +1096,7 @@ print_reloc (FILE *stream, rtx x, HOST_WIDE_INT add, reloc_kind kind) + no special markup. */ + static const char * const relocs[RKIND_MAX][RTYPE_MAX] = { + { "lo", "got", "gotofflo", "tpofflo", "gottpofflo", "tlsgdlo" }, +- { "ha", NULL, "gotoffha", "tpoffha", "gottpoffha", "tlsgdhi" }, ++ { "ha", "gotha", "gotoffha", "tpoffha", "gottpoffha", "tlsgdhi" }, + }; + reloc_type type = RTYPE_DIRECT; + +diff --git a/gcc/config/or1k/or1k.h b/gcc/config/or1k/or1k.h +index 23db771d8fb..f1646d16dfd 100644 +--- a/gcc/config/or1k/or1k.h ++++ b/gcc/config/or1k/or1k.h +@@ -21,6 +21,8 @@ + #ifndef GCC_OR1K_H + #define GCC_OR1K_H + ++#include "config/or1k/or1k-opts.h" ++ + /* Names to predefine in the preprocessor for this target machine. */ + #define TARGET_CPU_CPP_BUILTINS() \ + do \ +@@ -35,6 +37,11 @@ + } \ + while (0) + ++#define TARGET_CMODEL_SMALL \ ++ (or1k_code_model == CMODEL_SMALL) ++#define TARGET_CMODEL_LARGE \ ++ (or1k_code_model == CMODEL_LARGE) ++ + /* Storage layout. */ + + #define DEFAULT_SIGNED_CHAR 1 +diff --git a/gcc/config/or1k/or1k.opt b/gcc/config/or1k/or1k.opt +index 03c9b8d0bba..8e035075f8a 100644 +--- a/gcc/config/or1k/or1k.opt ++++ b/gcc/config/or1k/or1k.opt +@@ -21,6 +21,9 @@ + ; See the GCC internals manual (options.texi) for a description of + ; this file's format. + ++HeaderInclude ++config/or1k/or1k-opts.h ++ + mhard-div + Target RejectNegative InverseMask(SOFT_DIV) + Enable generation of hardware divide (l.div, l.divu) instructions. This is the +@@ -63,6 +66,22 @@ When -mhard-float is selected, enables generation of unordered floating point + compare and set flag (lf.sfun*) instructions. By default functions from libgcc + are used to perform unordered floating point compare and set flag operations. + ++mcmodel= ++Target RejectNegative Joined Enum(or1k_cmodel_type) Var(or1k_code_model) Init(CMODEL_SMALL) ++Specify the code model used for accessing memory addresses. Specifying large ++enables generating binaries with large global offset tables. By default the ++value is small. ++ ++Enum ++Name(or1k_cmodel_type) Type(enum or1k_cmodel_type) ++Known code model types (for use with the -mcmodel= option): ++ ++EnumValue ++Enum(or1k_cmodel_type) String(small) Value(CMODEL_SMALL) ++ ++EnumValue ++Enum(or1k_cmodel_type) String(large) Value(CMODEL_LARGE) ++ + mcmov + Target RejectNegative Mask(CMOV) + Enable generation of conditional move (l.cmov) instructions. By default the +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index eabeec944e7..eda350c99ec 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -1102,7 +1102,8 @@ Objective-C and Objective-C++ Dialects}. + @gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div @gol + -msoft-mul -msoft-div @gol + -msoft-float -mhard-float -mdouble-float -munordered-float @gol +--mcmov -mror -mrori -msext -msfimm -mshftimm} ++-mcmov -mror -mrori -msext -msfimm -mshftimm @gol ++-mcmodel=@var{code-model}} + + @emph{PDP-11 Options} + @gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol +@@ -25111,6 +25112,15 @@ Enable generation of shift with immediate (@code{l.srai}, @code{l.srli}, + @code{l.slli}) instructions. By default extra instructions will be generated + to store the immediate to a register first. + ++@item -mcmodel=small ++@opindex mcmodel=small ++Generate OpenRISC code for the small model: The GOT is limited to 64k. This is ++the default model. ++ ++@item -mcmodel=large ++@opindex mcmodel=large ++Generate OpenRISC code for the large model: The GOT may grow up to 4G in size. ++ + + @end table + +-- +2.25.1 + diff --git a/package/gcc/10.3.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch b/package/gcc/10.3.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch new file mode 100644 index 00000000000..7da0e8f7573 --- /dev/null +++ b/package/gcc/10.3.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch @@ -0,0 +1,60 @@ +From 0354e007a6235df81e208fa89cbf1571a8b56975 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:11:45 +0900 +Subject: [PATCH] or1k: Use cmodel=large when building crtstuff + +When linking gcc runtime objects into large binaries the link may fail +with the below errors. This will happen even if we are building with +-mcmodel=large. + + /home/shorne/work/openrisc/output/host/lib/gcc/or1k-buildroot-linux-uclibc/10.3.0/crtbeginS.o: in function `deregister_tm_clones': + crtstuff.c:(.text+0x3c): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_ITM_deregisterTMCloneTable' + /home/shorne/work/openrisc/output/host/lib/gcc/or1k-buildroot-linux-uclibc/10.3.0/crtbeginS.o: in function `register_tm_clones': + crtstuff.c:(.text+0xc0): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_ITM_registerTMCloneTable' + +This patch builds the gcc crtstuff binaries always with the +-mcmodel=large option to ensure they can be linked into large binaries. + +libgcc/ChangeLog: + + PR 99783 + * config.host (or1k-*, tmake_file): Add or1k/t-crtstuff. + * config/or1k/t-crtstuff: New file. + +Signed-off-by: Giulio Benetti +--- + libgcc/config.host | 4 ++-- + libgcc/config/or1k/t-crtstuff | 2 ++ + 2 files changed, 4 insertions(+), 2 deletions(-) + create mode 100644 libgcc/config/or1k/t-crtstuff + +diff --git a/libgcc/config.host b/libgcc/config.host +index c529cc40f0c..ddf0033e28c 100644 +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -1127,12 +1127,12 @@ nios2-*-*) + extra_parts="$extra_parts crti.o crtn.o" + ;; + or1k-*-linux*) +- tmake_file="$tmake_file or1k/t-or1k" ++ tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff" + tmake_file="$tmake_file t-softfp-sfdf t-softfp" + md_unwind_header=or1k/linux-unwind.h + ;; + or1k-*-*) +- tmake_file="$tmake_file or1k/t-or1k" ++ tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff" + tmake_file="$tmake_file t-softfp-sfdf t-softfp" + ;; + pdp11-*-*) +diff --git a/libgcc/config/or1k/t-crtstuff b/libgcc/config/or1k/t-crtstuff +new file mode 100644 +index 00000000000..dcae7f3498e +--- /dev/null ++++ b/libgcc/config/or1k/t-crtstuff +@@ -0,0 +1,2 @@ ++# Compile crtbeginS.o and crtendS.o with -mcmodel=large ++CRTSTUFF_T_CFLAGS_S += -mcmodel=large +-- +2.25.1 + diff --git a/package/gcc/10.3.0/0004-Remove-cyclades-from-libsanitizer.patch b/package/gcc/10.3.0/0004-Remove-cyclades-from-libsanitizer.patch new file mode 100644 index 00000000000..ee6e349a6ca --- /dev/null +++ b/package/gcc/10.3.0/0004-Remove-cyclades-from-libsanitizer.patch @@ -0,0 +1,125 @@ +From 745dae5923aba02982563481d75a21595df22ff8 Mon Sep 17 00:00:00 2001 +From: Tamar Christina +Date: Fri, 21 May 2021 10:30:59 +0100 +Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer + +The Linux kernel has removed the interface to cyclades from +the latest kernel headers[1] due to them being orphaned for the +past 13 years. + +libsanitizer uses this header when compiling against glibc, but +glibcs itself doesn't seem to have any references to cyclades. + +Further more it seems that the driver is broken in the kernel and +the firmware doesn't seem to be available anymore. + +As such since this is breaking the build of libsanitizer (and so the +GCC bootstrap[2]) I propose to remove this. + +[1] https://lkml.org/lkml/2021/3/2/153 +[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 + +(cherry picked from commit f7c5351552387bd43f6ca3631016d7f0dfe0f135) + +libsanitizer/ChangeLog: + + PR sanitizer/100379 + * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick + llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. + * sanitizer_common/sanitizer_platform_limits_posix.cpp: Likewise. + * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. + +Signed-off-by: Maxim Kochetkov +--- + .../sanitizer_common_interceptors_ioctl.inc | 9 --------- + .../sanitizer_platform_limits_posix.cpp | 11 ----------- + .../sanitizer_platform_limits_posix.h | 10 ---------- + 3 files changed, 30 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 7f181258eab..b7da6598755 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -370,15 +370,6 @@ static void ioctl_table_fill() { + + #if SANITIZER_GLIBC + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE +- _(CYGETDEFTHRESH, WRITE, sizeof(int)); +- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); +- _(CYGETTHRESH, WRITE, sizeof(int)); +- _(CYGETTIMEOUT, WRITE, sizeof(int)); +- _(CYSETDEFTHRESH, NONE, 0); +- _(CYSETDEFTIMEOUT, NONE, 0); +- _(CYSETTHRESH, NONE, 0); +- _(CYSETTIMEOUT, NONE, 0); + _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); + _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index 35a690cba5c..6e5c330b98e 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -143,7 +143,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -460,7 +459,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + + #if SANITIZER_GLIBC + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); +- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) + unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); + #else +@@ -824,15 +822,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; +- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; +- unsigned IOCTL_CYGETMON = CYGETMON; +- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; +- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; +- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; +- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; +- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; +- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; + unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; + unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; + unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index ad358eef8b7..cba41ba5494 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -983,7 +983,6 @@ extern unsigned struct_vt_mode_sz; + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + extern unsigned struct_ax25_parms_struct_sz; +-extern unsigned struct_cyclades_monitor_sz; + extern unsigned struct_input_keymap_entry_sz; + extern unsigned struct_ipx_config_data_sz; + extern unsigned struct_kbdiacrs_sz; +@@ -1328,15 +1327,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +-extern unsigned IOCTL_CYGETDEFTHRESH; +-extern unsigned IOCTL_CYGETDEFTIMEOUT; +-extern unsigned IOCTL_CYGETMON; +-extern unsigned IOCTL_CYGETTHRESH; +-extern unsigned IOCTL_CYGETTIMEOUT; +-extern unsigned IOCTL_CYSETDEFTHRESH; +-extern unsigned IOCTL_CYSETDEFTIMEOUT; +-extern unsigned IOCTL_CYSETTHRESH; +-extern unsigned IOCTL_CYSETTIMEOUT; + extern unsigned IOCTL_EQL_EMANCIPATE; + extern unsigned IOCTL_EQL_ENSLAVE; + extern unsigned IOCTL_EQL_GETMASTRCFG; +-- +2.27.0 + diff --git a/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch b/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch new file mode 100644 index 00000000000..5ac03d7c0c1 --- /dev/null +++ b/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch @@ -0,0 +1,31 @@ +From f80e9941739fb3973b61fc6a5abddef5ad2faf73 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Fri, 27 Mar 2020 21:23:53 +0100 +Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed + +The detection of pthread support fails on OpenRISC unless _REENTRANT +is defined. Added the CPP_SPEC definition to correct this. + +Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372 + +Signed-off-by: Bernd Kuhls +--- + gcc/config/or1k/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h +index cbdc781418f..36303af892c 100644 +--- a/gcc/config/or1k/linux.h ++++ b/gcc/config/or1k/linux.h +@@ -32,6 +32,8 @@ + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #undef LINK_SPEC + #define LINK_SPEC "%{h*} \ + %{static:-Bstatic} \ +-- +2.31.1 + diff --git a/package/gcc/11.3.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch b/package/gcc/11.3.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch new file mode 100644 index 00000000000..4888f7e3207 --- /dev/null +++ b/package/gcc/11.3.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch @@ -0,0 +1,200 @@ +From 7a20b4574f06472086c786bd1b078ee962cdb02c Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Tue, 6 Apr 2021 05:47:17 +0900 +Subject: [PATCH] or1k: Add mcmodel option to handle large GOTs + +When building libgeos we get an error with: + + linux-uclibc/9.3.0/crtbeginS.o: in function `__do_global_dtors_aux': + crtstuff.c:(.text+0x118): relocation truncated to fit: R_OR1K_GOT16 against symbol `__cxa_finalize' defined in .text section in + /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/host/or1k-buildroot-linux-uclibc/sysroot/lib/libc.so. + +This is caused by GOT code having a limit of 64k. In OpenRISC this +looks to be the only relocation code pattern to be limited to 64k. + +This patch allows specifying a new option -mcmodel=large which can be +used to generate 2 more instructions to construct 32-bit addresses for +up to 4G GOTs. + +gcc/ChangeLog: + + PR target/99783 + * config/or1k/or1k-opts.h: New file. + * config/or1k/or1k.c (or1k_legitimize_address_1, print_reloc): + Support generating gotha relocations if -mcmodel=large is + specified. + * config/or1k/or1k.h (TARGET_CMODEL_SMALL, TARGET_CMODEL_LARGE): + New macros. + * config/or1k/or1k.opt (mcmodel=): New option. + * doc/invoke.texi (OpenRISC Options): Document mcmodel. + +Signed-off-by: Giulio Benetti +--- + gcc/config/or1k/or1k-opts.h | 30 ++++++++++++++++++++++++++++++ + gcc/config/or1k/or1k.c | 11 +++++++++-- + gcc/config/or1k/or1k.h | 7 +++++++ + gcc/config/or1k/or1k.opt | 19 +++++++++++++++++++ + gcc/doc/invoke.texi | 12 +++++++++++- + 5 files changed, 76 insertions(+), 3 deletions(-) + create mode 100644 gcc/config/or1k/or1k-opts.h + +diff --git a/gcc/config/or1k/or1k-opts.h b/gcc/config/or1k/or1k-opts.h +new file mode 100644 +index 00000000000..f791b894fdd +--- /dev/null ++++ b/gcc/config/or1k/or1k-opts.h +@@ -0,0 +1,30 @@ ++/* Definitions for option handling for OpenRISC. ++ Copyright (C) 2021 Free Software Foundation, Inc. ++ Contributed by Stafford Horne. ++ ++ This file is part of GCC. ++ ++ GCC is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published ++ by the Free Software Foundation; either version 3, or (at your ++ option) any later version. ++ ++ GCC is distributed in the hope that it will be useful, but WITHOUT ++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public ++ License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . */ ++ ++#ifndef GCC_OR1K_OPTS_H ++#define GCC_OR1K_OPTS_H ++ ++/* The OpenRISC code generation models available. */ ++enum or1k_cmodel_type { ++ CMODEL_SMALL, ++ CMODEL_LARGE ++}; ++ ++#endif /* GCC_OR1K_OPTS_H */ +diff --git a/gcc/config/or1k/or1k.c b/gcc/config/or1k/or1k.c +index e772a7addea..27d3fa17995 100644 +--- a/gcc/config/or1k/or1k.c ++++ b/gcc/config/or1k/or1k.c +@@ -750,7 +750,14 @@ or1k_legitimize_address_1 (rtx x, rtx scratch) + { + base = gen_sym_unspec (base, UNSPEC_GOT); + crtl->uses_pic_offset_table = 1; +- t2 = gen_rtx_LO_SUM (Pmode, pic_offset_table_rtx, base); ++ if (TARGET_CMODEL_LARGE) ++ { ++ emit_insn (gen_rtx_SET (t1, gen_rtx_HIGH (Pmode, base))); ++ emit_insn (gen_add3_insn (t1, t1, pic_offset_table_rtx)); ++ t2 = gen_rtx_LO_SUM (Pmode, t1, base); ++ } ++ else ++ t2 = gen_rtx_LO_SUM (Pmode, pic_offset_table_rtx, base); + t2 = gen_const_mem (Pmode, t2); + emit_insn (gen_rtx_SET (t1, t2)); + base = t1; +@@ -1089,7 +1096,7 @@ print_reloc (FILE *stream, rtx x, HOST_WIDE_INT add, reloc_kind kind) + no special markup. */ + static const char * const relocs[RKIND_MAX][RTYPE_MAX] = { + { "lo", "got", "gotofflo", "tpofflo", "gottpofflo", "tlsgdlo" }, +- { "ha", NULL, "gotoffha", "tpoffha", "gottpoffha", "tlsgdhi" }, ++ { "ha", "gotha", "gotoffha", "tpoffha", "gottpoffha", "tlsgdhi" }, + }; + reloc_type type = RTYPE_DIRECT; + +diff --git a/gcc/config/or1k/or1k.h b/gcc/config/or1k/or1k.h +index fe01ab81ead..669907e7e74 100644 +--- a/gcc/config/or1k/or1k.h ++++ b/gcc/config/or1k/or1k.h +@@ -21,6 +21,8 @@ + #ifndef GCC_OR1K_H + #define GCC_OR1K_H + ++#include "config/or1k/or1k-opts.h" ++ + /* Names to predefine in the preprocessor for this target machine. */ + #define TARGET_CPU_CPP_BUILTINS() \ + do \ +@@ -37,6 +39,11 @@ + } \ + while (0) + ++#define TARGET_CMODEL_SMALL \ ++ (or1k_code_model == CMODEL_SMALL) ++#define TARGET_CMODEL_LARGE \ ++ (or1k_code_model == CMODEL_LARGE) ++ + /* Storage layout. */ + + #define DEFAULT_SIGNED_CHAR 1 +diff --git a/gcc/config/or1k/or1k.opt b/gcc/config/or1k/or1k.opt +index 6bd0f3eee6d..cc23e3b8856 100644 +--- a/gcc/config/or1k/or1k.opt ++++ b/gcc/config/or1k/or1k.opt +@@ -21,6 +21,9 @@ + ; See the GCC internals manual (options.texi) for a description of + ; this file's format. + ++HeaderInclude ++config/or1k/or1k-opts.h ++ + mhard-div + Target RejectNegative InverseMask(SOFT_DIV) + Enable generation of hardware divide (l.div, l.divu) instructions. This is the +@@ -63,6 +66,22 @@ When -mhard-float is selected, enables generation of unordered floating point + compare and set flag (lf.sfun*) instructions. By default functions from libgcc + are used to perform unordered floating point compare and set flag operations. + ++mcmodel= ++Target RejectNegative Joined Enum(or1k_cmodel_type) Var(or1k_code_model) Init(CMODEL_SMALL) ++Specify the code model used for accessing memory addresses. Specifying large ++enables generating binaries with large global offset tables. By default the ++value is small. ++ ++Enum ++Name(or1k_cmodel_type) Type(enum or1k_cmodel_type) ++Known code model types (for use with the -mcmodel= option): ++ ++EnumValue ++Enum(or1k_cmodel_type) String(small) Value(CMODEL_SMALL) ++ ++EnumValue ++Enum(or1k_cmodel_type) String(large) Value(CMODEL_LARGE) ++ + mcmov + Target RejectNegative Mask(CMOV) + Enable generation of conditional move (l.cmov) instructions. By default the +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index 35508efb4ef..a1b7608a3aa 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -1136,7 +1136,8 @@ Objective-C and Objective-C++ Dialects}. + @gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div @gol + -msoft-mul -msoft-div @gol + -msoft-float -mhard-float -mdouble-float -munordered-float @gol +--mcmov -mror -mrori -msext -msfimm -mshftimm} ++-mcmov -mror -mrori -msext -msfimm -mshftimm @gol ++-mcmodel=@var{code-model}} + + @emph{PDP-11 Options} + @gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol +@@ -26443,6 +26444,15 @@ Enable generation of shift with immediate (@code{l.srai}, @code{l.srli}, + @code{l.slli}) instructions. By default extra instructions will be generated + to store the immediate to a register first. + ++@item -mcmodel=small ++@opindex mcmodel=small ++Generate OpenRISC code for the small model: The GOT is limited to 64k. This is ++the default model. ++ ++@item -mcmodel=large ++@opindex mcmodel=large ++Generate OpenRISC code for the large model: The GOT may grow up to 4G in size. ++ + + @end table + +-- +2.35.1 + diff --git a/package/gcc/11.3.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch b/package/gcc/11.3.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch new file mode 100644 index 00000000000..716f007a24f --- /dev/null +++ b/package/gcc/11.3.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch @@ -0,0 +1,60 @@ +From c544a63928406b706b8493fd9b8ca2136b433cf0 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Wed, 21 Apr 2021 05:33:15 +0900 +Subject: [PATCH] or1k: Use cmodel=large when building crtstuff + +When linking gcc runtime objects into large binaries the link may fail +with the below errors. This will happen even if we are building with +-mcmodel=large. + + /home/shorne/work/openrisc/output/host/lib/gcc/or1k-buildroot-linux-uclibc/10.3.0/crtbeginS.o: in function `deregister_tm_clones': + crtstuff.c:(.text+0x3c): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_ITM_deregisterTMCloneTable' + /home/shorne/work/openrisc/output/host/lib/gcc/or1k-buildroot-linux-uclibc/10.3.0/crtbeginS.o: in function `register_tm_clones': + crtstuff.c:(.text+0xc0): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_ITM_registerTMCloneTable' + +This patch builds the gcc crtstuff binaries always with the +-mcmodel=large option to ensure they can be linked into large binaries. + +libgcc/ChangeLog: + + PR target/99783 + * config.host (or1k-*, tmake_file): Add or1k/t-crtstuff. + * config/or1k/t-crtstuff: New file. + +Signed-off-by: Giulio Benetti +--- + libgcc/config.host | 4 ++-- + libgcc/config/or1k/t-crtstuff | 2 ++ + 2 files changed, 4 insertions(+), 2 deletions(-) + create mode 100644 libgcc/config/or1k/t-crtstuff + +diff --git a/libgcc/config.host b/libgcc/config.host +index f2dc7e266f4..6f193c32fbd 100644 +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -1132,12 +1132,12 @@ nios2-*-*) + extra_parts="$extra_parts crti.o crtn.o" + ;; + or1k-*-linux*) +- tmake_file="$tmake_file or1k/t-or1k" ++ tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff" + tmake_file="$tmake_file t-softfp-sfdf t-softfp" + md_unwind_header=or1k/linux-unwind.h + ;; + or1k-*-*) +- tmake_file="$tmake_file or1k/t-or1k" ++ tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff" + tmake_file="$tmake_file t-softfp-sfdf t-softfp" + ;; + pdp11-*-*) +diff --git a/libgcc/config/or1k/t-crtstuff b/libgcc/config/or1k/t-crtstuff +new file mode 100644 +index 00000000000..dcae7f3498e +--- /dev/null ++++ b/libgcc/config/or1k/t-crtstuff +@@ -0,0 +1,2 @@ ++# Compile crtbeginS.o and crtendS.o with -mcmodel=large ++CRTSTUFF_T_CFLAGS_S += -mcmodel=large +-- +2.35.1 + diff --git a/package/gcc/11.3.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch b/package/gcc/11.3.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch new file mode 100644 index 00000000000..e33dec3ff6c --- /dev/null +++ b/package/gcc/11.3.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch @@ -0,0 +1,31 @@ +From 8ef5787701f4d7cf46a27771d38ab54af2499e25 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Fri, 27 Mar 2020 21:23:53 +0100 +Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed + +The detection of pthread support fails on OpenRISC unless _REENTRANT +is defined. Added the CPP_SPEC definition to correct this. + +Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372 + +Signed-off-by: Bernd Kuhls +--- + gcc/config/or1k/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h +index 196f3f3c8f0..0cbdc934af1 100644 +--- a/gcc/config/or1k/linux.h ++++ b/gcc/config/or1k/linux.h +@@ -32,6 +32,8 @@ + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #undef LINK_SPEC + #define LINK_SPEC "%{h*} \ + %{static:-Bstatic} \ +-- +2.35.1 + diff --git a/package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch b/package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch new file mode 100644 index 00000000000..b4c14acfeff --- /dev/null +++ b/package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch @@ -0,0 +1,123 @@ +From 29210b168cc458480f71b242ad964ecd79214e38 Mon Sep 17 00:00:00 2001 +From: Tamar Christina +Date: Fri, 21 May 2021 12:16:56 +0100 +Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer + +The Linux kernel has removed the interface to cyclades from +the latest kernel headers[1] due to them being orphaned for the +past 13 years. + +libsanitizer uses this header when compiling against glibc, but +glibcs itself doesn't seem to have any references to cyclades. + +Further more it seems that the driver is broken in the kernel and +the firmware doesn't seem to be available anymore. + +As such since this is breaking the build of libsanitizer (and so the +GCC bootstrap[2]) I propose to remove this. + +[1] https://lkml.org/lkml/2021/3/2/153 +[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 + +libsanitizer/ChangeLog: + + PR sanitizer/100379 + * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick + llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. + * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise. + * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. + +Signed-off-by: Maxim Kochetkov +--- + .../sanitizer_common_interceptors_ioctl.inc | 9 --------- + .../sanitizer_platform_limits_posix.cc | 11 ----------- + .../sanitizer_platform_limits_posix.h | 10 ---------- + 3 files changed, 30 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index a68534c5a0a..85ab53e7430 100755 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -361,15 +361,6 @@ static void ioctl_table_fill() { + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE +- _(CYGETDEFTHRESH, WRITE, sizeof(int)); +- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); +- _(CYGETTHRESH, WRITE, sizeof(int)); +- _(CYGETTIMEOUT, WRITE, sizeof(int)); +- _(CYSETDEFTHRESH, NONE, 0); +- _(CYSETDEFTIMEOUT, NONE, 0); +- _(CYSETTHRESH, NONE, 0); +- _(CYSETTIMEOUT, NONE, 0); + _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); + _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 5c720b2e700..17f2c78b389 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -157,7 +157,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -464,7 +463,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); +- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) + unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); + #else +@@ -831,15 +829,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; +- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; +- unsigned IOCTL_CYGETMON = CYGETMON; +- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; +- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; +- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; +- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; +- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; +- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; + unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; + unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; + unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index 9c1429623ab..9f05c4e9ea7 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -1004,7 +1004,6 @@ struct __sanitizer_cookie_io_functions_t { + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + extern unsigned struct_ax25_parms_struct_sz; +- extern unsigned struct_cyclades_monitor_sz; + extern unsigned struct_input_keymap_entry_sz; + extern unsigned struct_ipx_config_data_sz; + extern unsigned struct_kbdiacrs_sz; +@@ -1349,15 +1348,6 @@ struct __sanitizer_cookie_io_functions_t { + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- extern unsigned IOCTL_CYGETDEFTHRESH; +- extern unsigned IOCTL_CYGETDEFTIMEOUT; +- extern unsigned IOCTL_CYGETMON; +- extern unsigned IOCTL_CYGETTHRESH; +- extern unsigned IOCTL_CYGETTIMEOUT; +- extern unsigned IOCTL_CYSETDEFTHRESH; +- extern unsigned IOCTL_CYSETDEFTIMEOUT; +- extern unsigned IOCTL_CYSETTHRESH; +- extern unsigned IOCTL_CYSETTIMEOUT; + extern unsigned IOCTL_EQL_EMANCIPATE; + extern unsigned IOCTL_EQL_ENSLAVE; + extern unsigned IOCTL_EQL_GETMASTRCFG; +-- +2.31.1 + diff --git a/package/gcc/9.3.0/0001-xtensa-fix-PR-target-91880.patch b/package/gcc/9.3.0/0001-xtensa-fix-PR-target-91880.patch deleted file mode 100644 index 4e5aea2c7b3..00000000000 --- a/package/gcc/9.3.0/0001-xtensa-fix-PR-target-91880.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0a59aa440a4c125b81504c777b066ae4eb1f09f0 Mon Sep 17 00:00:00 2001 -From: Max Filippov -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 -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 -Signed-off-by: Romain Naour ---- -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 ee5612441e2..2527468d57d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -4235,7 +4235,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; -@@ -4256,7 +4258,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.24.1 - diff --git a/package/gcc/9.3.0/0002-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch b/package/gcc/9.3.0/0002-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch deleted file mode 100644 index e40b96fe0f9..00000000000 --- a/package/gcc/9.3.0/0002-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 1383012ae409ed91903b2b76ee15137bc1f89900 Mon Sep 17 00:00:00 2001 -From: shorne -Date: Sat, 31 Aug 2019 06:00:56 +0000 -Subject: [PATCH] or1k: Fix issue with set_got clobbering LR (r9) - -When compiling glibc we found that the GOT register was being allocated -r9 when the instruction was still set_got_tmp. That is a problem -because r9 is the Link Register (LR) in OpenRISC which is used/clobbered -in set_got. We cannot use r9 as the GOT register. Also, we cannot -simply say set_got_tmp clobbers r9 as this is the reason for having the -temporary set_got_tmp. - -Fix by using a register class constraint that does not allow r9 during -register allocation. - -gcc/ChangeLog: - - * config/or1k/constraints.md (t): New constraint. - * config/or1k/or1k.h (GOT_REGS): New register class. - * config/or1k/or1k.md (set_got_tmp, set_got): Use t contraint. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@275242 138bc75d-0d04-0410-961f-82ee72b054a4 -(cherry picked from commit 5b9471ffca25d39635680516ba2ff85295480fc3) -Signed-off-by: Romain Naour ---- - gcc/config/or1k/constraints.md | 4 ++++ - gcc/config/or1k/or1k.h | 3 +++ - gcc/config/or1k/or1k.md | 4 ++-- - 3 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/or1k/constraints.md b/gcc/config/or1k/constraints.md -index 93da8c058c6..a16b749008f 100644 ---- a/gcc/config/or1k/constraints.md -+++ b/gcc/config/or1k/constraints.md -@@ -24,6 +24,7 @@ - - ; We use: - ; c - sibcall registers -+; t - got address registers (excludes LR (r9) which is clobbered by set_got) - ; I - constant signed 16-bit - ; K - constant unsigned 16-bit - ; M - constant signed 16-bit shifted left 16-bits (l.movhi) -@@ -32,6 +33,9 @@ - (define_register_constraint "c" "SIBCALL_REGS" - "Registers which can hold a sibling call address") - -+(define_register_constraint "t" "GOT_REGS" -+ "Registers which can be used to store the Global Offset Table (GOT) address.") -+ - ;; Immediates - (define_constraint "I" - "A signed 16-bit immediate in the range -32768 to 32767." -diff --git a/gcc/config/or1k/or1k.h b/gcc/config/or1k/or1k.h -index 6dda230f217..feee702d89c 100644 ---- a/gcc/config/or1k/or1k.h -+++ b/gcc/config/or1k/or1k.h -@@ -189,6 +189,7 @@ enum reg_class - { - NO_REGS, - SIBCALL_REGS, -+ GOT_REGS, - GENERAL_REGS, - FLAG_REGS, - ALL_REGS, -@@ -200,6 +201,7 @@ enum reg_class - #define REG_CLASS_NAMES { \ - "NO_REGS", \ - "SIBCALL_REGS", \ -+ "GOT_REGS", \ - "GENERAL_REGS", \ - "FLAG_REGS", \ - "ALL_REGS" } -@@ -212,6 +214,7 @@ enum reg_class - #define REG_CLASS_CONTENTS \ - { { 0x00000000, 0x00000000 }, \ - { SIBCALL_REGS_MASK, 0 }, \ -+ { 0xfffffdff, 0x00000000 }, \ - { 0xffffffff, 0x00000003 }, \ - { 0x00000000, 0x00000004 }, \ - { 0xffffffff, 0x00000007 } \ -diff --git a/gcc/config/or1k/or1k.md b/gcc/config/or1k/or1k.md -index 2dad51cd46b..88f3f02630f 100644 ---- a/gcc/config/or1k/or1k.md -+++ b/gcc/config/or1k/or1k.md -@@ -595,7 +595,7 @@ - ;; set_got pattern below. This works because the set_got_tmp insn is the - ;; first insn in the stream and that it isn't moved during RA. - (define_insn "set_got_tmp" -- [(set (match_operand:SI 0 "register_operand" "=r") -+ [(set (match_operand:SI 0 "register_operand" "=t") - (unspec_volatile:SI [(const_int 0)] UNSPECV_SET_GOT))] - "" - { -@@ -604,7 +604,7 @@ - - ;; The insn to initialize the GOT. - (define_insn "set_got" -- [(set (match_operand:SI 0 "register_operand" "=r") -+ [(set (match_operand:SI 0 "register_operand" "=t") - (unspec:SI [(const_int 0)] UNSPEC_SET_GOT)) - (clobber (reg:SI LR_REGNUM))] - "" --- -2.24.1 - diff --git a/package/gcc/9.3.0/0003-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch b/package/gcc/9.3.0/0003-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch deleted file mode 100644 index 3ff64b71f83..00000000000 --- a/package/gcc/9.3.0/0003-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2aefc4ee703ce3ff70ad25915005cacfbaae0c49 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 27 Mar 2020 21:23:53 +0100 -Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed - -The detection of pthread support fails on OpenRISC unless _REENTRANT -is defined. Added the CPP_SPEC definition to correct this. - -Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372 - -Signed-off-by: Bernd Kuhls ---- - gcc/config/or1k/linux.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h -index 4b2f7b6e1fd..b00d23ddfa0 100644 ---- a/gcc/config/or1k/linux.h -+++ b/gcc/config/or1k/linux.h -@@ -32,6 +32,8 @@ - #undef MUSL_DYNAMIC_LINKER - #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1" - -+#define CPP_SPEC "%{pthread:-D_REENTRANT}" -+ - #undef LINK_SPEC - #define LINK_SPEC "%{h*} \ - %{static:-Bstatic} \ --- -2.21.0 - diff --git a/package/gcc/9.3.0/0004-gcc-Makefile.in-move-SELFTEST_DEPS-before-including-.patch b/package/gcc/9.3.0/0004-gcc-Makefile.in-move-SELFTEST_DEPS-before-including-.patch deleted file mode 100644 index 227d35a7f05..00000000000 --- a/package/gcc/9.3.0/0004-gcc-Makefile.in-move-SELFTEST_DEPS-before-including-.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 811c8d628045c3d248144fc560a4bf80209ca16e Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Thu, 21 May 2020 15:58:02 +0200 -Subject: [PATCH] gcc/Makefile.in: move SELFTEST_DEPS before including language - makefile fragments - -As reported by several Buildroot users [1][2][3], the gcc build -may fail while running selftests makefile target. - -The problem only occurs when ccache is used with gcc 9 and 10, -probably due to a race condition. - -While debuging with "make -p" we can notice that s-selftest-c target -contain only "cc1" as dependency instead of cc1 and SELFTEST_DEPS [4]. - - s-selftest-c: cc1 - -While the build is failing, the s-selftest-c dependencies recipe is -still running and reported as a bug by make. - - "Dependencies recipe running (THIS IS A BUG)." - -A change [5] in gcc 9 seems to introduce the problem since we can't -reproduce this problem with gcc 8. - -As suggested by Yann E. MORIN [6], move SELFTEST_DEPS before -including language makefile fragments. - -With the fix applied, the s-seltest-c dependency contains -SELFTEST_DEPS value. - - s-selftest-c: cc1 xgcc specs stmp-int-hdrs ../../gcc/testsuite/selftests - -[1] http://lists.busybox.net/pipermail/buildroot/2020-May/282171.html -[2] http://lists.busybox.net/pipermail/buildroot/2020-May/282766.html -[3] https://github.com/cirosantilli/linux-kernel-module-cheat/issues/108 -[4] https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/c/Make-lang.in;h=bfae6fd2549c4f728816cd355fa9739dcc08fcde;hb=033eb5671769a4c681a44aad08a454e667e08502#l120 -[5] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=033eb5671769a4c681a44aad08a454e667e08502 -[6] http://lists.busybox.net/pipermail/buildroot/2020-May/283213.html - -Upstream status: https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546248.html - -Signed-off-by: Romain Naour -Cc: Ben Dakin-Norris -Cc: Maxim Kochetkov -Cc: Thomas Petazzoni -Cc: Yann E. MORIN -Cc: Cc: David Malcolm ---- -This patch should be backported to gcc 10 and gcc 9. ---- - gcc/Makefile.in | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index abae872cd63..e2ef3c46afc 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1686,6 +1686,10 @@ $(FULL_DRIVER_NAME): ./xgcc - rm -f $@ - $(LN_S) $< $@ - -+# SELFTEST_DEPS need to be set before including language makefile fragments. -+# Otherwise $(SELFTEST_DEPS) is empty when used from various /Make-lang.in. -+SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests -+ - # - # Language makefile fragments. - -@@ -1950,8 +1954,6 @@ DEVNULL=$(if $(findstring mingw,$(build)),nul,/dev/null) - SELFTEST_FLAGS = -nostdinc $(DEVNULL) -S -o $(DEVNULL) \ - -fself-test=$(srcdir)/testsuite/selftests - --SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests -- - # Run the selftests during the build once we have a driver and the frontend, - # so that self-test failures are caught as early as possible. - # Use "s-selftest-FE" to ensure that we only run the selftests if the --- -2.25.4 - diff --git a/package/gcc/9.3.0/0005-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/package/gcc/9.3.0/0005-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch deleted file mode 100644 index 8ed281e9816..00000000000 --- a/package/gcc/9.3.0/0005-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch +++ /dev/null @@ -1,325 +0,0 @@ -From 0d7fe4806d9dce76367c193d5199df6a2b98009f Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 20 Jan 2021 23:22:16 +0100 -Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 - -mcpu=niagara2 -fPIE)" - -This reverts commit 6bf2990842388101897b6f465524cbc295ee8cf9. - -Building the Buildroot defconfig qemu_sparc_ss10_defconfig using -gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal -instruction messages. - -gcc 8.3, 9.2 are the latest working gcc version. -git bisect between gcc 8.4 and 8.4 allowed to identify -the commit that introcuce the regression. - -Reverting this patch allowed to produce a working rootfs. - -Signed-off-by: Romain Naour -Cc: Eric Botcazou ---- - gcc/config/sparc/sparc-protos.h | 1 - - gcc/config/sparc/sparc.c | 121 +++++++----------- - gcc/config/sparc/sparc.md | 5 +- - .../gcc.c-torture/compile/20191108-1.c | 14 -- - gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +- - gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +- - gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +- - 7 files changed, 53 insertions(+), 94 deletions(-) - delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c - -diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h -index ef1adb69ede..9bdae7b9faa 100644 ---- a/gcc/config/sparc/sparc-protos.h -+++ b/gcc/config/sparc/sparc-protos.h -@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); - 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 --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c -index a993aab7639..2974d174e93 100644 ---- a/gcc/config/sparc/sparc.c -+++ b/gcc/config/sparc/sparc.c -@@ -4205,6 +4205,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) - 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: -@@ -4240,11 +4247,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) - } - - /* 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. */ - -@@ -4257,6 +4262,27 @@ sparc_got (void) - 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 -@@ -4276,78 +4302,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) - 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. */ -@@ -5512,7 +5490,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) - 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 -@@ -12555,9 +12533,10 @@ static void - 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 -@@ -12594,22 +12573,17 @@ sparc_file_end (void) - #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 - } - -@@ -13115,10 +13089,7 @@ sparc_init_pic_reg (void) - 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 --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md -index 0a6e27ffa83..7af62d599b9 100644 ---- a/gcc/config/sparc/sparc.md -+++ b/gcc/config/sparc/sparc.md -@@ -1604,7 +1604,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 --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c -deleted file mode 100644 -index 7929751bb06..00000000000 ---- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c -+++ /dev/null -@@ -1,14 +0,0 @@ --/* PR target/92095 */ --/* Testcase by Sergei Trofimovich */ -- --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 --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c -index 52d6ab2b688..86dddfb09e6 100644 ---- a/gcc/testsuite/gcc.target/sparc/overflow-3.c -+++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-require-effective-target lp64 } */ --/* { dg-options "-O -fno-pie" } */ -+/* { dg-options "-O" } */ - - #include - #include -diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c -index c6121b958c3..019feee335c 100644 ---- a/gcc/testsuite/gcc.target/sparc/overflow-4.c -+++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c -@@ -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 - #include -diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c -index f00283f6e7b..67d4ac38095 100644 ---- a/gcc/testsuite/gcc.target/sparc/overflow-5.c -+++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-require-effective-target lp64 } */ --/* { dg-options "-O -fno-pie -mvis3" } */ -+/* { dg-options "-O -mvis3" } */ - - #include - #include --- -2.25.4 - diff --git a/package/gcc/9.4.0/0001-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch b/package/gcc/9.4.0/0001-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch new file mode 100644 index 00000000000..185e16c179f --- /dev/null +++ b/package/gcc/9.4.0/0001-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch @@ -0,0 +1,105 @@ +From 014db5e5febec94e35c13ce89ee6b389328873a1 Mon Sep 17 00:00:00 2001 +From: shorne +Date: Sat, 31 Aug 2019 06:00:56 +0000 +Subject: [PATCH] or1k: Fix issue with set_got clobbering LR (r9) + +When compiling glibc we found that the GOT register was being allocated +r9 when the instruction was still set_got_tmp. That is a problem +because r9 is the Link Register (LR) in OpenRISC which is used/clobbered +in set_got. We cannot use r9 as the GOT register. Also, we cannot +simply say set_got_tmp clobbers r9 as this is the reason for having the +temporary set_got_tmp. + +Fix by using a register class constraint that does not allow r9 during +register allocation. + +gcc/ChangeLog: + + * config/or1k/constraints.md (t): New constraint. + * config/or1k/or1k.h (GOT_REGS): New register class. + * config/or1k/or1k.md (set_got_tmp, set_got): Use t contraint. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@275242 138bc75d-0d04-0410-961f-82ee72b054a4 +(cherry picked from commit 5b9471ffca25d39635680516ba2ff85295480fc3) +Signed-off-by: Romain Naour +--- + gcc/config/or1k/constraints.md | 4 ++++ + gcc/config/or1k/or1k.h | 3 +++ + gcc/config/or1k/or1k.md | 4 ++-- + 3 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/or1k/constraints.md b/gcc/config/or1k/constraints.md +index 93da8c058c6..a16b749008f 100644 +--- a/gcc/config/or1k/constraints.md ++++ b/gcc/config/or1k/constraints.md +@@ -24,6 +24,7 @@ + + ; We use: + ; c - sibcall registers ++; t - got address registers (excludes LR (r9) which is clobbered by set_got) + ; I - constant signed 16-bit + ; K - constant unsigned 16-bit + ; M - constant signed 16-bit shifted left 16-bits (l.movhi) +@@ -32,6 +33,9 @@ + (define_register_constraint "c" "SIBCALL_REGS" + "Registers which can hold a sibling call address") + ++(define_register_constraint "t" "GOT_REGS" ++ "Registers which can be used to store the Global Offset Table (GOT) address.") ++ + ;; Immediates + (define_constraint "I" + "A signed 16-bit immediate in the range -32768 to 32767." +diff --git a/gcc/config/or1k/or1k.h b/gcc/config/or1k/or1k.h +index 6dda230f217..feee702d89c 100644 +--- a/gcc/config/or1k/or1k.h ++++ b/gcc/config/or1k/or1k.h +@@ -189,6 +189,7 @@ enum reg_class + { + NO_REGS, + SIBCALL_REGS, ++ GOT_REGS, + GENERAL_REGS, + FLAG_REGS, + ALL_REGS, +@@ -200,6 +201,7 @@ enum reg_class + #define REG_CLASS_NAMES { \ + "NO_REGS", \ + "SIBCALL_REGS", \ ++ "GOT_REGS", \ + "GENERAL_REGS", \ + "FLAG_REGS", \ + "ALL_REGS" } +@@ -212,6 +214,7 @@ enum reg_class + #define REG_CLASS_CONTENTS \ + { { 0x00000000, 0x00000000 }, \ + { SIBCALL_REGS_MASK, 0 }, \ ++ { 0xfffffdff, 0x00000000 }, \ + { 0xffffffff, 0x00000003 }, \ + { 0x00000000, 0x00000004 }, \ + { 0xffffffff, 0x00000007 } \ +diff --git a/gcc/config/or1k/or1k.md b/gcc/config/or1k/or1k.md +index 2dad51cd46b..88f3f02630f 100644 +--- a/gcc/config/or1k/or1k.md ++++ b/gcc/config/or1k/or1k.md +@@ -595,7 +595,7 @@ + ;; set_got pattern below. This works because the set_got_tmp insn is the + ;; first insn in the stream and that it isn't moved during RA. + (define_insn "set_got_tmp" +- [(set (match_operand:SI 0 "register_operand" "=r") ++ [(set (match_operand:SI 0 "register_operand" "=t") + (unspec_volatile:SI [(const_int 0)] UNSPECV_SET_GOT))] + "" + { +@@ -604,7 +604,7 @@ + + ;; The insn to initialize the GOT. + (define_insn "set_got" +- [(set (match_operand:SI 0 "register_operand" "=r") ++ [(set (match_operand:SI 0 "register_operand" "=t") + (unspec:SI [(const_int 0)] UNSPEC_SET_GOT)) + (clobber (reg:SI LR_REGNUM))] + "" +-- +2.31.1 + diff --git a/package/gcc/9.4.0/0002-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch b/package/gcc/9.4.0/0002-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch new file mode 100644 index 00000000000..5ac03d7c0c1 --- /dev/null +++ b/package/gcc/9.4.0/0002-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch @@ -0,0 +1,31 @@ +From f80e9941739fb3973b61fc6a5abddef5ad2faf73 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Fri, 27 Mar 2020 21:23:53 +0100 +Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed + +The detection of pthread support fails on OpenRISC unless _REENTRANT +is defined. Added the CPP_SPEC definition to correct this. + +Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372 + +Signed-off-by: Bernd Kuhls +--- + gcc/config/or1k/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h +index cbdc781418f..36303af892c 100644 +--- a/gcc/config/or1k/linux.h ++++ b/gcc/config/or1k/linux.h +@@ -32,6 +32,8 @@ + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #undef LINK_SPEC + #define LINK_SPEC "%{h*} \ + %{static:-Bstatic} \ +-- +2.31.1 + diff --git a/package/gcc/9.4.0/0003-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/package/gcc/9.4.0/0003-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch new file mode 100644 index 00000000000..0c69de93bef --- /dev/null +++ b/package/gcc/9.4.0/0003-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch @@ -0,0 +1,325 @@ +From 1107ecc3e8af31adc7bbd4e08c0614836bd1cebd Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 20 Jan 2021 23:22:16 +0100 +Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 + -mcpu=niagara2 -fPIE)" + +This reverts commit 6bf2990842388101897b6f465524cbc295ee8cf9. + +Building the Buildroot defconfig qemu_sparc_ss10_defconfig using +gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal +instruction messages. + +gcc 8.3, 9.2 are the latest working gcc version. +git bisect between gcc 8.4 and 8.4 allowed to identify +the commit that introcuce the regression. + +Reverting this patch allowed to produce a working rootfs. + +Signed-off-by: Romain Naour +Cc: Eric Botcazou +--- + gcc/config/sparc/sparc-protos.h | 1 - + gcc/config/sparc/sparc.c | 121 +++++++----------- + gcc/config/sparc/sparc.md | 5 +- + .../gcc.c-torture/compile/20191108-1.c | 14 -- + gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +- + 7 files changed, 53 insertions(+), 94 deletions(-) + delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c + +diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h +index f1c120c4860..f4b6f00a7b1 100644 +--- a/gcc/config/sparc/sparc-protos.h ++++ b/gcc/config/sparc/sparc-protos.h +@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); + 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 --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c +index 0553dc501e6..516dcf96d7b 100644 +--- a/gcc/config/sparc/sparc.c ++++ b/gcc/config/sparc/sparc.c +@@ -4170,6 +4170,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) + 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: +@@ -4205,11 +4212,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) + } + + /* 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. */ + +@@ -4222,6 +4227,27 @@ sparc_got (void) + 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 +@@ -4241,78 +4267,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) + 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. */ +@@ -5477,7 +5455,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) + 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 +@@ -12520,9 +12498,10 @@ static void + 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 +@@ -12559,22 +12538,17 @@ sparc_file_end (void) + #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 + } + +@@ -13080,10 +13054,7 @@ sparc_init_pic_reg (void) + 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 --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md +index d9ef79c13cc..6dbd054f1c7 100644 +--- a/gcc/config/sparc/sparc.md ++++ b/gcc/config/sparc/sparc.md +@@ -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 --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c +deleted file mode 100644 +index 7929751bb06..00000000000 +--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c ++++ /dev/null +@@ -1,14 +0,0 @@ +-/* PR target/92095 */ +-/* Testcase by Sergei Trofimovich */ +- +-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 --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c +index 52d6ab2b688..86dddfb09e6 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie" } */ ++/* { dg-options "-O" } */ + + #include + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c +index c6121b958c3..019feee335c 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c +@@ -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 + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c +index f00283f6e7b..67d4ac38095 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie -mvis3" } */ ++/* { dg-options "-O -mvis3" } */ + + #include + #include +-- +2.31.1 + diff --git a/package/gcc/9.4.0/0004-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch b/package/gcc/9.4.0/0004-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch new file mode 100644 index 00000000000..894411f3940 --- /dev/null +++ b/package/gcc/9.4.0/0004-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch @@ -0,0 +1,201 @@ +From 90b202b59fa2bdb68314a23471b32d3e16602bc8 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:11:44 +0900 +Subject: [PATCH] or1k: Add mcmodel option to handle large GOTs + +When building libgeos we get an error with: + + linux-uclibc/9.3.0/crtbeginS.o: in function `__do_global_dtors_aux': + crtstuff.c:(.text+0x118): relocation truncated to fit: R_OR1K_GOT16 against symbol `__cxa_finalize' defined in .text section in + /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/host/or1k-buildroot-linux-uclibc/sysroot/lib/libc.so. + +This is caused by GOT code having a limit of 64k. In OpenRISC this +looks to be the only relocation code pattern to be limited to 64k. + +This patch allows specifying a new option -mcmodel=large which can be +used to generate 2 more instructions to construct 32-bit addresses for +up to 4G GOTs. + +gcc/ChangeLog: + + PR 99783 + * config/or1k/or1k-opts.h: New file. + * config/or1k/or1k.c (or1k_legitimize_address_1, print_reloc): + Support generating gotha relocations if -mcmodel=large is + specified. + * config/or1k/or1k.h (TARGET_CMODEL_SMALL, TARGET_CMODEL_LARGE): + New macros. + * config/or1k/or1k.opt (mcmodel=): New option. + * doc/invoke.text (OpenRISC Options): Document mcmodel. + +Signed-off-by: Giulio Benetti +--- + gcc/config/or1k/or1k-opts.h | 30 ++++++++++++++++++++++++++++++ + gcc/config/or1k/or1k.c | 11 +++++++++-- + gcc/config/or1k/or1k.h | 7 +++++++ + gcc/config/or1k/or1k.opt | 19 +++++++++++++++++++ + gcc/doc/invoke.texi | 13 ++++++++++++- + 5 files changed, 77 insertions(+), 3 deletions(-) + create mode 100644 gcc/config/or1k/or1k-opts.h + +diff --git a/gcc/config/or1k/or1k-opts.h b/gcc/config/or1k/or1k-opts.h +new file mode 100644 +index 00000000000..f791b894fdd +--- /dev/null ++++ b/gcc/config/or1k/or1k-opts.h +@@ -0,0 +1,30 @@ ++/* Definitions for option handling for OpenRISC. ++ Copyright (C) 2021 Free Software Foundation, Inc. ++ Contributed by Stafford Horne. ++ ++ This file is part of GCC. ++ ++ GCC is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published ++ by the Free Software Foundation; either version 3, or (at your ++ option) any later version. ++ ++ GCC is distributed in the hope that it will be useful, but WITHOUT ++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public ++ License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . */ ++ ++#ifndef GCC_OR1K_OPTS_H ++#define GCC_OR1K_OPTS_H ++ ++/* The OpenRISC code generation models available. */ ++enum or1k_cmodel_type { ++ CMODEL_SMALL, ++ CMODEL_LARGE ++}; ++ ++#endif /* GCC_OR1K_OPTS_H */ +diff --git a/gcc/config/or1k/or1k.c b/gcc/config/or1k/or1k.c +index fc10fcfabde..df67d72b139 100644 +--- a/gcc/config/or1k/or1k.c ++++ b/gcc/config/or1k/or1k.c +@@ -750,7 +750,14 @@ or1k_legitimize_address_1 (rtx x, rtx scratch) + { + base = gen_sym_unspec (base, UNSPEC_GOT); + crtl->uses_pic_offset_table = 1; +- t2 = gen_rtx_LO_SUM (Pmode, pic_offset_table_rtx, base); ++ if (TARGET_CMODEL_LARGE) ++ { ++ emit_insn (gen_rtx_SET (t1, gen_rtx_HIGH (Pmode, base))); ++ emit_insn (gen_add3_insn (t1, t1, pic_offset_table_rtx)); ++ t2 = gen_rtx_LO_SUM (Pmode, t1, base); ++ } ++ else ++ t2 = gen_rtx_LO_SUM (Pmode, pic_offset_table_rtx, base); + t2 = gen_const_mem (Pmode, t2); + emit_insn (gen_rtx_SET (t1, t2)); + base = t1; +@@ -1097,7 +1104,7 @@ print_reloc (FILE *stream, rtx x, HOST_WIDE_INT add, reloc_kind kind) + no special markup. */ + static const char * const relocs[RKIND_MAX][RTYPE_MAX] = { + { "lo", "got", "gotofflo", "tpofflo", "gottpofflo", "tlsgdlo" }, +- { "ha", NULL, "gotoffha", "tpoffha", "gottpoffha", "tlsgdhi" }, ++ { "ha", "gotha", "gotoffha", "tpoffha", "gottpoffha", "tlsgdhi" }, + }; + reloc_type type = RTYPE_DIRECT; + +diff --git a/gcc/config/or1k/or1k.h b/gcc/config/or1k/or1k.h +index feee702d89c..dbaf0d0fe4c 100644 +--- a/gcc/config/or1k/or1k.h ++++ b/gcc/config/or1k/or1k.h +@@ -21,6 +21,8 @@ + #ifndef GCC_OR1K_H + #define GCC_OR1K_H + ++#include "config/or1k/or1k-opts.h" ++ + /* Names to predefine in the preprocessor for this target machine. */ + #define TARGET_CPU_CPP_BUILTINS() \ + do \ +@@ -35,6 +37,11 @@ + } \ + while (0) + ++#define TARGET_CMODEL_SMALL \ ++ (or1k_code_model == CMODEL_SMALL) ++#define TARGET_CMODEL_LARGE \ ++ (or1k_code_model == CMODEL_LARGE) ++ + /* Storage layout. */ + + #define DEFAULT_SIGNED_CHAR 1 +diff --git a/gcc/config/or1k/or1k.opt b/gcc/config/or1k/or1k.opt +index 7bdbd842dd4..116524c3441 100644 +--- a/gcc/config/or1k/or1k.opt ++++ b/gcc/config/or1k/or1k.opt +@@ -23,6 +23,9 @@ + + ; Please try to keep this file in ASCII collating order. + ++HeaderInclude ++config/or1k/or1k-opts.h ++ + mhard-div + Target RejectNegative InverseMask(SOFT_DIV) + Use hardware divide instructions, use -msoft-div for emulation. +@@ -31,6 +34,22 @@ mhard-mul + Target RejectNegative InverseMask(SOFT_MUL). + Use hardware multiply instructions, use -msoft-mul for emulation. + ++mcmodel= ++Target RejectNegative Joined Enum(or1k_cmodel_type) Var(or1k_code_model) Init(CMODEL_SMALL) ++Specify the code model used for accessing memory addresses. Specifying large ++enables generating binaries with large global offset tables. By default the ++value is small. ++ ++Enum ++Name(or1k_cmodel_type) Type(enum or1k_cmodel_type) ++Known code model types (for use with the -mcmodel= option): ++ ++EnumValue ++Enum(or1k_cmodel_type) String(small) Value(CMODEL_SMALL) ++ ++EnumValue ++Enum(or1k_cmodel_type) String(large) Value(CMODEL_LARGE) ++ + mcmov + Target RejectNegative Mask(CMOV) + Allows generation of binaries which use the l.cmov instruction. If your target +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index 7b5f6e03d9f..683c64417af 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -1032,7 +1032,9 @@ Objective-C and Objective-C++ Dialects}. + @emph{OpenRISC Options} + @gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div @gol + -msoft-mul -msoft-div @gol +--mcmov -mror -msext -msfimm -mshftimm} ++-mcmov -mror -mrori -msext -msfimm -mshftimm @gol ++-mcmodel=@var{code-model}} ++ + + @emph{PDP-11 Options} + @gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol +@@ -27462,6 +27464,15 @@ MWAITX, SHA, CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, + SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, and 64-bit + instruction set extensions.) + ++@item -mcmodel=small ++@opindex mcmodel=small ++Generate OpenRISC code for the small model: The GOT is limited to 64k. This is ++the default model. ++ ++@item -mcmodel=large ++@opindex mcmodel=large ++Generate OpenRISC code for the large model: The GOT may grow up to 4G in size. ++ + + @item btver1 + CPUs based on AMD Family 14h cores with x86-64 instruction set support. (This +-- +2.31.1 + diff --git a/package/gcc/9.4.0/0005-or1k-Use-cmodel-large-when-building-crtstuff.patch b/package/gcc/9.4.0/0005-or1k-Use-cmodel-large-when-building-crtstuff.patch new file mode 100644 index 00000000000..69d143349a9 --- /dev/null +++ b/package/gcc/9.4.0/0005-or1k-Use-cmodel-large-when-building-crtstuff.patch @@ -0,0 +1,60 @@ +From d64a757040fe36b0d9dc65d24107c656f66bc8e5 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Sun, 2 May 2021 06:11:45 +0900 +Subject: [PATCH] or1k: Use cmodel=large when building crtstuff + +When linking gcc runtime objects into large binaries the link may fail +with the below errors. This will happen even if we are building with +-mcmodel=large. + + /home/shorne/work/openrisc/output/host/lib/gcc/or1k-buildroot-linux-uclibc/10.3.0/crtbeginS.o: in function `deregister_tm_clones': + crtstuff.c:(.text+0x3c): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_ITM_deregisterTMCloneTable' + /home/shorne/work/openrisc/output/host/lib/gcc/or1k-buildroot-linux-uclibc/10.3.0/crtbeginS.o: in function `register_tm_clones': + crtstuff.c:(.text+0xc0): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_ITM_registerTMCloneTable' + +This patch builds the gcc crtstuff binaries always with the +-mcmodel=large option to ensure they can be linked into large binaries. + +libgcc/ChangeLog: + + PR 99783 + * config.host (or1k-*, tmake_file): Add or1k/t-crtstuff. + * config/or1k/t-crtstuff: New file. + +Signed-off-by: Giulio Benetti +--- + libgcc/config.host | 4 ++-- + libgcc/config/or1k/t-crtstuff | 2 ++ + 2 files changed, 4 insertions(+), 2 deletions(-) + create mode 100644 libgcc/config/or1k/t-crtstuff + +diff --git a/libgcc/config.host b/libgcc/config.host +index bdbf77a3e62..bfb45a90630 100644 +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -1061,12 +1061,12 @@ nios2-*-*) + extra_parts="$extra_parts crti.o crtn.o" + ;; + or1k-*-linux*) +- tmake_file="$tmake_file or1k/t-or1k" ++ tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff" + tmake_file="$tmake_file t-softfp-sfdf t-softfp" + md_unwind_header=or1k/linux-unwind.h + ;; + or1k-*-*) +- tmake_file="$tmake_file or1k/t-or1k" ++ tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff" + tmake_file="$tmake_file t-softfp-sfdf t-softfp" + ;; + pdp11-*-*) +diff --git a/libgcc/config/or1k/t-crtstuff b/libgcc/config/or1k/t-crtstuff +new file mode 100644 +index 00000000000..dcae7f3498e +--- /dev/null ++++ b/libgcc/config/or1k/t-crtstuff +@@ -0,0 +1,2 @@ ++# Compile crtbeginS.o and crtendS.o with -mcmodel=large ++CRTSTUFF_T_CFLAGS_S += -mcmodel=large +-- +2.31.1 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index 2ed159314cd..2b12035c4b7 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -3,8 +3,8 @@ comment "GCC Options" choice prompt "GCC compiler Version" default BR2_GCC_VERSION_ARC if BR2_arc - default BR2_GCC_VERSION_CSKY if BR2_csky - default BR2_GCC_VERSION_9_X + default BR2_GCC_VERSION_POWERPC_SPE if BR2_powerpc_SPE + default BR2_GCC_VERSION_10_X help Select the version of gcc you wish to use. @@ -12,19 +12,13 @@ config BR2_GCC_VERSION_ARC bool "gcc arc (10.x)" # Only supported architecture depends on BR2_arc - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 -config BR2_GCC_VERSION_CSKY - bool "gcc csky" - # Only supported architecture - depends on BR2_csky - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - -config BR2_GCC_VERSION_8_X - bool "gcc 8.x" - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9 - # Broken or unsupported architectures - depends on !BR2_or1k +config BR2_GCC_VERSION_POWERPC_SPE + bool "gcc powerpc spe" + # powerpc spe support has been deprecated since gcc 8.x. + # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html + depends on BR2_powerpc_SPE select BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_GCC_VERSION_9_X @@ -37,10 +31,13 @@ config BR2_GCC_VERSION_9_X # upstream gcc. C-SKY gcc upstream support not tested # with upstream binutils and glibc. depends on !BR2_csky + # ARC HS48 rel 31 only supported by gcc arc fork. + depends on !BR2_archs4x_rel31 select BR2_TOOLCHAIN_GCC_AT_LEAST_9 config BR2_GCC_VERSION_10_X bool "gcc 10.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 # powerpc spe support has been deprecated since gcc 8.x. # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html depends on !BR2_powerpc_SPE @@ -48,8 +45,23 @@ config BR2_GCC_VERSION_10_X # upstream gcc. C-SKY gcc upstream support not tested # with upstream binutils and glibc. depends on !BR2_csky + # ARC HS48 rel 31 only supported by gcc arc fork. + depends on !BR2_archs4x_rel31 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 +config BR2_GCC_VERSION_11_X + bool "gcc 11.x" + # powerpc spe support has been deprecated since gcc 8.x. + # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html + depends on !BR2_powerpc_SPE + # uClibc-ng broken on sparc due to recent gcc changes + # that need to be reverted since gcc 8.4, 9.3 and 10.1. + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98784 + depends on !BR2_sparc + # ARC HS48 rel 31 only supported by gcc arc fork. + depends on !BR2_archs4x_rel31 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + endchoice # libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x @@ -72,11 +84,11 @@ config BR2_GCC_SUPPORTS_DLANG config BR2_GCC_VERSION string - default "8.4.0" if BR2_GCC_VERSION_8_X - default "9.3.0" if BR2_GCC_VERSION_9_X - default "10.2.0" if BR2_GCC_VERSION_10_X + default "8.4.0" if BR2_GCC_VERSION_POWERPC_SPE + default "9.4.0" if BR2_GCC_VERSION_9_X + default "10.3.0" if BR2_GCC_VERSION_10_X + default "11.3.0" if BR2_GCC_VERSION_11_X default "arc-2020.09-release" if BR2_GCC_VERSION_ARC - default "48152afb96c59733d5bc79e3399bb7b3d4b44266" if BR2_GCC_VERSION_CSKY config BR2_EXTRA_GCC_CONFIG_OPTIONS string "Additional gcc options" diff --git a/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch b/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch new file mode 100644 index 00000000000..051d4db341b --- /dev/null +++ b/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch @@ -0,0 +1,121 @@ +From 1557c3d919623a95c2aa090d3018c31401f63f88 Mon Sep 17 00:00:00 2001 +From: Tamar Christina +Date: Fri, 21 May 2021 12:16:56 +0100 +Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer + +The Linux kernel has removed the interface to cyclades from +the latest kernel headers[1] due to them being orphaned for the +past 13 years. + +libsanitizer uses this header when compiling against glibc, but +glibcs itself doesn't seem to have any references to cyclades. + +Further more it seems that the driver is broken in the kernel and +the firmware doesn't seem to be available anymore. + +As such since this is breaking the build of libsanitizer (and so the +GCC bootstrap[2]) I propose to remove this. + +[1] https://lkml.org/lkml/2021/3/2/153 +[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 + +libsanitizer/ChangeLog: + + PR sanitizer/100379 + * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick + llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. + * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise. + * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. +--- + .../sanitizer_common_interceptors_ioctl.inc | 9 --------- + .../sanitizer_platform_limits_posix.cpp | 11 ----------- + .../sanitizer_platform_limits_posix.h | 10 ---------- + 3 files changed, 30 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 490a04b2181..42e43a04441 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -366,15 +366,6 @@ static void ioctl_table_fill() { + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE +- _(CYGETDEFTHRESH, WRITE, sizeof(int)); +- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); +- _(CYGETTHRESH, WRITE, sizeof(int)); +- _(CYGETTIMEOUT, WRITE, sizeof(int)); +- _(CYSETDEFTHRESH, NONE, 0); +- _(CYSETDEFTIMEOUT, NONE, 0); +- _(CYSETTHRESH, NONE, 0); +- _(CYSETTIMEOUT, NONE, 0); + _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); + _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index aa845df4dde..badf6a401cc 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -443,7 +442,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); +- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) + unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); + #else +@@ -809,15 +807,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; +- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; +- unsigned IOCTL_CYGETMON = CYGETMON; +- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; +- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; +- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; +- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; +- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; +- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; + unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; + unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; + unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index d82fd5e4005..dc6423bc297 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -974,7 +974,6 @@ extern unsigned struct_vt_mode_sz; + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + extern unsigned struct_ax25_parms_struct_sz; +-extern unsigned struct_cyclades_monitor_sz; + extern unsigned struct_input_keymap_entry_sz; + extern unsigned struct_ipx_config_data_sz; + extern unsigned struct_kbdiacrs_sz; +@@ -1319,15 +1318,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +-extern unsigned IOCTL_CYGETDEFTHRESH; +-extern unsigned IOCTL_CYGETDEFTIMEOUT; +-extern unsigned IOCTL_CYGETMON; +-extern unsigned IOCTL_CYGETTHRESH; +-extern unsigned IOCTL_CYGETTIMEOUT; +-extern unsigned IOCTL_CYSETDEFTHRESH; +-extern unsigned IOCTL_CYSETDEFTIMEOUT; +-extern unsigned IOCTL_CYSETTHRESH; +-extern unsigned IOCTL_CYSETTIMEOUT; + extern unsigned IOCTL_EQL_EMANCIPATE; + extern unsigned IOCTL_EQL_ENSLAVE; + extern unsigned IOCTL_EQL_GETMASTRCFG; +-- +2.31.1 + diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index 24d034b720b..aa883beb7bd 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -38,7 +38,7 @@ HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK # # So we must completely override the generic commands and provide our own. # -define HOST_GCC_FINAL_CONFIGURE_CMDS +define HOST_GCC_FINAL_CONFIGURE_CMDS (cd $(HOST_GCC_FINAL_SRCDIR) && rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ CFLAGS="$(HOST_CFLAGS)" \ diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 2208095a29d..ad8bae4a99f 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -1,13 +1,13 @@ # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.4.0/sha512.sum sha512 6de904f552a02de33b11ef52312bb664396efd7e1ce3bbe37bfad5ef617f133095b3767b4804bc7fe78df335cb53bc83f1ac055baed40979ce4c2c3e46b70280 gcc-8.4.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-9.3.0/sha512.sum -sha512 4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de gcc-9.3.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-10.2.0/sha512.sum -sha512 42ae38928bd2e8183af445da34220964eb690b675b1892bbeb7cd5bb62be499011ec9a93397dba5e2fb681afadfc6f2767d03b9035b44ba9be807187ae6dc65e gcc-10.2.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-9.4.0/sha512.sum +sha512 dfd3500bf21784b8351a522d53463cf362ede66b0bc302edf350bb44e94418497a8b4b797b6af8ca9b2eeb746b3b115d9c3698381b989546e9151b4496415624 gcc-9.4.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-10.3.0/sha512.sum +sha512 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86 gcc-10.3.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-11.3.0/sha512.sum +sha512 f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7 gcc-11.3.0.tar.xz # Locally calculated (fetched from Github) sha512 b0853e2b1c5998044392023fa653e399e74118c46e616504ac59e1a2cf27620f94434767ce06b6cf4ca3dfb57f81d6eda92752befaf095ea5e564a9181b4659c gcc-arc-2020.09-release.tar.gz # Locally calculated (fetched from Github) sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz -# Locally calculated (fetched from https://github.com/c-sky/gcc) -sha512 1c3564fd6573dce13451a73015e7d88fecbb214dc1df96607976255b1d8b9e60318405333f4f218eea8d07e3675a802b66eff6df3921d505c4036481512792c2 gcc-48152afb96c59733d5bc79e3399bb7b3d4b44266.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 5e419f7ede2..128cf8421d6 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -13,9 +13,6 @@ GCC_VERSION = $(call qstrip,$(BR2_GCC_VERSION)) ifeq ($(BR2_GCC_VERSION_ARC),y) GCC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,gcc,$(GCC_VERSION)) GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz -else ifeq ($(BR2_GCC_VERSION_CSKY),y) -GCC_SITE = $(call github,c-sky,gcc,$(GCC_VERSION)) -GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz else GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION) GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz @@ -107,6 +104,7 @@ endif # Propagate options used for target software building to GCC target libs HOST_GCC_COMMON_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS)" HOST_GCC_COMMON_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS)" +HOST_GCC_COMMON_CONF_ENV += AR_FOR_TARGET=gcc-ar NM_FOR_TARGET=gcc-nm RANLIB_FOR_TARGET=gcc-ranlib # libitm needs sparc V9+ ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) @@ -231,7 +229,7 @@ endif # Set default to Secure-PLT to prevent run-time # generation of PLT stubs (supports RELRO and # SELinux non-exemem capabilities) -ifeq ($(BR2_powerpc),y) +ifeq ($(BR2_powerpc)$(BR2_powerpc64),y) HOST_GCC_COMMON_CONF_OPTS += --enable-secureplt endif @@ -286,7 +284,7 @@ HOST_GCC_COMMON_CCACHE_HASH_FILES += \ $(addsuffix /gcc/$(GCC_VERSION)/*.patch,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR))) \ $(addsuffix /gcc/*.patch,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR))))) ifeq ($(BR2_xtensa),y) -HOST_GCC_COMMON_CCACHE_HASH_FILES += $(ARCH_XTENSA_OVERLAY_TAR) +HOST_GCC_COMMON_CCACHE_HASH_FILES += $(ARCH_XTENSA_OVERLAY_FILE) endif # _CONF_OPTS contains some references to the absolute path of $(HOST_DIR) diff --git a/package/gcnano-binaries/Config.in b/package/gcnano-binaries/Config.in index 01e1aacf1d7..ade19e21210 100644 --- a/package/gcnano-binaries/Config.in +++ b/package/gcnano-binaries/Config.in @@ -15,6 +15,9 @@ config BR2_PACKAGE_GCNANO_BINARIES depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland depends on !BR2_STATIC_LIBS select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGBM + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF select BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_WAYLAND @@ -27,6 +30,9 @@ if BR2_PACKAGE_GCNANO_BINARIES config BR2_PACKAGE_PROVIDES_LIBEGL default "gcnano-binaries" +config BR2_PACKAGE_PROVIDES_LIBGBM + default "gcnano-binaries" + config BR2_PACKAGE_PROVIDES_LIBGLES default "gcnano-binaries" diff --git a/package/gcnano-binaries/gcnano-binaries.hash b/package/gcnano-binaries/gcnano-binaries.hash index e753f944a36..e3efc82fc50 100644 --- a/package/gcnano-binaries/gcnano-binaries.hash +++ b/package/gcnano-binaries/gcnano-binaries.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 255db9c58627f5f54fd15263647cc97a55927363fec42e7c8d7486170a65d84d gcnano-binaries-c01642ed5e18cf09ecd905af193e935cb3be95ed.tar.gz +sha256 afec2ba2f524821452d561b56afd2fc241293ea4a6e8598d1663f58e5d16800f gcnano-binaries-1534c3eaabb5ae545a8f97e95f853531365a13fc.tar.gz sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57 EULA diff --git a/package/gcnano-binaries/gcnano-binaries.mk b/package/gcnano-binaries/gcnano-binaries.mk index b27571a08ca..f6adc36dbd6 100644 --- a/package/gcnano-binaries/gcnano-binaries.mk +++ b/package/gcnano-binaries/gcnano-binaries.mk @@ -4,10 +4,12 @@ # ################################################################################ -GCNANO_BINARIES_LIB_VERSION = 6.2.4 -GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_VERSION).p4 -GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_VERSION).p4-20190626 -GCNANO_BINARIES_VERSION = c01642ed5e18cf09ecd905af193e935cb3be95ed +GCNANO_BINARIES_LIB_VERSION = 6.4 +GCNANO_BINARIES_LIB_REVISION = 3 +GCNANO_BINARIES_LIB_FULL_VERSION = $(GCNANO_BINARIES_LIB_VERSION).$(GCNANO_BINARIES_LIB_REVISION) +GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_FULL_VERSION) +GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_FULL_VERSION)-20200902 +GCNANO_BINARIES_VERSION = 1534c3eaabb5ae545a8f97e95f853531365a13fc GCNANO_BINARIES_SITE = $(call github,STMicroelectronics,gcnano-binaries,$(GCNANO_BINARIES_VERSION)) GCNANO_BINARIES_LICENSE = MIT, Vivante End User Software License Terms @@ -18,7 +20,7 @@ GCNANO_BINARIES_DEPENDENCIES = linux wayland libdrm GCNANO_BINARIES_INSTALL_STAGING = YES -GCNANO_BINARIES_PROVIDES = libegl libgles +GCNANO_BINARIES_PROVIDES = libegl libgles libgbm # The Github repository doesn't contain the source code as-is: it # contains a tarball with the kernel driver source code, and a @@ -43,7 +45,7 @@ GCNANO_BINARIES_MODULE_MAKE_OPTS = \ DEBUG=0 GCNANO_BINARIES_LIBRARIES = \ - gbm_viv libEGL libGAL libgbm libGLESv1_CM \ + libgbm_viv libEGL libGAL libgbm libGLESv1_CM \ libGLESv2 libGLSLC libOpenVG libVSC GCNANO_BINARIES_USERLAND_SUBDIR = gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION) diff --git a/package/gcr/0001-meson-Fix-unknown-kw-argument-in-gnome.generate_gir.patch b/package/gcr/0001-meson-Fix-unknown-kw-argument-in-gnome.generate_gir.patch new file mode 100644 index 00000000000..a1d4e1b46f7 --- /dev/null +++ b/package/gcr/0001-meson-Fix-unknown-kw-argument-in-gnome.generate_gir.patch @@ -0,0 +1,64 @@ +From b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8 Mon Sep 17 00:00:00 2001 +From: Jakub Jirutka +Date: Wed, 12 Jan 2022 00:24:20 +0100 +Subject: [PATCH] meson: Fix unknown kw argument in gnome.generate_gir + +This argument has been removed in Meson 0.61.0: + + gck/meson.build:130:2: ERROR: gnome.generate_gir got unknown keyword arguments "packages" + +https://github.com/mesonbuild/meson/commit/f8fc5cb860465718fe7c79a1bf1fe00659f138de: + +> The packages argument to gnome.generate_gir was allowed, but never did anything, so stop passing it. + +Fixes #89 + +[aperez@igalia.com: backport from upstream] +Signed-off-by: Adrian Perez de Castro +[yann.morin.1998@free.fr: make it an actual backport] +Signed-off-by: Yann E. MORIN +--- + gck/meson.build | 1 - + gcr/meson.build | 1 - + ui/meson.build | 1 - + 3 files changed, 3 deletions(-) + +diff --git a/gck/meson.build b/gck/meson.build +index 756b486..a21a1e9 100644 +--- a/gck/meson.build ++++ b/gck/meson.build +@@ -131,7 +131,6 @@ if get_option('introspection') + sources: gck_gir_sources, + namespace: 'Gck', + nsversion: '@0@'.format(gck_major_version), +- packages: gck_deps, + export_packages: 'gck-@0@'.format(gck_major_version), + includes: [ 'GObject-2.0', 'Gio-2.0' ], + header: 'gck/gck.h', +diff --git a/gcr/meson.build b/gcr/meson.build +index 2233a44..c83641b 100644 +--- a/gcr/meson.build ++++ b/gcr/meson.build +@@ -190,7 +190,6 @@ if get_option('introspection') + sources: [ gcr_base_public_sources, gcr_base_headers ], + namespace: 'Gcr', + nsversion: '@0@'.format(gcr_major_version), +- packages: gcr_base_deps, + export_packages: 'gcr-base-@0@'.format(gcr_major_version), + includes: [ + 'GObject-2.0', +diff --git a/ui/meson.build b/ui/meson.build +index e656ea2..32ee057 100644 +--- a/ui/meson.build ++++ b/ui/meson.build +@@ -152,7 +152,6 @@ if get_option('introspection') + export_packages: 'gcr-ui-@0@'.format(gcr_major_version), + identifier_prefix: 'Gcr', + symbol_prefix: 'gcr', +- packages: gcr_ui_deps, + includes: [ + 'GObject-2.0', + 'Gio-2.0', +-- +2.25.1 + diff --git a/package/gcr/gcr.hash b/package/gcr/gcr.hash index 7d5786db9e8..e6074a99917 100644 --- a/package/gcr/gcr.hash +++ b/package/gcr/gcr.hash @@ -1,3 +1,3 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/gcr/3.34/gcr-3.34.0.sha256sum -sha256 29df50974a90987af694c0fb8926a6b366e68cacd8abd813817cfe1eb5d54524 gcr-3.34.0.tar.xz -sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING +# From http://ftp.acc.umu.se/pub/gnome/sources/gcr/3.40/gcr-3.40.0.sha256sum +sha256 b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5 gcr-3.40.0.tar.xz +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING diff --git a/package/gcr/gcr.mk b/package/gcr/gcr.mk index 97a0e22064d..ef253b4ef97 100644 --- a/package/gcr/gcr.mk +++ b/package/gcr/gcr.mk @@ -4,7 +4,7 @@ # ################################################################################ -GCR_VERSION_MAJOR = 3.34 +GCR_VERSION_MAJOR = 3.40 GCR_VERSION = $(GCR_VERSION_MAJOR).0 GCR_SITE = http://ftp.acc.umu.se/pub/gnome/sources/gcr/$(GCR_VERSION_MAJOR) GCR_SOURCE = gcr-$(GCR_VERSION).tar.xz @@ -15,27 +15,29 @@ GCR_DEPENDENCIES = \ p11-kit \ $(TARGET_NLS_DEPENDENCIES) GCR_INSTALL_STAGING = YES -GCR_CONF_ENV = ac_cv_path_GNUPG=/usr/bin/gpg2 GCR_CONF_OPTS = \ - --disable-gtk-doc \ - --with-libgcrypt-prefix=$(STAGING_DIR)/usr + -Dgpg_path=/usr/bin/gpg2 \ + -Dgtk_doc=false # Even though COPYING is v2 the code states v2.1+ GCR_LICENSE = LGPL-2.1+ GCR_LICENSE_FILES = COPYING +GCR_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -GCR_DEPENDENCIES += gobject-introspection host-libxslt -GCR_CONF_OPTS += --with-introspection +GCR_DEPENDENCIES += gobject-introspection host-libxslt host-vala +GCR_CONF_OPTS += -Dintrospection=true else -GCR_CONF_OPTS += --without-introspection +GCR_CONF_OPTS += -Dintrospection=false endif -# Only the X11 backend is supported for the simple GUI ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) GCR_DEPENDENCIES += libgtk3 -GCR_CONF_OPTS += --with-gtk +GCR_CONF_OPTS += -Dgtk=true +else ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) +GCR_DEPENDENCIES += libgtk3 +GCR_CONF_OPTS += -Dgtk=true else -GCR_CONF_OPTS += --without-gtk +GCR_CONF_OPTS += -Dgtk=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gd/gd.hash b/package/gd/gd.hash index 5aec317f2d3..d0b1e97675d 100644 --- a/package/gd/gd.hash +++ b/package/gd/gd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ecd9155b9a417fb3f837f29e5966323796de247789163761dd72dbf83bfcac58 libgd-2.3.0.tar.xz -sha256 4d80b4af6c38d7a65128c881623dee2a5daee6b3a6ccab74a5cdfa0dfda96da7 COPYING +sha256 3fe822ece20796060af63b7c60acb151e5844204d289da0ce08f8fdf131e5a61 libgd-2.3.3.tar.xz +sha256 005f4b6b0141d1bd11d371bbf7d4f67947f85a4906b7f5465f942204cf918ba3 COPYING diff --git a/package/gd/gd.mk b/package/gd/gd.mk index c7037f8dbc3..55c12e6968a 100644 --- a/package/gd/gd.mk +++ b/package/gd/gd.mk @@ -4,7 +4,7 @@ # ################################################################################ -GD_VERSION = 2.3.0 +GD_VERSION = 2.3.3 GD_SOURCE = libgd-$(GD_VERSION).tar.xz GD_SITE = https://github.com/libgd/libgd/releases/download/gd-$(GD_VERSION) GD_INSTALL_STAGING = YES @@ -36,7 +36,7 @@ endif ifeq ($(BR2_PACKAGE_LIBICONV),y) GD_DEPENDENCIES += libiconv # not strictly needed for gd, but ensures -liconv ends up in gdlib.pc -GD_CONF_ENV += LIBS="-liconv" +GD_CONF_ENV += LIBS_PRIVATES="-liconv" endif ifeq ($(BR2_PACKAGE_JPEG),y) diff --git a/package/gdb/10.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/10.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch similarity index 100% rename from package/gdb/10.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch rename to package/gdb/10.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch diff --git a/package/gdb/10.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/10.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch similarity index 100% rename from package/gdb/10.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch rename to package/gdb/10.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch diff --git a/package/gdb/10.1/0003-use-asm-sgidefs.h.patch b/package/gdb/10.2/0003-use-asm-sgidefs.h.patch similarity index 100% rename from package/gdb/10.1/0003-use-asm-sgidefs.h.patch rename to package/gdb/10.2/0003-use-asm-sgidefs.h.patch diff --git a/package/gdb/10.1/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/10.2/0004-gdbserver-fix-build-for-m68k.patch similarity index 100% rename from package/gdb/10.1/0004-gdbserver-fix-build-for-m68k.patch rename to package/gdb/10.2/0004-gdbserver-fix-build-for-m68k.patch diff --git a/package/gdb/10.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/10.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch similarity index 100% rename from package/gdb/10.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch rename to package/gdb/10.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch diff --git a/package/gdb/10.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch b/package/gdb/10.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch new file mode 100644 index 00000000000..4b212e2d03e --- /dev/null +++ b/package/gdb/10.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch @@ -0,0 +1,39 @@ +From bb894a9cfb1c3cf0e0a174c496ad848f589ee7da Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 6 Nov 2021 10:06:25 +0100 +Subject: [PATCH] Fix getrandom compile for uclibc < v1.0.35 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- fix getrandom compile for uclibc < v1.0.35, add missing stddef.h + include (fixed in uclibc since v1.0.35, see [1]) + +Fixes: + + .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name ‘size_t’ + 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags) + | ^~~~~~ + +[1] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=00972c02c2b6e0a95d5def4a71bdfb188e091782t + +Signed-off-by: Peter Seiderer +--- + gnulib/import/getrandom.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gnulib/import/getrandom.c b/gnulib/import/getrandom.c +index 030a78b..7b24350 100644 +--- a/gnulib/import/getrandom.c ++++ b/gnulib/import/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +-- +2.33.1 + diff --git a/package/gdb/10.2/0007-fix-musl-build-on-riscv.patch b/package/gdb/10.2/0007-fix-musl-build-on-riscv.patch new file mode 100644 index 00000000000..34ab08a97a5 --- /dev/null +++ b/package/gdb/10.2/0007-fix-musl-build-on-riscv.patch @@ -0,0 +1,60 @@ +From c3fdbc0a24c83246f951ba79c7167547da979ae5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 10 Nov 2021 23:14:54 +0100 +Subject: [PATCH] fix musl build on riscv + +Fix the following build failure raised with musl: + +../../gdbserver/linux-riscv-low.cc: In function 'void riscv_fill_fpregset(regcache*, void*)': +../../gdbserver/linux-riscv-low.cc:140:19: error: 'ELF_NFPREG' was not declared in this scope; did you mean 'ELF_NGREG'? + 140 | for (i = 0; i < ELF_NFPREG - 1; i++, regbuf += flen) + | ^~~~~~~~~~ + | ELF_NGREG + +musl fixed the issue with +https://git.musl-libc.org/cgit/musl/commit/?id=e5d2823631bbfebacf48e1a34ed28f28d7cb2570 + +Fixes: + - http://autobuild.buildroot.org/results/16b19198980ce9c81a618b3f6e8dc9fe28247a28 + +Signed-off-by: Fabrice Fontaine +--- + gdb/nat/riscv-linux-tdesc.c | 5 +++++ + gdbserver/linux-riscv-low.cc | 5 +++++ + 2 files changed, 10 insertions(+) + +diff --git a/gdb/nat/riscv-linux-tdesc.c b/gdb/nat/riscv-linux-tdesc.c +index 837b1707e0f..667c013006a 100644 +--- a/gdb/nat/riscv-linux-tdesc.c ++++ b/gdb/nat/riscv-linux-tdesc.c +@@ -31,6 +31,11 @@ + # define NFPREG 33 + #endif + ++/* Work around musl breakage since version 1.1.24. */ ++#ifndef ELF_NFPREG ++# define ELF_NFPREG 33 ++#endif ++ + /* See nat/riscv-linux-tdesc.h. */ + + struct riscv_gdbarch_features +diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc +index 8bf97ea4aa3..1142dbc7b16 100644 +--- a/gdbserver/linux-riscv-low.cc ++++ b/gdbserver/linux-riscv-low.cc +@@ -30,6 +30,11 @@ + # define NFPREG 33 + #endif + ++/* Work around musl breakage since version 1.1.24. */ ++#ifndef ELF_NFPREG ++# define ELF_NFPREG 33 ++#endif ++ + /* Linux target op definitions for the RISC-V architecture. */ + + class riscv_target : public linux_process_target +-- +2.33.0 + diff --git a/package/gdb/10.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch b/package/gdb/10.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch new file mode 100644 index 00000000000..3d7534a48a1 --- /dev/null +++ b/package/gdb/10.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch @@ -0,0 +1,38 @@ +From c098500aee945ee7a3021649eb0a2655b004103c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 18 Nov 2021 22:52:08 +0100 +Subject: [PATCH] gdbserver/Makefile.in: fix NLS build + +Fix the following build failure raised since gdb version 10.1 and +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9a665d62266e75f0519f3a663784c458885b5c63: + + CXXLD libinproctrace.so +/home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/9.3.0/../../../../i586-buildroot-linux-musl/bin/ld: gdbsupport/tdesc-ipa.o: in function `print_xml_feature::visit(tdesc_type_builtin const*)': +/home/buildroot/autobuild/instance-2/output-1/build/gdb-10.2/build/gdbserver/../../gdbserver/../gdbsupport/tdesc.cc:310: undefined reference to `libintl_gettext' + +Fixes: + - http://autobuild.buildroot.org/results/faacc874fe9d32b74cb3d3dea988ef661cb0e3d0 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://sourceware.org/pipermail/gdb-patches/2021-November/183580.html] +--- + gdbserver/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in +index 71c3c4ad959..e69fbc4dae4 100644 +--- a/gdbserver/Makefile.in ++++ b/gdbserver/Makefile.in +@@ -383,7 +383,7 @@ $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} + $(SILENCE) rm -f $(IPA_LIB) + $(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \ + -Wl,--no-undefined $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ +- -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread ++ -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread $(INTL) + + # Put the proper machine-specific files first, so M-. on a machine + # specific routine gets the one for the correct machine. +-- +2.33.0 + diff --git a/package/gdb/11.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/11.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch new file mode 100644 index 00000000000..9369a14d2cf --- /dev/null +++ b/package/gdb/11.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -0,0 +1,55 @@ +From 64b8ab56118d2fea027adfb7ebbc01668b29528e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Aug 2016 17:32:50 -0700 +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.3] +Signed-off-by: Romain Naour +--- + gdb/nat/ppc-linux.h | 6 ++++++ + gdbserver/linux-ppc-low.cc | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h +index d937a65b69c..1fd54b4a0e0 100644 +--- a/gdb/nat/ppc-linux.h ++++ b/gdb/nat/ppc-linux.h +@@ -18,7 +18,13 @@ + #ifndef NAT_PPC_LINUX_H + #define NAT_PPC_LINUX_H + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + #include + + /* This sometimes isn't defined. */ +diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc +index 337d555aee7..5d518f37268 100644 +--- a/gdbserver/linux-ppc-low.cc ++++ b/gdbserver/linux-ppc-low.cc +@@ -23,7 +23,13 @@ + #include "elf/common.h" + #include + #include ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "arch/ppc-linux-common.h" + #include "arch/ppc-linux-tdesc.h" +-- +2.29.2 + diff --git a/package/gdb/11.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/11.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch new file mode 100644 index 00000000000..2f96d298202 --- /dev/null +++ b/package/gdb/11.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -0,0 +1,43 @@ +From d205f398e1e36f9673f50f368a3f29fd1dfaa794 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 3 Jun 2017 21:23:52 +0200 +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC + systems + +Fixes a pt_{dsp,}regs redefinition when building with the musl C library +on SuperH. + +Inspired by +http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch, +adapted for SuperH. + +Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour +--- + gdbserver/linux-sh-low.cc | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gdbserver/linux-sh-low.cc b/gdbserver/linux-sh-low.cc +index a6d3fc60047..b83cce6b9fe 100644 +--- a/gdbserver/linux-sh-low.cc ++++ b/gdbserver/linux-sh-low.cc +@@ -76,7 +76,15 @@ extern const struct target_desc *tdesc_sh; + #include + #endif + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++# define pt_dspregs uapi_pt_dspregs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++# undef pt_dspregs ++#endif + + #define sh_num_regs 41 + +-- +2.29.2 + diff --git a/package/gdb/8.3.1/0003-use-asm-sgidefs.h.patch b/package/gdb/11.2/0003-use-asm-sgidefs.h.patch similarity index 90% rename from package/gdb/8.3.1/0003-use-asm-sgidefs.h.patch rename to package/gdb/11.2/0003-use-asm-sgidefs.h.patch index 2909f62c68c..e04ebd1dd53 100644 --- a/package/gdb/8.3.1/0003-use-asm-sgidefs.h.patch +++ b/package/gdb/11.2/0003-use-asm-sgidefs.h.patch @@ -1,4 +1,4 @@ -From 19a0f664809b6858e69aa98188eb739415de044c Mon Sep 17 00:00:00 2001 +From 65acc8800dba7e10da882871d4648241805c47ce Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Sat, 30 Apr 2016 15:29:06 -0700 Subject: [PATCH] use @@ -23,7 +23,7 @@ Signed-off-by: Vicente Olivert Riera 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index e68ed1e4da9..bc42aa59685 100644 +index 38ff461a35b..b6cf194b2bf 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -36,5 +36,5 @@ index e68ed1e4da9..bc42aa59685 100644 #include #include "inf-ptrace.h" -- -2.21.0 +2.29.2 diff --git a/package/gdb/8.3.1/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/11.2/0004-gdbserver-fix-build-for-m68k.patch similarity index 78% rename from package/gdb/8.3.1/0004-gdbserver-fix-build-for-m68k.patch rename to package/gdb/11.2/0004-gdbserver-fix-build-for-m68k.patch index d7182938990..846f7ed2930 100644 --- a/package/gdb/8.3.1/0004-gdbserver-fix-build-for-m68k.patch +++ b/package/gdb/11.2/0004-gdbserver-fix-build-for-m68k.patch @@ -1,4 +1,4 @@ -From 448e481aab86c823d908530038e20a14213db0a2 Mon Sep 17 00:00:00 2001 +From 90ebe548922538b854de52e8b687384f44360984 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 22 Jun 2018 22:40:26 +0200 Subject: [PATCH] gdbserver: fix build for m68k @@ -28,14 +28,14 @@ Fix this by moving on top of "linux-low.h". Signed-off-by: Romain Naour --- - gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + gdbserver/linux-m68k-low.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) -diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c -index 16f639d02fc..969d9973737 100644 ---- a/gdb/gdbserver/linux-m68k-low.c -+++ b/gdb/gdbserver/linux-m68k-low.c -@@ -17,16 +17,17 @@ +diff --git a/gdbserver/linux-m68k-low.cc b/gdbserver/linux-m68k-low.cc +index 838ba353b0b..36679682b9a 100644 +--- a/gdbserver/linux-m68k-low.cc ++++ b/gdbserver/linux-m68k-low.cc +@@ -17,6 +17,11 @@ along with this program. If not, see . */ #include "server.h" @@ -46,7 +46,8 @@ index 16f639d02fc..969d9973737 100644 + #include "linux-low.h" - /* Defined in auto-generated file reg-m68k.c. */ + /* Linux target op definitions for the m68k architecture. */ +@@ -80,10 +85,6 @@ m68k_target::low_decr_pc_after_break () void init_registers_m68k (void); extern const struct target_desc *tdesc_m68k; @@ -58,5 +59,5 @@ index 16f639d02fc..969d9973737 100644 #define m68k_num_gregs 18 -- -2.21.0 +2.29.2 diff --git a/package/gdb/8.3.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/11.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch similarity index 87% rename from package/gdb/8.3.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch rename to package/gdb/11.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch index 394e7a2c2ad..33dce4d9407 100644 --- a/package/gdb/8.3.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch +++ b/package/gdb/11.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch @@ -1,4 +1,4 @@ -From d84ecfa3a8c8fbade89229ac66c09f2a97ab00fb Mon Sep 17 00:00:00 2001 +From c8454711eca2e79437e17ed1e1e68b48b4c8d927 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 24 Jun 2018 23:33:55 +0200 Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h @@ -37,17 +37,17 @@ Signed-off-by: Romain Naour 1 file changed, 1 insertion(+) diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c -index fe9360a5039..626fe7c1fbf 100644 +index 7ba0126871d..53e1ec72f09 100644 --- a/gdb/nat/fork-inferior.c +++ b/gdb/nat/fork-inferior.c @@ -27,6 +27,7 @@ - #include "common/pathstuff.h" - #include "common/signals-state-save-restore.h" - #include "common/gdb_tilde_expand.h" + #include "gdbsupport/pathstuff.h" + #include "gdbsupport/signals-state-save-restore.h" + #include "gdbsupport/gdb_tilde_expand.h" +#include "linux-ptrace.h" #include extern char **environ; -- -2.21.0 +2.29.2 diff --git a/package/gdb/11.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch b/package/gdb/11.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch new file mode 100644 index 00000000000..b02d63fc0c7 --- /dev/null +++ b/package/gdb/11.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch @@ -0,0 +1,39 @@ +From 879008ef9a48aa1363671f5c1736b49f30c5a379 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 6 Nov 2021 10:06:25 +0100 +Subject: [PATCH] Fix getrandom compile for uclibc < v1.0.35 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- fix getrandom compile for uclibc < v1.0.35, add missing stddef.h + include (fixed in uclibc since v1.0.35, see [1]) + +Fixes: + + .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name ‘size_t’ + 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags) + | ^~~~~~ + +[1] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=00972c02c2b6e0a95d5def4a71bdfb188e091782t + +Signed-off-by: Peter Seiderer +--- + gnulib/import/getrandom.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gnulib/import/getrandom.c b/gnulib/import/getrandom.c +index 41212fb..0ad3f96 100644 +--- a/gnulib/import/getrandom.c ++++ b/gnulib/import/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +-- +2.33.1 + diff --git a/package/gdb/11.2/0007-fix-musl-build-on-riscv.patch b/package/gdb/11.2/0007-fix-musl-build-on-riscv.patch new file mode 100644 index 00000000000..34ab08a97a5 --- /dev/null +++ b/package/gdb/11.2/0007-fix-musl-build-on-riscv.patch @@ -0,0 +1,60 @@ +From c3fdbc0a24c83246f951ba79c7167547da979ae5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 10 Nov 2021 23:14:54 +0100 +Subject: [PATCH] fix musl build on riscv + +Fix the following build failure raised with musl: + +../../gdbserver/linux-riscv-low.cc: In function 'void riscv_fill_fpregset(regcache*, void*)': +../../gdbserver/linux-riscv-low.cc:140:19: error: 'ELF_NFPREG' was not declared in this scope; did you mean 'ELF_NGREG'? + 140 | for (i = 0; i < ELF_NFPREG - 1; i++, regbuf += flen) + | ^~~~~~~~~~ + | ELF_NGREG + +musl fixed the issue with +https://git.musl-libc.org/cgit/musl/commit/?id=e5d2823631bbfebacf48e1a34ed28f28d7cb2570 + +Fixes: + - http://autobuild.buildroot.org/results/16b19198980ce9c81a618b3f6e8dc9fe28247a28 + +Signed-off-by: Fabrice Fontaine +--- + gdb/nat/riscv-linux-tdesc.c | 5 +++++ + gdbserver/linux-riscv-low.cc | 5 +++++ + 2 files changed, 10 insertions(+) + +diff --git a/gdb/nat/riscv-linux-tdesc.c b/gdb/nat/riscv-linux-tdesc.c +index 837b1707e0f..667c013006a 100644 +--- a/gdb/nat/riscv-linux-tdesc.c ++++ b/gdb/nat/riscv-linux-tdesc.c +@@ -31,6 +31,11 @@ + # define NFPREG 33 + #endif + ++/* Work around musl breakage since version 1.1.24. */ ++#ifndef ELF_NFPREG ++# define ELF_NFPREG 33 ++#endif ++ + /* See nat/riscv-linux-tdesc.h. */ + + struct riscv_gdbarch_features +diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc +index 8bf97ea4aa3..1142dbc7b16 100644 +--- a/gdbserver/linux-riscv-low.cc ++++ b/gdbserver/linux-riscv-low.cc +@@ -30,6 +30,11 @@ + # define NFPREG 33 + #endif + ++/* Work around musl breakage since version 1.1.24. */ ++#ifndef ELF_NFPREG ++# define ELF_NFPREG 33 ++#endif ++ + /* Linux target op definitions for the RISC-V architecture. */ + + class riscv_target : public linux_process_target +-- +2.33.0 + diff --git a/package/gdb/11.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch b/package/gdb/11.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch new file mode 100644 index 00000000000..903dc61df85 --- /dev/null +++ b/package/gdb/11.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch @@ -0,0 +1,38 @@ +From c098500aee945ee7a3021649eb0a2655b004103c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 18 Nov 2021 22:52:08 +0100 +Subject: [PATCH] gdbserver/Makefile.in: fix NLS build + +Fix the following build failure raised since gdb version 10.1 and +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9a665d62266e75f0519f3a663784c458885b5c63: + + CXXLD libinproctrace.so +/home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/9.3.0/../../../../i586-buildroot-linux-musl/bin/ld: gdbsupport/tdesc-ipa.o: in function `print_xml_feature::visit(tdesc_type_builtin const*)': +/home/buildroot/autobuild/instance-2/output-1/build/gdb-10.2/build/gdbserver/../../gdbserver/../gdbsupport/tdesc.cc:310: undefined reference to `libintl_gettext' + +Fixes: + - http://autobuild.buildroot.org/results/faacc874fe9d32b74cb3d3dea988ef661cb0e3d0 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://sourceware.org/pipermail/gdb-patches/2021-November/183580.html] +--- + gdbserver/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in +index 71c3c4ad959..e69fbc4dae4 100644 +--- a/gdbserver/Makefile.in ++++ b/gdbserver/Makefile.in +@@ -383,7 +383,7 @@ $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} + $(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \ + -Wl,--no-undefined $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ + $(CXXFLAGS) \ +- -o $(IPA_LIB) ${IPA_OBJS} $(LIBIBERTY_FOR_SHLIB) -ldl -pthread ++ -o $(IPA_LIB) ${IPA_OBJS} $(LIBIBERTY_FOR_SHLIB) -ldl -pthread $(INTL) + + # Put the proper machine-specific files first, so M-. on a machine + # specific routine gets the one for the correct machine. +-- +2.33.0 + diff --git a/package/gdb/4ecb98fbc2f94dbe01b69384afbc515107de73df/0001-Fix-Python3.9-related-runtime-problems.patch b/package/gdb/4ecb98fbc2f94dbe01b69384afbc515107de73df/0001-Fix-Python3.9-related-runtime-problems.patch new file mode 100644 index 00000000000..8c2a9d3d5b8 --- /dev/null +++ b/package/gdb/4ecb98fbc2f94dbe01b69384afbc515107de73df/0001-Fix-Python3.9-related-runtime-problems.patch @@ -0,0 +1,193 @@ +From 8342feee01e4e8d38affcf35e47ad900567f42e0 Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Wed, 27 May 2020 20:05:40 -0700 +Subject: [PATCH] Fix Python3.9 related runtime problems + +Python3.9b1 is now available on Rawhide. GDB w/ Python 3.9 support +can be built using the configure switch -with-python=/usr/bin/python3.9. + +Attempting to run gdb/Python3.9 segfaults on startup: + + #0 0x00007ffff7b0582c in PyEval_ReleaseLock () from /lib64/libpython3.9.so.1.0 + #1 0x000000000069ccbf in do_start_initialization () + at worktree-test1/gdb/python/python.c:1789 + #2 _initialize_python () + at worktree-test1/gdb/python/python.c:1877 + #3 0x00000000007afb0a in initialize_all_files () at init.c:237 + ... + +Consulting the the documentation... + +https://docs.python.org/3/c-api/init.html + +...we find that PyEval_ReleaseLock() has been deprecated since version +3.2. It recommends using PyEval_SaveThread or PyEval_ReleaseThread() +instead. In do_start_initialization, in gdb/python/python.c, we +can replace the calls to PyThreadState_Swap() and PyEval_ReleaseLock() +with a single call to PyEval_SaveThread. (Thanks to Keith Seitz +for working this out.) + +With that in place, GDB gets a little bit further. It still dies +on startup, but the backtrace is different: + + #0 0x00007ffff7b04306 in PyOS_InterruptOccurred () + from /lib64/libpython3.9.so.1.0 + #1 0x0000000000576e86 in check_quit_flag () + at worktree-test1/gdb/extension.c:776 + #2 0x0000000000576f8a in set_active_ext_lang (now_active=now_active@entry=0x983c00 ) + at worktree-test1/gdb/extension.c:705 + #3 0x000000000069d399 in gdbpy_enter::gdbpy_enter (this=0x7fffffffd2d0, + gdbarch=0x0, language=0x0) + at worktree-test1/gdb/python/python.c:211 + #4 0x0000000000686e00 in python_new_inferior (inf=0xddeb10) + at worktree-test1/gdb/python/py-inferior.c:251 + #5 0x00000000005d9fb9 in std::function::operator()(inferior*) const (__args#0=, this=0xccad20) + at /usr/include/c++/10/bits/std_function.h:617 + #6 gdb::observers::observable::notify (args#0=0xddeb10, + this=) + at worktree-test1/gdb/../gdbsupport/observable.h:106 + #7 add_inferior_silent (pid=0) + at worktree-test1/gdb/inferior.c:113 + #8 0x00000000005dbcb8 in initialize_inferiors () + at worktree-test1/gdb/inferior.c:947 + ... + +We checked with some Python Developers and were told that we should +acquire the GIL prior to calling any Python C API function. We +definitely don't have the GIL for calls of PyOS_InterruptOccurred(). + +I moved class_gdbpy_gil earlier in the file and use it in +gdbpy_check_quit_flag() to acquire (and automatically release) the +GIL. + +With those changes in place, I was able to run to a GDB prompt. But, +when trying to quit, it segfaulted again due to due to some other +problems with gdbpy_check_quit_flag(): + + Thread 1 "gdb" received signal SIGSEGV, Segmentation fault. + 0x00007ffff7bbab0c in new_threadstate () from /lib64/libpython3.9.so.1.0 + (top-gdb) bt 8 + #0 0x00007ffff7bbab0c in new_threadstate () from /lib64/libpython3.9.so.1.0 + #1 0x00007ffff7afa5ea in PyGILState_Ensure.cold () + from /lib64/libpython3.9.so.1.0 + #2 0x000000000069b58c in gdbpy_gil::gdbpy_gil (this=) + at worktree-test1/gdb/python/python.c:278 + #3 gdbpy_check_quit_flag (extlang=) + at worktree-test1/gdb/python/python.c:278 + #4 0x0000000000576e96 in check_quit_flag () + at worktree-test1/gdb/extension.c:776 + #5 0x000000000057700c in restore_active_ext_lang (previous=0xe9c050) + at worktree-test1/gdb/extension.c:729 + #6 0x000000000088913a in do_my_cleanups ( + pmy_chain=0xc31870 , + old_chain=0xae5720 ) + at worktree-test1/gdbsupport/cleanups.cc:131 + #7 do_final_cleanups () + at worktree-test1/gdbsupport/cleanups.cc:143 + +In this case, we're trying to call a Python C API function after +Py_Finalize() has been called from finalize_python(). I made +finalize_python set gdb_python_initialized to false and then cause +check_quit_flag() to return early when it's false. + +With these changes in place, GDB seems to be working again with +Python3.9b1. I think it likely that there are other problems lurking. +I wouldn't be surprised to find that there are other calls into Python +where we don't first make sure that we have the GIL. Further changes +may well be needed. + +I see no regressions testing on Rawhide using a GDB built with the +default Python version (3.8.3) versus one built using Python 3.9b1. + +I've also tested on Fedora 28, 29, 30, 31, and 32 (all x86_64) using +the default (though updated) system installed versions of Python on +those OSes. This means that I've tested against Python versions +2.7.15, 2.7.17, 2.7.18, 3.7.7, 3.8.2, and 3.8.3. In each case GDB +still builds without problem and shows no regressions after applying +this patch. + +gdb/ChangeLog: + +2020-MM-DD Kevin Buettner + Keith Seitz + + * python/python.c (do_start_initialization): For Python 3.9 and + later, call PyEval_SaveThread instead of PyEval_ReleaseLock. + (class gdbpy_gil): Move to earlier in file. + (finalize_python): Set gdb_python_initialized. + (gdbpy_check_quit_flag): Acquire GIL via gdbpy_gil. Return early + when not initialized. + +[import into Buildroot, removing ChangeLog change to avoid conflict] +Signed-off-by: Thomas De Schampheleire +--- + gdb/python/python.c | 32 ++++++++++++++++++++++++++++++-- + 1 file changed, 30 insertions(+), 2 deletions(-) + +diff --git a/gdb/python/python.c b/gdb/python/python.c +index b00b70be85b..0eee3f0397c 100644 +--- a/gdb/python/python.c ++++ b/gdb/python/python.c +@@ -268,6 +268,30 @@ ensure_python_env (struct gdbarch *gdbarch, + return make_cleanup (restore_python_env, env); + } + ++/* A helper class to save and restore the GIL, but without touching ++ the other globals that are handled by gdbpy_enter. */ ++ ++class gdbpy_gil ++{ ++public: ++ ++ gdbpy_gil () ++ : m_state (PyGILState_Ensure ()) ++ { ++ } ++ ++ ~gdbpy_gil () ++ { ++ PyGILState_Release (m_state); ++ } ++ ++ DISABLE_COPY_AND_ASSIGN (gdbpy_gil); ++ ++private: ++ ++ PyGILState_STATE m_state; ++}; ++ + /* Set the quit flag. */ + + static void +@@ -281,6 +305,10 @@ gdbpy_set_quit_flag (const struct extension_language_defn *extlang) + static int + gdbpy_check_quit_flag (const struct extension_language_defn *extlang) + { ++ if (!gdb_python_initialized) ++ return 0; ++ ++ gdbpy_gil gil; + return PyOS_InterruptOccurred (); + } + +@@ -1620,6 +1648,7 @@ finalize_python (void *ignore) + + Py_Finalize (); + ++ gdb_python_initialized = false; + restore_active_ext_lang (previous_active); + } + #endif +@@ -1854,8 +1883,7 @@ message == an error message without a stack will be printed."), + goto fail; + + /* Release the GIL while gdb runs. */ +- PyThreadState_Swap (NULL); +- PyEval_ReleaseLock (); ++ PyEval_SaveThread (); + + make_final_cleanup (finalize_python, NULL); + +-- +2.31.1 + diff --git a/package/gdb/8.3.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/8.3.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch deleted file mode 100644 index ab8dc626f0a..00000000000 --- a/package/gdb/8.3.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 72ee19f54fd35595465b2e35eccf1f3d65fe21c6 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 6 Aug 2016 17:32:50 -0700 -Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems - -Upstream-Status: Pending - -Signed-off-by: Khem Raj -Signed-off-by: Thomas Petazzoni -[Rebase on gdb 8.3] -Signed-off-by: Romain Naour ---- - gdb/gdbserver/linux-ppc-low.c | 6 ++++++ - gdb/nat/ppc-linux.h | 6 ++++++ - 2 files changed, 12 insertions(+) - -diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 1b695e53fe9..1978347c02c 100644 ---- a/gdb/gdbserver/linux-ppc-low.c -+++ b/gdb/gdbserver/linux-ppc-low.c -@@ -23,7 +23,13 @@ - #include "elf/common.h" - #include - #include -+#if !defined(__GLIBC__) -+# define pt_regs uapi_pt_regs -+#endif - #include -+#if !defined(__GLIBC__) -+# undef pt_regs -+#endif - - #include "arch/ppc-linux-common.h" - #include "arch/ppc-linux-tdesc.h" -diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index f1561b3b357..40399361c09 100644 ---- a/gdb/nat/ppc-linux.h -+++ b/gdb/nat/ppc-linux.h -@@ -18,7 +18,13 @@ - #ifndef NAT_PPC_LINUX_H - #define NAT_PPC_LINUX_H - -+#if !defined(__GLIBC__) -+# define pt_regs uapi_pt_regs -+#endif - #include -+#if !defined(__GLIBC__) -+# undef pt_regs -+#endif - #include - - /* This sometimes isn't defined. */ --- -2.21.0 - diff --git a/package/gdb/8.3.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/8.3.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch deleted file mode 100644 index 9d508fbf1e5..00000000000 --- a/package/gdb/8.3.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ef630288fdc2d4d22651702672f9d5c9cd767e5b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 3 Jun 2017 21:23:52 +0200 -Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC - systems - -Fixes a pt_{dsp,}regs redefinition when building with the musl C library -on SuperH. - -Inspired by -http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch, -adapted for SuperH. - -Signed-off-by: Thomas Petazzoni -[Rebase on gdb 8.0] -Signed-off-by: Romain Naour ---- - gdb/gdbserver/linux-sh-low.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c -index 0953721a190..c331c1382f7 100644 ---- a/gdb/gdbserver/linux-sh-low.c -+++ b/gdb/gdbserver/linux-sh-low.c -@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; - #include - #endif - -+#if !defined(__GLIBC__) -+# define pt_regs uapi_pt_regs -+# define pt_dspregs uapi_pt_dspregs -+#endif - #include -+#if !defined(__GLIBC__) -+# undef pt_regs -+# undef pt_dspregs -+#endif - - #define sh_num_regs 41 - --- -2.21.0 - diff --git a/package/gdb/8.3.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch b/package/gdb/8.3.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch deleted file mode 100644 index 989a5b13474..00000000000 --- a/package/gdb/8.3.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e00c211d51bec301cf04719b77076a8783ef44b5 Mon Sep 17 00:00:00 2001 -From: Raul Tambre -Date: Sat, 4 May 2019 15:48:17 -0400 -Subject: [PATCH] Fix incorrect use of 'is' operator for comparison in - python/lib/gdb/command/prompt.py - -The 'is' operator is not meant to be used for comparisons. It currently working -is an implementation detail of CPython. CPython 3.8 has added a SyntaxWarning -for this. - -(cherry picked from commit b6484282f85bf7f11451b2441599c241d302ad9d) -[Romain: backport to gdb 8.x] -Signed-off-by: Romain Naour ---- - gdb/python/lib/gdb/command/prompt.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gdb/python/lib/gdb/command/prompt.py b/gdb/python/lib/gdb/command/prompt.py -index 3d662a7d3f..04b9e49c22 100644 ---- a/gdb/python/lib/gdb/command/prompt.py -+++ b/gdb/python/lib/gdb/command/prompt.py -@@ -45,7 +45,7 @@ The currently defined substitutions are: - self.hook_set = False - - def get_show_string (self, pvalue): -- if self.value is not '': -+ if self.value: - return "The extended prompt is: " + self.value - else: - return "The extended prompt is not set." -@@ -57,7 +57,7 @@ The currently defined substitutions are: - return "" - - def before_prompt_hook(self, current): -- if self.value is not '': -+ if self.value: - return gdb.prompt.substitute_prompt(self.value) - else: - return None --- -2.25.4 - diff --git a/package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch b/package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch new file mode 100644 index 00000000000..89b0cdc4a04 --- /dev/null +++ b/package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch @@ -0,0 +1,227 @@ +From c47bae859a5af0d95224d90000df0e529f7c5aa0 Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Wed, 27 May 2020 20:05:40 -0700 +Subject: [PATCH] Fix Python3.9 related runtime problems + +Python3.9b1 is now available on Rawhide. GDB w/ Python 3.9 support +can be built using the configure switch -with-python=/usr/bin/python3.9. + +Attempting to run gdb/Python3.9 segfaults on startup: + + #0 0x00007ffff7b0582c in PyEval_ReleaseLock () from /lib64/libpython3.9.so.1.0 + #1 0x000000000069ccbf in do_start_initialization () + at worktree-test1/gdb/python/python.c:1789 + #2 _initialize_python () + at worktree-test1/gdb/python/python.c:1877 + #3 0x00000000007afb0a in initialize_all_files () at init.c:237 + ... + +Consulting the the documentation... + +https://docs.python.org/3/c-api/init.html + +...we find that PyEval_ReleaseLock() has been deprecated since version +3.2. It recommends using PyEval_SaveThread or PyEval_ReleaseThread() +instead. In do_start_initialization, in gdb/python/python.c, we +can replace the calls to PyThreadState_Swap() and PyEval_ReleaseLock() +with a single call to PyEval_SaveThread. (Thanks to Keith Seitz +for working this out.) + +With that in place, GDB gets a little bit further. It still dies +on startup, but the backtrace is different: + + #0 0x00007ffff7b04306 in PyOS_InterruptOccurred () + from /lib64/libpython3.9.so.1.0 + #1 0x0000000000576e86 in check_quit_flag () + at worktree-test1/gdb/extension.c:776 + #2 0x0000000000576f8a in set_active_ext_lang (now_active=now_active@entry=0x983c00 ) + at worktree-test1/gdb/extension.c:705 + #3 0x000000000069d399 in gdbpy_enter::gdbpy_enter (this=0x7fffffffd2d0, + gdbarch=0x0, language=0x0) + at worktree-test1/gdb/python/python.c:211 + #4 0x0000000000686e00 in python_new_inferior (inf=0xddeb10) + at worktree-test1/gdb/python/py-inferior.c:251 + #5 0x00000000005d9fb9 in std::function::operator()(inferior*) const (__args#0=, this=0xccad20) + at /usr/include/c++/10/bits/std_function.h:617 + #6 gdb::observers::observable::notify (args#0=0xddeb10, + this=) + at worktree-test1/gdb/../gdbsupport/observable.h:106 + #7 add_inferior_silent (pid=0) + at worktree-test1/gdb/inferior.c:113 + #8 0x00000000005dbcb8 in initialize_inferiors () + at worktree-test1/gdb/inferior.c:947 + ... + +We checked with some Python Developers and were told that we should +acquire the GIL prior to calling any Python C API function. We +definitely don't have the GIL for calls of PyOS_InterruptOccurred(). + +I moved class_gdbpy_gil earlier in the file and use it in +gdbpy_check_quit_flag() to acquire (and automatically release) the +GIL. + +With those changes in place, I was able to run to a GDB prompt. But, +when trying to quit, it segfaulted again due to due to some other +problems with gdbpy_check_quit_flag(): + + Thread 1 "gdb" received signal SIGSEGV, Segmentation fault. + 0x00007ffff7bbab0c in new_threadstate () from /lib64/libpython3.9.so.1.0 + (top-gdb) bt 8 + #0 0x00007ffff7bbab0c in new_threadstate () from /lib64/libpython3.9.so.1.0 + #1 0x00007ffff7afa5ea in PyGILState_Ensure.cold () + from /lib64/libpython3.9.so.1.0 + #2 0x000000000069b58c in gdbpy_gil::gdbpy_gil (this=) + at worktree-test1/gdb/python/python.c:278 + #3 gdbpy_check_quit_flag (extlang=) + at worktree-test1/gdb/python/python.c:278 + #4 0x0000000000576e96 in check_quit_flag () + at worktree-test1/gdb/extension.c:776 + #5 0x000000000057700c in restore_active_ext_lang (previous=0xe9c050) + at worktree-test1/gdb/extension.c:729 + #6 0x000000000088913a in do_my_cleanups ( + pmy_chain=0xc31870 , + old_chain=0xae5720 ) + at worktree-test1/gdbsupport/cleanups.cc:131 + #7 do_final_cleanups () + at worktree-test1/gdbsupport/cleanups.cc:143 + +In this case, we're trying to call a Python C API function after +Py_Finalize() has been called from finalize_python(). I made +finalize_python set gdb_python_initialized to false and then cause +check_quit_flag() to return early when it's false. + +With these changes in place, GDB seems to be working again with +Python3.9b1. I think it likely that there are other problems lurking. +I wouldn't be surprised to find that there are other calls into Python +where we don't first make sure that we have the GIL. Further changes +may well be needed. + +I see no regressions testing on Rawhide using a GDB built with the +default Python version (3.8.3) versus one built using Python 3.9b1. + +I've also tested on Fedora 28, 29, 30, 31, and 32 (all x86_64) using +the default (though updated) system installed versions of Python on +those OSes. This means that I've tested against Python versions +2.7.15, 2.7.17, 2.7.18, 3.7.7, 3.8.2, and 3.8.3. In each case GDB +still builds without problem and shows no regressions after applying +this patch. + +gdb/ChangeLog: + +2020-MM-DD Kevin Buettner + Keith Seitz + + * python/python.c (do_start_initialization): For Python 3.9 and + later, call PyEval_SaveThread instead of PyEval_ReleaseLock. + (class gdbpy_gil): Move to earlier in file. + (finalize_python): Set gdb_python_initialized. + (gdbpy_check_quit_flag): Acquire GIL via gdbpy_gil. Return early + when not initialized. + + +[import into Buildroot, removing ChangeLog change to avoid conflict] +Signed-off-by: Thomas De Schampheleire + +--- + gdb/ChangeLog | 10 ++++++++ + gdb/python/python.c | 56 ++++++++++++++++++++++++--------------------- + 2 files changed, 40 insertions(+), 26 deletions(-) + +diff --git a/gdb/python/python.c b/gdb/python/python.c +index 67f362b852d..4bdd2201abc 100644 +--- a/gdb/python/python.c ++++ b/gdb/python/python.c +@@ -238,6 +238,30 @@ gdbpy_enter::~gdbpy_enter () + PyGILState_Release (m_state); + } + ++/* A helper class to save and restore the GIL, but without touching ++ the other globals that are handled by gdbpy_enter. */ ++ ++class gdbpy_gil ++{ ++public: ++ ++ gdbpy_gil () ++ : m_state (PyGILState_Ensure ()) ++ { ++ } ++ ++ ~gdbpy_gil () ++ { ++ PyGILState_Release (m_state); ++ } ++ ++ DISABLE_COPY_AND_ASSIGN (gdbpy_gil); ++ ++private: ++ ++ PyGILState_STATE m_state; ++}; ++ + /* Set the quit flag. */ + + static void +@@ -251,6 +275,10 @@ gdbpy_set_quit_flag (const struct extension_language_defn *extlang) + static int + gdbpy_check_quit_flag (const struct extension_language_defn *extlang) + { ++ if (!gdb_python_initialized) ++ return 0; ++ ++ gdbpy_gil gil; + return PyOS_InterruptOccurred (); + } + +@@ -943,30 +971,6 @@ gdbpy_source_script (const struct extension_language_defn *extlang, + + /* Posting and handling events. */ + +-/* A helper class to save and restore the GIL, but without touching +- the other globals that are handled by gdbpy_enter. */ +- +-class gdbpy_gil +-{ +-public: +- +- gdbpy_gil () +- : m_state (PyGILState_Ensure ()) +- { +- } +- +- ~gdbpy_gil () +- { +- PyGILState_Release (m_state); +- } +- +- DISABLE_COPY_AND_ASSIGN (gdbpy_gil); +- +-private: +- +- PyGILState_STATE m_state; +-}; +- + /* A single event. */ + struct gdbpy_event + { +@@ -1616,6 +1620,7 @@ finalize_python (void *ignore) + + Py_Finalize (); + ++ gdb_python_initialized = false; + restore_active_ext_lang (previous_active); + } + +@@ -1785,8 +1790,7 @@ do_start_initialization () + return false; + + /* Release the GIL while gdb runs. */ +- PyThreadState_Swap (NULL); +- PyEval_ReleaseLock (); ++ PyEval_SaveThread (); + + make_final_cleanup (finalize_python, NULL); + +-- +2.26.3 + diff --git a/package/gdb/9.2/0007-gdb-configure.tgt-build-gdbserver-with-m68k-and-ucli.patch b/package/gdb/9.2/0007-gdb-configure.tgt-build-gdbserver-with-m68k-and-ucli.patch new file mode 100644 index 00000000000..5cdafae7a8f --- /dev/null +++ b/package/gdb/9.2/0007-gdb-configure.tgt-build-gdbserver-with-m68k-and-ucli.patch @@ -0,0 +1,41 @@ +From 808601f075fe3dd8ca101e31c9121a4e87f0bfc7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 6 May 2021 07:45:00 +0200 +Subject: [PATCH] gdb/configure.tgt: build gdbserver with m68k and + uclibc + +Allow to build gdbserver with m68k and uclibc: + +checking whether gdbserver is supported on this host... no +configure: error: Automatic gdbserver build is not supported for this configuration + +Fixes: + - http://autobuild.buildroot.org/results/f4d6d9d8418c0da48a3db4ad5a82e19bd16eae34 + +Signed-off-by: Fabrice Fontaine +--- + gdb/configure.tgt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdb/configure.tgt b/gdb/configure.tgt +index caa42be1c01..8666bc5d0bf 100644 +--- a/gdb/configure.tgt ++++ b/gdb/configure.tgt +@@ -372,12 +372,12 @@ m68hc11*-*-*|m6811*-*-*) + gdb_sim=../sim/m68hc11/libsim.a + ;; + +-m68*-*-aout* | m68*-*-coff* | m68*-*-elf* | m68*-*-rtems* | m68*-*-uclinux* | \ ++m68*-*-aout* | m68*-*-coff* | m68*-*-elf* | m68*-*-rtems* | \ + fido-*-elf*) + # Target: Motorola m68k embedded + gdb_target_obs="m68k-tdep.o" + ;; +-m68*-*-linux*) ++m68*-*-*linux*) + # Target: Motorola m68k with a.out and ELF + gdb_target_obs="m68k-tdep.o m68k-linux-tdep.o solib-svr4.o \ + linux-tdep.o glibc-tdep.o symfile-mem.o" +-- +2.30.2 + diff --git a/package/gdb/Config.in b/package/gdb/Config.in index b1aa5e47d9a..daad6c910d6 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_GDB_ARCH_SUPPORTS default y depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) depends on !BR2_microblaze - depends on !BR2_nios2 depends on !BR2_or1k depends on !BR2_nds32 @@ -20,8 +19,6 @@ config BR2_PACKAGE_GDB depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_INSTALL_LIBSTDCPP - # no gdbserver on riscv - select BR2_PACKAGE_GDB_DEBUGGER if BR2_riscv # When the external toolchain gdbserver is copied to the # target, we don't allow building a separate gdbserver. The # one from the external toolchain should be used. @@ -48,7 +45,6 @@ if BR2_PACKAGE_GDB config BR2_PACKAGE_GDB_SERVER bool "gdbserver" depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY - depends on !BR2_riscv help Build the gdbserver stub to run on the target. A full gdb is needed to debug the progam. @@ -58,6 +54,7 @@ config BR2_PACKAGE_GDB_DEBUGGER depends on BR2_USE_WCHAR depends on !BR2_sh depends on !BR2_csky + select BR2_PACKAGE_GMP if BR2_GDB_VERSION_11 select BR2_PACKAGE_NCURSES comment "full gdb on target needs a toolchain w/ wchar" @@ -80,7 +77,7 @@ config BR2_PACKAGE_GDB_TUI config BR2_PACKAGE_GDB_PYTHON bool "Python support" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 help This option enables Python support in the target gdb. diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index 9ac939ec1e1..d3dea0b0a74 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -3,9 +3,7 @@ config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS default y depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) depends on !BR2_microblaze - depends on !BR2_nios2 depends on !BR2_or1k - depends on !BR2_riscv depends on !BR2_nds32 comment "Host GDB Options" @@ -32,29 +30,11 @@ config BR2_PACKAGE_HOST_GDB_TUI help This option enables terminal user interface (TUI) for gdb -choice - prompt "Python support" - default BR2_PACKAGE_HOST_GDB_NOPYTHON - help - Select the version of Python you wish to use - -config BR2_PACKAGE_HOST_GDB_NOPYTHON - bool "None" - help - This option disables Python support in the cross gdb. - -config BR2_PACKAGE_HOST_GDB_PYTHON - bool "Python 2" - help - This option enables the Python 2 support in the cross gdb. - config BR2_PACKAGE_HOST_GDB_PYTHON3 - bool "Python 3" + bool "Python support" help This option enables the Python 3 support in the cross gdb. -endchoice - config BR2_PACKAGE_HOST_GDB_SIM bool "Simulator support" depends on !BR2_arc @@ -63,31 +43,43 @@ config BR2_PACKAGE_HOST_GDB_SIM choice prompt "GDB debugger Version" - default BR2_GDB_VERSION_9_2 + default BR2_GDB_VERSION_10 depends on !BR2_arc depends on !BR2_csky help Select the version of gdb you wish to use. -config BR2_GDB_VERSION_8_3 - bool "gdb 8.3.x" - config BR2_GDB_VERSION_9_2 bool "gdb 9.2.x" + # gdbserver support missing + depends on !BR2_riscv config BR2_GDB_VERSION_10 bool "gdb 10.x" +config BR2_GDB_VERSION_11 + bool "gdb 11.x" + endchoice endif -# If cross-gdb is not enabled, the latest working version is chosen. +# If cross-gdb is not enabled, the latest stable version is chosen. config BR2_GDB_VERSION string default "arc-2020.09-release-gdb" if BR2_arc default "4ecb98fbc2f94dbe01b69384afbc515107de73df" if BR2_csky - default "8.3.1" if BR2_GDB_VERSION_8_3 - default "9.2" if BR2_GDB_VERSION_9_2 || !BR2_PACKAGE_HOST_GDB - default "10.1" if BR2_GDB_VERSION_10 + default "9.2" if BR2_GDB_VERSION_9_2 + default "10.2" if BR2_GDB_VERSION_10 || !BR2_PACKAGE_HOST_GDB + default "11.2" if BR2_GDB_VERSION_11 + depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB + +# recent gdb versions (>= 10) have gdbserver moved at the top-level, +# which requires a different build logic. +config BR2_PACKAGE_GDB_TOPLEVEL + bool + default y if BR2_arc + default y if BR2_GDB_VERSION_10 + default y if BR2_GDB_VERSION_11 + default y if !BR2_PACKAGE_HOST_GDB depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index 3b4845d64c1..e7933374f12 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -1,7 +1,7 @@ # From ftp://gcc.gnu.org/pub/gdb/releases/sha512.sum -sha512 9053a2dc6b9eb921907afbc4cecc75d635aa76df5e8c4f0e5824ccf57cb206b299c19b127fff000b65c334826ff8304a54ff6098428365a8e997cca886c39e9a gdb-8.3.1.tar.xz sha512 73635f00f343117aa5e2436f1e1597099e2bfb31ef7bb162b273fa1ea282c3fa9b0f52762e70bfc7ad0334addb8d159e9ac7cbe5998ca4f755ea8cf90714d274 gdb-9.2.tar.xz -sha512 0dc54380435c6853db60f1e388b94836d294dfa9ad7f518385a27db4edd03cb970f8717d5f1e9c9a0d4a33d7fcf91bc2e5d6c9cf9e4b561dcc74e65b806c1537 gdb-10.1.tar.xz +sha512 3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa gdb-10.2.tar.xz +sha512 07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127 gdb-11.2.tar.xz # Locally calculated (fetched from Github) sha512 5a2acf2fd33ab2ff589e1037ca40abda54328997dcff26b2b49b874bd3be980be5a63342962254f3c3bda98e32ce7a33af704d37353352833dee193135600458 gdb-arc-2020.09-release-gdb.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 17e10e8b16e..9bde2beea13 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -8,19 +8,10 @@ GDB_VERSION = $(call qstrip,$(BR2_GDB_VERSION)) GDB_SITE = $(BR2_GNU_MIRROR)/gdb GDB_SOURCE = gdb-$(GDB_VERSION).tar.xz -# recent gdb versions (>= 10) have gdbserver moved at the top-level, -# which requires a different build logic. -ifeq ($(BR2_GDB_VERSION_10),y) -GDB_GDBSERVER_TOPLEVEL = y -endif - ifeq ($(BR2_arc),y) GDB_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(GDB_VERSION)) GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz GDB_FROM_GIT = y -# recent gdb versions (>= 10) have gdbserver moved at the top-level, -# which requires a different build logic. -GDB_GDBSERVER_TOPLEVEL = y endif ifeq ($(BR2_csky),y) @@ -35,7 +26,7 @@ GDB_CPE_ID_VENDOR = gnu # On gdb < 10, if you want to build only gdbserver, you need to # configure only gdb/gdbserver. -ifeq ($(BR2_PACKAGE_GDB_DEBUGGER)$(GDB_GDBSERVER_TOPLEVEL),) +ifeq ($(BR2_PACKAGE_GDB_DEBUGGER)$(BR2_PACKAGE_GDB_TOPLEVEL),) GDB_SUBDIR = gdb/gdbserver # When we want to build the full gdb, or for very recent versions of @@ -80,6 +71,12 @@ GDB_DEPENDENCIES += host-flex host-bison HOST_GDB_DEPENDENCIES += host-flex host-bison endif +# When BR2_GDB_VERSION_11=y, we're going to build gdb 11.x for the +# host (if enabled), so we add the necessary gmp dependency. +ifeq ($(BR2_GDB_VERSION_11),y) +HOST_GDB_DEPENDENCIES += host-gmp +endif + # When gdb sources are fetched from the binutils-gdb repository, they # also contain the binutils sources, but binutils shouldn't be built, # so we disable it (additionally the option --disable-install-libbfd @@ -156,7 +153,7 @@ ifeq ($(BR2_PACKAGE_GDB_DEBUGGER),y) GDB_CONF_OPTS += \ --enable-gdb \ --with-curses -GDB_DEPENDENCIES = ncurses \ +GDB_DEPENDENCIES += ncurses \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) else GDB_CONF_OPTS += \ @@ -164,8 +161,19 @@ GDB_CONF_OPTS += \ --without-curses endif +# When BR2_GDB_VERSION_11=y (because it's enabled for the host) and +# we're building the full gdb for the target, we need gmp as a +# dependency. For now the default gdb version in Buildroot doesn't +# require gmp. +ifeq ($(BR2_GDB_VERSION_11)$(BR2_PACKAGE_GDB_DEBUGGER),yy) +GDB_CONF_OPTS += \ + --with-libgmp-prefix=$(STAGING_DIR)/usr +GDB_DEPENDENCIES += gmp +endif + ifeq ($(BR2_PACKAGE_GDB_SERVER),y) GDB_CONF_OPTS += --enable-gdbserver +GDB_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) else GDB_CONF_OPTS += --disable-gdbserver endif @@ -195,17 +203,10 @@ GDB_CONF_OPTS += --disable-tui endif ifeq ($(BR2_PACKAGE_GDB_PYTHON),y) -ifeq ($(BR2_PACKAGE_PYTHON3),y) # CONF_ENV: for top-level configure; MAKE_ENV: for sub-projects' configure. GDB_CONF_ENV += BR_PYTHON_VERSION=$(PYTHON3_VERSION_MAJOR) GDB_MAKE_ENV += BR_PYTHON_VERSION=$(PYTHON3_VERSION_MAJOR) GDB_DEPENDENCIES += python3 -else -# CONF_ENV: for top-level configure; MAKE_ENV: for sub-projects' configure. -GDB_CONF_ENV += BR_PYTHON_VERSION=$(PYTHON_VERSION_MAJOR) -GDB_MAKE_ENV += BR_PYTHON_VERSION=$(PYTHON_VERSION_MAJOR) -GDB_DEPENDENCIES += python -endif GDB_CONF_OPTS += --with-python=$(TOPDIR)/package/gdb/gdb-python-config else GDB_CONF_OPTS += --without-python @@ -281,10 +282,7 @@ else HOST_GDB_CONF_OPTS += --disable-tui endif -ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON),y) -HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python2 -HOST_GDB_DEPENDENCIES += host-python -else ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON3),y) +ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON3),y) HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python3 HOST_GDB_DEPENDENCIES += host-python3 else diff --git a/package/gdbm/0001-fix-build-with-gcc-10.patch b/package/gdbm/0001-fix-build-with-gcc-10.patch deleted file mode 100644 index cd1417c81a4..00000000000 --- a/package/gdbm/0001-fix-build-with-gcc-10.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 9fecb6ce056f25837dffac95260d5a80b9f468c0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 19 Aug 2020 10:37:07 +0200 -Subject: [PATCH] fix build with gcc 10 - -Move initialisation of global variables to main functions to fix the -following build failure with gcc 10: - -/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x2c): multiple definition of `parseopt_program_args'; gdbm_dump.o:(.data.rel.local+0x28): first defined here -/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x30): multiple definition of `parseopt_program_doc'; gdbm_dump.o:(.data.rel.local+0x2c): first defined here -/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x2c): multiple definition of `parseopt_program_args'; gdbm_load.o:(.data.rel.local+0xa0): first defined here -/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x30): multiple definition of `parseopt_program_doc'; gdbm_load.o:(.data.rel.local+0xa4): first defined here - -Fixes: - - http://autobuild.buildroot.org/results/d09b5368bb624df629296359a5abcdd37ba61e9e - -Signed-off-by: Fabrice Fontaine -[Upstream status: sent to Sergey Poznyakoff ] ---- - src/gdbm_dump.c | 5 +++-- - src/gdbm_load.c | 5 +++-- - src/gdbmtool.c | 5 +++-- - 3 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/src/gdbm_dump.c b/src/gdbm_dump.c -index 82fb5af..67574ac 100644 ---- a/src/gdbm_dump.c -+++ b/src/gdbm_dump.c -@@ -19,8 +19,6 @@ - # include "gdbmapp.h" - # include "gdbmdefs.h" - --char *parseopt_program_doc = "dump a GDBM database to a file"; --char *parseopt_program_args = "DB_FILE [FILE]"; - struct gdbm_option optab[] = { - { 'H', "format", "binary|ascii|0|1", N_("select dump format") }, - { 0 } -@@ -36,6 +34,9 @@ main (int argc, char **argv) - char *dbname, *filename; - FILE *fp; - -+ parseopt_program_doc = "dump a GDBM database to a file"; -+ parseopt_program_args = "DB_FILE [FILE]"; -+ - #ifdef HAVE_SETLOCALE - setlocale (LC_ALL, ""); - #endif -diff --git a/src/gdbm_load.c b/src/gdbm_load.c -index 2d96ada..1b2739c 100644 ---- a/src/gdbm_load.c -+++ b/src/gdbm_load.c -@@ -29,8 +29,6 @@ int mode; - uid_t owner_uid; - gid_t owner_gid; - --char *parseopt_program_doc = "load a GDBM database from a file"; --char *parseopt_program_args = "FILE [DB_FILE]"; - struct gdbm_option optab[] = { - { 'r', "replace", NULL, N_("replace records in the existing database") }, - { 'm', "mode", N_("MODE"), N_("set file mode") }, -@@ -100,6 +98,9 @@ main (int argc, char **argv) - int cache_size = 0; - int block_size = 0; - -+ parseopt_program_doc = "load a GDBM database from a file"; -+ parseopt_program_args = "FILE [DB_FILE]"; -+ - #ifdef HAVE_SETLOCALE - setlocale (LC_ALL, ""); - #endif -diff --git a/src/gdbmtool.c b/src/gdbmtool.c -index bbadbae..69bc3b1 100644 ---- a/src/gdbmtool.c -+++ b/src/gdbmtool.c -@@ -1535,8 +1535,6 @@ command_lookup (const char *str, struct locus *loc, struct command **pcmd) - return found->tok; - } - --char *parseopt_program_doc = N_("examine and/or modify a GDBM database"); --char *parseopt_program_args = N_("DBFILE [COMMAND [ARG ...]]"); - - enum { - OPT_LEX_TRACE = 256, -@@ -2053,6 +2051,9 @@ main (int argc, char *argv[]) - char *source = NULL; - instream_t input = NULL; - -+ parseopt_program_doc = N_("examine and/or modify a GDBM database"); -+ parseopt_program_args = N_("DBFILE [COMMAND [ARG ...]]"); -+ - set_progname (argv[0]); - #if GDBM_DEBUG_ENABLE - gdbm_debug_printer = debug_printer; --- -2.27.0 - diff --git a/package/gdbm/Config.in b/package/gdbm/Config.in index 3646bd05882..7c8fcc4e5a2 100644 --- a/package/gdbm/Config.in +++ b/package/gdbm/Config.in @@ -1,7 +1,13 @@ config BR2_PACKAGE_GDBM bool "gdbm" + depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR help GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines. - http://www.gnu.org/software/gdbm/gdbm.html + https://www.gnu.org/software/gdbm/gdbm.html + +comment "gdbm needs a toolchain w/ wchar" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR diff --git a/package/gdbm/gdbm.hash b/package/gdbm/gdbm.hash index 8de9f6368d6..59f9ea62de9 100644 --- a/package/gdbm/gdbm.hash +++ b/package/gdbm/gdbm.hash @@ -1,6 +1,6 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2018-10/msg00006.html -md5 988dc82182121c7570e0cb8b4fcd5415 gdbm-1.18.1.tar.gz -sha1 4a923ebfac06bb05c1c7699b206719e06a938f0d gdbm-1.18.1.tar.gz +# From https://www.gnu.org.ua/software/gdbm/download.html +md5 0bbd38f12656e4728e2f7c4708aec014 gdbm-1.22.tar.gz +sha1 c45cc0178cbf41828369b07749d41778741703bd gdbm-1.22.tar.gz # Locally computed -sha256 86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc gdbm-1.18.1.tar.gz -sha256 690d762f2e8e149ab1e2d6a409a3853b6151a2533b2382fae549a176d6bedecf COPYING +sha256 f366c823a6724af313b6bbe975b2809f9a157e5f6a43612a72949138d161d762 gdbm-1.22.tar.gz +sha256 690d762f2e8e149ab1e2d6a409a3853b6151a2533b2382fae549a176d6bedecf COPYING diff --git a/package/gdbm/gdbm.mk b/package/gdbm/gdbm.mk index 084a7769f22..52624f58079 100644 --- a/package/gdbm/gdbm.mk +++ b/package/gdbm/gdbm.mk @@ -4,7 +4,7 @@ # ################################################################################ -GDBM_VERSION = 1.18.1 +GDBM_VERSION = 1.22 GDBM_SITE = $(BR2_GNU_MIRROR)/gdbm GDBM_LICENSE = GPL-3.0+ GDBM_LICENSE_FILES = COPYING diff --git a/package/gdk-pixbuf-xlib/Config.in b/package/gdk-pixbuf-xlib/Config.in new file mode 100644 index 00000000000..2efc5d4d66f --- /dev/null +++ b/package/gdk-pixbuf-xlib/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_GDK_PIXBUF_XLIB + bool "gdk-pixbuf-xlib" + depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_MMU # gdk-pixbuf -> glib2 + depends on BR2_USE_WCHAR # gdk-pixbuf -> glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # gdk-pixbuf -> glib2 + select BR2_PACKAGE_GDK_PIXBUF + select BR2_PACKAGE_XLIB_LIBX11 + help + Deprecated Xlib integration for GdkPixbuf. + + https://gitlab.gnome.org/Archive/gdk-pixbuf-xlib + +comment "gdk-pixbuf-xlib needs a toolchain w/ wchar, threads" + depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gdk-pixbuf-xlib/gdk-pixbuf-xlib.hash b/package/gdk-pixbuf-xlib/gdk-pixbuf-xlib.hash new file mode 100644 index 00000000000..e7f74e2b4b5 --- /dev/null +++ b/package/gdk-pixbuf-xlib/gdk-pixbuf-xlib.hash @@ -0,0 +1,5 @@ +# From https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf-xlib/2.40/gdk-pixbuf-xlib-2.40.2.sha256sum +sha256 8b8e1c270ec16a06f665ea841f8e4e167eaa0118d0cbfeeade43745f09198ff7 gdk-pixbuf-xlib-2.40.2.tar.xz + +# Hash for license file +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gdk-pixbuf-xlib/gdk-pixbuf-xlib.mk b/package/gdk-pixbuf-xlib/gdk-pixbuf-xlib.mk new file mode 100644 index 00000000000..3e61373b3a8 --- /dev/null +++ b/package/gdk-pixbuf-xlib/gdk-pixbuf-xlib.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# gdk-pixbuf-xlib +# +################################################################################ + +GDK_PIXBUF_XLIB_VERSION_MAJOR = 2.40 +GDK_PIXBUF_XLIB_VERSION = $(GDK_PIXBUF_XLIB_VERSION_MAJOR).2 +GDK_PIXBUF_XLIB_SOURCE = gdk-pixbuf-xlib-$(GDK_PIXBUF_XLIB_VERSION).tar.xz +GDK_PIXBUF_XLIB_SITE = http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf-xlib/$(GDK_PIXBUF_XLIB_VERSION_MAJOR) +GDK_PIXBUF_XLIB_LICENSE = LGPL-2.1+ +GDK_PIXBUF_XLIB_LICENSE_FILES = COPYING +GDK_PIXBUF_XLIB_INSTALL_STAGING = YES +GDK_PIXBUF_XLIB_DEPENDENCIES = gdk-pixbuf xlib_libX11 + +$(eval $(meson-package)) diff --git a/package/gdk-pixbuf/0001-meson.build-link-with-lintl-if-needed.patch b/package/gdk-pixbuf/0001-meson.build-link-with-lintl-if-needed.patch deleted file mode 100644 index 08a3a681cf7..00000000000 --- a/package/gdk-pixbuf/0001-meson.build-link-with-lintl-if-needed.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 65c8bc8ec4ae8dd140b0205a61d0d216fa45d819 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 28 Jan 2021 07:50:44 +0100 -Subject: [PATCH] meson.build: link with lintl if needed - -Link with -lintl to avoid the following build failure: - -/home/giuliobenetti/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/5.5.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: gdk-pixbuf/libgdk_pixbuf-2.0.so.0.4200.2.p/gdk-pixbuf-util.c.o: in function `_gdk_pixbuf_init_gettext': -gdk-pixbuf-util.c:(.text+0xbc0): undefined reference to `libintl_bindtextdomain' -/home/giuliobenetti/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/5.5.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: gdk-pixbuf-util.c:(.text+0xbc8): undefined reference to `libintl_bindtextdomain' - -Fixes: - - http://autobuild.buildroot.org/results/894359558100ea9637feba16deaf99923805d0f2 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/101] ---- - meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 1cef125a3..973948108 100644 ---- a/meson.build -+++ b/meson.build -@@ -93,6 +93,7 @@ if cc.has_function('lrint', dependencies: mathlib_dep) - gdk_pixbuf_conf.set('HAVE_LRINT', 1) - endif - -+intl_dep = cc.find_library('intl', required: false) - if cc.has_function('bind_textdomain_codeset', prefix: '#include ') - gdk_pixbuf_conf.set('HAVE_BIND_TEXTDOMAIN_CODESET', 1) - endif -@@ -212,7 +213,7 @@ if medialib_dep.found() - endif - - gdk_pixbuf_deps = [ mathlib_dep, glib_dep, gobject_dep, gmodule_dep, gio_dep, -- shared_mime_dep, medialib_dep ] -+ shared_mime_dep, medialib_dep, intl_dep ] - - # Check if we can build shared modules - if gmodule_dep.type_name() == 'pkgconfig' --- -2.29.2 - diff --git a/package/gdk-pixbuf/0002-gdk-pixbuf-gdk-pixbuf-io.c-fix-build-without-gmodule.patch b/package/gdk-pixbuf/0002-gdk-pixbuf-gdk-pixbuf-io.c-fix-build-without-gmodule.patch deleted file mode 100644 index 74bc967a688..00000000000 --- a/package/gdk-pixbuf/0002-gdk-pixbuf-gdk-pixbuf-io.c-fix-build-without-gmodule.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 46c7fe11bd0ed8595c3f920d42a9914fa864d893 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 7 Feb 2021 18:51:14 +0100 -Subject: [PATCH] gdk-pixbuf/gdk-pixbuf-io.c: fix build without gmodule - -Fix the following build failure: - -../gdk-pixbuf/gdk-pixbuf-io.c: In function 'gdk_pixbuf_io_init': -../gdk-pixbuf/gdk-pixbuf-io.c:681:16: error: implicit declaration of function 'gdk_pixbuf_get_module_file'; did you mean '_gdk_pixbuf_get_module'? [-Werror=implicit-function-declaration] - 681 | module_file = gdk_pixbuf_get_module_file (); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ - | _gdk_pixbuf_get_module - -Fixes: - - http://autobuild.buildroot.org/results/6cd54c497f5d19342ec94ece713547b887e4c02d - -Upstream status: Accepted -https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/103 - -Signed-off-by: Fabrice Fontaine ---- - gdk-pixbuf/gdk-pixbuf-io.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gdk-pixbuf/gdk-pixbuf-io.c b/gdk-pixbuf/gdk-pixbuf-io.c -index 40eb920c8..2dc2ea6da 100644 ---- a/gdk-pixbuf/gdk-pixbuf-io.c -+++ b/gdk-pixbuf/gdk-pixbuf-io.c -@@ -678,7 +678,9 @@ gdk_pixbuf_io_init (void) - gboolean ret; - - gdk_pixbuf_io_init_builtin (); -+#ifdef USE_GMODULE - module_file = gdk_pixbuf_get_module_file (); -+#endif - ret = gdk_pixbuf_io_init_modules (module_file, NULL); - g_free (module_file); - return ret; --- -2.29.2 - diff --git a/package/gdk-pixbuf/Config.in b/package/gdk-pixbuf/Config.in index 44942ac4f63..0ba6dda8afb 100644 --- a/package/gdk-pixbuf/Config.in +++ b/package/gdk-pixbuf/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_GDK_PIXBUF Gdk-Pixbuf is an image loader and scaler. It uses GObject and the GLib, to integrate well with GNOME applications. - http://www.gtk.org/ + https://www.gtk.org/ comment "gdk-pixbuf needs a toolchain w/ wchar, threads" depends on BR2_USE_MMU diff --git a/package/gdk-pixbuf/gdk-pixbuf.hash b/package/gdk-pixbuf/gdk-pixbuf.hash index be7593aebf8..5e7dc7e03bf 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.hash +++ b/package/gdk-pixbuf/gdk-pixbuf.hash @@ -1,4 +1,3 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.2.sha256sum -sha256 83c66a1cfd591d7680c144d2922c5955d38b4db336d7cd3ee109f7bcf9afef15 gdk-pixbuf-2.42.2.tar.xz -# Locally calculated +# From https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.4.sha256sum +sha256 fe9c5dd88f486194ea2bc09b8814c1ed895bb6c530f37cbbf259757c4e482e4d gdk-pixbuf-2.42.4.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index 1bd422c0a16..329c05520e8 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -5,7 +5,7 @@ ################################################################################ GDK_PIXBUF_VERSION_MAJOR = 2.42 -GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).2 +GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).4 GDK_PIXBUF_SOURCE = gdk-pixbuf-$(GDK_PIXBUF_VERSION).tar.xz GDK_PIXBUF_SITE = http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/$(GDK_PIXBUF_VERSION_MAJOR) GDK_PIXBUF_LICENSE = LGPL-2.1+ @@ -26,6 +26,7 @@ HOST_GDK_PIXBUF_CONF_OPTS = \ -Dgio_sniffing=false \ -Dinstalled_tests=false \ -Dintrospection=disabled \ + -Drelocatable=true \ -Dman=false ifeq ($(BR2_STATIC_LIBS),y) @@ -69,14 +70,14 @@ endif # gdk-pixbuf requires the loaders.cache file populated to work properly # Rather than doing so at runtime, since the fs can be read-only, do so # here after building and installing to target. -# And since the cache file will contain absolute host directory names we -# need to sanitize (strip) them. +# And since the cache file will contain relative host directory names we +# need to prepend them with /usr/. ifeq ($(BR2_STATIC_LIBS),) define GDK_PIXBUF_UPDATE_CACHE GDK_PIXBUF_MODULEDIR=$(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders \ $(HOST_DIR)/bin/gdk-pixbuf-query-loaders \ > $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache - $(SED) "s,$(HOST_DIR)/lib,/usr/lib,g" \ + $(SED) 's,^"lib,"/usr/lib,g' \ $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache endef GDK_PIXBUF_POST_INSTALL_TARGET_HOOKS += GDK_PIXBUF_UPDATE_CACHE diff --git a/package/genext2fs/0001-update-genext2fs.c-to-rev-1.118.patch b/package/genext2fs/0001-update-genext2fs.c-to-rev-1.118.patch deleted file mode 100644 index 755ee9dee27..00000000000 --- a/package/genext2fs/0001-update-genext2fs.c-to-rev-1.118.patch +++ /dev/null @@ -1,2971 +0,0 @@ -[PATCH] update genext2fs.c to CVS rev 1.118 - -See http://genext2fs.cvs.sourceforge.net/viewvc/genext2fs/genext2fs/genext2fs.c?view=log -for details. - -Numerous bugfixes, large file and filesystem support, rev 1 filesystems, -volume id support, block size, .. - -Signed-off-by: Peter Korsgaard ---- - cache.h | 128 ++++ - genext2fs.c | 1870 ++++++++++++++++++++++++++++++++++++++++++------------------ - list.h | 78 ++ - 3 files changed, 1527 insertions(+), 549 deletions(-) - -Index: genext2fs-1.4.1/genext2fs.c -=================================================================== ---- genext2fs-1.4.1.orig/genext2fs.c -+++ genext2fs-1.4.1/genext2fs.c -@@ -53,6 +53,12 @@ - // along with -q, -P, -U - - -+/* -+ * Allow fseeko/off_t to be 64-bit offsets to allow filesystems and -+ * individual files >2GB. -+ */ -+#define _FILE_OFFSET_BITS 64 -+ - #include - #include - -@@ -107,10 +113,8 @@ - - #if HAVE_DIRENT_H - # include --# define NAMLEN(dirent) strlen((dirent)->d_name) - #else - # define dirent direct --# define NAMLEN(dirent) (dirent)->d_namlen - # if HAVE_SYS_NDIR_H - # include - # endif -@@ -144,6 +148,8 @@ - # include - #endif - -+#include "cache.h" -+ - struct stats { - unsigned long nblocks; - unsigned long ninodes; -@@ -151,13 +157,42 @@ - - // block size - --#define BLOCKSIZE 1024 -+static int blocksize = 1024; -+ -+#define SUPERBLOCK_OFFSET 1024 -+#define SUPERBLOCK_SIZE 1024 -+ -+#define BLOCKSIZE blocksize - #define BLOCKS_PER_GROUP 8192 - #define INODES_PER_GROUP 8192 - /* Percentage of blocks that are reserved.*/ - #define RESERVED_BLOCKS 5/100 - #define MAX_RESERVED_BLOCKS 25/100 - -+/* The default value for s_creator_os. */ -+#if defined(__linux__) && defined(EXT2_OS_LINUX) -+#define CREATOR_OS EXT2_OS_LINUX -+#define CREATOR_OS_NAME "linux" -+#else -+#if defined(__GNU__) && defined(EXT2_OS_HURD) -+#define CREATOR_OS EXT2_OS_HURD -+#define CREATOR_OS_NAME "hurd" -+#else -+#if defined(__FreeBSD__) && defined(EXT2_OS_FREEBSD) -+#define CREATOR_OS EXT2_OS_FREEBSD -+#define CREATOR_OS_NAME "freebsd" -+#else -+#if defined(LITES) && defined(EXT2_OS_LITES) -+#define CREATOR_OS EXT2_OS_LITES -+#define CREATOR_OS_NAME "lites" -+#else -+#define CREATOR_OS EXT2_OS_LINUX /* by default */ -+#define CREATOR_OS_NAME "linux" -+#endif /* defined(LITES) && defined(EXT2_OS_LITES) */ -+#endif /* defined(__FreeBSD__) && defined(EXT2_OS_FREEBSD) */ -+#endif /* defined(__GNU__) && defined(EXT2_OS_HURD) */ -+#endif /* defined(__linux__) && defined(EXT2_OS_LINUX) */ -+ - - // inode block size (why is it != BLOCKSIZE ?!?) - /* The field i_blocks in the ext2 inode stores the number of data blocks -@@ -190,6 +225,14 @@ - #define EXT2_TIND_BLOCK 14 // triple indirect block - #define EXT2_INIT_BLOCK 0xFFFFFFFF // just initialized (not really a block address) - -+// codes for operating systems -+ -+#define EXT2_OS_LINUX 0 -+#define EXT2_OS_HURD 1 -+#define EXT2_OS_MASIX 2 -+#define EXT2_OS_FREEBSD 3 -+#define EXT2_OS_LITES 4 -+ - // end of a block walk - - #define WALK_END 0xFFFFFFFE -@@ -227,44 +270,46 @@ - #define FM_IWOTH 0000002 // write - #define FM_IXOTH 0000001 // execute - --// options -- --#define OP_HOLES 0x01 // make files with holes -- - /* Defines for accessing group details */ - - // Number of groups in the filesystem - #define GRP_NBGROUPS(fs) \ -- (((fs)->sb.s_blocks_count - fs->sb.s_first_data_block + \ -- (fs)->sb.s_blocks_per_group - 1) / (fs)->sb.s_blocks_per_group) -+ (((fs)->sb->s_blocks_count - fs->sb->s_first_data_block + \ -+ (fs)->sb->s_blocks_per_group - 1) / (fs)->sb->s_blocks_per_group) - - // Get group block bitmap (bbm) given the group number --#define GRP_GET_GROUP_BBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_block_bitmap) ) -+#define GRP_GET_GROUP_BBM(fs,grp,bi) (get_blk((fs),(grp)->bg_block_bitmap,(bi))) -+#define GRP_PUT_GROUP_BBM(bi) ( put_blk((bi)) ) - - // Get group inode bitmap (ibm) given the group number --#define GRP_GET_GROUP_IBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_inode_bitmap) ) -- -+#define GRP_GET_GROUP_IBM(fs,grp,bi) (get_blk((fs), (grp)->bg_inode_bitmap,(bi))) -+#define GRP_PUT_GROUP_IBM(bi) ( put_blk((bi)) ) -+ - // Given an inode number find the group it belongs to --#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb.s_inodes_per_group) -+#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb->s_inodes_per_group) - - //Given an inode number get the inode bitmap that covers it --#define GRP_GET_INODE_BITMAP(fs,nod) \ -- ( GRP_GET_GROUP_IBM((fs),GRP_GROUP_OF_INODE((fs),(nod))) ) -+#define GRP_GET_INODE_BITMAP(fs,nod,bi,gi) \ -+ ( GRP_GET_GROUP_IBM((fs),get_gd(fs,GRP_GROUP_OF_INODE((fs),(nod)),gi),bi) ) -+#define GRP_PUT_INODE_BITMAP(bi,gi) \ -+ ( GRP_PUT_GROUP_IBM((bi)),put_gd((gi)) ) - - //Given an inode number find its offset within the inode bitmap that covers it - #define GRP_IBM_OFFSET(fs,nod) \ -- ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb.s_inodes_per_group ) -+ ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb->s_inodes_per_group ) - - // Given a block number find the group it belongs to --#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb.s_blocks_per_group) -+#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb->s_blocks_per_group) - --//Given a block number get the block bitmap that covers it --#define GRP_GET_BLOCK_BITMAP(fs,blk) \ -- ( GRP_GET_GROUP_BBM((fs),GRP_GROUP_OF_BLOCK((fs),(blk))) ) -+//Given a block number get/put the block bitmap that covers it -+#define GRP_GET_BLOCK_BITMAP(fs,blk,bi,gi) \ -+ ( GRP_GET_GROUP_BBM((fs),get_gd(fs,GRP_GROUP_OF_BLOCK((fs),(blk)),(gi)),(bi)) ) -+#define GRP_PUT_BLOCK_BITMAP(bi,gi) \ -+ ( GRP_PUT_GROUP_BBM((bi)),put_gd((gi)) ) - - //Given a block number find its offset within the block bitmap that covers it - #define GRP_BBM_OFFSET(fs,blk) \ -- ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb.s_blocks_per_group ) -+ ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb->s_blocks_per_group ) - - - // used types -@@ -286,7 +331,9 @@ - // older solaris. Note that this is still not very portable, in that - // the return value cannot be trusted. - --#if SCANF_CAN_MALLOC -+#if 0 // SCANF_CAN_MALLOC -+// C99 define "a" for floating point, so you can have runtime surprise -+// according the library versions - # define SCANF_PREFIX "a" - # define SCANF_STRING(s) (&s) - #else -@@ -430,6 +477,17 @@ - ((val<<8)&0xFF0000) | (val<<24)); - } - -+static inline int -+is_blk_empty(uint8 *b) -+{ -+ uint32 i; -+ uint32 *v = (uint32 *) b; -+ -+ for(i = 0; i < BLOCKSIZE / 4; i++) -+ if (*v++) -+ return 0; -+ return 1; -+} - - // on-disk structures - // this trick makes me declare things only once -@@ -460,7 +518,22 @@ - udecl32(s_creator_os) /* Indicator of which OS created the filesystem */ \ - udecl32(s_rev_level) /* The revision level of the filesystem */ \ - udecl16(s_def_resuid) /* The default uid for reserved blocks */ \ -- udecl16(s_def_resgid) /* The default gid for reserved blocks */ -+ udecl16(s_def_resgid) /* The default gid for reserved blocks */ \ -+ /* rev 1 version fields start here */ \ -+ udecl32(s_first_ino) /* First non-reserved inode */ \ -+ udecl16(s_inode_size) /* size of inode structure */ \ -+ udecl16(s_block_group_nr) /* block group # of this superblock */ \ -+ udecl32(s_feature_compat) /* compatible feature set */ \ -+ udecl32(s_feature_incompat) /* incompatible feature set */ \ -+ udecl32(s_feature_ro_compat) /* readonly-compatible feature set */ \ -+ utdecl8(s_uuid,16) /* 128-bit uuid for volume */ \ -+ utdecl8(s_volume_name,16) /* volume name */ \ -+ utdecl8(s_last_mounted,64) /* directory where last mounted */ \ -+ udecl32(s_algorithm_usage_bitmap) /* For compression */ -+ -+#define EXT2_GOOD_OLD_FIRST_INO 11 -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 - - #define groupdescriptor_decl \ - udecl32(bg_block_bitmap) /* Block number of the block bitmap */ \ -@@ -500,6 +573,7 @@ - - #define decl8(x) int8 x; - #define udecl8(x) uint8 x; -+#define utdecl8(x,n) uint8 x[n]; - #define decl16(x) int16 x; - #define udecl16(x) uint16 x; - #define decl32(x) int32 x; -@@ -509,7 +583,7 @@ - typedef struct - { - superblock_decl -- uint32 s_reserved[235]; // Reserved -+ uint32 s_reserved[205]; // Reserved - } superblock; - - typedef struct -@@ -527,10 +601,9 @@ - typedef struct - { - directory_decl -- char d_name[0]; - } directory; - --typedef uint8 block[BLOCKSIZE]; -+typedef uint8 *block; - - /* blockwalker fields: - The blockwalker is used to access all the blocks of a file (including -@@ -567,23 +640,41 @@ - uint32 bptind; - } blockwalker; - -+#define HDLINK_CNT 16 -+struct hdlink_s -+{ -+ uint32 src_inode; -+ uint32 dst_nod; -+}; -+ -+struct hdlinks_s -+{ -+ int32 count; -+ struct hdlink_s *hdl; -+}; - - /* Filesystem structure that support groups */ --#if BLOCKSIZE == 1024 - typedef struct - { -- block zero; // The famous block 0 -- superblock sb; // The superblock -- groupdescriptor gd[0]; // The group descriptors -+ FILE *f; -+ superblock *sb; -+ int swapit; -+ int32 hdlink_cnt; -+ struct hdlinks_s hdlinks; -+ -+ int holes; -+ -+ listcache blks; -+ listcache gds; -+ listcache inodes; -+ listcache blkmaps; - } filesystem; --#else --#error UNHANDLED BLOCKSIZE --#endif - - // now the endianness swap - - #undef decl8 - #undef udecl8 -+#undef utdecl8 - #undef decl16 - #undef udecl16 - #undef decl32 -@@ -592,28 +683,13 @@ - - #define decl8(x) - #define udecl8(x) -+#define utdecl8(x,n) - #define decl16(x) this->x = swab16(this->x); - #define udecl16(x) this->x = swab16(this->x); - #define decl32(x) this->x = swab32(this->x); - #define udecl32(x) this->x = swab32(this->x); - #define utdecl32(x,n) { int i; for(i=0; ix[i] = swab32(this->x[i]); } - --#define HDLINK_CNT 16 --static int32 hdlink_cnt = HDLINK_CNT; --struct hdlink_s --{ -- uint32 src_inode; -- uint32 dst_nod; --}; -- --struct hdlinks_s --{ -- int32 count; -- struct hdlink_s *hdl; --}; -- --static struct hdlinks_s hdlinks; -- - static void - swap_sb(superblock *sb) - { -@@ -633,9 +709,24 @@ - static void - swap_nod(inode *nod) - { -+ uint32 nblk; -+ - #define this nod - inode_decl - #undef this -+ -+ // block and character inodes store the major and minor in the -+ // i_block, so we need to unswap to get those. Also, if it's -+ // zero iblocks, put the data back like it belongs. -+ nblk = nod->i_blocks / INOBLK; -+ if ((nod->i_size && !nblk) -+ || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) -+ || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) -+ { -+ int i; -+ for(i = 0; i <= EXT2_TIND_BLOCK; i++) -+ nod->i_block[i] = swab32(nod->i_block[i]); -+ } - } - - static void -@@ -657,6 +748,7 @@ - - #undef decl8 - #undef udecl8 -+#undef utdecl8 - #undef decl16 - #undef udecl16 - #undef decl32 -@@ -770,15 +862,15 @@ - } - - int --is_hardlink(ino_t inode) -+is_hardlink(filesystem *fs, ino_t inode) - { - int i; - -- for(i = 0; i < hdlinks.count; i++) { -- if(hdlinks.hdl[i].src_inode == inode) -+ for(i = 0; i < fs->hdlinks.count; i++) { -+ if(fs->hdlinks.hdl[i].src_inode == inode) - return i; - } -- return -1; -+ return -1; - } - - // printf helper macro -@@ -789,6 +881,8 @@ - get_workblk(void) - { - unsigned char* b=calloc(1,BLOCKSIZE); -+ if (!b) -+ error_msg_and_die("get_workblk() failed, out of memory"); - return b; - } - static inline void -@@ -811,24 +905,464 @@ - return b[(item-1) / 8] & (1 << ((item-1) % 8)); - } - --// return a given block from a filesystem -+// Used by get_blk/put_blk to hold information about a block owned -+// by the user. -+typedef struct -+{ -+ cache_link link; -+ -+ filesystem *fs; -+ uint32 blk; -+ uint8 *b; -+ uint32 usecount; -+} blk_info; -+ -+#define MAX_FREE_CACHE_BLOCKS 100 -+ -+static uint32 -+blk_elem_val(cache_link *elem) -+{ -+ blk_info *bi = container_of(elem, blk_info, link); -+ return bi->blk; -+} -+ -+static void -+blk_freed(cache_link *elem) -+{ -+ blk_info *bi = container_of(elem, blk_info, link); -+ -+ if (fseeko(bi->fs->f, ((off_t) bi->blk) * BLOCKSIZE, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (fwrite(bi->b, BLOCKSIZE, 1, bi->fs->f) != 1) -+ perror_msg_and_die("get_blk: write"); -+ free(bi->b); -+ free(bi); -+} -+ -+// Return a given block from a filesystem. Make sure to call -+// put_blk when you are done with it. - static inline uint8 * --get_blk(filesystem *fs, uint32 blk) -+get_blk(filesystem *fs, uint32 blk, blk_info **rbi) - { -- return (uint8*)fs + blk*BLOCKSIZE; -+ cache_link *curr; -+ blk_info *bi; -+ -+ if (blk >= fs->sb->s_blocks_count) -+ error_msg_and_die("Internal error, block out of range"); -+ -+ curr = cache_find(&fs->blks, blk); -+ if (curr) { -+ bi = container_of(curr, blk_info, link); -+ bi->usecount++; -+ goto out; -+ } -+ -+ bi = malloc(sizeof(*bi)); -+ if (!bi) -+ error_msg_and_die("get_blk: out of memory"); -+ bi->fs = fs; -+ bi->blk = blk; -+ bi->usecount = 1; -+ bi->b = malloc(BLOCKSIZE); -+ if (!bi->b) -+ error_msg_and_die("get_blk: out of memory"); -+ cache_add(&fs->blks, &bi->link); -+ if (fseeko(fs->f, ((off_t) blk) * BLOCKSIZE, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (fread(bi->b, BLOCKSIZE, 1, fs->f) != 1) { -+ if (ferror(fs->f)) -+ perror_msg_and_die("fread"); -+ memset(bi->b, 0, BLOCKSIZE); -+ } -+ -+out: -+ *rbi = bi; -+ return bi->b; - } - - // return a given inode from a filesystem --static inline inode * --get_nod(filesystem *fs, uint32 nod) -+static inline void -+put_blk(blk_info *bi) -+{ -+ if (bi->usecount == 0) -+ error_msg_and_die("Internal error: put_blk usecount zero"); -+ bi->usecount--; -+ if (bi->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&bi->fs->blks, &bi->link); -+} -+ -+typedef struct - { -- int grp,offset; -+ cache_link link; -+ -+ filesystem *fs; -+ int gds; -+ blk_info *bi; -+ groupdescriptor *gd; -+ uint32 usecount; -+} gd_info; -+ -+#define MAX_FREE_CACHE_GDS 100 -+ -+static uint32 -+gd_elem_val(cache_link *elem) -+{ -+ gd_info *gi = container_of(elem, gd_info, link); -+ return gi->gds; -+} -+ -+static void -+gd_freed(cache_link *elem) -+{ -+ gd_info *gi = container_of(elem, gd_info, link); -+ -+ if (gi->fs->swapit) -+ swap_gd(gi->gd); -+ put_blk(gi->bi); -+ free(gi); -+} -+ -+#define GDS_START ((SUPERBLOCK_OFFSET + SUPERBLOCK_SIZE + BLOCKSIZE - 1) / BLOCKSIZE) -+#define GDS_PER_BLOCK (BLOCKSIZE / sizeof(groupdescriptor)) -+// the group descriptors are aligned on the block size -+static inline groupdescriptor * -+get_gd(filesystem *fs, uint32 no, gd_info **rgi) -+{ -+ uint32 gdblk; -+ uint32 offset; -+ gd_info *gi; -+ cache_link *curr; -+ -+ curr = cache_find(&fs->gds, no); -+ if (curr) { -+ gi = container_of(curr, gd_info, link); -+ gi->usecount++; -+ goto out; -+ } -+ -+ gi = malloc(sizeof(*gi)); -+ if (!gi) -+ error_msg_and_die("get_gd: out of memory"); -+ gi->fs = fs; -+ gi->gds = no; -+ gi->usecount = 1; -+ gdblk = GDS_START + (no / GDS_PER_BLOCK); -+ offset = no % GDS_PER_BLOCK; -+ gi->gd = ((groupdescriptor *) get_blk(fs, gdblk, &gi->bi)) + offset; -+ cache_add(&fs->gds, &gi->link); -+ if (fs->swapit) -+ swap_gd(gi->gd); -+ out: -+ *rgi = gi; -+ -+ return gi->gd; -+} -+ -+static inline void -+put_gd(gd_info *gi) -+{ -+ if (gi->usecount == 0) -+ error_msg_and_die("Internal error: put_gd usecount zero"); -+ -+ gi->usecount--; -+ if (gi->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&gi->fs->gds, &gi->link); -+} -+ -+// Used by get_blkmap/put_blkmap to hold information about an block map -+// owned by the user. -+typedef struct -+{ -+ cache_link link; -+ -+ filesystem *fs; -+ uint32 blk; -+ uint8 *b; -+ blk_info *bi; -+ uint32 usecount; -+} blkmap_info; -+ -+#define MAX_FREE_CACHE_BLOCKMAPS 100 -+ -+static uint32 -+blkmap_elem_val(cache_link *elem) -+{ -+ blkmap_info *bmi = container_of(elem, blkmap_info, link); -+ return bmi->blk; -+} -+ -+static void -+blkmap_freed(cache_link *elem) -+{ -+ blkmap_info *bmi = container_of(elem, blkmap_info, link); -+ -+ if (bmi->fs->swapit) -+ swap_block(bmi->b); -+ put_blk(bmi->bi); -+ free(bmi); -+} -+ -+// Return a given block map from a filesystem. Make sure to call -+// put_blkmap when you are done with it. -+static inline uint32 * -+get_blkmap(filesystem *fs, uint32 blk, blkmap_info **rbmi) -+{ -+ blkmap_info *bmi; -+ cache_link *curr; -+ -+ curr = cache_find(&fs->blkmaps, blk); -+ if (curr) { -+ bmi = container_of(curr, blkmap_info, link); -+ bmi->usecount++; -+ goto out; -+ } -+ -+ bmi = malloc(sizeof(*bmi)); -+ if (!bmi) -+ error_msg_and_die("get_blkmap: out of memory"); -+ bmi->fs = fs; -+ bmi->blk = blk; -+ bmi->b = get_blk(fs, blk, &bmi->bi); -+ bmi->usecount = 1; -+ cache_add(&fs->blkmaps, &bmi->link); -+ -+ if (fs->swapit) -+ swap_block(bmi->b); -+ out: -+ *rbmi = bmi; -+ return (uint32 *) bmi->b; -+} -+ -+static inline void -+put_blkmap(blkmap_info *bmi) -+{ -+ if (bmi->usecount == 0) -+ error_msg_and_die("Internal error: put_blkmap usecount zero"); -+ -+ bmi->usecount--; -+ if (bmi->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&bmi->fs->blkmaps, &bmi->link); -+} -+ -+// Used by get_nod/put_nod to hold information about an inode owned -+// by the user. -+typedef struct -+{ -+ cache_link link; -+ -+ filesystem *fs; -+ uint32 nod; -+ uint8 *b; -+ blk_info *bi; - inode *itab; -+ uint32 usecount; -+} nod_info; -+ -+#define MAX_FREE_CACHE_INODES 100 -+ -+static uint32 -+inode_elem_val(cache_link *elem) -+{ -+ nod_info *ni = container_of(elem, nod_info, link); -+ return ni->nod; -+} -+ -+static void -+inode_freed(cache_link *elem) -+{ -+ nod_info *ni = container_of(elem, nod_info, link); -+ -+ if (ni->fs->swapit) -+ swap_nod(ni->itab); -+ put_blk(ni->bi); -+ free(ni); -+} -+ -+#define INODES_PER_BLOCK (BLOCKSIZE / sizeof(inode)) - -- offset = GRP_IBM_OFFSET(fs,nod); -+// return a given inode from a filesystem -+static inline inode * -+get_nod(filesystem *fs, uint32 nod, nod_info **rni) -+{ -+ uint32 grp, boffset, offset; -+ cache_link *curr; -+ groupdescriptor *gd; -+ gd_info *gi; -+ nod_info *ni; -+ -+ curr = cache_find(&fs->inodes, nod); -+ if (curr) { -+ ni = container_of(curr, nod_info, link); -+ ni->usecount++; -+ goto out; -+ } -+ -+ ni = malloc(sizeof(*ni)); -+ if (!ni) -+ error_msg_and_die("get_nod: out of memory"); -+ ni->fs = fs; -+ ni->nod = nod; -+ ni->usecount = 1; -+ cache_add(&fs->inodes, &ni->link); -+ -+ offset = GRP_IBM_OFFSET(fs,nod) - 1; -+ boffset = offset / INODES_PER_BLOCK; -+ offset %= INODES_PER_BLOCK; - grp = GRP_GROUP_OF_INODE(fs,nod); -- itab = (inode *)get_blk(fs, fs->gd[grp].bg_inode_table); -- return itab+offset-1; -+ gd = get_gd(fs, grp, &gi); -+ ni->b = get_blk(fs, gd->bg_inode_table + boffset, &ni->bi); -+ ni->itab = ((inode *) ni->b) + offset; -+ if (fs->swapit) -+ swap_nod(ni->itab); -+ put_gd(gi); -+ out: -+ *rni = ni; -+ return ni->itab; -+} -+ -+static inline void -+put_nod(nod_info *ni) -+{ -+ if (ni->usecount == 0) -+ error_msg_and_die("Internal error: put_nod usecount zero"); -+ -+ ni->usecount--; -+ if (ni->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&ni->fs->inodes, &ni->link); -+} -+ -+// Used to hold state information while walking a directory inode. -+typedef struct -+{ -+ directory d; -+ filesystem *fs; -+ uint32 nod; -+ directory *last_d; -+ uint8 *b; -+ blk_info *bi; -+} dirwalker; -+ -+// Start a directory walk on the given inode. You must pass in a -+// dirwalker structure, then use that dirwalker for future operations. -+// Call put_dir when you are done walking the directory. -+static inline directory * -+get_dir(filesystem *fs, uint32 nod, dirwalker *dw) -+{ -+ dw->fs = fs; -+ dw->b = get_blk(fs, nod, &dw->bi); -+ dw->nod = nod; -+ dw->last_d = (directory *) dw->b; -+ -+ memcpy(&dw->d, dw->last_d, sizeof(directory)); -+ if (fs->swapit) -+ swap_dir(&dw->d); -+ return &dw->d; -+} -+ -+// Move to the next directory. -+static inline directory * -+next_dir(dirwalker *dw) -+{ -+ directory *next_d = (directory *)((int8*)dw->last_d + dw->d.d_rec_len); -+ -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ memcpy(dw->last_d, &dw->d, sizeof(directory)); -+ -+ if (((int8 *) next_d) >= ((int8 *) dw->b + BLOCKSIZE)) -+ return NULL; -+ -+ dw->last_d = next_d; -+ memcpy(&dw->d, next_d, sizeof(directory)); -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ return &dw->d; -+} -+ -+// Call then when you are done with the directory walk. -+static inline void -+put_dir(dirwalker *dw) -+{ -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ memcpy(dw->last_d, &dw->d, sizeof(directory)); -+ -+ if (dw->nod == 0) -+ free_workblk(dw->b); -+ else -+ put_blk(dw->bi); -+} -+ -+// Create a new directory block with the given inode as it's destination -+// and append it to the current dirwalker. -+static directory * -+new_dir(filesystem *fs, uint32 dnod, const char *name, int nlen, dirwalker *dw) -+{ -+ directory *d; -+ -+ dw->fs = fs; -+ dw->b = get_workblk(); -+ dw->nod = 0; -+ dw->last_d = (directory *) dw->b; -+ d = &dw->d; -+ d->d_inode = dnod; -+ d->d_rec_len = BLOCKSIZE; -+ d->d_name_len = nlen; -+ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); -+ return d; -+} -+ -+// Shrink the current directory entry, make a new one with the free -+// space, and return the new directory entry (making it current). -+static inline directory * -+shrink_dir(dirwalker *dw, uint32 nod, const char *name, int nlen) -+{ -+ int reclen, preclen; -+ directory *d = &dw->d; -+ -+ reclen = d->d_rec_len; -+ d->d_rec_len = sizeof(directory) + rndup(d->d_name_len, 4); -+ preclen = d->d_rec_len; -+ reclen -= preclen; -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ memcpy(dw->last_d, &dw->d, sizeof(directory)); -+ -+ dw->last_d = (directory *) (((int8 *) dw->last_d) + preclen); -+ d->d_rec_len = reclen; -+ d->d_inode = nod; -+ d->d_name_len = nlen; -+ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); -+ -+ return d; -+} -+ -+// Return the current block the directory is walking -+static inline uint8 * -+dir_data(dirwalker *dw) -+{ -+ return dw->b; -+} -+ -+// Return the pointer to the name for the current directory -+static inline char * -+dir_name(dirwalker *dw) -+{ -+ return ((char *) dw->last_d) + sizeof(directory); -+} -+ -+// Set the name for the current directory. Note that this doesn't -+// verify that there is space for the directory name, you must do -+// that yourself. -+static void -+dir_set_name(dirwalker *dw, const char *name, int nlen) -+{ -+ dw->d.d_name_len = nlen; -+ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); - } - - // allocate a given block/inode in the bitmap -@@ -870,21 +1404,34 @@ - { - uint32 bk=0; - uint32 grp,nbgroups; -+ blk_info *bi; -+ groupdescriptor *gd; -+ gd_info *gi; - - grp = GRP_GROUP_OF_INODE(fs,nod); - nbgroups = GRP_NBGROUPS(fs); -- if(!(bk = allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), 0))) { -- for(grp=0;grpgd[grp].bg_block_bitmap),0); -+ gd = get_gd(fs, grp, &gi); -+ bk = allocate(GRP_GET_GROUP_BBM(fs, gd, &bi), 0); -+ GRP_PUT_GROUP_BBM(bi); -+ put_gd(gi); -+ if (!bk) { -+ for (grp=0; grpgd[grp].bg_free_blocks_count--)) -+ gd = get_gd(fs, grp, &gi); -+ if(!(gd->bg_free_blocks_count--)) - error_msg_and_die("group descr %d. free blocks count == 0 (corrupted fs?)",grp); -- if(!(fs->sb.s_free_blocks_count--)) -+ put_gd(gi); -+ if(!(fs->sb->s_free_blocks_count--)) - error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); -- return fs->sb.s_blocks_per_group*grp + bk; -+ return fs->sb->s_first_data_block + fs->sb->s_blocks_per_group*grp + (bk-1); - } - - // free a block -@@ -892,12 +1439,18 @@ - free_blk(filesystem *fs, uint32 bk) - { - uint32 grp; -- -- grp = bk / fs->sb.s_blocks_per_group; -- bk %= fs->sb.s_blocks_per_group; -- deallocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), bk); -- fs->gd[grp].bg_free_blocks_count++; -- fs->sb.s_free_blocks_count++; -+ blk_info *bi; -+ gd_info *gi; -+ groupdescriptor *gd; -+ -+ grp = bk / fs->sb->s_blocks_per_group; -+ bk %= fs->sb->s_blocks_per_group; -+ gd = get_gd(fs, grp, &gi); -+ deallocate(GRP_GET_GROUP_BBM(fs, gd, &bi), bk); -+ GRP_PUT_GROUP_BBM(bi); -+ gd->bg_free_blocks_count++; -+ put_gd(gi); -+ fs->sb->s_free_blocks_count++; - } - - // allocate an inode -@@ -906,6 +1459,9 @@ - { - uint32 nod,best_group=0; - uint32 grp,nbgroups,avefreei; -+ blk_info *bi; -+ gd_info *gi, *bestgi; -+ groupdescriptor *gd, *bestgd; - - nbgroups = GRP_NBGROUPS(fs); - -@@ -914,22 +1470,32 @@ - /* find the one with the most free blocks and allocate node there */ - /* Idea from find_group_dir in fs/ext2/ialloc.c in 2.4.19 kernel */ - /* We do it for all inodes. */ -- avefreei = fs->sb.s_free_inodes_count / nbgroups; -+ avefreei = fs->sb->s_free_inodes_count / nbgroups; -+ bestgd = get_gd(fs, best_group, &bestgi); - for(grp=0; grpgd[grp].bg_free_inodes_count < avefreei || -- fs->gd[grp].bg_free_inodes_count == 0) -+ gd = get_gd(fs, grp, &gi); -+ if (gd->bg_free_inodes_count < avefreei || -+ gd->bg_free_inodes_count == 0) { -+ put_gd(gi); - continue; -- if (!best_group || -- fs->gd[grp].bg_free_blocks_count > fs->gd[best_group].bg_free_blocks_count) -+ } -+ if (!best_group || gd->bg_free_blocks_count > bestgd->bg_free_blocks_count) { -+ put_gd(bestgi); - best_group = grp; -+ bestgd = gd; -+ bestgi = gi; -+ } else -+ put_gd(gi); - } -- if (!(nod = allocate(get_blk(fs,fs->gd[best_group].bg_inode_bitmap),0))) -+ if (!(nod = allocate(GRP_GET_GROUP_IBM(fs, bestgd, &bi), 0))) - error_msg_and_die("couldn't allocate an inode (no free inode)"); -- if(!(fs->gd[best_group].bg_free_inodes_count--)) -+ GRP_PUT_GROUP_IBM(bi); -+ if(!(bestgd->bg_free_inodes_count--)) - error_msg_and_die("group descr. free blocks count == 0 (corrupted fs?)"); -- if(!(fs->sb.s_free_inodes_count--)) -+ put_gd(bestgi); -+ if(!(fs->sb->s_free_inodes_count--)) - error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); -- return fs->sb.s_inodes_per_group*best_group+nod; -+ return fs->sb->s_inodes_per_group*best_group+nod; - } - - // print a bitmap allocation -@@ -962,30 +1528,40 @@ - // used after being freed, so once you start - // freeing blocks don't stop until the end of - // the file. moreover, i_blocks isn't updated. --// in fact, don't do that, just use extend_blk - // if hole!=0, create a hole in the file - static uint32 - walk_bw(filesystem *fs, uint32 nod, blockwalker *bw, int32 *create, uint32 hole) - { - uint32 *bkref = 0; -+ uint32 bk = 0; -+ blkmap_info *bmi1 = NULL, *bmi2 = NULL, *bmi3 = NULL; - uint32 *b; - int extend = 0, reduce = 0; -+ inode *inod; -+ nod_info *ni; -+ uint32 *iblk; -+ - if(create && (*create) < 0) - reduce = 1; -- if(bw->bnum >= get_nod(fs, nod)->i_blocks / INOBLK) -+ inod = get_nod(fs, nod, &ni); -+ if(bw->bnum >= inod->i_blocks / INOBLK) - { - if(create && (*create) > 0) - { - (*create)--; - extend = 1; - } -- else -+ else -+ { -+ put_nod(ni); - return WALK_END; -+ } - } -+ iblk = inod->i_block; - // first direct block - if(bw->bpdir == EXT2_INIT_BLOCK) - { -- bkref = &get_nod(fs, nod)->i_block[bw->bpdir = 0]; -+ bkref = &iblk[bw->bpdir = 0]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); - if(reduce) // free first block -@@ -994,7 +1570,7 @@ - // direct block - else if(bw->bpdir < EXT2_NDIR_BLOCKS) - { -- bkref = &get_nod(fs, nod)->i_block[++bw->bpdir]; -+ bkref = &iblk[++bw->bpdir]; - if(extend) // allocate block - *bkref = hole ? 0 : alloc_blk(fs,nod); - if(reduce) // free block -@@ -1007,10 +1583,10 @@ - bw->bpdir = EXT2_IND_BLOCK; - bw->bpind = 0; - if(extend) // allocate indirect block -- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); -+ iblk[bw->bpdir] = alloc_blk(fs,nod); - if(reduce) // free indirect block -- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ free_blk(fs, iblk[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - bkref = &b[bw->bpind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1021,7 +1597,7 @@ - else if((bw->bpdir == EXT2_IND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1)) - { - bw->bpind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - bkref = &b[bw->bpind]; - if(extend) // allocate block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1036,15 +1612,15 @@ - bw->bpind = 0; - bw->bpdind = 0; - if(extend) // allocate double indirect block -- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); -+ iblk[bw->bpdir] = alloc_blk(fs,nod); - if(reduce) // free double indirect block -- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ free_blk(fs, iblk[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate first indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free firstindirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - bkref = &b[bw->bpdind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1055,8 +1631,8 @@ - else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpdind < BLOCKSIZE/4 - 1)) - { - bw->bpdind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - bkref = &b[bw->bpdind]; - if(extend) // allocate block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1069,12 +1645,12 @@ - bw->bnum++; - bw->bpdind = 0; - bw->bpind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - bkref = &b[bw->bpdind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1094,20 +1670,20 @@ - bw->bpdind = 0; - bw->bptind = 0; - if(extend) // allocate triple indirect block -- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); -+ iblk[bw->bpdir] = alloc_blk(fs,nod); - if(reduce) // free triple indirect block -- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ free_blk(fs, iblk[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate first double indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free first double indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - if(extend) // allocate first indirect block - b[bw->bpdind] = alloc_blk(fs,nod); - if(reduce) // free first indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate first data block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1121,9 +1697,9 @@ - (bw->bptind < BLOCKSIZE/4 -1) ) - { - bw->bptind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate data block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1140,13 +1716,13 @@ - bw->bnum++; - bw->bptind = 0; - bw->bpdind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - if(extend) // allocate single indirect block - b[bw->bpdind] = alloc_blk(fs,nod); - if(reduce) // free indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate first data block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1163,17 +1739,17 @@ - bw->bpdind = 0; - bw->bptind = 0; - bw->bpind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate double indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free double indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - if(extend) // allocate single indirect block - b[bw->bpdind] = alloc_blk(fs,nod); - if(reduce) // free indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1184,56 +1760,105 @@ - error_msg_and_die("file too big !"); - /* End change for walking triple indirection */ - -- if(*bkref) -- { -+ bk = *bkref; -+ if (bmi3) -+ put_blkmap(bmi3); -+ if (bmi2) -+ put_blkmap(bmi2); -+ if (bmi1) -+ put_blkmap(bmi1); -+ -+ if(bk) -+ { -+ blk_info *bi; -+ gd_info *gi; -+ uint8 *block; - bw->bnum++; -- if(!reduce && !allocated(GRP_GET_BLOCK_BITMAP(fs,*bkref), GRP_BBM_OFFSET(fs,*bkref))) -- error_msg_and_die("[block %d of inode %d is unallocated !]", *bkref, nod); -+ block = GRP_GET_BLOCK_BITMAP(fs,bk,&bi,&gi); -+ if(!reduce && !allocated(block, GRP_BBM_OFFSET(fs,bk))) -+ error_msg_and_die("[block %d of inode %d is unallocated !]", bk, nod); -+ GRP_PUT_BLOCK_BITMAP(bi, gi); - } - if(extend) -- get_nod(fs, nod)->i_blocks = bw->bnum * INOBLK; -- return *bkref; -+ inod->i_blocks = bw->bnum * INOBLK; -+ put_nod(ni); -+ return bk; - } - --// add blocks to an inode (file/dir/etc...) --static void --extend_blk(filesystem *fs, uint32 nod, block b, int amount) -+typedef struct - { -- int create = amount; -- blockwalker bw, lbw; -- uint32 bk; -- init_bw(&bw); -- if(amount < 0) -- { -- uint32 i; -- for(i = 0; i < get_nod(fs, nod)->i_blocks / INOBLK + amount; i++) -- walk_bw(fs, nod, &bw, 0, 0); -- while(walk_bw(fs, nod, &bw, &create, 0) != WALK_END) -+ blockwalker bw; -+ uint32 nod; -+ nod_info *ni; -+ inode *inod; -+} inode_pos; -+#define INODE_POS_TRUNCATE 0 -+#define INODE_POS_EXTEND 1 -+ -+// Call this to set up an ipos structure for future use with -+// extend_inode_blk to append blocks to the given inode. If -+// op is INODE_POS_TRUNCATE, the inode is truncated to zero size. -+// If op is INODE_POS_EXTEND, the position is moved to the end -+// of the inode's data blocks. -+// Call inode_pos_finish when done with the inode_pos structure. -+static void -+inode_pos_init(filesystem *fs, inode_pos *ipos, uint32 nod, int op, -+ blockwalker *endbw) -+{ -+ blockwalker lbw; -+ -+ init_bw(&ipos->bw); -+ ipos->nod = nod; -+ ipos->inod = get_nod(fs, nod, &ipos->ni); -+ if (op == INODE_POS_TRUNCATE) { -+ int32 create = -1; -+ while(walk_bw(fs, nod, &ipos->bw, &create, 0) != WALK_END) - /*nop*/; -- get_nod(fs, nod)->i_blocks += amount * INOBLK; -+ ipos->inod->i_blocks = 0; - } -- else -+ -+ if (endbw) -+ ipos->bw = *endbw; -+ else { -+ /* Seek to the end */ -+ init_bw(&ipos->bw); -+ lbw = ipos->bw; -+ while(walk_bw(fs, nod, &ipos->bw, 0, 0) != WALK_END) -+ lbw = ipos->bw; -+ ipos->bw = lbw; -+ } -+} -+ -+// Clean up the inode_pos structure. -+static void -+inode_pos_finish(filesystem *fs, inode_pos *ipos) -+{ -+ put_nod(ipos->ni); -+} -+ -+// add blocks to an inode (file/dir/etc...) at the given position. -+// This will only work when appending to the end of an inode. -+static void -+extend_inode_blk(filesystem *fs, inode_pos *ipos, block b, int amount) -+{ -+ uint32 bk; -+ uint32 pos; -+ -+ if (amount < 0) -+ error_msg_and_die("extend_inode_blk: Got negative amount"); -+ -+ for (pos = 0; amount; pos += BLOCKSIZE) - { -- lbw = bw; -- while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) -- lbw = bw; -- bw = lbw; -- while(create) -- { -- int i, copyb = 0; -- if(!(fs->sb.s_reserved[200] & OP_HOLES)) -- copyb = 1; -- else -- for(i = 0; i < BLOCKSIZE / 4; i++) -- if(((int32*)(b + BLOCKSIZE * (amount - create)))[i]) -- { -- copyb = 1; -- break; -- } -- if((bk = walk_bw(fs, nod, &bw, &create, !copyb)) == WALK_END) -- break; -- if(copyb) -- memcpy(get_blk(fs, bk), b + BLOCKSIZE * (amount - create - 1), BLOCKSIZE); -+ int hole = (fs->holes && is_blk_empty(b + pos)); -+ -+ bk = walk_bw(fs, ipos->nod, &ipos->bw, &amount, hole); -+ if (bk == WALK_END) -+ error_msg_and_die("extend_inode_blk: extend failed"); -+ if (!hole) { -+ blk_info *bi; -+ uint8 *block = get_blk(fs, bk, &bi); -+ memcpy(block, b + pos, BLOCKSIZE); -+ put_blk(bi); - } - } - } -@@ -1242,15 +1867,17 @@ - static void - add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name) - { -- blockwalker bw; -+ blockwalker bw, lbw; - uint32 bk; -- uint8 *b; - directory *d; -+ dirwalker dw; - int reclen, nlen; - inode *node; - inode *pnode; -+ nod_info *dni, *ni; -+ inode_pos ipos; - -- pnode = get_nod(fs, dnod); -+ pnode = get_nod(fs, dnod, &dni); - if((pnode->i_mode & FM_IFMT) != FM_IFDIR) - error_msg_and_die("can't add '%s' to a non-directory", name); - if(!*name) -@@ -1262,52 +1889,52 @@ - if(reclen > BLOCKSIZE) - error_msg_and_die("bad name '%s' (too long)", name); - init_bw(&bw); -+ lbw = bw; - while((bk = walk_bw(fs, dnod, &bw, 0, 0)) != WALK_END) // for all blocks in dir - { -- b = get_blk(fs, bk); - // for all dir entries in block -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -+ for(d = get_dir(fs, bk, &dw); d; d = next_dir(&dw)) - { - // if empty dir entry, large enough, use it - if((!d->d_inode) && (d->d_rec_len >= reclen)) - { - d->d_inode = nod; -- node = get_nod(fs, nod); -+ node = get_nod(fs, nod, &ni); -+ dir_set_name(&dw, name, nlen); -+ put_dir(&dw); - node->i_links_count++; -- d->d_name_len = nlen; -- strncpy(d->d_name, name, nlen); -- return; -+ put_nod(ni); -+ goto out; - } - // if entry with enough room (last one?), shrink it & use it - if(d->d_rec_len >= (sizeof(directory) + rndup(d->d_name_len, 4) + reclen)) - { -- reclen = d->d_rec_len; -- d->d_rec_len = sizeof(directory) + rndup(d->d_name_len, 4); -- reclen -= d->d_rec_len; -- d = (directory*) (((int8*)d) + d->d_rec_len); -- d->d_rec_len = reclen; -- d->d_inode = nod; -- node = get_nod(fs, nod); -+ d = shrink_dir(&dw, nod, name, nlen); -+ put_dir(&dw); -+ node = get_nod(fs, nod, &ni); - node->i_links_count++; -- d->d_name_len = nlen; -- strncpy(d->d_name, name, nlen); -- return; -+ put_nod(ni); -+ goto out; - } - } -+ put_dir(&dw); -+ lbw = bw; - } - // we found no free entry in the directory, so we add a block -- if(!(b = get_workblk())) -- error_msg_and_die("get_workblk() failed."); -- d = (directory*)b; -- d->d_inode = nod; -- node = get_nod(fs, nod); -+ node = get_nod(fs, nod, &ni); -+ d = new_dir(fs, nod, name, nlen, &dw); - node->i_links_count++; -- d->d_rec_len = BLOCKSIZE; -- d->d_name_len = nlen; -- strncpy(d->d_name, name, nlen); -- extend_blk(fs, dnod, b, 1); -- get_nod(fs, dnod)->i_size += BLOCKSIZE; -- free_workblk(b); -+ put_nod(ni); -+ next_dir(&dw); // Force the data into the buffer -+ -+ inode_pos_init(fs, &ipos, dnod, INODE_POS_EXTEND, &lbw); -+ extend_inode_blk(fs, &ipos, dir_data(&dw), 1); -+ inode_pos_finish(fs, &ipos); -+ -+ put_dir(&dw); -+ pnode->i_size += BLOCKSIZE; -+out: -+ put_nod(dni); - } - - // find an entry in a directory -@@ -1321,11 +1948,13 @@ - while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) - { - directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -- if(d->d_inode && (nlen == d->d_name_len) && !strncmp(d->d_name, name, nlen)) -+ dirwalker dw; -+ for (d = get_dir(fs, bk, &dw); d; d=next_dir(&dw)) -+ if(d->d_inode && (nlen == d->d_name_len) && !strncmp(dir_name(&dw), name, nlen)) { -+ put_dir(&dw); - return d->d_inode; -+ } -+ put_dir(&dw); - } - return 0; - } -@@ -1356,47 +1985,55 @@ - return nod; - } - -+// chmod an inode -+void -+chmod_fs(filesystem *fs, uint32 nod, uint16 mode, uint16 uid, uint16 gid) -+{ -+ inode *node; -+ nod_info *ni; -+ node = get_nod(fs, nod, &ni); -+ node->i_mode = (node->i_mode & ~FM_IMASK) | (mode & FM_IMASK); -+ node->i_uid = uid; -+ node->i_gid = gid; -+ put_nod(ni); -+} -+ - // create a simple inode - static uint32 - mknod_fs(filesystem *fs, uint32 parent_nod, const char *name, uint16 mode, uint16 uid, uint16 gid, uint8 major, uint8 minor, uint32 ctime, uint32 mtime) - { - uint32 nod; - inode *node; -- if((nod = find_dir(fs, parent_nod, name))) -- { -- node = get_nod(fs, nod); -- if((node->i_mode & FM_IFMT) != (mode & FM_IFMT)) -- error_msg_and_die("node '%s' already exists and isn't of the same type", name); -- node->i_mode = mode; -- } -- else -+ nod_info *ni; -+ gd_info *gi; -+ -+ nod = alloc_nod(fs); -+ node = get_nod(fs, nod, &ni); -+ node->i_mode = mode; -+ add2dir(fs, parent_nod, nod, name); -+ switch(mode & FM_IFMT) - { -- nod = alloc_nod(fs); -- node = get_nod(fs, nod); -- node->i_mode = mode; -- add2dir(fs, parent_nod, nod, name); -- switch(mode & FM_IFMT) -- { -- case FM_IFLNK: -- mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; -- break; -- case FM_IFBLK: -- case FM_IFCHR: -- ((uint8*)get_nod(fs, nod)->i_block)[0] = minor; -- ((uint8*)get_nod(fs, nod)->i_block)[1] = major; -- break; -- case FM_IFDIR: -- add2dir(fs, nod, nod, "."); -- add2dir(fs, nod, parent_nod, ".."); -- fs->gd[GRP_GROUP_OF_INODE(fs,nod)].bg_used_dirs_count++; -- break; -- } -+ case FM_IFLNK: -+ mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; -+ break; -+ case FM_IFBLK: -+ case FM_IFCHR: -+ ((uint8*)node->i_block)[0] = minor; -+ ((uint8*)node->i_block)[1] = major; -+ break; -+ case FM_IFDIR: -+ add2dir(fs, nod, nod, "."); -+ add2dir(fs, nod, parent_nod, ".."); -+ get_gd(fs,GRP_GROUP_OF_INODE(fs,nod),&gi)->bg_used_dirs_count++; -+ put_gd(gi); -+ break; - } - node->i_uid = uid; - node->i_gid = gid; - node->i_atime = mtime; - node->i_ctime = ctime; - node->i_mtime = mtime; -+ put_nod(ni); - return nod; - } - -@@ -1413,33 +2050,73 @@ - mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 *b, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) - { - uint32 nod = mknod_fs(fs, parent_nod, name, FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO, uid, gid, 0, 0, ctime, mtime); -- extend_blk(fs, nod, 0, - (int)get_nod(fs, nod)->i_blocks / INOBLK); -- get_nod(fs, nod)->i_size = size; -- if(size <= 4 * (EXT2_TIND_BLOCK+1)) -- { -- strncpy((char*)get_nod(fs, nod)->i_block, (char*)b, size); -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ inode_pos ipos; -+ -+ inode_pos_init(fs, &ipos, nod, INODE_POS_TRUNCATE, NULL); -+ node->i_size = size; -+ if(size < 4 * (EXT2_TIND_BLOCK+1)) -+ { -+ strncpy((char*)node->i_block, (char*)b, size); -+ ((char*)node->i_block)[size+1] = '\0'; -+ inode_pos_finish(fs, &ipos); -+ put_nod(ni); - return nod; - } -- extend_blk(fs, nod, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); -+ extend_inode_blk(fs, &ipos, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); -+ inode_pos_finish(fs, &ipos); -+ put_nod(ni); - return nod; - } - -+static void -+fs_upgrade_rev1_largefile(filesystem *fs) -+{ -+ fs->sb->s_rev_level = 1; -+ fs->sb->s_first_ino = EXT2_GOOD_OLD_FIRST_INO; -+ fs->sb->s_inode_size = EXT2_GOOD_OLD_INODE_SIZE; -+} -+ -+#define COPY_BLOCKS 16 -+#define CB_SIZE (COPY_BLOCKS * BLOCKSIZE) -+ - // make a file from a FILE* - static uint32 --mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) -+mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, FILE *f, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) - { - uint8 * b; - uint32 nod = mknod_fs(fs, parent_nod, name, mode|FM_IFREG, uid, gid, 0, 0, ctime, mtime); -- extend_blk(fs, nod, 0, - (int)get_nod(fs, nod)->i_blocks / INOBLK); -- get_nod(fs, nod)->i_size = size; -- if (size) { -- if(!(b = (uint8*)calloc(rndup(size, BLOCKSIZE), 1))) -- error_msg_and_die("not enough mem to read file '%s'", name); -- if(f) -- fread(b, size, 1, f); // FIXME: ugly. use mmap() ... -- extend_blk(fs, nod, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); -- free(b); -- } -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ off_t size = 0; -+ size_t readbytes; -+ inode_pos ipos; -+ int fullsize; -+ -+ b = malloc(CB_SIZE); -+ if (!b) -+ error_msg_and_die("mkfile_fs: out of memory"); -+ inode_pos_init(fs, &ipos, nod, INODE_POS_TRUNCATE, NULL); -+ readbytes = fread(b, 1, CB_SIZE, f); -+ while (readbytes) { -+ fullsize = rndup(readbytes, BLOCKSIZE); -+ // Fill to end of block with zeros. -+ memset(b + readbytes, 0, fullsize - readbytes); -+ extend_inode_blk(fs, &ipos, b, fullsize / BLOCKSIZE); -+ size += readbytes; -+ readbytes = fread(b, 1, CB_SIZE, f); -+ } -+ if (size > 0x7fffffff) { -+ if (fs->sb->s_rev_level < 1) -+ fs_upgrade_rev1_largefile(fs); -+ fs->sb->s_feature_ro_compat |= EXT2_FEATURE_RO_COMPAT_LARGE_FILE; -+ } -+ node->i_dir_acl = size >> 32; -+ node->i_size = size; -+ inode_pos_finish(fs, &ipos); -+ put_nod(ni); -+ free(b); - return nod; - } - -@@ -1591,13 +2268,24 @@ - dname = malloc(len + 1); - for(i = start; i < count; i++) - { -+ uint32 oldnod; - SNPRINTF(dname, len, "%s%lu", name, i); -- mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime); -+ oldnod = find_dir(fs, nod, dname); -+ if(oldnod) -+ chmod_fs(fs, oldnod, mode, uid, gid); -+ else -+ mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime); - } - free(dname); - } - else -- mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime); -+ { -+ uint32 oldnod = find_dir(fs, nod, name); -+ if(oldnod) -+ chmod_fs(fs, oldnod, mode, uid, gid); -+ else -+ mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime); -+ } - } - } - if (line) -@@ -1643,6 +2331,10 @@ - switch(st.st_mode & S_IFMT) - { - case S_IFLNK: -+ if((st.st_mode & S_IFMT) == S_IFREG || st.st_size >= 4 * (EXT2_TIND_BLOCK+1)) -+ stats->nblocks += (st.st_size + BLOCKSIZE - 1) / BLOCKSIZE; -+ stats->ninodes++; -+ break; - case S_IFREG: - if((st.st_mode & S_IFMT) == S_IFREG || st.st_size > 4 * (EXT2_TIND_BLOCK+1)) - stats->nblocks += (st.st_size + BLOCKSIZE - 1) / BLOCKSIZE; -@@ -1657,19 +2349,33 @@ - if(chdir(dent->d_name) < 0) - perror_msg_and_die(dent->d_name); - add2fs_from_dir(fs, this_nod, squash_uids, squash_perms, fs_timestamp, stats); -- chdir(".."); -+ if (chdir("..") == -1) -+ perror_msg_and_die(".."); -+ - break; - default: - break; - } - else - { -+ if((nod = find_dir(fs, this_nod, name))) -+ { -+ error_msg("ignoring duplicate entry %s", name); -+ if(S_ISDIR(st.st_mode)) { -+ if(chdir(dent->d_name) < 0) -+ perror_msg_and_die(name); -+ add2fs_from_dir(fs, nod, squash_uids, squash_perms, fs_timestamp, stats); -+ if (chdir("..") == -1) -+ perror_msg_and_die(".."); -+ } -+ continue; -+ } - save_nod = 0; - /* Check for hardlinks */ - if (!S_ISDIR(st.st_mode) && !S_ISLNK(st.st_mode) && st.st_nlink > 1) { -- int32 hdlink = is_hardlink(st.st_ino); -+ int32 hdlink = is_hardlink(fs, st.st_ino); - if (hdlink >= 0) { -- add2dir(fs, this_nod, hdlinks.hdl[hdlink].dst_nod, name); -+ add2dir(fs, this_nod, fs->hdlinks.hdl[hdlink].dst_nod, name); - continue; - } else { - save_nod = 1; -@@ -1697,8 +2403,12 @@ - free(lnk); - break; - case S_IFREG: -- fh = xfopen(dent->d_name, "rb"); -- nod = mkfile_fs(fs, this_nod, name, mode, st.st_size, fh, uid, gid, ctime, mtime); -+ fh = fopen(dent->d_name, "rb"); -+ if (!fh) { -+ error_msg("Unable to open file %s", dent->d_name); -+ break; -+ } -+ nod = mkfile_fs(fs, this_nod, name, mode, fh, uid, gid, ctime, mtime); - fclose(fh); - break; - case S_IFDIR: -@@ -1706,199 +2416,128 @@ - if(chdir(dent->d_name) < 0) - perror_msg_and_die(name); - add2fs_from_dir(fs, nod, squash_uids, squash_perms, fs_timestamp, stats); -- chdir(".."); -+ if (chdir("..") == -1) -+ perror_msg_and_die(".."); - break; - default: - error_msg("ignoring entry %s", name); - } - if (save_nod) { -- if (hdlinks.count == hdlink_cnt) { -- if ((hdlinks.hdl = -- realloc (hdlinks.hdl, (hdlink_cnt + HDLINK_CNT) * -+ if (fs->hdlinks.count == fs->hdlink_cnt) { -+ if ((fs->hdlinks.hdl = -+ realloc (fs->hdlinks.hdl, (fs->hdlink_cnt + HDLINK_CNT) * - sizeof (struct hdlink_s))) == NULL) { - error_msg_and_die("Not enough memory"); - } -- hdlink_cnt += HDLINK_CNT; -+ fs->hdlink_cnt += HDLINK_CNT; - } -- hdlinks.hdl[hdlinks.count].src_inode = st.st_ino; -- hdlinks.hdl[hdlinks.count].dst_nod = nod; -- hdlinks.count++; -+ fs->hdlinks.hdl[fs->hdlinks.count].src_inode = st.st_ino; -+ fs->hdlinks.hdl[fs->hdlinks.count].dst_nod = nod; -+ fs->hdlinks.count++; - } - } - } - closedir(dh); - } - --// endianness swap of x-indirect blocks -+// Copy size blocks from src to dst, putting holes in the output -+// file (if possible) if the input block is all zeros. -+// Copy size blocks from src to dst, putting holes in the output -+// file (if possible) if the input block is all zeros. - static void --swap_goodblocks(filesystem *fs, inode *nod) -+copy_file(filesystem *fs, FILE *dst, FILE *src, size_t size) - { -- uint32 i,j; -- int done=0; -- uint32 *b,*b2; -+ uint8 *b; - -- uint32 nblk = nod->i_blocks / INOBLK; -- if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) -- for(i = 0; i <= EXT2_TIND_BLOCK; i++) -- nod->i_block[i] = swab32(nod->i_block[i]); -- if(nblk <= EXT2_IND_BLOCK) -- return; -- swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); -- if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) -- return; -- /* Currently this will fail b'cos the number of blocks as stored -- in i_blocks also includes the indirection blocks (see -- walk_bw). But this function assumes that i_blocks only -- stores the count of data blocks ( Actually according to -- "Understanding the Linux Kernel" (Table 17-3 p502 1st Ed) -- i_blocks IS supposed to store the count of data blocks). so -- with a file of size 268K nblk would be 269.The above check -- will be false even though double indirection hasn't been -- started.This is benign as 0 means block 0 which has been -- zeroed out and therefore points back to itself from any offset -- */ -- // FIXME: I have fixed that, but I have the feeling the rest of -- // ths function needs to be fixed for the same reasons - Xav -- assert(nod->i_block[EXT2_DIND_BLOCK] != 0); -- for(i = 0; i < BLOCKSIZE/4; i++) -- if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) -- swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); -- swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); -- if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) -- return; -- /* Adding support for triple indirection */ -- b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); -- for(i=0;i < BLOCKSIZE/4 && !done ; i++) { -- b2 = (uint32*)get_blk(fs,b[i]); -- for(j=0; j ( EXT2_IND_BLOCK + BLOCKSIZE/4 + -- (BLOCKSIZE/4)*(BLOCKSIZE/4) + -- i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + -- j*(BLOCKSIZE/4)) ) -- swap_block(get_blk(fs,b2[j])); -- else { -- done = 1; -- break; -- } -+ b = malloc(BLOCKSIZE); -+ if (!b) -+ error_msg_and_die("copy_file: out of memory"); -+ if (fseek(src, 0, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (ftruncate(fileno(dst), 0)) -+ perror_msg_and_die("copy_file: ftruncate"); -+ while (size > 0) { -+ if (fread(b, BLOCKSIZE, 1, src) != 1) -+ perror_msg_and_die("copy failed on read"); -+ if ((dst != stdout) && fs->holes && is_blk_empty(b)) { -+ /* Empty block, just skip it */ -+ if (fseek(dst, BLOCKSIZE, SEEK_CUR)) -+ perror_msg_and_die("fseek"); -+ } else { -+ if (fwrite(b, BLOCKSIZE, 1, dst) != 1) -+ perror_msg_and_die("copy failed on write"); - } -- swap_block((uint8 *)b2); -+ size--; - } -- swap_block((uint8 *)b); -- return; -+ free(b); - } - --static void --swap_badblocks(filesystem *fs, inode *nod) -+// Allocate a new filesystem structure, allocate internal memory, -+// and initialize the contents. -+static filesystem * -+alloc_fs(int swapit, char *fname, uint32 nbblocks, FILE *srcfile) - { -- uint32 i,j; -- int done=0; -- uint32 *b,*b2; -+ filesystem *fs; -+ struct stat srcstat, dststat; - -- uint32 nblk = nod->i_blocks / INOBLK; -- if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) -- for(i = 0; i <= EXT2_TIND_BLOCK; i++) -- nod->i_block[i] = swab32(nod->i_block[i]); -- if(nblk <= EXT2_IND_BLOCK) -- return; -- swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); -- if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) -- return; -- /* See comment in swap_goodblocks */ -- assert(nod->i_block[EXT2_DIND_BLOCK] != 0); -- swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); -- for(i = 0; i < BLOCKSIZE/4; i++) -- if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) -- swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); -- if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) -- return; -- /* Adding support for triple indirection */ -- b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); -- swap_block((uint8 *)b); -- for(i=0;i < BLOCKSIZE/4 && !done ; i++) { -- b2 = (uint32*)get_blk(fs,b[i]); -- swap_block((uint8 *)b2); -- for(j=0; j ( EXT2_IND_BLOCK + BLOCKSIZE/4 + -- (BLOCKSIZE/4)*(BLOCKSIZE/4) + -- i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + -- j*(BLOCKSIZE/4)) ) -- swap_block(get_blk(fs,b2[j])); -- else { -- done = 1; -- break; -- } -- } -- } -- return; --} -+ fs = malloc(sizeof(*fs)); -+ if (!fs) -+ error_msg_and_die("not enough memory for filesystem"); -+ memset(fs, 0, sizeof(*fs)); -+ fs->swapit = swapit; -+ cache_init(&fs->blks, MAX_FREE_CACHE_BLOCKS, blk_elem_val, blk_freed); -+ cache_init(&fs->gds, MAX_FREE_CACHE_GDS, gd_elem_val, gd_freed); -+ cache_init(&fs->blkmaps, MAX_FREE_CACHE_BLOCKMAPS, -+ blkmap_elem_val, blkmap_freed); -+ cache_init(&fs->inodes, MAX_FREE_CACHE_INODES, -+ inode_elem_val, inode_freed); -+ fs->hdlink_cnt = HDLINK_CNT; -+ fs->hdlinks.hdl = calloc(sizeof(struct hdlink_s), fs->hdlink_cnt); -+ if (!fs->hdlinks.hdl) -+ error_msg_and_die("Not enough memory"); -+ fs->hdlinks.count = 0 ; - --// endianness swap of the whole filesystem --static void --swap_goodfs(filesystem *fs) --{ -- uint32 i; -- for(i = 1; i < fs->sb.s_inodes_count; i++) -- { -- inode *nod = get_nod(fs, i); -- if(nod->i_mode & FM_IFDIR) -- { -- blockwalker bw; -- uint32 bk; -- init_bw(&bw); -- while((bk = walk_bw(fs, i, &bw, 0, 0)) != WALK_END) -- { -- directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + swab16(d->d_rec_len))) -- swap_dir(d); -- } -- } -- swap_goodblocks(fs, nod); -- swap_nod(nod); -- } -- for(i=0;igd[i])); -- swap_sb(&fs->sb); -+ if (strcmp(fname, "-") == 0) -+ fs->f = tmpfile(); -+ else if (srcfile) { -+ if (fstat(fileno(srcfile), &srcstat)) -+ perror_msg_and_die("fstat srcfile"); -+ if (stat(fname, &dststat) == 0 -+ && srcstat.st_ino == dststat.st_ino -+ && srcstat.st_dev == dststat.st_dev) -+ { -+ // source and destination are the same file, don't -+ // truncate or copy, just use the file. -+ fs->f = fopen(fname, "r+b"); -+ } else { -+ fs->f = fopen(fname, "w+b"); -+ if (fs->f) -+ copy_file(fs, fs->f, srcfile, nbblocks); -+ } -+ } else -+ fs->f = fopen(fname, "w+b"); -+ if (!fs->f) -+ perror_msg_and_die("opening %s", fname); -+ return fs; - } - -+/* Make sure the output file is the right size */ - static void --swap_badfs(filesystem *fs) -+set_file_size(filesystem *fs) - { -- uint32 i; -- swap_sb(&fs->sb); -- for(i=0;igd[i])); -- for(i = 1; i < fs->sb.s_inodes_count; i++) -- { -- inode *nod = get_nod(fs, i); -- swap_nod(nod); -- swap_badblocks(fs, nod); -- if(nod->i_mode & FM_IFDIR) -- { -- blockwalker bw; -- uint32 bk; -- init_bw(&bw); -- while((bk = walk_bw(fs, i, &bw, 0, 0)) != WALK_END) -- { -- directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -- swap_dir(d); -- } -- } -- } -+ if (ftruncate(fileno(fs->f), -+ ((off_t) fs->sb->s_blocks_count) * BLOCKSIZE)) -+ perror_msg_and_die("set_file_size: ftruncate"); - } - - // initialize an empty filesystem - static filesystem * --init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, uint32 fs_timestamp) -+init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, -+ uint32 fs_timestamp, uint32 creator_os, int swapit, char *fname) - { - uint32 i; - filesystem *fs; -- directory *d; -- uint8 * b; -+ dirwalker dw; - uint32 nod, first_block; - uint32 nbgroups,nbinodes_per_group,overhead_per_group,free_blocks, - free_blocks_per_group,nbblocks_per_group,min_nbgroups; -@@ -1906,6 +2545,11 @@ - uint32 j; - uint8 *bbm,*ibm; - inode *itab0; -+ blk_info *bi; -+ nod_info *ni; -+ groupdescriptor *gd; -+ gd_info *gi; -+ inode_pos ipos; - - if(nbresrvd < 0) - error_msg_and_die("reserved blocks value is invalid. Note: options have changed, see --help or the man page."); -@@ -1919,10 +2563,14 @@ - */ - min_nbgroups = (nbinodes + INODES_PER_GROUP - 1) / INODES_PER_GROUP; - -+ /* On filesystems with 1k block size, the bootloader area uses a full -+ * block. For 2048 and up, the superblock can be fitted into block 0. -+ */ -+ first_block = (BLOCKSIZE == 1024); -+ - /* nbblocks is the total number of blocks in the filesystem. - * a block group can have no more than 8192 blocks. - */ -- first_block = (BLOCKSIZE == 1024); - nbgroups = (nbblocks - first_block + BLOCKS_PER_GROUP - 1) / BLOCKS_PER_GROUP; - if(nbgroups < min_nbgroups) nbgroups = min_nbgroups; - nbblocks_per_group = rndup((nbblocks - first_block + nbgroups - 1)/nbgroups, 8); -@@ -1934,51 +2582,59 @@ - gdsz = rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE; - itblsz = nbinodes_per_group * sizeof(inode)/BLOCKSIZE; - overhead_per_group = 3 /*sb,bbm,ibm*/ + gdsz + itblsz; -- if((uint32)nbblocks - 1 < overhead_per_group * nbgroups) -- error_msg_and_die("too much overhead, try fewer inodes or more blocks. Note: options have changed, see --help or the man page."); -- free_blocks = nbblocks - overhead_per_group*nbgroups - 1 /*boot block*/; -+ free_blocks = nbblocks - overhead_per_group*nbgroups - first_block; - free_blocks_per_group = nbblocks_per_group - overhead_per_group; -+ if(free_blocks < 0) -+ error_msg_and_die("too much overhead, try fewer inodes or more blocks. Note: options have changed, see --help or the man page."); - -- if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE))) -- error_msg_and_die("not enough memory for filesystem"); -+ fs = alloc_fs(swapit, fname, nbblocks, NULL); -+ fs->sb = calloc(1, SUPERBLOCK_SIZE); -+ if (!fs->sb) -+ error_msg_and_die("error allocating header memory"); - - // create the superblock for an empty filesystem -- fs->sb.s_inodes_count = nbinodes_per_group * nbgroups; -- fs->sb.s_blocks_count = nbblocks; -- fs->sb.s_r_blocks_count = nbresrvd; -- fs->sb.s_free_blocks_count = free_blocks; -- fs->sb.s_free_inodes_count = fs->sb.s_inodes_count - EXT2_FIRST_INO + 1; -- fs->sb.s_first_data_block = first_block; -- fs->sb.s_log_block_size = BLOCKSIZE >> 11; -- fs->sb.s_log_frag_size = BLOCKSIZE >> 11; -- fs->sb.s_blocks_per_group = nbblocks_per_group; -- fs->sb.s_frags_per_group = nbblocks_per_group; -- fs->sb.s_inodes_per_group = nbinodes_per_group; -- fs->sb.s_wtime = fs_timestamp; -- fs->sb.s_magic = EXT2_MAGIC_NUMBER; -- fs->sb.s_lastcheck = fs_timestamp; -+ fs->sb->s_inodes_count = nbinodes_per_group * nbgroups; -+ fs->sb->s_blocks_count = nbblocks; -+ fs->sb->s_r_blocks_count = nbresrvd; -+ fs->sb->s_free_blocks_count = free_blocks; -+ fs->sb->s_free_inodes_count = fs->sb->s_inodes_count - EXT2_FIRST_INO + 1; -+ fs->sb->s_first_data_block = first_block; -+ fs->sb->s_log_block_size = BLOCKSIZE >> 11; -+ fs->sb->s_log_frag_size = BLOCKSIZE >> 11; -+ fs->sb->s_blocks_per_group = nbblocks_per_group; -+ fs->sb->s_frags_per_group = nbblocks_per_group; -+ fs->sb->s_inodes_per_group = nbinodes_per_group; -+ fs->sb->s_wtime = fs_timestamp; -+ fs->sb->s_magic = EXT2_MAGIC_NUMBER; -+ fs->sb->s_lastcheck = fs_timestamp; -+ fs->sb->s_creator_os = creator_os; -+ -+ set_file_size(fs); - - // set up groupdescriptors -- for(i=0, bbmpos=gdsz+2, ibmpos=bbmpos+1, itblpos=ibmpos+1; -+ for(i=0, bbmpos=first_block+1+gdsz, ibmpos=bbmpos+1, itblpos=ibmpos+1; - i free_blocks_per_group) { -- fs->gd[i].bg_free_blocks_count = free_blocks_per_group; -+ gd->bg_free_blocks_count = free_blocks_per_group; - free_blocks -= free_blocks_per_group; - } else { -- fs->gd[i].bg_free_blocks_count = free_blocks; -+ gd->bg_free_blocks_count = free_blocks; - free_blocks = 0; // this is the last block group - } - if(i) -- fs->gd[i].bg_free_inodes_count = nbinodes_per_group; -+ gd->bg_free_inodes_count = nbinodes_per_group; - else -- fs->gd[i].bg_free_inodes_count = nbinodes_per_group - -+ gd->bg_free_inodes_count = nbinodes_per_group - - EXT2_FIRST_INO + 2; -- fs->gd[i].bg_used_dirs_count = 0; -- fs->gd[i].bg_block_bitmap = bbmpos; -- fs->gd[i].bg_inode_bitmap = ibmpos; -- fs->gd[i].bg_inode_table = itblpos; -+ gd->bg_used_dirs_count = 0; -+ gd->bg_block_bitmap = bbmpos; -+ gd->bg_inode_bitmap = ibmpos; -+ gd->bg_inode_table = itblpos; -+ put_gd(gi); - } - - /* Mark non-filesystem blocks and inodes as allocated */ -@@ -1984,110 +2640,143 @@ - /* Mark non-filesystem blocks and inodes as allocated */ - /* Mark system blocks and inodes as allocated */ - for(i = 0; igd[i].bg_block_bitmap); -+ gd = get_gd(fs, i, &gi); -+ bbm = GRP_GET_GROUP_BBM(fs, gd, &bi); - //non-filesystem blocks -- for(j = fs->gd[i].bg_free_blocks_count -+ for(j = gd->bg_free_blocks_count - + overhead_per_group + 1; j <= BLOCKSIZE * 8; j++) - allocate(bbm, j); - //system blocks - for(j = 1; j <= overhead_per_group; j++) - allocate(bbm, j); -- -+ GRP_PUT_GROUP_BBM(bi); -+ - /* Inode bitmap */ -- ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap); -+ ibm = GRP_GET_GROUP_IBM(fs, gd, &bi); - //non-filesystem inodes -- for(j = fs->sb.s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++) -+ for(j = fs->sb->s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++) - allocate(ibm, j); - - //system inodes - if(i == 0) - for(j = 1; j < EXT2_FIRST_INO; j++) - allocate(ibm, j); -+ GRP_PUT_GROUP_IBM(bi); -+ put_gd(gi); - } - - // make root inode and directory - /* We have groups now. Add the root filesystem in group 0 */ - /* Also increment the directory count for group 0 */ -- fs->gd[0].bg_free_inodes_count--; -- fs->gd[0].bg_used_dirs_count = 1; -- itab0 = (inode *)get_blk(fs,fs->gd[0].bg_inode_table); -- itab0[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRGRP | FM_IROTH | FM_IXGRP | FM_IXOTH; -- itab0[EXT2_ROOT_INO-1].i_ctime = fs_timestamp; -- itab0[EXT2_ROOT_INO-1].i_mtime = fs_timestamp; -- itab0[EXT2_ROOT_INO-1].i_atime = fs_timestamp; -- itab0[EXT2_ROOT_INO-1].i_size = BLOCKSIZE; -- itab0[EXT2_ROOT_INO-1].i_links_count = 2; -- -- if(!(b = get_workblk())) -- error_msg_and_die("get_workblk() failed."); -- d = (directory*)b; -- d->d_inode = EXT2_ROOT_INO; -- d->d_rec_len = sizeof(directory)+4; -- d->d_name_len = 1; -- strcpy(d->d_name, "."); -- d = (directory*)(b + d->d_rec_len); -- d->d_inode = EXT2_ROOT_INO; -- d->d_rec_len = BLOCKSIZE - (sizeof(directory)+4); -- d->d_name_len = 2; -- strcpy(d->d_name, ".."); -- extend_blk(fs, EXT2_ROOT_INO, b, 1); -+ gd = get_gd(fs, 0, &gi); -+ gd->bg_free_inodes_count--; -+ gd->bg_used_dirs_count = 1; -+ put_gd(gi); -+ itab0 = get_nod(fs, EXT2_ROOT_INO, &ni); -+ itab0->i_mode = FM_IFDIR | FM_IRWXU | FM_IRGRP | FM_IROTH | FM_IXGRP | FM_IXOTH; -+ itab0->i_ctime = fs_timestamp; -+ itab0->i_mtime = fs_timestamp; -+ itab0->i_atime = fs_timestamp; -+ itab0->i_size = BLOCKSIZE; -+ itab0->i_links_count = 2; -+ put_nod(ni); -+ -+ new_dir(fs, EXT2_ROOT_INO, ".", 1, &dw); -+ shrink_dir(&dw, EXT2_ROOT_INO, "..", 2); -+ next_dir(&dw); // Force the data into the buffer -+ inode_pos_init(fs, &ipos, EXT2_ROOT_INO, INODE_POS_EXTEND, NULL); -+ extend_inode_blk(fs, &ipos, dir_data(&dw), 1); -+ inode_pos_finish(fs, &ipos); -+ put_dir(&dw); - -- // make lost+found directory and reserve blocks -- if(fs->sb.s_r_blocks_count) -+ // make lost+found directory -+ if(fs->sb->s_r_blocks_count) - { -- nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU, 0, 0, fs_timestamp, fs_timestamp); -+ inode *node; -+ uint8 *b; -+ -+ nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU, -+ 0, 0, fs_timestamp, fs_timestamp); -+ b = get_workblk(); - memset(b, 0, BLOCKSIZE); - ((directory*)b)->d_rec_len = BLOCKSIZE; -- /* We run into problems with e2fsck if directory lost+found grows -- * bigger than this. Need to find out why this happens - sundar -- */ -- if (fs->sb.s_r_blocks_count > fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS ) -- fs->sb.s_r_blocks_count = fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS; -- for(i = 1; i < fs->sb.s_r_blocks_count; i++) -- extend_blk(fs, nod, b, 1); -- get_nod(fs, nod)->i_size = fs->sb.s_r_blocks_count * BLOCKSIZE; -+ inode_pos_init(fs, &ipos, nod, INODE_POS_EXTEND, NULL); -+ // It is always 16 blocks to start out with -+ for(i = 1; i < 16; i++) -+ extend_inode_blk(fs, &ipos, b, 1); -+ inode_pos_finish(fs, &ipos); -+ free_workblk(b); -+ node = get_nod(fs, nod, &ni); -+ node->i_size = 16 * BLOCKSIZE; -+ put_nod(ni); - } -- free_workblk(b); - - // administrative info -- fs->sb.s_state = 1; -- fs->sb.s_max_mnt_count = 20; -+ fs->sb->s_state = 1; -+ fs->sb->s_max_mnt_count = 20; - - // options for me -- if(holes) -- fs->sb.s_reserved[200] |= OP_HOLES; -+ fs->holes = holes; - - return fs; - } - - // loads a filesystem from disk - static filesystem * --load_fs(FILE * fh, int swapit) -+load_fs(FILE *fh, int swapit, char *fname) - { -- size_t fssize; -+ off_t fssize; - filesystem *fs; -- if((fseek(fh, 0, SEEK_END) < 0) || ((ssize_t)(fssize = ftell(fh)) == -1)) -+ -+ if((fseek(fh, 0, SEEK_END) < 0) || ((fssize = ftello(fh)) == -1)) - perror_msg_and_die("input filesystem image"); - rewind(fh); -- fssize = (fssize + BLOCKSIZE - 1) / BLOCKSIZE; -+ if ((fssize % BLOCKSIZE) != 0) -+ error_msg_and_die("Input file not a multiple of block size"); -+ fssize /= BLOCKSIZE; - if(fssize < 16) // totally arbitrary - error_msg_and_die("too small filesystem"); -- if(!(fs = (filesystem*)calloc(fssize, BLOCKSIZE))) -- error_msg_and_die("not enough memory for filesystem"); -- if(fread(fs, BLOCKSIZE, fssize, fh) != fssize) -- perror_msg_and_die("input filesystem image"); -+ fs = alloc_fs(swapit, fname, fssize, fh); -+ -+ /* Read and check the superblock, then read the superblock -+ * and all the group descriptors */ -+ fs->sb = malloc(SUPERBLOCK_SIZE); -+ if (!fs->sb) -+ error_msg_and_die("error allocating header memory"); -+ if (fseek(fs->f, SUPERBLOCK_OFFSET, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (fread(fs->sb, SUPERBLOCK_SIZE, 1, fs->f) != 1) -+ perror_msg_and_die("fread filesystem image superblock"); - if(swapit) -- swap_badfs(fs); -- if(fs->sb.s_rev_level || (fs->sb.s_magic != EXT2_MAGIC_NUMBER)) -+ swap_sb(fs->sb); -+ -+ if((fs->sb->s_rev_level > 1) || (fs->sb->s_magic != EXT2_MAGIC_NUMBER)) - error_msg_and_die("not a suitable ext2 filesystem"); -+ if (fs->sb->s_rev_level > 0) { -+ if (fs->sb->s_first_ino != EXT2_GOOD_OLD_FIRST_INO) -+ error_msg_and_die("First inode incompatible"); -+ if (fs->sb->s_inode_size != EXT2_GOOD_OLD_INODE_SIZE) -+ error_msg_and_die("inode size incompatible"); -+ if (fs->sb->s_feature_compat) -+ error_msg_and_die("Unsupported compat features"); -+ if (fs->sb->s_feature_incompat) -+ error_msg_and_die("Unsupported incompat features"); -+ if (fs->sb->s_feature_ro_compat -+ & ~EXT2_FEATURE_RO_COMPAT_LARGE_FILE) -+ error_msg_and_die("Unsupported ro compat features"); -+ } -+ -+ set_file_size(fs); - return fs; - } - - static void - free_fs(filesystem *fs) - { -+ free(fs->hdlinks.hdl); -+ fclose(fs->f); -+ free(fs->sb); - free(fs); - } - -@@ -2123,16 +2812,23 @@ - { - blockwalker bw; - uint32 bk; -- int32 fsize = get_nod(fs, nod)->i_size; -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ int32 fsize = node->i_size; -+ blk_info *bi; -+ - init_bw(&bw); - while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) - { - if(fsize <= 0) - error_msg_and_die("wrong size while saving inode %d", nod); -- if(fwrite(get_blk(fs, bk), (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1) -+ if(fwrite(get_blk(fs, bk, &bi), -+ (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1) - error_msg_and_die("error while saving inode %d", nod); -+ put_blk(bi); - fsize -= BLOCKSIZE; - } -+ put_nod(ni); - } - - -@@ -2141,8 +2837,11 @@ - print_dev(filesystem *fs, uint32 nod) - { - int minor, major; -- minor = ((uint8*)get_nod(fs, nod)->i_block)[0]; -- major = ((uint8*)get_nod(fs, nod)->i_block)[1]; -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ minor = ((uint8*)node->i_block)[0]; -+ major = ((uint8*)node->i_block)[1]; -+ put_nod(ni); - printf("major: %d, minor: %d\n", major, minor); - } - -@@ -2157,17 +2856,15 @@ - while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) - { - directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -+ dirwalker dw; -+ for (d = get_dir(fs, bk, &dw); d; d = next_dir(&dw)) - if(d->d_inode) - { -- int i; - printf("entry '"); -- for(i = 0; i < d->d_name_len; i++) -- putchar(d->d_name[i]); -+ fwrite(dir_name(&dw), 1, d->d_name_len, stdout); - printf("' (inode %d): rec_len: %d (name_len: %d)\n", d->d_inode, d->d_rec_len, d->d_name_len); - } -+ put_dir(&dw); - } - } - -@@ -2175,14 +2872,18 @@ - static void - print_link(filesystem *fs, uint32 nod) - { -- if(!get_nod(fs, nod)->i_blocks) -- printf("links to '%s'\n", (char*)get_nod(fs, nod)->i_block); -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ -+ if(!node->i_blocks) -+ printf("links to '%s'\n", (char*)node->i_block); - else - { - printf("links to '"); - write_blocks(fs, nod, stdout); - printf("'\n"); - } -+ put_nod(ni); - } - - // make a ls-like printout of permissions -@@ -2251,8 +2952,13 @@ - { - char *s; - char perms[11]; -- if(!get_nod(fs, nod)->i_mode) -- return; -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ blk_info *bi; -+ gd_info *gi; -+ -+ if(!node->i_mode) -+ goto out; - switch(nod) - { - case EXT2_BAD_INO: -@@ -2274,15 +2980,18 @@ - default: - s = (nod >= EXT2_FIRST_INO) ? "normal" : "unknown reserved"; - } -- printf("inode %d (%s, %d links): ", nod, s, get_nod(fs, nod)->i_links_count); -- if(!allocated(GRP_GET_INODE_BITMAP(fs,nod), GRP_IBM_OFFSET(fs,nod))) -+ printf("inode %d (%s, %d links): ", nod, s, node->i_links_count); -+ if(!allocated(GRP_GET_INODE_BITMAP(fs,nod,&bi,&gi), GRP_IBM_OFFSET(fs,nod))) - { -+ GRP_PUT_INODE_BITMAP(bi,gi); - printf("unallocated\n"); -- return; -+ goto out; - } -- make_perms(get_nod(fs, nod)->i_mode, perms); -- printf("%s, size: %d byte%s (%d block%s)\n", perms, plural(get_nod(fs, nod)->i_size), plural(get_nod(fs, nod)->i_blocks / INOBLK)); -- switch(get_nod(fs, nod)->i_mode & FM_IFMT) -+ GRP_PUT_INODE_BITMAP(bi,gi); -+ make_perms(node->i_mode, perms); -+ printf("%s, size: %d byte%s (%d block%s)\n", perms, -+ plural(node->i_size), plural(node->i_blocks / INOBLK)); -+ switch(node->i_mode & FM_IFMT) - { - case FM_IFSOCK: - list_blocks(fs, nod); -@@ -2310,6 +3019,8 @@ - list_blocks(fs, nod); - } - printf("Done with inode %d\n",nod); -+out: -+ put_nod(ni); - } - - // describes various fields in a filesystem -@@ -2317,49 +3028,65 @@ - print_fs(filesystem *fs) - { - uint32 i; -+ blk_info *bi; -+ groupdescriptor *gd; -+ gd_info *gi; - uint8 *ibm; - - printf("%d blocks (%d free, %d reserved), first data block: %d\n", -- fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, -- fs->sb.s_r_blocks_count, fs->sb.s_first_data_block); -- printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, -- fs->sb.s_free_inodes_count); -+ fs->sb->s_blocks_count, fs->sb->s_free_blocks_count, -+ fs->sb->s_r_blocks_count, fs->sb->s_first_data_block); -+ printf("%d inodes (%d free)\n", fs->sb->s_inodes_count, -+ fs->sb->s_free_inodes_count); - printf("block size = %d, frag size = %d\n", -- fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, -- fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024); -+ fs->sb->s_log_block_size ? (fs->sb->s_log_block_size << 11) : 1024, -+ fs->sb->s_log_frag_size ? (fs->sb->s_log_frag_size << 11) : 1024); - printf("number of groups: %d\n",GRP_NBGROUPS(fs)); - printf("%d blocks per group,%d frags per group,%d inodes per group\n", -- fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, -- fs->sb.s_inodes_per_group); -+ fs->sb->s_blocks_per_group, fs->sb->s_frags_per_group, -+ fs->sb->s_inodes_per_group); - printf("Size of inode table: %d blocks\n", -- (int)(fs->sb.s_inodes_per_group * sizeof(inode) / BLOCKSIZE)); -+ (int)(fs->sb->s_inodes_per_group * sizeof(inode) / BLOCKSIZE)); - for (i = 0; i < GRP_NBGROUPS(fs); i++) { - printf("Group No: %d\n", i+1); -+ gd = get_gd(fs, i, &gi); - printf("block bitmap: block %d,inode bitmap: block %d, inode table: block %d\n", -- fs->gd[i].bg_block_bitmap, fs->gd[i].bg_inode_bitmap, -- fs->gd[i].bg_inode_table); -+ gd->bg_block_bitmap, -+ gd->bg_inode_bitmap, -+ gd->bg_inode_table); - printf("block bitmap allocation:\n"); -- print_bm(GRP_GET_GROUP_BBM(fs, i),fs->sb.s_blocks_per_group); -+ print_bm(GRP_GET_GROUP_BBM(fs, gd, &bi),fs->sb->s_blocks_per_group); -+ GRP_PUT_GROUP_BBM(bi); - printf("inode bitmap allocation:\n"); -- ibm = GRP_GET_GROUP_IBM(fs, i); -- print_bm(ibm, fs->sb.s_inodes_per_group); -- for (i = 1; i <= fs->sb.s_inodes_per_group; i++) -+ ibm = GRP_GET_GROUP_IBM(fs, gd, &bi); -+ print_bm(ibm, fs->sb->s_inodes_per_group); -+ for (i = 1; i <= fs->sb->s_inodes_per_group; i++) - if (allocated(ibm, i)) - print_inode(fs, i); -+ GRP_PUT_GROUP_IBM(bi); -+ put_gd(gi); - } - } - - static void --dump_fs(filesystem *fs, FILE * fh, int swapit) -+finish_fs(filesystem *fs) - { -- uint32 nbblocks = fs->sb.s_blocks_count; -- fs->sb.s_reserved[200] = 0; -- if(swapit) -- swap_goodfs(fs); -- if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks) -- perror_msg_and_die("output filesystem image"); -- if(swapit) -- swap_badfs(fs); -+ if (cache_flush(&fs->inodes)) -+ error_msg_and_die("entry mismatch on inode cache flush"); -+ if (cache_flush(&fs->blkmaps)) -+ error_msg_and_die("entry mismatch on blockmap cache flush"); -+ if (cache_flush(&fs->gds)) -+ error_msg_and_die("entry mismatch on gd cache flush"); -+ if (cache_flush(&fs->blks)) -+ error_msg_and_die("entry mismatch on block cache flush"); -+ if(fs->swapit) -+ swap_sb(fs->sb); -+ if (fseek(fs->f, SUPERBLOCK_OFFSET, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if(fwrite(fs->sb, SUPERBLOCK_SIZE, 1, fs->f) != 1) -+ perror_msg_and_die("output filesystem superblock"); -+ if(fs->swapit) -+ swap_sb(fs->sb); - } - - static void -@@ -2419,10 +3146,12 @@ - " -x, --starting-image \n" - " -d, --root \n" - " -D, --devtable \n" -+ " -B, --block-size \n" - " -b, --size-in-blocks \n" - " -i, --bytes-per-inode \n" - " -N, --number-of-inodes \n" - " -m, --reserved-percentage \n" -+ " -o, --creator-os 'linux' (default), 'hurd', 'freebsd' or number.\n" - " -g, --block-map Generate a block map file for this path.\n" - " -e, --fill-value Fill unallocated blocks with value.\n" - " -z, --allow-holes Allow files with holes.\n" -@@ -2444,15 +3173,34 @@ - extern char* optarg; - extern int optind, opterr, optopt; - -+// parse the value for -o -+int -+lookup_creator_os(const char *name) -+{ -+ if (isdigit (*name)) -+ return atoi(name); -+ else if (strcasecmp(name, "linux") == 0) -+ return EXT2_OS_LINUX; -+ else if (strcasecmp(name, "GNU") == 0 || strcasecmp(name, "hurd") == 0) -+ return EXT2_OS_HURD; -+ else if (strcasecmp(name, "freebsd") == 0) -+ return EXT2_OS_FREEBSD; -+ else if (strcasecmp(name, "lites") == 0) -+ return EXT2_OS_LITES; -+ else -+ return EXT2_OS_LINUX; -+} -+ - int - main(int argc, char **argv) - { -- int nbblocks = -1; -+ long long nbblocks = -1; - int nbinodes = -1; - int nbresrvd = -1; - float bytes_per_inode = -1; - float reserved_frac = -1; - int fs_timestamp = -1; -+ int creator_os = CREATOR_OS; - char * fsout = "-"; - char * fsin = 0; - char * dopt[MAX_DOPT]; -@@ -2466,6 +3214,7 @@ - int squash_perms = 0; - uint16 endian = 1; - int bigendian = !*(char*)&endian; -+ char *volumelabel = NULL; - filesystem *fs; - int i; - int c; -@@ -2476,13 +3225,16 @@ - { "starting-image", required_argument, NULL, 'x' }, - { "root", required_argument, NULL, 'd' }, - { "devtable", required_argument, NULL, 'D' }, -+ { "block-size", required_argument, NULL, 'B' }, - { "size-in-blocks", required_argument, NULL, 'b' }, - { "bytes-per-inode", required_argument, NULL, 'i' }, - { "number-of-inodes", required_argument, NULL, 'N' }, -+ { "volume-label", required_argument, NULL, 'L' }, - { "reserved-percentage", required_argument, NULL, 'm' }, -+ { "creator-os", required_argument, NULL, 'o' }, - { "block-map", required_argument, NULL, 'g' }, - { "fill-value", required_argument, NULL, 'e' }, -- { "allow-holes", no_argument, NULL, 'z' }, -+ { "allow-holes", no_argument, NULL, 'z' }, - { "faketime", no_argument, NULL, 'f' }, - { "squash", no_argument, NULL, 'q' }, - { "squash-uids", no_argument, NULL, 'U' }, -@@ -2495,11 +3247,11 @@ - - app_name = argv[0]; - -- while((c = getopt_long(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv", longopts, NULL)) != EOF) { -+ while((c = getopt_long(argc, argv, "x:d:D:B:b:i:N:L:m:o:g:e:zfqUPhVv", longopts, NULL)) != EOF) { - #else - app_name = argv[0]; - -- while((c = getopt(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv")) != EOF) { -+ while((c = getopt(argc, argv, "x:d:D:B:b:i:N:L:m:o:g:e:zfqUPhVv")) != EOF) { - #endif /* HAVE_GETOPT_LONG */ - switch(c) - { -@@ -2510,6 +3262,9 @@ - case 'D': - dopt[didx++] = optarg; - break; -+ case 'B': -+ blocksize = SI_atof(optarg); -+ break; - case 'b': - nbblocks = SI_atof(optarg); - break; -@@ -2519,9 +3274,15 @@ - case 'N': - nbinodes = SI_atof(optarg); - break; -+ case 'L': -+ volumelabel = optarg; -+ break; - case 'm': - reserved_frac = SI_atof(optarg) / 100; - break; -+ case 'o': -+ creator_os = lookup_creator_os(optarg); -+ break; - case 'g': - gopt[gidx++] = optarg; - break; -@@ -2565,21 +3326,21 @@ - error_msg_and_die("Not enough arguments. Try --help or else see the man page."); - fsout = argv[optind]; - -- hdlinks.hdl = (struct hdlink_s *)malloc(hdlink_cnt * sizeof(struct hdlink_s)); -- if (!hdlinks.hdl) -- error_msg_and_die("Not enough memory"); -- hdlinks.count = 0 ; -+ if(blocksize != 1024 && blocksize != 2048 && blocksize != 4096) -+ error_msg_and_die("Valid block sizes: 1024, 2048 or 4096."); -+ if(creator_os < 0) -+ error_msg_and_die("Creator OS unknown."); - - if(fsin) - { - if(strcmp(fsin, "-")) - { - FILE * fh = xfopen(fsin, "rb"); -- fs = load_fs(fh, bigendian); -+ fs = load_fs(fh, bigendian, fsout); - fclose(fh); - } - else -- fs = load_fs(stdin, bigendian); -+ fs = load_fs(stdin, bigendian, fsout); - } - else - { -@@ -2609,16 +3370,29 @@ - } - if(fs_timestamp == -1) - fs_timestamp = time(NULL); -- fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, fs_timestamp); -+ fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, -+ fs_timestamp, creator_os, bigendian, fsout); - } -+ if (volumelabel != NULL) -+ strncpy((char *)fs->sb->s_volume_name, volumelabel, -+ sizeof(fs->sb->s_volume_name)); - - populate_fs(fs, dopt, didx, squash_uids, squash_perms, fs_timestamp, NULL); - - if(emptyval) { - uint32 b; -- for(b = 1; b < fs->sb.s_blocks_count; b++) -- if(!allocated(GRP_GET_BLOCK_BITMAP(fs,b),GRP_BBM_OFFSET(fs,b))) -- memset(get_blk(fs, b), emptyval, BLOCKSIZE); -+ for(b = 1; b < fs->sb->s_blocks_count; b++) { -+ blk_info *bi; -+ gd_info *gi; -+ if(!allocated(GRP_GET_BLOCK_BITMAP(fs,b,&bi,&gi), -+ GRP_BBM_OFFSET(fs,b))) { -+ blk_info *bi2; -+ memset(get_blk(fs, b, &bi2), emptyval, -+ BLOCKSIZE); -+ put_blk(bi2); -+ } -+ GRP_PUT_BLOCK_BITMAP(bi,gi); -+ } - } - if(verbose) - print_fs(fs); -@@ -2628,24 +3402,22 @@ - char fname[MAX_FILENAME]; - char *p; - FILE *fh; -+ nod_info *ni; - if(!(nod = find_path(fs, EXT2_ROOT_INO, gopt[i]))) - error_msg_and_die("path %s not found in filesystem", gopt[i]); - while((p = strchr(gopt[i], '/'))) - *p = '_'; - SNPRINTF(fname, MAX_FILENAME-1, "%s.blk", gopt[i]); - fh = xfopen(fname, "wb"); -- fprintf(fh, "%d:", get_nod(fs, nod)->i_size); -+ fprintf(fh, "%d:", get_nod(fs, nod, &ni)->i_size); -+ put_nod(ni); - flist_blocks(fs, nod, fh); - fclose(fh); - } -- if(strcmp(fsout, "-")) -- { -- FILE * fh = xfopen(fsout, "wb"); -- dump_fs(fs, fh, bigendian); -- fclose(fh); -- } -- else -- dump_fs(fs, stdout, bigendian); -+ finish_fs(fs); -+ if(strcmp(fsout, "-") == 0) -+ copy_file(fs, stdout, fs->f, fs->sb->s_blocks_count); -+ - free_fs(fs); - return 0; - } -Index: genext2fs-1.4.1/cache.h -=================================================================== ---- /dev/null -+++ genext2fs-1.4.1/cache.h -@@ -0,0 +1,128 @@ -+#ifndef __CACHE_H__ -+#define __CACHE_H__ -+ -+#include "list.h" -+ -+#define CACHE_LISTS 256 -+ -+typedef struct -+{ -+ list_elem link; -+ list_elem lru_link; -+} cache_link; -+ -+typedef struct -+{ -+ /* LRU list holds unused items */ -+ unsigned int lru_entries; -+ list_elem lru_list; -+ unsigned int max_free_entries; -+ -+ unsigned int entries; -+ list_elem lists[CACHE_LISTS]; -+ unsigned int (*elem_val)(cache_link *elem); -+ void (*freed)(cache_link *elem); -+} listcache; -+ -+static inline void -+cache_add(listcache *c, cache_link *elem) -+{ -+ unsigned int hash = c->elem_val(elem) % CACHE_LISTS; -+ int delcount = c->lru_entries - c->max_free_entries; -+ -+ if (delcount > 0) { -+ /* Delete some unused items. */ -+ list_elem *lru, *next; -+ cache_link *l; -+ list_for_each_elem_safe(&c->lru_list, lru, next) { -+ l = container_of(lru, cache_link, lru_link); -+ list_del(lru); -+ list_del(&l->link); -+ c->entries--; -+ c->lru_entries--; -+ c->freed(l); -+ delcount--; -+ if (delcount <= 0) -+ break; -+ } -+ } -+ -+ c->entries++; -+ list_item_init(&elem->lru_link); /* Mark it not in the LRU list */ -+ list_add_after(&c->lists[hash], &elem->link); -+} -+ -+static inline void -+cache_item_set_unused(listcache *c, cache_link *elem) -+{ -+ list_add_before(&c->lru_list, &elem->lru_link); -+ c->lru_entries++; -+} -+ -+static inline cache_link * -+cache_find(listcache *c, unsigned int val) -+{ -+ unsigned int hash = val % CACHE_LISTS; -+ list_elem *elem; -+ -+ list_for_each_elem(&c->lists[hash], elem) { -+ cache_link *l = container_of(elem, cache_link, link); -+ if (c->elem_val(l) == val) { -+ if (!list_empty(&l->lru_link)) { -+ /* It's in the unused list, remove it. */ -+ list_del(&l->lru_link); -+ list_item_init(&l->lru_link); -+ c->lru_entries--; -+ } -+ return l; -+ } -+ } -+ return NULL; -+} -+ -+static inline int -+cache_flush(listcache *c) -+{ -+ list_elem *elem, *next; -+ cache_link *l; -+ int i; -+ -+ list_for_each_elem_safe(&c->lru_list, elem, next) { -+ l = container_of(elem, cache_link, lru_link); -+ list_del(elem); -+ list_del(&l->link); -+ c->entries--; -+ c->lru_entries--; -+ c->freed(l); -+ } -+ -+ for (i = 0; i < CACHE_LISTS; i++) { -+ list_for_each_elem_safe(&c->lists[i], elem, next) { -+ l = container_of(elem, cache_link, link); -+ list_del(&l->link); -+ c->entries--; -+ c->freed(l); -+ } -+ } -+ -+ return c->entries || c->lru_entries; -+} -+ -+static inline void -+cache_init(listcache *c, unsigned int max_free_entries, -+ unsigned int (*elem_val)(cache_link *elem), -+ void (*freed)(cache_link *elem)) -+{ -+ int i; -+ -+ c->entries = 0; -+ c->lru_entries = 0; -+ c->max_free_entries = max_free_entries; -+ list_init(&c->lru_list); -+ for (i = 0; i < CACHE_LISTS; i++) -+ list_init(&c->lists[i]); -+ c->elem_val = elem_val; -+ c->freed = freed; -+} -+ -+#endif /* __CACHE_H__ */ -Index: genext2fs-1.4.1/list.h -=================================================================== ---- /dev/null -+++ genext2fs-1.4.1/list.h -@@ -0,0 +1,78 @@ -+#ifndef __LIST_H__ -+#define __LIST_H__ -+ -+#if STDC_HEADERS -+# include -+# include -+#else -+# if HAVE_STDLIB_H -+# include -+# endif -+# if HAVE_STDDEF_H -+# include -+# endif -+#endif -+ -+#ifndef offsetof -+#define offsetof(st, m) \ -+ ((size_t) ( (char *)&((st *)(0))->m - (char *)0 )) -+#endif -+ -+#define container_of(ptr, type, member) ({ \ -+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ -+ (type *)( (char *)__mptr - offsetof(type,member) );}) -+ -+typedef struct list_elem -+{ -+ struct list_elem *next; -+ struct list_elem *prev; -+} list_elem; -+ -+static inline void list_init(list_elem *list) -+{ -+ list->next = list; -+ list->prev = list; -+} -+ -+static inline void list_add_after(list_elem *pos, list_elem *elem) -+{ -+ elem->next = pos->next; -+ elem->prev = pos; -+ pos->next->prev = elem; -+ pos->next = elem; -+} -+ -+static inline void list_add_before(list_elem *pos, list_elem *elem) -+{ -+ elem->prev = pos->prev; -+ elem->next = pos; -+ pos->prev->next = elem; -+ pos->prev = elem; -+} -+ -+static inline void list_del(list_elem *elem) -+{ -+ elem->next->prev = elem->prev; -+ elem->prev->next = elem->next; -+} -+ -+static inline void list_item_init(list_elem *elem) -+{ -+ elem->next = elem; -+ elem->prev = elem; -+} -+ -+static inline int list_empty(list_elem *elem) -+{ -+ return elem->next == elem; -+} -+ -+#define list_for_each_elem(list, curr) \ -+ for ((curr) = (list)->next; (curr) != (list); (curr) = (curr)->next) -+ -+#define list_for_each_elem_safe(list, curr, next) \ -+ for ((curr) = (list)->next, (next) = (curr)->next; \ -+ (curr) != (list); \ -+ (curr) = (next), (next) = (curr)->next) -+ -+#endif /* __LIST_H__ */ diff --git a/package/genext2fs/genext2fs.hash b/package/genext2fs/genext2fs.hash index add44c4c4e8..20bb1c641b1 100644 --- a/package/genext2fs/genext2fs.hash +++ b/package/genext2fs/genext2fs.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 404dbbfa7a86a6c3de8225c8da254d026b17fd288e05cec4df2cc7e1f4feecfc genext2fs-1.4.1.tar.gz +sha256 d3861e4fe89131bd21fbd25cf0b683b727b5c030c4c336fadcd738ada830aab0 genext2fs-1.5.0.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/genext2fs/genext2fs.mk b/package/genext2fs/genext2fs.mk index dd907c8b123..adfa412e660 100644 --- a/package/genext2fs/genext2fs.mk +++ b/package/genext2fs/genext2fs.mk @@ -4,10 +4,12 @@ # ################################################################################ -GENEXT2FS_VERSION = 1.4.1 -GENEXT2FS_SITE = http://downloads.sourceforge.net/project/genext2fs/genext2fs/$(GENEXT2FS_VERSION) +GENEXT2FS_VERSION = 1.5.0 +GENEXT2FS_SITE = $(call github,bestouff,genext2fs,v$(GENEXT2FS_VERSION)) GENEXT2FS_LICENSE = GPL-2.0 GENEXT2FS_LICENSE_FILES = COPYING +# From git +GENEXT2FS_AUTORECONF = YES $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/genimage/genimage.hash b/package/genimage/genimage.hash index fbec5ce57b0..80065d53b15 100644 --- a/package/genimage/genimage.hash +++ b/package/genimage/genimage.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4206e253226a384386c01591251f2ed1ea3485ef63f1e696db03600e1213db79 genimage-13.tar.xz +sha256 9bca24bf883310b30ee4511cbc3a580e40ad4540826e5ed3992c595ce72d003e genimage-15.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/genimage/genimage.mk b/package/genimage/genimage.mk index dde8f8b9e0b..44963b48fbd 100644 --- a/package/genimage/genimage.mk +++ b/package/genimage/genimage.mk @@ -4,7 +4,7 @@ # ################################################################################ -GENIMAGE_VERSION = 13 +GENIMAGE_VERSION = 15 GENIMAGE_SOURCE = genimage-$(GENIMAGE_VERSION).tar.xz GENIMAGE_SITE = https://github.com/pengutronix/genimage/releases/download/v$(GENIMAGE_VERSION) HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse diff --git a/package/gensio/Config.in b/package/gensio/Config.in index f874d1a469f..fd0e4769707 100644 --- a/package/gensio/Config.in +++ b/package/gensio/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_GENSIO bool "gensio" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_ATOMIC help A library to abstract stream I/O like serial port, TCP, telnet, UDP, SSL, IPMI SOL, etc. diff --git a/package/gensio/gensio.hash b/package/gensio/gensio.hash index 77963abe405..930a2fff819 100644 --- a/package/gensio/gensio.hash +++ b/package/gensio/gensio.hash @@ -1,7 +1,7 @@ # From https://sourceforge.net/projects/ser2net/files/ser2net/ -md5 3feb9b586f41cdda4025eeac11000127 gensio-2.2.3.tar.gz -sha1 85eb2f063e906868672e08c8f7e282272904631c gensio-2.2.3.tar.gz +md5 45cd3a4d9058816e50351b0700a035ad gensio-2.2.9.tar.gz +sha1 4bb34517931f5be4dc5982f6e7a567cf6fdc41b8 gensio-2.2.9.tar.gz # Locally computed: -sha256 ffc849be3349ba15cd6f92d109a54c7608c15d33d210a262c02ddcf00ea76262 gensio-2.2.3.tar.gz +sha256 3609f66e61c98cce181ec1b37508b727b636d7cfffdb6edd4c254d2f6097a000 gensio-2.2.9.tar.gz sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING sha256 dcac7d447dd81ab96d28dce00a07a6486e623f7ded94e2a2a8e83312405cdf89 COPYING.LIB diff --git a/package/gensio/gensio.mk b/package/gensio/gensio.mk index e68e75e2ad3..266ac137a25 100644 --- a/package/gensio/gensio.mk +++ b/package/gensio/gensio.mk @@ -4,11 +4,12 @@ # ################################################################################ -GENSIO_VERSION = 2.2.3 +GENSIO_VERSION = 2.2.9 GENSIO_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net GENSIO_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) GENSIO_LICENSE_FILES = COPYING.LIB COPYING GENSIO_INSTALL_STAGING = YES +GENSIO_DEPENDENCIES = $(if $(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),avahi) GENSIO_CONF_OPTS = \ --without-openipmi \ --without-swig \ @@ -21,6 +22,10 @@ else GENSIO_CONF_OPTS += --without-openssl endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GENSIO_CONF_ENV += LIBS=-latomic +endif + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) GENSIO_CONF_OPTS += --with-pthreads else diff --git a/package/gerbera/0001-Fix-for-fmt-8-0.patch b/package/gerbera/0001-Fix-for-fmt-8-0.patch new file mode 100644 index 00000000000..c4419209a5f --- /dev/null +++ b/package/gerbera/0001-Fix-for-fmt-8-0.patch @@ -0,0 +1,44 @@ +From 82d84ac5e62c23e717198fc7b2ef190ff95e70d1 Mon Sep 17 00:00:00 2001 +From: kyak +Date: Wed, 12 Jan 2022 19:41:37 +0300 +Subject: [PATCH] Fix for fmt > 8.0 + +[Retrieved from: +https://github.com/gerbera/gerbera/commit/82d84ac5e62c23e717198fc7b2ef190ff95e70d1] +Signed-off-by: Fabrice Fontaine +--- + src/util/logger.h | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/src/util/logger.h b/src/util/logger.h +index 58696e52f..ba64afa79 100644 +--- a/src/util/logger.h ++++ b/src/util/logger.h +@@ -32,7 +32,9 @@ + #ifndef __LOGGER_H__ + #define __LOGGER_H__ + ++#include + #include ++#include + + #define log_debug SPDLOG_DEBUG + #define log_info SPDLOG_INFO +@@ -40,4 +42,17 @@ + #define log_error SPDLOG_ERROR + #define log_js SPDLOG_INFO + ++#if FMT_VERSION >= 80100 ++template ++struct fmt::formatter, char>> ++ : formatter> { ++ template ++ auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) ++ { ++ return fmt::formatter>::format( ++ static_cast>(value), ctx); ++ } ++}; ++#endif ++ + #endif // __LOGGER_H__ diff --git a/package/gerbera/Config.in b/package/gerbera/Config.in index b734de95de7..46a163ec783 100644 --- a/package/gerbera/Config.in +++ b/package/gerbera/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_GERBERA depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # fmt select BR2_PACKAGE_FMT select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE @@ -20,10 +21,14 @@ config BR2_PACKAGE_GERBERA A free media server. Stream your media to devices on your home network. + Select BR2_PACKAGE_DUKTAPE if you want to enable JavaScript + for scripting. + https://gerbera.io -comment "gerbera needs a toolchain w/ C++, threads, wchar, gcc >= 8" +comment "gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_8 diff --git a/package/gerbera/S99gerbera b/package/gerbera/S99gerbera index d1c74c887cb..e5a70e78a8f 100644 --- a/package/gerbera/S99gerbera +++ b/package/gerbera/S99gerbera @@ -8,6 +8,9 @@ GERBERA_ARGS="-c /etc/gerbera/config.xml -l /var/log/gerbera.log" # shellcheck source=/dev/null [ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" +# (Re)create home directory +mkdir -p /var/lib/$DAEMON + start() { printf 'Starting %s: ' "$DAEMON" # shellcheck disable=SC2086 # we need the word splitting diff --git a/package/gerbera/config.xml b/package/gerbera/config.xml index ddaaa7f18f1..30d70e21f7e 100644 --- a/package/gerbera/config.xml +++ b/package/gerbera/config.xml @@ -1,12 +1,13 @@ + - + Gerbera @@ -28,23 +29,6 @@ gerbera.db - - - - - * @@ -55,88 +39,96 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - audio/L16 + + audio/mpeg no yes no - - + + video/mpeg yes yes yes - - + + diff --git a/package/gerbera/gerbera.hash b/package/gerbera/gerbera.hash index e584db1354f..5dcd364c338 100644 --- a/package/gerbera/gerbera.hash +++ b/package/gerbera/gerbera.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 cbe7ea78977db8c02fcca1759ed149f199a590afaf4a6d21ffcca8623d1a0cc5 gerbera-1.6.4.tar.gz +sha256 dee562cc5d22e8442e2fe1620b073bda612c80f9c4a8333311c647db06c1c4cd gerbera-1.9.2.tar.gz sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md diff --git a/package/gerbera/gerbera.mk b/package/gerbera/gerbera.mk index 6e363777981..ab49f661ac6 100644 --- a/package/gerbera/gerbera.mk +++ b/package/gerbera/gerbera.mk @@ -4,7 +4,7 @@ # ################################################################################ -GERBERA_VERSION = 1.6.4 +GERBERA_VERSION = 1.9.2 GERBERA_SITE = $(call github,gerbera,gerbera,v$(GERBERA_VERSION)) GERBERA_LICENSE = GPL-2.0 GERBERA_LICENSE_FILES = LICENSE.md @@ -16,13 +16,22 @@ GERBERA_DEPENDENCIES = \ sqlite \ util-linux \ zlib -GERBERA_CONF_OPTS = \ - -DWITH_DEBUG=OFF \ - -DWITH_JS=OFF +GERBERA_CONF_OPTS = -DWITH_DEBUG=OFF + +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_9)$(BR2_OPTIMIZE_S),yy) +GERBERA_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O2" +endif # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -GERBERA_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +GERBERA_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + +ifeq ($(BR2_PACKAGE_DUKTAPE),y) +GERBERA_DEPENDENCIES += duktape +GERBERA_CONF_OPTS += -DWITH_JS=ON +else +GERBERA_CONF_OPTS += -DWITH_JS=OFF endif ifeq ($(BR2_PACKAGE_EXIV2),y) diff --git a/package/gesftpserver/gesftpserver.mk b/package/gesftpserver/gesftpserver.mk index 85511a3c976..20ad92d25a1 100644 --- a/package/gesftpserver/gesftpserver.mk +++ b/package/gesftpserver/gesftpserver.mk @@ -23,6 +23,10 @@ GESFTPSERVER_DEPENDENCIES += \ $(if $(BR2_ENABLE_LOCALE),,libiconv) \ $(if $(BR2_PACKAGE_OPENSSH),openssh) +# Python on the host is only used for tests, which we don't use in +# Buildroot +GESFTPSERVER_CONF_ENV += rjk_cv_python24=false + # openssh/dropbear looks here define GESFTPSERVER_ADD_SYMLINK ln -sf gesftpserver $(TARGET_DIR)/usr/libexec/sftp-server diff --git a/package/gettext-gnu/gettext-gnu.mk b/package/gettext-gnu/gettext-gnu.mk index ee7e97baf72..9a1eabd0dfb 100644 --- a/package/gettext-gnu/gettext-gnu.mk +++ b/package/gettext-gnu/gettext-gnu.mk @@ -11,6 +11,8 @@ GETTEXT_GNU_SOURCE = gettext-$(GETTEXT_GNU_VERSION).tar.xz GETTEXT_GNU_INSTALL_STAGING = YES GETTEXT_GNU_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest) GETTEXT_GNU_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB +GETTEXT_GNU_CPE_ID_VENDOR = gnu +GETTEXT_GNU_CPE_ID_PRODUCT = gettext # 0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch GETTEXT_GNU_AUTORECONF = YES GETTEXT_GNU_PROVIDES = gettext diff --git a/package/ghostscript/0001-Bug-704405-Fix-typo-in-non-forked-lcms2-code.patch b/package/ghostscript/0001-Bug-704405-Fix-typo-in-non-forked-lcms2-code.patch new file mode 100644 index 00000000000..bb1227f687d --- /dev/null +++ b/package/ghostscript/0001-Bug-704405-Fix-typo-in-non-forked-lcms2-code.patch @@ -0,0 +1,28 @@ +From 830afae5454dea3bff903869d82022306890a96c Mon Sep 17 00:00:00 2001 +From: Robin Watts +Date: Fri, 1 Oct 2021 12:44:44 +0100 +Subject: [PATCH] Bug 704405: Fix typo in non-forked lcms2 code. + +[Retrieved from: +https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=830afae5454dea3bff903869d82022306890a96c] +Signed-off-by: Fabrice Fontaine +--- + base/gsicc_lcms2.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/gsicc_lcms2.c b/base/gsicc_lcms2.c +index ccf1d7051..9badb6dee 100644 +--- a/base/gsicc_lcms2.c ++++ b/base/gsicc_lcms2.c +@@ -462,7 +462,7 @@ int + gscms_transform_color(gx_device *dev, gsicc_link_t *icclink, void *inputcolor, + void *outputcolor, int num_bytes) + { +- return gscms_transformm_color_const(dev, icclink, inputcolor, outputcolor, num_bytes); ++ return gscms_transform_color_const(dev, icclink, inputcolor, outputcolor, num_bytes); + } + + int +-- +2.25.1 + diff --git a/package/ghostscript/0001-bug-702985-drop-use-of-FT_CALLBACK_DEF.patch b/package/ghostscript/0001-bug-702985-drop-use-of-FT_CALLBACK_DEF.patch deleted file mode 100644 index 044dcc72f1d..00000000000 --- a/package/ghostscript/0001-bug-702985-drop-use-of-FT_CALLBACK_DEF.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 41ef9a0bc36b9db7115fbe9623f989bfb47bbade Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Tue, 20 Oct 2020 09:49:45 +0100 -Subject: [PATCH] Bug 702985: drop use of FT_CALLBACK_DEF() def - -From 2.10.3, Freetype disappeared the FT_CALLBACK_DEF() macro, which is what -we used when defining our callbacks from Freetype. - -No guidance forthcoming from the Freetype developer who made those changes, -so change to explicitly declaring the callbacks file static. - -Should fix the reported build failures. - -Downloaded from upstream commit: -https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41ef9a0bc36b - -Signed-off-by: Bernd Kuhls ---- - base/fapi_ft.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/base/fapi_ft.c b/base/fapi_ft.c -index 65fa6dcf4..21aef2f06 100644 ---- a/base/fapi_ft.c -+++ b/base/fapi_ft.c -@@ -125,7 +125,7 @@ static void - delete_inc_int_info(gs_fapi_server * a_server, - FT_IncrementalRec * a_inc_int_info); - --FT_CALLBACK_DEF(void *) -+static void * - FF_alloc(FT_Memory memory, long size) - { - gs_memory_t *mem = (gs_memory_t *) memory->user; -@@ -133,7 +133,7 @@ FF_alloc(FT_Memory memory, long size) - return (gs_malloc(mem, size, 1, "FF_alloc")); - } - --FT_CALLBACK_DEF(void *) -+static void * - FF_realloc(FT_Memory memory, long cur_size, long new_size, void *block) - { - gs_memory_t *mem = (gs_memory_t *) memory->user; -@@ -153,7 +153,7 @@ FT_CALLBACK_DEF(void *) - return (tmp); - } - --FT_CALLBACK_DEF(void) -+static void - FF_free(FT_Memory memory, void *block) - { - gs_memory_t *mem = (gs_memory_t *) memory->user; --- -2.17.1 - diff --git a/package/ghostscript/ghostscript.hash b/package/ghostscript/ghostscript.hash index f6cedc6198d..95305a5e060 100644 --- a/package/ghostscript/ghostscript.hash +++ b/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9533/SHA512SUMS -sha512 c142ef9d83896aa8fd18c8e412220fe8f4950614be00d327d27ab051fe85e16524bf2ee00f46c2aca7a352ce47bc3acf2c4de0f7bbea7e4c55474b8af6cdc0a6 ghostscript-9.53.3.tar.gz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9550/SHA512SUMS +sha512 3646b7981dced443559ba97c74c08463139e86a5479661e4dcd217c51e3f8e766da9cf4d7889a98ba3c079a17e9e5b452cc765b633e0720deab2337e77efdd09 ghostscript-9.55.0.tar.gz # Hash for license file: -sha256 6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2 LICENSE +sha256 8ce064f423b7c24a011b6ebf9431b8bf9861a5255e47c84bfb23fc526d030a8b LICENSE diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk index 5b50c94405f..02cb35fcfc2 100644 --- a/package/ghostscript/ghostscript.mk +++ b/package/ghostscript/ghostscript.mk @@ -4,7 +4,7 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 9.53.3 +GHOSTSCRIPT_VERSION = 9.55.0 GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION)) GHOSTSCRIPT_LICENSE = AGPL-3.0 GHOSTSCRIPT_LICENSE_FILES = LICENSE @@ -43,6 +43,7 @@ GHOSTSCRIPT_CONF_OPTS = \ --enable-freetype \ --disable-gtk \ --without-libpaper \ + --without-pdf \ --with-system-libtiff ifeq ($(BR2_PACKAGE_JBIG2DEC),y) @@ -68,7 +69,7 @@ endif ifeq ($(BR2_PACKAGE_CUPS),y) GHOSTSCRIPT_DEPENDENCIES += cups -GHOSTSCRIPT_CONF_OPTS += \ +GHOSTSCRIPT_CONF_OPTS += \ CUPSCONFIG=$(STAGING_DIR)/usr/bin/cups-config \ --enable-cups else @@ -82,4 +83,8 @@ else GHOSTSCRIPT_CONF_OPTS += --without-x endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +GHOSTSCRIPT_CONF_OPTS += --without-tesseract +endif + $(eval $(autotools-package)) diff --git a/package/git/git.hash b/package/git/git.hash index 375ce787e9d..5868fbffda6 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,5 +1,5 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 55735021109565721af805af382c45cce73c3cfaa59daad22443d1477d334d19 git-2.30.0.tar.xz +sha256 d9167d801cf4aa2abca6e8f43d5d1b383e02e4d257ac1dc071802bb773ed0e2a git-2.31.2.tar.xz # Locally calculated sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index 55178de1389..981a238acb7 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,12 +4,13 @@ # ################################################################################ -GIT_VERSION = 2.30.0 +GIT_VERSION = 2.31.2 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ GIT_LICENSE_FILES = COPYING LGPL-2.1 GIT_CPE_ID_VENDOR = git-scm +GIT_SELINUX_MODULES = apache git xdg GIT_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES) # We're patching configure.ac GIT_AUTORECONF = YES @@ -25,12 +26,8 @@ endif ifeq ($(BR2_PACKAGE_PCRE2),y) GIT_DEPENDENCIES += pcre2 GIT_CONF_OPTS += --with-libpcre2 -else ifeq ($(BR2_PACKAGE_PCRE),y) -GIT_DEPENDENCIES += pcre -GIT_CONF_OPTS += --with-libpcre1 -GIT_MAKE_OPTS += NO_LIBPCRE1_JIT=1 else -GIT_CONF_OPTS += --without-libpcre +GIT_CONF_OPTS += --without-libpcre2 endif ifeq ($(BR2_PACKAGE_LIBCURL),y) @@ -52,7 +49,8 @@ endif ifeq ($(BR2_PACKAGE_LIBICONV),y) GIT_DEPENDENCIES += libiconv GIT_CONF_ENV_LIBS += -liconv -GIT_CONF_OPTS += --with-iconv=/usr/lib +GIT_CONF_OPTS += --with-iconv=$(STAGING_DIR)/usr +GIT_CONF_ENV += ac_cv_iconv_omits_bom=no else GIT_CONF_OPTS += --without-iconv endif diff --git a/package/gli/0001-Optional-building-tests.patch b/package/gli/0001-Optional-building-tests.patch new file mode 100644 index 00000000000..c085e5060bb --- /dev/null +++ b/package/gli/0001-Optional-building-tests.patch @@ -0,0 +1,45 @@ +From 629fc81ce73114a5925484937df796467adbe8c7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jo=C3=A3o=20Pereira?= +Date: Fri, 22 Mar 2019 22:58:17 +0000 +Subject: [PATCH] Optional building tests + +[Retrieved from: +https://github.com/g-truc/gli/commit/629fc81ce73114a5925484937df796467adbe8c7] +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 1 + + test/CMakeLists.txt | 8 +++++--- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6eb1a68b..bcff7ef0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,6 +13,7 @@ include(GNUInstallDirs) + include(CMakePackageConfigHelpers) + + enable_testing() ++option(GLI_TEST_ENABLE "Build unit tests" ON) + + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + add_definitions(-DSOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 6b1d4826..e51a3181 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -19,10 +19,12 @@ function(glmCreateTestGTC NAME) + set(SAMPLE_NAME test-${NAME}) + add_executable(${SAMPLE_NAME} ${NAME}.cpp) + target_link_libraries(${SAMPLE_NAME} gli) +- add_test( ++ add_test( + NAME ${SAMPLE_NAME} + COMMAND $ ) + endfunction() + +-add_subdirectory(bug) +-add_subdirectory(core) ++if(GLI_TEST_ENABLE) ++ add_subdirectory(bug) ++ add_subdirectory(core) ++endif() diff --git a/package/gli/gli.mk b/package/gli/gli.mk index 6a332d0e08e..9b9990910aa 100644 --- a/package/gli/gli.mk +++ b/package/gli/gli.mk @@ -14,4 +14,6 @@ GLI_LICENSE_FILES = manual.md GLI_INSTALL_STAGING = YES GLI_INSTALL_TARGET = NO +GLI_CONF_OPTS = -DGLI_TEST_ENABLE=OFF + $(eval $(cmake-package)) diff --git a/package/glib-networking/0001-meson-change-std-to-gnu99.patch b/package/glib-networking/0001-meson-change-std-to-gnu99.patch new file mode 100644 index 00000000000..9f266bc2c8d --- /dev/null +++ b/package/glib-networking/0001-meson-change-std-to-gnu99.patch @@ -0,0 +1,30 @@ +From cdfa726bae1d82b7bd3735475fc2b2c6a31c1d2f Mon Sep 17 00:00:00 2001 +From: Ignacio Casal Quinteiro +Date: Fri, 12 Nov 2021 11:51:33 +0100 +Subject: [PATCH] meson: change std to gnu99 + +This is the same as glib and should fix issues with old +compilers + +(cherry picked from commit b192086b9936602a40a14d00a6883b339b9d7955) +Signed-off-by: Thomas Devoogdt +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index b018ca7b..130a2bf0 100644 +--- a/meson.build ++++ b/meson.build +@@ -3,7 +3,7 @@ project( + version: '2.70.0', + license: 'LGPL2.1+', + meson_version: '>= 0.50.0', +- default_options: ['c_std=c99'] ++ default_options: ['c_std=gnu99'] + ) + + prefix = get_option('prefix') +-- +2.17.1 + diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in index 22331255f7f..9c5d36af16b 100644 --- a/package/glib-networking/Config.in +++ b/package/glib-networking/Config.in @@ -6,6 +6,8 @@ config BR2_PACKAGE_GLIB_NETWORKING depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL if !BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_P11_KIT if BR2_PACKAGE_GNUTLS help Network-related GIO modules for glib. diff --git a/package/glib-networking/glib-networking.hash b/package/glib-networking/glib-networking.hash index 976a19f25eb..347ef6777c4 100644 --- a/package/glib-networking/glib-networking.hash +++ b/package/glib-networking/glib-networking.hash @@ -1,3 +1,3 @@ -# From http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.66/glib-networking-2.66.0.sha256sum -sha256 c5d7be2437fdd196eebfb70c4517b96d3ba7ec13bd496318b8f02dea383e0099 glib-networking-2.66.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.70/glib-networking-2.70.1.sha256sum +sha256 2a16bfc2d271ccd3266e3fb462bc8a4103c02e81bbb339aa92d6fb060592d7bc glib-networking-2.70.1.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index 65630c7fed7..e8905dfff46 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -4,8 +4,8 @@ # ################################################################################ -GLIB_NETWORKING_VERSION_MAJOR = 2.66 -GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_VERSION_MAJOR).0 +GLIB_NETWORKING_VERSION_MAJOR = 2.70 +GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_VERSION_MAJOR).1 GLIB_NETWORKING_SITE = http://ftp.gnome.org/pub/gnome/sources/glib-networking/$(GLIB_NETWORKING_VERSION_MAJOR) GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz GLIB_NETWORKING_INSTALL_STAGING = YES @@ -31,7 +31,7 @@ else GLIB_NETWORKING_CONF_OPTS += -Dgnutls=disabled endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) GLIB_NETWORKING_DEPENDENCIES += openssl GLIB_NETWORKING_CONF_OPTS += -Dopenssl=enabled else diff --git a/package/glibc/2.32-37-g760e1d287825fa91d4d5a0cc921340c740d803e2/glibc.hash b/package/glibc/2.32-37-g760e1d287825fa91d4d5a0cc921340c740d803e2/glibc.hash deleted file mode 100644 index b1d5243fcc0..00000000000 --- a/package/glibc/2.32-37-g760e1d287825fa91d4d5a0cc921340c740d803e2/glibc.hash +++ /dev/null @@ -1,7 +0,0 @@ -# Locally calculated (fetched from Github) -sha256 f4710e9a435a7b83e1d23dd75434f0d36b898eba9b4249c946c32b467d852fd4 glibc-2.32-37-g760e1d287825fa91d4d5a0cc921340c740d803e2.tar.gz - -# Hashes for license files -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES diff --git a/package/glibc/2.32.9000-69-gbd394d131c10c9ec22c6424197b79410042eed99/glibc.hash b/package/glibc/2.32.9000-69-gbd394d131c10c9ec22c6424197b79410042eed99/glibc.hash deleted file mode 100644 index 558591522e3..00000000000 --- a/package/glibc/2.32.9000-69-gbd394d131c10c9ec22c6424197b79410042eed99/glibc.hash +++ /dev/null @@ -1,7 +0,0 @@ -# Locally calculated (fetched from Github) -sha256 c3828224d69a42f5b6982cbec8ae01cf494fe975ce9023e36ff2c10a2fb93e42 glibc-2.32.9000-69-gbd394d131c10c9ec22c6424197b79410042eed99.tar.gz - -# Hashes for license files -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES diff --git a/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0001-sysdeps-unix-sysv-linux-microblaze-pselect32.c-add-m.patch b/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0001-sysdeps-unix-sysv-linux-microblaze-pselect32.c-add-m.patch new file mode 100644 index 00000000000..3597cd6a110 --- /dev/null +++ b/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0001-sysdeps-unix-sysv-linux-microblaze-pselect32.c-add-m.patch @@ -0,0 +1,85 @@ +From af06fe63f9babb6d0179ae5d7d9245daada6bf56 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 26 Dec 2021 10:30:01 +0100 +Subject: [PATCH] sysdeps/unix/sysv/linux/microblaze/pselect32.c: add missing + implementation when !__ASSUME_TIME64_SYSCALLS + +In commit a92f4e6299fe0e3cb6f77e79de00817aece501ce ("linux: Add time64 +pselect support"), a Microblaze specific implementation of +__pselect32() was added to cover the case of kernels < 3.15 which lack +the pselect6 system call. + +This new file sysdeps/unix/sysv/linux/microblaze/pselect32.c takes +precedence over the default implementation +sysdeps/unix/sysv/linux/pselect32.c. + +However sysdeps/unix/sysv/linux/pselect32.c provides an implementation +of __pselect32() which is needed when __ASSUME_TIME64_SYSCALLS is not +defined. On Microblaze, which is a 32-bit architecture, +__ASSUME_TIME64_SYSCALLS is only true for kernels >= 5.1. + +Due to sysdeps/unix/sysv/linux/microblaze/pselect32.c taking +precedence over sysdeps/unix/sysv/linux/pselect32.c, it means that +when we are with a kernel >= 3.15 but < 5.1, we need a __pselect32() +implementation, but sysdeps/unix/sysv/linux/microblaze/pselect32.c +doesn't provide it, and sysdeps/unix/sysv/linux/pselect32.c which +would provide it is not compiled in. + +This causes the following build failure on Microblaze with for example +Linux kernel headers 4.9: + +/home/thomas/buildroot/buildroot/output/host/lib/gcc/microblazeel-buildroot-linux-gnu/10.3.0/../../../../microblazeel-buildroot-linux-gnu/bin/ld: /home/thomas/buildroot/buildroot/output/build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/build/libc_pic.os: in function `__pselect64': +(.text+0x120b44): undefined reference to `__pselect32' +collect2: error: ld returned 1 exit status + +To fix this, we take a crude approach: replicate in +sysdeps/unix/sysv/linux/microblaze/pselect32.c the +!__ASSUME_TIME64_SYSCALLS implementation that is already in +sysdeps/unix/sysv/linux/pselect32.c. + +Upstream: https://sourceware.org/pipermail/libc-alpha/2021-December/134635.html +Signed-off-by: Thomas Petazzoni +--- + .../unix/sysv/linux/microblaze/pselect32.c | 22 +++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +diff --git a/sysdeps/unix/sysv/linux/microblaze/pselect32.c b/sysdeps/unix/sysv/linux/microblaze/pselect32.c +index 70b7b52a48..6b6b3e8a2e 100644 +--- a/sysdeps/unix/sysv/linux/microblaze/pselect32.c ++++ b/sysdeps/unix/sysv/linux/microblaze/pselect32.c +@@ -22,7 +22,25 @@ + #include + #include + +-#ifndef __ASSUME_PSELECT ++#if !defined(__ASSUME_TIME64_SYSCALLS) ++int ++__pselect32 (int nfds, fd_set *readfds, fd_set *writefds, ++ fd_set *exceptfds, const struct __timespec64 *timeout, ++ const sigset_t *sigmask) ++{ ++ struct timespec ts32, *pts32 = NULL; ++ if (timeout != NULL) ++ { ++ ts32 = valid_timespec64_to_timespec (*timeout); ++ pts32 = &ts32; ++ } ++ ++ return SYSCALL_CANCEL (pselect6, nfds, readfds, writefds, exceptfds, ++ pts32, ++ ((__syscall_ulong_t[]){ (uintptr_t) sigmask, ++ __NSIG_BYTES })); ++} ++#elif !defined(__ASSUME_PSELECT) + int + __pselect32 (int nfds, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, const struct __timespec64 *timeout, +@@ -57,4 +75,4 @@ __pselect32 (int nfds, fd_set *readfds, fd_set *writefds, + + return ret; + } +-#endif /* __ASSUME_PSELECT */ ++#endif +-- +2.31.1 + diff --git a/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/glibc.hash b/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/glibc.hash new file mode 100644 index 00000000000..dfd939020f8 --- /dev/null +++ b/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 3c299a21468a80356b848ca341f45551616c4928a6c871e6d45cee942e8b0f24 glibc-2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES diff --git a/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash b/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash deleted file mode 100644 index a61bd65f807..00000000000 --- a/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated (fetched from https://github.com/c-sky/glibc) -sha512 9deb2deceefe347d72de13510a5baa3de00f94c684f3b25e136ca3660f61e65a69f2115abb488c2ab0fa93cda8535853ce1e13e186efcc8434ecc4049efd82b5 glibc-7630ed2fa60caea98f500e4a7a51b88f9bf1e176.tar.gz diff --git a/package/glibc/Config.in b/package/glibc/Config.in index 5ecd058145a..8e9ddac7d96 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -10,6 +10,18 @@ config BR2_PACKAGE_GLIBC help https://www.gnu.org/software/libc/ +config BR2_PACKAGE_GLIBC_KERNEL_COMPAT + bool "Enable compatibiltiy shims to run on older kernels" + help + Say 'y' here if you plan on running your system on a kernel + older than the version used for the toolchain headers. + + Enabling those compatibility shims may generate a slightly + bigger and slightly slower glibc library. + + The oldest supported kernel version depends on the + architecture. + config BR2_PACKAGE_GLIBC_UTILS bool "Install glibc utilities" help diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index f84f670fc06..2702994c6b5 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -4,20 +4,10 @@ # ################################################################################ -ifeq ($(BR2_csky),y) -GLIBC_VERSION = 7630ed2fa60caea98f500e4a7a51b88f9bf1e176 -GLIBC_SITE = $(call github,c-sky,glibc,$(GLIBC_VERSION)) -else # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- # When updating the version, please also update localedef -ifeq ($(BR2_RISCV_32),y) -# RISC-V 32-bit (RV32) requires glibc 2.33 or newer -# Until 2.33 is released, just use master -GLIBC_VERSION = 2.32.9000-69-gbd394d131c10c9ec22c6424197b79410042eed99 -else -GLIBC_VERSION = 2.32-37-g760e1d287825fa91d4d5a0cc921340c740d803e2 -endif +GLIBC_VERSION = 2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. @@ -25,7 +15,6 @@ endif # *NEVER* decide on a version string by looking at the mirror. # Then check that the mirror has been synced already (happens once a day.) GLIBC_SITE = $(call github,bminor,glibc,$(GLIBC_VERSION)) -endif GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library) GLIBC_LICENSE_FILES = COPYING COPYING.LIB LICENSES @@ -64,6 +53,11 @@ ifeq ($(BR2_ENABLE_DEBUG),y) GLIBC_EXTRA_CFLAGS += -g endif +# glibc explicitly requires compile barriers between files +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7),y) +GLIBC_EXTRA_CFLAGS += -fno-lto +endif + # The stubs.h header is not installed by install-headers, but is # needed for the gcc build. An empty stubs.h will work, as explained # in http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html. The same trick @@ -104,6 +98,10 @@ endif GLIBC_MAKE = $(BR2_MAKE) GLIBC_CONF_ENV += ac_cv_prog_MAKE="$(BR2_MAKE)" +ifeq ($(BR2_PACKAGE_GLIBC_KERNEL_COMPAT),) +GLIBC_CONF_OPTS += --enable-kernel=$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)) +endif + # Even though we use the autotools-package infrastructure, we have to # override the default configure commands for several reasons: # @@ -134,8 +132,8 @@ define GLIBC_CONFIGURE_CMDS --disable-profile \ --disable-werror \ --without-gd \ - --enable-kernel=$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)) \ - --with-headers=$(STAGING_DIR)/usr/include) + --with-headers=$(STAGING_DIR)/usr/include \ + $(GLIBC_CONF_OPTS)) $(GLIBC_ADD_MISSING_STUB_H) endef diff --git a/package/glibmm/Config.in b/package/glibmm/Config.in index c7b4082e0e4..2dfc8618172 100644 --- a/package/glibmm/Config.in +++ b/package/glibmm/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_GLIBMM bool "glibmm" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # regex_replace + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 @@ -12,7 +12,7 @@ config BR2_PACKAGE_GLIBMM http://www.gtkmm.org/ -comment "glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 7" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/glibmm/glibmm.hash b/package/glibmm/glibmm.hash index 021b77ef0a7..f0bc7f4e714 100644 --- a/package/glibmm/glibmm.hash +++ b/package/glibmm/glibmm.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/glibmm/2.62/glibmm-2.62.0.sha256sum -sha256 36659f13cc73282392d1305858f3bbca46fbd1ce2f078cc9db8b9f79b2e93cfe glibmm-2.62.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/glibmm/2.68/glibmm-2.68.2.sha256sum +sha256 91e0a8618f7b82db4aaf2648932ea2bcfe626ad030068c18fa2d106fd838d8ad glibmm-2.68.2.tar.xz # License files, locally calculated -sha256 3ea7fa7c5d9a3a113e950eca9cfb85107f096270d8e4dd99daa9d8abdebc60e7 COPYING -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools +sha256 3ea7fa7c5d9a3a113e950eca9cfb85107f096270d8e4dd99daa9d8abdebc60e7 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/glibmm/glibmm.mk b/package/glibmm/glibmm.mk index c31c794ca22..525da6b618a 100644 --- a/package/glibmm/glibmm.mk +++ b/package/glibmm/glibmm.mk @@ -4,21 +4,26 @@ # ################################################################################ -GLIBMM_VERSION_MAJOR = 2.62 -GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).0 +GLIBMM_VERSION_MAJOR = 2.68 +GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).2 GLIBMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) GLIBMM_LICENSE_FILES = COPYING COPYING.tools GLIBMM_SOURCE = glibmm-$(GLIBMM_VERSION).tar.xz GLIBMM_SITE = http://ftp.gnome.org/pub/gnome/sources/glibmm/$(GLIBMM_VERSION_MAJOR) GLIBMM_INSTALL_STAGING = YES GLIBMM_DEPENDENCIES = libglib2 libsigc host-pkgconf +GLIBMM_CONF_OPTS = -Dbuild-examples=false GLIBMM_CXXFLAGS = $(TARGET_CXXFLAGS) +GLIBMM_LDFLAGS = $(TARGET_LDFLAGS) ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) GLIBMM_CXXFLAGS += -O0 endif -GLIBMM_CONF_ENV += CXXFLAGS="$(GLIBMM_CXXFLAGS)" +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GLIBMM_LDFLAGS += -latomic +endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/glmark2/Config.in b/package/glmark2/Config.in index 40d0adcc8a2..059acc62c49 100644 --- a/package/glmark2/Config.in +++ b/package/glmark2/Config.in @@ -5,8 +5,10 @@ config BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2 bool default y depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGBM depends on BR2_PACKAGE_HAS_LIBGLES depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HAS_THREADS # libpthread-stubs -> libdrm select BR2_PACKAGE_GLMARK2_FLAVOR_ANY config BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GL @@ -24,7 +26,6 @@ config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2 depends on BR2_PACKAGE_HAS_LIBGLES depends on BR2_PACKAGE_WAYLAND select BR2_PACKAGE_GLMARK2_FLAVOR_ANY - select BR2_PACKAGE_WAYLAND_PROTOCOLS config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL bool @@ -33,7 +34,6 @@ config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL depends on BR2_PACKAGE_HAS_LIBGL depends on BR2_PACKAGE_WAYLAND select BR2_PACKAGE_GLMARK2_FLAVOR_ANY - select BR2_PACKAGE_WAYLAND_PROTOCOLS config BR2_PACKAGE_GLMARK2_FLAVOR_X11_GLESV2 bool @@ -63,7 +63,10 @@ config BR2_PACKAGE_GLMARK2 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 depends on BR2_PACKAGE_GLMARK2_FLAVOR_ANY select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2 select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL + select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2 help glmark2 is an OpenGL 2.0 and ES 2.0 benchmark. diff --git a/package/glmark2/glmark2.hash b/package/glmark2/glmark2.hash index 33a99de12ae..84058197701 100644 --- a/package/glmark2/glmark2.hash +++ b/package/glmark2/glmark2.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 9ad57e4eec0049c47a367b57f5f8d3e31e4c488b1d5d6673a75f1b2282e40888 glmark2-c493520253fbfe3676c8b34b6f91a7c9a838fc8e.tar.gz +sha256 12aef3ce80406bc723542979b9818886a28d0a4c93f62379eaadfd830974790d glmark2-06e78b67702b5413335ecdf1ae816da9c20f6ed9.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 16fbc228292bd774b263b212ae422c524cbf3b2078bcf21b22f8bdd4373be617 COPYING.SGI diff --git a/package/glmark2/glmark2.mk b/package/glmark2/glmark2.mk index 9e47b426fe0..e8d6f71dad3 100644 --- a/package/glmark2/glmark2.mk +++ b/package/glmark2/glmark2.mk @@ -4,14 +4,14 @@ # ################################################################################ -GLMARK2_VERSION = c493520253fbfe3676c8b34b6f91a7c9a838fc8e +GLMARK2_VERSION = 06e78b67702b5413335ecdf1ae816da9c20f6ed9 GLMARK2_SITE = $(call github,glmark2,glmark2,$(GLMARK2_VERSION)) GLMARK2_LICENSE = GPL-3.0+, SGIv1 GLMARK2_LICENSE_FILES = COPYING COPYING.SGI GLMARK2_DEPENDENCIES = host-pkgconf jpeg libegl libpng ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2),y) -GLMARK2_DEPENDENCIES += libgles udev +GLMARK2_DEPENDENCIES += libdrm libgbm libgles udev GLMARK2_FLAVORS += drm-glesv2 endif diff --git a/package/glog/0001-src-symbolize.cc-fix-build-without-dlfcn.h.patch b/package/glog/0001-src-symbolize.cc-fix-build-without-dlfcn.h.patch deleted file mode 100644 index 73c6e670ed2..00000000000 --- a/package/glog/0001-src-symbolize.cc-fix-build-without-dlfcn.h.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f71e0899439aaa0e6172243a0862bf8a72a241fc Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 28 Oct 2019 18:21:55 +0100 -Subject: [PATCH] src/symbolize.cc: fix build without dlfcn.h - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/google/glog/pull/475] ---- - src/symbolize.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/symbolize.cc b/src/symbolize.cc -index 1ffc607..ff027f2 100644 ---- a/src/symbolize.cc -+++ b/src/symbolize.cc -@@ -110,7 +110,9 @@ _END_GOOGLE_NAMESPACE_ - - #if defined(__ELF__) - -+#if defined(HAVE_DLFCN_H) - #include -+#endif - #if defined(OS_OPENBSD) - #include - #else -@@ -832,7 +834,7 @@ static ATTRIBUTE_NOINLINE bool SymbolizeAndDemangle(void *pc, char *out, - - _END_GOOGLE_NAMESPACE_ - --#elif defined(OS_MACOSX) && defined(HAVE_DLADDR) -+#elif defined(OS_MACOSX) && defined(HAVE_DLADDR) && defined(HAVE_DLFCN_H) - - #include - #include --- -2.23.0 - diff --git a/package/glog/0002-src-utilities-fix-build-without-pthread.patch b/package/glog/0002-src-utilities-fix-build-without-pthread.patch deleted file mode 100644 index 503f57a697e..00000000000 --- a/package/glog/0002-src-utilities-fix-build-without-pthread.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 9630e0e848da22e27b346c38d9b05f0a16cbf7b3 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 31 Oct 2019 19:27:16 +0100 -Subject: [PATCH] src/utilities: fix build without pthread - -- Remove is_default_thread function which is an internal and not used - function -- Remove g_main_thread_id as it was used only by is_default_thread - -Fixes: - - http://autobuild.buildroot.net/results/5320bbe1205e782e3516d9bead8d1ed825bcbaad - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/google/glog/commit/9630e0e848da22e27b346c38d9b05f0a16cbf7b3] ---- - src/utilities.cc | 16 +++------------- - src/utilities.h | 2 -- - 2 files changed, 3 insertions(+), 15 deletions(-) - -diff --git a/src/utilities.cc b/src/utilities.cc -index d463b33b..9a1e35d0 100644 ---- a/src/utilities.cc -+++ b/src/utilities.cc -@@ -61,7 +61,6 @@ using std::string; - _START_GOOGLE_NAMESPACE_ - - static const char* g_program_invocation_short_name = NULL; --static pthread_t g_main_thread_id; - - _END_GOOGLE_NAMESPACE_ - -@@ -181,16 +180,6 @@ bool IsGoogleLoggingInitialized() { - return g_program_invocation_short_name != NULL; - } - --bool is_default_thread() { -- if (g_program_invocation_short_name == NULL) { -- // InitGoogleLogging() not yet called, so unlikely to be in a different -- // thread -- return true; -- } else { -- return pthread_equal(pthread_self(), g_main_thread_id); -- } --} -- - #ifdef OS_WINDOWS - struct timeval { - long tv_sec, tv_usec; -@@ -276,9 +265,11 @@ pid_t GetTID() { - return getpid(); // Linux: getpid returns thread ID when gettid is absent - #elif defined OS_WINDOWS && !defined OS_CYGWIN - return GetCurrentThreadId(); --#else -+#elif defined(HAVE_PTHREAD) - // If none of the techniques above worked, we use pthread_self(). - return (pid_t)(uintptr_t)pthread_self(); -+#else -+ return -1; - #endif - } - -@@ -350,7 +341,6 @@ void InitGoogleLoggingUtilities(const char* argv0) { - if (!slash) slash = strrchr(argv0, '\\'); - #endif - g_program_invocation_short_name = slash ? slash + 1 : argv0; -- g_main_thread_id = pthread_self(); - - #ifdef HAVE_STACKTRACE - InstallFailureFunction(&DumpStackTraceAndExit); -diff --git a/src/utilities.h b/src/utilities.h -index ca21cfb3..c66f9146 100644 ---- a/src/utilities.h -+++ b/src/utilities.h -@@ -163,8 +163,6 @@ const char* ProgramInvocationShortName(); - - bool IsGoogleLoggingInitialized(); - --bool is_default_thread(); -- - int64 CycleClock_Now(); - - int64 UsecToCycles(int64 usec); diff --git a/package/glog/glog.hash b/package/glog/glog.hash index b9ba6654005..3f84472967e 100644 --- a/package/glog/glog.hash +++ b/package/glog/glog.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c glog-0.4.0.tar.gz +sha256 eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5 glog-0.5.0.tar.gz # Hash for License file: -sha256 0fc497129c5c69ff6f22da6933c7e4aaef082fde8437fd57680c2780100772a4 COPYING +sha256 0fc497129c5c69ff6f22da6933c7e4aaef082fde8437fd57680c2780100772a4 COPYING diff --git a/package/glog/glog.mk b/package/glog/glog.mk index 9d31732a884..325107fb9e3 100644 --- a/package/glog/glog.mk +++ b/package/glog/glog.mk @@ -4,16 +4,17 @@ # ################################################################################ -GLOG_VERSION = 0.4.0 +GLOG_VERSION = 0.5.0 GLOG_SITE = $(call github,google,glog,v$(GLOG_VERSION)) GLOG_INSTALL_STAGING = YES GLOG_LICENSE = BSD-3-Clause GLOG_LICENSE_FILES = COPYING GLOG_CONF_OPTS = \ + -DWITH_GTEST=OFF \ $(if $(BR2_TOOLCHAIN_HAS_THREADS),-DWITH_THREADS=ON, -DWITH_THREADS=OFF) ifeq ($(BR2_PACKAGE_GFLAGS),y) -GLOG_DEPENDENCIES = gflags +GLOG_DEPENDENCIES += gflags GLOG_CONF_OPTS += -DWITH_GFLAGS=ON else GLOG_CONF_OPTS += -DWITH_GFLAGS=OFF diff --git a/package/glorytun/0001-Add-support-for-Apple-silicon.patch b/package/glorytun/0001-Add-support-for-Apple-silicon.patch new file mode 100644 index 00000000000..6d4b8273f33 --- /dev/null +++ b/package/glorytun/0001-Add-support-for-Apple-silicon.patch @@ -0,0 +1,51 @@ +From 577ae0352d191fa604f861ea2f0847e7c5eda617 Mon Sep 17 00:00:00 2001 +From: Frank Denis +Date: Wed, 1 Jul 2020 22:51:43 +0200 +Subject: [PATCH] Add support for Apple silicon + +[Retrieved from: +https://github.com/angt/aegis256/commit/577ae0352d191fa604f861ea2f0847e7c5eda617] +Signed-off-by: Fabrice Fontaine +--- + aegis256.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/mud/aegis256/aegis256.c b/mud/aegis256/aegis256.c +index 9a580bf..75a772c 100644 +--- a/mud/aegis256/aegis256.c ++++ b/mud/aegis256/aegis256.c +@@ -36,7 +36,7 @@ typedef __m128i x128; + #define store128(X,Y) _mm_storeu_si128((x128 *)(X), (Y)) + #define set2x64(X,Y) _mm_set_epi64x((long long)(X), (long long)(Y)) + +-#elif defined(__linux__) && (defined(__ARM_NEON_FP) || defined(__aarch64__)) ++#elif (defined(__APPLE__) || defined(__linux__)) && (defined(__ARM_NEON_FP) || defined(__aarch64__)) + + #ifdef __clang__ + #pragma clang attribute push (__attribute__((target("crypto"))),apply_to=function) +@@ -48,7 +48,9 @@ typedef __m128i x128; + #endif + + #ifdef __ARM_FEATURE_CRYPTO ++#ifdef __linux__ + #include ++#endif + #include + + typedef uint8x16_t x128; +@@ -62,11 +64,15 @@ typedef uint8x16_t x128; + int + aegis256_is_available(void) + { ++#ifdef __linux__ + return (getauxval(AT_HWCAP) & HWCAP_AES) + #ifdef HWCAP2_AES + || (getauxval(AT_HWCAP2) & HWCAP2_AES) + #endif + ; ++#else // __APPLE__ ++ return 1; ++#endif + } + + #endif // __ARM_FEATURE_CRYPTO diff --git a/package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch b/package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch new file mode 100644 index 00000000000..37ae8a3301b --- /dev/null +++ b/package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch @@ -0,0 +1,43 @@ +From eb22e270a962d4a2da1972304fd8b1216211c9d1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 16 Apr 2022 23:32:55 +0200 +Subject: [PATCH] aegis256.c: fix aarch64 build with uclibc + +Fix the following aarch64 build failure with uclibc: + +mud/aegis256/aegis256.c:51:10: fatal error: sys/auxv.h: No such file or directory + 51 | #include + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/4e1bbd72b9b7e0f9963f6693c3d7bc9a1d24fab4 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/angt/aegis256/commit/eb22e270a962d4a2da1972304fd8b1216211c9d1] +--- + aegis256.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mud/aegis256/aegis256.c b/mud/aegis256/aegis256.c +index 75a772c..4e73fab 100644 +--- a/mud/aegis256/aegis256.c ++++ b/mud/aegis256/aegis256.c +@@ -48,7 +48,7 @@ typedef __m128i x128; + #endif + + #ifdef __ARM_FEATURE_CRYPTO +-#ifdef __linux__ ++#if defined(__linux__) && __has_include("sys/auxv.h") + #include + #endif + #include +@@ -64,7 +64,7 @@ typedef uint8x16_t x128; + int + aegis256_is_available(void) + { +-#ifdef __linux__ ++#if defined(__linux__) && __has_include("sys/auxv.h") + return (getauxval(AT_HWCAP) & HWCAP_AES) + #ifdef HWCAP2_AES + || (getauxval(AT_HWCAP2) & HWCAP2_AES) diff --git a/package/glorytun/glorytun.mk b/package/glorytun/glorytun.mk index d128ae835d6..389c7a07e47 100644 --- a/package/glorytun/glorytun.mk +++ b/package/glorytun/glorytun.mk @@ -7,7 +7,7 @@ GLORYTUN_VERSION = 0.3.4 GLORYTUN_SITE = https://github.com/angt/glorytun/releases/download/v$(GLORYTUN_VERSION) GLORYTUN_DEPENDENCIES = libsodium host-pkgconf -GLORYTUN_LICENSE = BSD-2-clause +GLORYTUN_LICENSE = BSD-2-Clause GLORYTUN_LICENSE_FILES = LICENSE $(eval $(autotools-package)) diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in index dc0d2c07f1b..317eb628984 100644 --- a/package/glslsandbox-player/Config.in +++ b/package/glslsandbox-player/Config.in @@ -33,7 +33,6 @@ config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS bool "Install scripts" - depends on !BR2_PACKAGE_PYTHON # python3 depends on !BR2_STATIC_LIBS # python3 depends on BR2_TOOLCHAIN_HAS_THREADS # python3 depends on BR2_USE_MMU # bash, python3 @@ -55,10 +54,12 @@ config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS choice prompt "Native windowing system" - default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI if BR2_PACKAGE_SUNXI_MALI_MAINLINE + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI if BR2_PACKAGE_SUNXI_MALI_UTGARD + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI_T76X if BR2_PACKAGE_MALI_T76X default BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI if BR2_PACKAGE_RPI_USERLAND default BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2 if BR2_PACKAGE_SDL2_OPENGLES default BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX if BR2_PACKAGE_TI_SGX_UM + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB default BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL if BR2_PACKAGE_WAYLAND default BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11 if BR2_PACKAGE_XORG7 help @@ -71,7 +72,11 @@ config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI bool "Allwinner ARM/Mali Frame Buffer" - depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE + depends on BR2_PACKAGE_SUNXI_MALI_UTGARD + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI_T76X + bool "ARM/Mali T76x Frame Buffer" + depends on BR2_PACKAGE_MALI_T76X config BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI bool "RaspberryPI Frame Buffer" diff --git a/package/glslsandbox-player/glslsandbox-player.hash b/package/glslsandbox-player/glslsandbox-player.hash index 66dac9354a8..bc8946c62bf 100644 --- a/package/glslsandbox-player/glslsandbox-player.hash +++ b/package/glslsandbox-player/glslsandbox-player.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3458294a50c3d2fd54f806e46dd7bfba5f1e6aedadd6c396c76d70793419432b glslsandbox-player-2019.08.23.tar.gz -sha256 06a79395e8f3a4cc7ad068c6b59dfbe12c0efa4d27791e532345ceb1f41aea8a LICENSE +sha256 b4af34889faa6d3a904e980f23aeb720dfb614d50aa01b9b1874fc2ae77dbcf4 glslsandbox-player-2021.08.24.tar.gz +sha256 970d45d8a3dfd042d303008294f49db8c0c464f7687aa6e28a01b0926e74df85 LICENSE diff --git a/package/glslsandbox-player/glslsandbox-player.mk b/package/glslsandbox-player/glslsandbox-player.mk index 5ace69d7dd0..70bd5ca3703 100644 --- a/package/glslsandbox-player/glslsandbox-player.mk +++ b/package/glslsandbox-player/glslsandbox-player.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLSLSANDBOX_PLAYER_VERSION = 2019.08.23 +GLSLSANDBOX_PLAYER_VERSION = 2021.08.24 GLSLSANDBOX_PLAYER_SITE = $(call github,jolivain,glslsandbox-player,v$(GLSLSANDBOX_PLAYER_VERSION)) GLSLSANDBOX_PLAYER_AUTORECONF = YES GLSLSANDBOX_PLAYER_DEPENDENCIES = libegl libgles host-pkgconf @@ -12,6 +12,11 @@ GLSLSANDBOX_PLAYER_DEPENDENCIES = libegl libgles host-pkgconf GLSLSANDBOX_PLAYER_LICENSE = BSD-2-Clause GLSLSANDBOX_PLAYER_LICENSE_FILES = LICENSE +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += libexecinfo +GLSLSANDBOX_PLAYER_CONF_ENV += LIBS="-lexecinfo" +endif + ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG),y) GLSLSANDBOX_PLAYER_DEPENDENCIES += libpng GLSLSANDBOX_PLAYER_CONF_OPTS += --with-libpng @@ -42,8 +47,11 @@ ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y) GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y) -GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-mainline +GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-utgard GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=mali +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI_T76X),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += mali-t76x +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=nullws else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI),y) GLSLSANDBOX_PLAYER_DEPENDENCIES += rpi-userland GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=rpi diff --git a/package/gmp/0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch b/package/gmp/0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch new file mode 100644 index 00000000000..0003f342c3c --- /dev/null +++ b/package/gmp/0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch @@ -0,0 +1,27 @@ +# HG changeset patch +# User Marco Bodrato +# Date 1634836009 -7200 +# Node ID 561a9c25298e17bb01896801ff353546c6923dbd +# Parent e1fd9db13b475209a864577237ea4b9105b3e96e +mpz/inp_raw.c: Avoid bit size overflows + +[Retrieved from: https://gmplib.org/repo/gmp-6.2/rev/561a9c25298e] +Signed-off-by: Fabrice Fontaine + +diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c +--- a/mpz/inp_raw.c Tue Dec 22 23:49:51 2020 +0100 ++++ b/mpz/inp_raw.c Thu Oct 21 19:06:49 2021 +0200 +@@ -88,8 +88,11 @@ + + abs_csize = ABS (csize); + ++ if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8)) ++ return 0; /* Bit size overflows */ ++ + /* round up to a multiple of limbs */ +- abs_xsize = BITS_TO_LIMBS (abs_csize*8); ++ abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8); + + if (abs_xsize != 0) + { + diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index 5e16ef19160..9b402767fd8 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -14,6 +14,9 @@ GMP_CPE_ID_VENDOR = gmplib GMP_DEPENDENCIES = host-m4 HOST_GMP_DEPENDENCIES = host-m4 +# 0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch +GMP_IGNORE_CVES += CVE-2021-43618 + # GMP doesn't support assembly for coldfire or mips r6 ISA yet # Disable for ARM v7m since it has different asm constraints ifeq ($(BR2_m68k_cf)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6)$(BR2_ARM_CPU_ARMV7M),y) diff --git a/package/gmrender-resurrect/0001-Drop-UpnpInit.patch b/package/gmrender-resurrect/0001-Drop-UpnpInit.patch deleted file mode 100644 index 18ec7bb5155..00000000000 --- a/package/gmrender-resurrect/0001-Drop-UpnpInit.patch +++ /dev/null @@ -1,175 +0,0 @@ -From dc8c4d4dc234311b3099e7f1efadf5d9733c81e9 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 21 Aug 2020 21:29:00 +0200 -Subject: [PATCH] Drop UpnpInit - -UpnpInit has been dropped from libupnp 1.14.x as it can't be fixed -against CallStranger a.k.a. CVE-2020-12695 so replace it by UpnpInit2 -which is available since version 1.6.7 and -https://github.com/pupnp/pupnp/commit/2bcbdffd89a70364147d345ec5e70a3fce5cbc29 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://github.com/hzeller/gmrender-resurrect/pull/214] ---- - dist-scripts/centos7/README.md | 2 +- - dist-scripts/debian/gmediarender.1 | 8 ++------ - dist-scripts/fedora/README.md | 2 +- - src/main.c | 13 ++++--------- - src/upnp_device.c | 18 +++++++++--------- - src/upnp_device.h | 2 +- - 6 files changed, 18 insertions(+), 27 deletions(-) - -diff --git a/dist-scripts/centos7/README.md b/dist-scripts/centos7/README.md -index 278d777..ed82fb6 100644 ---- a/dist-scripts/centos7/README.md -+++ b/dist-scripts/centos7/README.md -@@ -45,7 +45,7 @@ Additional configuration is also recommended, sice there's no configuration file - # vi /etc/systemd/system/gmediarender.service.d/customize.conf # or nano, or emacs, or whatever editor you like - [Service] - ExecStart= -- ExecStart=/usr/bin/gmediarender --port=49494 --ip-address= -f "DLNA Renderer GMediaRender" -+ ExecStart=/usr/bin/gmediarender --port=49494 --interface-name= -f "DLNA Renderer GMediaRender" - - # systemctl daemon-reload - # systemctl start gmediarender.service -diff --git a/dist-scripts/debian/gmediarender.1 b/dist-scripts/debian/gmediarender.1 -index 96123ff..b2b1359 100644 ---- a/dist-scripts/debian/gmediarender.1 -+++ b/dist-scripts/debian/gmediarender.1 -@@ -50,12 +50,8 @@ Usually, it is desirable for the renderer - to show up on controllers under a recognisable and unique name. This is - the option to set that name. - .TP --.B \-I, \-\-ip\-address \fI\\fP --The local IP address the service is running and advertised on. -- --This can --only be a single address, and must be explicitly specified (i.e. not --0.0.0.0). -+.B \-I, \-\-interface\-name \fI\\fP -+The local interface name the service is running and advertised on. - .TP - .B \-p, \-\-port \fI\\fP - Port to listen to. [49152..65535]. -diff --git a/dist-scripts/fedora/README.md b/dist-scripts/fedora/README.md -index 7b9ea4b..45aa536 100644 ---- a/dist-scripts/fedora/README.md -+++ b/dist-scripts/fedora/README.md -@@ -43,7 +43,7 @@ Additional configuration is also recommended, sice there's no configuration file - # vi /etc/systemd/system/gmediarender.service.d/customize.conf # or nano, or emacs, or whatever editor you like - [Service] - ExecStart= -- ExecStart=/usr/bin/gmediarender --port=49494 --ip-address= -f "DLNA Renderer GMediaRender" -+ ExecStart=/usr/bin/gmediarender --port=49494 --interface-name= -f "DLNA Renderer GMediaRender" - - # systemctl daemon-reload - # systemctl start gmediarender.service -diff --git a/src/main.c b/src/main.c -index ef720e3..2030c49 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -69,11 +69,7 @@ static gboolean show_transport_scpd = FALSE; - static gboolean show_outputs = FALSE; - static gboolean daemon_mode = FALSE; - --// IP-address seems strange in libupnp: they actually don't bind to --// that address, but to INADDR_ANY (miniserver.c in upnp library). --// Apparently they just use this for the advertisement ? Anyway, 0.0.0.0 would --// not work. --static const gchar *ip_address = NULL; -+static const gchar *interface_name = NULL; - static int listen_port = 49494; - - #ifdef GMRENDER_UUID -@@ -92,9 +88,8 @@ static const gchar *mime_filter = NULL; - static GOptionEntry option_entries[] = { - { "version", 0, 0, G_OPTION_ARG_NONE, &show_version, - "Output version information and exit", NULL }, -- { "ip-address", 'I', 0, G_OPTION_ARG_STRING, &ip_address, -- "The local IP address the service is running and advertised " -- "(only one, 0.0.0.0 won't work)", NULL }, -+ { "interface-name", 'I', 0, G_OPTION_ARG_STRING, &interface_name, -+ "The local interface name the service is running and advertised", NULL }, - // The following is not very reliable, as libupnp does not set - // SO_REUSEADDR by default, so it might increment (sending patch). - { "port", 'p', 0, G_OPTION_ARG_INT, &listen_port, -@@ -302,7 +297,7 @@ int main(int argc, char **argv) - listen_port); - return EXIT_FAILURE; - } -- device = upnp_device_init(upnp_renderer, ip_address, listen_port); -+ device = upnp_device_init(upnp_renderer, interface_name, listen_port); - if (device == NULL) { - Log_error("main", "ERROR: Failed to initialize UPnP device"); - return EXIT_FAILURE; -diff --git a/src/upnp_device.c b/src/upnp_device.c -index db65e4f..3151238 100644 ---- a/src/upnp_device.c -+++ b/src/upnp_device.c -@@ -416,13 +416,13 @@ static UPNP_CALLBACK(event_handler, EventType, event, userdata) - - static gboolean initialize_device(struct upnp_device_descriptor *device_def, - struct upnp_device *result_device, -- const char *ip_address, -+ const char *interface_name, - unsigned short port) - { - int rc; - char *buf; - -- rc = UpnpInit(ip_address, port); -+ rc = UpnpInit2(interface_name, port); - /* There have been situations reported in which UPNP had issues - * initializing right after network came up. #129 - */ -@@ -430,13 +430,13 @@ static gboolean initialize_device(struct upnp_device_descriptor *device_def, - static const int kRetryTimeMs = 1000; - while (rc != UPNP_E_SUCCESS && retries_left--) { - usleep(kRetryTimeMs * 1000); -- Log_error("upnp", "UpnpInit(ip=%s, port=%d) Error: %s (%d). Retrying... (%ds)", -- ip_address, port, UpnpGetErrorMessage(rc), rc, retries_left); -- rc = UpnpInit(ip_address, port); -+ Log_error("upnp", "UpnpInit2(interface=%s, port=%d) Error: %s (%d). Retrying... (%ds)", -+ interface_name, port, UpnpGetErrorMessage(rc), rc, retries_left); -+ rc = UpnpInit2(interface_name, port); - } - if (UPNP_E_SUCCESS != rc) { -- Log_error("upnp", "UpnpInit(ip=%s, port=%d) Error: %s (%d). Giving up.", -- ip_address, port, UpnpGetErrorMessage(rc), rc); -+ Log_error("upnp", "UpnpInit2(interface=%s, port=%d) Error: %s (%d). Giving up.", -+ interface_name, port, UpnpGetErrorMessage(rc), rc); - return FALSE; - } - Log_info("upnp", "Registered IP=%s port=%d\n", -@@ -483,7 +483,7 @@ static gboolean initialize_device(struct upnp_device_descriptor *device_def, - } - - struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def, -- const char *ip_address, -+ const char *interface_name, - unsigned short port) - { - int rc; -@@ -516,7 +516,7 @@ struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def, - webserver_register_buf(srv->scpd_url, buf, "text/xml"); - } - -- if (!initialize_device(device_def, result_device, ip_address, port)) { -+ if (!initialize_device(device_def, result_device, interface_name, port)) { - UpnpFinish(); - free(result_device); - return NULL; -diff --git a/src/upnp_device.h b/src/upnp_device.h -index 3e635e1..8c8e783 100644 ---- a/src/upnp_device.h -+++ b/src/upnp_device.h -@@ -49,7 +49,7 @@ struct upnp_device; - struct action_event; - - struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def, -- const char *ip_address, -+ const char *interface_name, - unsigned short port); - - void upnp_device_shutdown(struct upnp_device *device); diff --git a/package/gmrender-resurrect/gmrender-resurrect.hash b/package/gmrender-resurrect/gmrender-resurrect.hash index dc474be6123..526b2b6c342 100644 --- a/package/gmrender-resurrect/gmrender-resurrect.hash +++ b/package/gmrender-resurrect/gmrender-resurrect.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1f0cef76e4543879c9cd31cad73d6c4f778b965884c586405efcf63f2bdbb06f gmrender-resurrect-0.0.8.tar.gz -sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING +sha256 c3a9c80c7058a9a1f32175da25a564fb3021a7055c2df3941e8da8860a509009 gmrender-resurrect-0.0.9.tar.gz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/gmrender-resurrect/gmrender-resurrect.mk b/package/gmrender-resurrect/gmrender-resurrect.mk index 3500ab3760a..4a7efd71ab6 100644 --- a/package/gmrender-resurrect/gmrender-resurrect.mk +++ b/package/gmrender-resurrect/gmrender-resurrect.mk @@ -4,7 +4,7 @@ # ################################################################################ -GMRENDER_RESURRECT_VERSION = 0.0.8 +GMRENDER_RESURRECT_VERSION = 0.0.9 GMRENDER_RESURRECT_SITE = $(call github,hzeller,gmrender-resurrect,v$(GMRENDER_RESURRECT_VERSION)) # Original distribution does not have default configure, # so we need to autoreconf: diff --git a/package/gnu-efi/Config.in b/package/gnu-efi/Config.in index d456a23837d..8e35fddbcb7 100644 --- a/package/gnu-efi/Config.in +++ b/package/gnu-efi/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS default y if BR2_aarch64 default y if BR2_aarch64_be default y if BR2_i386 + default y if BR2_mips64el default y if BR2_x86_64 config BR2_PACKAGE_GNU_EFI diff --git a/package/gnu-efi/gnu-efi.mk b/package/gnu-efi/gnu-efi.mk index 69618029f48..06bf2547385 100644 --- a/package/gnu-efi/gnu-efi.mk +++ b/package/gnu-efi/gnu-efi.mk @@ -24,6 +24,8 @@ else ifeq ($(BR2_arm)$(BR2_armeb),y) GNU_EFI_PLATFORM = arm else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) GNU_EFI_PLATFORM = aarch64 +else ifeq ($(BR2_mips64el),y) +GNU_EFI_PLATFORM = mips64el endif GNU_EFI_MAKE_OPTS = \ diff --git a/package/gnuchess/gnuchess.hash b/package/gnuchess/gnuchess.hash index 1641a7d8f96..0248abcf71a 100644 --- a/package/gnuchess/gnuchess.hash +++ b/package/gnuchess/gnuchess.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 e536675a61abe82e61b919f6b786755441d9fcd4c21e1c82fb9e5340dd229846 gnuchess-6.2.7.tar.gz +sha256 ddfcc20bdd756900a9ab6c42c7daf90a2893bf7f19ce347420ce36baebc41890 gnuchess-6.2.9.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gnuchess/gnuchess.mk b/package/gnuchess/gnuchess.mk index 60327dfe068..630b3aefa74 100644 --- a/package/gnuchess/gnuchess.mk +++ b/package/gnuchess/gnuchess.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUCHESS_VERSION = 6.2.7 +GNUCHESS_VERSION = 6.2.9 GNUCHESS_SITE = $(BR2_GNU_MIRROR)/chess GNUCHESS_LICENSE = GPL-3.0+ GNUCHESS_LICENSE_FILES = COPYING diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk index 9729441bd26..68df11a0c32 100644 --- a/package/gnupg/gnupg.mk +++ b/package/gnupg/gnupg.mk @@ -11,6 +11,7 @@ GNUPG_LICENSE = GPL-3.0+ GNUPG_LICENSE_FILES = COPYING GNUPG_DEPENDENCIES = zlib $(if $(BR2_PACKAGE_LIBICONV),libiconv) GNUPG_CPE_ID_VENDOR = gnupg +GNUPG_SELINUX_MODULES = gpg GNUPG_CONF_ENV = ac_cv_sys_symbol_underscore=no GNUPG_CONF_OPTS = \ --disable-rpath \ diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index 2b376ea0b58..caf5dcc8830 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,7 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2020q4/000450.html -sha1 074b21dd07419575fa31c0c5d3116596d5544cbd gnupg-2.2.25.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2021q2/000460.html +sha1 81684626720c91060ae9920936c768df9fc8b2f6 gnupg-2.2.32.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.25.tar.bz2.sig -# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 c55307b247af4b6f44d2916a25ffd1fb64ce2e509c3c3d028dbe7fbf309dc30a gnupg-2.2.25.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.32.tar.bz2.sig +# using key 6DAA6E64A76D2840571B4902528897B826403ADA +sha256 b2571b35f82c63e7d278aa6a1add0d73453dc14d3f0854be490c844fca7e0614 gnupg-2.2.32.tar.bz2 sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 2f62890db67..906b79e0abd 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,13 +4,14 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.25 +GNUPG2_VERSION = 2.2.32 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ GNUPG2_LICENSE_FILES = COPYING GNUPG2_CPE_ID_VENDOR = gnupg GNUPG2_CPE_ID_PRODUCT = gnupg +GNUPG2_SELINUX_MODULES = gpg GNUPG2_DEPENDENCIES = zlib libgpg-error libgcrypt libassuan libksba libnpth \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) host-pkgconf diff --git a/package/gnuplot/gnuplot.hash b/package/gnuplot/gnuplot.hash index 9770185c211..1cc14973d18 100644 --- a/package/gnuplot/gnuplot.hash +++ b/package/gnuplot/gnuplot.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.1/ -md5 80f75b684f1175d36cd6908ff1ceb588 gnuplot-5.4.1.tar.gz -sha1 bb1cd34f8ec0357eccef70122f0fd531ced5dd29 gnuplot-5.4.1.tar.gz +# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.2/ +md5 9bb03cfa77e38924e08ffbb9eb59d8b1 gnuplot-5.4.3.tar.gz +sha1 c4b60fd7a700b22fa62b14829cbb0e17911627c9 gnuplot-5.4.3.tar.gz # Locally computed -sha256 6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e gnuplot-5.4.1.tar.gz +sha256 51f89bbab90f96d3543f95235368d188eb1e26eda296912256abcd3535bd4d84 gnuplot-5.4.3.tar.gz sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright diff --git a/package/gnuplot/gnuplot.mk b/package/gnuplot/gnuplot.mk index 9a72a47144b..6cf36a09974 100644 --- a/package/gnuplot/gnuplot.mk +++ b/package/gnuplot/gnuplot.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPLOT_VERSION = 5.4.1 +GNUPLOT_VERSION = 5.4.3 GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION) GNUPLOT_LICENSE = gnuplot license (open source) GNUPLOT_LICENSE_FILES = Copyright diff --git a/package/gnuradio/0002-boost_qualify_placeholders_with_their_full_namespace.patch b/package/gnuradio/0002-boost_qualify_placeholders_with_their_full_namespace.patch index 4f3d892125b..431cc125228 100644 --- a/package/gnuradio/0002-boost_qualify_placeholders_with_their_full_namespace.patch +++ b/package/gnuradio/0002-boost_qualify_placeholders_with_their_full_namespace.patch @@ -1,4 +1,4 @@ -From 5752be31d17be80203d9fc44a73661712542bfe1 Mon Sep 17 00:00:00 2001 +From 5d4c317a372c77aa70df6ab3403d161cd41a7d17 Mon Sep 17 00:00:00 2001 From: ponce Date: Sun, 17 May 2020 14:02:57 +0200 Subject: [PATCH] boost: qualify placeholders with their full namespace. @@ -12,7 +12,6 @@ Signed-off-by: Gwenhael Goavec-Merou --- .../(exported from wiki) Message Passing.txt | 8 +++--- gnuradio-runtime/lib/block.cc | 3 ++- - gr-analog/lib/sig_source_impl.cc | 4 ++- gr-blocks/lib/copy_impl.cc | 4 ++- gr-blocks/lib/message_debug_impl.cc | 13 +++++++--- gr-blocks/lib/message_strobe_impl.cc | 5 ++-- @@ -59,10 +58,10 @@ Signed-off-by: Gwenhael Goavec-Merou gr-uhd/lib/usrp_source_impl.cc | 5 ++-- gr-zeromq/lib/pub_msg_sink_impl.cc | 4 ++- gr-zeromq/lib/push_msg_sink_impl.cc | 4 ++- - 49 files changed, 216 insertions(+), 107 deletions(-) + 48 files changed, 213 insertions(+), 106 deletions(-) diff --git a/docs/usage-manual/(exported from wiki) Message Passing.txt b/docs/usage-manual/(exported from wiki) Message Passing.txt -index 4654bd5dac..551e710228 100644 +index 4654bd5da..551e71022 100644 --- a/docs/usage-manual/(exported from wiki) Message Passing.txt +++ b/docs/usage-manual/(exported from wiki) Message Passing.txt @@ -94,7 +94,7 @@ must then bind this port to the message handler. For this, we use @@ -94,7 +93,7 @@ index 4654bd5dac..551e710228 100644 diff --git a/gnuradio-runtime/lib/block.cc b/gnuradio-runtime/lib/block.cc -index 5914283908..fca4cab97e 100644 +index 591428390..fca4cab97 100644 --- a/gnuradio-runtime/lib/block.cc +++ b/gnuradio-runtime/lib/block.cc @@ -61,7 +61,8 @@ block::block(const std::string& name, @@ -107,23 +106,8 @@ index 5914283908..fca4cab97e 100644 configure_default_loggers(d_logger, d_debug_logger, symbol_name()); } -diff --git a/gr-analog/lib/sig_source_impl.cc b/gr-analog/lib/sig_source_impl.cc -index b73b32982d..01c5fbfdb0 100644 ---- a/gr-analog/lib/sig_source_impl.cc -+++ b/gr-analog/lib/sig_source_impl.cc -@@ -67,7 +67,9 @@ sig_source_impl::sig_source_impl(double sampling_freq, - this->set_phase(phase); - this->message_port_register_in(pmt::mp("freq")); - this->set_msg_handler(pmt::mp("freq"), -- boost::bind(&sig_source_impl::set_frequency_msg, this, _1)); -+ boost::bind(&sig_source_impl::set_frequency_msg, -+ this, -+ boost::placeholders::_1)); - } - - template diff --git a/gr-blocks/lib/copy_impl.cc b/gr-blocks/lib/copy_impl.cc -index c377e57b1e..b55196c24b 100644 +index c377e57b1..b55196c24 100644 --- a/gr-blocks/lib/copy_impl.cc +++ b/gr-blocks/lib/copy_impl.cc @@ -44,7 +44,9 @@ copy_impl::copy_impl(size_t itemsize) @@ -138,7 +122,7 @@ index c377e57b1e..b55196c24b 100644 copy_impl::~copy_impl() {} diff --git a/gr-blocks/lib/message_debug_impl.cc b/gr-blocks/lib/message_debug_impl.cc -index a8c84aa509..916f97ca3d 100644 +index a8c84aa50..916f97ca3 100644 --- a/gr-blocks/lib/message_debug_impl.cc +++ b/gr-blocks/lib/message_debug_impl.cc @@ -90,14 +90,19 @@ message_debug_impl::message_debug_impl() @@ -166,7 +150,7 @@ index a8c84aa509..916f97ca3d 100644 message_debug_impl::~message_debug_impl() {} diff --git a/gr-blocks/lib/message_strobe_impl.cc b/gr-blocks/lib/message_strobe_impl.cc -index 038eeae5a1..d131b81662 100644 +index 038eeae5a..d131b8166 100644 --- a/gr-blocks/lib/message_strobe_impl.cc +++ b/gr-blocks/lib/message_strobe_impl.cc @@ -53,8 +53,9 @@ message_strobe_impl::message_strobe_impl(pmt::pmt_t msg, long period_ms) @@ -182,7 +166,7 @@ index 038eeae5a1..d131b81662 100644 message_strobe_impl::~message_strobe_impl() {} diff --git a/gr-blocks/lib/message_strobe_random_impl.cc b/gr-blocks/lib/message_strobe_random_impl.cc -index 0ab5d6adc7..53e641fba4 100644 +index 0ab5d6adc..53e641fba 100644 --- a/gr-blocks/lib/message_strobe_random_impl.cc +++ b/gr-blocks/lib/message_strobe_random_impl.cc @@ -74,8 +74,9 @@ message_strobe_random_impl::message_strobe_random_impl( @@ -198,7 +182,7 @@ index 0ab5d6adc7..53e641fba4 100644 long message_strobe_random_impl::next_delay() diff --git a/gr-blocks/lib/multiply_matrix_impl.cc b/gr-blocks/lib/multiply_matrix_impl.cc -index e1b9c746c6..e38953baba 100644 +index e1b9c746c..e38953bab 100644 --- a/gr-blocks/lib/multiply_matrix_impl.cc +++ b/gr-blocks/lib/multiply_matrix_impl.cc @@ -235,9 +235,10 @@ multiply_matrix_impl::multiply_matrix_impl( @@ -227,7 +211,7 @@ index e1b9c746c6..e38953baba 100644 diff --git a/gr-blocks/lib/mute_impl.cc b/gr-blocks/lib/mute_impl.cc -index bd65ce2075..5c732f8f4f 100644 +index bd65ce207..5c732f8f4 100644 --- a/gr-blocks/lib/mute_impl.cc +++ b/gr-blocks/lib/mute_impl.cc @@ -47,8 +47,9 @@ mute_impl::mute_impl(bool mute) @@ -243,7 +227,7 @@ index bd65ce2075..5c732f8f4f 100644 template diff --git a/gr-blocks/lib/nop_impl.cc b/gr-blocks/lib/nop_impl.cc -index db216d97a4..e9baee5878 100644 +index db216d97a..e9baee587 100644 --- a/gr-blocks/lib/nop_impl.cc +++ b/gr-blocks/lib/nop_impl.cc @@ -44,8 +44,9 @@ nop_impl::nop_impl(size_t sizeof_stream_item) @@ -259,7 +243,7 @@ index db216d97a4..e9baee5878 100644 nop_impl::~nop_impl() {} diff --git a/gr-blocks/lib/pdu_filter_impl.cc b/gr-blocks/lib/pdu_filter_impl.cc -index b0748eec02..63cfe47e4c 100644 +index b0748eec0..63cfe47e4 100644 --- a/gr-blocks/lib/pdu_filter_impl.cc +++ b/gr-blocks/lib/pdu_filter_impl.cc @@ -44,8 +44,9 @@ pdu_filter_impl::pdu_filter_impl(pmt::pmt_t k, pmt::pmt_t v, bool invert) @@ -275,7 +259,7 @@ index b0748eec02..63cfe47e4c 100644 void pdu_filter_impl::handle_msg(pmt::pmt_t pdu) diff --git a/gr-blocks/lib/pdu_remove_impl.cc b/gr-blocks/lib/pdu_remove_impl.cc -index 19cc4dc76a..2b97f827b2 100644 +index 19cc4dc76..2b97f827b 100644 --- a/gr-blocks/lib/pdu_remove_impl.cc +++ b/gr-blocks/lib/pdu_remove_impl.cc @@ -42,8 +42,9 @@ pdu_remove_impl::pdu_remove_impl(pmt::pmt_t k) @@ -291,7 +275,7 @@ index 19cc4dc76a..2b97f827b2 100644 void pdu_remove_impl::handle_msg(pmt::pmt_t pdu) diff --git a/gr-blocks/lib/pdu_set_impl.cc b/gr-blocks/lib/pdu_set_impl.cc -index 40fbc3cd83..af59ef70f3 100644 +index 40fbc3cd8..af59ef70f 100644 --- a/gr-blocks/lib/pdu_set_impl.cc +++ b/gr-blocks/lib/pdu_set_impl.cc @@ -43,7 +43,9 @@ pdu_set_impl::pdu_set_impl(pmt::pmt_t k, pmt::pmt_t v) @@ -306,7 +290,7 @@ index 40fbc3cd83..af59ef70f3 100644 void pdu_set_impl::handle_msg(pmt::pmt_t pdu) diff --git a/gr-blocks/lib/random_pdu_impl.cc b/gr-blocks/lib/random_pdu_impl.cc -index 75d825aefa..6c142c3531 100644 +index 75d825aef..6c142c353 100644 --- a/gr-blocks/lib/random_pdu_impl.cc +++ b/gr-blocks/lib/random_pdu_impl.cc @@ -52,8 +52,9 @@ random_pdu_impl::random_pdu_impl(int min_items, @@ -322,7 +306,7 @@ index 75d825aefa..6c142c3531 100644 throw std::runtime_error("length_module must be >= 1"); if (max_items < length_modulo) diff --git a/gr-blocks/lib/repeat_impl.cc b/gr-blocks/lib/repeat_impl.cc -index 189fbc8948..d6569625da 100644 +index 189fbc894..d6569625d 100644 --- a/gr-blocks/lib/repeat_impl.cc +++ b/gr-blocks/lib/repeat_impl.cc @@ -44,8 +44,9 @@ repeat_impl::repeat_impl(size_t itemsize, int interp) @@ -338,7 +322,7 @@ index 189fbc8948..d6569625da 100644 void repeat_impl::msg_set_interpolation(pmt::pmt_t msg) diff --git a/gr-blocks/lib/socket_pdu_impl.cc b/gr-blocks/lib/socket_pdu_impl.cc -index df69f07ad2..163eec3a68 100644 +index df69f07ad..163eec3a6 100644 --- a/gr-blocks/lib/socket_pdu_impl.cc +++ b/gr-blocks/lib/socket_pdu_impl.cc @@ -101,7 +101,9 @@ socket_pdu_impl::socket_pdu_impl(std::string type, @@ -388,7 +372,7 @@ index df69f07ad2..163eec3a68 100644 throw std::runtime_error("gr::blocks:socket_pdu: unknown socket type"); diff --git a/gr-blocks/lib/tagged_stream_multiply_length_impl.cc b/gr-blocks/lib/tagged_stream_multiply_length_impl.cc -index 30f4c46dc6..34b95d647d 100644 +index 30f4c46dc..34b95d647 100644 --- a/gr-blocks/lib/tagged_stream_multiply_length_impl.cc +++ b/gr-blocks/lib/tagged_stream_multiply_length_impl.cc @@ -49,9 +49,10 @@ tagged_stream_multiply_length_impl::tagged_stream_multiply_length_impl( @@ -406,7 +390,7 @@ index 30f4c46dc6..34b95d647d 100644 tagged_stream_multiply_length_impl::~tagged_stream_multiply_length_impl() {} diff --git a/gr-blocks/lib/tuntap_pdu_impl.cc b/gr-blocks/lib/tuntap_pdu_impl.cc -index 4343ae1dc3..0d9d7e28c7 100644 +index 4343ae1dc..0d9d7e28c 100644 --- a/gr-blocks/lib/tuntap_pdu_impl.cc +++ b/gr-blocks/lib/tuntap_pdu_impl.cc @@ -96,7 +96,8 @@ tuntap_pdu_impl::tuntap_pdu_impl(std::string dev, int MTU, bool istunflag) @@ -420,7 +404,7 @@ index 4343ae1dc3..0d9d7e28c7 100644 int tuntap_pdu_impl::tun_alloc(char* dev, int flags) diff --git a/gr-digital/lib/chunks_to_symbols_impl.cc b/gr-digital/lib/chunks_to_symbols_impl.cc -index 26d590a66e..a6810a69eb 100644 +index 26d590a66..a6810a69e 100644 --- a/gr-digital/lib/chunks_to_symbols_impl.cc +++ b/gr-digital/lib/chunks_to_symbols_impl.cc @@ -53,8 +53,9 @@ chunks_to_symbols_impl::chunks_to_symbols_impl( @@ -436,7 +420,7 @@ index 26d590a66e..a6810a69eb 100644 template diff --git a/gr-digital/lib/constellation_receiver_cb_impl.cc b/gr-digital/lib/constellation_receiver_cb_impl.cc -index 7fb7559d5e..7e216ece56 100644 +index 7fb7559d5..7e216ece5 100644 --- a/gr-digital/lib/constellation_receiver_cb_impl.cc +++ b/gr-digital/lib/constellation_receiver_cb_impl.cc @@ -61,14 +61,16 @@ constellation_receiver_cb_impl::constellation_receiver_cb_impl( @@ -463,7 +447,7 @@ index 7fb7559d5e..7e216ece56 100644 constellation_receiver_cb_impl::~constellation_receiver_cb_impl() {} diff --git a/gr-digital/lib/costas_loop_cc_impl.cc b/gr-digital/lib/costas_loop_cc_impl.cc -index c3b30834eb..e1229e6f4a 100644 +index c3b30834e..e1229e6f4 100644 --- a/gr-digital/lib/costas_loop_cc_impl.cc +++ b/gr-digital/lib/costas_loop_cc_impl.cc @@ -82,7 +82,9 @@ costas_loop_cc_impl::costas_loop_cc_impl(float loop_bw, int order, bool use_snr) @@ -478,7 +462,7 @@ index c3b30834eb..e1229e6f4a 100644 costas_loop_cc_impl::~costas_loop_cc_impl() {} diff --git a/gr-digital/lib/crc32_async_bb_impl.cc b/gr-digital/lib/crc32_async_bb_impl.cc -index bffbb2a737..66143866c0 100644 +index bffbb2a73..66143866c 100644 --- a/gr-digital/lib/crc32_async_bb_impl.cc +++ b/gr-digital/lib/crc32_async_bb_impl.cc @@ -48,9 +48,13 @@ crc32_async_bb_impl::crc32_async_bb_impl(bool check) @@ -498,7 +482,7 @@ index bffbb2a737..66143866c0 100644 crc32_async_bb_impl::~crc32_async_bb_impl() {} diff --git a/gr-digital/lib/header_payload_demux_impl.cc b/gr-digital/lib/header_payload_demux_impl.cc -index 98c805fb20..7cc1e0a4ed 100644 +index 98c805fb2..7cc1e0a4e 100644 --- a/gr-digital/lib/header_payload_demux_impl.cc +++ b/gr-digital/lib/header_payload_demux_impl.cc @@ -150,9 +150,10 @@ header_payload_demux_impl::header_payload_demux_impl( @@ -516,7 +500,7 @@ index 98c805fb20..7cc1e0a4ed 100644 d_special_tags.push_back(pmt::string_to_symbol(special_tags[i])); d_special_tags_last_value.push_back(pmt::PMT_NIL); diff --git a/gr-digital/lib/protocol_formatter_async_impl.cc b/gr-digital/lib/protocol_formatter_async_impl.cc -index 84b693745d..c08bbb9aeb 100644 +index 84b693745..c08bbb9ae 100644 --- a/gr-digital/lib/protocol_formatter_async_impl.cc +++ b/gr-digital/lib/protocol_formatter_async_impl.cc @@ -55,7 +55,9 @@ protocol_formatter_async_impl::protocol_formatter_async_impl( @@ -531,7 +515,7 @@ index 84b693745d..c08bbb9aeb 100644 protocol_formatter_async_impl::~protocol_formatter_async_impl() {} diff --git a/gr-fec/lib/async_decoder_impl.cc b/gr-fec/lib/async_decoder_impl.cc -index e7a668c832..5d68d13ae7 100644 +index e7a668c83..5d68d13ae 100644 --- a/gr-fec/lib/async_decoder_impl.cc +++ b/gr-fec/lib/async_decoder_impl.cc @@ -65,10 +65,14 @@ async_decoder_impl::async_decoder_impl(generic_decoder::sptr my_decoder, @@ -552,7 +536,7 @@ index e7a668c832..5d68d13ae7 100644 // The maximum frame size is set by the initial frame size of the decoder. diff --git a/gr-fec/lib/async_encoder_impl.cc b/gr-fec/lib/async_encoder_impl.cc -index 811d55601f..506ae5c7e9 100644 +index 811d55601..506ae5c7e 100644 --- a/gr-fec/lib/async_encoder_impl.cc +++ b/gr-fec/lib/async_encoder_impl.cc @@ -64,7 +64,9 @@ async_encoder_impl::async_encoder_impl(generic_encoder::sptr my_encoder, @@ -578,7 +562,7 @@ index 811d55601f..506ae5c7e9 100644 if (d_packed || (strncmp(d_encoder->get_input_conversion(), "pack", 4) == 0)) { diff --git a/gr-fec/lib/depuncture_bb_impl.cc b/gr-fec/lib/depuncture_bb_impl.cc -index 27d00bb5bb..f64dad45fc 100644 +index 27d00bb5b..f64dad45f 100644 --- a/gr-fec/lib/depuncture_bb_impl.cc +++ b/gr-fec/lib/depuncture_bb_impl.cc @@ -74,7 +74,9 @@ depuncture_bb_impl::depuncture_bb_impl(int puncsize, int puncpat, int delay, cha @@ -593,7 +577,7 @@ index 27d00bb5bb..f64dad45fc 100644 depuncture_bb_impl::~depuncture_bb_impl() {} diff --git a/gr-fec/lib/puncture_bb_impl.cc b/gr-fec/lib/puncture_bb_impl.cc -index a365d6a69f..f2078d8c57 100644 +index a365d6a69..f2078d8c5 100644 --- a/gr-fec/lib/puncture_bb_impl.cc +++ b/gr-fec/lib/puncture_bb_impl.cc @@ -72,7 +72,9 @@ puncture_bb_impl::puncture_bb_impl(int puncsize, int puncpat, int delay) @@ -608,7 +592,7 @@ index a365d6a69f..f2078d8c57 100644 puncture_bb_impl::~puncture_bb_impl() {} diff --git a/gr-fec/lib/puncture_ff_impl.cc b/gr-fec/lib/puncture_ff_impl.cc -index c95288d691..95fb649a8b 100644 +index c95288d69..95fb649a8 100644 --- a/gr-fec/lib/puncture_ff_impl.cc +++ b/gr-fec/lib/puncture_ff_impl.cc @@ -72,7 +72,9 @@ puncture_ff_impl::puncture_ff_impl(int puncsize, int puncpat, int delay) @@ -623,7 +607,7 @@ index c95288d691..95fb649a8b 100644 puncture_ff_impl::~puncture_ff_impl() {} diff --git a/gr-filter/lib/freq_xlating_fir_filter_impl.cc b/gr-filter/lib/freq_xlating_fir_filter_impl.cc -index 8ddc967ba1..50ec589472 100644 +index 8ddc967ba..50ec58947 100644 --- a/gr-filter/lib/freq_xlating_fir_filter_impl.cc +++ b/gr-filter/lib/freq_xlating_fir_filter_impl.cc @@ -72,7 +72,7 @@ freq_xlating_fir_filter_impl::freq_xlating_fir_filter_impl( @@ -636,7 +620,7 @@ index 8ddc967ba1..50ec589472 100644 template diff --git a/gr-filter/lib/mmse_resampler_cc_impl.cc b/gr-filter/lib/mmse_resampler_cc_impl.cc -index 59f9eacfab..bdce51716a 100644 +index 59f9eacfa..bdce51716 100644 --- a/gr-filter/lib/mmse_resampler_cc_impl.cc +++ b/gr-filter/lib/mmse_resampler_cc_impl.cc @@ -52,8 +52,9 @@ mmse_resampler_cc_impl::mmse_resampler_cc_impl(float phase_shift, float resamp_r @@ -652,7 +636,7 @@ index 59f9eacfab..bdce51716a 100644 mmse_resampler_cc_impl::~mmse_resampler_cc_impl() { delete d_resamp; } diff --git a/gr-filter/lib/mmse_resampler_ff_impl.cc b/gr-filter/lib/mmse_resampler_ff_impl.cc -index 342d9f7678..3d72727114 100644 +index 342d9f767..3d7272711 100644 --- a/gr-filter/lib/mmse_resampler_ff_impl.cc +++ b/gr-filter/lib/mmse_resampler_ff_impl.cc @@ -53,8 +53,9 @@ mmse_resampler_ff_impl::mmse_resampler_ff_impl(float phase_shift, float resamp_r @@ -668,7 +652,7 @@ index 342d9f7678..3d72727114 100644 mmse_resampler_ff_impl::~mmse_resampler_ff_impl() { delete d_resamp; } diff --git a/gr-qtgui/lib/const_sink_c_impl.cc b/gr-qtgui/lib/const_sink_c_impl.cc -index 852f6ee109..04d421d037 100644 +index 852f6ee10..04d421d03 100644 --- a/gr-qtgui/lib/const_sink_c_impl.cc +++ b/gr-qtgui/lib/const_sink_c_impl.cc @@ -69,8 +69,9 @@ const_sink_c_impl::const_sink_c_impl(int size, @@ -684,7 +668,7 @@ index 852f6ee109..04d421d037 100644 for (int i = 0; i < d_nconnections; i++) { d_residbufs_real.push_back( diff --git a/gr-qtgui/lib/edit_box_msg_impl.cc b/gr-qtgui/lib/edit_box_msg_impl.cc -index 8713aa820e..39546cbf3a 100644 +index 8713aa820..39546cbf3 100644 --- a/gr-qtgui/lib/edit_box_msg_impl.cc +++ b/gr-qtgui/lib/edit_box_msg_impl.cc @@ -158,7 +158,9 @@ edit_box_msg_impl::edit_box_msg_impl(data_type_t type, @@ -699,7 +683,7 @@ index 8713aa820e..39546cbf3a 100644 edit_box_msg_impl::~edit_box_msg_impl() diff --git a/gr-qtgui/lib/freq_sink_c_impl.cc b/gr-qtgui/lib/freq_sink_c_impl.cc -index 3a34df6ec6..fe231699fd 100644 +index 3a34df6ec..fe231699f 100644 --- a/gr-qtgui/lib/freq_sink_c_impl.cc +++ b/gr-qtgui/lib/freq_sink_c_impl.cc @@ -82,17 +82,23 @@ freq_sink_c_impl::freq_sink_c_impl(int fftsize, @@ -730,7 +714,7 @@ index 3a34df6ec6..fe231699fd 100644 d_main_gui = NULL; diff --git a/gr-qtgui/lib/freq_sink_f_impl.cc b/gr-qtgui/lib/freq_sink_f_impl.cc -index c14bfc31fd..7090d8699e 100644 +index c14bfc31f..7090d8699 100644 --- a/gr-qtgui/lib/freq_sink_f_impl.cc +++ b/gr-qtgui/lib/freq_sink_f_impl.cc @@ -82,17 +82,23 @@ freq_sink_f_impl::freq_sink_f_impl(int fftsize, @@ -761,7 +745,7 @@ index c14bfc31fd..7090d8699e 100644 d_main_gui = NULL; diff --git a/gr-qtgui/lib/histogram_sink_f_impl.cc b/gr-qtgui/lib/histogram_sink_f_impl.cc -index d16de932ca..1602d18968 100644 +index d16de932c..1602d1896 100644 --- a/gr-qtgui/lib/histogram_sink_f_impl.cc +++ b/gr-qtgui/lib/histogram_sink_f_impl.cc @@ -81,8 +81,9 @@ histogram_sink_f_impl::histogram_sink_f_impl(int size, @@ -777,7 +761,7 @@ index d16de932ca..1602d18968 100644 // +1 for the PDU buffer for (int i = 0; i < d_nconnections + 1; i++) { diff --git a/gr-qtgui/lib/sink_c_impl.cc b/gr-qtgui/lib/sink_c_impl.cc -index d3feb9d16c..73136e789e 100644 +index d3feb9d16..73136e789 100644 --- a/gr-qtgui/lib/sink_c_impl.cc +++ b/gr-qtgui/lib/sink_c_impl.cc @@ -96,7 +96,9 @@ sink_c_impl::sink_c_impl(int fftsize, @@ -792,7 +776,7 @@ index d3feb9d16c..73136e789e 100644 d_main_gui = NULL; diff --git a/gr-qtgui/lib/sink_f_impl.cc b/gr-qtgui/lib/sink_f_impl.cc -index 418b630b78..d31023a51d 100644 +index 418b630b7..d31023a51 100644 --- a/gr-qtgui/lib/sink_f_impl.cc +++ b/gr-qtgui/lib/sink_f_impl.cc @@ -95,7 +95,9 @@ sink_f_impl::sink_f_impl(int fftsize, @@ -807,7 +791,7 @@ index 418b630b78..d31023a51d 100644 d_main_gui = NULL; diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.cc b/gr-qtgui/lib/time_raster_sink_b_impl.cc -index 045c216b00..3aa503ccfc 100644 +index 045c216b0..3aa503ccf 100644 --- a/gr-qtgui/lib/time_raster_sink_b_impl.cc +++ b/gr-qtgui/lib/time_raster_sink_b_impl.cc @@ -84,7 +84,9 @@ time_raster_sink_b_impl::time_raster_sink_b_impl(double samp_rate, @@ -822,7 +806,7 @@ index 045c216b00..3aa503ccfc 100644 d_scale = 1.0f; diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.cc b/gr-qtgui/lib/time_raster_sink_f_impl.cc -index d186f319da..b3516e5be9 100644 +index d186f319d..b3516e5be 100644 --- a/gr-qtgui/lib/time_raster_sink_f_impl.cc +++ b/gr-qtgui/lib/time_raster_sink_f_impl.cc @@ -84,7 +84,9 @@ time_raster_sink_f_impl::time_raster_sink_f_impl(double samp_rate, @@ -837,7 +821,7 @@ index d186f319da..b3516e5be9 100644 d_icols = static_cast(ceil(d_cols)); d_tmpflt = (float*)volk_malloc(d_icols * sizeof(float), volk_get_alignment()); diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc -index b73a1c1ad3..83fbda298a 100644 +index b73a1c1ad..83fbda298 100644 --- a/gr-qtgui/lib/time_sink_c_impl.cc +++ b/gr-qtgui/lib/time_sink_c_impl.cc @@ -80,7 +80,9 @@ time_sink_c_impl::time_sink_c_impl(int size, @@ -852,7 +836,7 @@ index b73a1c1ad3..83fbda298a 100644 // +2 for the PDU message buffers for (unsigned int n = 0; n < d_nconnections + 2; n++) { diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc -index df13998d75..dd5ed12c8b 100644 +index df13998d7..dd5ed12c8 100644 --- a/gr-qtgui/lib/time_sink_f_impl.cc +++ b/gr-qtgui/lib/time_sink_f_impl.cc @@ -80,7 +80,9 @@ time_sink_f_impl::time_sink_f_impl(int size, @@ -867,7 +851,7 @@ index df13998d75..dd5ed12c8b 100644 // +1 for the PDU buffer for (unsigned int n = 0; n < d_nconnections + 1; n++) { diff --git a/gr-qtgui/lib/waterfall_sink_c_impl.cc b/gr-qtgui/lib/waterfall_sink_c_impl.cc -index fcf2ed98bc..da38d32baa 100644 +index fcf2ed98b..da38d32ba 100644 --- a/gr-qtgui/lib/waterfall_sink_c_impl.cc +++ b/gr-qtgui/lib/waterfall_sink_c_impl.cc @@ -118,19 +118,24 @@ waterfall_sink_c_impl::waterfall_sink_c_impl(int fftsize, @@ -900,7 +884,7 @@ index fcf2ed98bc..da38d32baa 100644 waterfall_sink_c_impl::~waterfall_sink_c_impl() diff --git a/gr-qtgui/lib/waterfall_sink_f_impl.cc b/gr-qtgui/lib/waterfall_sink_f_impl.cc -index aa1037a472..d4231a564c 100644 +index aa1037a47..d4231a564 100644 --- a/gr-qtgui/lib/waterfall_sink_f_impl.cc +++ b/gr-qtgui/lib/waterfall_sink_f_impl.cc @@ -116,19 +116,24 @@ waterfall_sink_f_impl::waterfall_sink_f_impl(int fftsize, @@ -933,7 +917,7 @@ index aa1037a472..d4231a564c 100644 waterfall_sink_f_impl::~waterfall_sink_f_impl() diff --git a/gr-uhd/lib/usrp_block_impl.cc b/gr-uhd/lib/usrp_block_impl.cc -index 4f030159ff..697d633c1b 100644 +index 4f030159f..697d633c1 100644 --- a/gr-uhd/lib/usrp_block_impl.cc +++ b/gr-uhd/lib/usrp_block_impl.cc @@ -137,12 +137,18 @@ usrp_block_impl::usrp_block_impl(const ::uhd::device_addr_t& device_addr, @@ -978,7 +962,7 @@ index 4f030159ff..697d633c1b 100644 d_logger, boost::format( diff --git a/gr-uhd/lib/usrp_source_impl.cc b/gr-uhd/lib/usrp_source_impl.cc -index a2ff0821bd..5e6bd43285 100644 +index a2ff0821b..5e6bd4328 100644 --- a/gr-uhd/lib/usrp_source_impl.cc +++ b/gr-uhd/lib/usrp_source_impl.cc @@ -57,8 +57,9 @@ usrp_source_impl::usrp_source_impl(const ::uhd::device_addr_t& device_addr, @@ -994,7 +978,7 @@ index a2ff0821bd..5e6bd43285 100644 usrp_source_impl::~usrp_source_impl() {} diff --git a/gr-zeromq/lib/pub_msg_sink_impl.cc b/gr-zeromq/lib/pub_msg_sink_impl.cc -index b5da7421ef..957cfa411d 100644 +index b5da7421e..957cfa411 100644 --- a/gr-zeromq/lib/pub_msg_sink_impl.cc +++ b/gr-zeromq/lib/pub_msg_sink_impl.cc @@ -62,7 +62,9 @@ pub_msg_sink_impl::pub_msg_sink_impl(char* address, int timeout, bool bind) @@ -1009,7 +993,7 @@ index b5da7421ef..957cfa411d 100644 pub_msg_sink_impl::~pub_msg_sink_impl() diff --git a/gr-zeromq/lib/push_msg_sink_impl.cc b/gr-zeromq/lib/push_msg_sink_impl.cc -index 4140781ab9..7d07d3a30e 100644 +index 4140781ab..7d07d3a30 100644 --- a/gr-zeromq/lib/push_msg_sink_impl.cc +++ b/gr-zeromq/lib/push_msg_sink_impl.cc @@ -62,7 +62,9 @@ push_msg_sink_impl::push_msg_sink_impl(char* address, int timeout, bool bind) @@ -1023,3 +1007,6 @@ index 4140781ab9..7d07d3a30e 100644 } push_msg_sink_impl::~push_msg_sink_impl() +-- +2.26.2 + diff --git a/package/gnuradio/0005-boost-remove-deprecated-math-common_factor.hpp.patch b/package/gnuradio/0005-boost-remove-deprecated-math-common_factor.hpp.patch new file mode 100644 index 00000000000..0c282b7322c --- /dev/null +++ b/package/gnuradio/0005-boost-remove-deprecated-math-common_factor.hpp.patch @@ -0,0 +1,165 @@ +From 2c767bb260a25b415e8c9c4b3ea37280b2127cec Mon Sep 17 00:00:00 2001 +From: japm48 +Date: Fri, 10 Apr 2020 23:35:30 +0200 +Subject: [PATCH] boost: remove deprecated math/common_factor.hpp + +Remove deprecation warning and prefer using std::{lcm,gcd} to Boost. +Fixes #2712. + +[Retrieved from: +https://github.com/gnuradio/gnuradio/commit/2c767bb260a25b415e8c9c4b3ea37280b2127cec] +Signed-off-by: Fabrice Fontaine +--- + .../include/gnuradio/CMakeLists.txt | 1 + + .../include/gnuradio/integer_math.h | 35 +++++++++++++++++++ + gnuradio-runtime/lib/buffer.cc | 19 ++-------- + gr-digital/lib/symbol_sync_cc_impl.cc | 4 +-- + gr-digital/lib/symbol_sync_ff_impl.cc | 4 +-- + 5 files changed, 43 insertions(+), 20 deletions(-) + create mode 100644 gnuradio-runtime/include/gnuradio/integer_math.h + +diff --git a/gnuradio-runtime/include/gnuradio/CMakeLists.txt b/gnuradio-runtime/include/gnuradio/CMakeLists.txt +index 8d718e87b5b..056af5d6f48 100644 +--- a/gnuradio-runtime/include/gnuradio/CMakeLists.txt ++++ b/gnuradio-runtime/include/gnuradio/CMakeLists.txt +@@ -31,6 +31,7 @@ install(FILES + gr_complex.h + hier_block2.h + high_res_timer.h ++ integer_math.h + io_signature.h + logger.h + math.h +diff --git a/gnuradio-runtime/include/gnuradio/integer_math.h b/gnuradio-runtime/include/gnuradio/integer_math.h +new file mode 100644 +index 00000000000..15141049fa4 +--- /dev/null ++++ b/gnuradio-runtime/include/gnuradio/integer_math.h +@@ -0,0 +1,35 @@ ++/* -*- c++ -*- */ ++/* ++ * Copyright 2020 Free Software Foundation, Inc. ++ * ++ * This file is part of GNU Radio ++ * ++ * SPDX-License-Identifier: GPL-3.0-or-later ++ * ++ */ ++#ifndef INCLUDED_GR_INTEGER_MATH_H ++#define INCLUDED_GR_INTEGER_MATH_H ++ ++#if (__cplusplus >= 201703L) ++ ++// Prefer C++17 goodness. ++#include ++#define GR_GCD std::gcd ++#define GR_LCM std::lcm ++ ++#elif (BOOST_VERSION >= 105800) ++ ++// Fallback: newer boost API (introduced in Boost 1.58.0). ++#include ++#define GR_GCD boost::integer::gcd ++#define GR_LCM boost::integer::lcm ++ ++#else ++ ++// Last resort: old deprecated boost API. ++#include ++#define GR_GCD boost::math::gcd ++#define GR_LCM boost::math::lcm ++ ++#endif /* __cplusplus >= 201703L */ ++#endif /* INCLUDED_GR_INTEGER_MATH_H */ +diff --git a/gnuradio-runtime/lib/buffer.cc b/gnuradio-runtime/lib/buffer.cc +index 720c72c4ee8..46d704542b1 100644 +--- a/gnuradio-runtime/lib/buffer.cc ++++ b/gnuradio-runtime/lib/buffer.cc +@@ -13,22 +13,13 @@ + #endif + #include "vmcircbuf.h" + #include ++#include + #include + #include + #include + #include + #include + +-// the following header is deprecated as of Boost 1.66.0, and the +-// other API was introduced in Boost 1.58.0. Since we still support +-// Boost back to 1.54.0, use the older API if pre-1.5.80 and otherwise +-// use the newer API. +-#if (BOOST_VERSION < 105800) +-#include +-#else +-#include +-#endif +- + namespace gr { + + static long s_buffer_count = 0; // counts for debugging storage mgmt +@@ -68,13 +59,9 @@ static long s_buffer_reader_count = 0; + * + * type_size * nitems == k * page_size + */ +-static long minimum_buffer_items(long type_size, long page_size) ++static inline long minimum_buffer_items(long type_size, long page_size) + { +-#if (BOOST_VERSION < 105800) +- return page_size / boost::math::gcd(type_size, page_size); +-#else +- return page_size / boost::integer::gcd(type_size, page_size); +-#endif ++ return page_size / GR_GCD(type_size, page_size); + } + + +diff --git a/gr-digital/lib/symbol_sync_cc_impl.cc b/gr-digital/lib/symbol_sync_cc_impl.cc +index 55f85e7c6a7..55f162dc727 100644 +--- a/gr-digital/lib/symbol_sync_cc_impl.cc ++++ b/gr-digital/lib/symbol_sync_cc_impl.cc +@@ -13,9 +13,9 @@ + #endif + + #include "symbol_sync_cc_impl.h" ++#include + #include + #include +-#include + #include + + namespace gr { +@@ -95,7 +95,7 @@ symbol_sync_cc_impl::symbol_sync_cc_impl(enum ted_type detector_type, + throw std::runtime_error("unable to create interpolating_resampler_ccf"); + + // Block Internal Clocks +- d_interps_per_symbol_n = boost::math::lcm(d_ted->inputs_per_symbol(), d_osps_n); ++ d_interps_per_symbol_n = GR_LCM(d_ted->inputs_per_symbol(), d_osps_n); + d_interps_per_ted_input_n = d_interps_per_symbol_n / d_ted->inputs_per_symbol(); + d_interps_per_output_sample_n = d_interps_per_symbol_n / d_osps_n; + +diff --git a/gr-digital/lib/symbol_sync_ff_impl.cc b/gr-digital/lib/symbol_sync_ff_impl.cc +index d0ec32ab192..1172c1b4f8a 100644 +--- a/gr-digital/lib/symbol_sync_ff_impl.cc ++++ b/gr-digital/lib/symbol_sync_ff_impl.cc +@@ -13,9 +13,9 @@ + #endif + + #include "symbol_sync_ff_impl.h" ++#include + #include + #include +-#include + #include + + namespace gr { +@@ -97,7 +97,7 @@ symbol_sync_ff_impl::symbol_sync_ff_impl(enum ted_type detector_type, + throw std::runtime_error("unable to create interpolating_resampler_fff"); + + // Block Internal Clocks +- d_interps_per_symbol_n = boost::math::lcm(d_ted->inputs_per_symbol(), d_osps_n); ++ d_interps_per_symbol_n = GR_LCM(d_ted->inputs_per_symbol(), d_osps_n); + d_interps_per_ted_input_n = d_interps_per_symbol_n / d_ted->inputs_per_symbol(); + d_interps_per_output_sample_n = d_interps_per_symbol_n / d_osps_n; + diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in index 738088802ee..1896d1326aa 100644 --- a/package/gnuradio/Config.in +++ b/package/gnuradio/Config.in @@ -4,7 +4,8 @@ comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS -comment "gnuradio needs a toolchain not affected by GCC bug 64735" +comment "gnuradio needs a toolchain not affected by GCC bug 43744 and 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_43744 depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_GNURADIO @@ -14,7 +15,8 @@ config BR2_PACKAGE_GNURADIO depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # use fork() depends on BR2_USE_WCHAR # boost - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_ATOMIC @@ -130,12 +132,6 @@ config BR2_PACKAGE_GNURADIO_FILTER help Filter signal processing blocks -config BR2_PACKAGE_GNURADIO_PAGER - bool "gr-flex support" - select BR2_PACKAGE_GNURADIO_ANALOG - help - FLEX pager decoder implementation blocks - config BR2_PACKAGE_GNURADIO_QTGUI bool "gr-qtgui" depends on BR2_PACKAGE_GNURADIO_PYTHON diff --git a/package/gnuradio/gnuradio.hash b/package/gnuradio/gnuradio.hash index 2f147761d8e..e47c5faabad 100644 --- a/package/gnuradio/gnuradio.hash +++ b/package/gnuradio/gnuradio.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e15311e7da9fe2bb790cc36321d7eb2d93b9dfa0c1552fa5d534dd99d22873be gnuradio-3.8.1.0.tar.gz +sha256 3e293541a9ac8d78660762bae8b80c0f6195b3494e1c50c01a9fd79cc60bb624 gnuradio-3.8.2.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk index 1f4458db929..49e3b951911 100644 --- a/package/gnuradio/gnuradio.mk +++ b/package/gnuradio/gnuradio.mk @@ -4,23 +4,16 @@ # ################################################################################ -GNURADIO_VERSION = 3.8.1.0 +GNURADIO_VERSION = 3.8.2.0 GNURADIO_SITE = https://github.com/gnuradio/gnuradio/releases/download/v$(GNURADIO_VERSION) GNURADIO_LICENSE = GPL-3.0+ GNURADIO_LICENSE_FILES = COPYING GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO -# needed to determine site-packages path -ifeq ($(BR2_PACKAGE_PYTHON),y) -GNURADIO_PYVER = $(PYTHON_VERSION_MAJOR) -else ifeq ($(BR2_PACKAGE_PYTHON3),y) -GNURADIO_PYVER = $(PYTHON3_VERSION_MAJOR) -endif - # host-python-mako and host-python-six are needed for volk to compile GNURADIO_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \ + host-python3 \ host-python-mako \ host-python-six \ host-swig \ @@ -29,7 +22,7 @@ GNURADIO_DEPENDENCIES = \ gmp GNURADIO_CONF_OPTS = \ - -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \ + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 \ -DENABLE_DEFAULT=OFF \ -DENABLE_VOLK=ON \ -DENABLE_GNURADIO_RUNTIME=ON \ @@ -125,17 +118,11 @@ GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON # mandatory to install python modules in site-packages and to use # correct path for python libraries GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \ - -DGR_PYTHON_DIR=lib/python$(GNURADIO_PYVER)/site-packages + -DGR_PYTHON_DIR=lib/python$(PYTHON3_VERSION_MAJOR)/site-packages else GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF endif -ifeq ($(BR2_PACKAGE_GNURADIO_PAGER),y) -GNURADIO_CONF_OPTS += -DENABLE_GR_PAGER=ON -else -GNURADIO_CONF_OPTS += -DENABLE_GR_PAGER=OFF -endif - ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y) GNURADIO_DEPENDENCIES += qt5base python-pyqt5 qwt GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON diff --git a/package/gnutls/0001-Fix-gnulib-stdio.h-include-on-uclibc.patch b/package/gnutls/0001-Fix-gnulib-stdio.h-include-on-uclibc.patch deleted file mode 100644 index 758e7cca73b..00000000000 --- a/package/gnutls/0001-Fix-gnulib-stdio.h-include-on-uclibc.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 60fa934ffba3c230040328fdbbbf51f417f12871 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= -Date: Mon, 22 Jun 2020 14:11:05 +0200 -Subject: [PATCH] Fix gnulib stdio.h include on uclibc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The __need_FILE define used by gnulib interferes with the uClibc stdio.h -header, so move the inclusion the stdio.h to after __need_FILE has been -undefined again. - -Signed-off-by: Stefan Sørensen ---- - gl/fopen.c | 2 +- - src/gl/fopen.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gl/fopen.c b/gl/fopen.c -index 8d6625a..248692c 100644 ---- a/gl/fopen.c -+++ b/gl/fopen.c -@@ -23,8 +23,8 @@ - #include - - /* Get the original definition of fopen. It might be defined as a macro. */ --#include - #undef __need_FILE -+#include - - static FILE * - orig_fopen (const char *filename, const char *mode) -diff --git a/src/gl/fopen.c b/src/gl/fopen.c -index 47d7f19..1f22f4f 100644 ---- a/src/gl/fopen.c -+++ b/src/gl/fopen.c -@@ -23,8 +23,8 @@ - #include - - /* Get the original definition of fopen. It might be defined as a macro. */ --#include - #undef __need_FILE -+#include - - static FILE * - orig_fopen (const char *filename, const char *mode) --- -2.25.4 - diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in index 15b930b6bd5..59af32bf1ef 100644 --- a/package/gnutls/Config.in +++ b/package/gnutls/Config.in @@ -2,17 +2,15 @@ config BR2_PACKAGE_GNUTLS bool "gnutls" # https://gitlab.com/gnutls/gnutls/issues/203 depends on !BR2_STATIC_LIBS - # gnulib requires a library that implements wctomb(). - # This is noticed only when linking with libgnutls.so. depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBTASN1 + select BR2_PACKAGE_LIBUNISTRING select BR2_PACKAGE_NETTLE - select BR2_PACKAGE_PCRE help GnuTLS is a secure communications library implementing the SSL and TLS protocols and technologies around them. - http://www.gnutls.org + https://www.gnutls.org/ if BR2_PACKAGE_GNUTLS @@ -23,12 +21,20 @@ config BR2_PACKAGE_GNUTLS_OPENSSL config BR2_PACKAGE_GNUTLS_TOOLS bool "install tools" - select BR2_PACKAGE_ARGP_STANDALONE \ - if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL help Install GnuTLS command line tools for various cryptographic tasks. +config BR2_PACKAGE_GNUTLS_ENABLE_SSL2 + bool "enable SSLv2" + help + Enable SSLv2 protocol. + +config BR2_PACKAGE_GNUTLS_ENABLE_GOST + bool "enable GOST" + help + Enable GOST cipher. + endif comment "gnutls needs a toolchain w/ wchar, dynamic library" diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index c360a56f93c..c09e4665e55 100644 --- a/package/gnutls/gnutls.hash +++ b/package/gnutls/gnutls.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.15.tar.xz.sig -sha256 0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558 gnutls-3.6.15.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.4.tar.xz.sig +sha256 e6adbebcfbc95867de01060d93c789938cf89cc1d1f6ef9ef661890f6217451f gnutls-3.7.4.tar.xz # Locally calculated sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b doc/COPYING sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index 65bb4893e85..f7f3e046e9c 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -4,31 +4,36 @@ # ################################################################################ -GNUTLS_VERSION_MAJOR = 3.6 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).15 +# When bumping, make sure *all* --without-libfoo-prefix options are in GNUTLS_CONF_OPTS +GNUTLS_VERSION_MAJOR = 3.7 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).4 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) GNUTLS_LICENSE = LGPL-2.1+ (core library) GNUTLS_LICENSE_FILES = doc/COPYING.LESSER -ifeq ($(BR2_PACKAGE_GNUTLS_OPENSSL),y) -GNUTLS_LICENSE += , GPL-3.0+ (gnutls-openssl library) -GNUTLS_LICENSE_FILES += doc/COPYING -endif - -GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 nettle pcre +GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 libunistring nettle GNUTLS_CPE_ID_VENDOR = gnu GNUTLS_CONF_OPTS = \ --disable-doc \ --disable-guile \ --disable-libdane \ --disable-rpath \ - --enable-local-libopts \ - --enable-openssl-compatibility \ - --with-librt-prefix=$(STAGING_DIR) \ + --disable-tests \ + --without-included-unistring \ + --without-libcrypto-prefix \ + --without-libdl-prefix \ + --without-libev-prefix \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --without-libpthread-prefix \ + --without-libseccomp-prefix \ + --without-librt-prefix \ + --without-libz-prefix \ --without-tpm \ - $(if $(BR2_PACKAGE_GNUTLS_OPENSSL),--enable,--disable)-openssl-compatibility \ - $(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools) + $(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools) \ + $(if $(BR2_PACKAGE_GNUTLS_ENABLE_SSL2),--enable,--disable)-ssl2-support \ + $(if $(BR2_PACKAGE_GNUTLS_ENABLE_GOST),--enable,--disable)-gost GNUTLS_CONF_ENV = gl_cv_socket_ipv6=yes \ ac_cv_header_wchar_h=$(if $(BR2_USE_WCHAR),yes,no) \ gt_cv_c_wchar_t=$(if $(BR2_USE_WCHAR),yes,no) \ @@ -36,31 +41,21 @@ GNUTLS_CONF_ENV = gl_cv_socket_ipv6=yes \ gl_cv_func_gettimeofday_clobber=no GNUTLS_INSTALL_STAGING = YES -# libpthread autodetection poison the linkpath -GNUTLS_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_THREADS),--with-libpthread-prefix=$(STAGING_DIR)/usr) - -# gnutls needs libregex, but pcre can be used too -# The check isn't cross-compile friendly -GNUTLS_CONF_ENV += libopts_cv_with_libregex=yes -GNUTLS_CONF_OPTS += \ - --with-regex-header=pcreposix.h \ - --with-libregex-cflags="`$(PKG_CONFIG_HOST_BINARY) libpcreposix --cflags`" \ - --with-libregex-libs="`$(PKG_CONFIG_HOST_BINARY) libpcreposix --libs`" - -# Consider crywrap as part of tools because it needs WCHAR, and it's so too -ifeq ($(BR2_PACKAGE_GNUTLS_TOOLS),) -GNUTLS_CONF_OPTS += --disable-crywrap +ifeq ($(BR2_PACKAGE_GNUTLS_OPENSSL),y) +GNUTLS_LICENSE += , GPL-3.0+ (gnutls-openssl library) +GNUTLS_LICENSE_FILES += doc/COPYING +GNUTLS_CONF_OPTS += --enable-openssl-compatibility +else +GNUTLS_CONF_OPTS += --disable-openssl-compatibility endif -# Prerequisite for crywrap -ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) -GNUTLS_LIBS += -largp -GNUTLS_DEPENDENCIES += argp-standalone +ifeq ($(BR2_PACKAGE_BROTLI),y) +GNUTLS_CONF_OPTS += --with-libbrotli +GNUTLS_DEPENDENCIES += brotli +else +GNUTLS_CONF_OPTS += --without-libbrotli endif -# libidn support for nommu must exclude the crywrap wrapper (uses fork) -GNUTLS_CONF_OPTS += $(if $(BR2_USE_MMU),,--disable-crywrap) - ifeq ($(BR2_PACKAGE_CRYPTODEV_LINUX),y) GNUTLS_CONF_OPTS += --enable-cryptodev GNUTLS_DEPENDENCIES += cryptodev-linux @@ -80,11 +75,18 @@ else GNUTLS_CONF_OPTS += --without-p11-kit endif -ifeq ($(BR2_PACKAGE_LIBUNISTRING),y) -GNUTLS_CONF_OPTS += --with-libunistring-prefix=$(STAGING_DIR)/usr -GNUTLS_DEPENDENCIES += libunistring +ifeq ($(BR2_PACKAGE_ZLIB),y) +GNUTLS_CONF_OPTS += --with-zlib +GNUTLS_DEPENDENCIES += zlib +else +GNUTLS_CONF_OPTS += --without-zlib +endif + +ifeq ($(BR2_PACKAGE_ZSTD),y) +GNUTLS_CONF_OPTS += --with-libzstd +GNUTLS_DEPENDENCIES += zstd else -GNUTLS_CONF_OPTS += --with-included-unistring +GNUTLS_CONF_OPTS += --without-libzstd endif # Provide a default CA cert location diff --git a/package/go-bootstrap/go-bootstrap.hash b/package/go-bootstrap/go-bootstrap.hash index 03fd7d571f7..0f186a5d55a 100644 --- a/package/go-bootstrap/go-bootstrap.hash +++ b/package/go-bootstrap/go-bootstrap.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959 go1.4.3.src.tar.gz +sha256 f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52 go1.4-bootstrap-20171003.tar.gz sha256 dd26a7abddd02e2d0aba97805b31f248ef7835d9e10da289b22e3b8ab78b324d LICENSE diff --git a/package/go-bootstrap/go-bootstrap.mk b/package/go-bootstrap/go-bootstrap.mk index 6710e31561c..71696a1540e 100644 --- a/package/go-bootstrap/go-bootstrap.mk +++ b/package/go-bootstrap/go-bootstrap.mk @@ -4,9 +4,11 @@ # ################################################################################ -GO_BOOTSTRAP_VERSION = 1.4.3 -GO_BOOTSTRAP_SITE = https://storage.googleapis.com/golang -GO_BOOTSTRAP_SOURCE = go$(GO_BOOTSTRAP_VERSION).src.tar.gz +# Use last C-based Go compiler: v1.4.x +# See https://golang.org/doc/install/source#bootstrapFromSource +GO_BOOTSTRAP_VERSION = 1.4-bootstrap-20171003 +GO_BOOTSTRAP_SITE = https://dl.google.com/go +GO_BOOTSTRAP_SOURCE = go$(GO_BOOTSTRAP_VERSION).tar.gz GO_BOOTSTRAP_LICENSE = BSD-3-Clause GO_BOOTSTRAP_LICENSE_FILES = LICENSE diff --git a/package/go/Config.in.host b/package/go/Config.in.host index 87942c7a1e3..e82ab6e81a1 100644 --- a/package/go/Config.in.host +++ b/package/go/Config.in.host @@ -2,7 +2,6 @@ config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS bool default y - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \ || BR2_i386 || BR2_x86_64 || BR2_powerpc64le \ diff --git a/package/go/go.hash b/package/go/go.hash index cbc82a9b643..428778afdc1 100644 --- a/package/go/go.hash +++ b/package/go/go.hash @@ -1,3 +1,3 @@ # From https://golang.org/dl/ -sha256 540c0ab7781084d124991321ed1458e479982de94454a98afab6acadf38497c2 go1.15.8.src.tar.gz -sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE +sha256 ac2649a65944c6a5abe55054000eee3d77196880da36a3555f62e06540e8eb54 go1.17.11.src.tar.gz +sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go/go.mk b/package/go/go.mk index 7b7f173706e..49d6ea7da8d 100644 --- a/package/go/go.mk +++ b/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.15.8 +GO_VERSION = 1.17.11 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz @@ -49,6 +49,10 @@ else ifeq ($(BR2_aarch64),y) GO_GOARCH = arm64 else ifeq ($(BR2_i386),y) GO_GOARCH = 386 +# i386: use softfloat if no SSE2: https://golang.org/doc/go1.16#386 +ifneq ($(BR2_X86_CPU_HAS_SSE2),y) +GO_GO386 = softfloat +endif else ifeq ($(BR2_x86_64),y) GO_GOARCH = amd64 else ifeq ($(BR2_powerpc64),y) @@ -67,6 +71,7 @@ endif HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH) HOST_GO_TARGET_ENV = \ $(HOST_GO_COMMON_ENV) \ + GOOS="linux" \ GOARCH=$(GO_GOARCH) \ GOCACHE="$(HOST_GO_TARGET_CACHE)" \ CC="$(TARGET_CC)" \ @@ -89,7 +94,9 @@ endif HOST_GO_CROSS_ENV = \ CC_FOR_TARGET="$(TARGET_CC)" \ CXX_FOR_TARGET="$(TARGET_CXX)" \ + GOOS="linux" \ GOARCH=$(GO_GOARCH) \ + $(if $(GO_GO386),GO386=$(GO_GO386)) \ $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \ GO_ASSUME_CROSSCOMPILING=1 @@ -102,6 +109,7 @@ endif # BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS # For the convenience of host golang packages HOST_GO_HOST_ENV = \ $(HOST_GO_COMMON_ENV) \ + GOOS="" \ GOARCH="" \ GOCACHE="$(HOST_GO_HOST_CACHE)" \ CC="$(HOSTCC_NOCCACHE)" \ diff --git a/package/gobject-introspection/0001-disable-tests.patch b/package/gobject-introspection/0001-disable-tests.patch index c75c7512d91..ed2d9d6fc01 100644 --- a/package/gobject-introspection/0001-disable-tests.patch +++ b/package/gobject-introspection/0001-disable-tests.patch @@ -1,4 +1,4 @@ -From 473b4288d8f4e891d0d21f7b60ef8053c5cd7af9 Mon Sep 17 00:00:00 2001 +From c87faf380ddf44da9d624dabd28178c9065f0f76 Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Mon, 3 Feb 2020 10:07:15 -0800 Subject: [PATCH] disable tests @@ -13,22 +13,22 @@ Signed-off-by: Adam Duskett 1 file changed, 6 deletions(-) diff --git a/meson.build b/meson.build -index eed4d6b..5058664 100644 +index c2cb577f..65ce7adf 100644 --- a/meson.build +++ b/meson.build -@@ -214,12 +214,6 @@ if get_option('build_introspection_data') == true +@@ -225,12 +225,6 @@ else endif subdir('docs') -# The tests will also run, which is not possible if they -# were built for a different architecture. -if not meson.is_cross_build() -- subdir('tests') +- subdir('tests') -endif - install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0')) install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal')) -- -2.24.1 +2.25.1 diff --git a/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch b/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch index 08835d3ecca..e21da42ce71 100644 --- a/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch +++ b/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch @@ -1,4 +1,4 @@ -From 72a427bc50daee8f1ded0e9221e53dbbf2a80f08 Mon Sep 17 00:00:00 2001 +From 952e2e2bb6a22ec8824223b03b65cb28361c6e34 Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Wed, 14 Mar 2018 12:07:10 -0400 Subject: [PATCH] Add rpath links to ccompiler @@ -12,10 +12,10 @@ Signed-off-by: Adam Duskett 1 file changed, 2 insertions(+) diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py -index a8bd5b1..51bb9bc 100644 +index cb97e76f..d29b28c8 100644 --- a/giscanner/ccompiler.py +++ b/giscanner/ccompiler.py -@@ -229,6 +229,8 @@ class CCompiler(object): +@@ -231,6 +231,8 @@ class CCompiler(object): for envvar in runtime_path_envvar: if envvar in os.environ: @@ -25,5 +25,5 @@ index a8bd5b1..51bb9bc 100644 os.pathsep.join(runtime_paths + [os.environ[envvar]]) else: -- -2.14.3 +2.25.1 diff --git a/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch new file mode 100644 index 00000000000..f1ea518954c --- /dev/null +++ b/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch @@ -0,0 +1,31 @@ +From e0fc4a2a5161a36483ddc518be9bb14390f11b19 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 5 Sep 2018 16:46:52 +0200 +Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper + +prelink-rtld, which we use instead of ldd returns 127 when it can't find a library. +It is not an error per se, but it breaks subprocess.check_output(). + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +Signed-off-by: Adam Duskett +--- + giscanner/shlibs.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py +index 9f8ab5df..7a1a72fe 100644 +--- a/giscanner/shlibs.py ++++ b/giscanner/shlibs.py +@@ -103,7 +103,7 @@ def _resolve_non_libtool(options, binary, libraries): + args.extend(['otool', '-L', binary.args[0]]) + else: + args.extend(['ldd', binary.args[0]]) +- output = subprocess.check_output(args) ++ output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout + if isinstance(output, bytes): + output = output.decode("utf-8", "replace") + +-- +2.25.1 + diff --git a/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch deleted file mode 100644 index d43dc1393e7..00000000000 --- a/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f742da8b3913f4818d3f419117076afe62f4dbf4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 5 Sep 2018 16:46:52 +0200 -Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper - -prelink-rtld, which we use instead of ldd returns 127 when it can't find a library. -It is not an error per se, but it breaks subprocess.check_output(). - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin -Signed-off-by: Adam Duskett ---- - giscanner/shlibs.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py -index d67df95..80352a6 100644 ---- a/giscanner/shlibs.py -+++ b/giscanner/shlibs.py -@@ -103,7 +103,7 @@ def _resolve_non_libtool(options, binary, libraries): - args.extend(['otool', '-L', binary.args[0]]) - else: - args.extend(['ldd', binary.args[0]]) -- output = subprocess.check_output(args) -+ output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout - if isinstance(output, bytes): - output = output.decode("utf-8", "replace") - diff --git a/package/gobject-introspection/0004-build-Avoid-the-doctemplates-hack.patch b/package/gobject-introspection/0004-build-Avoid-the-doctemplates-hack.patch new file mode 100644 index 00000000000..0b70b5c4c04 --- /dev/null +++ b/package/gobject-introspection/0004-build-Avoid-the-doctemplates-hack.patch @@ -0,0 +1,221 @@ +From 0504b26ec2adb13dfdff51679d84ad2f69af5918 Mon Sep 17 00:00:00 2001 +From: Emmanuele Bassi +Date: Tue, 11 Jan 2022 15:51:10 +0000 +Subject: [PATCH] build: Avoid the doctemplates hack +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The hack that copies the doctemplates directory into the build +directory has stopped working with newer versions of Meson; while it's +possible to copy files, custom_target() cannot depend on a directory. +Additionally, the dependency has always been broken. + +Instead, we enumerate the template files—after all, it's not like they +change a lot—and then we list them as dependencies for the test targets. + +Fixes: #414 + +Signed-off-by: James Hilliard +[james.hilliard1@gmail.com: backport from upstream commit +effb1e09dee263cdac4ec593e8caf316e6f01fe2] +--- + giscanner/doctemplates/devdocs/meson.build | 19 +++++++ + giscanner/doctemplates/mallard/meson.build | 63 ++++++++++++++++++++++ + giscanner/meson.build | 14 ++--- + tests/scanner/meson.build | 24 +++++---- + 4 files changed, 98 insertions(+), 22 deletions(-) + create mode 100644 giscanner/doctemplates/devdocs/meson.build + create mode 100644 giscanner/doctemplates/mallard/meson.build + +diff --git a/giscanner/doctemplates/devdocs/meson.build b/giscanner/doctemplates/devdocs/meson.build +new file mode 100644 +index 00000000..2037182a +--- /dev/null ++++ b/giscanner/doctemplates/devdocs/meson.build +@@ -0,0 +1,19 @@ ++doc_templates += files([ ++ 'Gjs/_doc.tmpl', ++ 'Gjs/_index.tmpl', ++ 'Gjs/_method.tmpl', ++ 'Gjs/_methods.tmpl', ++ 'Gjs/_properties.tmpl', ++ 'Gjs/_signals.tmpl', ++ 'Gjs/_staticmethods.tmpl', ++ 'Gjs/_vfuncs.tmpl', ++ 'Gjs/base.tmpl', ++ 'Gjs/callback.tmpl', ++ 'Gjs/class.tmpl', ++ 'Gjs/default.tmpl', ++ 'Gjs/enum.tmpl', ++ 'Gjs/function.tmpl', ++ 'Gjs/interface.tmpl', ++ 'Gjs/method.tmpl', ++ 'Gjs/namespace.tmpl', ++]) +diff --git a/giscanner/doctemplates/mallard/meson.build b/giscanner/doctemplates/mallard/meson.build +new file mode 100644 +index 00000000..5fe4e2af +--- /dev/null ++++ b/giscanner/doctemplates/mallard/meson.build +@@ -0,0 +1,63 @@ ++base_templates = files([ ++ 'base.tmpl', ++ 'class.tmpl', ++ 'namespace.tmpl', ++]) ++ ++c_templates = files([ ++ 'C/callback.tmpl', ++ 'C/class.tmpl', ++ 'C/constructor.tmpl', ++ 'C/default.tmpl', ++ 'C/enum.tmpl', ++ 'C/field.tmpl', ++ 'C/function.tmpl', ++ 'C/interface.tmpl', ++ 'C/method.tmpl', ++ 'C/namespace.tmpl', ++ 'C/property.tmpl', ++ 'C/record.tmpl', ++ 'C/signal.tmpl', ++ 'C/vfunc.tmpl', ++]) ++ ++gjs_templates = files([ ++ 'Gjs/callback.tmpl', ++ 'Gjs/class.tmpl', ++ 'Gjs/constructor.tmpl', ++ 'Gjs/default.tmpl', ++ 'Gjs/enum.tmpl', ++ 'Gjs/field.tmpl', ++ 'Gjs/function.tmpl', ++ 'Gjs/interface.tmpl', ++ 'Gjs/method.tmpl', ++ 'Gjs/namespace.tmpl', ++ 'Gjs/property.tmpl', ++ 'Gjs/record.tmpl', ++ 'Gjs/signal.tmpl', ++ 'Gjs/vfunc.tmpl', ++]) ++ ++py_templates = files([ ++ 'Python/callback.tmpl', ++ 'Python/class.tmpl', ++ 'Python/constructor.tmpl', ++ 'Python/default.tmpl', ++ 'Python/enum.tmpl', ++ 'Python/field.tmpl', ++ 'Python/function.tmpl', ++ 'Python/interface.tmpl', ++ 'Python/method.tmpl', ++ 'Python/namespace.tmpl', ++ 'Python/property.tmpl', ++ 'Python/record.tmpl', ++ 'Python/signal.tmpl', ++ 'Python/vfunc.tmpl', ++]) ++ ++doc_templates += [ ++ base_templates, ++ c_templates, ++ gjs_templates, ++ py_templates, ++] +diff --git a/giscanner/meson.build b/giscanner/meson.build +index 41edcd44..3d7dc678 100644 +--- a/giscanner/meson.build ++++ b/giscanner/meson.build +@@ -53,17 +53,9 @@ configure_file(input : '../girepository/gdump.c', + + install_subdir('doctemplates', install_dir: giscannerdir) + +-# XXX: this doesn't track the input, but there is nothing to copy many files +-# in meson. +-doc_templates = custom_target('copy-templates', +- input : 'doctemplates', +- output : 'doctemplates', +- command : [ +- python, '-c', +- 'import sys, shutil;' + +- 'shutil.rmtree(sys.argv[2], ignore_errors=True);' + +- 'shutil.copytree(sys.argv[1], sys.argv[2])', +- '@INPUT@', '@OUTPUT@']) ++doc_templates = [] ++subdir('doctemplates/devdocs') ++subdir('doctemplates/mallard') + + flex = find_program('flex', 'win_flex') + bison = find_program('bison', 'win_bison') +diff --git a/tests/scanner/meson.build b/tests/scanner/meson.build +index 5176b957..b81b3fd5 100644 +--- a/tests/scanner/meson.build ++++ b/tests/scanner/meson.build +@@ -525,19 +525,26 @@ foreach gir : test_girs + endforeach + + if has_girdoctool and glib_dep.type_name() == 'pkgconfig' ++ doctool_env = environment() ++ doctool_env.set('srcdir', meson.current_source_dir()) ++ doctool_env.set('builddir', meson.current_build_dir()) ++ + foreach language : ['C', 'Python', 'Gjs'] + regress_docs = custom_target( + 'generate-docs-' + language, + input: regress_gir, +- depends: [doc_templates], ++ depend_files: doc_templates, + build_by_default: not cairo_deps_found, ++ env: doctool_env, + output: 'Regress-1.0-' + language, + command: [ + python, girdoctool, + '--add-include-path=' + join_paths(build_root, 'gir'), + '--add-include-path=' + meson.current_build_dir(), + '--language', language, +- '@INPUT@', '-o', '@OUTPUT@'], ++ '--templates-dir=' + join_paths(meson.current_source_dir(), '../../giscanner/doctemplates'), ++ '@INPUT@', '-o', '@OUTPUT@', ++ ], + ) + + if cairo_deps_found +@@ -546,10 +553,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig' + python, + args: [gi_tester, 'Regress-1.0-' + language], + depends: [regress_docs], +- env: [ +- 'srcdir=' + meson.current_source_dir(), +- 'builddir=' + meson.current_build_dir(), +- ], ++ env: doctool_env, + ) + endif + endforeach +@@ -557,9 +561,10 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig' + regress_sections = custom_target( + 'generate-docs-sections', + input: regress_gir, +- depends: [doc_templates], ++ depend_files: [doc_templates], + build_by_default: not cairo_deps_found, + output: 'Regress-1.0-sections.txt', ++ env: doctool_env, + command: [ + python, girdoctool, + '--add-include-path=' + join_paths(build_root, 'gir'), +@@ -574,10 +579,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig' + python, + args: [gi_tester, 'Regress-1.0-sections.txt'], + depends: [regress_sections], +- env: [ +- 'srcdir=' + meson.current_source_dir(), +- 'builddir=' + meson.current_build_dir(), +- ], ++ env: doctool_env, + ) + endif + endif +-- +2.25.1 + diff --git a/package/gobject-introspection/Config.in b/package/gobject-introspection/Config.in index 57c569704e1..42250eb7765 100644 --- a/package/gobject-introspection/Config.in +++ b/package/gobject-introspection/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS bool default y depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS - depends on !BR2_RISCV_32 # qemu-riscv32 segfaults in qemu-5.0.0 config BR2_PACKAGE_GOBJECT_INTROSPECTION bool "gobject-introspection" @@ -14,6 +13,7 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION # compile errors with locale.c. As such, require 4.9 until this # can be verified. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_HOST_GCC_AT_LEAST_8 # host-qemu depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection does not require python3 to run on the # target; however, because the tools run in a qemu wrapper, a @@ -42,8 +42,9 @@ comment "gobject-introspection needs python3" depends on !BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS -comment "gobject-introspection needs a glibc toolchain, gcc >= 4.9" +comment "gobject-introspection needs a glibc toolchain, gcc >= 4.9, host gcc >= 8" depends on BR2_USE_MMU depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_8 diff --git a/package/gobject-introspection/g-ir-compiler.in b/package/gobject-introspection/g-ir-compiler.in index 3313cc501f5..712753023a4 100644 --- a/package/gobject-introspection/g-ir-compiler.in +++ b/package/gobject-introspection/g-ir-compiler.in @@ -1,3 +1,3 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh -$(dirname $0)/g-ir-scanner-qemuwrapper $(dirname $0)/g-ir-compiler.real "$@" +"$(dirname "$0")"/g-ir-scanner-qemuwrapper "$(dirname "$0")"/g-ir-compiler.real "$@" diff --git a/package/gobject-introspection/g-ir-scanner-lddwrapper.in b/package/gobject-introspection/g-ir-scanner-lddwrapper.in index c19314566a8..2f09bca77a3 100644 --- a/package/gobject-introspection/g-ir-scanner-lddwrapper.in +++ b/package/gobject-introspection/g-ir-scanner-lddwrapper.in @@ -1,3 +1,3 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh -${HOST_DIR}/sbin/prelink-rtld --root=$(dirname $0)/../../ "$@" +"${HOST_DIR}"/sbin/prelink-rtld --root="$(dirname "$0")/../../" "$@" diff --git a/package/gobject-introspection/g-ir-scanner-qemuwrapper.in b/package/gobject-introspection/g-ir-scanner-qemuwrapper.in index cad7ef875e8..9786feea409 100644 --- a/package/gobject-introspection/g-ir-scanner-qemuwrapper.in +++ b/package/gobject-introspection/g-ir-scanner-qemuwrapper.in @@ -1,17 +1,22 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh -# Pass -r to qemu-user as to trick glibc into not errorings out if the host kernel +GOI_LIBRARY_PATH="${GIR_EXTRA_LIBS_PATH:+${GIR_EXTRA_LIBS_PATH}:}.libs:$(dirname "$0")/../lib:$(dirname "$0")/../../lib" + +# Pass -r to qemu-user as to trick glibc into not erroring out if the host kernel # is older than the target kernel. # Use a modules directory which does not exist so we don't load random things # which may then get deleted (or their dependencies) and potentially segfault -GIO_MODULE_DIR=$(dirname $0)/../lib/gio/modules-dummy \ +GIO_MODULE_DIR="$(dirname "$0")/../lib/gio/modules-dummy" \ @QEMU_USER@ -r @TOOLCHAIN_HEADERS_VERSION@ \ --L $(dirname $0)/../../ \ --E LD_LIBRARY_PATH=${GIR_EXTRA_LIBS_PATH}:.libs:$(dirname $0)/../lib:$(dirname $0)/../../lib \ -"$@" + @QEMU_USERMODE_ARGS@ \ + -L "$(dirname "$0")/../../" \ + -E LD_LIBRARY_PATH="${GOI_LIBRARY_PATH}" \ + "$@" -if [[ $? -ne 0 ]]; then +# shellcheck disable=SC2181 +if [ $? -ne 0 ]; then echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the .mk file should help." + # shellcheck disable=SC2016 echo 'Typically like this: PKG_MAKE_ENV += GIR_EXTRA_LIBS_PATH="$(@D)/.libs"' exit 1 fi diff --git a/package/gobject-introspection/g-ir-scanner.in b/package/gobject-introspection/g-ir-scanner.in index 22df7be3099..013eb157003 100644 --- a/package/gobject-introspection/g-ir-scanner.in +++ b/package/gobject-introspection/g-ir-scanner.in @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # These environment variables are empty by default, and as such ccompiler.py # defaults to either using the system tools (CC, CXX, and CPP) or leaving @@ -15,8 +15,8 @@ export LDFLAGS="${LDFLAGS:-@TARGET_LDFLAGS@}" export GI_SCANNER_DISABLE_CACHE=1 -${HOST_DIR}/bin/g-ir-scanner \ ---lib-dirs-envvar=GIR_EXTRA_LIBS_PATH \ ---use-binary-wrapper=$(dirname $0)/g-ir-scanner-qemuwrapper \ ---use-ldd-wrapper=$(dirname $0)/g-ir-scanner-lddwrapper \ ---add-include-path=$(dirname $0)/../share/gir-1.0 "$@" +"${HOST_DIR}"/bin/g-ir-scanner \ + --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH \ + --use-binary-wrapper="$(dirname "$0")"/g-ir-scanner-qemuwrapper \ + --use-ldd-wrapper="$(dirname "$0")"/g-ir-scanner-lddwrapper \ + --add-include-path="$(dirname "$0")"/../share/gir-1.0 "$@" diff --git a/package/gobject-introspection/gobject-introspection.hash b/package/gobject-introspection/gobject-introspection.hash index 68bf63e0559..5b76df6b409 100644 --- a/package/gobject-introspection/gobject-introspection.hash +++ b/package/gobject-introspection/gobject-introspection.hash @@ -1,4 +1,5 @@ -#From http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.64/gobject-introspection-1.64.1.sha256sum -sha256 80beae6728c134521926affff9b2e97125749b38d38744dc901f4010ee3e7fa7 gobject-introspection-1.64.1.tar.xz -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING.LGPL -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL +#From http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.70/gobject-introspection-1.70.0.sha256sum +sha256 902b4906e3102d17aa2fcb6dad1c19971c70f2a82a159ddc4a94df73a3cafc4a gobject-introspection-1.70.0.tar.xz +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING.LGPL +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL +sha256 23f82cbc9808cdd8e902df38271434040ce0562ca382ac2a96f5e3bf807b6d31 giscanner/scannerlexer.l diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk index eefb2c83f76..41d64171a72 100644 --- a/package/gobject-introspection/gobject-introspection.mk +++ b/package/gobject-introspection/gobject-introspection.mk @@ -4,8 +4,8 @@ # ################################################################################ -GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.64 -GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).1 +GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.70 +GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).0 GOBJECT_INTROSPECTION_SITE = http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/$(GOBJECT_INTROSPECTION_VERSION_MAJOR) GOBJECT_INTROSPECTION_SOURCE = gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION).tar.xz GOBJECT_INTROSPECTION_INSTALL_STAGING = YES @@ -43,7 +43,7 @@ HOST_GOBJECT_INTROSPECTION_NINJA_ENV += \ # Use the host gi-scanner to prevent the scanner from generating incorrect # elf classes. GOBJECT_INTROSPECTION_CONF_OPTS = \ - -Dgi_cross_use_host_gi=true \ + -Dgi_cross_use_prebuilt_gi=true \ -Dgi_cross_binary_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper" \ -Dgi_cross_ldd_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper" \ -Dbuild_introspection_data=true \ @@ -64,8 +64,8 @@ HOST_GOBJECT_INTROSPECTION_CONF_ENV = \ GI_SCANNER_DISABLE_CACHE=1 # Make sure g-ir-tool-template uses the host python. -define GOBJECT_INTROSPECTION_FIX_TOOLTEMPLATE_PYTHON_PATH - $(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python%' $(@D)/tools/g-ir-tool-template.in +define GOBJECT_INTROSPECTION_FIX_TOOLS_PYTHON_PATH + $(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python3%' $(@D)/tools/g-ir-tool-template.in endef HOST_GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_FIX_TOOLTEMPLATE_PYTHON_PATH @@ -75,7 +75,7 @@ HOST_GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_FIX_TOOL # - Create a safe modules directory which does not exist so we don't load random things # which may then get deleted (or their dependencies) and potentially segfault define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS - $(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python%' $(@D)/tools/g-ir-tool-template.in + $(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python3%' $(@D)/tools/g-ir-tool-template.in $(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-lddwrapper.in \ $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper @@ -84,6 +84,8 @@ define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper $(SED) "s%@QEMU_USER@%$(QEMU_USER)%g" \ $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper + $(SED) "s%@QEMU_USERMODE_ARGS@%$(call qstrip,$(BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS))%g" \ + $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper $(SED) "s%@TOOLCHAIN_HEADERS_VERSION@%$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)%g" \ $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper @@ -116,23 +118,29 @@ define GOBJECT_INTROSPECTION_INSTALL_WRAPPERS # Gobject-introspection installs Makefile.introspection in # $(STAGING_DIR)/usr/share which is needed for autotools-based programs to - # build .gir and .typelib files. Unfortuantly, gobject-introspection-1.0.pc + # build .gir and .typelib files. Unfortunately, gobject-introspection-1.0.pc # uses $(prefix)/share as the directory, which # causes the host /usr/share being used instead of $(STAGING_DIR)/usr/share. - # Change datarootdir to $(libdir)/../share which will prefix $(STAGING_DIR) + # Change datadir to $(libdir)/../share which will prefix $(STAGING_DIR) # to the correct location. - $(SED) "s%datarootdir=.*%datarootdir=\$${libdir}/../share%g" \ + $(SED) "s%^datadir=.*%datadir=\$${libdir}/../share%g" \ $(STAGING_DIR)/usr/lib/pkgconfig/gobject-introspection-1.0.pc # By default, girdir and typelibdir use datadir and libdir as their prefix, # of which pkg-config appends the sysroot directory. This results in files # being installed in $(STAGING_DIR)/$(STAGING_DIR)/path/to/files. - # Changing the prefix to exec_prefix prevents this error. - $(SED) "s%girdir=.*%girdir=\$${exec_prefix}/share/gir-1.0%g" \ + # Changing the prefix to prefix prevents this error. + $(SED) "s%girdir=.*%girdir=\$${prefix}/share/gir-1.0%g" \ $(STAGING_DIR)/usr/lib/pkgconfig/gobject-introspection-1.0.pc - $(SED) "s%typelibdir=.*%typelibdir=\$${exec_prefix}/lib/girepository-1.0%g" \ + $(SED) "s%typelibdir=.*%typelibdir=\$${prefix}/lib/girepository-1.0%g" \ $(STAGING_DIR)/usr/lib/pkgconfig/gobject-introspection-1.0.pc + + # Set includedir to $(STAGING_DIR)/usr/share/gir-1.0 instead of . or + # g-ir-compiler won't find .gir files resulting in a build failure for + # autotools-based based programs + $(SED) "s%includedir=.%includedir=$(STAGING_DIR)/usr/share/gir-1.0%g" \ + $(STAGING_DIR)/usr/share/gobject-introspection-1.0/Makefile.introspection endef GOBJECT_INTROSPECTION_POST_INSTALL_STAGING_HOOKS += GOBJECT_INTROSPECTION_INSTALL_WRAPPERS diff --git a/package/gocryptfs/Config.in b/package/gocryptfs/Config.in new file mode 100644 index 00000000000..2630cafdcfa --- /dev/null +++ b/package/gocryptfs/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_GOCRYPTFS + bool "gocryptfs" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + help + gocryptfs is an encrypted FUSE overlay filesystem. + + https://github.com/rfjakob/gocryptfs + +comment "gocryptfs needs a toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gocryptfs/gocryptfs.hash b/package/gocryptfs/gocryptfs.hash new file mode 100644 index 00000000000..ae161d1cd8e --- /dev/null +++ b/package/gocryptfs/gocryptfs.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 88f32bb8e18fa89e4ab666f7c8ad622281a11e423b4093e50ac260f960bc40b6 gocryptfs-2.2.1.tar.gz +sha256 322a7e3b02cf18e38b7e6b18cafefb773df8676c65634b34e8a2beb931294a4b LICENSE diff --git a/package/gocryptfs/gocryptfs.mk b/package/gocryptfs/gocryptfs.mk new file mode 100644 index 00000000000..8f70dba7c3c --- /dev/null +++ b/package/gocryptfs/gocryptfs.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# gocryptfs +# +################################################################################ + +GOCRYPTFS_VERSION = 2.2.1 +GOCRYPTFS_SITE = $(call github,rfjakob,gocryptfs,v$(GOCRYPTFS_VERSION)) +GOCRYPTFS_LICENSE = MIT +GOCRYPTFS_LICENSE_FILES = LICENSE + +GOCRYPTFS_GOMOD = github.com/rfjakob/gocryptfs/v2 + +GOCRYPTFS_LDFLAGS = \ + -X main.GitVersion=$(GOCRYPTFS_VERSION) \ + -X main.GitVersionFuse=[vendored] +GOCRYPTFS_TAGS = without_openssl + +$(eval $(golang-package)) diff --git a/package/google-breakpad/0004-Fix-for-non-constant-SIGSTKSZ.patch b/package/google-breakpad/0004-Fix-for-non-constant-SIGSTKSZ.patch new file mode 100644 index 00000000000..4291216c61e --- /dev/null +++ b/package/google-breakpad/0004-Fix-for-non-constant-SIGSTKSZ.patch @@ -0,0 +1,34 @@ +From 4a332d01186b09a9d46390b845024d914d9149cb Mon Sep 17 00:00:00 2001 +From: Michel Alexandre Salim +Date: Sun, 21 Mar 2021 13:17:00 -0700 +Subject: [PATCH] Fix for non-constant SIGSTKSZ + +On glibc > 2.33, `SIGSTKSZ` might not be constant (in which case +it expands to a call to `sysconf` which returns a `long int`); see +http://sourceware-org.1504.n7.nabble.com/PATCH-sysconf-Add-SC-MINSIGSTKSZ-SC-SIGSTKSZ-BZ-20305-td650948.html + +Cast the two arguments to `max` to `unsigned`, which is the type of the variable +we're storing the result in anyway, so that it works both with the old-style constant +`SIGSTKSZ` and the new configurable one. + +Signed-off-by: Michel Alexandre Salim +Change-Id: I3d87048561a87c6b9fcdbb14b3d53dd45b0a00f0 + +[Retrieved from: +https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2776379] +Signed-off-by: Fabrice Fontaine +--- + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index ca353c4..3788829 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -138,7 +138,7 @@ + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); ++ static const unsigned kSigStackSize = std::max((unsigned) 16384, (unsigned) SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. diff --git a/package/gperf/gperf.mk b/package/gperf/gperf.mk index 4b928a0ebd0..c2f042c464f 100644 --- a/package/gperf/gperf.mk +++ b/package/gperf/gperf.mk @@ -8,6 +8,8 @@ GPERF_VERSION = 3.1 GPERF_SITE = $(BR2_GNU_MIRROR)/gperf GPERF_LICENSE = GPL-3.0+ GPERF_LICENSE_FILES = COPYING +GPERF_CPE_ID_VENDOR = gperftools_project +GPERF_CPE_ID_PRODUCT = gperftools $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch b/package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch index 58b260ce247..25918019769 100644 --- a/package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch +++ b/package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch @@ -1,7 +1,7 @@ From 445be05fba32c512fd87a0c98b4e9936629ef95e Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sat, 20 Feb 2016 17:59:52 +0100 -Subject: [PATCH 1/1] src/Makefile.in: Really install unversioned solibrary +Subject: [PATCH] src/Makefile.in: Really install unversioned solibrary This commit is a follow-up to https://github.com/telmich/gpm/commit/06b00d53d8bd513ad5d262dc94a016c6fbf2d3aa diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk index f59d059a41e..695264348c4 100644 --- a/package/gpm/gpm.mk +++ b/package/gpm/gpm.mk @@ -9,6 +9,7 @@ GPM_SOURCE = gpm-$(GPM_VERSION).tar.lzma GPM_SITE = http://www.nico.schottelius.org/software/gpm/archives GPM_LICENSE = GPL-2.0+ GPM_LICENSE_FILES = COPYING +GPM_SELINUX_MODULES = gpm GPM_INSTALL_STAGING = YES GPM_DEPENDENCIES = host-bison diff --git a/package/gpsd/0001-Fix-errors-during-gpsd-3.20-cross-compilation.patch b/package/gpsd/0001-Fix-errors-during-gpsd-3.20-cross-compilation.patch deleted file mode 100644 index 7ab863d4a3d..00000000000 --- a/package/gpsd/0001-Fix-errors-during-gpsd-3.20-cross-compilation.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 727c37ef78f2229998ac51942f5d11c754d0c6b9 Mon Sep 17 00:00:00 2001 -From: Robert Hancock -Date: Mon, 13 Jul 2020 17:33:48 -0600 -Subject: [PATCH] Fix errors during gpsd 3.20 cross-compilation - -Adapt some post-3.20 changes to the gpsd SConstruct file from the -gpsd master branch to fix issues when cross-compiling. Original -commits did not cherry-pick cleanly onto 3.20 due to other -upstream changes. - -Signed-off-by: Robert Hancock ---- - SConstruct | 81 ++++++++++++++++++++++-------------------------------- - 1 file changed, 33 insertions(+), 48 deletions(-) - -diff --git a/SConstruct b/SConstruct -index 33e0ff326..93e8fcfea 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -386,13 +386,16 @@ env['SC_PYTHON'] = sys.executable # Path to SCons Python - # So we rely on MergeFlags/ParseFlags to do the right thing for us. - env['STRIP'] = "strip" - env['PKG_CONFIG'] = "pkg-config" --for i in ["AR", "CC", "CXX", "LD", -- "PKG_CONFIG", "STRIP", "TAR"]: -+for i in ["AR", # linker for static libs, usually "ar" -+ "CC", -+ "CXX", -+ # "LD", # scons does not use LD, usually "ld" -+ "PKG_CONFIG", -+ "SHLINK", # linker for shared libs, usually "gcc" or "g++", NOT "ld" -+ "STRIP", -+ "TAR"]: - if i in os.environ: -- j = i -- if i == "LD": -- i = "SHLINK" -- env[i] = os.getenv(j) -+ env[i] = os.getenv(i) - for i in ["ARFLAGS", "CFLAGS", "CXXFLAGS", "LDFLAGS", "SHLINKFLAGS", - "CPPFLAGS", "CCFLAGS", "LINKFLAGS"]: - if i in os.environ: -@@ -483,7 +486,7 @@ devenv = (("ADDR2LINE", "addr2line"), - ("GCCBUG", "gccbug"), - ("GCOV", "gcov"), - ("GPROF", "gprof"), -- ("LD", "ld"), -+ # ("LD", "ld"), # scons does not use LD - ("NM", "nm"), - ("OBJCOPY", "objcopy"), - ("OBJDUMP", "objdump"), -@@ -565,6 +568,22 @@ def CheckXsltproc(context): - return ret - - -+def CheckTime_t(context): -+ context.Message('Checking if sizeof(time_t) is 64 bits... ') -+ ret = context.TryLink(""" -+ #include -+ -+ int main(int argc, char **argv) { -+ static int test_array[1 - 2 * ((long int) sizeof(time_t) < 8 )]; -+ test_array[0] = 0; -+ (void) argc; (void) argv; -+ return 0; -+ } -+ """, '.c') -+ context.Result(ret) -+ return ret -+ -+ - def CheckCompilerOption(context, option): - context.Message('Checking if compiler accepts %s... ' % (option,)) - old_CFLAGS = context.env['CFLAGS'][:] # Get a *copy* of the old list -@@ -597,42 +616,6 @@ def CheckHeaderDefines(context, file, define): - return ret - - --def CheckSizeOf(context, type): -- """Check sizeof 'type'""" -- context.Message('Checking size of ' + type + '... ') -- -- program = """ --#include --#include -- --/* -- * The CheckSizeOf function does not have a way for the caller to -- * specify header files to be included to provide the type being -- * checked. As a workaround until that is remedied, include the -- * header required for time_t, which is the sole current use of this -- * function. -- */ --#include -- --int main() { -- printf("%d", (int)sizeof(""" + type + """)); -- return 0; --} --""" -- -- # compile it -- ret = context.TryCompile(program, '.c') -- if 0 == ret: -- announce('ERROR: TryCompile failed\n') -- # fall back to sizeof(time_t) is 8 -- return '8' -- -- # run it -- ret = context.TryRun(program, '.c') -- context.Result(ret[0]) -- return ret[1] -- -- - def CheckCompilerDefines(context, define): - context.Message('Checking if compiler supplies %s... ' % (define,)) - ret = context.TryLink(""" -@@ -708,8 +691,8 @@ config = Configure(env, custom_tests={ - 'CheckCompilerOption': CheckCompilerOption, - 'CheckHeaderDefines': CheckHeaderDefines, - 'CheckPKG': CheckPKG, -- 'CheckSizeOf': CheckSizeOf, - 'CheckXsltproc': CheckXsltproc, -+ 'CheckTime_t': CheckTime_t, - 'GetPythonValue': GetPythonValue, - }) - -@@ -1043,11 +1026,13 @@ else: - confdefs.append("/* #undef HAVE_%s_H */\n" - % hdr.replace("/", "_").upper()) - -- sizeof_time_t = config.CheckSizeOf("time_t") -- confdefs.append("#define SIZEOF_TIME_T %s\n" % sizeof_time_t) -- announce("sizeof(time_t) is %s" % sizeof_time_t) -- if 4 >= int(sizeof_time_t): -+ if 0 == config.CheckTime_t(): - announce("WARNING: time_t is too small. It will fail in 2038") -+ sizeof_time_t = 4 -+ else: -+ sizeof_time_t = 8 -+ -+ confdefs.append("#define SIZEOF_TIME_T %s\n" % sizeof_time_t) - - # check function after libraries, because some function require libraries - # for example clock_gettime() require librt on Linux glibc < 2.17 --- -2.18.4 - diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in index 3e13f1ba715..b66d0952dd4 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -60,14 +60,6 @@ config BR2_PACKAGE_GPSD_GROUP_VALUE default "nobody" depends on BR2_PACKAGE_GPSD_GROUP -config BR2_PACKAGE_GPSD_FIXED_PORT_SPEED - bool "compile with fixed serial port speed" - -config BR2_PACKAGE_GPSD_FIXED_PORT_SPEED_VALUE - int "serial port speed" - default "9600" - depends on BR2_PACKAGE_GPSD_FIXED_PORT_SPEED - config BR2_PACKAGE_GPSD_MAX_CLIENT bool "compile with limited maximum clients" @@ -84,17 +76,20 @@ config BR2_PACKAGE_GPSD_MAX_DEV_VALUE default "2" depends on BR2_PACKAGE_GPSD_MAX_DEV -config BR2_PACKAGE_GPSD_RECONFIGURE - bool "allow gpsd to change device settings" - default y - -config BR2_PACKAGE_GPSD_CONTROLSEND - bool "allow gpsctl/gpsmon to change device settings" - default y - config BR2_PACKAGE_GPSD_SQUELCH bool "squelch gpsd_report and gpsd_hexdump to save cpu" +config BR2_PACKAGE_GPSD_PYTHON + bool "build Python support and modules" + depends on BR2_USE_WCHAR # python3 + select BR2_PACKAGE_PYTHON3 + help + Python libraries and tools for the gpsd service daemon + including gpsfake test harness. + +comment "GPSD python support not available with toolchain w/o wide characters support" + depends on !BR2_USE_WCHAR + comment "Protocols" config BR2_PACKAGE_GPSD_AIVDM diff --git a/package/gpsd/gpsd.hash b/package/gpsd/gpsd.hash index af53fc05bf8..6d93e7b553b 100644 --- a/package/gpsd/gpsd.hash +++ b/package/gpsd/gpsd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 172a7805068eacb815a3c5225436fcb0be46e7e49a5001a94034eac43df85e50 gpsd-3.20.tar.gz -sha256 13ba6fe5b2f41f03b854f9ac5f271e116d5ed55890cc20f5fe44dcfa0dc5958b COPYING +sha256 0b991ce9a46538c4ea450f7a8ee428ff44fb4f8d665fddf2ffe40fe0ae9a6c09 gpsd-3.23.1.tar.gz +sha256 fdf339997bbca9eaf507476b82fbcac608fc39a3d89b86b51e16db4c9f933716 COPYING diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 57955b78953..4388b7e24da 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -4,16 +4,19 @@ # ################################################################################ -GPSD_VERSION = 3.20 +GPSD_VERSION = 3.23.1 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd GPSD_LICENSE = BSD-2-Clause GPSD_LICENSE_FILES = COPYING +GPSD_CPE_ID_VENDOR = gpsd_project +GPSD_SELINUX_MODULES = gpsd GPSD_INSTALL_STAGING = YES -GPSD_DEPENDENCIES = host-python3 host-scons host-pkgconf +GPSD_DEPENDENCIES = host-scons host-pkgconf GPSD_LDFLAGS = $(TARGET_LDFLAGS) GPSD_CFLAGS = $(TARGET_CFLAGS) +GPSD_CXXFLAGS = $(TARGET_CXXFLAGS) GPSD_SCONS_ENV = $(TARGET_CONFIGURE_OPTS) @@ -23,7 +26,6 @@ GPSD_SCONS_OPTS = \ prefix=/usr \ sysroot=$(STAGING_DIR) \ strip=no \ - python=no \ qt=no \ systemd=$(if $(BR2_INIT_SYSTEMD),yes,no) @@ -45,6 +47,7 @@ endif ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) GPSD_CFLAGS += -O0 +GPSD_CXXFLAGS += -O0 endif # If libusb is available build it before so the package can use it @@ -165,12 +168,6 @@ endif ifeq ($(BR2_PACKAGE_GPSD_SQUELCH),y) GPSD_SCONS_OPTS += squelch=yes endif -ifneq ($(BR2_PACKAGE_GPSD_RECONFIGURE),y) -GPSD_SCONS_OPTS += reconfigure=no -endif -ifneq ($(BR2_PACKAGE_GPSD_CONTROLSEND),y) -GPSD_SCONS_OPTS += controlsend=no -endif ifneq ($(BR2_PACKAGE_GPSD_OLDSTYLE),y) GPSD_SCONS_OPTS += oldstyle=no endif @@ -186,9 +183,6 @@ endif ifeq ($(BR2_PACKAGE_GPSD_GROUP),y) GPSD_SCONS_OPTS += gpsd_group=$(BR2_PACKAGE_GPSD_GROUP_VALUE) endif -ifeq ($(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED),y) -GPSD_SCONS_OPTS += fixed_port_speed=$(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED_VALUE) -endif ifeq ($(BR2_PACKAGE_GPSD_MAX_CLIENT),y) GPSD_SCONS_OPTS += max_clients=$(BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE) endif @@ -196,15 +190,24 @@ ifeq ($(BR2_PACKAGE_GPSD_MAX_DEV),y) GPSD_SCONS_OPTS += max_devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE) endif +ifeq ($(BR2_PACKAGE_PYTHON3),y) +GPSD_SCONS_OPTS += \ + python=yes \ + python_libdir="/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages" +else +GPSD_SCONS_OPTS += python=no +endif + GPSD_SCONS_ENV += \ LDFLAGS="$(GPSD_LDFLAGS)" \ CFLAGS="$(GPSD_CFLAGS)" \ - CCFLAGS="$(GPSD_CFLAGS)" + CCFLAGS="$(GPSD_CFLAGS)" \ + CXXFLAGS="$(GPSD_CXXFLAGS)" define GPSD_BUILD_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \ - $(HOST_DIR)/bin/python3 $(SCONS) \ + $(SCONS) \ $(GPSD_SCONS_OPTS)) endef @@ -212,7 +215,7 @@ define GPSD_INSTALL_TARGET_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \ DESTDIR=$(TARGET_DIR) \ - $(HOST_DIR)/bin/python3 $(SCONS) \ + $(SCONS) \ $(GPSD_SCONS_OPTS) \ $(if $(BR2_PACKAGE_HAS_UDEV),udev-install,install)) endef @@ -234,7 +237,7 @@ define GPSD_INSTALL_STAGING_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \ DESTDIR=$(STAGING_DIR) \ - $(HOST_DIR)/bin/python3 $(SCONS) \ + $(SCONS) \ $(GPSD_SCONS_OPTS) \ install) endef diff --git a/package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch b/package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch index 518639387ac..02f954531a1 100644 --- a/package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch +++ b/package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch @@ -29,7 +29,7 @@ index 1b18cf2..4ebfde1 100644 #include #include #include --#ifdef __APPLE__ +-#if defined (__APPLE__) || (__FreeBSD__) #include -#else -#include diff --git a/package/gptfdisk/gptfdisk.hash b/package/gptfdisk/gptfdisk.hash index bff17dcc218..caded358eca 100644 --- a/package/gptfdisk/gptfdisk.hash +++ b/package/gptfdisk/gptfdisk.hash @@ -1,6 +1,5 @@ -# From http://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.5/ -md5 58dac67c85e46ca87b587231549aefe6 gptfdisk-1.0.5.tar.gz -sha1 b642aa628cbc9fa63e9a73dad5acc588042527ac gptfdisk-1.0.5.tar.gz +# From http://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.8/ +sha1 c8824e779056158fa32887e415f5399a8646c3c5 gptfdisk-1.0.8.tar.gz # Locally computed -sha256 0e7d3987cd0488ecaf4b48761bc97f40b1dc089e5ff53c4b37abe30bc67dcb2f gptfdisk-1.0.5.tar.gz +sha256 95d19856f004dabc4b8c342b2612e8d0a9eebdd52004297188369f152e9dc6df gptfdisk-1.0.8.tar.gz sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/gptfdisk/gptfdisk.mk b/package/gptfdisk/gptfdisk.mk index e848837b763..9869975f51a 100644 --- a/package/gptfdisk/gptfdisk.mk +++ b/package/gptfdisk/gptfdisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPTFDISK_VERSION = 1.0.5 +GPTFDISK_VERSION = 1.0.8 GPTFDISK_SITE = http://downloads.sourceforge.net/sourceforge/gptfdisk GPTFDISK_LICENSE = GPL-2.0+ GPTFDISK_LICENSE_FILES = COPYING diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in index af4d69381e7..adcdbb08966 100644 --- a/package/gqrx/Config.in +++ b/package/gqrx/Config.in @@ -3,13 +3,13 @@ comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library" depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR || !BR2_STATIC_LIBS + !BR2_USE_WCHAR || BR2_STATIC_LIBS comment "gqrx needs qt5" depends on !BR2_PACKAGE_QT5 -comment "gqrx needs a toolchain not affected by GCC bug 64735" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 +comment "gqrx needs a toolchain not affected by GCC bug 43744 and 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_43744 || BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_GQRX bool "gqrx" @@ -21,6 +21,7 @@ config BR2_PACKAGE_GQRX depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_PACKAGE_QT5 depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # gnuradio -> boost-atomic + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744 # gnuradio depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS diff --git a/package/gqrx/gqrx.hash b/package/gqrx/gqrx.hash index bfa4411c2c6..1991dfea824 100644 --- a/package/gqrx/gqrx.hash +++ b/package/gqrx/gqrx.hash @@ -1,4 +1,4 @@ # Locally calculated: -sha256 ff3a9e350f730823dec8edb38cddfd72f602c909cc4ac39082c445eb66f88d96 gqrx-2.13.2.tar.gz +sha256 aec35c77ebde9c71a5f973c509eec3d6aa2f18a6e052b180fcd9029d88273e5b gqrx-2.14.4.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 7cc22ce5ee61df62e427ec43b8130de149edee3cafb5af4f18d59b6dc3958faf LICENSE-CTK diff --git a/package/gqrx/gqrx.mk b/package/gqrx/gqrx.mk index dd15db28908..4d464298ca3 100644 --- a/package/gqrx/gqrx.mk +++ b/package/gqrx/gqrx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GQRX_VERSION = 2.13.2 +GQRX_VERSION = 2.14.4 GQRX_SITE = $(call github,csete,gqrx,v$(GQRX_VERSION)) GQRX_LICENSE = GPL-3.0+, Apache-2.0 GQRX_LICENSE_FILES = COPYING LICENSE-CTK diff --git a/package/granite/0001-meson-add-introspection-option.patch b/package/granite/0001-meson-add-introspection-option.patch deleted file mode 100644 index 4b32fb13c33..00000000000 --- a/package/granite/0001-meson-add-introspection-option.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 4d5ddcdb9c03d4e829fe7080e497a00f0b379eff Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 14 Jun 2020 17:33:31 +0200 -Subject: [PATCH] meson: add introspection option - -This will allow the user to build granite without gobject-introspection - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/elementary/granite/pull/410] ---- - lib/meson.build | 38 ++++++++++++++++++++------------------ - meson_options.txt | 1 + - 2 files changed, 21 insertions(+), 18 deletions(-) - -diff --git a/lib/meson.build b/lib/meson.build -index a9fc4ed4..770feeb5 100644 ---- a/lib/meson.build -+++ b/lib/meson.build -@@ -98,24 +98,26 @@ install_data( - install_dir: include_dir - ) - --# typelib generation isn't automated yet --g_ir_compiler = find_program('g-ir-compiler') --custom_target( -- granite_typelib, -- command: [ -- g_ir_compiler, -- '--shared-library', -- '@PLAINNAME@', -- '--output', -- '@OUTPUT@', -- join_paths(meson.current_build_dir(), granite_gir), -- ], -- input: libgranite, -- output: granite_typelib, -- depends: libgranite, -- install: true, -- install_dir: join_paths(get_option('libdir'), 'girepository-1.0'), --) -+if get_option('introspection') -+ # typelib generation isn't automated yet -+ g_ir_compiler = find_program('g-ir-compiler') -+ custom_target( -+ granite_typelib, -+ command: [ -+ g_ir_compiler, -+ '--shared-library', -+ '@PLAINNAME@', -+ '--output', -+ '@OUTPUT@', -+ join_paths(meson.current_build_dir(), granite_gir), -+ ], -+ input: libgranite, -+ output: granite_typelib, -+ depends: libgranite, -+ install: true, -+ install_dir: join_paths(get_option('libdir'), 'girepository-1.0'), -+ ) -+endif - - libgranite_dep = declare_dependency( - link_with: libgranite, -diff --git a/meson_options.txt b/meson_options.txt -index 9d9f62e9..bd1a1d6f 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1 +1,2 @@ - option('documentation', type: 'boolean', value: false, description: 'generate documentation with gtk-doc and valadoc') -+option('introspection', type: 'boolean', value: true, description: 'Whether to build introspection files') --- -2.26.2 - diff --git a/package/granite/Config.in b/package/granite/Config.in index 726bde1b2d0..9519e16d45f 100644 --- a/package/granite/Config.in +++ b/package/granite/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_GRANITE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgee depends on BR2_PACKAGE_LIBGTK3 select BR2_PACKAGE_LIBGEE select BR2_PACKAGE_LIBGLIB2 @@ -12,7 +13,8 @@ config BR2_PACKAGE_GRANITE https://github.com/elementary/granite -comment "granite needs libgtk3 and a toolchain w/ wchar, threads" +comment "granite needs libgtk3 and a toolchain w/ wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU depends on !BR2_PACKAGE_LIBGTK3 || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/granite/granite.hash b/package/granite/granite.hash index 5378b30cba9..a91f468b49a 100644 --- a/package/granite/granite.hash +++ b/package/granite/granite.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8194031cac3b87d84a3fab9c30270485ce73f8b8ec23f26c9152b6859c8a18fd granite-5.4.0.tar.gz +sha256 c62d8d29e8bb59a5fa2d9006a9c13196aea9159410a7c86e3d51fa10d0f9dcc0 granite-6.0.0.tar.gz sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/granite/granite.mk b/package/granite/granite.mk index d5dd1fa1ff0..71dfbf4c033 100644 --- a/package/granite/granite.mk +++ b/package/granite/granite.mk @@ -4,12 +4,19 @@ # ################################################################################ -GRANITE_VERSION = 5.4.0 +GRANITE_VERSION = 6.0.0 GRANITE_SITE = $(call github,elementary,granite,$(GRANITE_VERSION)) -GRANITE_DEPENDENCIES = host-pkgconf host-vala libgee libglib2 libgtk3 +GRANITE_DEPENDENCIES = \ + host-pkgconf \ + host-vala \ + libgee \ + libglib2 \ + libgtk3 \ + $(TARGET_NLS_DEPENDENCIES) GRANITE_INSTALL_STAGING = YES GRANITE_LICENSE = LGPL-3.0+ GRANITE_LICENSE_FILES = COPYING +GRANITE_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) GRANITE_CONF_OPTS += -Dintrospection=true diff --git a/package/graphicsmagick/graphicsmagick.hash b/package/graphicsmagick/graphicsmagick.hash index 6ad5de9d65f..cf6d224216d 100644 --- a/package/graphicsmagick/graphicsmagick.hash +++ b/package/graphicsmagick/graphicsmagick.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5d5b3fde759cdfc307aaf21df9ebd8c752e3f088bb051dd5df8aac7ba7338f46 GraphicsMagick-1.3.36.tar.xz -sha256 aed5bd8e28cbce601cbe2ca2267b663ccd63152965f2d5caea1311bf0039c325 Copyright.txt +sha256 90dc22f1a7bd240e4c9065a940962bf13da43c99bcc36cb111cc3c1a0d7477d4 GraphicsMagick-1.3.37.tar.xz +sha256 8a4d960c5a3e453ee21e459e1794c7a0c85559825d3363a8d3b510b3344fdad4 Copyright.txt diff --git a/package/graphicsmagick/graphicsmagick.mk b/package/graphicsmagick/graphicsmagick.mk index 2a22936fccd..38743487eb9 100644 --- a/package/graphicsmagick/graphicsmagick.mk +++ b/package/graphicsmagick/graphicsmagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -GRAPHICSMAGICK_VERSION = 1.3.36 +GRAPHICSMAGICK_VERSION = 1.3.37 GRAPHICSMAGICK_SOURCE = GraphicsMagick-$(GRAPHICSMAGICK_VERSION).tar.xz GRAPHICSMAGICK_SITE = https://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/$(GRAPHICSMAGICK_VERSION) GRAPHICSMAGICK_LICENSE = MIT diff --git a/package/grep/0001-sigsegv-fix-build-on-microblazeel.patch b/package/grep/0001-sigsegv-fix-build-on-microblazeel.patch new file mode 100644 index 00000000000..06869b716e7 --- /dev/null +++ b/package/grep/0001-sigsegv-fix-build-on-microblazeel.patch @@ -0,0 +1,32 @@ +From 3079cea1b18fe72aa1da6b04e561abfb36f4f443 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 11 Nov 2021 09:57:23 +0100 +Subject: sigsegv: fix build on microblazeel + +Fix the following build failure on microblazeel with diffutils 3.8: +sigsegv.c:979:28: error: 'struct vma_struct' has no member named 'is_near_this' +http://autobuild.buildroot.org/results/5ecd55b7c72f9630a7acc72341ccb60e94ddb574 + +[Retrieved from: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=3079cea1b18fe72aa1da6b04e561abfb36f4f443] +Signed-off-by: Fabrice Fontaine +--- + m4/stack-direction.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 +index c90d69733..70286c8f5 100644 +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -37,7 +37,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + m68* | \ + m88k | \ + mcore | \ +- microblaze | \ ++ microblaze* | \ + mips* | \ + mmix | \ + mn10200 | \ +-- +cgit v1.2.1 + diff --git a/package/grep/0002-sigsegv-fix-build-on-or1k.patch b/package/grep/0002-sigsegv-fix-build-on-or1k.patch new file mode 100644 index 00000000000..73385fe9f72 --- /dev/null +++ b/package/grep/0002-sigsegv-fix-build-on-or1k.patch @@ -0,0 +1,32 @@ +From 496c1740e5475be85b65fdb2b143771f09ed27cb Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 11 Nov 2021 10:06:31 +0100 +Subject: sigsegv: fix build on or1k + +Fix the following build failure on or1k with diffutils 3.8 +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=e54aa6196947ed22ff66bcd714e4fc7bd0c5c3b4 +sigsegv.c:979:28: error: 'struct vma_struct' has no member named 'is_near_this' +http://autobuild.buildroot.org/results/5427e52489d29ed4f18b4a70b3c36f0f7bb0ddd9 + +[Retrieved from: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=496c1740e5475be85b65fdb2b143771f09ed27cb] +Signed-off-by: Fabrice Fontaine +--- + m4/stack-direction.m4 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 +index 70286c8f5..29e398d77 100644 +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -45,6 +45,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + nios2 | \ + nds32* | \ + ns32k | \ ++ or1k | \ + pdp11 | \ + pj* | \ + powerpc* | rs6000 | \ +-- +cgit v1.2.1 + diff --git a/package/grep/grep.hash b/package/grep/grep.hash index 9dfe2f2c23d..29d9eb1cd60 100644 --- a/package/grep/grep.hash +++ b/package/grep/grep.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature -# http://ftp.gnu.org/gnu/grep/grep-3.6.tar.xz.sig +# http://ftp.gnu.org/gnu/grep/grep-3.7.tar.xz.sig # using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 667e15e8afe189e93f9f21a7cd3a7b3f776202f417330b248c2ad4f997d9373e grep-3.6.tar.xz +sha256 5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c grep-3.7.tar.xz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/grep/grep.mk b/package/grep/grep.mk index 27d204d4ce3..a485f23dc7a 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -4,12 +4,14 @@ # ################################################################################ -GREP_VERSION = 3.6 +GREP_VERSION = 3.7 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_LICENSE = GPL-3.0+ GREP_LICENSE_FILES = COPYING GREP_CPE_ID_VENDOR = gnu +# We're patching m4/stack-direction.m4 +GREP_AUTORECONF = YES GREP_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # install into /bin like busybox grep GREP_CONF_OPTS = --exec-prefix=/ diff --git a/package/grpc/0001-CMakeLists.txt-fix-cross-compilation-with-gRPC_BUILD.patch b/package/grpc/0001-CMakeLists.txt-fix-cross-compilation-with-gRPC_BUILD.patch deleted file mode 100644 index 553be8cb995..00000000000 --- a/package/grpc/0001-CMakeLists.txt-fix-cross-compilation-with-gRPC_BUILD.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 268815d74ea34856c686dce9e9c23106b51f2782 Mon Sep 17 00:00:00 2001 -From: Thomas De Schampheleire -Date: Tue, 2 Feb 2021 21:46:29 +0100 -Subject: [PATCH] CMakeLists.txt: fix cross-compilation with - gRPC_BUILD_GRPC_CPP_PLUGIN=OFF - -When cross-compiling gRPC, a native version of 'grpc_cpp_plugin' is searched -in the environment. For most use cases, a cross version of this file is not -needed. - -However, when cross-building with -DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF, there -are some build errors, for example: - -make[3]: *** No rule to make target 'grpc_cpp_plugin', needed by 'gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc'. Stop. - -This is because there is still a hard dependency on 'grpc_cpp_plugin' for -these targets, not taking into account the cross-compilation case. - -Fix by depending on the variable gRPC_CPP_PLUGIN, which is set correctly for -either cross or native case. - -Signed-off-by: Thomas De Schampheleire - ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6bdae22083..08aea609f7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -317,7 +317,7 @@ function(protobuf_generate_grpc_cpp) - --plugin=protoc-gen-grpc=${_gRPC_CPP_PLUGIN} - ${_protobuf_include_path} - ${REL_FIL} -- DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin -+ DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} ${_gRPC_CPP_PLUGIN} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Running gRPC C++ protocol buffer compiler on ${FIL}" - VERBATIM) --- -2.26.2 - diff --git a/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch b/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch new file mode 100644 index 00000000000..92dc5a6c45e --- /dev/null +++ b/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch @@ -0,0 +1,66 @@ +From 0dfb289a3b362b082ac3608d887e42f09dadc0d2 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 31 Dec 2018 16:22:07 +0100 +Subject: [PATCH] Properly detect the availability of pthread_setname_np() + +This commit adds a CMake check for the availability of +pthread_setname_np(), and only uses it on Linux when available. + +Indeed, some C libraries, such as uClibc, do not provide this +non-POSIX function in all cases. + +Upstream: https://github.com/grpc/grpc/pull/17610 +Signed-off-by: Thomas Petazzoni + +[buildroot@heine.tech: + 1.42.0 added new logic to handle older glibc without pthread_setname_np() + but is still not sufficient for all cases. So alter the patch to wrap all + this with our cmake based workaround. + See: https://github.com/grpc/grpc/pull/27540 +] +Signed-off-by: Michael Nosthoff +--- + CMakeLists.txt | 6 ++++++ + include/grpc/impl/codegen/port_platform.h | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 45c2fcb..0b2be4f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -208,6 +208,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE) + endif() + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") + ++include(CheckSymbolExists) ++check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP) ++if (HAVE_PTHREAD_SETNAME_NP) ++ add_definitions(-DHAVE_PTHREAD_SETNAME_NP) ++endif () ++ + if(MSVC) + include(cmake/msvc_static_runtime.cmake) + add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS) +diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h +index 4f213ff..55ecd9d 100644 +--- a/include/grpc/impl/codegen/port_platform.h ++++ b/include/grpc/impl/codegen/port_platform.h +@@ -186,6 +186,7 @@ + #endif /* _LP64 */ + #ifdef __GLIBC__ + #define GPR_POSIX_CRASH_HANDLER 1 ++#if defined(HAVE_PTHREAD_SETNAME_NP) + #ifdef __GLIBC_PREREQ + #if __GLIBC_PREREQ(2, 12) + #define GPR_LINUX_PTHREAD_NAME 1 +@@ -194,6 +195,7 @@ + // musl libc & others + #define GPR_LINUX_PTHREAD_NAME 1 + #endif ++#endif /* HAVE_PTHREAD_SETNAME_NP */ + #include + #else /* musl libc */ + #define GPR_MUSL_LIBC_COMPAT 1 + +-- +2.26.63 diff --git a/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch b/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch deleted file mode 100644 index 32493ac1a05..00000000000 --- a/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0dfb289a3b362b082ac3608d887e42f09dadc0d2 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 31 Dec 2018 16:22:07 +0100 -Subject: [PATCH] Properly detect the availability of pthread_setname_np() - -This commit adds a CMake check for the availability of -pthread_setname_np(), and only uses it on Linux when available. - -Indeed, some C libraries, such as uClibc, do not provide this -non-POSIX function in all cases. - -Upstream: https://github.com/grpc/grpc/pull/17610 -Signed-off-by: Thomas Petazzoni ---- - CMakeLists.txt | 6 ++++++ - include/grpc/impl/codegen/port_platform.h | 2 ++ - 2 files changed, 8 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 45c2fcb..0b2be4f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -208,6 +208,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE) - endif() - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") - -+include(CheckSymbolExists) -+check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP) -+if (HAVE_PTHREAD_SETNAME_NP) -+ add_definitions(-DHAVE_PTHREAD_SETNAME_NP) -+endif () -+ - if(MSVC) - include(cmake/msvc_static_runtime.cmake) - add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS) -diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h -index 4f213ff..55ecd9d 100644 ---- a/include/grpc/impl/codegen/port_platform.h -+++ b/include/grpc/impl/codegen/port_platform.h -@@ -168,7 +168,9 @@ - #endif /* _LP64 */ - #ifdef __GLIBC__ - #define GPR_POSIX_CRASH_HANDLER 1 -+#if defined(HAVE_PTHREAD_SETNAME_NP) - #define GPR_LINUX_PTHREAD_NAME 1 -+#endif /* HAVE_PTHREAD_SETNAME_NP */ - #include - #else /* musl libc */ - #define GPR_MUSL_LIBC_COMPAT 1 --- -2.26.63 diff --git a/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch b/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch new file mode 100644 index 00000000000..aac92bab132 --- /dev/null +++ b/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch @@ -0,0 +1,34 @@ +From be030314805137cd63b46ea6eaa702b608669910 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 2 Jun 2019 17:45:47 +0200 +Subject: [PATCH] wrap_memcpy.cc: add GPR_DISABLE_WRAPPED_MEMCPY + +Add GPR_DISABLE_WRAPPED_MEMCPY to allow the user to disable wrapped +memcpy. This will fix build on x86_64 on musl/uclibc without changing +the cpu behavior. + +Fixes: + - http://autobuild.buildroot.org/results/20d6f2489a4e291a53bd514da66105eb607e1014 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/grpc/grpc/pull/19207] +--- + src/core/lib/gpr/wrap_memcpy.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/lib/gpr/wrap_memcpy.cc b/src/core/lib/gpr/wrap_memcpy.cc +index 9b8608e056..38b76acf95 100644 +--- a/src/core/lib/gpr/wrap_memcpy.cc ++++ b/src/core/lib/gpr/wrap_memcpy.cc +@@ -29,7 +29,7 @@ + extern "C" { + #ifdef __linux__ + #if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) && \ +- !defined(__ANDROID__) ++ !defined(__ANDROID__) && !defined(GPR_DISABLE_WRAPPED_MEMCPY) + __asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); + void* __wrap_memcpy(void* destination, const void* source, size_t num) { + return memcpy(destination, source, num); +-- +2.20.1 + diff --git a/package/grpc/0003-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch b/package/grpc/0003-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch deleted file mode 100644 index ad648044707..00000000000 --- a/package/grpc/0003-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch +++ /dev/null @@ -1,34 +0,0 @@ -From be030314805137cd63b46ea6eaa702b608669910 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 2 Jun 2019 17:45:47 +0200 -Subject: [PATCH] wrap_memcpy.cc: add GPR_DISABLE_WRAPPED_MEMCPY - -Add GPR_DISABLE_WRAPPED_MEMCPY to allow the user to disable wrapped -memcpy. This will fix build on x86_64 on musl/uclibc without changing -the cpu behavior. - -Fixes: - - http://autobuild.buildroot.org/results/20d6f2489a4e291a53bd514da66105eb607e1014 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/grpc/grpc/pull/19207] ---- - src/core/lib/gpr/wrap_memcpy.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/lib/gpr/wrap_memcpy.cc b/src/core/lib/gpr/wrap_memcpy.cc -index 9b8608e056..38b76acf95 100644 ---- a/src/core/lib/gpr/wrap_memcpy.cc -+++ b/src/core/lib/gpr/wrap_memcpy.cc -@@ -28,7 +28,7 @@ - - extern "C" { - #ifdef __linux__ --#if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) -+#if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) && !defined(GPR_DISABLE_WRAPPED_MEMCPY) - __asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); - void* __wrap_memcpy(void* destination, const void* source, size_t num) { - return memcpy(destination, source, num); --- -2.20.1 - diff --git a/package/grpc/0004-host-grpc-only-cpp-plugin.patch b/package/grpc/0004-host-grpc-only-cpp-plugin.patch new file mode 100644 index 00000000000..c97d9a9385b --- /dev/null +++ b/package/grpc/0004-host-grpc-only-cpp-plugin.patch @@ -0,0 +1,215 @@ +From a1922eadfc87da3dd221ff631f94ddd4a8ee7049 Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Tue, 25 May 2021 14:55:23 +0200 +Subject: [PATCH] Add option to restrict building of (host-)grpc to + grpc_cpp_plugin only. + +This avoids unnecessary dependencies on big packages like libabseil-cpp and +others. + +Upstream-status: not accepted (see https://github.com/grpc/grpc/issues/25322) + +Signed-off-by: Thomas De Schampheleire +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 43 +++++++++++++++++++++++++++++++++++-------- + 1 file changed, 35 insertions(+), 8 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e8934a3e03..c2df332cc6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -48,12 +48,16 @@ option(gRPC_BUILD_TESTS "Build tests" OFF) + option(gRPC_BUILD_CODEGEN "Build codegen" ON) + option(gRPC_BUILD_CSHARP_EXT "Build C# extensions" ON) + option(gRPC_BACKWARDS_COMPATIBILITY_MODE "Build libraries that are binary compatible across a larger number of OS and libc versions" OFF) ++option(gRPC_BUILD_PLUGIN_SUPPORT_ONLY "Build plugin support only" OFF) + + set(gRPC_INSTALL_default ON) + if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + # Disable gRPC_INSTALL by default if building as a submodule + set(gRPC_INSTALL_default OFF) + endif() ++if(gRPC_BUILD_PLUGIN_SUPPORT_ONLY) ++ set(gRPC_INSTALL_default OFF) ++endif() + set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL + "Generate installation target") + +@@ -367,6 +371,8 @@ add_custom_target(plugins + DEPENDS ${_gRPC_PLUGIN_LIST} + ) + ++if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) ++ + add_custom_target(tools_c + DEPENDS + check_epollexclusive +@@ -382,6 +388,8 @@ add_custom_target(tools_cxx + add_custom_target(tools + DEPENDS tools_c tools_cxx) + ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY ++ + protobuf_generate_grpc_cpp( + src/proto/grpc/channelz/channelz.proto + ) +@@ -1000,6 +1008,7 @@ if(gRPC_BUILD_TESTS) + DEPENDS buildtests_c buildtests_cxx) + endif() + ++if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) + + add_library(address_sorting + third_party/address_sorting/address_sorting.c +@@ -1051,6 +1060,8 @@ if(gRPC_INSTALL) + ) + endif() + ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY ++ + if(gRPC_BUILD_TESTS) + + add_library(end2end_nosec_tests +@@ -1313,6 +1324,8 @@ target_link_libraries(end2end_tests + + endif() + ++if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) ++ + add_library(gpr + src/core/lib/gpr/alloc.cc + src/core/lib/gpr/atm.cc +@@ -2106,6 +2119,8 @@ if(gRPC_INSTALL) + ) + endif() + ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY ++ + if(gRPC_BUILD_CSHARP_EXT) + + add_library(grpc_csharp_ext SHARED +@@ -2288,6 +2303,8 @@ endif() + + endif() + ++if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) ++ + add_library(grpc_unsecure + src/core/ext/filters/census/grpc_context.cc + src/core/ext/filters/client_channel/backend_metric.cc +@@ -2650,6 +2667,8 @@ if(gRPC_INSTALL) + ) + endif() + ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY ++ + if(gRPC_BUILD_TESTS) + + if(gRPC_BUILD_CODEGEN) +@@ -2717,6 +2736,8 @@ endif() + + endif() + ++if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) ++ + add_library(grpc++ + src/cpp/client/channel_cc.cc + src/cpp/client/client_callback.cc +@@ -3134,6 +3155,7 @@ if(gRPC_INSTALL) + ) + endif() + ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY + + if(gRPC_BUILD_CODEGEN) + add_library(grpc++_reflection +@@ -3374,6 +3396,8 @@ target_link_libraries(grpc++_test_util + + endif() + ++if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) ++ + add_library(grpc++_unsecure + src/cpp/client/channel_cc.cc + src/cpp/client/client_callback.cc +@@ -3656,6 +3680,7 @@ if(gRPC_INSTALL) + ) + endif() + ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY + + add_library(grpc_plugin_support + src/compiler/cpp_generator.cc +@@ -3715,7 +3740,7 @@ foreach(_hdr + endforeach() + + +-if(gRPC_INSTALL) ++if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY) + install(TARGETS grpc_plugin_support EXPORT gRPCTargets + RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} + LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} +@@ -3795,6 +3820,8 @@ endif() + + endif() + ++if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) ++ + add_library(upb + third_party/upb/upb/decode_fast.c + third_party/upb/upb/decode.c +@@ -3852,8 +3879,6 @@ if(gRPC_INSTALL) + ) + endif() + +- +- + add_executable(check_epollexclusive + test/build/check_epollexclusive.c + ) +@@ -3958,6 +3981,8 @@ target_link_libraries(gen_percent_encoding_tables + ${_gRPC_ALLTARGETS_LIBRARIES} + ) + ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY ++ + + if(gRPC_BUILD_TESTS) + +@@ -10722,7 +10747,7 @@ target_link_libraries(grpc_cli + + + endif() +-if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN) ++if(gRPC_BUILD_GRPC_CPP_PLUGIN) + + add_executable(grpc_cpp_plugin + src/compiler/cpp_plugin.cc +@@ -10752,7 +10777,7 @@ target_link_libraries(grpc_cpp_plugin + + + +-if(gRPC_INSTALL) ++if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY) + install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets + RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} + LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} +@@ -15420,7 +15445,7 @@ endif() + + + +- ++if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) + + if(gRPC_INSTALL) + install(EXPORT gRPCTargets +@@ -15517,3 +15542,5 @@ generate_pkgconfig( + "-lgrpc++_unsecure -labsl_statusor -labsl_status -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_synchronization -labsl_time -labsl_time_zone -labsl_civil_time -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_malloc_internal -labsl_stacktrace -labsl_debugging_internal -labsl_exponential_biased -labsl_cord -labsl_str_format_internal -labsl_hash -labsl_bad_variant_access -labsl_bad_optional_access -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_int128 -labsl_city -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" + "" + "grpc++_unsecure.pc") ++ ++endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY +-- +2.26.3 + diff --git a/package/grpc/Config.in b/package/grpc/Config.in index d1bf0d078d8..ad3ddbcf191 100644 --- a/package/grpc/Config.in +++ b/package/grpc/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_GRPC depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf, re2 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # protobuf, re2, libabseil-cpp - depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libabseil-cpp depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS @@ -20,10 +19,9 @@ config BR2_PACKAGE_GRPC http://github.com/grpc/grpc -comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.9, host gcc >= 4.9" +comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.9" depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ - || !BR2_HOST_GCC_AT_LEAST_4_9 + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS diff --git a/package/grpc/grpc.hash b/package/grpc/grpc.hash index 52d25fc5ed7..3da1d9a323e 100644 --- a/package/grpc/grpc.hash +++ b/package/grpc/grpc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 27dd2fc5c9809ddcde8eb6fa1fa278a3486566dfc28335fca13eb8df8bd3b958 grpc-1.35.0.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 9647220c699cea4dafa92ec0917c25c7812be51a18143af047e20f3fb05adddc grpc-1.43.0.tar.gz +sha256 277adcc1dcef8359b1efb48e628635f88b40be8fbd64e82fd0169930d135d7a5 LICENSE diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk index 27b28deff34..5d8201f12f9 100644 --- a/package/grpc/grpc.mk +++ b/package/grpc/grpc.mk @@ -4,17 +4,17 @@ # ################################################################################ -GRPC_VERSION = 1.35.0 +GRPC_VERSION = 1.43.0 GRPC_SITE = $(call github,grpc,grpc,v$(GRPC_VERSION)) -GRPC_LICENSE = Apache-2.0 +GRPC_LICENSE = Apache-2.0, BSD-3-Clause (third_party code), MPL-2.0 (etc/roots.pem) GRPC_LICENSE_FILES = LICENSE +GRPC_CPE_ID_VENDOR = grpc GRPC_INSTALL_STAGING = YES # Need to use host grpc_cpp_plugin during cross compilation. GRPC_DEPENDENCIES = c-ares host-grpc libabseil-cpp openssl protobuf re2 zlib -HOST_GRPC_DEPENDENCIES = host-c-ares host-libabseil-cpp host-openssl host-protobuf \ - host-re2 host-zlib +HOST_GRPC_DEPENDENCIES = host-protobuf # gRPC_CARES_PROVIDER=package won't work because it requires c-ares to have # installed a cmake config file, but buildroot uses c-ares' autotools build, @@ -69,14 +69,26 @@ GRPC_CONF_OPTS += \ -DCMAKE_C_FLAGS="$(GRPC_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$(GRPC_CXXFLAGS)" +# For host-grpc, we only need the 'grpc_cpp_plugin' binary, which is needed for +# target grpc compilation. To avoid unnecessary build steps and host +# dependencies, supply enough options to pass the configure checks without +# requiring other host packages, unless those needed by grpc_cpp_plugin. HOST_GRPC_CONF_OPTS = \ - -DgRPC_ABSL_PROVIDER=package \ - -D_gRPC_CARES_LIBRARIES=cares \ - -DgRPC_CARES_PROVIDER=none \ -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_RE2_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package + -DgRPC_ABSL_PROVIDER=none \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_RE2_PROVIDER=none \ + -DgRPC_SSL_PROVIDER=none \ + -DgRPC_ZLIB_PROVIDER=none \ + -DgRPC_BUILD_CODEGEN=OFF \ + -DgRPC_BUILD_CSHARP_EXT=OFF \ + -DgRPC_BUILD_PLUGIN_SUPPORT_ONLY=ON \ + -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/gssdp/gssdp.hash b/package/gssdp/gssdp.hash index f31f21942ae..c9bbd66083f 100644 --- a/package/gssdp/gssdp.hash +++ b/package/gssdp/gssdp.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gssdp/1.2/gssdp-1.2.3.sha256sum: -sha256 a263dcb6730e3b3dc4bbbff80cf3fab4cd364021981d419db6dd5a8e148aa7e8 gssdp-1.2.3.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gssdp/1.4/gssdp-1.4.0.1.sha256sum: +sha256 8676849d57fb822b8728856dbadebf3867f89ee47a0ec47a20045d011f431582 gssdp-1.4.0.1.tar.xz # Hash for license file: -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gssdp/gssdp.mk b/package/gssdp/gssdp.mk index 02b10d961a5..f1fed3713de 100644 --- a/package/gssdp/gssdp.mk +++ b/package/gssdp/gssdp.mk @@ -4,15 +4,15 @@ # ################################################################################ -GSSDP_VERSION_MAJOR = 1.2 -GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).3 +GSSDP_VERSION_MAJOR = 1.4 +GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).0.1 GSSDP_SOURCE = gssdp-$(GSSDP_VERSION).tar.xz GSSDP_SITE = http://ftp.gnome.org/pub/gnome/sources/gssdp/$(GSSDP_VERSION_MAJOR) -GSSDP_LICENSE = LGPL-2.0+ +GSSDP_LICENSE = LGPL-2.1+ GSSDP_LICENSE_FILES = COPYING GSSDP_INSTALL_STAGING = YES GSSDP_DEPENDENCIES = host-pkgconf libglib2 libsoup -GSSDP_CONF_OPTS = -Dexamples=false +GSSDP_CONF_OPTS = -Dexamples=false -Dgtk_doc=false -Dsniffer=false ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) GSSDP_CONF_OPTS += -Dintrospection=true -Dvapi=true @@ -21,11 +21,4 @@ else GSSDP_CONF_OPTS += -Dintrospection=false -Dvapi=false endif -ifeq ($(BR2_PACKAGE_LIBGTK3),y) -GSSDP_DEPENDENCIES += libgtk3 -GSSDP_CONF_OPTS += -Dsniffer=true -else -GSSDP_CONF_OPTS += -Dsniffer=false -endif - $(eval $(meson-package)) diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in index 4a8111333e9..8fe8a343950 100644 --- a/package/gstreamer1/Config.in +++ b/package/gstreamer1/Config.in @@ -2,7 +2,6 @@ source "package/gstreamer1/gstreamer1/Config.in" if BR2_PACKAGE_GSTREAMER1 -source "package/gstreamer1/gstreamer1-mm/Config.in" source "package/gstreamer1/gst1-plugins-base/Config.in" source "package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in" source "package/gstreamer1/gst1-plugins-good/Config.in" @@ -17,5 +16,6 @@ source "package/gstreamer1/gst1-rtsp-server/Config.in" source "package/gstreamer1/gst1-shark/Config.in" source "package/gstreamer1/gst1-vaapi/Config.in" source "package/gstreamer1/gst-omx/Config.in" +source "package/gstreamer1/gstd/Config.in" source "package/gstreamer1/gstreamer1-editing-services/Config.in" endif diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 0615e06a87c..33c20defbc9 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.18.3.tar.xz.sha256sum -sha256 ed0f26504e9a60e15055134410f156e40952336410f2a59bdbbda45e61e8b93f gst-omx-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.20.1.tar.xz.sha256sum +sha256 86b52e30ebd0f59fcb5cf81a163211975f73ef32e5a6782562804646316bcd7c gst-omx-1.20.1.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index bd404529319..462c88765b5 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.18.3 +GST_OMX_VERSION = 1.20.1 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx diff --git a/package/gstreamer1/gst1-devtools/Config.in b/package/gstreamer1/gst1-devtools/Config.in index 55cf25d53ed..3f39beff533 100644 --- a/package/gstreamer1/gst1-devtools/Config.in +++ b/package/gstreamer1/gst1-devtools/Config.in @@ -1,11 +1,10 @@ config BR2_PACKAGE_GST1_DEVTOOLS bool "gst1-devtools" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_GSTREAMER1_CHECK select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_JSON_GLIB - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_PYEXPAT # cairo is autodetected but needs PNG support select BR2_PACKAGE_CAIRO_PNG if BR2_PACKAGE_CAIRO help @@ -14,5 +13,4 @@ config BR2_PACKAGE_GST1_DEVTOOLS https://gstreamer.freedesktop.org comment "gst1-devtools depends on python" - depends on !BR2_PACKAGE_PYTHON depends on !BR2_PACKAGE_PYTHON3 diff --git a/package/gstreamer1/gst1-devtools/gst1-devtools.hash b/package/gstreamer1/gst1-devtools/gst1-devtools.hash index bfed3570f7b..7173dbe2663 100644 --- a/package/gstreamer1/gst1-devtools/gst1-devtools.hash +++ b/package/gstreamer1/gst1-devtools/gst1-devtools.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.18.3.tar.xz.sha256sum -sha256 3025fee3607caf5069154c099533785675916e044ee92c936bbeacdda3750f26 gst-devtools-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.20.1.tar.xz.sha256sum +sha256 81f1c7ef105b8bdb63412638952f6320723b3161c96a80f113b020e2de554b2b gst-devtools-1.20.1.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 validate/COPYING diff --git a/package/gstreamer1/gst1-devtools/gst1-devtools.mk b/package/gstreamer1/gst1-devtools/gst1-devtools.mk index 5e1f0110ee8..8c430800d2e 100644 --- a/package/gstreamer1/gst1-devtools/gst1-devtools.mk +++ b/package/gstreamer1/gst1-devtools/gst1-devtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_DEVTOOLS_VERSION = 1.18.3 +GST1_DEVTOOLS_VERSION = 1.20.1 GST1_DEVTOOLS_SOURCE = gst-devtools-$(GST1_DEVTOOLS_VERSION).tar.xz GST1_DEVTOOLS_SITE = https://gstreamer.freedesktop.org/src/gst-devtools GST1_DEVTOOLS_LICENSE = LGPL-2.1+ @@ -12,16 +12,11 @@ GST1_DEVTOOLS_LICENSE_FILES = validate/COPYING GST1_DEVTOOLS_INSTALL_STAGING = YES GST1_DEVTOOLS_DEPENDENCIES = \ + host-python3 \ + python3 \ gstreamer1 \ gst1-plugins-base \ - json-glib \ - $(if $(BR2_PACKAGE_CAIRO),cairo) - -ifeq ($(BR2_PACKAGE_PYTHON3),y) -GST1_DEVTOOLS_DEPENDENCIES += host-python3 python3 -else -GST1_DEVTOOLS_DEPENDENCIES += host-python python -endif + json-glib ifeq ($(BR2_PACKAGE_GST1_RTSP_SERVER),y) GST1_DEVTOOLS_DEPENDENCIES += gst1-rtsp-server @@ -34,4 +29,12 @@ GST1_DEVTOOLS_CONF_OPTS = \ -Dtests=disabled \ -Ddoc=disabled +# build GstValidateVideo +ifeq ($(BR2_PACKAGE_CAIRO),y) +GST1_DEVTOOLS_CONF_OPTS += -Dcairo=enabled +GST1_DEVTOOLS_DEPENDENCIES += cairo +else +GST1_DEVTOOLS_CONF_OPTS += -Dcairo=disabled +endif + $(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-imx/Config.in b/package/gstreamer1/gst1-imx/Config.in index 7b46233b537..bd1f8d41f26 100644 --- a/package/gstreamer1/gst1-imx/Config.in +++ b/package/gstreamer1/gst1-imx/Config.in @@ -81,18 +81,24 @@ comment "imxvpu needs the VPU imxvpuapi library" config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC bool "imxv4l2videosrc" + depends on BR2_INSTALL_LIBSTDCPP # gst1-plugins-bad select BR2_PACKAGE_GST1_PLUGINS_BAD help Elements for V4L2 capture +comment "imxv4l2videosrc needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP + config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSINK bool "imxv4l2videosink" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 # V4L2_COLORSPACE_DEFAULT + depends on BR2_INSTALL_LIBSTDCPP # gst1-plugins-bad select BR2_PACKAGE_GST1_PLUGINS_BAD help Elements for V4L2 output -comment "imxv4l2videosink needs a toolchain w/ headers >= 4.2" - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 +comment "imxv4l2videosink needs a toolchain w/ headers >= 4.2, C++" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 || \ + !BR2_INSTALL_LIBSTDCPP endif diff --git a/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash b/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash index 32a24dc2a5b..d9f09d29853 100644 --- a/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash +++ b/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash @@ -1,5 +1,5 @@ # locally computed hash -sha256 48ad146a57f3543b8c32985b042558bf1fe67abeac9532105ebde0b441564cba gst1-interpipe-v1.1.3-br1.tar.gz +sha256 b97af0dfa108c5f736a961c388267c7a9c8f915e753985d7e85939091032deed gst1-interpipe-v1.1.8-br1.tar.gz # Hashes for license files: sha256 16d7caa6cabbfd0ca47e064a7b48cb446d013e84ca88c854d6470851752136d5 COPYING diff --git a/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk b/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk index cc4bc6e9486..cec23e7fa78 100644 --- a/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk +++ b/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_INTERPIPE_VERSION = v1.1.3 +GST1_INTERPIPE_VERSION = v1.1.8 GST1_INTERPIPE_SITE = https://github.com/RidgeRun/gst-interpipe GST1_INTERPIPE_SITE_METHOD = git # fetch gst-interpipe/common sub module diff --git a/package/gstreamer1/gst1-libav/0001-gst-libav-fix-build-on-systems-without-C-compiler.patch b/package/gstreamer1/gst1-libav/0001-gst-libav-fix-build-on-systems-without-C-compiler.patch new file mode 100644 index 00000000000..6b275220f8e --- /dev/null +++ b/package/gstreamer1/gst1-libav/0001-gst-libav-fix-build-on-systems-without-C-compiler.patch @@ -0,0 +1,35 @@ +From 1477eb1fad92ac07cd057b3ecdb04edeeef9edba Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 4 Apr 2022 23:32:56 +0200 +Subject: [PATCH] gst-libav: fix build on systems without C++ compiler + +Fix the following build failure on systems without C++ compiler: + +The following exception(s) were encountered: +Running "/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++ --version" gave "[Errno 2] No such file or directory: '/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++'" + +Fixes: + - http://autobuild.buildroot.org/results/8ac0ba5eaaf7571857b4d8cfabf1488d640dc59a + +Part-of: + +[Retrieved (and backported) from: +https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/1477eb1fad92ac07cd057b3ecdb04edeeef9edba] +Signed-off-by: Fabrice Fontaine +--- + subprojects/gst-libav/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index fbfa3049afe..7da94b80d59 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,4 @@ +-project('gst-libav', 'c', 'cpp', ++project('gst-libav', 'c', + version : '1.20.1', + meson_version : '>= 0.60', + default_options : [ 'warning_level=1', +-- +GitLab + diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index dcb99fb632d..3f9c8497295 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.18.3.tar.xz.sha256sum -sha256 ad20546bcd78ac1e7cf194666d73c4f33efeb62647d2b6af22993b540699e91c gst-libav-1.18.3.tar.xz -sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.1.tar.xz.sha256sum +sha256 91a71fb633b75e1bd52e22a457845cb0ba563a2972ba5954ec88448f443a9fc7 gst-libav-1.20.1.tar.xz +sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 6ec4f3cd659..4e99de45f9b 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,10 +4,10 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.18.3 +GST1_LIBAV_VERSION = 1.20.1 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav -GST1_LIBAV_LICENSE = LGPL-2.0+ +GST1_LIBAV_LICENSE = LGPL-2.1+ GST1_LIBAV_LICENSE_FILES = COPYING GST1_LIBAV_DEPENDENCIES = host-pkgconf ffmpeg gstreamer1 gst1-plugins-base GST1_LIBAV_CONF_OPTS = -Ddoc=disabled diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 628a9df42c3..cd5a2c7b11f 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -1,5 +1,6 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD bool "gst1-plugins-bad" + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_GST1_PLUGINS_BASE help A set of plug-ins for GStreamer that may be of poor quality @@ -76,6 +77,12 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2 help Take image snapshots and record movies from camera +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CODECALPHA + bool "codecalpha" + help + Elements for VP8/VP9 alpha support (codecalphademux, + alphacombine, vp8alphadecodebin, vp9alphadecodebin) + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS bool "coloreffects" help @@ -324,17 +331,23 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M comment "plugins with external dependencies" +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AES + bool "aes" + select BR2_PACKAGE_OPENSSL + help + "AES encryption/decryption plugin" + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER bool "assrender" depends on BR2_INSTALL_LIBSTDCPP # libass -> harfbuzz depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libass -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libass -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libass -> harfbuzz select BR2_PACKAGE_LIBASS -comment "assrender plugin needs a toolchain w/ C++, gcc => 4.8" +comment "assrender plugin needs a toolchain w/ C++, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ bool "bluez" @@ -345,6 +358,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils select BR2_PACKAGE_BLUEZ5_UTILS + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO # runtime help Bluetooth audio A2DP/AVDTP sink, AVDTP source plugin @@ -457,17 +471,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS help KMS video sink -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS - bool "libmms" - depends on BR2_USE_WCHAR # libmms -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libmms -> libglib2 - select BR2_PACKAGE_LIBMMS - help - Microsoft Multi Media Server streaming protocol support - -comment "libmms needs a toolchain w/ wchar, threads" - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS bool "dtls" select BR2_PACKAGE_OPENSSL @@ -478,18 +481,21 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTML bool "ttml" depends on BR2_USE_WCHAR # pango -> glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> glib2 + depends on BR2_USE_MMU # pango -> glib2 depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz select BR2_PACKAGE_CAIRO select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_PANGO help Timed Text Markup Language (TTML) subtitle plugin -comment "ttml needs a toolchain w/ wchar, threads, C++" +comment "ttml needs a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_INSTALL_LIBSTDCPP + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC bool "mpeg2enc" @@ -557,20 +563,28 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS help OPUS plugin library +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QROVERLAY + bool "qroverlay" + select BR2_PACKAGE_JSON_GLIB + select BR2_PACKAGE_LIBQRENCODE + help + Elements qroverlay, debugqroverlay (overlay data on top of + video in the form of a QR code) + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG bool "rsvg" depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # librsvg -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # librsvg -> pango -> harfbuzz select BR2_PACKAGE_LIBRSVG help RSVG plugin library -comment "rsvg plugin needs a toolchain w/ C++, gcc >= 4.8" +comment "rsvg plugin needs a toolchain w/ C++, gcc >= 4.9" depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HAS_SYNC_4 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SBC @@ -594,6 +608,27 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP bool "srtp" select BR2_PACKAGE_LIBSRTP +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_UVCH264 + bool "uvch264" + depends on BR2_PACKAGE_HAS_UDEV # libgudev + depends on BR2_TOOLCHAIN_HAS_THREADS # libgudev, libusb + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb + depends on BR2_USE_MMU # libgudev + depends on BR2_USE_WCHAR # libgudev + select BR2_PACKAGE_LIBGUDEV + select BR2_PACKAGE_LIBUSB + help + UVC compliant H.264 camera source plugin + +comment "uvch264 needs udev /dev management" + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_HAS_UDEV + +comment "uvch264 needs a toolchain w/ threads, wchar, gcc >= 4.9" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC bool "voaacenc" select BR2_PACKAGE_VO_AACENC @@ -646,11 +681,17 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WPE default y depends on BR2_PACKAGE_WPEWEBKIT depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + depends on !BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM comment "wpe needs the gst1-plugins-base opengl library and wpewebkit" depends on !BR2_PACKAGE_WPEWEBKIT \ || !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL +comment "wpe is incompatible w/ wpewebkit media-stream support" + depends on BR2_PACKAGE_WPEWEBKIT + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + depends on BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_V4L2CODECS bool "v4l2codecs" depends on BR2_PACKAGE_HAS_UDEV # libgudev @@ -658,6 +699,9 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_V4L2CODECS help Video4Linux Stateless CODECs support +comment "v4l2codecs need udev /dev management" + depends on !BR2_PACKAGE_HAS_UDEV + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265 bool "x265" depends on BR2_INSTALL_LIBSTDCPP @@ -684,3 +728,6 @@ comment "zbar plugin needs a toolchain w/ threads, C++ and headers >= 3.0" || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 endif + +comment "gst1-plugins-bad needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index b6edff7e1a7..2874d955f41 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.18.3.tar.xz.sha256sum -sha256 b7e34b6b86272588fbd8b314dadfa6ceff895198cfb59e2950378e9e31ff22e0 gst-plugins-bad-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.1.tar.xz.sha256sum +sha256 09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848 gst-plugins-bad-1.20.1.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index e8cea5bb34c..343a53a3c5d 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.18.3 +GST1_PLUGINS_BAD_VERSION = 1.20.1 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES @@ -12,6 +12,8 @@ GST1_PLUGINS_BAD_INSTALL_STAGING = YES # GST1_PLUGINS_BAD_LICENSE_FILES if enabled. GST1_PLUGINS_BAD_LICENSE_FILES = COPYING GST1_PLUGINS_BAD_LICENSE = LGPL-2.0+ +GST1_PLUGINS_BAD_CPE_ID_VENDOR = freedesktop +GST1_PLUGINS_BAD_CPE_ID_PRODUCT = gst-plugins-bad GST1_PLUGINS_BAD_CFLAGS = $(TARGET_CFLAGS) -std=c99 -D_GNU_SOURCE GST1_PLUGINS_BAD_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) @@ -32,9 +34,9 @@ GST1_PLUGINS_BAD_CONF_OPTS = \ # Options which require currently unpackaged libraries GST1_PLUGINS_BAD_CONF_OPTS += \ + -Dasio=disabled \ -Davtp=disabled \ -Dopensles=disabled \ - -Duvch264=disabled \ -Dmsdk=disabled \ -Dvoamrwbenc=disabled \ -Dbs2b=disabled \ @@ -45,30 +47,32 @@ GST1_PLUGINS_BAD_CONF_OPTS += \ -Dresindvd=disabled \ -Dfaac=disabled \ -Dflite=disabled \ + -Dgs=disabled \ -Dgsm=disabled \ -Dkate=disabled \ -Dladspa=disabled \ + -Dldac=disabled \ -Dlv2=disabled \ -Dmediafoundation=disabled \ -Dmicrodns=disabled \ -Dlibde265=disabled \ -Dmodplug=disabled \ -Dmplex=disabled \ - -Dofa=disabled \ + -Donnx=disabled \ -Dopenexr=disabled \ -Dopenni2=disabled \ - -Dteletextdec=disabled \ + -Dteletext=disabled \ -Dwildmidi=disabled \ -Dsmoothstreaming=disabled \ -Dsoundtouch=disabled \ -Dgme=disabled \ - -Dvdpau=disabled \ -Dspandsp=disabled \ -Dsvthevcenc=disabled \ -Dtranscode=disabled \ -Dwasapi2=disabled \ -Dzxing=disabled \ -Dmagicleap=disabled \ + -Disac=disabled \ -Diqa=disabled \ -Dopencv=disabled @@ -180,6 +184,12 @@ else GST1_PLUGINS_BAD_CONF_OPTS += -Dcamerabin2=disabled endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CODECALPHA),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dcodecalpha=enabled +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dcodecalpha=disabled +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS),y) GST1_PLUGINS_BAD_CONF_OPTS += -Dcoloreffects=enabled else @@ -497,6 +507,13 @@ endif # Plugins with dependencies +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AES),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Daes=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += openssl +else +GST1_PLUGINS_BAD_CONF_OPTS += -Daes=disabled +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER),y) GST1_PLUGINS_BAD_CONF_OPTS += -Dassrender=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libass @@ -604,13 +621,6 @@ else GST1_PLUGINS_BAD_CONF_OPTS += -Dkms=disabled endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS),y) -GST1_PLUGINS_BAD_CONF_OPTS += -Dlibmms=enabled -GST1_PLUGINS_BAD_DEPENDENCIES += libmms -else -GST1_PLUGINS_BAD_CONF_OPTS += -Dlibmms=disabled -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS),y) GST1_PLUGINS_BAD_CONF_OPTS += -Ddtls=enabled GST1_PLUGINS_BAD_DEPENDENCIES += openssl @@ -677,6 +687,13 @@ else GST1_PLUGINS_BAD_CONF_OPTS += -Dopus=disabled endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QROVERLAY),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dqroverlay=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += json-glib libqrencode +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dqroverlay=disabled +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG),y) GST1_PLUGINS_BAD_CONF_OPTS += -Drsvg=enabled GST1_PLUGINS_BAD_DEPENDENCIES += librsvg @@ -721,6 +738,13 @@ else GST1_PLUGINS_BAD_CONF_OPTS += -Dsrtp=disabled endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_UVCH264),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Duvch264=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += libgudev libusb +else +GST1_PLUGINS_BAD_CONF_OPTS += -Duvch264=disabled +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC),y) GST1_PLUGINS_BAD_CONF_OPTS += -Dvoaacenc=enabled GST1_PLUGINS_BAD_DEPENDENCIES += vo-aacenc @@ -780,6 +804,7 @@ endif # Add GPL license if GPL licensed plugins enabled. ifeq ($(GST1_PLUGINS_BAD_HAS_GPL_LICENSE),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dgpl=enabled GST1_PLUGINS_BAD_LICENSE += , GPL-2.0+ GST1_PLUGINS_BAD_LICENSE_FILES += COPYING endif diff --git a/package/gstreamer1/gst1-plugins-base/0001-gst-libs-gst-video-gstvideoaggregator.c-fix-build-wi.patch b/package/gstreamer1/gst1-plugins-base/0001-gst-libs-gst-video-gstvideoaggregator.c-fix-build-wi.patch deleted file mode 100644 index 87cd6493f50..00000000000 --- a/package/gstreamer1/gst1-plugins-base/0001-gst-libs-gst-video-gstvideoaggregator.c-fix-build-wi.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 012ca1bcd234ee02f576dd58b1f09baba18b89b0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 14 Dec 2020 07:42:55 +0100 -Subject: [PATCH] gst-libs/gst/video/gstvideoaggregator.c: fix build with gcc - 4.8 - -Fix the following build failure with gcc 4.8 which has been added with -https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/d268c193ad39fb970351ed62898be806ebd0a71e: - -../gst-libs/gst/video/gstvideoaggregator.c: In function 'gst_video_aggregator_init': -../gst-libs/gst/video/gstvideoaggregator.c:2762:3: error: 'for' loop initial declarations are only allowed in C99 mode - for (gint i = 0; i < gst_caps_get_size (src_template); i++) { - ^ - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/974] ---- - gst-libs/gst/video/gstvideoaggregator.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c -index 2e3d813be..04dad6563 100644 ---- a/gst-libs/gst/video/gstvideoaggregator.c -+++ b/gst-libs/gst/video/gstvideoaggregator.c -@@ -2786,6 +2786,7 @@ gst_video_aggregator_init (GstVideoAggregator * vagg, - { - GstCaps *src_template; - GstPadTemplate *pad_template; -+ gint i; - - vagg->priv = gst_video_aggregator_get_instance_private (vagg); - vagg->priv->current_caps = NULL; -@@ -2800,7 +2801,7 @@ gst_video_aggregator_init (GstVideoAggregator * vagg, - pad_template = - gst_element_class_get_pad_template (GST_ELEMENT_CLASS (klass), "src"); - src_template = gst_pad_template_get_caps (pad_template); -- for (gint i = 0; i < gst_caps_get_size (src_template); i++) { -+ for (i = 0; i < gst_caps_get_size (src_template); i++) { - const GValue *v = - gst_structure_get_value (gst_caps_get_structure (src_template, i), - "format"); --- -2.29.2 - diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in index ceed55890cc..bd4ee0b9948 100644 --- a/package/gstreamer1/gst1-plugins-base/Config.in +++ b/package/gstreamer1/gst1-plugins-base/Config.in @@ -291,17 +291,21 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO bool "pango font renderer" + depends on BR2_USE_WCHAR # pango -> glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> glib2 + depends on BR2_USE_MMU # pango -> glib2 depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz select BR2_PACKAGE_PANGO help Pango-based text rendering and overlay -comment "pango plugin needs a toolchain w/ C++, gcc >= 4.8" - depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "pango plugin needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA bool "theora (*.ogg video)" diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index 62c449929a9..748d951966b 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.18.3.tar.xz.sha256sum -sha256 dbfa20283848f0347a223dd8523dfb62e09e5220b21b1d157a8b0c8b67ba9f52 gst-plugins-base-1.18.3.tar.xz -sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.1.tar.xz.sha256sum +sha256 96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204 gst-plugins-base-1.20.1.tar.xz +sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 3d41d6f81ec..766af88e963 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,12 +4,14 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.18.3 +GST1_PLUGINS_BASE_VERSION = 1.20.1 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES GST1_PLUGINS_BASE_LICENSE_FILES = COPYING -GST1_PLUGINS_BASE_LICENSE = LGPL-2.0+, LGPL-2.1+ +GST1_PLUGINS_BASE_LICENSE = LGPL-2.1+ + +GST1_PLUGINS_BASE_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 GST1_PLUGINS_BASE_CONF_OPTS = \ -Dexamples=disabled \ @@ -17,6 +19,7 @@ GST1_PLUGINS_BASE_CONF_OPTS = \ -Dgobject-cast-checks=disabled \ -Dglib-asserts=disabled \ -Dglib-checks=disabled \ + -Dqt5=disabled \ -Ddoc=disabled # Options which require currently unpackaged libraries diff --git a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in index b7cac08d7d7..57bafd33e29 100644 --- a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in +++ b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in @@ -1,6 +1,6 @@ -menuconfig BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON +config BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON bool "gst1-plugins-bayer2rgb-neon" - depends on BR2_arm && BR2_ARM_CPU_HAS_NEON # bayer2rgb-neon + depends on BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS # bayer2rgb-neon depends on BR2_INSTALL_LIBSTDCPP # bayer2rgb-neon depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # bayer2rgb-neon @@ -12,9 +12,9 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON decode raw camera bayer to RGB using NEON hardware acceleration. - https://git.phytec.de/gst-bayer2rgb-neon + https://gitlab-ext.sigma-chemnitz.de/ensc/gst-bayer2rgb-neon comment "gst1-plugins-bayer2rgb-neon needs a toolchain w/ C++, dynamic library, gcc >= 4.9" - depends on BR2_arm && BR2_ARM_CPU_HAS_NEON + depends on BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.hash b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.hash index cfb62b062ac..e626d0ba8d8 100644 --- a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.hash +++ b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 307725640203083df7dfb7f9c2b8bb9583accf7b8c06238dd92d6150a9fd8b04 gst-bayer2rgb-neon-0.4.tar.bz2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 76b2135a23f465f789ccb86bd3a8190a1e30f86cdb28abfac4d9a2cdece63fa2 gst1-plugins-bayer2rgb-neon-b630798efcd611879e7cb1c246052e5ba1acc41d-br1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk index 5139463ca15..0d4aeac7f56 100644 --- a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk +++ b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk @@ -4,14 +4,12 @@ # ################################################################################ -GST1_PLUGINS_BAYER2RGB_NEON_VERSION = 0.4 -GST1_PLUGINS_BAYER2RGB_NEON_SOURCE = gst-bayer2rgb-neon-$(GST1_PLUGINS_BAYER2RGB_NEON_VERSION).tar.bz2 -GST1_PLUGINS_BAYER2RGB_NEON_SITE = https://git.phytec.de/gst-bayer2rgb-neon/snapshot +GST1_PLUGINS_BAYER2RGB_NEON_VERSION = b630798efcd611879e7cb1c246052e5ba1acc41d +GST1_PLUGINS_BAYER2RGB_NEON_SITE = https://gitlab-ext.sigma-chemnitz.de/ensc/gst-bayer2rgb-neon.git +GST1_PLUGINS_BAYER2RGB_NEON_SITE_METHOD = git GST1_PLUGINS_BAYER2RGB_NEON_LICENSE = GPL-3.0 GST1_PLUGINS_BAYER2RGB_NEON_LICENSE_FILES = COPYING -GST1_PLUGINS_BAYER2RGB_NEON_INSTALL_STAGING = YES - GST1_PLUGINS_BAYER2RGB_NEON_DEPENDENCIES = \ host-pkgconf \ gstreamer1 \ @@ -20,4 +18,6 @@ GST1_PLUGINS_BAYER2RGB_NEON_DEPENDENCIES = \ GST1_PLUGINS_BAYER2RGB_NEON_AUTORECONF = YES +GST1_PLUGINS_BAYER2RGB_NEON_CONF_OPTS = --with-plugindir=/usr/lib/gstreamer-1.0 + $(eval $(autotools-package)) diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 47f364a5cd0..cccd07dd2d5 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.18.3.tar.xz.sha256sum -sha256 9b3b8e05d4d6073bf929fb33e2d8f74dd81ff21fa5b50c3273c78dfa2ab9c5cb gst-plugins-good-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.1.tar.xz.sha256sum +sha256 3c66876f821d507bcdbebffb08b4f31a322727d6753f65a0f02c905ecb7084aa gst-plugins-good-1.20.1.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index c413a32837d..2b6cf769aa3 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,12 +4,13 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.18.3 +GST1_PLUGINS_GOOD_VERSION = 1.20.1 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING GST1_PLUGINS_GOOD_LICENSE = LGPL-2.1+ +GST1_PLUGINS_GOOD_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 GST1_PLUGINS_GOOD_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) GST1_PLUGINS_GOOD_CONF_OPTS = \ diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index ade4822e476..d022ba31808 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.18.3.tar.xz.sha256sum -sha256 70f7429b25dd2f714eb18e80af61b1363b1f63019e16cd28e086e3a619eaa992 gst-plugins-ugly-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.1.tar.xz.sha256sum +sha256 42035145e29983308d2828207bb4ef933ed0407bb587fb3a569738c6a57fdb19 gst-plugins-ugly-1.20.1.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 7f6016bae6a..be45d183f34 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.18.3 +GST1_PLUGINS_UGLY_VERSION = 1.20.1 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING @@ -14,7 +14,6 @@ GST1_PLUGINS_UGLY_LICENSE = LGPL-2.1+ GST1_PLUGINS_UGLY_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) GST1_PLUGINS_UGLY_CONF_OPTS += \ - -Dexamples=disabled \ -Dtests=disabled \ -Ddoc=disabled @@ -90,6 +89,7 @@ endif # Add GPL license if GPL plugins enabled. ifeq ($(GST1_PLUGINS_UGLY_HAS_GPL_LICENSE),y) +GST1_PLUGINS_UGLY_CONF_OPTS += -Dgpl=enabled GST1_PLUGINS_UGLY_LICENSE += , GPL-2.0 endif diff --git a/package/gstreamer1/gst1-python/Config.in b/package/gstreamer1/gst1-python/Config.in index 2f349840203..d2671266a08 100644 --- a/package/gstreamer1/gst1-python/Config.in +++ b/package/gstreamer1/gst1-python/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_GST1_PYTHON bool "gst1-python" depends on BR2_USE_MMU # libglib2, gobject-introspection depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection -> host-qemu depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection depends on BR2_PACKAGE_PYTHON3 # gobject-introspection @@ -18,8 +19,8 @@ config BR2_PACKAGE_GST1_PYTHON comment "gst1-python needs python3" depends on !BR2_PACKAGE_PYTHON3 -comment "gst1-python needs a glibc toolchain, gcc >= 4.9" +comment "gst1-python needs a glibc toolchain, gcc >= 4.9, host gcc >= 8" depends on BR2_USE_MMU depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_HOST_GCC_AT_LEAST_8 diff --git a/package/gstreamer1/gst1-python/gst1-python.hash b/package/gstreamer1/gst1-python/gst1-python.hash index e64d5c3ab24..fe1e2068b10 100644 --- a/package/gstreamer1/gst1-python/gst1-python.hash +++ b/package/gstreamer1/gst1-python/gst1-python.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.18.3.tar.xz.sha256sum -sha256 4e630735276e08ff4d70337aa5d91fd008e5f1ed3dc0993674cd5820e264259a gst-python-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.1.tar.xz.sha256sum +sha256 ba6cd59faa3db3981d8c6982351c239d823c0b8e80b1acf58d2997b050289422 gst-python-1.20.1.tar.xz sha256 ea3ad127610e5ded2210b3a86a46314f2b3b28e438eccffdae19a4d6fbcdb0c2 COPYING diff --git a/package/gstreamer1/gst1-python/gst1-python.mk b/package/gstreamer1/gst1-python/gst1-python.mk index 9ec50f0851e..3fd8059bee3 100644 --- a/package/gstreamer1/gst1-python/gst1-python.mk +++ b/package/gstreamer1/gst1-python/gst1-python.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PYTHON_VERSION = 1.18.3 +GST1_PYTHON_VERSION = 1.20.1 GST1_PYTHON_SOURCE = gst-python-$(GST1_PYTHON_VERSION).tar.xz GST1_PYTHON_SITE = https://gstreamer.freedesktop.org/src/gst-python GST1_PYTHON_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index e5e185c1ea5..1e66ed72466 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,4 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.18.3.tar.xz.sha256sum -sha256 4f7757293b3d73dc49768b7392791668c4d0c21d41824624ffbd75c7f9ee0168 gst-rtsp-server-1.18.3.tar.xz -sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING -sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING.LIB +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.20.1.tar.xz.sha256sum +sha256 4745bc528ad7de711a41d576ddce7412266e66d05c4cfcc636c9ba4da5521509 gst-rtsp-server-1.20.1.tar.xz +sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING +sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING.LIB diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index 0a26375f35b..978f7b4491e 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,11 +4,13 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.18.3 +GST1_RTSP_SERVER_VERSION = 1.20.1 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server -GST1_RTSP_SERVER_LICENSE = LGPL-2.0+ +GST1_RTSP_SERVER_LICENSE = LGPL-2.1+ GST1_RTSP_SERVER_LICENSE_FILES = COPYING COPYING.LIB +GST1_RTSP_SERVER_CPE_ID_VENDOR = gstreamer_project +GST1_RTSP_SERVER_CPE_ID_PRODUCT = gst-rtsp-server GST1_RTSP_SERVER_INSTALL_STAGING = YES GST1_RTSP_SERVER_DEPENDENCIES = \ host-pkgconf \ diff --git a/package/gstreamer1/gst1-shark/gst1-shark.hash b/package/gstreamer1/gst1-shark/gst1-shark.hash index caa9107bd8a..be26050715f 100644 --- a/package/gstreamer1/gst1-shark/gst1-shark.hash +++ b/package/gstreamer1/gst1-shark/gst1-shark.hash @@ -1,5 +1,5 @@ # locally computed hash -sha256 b141312603af82f600981dd7231e2ecc5a42b3550fadd2450965a0a85f62cbb2 gst1-shark-v0.7.2-br1.tar.gz +sha256 689e60b4e10635a4f3af795b53045c6e90643896fa07b61e164a96158a79bdcf gst1-shark-v0.7.3-br1.tar.gz # Hashes for license files: sha256 6d191b8f1fa03cabced18b8e48fddbf960a19f965bed8491e76ed62238f92f0b COPYING diff --git a/package/gstreamer1/gst1-shark/gst1-shark.mk b/package/gstreamer1/gst1-shark/gst1-shark.mk index ea0c5a29cd2..4e7801e9209 100644 --- a/package/gstreamer1/gst1-shark/gst1-shark.mk +++ b/package/gstreamer1/gst1-shark/gst1-shark.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_SHARK_VERSION = v0.7.2 +GST1_SHARK_VERSION = v0.7.3 GST1_SHARK_SITE = https://github.com/RidgeRun/gst-shark.git GST1_SHARK_SITE_METHOD = git GST1_SHARK_GIT_SUBMODULES = YES diff --git a/package/gstreamer1/gst1-vaapi/Config.in b/package/gstreamer1/gst1-vaapi/Config.in index 91bd4f85ddb..ade8b83a5f7 100644 --- a/package/gstreamer1/gst1-vaapi/Config.in +++ b/package/gstreamer1/gst1-vaapi/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_GST1_VAAPI bool "gst1-vaapi" depends on !BR2_STATIC_LIBS # dlopen(), libva depends on BR2_TOOLCHAIN_HAS_THREADS # libva, libdrm + depends on BR2_INSTALL_LIBSTDCPP # gst1-plugins-bad depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LIBVA select BR2_PACKAGE_LIBDRM @@ -45,6 +46,6 @@ config BR2_PACKAGE_GST1_VAAPI_ENCODERS endif -comment "gst1-vaapi needs udev /dev management and a toolchain w/ threads, dynamic library" +comment "gst1-vaapi needs udev /dev management and a toolchain w/ threads, dynamic library, C++" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ - !BR2_PACKAGE_HAS_UDEV + !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index ae4c194130a..26a1f52ba0e 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.18.3.tar.xz.sha256sum -sha256 ae9877f15757a661d4dfe6a09755a2faa959ab60752f14ca26b7ff10765e1f12 gstreamer-vaapi-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.20.1.tar.xz.sha256sum +sha256 87fbf6c537af9079c99a9aefe951da119e16e5bcc9cc8614f5035f062bf21137 gstreamer-vaapi-1.20.1.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk index 84cfb885832..e0502914b62 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VAAPI_VERSION = 1.18.3 +GST1_VAAPI_VERSION = 1.20.1 GST1_VAAPI_SITE = https://gstreamer.freedesktop.org/src/gstreamer-vaapi GST1_VAAPI_SOURCE = gstreamer-vaapi-$(GST1_VAAPI_VERSION).tar.xz GST1_VAAPI_LICENSE = LGPL-2.1+ @@ -24,7 +24,7 @@ GST1_VAAPI_CONF_OPTS += \ -Dwith_wayland=no \ -Dwith_egl=no \ -Dexamples=disabled \ - -Dtest=disabled \ + -Dtests=disabled \ -Ddoc=disabled ifeq ($(BR2_PACKAGE_GST1_VAAPI_ENCODERS),y) diff --git a/package/gstreamer1/gstd/0001-Fix-gstd_chmod.sh-DESTDIR-path.patch b/package/gstreamer1/gstd/0001-Fix-gstd_chmod.sh-DESTDIR-path.patch new file mode 100644 index 00000000000..79a65ffbdc2 --- /dev/null +++ b/package/gstreamer1/gstd/0001-Fix-gstd_chmod.sh-DESTDIR-path.patch @@ -0,0 +1,27 @@ +From f1c953b9077619a83ab21c24dc343c7e21cd220d Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Tue, 14 Sep 2021 01:46:25 -0600 +Subject: [PATCH] Fix gstd_chmod.sh DESTDIR path. + +This should fix the chmod path when cross compiling. + +Signed-off-by: James Hilliard +[Upstream status: +https://github.com/RidgeRun/gstd-1.x/pull/247] +--- + gstd/gstd_chmod.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gstd/gstd_chmod.sh b/gstd/gstd_chmod.sh +index 8e58bce..fa7fa80 100755 +--- a/gstd/gstd_chmod.sh ++++ b/gstd/gstd_chmod.sh +@@ -3,4 +3,4 @@ + # $1 mode + # $2 file + +-chmod $1 $2 ++chmod $1 ${DESTDIR}/$2 +-- +2.25.1 + diff --git a/package/gstreamer1/gstd/0002-Don-t-require-gstreamer-check-1.0-unless-tests-are-e.patch b/package/gstreamer1/gstd/0002-Don-t-require-gstreamer-check-1.0-unless-tests-are-e.patch new file mode 100644 index 00000000000..495fbfc3fa1 --- /dev/null +++ b/package/gstreamer1/gstd/0002-Don-t-require-gstreamer-check-1.0-unless-tests-are-e.patch @@ -0,0 +1,33 @@ +From 586bb97459e72da30bd9991c228b6b8e9251c68b Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Tue, 14 Sep 2021 01:49:49 -0600 +Subject: [PATCH] Don't require gstreamer-check-1.0 unless tests are enabled. + +Signed-off-by: James Hilliard +[Upstream status: +https://github.com/RidgeRun/gstd-1.x/pull/248] +--- + meson.build | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 1d9ce9d..76990a0 100644 +--- a/meson.build ++++ b/meson.build +@@ -22,10 +22,12 @@ gio_unix_dep = dependency('gio-unix-2.0', version : '>=2.44.1') + json_glib_dep = dependency('json-glib-1.0', version : '>=0.16.2') + libd_dep = dependency('libdaemon', version : '>=0.14') + jansson_dep = dependency('jansson', version : '>=2.7') +-gst_check_dep = dependency('gstreamer-check-1.0',version : '>=1.0.5') + thread_dep = dependency('threads') + libsoup_dep = dependency('libsoup-2.4', version : '>=2.4') + ++gst_check_required = get_option('enable-tests').enabled() ++gst_check_dep = dependency('gstreamer-check-1.0', required : gst_check_required, version : '>=1.0.5') ++ + systemd_required = get_option('enable-systemd').enabled() + systemd_dep = dependency('systemd', required : systemd_required, version : '>=232') + +-- +2.25.1 + diff --git a/package/gstreamer1/gstd/0003-Use-relative-symlink-for-gstd-gst-client-exe.patch b/package/gstreamer1/gstd/0003-Use-relative-symlink-for-gstd-gst-client-exe.patch new file mode 100644 index 00000000000..265ea8d8c32 --- /dev/null +++ b/package/gstreamer1/gstd/0003-Use-relative-symlink-for-gstd-gst-client-exe.patch @@ -0,0 +1,38 @@ +From a670beca8dcc76171dcfe3f10970d76c6f0439be Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Tue, 14 Sep 2021 02:49:10 -0600 +Subject: [PATCH] Use relative symlink for gstd/gst-client exe. + +This should fix the symlink path when cross compiling. + +Signed-off-by: James Hilliard +[Upstream status: +https://github.com/RidgeRun/gstd-1.x/pull/249] +--- + gst_client/gst_client_symbolic_link.sh | 2 +- + gstd/gstd_symbolic_link.sh | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gst_client/gst_client_symbolic_link.sh b/gst_client/gst_client_symbolic_link.sh +index d8d7617..b87dd12 100755 +--- a/gst_client/gst_client_symbolic_link.sh ++++ b/gst_client/gst_client_symbolic_link.sh +@@ -4,4 +4,4 @@ + # $1: target + # $2: link name + rm -f ${DESTDIR}${MESON_INSTALL_PREFIX}/$2 +-ln -s ${DESTDIR}${MESON_INSTALL_PREFIX}/$1 ${DESTDIR}${MESON_INSTALL_PREFIX}/$2 ++ln -s --relative ${DESTDIR}${MESON_INSTALL_PREFIX}/$1 ${DESTDIR}${MESON_INSTALL_PREFIX}/$2 +diff --git a/gstd/gstd_symbolic_link.sh b/gstd/gstd_symbolic_link.sh +index d8d7617..b87dd12 100755 +--- a/gstd/gstd_symbolic_link.sh ++++ b/gstd/gstd_symbolic_link.sh +@@ -4,4 +4,4 @@ + # $1: target + # $2: link name + rm -f ${DESTDIR}${MESON_INSTALL_PREFIX}/$2 +-ln -s ${DESTDIR}${MESON_INSTALL_PREFIX}/$1 ${DESTDIR}${MESON_INSTALL_PREFIX}/$2 ++ln -s --relative ${DESTDIR}${MESON_INSTALL_PREFIX}/$1 ${DESTDIR}${MESON_INSTALL_PREFIX}/$2 +-- +2.25.1 + diff --git a/package/gstreamer1/gstd/0004-Don-t-require-gstd-check-user-xenv.sh-for-systemd-se.patch b/package/gstreamer1/gstd/0004-Don-t-require-gstd-check-user-xenv.sh-for-systemd-se.patch new file mode 100644 index 00000000000..247b5ab32f5 --- /dev/null +++ b/package/gstreamer1/gstd/0004-Don-t-require-gstd-check-user-xenv.sh-for-systemd-se.patch @@ -0,0 +1,34 @@ +From 05ae5237b1bc23399898f9c06463cfe2b5bba499 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Tue, 14 Sep 2021 17:48:03 -0600 +Subject: [PATCH] Don't require gstd-check-user-xenv.sh for systemd service + +The gstd-check-user-xenv.sh script does not appear to be required +for running the gstd service so we shouldn't require it for the +service to start. + +Note that the non-systemd init script already does not require this. + +Signed-off-by: James Hilliard +[Upstream status: +https://github.com/RidgeRun/gstd-1.x/pull/251] +--- + init/gstd.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/init/gstd.service.in b/init/gstd.service.in +index 3d20ecd..9125983 100644 +--- a/init/gstd.service.in ++++ b/init/gstd.service.in +@@ -6,7 +6,7 @@ StartLimitIntervalSec=30 + [Service] + Restart=on-failure + RestartSec=5s +-ExecStartPre=@GSTD_SYSTEMD_DIR@/gstd-check-user-xenv.sh ++ExecStartPre=-@GSTD_SYSTEMD_DIR@/gstd-check-user-xenv.sh + ExecStart=@prefix@/bin/gstd + + [Install] +-- +2.25.1 + diff --git a/package/gstreamer1/gstd/0005-Use-native-meson-python-module-for-python-install.patch b/package/gstreamer1/gstd/0005-Use-native-meson-python-module-for-python-install.patch new file mode 100644 index 00000000000..a27d79a0e94 --- /dev/null +++ b/package/gstreamer1/gstd/0005-Use-native-meson-python-module-for-python-install.patch @@ -0,0 +1,78 @@ +From 1067f6138e947d18fd835e4a39f229ae2293f864 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Tue, 14 Sep 2021 23:37:03 -0600 +Subject: [PATCH] Use native meson python module for python install. + +Signed-off-by: James Hilliard +[upstreeam: https://github.com/RidgeRun/gstd-1.x/pull/253] +Signed-off-by: Yann E. MORIN +--- + libgstc/meson.build | 4 +++- + libgstc/python/meson.build | 26 +++++++++++++++++++++++++- + meson_options.txt | 2 ++ + 3 files changed, 30 insertions(+), 2 deletions(-) + +diff --git a/libgstc/meson.build b/libgstc/meson.build +index e94dcd1..582cbb8 100644 +--- a/libgstc/meson.build ++++ b/libgstc/meson.build +@@ -1,2 +1,4 @@ + subdir('c') +-subdir('python') ++if not get_option('enable-python').disabled() ++ subdir('python') ++endif +diff --git a/libgstc/python/meson.build b/libgstc/python/meson.build +index 057114b..24e3242 100644 +--- a/libgstc/python/meson.build ++++ b/libgstc/python/meson.build +@@ -1 +1,25 @@ +-run_command('pip3', 'install', '.') ++pymod = import('python') ++python = pymod.find_installation( ++ get_option('with-python-version'), ++ required : get_option('enable-python').enabled(), ++ disabler : true ++) ++ ++pythonver = python.language_version() ++if pythonver.version_compare('<3.7') ++ error('Python @0@ is not supported anymore, please port your code to python3.7 or newer.'.format(python.language_version())) ++endif ++ ++pygstc_src_files = [ ++ 'pygstc/__init__.py', ++ 'pygstc/gstc.py', ++ 'pygstc/gstcerror.py', ++ 'pygstc/logger.py', ++ 'pygstc/tcp.py' ++] ++ ++python.install_sources( ++ pygstc_src_files, ++ subdir : 'pygstc', ++ pure : true ++) +diff --git a/meson_options.txt b/meson_options.txt +index f50e540..25292e6 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -4,6 +4,7 @@ option('enable-examples', type : 'feature', value : 'auto', yield : true, descri + option('enable-gtk-doc', type : 'boolean', value : false, description : 'Use gtk-doc to build documentation') + option('enable-systemd', type : 'feature', value : 'auto', description : 'Enable systemd gstd.service install') + option('enable-initd', type : 'feature', value : 'disabled', description : 'Enable init script install') ++option('enable-python', type : 'feature', value : 'auto', description : 'Install the pygstc library') + + # String options + option('with-gstd-runstatedir', type : 'string', value : '${prefix}/var/run/gstd', description : 'Specify the location of the gstd\'s PID file') +@@ -11,6 +12,7 @@ option('with-gstd-logstatedir', type : 'string', value : '${prefix}/var/log/gstd + option('with-gstd-systemddir', type : 'string', value : 'Systemd default systemduserunitdir', description : 'Specify the location of gstd.service file') + option('with-gstd-initddir', type : 'string', value : '${sysconfdir}/init.d', description : 'Specify the location of gstd init script') + option('with-statedir-owner', type : 'string', value : 'root', description : 'Specify the owner of gstd\'s run and log dirs created by the initd script') ++option('with-python-version', type : 'string', value : 'python3', description : 'Specify the python version for pygstc installation') + + # Common options + option('package-name', type : 'string', yield : true, +-- +2.25.1 + diff --git a/package/gstreamer1/gstd/Config.in b/package/gstreamer1/gstd/Config.in new file mode 100644 index 00000000000..f36d25f11f1 --- /dev/null +++ b/package/gstreamer1/gstd/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_GSTD + bool "gstd" + depends on BR2_USE_WCHAR # libglib2 -> gettext, libsoup + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libsoup + depends on BR2_USE_MMU # libdaemon, libglib2 + select BR2_PACKAGE_GSTREAMER1_GST_DEBUG # gst_debug_bin_to_dot_data + select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_JSON_GLIB + select BR2_PACKAGE_LIBDAEMON + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBSOUP + select BR2_PACKAGE_READLINE + help + GStreamer Daemon, also called gstd, is a GStreamer framework + for controlling audio and video streaming using an + InterProcess Communication protocol. + + https://developer.ridgerun.com/wiki/index.php?title=GStreamer_Daemon diff --git a/package/gstreamer1/gstd/gstd.hash b/package/gstreamer1/gstd/gstd.hash new file mode 100644 index 00000000000..6ec84bd58d2 --- /dev/null +++ b/package/gstreamer1/gstd/gstd.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 94c10c798d3618b63cc68cbe053fabd19335a57f982a47b3d66c27c37d325da3 gstd-0.13.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/gstreamer1/gstd/gstd.mk b/package/gstreamer1/gstd/gstd.mk new file mode 100644 index 00000000000..959e277272d --- /dev/null +++ b/package/gstreamer1/gstd/gstd.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# gstd +# +################################################################################ + +GSTD_VERSION = 0.13.0 +GSTD_SITE = $(call github,RidgeRun,gstd-1.x,v$(GSTD_VERSION)) +GSTD_LICENSE_FILES = COPYING +GSTD_LICENSE = GPL-2.0+ + +GSTD_DEPENDENCIES = \ + $(BR2_COREUTILS_HOST_DEPENDENCY) \ + gstreamer1 \ + jansson \ + json-glib \ + libdaemon \ + libglib2 \ + libsoup \ + readline + +GSTD_CONF_OPTS = \ + -Denable-tests=disabled \ + -Denable-examples=disabled \ + -Denable-gtk-doc=false \ + -Denable-python=disabled \ + -Dwith-gstd-runstatedir=/var/run/gstd \ + -Dwith-gstd-logstatedir=/var/log/gstd \ + -Dwith-gstd-systemddir=/usr/lib/systemd/system + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +GSTD_CONF_OPTS += -Denable-systemd=enabled -Denable-initd=disabled +GSTD_DEPENDENCIES += systemd +else +GSTD_CONF_OPTS += -Denable-systemd=disabled -Denable-initd=enabled +endif + +$(eval $(meson-package)) diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash index 1959a73bd06..5d77a9bb722 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash @@ -1,5 +1,5 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gst-editing-services-1.18.3.tar.xz.sha256sum -sha256 8ae139b13b1646a20ba63b0b90877d35813e24cd87642d325e751fc7cb175e20 gst-editing-services-1.18.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gst-editing-services-1.20.1.tar.xz.sha256sum +sha256 6ace1b21b58e0110b7dadd469f79b77e2f47d6207604231492531ae9fd4148df gst-editing-services-1.20.1.tar.xz # Hashes for license files: sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk index 456467a92d5..dbdf2abca06 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_EDITING_SERVICES_VERSION = 1.18.3 +GSTREAMER1_EDITING_SERVICES_VERSION = 1.20.1 GSTREAMER1_EDITING_SERVICES_SOURCE = gst-editing-services-$(GSTREAMER1_EDITING_SERVICES_VERSION).tar.xz GSTREAMER1_EDITING_SERVICES_SITE = https://gstreamer.freedesktop.org/src/gstreamer-editing-services GSTREAMER1_EDITING_SERVICES_LICENSE = LGPL-2.0+ diff --git a/package/gstreamer1/gstreamer1-mm/Config.in b/package/gstreamer1/gstreamer1-mm/Config.in deleted file mode 100644 index 471c083ce71..00000000000 --- a/package/gstreamer1/gstreamer1-mm/Config.in +++ /dev/null @@ -1,29 +0,0 @@ -config BR2_PACKAGE_GSTREAMER1_MM - bool "gstreamer1-mm" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # glibmm - depends on BR2_INSTALL_LIBSTDCPP # glibmm - depends on BR2_USE_WCHAR # glibmm -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - depends on BR2_USE_MMU # glibmm -> libglib2 - select BR2_PACKAGE_GLIBMM - select BR2_PACKAGE_GSTREAMER1_CHECK - select BR2_PACKAGE_GST1_PLUGINS_BASE - help - gstreamermm provides C++ bindings for the GStreamer streaming - multimedia library (http://gstreamer.freedesktop.org). With - gstreamermm it is possible to develop applications that work - with multimedia in C++. - - gstreamermm is developed over glibmm, libsigc++ and libxml++ - and the functionalities they provide. This means that, among - other things, referencing and unreferencing of GObjects is - handled automatically via glibmm's automatic pointer class, - Glib::RefPtr, and libsigc++'s slots are used for callbacks and - signals. - - https://gstreamer.freedesktop.org/bindings/cplusplus.html - -comment "gstreamer1-mm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ - || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash deleted file mode 100644 index 425cf05f39e..00000000000 --- a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash +++ /dev/null @@ -1,6 +0,0 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gstreamermm/1.10/gstreamermm-1.10.0.sha256sum -sha256 be58fe9ef7d7e392568ec85e80a84f4730adbf91fb0355ff7d7c616675ea8d60 gstreamermm-1.10.0.tar.xz - -# Locally computed -sha256 7c78a8d7fc6781d51402d5a6036bedda9cffb0e5d28757e25d54d6eacbb1949f COPYING -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.examples diff --git a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk deleted file mode 100644 index 539c9df1cb3..00000000000 --- a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# gstreamer1-mm -# -################################################################################ - -GSTREAMER1_MM_VERSION_MAJOR = 1.10 -GSTREAMER1_MM_VERSION = $(GSTREAMER1_MM_VERSION_MAJOR).0 -GSTREAMER1_MM_SITE = http://ftp.gnome.org/pub/gnome/sources/gstreamermm/$(GSTREAMER1_MM_VERSION_MAJOR) -GSTREAMER1_MM_SOURCE = gstreamermm-$(GSTREAMER1_MM_VERSION).tar.xz -GSTREAMER1_MM_LICENSE = LGPL-2.1+ (library), GPL-2.0 (examples) -GSTREAMER1_MM_LICENSE_FILES = COPYING COPYING.examples -GSTREAMER1_MM_INSTALL_STAGING = YES -GSTREAMER1_MM_DEPENDENCIES += \ - glibmm \ - gstreamer1 \ - gst1-plugins-base - -GSTREAMER1_MM_CONF_OPTS += \ - --disable-gl \ - --enable-unittests=no \ - --disable-deprecated-api - -$(eval $(autotools-package)) diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index 18fb343ff08..128bb564d4b 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.3.tar.xz.sha256sum -sha256 0c2e09e18f2df69a99b5cb3bd53c597b3cc2e35cf6c98043bb86a66f3d312100 gstreamer-1.18.3.tar.xz -sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.1.tar.xz.sha256sum +sha256 de094a404a3ad8f4977829ea87edf695a4da0b5c8f613ebe54ab414bac89f031 gstreamer-1.20.1.tar.xz +sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index a63a17676ff..995c5b118b1 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,19 +4,20 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.18.3 +GSTREAMER1_VERSION = 1.20.1 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES GSTREAMER1_LICENSE_FILES = COPYING -GSTREAMER1_LICENSE = LGPL-2.0+, LGPL-2.1+ +GSTREAMER1_LICENSE = LGPL-2.1+ +GSTREAMER1_CPE_ID_VENDOR = gstreamer_project +GSTREAMER1_CPE_ID_PRODUCT = gstreamer GSTREAMER1_CONF_OPTS = \ -Dexamples=disabled \ -Dtests=disabled \ -Dbenchmarks=disabled \ -Dtools=$(if $(BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS),enabled,disabled) \ - -Dgtk_doc=disabled \ -Dgobject-cast-checks=disabled \ -Dglib-asserts=disabled \ -Dglib-checks=disabled \ @@ -47,4 +48,14 @@ endif GSTREAMER1_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) +# By default, girdir uses datadir as its prefix of which pkg-config will not +# append the sysroot directory. This results in a build failure with +# gst1-plugins-base. Changing prefix to ${libdir}/../share prevents this error. +define GSTREAMER1_FIX_GIRDIR + $(SED) "s%girdir=.*%girdir=\$${libdir}/../share/gir-1.0%g" \ + $(STAGING_DIR)/usr/lib/pkgconfig/gstreamer-1.0.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/gstreamer-base-1.0.pc +endef +GSTREAMER1_POST_INSTALL_STAGING_HOOKS += GSTREAMER1_FIX_GIRDIR + $(eval $(meson-package)) diff --git a/package/gtest/0001-pkg-config-fix-gtest.pc-gmock.pc-library-names-for-t.patch b/package/gtest/0001-pkg-config-fix-gtest.pc-gmock.pc-library-names-for-t.patch new file mode 100644 index 00000000000..c47e8fc8f85 --- /dev/null +++ b/package/gtest/0001-pkg-config-fix-gtest.pc-gmock.pc-library-names-for-t.patch @@ -0,0 +1,62 @@ +From cf5a3177159ca832470e7f876cab0a1923fa666f Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 22 Oct 2021 20:17:36 +0200 +Subject: [PATCH] pkg-config: fix gtest.pc/gmock.pc library names for the debug + build + +In case CMAKE_BUILD_TYPE is set to Debug the gtest library is +name libgtestd.a but the link command returned from gtest.pc is +'-lgtest' (without the debug d) and so the linking of dependent +packages fails (see [1] for a buildroot failure example). + +Enhance the gtest.pc ang gmock.pc generation to honour the debug 'd'. + +[1] http://lists.busybox.net/pipermail/buildroot/2021-October/626382.html + +[Upstream: https://github.com/google/googletest/pull/3625] +Signed-off-by: Peter Seiderer +--- + googlemock/cmake/gmock.pc.in | 2 +- + googletest/cmake/gtest.pc.in | 2 +- + googletest/cmake/internal_utils.cmake | 3 +++ + 3 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/googlemock/cmake/gmock.pc.in b/googlemock/cmake/gmock.pc.in +index 23c67b5c..0f469857 100644 +--- a/googlemock/cmake/gmock.pc.in ++++ b/googlemock/cmake/gmock.pc.in +@@ -6,5 +6,5 @@ Description: GoogleMock (without main() function) + Version: @PROJECT_VERSION@ + URL: https://github.com/google/googletest + Requires: gtest = @PROJECT_VERSION@ +-Libs: -L${libdir} -lgmock @CMAKE_THREAD_LIBS_INIT@ ++Libs: -L${libdir} -lgmock@DEBUG_POSTFIX@ @CMAKE_THREAD_LIBS_INIT@ + Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@ +diff --git a/googletest/cmake/gtest.pc.in b/googletest/cmake/gtest.pc.in +index b4148fae..225bba81 100644 +--- a/googletest/cmake/gtest.pc.in ++++ b/googletest/cmake/gtest.pc.in +@@ -5,5 +5,5 @@ Name: gtest + Description: GoogleTest (without main() function) + Version: @PROJECT_VERSION@ + URL: https://github.com/google/googletest +-Libs: -L${libdir} -lgtest @CMAKE_THREAD_LIBS_INIT@ ++Libs: -L${libdir} -lgtest@DEBUG_POSTFIX@ @CMAKE_THREAD_LIBS_INIT@ + Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@ +diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake +index 58fc9bfb..fd81b825 100644 +--- a/googletest/cmake/internal_utils.cmake ++++ b/googletest/cmake/internal_utils.cmake +@@ -335,6 +335,9 @@ function(install_project) + # Configure and install pkgconfig files. + foreach(t ${ARGN}) + set(configured_pc "${generated_dir}/${t}.pc") ++ if(CMAKE_BUILD_TYPE MATCHES Debug) ++ set(DEBUG_POSTFIX "d") ++ endif() + configure_file("${PROJECT_SOURCE_DIR}/cmake/${t}.pc.in" + "${configured_pc}" @ONLY) + install(FILES "${configured_pc}" +-- +2.33.1 + diff --git a/package/gtest/Config.in b/package/gtest/Config.in index 3f1f38556f0..35fc9fea7be 100644 --- a/package/gtest/Config.in +++ b/package/gtest/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_GTEST depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_USE_MMU # fork() help Google's framework for writing C++ tests on a variety of @@ -25,6 +26,7 @@ if BR2_PACKAGE_GTEST config BR2_PACKAGE_GTEST_GMOCK bool "gmock" + depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-gtest help Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s specifics in mind, Google C++ Mocking Framework (or @@ -46,9 +48,13 @@ config BR2_PACKAGE_GTEST_GMOCK libraries required to link/run them. The host package installs gmock_gen, a Python script used to generate code mocks. +comment "gmock needs host gcc >= 4.9" + depends on !BR2_HOST_GCC_AT_LEAST_4_9 + endif # BR2_PACKAGE_GTEST -comment "gtest needs a toolchain w/ C++, wchar, threads" +comment "gtest needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_INSTALL_LIBSTDCPP + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/gtest/gtest.hash b/package/gtest/gtest.hash index 082c5977809..d21fea71424 100644 --- a/package/gtest/gtest.hash +++ b/package/gtest/gtest.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb gtest-1.10.0.tar.gz -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 googletest/LICENSE +sha256 b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5 gtest-1.11.0.tar.gz +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 LICENSE diff --git a/package/gtest/gtest.mk b/package/gtest/gtest.mk index f8b2339d7ec..8ec5e9c5355 100644 --- a/package/gtest/gtest.mk +++ b/package/gtest/gtest.mk @@ -4,31 +4,18 @@ # ################################################################################ -GTEST_VERSION = 1.10.0 +GTEST_VERSION = 1.11.0 GTEST_SITE = $(call github,google,googletest,release-$(GTEST_VERSION)) GTEST_INSTALL_STAGING = YES GTEST_INSTALL_TARGET = NO GTEST_LICENSE = BSD-3-Clause -GTEST_LICENSE_FILES = googletest/LICENSE +GTEST_LICENSE_FILES = LICENSE GTEST_CPE_ID_VENDOR = google GTEST_CPE_ID_PRODUCT = google_test -ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) -GTEST_DEPENDENCIES += host-gtest -endif - HOST_GTEST_LICENSE = Apache-2.0 HOST_GTEST_LICENSE_FILES = googlemock/scripts/generator/LICENSE -ifeq ($(BR2_PACKAGE_PYTHON3),y) -HOST_GTEST_PYTHON_VERSION = $(PYTHON3_VERSION_MAJOR) -HOST_GTEST_DEPENDENCIES += host-python3 -else -HOST_GTEST_PYTHON_VERSION = $(PYTHON_VERSION_MAJOR) -HOST_GTEST_DEPENDENCIES += host-python -endif - -HOST_GTEST_GMOCK_PYTHONPATH = \ - $(HOST_DIR)/lib/python$(HOST_GTEST_PYTHON_VERSION)/site-packages +HOST_GTEST_DEPENDENCIES = host-python3 # While it is possible to build gtest as shared library, using this gtest shared # library requires to set some special configure option in the project using @@ -46,58 +33,21 @@ ifeq ($(BR2_STATIC_LIBS),) GTEST_CONF_OPTS += -DCMAKE_POSITION_INDEPENDENT_CODE=ON endif -GTEST_CONF_OPTS += -DBUILD_GTEST=ON - -# Generate the gtest-config script manually, since the CMake build system is -# not doing it. -define GTEST_INSTALL_GTEST_CONFIG - sed 's%@PACKAGE_TARNAME@%gtest%;\ - s%@PACKAGE_VERSION@%$(GTEST_VERSION)%;\ - s%@prefix@%$(STAGING_DIR)/usr%;\ - s%@exec_prefix@%$(STAGING_DIR)/usr%;\ - s%@libdir@%$(STAGING_DIR)/usr/lib%;\ - s%@includedir@%$(STAGING_DIR)/usr/include%;\ - s%@bindir@%$(STAGING_DIR)/usr/bin%;\ - s%@PTHREAD_CFLAGS@%%;\ - s%@PTHREAD_LIBS@%-lpthread%;' \ - $(@D)/googletest/scripts/gtest-config.in \ - > $(STAGING_DIR)/usr/bin/gtest-config - chmod +x $(STAGING_DIR)/usr/bin/gtest-config -endef -GTEST_POST_INSTALL_STAGING_HOOKS = GTEST_INSTALL_GTEST_CONFIG - ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) +GTEST_DEPENDENCIES += host-gtest GTEST_CONF_OPTS += -DBUILD_GMOCK=ON - -# Generate the gmock-config script manually, since the CMake build system is -# not doing it. -define GTEST_INSTALL_GMOCK_CONFIG - sed 's%@PACKAGE_TARNAME@%gmock%;\ - s%@PACKAGE_VERSION@%$(GTEST_VERSION)%;\ - s%@prefix@%$(STAGING_DIR)/usr%;\ - s%@exec_prefix@%$(STAGING_DIR)/usr%;\ - s%@libdir@%$(STAGING_DIR)/usr/lib%;\ - s%@includedir@%$(STAGING_DIR)/usr/include%;\ - s%@bindir@%$(STAGING_DIR)/usr/bin%;\ - s%@PTHREAD_CFLAGS@%%;\ - s%@PTHREAD_LIBS@%-lpthread%;' \ - $(@D)/googlemock/scripts/gmock-config.in \ - > $(STAGING_DIR)/usr/bin/gmock-config - chmod +x $(STAGING_DIR)/usr/bin/gmock-config -endef -GTEST_POST_INSTALL_STAGING_HOOKS += GTEST_INSTALL_GMOCK_CONFIG else GTEST_CONF_OPTS += -DBUILD_GMOCK=OFF endif -define HOST_GTEST_INSTALL_CMDS +define HOST_GTEST_POST_INSTALL_PYTHON $(INSTALL) -D -m 0755 $(@D)/googlemock/scripts/generator/gmock_gen.py \ $(HOST_DIR)/bin/gmock_gen cp -rp $(@D)/googlemock/scripts/generator/cpp \ - $(HOST_GTEST_GMOCK_PYTHONPATH) + $(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages endef +HOST_GTEST_POST_INSTALL_HOOKS += HOST_GTEST_POST_INSTALL_PYTHON + $(eval $(cmake-package)) -# The host package does not build anything, just installs gmock_gen stuff, so -# it does not need to be a host-cmake-package. -$(eval $(host-generic-package)) +$(eval $(host-cmake-package)) diff --git a/package/gtkmm3/Config.in b/package/gtkmm3/Config.in index 8762c7208d0..3c1c6f36e85 100644 --- a/package/gtkmm3/Config.in +++ b/package/gtkmm3/Config.in @@ -1,7 +1,7 @@ -comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 7" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \ || !BR2_TOOLCHAIN_HAS_THREADS @@ -14,7 +14,7 @@ config BR2_PACKAGE_GTKMM3 depends on !BR2_nios2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pangomm, libgtk3 -> pango -> harfbuzz depends on BR2_INSTALL_LIBSTDCPP # glibmm, libpangomm -> glibmm/pango - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/libgtk3 -> libglib2 depends on BR2_USE_MMU # *mm/libgtk3 -> libglib2 depends on BR2_USE_WCHAR # *mm/libgtk3 -> libglib2 diff --git a/package/guile/0002-calculate-csqrt_manually.patch b/package/guile/0001-calculate-csqrt_manually.patch similarity index 100% rename from package/guile/0002-calculate-csqrt_manually.patch rename to package/guile/0001-calculate-csqrt_manually.patch diff --git a/package/guile/0001-fix_arm_endianness.patch b/package/guile/0001-fix_arm_endianness.patch deleted file mode 100644 index 67c0b606ee7..00000000000 --- a/package/guile/0001-fix_arm_endianness.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fix support for ARM endianness, otherwise it gives the error -"unknown CPU endianness" - -Signed-off-by: Pedro Aguilar - -diff -Nau guile-2.0.11.orig/module/system/base/target.scm guile-2.0.11/module/system/base/target.scm ---- guile-2.0.11.orig/module/system/base/target.scm 2013-02-28 09:42:45.000000000 +0100 -+++ guile-2.0.11/module/system/base/target.scm 2014-11-03 23:05:01.789338997 +0100 -@@ -70,7 +70,15 @@ - ((member cpu '("sparc" "sparc64" "powerpc" "powerpc64" "spu" - "mips" "mips64")) - (endianness big)) -- ((string-match "^arm.*el" cpu) -+ ((string-match "^arm.*el" cpu) -+ (endianness little)) -+ ((string-match "^arm.*eb" cpu) -+ (endianness big)) -+ ((string-prefix? "arm" cpu) ;ARMs are LE by default -+ (endianness little)) -+ ((string-match "^aarch64.*be" cpu) -+ (endianness big)) -+ ((string=? "aarch64" cpu) - (endianness little)) - (else - (error "unknown CPU endianness" cpu))))) diff --git a/package/guile/0003-Makefile.am-fix-build-without-makeinfo.patch b/package/guile/0002-Makefile.am-fix-build-without-makeinfo.patch similarity index 100% rename from package/guile/0003-Makefile.am-fix-build-without-makeinfo.patch rename to package/guile/0002-Makefile.am-fix-build-without-makeinfo.patch diff --git a/package/guile/0003-module-system-base-target.scm-support-riscv32.patch b/package/guile/0003-module-system-base-target.scm-support-riscv32.patch new file mode 100644 index 00000000000..a988d2d9959 --- /dev/null +++ b/package/guile/0003-module-system-base-target.scm-support-riscv32.patch @@ -0,0 +1,33 @@ +From 6142350d7c0562b0525462abdd41309ae0faa2eb Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 6 Aug 2021 19:49:37 +0200 +Subject: [PATCH] module/system/base/target.scm: support riscv32 + +Fix the following build failure on riscv32: + +system/base/target.scm:132:16: In procedure triplet-pointer-size: +unknown CPU word size "riscv32" + +Fixes: + - http://autobuild.buildroot.org/results/6705630c1484239ec8b73d57ebc2e2570fbfc8f8 + +Signed-off-by: Fabrice Fontaine +--- + module/system/base/target.scm | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/module/system/base/target.scm b/module/system/base/target.scm +index 2088cd866..dba46664d 100644 +--- a/module/system/base/target.scm ++++ b/module/system/base/target.scm +@@ -116,6 +116,7 @@ + + ((string-match "^x86_64-.*-gnux32" triplet) 4) ; x32 + ++ ((string-match "32$" cpu) 4) + ((string-match "64$" cpu) 8) + ((string-match "64_?[lbe][lbe]$" cpu) 8) + ((member cpu '("sparc" "powerpc" "mips" "mipsel" "nios2" "m68k" "sh3" "sh4")) 4) +-- +2.30.2 + diff --git a/package/guile/0004-Update-gnulib-to-8f4538a53d64054ae2fc8b86c0f87c418c6176e6.patch b/package/guile/0004-Update-gnulib-to-8f4538a53d64054ae2fc8b86c0f87c418c6176e6.patch new file mode 100644 index 00000000000..f471dbc5c03 --- /dev/null +++ b/package/guile/0004-Update-gnulib-to-8f4538a53d64054ae2fc8b86c0f87c418c6176e6.patch @@ -0,0 +1,13930 @@ +From b4a80f4239b19fea4d2cc3e9d197f24b809f0624 Mon Sep 17 00:00:00 2001 +From: Daniel Llorens +Date: Mon, 16 Aug 2021 13:23:27 +0200 +Subject: Update gnulib to 8f4538a53d64054ae2fc8b86c0f87c418c6176e6 + +Includes gnulib:0c907f7da13232908f05c415b8cec56024071906 to fix #49930 +https://lists.gnu.org/archive/html/bug-guile/2021-08/msg00003.html. + +[Retrieved from: +https://git.savannah.gnu.org/cgit/guile.git/commit/?id=b4a80f4239b19fea4d2cc3e9d197f24b809f0624] +Signed-off-by: Fabrice Fontaine +--- + build-aux/announce-gen | 49 +- + build-aux/gendocs.sh | 6 +- + build-aux/git-version-gen | 8 +- + build-aux/gnupload | 17 +- + build-aux/useless-if-before-free | 18 +- + lib/Makefile.am | 986 ++++++++++++++++++++------------------- + lib/_Noreturn.h | 2 +- + lib/accept.c | 10 +- + lib/accept4.c | 14 +- + lib/alignof.h | 12 +- + lib/alloca.c | 4 +- + lib/alloca.in.h | 20 +- + lib/arpa_inet.in.h | 12 +- + lib/asnprintf.c | 14 +- + lib/assure.h | 10 +- + lib/attribute.h | 16 +- + lib/basename-lgpl.c | 10 +- + lib/basename-lgpl.h | 26 +- + lib/binary-io.c | 10 +- + lib/binary-io.h | 10 +- + lib/bind.c | 10 +- + lib/btowc.c | 10 +- + lib/byteswap.in.h | 10 +- + lib/c-ctype.c | 18 + + lib/c-ctype.h | 24 +- + lib/c-strcase.h | 12 +- + lib/c-strcasecmp.c | 12 +- + lib/c-strcaseeq.h | 14 +- + lib/c-strncasecmp.c | 12 +- + lib/canonicalize-lgpl.c | 3 +- + lib/cdefs.h | 43 +- + lib/ceil.c | 10 +- + lib/cloexec.c | 14 +- + lib/cloexec.h | 14 +- + lib/close.c | 10 +- + lib/connect.c | 10 +- + lib/copysign.c | 10 +- + lib/dirent.in.h | 111 +++-- + lib/dirfd.c | 10 +- + lib/dirname-lgpl.c | 10 +- + lib/dirname.h | 39 +- + lib/dup2.c | 10 +- + lib/duplocale.c | 10 +- + lib/dynarray.h | 20 +- + lib/errno.in.h | 12 +- + lib/fcntl.c | 10 +- + lib/fcntl.in.h | 10 +- + lib/fd-hook.c | 14 +- + lib/fd-hook.h | 14 +- + lib/float+.h | 12 +- + lib/float.c | 10 +- + lib/float.in.h | 10 +- + lib/floor.c | 10 +- + lib/free.c | 10 +- + lib/frexp.c | 10 +- + lib/fstat.c | 10 +- + lib/fsync.c | 14 +- + lib/full-read.c | 10 +- + lib/full-read.h | 10 +- + lib/full-write.c | 10 +- + lib/full-write.h | 10 +- + lib/gai_strerror.c | 12 +- + lib/getaddrinfo.c | 12 +- + lib/getdtablesize.c | 10 +- + lib/getlogin.c | 10 +- + lib/getpeername.c | 10 +- + lib/getrandom.c | 16 +- + lib/getsockname.c | 10 +- + lib/getsockopt.c | 10 +- + lib/gettext.h | 14 +- + lib/hard-locale.c | 10 +- + lib/hard-locale.h | 10 +- + lib/iconv.c | 14 +- + lib/iconv.in.h | 12 +- + lib/iconv_close.c | 14 +- + lib/iconv_open-aix.gperf | 14 +- + lib/iconv_open-hpux.gperf | 14 +- + lib/iconv_open-irix.gperf | 14 +- + lib/iconv_open-osf.gperf | 14 +- + lib/iconv_open-solaris.gperf | 14 +- + lib/iconv_open-zos.gperf | 14 +- + lib/iconv_open.c | 14 +- + lib/iconveh.h | 10 +- + lib/inet_ntop.c | 12 +- + lib/inet_pton.c | 10 +- + lib/inttypes.in.h | 10 +- + lib/isfinite.c | 14 +- + lib/isinf.c | 14 +- + lib/isnan.c | 10 +- + lib/isnand-nolibm.h | 10 +- + lib/isnand.c | 10 +- + lib/isnanf-nolibm.h | 10 +- + lib/isnanf.c | 10 +- + lib/isnanl-nolibm.h | 10 +- + lib/isnanl.c | 10 +- + lib/itold.c | 10 +- + lib/langinfo.in.h | 12 +- + lib/lc-charset-dispatch.c | 10 +- + lib/lc-charset-dispatch.h | 10 +- + lib/libc-config.h | 20 +- + lib/libunistring.valgrind | 22 +- + lib/limits.in.h | 28 +- + lib/link.c | 12 +- + lib/listen.c | 10 +- + lib/localcharset.c | 14 +- + lib/localcharset.h | 14 +- + lib/locale.in.h | 10 +- + lib/localeconv.c | 10 +- + lib/log.c | 10 +- + lib/log1p.c | 10 +- + lib/lstat.c | 10 +- + lib/malloc.c | 47 +- + lib/malloc/dynarray_at_failure.c | 3 +- + lib/malloca.c | 36 +- + lib/malloca.h | 36 +- + lib/math.c | 18 + + lib/math.in.h | 10 +- + lib/mbrtowc-impl-utf8.h | 10 +- + lib/mbrtowc-impl.h | 10 +- + lib/mbrtowc.c | 10 +- + lib/mbsinit.c | 10 +- + lib/mbtowc-impl.h | 10 +- + lib/mbtowc-lock.c | 10 +- + lib/mbtowc-lock.h | 10 +- + lib/mbtowc.c | 10 +- + lib/memchr.c | 24 +- + lib/memchr.valgrind | 10 +- + lib/mempcpy.c | 12 +- + lib/minmax.h | 12 +- + lib/mkdir.c | 10 +- + lib/mkostemp.c | 10 +- + lib/msvc-inval.c | 14 +- + lib/msvc-inval.h | 14 +- + lib/msvc-nothrow.c | 14 +- + lib/msvc-nothrow.h | 14 +- + lib/netdb.in.h | 12 +- + lib/netinet_in.in.h | 12 +- + lib/nl_langinfo-lock.c | 10 +- + lib/nl_langinfo.c | 10 +- + lib/nproc.c | 12 +- + lib/nproc.h | 12 +- + lib/nstrftime.c | 19 +- + lib/open.c | 10 +- + lib/pathmax.h | 12 +- + lib/pipe.c | 14 +- + lib/pipe2.c | 14 +- + lib/poll.c | 14 +- + lib/poll.in.h | 14 +- + lib/printf-args.c | 14 +- + lib/printf-args.h | 14 +- + lib/printf-parse.c | 25 +- + lib/printf-parse.h | 14 +- + lib/putenv.c | 10 +- + lib/raise.c | 10 +- + lib/rawmemchr.c | 10 +- + lib/rawmemchr.valgrind | 10 +- + lib/read.c | 10 +- + lib/readlink.c | 10 +- + lib/realloc.c | 68 +-- + lib/recv.c | 10 +- + lib/recvfrom.c | 10 +- + lib/regex_internal.c | 9 +- + lib/regexec.c | 12 +- + lib/rename.c | 10 +- + lib/rmdir.c | 10 +- + lib/round.c | 14 +- + lib/safe-read.c | 10 +- + lib/safe-read.h | 10 +- + lib/safe-write.c | 10 +- + lib/safe-write.h | 10 +- + lib/same-inode.h | 10 +- + lib/scratch_buffer.h | 20 +- + lib/select.c | 23 +- + lib/send.c | 10 +- + lib/sendto.c | 10 +- + lib/setenv.c | 10 +- + lib/setlocale-lock.c | 10 +- + lib/setlocale_null.c | 10 +- + lib/setlocale_null.h | 10 +- + lib/setsockopt.c | 10 +- + lib/shutdown.c | 10 +- + lib/signal.in.h | 10 +- + lib/signbitd.c | 10 +- + lib/signbitf.c | 10 +- + lib/signbitl.c | 10 +- + lib/size_max.h | 12 +- + lib/snprintf.c | 14 +- + lib/socket.c | 10 +- + lib/sockets.c | 10 +- + lib/sockets.h | 10 +- + lib/stat-time.c | 18 + + lib/stat-time.h | 10 +- + lib/stat-w32.c | 10 +- + lib/stat-w32.h | 10 +- + lib/stat.c | 10 +- + lib/stdalign.in.h | 12 +- + lib/stdbool.in.h | 12 +- + lib/stddef.in.h | 12 +- + lib/stdint.in.h | 16 +- + lib/stdio.in.h | 126 +++-- + lib/stdlib.in.h | 185 ++++++-- + lib/strdup.c | 14 +- + lib/streq.h | 14 +- + lib/strftime.h | 10 +- + lib/striconveh.c | 10 +- + lib/striconveh.h | 18 +- + lib/string.in.h | 68 ++- + lib/stripslash.c | 10 +- + lib/sys-limits.h | 12 +- + lib/sys_file.in.h | 12 +- + lib/sys_random.in.h | 12 +- + lib/sys_select.in.h | 12 +- + lib/sys_socket.c | 18 + + lib/sys_socket.in.h | 12 +- + lib/sys_stat.in.h | 12 +- + lib/sys_time.in.h | 12 +- + lib/sys_times.in.h | 12 +- + lib/sys_types.in.h | 12 +- + lib/sys_uio.in.h | 12 +- + lib/tempname.h | 10 +- + lib/time-internal.h | 14 +- + lib/time.in.h | 12 +- + lib/time_r.c | 14 +- + lib/time_rz.c | 14 +- + lib/times.c | 12 +- + lib/trunc.c | 10 +- + lib/tzset.c | 12 +- + lib/unistd.c | 18 + + lib/unistd.in.h | 25 +- + lib/unsetenv.c | 10 +- + lib/vasnprintf.c | 50 +- + lib/vasnprintf.h | 14 +- + lib/verify.h | 14 +- + lib/vsnprintf.c | 14 +- + lib/w32sock.h | 10 +- + lib/wchar.in.h | 63 ++- + lib/wcrtomb.c | 10 +- + lib/wctype-h.c | 19 + + lib/wctype.in.h | 22 +- + lib/windows-initguard.h | 12 +- + lib/write.c | 10 +- + lib/xalloc-oversized.h | 47 +- + lib/xsize.c | 18 + + lib/xsize.h | 12 +- + m4/arpa_inet_h.m4 | 31 +- + m4/dirent_h.m4 | 45 +- + m4/environ.m4 | 5 +- + m4/fcntl_h.m4 | 39 +- + m4/flock.m4 | 4 +- + m4/fstat.m4 | 4 +- + m4/getaddrinfo.m4 | 10 +- + m4/gnulib-common.m4 | 140 +++++- + m4/gnulib-comp.m4 | 140 ++++-- + m4/hostent.m4 | 4 +- + m4/iconv_h.m4 | 27 +- + m4/inttypes.m4 | 31 +- + m4/langinfo_h.m4 | 25 +- + m4/largefile.m4 | 28 +- + m4/limits-h.m4 | 3 +- + m4/locale_h.m4 | 37 +- + m4/malloc.m4 | 152 ++++-- + m4/math_h.m4 | 227 ++++----- + m4/memchr.m4 | 4 +- + m4/mempcpy.m4 | 4 +- + m4/mktime.m4 | 4 +- + m4/netdb_h.m4 | 25 +- + m4/poll_h.m4 | 29 +- + m4/printf.m4 | 5 +- + m4/rawmemchr.m4 | 4 +- + m4/realloc.m4 | 47 +- + m4/regex.m4 | 44 +- + m4/select.m4 | 4 +- + m4/servent.m4 | 4 +- + m4/signal_h.m4 | 33 +- + m4/sockpfaf.m4 | 6 +- + m4/stat.m4 | 4 +- + m4/stddef_h.m4 | 23 +- + m4/stdint.m4 | 6 +- + m4/stdio_h.m4 | 168 ++++--- + m4/stdlib_h.m4 | 116 +++-- + m4/strdup.m4 | 6 +- + m4/string_h.m4 | 124 ++--- + m4/sys_file_h.m4 | 29 +- + m4/sys_random_h.m4 | 25 +- + m4/sys_select_h.m4 | 29 +- + m4/sys_socket_h.m4 | 53 ++- + m4/sys_stat_h.m4 | 65 ++- + m4/sys_time_h.m4 | 34 +- + m4/sys_times_h.m4 | 25 +- + m4/sys_types_h.m4 | 16 +- + m4/sys_uio_h.m4 | 23 +- + m4/threadlib.m4 | 64 ++- + m4/time_h.m4 | 62 +-- + m4/time_r.m4 | 2 +- + m4/time_rz.m4 | 2 +- + m4/timegm.m4 | 4 +- + m4/tzset.m4 | 4 +- + m4/unistd_h.m4 | 194 ++++---- + m4/visibility.m4 | 6 +- + m4/wchar_h.m4 | 109 +++-- + m4/wctype_h.m4 | 39 +- + m4/wint_t.m4 | 10 +- + m4/year2038.m4 | 124 +++++ + maint.mk | 3 +- + 304 files changed, 4266 insertions(+), 3005 deletions(-) + create mode 100644 m4/year2038.m4 + +diff --git a/build-aux/announce-gen b/build-aux/announce-gen +index 84d2d63..f3b5461 100755 +--- a/build-aux/announce-gen ++++ b/build-aux/announce-gen +@@ -35,12 +35,14 @@ + eval 'exec perl -wSx "$0" "$@"' + if 0; + +-my $VERSION = '2020-05-10 16:13'; # UTC ++my $VERSION = '2021-08-04 09:17'; # UTC + # The definition above must lie within the first 8 lines in order + # for the Emacs time-stamp write hook (at end) to update it. + # If you change this file with Emacs, please let the write hook + # do its job. Otherwise, update this string manually. + ++my $copyright_year = '2021'; ++ + use strict; + use Getopt::Long; + use POSIX qw(strftime); +@@ -49,12 +51,6 @@ use POSIX qw(strftime); + + my %valid_release_types = map {$_ => 1} qw (alpha beta stable); + my @archive_suffixes = qw (tar.gz tar.bz2 tar.lz tar.lzma tar.xz); +-my %digest_classes = +- ( +- 'md5' => (eval { require Digest::MD5; } and 'Digest::MD5'), +- 'sha1' => ((eval { require Digest::SHA; } and 'Digest::SHA') +- or (eval { require Digest::SHA1; } and 'Digest::SHA1')) +- ); + my $srcdir = '.'; + + sub usage ($) +@@ -94,7 +90,7 @@ The following are optional: + VERSION is the result of running git describe + in the gnulib source directory. + required if gnulib is in TOOL_LIST. +- --no-print-checksums do not emit MD5 or SHA1 checksums ++ --no-print-checksums do not emit SHA1 or SHA256 checksums + --archive-suffix=SUF add SUF to the list of archive suffixes + --mail-headers=HEADERS a space-separated list of mail headers, e.g., + To: x\@example.com Cc: y-announce\@example.com,... +@@ -161,7 +157,7 @@ sub print_locations ($\@\%@) + + =item C. ++Print the SHA1 and SHA256 signature section for each C<@file>. + + =cut + +@@ -169,23 +165,18 @@ sub print_checksums (@) + { + my (@file) = @_; + +- print "Here are the MD5 and SHA1 checksums:\n"; ++ print "Here are the SHA1 and SHA256 checksums:\n"; + print "\n"; + +- foreach my $meth (qw (md5 sha1)) ++ use Digest::file qw(digest_file_hex digest_file_base64); ++ ++ foreach my $f (@file) + { +- my $class = $digest_classes{$meth} or next; +- foreach my $f (@file) +- { +- open IN, '<', $f +- or die "$ME: $f: cannot open for reading: $!\n"; +- binmode IN; +- my $dig = $class->new->addfile(*IN)->hexdigest; +- close IN; +- print "$dig $f\n"; +- } ++ print digest_file_hex($f, "SHA-1"), " $f\n"; ++ print digest_file_base64($f, "SHA-256"), " $f\n"; + } +- print "\n"; ++ print "\nThe SHA256 checksum is base64 encoded, instead of the\n"; ++ print "hexadecimal encoding that most checksum tools default to.\n\n"; + } + + =item C \@archive_suffixes, + + help => sub { usage 0 }, +- version => sub { print "$ME version $VERSION\n"; exit }, ++ version => ++ sub ++ { ++ print "$ME version $VERSION\n"; ++ print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; ++ print "License GPLv3+: GNU GPL version 3 or later .\n" ++ . "This is free software: you are free to change and redistribute it.\n" ++ . "There is NO WARRANTY, to the extent permitted by law.\n"; ++ print "\n"; ++ my $author = "Jim Meyering"; ++ print "Written by $author.\n"; ++ exit ++ }, + ) or usage 1; + + my $fail = 0; +diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh +index 1872de9..1241ee3 100755 +--- a/build-aux/gendocs.sh ++++ b/build-aux/gendocs.sh +@@ -2,7 +2,7 @@ + # gendocs.sh -- generate a GNU manual in many formats. This script is + # mentioned in maintain.texi. See the help message below for usage details. + +-scriptversion=2021-01-01.00 ++scriptversion=2021-07-19.18 + + # Copyright 2003-2021 Free Software Foundation, Inc. + # +@@ -58,7 +58,7 @@ EMAIL=webmasters@gnu.org # please override with --email + commonarg= # passed to all makeinfo/texi2html invcations. + dirargs= # passed to all tools (-I dir). + dirs= # -I directories. +-htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" ++htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" + default_htmlarg=true + infoarg=--no-split + generate_ascii=true +@@ -202,7 +202,7 @@ base=$PACKAGE + + if $default_htmlarg && test -n "$use_texi2html"; then + # The legacy texi2html doesn't support TOP_NODE_UP_URL +- htmlarg="--css-ref=/software/gnulib/manual.css" ++ htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css" + fi + + if test -n "$srcfile"; then +diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen +index be0fc20..5e42afb 100755 +--- a/build-aux/git-version-gen ++++ b/build-aux/git-version-gen +@@ -75,10 +75,10 @@ me=$0 + year=`expr "$scriptversion" : '\([^-]*\)'` + version="git-version-gen $scriptversion + +-Copyright $year Free Software Foundation, Inc. +-There is NO warranty. You may redistribute this software +-under the terms of the GNU General Public License. +-For more information about these matters, see the files named COPYING." ++Copyright (C) ${year} Free Software Foundation, Inc. ++License GPLv3+: GNU GPL version 3 or later . ++This is free software: you are free to change and redistribute it. ++There is NO WARRANTY, to the extent permitted by law." + + usage="\ + Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT] +diff --git a/build-aux/gnupload b/build-aux/gnupload +index 434741d..e7822ae 100755 +--- a/build-aux/gnupload ++++ b/build-aux/gnupload +@@ -1,13 +1,13 @@ + #!/bin/sh + # Sign files and upload them. + +-scriptversion=2018-05-19.18; # UTC ++scriptversion=2021-04-11.09; # UTC + + # Copyright (C) 2004-2021 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 3, or (at your option) ++# the Free Software Foundation; either version 2, or (at your option) + # any later version. + # + # This program is distributed in the hope that it will be useful, +@@ -27,8 +27,8 @@ set -e + GPG=gpg + # Choose the proper version of gpg, so as to avoid a + # "gpg-agent is not available in this session" error +-# when gpg-agent is version 3 but gpg is still version 1. +-# FIXME-2020: remove, once all major distros ship gpg version 3 as /usr/bin/gpg ++# when gpg-agent is version 2 but gpg is still version 1. ++# FIXME-2020: remove, once all major distros ship gpg version 2 as /usr/bin/gpg + gpg_agent_version=`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'` + case "$gpg_agent_version" in + 2.*) +@@ -145,6 +145,12 @@ the build-aux/ directory of the gnulib package + + Send patches and bug reports to ." + ++copyright_year=`echo "$scriptversion" | sed -e 's/[^0-9].*//'` ++copyright="Copyright (C) ${copyright_year} Free Software Foundation, Inc. ++License GPLv2+: GNU GPL version 2 or later . ++This is free software: you are free to change and redistribute it. ++There is NO WARRANTY, to the extent permitted by law." ++ + # Read local configuration file + if test -r "$conffile"; then + echo "$0: Reading configuration file $conffile" +@@ -209,7 +215,8 @@ while test -n "$1"; do + ;; + --version) + echo "gnupload $scriptversion" +- exit $? ++ echo "$copyright" ++ exit 0 + ;; + --) + shift +diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free +index 784d80b..5bbbc44 100755 +--- a/build-aux/useless-if-before-free ++++ b/build-aux/useless-if-before-free +@@ -36,12 +36,14 @@ + eval 'exec perl -wSx "$0" "$@"' + if 0; + +-my $VERSION = '2020-04-04 15:07'; # UTC ++my $VERSION = '2021-04-11 10:11'; # UTC + # The definition above must lie within the first 8 lines in order + # for the Emacs time-stamp write hook (at end) to update it. + # If you change this file with Emacs, please let the write hook + # do its job. Otherwise, update this string manually. + ++my $copyright_year = '2021'; ++ + use strict; + use warnings; + use Getopt::Long; +@@ -118,7 +120,19 @@ sub is_NULL ($) + GetOptions + ( + help => sub { usage 0 }, +- version => sub { print "$ME version $VERSION\n"; exit }, ++ version => ++ sub ++ { ++ print "$ME version $VERSION\n"; ++ print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; ++ print "License GPLv3+: GNU GPL version 3 or later .\n" ++ . "This is free software: you are free to change and redistribute it.\n" ++ . "There is NO WARRANTY, to the extent permitted by law.\n"; ++ print "\n"; ++ my $author = "Jim Meyering"; ++ print "Written by $author.\n"; ++ exit ++ }, + list => \$list, + 'name=s@' => \@name, + ) or usage 1; +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 02480f6..cb29c31 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -288,8 +288,8 @@ arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON + -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ + -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ + -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ +- -e 's/@''GNULIB_INET_NTOP''@/$(GNULIB_INET_NTOP)/g' \ +- -e 's/@''GNULIB_INET_PTON''@/$(GNULIB_INET_PTON)/g' \ ++ -e 's/@''GNULIB_INET_NTOP''@/$(GL_GNULIB_INET_NTOP)/g' \ ++ -e 's/@''GNULIB_INET_PTON''@/$(GL_GNULIB_INET_PTON)/g' \ + -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ + -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ + -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ +@@ -470,14 +470,14 @@ dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ +- -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ +- -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ +- -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ +- -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ +- -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ +- -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ +- -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ +- -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ ++ -e 's/@''GNULIB_OPENDIR''@/$(GL_GNULIB_OPENDIR)/g' \ ++ -e 's/@''GNULIB_READDIR''@/$(GL_GNULIB_READDIR)/g' \ ++ -e 's/@''GNULIB_REWINDDIR''@/$(GL_GNULIB_REWINDDIR)/g' \ ++ -e 's/@''GNULIB_CLOSEDIR''@/$(GL_GNULIB_CLOSEDIR)/g' \ ++ -e 's/@''GNULIB_DIRFD''@/$(GL_GNULIB_DIRFD)/g' \ ++ -e 's/@''GNULIB_FDOPENDIR''@/$(GL_GNULIB_FDOPENDIR)/g' \ ++ -e 's/@''GNULIB_SCANDIR''@/$(GL_GNULIB_SCANDIR)/g' \ ++ -e 's/@''GNULIB_ALPHASORT''@/$(GL_GNULIB_ALPHASORT)/g' \ + -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ + -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ + -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ +@@ -543,6 +543,32 @@ EXTRA_libgnu_la_SOURCES += duplocale.c + ## begin gnulib module dynarray + + if gl_GNULIB_ENABLED_dynarray ++BUILT_SOURCES += malloc/dynarray.gl.h malloc/dynarray-skeleton.gl.h ++ ++malloc/dynarray.gl.h: malloc/dynarray.h ++ $(AM_V_at)$(MKDIR_P) malloc ++ $(AM_V_GEN)rm -f $@-t $@ && \ ++ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ ++ sed -e '/libc_hidden_proto/d' < $(srcdir)/malloc/dynarray.h; \ ++ } > $@-t && \ ++ mv $@-t $@ ++MOSTLYCLEANFILES += malloc/dynarray.gl.h malloc/dynarray.gl.h-t ++ ++malloc/dynarray-skeleton.gl.h: malloc/dynarray-skeleton.c ++ $(AM_V_at)$(MKDIR_P) malloc ++ $(AM_V_GEN)rm -f $@-t $@ && \ ++ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ ++ sed -e 's|||g' \ ++ -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \ ++ -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \ ++ -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \ ++ -e 's|__glibc_likely|_GL_LIKELY|g' \ ++ -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ ++ < $(srcdir)/malloc/dynarray-skeleton.c; \ ++ } > $@-t && \ ++ mv $@-t $@ ++MOSTLYCLEANFILES += malloc/dynarray-skeleton.gl.h malloc/dynarray-skeleton.gl.h-t ++ + libgnu_la_SOURCES += malloc/dynarray_at_failure.c malloc/dynarray_emplace_enlarge.c malloc/dynarray_finalize.c malloc/dynarray_resize.c malloc/dynarray_resize_clear.c + + endif +@@ -620,13 +646,13 @@ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ +- -e 's/@''GNULIB_CREAT''@/$(GNULIB_CREAT)/g' \ +- -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ +- -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ +- -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ +- -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ +- -e 's/@''GNULIB_MDA_CREAT''@/$(GNULIB_MDA_CREAT)/g' \ +- -e 's/@''GNULIB_MDA_OPEN''@/$(GNULIB_MDA_OPEN)/g' \ ++ -e 's/@''GNULIB_CREAT''@/$(GL_GNULIB_CREAT)/g' \ ++ -e 's/@''GNULIB_FCNTL''@/$(GL_GNULIB_FCNTL)/g' \ ++ -e 's/@''GNULIB_NONBLOCKING''@/$(GL_GNULIB_NONBLOCKING)/g' \ ++ -e 's/@''GNULIB_OPEN''@/$(GL_GNULIB_OPEN)/g' \ ++ -e 's/@''GNULIB_OPENAT''@/$(GL_GNULIB_OPENAT)/g' \ ++ -e 's/@''GNULIB_MDA_CREAT''@/$(GL_GNULIB_MDA_CREAT)/g' \ ++ -e 's/@''GNULIB_MDA_OPEN''@/$(GL_GNULIB_MDA_OPEN)/g' \ + -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ + -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ + -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \ +@@ -930,7 +956,7 @@ iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \ +- -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \ ++ -e 's/@''GNULIB_ICONV''@/$(GL_GNULIB_ICONV)/g' \ + -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \ + -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \ + -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \ +@@ -984,10 +1010,8 @@ EXTRA_libgnu_la_SOURCES += iconv.c iconv_close.c iconv_open.c + + ## begin gnulib module idx + +-if gl_GNULIB_ENABLED_idx + libgnu_la_SOURCES += idx.h + +-endif + ## end gnulib module idx + + ## begin gnulib module inet_ntop +@@ -1031,10 +1055,10 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U + -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ + -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ + -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ +- -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ +- -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ +- -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ +- -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ ++ -e 's/@''GNULIB_IMAXABS''@/$(GL_GNULIB_IMAXABS)/g' \ ++ -e 's/@''GNULIB_IMAXDIV''@/$(GL_GNULIB_IMAXDIV)/g' \ ++ -e 's/@''GNULIB_STRTOIMAX''@/$(GL_GNULIB_STRTOIMAX)/g' \ ++ -e 's/@''GNULIB_STRTOUMAX''@/$(GL_GNULIB_STRTOUMAX)/g' \ + -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ + -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ + -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ +@@ -1151,7 +1175,7 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ +- -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ ++ -e 's/@''GNULIB_NL_LANGINFO''@/$(GL_GNULIB_NL_LANGINFO)/g' \ + -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ + -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ + -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \ +@@ -1264,11 +1288,11 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ +- -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ +- -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ +- -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GNULIB_SETLOCALE_NULL)/g' \ +- -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ +- -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \ ++ -e 's/@''GNULIB_LOCALECONV''@/$(GL_GNULIB_LOCALECONV)/g' \ ++ -e 's/@''GNULIB_SETLOCALE''@/$(GL_GNULIB_SETLOCALE)/g' \ ++ -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GL_GNULIB_SETLOCALE_NULL)/g' \ ++ -e 's/@''GNULIB_DUPLOCALE''@/$(GL_GNULIB_DUPLOCALE)/g' \ ++ -e 's/@''GNULIB_LOCALENAME''@/$(GL_GNULIB_LOCALENAME)/g' \ + -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \ + -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ + -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \ +@@ -1379,108 +1403,108 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \ +- -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \ +- -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \ +- -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \ +- -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \ +- -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \ +- -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \ +- -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \ +- -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \ +- -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \ +- -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \ +- -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \ +- -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \ +- -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \ +- -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \ +- -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \ +- -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \ +- -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \ +- -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \ +- -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \ +- -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \ +- -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \ +- -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \ +- -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \ +- -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \ +- -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \ +- -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \ +- -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \ +- -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \ +- -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \ +- -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \ +- -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \ +- -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \ +- -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \ +- -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \ +- -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \ +- -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \ +- -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \ +- -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \ +- -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \ +- -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \ +- -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \ +- -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \ +- -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \ +- -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \ ++ -e 's/@''GNULIB_ACOSF''@/$(GL_GNULIB_ACOSF)/g' \ ++ -e 's/@''GNULIB_ACOSL''@/$(GL_GNULIB_ACOSL)/g' \ ++ -e 's/@''GNULIB_ASINF''@/$(GL_GNULIB_ASINF)/g' \ ++ -e 's/@''GNULIB_ASINL''@/$(GL_GNULIB_ASINL)/g' \ ++ -e 's/@''GNULIB_ATANF''@/$(GL_GNULIB_ATANF)/g' \ ++ -e 's/@''GNULIB_ATANL''@/$(GL_GNULIB_ATANL)/g' \ ++ -e 's/@''GNULIB_ATAN2F''@/$(GL_GNULIB_ATAN2F)/g' \ ++ -e 's/@''GNULIB_CBRT''@/$(GL_GNULIB_CBRT)/g' \ ++ -e 's/@''GNULIB_CBRTF''@/$(GL_GNULIB_CBRTF)/g' \ ++ -e 's/@''GNULIB_CBRTL''@/$(GL_GNULIB_CBRTL)/g' \ ++ -e 's/@''GNULIB_CEIL''@/$(GL_GNULIB_CEIL)/g' \ ++ -e 's/@''GNULIB_CEILF''@/$(GL_GNULIB_CEILF)/g' \ ++ -e 's/@''GNULIB_CEILL''@/$(GL_GNULIB_CEILL)/g' \ ++ -e 's/@''GNULIB_COPYSIGN''@/$(GL_GNULIB_COPYSIGN)/g' \ ++ -e 's/@''GNULIB_COPYSIGNF''@/$(GL_GNULIB_COPYSIGNF)/g' \ ++ -e 's/@''GNULIB_COPYSIGNL''@/$(GL_GNULIB_COPYSIGNL)/g' \ ++ -e 's/@''GNULIB_COSF''@/$(GL_GNULIB_COSF)/g' \ ++ -e 's/@''GNULIB_COSL''@/$(GL_GNULIB_COSL)/g' \ ++ -e 's/@''GNULIB_COSHF''@/$(GL_GNULIB_COSHF)/g' \ ++ -e 's/@''GNULIB_EXPF''@/$(GL_GNULIB_EXPF)/g' \ ++ -e 's/@''GNULIB_EXPL''@/$(GL_GNULIB_EXPL)/g' \ ++ -e 's/@''GNULIB_EXP2''@/$(GL_GNULIB_EXP2)/g' \ ++ -e 's/@''GNULIB_EXP2F''@/$(GL_GNULIB_EXP2F)/g' \ ++ -e 's/@''GNULIB_EXP2L''@/$(GL_GNULIB_EXP2L)/g' \ ++ -e 's/@''GNULIB_EXPM1''@/$(GL_GNULIB_EXPM1)/g' \ ++ -e 's/@''GNULIB_EXPM1F''@/$(GL_GNULIB_EXPM1F)/g' \ ++ -e 's/@''GNULIB_EXPM1L''@/$(GL_GNULIB_EXPM1L)/g' \ ++ -e 's/@''GNULIB_FABSF''@/$(GL_GNULIB_FABSF)/g' \ ++ -e 's/@''GNULIB_FABSL''@/$(GL_GNULIB_FABSL)/g' \ ++ -e 's/@''GNULIB_FLOOR''@/$(GL_GNULIB_FLOOR)/g' \ ++ -e 's/@''GNULIB_FLOORF''@/$(GL_GNULIB_FLOORF)/g' \ ++ -e 's/@''GNULIB_FLOORL''@/$(GL_GNULIB_FLOORL)/g' \ ++ -e 's/@''GNULIB_FMA''@/$(GL_GNULIB_FMA)/g' \ ++ -e 's/@''GNULIB_FMAF''@/$(GL_GNULIB_FMAF)/g' \ ++ -e 's/@''GNULIB_FMAL''@/$(GL_GNULIB_FMAL)/g' \ ++ -e 's/@''GNULIB_FMOD''@/$(GL_GNULIB_FMOD)/g' \ ++ -e 's/@''GNULIB_FMODF''@/$(GL_GNULIB_FMODF)/g' \ ++ -e 's/@''GNULIB_FMODL''@/$(GL_GNULIB_FMODL)/g' \ ++ -e 's/@''GNULIB_FREXPF''@/$(GL_GNULIB_FREXPF)/g' \ ++ -e 's/@''GNULIB_FREXP''@/$(GL_GNULIB_FREXP)/g' \ ++ -e 's/@''GNULIB_FREXPL''@/$(GL_GNULIB_FREXPL)/g' \ ++ -e 's/@''GNULIB_HYPOT''@/$(GL_GNULIB_HYPOT)/g' \ ++ -e 's/@''GNULIB_HYPOTF''@/$(GL_GNULIB_HYPOTF)/g' \ ++ -e 's/@''GNULIB_HYPOTL''@/$(GL_GNULIB_HYPOTL)/g' \ + < $(srcdir)/math.in.h | \ +- sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \ +- -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \ +- -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \ +- -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \ +- -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \ +- -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \ +- -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \ +- -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \ +- -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \ +- -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \ +- -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \ +- -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \ +- -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \ +- -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \ +- -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \ +- -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \ +- -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \ +- -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \ +- -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \ +- -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \ +- -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \ +- -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \ +- -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \ +- -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \ +- -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \ +- -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \ +- -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \ +- -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \ +- -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \ +- -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \ +- -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \ +- -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \ +- -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \ +- -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \ +- -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \ +- -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \ +- -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \ +- -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \ +- -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \ +- -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \ +- -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \ +- -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \ +- -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \ +- -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \ +- -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \ +- -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \ +- -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \ +- -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \ +- -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \ +- -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \ +- -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \ +- -e 's/@''GNULIB_MDA_J0''@/$(GNULIB_MDA_J0)/g' \ +- -e 's/@''GNULIB_MDA_J1''@/$(GNULIB_MDA_J1)/g' \ +- -e 's/@''GNULIB_MDA_JN''@/$(GNULIB_MDA_JN)/g' \ +- -e 's/@''GNULIB_MDA_Y0''@/$(GNULIB_MDA_Y0)/g' \ +- -e 's/@''GNULIB_MDA_Y1''@/$(GNULIB_MDA_Y1)/g' \ +- -e 's/@''GNULIB_MDA_YN''@/$(GNULIB_MDA_YN)/g' \ ++ sed -e 's/@''GNULIB_ILOGB''@/$(GL_GNULIB_ILOGB)/g' \ ++ -e 's/@''GNULIB_ILOGBF''@/$(GL_GNULIB_ILOGBF)/g' \ ++ -e 's/@''GNULIB_ILOGBL''@/$(GL_GNULIB_ILOGBL)/g' \ ++ -e 's/@''GNULIB_ISFINITE''@/$(GL_GNULIB_ISFINITE)/g' \ ++ -e 's/@''GNULIB_ISINF''@/$(GL_GNULIB_ISINF)/g' \ ++ -e 's/@''GNULIB_ISNAN''@/$(GL_GNULIB_ISNAN)/g' \ ++ -e 's/@''GNULIB_ISNANF''@/$(GL_GNULIB_ISNANF)/g' \ ++ -e 's/@''GNULIB_ISNAND''@/$(GL_GNULIB_ISNAND)/g' \ ++ -e 's/@''GNULIB_ISNANL''@/$(GL_GNULIB_ISNANL)/g' \ ++ -e 's/@''GNULIB_LDEXPF''@/$(GL_GNULIB_LDEXPF)/g' \ ++ -e 's/@''GNULIB_LDEXPL''@/$(GL_GNULIB_LDEXPL)/g' \ ++ -e 's/@''GNULIB_LOG''@/$(GL_GNULIB_LOG)/g' \ ++ -e 's/@''GNULIB_LOGF''@/$(GL_GNULIB_LOGF)/g' \ ++ -e 's/@''GNULIB_LOGL''@/$(GL_GNULIB_LOGL)/g' \ ++ -e 's/@''GNULIB_LOG10''@/$(GL_GNULIB_LOG10)/g' \ ++ -e 's/@''GNULIB_LOG10F''@/$(GL_GNULIB_LOG10F)/g' \ ++ -e 's/@''GNULIB_LOG10L''@/$(GL_GNULIB_LOG10L)/g' \ ++ -e 's/@''GNULIB_LOG1P''@/$(GL_GNULIB_LOG1P)/g' \ ++ -e 's/@''GNULIB_LOG1PF''@/$(GL_GNULIB_LOG1PF)/g' \ ++ -e 's/@''GNULIB_LOG1PL''@/$(GL_GNULIB_LOG1PL)/g' \ ++ -e 's/@''GNULIB_LOG2''@/$(GL_GNULIB_LOG2)/g' \ ++ -e 's/@''GNULIB_LOG2F''@/$(GL_GNULIB_LOG2F)/g' \ ++ -e 's/@''GNULIB_LOG2L''@/$(GL_GNULIB_LOG2L)/g' \ ++ -e 's/@''GNULIB_LOGB''@/$(GL_GNULIB_LOGB)/g' \ ++ -e 's/@''GNULIB_LOGBF''@/$(GL_GNULIB_LOGBF)/g' \ ++ -e 's/@''GNULIB_LOGBL''@/$(GL_GNULIB_LOGBL)/g' \ ++ -e 's/@''GNULIB_MODF''@/$(GL_GNULIB_MODF)/g' \ ++ -e 's/@''GNULIB_MODFF''@/$(GL_GNULIB_MODFF)/g' \ ++ -e 's/@''GNULIB_MODFL''@/$(GL_GNULIB_MODFL)/g' \ ++ -e 's/@''GNULIB_POWF''@/$(GL_GNULIB_POWF)/g' \ ++ -e 's/@''GNULIB_REMAINDER''@/$(GL_GNULIB_REMAINDER)/g' \ ++ -e 's/@''GNULIB_REMAINDERF''@/$(GL_GNULIB_REMAINDERF)/g' \ ++ -e 's/@''GNULIB_REMAINDERL''@/$(GL_GNULIB_REMAINDERL)/g' \ ++ -e 's/@''GNULIB_RINT''@/$(GL_GNULIB_RINT)/g' \ ++ -e 's/@''GNULIB_RINTF''@/$(GL_GNULIB_RINTF)/g' \ ++ -e 's/@''GNULIB_RINTL''@/$(GL_GNULIB_RINTL)/g' \ ++ -e 's/@''GNULIB_ROUND''@/$(GL_GNULIB_ROUND)/g' \ ++ -e 's/@''GNULIB_ROUNDF''@/$(GL_GNULIB_ROUNDF)/g' \ ++ -e 's/@''GNULIB_ROUNDL''@/$(GL_GNULIB_ROUNDL)/g' \ ++ -e 's/@''GNULIB_SIGNBIT''@/$(GL_GNULIB_SIGNBIT)/g' \ ++ -e 's/@''GNULIB_SINF''@/$(GL_GNULIB_SINF)/g' \ ++ -e 's/@''GNULIB_SINL''@/$(GL_GNULIB_SINL)/g' \ ++ -e 's/@''GNULIB_SINHF''@/$(GL_GNULIB_SINHF)/g' \ ++ -e 's/@''GNULIB_SQRTF''@/$(GL_GNULIB_SQRTF)/g' \ ++ -e 's/@''GNULIB_SQRTL''@/$(GL_GNULIB_SQRTL)/g' \ ++ -e 's/@''GNULIB_TANF''@/$(GL_GNULIB_TANF)/g' \ ++ -e 's/@''GNULIB_TANL''@/$(GL_GNULIB_TANL)/g' \ ++ -e 's/@''GNULIB_TANHF''@/$(GL_GNULIB_TANHF)/g' \ ++ -e 's/@''GNULIB_TRUNC''@/$(GL_GNULIB_TRUNC)/g' \ ++ -e 's/@''GNULIB_TRUNCF''@/$(GL_GNULIB_TRUNCF)/g' \ ++ -e 's/@''GNULIB_TRUNCL''@/$(GL_GNULIB_TRUNCL)/g' \ ++ -e 's/@''GNULIB_MDA_J0''@/$(GL_GNULIB_MDA_J0)/g' \ ++ -e 's/@''GNULIB_MDA_J1''@/$(GL_GNULIB_MDA_J1)/g' \ ++ -e 's/@''GNULIB_MDA_JN''@/$(GL_GNULIB_MDA_JN)/g' \ ++ -e 's/@''GNULIB_MDA_Y0''@/$(GL_GNULIB_MDA_Y0)/g' \ ++ -e 's/@''GNULIB_MDA_Y1''@/$(GL_GNULIB_MDA_Y1)/g' \ ++ -e 's/@''GNULIB_MDA_YN''@/$(GL_GNULIB_MDA_YN)/g' \ + | \ + sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \ + -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \ +@@ -1804,7 +1828,7 @@ netdb.h: netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ + -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ +- -e 's/@''GNULIB_GETADDRINFO''@/$(GNULIB_GETADDRINFO)/g' \ ++ -e 's/@''GNULIB_GETADDRINFO''@/$(GL_GNULIB_GETADDRINFO)/g' \ + -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ + -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ + -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ +@@ -1937,7 +1961,7 @@ poll.h: poll.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_POLL_H''@|$(NEXT_POLL_H)|g' \ +- -e 's/@''GNULIB_POLL''@/$(GNULIB_POLL)/g' \ ++ -e 's/@''GNULIB_POLL''@/$(GL_GNULIB_POLL)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's|@''HAVE_POLL''@|$(HAVE_POLL)|g' \ + -e 's|@''REPLACE_POLL''@|$(REPLACE_POLL)|g' \ +@@ -2098,6 +2122,21 @@ EXTRA_DIST += same-inode.h + ## begin gnulib module scratch_buffer + + if gl_GNULIB_ENABLED_scratch_buffer ++BUILT_SOURCES += malloc/scratch_buffer.gl.h ++ ++malloc/scratch_buffer.gl.h: malloc/scratch_buffer.h ++ $(AM_V_at)$(MKDIR_P) malloc ++ $(AM_V_GEN)rm -f $@-t $@ && \ ++ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ ++ sed -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \ ++ -e 's|__glibc_likely|_GL_LIKELY|g' \ ++ -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ ++ -e '/libc_hidden_proto/d' \ ++ < $(srcdir)/malloc/scratch_buffer.h; \ ++ } > $@-t && \ ++ mv $@-t $@ ++MOSTLYCLEANFILES += malloc/scratch_buffer.gl.h malloc/scratch_buffer.gl.h-t ++ + libgnu_la_SOURCES += malloc/scratch_buffer_dupfree.c malloc/scratch_buffer_grow.c malloc/scratch_buffer_grow_preserve.c malloc/scratch_buffer_set_array_size.c + + endif +@@ -2185,11 +2224,11 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ +- -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GNULIB_PTHREAD_SIGMASK)/g' \ +- -e 's/@''GNULIB_RAISE''@/$(GNULIB_RAISE)/g' \ +- -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ +- -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ +- -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ ++ -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GL_GNULIB_PTHREAD_SIGMASK)/g' \ ++ -e 's/@''GNULIB_RAISE''@/$(GL_GNULIB_RAISE)/g' \ ++ -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GL_GNULIB_SIGNAL_H_SIGPIPE)/g' \ ++ -e 's/@''GNULIB_SIGPROCMASK''@/$(GL_GNULIB_SIGPROCMASK)/g' \ ++ -e 's/@''GNULIB_SIGACTION''@/$(GL_GNULIB_SIGACTION)/g' \ + -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ + -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ + -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ +@@ -2442,7 +2481,7 @@ stdint.h: stdint.in.h $(top_builddir)/config.status + -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ + -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ + -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ +- -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ ++ -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ + < $(srcdir)/stdint.in.h; \ + } > $@-t && \ + mv $@-t $@ +@@ -2470,65 +2509,65 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ +- -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ +- -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ +- -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ +- -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ +- -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ +- -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ +- -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ +- -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ +- -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ +- -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ +- -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ +- -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ +- -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ +- -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ +- -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ +- -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ +- -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ +- -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ +- -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ +- -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ +- -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ +- -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ +- -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ +- -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ +- -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ +- -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ +- -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ +- -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ +- -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ +- -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ +- -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ +- -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ +- -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ +- -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ +- -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ +- -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ +- -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ +- -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ +- -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ +- -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ +- -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ +- -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ +- -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ +- -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ +- -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ +- -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ +- -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GNULIB_MDA_FCLOSEALL)/g' \ +- -e 's/@''GNULIB_MDA_FDOPEN''@/$(GNULIB_MDA_FDOPEN)/g' \ +- -e 's/@''GNULIB_MDA_FILENO''@/$(GNULIB_MDA_FILENO)/g' \ +- -e 's/@''GNULIB_MDA_GETW''@/$(GNULIB_MDA_GETW)/g' \ +- -e 's/@''GNULIB_MDA_PUTW''@/$(GNULIB_MDA_PUTW)/g' \ +- -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GNULIB_MDA_TEMPNAM)/g' \ ++ -e 's/@''GNULIB_DPRINTF''@/$(GL_GNULIB_DPRINTF)/g' \ ++ -e 's/@''GNULIB_FCLOSE''@/$(GL_GNULIB_FCLOSE)/g' \ ++ -e 's/@''GNULIB_FDOPEN''@/$(GL_GNULIB_FDOPEN)/g' \ ++ -e 's/@''GNULIB_FFLUSH''@/$(GL_GNULIB_FFLUSH)/g' \ ++ -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \ ++ -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \ ++ -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \ ++ -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \ ++ -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \ ++ -e 's/@''GNULIB_FPUTC''@/$(GL_GNULIB_FPUTC)/g' \ ++ -e 's/@''GNULIB_FPUTS''@/$(GL_GNULIB_FPUTS)/g' \ ++ -e 's/@''GNULIB_FREAD''@/$(GL_GNULIB_FREAD)/g' \ ++ -e 's/@''GNULIB_FREOPEN''@/$(GL_GNULIB_FREOPEN)/g' \ ++ -e 's/@''GNULIB_FSCANF''@/$(GL_GNULIB_FSCANF)/g' \ ++ -e 's/@''GNULIB_FSEEK''@/$(GL_GNULIB_FSEEK)/g' \ ++ -e 's/@''GNULIB_FSEEKO''@/$(GL_GNULIB_FSEEKO)/g' \ ++ -e 's/@''GNULIB_FTELL''@/$(GL_GNULIB_FTELL)/g' \ ++ -e 's/@''GNULIB_FTELLO''@/$(GL_GNULIB_FTELLO)/g' \ ++ -e 's/@''GNULIB_FWRITE''@/$(GL_GNULIB_FWRITE)/g' \ ++ -e 's/@''GNULIB_GETC''@/$(GL_GNULIB_GETC)/g' \ ++ -e 's/@''GNULIB_GETCHAR''@/$(GL_GNULIB_GETCHAR)/g' \ ++ -e 's/@''GNULIB_GETDELIM''@/$(GL_GNULIB_GETDELIM)/g' \ ++ -e 's/@''GNULIB_GETLINE''@/$(GL_GNULIB_GETLINE)/g' \ ++ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GL_GNULIB_OBSTACK_PRINTF)/g' \ ++ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GL_GNULIB_OBSTACK_PRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_PCLOSE''@/$(GL_GNULIB_PCLOSE)/g' \ ++ -e 's/@''GNULIB_PERROR''@/$(GL_GNULIB_PERROR)/g' \ ++ -e 's/@''GNULIB_POPEN''@/$(GL_GNULIB_POPEN)/g' \ ++ -e 's/@''GNULIB_PRINTF''@/$(GL_GNULIB_PRINTF)/g' \ ++ -e 's/@''GNULIB_PRINTF_POSIX''@/$(GL_GNULIB_PRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_PUTC''@/$(GL_GNULIB_PUTC)/g' \ ++ -e 's/@''GNULIB_PUTCHAR''@/$(GL_GNULIB_PUTCHAR)/g' \ ++ -e 's/@''GNULIB_PUTS''@/$(GL_GNULIB_PUTS)/g' \ ++ -e 's/@''GNULIB_REMOVE''@/$(GL_GNULIB_REMOVE)/g' \ ++ -e 's/@''GNULIB_RENAME''@/$(GL_GNULIB_RENAME)/g' \ ++ -e 's/@''GNULIB_RENAMEAT''@/$(GL_GNULIB_RENAMEAT)/g' \ ++ -e 's/@''GNULIB_SCANF''@/$(GL_GNULIB_SCANF)/g' \ ++ -e 's/@''GNULIB_SNPRINTF''@/$(GL_GNULIB_SNPRINTF)/g' \ ++ -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GL_GNULIB_SPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GL_GNULIB_STDIO_H_NONBLOCKING)/g' \ ++ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GL_GNULIB_STDIO_H_SIGPIPE)/g' \ ++ -e 's/@''GNULIB_TMPFILE''@/$(GL_GNULIB_TMPFILE)/g' \ ++ -e 's/@''GNULIB_VASPRINTF''@/$(GL_GNULIB_VASPRINTF)/g' \ ++ -e 's/@''GNULIB_VDPRINTF''@/$(GL_GNULIB_VDPRINTF)/g' \ ++ -e 's/@''GNULIB_VFPRINTF''@/$(GL_GNULIB_VFPRINTF)/g' \ ++ -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GL_GNULIB_VFPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_VFSCANF''@/$(GL_GNULIB_VFSCANF)/g' \ ++ -e 's/@''GNULIB_VSCANF''@/$(GL_GNULIB_VSCANF)/g' \ ++ -e 's/@''GNULIB_VPRINTF''@/$(GL_GNULIB_VPRINTF)/g' \ ++ -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GL_GNULIB_VPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_VSNPRINTF''@/$(GL_GNULIB_VSNPRINTF)/g' \ ++ -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GL_GNULIB_VSPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GL_GNULIB_MDA_FCLOSEALL)/g' \ ++ -e 's/@''GNULIB_MDA_FDOPEN''@/$(GL_GNULIB_MDA_FDOPEN)/g' \ ++ -e 's/@''GNULIB_MDA_FILENO''@/$(GL_GNULIB_MDA_FILENO)/g' \ ++ -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \ ++ -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \ ++ -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \ + < $(srcdir)/stdio.in.h | \ + sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ + -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ +@@ -2606,51 +2645,51 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ +- -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ +- -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GNULIB_ALIGNED_ALLOC)/g' \ +- -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ +- -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ +- -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ +- -e 's/@''GNULIB_FREE_POSIX''@/$(GNULIB_FREE_POSIX)/g' \ +- -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ +- -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ +- -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ +- -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ +- -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ +- -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ +- -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ +- -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ +- -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ +- -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ +- -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GNULIB_POSIX_MEMALIGN)/g' \ +- -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ +- -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ +- -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ +- -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ +- -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \ +- -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ +- -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ +- -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ +- -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \ +- -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ +- -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ +- -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ +- -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ +- -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ +- -e 's/@''GNULIB_STRTOL''@/$(GNULIB_STRTOL)/g' \ +- -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \ +- -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ +- -e 's/@''GNULIB_STRTOUL''@/$(GNULIB_STRTOUL)/g' \ +- -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ +- -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ +- -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ +- -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ +- -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ +- -e 's/@''GNULIB_MDA_ECVT''@/$(GNULIB_MDA_ECVT)/g' \ +- -e 's/@''GNULIB_MDA_FCVT''@/$(GNULIB_MDA_FCVT)/g' \ +- -e 's/@''GNULIB_MDA_GCVT''@/$(GNULIB_MDA_GCVT)/g' \ +- -e 's/@''GNULIB_MDA_MKTEMP''@/$(GNULIB_MDA_MKTEMP)/g' \ +- -e 's/@''GNULIB_MDA_PUTENV''@/$(GNULIB_MDA_PUTENV)/g' \ ++ -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \ ++ -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \ ++ -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \ ++ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \ ++ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ ++ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ ++ -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ ++ -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ ++ -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ ++ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ ++ -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ ++ -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ ++ -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \ ++ -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_GNULIB_MKOSTEMPS)/g' \ ++ -e 's/@''GNULIB_MKSTEMP''@/$(GL_GNULIB_MKSTEMP)/g' \ ++ -e 's/@''GNULIB_MKSTEMPS''@/$(GL_GNULIB_MKSTEMPS)/g' \ ++ -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_GNULIB_POSIX_MEMALIGN)/g' \ ++ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_GNULIB_POSIX_OPENPT)/g' \ ++ -e 's/@''GNULIB_PTSNAME''@/$(GL_GNULIB_PTSNAME)/g' \ ++ -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \ ++ -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \ ++ -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ ++ -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ ++ -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ ++ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \ ++ -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \ ++ -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \ ++ -e 's/@''GNULIB_RPMATCH''@/$(GL_GNULIB_RPMATCH)/g' \ ++ -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \ ++ -e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \ ++ -e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \ ++ -e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \ ++ -e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \ ++ -e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \ ++ -e 's/@''GNULIB_STRTOUL''@/$(GL_GNULIB_STRTOUL)/g' \ ++ -e 's/@''GNULIB_STRTOULL''@/$(GL_GNULIB_STRTOULL)/g' \ ++ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_GNULIB_SYSTEM_POSIX)/g' \ ++ -e 's/@''GNULIB_UNLOCKPT''@/$(GL_GNULIB_UNLOCKPT)/g' \ ++ -e 's/@''GNULIB_UNSETENV''@/$(GL_GNULIB_UNSETENV)/g' \ ++ -e 's/@''GNULIB_WCTOMB''@/$(GL_GNULIB_WCTOMB)/g' \ ++ -e 's/@''GNULIB_MDA_ECVT''@/$(GL_GNULIB_MDA_ECVT)/g' \ ++ -e 's/@''GNULIB_MDA_FCVT''@/$(GL_GNULIB_MDA_FCVT)/g' \ ++ -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \ ++ -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \ ++ -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \ + < $(srcdir)/stdlib.in.h | \ + sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \ +@@ -2711,6 +2750,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ + -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ + -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ + -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ ++ -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \ + -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ + -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ + -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \ +@@ -2779,49 +2819,49 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ +- -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \ +- -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ +- -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ +- -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ +- -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ +- -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ +- -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ +- -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ +- -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ +- -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ +- -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ +- -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ +- -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ +- -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ +- -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ +- -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ +- -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ +- -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ +- -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ +- -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ +- -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ +- -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ +- -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ +- -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ +- -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ +- -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ +- -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ +- -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ +- -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ +- -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ +- -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ +- -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ +- -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ +- -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ +- -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ +- -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ +- -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GNULIB_STRERRORNAME_NP)/g' \ +- -e 's/@''GNULIB_SIGABBREV_NP''@/$(GNULIB_SIGABBREV_NP)/g' \ +- -e 's/@''GNULIB_SIGDESCR_NP''@/$(GNULIB_SIGDESCR_NP)/g' \ +- -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ +- -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ +- -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GNULIB_MDA_MEMCCPY)/g' \ +- -e 's/@''GNULIB_MDA_STRDUP''@/$(GNULIB_MDA_STRDUP)/g' \ ++ -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_GNULIB_EXPLICIT_BZERO)/g' \ ++ -e 's/@''GNULIB_FFSL''@/$(GL_GNULIB_FFSL)/g' \ ++ -e 's/@''GNULIB_FFSLL''@/$(GL_GNULIB_FFSLL)/g' \ ++ -e 's/@''GNULIB_MBSLEN''@/$(GL_GNULIB_MBSLEN)/g' \ ++ -e 's/@''GNULIB_MBSNLEN''@/$(GL_GNULIB_MBSNLEN)/g' \ ++ -e 's/@''GNULIB_MBSCHR''@/$(GL_GNULIB_MBSCHR)/g' \ ++ -e 's/@''GNULIB_MBSRCHR''@/$(GL_GNULIB_MBSRCHR)/g' \ ++ -e 's/@''GNULIB_MBSSTR''@/$(GL_GNULIB_MBSSTR)/g' \ ++ -e 's/@''GNULIB_MBSCASECMP''@/$(GL_GNULIB_MBSCASECMP)/g' \ ++ -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_GNULIB_MBSNCASECMP)/g' \ ++ -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_GNULIB_MBSPCASECMP)/g' \ ++ -e 's/@''GNULIB_MBSCASESTR''@/$(GL_GNULIB_MBSCASESTR)/g' \ ++ -e 's/@''GNULIB_MBSCSPN''@/$(GL_GNULIB_MBSCSPN)/g' \ ++ -e 's/@''GNULIB_MBSPBRK''@/$(GL_GNULIB_MBSPBRK)/g' \ ++ -e 's/@''GNULIB_MBSSPN''@/$(GL_GNULIB_MBSSPN)/g' \ ++ -e 's/@''GNULIB_MBSSEP''@/$(GL_GNULIB_MBSSEP)/g' \ ++ -e 's/@''GNULIB_MBSTOK_R''@/$(GL_GNULIB_MBSTOK_R)/g' \ ++ -e 's/@''GNULIB_MEMCHR''@/$(GL_GNULIB_MEMCHR)/g' \ ++ -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \ ++ -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \ ++ -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \ ++ -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \ ++ -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \ ++ -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \ ++ -e 's/@''GNULIB_STRCHRNUL''@/$(GL_GNULIB_STRCHRNUL)/g' \ ++ -e 's/@''GNULIB_STRDUP''@/$(GL_GNULIB_STRDUP)/g' \ ++ -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \ ++ -e 's/@''GNULIB_STRNDUP''@/$(GL_GNULIB_STRNDUP)/g' \ ++ -e 's/@''GNULIB_STRNLEN''@/$(GL_GNULIB_STRNLEN)/g' \ ++ -e 's/@''GNULIB_STRPBRK''@/$(GL_GNULIB_STRPBRK)/g' \ ++ -e 's/@''GNULIB_STRSEP''@/$(GL_GNULIB_STRSEP)/g' \ ++ -e 's/@''GNULIB_STRSTR''@/$(GL_GNULIB_STRSTR)/g' \ ++ -e 's/@''GNULIB_STRCASESTR''@/$(GL_GNULIB_STRCASESTR)/g' \ ++ -e 's/@''GNULIB_STRTOK_R''@/$(GL_GNULIB_STRTOK_R)/g' \ ++ -e 's/@''GNULIB_STRERROR''@/$(GL_GNULIB_STRERROR)/g' \ ++ -e 's/@''GNULIB_STRERROR_R''@/$(GL_GNULIB_STRERROR_R)/g' \ ++ -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_GNULIB_STRERRORNAME_NP)/g' \ ++ -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_GNULIB_SIGABBREV_NP)/g' \ ++ -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_GNULIB_SIGDESCR_NP)/g' \ ++ -e 's/@''GNULIB_STRSIGNAL''@/$(GL_GNULIB_STRSIGNAL)/g' \ ++ -e 's/@''GNULIB_STRVERSCMP''@/$(GL_GNULIB_STRVERSCMP)/g' \ ++ -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \ ++ -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \ + < $(srcdir)/string.in.h | \ + sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ + -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ +@@ -2893,7 +2933,7 @@ sys/file.h: sys_file.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_FILE_H''@|$(NEXT_SYS_FILE_H)|g' \ + -e 's/@''HAVE_FLOCK''@/$(HAVE_FLOCK)/g' \ +- -e 's/@''GNULIB_FLOCK''@/$(GNULIB_FLOCK)/g' \ ++ -e 's/@''GNULIB_FLOCK''@/$(GL_GNULIB_FLOCK)/g' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/sys_file.in.h; \ + } > $@-t && \ +@@ -2922,7 +2962,7 @@ sys/random.h: sys_random.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_N + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_RANDOM_H''@|$(NEXT_SYS_RANDOM_H)|g' \ + -e 's|@''HAVE_SYS_RANDOM_H''@|$(HAVE_SYS_RANDOM_H)|g' \ +- -e 's/@''GNULIB_GETRANDOM''@/$(GNULIB_GETRANDOM)/g' \ ++ -e 's/@''GNULIB_GETRANDOM''@/$(GL_GNULIB_GETRANDOM)/g' \ + -e 's/@''HAVE_GETRANDOM''@/$(HAVE_GETRANDOM)/g' \ + -e 's/@''REPLACE_GETRANDOM''@/$(REPLACE_GETRANDOM)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ +@@ -2955,8 +2995,8 @@ sys/select.h: sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ + -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ +- -e 's/@''GNULIB_PSELECT''@/$(GNULIB_PSELECT)/g' \ +- -e 's/@''GNULIB_SELECT''@/$(GNULIB_SELECT)/g' \ ++ -e 's/@''GNULIB_PSELECT''@/$(GL_GNULIB_PSELECT)/g' \ ++ -e 's/@''GNULIB_SELECT''@/$(GL_GNULIB_SELECT)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's|@''HAVE_PSELECT''@|$(HAVE_PSELECT)|g' \ + -e 's|@''REPLACE_PSELECT''@|$(REPLACE_PSELECT)|g' \ +@@ -2990,22 +3030,22 @@ sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ + -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ +- -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ +- -e 's/@''GNULIB_SOCKET''@/$(GNULIB_SOCKET)/g' \ +- -e 's/@''GNULIB_CONNECT''@/$(GNULIB_CONNECT)/g' \ +- -e 's/@''GNULIB_ACCEPT''@/$(GNULIB_ACCEPT)/g' \ +- -e 's/@''GNULIB_BIND''@/$(GNULIB_BIND)/g' \ +- -e 's/@''GNULIB_GETPEERNAME''@/$(GNULIB_GETPEERNAME)/g' \ +- -e 's/@''GNULIB_GETSOCKNAME''@/$(GNULIB_GETSOCKNAME)/g' \ +- -e 's/@''GNULIB_GETSOCKOPT''@/$(GNULIB_GETSOCKOPT)/g' \ +- -e 's/@''GNULIB_LISTEN''@/$(GNULIB_LISTEN)/g' \ +- -e 's/@''GNULIB_RECV''@/$(GNULIB_RECV)/g' \ +- -e 's/@''GNULIB_SEND''@/$(GNULIB_SEND)/g' \ +- -e 's/@''GNULIB_RECVFROM''@/$(GNULIB_RECVFROM)/g' \ +- -e 's/@''GNULIB_SENDTO''@/$(GNULIB_SENDTO)/g' \ +- -e 's/@''GNULIB_SETSOCKOPT''@/$(GNULIB_SETSOCKOPT)/g' \ +- -e 's/@''GNULIB_SHUTDOWN''@/$(GNULIB_SHUTDOWN)/g' \ +- -e 's/@''GNULIB_ACCEPT4''@/$(GNULIB_ACCEPT4)/g' \ ++ -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ ++ -e 's/@''GNULIB_SOCKET''@/$(GL_GNULIB_SOCKET)/g' \ ++ -e 's/@''GNULIB_CONNECT''@/$(GL_GNULIB_CONNECT)/g' \ ++ -e 's/@''GNULIB_ACCEPT''@/$(GL_GNULIB_ACCEPT)/g' \ ++ -e 's/@''GNULIB_BIND''@/$(GL_GNULIB_BIND)/g' \ ++ -e 's/@''GNULIB_GETPEERNAME''@/$(GL_GNULIB_GETPEERNAME)/g' \ ++ -e 's/@''GNULIB_GETSOCKNAME''@/$(GL_GNULIB_GETSOCKNAME)/g' \ ++ -e 's/@''GNULIB_GETSOCKOPT''@/$(GL_GNULIB_GETSOCKOPT)/g' \ ++ -e 's/@''GNULIB_LISTEN''@/$(GL_GNULIB_LISTEN)/g' \ ++ -e 's/@''GNULIB_RECV''@/$(GL_GNULIB_RECV)/g' \ ++ -e 's/@''GNULIB_SEND''@/$(GL_GNULIB_SEND)/g' \ ++ -e 's/@''GNULIB_RECVFROM''@/$(GL_GNULIB_RECVFROM)/g' \ ++ -e 's/@''GNULIB_SENDTO''@/$(GL_GNULIB_SENDTO)/g' \ ++ -e 's/@''GNULIB_SETSOCKOPT''@/$(GL_GNULIB_SETSOCKOPT)/g' \ ++ -e 's/@''GNULIB_SHUTDOWN''@/$(GL_GNULIB_SHUTDOWN)/g' \ ++ -e 's/@''GNULIB_ACCEPT4''@/$(GL_GNULIB_ACCEPT4)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ + -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ +@@ -3042,25 +3082,25 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU + -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ + -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ + -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \ +- -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ +- -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ +- -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ +- -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ +- -e 's/@''GNULIB_GETUMASK''@/$(GNULIB_GETUMASK)/g' \ +- -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ +- -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ +- -e 's/@''GNULIB_MKDIR''@/$(GNULIB_MKDIR)/g' \ +- -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ +- -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ +- -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ +- -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ +- -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ +- -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ +- -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ +- -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \ +- -e 's/@''GNULIB_MDA_CHMOD''@/$(GNULIB_MDA_CHMOD)/g' \ +- -e 's/@''GNULIB_MDA_MKDIR''@/$(GNULIB_MDA_MKDIR)/g' \ +- -e 's/@''GNULIB_MDA_UMASK''@/$(GNULIB_MDA_UMASK)/g' \ ++ -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \ ++ -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \ ++ -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \ ++ -e 's/@''GNULIB_FUTIMENS''@/$(GL_GNULIB_FUTIMENS)/g' \ ++ -e 's/@''GNULIB_GETUMASK''@/$(GL_GNULIB_GETUMASK)/g' \ ++ -e 's/@''GNULIB_LCHMOD''@/$(GL_GNULIB_LCHMOD)/g' \ ++ -e 's/@''GNULIB_LSTAT''@/$(GL_GNULIB_LSTAT)/g' \ ++ -e 's/@''GNULIB_MKDIR''@/$(GL_GNULIB_MKDIR)/g' \ ++ -e 's/@''GNULIB_MKDIRAT''@/$(GL_GNULIB_MKDIRAT)/g' \ ++ -e 's/@''GNULIB_MKFIFO''@/$(GL_GNULIB_MKFIFO)/g' \ ++ -e 's/@''GNULIB_MKFIFOAT''@/$(GL_GNULIB_MKFIFOAT)/g' \ ++ -e 's/@''GNULIB_MKNOD''@/$(GL_GNULIB_MKNOD)/g' \ ++ -e 's/@''GNULIB_MKNODAT''@/$(GL_GNULIB_MKNODAT)/g' \ ++ -e 's/@''GNULIB_STAT''@/$(GL_GNULIB_STAT)/g' \ ++ -e 's/@''GNULIB_UTIMENSAT''@/$(GL_GNULIB_UTIMENSAT)/g' \ ++ -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GL_GNULIB_OVERRIDES_STRUCT_STAT)/g' \ ++ -e 's/@''GNULIB_MDA_CHMOD''@/$(GL_GNULIB_MDA_CHMOD)/g' \ ++ -e 's/@''GNULIB_MDA_MKDIR''@/$(GL_GNULIB_MDA_MKDIR)/g' \ ++ -e 's/@''GNULIB_MDA_UMASK''@/$(GL_GNULIB_MDA_UMASK)/g' \ + -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ + -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ + -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ +@@ -3114,7 +3154,7 @@ sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ +- -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ ++ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GL_GNULIB_GETTIMEOFDAY)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ + -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ +@@ -3148,7 +3188,7 @@ sys/times.h: sys_times.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TIMES_H''@|$(NEXT_SYS_TIMES_H)|g' \ +- -e 's/@''GNULIB_TIMES''@/$(GNULIB_TIMES)/g' \ ++ -e 's/@''GNULIB_TIMES''@/$(GL_GNULIB_TIMES)/g' \ + -e 's|@''HAVE_STRUCT_TMS''@|$(HAVE_STRUCT_TMS)|g' \ + -e 's|@''HAVE_TIMES''@|$(HAVE_TIMES)|g' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ +@@ -3239,18 +3279,18 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ +- -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \ +- -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \ +- -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ +- -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ +- -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \ +- -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ +- -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ +- -e 's/@''GNULIB_TIMESPEC_GET''@/$(GNULIB_TIMESPEC_GET)/g' \ +- -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ +- -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ +- -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \ +- -e 's/@''GNULIB_MDA_TZSET''@/$(GNULIB_MDA_TZSET)/g' \ ++ -e 's/@''GNULIB_CTIME''@/$(GL_GNULIB_CTIME)/g' \ ++ -e 's/@''GNULIB_LOCALTIME''@/$(GL_GNULIB_LOCALTIME)/g' \ ++ -e 's/@''GNULIB_MKTIME''@/$(GL_GNULIB_MKTIME)/g' \ ++ -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ ++ -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ ++ -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ ++ -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ ++ -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ ++ -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \ ++ -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \ ++ -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \ ++ -e 's/@''GNULIB_MDA_TZSET''@/$(GL_GNULIB_MDA_TZSET)/g' \ + -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ + -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ + -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ +@@ -3360,89 +3400,89 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ +- -e 's/@''GNULIB_ACCESS''@/$(GNULIB_ACCESS)/g' \ +- -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ +- -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ +- -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ +- -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \ +- -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ +- -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ +- -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ +- -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ +- -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ +- -e 's/@''GNULIB_EXECL''@/$(GNULIB_EXECL)/g' \ +- -e 's/@''GNULIB_EXECLE''@/$(GNULIB_EXECLE)/g' \ +- -e 's/@''GNULIB_EXECLP''@/$(GNULIB_EXECLP)/g' \ +- -e 's/@''GNULIB_EXECV''@/$(GNULIB_EXECV)/g' \ +- -e 's/@''GNULIB_EXECVE''@/$(GNULIB_EXECVE)/g' \ +- -e 's/@''GNULIB_EXECVP''@/$(GNULIB_EXECVP)/g' \ +- -e 's/@''GNULIB_EXECVPE''@/$(GNULIB_EXECVPE)/g' \ +- -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ +- -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ +- -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ +- -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ +- -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ +- -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ +- -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ +- -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ +- -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ +- -e 's/@''GNULIB_GETENTROPY''@/$(GNULIB_GETENTROPY)/g' \ +- -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ +- -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ +- -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ +- -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ +- -e 's/@''GNULIB_GETOPT_POSIX''@/$(GNULIB_GETOPT_POSIX)/g' \ +- -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ +- -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \ +- -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ +- -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ +- -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ +- -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ +- -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ +- -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ +- -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ +- -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ +- -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ +- -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ +- -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ +- -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ +- -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ +- -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ +- -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ +- -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ +- -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ +- -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ +- -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ +- -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \ +- -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ +- -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ +- -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ +- -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ +- -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ +- -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ +- -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ +- -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ +- -e 's/@''GNULIB_MDA_ACCESS''@/$(GNULIB_MDA_ACCESS)/g' \ +- -e 's/@''GNULIB_MDA_CHDIR''@/$(GNULIB_MDA_CHDIR)/g' \ +- -e 's/@''GNULIB_MDA_CLOSE''@/$(GNULIB_MDA_CLOSE)/g' \ +- -e 's/@''GNULIB_MDA_DUP''@/$(GNULIB_MDA_DUP)/g' \ +- -e 's/@''GNULIB_MDA_DUP2''@/$(GNULIB_MDA_DUP2)/g' \ +- -e 's/@''GNULIB_MDA_EXECL''@/$(GNULIB_MDA_EXECL)/g' \ +- -e 's/@''GNULIB_MDA_EXECLE''@/$(GNULIB_MDA_EXECLE)/g' \ +- -e 's/@''GNULIB_MDA_EXECLP''@/$(GNULIB_MDA_EXECLP)/g' \ +- -e 's/@''GNULIB_MDA_EXECV''@/$(GNULIB_MDA_EXECV)/g' \ +- -e 's/@''GNULIB_MDA_EXECVE''@/$(GNULIB_MDA_EXECVE)/g' \ +- -e 's/@''GNULIB_MDA_EXECVP''@/$(GNULIB_MDA_EXECVP)/g' \ +- -e 's/@''GNULIB_MDA_EXECVPE''@/$(GNULIB_MDA_EXECVPE)/g' \ +- -e 's/@''GNULIB_MDA_GETCWD''@/$(GNULIB_MDA_GETCWD)/g' \ +- -e 's/@''GNULIB_MDA_GETPID''@/$(GNULIB_MDA_GETPID)/g' \ +- -e 's/@''GNULIB_MDA_ISATTY''@/$(GNULIB_MDA_ISATTY)/g' \ +- -e 's/@''GNULIB_MDA_LSEEK''@/$(GNULIB_MDA_LSEEK)/g' \ +- -e 's/@''GNULIB_MDA_READ''@/$(GNULIB_MDA_READ)/g' \ +- -e 's/@''GNULIB_MDA_RMDIR''@/$(GNULIB_MDA_RMDIR)/g' \ +- -e 's/@''GNULIB_MDA_SWAB''@/$(GNULIB_MDA_SWAB)/g' \ +- -e 's/@''GNULIB_MDA_UNLINK''@/$(GNULIB_MDA_UNLINK)/g' \ +- -e 's/@''GNULIB_MDA_WRITE''@/$(GNULIB_MDA_WRITE)/g' \ ++ -e 's/@''GNULIB_ACCESS''@/$(GL_GNULIB_ACCESS)/g' \ ++ -e 's/@''GNULIB_CHDIR''@/$(GL_GNULIB_CHDIR)/g' \ ++ -e 's/@''GNULIB_CHOWN''@/$(GL_GNULIB_CHOWN)/g' \ ++ -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ ++ -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_GNULIB_COPY_FILE_RANGE)/g' \ ++ -e 's/@''GNULIB_DUP''@/$(GL_GNULIB_DUP)/g' \ ++ -e 's/@''GNULIB_DUP2''@/$(GL_GNULIB_DUP2)/g' \ ++ -e 's/@''GNULIB_DUP3''@/$(GL_GNULIB_DUP3)/g' \ ++ -e 's/@''GNULIB_ENVIRON''@/$(GL_GNULIB_ENVIRON)/g' \ ++ -e 's/@''GNULIB_EUIDACCESS''@/$(GL_GNULIB_EUIDACCESS)/g' \ ++ -e 's/@''GNULIB_EXECL''@/$(GL_GNULIB_EXECL)/g' \ ++ -e 's/@''GNULIB_EXECLE''@/$(GL_GNULIB_EXECLE)/g' \ ++ -e 's/@''GNULIB_EXECLP''@/$(GL_GNULIB_EXECLP)/g' \ ++ -e 's/@''GNULIB_EXECV''@/$(GL_GNULIB_EXECV)/g' \ ++ -e 's/@''GNULIB_EXECVE''@/$(GL_GNULIB_EXECVE)/g' \ ++ -e 's/@''GNULIB_EXECVP''@/$(GL_GNULIB_EXECVP)/g' \ ++ -e 's/@''GNULIB_EXECVPE''@/$(GL_GNULIB_EXECVPE)/g' \ ++ -e 's/@''GNULIB_FACCESSAT''@/$(GL_GNULIB_FACCESSAT)/g' \ ++ -e 's/@''GNULIB_FCHDIR''@/$(GL_GNULIB_FCHDIR)/g' \ ++ -e 's/@''GNULIB_FCHOWNAT''@/$(GL_GNULIB_FCHOWNAT)/g' \ ++ -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \ ++ -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \ ++ -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \ ++ -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \ ++ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \ ++ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \ ++ -e 's/@''GNULIB_GETENTROPY''@/$(GL_GNULIB_GETENTROPY)/g' \ ++ -e 's/@''GNULIB_GETGROUPS''@/$(GL_GNULIB_GETGROUPS)/g' \ ++ -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_GNULIB_GETHOSTNAME)/g' \ ++ -e 's/@''GNULIB_GETLOGIN''@/$(GL_GNULIB_GETLOGIN)/g' \ ++ -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_GNULIB_GETLOGIN_R)/g' \ ++ -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \ ++ -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \ ++ -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \ ++ -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \ ++ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \ ++ -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \ ++ -e 's/@''GNULIB_LCHOWN''@/$(GL_GNULIB_LCHOWN)/g' \ ++ -e 's/@''GNULIB_LINK''@/$(GL_GNULIB_LINK)/g' \ ++ -e 's/@''GNULIB_LINKAT''@/$(GL_GNULIB_LINKAT)/g' \ ++ -e 's/@''GNULIB_LSEEK''@/$(GL_GNULIB_LSEEK)/g' \ ++ -e 's/@''GNULIB_PIPE''@/$(GL_GNULIB_PIPE)/g' \ ++ -e 's/@''GNULIB_PIPE2''@/$(GL_GNULIB_PIPE2)/g' \ ++ -e 's/@''GNULIB_PREAD''@/$(GL_GNULIB_PREAD)/g' \ ++ -e 's/@''GNULIB_PWRITE''@/$(GL_GNULIB_PWRITE)/g' \ ++ -e 's/@''GNULIB_READ''@/$(GL_GNULIB_READ)/g' \ ++ -e 's/@''GNULIB_READLINK''@/$(GL_GNULIB_READLINK)/g' \ ++ -e 's/@''GNULIB_READLINKAT''@/$(GL_GNULIB_READLINKAT)/g' \ ++ -e 's/@''GNULIB_RMDIR''@/$(GL_GNULIB_RMDIR)/g' \ ++ -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_GNULIB_SETHOSTNAME)/g' \ ++ -e 's/@''GNULIB_SLEEP''@/$(GL_GNULIB_SLEEP)/g' \ ++ -e 's/@''GNULIB_SYMLINK''@/$(GL_GNULIB_SYMLINK)/g' \ ++ -e 's/@''GNULIB_SYMLINKAT''@/$(GL_GNULIB_SYMLINKAT)/g' \ ++ -e 's/@''GNULIB_TRUNCATE''@/$(GL_GNULIB_TRUNCATE)/g' \ ++ -e 's/@''GNULIB_TTYNAME_R''@/$(GL_GNULIB_TTYNAME_R)/g' \ ++ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_GNULIB_UNISTD_H_GETOPT)/g' \ ++ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_GNULIB_UNISTD_H_NONBLOCKING)/g' \ ++ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_GNULIB_UNISTD_H_SIGPIPE)/g' \ ++ -e 's/@''GNULIB_UNLINK''@/$(GL_GNULIB_UNLINK)/g' \ ++ -e 's/@''GNULIB_UNLINKAT''@/$(GL_GNULIB_UNLINKAT)/g' \ ++ -e 's/@''GNULIB_USLEEP''@/$(GL_GNULIB_USLEEP)/g' \ ++ -e 's/@''GNULIB_WRITE''@/$(GL_GNULIB_WRITE)/g' \ ++ -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_GNULIB_MDA_ACCESS)/g' \ ++ -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_GNULIB_MDA_CHDIR)/g' \ ++ -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_GNULIB_MDA_CLOSE)/g' \ ++ -e 's/@''GNULIB_MDA_DUP''@/$(GL_GNULIB_MDA_DUP)/g' \ ++ -e 's/@''GNULIB_MDA_DUP2''@/$(GL_GNULIB_MDA_DUP2)/g' \ ++ -e 's/@''GNULIB_MDA_EXECL''@/$(GL_GNULIB_MDA_EXECL)/g' \ ++ -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_GNULIB_MDA_EXECLE)/g' \ ++ -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_GNULIB_MDA_EXECLP)/g' \ ++ -e 's/@''GNULIB_MDA_EXECV''@/$(GL_GNULIB_MDA_EXECV)/g' \ ++ -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_GNULIB_MDA_EXECVE)/g' \ ++ -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_GNULIB_MDA_EXECVP)/g' \ ++ -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_GNULIB_MDA_EXECVPE)/g' \ ++ -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_GNULIB_MDA_GETCWD)/g' \ ++ -e 's/@''GNULIB_MDA_GETPID''@/$(GL_GNULIB_MDA_GETPID)/g' \ ++ -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_GNULIB_MDA_ISATTY)/g' \ ++ -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_GNULIB_MDA_LSEEK)/g' \ ++ -e 's/@''GNULIB_MDA_READ''@/$(GL_GNULIB_MDA_READ)/g' \ ++ -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_GNULIB_MDA_RMDIR)/g' \ ++ -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \ ++ -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \ ++ -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \ + < $(srcdir)/unistd.in.h | \ + sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ +@@ -3617,49 +3657,49 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) + -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ + -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ + -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ +- -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ +- -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ +- -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ +- -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ +- -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ +- -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ +- -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ +- -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ +- -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ +- -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ +- -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ +- -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ +- -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ +- -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ +- -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ +- -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ +- -e 's/@''GNULIB_WMEMPCPY''@/$(GNULIB_WMEMPCPY)/g' \ +- -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ +- -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ +- -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ +- -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ +- -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ +- -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ +- -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ +- -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ +- -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ +- -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ +- -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ +- -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ +- -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ +- -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ +- -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ +- -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ +- -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ +- -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ +- -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ +- -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ +- -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ +- -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ +- -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ +- -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ +- -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \ +- -e 's/@''GNULIB_MDA_WCSDUP''@/$(GNULIB_MDA_WCSDUP)/g' \ ++ -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ ++ -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \ ++ -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ ++ -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ ++ -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ ++ -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ ++ -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ ++ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \ ++ -e 's/@''GNULIB_WCRTOMB''@/$(GL_GNULIB_WCRTOMB)/g' \ ++ -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \ ++ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \ ++ -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \ ++ -e 's/@''GNULIB_WMEMCHR''@/$(GL_GNULIB_WMEMCHR)/g' \ ++ -e 's/@''GNULIB_WMEMCMP''@/$(GL_GNULIB_WMEMCMP)/g' \ ++ -e 's/@''GNULIB_WMEMCPY''@/$(GL_GNULIB_WMEMCPY)/g' \ ++ -e 's/@''GNULIB_WMEMMOVE''@/$(GL_GNULIB_WMEMMOVE)/g' \ ++ -e 's/@''GNULIB_WMEMPCPY''@/$(GL_GNULIB_WMEMPCPY)/g' \ ++ -e 's/@''GNULIB_WMEMSET''@/$(GL_GNULIB_WMEMSET)/g' \ ++ -e 's/@''GNULIB_WCSLEN''@/$(GL_GNULIB_WCSLEN)/g' \ ++ -e 's/@''GNULIB_WCSNLEN''@/$(GL_GNULIB_WCSNLEN)/g' \ ++ -e 's/@''GNULIB_WCSCPY''@/$(GL_GNULIB_WCSCPY)/g' \ ++ -e 's/@''GNULIB_WCPCPY''@/$(GL_GNULIB_WCPCPY)/g' \ ++ -e 's/@''GNULIB_WCSNCPY''@/$(GL_GNULIB_WCSNCPY)/g' \ ++ -e 's/@''GNULIB_WCPNCPY''@/$(GL_GNULIB_WCPNCPY)/g' \ ++ -e 's/@''GNULIB_WCSCAT''@/$(GL_GNULIB_WCSCAT)/g' \ ++ -e 's/@''GNULIB_WCSNCAT''@/$(GL_GNULIB_WCSNCAT)/g' \ ++ -e 's/@''GNULIB_WCSCMP''@/$(GL_GNULIB_WCSCMP)/g' \ ++ -e 's/@''GNULIB_WCSNCMP''@/$(GL_GNULIB_WCSNCMP)/g' \ ++ -e 's/@''GNULIB_WCSCASECMP''@/$(GL_GNULIB_WCSCASECMP)/g' \ ++ -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_GNULIB_WCSNCASECMP)/g' \ ++ -e 's/@''GNULIB_WCSCOLL''@/$(GL_GNULIB_WCSCOLL)/g' \ ++ -e 's/@''GNULIB_WCSXFRM''@/$(GL_GNULIB_WCSXFRM)/g' \ ++ -e 's/@''GNULIB_WCSDUP''@/$(GL_GNULIB_WCSDUP)/g' \ ++ -e 's/@''GNULIB_WCSCHR''@/$(GL_GNULIB_WCSCHR)/g' \ ++ -e 's/@''GNULIB_WCSRCHR''@/$(GL_GNULIB_WCSRCHR)/g' \ ++ -e 's/@''GNULIB_WCSCSPN''@/$(GL_GNULIB_WCSCSPN)/g' \ ++ -e 's/@''GNULIB_WCSSPN''@/$(GL_GNULIB_WCSSPN)/g' \ ++ -e 's/@''GNULIB_WCSPBRK''@/$(GL_GNULIB_WCSPBRK)/g' \ ++ -e 's/@''GNULIB_WCSSTR''@/$(GL_GNULIB_WCSSTR)/g' \ ++ -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ ++ -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ ++ -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ ++ -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ + < $(srcdir)/wchar.in.h | \ + sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ + -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ +@@ -3760,14 +3800,14 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ + -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ +- -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ +- -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ +- -e 's/@''GNULIB_ISWDIGIT''@/$(GNULIB_ISWDIGIT)/g' \ +- -e 's/@''GNULIB_ISWXDIGIT''@/$(GNULIB_ISWXDIGIT)/g' \ +- -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ +- -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ +- -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ +- -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ ++ -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ ++ -e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \ ++ -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \ ++ -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \ ++ -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \ ++ -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \ ++ -e 's/@''GNULIB_WCTRANS''@/$(GL_GNULIB_WCTRANS)/g' \ ++ -e 's/@''GNULIB_TOWCTRANS''@/$(GL_GNULIB_TOWCTRANS)/g' \ + -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ + -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ + -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ +diff --git a/lib/_Noreturn.h b/lib/_Noreturn.h +index cb72f26..6fed3c7 100644 +--- a/lib/_Noreturn.h ++++ b/lib/_Noreturn.h +@@ -29,7 +29,7 @@ + # elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ +- && (__4 < __GNUC__ + (7 <= __GNUC_MINOR__) \ ++ && (4 < __GNUC__ + (7 <= __GNUC_MINOR__) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) +diff --git a/lib/accept.c b/lib/accept.c +index 4ec4f43..71457db 100644 +--- a/lib/accept.c ++++ b/lib/accept.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/accept4.c b/lib/accept4.c +index b444e22..4c2b80e 100644 +--- a/lib/accept4.c ++++ b/lib/accept4.c +@@ -1,18 +1,18 @@ + /* Accept a connection on a socket, with specific opening flags. + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/alignof.h b/lib/alignof.h +index 6977c3e..e6e7a51 100644 +--- a/lib/alignof.h ++++ b/lib/alignof.h +@@ -1,18 +1,18 @@ + /* Determine alignment of types. + Copyright (C) 2003-2004, 2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _ALIGNOF_H + #define _ALIGNOF_H +diff --git a/lib/alloca.c b/lib/alloca.c +index 91b9ec3..4880283 100644 +--- a/lib/alloca.c ++++ b/lib/alloca.c +@@ -1,5 +1,7 @@ + /* alloca.c -- allocate automatically reclaimed memory +- (Mostly) portable public-domain implementation -- D A Gwyn ++ This file is in the public domain. */ ++ ++/* (Mostly) portable implementation -- D A Gwyn + + This implementation of the PWB library alloca function, + which is used to allocate space off the run-time stack so +diff --git a/lib/alloca.in.h b/lib/alloca.in.h +index 9c7ccbb..65c2d4d 100644 +--- a/lib/alloca.in.h ++++ b/lib/alloca.in.h +@@ -3,20 +3,18 @@ + Copyright (C) 1995, 1999, 2001-2004, 2006-2021 Free Software Foundation, + Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 this program; if not, see +- . +- */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H + means there is a real alloca function. */ +diff --git a/lib/arpa_inet.in.h b/lib/arpa_inet.in.h +index 0ac83ab..9968067 100644 +--- a/lib/arpa_inet.in.h ++++ b/lib/arpa_inet.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2005-2006, 2008-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _@GUARD_PREFIX@_ARPA_INET_H + +diff --git a/lib/asnprintf.c b/lib/asnprintf.c +index 420440a..c5367b2 100644 +--- a/lib/asnprintf.c ++++ b/lib/asnprintf.c +@@ -1,18 +1,18 @@ + /* Formatted output to strings. + Copyright (C) 1999, 2002, 2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/assure.h b/lib/assure.h +index d95c0c9..49aa82f 100644 +--- a/lib/assure.h ++++ b/lib/assure.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2014-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/attribute.h b/lib/attribute.h +index 27a0fce..80a23f5 100644 +--- a/lib/attribute.h ++++ b/lib/attribute.h +@@ -2,15 +2,15 @@ + + Copyright 2020-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 this program. If not, see . */ +@@ -32,7 +32,7 @@ + + + /* This file defines two types of attributes: +- * C2X standard attributes. These have macro names that do not begin with ++ * C2x standard attributes. These have macro names that do not begin with + 'ATTRIBUTE_'. + * Selected GCC attributes; see: + https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html +diff --git a/lib/basename-lgpl.c b/lib/basename-lgpl.c +index 405edfa..5dbd157 100644 +--- a/lib/basename-lgpl.c ++++ b/lib/basename-lgpl.c +@@ -3,12 +3,12 @@ + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2021 Free Software + Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/basename-lgpl.h b/lib/basename-lgpl.h +index 222d21f..d520c09 100644 +--- a/lib/basename-lgpl.h ++++ b/lib/basename-lgpl.h +@@ -1,20 +1,20 @@ +-/* Extract the last component (base name) of a file name. ++/* Extract the last component (base name) of a file name. + +- Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, +- Inc. ++ Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, ++ Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- 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 Lesser General Public License for more details. ++ This file 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 this program. If not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _BASENAME_LGPL_H + #define _BASENAME_LGPL_H +diff --git a/lib/binary-io.c b/lib/binary-io.c +index 83a820a..adc0ae2 100644 +--- a/lib/binary-io.c ++++ b/lib/binary-io.c +@@ -1,12 +1,12 @@ + /* Binary mode I/O. + Copyright 2017-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/binary-io.h b/lib/binary-io.h +index 1dfbe5a..0fa8d54 100644 +--- a/lib/binary-io.h ++++ b/lib/binary-io.h +@@ -1,12 +1,12 @@ + /* Binary mode I/O. + Copyright (C) 2001, 2003, 2005, 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/bind.c b/lib/bind.c +index 87fe0ed..0e47254 100644 +--- a/lib/bind.c ++++ b/lib/bind.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/btowc.c b/lib/btowc.c +index e800878..b8239af 100644 +--- a/lib/btowc.c ++++ b/lib/btowc.c +@@ -2,12 +2,12 @@ + Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/byteswap.in.h b/lib/byteswap.in.h +index c176238..113f878 100644 +--- a/lib/byteswap.in.h ++++ b/lib/byteswap.in.h +@@ -2,12 +2,12 @@ + Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. + Written by Oskar Liljeblad , 2005. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/c-ctype.c b/lib/c-ctype.c +index 5d9d4d8..300f97c 100644 +--- a/lib/c-ctype.c ++++ b/lib/c-ctype.c +@@ -1,3 +1,21 @@ ++/* Character handling in C locale. ++ ++ Copyright (C) 2003-2021 Free Software Foundation, Inc. ++ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ ++ + #include ++ + #define C_CTYPE_INLINE _GL_EXTERN_INLINE + #include "c-ctype.h" +diff --git a/lib/c-ctype.h b/lib/c-ctype.h +index e8403db..3a652ac 100644 +--- a/lib/c-ctype.h ++++ b/lib/c-ctype.h +@@ -7,18 +7,18 @@ + + Copyright (C) 2000-2003, 2006, 2008-2021 Free Software Foundation, Inc. + +-This program 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 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 Lesser General Public License for more details. +- +-You should have received a copy of the GNU Lesser General Public License +-along with this program; if not, see . */ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ + + #ifndef C_CTYPE_H + #define C_CTYPE_H +diff --git a/lib/c-strcase.h b/lib/c-strcase.h +index 8240dbc..82f99bb 100644 +--- a/lib/c-strcase.h ++++ b/lib/c-strcase.h +@@ -2,18 +2,18 @@ + Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2021 Free Software + Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef C_STRCASE_H + #define C_STRCASE_H +diff --git a/lib/c-strcasecmp.c b/lib/c-strcasecmp.c +index 805dc99..3c22455 100644 +--- a/lib/c-strcasecmp.c ++++ b/lib/c-strcasecmp.c +@@ -1,18 +1,18 @@ + /* c-strcasecmp.c -- case insensitive string comparator in C locale + Copyright (C) 1998-1999, 2005-2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/c-strcaseeq.h b/lib/c-strcaseeq.h +index ed979aa..66b9cf3 100644 +--- a/lib/c-strcaseeq.h ++++ b/lib/c-strcaseeq.h +@@ -1,15 +1,15 @@ + /* Optimized case-insensitive string comparison in C locale. + Copyright (C) 2001-2002, 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 this program. If not, see . */ +diff --git a/lib/c-strncasecmp.c b/lib/c-strncasecmp.c +index c3203fd..f3ca786 100644 +--- a/lib/c-strncasecmp.c ++++ b/lib/c-strncasecmp.c +@@ -1,18 +1,18 @@ + /* c-strncasecmp.c -- case insensitive string comparator in C locale + Copyright (C) 1998-1999, 2005-2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/canonicalize-lgpl.c b/lib/canonicalize-lgpl.c +index c6fef17..92e9639 100644 +--- a/lib/canonicalize-lgpl.c ++++ b/lib/canonicalize-lgpl.c +@@ -74,7 +74,6 @@ + # define __pathconf pathconf + # define __rawmemchr rawmemchr + # define __readlink readlink +-# define __stat stat + # if IN_RELOCWRAPPER + /* When building the relocatable program wrapper, use the system's memmove + function, not the gnulib override, otherwise we would get a link error. +@@ -105,7 +104,7 @@ file_accessible (char const *file) + return __faccessat (AT_FDCWD, file, F_OK, AT_EACCESS) == 0; + # else + struct stat st; +- return __stat (file, &st) == 0 || errno == EOVERFLOW; ++ return stat (file, &st) == 0 || errno == EOVERFLOW; + # endif + } + +diff --git a/lib/cdefs.h b/lib/cdefs.h +index 90f9741..4dac9d2 100644 +--- a/lib/cdefs.h ++++ b/lib/cdefs.h +@@ -259,9 +259,7 @@ + # define __attribute_const__ /* Ignore */ + #endif + +-#if defined __STDC_VERSION__ && 201710L < __STDC_VERSION__ +-# define __attribute_maybe_unused__ [[__maybe_unused__]] +-#elif __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) ++#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) + # define __attribute_maybe_unused__ __attribute__ ((__unused__)) + #else + # define __attribute_maybe_unused__ /* Ignore */ +@@ -320,7 +318,9 @@ + #endif + + /* The nonnull function attribute marks pointer parameters that +- must not be NULL. */ ++ must not be NULL. This has the name __nonnull in glibc, ++ and __attribute_nonnull__ in files shared with Gnulib to avoid ++ collision with a different __nonnull in DragonFlyBSD 5.9. */ + #ifndef __attribute_nonnull__ + # if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) + # define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) +@@ -332,6 +332,16 @@ + # define __nonnull(params) __attribute_nonnull__ (params) + #endif + ++/* The returns_nonnull function attribute marks the return type of the function ++ as always being non-null. */ ++#ifndef __returns_nonnull ++# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__) ++# define __returns_nonnull __attribute__ ((__returns_nonnull__)) ++# else ++# define __returns_nonnull ++# endif ++#endif ++ + /* If fortification mode, we warn about unused results of certain + function calls which can lead to problems. */ + #if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__) +@@ -485,9 +495,9 @@ + [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] + #endif + +-/* The #ifndef lets Gnulib avoid including these on non-glibc +- platforms, where the includes typically do not exist. */ +-#ifndef __WORDSIZE ++/* Gnulib avoids including these, as they don't work on non-glibc or ++ older glibc platforms. */ ++#ifndef __GNULIB_CDEFS + # include + # include + #endif +@@ -594,9 +604,26 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf + array according to access mode, or at least one element when + size-index is not provided: + access (access-mode, [, ]) */ +-#define __attr_access(x) __attribute__ ((__access__ x)) ++# define __attr_access(x) __attribute__ ((__access__ x)) ++# if __GNUC_PREREQ (11, 0) ++# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) ++# else ++# define __attr_access_none(argno) ++# endif + #else + # define __attr_access(x) ++# define __attr_access_none(argno) ++#endif ++ ++#if __GNUC_PREREQ (11, 0) ++/* Designates dealloc as a function to call to deallocate objects ++ allocated by the declared function. */ ++# define __attr_dealloc(dealloc, argno) \ ++ __attribute__ ((__malloc__ (dealloc, argno))) ++# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) ++#else ++# define __attr_dealloc(dealloc, argno) ++# define __attr_dealloc_free + #endif + + /* Specify that a function such as setjmp or vfork may return +diff --git a/lib/ceil.c b/lib/ceil.c +index 06e7e5e..fce05d9 100644 +--- a/lib/ceil.c ++++ b/lib/ceil.c +@@ -1,12 +1,12 @@ + /* Round towards positive infinity. + Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/cloexec.c b/lib/cloexec.c +index 1f58b72..7defa93 100644 +--- a/lib/cloexec.c ++++ b/lib/cloexec.c +@@ -2,20 +2,20 @@ + + Copyright (C) 1991, 2004-2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program. If not, see . ++ along with this program. If not, see . */ + +- The code is taken from glibc/manual/llio.texi */ ++/* The code is taken from glibc/manual/llio.texi */ + + #include + +diff --git a/lib/cloexec.h b/lib/cloexec.h +index 7a71ad4..97a3659 100644 +--- a/lib/cloexec.h ++++ b/lib/cloexec.h +@@ -2,20 +2,18 @@ + + Copyright (C) 2004, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program. If not, see . +- +-*/ ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/close.c b/lib/close.c +index 11e31db..5b9ab6c 100644 +--- a/lib/close.c ++++ b/lib/close.c +@@ -1,12 +1,12 @@ + /* close replacement. + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/connect.c b/lib/connect.c +index fe0de7e..b2b2e93 100644 +--- a/lib/connect.c ++++ b/lib/connect.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/copysign.c b/lib/copysign.c +index ad5b102..fee131b 100644 +--- a/lib/copysign.c ++++ b/lib/copysign.c +@@ -1,12 +1,12 @@ + /* Copy sign into another 'double' number. + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/dirent.in.h b/lib/dirent.in.h +index a285bde..5775edf 100644 +--- a/lib/dirent.in.h ++++ b/lib/dirent.in.h +@@ -1,12 +1,12 @@ + /* A GNU-like . + Copyright (C) 2006-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -74,6 +74,30 @@ typedef struct gl_directory DIR; + + /* Declare overridden functions. */ + ++#if @GNULIB_CLOSEDIR@ ++# if @REPLACE_CLOSEDIR@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef closedir ++# define closedir rpl_closedir ++# define GNULIB_defined_closedir 1 ++# endif ++_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); ++_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); ++# else ++# if !@HAVE_CLOSEDIR@ ++_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); ++# endif ++_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp)); ++# endif ++_GL_CXXALIASWARN (closedir); ++#elif defined GNULIB_POSIXCHECK ++# undef closedir ++# if HAVE_RAW_DECL_CLOSEDIR ++_GL_WARN_ON_USE (closedir, "closedir is not portable - " ++ "use gnulib module closedir for portability"); ++# endif ++#endif ++ + #if @GNULIB_OPENDIR@ + # if @REPLACE_OPENDIR@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +@@ -81,20 +105,36 @@ typedef struct gl_directory DIR; + # define opendir rpl_opendir + # define GNULIB_defined_opendir 1 + # endif +-_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); ++_GL_FUNCDECL_RPL (opendir, DIR *, ++ (const char *dir_name) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); + _GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name)); + # else +-# if !@HAVE_OPENDIR@ +-_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); ++# if !@HAVE_OPENDIR@ || __GNUC__ >= 11 ++_GL_FUNCDECL_SYS (opendir, DIR *, ++ (const char *dir_name) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); + # endif + _GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name)); + # endif + _GL_CXXALIASWARN (opendir); +-#elif defined GNULIB_POSIXCHECK +-# undef opendir +-# if HAVE_RAW_DECL_OPENDIR ++#else ++# if @GNULIB_CLOSEDIR@ && __GNUC__ >= 11 && !defined opendir ++/* For -Wmismatched-dealloc: Associate opendir with closedir or ++ rpl_closedir. */ ++_GL_FUNCDECL_SYS (opendir, DIR *, ++ (const char *dir_name) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef opendir ++# if HAVE_RAW_DECL_OPENDIR + _GL_WARN_ON_USE (opendir, "opendir is not portable - " + "use gnulib module opendir for portability"); ++# endif + # endif + #endif + +@@ -126,30 +166,6 @@ _GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - " + # endif + #endif + +-#if @GNULIB_CLOSEDIR@ +-# if @REPLACE_CLOSEDIR@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef closedir +-# define closedir rpl_closedir +-# define GNULIB_defined_closedir 1 +-# endif +-_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +-_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); +-# else +-# if !@HAVE_CLOSEDIR@ +-_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +-# endif +-_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp)); +-# endif +-_GL_CXXALIASWARN (closedir); +-#elif defined GNULIB_POSIXCHECK +-# undef closedir +-# if HAVE_RAW_DECL_CLOSEDIR +-_GL_WARN_ON_USE (closedir, "closedir is not portable - " +- "use gnulib module closedir for portability"); +-# endif +-#endif +- + #if @GNULIB_DIRFD@ + /* Return the file descriptor associated with the given directory stream, + or -1 if none exists. */ +@@ -200,20 +216,33 @@ _GL_WARN_ON_USE (dirfd, "dirfd is unportable - " + # undef fdopendir + # define fdopendir rpl_fdopendir + # endif +-_GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd)); ++_GL_FUNCDECL_RPL (fdopendir, DIR *, ++ (int fd) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); + _GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd)); + # else +-# if !@HAVE_FDOPENDIR@ || !@HAVE_DECL_FDOPENDIR@ +-_GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd)); ++# if !@HAVE_FDOPENDIR@ || !@HAVE_DECL_FDOPENDIR@ || __GNUC__ >= 11 ++_GL_FUNCDECL_SYS (fdopendir, DIR *, ++ (int fd) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); + # endif + _GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd)); + # endif + _GL_CXXALIASWARN (fdopendir); +-#elif defined GNULIB_POSIXCHECK +-# undef fdopendir +-# if HAVE_RAW_DECL_FDOPENDIR ++#else ++# if @GNULIB_CLOSEDIR@ && __GNUC__ >= 11 && !defined fdopendir ++/* For -Wmismatched-dealloc: Associate fdopendir with closedir or ++ rpl_closedir. */ ++_GL_FUNCDECL_SYS (fdopendir, DIR *, ++ (int fd) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef fdopendir ++# if HAVE_RAW_DECL_FDOPENDIR + _GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - " + "use gnulib module fdopendir for portability"); ++# endif + # endif + #endif + +diff --git a/lib/dirfd.c b/lib/dirfd.c +index 7da640f..640cb4f 100644 +--- a/lib/dirfd.c ++++ b/lib/dirfd.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2001, 2006, 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/dirname-lgpl.c b/lib/dirname-lgpl.c +index 9cc5db7..95f9c99 100644 +--- a/lib/dirname-lgpl.c ++++ b/lib/dirname-lgpl.c +@@ -3,12 +3,12 @@ + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2021 Free Software + Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/dirname.h b/lib/dirname.h +index dce1859..25abc7b 100644 +--- a/lib/dirname.h ++++ b/lib/dirname.h +@@ -1,26 +1,26 @@ +-/* Take file names apart into directory and base names. ++/* Take file names apart into directory and base names. + +- Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, +- Inc. ++ Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, ++ Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- 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 Lesser General Public License for more details. ++ This file 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 this program. If not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef DIRNAME_H_ + # define DIRNAME_H_ 1 + + # include +-# include ++# include + # include "filename.h" + # include "basename-lgpl.h" + +@@ -33,11 +33,16 @@ extern "C" { + #endif + + # if GNULIB_DIRNAME +-char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC; +-char *dir_name (char const *file); ++char *base_name (char const *file) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE ++ _GL_ATTRIBUTE_RETURNS_NONNULL; ++char *dir_name (char const *file) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE ++ _GL_ATTRIBUTE_RETURNS_NONNULL; + # endif + +-char *mdir_name (char const *file); ++char *mdir_name (char const *file) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; + size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; + + bool strip_trailing_slashes (char *file); +diff --git a/lib/dup2.c b/lib/dup2.c +index 653ef89..53e5552 100644 +--- a/lib/dup2.c ++++ b/lib/dup2.c +@@ -2,12 +2,12 @@ + + Copyright (C) 1999, 2004-2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/duplocale.c b/lib/duplocale.c +index 430634d..bc8740d 100644 +--- a/lib/duplocale.c ++++ b/lib/duplocale.c +@@ -1,12 +1,12 @@ + /* Duplicate a locale object. + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/dynarray.h b/lib/dynarray.h +index 5db6ed9..ec64273 100644 +--- a/lib/dynarray.h ++++ b/lib/dynarray.h +@@ -1,12 +1,12 @@ + /* Type-safe arrays which grow dynamically. + Copyright 2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -257,18 +257,22 @@ static DYNARRAY_ELEMENT * + + #if defined DYNARRAY_STRUCT || defined DYNARRAY_ELEMENT || defined DYNARRAY_PREFIX + +-# include ++# ifndef _GL_LIKELY ++/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. */ ++# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) ++# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) ++# endif + + /* Define auxiliary structs and declare auxiliary functions, common to all + instantiations of dynarray. */ +-# include ++# include + + /* Define the instantiation, specified through + DYNARRAY_STRUCT + DYNARRAY_ELEMENT + DYNARRAY_PREFIX + etc. */ +-# include ++# include + + #else + +diff --git a/lib/errno.in.h b/lib/errno.in.h +index 0ae2ace..3cad9e2 100644 +--- a/lib/errno.in.h ++++ b/lib/errno.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _@GUARD_PREFIX@_ERRNO_H + +diff --git a/lib/fcntl.c b/lib/fcntl.c +index e6c4b8e..c744eb9 100644 +--- a/lib/fcntl.c ++++ b/lib/fcntl.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h +index 7254a56..26dedc3 100644 +--- a/lib/fcntl.in.h ++++ b/lib/fcntl.in.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2006-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/fd-hook.c b/lib/fd-hook.c +index f8e2781..75b1626 100644 +--- a/lib/fd-hook.c ++++ b/lib/fd-hook.c +@@ -2,15 +2,15 @@ + Copyright (C) 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 this program. If not, see . */ +diff --git a/lib/fd-hook.h b/lib/fd-hook.h +index 0005db7..98e2a52 100644 +--- a/lib/fd-hook.h ++++ b/lib/fd-hook.h +@@ -1,15 +1,15 @@ + /* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 this program. If not, see . */ +diff --git a/lib/float+.h b/lib/float+.h +index d814bf1..ad891f6 100644 +--- a/lib/float+.h ++++ b/lib/float+.h +@@ -2,18 +2,18 @@ + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _FLOATPLUS_H + #define _FLOATPLUS_H +diff --git a/lib/float.c b/lib/float.c +index 5c16d61..dd1e84a 100644 +--- a/lib/float.c ++++ b/lib/float.c +@@ -2,12 +2,12 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/float.in.h b/lib/float.in.h +index 1179df5..f52aba3 100644 +--- a/lib/float.in.h ++++ b/lib/float.in.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/floor.c b/lib/floor.c +index 9f13d16..1530300 100644 +--- a/lib/floor.c ++++ b/lib/floor.c +@@ -1,12 +1,12 @@ + /* Round towards negative infinity. + Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/free.c b/lib/free.c +index b221241..780f03d 100644 +--- a/lib/free.c ++++ b/lib/free.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2003, 2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/frexp.c b/lib/frexp.c +index 55340b8..ab5f343 100644 +--- a/lib/frexp.c ++++ b/lib/frexp.c +@@ -1,12 +1,12 @@ + /* Split a double into fraction and mantissa. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/fstat.c b/lib/fstat.c +index 30440d6..512c688 100644 +--- a/lib/fstat.c ++++ b/lib/fstat.c +@@ -1,12 +1,12 @@ + /* fstat() replacement. + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/fsync.c b/lib/fsync.c +index 71fcdde..99a932d 100644 +--- a/lib/fsync.c ++++ b/lib/fsync.c +@@ -9,15 +9,15 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This 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. ++ This file 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. + +- This library is distributed in the hope that it will be useful, ++ This file 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. ++ 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 this program. If not, see . */ +diff --git a/lib/full-read.c b/lib/full-read.c +index 32ff1a5..53be659 100644 +--- a/lib/full-read.c ++++ b/lib/full-read.c +@@ -1,12 +1,12 @@ + /* An interface to read that retries after partial reads and interrupts. + Copyright (C) 2002-2003, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/full-read.h b/lib/full-read.h +index 450d645..b36f2e1 100644 +--- a/lib/full-read.h ++++ b/lib/full-read.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2002, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/full-write.c b/lib/full-write.c +index acbfc31..614ca0b 100644 +--- a/lib/full-write.c ++++ b/lib/full-write.c +@@ -2,12 +2,12 @@ + + Copyright (C) 1993-1994, 1997-2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/full-write.h b/lib/full-write.h +index 1220d05..c316224 100644 +--- a/lib/full-write.h ++++ b/lib/full-write.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2002-2003, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/gai_strerror.c b/lib/gai_strerror.c +index 907e8e6..4874ef5 100644 +--- a/lib/gai_strerror.c ++++ b/lib/gai_strerror.c +@@ -3,18 +3,18 @@ + This file is part of the GNU C Library. + Contributed by Philip Blundell , 1997. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _LIBC + # include +diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c +index 05fc59e..0c42d1b 100644 +--- a/lib/getaddrinfo.c ++++ b/lib/getaddrinfo.c +@@ -2,18 +2,18 @@ + Copyright (C) 1997, 2001-2002, 2004-2021 Free Software Foundation, Inc. + Contributed by Simon Josefsson . + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc + optimizes away the sa == NULL test below. */ +diff --git a/lib/getdtablesize.c b/lib/getdtablesize.c +index 918db9d..5006c2d 100644 +--- a/lib/getdtablesize.c ++++ b/lib/getdtablesize.c +@@ -2,12 +2,12 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/getlogin.c b/lib/getlogin.c +index 4a70994..7b78c67 100644 +--- a/lib/getlogin.c ++++ b/lib/getlogin.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2010-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/getpeername.c b/lib/getpeername.c +index 5d9cf79..468bb3d 100644 +--- a/lib/getpeername.c ++++ b/lib/getpeername.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/getrandom.c b/lib/getrandom.c +index b467caa..a186c4d 100644 +--- a/lib/getrandom.c ++++ b/lib/getrandom.c +@@ -2,12 +2,12 @@ + + Copyright 2020-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -178,7 +178,11 @@ getrandom (void *buffer, size_t length, unsigned int flags) + + (flags & GRND_NONBLOCK ? O_NONBLOCK : 0)); + fd = open (randdevice[devrandom], oflags); + if (fd < 0) +- return fd; ++ { ++ if (errno == ENOENT || errno == ENOTDIR) ++ errno = ENOSYS; ++ return -1; ++ } + randfd[devrandom] = fd; + } + +diff --git a/lib/getsockname.c b/lib/getsockname.c +index 83c1b7d..d1f17b3 100644 +--- a/lib/getsockname.c ++++ b/lib/getsockname.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/getsockopt.c b/lib/getsockopt.c +index cec4933..b92d034 100644 +--- a/lib/getsockopt.c ++++ b/lib/getsockopt.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/gettext.h b/lib/gettext.h +index dd05cda..f1c7a24 100644 +--- a/lib/gettext.h ++++ b/lib/gettext.h +@@ -2,18 +2,18 @@ + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2021 Free Software + Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _LIBGETTEXT_H + #define _LIBGETTEXT_H 1 +diff --git a/lib/hard-locale.c b/lib/hard-locale.c +index ab3610d..8b6802d 100644 +--- a/lib/hard-locale.c ++++ b/lib/hard-locale.c +@@ -3,12 +3,12 @@ + Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2021 Free Software + Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/hard-locale.h b/lib/hard-locale.h +index c4449f9..eba6601 100644 +--- a/lib/hard-locale.h ++++ b/lib/hard-locale.h +@@ -2,12 +2,12 @@ + + Copyright (C) 1999, 2003-2004, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/iconv.c b/lib/iconv.c +index f3480aa..bf51493 100644 +--- a/lib/iconv.c ++++ b/lib/iconv.c +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 1999-2001, 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/iconv.in.h b/lib/iconv.in.h +index 0fc0fa7..3a2f94e 100644 +--- a/lib/iconv.in.h ++++ b/lib/iconv.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _@GUARD_PREFIX@_ICONV_H + +diff --git a/lib/iconv_close.c b/lib/iconv_close.c +index bc40fec..7429b92 100644 +--- a/lib/iconv_close.c ++++ b/lib/iconv_close.c +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/iconv_open-aix.gperf b/lib/iconv_open-aix.gperf +index 20ce70a..d073759 100644 +--- a/lib/iconv_open-aix.gperf ++++ b/lib/iconv_open-aix.gperf +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; + %struct-type +diff --git a/lib/iconv_open-hpux.gperf b/lib/iconv_open-hpux.gperf +index 921c722..f4664d6 100644 +--- a/lib/iconv_open-hpux.gperf ++++ b/lib/iconv_open-hpux.gperf +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + struct mapping { int standard_name; const char vendor_name[9 + 1]; }; + %struct-type +diff --git a/lib/iconv_open-irix.gperf b/lib/iconv_open-irix.gperf +index 6241de6..9885d92 100644 +--- a/lib/iconv_open-irix.gperf ++++ b/lib/iconv_open-irix.gperf +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; + %struct-type +diff --git a/lib/iconv_open-osf.gperf b/lib/iconv_open-osf.gperf +index 97d570c..d818d79 100644 +--- a/lib/iconv_open-osf.gperf ++++ b/lib/iconv_open-osf.gperf +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; + %struct-type +diff --git a/lib/iconv_open-solaris.gperf b/lib/iconv_open-solaris.gperf +index 0283aba..648dd3a 100644 +--- a/lib/iconv_open-solaris.gperf ++++ b/lib/iconv_open-solaris.gperf +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2007, 2009, 2020-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; + %struct-type +diff --git a/lib/iconv_open-zos.gperf b/lib/iconv_open-zos.gperf +index faf5d65..1c3552e 100644 +--- a/lib/iconv_open-zos.gperf ++++ b/lib/iconv_open-zos.gperf +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2019-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; + %struct-type +diff --git a/lib/iconv_open.c b/lib/iconv_open.c +index 304592e..e573556 100644 +--- a/lib/iconv_open.c ++++ b/lib/iconv_open.c +@@ -1,18 +1,18 @@ + /* Character set conversion. + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/iconveh.h b/lib/iconveh.h +index b2be8fa..cbf692e 100644 +--- a/lib/iconveh.h ++++ b/lib/iconveh.h +@@ -2,12 +2,12 @@ + Copyright (C) 2001-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c +index 5b9ea11..409e88c 100644 +--- a/lib/inet_ntop.c ++++ b/lib/inet_ntop.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2005-2006, 2008-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* + * Copyright (c) 1996-1999 by Internet Software Consortium. +diff --git a/lib/inet_pton.c b/lib/inet_pton.c +index 57dc7dc..14e8b0a 100644 +--- a/lib/inet_pton.c ++++ b/lib/inet_pton.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2006, 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h +index fe0af82..41cb422 100644 +--- a/lib/inttypes.in.h ++++ b/lib/inttypes.in.h +@@ -2,12 +2,12 @@ + Written by Paul Eggert, Bruno Haible, Derek Price. + This file is part of gnulib. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/isfinite.c b/lib/isfinite.c +index cfd2d33..f1373b9 100644 +--- a/lib/isfinite.c ++++ b/lib/isfinite.c +@@ -1,18 +1,18 @@ + /* Test for finite value (zero, subnormal, or normal, and not infinite or NaN). + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Written by Ben Pfaff , 2007. */ + +diff --git a/lib/isinf.c b/lib/isinf.c +index 6d4dfc0..62becf2 100644 +--- a/lib/isinf.c ++++ b/lib/isinf.c +@@ -1,18 +1,18 @@ + /* Test for positive or negative infinity. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Written by Ben Pfaff , 2008. */ + +diff --git a/lib/isnan.c b/lib/isnan.c +index 2282269..ed3452f 100644 +--- a/lib/isnan.c ++++ b/lib/isnan.c +@@ -1,12 +1,12 @@ + /* Test for NaN that does not need libm. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/isnand-nolibm.h b/lib/isnand-nolibm.h +index fbed474..df64f4e 100644 +--- a/lib/isnand-nolibm.h ++++ b/lib/isnand-nolibm.h +@@ -1,12 +1,12 @@ + /* Test for NaN that does not need libm. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/isnand.c b/lib/isnand.c +index f359130..7c5df90 100644 +--- a/lib/isnand.c ++++ b/lib/isnand.c +@@ -1,12 +1,12 @@ + /* Test for NaN that does not need libm. + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/isnanf-nolibm.h b/lib/isnanf-nolibm.h +index ba609d5..bd85811 100644 +--- a/lib/isnanf-nolibm.h ++++ b/lib/isnanf-nolibm.h +@@ -1,12 +1,12 @@ + /* Test for NaN that does not need libm. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/isnanf.c b/lib/isnanf.c +index 94a32e5..3b60340 100644 +--- a/lib/isnanf.c ++++ b/lib/isnanf.c +@@ -1,12 +1,12 @@ + /* Test for NaN that does not need libm. + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/isnanl-nolibm.h b/lib/isnanl-nolibm.h +index 797c06b..41fe156 100644 +--- a/lib/isnanl-nolibm.h ++++ b/lib/isnanl-nolibm.h +@@ -1,12 +1,12 @@ + /* Test for NaN that does not need libm. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/isnanl.c b/lib/isnanl.c +index b459560..e8dedf0 100644 +--- a/lib/isnanl.c ++++ b/lib/isnanl.c +@@ -1,12 +1,12 @@ + /* Test for NaN that does not need libm. + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/itold.c b/lib/itold.c +index f52216a..7984866 100644 +--- a/lib/itold.c ++++ b/lib/itold.c +@@ -2,12 +2,12 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/langinfo.in.h b/lib/langinfo.in.h +index e8ac12c..4873899 100644 +--- a/lib/langinfo.in.h ++++ b/lib/langinfo.in.h +@@ -1,18 +1,18 @@ + /* Substitute for and wrapper around . + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* + * POSIX for platforms that lack it or have an incomplete one. +diff --git a/lib/lc-charset-dispatch.c b/lib/lc-charset-dispatch.c +index 98c6e9d..88a0bd3 100644 +--- a/lib/lc-charset-dispatch.c ++++ b/lib/lc-charset-dispatch.c +@@ -1,12 +1,12 @@ + /* Dispatching based on the current locale's character encoding. + Copyright (C) 2018-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/lc-charset-dispatch.h b/lib/lc-charset-dispatch.h +index d9d1ac1..59b485d 100644 +--- a/lib/lc-charset-dispatch.h ++++ b/lib/lc-charset-dispatch.h +@@ -1,12 +1,12 @@ + /* Dispatching based on the current locale's character encoding. + Copyright (C) 2018-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/libc-config.h b/lib/libc-config.h +index f14013f..886c11f 100644 +--- a/lib/libc-config.h ++++ b/lib/libc-config.h +@@ -28,7 +28,10 @@ + + When compiled as part of glibc this is a no-op; when compiled as + part of Gnulib this includes Gnulib's and defines macros +- that glibc library code would normally assume. */ ++ that glibc library code would normally assume. ++ ++ Note: This header file MUST NOT be included by public header files ++ of Gnulib. */ + + #include + +@@ -71,7 +74,7 @@ + # endif + #endif + +-#ifndef __attribute_maybe_unused__ ++#ifndef __attribute_nonnull__ + /* either does not exist, or is too old for Gnulib. + Prepare to include , which is Gnulib's version of a + more-recent glibc . */ +@@ -80,13 +83,9 @@ + # ifndef _FEATURES_H + # define _FEATURES_H 1 + # endif +-/* Define __WORDSIZE so that does not attempt to include +- nonexistent files. Make it a syntax error, since Gnulib does not +- use __WORDSIZE now, and if Gnulib uses it later the syntax error +- will let us know that __WORDSIZE needs configuring. */ +-# ifndef __WORDSIZE +-# define __WORDSIZE %%% +-# endif ++/* Define __GNULIB_CDEFS so that does not attempt to include ++ nonexistent files. */ ++# define __GNULIB_CDEFS + /* Undef the macros unconditionally defined by our copy of glibc + , so that they do not clash with any system-defined + versions. */ +@@ -118,6 +117,9 @@ + # undef __THROW + # undef __THROWNL + # undef __attr_access ++# undef __attr_access_none ++# undef __attr_dealloc ++# undef __attr_dealloc_free + # undef __attribute__ + # undef __attribute_alloc_size__ + # undef __attribute_artificial__ +diff --git a/lib/libunistring.valgrind b/lib/libunistring.valgrind +index 712c39a..9eee19a 100644 +--- a/lib/libunistring.valgrind ++++ b/lib/libunistring.valgrind +@@ -2,18 +2,26 @@ + + # Copyright (C) 2010-2021 Free Software Foundation, Inc. + # +-# This program 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 of the License, or +-# (at your option) any later version. ++# This file is free software. ++# It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". ++# You can redistribute it and/or modify it under either ++# - the terms of the GNU Lesser General Public License as published ++# by the Free Software Foundation; either version 3, or (at your ++# option) any later version, or ++# - the terms of the GNU General Public License as published by the ++# Free Software Foundation; either version 2, or (at your option) ++# any later version, or ++# - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". + # + # 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 +-# Lesser General Public License for more details. ++# Lesser General Public License and the GNU General Public License ++# for more details. + # +-# You should have received a copy of the GNU Lesser General Public License +-# along with this program. If not, see . ++# You should have received a copy of the GNU Lesser General Public ++# License and of the GNU General Public License along with this ++# program. If not, see . + + # Suppress a valgrind message about use of uninitialized memory in freea(). + # This use is OK because it provides only a speedup. +diff --git a/lib/limits.in.h b/lib/limits.in.h +index 4675ba4..2ecafeb 100644 +--- a/lib/limits.in.h ++++ b/lib/limits.in.h +@@ -2,18 +2,18 @@ + + Copyright 2016-2021 Free Software Foundation, Inc. + +- This program 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, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +@@ -99,10 +99,11 @@ + # endif + #endif + +-/* Macros specified by ISO/IEC TS 18661-1:2014. */ ++/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ + + #if (! defined ULLONG_WIDTH \ +- && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__)) ++ && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \ ++ || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) + # define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX) + # define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX) + # define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX) +@@ -114,7 +115,16 @@ + # define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX) + # define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX) + # define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) +-#endif /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */ ++#endif ++ ++/* Macros specified by C2x. */ ++ ++#if (! defined BOOL_WIDTH \ ++ && (defined _GNU_SOURCE \ ++ || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) ++# define BOOL_MAX 1 ++# define BOOL_WIDTH 1 ++#endif + + #endif /* _@GUARD_PREFIX@_LIMITS_H */ + #endif /* _@GUARD_PREFIX@_LIMITS_H */ +diff --git a/lib/link.c b/lib/link.c +index 3ba897a..bd4bef9 100644 +--- a/lib/link.c ++++ b/lib/link.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/listen.c b/lib/listen.c +index ccf881c..a145f82 100644 +--- a/lib/listen.c ++++ b/lib/listen.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/localcharset.c b/lib/localcharset.c +index 87a5979..9c22050 100644 +--- a/lib/localcharset.c ++++ b/lib/localcharset.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2000-2006, 2008-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Written by Bruno Haible . */ + +diff --git a/lib/localcharset.h b/lib/localcharset.h +index c2c1c67..27c3ab6 100644 +--- a/lib/localcharset.h ++++ b/lib/localcharset.h +@@ -2,18 +2,18 @@ + Copyright (C) 2000-2003, 2009-2021 Free Software Foundation, Inc. + This file is part of the GNU CHARSET Library. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _LOCALCHARSET_H + #define _LOCALCHARSET_H +diff --git a/lib/locale.in.h b/lib/locale.in.h +index 4eb3c80..1063070 100644 +--- a/lib/locale.in.h ++++ b/lib/locale.in.h +@@ -1,12 +1,12 @@ + /* A POSIX . + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/localeconv.c b/lib/localeconv.c +index cdcaf86..25e95a1 100644 +--- a/lib/localeconv.c ++++ b/lib/localeconv.c +@@ -1,12 +1,12 @@ + /* Query locale dependent information for formatting numbers. + Copyright (C) 2012-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/log.c b/lib/log.c +index 03e9ac9..3f142e8 100644 +--- a/lib/log.c ++++ b/lib/log.c +@@ -1,12 +1,12 @@ + /* Logarithm. + Copyright (C) 2012-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/log1p.c b/lib/log1p.c +index 0e51498..c45c6ff 100644 +--- a/lib/log1p.c ++++ b/lib/log1p.c +@@ -1,12 +1,12 @@ + /* Natural logarithm of 1 plus argument. + Copyright (C) 2012-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/lstat.c b/lib/lstat.c +index d414d3a..7de0bf1 100644 +--- a/lib/lstat.c ++++ b/lib/lstat.c +@@ -2,12 +2,12 @@ + + Copyright (C) 1997-2006, 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/malloc.c b/lib/malloc.c +index 6bbb97d..0d8b359 100644 +--- a/lib/malloc.c ++++ b/lib/malloc.c +@@ -2,61 +2,50 @@ + + Copyright (C) 1997-1998, 2006-2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* written by Jim Meyering and Bruno Haible */ + + #define _GL_USE_STDLIB_ALLOC 1 + #include +-/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ +-#ifdef malloc +-# define NEED_MALLOC_GNU 1 +-# undef malloc +-/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ +-#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU +-# define NEED_MALLOC_GNU 1 +-#endif + + #include + +-/* A function definition is only needed if NEED_MALLOC_GNU is defined above +- or if the module 'malloc-posix' requests it. */ +-#if NEED_MALLOC_GNU || (GNULIB_MALLOC_POSIX && !HAVE_MALLOC_POSIX) ++#include + +-# include ++#include "xalloc-oversized.h" + +-/* Allocate an N-byte block of memory from the heap. +- If N is zero, allocate a 1-byte block. */ ++/* Allocate an N-byte block of memory from the heap, even if N is 0. */ + + void * + rpl_malloc (size_t n) + { +- void *result; +- +-# if NEED_MALLOC_GNU + if (n == 0) + n = 1; +-# endif + +- result = malloc (n); ++ if (xalloc_oversized (n, 1)) ++ { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ void *result = malloc (n); + +-# if !HAVE_MALLOC_POSIX ++#if !HAVE_MALLOC_POSIX + if (result == NULL) + errno = ENOMEM; +-# endif ++#endif + + return result; + } +- +-#endif +diff --git a/lib/malloc/dynarray_at_failure.c b/lib/malloc/dynarray_at_failure.c +index 4f840db..8dd6850 100644 +--- a/lib/malloc/dynarray_at_failure.c ++++ b/lib/malloc/dynarray_at_failure.c +@@ -18,11 +18,11 @@ + + #ifndef _LIBC + # include ++# include + #endif + + #include + #include +-#include + + void + __libc_dynarray_at_failure (size_t size, size_t index) +@@ -32,6 +32,7 @@ __libc_dynarray_at_failure (size_t size, size_t index) + __snprintf (buf, sizeof (buf), "Fatal glibc error: " + "array index %zu not less than array length %zu\n", + index, size); ++ __libc_fatal (buf); + #else + abort (); + #endif +diff --git a/lib/malloca.c b/lib/malloca.c +index a546b30..b488423 100644 +--- a/lib/malloca.c ++++ b/lib/malloca.c +@@ -2,18 +2,18 @@ + Copyright (C) 2003, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2003, 2018. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #define _GL_USE_STDLIB_ALLOC 1 + #include +@@ -21,6 +21,8 @@ + /* Specification. */ + #include "malloca.h" + ++#include "idx.h" ++#include "intprops.h" + #include "verify.h" + + /* The speed critical point in this file is freea() applied to an alloca() +@@ -45,24 +47,30 @@ mmalloca (size_t n) + #if HAVE_ALLOCA + /* Allocate one more word, used to determine the address to pass to freea(), + and room for the alignment ≡ sa_alignment_max mod 2*sa_alignment_max. */ +- size_t nplus = n + sizeof (small_t) + 2 * sa_alignment_max - 1; +- +- if (nplus >= n) ++ uintptr_t alignment2_mask = 2 * sa_alignment_max - 1; ++ int plus = sizeof (small_t) + alignment2_mask; ++ idx_t nplus; ++ if (!INT_ADD_WRAPV (n, plus, &nplus) && !xalloc_oversized (nplus, 1)) + { + char *mem = (char *) malloc (nplus); + + if (mem != NULL) + { +- char *p = +- (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_max - 1) +- & ~(uintptr_t)(2 * sa_alignment_max - 1)) +- + sa_alignment_max); ++ uintptr_t umem = (uintptr_t)mem, umemplus; ++ /* The INT_ADD_WRAPV avoids signed integer overflow on ++ theoretical platforms where UINTPTR_MAX <= INT_MAX. */ ++ INT_ADD_WRAPV (umem, sizeof (small_t) + sa_alignment_max - 1, ++ &umemplus); ++ idx_t offset = ((umemplus & ~alignment2_mask) ++ + sa_alignment_max - umem); ++ void *vp = mem + offset; ++ small_t *p = vp; + /* Here p >= mem + sizeof (small_t), + and p <= mem + sizeof (small_t) + 2 * sa_alignment_max - 1 + hence p + n <= mem + nplus. + So, the memory range [p, p+n) lies in the allocated memory range + [mem, mem + nplus). */ +- ((small_t *) p)[-1] = p - mem; ++ p[-1] = offset; + /* p ≡ sa_alignment_max mod 2*sa_alignment_max. */ + return p; + } +diff --git a/lib/malloca.h b/lib/malloca.h +index 9cf7fbb..7eb63d2 100644 +--- a/lib/malloca.h ++++ b/lib/malloca.h +@@ -2,18 +2,18 @@ + Copyright (C) 2003-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2003. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _MALLOCA_H + #define _MALLOCA_H +@@ -51,6 +51,13 @@ extern "C" { + # define safe_alloca(N) ((void) (N), NULL) + #endif + ++/* Free a block of memory allocated through malloca(). */ ++#if HAVE_ALLOCA ++extern void freea (void *p); ++#else ++# define freea free ++#endif ++ + /* malloca(N) is a safe variant of alloca(N). It allocates N bytes of + memory allocated on the stack, that must be freed using freea() before + the function returns. Upon failure, it returns NULL. */ +@@ -65,21 +72,16 @@ extern "C" { + # define malloca(N) \ + mmalloca (N) + #endif +-extern void * mmalloca (size_t n); +- +-/* Free a block of memory allocated through malloca(). */ +-#if HAVE_ALLOCA +-extern void freea (void *p); +-#else +-# define freea free +-#endif ++extern void *mmalloca (size_t n) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (freea, 1) ++ _GL_ATTRIBUTE_ALLOC_SIZE ((1)); + + /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S). + It allocates an array of N objects, each with S bytes of memory, +- on the stack. S must be positive and N must be nonnegative. +- Either N or S should be of type ptrdiff_t or size_t or wider. ++ on the stack. N and S should be nonnegative and free of side effects. + The array must be freed using freea() before the function returns. */ +-#define nmalloca(n, s) (xalloc_oversized (n, s) ? NULL : malloca ((n) * (s))) ++#define nmalloca(n, s) \ ++ (xalloc_oversized (n, s) ? NULL : malloca ((n) * (size_t) (s))) + + + #ifdef __cplusplus +diff --git a/lib/math.c b/lib/math.c +index ba2a6ab..3ffd1d7 100644 +--- a/lib/math.c ++++ b/lib/math.c +@@ -1,4 +1,22 @@ ++/* Inline functions for . ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ ++ + #include ++ + #define _GL_MATH_INLINE _GL_EXTERN_INLINE + #include "math.h" + typedef int dummy; +diff --git a/lib/math.in.h b/lib/math.in.h +index d80047c..6a055fb 100644 +--- a/lib/math.in.h ++++ b/lib/math.in.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2002-2003, 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbrtowc-impl-utf8.h b/lib/mbrtowc-impl-utf8.h +index ea5ef1f..330fb10 100644 +--- a/lib/mbrtowc-impl-utf8.h ++++ b/lib/mbrtowc-impl-utf8.h +@@ -1,12 +1,12 @@ + /* Convert multibyte character to wide character. + Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbrtowc-impl.h b/lib/mbrtowc-impl.h +index f7e28fc..bc3e688 100644 +--- a/lib/mbrtowc-impl.h ++++ b/lib/mbrtowc-impl.h +@@ -1,12 +1,12 @@ + /* Convert multibyte character to wide character. + Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbrtowc.c b/lib/mbrtowc.c +index 0db5104..8832f6e 100644 +--- a/lib/mbrtowc.c ++++ b/lib/mbrtowc.c +@@ -2,12 +2,12 @@ + Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbsinit.c b/lib/mbsinit.c +index 7ca8df7..f440155 100644 +--- a/lib/mbsinit.c ++++ b/lib/mbsinit.c +@@ -2,12 +2,12 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbtowc-impl.h b/lib/mbtowc-impl.h +index 01342af..30d715d 100644 +--- a/lib/mbtowc-impl.h ++++ b/lib/mbtowc-impl.h +@@ -2,12 +2,12 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbtowc-lock.c b/lib/mbtowc-lock.c +index ce74793..0f7ae6c 100644 +--- a/lib/mbtowc-lock.c ++++ b/lib/mbtowc-lock.c +@@ -1,12 +1,12 @@ + /* Return the internal lock used by mbrtowc and mbrtoc32. + Copyright (C) 2019-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbtowc-lock.h b/lib/mbtowc-lock.h +index 0939517..d31b0b6 100644 +--- a/lib/mbtowc-lock.h ++++ b/lib/mbtowc-lock.h +@@ -1,12 +1,12 @@ + /* Use the internal lock used by mbrtowc and mbrtoc32. + Copyright (C) 2019-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mbtowc.c b/lib/mbtowc.c +index 2711194..47b431a 100644 +--- a/lib/mbtowc.c ++++ b/lib/mbtowc.c +@@ -2,12 +2,12 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/memchr.c b/lib/memchr.c +index d8feb19..56fd59d 100644 +--- a/lib/memchr.c ++++ b/lib/memchr.c +@@ -7,21 +7,21 @@ + adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), + and implemented by Roland McGrath (roland@ai.mit.edu). + +-NOTE: The canonical source of this file is maintained with the GNU C Library. +-Bugs can be reported to bug-glibc@prep.ai.mit.edu. ++ NOTE: The canonical source of this file is maintained with the GNU C Library. ++ Bugs can be reported to bug-glibc@prep.ai.mit.edu. + +-This program 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 3 of the License, or any +-later version. ++ This file 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. + +-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 Lesser General Public License for more details. ++ This file 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 this program. If not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _LIBC + # include +diff --git a/lib/memchr.valgrind b/lib/memchr.valgrind +index 034d1ee..4f16481 100644 +--- a/lib/memchr.valgrind ++++ b/lib/memchr.valgrind +@@ -2,12 +2,12 @@ + + # Copyright (C) 2009-2021 Free Software Foundation, Inc. + # +-# This program 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 3 of the License, or +-# (at your option) any later version. ++# This file 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. + # +-# This program is distributed in the hope that it will be useful, ++# This file 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. +diff --git a/lib/mempcpy.c b/lib/mempcpy.c +index c80e119..cacacdb 100644 +--- a/lib/mempcpy.c ++++ b/lib/mempcpy.c +@@ -1,18 +1,18 @@ + /* Copy memory area and return pointer after last written byte. + Copyright (C) 2003, 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/minmax.h b/lib/minmax.h +index 7d0b672..a03361b 100644 +--- a/lib/minmax.h ++++ b/lib/minmax.h +@@ -2,18 +2,18 @@ + Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2021 Free Software + Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _MINMAX_H + #define _MINMAX_H +diff --git a/lib/mkdir.c b/lib/mkdir.c +index 453e428..2766cc7 100644 +--- a/lib/mkdir.c ++++ b/lib/mkdir.c +@@ -3,12 +3,12 @@ + + Copyright (C) 2001, 2003, 2006, 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/mkostemp.c b/lib/mkostemp.c +index cfab635..285f1ba 100644 +--- a/lib/mkostemp.c ++++ b/lib/mkostemp.c +@@ -2,12 +2,12 @@ + Foundation, Inc. + This file is derived from the one in the GNU C Library. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/msvc-inval.c b/lib/msvc-inval.c +index de6ebee..a23dac9 100644 +--- a/lib/msvc-inval.c ++++ b/lib/msvc-inval.c +@@ -1,18 +1,18 @@ + /* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/msvc-inval.h b/lib/msvc-inval.h +index 0d418e1..e115a35 100644 +--- a/lib/msvc-inval.h ++++ b/lib/msvc-inval.h +@@ -1,18 +1,18 @@ + /* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _MSVC_INVAL_H + #define _MSVC_INVAL_H +diff --git a/lib/msvc-nothrow.c b/lib/msvc-nothrow.c +index e72dabe..d3c1f54 100644 +--- a/lib/msvc-nothrow.c ++++ b/lib/msvc-nothrow.c +@@ -2,18 +2,18 @@ + with MSVC runtime libraries. + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/msvc-nothrow.h b/lib/msvc-nothrow.h +index a56cd4e..057b5dd 100644 +--- a/lib/msvc-nothrow.h ++++ b/lib/msvc-nothrow.h +@@ -2,18 +2,18 @@ + with MSVC runtime libraries. + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _MSVC_NOTHROW_H + #define _MSVC_NOTHROW_H +diff --git a/lib/netdb.in.h b/lib/netdb.in.h +index 6bcaf1a..eb5c960 100644 +--- a/lib/netdb.in.h ++++ b/lib/netdb.in.h +@@ -2,18 +2,18 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Simon Josefsson. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* This file is supposed to be used on platforms that lack . + It is intended to provide definitions and prototypes needed by an +diff --git a/lib/netinet_in.in.h b/lib/netinet_in.in.h +index 3c1cad6..21f3a64 100644 +--- a/lib/netinet_in.in.h ++++ b/lib/netinet_in.in.h +@@ -1,18 +1,18 @@ + /* Substitute for . + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _@GUARD_PREFIX@_NETINET_IN_H + +diff --git a/lib/nl_langinfo-lock.c b/lib/nl_langinfo-lock.c +index 915c38b..fcdf56d 100644 +--- a/lib/nl_langinfo-lock.c ++++ b/lib/nl_langinfo-lock.c +@@ -1,12 +1,12 @@ + /* Return the internal lock used by nl_langinfo. + Copyright (C) 2019-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/nl_langinfo.c b/lib/nl_langinfo.c +index e8f3cef..b481f20 100644 +--- a/lib/nl_langinfo.c ++++ b/lib/nl_langinfo.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/nproc.c b/lib/nproc.c +index fef1f8b..e3ddb92 100644 +--- a/lib/nproc.c ++++ b/lib/nproc.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Glen Lenker and Bruno Haible. */ + +diff --git a/lib/nproc.h b/lib/nproc.h +index cd3ed36..d7659a5 100644 +--- a/lib/nproc.h ++++ b/lib/nproc.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Glen Lenker and Bruno Haible. */ + +diff --git a/lib/nstrftime.c b/lib/nstrftime.c +index 7ef7529..7f258e8 100644 +--- a/lib/nstrftime.c ++++ b/lib/nstrftime.c +@@ -1,19 +1,18 @@ + /* Copyright (C) 1991-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. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- The GNU C Library is distributed in the hope that it will be useful, ++ This file 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. ++ 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 +- . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifdef _LIBC + # define USE_IN_EXTENDED_LOCALE_MODEL 1 +diff --git a/lib/open.c b/lib/open.c +index 5dc117e..372cda8 100644 +--- a/lib/open.c ++++ b/lib/open.c +@@ -1,12 +1,12 @@ + /* Open a descriptor to a file. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/pathmax.h b/lib/pathmax.h +index 4af7802..716f4a9 100644 +--- a/lib/pathmax.h ++++ b/lib/pathmax.h +@@ -2,18 +2,18 @@ + Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2021 Free Software + Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _PATHMAX_H + # define _PATHMAX_H +diff --git a/lib/pipe.c b/lib/pipe.c +index 3316ceb..fc978f2 100644 +--- a/lib/pipe.c ++++ b/lib/pipe.c +@@ -1,18 +1,18 @@ + /* Create a pipe. + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/pipe2.c b/lib/pipe2.c +index 25bce6f..9ba8c3b 100644 +--- a/lib/pipe2.c ++++ b/lib/pipe2.c +@@ -1,18 +1,18 @@ + /* Create a pipe, with specific opening flags. + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/poll.c b/lib/poll.c +index d787676..8d5ba96 100644 +--- a/lib/poll.c ++++ b/lib/poll.c +@@ -5,18 +5,18 @@ + + This file is part of gnulib. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Tell gcc not to warn about the (nfd < 0) tests, below. */ + #if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__ +diff --git a/lib/poll.in.h b/lib/poll.in.h +index 1fe8370..e94cd31 100644 +--- a/lib/poll.in.h ++++ b/lib/poll.in.h +@@ -5,18 +5,18 @@ + + This file is part of gnulib. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _@GUARD_PREFIX@_POLL_H + +diff --git a/lib/printf-args.c b/lib/printf-args.c +index 22e44ef..b822682 100644 +--- a/lib/printf-args.c ++++ b/lib/printf-args.c +@@ -2,18 +2,18 @@ + Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2021 Free Software + Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* This file can be parametrized with the following macros: + ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. +diff --git a/lib/printf-args.h b/lib/printf-args.h +index d15b12d..c8d9174 100644 +--- a/lib/printf-args.h ++++ b/lib/printf-args.h +@@ -2,18 +2,18 @@ + Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2021 Free Software + Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _PRINTF_ARGS_H + #define _PRINTF_ARGS_H +diff --git a/lib/printf-parse.c b/lib/printf-parse.c +index 9f97995..f21cc17 100644 +--- a/lib/printf-parse.c ++++ b/lib/printf-parse.c +@@ -1,18 +1,18 @@ + /* Formatted output to strings. + Copyright (C) 1999-2000, 2002-2003, 2006-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* This file can be parametrized with the following macros: + CHAR_T The element type of the format string. +@@ -48,16 +48,7 @@ + #include + + /* Get intmax_t. */ +-#if defined IN_LIBINTL || defined IN_LIBASPRINTF +-# if HAVE_STDINT_H_WITH_UINTMAX +-# include +-# endif +-# if HAVE_INTTYPES_H_WITH_UINTMAX +-# include +-# endif +-#else +-# include +-#endif ++#include + + /* malloc(), realloc(), free(). */ + #include +diff --git a/lib/printf-parse.h b/lib/printf-parse.h +index e05ac8f..77b7409 100644 +--- a/lib/printf-parse.h ++++ b/lib/printf-parse.h +@@ -2,18 +2,18 @@ + Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2021 Free Software + Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _PRINTF_PARSE_H + #define _PRINTF_PARSE_H +diff --git a/lib/putenv.c b/lib/putenv.c +index d342b81..435d10f 100644 +--- a/lib/putenv.c ++++ b/lib/putenv.c +@@ -4,12 +4,12 @@ + NOTE: The canonical source of this file is maintained with the GNU C + Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. + +- This program 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 3 of the License, or any +- later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/raise.c b/lib/raise.c +index eda9126..37c100d 100644 +--- a/lib/raise.c ++++ b/lib/raise.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2002-2003, 2005-2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/rawmemchr.c b/lib/rawmemchr.c +index ef35689..896d435 100644 +--- a/lib/rawmemchr.c ++++ b/lib/rawmemchr.c +@@ -1,12 +1,12 @@ + /* Searching in a string. + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/rawmemchr.valgrind b/lib/rawmemchr.valgrind +index 90ed95e..d489c32 100644 +--- a/lib/rawmemchr.valgrind ++++ b/lib/rawmemchr.valgrind +@@ -2,12 +2,12 @@ + + # Copyright (C) 2008-2021 Free Software Foundation, Inc. + # +-# This program 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 3 of the License, or +-# (at your option) any later version. ++# This file 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. + # +-# This program is distributed in the hope that it will be useful, ++# This file 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. +diff --git a/lib/read.c b/lib/read.c +index 125e738..840d9ed 100644 +--- a/lib/read.c ++++ b/lib/read.c +@@ -2,12 +2,12 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/readlink.c b/lib/readlink.c +index 38d9e0c..d4f4b08 100644 +--- a/lib/readlink.c ++++ b/lib/readlink.c +@@ -1,12 +1,12 @@ + /* Read the contents of a symbolic link. + Copyright (C) 2003-2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/realloc.c b/lib/realloc.c +index 1145514..af03f0c 100644 +--- a/lib/realloc.c ++++ b/lib/realloc.c +@@ -3,12 +3,12 @@ + Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2021 Free Software + Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -18,68 +18,46 @@ + + /* written by Jim Meyering and Bruno Haible */ + +-#define _GL_USE_STDLIB_ALLOC 1 + #include + +-/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ +-#ifdef realloc +-# define NEED_REALLOC_GNU 1 +-/* Whereas the gnulib module 'realloc-gnu' defines HAVE_REALLOC_GNU. */ +-#elif GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU +-# define NEED_REALLOC_GNU 1 +-#endif +- +-/* Infer the properties of the system's malloc function. +- The gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ +-#if GNULIB_MALLOC_GNU && HAVE_MALLOC_GNU +-# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 +-#endif +- + #include + +-/* A function definition is only needed if NEED_REALLOC_GNU is defined above +- or if the module 'realloc-posix' requests it. */ +-#if NEED_REALLOC_GNU || (GNULIB_REALLOC_POSIX && !HAVE_REALLOC_POSIX) ++#include ++ ++#include "xalloc-oversized.h" + +-# include ++/* Call the system's realloc below. This file does not define ++ _GL_USE_STDLIB_ALLOC because it needs Gnulib's malloc if present. */ ++#undef realloc + + /* Change the size of an allocated block of memory P to N bytes, +- with error checking. If N is zero, change it to 1. If P is NULL, +- use malloc. */ ++ with error checking. If P is NULL, use malloc. Otherwise if N is zero, ++ free P and return NULL. */ + + void * + rpl_realloc (void *p, size_t n) + { +- void *result; ++ if (p == NULL) ++ return malloc (n); + +-# if NEED_REALLOC_GNU + if (n == 0) + { +- n = 1; +- +- /* In theory realloc might fail, so don't rely on it to free. */ + free (p); +- p = NULL; ++ return NULL; + } +-# endif + +- if (p == NULL) ++ if (xalloc_oversized (n, 1)) + { +-# if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE +- if (n == 0) +- n = 1; +-# endif +- result = malloc (n); ++ errno = ENOMEM; ++ return NULL; + } +- else +- result = realloc (p, n); + +-# if !HAVE_REALLOC_POSIX ++ void *result = realloc (p, n); ++ ++#if !HAVE_MALLOC_POSIX + if (result == NULL) + errno = ENOMEM; +-# endif ++#endif + + return result; + } +- +-#endif +diff --git a/lib/recv.c b/lib/recv.c +index f2a342f..3eb2b4d 100644 +--- a/lib/recv.c ++++ b/lib/recv.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/recvfrom.c b/lib/recvfrom.c +index 8abda0c..25231ff 100644 +--- a/lib/recvfrom.c ++++ b/lib/recvfrom.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/regex_internal.c b/lib/regex_internal.c +index 55f6b66..aefcfa2 100644 +--- a/lib/regex_internal.c ++++ b/lib/regex_internal.c +@@ -1211,6 +1211,10 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src) + + if (__glibc_unlikely (dest->nelem == 0)) + { ++ /* Although we already guaranteed above that dest->alloc != 0 and ++ therefore dest->elems != NULL, add a debug assertion to pacify ++ GCC 11.2.1's -fanalyzer. */ ++ DEBUG_ASSERT (dest->elems); + dest->nelem = src->nelem; + memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); + return REG_NOERROR; +@@ -1286,7 +1290,10 @@ re_node_set_insert (re_node_set *set, Idx elem) + + if (__glibc_unlikely (set->nelem) == 0) + { +- /* We already guaranteed above that set->alloc != 0. */ ++ /* Although we already guaranteed above that set->alloc != 0 and ++ therefore set->elems != NULL, add a debug assertion to pacify ++ GCC 11.2 -fanalyzer. */ ++ DEBUG_ASSERT (set->elems); + set->elems[0] = elem; + ++set->nelem; + return true; +diff --git a/lib/regexec.c b/lib/regexec.c +index 6309dea..5e4eb49 100644 +--- a/lib/regexec.c ++++ b/lib/regexec.c +@@ -1220,9 +1220,13 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, + { + re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes; + re_node_set *edests = &dfa->edests[node]; +- bool ok = re_node_set_insert (eps_via_nodes, node); +- if (__glibc_unlikely (! ok)) +- return -2; ++ ++ if (! re_node_set_contains (eps_via_nodes, node)) ++ { ++ bool ok = re_node_set_insert (eps_via_nodes, node); ++ if (__glibc_unlikely (! ok)) ++ return -2; ++ } + + /* Pick a valid destination, or return -1 if none is found. */ + Idx dest_node = -1; +@@ -1414,7 +1418,7 @@ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, + update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); + + if ((idx == pmatch[0].rm_eo && cur_node == mctx->last_node) +- || re_node_set_contains (&eps_via_nodes, cur_node)) ++ || (fs && re_node_set_contains (&eps_via_nodes, cur_node))) + { + Idx reg_idx; + cur_node = -1; +diff --git a/lib/rename.c b/lib/rename.c +index 4873025..a3b7dc6 100644 +--- a/lib/rename.c ++++ b/lib/rename.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2001-2003, 2005-2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/rmdir.c b/lib/rmdir.c +index a99fb1e..6295e41 100644 +--- a/lib/rmdir.c ++++ b/lib/rmdir.c +@@ -3,12 +3,12 @@ + Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2021 Free Software + Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/round.c b/lib/round.c +index 47a3936..5525050 100644 +--- a/lib/round.c ++++ b/lib/round.c +@@ -1,18 +1,18 @@ + /* Round toward nearest, breaking ties away from zero. + Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Written by Ben Pfaff , 2007. + Based heavily on code by Bruno Haible. */ +diff --git a/lib/safe-read.c b/lib/safe-read.c +index a4a1b08..e187b12 100644 +--- a/lib/safe-read.c ++++ b/lib/safe-read.c +@@ -3,12 +3,12 @@ + Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2021 Free Software + Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/safe-read.h b/lib/safe-read.h +index 5050124..111aff5 100644 +--- a/lib/safe-read.h ++++ b/lib/safe-read.h +@@ -1,12 +1,12 @@ + /* An interface to read() that retries after interrupts. + Copyright (C) 2002, 2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/safe-write.c b/lib/safe-write.c +index f8b3b8b..494de14 100644 +--- a/lib/safe-write.c ++++ b/lib/safe-write.c +@@ -1,12 +1,12 @@ + /* An interface to write that retries after interrupts. + Copyright (C) 2002, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/safe-write.h b/lib/safe-write.h +index 459629e..25d8c71 100644 +--- a/lib/safe-write.h ++++ b/lib/safe-write.h +@@ -1,12 +1,12 @@ + /* An interface to write() that retries after interrupts. + Copyright (C) 2002, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/same-inode.h b/lib/same-inode.h +index 45e322a8..c727777 100644 +--- a/lib/same-inode.h ++++ b/lib/same-inode.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/scratch_buffer.h b/lib/scratch_buffer.h +index 4b17f72..8873577 100644 +--- a/lib/scratch_buffer.h ++++ b/lib/scratch_buffer.h +@@ -1,12 +1,12 @@ + /* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2017-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -110,14 +110,18 @@ extern void *scratch_buffer_dupfree (struct scratch_buffer *buffer, + + /* The implementation is imported from glibc. */ + +-#include +- + /* Avoid possible conflicts with symbols exported by the GNU libc. */ + #define __libc_scratch_buffer_dupfree gl_scratch_buffer_dupfree + #define __libc_scratch_buffer_grow gl_scratch_buffer_grow + #define __libc_scratch_buffer_grow_preserve gl_scratch_buffer_grow_preserve + #define __libc_scratch_buffer_set_array_size gl_scratch_buffer_set_array_size + +-#include ++#ifndef _GL_LIKELY ++/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. */ ++# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) ++# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) ++#endif ++ ++#include + + #endif /* _GL_SCRATCH_BUFFER_H */ +diff --git a/lib/select.c b/lib/select.c +index 9a6fc28..eddac4b 100644 +--- a/lib/select.c ++++ b/lib/select.c +@@ -5,18 +5,18 @@ + + This file is part of gnulib. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +@@ -530,12 +530,13 @@ restart: + if (h != handle_array[nhandles]) + { + /* Perform handle->descriptor mapping. */ +- WSAEventSelect ((SOCKET) h, NULL, 0); +- if (FD_ISSET (h, &handle_rfds)) ++ SOCKET s = (SOCKET) h; ++ WSAEventSelect (s, NULL, 0); ++ if (FD_ISSET (s, &handle_rfds)) + FD_SET (i, rfds); +- if (FD_ISSET (h, &handle_wfds)) ++ if (FD_ISSET (s, &handle_wfds)) + FD_SET (i, wfds); +- if (FD_ISSET (h, &handle_xfds)) ++ if (FD_ISSET (s, &handle_xfds)) + FD_SET (i, xfds); + } + else +diff --git a/lib/send.c b/lib/send.c +index 3625864..58cb70b 100644 +--- a/lib/send.c ++++ b/lib/send.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/sendto.c b/lib/sendto.c +index 5372a66..029ccd6 100644 +--- a/lib/sendto.c ++++ b/lib/sendto.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/setenv.c b/lib/setenv.c +index 5374044..3ad3477 100644 +--- a/lib/setenv.c ++++ b/lib/setenv.c +@@ -1,12 +1,12 @@ + /* Copyright (C) 1992, 1995-2003, 2005-2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/setlocale-lock.c b/lib/setlocale-lock.c +index 3cb5d47..53e231c 100644 +--- a/lib/setlocale-lock.c ++++ b/lib/setlocale-lock.c +@@ -1,12 +1,12 @@ + /* Return the internal lock used by setlocale_null_r. + Copyright (C) 2019-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/setlocale_null.c b/lib/setlocale_null.c +index 4c50472..dbfda25 100644 +--- a/lib/setlocale_null.c ++++ b/lib/setlocale_null.c +@@ -1,12 +1,12 @@ + /* Query the name of the current global locale. + Copyright (C) 2019-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/setlocale_null.h b/lib/setlocale_null.h +index bf96fa4..00c42e2 100644 +--- a/lib/setlocale_null.h ++++ b/lib/setlocale_null.h +@@ -1,12 +1,12 @@ + /* Query the name of the current global locale. + Copyright (C) 2019-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/setsockopt.c b/lib/setsockopt.c +index db32996..10b1e90 100644 +--- a/lib/setsockopt.c ++++ b/lib/setsockopt.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/shutdown.c b/lib/shutdown.c +index c5527cd..70c927c 100644 +--- a/lib/shutdown.c ++++ b/lib/shutdown.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/signal.in.h b/lib/signal.in.h +index b211137..275da8c 100644 +--- a/lib/signal.in.h ++++ b/lib/signal.in.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2006-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/signbitd.c b/lib/signbitd.c +index 2992dd4..2259771 100644 +--- a/lib/signbitd.c ++++ b/lib/signbitd.c +@@ -1,12 +1,12 @@ + /* signbit() macro: Determine the sign bit of a floating-point number. + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/signbitf.c b/lib/signbitf.c +index 01be49a..b196d9a 100644 +--- a/lib/signbitf.c ++++ b/lib/signbitf.c +@@ -1,12 +1,12 @@ + /* signbit() macro: Determine the sign bit of a floating-point number. + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/signbitl.c b/lib/signbitl.c +index 6e0f64e..f73802d 100644 +--- a/lib/signbitl.c ++++ b/lib/signbitl.c +@@ -1,12 +1,12 @@ + /* signbit() macro: Determine the sign bit of a floating-point number. + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/size_max.h b/lib/size_max.h +index c6d4a18..1186ba9 100644 +--- a/lib/size_max.h ++++ b/lib/size_max.h +@@ -2,18 +2,18 @@ + Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc. + Written by Simon Josefsson. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef GNULIB_SIZE_MAX_H + #define GNULIB_SIZE_MAX_H +diff --git a/lib/snprintf.c b/lib/snprintf.c +index 357f287..a589cf1 100644 +--- a/lib/snprintf.c ++++ b/lib/snprintf.c +@@ -2,18 +2,18 @@ + Copyright (C) 2004, 2006-2021 Free Software Foundation, Inc. + Written by Simon Josefsson and Paul Eggert. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #include + +diff --git a/lib/socket.c b/lib/socket.c +index 8525260..0f2e6ff 100644 +--- a/lib/socket.c ++++ b/lib/socket.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/sockets.c b/lib/sockets.c +index 394b01e..934da73 100644 +--- a/lib/sockets.c ++++ b/lib/sockets.c +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/sockets.h b/lib/sockets.h +index a13b0cb..e70c2bb 100644 +--- a/lib/sockets.h ++++ b/lib/sockets.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/stat-time.c b/lib/stat-time.c +index 81b83dd..7b92792 100644 +--- a/lib/stat-time.c ++++ b/lib/stat-time.c +@@ -1,3 +1,21 @@ ++/* stat-related time functions. ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ ++ + #include ++ + #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE + #include "stat-time.h" +diff --git a/lib/stat-time.h b/lib/stat-time.h +index 00c9329..fe3483d 100644 +--- a/lib/stat-time.h ++++ b/lib/stat-time.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/stat-w32.c b/lib/stat-w32.c +index fe505cb..4164199 100644 +--- a/lib/stat-w32.c ++++ b/lib/stat-w32.c +@@ -1,12 +1,12 @@ + /* Core of implementation of fstat and stat for native Windows. + Copyright (C) 2017-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/stat-w32.h b/lib/stat-w32.h +index 05c9b0f..5b56c09 100644 +--- a/lib/stat-w32.h ++++ b/lib/stat-w32.h +@@ -1,12 +1,12 @@ + /* Core of implementation of fstat and stat for native Windows. + Copyright (C) 2017-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/stat.c b/lib/stat.c +index 39a1269..bc9a767 100644 +--- a/lib/stat.c ++++ b/lib/stat.c +@@ -1,12 +1,12 @@ + /* Work around platform bugs in stat. + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h +index 7b51043..592d58e 100644 +--- a/lib/stdalign.in.h ++++ b/lib/stdalign.in.h +@@ -2,18 +2,18 @@ + + Copyright 2011-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Paul Eggert and Bruno Haible. */ + +diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h +index c404f8d..2a1992d 100644 +--- a/lib/stdbool.in.h ++++ b/lib/stdbool.in.h +@@ -1,18 +1,18 @@ + /* Copyright (C) 2001-2003, 2006-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _GL_STDBOOL_H + #define _GL_STDBOOL_H +diff --git a/lib/stddef.in.h b/lib/stddef.in.h +index 4c53e64..42290d4 100644 +--- a/lib/stddef.in.h ++++ b/lib/stddef.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Eric Blake. */ + +diff --git a/lib/stdint.in.h b/lib/stdint.in.h +index a98f1c8..85c5418 100644 +--- a/lib/stdint.in.h ++++ b/lib/stdint.in.h +@@ -2,18 +2,18 @@ + Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. + This file is part of gnulib. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* + * ISO C 99 for platforms that lack it. +@@ -85,7 +85,7 @@ + + /* Override WINT_MIN and WINT_MAX if gnulib's or overrides + wint_t. */ +-#if @GNULIB_OVERRIDES_WINT_T@ ++#if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # undef WINT_MIN + # undef WINT_MAX + # define WINT_MIN 0x0U +@@ -598,7 +598,7 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) + /* wint_t limits */ + /* If gnulib's or overrides wint_t, @WINT_T_SUFFIX@ is not + accurate, therefore use the definitions from above. */ +-# if !@GNULIB_OVERRIDES_WINT_T@ ++# if !@GNULIBHEADERS_OVERRIDE_WINT_T@ + # undef WINT_MIN + # undef WINT_MAX + # if @HAVE_SIGNED_WINT_T@ +diff --git a/lib/stdio.in.h b/lib/stdio.in.h +index 6e10c74..f1bf817 100644 +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2004, 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +@@ -242,7 +242,7 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - " + _GL_CXXALIAS_MDA (fcloseall, int, (void)); + # else + # if @HAVE_DECL_FCLOSEALL@ +-# if defined __FreeBSD__ ++# if defined __FreeBSD__ || defined __DragonFly__ + _GL_CXXALIAS_SYS (fcloseall, void, (void)); + # else + _GL_CXXALIAS_SYS (fcloseall, int, (void)); +@@ -260,8 +260,9 @@ _GL_CXXALIASWARN (fcloseall); + # undef fdopen + # define fdopen rpl_fdopen + # endif +-_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode) +- _GL_ARG_NONNULL ((2))); ++_GL_FUNCDECL_RPL (fdopen, FILE *, ++ (int fd, const char *mode) ++ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode)); + # elif defined _WIN32 && !defined __CYGWIN__ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +@@ -270,28 +271,42 @@ _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode)); + # endif + _GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode)); + # else ++# if __GNUC__ >= 11 ++/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */ ++_GL_FUNCDECL_SYS (fdopen, FILE *, ++ (int fd, const char *mode) ++ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); ++# endif + _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); + # endif + _GL_CXXALIASWARN (fdopen); +-#elif defined GNULIB_POSIXCHECK +-# undef fdopen ++#else ++# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fdopen ++/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */ ++_GL_FUNCDECL_SYS (fdopen, FILE *, ++ (int fd, const char *mode) ++ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef fdopen + /* Assume fdopen is always declared. */ + _GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - " + "use gnulib module fdopen for portability"); +-#elif @GNULIB_MDA_FDOPEN@ ++# elif @GNULIB_MDA_FDOPEN@ + /* On native Windows, map 'fdopen' to '_fdopen', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::fdopen always. */ +-# if defined _WIN32 && !defined __CYGWIN__ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef fdopen +-# define fdopen _fdopen +-# endif ++# if defined _WIN32 && !defined __CYGWIN__ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef fdopen ++# define fdopen _fdopen ++# endif + _GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode)); +-# else ++# else + _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); +-# endif ++# endif + _GL_CXXALIASWARN (fdopen); ++# endif + #endif + + #if @GNULIB_FFLUSH@ +@@ -380,21 +395,35 @@ _GL_CXXALIASWARN (fileno); + # endif + _GL_FUNCDECL_RPL (fopen, FILE *, + (const char *restrict filename, const char *restrict mode) +- _GL_ARG_NONNULL ((1, 2))); ++ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_CXXALIAS_RPL (fopen, FILE *, + (const char *restrict filename, const char *restrict mode)); + # else ++# if __GNUC__ >= 11 ++/* For -Wmismatched-dealloc: Associate fopen with fclose or rpl_fclose. */ ++_GL_FUNCDECL_SYS (fopen, FILE *, ++ (const char *restrict filename, const char *restrict mode) ++ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); ++# endif + _GL_CXXALIAS_SYS (fopen, FILE *, + (const char *restrict filename, const char *restrict mode)); + # endif + # if __GLIBC__ >= 2 + _GL_CXXALIASWARN (fopen); + # endif +-#elif defined GNULIB_POSIXCHECK +-# undef fopen ++#else ++# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fopen ++/* For -Wmismatched-dealloc: Associate fopen with fclose or rpl_fclose. */ ++_GL_FUNCDECL_SYS (fopen, FILE *, ++ (const char *restrict filename, const char *restrict mode) ++ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef fopen + /* Assume fopen is always declared. */ + _GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX compliant - " + "use gnulib module fopen for portability"); ++# endif + #endif + + #if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@ +@@ -1009,22 +1038,32 @@ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - " + # undef popen + # define popen rpl_popen + # endif +-_GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode) +- _GL_ARG_NONNULL ((1, 2))); ++_GL_FUNCDECL_RPL (popen, FILE *, ++ (const char *cmd, const char *mode) ++ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); + _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode)); + # else +-# if !@HAVE_POPEN@ +-_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode) +- _GL_ARG_NONNULL ((1, 2))); ++# if !@HAVE_POPEN@ || __GNUC__ >= 11 ++_GL_FUNCDECL_SYS (popen, FILE *, ++ (const char *cmd, const char *mode) ++ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); + # endif + _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode)); + # endif + _GL_CXXALIASWARN (popen); +-#elif defined GNULIB_POSIXCHECK +-# undef popen +-# if HAVE_RAW_DECL_POPEN ++#else ++# if @GNULIB_PCLOSE@ && __GNUC__ >= 11 && !defined popen ++/* For -Wmismatched-dealloc: Associate popen with pclose or rpl_pclose. */ ++_GL_FUNCDECL_SYS (popen, FILE *, ++ (const char *cmd, const char *mode) ++ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef popen ++# if HAVE_RAW_DECL_POPEN + _GL_WARN_ON_USE (popen, "popen is buggy on some platforms - " + "use gnulib module popen or pipe for more portability"); ++# endif + # endif + #endif + +@@ -1257,6 +1296,7 @@ _GL_CXXALIASWARN (scanf); + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define snprintf rpl_snprintf + # endif ++# define GNULIB_overrides_snprintf 1 + _GL_FUNCDECL_RPL (snprintf, int, + (char *restrict str, size_t size, + const char *restrict format, ...) +@@ -1302,6 +1342,7 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define sprintf rpl_sprintf + # endif ++# define GNULIB_overrides_sprintf 1 + _GL_FUNCDECL_RPL (sprintf, int, + (char *restrict str, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) +@@ -1344,19 +1385,32 @@ _GL_CXXALIASWARN (tempnam); + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define tmpfile rpl_tmpfile + # endif +-_GL_FUNCDECL_RPL (tmpfile, FILE *, (void)); ++_GL_FUNCDECL_RPL (tmpfile, FILE *, (void) ++ _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_CXXALIAS_RPL (tmpfile, FILE *, (void)); + # else ++# if __GNUC__ >= 11 ++/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */ ++_GL_FUNCDECL_SYS (tmpfile, FILE *, (void) ++ _GL_ATTRIBUTE_DEALLOC (fclose, 1)); ++# endif + _GL_CXXALIAS_SYS (tmpfile, FILE *, (void)); + # endif + # if __GLIBC__ >= 2 + _GL_CXXALIASWARN (tmpfile); + # endif +-#elif defined GNULIB_POSIXCHECK +-# undef tmpfile +-# if HAVE_RAW_DECL_TMPFILE ++#else ++# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined tmpfile ++/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */ ++_GL_FUNCDECL_SYS (tmpfile, FILE *, (void) ++ _GL_ATTRIBUTE_DEALLOC (fclose, 1)); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef tmpfile ++# if HAVE_RAW_DECL_TMPFILE + _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - " + "use gnulib module tmpfile for portability"); ++# endif + # endif + #endif + +@@ -1369,6 +1423,7 @@ _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - " + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define asprintf rpl_asprintf + # endif ++# define GNULIB_overrides_asprintf + _GL_FUNCDECL_RPL (asprintf, int, + (char **result, const char *format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) +@@ -1390,6 +1445,7 @@ _GL_CXXALIASWARN (asprintf); + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define vasprintf rpl_vasprintf + # endif ++# define GNULIB_overrides_vasprintf 1 + _GL_FUNCDECL_RPL (vasprintf, int, + (char **result, const char *format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) +@@ -1573,6 +1629,7 @@ _GL_CXXALIASWARN (vscanf); + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define vsnprintf rpl_vsnprintf + # endif ++# define GNULIB_overrides_vsnprintf 1 + _GL_FUNCDECL_RPL (vsnprintf, int, + (char *restrict str, size_t size, + const char *restrict format, va_list args) +@@ -1609,6 +1666,7 @@ _GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable - " + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define vsprintf rpl_vsprintf + # endif ++# define GNULIB_overrides_vsprintf 1 + _GL_FUNCDECL_RPL (vsprintf, int, + (char *restrict str, + const char *restrict format, va_list args) +diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h +index 7e01262..d86a880 100644 +--- a/lib/stdlib.in.h ++++ b/lib/stdlib.in.h +@@ -2,12 +2,12 @@ + + Copyright (C) 1995, 2001-2004, 2006-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -149,6 +149,28 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " + #endif + + ++#if @GNULIB_FREE_POSIX@ ++# if @REPLACE_FREE@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef free ++# define free rpl_free ++# endif ++_GL_FUNCDECL_RPL (free, void, (void *ptr)); ++_GL_CXXALIAS_RPL (free, void, (void *ptr)); ++# else ++_GL_CXXALIAS_SYS (free, void, (void *ptr)); ++# endif ++# if __GLIBC__ >= 2 ++_GL_CXXALIASWARN (free); ++# endif ++#elif defined GNULIB_POSIXCHECK ++# undef free ++/* Assume free is always declared. */ ++_GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - " ++ "use gnulib module free for portability"); ++#endif ++ ++ + /* Allocate memory with indefinite extent and specified alignment. */ + #if @GNULIB_ALIGNED_ALLOC@ + # if @REPLACE_ALIGNED_ALLOC@ +@@ -156,21 +178,37 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " + # undef aligned_alloc + # define aligned_alloc rpl_aligned_alloc + # endif +-_GL_FUNCDECL_RPL (aligned_alloc, void *, (size_t alignment, size_t size)); ++_GL_FUNCDECL_RPL (aligned_alloc, void *, ++ (size_t alignment, size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size)); + # else + # if @HAVE_ALIGNED_ALLOC@ ++# if __GNUC__ >= 11 ++/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (aligned_alloc, void *, ++ (size_t alignment, size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif + _GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size)); + # endif + # endif + # if @HAVE_ALIGNED_ALLOC@ + _GL_CXXALIASWARN (aligned_alloc); + # endif +-#elif defined GNULIB_POSIXCHECK +-# undef aligned_alloc +-# if HAVE_RAW_DECL_ALIGNED_ALLOC ++#else ++# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined aligned_alloc ++/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (aligned_alloc, void *, ++ (size_t alignment, size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef aligned_alloc ++# if HAVE_RAW_DECL_ALIGNED_ALLOC + _GL_WARN_ON_USE (aligned_alloc, "aligned_alloc is not portable - " + "use gnulib module aligned_alloc for portability"); ++# endif + # endif + #endif + +@@ -198,19 +236,35 @@ _GL_WARN_ON_USE (atoll, "atoll is unportable - " + # undef calloc + # define calloc rpl_calloc + # endif +-_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size)); ++_GL_FUNCDECL_RPL (calloc, void *, ++ (size_t nmemb, size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size)); + # else ++# if __GNUC__ >= 11 ++/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (calloc, void *, ++ (size_t nmemb, size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif + _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size)); + # endif + # if __GLIBC__ >= 2 + _GL_CXXALIASWARN (calloc); + # endif +-#elif defined GNULIB_POSIXCHECK +-# undef calloc ++#else ++# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined calloc ++/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (calloc, void *, ++ (size_t nmemb, size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef calloc + /* Assume calloc is always declared. */ + _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - " + "use gnulib module calloc-posix for portability"); ++# endif + #endif + + #if @GNULIB_CANONICALIZE_FILE_NAME@ +@@ -218,13 +272,17 @@ _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - " + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define canonicalize_file_name rpl_canonicalize_file_name + # endif +-_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name) +- _GL_ARG_NONNULL ((1))); ++_GL_FUNCDECL_RPL (canonicalize_file_name, char *, ++ (const char *name) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name)); + # else +-# if !@HAVE_CANONICALIZE_FILE_NAME@ +-_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name) +- _GL_ARG_NONNULL ((1))); ++# if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11 ++_GL_FUNCDECL_SYS (canonicalize_file_name, char *, ++ (const char *name) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + # endif + _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name)); + # endif +@@ -233,12 +291,22 @@ _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name)); + (!@HAVE_CANONICALIZE_FILE_NAME@ || @REPLACE_CANONICALIZE_FILE_NAME@) + # endif + _GL_CXXALIASWARN (canonicalize_file_name); +-#elif defined GNULIB_POSIXCHECK +-# undef canonicalize_file_name +-# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME ++#else ++# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined canonicalize_file_name ++/* For -Wmismatched-dealloc: Associate canonicalize_file_name with free or ++ rpl_free. */ ++_GL_FUNCDECL_SYS (canonicalize_file_name, char *, ++ (const char *name) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef canonicalize_file_name ++# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME + _GL_WARN_ON_USE (canonicalize_file_name, + "canonicalize_file_name is unportable - " + "use gnulib module canonicalize-lgpl for portability"); ++# endif + # endif + #endif + +@@ -288,27 +356,6 @@ _GL_CXXALIASWARN (fcvt); + # endif + #endif + +-#if @GNULIB_FREE_POSIX@ +-# if @REPLACE_FREE@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef free +-# define free rpl_free +-# endif +-_GL_FUNCDECL_RPL (free, void, (void *ptr)); +-_GL_CXXALIAS_RPL (free, void, (void *ptr)); +-# else +-_GL_CXXALIAS_SYS (free, void, (void *ptr)); +-# endif +-# if __GLIBC__ >= 2 +-_GL_CXXALIASWARN (free); +-# endif +-#elif defined GNULIB_POSIXCHECK +-# undef free +-/* Assume free is always declared. */ +-_GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - " +- "use gnulib module free for portability"); +-#endif +- + #if @GNULIB_MDA_GCVT@ + /* On native Windows, map 'gcvt' to '_gcvt', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between +@@ -404,19 +451,35 @@ _GL_WARN_ON_USE (grantpt, "grantpt is not portable - " + # undef malloc + # define malloc rpl_malloc + # endif +-_GL_FUNCDECL_RPL (malloc, void *, (size_t size)); ++_GL_FUNCDECL_RPL (malloc, void *, ++ (size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (malloc, void *, (size_t size)); + # else ++# if __GNUC__ >= 11 ++/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (malloc, void *, ++ (size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif + _GL_CXXALIAS_SYS (malloc, void *, (size_t size)); + # endif + # if __GLIBC__ >= 2 + _GL_CXXALIASWARN (malloc); + # endif +-#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC +-# undef malloc ++#else ++# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined malloc ++/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (malloc, void *, ++ (size_t size) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif ++# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC ++# undef malloc + /* Assume malloc is always declared. */ + _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " + "use gnulib module malloc-posix for portability"); ++# endif + #endif + + /* Convert a multibyte character to a wide character. */ +@@ -1015,29 +1078,53 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - " + # undef realloc + # define realloc rpl_realloc + # endif +-_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size)); ++_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size) ++ _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size)); + # else ++# if __GNUC__ >= 11 ++/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) ++ _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif + _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size)); + # endif + # if __GLIBC__ >= 2 + _GL_CXXALIASWARN (realloc); + # endif +-#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC +-# undef realloc ++#else ++# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined realloc ++/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */ ++_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) ++ _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif ++# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC ++# undef realloc + /* Assume realloc is always declared. */ + _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - " + "use gnulib module realloc-posix for portability"); ++# endif + #endif + + + #if @GNULIB_REALLOCARRAY@ +-# if ! @HAVE_REALLOCARRAY@ ++# if @REPLACE_REALLOCARRAY@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef reallocarray ++# define reallocarray rpl_reallocarray ++# endif ++_GL_FUNCDECL_RPL (reallocarray, void *, ++ (void *ptr, size_t nmemb, size_t size)); ++_GL_CXXALIAS_RPL (reallocarray, void *, ++ (void *ptr, size_t nmemb, size_t size)); ++# else ++# if ! @HAVE_REALLOCARRAY@ + _GL_FUNCDECL_SYS (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +-# endif ++# endif + _GL_CXXALIAS_SYS (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); ++# endif + _GL_CXXALIASWARN (reallocarray); + #elif defined GNULIB_POSIXCHECK + # undef reallocarray +diff --git a/lib/strdup.c b/lib/strdup.c +index 2a37049..e5d4d75 100644 +--- a/lib/strdup.c ++++ b/lib/strdup.c +@@ -3,18 +3,18 @@ + + This file is part of the GNU C Library. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _LIBC + # include +diff --git a/lib/streq.h b/lib/streq.h +index 2d9d4c2..adabd15 100644 +--- a/lib/streq.h ++++ b/lib/streq.h +@@ -1,15 +1,15 @@ + /* Optimized string comparison. + Copyright (C) 2001-2002, 2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 this program. If not, see . */ +diff --git a/lib/strftime.h b/lib/strftime.h +index 645e8c7..790a80e 100644 +--- a/lib/strftime.h ++++ b/lib/strftime.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2002, 2004, 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/striconveh.c b/lib/striconveh.c +index 82f6467..78a5e02 100644 +--- a/lib/striconveh.c ++++ b/lib/striconveh.c +@@ -2,12 +2,12 @@ + Copyright (C) 2001-2021 Free Software Foundation, Inc. + Written by Bruno Haible and Simon Josefsson. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/striconveh.h b/lib/striconveh.h +index c9dff1e..60c6329 100644 +--- a/lib/striconveh.h ++++ b/lib/striconveh.h +@@ -2,12 +2,12 @@ + Copyright (C) 2001-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible and Simon Josefsson. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -18,7 +18,7 @@ + #ifndef _STRICONVEH_H + #define _STRICONVEH_H + +-#include ++#include + #if HAVE_ICONV + #include + #endif +@@ -95,7 +95,8 @@ extern int + extern char * + str_cd_iconveh (const char *src, + const iconveh_t *cd, +- enum iconv_ilseq_handler handler); ++ enum iconv_ilseq_handler handler) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; + + #endif + +@@ -129,7 +130,8 @@ extern int + extern char * + str_iconveh (const char *src, + const char *from_codeset, const char *to_codeset, +- enum iconv_ilseq_handler handler); ++ enum iconv_ilseq_handler handler) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; + + + #ifdef __cplusplus +diff --git a/lib/string.in.h b/lib/string.in.h +index 1292e29..b043c75 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 1995-1996, 2001-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +@@ -47,6 +47,9 @@ + /* NetBSD 5.0 mis-defines NULL. */ + #include + ++/* Get free(). */ ++#include ++ + /* MirBSD defines mbslen as a macro. */ + #if @GNULIB_MBSLEN@ && defined __MirBSD__ + # include +@@ -418,7 +421,10 @@ _GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - " + # undef strdup + # define strdup rpl_strdup + # endif +-_GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); ++_GL_FUNCDECL_RPL (strdup, char *, ++ (char const *__s) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (strdup, char *, (char const *__s)); + # elif defined _WIN32 && !defined __CYGWIN__ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +@@ -431,35 +437,47 @@ _GL_CXXALIAS_MDA (strdup, char *, (char const *__s)); + /* strdup exists as a function and as a macro. Get rid of the macro. */ + # undef strdup + # endif +-# if !(@HAVE_DECL_STRDUP@ || defined strdup) +-_GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); ++# if (!@HAVE_DECL_STRDUP@ || __GNUC__ >= 11) && !defined strdup ++_GL_FUNCDECL_SYS (strdup, char *, ++ (char const *__s) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + # endif + _GL_CXXALIAS_SYS (strdup, char *, (char const *__s)); + # endif + _GL_CXXALIASWARN (strdup); +-#elif defined GNULIB_POSIXCHECK +-# undef strdup +-# if HAVE_RAW_DECL_STRDUP ++#else ++# if __GNUC__ >= 11 && !defined strdup ++/* For -Wmismatched-dealloc: Associate strdup with free or rpl_free. */ ++_GL_FUNCDECL_SYS (strdup, char *, ++ (char const *__s) ++ _GL_ARG_NONNULL ((1)) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef strdup ++# if HAVE_RAW_DECL_STRDUP + _GL_WARN_ON_USE (strdup, "strdup is unportable - " + "use gnulib module strdup for portability"); +-# endif +-#elif @GNULIB_MDA_STRDUP@ ++# endif ++# elif @GNULIB_MDA_STRDUP@ + /* On native Windows, map 'creat' to '_creat', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between +- platforms by defining GNULIB_NAMESPACE::creat always. */ +-# if defined _WIN32 && !defined __CYGWIN__ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef strdup +-# define strdup _strdup +-# endif ++ platforms by defining GNULIB_NAMESPACE::strdup always. */ ++# if defined _WIN32 && !defined __CYGWIN__ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef strdup ++# define strdup _strdup ++# endif + _GL_CXXALIAS_MDA (strdup, char *, (char const *__s)); +-# else +-# if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup +-# undef strdup +-# endif ++# else ++# if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup ++# undef strdup ++# endif + _GL_CXXALIAS_SYS (strdup, char *, (char const *__s)); +-# endif ++# endif + _GL_CXXALIASWARN (strdup); ++# endif + #endif + + /* Append no more than N characters from SRC onto DEST. */ +diff --git a/lib/stripslash.c b/lib/stripslash.c +index b079795..99bfbe6 100644 +--- a/lib/stripslash.c ++++ b/lib/stripslash.c +@@ -3,12 +3,12 @@ + Copyright (C) 1990, 2001, 2003-2006, 2009-2021 Free Software Foundation, + Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/sys-limits.h b/lib/sys-limits.h +index 1856e7f..2d9784d 100644 +--- a/lib/sys-limits.h ++++ b/lib/sys-limits.h +@@ -2,18 +2,18 @@ + + Copyright 2018-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _GL_SYS_LIMITS_H + #define _GL_SYS_LIMITS_H +diff --git a/lib/sys_file.in.h b/lib/sys_file.in.h +index e18594f..4166082 100644 +--- a/lib/sys_file.in.h ++++ b/lib/sys_file.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Richard W.M. Jones. */ + +diff --git a/lib/sys_random.in.h b/lib/sys_random.in.h +index 1a479e9..1abd6c5 100644 +--- a/lib/sys_random.in.h ++++ b/lib/sys_random.in.h +@@ -1,18 +1,18 @@ + /* Substitute for . + Copyright (C) 2020-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + # if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h +index d82c5d1..f8ef648 100644 +--- a/lib/sys_select.in.h ++++ b/lib/sys_select.in.h +@@ -1,18 +1,18 @@ + /* Substitute for . + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + # if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +diff --git a/lib/sys_socket.c b/lib/sys_socket.c +index 3b261da..d90b32c 100644 +--- a/lib/sys_socket.c ++++ b/lib/sys_socket.c +@@ -1,4 +1,22 @@ ++/* Inline functions for . ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ ++ + #include ++ + #define _GL_SYS_SOCKET_INLINE _GL_EXTERN_INLINE + #include "sys/socket.h" + typedef int dummy; +diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h +index c0baa71..0a2c57d 100644 +--- a/lib/sys_socket.in.h ++++ b/lib/sys_socket.in.h +@@ -3,18 +3,18 @@ + Copyright (C) 2005-2021 Free Software Foundation, Inc. + Written by Simon Josefsson. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* This file is supposed to be used on platforms that lack , + on platforms where cannot be included standalone, and on +diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h +index 125aca0..babe3db 100644 +--- a/lib/sys_stat.in.h ++++ b/lib/sys_stat.in.h +@@ -1,18 +1,18 @@ + /* Provide a more complete sys/stat.h header file. + Copyright (C) 2005-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ + +diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h +index f310ca5..8035fbe 100644 +--- a/lib/sys_time.in.h ++++ b/lib/sys_time.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Paul Eggert. */ + +diff --git a/lib/sys_times.in.h b/lib/sys_times.in.h +index 3d96200..85b728f 100644 +--- a/lib/sys_times.in.h ++++ b/lib/sys_times.in.h +@@ -1,18 +1,18 @@ + /* Provide a sys/times.h header file. + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Simon Josefsson , 2008. */ + +diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h +index 26e7db7..2079d72 100644 +--- a/lib/sys_types.in.h ++++ b/lib/sys_types.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +diff --git a/lib/sys_uio.in.h b/lib/sys_uio.in.h +index 1941360..507ab01 100644 +--- a/lib/sys_uio.in.h ++++ b/lib/sys_uio.in.h +@@ -1,18 +1,18 @@ + /* Substitute for . + Copyright (C) 2011-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + # if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +diff --git a/lib/tempname.h b/lib/tempname.h +index c91a58d..795bb49 100644 +--- a/lib/tempname.h ++++ b/lib/tempname.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/time-internal.h b/lib/time-internal.h +index b86b7a0..6bbd0a7 100644 +--- a/lib/time-internal.h ++++ b/lib/time-internal.h +@@ -2,18 +2,18 @@ + + Copyright 2015-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Written by Paul Eggert. */ + +diff --git a/lib/time.in.h b/lib/time.in.h +index cbd2bba..a73fe59 100644 +--- a/lib/time.in.h ++++ b/lib/time.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +diff --git a/lib/time_r.c b/lib/time_r.c +index 2510c4e..88d3c1c 100644 +--- a/lib/time_r.c ++++ b/lib/time_r.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2003, 2006-2007, 2010-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Written by Paul Eggert. */ + +diff --git a/lib/time_rz.c b/lib/time_rz.c +index d32cce7..e772244 100644 +--- a/lib/time_rz.c ++++ b/lib/time_rz.c +@@ -2,18 +2,18 @@ + + Copyright 2015-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* Written by Paul Eggert. */ + +diff --git a/lib/times.c b/lib/times.c +index b8afa60..72b852e 100644 +--- a/lib/times.c ++++ b/lib/times.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Simon Josefsson , 2008. */ + +diff --git a/lib/trunc.c b/lib/trunc.c +index cf2adac..1c9c420 100644 +--- a/lib/trunc.c ++++ b/lib/trunc.c +@@ -1,12 +1,12 @@ + /* Round towards zero. + Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/tzset.c b/lib/tzset.c +index 1f423c4..7fd4936 100644 +--- a/lib/tzset.c ++++ b/lib/tzset.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2001-2003, 2005-2007, 2009-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* written by Jim Meyering */ + +diff --git a/lib/unistd.c b/lib/unistd.c +index 72bad1c..0763456 100644 +--- a/lib/unistd.c ++++ b/lib/unistd.c +@@ -1,4 +1,22 @@ ++/* Inline functions for . ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ ++ + #include ++ + #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE + #include "unistd.h" + typedef int dummy; +diff --git a/lib/unistd.in.h b/lib/unistd.in.h +index 5914fd5..73c882f 100644 +--- a/lib/unistd.in.h ++++ b/lib/unistd.in.h +@@ -1,18 +1,18 @@ + /* Substitute for and wrapper around . + Copyright (C) 2003-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _@GUARD_PREFIX@_UNISTD_H + +@@ -1521,6 +1521,7 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable - " + # undef isatty + # define isatty rpl_isatty + # endif ++# define GNULIB_defined_isatty 1 + _GL_FUNCDECL_RPL (isatty, int, (int fd)); + _GL_CXXALIAS_RPL (isatty, int, (int fd)); + # elif defined _WIN32 && !defined __CYGWIN__ +@@ -2027,15 +2028,23 @@ _GL_WARN_ON_USE (sleep, "sleep is unportable - " + #if @GNULIB_MDA_SWAB@ + /* On native Windows, map 'swab' to '_swab', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between +- platforms by defining GNULIB_NAMESPACE::creat always. */ ++ platforms by defining GNULIB_NAMESPACE::swab always. */ + # if defined _WIN32 && !defined __CYGWIN__ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef swab + # define swab _swab + # endif +-_GL_CXXALIAS_MDA (swab, void, (char *from, char *to, int n)); ++/* Need to cast, because in old mingw the arguments are ++ (const char *from, char *to, size_t n). */ ++_GL_CXXALIAS_MDA_CAST (swab, void, (char *from, char *to, int n)); + # else ++# if defined __hpux /* HP-UX */ ++_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, int n)); ++# elif defined __sun && !defined _XPG4 /* Solaris */ ++_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, ssize_t n)); ++# else + _GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n)); ++# endif + # endif + _GL_CXXALIASWARN (swab); + #endif +diff --git a/lib/unsetenv.c b/lib/unsetenv.c +index 005fb1f..b2e910e 100644 +--- a/lib/unsetenv.c ++++ b/lib/unsetenv.c +@@ -1,12 +1,12 @@ + /* Copyright (C) 1992, 1995-2002, 2005-2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c +index 8d51006..d9b669d 100644 +--- a/lib/vasnprintf.c ++++ b/lib/vasnprintf.c +@@ -1,18 +1,18 @@ + /* vsprintf with automatic memory allocation. + Copyright (C) 1999, 2002-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + /* This file can be parametrized with the following macros: + VASNPRINTF The name of the function being defined. +@@ -60,10 +60,16 @@ + #ifndef VASNPRINTF + # include + #endif +-#ifndef IN_LIBINTL +-# include ++ ++/* As of GCC 11.2.1, gcc -Wanalyzer-too-complex reports that main's ++ use of CHECK macros expands to code that is too complicated for gcc ++ -fanalyzer. Suppress the resulting bogus warnings. */ ++#if 10 <= __GNUC__ ++# pragma GCC diagnostic ignored "-Wanalyzer-null-argument" + #endif + ++#include ++ + /* Specification. */ + #ifndef VASNPRINTF + # if WIDE_CHAR_VERSION +@@ -1924,7 +1930,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + + /* Ensures that allocated >= needed. Aborts through a jump to + out_of_memory if needed is SIZE_MAX or otherwise too big. */ +-#define ENSURE_ALLOCATION(needed) \ ++#define ENSURE_ALLOCATION_ELSE(needed, oom_statement) \ + if ((needed) > allocated) \ + { \ + size_t memory_size; \ +@@ -1935,17 +1941,19 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + allocated = (needed); \ + memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ + if (size_overflow_p (memory_size)) \ +- goto out_of_memory; \ ++ oom_statement \ + if (result == resultbuf || result == NULL) \ + memory = (DCHAR_T *) malloc (memory_size); \ + else \ + memory = (DCHAR_T *) realloc (result, memory_size); \ + if (memory == NULL) \ +- goto out_of_memory; \ ++ oom_statement \ + if (result == resultbuf && length > 0) \ + DCHAR_CPY (memory, result, length); \ + result = memory; \ + } ++#define ENSURE_ALLOCATION(needed) \ ++ ENSURE_ALLOCATION_ELSE((needed), goto out_of_memory; ) + + for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) + { +@@ -2193,7 +2201,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + } + if (converted != result + length) + { +- ENSURE_ALLOCATION (xsum (length, converted_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), ++ { free (converted); goto out_of_memory; }); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } +@@ -2317,7 +2326,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + } + if (converted != result + length) + { +- ENSURE_ALLOCATION (xsum (length, converted_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), ++ { free (converted); goto out_of_memory; }); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } +@@ -2441,7 +2451,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + } + if (converted != result + length) + { +- ENSURE_ALLOCATION (xsum (length, converted_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), ++ { free (converted); goto out_of_memory; }); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } +@@ -2944,7 +2955,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + } + } + # else +- ENSURE_ALLOCATION (xsum (length, tmpdst_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), ++ { free (tmpdst); goto out_of_memory; }); + DCHAR_CPY (result + length, tmpdst, tmpdst_len); + free (tmpdst); + length += tmpdst_len; +@@ -3147,7 +3159,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + } + } + # else +- ENSURE_ALLOCATION (xsum (length, tmpdst_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), ++ { free (tmpdst); goto out_of_memory; }); + DCHAR_CPY (result + length, tmpdst, tmpdst_len); + free (tmpdst); + length += tmpdst_len; +@@ -5598,7 +5611,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + CLEANUP (); + return NULL; + } +- ENSURE_ALLOCATION (xsum (length, tmpdst_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), ++ { free (tmpdst); goto out_of_memory; }); + DCHAR_CPY (result + length, tmpdst, tmpdst_len); + free (tmpdst); + count = tmpdst_len; +diff --git a/lib/vasnprintf.h b/lib/vasnprintf.h +index aaed859..9b02cdf 100644 +--- a/lib/vasnprintf.h ++++ b/lib/vasnprintf.h +@@ -1,18 +1,18 @@ + /* vsprintf with automatic memory allocation. + Copyright (C) 2002-2004, 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifndef _VASNPRINTF_H + #define _VASNPRINTF_H +diff --git a/lib/verify.h b/lib/verify.h +index d1b4995..a8ca59b 100644 +--- a/lib/verify.h ++++ b/lib/verify.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -25,7 +25,7 @@ + works as per C11. This is supported by GCC 4.6.0+ and by clang 4+. + + Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as +- per C2X. This is supported by GCC 9.1+. ++ per C2x. This is supported by GCC 9.1+. + + Support compilers claiming conformance to the relevant standard, + and also support GCC when not pedantic. If we were willing to slow +@@ -202,7 +202,7 @@ template + + This macro requires three or more arguments but uses at most the first + two, so that the _Static_assert macro optionally defined below supports +- both the C11 two-argument syntax and the C2X one-argument syntax. ++ both the C11 two-argument syntax and the C2x one-argument syntax. + + Unfortunately, unlike C11, this implementation must appear as an + ordinary declaration, and cannot appear inside struct { ... }. */ +diff --git a/lib/vsnprintf.c b/lib/vsnprintf.c +index c94c5cb..4a0a3dc 100644 +--- a/lib/vsnprintf.c ++++ b/lib/vsnprintf.c +@@ -2,18 +2,18 @@ + Copyright (C) 2004, 2006-2021 Free Software Foundation, Inc. + Written by Simon Josefsson and Yoann Vandoorselaere . + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ + + #ifdef HAVE_CONFIG_H + # include +diff --git a/lib/w32sock.h b/lib/w32sock.h +index 9b6a231..635a1b2 100644 +--- a/lib/w32sock.h ++++ b/lib/w32sock.h +@@ -2,12 +2,12 @@ + + Copyright (C) 2008-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/wchar.in.h b/lib/wchar.in.h +index fe4171c..be5d36c 100644 +--- a/lib/wchar.in.h ++++ b/lib/wchar.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Eric Blake. */ + +@@ -72,6 +72,9 @@ + # include + #endif + ++/* Get free(). */ ++#include ++ + /* Include the original if it exists. + Some builds of uClibc lack it. */ + /* The include_next requires a split double-inclusion guard. */ +@@ -111,7 +114,7 @@ + /* mingw and MSVC define wint_t as 'unsigned short' in or + . This is too small: ISO C 99 section 7.24.1.(2) says that + wint_t must be "unchanged by default argument promotions". Override it. */ +-# if @GNULIB_OVERRIDES_WINT_T@ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # if !GNULIB_defined_wint_t + # if @HAVE_CRTDEFS_H@ + # include +@@ -941,36 +944,48 @@ _GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - " + # endif + _GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s)); + # else +-# if !@HAVE_WCSDUP@ +-_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s)); ++# if !@HAVE_WCSDUP@ || __GNUC__ >= 11 ++_GL_FUNCDECL_SYS (wcsdup, wchar_t *, ++ (const wchar_t *s) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + # endif + _GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s)); + # endif + _GL_CXXALIASWARN (wcsdup); +-#elif defined GNULIB_POSIXCHECK +-# undef wcsdup +-# if HAVE_RAW_DECL_WCSDUP ++#else ++# if __GNUC__ >= 11 && !defined wcsdup ++/* For -Wmismatched-dealloc: Associate wcsdup with free or rpl_free. */ ++_GL_FUNCDECL_SYS (wcsdup, wchar_t *, ++ (const wchar_t *s) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# endif ++# if defined GNULIB_POSIXCHECK ++# undef wcsdup ++# if HAVE_RAW_DECL_WCSDUP + _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - " + "use gnulib module wcsdup for portability"); +-# endif +-#elif @GNULIB_MDA_WCSDUP@ ++# endif ++# elif @GNULIB_MDA_WCSDUP@ + /* On native Windows, map 'wcsdup' to '_wcsdup', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::wcsdup always. */ +-# if defined _WIN32 && !defined __CYGWIN__ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef wcsdup +-# define wcsdup _wcsdup +-# endif ++# if defined _WIN32 && !defined __CYGWIN__ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef wcsdup ++# define wcsdup _wcsdup ++# endif + _GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s)); +-# else +-_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s)); +-# if @HAVE_DECL_WCSDUP@ ++# else ++_GL_FUNCDECL_SYS (wcsdup, wchar_t *, ++ (const wchar_t *s) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); ++# if @HAVE_DECL_WCSDUP@ + _GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s)); ++# endif + # endif +-# endif +-# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_WCSDUP@ ++# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_WCSDUP@ + _GL_CXXALIASWARN (wcsdup); ++# endif + # endif + #endif + +diff --git a/lib/wcrtomb.c b/lib/wcrtomb.c +index 76d21ae..5c9fd79 100644 +--- a/lib/wcrtomb.c ++++ b/lib/wcrtomb.c +@@ -2,12 +2,12 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/wctype-h.c b/lib/wctype-h.c +index bb5f847..150221d 100644 +--- a/lib/wctype-h.c ++++ b/lib/wctype-h.c +@@ -1,4 +1,23 @@ ++/* Inline functions for . ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ ++ + /* Normally this would be wctype.c, but that name's already taken. */ ++ + #include ++ + #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE + #include "wctype.h" +diff --git a/lib/wctype.in.h b/lib/wctype.in.h +index 6f0cd21..652d811 100644 +--- a/lib/wctype.in.h ++++ b/lib/wctype.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2006-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Bruno Haible and Paul Eggert. */ + +@@ -103,7 +103,7 @@ _GL_INLINE_HEADER_BEGIN + /* mingw and MSVC define wint_t as 'unsigned short' in or + . This is too small: ISO C 99 section 7.24.1.(2) says that + wint_t must be "unchanged by default argument promotions". Override it. */ +-# if @GNULIB_OVERRIDES_WINT_T@ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # if !GNULIB_defined_wint_t + # if @HAVE_CRTDEFS_H@ + # include +@@ -132,7 +132,7 @@ typedef unsigned int rpl_wint_t; + same way, or not at all. */ + # if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ + +-# if @GNULIB_OVERRIDES_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ + + _GL_WCTYPE_INLINE int + rpl_iswalnum (wint_t wc) +@@ -496,7 +496,7 @@ _GL_FUNCDECL_RPL (iswxdigit, int, (wint_t wc)); + + # endif + +-# if defined __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ ++# if defined __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ + + /* On native Windows, wchar_t is uint16_t, and wint_t is uint32_t. + The functions towlower and towupper are implemented in the MSVCRT library +@@ -529,7 +529,7 @@ rpl_towupper (wint_t wc) + # define towupper rpl_towupper + # endif + +-# endif /* __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ */ ++# endif /* __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ */ + + # define GNULIB_defined_wctype_functions 1 + #endif +@@ -646,7 +646,7 @@ _GL_WARN_ON_USE (wctype, "wctype is unportable - " + The argument WC must be either a wchar_t value or WEOF. + The argument DESC must have been returned by the wctype() function. */ + #if @GNULIB_ISWCTYPE@ +-# if @GNULIB_OVERRIDES_WINT_T@ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef iswctype + # define iswctype rpl_iswctype +diff --git a/lib/windows-initguard.h b/lib/windows-initguard.h +index e84051e..7999b23 100644 +--- a/lib/windows-initguard.h ++++ b/lib/windows-initguard.h +@@ -1,18 +1,18 @@ + /* Init guards, somewhat like spinlocks (native Windows implementation). + Copyright (C) 2005-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + /* Written by Bruno Haible , 2005. + Based on GCC's gthr-win32.h. */ +diff --git a/lib/write.c b/lib/write.c +index bc53d4d..614cdc6 100644 +--- a/lib/write.c ++++ b/lib/write.c +@@ -2,12 +2,12 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +diff --git a/lib/xalloc-oversized.h b/lib/xalloc-oversized.h +index d255969..4184f33 100644 +--- a/lib/xalloc-oversized.h ++++ b/lib/xalloc-oversized.h +@@ -2,12 +2,12 @@ + + Copyright (C) 1990-2000, 2003-2004, 2006-2021 Free Software Foundation, Inc. + +- This program 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 3 of the License, or +- (at your option) any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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. +@@ -22,33 +22,38 @@ + #include + + /* True if N * S does not fit into both ptrdiff_t and size_t. +- S must be positive and N must be nonnegative. ++ N and S should be nonnegative and free of side effects. + This expands to a constant expression if N and S are both constants. + By gnulib convention, SIZE_MAX represents overflow in size_t + calculations, so the conservative size_t-based dividend to use here + is SIZE_MAX - 1. */ + #define __xalloc_oversized(n, s) \ +- ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n)) ++ ((s) != 0 \ ++ && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) \ ++ < (n))) + +-#if PTRDIFF_MAX < SIZE_MAX +-typedef ptrdiff_t xalloc_count_t; +-#else +-typedef size_t xalloc_count_t; +-#endif ++/* Return 1 if and only if an array of N objects, each of size S, ++ cannot exist reliably because its total size in bytes would exceed ++ MIN (PTRDIFF_MAX, SIZE_MAX - 1). ++ ++ N and S should be nonnegative and free of side effects. ++ ++ Warning: (xalloc_oversized (N, S) ? NULL : malloc (N * S)) can ++ misbehave if N and S are both narrower than ptrdiff_t and size_t, ++ and can be rewritten as (xalloc_oversized (N, S) ? NULL ++ : malloc (N * (size_t) S)). + +-/* Return 1 if an array of N objects, each of size S, cannot exist reliably +- because its total size in bytes exceeds MIN (PTRDIFF_MAX, SIZE_MAX). +- N must be nonnegative, S must be positive, and either N or S should be +- of type ptrdiff_t or size_t or wider. This is a macro, not a function, +- so that it works even if an argument exceeds MAX (PTRDIFF_MAX, SIZE_MAX). */ +-#if 7 <= __GNUC__ && !defined __clang__ ++ This is a macro, not a function, so that it works even if an ++ argument exceeds MAX (PTRDIFF_MAX, SIZE_MAX). */ ++#if 7 <= __GNUC__ && !defined __clang__ && PTRDIFF_MAX < SIZE_MAX + # define xalloc_oversized(n, s) \ +- __builtin_mul_overflow_p (n, s, (xalloc_count_t) 1) +-#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ ++ __builtin_mul_overflow_p (n, s, (ptrdiff_t) 1) ++#elif (5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ \ ++ && PTRDIFF_MAX < SIZE_MAX) + # define xalloc_oversized(n, s) \ + (__builtin_constant_p (n) && __builtin_constant_p (s) \ + ? __xalloc_oversized (n, s) \ +- : ({ xalloc_count_t __xalloc_count; \ ++ : ({ ptrdiff_t __xalloc_count; \ + __builtin_mul_overflow (n, s, &__xalloc_count); })) + + /* Other compilers use integer division; this may be slower but is +diff --git a/lib/xsize.c b/lib/xsize.c +index 4b4914c..b3d73a2 100644 +--- a/lib/xsize.c ++++ b/lib/xsize.c +@@ -1,3 +1,21 @@ ++/* Checked size_t computations. ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file 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. ++ ++ This file 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 this program. If not, see . */ ++ + #include ++ + #define XSIZE_INLINE _GL_EXTERN_INLINE + #include "xsize.h" +diff --git a/lib/xsize.h b/lib/xsize.h +index d4d7b1c..91fa877 100644 +--- a/lib/xsize.h ++++ b/lib/xsize.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2003, 2008-2021 Free Software Foundation, Inc. + +- This program 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, or (at your option) +- any later version. ++ This file 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. + +- This program is distributed in the hope that it will be useful, ++ This file 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 this program; if not, see . */ ++ along with this program. If not, see . */ + + #ifndef _XSIZE_H + #define _XSIZE_H +diff --git a/m4/arpa_inet_h.m4 b/m4/arpa_inet_h.m4 +index c4e386d..a3ba256 100644 +--- a/m4/arpa_inet_h.m4 ++++ b/m4/arpa_inet_h.m4 +@@ -1,4 +1,4 @@ +-# arpa_inet_h.m4 serial 14 ++# arpa_inet_h.m4 serial 17 + dnl Copyright (C) 2006, 2008-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl Written by Simon Josefsson and Bruno Haible + +-AC_DEFUN([gl_HEADER_ARPA_INET], ++AC_DEFUN_ONCE([gl_ARPA_INET_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. + AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) + + AC_CHECK_HEADERS_ONCE([arpa/inet.h]) +@@ -40,17 +40,32 @@ AC_DEFUN([gl_HEADER_ARPA_INET], + ]], [inet_ntop inet_pton]) + ]) + ++# gl_ARPA_INET_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_ARPA_INET_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_ARPA_INET_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_NTOP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_PTON]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], + [ +- GNULIB_INET_NTOP=0; AC_SUBST([GNULIB_INET_NTOP]) +- GNULIB_INET_PTON=0; AC_SUBST([GNULIB_INET_PTON]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) + HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) +diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4 +index 6d86142..17e2a20 100644 +--- a/m4/dirent_h.m4 ++++ b/m4/dirent_h.m4 +@@ -1,4 +1,4 @@ +-# dirent_h.m4 serial 16 ++# dirent_h.m4 serial 19 + dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl Written by Bruno Haible. + +-AC_DEFUN([gl_DIRENT_H], ++AC_DEFUN_ONCE([gl_DIRENT_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + dnl is always overridden, because of GNULIB_POSIXCHECK. +@@ -27,26 +27,41 @@ AC_DEFUN([gl_DIRENT_H], + ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir]) + ]) + ++# gl_DIRENT_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_DIRENT_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_DIRENT_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_DIRENT_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REWINDDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSEDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DIRFD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPENDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALPHASORT]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_DIRENT_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_DIRENT_H_DEFAULTS], + [ +- AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR +- GNULIB_OPENDIR=0; AC_SUBST([GNULIB_OPENDIR]) +- GNULIB_READDIR=0; AC_SUBST([GNULIB_READDIR]) +- GNULIB_REWINDDIR=0; AC_SUBST([GNULIB_REWINDDIR]) +- GNULIB_CLOSEDIR=0; AC_SUBST([GNULIB_CLOSEDIR]) +- GNULIB_DIRFD=0; AC_SUBST([GNULIB_DIRFD]) +- GNULIB_FDOPENDIR=0; AC_SUBST([GNULIB_FDOPENDIR]) +- GNULIB_SCANDIR=0; AC_SUBST([GNULIB_SCANDIR]) +- GNULIB_ALPHASORT=0; AC_SUBST([GNULIB_ALPHASORT]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_OPENDIR=1; AC_SUBST([HAVE_OPENDIR]) + HAVE_READDIR=1; AC_SUBST([HAVE_READDIR]) +diff --git a/m4/environ.m4 b/m4/environ.m4 +index d971770..ae53291 100644 +--- a/m4/environ.m4 ++++ b/m4/environ.m4 +@@ -1,4 +1,4 @@ +-# environ.m4 serial 7 ++# environ.m4 serial 8 + dnl Copyright (C) 2001-2004, 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -33,7 +33,8 @@ AC_DEFUN([gt_CHECK_VAR_DECL], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[$1 +- extern struct { int foo; } $2;]], ++ typedef struct { int foo; } foo_t; ++ extern foo_t $2;]], + [[$2.foo = 1;]])], + [gt_cv_var=no], + [gt_cv_var=yes])]) +diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4 +index e63a82f..aba4473 100644 +--- a/m4/fcntl_h.m4 ++++ b/m4/fcntl_h.m4 +@@ -1,4 +1,4 @@ +-# serial 17 ++# serial 20 + # Configure fcntl.h. + dnl Copyright (C) 2006-2007, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation +@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl Written by Paul Eggert. + +-AC_DEFUN([gl_FCNTL_H], ++AC_DEFUN_ONCE([gl_FCNTL_H], + [ + AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) + AC_REQUIRE([gl_FCNTL_O_FLAGS]) +@@ -26,25 +26,40 @@ AC_DEFUN([gl_FCNTL_H], + ]], [fcntl openat]) + ]) + ++# gl_FCNTL_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_FCNTL_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_FCNTL_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CREAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCNTL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NONBLOCKING]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CREAT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_OPEN], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_FCNTL_H_DEFAULTS], + [ +- GNULIB_CREAT=0; AC_SUBST([GNULIB_CREAT]) +- GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) +- GNULIB_NONBLOCKING=0; AC_SUBST([GNULIB_NONBLOCKING]) +- GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) +- GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_CREAT=1; AC_SUBST([GNULIB_MDA_CREAT]) +- GNULIB_MDA_OPEN=1; AC_SUBST([GNULIB_MDA_OPEN]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) + HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) +diff --git a/m4/flock.m4 b/m4/flock.m4 +index eb46642..e1e5fe0 100644 +--- a/m4/flock.m4 ++++ b/m4/flock.m4 +@@ -1,4 +1,4 @@ +-# flock.m4 serial 3 ++# flock.m4 serial 4 + dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice is preserved. + + AC_DEFUN([gl_FUNC_FLOCK], + [ +- AC_REQUIRE([gl_HEADER_SYS_FILE_H_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_FILE_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([flock]) + if test $ac_cv_func_flock = no; then + HAVE_FLOCK=0 +diff --git a/m4/fstat.m4 b/m4/fstat.m4 +index 3b5b238..cdaca80 100644 +--- a/m4/fstat.m4 ++++ b/m4/fstat.m4 +@@ -1,4 +1,4 @@ +-# fstat.m4 serial 7 ++# fstat.m4 serial 8 + dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -34,7 +34,7 @@ AC_DEFUN([gl_FUNC_FSTAT], + + # Prerequisites of lib/fstat.c and lib/stat-w32.c. + AC_DEFUN([gl_PREREQ_FSTAT], [ +- AC_REQUIRE([gl_HEADER_SYS_STAT_H]) ++ AC_REQUIRE([gl_SYS_STAT_H]) + AC_REQUIRE([gl_PREREQ_STAT_W32]) + : + ]) +diff --git a/m4/getaddrinfo.m4 b/m4/getaddrinfo.m4 +index 97889a8..3f8e04f 100644 +--- a/m4/getaddrinfo.m4 ++++ b/m4/getaddrinfo.m4 +@@ -1,4 +1,4 @@ +-# getaddrinfo.m4 serial 33 ++# getaddrinfo.m4 serial 34 + dnl Copyright (C) 2004-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,8 +6,8 @@ dnl with or without modifications, as long as this notice is preserved. + + AC_DEFUN([gl_GETADDRINFO], + [ +- AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H +- AC_REQUIRE([gl_HEADER_NETDB])dnl for HAVE_NETDB_H ++ AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H ++ AC_REQUIRE([gl_NETDB_H])dnl for HAVE_NETDB_H + GETADDRINFO_LIB= + gai_saved_LIBS="$LIBS" + +@@ -156,13 +156,13 @@ const char *gai_strerror(int);]])], + # Prerequisites of lib/netdb.in.h and lib/getaddrinfo.c. + AC_DEFUN([gl_PREREQ_GETADDRINFO], [ + AC_REQUIRE([gl_NETDB_H_DEFAULTS]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H ++ AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H + AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB + AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB + AC_REQUIRE([gl_FUNC_INET_NTOP]) dnl for INET_NTOP_LIB + AC_REQUIRE([AC_C_RESTRICT]) + AC_REQUIRE([gl_SOCKET_FAMILIES]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + dnl Including sys/socket.h is wrong for Windows, but Windows does not +diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 +index f2eff10..c801b3d 100644 +--- a/m4/gnulib-common.m4 ++++ b/m4/gnulib-common.m4 +@@ -1,4 +1,4 @@ +-# gnulib-common.m4 serial 63 ++# gnulib-common.m4 serial 67 + dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -85,12 +85,12 @@ AC_DEFUN([gl_COMMON_BODY], [ + # define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) + # define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) + # define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) ++# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) + # ifdef _ICC + # define _GL_ATTR_may_alias 0 + # else + # define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) + # endif +-# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) + # define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) + # define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) + # define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) +@@ -103,6 +103,12 @@ AC_DEFUN([gl_COMMON_BODY], [ + # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) + #endif + ++#ifdef __has_c_attribute ++# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) ++#else ++# define _GL_HAS_C_ATTRIBUTE(attr) 0 ++#endif ++ + ]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's _Alignas instead. + [ + #if _GL_HAS_ATTRIBUTE (alloc_size) +@@ -142,7 +148,20 @@ AC_DEFUN([gl_COMMON_BODY], [ + # define _GL_ATTRIBUTE_CONST + #endif + +-#if 201710L < __STDC_VERSION__ ++/* _GL_ATTRIBUTE_DEALLOC (F, I) is for functions returning pointers ++ that can be freed by passing them as the Ith argument to the ++ function F. _GL_ATTRIBUTE_DEALLOC_FREE is for functions that ++ return pointers that can be freed via 'free'; it can be used ++ only after including stdlib.h. These macros cannot be used on ++ inline functions. */ ++#if _GL_GNUC_PREREQ (11, 0) ++# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) ++#else ++# define _GL_ATTRIBUTE_DEALLOC(f, i) ++#endif ++#define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) ++ ++#if _GL_HAS_C_ATTRIBUTE (deprecated) + # define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] + #elif _GL_HAS_ATTRIBUTE (deprecated) + # define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +@@ -168,7 +187,7 @@ AC_DEFUN([gl_COMMON_BODY], [ + #endif + + /* FALLTHROUGH is special, because it always expands to something. */ +-#if 201710L < __STDC_VERSION__ ++#if _GL_HAS_C_ATTRIBUTE (fallthrough) + # define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] + #elif _GL_HAS_ATTRIBUTE (fallthrough) + # define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +@@ -188,6 +207,12 @@ AC_DEFUN([gl_COMMON_BODY], [ + # define _GL_ATTRIBUTE_LEAF + #endif + ++#if _GL_HAS_ATTRIBUTE (malloc) ++# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) ++#else ++# define _GL_ATTRIBUTE_MALLOC ++#endif ++ + /* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ + #if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C + # define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +@@ -195,24 +220,15 @@ AC_DEFUN([gl_COMMON_BODY], [ + # define _GL_ATTRIBUTE_MAY_ALIAS + #endif + +-#if 201710L < __STDC_VERSION__ ++#if _GL_HAS_C_ATTRIBUTE (maybe_unused) + # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +-#elif _GL_HAS_ATTRIBUTE (unused) +-# define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__)) + #else +-# define _GL_ATTRIBUTE_MAYBE_UNUSED ++# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED + #endif + /* Earlier spellings of this macro. */ +-#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED + #define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +-#if _GL_HAS_ATTRIBUTE (malloc) +-# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +-#else +-# define _GL_ATTRIBUTE_MALLOC +-#endif +- +-#if 201710L < __STDC_VERSION__ ++#if _GL_HAS_C_ATTRIBUTE (nodiscard) + # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] + #elif _GL_HAS_ATTRIBUTE (warn_unused_result) + # define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +@@ -270,11 +286,19 @@ AC_DEFUN([gl_COMMON_BODY], [ + # define _GL_ATTRIBUTE_SENTINEL(pos) + #endif + ++#if _GL_HAS_ATTRIBUTE (unused) ++# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_ATTRIBUTE_UNUSED ++#endif ++/* Earlier spellings of this macro. */ ++#define _GL_UNUSED _GL_ATTRIBUTE_UNUSED ++ + ]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. + [ + /* To support C++ as well as C, use _GL_UNUSED_LABEL with trailing ';'. */ + #if !defined __cplusplus || _GL_GNUC_PREREQ (4, 5) +-# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_MAYBE_UNUSED ++# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED + #else + # define _GL_UNUSED_LABEL + #endif +@@ -357,6 +381,16 @@ AC_DEFUN([gl_COMMON_BODY], [ + export LIBC_FATAL_STDERR_ + ]) + ++# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename]) ++# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename], [initialvalue]) ++# initializes the shell variable that indicates the presence of the given module ++# as a C preprocessor expression. ++AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], ++[ ++ GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2]) ++ AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) ++]) ++ + # gl_MODULE_INDICATOR_CONDITION + # expands to a C preprocessor expression that evaluates to 1 or 0, depending + # whether a gnulib module that has been requested shall be considered present +@@ -369,9 +403,9 @@ m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) + AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], + [ + gl_MODULE_INDICATOR_SET_VARIABLE_AUX( +- [GNULIB_[]m4_translit([[$1]], +- [abcdefghijklmnopqrstuvwxyz./-], +- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], ++ [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], ++ [abcdefghijklmnopqrstuvwxyz./-], ++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [gl_MODULE_INDICATOR_CONDITION]) + ]) + +@@ -656,6 +690,72 @@ AC_DEFUN([gl_CACHE_VAL_SILENT], + ]) + ]) + ++# gl_CC_ALLOW_WARNINGS ++# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option ++# that reverts a preceding '-Werror' option, if available. ++# This is expected to be '-Wno-error' on gcc, clang (except clang/MSVC), xlclang ++# and empty otherwise. ++AC_DEFUN([gl_CC_ALLOW_WARNINGS], ++[ ++ AC_REQUIRE([AC_PROG_CC]) ++ AC_CACHE_CHECK([for C compiler option to allow warnings], ++ [gl_cv_cc_wallow], ++ [rm -f conftest* ++ echo 'int dummy;' > conftest.c ++ AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null ++ AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null ++ dnl Test the number of error output lines, because AIX xlc accepts the ++ dnl option '-Wno-error', just to produce a warning ++ dnl "Option -Wno-error was incorrectly specified. The option will be ignored." ++ dnl afterwards. ++ if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then ++ gl_cv_cc_wallow='-Wno-error' ++ else ++ gl_cv_cc_wallow=none ++ fi ++ rm -f conftest* ++ ]) ++ case "$gl_cv_cc_wallow" in ++ none) GL_CFLAG_ALLOW_WARNINGS='' ;; ++ *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; ++ esac ++ AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) ++]) ++ ++# gl_CXX_ALLOW_WARNINGS ++# sets and substitutes a variable GL_CXXFLAG_ALLOW_WARNINGS, to a $(CC) option ++# that reverts a preceding '-Werror' option, if available. ++AC_DEFUN([gl_CXX_ALLOW_WARNINGS], ++[ ++ dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. ++ if test -n "$CXX" && test "$CXX" != no; then ++ AC_CACHE_CHECK([for C++ compiler option to allow warnings], ++ [gl_cv_cxx_wallow], ++ [rm -f conftest* ++ echo 'int dummy;' > conftest.cc ++ AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null ++ AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null ++ dnl Test the number of error output lines, because AIX xlC accepts the ++ dnl option '-Wno-error', just to produce a warning ++ dnl "Option -Wno-error was incorrectly specified. The option will be ignored." ++ dnl afterwards. ++ if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then ++ gl_cv_cxx_wallow='-Wno-error' ++ else ++ gl_cv_cxx_wallow=none ++ fi ++ rm -f conftest* ++ ]) ++ case "$gl_cv_cxx_wallow" in ++ none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; ++ *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; ++ esac ++ else ++ GL_CXXFLAG_ALLOW_WARNINGS='' ++ fi ++ AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) ++]) ++ + dnl Expands to some code for use in .c programs that, on native Windows, defines + dnl the Microsoft deprecated alias function names to the underscore-prefixed + dnl actual function names. With this macro, these function names are available +diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 +index 1290d75..0ae96ea 100644 +--- a/m4/gnulib-comp.m4 ++++ b/m4/gnulib-comp.m4 +@@ -142,6 +142,7 @@ AC_DEFUN([gl_EARLY], + # Code from module langinfo: + # Code from module largefile: + AC_REQUIRE([AC_SYS_LARGEFILE]) ++ AC_REQUIRE([gl_YEAR2038_EARLY]) + # Code from module ldexp: + # Code from module lib-symbol-versions: + # Code from module lib-symbol-visibility: +@@ -281,9 +282,11 @@ AC_DEFUN([gl_INIT], + m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) + m4_pushdef([gl_LIBSOURCES_LIST], []) + m4_pushdef([gl_LIBSOURCES_DIR], []) ++ m4_pushdef([GL_MACRO_PREFIX], [gl]) ++ m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) + gl_COMMON + gl_source_base='lib' +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([accept]) + fi +@@ -291,9 +294,10 @@ AC_DEFUN([gl_INIT], + gl_FUNC_ACCEPT4 + gl_SYS_SOCKET_MODULE_INDICATOR([accept4]) + gl_FUNC_ALLOCA +- gl_HEADER_ARPA_INET ++ gl_ARPA_INET_H ++ gl_ARPA_INET_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([bind]) + fi +@@ -317,7 +321,7 @@ AC_DEFUN([gl_INIT], + AC_LIBOBJ([close]) + fi + gl_UNISTD_MODULE_INDICATOR([close]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([connect]) + fi +@@ -328,6 +332,7 @@ AC_DEFUN([gl_INIT], + fi + gl_MATH_MODULE_INDICATOR([copysign]) + gl_DIRENT_H ++ gl_DIRENT_H_REQUIRE_DEFAULTS + gl_FUNC_DIRFD + if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \ + || test $REPLACE_DIRFD = 1; then +@@ -347,6 +352,7 @@ AC_DEFUN([gl_INIT], + gl_HEADER_ERRNO_H + AC_REQUIRE([gl_EXTERN_INLINE]) + gl_FCNTL_H ++ gl_FCNTL_H_REQUIRE_DEFAULTS + AC_C_FLEXIBLE_ARRAY_MEMBER + gl_FLOAT_H + if test $REPLACE_FLOAT_LDBL = 1; then +@@ -360,7 +366,7 @@ AC_DEFUN([gl_INIT], + AC_LIBOBJ([flock]) + gl_PREREQ_FLOCK + fi +- gl_HEADER_SYS_FILE_MODULE_INDICATOR([flock]) ++ gl_SYS_FILE_MODULE_INDICATOR([flock]) + AC_REQUIRE([gl_FUNC_FLOOR]) + if test $REPLACE_FLOOR = 1; then + AC_LIBOBJ([floor]) +@@ -409,17 +415,17 @@ AC_DEFUN([gl_INIT], + fi + gl_UNISTD_MODULE_INDICATOR([getlogin]) + AC_REQUIRE([gl_LIB_GETLOGIN]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([getpeername]) + fi + gl_SYS_SOCKET_MODULE_INDICATOR([getpeername]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([getsockname]) + fi + gl_SYS_SOCKET_MODULE_INDICATOR([getsockname]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([getsockopt]) + fi +@@ -439,6 +445,7 @@ AC_DEFUN([gl_INIT], + m4_ifdef([gl_ICONV_MODULE_INDICATOR], + [gl_ICONV_MODULE_INDICATOR([iconv])]) + gl_ICONV_H ++ gl_ICONV_H_REQUIRE_DEFAULTS + gl_FUNC_ICONV_OPEN + if test $REPLACE_ICONV_OPEN = 1; then + AC_LIBOBJ([iconv_open]) +@@ -461,6 +468,7 @@ AC_DEFUN([gl_INIT], + fi + gl_ARPA_INET_MODULE_INDICATOR([inet_pton]) + gl_INTTYPES_INCOMPLETE ++ gl_INTTYPES_H_REQUIRE_DEFAULTS + gl_ISFINITE + if test $REPLACE_ISFINITE = 1; then + AC_LIBOBJ([isfinite]) +@@ -501,6 +509,7 @@ AC_DEFUN([gl_INIT], + fi + gl_MATH_MODULE_INDICATOR([isnanl]) + gl_LANGINFO_H ++ gl_LANGINFO_H_REQUIRE_DEFAULTS + AC_REQUIRE([gl_LARGEFILE]) + gl_FUNC_LDEXP + gl_LD_VERSION_SCRIPT +@@ -512,7 +521,7 @@ AC_DEFUN([gl_INIT], + AC_LIBOBJ([link]) + fi + gl_UNISTD_MODULE_INDICATOR([link]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([listen]) + fi +@@ -522,6 +531,7 @@ AC_DEFUN([gl_INIT], + LOCALCHARSET_TESTS_ENVIRONMENT= + AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) + gl_LOCALE_H ++ gl_LOCALE_H_REQUIRE_DEFAULTS + gl_FUNC_LOG1P + if test $HAVE_LOG1P = 0 || test $REPLACE_LOG1P = 1; then + AC_LIBOBJ([log1p]) +@@ -541,15 +551,14 @@ AC_DEFUN([gl_INIT], + if test $REPLACE_MALLOC = 1; then + AC_LIBOBJ([malloc]) + fi +- gl_MODULE_INDICATOR([malloc-gnu]) +- gl_FUNC_MALLOC_POSIX ++ AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC = 1; then + AC_LIBOBJ([malloc]) + fi + gl_STDLIB_MODULE_INDICATOR([malloc-posix]) +- gl_MODULE_INDICATOR([malloc-posix]) + gl_MALLOCA + gl_MATH_H ++ gl_MATH_H_REQUIRE_DEFAULTS + gl_MINMAX + gl_FUNC_MKDIR + if test $REPLACE_MKDIR = 1; then +@@ -573,7 +582,8 @@ AC_DEFUN([gl_INIT], + fi + gl_MODULE_INDICATOR([msvc-nothrow]) + gl_MULTIARCH +- gl_HEADER_NETDB ++ gl_NETDB_H ++ gl_NETDB_H_REQUIRE_DEFAULTS + gl_HEADER_NETINET_IN + AC_PROG_MKDIR_P + gl_FUNC_NL_LANGINFO +@@ -607,6 +617,7 @@ AC_DEFUN([gl_INIT], + fi + gl_POLL_MODULE_INDICATOR([poll]) + gl_POLL_H ++ gl_POLL_H_REQUIRE_DEFAULTS + gl_FUNC_PUTENV + if test $REPLACE_PUTENV = 1; then + AC_LIBOBJ([putenv]) +@@ -625,12 +636,12 @@ AC_DEFUN([gl_INIT], + gl_PREREQ_READLINK + fi + gl_UNISTD_MODULE_INDICATOR([readlink]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([recv]) + fi + gl_SYS_SOCKET_MODULE_INDICATOR([recv]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([recvfrom]) + fi +@@ -657,12 +668,12 @@ AC_DEFUN([gl_INIT], + AC_LIBOBJ([select]) + fi + gl_SYS_SELECT_MODULE_INDICATOR([select]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([send]) + fi + gl_SYS_SOCKET_MODULE_INDICATOR([send]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([sendto]) + fi +@@ -672,25 +683,26 @@ AC_DEFUN([gl_INIT], + AC_LIBOBJ([setenv]) + fi + gl_STDLIB_MODULE_INDICATOR([setenv]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([setsockopt]) + fi + gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt]) +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([shutdown]) + fi + gl_SYS_SOCKET_MODULE_INDICATOR([shutdown]) + gl_SIGNAL_H +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ gl_SIGNAL_H_REQUIRE_DEFAULTS ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([socket]) + fi + # When this module is used, sockets may actually occur as file descriptors, + # hence it is worth warning if the modules 'close' and 'ioctl' are not used. +- m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) +- m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) ++ m4_ifdef([gl_UNISTD_H_DEFAULTS], [gl_UNISTD_H_REQUIRE_DEFAULTS]) ++ m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [gl_SYS_IOCTL_H_REQUIRE_DEFAULTS]) + AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2]) + if test "$ac_cv_header_winsock2_h" = yes; then + UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 +@@ -705,31 +717,67 @@ AC_DEFUN([gl_INIT], + gl_STDALIGN_H + AM_STDBOOL_H + gl_STDDEF_H ++ gl_STDDEF_H_REQUIRE_DEFAULTS + gl_STDINT_H + gl_STDIO_H ++ gl_STDIO_H_REQUIRE_DEFAULTS ++ dnl No need to create extra modules for these functions. Everyone who uses ++ dnl likely needs them. ++ gl_STDIO_MODULE_INDICATOR([fscanf]) ++ gl_MODULE_INDICATOR([fscanf]) ++ gl_STDIO_MODULE_INDICATOR([scanf]) ++ gl_MODULE_INDICATOR([scanf]) ++ gl_STDIO_MODULE_INDICATOR([fgetc]) ++ gl_STDIO_MODULE_INDICATOR([getc]) ++ gl_STDIO_MODULE_INDICATOR([getchar]) ++ gl_STDIO_MODULE_INDICATOR([fgets]) ++ gl_STDIO_MODULE_INDICATOR([fread]) ++ dnl No need to create extra modules for these functions. Everyone who uses ++ dnl likely needs them. ++ gl_STDIO_MODULE_INDICATOR([fprintf]) ++ gl_STDIO_MODULE_INDICATOR([printf]) ++ gl_STDIO_MODULE_INDICATOR([vfprintf]) ++ gl_STDIO_MODULE_INDICATOR([vprintf]) ++ gl_STDIO_MODULE_INDICATOR([fputc]) ++ gl_STDIO_MODULE_INDICATOR([putc]) ++ gl_STDIO_MODULE_INDICATOR([putchar]) ++ gl_STDIO_MODULE_INDICATOR([fputs]) ++ gl_STDIO_MODULE_INDICATOR([puts]) ++ gl_STDIO_MODULE_INDICATOR([fwrite]) + gl_STDLIB_H ++ gl_STDLIB_H_REQUIRE_DEFAULTS + if test $gl_cond_libtool = false; then + gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV" + gl_libdeps="$gl_libdeps $LIBICONV" + fi +- gl_HEADER_STRING_H +- gl_HEADER_SYS_FILE_H ++ gl_STRING_H ++ gl_STRING_H_REQUIRE_DEFAULTS ++ gl_SYS_FILE_H ++ gl_SYS_FILE_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P +- AC_REQUIRE([gl_HEADER_SYS_SELECT]) ++ gl_SYS_SELECT_H ++ gl_SYS_SELECT_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ gl_SYS_SOCKET_H ++ gl_SYS_SOCKET_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P +- gl_HEADER_SYS_STAT_H ++ gl_SYS_STAT_H ++ gl_SYS_STAT_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P +- gl_HEADER_SYS_TIME_H ++ gl_SYS_TIME_H ++ gl_SYS_TIME_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + gl_SYS_TIMES_H ++ gl_SYS_TIMES_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + gl_SYS_TYPES_H ++ gl_SYS_TYPES_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P +- gl_HEADER_SYS_UIO ++ gl_SYS_UIO_H ++ gl_SYS_UIO_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P +- gl_HEADER_TIME_H ++ gl_TIME_H ++ gl_TIME_H_REQUIRE_DEFAULTS + gl_TIME_RZ + if test $HAVE_TIMEZONE_T = 0; then + AC_LIBOBJ([time_rz]) +@@ -746,9 +794,11 @@ AC_DEFUN([gl_INIT], + fi + gl_MATH_MODULE_INDICATOR([trunc]) + gl_UNISTD_H ++ gl_UNISTD_H_REQUIRE_DEFAULTS + gl_FUNC_VSNPRINTF + gl_STDIO_MODULE_INDICATOR([vsnprintf]) + gl_WCHAR_H ++ gl_WCHAR_H_REQUIRE_DEFAULTS + gl_FUNC_WRITE + if test $REPLACE_WRITE = 1; then + AC_LIBOBJ([write]) +@@ -771,7 +821,6 @@ AC_DEFUN([gl_INIT], + gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false + gl_gnulib_enabled_30838f5439487421042f2225bed3af76=false + gl_gnulib_enabled_hostent=false +- gl_gnulib_enabled_idx=false + gl_gnulib_enabled_b1df7117b479d2da59d76deba468ee21=false + gl_gnulib_enabled_3f0e593033d1fc2c127581960f641b66=false + gl_gnulib_enabled_dbdf22868a5367f28bf18e0013ac6f8f=false +@@ -880,7 +929,9 @@ AC_SUBST([LTALLOCA]) + func_gl_gnulib_m4code_dynarray () + { + if ! $gl_gnulib_enabled_dynarray; then ++ AC_PROG_MKDIR_P + gl_gnulib_enabled_dynarray=true ++ func_gl_gnulib_m4code_37f71b604aa9c54446783d80f42fe547 + func_gl_gnulib_m4code_21ee726a3540c09237a8e70c0baf7467 + fi + } +@@ -963,12 +1014,6 @@ AC_SUBST([LTALLOCA]) + gl_gnulib_enabled_hostent=true + fi + } +- func_gl_gnulib_m4code_idx () +- { +- if ! $gl_gnulib_enabled_idx; then +- gl_gnulib_enabled_idx=true +- fi +- } + func_gl_gnulib_m4code_b1df7117b479d2da59d76deba468ee21 () + { + if ! $gl_gnulib_enabled_b1df7117b479d2da59d76deba468ee21; then +@@ -1181,7 +1226,6 @@ AC_SUBST([LTALLOCA]) + AC_LIBOBJ([realloc]) + fi + gl_STDLIB_MODULE_INDICATOR([realloc-posix]) +- gl_MODULE_INDICATOR([realloc-posix]) + gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4=true + fi + } +@@ -1205,7 +1249,9 @@ AC_SUBST([LTALLOCA]) + func_gl_gnulib_m4code_scratch_buffer () + { + if ! $gl_gnulib_enabled_scratch_buffer; then ++ AC_PROG_MKDIR_P + gl_gnulib_enabled_scratch_buffer=true ++ func_gl_gnulib_m4code_37f71b604aa9c54446783d80f42fe547 + func_gl_gnulib_m4code_21ee726a3540c09237a8e70c0baf7467 + func_gl_gnulib_m4code_61bcaca76b3e6f9ae55d57a1c3193bc4 + fi +@@ -1319,7 +1365,8 @@ AC_SUBST([LTALLOCA]) + func_gl_gnulib_m4code_sys_random () + { + if ! $gl_gnulib_enabled_sys_random; then +- gl_HEADER_SYS_RANDOM ++ gl_SYS_RANDOM_H ++ gl_SYS_RANDOM_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + gl_gnulib_enabled_sys_random=true + fi +@@ -1416,6 +1463,7 @@ AC_SUBST([LTALLOCA]) + { + if ! $gl_gnulib_enabled_3dcce957eadc896e63ab5f137947b410; then + gl_WCTYPE_H ++ gl_WCTYPE_H_REQUIRE_DEFAULTS + gl_gnulib_enabled_3dcce957eadc896e63ab5f137947b410=true + fi + } +@@ -1431,9 +1479,6 @@ AC_SUBST([LTALLOCA]) + func_gl_gnulib_m4code_925677f0343de64b89a9f0c790b4104c + fi + if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then +- func_gl_gnulib_m4code_idx +- fi +- if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then + func_gl_gnulib_m4code_21ee726a3540c09237a8e70c0baf7467 + fi + if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then +@@ -1584,9 +1629,6 @@ AC_SUBST([LTALLOCA]) + func_gl_gnulib_m4code_sockets + fi + if test $HAVE_TIMEZONE_T = 0; then +- func_gl_gnulib_m4code_idx +- fi +- if test $HAVE_TIMEZONE_T = 0; then + func_gl_gnulib_m4code_time_r + fi + if test $HAVE_TIMEZONE_T = 0; then +@@ -1621,7 +1663,6 @@ AC_SUBST([LTALLOCA]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76], [$gl_gnulib_enabled_30838f5439487421042f2225bed3af76]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_hostent], [$gl_gnulib_enabled_hostent]) +- AM_CONDITIONAL([gl_GNULIB_ENABLED_idx], [$gl_gnulib_enabled_idx]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_b1df7117b479d2da59d76deba468ee21], [$gl_gnulib_enabled_b1df7117b479d2da59d76deba468ee21]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_3f0e593033d1fc2c127581960f641b66], [$gl_gnulib_enabled_3f0e593033d1fc2c127581960f641b66]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_dbdf22868a5367f28bf18e0013ac6f8f], [$gl_gnulib_enabled_dbdf22868a5367f28bf18e0013ac6f8f]) +@@ -1673,6 +1714,8 @@ AC_SUBST([LTALLOCA]) + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) ++ m4_popdef([GL_MODULE_INDICATOR_PREFIX]) ++ m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([gl_LIBSOURCES_DIR]) + m4_popdef([gl_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) +@@ -1699,6 +1742,8 @@ AC_SUBST([LTALLOCA]) + m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) + m4_pushdef([gltests_LIBSOURCES_LIST], []) + m4_pushdef([gltests_LIBSOURCES_DIR], []) ++ m4_pushdef([GL_MACRO_PREFIX], [gltests]) ++ m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) + gl_COMMON + gl_source_base='tests' + changequote(,)dnl +@@ -1720,6 +1765,8 @@ changequote([, ])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) ++ m4_popdef([GL_MODULE_INDICATOR_PREFIX]) ++ m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([gltests_LIBSOURCES_DIR]) + m4_popdef([gltests_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) +@@ -2265,6 +2312,7 @@ AC_DEFUN([gl_FILE_LIST], [ + m4/wint_t.m4 + m4/write.m4 + m4/xsize.m4 ++ m4/year2038.m4 + m4/zzgnulib.m4 + top/GNUmakefile + top/maint.mk +diff --git a/m4/hostent.m4 b/m4/hostent.m4 +index 641d72f..f1390a3 100644 +--- a/m4/hostent.m4 ++++ b/m4/hostent.m4 +@@ -1,4 +1,4 @@ +-# hostent.m4 serial 3 ++# hostent.m4 serial 4 + dnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -13,7 +13,7 @@ AC_DEFUN([gl_HOSTENT], + dnl - On BeOS, they are in libnet. + dnl - On native Windows, they are in ws2_32.dll. + dnl - Otherwise they are in libc. +- AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H ++ AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H + HOSTENT_LIB= + gl_saved_libs="$LIBS" + AC_SEARCH_LIBS([gethostbyname], [nsl network net], +diff --git a/m4/iconv_h.m4 b/m4/iconv_h.m4 +index ab8e283..2940988 100644 +--- a/m4/iconv_h.m4 ++++ b/m4/iconv_h.m4 +@@ -1,10 +1,10 @@ +-# iconv_h.m4 serial 12 ++# iconv_h.m4 serial 15 + dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_ICONV_H], ++AC_DEFUN_ONCE([gl_ICONV_H], + [ + AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + +@@ -24,22 +24,37 @@ AC_DEFUN([gl_ICONV_H], + dnl Unconditionally enables the replacement of . + AC_DEFUN([gl_REPLACE_ICONV_H], + [ +- AC_REQUIRE([gl_ICONV_H_DEFAULTS]) ++ gl_ICONV_H_REQUIRE_DEFAULTS + ICONV_H='iconv.h' + AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"]) + ]) + ++# gl_ICONV_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_ICONV_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_ICONV_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_ICONV_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_ICONV_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ICONV]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_ICONV_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_ICONV_H_DEFAULTS], + [ + m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])]) +- GNULIB_ICONV=0; AC_SUBST([GNULIB_ICONV]) + dnl Assume proper GNU behavior unless another module says otherwise. + ICONV_CONST=; AC_SUBST([ICONV_CONST]) + REPLACE_ICONV=0; AC_SUBST([REPLACE_ICONV]) +diff --git a/m4/inttypes.m4 b/m4/inttypes.m4 +index f56e94a..64b1de5 100644 +--- a/m4/inttypes.m4 ++++ b/m4/inttypes.m4 +@@ -1,4 +1,4 @@ +-# inttypes.m4 serial 32 ++# inttypes.m4 serial 35 + dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. + dnl From Derek Price, Bruno Haible. + dnl Test whether is supported or must be substituted. + +-AC_DEFUN([gl_INTTYPES_H], ++AC_DEFUN_ONCE([gl_INTTYPES_H], + [ + AC_REQUIRE([gl_INTTYPES_INCOMPLETE]) + gl_INTTYPES_PRI_SCN +@@ -136,19 +136,34 @@ AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION], + AC_SUBST([$1]) + ]) + ++# gl_INTTYPES_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_INTTYPES_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_INTTYPES_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXABS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXDIV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOIMAX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUMAX]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_INTTYPES_H_DEFAULTS], + [ +- GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS]) +- GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV]) +- GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX]) +- GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS]) + HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) +diff --git a/m4/langinfo_h.m4 b/m4/langinfo_h.m4 +index 950fe20..87959f7 100644 +--- a/m4/langinfo_h.m4 ++++ b/m4/langinfo_h.m4 +@@ -1,10 +1,10 @@ +-# langinfo_h.m4 serial 9 ++# langinfo_h.m4 serial 12 + dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_LANGINFO_H], ++AC_DEFUN_ONCE([gl_LANGINFO_H], + [ + AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) + +@@ -104,18 +104,33 @@ int a = YESEXPR; + ]], [nl_langinfo]) + ]) + ++# gl_LANGINFO_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_LANGINFO_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_LANGINFO_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NL_LANGINFO]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_LANGINFO_H_DEFAULTS], + [ +- GNULIB_NL_LANGINFO=0; AC_SUBST([GNULIB_NL_LANGINFO]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_NL_LANGINFO=1; AC_SUBST([HAVE_NL_LANGINFO]) + REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO]) +diff --git a/m4/largefile.m4 b/m4/largefile.m4 +index cadb16d..fbde5e6 100644 +--- a/m4/largefile.m4 ++++ b/m4/largefile.m4 +@@ -22,7 +22,8 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + esac + ]) + +-# The following implementation works around a problem in autoconf <= 2.69; ++# Work around a problem in Autoconf through at least 2.71 on glibc 2.34+ ++# with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. + m4_version_prereq([2.70], [], [ +@@ -40,6 +41,7 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]];[]dnl + ]) ++])# m4_version_prereq 2.70 + + + # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, +@@ -54,7 +56,8 @@ m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], + [AC_LANG_PROGRAM([$5], [$6])], + [$3=no; break]) + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( +- [AC_LANG_PROGRAM([#define $1 $2 ++ [AC_LANG_PROGRAM([#undef $1 ++#define $1 $2 + $5], [$6])], + [$3=$2; break]) + $3=unknown +@@ -80,9 +83,8 @@ rm -rf conftest*[]dnl + AC_DEFUN([AC_SYS_LARGEFILE], + [AC_ARG_ENABLE(largefile, + [ --disable-largefile omit support for large files]) +-if test "$enable_largefile" != no; then +- +- AC_CACHE_CHECK([for special C compiler options needed for large files], ++AS_IF([test "$enable_largefile" != no], ++ [AC_CACHE_CHECK([for special C compiler options needed for large files], + ac_cv_sys_largefile_CC, + [ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then +@@ -107,15 +109,15 @@ if test "$enable_largefile" != no; then + ac_cv_sys_file_offset_bits, + [Number of bits in a file offset, on hosts where this is settable.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) +- if test $ac_cv_sys_file_offset_bits = unknown; then +- _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, +- ac_cv_sys_large_files, +- [Define for large files, on AIX-style hosts.], +- [_AC_SYS_LARGEFILE_TEST_INCLUDES]) +- fi +-fi ++ AS_CASE([$ac_cv_sys_file_offset_bits], ++ [unknown], ++ [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], ++ [ac_cv_sys_large_files], ++ [Define for large files, on AIX-style hosts.], ++ [_AC_SYS_LARGEFILE_TEST_INCLUDES])], ++ [64], ++ [gl_YEAR2038_BODY([])])]) + ])# AC_SYS_LARGEFILE +-])# m4_version_prereq 2.70 + + # Enable large files on systems where this is implemented by Gnulib, not by the + # system headers. +diff --git a/m4/limits-h.m4 b/m4/limits-h.m4 +index 70dbb7d..00c9fe9 100644 +--- a/m4/limits-h.m4 ++++ b/m4/limits-h.m4 +@@ -11,7 +11,7 @@ AC_DEFUN_ONCE([gl_LIMITS_H], + [ + gl_CHECK_NEXT_HEADERS([limits.h]) + +- AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.], ++ AC_CACHE_CHECK([whether limits.h has WORD_BIT, BOOL_WIDTH etc.], + [gl_cv_header_limits_width], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( +@@ -22,6 +22,7 @@ AC_DEFUN_ONCE([gl_LIMITS_H], + long long llm = LLONG_MAX; + int wb = WORD_BIT; + int ullw = ULLONG_WIDTH; ++ int bw = BOOL_WIDTH; + ]])], + [gl_cv_header_limits_width=yes], + [gl_cv_header_limits_width=no])]) +diff --git a/m4/locale_h.m4 b/m4/locale_h.m4 +index 7b50aa7..444a381 100644 +--- a/m4/locale_h.m4 ++++ b/m4/locale_h.m4 +@@ -1,13 +1,13 @@ +-# locale_h.m4 serial 25 ++# locale_h.m4 serial 28 + dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_LOCALE_H], ++AC_DEFUN_ONCE([gl_LOCALE_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. + AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) + + dnl Persuade glibc to define locale_t and the int_p_*, int_n_* +@@ -129,22 +129,37 @@ AC_DEFUN([gl_LOCALE_T], + AC_SUBST([HAVE_XLOCALE_H]) + ]) + ++# gl_LOCALE_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_LOCALE_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALECONV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_LOCALE_H_DEFAULTS], + [ +- GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) +- GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) +- GNULIB_SETLOCALE_NULL=0; AC_SUBST([GNULIB_SETLOCALE_NULL]) +- GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) +- GNULIB_LOCALENAME=0; AC_SUBST([GNULIB_LOCALENAME]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_NEWLOCALE=1; AC_SUBST([HAVE_NEWLOCALE]) + HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) +diff --git a/m4/malloc.m4 b/m4/malloc.m4 +index 32ab42e..972e808 100644 +--- a/m4/malloc.m4 ++++ b/m4/malloc.m4 +@@ -1,21 +1,21 @@ +-# malloc.m4 serial 22 ++# malloc.m4 serial 27 + dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + + # This is adapted with modifications from upstream Autoconf here: +-# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c ++# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n949 + AC_DEFUN([_AC_FUNC_MALLOC_IF], + [ + AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles +- AC_CACHE_CHECK([for GNU libc compatible malloc], ++ AC_CACHE_CHECK([whether malloc (0) returns nonnull], + [ac_cv_func_malloc_0_nonnull], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], +- [[char *p = malloc (0); ++ [[void *p = malloc (0); + int result = !p; + free (p); + return result;]]) +@@ -24,75 +24,151 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF], + [ac_cv_func_malloc_0_nonnull=no], + [case "$host_os" in + # Guess yes on platforms where we know the result. +- *-gnu* | gnu* | *-musl* | freebsd* | midnightbsd* | netbsd* | openbsd* \ +- | hpux* | solaris* | cygwin* | mingw*) ++ *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ ++ | gnu* | *-musl* | midnightbsd* \ ++ | hpux* | solaris* | cygwin* | mingw* | msys* ) + ac_cv_func_malloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + ]) + ]) +- case "$ac_cv_func_malloc_0_nonnull" in +- *yes) +- $1 +- ;; +- *) +- $2 +- ;; +- esac ++ AS_CASE([$ac_cv_func_malloc_0_nonnull], [*yes], [$1], [$2]) + ])# _AC_FUNC_MALLOC_IF + + # gl_FUNC_MALLOC_GNU + # ------------------ +-# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if +-# it is not. ++# Replace malloc if it is not compatible with GNU libc. + AC_DEFUN([gl_FUNC_MALLOC_GNU], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) +- dnl _AC_FUNC_MALLOC_IF is defined in Autoconf. +- _AC_FUNC_MALLOC_IF( +- [AC_DEFINE([HAVE_MALLOC_GNU], [1], +- [Define to 1 if your system has a GNU libc compatible 'malloc' +- function, and to 0 otherwise.])], +- [AC_DEFINE([HAVE_MALLOC_GNU], [0]) +- REPLACE_MALLOC=1 ++ AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) ++ if test $REPLACE_MALLOC = 0; then ++ _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC=1]) ++ fi ++]) ++ ++# gl_FUNC_MALLOC_PTRDIFF ++# ---------------------- ++# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX, ++# and replace malloc otherwise. ++AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF], ++[ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) ++ test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC=1 ++]) ++ ++# Test whether malloc, realloc, calloc refuse to create objects ++# larger than what can be expressed in ptrdiff_t. ++# Set gl_cv_func_malloc_gnu to yes or no accordingly. ++AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF], ++[ ++ AC_CACHE_CHECK([whether malloc is ptrdiff_t safe], ++ [gl_cv_malloc_ptrdiff], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include ++ ]], ++ [[/* 64-bit ptrdiff_t is so wide that no practical platform ++ can exceed it. */ ++ #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 != 0) ++ ++ /* On rare machines where size_t fits in ptrdiff_t there ++ is no problem. */ ++ #define NARROW_SIZE (SIZE_MAX <= PTRDIFF_MAX) ++ ++ /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t ++ bounds even on 32-bit platforms. We don't know which ++ non-glibc systems are safe. */ ++ #define KNOWN_SAFE (2 < __GLIBC__ + (30 <= __GLIBC_MINOR__)) ++ ++ #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE ++ return 0; ++ #else ++ #error "malloc might not be ptrdiff_t safe" ++ syntax error ++ #endif ++ ]])], ++ [gl_cv_malloc_ptrdiff=yes], ++ [gl_cv_malloc_ptrdiff=no]) + ]) + ]) + + # gl_FUNC_MALLOC_POSIX + # -------------------- + # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it +-# fails), and replace malloc if it is not. ++# fails, and doesn't mess up with ptrdiff_t overflow), and replace ++# malloc if it is not. + AC_DEFUN([gl_FUNC_MALLOC_POSIX], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF]) + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) +- if test $gl_cv_func_malloc_posix = yes; then ++ if test "$gl_cv_func_malloc_posix" = yes; then + AC_DEFINE([HAVE_MALLOC_POSIX], [1], +- [Define if the 'malloc' function is POSIX compliant.]) ++ [Define if malloc, realloc, and calloc set errno on allocation failure.]) + else + REPLACE_MALLOC=1 + fi + ]) + +-# Test whether malloc, realloc, calloc are POSIX compliant, ++# Test whether malloc, realloc, calloc set errno to ENOMEM on failure. + # Set gl_cv_func_malloc_posix to yes or no accordingly. + AC_DEFUN([gl_CHECK_MALLOC_POSIX], + [ +- AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], ++ AC_REQUIRE([AC_CANONICAL_HOST]) ++ AC_CACHE_CHECK([whether malloc, realloc, calloc set errno on failure], + [gl_cv_func_malloc_posix], + [ + dnl It is too dangerous to try to allocate a large amount of memory: + dnl some systems go to their knees when you do that. So assume that +- dnl all Unix implementations of the function are POSIX compliant. +- AC_COMPILE_IFELSE( +- [AC_LANG_PROGRAM( +- [[]], +- [[#if defined _WIN32 && ! defined __CYGWIN__ +- choke me +- #endif +- ]])], +- [gl_cv_func_malloc_posix=yes], +- [gl_cv_func_malloc_posix=no]) ++ dnl all Unix implementations of the function set errno on failure, ++ dnl except on those platforms where we have seen 'test-malloc-gnu', ++ dnl 'test-realloc-gnu', 'test-calloc-gnu' fail. ++ case "$host_os" in ++ mingw*) ++ gl_cv_func_malloc_posix=no ;; ++ irix* | solaris*) ++ dnl On IRIX 6.5, the three functions return NULL with errno unset ++ dnl when the argument is larger than PTRDIFF_MAX. ++ dnl On Solaris 11.3, the three functions return NULL with errno set ++ dnl to EAGAIN, not ENOMEM, when the argument is larger than ++ dnl PTRDIFF_MAX. ++ dnl Here is a test program: ++m4_divert_push([KILL]) ++#include ++#include ++#include ++#define ptrdiff_t long ++#ifndef PTRDIFF_MAX ++# define PTRDIFF_MAX ((ptrdiff_t) ((1UL << (8 * sizeof (ptrdiff_t) - 1)) - 1)) ++#endif ++ ++int main () ++{ ++ void *p; ++ ++ fprintf (stderr, "PTRDIFF_MAX = %lu\n", (unsigned long) PTRDIFF_MAX); ++ ++ errno = 0; ++ p = malloc ((unsigned long) PTRDIFF_MAX + 1); ++ fprintf (stderr, "p=%p errno=%d\n", p, errno); ++ ++ errno = 0; ++ p = calloc (PTRDIFF_MAX / 2 + 1, 2); ++ fprintf (stderr, "p=%p errno=%d\n", p, errno); ++ ++ errno = 0; ++ p = realloc (NULL, (unsigned long) PTRDIFF_MAX + 1); ++ fprintf (stderr, "p=%p errno=%d\n", p, errno); ++ ++ return 0; ++} ++m4_divert_pop([KILL]) ++ gl_cv_func_malloc_posix=no ;; ++ *) ++ gl_cv_func_malloc_posix=yes ;; ++ esac + ]) + ]) +diff --git a/m4/math_h.m4 b/m4/math_h.m4 +index a9ba5e6..b3a10c3 100644 +--- a/m4/math_h.m4 ++++ b/m4/math_h.m4 +@@ -1,10 +1,10 @@ +-# math_h.m4 serial 122 ++# math_h.m4 serial 125 + dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_MATH_H], ++AC_DEFUN_ONCE([gl_MATH_H], + [ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([math.h]) +@@ -53,119 +53,134 @@ AC_DEFUN([gl_MATH_H], + tanf tanl tanhf trunc truncf truncl]) + ]) + ++# gl_MATH_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_MATH_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_MATH_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_MATH_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_MATH_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACOSF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACOSL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ASINF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ASINL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATANL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATAN2F]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRTL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEIL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEILF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEILL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGNF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGNL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSHF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2F]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2L]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1F]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1L]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FABSF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FABSL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOOR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOORF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOORL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMA]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMAF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMAL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMOD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMODF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMODL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGB]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGBF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGBL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISFINITE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISINF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAND]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10F]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10L]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1P]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1PF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1PL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2F]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2L]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGB]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGBF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGBL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODFF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODFL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POWF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDER]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDERF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDERL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINTL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUND]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNBIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINHF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SQRTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SQRTL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANHF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCL]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_J0], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_J1], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_JN], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_Y0], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_Y1], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_YN], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_MATH_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_MATH_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_MATH_H_DEFAULTS], + [ +- GNULIB_ACOSF=0; AC_SUBST([GNULIB_ACOSF]) +- GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL]) +- GNULIB_ASINF=0; AC_SUBST([GNULIB_ASINF]) +- GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL]) +- GNULIB_ATANF=0; AC_SUBST([GNULIB_ATANF]) +- GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL]) +- GNULIB_ATAN2F=0; AC_SUBST([GNULIB_ATAN2F]) +- GNULIB_CBRT=0; AC_SUBST([GNULIB_CBRT]) +- GNULIB_CBRTF=0; AC_SUBST([GNULIB_CBRTF]) +- GNULIB_CBRTL=0; AC_SUBST([GNULIB_CBRTL]) +- GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL]) +- GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) +- GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) +- GNULIB_COPYSIGN=0; AC_SUBST([GNULIB_COPYSIGN]) +- GNULIB_COPYSIGNF=0; AC_SUBST([GNULIB_COPYSIGNF]) +- GNULIB_COPYSIGNL=0; AC_SUBST([GNULIB_COPYSIGNL]) +- GNULIB_COSF=0; AC_SUBST([GNULIB_COSF]) +- GNULIB_COSL=0; AC_SUBST([GNULIB_COSL]) +- GNULIB_COSHF=0; AC_SUBST([GNULIB_COSHF]) +- GNULIB_EXPF=0; AC_SUBST([GNULIB_EXPF]) +- GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL]) +- GNULIB_EXP2=0; AC_SUBST([GNULIB_EXP2]) +- GNULIB_EXP2F=0; AC_SUBST([GNULIB_EXP2F]) +- GNULIB_EXP2L=0; AC_SUBST([GNULIB_EXP2L]) +- GNULIB_EXPM1=0; AC_SUBST([GNULIB_EXPM1]) +- GNULIB_EXPM1F=0; AC_SUBST([GNULIB_EXPM1F]) +- GNULIB_EXPM1L=0; AC_SUBST([GNULIB_EXPM1L]) +- GNULIB_FABSF=0; AC_SUBST([GNULIB_FABSF]) +- GNULIB_FABSL=0; AC_SUBST([GNULIB_FABSL]) +- GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR]) +- GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) +- GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) +- GNULIB_FMA=0; AC_SUBST([GNULIB_FMA]) +- GNULIB_FMAF=0; AC_SUBST([GNULIB_FMAF]) +- GNULIB_FMAL=0; AC_SUBST([GNULIB_FMAL]) +- GNULIB_FMOD=0; AC_SUBST([GNULIB_FMOD]) +- GNULIB_FMODF=0; AC_SUBST([GNULIB_FMODF]) +- GNULIB_FMODL=0; AC_SUBST([GNULIB_FMODL]) +- GNULIB_FREXPF=0; AC_SUBST([GNULIB_FREXPF]) +- GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) +- GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) +- GNULIB_HYPOT=0; AC_SUBST([GNULIB_HYPOT]) +- GNULIB_HYPOTF=0; AC_SUBST([GNULIB_HYPOTF]) +- GNULIB_HYPOTL=0; AC_SUBST([GNULIB_HYPOTL]) +- GNULIB_ILOGB=0; AC_SUBST([GNULIB_ILOGB]) +- GNULIB_ILOGBF=0; AC_SUBST([GNULIB_ILOGBF]) +- GNULIB_ILOGBL=0; AC_SUBST([GNULIB_ILOGBL]) +- GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) +- GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) +- GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) +- GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) +- GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) +- GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) +- GNULIB_LDEXPF=0; AC_SUBST([GNULIB_LDEXPF]) +- GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) +- GNULIB_LOG=0; AC_SUBST([GNULIB_LOG]) +- GNULIB_LOGF=0; AC_SUBST([GNULIB_LOGF]) +- GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL]) +- GNULIB_LOG10=0; AC_SUBST([GNULIB_LOG10]) +- GNULIB_LOG10F=0; AC_SUBST([GNULIB_LOG10F]) +- GNULIB_LOG10L=0; AC_SUBST([GNULIB_LOG10L]) +- GNULIB_LOG1P=0; AC_SUBST([GNULIB_LOG1P]) +- GNULIB_LOG1PF=0; AC_SUBST([GNULIB_LOG1PF]) +- GNULIB_LOG1PL=0; AC_SUBST([GNULIB_LOG1PL]) +- GNULIB_LOG2=0; AC_SUBST([GNULIB_LOG2]) +- GNULIB_LOG2F=0; AC_SUBST([GNULIB_LOG2F]) +- GNULIB_LOG2L=0; AC_SUBST([GNULIB_LOG2L]) +- GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB]) +- GNULIB_LOGBF=0; AC_SUBST([GNULIB_LOGBF]) +- GNULIB_LOGBL=0; AC_SUBST([GNULIB_LOGBL]) +- GNULIB_MODF=0; AC_SUBST([GNULIB_MODF]) +- GNULIB_MODFF=0; AC_SUBST([GNULIB_MODFF]) +- GNULIB_MODFL=0; AC_SUBST([GNULIB_MODFL]) +- GNULIB_POWF=0; AC_SUBST([GNULIB_POWF]) +- GNULIB_REMAINDER=0; AC_SUBST([GNULIB_REMAINDER]) +- GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF]) +- GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL]) +- GNULIB_RINT=0; AC_SUBST([GNULIB_RINT]) +- GNULIB_RINTF=0; AC_SUBST([GNULIB_RINTF]) +- GNULIB_RINTL=0; AC_SUBST([GNULIB_RINTL]) +- GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) +- GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) +- GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) +- GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) +- GNULIB_SINF=0; AC_SUBST([GNULIB_SINF]) +- GNULIB_SINL=0; AC_SUBST([GNULIB_SINL]) +- GNULIB_SINHF=0; AC_SUBST([GNULIB_SINHF]) +- GNULIB_SQRTF=0; AC_SUBST([GNULIB_SQRTF]) +- GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL]) +- GNULIB_TANF=0; AC_SUBST([GNULIB_TANF]) +- GNULIB_TANL=0; AC_SUBST([GNULIB_TANL]) +- GNULIB_TANHF=0; AC_SUBST([GNULIB_TANHF]) +- GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) +- GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) +- GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_J0=1; AC_SUBST([GNULIB_MDA_J0]) +- GNULIB_MDA_J1=1; AC_SUBST([GNULIB_MDA_J1]) +- GNULIB_MDA_JN=1; AC_SUBST([GNULIB_MDA_JN]) +- GNULIB_MDA_Y0=1; AC_SUBST([GNULIB_MDA_Y0]) +- GNULIB_MDA_Y1=1; AC_SUBST([GNULIB_MDA_Y1]) +- GNULIB_MDA_YN=1; AC_SUBST([GNULIB_MDA_YN]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_ACOSF=1; AC_SUBST([HAVE_ACOSF]) + HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL]) +diff --git a/m4/memchr.m4 b/m4/memchr.m4 +index 64470de..ca08192 100644 +--- a/m4/memchr.m4 ++++ b/m4/memchr.m4 +@@ -1,4 +1,4 @@ +-# memchr.m4 serial 17 ++# memchr.m4 serial 18 + dnl Copyright (C) 2002-2004, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -13,7 +13,7 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], + AC_CHECK_HEADERS_ONCE([sys/mman.h]) + AC_CHECK_FUNCS_ONCE([mprotect]) + +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + # Detect platform-specific bugs in some versions of glibc: + # memchr should not dereference anything with length 0 + # https://bugzilla.redhat.com/show_bug.cgi?id=499689 +diff --git a/m4/mempcpy.m4 b/m4/mempcpy.m4 +index c5ee2af..f9d9ec8 100644 +--- a/m4/mempcpy.m4 ++++ b/m4/mempcpy.m4 +@@ -1,4 +1,4 @@ +-# mempcpy.m4 serial 11 ++# mempcpy.m4 serial 12 + dnl Copyright (C) 2003-2004, 2006-2007, 2009-2021 Free Software Foundation, + dnl Inc. + dnl This file is free software; the Free Software Foundation +@@ -13,7 +13,7 @@ AC_DEFUN([gl_FUNC_MEMPCPY], + dnl The mempcpy() declaration in lib/string.in.h uses 'restrict'. + AC_REQUIRE([AC_C_RESTRICT]) + +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([mempcpy]) + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 +diff --git a/m4/mktime.m4 b/m4/mktime.m4 +index 245649e..721189a 100644 +--- a/m4/mktime.m4 ++++ b/m4/mktime.m4 +@@ -1,4 +1,4 @@ +-# serial 35 ++# serial 36 + dnl Copyright (C) 2002-2003, 2005-2007, 2009-2021 Free Software Foundation, + dnl Inc. + dnl This file is free software; the Free Software Foundation +@@ -255,7 +255,7 @@ main () + dnl Main macro of module 'mktime'. + AC_DEFUN([gl_FUNC_MKTIME], + [ +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) + +diff --git a/m4/netdb_h.m4 b/m4/netdb_h.m4 +index db84c78..eb7c3b8 100644 +--- a/m4/netdb_h.m4 ++++ b/m4/netdb_h.m4 +@@ -1,10 +1,10 @@ +-# netdb_h.m4 serial 12 ++# netdb_h.m4 serial 15 + dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_HEADER_NETDB], ++AC_DEFUN_ONCE([gl_NETDB_H], + [ + AC_REQUIRE([gl_NETDB_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([netdb.h]) +@@ -21,18 +21,33 @@ AC_DEFUN([gl_HEADER_NETDB], + [getaddrinfo freeaddrinfo gai_strerror getnameinfo]) + ]) + ++# gl_NETDB_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_NETDB_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_NETDB_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_NETDB_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_NETDB_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETADDRINFO]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_NETDB_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_NETDB_H_DEFAULTS], + [ +- GNULIB_GETADDRINFO=0; AC_SUBST([GNULIB_GETADDRINFO]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_STRUCT_ADDRINFO=1; AC_SUBST([HAVE_STRUCT_ADDRINFO]) + HAVE_DECL_FREEADDRINFO=1; AC_SUBST([HAVE_DECL_FREEADDRINFO]) +diff --git a/m4/poll_h.m4 b/m4/poll_h.m4 +index 20692d8..1f0d796 100644 +--- a/m4/poll_h.m4 ++++ b/m4/poll_h.m4 +@@ -1,4 +1,4 @@ +-# poll_h.m4 serial 3 ++# poll_h.m4 serial 6 + dnl Copyright (C) 2010-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl Written by Bruno Haible. + +-AC_DEFUN([gl_POLL_H], ++AC_DEFUN_ONCE([gl_POLL_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. + AC_REQUIRE([gl_POLL_H_DEFAULTS]) + + AC_CHECK_HEADERS_ONCE([poll.h]) +@@ -31,18 +31,33 @@ AC_DEFUN([gl_POLL_H], + [poll]) + ]) + ++# gl_POLL_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_POLL_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_POLL_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_POLL_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_POLL_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_POLL_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POLL]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_POLL_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_POLL_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_POLL_H_DEFAULTS], + [ +- GNULIB_POLL=0; AC_SUBST([GNULIB_POLL]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_POLL=1; AC_SUBST([HAVE_POLL]) + REPLACE_POLL=0; AC_SUBST([REPLACE_POLL]) +diff --git a/m4/printf.m4 b/m4/printf.m4 +index d8b3521..284c7c5 100644 +--- a/m4/printf.m4 ++++ b/m4/printf.m4 +@@ -1,4 +1,4 @@ +-# printf.m4 serial 72 ++# printf.m4 serial 73 + dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -537,7 +537,7 @@ int main () + && strcmp (buf, "-0X6.488P-1 33") != 0 + && strcmp (buf, "-0XC.91P-2 33") != 0)) + result |= 2; +- /* This catches a FreeBSD 6.1 bug: it doesn't round. */ ++ /* This catches a FreeBSD 13.0 bug: it doesn't round. */ + if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 + || (strcmp (buf, "0x1.83p+0 33") != 0 + && strcmp (buf, "0x3.05p-1 33") != 0 +@@ -1690,6 +1690,7 @@ dnl + dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . + dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . ++dnl FreeBSD 13.0 . . . . # . . . . . . . . # . . . . . . + dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . + dnl Mac OS X 10.13.5 . . . # # . # . . . . . . . . . . # . . + dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . . +diff --git a/m4/rawmemchr.m4 b/m4/rawmemchr.m4 +index f928465..452fab1 100644 +--- a/m4/rawmemchr.m4 ++++ b/m4/rawmemchr.m4 +@@ -1,4 +1,4 @@ +-# rawmemchr.m4 serial 2 ++# rawmemchr.m4 serial 3 + dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -9,7 +9,7 @@ AC_DEFUN([gl_FUNC_RAWMEMCHR], + dnl Persuade glibc to declare rawmemchr(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([rawmemchr]) + if test $ac_cv_func_rawmemchr = no; then + HAVE_RAWMEMCHR=0 +diff --git a/m4/realloc.m4 b/m4/realloc.m4 +index a80a02a..0abc418 100644 +--- a/m4/realloc.m4 ++++ b/m4/realloc.m4 +@@ -1,21 +1,21 @@ +-# realloc.m4 serial 20 ++# realloc.m4 serial 24 + dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + + # This is adapted with modifications from upstream Autoconf here: +-# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c ++# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n1455 + AC_DEFUN([_AC_FUNC_REALLOC_IF], + [ + AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles +- AC_CACHE_CHECK([for GNU libc compatible realloc], ++ AC_CACHE_CHECK([whether realloc (0, 0) returns nonnull], + [ac_cv_func_realloc_0_nonnull], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], +- [[char *p = realloc (0, 0); ++ [[void *p = realloc (0, 0); + int result = !p; + free (p); + return result;]]) +@@ -24,53 +24,40 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF], + [ac_cv_func_realloc_0_nonnull=no], + [case "$host_os" in + # Guess yes on platforms where we know the result. +- *-gnu* | gnu* | *-musl* | freebsd* | midnightbsd* | netbsd* | openbsd* \ +- | hpux* | solaris* | cygwin* | mingw*) ++ *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ ++ | gnu* | *-musl* | midnightbsd* \ ++ | hpux* | solaris* | cygwin* | mingw* | msys* ) + ac_cv_func_realloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + ]) + ]) +- case "$ac_cv_func_realloc_0_nonnull" in +- *yes) +- $1 +- ;; +- *) +- $2 +- ;; +- esac ++ AS_CASE([$ac_cv_func_realloc_0_nonnull], [*yes], [$1], [$2]) + ])# AC_FUNC_REALLOC + + # gl_FUNC_REALLOC_GNU + # ------------------- +-# Test whether 'realloc (0, 0)' is handled like in GNU libc, and replace +-# realloc if it is not. ++# Replace realloc if it is not compatible with GNU libc. + AC_DEFUN([gl_FUNC_REALLOC_GNU], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) +- dnl _AC_FUNC_REALLOC_IF is defined in Autoconf. +- _AC_FUNC_REALLOC_IF( +- [AC_DEFINE([HAVE_REALLOC_GNU], [1], +- [Define to 1 if your system has a GNU libc compatible 'realloc' +- function, and to 0 otherwise.])], +- [AC_DEFINE([HAVE_REALLOC_GNU], [0]) +- REPLACE_REALLOC=1 +- ]) ++ AC_REQUIRE([gl_FUNC_REALLOC_POSIX]) ++ if test $REPLACE_REALLOC = 0; then ++ _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC=1]) ++ fi + ])# gl_FUNC_REALLOC_GNU + + # gl_FUNC_REALLOC_POSIX + # --------------------- + # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it +-# fails), and replace realloc if it is not. ++# fails, and doesn't mess up with ptrdiff_t overflow), ++# and replace realloc if it is not. + AC_DEFUN([gl_FUNC_REALLOC_POSIX], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) +- AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) +- if test $gl_cv_func_malloc_posix = yes; then +- AC_DEFINE([HAVE_REALLOC_POSIX], [1], +- [Define if the 'realloc' function is POSIX compliant.]) +- else ++ AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) ++ if test $REPLACE_MALLOC = 1; then + REPLACE_REALLOC=1 + fi + ]) +diff --git a/m4/regex.m4 b/m4/regex.m4 +index 850c572..1c7e562 100644 +--- a/m4/regex.m4 ++++ b/m4/regex.m4 +@@ -1,4 +1,4 @@ +-# serial 71 ++# serial 73 + + # Copyright (C) 1996-2001, 2003-2021 Free Software Foundation, Inc. + # +@@ -246,7 +246,7 @@ AC_DEFUN([gl_REGEX], + & ~RE_CONTEXT_INVALID_DUP + & ~RE_NO_EMPTY_RANGES); + memset (®ex, 0, sizeof regex); +- s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); ++ s = re_compile_pattern ("[[:alnum:]_-]\\\\+\$", 16, ®ex); + if (s) + result |= 32; + else +@@ -264,14 +264,50 @@ AC_DEFUN([gl_REGEX], + back reference. */ + re_set_syntax (RE_SYNTAX_POSIX_EGREP); + memset (®ex, 0, sizeof regex); +- s = re_compile_pattern ("0|()0|\\1|0", 10, ®ex); ++ s = re_compile_pattern ("0|()0|\\\\1|0", 10, ®ex); + if (!s) +- result |= 64; ++ { ++ memset (®s, 0, sizeof regs); ++ i = re_search (®ex, "x", 1, 0, 1, ®s); ++ if (i != -1) ++ result |= 64; ++ if (0 <= i) ++ { ++ free (regs.start); ++ free (regs.end); ++ } ++ regfree (®ex); ++ } + else + { + if (strcmp (s, "Invalid back reference")) + result |= 64; ++ } ++ ++ /* glibc bug 11053. */ ++ re_set_syntax (RE_SYNTAX_POSIX_BASIC); ++ memset (®ex, 0, sizeof regex); ++ static char const pat_sub2[] = "\\\\(a*\\\\)*a*\\\\1"; ++ s = re_compile_pattern (pat_sub2, sizeof pat_sub2 - 1, ®ex); ++ if (s) ++ result |= 64; ++ else ++ { ++ memset (®s, 0, sizeof regs); ++ static char const data[] = "a"; ++ int datalen = sizeof data - 1; ++ i = re_search (®ex, data, datalen, 0, datalen, ®s); ++ if (i != 0) ++ result |= 64; ++ else if (regs.num_regs < 2) ++ result |= 64; ++ else if (! (regs.start[0] == 0 && regs.end[0] == 1)) ++ result |= 64; ++ else if (! (regs.start[1] == 0 && regs.end[1] == 0)) ++ result |= 64; + regfree (®ex); ++ free (regs.start); ++ free (regs.end); + } + + #if 0 +diff --git a/m4/select.m4 b/m4/select.m4 +index c7409d2..72c068f 100644 +--- a/m4/select.m4 ++++ b/m4/select.m4 +@@ -1,4 +1,4 @@ +-# select.m4 serial 12 ++# select.m4 serial 13 + dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice is preserved. + + AC_DEFUN([gl_FUNC_SELECT], + [ +- AC_REQUIRE([gl_HEADER_SYS_SELECT]) ++ AC_REQUIRE([gl_SYS_SELECT_H]) + AC_REQUIRE([AC_C_RESTRICT]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_SOCKETS]) +diff --git a/m4/servent.m4 b/m4/servent.m4 +index 2dda177..9bc3bcd 100644 +--- a/m4/servent.m4 ++++ b/m4/servent.m4 +@@ -1,4 +1,4 @@ +-# servent.m4 serial 3 ++# servent.m4 serial 4 + dnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -15,7 +15,7 @@ AC_DEFUN([gl_SERVENT], + dnl - On BeOS, they are in libnet. + dnl - On native Windows, they are in ws2_32.dll. + dnl - Otherwise they are in libc. +- AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H ++ AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H + SERVENT_LIB= + gl_saved_libs="$LIBS" + AC_SEARCH_LIBS([getservbyname], [socket network net], +diff --git a/m4/signal_h.m4 b/m4/signal_h.m4 +index ff9f025..8b93880 100644 +--- a/m4/signal_h.m4 ++++ b/m4/signal_h.m4 +@@ -1,10 +1,10 @@ +-# signal_h.m4 serial 19 ++# signal_h.m4 serial 22 + dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_SIGNAL_H], ++AC_DEFUN_ONCE([gl_SIGNAL_H], + [ + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) +@@ -52,22 +52,37 @@ AC_DEFUN([gl_CHECK_TYPE_SIGSET_T], + fi + ]) + ++# gl_SIGNAL_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SIGNAL_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SIGNAL_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_SIGMASK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAISE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNAL_H_SIGPIPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGPROCMASK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGACTION]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SIGNAL_H_DEFAULTS], + [ +- GNULIB_PTHREAD_SIGMASK=0; AC_SUBST([GNULIB_PTHREAD_SIGMASK]) +- GNULIB_RAISE=0; AC_SUBST([GNULIB_RAISE]) +- GNULIB_SIGNAL_H_SIGPIPE=0; AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE]) +- GNULIB_SIGPROCMASK=0; AC_SUBST([GNULIB_SIGPROCMASK]) +- GNULIB_SIGACTION=0; AC_SUBST([GNULIB_SIGACTION]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING]) + HAVE_PTHREAD_SIGMASK=1; AC_SUBST([HAVE_PTHREAD_SIGMASK]) +diff --git a/m4/sockpfaf.m4 b/m4/sockpfaf.m4 +index edae5d8..17e14c7 100644 +--- a/m4/sockpfaf.m4 ++++ b/m4/sockpfaf.m4 +@@ -1,4 +1,4 @@ +-# sockpfaf.m4 serial 9 ++# sockpfaf.m4 serial 10 + dnl Copyright (C) 2004, 2006, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -13,7 +13,7 @@ dnl From Bruno Haible. + + AC_DEFUN([gl_SOCKET_FAMILIES], + [ +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + AC_CHECK_HEADERS_ONCE([netinet/in.h]) + + AC_CACHE_CHECK([for IPv4 sockets], +@@ -60,7 +60,7 @@ AC_DEFUN([gl_SOCKET_FAMILIES], + + AC_DEFUN([gl_SOCKET_FAMILY_UNIX], + [ +- AC_REQUIRE([gl_HEADER_SYS_SOCKET]) ++ AC_REQUIRE([gl_SYS_SOCKET_H]) + AC_CHECK_HEADERS_ONCE([sys/un.h]) + + AC_CACHE_CHECK([for UNIX domain sockets], +diff --git a/m4/stat.m4 b/m4/stat.m4 +index 66f6c8c..9bcdb72 100644 +--- a/m4/stat.m4 ++++ b/m4/stat.m4 +@@ -1,4 +1,4 @@ +-# serial 17 ++# serial 18 + + # Copyright (C) 2009-2021 Free Software Foundation, Inc. + # +@@ -69,7 +69,7 @@ AC_DEFUN([gl_FUNC_STAT], + + # Prerequisites of lib/stat.c and lib/stat-w32.c. + AC_DEFUN([gl_PREREQ_STAT], [ +- AC_REQUIRE([gl_HEADER_SYS_STAT_H]) ++ AC_REQUIRE([gl_SYS_STAT_H]) + AC_REQUIRE([gl_PREREQ_STAT_W32]) + : + ]) +diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4 +index cd666c4..1303d2e 100644 +--- a/m4/stddef_h.m4 ++++ b/m4/stddef_h.m4 +@@ -1,4 +1,4 @@ +-# stddef_h.m4 serial 9 ++# stddef_h.m4 serial 11 + dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl A placeholder for , for platforms that have issues. + +-AC_DEFUN([gl_STDDEF_H], ++AC_DEFUN_ONCE([gl_STDDEF_H], + [ + AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) + AC_REQUIRE([gt_TYPE_WCHAR_T]) +@@ -68,13 +68,28 @@ AC_DEFUN([gl_STDDEF_H], + fi + ]) + ++# gl_STDDEF_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STDDEF_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STDDEF_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STDDEF_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS], [ ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_STDDEF_H_DEFAULTS], + [ + dnl Assume proper GNU behavior unless another module says otherwise. +diff --git a/m4/stdint.m4 b/m4/stdint.m4 +index a785b44..2eb1652 100644 +--- a/m4/stdint.m4 ++++ b/m4/stdint.m4 +@@ -1,4 +1,4 @@ +-# stdint.m4 serial 58 ++# stdint.m4 serial 60 + dnl Copyright (C) 2001-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -170,7 +170,7 @@ struct s { + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; +- /* Detect bug in FreeBSD 6.0 / ia64. */ ++ /* Detect bug in FreeBSD 6.0/ia64 and FreeBSD 13.0/arm64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) +@@ -527,7 +527,7 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], + dnl requirement that wint_t is "unchanged by default argument promotions". + dnl In this case gnulib's and override wint_t. + dnl Set the variable BITSIZEOF_WINT_T accordingly. +- if test $GNULIB_OVERRIDES_WINT_T = 1; then ++ if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then + BITSIZEOF_WINT_T=32 + fi + ]) +diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 +index 4c3f24a..e704383 100644 +--- a/m4/stdio_h.m4 ++++ b/m4/stdio_h.m4 +@@ -1,11 +1,12 @@ +-# stdio_h.m4 serial 52 ++# stdio_h.m4 serial 56 + dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_STDIO_H], ++AC_DEFUN_ONCE([gl_STDIO_H], + [ ++ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AH_VERBATIM([MINGW_ANSI_STDIO], + [/* Use GNU style printf and scanf. */ + #ifndef __USE_MINGW_ANSI_STDIO +@@ -13,7 +14,6 @@ AC_DEFUN([gl_STDIO_H], + #endif + ]) + AC_DEFINE([__USE_MINGW_ANSI_STDIO]) +- AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + gl_NEXT_HEADERS([stdio.h]) + + dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and +@@ -40,17 +40,6 @@ AC_DEFUN([gl_STDIO_H], + attribute "__gnu_printf__" instead of "__printf__"]) + fi + +- dnl No need to create extra modules for these functions. Everyone who uses +- dnl likely needs them. +- GNULIB_FSCANF=1 +- gl_MODULE_INDICATOR([fscanf]) +- GNULIB_SCANF=1 +- gl_MODULE_INDICATOR([scanf]) +- GNULIB_FGETC=1 +- GNULIB_GETC=1 +- GNULIB_GETCHAR=1 +- GNULIB_FGETS=1 +- GNULIB_FREAD=1 + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is + dnl also an optimization, to avoid performing a configure check whose result +@@ -64,18 +53,6 @@ AC_DEFUN([gl_STDIO_H], + fi + ]) + +- dnl No need to create extra modules for these functions. Everyone who uses +- dnl likely needs them. +- GNULIB_FPRINTF=1 +- GNULIB_PRINTF=1 +- GNULIB_VFPRINTF=1 +- GNULIB_VPRINTF=1 +- GNULIB_FPUTC=1 +- GNULIB_PUTC=1 +- GNULIB_PUTCHAR=1 +- GNULIB_FPUTS=1 +- GNULIB_PUTS=1 +- GNULIB_FWRITE=1 + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is + dnl also an optimization, to avoid performing a configure check whose result +@@ -116,77 +93,92 @@ AC_DEFUN([gl_STDIO_H], + fi + ]) + ++# gl_STDIO_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STDIO_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_STDIO_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STDIO_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPURGE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREAD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREOPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEKO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLINE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PCLOSE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PERROR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTCHAR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMOVE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FILENO], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETW], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTW], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TEMPNAM], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_STDIO_H_DEFAULTS], + [ +- GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) +- GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) +- GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN]) +- GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) +- GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC]) +- GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS]) +- GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) +- GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) +- GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) +- GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) +- GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) +- GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) +- GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD]) +- GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) +- GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF]) +- GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) +- GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) +- GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) +- GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) +- GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) +- GNULIB_GETC=0; AC_SUBST([GNULIB_GETC]) +- GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) +- GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) +- GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) +- GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) +- GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) +- GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) +- GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) +- GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) +- GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) +- GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) +- GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) +- GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) +- GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) +- GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) +- GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) +- GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) +- GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF]) +- GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) +- GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) +- GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING]) +- GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) +- GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) +- GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) +- GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF]) +- GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF]) +- GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) +- GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) +- GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) +- GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) +- GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) +- GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) +- GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_FCLOSEALL=1; AC_SUBST([GNULIB_MDA_FCLOSEALL]) +- GNULIB_MDA_FDOPEN=1; AC_SUBST([GNULIB_MDA_FDOPEN]) +- GNULIB_MDA_FILENO=1; AC_SUBST([GNULIB_MDA_FILENO]) +- GNULIB_MDA_GETW=1; AC_SUBST([GNULIB_MDA_GETW]) +- GNULIB_MDA_PUTW=1; AC_SUBST([GNULIB_MDA_PUTW]) +- GNULIB_MDA_TEMPNAM=1; AC_SUBST([GNULIB_MDA_TEMPNAM]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_FCLOSEALL=1; AC_SUBST([HAVE_DECL_FCLOSEALL]) + HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) +diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 +index 5fdb0a7..9c1d1c7 100644 +--- a/m4/stdlib_h.m4 ++++ b/m4/stdlib_h.m4 +@@ -1,10 +1,10 @@ +-# stdlib_h.m4 serial 59 ++# stdlib_h.m4 serial 63 + dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_STDLIB_H], ++AC_DEFUN_ONCE([gl_STDLIB_H], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + gl_NEXT_HEADERS([stdlib.h]) +@@ -46,63 +46,78 @@ AC_DEFUN([gl_STDLIB_H], + fi + ]) + ++# gl_STDLIB_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STDLIB_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMPS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMPS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_MEMALIGN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_OPENPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOULL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYSTEM_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLOCKPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNSETENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOMB]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ECVT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCVT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GCVT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKTEMP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTENV], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_STDLIB_H_DEFAULTS], + [ +- GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT]) +- GNULIB_ALIGNED_ALLOC=0; AC_SUBST([GNULIB_ALIGNED_ALLOC]) +- GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) +- GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) +- GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) +- GNULIB_FREE_POSIX=0; AC_SUBST([GNULIB_FREE_POSIX]) +- GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) +- GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) +- GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) +- GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) +- GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC]) +- GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) +- GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) +- GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) +- GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) +- GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) +- GNULIB_POSIX_MEMALIGN=0;AC_SUBST([GNULIB_POSIX_MEMALIGN]) +- GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) +- GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) +- GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) +- GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) +- GNULIB_QSORT_R=0; AC_SUBST([GNULIB_QSORT_R]) +- GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) +- GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) +- GNULIB_REALLOCARRAY=0; AC_SUBST([GNULIB_REALLOCARRAY]) +- GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) +- GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) +- GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) +- GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) +- GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) +- GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) +- GNULIB_STRTOL=0; AC_SUBST([GNULIB_STRTOL]) +- GNULIB_STRTOLD=0; AC_SUBST([GNULIB_STRTOLD]) +- GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) +- GNULIB_STRTOUL=0; AC_SUBST([GNULIB_STRTOUL]) +- GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) +- GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX]) +- GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) +- GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) +- GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_ECVT=1; AC_SUBST([GNULIB_MDA_ECVT]) +- GNULIB_MDA_FCVT=1; AC_SUBST([GNULIB_MDA_FCVT]) +- GNULIB_MDA_GCVT=1; AC_SUBST([GNULIB_MDA_GCVT]) +- GNULIB_MDA_MKTEMP=1; AC_SUBST([GNULIB_MDA_MKTEMP]) +- GNULIB_MDA_PUTENV=1; AC_SUBST([GNULIB_MDA_PUTENV]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE__EXIT=1; AC_SUBST([HAVE__EXIT]) + HAVE_ALIGNED_ALLOC=1; AC_SUBST([HAVE_ALIGNED_ALLOC]) +@@ -164,6 +179,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], + REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) + REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) + REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) ++ REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY]) + REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) + REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) + REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE]) +diff --git a/m4/strdup.m4 b/m4/strdup.m4 +index f6f421d..5b6018f 100644 +--- a/m4/strdup.m4 ++++ b/m4/strdup.m4 +@@ -1,4 +1,4 @@ +-# strdup.m4 serial 14 ++# strdup.m4 serial 15 + + dnl Copyright (C) 2002-2021 Free Software Foundation, Inc. + +@@ -8,7 +8,7 @@ dnl with or without modifications, as long as this notice is preserved. + + AC_DEFUN([gl_FUNC_STRDUP], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_DECLS_ONCE([strdup]) + if test $ac_cv_have_decl_strdup = no; then + HAVE_DECL_STRDUP=0 +@@ -17,7 +17,7 @@ AC_DEFUN([gl_FUNC_STRDUP], + + AC_DEFUN([gl_FUNC_STRDUP_POSIX], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) + if test $gl_cv_func_malloc_posix != yes; then + REPLACE_STRDUP=1 +diff --git a/m4/string_h.m4 b/m4/string_h.m4 +index a4cc5b4..80d1e58 100644 +--- a/m4/string_h.m4 ++++ b/m4/string_h.m4 +@@ -5,20 +5,15 @@ + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + +-# serial 29 ++# serial 32 + + # Written by Paul Eggert. + +-AC_DEFUN([gl_HEADER_STRING_H], ++AC_DEFUN_ONCE([gl_STRING_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. +- AC_REQUIRE([gl_HEADER_STRING_H_BODY]) +-]) +- +-AC_DEFUN([gl_HEADER_STRING_H_BODY], +-[ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + gl_NEXT_HEADERS([string.h]) + + dnl Check for declarations of anything we want to poison if the +@@ -33,62 +28,77 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY], + AC_REQUIRE([AC_C_RESTRICT]) + ]) + ++# gl_STRING_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STRING_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STRING_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + +-AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPLICIT_BZERO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCHRNUL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRDUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPBRK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCASESTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOK_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASESTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPBRK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOK_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERRORNAME_NP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGABBREV_NP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGDESCR_NP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSIGNAL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRVERSCMP]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MEMCCPY], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_STRDUP], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) ++]) ++ ++AC_DEFUN([gl_STRING_H_DEFAULTS], + [ +- GNULIB_EXPLICIT_BZERO=0; AC_SUBST([GNULIB_EXPLICIT_BZERO]) +- GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL]) +- GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL]) +- GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) +- GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) +- GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) +- GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) +- GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) +- GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) +- GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) +- GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) +- GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) +- GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT]) +- GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) +- GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) +- GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) +- GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) +- GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) +- GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) +- GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) +- GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) +- GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) +- GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) +- GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) +- GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) +- GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) +- GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) +- GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) +- GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) +- GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) +- GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) +- GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) +- GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) +- GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) +- GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) +- GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R]) +- GNULIB_STRERRORNAME_NP=0; AC_SUBST([GNULIB_STRERRORNAME_NP]) +- GNULIB_SIGABBREV_NP=0; AC_SUBST([GNULIB_SIGABBREV_NP]) +- GNULIB_SIGDESCR_NP=0; AC_SUBST([GNULIB_SIGDESCR_NP]) +- GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) +- GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) + HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_MEMCCPY=1; AC_SUBST([GNULIB_MDA_MEMCCPY]) +- GNULIB_MDA_STRDUP=1; AC_SUBST([GNULIB_MDA_STRDUP]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_EXPLICIT_BZERO=1; AC_SUBST([HAVE_EXPLICIT_BZERO]) + HAVE_FFSL=1; AC_SUBST([HAVE_FFSL]) +diff --git a/m4/sys_file_h.m4 b/m4/sys_file_h.m4 +index 99c2285..bcde4d7 100644 +--- a/m4/sys_file_h.m4 ++++ b/m4/sys_file_h.m4 +@@ -1,5 +1,5 @@ + # Configure a replacement for . +-# serial 6 ++# serial 9 + + # Copyright (C) 2008-2021 Free Software Foundation, Inc. + # This file is free software; the Free Software Foundation +@@ -8,9 +8,9 @@ + + # Written by Richard W.M. Jones. + +-AC_DEFUN([gl_HEADER_SYS_FILE_H], ++AC_DEFUN_ONCE([gl_SYS_FILE_H], + [ +- AC_REQUIRE([gl_HEADER_SYS_FILE_H_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_FILE_H_DEFAULTS]) + + dnl is always overridden, because of GNULIB_POSIXCHECK. + gl_CHECK_NEXT_HEADERS([sys/file.h]) +@@ -28,14 +28,29 @@ AC_DEFUN([gl_HEADER_SYS_FILE_H], + ]], [flock]) + ]) + +-AC_DEFUN([gl_HEADER_SYS_FILE_MODULE_INDICATOR], ++# gl_SYS_FILE_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. ++AC_DEFUN([gl_SYS_FILE_MODULE_INDICATOR], + [ +- AC_REQUIRE([gl_HEADER_SYS_FILE_H_DEFAULTS]) ++ gl_SYS_FILE_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + +-AC_DEFUN([gl_HEADER_SYS_FILE_H_DEFAULTS], ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_FILE_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_FILE_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOCK]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_FILE_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_FILE_H_DEFAULTS]) ++]) ++ ++AC_DEFUN([gl_SYS_FILE_H_DEFAULTS], + [ +- GNULIB_FLOCK=0; AC_SUBST([GNULIB_FLOCK]) + HAVE_FLOCK=1; AC_SUBST([HAVE_FLOCK]) + ]) +diff --git a/m4/sys_random_h.m4 b/m4/sys_random_h.m4 +index 45e0469..37bc316 100644 +--- a/m4/sys_random_h.m4 ++++ b/m4/sys_random_h.m4 +@@ -1,10 +1,10 @@ +-# sys_random_h.m4 serial 5 ++# sys_random_h.m4 serial 8 + dnl Copyright (C) 2020-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_HEADER_SYS_RANDOM], ++AC_DEFUN_ONCE([gl_SYS_RANDOM_H], + [ + AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) + dnl is always overridden, because of GNULIB_POSIXCHECK. +@@ -35,18 +35,33 @@ AC_DEFUN([gl_HEADER_SYS_RANDOM], + [getrandom]) + ]) + ++# gl_SYS_RANDOM_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_RANDOM_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_RANDOM_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_RANDOM_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_RANDOM_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETRANDOM]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_RANDOM_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_RANDOM_H_DEFAULTS], + [ +- GNULIB_GETRANDOM=0; AC_SUBST([GNULIB_GETRANDOM]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_GETRANDOM=1; AC_SUBST([HAVE_GETRANDOM]) + REPLACE_GETRANDOM=0; AC_SUBST([REPLACE_GETRANDOM]) +diff --git a/m4/sys_select_h.m4 b/m4/sys_select_h.m4 +index 4b33d31..2e7d140 100644 +--- a/m4/sys_select_h.m4 ++++ b/m4/sys_select_h.m4 +@@ -1,13 +1,13 @@ +-# sys_select_h.m4 serial 20 ++# sys_select_h.m4 serial 23 + dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_HEADER_SYS_SELECT], ++AC_DEFUN_ONCE([gl_SYS_SELECT_H], + [ +- AC_REQUIRE([AC_C_RESTRICT]) + AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) ++ AC_REQUIRE([AC_C_RESTRICT]) + AC_CACHE_CHECK([whether is self-contained], + [gl_cv_header_sys_select_h_selfcontained], + [ +@@ -75,19 +75,34 @@ AC_DEFUN([gl_HEADER_SYS_SELECT], + ]], [pselect select]) + ]) + ++# gl_SYS_SELECT_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_SELECT_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_SELECT_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_SELECT_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SELECT_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PSELECT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SELECT]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SELECT_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_SELECT_H_DEFAULTS], + [ +- GNULIB_PSELECT=0; AC_SUBST([GNULIB_PSELECT]) +- GNULIB_SELECT=0; AC_SUBST([GNULIB_SELECT]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_PSELECT=1; AC_SUBST([HAVE_PSELECT]) + REPLACE_PSELECT=0; AC_SUBST([REPLACE_PSELECT]) +diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4 +index 503cb96..5676a0d 100644 +--- a/m4/sys_socket_h.m4 ++++ b/m4/sys_socket_h.m4 +@@ -1,4 +1,4 @@ +-# sys_socket_h.m4 serial 25 ++# sys_socket_h.m4 serial 28 + dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl From Simon Josefsson. + +-AC_DEFUN([gl_HEADER_SYS_SOCKET], ++AC_DEFUN_ONCE([gl_SYS_SOCKET_H], + [ + AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) +@@ -156,32 +156,47 @@ AC_DEFUN([gl_PREREQ_SYS_H_WS2TCPIP], + AC_SUBST([HAVE_WS2TCPIP_H]) + ]) + ++# gl_SYS_SOCKET_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_SOCKET_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_SOCKET_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SOCKET]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CONNECT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BIND]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPEERNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LISTEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SEND]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECVFROM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SENDTO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETSOCKOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SHUTDOWN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT4]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], + [ +- GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) +- GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) +- GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) +- GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) +- GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) +- GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) +- GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) +- GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) +- GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) +- GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) +- GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) +- GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) +- GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) +- GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) +- GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) + HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; + AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY]) +diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4 +index 23cbdd2..ac91d42 100644 +--- a/m4/sys_stat_h.m4 ++++ b/m4/sys_stat_h.m4 +@@ -1,4 +1,4 @@ +-# sys_stat_h.m4 serial 38 -*- Autoconf -*- ++# sys_stat_h.m4 serial 41 -*- Autoconf -*- + dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. + dnl From Eric Blake. + dnl Provide a GNU-like . + +-AC_DEFUN([gl_HEADER_SYS_STAT_H], ++AC_DEFUN_ONCE([gl_SYS_STAT_H], + [ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + +@@ -52,38 +52,53 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H], + AC_REQUIRE([AC_C_RESTRICT]) + ]) + ++# gl_SYS_STAT_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_STAT_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_STAT_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHMODAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTATAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FUTIMENS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUMASK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHMOD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSTAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIRAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFOAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNOD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNODAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UTIMENSAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OVERRIDES_STRUCT_STAT]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHMOD], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKDIR], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UMASK], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], + [ +- AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR +- GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) +- GNULIB_FSTAT=0; AC_SUBST([GNULIB_FSTAT]) +- GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) +- GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) +- GNULIB_GETUMASK=0; AC_SUBST([GNULIB_GETUMASK]) +- GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) +- GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) +- GNULIB_MKDIR=0; AC_SUBST([GNULIB_MKDIR]) +- GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT]) +- GNULIB_MKFIFO=0; AC_SUBST([GNULIB_MKFIFO]) +- GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT]) +- GNULIB_MKNOD=0; AC_SUBST([GNULIB_MKNOD]) +- GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT]) +- GNULIB_STAT=0; AC_SUBST([GNULIB_STAT]) +- GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT]) +- GNULIB_OVERRIDES_STRUCT_STAT=0; AC_SUBST([GNULIB_OVERRIDES_STRUCT_STAT]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_CHMOD=1; AC_SUBST([GNULIB_MDA_CHMOD]) +- GNULIB_MDA_MKDIR=1; AC_SUBST([GNULIB_MDA_MKDIR]) +- GNULIB_MDA_UMASK=1; AC_SUBST([GNULIB_MDA_UMASK]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT]) + HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT]) +diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4 +index 64f133d..c425a96 100644 +--- a/m4/sys_time_h.m4 ++++ b/m4/sys_time_h.m4 +@@ -1,5 +1,5 @@ + # Configure a replacement for . +-# serial 9 ++# serial 12 + + # Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + # This file is free software; the Free Software Foundation +@@ -8,18 +8,13 @@ + + # Written by Paul Eggert and Martin Lambers. + +-AC_DEFUN([gl_HEADER_SYS_TIME_H], ++AC_DEFUN_ONCE([gl_SYS_TIME_H], + [ + dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement + dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1 + dnl statements that occur in other macros. +- AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY]) +-]) +- +-AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], +-[ ++ AC_REQUIRE([gl_SYS_TIME_H_DEFAULTS]) + AC_REQUIRE([AC_C_RESTRICT]) +- AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) + AC_CHECK_HEADERS_ONCE([sys/time.h]) + gl_CHECK_NEXT_HEADERS([sys/time.h]) + +@@ -89,18 +84,33 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], + ]], [gettimeofday]) + ]) + ++# gl_SYS_TIME_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_TIME_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_TIME_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + +-AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS], ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_TIME_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TIME_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETTIMEOFDAY]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TIME_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_TIME_H_DEFAULTS]) ++]) ++ ++AC_DEFUN([gl_SYS_TIME_H_DEFAULTS], + [ +- GNULIB_GETTIMEOFDAY=0; AC_SUBST([GNULIB_GETTIMEOFDAY]) + dnl Assume POSIX behavior unless another module says otherwise. + HAVE_GETTIMEOFDAY=1; AC_SUBST([HAVE_GETTIMEOFDAY]) + HAVE_STRUCT_TIMEVAL=1; AC_SUBST([HAVE_STRUCT_TIMEVAL]) +diff --git a/m4/sys_times_h.m4 b/m4/sys_times_h.m4 +index b9daaa7..577ead6 100644 +--- a/m4/sys_times_h.m4 ++++ b/m4/sys_times_h.m4 +@@ -1,5 +1,5 @@ + # Configure a replacement for . +-# serial 8 ++# serial 11 + + # Copyright (C) 2008-2021 Free Software Foundation, Inc. + # This file is free software; the Free Software Foundation +@@ -8,7 +8,7 @@ + + # Written by Simon Josefsson. + +-AC_DEFUN([gl_SYS_TIMES_H], ++AC_DEFUN_ONCE([gl_SYS_TIMES_H], + [ + AC_REQUIRE([gl_SYS_TIMES_H_DEFAULTS]) + +@@ -36,16 +36,31 @@ AC_DEFUN([gl_SYS_TIMES_H], + ]], [times]) + ]) + ++# gl_SYS_TIMES_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_TIMES_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_TIMES_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_TIMES_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_TIMES_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TIMES_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMES]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TIMES_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_TIMES_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_TIMES_H_DEFAULTS], + [ +- GNULIB_TIMES=0; AC_SUBST([GNULIB_TIMES]) + HAVE_STRUCT_TMS=1; AC_SUBST([HAVE_STRUCT_TMS]) + HAVE_TIMES=1; AC_SUBST([HAVE_TIMES]) + ]) +diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4 +index 2172c83..6dd6fee 100644 +--- a/m4/sys_types_h.m4 ++++ b/m4/sys_types_h.m4 +@@ -1,4 +1,4 @@ +-# sys_types_h.m4 serial 11 ++# sys_types_h.m4 serial 13 + dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,10 +6,11 @@ dnl with or without modifications, as long as this notice is preserved. + + AC_DEFUN_ONCE([gl_SYS_TYPES_H], + [ ++ AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) ++ + dnl Use sane struct stat types in OpenVMS 8.2 and later. + AC_DEFINE([_USE_STD_STAT], 1, [For standard stat data types on VMS.]) + +- AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) + gl_NEXT_HEADERS([sys/types.h]) + + dnl Ensure the type pid_t gets defined. +@@ -30,6 +31,17 @@ AC_DEFUN_ONCE([gl_SYS_TYPES_H], + AC_SUBST([WINDOWS_STAT_INODES]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_TYPES_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS], [ ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], + [ + ]) +diff --git a/m4/sys_uio_h.m4 b/m4/sys_uio_h.m4 +index 503de4d..fa176e0 100644 +--- a/m4/sys_uio_h.m4 ++++ b/m4/sys_uio_h.m4 +@@ -1,10 +1,10 @@ +-# sys_uio_h.m4 serial 1 ++# sys_uio_h.m4 serial 3 + dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_HEADER_SYS_UIO], ++AC_DEFUN_ONCE([gl_SYS_UIO_H], + [ + AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) + dnl is always overridden, because of GNULIB_POSIXCHECK. +@@ -17,15 +17,30 @@ AC_DEFUN([gl_HEADER_SYS_UIO], + AC_SUBST([HAVE_SYS_UIO_H]) + ]) + ++# gl_SYS_UIO_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_UIO_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_UIO_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_UIO_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_UIO_H_MODULE_INDICATOR_DEFAULTS], [ ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_UIO_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_UIO_H_DEFAULTS], + [ + ]) +diff --git a/m4/threadlib.m4 b/m4/threadlib.m4 +index 8fc3dfd..37b797c 100644 +--- a/m4/threadlib.m4 ++++ b/m4/threadlib.m4 +@@ -1,4 +1,4 @@ +-# threadlib.m4 serial 30 ++# threadlib.m4 serial 31 + dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -212,6 +212,27 @@ AC_DEFUN([gl_PTHREADLIB_BODY], + LIBS=$save_LIBS + test $gl_pthread_api = yes && break + done ++ echo "$as_me:__oline__: gl_pthread_api=$gl_pthread_api" >&AS_MESSAGE_LOG_FD ++ echo "$as_me:__oline__: LIBPTHREAD=$LIBPTHREAD" >&AS_MESSAGE_LOG_FD ++ ++ gl_pthread_in_glibc=no ++ # On Linux with glibc >= 2.34, libc contains the fully functional ++ # pthread functions. ++ case "$host_os" in ++ linux*) ++ AC_EGREP_CPP([Lucky user], ++ [#include ++ #ifdef __GNU_LIBRARY__ ++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || (__GLIBC__ > 2) ++ Lucky user ++ #endif ++ #endif ++ ], ++ [gl_pthread_in_glibc=yes], ++ []) ++ ;; ++ esac ++ echo "$as_me:__oline__: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&AS_MESSAGE_LOG_FD + + # Test for libpthread by looking for pthread_kill. (Not pthread_self, + # since it is defined as a macro on OSF/1.) +@@ -219,18 +240,22 @@ AC_DEFUN([gl_PTHREADLIB_BODY], + # The program links fine without libpthread. But it may actually + # need to link with libpthread in order to create multiple threads. + AC_CHECK_LIB([pthread], [pthread_kill], +- [LIBPMULTITHREAD=-lpthread +- # On Solaris and HP-UX, most pthread functions exist also in libc. +- # Therefore pthread_in_use() needs to actually try to create a +- # thread: pthread_create from libc will fail, whereas +- # pthread_create will actually create a thread. +- # On Solaris 10 or newer, this test is no longer needed, because +- # libc contains the fully functional pthread functions. +- case "$host_os" in +- solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) +- AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], +- [Define if the pthread_in_use() detection is hard.]) +- esac ++ [if test $gl_pthread_in_glibc = yes; then ++ LIBPMULTITHREAD= ++ else ++ LIBPMULTITHREAD=-lpthread ++ # On Solaris and HP-UX, most pthread functions exist also in libc. ++ # Therefore pthread_in_use() needs to actually try to create a ++ # thread: pthread_create from libc will fail, whereas ++ # pthread_create will actually create a thread. ++ # On Solaris 10 or newer, this test is no longer needed, because ++ # libc contains the fully functional pthread functions. ++ case "$host_os" in ++ solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) ++ AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], ++ [Define if the pthread_in_use() detection is hard.]) ++ esac ++ fi + ]) + elif test $gl_pthread_api != yes; then + # Some library is needed. Try libpthread and libc_r. +@@ -246,6 +271,7 @@ AC_DEFUN([gl_PTHREADLIB_BODY], + LIBPMULTITHREAD=-lc_r]) + fi + fi ++ echo "$as_me:__oline__: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&AS_MESSAGE_LOG_FD + fi + AC_MSG_CHECKING([whether POSIX threads API is available]) + AC_MSG_RESULT([$gl_pthread_api]) +@@ -311,7 +337,8 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], + dnl glibc >= 2.29 has thrd_create in libpthread. + dnl FreeBSD >= 10 has thrd_create in libstdthreads; this library depends + dnl on libpthread (for the symbol 'pthread_mutexattr_gettype'). +- dnl AIX >= 7.1 and Solaris >= 11.4 have thrd_create in libc. ++ dnl glibc >= 2.34, AIX >= 7.1, and Solaris >= 11.4 have thrd_create in ++ dnl libc. + AC_CHECK_FUNCS([thrd_create]) + if test $ac_cv_func_thrd_create = yes; then + LIBSTDTHREAD= +@@ -481,7 +508,10 @@ AC_DEFUN([gl_THREADLIB_BODY], + gl_threads_api=posix + AC_DEFINE([USE_POSIX_THREADS], [1], + [Define if the POSIX multithreading library can be used.]) +- if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then ++ if test -z "$LIBMULTITHREAD" && test -z "$LTLIBMULTITHREAD"; then ++ AC_DEFINE([USE_POSIX_THREADS_FROM_LIBC], [1], ++ [Define if references to the POSIX multithreading library are satisfied by libc.]) ++ else + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], + [Define if references to the POSIX multithreading library should be made weak.]) +@@ -576,7 +606,9 @@ dnl flavours option weak result + dnl --------------- --------- --------- -------- --------- + dnl Linux 2.4/glibc posix -lpthread Y OK + dnl +-dnl GNU Hurd/glibc posix ++dnl Linux/glibc 2.34 posix Y OK ++dnl ++dnl GNU Hurd/glibc posix -lpthread Y OK + dnl + dnl Ubuntu 14.04 posix -pthread Y OK + dnl +diff --git a/m4/time_h.m4 b/m4/time_h.m4 +index b6a1aa3..b57474b 100644 +--- a/m4/time_h.m4 ++++ b/m4/time_h.m4 +@@ -2,7 +2,7 @@ + + # Copyright (C) 2000-2001, 2003-2007, 2009-2021 Free Software Foundation, Inc. + +-# serial 15 ++# serial 18 + + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -10,16 +10,11 @@ + + # Written by Paul Eggert and Jim Meyering. + +-AC_DEFUN([gl_HEADER_TIME_H], ++AC_DEFUN_ONCE([gl_TIME_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. +- AC_REQUIRE([gl_HEADER_TIME_H_BODY]) +-]) +- +-AC_DEFUN([gl_HEADER_TIME_H_BODY], +-[ +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) + + gl_NEXT_HEADERS([time.h]) + AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) +@@ -111,30 +106,45 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], + AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC]) + ]) + ++# gl_TIME_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_TIME_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_TIME_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + +-AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_RZ]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TZSET]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TZSET], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) ++]) ++ ++AC_DEFUN([gl_TIME_H_DEFAULTS], + [ +- GNULIB_CTIME=0; AC_SUBST([GNULIB_CTIME]) +- GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME]) +- GNULIB_LOCALTIME=0; AC_SUBST([GNULIB_LOCALTIME]) +- GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP]) +- GNULIB_STRFTIME=0; AC_SUBST([GNULIB_STRFTIME]) +- GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) +- GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) +- GNULIB_TIMESPEC_GET=0; AC_SUBST([GNULIB_TIMESPEC_GET]) +- GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) +- GNULIB_TIME_RZ=0; AC_SUBST([GNULIB_TIME_RZ]) +- GNULIB_TZSET=0; AC_SUBST([GNULIB_TZSET]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_TZSET=1; AC_SUBST([GNULIB_MDA_TZSET]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R]) + HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) +diff --git a/m4/time_r.m4 b/m4/time_r.m4 +index 713e93a..2d49b64 100644 +--- a/m4/time_r.m4 ++++ b/m4/time_r.m4 +@@ -12,7 +12,7 @@ AC_DEFUN([gl_TIME_R], + dnl Persuade glibc and Solaris to declare localtime_r. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) + AC_REQUIRE([AC_C_RESTRICT]) + + dnl Some systems don't declare localtime_r() and gmtime_r() if _REENTRANT is +diff --git a/m4/time_rz.m4 b/m4/time_rz.m4 +index 34ef0ba..c5e85dc 100644 +--- a/m4/time_rz.m4 ++++ b/m4/time_rz.m4 +@@ -10,7 +10,7 @@ dnl Written by Paul Eggert. + AC_DEFUN([gl_TIME_RZ], + [ + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) + AC_REQUIRE([AC_STRUCT_TIMEZONE]) + + # On Mac OS X 10.6, localtime loops forever with some time_t values. +diff --git a/m4/timegm.m4 b/m4/timegm.m4 +index 098c857..58123be 100644 +--- a/m4/timegm.m4 ++++ b/m4/timegm.m4 +@@ -1,4 +1,4 @@ +-# timegm.m4 serial 12 ++# timegm.m4 serial 13 + dnl Copyright (C) 2003, 2007, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice is preserved. + + AC_DEFUN([gl_FUNC_TIMEGM], + [ +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) + REPLACE_TIMEGM=0 + AC_CHECK_FUNCS_ONCE([timegm]) +diff --git a/m4/tzset.m4 b/m4/tzset.m4 +index 8eaf41f..8a4f285 100644 +--- a/m4/tzset.m4 ++++ b/m4/tzset.m4 +@@ -1,4 +1,4 @@ +-# serial 15 ++# serial 16 + + # Copyright (C) 2003, 2007, 2009-2021 Free Software Foundation, Inc. + # This file is free software; the Free Software Foundation +@@ -9,7 +9,7 @@ + + AC_DEFUN([gl_FUNC_TZSET], + [ +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) + REPLACE_TZSET=0 + case "$host_os" in +diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 +index 0f26fb9..0ce4ea4 100644 +--- a/m4/unistd_h.m4 ++++ b/m4/unistd_h.m4 +@@ -1,4 +1,4 @@ +-# unistd_h.m4 serial 85 ++# unistd_h.m4 serial 89 + dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl Written by Simon Josefsson, Bruno Haible. + +-AC_DEFUN([gl_UNISTD_H], ++AC_DEFUN_ONCE([gl_UNISTD_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + + gl_CHECK_NEXT_HEADERS([unistd.h]) +@@ -59,100 +59,116 @@ AC_DEFUN([gl_UNISTD_H], + fi + ]) + ++# gl_UNISTD_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_UNISTD_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_UNISTD_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCESS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHOWN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPY_FILE_RANGE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP2]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP3]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ENVIRON]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EUIDACCESS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FACCESSAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHOWNAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDATASYNC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSYNC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTRUNCATE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCWD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDOMAINNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDTABLESIZE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETENTROPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETGROUPS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETHOSTNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETOPT_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAGESIZE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUSERSHELL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GROUP_MEMBER]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISATTY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHOWN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSEEK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE2]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PREAD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PWRITE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READ]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RMDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETHOSTNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SLEEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCATE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TTYNAME_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_NONBLOCKING]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_SIGPIPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_USLEEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WRITE]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ACCESS], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHDIR], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CLOSE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP2], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECL], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECV], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVPE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETCWD], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETPID], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ISATTY], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_LSEEK], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_READ], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_RMDIR], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_SWAB], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UNLINK], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WRITE], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_UNISTD_H_DEFAULTS], + [ +- GNULIB_ACCESS=0; AC_SUBST([GNULIB_ACCESS]) +- GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) +- GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) +- GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) +- GNULIB_COPY_FILE_RANGE=0; AC_SUBST([GNULIB_COPY_FILE_RANGE]) +- GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) +- GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) +- GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) +- GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) +- GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) +- GNULIB_EXECL=0; AC_SUBST([GNULIB_EXECL]) +- GNULIB_EXECLE=0; AC_SUBST([GNULIB_EXECLE]) +- GNULIB_EXECLP=0; AC_SUBST([GNULIB_EXECLP]) +- GNULIB_EXECV=0; AC_SUBST([GNULIB_EXECV]) +- GNULIB_EXECVE=0; AC_SUBST([GNULIB_EXECVE]) +- GNULIB_EXECVP=0; AC_SUBST([GNULIB_EXECVP]) +- GNULIB_EXECVPE=0; AC_SUBST([GNULIB_EXECVPE]) +- GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) +- GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) +- GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) +- GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) +- GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) +- GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) +- GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) +- GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) +- GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) +- GNULIB_GETENTROPY=0; AC_SUBST([GNULIB_GETENTROPY]) +- GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) +- GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) +- GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) +- GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) +- GNULIB_GETOPT_POSIX=0; AC_SUBST([GNULIB_GETOPT_POSIX]) +- GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) +- GNULIB_GETPASS=0; AC_SUBST([GNULIB_GETPASS]) +- GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) +- GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER]) +- GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY]) +- GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) +- GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) +- GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) +- GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) +- GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) +- GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) +- GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) +- GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) +- GNULIB_READ=0; AC_SUBST([GNULIB_READ]) +- GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) +- GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) +- GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) +- GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME]) +- GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) +- GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) +- GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) +- GNULIB_TRUNCATE=0; AC_SUBST([GNULIB_TRUNCATE]) +- GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) +- GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) +- GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) +- GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) +- GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) +- GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) +- GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_ACCESS=1; AC_SUBST([GNULIB_MDA_ACCESS]) +- GNULIB_MDA_CHDIR=1; AC_SUBST([GNULIB_MDA_CHDIR]) +- GNULIB_MDA_CLOSE=1; AC_SUBST([GNULIB_MDA_CLOSE]) +- GNULIB_MDA_DUP=1; AC_SUBST([GNULIB_MDA_DUP]) +- GNULIB_MDA_DUP2=1; AC_SUBST([GNULIB_MDA_DUP2]) +- GNULIB_MDA_EXECL=1; AC_SUBST([GNULIB_MDA_EXECL]) +- GNULIB_MDA_EXECLE=1; AC_SUBST([GNULIB_MDA_EXECLE]) +- GNULIB_MDA_EXECLP=1; AC_SUBST([GNULIB_MDA_EXECLP]) +- GNULIB_MDA_EXECV=1; AC_SUBST([GNULIB_MDA_EXECV]) +- GNULIB_MDA_EXECVE=1; AC_SUBST([GNULIB_MDA_EXECVE]) +- GNULIB_MDA_EXECVP=1; AC_SUBST([GNULIB_MDA_EXECVP]) +- GNULIB_MDA_EXECVPE=1; AC_SUBST([GNULIB_MDA_EXECVPE]) +- GNULIB_MDA_GETCWD=1; AC_SUBST([GNULIB_MDA_GETCWD]) +- GNULIB_MDA_GETPID=1; AC_SUBST([GNULIB_MDA_GETPID]) +- GNULIB_MDA_ISATTY=1; AC_SUBST([GNULIB_MDA_ISATTY]) +- GNULIB_MDA_LSEEK=1; AC_SUBST([GNULIB_MDA_LSEEK]) +- GNULIB_MDA_READ=1; AC_SUBST([GNULIB_MDA_READ]) +- GNULIB_MDA_RMDIR=1; AC_SUBST([GNULIB_MDA_RMDIR]) +- GNULIB_MDA_SWAB=1; AC_SUBST([GNULIB_MDA_SWAB]) +- GNULIB_MDA_UNLINK=1; AC_SUBST([GNULIB_MDA_UNLINK]) +- GNULIB_MDA_WRITE=1; AC_SUBST([GNULIB_MDA_WRITE]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) + HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) +diff --git a/m4/visibility.m4 b/m4/visibility.m4 +index 8f27a12..d161bd7 100644 +--- a/m4/visibility.m4 ++++ b/m4/visibility.m4 +@@ -1,4 +1,4 @@ +-# visibility.m4 serial 7 ++# visibility.m4 serial 8 + dnl Copyright (C) 2005, 2008, 2010-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -59,6 +59,10 @@ AC_DEFUN([gl_VISIBILITY], + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void); ++ int hiddenvar; ++ int exportedvar; ++ int hiddenfunc (void) { return 51; } ++ int exportedfunc (void) { return 1225736919; } + void dummyfunc (void) {} + ]], + [[]])], +diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4 +index 59c55fc..818b319 100644 +--- a/m4/wchar_h.m4 ++++ b/m4/wchar_h.m4 +@@ -7,9 +7,9 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl Written by Eric Blake. + +-# wchar_h.m4 serial 50 ++# wchar_h.m4 serial 53 + +-AC_DEFUN([gl_WCHAR_H], ++AC_DEFUN_ONCE([gl_WCHAR_H], + [ + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) +@@ -125,60 +125,75 @@ Configuration aborted.]) + fi + ]) + ++# gl_WCHAR_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_WCHAR_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNRTOWCS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCRTOMB]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRTOMBS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNRTOMBS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCWIDTH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMMOVE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMSET]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPNCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCOLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSXFRM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSDUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSPBRK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_WCHAR_H_DEFAULTS], + [ +- GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) +- GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) +- GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) +- GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) +- GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) +- GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) +- GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) +- GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) +- GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) +- GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) +- GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) +- GNULIB_WMEMCHR=0; AC_SUBST([GNULIB_WMEMCHR]) +- GNULIB_WMEMCMP=0; AC_SUBST([GNULIB_WMEMCMP]) +- GNULIB_WMEMCPY=0; AC_SUBST([GNULIB_WMEMCPY]) +- GNULIB_WMEMMOVE=0; AC_SUBST([GNULIB_WMEMMOVE]) +- GNULIB_WMEMPCPY=0; AC_SUBST([GNULIB_WMEMPCPY]) +- GNULIB_WMEMSET=0; AC_SUBST([GNULIB_WMEMSET]) +- GNULIB_WCSLEN=0; AC_SUBST([GNULIB_WCSLEN]) +- GNULIB_WCSNLEN=0; AC_SUBST([GNULIB_WCSNLEN]) +- GNULIB_WCSCPY=0; AC_SUBST([GNULIB_WCSCPY]) +- GNULIB_WCPCPY=0; AC_SUBST([GNULIB_WCPCPY]) +- GNULIB_WCSNCPY=0; AC_SUBST([GNULIB_WCSNCPY]) +- GNULIB_WCPNCPY=0; AC_SUBST([GNULIB_WCPNCPY]) +- GNULIB_WCSCAT=0; AC_SUBST([GNULIB_WCSCAT]) +- GNULIB_WCSNCAT=0; AC_SUBST([GNULIB_WCSNCAT]) +- GNULIB_WCSCMP=0; AC_SUBST([GNULIB_WCSCMP]) +- GNULIB_WCSNCMP=0; AC_SUBST([GNULIB_WCSNCMP]) +- GNULIB_WCSCASECMP=0; AC_SUBST([GNULIB_WCSCASECMP]) +- GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP]) +- GNULIB_WCSCOLL=0; AC_SUBST([GNULIB_WCSCOLL]) +- GNULIB_WCSXFRM=0; AC_SUBST([GNULIB_WCSXFRM]) +- GNULIB_WCSDUP=0; AC_SUBST([GNULIB_WCSDUP]) +- GNULIB_WCSCHR=0; AC_SUBST([GNULIB_WCSCHR]) +- GNULIB_WCSRCHR=0; AC_SUBST([GNULIB_WCSRCHR]) +- GNULIB_WCSCSPN=0; AC_SUBST([GNULIB_WCSCSPN]) +- GNULIB_WCSSPN=0; AC_SUBST([GNULIB_WCSSPN]) +- GNULIB_WCSPBRK=0; AC_SUBST([GNULIB_WCSPBRK]) +- GNULIB_WCSSTR=0; AC_SUBST([GNULIB_WCSSTR]) +- GNULIB_WCSTOK=0; AC_SUBST([GNULIB_WCSTOK]) +- GNULIB_WCSWIDTH=0; AC_SUBST([GNULIB_WCSWIDTH]) +- GNULIB_WCSFTIME=0; AC_SUBST([GNULIB_WCSFTIME]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_WCSDUP=1; AC_SUBST([GNULIB_MDA_WCSDUP]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) + HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) +diff --git a/m4/wctype_h.m4 b/m4/wctype_h.m4 +index 1ab0bc9..7d74212 100644 +--- a/m4/wctype_h.m4 ++++ b/m4/wctype_h.m4 +@@ -1,4 +1,4 @@ +-# wctype_h.m4 serial 26 ++# wctype_h.m4 serial 30 + + dnl A placeholder for ISO C99 , for platforms that lack it. + +@@ -9,7 +9,7 @@ dnl with or without modifications, as long as this notice is preserved. + + dnl Written by Paul Eggert. + +-AC_DEFUN([gl_WCTYPE_H], ++AC_DEFUN_ONCE([gl_WCTYPE_H], + [ + AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) + AC_REQUIRE([AC_PROG_CC]) +@@ -62,7 +62,7 @@ AC_DEFUN([gl_WCTYPE_H], + fi + AC_SUBST([HAVE_WCTYPE_H]) + +- if test $GNULIB_OVERRIDES_WINT_T = 1; then ++ if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then + REPLACE_ISWCNTRL=1 + else + case "$gl_cv_func_iswcntrl_works" in +@@ -157,24 +157,39 @@ AC_DEFUN([gl_WCTYPE_H], + ]) + ]) + ++# gl_WCTYPE_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_WCTYPE_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_WCTYPE_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_WCTYPE_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTRANS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOWCTRANS]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_WCTYPE_H_DEFAULTS], + [ +- GNULIB_ISWBLANK=0; AC_SUBST([GNULIB_ISWBLANK]) +- GNULIB_ISWDIGIT=0; AC_SUBST([GNULIB_ISWDIGIT]) +- GNULIB_ISWXDIGIT=0; AC_SUBST([GNULIB_ISWXDIGIT]) +- GNULIB_WCTYPE=0; AC_SUBST([GNULIB_WCTYPE]) +- GNULIB_ISWCTYPE=0; AC_SUBST([GNULIB_ISWCTYPE]) +- GNULIB_WCTRANS=0; AC_SUBST([GNULIB_WCTRANS]) +- GNULIB_TOWCTRANS=0; AC_SUBST([GNULIB_TOWCTRANS]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_ISWBLANK=1; AC_SUBST([HAVE_ISWBLANK]) + HAVE_WCTYPE_T=1; AC_SUBST([HAVE_WCTYPE_T]) +diff --git a/m4/wint_t.m4 b/m4/wint_t.m4 +index 2fc7467..a49c508 100644 +--- a/m4/wint_t.m4 ++++ b/m4/wint_t.m4 +@@ -1,4 +1,4 @@ +-# wint_t.m4 serial 10 ++# wint_t.m4 serial 11 + dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -34,14 +34,14 @@ AC_DEFUN([gt_TYPE_WINT_T], + [gl_cv_type_wint_t_large_enough=yes], + [gl_cv_type_wint_t_large_enough=no])]) + if test $gl_cv_type_wint_t_large_enough = no; then +- GNULIB_OVERRIDES_WINT_T=1 ++ GNULIBHEADERS_OVERRIDE_WINT_T=1 + else +- GNULIB_OVERRIDES_WINT_T=0 ++ GNULIBHEADERS_OVERRIDE_WINT_T=0 + fi + else +- GNULIB_OVERRIDES_WINT_T=0 ++ GNULIBHEADERS_OVERRIDE_WINT_T=0 + fi +- AC_SUBST([GNULIB_OVERRIDES_WINT_T]) ++ AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T]) + ]) + + dnl Prerequisites of the 'wint_t' override. +diff --git a/m4/year2038.m4 b/m4/year2038.m4 +new file mode 100644 +index 0000000..da0f8d7 +--- /dev/null ++++ b/m4/year2038.m4 +@@ -0,0 +1,124 @@ ++# year2038.m4 serial 7 ++dnl Copyright (C) 2017-2021 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. ++ ++dnl Attempt to ensure that 'time_t' can go past the year 2038 and that ++dnl the functions 'time', 'stat', etc. work with post-2038 timestamps. ++ ++AC_DEFUN([gl_YEAR2038_EARLY], ++[ ++ AC_REQUIRE([AC_CANONICAL_HOST]) ++ case "$host_os" in ++ mingw*) ++ AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], ++ [For 64-bit time_t on 32-bit mingw.]) ++ ;; ++ esac ++]) ++ ++# gl_YEAR2038_TEST_INCLUDES ++# ------------------------- ++AC_DEFUN([gl_YEAR2038_TEST_INCLUDES], ++[[ ++ #include ++ /* Check that time_t can represent 2**32 - 1 correctly. */ ++ #define LARGE_TIME_T \\ ++ ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) ++ int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 ++ && LARGE_TIME_T % 65537 == 0) ++ ? 1 : -1]; ++]]) ++ ++# gl_YEAR2038_BODY(REQUIRE-YEAR2038-SAFE) ++----------------------------------------- ++AC_DEFUN([gl_YEAR2038_BODY], ++[ ++ AC_ARG_ENABLE([year2038], ++ [ --disable-year2038 omit support for timestamps past the year 2038]) ++ AS_IF([test "$enable_year2038" != no], ++ [ ++ dnl On many systems, time_t is already a 64-bit type. ++ dnl On those systems where time_t is still 32-bit, it requires kernel ++ dnl and libc support to make it 64-bit. For glibc 2.34 and later on Linux, ++ dnl defining _TIME_BITS=64 and _FILE_OFFSET_BITS=64 is needed on x86 and ARM. ++ dnl ++ dnl On native Windows, the system include files define types __time32_t ++ dnl and __time64_t. By default, time_t is an alias of ++ dnl - __time32_t on 32-bit mingw, ++ dnl - __time64_t on 64-bit mingw and on MSVC (since MSVC 8). ++ dnl But when compiling with -D__MINGW_USE_VC2005_COMPAT, time_t is an ++ dnl alias of __time64_t. ++ dnl And when compiling with -D_USE_32BIT_TIME_T, time_t is an alias of ++ dnl __time32_t. ++ AC_CACHE_CHECK([for time_t past the year 2038], [gl_cv_type_time_t_y2038], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE([gl_YEAR2038_TEST_INCLUDES])], ++ [gl_cv_type_time_t_y2038=yes], [gl_cv_type_time_t_y2038=no]) ++ ]) ++ if test "$gl_cv_type_time_t_y2038" = no; then ++ AC_CACHE_CHECK([for 64-bit time_t with _TIME_BITS=64], ++ [gl_cv_type_time_t_bits_macro], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE([[#define _TIME_BITS 64 ++ #define _FILE_OFFSET_BITS 64 ++ ]gl_YEAR2038_TEST_INCLUDES])], ++ [gl_cv_type_time_t_bits_macro=yes], ++ [gl_cv_type_time_t_bits_macro=no]) ++ ]) ++ if test "$gl_cv_type_time_t_bits_macro" = yes; then ++ AC_DEFINE([_TIME_BITS], [64], ++ [Number of bits in a timestamp, on hosts where this is settable.]) ++ dnl AC_SYS_LARGFILE also defines this; it's OK if we do too. ++ AC_DEFINE([_FILE_OFFSET_BITS], [64], ++ [Number of bits in a file offset, on hosts where this is settable.]) ++ gl_cv_type_time_t_y2038=yes ++ fi ++ fi ++ if test $gl_cv_type_time_t_y2038 = no; then ++ AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE( ++ [[#ifdef _USE_32BIT_TIME_T ++ int ok; ++ #else ++ error fail ++ #endif ++ ]])], ++ [AC_MSG_FAILURE( ++ [The 'time_t' type stops working after January 2038. ++ Remove _USE_32BIT_TIME_T from the compiler flags.])], ++ [# If not cross-compiling and $1 says we should check, ++ # and 'touch' works with a large timestamp, then evidently wider time_t ++ # is desired and supported, so fail and ask the builder to fix the ++ # problem. Otherwise, just warn the builder. ++ m4_ifval([$1], ++ [if test $cross_compiling = no \ ++ && TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null; then ++ case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in ++ *'Feb 7 2106'* | *'Feb 7 17:10'*) ++ AC_MSG_FAILURE( ++ [The 'time_t' type stops working after January 2038, ++ and your system appears to support a wider 'time_t'. ++ Try configuring with 'CC="${CC} -m64"'. ++ To build with a 32-bit time_t anyway (not recommended), ++ configure with '--disable-year2038'.]);; ++ esac ++ rm -f conftest.time ++ fi]) ++ if test "$gl_warned_about_y2038" != yes; then ++ AC_MSG_WARN( ++ [The 'time_t' type stops working after January 2038, ++ and this package needs a wider 'time_t' type ++ if there is any way to access timestamps after that. ++ Configure with 'CC="${CC} -m64"' perhaps?]) ++ gl_warned_about_y2038=yes ++ fi ++ ]) ++ fi]) ++]) ++ ++AC_DEFUN([gl_YEAR2038], ++[ ++ gl_YEAR2038_BODY([require-year2038-safe]) ++]) +diff --git a/maint.mk b/maint.mk +index ae3a817..6a3ea96 100644 +--- a/maint.mk ++++ b/maint.mk +@@ -1409,7 +1409,7 @@ announcement_mail_headers_alpha = \ + announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha) + announcement_mail_headers_beta = $(announcement_mail_headers_alpha) + +-announcement_mail_Cc_ ?= $(announcement_mail_Cc_$(release-type)) ++announcement_Cc_ ?= $(announcement_Cc_$(release-type)) + announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type)) + announcement: NEWS ChangeLog $(rel-files) + # Not $(AM_V_GEN) since the output of this command serves as +@@ -1426,7 +1426,6 @@ announcement: NEWS ChangeLog $(rel-files) + --bootstrap-tools=$(bootstrap-tools) \ + $$(case ,$(bootstrap-tools), in (*,gnulib,*) \ + echo --gnulib-version=$(gnulib-version);; esac) \ +- --no-print-checksums \ + $(addprefix --url-dir=, $(url_dir_list)) + + .PHONY: release-commit +-- +cgit v1.1 + diff --git a/package/guile/Config.in b/package/guile/Config.in index c26c296e472..f70e6740181 100644 --- a/package/guile/Config.in +++ b/package/guile/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_GUILE select BR2_PACKAGE_LIBFFI select BR2_PACKAGE_GMP select BR2_PACKAGE_BDWGC - select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Guile is an interpreter and compiler for the Scheme programming language, a clean and elegant dialect of Lisp. diff --git a/package/guile/guile.hash b/package/guile/guile.hash index a163f59fce9..c2719fa7f26 100644 --- a/package/guile/guile.hash +++ b/package/guile/guile.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 6b7947dc2e3d115983846a268b8f5753c12fd5547e42fbf2b97d75a3b79f0d31 guile-3.0.4.tar.xz +sha256 f57d86c70620271bfceb7a9be0c81744a033f08adc7ceba832c9917ab3e691b7 guile-3.0.7.tar.xz # Locally computed sha256 b51c6f20e6d029cb5b3e5bf235ac562c9a188c5bdc4ffcdc663897772d6e0260 LICENSE sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/guile/guile.mk b/package/guile/guile.mk index 44f4d1c85e9..859d7ec96f6 100644 --- a/package/guile/guile.mk +++ b/package/guile/guile.mk @@ -4,19 +4,26 @@ # ################################################################################ -GUILE_VERSION = 3.0.4 +GUILE_VERSION = 3.0.7 GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz GUILE_SITE = $(BR2_GNU_MIRROR)/guile GUILE_INSTALL_STAGING = YES # For 0002-calculate-csqrt_manually.patch and -# 0003-Makefile.am-fix-build-without-makeinfo.patch +# 0003-Makefile.am-fix-build-without-makeinfo.patch and +# 0004-Update-gnulib-to-8f4538a53d64054ae2fc8b86c0f87c418c6176e6.patch GUILE_AUTORECONF = YES GUILE_LICENSE = LGPL-3.0+ GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER +GUILE_CPE_ID_VENDOR = gnu -# libtool dependency is needed because guile uses libltdl -GUILE_DEPENDENCIES = host-guile libunistring libffi gmp bdwgc host-pkgconf libtool -HOST_GUILE_DEPENDENCIES = host-libunistring host-libffi host-gmp host-bdwgc host-flex host-pkgconf host-gettext +GUILE_DEPENDENCIES = host-guile libunistring libffi gmp bdwgc host-pkgconf +HOST_GUILE_DEPENDENCIES = \ + host-libunistring host-libffi host-gmp host-bdwgc host-flex \ + host-pkgconf host-gettext host-gperf + +ifeq ($(BR2_ENABLE_LOCALE),) +GUILE_DEPENDENCIES += libiconv +endif # The HAVE_GC* CFLAGS specify that we will use internal callbacks # instead of the ones provided by @@ -64,7 +71,6 @@ GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/bin/guile \ CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)" GUILE_CONF_OPTS += \ - --with-libltdl-prefix=$(STAGING_DIR)/usr/lib \ --with-libgmp-prefix=$(STAGING_DIR)/usr/lib \ --with-libunistring-prefix=$(STAGING_DIR)/usr/lib diff --git a/package/gumbo-parser/0001-configure.ac-fix-build-without-C.patch b/package/gumbo-parser/0001-configure.ac-fix-build-without-C.patch new file mode 100644 index 00000000000..cf90e6f3b16 --- /dev/null +++ b/package/gumbo-parser/0001-configure.ac-fix-build-without-C.patch @@ -0,0 +1,63 @@ +From 968975107af5f4382e3e9410a635e32c14cea75f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 21 Jul 2021 23:47:26 +0200 +Subject: [PATCH] configure.ac: fix build without C++ + +Fix the following build failure raised on toolchains without C++: + +checking whether the C++ compiler works... no +configure: error: in `/home/buildroot/autobuild/run/instance-0/output-1/build/gumbo-parser-0.10.1': +configure: error: C++ compiler cannot create executables + +Fixes: + - http://autobuild.buildroot.org/results/a32b5d3b959433fd5c3543661c37f80d27fbd010 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/google/gumbo-parser/pull/426] +--- + Makefile.am | 2 ++ + configure.ac | 6 +++++- + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index cb62459..5bebd92 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -105,7 +105,9 @@ gumbo_test_DEPENDENCIES += check-local + gumbo_test_LDADD += gtest/lib/libgtest.la gtest/lib/libgtest_main.la + endif + ++if HAVE_EXAMPLES + noinst_PROGRAMS = clean_text find_links get_title positions_of_class benchmark serialize prettyprint ++endif + LDADD = libgumbo.la + AM_CPPFLAGS = -I"$(srcdir)/src" + +diff --git a/configure.ac b/configure.ac +index 32dc9b9..172a36b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ AC_CONFIG_SRCDIR([src/parser.c]) + AC_CONFIG_FILES([Makefile gumbo.pc]) + + # Checks for programs. +-AC_PROG_CXX + AC_PROG_CC_C99 ++AC_PROG_CXX + + # Checks for libraries. + +@@ -27,6 +27,10 @@ AC_CHECK_LIB([gtest_main], + AM_CONDITIONAL(HAVE_SHARED_LIBGTEST, [true]), + AM_CONDITIONAL(HAVE_SHARED_LIBGTEST, [false])) + ++AC_ARG_ENABLE([examples], ++ AS_HELP_STRING([--disable-examples], [Disable examples])) ++AM_CONDITIONAL([HAVE_EXAMPLES], [test "x$enable_examples" != "xno"]) ++ + # Init Automake & libtool + AM_INIT_AUTOMAKE([foreign subdir-objects]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +-- +2.30.2 + diff --git a/package/gumbo-parser/Config.in b/package/gumbo-parser/Config.in new file mode 100644 index 00000000000..04bb2294bb2 --- /dev/null +++ b/package/gumbo-parser/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_GUMBO_PARSER + bool "gumbo-parser" + help + Gumbo is an implementation of the HTML5 parsing algorithm + implemented as a pure C99 library with no outside + dependencies. It's designed to serve as a building block for + other tools and libraries such as linters, validators, + templating languages, and refactoring and analysis tools. + + https://github.com/google/gumbo-parser diff --git a/package/gumbo-parser/gumbo-parser.hash b/package/gumbo-parser/gumbo-parser.hash new file mode 100644 index 00000000000..c4af33072c3 --- /dev/null +++ b/package/gumbo-parser/gumbo-parser.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad gumbo-parser-0.10.1.tar.gz + +# Hash for license files: +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 COPYING diff --git a/package/gumbo-parser/gumbo-parser.mk b/package/gumbo-parser/gumbo-parser.mk new file mode 100644 index 00000000000..8c9330ae709 --- /dev/null +++ b/package/gumbo-parser/gumbo-parser.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# gumbo-parser +# +################################################################################ + +GUMBO_PARSER_VERSION = 0.10.1 +GUMBO_PARSER_SITE = $(call github,google,gumbo-parser,v$(GUMBO_PARSER_VERSION)) +GUMBO_PARSER_LICENSE = Apache-2.0 +GUMBO_PARSER_LICENSE_FILES = COPYING +GUMBO_PARSER_INSTALL_STAGING = YES +GUMBO_PARSER_AUTORECONF = YES +GUMBO_PARSER_CONF_OPTS = --disable-examples + +$(eval $(autotools-package)) diff --git a/package/gupnp-av/gupnp-av.hash b/package/gupnp-av/gupnp-av.hash index 5dc2ac1a9da..ceab42ef52b 100644 --- a/package/gupnp-av/gupnp-av.hash +++ b/package/gupnp-av/gupnp-av.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-av/0.12/gupnp-av-0.12.11.sha256sum: -sha256 689dcf1492ab8991daea291365a32548a77d1a2294d85b33622b55cca9ce6fdc gupnp-av-0.12.11.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-av/0.14/gupnp-av-0.14.0.sha256sum: +sha256 20aed546fc882e78a3f186a0c8bce5c841cc3a44b7ea528298fbdc82596fb156 gupnp-av-0.14.0.tar.xz # Hash for license file: -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gupnp-av/gupnp-av.mk b/package/gupnp-av/gupnp-av.mk index 55436d0e53e..655de876082 100644 --- a/package/gupnp-av/gupnp-av.mk +++ b/package/gupnp-av/gupnp-av.mk @@ -4,20 +4,20 @@ # ################################################################################ -GUPNP_AV_VERSION_MAJOR = 0.12 -GUPNP_AV_VERSION = $(GUPNP_AV_VERSION_MAJOR).11 +GUPNP_AV_VERSION_MAJOR = 0.14 +GUPNP_AV_VERSION = $(GUPNP_AV_VERSION_MAJOR).0 GUPNP_AV_SOURCE = gupnp-av-$(GUPNP_AV_VERSION).tar.xz GUPNP_AV_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp-av/$(GUPNP_AV_VERSION_MAJOR) -GUPNP_AV_LICENSE = LGPL-2.0+ +GUPNP_AV_LICENSE = LGPL-2.1+ GUPNP_AV_LICENSE_FILES = COPYING GUPNP_AV_INSTALL_STAGING = YES GUPNP_AV_DEPENDENCIES = host-pkgconf libglib2 libxml2 gupnp ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -GUPNP_AV_CONF_OPTS += --enable-introspection -GUPNP_AV_DEPENDENCIES += gobject-introspection +GUPNP_AV_CONF_OPTS += -Dintrospection=true -Dvapi=true +GUPNP_AV_DEPENDENCIES += host-vala gobject-introspection else -GUPNP_AV_CONF_OPTS += --disable-introspection +GUPNP_AV_CONF_OPTS += -Dintrospection=false -Dvapi=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gupnp-dlna/gupnp-dlna.hash b/package/gupnp-dlna/gupnp-dlna.hash index 01c74897380..dd9f2e4e4ff 100644 --- a/package/gupnp-dlna/gupnp-dlna.hash +++ b/package/gupnp-dlna/gupnp-dlna.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-dlna/0.10/gupnp-dlna-0.10.5.sha256sum: -sha256 123e368227c11d5c17fc1aa76cbdaffa345355eb51d172cd39fc74a5b468ff6a gupnp-dlna-0.10.5.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-dlna/0.12/gupnp-dlna-0.12.0.sha256sum: +sha256 3d53b96f85bc5628d33e367ec9bf2adb38ef2b34d7ad0434a6ba0cf4ad9048e6 gupnp-dlna-0.12.0.tar.xz # Locally computed: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gupnp-dlna/gupnp-dlna.mk b/package/gupnp-dlna/gupnp-dlna.mk index 85d30b7cd23..64146f894bb 100644 --- a/package/gupnp-dlna/gupnp-dlna.mk +++ b/package/gupnp-dlna/gupnp-dlna.mk @@ -4,8 +4,8 @@ # ################################################################################ -GUPNP_DLNA_VERSION_MAJOR = 0.10 -GUPNP_DLNA_VERSION = $(GUPNP_DLNA_VERSION_MAJOR).5 +GUPNP_DLNA_VERSION_MAJOR = 0.12 +GUPNP_DLNA_VERSION = $(GUPNP_DLNA_VERSION_MAJOR).0 GUPNP_DLNA_SOURCE = gupnp-dlna-$(GUPNP_DLNA_VERSION).tar.xz GUPNP_DLNA_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gupnp-dlna/$(GUPNP_DLNA_VERSION_MAJOR) @@ -15,15 +15,18 @@ GUPNP_DLNA_LICENSE_FILES = COPYING GUPNP_DLNA_INSTALL_STAGING = YES GUPNP_DLNA_DEPENDENCIES = host-pkgconf libglib2 libxml2 -GUPNP_DLNA_CONF_OPTS = \ - --disable-introspection \ - --disable-legacy-gstreamer-metadata-backend +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GUPNP_DLNA_CONF_OPTS += -Dintrospection=true -Dvapi=true +GUPNP_DLNA_DEPENDENCIES += host-vala gobject-introspection +else +GUPNP_DLNA_CONF_OPTS += -Dintrospection=false -Dvapi=false +endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) -GUPNP_DLNA_CONF_OPTS += --enable-gstreamer-metadata-backend +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE):$(BR2_STATIC_LIBS),y:) +GUPNP_DLNA_CONF_OPTS += -Dgstreamer_backend=enabled GUPNP_DLNA_DEPENDENCIES += gstreamer1 gst1-plugins-base else -GUPNP_DLNA_CONF_OPTS += --disable-gstreamer-metadata-backend +GUPNP_DLNA_CONF_OPTS += -Dgstreamer_backend=disabled endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gupnp-tools/0001-src-meson.build-upload-needs-gupnp-av.patch b/package/gupnp-tools/0001-src-meson.build-upload-needs-gupnp-av.patch deleted file mode 100644 index f8eba76773f..00000000000 --- a/package/gupnp-tools/0001-src-meson.build-upload-needs-gupnp-av.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0831f77e990e363f78e3f6a5c461084988824f7b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 2 Jul 2019 23:48:12 +0200 -Subject: [PATCH] src/meson.build: upload needs gupnp-av - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.gnome.org/GNOME/gupnp-tools/merge_requests/3] ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 84b2ca2..6601f45 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -2,9 +2,9 @@ subdir('common') - - if get_option('av-tools') and gupnp_av.found() - subdir('av-cp') -+ subdir('upload') - endif - - subdir('discover') - subdir('network-light') - subdir('universal-cp') --subdir('upload') --- -2.20.1 - diff --git a/package/gupnp-tools/gupnp-tools.hash b/package/gupnp-tools/gupnp-tools.hash index 30f1b8293dd..28a1d26edeb 100644 --- a/package/gupnp-tools/gupnp-tools.hash +++ b/package/gupnp-tools/gupnp-tools.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/0.10/gupnp-tools-0.10.0.sha256sum: -sha256 41da7ff5ba8e2425adcb64ca5e04c81f57ca20ec6fdb84923939fdad42c6a18d gupnp-tools-0.10.0.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/0.10/gupnp-tools-0.10.2.sha256sum: +sha256 6de49ef4b375b8a164f74b766168b1184e0d28196b6b07a4f5341f08dfd85d6c gupnp-tools-0.10.2.tar.xz # Locally computed: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/gupnp-tools/gupnp-tools.mk b/package/gupnp-tools/gupnp-tools.mk index 182b0145c85..7b34de52a0d 100644 --- a/package/gupnp-tools/gupnp-tools.mk +++ b/package/gupnp-tools/gupnp-tools.mk @@ -5,7 +5,7 @@ ################################################################################ GUPNP_TOOLS_VERSION_MAJOR = 0.10 -GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).0 +GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).2 GUPNP_TOOLS_SOURCE = gupnp-tools-$(GUPNP_TOOLS_VERSION).tar.xz GUPNP_TOOLS_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/$(GUPNP_TOOLS_VERSION_MAJOR) diff --git a/package/gupnp/0001-Revert-build-Always-build-gupnp-binding-tool-manpage.patch b/package/gupnp/0001-Revert-build-Always-build-gupnp-binding-tool-manpage.patch deleted file mode 100644 index 05b07b49c5e..00000000000 --- a/package/gupnp/0001-Revert-build-Always-build-gupnp-binding-tool-manpage.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 9225b076d107538209fbd5b8bbc21a68d1b2c016 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 15 Jul 2020 22:42:44 +0200 -Subject: [PATCH] Revert "build: Always build gupnp-binding-tool manpage" - -This reverts commit 23f54c2a1e8718e836224d68dafded091604a677 until -upstream decides what to do between adding a new option or renaming -gtk_doc into documentation: -https://gitlab.gnome.org/GNOME/gupnp/-/issues/17 - -Signed-off-by: Fabrice Fontaine ---- - doc/meson.build | 2 -- - meson.build | 5 ++++- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/doc/meson.build b/doc/meson.build -index b71b657..478650b 100644 ---- a/doc/meson.build -+++ b/doc/meson.build -@@ -4,7 +4,6 @@ version_xml = configure_file(input: 'version.xml.in', - output: 'version.xml', configuration: - entities) - --if get_option('gtk_doc') - gnome.gtkdoc('gupnp', - main_xml : 'gupnp-docs.xml', - src_dir : [join_paths(meson.source_root(), 'libgupnp'), -@@ -27,7 +26,6 @@ gnome.gtkdoc('gupnp', - 'gupnp-types-private.h' - ], - install : true) --endif - - xsltproc = find_program('xsltproc', required: false) - if xsltproc.found() -diff --git a/meson.build b/meson.build -index 28c40b2..dea0a49 100644 ---- a/meson.build -+++ b/meson.build -@@ -31,12 +31,15 @@ dependencies = [ - subdir('libgupnp') - subdir('tests') - subdir('tools') --subdir('doc') - - if get_option('vapi') and get_option('introspection') - subdir('vala') - endif - -+if get_option('gtk_doc') -+ subdir('doc') -+endif -+ - if get_option('examples') - subdir('examples') - endif --- -2.27.0 - diff --git a/package/gupnp/gupnp.hash b/package/gupnp/gupnp.hash index 60339ec9ca0..cc5e2b5775e 100644 --- a/package/gupnp/gupnp.hash +++ b/package/gupnp/gupnp.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.2/gupnp-1.2.4.sha256sum: -sha256 f7a0307ea51f5e44d1b832f493dd9045444a3a4e211ef85dfd9aa5dd6eaea7d1 gupnp-1.2.4.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.4/gupnp-1.4.3.sha256sum: +sha256 14eda777934da2df743d072489933bd9811332b7b5bf41626b8032efb28b33ba gupnp-1.4.3.tar.xz # Hash for license file: -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gupnp/gupnp.mk b/package/gupnp/gupnp.mk index e90787eb841..dca747f0645 100644 --- a/package/gupnp/gupnp.mk +++ b/package/gupnp/gupnp.mk @@ -4,12 +4,13 @@ # ################################################################################ -GUPNP_VERSION_MAJOR = 1.2 -GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).4 +GUPNP_VERSION_MAJOR = 1.4 +GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).3 GUPNP_SOURCE = gupnp-$(GUPNP_VERSION).tar.xz GUPNP_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp/$(GUPNP_VERSION_MAJOR) -GUPNP_LICENSE = LGPL-2.0+ +GUPNP_LICENSE = LGPL-2.1+ GUPNP_LICENSE_FILES = COPYING +GUPNP_CPE_ID_VENDOR = gnome GUPNP_INSTALL_STAGING = YES GUPNP_DEPENDENCIES = host-pkgconf libglib2 libxml2 gssdp util-linux GUPNP_CONF_OPTS = -Dexamples=false diff --git a/package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch b/package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch index d8cfb7d9d74..61ef0269a8e 100644 --- a/package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch +++ b/package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch @@ -1,7 +1,7 @@ From 08a5d355160eb2ac8346ae1b94591418343217f9 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sun, 17 Aug 2014 23:43:20 +0200 -Subject: [PATCH 1/1] cups support: replaces -static with -static-libtool-libs +Subject: [PATCH] cups support: replaces -static with -static-libtool-libs gutenprint rely on the original behaviour of -static, but since commit in buildroot "support/libtool: make -static behave like -all-static" [1], diff --git a/package/gutenprint/gutenprint.mk b/package/gutenprint/gutenprint.mk index 9cb80c3e95b..b0fcd5a5982 100644 --- a/package/gutenprint/gutenprint.mk +++ b/package/gutenprint/gutenprint.mk @@ -10,6 +10,7 @@ GUTENPRINT_SITE = http://downloads.sourceforge.net/project/gimp-print/gutenprint GUTENPRINT_SOURCE = gutenprint-$(GUTENPRINT_VERSION).tar.bz2 GUTENPRINT_LICENSE = GPL-2.0+ GUTENPRINT_LICENSE_FILES = COPYING +GUTENPRINT_CPE_ID_VENDOR = gutenprint_project # Needed, as we touch Makefile.am GUTENPRINT_AUTORECONF = YES diff --git a/package/gvfs/0001-build-Remove-incorrect-i18n.merge_file-argument.patch b/package/gvfs/0001-build-Remove-incorrect-i18n.merge_file-argument.patch new file mode 100644 index 00000000000..a85a1a374e3 --- /dev/null +++ b/package/gvfs/0001-build-Remove-incorrect-i18n.merge_file-argument.patch @@ -0,0 +1,33 @@ +From 17a067b9b823a0d54e061eae45ff8e2c7e4a88d0 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Fri, 21 Jan 2022 08:32:31 +0100 +Subject: [PATCH] build: Remove incorrect i18n.merge_file argument + +The positional argument was being silently ignored until meson 0.60.0 where +it fails with "ERROR: Function does not take positional arguments". + +Related: https://github.com/mesonbuild/meson/issues/9441 +Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/599 + +[Retrieved (and backported) from: +https://gitlab.gnome.org/GNOME/gvfs/-/commit/17a067b9b823a0d54e061eae45ff8e2c7e4a88d0] +Signed-off-by: Fabrice Fontaine +--- + daemon/meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/daemon/meson.build b/daemon/meson.build +index 5f9559aa..e20ada29 100644 +--- a/daemon/meson.build ++++ b/daemon/meson.build +@@ -360,7 +360,6 @@ if enable_admin + ) + + i18n.merge_file( +- policy, + input: policy_in, + output: '@BASENAME@', + po_dir: po_dir, +-- +GitLab + diff --git a/package/gvfs/0001-meson.build-fix-linking-with-libmetadata.patch b/package/gvfs/0001-meson.build-fix-linking-with-libmetadata.patch deleted file mode 100644 index 3ee4a28e942..00000000000 --- a/package/gvfs/0001-meson.build-fix-linking-with-libmetadata.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 731256d7517f0d9cf0b999bb22f864080d5e8690 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 18 Jul 2020 10:00:50 +0200 -Subject: [PATCH] meson.build: fix linking with libmetadata - -libmetadata is built as a static library and depends on libgvfscommon so -change the dependencies order to put libgvfscommon_dep after -libmetadata_dep or gvfsd-metadata will fail to link on: - -FAILED: metadata/gvfsd-metadata -/home/naourr/work/instance-3/output-1/host/bin/arm-none-linux-gnueabi-gcc -o metadata/gvfsd-metadata 'metadata/45447b7@@gvfsd-metadata@exe/meta-daemon.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--start-group common/libgvfscommon.so metadata/libmetadata.a /home/naourr/work/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgio-2.0.so /home/naourr/work/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgobject-2.0.so /home/naourr/work/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libglib-2.0.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../common:$ORIGIN/' -Wl,-rpath-link,/home/naourr/work/instance-3/output-1/build/gvfs-1.44.1/build/common -Wl,-rpath-link,/home/naourr/work/instance-3/output-1/build/gvfs-1.44.1/build/metadata -metadata/libmetadata.a(metatree.c.o): In function `safe_open': -metatree.c:(.text+0x9c8): undefined reference to `gvfs_randomize_string' -collect2: error: ld returned 1 exit status - -Apply this change in the whole source code and not only for -gvfsd-metadata to avoid any other build failures. - -Fixes: - - http://autobuild.buildroot.org/results//fa892c41b6b9285839a0164b000e37fb04dcc194 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.gnome.org/GNOME/gvfs/-/merge_requests/92] ---- - client/meson.build | 2 +- - metadata/meson.build | 5 +++-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/client/meson.build b/client/meson.build -index 8f57d0d3..1d251481 100644 ---- a/client/meson.build -+++ b/client/meson.build -@@ -33,8 +33,8 @@ sources = uri_parser_sources + uri_utils + files( - - deps = [ - gio_unix_dep, -- libgvfscommon_dep, - libmetadata_dep, -+ libgvfscommon_dep, - ] - - cflags = [ -diff --git a/metadata/meson.build b/metadata/meson.build -index 4e120d18..5699e6f2 100644 ---- a/metadata/meson.build -+++ b/metadata/meson.build -@@ -72,8 +72,8 @@ libmetadata_dep = declare_dependency( - ) - - deps = [ -- libgvfscommon_dep, - libmetadata_dep, -+ libgvfscommon_dep, - ] - - if enable_gudev -@@ -105,8 +105,8 @@ if enable_devel_utils - app + '.c', - include_directories: top_inc, - dependencies: [ -- libgvfscommon_dep, - libmetadata_dep, -+ libgvfscommon_dep, - ], - c_args: cflags, - ) -@@ -119,6 +119,7 @@ if enable_devel_utils - include_directories: top_inc, - dependencies: [ - libmetadata_dep, -+ libgvfscommon_dep, - libxml_dep, - ], - c_args: cflags, --- -2.27.0 - diff --git a/package/gvfs/gvfs.hash b/package/gvfs/gvfs.hash index 2ee945e710a..f4a5364f1f2 100644 --- a/package/gvfs/gvfs.hash +++ b/package/gvfs/gvfs.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/gvfs/1.44/gvfs-1.44.1.sha256sum -sha256 50ef3245d1b03666a40455109169a2a1bd51419fd2d51f9fa6cfd4f89f04fb46 gvfs-1.44.1.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/gvfs/1.48/gvfs-1.48.1.sha256sum +sha256 b2ea4f271aad2711f16b43c03151e2ec5a9874ff1a21142ef6d6406486a19dc2 gvfs-1.48.1.tar.xz # Hash for license file sha256 45cf336e2e48176993babc5aabf44437390f40e6a86a472c6abfc7ce9c035db4 COPYING diff --git a/package/gvfs/gvfs.mk b/package/gvfs/gvfs.mk index c5104e8dbf4..41745924557 100644 --- a/package/gvfs/gvfs.mk +++ b/package/gvfs/gvfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -GVFS_VERSION_MAJOR = 1.44 +GVFS_VERSION_MAJOR = 1.48 GVFS_VERSION = $(GVFS_VERSION_MAJOR).1 GVFS_SOURCE = gvfs-$(GVFS_VERSION).tar.xz GVFS_SITE = http://ftp.gnome.org/pub/GNOME/sources/gvfs/$(GVFS_VERSION_MAJOR) @@ -19,6 +19,7 @@ GVFS_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) GVFS_LICENSE = LGPL-2.0+ GVFS_LICENSE_FILES = COPYING +GVFS_CPE_ID_VENDOR = gnome GVFS_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) diff --git a/package/gzip/gzip.hash b/package/gzip/gzip.hash index 5675b3ed50e..80b86f4797e 100644 --- a/package/gzip/gzip.hash +++ b/package/gzip/gzip.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/gzip/gzip-1.10.tar.xz.sig +# https://ftp.gnu.org/gnu/gzip/gzip-1.12.tar.xz.sig # using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 8425ccac99872d544d4310305f915f5ea81e04d0f437ef1a230dc9d1c819d7c0 gzip-1.10.tar.xz +sha256 ce5e03e519f637e1f814011ace35c4f87b33c0bbabeec35baf5fbd3479e91956 gzip-1.12.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk index c8fd3ddb7ae..2092df363c7 100644 --- a/package/gzip/gzip.mk +++ b/package/gzip/gzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -GZIP_VERSION = 1.10 +GZIP_VERSION = 1.12 GZIP_SOURCE = gzip-$(GZIP_VERSION).tar.xz GZIP_SITE = $(BR2_GNU_MIRROR)/gzip # Some other tools expect it to be in /bin diff --git a/package/hackrf/hackrf.mk b/package/hackrf/hackrf.mk index b83f6518e86..d80f87e6b96 100644 --- a/package/hackrf/hackrf.mk +++ b/package/hackrf/hackrf.mk @@ -7,7 +7,7 @@ HACKRF_VERSION = 2018.01.1 HACKRF_SITE = https://github.com/mossmann/hackrf/releases/download/v$(HACKRF_VERSION) HACKRF_SOURCE = hackrf-$(HACKRF_VERSION).tar.xz -HACKRF_LICENSE = GPL-2.0+ BSD-3c +HACKRF_LICENSE = GPL-2.0+, BSD-3-Clause HACKRF_LICENSE_FILES = COPYING HACKRF_DEPENDENCIES = fftw-single libusb HACKRF_SUBDIR = host diff --git a/package/haproxy/haproxy.hash b/package/haproxy/haproxy.hash index 956949275e1..18834c29b16 100644 --- a/package/haproxy/haproxy.hash +++ b/package/haproxy/haproxy.hash @@ -1,5 +1,5 @@ -# From: http://www.haproxy.org/download/2.2/src/haproxy-2.2.9.tar.gz.sha256 -sha256 21680459b08b9ba21c8cc9f5dbd0ee6e1842f57a3a67f87179871e1c13ebd4e3 haproxy-2.2.9.tar.gz +# From: http://www.haproxy.org/download/2.4/src/haproxy-2.4.15.tar.gz.sha256 +sha256 3958b17b7ee80eb79712aaf24f0d83e753683104b36e282a8b3dcd2418e30082 haproxy-2.4.15.tar.gz # Locally computed: sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt diff --git a/package/haproxy/haproxy.mk b/package/haproxy/haproxy.mk index 45c62f7c21a..b498549e20c 100644 --- a/package/haproxy/haproxy.mk +++ b/package/haproxy/haproxy.mk @@ -4,8 +4,8 @@ # ################################################################################ -HAPROXY_VERSION_MAJOR = 2.2 -HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).9 +HAPROXY_VERSION_MAJOR = 2.4 +HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).15 HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt diff --git a/package/harfbuzz/0001-meson.build-check-for-pthread.h.patch b/package/harfbuzz/0001-meson.build-check-for-pthread.h.patch index 6d7225cbb0a..9fa09863c63 100644 --- a/package/harfbuzz/0001-meson.build-check-for-pthread.h.patch +++ b/package/harfbuzz/0001-meson.build-check-for-pthread.h.patch @@ -26,7 +26,7 @@ diff --git a/meson.build b/meson.build index bf3925db..6d263d48 100644 --- a/meson.build +++ b/meson.build -@@ -281,13 +281,15 @@ endif +@@ -281,7 +281,9 @@ endif # threads thread_dep = null_dep if host_machine.system() != 'windows' @@ -37,13 +37,6 @@ index bf3925db..6d263d48 100644 if thread_dep.found() conf.set('HAVE_PTHREAD', 1) - else - check_headers += ['sched.h'] -- check_funcs += ['sched_yield', {'link_with': 'rt'}] -+ check_funcs += [['sched_yield', {'link_with': 'rt'}]] - endif - endif - -- 2.29.2 diff --git a/package/harfbuzz/Config.in b/package/harfbuzz/Config.in index 8bc88f42843..2e4219ee223 100644 --- a/package/harfbuzz/Config.in +++ b/package/harfbuzz/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_HARFBUZZ bool "harfbuzz" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 help HarfBuzz is an OpenType text shaping engine @@ -11,7 +11,7 @@ config BR2_PACKAGE_HARFBUZZ Harfbuzz can make optional use of cairo, freetype, glib2 and icu packages if they are selected. -comment "harfbuzz needs a toolchain w/ C++, gcc >= 4.8" +comment "harfbuzz needs a toolchain w/ C++, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/harfbuzz/harfbuzz.hash b/package/harfbuzz/harfbuzz.hash index 98b137c8bd2..61f28655638 100644 --- a/package/harfbuzz/harfbuzz.hash +++ b/package/harfbuzz/harfbuzz.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6ad11d653347bd25d8317589df4e431a2de372c0cf9be3543368e07ec23bb8e7 harfbuzz-2.7.4.tar.xz -sha256 beb3f017ceb41387667f78237a7cecf84defa0ed257c505894663d6a9f13211b COPYING +sha256 1c13bca136c4f66658059853e2c1253f34c88f4b5c5aba6050aba7b5e0ce2503 harfbuzz-3.3.2.tar.xz +sha256 4345e1735f8bc6d812fed5180cabb5a5e88a4109d332652f2a45c13cfa5ee692 COPYING diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk index f1ef7ee9535..1f5dfa88223 100644 --- a/package/harfbuzz/harfbuzz.mk +++ b/package/harfbuzz/harfbuzz.mk @@ -4,7 +4,7 @@ # ################################################################################ -HARFBUZZ_VERSION = 2.7.4 +HARFBUZZ_VERSION = 3.3.2 HARFBUZZ_SITE = https://github.com/harfbuzz/harfbuzz/releases/download/$(HARFBUZZ_VERSION) HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.xz HARFBUZZ_LICENSE = MIT, ISC (ucdn library) @@ -12,7 +12,6 @@ HARFBUZZ_LICENSE_FILES = COPYING HARFBUZZ_CPE_ID_VENDOR = harfbuzz_project HARFBUZZ_INSTALL_STAGING = YES HARFBUZZ_CONF_OPTS = \ - -Dfontconfig=disabled \ -Dgdi=disabled \ -Ddirectwrite=disabled \ -Dcoretext=disabled \ @@ -31,7 +30,6 @@ HOST_HARFBUZZ_CONF_OPTS = \ -Dglib=enabled \ -Dgobject=disabled \ -Dcairo=disabled \ - -Dfontconfig=disabled \ -Dicu=disabled \ -Dgraphite=disabled \ -Dfreetype=enabled \ @@ -92,5 +90,13 @@ else HARFBUZZ_CONF_OPTS += -Dicu=disabled endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +HARFBUZZ_CXXFLAGS += $(TARGET_CXXFLAGS) -DHB_NO_MT +endif + +ifeq ($(BR2_GCC_VERSION_ARC),y) +HARFBUZZ_CXXFLAGS += -O0 +endif + $(eval $(meson-package)) $(eval $(host-meson-package)) diff --git a/package/haserl/haserl.hash b/package/haserl/haserl.hash index 149bf0b0a5f..c66b54a0acd 100644 --- a/package/haserl/haserl.hash +++ b/package/haserl/haserl.hash @@ -1,5 +1,5 @@ # From http://sourceforge.net/projects/haserl/files/haserl-devel/ -md5 918f0b4f6cec0b438c8b5c78f2989010 haserl-0.9.35.tar.gz -sha1 9a331d41e9d47a81e81e158f9a16bf5443347cd4 haserl-0.9.35.tar.gz +md5 b94cd201a82b410b7f93fe3a31416cff haserl-0.9.36.tar.gz +sha1 a6244b496f06e1fea70581cb02c04bc1f0ffcbc3 haserl-0.9.36.tar.gz # Locally computed -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/haserl/haserl.mk b/package/haserl/haserl.mk index 4c24b9bcea5..22950f4d6d6 100644 --- a/package/haserl/haserl.mk +++ b/package/haserl/haserl.mk @@ -4,10 +4,11 @@ # ################################################################################ -HASERL_VERSION = 0.9.35 +HASERL_VERSION = 0.9.36 HASERL_SITE = http://downloads.sourceforge.net/project/haserl/haserl-devel HASERL_LICENSE = GPL-2.0 HASERL_LICENSE_FILES = COPYING +HASERL_CPE_ID_VENDOR = haserl_project HASERL_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_HASERL_WITH_LUA),y) diff --git a/package/haveged/haveged.hash b/package/haveged/haveged.hash index df8c48e214c..8c62ead7c3a 100644 --- a/package/haveged/haveged.hash +++ b/package/haveged/haveged.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d17bd22fa1745daca5ac72e014ed3b0fe5720da4c115953124b1bf2a0aa2b04b haveged-1.9.13.tar.gz +sha256 f882919ccead07ad6687a4784c0c501e617321e96dd0118403464969359cf6ad haveged-1.9.15.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/haveged/haveged.mk b/package/haveged/haveged.mk index 3980f80132b..7035142aee0 100644 --- a/package/haveged/haveged.mk +++ b/package/haveged/haveged.mk @@ -4,14 +4,30 @@ # ################################################################################ -HAVEGED_VERSION = 1.9.13 +HAVEGED_VERSION = 1.9.15 HAVEGED_SITE = $(call github,jirka-h,haveged,v$(HAVEGED_VERSION)) HAVEGED_LICENSE = GPL-3.0+ HAVEGED_LICENSE_FILES = COPYING HAVEGED_SELINUX_MODULES = entropyd +# '--disable-init' as buildroot ships its own sysv/systemd init files +HAVEGED_CONF_OPTS = \ + --enable-daemon \ + --disable-diagnostic \ + --disable-init \ + --disable-nistest \ + --disable-enttest \ + --disable-olt \ + --enable-tune + ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) -HAVEGED_CONF_OPTS += --enable-clock_gettime=yes +HAVEGED_CONF_OPTS += --enable-clock_gettime +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +HAVEGED_CONF_OPTS += --enable-threads +else +HAVEGED_CONF_OPTS += --disable-threads endif define HAVEGED_INSTALL_INIT_SYSV diff --git a/package/hdparm/Config.in b/package/hdparm/Config.in index 52385b18ce6..17ecb65ce93 100644 --- a/package/hdparm/Config.in +++ b/package/hdparm/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_HDPARM bool "hdparm" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - hdparm - get/set hard disk parameters for Linux IDE drives. + hdparm - get/set ATA/SATA drive parameters under Linux - http://www.ibiblio.org/pub/Linux/system/hardware/ + https://sourceforge.net/projects/hdparm/ diff --git a/package/hdparm/hdparm.hash b/package/hdparm/hdparm.hash index b35da452737..c039481f773 100644 --- a/package/hdparm/hdparm.hash +++ b/package/hdparm/hdparm.hash @@ -1,6 +1,5 @@ -# From http://sourceforge.net/projects/hdparm/files/hdparm/ -md5 25a791d47236c58801f8b27074f3ef93 hdparm-9.60.tar.gz -sha1 f15378cf533f79dbbc040cd77183137d24292ecc hdparm-9.60.tar.gz +# From https://sourceforge.net/projects/hdparm/files/hdparm/ +sha1 c8e24233b4d29506907ad2bf0725f793106c3a78 hdparm-9.63.tar.gz # Locally computed -sha256 8397739c73e44d5ab96c4aef28fa9c0147276d53a1b5657ce04c4565cf6635cc hdparm-9.60.tar.gz +sha256 2c0f9d75cdbeda928a25a128cd3d0b7120445ec0910c0b29d4c1038ed1be777f hdparm-9.62.tar.gz sha256 eae572b06d2733f5c65fbe81680ce2b8a109afee2bdd1a161343c772af0e82e1 LICENSE.TXT diff --git a/package/hdparm/hdparm.mk b/package/hdparm/hdparm.mk index d9470ef7f52..2c3b372deb2 100644 --- a/package/hdparm/hdparm.mk +++ b/package/hdparm/hdparm.mk @@ -4,8 +4,8 @@ # ################################################################################ -HDPARM_VERSION = 9.60 -HDPARM_SITE = http://downloads.sourceforge.net/project/hdparm/hdparm +HDPARM_VERSION = 9.63 +HDPARM_SITE = https://downloads.sourceforge.net/project/hdparm/hdparm HDPARM_LICENSE = BSD-Style HDPARM_LICENSE_FILES = LICENSE.TXT diff --git a/package/heimdal/heimdal.mk b/package/heimdal/heimdal.mk index 9a1a68f046c..ce509c7afa0 100644 --- a/package/heimdal/heimdal.mk +++ b/package/heimdal/heimdal.mk @@ -28,19 +28,26 @@ HOST_HEIMDAL_CONF_OPTS = \ --disable-ndbm-db \ --disable-heimdal-documentation -HOST_HEIMDAL_CONF_ENV = MAKEINFO=true +# Don't use compile_et from e2fsprogs as it raises a build failure with samba4 +HOST_HEIMDAL_CONF_ENV = ac_cv_prog_COMPILE_ET=no MAKEINFO=true HEIMDAL_LICENSE = BSD-3-Clause HEIMDAL_LICENSE_FILES = LICENSE HEIMDAL_CPE_ID_VENDOR = heimdal_project +# We need compile_et for samba4 +define HOST_HEIMDAL_INSTALL_COMPILE_ET + $(INSTALL) -m 0755 $(@D)/lib/com_err/compile_et \ + $(HOST_DIR)/bin/compile_et +endef + # We need asn1_compile in the PATH for samba4 define HOST_HEIMDAL_MAKE_SYMLINK ln -sf $(HOST_DIR)/libexec/heimdal/asn1_compile \ $(HOST_DIR)/bin/asn1_compile - ln -sf $(HOST_DIR)/bin/compile_et \ - $(HOST_DIR)/libexec/heimdal/compile_et endef -HOST_HEIMDAL_POST_INSTALL_HOOKS += HOST_HEIMDAL_MAKE_SYMLINK +HOST_HEIMDAL_POST_INSTALL_HOOKS += \ + HOST_HEIMDAL_INSTALL_COMPILE_ET \ + HOST_HEIMDAL_MAKE_SYMLINK $(eval $(host-autotools-package)) diff --git a/package/heirloom-mailx/Config.in b/package/heirloom-mailx/Config.in index 87664b489e7..c5b0bcbea7b 100644 --- a/package/heirloom-mailx/Config.in +++ b/package/heirloom-mailx/Config.in @@ -3,6 +3,8 @@ config BR2_PACKAGE_HEIRLOOM_MAILX # uses fork() depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2 if BR2_PACKAGE_LIBOPENSSL help Heirloom mailx (previously known as nail) is a mail user agent for Unix systems. diff --git a/package/heirloom-mailx/heirloom-mailx.mk b/package/heirloom-mailx/heirloom-mailx.mk index 2f7e635e0ff..e851e1dfcc2 100644 --- a/package/heirloom-mailx/heirloom-mailx.mk +++ b/package/heirloom-mailx/heirloom-mailx.mk @@ -9,6 +9,8 @@ HEIRLOOM_MAILX_SOURCE = heirloom-mailx_$(HEIRLOOM_MAILX_VERSION).orig.tar.gz HEIRLOOM_MAILX_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/heirloom-mailx HEIRLOOM_MAILX_LICENSE = BSD-4-Clause, Bellcore (base64), OpenVision (imap_gssapi), RSA Data Security (md5), Network Working Group (hmac), MPL-1.1 (nss) HEIRLOOM_MAILX_LICENSE_FILES = COPYING +HEIRLOOM_MAILX_CPE_ID_VENDOR = heirloom +HEIRLOOM_MAILX_CPE_ID_PRODUCT = mailx ifeq ($(BR2_PACKAGE_OPENSSL),y) HEIRLOOM_MAILX_DEPENDENCIES += openssl @@ -18,10 +20,18 @@ define HEIRLOOM_MAILX_CONFIGURE_CMDS (cd $(@D); $(TARGET_CONFIGURE_OPTS) $(SHELL) ./makeconfig) endef +HEIRLOOM_MAILX_CFLAGS = $(TARGET_CFLAGS) + # -fPIC is needed to build with NIOS2 toolchains. +HEIRLOOM_MAILX_CFLAGS += -fPIC + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101916),y) +HEIRLOOM_MAILX_CFLAGS += -O0 +endif + define HEIRLOOM_MAILX_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) \ - CFLAGS="$(TARGET_CFLAGS) -fPIC" \ + CFLAGS="$(HEIRLOOM_MAILX_CFLAGS)" \ -C $(@D) endef diff --git a/package/hiawatha/Config.in b/package/hiawatha/Config.in index 8f1908f6f4c..4b1a3ca86c7 100644 --- a/package/hiawatha/Config.in +++ b/package/hiawatha/Config.in @@ -32,6 +32,5 @@ if BR2_PACKAGE_HIAWATHA config BR2_PACKAGE_HIAWATHA_SSL bool "hiawatha TLS support" - select BR2_PACKAGE_MBEDTLS endif diff --git a/package/hiawatha/hiawatha.hash b/package/hiawatha/hiawatha.hash index 2fba5600a2f..b06dc2e661a 100644 --- a/package/hiawatha/hiawatha.hash +++ b/package/hiawatha/hiawatha.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 79d85d165d68dd7043bbd337f5bc7dd10d8632d68ba61d0e557f84bd687c9727 hiawatha-10.11.tar.gz +sha256 d21722986f64163e30a560283123cdf4d6cb5ff8188ab754387b26724565268d hiawatha-11.1.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/hiawatha/hiawatha.mk b/package/hiawatha/hiawatha.mk index 126cb71105e..25da98a43c8 100644 --- a/package/hiawatha/hiawatha.mk +++ b/package/hiawatha/hiawatha.mk @@ -4,13 +4,18 @@ # ################################################################################ -HIAWATHA_VERSION = 10.11 +HIAWATHA_VERSION = 11.1 HIAWATHA_SITE = https://www.hiawatha-webserver.org/files HIAWATHA_DEPENDENCIES = zlib HIAWATHA_LICENSE = GPL-2.0 HIAWATHA_LICENSE_FILES = LICENSE +HIAWATHA_CPE_ID_VENDOR = hiawatha-webserver +# Disable system mbedtls as hiawatha needs mbedtls 3.x HIAWATHA_CONF_OPTS = \ + -DINSTALL_MBEDTLS_HEADERS=OFF \ + -DUSE_SYSTEM_MBEDTLS=OFF \ + -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ -DENABLE_TOOLKIT=OFF \ -DCONFIG_DIR=/etc/hiawatha \ -DLOG_DIR=/var/log \ @@ -18,9 +23,26 @@ HIAWATHA_CONF_OPTS = \ -DWEBROOT_DIR=/var/www/hiawatha \ -DWORK_DIR=/var/lib/hiawatha +define HIAWATHA_MBEDTLS_DISABLE_ASM + $(SED) '/^#define MBEDTLS_AESNI_C/d' \ + $(@D)/mbedtls/include/mbedtls/mbedtls_config.h + $(SED) '/^#define MBEDTLS_HAVE_ASM/d' \ + $(@D)/mbedtls/include/mbedtls/mbedtls_config.h + $(SED) '/^#define MBEDTLS_PADLOCK_C/d' \ + $(@D)/mbedtls/include/mbedtls/mbedtls_config.h +endef + +# ARM in thumb mode breaks debugging with asm optimizations +# Microblaze asm optimizations are broken in general +# MIPS R6 asm is not yet supported +ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THUMB2),yy) +HIAWATHA_POST_CONFIGURE_HOOKS += HIAWATHA_MBEDTLS_DISABLE_ASM +else ifeq ($(BR2_microblaze)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) +HIAWATHA_POST_CONFIGURE_HOOKS += HIAWATHA_MBEDTLS_DISABLE_ASM +endif + ifeq ($(BR2_PACKAGE_HIAWATHA_SSL),y) -HIAWATHA_CONF_OPTS += -DUSE_SYSTEM_MBEDTLS=ON -HIAWATHA_DEPENDENCIES += mbedtls +HIAWATHA_CONF_OPTS += -DENABLE_TLS=ON else HIAWATHA_CONF_OPTS += -DENABLE_TLS=OFF endif diff --git a/package/hidapi/0001-hidtest-dont-use-a-C-source-file-since-it-s-pure-C.patch b/package/hidapi/0001-hidtest-dont-use-a-C-source-file-since-it-s-pure-C.patch deleted file mode 100644 index 4740cb7b882..00000000000 --- a/package/hidapi/0001-hidtest-dont-use-a-C-source-file-since-it-s-pure-C.patch +++ /dev/null @@ -1,445 +0,0 @@ -From 2fb04c2245167e247b95400112b5dbea12fcb206 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 30 Dec 2015 20:02:29 +0100 -Subject: [PATCH] hidtest: dont' use a C++ source file, since it's pure C - -This allows to build the test program with toolchains that don't have -C++ support. - -Signed-off-by: Thomas Petazzoni ---- - hidtest/Makefile.am | 6 +- - hidtest/hidtest.c | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - hidtest/hidtest.cpp | 194 ---------------------------------------------------- - 3 files changed, 197 insertions(+), 197 deletions(-) - create mode 100644 hidtest/hidtest.c - delete mode 100644 hidtest/hidtest.cpp - -diff --git a/hidtest/Makefile.am b/hidtest/Makefile.am -index d278644..5f52c3f 100644 ---- a/hidtest/Makefile.am -+++ b/hidtest/Makefile.am -@@ -4,17 +4,17 @@ AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ - if OS_LINUX - noinst_PROGRAMS = hidtest-libusb hidtest-hidraw - --hidtest_hidraw_SOURCES = hidtest.cpp -+hidtest_hidraw_SOURCES = hidtest.c - hidtest_hidraw_LDADD = $(top_builddir)/linux/libhidapi-hidraw.la - --hidtest_libusb_SOURCES = hidtest.cpp -+hidtest_libusb_SOURCES = hidtest.c - hidtest_libusb_LDADD = $(top_builddir)/libusb/libhidapi-libusb.la - else - - # Other OS's - noinst_PROGRAMS = hidtest - --hidtest_SOURCES = hidtest.cpp -+hidtest_SOURCES = hidtest.c - hidtest_LDADD = $(top_builddir)/$(backend)/libhidapi.la - - endif -diff --git a/hidtest/hidtest.c b/hidtest/hidtest.c -new file mode 100644 -index 0000000..94f0a5c ---- /dev/null -+++ b/hidtest/hidtest.c -@@ -0,0 +1,194 @@ -+/******************************************************* -+ Windows HID simplification -+ -+ Alan Ott -+ Signal 11 Software -+ -+ 8/22/2009 -+ -+ Copyright 2009 -+ -+ This contents of this file may be used by anyone -+ for any reason without any conditions and may be -+ used as a starting point for your own applications -+ which use HIDAPI. -+********************************************************/ -+ -+#include -+#include -+#include -+#include -+#include "hidapi.h" -+ -+// Headers needed for sleeping. -+#ifdef _WIN32 -+ #include -+#else -+ #include -+#endif -+ -+int main(int argc, char* argv[]) -+{ -+ int res; -+ unsigned char buf[256]; -+ #define MAX_STR 255 -+ wchar_t wstr[MAX_STR]; -+ hid_device *handle; -+ int i; -+ -+#ifdef WIN32 -+ UNREFERENCED_PARAMETER(argc); -+ UNREFERENCED_PARAMETER(argv); -+#endif -+ -+ struct hid_device_info *devs, *cur_dev; -+ -+ if (hid_init()) -+ return -1; -+ -+ devs = hid_enumerate(0x0, 0x0); -+ cur_dev = devs; -+ while (cur_dev) { -+ printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls", cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number); -+ printf("\n"); -+ printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string); -+ printf(" Product: %ls\n", cur_dev->product_string); -+ printf(" Release: %hx\n", cur_dev->release_number); -+ printf(" Interface: %d\n", cur_dev->interface_number); -+ printf("\n"); -+ cur_dev = cur_dev->next; -+ } -+ hid_free_enumeration(devs); -+ -+ // Set up the command buffer. -+ memset(buf,0x00,sizeof(buf)); -+ buf[0] = 0x01; -+ buf[1] = 0x81; -+ -+ -+ // Open the device using the VID, PID, -+ // and optionally the Serial number. -+ ////handle = hid_open(0x4d8, 0x3f, L"12345"); -+ handle = hid_open(0x4d8, 0x3f, NULL); -+ if (!handle) { -+ printf("unable to open device\n"); -+ return 1; -+ } -+ -+ // Read the Manufacturer String -+ wstr[0] = 0x0000; -+ res = hid_get_manufacturer_string(handle, wstr, MAX_STR); -+ if (res < 0) -+ printf("Unable to read manufacturer string\n"); -+ printf("Manufacturer String: %ls\n", wstr); -+ -+ // Read the Product String -+ wstr[0] = 0x0000; -+ res = hid_get_product_string(handle, wstr, MAX_STR); -+ if (res < 0) -+ printf("Unable to read product string\n"); -+ printf("Product String: %ls\n", wstr); -+ -+ // Read the Serial Number String -+ wstr[0] = 0x0000; -+ res = hid_get_serial_number_string(handle, wstr, MAX_STR); -+ if (res < 0) -+ printf("Unable to read serial number string\n"); -+ printf("Serial Number String: (%d) %ls", wstr[0], wstr); -+ printf("\n"); -+ -+ // Read Indexed String 1 -+ wstr[0] = 0x0000; -+ res = hid_get_indexed_string(handle, 1, wstr, MAX_STR); -+ if (res < 0) -+ printf("Unable to read indexed string 1\n"); -+ printf("Indexed String 1: %ls\n", wstr); -+ -+ // Set the hid_read() function to be non-blocking. -+ hid_set_nonblocking(handle, 1); -+ -+ // Try to read from the device. There shoud be no -+ // data here, but execution should not block. -+ res = hid_read(handle, buf, 17); -+ -+ // Send a Feature Report to the device -+ buf[0] = 0x2; -+ buf[1] = 0xa0; -+ buf[2] = 0x0a; -+ buf[3] = 0x00; -+ buf[4] = 0x00; -+ res = hid_send_feature_report(handle, buf, 17); -+ if (res < 0) { -+ printf("Unable to send a feature report.\n"); -+ } -+ -+ memset(buf,0,sizeof(buf)); -+ -+ // Read a Feature Report from the device -+ buf[0] = 0x2; -+ res = hid_get_feature_report(handle, buf, sizeof(buf)); -+ if (res < 0) { -+ printf("Unable to get a feature report.\n"); -+ printf("%ls", hid_error(handle)); -+ } -+ else { -+ // Print out the returned buffer. -+ printf("Feature Report\n "); -+ for (i = 0; i < res; i++) -+ printf("%02hhx ", buf[i]); -+ printf("\n"); -+ } -+ -+ memset(buf,0,sizeof(buf)); -+ -+ // Toggle LED (cmd 0x80). The first byte is the report number (0x1). -+ buf[0] = 0x1; -+ buf[1] = 0x80; -+ res = hid_write(handle, buf, 17); -+ if (res < 0) { -+ printf("Unable to write()\n"); -+ printf("Error: %ls\n", hid_error(handle)); -+ } -+ -+ -+ // Request state (cmd 0x81). The first byte is the report number (0x1). -+ buf[0] = 0x1; -+ buf[1] = 0x81; -+ hid_write(handle, buf, 17); -+ if (res < 0) -+ printf("Unable to write() (2)\n"); -+ -+ // Read requested state. hid_read() has been set to be -+ // non-blocking by the call to hid_set_nonblocking() above. -+ // This loop demonstrates the non-blocking nature of hid_read(). -+ res = 0; -+ while (res == 0) { -+ res = hid_read(handle, buf, sizeof(buf)); -+ if (res == 0) -+ printf("waiting...\n"); -+ if (res < 0) -+ printf("Unable to read()\n"); -+ #ifdef WIN32 -+ Sleep(500); -+ #else -+ usleep(500*1000); -+ #endif -+ } -+ -+ printf("Data read:\n "); -+ // Print out the returned buffer. -+ for (i = 0; i < res; i++) -+ printf("%02hhx ", buf[i]); -+ printf("\n"); -+ -+ hid_close(handle); -+ -+ /* Free static HIDAPI objects. */ -+ hid_exit(); -+ -+#ifdef WIN32 -+ system("pause"); -+#endif -+ -+ return 0; -+} -diff --git a/hidtest/hidtest.cpp b/hidtest/hidtest.cpp -deleted file mode 100644 -index 94f0a5c..0000000 ---- a/hidtest/hidtest.cpp -+++ /dev/null -@@ -1,194 +0,0 @@ --/******************************************************* -- Windows HID simplification -- -- Alan Ott -- Signal 11 Software -- -- 8/22/2009 -- -- Copyright 2009 -- -- This contents of this file may be used by anyone -- for any reason without any conditions and may be -- used as a starting point for your own applications -- which use HIDAPI. --********************************************************/ -- --#include --#include --#include --#include --#include "hidapi.h" -- --// Headers needed for sleeping. --#ifdef _WIN32 -- #include --#else -- #include --#endif -- --int main(int argc, char* argv[]) --{ -- int res; -- unsigned char buf[256]; -- #define MAX_STR 255 -- wchar_t wstr[MAX_STR]; -- hid_device *handle; -- int i; -- --#ifdef WIN32 -- UNREFERENCED_PARAMETER(argc); -- UNREFERENCED_PARAMETER(argv); --#endif -- -- struct hid_device_info *devs, *cur_dev; -- -- if (hid_init()) -- return -1; -- -- devs = hid_enumerate(0x0, 0x0); -- cur_dev = devs; -- while (cur_dev) { -- printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls", cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number); -- printf("\n"); -- printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string); -- printf(" Product: %ls\n", cur_dev->product_string); -- printf(" Release: %hx\n", cur_dev->release_number); -- printf(" Interface: %d\n", cur_dev->interface_number); -- printf("\n"); -- cur_dev = cur_dev->next; -- } -- hid_free_enumeration(devs); -- -- // Set up the command buffer. -- memset(buf,0x00,sizeof(buf)); -- buf[0] = 0x01; -- buf[1] = 0x81; -- -- -- // Open the device using the VID, PID, -- // and optionally the Serial number. -- ////handle = hid_open(0x4d8, 0x3f, L"12345"); -- handle = hid_open(0x4d8, 0x3f, NULL); -- if (!handle) { -- printf("unable to open device\n"); -- return 1; -- } -- -- // Read the Manufacturer String -- wstr[0] = 0x0000; -- res = hid_get_manufacturer_string(handle, wstr, MAX_STR); -- if (res < 0) -- printf("Unable to read manufacturer string\n"); -- printf("Manufacturer String: %ls\n", wstr); -- -- // Read the Product String -- wstr[0] = 0x0000; -- res = hid_get_product_string(handle, wstr, MAX_STR); -- if (res < 0) -- printf("Unable to read product string\n"); -- printf("Product String: %ls\n", wstr); -- -- // Read the Serial Number String -- wstr[0] = 0x0000; -- res = hid_get_serial_number_string(handle, wstr, MAX_STR); -- if (res < 0) -- printf("Unable to read serial number string\n"); -- printf("Serial Number String: (%d) %ls", wstr[0], wstr); -- printf("\n"); -- -- // Read Indexed String 1 -- wstr[0] = 0x0000; -- res = hid_get_indexed_string(handle, 1, wstr, MAX_STR); -- if (res < 0) -- printf("Unable to read indexed string 1\n"); -- printf("Indexed String 1: %ls\n", wstr); -- -- // Set the hid_read() function to be non-blocking. -- hid_set_nonblocking(handle, 1); -- -- // Try to read from the device. There shoud be no -- // data here, but execution should not block. -- res = hid_read(handle, buf, 17); -- -- // Send a Feature Report to the device -- buf[0] = 0x2; -- buf[1] = 0xa0; -- buf[2] = 0x0a; -- buf[3] = 0x00; -- buf[4] = 0x00; -- res = hid_send_feature_report(handle, buf, 17); -- if (res < 0) { -- printf("Unable to send a feature report.\n"); -- } -- -- memset(buf,0,sizeof(buf)); -- -- // Read a Feature Report from the device -- buf[0] = 0x2; -- res = hid_get_feature_report(handle, buf, sizeof(buf)); -- if (res < 0) { -- printf("Unable to get a feature report.\n"); -- printf("%ls", hid_error(handle)); -- } -- else { -- // Print out the returned buffer. -- printf("Feature Report\n "); -- for (i = 0; i < res; i++) -- printf("%02hhx ", buf[i]); -- printf("\n"); -- } -- -- memset(buf,0,sizeof(buf)); -- -- // Toggle LED (cmd 0x80). The first byte is the report number (0x1). -- buf[0] = 0x1; -- buf[1] = 0x80; -- res = hid_write(handle, buf, 17); -- if (res < 0) { -- printf("Unable to write()\n"); -- printf("Error: %ls\n", hid_error(handle)); -- } -- -- -- // Request state (cmd 0x81). The first byte is the report number (0x1). -- buf[0] = 0x1; -- buf[1] = 0x81; -- hid_write(handle, buf, 17); -- if (res < 0) -- printf("Unable to write() (2)\n"); -- -- // Read requested state. hid_read() has been set to be -- // non-blocking by the call to hid_set_nonblocking() above. -- // This loop demonstrates the non-blocking nature of hid_read(). -- res = 0; -- while (res == 0) { -- res = hid_read(handle, buf, sizeof(buf)); -- if (res == 0) -- printf("waiting...\n"); -- if (res < 0) -- printf("Unable to read()\n"); -- #ifdef WIN32 -- Sleep(500); -- #else -- usleep(500*1000); -- #endif -- } -- -- printf("Data read:\n "); -- // Print out the returned buffer. -- for (i = 0; i < res; i++) -- printf("%02hhx ", buf[i]); -- printf("\n"); -- -- hid_close(handle); -- -- /* Free static HIDAPI objects. */ -- hid_exit(); -- --#ifdef WIN32 -- system("pause"); --#endif -- -- return 0; --} --- -2.7.4 - diff --git a/package/hidapi/hidapi.hash b/package/hidapi/hidapi.hash index 232c1ec48de..95046386a7a 100644 --- a/package/hidapi/hidapi.hash +++ b/package/hidapi/hidapi.hash @@ -1,6 +1,6 @@ # Locally calculated -sha256 630ee1834bdd5c5761ab079fd04f463a89585df8fcae51a7bfe4229b1e02a652 hidapi-0.9.0.tar.gz -sha256 7d3b087c34f35d4d538e3bcddd1ff8f66e92f9ef336881999482800ddf840913 LICENSE.txt -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE-gpl3.txt -sha256 30eb1bef29b46f8ba7ab8b416035dbd93cb034a45481dd97815b944284582cd2 LICENSE-bsd.txt -sha256 fb5436aa63d1b71a8dfbf74ecaf1a5b4e1ec4df7f80074d11fec99284f69ca5f LICENSE-orig.txt +sha256 391d8e52f2d6a5cf76e2b0c079cfefe25497ba1d4659131297081fc0cd744632 hidapi-0.11.0.tar.gz +sha256 7d3b087c34f35d4d538e3bcddd1ff8f66e92f9ef336881999482800ddf840913 LICENSE.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE-gpl3.txt +sha256 30eb1bef29b46f8ba7ab8b416035dbd93cb034a45481dd97815b944284582cd2 LICENSE-bsd.txt +sha256 fb5436aa63d1b71a8dfbf74ecaf1a5b4e1ec4df7f80074d11fec99284f69ca5f LICENSE-orig.txt diff --git a/package/hidapi/hidapi.mk b/package/hidapi/hidapi.mk index abbe5878e8c..9341f0186c4 100644 --- a/package/hidapi/hidapi.mk +++ b/package/hidapi/hidapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -HIDAPI_VERSION = 0.9.0 +HIDAPI_VERSION = 0.11.0 HIDAPI_SITE = $(call github,libusb,hidapi,hidapi-$(HIDAPI_VERSION)) HIDAPI_INSTALL_STAGING = YES # No configure provided, so we need to autoreconf. diff --git a/package/hiredis/hiredis.hash b/package/hiredis/hiredis.hash index fc01d1f60d5..a45cf68f993 100644 --- a/package/hiredis/hiredis.hash +++ b/package/hiredis/hiredis.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 2a0b5fe5119ec973a0c1966bfc4bd7ed39dbce1cb6d749064af9121fe971936f hiredis-1.0.0.tar.gz +sha256 e0ab696e2f07deb4252dda45b703d09854e53b9703c7d52182ce5a22616c3819 hiredis-1.0.2.tar.gz sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb COPYING diff --git a/package/hiredis/hiredis.mk b/package/hiredis/hiredis.mk index f340fb8a4dd..a571951fa36 100644 --- a/package/hiredis/hiredis.mk +++ b/package/hiredis/hiredis.mk @@ -5,7 +5,7 @@ ################################################################################ HIREDIS_VERSION_MAJOR = 1.0 -HIREDIS_VERSION = $(HIREDIS_VERSION_MAJOR).0 +HIREDIS_VERSION = $(HIREDIS_VERSION_MAJOR).2 HIREDIS_SITE = $(call github,redis,hiredis,v$(HIREDIS_VERSION)) HIREDIS_LICENSE = BSD-3-Clause HIREDIS_LICENSE_FILES = COPYING diff --git a/package/hostapd/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch b/package/hostapd/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch deleted file mode 100644 index 959788c2e93..00000000000 --- a/package/hostapd/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 8c07fa9eda13e835f3f968b2e1c9a8be3a851ff9 Mon Sep 17 00:00:00 2001 -From: Jouni Malinen -Date: Thu, 29 Aug 2019 11:52:04 +0300 -Subject: [PATCH] AP: Silently ignore management frame from unexpected source - address - -Do not process any received Management frames with unexpected/invalid SA -so that we do not add any state for unexpected STA addresses or end up -sending out frames to unexpected destination. This prevents unexpected -sequences where an unprotected frame might end up causing the AP to send -out a response to another device and that other device processing the -unexpected response. - -In particular, this prevents some potential denial of service cases -where the unexpected response frame from the AP might result in a -connected station dropping its association. - -Signed-off-by: Jouni Malinen - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch] ---- - src/ap/drv_callbacks.c | 13 +++++++++++++ - src/ap/ieee802_11.c | 12 ++++++++++++ - 2 files changed, 25 insertions(+) - -diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c -index 31587685fe3b..34ca379edc3d 100644 ---- a/src/ap/drv_callbacks.c -+++ b/src/ap/drv_callbacks.c -@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr, - "hostapd_notif_assoc: Skip event with no address"); - return -1; - } -+ -+ if (is_multicast_ether_addr(addr) || -+ is_zero_ether_addr(addr) || -+ os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) { -+ /* Do not process any frames with unexpected/invalid SA so that -+ * we do not add any state for unexpected STA addresses or end -+ * up sending out frames to unexpected destination. */ -+ wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR -+ " in received indication - ignore this indication silently", -+ __func__, MAC2STR(addr)); -+ return 0; -+ } -+ - random_add_randomness(addr, ETH_ALEN); - - hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211, -diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c -index c85a28db44b7..e7065372e158 100644 ---- a/src/ap/ieee802_11.c -+++ b/src/ap/ieee802_11.c -@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len, - fc = le_to_host16(mgmt->frame_control); - stype = WLAN_FC_GET_STYPE(fc); - -+ if (is_multicast_ether_addr(mgmt->sa) || -+ is_zero_ether_addr(mgmt->sa) || -+ os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) { -+ /* Do not process any frames with unexpected/invalid SA so that -+ * we do not add any state for unexpected STA addresses or end -+ * up sending out frames to unexpected destination. */ -+ wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR -+ " in received frame - ignore this frame silently", -+ MAC2STR(mgmt->sa)); -+ return 0; -+ } -+ - if (stype == WLAN_FC_STYPE_BEACON) { - handle_beacon(hapd, mgmt, len, fi); - return 1; --- -2.20.1 - diff --git a/package/hostapd/Config.in b/package/hostapd/Config.in index 38cead90ca7..f4206ceea5a 100644 --- a/package/hostapd/Config.in +++ b/package/hostapd/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_HOSTAPD bool "hostapd" depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL help User space daemon for wireless access points. @@ -76,7 +78,6 @@ config BR2_PACKAGE_HOSTAPD_WPS config BR2_PACKAGE_HOSTAPD_WPA3 bool "Enable WPA3 support" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help diff --git a/package/hostapd/hostapd.hash b/package/hostapd/hostapd.hash index e2f76c12d9e..4e130d01caf 100644 --- a/package/hostapd/hostapd.hash +++ b/package/hostapd/hostapd.hash @@ -1,6 +1,3 @@ # Locally calculated -sha256 881d7d6a90b2428479288d64233151448f8990ab4958e0ecaca7eeb3c9db2bd7 hostapd-2.9.tar.gz -sha256 2d9a5b9d616f1b4aa4a22b967cee866e2f69b798b0b46803a7928c8559842bd7 0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch -sha256 49feb35a5276279b465f6836d6fa2c6b34d94dc979e8b840d1918865c04260de 0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch -sha256 a8212a2d89a5bab2824d22b6047e7740553df163114fcec94832bfa9c5c5d78a 0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch -sha256 9da5dd0776da266b180b915e460ff75c6ff729aca1196ab396529510f24f3761 README +sha256 206e7c799b678572c2e3d12030238784bc4a9f82323b0156b4c9466f1498915d hostapd-2.10.tar.gz +sha256 af01e1d1ee065a1054d20ebe8a78a016f1fb1133b73e6a9d50801b165bb280c7 README diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index efeefd8b353..99f0cdf1b82 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -4,27 +4,17 @@ # ################################################################################ -HOSTAPD_VERSION = 2.9 +HOSTAPD_VERSION = 2.10 HOSTAPD_SITE = http://w1.fi/releases HOSTAPD_SUBDIR = hostapd HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config -HOSTAPD_PATCH = \ - https://w1.fi/security/2020-1/0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch \ - https://w1.fi/security/2020-1/0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch \ - https://w1.fi/security/2020-1/0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch HOSTAPD_DEPENDENCIES = host-pkgconf HOSTAPD_CFLAGS = $(TARGET_CFLAGS) HOSTAPD_LICENSE = BSD-3-Clause HOSTAPD_LICENSE_FILES = README -# 0001-AP-Silently-ignore-management-frame-from-unexpected-.patch -HOSTAPD_IGNORE_CVES += CVE-2019-16275 - -# 0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch -HOSTAPD_IGNORE_CVES += CVE-2020-12695 - HOSTAPD_CPE_ID_VENDOR = w1.fi -HOSTAPD_CONFIG_SET = +HOSTAPD_SELINUX_MODULES = hostapd HOSTAPD_CONFIG_ENABLE = \ CONFIG_INTERNAL_LIBTOMMATH \ @@ -92,13 +82,14 @@ HOSTAPD_CONFIG_ENABLE += CONFIG_WPS endif ifeq ($(BR2_PACKAGE_HOSTAPD_WPA3),y) -HOSTAPD_CONFIG_SET += \ - CONFIG_DPP \ - CONFIG_SAE HOSTAPD_CONFIG_ENABLE += \ + CONFIG_DPP \ + CONFIG_SAE \ CONFIG_OWE else HOSTAPD_CONFIG_DISABLE += \ + CONFIG_DPP \ + CONFIG_SAE \ CONFIG_OWE endif @@ -107,8 +98,9 @@ HOSTAPD_CONFIG_ENABLE += CONFIG_NO_VLAN endif ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC),y) -HOSTAPD_CONFIG_ENABLE += CONFIG_FULL_DYNAMIC_VLAN -HOSTAPD_CONFIG_SET += NEED_LINUX_IOCTL +HOSTAPD_CONFIG_ENABLE += \ + CONFIG_FULL_DYNAMIC_VLAN \ + NEED_LINUX_IOCTL endif ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_NETLINK),y) @@ -132,9 +124,14 @@ define HOSTAPD_CONFIGURE_CMDS cp $(@D)/hostapd/defconfig $(HOSTAPD_CONFIG) sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(HOSTAPD_CONFIG_ENABLE)) \ $(patsubst %,-e 's/^\(%\)/#\1/',$(HOSTAPD_CONFIG_DISABLE)) \ - $(patsubst %,-e '1i%=y',$(HOSTAPD_CONFIG_SET)) \ $(patsubst %,-e %,$(HOSTAPD_CONFIG_EDITS)) \ $(HOSTAPD_CONFIG) + # set requested configuration options not listed in hostapd defconfig + for s in $(HOSTAPD_CONFIG_ENABLE) ; do \ + if ! grep -q "^$${s}" $(HOSTAPD_CONFIG); then \ + echo "$${s}=y" >> $(HOSTAPD_CONFIG) ; \ + fi \ + done endef define HOSTAPD_BUILD_CMDS diff --git a/package/hplip/hplip.mk b/package/hplip/hplip.mk index 9eac83d5675..59a0f8ace01 100644 --- a/package/hplip/hplip.mk +++ b/package/hplip/hplip.mk @@ -10,6 +10,8 @@ HPLIP_AUTORECONF = YES HPLIP_DEPENDENCIES = cups libusb jpeg host-pkgconf HPLIP_LICENSE = GPL-2.0, BSD-3-Clause, MIT HPLIP_LICENSE_FILES = COPYING +HPLIP_CPE_ID_VENDOR = hp +HPLIP_CPE_ID_PRODUCT = linux_imaging_and_printing_project HPLIP_CONF_OPTS = \ --disable-qt4 \ diff --git a/package/htop/0001-configure.ac-fix-static-build-with-hwloc.patch b/package/htop/0001-configure.ac-fix-static-build-with-hwloc.patch new file mode 100644 index 00000000000..0ac79766c5b --- /dev/null +++ b/package/htop/0001-configure.ac-fix-static-build-with-hwloc.patch @@ -0,0 +1,54 @@ +From 4ccad4604586c921b4ad831b254496c2cdece9fc Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 2 Apr 2022 17:27:01 +0200 +Subject: [PATCH] configure.ac: fix static build with hwloc + +Retrieve hwloc dependencies through pkg-config to avoid the following +static build failure: + +checking for hwloc_get_proc_cpubind in -lhwloc... no +configure: error: can not find required library libhwloc + +This build failure is raised because without pkg-config, hwloc +dependencies such as libxml2 are not retrieved: + +configure:8999: checking for hwloc_get_proc_cpubind in -lhwloc +configure:9022: /home/autobuild/autobuild/instance-0/output-1/host/bin/powerpc-buildroot-linux-uclibc-gcc -o conftest -D_GNU_SOURCE -I/home/autobuild/autobuild/instance-0/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../usr/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Og -g0 -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static conftest.c -lhwloc -llzma -L/home/autobuild/autobuild/instance-0/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../usr/lib -lncurses -lm >&5 +/home/autobuild/autobuild/instance-0/output-1/host/lib/gcc/powerpc-buildroot-linux-uclibc/10.3.0/../../../../powerpc-buildroot-linux-uclibc/bin/ld: /home/autobuild/autobuild/instance-0/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../usr/lib/libhwloc.a(topology-xml-libxml.o): in function `hwloc_libxml_free_buffer': +topology-xml-libxml.c:(.text+0x6a): undefined reference to `xmlFree' + +Fixes: + - http://autobuild.buildroot.org/results/5d815ec08c580005a863df6ac9ac29deff7d4128 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/htop-dev/htop/commit/4ccad4604586c921b4ad831b254496c2cdece9fc] +--- + configure.ac | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4ecac1ecf..6bb7eb69f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -456,8 +456,18 @@ case "$enable_hwloc" in + no) + ;; + yes) +- AC_CHECK_LIB([hwloc], [hwloc_get_proc_cpubind], [], [AC_MSG_ERROR([can not find required library libhwloc])]) +- AC_CHECK_HEADERS([hwloc.h], [], [AC_MSG_ERROR([can not find require header file hwloc.h])]) ++ m4_ifdef([PKG_PROG_PKG_CONFIG], [ ++ PKG_PROG_PKG_CONFIG() ++ PKG_CHECK_MODULES(HWLOC, hwloc, [ ++ CFLAGS="$CFLAGS $HWLOC_CFLAGS" LIBS="$LIBS $HWLOC_LIBS" ++ ], [ ++ AC_CHECK_LIB([hwloc], [hwloc_get_proc_cpubind], [], [AC_MSG_ERROR([can not find required library libhwloc])]) ++ AC_CHECK_HEADERS([hwloc.h], [], [AC_MSG_ERROR([can not find require header file hwloc.h])]) ++ ]) ++ ], [ ++ AC_CHECK_LIB([hwloc], [hwloc_get_proc_cpubind], [], [AC_MSG_ERROR([can not find required library libhwloc])]) ++ AC_CHECK_HEADERS([hwloc.h], [], [AC_MSG_ERROR([can not find require header file hwloc.h])]) ++ ]) + ;; + *) + AC_MSG_ERROR([bad value '$enable_hwloc' for --enable-hwloc]) diff --git a/package/htop/htop.hash b/package/htop/htop.hash index 647feabb8e9..d7c39be4d0a 100644 --- a/package/htop/htop.hash +++ b/package/htop/htop.hash @@ -1,3 +1,5 @@ +# From https://github.com/htop-dev/htop/releases/download/3.1.2/htop-3.1.2.tar.xz.sha256 +sha256 884bce5b58cb113127860b9e368609019e92416a81550fdf0752052f3a64b388 htop-3.1.2.tar.xz + # Locally calculated -sha256 19535f8f01ac08be2df880c93c9cedfc50fa92320d48e3ef92a30b6edc4d1917 htop-3.0.5.tar.gz -sha256 c228cc14df980a23ea0c3c9ac957b904dd6a8514f6283db403de22e9179471be COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/htop/htop.mk b/package/htop/htop.mk index aa2ff247500..1e7b171a177 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -4,19 +4,35 @@ # ################################################################################ -HTOP_VERSION = 3.0.5 -HTOP_SITE = https://dl.bintray.com/htop/source +HTOP_VERSION = 3.1.2 +HTOP_SOURCE = htop-$(HTOP_VERSION).tar.xz +HTOP_SITE = https://github.com/htop-dev/htop/releases/download/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses +HTOP_AUTORECONF = YES # Prevent htop build system from searching the host paths HTOP_CONF_ENV = HTOP_NCURSES_CONFIG_SCRIPT=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) -HTOP_LICENSE = GPL-2.0 +HTOP_LICENSE = GPL-2.0+ HTOP_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_HWLOC),y) +HTOP_CONF_OPTS += --enable-hwloc +HTOP_DEPENDENCIES += hwloc +else +HTOP_CONF_OPTS += --disable-hwloc +endif + +ifeq ($(BR2_PACKAGE_LIBCAP),y) +HTOP_CONF_OPTS += --enable-capabilities +HTOP_DEPENDENCIES += libcap +else +HTOP_CONF_OPTS += --disable-capabilities +endif + ifeq ($(BR2_PACKAGE_LM_SENSORS),y) -HTOP_CONF_OPTS += --with-sensors +HTOP_CONF_OPTS += --enable-sensors HTOP_DEPENDENCIES += lm-sensors else -HTOP_CONF_OPTS += --without-sensors +HTOP_CONF_OPTS += --disable-sensors endif ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) diff --git a/package/htpdate/0001-Allow-SSL_LIBS-to-be-configured-from-environment.patch b/package/htpdate/0001-Allow-SSL_LIBS-to-be-configured-from-environment.patch new file mode 100644 index 00000000000..6dca2babab3 --- /dev/null +++ b/package/htpdate/0001-Allow-SSL_LIBS-to-be-configured-from-environment.patch @@ -0,0 +1,37 @@ +From 4ba90fedd553c3b06c925fb6ff5245a5dcabace9 Mon Sep 17 00:00:00 2001 +From: Eddy Vervest +Date: Sat, 29 Jan 2022 10:58:13 +0100 +Subject: [PATCH] Allow SSL_LIBS to be configured from environment + +[Retrieved from: +https://github.com/twekkel/htpdate/commit/4ba90fedd553c3b06c925fb6ff5245a5dcabace9] +Signed-off-by: Fabrice Fontaine +--- + Makefile | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 4796efa..cf077e6 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,8 +2,9 @@ prefix = $(DESTDIR)/usr + bindir = ${prefix}/sbin + mandir = ${prefix}/share/man + +-CC ?= gcc +-CFLAGS += -Wall -std=c11 -pedantic -O2 ++CC ?= gcc ++CFLAGS += -Wall -std=c11 -pedantic -O2 ++SSL_LIBS ?= -lssl + + INSTALL ?= install -c + STRIP ?= strip -s +@@ -14,7 +15,7 @@ htpdate: htpdate.c + $(CC) $(CFLAGS) -o htpdate htpdate.c + + https: htpdate.c +- $(CC) $(CFLAGS) -DENABLE_HTTPS -o htpdate htpdate.c -lssl ++ $(CC) $(CFLAGS) -DENABLE_HTTPS -o htpdate htpdate.c $(SSL_LIBS) + + install: all + $(STRIP) htpdate diff --git a/package/htpdate/Config.in b/package/htpdate/Config.in index 42c10c308be..d2a71fb6964 100644 --- a/package/htpdate/Config.in +++ b/package/htpdate/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_HTPDATE The HTTP Time Protocol (HTP) is used to synchronize a computer's time with web servers as reference time source. - https://github.com/angeloc/htpdate + https://github.com/twekkel/htpdate diff --git a/package/htpdate/S43htpdate b/package/htpdate/S43htpdate index 75f9a995ff9..5971d706393 100644 --- a/package/htpdate/S43htpdate +++ b/package/htpdate/S43htpdate @@ -9,7 +9,7 @@ test -r "/etc/default/$DAEMON" && . "/etc/default/$DAEMON" start() { printf 'Starting %s: ' "$DAEMON" # shellcheck disable=SC2086 # we need the word splitting - start-stop-daemon -S -q -x "/usr/bin/$DAEMON" \ + start-stop-daemon -S -q -x "/usr/sbin/$DAEMON" \ -- -D -i "$PIDFILE" $HTPDATE_ARGS status=$? if [ "$status" -eq 0 ]; then diff --git a/package/htpdate/htpdate.hash b/package/htpdate/htpdate.hash index 824266c1bc8..b56522ea99f 100644 --- a/package/htpdate/htpdate.hash +++ b/package/htpdate/htpdate.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 d2cff522b8f53b00769dcca77d8025b19238ed35d702a4739dc05e387f718909 htpdate-1.2.6.tar.gz -sha256 b1c8d41afde943cacedab52cbb44ef7ffb7026e738b9c891009e89559fe31c20 LICENSE +sha256 74f34b013eba6f99369819fa4b3d48e9ab5e531ad04f6af59cc04e8777c76ed7 htpdate-1.3.3.tar.gz +sha256 7989949df09a0489434723c571541604cd3f2e0418c6a6aa9179bfaf8ec807cc LICENSE diff --git a/package/htpdate/htpdate.mk b/package/htpdate/htpdate.mk index 52022346a9c..e32480fc859 100644 --- a/package/htpdate/htpdate.mk +++ b/package/htpdate/htpdate.mk @@ -4,13 +4,15 @@ # ################################################################################ -HTPDATE_VERSION = 1.2.6 -HTPDATE_SITE = $(call github,angeloc,htpdate,v$(HTPDATE_VERSION)) +HTPDATE_VERSION = 1.3.3 +HTPDATE_SITE = $(call github,twekkel,htpdate,v$(HTPDATE_VERSION)) HTPDATE_LICENSE = GPL-2.0+ HTPDATE_LICENSE_FILES = LICENSE ifeq ($(BR2_PACKAGE_OPENSSL),y) -HTPDATE_BUILD_OPTS = ENABLE_HTTPS=1 +HTPDATE_BUILD_OPTS = \ + https \ + SSL_LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs openssl`" HTPDATE_DEPENDENCIES += openssl host-pkgconf endif @@ -19,7 +21,8 @@ define HTPDATE_BUILD_CMDS endef define HTPDATE_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + DESTDIR=$(TARGET_DIR) install endef define HTPDATE_INSTALL_INIT_SYSV diff --git a/package/htpdate/htpdate.service b/package/htpdate/htpdate.service index b7f1371b08a..95220581d4c 100644 --- a/package/htpdate/htpdate.service +++ b/package/htpdate/htpdate.service @@ -7,7 +7,7 @@ Type=forking PIDFile=/run/htpdate.pid Environment=HTPDATE_ARGS="-a -s -t https://www.google.com" EnvironmentFile=-/etc/default/htpdate -ExecStart=/usr/bin/htpdate -D -i /run/htpdate.pid $HTPDATE_ARGS +ExecStart=/usr/sbin/htpdate -D -i /run/htpdate.pid $HTPDATE_ARGS [Install] WantedBy=multi-user.target diff --git a/package/hwdata/hwdata.hash b/package/hwdata/hwdata.hash index 489f47a7cfa..7861106859d 100644 --- a/package/hwdata/hwdata.hash +++ b/package/hwdata/hwdata.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 f1e79131c870dce4a3b4b75edeefc5c9aef416d488a131c66cb6893be743be63 hwdata-0.342.tar.gz +sha256 0d3d21af57822f35141b524808fd9e4823dbb413df338606195010dc0aa1c935 hwdata-0.355.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 21d0406f93e884a050426ebc21931839a45d56bfcbcbfdda7686d583f36f107f LICENSE diff --git a/package/hwdata/hwdata.mk b/package/hwdata/hwdata.mk index 7d718baca8c..4dd9c9e28e2 100644 --- a/package/hwdata/hwdata.mk +++ b/package/hwdata/hwdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -HWDATA_VERSION = 0.342 +HWDATA_VERSION = 0.355 HWDATA_SITE = $(call github,vcrhonek,hwdata,v$(HWDATA_VERSION)) HWDATA_LICENSE = GPL-2.0+, BSD-3-Clause, XFree86 1.0 HWDATA_LICENSE_FILES = COPYING LICENSE diff --git a/package/hwloc/hwloc.hash b/package/hwloc/hwloc.hash index 9637ba13256..ca77e3301c1 100644 --- a/package/hwloc/hwloc.hash +++ b/package/hwloc/hwloc.hash @@ -1,6 +1,4 @@ -# From https://www.open-mpi.org/software/hwloc/v1.11/ -md5 3c792e23c209e9e1bafe9bdbc613d401 hwloc-1.11.13.tar.bz2 -sha1 c3ae96a845ff3800f28b28fdb48146f971589653 hwloc-1.11.13.tar.bz2 +# From https://www.open-mpi.org/software/hwloc/v2.7/ +sha256 028cee53ebcfe048283a2b3e87f2fa742c83645fc3ae329134bf5bb8b90384e0 hwloc-2.7.0.tar.bz2 # Locally computed -sha256 a4494b7765f517c0990d1c7f09d98cb87755bb6b841e4e2cbfebca1b14bac9c8 hwloc-1.11.13.tar.bz2 -sha256 c1816ed2da6aea779c4f27352f807c8bbaf545c2843d7b2ae818e1d529028821 COPYING +sha256 d79a936a42f3c6cb7c8375a023d43f4435f4664d3a5a2ea6b4623cff83c7fc06 COPYING diff --git a/package/hwloc/hwloc.mk b/package/hwloc/hwloc.mk index 81cb89e35bf..04543a7e645 100644 --- a/package/hwloc/hwloc.mk +++ b/package/hwloc/hwloc.mk @@ -4,14 +4,19 @@ # ################################################################################ -HWLOC_VERSION_MAJOR = 1.11 -HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).13 +HWLOC_VERSION_MAJOR = 2.7 +HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).0 HWLOC_SOURCE = hwloc-$(HWLOC_VERSION).tar.bz2 -HWLOC_SITE = http://www.open-mpi.org/software/hwloc/v$(HWLOC_VERSION_MAJOR)/downloads +HWLOC_SITE = https://download.open-mpi.org/release/hwloc/v$(HWLOC_VERSION_MAJOR) HWLOC_LICENSE = BSD-3-Clause HWLOC_LICENSE_FILES = COPYING HWLOC_DEPENDENCIES = host-pkgconf HWLOC_INSTALL_STAGING = YES +HWLOC_SELINUX_MODULES = hwloc + +# ac_cv_prog_cc_c99 is required for BR2_USE_WCHAR=n because the C99 test +# provided by autoconf relies on wchar_t. +HWLOC_CONF_ENV = ac_cv_prog_cc_c99=-std=gnu99 HWLOC_CONF_OPTS = \ --disable-opencl \ @@ -19,9 +24,15 @@ HWLOC_CONF_OPTS = \ --disable-nvml \ --disable-gl \ --disable-cairo \ - --disable-libxml2 \ --disable-doxygen +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +HWLOC_CONF_OPTS += --enable-libudev +HWLOC_DEPENDENCIES += udev +else +HWLOC_CONF_OPTS += --disable-libudev +endif + ifeq ($(BR2_PACKAGE_LIBPCIACCESS),y) HWLOC_CONF_OPTS += --enable-pci HWLOC_DEPENDENCIES += libpciaccess @@ -29,11 +40,19 @@ else HWLOC_CONF_OPTS += --disable-pci endif +ifeq ($(BR2_PACKAGE_LIBXML2),y) +HWLOC_CONF_OPTS += --enable-libxml2 +HWLOC_DEPENDENCIES += libxml2 +else +HWLOC_CONF_OPTS += --disable-libxml2 +endif + +ifeq ($(BR2_PACKAGE_NCURSES),y) +HWLOC_DEPENDENCIES += ncurses +endif + ifeq ($(BR2_PACKAGE_NUMACTL),y) -HWLOC_CONF_OPTS += --enable-libnuma HWLOC_DEPENDENCIES += numactl -else -HWLOC_CONF_OPTS += --disable-libnuma endif $(eval $(autotools-package)) diff --git a/package/i2c-tools/i2c-tools.hash b/package/i2c-tools/i2c-tools.hash index 150bdb2e634..9bfdacb3f1e 100644 --- a/package/i2c-tools/i2c-tools.hash +++ b/package/i2c-tools/i2c-tools.hash @@ -1,7 +1,7 @@ # From https://www.kernel.org/pub/software/utils/i2c-tools/sha256sums.asc -sha256 37f2dabc7082d185903ff21d1f584b5dcb4dd2eb2c879bbd8d7c50ae900dacd6 i2c-tools-4.2.tar.xz +sha256 1f899e43603184fac32f34d72498fc737952dbc9c97a8dd9467fadfdf4600cf9 i2c-tools-4.3.tar.xz # License files sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 370e8bc3d45744170cc4b12dc5135b107fa40a00179a19973fbd714146dec04c README +sha256 2293b6e9076984d02184ff620baac557143e16cfa47d88f0a791d05a1271742c README diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk index c1770cf6362..5c9ce266281 100644 --- a/package/i2c-tools/i2c-tools.mk +++ b/package/i2c-tools/i2c-tools.mk @@ -4,18 +4,15 @@ # ################################################################################ -I2C_TOOLS_VERSION = 4.2 +I2C_TOOLS_VERSION = 4.3 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c) I2C_TOOLS_LICENSE_FILES = COPYING COPYING.LGPL README +I2C_TOOLS_CPE_ID_VENDOR = i2c-tools_project I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog I2C_TOOLS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_PYTHON),y) -I2C_TOOLS_DEPENDENCIES += python -endif - ifeq ($(BR2_PACKAGE_PYTHON3),y) I2C_TOOLS_DEPENDENCIES += python3 endif @@ -30,7 +27,7 @@ endif # Build/install steps mirror the distutil python package type in the python package # infrastructure -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) # BASE_ENV taken from PKG_PYTHON_DISTUTILS_ENV in package/pkg-python.mk I2C_TOOLS_PYTHON_BASE_ENV = \ $(PKG_PYTHON_DISTUTILS_ENV) \ @@ -50,7 +47,7 @@ define I2C_TOOLS_INSTALL_PYSMBUS $(PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS)) endef -endif # BR2_PACKAGE_PYTHON +endif # BR2_PACKAGE_PYTHON3 define I2C_TOOLS_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) -C $(@D) diff --git a/package/i2pd/Config.in b/package/i2pd/Config.in index 5b9ac33e280..c1ba08ef757 100644 --- a/package/i2pd/Config.in +++ b/package/i2pd/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_I2PD depends on BR2_TOOLCHAIN_HAS_ATOMIC # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # boost depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr @@ -28,10 +29,12 @@ config BR2_PACKAGE_I2PD comment "i2pd needs a toolchain w/ C++, NPTL, wchar" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR comment "i2pd needs exception_ptr" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/i2pd/i2pd.hash b/package/i2pd/i2pd.hash index 4bfaecab035..99c474a2e5d 100644 --- a/package/i2pd/i2pd.hash +++ b/package/i2pd/i2pd.hash @@ -1,4 +1,4 @@ -# From https://github.com/PurpleI2P/i2pd/releases/download/2.35.0/SHA512SUMS -sha512 cffc41484a63eba7c7091957cd4d8b8584bb02580d70c69132f1447018be5b3cde7893ae4a0bcb914d53e95c089d4253ece6e20442c9da7810e7800a2b99b117 i2pd-2.35.0.tar.gz +# From https://github.com/PurpleI2P/i2pd/releases/download/2.40.0/SHA512SUMS +sha512 58d10417f3fd2c2fb427fb88b30ccd3e03053c84aa7ac6d3e346c388f2376d1768846bec5ee8d5134dd62d5712b20f890af11083634f94095b1117f6494c25fd i2pd-2.40.0.tar.gz # Locally computed: sha256 9c87aff490b272254d716475e3c4973f5f64af1d18f9f6962c1e61e252e1ad9a LICENSE diff --git a/package/i2pd/i2pd.mk b/package/i2pd/i2pd.mk index ef6a467d71b..8eea09493f7 100644 --- a/package/i2pd/i2pd.mk +++ b/package/i2pd/i2pd.mk @@ -4,7 +4,7 @@ # ################################################################################ -I2PD_VERSION = 2.35.0 +I2PD_VERSION = 2.40.0 I2PD_SITE = $(call github,PurpleI2P,i2pd,$(I2PD_VERSION)) I2PD_LICENSE = BSD-3-Clause I2PD_LICENSE_FILES = LICENSE diff --git a/package/ibm-sw-tpm2/0001-Use-LONG_BIT-to-define-RADIX_BITS.patch b/package/ibm-sw-tpm2/0001-Use-LONG_BIT-to-define-RADIX_BITS.patch index c84e359a55b..4d865348995 100644 --- a/package/ibm-sw-tpm2/0001-Use-LONG_BIT-to-define-RADIX_BITS.patch +++ b/package/ibm-sw-tpm2/0001-Use-LONG_BIT-to-define-RADIX_BITS.patch @@ -1,4 +1,4 @@ -From 5aeb25abf13de43b9e497f6509209911dd1386b8 Mon Sep 17 00:00:00 2001 +From 7ea7fe229ea6195938d9eadbe783cb1aa74380ba Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 26 Apr 2020 15:33:39 +0200 Subject: [PATCH] Use LONG_BIT to define RADIX_BITS @@ -13,28 +13,32 @@ as we're now using >= POSIX.1-2001 definitions of fd_set and friends. Signed-off-by: Thomas Petazzoni Signed-off-by: Vincent Fazio --- - src/LibSupport.h | 17 +++-------------- + src/LibSupport.h | 21 +++------------------ src/TcpServerPosix.c | 1 + src/makefile | 2 ++ - 3 files changed, 6 insertions(+), 14 deletions(-) + 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/src/LibSupport.h b/src/LibSupport.h -index b2e6a51..0b59d18 100644 +index 5055560..48b1e16 100644 --- a/src/LibSupport.h +++ b/src/LibSupport.h -@@ -64,20 +64,9 @@ +@@ -64,24 +64,9 @@ #ifndef _LIB_SUPPORT_H_ #define _LIB_SUPPORT_H_ +-/* kgold added power and s390 */ -#ifndef RADIX_BITS -# if defined(__x86_64__) || defined(__x86_64) \ -- || defined(__amd64__) || defined(__amd64) || defined(_WIN64) || defined(_M_X64) \ -- || defined(_M_ARM64) || defined(__aarch64__) \ -- || defined(__powerpc64__) || defined(__ppc64__) +- || defined(__amd64__) || defined(__amd64) \ +- || defined(_WIN64) || defined(_M_X64) \ +- || defined(_M_ARM64) || defined(__aarch64__) \ +- || defined(__powerpc64__) || defined(__PPC64__) || defined(__ppc64__) \ +- || defined(__s390x__) -# define RADIX_BITS 64 -# elif defined(__i386__) || defined(__i386) || defined(i386) \ - || defined(_WIN32) || defined(_M_IX86) \ -- || defined(_M_ARM) || defined(__arm__) || defined(__thumb__) +- || defined(_M_ARM) || defined(__arm__) || defined(__thumb__) \ +- || defined(__powerpc__) || defined(__PPC__) -# define RADIX_BITS 32 -# else -# error Unable to determine RADIX_BITS from compiler environment @@ -47,13 +51,13 @@ index b2e6a51..0b59d18 100644 // These macros use the selected libraries to the proper include files. #define LIB_QUOTE(_STRING_) #_STRING_ diff --git a/src/TcpServerPosix.c b/src/TcpServerPosix.c -index 20fcb29..bdac7aa 100644 +index cad0402..6293cdd 100644 --- a/src/TcpServerPosix.c +++ b/src/TcpServerPosix.c @@ -66,6 +66,7 @@ #include - /* FIXME need Posix TCP socket code */ + #include +#include #include #include @@ -72,5 +76,5 @@ index f124e78..6ee128e 100644 # add this line for big endian platforms -- -2.26.2 +2.17.1 diff --git a/package/ibm-sw-tpm2/0002-Remove-unused-global-variable-to-fix-compilation-with-GCC-10.patch b/package/ibm-sw-tpm2/0002-Remove-unused-global-variable-to-fix-compilation-with-GCC-10.patch deleted file mode 100644 index ff82a1806ac..00000000000 --- a/package/ibm-sw-tpm2/0002-Remove-unused-global-variable-to-fix-compilation-with-GCC-10.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9bd2926c0f359f143141c32c2b261ca100d804c8 Mon Sep 17 00:00:00 2001 -From: Jonas Witschel -Date: Wed, 13 May 2020 10:56:03 +0200 -Subject: [PATCH] Remove unused global variable to fix compilation with GCC 10 - -GCC defaults to -fno-common, resulting in a compilation error: - -CryptSym.h:84: multiple definition of `tpmCryptKeySchedule' - -Since the global variable is not used anywhere, it can be removed. -[Retrieved from: -https://github.com/kgoldman/ibmswtpm2/pull/3/commits/9bd2926c0f359f143141c32c2b261ca100d804c8] -Signed-off-by: Fabrice Fontaine ---- - src/CryptSym.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/CryptSym.h b/src/CryptSym.h -index 7b58e41..9a33b13 100644 ---- a/src/CryptSym.h -+++ b/src/CryptSym.h -@@ -81,7 +81,7 @@ union tpmCryptKeySchedule_t { - #else - uint32_t alignment; - #endif --} tpmCryptKeySchedule; -+}; - /* Each block cipher within a library is expected to conform to the same calling conventions with - three parameters (keySchedule, in, and out) in the same order. That means that all algorithms - would use the same order of the same parameters. The code is written assuming the (keySchedule, diff --git a/package/ibm-sw-tpm2/Config.in b/package/ibm-sw-tpm2/Config.in index 57781a54bbf..179fa739514 100644 --- a/package/ibm-sw-tpm2/Config.in +++ b/package/ibm-sw-tpm2/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_IBM_SW_TPM2 bool "ibm-sw-tpm2" depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS # ibm-sw-tpm2 - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help @@ -14,5 +13,4 @@ config BR2_PACKAGE_IBM_SW_TPM2 https://sourceforge.net/projects/ibmswtpm2/ comment "ibm-sw-tpm2 needs a toolchain w/ threads, dynamic library" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/ibm-sw-tpm2/ibm-sw-tpm2.hash b/package/ibm-sw-tpm2/ibm-sw-tpm2.hash index f57dcbbb5bb..bddcd57f218 100644 --- a/package/ibm-sw-tpm2/ibm-sw-tpm2.hash +++ b/package/ibm-sw-tpm2/ibm-sw-tpm2.hash @@ -2,5 +2,5 @@ sha1 a2a5335024a2edc1739f08b99e716fa355be627d ibmtpm1563.tar.gz md5 13013612b3a13dc935fefe1a5684179c ibmtpm1563.tar.gz # Locally computed: -sha256 fc3a17f8315c1f47670764f2384943afc0d3ba1e9a0422dacb08d455733bd1e9 ibmtpm1563.tar.gz +sha256 55145928ad2b24f34be6a0eacf9fb492e10e0ea919b8428c721fa970e85d6147 ibmtpm1661.tar.gz sha256 dd2d31b560011ea673e197251e710e52669d911367d83cd3cfd018f8ed58bde9 LICENSE diff --git a/package/ibm-sw-tpm2/ibm-sw-tpm2.mk b/package/ibm-sw-tpm2/ibm-sw-tpm2.mk index 58102667d19..1e4dc949c1b 100644 --- a/package/ibm-sw-tpm2/ibm-sw-tpm2.mk +++ b/package/ibm-sw-tpm2/ibm-sw-tpm2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IBM_SW_TPM2_VERSION = 1563 +IBM_SW_TPM2_VERSION = 1661 IBM_SW_TPM2_SOURCE = ibmtpm$(IBM_SW_TPM2_VERSION).tar.gz IBM_SW_TPM2_SITE = https://sourceforge.net/projects/ibmswtpm2/files IBM_SW_TPM2_LICENSE = BSD-3-Clause diff --git a/package/ibrcommon/0001-ibrcommon-data-File.cpp-support-POSIX-basename-call.patch b/package/ibrcommon/0001-ibrcommon-data-File.cpp-support-POSIX-basename-call.patch index b7c1839f757..5cd302c979b 100644 --- a/package/ibrcommon/0001-ibrcommon-data-File.cpp-support-POSIX-basename-call.patch +++ b/package/ibrcommon/0001-ibrcommon-data-File.cpp-support-POSIX-basename-call.patch @@ -1,7 +1,7 @@ From d667b13a87cf3207599a19eb981a893a1d7a67ee Mon Sep 17 00:00:00 2001 From: Brendan Heading Date: Mon, 14 Sep 2015 23:25:52 +0100 -Subject: [PATCH 1/1] ibrcommon/data/File.cpp: support POSIX basename call +Subject: [PATCH] ibrcommon/data/File.cpp: support POSIX basename call Firstly, and somewhat strangely, musl chooses not to provide a basename(3) prototype within whenever __cplusplus is defined. This can be diff --git a/package/ibrcommon/ibrcommon.mk b/package/ibrcommon/ibrcommon.mk index 4d2d351c881..d9e843ebc27 100644 --- a/package/ibrcommon/ibrcommon.mk +++ b/package/ibrcommon/ibrcommon.mk @@ -10,6 +10,7 @@ IBRCOMMON_INSTALL_STAGING = YES IBRCOMMON_LICENSE = Apache-2.0 IBRCOMMON_LICENSE_FILES = COPYING README IBRCOMMON_DEPENDENCIES = host-pkgconf +IBRCOMMON_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" ifeq ($(BR2_PACKAGE_OPENSSL),y) IBRCOMMON_DEPENDENCIES += openssl diff --git a/package/ibrdtn-tools/ibrdtn-tools.mk b/package/ibrdtn-tools/ibrdtn-tools.mk index 97ec3c9e171..77dbfc10328 100644 --- a/package/ibrdtn-tools/ibrdtn-tools.mk +++ b/package/ibrdtn-tools/ibrdtn-tools.mk @@ -9,6 +9,7 @@ IBRDTN_TOOLS_SITE = https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases IBRDTN_TOOLS_LICENSE = Apache-2.0 IBRDTN_TOOLS_LICENSE_FILES = COPYING IBRDTN_TOOLS_DEPENDENCIES = ibrcommon ibrdtn host-pkgconf +IBRDTN_TOOLS_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" ifeq ($(BR2_STATIC_LIBS),y) IBRDTN_TOOLS_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -pthread" diff --git a/package/ibrdtn/ibrdtn.mk b/package/ibrdtn/ibrdtn.mk index 3f805c4024a..99ff92d4420 100644 --- a/package/ibrdtn/ibrdtn.mk +++ b/package/ibrdtn/ibrdtn.mk @@ -10,6 +10,7 @@ IBRDTN_INSTALL_STAGING = YES IBRDTN_LICENSE = Apache-2.0 IBRDTN_LICENSE_FILES = COPYING IBRDTN_DEPENDENCIES = ibrcommon host-pkgconf +IBRDTN_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" ifeq ($(BR2_PACKAGE_ZLIB),y) IBRDTN_CONF_OPTS += --with-compression diff --git a/package/ibrdtnd/ibrdtnd.mk b/package/ibrdtnd/ibrdtnd.mk index 0632ed36b7d..20ac496fee6 100644 --- a/package/ibrdtnd/ibrdtnd.mk +++ b/package/ibrdtnd/ibrdtnd.mk @@ -18,7 +18,9 @@ IBRDTND_CONF_OPTS = \ --without-vmime # don't build documentation -IBRDTND_CONF_ENV = PDFLATEX='no' +IBRDTND_CONF_ENV = \ + PDFLATEX='no' \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" ifeq ($(BR2_PACKAGE_LIBDAEMON),y) IBRDTND_CONF_OPTS += --enable-libdaemon diff --git a/package/icu/Config.in b/package/icu/Config.in index b0c9eac83d6..8b410bfdb6a 100644 --- a/package/icu/Config.in +++ b/package/icu/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_ICU help International Components for Unicode. - http://site.icu-project.org/ + https://icu.unicode.org/ if BR2_PACKAGE_ICU diff --git a/package/icu/icu.hash b/package/icu/icu.hash index 80cdd7df0c7..56a0a5dd53c 100644 --- a/package/icu/icu.hash +++ b/package/icu/icu.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d icu4c-68_1-src.tgz -sha256 7915b19db903070778581ae05d8bf4ea241b34a05deb51ca4f5cbb15ea1cbba3 LICENSE +sha256 8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5 icu4c-70_1-src.tgz +sha256 861671f8c712aa046f8f5ac89239e6c33821636516c5d0cc8c4e1973085f27a6 LICENSE diff --git a/package/icu/icu.mk b/package/icu/icu.mk index 4d67831c76e..ebbb1968fcc 100644 --- a/package/icu/icu.mk +++ b/package/icu/icu.mk @@ -7,7 +7,7 @@ # Git tags (and therefore versions on release-monitoring.org) use the # XX-Y format, but the tarballs are named XX_Y and the containing # directories XX.Y. -ICU_VERSION = 68-1 +ICU_VERSION = 70-1 ICU_SOURCE = icu4c-$(subst -,_,$(ICU_VERSION))-src.tgz ICU_SITE = \ https://github.com/unicode-org/icu/releases/download/release-$(ICU_VERSION) @@ -17,6 +17,9 @@ ICU_CPE_ID_VENDOR = icu-project ICU_CPE_ID_PRODUCT = international_components_for_unicode ICU_CPE_ID_VERSION = $(subst -,.,$(ICU_VERSION)) +# 0005-ICU-21587-Fix-memory-bug-w-baseName.patch +ICU_IGNORE_CVES += CVE-2021-30535 + ICU_DEPENDENCIES = host-icu ICU_INSTALL_STAGING = YES ICU_CONFIG_SCRIPTS = icu-config @@ -42,11 +45,21 @@ HOST_ICU_CONF_OPTS = \ --disable-tests \ --disable-extras \ --disable-icuio \ - --disable-layout \ - --disable-renaming + --disable-layout ICU_SUBDIR = source HOST_ICU_SUBDIR = source +# ICU build scripting adds paths to LD_LIBRARY_PATH using +# LD_LIBRARY_PATH="custom-path:${LD_LIBRARY_PATH}" +# which, if LD_LIBRARY_PATH was empty, causes the last search directory +# to be the working directory, causing the build to try to load target +# libraries, possibly crashing the build due to ABI mismatches. +# Workaround by ensuring LD_LIBRARY_PATH is never empty. +# https://unicode-org.atlassian.net/browse/ICU-21417 +ifeq ($(LD_LIBRARY_PATH),) +ICU_MAKE_ENV += LD_LIBRARY_PATH=/dev/null +endif + ICU_CUSTOM_DATA_PATH = $(call qstrip,$(BR2_PACKAGE_ICU_CUSTOM_DATA_PATH)) ifneq ($(ICU_CUSTOM_DATA_PATH),) diff --git a/package/ifplugd/ifplugd.mk b/package/ifplugd/ifplugd.mk index 06b0607414c..6de7f176414 100644 --- a/package/ifplugd/ifplugd.mk +++ b/package/ifplugd/ifplugd.mk @@ -8,6 +8,7 @@ IFPLUGD_VERSION = 0.28 IFPLUGD_SITE = http://0pointer.de/lennart/projects/ifplugd IFPLUGD_LICENSE = GPL-2.0+ IFPLUGD_LICENSE_FILES = LICENSE +IFPLUGD_SELINUX_MODULES = ifplugd IFPLUGD_AUTORECONF = YES # install-strip unconditionally overwrites $(TARGET_DIR)/etc/ifplugd/ifplugd.* diff --git a/package/iftop/0002-Rename-pcap_filter-to-iftop_pcap_filter.patch b/package/iftop/0002-Rename-pcap_filter-to-iftop_pcap_filter.patch new file mode 100644 index 00000000000..92eedccab71 --- /dev/null +++ b/package/iftop/0002-Rename-pcap_filter-to-iftop_pcap_filter.patch @@ -0,0 +1,51 @@ +From 64a185ce2017e4523f4bc39a36c7aebd6d68549a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 2 Jun 2021 08:21:04 +0200 +Subject: [PATCH] Rename pcap_filter to iftop_pcap_filter + +Rename pcap_filter to iftop_pcap_filter to fix the following static +build failure: + +/home/buildroot/autobuild/run/instance-3/output-1/host/bin/riscv64-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -static -o iftop addr_hash.o edline.o hash.o iftop.o ns_hash.o options.o resolver.o screenfilter.o serv_hash.o sorted_list.o threadprof.o ui_common.o ui.o tui.o util.o addrs_ioctl.o addrs_dlpi.o dlcommon.o stringmap.o cfgfile.o vector.o -lpcap -lpcap -L/home/buildroot/autobuild/run/instance-3/output-1/host/riscv64-buildroot-linux-musl/sysroot/usr/bin/../../../../bin/../riscv64-buildroot-linux-musl/sysroot/usr/lib -lnl-genl-3 -lnl-3 -lpthread -lcurses +/home/buildroot/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-buildroot-linux-musl/10.2.0/../../../../riscv64-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/run/instance-3/output-1/host/riscv64-buildroot-linux-musl/sysroot/usr/bin/../../../../bin/../riscv64-buildroot-linux-musl/sysroot/usr/lib/libpcap.a(bpf_filter.o): in function `pcap_filter': +bpf_filter.c:(.text+0x4a8): multiple definition of `pcap_filter'; iftop.o:iftop.c:(.bss+0x1a8): first defined here + +Fixes: + - http://autobuild.buildroot.org/results/eb53ff6b031c654daec57050dec376b5c9134a81 + +Signed-off-by: Fabrice Fontaine +--- + iftop.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/iftop.c b/iftop.c +index aaec6aa..f89eee3 100644 +--- a/iftop.c ++++ b/iftop.c +@@ -74,7 +74,7 @@ int history_len = 1; + pthread_mutex_t tick_mutex; + + pcap_t* pd; /* pcap descriptor */ +-struct bpf_program pcap_filter; ++struct bpf_program iftop_pcap_filter; + pcap_handler packet_handler; + + sig_atomic_t foad; +@@ -679,12 +679,12 @@ char *set_filter_code(const char *filter) { + sprintf(x, "(%s) and (ip or ip6)", filter); + } else + x = xstrdup("ip or ip6"); +- if (pcap_compile(pd, &pcap_filter, x, 1, 0) == -1) { ++ if (pcap_compile(pd, &iftop_pcap_filter, x, 1, 0) == -1) { + xfree(x); + return pcap_geterr(pd); + } + xfree(x); +- if (pcap_setfilter(pd, &pcap_filter) == -1) ++ if (pcap_setfilter(pd, &iftop_pcap_filter) == -1) + return pcap_geterr(pd); + else + return NULL; +-- +2.30.2 + diff --git a/package/igmpproxy/igmpproxy.hash b/package/igmpproxy/igmpproxy.hash index 2566987a7f2..238de67e88b 100644 --- a/package/igmpproxy/igmpproxy.hash +++ b/package/igmpproxy/igmpproxy.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 6faa1f42ba323f60a9eb4958550e25b2e7e9c645da32c52ba12db0c9bdfce1ba igmpproxy-0.2.1.tar.gz -sha256 be3d05af93dbbc4650f8d641d8e1bec220af4a729e07ba71e949c25b93a1b4f6 COPYING -sha256 c4f65d5d396ad518a37d30b83fe33897661858dc174ff64a15d0461630ce64e4 GPL.txt -sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 Stanford.txt +sha256 d1fc244cb2fbbf99f720bda3e841fe59ece9b6919073790b4b892739b1b844eb igmpproxy-0.3.tar.gz +sha256 be3d05af93dbbc4650f8d641d8e1bec220af4a729e07ba71e949c25b93a1b4f6 COPYING +sha256 c4f65d5d396ad518a37d30b83fe33897661858dc174ff64a15d0461630ce64e4 GPL.txt +sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 Stanford.txt diff --git a/package/igmpproxy/igmpproxy.mk b/package/igmpproxy/igmpproxy.mk index fe4614fd136..6a6b56afa0e 100644 --- a/package/igmpproxy/igmpproxy.mk +++ b/package/igmpproxy/igmpproxy.mk @@ -4,8 +4,9 @@ # ################################################################################ -IGMPPROXY_VERSION = 0.2.1 -IGMPPROXY_SITE = $(call github,pali,igmpproxy,$(IGMPPROXY_VERSION)) +IGMPPROXY_VERSION = 0.3 +IGMPPROXY_SITE = \ + https://github.com/pali/igmpproxy/releases/download/$(IGMPPROXY_VERSION) IGMPPROXY_AUTORECONF = YES IGMPPROXY_LICENSE = GPL-2.0+, BSD-3-Clause (mrouted) IGMPPROXY_LICENSE_FILES = COPYING GPL.txt Stanford.txt diff --git a/package/ima-evm-utils/Config.in b/package/ima-evm-utils/Config.in index 59df58e5b3e..6c29c9de28e 100644 --- a/package/ima-evm-utils/Config.in +++ b/package/ima-evm-utils/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_IMA_EVM_UTILS bool "ima-evm-utils" depends on BR2_USE_MMU # keyutils - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS # tpm2-tss depends on !BR2_STATIC_LIBS # keyutils, tpm2-tss select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_KEYUTILS @@ -14,5 +13,4 @@ config BR2_PACKAGE_IMA_EVM_UTILS comment "ima-evm-utils needs dynamic library support" depends on BR2_USE_MMU - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS depends on BR2_STATIC_LIBS diff --git a/package/ima-evm-utils/ima-evm-utils.hash b/package/ima-evm-utils/ima-evm-utils.hash index 2cdba227ad0..2267a59b790 100644 --- a/package/ima-evm-utils/ima-evm-utils.hash +++ b/package/ima-evm-utils/ima-evm-utils.hash @@ -1,4 +1,4 @@ # sha1 from sourceforge, sha256 locally computed -sha1 034d163533ae5f9c06001b375ec7e5a1b09a3853 ima-evm-utils-1.3.2.tar.gz -sha256 c2b206e7f9fbe62a938b7ae59e31906fefae4d5351fe01db739bd8346b75d4a7 ima-evm-utils-1.3.2.tar.gz +sha1 f23d8a406759a469b0223b0bfb302ada4407a1d1 ima-evm-utils-1.4.tar.gz +sha256 fcf85b31d6292051b3679e5f17ffa7f89b6898957aad0f59aa4e9878884b27d1 ima-evm-utils-1.4.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ima-evm-utils/ima-evm-utils.mk b/package/ima-evm-utils/ima-evm-utils.mk index cc53e02dd61..7ee34d5e1a4 100644 --- a/package/ima-evm-utils/ima-evm-utils.mk +++ b/package/ima-evm-utils/ima-evm-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMA_EVM_UTILS_VERSION = 1.3.2 +IMA_EVM_UTILS_VERSION = 1.4 IMA_EVM_UTILS_SITE = http://downloads.sourceforge.net/project/linux-ima/ima-evm-utils IMA_EVM_UTILS_LICENSE = GPL-2.0 IMA_EVM_UTILS_LICENSE_FILES = COPYING diff --git a/package/imagemagick/Config.in.host b/package/imagemagick/Config.in.host index e12d82939a9..5055101e236 100644 --- a/package/imagemagick/Config.in.host +++ b/package/imagemagick/Config.in.host @@ -1,6 +1,5 @@ config BR2_PACKAGE_HOST_IMAGEMAGICK bool "host imagemagick" - depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-librsvg help ImageMagick(R) is a software suite to create, edit, and compose bitmap images. It can read, convert and write images @@ -17,6 +16,8 @@ if BR2_PACKAGE_HOST_IMAGEMAGICK config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG bool "SVG support" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-librsvg + depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-pango -> host-harfbuzz help Say 'y' here is you need ImageMagick tools (like convert) to support SVG. @@ -24,4 +25,8 @@ config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG This is not enabled by default, as it brings quite a few extra dependencies, and thus extra build time. +comment "SVG support needs host gcc >= 4.9" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + depends on !BR2_HOST_GCC_AT_LEAST_4_9 + endif diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index c45caf6c52a..278becd2abd 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 84442158aea070095efa832cfe868fd99d6befdf609444f0c9e9f1b4f25480cd imagemagick-7.0.10-62.tar.gz +sha256 385ca5bd8ce9b37e685779c46868171af949265c9db40067c1c4d7442dbc723e imagemagick-7.1.0-19.tar.gz sha256 040badb77b659e751ea16113490a937e1e01f3f5d32181e966b8982413533fb2 LICENSE diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 97517228cf9..64a530c6d27 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.10-62 +IMAGEMAGICK_VERSION = 7.1.0-19 IMAGEMAGICK_SITE = $(call github,ImageMagick,ImageMagick,$(IMAGEMAGICK_VERSION)) IMAGEMAGICK_LICENSE = Apache-2.0 IMAGEMAGICK_LICENSE_FILES = LICENSE diff --git a/package/imlib2/imlib2.hash b/package/imlib2/imlib2.hash index 68f6c91db7c..690d836c2e1 100644 --- a/package/imlib2/imlib2.hash +++ b/package/imlib2/imlib2.hash @@ -1,8 +1,8 @@ -# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.6.1/ -md5 7b3fbcb974b48822b32b326c6a47764b imlib2-1.6.1.tar.bz2 -sha1 3b5f850e83cbb7481e33061348fb9c7a555c8c60 imlib2-1.6.1.tar.bz2 +# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.7.3/ +md5 1e79055a0b8fe27d208b6f8bb1bde60c imlib2-1.7.3.tar.bz2 +sha1 3d55965f946d0b2754a84c8e57c78ddc227252c6 imlib2-1.7.3.tar.bz2 # Locally computed -sha256 4d393a77e13da883c8ee2da3b029da3570210fe37d000c9ac33d9fce751b166d imlib2-1.6.1.tar.bz2 +sha256 158d0b8c20bc11221af9e77a64a116fca7051b03cdea2c4f31d31f469382f997 imlib2-1.7.3.tar.bz2 sha256 fb70339dd33a77b6213c7ae067fccf93d04af44ff3f937c61f8863f7970e73f6 COPYING sha256 8c9a2e92ed4937e2d30c2ea95439c36ed3002fc47e34efee43455a460fee8ef5 COPYING-PLAIN diff --git a/package/imlib2/imlib2.mk b/package/imlib2/imlib2.mk index a88558575d3..89b4769f92c 100644 --- a/package/imlib2/imlib2.mk +++ b/package/imlib2/imlib2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMLIB2_VERSION = 1.6.1 +IMLIB2_VERSION = 1.7.3 IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2 IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION) IMLIB2_LICENSE = Imlib2 diff --git a/package/imx-mkimage/imx-mkimage.mk b/package/imx-mkimage/imx-mkimage.mk index 626e3d873f0..17ba3596f75 100644 --- a/package/imx-mkimage/imx-mkimage.mk +++ b/package/imx-mkimage/imx-mkimage.mk @@ -11,7 +11,7 @@ IMX_MKIMAGE_LICENSE = GPL-2.0+ IMX_MKIMAGE_LICENSE_FILES = COPYING HOST_IMX_MKIMAGE_DEPENDENCIES = host-zlib -ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN),y) +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP),y) # i.MX8M needs a different binary define HOST_IMX_MKIMAGE_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ diff --git a/package/inadyn/S70inadyn b/package/inadyn/S70inadyn old mode 100644 new mode 100755 index ca7b4146781..8a71693cba9 --- a/package/inadyn/S70inadyn +++ b/package/inadyn/S70inadyn @@ -1,44 +1,70 @@ #!/bin/sh +# Customizations are sourced from /etc/default/inadyn. For example, +# override INADYN_ARGS to adjust log level, add a startup delay, etc. # -# Start & stop the inadyn client -# +# NOTE: to start, add a line ENABLED="yes" to /etc/default/inadyn + +DAEMON="inadyn" +PIDFILE="/var/run/$DAEMON.pid" + +INADYN_ARGS="" -CONFIG=/etc/inadyn.conf +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" -# check if CONFIG exists, print message & exit if it doesn't -[ ! -f $CONFIG ] && ( echo "The config file "$CONFIG" is missing...exiting now." && exit 2 ) +start() { + printf 'Starting %s: ' "$DAEMON" + if [ "$ENABLED" != "yes" ]; then + echo "SKIPPED" + exit 0 + fi + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $INADYN_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} -# Allow a few customizations from a config file. Especially inadyn -# must be explicitly enabled by adding ENABLED="yes" in this file. -test -r /etc/default/inadyn && . /etc/default/inadyn +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} case "$1" in - start) - printf "Starting inadyn: " - if test "${ENABLED}" != "yes" ; then - echo "SKIPPED" - exit 0 - fi - start-stop-daemon -b -q -S -p /var/run/inadyn.pid -x /usr/sbin/inadyn - [ $? = 0 ] && echo "OK" || echo "FAIL" - ;; - stop) - printf "Stopping inadyn: " - if test "${ENABLED}" != "yes" ; then - echo "SKIPPED" - exit 0 - fi - start-stop-daemon -q -K -p /var/run/inadyn.pid -x /usr/sbin/inadyn - [ $? = 0 ] && echo "OK" || echo "FAIL" - rm -f /var/run/inadyn.pid - ;; - restart) - "$0" stop - "$0" start - ;; - *) - echo "Usage: $0 {start|stop|restart}" + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac - -exit $? diff --git a/package/inadyn/inadyn.conf b/package/inadyn/inadyn.conf index 1b290276068..3328ee22182 100644 --- a/package/inadyn/inadyn.conf +++ b/package/inadyn/inadyn.conf @@ -1,11 +1,26 @@ -# Basic configuration file for inadyn +# Example /etc/inadyn.conf # -# /etc/inadyn.conf -iface = eth0 +# Remember to change this file to match your provider and credentials +# Username and password can be included from another file. For more +# info, see https://man.troglobit.com/man5/inadyn.conf.5.html + +# Use IP address of interface instead of external checkip server. +# Useful when you want to register internal IP addresses +#iface = eth0 + +# IP address change check interval period = 300 -provider default@dyndns.org { +# Remove of change to match your Dyn account +provider dyndns.org { username = test password = test - hostname = test + hostname = { "my.example.com", "other.example.org" } +} + +# Remove or change to match your FreeDNS account +provider freedns { + username = lower-case-username + password = case-sensitive-pwd + hostname = some.example.com } diff --git a/package/inadyn/inadyn.hash b/package/inadyn/inadyn.hash index 638f92d1198..98af30e9fc3 100644 --- a/package/inadyn/inadyn.hash +++ b/package/inadyn/inadyn.hash @@ -1,5 +1,5 @@ -# From https://github.com/troglobit/inadyn/releases/download/v2.8.1/inadyn-2.8.1.tar.xz.sha256 -sha256 1185a9fb165bfc5f5b5f66f0dd8a695c9bd78d4b20cd162273eeea77f2d2e685 inadyn-2.8.1.tar.xz +# Upstream .sha256 from GitHub +sha256 7370eb7ad5d33a9cf2e7e4a6a86c09587fbf9592cd357c6f472c33f575bac26d inadyn-2.9.1.tar.gz # Locally computed sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/inadyn/inadyn.mk b/package/inadyn/inadyn.mk index c115e8926de..041d1eff573 100644 --- a/package/inadyn/inadyn.mk +++ b/package/inadyn/inadyn.mk @@ -4,9 +4,8 @@ # ################################################################################ -INADYN_VERSION = 2.8.1 +INADYN_VERSION = 2.9.1 INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VERSION) -INADYN_SOURCE = inadyn-$(INADYN_VERSION).tar.xz INADYN_LICENSE = GPL-2.0+ INADYN_LICENSE_FILES = COPYING INADYN_DEPENDENCIES = host-pkgconf libconfuse @@ -32,7 +31,7 @@ define INADYN_INSTALL_INIT_SYSV endef define INADYN_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 package/inadyn/inadyn.service \ + $(INSTALL) -D -m 644 $(@D)/inadyn.service \ $(TARGET_DIR)/usr/lib/systemd/system/inadyn.service endef diff --git a/package/inadyn/inadyn.service b/package/inadyn/inadyn.service deleted file mode 100644 index abc0a1e4011..00000000000 --- a/package/inadyn/inadyn.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=DDNS client -After=syslog.target network.target - -[Service] -ExecStart=/usr/bin/inadyn -Restart=always - -[Install] -WantedBy=multi-user.target diff --git a/package/inih/0001-meson-optionally-depend-on-c.patch b/package/inih/0001-meson-optionally-depend-on-c.patch deleted file mode 100644 index a039dde1db9..00000000000 --- a/package/inih/0001-meson-optionally-depend-on-c.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e192e4762749cfe3bc350e0353aa82b1a849256d Mon Sep 17 00:00:00 2001 -From: bkuhls -Date: Sun, 10 Jan 2021 21:56:56 +0100 -Subject: [PATCH] meson: optionally depend on c++ (#124) - -This fix is needed to allow building with toolchains which lack c++. - -Downloaded from upstream commit: -https://github.com/benhoyt/inih/commit/e192e4762749cfe3bc350e0353aa82b1a849256d - -Signed-off-by: Bernd Kuhls ---- - meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 4602326..5393af4 100644 ---- a/meson.build -+++ b/meson.build -@@ -1,5 +1,5 @@ - project('inih', -- ['c','cpp'], -+ ['c'], - default_options : ['default_library=static'], - license : 'BSD-3-Clause', - ) -@@ -83,6 +83,7 @@ inih_dep = declare_dependency( - - #### INIReader #### - if get_option('with_INIReader') -+ add_languages('cpp') - inc_INIReader = include_directories('cpp') - - lib_INIReader = library('INIReader', diff --git a/package/inih/inih.hash b/package/inih/inih.hash index 2560a91fed0..21234e156d2 100644 --- a/package/inih/inih.hash +++ b/package/inih/inih.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 439cff9ce9a8afc52d08772ac3e93b3cecd79c7707f871fb4534fb3a48201880 inih-52.tar.gz +sha256 01b0366fdfdf6363efc070c2f856f1afa33e7a6546548bada5456ad94a516241 inih-53.tar.gz sha256 9ae3b39e83e9158e44b67733baa3bb2d84e80efdcfb14a5820210a42c7abdf7f LICENSE.txt diff --git a/package/inih/inih.mk b/package/inih/inih.mk index ccc549b01e8..dec94651215 100644 --- a/package/inih/inih.mk +++ b/package/inih/inih.mk @@ -1,10 +1,10 @@ ################################################################################ # -# INIH +# inih # ################################################################################ -INIH_VERSION = 52 +INIH_VERSION = 53 INIH_SITE = $(call github,benhoyt,inih,r$(INIH_VERSION)) INIH_INSTALL_STAGING = YES INIH_LICENSE = BSD-3-Clause diff --git a/package/initscripts/initscripts.mk b/package/initscripts/initscripts.mk index cfee155570c..2e997dcd6fb 100644 --- a/package/initscripts/initscripts.mk +++ b/package/initscripts/initscripts.mk @@ -5,7 +5,7 @@ ################################################################################ define INITSCRIPTS_INSTALL_TARGET_CMDS - mkdir -p $(TARGET_DIR)/etc/init.d + mkdir -p $(TARGET_DIR)/etc/init.d $(INSTALL) -D -m 0755 package/initscripts/init.d/* $(TARGET_DIR)/etc/init.d/ endef diff --git a/package/input-event-daemon/input-event-daemon.mk b/package/input-event-daemon/input-event-daemon.mk index dbe2d4bfb2d..37fe2241d0c 100644 --- a/package/input-event-daemon/input-event-daemon.mk +++ b/package/input-event-daemon/input-event-daemon.mk @@ -10,7 +10,7 @@ INPUT_EVENT_DAEMON_LICENSE = input-event-daemon license INPUT_EVENT_DAEMON_LICENSE_FILES = README define INPUT_EVENT_DAEMON_BUILD_CMDS - touch $(@D)/input-event-table.h + touch $(@D)/input-event-table.h $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) endef diff --git a/package/intel-gmmlib/0001-Drop-hardening-related-flags.patch b/package/intel-gmmlib/0001-Drop-hardening-related-flags.patch new file mode 100644 index 00000000000..581afd90663 --- /dev/null +++ b/package/intel-gmmlib/0001-Drop-hardening-related-flags.patch @@ -0,0 +1,28 @@ +From 1528980ee15e9589a7e27ec6d12a33cd8aab57b4 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Tue, 8 Jun 2021 07:51:40 +0200 +Subject: [PATCH] Drop hardening-related flags + +These will be set by Buildroot depending on toolchain capabilities and +global Buildroot options. + +Signed-off-by: Bernd Kuhls +--- + Source/GmmLib/Linux.cmake | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Source/GmmLib/Linux.cmake b/Source/GmmLib/Linux.cmake +index 1a09bc4..b28fc1b 100644 +--- a/Source/GmmLib/Linux.cmake ++++ b/Source/GmmLib/Linux.cmake +@@ -62,7 +62,6 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON + -DUSE_SSE3 + -DUSE_SSSE3 + # Other common flags +- -fstack-protector + -fdata-sections + -ffunction-sections + -fmessage-length=0 +-- +2.29.2 + diff --git a/package/intel-gmmlib/Config.in b/package/intel-gmmlib/Config.in index 9d5fbd9cae4..b6f93f74163 100644 --- a/package/intel-gmmlib/Config.in +++ b/package/intel-gmmlib/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_INTEL_GMMLIB bool "intel-gmmlib" depends on BR2_x86_64 depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP help The Intel(R) Graphics Memory Management Library provides device specific and buffer management for the Intel(R) @@ -10,5 +11,5 @@ config BR2_PACKAGE_INTEL_GMMLIB https://github.com/intel/gmmlib -comment "intel-gmmlib needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "intel-gmmlib needs a toolchain w/ dynamic library, C++" + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/intel-gmmlib/intel-gmmlib.hash b/package/intel-gmmlib/intel-gmmlib.hash index 1e8baba6c78..71a153e0a3e 100644 --- a/package/intel-gmmlib/intel-gmmlib.hash +++ b/package/intel-gmmlib/intel-gmmlib.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bb874b41c499abb8f6253b1834e93a02ed9744de71f2503ee9cd4100af7c1860 intel-gmmlib-19.4.1.tar.gz -sha256 b61d639c5d84ec710ffcf5600ac92f8a4ace66670c1f9bd921f3bde671d36033 LICENSE.md +sha256 7cc044dc0979269abe825054ba6cc1b67169dc7a7f4192898e2dd04142a633fa intel-gmmlib-22.0.2.tar.gz +sha256 8b7446825df3f8b0268307e272aa6aaaf78351c83161d860d02c913c22666c48 LICENSE.md diff --git a/package/intel-gmmlib/intel-gmmlib.mk b/package/intel-gmmlib/intel-gmmlib.mk index 517fc09131a..235f71341c1 100644 --- a/package/intel-gmmlib/intel-gmmlib.mk +++ b/package/intel-gmmlib/intel-gmmlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_GMMLIB_VERSION = 19.4.1 +INTEL_GMMLIB_VERSION = 22.0.2 INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive INTEL_GMMLIB_LICENSE = MIT INTEL_GMMLIB_LICENSE_FILES = LICENSE.md diff --git a/package/intel-mediadriver/0001-Add-MEDIA-BUILD-HARDENING-option.patch b/package/intel-mediadriver/0001-Add-MEDIA-BUILD-HARDENING-option.patch new file mode 100644 index 00000000000..968445759aa --- /dev/null +++ b/package/intel-mediadriver/0001-Add-MEDIA-BUILD-HARDENING-option.patch @@ -0,0 +1,106 @@ +From 103c00c8d74a1cd87686850212bd93c0e4d59fc9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 11 Aug 2021 21:34:59 +0200 +Subject: [PATCH] Add MEDIA_BUILD_HARDENING option + +Add MEDIA_BUILD_HARDENING option to allow the user to disable hardening +options such as stack-protector-all or FORTIFY SOURCE 2 which are not +always available (e.g. fortify source 2 is only available on glibc >= 6 +and not musl/uclibc-ng) + +Patch sent upstream: https://github.com/intel/media-driver/pull/1242 + +Signed-off-by: Fabrice Fontaine +Signed-off-by: Bernd Kuhls +[Bernd: rebased for version 21.4.1] +--- + cmrtlib/linux/CMakeLists.txt | 14 ++++++++++---- + .../cmake/linux/media_compile_flags_linux.cmake | 12 ++++++++++-- + media_driver/media_top_cmake.cmake | 8 +++++++- + 3 files changed, 27 insertions(+), 7 deletions(-) + +diff --git a/cmrtlib/linux/CMakeLists.txt b/cmrtlib/linux/CMakeLists.txt +index 65f71ceef..b066138d9 100644 +--- a/cmrtlib/linux/CMakeLists.txt ++++ b/cmrtlib/linux/CMakeLists.txt +@@ -32,12 +32,18 @@ else() + endif() + + # Set up compile options that will be used for the Linux build +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive -fstack-protector-all") +-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2") ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive") ++set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0") +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive -fstack-protector-all") +-set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2") ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive") ++set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0") ++if(MEDIA_BUILD_HARDENING) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} -fstack-protector-all") ++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS} -fstack-protector-all") ++ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2") ++endif() + if(MEDIA_BUILD_FATAL_WARNINGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} -Werror") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS} -Werror") +diff --git a/media_driver/cmake/linux/media_compile_flags_linux.cmake b/media_driver/cmake/linux/media_compile_flags_linux.cmake +index 7a2bd64b6..98896b131 100755 +--- a/media_driver/cmake/linux/media_compile_flags_linux.cmake ++++ b/media_driver/cmake/linux/media_compile_flags_linux.cmake +@@ -47,7 +47,6 @@ set(MEDIA_COMPILER_FLAGS_COMMON + # Other common flags + -fmessage-length=0 + -fvisibility=hidden +- -fstack-protector + -fdata-sections + -ffunction-sections + -Wl,--gc-sections +@@ -64,6 +63,11 @@ set(MEDIA_COMPILER_FLAGS_COMMON + -g + ) + ++if(MEDIA_BUILD_HARDENING) ++ set(MEDIA_COMPILER_FLAGS_COMMON ++ ${MEDIA_COMPILER_FLAGS_COMMON} ++ -fstack-protector) ++endif() + + if(${UFO_MARCH} STREQUAL "slm") + set(MEDIA_COMPILER_FLAGS_COMMON +@@ -119,9 +123,13 @@ if(${UFO_VARIANT} STREQUAL "default") + set(MEDIA_COMPILER_FLAGS_RELEASE + ${MEDIA_COMPILER_FLAGS_RELEASE} + -O2 +- -D_FORTIFY_SOURCE=2 + -fno-omit-frame-pointer + ) ++ if(MEDIA_BUILD_HARDENING) ++ set(MEDIA_COMPILER_FLAGS_RELEASE ++ ${MEDIA_COMPILER_FLAGS_RELEASE} ++ -D_FORTIFY_SOURCE=2) ++ endif() + endif() + + if(NOT ${PLATFORM} STREQUAL "android") +diff --git a/media_driver/media_top_cmake.cmake b/media_driver/media_top_cmake.cmake +index f089ea45f..b0b428914 100755 +--- a/media_driver/media_top_cmake.cmake ++++ b/media_driver/media_top_cmake.cmake +@@ -113,7 +113,13 @@ if(MEDIA_BUILD_FATAL_WARNINGS) + set_target_properties(${LIB_NAME_OBJ} PROPERTIES COMPILE_FLAGS "-Werror") + endif() + +-set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -z relro -z now -fstack-protector -fPIC") ++set(MEDIA_LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -z relro -z now -fPIC") ++option(MEDIA_BUILD_HARDENING "Enable hardening (stack-protector, fortify source)" ON) ++if(MEDIA_BUILD_HARDENING) ++ set(MEDIA_LINK_FLAGS "${MEDIA_LINK_FLAGS} -fstack-protector") ++endif() ++set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS ${MEDIA_LINK_FLAGS}) ++ + set_target_properties(${LIB_NAME} PROPERTIES PREFIX "") + set_target_properties(${LIB_NAME_STATIC} PROPERTIES PREFIX "") + diff --git a/package/intel-mediadriver/0001-Drop-hardening-related-flags.patch b/package/intel-mediadriver/0001-Drop-hardening-related-flags.patch deleted file mode 100644 index bc292033178..00000000000 --- a/package/intel-mediadriver/0001-Drop-hardening-related-flags.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 8916c8480eb3483c2ffb41ad8961cd0c2b0fb1c4 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 15 Apr 2019 22:48:21 +0200 -Subject: [PATCH] Drop hardening-related flags - -These will be set by Buildroot depending on toolchain capabilities and -global Buildroot options. - -Signed-off-by: Thomas Petazzoni ---- - cmrtlib/linux/CMakeLists.txt | 8 ++++---- - media_driver/cmake/linux/media_compile_flags_linux.cmake | 1 - - media_driver/media_top_cmake.cmake | 2 +- - 3 files changed, 5 insertions(+), 6 deletions(-) - -diff --git a/cmrtlib/linux/CMakeLists.txt b/cmrtlib/linux/CMakeLists.txt -index 44ce4f08..b462fbea 100644 ---- a/cmrtlib/linux/CMakeLists.txt -+++ b/cmrtlib/linux/CMakeLists.txt -@@ -26,11 +26,11 @@ set(LIBRARY_OUTPUT_PATH ${MDF_OPTION__OUTPUT_DIR}) - - # Set up compile options that will be used for the Linux build - if(CMAKE_COMPILER_IS_GNUCC) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -fstack-protector-all -Werror") -- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -Werror") -+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing ") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -fstack-protector-all -Werror") -- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -Werror") -+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0") - - set(GCC_SECURE_LINK_FLAGS "-z relro -z now") -diff --git a/media_driver/cmake/linux/media_compile_flags_linux.cmake b/media_driver/cmake/linux/media_compile_flags_linux.cmake -index 9e85fdb2..c45ce11b 100755 ---- a/media_driver/cmake/linux/media_compile_flags_linux.cmake -+++ b/media_driver/cmake/linux/media_compile_flags_linux.cmake -@@ -64,7 +64,6 @@ set(MEDIA_COMPILER_FLAGS_COMMON - # Other common flags - -fmessage-length=0 - -fvisibility=hidden -- -fstack-protector - -fdata-sections - -ffunction-sections - -Wl,--gc-sections -diff --git a/media_driver/media_top_cmake.cmake b/media_driver/media_top_cmake.cmake -index 3491db1e..b30fa04a 100755 ---- a/media_driver/media_top_cmake.cmake -+++ b/media_driver/media_top_cmake.cmake -@@ -88,7 +88,7 @@ if(MEDIA_BUILD_FATAL_WARNINGS) - set_target_properties(${LIB_NAME_OBJ} PROPERTIES COMPILE_FLAGS "-Werror") - endif() - --set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -z relro -z now -fstack-protector -fPIC") -+set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -fPIC") - set_target_properties(${LIB_NAME} PROPERTIES PREFIX "") - set_target_properties(${LIB_NAME_STATIC} PROPERTIES PREFIX "") - --- -2.20.1 - diff --git a/package/intel-mediadriver/0002-build-fix-Werror=format-overflow-under-gcc-10.patch b/package/intel-mediadriver/0002-build-fix-Werror=format-overflow-under-gcc-10.patch deleted file mode 100644 index 46775e9347b..00000000000 --- a/package/intel-mediadriver/0002-build-fix-Werror=format-overflow-under-gcc-10.patch +++ /dev/null @@ -1,162 +0,0 @@ -From da966a2ab1f5161cc0a21a4cd7e07edf732ebee9 Mon Sep 17 00:00:00 2001 -From: Dmitry Rogozhkin -Date: Thu, 19 Mar 2020 20:59:12 -0700 -Subject: [PATCH] build: fix Werror=format-overflow under gcc-10 - -Fixes: #870 - -With upcoming gcc-10 we start to see Werror=format-overflow reporting -that we attempt to printf %s null strings. - -Change-Id: I7a62bc98bf7dd6bcd61d475d7650a06aa1a70932 -Signed-off-by: Dmitry Rogozhkin -[Retrieved from: -https://github.com/intel/media-driver/commit/da966a2ab1f5161cc0a21a4cd7e07edf732ebee9] -Signed-off-by: Fabrice Fontaine ---- - media_driver/linux/common/os/i915/xf86drm.c | 57 ++++++++++--------- - .../linux/ult/libdrm_mock/xf86drm_mock.c | 57 ++++++++++--------- - 2 files changed, 58 insertions(+), 56 deletions(-) - -diff --git a/media_driver/linux/common/os/i915/xf86drm.c b/media_driver/linux/common/os/i915/xf86drm.c -index 7594bde99..d0fc1b7ac 100644 ---- a/media_driver/linux/common/os/i915/xf86drm.c -+++ b/media_driver/linux/common/os/i915/xf86drm.c -@@ -581,37 +581,38 @@ static int drmOpenByBusid(const char *busid, int type) - - drmMsg("drmOpenByBusid: Searching for BusID %s\n", busid); - for (i = base; i < base + DRM_MAX_MINOR; i++) { -- fd = drmOpenMinor(i, 1, type); -- drmMsg("drmOpenByBusid: drmOpenMinor returns %d\n", fd); -- if (fd >= 0) { -- /* We need to try for 1.4 first for proper PCI domain support -- * and if that fails, we know the kernel is busted -- */ -- sv.drm_di_major = 1; -- sv.drm_di_minor = 4; -- sv.drm_dd_major = -1; /* Don't care */ -- sv.drm_dd_minor = -1; /* Don't care */ -- if (drmSetInterfaceVersion(fd, &sv)) { -+ fd = drmOpenMinor(i, 1, type); -+ drmMsg("drmOpenByBusid: drmOpenMinor returns %d\n", fd); -+ if (fd >= 0) { -+ /* We need to try for 1.4 first for proper PCI domain support -+ * and if that fails, we know the kernel is busted -+ */ -+ sv.drm_di_major = 1; -+ sv.drm_di_minor = 4; -+ sv.drm_dd_major = -1; /* Don't care */ -+ sv.drm_dd_minor = -1; /* Don't care */ -+ if (drmSetInterfaceVersion(fd, &sv)) { - #ifndef __alpha__ -- pci_domain_ok = 0; -+ pci_domain_ok = 0; - #endif -- sv.drm_di_major = 1; -- sv.drm_di_minor = 1; -- sv.drm_dd_major = -1; /* Don't care */ -- sv.drm_dd_minor = -1; /* Don't care */ -- drmMsg("drmOpenByBusid: Interface 1.4 failed, trying 1.1\n"); -- drmSetInterfaceVersion(fd, &sv); -- } -- buf = drmGetBusid(fd); -- drmMsg("drmOpenByBusid: drmGetBusid reports %s\n", buf); -- if (buf && drmMatchBusID(buf, busid, pci_domain_ok)) { -- drmFreeBusid(buf); -- return fd; -+ sv.drm_di_major = 1; -+ sv.drm_di_minor = 1; -+ sv.drm_dd_major = -1; /* Don't care */ -+ sv.drm_dd_minor = -1; /* Don't care */ -+ drmMsg("drmOpenByBusid: Interface 1.4 failed, trying 1.1\n"); -+ drmSetInterfaceVersion(fd, &sv); -+ } -+ buf = drmGetBusid(fd); -+ if (buf) { -+ drmMsg("drmOpenByBusid: drmGetBusid reports %s\n", buf); -+ if (drmMatchBusID(buf, busid, pci_domain_ok)) { -+ drmFreeBusid(buf); -+ return fd; -+ } -+ drmFreeBusid(buf); -+ } -+ close(fd); - } -- if (buf) -- drmFreeBusid(buf); -- close(fd); -- } - } - return -1; - } -diff --git a/media_driver/linux/ult/libdrm_mock/xf86drm_mock.c b/media_driver/linux/ult/libdrm_mock/xf86drm_mock.c -index 7e5246295..2e5863798 100644 ---- a/media_driver/linux/ult/libdrm_mock/xf86drm_mock.c -+++ b/media_driver/linux/ult/libdrm_mock/xf86drm_mock.c -@@ -790,37 +790,38 @@ static int drmOpenByBusid(const char *busid, int type) - - drmMsg("drmOpenByBusid: Searching for BusID %s\n", busid); - for (i = base; i < base + DRM_MAX_MINOR; i++) { -- fd = drmOpenMinor(i, 1, type); -- drmMsg("drmOpenByBusid: drmOpenMinor returns %d\n", fd); -- if (fd >= 0) { -- /* We need to try for 1.4 first for proper PCI domain support -- * and if that fails, we know the kernel is busted -- */ -- sv.drm_di_major = 1; -- sv.drm_di_minor = 4; -- sv.drm_dd_major = -1; /* Don't care */ -- sv.drm_dd_minor = -1; /* Don't care */ -- if (drmSetInterfaceVersion(fd, &sv)) { -+ fd = drmOpenMinor(i, 1, type); -+ drmMsg("drmOpenByBusid: drmOpenMinor returns %d\n", fd); -+ if (fd >= 0) { -+ /* We need to try for 1.4 first for proper PCI domain support -+ * and if that fails, we know the kernel is busted -+ */ -+ sv.drm_di_major = 1; -+ sv.drm_di_minor = 4; -+ sv.drm_dd_major = -1; /* Don't care */ -+ sv.drm_dd_minor = -1; /* Don't care */ -+ if (drmSetInterfaceVersion(fd, &sv)) { - #ifndef __alpha__ -- pci_domain_ok = 0; -+ pci_domain_ok = 0; - #endif -- sv.drm_di_major = 1; -- sv.drm_di_minor = 1; -- sv.drm_dd_major = -1; /* Don't care */ -- sv.drm_dd_minor = -1; /* Don't care */ -- drmMsg("drmOpenByBusid: Interface 1.4 failed, trying 1.1\n"); -- drmSetInterfaceVersion(fd, &sv); -- } -- buf = drmGetBusid(fd); -- drmMsg("drmOpenByBusid: drmGetBusid reports %s\n", buf); -- if (buf && drmMatchBusID(buf, busid, pci_domain_ok)) { -- drmFreeBusid(buf); -- return fd; -+ sv.drm_di_major = 1; -+ sv.drm_di_minor = 1; -+ sv.drm_dd_major = -1; /* Don't care */ -+ sv.drm_dd_minor = -1; /* Don't care */ -+ drmMsg("drmOpenByBusid: Interface 1.4 failed, trying 1.1\n"); -+ drmSetInterfaceVersion(fd, &sv); -+ } -+ buf = drmGetBusid(fd); -+ if (buf) { -+ drmMsg("drmOpenByBusid: drmGetBusid reports %s\n", buf); -+ if (drmMatchBusID(buf, busid, pci_domain_ok)) { -+ drmFreeBusid(buf); -+ return fd; -+ } -+ drmFreeBusid(buf); -+ } -+ close(fd); - } -- if (buf) -- drmFreeBusid(buf); -- close(fd); -- } - } - return -1; - } diff --git a/package/intel-mediadriver/Config.in b/package/intel-mediadriver/Config.in index 35117f7712a..ad565900085 100644 --- a/package/intel-mediadriver/Config.in +++ b/package/intel-mediadriver/Config.in @@ -2,16 +2,14 @@ config BR2_PACKAGE_INTEL_MEDIADRIVER bool "intel-mediadriver" depends on BR2_x86_64 depends on !BR2_STATIC_LIBS # mesa3d, libva - depends on BR2_INSTALL_LIBSTDCPP # mesa3d + depends on BR2_INSTALL_LIBSTDCPP # intel-gmmlib, mesa3d depends on BR2_TOOLCHAIN_HAS_SYNC_1 # mesa3d depends on BR2_TOOLCHAIN_HAS_THREADS # libva depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mesa3d - depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_INTEL_GMMLIB select BR2_PACKAGE_LIBPCIACCESS select BR2_PACKAGE_LIBVA select BR2_PACKAGE_MESA3D - select BR2_PACKAGE_XLIB_LIBX11 help The Intel(R) Media Driver for VAAPI is a new VA-API (Video Acceleration API) user mode driver supporting hardware @@ -20,9 +18,15 @@ config BR2_PACKAGE_INTEL_MEDIADRIVER https://github.com/intel/media-driver -comment "intel-mediadriver needs X.org" - depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 - depends on !BR2_PACKAGE_XORG7 +if BR2_PACKAGE_INTEL_MEDIADRIVER + +config BR2_PACKAGE_INTEL_MEDIADRIVER_GEN8 + bool "Gen8 support" + default y + help + Enable support for Gen8 GPUs (Coffee Lake) + +endif # BR2_PACKAGE_INTEL_MEDIADRIVER comment "intel-mediadriver needs a toolchain w/ dynamic library, C++, NPTL" depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 diff --git a/package/intel-mediadriver/intel-mediadriver.hash b/package/intel-mediadriver/intel-mediadriver.hash index 5d016695ae0..ceafa20e806 100644 --- a/package/intel-mediadriver/intel-mediadriver.hash +++ b/package/intel-mediadriver/intel-mediadriver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a03bd75eefe9cb0245e3aab2723b3fef555d9f180a180b2c29d7b12d483d9ec2 intel-media-19.4.0r.tar.gz -sha256 74979d5aaee78b8da82e3aafd415a216b6131dfff6d95d6930927c8a4e3bded3 LICENSE.md +sha256 6eaa4a9caf58faa8934b253adb4b0ece1c7d5de6f084167d5138b4e3ba423683 intel-media-22.1.1.tar.gz +sha256 74979d5aaee78b8da82e3aafd415a216b6131dfff6d95d6930927c8a4e3bded3 LICENSE.md diff --git a/package/intel-mediadriver/intel-mediadriver.mk b/package/intel-mediadriver/intel-mediadriver.mk index 963e4b8f9c5..9a2b4a8753e 100644 --- a/package/intel-mediadriver/intel-mediadriver.mk +++ b/package/intel-mediadriver/intel-mediadriver.mk @@ -6,7 +6,7 @@ # based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack -INTEL_MEDIADRIVER_VERSION = 19.4.0r +INTEL_MEDIADRIVER_VERSION = 22.1.1 INTEL_MEDIADRIVER_SITE = http://github.com/intel/media-driver/archive INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz INTEL_MEDIADRIVER_LICENSE = MIT, BSD-3-Clause @@ -16,13 +16,26 @@ INTEL_MEDIADRIVER_DEPENDENCIES = \ intel-gmmlib \ libpciaccess \ libva \ - mesa3d \ - xlib_libX11 + mesa3d + +ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) +INTEL_MEDIADRIVER_DEPENDENCIES += xlib_libX11 +endif INTEL_MEDIADRIVER_SUPPORTS_IN_SOURCE_BUILD = NO +# hardening is disabled here, so that the top-level Buildroot options +# control which hardening features are enabled INTEL_MEDIADRIVER_CONF_OPTS = \ -DINSTALL_DRIVER_SYSCONF=OFF \ - -DMEDIA_RUN_TEST_SUITE=OFF + -DMEDIA_BUILD_FATAL_WARNINGS=OFF \ + -DMEDIA_RUN_TEST_SUITE=OFF \ + -DMEDIA_BUILD_HARDENING=OFF + +ifeq ($(BR2_PACKAGE_INTEL_MEDIADRIVER_GEN8),y) +INTEL_MEDIADRIVER_CONF_OPTS += -DGEN8=ON +else +INTEL_MEDIADRIVER_CONF_OPTS += -DGEN8=OFF +endif $(eval $(cmake-package)) diff --git a/package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch b/package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch index a33c218c0a8..a7e3b70294c 100644 --- a/package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch +++ b/package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch @@ -7,6 +7,8 @@ This allows the environment to decide whether SSP should be used or not, for example to support toolchains that don't have SSP support. Signed-off-by: Thomas Petazzoni +[Bernd: rebased for 21.2.3] +Signed-off-by: Bernd Kuhls --- api/mfx_dispatch/linux/CMakeLists.txt | 2 +- builder/FindPackages.cmake | 4 ++-- @@ -16,7 +18,7 @@ diff --git a/api/mfx_dispatch/linux/CMakeLists.txt b/api/mfx_dispatch/linux/CMak index 15a4bd9a..4415f840 100644 --- a/api/mfx_dispatch/linux/CMakeLists.txt +++ b/api/mfx_dispatch/linux/CMakeLists.txt -@@ -100,7 +100,7 @@ target_link_libraries(mfx dl) +@@ -101,7 +101,7 @@ target_link_libraries(mfx dl) get_api_version(MFX_VERSION_MAJOR MFX_VERSION_MINOR) set_target_properties( mfx PROPERTIES LINK_FLAGS @@ -38,7 +40,7 @@ index 7e36ae2d..5b8b9b9d 100644 # message( STATUS "Libva located at: ${PKG_LIBVA_LIBRARY_DIRS}" ) if( ARGV1 MATCHES hw AND Linux ) -@@ -448,7 +448,7 @@ function(configure_dependencies target dependencies variant) +@@ -445,7 +445,7 @@ function(configure_dependencies target dependencies variant) endforeach() set(SCOPE_CFLAGS ${SCOPE_CFLAGS} PARENT_SCOPE) diff --git a/package/intel-mediasdk/Config.in b/package/intel-mediasdk/Config.in index 05293d76049..c1f609e3f8b 100644 --- a/package/intel-mediasdk/Config.in +++ b/package/intel-mediasdk/Config.in @@ -6,7 +6,6 @@ config BR2_PACKAGE_INTEL_MEDIASDK depends on BR2_TOOLCHAIN_HAS_SYNC_1 # intel-mediadriver depends on BR2_TOOLCHAIN_HAS_THREADS # intel-mediadriver depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # intel-mediadriver - depends on BR2_PACKAGE_XORG7 # intel-mediadriver select BR2_PACKAGE_INTEL_MEDIADRIVER select BR2_PACKAGE_LIBDRM_INTEL help @@ -21,10 +20,6 @@ config BR2_PACKAGE_INTEL_MEDIASDK http://mediasdk.intel.com/ -comment "intel-mediasdk needs X.org" - depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 - depends on !BR2_PACKAGE_XORG7 - comment "intel-mediasdk needs a toolchain w/ dynamic library, C++, NPTL" depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ diff --git a/package/intel-mediasdk/intel-mediasdk.hash b/package/intel-mediasdk/intel-mediasdk.hash index 103c8bb52d3..7cd61fe9b8a 100644 --- a/package/intel-mediasdk/intel-mediasdk.hash +++ b/package/intel-mediasdk/intel-mediasdk.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 289a40ffe73dc291461d97edf452bdc622f76e52666483fd1eb4f131d2921cd1 intel-mediasdk-19.4.0.tar.gz -sha256 dfd67773578903698f9ff4a61eb8f2d84810cbecd56f3f3cee8c649f813b6ea6 LICENSE +sha256 5ed1d22b5c5a05d3e848e43caa2b3966dbfb7f74281a646e6d0774a0621a9b8b intel-mediasdk-22.1.0.tar.gz +sha256 dfd67773578903698f9ff4a61eb8f2d84810cbecd56f3f3cee8c649f813b6ea6 LICENSE diff --git a/package/intel-mediasdk/intel-mediasdk.mk b/package/intel-mediasdk/intel-mediasdk.mk index 5467c963801..7d57e0e928c 100644 --- a/package/intel-mediasdk/intel-mediasdk.mk +++ b/package/intel-mediasdk/intel-mediasdk.mk @@ -4,8 +4,8 @@ # ################################################################################ -INTEL_MEDIASDK_VERSION = 19.4.0 -INTEL_MEDIASDK_SITE = http://github.com/Intel-Media-SDK/MediaSDK/archive +INTEL_MEDIASDK_VERSION = 22.1.0 +INTEL_MEDIASDK_SITE = https://github.com/Intel-Media-SDK/MediaSDK/archive INTEL_MEDIASDK_LICENSE = MIT INTEL_MEDIASDK_LICENSE_FILES = LICENSE diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 289428b4b37..6687d4c0ebf 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e42a264b7b86e80d013d6d00062467352c1f37e0aaea10fe5b51e4d8687921ab intel-microcode-20201118.tar.gz -sha256 d9e989e1a7747f3ce93cb749aceca67a430d36c9bebc6e3205e0b3af3ca6304b license +sha256 fd85b6b769efd029dec6a2c07106fd18fb4dcb548b7bc4cde09295a8344ef6d7 intel-microcode-20210608.tar.gz +sha256 03efb1491c7e899feb2665fa299363e64035e5444c1b8bc1f6ebed30de964e12 license diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index 5a13ca2cbe1..af7f6fa8040 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20201118 +INTEL_MICROCODE_VERSION = 20210608 INTEL_MICROCODE_SITE = $(call github,intel,Intel-Linux-Processor-Microcode-Data-Files,microcode-$(INTEL_MICROCODE_VERSION)) INTEL_MICROCODE_LICENSE = PROPRIETARY INTEL_MICROCODE_LICENSE_FILES = license diff --git a/package/iodine/iodine.mk b/package/iodine/iodine.mk index 711d709c1d8..521ca3d9279 100644 --- a/package/iodine/iodine.mk +++ b/package/iodine/iodine.mk @@ -9,6 +9,8 @@ IODINE_SITE = http://code.kryo.se/iodine IODINE_DEPENDENCIES = zlib IODINE_LICENSE = MIT IODINE_LICENSE_FILES = README +IODINE_CPE_ID_VENDOR = kryo +IODINE_SELINUX_MODULES = iodine IODINE_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/iostat/0001-cpunum.patch b/package/iostat/0001-cpunum.patch deleted file mode 100644 index 0e75dbf71a2..00000000000 --- a/package/iostat/0001-cpunum.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bf646965f75cdad77a45fa3b0046e093b202b2ce Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 22 Jul 2010 12:42:10 -0300 -Subject: [PATCH] Make cpu number counter more reliable - - -Signed-off-by: Gustavo Zacarias ---- - iostat.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/iostat.c b/iostat.c -index 13e2af7..5d74085 100644 ---- a/iostat.c -+++ b/iostat.c -@@ -140,7 +140,7 @@ void get_number_of_cpus() - - handle_error("Can't open /proc/cpuinfo", !ncpufp); - while (fgets(buffer, sizeof(buffer), ncpufp)) { -- if (!strncmp(buffer, "processor\t:", 11)) -+ if (!strncasecmp(buffer, "processor\t", 10)) - ncpu++; - } - fclose(ncpufp); --- -1.7.1 - diff --git a/package/iostat/Config.in b/package/iostat/Config.in deleted file mode 100644 index 1aa1464581c..00000000000 --- a/package/iostat/Config.in +++ /dev/null @@ -1,6 +0,0 @@ -config BR2_PACKAGE_IOSTAT - bool "iostat" - help - An I/O performance monitoring utility. - - http://www.linuxinsight.com/iostat_utility.html diff --git a/package/iostat/iostat.hash b/package/iostat/iostat.hash deleted file mode 100644 index 0f58bbf793f..00000000000 --- a/package/iostat/iostat.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 edc5aa73f43bd6c7d49f2c1d5906a0a68c0b28bc4dfdaf1f2aa5ae4a2449c58e iostat-2.2.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE diff --git a/package/iostat/iostat.mk b/package/iostat/iostat.mk deleted file mode 100644 index 4953c73ec45..00000000000 --- a/package/iostat/iostat.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# iostat -# -################################################################################ - -IOSTAT_VERSION = 2.2 -IOSTAT_SITE = http://linuxinsight.com/sites/default/files -IOSTAT_LICENSE = GPL -IOSTAT_LICENSE_FILES = LICENSE - -define IOSTAT_BUILD_CMDS - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -DHZ=100" -endef - -define IOSTAT_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(IOSTAT_DIR)/iostat $(TARGET_DIR)/usr/bin/iostat -endef - -$(eval $(generic-package)) diff --git a/package/iotop/Config.in b/package/iotop/Config.in index ada6131606c..460503b9d70 100644 --- a/package/iotop/Config.in +++ b/package/iotop/Config.in @@ -1,11 +1,10 @@ -comment "iotop depends on python or python3" - depends on !BR2_PACKAGE_PYTHON && !BR2_PACKAGE_PYTHON3 +comment "iotop depends on python3" + depends on !BR2_PACKAGE_PYTHON3 config BR2_PACKAGE_IOTOP bool "iotop" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_CURSES if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_CURSES if BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_CURSES help iotop does for I/O usage what top does for CPU usage. diff --git a/package/iozone/0001-Add-new-targets-for-iozone.patch b/package/iozone/0001-Add-new-targets-for-iozone.patch index e6bfc18de69..3cc184ec8f5 100644 --- a/package/iozone/0001-Add-new-targets-for-iozone.patch +++ b/package/iozone/0001-Add-new-targets-for-iozone.patch @@ -1,6 +1,6 @@ -From 1584ffbfda3277b82997b9f1e0ef31a7061560e0 Mon Sep 17 00:00:00 2001 +From 5b1e973b2333e838624abf195b3ba9716591f304 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias -Date: Sun, 26 Aug 2018 18:39:06 +0200 +Date: Sun, 10 Oct 2021 10:15:26 +0200 Subject: [PATCH] Add new targets for iozone: linux-noaio is for linux targets without AIO (use case: uClibc) @@ -11,18 +11,18 @@ And make largefile support optional via CFLAGS. Signed-off-by: Gustavo Zacarias Signed-off-by: Gilles Talis --- - src/current/makefile | 56 +++++++++++++++++++++++++++++++++++++++++++--------- + src/current/makefile | 56 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 9 deletions(-) diff --git a/src/current/makefile b/src/current/makefile -index cfef879..7925e62 100644 +index 3a54701..3b17b1b 100644 --- a/src/current/makefile +++ b/src/current/makefile -@@ -168,10 +168,28 @@ hpux_no_ansi: iozone_hpux_no.o libbif.o +@@ -172,10 +172,28 @@ hpux_no_ansi: iozone_hpux_no.o libbif.o # GNU 'C' compiler Linux build with threads, largefiles, async I/O # linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o -- $(CC) -O3 $(LDFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \ +- $(CC) -O3 $(CFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \ + $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux.o libasync.o libbif.o \ + -lpthread -lrt -o iozone + $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop @@ -43,14 +43,14 @@ index cfef879..7925e62 100644 +linux-noth: iozone_linux-noth.o libbif.o fileop_linux.o pit_server.o + $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux-noth.o libbif.o \ -lrt -o iozone -- $(CC) -O3 -Dlinux fileop_linux.o -o fileop -- $(CC) -O3 -Dlinux pit_server.o -o pit_server +- $(CC) -O3 $(CFLAGS) -Dlinux fileop_linux.o -o fileop +- $(CC) -O3 $(CFLAGS) -Dlinux pit_server.o -o pit_server + $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop + $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server # # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O -@@ -814,13 +832,33 @@ iozone_linux.o: iozone.c libbif.c libasync.c +@@ -841,13 +859,33 @@ iozone_linux.o: iozone.c libbif.c libasync.c @echo "" @echo "Building iozone for Linux" @echo "" @@ -89,7 +89,7 @@ index cfef879..7925e62 100644 fileop_AIX.o: fileop.c @echo "" -@@ -924,7 +962,7 @@ fileop_linux.o: fileop.c +@@ -951,7 +989,7 @@ fileop_linux.o: fileop.c @echo "" @echo "Building fileop for Linux" @echo "" @@ -99,5 +99,5 @@ index cfef879..7925e62 100644 fileop_openbsd.o: fileop.c @echo "" -- -2.7.4 +2.27.0 diff --git a/package/iozone/iozone.hash b/package/iozone/iozone.hash index 61e8ff3abe4..9ecf1d1af85 100644 --- a/package/iozone/iozone.hash +++ b/package/iozone/iozone.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5eadb4235ae2a956911204c50ebf2d8d8d59ddcd4a2841a1baf42f3145ad4fed iozone3_490.tar +sha256 5a52f5017e022e737f5b55f320cc6ada0f2a8c831a5f996cce2a44e03e91c038 iozone3_493.tgz diff --git a/package/iozone/iozone.mk b/package/iozone/iozone.mk index ebb62436517..2df4a2aa84d 100644 --- a/package/iozone/iozone.mk +++ b/package/iozone/iozone.mk @@ -4,8 +4,8 @@ # ################################################################################ -IOZONE_VERSION = 3_490 -IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar +IOZONE_VERSION = 3.493 +IOZONE_SOURCE = iozone$(subst .,_,$(IOZONE_VERSION)).tgz IOZONE_SITE = http://www.iozone.org/src/current IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED) # IOzone license details can be found at: diff --git a/package/ipcalc/0001-Do-not-fail-to-build-if-ronn-is-missing.patch b/package/ipcalc/0001-Do-not-fail-to-build-if-ronn-is-missing.patch deleted file mode 100644 index 419f4bba442..00000000000 --- a/package/ipcalc/0001-Do-not-fail-to-build-if-ronn-is-missing.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 322294d7bf61f9fdf0e45e9b6c6013a7c6a35bfd Mon Sep 17 00:00:00 2001 -From: Derrick Lyndon Pallas -Date: Wed, 14 Oct 2020 18:25:54 +0000 -Subject: [PATCH] Do not fail to build if ronn is missing - -If ruby-ronn is missing, we can not compile the man page from markdown but -that should not prevent the application from building. - -Signed-off-by: Derrick Lyndon Pallas ---- - meson.build | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -diff --git a/meson.build b/meson.build -index a2169fc..981d4a4 100644 ---- a/meson.build -+++ b/meson.build -@@ -72,16 +72,17 @@ ipcalc = executable('ipcalc', - install : true - ) - --ronn = find_program('ronn', required: true) -- --ipcalc_1 = custom_target( -- 'ipcalc.1', -- output : 'ipcalc.1', -- input : 'ipcalc.1.md', -- command : [ronn, '--pipe', '-r', '@INPUT@'], -- capture: true, -- install_dir: join_paths(get_option('mandir'), 'man1'), -- install: true --) -+ronn = find_program('ronn', required: false) -+if ronn.found() -+ ipcalc_1 = custom_target( -+ 'ipcalc.1', -+ output : 'ipcalc.1', -+ input : 'ipcalc.1.md', -+ command : [ronn, '--pipe', '-r', '@INPUT@'], -+ capture: true, -+ install_dir: join_paths(get_option('mandir'), 'man1'), -+ install: true -+ ) -+endif - - subdir('tests') --- -2.28.0 - diff --git a/package/ipcalc/0002-Include-stdarg-for-va_list.patch b/package/ipcalc/0002-Include-stdarg-for-va_list.patch deleted file mode 100644 index 9261ce383c1..00000000000 --- a/package/ipcalc/0002-Include-stdarg-for-va_list.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7795c02fb1e0f5fdbdf949007e52684c590235d4 Mon Sep 17 00:00:00 2001 -From: Derrick Lyndon Pallas -Date: Wed, 14 Oct 2020 18:40:38 +0000 -Subject: [PATCH] Include stdarg for va_list - -While several function signatures use va_list, stdarg was never included. -This fixes that. - -Signed-off-by: Derrick Lyndon Pallas ---- - ipcalc.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ipcalc.h b/ipcalc.h -index 0e81320..a220dc5 100644 ---- a/ipcalc.h -+++ b/ipcalc.h -@@ -20,6 +20,8 @@ - #ifndef _IPCALC_H - #define _IPCALC_H - -+#include /* for va_list */ -+ - #if defined(USE_GEOIP) - void geo_ip_lookup(const char *ip, char **country, char **ccode, char **city, char **coord); - int geo_setup(void); --- -2.28.0 - diff --git a/package/ipcalc/ipcalc.hash b/package/ipcalc/ipcalc.hash index df610eb6934..bf9b34a6108 100644 --- a/package/ipcalc/ipcalc.hash +++ b/package/ipcalc/ipcalc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d7aca371335ab3e35364bcfe34cd0229db005be8bebb9236608ec318cb3f7748 ipcalc-1.0.0.tar.bz2 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dac080c0773cc14c1d6f818899351d2286cace85751dd9dc704944e54c2c3565 ipcalc-1.0.1.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ipcalc/ipcalc.mk b/package/ipcalc/ipcalc.mk index c4ce8b9cebf..dfe35e2cdc7 100644 --- a/package/ipcalc/ipcalc.mk +++ b/package/ipcalc/ipcalc.mk @@ -4,14 +4,30 @@ # ################################################################################ -IPCALC_VERSION = 1.0.0 -IPCALC_SITE = https://gitlab.com/ipcalc/ipcalc/-/archive/$(IPCALC_VERSION) +IPCALC_VERSION = 1.0.1 +IPCALC_SITE = $(call gitlab,ipcalc,ipcalc,$(IPCALC_VERSION)) IPCALC_SOURCE = ipcalc-$(IPCALC_VERSION).tar.bz2 IPCALC_LICENSE = GPL-2.0+ IPCALC_LICENSE_FILES = COPYING -IPCALC_CONF_OPTS = \ - -Duse_maxminddb=disabled \ - -Duse_geoip=disabled +ifeq ($(BR2_STATIC_LIBS),y) +IPCALC_CONF_OPTS += -Duse_runtime_linking=disabled +else +IPCALC_CONF_OPTS += -Duse_runtime_linking=enabled +endif + +ifeq ($(BR2_PACKAGE_GEOIP),y) +IPCALC_CONF_OPTS += -Duse_geoip=enabled +IPCALC_DEPENDENCIES += host-pkgconf geoip +else +IPCALC_CONF_OPTS += -Duse_geoip=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y) +IPCALC_CONF_OPTS += -Duse_maxminddb=enabled +IPCALC_DEPENDENCIES += host-pkgconf libmaxminddb +else +IPCALC_CONF_OPTS += -Duse_maxminddb=disabled +endif $(eval $(meson-package)) diff --git a/package/iperf/0001-Fix-build-with-musl-libc.patch b/package/iperf/0001-Fix-build-with-musl-libc.patch new file mode 100644 index 00000000000..269079ee1e7 --- /dev/null +++ b/package/iperf/0001-Fix-build-with-musl-libc.patch @@ -0,0 +1,67 @@ +From 6766ab322a9eb8c73f8276be9cdea356eb124de0 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 11 Nov 2021 07:58:10 +0200 +Subject: [PATCH] Fix build with musl libc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +musl libc defines its own struct ethhdr that conflicts with the kernel +define one. The kernel headers provide a way to suppress its struct +ethhdr. For that to work the libc headers must precede the kernel. Move +the kernel linux/if_tun.h include below libc net/ethernet.h. That fixes +the following build failure: + +In file included from .../arm-buildroot-linux-musleabihf/sysroot/usr/include/net/ethernet.h:10, + from ../include/headers.h:117, + from Thread.c:72: +.../arm-buildroot-linux-musleabihf/sysroot/usr/include/netinet/if_ether.h:116:8: error: redefinition of ‘struct ethhdr’ + 116 | struct ethhdr { + | ^~~~~~ +In file included from .../arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/if_tun.h:20, + from ../include/headers.h:110, + from Thread.c:72: +.../arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/if_ether.h:148:8: note: originally defined here + 148 | struct ethhdr { + | ^~~~~~ + +Fixes bug #157. + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to Robert McMahon + + include/headers.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/include/headers.h b/include/headers.h +index 00e0ea0dba42..887490475381 100644 +--- a/include/headers.h ++++ b/include/headers.h +@@ -106,11 +106,6 @@ typedef bool _Bool; + #include + #endif + +-#if ((HAVE_TUNTAP_TAP) || (HAVE_TUNTAP_TUN)) +-#include +-#include +-#endif +- + + // AF_PACKET HEADERS + #if defined(HAVE_LINUX_FILTER_H) && defined(HAVE_AF_PACKET) +@@ -146,6 +141,11 @@ typedef bool _Bool; + #define IPV6HDRLEN 40 + #endif // HAVE_AF_PACKET + ++#if ((HAVE_TUNTAP_TAP) || (HAVE_TUNTAP_TUN)) ++#include ++#include ++#endif ++ + #ifdef WIN32 + + /* Windows config file */ +-- +2.33.0 + diff --git a/package/iperf/0002-compat-gettcpinfo.c-fix-build.patch b/package/iperf/0002-compat-gettcpinfo.c-fix-build.patch new file mode 100644 index 00000000000..786c7d1873c --- /dev/null +++ b/package/iperf/0002-compat-gettcpinfo.c-fix-build.patch @@ -0,0 +1,34 @@ +From a3339604bafa99f66e12687efc2c50d2e2df1276 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 12 Dec 2021 20:03:04 +0100 +Subject: [PATCH] compat/gettcpinfo.c: fix build + +Fix the following build failure raised since commit +c8f861a0a07b0606a581f2658c71959ad9417923: + +gettcpinfo.c: In function 'gettcpinfo': +gettcpinfo.c:101:42: error: expected declaration or statement at end of input + 101 | inline void gettcpinfo (int sock, struct ReportStruct *sample) { + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/073e070478f0cda34784af96bb3a802c3aac8f72 + +Signed-off-by: Fabrice Fontaine +--- + compat/gettcpinfo.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/compat/gettcpinfo.c b/compat/gettcpinfo.c +index 4e11e2a..1d3791a 100644 +--- a/compat/gettcpinfo.c ++++ b/compat/gettcpinfo.c +@@ -99,4 +99,5 @@ inline void gettcpinfo (SOCKET sock, struct ReportStruct *sample) { + }; + #else + inline void gettcpinfo (int sock, struct ReportStruct *sample) { ++}; + #endif +-- +2.33.0 + diff --git a/package/iperf/iperf.hash b/package/iperf/iperf.hash index bce46c69193..2e1f433dc7c 100644 --- a/package/iperf/iperf.hash +++ b/package/iperf/iperf.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/iperf2/files/ -sha1 0c7625c61087b9e6866421abb8bb533658b40a8d iperf-2.0.13.tar.gz +sha1 41bd049625cbecda2bf5b6a6cc12a6c5baec549b iperf-2.1.6.tar.gz # Locally computed: -sha256 c88adec966096a81136dda91b4bd19c27aae06df4d45a7f547a8e50d723778ad iperf-2.0.13.tar.gz +sha256 4a43e44439b95622aebeee55754a17d1c94076032e90620dfc1ab9908cb9e080 iperf-2.1.6.tar.gz sha256 5f9f5c4feca3347c3b3c0ada8b16b4e6b698aac4e6f016a24adf61a5915336d1 COPYING diff --git a/package/iperf/iperf.mk b/package/iperf/iperf.mk index 5df94a1f636..f999ff4ac28 100644 --- a/package/iperf/iperf.mk +++ b/package/iperf/iperf.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPERF_VERSION = 2.0.13 +IPERF_VERSION = 2.1.6 IPERF_SITE = http://downloads.sourceforge.net/project/iperf2 IPERF_LICENSE = MIT-like IPERF_LICENSE_FILES = COPYING diff --git a/package/iperf3/iperf3.hash b/package/iperf3/iperf3.hash index fa9d54f4044..c96d68cd993 100644 --- a/package/iperf3/iperf3.hash +++ b/package/iperf3/iperf3.hash @@ -1,4 +1,4 @@ -# From https://downloads.es.net/pub/iperf/iperf-3.9.tar.gz.sha256 -sha256 24b63a26382325f759f11d421779a937b63ca1bc17c44587d2fcfedab60ac038 iperf-3.9.tar.gz +# From https://downloads.es.net/pub/iperf/iperf-3.10.1.tar.gz.sha256 +sha256 03bc9760cc54a245191d46bfc8edaf8a4750f0e87abca6764486972044d6715a iperf-3.10.1.tar.gz # Locally computed -sha256 9ef73096bdd5209dd979bfa1fec70aeb42a7255d2df3aec423642aa92d5e9f40 LICENSE +sha256 0e1cb1921904626f0d3e86cacc0e28333140f0f9957267cff0b9d185645743ed LICENSE diff --git a/package/iperf3/iperf3.mk b/package/iperf3/iperf3.mk index 7d20b86e786..8c57c61fcee 100644 --- a/package/iperf3/iperf3.mk +++ b/package/iperf3/iperf3.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPERF3_VERSION = 3.9 +IPERF3_VERSION = 3.10.1 IPERF3_SITE = https://downloads.es.net/pub/iperf IPERF3_SOURCE = iperf-$(IPERF3_VERSION).tar.gz IPERF3_LICENSE = BSD-3-Clause, BSD-2-Clause, MIT diff --git a/package/ipmitool/ipmitool.mk b/package/ipmitool/ipmitool.mk index facd97a0b86..801f1ea6b09 100644 --- a/package/ipmitool/ipmitool.mk +++ b/package/ipmitool/ipmitool.mk @@ -19,6 +19,13 @@ IPMITOOL_CPE_ID_VENDOR = ipmitool_project # 0013-fru-sdr-Fix-id_string-buffer-overflows.patch IPMITOOL_IGNORE_CVES += CVE-2020-5208 +ifeq ($(BR2_PACKAGE_FREEIPMI),y) +IPMITOOL_DEPENDENCIES += freeipmi +IPMITOOL_CONF_OPTS += --enable-intf-free +else +IPMITOOL_CONF_OPTS += --disable-intf-free +endif + ifeq ($(BR2_PACKAGE_IPMITOOL_LANPLUS),y) IPMITOOL_DEPENDENCIES += openssl IPMITOOL_CONF_OPTS += --enable-intf-lanplus diff --git a/package/ipmiutil/ipmiutil.mk b/package/ipmiutil/ipmiutil.mk index d85b9643f09..97a644e314e 100644 --- a/package/ipmiutil/ipmiutil.mk +++ b/package/ipmiutil/ipmiutil.mk @@ -11,8 +11,13 @@ IPMIUTIL_LICENSE_FILES = COPYING IPMIUTIL_MAKE = $(MAKE1) -# forgets to link against libcrypto dependencies breaking static link -ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) +# aclocal.m4 is newer than config.h.in. Touch the latter to avoid autoreconf +define IPMIUTIL_TOUCH_CONFIG_H_IN + touch $(@D)/config.h.in +endef +IPMIUTIL_PRE_CONFIGURE_HOOKS += IPMIUTIL_TOUCH_CONFIG_H_IN + +ifeq ($(BR2_PACKAGE_OPENSSL),y) # tests against distro libcrypto so it might get a false positive when # the openssl version is old, so force it off # SKIP_MD2 can be used only if ALLOW_GNU is defined. diff --git a/package/iproute2/0001-devlink-update-include-files.patch b/package/iproute2/0001-devlink-update-include-files.patch deleted file mode 100644 index 8cc6e4ec604..00000000000 --- a/package/iproute2/0001-devlink-update-include-files.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 12fafa27c7b306e6c397e858f4d5a8159500f659 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 11 Jun 2020 09:46:46 -0700 -Subject: devlink: update include files - -Use the tool iwyu to get more complete list of includes for -all the bits used by devlink. - -This should also fix build with musl libc. - -Fixes: c4dfddccef4e ("fix JSON output of mon command") -Reported-off-by: Dan Robertson -Signed-off-by: Stephen Hemminger - -[Retrieved from: -https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=12fafa27c7b306e6c397e858f4d5a8159500f659] -Signed-off-by: Fabrice Fontaine ---- - devlink/devlink.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/devlink/devlink.c b/devlink/devlink.c -index 507972c3..ce2e4676 100644 ---- a/devlink/devlink.c -+++ b/devlink/devlink.c -@@ -19,18 +19,25 @@ - #include - #include - #include -+#include -+#include -+#include -+#include - #include - #define _LINUX_SYSINFO_H /* avoid collision with musl header */ - #include - #include -+#include - #include - #include -+#include -+#include - #include - - #include "SNAPSHOT.h" - #include "list.h" - #include "mnlg.h" --#include "json_writer.h" -+#include "json_print.h" - #include "utils.h" - #include "namespace.h" - --- -cgit 1.2.3-1.el7 - diff --git a/package/iproute2/0001-lib-fix-ax25-h-include-for-musl.patch b/package/iproute2/0001-lib-fix-ax25-h-include-for-musl.patch new file mode 100644 index 00000000000..1f8860c5d82 --- /dev/null +++ b/package/iproute2/0001-lib-fix-ax25-h-include-for-musl.patch @@ -0,0 +1,37 @@ +From 8bced38a941a181f1468fa39541e872e51b6022f Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Thu, 13 Jan 2022 08:14:13 +0000 +Subject: [PATCH] lib: fix ax25.h include for musl + +ax25.h isn't guaranteed to be avilable in netax25/*; +it's dependent on our choice of libc (it's not available +on musl at least) [0]. + +Let's use the version from linux-headers. + +[0] https://sourceware.org/glibc/wiki/Synchronizing_Headers +Bug: https://bugs.gentoo.org/831102 + +Signed-off-by: Sam James +Signed-off-by: Stephen Hemminger + +[Retrieved from: +https://github.com/shemminger/iproute2/commit/8bced38a941a181f1468fa39541e872e51b6022f] +Signed-off-by: Fabrice Fontaine +--- + lib/ax25_ntop.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/ax25_ntop.c b/lib/ax25_ntop.c +index cfd0e04b0..3a72a43e9 100644 +--- a/lib/ax25_ntop.c ++++ b/lib/ax25_ntop.c +@@ -2,7 +2,7 @@ + + #include + #include +-#include ++#include + + #include "utils.h" + diff --git a/package/iproute2/iproute2.hash b/package/iproute2/iproute2.hash index b2a9e21e118..f7e7f682a9d 100644 --- a/package/iproute2/iproute2.hash +++ b/package/iproute2/iproute2.hash @@ -1,3 +1,3 @@ # From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc -sha256 725dc7ba94aae54c6f8d4223ca055d9fb4fe89d6994b1c03bfb4411c4dd10f21 iproute2-5.7.0.tar.xz +sha256 c064b66f6b001c2a35aa5224b5b1ac8aa4bee104d7dce30d6f10a84cb8b01e2f iproute2-5.16.0.tar.xz sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index 1b71f5c06a2..a51b5b2996c 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -4,13 +4,14 @@ # ################################################################################ -IPROUTE2_VERSION = 5.7.0 +IPROUTE2_VERSION = 5.16.0 IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2 IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \ $(if $(BR2_PACKAGE_LIBMNL),libmnl) IPROUTE2_LICENSE = GPL-2.0+ IPROUTE2_LICENSE_FILES = COPYING +IPROUTE2_CPE_ID_VENDOR = iproute2_project ifeq ($(BR2_PACKAGE_ELFUTILS),y) IPROUTE2_DEPENDENCIES += elfutils diff --git a/package/ipset/ipset.hash b/package/ipset/ipset.hash index fb200585d1f..9c251be27e7 100644 --- a/package/ipset/ipset.hash +++ b/package/ipset/ipset.hash @@ -1,6 +1,4 @@ -# From http://ipset.netfilter.org/ipset-7.6.tar.bz2.md5sum.txt -md5 e107b679c3256af795261cece864d6d9 ipset-7.6.tar.bz2 -# Calculated based on the hash above -sha256 0e7d44caa9c153d96a9b5f12644fbe35a632537a5a7f653792b72e53d9d5c2db ipset-7.6.tar.bz2 +# From https://ipset.netfilter.org/ipset-7.15.tar.bz2.sha512sum.txt +sha512 0fc936d971c30a0925c585d506c8840e782fdaeec09bc8fd249e874fe838fa55a4dbb697f6e1423a6769abf07a1ce2195abc37cb641e8e4ad70f1b4c7130916a ipset-7.15.tar.bz2 # Locally calculated -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/ipset/ipset.mk b/package/ipset/ipset.mk index 4c5a44a56a5..4eda65e81ba 100644 --- a/package/ipset/ipset.mk +++ b/package/ipset/ipset.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPSET_VERSION = 7.6 +IPSET_VERSION = 7.15 IPSET_SOURCE = ipset-$(IPSET_VERSION).tar.bz2 IPSET_SITE = http://ipset.netfilter.org IPSET_DEPENDENCIES = libmnl host-pkgconf diff --git a/package/iptables/S35iptables b/package/iptables/S35iptables new file mode 100644 index 00000000000..a2de29d2228 --- /dev/null +++ b/package/iptables/S35iptables @@ -0,0 +1,58 @@ +#!/bin/sh + +DAEMON="iptables" + +IPTABLES_ARGS="" + +start() { + printf 'Starting %s: ' "$DAEMON" + iptables-restore /etc/iptables.conf + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + iptables -F + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +save() { + printf 'Saving %s: ' "$DAEMON" + iptables-save -f /etc/iptables.conf + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "SKIP (read-only file system detected)" + fi + return "$status" +} + +case "$1" in + start|stop|restart|save) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|save|reload}" + exit 1 +esac diff --git a/package/iptables/iptables.hash b/package/iptables/iptables.hash index 120e7e4a897..7f144139313 100644 --- a/package/iptables/iptables.hash +++ b/package/iptables/iptables.hash @@ -1,4 +1,4 @@ # From https://netfilter.org/projects/iptables/downloads.html -sha256 a0f4fe0c3eb8faa5bd9c8376d132f340b9558e750c91deb2d5028aa3d0047767 iptables-1.8.6.tar.bz2 +sha256 c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0 iptables-1.8.7.tar.bz2 # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk index dc014666076..555bb384fd4 100644 --- a/package/iptables/iptables.mk +++ b/package/iptables/iptables.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPTABLES_VERSION = 1.8.6 +IPTABLES_VERSION = 1.8.7 IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2 IPTABLES_SITE = https://netfilter.org/projects/iptables/files IPTABLES_INSTALL_STAGING = YES @@ -57,4 +57,10 @@ define IPTABLES_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) endef +define IPTABLES_INSTALL_INIT_SYSV + $(INSTALL) -m 0755 -D package/iptables/S35iptables \ + $(TARGET_DIR)/etc/init.d/S35iptables + touch $(TARGET_DIR)/etc/iptables.conf +endef + $(eval $(autotools-package)) diff --git a/package/iputils/Config.in b/package/iputils/Config.in index 0d4a4ba3f84..1a8b555570e 100644 --- a/package/iputils/Config.in +++ b/package/iputils/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_IPUTILS depends on BR2_USE_MMU # fork() help This package is set of small useful utilities for Linux - networking. It includes complete versions of ping, traceroute, + networking. It includes complete versions of ping, arping, etc. https://github.com/iputils/iputils @@ -46,23 +46,12 @@ config BR2_PACKAGE_IPUTILS_RDISC_SERVER help Builds rdisc with server code. -config BR2_PACKAGE_IPUTILS_TFTPD - bool "tftpd" - help - Installs tftpd. - config BR2_PACKAGE_IPUTILS_TRACEPATH bool "tracepath" default y help Installs tracepath. -config BR2_PACKAGE_IPUTILS_TRACEROUTE6 - bool "traceroute6" - default y - help - Installs traceroute6. - config BR2_PACKAGE_IPUTILS_NINFOD bool "ninfod" default y diff --git a/package/iputils/iputils.hash b/package/iputils/iputils.hash index 3e30ca93834..edfa384d438 100644 --- a/package/iputils/iputils.hash +++ b/package/iputils/iputils.hash @@ -1,6 +1,6 @@ -# https://github.com/iputils/iputils/releases/download/20210202/sha256sum.asc -sha256 3f557ecfd2ace873801231d2c1f42de73ced9fbc1ef3a438d847688b5fb0e8ab iputils-20210202.tar.gz +# https://github.com/iputils/iputils/releases/download/20211215/sha256sum.asc +sha256 b6f67fc705490673ff4471d006221b4a2f1b1180b929d9fefd771352621ccedf iputils-20211215.tar.gz # Locally computed -sha256 b8ea785d12fa6a44916601104dd746216957e93f13a26d3eb858b3b5a4ad66ab LICENSE +sha256 973281334c2da6364fa6bdc44c1f0f8d60d80d73c782982ffc5d53b0a31aa042 LICENSE sha256 9acc4bc871a4742550158e3696dcb381953172ef808d04ca248184f9f6322712 Documentation/LICENSE.BSD3 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/LICENSE.GPL2 diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index 1ee64dabe49..84059de3304 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -11,10 +11,11 @@ # and IPv6 updates. # http://www.spinics.net/lists/netdev/msg279881.html -IPUTILS_VERSION = 20210202 +IPUTILS_VERSION = 20211215 IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION)) IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause IPUTILS_LICENSE_FILES = LICENSE Documentation/LICENSE.BSD3 Documentation/LICENSE.GPL2 +IPUTILS_CPE_ID_VENDOR = iputils_project IPUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # Selectively build binaries @@ -22,19 +23,17 @@ IPUTILS_CONF_OPTS += \ -DBUILD_CLOCKDIFF=$(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),true,false) \ -DBUILD_RARPD=$(if $(BR2_PACKAGE_IPUTILS_RARPD),true,false) \ -DBUILD_RDISC=$(if $(BR2_PACKAGE_IPUTILS_RDISC),true,false) \ - -DBUILD_RDISC_SERVER=$(if $(BR2_PACKAGE_IPUTILS_RDISC_SERVER),true,false) \ + -DENABLE_RDISC_SERVER=$(if $(BR2_PACKAGE_IPUTILS_RDISC_SERVER),true,false) \ -DBUILD_TRACEPATH=$(if $(BR2_PACKAGE_IPUTILS_TRACEPATH),true,false) \ - -DBUILD_TRACEROUTE6=$(if $(BR2_PACKAGE_IPUTILS_TRACEROUTE6),true,false) \ - -DBUILD_NINFOD=$(if $(BR2_PACKAGE_IPUTILS_NINFOD),true,false) + -DBUILD_NINFOD=$(if $(BR2_PACKAGE_IPUTILS_NINFOD),true,false) \ + -DSKIP_TESTS=true # Selectively select the appropriate SELinux refpolicy modules IPUTILS_SELINUX_MODULES = \ $(if $(BR2_PACKAGE_IPUTILS_ARPING),netutils) \ $(if $(BR2_PACKAGE_IPUTILS_PING),netutils) \ $(if $(BR2_PACKAGE_IPUTILS_TRACEPATH),netutils) \ - $(if $(BR2_PACKAGE_IPUTILS_TRACEROUTE6),netutils) \ - $(if $(BR2_PACKAGE_IPUTILS_RDISC),rdisc) \ - $(if $(BR2_PACKAGE_IPUTILS_TFTPD),tftp) + $(if $(BR2_PACKAGE_IPUTILS_RDISC),rdisc) # # arping @@ -78,16 +77,6 @@ else IPUTILS_CONF_OPTS += -DBUILD_PING=false endif -# -# tftpd -# -ifeq ($(BR2_PACKAGE_IPUTILS_TFTPD),y) -IPUTILS_CONF_OPTS += -DBUILD_TFTPD=true - -else -IPUTILS_CONF_OPTS += -DBUILD_TFTPD=false -endif - # Handle libraries ifeq ($(BR2_PACKAGE_LIBCAP),y) IPUTILS_CONF_OPTS += -DUSE_CAP=true @@ -128,9 +117,6 @@ define IPUTILS_PERMISSIONS $(if $(BR2_PACKAGE_IPUTILS_PING),\ /bin/ping f 755 0 0 - - - - - |xattr cap_net_raw+p,) - $(if $(BR2_PACKAGE_IPUTILS_TRACEROUTE6),\ - /usr/bin/traceroute6 f 755 0 0 - - - - - - |xattr cap_net_raw+p,) endef else define IPUTILS_PERMISSIONS @@ -140,8 +126,6 @@ define IPUTILS_PERMISSIONS /usr/bin/clockdiff f 4755 0 0 - - - - -,) $(if $(BR2_PACKAGE_IPUTILS_PING),\ /bin/ping f 4755 0 0 - - - - -,) - $(if $(BR2_PACKAGE_IPUTILS_TRACEROUTE6),\ - /usr/bin/traceroute6 f 4755 0 0 - - - - -,) endef endif diff --git a/package/irqbalance/0001-configure.ac-use-pkg-config-to-find-numa.patch b/package/irqbalance/0001-configure.ac-use-pkg-config-to-find-numa.patch new file mode 100644 index 00000000000..751367ccfbb --- /dev/null +++ b/package/irqbalance/0001-configure.ac-use-pkg-config-to-find-numa.patch @@ -0,0 +1,38 @@ +From 274cb8ea470a10ce46b783e77784b0eb08cf20d8 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 1 Aug 2021 23:26:01 +0200 +Subject: [PATCH] configure.ac: use pkg-config to find numa + +Use pkg-config to find numa and fallback to current mechanism. +Thanks to pkg-config, numa dependencies such as -latomic will be +retrieved. + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/Irqbalance/irqbalance/pull/188] +--- + configure.ac | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c45b9ce..50c62ba 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -23,7 +23,14 @@ AC_CHECK_HEADERS([numa.h]) + + AC_CHECK_FUNCS(getopt_long) + +-AC_CHECK_LIB(numa, numa_available) ++PKG_CHECK_MODULES([NUMA], [numa], [has_numa=yes], [AC_CHECK_LIB(numa, numa_available)]) ++AS_IF([test "x$has_numa" = "xyes"], [ ++ AC_SUBST([NUMA_CFLAGS]) ++ AC_SUBST([NUMA_LIBS]) ++ LIBS="$LIBS $NUMA_LIBS" ++ AC_SUBST([LIBS]) ++]) ++ + AC_CHECK_LIB(m, floor) + + PKG_CHECK_MODULES([GLIB2], [glib-2.0], [], [AC_MSG_ERROR([glib-2.0 is required])]) +-- +2.30.2 + diff --git a/package/irqbalance/0001-fix-uint64_t-printf-format-use-PRIu64.patch b/package/irqbalance/0001-fix-uint64_t-printf-format-use-PRIu64.patch deleted file mode 100644 index 95a9616c71e..00000000000 --- a/package/irqbalance/0001-fix-uint64_t-printf-format-use-PRIu64.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 0cdc7a22d5156440fecff14c438d4e24261ac793 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sat, 20 Feb 2021 23:38:56 +0100 -Subject: [PATCH] fix uint64_t printf format (use PRIu64) - -Fixes (on arm 32-bit): - - $ irqbalance-ui - Invalid data sent. Unexpected token: (null)TYPE - -And strace showed the following: - - 237 sendmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="stats", iov_len=5}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=237, uid=0, gid=0}}], msg_controllen=24, msg_flags=0}, 0) = 5 - 237 recv(3, "TYPE 3 NUMBER -1 LOAD 0 SAVE_MODE 0 (null)TYPE 2 NUMBER 0 LOAD 0 SAVE_MODE 0 (null)TYPE 1 NUMBER 0 LOAD 0 SAVE_MODE 0 (null)TYPE 0 NUMBER 3 LOAD 0 SAVE_MODE 0 (null)TYPE 1 NUMBER 1 LOAD 0 SAVE_MODE 0 (null)TYPE 0 NUMBER 1 LOAD 0 SAVE_MODE 0 (null)TYPE 1 NUMBER 2 LOAD 0 SAVE_MODE 0 (null)TYPE 0 NUMBER 2 LOAD 0 SAVE_MODE 0 (null)TYPE 1 NUMBER 3 LOAD 0 SAVE_MODE 0 (null)TYPE 0 NUMBER 0 LOAD 0 SAVE_MODE 0 (null)", 8192, 0) = 411 - -[backported from upstream] -Signed-off-by: Peter Seiderer ---- - cputree.c | 3 ++- - irqbalance.c | 5 +++-- - ui/ui.c | 5 +++-- - 3 files changed, 8 insertions(+), 5 deletions(-) - -diff --git a/cputree.c b/cputree.c -index fda0200..a8dba73 100644 ---- a/cputree.c -+++ b/cputree.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - - #include - -@@ -417,7 +418,7 @@ static void dump_irq(struct irq_info *info, void *data) - indent[i] = log_indent[0]; - - indent[i] = '\0'; -- log(TO_CONSOLE, LOG_INFO, "%sInterrupt %i node_num is %d (%s/%lu:%lu) \n", indent, -+ log(TO_CONSOLE, LOG_INFO, "%sInterrupt %i node_num is %d (%s/%" PRIu64 ":%" PRIu64 ") \n", indent, - info->irq, irq_numa_node(info)->number, classes[info->class], info->load, (info->irq_count - info->last_irq_count)); - free(indent); - } -diff --git a/irqbalance.c b/irqbalance.c -index 9baa955..458bb07 100644 ---- a/irqbalance.c -+++ b/irqbalance.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - #ifdef HAVE_GETOPT_LONG - #include - #endif -@@ -357,7 +358,7 @@ void get_irq_data(struct irq_info *irq, void *data) - *irqdata = newptr; - - sprintf(*irqdata + strlen(*irqdata), -- "IRQ %d LOAD %lu DIFF %lu CLASS %d ", irq->irq, irq->load, -+ "IRQ %d LOAD %" PRIu64 " DIFF %" PRIu64 " CLASS %d ", irq->irq, irq->load, - (irq->irq_count - irq->last_irq_count), irq->class); - } - -@@ -395,7 +396,7 @@ void get_object_stat(struct topo_obj *object, void *data) - - *stats = newptr; - -- sprintf(*stats + strlen(*stats), "TYPE %d NUMBER %d LOAD %lu SAVE_MODE %d %s", -+ sprintf(*stats + strlen(*stats), "TYPE %d NUMBER %d LOAD %" PRIu64 " SAVE_MODE %d %s", - object->obj_type, object->number, object->load, - object->powersave_mode, irq_data ? irq_data : ""); - free(irq_data); -diff --git a/ui/ui.c b/ui/ui.c -index 06ec472..4cf68bf 100644 ---- a/ui/ui.c -+++ b/ui/ui.c -@@ -1,4 +1,5 @@ - -+#include - #include - #include "ui.h" - -@@ -563,7 +564,7 @@ void settings() - - char info[128] = "Current sleep interval between rebalancing: \0"; - uint8_t sleep_input_offset = strlen(info) + 3; -- snprintf(info + strlen(info), 128 - strlen(info), "%lu\n", setup.sleep); -+ snprintf(info + strlen(info), 128 - strlen(info), "%" PRIu64 "\n", setup.sleep); - attrset(COLOR_PAIR(1)); - mvprintw(2, 3, info); - print_all_cpus(); -@@ -588,7 +589,7 @@ void settings() - if(new_sleep != setup.sleep) { - setup.sleep = new_sleep; - char settings_data[128]; -- snprintf(settings_data, 128, "%s %lu", SET_SLEEP, new_sleep); -+ snprintf(settings_data, 128, "%s %" PRIu64, SET_SLEEP, new_sleep); - send_settings(settings_data); - } - break; --- -2.25.1 - diff --git a/package/irqbalance/irqbalance.hash b/package/irqbalance/irqbalance.hash index 2e7cf49c25f..49118f8c7da 100644 --- a/package/irqbalance/irqbalance.hash +++ b/package/irqbalance/irqbalance.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5ace9dd69d5190e24ee34210c3131333e9963e3ba649bf9237eabb4313c300d2 irqbalance-1.6.0.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 2e7ddb9687a6a5cc1f41626659eac2ad9d6b5875629156b92f693bd404d8ae63 irqbalance-1.8.0.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/irqbalance/irqbalance.mk b/package/irqbalance/irqbalance.mk index 36e9e424937..1efc0b7fa27 100644 --- a/package/irqbalance/irqbalance.mk +++ b/package/irqbalance/irqbalance.mk @@ -4,10 +4,11 @@ # ################################################################################ -IRQBALANCE_VERSION = 1.6.0 +IRQBALANCE_VERSION = 1.8.0 IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,v$(IRQBALANCE_VERSION)) IRQBALANCE_LICENSE = GPL-2.0 IRQBALANCE_LICENSE_FILES = COPYING +IRQBALANCE_SELINUX_MODULES = irqbalance IRQBALANCE_DEPENDENCIES = host-pkgconf libglib2 # Autoreconf needed because package is distributed without a configure script IRQBALANCE_AUTORECONF = YES diff --git a/package/irssi/irssi.hash b/package/irssi/irssi.hash index 6a91e164876..05555250a7a 100644 --- a/package/irssi/irssi.hash +++ b/package/irssi/irssi.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 414fdee2ffaeb90a55f141b7fb3899608631dc891e2bc1f5e91ca31f1a621101 irssi-1.0.8.tar.xz +sha256 a647bfefed14d2221fa77b6edac594934dc672c4a560417b1abcbbc6b88d769f irssi-1.2.3.tar.xz # Locally calculated -sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING +sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING diff --git a/package/irssi/irssi.mk b/package/irssi/irssi.mk index c64690c59b2..da71622a049 100644 --- a/package/irssi/irssi.mk +++ b/package/irssi/irssi.mk @@ -4,7 +4,7 @@ # ################################################################################ -IRSSI_VERSION = 1.0.8 +IRSSI_VERSION = 1.2.3 IRSSI_SOURCE = irssi-$(IRSSI_VERSION).tar.xz # Do not use the github helper here. The generated tarball is *NOT* the # same as the one uploaded by upstream for the release. diff --git a/package/isl/isl.hash b/package/isl/isl.hash index 40d04dca80f..3df331b1435 100644 --- a/package/isl/isl.hash +++ b/package/isl/isl.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6c8bc56c477affecba9c59e2c9f026967ac8bad01b51bdd07916db40a517b9fa isl-0.22.tar.xz -sha256 3a2c398103f6bca0f50a9a9465deca9230b370b0212af5fdf31ed88a36215c30 LICENSE +sha256 5efc53efaef151301f4e7dde3856b66812d8153dede24fab17673f801c8698f2 isl-0.23.tar.xz +sha256 3a2c398103f6bca0f50a9a9465deca9230b370b0212af5fdf31ed88a36215c30 LICENSE diff --git a/package/isl/isl.mk b/package/isl/isl.mk index a1a597d0385..df57c83f55d 100644 --- a/package/isl/isl.mk +++ b/package/isl/isl.mk @@ -4,9 +4,9 @@ # ################################################################################ -ISL_VERSION = 0.22 +ISL_VERSION = 0.23 ISL_SOURCE = isl-$(ISL_VERSION).tar.xz -ISL_SITE = http://isl.gforge.inria.fr +ISL_SITE = https://libisl.sourceforge.io ISL_LICENSE = MIT ISL_LICENSE_FILES = LICENSE HOST_ISL_DEPENDENCIES = host-gmp diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk index 568692c46cb..b123973a909 100644 --- a/package/iucode-tool/iucode-tool.mk +++ b/package/iucode-tool/iucode-tool.mk @@ -7,13 +7,15 @@ IUCODE_TOOL_VERSION = 2.3.1 IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master -ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) -IUCODE_TOOL_DEPENDENCIES = argp-standalone -endif IUCODE_TOOL_LICENSE = GPL-2.0+ IUCODE_TOOL_LICENSE_FILES = COPYING IUCODE_TOOL_CPE_ID_VENDOR = iucode-tool_project +ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) +IUCODE_TOOL_DEPENDENCIES += argp-standalone $(TARGET_NLS_DEPENDENCIES) +IUCODE_TOOL_CONF_ENV += LIBS=$(TARGET_NLS_LIBS) +endif + define IUCODE_TOOL_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/iucode-tool/S00iucode-tool \ $(TARGET_DIR)/etc/init.d/S00iucode-tool diff --git a/package/iw/iw.hash b/package/iw/iw.hash index 126b1cb6734..33dd117368a 100644 --- a/package/iw/iw.hash +++ b/package/iw/iw.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/network/iw/sha256sums.asc -sha256 293a07109aeb7e36267cf59e3ce52857e9ffae3a6666eb8ac77894b1839fe1f2 iw-5.9.tar.xz +sha256 4c44e42762f903f9094ba5a598998c800a97a62afd6fd31ec1e0a799e308659c iw-5.16.tar.xz # Locally calculated sha256 5932fb70481e128940168a5fdf133e6454293c0865c7e757874b235cb6daa2af COPYING diff --git a/package/iw/iw.mk b/package/iw/iw.mk index 32ecf93c196..9bf6ddbfc6c 100644 --- a/package/iw/iw.mk +++ b/package/iw/iw.mk @@ -4,7 +4,7 @@ # ################################################################################ -IW_VERSION = 5.9 +IW_VERSION = 5.16 IW_SOURCE = iw-$(IW_VERSION).tar.xz IW_SITE = $(BR2_KERNEL_MIRROR)/software/network/iw IW_LICENSE = ISC diff --git a/package/iwd/0001-configure.ac-fix-static-build-with-readline.patch b/package/iwd/0001-configure.ac-fix-static-build-with-readline.patch deleted file mode 100644 index 37dbdb18e50..00000000000 --- a/package/iwd/0001-configure.ac-fix-static-build-with-readline.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 358e0755c3a434d7a815519b8c10ae5d347caad0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 16 Dec 2020 07:51:04 +0100 -Subject: [PATCH] configure.ac: fix static build with readline - -Retrieve the dependencies of readline through pkg-config (and fallback -to -lreadline) to avoid the following build failure: - -/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: /nvme/rc-buildroot-test/scripts/instance-0/output-1/host/bin/../x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libreadline.a(display.o): in function `cr': -display.c:(.text+0x1ab): undefined reference to `tputs' - -Fixes: - - http://autobuild.buildroot.org/results/8fb1341f2f5094c346456b43b4fc04996c2e1485 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://lists.01.org/hyperkitty/list/iwd@lists.01.org/thread/NFI4P52Y65T6XX7S7DGIVDMZISNQWUUC/] ---- - Makefile.am | 4 ++-- - configure.ac | 3 +++ - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 3cd7eaa6..493d06cc 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -288,7 +288,7 @@ client_iwctl_SOURCES = client/main.c \ - client/network.h client/network.c \ - client/properties.h client/properties.c \ - client/wsc.c client/station.c --client_iwctl_LDADD = $(ell_ldadd) -lreadline -+client_iwctl_LDADD = $(ell_ldadd) $(READLINE_LIBS) - - if MANUAL_PAGES - man_MANS += client/iwctl.1 -@@ -504,7 +504,7 @@ unit_test_client_SOURCES = unit/test-client.c \ - client/display.h client/display.c \ - client/network.h client/network.c \ - client/properties.h client/properties.c --unit_test_client_LDADD = $(ell_ldadd) -lreadline -+unit_test_client_LDADD = $(ell_ldadd) $(READLINE_LIBS) - endif - - unit_test_sae_SOURCES = unit/test-sae.c \ -diff --git a/configure.ac b/configure.ac -index 7bd917a4..52f27ed9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -154,6 +154,9 @@ AC_ARG_ENABLE([client], AC_HELP_STRING([--disable-client], - if (test "${enable_client}" != "no"); then - AC_CHECK_HEADERS(readline/readline.h, enable_readline=yes, - AC_MSG_ERROR(readline header files are required)) -+ PKG_CHECK_MODULES(READLINE, readline, dummy=yes, READLINE_LIBS=-lreadline) -+ AC_SUBST(READLINE_CFLAGS) -+ AC_SUBST(READLINE_LIBS) - fi - AM_CONDITIONAL(CLIENT, test "${enable_client}" != "no") - --- -2.29.2 - diff --git a/package/iwd/iwd.hash b/package/iwd/iwd.hash index f1ee23dc5d7..1a58ec88e8b 100644 --- a/package/iwd/iwd.hash +++ b/package/iwd/iwd.hash @@ -1,5 +1,5 @@ -# Locally computed -sha256 c3ea43eccf27bb92d4e4482ff407cdabd2d1a1e4647d646241de87f2774e9a20 iwd-1.10-br1.tar.gz +# From https://mirrors.edge.kernel.org/pub/linux/network/wireless/sha256sums.asc +sha256 61b5e48380cd3a6d0529f725eb6974157f1410af165f5d266b87add0bf395224 iwd-1.24.tar.xz # License files sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/iwd/iwd.mk b/package/iwd/iwd.mk index 652beb838f8..548b508edb3 100644 --- a/package/iwd/iwd.mk +++ b/package/iwd/iwd.mk @@ -4,28 +4,22 @@ # ################################################################################ -IWD_VERSION = 1.10 -IWD_SITE = https://git.kernel.org/pub/scm/network/wireless/iwd.git -IWD_SITE_METHOD = git +IWD_VERSION = 1.24 +IWD_SOURCE = iwd-$(IWD_VERSION).tar.xz +IWD_SITE = $(BR2_KERNEL_MIRROR)/linux/network/wireless IWD_LICENSE = LGPL-2.1+ IWD_LICENSE_FILES = COPYING IWD_CPE_ID_VENDOR = intel IWD_CPE_ID_PRODUCT = inet_wireless_daemon -# sources from git, no configure script provided -IWD_AUTORECONF = YES IWD_SELINUX_MODULES = networkmanager +# We're patching configure.ac +IWD_AUTORECONF = YES IWD_CONF_OPTS = \ --disable-manual-pages \ --enable-external-ell IWD_DEPENDENCIES = ell -# autoreconf requires an existing build-aux directory -define IWD_MKDIR_BUILD_AUX - mkdir -p $(@D)/build-aux -endef -IWD_POST_PATCH_HOOKS += IWD_MKDIR_BUILD_AUX - ifeq ($(BR2_PACKAGE_DBUS),y) IWD_CONF_OPTS += --enable-dbus-policy --with-dbus-datadir=/usr/share IWD_DEPENDENCIES += dbus @@ -69,4 +63,27 @@ define IWD_INSTALL_INIT_SYSV ln -sf /tmp/iwd/hotspot $(TARGET_DIR)/var/lib/iwd/hotspot endef +define IWD_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_ASYMMETRIC_KEY_TYPE) + $(call KCONFIG_ENABLE_OPT,CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_AES) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_CBC) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_CMAC) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_DES) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_ECB) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_HMAC) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_MD4) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_MD5) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_SHA1) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_SHA256) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_SHA512) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_USER_API_HASH) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_USER_API_SKCIPHER) + $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) + $(call KCONFIG_ENABLE_OPT,CONFIG_KEY_DH_OPERATIONS) + $(call KCONFIG_ENABLE_OPT,CONFIG_PKCS7_MESSAGE_PARSER) + $(call KCONFIG_ENABLE_OPT,CONFIG_PKCS8_PRIVATE_KEY_PARSER) + $(call KCONFIG_ENABLE_OPT,CONFIG_X509_CERTIFICATE_PARSER) +endef + $(eval $(autotools-package)) diff --git a/package/jack1/Config.in b/package/jack1/Config.in index b9299e2fd83..5b3116e2f15 100644 --- a/package/jack1/Config.in +++ b/package/jack1/Config.in @@ -10,8 +10,6 @@ config BR2_PACKAGE_JACK1 select BR2_PACKAGE_ALSA_LIB_RAWMIDI select BR2_PACKAGE_ALSA_LIB_SEQ select BR2_PACKAGE_BERKELEYDB - select BR2_PACKAGE_LIBSAMPLERATE - select BR2_PACKAGE_LIBSNDFILE help JACK Audio Connection Kit (JACK 1 implementation). @@ -25,7 +23,7 @@ config BR2_PACKAGE_JACK1 Another implementation (BR2_PACKAGE_JACK2) is also available, please consult the documentation to choose the right one: - https://github.com/jackaudio/jackaudio.github.com/wiki/Q_difference_jack1_jack2 + https://github.com/jackaudio/jackaudio.github.com/wiki/Differences-between-jack1-and-jack2 comment "jack1 needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU diff --git a/package/jack1/jack1.mk b/package/jack1/jack1.mk index 2f97434ebef..6dca56001fe 100644 --- a/package/jack1/jack1.mk +++ b/package/jack1/jack1.mk @@ -11,9 +11,15 @@ JACK1_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) JACK1_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL JACK1_INSTALL_STAGING = YES -# Dependency to celt can't be met: jack1 requires celt >= 0.8.0 but we -# only have 0.5.1.3 and we cannot upgrade. -JACK1_DEPENDENCIES = host-pkgconf alsa-lib berkeleydb libsamplerate libsndfile +JACK1_DEPENDENCIES = host-pkgconf alsa-lib berkeleydb + +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +JACK1_DEPENDENCIES += libsamplerate +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +JACK1_DEPENDENCIES += libsndfile +endif ifeq ($(BR2_PACKAGE_READLINE),y) JACK1_DEPENDENCIES += readline diff --git a/package/jack2/Config.in b/package/jack2/Config.in index f9de7be0416..8abdda63763 100644 --- a/package/jack2/Config.in +++ b/package/jack2/Config.in @@ -30,20 +30,19 @@ config BR2_PACKAGE_JACK2_LEGACY help Build and use jackd. - https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging + https://github.com/jackaudio/jackaudio.github.com/wiki/JACK-DBus-packaging config BR2_PACKAGE_JACK2_DBUS bool "dbus jack2" depends on BR2_USE_WCHAR # dbus-python, python select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_PYTHON - select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime help Build and use jackdbus. - https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging + https://github.com/jackaudio/jackaudio.github.com/wiki/JACK-DBus-packaging endif diff --git a/package/jack2/jack2.hash b/package/jack2/jack2.hash index df708f7ca55..6361473cf7f 100644 --- a/package/jack2/jack2.hash +++ b/package/jack2/jack2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 38f674bbc57852a8eb3d9faa1f96a0912d26f7d5df14c11005ad499c8ae352f2 jack2-1.9.17.tar.gz +sha256 915ad2900992159bdb729b9fc4ea134b962ce32b2df0b384fee40a2c5808835d jack2-1.9.20.tar.gz sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk index e6a036bac98..6939aac9a68 100644 --- a/package/jack2/jack2.mk +++ b/package/jack2/jack2.mk @@ -4,7 +4,7 @@ # ################################################################################ -JACK2_VERSION = 1.9.17 +JACK2_VERSION = 1.9.20 JACK2_SITE = $(call github,jackaudio,jack2,v$(JACK2_VERSION)) JACK2_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) JACK2_LICENSE_FILES = COPYING @@ -14,12 +14,23 @@ JACK2_INSTALL_STAGING = YES JACK2_CONF_OPTS = --alsa +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +JACK2_DEPENDENCIES += libexecinfo +JACK2_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" +endif + ifeq ($(BR2_PACKAGE_OPUS),y) JACK2_DEPENDENCIES += opus +JACK2_CONF_OPTS += --opus=yes +else +JACK2_CONF_OPTS += --opus=no endif ifeq ($(BR2_PACKAGE_READLINE),y) JACK2_DEPENDENCIES += readline +JACK2_CONF_OPTS += --readline=yes +else +JACK2_CONF_OPTS += --readline=no endif ifeq ($(BR2_PACKAGE_JACK2_LEGACY),y) diff --git a/package/jailhouse/Config.in b/package/jailhouse/Config.in index 596b4951dbc..445414162f7 100644 --- a/package/jailhouse/Config.in +++ b/package/jailhouse/Config.in @@ -11,15 +11,15 @@ if BR2_PACKAGE_JAILHOUSE config BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS bool "helper scripts" - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_MAKO # runtime help Python-based helpers for the Jailhouse Hypervisor. https://github.com/siemens/jailhouse -comment "helper scripts require Python" - depends on !BR2_PACKAGE_PYTHON +comment "helper scripts require Python3" + depends on !BR2_PACKAGE_PYTHON3 endif diff --git a/package/janet/Config.in b/package/janet/Config.in new file mode 100644 index 00000000000..0e25ce34e3e --- /dev/null +++ b/package/janet/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_JANET + bool "janet" + help + Janet is a functional and imperative programming language. + The entire language (core library, interpreter, compiler, + assembler, PEG) is less than 1MB. You can also add Janet + scripting to an application by embedding a single C file + and two headers. + + https://janet-lang.org/ diff --git a/package/janet/janet.hash b/package/janet/janet.hash new file mode 100644 index 00000000000..a93129cfa57 --- /dev/null +++ b/package/janet/janet.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 7c6969f8e82badc7afa28aa1054555c1c91d2858f9f45c41a82557f5c5ce85bd janet-1.22.0.tar.gz + +# Locally calculated +sha256 e2d2ae8360d95386af751ac7d1a3da36ea8ceb230e5f0eba7eb762547b1c58c9 LICENSE diff --git a/package/janet/janet.mk b/package/janet/janet.mk new file mode 100644 index 00000000000..ad09d47c6a8 --- /dev/null +++ b/package/janet/janet.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# janet +# +################################################################################ + +JANET_VERSION = 1.22.0 +JANET_SITE = $(call github,janet-lang,janet,v$(JANET_VERSION)) +JANET_LICENSE = MIT +JANET_LICENSE_FILES = LICENSE + +JANET_INSTALL_STAGING = YES + +ifeq ($(BR2_STATIC_LIBS),y) +JANET_CONF_OPTS += -Ddynamic_modules=false +endif + +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +JANET_LDFLAGS += $(TARGET_LDFLAGS) -latomic +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +JANET_CONF_OPTS += -Dsingle_threaded=true +endif + +$(eval $(meson-package)) diff --git a/package/jansson/jansson.hash b/package/jansson/jansson.hash index 5c193169810..0d9dc7b5a5a 100644 --- a/package/jansson/jansson.hash +++ b/package/jansson/jansson.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 f4f377da17b10201a60c1108613e78ee15df6b12016b116b6de42209f47a474f jansson-2.13.1.tar.gz +sha256 fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9 jansson-2.14.tar.bz2 sha256 1fff7d37d22157bcd81ab53b6c54da755d7c2f868f15807d9bde920f10730da0 LICENSE diff --git a/package/jansson/jansson.mk b/package/jansson/jansson.mk index 2761ce9b161..99e1817eef8 100644 --- a/package/jansson/jansson.mk +++ b/package/jansson/jansson.mk @@ -4,8 +4,10 @@ # ################################################################################ -JANSSON_VERSION = 2.13.1 -JANSSON_SITE = http://www.digip.org/jansson/releases +JANSSON_VERSION = 2.14 +JANSSON_SOURCE = jansson-$(JANSSON_VERSION).tar.bz2 +JANSSON_SITE = \ + https://github.com/akheron/jansson/releases/download/v$(JANSSON_VERSION) JANSSON_LICENSE = MIT JANSSON_LICENSE_FILES = LICENSE JANSSON_CPE_ID_VENDOR = jansson_project diff --git a/package/janus-gateway/0001-disable-ssp.patch b/package/janus-gateway/0001-disable-ssp.patch index 22f7f1a417f..0c9b006ed9f 100644 --- a/package/janus-gateway/0001-disable-ssp.patch +++ b/package/janus-gateway/0001-disable-ssp.patch @@ -12,6 +12,8 @@ Signed-off-by: Thomas Petazzoni Signed-off-by: Bernd Kuhls (rebased against v0.6.3) Signed-off-by: Adam Duskett +[Upstream status: rejected +(https://github.com/meetecho/janus-gateway/pull/1801)] --- configure.ac | 1 - 1 file changed, 1 deletion(-) diff --git a/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch b/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch index b54c8cbec64..2dfcc76d684 100644 --- a/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch +++ b/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch @@ -18,6 +18,8 @@ Signed-off-by: Thomas Petazzoni Signed-off-by: Bernd Kuhls (rebased against v0.6.3) Signed-off-by: Adam Duskett +[Upstream status: rejected +(https://github.com/meetecho/janus-gateway/pull/1789)] --- Makefile.am | 1 + configure.ac | 6 ++- diff --git a/package/janus-gateway/0003-Fixed-missing-XSS-mitigation.patch b/package/janus-gateway/0003-Fixed-missing-XSS-mitigation.patch new file mode 100644 index 00000000000..e1e612133b1 --- /dev/null +++ b/package/janus-gateway/0003-Fixed-missing-XSS-mitigation.patch @@ -0,0 +1,25 @@ +From f62bba6513ec840761f2434b93168106c7c65a3d Mon Sep 17 00:00:00 2001 +From: Lorenzo Miniero +Date: Wed, 15 Dec 2021 14:10:01 +0100 +Subject: [PATCH] Fixed missing XSS mitigation (see #2817) + +[Retrieved from: +https://github.com/meetecho/janus-gateway/commit/f62bba6513ec840761f2434b93168106c7c65a3d] +Signed-off-by: Fabrice Fontaine +--- + html/textroomtest.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/html/textroomtest.js b/html/textroomtest.js +index bf95a260a..7d5ae832c 100644 +--- a/html/textroomtest.js ++++ b/html/textroomtest.js +@@ -351,7 +351,7 @@ function sendPrivateMsg(username) { + text: JSON.stringify(message), + error: function(reason) { bootbox.alert(reason); }, + success: function() { +- $('#chatroom').append('

[' + getDateString() + '] [whisper to ' + display + '] ' + result); ++ $('#chatroom').append('

[' + getDateString() + '] [whisper to ' + display + '] ' + escapeXmlTags(result)); + $('#chatroom').get(0).scrollTop = $('#chatroom').get(0).scrollHeight; + } + }); diff --git a/package/janus-gateway/janus-gateway.hash b/package/janus-gateway/janus-gateway.hash index ee71979b88e..7aec3d2aa36 100644 --- a/package/janus-gateway/janus-gateway.hash +++ b/package/janus-gateway/janus-gateway.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7f8c58e5c5ed94821ce877169da90c00e4adf81920ed383a2e0ec241960d121b janus-gateway-0.10.3.tar.gz +sha256 b5fe70d95b9288200df15d5f75cb8eb6db66484c6ded159422a81e880ecb7104 janus-gateway-0.11.6.tar.gz sha256 91d04c97fa1da3fcd28205873276358aafc071c5b00a9ea8c49dd06d487a9dc6 COPYING diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk index bdf8d7a1e00..381843a0af8 100644 --- a/package/janus-gateway/janus-gateway.mk +++ b/package/janus-gateway/janus-gateway.mk @@ -4,10 +4,15 @@ # ################################################################################ -JANUS_GATEWAY_VERSION = 0.10.3 +JANUS_GATEWAY_VERSION = 0.11.6 JANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,v$(JANUS_GATEWAY_VERSION)) JANUS_GATEWAY_LICENSE = GPL-3.0 with OpenSSL exception JANUS_GATEWAY_LICENSE_FILES = COPYING +JANUS_GATEWAY_CPE_ID_VENDOR = meetecho +JANUS_GATEWAY_CPE_ID_PRODUCT = janus + +# 0003-Fixed-missing-XSS-mitigation.patch +JANUS_GATEWAY_IGNORE_CVES += CVE-2021-4124 # ding-libs provides the ini_config library JANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \ @@ -126,4 +131,9 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-systemd-sockets endif +define JANUS_GATEWAY_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/janus-gateway/janus-gateway.service \ + $(TARGET_DIR)/usr/lib/systemd/system/janus-gateway.service +endef + $(eval $(autotools-package)) diff --git a/package/janus-gateway/janus-gateway.service b/package/janus-gateway/janus-gateway.service new file mode 100644 index 00000000000..6e6bc7f0170 --- /dev/null +++ b/package/janus-gateway/janus-gateway.service @@ -0,0 +1,13 @@ +[Unit] +Description=Janus WebRTC Gateway +Wants=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +ExecStart=/usr/bin/janus +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash index c1f1b4f6028..410bcfc683e 100644 --- a/package/jasper/jasper.hash +++ b/package/jasper/jasper.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a82a119e85b7d1f448e61309777fa5f79053a9adca4a2b5bfe44be5439fb8fea jasper-2.0.26.tar.gz +sha256 28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a jasper-2.0.33.tar.gz sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index b9cbe5749ba..6b6bbcd6e6e 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -4,16 +4,16 @@ # ################################################################################ -JASPER_VERSION = 2.0.26 -JASPER_SITE = $(call github,jasper-software,jasper,version-$(JASPER_VERSION)) +JASPER_VERSION = 2.0.33 +JASPER_SITE = https://github.com/jasper-software/jasper/releases/download/version-$(JASPER_VERSION) JASPER_INSTALL_STAGING = YES JASPER_LICENSE = JasPer-2.0 JASPER_LICENSE_FILES = LICENSE JASPER_CPE_ID_VENDOR = jasper_project JASPER_SUPPORTS_IN_SOURCE_BUILD = NO JASPER_CONF_OPTS = \ - -DCMAKE_DISABLE_FIND_PACKAGE_DOXYGEN=TRUE \ - -DCMAKE_DISABLE_FIND_PACKAGE_LATEX=TRUE + -DJAS_ENABLE_DOC=OFF \ + -DJAS_ENABLE_PROGRAMS=OFF ifeq ($(BR2_STATIC_LIBS),y) JASPER_CONF_OPTS += -DJAS_ENABLE_SHARED=OFF diff --git a/package/jh71xx-tools/Config.in.host b/package/jh71xx-tools/Config.in.host new file mode 100644 index 00000000000..08872f295c5 --- /dev/null +++ b/package/jh71xx-tools/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_JH71XX_TOOLS + bool "host jh71xx-tools" + depends on BR2_riscv + help + Bootloader recovery and updater tool for StarFive JH7100 SoCs. + + https://github.com/kprasadvnsi/JH71xx-tools diff --git a/package/jh71xx-tools/jh71xx-tools.hash b/package/jh71xx-tools/jh71xx-tools.hash new file mode 100644 index 00000000000..6bc7abe9d0b --- /dev/null +++ b/package/jh71xx-tools/jh71xx-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0f16ea896164f6e8bfe0a03bbbd95ff14d474445ba6f045f9377d01282c9364f jh71xx-tools-7a29f4b9d2355aa39afa8680680909bb74e4991d.tar.gz +sha256 cf03c59b41f6d8a5046f7bff4bbe3576075314299a4d0828d7855bf60af81001 LICENSE diff --git a/package/jh71xx-tools/jh71xx-tools.mk b/package/jh71xx-tools/jh71xx-tools.mk new file mode 100644 index 00000000000..f082e2a453b --- /dev/null +++ b/package/jh71xx-tools/jh71xx-tools.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# jh71xx-tools +# +################################################################################ + +JH71XX_TOOLS_VERSION = 7a29f4b9d2355aa39afa8680680909bb74e4991d +JH71XX_TOOLS_SITE = $(call github,kprasadvnsi,JH71xx-tools,$(JH71XX_TOOLS_VERSION)) +JH71XX_TOOLS_LICENSE = MIT +JH71XX_TOOLS_LICENSE_FILES = LICENSE + +define HOST_JH71XX_TOOLS_BUILD_CMDS + $(HOSTCC) -o $(@D)/jh7100-recover $(@D)/jh7100-recover.c +endef + +define HOST_JH71XX_TOOLS_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/jh7100-recover $(HOST_DIR)/bin/jh7100-recover +endef + +$(eval $(host-generic-package)) diff --git a/package/jhead/jhead.hash b/package/jhead/jhead.hash index ffe75381b3f..bd9c8560d5f 100644 --- a/package/jhead/jhead.hash +++ b/package/jhead/jhead.hash @@ -1,3 +1,3 @@ # Locally calculated from download (no sig, hash) -sha256 ef89bbcf4f6c25ed88088cf242a47a6aedfff4f08cc7dc205bf3e2c0f10a03c9 jhead-3.04.tar.gz -sha256 46c870a208305489eea862ec8b05b030ba1f06d99195f660dc0ba541cc38d82b readme.txt +sha256 5c5258c3d7a840bf831e22174e4a24cb1de3baf442f7cb73d5ab31b4ae0b0058 jhead-3.06.0.1.tar.gz +sha256 8b709512c737fc0c1e1024800b9a44c54d14ab02132c636a66c3ac66955c3e95 readme.txt diff --git a/package/jhead/jhead.mk b/package/jhead/jhead.mk index 49cb03da617..a206e2fe342 100644 --- a/package/jhead/jhead.mk +++ b/package/jhead/jhead.mk @@ -4,8 +4,8 @@ # ################################################################################ -JHEAD_VERSION = 3.04 -JHEAD_SITE = http://www.sentex.net/~mwandel/jhead +JHEAD_VERSION = 3.06.0.1 +JHEAD_SITE = $(call github,Matthias-Wandel,jhead,$(JHEAD_VERSION)) JHEAD_LICENSE = Public Domain JHEAD_LICENSE_FILES = readme.txt JHEAD_CPE_ID_VENDOR = jhead_project diff --git a/package/jimtcl/jimtcl.hash b/package/jimtcl/jimtcl.hash index 21d75c4f427..d4174a3da68 100644 --- a/package/jimtcl/jimtcl.hash +++ b/package/jimtcl/jimtcl.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ab8204cd03b946f5149e1273af9c86d8e73b146084a0fbeb1d4f41a75b0b3411 jimtcl-0.79.tar.gz -sha256 419f1146334e57fb258d6c957d1f94d43455ec0d24b1b54c4447e5f61a353950 LICENSE +sha256 ab7eb3680ba0d16f4a9eb1e05b7fcbb7d23438e25185462c55cd032a1954a985 jimtcl-0.81.tar.gz +sha256 419f1146334e57fb258d6c957d1f94d43455ec0d24b1b54c4447e5f61a353950 LICENSE diff --git a/package/jimtcl/jimtcl.mk b/package/jimtcl/jimtcl.mk index e712dff0beb..2f8e0e6c690 100644 --- a/package/jimtcl/jimtcl.mk +++ b/package/jimtcl/jimtcl.mk @@ -4,7 +4,7 @@ # ################################################################################ -JIMTCL_VERSION = 0.79 +JIMTCL_VERSION = 0.81 JIMTCL_SITE = $(call github,msteveb,jimtcl,$(JIMTCL_VERSION)) JIMTCL_INSTALL_STAGING = YES JIMTCL_LICENSE = BSD-2-Clause diff --git a/package/jitterentropy-library/0001-Makefile-add-ENABLE_STACK_PROTECTOR.patch b/package/jitterentropy-library/0001-Makefile-add-ENABLE_STACK_PROTECTOR.patch new file mode 100644 index 00000000000..c4388663b0f --- /dev/null +++ b/package/jitterentropy-library/0001-Makefile-add-ENABLE_STACK_PROTECTOR.patch @@ -0,0 +1,52 @@ +From 272ee47892563e849f6b1bf59b0173f8aa33b631 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 19 Dec 2021 11:36:13 +0100 +Subject: [PATCH] Makefile: add ENABLE_STACK_PROTECTOR + +Add ENABLE_STACK_PROTECTOR as build on embedded toolchains without +stack-protector is again broken since +https://github.com/smuellerDD/jitterentropy-library/commit/5b3cb7f35e41ba2f34a75d004cf095c965a1a0c4: + +/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/i686-buildroot-linux-uclibc/9.3.0/../../../../i686-buildroot-linux-uclibc/bin/ld: src/jitterentropy-base.o: in function `jent_fips_enabled': +jitterentropy-base.c:(.text+0x131): undefined reference to `__stack_chk_fail_local' + +Fixes: + - http://autobuild.buildroot.org/results/8dee462d16d934dd173d58f17933c6911e4336bf + +Signed-off-by: Fabrice Fontaine +Signed-off-by: Stephan Mueller +[Retrieved from: +https://github.com/smuellerDD/jitterentropy-library/commit/272ee47892563e849f6b1bf59b0173f8aa33b631] +--- + Makefile | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index dfb96a8..c999ef5 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,6 +2,7 @@ + + CC ?= gcc + #Hardening ++ENABLE_STACK_PROTECTOR ?= 1 + CFLAGS ?= -fwrapv --param ssp-buffer-size=4 -fvisibility=hidden -fPIE -Wcast-align -Wmissing-field-initializers -Wshadow -Wswitch-enum + CFLAGS +=-Wextra -Wall -pedantic -fPIC -O0 -fwrapv -Wconversion + LDFLAGS +=-Wl,-z,relro,-z,now -lpthread +@@ -13,10 +14,12 @@ else + GCC_GTEQ_490 := $(shell expr `$(CC) -dumpfullversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 40900) + endif + +-ifeq "$(GCC_GTEQ_490)" "1" +- CFLAGS += -fstack-protector-strong +-else +- CFLAGS += -fstack-protector-all ++ifeq "$(ENABLE_STACK_PROTECTOR)" "1" ++ ifeq "$(GCC_GTEQ_490)" "1" ++ CFLAGS += -fstack-protector-strong ++ else ++ CFLAGS += -fstack-protector-all ++ endif + endif + + # Change as necessary diff --git a/package/jitterentropy-library/0001-Makefile-cleanup-install.patch b/package/jitterentropy-library/0001-Makefile-cleanup-install.patch deleted file mode 100644 index 9c7e40369ac..00000000000 --- a/package/jitterentropy-library/0001-Makefile-cleanup-install.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 060b9b4147f6e5ff386a8b017796118d783e59fa Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Tue, 22 Oct 2019 12:44:30 -0500 -Subject: [PATCH] Makefile: cleanup install for rebuilds - -Support the ability to rebuild and redeploy without a clean. This -required some force linking and man archive creation. - -Provide the ability to override the stripping of the shared lib for -cases where a embedded target build may want to control stripping -or provide cross arch tools. - -Signed-off-by: Matthew Weber -Signed-off-by: Stephan Mueller -[Retrieved from: -https://github.com/smuellerDD/jitterentropy-library/commit/060b9b4147f6e5ff386a8b017796118d783e59fa] -Signed-off-by: Fabrice Fontaine ---- - Makefile | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 4ff069b..2e78607 100644 ---- a/Makefile -+++ b/Makefile -@@ -14,6 +14,8 @@ LIBDIR := lib - # include target directory - INCDIR := include - -+INSTALL_STRIP ?= install -s -+ - NAME := jitterentropy - LIBMAJOR=$(shell cat jitterentropy-base.c | grep define | grep MAJVERSION | awk '{print $$3}') - LIBMINOR=$(shell cat jitterentropy-base.c | grep define | grep MINVERSION | awk '{print $$3}') -@@ -58,15 +60,15 @@ cppcheck: - install: - install -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man3 - install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/ -- gzip -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3 -+ gzip -f -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3 - install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR) -- install -m 0755 -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/ -+ $(INSTALL_STRIP) -m 0755 lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/ - install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR) - install -m 0644 jitterentropy.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ - install -m 0644 jitterentropy-base-user.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ - $(RM) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) -- ln -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) -- ln -s lib$(NAME).so.$(LIBMAJOR) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so -+ ln -sf lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) -+ ln -sf lib$(NAME).so.$(LIBMAJOR) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so - - clean: - @- $(RM) $(NAME) diff --git a/package/jitterentropy-library/0002-Makefile-add-additional-install-targets.patch b/package/jitterentropy-library/0002-Makefile-add-additional-install-targets.patch deleted file mode 100644 index a331c9f33b4..00000000000 --- a/package/jitterentropy-library/0002-Makefile-add-additional-install-targets.patch +++ /dev/null @@ -1,56 +0,0 @@ -From d545d76cb3173cc98e1421604929248f2d882821 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 24 Oct 2019 18:48:47 +0200 -Subject: [PATCH] Makefile: add additional install targets - -Add install-includes, install-man, install-shared and install-static -targets to allow the user to configure what must be installed - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://github.com/smuellerDD/jitterentropy-library/pull/11] ---- - Makefile | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 2e78607..41bc4f7 100644 ---- a/Makefile -+++ b/Makefile -@@ -57,19 +57,29 @@ scan: $(analyze_plists) - cppcheck: - cppcheck --force -q --enable=performance --enable=warning --enable=portability *.h *.c - --install: -+install: install-man install-shared install-includes -+ -+install-man: - install -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man3 - install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/ - gzip -f -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3 -+ -+install-shared: - install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR) - $(INSTALL_STRIP) -m 0755 lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/ -- install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR) -- install -m 0644 jitterentropy.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ -- install -m 0644 jitterentropy-base-user.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ - $(RM) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) - ln -sf lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) - ln -sf lib$(NAME).so.$(LIBMAJOR) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so - -+install-includes: -+ install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR) -+ install -m 0644 jitterentropy.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ -+ install -m 0644 jitterentropy-base-user.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ -+ -+install-static: -+ install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR) -+ install -m 0755 lib$(NAME).a $(DESTDIR)$(PREFIX)/$(LIBDIR)/ -+ - clean: - @- $(RM) $(NAME) - @- $(RM) $(OBJS) --- -2.23.0 - diff --git a/package/jitterentropy-library/0003-Makefile-allow-the-user-to-disable-stack-protector.patch b/package/jitterentropy-library/0003-Makefile-allow-the-user-to-disable-stack-protector.patch deleted file mode 100644 index eeff0a0fec8..00000000000 --- a/package/jitterentropy-library/0003-Makefile-allow-the-user-to-disable-stack-protector.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 37e8a6a7e5875e20a8de07fbfbb69912f1964f7d Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 28 Oct 2019 09:47:49 +0100 -Subject: [PATCH] Makefile: allow the user to disable stack protector - -Allow the user to disable stack-protector by overriding CFLAGS as it is -not supported by all toolchains. - -Fixes: - - http://autobuild.buildroot.net/results/cba1ae830c7a4d1740098fe67aec59b4dc2f9a03 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/smuellerDD/jitterentropy-library/pull/12] ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 41bc4f7..b0f20e2 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,9 +1,9 @@ - # Compile Noise Source as user space application - - CC ?= gcc --CFLAGS +=-Wextra -Wall -pedantic -fPIC -O0 - #Hardening --CFLAGS +=-fstack-protector-all -fwrapv --param ssp-buffer-size=4 -+CFLAGS ?=-fstack-protector-all --param ssp-buffer-size=4 -+CFLAGS +=-Wextra -Wall -pedantic -fPIC -O0 -fwrapv - LDFLAGS +=-Wl,-z,relro,-z,now - - # Change as necessary --- -2.23.0 - diff --git a/package/jitterentropy-library/Config.in b/package/jitterentropy-library/Config.in index 02f8ff61641..f9ae1bac5a6 100644 --- a/package/jitterentropy-library/Config.in +++ b/package/jitterentropy-library/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_JITTERENTROPY_LIBRARY bool "libjitterentropy" + depends on BR2_TOOLCHAIN_HAS_THREADS help Hardware RNG based on CPU timing jitter. https://github.com/smuellerDD/jitterentropy-library + +comment "libjitterentropy needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/jitterentropy-library/jitterentropy-library.hash b/package/jitterentropy-library/jitterentropy-library.hash index 5ff38f6fea7..760befab533 100644 --- a/package/jitterentropy-library/jitterentropy-library.hash +++ b/package/jitterentropy-library/jitterentropy-library.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 42d4bd1050b5f0d7b45b5453e5b6cfc45c0492bb428791f571d8f69b066351a4 jitterentropy-library-2.2.0.tar.gz -sha256 96b5a6b49aaeeba9036f9b80e6e299d613a8eca158741a25a67dc78792413e23 COPYING -sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd -sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 +sha256 9fcc954763a1dd4afe614a1b360f53b600d3376bbcc4b19177f27abf191ebad5 jitterentropy-library-3.3.1.tar.xz +sha256 7e06574ff822594269083a796d06fa4e5e78c40efe5ca01a72d2a4662e8206df LICENSE +sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 LICENSE.bsd +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 LICENSE.gplv2 diff --git a/package/jitterentropy-library/jitterentropy-library.mk b/package/jitterentropy-library/jitterentropy-library.mk index d9dc031c358..4cdebf46a3b 100644 --- a/package/jitterentropy-library/jitterentropy-library.mk +++ b/package/jitterentropy-library/jitterentropy-library.mk @@ -4,10 +4,12 @@ # ################################################################################ -JITTERENTROPY_LIBRARY_VERSION = 2.2.0 -JITTERENTROPY_LIBRARY_SITE = $(call github,smuellerDD,$(JITTERENTROPY_LIBRARY_NAME),v$(JITTERENTROPY_LIBRARY_VERSION)) +JITTERENTROPY_LIBRARY_VERSION = 3.3.1 +JITTERENTROPY_LIBRARY_SOURCE = \ + jitterentropy-library-$(JITTERENTROPY_LIBRARY_VERSION).tar.xz +JITTERENTROPY_LIBRARY_SITE = http://www.chronox.de/jent JITTERENTROPY_LIBRARY_LICENSE = GPL-2.0 or BSD-3-Clause -JITTERENTROPY_LIBRARY_LICENSE_FILES = COPYING COPYING.bsd COPYING.gplv2 +JITTERENTROPY_LIBRARY_LICENSE_FILES = LICENSE LICENSE.bsd LICENSE.gplv2 JITTERENTROPY_LIBRARY_INSTALL_STAGING = YES JITTERENTROPY_LIBRARY_INSTALL_TARGETS = install-includes JITTERENTROPY_LIBRARY_SELINUX_MODULES = entropyd @@ -24,7 +26,7 @@ endif define JITTERENTROPY_LIBRARY_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - $(JITTERENTROPY_LIBRARY_BUILD_TARGETS) + ENABLE_STACK_PROTECTOR=0 $(JITTERENTROPY_LIBRARY_BUILD_TARGETS) endef define JITTERENTROPY_LIBRARY_INSTALL_STAGING_CMDS diff --git a/package/jo/jo.hash b/package/jo/jo.hash index 8f1cc8fcd93..efad8228a78 100644 --- a/package/jo/jo.hash +++ b/package/jo/jo.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 24c64d2eb863900947f58f32b502c95fec8f086105fd31151b91f54b7b5256a2 jo-1.4.tar.gz +sha256 eb15592f1ba6d5a77468a1438a20e3d21c3d63bb7d045fb3544f223340fcd1a1 jo-1.6.tar.gz sha256 41d8b23dc6e76731f4920b9ce42d0d4a248d243a510319e2441d174a115f35cf COPYING diff --git a/package/jo/jo.mk b/package/jo/jo.mk index 24b499f345f..dd5dd03ddb8 100644 --- a/package/jo/jo.mk +++ b/package/jo/jo.mk @@ -4,7 +4,7 @@ # ################################################################################ -JO_VERSION = 1.4 +JO_VERSION = 1.6 JO_SITE = https://github.com/jpmens/jo/releases/download/$(JO_VERSION) JO_LICENSE = MIT (json.[ch]), GPL-2.0+ (rest) JO_LICENSE_FILES = COPYING diff --git a/package/jose/0002-configure-fix-build-with-old-compilers.patch b/package/jose/0002-configure-fix-build-with-old-compilers.patch deleted file mode 100644 index 0484f38f0de..00000000000 --- a/package/jose/0002-configure-fix-build-with-old-compilers.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 98e9faa4d39cd5b6aaab882877e19ae394ba3810 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 20 Nov 2017 23:10:38 +0100 -Subject: [PATCH] configure: fix build with old compilers - -Old gcc versions (gcc 4.7) do not support all warnings flags currently -hard-coded by configure.ac. In order to fix this, we import the -AX_CHECK_COMPILE_FLAG() macro from the autoconf-archive, and use it in -the configure.ac to only use warning flags when the compiler supports -them. - -Submitted-upstream: https://github.com/latchset/jose/pull/51 -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 46 +++++++++++++++------------- - m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 105 insertions(+), 22 deletions(-) - create mode 100644 m4/ax_check_compile_flag.m4 - -diff --git a/configure.ac b/configure.ac -index cf8c9a6..6fe4ded 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,6 @@ - AC_PREREQ(2.62) - AC_INIT(jose, 10) -+AC_CONFIG_MACRO_DIRS([m4]) - AC_CANONICAL_SYSTEM - AC_PROG_CC_C99 - -@@ -18,27 +19,30 @@ PKG_CHECK_MODULES([libcrypto], [libcrypto >= 1.0.2]) - AC_OPENMP - AC_SUBST([OPENMP_CFLAGS]) - --JOSE_CFLAGS="\ ---Wall \ ---Wextra \ ---Werror \ ---Wstrict-aliasing \ ---Wchar-subscripts \ ---Wformat-security \ ---Wmissing-declarations \ ---Wmissing-prototypes \ ---Wnested-externs \ ---Wpointer-arith \ ---Wshadow \ ---Wsign-compare \ ---Wstrict-prototypes \ ---Wtype-limits \ ---Wunused-function \ ---Wno-missing-field-initializers \ ---Wno-unused-command-line-argument \ ---Wno-unused-parameter \ ---Wno-unknown-pragmas \ --" -+for flag in \ -+ -Wall \ -+ -Wextra \ -+ -Werror \ -+ -Wstrict-aliasing \ -+ -Wchar-subscripts \ -+ -Wformat-security \ -+ -Wmissing-declarations \ -+ -Wmissing-prototypes \ -+ -Wnested-externs \ -+ -Wpointer-arith \ -+ -Wshadow \ -+ -Wsign-compare \ -+ -Wstrict-prototypes \ -+ -Wtype-limits \ -+ -Wunused-function \ -+ -Wno-missing-field-initializers \ -+ -Wno-unused-command-line-argument \ -+ -Wno-unused-parameter \ -+ -Wno-unknown-pragmas ; do -+ AX_CHECK_COMPILE_FLAG([${flag}], -+ [JOSE_CFLAGS="${JOSE_CFLAGS} ${flag}"]) -+done -+ - AC_SUBST([JOSE_CFLAGS]) - - AC_MSG_CHECKING([for linker script support]) -diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 -new file mode 100644 -index 0000000..dcabb92 ---- /dev/null -+++ b/m4/ax_check_compile_flag.m4 -@@ -0,0 +1,74 @@ -+# =========================================================================== -+# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) -+# -+# DESCRIPTION -+# -+# Check whether the given FLAG works with the current language's compiler -+# or gives an error. (Warnings, however, are ignored) -+# -+# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -+# success/failure. -+# -+# If EXTRA-FLAGS is defined, it is added to the current language's default -+# flags (e.g. CFLAGS) when the check is done. The check is thus made with -+# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to -+# force the compiler to issue an error when a bad flag is given. -+# -+# INPUT gives an alternative input source to AC_COMPILE_IFELSE. -+# -+# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -+# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Guido U. Draheim -+# Copyright (c) 2011 Maarten Bosmans -+# -+# This program is free software: you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by the -+# Free Software Foundation, either version 3 of the License, or (at your -+# option) any later version. -+# -+# This program is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -+# Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program. If not, see . -+# -+# As a special exception, the respective Autoconf Macro's copyright owner -+# gives unlimited permission to copy, distribute and modify the configure -+# scripts that are the output of Autoconf when processing the Macro. You -+# need not follow the terms of the GNU General Public License when using -+# or distributing such scripts, even though portions of the text of the -+# Macro appear in them. The GNU General Public License (GPL) does govern -+# all other use of the material that constitutes the Autoconf Macro. -+# -+# This special exception to the GPL applies to versions of the Autoconf -+# Macro released by the Autoconf Archive. When you make and distribute a -+# modified version of the Autoconf Macro, you may extend this special -+# exception to the GPL to apply to your modified version as well. -+ -+#serial 5 -+ -+AC_DEFUN([AX_CHECK_COMPILE_FLAG], -+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF -+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl -+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ -+ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS -+ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" -+ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], -+ [AS_VAR_SET(CACHEVAR,[yes])], -+ [AS_VAR_SET(CACHEVAR,[no])]) -+ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -+AS_VAR_IF(CACHEVAR,yes, -+ [m4_default([$2], :)], -+ [m4_default([$3], :)]) -+AS_VAR_POPDEF([CACHEVAR])dnl -+])dnl AX_CHECK_COMPILE_FLAGS --- -2.13.6 - diff --git a/package/jose/jose.hash b/package/jose/jose.hash index 376bc0b585f..128d26d1635 100644 --- a/package/jose/jose.hash +++ b/package/jose/jose.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5c9cdcfb535c4d9f781393d7530521c72b1dd81caa9934cab6dd752cc7efcd72 jose-10.tar.bz2 -sha256 09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b COPYING +sha256 e272afe7717e22790c383f3164480627a567c714ccb80c1ee96f62c9929d8225 jose-11.tar.xz +sha256 09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b COPYING diff --git a/package/jose/jose.mk b/package/jose/jose.mk index 2758d408da8..8a60e20cc6f 100644 --- a/package/jose/jose.mk +++ b/package/jose/jose.mk @@ -4,14 +4,12 @@ # ################################################################################ -JOSE_VERSION = 10 -JOSE_SOURCE = jose-$(JOSE_VERSION).tar.bz2 +JOSE_VERSION = 11 +JOSE_SOURCE = jose-$(JOSE_VERSION).tar.xz JOSE_SITE = https://github.com/latchset/jose/releases/download/v$(JOSE_VERSION) JOSE_LICENSE = Apache-2.0 JOSE_LICENSE_FILES = COPYING -# 0002-configure-fix-build-with-old-compilers.patch -JOSE_AUTORECONF = YES JOSE_INSTALL_STAGING = YES JOSE_DEPENDENCIES = host-pkgconf zlib jansson openssl -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/jpeg-turbo/jpeg-turbo.hash b/package/jpeg-turbo/jpeg-turbo.hash index 1a22b1d6ff9..de821996593 100644 --- a/package/jpeg-turbo/jpeg-turbo.hash +++ b/package/jpeg-turbo/jpeg-turbo.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/libjpeg-turbo/files/2.0.6/ -sha1 5406c7676d7df89fb4da791ad5af51202910fb25 libjpeg-turbo-2.0.6.tar.gz -md5 4cada3f0bdc93d826fa31bf9e4469ef6 libjpeg-turbo-2.0.6.tar.gz +# From https://sourceforge.net/projects/libjpeg-turbo/files/2.1.2/ +sha1 65c51c543b1fbba6db9ff5bee474ccb0b52a929f libjpeg-turbo-2.1.2.tar.gz +md5 e181bd78884dd5392a869209bfa41d4a libjpeg-turbo-2.1.2.tar.gz # Locally computed -sha256 d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb libjpeg-turbo-2.0.6.tar.gz -sha256 0b7a24c3906d26dfbe24e96e9415549b387c3227140dc6b7ab2fb924254e37a1 LICENSE.md -sha256 01ccef626ec864773c681d4a4056f72af9052d619e0609df0d369117f8b3efdf README.ijg +sha256 09b96cb8cbff9ea556a9c2d173485fd19488844d55276ed4f42240e1e2073ce5 libjpeg-turbo-2.1.2.tar.gz +sha256 7d8683a7f048e715e08b4cada8b7f0d9a6ab8afad88ed09c1143ef764ecbc0f2 LICENSE.md +sha256 4b7b9f8c03bb8d60270dfd12684e70ab21e4abfd27e73905cd1a7c4cae6f5cdb README.ijg diff --git a/package/jpeg-turbo/jpeg-turbo.mk b/package/jpeg-turbo/jpeg-turbo.mk index 5c977dc0293..ddae019839f 100644 --- a/package/jpeg-turbo/jpeg-turbo.mk +++ b/package/jpeg-turbo/jpeg-turbo.mk @@ -4,7 +4,7 @@ # ################################################################################ -JPEG_TURBO_VERSION = 2.0.6 +JPEG_TURBO_VERSION = 2.1.2 JPEG_TURBO_SOURCE = libjpeg-turbo-$(JPEG_TURBO_VERSION).tar.gz JPEG_TURBO_SITE = https://downloads.sourceforge.net/project/libjpeg-turbo/$(JPEG_TURBO_VERSION) JPEG_TURBO_LICENSE = IJG (libjpeg), BSD-3-Clause (TurboJPEG), Zlib (SIMD) diff --git a/package/jquery-validation/jquery-validation.hash b/package/jquery-validation/jquery-validation.hash index af451a6c1a9..4dbe07e2180 100644 --- a/package/jquery-validation/jquery-validation.hash +++ b/package/jquery-validation/jquery-validation.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 14efe6f1784ef6e97116b15c77b04b7e8f47ec07b1479bcd6fa0b081faa19440 jquery-validation-1.14.0.zip -sha256 c2f9aa180de990ff16ca7e756c9af52ecc1b3536e3fb32649d7b2c510bccf9d0 README.md +sha256 01ad2ef0a7f9cd413aeb51081651293916da47d20e5c0a59ec62587e58b03564 jquery-validation-1.19.3.zip +sha256 3e5a99460077c16bf75f6821a30cdac9baa339119ebf63b2a6c49f4f50421ca4 README.md diff --git a/package/jquery-validation/jquery-validation.mk b/package/jquery-validation/jquery-validation.mk index a8c2897983e..920ed1cece1 100644 --- a/package/jquery-validation/jquery-validation.mk +++ b/package/jquery-validation/jquery-validation.mk @@ -4,11 +4,13 @@ # ################################################################################ -JQUERY_VALIDATION_VERSION = 1.14.0 -JQUERY_VALIDATION_SITE = http://jqueryvalidation.org/files +JQUERY_VALIDATION_VERSION = 1.19.3 +JQUERY_VALIDATION_SITE = https://github.com/jquery-validation/jquery-validation/releases/download/$(JQUERY_VALIDATION_VERSION) JQUERY_VALIDATION_SOURCE = jquery-validation-$(JQUERY_VALIDATION_VERSION).zip JQUERY_VALIDATION_LICENSE = MIT JQUERY_VALIDATION_LICENSE_FILES = README.md +JQUERY_VALIDATION_CPE_ID_VENDOR = jqueryvalidation +JQUERY_VALIDATION_CPE_ID_PRODUCT = jquery_validation define JQUERY_VALIDATION_EXTRACT_CMDS $(UNZIP) -d $(@D) $(JQUERY_VALIDATION_DL_DIR)/$(JQUERY_VALIDATION_SOURCE) diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.hash b/package/json-for-modern-cpp/json-for-modern-cpp.hash index eb9270b3117..a193fa6d496 100644 --- a/package/json-for-modern-cpp/json-for-modern-cpp.hash +++ b/package/json-for-modern-cpp/json-for-modern-cpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9943db11eeaa5b23e58a88fbc26c453faccef7b546e55063ad00e7caaaf76d0b json-3.9.0.tar.gz -sha256 50be9457e5c9faaba5e60d9c73f8eabe9e0737a2d9c3e58357d856661862c18e LICENSE.MIT +sha256 5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4 json-3.10.5.tar.gz +sha256 86b998c792894ccb911a1cb7994f7a9652894e7a094c0b5e45be2f553f45cf14 LICENSE.MIT diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.mk b/package/json-for-modern-cpp/json-for-modern-cpp.mk index 6e21723fd49..fd13ce1fd17 100644 --- a/package/json-for-modern-cpp/json-for-modern-cpp.mk +++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk @@ -4,14 +4,16 @@ # ################################################################################ -JSON_FOR_MODERN_CPP_VERSION = 3.9.0 +JSON_FOR_MODERN_CPP_VERSION = 3.10.5 JSON_FOR_MODERN_CPP_SOURCE = json-$(JSON_FOR_MODERN_CPP_VERSION).tar.gz JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,v$(JSON_FOR_MODERN_CPP_VERSION)) JSON_FOR_MODERN_CPP_LICENSE = MIT JSON_FOR_MODERN_CPP_LICENSE_FILES = LICENSE.MIT +JSON_FOR_MODERN_CPP_CPE_ID_VENDOR = json-for-modern-cpp_project + JSON_FOR_MODERN_CPP_INSTALL_STAGING = YES # header only library JSON_FOR_MODERN_CPP_INSTALL_TARGET = NO -JSON_FOR_MODERN_CPP_CONF_OPTS = -DJSON_BuildTests=OFF +JSON_FOR_MODERN_CPP_CONF_OPTS = -DJSON_BuildTests=OFF -DJSON_MultipleHeaders=ON $(eval $(cmake-package)) diff --git a/package/jsoncpp/jsoncpp.hash b/package/jsoncpp/jsoncpp.hash index 0070a1874ef..99266ae42df 100644 --- a/package/jsoncpp/jsoncpp.hash +++ b/package/jsoncpp/jsoncpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999 jsoncpp-1.9.4.tar.gz -sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a LICENSE +sha256 f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2 jsoncpp-1.9.5.tar.gz +sha256 cec0db5f6d7ed6b3a72647bd50aed02e13c3377fd44382b96dc2915534c042ad LICENSE diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk index 829459df4d4..e7022bfd39f 100644 --- a/package/jsoncpp/jsoncpp.mk +++ b/package/jsoncpp/jsoncpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -JSONCPP_VERSION = 1.9.4 +JSONCPP_VERSION = 1.9.5 JSONCPP_SITE = $(call github,open-source-parsers,jsoncpp,$(JSONCPP_VERSION)) JSONCPP_LICENSE = Public Domain or MIT JSONCPP_LICENSE_FILES = LICENSE diff --git a/package/jszip/0001-fix-Use-a-null-prototype-object-for-this-files.patch b/package/jszip/0001-fix-Use-a-null-prototype-object-for-this-files.patch new file mode 100644 index 00000000000..969db5b403e --- /dev/null +++ b/package/jszip/0001-fix-Use-a-null-prototype-object-for-this-files.patch @@ -0,0 +1,56 @@ +From 22357494f424178cb416cdb7d93b26dd4f824b36 Mon Sep 17 00:00:00 2001 +From: Michael Aquilina +Date: Mon, 14 Jun 2021 12:28:46 +0100 +Subject: [PATCH] fix: Use a null prototype object for this.files + +This approach is taken to prevent overriding object methods that would +exist on a normal object Object.create({}) + +[Retrieved from: +https://github.com/Stuk/jszip/commit/22357494f424178cb416cdb7d93b26dd4f824b36] +Signed-off-by: Fabrice Fontaine +--- + lib/index.js | 5 ++++- + lib/object.js | 6 +++--- + 2 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/lib/index.js b/lib/index.js +index b449877..b4c95ba 100644 +--- a/lib/index.js ++++ b/lib/index.js +@@ -19,7 +19,10 @@ function JSZip() { + // "folder/" : {...}, + // "folder/data.txt" : {...} + // } +- this.files = {}; ++ // NOTE: we use a null prototype because we do not ++ // want filenames like "toString" coming from a zip file ++ // to overwrite methods and attributes in a normal Object. ++ this.files = Object.create(null); + + this.comment = null; + +diff --git a/lib/object.js b/lib/object.js +index 1c9d8e8..aec3db7 100644 +--- a/lib/object.js ++++ b/lib/object.js +@@ -179,16 +179,16 @@ var out = { + */ + forEach: function(cb) { + var filename, relativePath, file; ++ /* jshint ignore:start */ ++ // ignore warning about unwanted properties because this.files is a null prototype object + for (filename in this.files) { +- if (!this.files.hasOwnProperty(filename)) { +- continue; +- } + file = this.files[filename]; + relativePath = filename.slice(this.root.length, filename.length); + if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root + cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn... + } + } ++ /* jshint ignore:end */ + }, + + /** diff --git a/package/jszip/jszip.mk b/package/jszip/jszip.mk index 04bd0a7b34b..a93766be11a 100644 --- a/package/jszip/jszip.mk +++ b/package/jszip/jszip.mk @@ -8,6 +8,10 @@ JSZIP_VERSION = 3.2.2 JSZIP_SITE = $(call github,Stuk,jszip,v$(JSZIP_VERSION)) JSZIP_LICENSE = MIT or GPL-3.0 JSZIP_LICENSE_FILES = LICENSE.markdown +JSZIP_CPE_ID_VENDOR = jszip_project + +# 0001-fix-Use-a-null-prototype-object-for-this-files.patch +JSZIP_IGNORE_CVES += CVE-2021-23413 define JSZIP_INSTALL_TARGET_CMDS $(INSTALL) -m 0644 -D $(@D)/dist/jszip.min.js \ diff --git a/package/kbd/kbd.hash b/package/kbd/kbd.hash index 66ffaeb05bd..324ba065d0d 100644 --- a/package/kbd/kbd.hash +++ b/package/kbd/kbd.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/kbd/sha256sums.asc -sha256 685056143cb8effd0a1d44b5c391eb50d80dcfd014b1a4d6e2650a28d61cb82a kbd-2.3.0.tar.xz +sha256 55f0740458cfd3a84e775e50d7e8b92dc01846db1edad8e2411ccc293ece9b9f kbd-2.4.0.tar.xz sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 COPYING sha256 5a16340fe773f422144b436df90319114a2884933c56e9be6fad642e59be5e1f CREDITS diff --git a/package/kbd/kbd.mk b/package/kbd/kbd.mk index 928b5ffed19..ea2c00a3737 100644 --- a/package/kbd/kbd.mk +++ b/package/kbd/kbd.mk @@ -4,7 +4,7 @@ # ################################################################################ -KBD_VERSION = 2.3.0 +KBD_VERSION = 2.4.0 KBD_SOURCE = kbd-$(KBD_VERSION).tar.xz KBD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd KBD_CONF_OPTS = \ diff --git a/package/keepalived/0001-vrrp-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch b/package/keepalived/0001-vrrp-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch new file mode 100644 index 00000000000..9d5f3f79055 --- /dev/null +++ b/package/keepalived/0001-vrrp-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch @@ -0,0 +1,76 @@ +From edc71b19c619fdc1d71df10a2d0e8f5822965d69 Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Tue, 8 Feb 2022 14:58:49 +0000 +Subject: [PATCH] vrrp: nft didn't support meta l4proro until Linux 3.14 + +For Linux 3.13 (first version to support nftables), we instead specify: +@nh,48,8 58 + +Signed-off-by: Quentin Armitage + +[Retrieved (and updated to drop update of README.kernel_versions) from: +https://github.com/acassen/keepalived/commit/edc71b19c619fdc1d71df10a2d0e8f5822965d69] +Signed-off-by: Fabrice Fontaine +--- + README.kernel_versions | 1 + + configure.ac | 5 +++++ + keepalived/vrrp/vrrp_nftables.c | 16 ++++++++++++++-- + 3 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 350a9f4e9..bc643dbf1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1754,6 +1754,11 @@ if test .${enable_nftables} != .no; then + ],[ + AC_MSG_RESULT(no) + ]) ++ ++ # nft l4proto from Linux 3.14 ++ AC_CHECK_DECLS([NFT_META_L4PROTO], [], [], ++ [#include ]) ++ + # nft dup from Linux 4.3 + AC_CHECK_DECLS([NFTA_DUP_MAX], [], [], + [#include ]) +diff --git a/keepalived/vrrp/vrrp_nftables.c b/keepalived/vrrp/vrrp_nftables.c +index d3ea39db3..8b5095ad4 100644 +--- a/keepalived/vrrp/vrrp_nftables.c ++++ b/keepalived/vrrp/vrrp_nftables.c +@@ -1191,6 +1191,8 @@ setup_rule_move_igmp(uint8_t family, const char *table, + otherwise: + nft add rule ip keepalived out ip protocol igmp [meta oifkind macvlan] oif @vmac_set drop + nft add rule ip6 keepalived out icmpv6 type mld2-listener-report [meta oifkind macvlan] oif @vmac_set drop ++ * ++ * Note: on 3.13 kernels, icmpv6 is specified as @nh,48,8 58 + */ + struct nftnl_rule *r = NULL; + uint64_t handle_num; +@@ -1223,7 +1225,12 @@ setup_rule_move_igmp(uint8_t family, const char *table, + offsetof(struct iphdr, daddr), sizeof(struct in_addr)); + #endif + } else { +- add_meta(r, NFT_META_L4PROTO, NFT_REG_1); ++#if HAVE_DECL_NFT_META_L4PROTO ++ add_meta(r, NFT_META_L4PROTO, NFT_REG_1); /* From Linux 3.14 */ ++#else ++ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, ++ offsetof(struct ip6_hdr, ip6_nxt), sizeof(((struct ip6_hdr *)NULL)->ip6_nxt)); ++#endif + protocol = IPPROTO_ICMPV6; + add_cmp(r, NFT_REG_1, NFT_CMP_EQ, &protocol, sizeof(protocol)); + add_payload(r, NFT_PAYLOAD_TRANSPORT_HEADER, NFT_REG_1, +@@ -1279,7 +1286,12 @@ setup_rule_drop_router_solicit(const char *table, const char *chain, + nftnl_rule_set_u64(r, NFTNL_RULE_POSITION, handle_num); + } + +- add_meta(r, NFT_META_L4PROTO, NFT_REG_1); ++#if HAVE_DECL_NFT_META_L4PROTO ++ add_meta(r, NFT_META_L4PROTO, NFT_REG_1); /* From Linux 3.14 */ ++#else ++ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, ++ offsetof(struct ip6_hdr, ip6_nxt), sizeof(((struct ip6_hdr *)NULL)->ip6_nxt)); ++#endif + protocol = IPPROTO_ICMPV6; + add_cmp(r, NFT_REG_1, NFT_CMP_EQ, &protocol, sizeof(protocol)); + add_payload(r, NFT_PAYLOAD_TRANSPORT_HEADER, NFT_REG_1, diff --git a/package/keepalived/0002-ipvs-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch b/package/keepalived/0002-ipvs-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch new file mode 100644 index 00000000000..3713de37c23 --- /dev/null +++ b/package/keepalived/0002-ipvs-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch @@ -0,0 +1,40 @@ +From 50e8a8d56cd5a3d7184b035708865302bbc7ef69 Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Tue, 8 Feb 2022 17:43:49 +0000 +Subject: [PATCH] ipvs: nft didn't support meta l4proro until Linux 3.14 + +For Linux 3.13 (first version to support nftables), we instead specify: +ipv4: @nh,72,8 PROTO +ipv6: @nh,48,8 PROTO + +Signed-off-by: Quentin Armitage + +[Retrieved from: +https://github.com/acassen/keepalived/commit/50e8a8d56cd5a3d7184b035708865302bbc7ef69] +Signed-off-by: Fabrice Fontaine +--- + keepalived/check/check_nftables.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/keepalived/check/check_nftables.c b/keepalived/check/check_nftables.c +index 2d163ac14..45831203b 100644 +--- a/keepalived/check/check_nftables.c ++++ b/keepalived/check/check_nftables.c +@@ -150,7 +150,16 @@ setup_rule_set_mark(uint8_t family, const char *table, + nftnl_rule_set_u64(r, NFTNL_RULE_POSITION, handle_num); + } + +- add_meta(r, NFT_META_L4PROTO, NFT_REG_1); ++#if HAVE_DECL_NFT_META_L4PROTO ++ add_meta(r, NFT_META_L4PROTO, NFT_REG_1); /* From Linux 3.14 */ ++#else ++ if (family == NFPROTO_IPV4) ++ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, ++ offsetof(struct iphdr, protocol), sizeof(((struct iphdr *)NULL)->protocol)); ++ else ++ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, ++ offsetof(struct ip6_hdr, ip6_nxt), sizeof(((struct ip6_hdr *)NULL)->ip6_nxt)); ++#endif + add_cmp(r, NFT_REG_1, NFT_CMP_EQ, &l4_protocol, sizeof(l4_protocol)); + if (family == NFPROTO_IPV4) + add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, diff --git a/package/keepalived/0003-fix-build-with-libressl.patch b/package/keepalived/0003-fix-build-with-libressl.patch new file mode 100644 index 00000000000..090d35511c6 --- /dev/null +++ b/package/keepalived/0003-fix-build-with-libressl.patch @@ -0,0 +1,50 @@ +From bbec15d4781670ac1be5e543cb04543f79200e69 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 12 Apr 2022 20:30:57 +0200 +Subject: [PATCH] fix build with libressl + +SSL_set0_rbio is provided by libressl since version 3.4.0 and +https://github.com/libressl-portable/openbsd/commit/c99939f9665a9c3c648682b4987df46600b70efc +but SSL_set0_wbio is not provided resulting in the following build +failure: + +/nvmedata/autobuild/instance-9/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/10.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: check/libcheck.a(check_ssl.o): in function `ssl_connect': +check_ssl.c:(.text+0x7da): undefined reference to `SSL_set0_wbio' + +Fixes: + - http://autobuild.buildroot.org/results/76f72a3c7350ea265e2277c89d68e5256410e94c + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/acassen/keepalived/commit/bbec15d4781670ac1be5e543cb04543f79200e69] +--- + configure.ac | 2 +- + keepalived/check/check_ssl.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5a2ea76ec..e8b5ccc41 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1327,7 +1327,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + AC_CHECK_FUNCS([SSL_CTX_set_verify_depth]) + + # SSL_set0_rbio(), SSL_set0_wbio() OPENSSL_init_crypto() and TLS_method() introduced OpenSSL v1.1.0 +-AC_CHECK_FUNCS([SSL_set0_rbio OPENSSL_init_crypto TLS_method]) ++AC_CHECK_FUNCS([SSL_set0_wbio OPENSSL_init_crypto TLS_method]) + + # In OpenSSL v1.1.1 the call to SSL_CTX_new() fails if OPENSSL_init_crypto() has been called with + # OPENSSL_INIT_NO_LOAD_CONFIG. It does not fail in v1.1.0h and v1.1.1b. +diff --git a/keepalived/check/check_ssl.c b/keepalived/check/check_ssl.c +index 0155fce59..2cbedb8d3 100644 +--- a/keepalived/check/check_ssl.c ++++ b/keepalived/check/check_ssl.c +@@ -234,7 +234,7 @@ ssl_connect(thread_ref_t thread, int new_req) + BIO_get_fd(req->bio, &bio_fd); + if (fcntl(bio_fd, F_SETFD, fcntl(bio_fd, F_GETFD) | FD_CLOEXEC) == -1) + log_message(LOG_INFO, "Setting CLOEXEC failed on ssl socket - errno %d", errno); +-#ifdef HAVE_SSL_SET0_RBIO ++#ifdef HAVE_SSL_SET0_WBIO + BIO_up_ref(req->bio); + SSL_set0_rbio(req->ssl, req->bio); + SSL_set0_wbio(req->ssl, req->bio); diff --git a/package/keepalived/keepalived.hash b/package/keepalived/keepalived.hash index 94af43c3e62..9d8ab949b70 100644 --- a/package/keepalived/keepalived.hash +++ b/package/keepalived/keepalived.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 245bf399e4320064996ac5507236a8896f545d005f6c4c3b91701bcbc5728c60 keepalived-2.1.4.tar.gz +sha256 c61940d874154a560a54627ecf7ef47adebdf832164368d10bf242a4d9b7d49d keepalived-2.2.7.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/keepalived/keepalived.mk b/package/keepalived/keepalived.mk index 1a42d0c880f..5d6cf174e35 100644 --- a/package/keepalived/keepalived.mk +++ b/package/keepalived/keepalived.mk @@ -4,12 +4,15 @@ # ################################################################################ -KEEPALIVED_VERSION = 2.1.4 +KEEPALIVED_VERSION = 2.2.7 KEEPALIVED_SITE = http://www.keepalived.org/software KEEPALIVED_DEPENDENCIES = host-pkgconf openssl KEEPALIVED_LICENSE = GPL-2.0+ KEEPALIVED_LICENSE_FILES = COPYING +KEEPALIVED_CPE_ID_VENDOR = keepalived KEEPALIVED_CONF_OPTS = --disable-hardening +# We're patching configure.ac +KEEPALIVED_AUTORECONF = YES ifeq ($(BR2_PACKAGE_JSON_C),y) KEEPALIVED_DEPENDENCIES += json-c @@ -53,4 +56,8 @@ else KEEPALIVED_CONF_OPTS += --disable-nftables endif +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_9),) +KEEPALIVED_CONF_OPTS += --disable-track-process +endif + $(eval $(autotools-package)) diff --git a/package/kexec-lite/kexec-lite.mk b/package/kexec-lite/kexec-lite.mk index 45c5d4d8b71..89d42659bdf 100644 --- a/package/kexec-lite/kexec-lite.mk +++ b/package/kexec-lite/kexec-lite.mk @@ -10,5 +10,6 @@ KEXEC_LITE_LICENSE = GPL-2.0+ KEXEC_LITE_LICENSE_FILES = COPYING KEXEC_LITE_DEPENDENCIES = elfutils dtc KEXEC_LITE_AUTORECONF = YES +KEXEC_LITE_SELINUX_MODULES = kdump $(eval $(autotools-package)) diff --git a/package/kexec/0001-kexec-build-multiboot2-for-i386.patch b/package/kexec/0001-kexec-build-multiboot2-for-i386.patch deleted file mode 100644 index c67da98ce76..00000000000 --- a/package/kexec/0001-kexec-build-multiboot2-for-i386.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 2c9f26ed20a791a7df0182ba82e93abb52f5a615 Mon Sep 17 00:00:00 2001 -From: Chris Packham -Date: Mon, 18 Nov 2019 12:52:15 +1300 -Subject: kexec: build multiboot2 for i386 - -This addresses the following compilation issues when building for i386. - - kexec/arch/i386/kexec-x86.c:39:22: error: 'multiboot2_x86_probe' undeclared here (not in a function); did you mean 'multiboot_x86_probe'? - { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load, - ^~~~~~~~~~~~~~~~~~~~ - multiboot_x86_probe - kexec/arch/i386/kexec-x86.c:39:44: error: 'multiboot2_x86_load' undeclared here (not in a function); did you mean 'multiboot_x86_load'? - { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load, - ^~~~~~~~~~~~~~~~~~~ - multiboot_x86_load - kexec/arch/i386/kexec-x86.c:40:4: error: 'multiboot2_x86_usage' undeclared here (not in a function); did you mean 'multiboot_x86_usage'? - multiboot2_x86_usage }, - ^~~~~~~~~~~~~~~~~~~~ - multiboot_x86_usage - make: *** [Makefile:114: kexec/arch/i386/kexec-x86.o] Error 1 - make: *** Waiting for unfinished jobs.... - -Signed-off-by: Chris Packham -Signed-off-by: Simon Horman - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=2c9f26ed20a791a7df0182ba82e93abb52f5a615] ---- - kexec/arch/i386/Makefile | 2 +- - kexec/arch/i386/kexec-x86.h | 5 +++++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/kexec/arch/i386/Makefile b/kexec/arch/i386/Makefile -index 105cefd..f486103 100644 ---- a/kexec/arch/i386/Makefile -+++ b/kexec/arch/i386/Makefile -@@ -7,6 +7,7 @@ i386_KEXEC_SRCS += kexec/arch/i386/kexec-elf-x86.c - i386_KEXEC_SRCS += kexec/arch/i386/kexec-elf-rel-x86.c - i386_KEXEC_SRCS += kexec/arch/i386/kexec-bzImage.c - i386_KEXEC_SRCS += kexec/arch/i386/kexec-multiboot-x86.c -+i386_KEXEC_SRCS += kexec/arch/i386/kexec-mb2-x86.c - i386_KEXEC_SRCS += kexec/arch/i386/kexec-beoboot-x86.c - i386_KEXEC_SRCS += kexec/arch/i386/kexec-nbi.c - i386_KEXEC_SRCS += kexec/arch/i386/x86-linux-setup.c -@@ -14,7 +15,6 @@ i386_KEXEC_SRCS += kexec/arch/i386/crashdump-x86.c - - dist += kexec/arch/i386/Makefile $(i386_KEXEC_SRCS) \ - kexec/arch/i386/crashdump-x86.h \ -- kexec/arch/i386/kexec-mb2-x86.c \ - kexec/arch/i386/kexec-x86.h \ - kexec/arch/i386/x86-linux-setup.h \ - kexec/arch/i386/include/arch/options.h -diff --git a/kexec/arch/i386/kexec-x86.h b/kexec/arch/i386/kexec-x86.h -index 1b58c3b..0f941df 100644 ---- a/kexec/arch/i386/kexec-x86.h -+++ b/kexec/arch/i386/kexec-x86.h -@@ -60,6 +60,11 @@ int multiboot_x86_load(int argc, char **argv, const char *buf, off_t len, - struct kexec_info *info); - void multiboot_x86_usage(void); - -+int multiboot2_x86_load(int argc, char **argv, const char *buf, off_t len, -+ struct kexec_info *info); -+void multiboot2_x86_usage(void); -+int multiboot2_x86_probe(const char *buf, off_t buf_len); -+ - int elf_x86_probe(const char *buf, off_t len); - int elf_x86_load(int argc, char **argv, const char *buf, off_t len, - struct kexec_info *info); --- -cgit 1.2-0.3.lf.el7 - diff --git a/package/kexec/0002-kexec-tools-Remove-duplicated-variable-declarations.patch b/package/kexec/0002-kexec-tools-Remove-duplicated-variable-declarations.patch deleted file mode 100644 index 99cb9a2824d..00000000000 --- a/package/kexec/0002-kexec-tools-Remove-duplicated-variable-declarations.patch +++ /dev/null @@ -1,102 +0,0 @@ -From cc087b11462af9f971a2c090d07e8d780a867b50 Mon Sep 17 00:00:00 2001 -From: Kairui Song -Date: Wed, 29 Jan 2020 13:38:19 +0800 -Subject: kexec-tools: Remove duplicated variable declarations - -When building kexec-tools for Fedora 32, following error is observed: - -/usr/bin/ld: kexec/arch/x86_64/kexec-bzImage64.o:(.bss+0x0): multiple definition of `bzImage_support_efi_boot'; -kexec/arch/i386/kexec-bzImage.o:(.bss+0x0): first defined here - -/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm/../../fs2dt.h:33: multiple definition of `my_debug'; -kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/kexec/fs2dt.h:33: first defined here - -/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:68: multiple definition of `arm64_mem'; -kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:68: first defined here - -/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:54: multiple definition of `initrd_size'; -kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:54: first defined here - -/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:53: multiple definition of `initrd_base'; -kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:53: first defined here - -And apparently, these variables are wrongly declared multiple times. So -remove duplicated declaration. - -Signed-off-by: Kairui Song -Signed-off-by: Simon Horman -[Retrieved from: -https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=cc087b11462af9f971a2c090d07e8d780a867b50] -Signed-off-by: Fabrice Fontaine ---- - kexec/arch/arm64/kexec-arm64.h | 6 +++--- - kexec/arch/ppc64/kexec-elf-ppc64.c | 2 -- - kexec/arch/x86_64/kexec-bzImage64.c | 1 - - kexec/fs2dt.h | 2 +- - 4 files changed, 4 insertions(+), 7 deletions(-) - -diff --git a/kexec/arch/arm64/kexec-arm64.h b/kexec/arch/arm64/kexec-arm64.h -index 628de79..ed447ac 100644 ---- a/kexec/arch/arm64/kexec-arm64.h -+++ b/kexec/arch/arm64/kexec-arm64.h -@@ -50,8 +50,8 @@ int zImage_arm64_load(int argc, char **argv, const char *kernel_buf, - void zImage_arm64_usage(void); - - --off_t initrd_base; --off_t initrd_size; -+extern off_t initrd_base; -+extern off_t initrd_size; - - /** - * struct arm64_mem - Memory layout info. -@@ -65,7 +65,7 @@ struct arm64_mem { - }; - - #define arm64_mem_ngv UINT64_MAX --struct arm64_mem arm64_mem; -+extern struct arm64_mem arm64_mem; - - uint64_t get_phys_offset(void); - uint64_t get_vp_offset(void); -diff --git a/kexec/arch/ppc64/kexec-elf-ppc64.c b/kexec/arch/ppc64/kexec-elf-ppc64.c -index 3510b70..695b8b0 100644 ---- a/kexec/arch/ppc64/kexec-elf-ppc64.c -+++ b/kexec/arch/ppc64/kexec-elf-ppc64.c -@@ -44,8 +44,6 @@ - uint64_t initrd_base, initrd_size; - unsigned char reuse_initrd = 0; - const char *ramdisk; --/* Used for enabling printing message from purgatory code */ --int my_debug = 0; - - int elf_ppc64_probe(const char *buf, off_t len) - { -diff --git a/kexec/arch/x86_64/kexec-bzImage64.c b/kexec/arch/x86_64/kexec-bzImage64.c -index 8edb3e4..ba8dc48 100644 ---- a/kexec/arch/x86_64/kexec-bzImage64.c -+++ b/kexec/arch/x86_64/kexec-bzImage64.c -@@ -42,7 +42,6 @@ - #include - - static const int probe_debug = 0; --int bzImage_support_efi_boot; - - int bzImage64_probe(const char *buf, off_t len) - { -diff --git a/kexec/fs2dt.h b/kexec/fs2dt.h -index 7633273..fe24931 100644 ---- a/kexec/fs2dt.h -+++ b/kexec/fs2dt.h -@@ -30,7 +30,7 @@ extern struct bootblock bb[1]; - - /* Used for enabling printing message from purgatory code - * Only has implemented for PPC64 */ --int my_debug; -+extern int my_debug; - extern int dt_no_old_root; - - void reserve(unsigned long long where, unsigned long long length); --- -cgit 1.2.3-1.el7 - diff --git a/package/kexec/kexec.hash b/package/kexec/kexec.hash index 302e079066f..05eb9e3d02d 100644 --- a/package/kexec/kexec.hash +++ b/package/kexec/kexec.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 dad8077f0315445d1f6335579fc4ade222facf82a67124974c7be5303ba4f8c8 kexec-tools-2.0.20.tar.xz +sha256 aa63cd6c7dd95b06ceba6240a7fdc6792789cada75a655e6714987175224241b kexec-tools-2.0.23.tar.xz # locally calculated -sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index 63fcc074b5d..b3b4e565467 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -4,18 +4,19 @@ # ################################################################################ -KEXEC_VERSION = 2.0.20 +KEXEC_VERSION = 2.0.23 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec KEXEC_LICENSE = GPL-2.0 KEXEC_LICENSE_FILES = COPYING +KEXEC_SELINUX_MODULES = kdump # Makefile expects $STRIP -o to work, so needed for !BR2_STRIP_strip KEXEC_MAKE_OPTS = STRIP="$(TARGET_CROSS)strip" ifeq ($(BR2_PACKAGE_KEXEC_ZLIB),y) KEXEC_CONF_OPTS += --with-zlib -KEXEC_DEPENDENCIES = zlib +KEXEC_DEPENDENCIES += zlib else KEXEC_CONF_OPTS += --without-zlib endif diff --git a/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash b/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash index 733e267fdbf..70b776b5d75 100644 --- a/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash +++ b/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 976d8bd15a0b929376bfaef34602a0fb9614229851c46fac3c4b28938f682195 extra-cmake-modules-5.47.0.tar.xz -sha256 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b COPYING-CMAKE-SCRIPTS +sha256 9717885e30aadf184fa71511930409cabbf08eb6627ea8b051de8804fbcec54c extra-cmake-modules-5.91.0.tar.xz +sha256 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b COPYING-CMAKE-SCRIPTS diff --git a/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk b/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk index 3c4281b960d..ba2748456e4 100644 --- a/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk +++ b/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk @@ -14,4 +14,9 @@ KF5_EXTRA_CMAKE_MODULES_DEPENDENCIES = host-pkgconf KF5_EXTRA_CMAKE_MODULES_INSTALL_STAGING = YES KF5_EXTRA_CMAKE_MODULES_INSTALL_TARGET = NO +KF5_EXTRA_CMAKE_MODULES_CONF_OPTS += \ + -DBUILD_HTML_DOCS=OFF \ + -DBUILD_MAN_DOCS=OFF \ + -DBUILD_QTHELP_DOCS=OFF + $(eval $(cmake-package)) diff --git a/package/kf5/kf5-kcoreaddons/Config.in b/package/kf5/kf5-kcoreaddons/Config.in index 88fda03ee0a..02bd38e3954 100644 --- a/package/kf5/kf5-kcoreaddons/Config.in +++ b/package/kf5/kf5-kcoreaddons/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_KF5_KCOREADDONS bool "kf5-kcoreaddons" + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 select BR2_PACKAGE_KF5_EXTRA_CMAKE_MODULES select BR2_PACKAGE_QT5TOOLS select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS diff --git a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash index 0cd8dcfc154..e4ebf2bb396 100644 --- a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash +++ b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash @@ -1,3 +1,16 @@ # Locally calculated -sha256 40ff04757e4ac19bc8448940fe18886c894a2069865966cc865fc55ff67b0b46 kcoreaddons-5.47.0.tar.xz -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 dfe3da03260e0153f9f6ced1fc7464eaaf0ed1fb692fc6c2b2d968b629ad719b kcoreaddons-5.91.0.tar.xz + +# Hash for license files +sha256 d1cf0896da7045d841fe45b0991cf35540bac1a17b5d11f4afcf8fcb950246b5 LICENSES/GPL-2.0-only.txt +sha256 606aa26338f69ce178f1cbc648b7574aec4b5bbaeb20f4df36ff49010cb8fbbd LICENSES/GPL-2.0-or-later.txt +sha256 2ca9503d76d1ffab14f599b4741382eec11face60ad1f0d7a41897809003a286 LICENSES/GPL-3.0-only.txt +sha256 de588a8b1c41fe73ffe1201f9d12c718a988ed8e1302929625a6e7c2bced7461 LICENSES/LGPL-2.0-only.txt +sha256 de588a8b1c41fe73ffe1201f9d12c718a988ed8e1302929625a6e7c2bced7461 LICENSES/LGPL-2.0-or-later.txt +sha256 211f1b738d1b864bab2648bee9b55becd39fd2d6aa49c1196e7d87b41db4bc07 LICENSES/LGPL-2.1-only.txt +sha256 476b03829862ab7e3ed920f87fad3de3c995f7dd93c26476eb40f0117de43fdc LICENSES/LGPL-3.0-only.txt +sha256 ef839531eb65b0168f9aed14047c84be13e9ea38801a73bc18abe24dc93e6ac9 LICENSES/LicenseRef-KDE-Accepted-GPL.txt +sha256 d9f25707d20e804f15005be46527366b0604bd739754d144a83d3983d94a9a6a LICENSES/LicenseRef-KDE-Accepted-LGPL.txt +sha256 272bc0fa06a23d3c807375f95f8d6ccd98541321d2882732668ab139c16f9bf4 LICENSES/LicenseRef-Qt-Commercial.txt +sha256 a3b538a7d81c4935d185056479d12fd43042bb9f3a21c9cbb4a8500fab8e5880 LICENSES/MPL-1.1.txt +sha256 7dea3adab58690d8ee14775da755cd30a52649a47704ff78ae85197ae0d37c60 LICENSES/Qt-LGPL-exception-1.1.txt diff --git a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk index 76be8876cc5..e2f67f15b21 100644 --- a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk +++ b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk @@ -7,10 +7,29 @@ KF5_KCOREADDONS_VERSION = $(KF5_VERSION) KF5_KCOREADDONS_SITE = $(KF5_SITE) KF5_KCOREADDONS_SOURCE = kcoreaddons-$(KF5_KCOREADDONS_VERSION).tar.xz -KF5_KCOREADDONS_LICENSE = LGPL-2.1 -KF5_KCOREADDONS_LICENSE_FILES = COPYING.LIB +KF5_KCOREADDONS_LICENSE = \ + LGPL-2.0+, LGPL-2.1 or LGPL-3.0 or LicenseRef-KDE-Accepted-LGPL (library), \ + MPL.1.1 or GPL-2.0+ or LGPL-2.1+ (posix_fallocate_mac.h), \ + LGPL-2.1 with Qt-LGPL-exception-1.1 or LicenseRef-Qt-Commercial (kprocesslist), \ + GPL-2.0 or GPL-3.0 or LicenseRef-KDE-Accepted-GPL (autotests) +KF5_KCOREADDONS_LICENSE_FILES = \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-2.0-or-later.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-2.0-only.txt \ + LICENSES/LGPL-2.0-or-later.txt \ + LICENSES/LGPL-2.1-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/LicenseRef-KDE-Accepted-GPL.txt \ + LICENSES/LicenseRef-KDE-Accepted-LGPL.txt \ + LICENSES/LicenseRef-Qt-Commercial.txt \ + LICENSES/MPL-1.1.txt \ + LICENSES/Qt-LGPL-exception-1.1.txt -KF5_KCOREADDONS_DEPENDENCIES = kf5-extra-cmake-modules qt5tools +KF5_KCOREADDONS_DEPENDENCIES = \ + kf5-extra-cmake-modules \ + qt5tools \ + $(if $(BR2_PACKAGE_PYTHON3),python3) KF5_KCOREADDONS_INSTALL_STAGING = YES KF5_KCOREADDONS_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash index 408eb0c0b0a..4b6c03a3bb6 100644 --- a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash +++ b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash @@ -1,3 +1,10 @@ # Locally calculated -sha256 8b6ab15ce82b7a30b26814178ac33380056ec4398707481aa5ce95cf09d39d03 modemmanager-qt-5.47.0.tar.xz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 a2673f18c7866d39c9cedca2f86540c56baf966a2491a86ca06a5a0427358496 modemmanager-qt-5.91.0.tar.xz + +# Hash for license files +sha256 d1cf0896da7045d841fe45b0991cf35540bac1a17b5d11f4afcf8fcb950246b5 LICENSES/GPL-2.0-only.txt +sha256 2ca9503d76d1ffab14f599b4741382eec11face60ad1f0d7a41897809003a286 LICENSES/GPL-3.0-only.txt +sha256 211f1b738d1b864bab2648bee9b55becd39fd2d6aa49c1196e7d87b41db4bc07 LICENSES/LGPL-2.1-only.txt +sha256 476b03829862ab7e3ed920f87fad3de3c995f7dd93c26476eb40f0117de43fdc LICENSES/LGPL-3.0-only.txt +sha256 ef839531eb65b0168f9aed14047c84be13e9ea38801a73bc18abe24dc93e6ac9 LICENSES/LicenseRef-KDE-Accepted-GPL.txt +sha256 d9f25707d20e804f15005be46527366b0604bd739754d144a83d3983d94a9a6a LICENSES/LicenseRef-KDE-Accepted-LGPL.txt diff --git a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk index 2a782b35e1a..38c80d3da8b 100644 --- a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk +++ b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk @@ -7,15 +7,24 @@ KF5_MODEMMANAGER_QT_VERSION = $(KF5_VERSION) KF5_MODEMMANAGER_QT_SITE = $(KF5_SITE) KF5_MODEMMANAGER_QT_SOURCE = modemmanager-qt-$(KF5_MODEMMANAGER_QT_VERSION).tar.xz -KF5_MODEMMANAGER_QT_LICENSE = LGPL-2.1+ -KF5_MODEMMANAGER_QT_LICENSE_FILES = COPYING.LIB +KF5_MODEMMANAGER_QT_LICENSE = \ + LGPL-2.1 or LGPL-3.0 or LicenseRef-KDE-Accepted-LGPL (library), \ + GPL-2.0 or GPL-3.0 or LicenseRef-KDE-Accepted-GPL (autotests, examples) + +KF5_MODEMMANAGER_QT_LICENSE_FILES = \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-2.1-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/LicenseRef-KDE-Accepted-GPL.txt \ + LICENSES/LicenseRef-KDE-Accepted-LGPL.txt KF5_MODEMMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules modem-manager qt5base KF5_MODEMMANAGER_QT_INSTALL_STAGING = YES # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -KF5_MODEMMANAGER_QT_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +KF5_MODEMMANAGER_QT_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif $(eval $(cmake-package)) diff --git a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash b/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash index 8ccada455e0..de4504064f3 100644 --- a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash +++ b/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash @@ -1,3 +1,10 @@ # Locally calculated -sha256 d0b377500ee4cf4f029f4d04d6844bcf3d2d6734982b511a5fffab5165688209 networkmanager-qt-5.47.0.tar.xz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 2e20ffd995ce64a90b1133b594bab2b2292be54e538f62633e78e8296cc44738 networkmanager-qt-5.91.0.tar.xz + +# Hash for license files +sha256 d1cf0896da7045d841fe45b0991cf35540bac1a17b5d11f4afcf8fcb950246b5 LICENSES/GPL-2.0-only.txt +sha256 2ca9503d76d1ffab14f599b4741382eec11face60ad1f0d7a41897809003a286 LICENSES/GPL-3.0-only.txt +sha256 211f1b738d1b864bab2648bee9b55becd39fd2d6aa49c1196e7d87b41db4bc07 LICENSES/LGPL-2.1-only.txt +sha256 476b03829862ab7e3ed920f87fad3de3c995f7dd93c26476eb40f0117de43fdc LICENSES/LGPL-3.0-only.txt +sha256 ef839531eb65b0168f9aed14047c84be13e9ea38801a73bc18abe24dc93e6ac9 LICENSES/LicenseRef-KDE-Accepted-GPL.txt +sha256 d9f25707d20e804f15005be46527366b0604bd739754d144a83d3983d94a9a6a LICENSES/LicenseRef-KDE-Accepted-LGPL.txt diff --git a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk b/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk index c383f98e9bf..7adff2deb78 100644 --- a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk +++ b/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk @@ -7,8 +7,16 @@ KF5_NETWORKMANAGER_QT_VERSION = $(KF5_VERSION) KF5_NETWORKMANAGER_QT_SITE = $(KF5_SITE) KF5_NETWORKMANAGER_QT_SOURCE = networkmanager-qt-$(KF5_NETWORKMANAGER_QT_VERSION).tar.xz -KF5_NETWORKMANAGER_QT_LICENSE = LGPL-2.1+ -KF5_NETWORKMANAGER_QT_LICENSE_FILES = COPYING.LIB +KF5_NETWORKMANAGER_QT_LICENSE = \ + LGPL-2.1 or LGPL-3.0 or LicenseRef-KDE-Accepted-LGPL (library), \ + GPL-2.0 or GPL-3.0 or LicenseRef-KDE-Accepted-GPL (autotests, examples) +KF5_NETWORKMANAGER_QT_LICENSE_FILES = \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-2.1-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/LicenseRef-KDE-Accepted-GPL.txt \ + LICENSES/LicenseRef-KDE-Accepted-LGPL.txt KF5_NETWORKMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules network-manager qt5base KF5_NETWORKMANAGER_QT_INSTALL_STAGING = YES diff --git a/package/kf5/kf5.mk b/package/kf5/kf5.mk index 8360fc9b630..64b08bae4fc 100644 --- a/package/kf5/kf5.mk +++ b/package/kf5/kf5.mk @@ -4,7 +4,7 @@ # ################################################################################ -KF5_VERSION_MAJOR = 5.47 +KF5_VERSION_MAJOR = 5.91 KF5_VERSION = $(KF5_VERSION_MAJOR).0 KF5_SITE = https://download.kde.org/stable/frameworks/$(KF5_VERSION_MAJOR) diff --git a/package/kismet/0001-Add-getter-to-read-database-values-as-long-long.patch b/package/kismet/0001-Add-getter-to-read-database-values-as-long-long.patch deleted file mode 100644 index 564cba87bb5..00000000000 --- a/package/kismet/0001-Add-getter-to-read-database-values-as-long-long.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 1d36faad18e34b43ac8ea3e7f6a44315f827a2db Mon Sep 17 00:00:00 2001 -From: George Hopkins -Date: Mon, 4 Jan 2021 13:59:41 +0100 -Subject: [PATCH] Add getter to read database values as long long - -[Retrieved from: -https://github.com/kismetwireless/kismet/commit/1d36faad18e34b43ac8ea3e7f6a44315f827a2db] -Signed-off-by: Fabrice Fontaine ---- - sqlite3_cpp11.cc | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/sqlite3_cpp11.cc b/sqlite3_cpp11.cc -index 7974bde8c..5c92dfa87 100644 ---- a/sqlite3_cpp11.cc -+++ b/sqlite3_cpp11.cc -@@ -411,6 +411,11 @@ namespace kissqlite3 { - return (unsigned long) sqlite3_column_int64(stmt.get(), column); - } - -+ template<> -+ long long sqlite3_column_as(std::shared_ptr stmt, unsigned int column) { -+ return (long long) sqlite3_column_int64(stmt.get(), column); -+ } -+ - template<> - unsigned long long sqlite3_column_as(std::shared_ptr stmt, unsigned int column) { - return (unsigned long long) sqlite3_column_int64(stmt.get(), column); diff --git a/package/kismet/0002-boost-asio-Use-eventfd-function-with-uClibc.patch b/package/kismet/0002-boost-asio-Use-eventfd-function-with-uClibc.patch deleted file mode 100644 index eb5fb2ec210..00000000000 --- a/package/kismet/0002-boost-asio-Use-eventfd-function-with-uClibc.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 9330d34ced1d7d0e56d579bb55a9ed1286d324f0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 4 Mar 2021 13:36:52 +0100 -Subject: [PATCH] boost/asio: Use eventfd() function with uClibc - -Fix build with uclibc thanks to -https://github.com/boostorg/asio/commit/b2ee39aee0b186c5bcabb051b7a536ab1517616a - -Fixes: - - http://autobuild.buildroot.org/results/1c2885d75219aabadbb66ab66fe0dc4b4346ff1e - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/kismetwireless/kismet/commit/9330d34ced1d7d0e56d579bb55a9ed1286d324f0] ---- - .../asio/detail/impl/eventfd_select_interrupter.ipp | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/boost/asio/detail/impl/eventfd_select_interrupter.ipp -index 38d4b2a6..8bdb3c20 100644 ---- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp -+++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp -@@ -23,11 +23,11 @@ - #include - #include - #include --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - # include --#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - # include --#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - #include - #include - #include -@@ -46,14 +46,14 @@ eventfd_select_interrupter::eventfd_select_interrupter() - - void eventfd_select_interrupter::open_descriptors() - { --#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0); - if (read_descriptor_ != -1) - { - ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK); - ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC); - } --#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - # if defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK) - write_descriptor_ = read_descriptor_ = - ::eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); -@@ -70,7 +70,7 @@ void eventfd_select_interrupter::open_descriptors() - ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC); - } - } --#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 -+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__) - - if (read_descriptor_ == -1) - { --- -2.30.0 - diff --git a/package/kismet/Config.in b/package/kismet/Config.in index d9f8ebe03db..961d5f230e7 100644 --- a/package/kismet/Config.in +++ b/package/kismet/Config.in @@ -1,6 +1,8 @@ -comment "kismet needs a toolchain w/ threads, C++" +comment "kismet needs a toolchain w/ threads, C++, gcc >= 5" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" config BR2_PACKAGE_KISMET @@ -9,6 +11,7 @@ config BR2_PACKAGE_KISMET depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # protobuf-c + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_PROTOBUF_C select BR2_PACKAGE_SQLITE @@ -32,7 +35,6 @@ config BR2_PACKAGE_KISMET_PYTHON_TOOLS depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy depends on BR2_PACKAGE_PYTHON3 depends on !BR2_STATIC_LIBS # protobuf - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy select BR2_PACKAGE_PROTOBUF select BR2_PACKAGE_PYTHON_NUMPY # runtime for RTLAMR and RTLADSB @@ -48,8 +50,8 @@ comment "python tools needs python3" depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS -comment "python tools needs a glibc or musl toolchain w/ dynamic library, gcc >= 4.8" - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "python tools needs a glibc or musl toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) @@ -60,15 +62,13 @@ config BR2_PACKAGE_KISMET_SERVER depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future select BR2_PACKAGE_PROTOBUF -comment "server needs a toolchain w/ dynamic library, wchar, gcc >= 4.8" +comment "server needs a toolchain w/ dynamic library, wchar" depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR comment "server needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/kismet/kismet.hash b/package/kismet/kismet.hash index 2b0baa10092..9a9d2260b95 100644 --- a/package/kismet/kismet.hash +++ b/package/kismet/kismet.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 52a8eddd560688693552bcd8ff033f662a1a57b47650d6434c5e2c6d83e2bb33 kismet-2020-12-R3.tar.xz +sha256 1c8e31b1babdb0fc93ac38fd0772a24d4b40f865fbc292fa8ec7f4a18ced0135 kismet-2021-08-R1.tar.xz sha256 93c7f0d7e356b0abfb6f494ff3ea37f96abc84e9a5619b25d4e43f7553a55739 LICENSE diff --git a/package/kismet/kismet.mk b/package/kismet/kismet.mk index b39b58d81b0..819ed510d7e 100644 --- a/package/kismet/kismet.mk +++ b/package/kismet/kismet.mk @@ -4,7 +4,7 @@ # ################################################################################ -KISMET_VERSION = 2020-12-R3 +KISMET_VERSION = 2021-08-R1 KISMET_SOURCE = kismet-$(KISMET_VERSION).tar.xz KISMET_SITE = http://www.kismetwireless.net/code KISMET_DEPENDENCIES = \ @@ -17,6 +17,8 @@ KISMET_DEPENDENCIES = \ zlib KISMET_LICENSE = GPL-2.0+ KISMET_LICENSE_FILES = LICENSE +KISMET_SELINUX_MODULES = kismet + KISMET_CONF_OPTS = --disable-debuglibs KISMET_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/package/kmod/Config.in.host b/package/kmod/Config.in.host index 9dbbcea7820..7680cecdb2a 100644 --- a/package/kmod/Config.in.host +++ b/package/kmod/Config.in.host @@ -10,6 +10,9 @@ if BR2_PACKAGE_HOST_KMOD config BR2_PACKAGE_HOST_KMOD_GZ bool "support gzip-compressed modules" +config BR2_PACKAGE_HOST_KMOD_ZSTD + bool "support zstd-compressed modules" + config BR2_PACKAGE_HOST_KMOD_XZ bool "support xz-compressed modules" diff --git a/package/kmod/kmod.hash b/package/kmod/kmod.hash index f0bd436dc87..c68e41f1b67 100644 --- a/package/kmod/kmod.hash +++ b/package/kmod/kmod.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kmod/sha256sums.asc -sha256 3969fc0f13daa98084256337081c442f8749310089e48aa695c9b4dfe1b3a26c kmod-28.tar.xz +sha256 0b80eea7aa184ac6fd20cafa2a1fdf290ffecc70869a797079e2cc5c6225a52a kmod-29.tar.xz # Locally calculated sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 libkmod/COPYING diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk index 7fed252c223..82e8597759f 100644 --- a/package/kmod/kmod.mk +++ b/package/kmod/kmod.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMOD_VERSION = 28 +KMOD_VERSION = 29 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES @@ -41,6 +41,13 @@ else KMOD_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +KMOD_DEPENDENCIES += zstd +KMOD_CONF_OPTS += --with-zstd +else +KMOD_CONF_OPTS += --without-zstd +endif + ifeq ($(BR2_PACKAGE_XZ),y) KMOD_DEPENDENCIES += xz KMOD_CONF_OPTS += --with-xz @@ -55,8 +62,8 @@ else KMOD_CONF_OPTS += --without-openssl endif -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) -KMOD_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) +ifeq ($(BR2_PACKAGE_PYTHON3),y) +KMOD_DEPENDENCIES += python3 KMOD_CONF_OPTS += --enable-python endif @@ -91,6 +98,13 @@ else HOST_KMOD_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_HOST_KMOD_ZSTD),y) +HOST_KMOD_DEPENDENCIES += host-zstd +HOST_KMOD_CONF_OPTS += --with-zstd +else +HOST_KMOD_CONF_OPTS += --without-zstd +endif + ifeq ($(BR2_PACKAGE_HOST_KMOD_XZ),y) HOST_KMOD_DEPENDENCIES += host-xz HOST_KMOD_CONF_OPTS += --with-xz diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in index b6ad305bfbd..7379675609d 100644 --- a/package/kmscube/Config.in +++ b/package/kmscube/Config.in @@ -1,9 +1,20 @@ config BR2_PACKAGE_KMSCUBE bool "kmscube" - # requires libgbm from mesa3d - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL - depends on BR2_PACKAGE_MESA3D_OPENGL_ES + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGBM + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT + depends on BR2_PACKAGE_HAS_LIBGLES + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm + select BR2_PACKAGE_LIBDRM help kmscube is an application to test kms/drm drivers. - https://gitlab.freedesktop.org/mesa/kmscube + https://cgit.freedesktop.org/mesa/kmscube/ + +comment "kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support" + depends on \ + !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_HAS_LIBGBM || \ + !BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT || \ + !BR2_PACKAGE_HAS_LIBGLES || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk index 7b458376dcb..fc9a7f6f99a 100644 --- a/package/kmscube/kmscube.mk +++ b/package/kmscube/kmscube.mk @@ -8,6 +8,6 @@ KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION) KMSCUBE_LICENSE = MIT KMSCUBE_LICENSE_FILES = COPYING -KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm +KMSCUBE_DEPENDENCIES = host-pkgconf libdrm libegl libgbm libgles $(eval $(meson-package)) diff --git a/package/kmsxx/0001-meson-add-use-system-fmt-option.patch b/package/kmsxx/0001-meson-add-use-system-fmt-option.patch deleted file mode 100644 index e9d67b1202e..00000000000 --- a/package/kmsxx/0001-meson-add-use-system-fmt-option.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 61db7d5520f50564da8f2c9ac952eadb31f70727 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sun, 29 Nov 2020 11:13:41 +0100 -Subject: [PATCH] meson: add use-system-fmt option - -[Upstream: https://github.com/tomba/kmsxx/pull/60] -Signed-off-by: Peter Seiderer ---- - meson.build | 10 +++++++--- - meson_options.txt | 2 ++ - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/meson.build b/meson.build -index 9652009..29080f4 100644 ---- a/meson.build -+++ b/meson.build -@@ -31,9 +31,13 @@ endif - - add_global_link_arguments(link_arguments, language : 'cpp') - --libfmt_includes = include_directories('ext/fmt/include') --libfmt_dep = declare_dependency(include_directories : libfmt_includes, -- compile_args : '-DFMT_HEADER_ONLY') -+if get_option('use-system-fmt') -+ libfmt_dep = dependency('fmt') -+else -+ libfmt_includes = include_directories('ext/fmt/include') -+ libfmt_dep = declare_dependency(include_directories : libfmt_includes, -+ compile_args : '-DFMT_HEADER_ONLY') -+endif - - pybind11_includes = include_directories('ext/pybind11/include') - pybind11_dep = declare_dependency(include_directories : pybind11_includes) -diff --git a/meson_options.txt b/meson_options.txt -index cd854ab..48176a8 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -3,3 +3,5 @@ option('pykms', type : 'feature', value : 'auto') - option('omap', type : 'feature', value : 'auto') - option('static-libc', type : 'boolean', value : false) - option('utils', type : 'boolean', value : true) -+ -+option('use-system-fmt', type : 'boolean', value : false) --- -2.29.2 - diff --git a/package/kmsxx/0002-meson-add-use-system-pybind11-option.patch b/package/kmsxx/0002-meson-add-use-system-pybind11-option.patch deleted file mode 100644 index be58b65b429..00000000000 --- a/package/kmsxx/0002-meson-add-use-system-pybind11-option.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 27f15549ce67194e4152c57db2b762b7a443b4c7 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sun, 29 Nov 2020 11:14:41 +0100 -Subject: [PATCH] meson: add use-system-pybind11 option - -[Upstream: https://github.com/tomba/kmsxx/pull/60] -Signed-off-by: Peter Seiderer ---- - meson.build | 8 ++++++-- - meson_options.txt | 1 + - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 29080f4..4b3e7c3 100644 ---- a/meson.build -+++ b/meson.build -@@ -39,8 +39,12 @@ else - compile_args : '-DFMT_HEADER_ONLY') - endif - --pybind11_includes = include_directories('ext/pybind11/include') --pybind11_dep = declare_dependency(include_directories : pybind11_includes) -+if get_option('use-system-pybind11') -+ pybind11_dep = dependency('pybind11') -+else -+ pybind11_includes = include_directories('ext/pybind11/include') -+ pybind11_dep = declare_dependency(include_directories : pybind11_includes) -+endif - - libdrmomap_dep = dependency('libdrm_omap', required : get_option('omap')) - -diff --git a/meson_options.txt b/meson_options.txt -index 48176a8..095c6f2 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -5,3 +5,4 @@ option('static-libc', type : 'boolean', value : false) - option('utils', type : 'boolean', value : true) - - option('use-system-fmt', type : 'boolean', value : false) -+option('use-system-pybind11', type : 'boolean', value : false) --- -2.29.2 - diff --git a/package/kmsxx/0003-meson-only-build-py-in-case-pykms-is-enabled.patch b/package/kmsxx/0003-meson-only-build-py-in-case-pykms-is-enabled.patch deleted file mode 100644 index a9085213815..00000000000 --- a/package/kmsxx/0003-meson-only-build-py-in-case-pykms-is-enabled.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0ef36b2e22c2ac0331b3096b7adc69fb08044048 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sun, 29 Nov 2020 11:37:26 +0100 -Subject: [PATCH] meson: only build py in case pykms is enabled - -[Upstream: https://github.com/tomba/kmsxx/pull/60] -Signed-off-by: Peter Seiderer ---- - meson.build | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -diff --git a/meson.build b/meson.build -index 4b3e7c3..1810b17 100644 ---- a/meson.build -+++ b/meson.build -@@ -39,11 +39,13 @@ else - compile_args : '-DFMT_HEADER_ONLY') - endif - --if get_option('use-system-pybind11') -- pybind11_dep = dependency('pybind11') --else -- pybind11_includes = include_directories('ext/pybind11/include') -- pybind11_dep = declare_dependency(include_directories : pybind11_includes) -+if get_option('pykms').enabled() -+ if get_option('use-system-pybind11') -+ pybind11_dep = dependency('pybind11') -+ else -+ pybind11_includes = include_directories('ext/pybind11/include') -+ pybind11_dep = declare_dependency(include_directories : pybind11_includes) -+ endif - endif - - libdrmomap_dep = dependency('libdrm_omap', required : get_option('omap')) -@@ -55,7 +57,9 @@ if get_option('utils') - subdir('utils') - endif - --subdir('py') -+if get_option('pykms').enabled() -+ subdir('py') -+endif - - if get_option('kmscube') - subdir('kmscube') --- -2.29.2 - diff --git a/package/kmsxx/kmsxx.hash b/package/kmsxx/kmsxx.hash index 1eeb1e6a7e7..c141ef7e072 100644 --- a/package/kmsxx/kmsxx.hash +++ b/package/kmsxx/kmsxx.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4a682328b03c28ff1f6cfcafc48d30c3feb5ef98ed07e5dd3bbd9e6a1d4a47cc kmsxx-548905611c130ea9d31929a0caf7a198d8bac462.tar.gz +sha256 99759fe9334369ccd80ab0bbfe1110ee47e74f1e20abc2d7b2f028067ea0a0c3 kmsxx-824bbb1f4cd062d66b457faca50f904b34dfd96c.tar.gz sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk index fd40ff8e732..8ebdffaad1e 100644 --- a/package/kmsxx/kmsxx.mk +++ b/package/kmsxx/kmsxx.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMSXX_VERSION = 548905611c130ea9d31929a0caf7a198d8bac462 +KMSXX_VERSION = 824bbb1f4cd062d66b457faca50f904b34dfd96c KMSXX_SITE = $(call github,tomba,kmsxx,$(KMSXX_VERSION)) KMSXX_LICENSE = MPL-2.0 KMSXX_LICENSE_FILES = LICENSE @@ -14,14 +14,7 @@ KMSXX_CONF_OPTS = \ -Dkmscube=false \ -Dpykms=disabled \ -Domap=disabled \ - -Duse-system-fmt=true \ - -Duse-system-pybind11=true - -ifeq ($(BR2_STATIC_LIBS),y) -KMSXX_CONF_OPTS += -Dstatic-libc=true -else -KMSXX_CONF_OPTS += -Dstatic-libc=false -endif + -Dsystem-pybind11=enabled ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) KMSXX_CXXFLAGS += $(TARGET_CXXFLAGS) -O0 diff --git a/package/knock/Config.in b/package/knock/Config.in index 0060ad07ce6..5a4c00d9e81 100644 --- a/package/knock/Config.in +++ b/package/knock/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_KNOCK bool "knock" - depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_LIBPCAP help A port knocking implementation. Provides a daemon and a user application. Port knocking can be @@ -11,3 +9,15 @@ config BR2_PACKAGE_KNOCK firewall. http://www.zeroflux.org/projects/knock + +if BR2_PACKAGE_KNOCK + +config BR2_PACKAGE_KNOCK_KNOCKD + bool "knockd" + default y + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBPCAP + help + Enable knockd + +endif diff --git a/package/knock/knock.hash b/package/knock/knock.hash index 0b9a0918fca..fb8d9aef78a 100644 --- a/package/knock/knock.hash +++ b/package/knock/knock.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 940a8de61b4b3530560805c3b9310a077c28c99173c2ccb07ff96720b0e93c58 knock-258a27e5a47809f97c2b9f2751a88c2f94aae891.tar.gz +sha256 7a82c276ca1540faa7f5bb25010f4a59d45323a31c44a30fbe4a6e484dd18b1a knock-0.8.tar.gz sha256 d747e19206e41702e40822dd91d37cbf40edd86f364ea416d667a0e3013f7189 COPYING diff --git a/package/knock/knock.mk b/package/knock/knock.mk index 55f5bfdf365..de70f262740 100644 --- a/package/knock/knock.mk +++ b/package/knock/knock.mk @@ -4,15 +4,20 @@ # ################################################################################ -KNOCK_VERSION = 258a27e5a47809f97c2b9f2751a88c2f94aae891 -KNOCK_SITE = $(call github,jvinet,knock,$(KNOCK_VERSION)) +KNOCK_VERSION = 0.8 +KNOCK_SITE = $(call github,jvinet,knock,v$(KNOCK_VERSION)) KNOCK_AUTORECONF = YES KNOCK_LICENSE = GPL-2.0+ KNOCK_LICENSE_FILES = COPYING -KNOCK_DEPENDENCIES = libpcap +ifeq ($(BR2_PACKAGE_KNOCK_KNOCKD),y) +KNOCK_DEPENDENCIES += libpcap +KNOCK_CONF_OPTS += --enable-knockd ifeq ($(BR2_STATIC_LIBS),y) -KNOCK_CONF_OPTS = LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" +KNOCK_CONF_OPTS += LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" +endif +else +KNOCK_CONF_OPTS += --disable-knockd endif $(eval $(autotools-package)) diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash index ecc6f2b7785..e2bfe099288 100644 --- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash +++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6827f1ebefa5f281ace52bdf83b5ab95789c77b88a344524ead1b346668d57e7 kodi-audiodecoder-modplug-2.0.3-Leia.tar.gz -sha256 317f732723eb58745a9b22c234861dbd2d98972039543f6b549c7cb26eb2cb08 debian/copyright +sha256 6e1b1910e799ea8c5ab11428084feb8f6a0a9b1b0d4b5760033545fe765a59e9 kodi-audiodecoder-modplug-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk index 8e1031053e1..f5736e7db73 100644 --- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk +++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_MODPLUG_VERSION = 2.0.3-Leia +KODI_AUDIODECODER_MODPLUG_VERSION = 19.0.2-Matrix KODI_AUDIODECODER_MODPLUG_SITE = $(call github,xbmc,audiodecoder.modplug,$(KODI_AUDIODECODER_MODPLUG_VERSION)) KODI_AUDIODECODER_MODPLUG_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_MODPLUG_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_MODPLUG_LICENSE_FILES = LICENSE.md KODI_AUDIODECODER_MODPLUG_DEPENDENCIES = kodi libmodplug $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash index 8f04dc53023..9d1c9a2a76e 100644 --- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash +++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 66305c9d654aed0b9efcf44b90acac0ab8db321dff57523d13faf67606cd78ce kodi-audiodecoder-nosefart-2.0.2-Leia.tar.gz -sha256 01a3f135925df23a5d8679ff633fe3d5021125224c9349acd2c35dd0cf3ea762 debian/copyright +sha256 631b2abded62a34bf66a6769f7b1597a418057f64d79e54322f57090e53e63e7 kodi-audiodecoder-nosefart-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk index 8f437a7378e..fbf327032bb 100644 --- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk +++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_NOSEFART_VERSION = 2.0.2-Leia +KODI_AUDIODECODER_NOSEFART_VERSION = 19.0.2-Matrix KODI_AUDIODECODER_NOSEFART_SITE = $(call github,xbmc,audiodecoder.nosefart,$(KODI_AUDIODECODER_NOSEFART_VERSION)) KODI_AUDIODECODER_NOSEFART_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_NOSEFART_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_NOSEFART_LICENSE_FILES = LICENSE.md KODI_AUDIODECODER_NOSEFART_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash index 308f2b6fe18..28999afb7b7 100644 --- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash +++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 271e513a3094b163f986eb5bb5cbc70c7a602f5764cef255cc161cc5094e5648 kodi-audiodecoder-sidplay-1.2.2-Leia.tar.gz -sha256 dc915100daec3589f59b47f3438e8ec5ccc11ec25ccb3d0e7e66639764f31584 debian/copyright +sha256 a4fe4f0c48649222930c8c574156c5c3b2ad82fc97de2bdbd0c5e510402853ec kodi-audiodecoder-sidplay-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk index 079ae0b202b..173a2b10cad 100644 --- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk +++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_SIDPLAY_VERSION = 1.2.2-Leia +KODI_AUDIODECODER_SIDPLAY_VERSION = 19.0.1-Matrix KODI_AUDIODECODER_SIDPLAY_SITE = $(call github,xbmc,audiodecoder.sidplay,$(KODI_AUDIODECODER_SIDPLAY_VERSION)) KODI_AUDIODECODER_SIDPLAY_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_SIDPLAY_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_SIDPLAY_LICENSE_FILES = LICENSE.md KODI_AUDIODECODER_SIDPLAY_DEPENDENCIES = host-pkgconf kodi libsidplay2 $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash index c1c2eee2bc7..1a0227f415e 100644 --- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash +++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e059f84b04b8e92e5ecc2989303f6a736f37d6e3bda939ac765499e616c91580 kodi-audiodecoder-snesapu-2.0.2-Leia.tar.gz -sha256 b7e8b234fc40687d647d929fc554b91cdaa4011e5e656e68c5c6ee8c4cdf81d2 debian/copyright +sha256 b7180132472b27e71bf9f30675c0af58330f3ad07d7065492d28f3e97117c341 kodi-audiodecoder-snesapu-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk index 57504a17bbe..ff988dffce2 100644 --- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk +++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_SNESAPU_VERSION = 2.0.2-Leia +KODI_AUDIODECODER_SNESAPU_VERSION = 19.0.2-Matrix KODI_AUDIODECODER_SNESAPU_SITE = $(call github,xbmc,audiodecoder.snesapu,$(KODI_AUDIODECODER_SNESAPU_VERSION)) KODI_AUDIODECODER_SNESAPU_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_SNESAPU_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_SNESAPU_LICENSE_FILES = LICENSE.md KODI_AUDIODECODER_SNESAPU_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash index 24b764061b0..5f8d4564c8a 100644 --- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash +++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 3e14a7da3822002a90bf7d31a9f98541ae9ec2137c764dc94ca5b4de4ac8de82 kodi-audiodecoder-stsound-2.0.2-Leia.tar.gz -sha256 417ded3464139990f7898ac17c9eacde85dc0fafd3b3ca0c497d945b1bd93af5 debian/copyright +sha256 1c740e69047d93d34cfe8c574f923f8dd205adb997fb5d1444a55a6b9d9f0f75 kodi-audiodecoder-stsound-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk index 679be5a7ff7..491be3a7ba1 100644 --- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk +++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_STSOUND_VERSION = 2.0.2-Leia +KODI_AUDIODECODER_STSOUND_VERSION = 19.0.1-Matrix KODI_AUDIODECODER_STSOUND_SITE = $(call github,xbmc,audiodecoder.stsound,$(KODI_AUDIODECODER_STSOUND_VERSION)) KODI_AUDIODECODER_STSOUND_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_STSOUND_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_STSOUND_LICENSE_FILES = LICENSE.md KODI_AUDIODECODER_STSOUND_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash index ea56c38f6c1..b1131ff43d3 100644 --- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash +++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b20a3a23056aaf76c216c755f36dff03e943d7c086d3e3fca4c920b93113e073 kodi-audiodecoder-timidity-2.0.5-Leia.tar.gz +sha256 2d9aa6f00315d227a39cb67089c64671987fd9167766f37c28a91168cb8e230e kodi-audiodecoder-timidity-19.0.2-Matrix.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk index a4f0126c43b..d10fd161cba 100644 --- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk +++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_AUDIODECODER_TIMIDITY_VERSION = 2.0.5-Leia +KODI_AUDIODECODER_TIMIDITY_VERSION = 19.0.2-Matrix KODI_AUDIODECODER_TIMIDITY_SITE = $(call github,xbmc,audiodecoder.timidity,$(KODI_AUDIODECODER_TIMIDITY_VERSION)) KODI_AUDIODECODER_TIMIDITY_LICENSE = GPL-2.0+ KODI_AUDIODECODER_TIMIDITY_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash index 3ee9ebbfcb0..152f1a6eb5e 100644 --- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash +++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 28876be1e1317b3ec5c3a4fe415f20d92a4c5868912656c5e8ab9cdd7e3f32d8 kodi-audiodecoder-vgmstream-1.1.5-Leia.tar.gz -sha256 fc7c7ab8774d94fb2eccdf47e3b8052a3906e4b5ec8554191da321020c965d8e debian/copyright +sha256 0e349225f35ce4bae3026c669b13c696cec2399ec34c0f7726527d19503e14d4 kodi-audiodecoder-vgmstream-19.0.0-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk index 4e3cdab584b..15cfdcded90 100644 --- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk +++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_VGMSTREAM_VERSION = 1.1.5-Leia +KODI_AUDIODECODER_VGMSTREAM_VERSION = 19.0.0-Matrix KODI_AUDIODECODER_VGMSTREAM_SITE = $(call github,xbmc,audiodecoder.vgmstream,$(KODI_AUDIODECODER_VGMSTREAM_VERSION)) KODI_AUDIODECODER_VGMSTREAM_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_VGMSTREAM_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_VGMSTREAM_LICENSE_FILES = LICENSE.md KODI_AUDIODECODER_VGMSTREAM_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash index 9f33d6c63a4..5784c2585b1 100644 --- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash +++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 42e18fc2477ce5abc3efd89851a4bacc6b9436889a607a15f8232ef68b297f93 kodi-audioencoder-flac-2.0.6-Leia.tar.gz -sha256 21dc3eb9c75f1ed6367a4cf3f3999b299bc6c172da3730184edd2a5dd4d090aa debian/copyright +sha256 fdc70c68b10e28469c8d20f5a0dcc1c24fdddda81afe98dd031bff58c8e184e8 kodi-audioencoder-flac-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk index 53c1f3debc4..65d5ff4aeee 100644 --- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk +++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIOENCODER_FLAC_VERSION = 2.0.6-Leia +KODI_AUDIOENCODER_FLAC_VERSION = 19.0.1-Matrix KODI_AUDIOENCODER_FLAC_SITE = $(call github,xbmc,audioencoder.flac,$(KODI_AUDIOENCODER_FLAC_VERSION)) KODI_AUDIOENCODER_FLAC_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_FLAC_LICENSE_FILES = debian/copyright +KODI_AUDIOENCODER_FLAC_LICENSE_FILES = LICENSE.md KODI_AUDIOENCODER_FLAC_DEPENDENCIES = flac kodi libogg host-pkgconf $(eval $(cmake-package)) diff --git a/package/kodi-audioencoder-lame/Config.in b/package/kodi-audioencoder-lame/Config.in index dc6a0cd7e5c..b050ac6b930 100644 --- a/package/kodi-audioencoder-lame/Config.in +++ b/package/kodi-audioencoder-lame/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_KODI_AUDIOENCODER_LAME bool "kodi-audioencoder-lame" select BR2_PACKAGE_KODI_OPTICALDRIVE select BR2_PACKAGE_LAME + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help An audioencoder addon for Kodi diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash index cd3351e2b7a..a9cb12af6a6 100644 --- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash +++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9df54cf5c5ae3882a2d89d745c1d1f8b749e71a7f9305a1b059ecfd356995a36 kodi-audioencoder-lame-2.0.4-Leia.tar.gz -sha256 68a06632cc80eea941b07e27777788dcd4f7c5ba9c006e24f467a9d4bf4d3582 debian/copyright +sha256 774e75b051b1872620a706aa5e6c8741708364ac8d9d849286c4a265dd1a22f7 kodi-audioencoder-lame-19.1.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk index 5d93e83ed60..fbc74897826 100644 --- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk +++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk @@ -4,12 +4,16 @@ # ################################################################################ -KODI_AUDIOENCODER_LAME_VERSION = 2.0.4-Leia +KODI_AUDIOENCODER_LAME_VERSION = 19.1.2-Matrix KODI_AUDIOENCODER_LAME_SITE = $(call github,xbmc,audioencoder.lame,$(KODI_AUDIOENCODER_LAME_VERSION)) KODI_AUDIOENCODER_LAME_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_LAME_LICENSE_FILES = debian/copyright +KODI_AUDIOENCODER_LAME_LICENSE_FILES = LICENSE.md KODI_AUDIOENCODER_LAME_DEPENDENCIES = kodi lame KODI_AUDIOENCODER_LAME_CONF_OPTS += \ -DLAME_INCLUDE_DIRS=$(STAGING_DIR)/usr/include +ifeq ($(BR2_ENABLE_LOCALE),) +KODI_AUDIOENCODER_LAME_DEPENDENCIES += libiconv +endif + $(eval $(cmake-package)) diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash index 0b9463feb83..02e976f2d43 100644 --- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash +++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b4b2b1b7ae8bda35514f20ad0275b434f2b60fc93b1e17ca6e654ae145852b1f kodi-audioencoder-vorbis-2.0.4-Leia.tar.gz -sha256 706e890fc5c0496b72d3c36284abcc85f9c83b3f2b21db53a68439c538122a59 debian/copyright +sha256 26f5b3e60ec3d3e17ea81a009fc91886159335fb8eec56e874e357901c90deeb kodi-audioencoder-vorbis-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk index b789d239bdc..66faba19f32 100644 --- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk +++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIOENCODER_VORBIS_VERSION = 2.0.4-Leia +KODI_AUDIOENCODER_VORBIS_VERSION = 19.0.1-Matrix KODI_AUDIOENCODER_VORBIS_SITE = $(call github,xbmc,audioencoder.vorbis,$(KODI_AUDIOENCODER_VORBIS_VERSION)) KODI_AUDIOENCODER_VORBIS_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_VORBIS_LICENSE_FILES = debian/copyright +KODI_AUDIOENCODER_VORBIS_LICENSE_FILES = LICENSE.md KODI_AUDIOENCODER_VORBIS_DEPENDENCIES = kodi libogg libvorbis host-pkgconf $(eval $(cmake-package)) diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash index 9b9add2161c..f616d769928 100644 --- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash +++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 03cb2810b2aa335fd308a5e2b6580d21ac840334c55fc891acc310633c3c49b4 kodi-audioencoder-wav-2.0.3-Leia.tar.gz -sha256 341a6317428fbc7c9d5b971d1c6162ea34be64649caa650ee0a05c06ae53a872 debian/copyright +sha256 32069979efb02daaa79b8ce09e060eed73f3fa73a4614b6c67e50ee33f1b096f kodi-audioencoder-wav-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk index b597b1b13d0..d8c7b1a6940 100644 --- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk +++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIOENCODER_WAV_VERSION = 2.0.3-Leia +KODI_AUDIOENCODER_WAV_VERSION = 19.0.1-Matrix KODI_AUDIOENCODER_WAV_SITE = $(call github,xbmc,audioencoder.wav,$(KODI_AUDIOENCODER_WAV_VERSION)) KODI_AUDIOENCODER_WAV_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_WAV_LICENSE_FILES = debian/copyright +KODI_AUDIOENCODER_WAV_LICENSE_FILES = LICENSE.md KODI_AUDIOENCODER_WAV_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-inputstream-adaptive/Config.in b/package/kodi-inputstream-adaptive/Config.in index 21f1cff171f..f0a24b7043a 100644 --- a/package/kodi-inputstream-adaptive/Config.in +++ b/package/kodi-inputstream-adaptive/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_KODI_INPUTSTREAM_ADAPTIVE # wvdecrypter/cdm/build/build_config.h depends on BR2_aarch64 || BR2_arm || BR2_i386 || BR2_mipsel \ || BR2_mips64el || BR2_x86_64 + select BR2_PACKAGE_EXPAT help Kodi inputstream addon for several manifest types diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash index b12c93ac11d..74aefe2138e 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 222b7ad879146c62a1fc6016fc70ca1ca57b3b882882ebc54e0b772bf96482e7 kodi-inputstream-adaptive-2.4.6-Leia.tar.gz +sha256 1549422ac1386929dfc1a479898d6311440d1f8bfd1bc94e1fe5da9cc2db805c kodi-inputstream-adaptive-19.0.3-Matrix.tar.gz sha256 89931c1fb1f3716694175763cf3221cfcd63d6935031cf6b4512d17ffe5d9860 LICENSE.GPL diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk index a8024951d48..83ac8970377 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_INPUTSTREAM_ADAPTIVE_VERSION = 2.4.6-Leia +KODI_INPUTSTREAM_ADAPTIVE_VERSION = 19.0.3-Matrix KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,xbmc,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION)) KODI_INPUTSTREAM_ADAPTIVE_LICENSE = GPL-2.0+ KODI_INPUTSTREAM_ADAPTIVE_LICENSE_FILES = LICENSE.GPL -KODI_INPUTSTREAM_ADAPTIVE_DEPENDENCIES = kodi +KODI_INPUTSTREAM_ADAPTIVE_DEPENDENCIES = expat kodi $(eval $(cmake-package)) diff --git a/package/kodi-inputstream-ffmpegdirect/Config.in b/package/kodi-inputstream-ffmpegdirect/Config.in new file mode 100644 index 00000000000..4f246e1733f --- /dev/null +++ b/package/kodi-inputstream-ffmpegdirect/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_KODI_INPUTSTREAM_FFMPEGDIRECT + bool "kodi-inputstream-ffmpegdirect" + depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_GPL + select BR2_PACKAGE_FFMPEG_POSTPROC + help + This is a Kodi input stream addon for streams that can be + opened by FFmpeg's libavformat, such as plain TS, HLS and + DASH streams. + + https://github.com/xbmc/inputstream.ffmpegdirect diff --git a/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.hash b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.hash new file mode 100644 index 00000000000..97385a5167b --- /dev/null +++ b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 b676f5264df50f3cf990b270bbeb4a18bb082e99ff189d7b9a25fd67313a0382 kodi-inputstream-ffmpegdirect-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.mk b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.mk new file mode 100644 index 00000000000..bad6c6ac972 --- /dev/null +++ b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# kodi-inputstream-ffmpegdirect +# +################################################################################ + +KODI_INPUTSTREAM_FFMPEGDIRECT_VERSION = 19.0.1-Matrix +KODI_INPUTSTREAM_FFMPEGDIRECT_SITE = $(call github,xbmc,inputstream.ffmpegdirect,$(KODI_INPUTSTREAM_FFMPEGDIRECT_VERSION)) +KODI_INPUTSTREAM_FFMPEGDIRECT_LICENSE = GPL-2.0+ +KODI_INPUTSTREAM_FFMPEGDIRECT_LICENSE_FILES = LICENSE.md +KODI_INPUTSTREAM_FFMPEGDIRECT_DEPENDENCIES = bzip2 ffmpeg kodi +KODI_INPUTSTREAM_FFMPEGDIRECT_CONF_OPTS = \ + -DFFMPEG_PATH=$(STAGING_DIR)/usr + +$(eval $(cmake-package)) diff --git a/package/kodi-inputstream-rtmp/Config.in b/package/kodi-inputstream-rtmp/Config.in index fa839263014..c4bd2e1380b 100644 --- a/package/kodi-inputstream-rtmp/Config.in +++ b/package/kodi-inputstream-rtmp/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_KODI_INPUTSTREAM_RTMP bool "kodi-inputstream-rtmp" + select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_RTMPDUMP + select BR2_PACKAGE_ZLIB help RTMP input stream add-on for Kodi diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash index d472b89ba9b..62a1c261a27 100644 --- a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash +++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 56dac63262fa736620863900d903616d4827d735992e6d8beda84e377a5599e5 kodi-inputstream-rtmp-2.0.9-Leia.tar.gz -sha256 ddba7d22c2586f13de40786c21f3b87c6913c9937f4862dc828d33cfff0395eb debian/copyright +sha256 8ed3db36f9ef667295fbce8fb2be6f032039e3d0e18e34677ed17de11be8a6e8 kodi-inputstream-rtmp-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk index e850be40ff4..b719a6ab2e5 100644 --- a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk +++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_INPUTSTREAM_RTMP_VERSION = 2.0.9-Leia +KODI_INPUTSTREAM_RTMP_VERSION = 19.0.1-Matrix KODI_INPUTSTREAM_RTMP_SITE = $(call github,xbmc,inputstream.rtmp,$(KODI_INPUTSTREAM_RTMP_VERSION)) KODI_INPUTSTREAM_RTMP_LICENSE = GPL-2.0+ -KODI_INPUTSTREAM_RTMP_LICENSE_FILES = debian/copyright -KODI_INPUTSTREAM_RTMP_DEPENDENCIES = kodi rtmpdump +KODI_INPUTSTREAM_RTMP_LICENSE_FILES = LICENSE.md +KODI_INPUTSTREAM_RTMP_DEPENDENCIES = kodi openssl rtmpdump zlib $(eval $(cmake-package)) diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk index 2c7f77d050a..81fc2bb9f1c 100644 --- a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_JSONSCHEMABUILDER_VERSION = 18.9-Leia +KODI_JSONSCHEMABUILDER_VERSION = 19.3-Matrix KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION)) KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz KODI_JSONSCHEMABUILDER_DL_SUBDIR = kodi diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash index d0cac8e4bb9..c43d5d86281 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e83c32380a51ea74bd5f0af74afc747ff5de99167934e2644bc2b3438cd998d0 kodi-peripheral-joystick-1.4.9-Leia.tar.gz -sha256 2bb807179053b1a7795f9952539a394664847f561a9ffa4ccc36d7bb3cddadf9 debian/copyright +sha256 65efcfb8b0ed6595082d8d7298ec25b5c31d0189bb8e09ae1bc10989b9655204 kodi-peripheral-joystick-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk index 9cce174da13..b823550751f 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PERIPHERAL_JOYSTICK_VERSION = 1.4.9-Leia +KODI_PERIPHERAL_JOYSTICK_VERSION = 19.0.1-Matrix KODI_PERIPHERAL_JOYSTICK_SITE = $(call github,xbmc,peripheral.joystick,$(KODI_PERIPHERAL_JOYSTICK_VERSION)) KODI_PERIPHERAL_JOYSTICK_LICENSE = GPL-2.0+ -KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = debian/copyright +KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = LICENSE.md KODI_PERIPHERAL_JOYSTICK_DEPENDENCIES = kodi tinyxml udev $(eval $(cmake-package)) diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash index 7443ac65d8f..5cb774fe26a 100644 --- a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash +++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c1d755230b0f2fe943cf7297a6d187371088f39391944d422d2bf5969c8863c1 kodi-peripheral-xarcade-51e1a4550a6c7d7feeb01760a731af17bea6c524.tar.gz -sha256 848ad4f3a480c953b556467fb9a315dd352ec1d267e012144c46adc571e39efb debian/copyright +sha256 27f592e07c788067c97f7bbcac8a2c6803954730e6f0f66f2047a1d939e6648d kodi-peripheral-xarcade-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk index 42d7af8a020..fd8b1af38c7 100644 --- a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk +++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PERIPHERAL_XARCADE_VERSION = 51e1a4550a6c7d7feeb01760a731af17bea6c524 +KODI_PERIPHERAL_XARCADE_VERSION = 19.0.1-Matrix KODI_PERIPHERAL_XARCADE_SITE = $(call github,kodi-game,peripheral.xarcade,$(KODI_PERIPHERAL_XARCADE_VERSION)) KODI_PERIPHERAL_XARCADE_LICENSE = GPL-2.0+ -KODI_PERIPHERAL_XARCADE_LICENSE_FILES = debian/copyright +KODI_PERIPHERAL_XARCADE_LICENSE_FILES = LICENSE.md KODI_PERIPHERAL_XARCADE_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-platform/0001-kodiplatform-config.cmake-fix-for-cross-compilation.patch b/package/kodi-platform/0001-kodiplatform-config.cmake-fix-for-cross-compilation.patch deleted file mode 100644 index cc514b002be..00000000000 --- a/package/kodi-platform/0001-kodiplatform-config.cmake-fix-for-cross-compilation.patch +++ /dev/null @@ -1,56 +0,0 @@ -From a6e25dba4b5c1d911a4644a0ca116abc642cd72a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 30 Jul 2015 09:28:24 +0200 -Subject: [PATCH] kodiplatform-config.cmake: fix for cross-compilation - -Use CMAKE_FIND_ROOT_PATH in kodiplatform-config.cmake in order to make -it cross-compilation friendly. - -Patch sent upstream: https://github.com/xbmc/kodi-platform/pull/30 - -Signed-off-by: Thomas Petazzoni ---- - CMakeLists.txt | 2 +- - kodiplatform-config.cmake.in | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 25d8004..db23dc9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -22,7 +22,7 @@ if(NOT WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") - endif() - --set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi") -+set(kodiplatform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/kodi") - IF(WIN32) - LIST(APPEND kodiplatform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/kodi/windows") - ENDIF(WIN32) -diff --git a/kodiplatform-config.cmake.in b/kodiplatform-config.cmake.in -index 3fc5273..1bc437a 100644 ---- a/kodiplatform-config.cmake.in -+++ b/kodiplatform-config.cmake.in -@@ -10,16 +10,16 @@ - # - # propagate these properties from one build system to the other - set (kodiplatform_VERSION "@kodiplatform_VERSION_MAJOR@.@kodiplatform_VERSION_MINOR@") --set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX@/include) -+set (kodiplatform_INCLUDE_DIRS @TINYXML_INCLUDE_DIR@ ${CMAKE_FIND_ROOT_PATH}@kodiplatform_INCLUDE_DIRS@ ${CMAKE_FIND_ROOT_PATH}@CMAKE_INSTALL_PREFIX@/include) - set (kodiplatform_LIBRARY_DIRS "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@") - set (kodiplatform_LINKER_FLAGS "@kodiplatform_LINKER_FLAGS@") - set (kodiplatform_CONFIG_VARS "@kodiplatform_CONFIG_VARS@") - - # libraries come from the build tree where this file was generated - if(WIN32) -- set (kodiplatform_LIBRARY "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/kodiplatform.lib") -+ set (kodiplatform_LIBRARY "${CMAKE_FIND_ROOT_PATH}@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/kodiplatform.lib") - else(WIN32) -- set (kodiplatform_LIBRARY "-L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -lkodiplatform") -+ set (kodiplatform_LIBRARY "-L${CMAKE_FIND_ROOT_PATH}@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -lkodiplatform") - endif(WIN32) - set (kodiplatform_LIBRARIES ${kodiplatform_LIBRARY} "@kodiplatform_LIBRARIES@") - mark_as_advanced (kodiplatform_LIBRARY) --- -2.5.0 - diff --git a/package/kodi-platform/Config.in b/package/kodi-platform/Config.in deleted file mode 100644 index cde1925c07c..00000000000 --- a/package/kodi-platform/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_KODI_PLATFORM - bool - select BR2_PACKAGE_LIBPLATFORM - help - Kodi add-on platform support library - - https://github.com/xbmc/kodi-platform diff --git a/package/kodi-platform/kodi-platform.hash b/package/kodi-platform/kodi-platform.hash deleted file mode 100644 index 29a43cf0215..00000000000 --- a/package/kodi-platform/kodi-platform.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed -sha256 159165ae641da5eb273885ce53b8a4b84e62a595c4974f9d12c1b5d1428ef25c kodi-platform-809c5e9d711e378561440a896fcb7dbcd009eb3d.tar.gz -sha256 2f4bc4c1244b679121749378ff1a2b4b4e318897dac3d346a236432948ebeea7 debian/copyright diff --git a/package/kodi-platform/kodi-platform.mk b/package/kodi-platform/kodi-platform.mk deleted file mode 100644 index f1b97e32592..00000000000 --- a/package/kodi-platform/kodi-platform.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# kodi-platform -# -################################################################################ - -KODI_PLATFORM_VERSION = 809c5e9d711e378561440a896fcb7dbcd009eb3d -KODI_PLATFORM_SITE = $(call github,xbmc,kodi-platform,$(KODI_PLATFORM_VERSION)) -KODI_PLATFORM_LICENSE = GPL-2.0+ -KODI_PLATFORM_LICENSE_FILES = debian/copyright -KODI_PLATFORM_INSTALL_STAGING = YES -KODI_PLATFORM_DEPENDENCIES = libplatform kodi - -$(eval $(cmake-package)) diff --git a/package/kodi-pvr-argustv/Config.in b/package/kodi-pvr-argustv/Config.in index 216000aefd3..7cca2661c7e 100644 --- a/package/kodi-pvr-argustv/Config.in +++ b/package/kodi-pvr-argustv/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_PVR_ARGUSTV bool "kodi-pvr-argustv" select BR2_PACKAGE_JSONCPP - select BR2_PACKAGE_KODI_PLATFORM help Kodi's ARGUS TV client addon diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash index 5c47dd30b29..33de7d6ca01 100644 --- a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash +++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7bfedb27b2aec4015b2594df18b76fe42e97ec10f4b5cb9c6987b1a7a264c844 kodi-pvr-argustv-3.5.6-Leia.tar.gz -sha256 17bc5450fff10fc46484886690adbf20c369f5baff021435feab1187b9943834 debian/copyright +sha256 027e49b56c03d182fbf69ce71a84270dddb06e537814cd9ea209d4baca8d16fe kodi-pvr-argustv-19.2.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk index 73a9f1c764b..90d0a530025 100644 --- a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk +++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_ARGUSTV_VERSION = 3.5.6-Leia +KODI_PVR_ARGUSTV_VERSION = 19.2.1-Matrix KODI_PVR_ARGUSTV_SITE = $(call github,kodi-pvr,pvr.argustv,$(KODI_PVR_ARGUSTV_VERSION)) KODI_PVR_ARGUSTV_LICENSE = GPL-2.0+ -KODI_PVR_ARGUSTV_LICENSE_FILES = debian/copyright -KODI_PVR_ARGUSTV_DEPENDENCIES = jsoncpp kodi-platform +KODI_PVR_ARGUSTV_LICENSE_FILES = LICENSE.md +KODI_PVR_ARGUSTV_DEPENDENCIES = jsoncpp kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-dvblink/Config.in b/package/kodi-pvr-dvblink/Config.in index 57f11271ec8..3358750376e 100644 --- a/package/kodi-pvr-dvblink/Config.in +++ b/package/kodi-pvr-dvblink/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KODI_PVR_DVBLINK bool "kodi-pvr-dvblink" - select BR2_PACKAGE_KODI_PLATFORM select BR2_PACKAGE_TINYXML2 help Kodi's DVBLink client addon diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash index c2121df0258..de429ebf15e 100644 --- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash +++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ad7586abfe7b3f9dd67b3a2225c442fc8d2a442e48bd7df75b11652286392c2f kodi-pvr-dvblink-4.7.2-Leia.tar.gz -sha256 4200fb35edb052f04dc43d267a1ad59468cb899e7b4931756b5830039b82716d debian/copyright +sha256 77f425d3521332e06ff758cfd1c63eb26f73990391ddb04f0ea6f9f3f0d114cf kodi-pvr-dvblink-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk index 95bc7bbb4b3..e58711cb117 100644 --- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk +++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_DVBLINK_VERSION = 4.7.2-Leia +KODI_PVR_DVBLINK_VERSION = 19.0.1-Matrix KODI_PVR_DVBLINK_SITE = $(call github,kodi-pvr,pvr.dvblink,$(KODI_PVR_DVBLINK_VERSION)) KODI_PVR_DVBLINK_LICENSE = GPL-2.0+ -KODI_PVR_DVBLINK_LICENSE_FILES = debian/copyright -KODI_PVR_DVBLINK_DEPENDENCIES = kodi-platform tinyxml2 +KODI_PVR_DVBLINK_LICENSE_FILES = LICENSE.md +KODI_PVR_DVBLINK_DEPENDENCIES = kodi tinyxml2 $(eval $(cmake-package)) diff --git a/package/kodi-pvr-dvbviewer/Config.in b/package/kodi-pvr-dvbviewer/Config.in index e7dd7b3eb6f..6a47d154fca 100644 --- a/package/kodi-pvr-dvbviewer/Config.in +++ b/package/kodi-pvr-dvbviewer/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_KODI_PVR_DVBVIEWER bool "kodi-pvr-dvbviewer" - select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_TINYXML help Kodi's DVBViewer client addon diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash index ec2013412f8..d6a3e1c29c7 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8a3d167e652574caf30ba0ce9c22d278715e0237774b817e37826f1b2d647bff kodi-pvr-dvbviewer-3.7.11-Leia.tar.gz -sha256 5757dbd6a8731e9395508cd7ab9ca0ea0c2863a7aac7136299d40549c88c9c2c debian/copyright +sha256 5a6d6ff8ee87f37e2a6580b2a880a2ede635a4d9615962996831362150a5a20e kodi-pvr-dvbviewer-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk index b88d3d86cda..db7884fcf7e 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_DVBVIEWER_VERSION = 3.7.11-Leia +KODI_PVR_DVBVIEWER_VERSION = 19.0.2-Matrix KODI_PVR_DVBVIEWER_SITE = $(call github,kodi-pvr,pvr.dvbviewer,$(KODI_PVR_DVBVIEWER_VERSION)) KODI_PVR_DVBVIEWER_LICENSE = GPL-2.0+ -KODI_PVR_DVBVIEWER_LICENSE_FILES = debian/copyright -KODI_PVR_DVBVIEWER_DEPENDENCIES = kodi-platform +KODI_PVR_DVBVIEWER_LICENSE_FILES = LICENSE.md +KODI_PVR_DVBVIEWER_DEPENDENCIES = kodi tinyxml $(eval $(cmake-package)) diff --git a/package/kodi-pvr-filmon/Config.in b/package/kodi-pvr-filmon/Config.in index 0b662df1766..d10002912ad 100644 --- a/package/kodi-pvr-filmon/Config.in +++ b/package/kodi-pvr-filmon/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_PVR_FILMON bool "kodi-pvr-filmon" select BR2_PACKAGE_JSONCPP - select BR2_PACKAGE_KODI_PLATFORM help Filmon PVR client addon for Kodi diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash index e89ce6359bf..ce6fb8f3856 100644 --- a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash +++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 90988e4833c0f84ab08e08be3cd08b84e4ba2baf2ebc1545c62e5dbd6708d749 kodi-pvr-filmon-2.4.6-Leia.tar.gz -sha256 081907693b03f27cb1b17e0a440ae05fd8c8b4631be6fe6fdba4e18a5d40fdc5 debian/copyright +sha256 5853a69455847da87ed0aebad4121f47c7a1aeb80cda6dbe20f069d33a02720b kodi-pvr-filmon-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk index 078eae176ab..c5705670f85 100644 --- a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk +++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_FILMON_VERSION = 2.4.6-Leia +KODI_PVR_FILMON_VERSION = 19.0.1-Matrix KODI_PVR_FILMON_SITE = $(call github,kodi-pvr,pvr.filmon,$(KODI_PVR_FILMON_VERSION)) KODI_PVR_FILMON_LICENSE = GPL-2.0+ -KODI_PVR_FILMON_LICENSE_FILES = debian/copyright -KODI_PVR_FILMON_DEPENDENCIES = jsoncpp kodi-platform +KODI_PVR_FILMON_LICENSE_FILES = LICENSE.md +KODI_PVR_FILMON_DEPENDENCIES = jsoncpp kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-hdhomerun/Config.in b/package/kodi-pvr-hdhomerun/Config.in index ed5b914cb35..5a05a85c9c8 100644 --- a/package/kodi-pvr-hdhomerun/Config.in +++ b/package/kodi-pvr-hdhomerun/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_PVR_HDHOMERUN bool "kodi-pvr-hdhomerun" select BR2_PACKAGE_JSONCPP - select BR2_PACKAGE_KODI_PLATFORM select BR2_PACKAGE_LIBHDHOMERUN help Kodi's HDHomeRun client addon diff --git a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash index 1762289f0ce..4c866b59d8a 100644 --- a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash +++ b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 815ba3dfbe6e1318226d41879057f0b8a4f0ac960d12ebc5d69f0a1ac28cfa09 kodi-pvr-hdhomerun-3.5.0-Leia.tar.gz -sha256 9e76c8ce9e201f75c50c755982b9e2f15821280dedc5e953f685086912e1e39d debian/copyright +sha256 6a5e5135b176d9aeba35e16fb6ce48ce7323c53960457597e25c2962b126cca2 kodi-pvr-hdhomerun-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk index ae42f5c33d7..5c6829cee3f 100644 --- a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk +++ b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_HDHOMERUN_VERSION = 3.5.0-Leia +KODI_PVR_HDHOMERUN_VERSION = 19.0.2-Matrix KODI_PVR_HDHOMERUN_SITE = $(call github,kodi-pvr,pvr.hdhomerun,$(KODI_PVR_HDHOMERUN_VERSION)) KODI_PVR_HDHOMERUN_LICENSE = GPL-2.0+ -KODI_PVR_HDHOMERUN_LICENSE_FILES = debian/copyright -KODI_PVR_HDHOMERUN_DEPENDENCIES = jsoncpp kodi-platform libhdhomerun +KODI_PVR_HDHOMERUN_LICENSE_FILES = LICENSE.md +KODI_PVR_HDHOMERUN_DEPENDENCIES = jsoncpp kodi libhdhomerun $(eval $(cmake-package)) diff --git a/package/kodi-pvr-hts/Config.in b/package/kodi-pvr-hts/Config.in index c4c4497bd34..a352457f316 100644 --- a/package/kodi-pvr-hts/Config.in +++ b/package/kodi-pvr-hts/Config.in @@ -1,7 +1,10 @@ config BR2_PACKAGE_KODI_PVR_HTS bool "kodi-pvr-hts" - select BR2_PACKAGE_KODI_PLATFORM + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 help Tvheadend HTSP PVR client addon for Kodi https://github.com/kodi-pvr/pvr.hts + +comment "kodi-pvr-hts needs a toolchain w/ gcc >= 7" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.hash b/package/kodi-pvr-hts/kodi-pvr-hts.hash index c9724404b59..40cd8fd62f4 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.hash +++ b/package/kodi-pvr-hts/kodi-pvr-hts.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6958b91ca616554e4c068bc303c66388e9a2c3a68b5979d8918b4e0d7b6bb95c kodi-pvr-hts-4.4.21-Leia.tar.gz -sha256 6d97c3d608a5d59565b567313bd3e53a1d0066ed59f4ae8e474c895d0c20e746 debian/copyright +sha256 990e5fd0757d48b86675aa124b77629e7fb2de6b27dcfd6f6ccc7ce181d04aeb kodi-pvr-hts-19.0.6-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.mk b/package/kodi-pvr-hts/kodi-pvr-hts.mk index 6a25cda0036..caa90b7af64 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.mk +++ b/package/kodi-pvr-hts/kodi-pvr-hts.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_HTS_VERSION = 4.4.21-Leia +KODI_PVR_HTS_VERSION = 19.0.6-Matrix KODI_PVR_HTS_SITE = $(call github,kodi-pvr,pvr.hts,$(KODI_PVR_HTS_VERSION)) KODI_PVR_HTS_LICENSE = GPL-2.0+ -KODI_PVR_HTS_LICENSE_FILES = debian/copyright -KODI_PVR_HTS_DEPENDENCIES = kodi-platform +KODI_PVR_HTS_LICENSE_FILES = LICENSE.md +KODI_PVR_HTS_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-iptvsimple/Config.in b/package/kodi-pvr-iptvsimple/Config.in index 94fc1f0602a..2f5a208badd 100644 --- a/package/kodi-pvr-iptvsimple/Config.in +++ b/package/kodi-pvr-iptvsimple/Config.in @@ -1,7 +1,14 @@ config BR2_PACKAGE_KODI_PVR_IPTVSIMPLE bool "kodi-pvr-iptvsimple" - select BR2_PACKAGE_KODI_PLATFORM - select BR2_PACKAGE_RAPIDXML + # kodi-inputstream-adaptive + depends on BR2_aarch64 || BR2_arm || BR2_i386 || BR2_mipsel \ + || BR2_mips64el || BR2_x86_64 + select BR2_PACKAGE_KODI_INPUTSTREAM_ADAPTIVE # runtime + select BR2_PACKAGE_KODI_INPUTSTREAM_FFMPEGDIRECT # runtime + select BR2_PACKAGE_KODI_INPUTSTREAM_RTMP # runtime + select BR2_PACKAGE_PUGIXML + select BR2_PACKAGE_XZ + select BR2_PACKAGE_ZLIB help IPTV Live TV and Radio PVR client addon for Kodi diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash index 2de9a4a15b1..6ace3a5859c 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0812e359a943f4ffb763b47fc0440768a8aa09f12172ef8dff4440b0a48f9c96 kodi-pvr-iptvsimple-3.9.8-Leia.tar.gz -sha256 50e33ec3cddb75e6c5c5eb1b3d38cc0adee7dec71d7244925106d4a2c4d5e31d debian/copyright +sha256 c92736b3f3c96fe36d7b20b329c82b47180260e3ed40fc456ef709572fad5fb0 kodi-pvr-iptvsimple-19.1.0-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk index f1a087100c1..eedb0fb817a 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_IPTVSIMPLE_VERSION = 3.9.8-Leia +KODI_PVR_IPTVSIMPLE_VERSION = 19.1.0-Matrix KODI_PVR_IPTVSIMPLE_SITE = $(call github,kodi-pvr,pvr.iptvsimple,$(KODI_PVR_IPTVSIMPLE_VERSION)) KODI_PVR_IPTVSIMPLE_LICENSE = GPL-2.0+ -KODI_PVR_IPTVSIMPLE_LICENSE_FILES = debian/copyright -KODI_PVR_IPTVSIMPLE_DEPENDENCIES = kodi-platform rapidxml +KODI_PVR_IPTVSIMPLE_LICENSE_FILES = LICENSE.md +KODI_PVR_IPTVSIMPLE_DEPENDENCIES = kodi pugixml xz zlib $(eval $(cmake-package)) diff --git a/package/kodi-pvr-mediaportal-tvserver/Config.in b/package/kodi-pvr-mediaportal-tvserver/Config.in index 733ca8859ef..e8f1e3d6111 100644 --- a/package/kodi-pvr-mediaportal-tvserver/Config.in +++ b/package/kodi-pvr-mediaportal-tvserver/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_KODI_PVR_MEDIAPORTAL_TVSERVER bool "kodi-pvr-mediaportal-tvserver" - select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_TINYXML help MediaPortal TVServer PVR client addon for Kodi diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash index 53d4316d06e..9f4bd973664 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9c05578566f7448dc3a7677587c804596aa314afd493cb9c62cc65ea883645aa kodi-pvr-mediaportal-tvserver-3.5.18-Leia.tar.gz -sha256 f9df5b0c11a23b2d5ca84828c67412ecd8752df46527285aeff48f4d7988d367 debian/copyright +sha256 3e0ba7a111ee0f93b64d0a0cb640569b13e429b1c47c88ac737389083054d732 kodi-pvr-mediaportal-tvserver-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk index a00711c662f..1db0dca6183 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 3.5.18-Leia +KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 19.0.2-Matrix KODI_PVR_MEDIAPORTAL_TVSERVER_SITE = $(call github,kodi-pvr,pvr.mediaportal.tvserver,$(KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION)) KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE = GPL-2.0+ -KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE_FILES = debian/copyright -KODI_PVR_MEDIAPORTAL_TVSERVER_DEPENDENCIES = kodi-platform +KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE_FILES = LICENSE.md +KODI_PVR_MEDIAPORTAL_TVSERVER_DEPENDENCIES = kodi tinyxml $(eval $(cmake-package)) diff --git a/package/kodi-pvr-mythtv/Config.in b/package/kodi-pvr-mythtv/Config.in index 798ff3e911f..ebdbc004875 100644 --- a/package/kodi-pvr-mythtv/Config.in +++ b/package/kodi-pvr-mythtv/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KODI_PVR_MYTHTV bool "kodi-pvr-mythtv" - select BR2_PACKAGE_KODI_PLATFORM help MythTV PVR for Kodi diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash index 1896592cf58..15596333f58 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b2048db252966d5f78828cacd41e85d00a522c03fe7f24a0f000f720fe7aff0a kodi-pvr-mythtv-5.10.19-Leia.tar.gz -sha256 0efb11009d447b39ec35d77dc265db3d1c3d261730bbc33b267587254d973ec8 debian/copyright +sha256 ccb97573c308c99adccdedf8328133c02d48c11620b602a906cf25107602dba5 kodi-pvr-mythtv-19.0.7-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk index e902bab1485..3040f87e14e 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_MYTHTV_VERSION = 5.10.19-Leia +KODI_PVR_MYTHTV_VERSION = 19.0.7-Matrix KODI_PVR_MYTHTV_SITE = $(call github,janbar,pvr.mythtv,$(KODI_PVR_MYTHTV_VERSION)) KODI_PVR_MYTHTV_LICENSE = GPL-2.0+ -KODI_PVR_MYTHTV_LICENSE_FILES = debian/copyright -KODI_PVR_MYTHTV_DEPENDENCIES = kodi-platform +KODI_PVR_MYTHTV_LICENSE_FILES = LICENSE.md +KODI_PVR_MYTHTV_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-nextpvr/Config.in b/package/kodi-pvr-nextpvr/Config.in index e520426796b..d260df833fd 100644 --- a/package/kodi-pvr-nextpvr/Config.in +++ b/package/kodi-pvr-nextpvr/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_KODI_PVR_NEXTPVR bool "kodi-pvr-nextpvr" - select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_TINYXML2 help Kodi's NextPVR client addon diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash index 345ece6df9b..df13732957b 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1f5576070a0bf076d1f28cdd547bc4ff134861c18a71cff7fd036eaacc357707 kodi-pvr-nextpvr-3.3.21-Leia.tar.gz -sha256 0bd576badce05c6b4315c415dabd77d80c871e72026c399f7a7bb8582e0911fe debian/copyright +sha256 f9a03f7e61ae69096b149184a1ababa2d98cf2486688022e7b63823047c04496 kodi-pvr-nextpvr-19.0.3-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk index b35216048c6..c245a7e0bc0 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_NEXTPVR_VERSION = 3.3.21-Leia +KODI_PVR_NEXTPVR_VERSION = 19.0.3-Matrix KODI_PVR_NEXTPVR_SITE = $(call github,kodi-pvr,pvr.nextpvr,$(KODI_PVR_NEXTPVR_VERSION)) KODI_PVR_NEXTPVR_LICENSE = GPL-2.0+ -KODI_PVR_NEXTPVR_LICENSE_FILES = debian/copyright -KODI_PVR_NEXTPVR_DEPENDENCIES = kodi-platform +KODI_PVR_NEXTPVR_LICENSE_FILES = LICENSE.md +KODI_PVR_NEXTPVR_DEPENDENCIES = kodi tinyxml2 $(eval $(cmake-package)) diff --git a/package/kodi-pvr-njoy/Config.in b/package/kodi-pvr-njoy/Config.in index 33c493cb8b5..bb84ea3a668 100644 --- a/package/kodi-pvr-njoy/Config.in +++ b/package/kodi-pvr-njoy/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_KODI_PVR_NJOY bool "kodi-pvr-njoy" - select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_TINYXML help Kodi's Njoy N7 client addon diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash index 3071dfac674..ec78e7c84a9 100644 --- a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash +++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8c42a3c3754d7a07de9682504c4883a584eb21a92b9af70f0129ffc2707c1554 kodi-pvr-njoy-3.4.2-Leia.tar.gz -sha256 9d42154eabd84ae131cc6384a3ea0fc622c3551595564bec7a6bec8df4a57fbd debian/copyright +sha256 e5a6d31d1a74d8c053919f1c3c73eb9ada1e799d99f61dca171c3d8f0afa0a03 kodi-pvr-njoy-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk index ca86d46d854..4808974c318 100644 --- a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk +++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_NJOY_VERSION = 3.4.2-Leia +KODI_PVR_NJOY_VERSION = 19.0.1-Matrix KODI_PVR_NJOY_SITE = $(call github,kodi-pvr,pvr.njoy,$(KODI_PVR_NJOY_VERSION)) KODI_PVR_NJOY_LICENSE = GPL-2.0+ -KODI_PVR_NJOY_LICENSE_FILES = debian/copyright -KODI_PVR_NJOY_DEPENDENCIES = kodi-platform +KODI_PVR_NJOY_LICENSE_FILES = LICENSE.md +KODI_PVR_NJOY_DEPENDENCIES = kodi tinyxml $(eval $(cmake-package)) diff --git a/package/kodi-pvr-octonet/Config.in b/package/kodi-pvr-octonet/Config.in index b8bcd7e218f..7b46cccb2a0 100644 --- a/package/kodi-pvr-octonet/Config.in +++ b/package/kodi-pvr-octonet/Config.in @@ -1,13 +1,11 @@ config BR2_PACKAGE_KODI_PVR_OCTONET bool "kodi-pvr-octonet" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # json-for-modern-cpp - select BR2_PACKAGE_JSON_FOR_MODERN_CPP - select BR2_PACKAGE_KODI_PLATFORM - select BR2_PACKAGE_LIBPLATFORM + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # jsoncpp + select BR2_PACKAGE_JSONCPP help DigitalDevices Octonet PVR client addon for Kodi https://github.com/DigitalDevices/pvr.octonet -comment "kodi-pvr-octonet needs a toolchain w/ gcc >= 4.9" - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 +comment "kodi-pvr-octonet needs a toolchain w/ gcc >= 4.7" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/package/kodi-pvr-octonet/kodi-pvr-octonet.hash b/package/kodi-pvr-octonet/kodi-pvr-octonet.hash index 5ee0eeb6e95..1dc9636e63a 100644 --- a/package/kodi-pvr-octonet/kodi-pvr-octonet.hash +++ b/package/kodi-pvr-octonet/kodi-pvr-octonet.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e55d440afe3b1f1bc1529d1f662d4d18f5334ecf01e023d34d5a7e419b6fbf10 kodi-pvr-octonet-e35cc373476a92aee11ec8e8a14fb8fc086a4f84.tar.gz -sha256 8547bcbe8bd72c18ac285fd801fcbff8806a988913741b14497f4aba88bba403 debian/copyright +sha256 7b95a4f1d7381ebee1c9be9fca582bb0b70144271a47223ba06fc046ea595aaa kodi-pvr-octonet-19.0.0-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-octonet/kodi-pvr-octonet.mk b/package/kodi-pvr-octonet/kodi-pvr-octonet.mk index 890a2835658..e2699bc44d5 100644 --- a/package/kodi-pvr-octonet/kodi-pvr-octonet.mk +++ b/package/kodi-pvr-octonet/kodi-pvr-octonet.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_OCTONET_VERSION = e35cc373476a92aee11ec8e8a14fb8fc086a4f84 +KODI_PVR_OCTONET_VERSION = 19.0.0-Matrix KODI_PVR_OCTONET_SITE = $(call github,DigitalDevices,pvr.octonet,$(KODI_PVR_OCTONET_VERSION)) KODI_PVR_OCTONET_LICENSE = GPL-2.0+ -KODI_PVR_OCTONET_LICENSE_FILES = debian/copyright -KODI_PVR_OCTONET_DEPENDENCIES = json-for-modern-cpp kodi-platform libplatform +KODI_PVR_OCTONET_LICENSE_FILES = LICENSE.md +KODI_PVR_OCTONET_DEPENDENCIES = jsoncpp kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-pctv/Config.in b/package/kodi-pvr-pctv/Config.in index 255cd4a5f0c..11fe09b2f1b 100644 --- a/package/kodi-pvr-pctv/Config.in +++ b/package/kodi-pvr-pctv/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_PVR_PCTV bool "kodi-pvr-pctv" select BR2_PACKAGE_JSONCPP - select BR2_PACKAGE_KODI_PLATFORM help PCTV PVR client addon for Kodi diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash index 30fb81a9066..04919af7d2d 100644 --- a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash +++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 10124e5444c6cfb0c77bad1d1122f6ba5fc233248d6b33066ba799f4dedceeee kodi-pvr-pctv-2.4.7-Leia.tar.gz -sha256 43376e70ae80133530c8ce71a3b0dcde8529a8162d3b3956009eb8fc0f5c559c debian/copyright +sha256 cd267a5b9e98b3b1b1c00feac16e2a07962641cbe53ff4c05ccb72acd925e3f8 kodi-pvr-pctv-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk index 851788c96be..6f8dca4b236 100644 --- a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk +++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_PCTV_VERSION = 2.4.7-Leia +KODI_PVR_PCTV_VERSION = 19.0.1-Matrix KODI_PVR_PCTV_SITE = $(call github,kodi-pvr,pvr.pctv,$(KODI_PVR_PCTV_VERSION)) KODI_PVR_PCTV_LICENSE = GPL-2.0+ -KODI_PVR_PCTV_LICENSE_FILES = debian/copyright -KODI_PVR_PCTV_DEPENDENCIES = jsoncpp kodi-platform +KODI_PVR_PCTV_LICENSE_FILES = LICENSE.md +KODI_PVR_PCTV_DEPENDENCIES = jsoncpp kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-plutotv/Config.in b/package/kodi-pvr-plutotv/Config.in new file mode 100644 index 00000000000..37441283ce0 --- /dev/null +++ b/package/kodi-pvr-plutotv/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_KODI_PVR_PLUTOTV + bool "kodi-pvr-plutotv" + select BR2_PACKAGE_RAPIDJSON + help + Pluto.tv PVR Client for Kodi + + https://github.com/kodi-pvr/pvr.plutotv diff --git a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash new file mode 100644 index 00000000000..4673bbbf883 --- /dev/null +++ b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 79e753d7329a4e61e56618c0e821cdd5dccb81c3659838a9de2df407a5bd7c10 kodi-pvr-plutotv-19.0.3-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk new file mode 100644 index 00000000000..a9ac03a007f --- /dev/null +++ b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-pvr-plutotv +# +################################################################################ + +KODI_PVR_PLUTOTV_VERSION = 19.0.3-Matrix +KODI_PVR_PLUTOTV_SITE = $(call github,kodi-pvr,pvr.plutotv,$(KODI_PVR_PLUTOTV_VERSION)) +KODI_PVR_PLUTOTV_LICENSE = GPL-2.0+ +KODI_PVR_PLUTOTV_LICENSE_FILES = LICENSE.md +KODI_PVR_PLUTOTV_DEPENDENCIES = kodi rapidjson + +$(eval $(cmake-package)) diff --git a/package/kodi-pvr-stalker/Config.in b/package/kodi-pvr-stalker/Config.in index d334d0c2cba..f82d5a497f8 100644 --- a/package/kodi-pvr-stalker/Config.in +++ b/package/kodi-pvr-stalker/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_PVR_STALKER bool "kodi-pvr-stalker" select BR2_PACKAGE_JSONCPP - select BR2_PACKAGE_KODI_PLATFORM select BR2_PACKAGE_LIBXML2 help A PVR Client that connects Kodi to Stalker Middleware diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash index cc129d90ece..2eae79d3718 100644 --- a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash +++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 03eb428f21d6b8526b6671278b60ac6dc5a761a515af27172d8ac5c814cc3f65 kodi-pvr-stalker-3.4.10-Leia.tar.gz -sha256 f9fa34b2caa07376a7a976c1f0b1b9761b37449afd4ceb1e7afa283492054237 debian/copyright +sha256 ca472c4f43f77d7badca3fbe174f5877e6b3ff63407da09f690d8146ec737b59 kodi-pvr-stalker-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk index 0ae41171a96..efa293a40d6 100644 --- a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk +++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_STALKER_VERSION = 3.4.10-Leia +KODI_PVR_STALKER_VERSION = 19.0.2-Matrix KODI_PVR_STALKER_SITE = $(call github,kodi-pvr,pvr.stalker,$(KODI_PVR_STALKER_VERSION)) KODI_PVR_STALKER_LICENSE = GPL-2.0+ -KODI_PVR_STALKER_LICENSE_FILES = debian/copyright -KODI_PVR_STALKER_DEPENDENCIES = jsoncpp kodi-platform libxml2 +KODI_PVR_STALKER_LICENSE_FILES = LICENSE.md +KODI_PVR_STALKER_DEPENDENCIES = jsoncpp kodi libxml2 $(eval $(cmake-package)) diff --git a/package/kodi-pvr-vbox/Config.in b/package/kodi-pvr-vbox/Config.in index c1c22c10d10..202e3c66e8e 100644 --- a/package/kodi-pvr-vbox/Config.in +++ b/package/kodi-pvr-vbox/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KODI_PVR_VBOX bool "kodi-pvr-vbox" - select BR2_PACKAGE_KODI_PLATFORM help Kodi PVR addon for interfacing with VBox Communications XTi TV Gateway diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash index b753b994a1c..ce3397fad5e 100644 --- a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash +++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 98aadcf3d0109a7dc5f85b4e5473d595039b59c46b0686a2fbda88ff7631ee0c kodi-pvr-vbox-4.7.0-Leia.tar.gz -sha256 f535b79e33bdf4d270f8aed3fdcb92f807981f808d7f5e3c053c088e5ccf553b debian/copyright +sha256 a87926702c51e52043e595ceae530a9101761cc15e8e3cadec85ac8cc9ba8f2b kodi-pvr-vbox-19.0.0-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk index b10bfc5b856..fd83ffef370 100644 --- a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk +++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_VBOX_VERSION = 4.7.0-Leia +KODI_PVR_VBOX_VERSION = 19.0.0-Matrix KODI_PVR_VBOX_SITE = $(call github,kodi-pvr,pvr.vbox,$(KODI_PVR_VBOX_VERSION)) KODI_PVR_VBOX_LICENSE = GPL-2.0+ -KODI_PVR_VBOX_LICENSE_FILES = debian/copyright -KODI_PVR_VBOX_DEPENDENCIES = kodi-platform +KODI_PVR_VBOX_LICENSE_FILES = LICENSE.md +KODI_PVR_VBOX_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-vdr-vnsi/Config.in b/package/kodi-pvr-vdr-vnsi/Config.in index 768dec88fd7..6b57900b291 100644 --- a/package/kodi-pvr-vdr-vnsi/Config.in +++ b/package/kodi-pvr-vdr-vnsi/Config.in @@ -1,7 +1,10 @@ config BR2_PACKAGE_KODI_PVR_VDR_VNSI bool "kodi-pvr-vdr-vnsi" - select BR2_PACKAGE_KODI_PLATFORM + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 help Kodi PVR addon VNSI https://github.com/kodi-pvr/pvr.vdr.vnsi + +comment "kodi-pvr-vdr-vnsi needs a toolchain w/ gcc >= 7" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash index f7043b58a05..e3dc5585d25 100644 --- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash +++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f0ea8907e77ca014429bbe73d07c3410cc7be25a6db0df157863b87d2684affb kodi-pvr-vdr-vnsi-3.6.4-Leia.tar.gz -sha256 28266596fdf4162d4f15985e0108cd9ddb42531ddad2297011649c1af49f7fe2 debian/copyright +sha256 317442cdfd333f47dfe95d05057a682340dd5ba53efc8894e892ee565b8aaece kodi-pvr-vdr-vnsi-19.0.3-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk index f467fa98f5b..f0d61d9d2e0 100644 --- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk +++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_VDR_VNSI_VERSION = 3.6.4-Leia +KODI_PVR_VDR_VNSI_VERSION = 19.0.3-Matrix KODI_PVR_VDR_VNSI_SITE = $(call github,kodi-pvr,pvr.vdr.vnsi,$(KODI_PVR_VDR_VNSI_VERSION)) KODI_PVR_VDR_VNSI_LICENSE = GPL-2.0+ -KODI_PVR_VDR_VNSI_LICENSE_FILES = debian/copyright -KODI_PVR_VDR_VNSI_DEPENDENCIES = kodi-platform +KODI_PVR_VDR_VNSI_LICENSE_FILES = LICENSE.md +KODI_PVR_VDR_VNSI_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-vuplus/Config.in b/package/kodi-pvr-vuplus/Config.in index b6a03e843fc..862f5f9267f 100644 --- a/package/kodi-pvr-vuplus/Config.in +++ b/package/kodi-pvr-vuplus/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_KODI_PVR_VUPLUS bool "kodi-pvr-vuplus" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # json-for-modern-cpp select BR2_PACKAGE_JSON_FOR_MODERN_CPP - select BR2_PACKAGE_KODI_PLATFORM select BR2_PACKAGE_TINYXML help VuPlus PVR client addon for Kodi diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash index e80e51bc784..92ccd0cbfeb 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d7dd890e4491e211ff3781cdc043347ab7a4ef6e00619ac1b4641ed81b0c3626 kodi-pvr-vuplus-3.28.9-Leia.tar.gz -sha256 e98518889de8d38eaa6ddcb086b6e3b86efed98b501a5c666b9cf48f79e6df5d debian/copyright +sha256 59e8b63e3b5a6dd4500fd2c1426e021b5b243909d326e173e84804618a6c2fc6 kodi-pvr-vuplus-19.0.0-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk index bf1de1178da..6a50ce703a4 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_VUPLUS_VERSION = 3.28.9-Leia +KODI_PVR_VUPLUS_VERSION = 19.0.0-Matrix KODI_PVR_VUPLUS_SITE = $(call github,kodi-pvr,pvr.vuplus,$(KODI_PVR_VUPLUS_VERSION)) KODI_PVR_VUPLUS_LICENSE = GPL-2.0+ -KODI_PVR_VUPLUS_LICENSE_FILES = debian/copyright -KODI_PVR_VUPLUS_DEPENDENCIES = json-for-modern-cpp kodi-platform tinyxml +KODI_PVR_VUPLUS_LICENSE_FILES = LICENSE.md +KODI_PVR_VUPLUS_DEPENDENCIES = json-for-modern-cpp kodi tinyxml $(eval $(cmake-package)) diff --git a/package/kodi-pvr-waipu/Config.in b/package/kodi-pvr-waipu/Config.in new file mode 100644 index 00000000000..ee0cc2bdad6 --- /dev/null +++ b/package/kodi-pvr-waipu/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_KODI_PVR_WAIPU + bool "kodi-pvr-waipu" + select BR2_PACKAGE_RAPIDJSON + help + Waipu.tv PVR Plugin for Kodi + + https://github.com/flubshi/pvr.waipu diff --git a/package/kodi-pvr-waipu/kodi-pvr-waipu.hash b/package/kodi-pvr-waipu/kodi-pvr-waipu.hash new file mode 100644 index 00000000000..9411453bf06 --- /dev/null +++ b/package/kodi-pvr-waipu/kodi-pvr-waipu.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 ab4995ed32910ced6004da800ca05fe5bf2d1882277e835eb64343806cfe217d kodi-pvr-waipu-19.1.1-Matrix.tar.gz +sha256 4202d4fb329f58c83ba921b56d7071e37f7df3f15b3820a3a04ef8eee49f54d2 pvr.waipu/LICENSE.txt diff --git a/package/kodi-pvr-waipu/kodi-pvr-waipu.mk b/package/kodi-pvr-waipu/kodi-pvr-waipu.mk new file mode 100644 index 00000000000..ffe9e31e5a9 --- /dev/null +++ b/package/kodi-pvr-waipu/kodi-pvr-waipu.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-pvr-waipu +# +################################################################################ + +KODI_PVR_WAIPU_VERSION = 19.1.1-Matrix +KODI_PVR_WAIPU_SITE = $(call github,flubshi,pvr.waipu,$(KODI_PVR_WAIPU_VERSION)) +KODI_PVR_WAIPU_LICENSE = GPL-2.0+ +KODI_PVR_WAIPU_LICENSE_FILES = pvr.waipu/LICENSE.txt +KODI_PVR_WAIPU_DEPENDENCIES = kodi rapidjson + +$(eval $(cmake-package)) diff --git a/package/kodi-pvr-wmc/Config.in b/package/kodi-pvr-wmc/Config.in index 2672c834349..3daf4c387b2 100644 --- a/package/kodi-pvr-wmc/Config.in +++ b/package/kodi-pvr-wmc/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KODI_PVR_WMC bool "kodi-pvr-wmc" - select BR2_PACKAGE_KODI_PLATFORM help Kodi's Windows Media Center client addon diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash index d5387e85349..4a04c07ac8b 100644 --- a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash +++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7fb150ba3b8b41cf164425b56ae5dda3a5fb2f64cdea7229900113965d492fee kodi-pvr-wmc-2.4.6-Leia.tar.gz -sha256 6d97c3d608a5d59565b567313bd3e53a1d0066ed59f4ae8e474c895d0c20e746 debian/copyright +sha256 d5addd39f64f97beb6e14090561583de47f0acdc70bedb39b3037613430cc71a kodi-pvr-wmc-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk index c280f89df46..3bf21b3440a 100644 --- a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk +++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_WMC_VERSION = 2.4.6-Leia +KODI_PVR_WMC_VERSION = 19.0.2-Matrix KODI_PVR_WMC_SITE = $(call github,kodi-pvr,pvr.wmc,$(KODI_PVR_WMC_VERSION)) KODI_PVR_WMC_LICENSE = GPL-2.0+ -KODI_PVR_WMC_LICENSE_FILES = debian/copyright -KODI_PVR_WMC_DEPENDENCIES = kodi-platform +KODI_PVR_WMC_LICENSE_FILES = LICENSE.md +KODI_PVR_WMC_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-pvr-zattoo/Config.in b/package/kodi-pvr-zattoo/Config.in index 5dfadcadd1e..9a6eb3fec5e 100644 --- a/package/kodi-pvr-zattoo/Config.in +++ b/package/kodi-pvr-zattoo/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_KODI_PVR_ZATTOO bool "kodi-pvr-zattoo" - select BR2_PACKAGE_KODI_PLATFORM - select BR2_PACKAGE_LIBPLATFORM select BR2_PACKAGE_RAPIDJSON select BR2_PACKAGE_TINYXML2 help diff --git a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash index 13201a42923..ac4960df92c 100644 --- a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash +++ b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 19de7bc58bcf37bbcff5ad2cb2f095cb15a4217f9abec5c9ff30d0489dab89d2 kodi-pvr-zattoo-18.1.21-Leia.tar.gz -sha256 d3670aef89085fd6b97665967a8422c89324afbc4720daa0975696a2ee92e236 debian/copyright +sha256 8cc02c4627b5108e39bb7b6a6f56f7ba5debbb1adf982c4f23395944aa7d2c8e kodi-pvr-zattoo-19.7.10-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk index 78fc01f195d..7a3b230e8bc 100644 --- a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk +++ b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PVR_ZATTOO_VERSION = 18.1.21-Leia +KODI_PVR_ZATTOO_VERSION = 19.7.10-Matrix KODI_PVR_ZATTOO_SITE = $(call github,rbuehlma,pvr.zattoo,$(KODI_PVR_ZATTOO_VERSION)) KODI_PVR_ZATTOO_LICENSE = GPL-2.0+ -KODI_PVR_ZATTOO_LICENSE_FILES = debian/copyright -KODI_PVR_ZATTOO_DEPENDENCIES = kodi-platform libplatform rapidjson tinyxml2 +KODI_PVR_ZATTOO_LICENSE_FILES = LICENSE.md +KODI_PVR_ZATTOO_DEPENDENCIES = kodi rapidjson tinyxml2 $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-asteroids/Config.in b/package/kodi-screensaver-asteroids/Config.in index 3d66c3dcc3e..833e065dfa2 100644 --- a/package/kodi-screensaver-asteroids/Config.in +++ b/package/kodi-screensaver-asteroids/Config.in @@ -1,11 +1,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_ASTEROIDS bool "kodi-screensaver-asteroids" - depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_GLM help Asteroids screensaver for Kodi https://github.com/xbmc/screensaver.asteroids - -comment "kodi-screensaver-asteroids needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash index e6855a3bc67..0f1d77e814c 100644 --- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash +++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f4b54ed79eedd1a39e24dcbe8d372dbfc9edbc9358499ea9ab28777dd9082ee3 kodi-screensaver-asteroids-2.3.3-Leia.tar.gz -sha256 297a1d34e6000f1b1a924f5ab75c16c2270968bfa47357dd8fa3799c9dfc47d8 debian/copyright +sha256 189b4f45ac2c0920445db0240f080203041c77053430595e764d773fdcd8604a kodi-screensaver-asteroids-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk index dcd0a3d34c2..0c660e9556a 100644 --- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk +++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_ASTEROIDS_VERSION = 2.3.3-Leia +KODI_SCREENSAVER_ASTEROIDS_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_ASTEROIDS_SITE = $(call github,xbmc,screensaver.asteroids,$(KODI_SCREENSAVER_ASTEROIDS_VERSION)) KODI_SCREENSAVER_ASTEROIDS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_ASTEROIDS_LICENSE_FILES = debian/copyright +KODI_SCREENSAVER_ASTEROIDS_LICENSE_FILES = LICENSE.md KODI_SCREENSAVER_ASTEROIDS_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-asterwave/Config.in b/package/kodi-screensaver-asterwave/Config.in index b5e80cc5357..ffb5caadd77 100644 --- a/package/kodi-screensaver-asterwave/Config.in +++ b/package/kodi-screensaver-asterwave/Config.in @@ -1,12 +1,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_ASTERWAVE bool "kodi-screensaver-asterwave" - depends on BR2_PACKAGE_HAS_LIBGL # libglu, libsoil - select BR2_PACKAGE_LIBGLU - select BR2_PACKAGE_LIBSOIL + select BR2_PACKAGE_GLM help AsterWave screensaver for Kodi https://github.com/xbmc/screensaver.asterwave - -comment "kodi-screensaver-asterwave needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash index a7fc05789c8..95c37a8e694 100644 --- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash +++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d61bcdd8b74b50a26eab1597718b12ec260f6c6cdde0f143dbc1ce958ca86c69 kodi-screensaver-asterwave-3.0.5-Leia.tar.gz -sha256 a0268e081014f3a555be39f7eb0fff759424963324915ad2ea56bf26668685e7 debian/copyright +sha256 e1d97cf5628dd844745d152a2b3633a22c720c35ef0e81aa61857f47a78003aa kodi-screensaver-asterwave-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk index b982395ead7..2ae243eba09 100644 --- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk +++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk @@ -4,10 +4,14 @@ # ################################################################################ -KODI_SCREENSAVER_ASTERWAVE_VERSION = 3.0.5-Leia +KODI_SCREENSAVER_ASTERWAVE_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_ASTERWAVE_SITE = $(call github,xbmc,screensaver.asterwave,$(KODI_SCREENSAVER_ASTERWAVE_VERSION)) KODI_SCREENSAVER_ASTERWAVE_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_ASTERWAVE_LICENSE_FILES = debian/copyright -KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = kodi libglu libsoil +KODI_SCREENSAVER_ASTERWAVE_LICENSE_FILES = LICENSE.md +KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = glm kodi + +KODI_SCREENSAVER_ASTERWAVE_CONF_OPTS += \ + -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \ + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-biogenesis/Config.in b/package/kodi-screensaver-biogenesis/Config.in index 9703e9091b3..26f134d0bbf 100644 --- a/package/kodi-screensaver-biogenesis/Config.in +++ b/package/kodi-screensaver-biogenesis/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_KODI_SCREENSAVER_BIOGENESIS bool "kodi-screensaver-biogenesis" - depends on BR2_PACKAGE_HAS_LIBGL help BioGenesis screensaver for Kodi https://github.com/xbmc/screensaver.biogenesis - -comment "kodi-screensaver-biogenesis needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash index df07f9fbc5c..314c0678782 100644 --- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash +++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b0f721d112282f633a769e7b077c5dd52e5045a8f1ae32c4e602b0e2e937acb0 kodi-screensaver-biogenesis-2.2.3-Leia.tar.gz -sha256 d38b9e2768b49acdedcb21a202d12753c8f1d7e85e5ee24ff1e4aee3c7601a65 debian/copyright +sha256 ef90c940f70ae9ffb4e5b6928993f053c24de2180566a5fdb21eea359a6c61df kodi-screensaver-biogenesis-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk index 562c279ec6a..70e4cdc0bd8 100644 --- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk +++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_BIOGENESIS_VERSION = 2.2.3-Leia +KODI_SCREENSAVER_BIOGENESIS_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_BIOGENESIS_SITE = $(call github,xbmc,screensaver.biogenesis,$(KODI_SCREENSAVER_BIOGENESIS_VERSION)) KODI_SCREENSAVER_BIOGENESIS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_BIOGENESIS_LICENSE_FILES = debian/copyright +KODI_SCREENSAVER_BIOGENESIS_LICENSE_FILES = LICENSE.md KODI_SCREENSAVER_BIOGENESIS_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-cpblobs/Config.in b/package/kodi-screensaver-cpblobs/Config.in index 4e0003bddc4..7f9a591418b 100644 --- a/package/kodi-screensaver-cpblobs/Config.in +++ b/package/kodi-screensaver-cpblobs/Config.in @@ -1,11 +1,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_CPBLOBS bool "kodi-screensaver-cpblobs" - depends on BR2_PACKAGE_HAS_LIBGL # libsoil - select BR2_PACKAGE_LIBSOIL + select BR2_PACKAGE_GLM help CpBlobs screensaver for Kodi https://github.com/xbmc/screensaver.cpblobs - -comment "kodi-screensaver-cpblobs needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash index 4ff614a995f..80dfbad3578 100644 --- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash +++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 afab934a2c93f73334943775f45f5a1d065e74714528bc700459d110e88e43a4 kodi-screensaver-cpblobs-3.0.5-Leia.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE +sha256 f281efde421cfe9d5f251520853e43e8b1ee128de216af760fcafb80861f504b kodi-screensaver-cpblobs-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk index 01f6bdf3d33..9ca6718c927 100644 --- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk +++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk @@ -4,10 +4,14 @@ # ################################################################################ -KODI_SCREENSAVER_CPBLOBS_VERSION = 3.0.5-Leia +KODI_SCREENSAVER_CPBLOBS_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_CPBLOBS_SITE = $(call github,xbmc,screensaver.cpblobs,$(KODI_SCREENSAVER_CPBLOBS_VERSION)) KODI_SCREENSAVER_CPBLOBS_LICENSE = GPL-2.0 -KODI_SCREENSAVER_CPBLOBS_LICENSE_FILES = LICENSE -KODI_SCREENSAVER_CPBLOBS_DEPENDENCIES = kodi libsoil +KODI_SCREENSAVER_CPBLOBS_LICENSE_FILES = LICENSE.md +KODI_SCREENSAVER_CPBLOBS_DEPENDENCIES = glm kodi + +KODI_SCREENSAVER_CPBLOBS_CONF_OPTS += \ + -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \ + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-crystalmorph/Config.in b/package/kodi-screensaver-crystalmorph/Config.in deleted file mode 100644 index 1303d229fde..00000000000 --- a/package/kodi-screensaver-crystalmorph/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH - bool "kodi-screensaver-crystalmorph" - depends on BR2_PACKAGE_HAS_LIBGL # libglu - help - CrystalMorph screensaver for Kodi - - https://github.com/notspiff/screensaver.crystalmorph - -comment "kodi-screensaver-crystalmorph needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash deleted file mode 100644 index 59e07032550..00000000000 --- a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed -sha256 d8ed548222f1118964104fefc8ac3056dfe6c9d2ee35cd7c8355c9ea9fcaffc5 kodi-screensaver-crystalmorph-4439c84c38abf889e19a1863e745942c0d7f8203.tar.gz -sha256 febce1924ed772f22ec3fabec646b1401aad4f4a81a7f1baeb858f27ae4f5241 src/Fractal.cpp diff --git a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk deleted file mode 100644 index 35642d5580c..00000000000 --- a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# kodi-screensaver-crystalmorph -# -################################################################################ - -KODI_SCREENSAVER_CRYSTALMORPH_VERSION = 4439c84c38abf889e19a1863e745942c0d7f8203 -KODI_SCREENSAVER_CRYSTALMORPH_SITE = $(call github,notspiff,screensaver.crystalmorph,$(KODI_SCREENSAVER_CRYSTALMORPH_VERSION)) -KODI_SCREENSAVER_CRYSTALMORPH_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_CRYSTALMORPH_LICENSE_FILES = src/Fractal.cpp -KODI_SCREENSAVER_CRYSTALMORPH_DEPENDENCIES = kodi - -$(eval $(cmake-package)) diff --git a/package/kodi-screensaver-greynetic/Config.in b/package/kodi-screensaver-greynetic/Config.in index 685feb88728..92db2855e6d 100644 --- a/package/kodi-screensaver-greynetic/Config.in +++ b/package/kodi-screensaver-greynetic/Config.in @@ -1,10 +1,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_GREYNETIC bool "kodi-screensaver-greynetic" - depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_GLM help Greynetic screensaver for Kodi https://github.com/xbmc/screensaver.greynetic - -comment "kodi-screensaver-greynetic needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash index 87961fdae09..2268b2e52c7 100644 --- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash +++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e9a24d3204e3d6d5b5302a865e37c6f2ae9e25a3536eeda4205830f5e0256555 kodi-screensaver-greynetic-2.2.3-Leia.tar.gz -sha256 2905fdee5c68dc4944c42711d45f47794e8fb881bd67d66d0875d10f9a2156a0 debian/copyright +sha256 5428bc2bf17132dbc98ef0f9df0c98ab5abcbe4bf6e9040460cbf5be58ea3058 kodi-screensaver-greynetic-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk index 63113255409..3e91cfb03a4 100644 --- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk +++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_GREYNETIC_VERSION = 2.2.3-Leia +KODI_SCREENSAVER_GREYNETIC_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_GREYNETIC_SITE = $(call github,xbmc,screensaver.greynetic,$(KODI_SCREENSAVER_GREYNETIC_VERSION)) KODI_SCREENSAVER_GREYNETIC_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_GREYNETIC_LICENSE_FILES = debian/copyright -KODI_SCREENSAVER_GREYNETIC_DEPENDENCIES = kodi +KODI_SCREENSAVER_GREYNETIC_LICENSE_FILES = LICENSE.md +KODI_SCREENSAVER_GREYNETIC_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-matrixtrails/Config.in b/package/kodi-screensaver-matrixtrails/Config.in index 270a51c9f48..9f031ba10d0 100644 --- a/package/kodi-screensaver-matrixtrails/Config.in +++ b/package/kodi-screensaver-matrixtrails/Config.in @@ -1,11 +1,6 @@ config BR2_PACKAGE_KODI_SCREENSAVER_MATRIXTRAILS bool "kodi-screensaver-matrixtrails" - depends on BR2_PACKAGE_HAS_LIBGL # libsoil - select BR2_PACKAGE_LIBSOIL help Matrix trails screensaver for Kodi https://github.com/xbmc/screensaver.matrixtrails - -comment "kodi-screensaver-matrixtrails needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash index 26b95cbc774..2c4de820494 100644 --- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash +++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5a2f5bca0c197eea87f06376941c6d0ddbc81cf144d8c3854ac148fdec3400ec kodi-screensaver-matrixtrails-2.2.3-Leia.tar.gz -sha256 385a17599b44aaea10537374c1991c21a5e06153878917b12f96fc1cf8bbc118 debian/copyright +sha256 a7054eedcf7b614f5a9cf584ac1f92225b5b960ff5f8d846372e920319a47d30 kodi-screensaver-matrixtrails-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk index 10d3d45e082..230977bb942 100644 --- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk +++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk @@ -4,10 +4,14 @@ # ################################################################################ -KODI_SCREENSAVER_MATRIXTRAILS_VERSION = 2.2.3-Leia +KODI_SCREENSAVER_MATRIXTRAILS_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_MATRIXTRAILS_SITE = $(call github,xbmc,screensaver.matrixtrails,$(KODI_SCREENSAVER_MATRIXTRAILS_VERSION)) KODI_SCREENSAVER_MATRIXTRAILS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_MATRIXTRAILS_LICENSE_FILES = debian/copyright -KODI_SCREENSAVER_MATRIXTRAILS_DEPENDENCIES = kodi libsoil +KODI_SCREENSAVER_MATRIXTRAILS_LICENSE_FILES = LICENSE.md +KODI_SCREENSAVER_MATRIXTRAILS_DEPENDENCIES = kodi + +KODI_SCREENSAVER_MATRIXTRAILS_CONF_OPTS += \ + -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \ + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-pingpong/Config.in b/package/kodi-screensaver-pingpong/Config.in index bc76fffd6ee..2983f7c2ea7 100644 --- a/package/kodi-screensaver-pingpong/Config.in +++ b/package/kodi-screensaver-pingpong/Config.in @@ -1,10 +1,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_PINGPONG bool "kodi-screensaver-pingpong" - depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_GLM help Ping-pong screensaver for Kodi https://github.com/xbmc/screensaver.pingpong - -comment "kodi-screensaver-pingpong needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash index 4b6114fd163..20e725f07a6 100644 --- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash +++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b87e65d2e3c290de7167e1098899d5816103958a99769d84e930ffd2cbfa7d00 kodi-screensaver-pingpong-2.1.3-Leia.tar.gz -sha256 96e9b817ea6384e3d2c5241c8a0504df11d6f8bd0a2f58f25df7152da64f263c debian/copyright +sha256 d8d87943bfb795fc66565d06197a6b3a12b2cdc2b60269197ddccf295217b776 kodi-screensaver-pingpong-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk index 929539f0445..fffdc82d880 100644 --- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk +++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_PINGPONG_VERSION = 2.1.3-Leia +KODI_SCREENSAVER_PINGPONG_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_PINGPONG_SITE = $(call github,xbmc,screensaver.pingpong,$(KODI_SCREENSAVER_PINGPONG_VERSION)) KODI_SCREENSAVER_PINGPONG_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_PINGPONG_LICENSE_FILES = debian/copyright -KODI_SCREENSAVER_PINGPONG_DEPENDENCIES = kodi +KODI_SCREENSAVER_PINGPONG_LICENSE_FILES = LICENSE.md +KODI_SCREENSAVER_PINGPONG_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-pyro/Config.in b/package/kodi-screensaver-pyro/Config.in index e2d1988ec54..9ee99883b44 100644 --- a/package/kodi-screensaver-pyro/Config.in +++ b/package/kodi-screensaver-pyro/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_KODI_SCREENSAVER_PYRO bool "kodi-screensaver-pyro" - depends on BR2_PACKAGE_HAS_LIBGL help Pyro screensaver for Kodi https://github.com/xbmc/screensaver.pyro - -comment "kodi-screensaver-pyro needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash index fd51a7c1d38..9b0effef156 100644 --- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash +++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cf9ed582b70460682175366641e6a00eaea085a1d3477a02710ba8398a1d17bd kodi-screensaver-pyro-3.0.1-Leia.tar.gz -sha256 24354cf1e6058ba0a95c7652eab9f1be2224c835ce36d14e82c0f401f65a53b7 debian/copyright +sha256 6a68904ff6915a7b908126d1336f5ad78e0791680fae14c71d5a187b13ce3730 kodi-screensaver-pyro-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk index 8a6ea93e830..3ab72343707 100644 --- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk +++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_PYRO_VERSION = 3.0.1-Leia +KODI_SCREENSAVER_PYRO_VERSION = 19.0.1-Matrix KODI_SCREENSAVER_PYRO_SITE = $(call github,xbmc,screensaver.pyro,$(KODI_SCREENSAVER_PYRO_VERSION)) KODI_SCREENSAVER_PYRO_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_PYRO_LICENSE_FILES = debian/copyright +KODI_SCREENSAVER_PYRO_LICENSE_FILES = LICENSE.md KODI_SCREENSAVER_PYRO_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-rsxs/0001-Disable-drempels.patch b/package/kodi-screensaver-rsxs/0001-Disable-drempels.patch deleted file mode 100644 index e76a9b99431..00000000000 --- a/package/kodi-screensaver-rsxs/0001-Disable-drempels.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 28c01686ba0d67d317e058776f01efba5e6471bd Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 13 Jul 2019 14:18:12 +0200 -Subject: [PATCH] Disable drempels - -Does not build with ImageMagick 7.x: - -src/drempels/TexMgr.cpp:31:10: fatal error: magick/api.h: - No such file or directory - -Signed-off-by: Bernd Kuhls ---- - CMakeLists.txt | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a86ccd0..b5ca03f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -40,8 +40,7 @@ include_directories(${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Ko - if(ImageMagick_FOUND AND NOT ${OWN_IMAGE_MAGICK}) - message(STATUS "ImageMagick found in the system and is used") - else() -- message(STATUS "ImageMagick not found or forced and add custom created") -- add_subdirectory(lib/ImageMagick) -+ message(STATUS "ImageMagick not found") - endif() - add_subdirectory(lib/kodi/gui/gl) - add_subdirectory(lib/Implicit) -@@ -70,7 +69,6 @@ include(src/biof/CMakeLists.txt) - include(src/busyspheres/CMakeLists.txt) - include(src/colorfire/CMakeLists.txt) - include(src/cyclone/CMakeLists.txt) --include(src/drempels/CMakeLists.txt) - include(src/euphoria/CMakeLists.txt) - include(src/feedback/CMakeLists.txt) - include(src/fieldlines/CMakeLists.txt) --- -2.20.1 - diff --git a/package/kodi-screensaver-rsxs/Config.in b/package/kodi-screensaver-rsxs/Config.in index 076c7effa06..e88df1fe492 100644 --- a/package/kodi-screensaver-rsxs/Config.in +++ b/package/kodi-screensaver-rsxs/Config.in @@ -1,17 +1,13 @@ config BR2_PACKAGE_KODI_SCREENSAVER_RSXS bool "kodi-screensaver-rsxs" - depends on BR2_PACKAGE_HAS_LIBGL # libglu + depends on BR2_PACKAGE_KODI_RENDER_SYSTEM_GL select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_GLI select BR2_PACKAGE_GLM - select BR2_PACKAGE_JPEG - select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_LIBTOOL - select BR2_PACKAGE_TIFF help RSXS screensaver add-ons for Kodi https://github.com/xbmc/screensavers.rsxs -comment "kodi-screensaver-rsxs needs an OpenGL backend" - depends on !BR2_PACKAGE_HAS_LIBGL +comment "kodi-screensaver-rsxs needs OpenGL as Kodi render system" + depends on !BR2_PACKAGE_KODI_RENDER_SYSTEM_GL diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash index f4987a44cdf..073a1b27023 100644 --- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash +++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 22ff3f0ca9679c59ce1a90b98d918dd10a8012b789729b2e44c04d4ce8c86ad8 kodi-screensaver-rsxs-7cb648507440d87948dec10d5bfdab3b722d37fe.tar.gz -sha256 fa0ff8b6a6267b9477be7d505aa384056633b4be17e0b9d308df9bd70d1c99f6 debian/copyright +sha256 8bd1012dc2ae10d2c3b7920214616b0bca5278e4e78f8b0e41fa9cf14569273c kodi-screensaver-rsxs-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk index aa881d0d594..59ec30b8685 100644 --- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk +++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_RSXS_VERSION = 7cb648507440d87948dec10d5bfdab3b722d37fe +KODI_SCREENSAVER_RSXS_VERSION = 19.0.2-Matrix KODI_SCREENSAVER_RSXS_SITE = $(call github,xbmc,screensavers.rsxs,$(KODI_SCREENSAVER_RSXS_VERSION)) KODI_SCREENSAVER_RSXS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_RSXS_LICENSE_FILES = debian/copyright -KODI_SCREENSAVER_RSXS_DEPENDENCIES = bzip2 gli glm jpeg kodi libpng libtool tiff +KODI_SCREENSAVER_RSXS_LICENSE_FILES = LICENSE.md +KODI_SCREENSAVER_RSXS_DEPENDENCIES = bzip2 gli glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-stars/Config.in b/package/kodi-screensaver-stars/Config.in index a2e435c0f61..3a8713a56e2 100644 --- a/package/kodi-screensaver-stars/Config.in +++ b/package/kodi-screensaver-stars/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_KODI_SCREENSAVER_STARS bool "kodi-screensaver-stars" - depends on BR2_PACKAGE_HAS_LIBGL help Starfield screensaver for Kodi https://github.com/xbmc/screensaver.stars - -comment "kodi-screensaver-stars needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash index b6585173008..9cf978bbbc3 100644 --- a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash +++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 98972a9af45015d902ade50db822dbded52d4473acde6bc4b01a5ab8c4af4269 kodi-screensaver-stars-2.1.4-Leia.tar.gz +sha256 1c65bd9baa351ba4c5d443205b9e125303e341bd85e99aaf36793f95395372bf kodi-screensaver-stars-19.0.0-Matrix.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk index ca51921b50c..06c77331afe 100644 --- a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk +++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_SCREENSAVER_STARS_VERSION = 2.1.4-Leia +KODI_SCREENSAVER_STARS_VERSION = 19.0.0-Matrix KODI_SCREENSAVER_STARS_SITE = $(call github,xbmc,screensaver.stars,$(KODI_SCREENSAVER_STARS_VERSION)) KODI_SCREENSAVER_STARS_LICENSE = GPL-2.0+ KODI_SCREENSAVER_STARS_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.hash b/package/kodi-skin-confluence/kodi-skin-confluence.hash index fdd4e828f63..e3d1ff73f49 100644 --- a/package/kodi-skin-confluence/kodi-skin-confluence.hash +++ b/package/kodi-skin-confluence/kodi-skin-confluence.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 dc4a0abf05db50caf8e70e4904b8c2c445008ec3d6d23381c9c31dedaf6109de kodi-skin-confluence-cffcb8320003e6048abe4b26316e5d5f3d50eac9.tar.gz +sha256 49ba4dcf4b512ac0a97bd1a4ebf14685d294d89a7a07c26ddda0fe730c8aa047 kodi-skin-confluence-37a196cdb58c0da87b5b22b047a5d44dc447f1ae.tar.gz sha256 89931c1fb1f3716694175763cf3221cfcd63d6935031cf6b4512d17ffe5d9860 LICENSE.txt diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.mk b/package/kodi-skin-confluence/kodi-skin-confluence.mk index d9bd10bdfa1..fcae506d1e3 100644 --- a/package/kodi-skin-confluence/kodi-skin-confluence.mk +++ b/package/kodi-skin-confluence/kodi-skin-confluence.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_SKIN_CONFLUENCE_VERSION = cffcb8320003e6048abe4b26316e5d5f3d50eac9 +KODI_SKIN_CONFLUENCE_VERSION = 37a196cdb58c0da87b5b22b047a5d44dc447f1ae KODI_SKIN_CONFLUENCE_SITE = $(call github,xbmc,skin.confluence,$(KODI_SKIN_CONFLUENCE_VERSION)) KODI_SKIN_CONFLUENCE_LICENSE = GPL-2.0 KODI_SKIN_CONFLUENCE_LICENSE_FILES = LICENSE.txt diff --git a/package/kodi-texturepacker/kodi-texturepacker.mk b/package/kodi-texturepacker/kodi-texturepacker.mk index 7b13904ef4d..2ebcd7d8de8 100644 --- a/package/kodi-texturepacker/kodi-texturepacker.mk +++ b/package/kodi-texturepacker/kodi-texturepacker.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_TEXTUREPACKER_VERSION = 18.9-Leia +KODI_TEXTUREPACKER_VERSION = 19.3-Matrix KODI_TEXTUREPACKER_SITE = $(call github,xbmc,xbmc,$(KODI_TEXTUREPACKER_VERSION)) KODI_TEXTUREPACKER_SOURCE = kodi-$(KODI_TEXTUREPACKER_VERSION).tar.gz KODI_TEXTUREPACKER_DL_SUBDIR = kodi diff --git a/package/kodi-vfs-libarchive/Config.in b/package/kodi-vfs-libarchive/Config.in new file mode 100644 index 00000000000..6720e5206e9 --- /dev/null +++ b/package/kodi-vfs-libarchive/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_KODI_VFS_LIBARCHIVE + bool "kodi-vfs-libarchive" + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_LIBARCHIVE + select BR2_PACKAGE_LZ4 + select BR2_PACKAGE_LZO + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_XZ + select BR2_PACKAGE_ZLIB + help + Libarchive VFS add-on for Kodi + + https://github.com/xbmc/vfs.libarchive diff --git a/package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash new file mode 100644 index 00000000000..f3a2c8fcefb --- /dev/null +++ b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 1360154d86bc73fc6f01f546d7b09a92968653cf05b037b0cd80a825d95a9187 kodi-vfs-libarchive-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk new file mode 100644 index 00000000000..eac02d74422 --- /dev/null +++ b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# kodi-vfs-libarchive +# +################################################################################ + +KODI_VFS_LIBARCHIVE_VERSION = 19.0.1-Matrix +KODI_VFS_LIBARCHIVE_SITE = $(call github,xbmc,vfs.libarchive,$(KODI_VFS_LIBARCHIVE_VERSION)) +KODI_VFS_LIBARCHIVE_LICENSE = GPL-2.0+ +KODI_VFS_LIBARCHIVE_LICENSE_FILES = LICENSE.md +KODI_VFS_LIBARCHIVE_DEPENDENCIES = \ + bzip2 \ + kodi \ + libarchive \ + lz4 \ + lzo \ + openssl \ + xz \ + zlib + +$(eval $(cmake-package)) diff --git a/package/kodi-vfs-rar/kodi-vfs-rar.hash b/package/kodi-vfs-rar/kodi-vfs-rar.hash index 22ad584fb83..845d7516ee8 100644 --- a/package/kodi-vfs-rar/kodi-vfs-rar.hash +++ b/package/kodi-vfs-rar/kodi-vfs-rar.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 5275c09eed7e8354849caa17c3d9699abcfa2437a7c7af3833bffd10fc1c577f kodi-vfs-rar-2.3.2-Leia.tar.gz +sha256 a2c97c478e20efcf1aef2db652ad3c1f9cfc95a89d7ae77b706121c56fb0feca kodi-vfs-rar-19.0.1-Matrix.tar.gz # License files sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a lib/UnrarXLib/license.txt sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-vfs-rar/kodi-vfs-rar.mk b/package/kodi-vfs-rar/kodi-vfs-rar.mk index c0d52a1d25c..12b7b266c00 100644 --- a/package/kodi-vfs-rar/kodi-vfs-rar.mk +++ b/package/kodi-vfs-rar/kodi-vfs-rar.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_VFS_RAR_VERSION = 2.3.2-Leia +KODI_VFS_RAR_VERSION = 19.0.1-Matrix KODI_VFS_RAR_SITE = $(call github,xbmc,vfs.rar,$(KODI_VFS_RAR_VERSION)) KODI_VFS_RAR_LICENSE = unrar, GPL-2.0+ KODI_VFS_RAR_LICENSE_FILES = lib/UnrarXLib/license.txt LICENSE.md diff --git a/package/kodi-vfs-sftp/Config.in b/package/kodi-vfs-sftp/Config.in index a939bd927d0..b742777ff09 100644 --- a/package/kodi-vfs-sftp/Config.in +++ b/package/kodi-vfs-sftp/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_KODI_VFS_SFTP bool "kodi-vfs-sftp" - select BR2_PACKAGE_KODI_PLATFORM - select BR2_PACKAGE_LIBPLATFORM select BR2_PACKAGE_LIBSSH + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_ZLIB help SFTP VFS addon for Kodi diff --git a/package/kodi-vfs-sftp/kodi-vfs-sftp.hash b/package/kodi-vfs-sftp/kodi-vfs-sftp.hash index a17c2d32c6d..1f3cc4978fd 100644 --- a/package/kodi-vfs-sftp/kodi-vfs-sftp.hash +++ b/package/kodi-vfs-sftp/kodi-vfs-sftp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 dc3db18b6cef90cd518b741e5c9bc7b3f4412774ee60bf70b451a8d2fc88a091 kodi-vfs-sftp-1.0.6-Leia.tar.gz +sha256 671bc7bd45d8d744f7e8a60bde9d1f9a0c821d7dd79b9e33d29b2bb2b5d231a1 kodi-vfs-sftp-19.0.1-Matrix.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-vfs-sftp/kodi-vfs-sftp.mk b/package/kodi-vfs-sftp/kodi-vfs-sftp.mk index 3870ff9b5b2..6415fcb1de8 100644 --- a/package/kodi-vfs-sftp/kodi-vfs-sftp.mk +++ b/package/kodi-vfs-sftp/kodi-vfs-sftp.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VFS_SFTP_VERSION = 1.0.6-Leia +KODI_VFS_SFTP_VERSION = 19.0.1-Matrix KODI_VFS_SFTP_SITE = $(call github,xbmc,vfs.sftp,$(KODI_VFS_SFTP_VERSION)) KODI_VFS_SFTP_LICENSE = GPL-2.0+ KODI_VFS_SFTP_LICENSE_FILES = LICENSE.md -KODI_VFS_SFTP_DEPENDENCIES = kodi-platform libplatform libssh +KODI_VFS_SFTP_DEPENDENCIES = kodi libssh openssl zlib $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-fishbmc/Config.in b/package/kodi-visualisation-fishbmc/Config.in index 66c1565bd7f..4d86d8234b0 100644 --- a/package/kodi-visualisation-fishbmc/Config.in +++ b/package/kodi-visualisation-fishbmc/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_KODI_VISUALISATION_FISHBMC bool "kodi-visualisation-fishbmc" + select BR2_PACKAGE_GLM help Fische visualiser for Kodi diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash index 4e215f331c7..449b2a48175 100644 --- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash +++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a03d4f64a6d44625d6936fd3abd359a0a08d11252663cae9fc5d061bd489c006 kodi-visualisation-fishbmc-5.1.3-Leia.tar.gz -sha256 684792cea796ea39d086ffd6cf5cb7c70ab8188dcf493707ba90d081d28f787e visualization.fishbmc/LICENSE +sha256 3023e6cf739985c31ff9a6cd2a217909563b9817de5c1047aab8d9928a00cfd9 kodi-visualisation-fishbmc-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk index defc183ff97..060e1d9b696 100644 --- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk +++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_FISHBMC_VERSION = 5.1.3-Leia +KODI_VISUALISATION_FISHBMC_VERSION = 19.0.1-Matrix KODI_VISUALISATION_FISHBMC_SITE = $(call github,xbmc,visualization.fishbmc,$(KODI_VISUALISATION_FISHBMC_VERSION)) KODI_VISUALISATION_FISHBMC_LICENSE = GPL-2.0+ -KODI_VISUALISATION_FISHBMC_LICENSE_FILES = visualization.fishbmc/LICENSE -KODI_VISUALISATION_FISHBMC_DEPENDENCIES = kodi +KODI_VISUALISATION_FISHBMC_LICENSE_FILES = LICENSE.md +KODI_VISUALISATION_FISHBMC_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-goom/Config.in b/package/kodi-visualisation-goom/Config.in index 065bc1d7732..18905bba3aa 100644 --- a/package/kodi-visualisation-goom/Config.in +++ b/package/kodi-visualisation-goom/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_KODI_VISUALISATION_GOOM bool "kodi-visualisation-goom" - depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_KODI_RENDER_SYSTEM_GL select BR2_PACKAGE_GLM help GOOM visualiser for Kodi https://github.com/notspiff/visualization.goom -comment "kodi-visualization-goom needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL +comment "kodi-visualization-goom needs OpenGL as Kodi render system" + depends on !BR2_PACKAGE_KODI_RENDER_SYSTEM_GL diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash index c9fa7dea9f3..6fec1d495e2 100644 --- a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash +++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 fdd656721f6d1b1962fd0a1e240eafb4710237ba70809dd0391cd10cacf4417c kodi-visualisation-goom-2.2.3-Leia.tar.gz -sha256 a6b36f495079206146ae0b11624a8db49a538f421ffe1341f8651c9e6b06f0b0 debian/copyright +sha256 167206c02b7c4ace0b5446cac013f77a7a238d2a9a7cc768987088b42ac1d941 kodi-visualisation-goom-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk index d83f857ae17..c7168af3061 100644 --- a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk +++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_GOOM_VERSION = 2.2.3-Leia +KODI_VISUALISATION_GOOM_VERSION = 19.0.1-Matrix KODI_VISUALISATION_GOOM_SITE = $(call github,xbmc,visualization.goom,$(KODI_VISUALISATION_GOOM_VERSION)) KODI_VISUALISATION_GOOM_LICENSE = GPL-2.0+ -KODI_VISUALISATION_GOOM_LICENSE_FILES = debian/copyright +KODI_VISUALISATION_GOOM_LICENSE_FILES = LICENSE.md KODI_VISUALISATION_GOOM_DEPENDENCIES = glm kodi diff --git a/package/kodi-visualisation-matrix/Config.in b/package/kodi-visualisation-matrix/Config.in new file mode 100644 index 00000000000..db01f15231e --- /dev/null +++ b/package/kodi-visualisation-matrix/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_KODI_VISUALISATION_MATRIX + bool "kodi-visualisation-matrix" + select BR2_PACKAGE_GLM + help + Matrix themed visualization addon for Kodi + + https://github.com/xbmc/visualization.matrix diff --git a/package/kodi-visualisation-matrix/kodi-visualisation-matrix.hash b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.hash new file mode 100644 index 00000000000..9a5652a2d97 --- /dev/null +++ b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 aba081aca30b6ff2b349f90ecc3ad9519fa7b8b88d61e08aeba2b66fad2a17a2 kodi-visualisation-matrix-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk new file mode 100644 index 00000000000..f8959facbdb --- /dev/null +++ b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-visualisation-matrix +# +################################################################################ + +KODI_VISUALISATION_MATRIX_VERSION = 19.0.1-Matrix +KODI_VISUALISATION_MATRIX_SITE = $(call github,xbmc,visualization.matrix,$(KODI_VISUALISATION_MATRIX_VERSION)) +KODI_VISUALISATION_MATRIX_LICENSE = GPL-2.0+ +KODI_VISUALISATION_MATRIX_LICENSE_FILES = LICENSE.md +KODI_VISUALISATION_MATRIX_DEPENDENCIES = glm kodi + +$(eval $(cmake-package)) diff --git a/package/kodi-visualisation-shadertoy/Config.in b/package/kodi-visualisation-shadertoy/Config.in index 1fabba5ef59..50fd38c247f 100644 --- a/package/kodi-visualisation-shadertoy/Config.in +++ b/package/kodi-visualisation-shadertoy/Config.in @@ -1,8 +1,12 @@ config BR2_PACKAGE_KODI_VISUALISATION_SHADERTOY bool "kodi-visualisation-shadertoy" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # jsoncpp select BR2_PACKAGE_GLM - select BR2_PACKAGE_LIBPLATFORM + select BR2_PACKAGE_JSONCPP help Shadertoy visualiser for Kodi https://github.com/notspiff/visualization.shadertoy + +comment "kodi-visualisation-shadertoy needs a toolchain w/ gcc >= 4.7" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash index 67ab8867e67..d3f489e4f9d 100644 --- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash +++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 07724fc59cc5f960a941b8255af326e87fa9fbc8234498c7e21d8a46050e0dd4 kodi-visualisation-shadertoy-1.2.4-Leia.tar.gz -sha256 e33ac3ac6ca1bdd4a4a411481d43579d855622e7ecc207809b5f49ea617db480 debian/copyright +sha256 49ffaf8ee1a95193d7ac4a6280ae7db8d59ca44c9e5554c0b8cd85a768d1d002 kodi-visualisation-shadertoy-19.1.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk index 865abf02cc4..5c644bb3eef 100644 --- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk +++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_SHADERTOY_VERSION = 1.2.4-Leia +KODI_VISUALISATION_SHADERTOY_VERSION = 19.1.2-Matrix KODI_VISUALISATION_SHADERTOY_SITE = $(call github,xbmc,visualization.shadertoy,$(KODI_VISUALISATION_SHADERTOY_VERSION)) KODI_VISUALISATION_SHADERTOY_LICENSE = GPL-2.0+ -KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = debian/copyright -KODI_VISUALISATION_SHADERTOY_DEPENDENCIES = glm kodi libplatform +KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = LICENSE.md +KODI_VISUALISATION_SHADERTOY_DEPENDENCIES = glm jsoncpp kodi $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-spectrum/0001-Backport-Add-missing-cstddef-include.patch b/package/kodi-visualisation-spectrum/0001-Backport-Add-missing-cstddef-include.patch deleted file mode 100644 index 5b1bb0c47c1..00000000000 --- a/package/kodi-visualisation-spectrum/0001-Backport-Add-missing-cstddef-include.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b2c54c1043c2396678005b578e85db30bdf5ccb9 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 18 Jan 2020 20:22:41 +0100 -Subject: [PATCH] [Backport] Add missing cstddef include - -Backported from https://github.com/xbmc/visualization.spectrum/pull/37 - -Patch sent upstream: -https://github.com/xbmc/visualization.spectrum/pull/38 - -Signed-off-by: Bernd Kuhls ---- - src/opengl_spectrum.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/opengl_spectrum.cpp b/src/opengl_spectrum.cpp -index 05409ea..2441fd6 100644 ---- a/src/opengl_spectrum.cpp -+++ b/src/opengl_spectrum.cpp -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - - #include - #include --- -2.20.1 - diff --git a/package/kodi-visualisation-spectrum/Config.in b/package/kodi-visualisation-spectrum/Config.in index 3b2b0a25e26..deb623087fb 100644 --- a/package/kodi-visualisation-spectrum/Config.in +++ b/package/kodi-visualisation-spectrum/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_KODI_VISUALISATION_SPECTRUM bool "kodi-visualisation-spectrum" + select BR2_PACKAGE_GLM help Spectrum visualiser for Kodi diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash index ae78fbd355e..26cb7e3c779 100644 --- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash +++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ec88defbb90fdb03f075abdba39c436906a8fbad8f034da3e3b31f75842206cc kodi-visualisation-spectrum-3.0.2-Leia.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 37cea1b82e4b70ab60494b6fe31a5dfd56d7e4feff16347d661f5d14c2f28724 kodi-visualisation-spectrum-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk index c3d61c1ef47..09aefd63fa4 100644 --- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk +++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_SPECTRUM_VERSION = 3.0.2-Leia +KODI_VISUALISATION_SPECTRUM_VERSION = 19.0.1-Matrix KODI_VISUALISATION_SPECTRUM_SITE = $(call github,xbmc,visualization.spectrum,$(KODI_VISUALISATION_SPECTRUM_VERSION)) KODI_VISUALISATION_SPECTRUM_LICENSE = GPL-2.0+ -KODI_VISUALISATION_SPECTRUM_LICENSE_FILES = COPYING -KODI_VISUALISATION_SPECTRUM_DEPENDENCIES = kodi +KODI_VISUALISATION_SPECTRUM_LICENSE_FILES = LICENSE.md +KODI_VISUALISATION_SPECTRUM_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash index 834d71ae5c4..7f335ed9e27 100644 --- a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash +++ b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5a06385dd4824373a00fe4e2139b3d851c51ed001f68671acf99d17ce348f5e2 kodi-visualisation-starburst-2.0.3-Leia.tar.gz -sha256 2e668b3da2f061a6d6ecc3cb96bdfb0f8fc9cc98c9e9f95454bc45b88708690f debian/copyright +sha256 e2b3ad0473d1ae40c3ecc81f9631c7d956fd4ec3edc7ef43eaeefec242fa79e5 kodi-visualisation-starburst-19.0.1-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk index 8d736f08e96..afa1fb1aef4 100644 --- a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk +++ b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_STARBURST_VERSION = 2.0.3-Leia +KODI_VISUALISATION_STARBURST_VERSION = 19.0.1-Matrix KODI_VISUALISATION_STARBURST_SITE = $(call github,xbmc,visualization.starburst,$(KODI_VISUALISATION_STARBURST_VERSION)) KODI_VISUALISATION_STARBURST_LICENSE = GPL-2.0+ -KODI_VISUALISATION_STARBURST_LICENSE_FILES = debian/copyright +KODI_VISUALISATION_STARBURST_LICENSE_FILES = LICENSE.md KODI_VISUALISATION_STARBURST_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-waveform/Config.in b/package/kodi-visualisation-waveform/Config.in index 56f25096f52..24a5f7f365c 100644 --- a/package/kodi-visualisation-waveform/Config.in +++ b/package/kodi-visualisation-waveform/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_KODI_VISUALISATION_WAVEFORM bool "kodi-visualisation-waveform" + select BR2_PACKAGE_GLM help Waveform visualiser for Kodi diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash index 578b2ea8a4b..efd8eddc66f 100644 --- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash +++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d734cbe9d7e661e8d4e61ff2bada423fd8dba33c5148b5044f4b1a1997c51376 kodi-visualisation-waveform-3.1.2-Leia.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a6180038f43d9344678952d29b6479e24194e6038518f9064e80781bf303ae70 kodi-visualisation-waveform-19.0.2-Matrix.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk index 64a4db4fce9..71acd733a0b 100644 --- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk +++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_WAVEFORM_VERSION = 3.1.2-Leia +KODI_VISUALISATION_WAVEFORM_VERSION = 19.0.2-Matrix KODI_VISUALISATION_WAVEFORM_SITE = $(call github,xbmc,visualization.waveform,$(KODI_VISUALISATION_WAVEFORM_VERSION)) KODI_VISUALISATION_WAVEFORM_LICENSE = GPL-2.0+ -KODI_VISUALISATION_WAVEFORM_LICENSE_FILES = COPYING -KODI_VISUALISATION_WAVEFORM_DEPENDENCIES = kodi +KODI_VISUALISATION_WAVEFORM_LICENSE_FILES = LICENSE.md +KODI_VISUALISATION_WAVEFORM_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch b/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch index 5abb77e777e..057d2254bcf 100644 --- a/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch +++ b/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch @@ -8,18 +8,21 @@ When cross-compiling, the location at build time of the libraries is not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable is here to handle this difference, so use it in kodi-config.cmake. +Upstream status: Reverted (PR 17616) + Signed-off-by: Thomas Petazzoni (rebased and simplified for Kodi 17.0-Krypton) Signed-off-by: Bernd Kuhls +(rebased for Kodi 19.0-Matrix) --- - project/cmake/KodiConfig.cmake.in | 4 ++-- + cmake/KodiConfig.cmake.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in -index 76626ec..ffb8e1d 100644 +diff --git a/cmake/KodiConfig.cmake.in b/cmake/KodiConfig.cmake.in +index a06d889fca9d..ff299807ea44 100644 --- a/cmake/KodiConfig.cmake.in +++ b/cmake/KodiConfig.cmake.in -@@ -8,7 +8,7 @@ if(NOT @APP_NAME_UC@_PREFIX) +@@ -9,7 +9,7 @@ if(NOT @APP_NAME_UC@_PREFIX) set(@APP_NAME_UC@_PREFIX @APP_PREFIX@) endif() if(NOT @APP_NAME_UC@_INCLUDE_DIR) @@ -28,10 +31,10 @@ index 76626ec..ffb8e1d 100644 endif() if(NOT @APP_NAME_UC@_LIB_DIR) set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@) -@@ -20,7 +20,7 @@ endif() - if(NOT WIN32) - set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") +@@ -18,7 +18,7 @@ if(NOT @APP_NAME_UC@_DATA_DIR) + set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@) endif() + set(APP_RENDER_SYSTEM @APP_RENDER_SYSTEM@) -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) diff --git a/package/kodi/0002-Fix-crosscompiling-issues.patch b/package/kodi/0002-Fix-crosscompiling-issues.patch deleted file mode 100644 index 12bb66dde09..00000000000 --- a/package/kodi/0002-Fix-crosscompiling-issues.patch +++ /dev/null @@ -1,76 +0,0 @@ -From d2c343a20bb61098d0450b15ea2d1dacd28d954a Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 12 Aug 2018 15:13:24 +0200 -Subject: [PATCH] Fix crosscompiling issues - -The codepath for KODI_DEPENDSBUILD needs to be used in order to provide -the correct crosscompiling options to ffmpeg. The CMake option -KODI_DEPENDSBUILD itself can not be enabled because it disables the -internal build of libdvd*. - -To link kodi.bin with the statically built ffmpeg libraries kodi uses -a wrapper script which calls pkgconfig. Our pkgconfig is patched to -alter paths which breaks the link command in this case, to fix this -PKG_CONFIG_SYSROOT_DIR was added. - -Also remove configure option --cpu from ffmpeg_conf to fix build -errors. - -Signed-off-by: Bernd Kuhls ---- - project/cmake/modules/FindFFMPEG.cmake | 16 +++++++--------- - tools/depends/target/ffmpeg/CMakeLists.txt | 2 +- - 2 files changed, 8 insertions(+), 10 deletions(-) - -diff --git a/project/cmake/modules/FindFFMPEG.cmake b/project/cmake/modules/FindFFMPEG.cmake -index 28cc80710e..1ac8793149 100644 ---- a/cmake/modules/FindFFMPEG.cmake -+++ b/cmake/modules/FindFFMPEG.cmake -@@ -234,14 +234,12 @@ - -DENABLE_VAAPI=${ENABLE_VAAPI} - -DENABLE_VDPAU=${ENABLE_VDPAU}) - -- if(KODI_DEPENDSBUILD) - set(CROSS_ARGS -DDEPENDS_PATH=${DEPENDS_PATH} - -DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE} - -DCROSSCOMPILING=${CMAKE_CROSSCOMPILING} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -- -DOS=${OS} -+ -DOS=linux - -DCMAKE_AR=${CMAKE_AR}) -- endif() - set(LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS}) - list(APPEND LINKER_FLAGS ${SYSTEM_LDFLAGS}) - -@@ -280,12 +278,12 @@ - "#!${BASH_COMMAND} - if [[ $@ == *${APP_NAME_LC}.bin* || $@ == *${APP_NAME_LC}${APP_BINARY_SUFFIX}* || $@ == *${APP_NAME_LC}.so* || $@ == *${APP_NAME_LC}-test* ]] - then -- avformat=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` -- avcodec=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavformat` -- avfilter=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavfilter` -- avutil=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavutil` -- swscale=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswscale` -- swresample=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswresample` -+ avformat=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` -+ avcodec=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavformat` -+ avfilter=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavfilter` -+ avutil=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavutil` -+ swscale=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswscale` -+ swresample=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswresample` - gnutls=`PKG_CONFIG_PATH=${DEPENDS_PATH}/lib/pkgconfig/ ${PKG_CONFIG_EXECUTABLE} --libs-only-l --static --silence-errors gnutls` - $@ $avcodec $avformat $avcodec $avfilter $swscale $swresample -lpostproc $gnutls - else -diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt -index fda6b0cac4..af3afa6b60 100644 ---- a/tools/depends/target/ffmpeg/CMakeLists.txt -+++ b/tools/depends/target/ffmpeg/CMakeLists.txt -@@ -13,7 +13,7 @@ - if(CROSSCOMPILING) - set(pkgconf "PKG_CONFIG_LIBDIR=${DEPENDS_PATH}/lib/pkgconfig") - list(APPEND ffmpeg_conf --pkg-config=${PKG_CONFIG_EXECUTABLE} --pkg-config-flags=--static) -- list(APPEND ffmpeg_conf --enable-cross-compile --cpu=${CPU} --arch=${CPU} --target-os=${OS}) -+ list(APPEND ffmpeg_conf --enable-cross-compile --arch=${CPU} --target-os=${OS}) - list(APPEND ffmpeg_conf --ar=${CMAKE_AR} --strip=${CMAKE_STRIP}) - message(STATUS "CROSS: ${ffmpeg_conf}") - endif() diff --git a/package/kodi/0002-cmake-findpython.patch b/package/kodi/0002-cmake-findpython.patch new file mode 100644 index 00000000000..60728aa465a --- /dev/null +++ b/package/kodi/0002-cmake-findpython.patch @@ -0,0 +1,135 @@ +From 52f44ec5c7b728a6afaca867e8d815fced2012ec Mon Sep 17 00:00:00 2001 +From: fuzzard +Date: Sat, 31 Jul 2021 19:22:08 +1000 +Subject: [PATCH] [cmake] findpython + +use cmakes (3.12+) FindPython3 module. +Provide cmake vars for user to overide specific version, and search path + +Backport of https://github.com/xbmc/xbmc/pull/20045 + +Patch sent upstream: https://github.com/xbmc/xbmc/pull/20989 + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 4 +- + cmake/modules/FindPython.cmake | 71 ++++++++++++++++++++++++++-------- + 2 files changed, 56 insertions(+), 19 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2d5369798d..9bed54ef40 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.12) + if(WIN32) + # Version 3.15 is required to use "PREPEND" for dependencies + cmake_minimum_required(VERSION 3.15) +@@ -187,8 +187,6 @@ core_require_dep(${required_deps}) + find_package(TexturePacker REQUIRED) + find_package(JsonSchemaBuilder REQUIRED) + +-SET(PYTHON_VERSION 3.8) +- + if(ENABLE_MARIADBCLIENT AND NOT ENABLE_MARIADBCLIENT STREQUAL AUTO AND ENABLE_MYSQLCLIENT AND NOT ENABLE_MYSQLCLIENT STREQUAL AUTO) + MESSAGE(FATAL_ERROR "You can not use MySql and MariaDB at the same time. Disable one by adding -DENABLE_MYSQLCLIENT=OFF or -DENABLE_MARIADBCLIENT=OFF.") + elseif(ENABLE_MYSQLCLIENT AND NOT ENABLE_MYSQLCLIENT STREQUAL AUTO) +diff --git a/cmake/modules/FindPython.cmake b/cmake/modules/FindPython.cmake +index c40e12d551..35220b5426 100644 +--- a/cmake/modules/FindPython.cmake ++++ b/cmake/modules/FindPython.cmake +@@ -1,17 +1,56 @@ +-# - Try to find python +-# Once done this will define ++# FindPython ++# -------- ++# Finds Python3 libraries ++# ++# This module will search for the required python libraries on the system ++# If multiple versions are found, the highest version will be used. ++# ++# -------- ++# ++# the following variables influence behaviour: ++# ++# PYTHON_PATH - use external python not found in system paths ++# usage: -DPYTHON_PATH=/path/to/python/lib ++# PYTHON_VER - use exact python version, fail if not found ++# usage: -DPYTHON_VER=3.8 ++# ++# -------- ++# ++# This module will define the following variables: + # + # PYTHON_FOUND - system has PYTHON ++# PYTHON_VERSION - Python version number (Major.Minor) + # PYTHON_INCLUDE_DIRS - the python include directory + # PYTHON_LIBRARIES - The python libraries ++# PYTHON_LDFLAGS - Python provided link options ++# ++# -------- ++# ++ ++# for Depends builds, set search root dir to depends path ++if(KODI_DEPENDSBUILD) ++ set(Python3_USE_STATIC_LIBS TRUE) ++ set(Python3_ROOT_DIR ${DEPENDS_PATH}/lib) ++endif() ++ ++# Provide root dir to search for Python if provided ++if(PYTHON_PATH) ++ set(Python3_ROOT_DIR ${PYTHON_PATH}) ++ ++ # unset cache var so we can generate again with a different dir (or none) if desired ++ unset(PYTHON_PATH CACHE) ++endif() ++ ++# Set specific version of Python to find if provided ++if(PYTHON_VER) ++ set(VERSION ${PYTHON_VER}) ++ set(EXACT_VER "EXACT") + +-if(PKG_CONFIG_FOUND) +- pkg_check_modules(PC_PYTHON python3>=3.5 QUIET) ++ # unset cache var so we can generate again with a different ver (or none) if desired ++ unset(PYTHON_VER CACHE) + endif() + +-find_program(PYTHON_EXECUTABLE python3 ONLY_CMAKE_FIND_ROOT_PATH) +-find_library(PYTHON_LIBRARY NAMES python3.9 python3.8 python3.7 python3.6 python3.5 PATHS ${PC_PYTHON_LIBDIR}) +-find_path(PYTHON_INCLUDE_DIR NAMES Python.h PATHS ${PC_PYTHON_INCLUDE_DIRS} PATH_SUFFIXES python3.9 python3.8 python3.7 python3.6 python3.5) ++find_package(Python3 ${VERSION} ${EXACT_VER} COMPONENTS Development) + + if(KODI_DEPENDSBUILD) + find_library(FFI_LIBRARY ffi REQUIRED) +@@ -27,17 +66,17 @@ if(KODI_DEPENDSBUILD) + endif() + endif() + +- set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES}) +-else() +- find_package(PythonLibs 3.5 REQUIRED) +- list(APPEND PYTHON_LIBRARIES ${PC_PYTHON_STATIC_LIBRARIES}) ++ list(APPEND Python3_LIBRARIES ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES}) + endif() + +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(Python REQUIRED_VARS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES) +-if(PYTHON_FOUND) +- set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR}) ++if(Python3_FOUND) + list(APPEND PYTHON_DEFINITIONS -DHAS_PYTHON=1) ++ # These are all set for easy integration with the rest of our build system ++ set(PYTHON_FOUND ${Python3_FOUND}) ++ set(PYTHON_INCLUDE_DIRS ${Python3_INCLUDE_DIRS}) ++ set(PYTHON_LIBRARIES ${Python3_LIBRARIES}) ++ set(PYTHON_VERSION "${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" CACHE INTERNAL "" FORCE) ++ set(PYTHON_LDFLAGS ${Python3_LINK_OPTIONS}) + endif() + +-mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY) ++mark_as_advanced(PYTHON_EXECUTABLE PYTHON_VERSION PYTHON_INCLUDE_DIRS PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY) +-- +2.30.2 + diff --git a/package/kodi/0003-cmake-search-for-python-interpreter.patch b/package/kodi/0003-cmake-search-for-python-interpreter.patch new file mode 100644 index 00000000000..158345a2121 --- /dev/null +++ b/package/kodi/0003-cmake-search-for-python-interpreter.patch @@ -0,0 +1,48 @@ +From 6bb112e585f2ffd10e5af70ca28159dd235d063b Mon Sep 17 00:00:00 2001 +From: wsnipex +Date: Thu, 19 Aug 2021 08:50:05 +0200 +Subject: [PATCH] [cmake] search for python interpreter fixes installing + eventclients on linux + +Backport of https://github.com/xbmc/xbmc/pull/20058 + +Patch sent upstream: https://github.com/xbmc/xbmc/pull/20989 + +Signed-off-by: Bernd Kuhls +--- + cmake/modules/FindPython.cmake | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/cmake/modules/FindPython.cmake b/cmake/modules/FindPython.cmake +index 35220b5426..c469ed9fb6 100644 +--- a/cmake/modules/FindPython.cmake ++++ b/cmake/modules/FindPython.cmake +@@ -20,6 +20,7 @@ + # + # PYTHON_FOUND - system has PYTHON + # PYTHON_VERSION - Python version number (Major.Minor) ++# PYTHON_EXECUTABLE - Python interpreter binary + # PYTHON_INCLUDE_DIRS - the python include directory + # PYTHON_LIBRARIES - The python libraries + # PYTHON_LDFLAGS - Python provided link options +@@ -51,6 +52,9 @@ if(PYTHON_VER) + endif() + + find_package(Python3 ${VERSION} ${EXACT_VER} COMPONENTS Development) ++if(CORE_SYSTEM_NAME STREQUAL linux) ++ find_package(Python3 ${VERSION} ${EXACT_VER} COMPONENTS Interpreter) ++endif() + + if(KODI_DEPENDSBUILD) + find_library(FFI_LIBRARY ffi REQUIRED) +@@ -73,6 +77,7 @@ if(Python3_FOUND) + list(APPEND PYTHON_DEFINITIONS -DHAS_PYTHON=1) + # These are all set for easy integration with the rest of our build system + set(PYTHON_FOUND ${Python3_FOUND}) ++ set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE} CACHE FILEPATH "Python interpreter" FORCE) + set(PYTHON_INCLUDE_DIRS ${Python3_INCLUDE_DIRS}) + set(PYTHON_LIBRARIES ${Python3_LIBRARIES}) + set(PYTHON_VERSION "${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" CACHE INTERNAL "" FORCE) +-- +2.30.2 + diff --git a/package/kodi/0004-cmake-allow-to-override-PYTHON_EXECUTABLE.patch b/package/kodi/0004-cmake-allow-to-override-PYTHON_EXECUTABLE.patch new file mode 100644 index 00000000000..d1e9b3f25f7 --- /dev/null +++ b/package/kodi/0004-cmake-allow-to-override-PYTHON_EXECUTABLE.patch @@ -0,0 +1,39 @@ +From 25681d8adde4a90d5da02051e30f6a3a27322136 Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec +Date: Sat, 25 Sep 2021 07:41:10 +0200 +Subject: [PATCH] [cmake] allow to override PYTHON_EXECUTABLE + +If Kodi is being build for distro which has different python version +than host, PYTHON_EXECUTABLE must be overriden and point to distro +version. Otherwise, eventclients will be installed in wrong location and +be thus unusable. + +Use case: Cross compiling Kodi for LibreELEC + +Backport of https://github.com/xbmc/xbmc/pull/20171 + +Patch sent upstream: https://github.com/xbmc/xbmc/pull/20989 + +Signed-off-by: Bernd Kuhls +--- + cmake/modules/FindPython.cmake | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/cmake/modules/FindPython.cmake b/cmake/modules/FindPython.cmake +index c469ed9fb6..87b8368705 100644 +--- a/cmake/modules/FindPython.cmake ++++ b/cmake/modules/FindPython.cmake +@@ -77,7 +77,9 @@ if(Python3_FOUND) + list(APPEND PYTHON_DEFINITIONS -DHAS_PYTHON=1) + # These are all set for easy integration with the rest of our build system + set(PYTHON_FOUND ${Python3_FOUND}) +- set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE} CACHE FILEPATH "Python interpreter" FORCE) ++ if(NOT PYTHON_EXECUTABLE) ++ set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE} CACHE FILEPATH "Python interpreter" FORCE) ++ endif() + set(PYTHON_INCLUDE_DIRS ${Python3_INCLUDE_DIRS}) + set(PYTHON_LIBRARIES ${Python3_LIBRARIES}) + set(PYTHON_VERSION "${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" CACHE INTERNAL "" FORCE) +-- +2.30.2 + diff --git a/package/kodi/Config.in b/package/kodi/Config.in index ecc5a053249..fd530064acf 100644 --- a/package/kodi/Config.in +++ b/package/kodi/Config.in @@ -5,108 +5,104 @@ config BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on !(BR2_i386 && !BR2_X86_CPU_HAS_SSE) depends on BR2_USE_MMU # libcdio, and others -comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.8" +comment "kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9" depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_USE_WCHAR || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ || BR2_TOOLCHAIN_USES_MUSL \ - || !BR2_PACKAGE_PYTHON \ - || BR2_PACKAGE_PYTHON_PYC_ONLY + || !BR2_PACKAGE_PYTHON3 \ + || BR2_PACKAGE_PYTHON3_PYC_ONLY config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS bool -config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM bool default y - # List of valid CPUs can be found here: - # https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L12 - depends on BR2_arm1176jzf_s || BR2_cortex_a7 || BR2_cortex_a53 - depends on BR2_PACKAGE_RPI_USERLAND + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES + depends on BR2_PACKAGE_HAS_LIBGBM + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF depends on BR2_PACKAGE_HAS_UDEV # libinput select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS -config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND bool default y - depends on BR2_PACKAGE_HAS_LIBGL - depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp - depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp - depends on BR2_PACKAGE_WAYLAND # waylandpp - select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS - -config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES - bool - default y - depends on BR2_PACKAGE_HAS_LIBGLES + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp + depends on BR2_INSTALL_LIBSTDCPP # waylandpp depends on BR2_PACKAGE_WAYLAND # waylandpp select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS -config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11 bool default y - depends on BR2_PACKAGE_HAS_LIBEGL - depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS -comment "kodi needs an OpenGL EGL backend with OpenGL support" +comment "kodi needs an OpenGL EGL backend with OpenGL or GLES support" depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS menuconfig BR2_PACKAGE_KODI bool "kodi" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libass -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_WCHAR - depends on !BR2_STATIC_LIBS # gnutls, python and others + depends on !BR2_STATIC_LIBS # gnutls, python3 and others + depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS - depends on BR2_PACKAGE_PYTHON - depends on !BR2_PACKAGE_PYTHON_PYC_ONLY + depends on BR2_PACKAGE_PYTHON3 + depends on !BR2_PACKAGE_PYTHON3_PYC_ONLY select BR2_NEEDS_HOST_JAVA - select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_GPL + select BR2_PACKAGE_FFMPEG_POSTPROC + select BR2_PACKAGE_FFMPEG_SWSCALE select BR2_PACKAGE_FLATBUFFERS select BR2_PACKAGE_FMT - select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_FONTCONFIG # needed for libass select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_FSTRCMP - select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBASS select BR2_PACKAGE_LIBCDIO select BR2_PACKAGE_LIBCROSSGUID select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBICONV_EXTRA_ENCODINGS if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBPLIST select BR2_PACKAGE_LZO - select BR2_PACKAGE_NCURSES select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PCRE select BR2_PACKAGE_PCRE_UCP - select BR2_PACKAGE_PYTHON_2TO3 - select BR2_PACKAGE_PYTHON_BSDDB - select BR2_PACKAGE_PYTHON_CURSES - select BR2_PACKAGE_PYTHON_PYEXPAT - select BR2_PACKAGE_PYTHON_SQLITE - select BR2_PACKAGE_PYTHON_SSL - select BR2_PACKAGE_PYTHON_UNICODEDATA - select BR2_PACKAGE_PYTHON_ZLIB + select BR2_PACKAGE_PYTHON3_2TO3 + select BR2_PACKAGE_PYTHON3_PYEXPAT + select BR2_PACKAGE_PYTHON3_SQLITE + select BR2_PACKAGE_PYTHON3_SSL + select BR2_PACKAGE_PYTHON3_UNICODEDATA + select BR2_PACKAGE_PYTHON3_ZLIB select BR2_PACKAGE_RAPIDJSON + select BR2_PACKAGE_SPDLOG select BR2_PACKAGE_SQLITE select BR2_PACKAGE_TAGLIB select BR2_PACKAGE_TINYXML select BR2_PACKAGE_ZLIB select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support + select BR2_PACKAGE_LIBINPUT if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM + select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM + select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND + select BR2_PACKAGE_WAYLANDPP if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11 help Kodi is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. @@ -115,8 +111,6 @@ menuconfig BR2_PACKAGE_KODI if BR2_PACKAGE_KODI -source "package/kodi-platform/Config.in" - config BR2_PACKAGE_KODI_ALSA_LIB bool "alsa" select BR2_PACKAGE_ALSA_LIB @@ -133,12 +127,18 @@ config BR2_PACKAGE_KODI_AVAHI config BR2_PACKAGE_KODI_BLUEZ bool "bluetooth" - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # bluez5_utils hid plugin depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils select BR2_PACKAGE_BLUEZ5_UTILS + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID help Enable bluetooth support +comment "bluetooth support needs a toolchain w/ headers >= 3.18" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + config BR2_PACKAGE_KODI_DBUS bool "dbus" select BR2_PACKAGE_DBUS @@ -196,34 +196,17 @@ config BR2_PACKAGE_KODI_MYSQL Enable MySQL support choice - prompt "platform" - default BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL - -config BR2_PACKAGE_KODI_PLATFORM_RBPI - bool "Raspberry Pi" - depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI - select BR2_PACKAGE_LIBINPUT - select BR2_PACKAGE_LIBXKBCOMMON - -config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL - bool "Wayland/OpenGL" - depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL - select BR2_PACKAGE_LIBGLU - select BR2_PACKAGE_LIBXKBCOMMON - select BR2_PACKAGE_WAYLANDPP - -config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES - bool "Wayland/GLES" - depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES - select BR2_PACKAGE_LIBXKBCOMMON - select BR2_PACKAGE_WAYLANDPP - -config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL - bool "X11/OpenGL" - depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL - select BR2_PACKAGE_LIBDRM + prompt "render system" + default BR2_PACKAGE_KODI_RENDER_SYSTEM_GL + +config BR2_PACKAGE_KODI_RENDER_SYSTEM_GL + bool "OpenGL" + depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBGLU - select BR2_PACKAGE_XLIB_LIBXRANDR + +config BR2_PACKAGE_KODI_RENDER_SYSTEM_GLES + bool "GLES" + depends on BR2_PACKAGE_HAS_LIBGLES endchoice @@ -257,40 +240,22 @@ config BR2_PACKAGE_KODI_LIBUSB # https://github.com/xbmc/xbmc/blob/Jarvis/configure.ac#L1554 # "if libudev is available, we don't need libusb" depends on !BR2_PACKAGE_HAS_UDEV - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT help Enable libusb support. -comment "usb support needs a toolchain w/ gcc >= 4.9" - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - -config BR2_PACKAGE_KODI_LIBVA - bool "va" - depends on \ - BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL || \ - BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES || \ - BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL - select BR2_PACKAGE_LIBVA - help - Enable libva support. - -comment "libva support needs platform 'Wayland' or 'X11/OpenGL'" - depends on \ - !BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL && \ - !BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES && \ - !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL - config BR2_PACKAGE_KODI_LIBVDPAU bool "vdpau" - depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL + depends on BR2_PACKAGE_KODI_PLATFORM_X11 && \ + BR2_PACKAGE_KODI_RENDER_SYSTEM_GL select BR2_PACKAGE_LIBVDPAU help Enable libvdpau support. comment "libvdpau support needs platform 'X11/OpenGL'" - depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL + depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11 || \ + !BR2_PACKAGE_KODI_RENDER_SYSTEM_GL config BR2_PACKAGE_KODI_UPNP bool "upnp" @@ -326,6 +291,7 @@ endmenu menu "Inputstream addons" source "package/kodi-inputstream-adaptive/Config.in" + source "package/kodi-inputstream-ffmpegdirect/Config.in" source "package/kodi-inputstream-rtmp/Config.in" endmenu @@ -343,10 +309,12 @@ menu "PVR addons" source "package/kodi-pvr-njoy/Config.in" source "package/kodi-pvr-octonet/Config.in" source "package/kodi-pvr-pctv/Config.in" + source "package/kodi-pvr-plutotv/Config.in" source "package/kodi-pvr-stalker/Config.in" source "package/kodi-pvr-vbox/Config.in" source "package/kodi-pvr-vdr-vnsi/Config.in" source "package/kodi-pvr-vuplus/Config.in" + source "package/kodi-pvr-waipu/Config.in" source "package/kodi-pvr-wmc/Config.in" source "package/kodi-pvr-zattoo/Config.in" endmenu @@ -356,7 +324,6 @@ menu "Screensavers" source "package/kodi-screensaver-asterwave/Config.in" source "package/kodi-screensaver-biogenesis/Config.in" source "package/kodi-screensaver-cpblobs/Config.in" - source "package/kodi-screensaver-crystalmorph/Config.in" source "package/kodi-screensaver-greynetic/Config.in" source "package/kodi-screensaver-matrixtrails/Config.in" source "package/kodi-screensaver-pingpong/Config.in" @@ -370,6 +337,7 @@ menu "Skins" endmenu menu "Virtual file systems" + source "package/kodi-vfs-libarchive/Config.in" source "package/kodi-vfs-rar/Config.in" source "package/kodi-vfs-sftp/Config.in" endmenu @@ -377,6 +345,7 @@ endmenu menu "Visualisations" source "package/kodi-visualisation-fishbmc/Config.in" source "package/kodi-visualisation-goom/Config.in" + source "package/kodi-visualisation-matrix/Config.in" source "package/kodi-visualisation-shadertoy/Config.in" source "package/kodi-visualisation-spectrum/Config.in" source "package/kodi-visualisation-starburst/Config.in" diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash index 545f87909fc..7f96af385ac 100644 --- a/package/kodi/kodi.hash +++ b/package/kodi/kodi.hash @@ -1,6 +1,5 @@ # Locally computed -sha256 bdf8afa9356b1f815de9984801d3e0d2b46a719e747895b75528f20995c59d2b kodi-18.9-Leia.tar.gz -sha256 e11e7594af35f36ab2711252c3d6bb106908f26605498aef4a9be2d7bc001db2 kodi-ffmpeg-4.0.4-Leia-18.4.tar.gz +sha256 440f47e475dd8a48e0a6d41349e83b74890f3fbe8275d3e401d3c50f5b9ea09b kodi-19.3-Matrix.tar.gz sha256 38816f8373e243bc5950449b4f3b18938c4e1c59348e3411e23f31db4072e40d kodi-libdvdcss-1.4.2-Leia-Beta-5.tar.gz sha256 071e414e61b795f2ff9015b21a85fc009dde967f27780d23092643916538a57a kodi-libdvdnav-6.0.0-Leia-Alpha-3.tar.gz sha256 a30b6aa0aad0f2c505bc77948af2d5531a80b6e68112addb4c123fca24d5d3bf kodi-libdvdread-6.0.0-Leia-Alpha-3.tar.gz diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index 3f22db48a3c..58ad1154750 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -6,22 +6,25 @@ # When updating the version, please also update kodi-jsonschemabuilder # and kodi-texturepacker -KODI_VERSION = 18.9-Leia +KODI_VERSION_MAJOR = 19.3 +KODI_VERSION_NAME = Matrix +KODI_VERSION = $(KODI_VERSION_MAJOR)-$(KODI_VERSION_NAME) KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION)) KODI_LICENSE = GPL-2.0 KODI_LICENSE_FILES = LICENSE.md +KODI_CPE_ID_VENDOR = kodi +KODI_CPE_ID_VERSION = $(KODI_VERSION_MAJOR) # needed for binary addons KODI_INSTALL_STAGING = YES # kodi recommends building out-of-source KODI_SUPPORTS_IN_SOURCE_BUILD = NO KODI_DEPENDENCIES = \ - expat \ + ffmpeg \ flatbuffers \ fmt \ fontconfig \ freetype \ fstrcmp \ - gnutls \ host-flatbuffers \ host-gawk \ host-gettext \ @@ -35,67 +38,90 @@ KODI_DEPENDENCIES = \ libcdio \ libcrossguid \ libcurl \ + libdrm \ + libegl \ libfribidi \ libplist \ lzo \ - ncurses \ openssl \ pcre \ - python \ + python3 \ rapidjson \ + spdlog \ sqlite \ taglib \ tinyxml \ zlib # taken from tools/depends/target/*/*-VERSION -KODI_FFMPEG_VERSION = 4.0.4-Leia-18.4 KODI_LIBDVDCSS_VERSION = 1.4.2-Leia-Beta-5 KODI_LIBDVDNAV_VERSION = 6.0.0-Leia-Alpha-3 KODI_LIBDVDREAD_VERSION = 6.0.0-Leia-Alpha-3 KODI_EXTRA_DOWNLOADS += \ - $(call github,xbmc,FFmpeg,$(KODI_FFMPEG_VERSION))/kodi-ffmpeg-$(KODI_FFMPEG_VERSION).tar.gz \ $(call github,xbmc,libdvdcss,$(KODI_LIBDVDCSS_VERSION))/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \ $(call github,xbmc,libdvdnav,$(KODI_LIBDVDNAV_VERSION))/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \ $(call github,xbmc,libdvdread,$(KODI_LIBDVDREAD_VERSION))/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz -define KODI_CPLUFF_AUTOCONF - cd $(KODI_SRCDIR)/lib/cpluff && ./autogen.sh -endef -KODI_PRE_CONFIGURE_HOOKS += KODI_CPLUFF_AUTOCONF -KODI_DEPENDENCIES += host-automake host-autoconf host-libtool - KODI_CONF_OPTS += \ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \ - -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(KODI_CXX_FLAGS)" \ -DENABLE_APP_AUTONAME=OFF \ -DENABLE_CCACHE=OFF \ -DENABLE_DVDCSS=ON \ -DENABLE_INTERNAL_CROSSGUID=OFF \ - -DENABLE_INTERNAL_FFMPEG=ON \ + -DWITH_FFMPEG=$(STAGING_DIR)/usr \ -DENABLE_INTERNAL_FLATBUFFERS=OFF \ - -DFFMPEG_URL=$(KODI_DL_DIR)/kodi-ffmpeg-$(KODI_FFMPEG_VERSION).tar.gz \ + -DFLATBUFFERS_FLATC_EXECUTABLE=$(HOST_DIR)/bin/flatc \ -DKODI_DEPENDSBUILD=OFF \ -DENABLE_LDGOLD=OFF \ -DNATIVEPREFIX=$(HOST_DIR) \ -DDEPENDS_PATH=$(STAGING_DIR)/usr \ + -DENABLE_TESTING=OFF \ + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \ + -DPYTHON_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ + -DPYTHON_PATH=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) \ + -DPYTHON_VER=$(PYTHON3_VERSION_MAJOR) \ -DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/JsonSchemaBuilder \ -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \ -DLIBDVDCSS_URL=$(KODI_DL_DIR)/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \ -DLIBDVDNAV_URL=$(KODI_DL_DIR)/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \ -DLIBDVDREAD_URL=$(KODI_DL_DIR)/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz +ifeq ($(BR2_PACKAGE_KODI_RENDER_SYSTEM_GL),y) +KODI_CONF_OPTS += -DAPP_RENDER_SYSTEM=gl +KODI_DEPENDENCIES += libgl libglu +else ifeq ($(BR2_PACKAGE_KODI_RENDER_SYSTEM_GLES),y) +KODI_CONF_OPTS += -DAPP_RENDER_SYSTEM=gles +KODI_DEPENDENCIES += libgles +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM),y) +KODI_CORE_PLATFORM_NAME += gbm +KODI_DEPENDENCIES += libgbm libinput libxkbcommon +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND),y) +KODI_CONF_OPTS += \ + -DPC_WAYLANDPP_SCANNER=$(HOST_DIR)/bin/wayland-scanner \ + -DPC_WAYLANDPP_SCANNER_FOUND=ON +KODI_CORE_PLATFORM_NAME += wayland +KODI_DEPENDENCIES += libxkbcommon waylandpp +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11),y) +KODI_CORE_PLATFORM_NAME += x11 +KODI_DEPENDENCIES += \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXrandr +endif + +KODI_CONF_OPTS += -DCORE_PLATFORM_NAME="$(KODI_CORE_PLATFORM_NAME)" + ifeq ($(BR2_ENABLE_LOCALE),) KODI_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) -# These CPU-specific options are only used on rbpi: -# https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L13 -ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y) -KODI_CONF_OPTS += -DWITH_CPU="$(GCC_TARGET_CPU)" -endif -else ifeq ($(BR2_arceb)$(BR2_arcle),y) +ifeq ($(BR2_arceb)$(BR2_arcle),y) KODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc else ifeq ($(BR2_armeb),y) KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm @@ -165,34 +191,11 @@ endif # mips: uses __atomic_load_8 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -KODI_CXX_FLAGS += -latomic +KODI_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif -ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) -KODI_CONF_OPTS += -DCORE_PLATFORM_NAME=rbpi -KODI_DEPENDENCIES += libinput libxkbcommon rpi-userland -endif - -ifeq ($(BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL),y) -KODI_CONF_OPTS += \ - -DCORE_PLATFORM_NAME=wayland \ - -DWAYLAND_RENDER_SYSTEM=gl -KODI_DEPENDENCIES += libegl libgl libglu libxkbcommon waylandpp -endif - -ifeq ($(BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES),y) -KODI_CONF_OPTS += \ - -DCORE_PLATFORM_NAME=wayland \ - -DWAYLAND_RENDER_SYSTEM=gles -KODI_C_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -KODI_CXX_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -KODI_DEPENDENCIES += libegl libgles libxkbcommon waylandpp -endif - -ifeq ($(BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL),y) -KODI_CONF_OPTS += -DCORE_PLATFORM_NAME=x11 -KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \ - xlib_libXrandr libdrm +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),) +KODI_C_FLAGS += -std=gnu99 endif ifeq ($(BR2_PACKAGE_KODI_MYSQL),y) @@ -210,6 +213,8 @@ KODI_CONF_OPTS += -DENABLE_UDEV=OFF ifeq ($(BR2_PACKAGE_KODI_LIBUSB),y) KODI_CONF_OPTS += -DENABLE_LIBUSB=ON KODI_DEPENDENCIES += libusb-compat +else +KODI_CONF_OPTS += -DENABLE_LIBUSB=OFF endif endif @@ -314,9 +319,8 @@ ifeq ($(BR2_PACKAGE_LIRC_TOOLS),y) KODI_DEPENDENCIES += lirc-tools endif -# kodi needs libva & libva-glx -ifeq ($(BR2_PACKAGE_KODI_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy) -KODI_DEPENDENCIES += mesa3d libva +ifeq ($(BR2_PACKAGE_LIBVA),y) +KODI_DEPENDENCIES += libva KODI_CONF_OPTS += -DENABLE_VAAPI=ON else KODI_CONF_OPTS += -DENABLE_VAAPI=OFF @@ -348,6 +352,12 @@ else KODI_CONF_OPTS += -DENABLE_PULSEAUDIO=OFF endif +ifeq ($(BR2_PACKAGE_LIBUDFREAD),y) +KODI_DEPENDENCIES += libudfread +else +KODI_CONF_OPTS += -DENABLE_INTERNAL_UDFREAD=OFF +endif + # Remove versioncheck addon, updating Kodi is done by building a new # buildroot image. KODI_ADDON_MANIFEST = $(TARGET_DIR)/usr/share/kodi/system/addon-manifest.xml diff --git a/package/kompexsqlite/0001-Makefile-use-autoconf-CXX-for-proper-builds.patch b/package/kompexsqlite/0001-Makefile-use-autoconf-CXX-for-proper-builds.patch deleted file mode 100644 index 408c100d719..00000000000 --- a/package/kompexsqlite/0001-Makefile-use-autoconf-CXX-for-proper-builds.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 769693d9ddf63b04dd4aad6cad080f3cee3f997e Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 11 Jun 2015 14:08:38 -0300 -Subject: [PATCH] Makefile: use autoconf CXX for proper builds - -Status: applied upstream. - -Signed-off-by: Gustavo Zacarias ---- - Makefile.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.in b/Makefile.in -index 91fb8b2..fe862cd 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -23,6 +23,7 @@ mandir = $(prefix)/share/man/man3 - headerdir = $(prefix)/include/kompex - - CC = @CC@ -+CXX = @CXX@ - CFLAGS = @CFLAGS@ - CPPFLAGS = $(CFLAGS) @CPPFLAGS@ - LDFLAGS = @LDFLAGS@ --- -2.3.6 - diff --git a/package/kompexsqlite/0002-append-to-cflags-and-cxxflags.patch b/package/kompexsqlite/0002-append-to-cflags-and-cxxflags.patch deleted file mode 100644 index abd0dc0fddd..00000000000 --- a/package/kompexsqlite/0002-append-to-cflags-and-cxxflags.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3eb064ffa9b43fb5f245b8abda48a1c152a6f2d7 Mon Sep 17 00:00:00 2001 -From: me -Date: Thu, 20 Nov 2014 14:37:34 -0700 -Subject: [PATCH] Append to CFLAGS and CXXFLAGS as setup by ./configure. This - can allow users to Customize the SQLite build process with compile time - #defines rather than altering the sources. - -Signed-off-by: Max Filippov ---- -Backported from: 3eb064ffa9b43fb5f245b8abda48a1c152a6f2d7 - - Makefile-shared.mk | 4 ++-- - Makefile-static.mk | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile-shared.mk b/Makefile-shared.mk -index b2a4920..d15ce3c 100644 ---- a/Makefile-shared.mk -+++ b/Makefile-shared.mk -@@ -12,10 +12,10 @@ OBJS= \ - ${objsdir}/sqlite3.o - - # C Compiler Flags --CFLAGS= -fPIC -MMD -MP -+CFLAGS+= -fPIC -MMD -MP - - # CC Compiler Flags --CPPFLAGS= -DKOMPEX_SQLITEWRAPPER_EXPORT -DKOMPEX_SQLITEWRAPPER_DYN -fPIC -MMD -MP -I${includedir} -+CPPFLAGS+= -DKOMPEX_SQLITEWRAPPER_EXPORT -DKOMPEX_SQLITEWRAPPER_DYN -fPIC -MMD -MP -I${includedir} - - # Link Libraries and Options - LDLIBSOPTIONS= -shared -fPIC -diff --git a/Makefile-static.mk b/Makefile-static.mk -index 429a4ff..0678681 100644 ---- a/Makefile-static.mk -+++ b/Makefile-static.mk -@@ -12,10 +12,10 @@ OBJS= \ - ${objsdir}/sqlite3.o - - # C Compiler Flags --CFLAGS= -MMD -MP -+CFLAGS+= -MMD -MP - - # CC Compiler Flags --CPPFLAGS= -I${includedir} -MMD -MP -+CPPFLAGS+= -I${includedir} -MMD -MP - - # Link Libraries and Options - LDLIBSOPTIONS= diff --git a/package/kompexsqlite/kompexsqlite.hash b/package/kompexsqlite/kompexsqlite.hash index 8869e9b7d96..aa0f269570a 100644 --- a/package/kompexsqlite/kompexsqlite.hash +++ b/package/kompexsqlite/kompexsqlite.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 73bec94fe5dd3a24bd8668b3a131a84dbe39a992579eebab1236aa0e73b2c9cc kompexsqlite-1.10.12-1.tar.gz -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt +sha256 81773ddb156fed51ef43a5f562e3b47761c4c33de9197bf0c3e7099b08579e2a download.php?dl=KompexSQLiteWrapper-Source_1.12.15.tar.gz +sha256 65fd20aeb67892740a710a09d788acfda8747741e746395739412919f84b5f9f inc/KompexSQLiteDatabase.h +sha256 001f26c0b2ca407a9a5d3f5e0690d7e576687b23110e18d2a08014dd774eb71c inc/sqlite3.h diff --git a/package/kompexsqlite/kompexsqlite.mk b/package/kompexsqlite/kompexsqlite.mk index a40088fa2d3..6a619de0ef9 100644 --- a/package/kompexsqlite/kompexsqlite.mk +++ b/package/kompexsqlite/kompexsqlite.mk @@ -4,11 +4,44 @@ # ################################################################################ -KOMPEXSQLITE_VERSION = 1.10.12-1 -KOMPEXSQLITE_SITE = \ - $(call github,Aethelflaed,kompex-sqlite-wrapper,v$(KOMPEXSQLITE_VERSION)) +KOMPEXSQLITE_VERSION = 1.12.15 +KOMPEXSQLITE_SOURCE = download.php?dl=KompexSQLiteWrapper-Source_$(KOMPEXSQLITE_VERSION).tar.gz +KOMPEXSQLITE_SITE = http://sqlitewrapper.kompex-online.com/counter KOMPEXSQLITE_INSTALL_STAGING = YES -KOMPEXSQLITE_LICENSE = LGPL-3.0+ (wrapper), Public Domain (bundled sqlite) -KOMPEXSQLITE_LICENSE_FILES = LICENSE.txt +KOMPEXSQLITE_LICENSE = MIT (wrapper), Public Domain (bundled sqlite) +KOMPEXSQLITE_LICENSE_FILES = inc/KompexSQLiteDatabase.h inc/sqlite3.h -$(eval $(autotools-package)) +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +KOMPEXSQLITE_CONFS += ReleaseStaticLib +define KOMPEXSQLITE_INSTALL_STATIC_LIB + $(INSTALL) -D -m 0644 $(@D)/lib/release/KompexSQLiteWrapper_Static.a \ + $(STAGING_DIR)/usr/lib/libkompex-sqlite-wrapper.a +endef +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +KOMPEXSQLITE_CONFS += ReleaseDynamicLib +define KOMPEXSQLITE_INSTALL_SHARED_LIB + $(INSTALL) -D -m 0755 $(@D)/lib/release/KompexSQLiteWrapper.so \ + $(1)/usr/lib/libkompex-sqlite-wrapper.so +endef +endif + +define KOMPEXSQLITE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + ALLCONFS="$(KOMPEXSQLITE_CONFS)" \ + -C "$(@D)/Kompex SQLite Wrapper" all +endef + +define KOMPEXSQLITE_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include/kompex + $(INSTALL) -m 644 $(@D)/inc/* $(STAGING_DIR)/usr/include/kompex + $(KOMPEXSQLITE_INSTALL_STATIC_LIB) + $(call KOMPEXSQLITE_INSTALL_SHARED_LIB,$(STAGING_DIR)) +endef + +define KOMPEXSQLITE_INSTALL_TARGET_CMDS + $(call KOMPEXSQLITE_INSTALL_SHARED_LIB,$(TARGET_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/ksmbd-tools/Config.in b/package/ksmbd-tools/Config.in new file mode 100644 index 00000000000..ce1850e0166 --- /dev/null +++ b/package/ksmbd-tools/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_KSMBD_TOOLS + bool "ksmbd-tools" + depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libnl + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBNL + help + ksmbd kernel server userspace utilities. + + https://github.com/cifsd-team/ksmbd-tools + +comment "ksmbd-tools needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/ksmbd-tools/ksmbd-tools.hash b/package/ksmbd-tools/ksmbd-tools.hash new file mode 100644 index 00000000000..d146f36a0e6 --- /dev/null +++ b/package/ksmbd-tools/ksmbd-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f42aec21515e34305bc07e1ce2c4926c87ea7bc8a675ca6d0a453f6b6be34e2b ksmbd-tools-3.4.4.tar.gz +sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING diff --git a/package/ksmbd-tools/ksmbd-tools.mk b/package/ksmbd-tools/ksmbd-tools.mk new file mode 100644 index 00000000000..b08845b581b --- /dev/null +++ b/package/ksmbd-tools/ksmbd-tools.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# ksmbd-tools +# +################################################################################ + +KSMBD_TOOLS_VERSION = 3.4.4 +KSMBD_TOOLS_SITE = https://github.com/cifsd-team/ksmbd-tools/releases/download/$(KSMBD_TOOLS_VERSION) +KSMBD_TOOLS_LICENSE = GPL-2.0+ +KSMBD_TOOLS_LICENSE_FILES = COPYING +KSMBD_TOOLS_DEPENDENCIES = host-pkgconf libglib2 libnl + +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +KSMBD_TOOLS_CONF_OPTS += --enable-krb5 +KSMBD_TOOLS_DEPENDENCIES += libkrb5 +else +KSMBD_TOOLS_CONF_OPTS += --disable-krb5 +endif + +$(eval $(autotools-package)) diff --git a/package/ktap/ktap.mk b/package/ktap/ktap.mk index 09daba5c534..eec8b75b7f5 100644 --- a/package/ktap/ktap.mk +++ b/package/ktap/ktap.mk @@ -20,7 +20,7 @@ define KTAP_BUILD_CMDS endef define KTAP_INSTALL_TARGET_CMDS - $(INSTALL) -D -m755 $(@D)/ktap $(TARGET_DIR)/usr/bin/ktap + $(INSTALL) -D -m755 $(@D)/ktap $(TARGET_DIR)/usr/bin/ktap endef KTAP_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) diff --git a/package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch b/package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch index 47f15c6cda2..1a1a90ce99c 100644 --- a/package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch +++ b/package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch @@ -1,7 +1,7 @@ From 8d9a62a5fa89001266352a929c5d40b28c0dda85 Mon Sep 17 00:00:00 2001 From: Matt Weber Date: Fri, 12 Jan 2018 19:07:27 -0600 -Subject: [PATCH v2] kvm-unit-tests: test for rdseed/rdrand +Subject: [PATCH] kvm-unit-tests: test for rdseed/rdrand The build fails when the host binutils isn't at least 2.23 (2.22.x introduced RDSEED). diff --git a/package/kvm-unit-tests/0004-Fix-powerpc-issue-with-the-linker-from-Fedora-32.patch b/package/kvm-unit-tests/0004-Fix-powerpc-issue-with-the-linker-from-Fedora-32.patch new file mode 100644 index 00000000000..1768c668b7b --- /dev/null +++ b/package/kvm-unit-tests/0004-Fix-powerpc-issue-with-the-linker-from-Fedora-32.patch @@ -0,0 +1,61 @@ +From 5126732d73aa75a0bc84f898042bfe35640624b8 Mon Sep 17 00:00:00 2001 +From: Thomas Huth +Date: Wed, 13 May 2020 13:14:46 +0200 +Subject: [PATCH] Fix powerpc issue with the linker from Fedora 32 + +The linker from Fedora 32 complains: + +powerpc64-linux-gnu-ld: powerpc/selftest.elf: error: PHDR segment not + covered by LOAD segment + +Let's introduce some fake PHDRs to the linker script to get this +working again. + +Message-Id: <20200514192626.9950-7-thuth@redhat.com> +Signed-off-by: Thomas Huth +Signed-off-by: Matthew Weber +--- + powerpc/flat.lds | 19 ++++++++++++++++--- + 1 file changed, 16 insertions(+), 3 deletions(-) + +diff --git a/powerpc/flat.lds b/powerpc/flat.lds +index 53221e8..5eed368 100644 +--- a/powerpc/flat.lds ++++ b/powerpc/flat.lds +@@ -1,7 +1,17 @@ + ++PHDRS ++{ ++ text PT_LOAD FLAGS(5); ++ data PT_LOAD FLAGS(6); ++} ++ + SECTIONS + { +- .text : { *(.init) *(.text) *(.text.*) } ++ .text : { ++ *(.init) ++ *(.text) ++ *(.text.*) ++ } :text + . = ALIGN(64K); + etext = .; + .opd : { *(.opd) } +@@ -19,9 +29,12 @@ SECTIONS + .data : { + *(.data) + *(.data.rel*) +- } ++ } :data + . = ALIGN(16); +- .rodata : { *(.rodata) *(.rodata.*) } ++ .rodata : { ++ *(.rodata) ++ *(.rodata.*) ++ } :data + . = ALIGN(16); + .bss : { *(.bss) } + . = ALIGN(256); +-- +2.17.1 + diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index a972602fb94..97511c4f07d 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -7,7 +7,7 @@ KVM_UNIT_TESTS_VERSION = kvm-unit-tests-20171020 KVM_UNIT_TESTS_SITE = https://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git KVM_UNIT_TESTS_SITE_METHOD = git -KVM_UNIT_TESTS_LICENSE = LGPL-2.0 +KVM_UNIT_TESTS_LICENSE = GPL-2.0, LGPL-2.0 KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT ifeq ($(BR2_arm),y) diff --git a/package/kvmtool/kvmtool.mk b/package/kvmtool/kvmtool.mk index 2984817c7ec..df6ae7e0f1f 100644 --- a/package/kvmtool/kvmtool.mk +++ b/package/kvmtool/kvmtool.mk @@ -25,11 +25,11 @@ KVMTOOL_MAKE_OPTS = \ WERROR=0 define KVMTOOL_BUILD_CMDS - $(TARGET_MAKE_ENV) ARCH=$(KERNEL_ARCH) $(MAKE) -C $(@D) $(KVMTOOL_MAKE_OPTS) + $(TARGET_MAKE_ENV) ARCH=$(NORMALIZED_ARCH) $(MAKE) -C $(@D) $(KVMTOOL_MAKE_OPTS) endef define KVMTOOL_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) ARCH=$(KERNEL_ARCH) $(MAKE) -C $(@D) \ + $(TARGET_MAKE_ENV) ARCH=$(NORMALIZED_ARCH) $(MAKE) -C $(@D) \ $(KVMTOOL_MAKE_OPTS) install DESTDIR=$(TARGET_DIR) prefix=/usr endef diff --git a/package/lapack/0001-Fix-out-of-bounds-read-in-slarrv.patch b/package/lapack/0001-Fix-out-of-bounds-read-in-slarrv.patch new file mode 100644 index 00000000000..43c6444b02a --- /dev/null +++ b/package/lapack/0001-Fix-out-of-bounds-read-in-slarrv.patch @@ -0,0 +1,82 @@ +From 0631b6beaed60ba118b0b027c0f8d35397bf5df0 Mon Sep 17 00:00:00 2001 +From: Keno Fischer +Date: Thu, 30 Sep 2021 03:51:23 -0400 +Subject: [PATCH] Fix out of bounds read in slarrv + +This was originally reported as https://github.com/JuliaLang/julia/issues/42415. +I've tracked this down to an our of bounds read on the following line: + +https://github.com/Reference-LAPACK/lapack/blob/44ecb6a5ff821b1cbb39f8cc2166cb098e060b4d/SRC/slarrv.f#L423 + +In the crashing example, `M` is `0`, causing `slarrv` to read uninitialized +memory from the work array. I believe the `0` for `M` is correct and indeed, +the documentation above supports that `M` may be zero: + +https://github.com/Reference-LAPACK/lapack/blob/44ecb6a5ff821b1cbb39f8cc2166cb098e060b4d/SRC/slarrv.f#L113-L116 + +I believe it may be sufficient to early-out this function as suggested +in this PR. However, I have limited context for the full routine here, +so I would appreciate a sanity check. + +[Retrieved from: +https://github.com/Reference-LAPACK/lapack/commit/38f3eeee3108b18158409ca2a100e6fe03754781] +Signed-off-by: Fabrice Fontaine +--- + SRC/clarrv.f | 2 +- + SRC/dlarrv.f | 2 +- + SRC/slarrv.f | 2 +- + SRC/zlarrv.f | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/SRC/clarrv.f b/SRC/clarrv.f +index 1f09e4da6..42f710757 100644 +--- a/SRC/clarrv.f ++++ b/SRC/clarrv.f +@@ -348,7 +348,7 @@ SUBROUTINE CLARRV( N, VL, VU, D, L, PIVMIN, + * + * Quick return if possible + * +- IF( N.LE.0 ) THEN ++ IF( (N.LE.0).OR.(M.LE.0) ) THEN + RETURN + END IF + * +diff --git a/SRC/dlarrv.f b/SRC/dlarrv.f +index b036c1e66..299430361 100644 +--- a/SRC/dlarrv.f ++++ b/SRC/dlarrv.f +@@ -350,7 +350,7 @@ SUBROUTINE DLARRV( N, VL, VU, D, L, PIVMIN, + * + * Quick return if possible + * +- IF( N.LE.0 ) THEN ++ IF( (N.LE.0).OR.(M.LE.0) ) THEN + RETURN + END IF + * +diff --git a/SRC/slarrv.f b/SRC/slarrv.f +index 9d72b339a..95f94fd1b 100644 +--- a/SRC/slarrv.f ++++ b/SRC/slarrv.f +@@ -350,7 +350,7 @@ SUBROUTINE SLARRV( N, VL, VU, D, L, PIVMIN, + * + * Quick return if possible + * +- IF( N.LE.0 ) THEN ++ IF( (N.LE.0).OR.(M.LE.0) ) THEN + RETURN + END IF + * +diff --git a/SRC/zlarrv.f b/SRC/zlarrv.f +index 51ec558f5..e4be63e0d 100644 +--- a/SRC/zlarrv.f ++++ b/SRC/zlarrv.f +@@ -348,7 +348,7 @@ SUBROUTINE ZLARRV( N, VL, VU, D, L, PIVMIN, + * + * Quick return if possible + * +- IF( N.LE.0 ) THEN ++ IF( (N.LE.0).OR.(M.LE.0) ) THEN + RETURN + END IF + * diff --git a/package/lapack/Config.in b/package/lapack/Config.in index 6cd0810cb1a..4e92b49ab63 100644 --- a/package/lapack/Config.in +++ b/package/lapack/Config.in @@ -1,13 +1,22 @@ +config BR2_PACKAGE_LAPACK_ARCH_SUPPORTS + bool + default y + # _fpu_control is used on PowerPC, but not available with + # uClibc or musl + depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC + +comment "lapack/blas needs a glibc toolchain" + depends on BR2_powerpc + depends on !BR2_TOOLCHAIN_USES_GLIBC + comment "lapack/blas needs a toolchain w/ fortran" - depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC) + depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_FORTRAN config BR2_PACKAGE_LAPACK bool "lapack/blas" + depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_FORTRAN - depends on !BR2_PACKAGE_CLAPACK - # _fpu_control is used on PowerPC, but not available with uClibc - depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC) help LAPACK and BLAS FORTRAN implementation. This package installs two libraries: libblas and liblapack. diff --git a/package/lapack/lapack.hash b/package/lapack/lapack.hash index bac7210c298..6f6dbff1a6e 100644 --- a/package/lapack/lapack.hash +++ b/package/lapack/lapack.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573 lapack-3.9.0.tar.gz -sha256 d56bd4441b999b80c88df04faf0d8b3d7d3b2bd781cf91242c4188e8a6d0f8be LICENSE +sha256 328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19 lapack-3.10.0.tar.gz +sha256 66246b7d3e6736aea46e63fd5e087659474d07edfe2f9b051d085d9b42aaac61 LICENSE diff --git a/package/lapack/lapack.mk b/package/lapack/lapack.mk index 41774f61672..609075842d2 100644 --- a/package/lapack/lapack.mk +++ b/package/lapack/lapack.mk @@ -4,14 +4,18 @@ # ################################################################################ -LAPACK_VERSION = 3.9.0 +LAPACK_VERSION = 3.10.0 LAPACK_LICENSE = BSD-3-Clause LAPACK_LICENSE_FILES = LICENSE LAPACK_SITE = $(call github,Reference-LAPACK,lapack,v$(LAPACK_VERSION)) +LAPACK_CPE_ID_VENDOR = lapack_project LAPACK_INSTALL_STAGING = YES LAPACK_SUPPORTS_IN_SOURCE_BUILD = NO LAPACK_CONF_OPTS = -DLAPACKE=ON -DCBLAS=ON +# 0001-Fix-out-of-bounds-read-in-slarrv.patch +LAPACK_IGNORE_CVES += CVE-2021-4048 + ifeq ($(BR2_PACKAGE_LAPACK_COMPLEX),y) LAPACK_CONF_OPTS += -DBUILD_COMPLEX=ON -DBUILD_COMPLEX16=ON else diff --git a/package/lcms2/lcms2.hash b/package/lcms2/lcms2.hash index c0916820f7e..d3ae1d934fb 100644 --- a/package/lcms2/lcms2.hash +++ b/package/lcms2/lcms2.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/lcms/files/lcms/2.11 -sha1 7413047c74de29e20caa5c9afc1b12bf07bbf7a7 lcms2-2.11.tar.gz +# From https://sourceforge.net/projects/lcms/files/lcms/2.13 +sha1 1676097fb18fce83c9c876d56828c83a6ad829dd lcms2-2.13.tar.gz # Locally computed: -sha256 dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e lcms2-2.11.tar.gz -sha256 53ad5ca11b8f4079e9c9bfa61575927a33f53526d6d414287149ec3ab61e8e4d COPYING +sha256 0c67a5cc144029cfa34647a52809ec399aae488db4258a6a66fba318474a070f lcms2-2.13.tar.gz +sha256 46d4e05af3bce75332a12d01f19bcce7e32b6bac544be28a64043d0231291e31 COPYING diff --git a/package/lcms2/lcms2.mk b/package/lcms2/lcms2.mk index 44b9965a804..5a253d044b8 100644 --- a/package/lcms2/lcms2.mk +++ b/package/lcms2/lcms2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LCMS2_VERSION = 2.11 +LCMS2_VERSION = 2.13 LCMS2_SITE = http://downloads.sourceforge.net/project/lcms/lcms/$(LCMS2_VERSION) LCMS2_LICENSE = MIT LCMS2_LICENSE_FILES = COPYING diff --git a/package/leptonica/leptonica.hash b/package/leptonica/leptonica.hash index 6ef1a091224..1220fbbd6ee 100644 --- a/package/leptonica/leptonica.hash +++ b/package/leptonica/leptonica.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 ec9c46c2aefbb960fb6a6b7f800fe39de48343437b6ce08e30a8d9688ed14ba4 leptonica-1.80.0.tar.gz +sha256 155302ee914668c27b6fe3ca9ff2da63b245f6d62f3061c8f27563774b8ae2d6 leptonica-1.82.0.tar.gz sha256 87829abb5bbb00b55a107365da89e9a33f86c4250169e5a1e5588505be7d5806 leptonica-license.txt diff --git a/package/leptonica/leptonica.mk b/package/leptonica/leptonica.mk index 93d1e47c28d..8791b0c4c27 100644 --- a/package/leptonica/leptonica.mk +++ b/package/leptonica/leptonica.mk @@ -4,7 +4,7 @@ # ################################################################################ -LEPTONICA_VERSION = 1.80.0 +LEPTONICA_VERSION = 1.82.0 LEPTONICA_SITE = http://www.leptonica.org/source LEPTONICA_LICENSE = BSD-2-Clause LEPTONICA_LICENSE_FILES = leptonica-license.txt @@ -16,9 +16,9 @@ LEPTONICA_CONF_OPTS += --disable-programs ifeq ($(BR2_PACKAGE_GIFLIB),y) LEPTONICA_DEPENDENCIES += giflib -LEPTONICA_CONF_OPTS += --with-giflib +LEPTONICA_CONF_OPTS += --with-giflib else -LEPTONICA_CONF_OPTS += --without-giflib +LEPTONICA_CONF_OPTS += --without-giflib endif ifeq ($(BR2_PACKAGE_JPEG),y) diff --git a/package/less/less.hash b/package/less/less.hash index e675569cd8d..eed8340ec19 100644 --- a/package/less/less.hash +++ b/package/less/less.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature # using DSA key F153A7C833235259 -# http://www.greenwoodsoftware.com/less/less-563.sig -sha256 ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a less-563.tar.gz +# http://www.greenwoodsoftware.com/less/less-590.sig +sha256 6aadf54be8bf57d0e2999a3c5d67b1de63808bb90deb8f77b028eafae3a08e10 less-590.tar.gz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/less/less.mk b/package/less/less.mk index 89962f95298..7d7a6d5fe58 100644 --- a/package/less/less.mk +++ b/package/less/less.mk @@ -4,10 +4,11 @@ # ################################################################################ -LESS_VERSION = 563 +LESS_VERSION = 590 LESS_SITE = http://www.greenwoodsoftware.com/less LESS_LICENSE = GPL-3.0+ LESS_LICENSE_FILES = COPYING +LESS_CPE_ID_VENDOR = gnu LESS_DEPENDENCIES = ncurses define LESS_INSTALL_TARGET_CMDS diff --git a/package/leveldb/0001-Fix-compilation-with-g-4.8.2.patch b/package/leveldb/0001-Fix-compilation-with-g-4.8.2.patch index f39216067ce..67a417c17fd 100644 --- a/package/leveldb/0001-Fix-compilation-with-g-4.8.2.patch +++ b/package/leveldb/0001-Fix-compilation-with-g-4.8.2.patch @@ -1,7 +1,7 @@ From 8a8016f6d2af335ab205aa40d5274fc9b0c7a566 Mon Sep 17 00:00:00 2001 From: Steve James Date: Sun, 5 Apr 2015 16:29:51 +0200 -Subject: [PATCH 1/2] Fix compilation with g++ 4.8.2 +Subject: [PATCH] Fix compilation with g++ 4.8.2 Where db_iter.cc fails to get a typedef for ssize_t when compiled by GCC. diff --git a/package/leveldb/0002-CMake-install-libmemenv.a.patch b/package/leveldb/0002-CMake-install-libmemenv.a.patch index ab23a1881a7..ea742b0c497 100644 --- a/package/leveldb/0002-CMake-install-libmemenv.a.patch +++ b/package/leveldb/0002-CMake-install-libmemenv.a.patch @@ -8,6 +8,8 @@ https://git.busybox.net/buildroot/commit/?id=8a10d9ce311c6cb0490d76921cae55618c2 https://git.busybox.net/buildroot/commit/?id=16f847340d07dce620e4c3fc0a099aa79898d86a Signed-off-by: Bernd Kuhls +[Fabrice : updated for 1.23] +Signed-off-by: Fabrice Fontaine --- CMakeLists.txt | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) @@ -48,9 +50,9 @@ index a65afbf..83b2425 100644 target_sources(leveldb PRIVATE @@ -418,7 +436,7 @@ endif(LEVELDB_BUILD_BENCHMARKS) + endif(LEVELDB_BUILD_BENCHMARKS) if(LEVELDB_INSTALL) - include(GNUInstallDirs) - install(TARGETS leveldb + install(TARGETS leveldb memenv EXPORT leveldbTargets diff --git a/package/leveldb/0004-cmake-Use-find_package-to-find-Snappy.patch b/package/leveldb/0004-cmake-Use-find_package-to-find-Snappy.patch index 2626e886524..714e1b08274 100644 --- a/package/leveldb/0004-cmake-Use-find_package-to-find-Snappy.patch +++ b/package/leveldb/0004-cmake-Use-find_package-to-find-Snappy.patch @@ -7,6 +7,8 @@ Upstream: https://github.com/google/leveldb/pull/686/commits/3e73a396a082efc76e0 [Thomas: this commit allows to fix the detection of the snappy library in static link configurations] Signed-off-by: Thomas Petazzoni +[Fabrice : updated for 1.23] +Signed-off-by: Fabrice Fontaine --- CMakeLists.txt | 12 ++++++++---- cmake/FindSnappy.cmake | 31 +++++++++++++++++++++++++++++++ @@ -19,14 +21,14 @@ index 78fead6..2efccda 100644 +++ b/CMakeLists.txt @@ -6,6 +6,9 @@ cmake_minimum_required(VERSION 3.9) # Keep the version below in sync with the one in db.h - project(leveldb VERSION 1.22.0 LANGUAGES C CXX) + project(leveldb VERSION 1.23.0 LANGUAGES C CXX) +# Include local CMake modules. +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + - # This project can use C11, but will gracefully decay down to C89. - set(CMAKE_C_STANDARD 11) - set(CMAKE_C_STANDARD_REQUIRED OFF) + # C standard can be overridden when this is used as a sub-project. + if(NOT CMAKE_C_STANDARD) + # This project can use C11, but will gracefully decay down to C89. @@ -31,13 +34,14 @@ option(LEVELDB_INSTALL "Install LevelDB's header and library" ON) include(TestBigEndian) test_big_endian(LEVELDB_IS_BIG_ENDIAN) diff --git a/package/leveldb/leveldb.hash b/package/leveldb/leveldb.hash index c4a8499dec1..068cb09b0a7 100644 --- a/package/leveldb/leveldb.hash +++ b/package/leveldb/leveldb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 55423cac9e3306f4a9502c738a001e4a339d1a38ffbee7572d4a07d5d63949b2 leveldb-1.22.tar.gz -sha256 ccc19f1da0798ed666609b65a5b44dd8b3abe6fc08b9c0592eb76e82e174db19 LICENSE +sha256 9a37f8a6174f09bd622bc723b55881dc541cd50747cbd08831c2a82d620f6d76 leveldb-1.23.tar.gz +sha256 ccc19f1da0798ed666609b65a5b44dd8b3abe6fc08b9c0592eb76e82e174db19 LICENSE diff --git a/package/leveldb/leveldb.mk b/package/leveldb/leveldb.mk index 684b618679c..a8f9dc3a1bf 100644 --- a/package/leveldb/leveldb.mk +++ b/package/leveldb/leveldb.mk @@ -4,7 +4,7 @@ # ################################################################################ -LEVELDB_VERSION = 1.22 +LEVELDB_VERSION = 1.23 LEVELDB_SITE = $(call github,google,leveldb,$(LEVELDB_VERSION)) LEVELDB_LICENSE = BSD-3-Clause LEVELDB_LICENSE_FILES = LICENSE diff --git a/package/lft/lft.hash b/package/lft/lft.hash index 91a1fb06590..9bcce843bc8 100644 --- a/package/lft/lft.hash +++ b/package/lft/lft.hash @@ -1,5 +1,5 @@ # From http://pwhois.org/lft/ -md5 31b15aabc619707427a73657512560f8 lft-3.8.tar.gz +md5 73cb955546692cf0fb5d7931939c56de lft-3.91.tar.gz # Locally calculated -sha256 10f427e77b0f8207817329bd8ef0310078434612620073369264d15e6f97e990 lft-3.8.tar.gz -sha256 e3b7634630e6800eccca6ecafb5d40153d4f8f7a20e2b2399bf3c0ea92f44614 COPYING +sha256 aad13e671adcfc471ab99417161964882d147893a54664f3f465ec5c8398e6af lft-3.91.tar.gz +sha256 e3b7634630e6800eccca6ecafb5d40153d4f8f7a20e2b2399bf3c0ea92f44614 COPYING diff --git a/package/lft/lft.mk b/package/lft/lft.mk index 5154c83fef2..37e6e77767b 100644 --- a/package/lft/lft.mk +++ b/package/lft/lft.mk @@ -4,7 +4,7 @@ # ################################################################################ -LFT_VERSION = 3.8 +LFT_VERSION = 3.91 LFT_SITE = http://pwhois.org/get LFT_DEPENDENCIES = libpcap LFT_LICENSE = VOSTROM Public License for Open Source diff --git a/package/lftp/0001-Fix-build-with-LibreSSL-following-commit-537f37898.patch b/package/lftp/0001-Fix-build-with-LibreSSL-following-commit-537f37898.patch new file mode 100644 index 00000000000..8a40351b636 --- /dev/null +++ b/package/lftp/0001-Fix-build-with-LibreSSL-following-commit-537f37898.patch @@ -0,0 +1,46 @@ +From 0276d5c239c41b3a63f738a5dc47fd56ac389cf0 Mon Sep 17 00:00:00 2001 +From: Ganael Laplanche +Date: Thu, 20 Aug 2020 12:29:05 +0200 +Subject: [PATCH] Fix build with LibreSSL (following commit 537f37898) + +Upstream status: https://github.com/lavv17/lftp/commit/0276d5c239c41b3a63f738a5dc47fd56ac389cf0 +Signed-off-by: Artem Panfilov +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + src/lftp_ssl.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/lftp_ssl.cc b/src/lftp_ssl.cc +index 14a3b9d4..968d3fb2 100644 +--- a/src/lftp_ssl.cc ++++ b/src/lftp_ssl.cc +@@ -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" { +@@ -840,7 +840,7 @@ lftp_ssl_openssl_instance::lftp_ssl_openssl_instance() + 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 lftp_ssl_openssl *o) + + 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(); +-- +2.25.1 + diff --git a/package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch b/package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch new file mode 100644 index 00000000000..4251a5e176c --- /dev/null +++ b/package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch @@ -0,0 +1,36 @@ +From 3ffa0132987bdde986c82c924bc51b13b37f8b54 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 6 Apr 2022 22:56:21 +0200 +Subject: [PATCH] src/lftp_ssl.c: fix build with libressl >= 2.7.0 + +X509_OBJECT_get0_X509_CRL is provided by libressl since version 2.7.0 +and +https://github.com/libressl-portable/openbsd/commit/9866ae34c0af718973475296bd9ef036d3aaa94e +resulting in the following build failure: + +/nvmedata/autobuild/instance-21/output-1/host/opt/ext-toolchain/bin/../lib/gcc/microblaze-buildroot-linux-musl/11.2.0/../../../../microblaze-buildroot-linux-musl/bin/ld: /nvmedata/autobuild/instance-21/output-1/host/microblaze-buildroot-linux-musl/sysroot/usr/lib/libcrypto.a(x509_lu.c.o): in function `X509_OBJECT_get0_X509_CRL': +(.text+0xc3c): multiple definition of `X509_OBJECT_get0_X509_CRL'; /nvmedata/autobuild/instance-21/output-1/build/lftp-4.9.2/src/.libs/liblftp-network.a(liblftp_network_la-lftp_ssl.o):(.text+0x894): first defined here + +Fixes: + - http://autobuild.buildroot.org/results/7fd1dfd5bc750ae5a3278ca950c838ae90704b23 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/lavv17/lftp/commit/3ffa0132987bdde986c82c924bc51b13b37f8b54] +--- + src/lftp_ssl.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lftp_ssl.cc b/src/lftp_ssl.cc +index 26e91e4b..a814543d 100644 +--- a/src/lftp_ssl.cc ++++ b/src/lftp_ssl.cc +@@ -664,7 +664,7 @@ int gnutls_x509_crt_list_import(gnutls_x509_crt_t *certs, unsigned int* cert_max + #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() + { diff --git a/package/libabseil-cpp/0002-fix-build-with-uclibc-ng.patch b/package/libabseil-cpp/0002-fix-build-with-uclibc-ng.patch new file mode 100644 index 00000000000..0797d8e51b4 --- /dev/null +++ b/package/libabseil-cpp/0002-fix-build-with-uclibc-ng.patch @@ -0,0 +1,62 @@ +From b9ad9bbfed92199a1a58504306d026cd2597539e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 30 Mar 2022 21:56:20 +0200 +Subject: [PATCH] Fix build with uclibc-ng (#1145) + +uclibc-ng doesn't provide getauxval which results in the following build +failure on arm or ppc with any user of abseil-cpp such as grpc: + +/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libabsl_random_internal_randen_hwaes.so.2111.0.0: undefined reference to `getauxval' + +To fix this build failure, check that __UCLIBC__ is not defined before +using getauxval (as Babel is not able to check function availability) + +Fixes: + - http://autobuild.buildroot.org/results/775f3ca3dedebff29e212b29dfa896b7613b7a02 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/abseil/abseil-cpp/commit/b9ad9bbfed92199a1a58504306d026cd2597539e] +--- + absl/debugging/internal/vdso_support.cc | 2 +- + absl/random/internal/randen_detect.cc | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/absl/debugging/internal/vdso_support.cc b/absl/debugging/internal/vdso_support.cc +index c655cf452..e63ac4a3b 100644 +--- a/absl/debugging/internal/vdso_support.cc ++++ b/absl/debugging/internal/vdso_support.cc +@@ -33,7 +33,7 @@ + #endif + #include + +-#if defined(__GLIBC__) && \ ++#if !defined(__UCLIBC__) && defined(__GLIBC__) && \ + (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) + #define ABSL_HAVE_GETAUXVAL + #endif +diff --git a/absl/random/internal/randen_detect.cc b/absl/random/internal/randen_detect.cc +index 9bb58fc68..6dababa35 100644 +--- a/absl/random/internal/randen_detect.cc ++++ b/absl/random/internal/randen_detect.cc +@@ -24,6 +24,11 @@ + + #include "absl/random/internal/platform.h" + ++#if !defined(__UCLIBC__) && defined(__GLIBC__) && \ ++ (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#define ABSL_HAVE_GETAUXVAL ++#endif ++ + #if defined(ABSL_ARCH_X86_64) + #define ABSL_INTERNAL_USE_X86_CPUID + #elif defined(ABSL_ARCH_PPC) || defined(ABSL_ARCH_ARM) || \ +@@ -31,7 +36,7 @@ + #if defined(__ANDROID__) + #define ABSL_INTERNAL_USE_ANDROID_GETAUXVAL + #define ABSL_INTERNAL_USE_GETAUXVAL +-#elif defined(__linux__) ++#elif defined(__linux__) && defined(ABSL_HAVE_GETAUXVAL) + #define ABSL_INTERNAL_USE_LINUX_GETAUXVAL + #define ABSL_INTERNAL_USE_GETAUXVAL + #endif diff --git a/package/libabseil-cpp/libabseil-cpp.hash b/package/libabseil-cpp/libabseil-cpp.hash index b1760435666..2d6c5988807 100644 --- a/package/libabseil-cpp/libabseil-cpp.hash +++ b/package/libabseil-cpp/libabseil-cpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ebe2ad1480d27383e4bf4211e2ca2ef312d5e6a09eba869fd2e8a5c5d553ded2 libabseil-cpp-20200923.3.tar.gz +sha256 dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4 libabseil-cpp-20211102.0.tar.gz sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 LICENSE diff --git a/package/libabseil-cpp/libabseil-cpp.mk b/package/libabseil-cpp/libabseil-cpp.mk index d614a5e5fc7..738cd03c390 100644 --- a/package/libabseil-cpp/libabseil-cpp.mk +++ b/package/libabseil-cpp/libabseil-cpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBABSEIL_CPP_VERSION = 20200923.3 +LIBABSEIL_CPP_VERSION = 20211102.0 LIBABSEIL_CPP_SITE = $(call github,abseil,abseil-cpp,$(LIBABSEIL_CPP_VERSION)) LIBABSEIL_CPP_LICENSE = Apache-2.0 LIBABSEIL_CPP_LICENSE_FILES = LICENSE diff --git a/package/libapparmor/0001-replace-deprecated-distutils-with-setuptools.patch b/package/libapparmor/0001-replace-deprecated-distutils-with-setuptools.patch new file mode 100644 index 00000000000..5aed31d0b53 --- /dev/null +++ b/package/libapparmor/0001-replace-deprecated-distutils-with-setuptools.patch @@ -0,0 +1,244 @@ +From 21e5a721ab2abe26bb12b9da7accc39d4fff9804 Mon Sep 17 00:00:00 2001 +From: Georgia Garcia +Date: Wed, 10 Nov 2021 19:50:35 +0000 +Subject: [PATCH] replace deprecated distutils with setuptools + +Adds python3 setuptools as a build dependency for libapparmor + +Fixes: https://gitlab.com/apparmor/apparmor/-/issues/202 +MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/813 +Signed-off-by: Georgia Garcia +Acked-by: Christian Boltz + +[Retrieved (and updated to remove changes on .gitlab-ci.yml and +README.md) from: +https://gitlab.com/apparmor/apparmor/-/commit/21e5a721ab2abe26bb12b9da7accc39d4fff9804] +Signed-off-by: Fabrice Fontaine +--- + .gitignore | 3 ++ + .gitlab-ci.yml | 2 +- + libraries/libapparmor/m4/ac_python_devel.m4 | 36 +++++++++---------- + libraries/libapparmor/swig/python/Makefile.am | 2 +- + libraries/libapparmor/swig/python/setup.py.in | 2 +- + .../libapparmor/swig/python/test/Makefile.am | 2 +- + profiles/Makefile | 2 +- + utils/Makefile | 1 + + utils/python-tools-setup.py | 6 ++-- + utils/test/Makefile | 2 +- + utils/test/README.md | 2 +- + 11 files changed, 32 insertions(+), 28 deletions(-) + +diff --git a/.gitignore b/.gitignore +index 78a06fdf9..4782a351a 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -160,6 +160,7 @@ libraries/libapparmor/swig/perl/libapparmor_wrap.c + libraries/libapparmor/swig/perl/libapparmor_wrap.o + libraries/libapparmor/swig/perl/pm_to_blib + libraries/libapparmor/swig/python/LibAppArmor.py ++libraries/libapparmor/swig/python/LibAppArmor.egg-info/ + libraries/libapparmor/swig/python/build/ + libraries/libapparmor/swig/python/libapparmor_wrap.c + libraries/libapparmor/swig/python/Makefile +@@ -204,6 +205,8 @@ utils/*.tmp + utils/po/*.mo + utils/apparmor/*.pyc + utils/apparmor/rule/*.pyc ++utils/apparmor.egg-info/ ++utils/build/ + utils/htmlcov/ + utils/test/common_test.pyc + utils/test/.coverage +diff --git a/libraries/libapparmor/m4/ac_python_devel.m4 b/libraries/libapparmor/m4/ac_python_devel.m4 +index 1da29d873..f21f70ce7 100644 +--- a/libraries/libapparmor/m4/ac_python_devel.m4 ++++ b/libraries/libapparmor/m4/ac_python_devel.m4 +@@ -66,17 +66,17 @@ variable to configure. See ``configure --help'' for reference. + fi + + # +- # Check if you have distutils, else fail ++ # Check if you have setuptools, else fail + # +- AC_MSG_CHECKING([for the distutils Python package]) +- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ AC_MSG_CHECKING([for the setuptools Python package]) ++ ac_setuptools_result=`$PYTHON -c "import setuptools" 2>&1` ++ if test -z "$ac_setuptools_result"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +- AC_MSG_ERROR([cannot import Python module "distutils". ++ AC_MSG_ERROR([cannot import Python module "setuptools". + Please check your Python installation. The error was: +-$ac_distutils_result]) ++$ac_setuptools_result]) + PYTHON_VERSION="" + fi + +@@ -88,8 +88,8 @@ $ac_distutils_result]) + PYTHON_CPPFLAGS=`$PYTHON_CONFIG --includes` + fi + if test -z "$PYTHON_CPPFLAGS"; then +- python_path=`$PYTHON -c "import sys; import distutils.sysconfig;\ +-sys.stdout.write('%s\n' % distutils.sysconfig.get_python_inc());"` ++ python_path=`$PYTHON -c "import sys; import sysconfig;\ ++sys.stdout.write('%s\n' % sysconfig.get_path('include'));"` + if test -n "${python_path}"; then + python_path="-I$python_path" + fi +@@ -108,8 +108,8 @@ sys.stdout.write('%s\n' % distutils.sysconfig.get_python_inc());"` + if test -z "$PYTHON_LDFLAGS"; then + # (makes two attempts to ensure we've got a version number + # from the interpreter) +- py_version=`$PYTHON -c "import sys; from distutils.sysconfig import *; \ +-sys.stdout.write('%s\n' % ''.join(get_config_vars('VERSION')))"` ++ py_version=`$PYTHON -c "import sys; import sysconfig; \ ++sys.stdout.write('%s\n' % ''.join(sysconfig.get_config_vars('VERSION')))"` + if test "$py_version" == "[None]"; then + if test -n "$PYTHON_VERSION"; then + py_version=$PYTHON_VERSION +@@ -119,8 +119,8 @@ sys.stdout.write("%s\n" % sys.version[[:3]])"` + fi + fi + +- PYTHON_LDFLAGS=`$PYTHON -c "import sys; from distutils.sysconfig import *; \ +-sys.stdout.write('-L' + get_python_lib(0,1) + ' -lpython\n')"`$py_version`$PYTHON -c \ ++ PYTHON_LDFLAGS=`$PYTHON -c "import sys; import sysconfig; \ ++sys.stdout.write('-L' + sysconfig.get_path('stdlib') + ' -lpython\n')"`$py_version`$PYTHON -c \ + "import sys; sys.stdout.write('%s' % getattr(sys,'abiflags',''))"` + fi + AC_MSG_RESULT([$PYTHON_LDFLAGS]) +@@ -131,8 +131,8 @@ sys.stdout.write('-L' + get_python_lib(0,1) + ' -lpython\n')"`$py_version`$PYTHO + # + AC_MSG_CHECKING([for Python site-packages path]) + if test -z "$PYTHON_SITE_PKG"; then +- PYTHON_SITE_PKG=`$PYTHON -c "import sys; import distutils.sysconfig; \ +-sys.stdout.write('%s\n' % distutils.sysconfig.get_python_lib(0,0));"` ++ PYTHON_SITE_PKG=`$PYTHON -c "import sys; import sysconfig; \ ++sys.stdout.write('%s\n' % sysconfig.get_path('purelib'));"` + fi + AC_MSG_RESULT([$PYTHON_SITE_PKG]) + AC_SUBST([PYTHON_SITE_PKG]) +@@ -146,8 +146,8 @@ sys.stdout.write('%s\n' % distutils.sysconfig.get_python_lib(0,0));"` + PYTHON_EXTRA_LIBS='' + fi + if test -z "$PYTHON_EXTRA_LIBS"; then +- PYTHON_EXTRA_LIBS=`$PYTHON -c "import sys; import distutils.sysconfig; \ +-conf = distutils.sysconfig.get_config_var; \ ++ PYTHON_EXTRA_LIBS=`$PYTHON -c "import sys; import sysconfig; \ ++conf = sysconfig.get_config_var; \ + sys.stdout.write('%s %s %s\n' % (conf('BLDLIBRARY'), conf('LOCALMODLIBS'), conf('LIBS')))"` + fi + AC_MSG_RESULT([$PYTHON_EXTRA_LIBS]) +@@ -162,8 +162,8 @@ sys.stdout.write('%s %s %s\n' % (conf('BLDLIBRARY'), conf('LOCALMODLIBS'), conf( + PYTHON_EXTRA_LDFLAGS='' + fi + if test -z "$PYTHON_EXTRA_LDFLAGS"; then +- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sys; import distutils.sysconfig; \ +-conf = distutils.sysconfig.get_config_var; \ ++ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sys; import sysconfig; \ ++conf = sysconfig.get_config_var; \ + sys.stdout.write('%s\n' % conf('LINKFORSHARED'))"` + fi + AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS]) +diff --git a/libraries/libapparmor/swig/python/Makefile.am b/libraries/libapparmor/swig/python/Makefile.am +index 04edff003..bf05fe0fc 100644 +--- a/libraries/libapparmor/swig/python/Makefile.am ++++ b/libraries/libapparmor/swig/python/Makefile.am +@@ -21,7 +21,7 @@ install-exec-local: + + clean-local: + if test -x "$(PYTHON)"; then $(PYTHON) setup.py clean; fi +- rm -rf build ++ rm -rf build LibAppArmor.egg-info + if test $(top_srcdir) != $(top_builddir) ; then rm -f libapparmor_wrap.c ; fi + + endif +diff --git a/libraries/libapparmor/swig/python/setup.py.in b/libraries/libapparmor/swig/python/setup.py.in +index 32abd46b2..b23e40746 100644 +--- a/libraries/libapparmor/swig/python/setup.py.in ++++ b/libraries/libapparmor/swig/python/setup.py.in +@@ -1,4 +1,4 @@ +-from distutils.core import setup, Extension ++from setuptools import setup, Extension + import string + + setup(name = 'LibAppArmor', +diff --git a/libraries/libapparmor/swig/python/test/Makefile.am b/libraries/libapparmor/swig/python/test/Makefile.am +index 7287819c9..9dccfdef6 100644 +--- a/libraries/libapparmor/swig/python/test/Makefile.am ++++ b/libraries/libapparmor/swig/python/test/Makefile.am +@@ -11,7 +11,7 @@ test_python.py: test_python.py.in $(top_builddir)/config.status + CLEANFILES = test_python.py + + # bah, how brittle is this? +-PYTHON_DIST_BUILD_PATH = '$(builddir)/../build/$$($(PYTHON) -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))")' ++PYTHON_DIST_BUILD_PATH = '$(builddir)/../build/$$($(PYTHON) -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))")' + + TESTS = test_python.py + TESTS_ENVIRONMENT = \ +diff --git a/profiles/Makefile b/profiles/Makefile +index c471e58e8..0b7f2655d 100644 +--- a/profiles/Makefile ++++ b/profiles/Makefile +@@ -41,7 +41,7 @@ ifdef USE_SYSTEM + LOGPROF?=aa-logprof + else + # PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am +- PYTHON_DIST_BUILD_PATH = ../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))") ++ PYTHON_DIST_BUILD_PATH = ../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))") + LIBAPPARMOR_PATH=../libraries/libapparmor/src/.libs/ + LD_LIBRARY_PATH=$(LIBAPPARMOR_PATH):$(PYTHON_DIST_BUILD_PATH) + PYTHONPATH=../utils/:$(PYTHON_DIST_BUILD_PATH) +diff --git a/utils/Makefile b/utils/Makefile +index 1f08f259a..91a15107b 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -72,6 +72,7 @@ clean: pod_clean + rm -rf staging/ build/ + rm -f apparmor/*.pyc apparmor/rule/*.pyc + rm -rf apparmor/__pycache__/ apparmor/rule/__pycache__/ ++ rm -rf apparmor.egg-info/ + + # ${CAPABILITIES} is defined in common/Make.rules + .PHONY: check_severity_db +diff --git a/utils/python-tools-setup.py b/utils/python-tools-setup.py +index 30ce0cb05..2cbde8fc1 100644 +--- a/utils/python-tools-setup.py ++++ b/utils/python-tools-setup.py +@@ -20,14 +20,14 @@ + # Note: --version=... must be the last argument to this script + # + +-from distutils.command.install import install as _install +-from distutils.core import setup ++from setuptools.command.install import install as _install ++from setuptools import setup + import os + import shutil + import sys + + class Install(_install, object): +- '''Override distutils to install the files where we want them.''' ++ '''Override setuptools to install the files where we want them.''' + def run(self): + # Now byte-compile everything + super(Install, self).run() +diff --git a/utils/test/Makefile b/utils/test/Makefile +index 90354aa50..9126bdd71 100644 +--- a/utils/test/Makefile ++++ b/utils/test/Makefile +@@ -32,7 +32,7 @@ ifdef USE_SYSTEM + PARSER= + else + # PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am +- PYTHON_DIST_BUILD_PATH = ../../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))") ++ PYTHON_DIST_BUILD_PATH = ../../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))") + LIBAPPARMOR_PATH=../../libraries/libapparmor/src/.libs/ + LD_LIBRARY_PATH=$(LIBAPPARMOR_PATH):$(PYTHON_DIST_BUILD_PATH) + PYTHONPATH=..:$(PYTHON_DIST_BUILD_PATH) +-- +GitLab + diff --git a/package/libapparmor/libapparmor.hash b/package/libapparmor/libapparmor.hash index 37e1ff52286..6a19aef77a3 100644 --- a/package/libapparmor/libapparmor.hash +++ b/package/libapparmor/libapparmor.hash @@ -1,5 +1,5 @@ # From: https://gitlab.com/apparmor/apparmor/-/wikis/home#userspace -sha256 8fada772d9a60989525594346d9aa22af938daafc1781adce9a1acb3c75bdf24 apparmor-3.0.1.tar.gz +sha256 153db05d8f491e0596022663c19fb1166806cb473b3c6f0a7279feda2ec25a59 apparmor-3.0.3.tar.gz # locally computed sha256 a7e0cdcbea5c14927cedfc600d46526bdcbb1eb0a4d951e2ea53c2a6de159cb4 LICENSE diff --git a/package/libapparmor/libapparmor.mk b/package/libapparmor/libapparmor.mk index 255432e4558..7bb849ab944 100644 --- a/package/libapparmor/libapparmor.mk +++ b/package/libapparmor/libapparmor.mk @@ -6,7 +6,7 @@ # When updating the version here, please also update the apparmor package LIBAPPARMOR_VERSION_MAJOR = 3.0 -LIBAPPARMOR_VERSION = $(LIBAPPARMOR_VERSION_MAJOR).1 +LIBAPPARMOR_VERSION = $(LIBAPPARMOR_VERSION_MAJOR).3 LIBAPPARMOR_SOURCE = apparmor-$(LIBAPPARMOR_VERSION).tar.gz LIBAPPARMOR_SITE = https://launchpad.net/apparmor/$(LIBAPPARMOR_VERSION_MAJOR)/$(LIBAPPARMOR_VERSION)/+download LIBAPPARMOR_LICENSE = LGPL-2.1 @@ -16,7 +16,7 @@ LIBAPPARMOR_DEPENDENCIES = host-bison host-flex host-pkgconf LIBAPPARMOR_SUBDIR = libraries/libapparmor LIBAPPARMOR_INSTALL_STAGING = YES -# Patches 0001 and 0002 touch Makefile.am and an m4 file +# Patch 0001 touches Makefile.am and m4 files LIBAPPARMOR_AUTORECONF = YES # Most AppArmor tools will want to link to the static lib. @@ -28,7 +28,7 @@ LIBAPPARMOR_CONF_OPTS = \ --disable-man-pages ifeq ($(BR2_PACKAGE_PYTHON3),y) -LIBAPPARMOR_DEPENDENCIES += host-python3 host-swig python3 +LIBAPPARMOR_DEPENDENCIES += host-python3 host-python-setuptools host-swig python3 LIBAPPARMOR_CONF_OPTS += \ --with-python \ PYTHON=$(HOST_DIR)/usr/bin/python3 \ diff --git a/package/libarchive/libarchive.hash b/package/libarchive/libarchive.hash index bf0d6e4fddd..ca580b49776 100644 --- a/package/libarchive/libarchive.hash +++ b/package/libarchive/libarchive.hash @@ -1,4 +1,4 @@ # From https://www.libarchive.de/downloads/sha256sums -sha256 9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a libarchive-3.5.1.tar.gz +sha256 5a411aceb978f43e626f0c2d1812ddd8807b645ed892453acabd532376c148e6 libarchive-3.6.1.tar.xz # Locally computed: sha256 b2cdf763345de2de34cebf54394df3c61a105c3b71288603c251f2fa638200ba COPYING diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk index 9cc69fd45a9..865f605e2ff 100644 --- a/package/libarchive/libarchive.mk +++ b/package/libarchive/libarchive.mk @@ -4,7 +4,8 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.5.1 +LIBARCHIVE_VERSION = 3.6.1 +LIBARCHIVE_SOURCE = libarchive-$(LIBARCHIVE_VERSION).tar.xz LIBARCHIVE_SITE = https://www.libarchive.de/downloads LIBARCHIVE_INSTALL_STAGING = YES LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause, CC0-1.0, OpenSSL, Apache-2.0 diff --git a/package/libargtable2/libargtable2.mk b/package/libargtable2/libargtable2.mk index 8215f552cdf..d033e28f407 100644 --- a/package/libargtable2/libargtable2.mk +++ b/package/libargtable2/libargtable2.mk @@ -4,9 +4,11 @@ # ################################################################################ -LIBARGTABLE2_VERSION = 13 -LIBARGTABLE2_SOURCE = argtable2-$(LIBARGTABLE2_VERSION).tar.gz -LIBARGTABLE2_SITE = http://downloads.sourceforge.net/project/argtable/argtable/argtable-2.13 +LIBARGTABLE2_MAJOR_VERSION = 2 +LIBARGTABLE2_MINOR_VERSION = 13 +LIBARGTABLE2_VERSION = $(LIBARGTABLE2_MAJOR_VERSION).$(LIBARGTABLE2_MINOR_VERSION) +LIBARGTABLE2_SOURCE = argtable2-$(LIBARGTABLE2_MINOR_VERSION).tar.gz +LIBARGTABLE2_SITE = http://downloads.sourceforge.net/project/argtable/argtable/argtable-$(LIBARGTABLE2_VERSION) LIBARGTABLE2_INSTALL_STAGING = YES LIBARGTABLE2_CONF_OPTS = \ --disable-example \ diff --git a/package/libasplib/0001-asplib_CPUTimer.h-Fix-time.h-include.patch b/package/libasplib/0001-asplib_CPUTimer.h-Fix-time.h-include.patch index c91ddbfab36..e0d0beccff0 100644 --- a/package/libasplib/0001-asplib_CPUTimer.h-Fix-time.h-include.patch +++ b/package/libasplib/0001-asplib_CPUTimer.h-Fix-time.h-include.patch @@ -1,7 +1,7 @@ From 7291289ba0c052e45e2a0330642318798d6a4caf Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 27 Jan 2017 16:02:27 +0100 -Subject: [PATCH 1/1] asplib_CPUTimer.h: Fix time.h include +Subject: [PATCH] asplib_CPUTimer.h: Fix time.h include According to https://linux.die.net/man/3/clock_gettime time.h needs to be included instead of sys/time.h. diff --git a/package/libass/Config.in b/package/libass/Config.in index 803f6b44381..d7725d5e1b6 100644 --- a/package/libass/Config.in +++ b/package/libass/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBASS bool "libass" depends on BR2_INSTALL_LIBSTDCPP # harfbuzz depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_LIBFRIBIDI @@ -12,7 +12,7 @@ config BR2_PACKAGE_LIBASS https://github.com/libass/libass -comment "libass needs a toolchain w/ C++, gcc >= 4.8" +comment "libass needs a toolchain w/ C++, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/libass/libass.hash b/package/libass/libass.hash index cd3c3af61cf..33ed0c4fc7f 100644 --- a/package/libass/libass.hash +++ b/package/libass/libass.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9f09230c9a0aa68ef7aa6a9e2ab709ca957020f842e52c5b2e52b801a7d9e833 libass-0.15.0.tar.xz +sha256 1be2df9c4485a57d78bb18c0a8ed157bc87a5a8dd48c661961c625cb112832fd libass-0.15.2.tar.xz sha256 f7e30699d02798351e7f839e3d3bfeb29ce65e44efa7735c225464c4fd7dfe9c COPYING diff --git a/package/libass/libass.mk b/package/libass/libass.mk index 48e70a52c5d..93bfbe4e2e1 100644 --- a/package/libass/libass.mk +++ b/package/libass/libass.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASS_VERSION = 0.15.0 +LIBASS_VERSION = 0.15.2 LIBASS_SOURCE = libass-$(LIBASS_VERSION).tar.xz # Do not use the github helper here, the generated tarball is *NOT* # the same as the one uploaded by upstream for the release. diff --git a/package/libassuan/libassuan.hash b/package/libassuan/libassuan.hash index 3506b4f8588..c817a3af634 100644 --- a/package/libassuan/libassuan.hash +++ b/package/libassuan/libassuan.hash @@ -1,8 +1,8 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 55a35918e95566ef94e8843879a7dd3f87de3781 libassuan-2.5.4.tar.bz2 +sha1 ec4f67c0117ccd17007c748a392ded96dc1b1ae9 libassuan-2.5.5.tar.bz2 # Locally calculated after checking signature -# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.4.tar.bz2.sig +# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 c080ee96b3bd519edd696cfcebdecf19a3952189178db9887be713ccbcb5fbf0 libassuan-2.5.4.tar.bz2 +sha256 8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4 libassuan-2.5.5.tar.bz2 sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/libassuan/libassuan.mk b/package/libassuan/libassuan.mk index 8b618197f93..f98c13b59f2 100644 --- a/package/libassuan/libassuan.mk +++ b/package/libassuan/libassuan.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASSUAN_VERSION = 2.5.4 +LIBASSUAN_VERSION = 2.5.5 LIBASSUAN_SITE = ftp://ftp.gnupg.org/gcrypt/libassuan LIBASSUAN_SOURCE = libassuan-$(LIBASSUAN_VERSION).tar.bz2 LIBASSUAN_LICENSE = LGPL-2.1+ (library), GPL-3.0 (tests, doc) diff --git a/package/libatomic_ops/Config.in b/package/libatomic_ops/Config.in index e9206f33953..8287c6522de 100644 --- a/package/libatomic_ops/Config.in +++ b/package/libatomic_ops/Config.in @@ -1,6 +1,11 @@ config BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS bool - default y if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_sparc || BR2_sparc64 || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 || BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_aarch64 || BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_riscv + default y if BR2_sparc || BR2_sparc64 # Unsupported for MIPS R6 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 diff --git a/package/libatomic_ops/libatomic_ops.hash b/package/libatomic_ops/libatomic_ops.hash index 3fca4a8c5e3..991c3fbe80e 100644 --- a/package/libatomic_ops/libatomic_ops.hash +++ b/package/libatomic_ops/libatomic_ops.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 e6b0909cf4e63cec693fe6c48191ce864c32c5113e16c3f517aa2a244b46992f libatomic_ops-7.6.10.tar.gz -sha256 f0e630c0ca489767033da5a0c869fb4231db522c5ff479ce55a853a923a00f69 doc/LICENSING.txt -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 18091d5f3cb7008b0432016390ff437b9d1d76c10b92c8e63ff63f0c1331b030 libatomic_ops-7.6.12.tar.gz +sha256 f0e630c0ca489767033da5a0c869fb4231db522c5ff479ce55a853a923a00f69 doc/LICENSING.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libatomic_ops/libatomic_ops.mk b/package/libatomic_ops/libatomic_ops.mk index cc890a7f28b..fb1e86f6bca 100644 --- a/package/libatomic_ops/libatomic_ops.mk +++ b/package/libatomic_ops/libatomic_ops.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBATOMIC_OPS_VERSION = 7.6.10 +LIBATOMIC_OPS_VERSION = 7.6.12 LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,v$(LIBATOMIC_OPS_VERSION)) LIBATOMIC_OPS_AUTORECONF = YES @@ -16,6 +16,7 @@ LIBATOMIC_OPS_AUTORECONF = YES # library, libatomic_ops_gpl.a." LIBATOMIC_OPS_LICENSE = MIT (main library) / GPL-2.0+ (gpl extension) LIBATOMIC_OPS_LICENSE_FILES = doc/LICENSING.txt COPYING +LIBATOMIC_OPS_CPE_ID_VENDOR = libatomic_ops_project LIBATOMIC_OPS_INSTALL_STAGING = YES diff --git a/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch index 018e4c44899..d5c9b2dfdb1 100644 --- a/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch +++ b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch @@ -8,6 +8,8 @@ so let's provide a simple replacement function that falls back on strerror(). Signed-off-by: Thomas Petazzoni +[Upstream status: +https://github.com/storaged-project/libblockdev/pull/701] --- configure.ac | 2 ++ src/plugins/crypto.c | 7 +++++++ diff --git a/package/libblockdev/libblockdev.hash b/package/libblockdev/libblockdev.hash index 101b99f1a8a..53a3b0737f0 100644 --- a/package/libblockdev/libblockdev.hash +++ b/package/libblockdev/libblockdev.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 555aa42a2db39649ad83253bdc902ab5bd63d39c123e0c8055c4de7fe7571668 libblockdev-2.25.tar.gz +sha256 c4c0e10b35ac632bda8ce6d200b5601184984dec387fe59185921eb42432e069 libblockdev-2.26.tar.gz sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE diff --git a/package/libblockdev/libblockdev.mk b/package/libblockdev/libblockdev.mk index 39ae9230d91..36b74966fb7 100644 --- a/package/libblockdev/libblockdev.mk +++ b/package/libblockdev/libblockdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBLOCKDEV_VERSION = 2.25 +LIBBLOCKDEV_VERSION = 2.26 LIBBLOCKDEV_SITE = https://github.com/storaged-project/libblockdev/releases/download/$(LIBBLOCKDEV_VERSION)-1 LIBBLOCKDEV_LICENSE = LGPL-2.1 LIBBLOCKDEV_LICENSE_FILES = LICENSE diff --git a/package/libbluray/libbluray.hash b/package/libbluray/libbluray.hash index 430d477484c..6e62bb49a13 100644 --- a/package/libbluray/libbluray.hash +++ b/package/libbluray/libbluray.hash @@ -1,4 +1,4 @@ -# From http://download.videolan.org/pub/videolan/libbluray/1.2.1/libbluray-1.2.1.tar.bz2.sha512 -sha512 e9eeee433034266e88c05ae3469c0bd2bf700d7f16e17ad706f48426c143c823e83c16ab79a637f1e85e4eb858aa0577630671f87ba35d179db2a1d8bc8545c4 libbluray-1.2.1.tar.bz2 +# From http://download.videolan.org/pub/videolan/libbluray/1.3.1/libbluray-1.3.1.tar.bz2.sha512 +sha512 f39fc8a11771e8fdd5eeebf0ab23535ffab44721f64b350e5d153eee44555b31c618b6d765da114254dc83ff0ff89e84c6b185f61cdbcfedd2d47a5f6e26b75a libbluray-1.3.1.tar.bz2 # Locally computed sha256 b3aa400aca6d2ba1f0bd03bd98d03d1fe7489a3bbb26969d72016360af8a5c9d COPYING diff --git a/package/libbluray/libbluray.mk b/package/libbluray/libbluray.mk index 36f59190b17..a9eb3c67c61 100644 --- a/package/libbluray/libbluray.mk +++ b/package/libbluray/libbluray.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBLURAY_VERSION = 1.2.1 +LIBBLURAY_VERSION = 1.3.1 LIBBLURAY_SITE = http://download.videolan.org/pub/videolan/libbluray/$(LIBBLURAY_VERSION) LIBBLURAY_SOURCE = libbluray-$(LIBBLURAY_VERSION).tar.bz2 LIBBLURAY_INSTALL_STAGING = YES @@ -19,6 +19,10 @@ ifeq ($(BR2_PACKAGE_LIBICONV),y) LIBBLURAY_DEPENDENCIES += libiconv endif +ifeq ($(BR2_PACKAGE_LIBUDFREAD),y) +LIBBLURAY_DEPENDENCIES += libudfread +endif + ifeq ($(BR2_PACKAGE_FREETYPE),y) LIBBLURAY_DEPENDENCIES += freetype LIBBLURAY_CONF_OPTS += --with-freetype diff --git a/package/libbpf/Config.in b/package/libbpf/Config.in new file mode 100644 index 00000000000..3aa6679b3ac --- /dev/null +++ b/package/libbpf/Config.in @@ -0,0 +1,33 @@ +config BR2_PACKAGE_LIBBPF_ARCH_SUPPORTS + bool + # see src/bpf.c + default y if BR2_arc + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_i386 || BR2_x86_64 + default y if BR2_sparc || BR2_sparc64 + default y if BR2_s390x + +config BR2_PACKAGE_LIBBPF + bool "libbpf" + depends on BR2_PACKAGE_LIBBPF_ARCH_SUPPORTS + depends on BR2_USE_WCHAR # elfutils + depends on !BR2_STATIC_LIBS # elfutils + depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils + select BR2_PACKAGE_ELFUTILS + select BR2_PACKAGE_ZLIB + help + libbpf library. + A mirror of bpf-next linux tree bpf-next/tools/lib/bpf + directory plus its supporting header files. The version + of the package reflects the version of ABI. + + https://github.com/libbpf/libbpf + +comment "libbpf needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, headers >= 4.13" + depends on BR2_PACKAGE_LIBBPF_ARCH_SUPPORTS + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 \ + || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) diff --git a/package/libbpf/libbpf.hash b/package/libbpf/libbpf.hash new file mode 100644 index 00000000000..27e22be9e91 --- /dev/null +++ b/package/libbpf/libbpf.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 ce3a8eb32d85ac48490256597736d8b27e0a5e947a0731613b7aba6b4ae43ac0 libbpf-0.6.1.tar.gz +sha256 847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349 LICENSE +sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd LICENSE.BSD-2-Clause +sha256 0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8ca LICENSE.LGPL-2.1 diff --git a/package/libbpf/libbpf.mk b/package/libbpf/libbpf.mk new file mode 100644 index 00000000000..06f3f3475a7 --- /dev/null +++ b/package/libbpf/libbpf.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# libbpf +# +################################################################################ + +LIBBPF_VERSION = 0.6.1 +LIBBPF_SITE = $(call github,libbpf,libbpf,v$(LIBBPF_VERSION)) +LIBBPF_LICENSE = GPL-2.0, LGPL-2.1, BSD-2-Clause +LIBBPF_LICENSE_FILES = LICENSE LICENSE.BSD-2-Clause LICENSE.LGPL-2.1 +LIBBPF_CPE_ID_VENDOR = libbpf_project +LIBBPF_DEPENDENCIES = host-bison host-flex host-pkgconf elfutils zlib +LIBBPF_INSTALL_STAGING = YES + +define LIBBPF_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/src +endef + +# bpf/bpf.h installed by libbpf uses bpf_iter_link_info that was added since +# kernel 5.9, so we need to update some uapi headers in STAGING_DIR if the +# toolchain is build with linux-headers < 5.9. +# Otherwise bpf/bpf.h is broken due to out of date linux/bpf.h installed by the +# toolchain. +# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a5cbe05a6673b85bed2a63ffcfea6a96c6410cff +ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9),) +LIBBPF_UPDATE_UAPI_HEADERS = install_uapi_headers +endif + +define LIBBPF_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/src install $(LIBBPF_UPDATE_UAPI_HEADERS) \ + DESTDIR=$(STAGING_DIR) +endef + +define LIBBPF_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/src install DESTDIR=$(TARGET_DIR) +endef + +$(eval $(generic-package)) diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in index 845a22162b4..093a2e646cc 100644 --- a/package/libbsd/Config.in +++ b/package/libbsd/Config.in @@ -13,6 +13,7 @@ config BR2_PACKAGE_LIBBSD depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR + select BR2_PACKAGE_LIBMD help This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making diff --git a/package/libbsd/libbsd.hash b/package/libbsd/libbsd.hash index 95887bd6073..17bb32e01cc 100644 --- a/package/libbsd/libbsd.hash +++ b/package/libbsd/libbsd.hash @@ -1,3 +1,3 @@ -# From https://lists.freedesktop.org/archives/libbsd/2019-August/000229.html -sha256 34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887 libbsd-0.10.0.tar.xz -sha256 933d14a6bc89ee1fd7adbf5b6ec97f6ff0e002549d0b0c164f8a8895371d78f8 COPYING +# From https://lists.freedesktop.org/archives/libbsd/2021-February/000305.html +sha512 a7015ea1ffa3766b1a4690526a25231898ad8275149b31fb6801082450172249997c36165626d101ffce53b59767a46676eebc0806426922fe4e773a0376c1f5 libbsd-0.11.3.tar.xz +sha256 ff2fdeeb0fe8bcb9045fe91d69e8312a5b477c54db48dffe34dd1c0d730c5864 COPYING diff --git a/package/libbsd/libbsd.mk b/package/libbsd/libbsd.mk index 256a75f15ee..86df8a97a2d 100644 --- a/package/libbsd/libbsd.mk +++ b/package/libbsd/libbsd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBSD_VERSION = 0.10.0 +LIBBSD_VERSION = 0.11.3 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz LIBBSD_SITE = https://libbsd.freedesktop.org/releases LIBBSD_LICENSE = BSD-2-Clause, BSD-3-Clause, BSD-4-Clause, BSD-5-Clause, \ @@ -12,5 +12,6 @@ LIBBSD_LICENSE = BSD-2-Clause, BSD-3-Clause, BSD-4-Clause, BSD-5-Clause, \ LIBBSD_LICENSE_FILES = COPYING LIBBSD_CPE_ID_VENDOR = freedesktop LIBBSD_INSTALL_STAGING = YES +LIBBSD_DEPENDENCIES = libmd $(eval $(autotools-package)) diff --git a/package/libbson/libbson.mk b/package/libbson/libbson.mk index 931df333cae..1ac7202830a 100644 --- a/package/libbson/libbson.mk +++ b/package/libbson/libbson.mk @@ -8,6 +8,7 @@ LIBBSON_VERSION = 1.9.5 LIBBSON_SITE = https://github.com/mongodb/libbson/releases/download/$(LIBBSON_VERSION) LIBBSON_LICENSE = Apache-2.0, MIT (jsonl), ISC (b64), Zlib (md5) LIBBSON_LICENSE_FILES = COPYING THIRD_PARTY_NOTICES +LIBBSON_CPE_ID_VENDOR = mongodb LIBBSON_CONF_OPTS = \ --disable-tests \ --disable-examples \ diff --git a/package/libbytesize/libbytesize.hash b/package/libbytesize/libbytesize.hash index 51fa43aef18..2dfa97dd6a6 100644 --- a/package/libbytesize/libbytesize.hash +++ b/package/libbytesize/libbytesize.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6305addae2b7be313dbfc36b96094ec0544d5144859ab4a5685ca6d314d6fdda libbytesize-2.5.tar.gz +sha256 efaa2b35b2bb3b52bf7b4ff5d0ed2c5c61360a5196053808d615dd0aa2cf0741 libbytesize-2.6.tar.gz sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE diff --git a/package/libbytesize/libbytesize.mk b/package/libbytesize/libbytesize.mk index 0ba380dc747..2ef08211c57 100644 --- a/package/libbytesize/libbytesize.mk +++ b/package/libbytesize/libbytesize.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBYTESIZE_VERSION = 2.5 +LIBBYTESIZE_VERSION = 2.6 LIBBYTESIZE_SITE = https://github.com/storaged-project/libbytesize/releases/download/$(LIBBYTESIZE_VERSION) LIBBYTESIZE_LICENSE = LGPL-2.1+ LIBBYTESIZE_LICENSE_FILES = LICENSE diff --git a/package/libcamera-apps/0001-cmake-remove-Werror-and-Wfatal-errors-compiler-comma.patch b/package/libcamera-apps/0001-cmake-remove-Werror-and-Wfatal-errors-compiler-comma.patch new file mode 100644 index 00000000000..988d89cca3b --- /dev/null +++ b/package/libcamera-apps/0001-cmake-remove-Werror-and-Wfatal-errors-compiler-comma.patch @@ -0,0 +1,37 @@ +From 6bd733b52f0b4039407c676cd3126a9e2f79456b Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 5 Feb 2021 18:24:08 +0100 +Subject: [PATCH] cmake: remove -Werror and -Wfatal-errors compiler command + line option +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes (with bootlin-riscv64-musl toolchain): + + .../build/libcamera-apps-2d1009e3badcc8047361ff81149ad6cba3b911b5/core/libcamera_app.cpp:30:22: error: overflow in conversion from ‘long unsigned int’ to ‘int’ changes value from ‘2154321408’ to ‘-2140645888’ [-Werror=overflow] + 30 | int ret = ioctl(fd, VIDIOC_QUERYCAP, &caps); + | ^~~~~~~~~~~~~~~ + cc1plus: all warnings being treated as errors + +Signed-off-by: Peter Seiderer +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 748c6dd..1ca1e39 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,7 +11,7 @@ endif() + + set (CMAKE_EXPORT_COMPILE_COMMANDS ON) + set (CMAKE_CXX_STANDARD 17) +-add_compile_options(-Wall -Wextra -pedantic -Wno-unused-parameter -faligned-new -Werror -Wfatal-errors) ++add_compile_options(-Wall -Wextra -pedantic -Wno-unused-parameter -faligned-new) + add_definitions(-D_FILE_OFFSET_BITS=64) + + if (CMAKE_COMPILER_IS_GNUCXX) +-- +2.34.1 + diff --git a/package/libcamera-apps/0002-preview-fix-egl_preview-compile-conversion-from-Wind.patch b/package/libcamera-apps/0002-preview-fix-egl_preview-compile-conversion-from-Wind.patch new file mode 100644 index 00000000000..cc9069aa863 --- /dev/null +++ b/package/libcamera-apps/0002-preview-fix-egl_preview-compile-conversion-from-Wind.patch @@ -0,0 +1,39 @@ +From 60715769cd5368a63b2bdc2e6d6bb6df0030a54d Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 31 Mar 2022 21:44:22 +0200 +Subject: [PATCH] preview: fix egl_preview compile (conversion from Window to + EGLNativeWindowType) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + .../build/libcamera-apps-2d1009e3badcc8047361ff81149ad6cba3b911b5/preview/egl_preview.cpp:329:69: error: invalid conversion from ‘Window’ {aka ‘long unsigned int’} to ‘EGLNativeWindowType’ {aka ‘fbdev_window*’} [-fpermissive] + 329 | egl_surface_ = eglCreateWindowSurface(egl_display_, config, window_, NULL); + | ^~~~~~~ + | | + | Window {aka long unsigned int} + +[Upstream: https://github.com/raspberrypi/libcamera-apps/pull/283] +Signed-off-by: Peter Seiderer +--- + preview/egl_preview.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/preview/egl_preview.cpp b/preview/egl_preview.cpp +index b936e57..593583d 100644 +--- a/preview/egl_preview.cpp ++++ b/preview/egl_preview.cpp +@@ -326,7 +326,7 @@ void EglPreview::makeWindow(char const *name) + wm_delete_window_ = XInternAtom(display_, "WM_DELETE_WINDOW", False); + XSetWMProtocols(display_, window_, &wm_delete_window_, 1); + +- egl_surface_ = eglCreateWindowSurface(egl_display_, config, window_, NULL); ++ egl_surface_ = eglCreateWindowSurface(egl_display_, config, reinterpret_cast(window_), NULL); + if (!egl_surface_) + throw std::runtime_error("eglCreateWindowSurface failed"); + +-- +2.35.1 + diff --git a/package/libcamera-apps/Config.in b/package/libcamera-apps/Config.in new file mode 100644 index 00000000000..492a99cf558 --- /dev/null +++ b/package/libcamera-apps/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_LIBCAMERA_APPS + bool "libcamera-apps" + depends on BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS # libcamera + depends on BR2_INSTALL_LIBSTDCPP # libcamera/boost + depends on BR2_TOOLCHAIN_HAS_THREADS # libcamera/boost + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17/libcamera + depends on !BR2_STATIC_LIBS # gnutls/libcamera + depends on BR2_USE_WCHAR # gnutls/libcamera/boost + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBCAMERA + select BR2_PACKAGE_LIBEXIF + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_TIFF + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 && (BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) + select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_XORG7 && (BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) + select BR2_PACKAGE_LIBEPOXY if BR2_PACKAGE_XORG7 && (BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) + select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE_WIDGETS if BR2_PACKAGE_QT5 + help + This is a small suite of libcamera-based apps that aim to copy + the functionality of the existing "raspicam" apps. + + https://github.com/raspberrypi/libcamera-apps + +comment "libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 7" + depends on BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/package/libcamera-apps/libcamera-apps.hash b/package/libcamera-apps/libcamera-apps.hash new file mode 100644 index 00000000000..2dbb74d463a --- /dev/null +++ b/package/libcamera-apps/libcamera-apps.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 611aec06dd24de6586580164d9b7c55da0698ac4cf129944b2fc41fe67210597 libcamera-apps-2d1009e3badcc8047361ff81149ad6cba3b911b5.tar.gz +sha256 36dfed86bdef661a0a14ec1a1cc84c771d5a06b6f9b92e9ebb610ba711bd528a license.txt diff --git a/package/libcamera-apps/libcamera-apps.mk b/package/libcamera-apps/libcamera-apps.mk new file mode 100644 index 00000000000..f4fc019c179 --- /dev/null +++ b/package/libcamera-apps/libcamera-apps.mk @@ -0,0 +1,52 @@ +################################################################################ +# +# libcamera-apps +# +################################################################################ + +LIBCAMERA_APPS_VERSION = 2d1009e3badcc8047361ff81149ad6cba3b911b5 +LIBCAMERA_APPS_SITE = $(call github,raspberrypi,libcamera-apps,$(LIBCAMERA_APPS_VERSION)) +LIBCAMERA_APPS_LICENSE = BSD-2-Clause +LIBCAMERA_APPS_LICENSE_FILES = license.txt +LIBCAMERA_APPS_DEPENDENCIES = \ + host-pkgconf \ + boost \ + jpeg \ + libcamera \ + libexif \ + libpng \ + tiff + +LIBCAMERA_APPS_CONF_OPTS = \ + -DENABLE_COMPILE_FLAGS_FOR_TARGET=disabled \ + -DENABLE_OPENCV=0 \ + -DENABLE_TFLITE=0 + +ifeq ($(BR2_PACKAGE_LIBDRM),y) +LIBCAMERA_APPS_DEPENDENCIES += libdrm +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_DRM=1 +else +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_DRM=0 +endif + +ifeq ($(BR2_PACKAGE_XORG7),y) +LIBCAMERA_APPS_DEPENDENCIES += \ + $(if $(BR2_PACKAGE_LIBEPOXY),libepoxy) \ + $(if $(BR2_PACKAGE_XLIB_LIBX11),xlib_libX11) +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_X11=1 +else +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_X11=0 +endif + +ifeq ($(BR2_PACKAGE_QT5),y) +LIBCAMERA_APPS_DEPENDENCIES += qt5base +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_QT=1 +else +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_QT=0 +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBCAMERA_APPS_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + +$(eval $(cmake-package)) diff --git a/package/libcamera/Config.in b/package/libcamera/Config.in index b9c243084e6..23a0040abf6 100644 --- a/package/libcamera/Config.in +++ b/package/libcamera/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS default y # Invalid packing size of ControlValue struct on m68k depends on !BR2_m68k + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 menuconfig BR2_PACKAGE_LIBCAMERA bool "libcamera" @@ -33,12 +34,14 @@ config BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE config BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3 bool "ipu3 pipeline" + depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE help Pipeline for Intel IPU3. config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI bool "raspberrypi pipeline" + depends on BR2_arm || BR2_aarch64 depends on BR2_USE_WCHAR # boost (already enforced for gnutls) select BR2_PACKAGE_BOOST select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE @@ -47,6 +50,7 @@ config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI config BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1 bool "rkisp1 pipeline" + depends on BR2_arm || BR2_aarch64 select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE help Pipeline for Rockchip ISP1. @@ -68,6 +72,24 @@ config BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC help Pipeline for the vimc device. +config BR2_PACKAGE_LIBCAMERA_COMPLIANCE + bool "lc-compliance test application" + depends on BR2_USE_WCHAR # gtest + depends on BR2_TOOLCHAIN_HAS_THREADS # gtest + depends on BR2_INSTALL_LIBSTDCPP # gtest + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gtest + depends on BR2_USE_MMU # gtest + select BR2_PACKAGE_GTEST + select BR2_PACKAGE_LIBEVENT + help + lc-compliance test application + +comment "lc-compliance test application needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + endif # BR2_PACKAGE_LIBCAMERA comment "libcamera needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 7" diff --git a/package/libcamera/libcamera.hash b/package/libcamera/libcamera.hash index e2131f01ea7..8d5abf0e621 100644 --- a/package/libcamera/libcamera.hash +++ b/package/libcamera/libcamera.hash @@ -1,4 +1,4 @@ -sha256 e9c02a370a15188163f247210cdcba4427d5bcf7b681c7fea5cb1dde23f71a15 libcamera-ab72e6641c56e876f91edee57a8969982a3ab9b7-br1.tar.gz +sha256 3624c71ba492c602c5335aab3dc87798193f7596c6cc75f7cfb847165f180930 libcamera-1966b9a58436fab51f8270aad6a228b935e4fac4-br1.tar.gz # license files sha256 fd38b2c053c0cce46d9c5ef3545a6e34d157a240ba99c9b8dca5d37a8147da6c LICENSES/BSD-2-Clause.txt diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk index 391dea75640..9cbb1910dcf 100644 --- a/package/libcamera/libcamera.mk +++ b/package/libcamera/libcamera.mk @@ -5,14 +5,14 @@ ################################################################################ LIBCAMERA_SITE = https://git.linuxtv.org/libcamera.git -LIBCAMERA_VERSION = ab72e6641c56e876f91edee57a8969982a3ab9b7 +LIBCAMERA_VERSION = 1966b9a58436fab51f8270aad6a228b935e4fac4 LIBCAMERA_SITE_METHOD = git LIBCAMERA_DEPENDENCIES = \ host-openssl \ host-pkgconf \ - host-python3-jinja2 \ - host-python3-ply \ - host-python3-pyyaml \ + host-python-jinja2 \ + host-python-ply \ + host-python-pyyaml \ gnutls LIBCAMERA_CONF_OPTS = \ -Dandroid=disabled \ @@ -61,6 +61,13 @@ LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC) += vimc LIBCAMERA_CONF_OPTS += -Dpipelines=$(subst $(space),$(comma),$(LIBCAMERA_PIPELINES-y)) +ifeq ($(BR2_PACKAGE_LIBCAMERA_COMPLIANCE),y) +LIBCAMERA_DEPENDENCIES += gtest libevent +LIBCAMERA_CONF_OPTS += -Dlc-compliance=enabled +else +LIBCAMERA_CONF_OPTS += -Dlc-compliance=disabled +endif + # gstreamer-video-1.0, gstreamer-allocators-1.0 ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy) LIBCAMERA_CONF_OPTS += -Dgstreamer=enabled @@ -92,4 +99,9 @@ else LIBCAMERA_CONF_OPTS += -Dtracing=disabled endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +LIBCAMERA_DEPENDENCIES += libexecinfo +LIBCAMERA_LDFLAGS = $(TARGET_LDFLAGS) -lexecinfo +endif + $(eval $(meson-package)) diff --git a/package/libcap/libcap.hash b/package/libcap/libcap.hash index 7499f2468c9..396e592c5b5 100644 --- a/package/libcap/libcap.hash +++ b/package/libcap/libcap.hash @@ -1,5 +1,5 @@ # https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/sha256sums.asc -sha256 4de9590ee09a87c282d558737ffb5b6175ccbfd26d580add10df44d0f047f6c2 libcap-2.48.tar.xz +sha256 190c5baac9bee06a129eae20d3e827de62f664fe3507f0bf6c50a9a59fbd83a2 libcap-2.62.tar.xz # Hash for license file: -sha256 088cabde4662b4121258d298b0b2967bc1abffa134457ed9bc4a359685ab92bc License +sha256 f58c80bcce8c929db39a23c32e924876e3311f3ffa54f66076c38056d38fa59b License diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk index d3a069e82a4..12079953339 100644 --- a/package/libcap/libcap.mk +++ b/package/libcap/libcap.mk @@ -4,13 +4,14 @@ # ################################################################################ -LIBCAP_VERSION = 2.48 +LIBCAP_VERSION = 2.62 LIBCAP_SITE = https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2 LIBCAP_SOURCE = libcap-$(LIBCAP_VERSION).tar.xz LIBCAP_LICENSE = GPL-2.0 or BSD-3-Clause LIBCAP_LICENSE_FILES = License +LIBCAP_CPE_ID_VENDOR = libcap_project -LIBCAP_DEPENDENCIES = host-libcap host-gperf +LIBCAP_DEPENDENCIES = host-gperf LIBCAP_INSTALL_STAGING = YES HOST_LIBCAP_DEPENDENCIES = host-gperf diff --git a/package/libcec/0001-cecloader-h-fix-null-return.patch b/package/libcec/0001-cecloader-h-fix-null-return.patch new file mode 100644 index 00000000000..424e41c0aeb --- /dev/null +++ b/package/libcec/0001-cecloader-h-fix-null-return.patch @@ -0,0 +1,37 @@ +From 452b2049b2ee3e73968c603e5524b2d349ac0c3e Mon Sep 17 00:00:00 2001 +From: psykose +Date: Sat, 9 Apr 2022 17:59:11 +0000 +Subject: [PATCH] cecloader.h: fix null return + +returning NULL is invalid for a return type of bool when NULL is defined +as `nullptr` instead of 0L + +[Retrieved from: +https://github.com/Pulse-Eight/libcec/pull/599/commits/452b2049b2ee3e73968c603e5524b2d349ac0c3e] +Signed-off-by: Fabrice Fontaine +--- + include/cecloader.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/cecloader.h b/include/cecloader.h +index be76468f..550f598e 100644 +--- a/include/cecloader.h ++++ b/include/cecloader.h +@@ -172,7 +172,7 @@ bool LibCecBootloader(const char *strLib = NULL) + if (!g_libCEC) + { + std::cout << dlerror() << std::endl; +- return NULL; ++ return false; + } + } + +@@ -181,7 +181,7 @@ bool LibCecBootloader(const char *strLib = NULL) + if (!LibCecBootloader) + { + std::cout << "cannot find CECStartBootloader" << std::endl; +- return NULL; ++ return false; + } + + bool bReturn = LibCecBootloader(); diff --git a/package/libcec/libcec.hash b/package/libcec/libcec.hash index 36b6bad861b..3e5a4430575 100644 --- a/package/libcec/libcec.hash +++ b/package/libcec/libcec.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bcd92c376993a5721d346edcc09eb17289451f9156b1d1d113c9663c2046315a libcec-4.0.7.tar.gz +sha256 090696d7a4fb772d7acebbb06f91ab92e025531c7c91824046b9e4e71ecb3377 libcec-6.0.2.tar.gz sha256 0137261d24ce001fc5237aacddd267533e0f150ac23cf21acffea599f7358f7a COPYING diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk index 7c37d05c7f2..33e0463eb85 100644 --- a/package/libcec/libcec.mk +++ b/package/libcec/libcec.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCEC_VERSION = 4.0.7 +LIBCEC_VERSION = 6.0.2 LIBCEC_SITE = $(call github,Pulse-Eight,libcec,libcec-$(LIBCEC_VERSION)) LIBCEC_LICENSE = GPL-2.0+ LIBCEC_LICENSE_FILES = COPYING @@ -20,8 +20,8 @@ ifeq ($(BR2_PACKAGE_HAS_UDEV),y) LIBCEC_DEPENDENCIES += udev endif -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) -LIBCEC_DEPENDENCIES += host-swig $(if $(BR2_PACKAGE_PYTHON3),python3,python) +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBCEC_DEPENDENCIES += host-swig python3 endif ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) @@ -39,7 +39,6 @@ endif # Disable information about how libCEC is compiled. LIBCEC_CONF_OPTS += -DHAVE_GIT_BIN="" \ - -DHAVE_DATE_BIN="" \ -DHAVE_WHOAMI_BIN="" \ -DHAVE_HOSTNAME_BIN="" \ -DHAVE_UNAME_BIN="" diff --git a/package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch b/package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch new file mode 100644 index 00000000000..3ec674ae705 --- /dev/null +++ b/package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch @@ -0,0 +1,44 @@ +From 15ec267520efbe45193eb1df5361a4ab56164294 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 8 May 2022 17:54:42 +0200 +Subject: [PATCH] CMakeLists.txt: honour BUILD_TESTING + +Allow the user to disable tests through the standard BUILD_TESTING +option: https://cmake.org/cmake/help/latest/module/CTest.html + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/rafaelsteil/libcgi/commit/15ec267520efbe45193eb1df5361a4ab56164294] +--- + CMakeLists.txt | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cbf0d97..e3329a1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,15 +29,21 @@ option(BUILD_SHARED_LIBS + "Global flag to cause add_library to create shared libraries if on." + ON + ) ++option(BUILD_TESTING ++ "Build tests." ++ ON ++) + + # subdirectories + add_subdirectory("include/libcgi") + add_subdirectory("src") + + # test +-enable_testing() +-include(CTest) +-add_subdirectory("test") ++if(BUILD_TESTING) ++ enable_testing() ++ include(CTest) ++ add_subdirectory("test") ++endif(BUILD_TESTING) + + # cmake package stuff + configure_package_config_file(${PROJECT_NAME_LC}-config.cmake.in diff --git a/package/libcgroup/0001-cgrulesengd-remove-umask-0.patch b/package/libcgroup/0001-cgrulesengd-remove-umask-0.patch deleted file mode 100644 index 1d9077a2d68..00000000000 --- a/package/libcgroup/0001-cgrulesengd-remove-umask-0.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0d88b73d189ea3440ccaab00418d6469f76fa590 Mon Sep 17 00:00:00 2001 -From: Michal Hocko -Date: Wed, 18 Jul 2018 11:24:29 +0200 -Subject: [PATCH] cgrulesengd: remove umask(0) - -One of our partners has noticed that cgred daemon is creating a log file -(/var/log/cgred) with too wide permissions (0666) and that is seen as -a security bug because an untrusted user can write to otherwise -restricted area. CVE-2018-14348 has been assigned to this issue. - -Signed-off-by: Michal Hocko -Acked-by: Balbir Singh -[Retrieved from: -https://github.com/libcgroup/libcgroup/commit/0d88b73d189ea3440ccaab00418d6469f76fa590] -Signed-off-by: Fabrice Fontaine ---- - src/daemon/cgrulesengd.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/daemon/cgrulesengd.c b/src/daemon/cgrulesengd.c -index ea51f11..0d288f3 100644 ---- a/src/daemon/cgrulesengd.c -+++ b/src/daemon/cgrulesengd.c -@@ -889,9 +889,6 @@ int cgre_start_daemon(const char *logp, const int logf, - } else if (pid > 0) { - exit(EXIT_SUCCESS); - } -- -- /* Change the file mode mask. */ -- umask(0); - } else { - flog(LOG_DEBUG, "Not using daemon mode\n"); - pid = getpid(); diff --git a/package/libcgroup/libcgroup.hash b/package/libcgroup/libcgroup.hash index 11423e269f5..70671212ef2 100644 --- a/package/libcgroup/libcgroup.hash +++ b/package/libcgroup/libcgroup.hash @@ -1,3 +1,5 @@ -# Locally computed: -sha256 e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51 libcgroup-0.41.tar.bz2 +# From https://github.com/libcgroup/libcgroup/releases/download/v0.42.2/libcgroup-0.42.2.tar.bz2.sha256 +sha256 18939381324d418e11be4f5fdca37b01652c18917bfaf1f6b0c505f157e18d07 libcgroup-0.42.2.tar.bz2 + +# Hash for license file sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/libcgroup/libcgroup.mk b/package/libcgroup/libcgroup.mk index a26d5f2ddf1..156b066162b 100644 --- a/package/libcgroup/libcgroup.mk +++ b/package/libcgroup/libcgroup.mk @@ -4,17 +4,15 @@ # ################################################################################ -LIBCGROUP_VERSION = 0.41 +LIBCGROUP_VERSION = 0.42.2 LIBCGROUP_SOURCE = libcgroup-$(LIBCGROUP_VERSION).tar.bz2 -LIBCGROUP_SITE = http://downloads.sourceforge.net/project/libcg/libcgroup/v$(LIBCGROUP_VERSION) +LIBCGROUP_SITE = https://github.com/libcgroup/libcgroup/releases/download/v$(LIBCGROUP_VERSION) LIBCGROUP_LICENSE = LGPL-2.1 LIBCGROUP_LICENSE_FILES = COPYING +LIBCGROUP_CPE_ID_VENDOR = libcgroup_project LIBCGROUP_DEPENDENCIES = host-bison host-flex LIBCGROUP_INSTALL_STAGING = YES -# 0001-cgrulesengd-remove-umask-0.patch -LIBCGROUP_IGNORE_CVES += CVE-2018-14348 - # Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h # large file support. See https://bugzilla.redhat.com/show_bug.cgi?id=574992 # for more information. diff --git a/package/libcli/libcli.hash b/package/libcli/libcli.hash index a17a176fe53..a1a5459e9ce 100644 --- a/package/libcli/libcli.hash +++ b/package/libcli/libcli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 43efade6f3deb621e1e226b7854274a869fca57e12e74e61c5496d5dea7c445d libcli-1.10.4.tar.gz +sha256 179f78592f73492c22cc1b544b6f8cb0f6630a2f670430c118b8e084e6562e74 libcli-1.10.7.tar.gz sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 COPYING diff --git a/package/libcli/libcli.mk b/package/libcli/libcli.mk index 2dedc9d5df7..a18daa911c0 100644 --- a/package/libcli/libcli.mk +++ b/package/libcli/libcli.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCLI_VERSION = 1.10.4 +LIBCLI_VERSION = 1.10.7 LIBCLI_SITE = $(call github,dparrish,libcli,V$(LIBCLI_VERSION)) LIBCLI_LICENSE = LGPL-2.1 LIBCLI_LICENSE_FILES = COPYING diff --git a/package/libcoap/libcoap.hash b/package/libcoap/libcoap.hash index 34720062241..4a5bcaa7ff4 100644 --- a/package/libcoap/libcoap.hash +++ b/package/libcoap/libcoap.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 29a0394a265d3febee41e5e2dc03d34292a0aede37f5f80334e529ac0dab2321 libcoap-4.2.1.tar.gz +sha256 1a195adacd6188d3b71c476e7b21706fef7f3663ab1fb138652e8da49a9ec556 libcoap-4.3.0.tar.gz sha256 09dd86a017bad210527085008cbf706609c58210897b69845af14099577e7eb7 COPYING -sha256 c51e85271aca3fbdd79bb4ee45dcfd854724538dad83b70afbbdfc62415e3e7f LICENSE +sha256 c5625e704d52deade1c9b2d7931ac8593be147ba63af62b53b8c7e309b7eaeb9 LICENSE diff --git a/package/libcoap/libcoap.mk b/package/libcoap/libcoap.mk index 9a5e04d4fd8..edcc1bbef8d 100644 --- a/package/libcoap/libcoap.mk +++ b/package/libcoap/libcoap.mk @@ -4,21 +4,28 @@ # ################################################################################ -LIBCOAP_VERSION = 4.2.1 +LIBCOAP_VERSION = 4.3.0 LIBCOAP_SITE = $(call github,obgm,libcoap,v$(LIBCOAP_VERSION)) LIBCOAP_INSTALL_STAGING = YES LIBCOAP_LICENSE = BSD-2-Clause LIBCOAP_LICENSE_FILES = COPYING LICENSE LIBCOAP_DEPENDENCIES = host-pkgconf -LIBCOAP_CONF_OPTS = --disable-examples --without-tinydtls +LIBCOAP_CONF_OPTS = \ + --disable-examples --disable-examples-source --without-tinydtls LIBCOAP_AUTORECONF = YES ifeq ($(BR2_PACKAGE_GNUTLS),y) LIBCOAP_DEPENDENCIES += gnutls -LIBCOAP_CONF_OPTS += --enable-dtls --with-gnutls --without-openssl -else ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBCOAP_CONF_OPTS += \ + --enable-dtls --with-gnutls --without-mbedtls --without-openssl +else ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) LIBCOAP_DEPENDENCIES += openssl -LIBCOAP_CONF_OPTS += --enable-dtls --without-gnutls --with-openssl +LIBCOAP_CONF_OPTS += \ + --enable-dtls --without-gnutls --without-mbedtls --with-openssl +else ifeq ($(BR2_PACKAGE_MBEDTLS),y) +LIBCOAP_DEPENDENCIES += mbedtls +LIBCOAP_CONF_OPTS += \ + --enable-dtls --without-gnutls --with-mbedtls --without-openssl else LIBCOAP_CONF_OPTS += --disable-dtls endif diff --git a/package/libcodec2/libcodec2.hash b/package/libcodec2/libcodec2.hash index ec4f1f1a322..795ca37006c 100644 --- a/package/libcodec2/libcodec2.hash +++ b/package/libcodec2/libcodec2.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 19181a446f4df3e6d616b50cabdac4485abb9cd3242cf312a0785f892ed4c76c libcodec2-0.9.2.tar.gz -sha256 9ebb6f82b7380a62ac74c5f0322c88e6744dedf2ebe1f54d6f088282b39844bf COPYING +sha256 14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef libcodec2-1.0.1.tar.gz +sha256 9ebb6f82b7380a62ac74c5f0322c88e6744dedf2ebe1f54d6f088282b39844bf COPYING diff --git a/package/libcodec2/libcodec2.mk b/package/libcodec2/libcodec2.mk index 8410ffc90a0..b4f08a496e1 100644 --- a/package/libcodec2/libcodec2.mk +++ b/package/libcodec2/libcodec2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCODEC2_VERSION = 0.9.2 +LIBCODEC2_VERSION = 1.0.1 LIBCODEC2_SITE = $(call github,drowe67,codec2,v$(LIBCODEC2_VERSION)) LIBCODEC2_LICENSE = LGPL-2.1 LIBCODEC2_LICENSE_FILES = COPYING diff --git a/package/libconfig/0001-Add-disable-doc-option.patch b/package/libconfig/0001-Add-disable-doc-option.patch deleted file mode 100644 index ac323eba243..00000000000 --- a/package/libconfig/0001-Add-disable-doc-option.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a0301bde126c2b08b50e789fd025a8c513c914c3 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 28 Apr 2018 19:15:22 +0200 -Subject: [PATCH] Add --disable-doc option - -Signed-off-by: Fabrice Fontaine ---- - Makefile.am | 6 +++++- - configure.ac | 12 ++++++++++++ - 2 files changed, 17 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 50ef4fa..e94d3ec 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,7 +1,11 @@ - - ACLOCAL_AMFLAGS = -I m4 - --SUBDIRS = lib doc tinytest tests -+SUBDIRS = lib tinytest tests -+ -+if BUILDDOC -+SUBDIRS += doc -+endif - - if BUILDEXAMPLES - SUBDIRS += examples -diff --git a/configure.ac b/configure.ac -index 62c5c56..8a14855 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -99,6 +99,18 @@ docxx=yes - - AM_CONDITIONAL(BUILDCXX, test x$docxx = xyes) - -+dodoc=yes -+ -+AC_ARG_ENABLE(doc, -+AS_HELP_STRING([--disable-doc], [Disable building of the documentation]), -+[if test "$enableval" = "no"; then dodoc="no"; fi], -+[ -+dodoc=yes -+] -+) -+ -+AM_CONDITIONAL(BUILDDOC, test x$dodoc = xyes) -+ - doexamples=yes - - AC_ARG_ENABLE(examples, --- -2.14.1 - diff --git a/package/libconfig/libconfig.hash b/package/libconfig/libconfig.hash index e056a17de32..d359301d6ff 100644 --- a/package/libconfig/libconfig.hash +++ b/package/libconfig/libconfig.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f67ac44099916ae260a6c9e290a90809e7d782d96cdd462cac656ebc5b685726 libconfig-1.7.2.tar.gz +sha256 545166d6cac037744381d1e9cc5a5405094e7bfad16a411699bcff40bbb31ee7 libconfig-1.7.3.tar.gz sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING.LIB diff --git a/package/libconfig/libconfig.mk b/package/libconfig/libconfig.mk index a127f9bcc83..6cdf6031853 100644 --- a/package/libconfig/libconfig.mk +++ b/package/libconfig/libconfig.mk @@ -4,14 +4,12 @@ # ################################################################################ -LIBCONFIG_VERSION = 1.7.2 -LIBCONFIG_SITE = $(call github,hyperrealm,libconfig,v$(LIBCONFIG_VERSION)) +LIBCONFIG_VERSION = 1.7.3 +LIBCONFIG_SITE = https://github.com/hyperrealm/libconfig/releases/download/v$(LIBCONFIG_VERSION) LIBCONFIG_LICENSE = LGPL-2.1+ LIBCONFIG_LICENSE_FILES = COPYING.LIB LIBCONFIG_INSTALL_STAGING = YES -# From git -LIBCONFIG_AUTORECONF = YES -LIBCONFIG_CONF_OPTS = --disable-examples +LIBCONFIG_CONF_OPTS = --disable-examples --disable-tests ifneq ($(BR2_INSTALL_LIBSTDCPP),y) LIBCONFIG_CONF_OPTS += --disable-cxx diff --git a/package/libcpprestsdk/Config.in b/package/libcpprestsdk/Config.in index 97f00e33839..e533b303936 100644 --- a/package/libcpprestsdk/Config.in +++ b/package/libcpprestsdk/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK depends on BR2_ENABLE_LOCALE depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # boost - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_BOOST diff --git a/package/libcurl/Config.in b/package/libcurl/Config.in index b89c46f5eff..3381decca81 100644 --- a/package/libcurl/Config.in +++ b/package/libcurl/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_LIBCURL Telnet, and Dict servers, using any of the supported protocols. - http://curl.haxx.se/ + https://curl.se/ if BR2_PACKAGE_LIBCURL @@ -51,6 +51,7 @@ choice config BR2_PACKAGE_LIBCURL_OPENSSL bool "OpenSSL" depends on BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL config BR2_PACKAGE_LIBCURL_BEARSSL bool "BearSSL" @@ -60,10 +61,6 @@ config BR2_PACKAGE_LIBCURL_GNUTLS bool "GnuTLS" depends on BR2_PACKAGE_GNUTLS -config BR2_PACKAGE_LIBCURL_LIBNSS - bool "NSS" - depends on BR2_PACKAGE_LIBNSS - config BR2_PACKAGE_LIBCURL_MBEDTLS bool "mbed TLS" depends on BR2_PACKAGE_MBEDTLS @@ -71,6 +68,12 @@ config BR2_PACKAGE_LIBCURL_MBEDTLS config BR2_PACKAGE_LIBCURL_WOLFSSL bool "WolfSSL" depends on BR2_PACKAGE_WOLFSSL + depends on !BR2_STATIC_LIBS # wolfssl-all + select BR2_PACKAGE_WOLFSSL_ALL + +comment "WolfSSL needs a toolchain w/ dynamic library" + depends on BR2_PACKAGE_WOLFSSL + depends on BR2_STATIC_LIBS config BR2_PACKAGE_LIBCURL_TLS_NONE bool "None" diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 368b8f67f13..8672380f090 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.haxx.se/download/curl-7.75.0.tar.xz.asc +# https://curl.se/download/curl-7.83.1.tar.xz.asc # signed with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 fe0c49d8468249000bda75bcfdf9e30ff7e9a86d35f1a21f428d79c389d55675 curl-7.75.0.tar.xz -sha256 6fd1a1c008b5ef4c4741dd188c3f8af6944c14c25afa881eb064f98fb98358e7 COPYING +sha256 2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4 curl-7.83.1.tar.xz +sha256 321b1a09ebc30410f2e837c072e5521cf7095b757193af4a7dae1086e36ed31a COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 6a9a5a3d3e6..11f1e4de59e 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBCURL_VERSION = 7.75.0 +LIBCURL_VERSION = 7.83.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz -LIBCURL_SITE = https://curl.haxx.se/download +LIBCURL_SITE = https://curl.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_ZLIB),zlib) \ $(if $(BR2_PACKAGE_RTMPDUMP),rtmpdump) @@ -19,12 +19,12 @@ LIBCURL_INSTALL_STAGING = YES # We disable NTLM support because it uses fork(), which doesn't work # on non-MMU platforms. Moreover, this authentication method is # probably almost never used. See -# http://curl.haxx.se/docs/manpage.html#--ntlm. +# http://curl.se/docs/manpage.html#--ntlm. # Likewise, there is no compiler on the target, so libcurl-option (to # generate C code) isn't very useful LIBCURL_CONF_OPTS = --disable-manual --disable-ntlm-wb \ --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug \ - --disable-libcurl-option + --disable-libcurl-option --disable-ldap --disable-ldaps ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) LIBCURL_CONF_OPTS += --enable-threaded-resolver @@ -68,14 +68,6 @@ else LIBCURL_CONF_OPTS += --without-gnutls endif -ifeq ($(BR2_PACKAGE_LIBCURL_LIBNSS),y) -LIBCURL_CONF_OPTS += --with-nss=$(STAGING_DIR)/usr -LIBCURL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) nspr nss --cflags`" -LIBCURL_DEPENDENCIES += libnss -else -LIBCURL_CONF_OPTS += --without-nss -endif - ifeq ($(BR2_PACKAGE_LIBCURL_MBEDTLS),y) LIBCURL_CONF_OPTS += --with-mbedtls=$(STAGING_DIR)/usr LIBCURL_DEPENDENCIES += mbedtls @@ -85,6 +77,7 @@ endif ifeq ($(BR2_PACKAGE_LIBCURL_WOLFSSL),y) LIBCURL_CONF_OPTS += --with-wolfssl=$(STAGING_DIR)/usr +LIBCURL_CONF_OPTS += --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt LIBCURL_DEPENDENCIES += wolfssl else LIBCURL_CONF_OPTS += --without-wolfssl @@ -126,6 +119,13 @@ else LIBCURL_CONF_OPTS += --without-nghttp2 endif +ifeq ($(BR2_PACKAGE_LIBGSASL),y) +LIBCURL_DEPENDENCIES += libgsasl +LIBCURL_CONF_OPTS += --with-libgsasl +else +LIBCURL_CONF_OPTS += --without-libgsasl +endif + ifeq ($(BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT),y) LIBCURL_CONF_OPTS += --enable-cookies else @@ -143,8 +143,6 @@ LIBCURL_CONF_OPTS += \ --enable-dict \ --enable-gopher \ --enable-imap \ - --enable-ldap \ - --enable-ldaps \ --enable-pop3 \ --enable-rtsp \ --enable-smb \ @@ -156,8 +154,6 @@ LIBCURL_CONF_OPTS += \ --disable-dict \ --disable-gopher \ --disable-imap \ - --disable-ldap \ - --disable-ldaps \ --disable-pop3 \ --disable-rtsp \ --disable-smb \ diff --git a/package/libcutl/libcutl.mk b/package/libcutl/libcutl.mk index 49c05e60199..2b704ad3b8d 100644 --- a/package/libcutl/libcutl.mk +++ b/package/libcutl/libcutl.mk @@ -11,5 +11,6 @@ LIBCUTL_SITE = https://www.codesynthesis.com/download/libcutl/$(LIBCUTL_VERSION_ LIBCUTL_INSTALL_STAGING = YES LIBCUTL_LICENSE = MIT LIBCUTL_LICENSE_FILES = LICENSE +HOST_LIBCUTL_CONF_ENV = CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" $(eval $(host-autotools-package)) diff --git a/package/libdaemon/libdaemon.mk b/package/libdaemon/libdaemon.mk index a8f75108bc4..cdf0819e68b 100644 --- a/package/libdaemon/libdaemon.mk +++ b/package/libdaemon/libdaemon.mk @@ -8,6 +8,8 @@ LIBDAEMON_VERSION = 0.14 LIBDAEMON_SITE = http://0pointer.de/lennart/projects/libdaemon LIBDAEMON_LICENSE = LGPL-2.1+ LIBDAEMON_LICENSE_FILES = LICENSE +LIBDAEMON_CPE_ID_VENDOR = libdaemon_project + LIBDAEMON_INSTALL_STAGING = YES LIBDAEMON_CONF_ENV = ac_cv_func_setpgrp_void=no LIBDAEMON_CONF_OPTS = --disable-lynx diff --git a/package/libdbi-drivers/Config.in b/package/libdbi-drivers/Config.in new file mode 100644 index 00000000000..7c505340c13 --- /dev/null +++ b/package/libdbi-drivers/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBDBI_DRIVERS + bool "libdbi-drivers" + depends on !BR2_STATIC_LIBS # libdbi + select BR2_PACKAGE_LIBDBI + help + The libdbi-drivers project provides the + database-specific drivers for the libdbi framework. + + http://libdbi-drivers.sourceforge.net + +comment "libdbi-drivers needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libdbi-drivers/libdbi-drivers.hash b/package/libdbi-drivers/libdbi-drivers.hash new file mode 100644 index 00000000000..b805bb02832 --- /dev/null +++ b/package/libdbi-drivers/libdbi-drivers.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 80a1befb044238a89b2d0dbd40881aa6c75bf99d3a7a6c016c657ea26df7792c libdbi-drivers-0bfae6c43134cf58dc89364328545982ca297abb-br1.tar.gz +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING diff --git a/package/libdbi-drivers/libdbi-drivers.mk b/package/libdbi-drivers/libdbi-drivers.mk new file mode 100644 index 00000000000..af8db79581f --- /dev/null +++ b/package/libdbi-drivers/libdbi-drivers.mk @@ -0,0 +1,48 @@ +################################################################################ +# +# libdbi-drivers +# +################################################################################ + +LIBDBI_DRIVERS_VERSION = 0bfae6c43134cf58dc89364328545982ca297abb +LIBDBI_DRIVERS_SITE = https://git.code.sf.net/p/libdbi-drivers/libdbi-drivers +LIBDBI_DRIVERS_SITE_METHOD = git +LIBDBI_DRIVERS_LICENSE = LGPL-2.1+ +LIBDBI_DRIVERS_LICENSE_FILES = COPYING +LIBDBI_DRIVERS_INSTALL_STAGING = YES +LIBDBI_DRIVERS_DEPENDENCIES = libdbi host-pkgconf +LIBDBI_DRIVERS_AUTORECONF = YES + +LIBDBI_DRIVERS_CONF_OPTS = --with-dbi-libdir=$(STAGING_DIR)/usr/lib + +ifeq ($(BR2_PACKAGE_MYSQL),y) +LIBDBI_DRIVERS_DEPENDENCIES += mysql +LIBDBI_DRIVERS_CONF_OPTS += --with-mysql +LIBDBI_DRIVERS_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config" +else +LIBDBI_DRIVERS_CONF_OPTS += --without-mysql +endif + +ifeq ($(BR2_PACKAGE_POSTGRESQL),y) +LIBDBI_DRIVERS_DEPENDENCIES += postgresql +LIBDBI_DRIVERS_CONF_OPTS += --with-pgsql +else +LIBDBI_DRIVERS_CONF_OPTS += --without-pgsql +endif + +LIBDBI_DRIVERS_CONF_OPTS += --without-sqlite +ifeq ($(BR2_PACKAGE_SQLITE),y) +LIBDBI_DRIVERS_DEPENDENCIES += sqlite +LIBDBI_DRIVERS_CONF_OPTS += --with-sqlite3 +else +LIBDBI_DRIVERS_CONF_OPTS += --without-sqlite3 +endif + +LIBDBI_DRIVERS_CONF_OPTS += --without-msql # MiniSQL +LIBDBI_DRIVERS_CONF_OPTS += --without-oracle # Oracle OCI +LIBDBI_DRIVERS_CONF_OPTS += --without-firebird # Firebird/Interbase +LIBDBI_DRIVERS_CONF_OPTS += --without-freetds # Freetds +LIBDBI_DRIVERS_CONF_OPTS += --without-ingres # Ingres +LIBDBI_DRIVERS_CONF_OPTS += --without-db2 # IBM DB2 + +$(eval $(autotools-package)) diff --git a/package/libdbi/Config.in b/package/libdbi/Config.in new file mode 100644 index 00000000000..13ac344f828 --- /dev/null +++ b/package/libdbi/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBDBI + bool "lidbi" + depends on !BR2_STATIC_LIBS + help + libdbi implements a database-independent abstraction layer + in C, similar to the DBI/DBD layer in Perl. + + http://libdbi.sourceforge.net + +comment "libdbi needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libdbi/libdbi.hash b/package/libdbi/libdbi.hash new file mode 100644 index 00000000000..6dd2d3658a3 --- /dev/null +++ b/package/libdbi/libdbi.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 958475e0010a3d8e43ce9ecd6a64d25eacca6ada46c39bc69f949dd70f92ab7a libdbi-88b8477d57153b9f736dd19d432d3b7ab1c49073-br1.tar.gz +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING diff --git a/package/libdbi/libdbi.mk b/package/libdbi/libdbi.mk new file mode 100644 index 00000000000..e48fffafce4 --- /dev/null +++ b/package/libdbi/libdbi.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# libdbi +# +################################################################################ + +LIBDBI_VERSION = 88b8477d57153b9f736dd19d432d3b7ab1c49073 +LIBDBI_SITE = https://git.code.sf.net/p/libdbi/libdbi +LIBDBI_SITE_METHOD = git +LIBDBI_LICENSE = LGPL-2.1+ +LIBDBI_LICENSE_FILES = COPYING +LIBDBI_INSTALL_STAGING = YES +# Fetched from git, with no configure script +LIBDBI_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/libdnet/0001-python-gcc.patch b/package/libdnet/0001-python-gcc.patch deleted file mode 100644 index ea732e43587..00000000000 --- a/package/libdnet/0001-python-gcc.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/python/dnet.c 2006-01-19 18:08:23.000000000 +1100 -+++ b/python/dnet.c 2008-09-03 16:30:47.000000000 +1000 -@@ -2726,7 +2726,7 @@ - PyObject *__pyx_3 = 0; - unsigned short __pyx_4; - Py_INCREF(__pyx_v_self); -- ((PyObject*)__pyx_v_next) = Py_None; Py_INCREF(((PyObject*)__pyx_v_next)); -+ __pyx_v_next = (struct __pyx_obj_4dnet_addr*)Py_None; Py_INCREF(((PyObject*)__pyx_v_next)); - - /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":634 */ - __pyx_1 = (((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->cur <= ((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->max); -@@ -2738,7 +2739,7 @@ - Py_DECREF(__pyx_2); __pyx_2 = 0; - if (!__Pyx_TypeTest(__pyx_3, __pyx_ptype_4dnet_addr)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} - Py_DECREF(((PyObject *)__pyx_v_next)); -- ((PyObject *)__pyx_v_next) = __pyx_3; -+ __pyx_v_next = (struct __pyx_obj_4dnet_addr*)__pyx_3; - __pyx_3 = 0; - - /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":636 */ diff --git a/package/libdnet/0001-python-makefile.patch b/package/libdnet/0001-python-makefile.patch new file mode 100644 index 00000000000..eae22b2f14c --- /dev/null +++ b/package/libdnet/0001-python-makefile.patch @@ -0,0 +1,27 @@ +From 298cd8eaa21a21eee85f9551a26ad294347b1d5a Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Thu, 30 Dec 2021 11:14:15 -0800 +Subject: [PATCH] python makefile + +Signed-off-by: Peter Korsgaard +[adam: refresh for 1.14; make it git-formatted] +Signed-off-by: Adam Duskett +--- + python/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/python/Makefile.am b/python/Makefile.am +index 1a74ef2..59fe0f3 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -11,6 +11,7 @@ $(srcdir)/dnet.c: $(srcdir)/dnet.pyx + pyrexc $(srcdir)/dnet.pyx + + python-build: $(srcdir)/dnet.c ++ CC="$(CC)" LDSHARED="$(CC) -shared" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(PYTHON) setup.py build_ext -I$(PYINCDIR) -L$(PYLIBDIR) + $(PYTHON) setup.py build + touch python-build + +-- +2.33.1 + diff --git a/package/libdnet/0002-python-makefile.patch b/package/libdnet/0002-python-makefile.patch deleted file mode 100644 index fb41e43e351..00000000000 --- a/package/libdnet/0002-python-makefile.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- - python/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -Index: libdnet-1.11/python/Makefile.am -=================================================================== ---- libdnet-1.11.orig/python/Makefile.am -+++ libdnet-1.11/python/Makefile.am -@@ -11,6 +11,7 @@ - pyrexc $(srcdir)/dnet.pyx - - python-build: $(srcdir)/dnet.c -+ CC="$(CC)" LDSHARED="$(CC) -shared" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(PYTHON) setup.py build_ext -I$(PYINCDIR) -L$(PYLIBDIR) - $(PYTHON) setup.py build - touch python-build - diff --git a/package/libdnet/Config.in b/package/libdnet/Config.in index e7ba3a21af1..f853e4e12d9 100644 --- a/package/libdnet/Config.in +++ b/package/libdnet/Config.in @@ -10,11 +10,11 @@ if BR2_PACKAGE_LIBDNET config BR2_PACKAGE_LIBDNET_PYTHON bool "libdnet python module" - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON3 help dnet module for python -comment "dnet module for python requires python package" - depends on !BR2_PACKAGE_PYTHON +comment "dnet module for python requires python3 package" + depends on !BR2_PACKAGE_PYTHON3 endif diff --git a/package/libdnet/libdnet.hash b/package/libdnet/libdnet.hash index d2e820270f6..d322a1cc294 100644 --- a/package/libdnet/libdnet.hash +++ b/package/libdnet/libdnet.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0eb78415c8f2564c2f1e8ad36e98473348d9c94852f796a226360c716cc7ca53 libdnet-1.11.tar.gz -sha256 1e94df12cb3701fa64e07eeb60284bb16a3544815d5a39860dacff7b86610584 LICENSE +sha256 592599c54a57102a177270f3a2caabda2c2ac7768b977d7458feba97da923dfe libdnet-1.14.tar.gz +sha256 6b46ec86e290066c47b6607d322135b3c473566e7225ac23d35a7c0588a82da6 LICENSE diff --git a/package/libdnet/libdnet.mk b/package/libdnet/libdnet.mk index d1cc0bf1505..4c58ea20a5c 100644 --- a/package/libdnet/libdnet.mk +++ b/package/libdnet/libdnet.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBDNET_VERSION = 1.11 -LIBDNET_SITE = http://downloads.sourceforge.net/project/libdnet/libdnet/libdnet-$(LIBDNET_VERSION) +LIBDNET_VERSION = 1.14 +LIBDNET_SITE = $(call github,ofalk,libdnet,libdnet-$(LIBDNET_VERSION)) LIBDNET_LICENSE = BSD-3-Clause LIBDNET_LICENSE_FILES = LICENSE LIBDNET_INSTALL_STAGING = YES @@ -15,10 +15,10 @@ LIBDNET_CONF_OPTS = \ --with-check=no LIBDNET_CONFIG_SCRIPTS = dnet-config -ifneq ($(BR2_PACKAGE_LIBDNET_PYTHON),) -LIBDNET_DEPENDENCIES = python -LIBDNET_CONF_OPTS += --with-python -LIBDNET_MAKE_OPTS = PYINCDIR=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) PYLIBDIR=$(STAGING_DIR)/usr/lib +ifeq ($(BR2_PACKAGE_LIBDNET_PYTHON),y) +LIBDNET_DEPENDENCIES += host-python-cython python3 +LIBDNET_CONF_OPTS += --with-python=$(HOST_DIR)/bin +LIBDNET_MAKE_ENV += $(PKG_PYTHON_DISTUTILS_ENV) LIBDNET_INSTALL_TARGET_OPTS = $(LIBDNET_MAKE_OPTS) DESTDIR=$(TARGET_DIR) INSTALL_STRIP_FLAG=-s install-exec LIBDNET_INSTALL_STAGING_OPTS = $(LIBDNET_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install endif diff --git a/package/libdrm/0001-meson.build-enable-static-build.patch b/package/libdrm/0001-meson.build-enable-static-build.patch deleted file mode 100644 index 28da702559e..00000000000 --- a/package/libdrm/0001-meson.build-enable-static-build.patch +++ /dev/null @@ -1,169 +0,0 @@ -From d58a32776e08e193c24f7bb192daf72b66fbe550 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Wed, 18 Jul 2018 21:35:18 +0200 -Subject: [PATCH] meson.build: enable static build - -Use meson library instead of shared_library to enable static build. - -Upstream suggested: https://lists.freedesktop.org/archives/dri-devel/2018-July/183886.html -Signed-off-by: Peter Seiderer ---- - amdgpu/meson.build | 2 +- - etnaviv/meson.build | 2 +- - exynos/meson.build | 2 +- - freedreno/meson.build | 2 +- - intel/meson.build | 2 +- - libkms/meson.build | 2 +- - meson.build | 2 +- - nouveau/meson.build | 2 +- - omap/meson.build | 2 +- - radeon/meson.build | 2 +- - tegra/meson.build | 2 +- - 11 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/amdgpu/meson.build b/amdgpu/meson.build -index f39d7bf..1b4b0be 100644 ---- a/amdgpu/meson.build -+++ b/amdgpu/meson.build -@@ -21,7 +21,7 @@ - - datadir_amdgpu = join_paths(get_option('prefix'), get_option('datadir'), 'libdrm') - --libdrm_amdgpu = shared_library( -+libdrm_amdgpu = library( - 'drm_amdgpu', - [ - files( -diff --git a/etnaviv/meson.build b/etnaviv/meson.build -index ca2aa54..a0d994e 100644 ---- a/etnaviv/meson.build -+++ b/etnaviv/meson.build -@@ -19,7 +19,7 @@ - # SOFTWARE. - - --libdrm_etnaviv = shared_library( -+libdrm_etnaviv = library( - 'drm_etnaviv', - [ - files( -diff --git a/exynos/meson.build b/exynos/meson.build -index 30d3640..fd14f3a 100644 ---- a/exynos/meson.build -+++ b/exynos/meson.build -@@ -18,7 +18,7 @@ - # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - # SOFTWARE. - --libdrm_exynos = shared_library( -+libdrm_exynos = library( - 'drm_exynos', - [files('exynos_drm.c', 'exynos_fimg2d.c'), config_file], - c_args : warn_c_args, -diff --git a/freedreno/meson.build b/freedreno/meson.build -index 015b7fb..6c8a6a7 100644 ---- a/freedreno/meson.build -+++ b/freedreno/meson.build -@@ -39,7 +39,7 @@ if with_freedreno_kgsl - ) - endif - --libdrm_freedreno = shared_library( -+libdrm_freedreno = library( - 'drm_freedreno', - [files_freedreno, config_file], - c_args : warn_c_args, -diff --git a/intel/meson.build b/intel/meson.build -index 53c7fce..14cabd3 100644 ---- a/intel/meson.build -+++ b/intel/meson.build -@@ -18,7 +18,7 @@ - # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - # SOFTWARE. - --libdrm_intel = shared_library( -+libdrm_intel = library( - 'drm_intel', - [ - files( -diff --git a/libkms/meson.build b/libkms/meson.build -index 86d1a4e..9d21e4c 100644 ---- a/libkms/meson.build -+++ b/libkms/meson.build -@@ -41,7 +41,7 @@ if with_exynos - libkms_include += include_directories('../exynos') - endif - --libkms = shared_library( -+libkms = library( - 'kms', - [files_libkms, config_file], - c_args : warn_c_args, -diff --git a/meson.build b/meson.build -index 3c8afb6..7aa5f8c 100644 ---- a/meson.build -+++ b/meson.build -@@ -279,7 +279,7 @@ add_project_arguments('-include', 'config.h', language : 'c') - inc_root = include_directories('.') - inc_drm = include_directories('include/drm') - --libdrm = shared_library( -+libdrm = library( - 'drm', - [files( - 'xf86drm.c', 'xf86drmHash.c', 'xf86drmRandom.c', 'xf86drmSL.c', -diff --git a/nouveau/meson.build b/nouveau/meson.build -index 51c9a71..acba048 100644 ---- a/nouveau/meson.build -+++ b/nouveau/meson.build -@@ -19,7 +19,7 @@ - # SOFTWARE. - - --libdrm_nouveau = shared_library( -+libdrm_nouveau = library( - 'drm_nouveau', - [files( 'nouveau.c', 'pushbuf.c', 'bufctx.c', 'abi16.c'), config_file], - c_args : warn_c_args, -diff --git a/omap/meson.build b/omap/meson.build -index e57b8f5..6cffb99 100644 ---- a/omap/meson.build -+++ b/omap/meson.build -@@ -18,7 +18,7 @@ - # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - # SOFTWARE. - --libdrm_omap = shared_library( -+libdrm_omap = library( - 'drm_omap', - [files('omap_drm.c'), config_file], - include_directories : [inc_root, inc_drm], -diff --git a/radeon/meson.build b/radeon/meson.build -index b08c744..2f45ff7 100644 ---- a/radeon/meson.build -+++ b/radeon/meson.build -@@ -19,7 +19,7 @@ - # SOFTWARE. - - --libdrm_radeon = shared_library( -+libdrm_radeon = library( - 'drm_radeon', - [ - files( -diff --git a/tegra/meson.build b/tegra/meson.build -index 1f5c74b..8d0cfa9 100644 ---- a/tegra/meson.build -+++ b/tegra/meson.build -@@ -18,7 +18,7 @@ - # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - # SOFTWARE. - --libdrm_tegra = shared_library( -+libdrm_tegra = library( - 'drm_tegra', - [files('tegra.c'), config_file], - include_directories : [inc_root, inc_drm], --- -2.18.0 - diff --git a/package/libdrm/0002-tests-meson.build-disable-nouveau-tests-for-static-b.patch b/package/libdrm/0001-tests-meson.build-disable-nouveau-tests-for-static-b.patch similarity index 100% rename from package/libdrm/0002-tests-meson.build-disable-nouveau-tests-for-static-b.patch rename to package/libdrm/0001-tests-meson.build-disable-nouveau-tests-for-static-b.patch diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash index 48f6b69481b..ca7332dd767 100644 --- a/package/libdrm/libdrm.hash +++ b/package/libdrm/libdrm.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/dri-devel/2021-January/293654.html -sha256 d66ad8b5c2441015ac1333e40137bb803c3bde3612ff040286fcc12158ea1bcb libdrm-2.4.104.tar.xz -sha512 0fdbef53e0e7c441c805c95ac55ca2c94f11e8fa18e36b4dc7534c22e2b5bc8eca7283fdf41785da753f98d0b589023111abdba70db7e79837729b1540253d6e libdrm-2.4.104.tar.xz +# From https://lists.freedesktop.org/archives/dri-devel/2021-November/332386.html +sha256 629352e08c1fe84862ca046598d8a08ce14d26ab25ee1f4704f993d074cb7f26 libdrm-2.4.109.tar.xz +sha512 45194bb28207421afcff3e247930d2eeab77a5fea58e6be22f67525f2e0aab2f410a9ae0ab315b55ef56b80c481bba40b1660468b7cda539758b2bbb8e814fd8 libdrm-2.4.109.tar.xz # Hash for license file -sha256 2ece103921b7b5619198b9572fb9242db7bbfa6d3b33f9f93f22e1fb738ed8ac xf86drm.c +sha256 d0a616a9020dc0271e36e6dd4bad174b4e2c2a42636f13785f8e18dd5f85fd83 data/meson.build diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index 25f8484782c..9b614bf4212 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.104 +LIBDRM_VERSION = 2.4.109 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.xz LIBDRM_SITE = https://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT -LIBDRM_LICENSE_FILES = xf86drm.c +LIBDRM_LICENSE_FILES = data/meson.build LIBDRM_INSTALL_STAGING = YES LIBDRM_DEPENDENCIES = \ @@ -17,7 +17,7 @@ LIBDRM_DEPENDENCIES = \ LIBDRM_CONF_OPTS = \ -Dcairo-tests=false \ - -Dmanpages=false + -Dman-pages=false ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y) LIBDRM_DEPENDENCIES += libatomic_ops diff --git a/package/libdvdcss/libdvdcss.hash b/package/libdvdcss/libdvdcss.hash index 1e1b03ed20f..4d20f19efc8 100644 --- a/package/libdvdcss/libdvdcss.hash +++ b/package/libdvdcss/libdvdcss.hash @@ -1,5 +1,7 @@ -# From http://download.videolan.org/pub/videolan/libdvdcss/1.4.2/libdvdcss-1.4.2.tar.bz2.sha256 -sha256 78c2ed77ec9c0d8fbed7bf7d3abc82068b8864be494cfad165821377ff3f2575 libdvdcss-1.4.2.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2.sha1 +sha1 fcea8b2749ead8183636e48300bea8791abc79ee libdvdcss-1.4.3.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2.sha256 +sha256 233cc92f5dc01c5d3a96f5b3582be7d5cee5a35a52d3a08158745d3d86070079 libdvdcss-1.4.3.tar.bz2 # Hash for license file: -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libdvdcss/libdvdcss.mk b/package/libdvdcss/libdvdcss.mk index 0593d556e14..f4d721771fd 100644 --- a/package/libdvdcss/libdvdcss.mk +++ b/package/libdvdcss/libdvdcss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVDCSS_VERSION = 1.4.2 +LIBDVDCSS_VERSION = 1.4.3 LIBDVDCSS_SOURCE = libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2 LIBDVDCSS_SITE = http://www.videolan.org/pub/videolan/libdvdcss/$(LIBDVDCSS_VERSION) LIBDVDCSS_INSTALL_STAGING = YES diff --git a/package/libdvdnav/libdvdnav.hash b/package/libdvdnav/libdvdnav.hash index 04706b0bb93..61d64b8ee3c 100644 --- a/package/libdvdnav/libdvdnav.hash +++ b/package/libdvdnav/libdvdnav.hash @@ -1,9 +1,7 @@ -# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.0/libdvdnav-6.1.0.tar.bz2.md5 -md5 8817ac12c13644df6ba2091c2dcaeed3 libdvdnav-6.1.0.tar.bz2 -# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.0/libdvdnav-6.1.0.tar.bz2.sha1 -sha1 b0597e9d11393e17b57f784c0dcba33a499e80b0 libdvdnav-6.1.0.tar.bz2 -# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.0/libdvdnav-6.1.0.tar.bz2.sha256 -sha256 f697b15ea9f75e9f36bdf6ec3726308169f154e2b1e99865d0bbe823720cee5b libdvdnav-6.1.0.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2.sha1 +sha1 7ac76aa95d046db715763da23b7053b65cbc7540 libdvdnav-6.1.1.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2.sha256 +sha256 c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48 libdvdnav-6.1.1.tar.bz2 # Hash for license file: -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libdvdnav/libdvdnav.mk b/package/libdvdnav/libdvdnav.mk index c5bebd49265..e34c0710bcc 100644 --- a/package/libdvdnav/libdvdnav.mk +++ b/package/libdvdnav/libdvdnav.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVDNAV_VERSION = 6.1.0 +LIBDVDNAV_VERSION = 6.1.1 LIBDVDNAV_SOURCE = libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 LIBDVDNAV_SITE = http://www.videolan.org/pub/videolan/libdvdnav/$(LIBDVDNAV_VERSION) LIBDVDNAV_INSTALL_STAGING = YES diff --git a/package/libdvdread/libdvdread.hash b/package/libdvdread/libdvdread.hash index 00066619ce4..de9afcfa30f 100644 --- a/package/libdvdread/libdvdread.hash +++ b/package/libdvdread/libdvdread.hash @@ -1,9 +1,7 @@ -# From http://download.videolan.org/pub/videolan/libdvdread/6.1.1/libdvdread-6.1.1.tar.bz2.md5 -md5 09c7423568fb679279fd2a2bc6b10b6e libdvdread-6.1.1.tar.bz2 -# From http://download.videolan.org/pub/videolan/libdvdread/6.1.1/libdvdread-6.1.1.tar.bz2.sha1 -sha1 d2e5056de89fb5fed478c0af5a72e8b781d0c396 libdvdread-6.1.1.tar.bz2 -# From http://download.videolan.org/pub/videolan/libdvdread/6.1.1/libdvdread-6.1.1.tar.bz2.sha256 -sha256 3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796 libdvdread-6.1.1.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdread/6.1.2/libdvdread-6.1.2.tar.bz2.sha1 +sha1 789d0780fbdcd7d6dadf0fda3d4a4b6198c16393 libdvdread-6.1.2.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdread/6.1.2/libdvdread-6.1.2.tar.bz2.sha256 +sha256 cc190f553758ced7571859e301f802cb4821f164d02bfacfd320c14a4e0da763 libdvdread-6.1.2.tar.bz2 # Hash for license file: -sha256 d6cb0e9e560f51085556949a84af12b79a00f10ab8b66c752537faf7cd665572 COPYING +sha256 d6cb0e9e560f51085556949a84af12b79a00f10ab8b66c752537faf7cd665572 COPYING diff --git a/package/libdvdread/libdvdread.mk b/package/libdvdread/libdvdread.mk index aa91d3162a5..9ddb6721c7a 100644 --- a/package/libdvdread/libdvdread.mk +++ b/package/libdvdread/libdvdread.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVDREAD_VERSION = 6.1.1 +LIBDVDREAD_VERSION = 6.1.2 LIBDVDREAD_SOURCE = libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 LIBDVDREAD_SITE = http://www.videolan.org/pub/videolan/libdvdread/$(LIBDVDREAD_VERSION) LIBDVDREAD_INSTALL_STAGING = YES diff --git a/package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch b/package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch new file mode 100644 index 00000000000..0b4be43b6c7 --- /dev/null +++ b/package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch @@ -0,0 +1,43 @@ +From 4201c0ff3fd75e09025d515c427f85f9fec89621 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Apr 2022 22:27:35 +0200 +Subject: [PATCH] src/eXtl_dtls.c: fix build with libressl >= 3.4.1 + +Fix the following build failure with libressl >= 3.4.1 which provides +SSL_set0_rbio() since +https://github.com/libressl-portable/openbsd/commit/c99939f9665a9c3c648682b4987df46600b70efc: + +In file included from eXtl_dtls.c:82: +/home/autobuild/autobuild/instance-4/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/openssl/ssl.h:1272:6: note: previous declaration of 'SSL_set0_rbio' was here + 1272 | void SSL_set0_rbio(SSL *s, BIO *rbio); + | ^~~~~~~~~~~~~ +eXtl_dtls.c: In function 'SSL_set0_rbio': +eXtl_dtls.c:108:17: error: invalid use of incomplete typedef 'SSL' {aka 'struct ssl_st'} + 108 | BIO_free_all(s->rbio); + | ^~ + +Fixes: + - http://autobuild.buildroot.org/results/dfafdbf71b31fbda1b5ba491ac35239af4a20aa2 + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to amoizard@antisip.com] +--- + src/eXtl_dtls.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/eXtl_dtls.c b/src/eXtl_dtls.c +index 07c0dc2..d0bd7dc 100644 +--- a/src/eXtl_dtls.c ++++ b/src/eXtl_dtls.c +@@ -102,7 +102,7 @@ + #define RANDOM "random.pem" + #define DHFILE "dh1024.pem" + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3040100L) + + static void SSL_set0_rbio(SSL *s, BIO *rbio) { + BIO_free_all(s->rbio); +-- +2.35.1 + diff --git a/package/libeXosip2/0001-src-eXtls_dtls.c-fix-build-with-libressl.patch b/package/libeXosip2/0001-src-eXtls_dtls.c-fix-build-with-libressl.patch deleted file mode 100644 index b153eee65cd..00000000000 --- a/package/libeXosip2/0001-src-eXtls_dtls.c-fix-build-with-libressl.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 178632fa5530a72f50376a60d59be2a07e65c28b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 6 Mar 2021 15:20:51 +0100 -Subject: [PATCH] src/eXtls_dtls.c: fix build with libressl - -Build with libressl is broken since -https://git.savannah.nongnu.org/cgit/exosip.git/commit/?id=d7488b7bbf59870192372384ef338a44be23e888 -because libressl does not define SSL_set0_rbio - -Fixes: - - http://autobuild.buildroot.org/results/89d8d4ba99d6dcc1618cf6b5302c124a92d75be9 - -Signed-off-by: Fabrice Fontaine -[Upstream status: sent to amoizard@antisip.com] ---- - src/eXtl_dtls.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/eXtl_dtls.c b/src/eXtl_dtls.c -index 40fa658..8ac3a13 100644 ---- a/src/eXtl_dtls.c -+++ b/src/eXtl_dtls.c -@@ -70,7 +70,7 @@ - #define RANDOM "random.pem" - #define DHFILE "dh1024.pem" - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - - static void - SSL_set0_rbio (SSL * s, BIO * rbio) --- -2.30.0 - diff --git a/package/libeXosip2/libeXosip2.hash b/package/libeXosip2/libeXosip2.hash index 53e27e929c8..5cfee3ab290 100644 --- a/package/libeXosip2/libeXosip2.hash +++ b/package/libeXosip2/libeXosip2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e3ae88df8573c9e08dbc24fe6195a118845e845109a8e291c91ecd6a2a3b7225 libexosip2-5.2.0.tar.gz +sha256 5b7823986431ea5cedc9f095d6964ace966f093b2ae7d0b08404788bfcebc9c2 libexosip2-5.3.0.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libeXosip2/libeXosip2.mk b/package/libeXosip2/libeXosip2.mk index dba2b63a027..86d821b02f0 100644 --- a/package/libeXosip2/libeXosip2.mk +++ b/package/libeXosip2/libeXosip2.mk @@ -4,13 +4,15 @@ # ################################################################################ -LIBEXOSIP2_VERSION = 5.2.0 +LIBEXOSIP2_VERSION = 5.3.0 # Since version 5.0, letter 'X' in library's name is in lower case LIBEXOSIP2_SOURCE = libexosip2-$(LIBEXOSIP2_VERSION).tar.gz LIBEXOSIP2_SITE = http://download.savannah.gnu.org/releases/exosip LIBEXOSIP2_INSTALL_STAGING = YES LIBEXOSIP2_LICENSE = GPL-2.0+ LIBEXOSIP2_LICENSE_FILES = COPYING +LIBEXOSIP2_CPE_ID_VENDOR = gnu +LIBEXOSIP2_CPE_ID_PRODUCT = exosip LIBEXOSIP2_DEPENDENCIES = host-pkgconf libosip2 diff --git a/package/libeastl/Config.in b/package/libeastl/Config.in index 7609434519c..5abea8f8106 100644 --- a/package/libeastl/Config.in +++ b/package/libeastl/Config.in @@ -13,7 +13,6 @@ config BR2_PACKAGE_LIBEASTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 help EASTL stands for Electronic Arts Standard Template - Library. EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is an extensive diff --git a/package/libebml/0001-include-appropriate-header-files-for-std-numeric_limits.patch b/package/libebml/0001-include-appropriate-header-files-for-std-numeric_limits.patch new file mode 100644 index 00000000000..c7e789c02eb --- /dev/null +++ b/package/libebml/0001-include-appropriate-header-files-for-std-numeric_limits.patch @@ -0,0 +1,40 @@ +From f0bfd53647961e799a43d918c46cf3b6bff89806 Mon Sep 17 00:00:00 2001 +From: Moritz Bunkus +Date: Sat, 27 Feb 2021 20:36:52 +0100 +Subject: [PATCH] include appropriate header files for std::numeric_limits + +Fixes #80. + +[Retrieved (and updated to remove ChangeLog update) from: +https://github.com/Matroska-Org/libebml/commit/f0bfd53647961e799a43d918c46cf3b6bff89806] +Signed-off-by: Fabrice Fontaine +--- + ChangeLog | 4 ++++ + src/EbmlString.cpp | 1 + + src/EbmlUnicodeString.cpp | 1 + + 3 files changed, 6 insertions(+) + +diff --git a/src/EbmlString.cpp b/src/EbmlString.cpp +index 27e55fd..4c05fcf 100644 +--- a/src/EbmlString.cpp ++++ b/src/EbmlString.cpp +@@ -34,6 +34,7 @@ + \author Steve Lhomme + */ + #include ++#include + + #include "ebml/EbmlString.h" + +diff --git a/src/EbmlUnicodeString.cpp b/src/EbmlUnicodeString.cpp +index 496a16a..99fc073 100644 +--- a/src/EbmlUnicodeString.cpp ++++ b/src/EbmlUnicodeString.cpp +@@ -36,6 +36,7 @@ + */ + + #include ++#include + + #include "ebml/EbmlUnicodeString.h" + diff --git a/package/libebur128/libebur128.hash b/package/libebur128/libebur128.hash index e2285bc7cf9..9c8c9e0c311 100644 --- a/package/libebur128/libebur128.hash +++ b/package/libebur128/libebur128.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2ee41a3a5ae3891601ae975d5ec2642b997d276ef647cf5c5b363b6127f7add8 libebur128-1.2.4.tar.gz -sha256 d6b4754bb67bdd08b97d5d11b2d7434997a371585a78fe77007149df3af8d09c COPYING +sha256 baa7fc293a3d4651e244d8022ad03ab797ca3c2ad8442c43199afe8059faa613 libebur128-1.2.6.tar.gz +sha256 d6b4754bb67bdd08b97d5d11b2d7434997a371585a78fe77007149df3af8d09c COPYING diff --git a/package/libebur128/libebur128.mk b/package/libebur128/libebur128.mk index 97c1bdbbd9c..b7272fa7e1d 100644 --- a/package/libebur128/libebur128.mk +++ b/package/libebur128/libebur128.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEBUR128_VERSION = 1.2.4 +LIBEBUR128_VERSION = 1.2.6 LIBEBUR128_SITE = $(call github,jiixyj,libebur128,v$(LIBEBUR128_VERSION)) LIBEBUR128_LICENSE = MIT LIBEBUR128_LICENSE_FILES = COPYING diff --git a/package/libedit/0001-check-bsd-functions-in-libbsd.patch b/package/libedit/0001-check-bsd-functions-in-libbsd.patch index 7438340d48f..0af9472f171 100644 --- a/package/libedit/0001-check-bsd-functions-in-libbsd.patch +++ b/package/libedit/0001-check-bsd-functions-in-libbsd.patch @@ -1,7 +1,7 @@ configure: on Linux, the BSD functions require linking against libbsd Signed-off-by: "Fabrice Fontaine" -(Rebased against 20170329-3.1) +(Rebased against 20210910-3.1) Signed-off-by: "Yann E. MORIN" (Rebased against 20150325-3.1) Signed-off-by: Bernd Kuhls @@ -17,6 +17,6 @@ diff -durN libedit-20130712-3.1.orig/configure.ac libedit-20130712-3.1/configure +# Search for libbsd for *vis functions +AC_CHECK_LIB([bsd], [vis]) + - AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat getline vis strvis strunvis __secure_getenv secure_getenv]) + AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat vis strvis strunvis __secure_getenv secure_getenv]) # strlcpy diff --git a/package/libedit/libedit.hash b/package/libedit/libedit.hash index d405e47b42c..6d139730e8d 100644 --- a/package/libedit/libedit.hash +++ b/package/libedit/libedit.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071 libedit-20191231-3.1.tar.gz +sha256 6792a6a992050762edcca28ff3318cdb7de37dccf7bc30db59fcd7017eed13c5 libedit-20210910-3.1.tar.gz sha256 9da6c9c74987a36c84302982799d17d2f748ba1c1c0c471425716173c1d07649 COPYING diff --git a/package/libedit/libedit.mk b/package/libedit/libedit.mk index cb18b97f6d0..595a59f7029 100644 --- a/package/libedit/libedit.mk +++ b/package/libedit/libedit.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEDIT_VERSION = 20191231-3.1 +LIBEDIT_VERSION = 20210910-3.1 LIBEDIT_SITE = http://www.thrysoee.dk/editline LIBEDIT_INSTALL_STAGING = YES LIBEDIT_DEPENDENCIES = ncurses diff --git a/package/libepoxy/libepoxy.hash b/package/libepoxy/libepoxy.hash index 79876ad01d1..376920c3ccf 100644 --- a/package/libepoxy/libepoxy.hash +++ b/package/libepoxy/libepoxy.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/libepoxy/1.5/libepoxy-1.5.5.sha256sum -sha256 261663db21bcc1cc232b07ea683252ee6992982276536924271535875f5b0556 libepoxy-1.5.5.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/libepoxy/1.5/libepoxy-1.5.9.sha256sum +sha256 d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4 libepoxy-1.5.9.tar.xz # Hashes for license files: -sha256 8d5144666f9c4df9bbd69b8900086d5979259152a1060421cdcc0fb9061a1c12 COPYING +sha256 8d5144666f9c4df9bbd69b8900086d5979259152a1060421cdcc0fb9061a1c12 COPYING diff --git a/package/libepoxy/libepoxy.mk b/package/libepoxy/libepoxy.mk index bb578fb02c3..5a71fe59989 100644 --- a/package/libepoxy/libepoxy.mk +++ b/package/libepoxy/libepoxy.mk @@ -5,7 +5,7 @@ ################################################################################ LIBEPOXY_VERSION_MAJOR = 1.5 -LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).5 +LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).9 LIBEPOXY_SITE = http://ftp.gnome.org/pub/gnome/sources/libepoxy/$(LIBEPOXY_VERSION_MAJOR) LIBEPOXY_SOURCE = libepoxy-$(LIBEPOXY_VERSION).tar.xz LIBEPOXY_INSTALL_STAGING = YES diff --git a/package/liberation/liberation.hash b/package/liberation/liberation.hash index 6606142d86e..70b44e48731 100644 --- a/package/liberation/liberation.hash +++ b/package/liberation/liberation.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 14694930f28391675008c67b18889d1a7dfea74b16adf50394f8057b57eaf8e0 liberation-fonts-ttf-2.1.2.tar.gz +sha256 7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0 liberation-fonts-ttf-2.1.5.tar.gz sha256 93fed46019c38bbe566b479d22148e2e8a1e85ada614accb0211c37b2c61c19b LICENSE diff --git a/package/liberation/liberation.mk b/package/liberation/liberation.mk index 522a038dddf..35f06dc2753 100644 --- a/package/liberation/liberation.mk +++ b/package/liberation/liberation.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBERATION_VERSION = 2.1.2 -LIBERATION_SITE = https://github.com/liberationfonts/liberation-fonts/files/5722233 +LIBERATION_VERSION = 2.1.5 +LIBERATION_SITE = https://github.com/liberationfonts/liberation-fonts/files/7261482 LIBERATION_SOURCE = liberation-fonts-ttf-$(LIBERATION_VERSION).tar.gz LIBERATION_TARGET_DIR = $(TARGET_DIR)/usr/share/fonts/liberation LIBERATION_LICENSE = OFL-1.1 diff --git a/package/libesmtp/Config.in b/package/libesmtp/Config.in index f3ed521d220..c631d127e0d 100644 --- a/package/libesmtp/Config.in +++ b/package/libesmtp/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_LIBESMTP bool "libesmtp" depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL help Library for sending emails through SMTP. - http://brianstafford.info/libesmtp + https://libesmtp.github.io comment "libesmtp needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/libesmtp/libesmtp.hash b/package/libesmtp/libesmtp.hash index 9e1ca22b5b2..596ed4eaca5 100644 --- a/package/libesmtp/libesmtp.hash +++ b/package/libesmtp/libesmtp.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 d0a61a5c52d99fa7ce7d00ed0a07e341dbda67101dbed1ab0cdae3f37db4eb0b libesmtp-1.0.6.tar.bz2 -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING -sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB +sha256 32bc3614ca12d21c7d933f32d43410e8744b6f91fdca7732da9877a385e4e6c3 libesmtp-1.1.0.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING.GPL +sha256 20c17d8b8c48a600800dfd14f95d5cb9ff47066a9641ddeab48dc54aec96e331 LICENSE diff --git a/package/libesmtp/libesmtp.mk b/package/libesmtp/libesmtp.mk index dcffaceddc3..10fe7bf3247 100644 --- a/package/libesmtp/libesmtp.mk +++ b/package/libesmtp/libesmtp.mk @@ -4,14 +4,24 @@ # ################################################################################ -LIBESMTP_VERSION = 1.0.6 -LIBESMTP_SOURCE = libesmtp-$(LIBESMTP_VERSION).tar.bz2 -LIBESMTP_SITE = http://brianstafford.info/libesmtp +LIBESMTP_VERSION = 1.1.0 +LIBESMTP_SITE = $(call github,libesmtp,libESMTP,v$(LIBESMTP_VERSION)) LIBESMTP_INSTALL_STAGING = YES -LIBESMTP_CONFIG_SCRIPTS = libesmtp-config -LIBESMTP_DEPENDENCIES = $(if $(BR2_PACKAGE_OPENSSL),openssl) LIBESMTP_LICENSE = GPL-2.0+ (examples), LGPL-2.1+ (library) -LIBESMTP_LICENSE_FILES = COPYING COPYING.LIB +LIBESMTP_LICENSE_FILES = COPYING.GPL LICENSE LIBESMTP_CPE_ID_VENDOR = libesmtp_project -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBESMTP_CONF_OPTS += -Dtls=enabled +LIBESMTP_DEPENDENCIES += openssl +else +LIBESMTP_CONF_OPTS += -Dtls=disabled +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBESMTP_CONF_OPTS += -Dpthreads=enabled +else +LIBESMTP_CONF_OPTS += -Dpthreads=disabled +endif + +$(eval $(meson-package)) diff --git a/package/libest/0001-java-jni-client.c-add-support-for-OpenSSL-1.1.patch b/package/libest/0001-java-jni-client.c-add-support-for-OpenSSL-1.1.patch new file mode 100644 index 00000000000..3c0d890d3fb --- /dev/null +++ b/package/libest/0001-java-jni-client.c-add-support-for-OpenSSL-1.1.patch @@ -0,0 +1,112 @@ +From 8f152a6e47484056968973a71a16e4f2142213a9 Mon Sep 17 00:00:00 2001 +From: Aleksandr Makarov +Date: Mon, 13 Jul 2020 23:05:26 +0000 +Subject: [PATCH] java/jni/client.c: add support for OpenSSL 1.1 + +This shall allow the java/jni to build with and link against OpenSSL 1.1. + +Additionally, the configuration program will not attempt to process the +java/jni/ subdirectory if no --enable-jni has been specified. + +Upstream: https://github.com/cisco/libest/pull/81/. It was merged +upstream in commit 4fd7e74dc556519132b9ea4c8a0f022bd1254a31, but this +commit mixes multiple patches in one. + +Signed-off-by: Aleksandr Makarov +--- + Makefile.am | 8 ++++++-- + configure.ac | 10 ++++++---- + java/jni/client.c | 21 ++++++++++++++++----- + 3 files changed, 28 insertions(+), 11 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 10e38fd..9601de6 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,9 +1,13 @@ + ACLOCAL_AMFLAGS = -I m4 + ++if ENABLE_JNI ++libest_jni = java/jni ++endif ++ + if ENABLE_CLIENT_ONLY +-SUBDIRS = safe_c_stub src java/jni example/client example/client-simple example/client-brski ++SUBDIRS = safe_c_stub src $(libest_jni) example/client example/client-simple example/client-brski + else +-SUBDIRS = safe_c_stub src java/jni example/client example/client-simple example/server example/proxy example/client-brski ++SUBDIRS = safe_c_stub src $(libest_jni) example/client example/client-simple example/server example/proxy example/client-brski + endif + + EXTRA_DIST = autogen.sh example/util LICENSE README.brski $(srcdir)/build.gradle $(srcdir)/example/build_examples.gradle +diff --git a/configure.ac b/configure.ac +index e02a54d..d648030 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,9 +35,9 @@ AM_COND_IF([FREEBSD], AC_MSG_RESULT([Skipping libdl check]), + AC_ARG_ENABLE([jni], + [AS_HELP_STRING([--enable-jni], + [Enable support for JNI library])], +- [jni_on=1], +- [jni_on=0]) +-AM_CONDITIONAL([ENABLE_JNI], [test x$jni_on = x1]) ++ [], ++ [enable_jni="no"]) ++AM_CONDITIONAL([ENABLE_JNI], [test "$enable_jni" = "yes"]) + AM_COND_IF([ENABLE_JNI], + AC_MSG_RESULT([JNI support enabled]) + AC_DEFINE([ENABLE_JNI]), +@@ -198,5 +198,7 @@ AC_PREFIX_DEFAULT([/usr/local/est]) + + cp confdefs.h est_config.h + +-AC_CONFIG_FILES([Makefile version safe_c_stub/Makefile safe_c_stub/lib/Makefile java/jni/Makefile src/Makefile src/est/Makefile example/client/Makefile example/client-simple/Makefile example/client-brski/Makefile example/server/Makefile example/proxy/Makefile]) ++AC_CONFIG_FILES([Makefile version safe_c_stub/Makefile safe_c_stub/lib/Makefile src/Makefile src/est/Makefile example/client/Makefile example/client-simple/Makefile example/client-brski/Makefile example/server/Makefile example/proxy/Makefile]) ++AM_COND_IF([ENABLE_JNI], ++ [AC_CONFIG_FILES([java/jni/Makefile])]) + AC_OUTPUT +diff --git a/java/jni/client.c b/java/jni/client.c +index 9a8a34e..f7aeefc 100644 +--- a/java/jni/client.c ++++ b/java/jni/client.c +@@ -130,11 +130,18 @@ static int jni_est_client_X509_REQ_sign (X509_REQ *x, EVP_PKEY *pkey, const EVP_ + { + int rv; + EVP_PKEY_CTX *pkctx = NULL; +- EVP_MD_CTX mctx; ++ EVP_MD_CTX *mctx; + +- EVP_MD_CTX_init(&mctx); ++#ifdef HAVE_OLD_OPENSSL ++ EVP_MD_CTX md_ctx; ++ mctx = &md_ctx; + +- if (!EVP_DigestSignInit(&mctx, &pkctx, md, NULL, pkey)) { ++ EVP_MD_CTX_init(mctx); ++#else ++ mctx = EVP_MD_CTX_new(); ++#endif ++ ++ if (!EVP_DigestSignInit(mctx, &pkctx, md, NULL, pkey)) { + return 0; + } + +@@ -150,9 +157,13 @@ static int jni_est_client_X509_REQ_sign (X509_REQ *x, EVP_PKEY *pkey, const EVP_ + x->req_info->enc.modified = 1; + #endif + +- rv = X509_REQ_sign_ctx(x, &mctx); ++ rv = X509_REQ_sign_ctx(x, mctx); + +- EVP_MD_CTX_cleanup(&mctx); ++#ifdef HAVE_OLD_OPENSSL ++ EVP_MD_CTX_cleanup(mctx); ++#else ++ EVP_MD_CTX_free(mctx); ++#endif + + return (rv); + } +-- +2.17.1 + diff --git a/package/libest/0002-Add-enable-disable-examples-flag-to-toggle-examples-.patch b/package/libest/0002-Add-enable-disable-examples-flag-to-toggle-examples-.patch new file mode 100644 index 00000000000..9b35e8831d3 --- /dev/null +++ b/package/libest/0002-Add-enable-disable-examples-flag-to-toggle-examples-.patch @@ -0,0 +1,90 @@ +From 4bd41ea12924161baca48add39ba5ecfab2cae30 Mon Sep 17 00:00:00 2001 +From: Aleksandr Makarov +Date: Mon, 13 Jul 2020 23:42:42 +0000 +Subject: [PATCH] Add --{enable,disable}-examples flag to toggle examples + compilation + +Upstream: https://github.com/cisco/libest/pull/81/. It was merged +upstream in commit 4fd7e74dc556519132b9ea4c8a0f022bd1254a31, but this +commit mixes multiple patches in one. + +Signed-off-by: Aleksandr Makarov +--- + Makefile.am | 11 +++++++---- + configure.ac | 24 ++++++++++++++++++------ + 2 files changed, 25 insertions(+), 10 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 9601de6..e2561e7 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4,10 +4,13 @@ if ENABLE_JNI + libest_jni = java/jni + endif + +-if ENABLE_CLIENT_ONLY +-SUBDIRS = safe_c_stub src $(libest_jni) example/client example/client-simple example/client-brski +-else +-SUBDIRS = safe_c_stub src $(libest_jni) example/client example/client-simple example/server example/proxy example/client-brski ++if ENABLE_EXAMPLES ++if ENABLE_CLIENT_ONLY ++examples = example/client example/client-simple example/client-brski ++else ++examples = example/client example/client-simple example/client-brski example/server example/proxy ++endif + endif + ++SUBDIRS = safe_c_stub src $(libest_jni) $(examples) + EXTRA_DIST = autogen.sh example/util LICENSE README.brski $(srcdir)/build.gradle $(srcdir)/example/build_examples.gradle +diff --git a/configure.ac b/configure.ac +index d648030..95b3223 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2,11 +2,6 @@ dnl Process this file with autoconf to produce a configure script. + AC_INIT([libest],[3.2.0p],[libest-dev]) + AC_CONFIG_AUX_DIR(config) + AC_CONFIG_SRCDIR(src/est/est.c) +-AC_CONFIG_SRCDIR(example/client/estclient.c) +-AC_CONFIG_SRCDIR(example/client-simple/estclient-simple.c) +-AC_CONFIG_SRCDIR(example/client-brski/estclient-brski.c) +-AC_CONFIG_SRCDIR(example/server/estserver.c) +-AC_CONFIG_SRCDIR(example/proxy/estproxy.c) + AC_CONFIG_MACRO_DIR([m4]) + + AM_INIT_AUTOMAKE +@@ -80,6 +75,15 @@ AM_COND_IF([DISABLE_PTHREAD], [], + [AC_CHECK_LIB([pthread], [pthread_create], [], + [AC_MSG_FAILURE([can't find pthread lib])])]) + ++AC_ARG_ENABLE([examples], ++ [AS_HELP_STRING([--disable-examples], ++ [Disable examples compilation])], ++ [], ++ [enable_examples="yes"]) ++AC_MSG_CHECKING(whether to build examples) ++AM_CONDITIONAL([ENABLE_EXAMPLES], [test "$enable_examples" = "yes"]) ++AM_COND_IF([ENABLE_EXAMPLES], AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) ++ + AC_ARG_WITH([ssl-dir], + [AS_HELP_STRING([--with-ssl-dir], + [location of OpenSSL install folder, defaults to /usr/local/ssl])], +@@ -198,7 +202,15 @@ AC_PREFIX_DEFAULT([/usr/local/est]) + + cp confdefs.h est_config.h + +-AC_CONFIG_FILES([Makefile version safe_c_stub/Makefile safe_c_stub/lib/Makefile src/Makefile src/est/Makefile example/client/Makefile example/client-simple/Makefile example/client-brski/Makefile example/server/Makefile example/proxy/Makefile]) ++AC_CONFIG_FILES([Makefile version safe_c_stub/Makefile safe_c_stub/lib/Makefile src/Makefile src/est/Makefile]) + AM_COND_IF([ENABLE_JNI], + [AC_CONFIG_FILES([java/jni/Makefile])]) ++AM_COND_IF([ENABLE_EXAMPLES], ++[ ++ AC_CONFIG_FILES([example/client/Makefile example/client-simple/Makefile example/client-brski/Makefile]) ++ AM_COND_IF([ENABLE_CLIENT_ONLY], ++ [], ++ [AC_CONFIG_FILES([example/server/Makefile example/proxy/Makefile])]) ++]) ++ + AC_OUTPUT +-- +2.17.1 + diff --git a/package/libest/0003-Add-with-system-libsafec-flag-to-link-against-system.patch b/package/libest/0003-Add-with-system-libsafec-flag-to-link-against-system.patch new file mode 100644 index 00000000000..66574cd9379 --- /dev/null +++ b/package/libest/0003-Add-with-system-libsafec-flag-to-link-against-system.patch @@ -0,0 +1,109 @@ +From 017155b98ff3722816a52953b1079c9c8704d2ff Mon Sep 17 00:00:00 2001 +From: Aleksandr Makarov +Date: Tue, 14 Jul 2020 10:03:14 +0000 +Subject: [PATCH] Add --with-system-libsafec flag to link against system + libsafec + +Specifying the --with-system-libsafec flag shall allow the configuration +program to search for and, if found, to link against the libsafec library +that is installed in the system. + +Upstream: https://github.com/cisco/libest/pull/81/. It was merged +upstream in commit 4fd7e74dc556519132b9ea4c8a0f022bd1254a31, but this +commit mixes multiple patches in one. + +Signed-off-by: Aleksandr Makarov +--- + Makefile.am | 6 +++++- + configure.ac | 41 +++++++++++++++++++++++++++++++---------- + 2 files changed, 36 insertions(+), 11 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index e2561e7..d53b0d5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -12,5 +12,9 @@ examples = example/client example/client-simple example/client-brski example/ser + endif + endif + +-SUBDIRS = safe_c_stub src $(libest_jni) $(examples) ++if ! WITH_SYSTEM_LIBSAFEC ++builtin_libsafec = safe_c_stub ++endif ++ ++SUBDIRS = $(builtin_libsafec) src $(libest_jni) $(examples) + EXTRA_DIST = autogen.sh example/util LICENSE README.brski $(srcdir)/build.gradle $(srcdir)/example/build_examples.gradle +diff --git a/configure.ac b/configure.ac +index 95b3223..048aa3c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10,6 +10,7 @@ AM_INIT_AUTOMAKE([subdir-objects]) + + AC_PROG_CC + AM_PROG_CC_C_O ++PKG_PROG_PKG_CONFIG + LT_INIT + AC_CANONICAL_HOST + case $host in +@@ -187,22 +188,39 @@ AC_ARG_WITH([libcoap-dir], + ] + ) + +-SAFEC_STUB_DIR='$(abs_top_builddir)/safe_c_stub' +-AC_SUBST(SAFEC_STUB_DIR) +-safecdir="$SAFEC_STUB_DIR" +-AC_SUBST([SAFEC_DIR], "$safecdir") +-AC_SUBST([SAFEC_CFLAGS], "$safecdir/include") +-AC_SUBST([SAFEC_LDFLAGS], "$safecdir/lib") ++AC_ARG_WITH(system-libsafec, ++ AS_HELP_STRING([--with-system-libsafec], ++ [select to use libsafec installed in the system]), ++ [], ++ [with_system_libsafec="no"]) + +-CFLAGS="$CFLAGS -Wall -I$safecdir/include" +-LDFLAGS="$LDFLAGS -L$safecdir/lib" +-LIBS="$LIBS -lsafe_lib" ++AC_MSG_CHECKING(which libsafec to use) ++AM_CONDITIONAL([WITH_SYSTEM_LIBSAFEC], [test "$with_system_libsafec" = "yes"]) ++AM_COND_IF([WITH_SYSTEM_LIBSAFEC], AC_MSG_RESULT([system]), AC_MSG_RESULT([built-in])) ++AM_COND_IF([WITH_SYSTEM_LIBSAFEC], ++[ ++ PKG_CHECK_MODULES([libsafec], [libsafec]) ++ LIBS="$LIBS $libsafec_LIBS" ++ CFLAGS="$CFLAGS $libsafec_CFLAGS" ++ CPPFLAGS="$CPPFLAGS $libsafec_CFLAGS" ++],[ ++ SAFEC_STUB_DIR='$(abs_top_builddir)/safe_c_stub' ++ AC_SUBST(SAFEC_STUB_DIR) ++ safecdir="$SAFEC_STUB_DIR" ++ AC_SUBST([SAFEC_DIR], "$safecdir") ++ AC_SUBST([SAFEC_CFLAGS], "$safecdir/include") ++ AC_SUBST([SAFEC_LDFLAGS], "$safecdir/lib") ++ ++ CFLAGS="$CFLAGS -Wall -I$safecdir/include" ++ LDFLAGS="$LDFLAGS -L$safecdir/lib" ++ LIBS="$LIBS -lsafe_lib" ++]) + + AC_PREFIX_DEFAULT([/usr/local/est]) + + cp confdefs.h est_config.h + +-AC_CONFIG_FILES([Makefile version safe_c_stub/Makefile safe_c_stub/lib/Makefile src/Makefile src/est/Makefile]) ++AC_CONFIG_FILES([Makefile version src/Makefile src/est/Makefile]) + AM_COND_IF([ENABLE_JNI], + [AC_CONFIG_FILES([java/jni/Makefile])]) + AM_COND_IF([ENABLE_EXAMPLES], +@@ -212,5 +230,8 @@ AM_COND_IF([ENABLE_EXAMPLES], + [], + [AC_CONFIG_FILES([example/server/Makefile example/proxy/Makefile])]) + ]) ++AM_COND_IF([WITH_SYSTEM_LIBSAFEC], ++ [], ++ [AC_CONFIG_FILES([safe_c_stub/Makefile safe_c_stub/lib/Makefile])]) + + AC_OUTPUT +-- +2.17.1 + diff --git a/package/libest/0004-configure.ac-Fix-AC_ARG_ENABLE-AC_ARG_WITH-macros.patch b/package/libest/0004-configure.ac-Fix-AC_ARG_ENABLE-AC_ARG_WITH-macros.patch new file mode 100644 index 00000000000..f5e1b0c41a4 --- /dev/null +++ b/package/libest/0004-configure.ac-Fix-AC_ARG_ENABLE-AC_ARG_WITH-macros.patch @@ -0,0 +1,164 @@ +From 9a76187aa4d779de39afa12024d5a73a14175371 Mon Sep 17 00:00:00 2001 +From: Aleksandr Makarov +Date: Wed, 15 Jul 2020 11:25:05 +0000 +Subject: [PATCH] configure.ac: Fix AC_ARG_ENABLE/AC_ARG_WITH macros + +Multiple tests in configure.ac are flawed: + +[--snip--] + AC_ARG_ENABLE([pthreads], + [AS_HELP_STRING([--disable-pthreads], + [Disable support for pthreads])], + [pthreads_on=1], + [pthreads_on=0]) +[--snip--] + +The third argument is "action-if-given" and the fourth argument +is "action-if-not-given" [0]. Which means that, whether you pass +--enable-pthreads or --disable-pthreads, the third argument will be +executed, that is "pthreads_on=1". And if you pass neither, the fourth +argument will be executed, i.e. "pthreads_on=0". + +We want `--enable-pthreads` and `--disable-pthreads` flags to do their job. +The right way to do that will be to eliminate "action-if-given" and replace +the user-defined `FEATURE_on=0|1` shell variables with the `enable_FEATURE` +and `with_PACKAGE` shell variables provided by Autotools. + +[0] https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html#Package-Options + +Upstream: https://github.com/cisco/libest/pull/81/. It was merged +upstream in commit 4fd7e74dc556519132b9ea4c8a0f022bd1254a31, but this +commit mixes multiple patches in one. + +Signed-off-by: Aleksandr Makarov +--- + configure.ac | 60 ++++++++++++++++++++++++++-------------------------- + 1 file changed, 30 insertions(+), 30 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 048aa3c..0b930bf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -43,9 +43,9 @@ AM_CONDITIONAL([JAVA_HOME_SET], [test ! -z "$JAVA_HOME"]) + AC_ARG_ENABLE([client-only], + [AS_HELP_STRING([--enable-client-only], + [Enable the building of only the client mode of libEST])], +- [clientonly_on=1], +- [clientonly_on=0]) +-AM_CONDITIONAL([ENABLE_CLIENT_ONLY], [test x$clientonly_on = x1]) ++ [], ++ [enable_client_only="no"]) ++AM_CONDITIONAL([ENABLE_CLIENT_ONLY], [test "$enable_client_only" = "yes"]) + AM_COND_IF([ENABLE_CLIENT_ONLY], + AC_MSG_RESULT([Client only build enabled]) + AC_DEFINE([ENABLE_CLIENT_ONLY]), +@@ -54,9 +54,9 @@ AM_COND_IF([ENABLE_CLIENT_ONLY], + AC_ARG_ENABLE([brski], + [AS_HELP_STRING([--enable-brski], + [Enable support for brski bootstrap functionality])], +- [brski_on=1], +- [brski_on=0]) +-AM_CONDITIONAL([ENABLE_BRSKI], [test x$brski_on = x1]) ++ [], ++ [enable_brski="no"]) ++AM_CONDITIONAL([ENABLE_BRSKI], [test "$enable_brski" = "yes"]) + AM_COND_IF([ENABLE_BRSKI], + AC_MSG_RESULT([BRSKI support enabled]) + AC_DEFINE([ENABLE_BRSKI]), +@@ -65,9 +65,9 @@ AM_COND_IF([ENABLE_BRSKI], + AC_ARG_ENABLE([pthreads], + [AS_HELP_STRING([--disable-pthreads], + [Disable support for pthreads])], +- [pthreads_on=1], +- [pthreads_on=0]) +-AM_CONDITIONAL([DISABLE_PTHREAD], [test x$pthreads_on = x1]) ++ [], ++ [enable_pthreads="yes"]) ++AM_CONDITIONAL([DISABLE_PTHREAD], [test "$enable_pthreads" = "no"]) + AM_COND_IF([DISABLE_PTHREAD], + AC_MSG_RESULT([pthread support disabled]) + AC_DEFINE([DISABLE_PTHREADS]), +@@ -88,13 +88,13 @@ AM_COND_IF([ENABLE_EXAMPLES], AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) + AC_ARG_WITH([ssl-dir], + [AS_HELP_STRING([--with-ssl-dir], + [location of OpenSSL install folder, defaults to /usr/local/ssl])], +- [ssldir="$withval"], +- [ssldir="/usr/local/ssl"]) +-AC_SUBST([SSL_CFLAGS], "$ssldir/include") +-AC_SUBST([SSL_LDFLAGS], "$ssldir/lib") ++ [], ++ [with_ssl_dir="/usr/local/ssl"]) ++AC_SUBST([SSL_CFLAGS], "$with_ssl_dir/include") ++AC_SUBST([SSL_LDFLAGS], "$with_ssl_dir/lib") + +-CFLAGS="$CFLAGS -Wall -I$ssldir/include" +-LDFLAGS="$LDFLAGS -L$ssldir/lib" ++CFLAGS="$CFLAGS -Wall -I$with_ssl_dir/include" ++LDFLAGS="$LDFLAGS -L$with_ssl_dir/lib" + if test "$is_freebsd" = "1" ; then + AC_CHECK_LIB([crypto], [EVP_EncryptInit], [], + [AC_MSG_FAILURE([can't find openssl crypto lib])] +@@ -120,13 +120,13 @@ AC_CHECK_LIB([crypto], [EVP_CIPHER_CTX_reset], [], + AC_ARG_WITH([libcurl-dir], + [AS_HELP_STRING([--with-libcurl-dir], + [enable support for client proxy using libcurl])], +- [libcurldir="$withval"], +- [with_libcurldir=no]) ++ [], ++ [with_libcurl_dir=no]) + + AS_IF( +- [test "x$with_libcurldir" != xno], +- [[CFLAGS="$CFLAGS -I$libcurldir/include"] +- [LDFLAGS="$LDFLAGS -L$libcurldir/lib -lcurl"] ++ [test "$with_libcurl_dir" != "no"], ++ [[CFLAGS="$CFLAGS -I$with_libcurl_dir/include"] ++ [LDFLAGS="$LDFLAGS -L$with_libcurl_dir/lib -lcurl"] + AC_CHECK_LIB( + [curl], + [curl_easy_init], +@@ -143,17 +143,17 @@ AC_ARG_WITH([libcurl-dir], + AC_ARG_WITH([uriparser-dir], + [AS_HELP_STRING([--with-uriparser-dir], + [enable support for path segments using uriparser])], +- [uriparserdir="$withval"], +- [with_uriparserdir=no]) ++ [], ++ [with_uriparser_dir=no]) + + dnl CFLAGS="$CFLAGS -Wall -I$uriparserdir/include" + dnl CPPFLAGS="$CPPFLAGS -I$uriparser/include" + dnl LDFLAGS="$LDFLAGS -L$uriparserdir/lib -luriparser" + + AS_IF( +- [test "x$with_uriparserdir" != xno], +- [[CFLAGS="$CFLAGS -I$uriparserdir/include"] +- [LDFLAGS="$LDFLAGS -L$uriparserdir/lib -luriparser"] ++ [test "$with_uriparser_dir" != "no"], ++ [[CFLAGS="$CFLAGS -I$with_uriparser_dir/include"] ++ [LDFLAGS="$LDFLAGS -L$with_uriparser_dir/lib -luriparser"] + AC_CHECK_LIB( + [uriparser], + [uriParseUriA], +@@ -170,13 +170,13 @@ AC_ARG_WITH([uriparser-dir], + AC_ARG_WITH([libcoap-dir], + [AS_HELP_STRING([--with-libcoap-dir], + [enable support for ESToCoAP using libcoap library])], +- [libcoapdir="$withval"], +- [with_libcoapdir=no]) ++ [], ++ [with_libcoap_dir=no]) + + AS_IF( +- [test "x$with_libcoapdir" != xno], +- [[CFLAGS="$CFLAGS -I$libcoapdir/include"] +- [LDFLAGS="$LDFLAGS -L$libcoapdir/lib -lcoap-2-openssl"] ++ [test "$with_libcoap_dir" != "no"], ++ [[CFLAGS="$CFLAGS -I$with_libcoap_dir/include"] ++ [LDFLAGS="$LDFLAGS -L$with_libcoap_dir/lib -lcoap-2-openssl"] + AC_CHECK_LIB( + [coap-2-openssl], + [coap_startup], +-- +2.17.1 + diff --git a/package/libest/0005-configure.ac-remove-duplicate-invocation-of-AM_INIT_.patch b/package/libest/0005-configure.ac-remove-duplicate-invocation-of-AM_INIT_.patch new file mode 100644 index 00000000000..1ee35ad7f96 --- /dev/null +++ b/package/libest/0005-configure.ac-remove-duplicate-invocation-of-AM_INIT_.patch @@ -0,0 +1,36 @@ +From bd4fad5e427f4d2828f2edbe8063f6d6c9276c7b Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 8 Jan 2022 13:30:58 +0100 +Subject: [PATCH] configure.ac: remove duplicate invocation of AM_INIT_AUTOMAKE + +autoreconf fails with: + +configure.ac:9: error: AM_INIT_AUTOMAKE expanded multiple times +/home/thomas/projets/buildroot/output/host/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from... +configure.ac:7: the top level +/home/thomas/projets/buildroot/output/host/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from... +configure.ac:9: the top level + +Drop the duplicate invocation to AM_INIT_AUTOMAKE to solve this. + +Upstream: https://github.com/cisco/libest/pull/106 +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0b930bf..66a91f2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4,7 +4,6 @@ AC_CONFIG_AUX_DIR(config) + AC_CONFIG_SRCDIR(src/est/est.c) + AC_CONFIG_MACRO_DIR([m4]) + +-AM_INIT_AUTOMAKE + AM_MAINTAINER_MODE + AM_INIT_AUTOMAKE([subdir-objects]) + +-- +2.33.1 + diff --git a/package/libest/0006-src-est-est_locl.h-add-missing-extern-on-e_ctx_ssl_e.patch b/package/libest/0006-src-est-est_locl.h-add-missing-extern-on-e_ctx_ssl_e.patch new file mode 100644 index 00000000000..ba0ecb4a867 --- /dev/null +++ b/package/libest/0006-src-est-est_locl.h-add-missing-extern-on-e_ctx_ssl_e.patch @@ -0,0 +1,42 @@ +From 32fe99fa403d2f51931615745a64f8aede1ca46f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 8 Jan 2022 13:38:17 +0100 +Subject: [PATCH] src/est/est_locl.h: add missing extern on + e_ctx_ssl_exdata_index + +Without this extern, the variable gets re-declared in each compilation +unit including est_locl.h, causing gcc >= 10 to complain with: + +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_client.o:(.data+0x0): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_server.o:(.bss+0xc): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_server_http.o:(.bss+0x3b8): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_proxy.o:(.bss+0x0): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_client_http.o:(.bss+0x0): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_ossl_util.o:(.bss+0x0): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_client_proxy.o:(.bss+0x0): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_enhcd_cert_auth.o:(.bss+0x0): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: .libs/est_server_coap.o:(.bss+0x0): multiple definition of `e_ctx_ssl_exdata_index'; .libs/est.o:(.bss+0x8): first defined here +collect2: error: ld returned 1 exit status + +Upstream: https://github.com/cisco/libest/pull/107 +Signed-off-by: Thomas Petazzoni +--- + src/est/est_locl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/est/est_locl.h b/src/est/est_locl.h +index 62dcbea..b16f62d 100644 +--- a/src/est/est_locl.h ++++ b/src/est/est_locl.h +@@ -590,7 +590,7 @@ typedef struct est_oid_list { + /* + * Index used to link the EST Ctx into the SSL structures + */ +-int e_ctx_ssl_exdata_index; ++extern int e_ctx_ssl_exdata_index; + + LIBEST_TEST_API void est_log (EST_LOG_LEVEL lvl, char *format, ...); + LIBEST_TEST_API void est_log_backtrace (void); +-- +2.33.1 + diff --git a/package/libest/Config.in b/package/libest/Config.in new file mode 100644 index 00000000000..6abe9d28480 --- /dev/null +++ b/package/libest/Config.in @@ -0,0 +1,31 @@ +comment "libest needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +config BR2_PACKAGE_LIBEST + bool "libest" + depends on !BR2_STATIC_LIBS # libexecinfo or glibc + select BR2_PACKAGE_LIBEXECINFO if !BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + help + libest is a C implementation of RFC 7030 (Enrollment over + Secure Transport). + + It can be used to provision public key certificates from + a certificate authority (CA) or registration authority (RA) + to end-user devices and network infrastructure devices. + + https://github.com/cisco/libest + +if BR2_PACKAGE_LIBEST + +config BR2_PACKAGE_LIBEST_BRSKI + bool "BRSKI support" + +config BR2_PACKAGE_LIBEST_MODE_CLIENT_ONLY + bool "client-only mode" + # The client-only mode fails to build with OpenJDK/JNI + # bindings + depends on !BR2_PACKAGE_OPENJDK + +endif # BR2_PACKAGE_LIBEST diff --git a/package/libest/libest.hash b/package/libest/libest.hash new file mode 100644 index 00000000000..c902a9568fc --- /dev/null +++ b/package/libest/libest.hash @@ -0,0 +1,3 @@ +# Computed locally +sha256 324b3a2b16cd14ea4234d75fa90f08b29509bac9cd3795c44268e22f906ee0ad libest-3.2.0.tar.gz +sha256 fbdb055f98babf8d86095d6f9b9e34d2ff21a8212e442b8f18bdcb403e44366c LICENSE diff --git a/package/libest/libest.mk b/package/libest/libest.mk new file mode 100644 index 00000000000..d9f3cf87bc3 --- /dev/null +++ b/package/libest/libest.mk @@ -0,0 +1,71 @@ +################################################################################ +# +# libest +# +################################################################################ + +LIBEST_VERSION = 3.2.0 +LIBEST_SITE = $(call github,cisco,libest,r$(LIBEST_VERSION)) +# We don't build examples, so we're not affected by the OpenSSL +# license +LIBEST_LICENSE = BSD-3-Clause, MIT, W3C +LIBEST_LICENSE_FILES = LICENSE +LIBEST_INSTALL_STAGING = YES +LIBEST_AUTORECONF = YES +LIBEST_DEPENDENCIES = openssl host-pkgconf +# libcoap support is explicitly disabled because it breaks the build +LIBEST_CONF_OPTS = \ + --with-ssl-dir=$(STAGING_DIR)/usr \ + $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-pthreads,--disable-pthreads) \ + $(if $(BR2_PACKAGE_LIBEST_BRSKI),--enable-brski,--disable-brski) \ + --disable-examples \ + --without-libcoap-dir + +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +LIBEST_DEPENDENCIES += libexecinfo +LIBEST_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" +endif + +ifeq ($(BR2_PACKAGE_LIBEST_MODE_CLIENT_ONLY),y) +LIBEST_CONF_OPTS += --enable-client-only +else +LIBEST_CONF_OPTS += --disable-client-only +endif + +ifeq ($(BR2_PACKAGE_OPENJDK),y) +LIBEST_MAKE_ENV += JAVA_HOME=$(HOST_DIR)/lib/jvm +LIBEST_CONF_ENV += JAVA_HOME=$(HOST_DIR)/lib/jvm +LIBEST_CONF_OPTS += --enable-jni +LIBEST_DEPENDENCIES += openjdk +else +LIBEST_CONF_OPTS += --disable-jni +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBEST_CONF_OPTS += --with-libcurl-dir=$(STAGING_DIR)/usr +LIBEST_DEPENDENCIES += libcurl +else +LIBEST_CONF_OPTS += --without-libcurl-dir +endif + +ifeq ($(BR2_PACKAGE_LIBURIPARSER),y) +LIBEST_CONF_OPTS += --with-uriparser-dir=$(STAGING_DIR)/usr +LIBEST_DEPENDENCIES += liburiparser +else +LIBEST_CONF_OPTS += --without-uriparser-dir +endif + +ifeq ($(BR2_PACKAGE_SAFECLIB),y) +LIBEST_CONF_OPTS += --with-system-libsafec +LIBEST_DEPENDENCIES += safeclib +else +LIBEST_CONF_OPTS += --without-system-libsafec +endif + +define LIBEST_INSTALL_PC + $(INSTALL) -c -m 0644 $(LIBEST_PKGDIR)/libest.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/libest.pc +endef +LIBEST_POST_INSTALL_STAGING_HOOKS += LIBEST_INSTALL_PC + +$(eval $(autotools-package)) diff --git a/package/libest/libest.pc b/package/libest/libest.pc new file mode 100644 index 00000000000..166240f9d1c --- /dev/null +++ b/package/libest/libest.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: libest +Description: implementation of RFC 7030 (Enrollment over Secure Transport) +Version: 2.1.0 +Libs: -lest +Cflags: -I${includedir}/est diff --git a/package/libev/libev.hash b/package/libev/libev.hash index 9ab341dedd6..a849f3f39a1 100644 --- a/package/libev/libev.hash +++ b/package/libev/libev.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2d5526fc8da4f072dd5c73e18fbb1666f5ef8ed78b73bba12e195cfdd810344e libev-4.27.tar.gz -sha256 c4dd1a5bc38b041a320b93c5d6c08f5c41a63f2ce718ee16cfcb757fad448199 LICENSE +sha256 507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea libev-4.33.tar.gz +sha256 c4dd1a5bc38b041a320b93c5d6c08f5c41a63f2ce718ee16cfcb757fad448199 LICENSE diff --git a/package/libev/libev.mk b/package/libev/libev.mk index 38b0530f62e..9f3c19d46cd 100644 --- a/package/libev/libev.mk +++ b/package/libev/libev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEV_VERSION = 4.27 +LIBEV_VERSION = 4.33 LIBEV_SITE = http://dist.schmorp.de/libev/Attic LIBEV_INSTALL_STAGING = YES LIBEV_LICENSE = BSD-2-Clause or GPL-2.0+ diff --git a/package/libevdev/libevdev.hash b/package/libevdev/libevdev.hash index 584a9941c53..dd76e158efd 100644 --- a/package/libevdev/libevdev.hash +++ b/package/libevdev/libevdev.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/input-tools/2021-February/001557.html -sha256 63f4ea1489858a109080e0b40bd43e4e0903a1e12ea888d581db8c495747c2d0 libevdev-1.11.0.tar.xz -sha512 b3c6b4a1532c5142f3684b920dcdd497a5368aec516e8c389e2c8f9d1eaba16c907b2a7f2c82a3c3ff89bb4d0ae5503c736098c095f9f1bc98f0668e99bf639d libevdev-1.11.0.tar.xz +# From https://lists.freedesktop.org/archives/input-tools/2022-March/001574.html +sha256 1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c libevdev-1.12.1.tar.xz +sha512 eefce287a665e4f89eb2e0437dfefd45ecf8925c7dac35a1bdd46158541f77f2032c6146900a30a01321751d55a9b537bd1d61777cca9cfa02c39a6e31c97be4 libevdev-1.12.1.tar.xz # Hash for license files: sha256 6f13de7ce28e4948ba95170e0723ee1254c1978ce1f127af82aeca597b567cb9 COPYING diff --git a/package/libevdev/libevdev.mk b/package/libevdev/libevdev.mk index f6172809fd7..726a5afcee5 100644 --- a/package/libevdev/libevdev.mk +++ b/package/libevdev/libevdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.11.0 +LIBEVDEV_VERSION = 1.12.1 LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz LIBEVDEV_LICENSE = MIT diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk index 93ba88ca883..4c23156f722 100644 --- a/package/libevent/libevent.mk +++ b/package/libevent/libevent.mk @@ -25,7 +25,7 @@ endef # libevent installs a python script to target - get rid of it if we # don't have python support enabled -ifneq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) +ifneq ($(BR2_PACKAGE_PYTHON3),y) LIBEVENT_POST_INSTALL_TARGET_HOOKS += LIBEVENT_REMOVE_PYSCRIPT endif diff --git a/package/libexecinfo/Config.in b/package/libexecinfo/Config.in new file mode 100644 index 00000000000..e90dfc4e877 --- /dev/null +++ b/package/libexecinfo/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBEXECINFO + bool "libexecinfo" + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on !BR2_TOOLCHAIN_USES_GLIBC + help + Library for inspecting program's backtrace + + https://github.com/mikroskeem/libexecinfo + +comment "libexecinfo needs a musl or uclibc toolchain w/ dynamic library" + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS diff --git a/package/libexecinfo/libexecinfo.hash b/package/libexecinfo/libexecinfo.hash new file mode 100644 index 00000000000..4719b7699e5 --- /dev/null +++ b/package/libexecinfo/libexecinfo.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 0462304192fab38c39a376594db1c8bdab4ebda2736bf54f01715917f430611e libexecinfo-1.1-3.tar.gz +sha256 46fbc8e6849a164c4ba8fd5875748bde302bf3cd713622af0e51b4e10344f516 execinfo.h diff --git a/package/libexecinfo/libexecinfo.mk b/package/libexecinfo/libexecinfo.mk new file mode 100644 index 00000000000..85f4fd8c103 --- /dev/null +++ b/package/libexecinfo/libexecinfo.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# libexecinfo +# +################################################################################ + +LIBEXECINFO_VERSION = 1.1-3 +LIBEXECINFO_SITE = $(call github,mikroskeem,libexecinfo,$(LIBEXECINFO_VERSION)) +LIBEXECINFO_LICENSE = BSD-2-Clause +LIBEXECINFO_LICENSE_FILES = execinfo.h +LIBEXECINFO_INSTALL_STAGING = YES + +define LIBEXECINFO_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + EXECINFO_CFLAGS="$(TARGET_CFLAGS) -c" +endef + +define LIBEXECINFO_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + EXECINFO_CFLAGS="$(TARGET_CFLAGS) -c" \ + DESTDIR="$(STAGING_DIR)" PREFIX=/usr install +endef + +define LIBEXECINFO_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + EXECINFO_CFLAGS="$(TARGET_CFLAGS) -c" \ + DESTDIR="$(TARGET_DIR)" PREFIX=/usr install +endef + +$(eval $(generic-package)) diff --git a/package/libexif/0001-fixed-another-unsigned-integer-overflow.patch b/package/libexif/0001-fixed-another-unsigned-integer-overflow.patch deleted file mode 100644 index 77bdfe89d29..00000000000 --- a/package/libexif/0001-fixed-another-unsigned-integer-overflow.patch +++ /dev/null @@ -1,63 +0,0 @@ -From ce03ad7ef4e8aeefce79192bf5b6f69fae396f0c Mon Sep 17 00:00:00 2001 -From: Marcus Meissner -Date: Mon, 8 Jun 2020 17:27:06 +0200 -Subject: [PATCH] fixed another unsigned integer overflow - -first fixed by google in android fork, -https://android.googlesource.com/platform/external/libexif/+/1e187b62682ffab5003c702657d6d725b4278f16%5E%21/#F0 - -(use a more generic overflow check method, also check second overflow instance.) - -https://security-tracker.debian.org/tracker/CVE-2020-0198 - -Downloaded from upstream commit: -https://github.com/libexif/libexif/commit/ce03ad7ef4e8aeefce79192bf5b6f69fae396f0c - -Signed-off-by: Bernd Kuhls ---- - libexif/exif-data.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/libexif/exif-data.c b/libexif/exif-data.c -index 8b280d3..b495726 100644 ---- a/libexif/exif-data.c -+++ b/libexif/exif-data.c -@@ -47,6 +47,8 @@ - #undef JPEG_MARKER_APP1 - #define JPEG_MARKER_APP1 0xe1 - -+#define CHECKOVERFLOW(offset,datasize,structsize) (( offset >= datasize) || (structsize > datasize) || (offset > datasize - structsize )) -+ - static const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00}; - - struct _ExifDataPrivate -@@ -327,7 +329,7 @@ exif_data_load_data_thumbnail (ExifData *data, const unsigned char *d, - exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail offset (%u).", o); - return; - } -- if (s > ds - o) { -+ if (CHECKOVERFLOW(o,ds,s)) { - exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail size (%u), max would be %u.", s, ds-o); - return; - } -@@ -420,9 +422,9 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd, - } - - /* Read the number of entries */ -- if ((offset + 2 < offset) || (offset + 2 < 2) || (offset + 2 > ds)) { -+ if (CHECKOVERFLOW(offset, ds, 2)) { - exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData", -- "Tag data past end of buffer (%u > %u)", offset+2, ds); -+ "Tag data past end of buffer (%u+2 > %u)", offset, ds); - return; - } - n = exif_get_short (d + offset, data->priv->order); -@@ -431,7 +433,7 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd, - offset += 2; - - /* Check if we have enough data. */ -- if (offset + 12 * n > ds) { -+ if (CHECKOVERFLOW(offset, ds, 12*n)) { - n = (ds - offset) / 12; - exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", - "Short data; only loading %hu entries...", n); diff --git a/package/libexif/0002-fixed-a-incorrect-overflow-check.patch b/package/libexif/0002-fixed-a-incorrect-overflow-check.patch deleted file mode 100644 index 1946f782287..00000000000 --- a/package/libexif/0002-fixed-a-incorrect-overflow-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9266d14b5ca4e29b970fa03272318e5f99386e06 Mon Sep 17 00:00:00 2001 -From: Marcus Meissner -Date: Thu, 5 Nov 2020 09:50:08 +0100 -Subject: [PATCH] fixed a incorrect overflow check that could be optimized - away. - -inspired by: -https://android.googlesource.com/platform/external/libexif/+/8e7345f3bc0bad06ac369d6cbc1124c8ceaf7d4b - -https://source.android.com/security/bulletin/2020-11-01 - -CVE-2020-0452 - -Downloaded from upstream commit, rebased for 0.6.22: -https://github.com/libexif/libexif/commit/9266d14b5ca4e29b970fa03272318e5f99386e06 - -Signed-off-by: Bernd Kuhls ---- - libexif/exif-entry.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libexif/exif-entry.c b/libexif/exif-entry.c -index 3fc0ff9..4b866ce 100644 ---- a/libexif/exif-entry.c -+++ b/libexif/exif-entry.c -@@ -1371,8 +1371,8 @@ exif_entry_get_value (ExifEntry *e, char *val, unsigned int maxlen) - { - unsigned char *utf16; - -- /* Sanity check the size to prevent overflow */ -- if (e->size+sizeof(uint16_t)+1 < e->size) break; -+ /* Sanity check the size to prevent overflow. Note EXIF files are 64kb at most. */ -+ if (e->size >= 65536 - sizeof(uint16_t)*2) break; - - /* The tag may not be U+0000-terminated , so make a local - U+0000-terminated copy before converting it */ diff --git a/package/libexif/libexif.hash b/package/libexif/libexif.hash index 1a2157b3f58..0d082aedb0f 100644 --- a/package/libexif/libexif.hash +++ b/package/libexif/libexif.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56 libexif-0.6.22.tar.xz +sha256 d47564c433b733d83b6704c70477e0a4067811d184ec565258ac563d8223f6ae libexif-0.6.24.tar.bz2 sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/libexif/libexif.mk b/package/libexif/libexif.mk index 9a25e90d26b..921029b4ac3 100644 --- a/package/libexif/libexif.mk +++ b/package/libexif/libexif.mk @@ -4,18 +4,14 @@ # ################################################################################ -LIBEXIF_VERSION = 0.6.22 -LIBEXIF_SOURCE = libexif-$(LIBEXIF_VERSION).tar.xz +LIBEXIF_VERSION = 0.6.24 +LIBEXIF_SOURCE = libexif-$(LIBEXIF_VERSION).tar.bz2 LIBEXIF_SITE = \ - https://github.com/libexif/libexif/releases/download/libexif-$(subst .,_,$(LIBEXIF_VERSION))-release + https://github.com/libexif/libexif/releases/download/v$(LIBEXIF_VERSION) LIBEXIF_INSTALL_STAGING = YES LIBEXIF_DEPENDENCIES = host-pkgconf LIBEXIF_LICENSE = LGPL-2.1+ LIBEXIF_LICENSE_FILES = COPYING LIBEXIF_CPE_ID_VENDOR = libexif_project -# 0001-fixed-another-unsigned-integer-overflow.patch -LIBEXIF_IGNORE_CVES += CVE-2020-0198 -# 0002-fixed-a-incorrect-overflow-check.patch -LIBEXIF_IGNORE_CVES += CVE-2020-0452 $(eval $(autotools-package)) diff --git a/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch b/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch deleted file mode 100644 index 7ee1f1029ef..00000000000 --- a/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch +++ /dev/null @@ -1,51 +0,0 @@ -From f9d8f11d60cdc656a801e0d8116101beb22e117b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 24 Nov 2019 09:52:01 +0100 -Subject: [PATCH] ffi_powerpc.h: fix build failure with powerpc7 - -Sicne commit 73dd43afc8a447ba98ea02e9aad4c6898dc77fb0, build on powerpc7 -fails on: - -In file included from ../src/powerpc/ffi.c:33:0: -../src/powerpc/ffi_powerpc.h:61:9: error: '_Float128' is not supported on this target - typedef _Float128 float128; - ^~~~~~~~~ - -Fix this build failure by checking for __HAVE_FLOAT128 before using -_Float128, as _Float128 is enabled only on specific conditions, see -output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/floatn.h: - - /* Defined to 1 if the current compiler invocation provides a - floating-point type with the IEEE 754 binary128 format, and this glibc - includes corresponding *f128 interfaces for it. */ - #if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \ - && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH - # define __HAVE_FLOAT128 1 - #else - # define __HAVE_FLOAT128 0 - #endif - -Fixes: - - http://autobuild.buildroot.org/results/5c9dd8fb3b6a128882b6250f197c80232d8a3b53 - -Signed-off-by: Fabrice Fontaine ---- - src/powerpc/ffi_powerpc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h -index 5ee2a70..a5a786b 100644 ---- a/src/powerpc/ffi_powerpc.h -+++ b/src/powerpc/ffi_powerpc.h -@@ -57,7 +57,7 @@ typedef union - double d; - } ffi_dblfl; - --#if defined(__FLOAT128_TYPE__) -+#if defined(__FLOAT128_TYPE__) && defined(__HAVE_FLOAT128) - typedef _Float128 float128; - #elif defined(__FLOAT128__) - typedef __float128 float128; --- -2.24.0 - diff --git a/package/libffi/0005-powerpc-fix-build-failure-on-power7-and-older.patch b/package/libffi/0005-powerpc-fix-build-failure-on-power7-and-older.patch deleted file mode 100644 index d0b91dda680..00000000000 --- a/package/libffi/0005-powerpc-fix-build-failure-on-power7-and-older.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Thu, 28 Nov 2019 12:42:41 +0000 -Subject: [PATCH] powerpc: fix build failure on power7 and older (#532) - -Build failure looks as: -``` -libtool: compile: powerpc-unknown-linux-gnu-gcc \ - -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ... -In file included from src/powerpc/ffi.c:33: -src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target - 65 | typedef __int128 float128; - | ^~~~~~~~ -``` - -The fix avoids using __int128 in favour of aligned char[16]. - -Closes: https://github.com/libffi/libffi/issues/531 -Signed-off-by: Sergei Trofimovich -[Retrieved from: -https://github.com/libffi/libffi/commit/01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd] -Signed-off-by: Fabrice Fontaine ---- - src/powerpc/ffi_powerpc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h -index 5ee2a709..8e2f2f0e 100644 ---- a/src/powerpc/ffi_powerpc.h -+++ b/src/powerpc/ffi_powerpc.h -@@ -62,7 +62,7 @@ typedef _Float128 float128; - #elif defined(__FLOAT128__) - typedef __float128 float128; - #else --typedef __int128 float128; -+typedef char float128[16] __attribute__((aligned(16))); - #endif - - void FFI_HIDDEN ffi_closure_SYSV (void); diff --git a/package/libffi/0006-Address-platforms-with-no-__int128.patch b/package/libffi/0006-Address-platforms-with-no-__int128.patch deleted file mode 100644 index 012c6f0daeb..00000000000 --- a/package/libffi/0006-Address-platforms-with-no-__int128.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 6663047f56c2932a6b10a790f4ac6666dd181326 Mon Sep 17 00:00:00 2001 -From: Anthony Green -Date: Fri, 29 Nov 2019 07:00:35 -0500 -Subject: [PATCH] Address platforms with no __int128. - -[Retrieved from: -https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326] -Signed-off-by: Fabrice Fontaine ---- - src/powerpc/ffi_linux64.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c -index de0d0337..73647701 100644 ---- a/src/powerpc/ffi_linux64.c -+++ b/src/powerpc/ffi_linux64.c -@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) - if (next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs) -- *vec_base.f128++ = **p_argv.f128; -+ memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128)); - else -- *next_arg.f128 = **p_argv.f128; -+ memcpy (next_arg.f128, *p_argv.f128, sizeof (float128)); - if (++next_arg.f128 == gpr_end.f128) - next_arg.f128 = rest.f128; - vecarg_count++; diff --git a/package/libffi/0007-powerpc64-Use-memcpy-to-help-platforms-with-no-__int128.patch b/package/libffi/0007-powerpc64-Use-memcpy-to-help-platforms-with-no-__int128.patch deleted file mode 100644 index 53036707d22..00000000000 --- a/package/libffi/0007-powerpc64-Use-memcpy-to-help-platforms-with-no-__int128.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e50b9ef8b910fa642ef158f6642e60d54d7ad740 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 7 Dec 2019 02:34:14 -0800 -Subject: [PATCH] powerpc64: Use memcpy to help platforms with no __int128. - (#534) - -Signed-off-by: Khem Raj -[Retrieved from: -https://github.com/libffi/libffi/commit/e50b9ef8b910fa642ef158f6642e60d54d7ad740] -Signed-off-by: Fabrice Fontaine ---- - src/powerpc/ffi_linux64.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c -index 73647701..4d50878e 100644 ---- a/src/powerpc/ffi_linux64.c -+++ b/src/powerpc/ffi_linux64.c -@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) - { - if (vecarg_count < NUM_VEC_ARG_REGISTERS64 - && i < nfixedargs) -- *vec_base.f128++ = *arg.f128++; -+ memcpy (vec_base.f128++, arg.f128, sizeof (float128)); - else -- *next_arg.f128 = *arg.f128++; -+ memcpy (next_arg.f128, arg.f128++, sizeof (float128)); - if (++next_arg.f128 == gpr_end.f128) - next_arg.f128 = rest.f128; - vecarg_count++; -@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif, - do - { - if (pvec < end_pvec && i < nfixedargs) -- *to.f128 = *pvec++; -+ memcpy (to.f128, pvec++, sizeof (float128)); - else -- *to.f128 = *from.f128; -+ memcpy (to.f128, from.f128, sizeof (float128)); - to.f128++; - from.f128++; - } diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash index 496ae0d9048..cf1977c40db 100644 --- a/package/libffi/libffi.hash +++ b/package/libffi/libffi.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 3f2f86094f5cf4c36cfe850d2fe029d01f5c2c2296619407c8ba0d8207da9a6b libffi-3.3.tar.gz +sha256 540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620 libffi-3.4.2.tar.gz # License files, locally calculated -sha256 deaf3a42effb551a5b140fa9afefed183a27f1341c6d1bf430d106a5e6931fc0 LICENSE +sha256 a61d06e8f7be57928e71e800eb9273b05cb8868c484108afe41e4305bb320dde LICENSE diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index f8b6568341d..093256a6296 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -4,14 +4,19 @@ # ################################################################################ -LIBFFI_VERSION = 3.3 -LIBFFI_SITE = $(call github,libffi,libffi,v$(LIBFFI_VERSION)) -LIBFFI_CPE_ID_VERSION = 3.3 -LIBFFI_CPE_ID_UPDATE = rc0 +LIBFFI_VERSION = 3.4.2 +LIBFFI_SITE = \ + https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION) LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE +LIBFFI_CPE_ID_VENDOR = libffi_project LIBFFI_INSTALL_STAGING = YES +# We're patching Makefile.am LIBFFI_AUTORECONF = YES +# The static exec trampolines is enabled by default since +# libffi 3.4.2. However it doesn't work with gobject-introspection. +LIBFFI_CONF_OPTS = --disable-exec-static-tramp + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libfm-extra/libfm-extra.hash b/package/libfm-extra/libfm-extra.hash index e78fbab0def..116cefb0530 100644 --- a/package/libfm-extra/libfm-extra.hash +++ b/package/libfm-extra/libfm-extra.hash @@ -1,7 +1,8 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/ -md5 c15ecd2c9317e2c385cd3f046d0b61ba libfm-1.3.1.tar.xz -sha1 29539f50acd5c00a00362adffd532053b0688e66 libfm-1.3.1.tar.xz +md5 c87a0ff41ae77825079b2f785ec0741e libfm-1.3.2.tar.xz +sha1 7c5c14dd0615b457687966ce4e55c2d054bf93e1 libfm-1.3.2.tar.xz -# Hash for license files: -sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING -sha256 c3a3d93e111462f2b0292b56a6a7b87d342fd7156741d8b81b8b08723be4597e src/extra/fm-xml-file.c +# Locally computed: +sha256 a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5 libfm-1.3.2.tar.gz +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING +sha256 c3a3d93e111462f2b0292b56a6a7b87d342fd7156741d8b81b8b08723be4597e src/extra/fm-xml-file.c diff --git a/package/libfm-extra/libfm-extra.mk b/package/libfm-extra/libfm-extra.mk index b41e8654b04..2a5df9cab6f 100644 --- a/package/libfm-extra/libfm-extra.mk +++ b/package/libfm-extra/libfm-extra.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFM_EXTRA_VERSION = 1.3.1 +LIBFM_EXTRA_VERSION = 1.3.2 LIBFM_EXTRA_SOURCE = libfm-$(LIBFM_EXTRA_VERSION).tar.xz LIBFM_EXTRA_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_EXTRA_DEPENDENCIES = libglib2 host-intltool diff --git a/package/libfm/Config.in b/package/libfm/Config.in index 16676fbf252..e78bc99b76d 100644 --- a/package/libfm/Config.in +++ b/package/libfm/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_LIBFM depends on BR2_USE_MMU # libglib2 depends on BR2_INSTALL_LIBSTDCPP # libgtk2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libgtk2 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgtk2 -> pango -> harfbuzz select BR2_PACKAGE_CAIRO select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 @@ -22,9 +22,9 @@ config BR2_PACKAGE_LIBFM http://wiki.lxde.org/en/Libfm -comment "libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_XORG7 diff --git a/package/libfm/libfm.hash b/package/libfm/libfm.hash index d63a4361198..74781b2a0bb 100644 --- a/package/libfm/libfm.hash +++ b/package/libfm/libfm.hash @@ -1,7 +1,8 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/ -md5 c15ecd2c9317e2c385cd3f046d0b61ba libfm-1.3.1.tar.xz -sha1 29539f50acd5c00a00362adffd532053b0688e66 libfm-1.3.1.tar.xz +md5 c87a0ff41ae77825079b2f785ec0741e libfm-1.3.2.tar.xz +sha1 7c5c14dd0615b457687966ce4e55c2d054bf93e1 libfm-1.3.2.tar.xz -# Hash for license files: -sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING -sha256 c3a3d93e111462f2b0292b56a6a7b87d342fd7156741d8b81b8b08723be4597e src/extra/fm-xml-file.c +# Locally computed: +sha256 a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5 libfm-1.3.2.tar.xz +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING +sha256 c3a3d93e111462f2b0292b56a6a7b87d342fd7156741d8b81b8b08723be4597e src/extra/fm-xml-file.c diff --git a/package/libfm/libfm.mk b/package/libfm/libfm.mk index 47f01b17cbb..29f6d7d56a9 100644 --- a/package/libfm/libfm.mk +++ b/package/libfm/libfm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFM_VERSION = 1.3.1 +LIBFM_VERSION = 1.3.2 LIBFM_SOURCE = libfm-$(LIBFM_VERSION).tar.xz LIBFM_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_DEPENDENCIES = menu-cache libglib2 cairo diff --git a/package/libfreefare/Config.in b/package/libfreefare/Config.in index 2bb0c93ddf3..574787e83bb 100644 --- a/package/libfreefare/Config.in +++ b/package/libfreefare/Config.in @@ -1,12 +1,9 @@ config BR2_PACKAGE_LIBFREEFARE bool "libfreefare" - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBNFC help Library for high level manipulation of MIFARE cards. http://nfc-tools.org/index.php?title=Libfreefare - -comment "libfreefare needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libfreeglut/0001-Work-around-for-an-issue-which-cropped-up-with-the-release-of-gcc-10.patch b/package/libfreeglut/0001-Work-around-for-an-issue-which-cropped-up-with-the-release-of-gcc-10.patch new file mode 100644 index 00000000000..e98e71537f2 --- /dev/null +++ b/package/libfreeglut/0001-Work-around-for-an-issue-which-cropped-up-with-the-release-of-gcc-10.patch @@ -0,0 +1,69 @@ +From b9998bbc1e1c329f6bf69c24606a2be7a4973b8c Mon Sep 17 00:00:00 2001 +From: jtsiomb +Date: Fri, 21 Feb 2020 22:25:31 +0000 +Subject: [PATCH] Work-around for an issue which cropped up with the release of + gcc-10. In their infinite wisdom, they decided to build with -fno-common as + default from now on, breaking every piece of C code which used to declare + common symbols in header files, as was the convention since the dawn of time. + We now have to duplicate all declarations to an arbitrary source file, and + change the header-file ones to prefix them with extern. + +git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1863 7f0cb862-5218-0410-a997-914c9d46530a +[Retrieved from: +https://github.com/dcnieho/FreeGLUT/commit/b9998bbc1e1c329f6bf69c24606a2be7a4973b8c] +Signed-off-by: Fabrice Fontaine +--- + freeglut/freeglut/src/fg_gl2.c | 14 ++++++++++++++ + freeglut/freeglut/src/fg_gl2.h | 14 +++++++------- + 2 files changed, 21 insertions(+), 7 deletions(-) + +diff --git a/src/fg_gl2.c b/src/fg_gl2.c +index 38b0acbb..54b4285b 100644 +--- a/src/fg_gl2.c ++++ b/src/fg_gl2.c +@@ -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/src/fg_gl2.h b/src/fg_gl2.h +index ab8ba5c7..fb3d4676 100644 +--- a/src/fg_gl2.h ++++ b/src/fg_gl2.h +@@ -67,13 +67,13 @@ typedef void (APIENTRY *FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); + 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/libfreeimage/0004-fixed-C-11-warnings.patch b/package/libfreeimage/0004-fixed-C-11-warnings.patch new file mode 100644 index 00000000000..449af621d0d --- /dev/null +++ b/package/libfreeimage/0004-fixed-C-11-warnings.patch @@ -0,0 +1,94 @@ +fixed C++11 warnings + +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://sourceforge.net/p/freeimage/svn/1896] + +Index: trunk/Source/FreeImage/CacheFile.cpp +=================================================================== +--- trunk/Source/FreeImage/CacheFile.cpp (révision 1895) ++++ trunk/Source/FreeImage/CacheFile.cpp (révision 1896) +@@ -147,10 +147,14 @@ + m_current_block->data = new BYTE[BLOCK_SIZE]; + + fseek(m_file, m_current_block->nr * BLOCK_SIZE, SEEK_SET); +- fread(m_current_block->data, BLOCK_SIZE, 1, m_file); +- +- m_page_cache_mem.splice(m_page_cache_mem.begin(), m_page_cache_disk, it->second); +- m_page_map[nr] = m_page_cache_mem.begin(); ++ if (fread(m_current_block->data, BLOCK_SIZE, 1, m_file) == 1) { ++ m_page_cache_mem.splice(m_page_cache_mem.begin(), m_page_cache_disk, it->second); ++ m_page_map[nr] = m_page_cache_mem.begin(); ++ } ++ else { ++ FreeImage_OutputMessageProc(FIF_UNKNOWN, "Failed to lock a block in CacheFile"); ++ return NULL; ++ } + } + + // if the memory cache size is too large, swap an item to disc +Index: trunk/Source/FreeImage/MultiPage.cpp +=================================================================== +--- trunk/Source/FreeImage/MultiPage.cpp (révision 1895) ++++ trunk/Source/FreeImage/MultiPage.cpp (révision 1896) +@@ -271,8 +271,8 @@ + } + } + +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->m_filename = filename; + // io is default + header->node = node; +@@ -339,8 +339,8 @@ + PluginNode *node = list->FindNodeFromFIF(fif); + + if (node) { +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->io = *io; + header->node = node; + header->fif = fif; +Index: trunk/Source/FreeImage/PSDParser.cpp +=================================================================== +--- trunk/Source/FreeImage/PSDParser.cpp (révision 1895) ++++ trunk/Source/FreeImage/PSDParser.cpp (révision 1896) +@@ -97,7 +97,7 @@ + template + class PSDGetValue { + public: +- static inline int get(const BYTE * iprBuffer) {} // error ++ static inline int get(const BYTE * iprBuffer) { return -1; } // error + }; + + template <> +Index: trunk/Source/FreeImage/PluginPSD.cpp +=================================================================== +--- trunk/Source/FreeImage/PluginPSD.cpp (révision 1895) ++++ trunk/Source/FreeImage/PluginPSD.cpp (révision 1896) +@@ -127,7 +127,7 @@ + static BOOL DLL_CALLCONV + Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void *data) { + if(!handle) { +- return NULL; ++ return FALSE; + } + try { + psdParser parser; +Index: trunk/Source/FreeImage/PluginHDR.cpp +=================================================================== +--- trunk/Source/FreeImage/PluginHDR.cpp (révision 1895) ++++ trunk/Source/FreeImage/PluginHDR.cpp (révision 1896) +@@ -244,7 +244,8 @@ + } + else if((buf[0] == '#') && (buf[1] == 0x20)) { + header_info->valid |= RGBE_VALID_COMMENT; +- strcpy(header_info->comment, buf); ++ strncpy(header_info->comment, buf, HDR_MAXLINE - 1); ++ header_info->comment[HDR_MAXLINE - 1] = '\0'; + } + } + if(!bHeaderFound || !bFormatFound) { diff --git a/package/libfreeimage/libfreeimage.mk b/package/libfreeimage/libfreeimage.mk index b254fa8846b..4775f92109a 100644 --- a/package/libfreeimage/libfreeimage.mk +++ b/package/libfreeimage/libfreeimage.mk @@ -9,6 +9,8 @@ LIBFREEIMAGE_SITE = http://downloads.sourceforge.net/freeimage LIBFREEIMAGE_SOURCE = FreeImage$(subst .,,$(LIBFREEIMAGE_VERSION)).zip LIBFREEIMAGE_LICENSE = GPL-2.0 or GPL-3.0 or FreeImage Public License LIBFREEIMAGE_LICENSE_FILES = license-gplv2.txt license-gplv3.txt license-fi.txt +LIBFREEIMAGE_CPE_ID_VENDOR = freeimage_project +LIBFREEIMAGE_CPE_ID_PRODUCT = freeimage LIBFREEIMAGE_INSTALL_STAGING = YES define LIBFREEIMAGE_EXTRACT_CMDS @@ -18,7 +20,8 @@ define LIBFREEIMAGE_EXTRACT_CMDS endef define LIBFREEIMAGE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" $(MAKE) -C $(@D) endef define LIBFREEIMAGE_INSTALL_STAGING_CMDS diff --git a/package/libfribidi/libfribidi.hash b/package/libfribidi/libfribidi.hash index 8e7eb49bcd3..da25b2d24d5 100644 --- a/package/libfribidi/libfribidi.hash +++ b/package/libfribidi/libfribidi.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7f1c687c7831499bcacae5e8675945a39bacbad16ecaa945e9454a32df653c01 fribidi-1.0.10.tar.xz +sha256 30f93e9c63ee627d1a2cedcf59ac34d45bf30240982f99e44c6e015466b4e73d fribidi-1.0.11.tar.xz sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk index 97e875b4a21..adbd786db19 100644 --- a/package/libfribidi/libfribidi.mk +++ b/package/libfribidi/libfribidi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFRIBIDI_VERSION = 1.0.10 +LIBFRIBIDI_VERSION = 1.0.11 LIBFRIBIDI_SOURCE = fribidi-$(LIBFRIBIDI_VERSION).tar.xz LIBFRIBIDI_SITE = https://github.com/fribidi/fribidi/releases/download/v$(LIBFRIBIDI_VERSION) LIBFRIBIDI_LICENSE = LGPL-2.1+ diff --git a/package/libftdi/0001_pkgconfig_libusb.patch b/package/libftdi/0001-pkgconfig_libusb.patch similarity index 100% rename from package/libftdi/0001_pkgconfig_libusb.patch rename to package/libftdi/0001-pkgconfig_libusb.patch diff --git a/package/libftdi1/Config.in b/package/libftdi1/Config.in index 2d325735638..ec913661155 100644 --- a/package/libftdi1/Config.in +++ b/package/libftdi1/Config.in @@ -24,7 +24,7 @@ comment "libftdipp1 needs a toolchain w/ C++, wchar" config BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS bool "python bindings" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 help Python bindings for libftdi diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk index 6688694b479..d2e3f42e147 100644 --- a/package/libftdi1/libftdi1.mk +++ b/package/libftdi1/libftdi1.mk @@ -24,7 +24,7 @@ LIBFTDI1_CONF_OPTS += -DFTDIPP=OFF endif ifeq ($(BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS),y) -LIBFTDI1_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) host-swig +LIBFTDI1_DEPENDENCIES += python3 host-swig LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=ON else LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=OFF diff --git a/package/libfuse/0002-util-ulockmgr_server-c-conditionally-define-closefrom-fix-glibc-2-34.patch b/package/libfuse/0002-util-ulockmgr_server-c-conditionally-define-closefrom-fix-glibc-2-34.patch new file mode 100644 index 00000000000..7c3346e47b4 --- /dev/null +++ b/package/libfuse/0002-util-ulockmgr_server-c-conditionally-define-closefrom-fix-glibc-2-34.patch @@ -0,0 +1,64 @@ +From 5a43d0f724c56f8836f3f92411e0de1b5f82db32 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 24 Jul 2021 22:02:45 +0100 +Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix + glibc-2.34+) + +closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since +it's available in glibc 2.34+, we want to detect it and only define our +fallback if the libc doesn't provide it. + +Bug: https://bugs.gentoo.org/803923 +Signed-off-by: Sam James + +[Retrieved from: +https://github.com/libfuse/libfuse/commit/5a43d0f724c56f8836f3f92411e0de1b5f82db32] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 1 + + util/ulockmgr_server.c | 6 ++++++ + 2 files changed, 7 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 9946a0efa..a2d481aa9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,6 +55,7 @@ fi + + AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat]) + AC_CHECK_FUNCS([posix_fallocate]) ++AC_CHECK_FUNCS([closefrom]) + AC_CHECK_MEMBERS([struct stat.st_atim]) + AC_CHECK_MEMBERS([struct stat.st_atimespec]) + +diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c +index 273c7d923..a04dac5c6 100644 +--- a/util/ulockmgr_server.c ++++ b/util/ulockmgr_server.c +@@ -22,6 +22,10 @@ + #include + #include + ++#ifdef HAVE_CONFIG_H ++ #include "config.h" ++#endif ++ + struct message { + unsigned intr : 1; + unsigned nofd : 1; +@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t buflen, int *fdp, + return res; + } + ++#if !defined(HAVE_CLOSEFROM) + static int closefrom(int minfd) + { + DIR *dir = opendir("/proc/self/fd"); +@@ -141,6 +146,7 @@ static int closefrom(int minfd) + } + return 0; + } ++#endif + + static void send_reply(int cfd, struct message *msg) + { diff --git a/package/libfuse/libfuse.mk b/package/libfuse/libfuse.mk index 074dc598867..723060931f6 100644 --- a/package/libfuse/libfuse.mk +++ b/package/libfuse/libfuse.mk @@ -9,8 +9,14 @@ LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 LIBFUSE_LICENSE_FILES = COPYING COPYING.LIB +LIBFUSE_CPE_ID_VENDOR = libfuse_project LIBFUSE_INSTALL_STAGING = YES -LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) +# We're patching configure.ac +LIBFUSE_AUTORECONF = YES +# add host-gettext for AM_ICONV macro +LIBFUSE_DEPENDENCIES = \ + host-gettext \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) LIBFUSE_CONF_OPTS = \ --disable-example \ --enable-lib \ @@ -32,7 +38,7 @@ define LIBFUSE_INSTALL_TARGET_CMDS endef define LIBFUSE_DEVICES - /dev/fuse c 666 0 0 10 229 0 0 - + /dev/fuse c 666 0 0 10 229 0 0 - endef define LIBFUSE_PERMISSIONS diff --git a/package/libfuse3/libfuse3.hash b/package/libfuse3/libfuse3.hash index 9b2f8cc144a..cce2b111715 100644 --- a/package/libfuse3/libfuse3.hash +++ b/package/libfuse3/libfuse3.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 checksums -sha256 a16f93cc083264afd0d2958a0dc88f24c6c5d40a9f3842c645b1909e13edb75f libfuse3-3.10.2.tar.gz +sha256 e73f75e58da59a0e333d337c105093c496c0fd7356ef3a5a540f560697c9c4e6 libfuse3-3.10.5.tar.gz sha256 b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad LICENSE diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk index f805eda5061..1dbe918c5b5 100644 --- a/package/libfuse3/libfuse3.mk +++ b/package/libfuse3/libfuse3.mk @@ -4,19 +4,22 @@ # ################################################################################ -LIBFUSE3_VERSION = 3.10.2 +LIBFUSE3_VERSION = 3.10.5 LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION)) LIBFUSE3_LICENSE = LGPL-2.1 LIBFUSE3_LICENSE_FILES = LICENSE +LIBFUSE3_CPE_ID_VENDOR = libfuse_project +LIBFUSE3_CPE_ID_PRODUCT = libfuse LIBFUSE3_INSTALL_STAGING = YES LIBFUSE3_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) LIBFUSE3_CONF_OPTS = \ -Dexamples=false \ -Dudevrulesdir=/lib/udev/rules.d \ - -Duseroot=false + -Duseroot=false \ + -Dtests=false define LIBFUSE3_DEVICES - /dev/fuse c 666 0 0 10 229 0 0 - + /dev/fuse c 666 0 0 10 229 0 0 - endef define LIBFUSE3_PERMISSIONS diff --git a/package/libfutils/Config.in b/package/libfutils/Config.in new file mode 100644 index 00000000000..7f795fc7e09 --- /dev/null +++ b/package/libfutils/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBFUTILS + bool "libfutils" + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_INSTALL_LIBSTDCPP # ulog + depends on BR2_TOOLCHAIN_HAS_THREADS # ulog + select BR2_PACKAGE_ULOG + help + This library contains some common useful functions (list, + hash, time) + + https://github.com/Parrot-Developers/libfutils + +comment "libfutils needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_ATOMIC diff --git a/package/libfutils/libfutils.hash b/package/libfutils/libfutils.hash new file mode 100644 index 00000000000..1fdcd84b132 --- /dev/null +++ b/package/libfutils/libfutils.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 b38d40c46b83e448d8c1716ddfb04b7ecd384f5cd2cb773db5c26c0589accdb3 libfutils-c326ce0cc2a7354381265a7664bb215be587fac6.tar.gz +sha256 eca11a1c62fae8d64a1247d93271375baecff8396141d7ff8d89671ee7e3ed0d COPYING diff --git a/package/libfutils/libfutils.mk b/package/libfutils/libfutils.mk new file mode 100644 index 00000000000..84b53cca3ce --- /dev/null +++ b/package/libfutils/libfutils.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# libfutils +# +################################################################################ + +LIBFUTILS_VERSION = c326ce0cc2a7354381265a7664bb215be587fac6 +LIBFUTILS_SITE = $(call github,Parrot-Developers,libfutils,$(LIBFUTILS_VERSION)) +LIBFUTILS_LICENSE = BSD-3-Clause +LIBFUTILS_LICENSE_FILES = COPYING +LIBFUTILS_DEPENDENCIES = host-alchemy ulog +LIBFUTILS_INSTALL_STAGING = YES + +LIBFUTILS_TARGET_ENV = \ + $(ALCHEMY_TARGET_ENV) \ + ALCHEMY_TARGET_SDK_DIRS="$(ALCHEMY_SDK_BASEDIR)/ulog" + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBFUTILS_TARGET_ENV += TARGET_GLOBAL_LDLIBS='-latomic' +endif + +define LIBFUTILS_BUILD_CMDS + $(LIBFUTILS_TARGET_ENV) $(ALCHEMY_MAKE) libfutils +endef + +ifeq ($(BR2_STATIC_LIBS),) +# $(1): destination directory: target or staging +define LIBFUTILS_INSTALL_SHARED_LIBS + mkdir -p $(1)/usr/lib/ + $(INSTALL) -m 644 $(@D)/alchemy-out/staging/usr/lib/libfutils.so* \ + $(1)/usr/lib/ +endef +endif + +ifeq ($(BR2_SHARED_LIBS),) +define LIBFUTILS_INSTALL_STATIC_LIBS + mkdir -p $(1)/usr/lib/ + $(INSTALL) -D -m 644 $(@D)/alchemy-out/staging/usr/lib/libfutils.a \ + $(STAGING_DIR)/usr/lib/libfutils.a +endef +endif + +define LIBFUTILS_INSTALL_TARGET_CMDS + $(call LIBFUTILS_INSTALL_SHARED_LIBS, $(TARGET_DIR)) +endef + +define LIBFUTILS_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include/futils + $(INSTALL) -m 644 $(@D)/include/futils/* \ + $(STAGING_DIR)/usr/include/futils/ + $(LIBFUTILS_INSTALL_STATIC_LIBS) + $(call LIBFUTILS_INSTALL_SHARED_LIBS, $(STAGING_DIR)) + $(call ALCHEMY_INSTALL_LIB_SDK_FILE, libfutils, libfutils.so, libulog) +endef + +$(eval $(generic-package)) diff --git a/package/libgcrypt/0001-configure.ac-add-an-option-to-disable-tests.patch b/package/libgcrypt/0001-configure.ac-add-an-option-to-disable-tests.patch index 21ff20a4733..4ef02fba65b 100644 --- a/package/libgcrypt/0001-configure.ac-add-an-option-to-disable-tests.patch +++ b/package/libgcrypt/0001-configure.ac-add-an-option-to-disable-tests.patch @@ -24,7 +24,7 @@ diff --git a/Makefile.am b/Makefile.am index 7fa4fa4d..f0bd90e4 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -39,9 +39,14 @@ else +@@ -40,9 +40,14 @@ else doc = endif @@ -44,7 +44,7 @@ diff --git a/configure.ac b/configure.ac index e8c8cd39..1a6b61e5 100644 --- a/configure.ac +++ b/configure.ac -@@ -2710,6 +2710,16 @@ AC_ARG_ENABLE([doc], AC_HELP_STRING([--disable-doc], +@@ -3198,6 +3198,16 @@ AC_ARG_ENABLE([doc], AC_HELP_STRING([--disable-doc], AM_CONDITIONAL([BUILD_DOC], [test "x$build_doc" != xno]) diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index c9a8bac9cbe..23562d0ed39 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,7 +1,7 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 a15ce7355b028f28a33428eaa0147154861b29d4 libgcrypt-1.9.1.tar.bz2 +sha1 1bccc8393482fa1953323ff429c6b5ba5676eb1a libgcrypt-1.9.4.tar.bz2 # Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.9.1.tar.bz2.sig -# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 c5a67a8b9b2bd370fb415ed1ee31c7172e5683076493cf4a3678a0fbdf0265d9 libgcrypt-1.9.1.tar.bz2 +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.9.4.tar.bz2.sig +# using key 6DAA6E64A76D2840571B4902528897B826403ADA +sha256 ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7 libgcrypt-1.9.4.tar.bz2 sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index 7c105058a37..e5fdfcfc8e0 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.9.1 +LIBGCRYPT_VERSION = 1.9.4 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/package/libgdiplus/0001-Build-unit-tests-only-when-enable-unit-tests-is-pass.patch b/package/libgdiplus/0001-Build-unit-tests-only-when-enable-unit-tests-is-pass.patch new file mode 100644 index 00000000000..450286462ef --- /dev/null +++ b/package/libgdiplus/0001-Build-unit-tests-only-when-enable-unit-tests-is-pass.patch @@ -0,0 +1,53 @@ +From ae92a466e203c8aec43f682a3a7aa617b820c3ba Mon Sep 17 00:00:00 2001 +From: Sergio Prado +Date: Sat, 10 Apr 2021 11:03:38 -0300 +Subject: [PATCH] Build unit tests only when --enable-unit-tests is passed + +Building unit tests by default requires all dependencies to be +installed (jpeg, tiff, etc) and users may not want that. + +So let's disable the build of unit tests by default and introduce +--enable-unit-tests configure option to enable it. + +Signed-off-by: Sergio Prado +--- + Makefile.am | 8 ++++++-- + configure.ac | 4 ++++ + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index f40bdee0c2e9..152e0d64fdd9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,11 @@ + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = src tests +-DIST_SUBDIRS = src tests ++if BUILD_UNIT_TESTS ++SUBDIRS_TESTS = tests ++endif ++ ++SUBDIRS = src $(SUBDIRS_TESTS) ++DIST_SUBDIRS = src $(SUBDIRS_TESTS) + + pkgconfigdir = $(libdir)/pkgconfig + +diff --git a/configure.ac b/configure.ac +index 098fd0a664bd..c126ff091e58 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -39,6 +39,10 @@ if test $warnaserror = "yes"; then + GDIPLUS_CFLAGS="$GDIPLUS_CFLAGS -Werror -Wno-unknown-warning-option -Wno-clobbered -Wno-typedef-redefinition" + fi + ++AC_ARG_ENABLE(unittests, AS_HELP_STRING([--enable-unittests],[Enable building unit tests.]),[unittests=yes],[unittests=no]) ++ ++AM_CONDITIONAL([BUILD_UNIT_TESTS], [test x$unittests = xyes]) ++ + AC_ARG_ENABLE(asan, AS_HELP_STRING([--enable-asan],[Enable address sanitizer.]),[asan=yes],[asan=no]) + + if test $asan = "yes"; then +-- +2.17.1 + diff --git a/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch b/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch deleted file mode 100644 index 02efc972dc0..00000000000 --- a/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch +++ /dev/null @@ -1,1863 +0,0 @@ -From 850660e11ab302961aaf5ef336ed02451ade9f5b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= -Date: Thu, 21 Sep 2017 12:50:21 +0200 -Subject: [PATCH] Embed the license texts in LICENSE like on Mono repo - -Remove the MPL-1.1.html file. - -Upstream: ad0fb6f0a5e3e11f7e474456d53cc660f7808aed -Signed-off-by: Thomas Petazzoni ---- - LICENSE | 980 +++++++++++++++++++++++++++++++++++++++++++++++++++ - MPL-1.1.html | 840 ------------------------------------------- - Makefile.am | 2 +- - 3 files changed, 981 insertions(+), 841 deletions(-) - delete mode 100644 MPL-1.1.html - -diff --git a/LICENSE b/LICENSE -index f5b62b7..b3164bb 100644 ---- a/LICENSE -+++ b/LICENSE -@@ -2,3 +2,983 @@ Libgdiplus is licensed under the terms of the GNU Library GPL or the - Mozilla Public License 1.1. - - -+The Licenses -+============ -+ -+### GNU Library GPL -+ -+ GNU LESSER GENERAL PUBLIC LICENSE -+ Version 2.1, February 1999 -+ -+ Copyright (C) 1991, 1999 Free Software Foundation, Inc. -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ Everyone is permitted to copy and distribute verbatim copies -+ of this license document, but changing it is not allowed. -+ -+[This is the first released version of the Lesser GPL. It also counts -+ as the successor of the GNU Library Public License, version 2, hence -+ the version number 2.1.] -+ -+ Preamble -+ -+ The licenses for most software are designed to take away your -+freedom to share and change it. By contrast, the GNU General Public -+Licenses are intended to guarantee your freedom to share and change -+free software--to make sure the software is free for all its users. -+ -+ This license, the Lesser General Public License, applies to some -+specially designated software packages--typically libraries--of the -+Free Software Foundation and other authors who decide to use it. You -+can use it too, but we suggest you first think carefully about whether -+this license or the ordinary General Public License is the better -+strategy to use in any particular case, based on the explanations below. -+ -+ When we speak of free software, we are referring to freedom of use, -+not price. Our General Public Licenses are designed to make sure that -+you have the freedom to distribute copies of free software (and charge -+for this service if you wish); that you receive source code or can get -+it if you want it; that you can change the software and use pieces of -+it in new free programs; and that you are informed that you can do -+these things. -+ -+ To protect your rights, we need to make restrictions that forbid -+distributors to deny you these rights or to ask you to surrender these -+rights. These restrictions translate to certain responsibilities for -+you if you distribute copies of the library or if you modify it. -+ -+ For example, if you distribute copies of the library, whether gratis -+or for a fee, you must give the recipients all the rights that we gave -+you. You must make sure that they, too, receive or can get the source -+code. If you link other code with the library, you must provide -+complete object files to the recipients, so that they can relink them -+with the library after making changes to the library and recompiling -+it. And you must show them these terms so they know their rights. -+ -+ We protect your rights with a two-step method: (1) we copyright the -+library, and (2) we offer you this license, which gives you legal -+permission to copy, distribute and/or modify the library. -+ -+ To protect each distributor, we want to make it very clear that -+there is no warranty for the free library. Also, if the library is -+modified by someone else and passed on, the recipients should know -+that what they have is not the original version, so that the original -+author's reputation will not be affected by problems that might be -+introduced by others. -+ -+ Finally, software patents pose a constant threat to the existence of -+any free program. We wish to make sure that a company cannot -+effectively restrict the users of a free program by obtaining a -+restrictive license from a patent holder. Therefore, we insist that -+any patent license obtained for a version of the library must be -+consistent with the full freedom of use specified in this license. -+ -+ Most GNU software, including some libraries, is covered by the -+ordinary GNU General Public License. This license, the GNU Lesser -+General Public License, applies to certain designated libraries, and -+is quite different from the ordinary General Public License. We use -+this license for certain libraries in order to permit linking those -+libraries into non-free programs. -+ -+ When a program is linked with a library, whether statically or using -+a shared library, the combination of the two is legally speaking a -+combined work, a derivative of the original library. The ordinary -+General Public License therefore permits such linking only if the -+entire combination fits its criteria of freedom. The Lesser General -+Public License permits more lax criteria for linking other code with -+the library. -+ -+ We call this license the "Lesser" General Public License because it -+does Less to protect the user's freedom than the ordinary General -+Public License. It also provides other free software developers Less -+of an advantage over competing non-free programs. These disadvantages -+are the reason we use the ordinary General Public License for many -+libraries. However, the Lesser license provides advantages in certain -+special circumstances. -+ -+ For example, on rare occasions, there may be a special need to -+encourage the widest possible use of a certain library, so that it becomes -+a de-facto standard. To achieve this, non-free programs must be -+allowed to use the library. A more frequent case is that a free -+library does the same job as widely used non-free libraries. In this -+case, there is little to gain by limiting the free library to free -+software only, so we use the Lesser General Public License. -+ -+ In other cases, permission to use a particular library in non-free -+programs enables a greater number of people to use a large body of -+free software. For example, permission to use the GNU C Library in -+non-free programs enables many more people to use the whole GNU -+operating system, as well as its variant, the GNU/Linux operating -+system. -+ -+ Although the Lesser General Public License is Less protective of the -+users' freedom, it does ensure that the user of a program that is -+linked with the Library has the freedom and the wherewithal to run -+that program using a modified version of the Library. -+ -+ The precise terms and conditions for copying, distribution and -+modification follow. Pay close attention to the difference between a -+"work based on the library" and a "work that uses the library". The -+former contains code derived from the library, whereas the latter must -+be combined with the library in order to run. -+ -+ GNU LESSER GENERAL PUBLIC LICENSE -+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -+ -+ 0. This License Agreement applies to any software library or other -+program which contains a notice placed by the copyright holder or -+other authorized party saying it may be distributed under the terms of -+this Lesser General Public License (also called "this License"). -+Each licensee is addressed as "you". -+ -+ A "library" means a collection of software functions and/or data -+prepared so as to be conveniently linked with application programs -+(which use some of those functions and data) to form executables. -+ -+ The "Library", below, refers to any such software library or work -+which has been distributed under these terms. A "work based on the -+Library" means either the Library or any derivative work under -+copyright law: that is to say, a work containing the Library or a -+portion of it, either verbatim or with modifications and/or translated -+straightforwardly into another language. (Hereinafter, translation is -+included without limitation in the term "modification".) -+ -+ "Source code" for a work means the preferred form of the work for -+making modifications to it. For a library, complete source code means -+all the source code for all modules it contains, plus any associated -+interface definition files, plus the scripts used to control compilation -+and installation of the library. -+ -+ Activities other than copying, distribution and modification are not -+covered by this License; they are outside its scope. The act of -+running a program using the Library is not restricted, and output from -+such a program is covered only if its contents constitute a work based -+on the Library (independent of the use of the Library in a tool for -+writing it). Whether that is true depends on what the Library does -+and what the program that uses the Library does. -+ -+ 1. You may copy and distribute verbatim copies of the Library's -+complete source code as you receive it, in any medium, provided that -+you conspicuously and appropriately publish on each copy an -+appropriate copyright notice and disclaimer of warranty; keep intact -+all the notices that refer to this License and to the absence of any -+warranty; and distribute a copy of this License along with the -+Library. -+ -+ You may charge a fee for the physical act of transferring a copy, -+and you may at your option offer warranty protection in exchange for a -+fee. -+ -+ 2. You may modify your copy or copies of the Library or any portion -+of it, thus forming a work based on the Library, and copy and -+distribute such modifications or work under the terms of Section 1 -+above, provided that you also meet all of these conditions: -+ -+ a) The modified work must itself be a software library. -+ -+ b) You must cause the files modified to carry prominent notices -+ stating that you changed the files and the date of any change. -+ -+ c) You must cause the whole of the work to be licensed at no -+ charge to all third parties under the terms of this License. -+ -+ d) If a facility in the modified Library refers to a function or a -+ table of data to be supplied by an application program that uses -+ the facility, other than as an argument passed when the facility -+ is invoked, then you must make a good faith effort to ensure that, -+ in the event an application does not supply such function or -+ table, the facility still operates, and performs whatever part of -+ its purpose remains meaningful. -+ -+ (For example, a function in a library to compute square roots has -+ a purpose that is entirely well-defined independent of the -+ application. Therefore, Subsection 2d requires that any -+ application-supplied function or table used by this function must -+ be optional: if the application does not supply it, the square -+ root function must still compute square roots.) -+ -+These requirements apply to the modified work as a whole. If -+identifiable sections of that work are not derived from the Library, -+and can be reasonably considered independent and separate works in -+themselves, then this License, and its terms, do not apply to those -+sections when you distribute them as separate works. But when you -+distribute the same sections as part of a whole which is a work based -+on the Library, the distribution of the whole must be on the terms of -+this License, whose permissions for other licensees extend to the -+entire whole, and thus to each and every part regardless of who wrote -+it. -+ -+Thus, it is not the intent of this section to claim rights or contest -+your rights to work written entirely by you; rather, the intent is to -+exercise the right to control the distribution of derivative or -+collective works based on the Library. -+ -+In addition, mere aggregation of another work not based on the Library -+with the Library (or with a work based on the Library) on a volume of -+a storage or distribution medium does not bring the other work under -+the scope of this License. -+ -+ 3. You may opt to apply the terms of the ordinary GNU General Public -+License instead of this License to a given copy of the Library. To do -+this, you must alter all the notices that refer to this License, so -+that they refer to the ordinary GNU General Public License, version 2, -+instead of to this License. (If a newer version than version 2 of the -+ordinary GNU General Public License has appeared, then you can specify -+that version instead if you wish.) Do not make any other change in -+these notices. -+ -+ Once this change is made in a given copy, it is irreversible for -+that copy, so the ordinary GNU General Public License applies to all -+subsequent copies and derivative works made from that copy. -+ -+ This option is useful when you wish to copy part of the code of -+the Library into a program that is not a library. -+ -+ 4. You may copy and distribute the Library (or a portion or -+derivative of it, under Section 2) in object code or executable form -+under the terms of Sections 1 and 2 above provided that you accompany -+it with the complete corresponding machine-readable source code, which -+must be distributed under the terms of Sections 1 and 2 above on a -+medium customarily used for software interchange. -+ -+ If distribution of object code is made by offering access to copy -+from a designated place, then offering equivalent access to copy the -+source code from the same place satisfies the requirement to -+distribute the source code, even though third parties are not -+compelled to copy the source along with the object code. -+ -+ 5. A program that contains no derivative of any portion of the -+Library, but is designed to work with the Library by being compiled or -+linked with it, is called a "work that uses the Library". Such a -+work, in isolation, is not a derivative work of the Library, and -+therefore falls outside the scope of this License. -+ -+ However, linking a "work that uses the Library" with the Library -+creates an executable that is a derivative of the Library (because it -+contains portions of the Library), rather than a "work that uses the -+library". The executable is therefore covered by this License. -+Section 6 states terms for distribution of such executables. -+ -+ When a "work that uses the Library" uses material from a header file -+that is part of the Library, the object code for the work may be a -+derivative work of the Library even though the source code is not. -+Whether this is true is especially significant if the work can be -+linked without the Library, or if the work is itself a library. The -+threshold for this to be true is not precisely defined by law. -+ -+ If such an object file uses only numerical parameters, data -+structure layouts and accessors, and small macros and small inline -+functions (ten lines or less in length), then the use of the object -+file is unrestricted, regardless of whether it is legally a derivative -+work. (Executables containing this object code plus portions of the -+Library will still fall under Section 6.) -+ -+ Otherwise, if the work is a derivative of the Library, you may -+distribute the object code for the work under the terms of Section 6. -+Any executables containing that work also fall under Section 6, -+whether or not they are linked directly with the Library itself. -+ -+ 6. As an exception to the Sections above, you may also combine or -+link a "work that uses the Library" with the Library to produce a -+work containing portions of the Library, and distribute that work -+under terms of your choice, provided that the terms permit -+modification of the work for the customer's own use and reverse -+engineering for debugging such modifications. -+ -+ You must give prominent notice with each copy of the work that the -+Library is used in it and that the Library and its use are covered by -+this License. You must supply a copy of this License. If the work -+during execution displays copyright notices, you must include the -+copyright notice for the Library among them, as well as a reference -+directing the user to the copy of this License. Also, you must do one -+of these things: -+ -+ a) Accompany the work with the complete corresponding -+ machine-readable source code for the Library including whatever -+ changes were used in the work (which must be distributed under -+ Sections 1 and 2 above); and, if the work is an executable linked -+ with the Library, with the complete machine-readable "work that -+ uses the Library", as object code and/or source code, so that the -+ user can modify the Library and then relink to produce a modified -+ executable containing the modified Library. (It is understood -+ that the user who changes the contents of definitions files in the -+ Library will not necessarily be able to recompile the application -+ to use the modified definitions.) -+ -+ b) Use a suitable shared library mechanism for linking with the -+ Library. A suitable mechanism is one that (1) uses at run time a -+ copy of the library already present on the user's computer system, -+ rather than copying library functions into the executable, and (2) -+ will operate properly with a modified version of the library, if -+ the user installs one, as long as the modified version is -+ interface-compatible with the version that the work was made with. -+ -+ c) Accompany the work with a written offer, valid for at -+ least three years, to give the same user the materials -+ specified in Subsection 6a, above, for a charge no more -+ than the cost of performing this distribution. -+ -+ d) If distribution of the work is made by offering access to copy -+ from a designated place, offer equivalent access to copy the above -+ specified materials from the same place. -+ -+ e) Verify that the user has already received a copy of these -+ materials or that you have already sent this user a copy. -+ -+ For an executable, the required form of the "work that uses the -+Library" must include any data and utility programs needed for -+reproducing the executable from it. However, as a special exception, -+the materials to be distributed need not include anything that is -+normally distributed (in either source or binary form) with the major -+components (compiler, kernel, and so on) of the operating system on -+which the executable runs, unless that component itself accompanies -+the executable. -+ -+ It may happen that this requirement contradicts the license -+restrictions of other proprietary libraries that do not normally -+accompany the operating system. Such a contradiction means you cannot -+use both them and the Library together in an executable that you -+distribute. -+ -+ 7. You may place library facilities that are a work based on the -+Library side-by-side in a single library together with other library -+facilities not covered by this License, and distribute such a combined -+library, provided that the separate distribution of the work based on -+the Library and of the other library facilities is otherwise -+permitted, and provided that you do these two things: -+ -+ a) Accompany the combined library with a copy of the same work -+ based on the Library, uncombined with any other library -+ facilities. This must be distributed under the terms of the -+ Sections above. -+ -+ b) Give prominent notice with the combined library of the fact -+ that part of it is a work based on the Library, and explaining -+ where to find the accompanying uncombined form of the same work. -+ -+ 8. You may not copy, modify, sublicense, link with, or distribute -+the Library except as expressly provided under this License. Any -+attempt otherwise to copy, modify, sublicense, link with, or -+distribute the Library is void, and will automatically terminate your -+rights under this License. However, parties who have received copies, -+or rights, from you under this License will not have their licenses -+terminated so long as such parties remain in full compliance. -+ -+ 9. You are not required to accept this License, since you have not -+signed it. However, nothing else grants you permission to modify or -+distribute the Library or its derivative works. These actions are -+prohibited by law if you do not accept this License. Therefore, by -+modifying or distributing the Library (or any work based on the -+Library), you indicate your acceptance of this License to do so, and -+all its terms and conditions for copying, distributing or modifying -+the Library or works based on it. -+ -+ 10. Each time you redistribute the Library (or any work based on the -+Library), the recipient automatically receives a license from the -+original licensor to copy, distribute, link with or modify the Library -+subject to these terms and conditions. You may not impose any further -+restrictions on the recipients' exercise of the rights granted herein. -+You are not responsible for enforcing compliance by third parties with -+this License. -+ -+ 11. If, as a consequence of a court judgment or allegation of patent -+infringement or for any other reason (not limited to patent issues), -+conditions are imposed on you (whether by court order, agreement or -+otherwise) that contradict the conditions of this License, they do not -+excuse you from the conditions of this License. If you cannot -+distribute so as to satisfy simultaneously your obligations under this -+License and any other pertinent obligations, then as a consequence you -+may not distribute the Library at all. For example, if a patent -+license would not permit royalty-free redistribution of the Library by -+all those who receive copies directly or indirectly through you, then -+the only way you could satisfy both it and this License would be to -+refrain entirely from distribution of the Library. -+ -+If any portion of this section is held invalid or unenforceable under any -+particular circumstance, the balance of the section is intended to apply, -+and the section as a whole is intended to apply in other circumstances. -+ -+It is not the purpose of this section to induce you to infringe any -+patents or other property right claims or to contest validity of any -+such claims; this section has the sole purpose of protecting the -+integrity of the free software distribution system which is -+implemented by public license practices. Many people have made -+generous contributions to the wide range of software distributed -+through that system in reliance on consistent application of that -+system; it is up to the author/donor to decide if he or she is willing -+to distribute software through any other system and a licensee cannot -+impose that choice. -+ -+This section is intended to make thoroughly clear what is believed to -+be a consequence of the rest of this License. -+ -+ 12. If the distribution and/or use of the Library is restricted in -+certain countries either by patents or by copyrighted interfaces, the -+original copyright holder who places the Library under this License may add -+an explicit geographical distribution limitation excluding those countries, -+so that distribution is permitted only in or among countries not thus -+excluded. In such case, this License incorporates the limitation as if -+written in the body of this License. -+ -+ 13. The Free Software Foundation may publish revised and/or new -+versions of the Lesser General Public License from time to time. -+Such new versions will be similar in spirit to the present version, -+but may differ in detail to address new problems or concerns. -+ -+Each version is given a distinguishing version number. If the Library -+specifies a version number of this License which applies to it and -+"any later version", you have the option of following the terms and -+conditions either of that version or of any later version published by -+the Free Software Foundation. If the Library does not specify a -+license version number, you may choose any version ever published by -+the Free Software Foundation. -+ -+ 14. If you wish to incorporate parts of the Library into other free -+programs whose distribution conditions are incompatible with these, -+write to the author to ask for permission. For software which is -+copyrighted by the Free Software Foundation, write to the Free -+Software Foundation; we sometimes make exceptions for this. Our -+decision will be guided by the two goals of preserving the free status -+of all derivatives of our free software and of promoting the sharing -+and reuse of software generally. -+ -+ NO WARRANTY -+ -+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -+ -+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -+DAMAGES. -+ -+ END OF TERMS AND CONDITIONS -+ -+ How to Apply These Terms to Your New Libraries -+ -+ If you develop a new library, and you want it to be of the greatest -+possible use to the public, we recommend making it free software that -+everyone can redistribute and change. You can do so by permitting -+redistribution under these terms (or, alternatively, under the terms of the -+ordinary General Public License). -+ -+ To apply these terms, attach the following notices to the library. It is -+safest to attach them to the start of each source file to most effectively -+convey the exclusion of warranty; and each file should have at least the -+"copyright" line and a pointer to where the full notice is found. -+ -+ -+ Copyright (C) -+ -+ This 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. -+ -+ This 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 this library; if not, write to the Free Software -+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ -+Also add information on how to contact you by electronic and paper mail. -+ -+You should also get your employer (if you work as a programmer) or your -+school, if any, to sign a "copyright disclaimer" for the library, if -+necessary. Here is a sample; alter the names: -+ -+ Yoyodyne, Inc., hereby disclaims all copyright interest in the -+ library `Frob' (a library for tweaking knobs) written by James Random Hacker. -+ -+ , 1 April 1990 -+ Ty Coon, President of Vice -+ -+That's all there is to it! -+ -+ -+### Mozilla Public License 1.1 -+ -+ MOZILLA PUBLIC LICENSE -+ Version 1.1 -+ -+ --------------- -+ -+1. Definitions. -+ -+ 1.0.1. "Commercial Use" means distribution or otherwise making the -+ Covered Code available to a third party. -+ -+ 1.1. "Contributor" means each entity that creates or contributes to -+ the creation of Modifications. -+ -+ 1.2. "Contributor Version" means the combination of the Original -+ Code, prior Modifications used by a Contributor, and the Modifications -+ made by that particular Contributor. -+ -+ 1.3. "Covered Code" means the Original Code or Modifications or the -+ combination of the Original Code and Modifications, in each case -+ including portions thereof. -+ -+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally -+ accepted in the software development community for the electronic -+ transfer of data. -+ -+ 1.5. "Executable" means Covered Code in any form other than Source -+ Code. -+ -+ 1.6. "Initial Developer" means the individual or entity identified -+ as the Initial Developer in the Source Code notice required by Exhibit -+ A. -+ -+ 1.7. "Larger Work" means a work which combines Covered Code or -+ portions thereof with code not governed by the terms of this License. -+ -+ 1.8. "License" means this document. -+ -+ 1.8.1. "Licensable" means having the right to grant, to the maximum -+ extent possible, whether at the time of the initial grant or -+ subsequently acquired, any and all of the rights conveyed herein. -+ -+ 1.9. "Modifications" means any addition to or deletion from the -+ substance or structure of either the Original Code or any previous -+ Modifications. When Covered Code is released as a series of files, a -+ Modification is: -+ A. Any addition to or deletion from the contents of a file -+ containing Original Code or previous Modifications. -+ -+ B. Any new file that contains any part of the Original Code or -+ previous Modifications. -+ -+ 1.10. "Original Code" means Source Code of computer software code -+ which is described in the Source Code notice required by Exhibit A as -+ Original Code, and which, at the time of its release under this -+ License is not already Covered Code governed by this License. -+ -+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or -+ hereafter acquired, including without limitation, method, process, -+ and apparatus claims, in any patent Licensable by grantor. -+ -+ 1.11. "Source Code" means the preferred form of the Covered Code for -+ making modifications to it, including all modules it contains, plus -+ any associated interface definition files, scripts used to control -+ compilation and installation of an Executable, or source code -+ differential comparisons against either the Original Code or another -+ well known, available Covered Code of the Contributor's choice. The -+ Source Code can be in a compressed or archival form, provided the -+ appropriate decompression or de-archiving software is widely available -+ for no charge. -+ -+ 1.12. "You" (or "Your") means an individual or a legal entity -+ exercising rights under, and complying with all of the terms of, this -+ License or a future version of this License issued under Section 6.1. -+ For legal entities, "You" includes any entity which controls, is -+ controlled by, or is under common control with You. For purposes of -+ this definition, "control" means (a) the power, direct or indirect, -+ to cause the direction or management of such entity, whether by -+ contract or otherwise, or (b) ownership of more than fifty percent -+ (50%) of the outstanding shares or beneficial ownership of such -+ entity. -+ -+2. Source Code License. -+ -+ 2.1. The Initial Developer Grant. -+ The Initial Developer hereby grants You a world-wide, royalty-free, -+ non-exclusive license, subject to third party intellectual property -+ claims: -+ (a) under intellectual property rights (other than patent or -+ trademark) Licensable by Initial Developer to use, reproduce, -+ modify, display, perform, sublicense and distribute the Original -+ Code (or portions thereof) with or without Modifications, and/or -+ as part of a Larger Work; and -+ -+ (b) under Patents Claims infringed by the making, using or -+ selling of Original Code, to make, have made, use, practice, -+ sell, and offer for sale, and/or otherwise dispose of the -+ Original Code (or portions thereof). -+ -+ (c) the licenses granted in this Section 2.1(a) and (b) are -+ effective on the date Initial Developer first distributes -+ Original Code under the terms of this License. -+ -+ (d) Notwithstanding Section 2.1(b) above, no patent license is -+ granted: 1) for code that You delete from the Original Code; 2) -+ separate from the Original Code; or 3) for infringements caused -+ by: i) the modification of the Original Code or ii) the -+ combination of the Original Code with other software or devices. -+ -+ 2.2. Contributor Grant. -+ Subject to third party intellectual property claims, each Contributor -+ hereby grants You a world-wide, royalty-free, non-exclusive license -+ -+ (a) under intellectual property rights (other than patent or -+ trademark) Licensable by Contributor, to use, reproduce, modify, -+ display, perform, sublicense and distribute the Modifications -+ created by such Contributor (or portions thereof) either on an -+ unmodified basis, with other Modifications, as Covered Code -+ and/or as part of a Larger Work; and -+ -+ (b) under Patent Claims infringed by the making, using, or -+ selling of Modifications made by that Contributor either alone -+ and/or in combination with its Contributor Version (or portions -+ of such combination), to make, use, sell, offer for sale, have -+ made, and/or otherwise dispose of: 1) Modifications made by that -+ Contributor (or portions thereof); and 2) the combination of -+ Modifications made by that Contributor with its Contributor -+ Version (or portions of such combination). -+ -+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are -+ effective on the date Contributor first makes Commercial Use of -+ the Covered Code. -+ -+ (d) Notwithstanding Section 2.2(b) above, no patent license is -+ granted: 1) for any code that Contributor has deleted from the -+ Contributor Version; 2) separate from the Contributor Version; -+ 3) for infringements caused by: i) third party modifications of -+ Contributor Version or ii) the combination of Modifications made -+ by that Contributor with other software (except as part of the -+ Contributor Version) or other devices; or 4) under Patent Claims -+ infringed by Covered Code in the absence of Modifications made by -+ that Contributor. -+ -+3. Distribution Obligations. -+ -+ 3.1. Application of License. -+ The Modifications which You create or to which You contribute are -+ governed by the terms of this License, including without limitation -+ Section 2.2. The Source Code version of Covered Code may be -+ distributed only under the terms of this License or a future version -+ of this License released under Section 6.1, and You must include a -+ copy of this License with every copy of the Source Code You -+ distribute. You may not offer or impose any terms on any Source Code -+ version that alters or restricts the applicable version of this -+ License or the recipients' rights hereunder. However, You may include -+ an additional document offering the additional rights described in -+ Section 3.5. -+ -+ 3.2. Availability of Source Code. -+ Any Modification which You create or to which You contribute must be -+ made available in Source Code form under the terms of this License -+ either on the same media as an Executable version or via an accepted -+ Electronic Distribution Mechanism to anyone to whom you made an -+ Executable version available; and if made available via Electronic -+ Distribution Mechanism, must remain available for at least twelve (12) -+ months after the date it initially became available, or at least six -+ (6) months after a subsequent version of that particular Modification -+ has been made available to such recipients. You are responsible for -+ ensuring that the Source Code version remains available even if the -+ Electronic Distribution Mechanism is maintained by a third party. -+ -+ 3.3. Description of Modifications. -+ You must cause all Covered Code to which You contribute to contain a -+ file documenting the changes You made to create that Covered Code and -+ the date of any change. You must include a prominent statement that -+ the Modification is derived, directly or indirectly, from Original -+ Code provided by the Initial Developer and including the name of the -+ Initial Developer in (a) the Source Code, and (b) in any notice in an -+ Executable version or related documentation in which You describe the -+ origin or ownership of the Covered Code. -+ -+ 3.4. Intellectual Property Matters -+ (a) Third Party Claims. -+ If Contributor has knowledge that a license under a third party's -+ intellectual property rights is required to exercise the rights -+ granted by such Contributor under Sections 2.1 or 2.2, -+ Contributor must include a text file with the Source Code -+ distribution titled "LEGAL" which describes the claim and the -+ party making the claim in sufficient detail that a recipient will -+ know whom to contact. If Contributor obtains such knowledge after -+ the Modification is made available as described in Section 3.2, -+ Contributor shall promptly modify the LEGAL file in all copies -+ Contributor makes available thereafter and shall take other steps -+ (such as notifying appropriate mailing lists or newsgroups) -+ reasonably calculated to inform those who received the Covered -+ Code that new knowledge has been obtained. -+ -+ (b) Contributor APIs. -+ If Contributor's Modifications include an application programming -+ interface and Contributor has knowledge of patent licenses which -+ are reasonably necessary to implement that API, Contributor must -+ also include this information in the LEGAL file. -+ -+ (c) Representations. -+ Contributor represents that, except as disclosed pursuant to -+ Section 3.4(a) above, Contributor believes that Contributor's -+ Modifications are Contributor's original creation(s) and/or -+ Contributor has sufficient rights to grant the rights conveyed by -+ this License. -+ -+ 3.5. Required Notices. -+ You must duplicate the notice in Exhibit A in each file of the Source -+ Code. If it is not possible to put such notice in a particular Source -+ Code file due to its structure, then You must include such notice in a -+ location (such as a relevant directory) where a user would be likely -+ to look for such a notice. If You created one or more Modification(s) -+ You may add your name as a Contributor to the notice described in -+ Exhibit A. You must also duplicate this License in any documentation -+ for the Source Code where You describe recipients' rights or ownership -+ rights relating to Covered Code. You may choose to offer, and to -+ charge a fee for, warranty, support, indemnity or liability -+ obligations to one or more recipients of Covered Code. However, You -+ may do so only on Your own behalf, and not on behalf of the Initial -+ Developer or any Contributor. You must make it absolutely clear than -+ any such warranty, support, indemnity or liability obligation is -+ offered by You alone, and You hereby agree to indemnify the Initial -+ Developer and every Contributor for any liability incurred by the -+ Initial Developer or such Contributor as a result of warranty, -+ support, indemnity or liability terms You offer. -+ -+ 3.6. Distribution of Executable Versions. -+ You may distribute Covered Code in Executable form only if the -+ requirements of Section 3.1-3.5 have been met for that Covered Code, -+ and if You include a notice stating that the Source Code version of -+ the Covered Code is available under the terms of this License, -+ including a description of how and where You have fulfilled the -+ obligations of Section 3.2. The notice must be conspicuously included -+ in any notice in an Executable version, related documentation or -+ collateral in which You describe recipients' rights relating to the -+ Covered Code. You may distribute the Executable version of Covered -+ Code or ownership rights under a license of Your choice, which may -+ contain terms different from this License, provided that You are in -+ compliance with the terms of this License and that the license for the -+ Executable version does not attempt to limit or alter the recipient's -+ rights in the Source Code version from the rights set forth in this -+ License. If You distribute the Executable version under a different -+ license You must make it absolutely clear that any terms which differ -+ from this License are offered by You alone, not by the Initial -+ Developer or any Contributor. You hereby agree to indemnify the -+ Initial Developer and every Contributor for any liability incurred by -+ the Initial Developer or such Contributor as a result of any such -+ terms You offer. -+ -+ 3.7. Larger Works. -+ You may create a Larger Work by combining Covered Code with other code -+ not governed by the terms of this License and distribute the Larger -+ Work as a single product. In such a case, You must make sure the -+ requirements of this License are fulfilled for the Covered Code. -+ -+4. Inability to Comply Due to Statute or Regulation. -+ -+ If it is impossible for You to comply with any of the terms of this -+ License with respect to some or all of the Covered Code due to -+ statute, judicial order, or regulation then You must: (a) comply with -+ the terms of this License to the maximum extent possible; and (b) -+ describe the limitations and the code they affect. Such description -+ must be included in the LEGAL file described in Section 3.4 and must -+ be included with all distributions of the Source Code. Except to the -+ extent prohibited by statute or regulation, such description must be -+ sufficiently detailed for a recipient of ordinary skill to be able to -+ understand it. -+ -+5. Application of this License. -+ -+ This License applies to code to which the Initial Developer has -+ attached the notice in Exhibit A and to related Covered Code. -+ -+6. Versions of the License. -+ -+ 6.1. New Versions. -+ Netscape Communications Corporation ("Netscape") may publish revised -+ and/or new versions of the License from time to time. Each version -+ will be given a distinguishing version number. -+ -+ 6.2. Effect of New Versions. -+ Once Covered Code has been published under a particular version of the -+ License, You may always continue to use it under the terms of that -+ version. You may also choose to use such Covered Code under the terms -+ of any subsequent version of the License published by Netscape. No one -+ other than Netscape has the right to modify the terms applicable to -+ Covered Code created under this License. -+ -+ 6.3. Derivative Works. -+ If You create or use a modified version of this License (which you may -+ only do in order to apply it to code which is not already Covered Code -+ governed by this License), You must (a) rename Your license so that -+ the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", -+ "MPL", "NPL" or any confusingly similar phrase do not appear in your -+ license (except to note that your license differs from this License) -+ and (b) otherwise make it clear that Your version of the license -+ contains terms which differ from the Mozilla Public License and -+ Netscape Public License. (Filling in the name of the Initial -+ Developer, Original Code or Contributor in the notice described in -+ Exhibit A shall not of themselves be deemed to be modifications of -+ this License.) -+ -+7. DISCLAIMER OF WARRANTY. -+ -+ COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, -+ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -+ WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF -+ DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. -+ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE -+ IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, -+ YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE -+ COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER -+ OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF -+ ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. -+ -+8. TERMINATION. -+ -+ 8.1. This License and the rights granted hereunder will terminate -+ automatically if You fail to comply with terms herein and fail to cure -+ such breach within 30 days of becoming aware of the breach. All -+ sublicenses to the Covered Code which are properly granted shall -+ survive any termination of this License. Provisions which, by their -+ nature, must remain in effect beyond the termination of this License -+ shall survive. -+ -+ 8.2. If You initiate litigation by asserting a patent infringement -+ claim (excluding declatory judgment actions) against Initial Developer -+ or a Contributor (the Initial Developer or Contributor against whom -+ You file such action is referred to as "Participant") alleging that: -+ -+ (a) such Participant's Contributor Version directly or indirectly -+ infringes any patent, then any and all rights granted by such -+ Participant to You under Sections 2.1 and/or 2.2 of this License -+ shall, upon 60 days notice from Participant terminate prospectively, -+ unless if within 60 days after receipt of notice You either: (i) -+ agree in writing to pay Participant a mutually agreeable reasonable -+ royalty for Your past and future use of Modifications made by such -+ Participant, or (ii) withdraw Your litigation claim with respect to -+ the Contributor Version against such Participant. If within 60 days -+ of notice, a reasonable royalty and payment arrangement are not -+ mutually agreed upon in writing by the parties or the litigation claim -+ is not withdrawn, the rights granted by Participant to You under -+ Sections 2.1 and/or 2.2 automatically terminate at the expiration of -+ the 60 day notice period specified above. -+ -+ (b) any software, hardware, or device, other than such Participant's -+ Contributor Version, directly or indirectly infringes any patent, then -+ any rights granted to You by such Participant under Sections 2.1(b) -+ and 2.2(b) are revoked effective as of the date You first made, used, -+ sold, distributed, or had made, Modifications made by that -+ Participant. -+ -+ 8.3. If You assert a patent infringement claim against Participant -+ alleging that such Participant's Contributor Version directly or -+ indirectly infringes any patent where such claim is resolved (such as -+ by license or settlement) prior to the initiation of patent -+ infringement litigation, then the reasonable value of the licenses -+ granted by such Participant under Sections 2.1 or 2.2 shall be taken -+ into account in determining the amount or value of any payment or -+ license. -+ -+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, -+ all end user license agreements (excluding distributors and resellers) -+ which have been validly granted by You or any distributor hereunder -+ prior to termination shall survive termination. -+ -+9. LIMITATION OF LIABILITY. -+ -+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT -+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL -+ DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, -+ OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR -+ ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY -+ CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, -+ WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER -+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN -+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF -+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY -+ RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW -+ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE -+ EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO -+ THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. -+ -+10. U.S. GOVERNMENT END USERS. -+ -+ The Covered Code is a "commercial item," as that term is defined in -+ 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer -+ software" and "commercial computer software documentation," as such -+ terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 -+ C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), -+ all U.S. Government End Users acquire Covered Code with only those -+ rights set forth herein. -+ -+11. MISCELLANEOUS. -+ -+ This License represents the complete agreement concerning subject -+ matter hereof. If any provision of this License is held to be -+ unenforceable, such provision shall be reformed only to the extent -+ necessary to make it enforceable. This License shall be governed by -+ California law provisions (except to the extent applicable law, if -+ any, provides otherwise), excluding its conflict-of-law provisions. -+ With respect to disputes in which at least one party is a citizen of, -+ or an entity chartered or registered to do business in the United -+ States of America, any litigation relating to this License shall be -+ subject to the jurisdiction of the Federal Courts of the Northern -+ District of California, with venue lying in Santa Clara County, -+ California, with the losing party responsible for costs, including -+ without limitation, court costs and reasonable attorneys' fees and -+ expenses. The application of the United Nations Convention on -+ Contracts for the International Sale of Goods is expressly excluded. -+ Any law or regulation which provides that the language of a contract -+ shall be construed against the drafter shall not apply to this -+ License. -+ -+12. RESPONSIBILITY FOR CLAIMS. -+ -+ As between Initial Developer and the Contributors, each party is -+ responsible for claims and damages arising, directly or indirectly, -+ out of its utilization of rights under this License and You agree to -+ work with Initial Developer and Contributors to distribute such -+ responsibility on an equitable basis. Nothing herein is intended or -+ shall be deemed to constitute any admission of liability. -+ -+13. MULTIPLE-LICENSED CODE. -+ -+ Initial Developer may designate portions of the Covered Code as -+ "Multiple-Licensed". "Multiple-Licensed" means that the Initial -+ Developer permits you to utilize portions of the Covered Code under -+ Your choice of the NPL or the alternative licenses, if any, specified -+ by the Initial Developer in the file described in Exhibit A. -+ -+EXHIBIT A -Mozilla Public License. -+ -+ ``The contents of this file are subject to the Mozilla Public License -+ Version 1.1 (the "License"); you may not use this file except in -+ compliance with the License. You may obtain a copy of the License at -+ http://www.mozilla.org/MPL/ -+ -+ Software distributed under the License is distributed on an "AS IS" -+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the -+ License for the specific language governing rights and limitations -+ under the License. -+ -+ The Original Code is ______________________________________. -+ -+ The Initial Developer of the Original Code is ________________________. -+ Portions created by ______________________ are Copyright (C) ______ -+ _______________________. All Rights Reserved. -+ -+ Contributor(s): ______________________________________. -+ -+ Alternatively, the contents of this file may be used under the terms -+ of the _____ license (the "[___] License"), in which case the -+ provisions of [______] License are applicable instead of those -+ above. If you wish to allow use of your version of this file only -+ under the terms of the [____] License and not to allow others to use -+ your version of this file under the MPL, indicate your decision by -+ deleting the provisions above and replace them with the notice and -+ other provisions required by the [___] License. If you do not delete -+ the provisions above, a recipient may use your version of this file -+ under either the MPL or the [___] License." -+ -+ [NOTE: The text of this Exhibit A may differ slightly from the text of -+ the notices in the Source Code files of the Original Code. You should -+ use the text of this Exhibit A rather than the text found in the -+ Original Code Source Code for Your Modifications.] -diff --git a/MPL-1.1.html b/MPL-1.1.html -deleted file mode 100644 -index 7729f6c..0000000 ---- a/MPL-1.1.html -+++ /dev/null -@@ -1,840 +0,0 @@ -- -- -- -- -- -- -- -- -- -- -- Mozilla Public License version 1.1 -- -- -- -- -- -- -- --

MOZILLA PUBLIC LICENSE -- --
Version 1.1 -- --

-- --


-- -- -- --

1. Definitions. -- -- --

    1.0.1. "Commercial Use" means distribution or otherwise making -- --the Covered Code available to a third party. -- -- --

    1.1. ''Contributor'' means each entity that creates or contributes -- --to the creation of Modifications. -- -- --

    1.2. ''Contributor Version'' means the combination of the Original -- --Code, prior Modifications used by a Contributor, and the Modifications -- --made by that particular Contributor. -- -- --

    1.3. ''Covered Code'' means the Original Code or Modifications -- --or the combination of the Original Code and Modifications, in each case -- --including portions thereof. -- -- --

    1.4. ''Electronic Distribution Mechanism'' means a mechanism -- --generally accepted in the software development community for the electronic -- --transfer of data. -- -- --

    1.5. ''Executable'' means Covered Code in any form other than -- --Source Code. -- -- --

    1.6. ''Initial Developer'' means the individual or entity identified -- --as the Initial Developer in the Source Code notice required by Exhibit -- --A. -- -- --

    1.7. ''Larger Work'' means a work which combines Covered Code -- --or portions thereof with code not governed by the terms of this License. -- -- --

    1.8. ''License'' means this document. -- -- --

    1.8.1. "Licensable" means having the right to grant, to the maximum -- --extent possible, whether at the time of the initial grant or subsequently -- --acquired, any and all of the rights conveyed herein. -- -- --

    1.9. ''Modifications'' means any addition to or deletion from -- --the substance or structure of either the Original Code or any previous -- --Modifications. When Covered Code is released as a series of files, a Modification -- --is: -- --

      A. Any addition to or deletion from the contents of a file containing -- --Original Code or previous Modifications. -- --

      B. Any new file that contains any part of the Original Code or -- --previous Modifications. -- --
       

    -- -- --1.10. ''Original Code'' means Source Code of computer software code -- --which is described in the Source Code notice required by Exhibit A -- --as Original Code, and which, at the time of its release under this License -- --is not already Covered Code governed by this License. -- -- --

    1.10.1. "Patent Claims" means any patent claim(s), now owned -- --or hereafter acquired, including without limitation,  method, process, -- --and apparatus claims, in any patent Licensable by grantor. -- -- --

    1.11. ''Source Code'' means the preferred form of the Covered -- --Code for making modifications to it, including all modules it contains, -- --plus any associated interface definition files, scripts used to control -- --compilation and installation of an Executable, or source code differential -- --comparisons against either the Original Code or another well known, available -- --Covered Code of the Contributor's choice. The Source Code can be in a compressed -- --or archival form, provided the appropriate decompression or de-archiving -- --software is widely available for no charge. -- -- --

    1.12. "You'' (or "Your")  means an individual or a legal -- --entity exercising rights under, and complying with all of the terms of, -- --this License or a future version of this License issued under Section 6.1. -- --For legal entities, "You'' includes any entity which controls, is controlled -- --by, or is under common control with You. For purposes of this definition, -- --"control'' means (a) the power, direct or indirect, to cause the direction -- --or management of such entity, whether by contract or otherwise, or (b) -- --ownership of more than fifty percent (50%) of the outstanding shares or -- --beneficial ownership of such entity.

-- -- --2. Source Code License. -- -- --
    2.1. The Initial Developer Grant. -- --
    The Initial Developer hereby grants You a world-wide, royalty-free, -- --non-exclusive license, subject to third party intellectual property claims: -- --
      (a)  under intellectual property rights (other than -- --patent or trademark) Licensable by Initial Developer to use, reproduce, -- --modify, display, perform, sublicense and distribute the Original Code (or -- --portions thereof) with or without Modifications, and/or as part of a Larger -- --Work; and -- --

      (b) under Patents Claims infringed by the making, using or selling -- --of Original Code, to make, have made, use, practice, sell, and offer for -- --sale, and/or otherwise dispose of the Original Code (or portions thereof). -- --

        -- --
           
        -- --
      -- --(c) the licenses granted in this Section 2.1(a) and (b) are effective -- --on the date Initial Developer first distributes Original Code under the -- --terms of this License. -- --

      (d) Notwithstanding Section 2.1(b) above, no patent license is -- --granted: 1) for code that You delete from the Original Code; 2) separate -- --from the Original Code;  or 3) for infringements caused by: i) the -- --modification of the Original Code or ii) the combination of the Original -- --Code with other software or devices. -- --
       

    -- -- --2.2. Contributor Grant. -- --
    Subject to third party intellectual property claims, each Contributor -- --hereby grants You a world-wide, royalty-free, non-exclusive license -- --
        -- --
      (a)  under intellectual property rights (other than -- --patent or trademark) Licensable by Contributor, to use, reproduce, modify, -- --display, perform, sublicense and distribute the Modifications created by -- --such Contributor (or portions thereof) either on an unmodified basis, with -- --other Modifications, as Covered Code and/or as part of a Larger Work; and -- --

      (b) under Patent Claims infringed by the making, using, or selling -- --of  Modifications made by that Contributor either alone and/or in -- --combination with its Contributor Version (or portions of such combination), -- --to make, use, sell, offer for sale, have made, and/or otherwise dispose -- --of: 1) Modifications made by that Contributor (or portions thereof); and -- --2) the combination of  Modifications made by that Contributor with -- --its Contributor Version (or portions of such combination). -- --

      (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective -- --on the date Contributor first makes Commercial Use of the Covered Code. -- --

      (d)    Notwithstanding Section 2.2(b) above, no -- --patent license is granted: 1) for any code that Contributor has deleted -- --from the Contributor Version; 2)  separate from the Contributor Version;  -- --3)  for infringements caused by: i) third party modifications of Contributor -- --Version or ii)  the combination of Modifications made by that Contributor -- --with other software  (except as part of the Contributor Version) or -- --other devices; or 4) under Patent Claims infringed by Covered Code in the -- --absence of Modifications made by that Contributor.

    -- --
-- -- -- -- --


3. Distribution Obligations. -- -- --

    3.1. Application of License. -- --
    The Modifications which You create or to which You contribute are governed -- --by the terms of this License, including without limitation Section 2.2. -- --The Source Code version of Covered Code may be distributed only under the -- --terms of this License or a future version of this License released under -- --Section 6.1, and You must include a copy of this License with every -- --copy of the Source Code You distribute. You may not offer or impose any -- --terms on any Source Code version that alters or restricts the applicable -- --version of this License or the recipients' rights hereunder. However, You -- --may include an additional document offering the additional rights described -- --in Section 3.5. -- -- --

    3.2. Availability of Source Code. -- --
    Any Modification which You create or to which You contribute must be -- --made available in Source Code form under the terms of this License either -- --on the same media as an Executable version or via an accepted Electronic -- --Distribution Mechanism to anyone to whom you made an Executable version -- --available; and if made available via Electronic Distribution Mechanism, -- --must remain available for at least twelve (12) months after the date it -- --initially became available, or at least six (6) months after a subsequent -- --version of that particular Modification has been made available to such -- --recipients. You are responsible for ensuring that the Source Code version -- --remains available even if the Electronic Distribution Mechanism is maintained -- --by a third party. -- -- --

    3.3. Description of Modifications. -- --
    You must cause all Covered Code to which You contribute to contain -- --a file documenting the changes You made to create that Covered Code and -- --the date of any change. You must include a prominent statement that the -- --Modification is derived, directly or indirectly, from Original Code provided -- --by the Initial Developer and including the name of the Initial Developer -- --in (a) the Source Code, and (b) in any notice in an Executable version -- --or related documentation in which You describe the origin or ownership -- --of the Covered Code. -- -- --

    3.4. Intellectual Property Matters -- --

      (a) Third Party Claims. -- --
      If Contributor has knowledge that a license under a third party's intellectual -- --property rights is required to exercise the rights granted by such Contributor -- --under Sections 2.1 or 2.2, Contributor must include a text file with the -- --Source Code distribution titled "LEGAL'' which describes the claim and -- --the party making the claim in sufficient detail that a recipient will know -- --whom to contact. If Contributor obtains such knowledge after the Modification -- --is made available as described in Section 3.2, Contributor shall promptly -- --modify the LEGAL file in all copies Contributor makes available thereafter -- --and shall take other steps (such as notifying appropriate mailing lists -- --or newsgroups) reasonably calculated to inform those who received the Covered -- --Code that new knowledge has been obtained. -- --

      (b) Contributor APIs. -- --
      If Contributor's Modifications include an application programming interface -- --and Contributor has knowledge of patent licenses which are reasonably necessary -- --to implement that API, Contributor must also include this information in -- --the LEGAL file. -- --
       

    -- --          (c)    -- --Representations. -- --
      Contributor represents that, except as disclosed pursuant to Section -- --3.4(a) above, Contributor believes that Contributor's Modifications are -- --Contributor's original creation(s) and/or Contributor has sufficient rights -- --to grant the rights conveyed by this License.
    -- -- -- -- --


    3.5. Required Notices. -- --
    You must duplicate the notice in Exhibit A in each file of the -- --Source Code.  If it is not possible to put such notice in a particular -- --Source Code file due to its structure, then You must include such notice -- --in a location (such as a relevant directory) where a user would be likely -- --to look for such a notice.  If You created one or more Modification(s) -- --You may add your name as a Contributor to the notice described in Exhibit -- --A.  You must also duplicate this License in any documentation -- --for the Source Code where You describe recipients' rights or ownership -- --rights relating to Covered Code.  You may choose to offer, and to -- --charge a fee for, warranty, support, indemnity or liability obligations -- --to one or more recipients of Covered Code. However, You may do so only -- --on Your own behalf, and not on behalf of the Initial Developer or any Contributor. -- --You must make it absolutely clear than any such warranty, support, indemnity -- --or liability obligation is offered by You alone, and You hereby agree to -- --indemnify the Initial Developer and every Contributor for any liability -- --incurred by the Initial Developer or such Contributor as a result of warranty, -- --support, indemnity or liability terms You offer. -- -- --

    3.6. Distribution of Executable Versions. -- --
    You may distribute Covered Code in Executable form only if the requirements -- --of Section 3.1-3.5 have been met for that Covered Code, and if You -- --include a notice stating that the Source Code version of the Covered Code -- --is available under the terms of this License, including a description of -- --how and where You have fulfilled the obligations of Section 3.2. -- --The notice must be conspicuously included in any notice in an Executable -- --version, related documentation or collateral in which You describe recipients' -- --rights relating to the Covered Code. You may distribute the Executable -- --version of Covered Code or ownership rights under a license of Your choice, -- --which may contain terms different from this License, provided that You -- --are in compliance with the terms of this License and that the license for -- --the Executable version does not attempt to limit or alter the recipient's -- --rights in the Source Code version from the rights set forth in this License. -- --If You distribute the Executable version under a different license You -- --must make it absolutely clear that any terms which differ from this License -- --are offered by You alone, not by the Initial Developer or any Contributor. -- --You hereby agree to indemnify the Initial Developer and every Contributor -- --for any liability incurred by the Initial Developer or such Contributor -- --as a result of any such terms You offer. -- -- --

    3.7. Larger Works. -- --
    You may create a Larger Work by combining Covered Code with other code -- --not governed by the terms of this License and distribute the Larger Work -- --as a single product. In such a case, You must make sure the requirements -- --of this License are fulfilled for the Covered Code.

-- -- --4. Inability to Comply Due to Statute or Regulation. -- --
    If it is impossible for You to comply with any of the terms of this -- --License with respect to some or all of the Covered Code due to statute, -- --judicial order, or regulation then You must: (a) comply with the terms -- --of this License to the maximum extent possible; and (b) describe the limitations -- --and the code they affect. Such description must be included in the LEGAL -- --file described in Section 3.4 and must be included with all distributions -- --of the Source Code. Except to the extent prohibited by statute or regulation, -- --such description must be sufficiently detailed for a recipient of ordinary -- --skill to be able to understand it.
-- -- --5. Application of this License. -- --
    This License applies to code to which the Initial Developer has attached -- --the notice in Exhibit A and to related Covered Code.
-- -- --6. Versions of the License. -- -- --
    6.1. New Versions. -- --
    Netscape Communications Corporation (''Netscape'') may publish revised -- --and/or new versions of the License from time to time. Each version will -- --be given a distinguishing version number. -- -- --

    6.2. Effect of New Versions. -- --
    Once Covered Code has been published under a particular version of -- --the License, You may always continue to use it under the terms of that -- --version. You may also choose to use such Covered Code under the terms of -- --any subsequent version of the License published by Netscape. No one other -- --than Netscape has the right to modify the terms applicable to Covered Code -- --created under this License. -- -- --

    6.3. Derivative Works. -- --
    If You create or use a modified version of this License (which you -- --may only do in order to apply it to code which is not already Covered Code -- --governed by this License), You must (a) rename Your license so that the -- --phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL'' -- --or any confusingly similar phrase do not appear in your license (except -- --to note that your license differs from this License) and (b) otherwise -- --make it clear that Your version of the license contains terms which differ -- --from the Mozilla Public License and Netscape Public License. (Filling in -- --the name of the Initial Developer, Original Code or Contributor in the -- --notice described in Exhibit A shall not of themselves be deemed -- --to be modifications of this License.)

-- -- --7. DISCLAIMER OF WARRANTY. -- --
    COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT -- --WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, -- --WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT -- --FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY -- --AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE -- --PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER -- --CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. -- --THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. -- --NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-- -- --8. TERMINATION. -- -- --
    8.1.  This License and the rights granted hereunder will -- --terminate automatically if You fail to comply with terms herein and fail -- --to cure such breach within 30 days of becoming aware of the breach. All -- --sublicenses to the Covered Code which are properly granted shall survive -- --any termination of this License. Provisions which, by their nature, must -- --remain in effect beyond the termination of this License shall survive. -- -- --

    8.2.  If You initiate litigation by asserting a patent infringement -- --claim (excluding declatory judgment actions) against Initial Developer -- --or a Contributor (the Initial Developer or Contributor against whom You -- --file such action is referred to as "Participant")  alleging that: -- --

    (a)  such Participant's Contributor Version directly or -- --indirectly infringes any patent, then any and all rights granted by such -- --Participant to You under Sections 2.1 and/or 2.2 of this License shall, -- --upon 60 days notice from Participant terminate prospectively, unless if -- --within 60 days after receipt of notice You either: (i)  agree in writing -- --to pay Participant a mutually agreeable reasonable royalty for Your past -- --and future use of Modifications made by such Participant, or (ii) withdraw -- --Your litigation claim with respect to the Contributor Version against such -- --Participant.  If within 60 days of notice, a reasonable royalty and -- --payment arrangement are not mutually agreed upon in writing by the parties -- --or the litigation claim is not withdrawn, the rights granted by Participant -- --to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration -- --of the 60 day notice period specified above. -- --

    (b)  any software, hardware, or device, other than such -- --Participant's Contributor Version, directly or indirectly infringes any -- --patent, then any rights granted to You by such Participant under Sections -- --2.1(b) and 2.2(b) are revoked effective as of the date You first made, -- --used, sold, distributed, or had made, Modifications made by that Participant. -- -- --

    8.3.  If You assert a patent infringement claim against -- --Participant alleging that such Participant's Contributor Version directly -- --or indirectly infringes any patent where such claim is resolved (such as -- --by license or settlement) prior to the initiation of patent infringement -- --litigation, then the reasonable value of the licenses granted by such Participant -- --under Sections 2.1 or 2.2 shall be taken into account in determining the -- --amount or value of any payment or license. -- -- --

    8.4.  In the event of termination under Sections 8.1 or -- --8.2 above,  all end user license agreements (excluding distributors -- --and resellers) which have been validly granted by You or any distributor -- --hereunder prior to termination shall survive termination.

-- -- --9. LIMITATION OF LIABILITY. -- --
    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING -- --NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, -- --ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER -- --OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, -- --INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT -- --LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE -- --OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN -- --IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. -- --THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR -- --PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE -- --LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION -- --OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION -- --AND LIMITATION MAY NOT APPLY TO YOU.
-- -- --10. U.S. GOVERNMENT END USERS. -- --
    The Covered Code is a ''commercial item,'' as that term is defined -- --in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' -- --and ''commercial computer software documentation,'' as such terms are used -- --in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and -- --48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government -- --End Users acquire Covered Code with only those rights set forth herein.
-- -- --11. MISCELLANEOUS. -- --
    This License represents the complete agreement concerning subject matter -- --hereof. If any provision of this License is held to be unenforceable, such -- --provision shall be reformed only to the extent necessary to make it enforceable. -- --This License shall be governed by California law provisions (except to -- --the extent applicable law, if any, provides otherwise), excluding its conflict-of-law -- --provisions. With respect to disputes in which at least one party is a citizen -- --of, or an entity chartered or registered to do business in the United States -- --of America, any litigation relating to this License shall be subject to -- --the jurisdiction of the Federal Courts of the Northern District of California, -- --with venue lying in Santa Clara County, California, with the losing party -- --responsible for costs, including without limitation, court costs and reasonable -- --attorneys' fees and expenses. The application of the United Nations Convention -- --on Contracts for the International Sale of Goods is expressly excluded. -- --Any law or regulation which provides that the language of a contract shall -- --be construed against the drafter shall not apply to this License.
-- -- --12. RESPONSIBILITY FOR CLAIMS. -- --
    As between Initial Developer and the Contributors, each party is responsible -- --for claims and damages arising, directly or indirectly, out of its utilization -- --of rights under this License and You agree to work with Initial Developer -- --and Contributors to distribute such responsibility on an equitable basis. -- --Nothing herein is intended or shall be deemed to constitute any admission -- --of liability.
-- -- --13. MULTIPLE-LICENSED CODE. -- --
    Initial Developer may designate portions of the Covered Code as “Multiple-Licensed”.  -- --“Multiple-Licensed” means that the Initial Developer permits you to utilize -- --portions of the Covered Code under Your choice of the MPL or the alternative -- --licenses, if any, specified by the Initial Developer in the file described -- --in Exhibit A.
-- -- -- -- --


EXHIBIT A -Mozilla Public License. -- --

    ``The contents of this file are subject to the Mozilla Public License -- --Version 1.1 (the "License"); you may not use this file except in compliance -- --with the License. You may obtain a copy of the License at -- --
    http://www.mozilla.org/MPL/ -- --

    Software distributed under the License is distributed on an "AS IS" -- --basis, WITHOUT WARRANTY OF -- --
    ANY KIND, either express or implied. See the License for the specific -- --language governing rights and -- --
    limitations under the License. -- --

    The Original Code is ______________________________________. -- --

    The Initial Developer of the Original Code is ________________________. -- --Portions created by -- --
     ______________________ are Copyright (C) ______ _______________________. -- --All Rights -- --
    Reserved. -- --

    Contributor(s): ______________________________________. -- --

    Alternatively, the contents of this file may be used under the terms -- --of the _____ license (the  “[___] License”), in which case the provisions -- --of [______] License are applicable  instead of those above.  -- --If you wish to allow use of your version of this file only under the terms -- --of the [____] License and not to allow others to use your version of this -- --file under the MPL, indicate your decision by deleting  the provisions -- --above and replace  them with the notice and other provisions required -- --by the [___] License.  If you do not delete the provisions above, -- --a recipient may use your version of this file under either the MPL or the -- --[___] License." -- --

    [NOTE: The text of this Exhibit A may differ slightly from the text -- --of the notices in the Source Code files of the Original Code. You should -- --use the text of this Exhibit A rather than the text found in the Original -- --Code Source Code for Your Modifications.] -- --

    -- -- -- -- -- -diff --git a/Makefile.am b/Makefile.am -index bb89e98..34a01d3 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -7,4 +7,4 @@ pkgconfig_DATA= libgdiplus.pc - - DISTCLEANFILES= libgdiplus.pc - --EXTRA_DIST = libgdiplus.pc.in LICENSE MPL-1.1.html -+EXTRA_DIST = libgdiplus.pc.in LICENSE --- -2.19.2 - diff --git a/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch b/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch deleted file mode 100644 index 3ddfe7c37c9..00000000000 --- a/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch +++ /dev/null @@ -1,1018 +0,0 @@ -From 7ac3970c792ffbbf53e4168e086fae33fab39ce3 Mon Sep 17 00:00:00 2001 -From: Frederik Carlier -Date: Tue, 17 Jul 2018 23:24:51 +0200 -Subject: [PATCH] Update LICENSE to match the headers of the source files - -Upstream: 947e525d1025200623f686d8efe4c0094c5d2380 -Signed-off-by: Thomas Petazzoni ---- - LICENSE | 998 +------------------------------------------------------- - 1 file changed, 14 insertions(+), 984 deletions(-) - -diff --git a/LICENSE b/LICENSE -index b3164bb..2342cc9 100644 ---- a/LICENSE -+++ b/LICENSE -@@ -1,984 +1,14 @@ --Libgdiplus is licensed under the terms of the GNU Library GPL or the --Mozilla Public License 1.1. -- -- --The Licenses --============ -- --### GNU Library GPL -- -- GNU LESSER GENERAL PUBLIC LICENSE -- Version 2.1, February 1999 -- -- Copyright (C) 1991, 1999 Free Software Foundation, Inc. -- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -- Everyone is permitted to copy and distribute verbatim copies -- of this license document, but changing it is not allowed. -- --[This is the first released version of the Lesser GPL. It also counts -- as the successor of the GNU Library Public License, version 2, hence -- the version number 2.1.] -- -- Preamble -- -- The licenses for most software are designed to take away your --freedom to share and change it. By contrast, the GNU General Public --Licenses are intended to guarantee your freedom to share and change --free software--to make sure the software is free for all its users. -- -- This license, the Lesser General Public License, applies to some --specially designated software packages--typically libraries--of the --Free Software Foundation and other authors who decide to use it. You --can use it too, but we suggest you first think carefully about whether --this license or the ordinary General Public License is the better --strategy to use in any particular case, based on the explanations below. -- -- When we speak of free software, we are referring to freedom of use, --not price. Our General Public Licenses are designed to make sure that --you have the freedom to distribute copies of free software (and charge --for this service if you wish); that you receive source code or can get --it if you want it; that you can change the software and use pieces of --it in new free programs; and that you are informed that you can do --these things. -- -- To protect your rights, we need to make restrictions that forbid --distributors to deny you these rights or to ask you to surrender these --rights. These restrictions translate to certain responsibilities for --you if you distribute copies of the library or if you modify it. -- -- For example, if you distribute copies of the library, whether gratis --or for a fee, you must give the recipients all the rights that we gave --you. You must make sure that they, too, receive or can get the source --code. If you link other code with the library, you must provide --complete object files to the recipients, so that they can relink them --with the library after making changes to the library and recompiling --it. And you must show them these terms so they know their rights. -- -- We protect your rights with a two-step method: (1) we copyright the --library, and (2) we offer you this license, which gives you legal --permission to copy, distribute and/or modify the library. -- -- To protect each distributor, we want to make it very clear that --there is no warranty for the free library. Also, if the library is --modified by someone else and passed on, the recipients should know --that what they have is not the original version, so that the original --author's reputation will not be affected by problems that might be --introduced by others. -- -- Finally, software patents pose a constant threat to the existence of --any free program. We wish to make sure that a company cannot --effectively restrict the users of a free program by obtaining a --restrictive license from a patent holder. Therefore, we insist that --any patent license obtained for a version of the library must be --consistent with the full freedom of use specified in this license. -- -- Most GNU software, including some libraries, is covered by the --ordinary GNU General Public License. This license, the GNU Lesser --General Public License, applies to certain designated libraries, and --is quite different from the ordinary General Public License. We use --this license for certain libraries in order to permit linking those --libraries into non-free programs. -- -- When a program is linked with a library, whether statically or using --a shared library, the combination of the two is legally speaking a --combined work, a derivative of the original library. The ordinary --General Public License therefore permits such linking only if the --entire combination fits its criteria of freedom. The Lesser General --Public License permits more lax criteria for linking other code with --the library. -- -- We call this license the "Lesser" General Public License because it --does Less to protect the user's freedom than the ordinary General --Public License. It also provides other free software developers Less --of an advantage over competing non-free programs. These disadvantages --are the reason we use the ordinary General Public License for many --libraries. However, the Lesser license provides advantages in certain --special circumstances. -- -- For example, on rare occasions, there may be a special need to --encourage the widest possible use of a certain library, so that it becomes --a de-facto standard. To achieve this, non-free programs must be --allowed to use the library. A more frequent case is that a free --library does the same job as widely used non-free libraries. In this --case, there is little to gain by limiting the free library to free --software only, so we use the Lesser General Public License. -- -- In other cases, permission to use a particular library in non-free --programs enables a greater number of people to use a large body of --free software. For example, permission to use the GNU C Library in --non-free programs enables many more people to use the whole GNU --operating system, as well as its variant, the GNU/Linux operating --system. -- -- Although the Lesser General Public License is Less protective of the --users' freedom, it does ensure that the user of a program that is --linked with the Library has the freedom and the wherewithal to run --that program using a modified version of the Library. -- -- The precise terms and conditions for copying, distribution and --modification follow. Pay close attention to the difference between a --"work based on the library" and a "work that uses the library". The --former contains code derived from the library, whereas the latter must --be combined with the library in order to run. -- -- GNU LESSER GENERAL PUBLIC LICENSE -- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -- -- 0. This License Agreement applies to any software library or other --program which contains a notice placed by the copyright holder or --other authorized party saying it may be distributed under the terms of --this Lesser General Public License (also called "this License"). --Each licensee is addressed as "you". -- -- A "library" means a collection of software functions and/or data --prepared so as to be conveniently linked with application programs --(which use some of those functions and data) to form executables. -- -- The "Library", below, refers to any such software library or work --which has been distributed under these terms. A "work based on the --Library" means either the Library or any derivative work under --copyright law: that is to say, a work containing the Library or a --portion of it, either verbatim or with modifications and/or translated --straightforwardly into another language. (Hereinafter, translation is --included without limitation in the term "modification".) -- -- "Source code" for a work means the preferred form of the work for --making modifications to it. For a library, complete source code means --all the source code for all modules it contains, plus any associated --interface definition files, plus the scripts used to control compilation --and installation of the library. -- -- Activities other than copying, distribution and modification are not --covered by this License; they are outside its scope. The act of --running a program using the Library is not restricted, and output from --such a program is covered only if its contents constitute a work based --on the Library (independent of the use of the Library in a tool for --writing it). Whether that is true depends on what the Library does --and what the program that uses the Library does. -- -- 1. You may copy and distribute verbatim copies of the Library's --complete source code as you receive it, in any medium, provided that --you conspicuously and appropriately publish on each copy an --appropriate copyright notice and disclaimer of warranty; keep intact --all the notices that refer to this License and to the absence of any --warranty; and distribute a copy of this License along with the --Library. -- -- You may charge a fee for the physical act of transferring a copy, --and you may at your option offer warranty protection in exchange for a --fee. -- -- 2. You may modify your copy or copies of the Library or any portion --of it, thus forming a work based on the Library, and copy and --distribute such modifications or work under the terms of Section 1 --above, provided that you also meet all of these conditions: -- -- a) The modified work must itself be a software library. -- -- b) You must cause the files modified to carry prominent notices -- stating that you changed the files and the date of any change. -- -- c) You must cause the whole of the work to be licensed at no -- charge to all third parties under the terms of this License. -- -- d) If a facility in the modified Library refers to a function or a -- table of data to be supplied by an application program that uses -- the facility, other than as an argument passed when the facility -- is invoked, then you must make a good faith effort to ensure that, -- in the event an application does not supply such function or -- table, the facility still operates, and performs whatever part of -- its purpose remains meaningful. -- -- (For example, a function in a library to compute square roots has -- a purpose that is entirely well-defined independent of the -- application. Therefore, Subsection 2d requires that any -- application-supplied function or table used by this function must -- be optional: if the application does not supply it, the square -- root function must still compute square roots.) -- --These requirements apply to the modified work as a whole. If --identifiable sections of that work are not derived from the Library, --and can be reasonably considered independent and separate works in --themselves, then this License, and its terms, do not apply to those --sections when you distribute them as separate works. But when you --distribute the same sections as part of a whole which is a work based --on the Library, the distribution of the whole must be on the terms of --this License, whose permissions for other licensees extend to the --entire whole, and thus to each and every part regardless of who wrote --it. -- --Thus, it is not the intent of this section to claim rights or contest --your rights to work written entirely by you; rather, the intent is to --exercise the right to control the distribution of derivative or --collective works based on the Library. -- --In addition, mere aggregation of another work not based on the Library --with the Library (or with a work based on the Library) on a volume of --a storage or distribution medium does not bring the other work under --the scope of this License. -- -- 3. You may opt to apply the terms of the ordinary GNU General Public --License instead of this License to a given copy of the Library. To do --this, you must alter all the notices that refer to this License, so --that they refer to the ordinary GNU General Public License, version 2, --instead of to this License. (If a newer version than version 2 of the --ordinary GNU General Public License has appeared, then you can specify --that version instead if you wish.) Do not make any other change in --these notices. -- -- Once this change is made in a given copy, it is irreversible for --that copy, so the ordinary GNU General Public License applies to all --subsequent copies and derivative works made from that copy. -- -- This option is useful when you wish to copy part of the code of --the Library into a program that is not a library. -- -- 4. You may copy and distribute the Library (or a portion or --derivative of it, under Section 2) in object code or executable form --under the terms of Sections 1 and 2 above provided that you accompany --it with the complete corresponding machine-readable source code, which --must be distributed under the terms of Sections 1 and 2 above on a --medium customarily used for software interchange. -- -- If distribution of object code is made by offering access to copy --from a designated place, then offering equivalent access to copy the --source code from the same place satisfies the requirement to --distribute the source code, even though third parties are not --compelled to copy the source along with the object code. -- -- 5. A program that contains no derivative of any portion of the --Library, but is designed to work with the Library by being compiled or --linked with it, is called a "work that uses the Library". Such a --work, in isolation, is not a derivative work of the Library, and --therefore falls outside the scope of this License. -- -- However, linking a "work that uses the Library" with the Library --creates an executable that is a derivative of the Library (because it --contains portions of the Library), rather than a "work that uses the --library". The executable is therefore covered by this License. --Section 6 states terms for distribution of such executables. -- -- When a "work that uses the Library" uses material from a header file --that is part of the Library, the object code for the work may be a --derivative work of the Library even though the source code is not. --Whether this is true is especially significant if the work can be --linked without the Library, or if the work is itself a library. The --threshold for this to be true is not precisely defined by law. -- -- If such an object file uses only numerical parameters, data --structure layouts and accessors, and small macros and small inline --functions (ten lines or less in length), then the use of the object --file is unrestricted, regardless of whether it is legally a derivative --work. (Executables containing this object code plus portions of the --Library will still fall under Section 6.) -- -- Otherwise, if the work is a derivative of the Library, you may --distribute the object code for the work under the terms of Section 6. --Any executables containing that work also fall under Section 6, --whether or not they are linked directly with the Library itself. -- -- 6. As an exception to the Sections above, you may also combine or --link a "work that uses the Library" with the Library to produce a --work containing portions of the Library, and distribute that work --under terms of your choice, provided that the terms permit --modification of the work for the customer's own use and reverse --engineering for debugging such modifications. -- -- You must give prominent notice with each copy of the work that the --Library is used in it and that the Library and its use are covered by --this License. You must supply a copy of this License. If the work --during execution displays copyright notices, you must include the --copyright notice for the Library among them, as well as a reference --directing the user to the copy of this License. Also, you must do one --of these things: -- -- a) Accompany the work with the complete corresponding -- machine-readable source code for the Library including whatever -- changes were used in the work (which must be distributed under -- Sections 1 and 2 above); and, if the work is an executable linked -- with the Library, with the complete machine-readable "work that -- uses the Library", as object code and/or source code, so that the -- user can modify the Library and then relink to produce a modified -- executable containing the modified Library. (It is understood -- that the user who changes the contents of definitions files in the -- Library will not necessarily be able to recompile the application -- to use the modified definitions.) -- -- b) Use a suitable shared library mechanism for linking with the -- Library. A suitable mechanism is one that (1) uses at run time a -- copy of the library already present on the user's computer system, -- rather than copying library functions into the executable, and (2) -- will operate properly with a modified version of the library, if -- the user installs one, as long as the modified version is -- interface-compatible with the version that the work was made with. -- -- c) Accompany the work with a written offer, valid for at -- least three years, to give the same user the materials -- specified in Subsection 6a, above, for a charge no more -- than the cost of performing this distribution. -- -- d) If distribution of the work is made by offering access to copy -- from a designated place, offer equivalent access to copy the above -- specified materials from the same place. -- -- e) Verify that the user has already received a copy of these -- materials or that you have already sent this user a copy. -- -- For an executable, the required form of the "work that uses the --Library" must include any data and utility programs needed for --reproducing the executable from it. However, as a special exception, --the materials to be distributed need not include anything that is --normally distributed (in either source or binary form) with the major --components (compiler, kernel, and so on) of the operating system on --which the executable runs, unless that component itself accompanies --the executable. -- -- It may happen that this requirement contradicts the license --restrictions of other proprietary libraries that do not normally --accompany the operating system. Such a contradiction means you cannot --use both them and the Library together in an executable that you --distribute. -- -- 7. You may place library facilities that are a work based on the --Library side-by-side in a single library together with other library --facilities not covered by this License, and distribute such a combined --library, provided that the separate distribution of the work based on --the Library and of the other library facilities is otherwise --permitted, and provided that you do these two things: -- -- a) Accompany the combined library with a copy of the same work -- based on the Library, uncombined with any other library -- facilities. This must be distributed under the terms of the -- Sections above. -- -- b) Give prominent notice with the combined library of the fact -- that part of it is a work based on the Library, and explaining -- where to find the accompanying uncombined form of the same work. -- -- 8. You may not copy, modify, sublicense, link with, or distribute --the Library except as expressly provided under this License. Any --attempt otherwise to copy, modify, sublicense, link with, or --distribute the Library is void, and will automatically terminate your --rights under this License. However, parties who have received copies, --or rights, from you under this License will not have their licenses --terminated so long as such parties remain in full compliance. -- -- 9. You are not required to accept this License, since you have not --signed it. However, nothing else grants you permission to modify or --distribute the Library or its derivative works. These actions are --prohibited by law if you do not accept this License. Therefore, by --modifying or distributing the Library (or any work based on the --Library), you indicate your acceptance of this License to do so, and --all its terms and conditions for copying, distributing or modifying --the Library or works based on it. -- -- 10. Each time you redistribute the Library (or any work based on the --Library), the recipient automatically receives a license from the --original licensor to copy, distribute, link with or modify the Library --subject to these terms and conditions. You may not impose any further --restrictions on the recipients' exercise of the rights granted herein. --You are not responsible for enforcing compliance by third parties with --this License. -- -- 11. If, as a consequence of a court judgment or allegation of patent --infringement or for any other reason (not limited to patent issues), --conditions are imposed on you (whether by court order, agreement or --otherwise) that contradict the conditions of this License, they do not --excuse you from the conditions of this License. If you cannot --distribute so as to satisfy simultaneously your obligations under this --License and any other pertinent obligations, then as a consequence you --may not distribute the Library at all. For example, if a patent --license would not permit royalty-free redistribution of the Library by --all those who receive copies directly or indirectly through you, then --the only way you could satisfy both it and this License would be to --refrain entirely from distribution of the Library. -- --If any portion of this section is held invalid or unenforceable under any --particular circumstance, the balance of the section is intended to apply, --and the section as a whole is intended to apply in other circumstances. -- --It is not the purpose of this section to induce you to infringe any --patents or other property right claims or to contest validity of any --such claims; this section has the sole purpose of protecting the --integrity of the free software distribution system which is --implemented by public license practices. Many people have made --generous contributions to the wide range of software distributed --through that system in reliance on consistent application of that --system; it is up to the author/donor to decide if he or she is willing --to distribute software through any other system and a licensee cannot --impose that choice. -- --This section is intended to make thoroughly clear what is believed to --be a consequence of the rest of this License. -- -- 12. If the distribution and/or use of the Library is restricted in --certain countries either by patents or by copyrighted interfaces, the --original copyright holder who places the Library under this License may add --an explicit geographical distribution limitation excluding those countries, --so that distribution is permitted only in or among countries not thus --excluded. In such case, this License incorporates the limitation as if --written in the body of this License. -- -- 13. The Free Software Foundation may publish revised and/or new --versions of the Lesser General Public License from time to time. --Such new versions will be similar in spirit to the present version, --but may differ in detail to address new problems or concerns. -- --Each version is given a distinguishing version number. If the Library --specifies a version number of this License which applies to it and --"any later version", you have the option of following the terms and --conditions either of that version or of any later version published by --the Free Software Foundation. If the Library does not specify a --license version number, you may choose any version ever published by --the Free Software Foundation. -- -- 14. If you wish to incorporate parts of the Library into other free --programs whose distribution conditions are incompatible with these, --write to the author to ask for permission. For software which is --copyrighted by the Free Software Foundation, write to the Free --Software Foundation; we sometimes make exceptions for this. Our --decision will be guided by the two goals of preserving the free status --of all derivatives of our free software and of promoting the sharing --and reuse of software generally. -- -- NO WARRANTY -- -- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO --WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. --EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR --OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY --KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE --IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR --PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE --LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME --THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -- -- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN --WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY --AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU --FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR --CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE --LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING --RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A --FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF --SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH --DAMAGES. -- -- END OF TERMS AND CONDITIONS -- -- How to Apply These Terms to Your New Libraries -- -- If you develop a new library, and you want it to be of the greatest --possible use to the public, we recommend making it free software that --everyone can redistribute and change. You can do so by permitting --redistribution under these terms (or, alternatively, under the terms of the --ordinary General Public License). -- -- To apply these terms, attach the following notices to the library. It is --safest to attach them to the start of each source file to most effectively --convey the exclusion of warranty; and each file should have at least the --"copyright" line and a pointer to where the full notice is found. -- -- -- Copyright (C) -- -- This 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. -- -- This 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 this library; if not, write to the Free Software -- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -- --Also add information on how to contact you by electronic and paper mail. -- --You should also get your employer (if you work as a programmer) or your --school, if any, to sign a "copyright disclaimer" for the library, if --necessary. Here is a sample; alter the names: -- -- Yoyodyne, Inc., hereby disclaims all copyright interest in the -- library `Frob' (a library for tweaking knobs) written by James Random Hacker. -- -- , 1 April 1990 -- Ty Coon, President of Vice -- --That's all there is to it! -- -- --### Mozilla Public License 1.1 -- -- MOZILLA PUBLIC LICENSE -- Version 1.1 -- -- --------------- -- --1. Definitions. -- -- 1.0.1. "Commercial Use" means distribution or otherwise making the -- Covered Code available to a third party. -- -- 1.1. "Contributor" means each entity that creates or contributes to -- the creation of Modifications. -- -- 1.2. "Contributor Version" means the combination of the Original -- Code, prior Modifications used by a Contributor, and the Modifications -- made by that particular Contributor. -- -- 1.3. "Covered Code" means the Original Code or Modifications or the -- combination of the Original Code and Modifications, in each case -- including portions thereof. -- -- 1.4. "Electronic Distribution Mechanism" means a mechanism generally -- accepted in the software development community for the electronic -- transfer of data. -- -- 1.5. "Executable" means Covered Code in any form other than Source -- Code. -- -- 1.6. "Initial Developer" means the individual or entity identified -- as the Initial Developer in the Source Code notice required by Exhibit -- A. -- -- 1.7. "Larger Work" means a work which combines Covered Code or -- portions thereof with code not governed by the terms of this License. -- -- 1.8. "License" means this document. -- -- 1.8.1. "Licensable" means having the right to grant, to the maximum -- extent possible, whether at the time of the initial grant or -- subsequently acquired, any and all of the rights conveyed herein. -- -- 1.9. "Modifications" means any addition to or deletion from the -- substance or structure of either the Original Code or any previous -- Modifications. When Covered Code is released as a series of files, a -- Modification is: -- A. Any addition to or deletion from the contents of a file -- containing Original Code or previous Modifications. -- -- B. Any new file that contains any part of the Original Code or -- previous Modifications. -- -- 1.10. "Original Code" means Source Code of computer software code -- which is described in the Source Code notice required by Exhibit A as -- Original Code, and which, at the time of its release under this -- License is not already Covered Code governed by this License. -- -- 1.10.1. "Patent Claims" means any patent claim(s), now owned or -- hereafter acquired, including without limitation, method, process, -- and apparatus claims, in any patent Licensable by grantor. -- -- 1.11. "Source Code" means the preferred form of the Covered Code for -- making modifications to it, including all modules it contains, plus -- any associated interface definition files, scripts used to control -- compilation and installation of an Executable, or source code -- differential comparisons against either the Original Code or another -- well known, available Covered Code of the Contributor's choice. The -- Source Code can be in a compressed or archival form, provided the -- appropriate decompression or de-archiving software is widely available -- for no charge. -- -- 1.12. "You" (or "Your") means an individual or a legal entity -- exercising rights under, and complying with all of the terms of, this -- License or a future version of this License issued under Section 6.1. -- For legal entities, "You" includes any entity which controls, is -- controlled by, or is under common control with You. For purposes of -- this definition, "control" means (a) the power, direct or indirect, -- to cause the direction or management of such entity, whether by -- contract or otherwise, or (b) ownership of more than fifty percent -- (50%) of the outstanding shares or beneficial ownership of such -- entity. -- --2. Source Code License. -- -- 2.1. The Initial Developer Grant. -- The Initial Developer hereby grants You a world-wide, royalty-free, -- non-exclusive license, subject to third party intellectual property -- claims: -- (a) under intellectual property rights (other than patent or -- trademark) Licensable by Initial Developer to use, reproduce, -- modify, display, perform, sublicense and distribute the Original -- Code (or portions thereof) with or without Modifications, and/or -- as part of a Larger Work; and -- -- (b) under Patents Claims infringed by the making, using or -- selling of Original Code, to make, have made, use, practice, -- sell, and offer for sale, and/or otherwise dispose of the -- Original Code (or portions thereof). -- -- (c) the licenses granted in this Section 2.1(a) and (b) are -- effective on the date Initial Developer first distributes -- Original Code under the terms of this License. -- -- (d) Notwithstanding Section 2.1(b) above, no patent license is -- granted: 1) for code that You delete from the Original Code; 2) -- separate from the Original Code; or 3) for infringements caused -- by: i) the modification of the Original Code or ii) the -- combination of the Original Code with other software or devices. -- -- 2.2. Contributor Grant. -- Subject to third party intellectual property claims, each Contributor -- hereby grants You a world-wide, royalty-free, non-exclusive license -- -- (a) under intellectual property rights (other than patent or -- trademark) Licensable by Contributor, to use, reproduce, modify, -- display, perform, sublicense and distribute the Modifications -- created by such Contributor (or portions thereof) either on an -- unmodified basis, with other Modifications, as Covered Code -- and/or as part of a Larger Work; and -- -- (b) under Patent Claims infringed by the making, using, or -- selling of Modifications made by that Contributor either alone -- and/or in combination with its Contributor Version (or portions -- of such combination), to make, use, sell, offer for sale, have -- made, and/or otherwise dispose of: 1) Modifications made by that -- Contributor (or portions thereof); and 2) the combination of -- Modifications made by that Contributor with its Contributor -- Version (or portions of such combination). -- -- (c) the licenses granted in Sections 2.2(a) and 2.2(b) are -- effective on the date Contributor first makes Commercial Use of -- the Covered Code. -- -- (d) Notwithstanding Section 2.2(b) above, no patent license is -- granted: 1) for any code that Contributor has deleted from the -- Contributor Version; 2) separate from the Contributor Version; -- 3) for infringements caused by: i) third party modifications of -- Contributor Version or ii) the combination of Modifications made -- by that Contributor with other software (except as part of the -- Contributor Version) or other devices; or 4) under Patent Claims -- infringed by Covered Code in the absence of Modifications made by -- that Contributor. -- --3. Distribution Obligations. -- -- 3.1. Application of License. -- The Modifications which You create or to which You contribute are -- governed by the terms of this License, including without limitation -- Section 2.2. The Source Code version of Covered Code may be -- distributed only under the terms of this License or a future version -- of this License released under Section 6.1, and You must include a -- copy of this License with every copy of the Source Code You -- distribute. You may not offer or impose any terms on any Source Code -- version that alters or restricts the applicable version of this -- License or the recipients' rights hereunder. However, You may include -- an additional document offering the additional rights described in -- Section 3.5. -- -- 3.2. Availability of Source Code. -- Any Modification which You create or to which You contribute must be -- made available in Source Code form under the terms of this License -- either on the same media as an Executable version or via an accepted -- Electronic Distribution Mechanism to anyone to whom you made an -- Executable version available; and if made available via Electronic -- Distribution Mechanism, must remain available for at least twelve (12) -- months after the date it initially became available, or at least six -- (6) months after a subsequent version of that particular Modification -- has been made available to such recipients. You are responsible for -- ensuring that the Source Code version remains available even if the -- Electronic Distribution Mechanism is maintained by a third party. -- -- 3.3. Description of Modifications. -- You must cause all Covered Code to which You contribute to contain a -- file documenting the changes You made to create that Covered Code and -- the date of any change. You must include a prominent statement that -- the Modification is derived, directly or indirectly, from Original -- Code provided by the Initial Developer and including the name of the -- Initial Developer in (a) the Source Code, and (b) in any notice in an -- Executable version or related documentation in which You describe the -- origin or ownership of the Covered Code. -- -- 3.4. Intellectual Property Matters -- (a) Third Party Claims. -- If Contributor has knowledge that a license under a third party's -- intellectual property rights is required to exercise the rights -- granted by such Contributor under Sections 2.1 or 2.2, -- Contributor must include a text file with the Source Code -- distribution titled "LEGAL" which describes the claim and the -- party making the claim in sufficient detail that a recipient will -- know whom to contact. If Contributor obtains such knowledge after -- the Modification is made available as described in Section 3.2, -- Contributor shall promptly modify the LEGAL file in all copies -- Contributor makes available thereafter and shall take other steps -- (such as notifying appropriate mailing lists or newsgroups) -- reasonably calculated to inform those who received the Covered -- Code that new knowledge has been obtained. -- -- (b) Contributor APIs. -- If Contributor's Modifications include an application programming -- interface and Contributor has knowledge of patent licenses which -- are reasonably necessary to implement that API, Contributor must -- also include this information in the LEGAL file. -- -- (c) Representations. -- Contributor represents that, except as disclosed pursuant to -- Section 3.4(a) above, Contributor believes that Contributor's -- Modifications are Contributor's original creation(s) and/or -- Contributor has sufficient rights to grant the rights conveyed by -- this License. -- -- 3.5. Required Notices. -- You must duplicate the notice in Exhibit A in each file of the Source -- Code. If it is not possible to put such notice in a particular Source -- Code file due to its structure, then You must include such notice in a -- location (such as a relevant directory) where a user would be likely -- to look for such a notice. If You created one or more Modification(s) -- You may add your name as a Contributor to the notice described in -- Exhibit A. You must also duplicate this License in any documentation -- for the Source Code where You describe recipients' rights or ownership -- rights relating to Covered Code. You may choose to offer, and to -- charge a fee for, warranty, support, indemnity or liability -- obligations to one or more recipients of Covered Code. However, You -- may do so only on Your own behalf, and not on behalf of the Initial -- Developer or any Contributor. You must make it absolutely clear than -- any such warranty, support, indemnity or liability obligation is -- offered by You alone, and You hereby agree to indemnify the Initial -- Developer and every Contributor for any liability incurred by the -- Initial Developer or such Contributor as a result of warranty, -- support, indemnity or liability terms You offer. -- -- 3.6. Distribution of Executable Versions. -- You may distribute Covered Code in Executable form only if the -- requirements of Section 3.1-3.5 have been met for that Covered Code, -- and if You include a notice stating that the Source Code version of -- the Covered Code is available under the terms of this License, -- including a description of how and where You have fulfilled the -- obligations of Section 3.2. The notice must be conspicuously included -- in any notice in an Executable version, related documentation or -- collateral in which You describe recipients' rights relating to the -- Covered Code. You may distribute the Executable version of Covered -- Code or ownership rights under a license of Your choice, which may -- contain terms different from this License, provided that You are in -- compliance with the terms of this License and that the license for the -- Executable version does not attempt to limit or alter the recipient's -- rights in the Source Code version from the rights set forth in this -- License. If You distribute the Executable version under a different -- license You must make it absolutely clear that any terms which differ -- from this License are offered by You alone, not by the Initial -- Developer or any Contributor. You hereby agree to indemnify the -- Initial Developer and every Contributor for any liability incurred by -- the Initial Developer or such Contributor as a result of any such -- terms You offer. -- -- 3.7. Larger Works. -- You may create a Larger Work by combining Covered Code with other code -- not governed by the terms of this License and distribute the Larger -- Work as a single product. In such a case, You must make sure the -- requirements of this License are fulfilled for the Covered Code. -- --4. Inability to Comply Due to Statute or Regulation. -- -- If it is impossible for You to comply with any of the terms of this -- License with respect to some or all of the Covered Code due to -- statute, judicial order, or regulation then You must: (a) comply with -- the terms of this License to the maximum extent possible; and (b) -- describe the limitations and the code they affect. Such description -- must be included in the LEGAL file described in Section 3.4 and must -- be included with all distributions of the Source Code. Except to the -- extent prohibited by statute or regulation, such description must be -- sufficiently detailed for a recipient of ordinary skill to be able to -- understand it. -- --5. Application of this License. -- -- This License applies to code to which the Initial Developer has -- attached the notice in Exhibit A and to related Covered Code. -- --6. Versions of the License. -- -- 6.1. New Versions. -- Netscape Communications Corporation ("Netscape") may publish revised -- and/or new versions of the License from time to time. Each version -- will be given a distinguishing version number. -- -- 6.2. Effect of New Versions. -- Once Covered Code has been published under a particular version of the -- License, You may always continue to use it under the terms of that -- version. You may also choose to use such Covered Code under the terms -- of any subsequent version of the License published by Netscape. No one -- other than Netscape has the right to modify the terms applicable to -- Covered Code created under this License. -- -- 6.3. Derivative Works. -- If You create or use a modified version of this License (which you may -- only do in order to apply it to code which is not already Covered Code -- governed by this License), You must (a) rename Your license so that -- the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", -- "MPL", "NPL" or any confusingly similar phrase do not appear in your -- license (except to note that your license differs from this License) -- and (b) otherwise make it clear that Your version of the license -- contains terms which differ from the Mozilla Public License and -- Netscape Public License. (Filling in the name of the Initial -- Developer, Original Code or Contributor in the notice described in -- Exhibit A shall not of themselves be deemed to be modifications of -- this License.) -- --7. DISCLAIMER OF WARRANTY. -- -- COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, -- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -- WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF -- DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. -- THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE -- IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, -- YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE -- COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER -- OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF -- ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. -- --8. TERMINATION. -- -- 8.1. This License and the rights granted hereunder will terminate -- automatically if You fail to comply with terms herein and fail to cure -- such breach within 30 days of becoming aware of the breach. All -- sublicenses to the Covered Code which are properly granted shall -- survive any termination of this License. Provisions which, by their -- nature, must remain in effect beyond the termination of this License -- shall survive. -- -- 8.2. If You initiate litigation by asserting a patent infringement -- claim (excluding declatory judgment actions) against Initial Developer -- or a Contributor (the Initial Developer or Contributor against whom -- You file such action is referred to as "Participant") alleging that: -- -- (a) such Participant's Contributor Version directly or indirectly -- infringes any patent, then any and all rights granted by such -- Participant to You under Sections 2.1 and/or 2.2 of this License -- shall, upon 60 days notice from Participant terminate prospectively, -- unless if within 60 days after receipt of notice You either: (i) -- agree in writing to pay Participant a mutually agreeable reasonable -- royalty for Your past and future use of Modifications made by such -- Participant, or (ii) withdraw Your litigation claim with respect to -- the Contributor Version against such Participant. If within 60 days -- of notice, a reasonable royalty and payment arrangement are not -- mutually agreed upon in writing by the parties or the litigation claim -- is not withdrawn, the rights granted by Participant to You under -- Sections 2.1 and/or 2.2 automatically terminate at the expiration of -- the 60 day notice period specified above. -- -- (b) any software, hardware, or device, other than such Participant's -- Contributor Version, directly or indirectly infringes any patent, then -- any rights granted to You by such Participant under Sections 2.1(b) -- and 2.2(b) are revoked effective as of the date You first made, used, -- sold, distributed, or had made, Modifications made by that -- Participant. -- -- 8.3. If You assert a patent infringement claim against Participant -- alleging that such Participant's Contributor Version directly or -- indirectly infringes any patent where such claim is resolved (such as -- by license or settlement) prior to the initiation of patent -- infringement litigation, then the reasonable value of the licenses -- granted by such Participant under Sections 2.1 or 2.2 shall be taken -- into account in determining the amount or value of any payment or -- license. -- -- 8.4. In the event of termination under Sections 8.1 or 8.2 above, -- all end user license agreements (excluding distributors and resellers) -- which have been validly granted by You or any distributor hereunder -- prior to termination shall survive termination. -- --9. LIMITATION OF LIABILITY. -- -- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT -- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL -- DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, -- OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR -- ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY -- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, -- WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER -- COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN -- INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF -- LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY -- RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW -- PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE -- EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO -- THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. -- --10. U.S. GOVERNMENT END USERS. -- -- The Covered Code is a "commercial item," as that term is defined in -- 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer -- software" and "commercial computer software documentation," as such -- terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 -- C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), -- all U.S. Government End Users acquire Covered Code with only those -- rights set forth herein. -- --11. MISCELLANEOUS. -- -- This License represents the complete agreement concerning subject -- matter hereof. If any provision of this License is held to be -- unenforceable, such provision shall be reformed only to the extent -- necessary to make it enforceable. This License shall be governed by -- California law provisions (except to the extent applicable law, if -- any, provides otherwise), excluding its conflict-of-law provisions. -- With respect to disputes in which at least one party is a citizen of, -- or an entity chartered or registered to do business in the United -- States of America, any litigation relating to this License shall be -- subject to the jurisdiction of the Federal Courts of the Northern -- District of California, with venue lying in Santa Clara County, -- California, with the losing party responsible for costs, including -- without limitation, court costs and reasonable attorneys' fees and -- expenses. The application of the United Nations Convention on -- Contracts for the International Sale of Goods is expressly excluded. -- Any law or regulation which provides that the language of a contract -- shall be construed against the drafter shall not apply to this -- License. -- --12. RESPONSIBILITY FOR CLAIMS. -- -- As between Initial Developer and the Contributors, each party is -- responsible for claims and damages arising, directly or indirectly, -- out of its utilization of rights under this License and You agree to -- work with Initial Developer and Contributors to distribute such -- responsibility on an equitable basis. Nothing herein is intended or -- shall be deemed to constitute any admission of liability. -- --13. MULTIPLE-LICENSED CODE. -- -- Initial Developer may designate portions of the Covered Code as -- "Multiple-Licensed". "Multiple-Licensed" means that the Initial -- Developer permits you to utilize portions of the Covered Code under -- Your choice of the NPL or the alternative licenses, if any, specified -- by the Initial Developer in the file described in Exhibit A. -- --EXHIBIT A -Mozilla Public License. -- -- ``The contents of this file are subject to the Mozilla Public License -- Version 1.1 (the "License"); you may not use this file except in -- compliance with the License. You may obtain a copy of the License at -- http://www.mozilla.org/MPL/ -- -- Software distributed under the License is distributed on an "AS IS" -- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the -- License for the specific language governing rights and limitations -- under the License. -- -- The Original Code is ______________________________________. -- -- The Initial Developer of the Original Code is ________________________. -- Portions created by ______________________ are Copyright (C) ______ -- _______________________. All Rights Reserved. -- -- Contributor(s): ______________________________________. -- -- Alternatively, the contents of this file may be used under the terms -- of the _____ license (the "[___] License"), in which case the -- provisions of [______] License are applicable instead of those -- above. If you wish to allow use of your version of this file only -- under the terms of the [____] License and not to allow others to use -- your version of this file under the MPL, indicate your decision by -- deleting the provisions above and replace them with the notice and -- other provisions required by the [___] License. If you do not delete -- the provisions above, a recipient may use your version of this file -- under either the MPL or the [___] License." -- -- [NOTE: The text of this Exhibit A may differ slightly from the text of -- the notices in the Source Code files of the Original Code. You should -- use the text of this Exhibit A rather than the text found in the -- Original Code Source Code for Your Modifications.] -+Permission is hereby granted, free of charge, to any person obtaining a copy of this software -+and associated documentation files (the "Software"), to deal in the Software without restriction, -+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -+subject to the following conditions: -+ -+The above copyright notice and this permission notice shall be included in all copies or substantial -+portions of the Software. -+ -+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT -+NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -\ No newline at end of file --- -2.19.2 - diff --git a/package/libgdiplus/0003-gifcodec.c-Include-copy-of-GifQuantizeBuffer-functio.patch b/package/libgdiplus/0003-gifcodec.c-Include-copy-of-GifQuantizeBuffer-functio.patch deleted file mode 100644 index 80e944f07c9..00000000000 --- a/package/libgdiplus/0003-gifcodec.c-Include-copy-of-GifQuantizeBuffer-functio.patch +++ /dev/null @@ -1,414 +0,0 @@ -From afde9145030ff4989f0d7933389c20244eaf8039 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= -Date: Thu, 1 Aug 2019 17:08:36 +0200 -Subject: [PATCH] gifcodec.c: Include copy of GifQuantizeBuffer function from - giflib (#575) - -It was removed upstream so we need to include a copy of it. -The upstream code is licensed as MIT. - -Fixes https://github.com/mono/libgdiplus/issues/546 - -Signed-off-by: Heiko Thiery ---- - src/gifcodec.c | 377 +++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 369 insertions(+), 8 deletions(-) - -diff --git a/src/gifcodec.c b/src/gifcodec.c -index 6f8dedb..29a9899 100644 ---- a/src/gifcodec.c -+++ b/src/gifcodec.c -@@ -40,6 +40,374 @@ GUID gdip_gif_image_format_guid = {0xb96b3cb0U, 0x0728U, 0x11d3U, {0x9d, 0x7b, 0 - #include "gifcodec.h" - - -+/* START GifQuantizeBuffer copy from giflib -+ -+The giflib 5.2.0 release notes mention: -+ -+> The undocumented and deprecated GifQuantizeBuffer() entry point -+> has been moved to the util library to reduce libgif size and attack -+> surface. Applications needing this function are couraged to link the -+> util library or make their own copy. -+ -+Since the util library doesn't get installed in most distros we can't -+link against it and need to make our own copy called LibgdiplusGifQuantizeBuffer. -+This is taken from giflib 52b62de83d5facbbbde042b85bf3f61182e3bebd. -+ -+> The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond -+> -+> Permission is hereby granted, free of charge, to any person obtaining a copy -+> of this software and associated documentation files (the "Software"), to deal -+> in the Software without restriction, including without limitation the rights -+> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -+> copies of the Software, and to permit persons to whom the Software is -+> furnished to do so, subject to the following conditions: -+> -+> The above copyright notice and this permission notice shall be included in -+> all copies or substantial portions of the Software. -+> -+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -+> THE SOFTWARE. -+ -+*/ -+ -+/***************************************************************************** -+ -+ quantize.c - quantize a high resolution image into lower one -+ -+ Based on: "Color Image Quantization for frame buffer Display", by -+ Paul Heckbert SIGGRAPH 1982 page 297-307. -+ -+ This doesn't really belong in the core library, was undocumented, -+ and was removed in 4.2. Then it turned out some client apps were -+ actually using it, so it was restored in 5.0. -+ -+SPDX-License-Identifier: MIT -+ -+******************************************************************************/ -+ -+#include -+#include -+#include "gif_lib.h" -+//#include "gif_lib_private.h" -+ -+//#define ABS(x) ((x) > 0 ? (x) : (-(x))) -+ -+#define COLOR_ARRAY_SIZE 32768 -+#define BITS_PER_PRIM_COLOR 5 -+#define MAX_PRIM_COLOR 0x1f -+ -+static int SortRGBAxis; -+ -+typedef struct QuantizedColorType { -+ GifByteType RGB[3]; -+ GifByteType NewColorIndex; -+ long Count; -+ struct QuantizedColorType *Pnext; -+} QuantizedColorType; -+ -+typedef struct NewColorMapType { -+ GifByteType RGBMin[3], RGBWidth[3]; -+ unsigned int NumEntries; /* # of QuantizedColorType in linked list below */ -+ unsigned long Count; /* Total number of pixels in all the entries */ -+ QuantizedColorType *QuantizedColors; -+} NewColorMapType; -+ -+static int SubdivColorMap(NewColorMapType * NewColorSubdiv, -+ unsigned int ColorMapSize, -+ unsigned int *NewColorMapSize); -+static int SortCmpRtn(const void *Entry1, const void *Entry2); -+ -+/****************************************************************************** -+ Quantize high resolution image into lower one. Input image consists of a -+ 2D array for each of the RGB colors with size Width by Height. There is no -+ Color map for the input. Output is a quantized image with 2D array of -+ indexes into the output color map. -+ Note input image can be 24 bits at the most (8 for red/green/blue) and -+ the output has 256 colors at the most (256 entries in the color map.). -+ ColorMapSize specifies size of color map up to 256 and will be updated to -+ real size before returning. -+ Also non of the parameter are allocated by this routine. -+ This function returns GIF_OK if successful, GIF_ERROR otherwise. -+******************************************************************************/ -+int -+LibgdiplusGifQuantizeBuffer(unsigned int Width, -+ unsigned int Height, -+ int *ColorMapSize, -+ GifByteType * RedInput, -+ GifByteType * GreenInput, -+ GifByteType * BlueInput, -+ GifByteType * OutputBuffer, -+ GifColorType * OutputColorMap) { -+ -+ unsigned int Index, NumOfEntries; -+ int i, j, MaxRGBError[3]; -+ unsigned int NewColorMapSize; -+ long Red, Green, Blue; -+ NewColorMapType NewColorSubdiv[256]; -+ QuantizedColorType *ColorArrayEntries, *QuantizedColor; -+ -+ ColorArrayEntries = (QuantizedColorType *)malloc( -+ sizeof(QuantizedColorType) * COLOR_ARRAY_SIZE); -+ if (ColorArrayEntries == NULL) { -+ return GIF_ERROR; -+ } -+ -+ for (i = 0; i < COLOR_ARRAY_SIZE; i++) { -+ ColorArrayEntries[i].RGB[0] = i >> (2 * BITS_PER_PRIM_COLOR); -+ ColorArrayEntries[i].RGB[1] = (i >> BITS_PER_PRIM_COLOR) & -+ MAX_PRIM_COLOR; -+ ColorArrayEntries[i].RGB[2] = i & MAX_PRIM_COLOR; -+ ColorArrayEntries[i].Count = 0; -+ } -+ -+ /* Sample the colors and their distribution: */ -+ for (i = 0; i < (int)(Width * Height); i++) { -+ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << -+ (2 * BITS_PER_PRIM_COLOR)) + -+ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << -+ BITS_PER_PRIM_COLOR) + -+ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); -+ ColorArrayEntries[Index].Count++; -+ } -+ -+ /* Put all the colors in the first entry of the color map, and call the -+ * recursive subdivision process. */ -+ for (i = 0; i < 256; i++) { -+ NewColorSubdiv[i].QuantizedColors = NULL; -+ NewColorSubdiv[i].Count = NewColorSubdiv[i].NumEntries = 0; -+ for (j = 0; j < 3; j++) { -+ NewColorSubdiv[i].RGBMin[j] = 0; -+ NewColorSubdiv[i].RGBWidth[j] = 255; -+ } -+ } -+ -+ /* Find the non empty entries in the color table and chain them: */ -+ for (i = 0; i < COLOR_ARRAY_SIZE; i++) -+ if (ColorArrayEntries[i].Count > 0) -+ break; -+ QuantizedColor = NewColorSubdiv[0].QuantizedColors = &ColorArrayEntries[i]; -+ NumOfEntries = 1; -+ while (++i < COLOR_ARRAY_SIZE) -+ if (ColorArrayEntries[i].Count > 0) { -+ QuantizedColor->Pnext = &ColorArrayEntries[i]; -+ QuantizedColor = &ColorArrayEntries[i]; -+ NumOfEntries++; -+ } -+ QuantizedColor->Pnext = NULL; -+ -+ NewColorSubdiv[0].NumEntries = NumOfEntries; /* Different sampled colors */ -+ NewColorSubdiv[0].Count = ((long)Width) * Height; /* Pixels */ -+ NewColorMapSize = 1; -+ if (SubdivColorMap(NewColorSubdiv, *ColorMapSize, &NewColorMapSize) != -+ GIF_OK) { -+ free((char *)ColorArrayEntries); -+ return GIF_ERROR; -+ } -+ if (NewColorMapSize < *ColorMapSize) { -+ /* And clear rest of color map: */ -+ for (i = NewColorMapSize; i < *ColorMapSize; i++) -+ OutputColorMap[i].Red = OutputColorMap[i].Green = -+ OutputColorMap[i].Blue = 0; -+ } -+ -+ /* Average the colors in each entry to be the color to be used in the -+ * output color map, and plug it into the output color map itself. */ -+ for (i = 0; i < NewColorMapSize; i++) { -+ if ((j = NewColorSubdiv[i].NumEntries) > 0) { -+ QuantizedColor = NewColorSubdiv[i].QuantizedColors; -+ Red = Green = Blue = 0; -+ while (QuantizedColor) { -+ QuantizedColor->NewColorIndex = i; -+ Red += QuantizedColor->RGB[0]; -+ Green += QuantizedColor->RGB[1]; -+ Blue += QuantizedColor->RGB[2]; -+ QuantizedColor = QuantizedColor->Pnext; -+ } -+ OutputColorMap[i].Red = (Red << (8 - BITS_PER_PRIM_COLOR)) / j; -+ OutputColorMap[i].Green = (Green << (8 - BITS_PER_PRIM_COLOR)) / j; -+ OutputColorMap[i].Blue = (Blue << (8 - BITS_PER_PRIM_COLOR)) / j; -+ } -+ } -+ -+ /* Finally scan the input buffer again and put the mapped index in the -+ * output buffer. */ -+ MaxRGBError[0] = MaxRGBError[1] = MaxRGBError[2] = 0; -+ for (i = 0; i < (int)(Width * Height); i++) { -+ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << -+ (2 * BITS_PER_PRIM_COLOR)) + -+ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << -+ BITS_PER_PRIM_COLOR) + -+ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); -+ Index = ColorArrayEntries[Index].NewColorIndex; -+ OutputBuffer[i] = Index; -+ if (MaxRGBError[0] < ABS(OutputColorMap[Index].Red - RedInput[i])) -+ MaxRGBError[0] = ABS(OutputColorMap[Index].Red - RedInput[i]); -+ if (MaxRGBError[1] < ABS(OutputColorMap[Index].Green - GreenInput[i])) -+ MaxRGBError[1] = ABS(OutputColorMap[Index].Green - GreenInput[i]); -+ if (MaxRGBError[2] < ABS(OutputColorMap[Index].Blue - BlueInput[i])) -+ MaxRGBError[2] = ABS(OutputColorMap[Index].Blue - BlueInput[i]); -+ } -+ -+#ifdef DEBUG -+ fprintf(stderr, -+ "Quantization L(0) errors: Red = %d, Green = %d, Blue = %d.\n", -+ MaxRGBError[0], MaxRGBError[1], MaxRGBError[2]); -+#endif /* DEBUG */ -+ -+ free((char *)ColorArrayEntries); -+ -+ *ColorMapSize = NewColorMapSize; -+ -+ return GIF_OK; -+} -+ -+/****************************************************************************** -+ Routine to subdivide the RGB space recursively using median cut in each -+ axes alternatingly until ColorMapSize different cubes exists. -+ The biggest cube in one dimension is subdivide unless it has only one entry. -+ Returns GIF_ERROR if failed, otherwise GIF_OK. -+*******************************************************************************/ -+static int -+SubdivColorMap(NewColorMapType * NewColorSubdiv, -+ unsigned int ColorMapSize, -+ unsigned int *NewColorMapSize) { -+ -+ unsigned int i, j, Index = 0; -+ QuantizedColorType *QuantizedColor, **SortArray; -+ -+ while (ColorMapSize > *NewColorMapSize) { -+ /* Find candidate for subdivision: */ -+ long Sum, Count; -+ int MaxSize = -1; -+ unsigned int NumEntries, MinColor, MaxColor; -+ for (i = 0; i < *NewColorMapSize; i++) { -+ for (j = 0; j < 3; j++) { -+ if ((((int)NewColorSubdiv[i].RGBWidth[j]) > MaxSize) && -+ (NewColorSubdiv[i].NumEntries > 1)) { -+ MaxSize = NewColorSubdiv[i].RGBWidth[j]; -+ Index = i; -+ SortRGBAxis = j; -+ } -+ } -+ } -+ -+ if (MaxSize == -1) -+ return GIF_OK; -+ -+ /* Split the entry Index into two along the axis SortRGBAxis: */ -+ -+ /* Sort all elements in that entry along the given axis and split at -+ * the median. */ -+ SortArray = (QuantizedColorType **)malloc( -+ sizeof(QuantizedColorType *) * -+ NewColorSubdiv[Index].NumEntries); -+ if (SortArray == NULL) -+ return GIF_ERROR; -+ for (j = 0, QuantizedColor = NewColorSubdiv[Index].QuantizedColors; -+ j < NewColorSubdiv[Index].NumEntries && QuantizedColor != NULL; -+ j++, QuantizedColor = QuantizedColor->Pnext) -+ SortArray[j] = QuantizedColor; -+ -+ /* -+ * Because qsort isn't stable, this can produce differing -+ * results for the order of tuples depending on platform -+ * details of how qsort() is implemented. -+ * -+ * We mitigate this problem by sorting on all three axes rather -+ * than only the one specied by SortRGBAxis; that way the instability -+ * can only become an issue if there are multiple color indices -+ * referring to identical RGB tuples. Older versions of this -+ * sorted on only the one axis. -+ */ -+ qsort(SortArray, NewColorSubdiv[Index].NumEntries, -+ sizeof(QuantizedColorType *), SortCmpRtn); -+ -+ /* Relink the sorted list into one: */ -+ for (j = 0; j < NewColorSubdiv[Index].NumEntries - 1; j++) -+ SortArray[j]->Pnext = SortArray[j + 1]; -+ SortArray[NewColorSubdiv[Index].NumEntries - 1]->Pnext = NULL; -+ NewColorSubdiv[Index].QuantizedColors = QuantizedColor = SortArray[0]; -+ free((char *)SortArray); -+ -+ /* Now simply add the Counts until we have half of the Count: */ -+ Sum = NewColorSubdiv[Index].Count / 2 - QuantizedColor->Count; -+ NumEntries = 1; -+ Count = QuantizedColor->Count; -+ while (QuantizedColor->Pnext != NULL && -+ (Sum -= QuantizedColor->Pnext->Count) >= 0 && -+ QuantizedColor->Pnext->Pnext != NULL) { -+ QuantizedColor = QuantizedColor->Pnext; -+ NumEntries++; -+ Count += QuantizedColor->Count; -+ } -+ /* Save the values of the last color of the first half, and first -+ * of the second half so we can update the Bounding Boxes later. -+ * Also as the colors are quantized and the BBoxes are full 0..255, -+ * they need to be rescaled. -+ */ -+ MaxColor = QuantizedColor->RGB[SortRGBAxis]; /* Max. of first half */ -+ /* coverity[var_deref_op] */ -+ MinColor = QuantizedColor->Pnext->RGB[SortRGBAxis]; /* of second */ -+ MaxColor <<= (8 - BITS_PER_PRIM_COLOR); -+ MinColor <<= (8 - BITS_PER_PRIM_COLOR); -+ -+ /* Partition right here: */ -+ NewColorSubdiv[*NewColorMapSize].QuantizedColors = -+ QuantizedColor->Pnext; -+ QuantizedColor->Pnext = NULL; -+ NewColorSubdiv[*NewColorMapSize].Count = Count; -+ NewColorSubdiv[Index].Count -= Count; -+ NewColorSubdiv[*NewColorMapSize].NumEntries = -+ NewColorSubdiv[Index].NumEntries - NumEntries; -+ NewColorSubdiv[Index].NumEntries = NumEntries; -+ for (j = 0; j < 3; j++) { -+ NewColorSubdiv[*NewColorMapSize].RGBMin[j] = -+ NewColorSubdiv[Index].RGBMin[j]; -+ NewColorSubdiv[*NewColorMapSize].RGBWidth[j] = -+ NewColorSubdiv[Index].RGBWidth[j]; -+ } -+ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] = -+ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] + -+ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] - MinColor; -+ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] = MinColor; -+ -+ NewColorSubdiv[Index].RGBWidth[SortRGBAxis] = -+ MaxColor - NewColorSubdiv[Index].RGBMin[SortRGBAxis]; -+ -+ (*NewColorMapSize)++; -+ } -+ -+ return GIF_OK; -+} -+ -+/**************************************************************************** -+ Routine called by qsort to compare two entries. -+*****************************************************************************/ -+ -+static int -+SortCmpRtn(const void *Entry1, -+ const void *Entry2) { -+ QuantizedColorType *entry1 = (*((QuantizedColorType **) Entry1)); -+ QuantizedColorType *entry2 = (*((QuantizedColorType **) Entry2)); -+ -+ /* sort on all axes of the color space! */ -+ int hash1 = entry1->RGB[SortRGBAxis] * 256 * 256 -+ + entry1->RGB[(SortRGBAxis+1) % 3] * 256 -+ + entry1->RGB[(SortRGBAxis+2) % 3]; -+ int hash2 = entry2->RGB[SortRGBAxis] * 256 * 256 -+ + entry2->RGB[(SortRGBAxis+1) % 3] * 256 -+ + entry2->RGB[(SortRGBAxis+2) % 3]; -+ -+ return hash1 - hash2; -+} -+ -+/* END GifQuantizeBuffer copy from giflib */ -+ - /* Data structure used for callback */ - typedef struct - { -@@ -851,14 +1219,7 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file) - v += 4; - } - } -- if ( --#if GIFLIB_MAJOR >= 5 -- GifQuantizeBuffer( --#else -- QuantizeBuffer( --#endif -- bitmap_data->width, bitmap_data->height, &cmap_size, -- red, green, blue, pixbuf, cmap->Colors) == GIF_ERROR) { -+ if (LibgdiplusGifQuantizeBuffer(bitmap_data->width, bitmap_data->height, &cmap_size, red, green, blue, pixbuf, cmap->Colors) == GIF_ERROR) { - goto error; - } - } --- -2.20.1 - diff --git a/package/libgdiplus/libgdiplus.hash b/package/libgdiplus/libgdiplus.hash index d89b352d266..3a2e5ff25c6 100644 --- a/package/libgdiplus/libgdiplus.hash +++ b/package/libgdiplus/libgdiplus.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 6a75e4a476695cd6a1475fd6b989423ecf73978fd757673669771d8a6e13f756 libgdiplus-5.6.tar.gz +sha256 1fd034f4b636214cc24e94c563cd10b3f3444d9f0660927b60e63fd4131d97fa libgdiplus-6.0.5.tar.gz sha256 81317bf837e02a116dc20b032fa1d0cbf9ec357621f141ff2c2daf26c17cbb5d LICENSE diff --git a/package/libgdiplus/libgdiplus.mk b/package/libgdiplus/libgdiplus.mk index d120f6a3149..97cb595c71b 100644 --- a/package/libgdiplus/libgdiplus.mk +++ b/package/libgdiplus/libgdiplus.mk @@ -4,11 +4,12 @@ # ################################################################################ -LIBGDIPLUS_VERSION = 5.6 +LIBGDIPLUS_VERSION = 6.0.5 LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) LIBGDIPLUS_LICENSE = MIT LIBGDIPLUS_LICENSE_FILES = LICENSE +LIBGDIPLUS_CPE_ID_VENDOR = mono-project LIBGDIPLUS_INSTALL_STAGING = YES diff --git a/package/libgee/Config.in b/package/libgee/Config.in index 07c387c985a..cb33ec9ec24 100644 --- a/package/libgee/Config.in +++ b/package/libgee/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBGEE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_LIBGLIB2 help Libgee is an utility library providing GObject-based @@ -10,6 +11,7 @@ config BR2_PACKAGE_LIBGEE https://wiki.gnome.org/Projects/Libgee -comment "libgee needs a toolchain w/ wchar, threads" +comment "libgee needs a toolchain w/ wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/libgee/libgee.hash b/package/libgee/libgee.hash index c82651c68af..54a46f954c4 100644 --- a/package/libgee/libgee.hash +++ b/package/libgee/libgee.hash @@ -1,5 +1,5 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/libgee/0.20/libgee-0.20.3.sha256sum -sha256 d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de libgee-0.20.3.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/libgee/0.20/libgee-0.20.5.sha256sum +sha256 31863a8957d5a727f9067495cabf0a0889fa5d3d44626e54094331188d5c1518 libgee-0.20.5.tar.xz # Hash for license file: sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/libgee/libgee.mk b/package/libgee/libgee.mk index 4b2581e1717..7d8d3d48630 100644 --- a/package/libgee/libgee.mk +++ b/package/libgee/libgee.mk @@ -5,13 +5,14 @@ ################################################################################ LIBGEE_VERSION_MAJOR = 0.20 -LIBGEE_VERSION = $(LIBGEE_VERSION_MAJOR).3 +LIBGEE_VERSION = $(LIBGEE_VERSION_MAJOR).5 LIBGEE_SITE = http://ftp.gnome.org/pub/gnome/sources/libgee/$(LIBGEE_VERSION_MAJOR) LIBGEE_SOURCE = libgee-$(LIBGEE_VERSION).tar.xz LIBGEE_DEPENDENCIES = host-pkgconf host-vala libglib2 LIBGEE_INSTALL_STAGING = YES LIBGEE_LICENSE = LGPL-2.1+ LIBGEE_LICENSE_FILES = COPYING +LIBGEE_CPE_ID_VENDOR = gnome ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) LIBGEE_CONF_OPTS += --enable-introspection diff --git a/package/libgeos/0001-CMakeLists.txt-add-BUILD_BENCHMARKS.patch b/package/libgeos/0001-CMakeLists.txt-add-BUILD_BENCHMARKS.patch deleted file mode 100644 index 94748dcdbd8..00000000000 --- a/package/libgeos/0001-CMakeLists.txt-add-BUILD_BENCHMARKS.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 16848d6da27140caf922f71a233f96a508fb061e Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 24 Jan 2021 12:38:37 +0100 -Subject: [PATCH] CMakeLists.txt: add BUILD_BENCHMARKS - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/libgeos/geos/pull/395] ---- - CMakeLists.txt | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c8b39bac..8ca6b829 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -48,6 +48,7 @@ option(BUILD_SHARED_LIBS "Build GEOS with shared libraries" ON) - set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard version to use (default is 11)") - - ## GEOS custom variables -+option(BUILD_BENCHMARKS "Build GEOS benchmarks" ON) - cmake_dependent_option(GEOS_BUILD_DEVELOPER - "Build with compilation flags useful for development" ON - "GEOS_BUILD_FROM_GIT" OFF) -@@ -292,7 +293,9 @@ endif() - #----------------------------------------------------------------------------- - # Benchmarks - #----------------------------------------------------------------------------- --add_subdirectory(benchmarks) -+if(BUILD_BENCHMARKS) -+ add_subdirectory(benchmarks) -+endif() - - #----------------------------------------------------------------------------- - # Utils --- -2.29.2 - diff --git a/package/libgeos/Config.in b/package/libgeos/Config.in index 2caf6d1d5ef..8411627d435 100644 --- a/package/libgeos/Config.in +++ b/package/libgeos/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_LIBGEOS bool "libgeos" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on !BR2_nios2 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 help GEOS (Geometry Engine - Open Source) is a C++ port of the JTS Topology Suite (JTS). It aims to contain the complete @@ -12,6 +13,7 @@ config BR2_PACKAGE_LIBGEOS https://trac.osgeo.org/geos -comment "libgeos needs a toolchain w/ C++, wchar" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR - depends on !BR2_nios2 +comment "libgeos needs a toolchain w/ C++, wchar, threads not binutils bug 27597" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/libgeos/libgeos.hash b/package/libgeos/libgeos.hash index 5b5e44c7c5d..f93badbaa36 100644 --- a/package/libgeos/libgeos.hash +++ b/package/libgeos/libgeos.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bd8082cf12f45f27630193c78bdb5a3cba847b81e72b20268356c2a4fc065269 geos-3.9.0.tar.bz2 +sha256 50bbc599ac386b4c2b3962dcc411f0040a61f204aaef4eba7225ecdd0cf45715 geos-3.10.2.tar.bz2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libgeos/libgeos.mk b/package/libgeos/libgeos.mk index a355732af8d..197def1212f 100644 --- a/package/libgeos/libgeos.mk +++ b/package/libgeos/libgeos.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGEOS_VERSION = 3.9.0 +LIBGEOS_VERSION = 3.10.2 LIBGEOS_SITE = http://download.osgeo.org/geos LIBGEOS_SOURCE = geos-$(LIBGEOS_VERSION).tar.bz2 LIBGEOS_LICENSE = LGPL-2.1 @@ -23,6 +23,10 @@ ifeq ($(BR2_arm)$(BR2_armeb),y) LIBGEOS_CONF_OPTS += -DDISABLE_GEOS_INLINE=ON endif +ifeq ($(BR2_or1k),y) +LIBGEOS_CXXFLAGS += -mcmodel=large +endif + LIBGEOS_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(LIBGEOS_CXXFLAGS)" $(eval $(cmake-package)) diff --git a/package/libgeotiff/libgeotiff.hash b/package/libgeotiff/libgeotiff.hash index 51adcc28439..ec9fccb492c 100644 --- a/package/libgeotiff/libgeotiff.hash +++ b/package/libgeotiff/libgeotiff.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9311017e5284cffb86f2c7b7a9df1fb5ebcdc61c30468fb2e6bca36e4272ebca libgeotiff-1.6.0.tar.gz +sha256 fc304d8839ca5947cfbeb63adb9d1aa47acef38fc6d6689e622926e672a99a7e libgeotiff-1.7.0.tar.gz sha256 6a22340b8293c50a34ce8e95589489bd3ec65bcb8b93e61cbda3daaafe498375 LICENSE diff --git a/package/libgeotiff/libgeotiff.mk b/package/libgeotiff/libgeotiff.mk index c6fb61b4a2b..c49528565d8 100644 --- a/package/libgeotiff/libgeotiff.mk +++ b/package/libgeotiff/libgeotiff.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGEOTIFF_VERSION = 1.6.0 +LIBGEOTIFF_VERSION = 1.7.0 LIBGEOTIFF_SITE = http://download.osgeo.org/geotiff/libgeotiff LIBGEOTIFF_LICENSE = X11-style, public domain LIBGEOTIFF_LICENSE_FILES = LICENSE diff --git a/package/libgit2/libgit2.hash b/package/libgit2/libgit2.hash index 367ade3afea..07b1a260a4d 100644 --- a/package/libgit2/libgit2.hash +++ b/package/libgit2/libgit2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ad73f845965cfd528e70f654e428073121a3fa0dc23caac81a1b1300277d4dba libgit2-1.1.0.tar.gz -sha256 afc8bde99ba630012107c25d3c42dde628ec5f0cd3f428131f7e3a0f7d58ff42 COPYING +sha256 192eeff84596ff09efb6b01835a066f2df7cd7985e0991c79595688e6b36444e libgit2-1.3.0.tar.gz +sha256 8b7e4f54f8bf210c8fe010a49571a1ee57463ef020cc43f051d4d3fbb74942af COPYING diff --git a/package/libgit2/libgit2.mk b/package/libgit2/libgit2.mk index e5d17fa3ddb..6cc0f1ea74e 100644 --- a/package/libgit2/libgit2.mk +++ b/package/libgit2/libgit2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGIT2_VERSION = 1.1.0 -LIBGIT2_SITE = https://github.com/libgit2/libgit2/releases/download/v$(LIBGIT2_VERSION) +LIBGIT2_VERSION = 1.3.0 +LIBGIT2_SITE = $(call github,libgit2,libgit2,v$(LIBGIT2_VERSION)) LIBGIT2_LICENSE = GPL-2.0 with linking exception, MIT (sha1), wildmatch license (wildmatch) LIBGIT2_LICENSE_FILES = COPYING LIBGIT2_CPE_ID_VENDOR = libgit2_project @@ -17,6 +17,7 @@ LIBGIT2_CONF_OPTS = \ -DUSE_ICONV=ON \ -DREGEX_BACKEND=regcomp \ -DUSE_HTTP_PARSER=system \ + -DUSE_NTLMCLIENT=OFF \ -DTHREADSAFE=$(if $(BR2_TOOLCHAIN_HAS_THREADS),ON,OFF) LIBGIT2_DEPENDENCIES = zlib libhttpparser diff --git a/package/libglfw/0001-Wayland-Remove-extra-cmake-modules-dependency.patch b/package/libglfw/0001-Wayland-Remove-extra-cmake-modules-dependency.patch new file mode 100644 index 00000000000..d5ee7c829a4 --- /dev/null +++ b/package/libglfw/0001-Wayland-Remove-extra-cmake-modules-dependency.patch @@ -0,0 +1,121 @@ +From 2747e47393cbca2d09db56223e735bd94b21e2eb Mon Sep 17 00:00:00 2001 +From: Joel Winarske +Date: Mon, 28 Sep 2020 22:23:02 -0700 +Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency + +Fixes #1774. + +[Retrieved (and backported) from: +https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb] +Signed-off-by: Fabrice Fontaine +--- + .gitignore | 4 --- + CMakeLists.txt | 16 ++++++------ + src/CMakeLists.txt | 62 ++++++++++++++++++++++++++++------------------ + 3 files changed, 45 insertions(+), 37 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 42bfa1806d..394827520b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -191,20 +191,18 @@ endif() + # Use Wayland for window creation + #-------------------------------------------------------------------- + if (_GLFW_WAYLAND) +- find_package(ECM REQUIRED NO_MODULE) +- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") + +- find_package(Wayland REQUIRED Client Cursor Egl) +- find_package(WaylandScanner REQUIRED) +- find_package(WaylandProtocols 1.15 REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(Wayland REQUIRED ++ wayland-client>=0.2.7 ++ wayland-cursor>=0.2.7 ++ wayland-egl>=0.2.7 ++ xkbcommon) + + list(APPEND glfw_PKG_DEPS "wayland-client") + + list(APPEND glfw_INCLUDE_DIRS "${Wayland_INCLUDE_DIRS}") +- list(APPEND glfw_LIBRARIES "${Wayland_LIBRARIES}" "${CMAKE_THREAD_LIBS_INIT}") +- +- find_package(XKBCommon REQUIRED) +- list(APPEND glfw_INCLUDE_DIRS "${XKBCOMMON_INCLUDE_DIRS}") ++ list(APPEND glfw_LIBRARIES "${Wayland_LINK_LIBRARIES}" "${CMAKE_THREAD_LIBS_INIT}") + + include(CheckIncludeFiles) + include(CheckFunctionExists) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 2f2bdd883d..e834506c6c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -45,30 +45,44 @@ if (_GLFW_X11 OR _GLFW_WAYLAND) + posix_time.c posix_thread.c xkb_unicode.c + egl_context.c osmesa_context.c) + +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" +- BASENAME xdg-shell) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" +- BASENAME xdg-decoration) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" +- BASENAME viewporter) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" +- BASENAME relative-pointer-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" +- BASENAME pointer-constraints-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" +- BASENAME idle-inhibit-unstable-v1) ++ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) ++ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ ++ macro(wayland_generate protocol_file output_file) ++ add_custom_command(OUTPUT ${output_file}.h ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header ++ < ${protocol_file} > ${output_file}.h ++ DEPENDS ${protocol_file}) ++ list(APPEND glfw_SOURCES ${output_file}.h) ++ ++ add_custom_command(OUTPUT ${output_file}.c ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code ++ < ${protocol_file} > ${output_file}.c ++ DEPENDS ${protocol_file}) ++ list(APPEND glfw_SOURCES ${output_file}.c) ++ endmacro() ++ ++ set(GLFW_WAYLAND_PROTOCOL_SOURCES) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml ++ ${CMAKE_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml ++ ${CMAKE_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml ++ ${CMAKE_BINARY_DIR}/src/wayland-viewporter-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ++ ${CMAKE_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ++ ${CMAKE_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml ++ ${CMAKE_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) ++ + elseif (_GLFW_OSMESA) + set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h + posix_time.h posix_thread.h osmesa_context.h) diff --git a/package/libglfw/0002-src-CMakeLists.txt-allow-override-of-wayland-pkgdata.patch b/package/libglfw/0002-src-CMakeLists.txt-allow-override-of-wayland-pkgdata.patch new file mode 100644 index 00000000000..4bcb5e4eb70 --- /dev/null +++ b/package/libglfw/0002-src-CMakeLists.txt-allow-override-of-wayland-pkgdata.patch @@ -0,0 +1,32 @@ +From 46aaf2b2b4d3ec240b9aad175bb3eddb6ae11ead Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 4 Mar 2022 17:59:19 +0100 +Subject: [PATCH] src/CMakeLists.txt: allow override of wayland pkgdatadir + +Allow the user to override WAYLAND_{PROTOCOLS_BASE,CLIENT_PKGDATADIR} +(needed when cross-compiling) + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/glfw/glfw/pull/2053] +--- + src/CMakeLists.txt | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 01f191c9..475ce882 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -75,7 +75,9 @@ if (GLFW_BUILD_WAYLAND) + include(FindPkgConfig) + find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) + pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) +- pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ if (NOT WAYLAND_PROTOCOLS_BASE) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ endif() + + macro(wayland_generate protocol_file output_file) + add_custom_command(OUTPUT "${output_file}.h" +-- +2.34.1 + diff --git a/package/libglfw/Config.in b/package/libglfw/Config.in index 06f43764539..e5e96036ff1 100644 --- a/package/libglfw/Config.in +++ b/package/libglfw/Config.in @@ -1,17 +1,20 @@ config BR2_PACKAGE_LIBGLFW bool "libglfw" - depends on BR2_PACKAGE_XORG7 - depends on BR2_PACKAGE_HAS_LIBGL - select BR2_PACKAGE_XLIB_LIBXCURSOR - select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XLIB_LIBXI - select BR2_PACKAGE_XLIB_LIBXINERAMA - select BR2_PACKAGE_XLIB_LIBXRANDR + depends on BR2_PACKAGE_XORG7 || BR2_PACKAGE_WAYLAND + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXINERAMA if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 help GLFW is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events. http://www.glfw.org -comment "libglfw depends on X.org and needs an OpenGL backend" - depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL +comment "libglfw depends on X.org or Wayland and an OpenGL or GLES backend" + depends on !(BR2_PACKAGE_XORG7 || BR2_PACKAGE_WAYLAND) + depends on !(BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES) diff --git a/package/libglfw/libglfw.hash b/package/libglfw/libglfw.hash index c21a595bbc0..5bffc55d26b 100644 --- a/package/libglfw/libglfw.hash +++ b/package/libglfw/libglfw.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 98768e12e615fbe9f3386f5bbfeb91b5a3b45a8c4c77159cef06b1f6ff749537 libglfw-3.3.2.tar.gz +sha256 ed07b90e334dcd39903e6288d90fa1ae0cf2d2119fec516cf743a0a404527c02 libglfw-3.3.6.tar.gz sha256 149704059b5d0bf551637e50042dd4de9c2cae921021f6636298911e3a5f9462 LICENSE.md diff --git a/package/libglfw/libglfw.mk b/package/libglfw/libglfw.mk index 63d2a88bf85..0a3986f6628 100644 --- a/package/libglfw/libglfw.mk +++ b/package/libglfw/libglfw.mk @@ -4,11 +4,9 @@ # ################################################################################ -LIBGLFW_VERSION = 3.3.2 +LIBGLFW_VERSION = 3.3.6 LIBGLFW_SITE = $(call github,glfw,glfw,$(LIBGLFW_VERSION)) LIBGLFW_INSTALL_STAGING = YES -LIBGLFW_DEPENDENCIES = libgl xlib_libXcursor xlib_libXext \ - xlib_libXi xlib_libXinerama xlib_libXrandr LIBGLFW_LICENSE = Zlib LIBGLFW_LICENSE_FILES = LICENSE.md @@ -17,6 +15,27 @@ LIBGLFW_CONF_OPTS += \ -DGLFW_BUILD_TESTS=OFF \ -DGLFW_BUILD_DOCS=OFF +ifeq ($(BR2_PACKAGE_XORG7),y) +LIBGLFW_DEPENDENCIES += xlib_libXcursor xlib_libXext \ + xlib_libXi xlib_libXinerama xlib_libXrandr +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) +LIBGLFW_DEPENDENCIES += libgl +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) +LIBGLFW_DEPENDENCIES += libgles +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +LIBGLFW_DEPENDENCIES += libxkbcommon wayland-protocols +# Override pkg-config pkgdatadir variable, it needs the prefix +LIBGLFW_CONF_OPTS += \ + -DGLFW_USE_WAYLAND=1 \ + -DWAYLAND_PROTOCOLS_BASE=$(STAGING_DIR)/usr/share/wayland-protocols +endif + ifeq ($(BR2_PACKAGE_XLIB_LIBXXF86VM),y) LIBGLFW_DEPENDENCIES += xlib_libXxf86vm endif diff --git a/package/libglib2/0001-fix-compile-time-atomic-detection.patch b/package/libglib2/0001-fix-compile-time-atomic-detection.patch index d84a1ab4604..aae505f8e5c 100644 --- a/package/libglib2/0001-fix-compile-time-atomic-detection.patch +++ b/package/libglib2/0001-fix-compile-time-atomic-detection.patch @@ -10,19 +10,21 @@ See : https://gitlab.gnome.org/GNOME/glib/issues/1063 Signed-off-by: Brendan Heading Signed-off-by: Adam Duskett +Refresh for 2.68.1 --- - glib/gthread-posix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + glib/gthread-posix.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c index 71a6b7b..d09d029 100644 --- a/glib/gthread-posix.c +++ b/glib/gthread-posix.c -@@ -73,7 +73,7 @@ +@@ -72,8 +72,7 @@ + #include #endif - /* clang defines __ATOMIC_SEQ_CST but doesn't support the GCC extension */ --#if defined(HAVE_FUTEX) && defined(__ATOMIC_SEQ_CST) && !defined(__clang__) +-#if defined(HAVE_FUTEX) && \ +- (defined(HAVE_STDATOMIC_H) || defined(__ATOMIC_SEQ_CST)) +#if defined(HAVE_FUTEX) && defined(__ATOMIC_SEQ_CST) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) && !defined(__clang__) #define USE_NATIVE_MUTEX #endif diff --git a/package/libglib2/0002-allow-explicit-disabling-of-tests.patch b/package/libglib2/0002-allow-explicit-disabling-of-tests.patch deleted file mode 100644 index c865c04e037..00000000000 --- a/package/libglib2/0002-allow-explicit-disabling-of-tests.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cdccbc6ec36243463613cb32d7058c26c3c51e16 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Wed, 18 Sep 2019 09:50:00 -0700 -Subject: [PATCH] allow explicit disabling of tests - -Upstream won't build tests when cross-compiling. However; this means still -building the tests during a host build. Building the tests causes build -failures on older distributions such as CentOS 6 and Debian 7 because the -command `objcopy --add-symbol` is used when building the test -"test_resources2," which is not available with the older version of objcopy -provided by the distributions. - -Instead, remove the conditional checks which set build_tests and only check if -installed_tests_enabled is passed. - -Signed-off-by: Adam Duskett -Refresh for 2.62.2 ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 99806d0..3206603 100644 ---- a/meson.build -+++ b/meson.build -@@ -84,7 +84,7 @@ installed_tests_template = files('template.test.in') - installed_tests_template_tap = files('template-tap.test.in') - - # Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use) --build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) or installed_tests_enabled -+build_tests = installed_tests_enabled - - add_project_arguments('-D_GNU_SOURCE', language: 'c') - --- -2.23.0 - diff --git a/package/libglib2/0002-remove-cpp-requirement.patch b/package/libglib2/0002-remove-cpp-requirement.patch new file mode 100644 index 00000000000..b5603c92f41 --- /dev/null +++ b/package/libglib2/0002-remove-cpp-requirement.patch @@ -0,0 +1,96 @@ +From 2f168951df1feebeac549ada1ea44ea092484c54 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 16 Sep 2019 10:12:38 -0700 +Subject: [PATCH] remove cpp requirement + +The c++ test is necessary to ensure libglib doesn't accidentally use C++ +reserved keywords in public headers. Because this is just a test, it isn't +necessary to have a C++ compiler to build libglib2. + +Signed-off-by: Adam Duskett +Upstream status: Denied (Buildroot specific) +https://gitlab.gnome.org/GNOME/glib/issues/1748 +--- + glib/glibconfig.h.in | 1 - + meson.build | 18 +----------------- + tests/meson.build | 5 ----- + 3 files changed, 1 insertion(+), 23 deletions(-) + +diff --git a/glib/glibconfig.h.in b/glib/glibconfig.h.in +index 7ef8c48..128e65d 100644 +--- a/glib/glibconfig.h.in ++++ b/glib/glibconfig.h.in +@@ -117,7 +117,6 @@ typedef unsigned @glib_intptr_type_define@ guintptr; + @glib_vacopy@ + + @g_have_iso_c_varargs@ +-@g_have_iso_cxx_varargs@ + + /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi + * is passed ISO vararg support is turned off, and there is no work +diff --git a/meson.build b/meson.build +index 4bbf4c2..ac59f4e 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,4 @@ +-project('glib', 'c', 'cpp', ++project('glib', 'c', + version : '2.70.4', + # NOTE: We keep this pinned at 0.49 because that's what Debian 10 ships + meson_version : '>= 0.49.2', +@@ -10,7 +10,6 @@ project('glib', 'c', 'cpp', + ) + + cc = meson.get_compiler('c') +-cxx = meson.get_compiler('cpp') + + cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper() + +@@ -1696,20 +1695,6 @@ if g_have_iso_c_varargs + #endif''') + endif + +-g_have_iso_cxx_varargs = cxx.compiles(''' +- void some_func (void) { +- int a(int p1, int p2, int p3); +- #define call_a(...) a(1,__VA_ARGS__) +- call_a(2,3); +- }''', name : 'ISO C99 varargs macros in C++') +- +-if g_have_iso_cxx_varargs +- glibconfig_conf.set('g_have_iso_cxx_varargs', ''' +-#ifdef __cplusplus +-# define G_HAVE_ISO_VARARGS 1 +-#endif''') +-endif +- + g_have_gnuc_varargs = cc.compiles(''' + void some_func (void) { + int a(int p1, int p2, int p3); +@@ -2339,7 +2324,6 @@ subdir('gobject') + subdir('gthread') + subdir('gmodule') + subdir('gio') +-subdir('fuzzing') + if build_tests + subdir('tests') + endif +diff --git a/tests/meson.build b/tests/meson.build +index e4ea226..7fd974c 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -55,11 +55,6 @@ tests = { + 'source': 'module-test.c', + 'c_args': ['-DMODULE_TYPE="plugin"'], + }, +- 'cxx-test' : { +- 'source' : 'cxx-test.cpp', +- 'include_directories' : gmoduleinc, +- 'dependencies' : [libgio_dep], +- }, + } + + test_extra_programs = { +-- +2.23.0 + diff --git a/package/libglib2/0003-Add-Wno-format-nonliteral-to-compiler-arguments.patch b/package/libglib2/0003-Add-Wno-format-nonliteral-to-compiler-arguments.patch new file mode 100644 index 00000000000..e212393011a --- /dev/null +++ b/package/libglib2/0003-Add-Wno-format-nonliteral-to-compiler-arguments.patch @@ -0,0 +1,29 @@ +From 9e0f11a4981737f98bac93a22b6f2ff1a3887b63 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 9 Apr 2019 13:03:51 -0400 +Subject: [PATCH] Add '-Wno-format-nonliteral' to compiler arguments. + +This warning is a false positive on older versions of gcc. +See https://gitlab.gnome.org/GNOME/glib/issues/1744 for more details. + +Signed-off-by: Adam Duskett +Refresh for 2.68.1 +--- + meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/meson.build b/meson.build +index 3c615b7..7cae4e8 100644 +--- a/meson.build ++++ b/meson.build +@@ -435,6 +435,7 @@ if cc.get_id() == 'gcc' or cc.get_id() == 'clang' + # building with -Wbad-function-cast. + '-Wno-bad-function-cast', + '-Wno-cast-function-type', ++ '-Wno-format-nonliteral', + # Due to function casts through (void*) we cannot support -Wpedantic: + # https://wiki.gnome.org/Projects/GLib/CompilerRequirements#Function_pointer_conversions. + '-Wno-pedantic', +-- +2.20.1 + diff --git a/package/libglib2/0003-remove-cpp-requirement.patch b/package/libglib2/0003-remove-cpp-requirement.patch deleted file mode 100644 index 25cb23c239a..00000000000 --- a/package/libglib2/0003-remove-cpp-requirement.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 2f168951df1feebeac549ada1ea44ea092484c54 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Mon, 16 Sep 2019 10:12:38 -0700 -Subject: [PATCH] remove cpp requirement - -The c++ test is necessary to ensure libglib doesn't accidentally use C++ -reserved keywords in public headers. Because this is just a test, it isn't -necessary to have a C++ compiler to build libglib2. - -Signed-off-by: Adam Duskett -Upstream status: Denied (Buildroot specific) -https://gitlab.gnome.org/GNOME/glib/issues/1748 ---- - glib/glibconfig.h.in | 1 - - meson.build | 18 +----------------- - tests/meson.build | 5 ----- - 3 files changed, 1 insertion(+), 23 deletions(-) - -diff --git a/glib/glibconfig.h.in b/glib/glibconfig.h.in -index 7ef8c48..128e65d 100644 ---- a/glib/glibconfig.h.in -+++ b/glib/glibconfig.h.in -@@ -117,7 +117,6 @@ typedef unsigned @glib_intptr_type_define@ guintptr; - @glib_vacopy@ - - @g_have_iso_c_varargs@ --@g_have_iso_cxx_varargs@ - - /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi - * is passed ISO vararg support is turned off, and there is no work -diff --git a/meson.build b/meson.build -index 4bbf4c2..ac59f4e 100644 ---- a/meson.build -+++ b/meson.build -@@ -1,4 +1,4 @@ --project('glib', 'c', 'cpp', -+project('glib', 'c', - version : '2.66.7', - # NOTE: We keep this pinned at 0.49 because that's what Debian 10 ships - meson_version : '>= 0.49.2', -@@ -10,7 +10,6 @@ project('glib', 'c', 'cpp', - ) - - cc = meson.get_compiler('c') --cxx = meson.get_compiler('cpp') - - cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper() - -@@ -1548,20 +1547,6 @@ if g_have_iso_c_varargs - #endif''') - endif - --g_have_iso_cxx_varargs = cxx.compiles(''' -- void some_func (void) { -- int a(int p1, int p2, int p3); -- #define call_a(...) a(1,__VA_ARGS__) -- call_a(2,3); -- }''', name : 'ISO C99 varargs macros in C++') -- --if g_have_iso_cxx_varargs -- glibconfig_conf.set('g_have_iso_cxx_varargs', ''' --#ifdef __cplusplus --# define G_HAVE_ISO_VARARGS 1 --#endif''') --endif -- - g_have_gnuc_varargs = cc.compiles(''' - void some_func (void) { - int a(int p1, int p2, int p3); -@@ -2167,7 +2152,6 @@ subdir('gobject') - subdir('gthread') - subdir('gmodule') - subdir('gio') --subdir('fuzzing') - if build_tests - subdir('tests') - endif -diff --git a/tests/meson.build b/tests/meson.build -index e4ea226..7fd974c 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -55,11 +55,6 @@ tests = { - 'source': 'module-test.c', - 'c_args': ['-DMODULE_TYPE="plugin"'], - }, -- 'cxx-test' : { -- 'source' : 'cxx-test.cpp', -- 'include_directories' : gmoduleinc, -- 'dependencies' : [libgio_dep], -- }, - } - - test_extra_programs = { --- -2.23.0 - diff --git a/package/libglib2/0004-Add-Wno-format-nonliteral-to-compiler-arguments.patch b/package/libglib2/0004-Add-Wno-format-nonliteral-to-compiler-arguments.patch deleted file mode 100644 index f792ceba3f2..00000000000 --- a/package/libglib2/0004-Add-Wno-format-nonliteral-to-compiler-arguments.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9e0f11a4981737f98bac93a22b6f2ff1a3887b63 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Tue, 9 Apr 2019 13:03:51 -0400 -Subject: [PATCH] Add '-Wno-format-nonliteral' to compiler arguments. - -This warning is a false positive on older versions of gcc. -See https://gitlab.gnome.org/GNOME/glib/issues/1744 for more details. - -Signed-off-by: Adam Duskett ---- - meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/meson.build b/meson.build -index 3c615b7..7cae4e8 100644 ---- a/meson.build -+++ b/meson.build -@@ -372,6 +372,7 @@ if cc.get_id() == 'gcc' or cc.get_id() == 'clang' - '-Wno-cast-function-type', -+ '-Wno-format-nonliteral', - # Due to function casts through (void*) we cannot support -Wpedantic: - # https://wiki.gnome.org/Projects/GLib/CompilerRequirements#Function_pointer_conversions. - '-Wno-pedantic', - '-Werror=declaration-after-statement', - '-Werror=format=2', --- -2.20.1 - diff --git a/package/libglib2/0004-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch b/package/libglib2/0004-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch new file mode 100644 index 00000000000..db77a73203f --- /dev/null +++ b/package/libglib2/0004-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch @@ -0,0 +1,48 @@ +From ff3db531608eb0f9de8a88c1bc34fe0f1d93121c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 12 Nov 2021 18:01:05 +0100 +Subject: [PATCH] meson.build: add girdir to gio-2.0.pc and glib-2.0.pc + +Add girdir to gio-2.0.pc and glib-2.0.pc to fix the following build +failure with atk or libnice: + +/home/giuliobenetti/autobuild/run/instance-1/output-1/host/riscv32-buildroot-linux-gnu/sysroot/usr/bin/g-ir-compiler atk/Atk-1.0.gir --output atk/Atk-1.0.typelib --includedir=/usr/share/gir-1.0 +Could not find GIR file 'GObject-2.0.gir'; check XDG_DATA_DIRS or use --includedir + +Fixes: + - http://autobuild.buildroot.org/results/2716929db638977e6bf665352a08bd580e1dd0ae + - http://autobuild.buildroot.org/results/3088ef32b03e0bb984291b1227b187f1ff816eb7 + +Signed-off-by: Fabrice Fontaine +--- + gio/meson.build | 1 + + glib/meson.build | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/gio/meson.build b/gio/meson.build +index 29473d26b..112d4ada9 100644 +--- a/gio/meson.build ++++ b/gio/meson.build +@@ -841,6 +841,7 @@ pkg.generate(libgio, + variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')), + 'schemasdir=' + join_paths('${datadir}', schemas_subdir), + 'bindir=' + join_paths('${prefix}', get_option('bindir')), ++ 'girdir=' + join_paths('${libdir}', '../share/gir-1.0'), + 'giomoduledir=' + pkgconfig_giomodulesdir, + 'gio=' + join_paths('${bindir}', 'gio'), + 'gio_querymodules=' + join_paths('${bindir}', 'gio-querymodules'), +diff --git a/glib/meson.build b/glib/meson.build +index f78f32969..6c5486699 100644 +--- a/glib/meson.build ++++ b/glib/meson.build +@@ -384,6 +384,7 @@ pkg.generate(libglib, + subdirs : ['glib-2.0'], + extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, + variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')), ++ 'girdir=' + join_paths('${libdir}', '../share/gir-1.0'), + 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'), + 'gobject_query=' + join_paths('${bindir}', 'gobject-query'), + 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')], +-- +2.33.0 + diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash index 7886bb5c595..f0f0cb55adf 100644 --- a/package/libglib2/libglib2.hash +++ b/package/libglib2/libglib2.hash @@ -1,4 +1,4 @@ -# https://download.gnome.org/sources/glib/2.66/glib-2.66.7.sha256sum -sha256 09f158769f6f26b31074e15b1ac80ec39b13b53102dfae66cfe826fb2cc65502 glib-2.66.7.tar.xz +# https://download.gnome.org/sources/glib/2.70/glib-2.70.4.sha256sum +sha256 ab3d176f3115dcc4e5d02db795984e04e4f4b48d836252e23e8c468e9d423c33 glib-2.70.4.tar.xz # License files, locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index ffbb4c96b58..18f5b329c76 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGLIB2_VERSION_MAJOR = 2.66 -LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).7 +LIBGLIB2_VERSION_MAJOR = 2.70 +LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).4 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR) LIBGLIB2_LICENSE = LGPL-2.1+ @@ -25,11 +25,12 @@ endif HOST_LIBGLIB2_CONF_OPTS = \ -Ddtrace=false \ -Dfam=false \ + -Dglib_debug=disabled \ + -Dlibelf=disabled \ -Dselinux=disabled \ -Dsystemtap=false \ -Dxattr=false \ - -Dinternal_pcre=false \ - -Dinstalled_tests=false \ + -Dtests=false \ -Doss_fuzz=disabled LIBGLIB2_DEPENDENCIES = \ @@ -49,9 +50,10 @@ HOST_LIBGLIB2_DEPENDENCIES = \ # ${libdir} would be prefixed by the sysroot by pkg-config, causing a # bogus installation path once combined with $(DESTDIR). LIBGLIB2_CONF_OPTS = \ - -Dinternal_pcre=false \ + -Dglib_debug=disabled \ + -Dlibelf=disabled \ -Dgio_module_dir=/usr/lib/gio/modules \ - -Dinstalled_tests=false \ + -Dtests=false \ -Doss_fuzz=disabled LIBGLIB2_MESON_EXTRA_PROPERTIES = \ @@ -73,10 +75,10 @@ LIBGLIB2_DEPENDENCIES += libiconv endif ifeq ($(BR2_PACKAGE_LIBSELINUX),y) -LIBGLIB2_CONF_OPTS += -Dselinux=enabled +LIBGLIB2_CONF_OPTS += -Dselinux=enabled -Dxattr=true LIBGLIB2_DEPENDENCIES += libselinux else -LIBGLIB2_CONF_OPTS += -Dselinux=disabled +LIBGLIB2_CONF_OPTS += -Dselinux=disabled -Dxattr=false endif # Purge gdb-related files diff --git a/package/libglu/libglu.hash b/package/libglu/libglu.hash index b0202a13347..234b58dd639 100644 --- a/package/libglu/libglu.hash +++ b/package/libglu/libglu.hash @@ -1,7 +1,5 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2019-July/000530.html -md5 151aef599b8259efe9acd599c96ea2a3 glu-9.0.1.tar.xz -sha1 b6ffef562ba55d3f80146d4238589cb9b1de66f5 glu-9.0.1.tar.xz -sha256 fb5a4c2dd6ba6d1c21ab7c05129b0769544e1d68e1e3b0ffecb18e73c93055bc glu-9.0.1.tar.xz -sha512 8a6dae5b4bd63efb96d15f23ccda4ad9c2ffaa964897e5fa63d1e58360d8d4e6732c5efd2109dba04155d5fc457ab1718a65cf9b544ce0d452679ba988d04018 glu-9.0.1.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2021-June/000634.html +sha256 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4 glu-9.0.2.tar.xz +sha512 2517d7406bb643d12c017a95dcb5d8716f307344332638bcbdf274a90752a7c22165d34745f1b082ed916bb07d40e62d1d1d67d96426225be63166f3480d6f64 glu-9.0.2.tar.xz # locally computed -sha256 84187ce0fd0153769675cb7f3301583eb27393f66b57c5604999a1d805a9184c include/GL/glu.h +sha256 3a9992ccc9d672cfdd07ea862431d943a992d04836570c638a733bf15ec62c54 include/GL/glu.h diff --git a/package/libglu/libglu.mk b/package/libglu/libglu.mk index e18c7f14942..8820e75d8b7 100644 --- a/package/libglu/libglu.mk +++ b/package/libglu/libglu.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGLU_VERSION = 9.0.1 +LIBGLU_VERSION = 9.0.2 LIBGLU_SITE = https://mesa.freedesktop.org/archive/glu LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.xz LIBGLU_LICENSE = SGI-B-2.0 diff --git a/package/libglvnd/Config.in b/package/libglvnd/Config.in new file mode 100644 index 00000000000..d020c214659 --- /dev/null +++ b/package/libglvnd/Config.in @@ -0,0 +1,51 @@ +config BR2_PACKAGE_LIBGLVND + bool "libglvnd" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS + help + The GL Vendor-Neutral Dispatch library + + libglvnd is a vendor-neutral dispatch layer for arbitrating + OpenGL API calls between multiple vendors. It allows multiple + drivers from different vendors to coexist on the same + filesystem, and determines which vendor to dispatch each API + call to at runtime. + + Both GLX and EGL are supported, in any combination with OpenGL + and OpenGL ES. + +if BR2_PACKAGE_LIBGLVND + +# The following symbols should be selected by the libglvnd-aware +# GL/EGL/GLES providers. +config BR2_PACKAGE_LIBGLVND_DISPATCH_GL + bool + depends on BR2_PACKAGE_XORG7 # libx11, libXext, xorgproto + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_XORGPROTO + select BR2_PACKAGE_HAS_LIBGL + +config BR2_PACKAGE_LIBGLVND_DISPATCH_EGL + bool + select BR2_PACKAGE_HAS_LIBEGL + +config BR2_PACKAGE_LIBGLVND_DISPATCH_GLES + bool + select BR2_PACKAGE_HAS_LIBGLES + +config BR2_PACKAGE_PROVIDES_LIBGL + default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_GL + +config BR2_PACKAGE_PROVIDES_LIBEGL + default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_EGL + +config BR2_PACKAGE_PROVIDES_LIBGLES + default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_GLES + +endif + +comment "libglvnd needs a toolchain w/ dynamic library, threads" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libglvnd/libglvnd.hash b/package/libglvnd/libglvnd.hash new file mode 100644 index 00000000000..15e76ea9e86 --- /dev/null +++ b/package/libglvnd/libglvnd.hash @@ -0,0 +1,7 @@ +# Locally computed +sha256 6332c27f4c792b09a3eb1d7ae18c2d6ff6a0acaf3a746489caf859e659fca2f7 libglvnd-v1.3.2.tar.gz + +# Locally computed hashes for license files +sha256 224534547628a9e5e889d8808385bd38839e6bdb77d89c90ac04dad6891a4f5f README.md +sha256 bebdc0fd27cd37af8406e47af23c113866b7856c3f7349ffcbc672029ec8acf7 src/util/uthash/LICENSE +sha256 f6f207863675ca5a5128fd120b9aef4f4bbab73ffa57e5f771ccffc8e3cc56b7 src/util/cJSON/LICENSE diff --git a/package/libglvnd/libglvnd.mk b/package/libglvnd/libglvnd.mk new file mode 100644 index 00000000000..3bac4b31e2a --- /dev/null +++ b/package/libglvnd/libglvnd.mk @@ -0,0 +1,53 @@ +################################################################################ +# +# libglvnd +# +################################################################################ + +LIBGLVND_VERSION = 1.3.2 +LIBGLVND_SOURCE = libglvnd-v$(LIBGLVND_VERSION).tar.gz +LIBGLVND_SITE = https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$(LIBGLVND_VERSION) + +LIBGLVND_LICENSE = \ + libglvnd license, \ + Apache-2.0 (Khronos headers), \ + MIT (Xorg; mesa; cJSON), \ + BSD-1=Clause (uthash) + +LIBGLVND_LICENSE_FILES = \ + README.md \ + src/util/uthash/LICENSE \ + src/util/cJSON/LICENSE + +LIBGLVND_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) +LIBGLVND_DEPENDENCIES += xlib_libX11 +LIBGLVND_CONF_OPTS += -Dx11=enabled +else +LIBGLVND_CONF_OPTS += -Dx11=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_GL),y) +LIBGLVND_DEPENDENCIES += xlib_libXext xorgproto +LIBGLVND_CONF_OPTS += -Dglx=enabled +LIBGLVND_PROVIDES += libgl +else +LIBGLVND_CONF_OPTS += -Dglx=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_EGL),y) +LIBGLVND_CONF_OPTS += -Degl=true +LIBGLVND_PROVIDES += libegl +else +LIBGLVND_CONF_OPTS += -Degl=false +endif + +ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_GLES),y) +LIBGLVND_CONF_OPTS += -Dgles1=true -Dgles2=true +LIBGLVND_PROVIDES += libgles +else +LIBGLVND_CONF_OPTS += -Dgles1=false -Dgles2=false +endif + +$(eval $(meson-package)) diff --git a/package/libgpg-error/0001-build-Fix-generation-of-lock-obj-pub.native.h-for-cr.patch b/package/libgpg-error/0001-build-Fix-generation-of-lock-obj-pub.native.h-for-cr.patch new file mode 100644 index 00000000000..621f070ee28 --- /dev/null +++ b/package/libgpg-error/0001-build-Fix-generation-of-lock-obj-pub.native.h-for-cr.patch @@ -0,0 +1,34 @@ +From 7350874f6f62314af4c8ec1973c91d305a6f4ddc Mon Sep 17 00:00:00 2001 +From: David Michael +Date: Fri, 26 Mar 2021 16:06:50 +0900 +Subject: [PATCH] build: Fix generation of lock-obj-pub.native.h for cross + build. + +* src/gen-lock-obj.sh: Capture echo output with quotes. + +-- + +Fixes-commit: 99ae862a96a569724f49a604ebb7d3f6d2c2d374 +Signed-off-by: David Michael +Upstream: 33593864cd54143db594c4237bba41e14179061c +Signed-off-by: Thomas Petazzoni +--- + src/gen-lock-obj.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh +index a710f0c..258eec6 100755 +--- a/src/gen-lock-obj.sh ++++ b/src/gen-lock-obj.sh +@@ -38,7 +38,7 @@ + # AWK=gawk ./gen-lock-obj.sh + # + +-if test -n `echo -n`; then ++if test -n "`echo -n`"; then + ECHO_C='\c' + ECHO_N='' + else +-- +2.31.1 + diff --git a/package/libgpg-error/0001-configure.ac-fix-build-without-threads.patch b/package/libgpg-error/0001-configure.ac-fix-build-without-threads.patch deleted file mode 100644 index 5f5147e0df7..00000000000 --- a/package/libgpg-error/0001-configure.ac-fix-build-without-threads.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 77c89f62f106d88ef2b5963f4a13755c337c793d Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 15 Feb 2021 07:56:29 +0100 -Subject: [PATCH] configure.ac: fix build without threads - -Cross-compilation of libgpg-error fails on toolchain without threads -since commit 988211d3d4c1f3d5cfa6b460210f65ab636763b5, -9ee011259f819a3cf50fe7019fa4366dbc437e0e and -50e62b36ea01ed25d12c443088b85d4f41a2b3e1 - -Indeed, since that time, libgpg-error assumes that pthread.h is always -available resulting in the following error at configure time: - -checking for arm-unknown-linux-gnueabi-objdump... (cached) /tmp/instance-1/output-1/host/bin/arm-linux-objdump -conftest.c:1:10: fatal error: pthread.h: No such file or directory - 1 | #include - | ^~~~~~~~~~~ -compilation terminated. -configure: generated src/lock-obj-pub.native.h using arm-unknown-linux-gnueabi-objdump and gawk -checking whether to enable log_clock... no - -This error will in turn results in a build failure because -"Can't determine mutex size" is echoed by gen-lock-obj.sh: - -In file included from strsource-sym.c:27: -./gpg-error.h:1115:4: warning: missing terminating ' character - 1115 | Can't determine mutex size - | ^ - -Full build log: -http://autobuild.buildroot.org/results/334/3344c96e5627a9327b0eabe0b27f34490bbabc0d/build-end.log - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://dev.gnupg.org/T5296] ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index b9a2a3e..15d9fdc 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -599,7 +599,7 @@ if test x$cross_compiling = xyes; then - case $host in - *-*-linux*) - AC_CHECK_TOOL(OBJDUMP, [objdump]) -- if test -n "$OBJDUMP"; then -+ if test -n "$OBJDUMP" -a x"$gl_use_threads" != xno; then - lock_obj_h_generated=yes - if test ! -d src; then mkdir src; fi - LOCK_ABI_VERSION=1 host=$host host_alias=$host_alias \ --- -2.30.0 - diff --git a/package/libgpg-error/0002-build-Fix-disable-threads.patch b/package/libgpg-error/0002-build-Fix-disable-threads.patch new file mode 100644 index 00000000000..6ed0f830708 --- /dev/null +++ b/package/libgpg-error/0002-build-Fix-disable-threads.patch @@ -0,0 +1,39 @@ +From 7ede0d4ce19e0ed14cd1cec81ba7df4e467f1eeb Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Mon, 21 Jun 2021 12:16:20 +0900 +Subject: [PATCH] build: Fix --disable-threads. + +* src/gen-lock-obj.sh: Fix generating '}}}'. + +-- + +GnuPG-bug-id: 5495 +Reported-by: Fabrice Fontaine +Fixes-commit: 1fb90a7da186ee2ee098a666f6f3a35bb1720e59 +Signed-off-by: NIIBE Yutaka +[Retrieved from: +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commit;h=220a427b4f997ef6af1b2d4e82ef1dc96e0cd6ff] +Signed-off-by: Fabrice Fontaine +--- + src/gen-lock-obj.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh +index 258eec6..014667f 100755 +--- a/src/gen-lock-obj.sh ++++ b/src/gen-lock-obj.sh +@@ -121,10 +121,10 @@ while test "$i" -lt $ac_mtx_size; do + fi + i=$(( i + 1 )) + done ++echo '}}}' + fi + + cat <<'EOF' +-}}} + ## + ## Local Variables: + ## mode: c +-- +2.31.1 + diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in index 44e9d67aaf9..03157dd9fe7 100644 --- a/package/libgpg-error/Config.in +++ b/package/libgpg-error/Config.in @@ -2,14 +2,19 @@ config BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS bool # see src/syscfg/ default y if \ - BR2_aarch64 || BR2_aarch64_eb || BR2_arm || \ - BR2_armeb || BR2_i386 || BR2_mips || \ - BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_m68k || BR2_nios2 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_RISCV_64 || \ - BR2_RISCV_32 || BR2_s390x || BR2_sh4 || \ - BR2_sh4eb || BR2_sh4a || BR2_sh4aeb || \ - BR2_sparc || BR2_sparc64 || BR2_x86_64 + BR2_aarch64 || BR2_aarch64_eb || \ + BR2_arm || BR2_armeb || \ + BR2_i386 || BR2_mips || \ + BR2_mipsel || BR2_mips64 || \ + BR2_mips64el || BR2_m68k || \ + BR2_nios2 || BR2_or1k || \ + BR2_powerpc || BR2_powerpc64 || \ + BR2_powerpc64le || BR2_RISCV_64 || \ + BR2_RISCV_32 || BR2_s390x || \ + BR2_sh4 || BR2_sh4eb || \ + BR2_sh4a || BR2_sh4aeb || \ + BR2_sparc || BR2_sparc64 || \ + BR2_x86_64 config BR2_PACKAGE_LIBGPG_ERROR bool "libgpg-error" @@ -36,6 +41,8 @@ config BR2_PACKAGE_LIBGPG_ERROR_SYSCFG if BR2_m68k default "nios2-unknown-linux-gnu" \ if BR2_nios2 + default "or1k-unknown-linux-gnu" \ + if BR2_or1k default "powerpc-unknown-linux-gnu" \ if BR2_powerpc default "powerpc64-unknown-linux-gnu" \ diff --git a/package/libgpg-error/libgpg-error.hash b/package/libgpg-error/libgpg-error.hash index 315c0965cf7..4e124941cdf 100644 --- a/package/libgpg-error/libgpg-error.hash +++ b/package/libgpg-error/libgpg-error.hash @@ -1,10 +1,10 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 66d6270511a48bac0bf347330e7a12c62f3a1ab4 libgpg-error-1.41.tar.bz2 +sha1 5e620d71fc24d287a7ac2460b1d819074bb8b9bb libgpg-error-1.42.tar.bz2 # Locally calculated after checking pgp signature -# https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.41.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.42.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 64b078b45ac3c3003d7e352a5e05318880a5778c42331ce1ef33d1a0d9922742 libgpg-error-1.41.tar.bz2 +sha256 fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23 libgpg-error-1.42.tar.bz2 # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index 1b35e5c8f03..babcbdadede 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.41 +LIBGPG_ERROR_VERSION = 1.42 LIBGPG_ERROR_SITE = https://www.gnupg.org/ftp/gcrypt/libgpg-error LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ @@ -15,8 +15,6 @@ LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config LIBGPG_ERROR_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) LIBGPG_ERROR_CONF_OPTS = --disable-tests \ --host=$(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG) -# We're patching configure.ac -LIBGPG_ERROR_AUTORECONF= YES ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) LIBGPG_ERROR_CONF_OPTS += --enable-threads diff --git a/package/libgpgme/0001-core-Support-closefrom-also-for-glibc.patch b/package/libgpgme/0001-core-Support-closefrom-also-for-glibc.patch new file mode 100644 index 00000000000..b8db949cefe --- /dev/null +++ b/package/libgpgme/0001-core-Support-closefrom-also-for-glibc.patch @@ -0,0 +1,36 @@ +From 4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e Mon Sep 17 00:00:00 2001 +From: Jiri Kucera +Date: Sun, 25 Jul 2021 11:35:54 +0200 +Subject: [PATCH] core: Support closefrom also for glibc. + +* src/posix-io.c (_gpgme_io_spawn): Use glibc's closefrom. +-- + +Since 2.34, glibc introduces closefrom (the implementation +follows *BSD standard). + +Signed-off-by: Werner Koch + +[Retrieved from: +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commit;h=4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e] +Signed-off-by: Fabrice Fontaine +--- + src/posix-io.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/posix-io.c b/src/posix-io.c +index e712ef28..2a3a81fc 100644 +--- a/src/posix-io.c ++++ b/src/posix-io.c +@@ -570,7 +570,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags, + if (fd_list[i].fd > fd) + fd = fd_list[i].fd; + fd++; +-#if defined(__sun) || defined(__FreeBSD__) ++#if defined(__sun) || defined(__FreeBSD__) || defined(__GLIBC__) + closefrom (fd); + max_fds = fd; + #else /*!__sun */ +-- +2.11.0 + diff --git a/package/libgpgme/libgpgme.hash b/package/libgpgme/libgpgme.hash index 35767a27fe6..ca2a79496c1 100644 --- a/package/libgpgme/libgpgme.hash +++ b/package/libgpgme/libgpgme.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.15.1.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.16.0.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 eebc3c1b27f1c8979896ff361ba9bb4778b508b2496c2fc10e3775a40b1de1ad gpgme-1.15.1.tar.bz2 +sha256 6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0 gpgme-1.16.0.tar.bz2 # Locally calculated sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LESSER diff --git a/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk index 95a419258b1..f61e9fe41ae 100644 --- a/package/libgpgme/libgpgme.mk +++ b/package/libgpgme/libgpgme.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPGME_VERSION = 1.15.1 +LIBGPGME_VERSION = 1.16.0 LIBGPGME_SITE = https://gnupg.org/ftp/gcrypt/gpgme LIBGPGME_SOURCE = gpgme-$(LIBGPGME_VERSION).tar.bz2 LIBGPGME_LICENSE = LGPL-2.1+ diff --git a/package/libgphoto2/libgphoto2.hash b/package/libgphoto2/libgphoto2.hash index e405735c8b6..af52b47dc80 100644 --- a/package/libgphoto2/libgphoto2.hash +++ b/package/libgphoto2/libgphoto2.hash @@ -1,6 +1,3 @@ -# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.26/ -sha1 38373ef7f76e90492ffca309094487fb1474f3fe libgphoto2-2.5.26.tar.bz2 - # Locally calculated hash -sha256 7740fea3cbb78489071cdfec06c07fab528e69e27ac82734eae6a73eaeeabcd4 libgphoto2-2.5.26.tar.bz2 +sha256 a7253bd18c6ef65352150ac36a668f883a5ad2634eb6455b3ca9aa6ac98d0073 libgphoto2-2.5.27.tar.xz sha256 ebc385a0b1d477be5177ed6d9129557aa59a3ad0f26ebe7dd97ee942a0fb68ee COPYING diff --git a/package/libgphoto2/libgphoto2.mk b/package/libgphoto2/libgphoto2.mk index 1d42ba862f5..c1d5352c00f 100644 --- a/package/libgphoto2/libgphoto2.mk +++ b/package/libgphoto2/libgphoto2.mk @@ -4,11 +4,9 @@ # ################################################################################ -LIBGPHOTO2_VERSION = 2.5.26 -LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2 -# Project is maintained on github but github tarball doesn't have -# configure, so use tarballs from SourceForge -LIBGPHOTO2_SITE = https://downloads.sourceforge.net/project/gphoto/libgphoto/$(LIBGPHOTO2_VERSION) +LIBGPHOTO2_VERSION = 2.5.27 +LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.xz +LIBGPHOTO2_SITE = https://github.com/gphoto/libgphoto2/releases/download/v$(LIBGPHOTO2_VERSION) LIBGPHOTO2_LICENSE = LGPL-2.1+, GPL-2.0 (adc65), GPL-2.0+ (some camlibs), \ LGPL-2.0 (sipix), LGPL-3.0+ (pentax), BSD-3-Clause (ax203/tinyjpeg) # There is a single license file for the LGPL-2.1, no license files diff --git a/package/libgpiod/libgpiod.hash b/package/libgpiod/libgpiod.hash index 7b691aaf5e3..f0803cab369 100644 --- a/package/libgpiod/libgpiod.hash +++ b/package/libgpiod/libgpiod.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc -sha256 c601e71846f5ab140c83bc757fdd62a4fda24a9cee39cc5e99c96ec2bf1b06a9 libgpiod-1.6.2.tar.xz +sha256 841be9d788f00bab08ef22c4be5c39866f0e46cb100a3ae49ed816ac9c5dddc7 libgpiod-1.6.3.tar.xz # Hash for license file sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/package/libgpiod/libgpiod.mk b/package/libgpiod/libgpiod.mk index 201b697c726..35d003fa332 100644 --- a/package/libgpiod/libgpiod.mk +++ b/package/libgpiod/libgpiod.mk @@ -6,7 +6,7 @@ # Be careful when bumping versions. # Dependency on kernel header versions may change. -LIBGPIOD_VERSION = 1.6.2 +LIBGPIOD_VERSION = 1.6.3 LIBGPIOD_SOURCE = libgpiod-$(LIBGPIOD_VERSION).tar.xz LIBGPIOD_SITE = https://www.kernel.org/pub/software/libs/libgpiod LIBGPIOD_LICENSE = LGPL-2.1+ diff --git a/package/libgsasl/libgsasl.mk b/package/libgsasl/libgsasl.mk index e813a354a1c..b1981dea3bc 100644 --- a/package/libgsasl/libgsasl.mk +++ b/package/libgsasl/libgsasl.mk @@ -11,10 +11,10 @@ LIBGSASL_LICENSE_FILES = README COPYING.LIB COPYING LIBGSASL_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) -LIBGSASL_CONF_OPTS = --with-libgcrypt-prefix=$(STAGING_DIR)/usr +LIBGSASL_CONF_OPTS += --with-libgcrypt-prefix=$(STAGING_DIR)/usr LIBGSASL_DEPENDENCIES += libgcrypt else -LIBGSASL_CONF_OPTS = --without-libgcrypt +LIBGSASL_CONF_OPTS += --without-libgcrypt endif ifeq ($(BR2_PACKAGE_LIBIDN),y) diff --git a/package/libgta/Config.in b/package/libgta/Config.in index 894dced0965..f66d83c90ee 100644 --- a/package/libgta/Config.in +++ b/package/libgta/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_LIBGTA Libgta is a portable library that implements the Generic Tagged Array (GTA) file format. - http://gta.nongnu.org + https://marlam.de/gta diff --git a/package/libgta/libgta.hash b/package/libgta/libgta.hash index d5fceb4205b..49ac51d3a17 100644 --- a/package/libgta/libgta.hash +++ b/package/libgta/libgta.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1d2ff713955eee28310de082a8fd8e236403c27dee3716ba1238c56e6643e4fb libgta-1.0.8.tar.xz -sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING +sha256 d445667e145f755f0bc34ac89b63a6bfdce1eea943f87ee7a3f23dc0dcede8b1 libgta-1.2.1.tar.xz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/libgta/libgta.mk b/package/libgta/libgta.mk index 1189feeff96..9b19f42dc7f 100644 --- a/package/libgta/libgta.mk +++ b/package/libgta/libgta.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGTA_VERSION = 1.0.8 -LIBGTA_SITE = http://download.savannah.nongnu.org/releases/gta +LIBGTA_VERSION = 1.2.1 +LIBGTA_SITE = https://marlam.de/gta/releases LIBGTA_SOURCE = libgta-$(LIBGTA_VERSION).tar.xz LIBGTA_INSTALL_STAGING = YES LIBGTA_DEPENDENCIES = host-pkgconf bzip2 xz zlib diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in index 7c5762a5853..c75c37fb637 100644 --- a/package/libgtk2/Config.in +++ b/package/libgtk2/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_LIBGTK2 depends on BR2_USE_MMU # glib2 depends on BR2_INSTALL_LIBSTDCPP # pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz select BR2_PACKAGE_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS @@ -34,10 +34,10 @@ config BR2_PACKAGE_LIBGTK2_DEMO endif -comment "libgtk2 needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "libgtk2 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_XORG7 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index bcdf3e5d8c1..d30e1d9d431 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -11,6 +11,8 @@ LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJ LIBGTK2_INSTALL_STAGING = YES LIBGTK2_LICENSE = LGPL-2.0+ LIBGTK2_LICENSE_FILES = COPYING +LIBGTK2_CPE_ID_VENDOR = gnome +LIBGTK2_CPE_ID_PRODUCT = gtk # For 0001-reduce-dependencies.patch LIBGTK2_AUTORECONF = YES diff --git a/package/libgtk3/0001-no-gtk-doc.patch b/package/libgtk3/0001-no-gtk-doc.patch index db15c6cba77..e1d32080220 100644 --- a/package/libgtk3/0001-no-gtk-doc.patch +++ b/package/libgtk3/0001-no-gtk-doc.patch @@ -14,7 +14,7 @@ Signed-off-by: Hadrien Boutteville --- a/gtk-doc.make +++ b/gtk-doc.make -@@ -299,7 +299,7 @@ +@@ -300,7 +300,7 @@ # # Require gtk-doc when making dist # diff --git a/package/libgtk3/0002-fix-introspection-check.patch b/package/libgtk3/0002-fix-introspection-check.patch index 90f5facbb05..b12e1a4fca2 100644 --- a/package/libgtk3/0002-fix-introspection-check.patch +++ b/package/libgtk3/0002-fix-introspection-check.patch @@ -14,7 +14,7 @@ Signed-off-by: Hadrien Boutteville --- a/configure.ac +++ b/configure.ac -@@ -1685,7 +1685,10 @@ +@@ -1679,7 +1679,10 @@ # GObject introspection ################################################## diff --git a/package/libgtk3/0003-disable-atk-bridge.patch b/package/libgtk3/0003-disable-atk-bridge.patch index 42de83b5bbe..09ede966137 100644 --- a/package/libgtk3/0003-disable-atk-bridge.patch +++ b/package/libgtk3/0003-disable-atk-bridge.patch @@ -7,7 +7,7 @@ Signed-off-by: Hadrien Boutteville --- a/configure.ac +++ b/configure.ac -@@ -1364,11 +1364,7 @@ +@@ -1375,11 +1375,7 @@ # Check for Accessibility Toolkit flags ######################################## diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in index 093aacac515..bc8cacd9f5e 100644 --- a/package/libgtk3/Config.in +++ b/package/libgtk3/Config.in @@ -1,9 +1,9 @@ -comment "libgtk3 needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "libgtk3 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_TOOLCHAIN_HAS_THREADS comment "libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend" @@ -20,7 +20,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_USE_MMU # glib2 depends on BR2_INSTALL_LIBSTDCPP # pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK diff --git a/package/libgtk3/libgtk3.hash b/package/libgtk3/libgtk3.hash index 22cf16dad72..23ce1f42bb6 100644 --- a/package/libgtk3/libgtk3.hash +++ b/package/libgtk3/libgtk3.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.24.sha256sum -sha256 cc9d4367c55b724832f6b09ab85481738ea456871f0381768a6a99335a98378a gtk+-3.24.24.tar.xz +# From https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.33.sha256sum +sha256 588b06522e25d1579e989b6f9d8a1bdbf2fe13cde01a04e904ff346a225e7801 gtk+-3.24.33.tar.xz # Hash for license file: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index f7345cf2e9e..cd0a75eb233 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -5,11 +5,13 @@ ################################################################################ LIBGTK3_VERSION_MAJOR = 3.24 -LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).24 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).33 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_LICENSE = LGPL-2.0+ LIBGTK3_LICENSE_FILES = COPYING +LIBGTK3_CPE_ID_VENDOR = gnome +LIBGTK3_CPE_ID_PRODUCT = gtk LIBGTK3_INSTALL_STAGING = YES LIBGTK3_AUTORECONF = YES diff --git a/package/libgudev/libgudev.hash b/package/libgudev/libgudev.hash index bee394601eb..1040ffb0c07 100644 --- a/package/libgudev/libgudev.hash +++ b/package/libgudev/libgudev.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/libgudev/233/libgudev-233.sha256sum -sha256 587c4970eb23f4e2deee2cb1fb7838c94a78c578f41ce12cac0a3f4a80dabb03 libgudev-233.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/libgudev/236/libgudev-236.sha256sum +sha256 e50369d06d594bae615eb7aeb787de304ebaad07a26d1043cef8e9c7ab7c9524 libgudev-236.tar.xz # Hash for license file: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libgudev/libgudev.mk b/package/libgudev/libgudev.mk index 63d592f9ac7..eabd446d7bc 100644 --- a/package/libgudev/libgudev.mk +++ b/package/libgudev/libgudev.mk @@ -4,13 +4,20 @@ # ################################################################################ -LIBGUDEV_VERSION = 233 +LIBGUDEV_VERSION = 236 LIBGUDEV_SOURCE = libgudev-$(LIBGUDEV_VERSION).tar.xz LIBGUDEV_SITE = http://ftp.gnome.org/pub/GNOME/sources/libgudev/$(LIBGUDEV_VERSION) LIBGUDEV_INSTALL_STAGING = YES LIBGUDEV_DEPENDENCIES = host-pkgconf udev libglib2 LIBGUDEV_LICENSE = LGPL-2.1+ LIBGUDEV_LICENSE_FILES = COPYING -LIBGUDEV_CONF_OPTS = --disable-umockdev +LIBGUDEV_CONF_OPTS = -Dtests=disabled -Dvapi=disabled -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBGUDEV_CONF_OPTS += -Dintrospection=enabled +LIBGUDEV_DEPENDENCIES += gobject-introspection +else +LIBGUDEV_CONF_OPTS += -Dintrospection=disabled +endif + +$(eval $(meson-package)) diff --git a/package/libhdhomerun/libhdhomerun.hash b/package/libhdhomerun/libhdhomerun.hash index d5ff494adb2..66edd6a0d34 100644 --- a/package/libhdhomerun/libhdhomerun.hash +++ b/package/libhdhomerun/libhdhomerun.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cbaeb779c5a4e07db45310ef4271872bcb7c472402ebc3c58e224653c09400ed libhdhomerun_20200907.tgz +sha256 deaf463bbcc3eefa72f97199efb6213f7b0e2c8e91f1b3d2cbf52056a8715d15 libhdhomerun_20210624.tgz sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/libhdhomerun/libhdhomerun.mk b/package/libhdhomerun/libhdhomerun.mk index 42d4de261f8..4bc584e6227 100644 --- a/package/libhdhomerun/libhdhomerun.mk +++ b/package/libhdhomerun/libhdhomerun.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHDHOMERUN_VERSION = 20200907 +LIBHDHOMERUN_VERSION = 20210624 LIBHDHOMERUN_SOURCE = libhdhomerun_$(LIBHDHOMERUN_VERSION).tgz LIBHDHOMERUN_SITE = http://download.silicondust.com/hdhomerun LIBHDHOMERUN_LICENSE = LGPL-2.1+ diff --git a/package/libhtp/libhtp.hash b/package/libhtp/libhtp.hash index 805cd4f1f35..8759823e161 100644 --- a/package/libhtp/libhtp.hash +++ b/package/libhtp/libhtp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0f8296ce9db815bbedc1c8a0b738dd25146fdaf910995a8c5f8e147799902b7e libhtp-0.5.37.tar.gz +sha256 0afaff837c295c868db8c967b87b1b5e21c0386c15c3b5ead474799724c54ef8 libhtp-0.5.40.tar.gz sha256 87c93904e5434c81622ea690c2b90097b9f162aaa92a96542649a157dbf98d15 LICENSE diff --git a/package/libhtp/libhtp.mk b/package/libhtp/libhtp.mk index 75203460316..bb8aa73b424 100644 --- a/package/libhtp/libhtp.mk +++ b/package/libhtp/libhtp.mk @@ -4,10 +4,11 @@ # ################################################################################ -LIBHTP_VERSION = 0.5.37 +LIBHTP_VERSION = 0.5.40 LIBHTP_SITE = $(call github,OISF,libhtp,$(LIBHTP_VERSION)) LIBHTP_LICENSE = BSD-3-Clause LIBHTP_LICENSE_FILES = LICENSE +LIBHTP_CPE_ID_VENDOR = oisf LIBHTP_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ zlib diff --git a/package/libhttpserver/0001-Compatibility-with-libmicrohttpd-0.9.71.patch b/package/libhttpserver/0001-Compatibility-with-libmicrohttpd-0.9.71.patch deleted file mode 100644 index f982ee7a82b..00000000000 --- a/package/libhttpserver/0001-Compatibility-with-libmicrohttpd-0.9.71.patch +++ /dev/null @@ -1,240 +0,0 @@ -From cfcd8a8f73aa337e8f45d287a79cd9b8e5c51dcd Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 5 Jul 2020 11:42:23 +0200 -Subject: [PATCH] Compatibility with libmicrohttpd 0.9.71 - -From the libmicrohttpd 0.9.71 release notes: - -Furthermore, the release introduces an 'enum MHD_Result' instead of -defines for MHD_YES/MHD_NO. This is intended to make it easier to check -for certain API misuse bugs by providing better types (not everything is -an 'int'). While this does NOT change the binary API, this change -_will_ cause compiler warnings for all legacy code -- until 'int' is -replaced with 'enum MHD_Result' - -Patch sent upstream: https://github.com/etr/libhttpserver/pull/199 - -Signed-off-by: Bernd Kuhls ---- - src/http_request.cpp | 6 +++--- - src/httpserver/http_request.hpp | 6 +++--- - src/httpserver/http_utils.hpp | 4 ++++ - src/httpserver/webserver.hpp | 14 +++++++------- - src/webserver.cpp | 22 +++++++++++++--------- - 5 files changed, 30 insertions(+), 22 deletions(-) - -diff --git a/src/http_request.cpp b/src/http_request.cpp -index 5703663..be342c7 100644 ---- a/src/http_request.cpp -+++ b/src/http_request.cpp -@@ -88,7 +88,7 @@ const std::string http_request::get_connection_value(const std::string& key, enu - return header_c; - } - --int http_request::build_request_header( -+MHD_Result http_request::build_request_header( - void *cls, - enum MHD_ValueKind kind, - const char *key, -@@ -189,7 +189,7 @@ const std::string http_request::get_querystring() const - return querystring; - } - --int http_request::build_request_args( -+MHD_Result http_request::build_request_args( - void *cls, - enum MHD_ValueKind kind, - const char *key, -@@ -204,7 +204,7 @@ int http_request::build_request_args( - return MHD_YES; - } - --int http_request::build_request_querystring( -+MHD_Result http_request::build_request_querystring( - void *cls, - enum MHD_ValueKind kind, - const char *key, -diff --git a/src/httpserver/http_request.hpp b/src/httpserver/http_request.hpp -index 139272b..62e5275 100644 ---- a/src/httpserver/http_request.hpp -+++ b/src/httpserver/http_request.hpp -@@ -247,15 +247,15 @@ class http_request - - unescaper_ptr unescaper = 0x0; - -- static int build_request_header(void *cls, enum MHD_ValueKind kind, -+ static MHD_Result build_request_header(void *cls, enum MHD_ValueKind kind, - const char *key, const char *value - ); - -- static int build_request_args(void *cls, enum MHD_ValueKind kind, -+ static MHD_Result build_request_args(void *cls, enum MHD_ValueKind kind, - const char *key, const char *value - ); - -- static int build_request_querystring(void *cls, enum MHD_ValueKind kind, -+ static MHD_Result build_request_querystring(void *cls, enum MHD_ValueKind kind, - const char *key, const char *value - ); - -diff --git a/src/httpserver/http_utils.hpp b/src/httpserver/http_utils.hpp -index 9ad89b4..a812197 100644 ---- a/src/httpserver/http_utils.hpp -+++ b/src/httpserver/http_utils.hpp -@@ -53,6 +53,10 @@ - - #define DEFAULT_MASK_VALUE 0xFFFF - -+#if MHD_VERSION < 0x00097002 -+typedef int MHD_Result; -+#endif -+ - namespace httpserver { - - typedef void(*unescaper_ptr)(std::string&); -diff --git a/src/httpserver/webserver.hpp b/src/httpserver/webserver.hpp -index 1ff472b..661b6ee 100644 ---- a/src/httpserver/webserver.hpp -+++ b/src/httpserver/webserver.hpp -@@ -195,14 +195,14 @@ class webserver - enum MHD_RequestTerminationCode toe - ); - -- static int answer_to_connection -+ static MHD_Result answer_to_connection - ( - void* cls, MHD_Connection* connection, - const char* url, const char* method, - const char* version, const char* upload_data, - size_t* upload_data_size, void** con_cls - ); -- static int post_iterator -+ static MHD_Result post_iterator - ( - void *cls, - enum MHD_ValueKind kind, -@@ -219,25 +219,25 @@ class webserver - void **con_cls, int upgrade_socket - ); - -- int requests_answer_first_step(MHD_Connection* connection, -+ MHD_Result requests_answer_first_step(MHD_Connection* connection, - struct details::modded_request* mr - ); - -- int requests_answer_second_step(MHD_Connection* connection, -+ MHD_Result requests_answer_second_step(MHD_Connection* connection, - const char* method, const char* version, const char* upload_data, - size_t* upload_data_size, struct details::modded_request* mr - ); - -- int finalize_answer(MHD_Connection* connection, -+ MHD_Result finalize_answer(MHD_Connection* connection, - struct details::modded_request* mr, const char* method - ); - -- int complete_request(MHD_Connection* connection, -+ MHD_Result complete_request(MHD_Connection* connection, - struct details::modded_request* mr, - const char* version, const char* method - ); - -- friend int policy_callback (void *cls, -+ friend MHD_Result policy_callback (void *cls, - const struct sockaddr* addr, socklen_t addrlen - ); - friend void error_log(void* cls, const char* fmt, va_list ap); -diff --git a/src/webserver.cpp b/src/webserver.cpp -index a3104e9..3340eb0 100644 ---- a/src/webserver.cpp -+++ b/src/webserver.cpp -@@ -75,6 +75,10 @@ - #define SOCK_CLOEXEC 02000000 - #endif - -+#if MHD_VERSION < 0x00097002 -+typedef int MHD_Result; -+#endif -+ - using namespace std; - - namespace httpserver -@@ -82,7 +86,7 @@ namespace httpserver - - using namespace http; - --int policy_callback (void *, const struct sockaddr*, socklen_t); -+MHD_Result policy_callback (void *, const struct sockaddr*, socklen_t); - void error_log(void*, const char*, va_list); - void* uri_log(void*, const char*); - void access_log(webserver*, string); -@@ -421,7 +425,7 @@ void webserver::disallow_ip(const string& ip) - allowances.erase(ip); - } - --int policy_callback (void *cls, const struct sockaddr* addr, socklen_t addrlen) -+MHD_Result policy_callback (void *cls, const struct sockaddr* addr, socklen_t addrlen) - { - if(!(static_cast(cls))->ban_system_enabled) return MHD_YES; - -@@ -468,7 +472,7 @@ size_t unescaper_func(void * cls, struct MHD_Connection *c, char *s) - return std::string(s).size(); - } - --int webserver::post_iterator (void *cls, enum MHD_ValueKind kind, -+MHD_Result webserver::post_iterator (void *cls, enum MHD_ValueKind kind, - const char *key, - const char *filename, - const char *content_type, -@@ -522,7 +526,7 @@ const std::shared_ptr webserver::internal_error_page(details::mod - } - } - --int webserver::requests_answer_first_step( -+MHD_Result webserver::requests_answer_first_step( - MHD_Connection* connection, - struct details::modded_request* mr - ) -@@ -574,7 +578,7 @@ int webserver::requests_answer_first_step( - return MHD_YES; - } - --int webserver::requests_answer_second_step( -+MHD_Result webserver::requests_answer_second_step( - MHD_Connection* connection, const char* method, - const char* version, const char* upload_data, - size_t* upload_data_size, struct details::modded_request* mr -@@ -597,7 +601,7 @@ int webserver::requests_answer_second_step( - return MHD_YES; - } - --int webserver::finalize_answer( -+MHD_Result webserver::finalize_answer( - MHD_Connection* connection, - struct details::modded_request* mr, - const char* method -@@ -731,10 +735,10 @@ int webserver::finalize_answer( - mr->dhrs->decorate_response(raw_response); - to_ret = mr->dhrs->enqueue_response(connection, raw_response); - MHD_destroy_response(raw_response); -- return to_ret; -+ return (MHD_Result) to_ret; - } - --int webserver::complete_request( -+MHD_Result webserver::complete_request( - MHD_Connection* connection, - struct details::modded_request* mr, - const char* version, -@@ -750,7 +754,7 @@ int webserver::complete_request( - return finalize_answer(connection, mr, method); - } - --int webserver::answer_to_connection(void* cls, MHD_Connection* connection, -+MHD_Result webserver::answer_to_connection(void* cls, MHD_Connection* connection, - const char* url, const char* method, - const char* version, const char* upload_data, - size_t* upload_data_size, void** con_cls --- -2.26.2 - diff --git a/package/libhttpserver/libhttpserver.hash b/package/libhttpserver/libhttpserver.hash index 038e9f6b778..19ad63bde2f 100644 --- a/package/libhttpserver/libhttpserver.hash +++ b/package/libhttpserver/libhttpserver.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c830cb40b448a44cfc9000713aefff15d4ab1f6ebd6b47280a3cb64cb020f326 libhttpserver-0.18.1.tar.gz +sha256 1dfe548ac2add77fcb6c05bd00222c55650ffd02b209f4e3f133a6e3eb29c89d libhttpserver-0.18.2.tar.gz sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LESSER diff --git a/package/libhttpserver/libhttpserver.mk b/package/libhttpserver/libhttpserver.mk index 37943bc4979..bd3ecbd4168 100644 --- a/package/libhttpserver/libhttpserver.mk +++ b/package/libhttpserver/libhttpserver.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTTPSERVER_VERSION = 0.18.1 +LIBHTTPSERVER_VERSION = 0.18.2 LIBHTTPSERVER_SITE = $(call github,etr,libhttpserver,$(LIBHTTPSERVER_VERSION)) LIBHTTPSERVER_LICENSE = LGPL-2.1+ LIBHTTPSERVER_LICENSE_FILES = COPYING.LESSER diff --git a/package/libical/libical.mk b/package/libical/libical.mk index f9a266026e8..afbbfd98c8b 100644 --- a/package/libical/libical.mk +++ b/package/libical/libical.mk @@ -9,6 +9,7 @@ LIBICAL_SITE = https://github.com/libical/libical/releases/download/v$(LIBICAL_V LIBICAL_INSTALL_STAGING = YES LIBICAL_LICENSE = MPL-1.0 or LGPL-2.1 LIBICAL_LICENSE_FILES = LICENSE +LIBICAL_CPE_ID_VENDOR = libical_project # 0002-icaltypes-c-icalreqstattype_from_string-copy-the-reqstattype.patch LIBICAL_IGNORE_CVES += CVE-2016-9584 diff --git a/package/libiconv/libiconv.mk b/package/libiconv/libiconv.mk index ec79a5d7358..40763a92f8b 100644 --- a/package/libiconv/libiconv.mk +++ b/package/libiconv/libiconv.mk @@ -11,7 +11,7 @@ LIBICONV_LICENSE = GPL-3.0+ (iconv program), LGPL-2.0+ (library) LIBICONV_LICENSE_FILES = COPYING COPYING.LIB ifeq ($(BR2_PACKAGE_LIBICONV_EXTRA_ENCODINGS),y) -LIBICONV_CONF_OPTS = --enable-extra-encodings +LIBICONV_CONF_OPTS += --enable-extra-encodings endif # Don't build the preloadable library, as we don't need it (it's only diff --git a/package/libidn/libidn.hash b/package/libidn/libidn.hash index 0255a639505..c6cd668bbcb 100644 --- a/package/libidn/libidn.hash +++ b/package/libidn/libidn.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 14b67108344d81ba844631640df77c9071d9fb0659b080326ff5424e86b14038 libidn-1.36.tar.gz +sha256 de00b840f757cd3bb14dd9a20d5936473235ddcba06d4bc2da804654b8bbf0f6 libidn-1.38.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/package/libidn/libidn.mk b/package/libidn/libidn.mk index 2df34370297..4a400d195db 100644 --- a/package/libidn/libidn.mk +++ b/package/libidn/libidn.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIDN_VERSION = 1.36 +LIBIDN_VERSION = 1.38 LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN_INSTALL_STAGING = YES LIBIDN_CONF_ENV = EMACS="no" MAKEINFO=true @@ -12,6 +12,7 @@ LIBIDN_CONF_OPTS = --disable-java --enable-csharp=no LIBIDN_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) $(if $(BR2_PACKAGE_LIBICONV),libiconv) LIBIDN_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-3.0+ LIBIDN_LICENSE_FILES = COPYINGv2 COPYINGv3 COPYING.LESSERv3 +LIBIDN_CPE_ID_VENDOR = gnu define LIBIDN_REMOVE_BINARY rm -f $(TARGET_DIR)/usr/bin/idn diff --git a/package/libidn2/libidn2.hash b/package/libidn2/libidn2.hash index 2d2fcdfd153..bc96d7e15a7 100644 --- a/package/libidn2/libidn2.hash +++ b/package/libidn2/libidn2.hash @@ -1,8 +1,8 @@ # Calculated locally after checking signature -sha256 e1cb1db3d2e249a6a3eb6f0946777c2e892d5c5dc7bd91c74394fc3a01cab8b5 libidn2-2.3.0.tar.gz +sha256 76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91 libidn2-2.3.2.tar.gz # Hash for license files: -sha256 73483f797a83373fca1b968c11785b98c4fc4803cdc7d3210811ca8b075d6d76 COPYING -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3 -sha256 01d621eef165cf4d3d3dbb737aa0699178d94c6f18cf87e9dde6db3ca7790f46 COPYING.unicode +sha256 73483f797a83373fca1b968c11785b98c4fc4803cdc7d3210811ca8b075d6d76 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3 +sha256 01d621eef165cf4d3d3dbb737aa0699178d94c6f18cf87e9dde6db3ca7790f46 COPYING.unicode diff --git a/package/libidn2/libidn2.mk b/package/libidn2/libidn2.mk index 3f87b9bb8c7..19fbe4aafda 100644 --- a/package/libidn2/libidn2.mk +++ b/package/libidn2/libidn2.mk @@ -4,10 +4,11 @@ # ################################################################################ -LIBIDN2_VERSION = 2.3.0 +LIBIDN2_VERSION = 2.3.2 LIBIDN2_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN2_LICENSE = GPL-2.0+ or LGPL-3.0+ (library) LIBIDN2_LICENSE_FILES = COPYING COPYINGv2 COPYING.LESSERv3 COPYING.unicode +LIBIDN2_CPE_ID_VENDOR = gnu LIBIDN2_DEPENDENCIES = \ host-pkgconf \ $(TARGET_NLS_DEPENDENCIES) \ diff --git a/package/libiec61850/0001-use-poll.h-instead-of-sys-poll.h.patch b/package/libiec61850/0001-use-poll.h-instead-of-sys-poll.h.patch deleted file mode 100644 index a04473d2184..00000000000 --- a/package/libiec61850/0001-use-poll.h-instead-of-sys-poll.h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4cad505fc98240eb66eaabfae61a9694f8158dda Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 7 Apr 2020 20:58:37 +0200 -Subject: [PATCH] use instead of - -The manpage of poll(2) states that the prototype of poll is defined -in . Use that header file instead of to allow -compilation against musl-libc. - -Upstream status: Pending -https://github.com/mz-automation/libiec61850/pull/228 - -Signed-off-by: Romain Naour ---- - hal/ethernet/linux/ethernet_linux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hal/ethernet/linux/ethernet_linux.c b/hal/ethernet/linux/ethernet_linux.c -index c3ab2e2..9aa5c28 100644 ---- a/hal/ethernet/linux/ethernet_linux.c -+++ b/hal/ethernet/linux/ethernet_linux.c -@@ -23,7 +23,7 @@ - - #include - #include --#include -+#include - #include - #include - #include --- -2.21.1 - diff --git a/package/libiec61850/0002-serial_port_linux-Add-missing-include-sys-time.h.patch b/package/libiec61850/0002-serial_port_linux-Add-missing-include-sys-time.h.patch deleted file mode 100644 index e1b8ca15b30..00000000000 --- a/package/libiec61850/0002-serial_port_linux-Add-missing-include-sys-time.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 661405eb6066b67dfe51d5ff9635e29f86bdd238 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 7 Apr 2020 21:02:54 +0200 -Subject: [PATCH] serial_port_linux: Add missing include sys/time.h - -POSIX says `struct timeval` is defined if is included. - -Adding this header allow to build against musl-libc. - -Upstream status: Pending -https://github.com/mz-automation/libiec61850/pull/228 - -Signed-off-by: Romain Naour ---- - hal/serial/linux/serial_port_linux.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hal/serial/linux/serial_port_linux.c b/hal/serial/linux/serial_port_linux.c -index e6308c0..15e5794 100644 ---- a/hal/serial/linux/serial_port_linux.c -+++ b/hal/serial/linux/serial_port_linux.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - #include "hal_serial.h" - #include "hal_time.h" --- -2.21.1 - diff --git a/package/libiec61850/0003-COTP-fixed-possible-heap-buffer-overflow-when-handling-message.patch b/package/libiec61850/0003-COTP-fixed-possible-heap-buffer-overflow-when-handling-message.patch deleted file mode 100644 index 88048555b71..00000000000 --- a/package/libiec61850/0003-COTP-fixed-possible-heap-buffer-overflow-when-handling-message.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 033ab5b6488250c8c3b838f25a7cbc3e099230bb Mon Sep 17 00:00:00 2001 -From: Michael Zillgith -Date: Wed, 12 Aug 2020 07:25:37 +0200 -Subject: [PATCH] - COTP: fixed possible heap buffer overflow when handling - message with invalid (zero) value in length field (#250) - -[Retrieved from: -https://github.com/mz-automation/libiec61850/commit/033ab5b6488250c8c3b838f25a7cbc3e099230bb] -Signed-off-by: Fabrice Fontaine ---- - src/mms/iso_cotp/cotp.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/mms/iso_cotp/cotp.c b/src/mms/iso_cotp/cotp.c -index cbb34b36..8c37d262 100644 ---- a/src/mms/iso_cotp/cotp.c -+++ b/src/mms/iso_cotp/cotp.c -@@ -720,6 +720,9 @@ CotpConnection_readToTpktBuffer(CotpConnection* self) - goto exit_waiting; - } - -+ if (self->packetSize <= bufPos) -+ goto exit_error; -+ - readBytes = readFromSocket(self, buffer + bufPos, self->packetSize - bufPos); - - if (readBytes < 0) diff --git a/package/libiec61850/libiec61850.hash b/package/libiec61850/libiec61850.hash index 5739a5d8c9c..a416ecdb4dd 100644 --- a/package/libiec61850/libiec61850.hash +++ b/package/libiec61850/libiec61850.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d0630cd5b7ac67a2d286b0ad574ff1c9074c96be33b9d5a300cd69e89429abbe libiec61850-1.4.2.1.tar.gz +sha256 b6d7ffac831e7d9aec3470e45e2f1734071859c95cab4cfe99ffd1091776b3cc libiec61850-1.5.1.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libiec61850/libiec61850.mk b/package/libiec61850/libiec61850.mk index 4f82451eb88..9bd55cb76a9 100644 --- a/package/libiec61850/libiec61850.mk +++ b/package/libiec61850/libiec61850.mk @@ -4,15 +4,12 @@ # ################################################################################ -LIBIEC61850_VERSION = 1.4.2.1 -LIBIEC61850_SITE = $(call github,mz-automation,libiec61850,v$(LIBIEC61850_VERSION)) +LIBIEC61850_VERSION = 1.5.1 +LIBIEC61850_SITE = https://libiec61850.com/wp-content/uploads/2022/03 LIBIEC61850_INSTALL_STAGING = YES LIBIEC61850_LICENSE = GPL-3.0+ LIBIEC61850_LICENSE_FILES = COPYING LIBIEC61850_CPE_ID_VENDOR = mz-automation LIBIEC61850_CONF_OPTS = -DBUILD_PYTHON_BINDINGS=OFF -# 0003-COTP-fixed-possible-heap-buffer-overflow-when-handling-message.patch -LIBIEC61850_IGNORE_CVES += CVE-2020-15158 - $(eval $(cmake-package)) diff --git a/package/libiio/0001-C-public-fields-with-getters-setters-cannot-be-marked-readonly.patch b/package/libiio/0001-C-public-fields-with-getters-setters-cannot-be-marked-readonly.patch new file mode 100644 index 00000000000..a665d483632 --- /dev/null +++ b/package/libiio/0001-C-public-fields-with-getters-setters-cannot-be-marked-readonly.patch @@ -0,0 +1,32 @@ +From 85bf9cd32138539252ed01c355cf766612cf47c9 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil +Date: Thu, 2 Sep 2021 11:04:21 +0100 +Subject: [PATCH] C#: public fields with getters/setters cannot be marked + readonly + +MSVC would fail with the following error: +error CS0106: The modifier 'readonly' is not valid for this item + +Reported-by: Raluca Chis +Signed-off-by: Paul Cercueil + +[Retrieved from: +https://github.com/analogdevicesinc/libiio/commit/85bf9cd32138539252ed01c355cf766612cf47c9] +Signed-off-by: Fabrice Fontaine +--- + bindings/csharp/Device.cs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bindings/csharp/Device.cs b/bindings/csharp/Device.cs +index 96214243f..6c8c8f4f3 100644 +--- a/bindings/csharp/Device.cs ++++ b/bindings/csharp/Device.cs +@@ -208,7 +208,7 @@ public override void write(string str) + public readonly string name; + + ///

    The label of this device. +- public readonly string label { get; private set; } ++ public string label { get; private set; } + + /// A list of all the attributes that this device has. + public readonly List attrs; diff --git a/package/libiio/Config.in b/package/libiio/Config.in index a7fd1ba569e..9ddf44fdc1b 100644 --- a/package/libiio/Config.in +++ b/package/libiio/Config.in @@ -104,7 +104,7 @@ config BR2_PACKAGE_LIBIIO_BINDINGS_CSHARP config BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON bool "Install Python bindings" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 help Install the Python bindings. diff --git a/package/libiio/libiio.hash b/package/libiio/libiio.hash index 51678a3eec6..6410b1a7974 100644 --- a/package/libiio/libiio.hash +++ b/package/libiio/libiio.hash @@ -1,20 +1,3 @@ -# From https://github.com/analogdevicesinc/libiio/archive/v0.7/ -sha256 c2b02f1cb51870db52368fdaa8087dc2a4ec43f2bc3c3514d8214952f14c3f39 libiio-0.7.tar.gz -sha256 b9e4fd97fbbb1cfdf48362aa156ab2e61b41b368467c952698aaf6999d5560b9 libiio-0.7.164de86.tar.gz -sha256 08abe0ee09629c874d5c98daf0c0dab5cf7cd66f373a77eecfa992eddc877036 libiio-0.8.tar.gz -sha256 b6184876d192fbfd51e3a0a29736fa1be2dbaf07370cf861797076f40a85f823 libiio-0.9.tar.gz -sha256 002d57f35715821efae66479859bc5357b4d8d33bfff1446b4e17b02ae2c10d2 libiio-0.10.tar.gz -sha256 0174111b028d84f18fb3716b22834a372a1f2575938f87e20e5cbd76747d0fdb libiio-0.11.tar.gz -sha256 36e164fc00535762c819db209928ee2704fc81657d41060ea47873bccfd5c4bc libiio-0.12.tar.gz -sha256 12063db7a9366aa00bfd789db30afaddb29686bc29b3ce1e5d4adfe1c3b42527 libiio-0.14.tar.gz -sha256 a729f8ff48137ad271a3e2951f322b35c1bf2ec075b488d75c8bd071c693fd19 libiio-0.15.tar.gz -sha256 5eb3ec24342eb01c49235a1d8a053462f930835a3002e687371b680a9bb150f6 libiio-0.16.tar.gz -sha256 f591693b8759b6f159ab7afcc1325854a883a486adaf8a849acbdfe0def9db56 libiio-0.17.tar.gz -sha256 bc2c5299974b65cfe9aa4a06d8c74d7651594e026bce416db48a2c5aa7ba2554 libiio-0.18.tar.gz -sha256 81c414d5c47b715d9bc9275b9fabbfd9e9483e60c035f3001b5977932049595d libiio-0.19.tar.gz -sha256 03d13165cbeb83b036743cbd9a10e336c728da162714f39d13250a3d94305cac libiio-0.21.tar.gz -sha256 742adfae2c6f7f443772bf08729693855c1799d1ff6cb86d707045c81d014dbf libiio-fb64aca8adcaa607b482091b23b8edf10e5c1ad8.tar.gz -sha256 df1577740ea93dca732e7d7c04786600cb083117901dee793f3d38980754af00 libiio-0.23.tar.gz -sha256 359df9cbb200361c6bd13d4ed3400e9ecb9d483f1dc5d7a57797e7b590bc5ac3 libiio-60de6b948a04d4074d2feca46dbb64dca92ae60d-br1.tar.gz -sha256 a2b5d848531ea64fd9f95327dfd5a588bd227d9577281ec375e822702c6a52d5 libiio-0.24.tar.gz - +# Locally calculated +sha256 a2b5d848531ea64fd9f95327dfd5a588bd227d9577281ec375e822702c6a52d5 libiio-0.24.tar.gz +sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk index 4ebc57002dc..6aad43d9069 100644 --- a/package/libiio/libiio.mk +++ b/package/libiio/libiio.mk @@ -20,16 +20,14 @@ LIBIIO_CONF_OPTS = -DENABLE_IPV6=ON \ -DWITH_LOCAL_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_LOCAL_BACKEND),ON,OFF) \ -DWITH_LOCAL_CONFIG=$(if $(BR2_PACKAGE_LIBIIO_LOCAL_CONFIG),ON,OFF) \ -DWITH_NETWORK_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_NETWORK_BACKEND),ON,OFF) \ - -DWITH_MATLAB_BINDINGS_API=OFF \ - -DMATLAB_BINDINGS=OFF \ -DINSTALL_UDEV_RULE=$(if $(BR2_PACKAGE_HAS_UDEV),ON,OFF) \ -DWITH_TESTS=$(if $(BR2_PACKAGE_LIBIIO_TESTS),ON,OFF) \ -DWITH_DOC=OFF - -DLIBIIO_VERSION_GIT=60de6b948 \ - -ifeq ($(BR2_PACKAGE_LIBIIO_LOCAL_BACKEND),y) -LIBIIO_DEPENDENCIES += libini +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBIIO_CONF_OPTS += -DNO_THREADS=OFF +else +LIBIIO_CONF_OPTS += -DNO_THREADS=ON endif ifeq ($(BR2_PACKAGE_LIBIIO_XML_BACKEND),y) @@ -73,18 +71,25 @@ else LIBIIO_CONF_OPTS += -DWITH_IIOD_USBD=OFF endif -# Avahi support in libiio requires avahi-client, which needs avahi-daemon and dbus -ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) +ifeq ($(BR2_PACKAGE_LIBAIO),y) +LIBIIO_DEPENDENCIES += libaio +LIBIIO_CONF_OPTS += -DWITH_AIO=ON +else +LIBIIO_CONF_OPTS += -DWITH_AIO=OFF +endif + +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) LIBIIO_DEPENDENCIES += avahi +LIBIIO_CONF_OPTS += -DHAVE_DNS_SD=ON +else +LIBIIO_CONF_OPTS += -DHAVE_DNS_SD=OFF endif ifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON),y) -ifeq ($(BR2_PACKAGE_PYTHON),y) -LIBIIO_DEPENDENCIES += python -else ifeq ($(BR2_PACKAGE_PYTHON3),y) -LIBIIO_DEPENDENCIES += python3 -endif -LIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=ON +LIBIIO_DEPENDENCIES += host-python-setuptools python3 +LIBIIO_CONF_OPTS += \ + -DPYTHON_BINDINGS=ON \ + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 else LIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=OFF endif diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk index a2a3b211057..d8f214b9e04 100644 --- a/package/libimxvpuapi/libimxvpuapi.mk +++ b/package/libimxvpuapi/libimxvpuapi.mk @@ -8,7 +8,7 @@ LIBIMXVPUAPI_VERSION = 0.10.3 LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION)) LIBIMXVPUAPI_LICENSE = LGPL-2.1+ LIBIMXVPUAPI_LICENSE_FILES = LICENSE -LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu +LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python3 imx-vpu LIBIMXVPUAPI_INSTALL_STAGING = YES LIBIMXVPUAPI_NEEDS_EXTERNAL_WAF = YES diff --git a/package/libinput/libinput.hash b/package/libinput/libinput.hash index f2cea28ee33..d8282ff03b5 100644 --- a/package/libinput/libinput.hash +++ b/package/libinput/libinput.hash @@ -1,6 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041664.html -sha256 65923a06d5a8970e4a999c4668797b9b689614b62b1d44432ab1c87b65e39e29 libinput-1.16.4.tar.xz -sha512 a95a3bcf58a9298946d15f4f2fd93dc5807d3042f8797950a1ffd96d3c979b55a764f035a9f7680d0ea400b033698c322eb61a4387dbc280db6110ffd3e137ee libinput-1.16.4.tar.xz +# Locally computed +sha256 08c003f724f361ed21f4dfbfe755a6c115b85385f1418907bb98f185457273f0 libinput-1.20.1.tar.bz2 # License files -sha256 70d5b1dfe5a9c50a1f2ea91b1c2b1c85d876c5c92339585edbb85cf69e945e14 COPYING +sha256 80de50b2022a840db044c56db804ca3565600a692c0714babface587acc6d1b0 COPYING diff --git a/package/libinput/libinput.mk b/package/libinput/libinput.mk index 3b459d6fb56..a66b0afde5d 100644 --- a/package/libinput/libinput.mk +++ b/package/libinput/libinput.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBINPUT_VERSION = 1.16.4 -LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.xz -LIBINPUT_SITE = http://www.freedesktop.org/software/libinput +LIBINPUT_VERSION = 1.20.1 +LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.bz2 +LIBINPUT_SITE = https://gitlab.freedesktop.org/libinput/libinput/-/archive/$(LIBINPUT_VERSION) LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev LIBINPUT_INSTALL_STAGING = YES LIBINPUT_LICENSE = MIT @@ -17,6 +17,15 @@ LIBINPUT_CONF_OPTS = -Dtests=false -Dlibwacom=false -Ddocumentation=false ifeq ($(BR2_PACKAGE_LIBGTK3),y) LIBINPUT_CONF_OPTS += -Ddebug-gui=true LIBINPUT_DEPENDENCIES += libgtk3 +ifeq ($(BR2_PACKAGE_WAYLAND),y) +LIBINPUT_DEPENDENCIES += wayland +endif +ifeq ($(BR2_PACKAGE_WAYLAND_PROTOCOLS),y) +LIBINPUT_DEPENDENCIES += wayland-protocols +endif +ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) +LIBINPUT_DEPENDENCIES += xlib_libX11 +endif else LIBINPUT_CONF_OPTS += -Ddebug-gui=false endif diff --git a/package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch b/package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch index cfd7d54523e..7f460c131e0 100644 --- a/package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch +++ b/package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch @@ -1,7 +1,7 @@ From 46660112b76664473cc98b8ae6c863fd27c27d2d Mon Sep 17 00:00:00 2001 From: Samuel Martin Date: Fri, 29 Aug 2014 23:40:59 +0200 -Subject: [PATCH 1/1] cmake: handle static library and find required thread +Subject: [PATCH] cmake: handle static library and find required thread module Signed-off-by: Samuel Martin diff --git a/package/libite/libite.hash b/package/libite/libite.hash index 1a553d2bcb2..1dec65bd6b1 100644 --- a/package/libite/libite.hash +++ b/package/libite/libite.hash @@ -1,8 +1,7 @@ -# From https://github.com/troglobit/libite/releases/download/v2.2.0/libite-2.2.0.tar.xz.md5 -md5 8533ab27d0d4a7c745f11925907795a9 libite-2.2.0.tar.xz +# Upstream .sha256 from GitHub +sha256 5278fa0ca933727c78f4e05082cea58256d9302afac30bad0c3760cf2a18ef8f libite-2.5.1.tar.xz # Locally calculated -sha256 3fdeb48ea3d9220f91111ed7a68e1e68edfc70346d0108a49bab73a47a7dd761 libite-2.2.0.tar.xz -sha256 a8a7506c64ce46a58c17838b0f678f8c2567d71869402f97d19460ddec4882f5 LICENSE -sha256 89053891d46d04a21d4a492f68038703e179986baffa458201810f4222b57427 src/chomp.c -sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d src/pidfile.c +sha256 20db0601195f708d68ff7907907b3cd3b25808efa8332e064b11f00c839a5d2f LICENSE +sha256 c2882adb51555b836f35babc59f618d9ddceadcaa2d1dc80bbd4699614d2cd14 src/chomp.c +sha256 bff7fa7b74324f13a24d56ebb8b49bc9c63ea01836a1c8b5a6afcbbabed62918 src/pidfile.c diff --git a/package/libite/libite.mk b/package/libite/libite.mk index 69a90d71873..185ffe77de8 100644 --- a/package/libite/libite.mk +++ b/package/libite/libite.mk @@ -4,11 +4,12 @@ # ################################################################################ -LIBITE_VERSION = 2.2.0 +LIBITE_VERSION = 2.5.1 LIBITE_SOURCE = libite-$(LIBITE_VERSION).tar.xz LIBITE_SITE = https://github.com/troglobit/libite/releases/download/v$(LIBITE_VERSION) LIBITE_LICENSE = MIT, X11, ISC, BSD-2-Clause LIBITE_LICENSE_FILES = LICENSE src/chomp.c src/pidfile.c LIBITE_INSTALL_STAGING = YES +LIBITE_CONF_OPTS = --without-symlink $(eval $(autotools-package)) diff --git a/package/libjpeg/libjpeg.hash b/package/libjpeg/libjpeg.hash index 4f0a677d049..1a2e82caef8 100644 --- a/package/libjpeg/libjpeg.hash +++ b/package/libjpeg/libjpeg.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 99cb50e48a4556bc571dadd27931955ff458aae32f68c4d9c39d624693f69c32 jpegsrc.v9d.tar.gz -sha256 3dc4e4a145c907a96bd6a0e40be3f722fecf061951909143cdff5365cba9c78c README +sha256 4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d jpegsrc.v9e.tar.gz +sha256 50c1c5978d490c7f13062d91c4b89affc83774f87bc4568a714f748b62a5b216 README diff --git a/package/libjpeg/libjpeg.mk b/package/libjpeg/libjpeg.mk index 6b55aba7e53..caf7f05f447 100644 --- a/package/libjpeg/libjpeg.mk +++ b/package/libjpeg/libjpeg.mk @@ -4,12 +4,8 @@ # ################################################################################ -LIBJPEG_VERSION = 9d -# 9d was released 2020-01-12, but the tarball was replaced upstream circa -# 2021-03, causing hash mismatch. Until there is a new version released, -# use our cached copy from s.b.o. -#LIBJPEG_SITE = http://www.ijg.org/files -LIBJPEG_SITE = http://sources.buildroot.org/libjpeg +LIBJPEG_VERSION = 9e +LIBJPEG_SITE = http://www.ijg.org/files LIBJPEG_SOURCE = jpegsrc.v$(LIBJPEG_VERSION).tar.gz LIBJPEG_LICENSE = IJG LIBJPEG_LICENSE_FILES = README diff --git a/package/libjson/libjson.mk b/package/libjson/libjson.mk index d04ddc40f33..73268c9ccfe 100644 --- a/package/libjson/libjson.mk +++ b/package/libjson/libjson.mk @@ -11,7 +11,7 @@ LIBJSON_INSTALL_STAGING = YES LIBJSON_LICENSE = BSD-2-Clause LIBJSON_LICENSE_FILES = License.txt -LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG +LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG -std=c++11 ifeq ($(BR2_STATIC_LIBS),y) LIBJSON_MAKE_OPTS += SHARED=0 diff --git a/package/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch b/package/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch new file mode 100644 index 00000000000..20aa75b741c --- /dev/null +++ b/package/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch @@ -0,0 +1,42 @@ +From 455c4938f5822c017c7ff79dd2dca638b6410923 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 15 Nov 2020 18:05:48 -0800 +Subject: [PATCH] Disable use of __NR_io_getevents when not defined + +Architectures like riscv32 do not define this syscall, therefore return +ENOSYS on such architectures + +Upstream-Status: Pending +Signed-off-by: Khem Raj +Signed-off-by: Stephan Mueller +[Retrieved from: +https://github.com/smuellerDD/libkcapi/commit/455c4938f5822c017c7ff79dd2dca638b6410923] +Signed-off-by: Fabrice Fontaine +--- + lib/internal.h | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/lib/internal.h b/lib/internal.h +index 1237827..f765461 100644 +--- a/lib/internal.h ++++ b/lib/internal.h +@@ -325,10 +325,17 @@ static inline int io_submit(aio_context_t ctx, long n, struct iocb **iocb) + return syscall(__NR_io_submit, ctx, n, iocb); + } + +-static inline int io_getevents(aio_context_t ctx, long min, long max, +- struct io_event *events, struct timespec *timeout) ++static inline int io_getevents(__attribute__((unused)) aio_context_t ctx, ++ __attribute__((unused)) long min, ++ __attribute__((unused)) long max, ++ __attribute__((unused)) struct io_event *events, ++ __attribute__((unused)) struct timespec *timeout) + { ++#ifdef __NR_io_getevents + return syscall(__NR_io_getevents, ctx, min, max, events, timeout); ++#else ++ return -ENOSYS; ++#endif + } + + /************************************************************ diff --git a/package/libkcapi/libkcapi.mk b/package/libkcapi/libkcapi.mk index 60b3f943882..09c5c028bcd 100644 --- a/package/libkcapi/libkcapi.mk +++ b/package/libkcapi/libkcapi.mk @@ -15,6 +15,7 @@ LIBKCAPI_CONF_ENV = \ ac_cv_path_DB2PDF="" \ ac_cv_path_DB2PS="" \ ac_cv_path_XMLTO="" +LIBKCAPI_MAKE_OPTS = CPPFLAGS="$(TARGET_CPPFLAGS)" ifeq ($(BR2_PACKAGE_LIBKCAPI_ENCAPP),y) LIBKCAPI_CONF_OPTS += --enable-kcapi-encapp diff --git a/package/libkrb5/0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch b/package/libkrb5/0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch new file mode 100644 index 00000000000..ec6f6233805 --- /dev/null +++ b/package/libkrb5/0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch @@ -0,0 +1,47 @@ +From d775c95af7606a51bf79547a94fa52ddd1cb7f49 Mon Sep 17 00:00:00 2001 +From: Greg Hudson +Date: Tue, 3 Aug 2021 01:15:27 -0400 +Subject: [PATCH] Fix KDC null deref on TGS inner body null server + +After the KDC decodes a FAST inner body, it does not check for a null +server. Prior to commit 39548a5b17bbda9eeb63625a201cfd19b9de1c5b this +would typically result in an error from krb5_unparse_name(), but with +the addition of get_local_tgt() it results in a null dereference. Add +a null check. + +Reported by Joseph Sutton of Catalyst. + +CVE-2021-37750: + +In MIT krb5 releases 1.14 and later, an authenticated attacker can +cause a null dereference in the KDC by sending a FAST TGS request with +no server field. + +ticket: 9008 (new) +tags: pullup +target_version: 1.19-next +target_version: 1.18-next + +[Retrieved from: +https://github.com/krb5/krb5/commit/d775c95af7606a51bf79547a94fa52ddd1cb7f49] +Signed-off-by: Fabrice Fontaine +--- + src/kdc/do_tgs_req.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/kdc/do_tgs_req.c b/src/kdc/do_tgs_req.c +index 582e497cc9..32dc65fa8e 100644 +--- a/src/kdc/do_tgs_req.c ++++ b/src/kdc/do_tgs_req.c +@@ -204,6 +204,11 @@ process_tgs_req(krb5_kdc_req *request, krb5_data *pkt, + status = "FIND_FAST"; + goto cleanup; + } ++ if (sprinc == NULL) { ++ status = "NULL_SERVER"; ++ errcode = KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN; ++ goto cleanup; ++ } + + errcode = get_local_tgt(kdc_context, &sprinc->realm, header_server, + &local_tgt, &local_tgt_storage, &local_tgt_key); diff --git a/package/libkrb5/Config.in b/package/libkrb5/Config.in index 2e24c872296..3357d4ad04f 100644 --- a/package/libkrb5/Config.in +++ b/package/libkrb5/Config.in @@ -3,6 +3,9 @@ config BR2_PACKAGE_LIBKRB5 # needs fork() depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL help Kerberos is a system for authenticating users and services on a network. Kerberos is a trusted third-party service. diff --git a/package/libkrb5/libkrb5.hash b/package/libkrb5/libkrb5.hash index e5b24a3f70f..860f8287935 100644 --- a/package/libkrb5/libkrb5.hash +++ b/package/libkrb5/libkrb5.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 e61783c292b5efd9afb45c555a80dd267ac67eebabca42185362bee6c4fbd719 krb5-1.18.3.tar.gz +sha256 66085e2f594751e77e82e0dbf7bbc344320fb48a9df2a633cfdd8f7d6da99fc8 krb5-1.18.4.tar.gz # Hash for license file: -sha256 b7a5f14a8719bce5e49a761998aa55438fc890fb40f71228d6a49546f6d5690d NOTICE +sha256 7fba8b076bdc2cfef1d0813c5d4067d76d5be60c32d84de22d5d1cf451744feb NOTICE diff --git a/package/libkrb5/libkrb5.mk b/package/libkrb5/libkrb5.mk index e4f3fa41860..bd751d9c77b 100644 --- a/package/libkrb5/libkrb5.mk +++ b/package/libkrb5/libkrb5.mk @@ -5,7 +5,7 @@ ################################################################################ LIBKRB5_VERSION_MAJOR = 1.18 -LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).3 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).4 LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION_MAJOR) LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz LIBKRB5_SUBDIR = src @@ -16,6 +16,9 @@ LIBKRB5_CPE_ID_PRODUCT = kerberos_5 LIBKRB5_DEPENDENCIES = host-bison $(TARGET_NLS_DEPENDENCIES) LIBKRB5_INSTALL_STAGING = YES +# 0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch +LIBKRB5_IGNORE_CVES += CVE-2021-37750 + # The configure script uses AC_TRY_RUN tests to check for those values, # which doesn't work in a cross-compilation scenario. Therefore, # we feed the configure script with the correct answer for those tests @@ -34,6 +37,11 @@ LIBKRB5_CONF_OPTS = \ --without-tcl \ --disable-rpath +# Enabling static and shared at the same time is not supported +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +LIBKRB5_CONF_OPTS += --disable-static +endif + ifeq ($(BR2_PACKAGE_OPENLDAP),y) LIBKRB5_CONF_OPTS += --with-ldap LIBKRB5_DEPENDENCIES += openldap @@ -41,6 +49,21 @@ else LIBKRB5_CONF_OPTS += --without-ldap endif +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +LIBKRB5_CONF_OPTS += \ + --enable-pkinit \ + --with-crypto-impl=openssl \ + --with-spake-openssl \ + --with-tls-impl=openssl +LIBKRB5_DEPENDENCIES += openssl +else +LIBKRB5_CONF_OPTS += \ + --disable-pkinit \ + --with-crypto-impl=builtin \ + --without-spake-openssl \ + --without-tls-impl +endif + ifeq ($(BR2_PACKAGE_LIBEDIT),y) LIBKRB5_CONF_OPTS += --with-libedit LIBKRB5_DEPENDENCIES += host-pkgconf libedit diff --git a/package/libks/Config.in b/package/libks/Config.in new file mode 100644 index 00000000000..4781d188bf2 --- /dev/null +++ b/package/libks/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_LIBKS + bool "libks" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np() + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + Foundational support for signalwire C products + + https://github.com/signalwire/libks + +comment "libks needs a toolchain w/ C++, NPTL, dynamic library" + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/libks/libks.hash b/package/libks/libks.hash new file mode 100644 index 00000000000..5acbcd1ea6c --- /dev/null +++ b/package/libks/libks.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 73c5751eadad4d3390d61b9765e9b860e0aba7336044ecf8b007dfc1818baa69 libks-1.7.0.tar.gz +sha256 1d1327f37b58a4c9ce520fcf9dd3f348c7c639229ee7aed41c47164a8f7836cd copyright diff --git a/package/libks/libks.mk b/package/libks/libks.mk new file mode 100644 index 00000000000..adf0107b30a --- /dev/null +++ b/package/libks/libks.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# libks +# +################################################################################ + +LIBKS_VERSION = 1.7.0 +LIBKS_SITE = $(call github,signalwire,libks,v$(LIBKS_VERSION)) +LIBKS_LICENSE = MIT +LIBKS_LICENSE_FILES = copyright +LIBKS_INSTALL_STAGING = YES +LIBKS_DEPENDENCIES = openssl util-linux + +$(eval $(cmake-package)) diff --git a/package/libksba/libksba.hash b/package/libksba/libksba.hash index c8c9d6bdd71..422048be5f2 100644 --- a/package/libksba/libksba.hash +++ b/package/libksba/libksba.hash @@ -1,8 +1,8 @@ # Locally calculated after checking pgp signature -sha256 ae4af129216b2d7fdea0b5bf2a788cd458a79c983bb09a43f4d525cc87aba0ba libksba-1.5.0.tar.bz2 +sha256 dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b libksba-1.6.0.tar.bz2 # Hash for license files: -sha256 4d7ff8486176da695f3c81da2ac7ce1b9e5331e0a1667d9ebfe44057088a4220 AUTHORS +sha256 8f1b87e551d97b2b23b6d3403a5d598c63ea89824cb8ee351f631f6cab2beaa5 AUTHORS sha256 6197b98c6bf69838c624809c509d84333de1bc847155168c0e84527446a27076 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 sha256 0abbff814cd00e2b0b6d08395af2b419c1a92026c4b4adacbb65ccda45fa58cf COPYING.GPLv3 diff --git a/package/libksba/libksba.mk b/package/libksba/libksba.mk index bb02391a384..ca5fc1d749d 100644 --- a/package/libksba/libksba.mk +++ b/package/libksba/libksba.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBKSBA_VERSION = 1.5.0 +LIBKSBA_VERSION = 1.6.0 LIBKSBA_SOURCE = libksba-$(LIBKSBA_VERSION).tar.bz2 LIBKSBA_SITE = ftp://ftp.gnupg.org/gcrypt/libksba LIBKSBA_LICENSE = LGPL-3.0+ or GPL-2.0+ (library, headers), GPL-3.0+ (manual, tests, build system) diff --git a/package/libldns/libldns.hash b/package/libldns/libldns.hash index c8fb39d4784..cab8b7dbdf9 100644 --- a/package/libldns/libldns.hash +++ b/package/libldns/libldns.hash @@ -1,7 +1,7 @@ -# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.1.tar.gz.sha1 -sha1 d075a08972c0f573101fb4a6250471daaa53cb3e ldns-1.7.1.tar.gz -# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.1.tar.gz.sha256 -sha256 8ac84c16bdca60e710eea75782356f3ac3b55680d40e1530d7cea474ac208229 ldns-1.7.1.tar.gz +# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.1.tar.gz.sha1 +sha1 df19a0404a608821b571525214a18988bc88bb46 ldns-1.8.1.tar.gz +# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.1.tar.gz.sha256 +sha256 958229abce4d3aaa19a75c0d127666564b17216902186e952ca4aef47c6d7fa3 ldns-1.8.1.tar.gz # Hash for license file: -sha256 9e0b1505c358d1a7c79555ee8bd1acbe2985dbc74dd81f3697cebf2161e922e6 LICENSE +sha256 9e0b1505c358d1a7c79555ee8bd1acbe2985dbc74dd81f3697cebf2161e922e6 LICENSE diff --git a/package/libldns/libldns.mk b/package/libldns/libldns.mk index 75159389deb..86e7c0eafc8 100644 --- a/package/libldns/libldns.mk +++ b/package/libldns/libldns.mk @@ -4,18 +4,18 @@ # ################################################################################ -LIBLDNS_VERSION = 1.7.1 +LIBLDNS_VERSION = 1.8.1 LIBLDNS_SOURCE = ldns-$(LIBLDNS_VERSION).tar.gz LIBLDNS_SITE = http://www.nlnetlabs.nl/downloads/ldns LIBLDNS_LICENSE = BSD-3-Clause LIBLDNS_LICENSE_FILES = LICENSE +LIBLDNS_CPE_ID_VENDOR = nlnetlabs +LIBLDNS_CPE_ID_PRODUCT = ldns LIBLDNS_INSTALL_STAGING = YES LIBLDNS_DEPENDENCIES = openssl -# --disable-dane-verify can be removed after openssl bump to 1.1.x LIBLDNS_CONF_OPTS = \ --with-ssl=$(STAGING_DIR)/usr \ --enable-dane \ - --disable-dane-verify \ --enable-ecdsa \ --enable-gost \ --enable-sha2 \ @@ -24,6 +24,12 @@ LIBLDNS_CONF_OPTS = \ --without-pyldns \ --without-pyldnsx +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +LIBLDNS_CONF_OPTS += --enable-dane-verify +else +LIBLDNS_CONF_OPTS += --disable-dane-verify +endif + ifeq ($(BR2_STATIC_LIBS),y) LIBLDNS_DEPENDENCIES += host-pkgconf # missing -lz breaks configure, add it using pkgconf diff --git a/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch b/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch index 0c13e35c4c8..23ed6dd2278 100644 --- a/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch +++ b/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch @@ -1,7 +1,7 @@ From cae4c3b80fee0f3637d70f6d33946888c8105637 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sat, 13 Dec 2014 17:16:58 +0100 -Subject: [PATCH 1/1] blas: don't overwrite ar options +Subject: [PATCH] blas: don't overwrite ar options ar's rcv options get lost when AR is passed on the command line. diff --git a/package/liblinear/0002-build-static-lib.patch b/package/liblinear/0002-build-static-lib.patch index 98657d3c826..f3497b767e3 100644 --- a/package/liblinear/0002-build-static-lib.patch +++ b/package/liblinear/0002-build-static-lib.patch @@ -1,18 +1,20 @@ Makefile: add a rule to build a static library Signed-off-by: "Yann E. MORIN" +[Fabrice: update for 2.43] +Signed-off-by: Fabrice Fontaine diff -durN liblinear-1.96.orig/Makefile liblinear-1.96/Makefile --- liblinear-1.96.orig/Makefile 2014-11-15 07:50:23.000000000 +0100 +++ liblinear-1.96/Makefile 2014-12-14 00:23:00.135893956 +0100 @@ -16,6 +16,11 @@ fi; \ - $(CXX) $${SHARED_LIB_FLAG} linear.o tron.o blas/blas.a -o liblinear.so.$(SHVER) + $(CXX) $${SHARED_LIB_FLAG} linear.o newton.o blas/blas.a -o liblinear.so.$(SHVER) +# Keeping blas/blas.a as a pre-requisite, to ensure all .o files are built -+static-lib: linear.o tron.o blas/blas.a -+ $(AR) rcv liblinear.a linear.o tron.o blas/*.o ++static-lib: linear.o newton.o blas/blas.a ++ $(AR) rcv liblinear.a linear.o newton.o blas/*.o + $(RANLIB) liblinear.a + - train: tron.o linear.o train.c blas/blas.a - $(CXX) $(CFLAGS) -o train train.c tron.o linear.o $(LIBS) + train: newton.o linear.o train.c blas/blas.a + $(CXX) $(CFLAGS) -o train train.c newton.o linear.o $(LIBS) diff --git a/package/liblinear/liblinear.hash b/package/liblinear/liblinear.hash index 4430d29989d..a714b8bc4e7 100644 --- a/package/liblinear/liblinear.hash +++ b/package/liblinear/liblinear.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 881c7039c6cf93119c781fb56263de91617b3eca8c3951f2c19a3797de95c6ac liblinear-2.30.tar.gz -sha256 c366abf1cb3a003d8c6e6d9c111a23c432db1d001294f88d479b70b60d7c0af2 COPYRIGHT +sha256 02bad43d745e2796f39a08ac9d117770e71939ef06b1ee7afc6ab7909e304807 liblinear-2.43.tar.gz +sha256 c5c91211a0edaa4c77e352f6b27a8f9c6768afe27d48176d6094905c534eacb3 COPYRIGHT diff --git a/package/liblinear/liblinear.mk b/package/liblinear/liblinear.mk index 2d0fd0013cc..1ad734c7568 100644 --- a/package/liblinear/liblinear.mk +++ b/package/liblinear/liblinear.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBLINEAR_VERSION = 2.30 +LIBLINEAR_VERSION = 2.43 LIBLINEAR_SITE = http://www.csie.ntu.edu.tw/~cjlin/liblinear LIBLINEAR_LICENSE = BSD-3-Clause LIBLINEAR_LICENSE_FILES = COPYRIGHT @@ -14,8 +14,8 @@ LIBLINEAR_CFLAGS = $(TARGET_CFLAGS) ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) # $1: destination directory define LIBLINEAR_INSTALL_SHARED - $(INSTALL) -m 0644 -D $(@D)/liblinear.so.3 $(1)/usr/lib/liblinear.so.3 - ln -sf liblinear.so.3 $(1)/usr/lib/liblinear.so + $(INSTALL) -m 0644 -D $(@D)/liblinear.so.4 $(1)/usr/lib/liblinear.so.4 + ln -sf liblinear.so.4 $(1)/usr/lib/liblinear.so endef LIBLINEAR_CFLAGS += -fPIC endif diff --git a/package/liblockfile/0001-Makefile.in-fix-cross-compilation.patch b/package/liblockfile/0001-Makefile.in-fix-cross-compilation.patch new file mode 100644 index 00000000000..bc85694f806 --- /dev/null +++ b/package/liblockfile/0001-Makefile.in-fix-cross-compilation.patch @@ -0,0 +1,82 @@ +From 7535d990645d867a6e491d16cd2548ea7e54958e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 5 Apr 2021 16:21:32 +0200 +Subject: [PATCH] Makefile.in: fix cross-compilation + +- Use DESTDIR to install each files instead of prepending prefix with it + as this will result in dotlockfile being wrongly install in $(bindir) +- Use -f when creating symlink to avoid an error if link already exists +- Do not install files with root group as this will break + cross-compilation + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/miquels/liblockfile/pull/11] +--- + Makefile.in | 36 ++++++++++++++++++------------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 9c74b35..5ce8153 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -10,7 +10,7 @@ CFLAGS = @CFLAGS@ -I. + LDFLAGS = @LDFLAGS@ + CC = @CC@ + +-prefix = $(DESTDIR)@prefix@ ++prefix = @prefix@ + exec_prefix = @exec_prefix@ + bindir = @bindir@ + libdir = @libdir@ +@@ -60,34 +60,34 @@ dlockfile.o: lockfile.c + -c lockfile.c -o dlockfile.o + + install_static: static install_common +- install -d -m 755 -g root -p $(libdir) +- install -m 644 liblockfile.a $(libdir) ++ install -d -m 755 -p $(DESTDIR)$(libdir) ++ install -m 644 liblockfile.a $(DESTDIR)$(libdir) + + install_shared: shared install_static install_common +- install -d -m 755 -g root -p $(libdir) ++ install -d -m 755 -p $(DESTDIR)$(libdir) + install -m 755 liblockfile.so \ +- $(libdir)/liblockfile.so.$(SOVER) +- ln -s liblockfile.so.$(SOVER) $(libdir)/liblockfile.so.$(MAJOR) +- ln -s liblockfile.so.$(SOVER) $(libdir)/liblockfile.so ++ $(DESTDIR)$(libdir)/liblockfile.so.$(SOVER) ++ ln -sf liblockfile.so.$(SOVER) $(DESTDIR)$(libdir)/liblockfile.so.$(MAJOR) ++ ln -sf liblockfile.so.$(SOVER) $(DESTDIR)$(libdir)/liblockfile.so + if test "$(DESTDIR)" = ""; then @LDCONFIG@; fi + + install_common: +- install -d -m 755 -g root -p $(includedir) +- install -d -m 755 -g root -p $(bindir) +- install -d -m 755 -g root -p $(mandir)/man1 +- install -d -m 755 -g root -p $(mandir)/man3 +- install -m 644 lockfile.h maillock.h $(includedir) ++ install -d -m 755 -p $(DESTDIR)$(includedir) ++ install -d -m 755 -p $(DESTDIR)$(bindir) ++ install -d -m 755 -p $(DESTDIR)$(mandir)/man1 ++ install -d -m 755 -p $(DESTDIR)$(mandir)/man3 ++ install -m 644 lockfile.h maillock.h $(DESTDIR)$(includedir) + if [ "$(MAILGROUP)" != "" ]; then\ +- install -g $(MAILGROUP) -m 2755 dotlockfile $(bindir);\ ++ install -g $(MAILGROUP) -m 2755 dotlockfile $(DESTDIR)$(bindir);\ + else \ +- install -g root -m 755 dotlockfile $(bindir); \ ++ install -m 755 dotlockfile $(DESTDIR)$(bindir); \ + fi +- install -m 644 *.1 $(mandir)/man1 +- install -m 644 *.3 $(mandir)/man3 ++ install -m 644 *.1 $(DESTDIR)$(mandir)/man1 ++ install -m 644 *.3 $(DESTDIR)$(mandir)/man3 + + install_nfslib: nfslib +- install -d -m 755 -g root -p $(nfslockdir) +- install -m 755 nfslock.so.$(NFSVER) $(nfslockdir) ++ install -d -m 755 -p $(DESTDIR)$(nfslockdir) ++ install -m 755 nfslock.so.$(NFSVER) $(DESTDIR)$(nfslockdir) + if test "$(DESTDIR)" = ""; then @LDCONFIG@; fi + + test: test-stamp diff --git a/package/liblockfile/0001-install.patch b/package/liblockfile/0001-install.patch deleted file mode 100644 index bfa197c64f8..00000000000 --- a/package/liblockfile/0001-install.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -ur liblockfile-1.06.1/Makefile.in liblockfile-1.06.1-patched/Makefile.in ---- liblockfile-1.06.1/Makefile.in 2001-03-16 22:08:33.000000000 -0600 -+++ liblockfile-1.06.1-patched/Makefile.in 2007-04-11 07:18:38.000000000 -0500 -@@ -60,11 +60,7 @@ - - install_common: - install -m 644 lockfile.h maillock.h $(ROOT)$(includedir) -- if [ "$(MAILGROUP)" != "" ]; then\ -- install -g $(MAILGROUP) -m 2755 dotlockfile $(ROOT)$(bindir);\ -- else \ -- install -g root -m 755 dotlockfile $(ROOT)$(bindir); \ -- fi -+ install -m 2755 dotlockfile $(ROOT)$(bindir);\ - install -m 644 *.1 $(ROOT)$(mandir)/man1 - install -m 644 *.3 $(ROOT)$(mandir)/man3 - diff --git a/package/liblockfile/Config.in b/package/liblockfile/Config.in index 83ffea86c89..30bdf462c8a 100644 --- a/package/liblockfile/Config.in +++ b/package/liblockfile/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBLOCKFILE bool "liblockfile" + depends on BR2_USE_MMU # fork() help NFS-safe locking library. diff --git a/package/liblockfile/liblockfile.hash b/package/liblockfile/liblockfile.hash index 881ad992ae2..c2cacd6fed8 100644 --- a/package/liblockfile/liblockfile.hash +++ b/package/liblockfile/liblockfile.hash @@ -1,5 +1,7 @@ -# From http://snapshot.debian.org/archive/debian/20151026T153523Z/pool/main/libl/liblockfile/liblockfile_1.09-6.dsc -sha256 16979eba05396365e1d6af7100431ae9d32f9bc063930d1de66298a0695f1b7f liblockfile_1.09.orig.tar.gz -sha256 d45eacb7c637c16d03c777c55989d98da494ae9584a0783fe6dbf0db60fa290f liblockfile_1.09-6.debian.tar.bz2 +# From https://snapshot.debian.org/archive/debian/20210128T210947Z/pool/main/libl/liblockfile/liblockfile_1.17-1.dsc +sha256 6e937f3650afab4aac198f348b89b1ca42edceb17fb6bb0918f642143ccfd15e liblockfile_1.17.orig.tar.gz +sha256 e3657c0e3facfeccb58900c0b48d56cd68ad5f9f24d1b4c6eaa69c26490fb673 liblockfile_1.17-1.debian.tar.bz2 # Locally computed -sha256 5fffcc11f94a05a7cff02ff792407737eb1cba840767cc1a71b67fbb19695dd3 COPYRIGHT +sha256 3d080ab931103a823e6b9b788ccbc3e9d44797bd54546f3feebfd305f90de46a COPYRIGHT +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licenses/GPL-2 +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c licenses/LGPL-2 diff --git a/package/liblockfile/liblockfile.mk b/package/liblockfile/liblockfile.mk index 07108682320..f472809ebc8 100644 --- a/package/liblockfile/liblockfile.mk +++ b/package/liblockfile/liblockfile.mk @@ -4,26 +4,17 @@ # ################################################################################ -LIBLOCKFILE_VERSION = 1.09 +LIBLOCKFILE_VERSION = 1.17 LIBLOCKFILE_SOURCE = liblockfile_$(LIBLOCKFILE_VERSION).orig.tar.gz -LIBLOCKFILE_SITE = http://snapshot.debian.org/archive/debian/20151026T153523Z/pool/main/libl/liblockfile -LIBLOCKFILE_PATCH = liblockfile_$(LIBLOCKFILE_VERSION)-6.debian.tar.bz2 +LIBLOCKFILE_SITE = http://snapshot.debian.org/archive/debian/20210128T210947Z/pool/main/libl/liblockfile +LIBLOCKFILE_PATCH = liblockfile_$(LIBLOCKFILE_VERSION)-1.debian.tar.bz2 LIBLOCKFILE_LICENSE = LGPL-2.0+, GPL-2.0+ (dotlockfile) -LIBLOCKFILE_LICENSE_FILES = COPYRIGHT +LIBLOCKFILE_LICENSE_FILES = COPYRIGHT licenses/GPL-2 licenses/LGPL-2 +# We're patching Makefile.in +LIBLOCKFILE_AUTORECONF = YES LIBLOCKFILE_INSTALL_STAGING = YES LIBLOCKFILE_CONF_OPTS = --mandir=/usr/share/man -define LIBLOCKFILE_INSTALL_STAGING_CMDS - mkdir -p $(addprefix $(STAGING_DIR)/usr/share/man/man,1 3) - rm -f $(STAGING_DIR)/usr/lib/liblockfile.so - $(TARGET_MAKE_ENV) $(MAKE) -C $(LIBLOCKFILE_DIR) ROOT=$(STAGING_DIR) install - ln -sf liblockfile.so $(STAGING_DIR)/usr/lib/liblockfile.so.1 -endef - -define LIBLOCKFILE_INSTALL_TARGET_CMDS - cp -a $(STAGING_DIR)/usr/lib/liblockfile.so* $(TARGET_DIR)/usr/lib -endef - $(eval $(autotools-package)) diff --git a/package/liblog4c-localtime/0001-log4c.m4-fix-underquoted-definition-of-AM_PATH_LOG4C.patch b/package/liblog4c-localtime/0001-log4c.m4-fix-underquoted-definition-of-AM_PATH_LOG4C.patch index 1fe0798a3ba..5e39b2d4dc2 100644 --- a/package/liblog4c-localtime/0001-log4c.m4-fix-underquoted-definition-of-AM_PATH_LOG4C.patch +++ b/package/liblog4c-localtime/0001-log4c.m4-fix-underquoted-definition-of-AM_PATH_LOG4C.patch @@ -1,7 +1,7 @@ From b7290560082e91673431de79e1fa318c9fd90261 Mon Sep 17 00:00:00 2001 From: Danomi Manchego Date: Sat, 25 Oct 2014 19:42:38 +0200 -Subject: [PATCH 1/5] log4c.m4: fix "underquoted definition of AM_PATH_LOG4C" +Subject: [PATCH] log4c.m4: fix "underquoted definition of AM_PATH_LOG4C" warning When autoreconfiguring liblog4c-localtime, there is a warning from diff --git a/package/liblog4c-localtime/0002-Fix-linking-error-without-pthread.patch b/package/liblog4c-localtime/0002-Fix-linking-error-without-pthread.patch index 5b679e38ba0..63d35a90ac4 100644 --- a/package/liblog4c-localtime/0002-Fix-linking-error-without-pthread.patch +++ b/package/liblog4c-localtime/0002-Fix-linking-error-without-pthread.patch @@ -1,7 +1,7 @@ From 435b28cd90973cc03a533e75e90a46cd9f197dff Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Sat, 25 Oct 2014 19:44:01 +0200 -Subject: [PATCH 2/5] Fix linking error without pthread +Subject: [PATCH] Fix linking error without pthread The rollingfile functionality only gets built if pthread support is available, but a call to these functions from log4c_fini() was outside diff --git a/package/liblog4c-localtime/0003-Fix-debug-mode-build-with-uClibc.patch b/package/liblog4c-localtime/0003-Fix-debug-mode-build-with-uClibc.patch index 4b9a45db687..f4c13149820 100644 --- a/package/liblog4c-localtime/0003-Fix-debug-mode-build-with-uClibc.patch +++ b/package/liblog4c-localtime/0003-Fix-debug-mode-build-with-uClibc.patch @@ -1,7 +1,7 @@ From acbaee34bcb1881db97969dd2c411446f32ca4cc Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 25 Oct 2014 19:45:33 +0200 -Subject: [PATCH 3/5] Fix debug mode build with uClibc +Subject: [PATCH] Fix debug mode build with uClibc When --enable-debug is passed, liblog4c-localtime wants to use . It takes the precaution of testing if __GLIBC__ is diff --git a/package/liblog4c-localtime/0004-Add-AC_CONFIG_MACRO_DIR-to-configure.in.patch b/package/liblog4c-localtime/0004-Add-AC_CONFIG_MACRO_DIR-to-configure.in.patch index 479eb3987fd..744187cefe9 100644 --- a/package/liblog4c-localtime/0004-Add-AC_CONFIG_MACRO_DIR-to-configure.in.patch +++ b/package/liblog4c-localtime/0004-Add-AC_CONFIG_MACRO_DIR-to-configure.in.patch @@ -1,7 +1,7 @@ From a2553c203d8b8257dea1d2e2139b220935587144 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 25 Oct 2014 20:03:25 +0200 -Subject: [PATCH 4/5] Add AC_CONFIG_MACRO_DIR to configure.in +Subject: [PATCH] Add AC_CONFIG_MACRO_DIR to configure.in Without AC_CONFIG_MACRO_DIR, when autoreconfiguring the package, it cannot find AM_PATH_EXPAT which is defined in config/expat.m4. diff --git a/package/liblog4c-localtime/0005-Fix-C-support.patch b/package/liblog4c-localtime/0005-Fix-C-support.patch index 6ba25c36ff8..5e16b4f904f 100644 --- a/package/liblog4c-localtime/0005-Fix-C-support.patch +++ b/package/liblog4c-localtime/0005-Fix-C-support.patch @@ -1,7 +1,7 @@ From bdccec4c374a93480a7fd303d15e20810a5d5b7e Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 25 Oct 2014 21:22:40 +0200 -Subject: [PATCH 5/5] Fix C++ support +Subject: [PATCH] Fix C++ support Autoreconf fails with the following message: diff --git a/package/libloki/libloki.mk b/package/libloki/libloki.mk index 7564239f6ac..07a9372df9a 100644 --- a/package/libloki/libloki.mk +++ b/package/libloki/libloki.mk @@ -23,6 +23,7 @@ endif define LIBLOKI_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" \ -C $(@D) $(LIBLOKI_BUILD_TARGETS) endef diff --git a/package/libmatroska/libmatroska.hash b/package/libmatroska/libmatroska.hash index 4c3d754f8f3..81b418d030e 100644 --- a/package/libmatroska/libmatroska.hash +++ b/package/libmatroska/libmatroska.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bc4479aa8422ab07643df6a1fa5a19e4bed4badfd41ca77e081628620d1e1990 libmatroska-1.6.2.tar.xz +sha256 daf91a63f58dd157ca340c457871e66260cb9c3333fefb008b318befbb0e081a libmatroska-1.6.3.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL diff --git a/package/libmatroska/libmatroska.mk b/package/libmatroska/libmatroska.mk index 91727ae9735..7d326c00768 100644 --- a/package/libmatroska/libmatroska.mk +++ b/package/libmatroska/libmatroska.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMATROSKA_VERSION = 1.6.2 +LIBMATROSKA_VERSION = 1.6.3 LIBMATROSKA_SOURCE = libmatroska-$(LIBMATROSKA_VERSION).tar.xz LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska LIBMATROSKA_INSTALL_STAGING = YES diff --git a/package/libmaxminddb/libmaxminddb.hash b/package/libmaxminddb/libmaxminddb.hash index b83a8d133dc..cfe838f7e5c 100644 --- a/package/libmaxminddb/libmaxminddb.hash +++ b/package/libmaxminddb/libmaxminddb.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 a5fdf6c7b4880fdc7620f8ace5bd5cbe9f65650c9493034b5b9fc7d83551a439 libmaxminddb-1.4.3.tar.gz +sha256 7620ac187c591ce21bcd7bf352376a3c56a933e684558a1f6bef4bd4f3f98267 libmaxminddb-1.6.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/libmaxminddb/libmaxminddb.mk b/package/libmaxminddb/libmaxminddb.mk index 81593505e4b..4037f89a15c 100644 --- a/package/libmaxminddb/libmaxminddb.mk +++ b/package/libmaxminddb/libmaxminddb.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMAXMINDDB_VERSION = 1.4.3 +LIBMAXMINDDB_VERSION = 1.6.0 LIBMAXMINDDB_SITE = \ https://github.com/maxmind/libmaxminddb/releases/download/$(LIBMAXMINDDB_VERSION) LIBMAXMINDDB_INSTALL_STAGING = YES diff --git a/package/libmbim/libmbim.hash b/package/libmbim/libmbim.hash index 7ce1a2e7ae2..7ecc99d333e 100644 --- a/package/libmbim/libmbim.hash +++ b/package/libmbim/libmbim.hash @@ -1,4 +1,4 @@ -# Locally computed: -sha256 dd488ee6176243a6adb27a5872897336272ea7bea33a3ad501ba268e5a58b285 libmbim-1.24.4.tar.xz +# Locally computed +sha256 c12e61ea462fca40ddba2a8e1e401242d4f13827944369fad27ff70936b1e09d libmbim-1.26.2.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libmbim/libmbim.mk b/package/libmbim/libmbim.mk index 4ce3ca892e7..eba5f0a6e06 100644 --- a/package/libmbim/libmbim.mk +++ b/package/libmbim/libmbim.mk @@ -4,25 +4,28 @@ # ################################################################################ -LIBMBIM_VERSION = 1.24.4 -LIBMBIM_SITE = https://www.freedesktop.org/software/libmbim -LIBMBIM_SOURCE = libmbim-$(LIBMBIM_VERSION).tar.xz +LIBMBIM_VERSION = 1.26.2 +LIBMBIM_SITE = https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/archive/$(LIBMBIM_VERSION) LIBMBIM_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) LIBMBIM_LICENSE_FILES = COPYING COPYING.LIB LIBMBIM_CPE_ID_VENDOR = freedesktop LIBMBIM_INSTALL_STAGING = YES LIBMBIM_DEPENDENCIES = libglib2 +LIBMBIM_CONF_OPTS = -Dman=false -# we don't want -Werror -LIBMBIM_CONF_OPTS = --enable-more-warnings=no +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBMBIM_DEPENDENCIES += gobject-introspection +LIBMBIM_CONF_OPTS += -Dintrospection=true +else +LIBMBIM_CONF_OPTS += -Dintrospection=false +endif -# if libgudev available, request udev support -ifeq ($(BR2_PACKAGE_LIBGUDEV),y) -LIBMBIM_DEPENDENCIES += libgudev -LIBMBIM_CONF_OPTS += --with-udev +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +LIBMBIM_DEPENDENCIES += bash-completion +LIBMBIM_CONF_OPTS += -Dbash_completion=true else -LIBMBIM_CONF_OPTS += --without-udev +LIBMBIM_CONF_OPTS += -Dbash_completion=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libmcrypt/0001-nocxx.patch b/package/libmcrypt/0001-nocxx.patch deleted file mode 100644 index b1c28713a11..00000000000 --- a/package/libmcrypt/0001-nocxx.patch +++ /dev/null @@ -1,15 +0,0 @@ -libmcrypt doesn't use C++ so remove the check. - -Signed-off-by: Gustavo Zacarias - -diff -Nura libmcrypt-2.5.8.orig/configure.in libmcrypt-2.5.8/configure.in ---- libmcrypt-2.5.8.orig/configure.in 2013-01-07 12:20:44.332200669 -0300 -+++ libmcrypt-2.5.8/configure.in 2013-01-07 12:20:50.405390565 -0300 -@@ -19,7 +19,6 @@ - - AC_PROG_MAKE_SET - --AC_PROG_CXX - AC_PROG_CC - AC_PROG_CPP - AC_PROG_INSTALL diff --git a/package/libmcrypt/Config.in b/package/libmcrypt/Config.in deleted file mode 100644 index 784d2c2af6c..00000000000 --- a/package/libmcrypt/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_LIBMCRYPT - bool "libmcrypt" - help - libmcrypt is a library that provides uniform interface to - access several encryption algorithms. - - http://mcrypt.sourceforge.net/ diff --git a/package/libmcrypt/libmcrypt.hash b/package/libmcrypt/libmcrypt.hash deleted file mode 100644 index 30b57522b8d..00000000000 --- a/package/libmcrypt/libmcrypt.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e libmcrypt-2.5.8.tar.gz -sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/package/libmcrypt/libmcrypt.mk b/package/libmcrypt/libmcrypt.mk deleted file mode 100644 index e93f0136b3c..00000000000 --- a/package/libmcrypt/libmcrypt.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# libmcrypt -# -################################################################################ - -LIBMCRYPT_VERSION = 2.5.8 -LIBMCRYPT_SITE = http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/$(LIBMCRYPT_VERSION) -LIBMCRYPT_AUTORECONF = YES -LIBMCRYPT_INSTALL_STAGING = YES -LIBMCRYPT_LICENSE = LGPL-2.1 -LIBMCRYPT_LICENSE_FILES = COPYING.LIB -LIBMCRYPT_CONFIG_SCRIPTS = libmcrypt-config - -$(eval $(autotools-package)) diff --git a/package/libmd/Config.in b/package/libmd/Config.in new file mode 100644 index 00000000000..63139ad69bb --- /dev/null +++ b/package/libmd/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBMD + bool "libmd" + help + This library provides message digest functions found on BSD + systems either on their libc (NetBSD, OpenBSD) or libmd + (FreeBSD, DragonflyBSD, macOS, Solaris) libraries and lacking + on others like GNU systems. + + https://www.hadrons.org/software/libmd/ diff --git a/package/libmd/libmd.hash b/package/libmd/libmd.hash new file mode 100644 index 00000000000..1a3c9d80dfa --- /dev/null +++ b/package/libmd/libmd.hash @@ -0,0 +1,5 @@ +# From https://lists.freedesktop.org/archives/libbsd/2021-October/000311.html +sha512 731553ecc5e0e1eb228cced8fccd531fe31fb5c7627ca30013d287e1aeb8222959cf7498fbb7414bbabb967b25d4e8b0edd54fc47f6ccf55fc91087db0725ce3 libmd-1.0.4.tar.xz + +# Hash for license file +sha256 4365ef6255ad553fce69dd4bc0e093472c5d0e41b8ea493a545cc926ce171aa6 COPYING diff --git a/package/libmd/libmd.mk b/package/libmd/libmd.mk new file mode 100644 index 00000000000..19a24589822 --- /dev/null +++ b/package/libmd/libmd.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# libmd +# +################################################################################ + +LIBMD_VERSION = 1.0.4 +LIBMD_SOURCE = libmd-$(LIBMD_VERSION).tar.xz +LIBMD_SITE = https://archive.hadrons.org/software/libmd +LIBMD_LICENSE = BSD-2-Clause, BSD-3-Clause, Beerware, ISC, Public Domain +LIBMD_LICENSE_FILES = COPYING +LIBMD_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/package/libmdbx/Config.in b/package/libmdbx/Config.in index d13f73938fe..4849d60b920 100644 --- a/package/libmdbx/Config.in +++ b/package/libmdbx/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_LIBMDBX libmdbx surpasses the legendary LMDB in terms of reliability, features and performance. - https://github.com/erthink/libmdbx + https://libmdbx.website.yandexcloud.net/ if BR2_PACKAGE_LIBMDBX diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash index fcfb4a673fc..7d663b3da09 100644 --- a/package/libmdbx/libmdbx.hash +++ b/package/libmdbx/libmdbx.hash @@ -1,5 +1,5 @@ -# Hashes from: https://github.com/erthink/libmdbx/releases/ -sha256 d12bc7189b746beaa85514fcd1fcf26b957bb8feadb11662a0e20c4e79410d3f libmdbx-amalgamated-0.9.3.tar.gz +# Hashes from: https://libmdbx.website.yandexcloud.net/release/SHA256SUMS +sha256 3a9fb6a4cd941e646597235518714373fda1ca6d4c5e23669afe70ea87c20940 libmdbx-amalgamated-0.11.7.tar.xz # Locally calculated sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk index baf5193eb6a..a7056b2850a 100644 --- a/package/libmdbx/libmdbx.mk +++ b/package/libmdbx/libmdbx.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBMDBX_VERSION = 0.9.3 -LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.gz -LIBMDBX_SITE = https://github.com/erthink/libmdbx/releases/download/v$(LIBMDBX_VERSION) +LIBMDBX_VERSION = 0.11.7 +LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.xz +LIBMDBX_SITE = https://libmdbx.website.yandexcloud.net/release LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO LIBMDBX_LICENSE = OLDAP-2.8 LIBMDBX_LICENSE_FILES = LICENSE diff --git a/package/libmediaart/0001-meson-add-introspection-option.patch b/package/libmediaart/0001-meson-add-introspection-option.patch new file mode 100644 index 00000000000..2b849040fe6 --- /dev/null +++ b/package/libmediaart/0001-meson-add-introspection-option.patch @@ -0,0 +1,87 @@ +From ee7d8736af172cd5ad71a0bd511c39daf401e3f6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Oct 2021 23:35:26 +0200 +Subject: [PATCH] meson: add introspection option + +Add introspection option + +Fix #3 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.gnome.org/GNOME/libmediaart/-/merge_requests/14] +--- + libmediaart/meson.build | 42 +++++++++++++++++++++-------------------- + meson_options.txt | 2 ++ + 2 files changed, 24 insertions(+), 20 deletions(-) + +diff --git a/libmediaart/meson.build b/libmediaart/meson.build +index 56e00ab..2f44e63 100644 +--- a/libmediaart/meson.build ++++ b/libmediaart/meson.build +@@ -41,28 +41,30 @@ libmediaart = shared_library( + install: true, + ) + +-gir_args = [ +- '--quiet', +- '-DLIBMEDIAART_COMPILATION', +-] ++if get_option('introspection') ++ gir_args = [ ++ '--quiet', ++ '-DLIBMEDIAART_COMPILATION', ++ ] + +-libmediaart_gir_and_typelib = gnome.generate_gir(libmediaart, +- sources: libmediaart_sources + libmediaart_introspection_sources + libmediaart_public_headers, +- nsversion: libmediaart_api_version, +- namespace: 'MediaArt', +- identifier_prefix: 'MediaArt', +- symbol_prefix: 'media_art', +- includes: ['Gio-2.0', 'GObject-2.0'], +- header: 'libmediaart/mediaart.h', +- export_packages: 'libmediaart-' + libmediaart_api_version, +- extra_args: gir_args, +- install: true +-) ++ libmediaart_gir_and_typelib = gnome.generate_gir(libmediaart, ++ sources: libmediaart_sources + libmediaart_introspection_sources + libmediaart_public_headers, ++ nsversion: libmediaart_api_version, ++ namespace: 'MediaArt', ++ identifier_prefix: 'MediaArt', ++ symbol_prefix: 'media_art', ++ includes: ['Gio-2.0', 'GObject-2.0'], ++ header: 'libmediaart/mediaart.h', ++ export_packages: 'libmediaart-' + libmediaart_api_version, ++ extra_args: gir_args, ++ install: true ++ ) + +-libmediaart_vapi = gnome.generate_vapi('libmediaart-' + libmediaart_api_version, +- sources: libmediaart_gir_and_typelib[0], +- packages: 'gio-2.0', +- install: true) ++ libmediaart_vapi = gnome.generate_vapi('libmediaart-' + libmediaart_api_version, ++ sources: libmediaart_gir_and_typelib[0], ++ packages: 'gio-2.0', ++ install: true) ++endif + + libmediaart_dep = declare_dependency( + link_with: libmediaart, +diff --git a/meson_options.txt b/meson_options.txt +index 3ef49ba..b8c51b1 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,5 +1,7 @@ + option('image_library', type: 'combo', choices: ['auto', 'gdk-pixbuf', 'qt4', 'qt5'], + description: 'Which image processing backend to use') ++option('introspection', type : 'boolean', value : 'true', ++ description : 'Enable / disable the GObject-Introspection integration') + option('gtk_doc', + type: 'boolean', + value: 'false', +-- +2.33.0 + diff --git a/package/libmediaart/0002-meson-add-unit_tests-option.patch b/package/libmediaart/0002-meson-add-unit_tests-option.patch new file mode 100644 index 00000000000..3519ff19846 --- /dev/null +++ b/package/libmediaart/0002-meson-add-unit_tests-option.patch @@ -0,0 +1,48 @@ +From 01d94777d9d1906750db0e27e2e7b8f228ae4343 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 9 Oct 2021 23:45:53 +0200 +Subject: [PATCH] meson: add unit_tests option + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet (waiting feedback on first patch)] +--- + meson_options.txt | 2 ++ + tests/meson.build | 14 ++++++++------ + 2 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/meson_options.txt b/meson_options.txt +index b8c51b1..1172f93 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -2,6 +2,8 @@ option('image_library', type: 'combo', choices: ['auto', 'gdk-pixbuf', 'qt4', 'q + description: 'Which image processing backend to use') + option('introspection', type : 'boolean', value : 'true', + description : 'Enable / disable the GObject-Introspection integration') ++option('unit_tests', type : 'boolean', value : 'true', ++ description : 'Enable / disable unit tests') + option('gtk_doc', + type: 'boolean', + value: 'false', +diff --git a/tests/meson.build b/tests/meson.build +index 28834c0..02c96a1 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -1,7 +1,9 @@ +-mediaart_test = executable('mediaart-test', +- 'mediaarttest.c', +- dependencies: libmediaart_dep, +-) ++if get_option('unit_tests') ++ mediaart_test = executable('mediaart-test', ++ 'mediaarttest.c', ++ dependencies: libmediaart_dep, ++ ) + +-test('mediaart', mediaart_test, +- env: 'G_TEST_SRCDIR=' + meson.current_source_dir()) ++ test('mediaart', mediaart_test, ++ env: 'G_TEST_SRCDIR=' + meson.current_source_dir()) ++endif +-- +2.33.0 + diff --git a/package/libmediaart/0003-libmediaart-meson.build-replace-shared_library.patch b/package/libmediaart/0003-libmediaart-meson.build-replace-shared_library.patch new file mode 100644 index 00000000000..d4b377d327e --- /dev/null +++ b/package/libmediaart/0003-libmediaart-meson.build-replace-shared_library.patch @@ -0,0 +1,35 @@ +From 2272d762436a3b0d2e4fef8fb4f1669814904620 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 12 Dec 2021 20:14:54 +0100 +Subject: [PATCH] libmediaart/meson.build: replace shared_library + +Replace shared_library by library call to avoid the following build +failure when building statically: + +/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libc.a(__uClibc_main.os): in function `__uClibc_fini': +__uClibc_main.c:(.text+0x15c): undefined reference to `__fini_array_start' + +Fixes: + - http://autobuild.buildroot.org/results/18d26882a68dcf8f09b3e3d25636454a12939310 + +Signed-off-by: Fabrice Fontaine +--- + libmediaart/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libmediaart/meson.build b/libmediaart/meson.build +index 2f44e63..1fd3b99 100644 +--- a/libmediaart/meson.build ++++ b/libmediaart/meson.build +@@ -30,7 +30,7 @@ marshal = gnome.genmarshal('marshal', + + libmediaart_dependencies = [glib, gio_unix, gobject, image_library] + +-libmediaart = shared_library( ++libmediaart = library( + 'mediaart-' + libmediaart_api_version, + libmediaart_sources, marshal[0], marshal[1], + version: libmediaart_ltversion, +-- +2.33.0 + diff --git a/package/libmediaart/Config.in b/package/libmediaart/Config.in index c11d6f49d9c..d7973444ae5 100644 --- a/package/libmediaart/Config.in +++ b/package/libmediaart/Config.in @@ -18,13 +18,7 @@ if BR2_PACKAGE_LIBMEDIAART choice prompt "media art backend" - default BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE - -config BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE - bool "none" - help - With no backend, libmediaart will not be able to process MP3 - album art. + default BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF config BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF bool "gdk-pixbuf" diff --git a/package/libmediaart/libmediaart.hash b/package/libmediaart/libmediaart.hash index d51c0562237..d7115b20d4e 100644 --- a/package/libmediaart/libmediaart.hash +++ b/package/libmediaart/libmediaart.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/libmediaart/1.9/libmediaart-1.9.4.sha256sum: -sha256 a57be017257e4815389afe4f58fdacb6a50e74fd185452b23a652ee56b04813d libmediaart-1.9.4.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/libmediaart/1.9/libmediaart-1.9.5.sha256sum: +sha256 07def5a42c482ae71d3e1f77a4d0fdc337f74226059a65284d6d5a241f0e9cd6 libmediaart-1.9.5.tar.xz # Locally computed: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/libmediaart/libmediaart.mk b/package/libmediaart/libmediaart.mk index 0d110a43e56..77665fd95b1 100644 --- a/package/libmediaart/libmediaart.mk +++ b/package/libmediaart/libmediaart.mk @@ -5,39 +5,32 @@ ################################################################################ LIBMEDIAART_VERSION_MAJOR = 1.9 -LIBMEDIAART_VERSION = $(LIBMEDIAART_VERSION_MAJOR).4 +LIBMEDIAART_VERSION = $(LIBMEDIAART_VERSION_MAJOR).5 LIBMEDIAART_SOURCE = libmediaart-$(LIBMEDIAART_VERSION).tar.xz LIBMEDIAART_SITE = \ http://ftp.gnome.org/pub/gnome/sources/libmediaart/$(LIBMEDIAART_VERSION_MAJOR) LIBMEDIAART_LICENSE = LGPL-2.1+ LIBMEDIAART_LICENSE_FILES = COPYING.LESSER LIBMEDIAART_INSTALL_STAGING = YES -LIBMEDIAART_DEPENDENCIES = libglib2 -LIBMEDIAART_CONF_OPTS = --disable-unit-tests +LIBMEDIAART_DEPENDENCIES = libglib2 $(TARGET_NLS_DEPENDENCIES) +LIBMEDIAART_CONF_OPTS = -Dunit_tests=false +LIBMEDIAART_LDFLAGS = $(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF),y) LIBMEDIAART_DEPENDENCIES += gdk-pixbuf -LIBMEDIAART_CONF_OPTS += \ - --enable-gdkpixbuf \ - --disable-qt +LIBMEDIAART_CONF_OPTS += -Dimage_library=gdk-pixbuf else ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_QT),y) # qt5 needs c++11 (since qt-5.7) LIBMEDIAART_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" LIBMEDIAART_DEPENDENCIES += qt5base -LIBMEDIAART_CONF_OPTS += \ - --disable-gdkpixbuf \ - --enable-qt -else ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE),y) -LIBMEDIAART_CONF_OPTS += \ - --disable-gdkpixbuf \ - --disable-qt +LIBMEDIAART_CONF_OPTS += -Dimage_library=qt5 endif ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -LIBMEDIAART_CONF_OPTS += --enable-introspection -LIBMEDIAART_DEPENDENCIES += gobject-introspection +LIBMEDIAART_CONF_OPTS += -Dintrospection=true +LIBMEDIAART_DEPENDENCIES += host-vala gobject-introspection else -LIBMEDIAART_CONF_OPTS += --disable-introspection +LIBMEDIAART_CONF_OPTS += -Dintrospection=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libmicrohttpd/libmicrohttpd.hash b/package/libmicrohttpd/libmicrohttpd.hash index e92032a216d..7f95e78a6e9 100644 --- a/package/libmicrohttpd/libmicrohttpd.hash +++ b/package/libmicrohttpd/libmicrohttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0ae825f8e0d7f41201fd44a0df1cf454c1cb0bc50fe9d59c26552260264c2ff8 libmicrohttpd-0.9.72.tar.gz +sha256 9278907a6f571b391aab9644fd646a5108ed97311ec66f6359cebbedb0a4e3bb libmicrohttpd-0.9.75.tar.gz sha256 7399547209438c93f9b90297954698773d4846cea44cde5ca982c84c45952a3b COPYING diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk index 6eee597c343..f75178bc0a2 100644 --- a/package/libmicrohttpd/libmicrohttpd.mk +++ b/package/libmicrohttpd/libmicrohttpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMICROHTTPD_VERSION = 0.9.72 +LIBMICROHTTPD_VERSION = 0.9.75 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_CPE_ID_VENDOR = gnu diff --git a/package/libminiupnpc/libminiupnpc.mk b/package/libminiupnpc/libminiupnpc.mk index 551a6767cfe..0633ccd234e 100644 --- a/package/libminiupnpc/libminiupnpc.mk +++ b/package/libminiupnpc/libminiupnpc.mk @@ -16,5 +16,6 @@ LIBMINIUPNPC_CPE_ID_VENDOR = miniupnp_project LIBMINIUPNPC_CPE_ID_PRODUCT = miniupnpc LIBMINIUPNPC_CPE_ID_VERSION = $(LIBMINIUPNPC_VERSION_MAJOR) LIBMINIUPNPC_CPE_ID_UPDATE = $(LIBMINIUPNPC_VERSION_MINOR) +LIBMINIUPNPC_CONF_OPTS = -DUPNPC_BUILD_SAMPLE=OFF -DUPNPC_BUILD_TESTS=OFF $(eval $(cmake-package)) diff --git a/package/libmms/libmms.mk b/package/libmms/libmms.mk index 236fe1376e6..a4c40ad60a6 100644 --- a/package/libmms/libmms.mk +++ b/package/libmms/libmms.mk @@ -10,5 +10,6 @@ LIBMMS_INSTALL_STAGING = YES LIBMMS_DEPENDENCIES = host-pkgconf libglib2 LIBMMS_LICENSE = LGPL-2.1+ LIBMMS_LICENSE_FILES = COPYING.LIB +LIBMMS_CPE_ID_VENDOR = libmms_project $(eval $(autotools-package)) diff --git a/package/libmnl/libmnl.hash b/package/libmnl/libmnl.hash index e5bb2fa603b..4b592333cb2 100644 --- a/package/libmnl/libmnl.hash +++ b/package/libmnl/libmnl.hash @@ -1,6 +1,7 @@ -# From ftp://ftp.netfilter.org/pub/libmnl/libmnl-1.0.4.tar.bz2.{md5sum,sha1sum} -md5 be9b4b5328c6da1bda565ac5dffadb2d libmnl-1.0.4.tar.bz2 -sha1 2db40dea612e88c62fd321906be40ab5f8f1685a libmnl-1.0.4.tar.bz2 +# From ftp://ftp.netfilter.org/pub/libmnl/libmnl-1.0.5.tar.bz2.{md5sum,sha1sum} +md5 0bbb70573119ec5d49435114583e7a49 libmnl-1.0.5.tar.bz2 +sha1 63c6456b77f7978a7b37e62c1b38346b2ef2d91c libmnl-1.0.5.tar.bz2 -# Hash for license file: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +# Locally calculated +sha256 274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525 libmnl-1.0.5.tar.bz2 +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libmnl/libmnl.mk b/package/libmnl/libmnl.mk index d3b33db2e09..3361d052485 100644 --- a/package/libmnl/libmnl.mk +++ b/package/libmnl/libmnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMNL_VERSION = 1.0.4 +LIBMNL_VERSION = 1.0.5 LIBMNL_SOURCE = libmnl-$(LIBMNL_VERSION).tar.bz2 LIBMNL_SITE = http://netfilter.org/projects/libmnl/files LIBMNL_INSTALL_STAGING = YES diff --git a/package/libmodbus/libmodbus.hash b/package/libmodbus/libmodbus.hash index 2931f3f3d75..b676d261de2 100644 --- a/package/libmodbus/libmodbus.hash +++ b/package/libmodbus/libmodbus.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16 libmodbus-3.1.6.tar.gz +sha256 7dfe958431d0570b271e1a5b329b76a658e89c614cf119eb5aadb725c87f8fbd libmodbus-3.1.7.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/libmodbus/libmodbus.mk b/package/libmodbus/libmodbus.mk index 584ac75055c..46eb8603920 100644 --- a/package/libmodbus/libmodbus.mk +++ b/package/libmodbus/libmodbus.mk @@ -4,10 +4,11 @@ # ################################################################################ -LIBMODBUS_VERSION = 3.1.6 +LIBMODBUS_VERSION = 3.1.7 LIBMODBUS_SITE = http://libmodbus.org/releases LIBMODBUS_LICENSE = LGPL-2.1+ LIBMODBUS_LICENSE_FILES = COPYING.LESSER +LIBMODBUS_CPE_ID_VENDOR = libmodbus LIBMODBUS_INSTALL_STAGING = YES LIBMODBUS_CONF_OPTS = --without-documentation --disable-tests diff --git a/package/libmodsecurity/0001-Fail-when-CANONICAL_HOST-cannot-be-determined.patch b/package/libmodsecurity/0001-Fail-when-CANONICAL_HOST-cannot-be-determined.patch deleted file mode 100644 index ab00a14e2ad..00000000000 --- a/package/libmodsecurity/0001-Fail-when-CANONICAL_HOST-cannot-be-determined.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0832208360aab69fbaec76225db67801840a33fe Mon Sep 17 00:00:00 2001 -From: Frank Vanbever -Date: Fri, 10 Jan 2020 11:14:43 +0100 -Subject: [PATCH] Fail when CANONICAL_HOST cannot be determined - -When the CANONICAL_HOST is unknown the configure script exits -with exit code 0 even though no makefile was produced. - -Upstream: https://github.com/SpiderLabs/ModSecurity/pull/2235 - -Signed-off-by: Frank Vanbever ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 95e48843..5e6971f4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -193,7 +193,7 @@ case $host in - ;; - *) - echo "Unknown CANONICAL_HOST $host" -- exit -+ exit 1 - ;; - esac - --- -2.20.1 - diff --git a/package/libmodsecurity/0001-configure.ac-drop-usage-of-git-at-configure-time.patch b/package/libmodsecurity/0001-configure.ac-drop-usage-of-git-at-configure-time.patch new file mode 100644 index 00000000000..14767fb28ea --- /dev/null +++ b/package/libmodsecurity/0001-configure.ac-drop-usage-of-git-at-configure-time.patch @@ -0,0 +1,79 @@ +From a2116312068b6b2c5732dfebde19b751cc81d4f3 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 1 Aug 2021 23:21:35 +0200 +Subject: [PATCH] configure.ac: drop usage of git at configure time + +The usage of git is only to print some messages at configure time, +which is not very useful, and causes a significant number of warning +when regenerating the configure script. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 23 ----------------------- + 1 file changed, 23 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 20163e1e..14e5892a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3,7 +3,6 @@ + + # Get the hash of the last commit, to be used if it is not an + # official release. +-AC_DEFUN([MSC_GIT_HASH], m4_esyscmd_s(git log -1 --format="%h" --abbrev-commit)) + AC_DEFUN([MSC_MAJOR], m4_esyscmd_s(cat headers/modsecurity/modsecurity.h | grep "define MODSECURITY_MAJOR " | awk {'print $3'} | sed 's/\"//g')) + AC_DEFUN([MSC_MINOR], m4_esyscmd_s(cat headers/modsecurity/modsecurity.h | grep "define MODSECURITY_MINOR " | awk {'print $3'} | sed 's/\"//g')) + AC_DEFUN([MSC_PATCHLEVEL], m4_esyscmd_s(cat headers/modsecurity/modsecurity.h | grep "define MODSECURITY_PATCHLEVEL " | awk {'print $3'} | sed 's/\"//g')) +@@ -25,9 +24,6 @@ m4_define([msc_version], + m4_define([msc_version_with_patchlevel], + [msc_version_major.msc_version_minor.msc_version_patchlevel]) + +-m4_define([msc_version_git], +- [m4_esyscmd_s(git describe)]) +- + m4_define([msc_version_info], + [msc_version_c_plus_a:msc_version_patchlevel:msc_version_minor]) + +@@ -73,11 +69,6 @@ AC_MSG_ERROR([\ + + ]) + fi +-# Libinjection version +-AC_DEFUN([LIBINJECTION_VERSION], m4_esyscmd_s(cd "others/libinjection" && git describe && cd ../..)) +- +-# SecLang test version +-AC_DEFUN([SECLANG_TEST_VERSION], m4_esyscmd_s(cd "test/test-cases/secrules-language-tests" && git log -1 --format="%h" --abbrev-commit && cd ../../..)) + + + # Check for yajl +@@ -217,10 +208,6 @@ AC_SUBST([MSC_VERSION_WITH_PATCHLEVEL]) + MSC_VERSION=msc_version + AC_SUBST([MSC_VERSION]) + +-MSC_GIT_VERSION=msc_version_git +-AC_SUBST([MSC_GIT_VERSION]) +- +- + AC_ARG_ENABLE(debug-logs, + [AC_HELP_STRING([--disable-debug-logs],[Turn off the SecDebugLog feature])], + +@@ -412,16 +399,6 @@ AC_OUTPUT + + + # Print a fancy summary +-echo " " +-echo " " +-echo "ModSecurity - ${MSC_GIT_VERSION} for $PLATFORM" +-echo " " +-echo " Mandatory dependencies" +-echo -n " + libInjection ...." +-echo LIBINJECTION_VERSION +-echo -n " + SecLang tests ...." +-echo SECLANG_TEST_VERSION +- + echo " " + echo " Optional dependencies" + +-- +2.31.1 + diff --git a/package/libmodsecurity/0002-modsecurity.pc.in-add-lstdc.patch b/package/libmodsecurity/0002-modsecurity.pc.in-add-lstdc.patch new file mode 100644 index 00000000000..6511e6f1e0b --- /dev/null +++ b/package/libmodsecurity/0002-modsecurity.pc.in-add-lstdc.patch @@ -0,0 +1,32 @@ +From 1a84881b280eb08852d5495c57e44351a40d3f91 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 26 Jul 2021 00:24:57 +0200 +Subject: [PATCH] modsecurity.pc.in: add -lstdc++ + +Add -lstdc++ to Libs.Private to avoid the following static build failure +with nginx: + +/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/xtensa-buildroot-linux-uclibc/10.3.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: /home/buildroot/autobuild/instance-2/output-1/host/bin/../xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libmodsecurity.a(libmodsecurity_la-transaction.o): in function `std::basic_streambuf >::sbumpc() [clone .isra.0]': +transaction.cc:(.text+0x40): undefined reference to `std::__cxx11::basic_string, std::allocator >::_M_dispose()' + +Fixes: + - http://autobuild.buildroot.org/results/e5a9eb8448980f1c5cafe97180b7d1f48ddf02ca + +Signed-off-by: Fabrice Fontaine +--- + modsecurity.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modsecurity.pc.in b/modsecurity.pc.in +index 96cdf5ca..7c895ddc 100644 +--- a/modsecurity.pc.in ++++ b/modsecurity.pc.in +@@ -8,4 +8,4 @@ Description: ModSecurity API + Version: @MSC_VERSION_WITH_PATCHLEVEL@ + Cflags: -I@includedir@ + Libs: -L@libdir@ -lmodsecurity +-Libs.private: @CURL_LDADD@ @GEOIP_LDADD@ @MAXMIND_LDADD@ @GLOBAL_LDADD@ @LIBXML2_LDADD@ @LMDB_LDADD@ @LUA_LDADD@ @PCRE_LDADD@ @SSDEEP_LDADD@ @YAJL_LDADD@ ++Libs.private: @CURL_LDADD@ @GEOIP_LDADD@ @MAXMIND_LDADD@ @GLOBAL_LDADD@ @LIBXML2_LDADD@ @LMDB_LDADD@ @LUA_LDADD@ @PCRE_LDADD@ @SSDEEP_LDADD@ @YAJL_LDADD@ -lstdc++ +-- +2.30.2 + diff --git a/package/libmodsecurity/0002-test-for-uClinux-in-configure-script.patch b/package/libmodsecurity/0002-test-for-uClinux-in-configure-script.patch deleted file mode 100644 index ccd96fea959..00000000000 --- a/package/libmodsecurity/0002-test-for-uClinux-in-configure-script.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 13c505e30474c919ed9ae552e459769c456da21e Mon Sep 17 00:00:00 2001 -From: Frank Vanbever -Date: Fri, 10 Jan 2020 11:24:43 +0100 -Subject: [PATCH] test for uClinux in configure script - -Upstream: https://github.com/SpiderLabs/ModSecurity/pull/2235 - -Signed-off-by: Frank Vanbever ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 5e6971f4..51d38071 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -156,7 +156,7 @@ case $host in - AC_DEFINE([MACOSX], [1], [Define if the operating system is Macintosh OSX]) - PLATFORM="MacOSX" - ;; -- *-*-linux*) -+ *-*-linux* | *-*uclinux*) - echo "Checking platform... Identified as Linux" - AC_DEFINE([LINUX], [1], [Define if the operating system is LINUX]) - PLATFORM="Linux" --- -2.20.1 - diff --git a/package/libmodsecurity/0003-Revert-Fix-maxminddb-link-on-FreeBSD.patch b/package/libmodsecurity/0003-Revert-Fix-maxminddb-link-on-FreeBSD.patch new file mode 100644 index 00000000000..9608e3d9350 --- /dev/null +++ b/package/libmodsecurity/0003-Revert-Fix-maxminddb-link-on-FreeBSD.patch @@ -0,0 +1,28 @@ +From 6737dc133cb4811a000c02b4e0a92b72f0b220ee Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 16 Jul 2021 19:12:51 +0200 +Subject: [PATCH] Revert "Fix maxminddb link on FreeBSD" + +This reverts commit 785958f9b5089b918c7d054cbcc2fe4a3c7b3788. + +Signed-off-by: Fabrice Fontaine +--- + build/libmaxmind.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/libmaxmind.m4 b/build/libmaxmind.m4 +index 656fc250..02820b5a 100644 +--- a/build/libmaxmind.m4 ++++ b/build/libmaxmind.m4 +@@ -10,7 +10,7 @@ dnl MAXMIND_VERSION + AC_DEFUN([PROG_MAXMIND], [ + + # Possible names for the maxmind library/package (pkg-config) +-MAXMIND_POSSIBLE_LIB_NAMES="maxminddb maxmind" ++MAXMIND_POSSIBLE_LIB_NAMES="libmaxminddb maxminddb maxmind" + + # Possible extensions for the library + MAXMIND_POSSIBLE_EXTENSIONS="so la sl dll dylib" +-- +2.30.2 + diff --git a/package/libmodsecurity/Config.in b/package/libmodsecurity/Config.in index ea58c6d0e2c..87f7a9c103d 100644 --- a/package/libmodsecurity/Config.in +++ b/package/libmodsecurity/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LIBMODSECURITY bool "libmodsecurity" depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_PCRE help @@ -16,6 +15,5 @@ config BR2_PACKAGE_LIBMODSECURITY https://github.com/SpiderLabs/ModSecurity -comment "libmodsecurity needs a toolchain w/ C++, dynamic library, threads" - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_HAS_THREADS +comment "libmodsecurity needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libmodsecurity/libmodsecurity.hash b/package/libmodsecurity/libmodsecurity.hash index ddce3ef9c66..341dbc37659 100644 --- a/package/libmodsecurity/libmodsecurity.hash +++ b/package/libmodsecurity/libmodsecurity.hash @@ -1,4 +1,4 @@ -# From https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.4/modsecurity-v3.0.4.tar.gz.sha256 -sha256 b4231177dd80b4e076b228e57d498670113b69d445bab86db25f65346c24db22 modsecurity-v3.0.4.tar.gz +# From https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.6/modsecurity-v3.0.6.tar.gz.sha256 +sha256 06315d9a32fc830997178f30a69e933c9c2364b263a2f036959bebc4dde59a08 modsecurity-v3.0.6.tar.gz # Localy calculated -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/libmodsecurity/libmodsecurity.mk b/package/libmodsecurity/libmodsecurity.mk index a84cd27b349..8fa3d598452 100644 --- a/package/libmodsecurity/libmodsecurity.mk +++ b/package/libmodsecurity/libmodsecurity.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMODSECURITY_VERSION = 3.0.4 +LIBMODSECURITY_VERSION = 3.0.6 LIBMODSECURITY_SOURCE = modsecurity-v$(LIBMODSECURITY_VERSION).tar.gz LIBMODSECURITY_SITE = https://github.com/SpiderLabs/ModSecurity/releases/download/v$(LIBMODSECURITY_VERSION) LIBMODSECURITY_INSTALL_STAGING = YES @@ -12,11 +12,8 @@ LIBMODSECURITY_LICENSE = Apache-2.0 LIBMODSECURITY_LICENSE_FILES = LICENSE LIBMODSECURITY_CPE_ID_VENDOR = trustwave LIBMODSECURITY_CPE_ID_PRODUCT = modsecurity -# 0002-test-for-uClinux-in-configure-script.patch +# We're patching build/libmaxmind.m4 LIBMODSECURITY_AUTORECONF = YES -# libinjection uses AC_CHECK_FILE, not available in cross-compile -LIBMODSECURITY_CONF_ENV = \ - ac_cv_file_others_libinjection_src_libinjection_html5_c=yes LIBMODSECURITY_DEPENDENCIES = pcre LIBMODSECURITY_CONF_OPTS = \ @@ -55,4 +52,14 @@ else LIBMODSECURITY_CONF_OPTS += --without-maxmind endif +LIBMODSECURITY_CXXFLAGS = $(TARGET_CXXFLAGS) + +# m68k_cf can't use -fPIC that libmodsecurity forces to use, so we need +# to disable it to avoid a build failure. +ifeq ($(BR2_m68k_cf),y) +LIBMODSECURITY_CXXFLAGS += -fno-PIC +endif + +LIBMODSECURITY_CONF_OPTS += CXXFLAGS="$(LIBMODSECURITY_CXXFLAGS)" + $(eval $(autotools-package)) diff --git a/package/libmpdclient/libmpdclient.hash b/package/libmpdclient/libmpdclient.hash index 882a588a88c..8219183c87a 100644 --- a/package/libmpdclient/libmpdclient.hash +++ b/package/libmpdclient/libmpdclient.hash @@ -1,3 +1,3 @@ -# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.19.tar.xz.sig, sha256 locally computed -sha256 158aad4c2278ab08e76a3f2b0166c99b39fae00ee17231bd225c5a36e977a189 libmpdclient-2.19.tar.xz +# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.20.tar.xz.sig, sha256 locally computed +sha256 18793f68e939c3301e34d8fcadea1f7daa24143941263cecadb80126194e277d libmpdclient-2.20.tar.xz sha256 9574c3b0a9c31723cc3d5f32af4655a015fff5ec6ec8115b7906cd7d9623cf32 COPYING diff --git a/package/libmpdclient/libmpdclient.mk b/package/libmpdclient/libmpdclient.mk index a880980a3ce..2103ef163e6 100644 --- a/package/libmpdclient/libmpdclient.mk +++ b/package/libmpdclient/libmpdclient.mk @@ -5,7 +5,7 @@ ################################################################################ LIBMPDCLIENT_VERSION_MAJOR = 2 -LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).19 +LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).20 LIBMPDCLIENT_SOURCE = libmpdclient-$(LIBMPDCLIENT_VERSION).tar.xz LIBMPDCLIENT_SITE = http://www.musicpd.org/download/libmpdclient/$(LIBMPDCLIENT_VERSION_MAJOR) LIBMPDCLIENT_INSTALL_STAGING = YES diff --git a/package/libmspack/libmspack.mk b/package/libmspack/libmspack.mk index e9fdc3ca8d6..f806192eec6 100644 --- a/package/libmspack/libmspack.mk +++ b/package/libmspack/libmspack.mk @@ -4,10 +4,15 @@ # ################################################################################ -LIBMSPACK_VERSION = 0.10.1alpha +LIBMSPACK_VERSION_MAJOR = 0.10.1 +LIBMSPACK_VERSION_MINOR = alpha +LIBMSPACK_VERSION = $(LIBMSPACK_VERSION_MAJOR)$(LIBMSPACK_VERSION_MINOR) LIBMSPACK_SITE = https://www.cabextract.org.uk/libmspack LIBMSPACK_LICENSE = LGPL-2.1 LIBMSPACK_LICENSE_FILES = COPYING.LIB +LIBMSPACK_CPE_ID_VENDOR = kyzer +LIBMSPACK_CPE_ID_VERSION = $(LIBMSPACK_VERSION_MAJOR) +LIBMSPACK_CPE_ID_UPDATE = $(LIBMSPACK_VERSION_MINOR) LIBMSPACK_INSTALL_STAGING = YES $(eval $(autotools-package)) diff --git a/package/libndp/0001-ndptool.c-Fix-musl-build.patch b/package/libndp/0001-ndptool.c-Fix-musl-build.patch deleted file mode 100644 index 547598c6ee8..00000000000 --- a/package/libndp/0001-ndptool.c-Fix-musl-build.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 561f80b9a848be923f37bf1afedbecf92da3b2e7 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 30 Jan 2016 16:36:39 +0100 -Subject: [PATCH 1/1] ndptool.c: Fix musl build - -Fixes a build issue with the musl C library -http://autobuild.buildroot.net/results/d42/d42bebe51bbec38f131840b6bbefdc162f0ad194/build-end.log - -Patch sent upstream: https://github.com/jpirko/libndp/pull/7 - -Signed-off-by: Bernd Kuhls ---- - utils/ndptool.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/utils/ndptool.c b/utils/ndptool.c -index 04ec4e1..c6ef48c 100644 ---- a/utils/ndptool.c -+++ b/utils/ndptool.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - - enum verbosity_level { --- -2.7.0.rc3 - diff --git a/package/libndp/libndp.hash b/package/libndp/libndp.hash index 8d4b6ef5245..389e0ba5fca 100644 --- a/package/libndp/libndp.hash +++ b/package/libndp/libndp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 44be73630ee785ed9f571f9aaaeba0e1d375fa337fd841270034c813b5b0e6fd libndp-1.7.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 c3ea76e253def89869651686a827da75b56896fe94fabd87d8c14b1d4588fd05 libndp-1.8.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libndp/libndp.mk b/package/libndp/libndp.mk index eb1f7f0c807..db1de7b81cf 100644 --- a/package/libndp/libndp.mk +++ b/package/libndp/libndp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNDP_VERSION = 1.7 +LIBNDP_VERSION = 1.8 LIBNDP_SITE = $(call github,jpirko,libndp,v$(LIBNDP_VERSION)) LIBNDP_LICENSE = LGPL-2.1+ LIBNDP_LICENSE_FILES = COPYING diff --git a/package/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-cross-build.patch b/package/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-cross-build.patch new file mode 100644 index 00000000000..793b3069c82 --- /dev/null +++ b/package/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-cross-build.patch @@ -0,0 +1,31 @@ +From a1659e261888bdbed51803132d52d9a6c6803c8a Mon Sep 17 00:00:00 2001 +From: Joachim Nilsson +Date: Sat, 19 Oct 2019 12:26:26 +0200 +Subject: [PATCH] Use standard int64_t instead of __int64_t for mingw cross + build + +Signed-off-by: Joachim Nilsson +[Retrieved from: +https://github.com/libnet/libnet/commit/a1659e261888bdbed51803132d52d9a6c6803c8a] +Signed-off-by: Fabrice Fontaine +--- + include/libnet/libnet-structures.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/libnet/libnet-structures.h b/include/libnet/libnet-structures.h +index 6084caa..34fffc6 100644 +--- a/include/libnet/libnet-structures.h ++++ b/include/libnet/libnet-structures.h +@@ -49,9 +49,9 @@ struct libnet_port_list_chain + /* libnet statistics structure */ + struct libnet_stats + { +- __int64_t packets_sent; /* packets sent */ +- __int64_t packet_errors; /* packets errors */ +- __int64_t bytes_written; /* bytes written */ ++ int64_t packets_sent; /* packets sent */ ++ int64_t packet_errors; /* packets errors */ ++ int64_t bytes_written; /* bytes written */ + }; + + diff --git a/package/libnet/0001-support-musl-libc.patch b/package/libnet/0001-support-musl-libc.patch deleted file mode 100644 index 0704157bb57..00000000000 --- a/package/libnet/0001-support-musl-libc.patch +++ /dev/null @@ -1,50 +0,0 @@ -From ffd7fab744a9ad2893169a8fb6244074604d5d0d Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Tue, 12 Aug 2014 21:51:39 +0200 -Subject: [PATCH] Support musl libc, remove support for glibc < 2.1 - -The workarounds for glibc < 2.1 (was released february 1999) break the -build with musl libc. - -It is very unlikely that 2.0 or earlier is still in use, and if so, -1) that's a big security hole -2) code wouldnt compile anyway since noone tested build in the last decade -3) user of it wouldn't expect anyway to get bleeding edge sw built on it, - so he would just use the latest version that works for him. - -Closes #52 ---- - libnet/src/libnet_link_linux.c | 11 ----------- - 1 file changed, 11 deletions(-) - -diff --git a/libnet/src/libnet_link_linux.c b/libnet/src/libnet_link_linux.c -index 054458d..3c6df3c 100644 ---- a/src/libnet_link_linux.c -+++ b/src/libnet_link_linux.c -@@ -30,26 +30,15 @@ - #include - - #include --#if (__GLIBC__) - #include - #include --#else --#include --#include --#endif - - #if (HAVE_PACKET_SOCKET) - #ifndef SOL_PACKET - #define SOL_PACKET 263 - #endif /* SOL_PACKET */ --#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1 - #include - #include /* the L2 protocols */ --#else --#include --#include --#include /* The L2 protocols */ --#endif - #endif /* HAVE_PACKET_SOCKET */ - - #include "../include/libnet.h" diff --git a/package/libnet/Config.in b/package/libnet/Config.in index 7186972b7e4..135f97e948b 100644 --- a/package/libnet/Config.in +++ b/package/libnet/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LIBNET libnet provides a portable framework for low-level network packet construction. - http://sourceforge.net/projects/libnet-dev + https://github.com/libnet/libnet diff --git a/package/libnet/libnet.hash b/package/libnet/libnet.hash index 9f62aeda60f..1f03d8f983e 100644 --- a/package/libnet/libnet.hash +++ b/package/libnet/libnet.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/libnet-dev/files/ -sha1 dffff71c325584fdcf99b80567b60f8ad985e34c libnet-1.1.6.tar.gz -md5 710296fe424a49344e5fcc0d09e53317 libnet-1.1.6.tar.gz +# From https://github.com/libnet/libnet/releases/download/v1.2/libnet-1.2.tar.gz.md5 +md5 a36c669e0cdfda6a2aa3adfb1f6fe60a libnet-1.2.tar.gz # Locally computed -sha256 961355c8bac6de11ecb8f634111986712e80a88272c0bb0954fd1810e6f47cab doc/COPYING +sha256 caa4868157d9e5f32e9c7eac9461efeff30cb28357f7f6bf07e73933fb4edaa7 libnet-1.2.tar.gz +sha256 a06f600f67f239898d85f083aeed82ce6015b1c57599ab1def00fb68787ef388 LICENSE diff --git a/package/libnet/libnet.mk b/package/libnet/libnet.mk index 966106837a0..a5a814f4d26 100644 --- a/package/libnet/libnet.mk +++ b/package/libnet/libnet.mk @@ -4,12 +4,15 @@ # ################################################################################ -LIBNET_VERSION = 1.1.6 -LIBNET_SITE = http://sourceforge.net/projects/libnet-dev/files +LIBNET_VERSION = 1.2 +LIBNET_SITE = \ + https://github.com/libnet/libnet/releases/download/v$(LIBNET_VERSION) LIBNET_INSTALL_STAGING = YES # PF_PACKET is always available on Linux LIBNET_CONF_OPTS = libnet_cv_have_packet_socket=yes LIBNET_LICENSE = BSD-2-Clause, BSD-3-Clause -LIBNET_LICENSE_FILES = doc/COPYING +LIBNET_LICENSE_FILES = LICENSE +LIBNET_CPE_ID_VENDOR = libnet_project +LIBNET_CONFIG_SCRIPTS = libnet-config $(eval $(autotools-package)) diff --git a/package/libnetconf2/0001-libnetconf2-BUGFIX-netopeer2-build-fails-when-buildi.patch b/package/libnetconf2/0001-libnetconf2-BUGFIX-netopeer2-build-fails-when-buildi.patch new file mode 100644 index 00000000000..c03fdc99993 --- /dev/null +++ b/package/libnetconf2/0001-libnetconf2-BUGFIX-netopeer2-build-fails-when-buildi.patch @@ -0,0 +1,34 @@ +From e06f291cc36c9e9a3c9c224e23109ac6dad4eb1c Mon Sep 17 00:00:00 2001 +From: Heiko Thiery +Date: Thu, 25 Nov 2021 12:29:47 +0100 +Subject: [PATCH] libnetconf2 BUGFIX netopeer2 build fails when building with + musl libc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +/home/hthiery/sources/mainline/buildroot/output/host/x86_64-buildroot-linux-musl/sysroot/usr/include/libnetconf2/session_server.h:439:55: error: unknown type name ‘mode_t’ + 439 | int nc_server_endpt_set_perms(const char *endpt_name, mode_t mode, uid_t uid, gid_t gid); + +For musl libc the include "sys/types.h" is required. + +Signed-off-by: Heiko Thiery +--- + src/session_server.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/session_server.h b/src/session_server.h +index 4507eea..4779119 100644 +--- a/src/session_server.h ++++ b/src/session_server.h +@@ -19,6 +19,7 @@ + extern "C" { + #endif + ++#include + #include + #include + +-- +2.30.2 + diff --git a/package/libnetconf2/Config.in b/package/libnetconf2/Config.in index 0a735b5ed6e..7865f9e4873 100644 --- a/package/libnetconf2/Config.in +++ b/package/libnetconf2/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBNETCONF2 bool "libnetconf2" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libyang depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU @@ -12,4 +13,5 @@ config BR2_PACKAGE_LIBNETCONF2 comment "libnetconf2 needs a toolchain w/ threads, dynamic libraray" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libnetconf2/libnetconf2.hash b/package/libnetconf2/libnetconf2.hash index a20e31e8d3b..2dee93cc4c1 100644 --- a/package/libnetconf2/libnetconf2.hash +++ b/package/libnetconf2/libnetconf2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 17aa551380ffcccc3bfd928edbcc170cbe85b0f336b361d5f03ede8f3e5f6348 libnetconf2-1.1.36.tar.gz +sha256 78ffa0bd85823abd321a1dbb09c1ead36612f2a12049638a14bb081567f86ade libnetconf2-2.0.24.tar.gz sha256 bd962ab457c8a8cb8faaaa36c11484680f3c9a47dbc336507817ae8935384064 LICENSE diff --git a/package/libnetconf2/libnetconf2.mk b/package/libnetconf2/libnetconf2.mk index 770188df916..ddbb99b7ede 100644 --- a/package/libnetconf2/libnetconf2.mk +++ b/package/libnetconf2/libnetconf2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNETCONF2_VERSION = 1.1.36 +LIBNETCONF2_VERSION = 2.0.24 LIBNETCONF2_SITE = $(call github,CESNET,libnetconf2,v$(LIBNETCONF2_VERSION)) LIBNETCONF2_INSTALL_STAGING = YES LIBNETCONF2_LICENSE = BSD-3-Clause @@ -13,7 +13,7 @@ LIBNETCONF2_DEPENDENCIES = libyang HOST_LIBNETCONF2_DEPENDENCIES = host-libyang LIBNETCONF2_CONF_OPTS = \ - -DENABLE_BUILD_TESTS=OFF \ + -DENABLE_TESTS=OFF \ -DENABLE_VALGRIND_TESTS=OFF ifeq ($(BR2_PACKAGE_LIBSSH_SERVER), y) @@ -31,7 +31,7 @@ LIBNETCONF2_CONF_OPTS += -DENABLE_TLS=OFF endif HOST_LIBNETCONF2_CONF_OPTS = \ - -DENABLE_BUILD_TESTS=OFF \ + -DENABLE_TESTS=OFF \ -DENABLE_VALGRIND_TESTS=OFF \ -DENABLE_SSH=OFF \ -DENABLE_TLS=OFF diff --git a/package/libnetfilter_log/0001-uclinux.patch b/package/libnetfilter_log/0001-uclinux.patch deleted file mode 100644 index 75d4a1e9d1f..00000000000 --- a/package/libnetfilter_log/0001-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e36a2377e7ec50f6f675eb41f79edcda6ddebe5c Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 15:48:50 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index e6e1317..189a753 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -20,7 +20,7 @@ AC_PROG_INSTALL - AC_PROG_LN_S - - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libnetfilter_log/Config.in b/package/libnetfilter_log/Config.in index 927cd0aae1b..b244e8a8e9b 100644 --- a/package/libnetfilter_log/Config.in +++ b/package/libnetfilter_log/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBNETFILTER_LOG bool "libnetfilter_log" + select BR2_PACKAGE_LIBMNL select BR2_PACKAGE_LIBNFNETLINK help libnetfilter_log is a userspace library providing interface diff --git a/package/libnetfilter_log/libnetfilter_log.hash b/package/libnetfilter_log/libnetfilter_log.hash index 292538db5d0..7589284f406 100644 --- a/package/libnetfilter_log/libnetfilter_log.hash +++ b/package/libnetfilter_log/libnetfilter_log.hash @@ -1,6 +1,5 @@ -# From ftp://ftp.netfilter.org/pub/libnetfilter_log/libnetfilter_log-1.0.1.tar.bz2.{md5sum,sha1sum} -md5 2a4bb0654ae675a52d2e8d1c06090b94 libnetfilter_log-1.0.1.tar.bz2 -sha1 0b95bcb1ad15eea906fa3607cd6c2290bd48d5bd libnetfilter_log-1.0.1.tar.bz2 +# From ftp://ftp.netfilter.org/pub/libnetfilter_log/libnetfilter_log-1.0.2.tar.bz2.sha256sum +sha256 e3f408575614d849e4726b45e90c7ebb0e6744b04859555a9ce6ec40744ffeea libnetfilter_log-1.0.2.tar.bz2 # Hash for license file: -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/libnetfilter_log/libnetfilter_log.mk b/package/libnetfilter_log/libnetfilter_log.mk index bcf755e0d07..01f94aac410 100644 --- a/package/libnetfilter_log/libnetfilter_log.mk +++ b/package/libnetfilter_log/libnetfilter_log.mk @@ -4,12 +4,11 @@ # ################################################################################ -LIBNETFILTER_LOG_VERSION = 1.0.1 +LIBNETFILTER_LOG_VERSION = 1.0.2 LIBNETFILTER_LOG_SOURCE = libnetfilter_log-$(LIBNETFILTER_LOG_VERSION).tar.bz2 LIBNETFILTER_LOG_SITE = http://www.netfilter.org/projects/libnetfilter_log/files LIBNETFILTER_LOG_INSTALL_STAGING = YES -LIBNETFILTER_LOG_DEPENDENCIES = host-pkgconf libnfnetlink -LIBNETFILTER_LOG_AUTORECONF = YES +LIBNETFILTER_LOG_DEPENDENCIES = host-pkgconf libmnl libnfnetlink LIBNETFILTER_LOG_LICENSE = GPL-2.0+ LIBNETFILTER_LOG_LICENSE_FILES = COPYING diff --git a/package/libnfnetlink/0002-include-Sync-with-kernel-headers.patch b/package/libnfnetlink/0002-include-Sync-with-kernel-headers.patch new file mode 100644 index 00000000000..f9e9c2e2eae --- /dev/null +++ b/package/libnfnetlink/0002-include-Sync-with-kernel-headers.patch @@ -0,0 +1,114 @@ +From 7a1a07c0028a1c88cd7716a058697c552a563b24 Mon Sep 17 00:00:00 2001 +From: Felix Janda +Date: Sat, 16 May 2015 14:49:07 +0200 +Subject: include: Sync with kernel headers + +Signed-off-by: Felix Janda +Signed-off-by: Pablo Neira Ayuso + +[Retrieved from: +https://git.netfilter.org/libnfnetlink/commit/?id=7a1a07c0028a1c88cd7716a058697c552a563b24] +Signed-off-by: Fabrice Fontaine +--- + include/libnfnetlink/linux_nfnetlink.h | 44 ++++----------------------- + include/libnfnetlink/linux_nfnetlink_compat.h | 12 ++++---- + 2 files changed, 12 insertions(+), 44 deletions(-) + +diff --git a/include/libnfnetlink/linux_nfnetlink.h b/include/libnfnetlink/linux_nfnetlink.h +index 76a8550..44a38d6 100644 +--- a/include/libnfnetlink/linux_nfnetlink.h ++++ b/include/libnfnetlink/linux_nfnetlink.h +@@ -25,9 +25,9 @@ enum nfnetlink_groups { + /* General form of address family dependent message. + */ + struct nfgenmsg { +- u_int8_t nfgen_family; /* AF_xxx */ +- u_int8_t version; /* nfnetlink version */ +- u_int16_t res_id; /* resource id */ ++ __u8 nfgen_family; /* AF_xxx */ ++ __u8 version; /* nfnetlink version */ ++ __be16 res_id; /* resource id */ + }; + + #define NFNETLINK_V0 0 +@@ -46,40 +46,8 @@ struct nfgenmsg { + #define NFNL_SUBSYS_CTNETLINK_EXP 2 + #define NFNL_SUBSYS_QUEUE 3 + #define NFNL_SUBSYS_ULOG 4 +-#define NFNL_SUBSYS_COUNT 5 ++#define NFNL_SUBSYS_OSF 5 ++#define NFNL_SUBSYS_IPSET 6 ++#define NFNL_SUBSYS_COUNT 7 + +-#ifdef __KERNEL__ +- +-#include +-#include +-#include +- +-struct nfnl_callback +-{ +- int (*call)(struct sock *nl, struct sk_buff *skb, +- struct nlmsghdr *nlh, struct nlattr *cda[]); +- const struct nla_policy *policy; /* netlink attribute policy */ +- const u_int16_t attr_count; /* number of nlattr's */ +-}; +- +-struct nfnetlink_subsystem +-{ +- const char *name; +- __u8 subsys_id; /* nfnetlink subsystem ID */ +- __u8 cb_count; /* number of callbacks */ +- const struct nfnl_callback *cb; /* callback for individual types */ +-}; +- +-extern int nfnetlink_subsys_register(const struct nfnetlink_subsystem *n); +-extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n); +- +-extern int nfnetlink_has_listeners(unsigned int group); +-extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, +- int echo); +-extern int nfnetlink_unicast(struct sk_buff *skb, u_int32_t pid, int flags); +- +-#define MODULE_ALIAS_NFNL_SUBSYS(subsys) \ +- MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys)) +- +-#endif /* __KERNEL__ */ + #endif /* _NFNETLINK_H */ +diff --git a/include/libnfnetlink/linux_nfnetlink_compat.h b/include/libnfnetlink/linux_nfnetlink_compat.h +index e145176..74b9e55 100644 +--- a/include/libnfnetlink/linux_nfnetlink_compat.h ++++ b/include/libnfnetlink/linux_nfnetlink_compat.h +@@ -1,6 +1,8 @@ + #ifndef _NFNETLINK_COMPAT_H + #define _NFNETLINK_COMPAT_H +-#ifndef __KERNEL__ ++ ++#include ++ + /* Old nfnetlink macros for userspace */ + + /* nfnetlink groups: Up to 32 maximum */ +@@ -18,10 +20,9 @@ + * ! nfnetlink use the same attributes methods. - J. Schulist. + */ + +-struct nfattr +-{ +- u_int16_t nfa_len; +- u_int16_t nfa_type; /* we use 15 bits for the type, and the highest ++struct nfattr { ++ __u16 nfa_len; ++ __u16 nfa_type; /* we use 15 bits for the type, and the highest + * bit to indicate whether the payload is nested */ + }; + +@@ -57,5 +58,4 @@ struct nfattr + + NLMSG_ALIGN(sizeof(struct nfgenmsg)))) + #define NFM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg)) + +-#endif /* ! __KERNEL__ */ + #endif /* _NFNETLINK_COMPAT_H */ +-- +cgit v1.2.3 + diff --git a/package/libnftnl/Config.in b/package/libnftnl/Config.in index 347223ce22a..0d17751e509 100644 --- a/package/libnftnl/Config.in +++ b/package/libnftnl/Config.in @@ -13,13 +13,3 @@ config BR2_PACKAGE_LIBNFTNL currently used by nftables. http://netfilter.org/projects/libnftnl/index.html - -if BR2_PACKAGE_LIBNFTNL - -config BR2_PACKAGE_LIBNFTNL_JSON - bool "enable JSON support" - select BR2_PACKAGE_JANSSON - help - Enable JSON parsing support - -endif diff --git a/package/libnftnl/libnftnl.hash b/package/libnftnl/libnftnl.hash index f22b02af098..0a183eedcf2 100644 --- a/package/libnftnl/libnftnl.hash +++ b/package/libnftnl/libnftnl.hash @@ -1,3 +1,3 @@ # From http://www.netfilter.org/projects/libnftnl/downloads.html -sha256 20dbc13f11004aea2c9e479cfb90359cb11fe3446c3140811c18e4ec1648ed8f libnftnl-1.1.7.tar.bz2 +sha256 7508a5c414fab13e3cb3ce8262d0ce4f02c1590a8e4f8628ab497b5b4585937c libnftnl-1.2.1.tar.bz2 sha256 98193898c663001eff2fdcfb676e210c13042bc1a05e8d570c363efa396f8e24 COPYING diff --git a/package/libnftnl/libnftnl.mk b/package/libnftnl/libnftnl.mk index f4487bdebe3..7ba1158154d 100644 --- a/package/libnftnl/libnftnl.mk +++ b/package/libnftnl/libnftnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFTNL_VERSION = 1.1.7 +LIBNFTNL_VERSION = 1.2.1 LIBNFTNL_SITE = https://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.bz2 LIBNFTNL_LICENSE = GPL-2.0+ @@ -12,11 +12,4 @@ LIBNFTNL_LICENSE_FILES = COPYING LIBNFTNL_INSTALL_STAGING = YES LIBNFTNL_DEPENDENCIES = host-pkgconf libmnl -ifeq ($(BR2_PACKAGE_LIBNFTNL_JSON),y) -LIBNFTNL_CONF_OPTS += --with-json-parsing -LIBNFTNL_DEPENDENCIES += jansson -else -LIBNFTNL_CONF_OPTS += --without-json-parsing -endif - $(eval $(autotools-package)) diff --git a/package/libnice/libnice.hash b/package/libnice/libnice.hash index 61be9517e39..55785cd5ff8 100644 --- a/package/libnice/libnice.hash +++ b/package/libnice/libnice.hash @@ -1,7 +1,7 @@ # Locally computed after checking pgp signature -sha256 06b678066f94dde595a4291588ed27acd085ee73775b8c4e8399e28c01eeefdf libnice-0.1.16.tar.gz +sha256 5eabd25ba2b54e817699832826269241abaa1cf78f9b240d1435f936569273f4 libnice-0.1.18.tar.gz # Hash for license files: -sha256 9246b2ee8b1db30cf03d5d9719ad8bb5edce1cadc85f8cfef319c23d24d950b5 COPYING -sha256 3b3c75ae6c663c4f93987647eb5463d33dc1602a1aded3ac479773f2c3928e3a COPYING.MPL -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LGPL +sha256 9246b2ee8b1db30cf03d5d9719ad8bb5edce1cadc85f8cfef319c23d24d950b5 COPYING +sha256 3b3c75ae6c663c4f93987647eb5463d33dc1602a1aded3ac479773f2c3928e3a COPYING.MPL +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LGPL diff --git a/package/libnice/libnice.mk b/package/libnice/libnice.mk index 8cbf0035295..5889b24ba21 100644 --- a/package/libnice/libnice.mk +++ b/package/libnice/libnice.mk @@ -4,29 +4,36 @@ # ################################################################################ -LIBNICE_VERSION = 0.1.16 +LIBNICE_VERSION = 0.1.18 LIBNICE_SITE = http://nice.freedesktop.org/releases LIBNICE_LICENSE = MPL-1.1 or LGPL-2.1 LIBNICE_LICENSE_FILES = COPYING COPYING.MPL COPYING.LGPL LIBNICE_DEPENDENCIES = libglib2 host-pkgconf LIBNICE_INSTALL_STAGING = YES -LIBNICE_CONF_OPTS = --without-gstreamer-0.10 +LIBNICE_CONF_OPTS = \ + -Dexamples=disabled \ + -Dtests=disabled ifeq ($(BR2_PACKAGE_GNUTLS),y) -LIBNICE_CONF_OPTS += --with-crypto-library=gnutls +LIBNICE_CONF_OPTS += -Dcrypto-library=gnutls LIBNICE_DEPENDENCIES += gnutls else -LIBNICE_CONF_OPTS += \ - --with-crypto-library=openssl \ - --with-openssl=$(STAGING_DIR)/usr +LIBNICE_CONF_OPTS += -Dcrypto-library=openssl LIBNICE_DEPENDENCIES += openssl endif +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBNICE_CONF_OPTS += -Dintrospection=enabled +LIBNICE_DEPENDENCIES += gobject-introspection +else +LIBNICE_CONF_OPTS += -Dintrospection=disabled +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) -LIBNICE_CONF_OPTS += --with-gstreamer +LIBNICE_CONF_OPTS += -Dgstreamer=enabled LIBNICE_DEPENDENCIES += gst1-plugins-base else -LIBNICE_CONF_OPTS += --without-gstreamer +LIBNICE_CONF_OPTS += -Dgstreamer=disabled endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libnids/libnids.mk b/package/libnids/libnids.mk index fb3df318b47..3e36838c401 100644 --- a/package/libnids/libnids.mk +++ b/package/libnids/libnids.mk @@ -8,14 +8,11 @@ LIBNIDS_VERSION = 1.24 LIBNIDS_SITE = https://sourceforge.net/projects/libnids/files/libnids/$(LIBNIDS_VERSION) LIBNIDS_LICENSE = GPL-2.0 LIBNIDS_LICENSE_FILES = COPYING +LIBNIDS_CPE_ID_VENDOR = libnids_project LIBNIDS_INSTALL_STAGING = YES LIBNIDS_DEPENDENCIES = host-pkgconf libpcap LIBNIDS_AUTORECONF = YES -# CVE-2010-0751 was fixed in libnids v1.24 but the NVD database is not -# aware of the fix, ignore it until this is updated -LIBNIDS_IGNORE_CVES += CVE-2010-0751 - # disable libnet if not available # Tests in configure.in expect --with-libnet=$build_dir # not an installation patch like in our context. diff --git a/package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch b/package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch index 845a5937616..2419ae282c9 100644 --- a/package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch +++ b/package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch @@ -1,7 +1,7 @@ From db0d59cd06f3ffd350379847c0885e1bfb85af0f Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 7 Mar 2015 11:34:42 +0100 -Subject: [PATCH 2/2] build: add Libs.private field in libnl pkg-config file +Subject: [PATCH] build: add Libs.private field in libnl pkg-config file In order to support static linking, the libnl pkg-config file should indicate in its Libs.private field the libraries that libnl-3.0.a diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk index 795dfc23168..fc9398b29ae 100644 --- a/package/libnl/libnl.mk +++ b/package/libnl/libnl.mk @@ -8,6 +8,8 @@ LIBNL_VERSION = 3.5.0 LIBNL_SITE = https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(LIBNL_VERSION)) LIBNL_LICENSE = LGPL-2.1+ LIBNL_LICENSE_FILES = COPYING +LIBNL_CPE_ID_VENDOR = libnl_project + LIBNL_INSTALL_STAGING = YES LIBNL_DEPENDENCIES = host-bison host-flex host-pkgconf diff --git a/package/libnpupnp/libnpupnp.hash b/package/libnpupnp/libnpupnp.hash index ce39db4d8d2..15ee26c6d24 100644 --- a/package/libnpupnp/libnpupnp.hash +++ b/package/libnpupnp/libnpupnp.hash @@ -1,5 +1,5 @@ -# Hash from: http://www.lesbonscomptes.com/upmpdcli/downloads/libnpupnp-4.0.14.tar.gz.sha256 -sha256 ea5f5bf388bf8c028a25630c58e9a42762fddd357e7e2581b192856e01aad044 libnpupnp-4.0.14.tar.gz +# Hash from: http://www.lesbonscomptes.com/upmpdcli/downloads/libnpupnp-4.2.2.tar.gz.sha256 +sha256 cb3968773d30e2bfc765547df514fdc8927b9a37ecccca2e260ee8b612e756bc libnpupnp-4.2.2.tar.gz # Hash for license file: sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/package/libnpupnp/libnpupnp.mk b/package/libnpupnp/libnpupnp.mk index efffd7f8a5c..d7192ec3f1d 100644 --- a/package/libnpupnp/libnpupnp.mk +++ b/package/libnpupnp/libnpupnp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNPUPNP_VERSION = 4.0.14 +LIBNPUPNP_VERSION = 4.2.2 LIBNPUPNP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads LIBNPUPNP_LICENSE = BSD-3-Clause LIBNPUPNP_LICENSE_FILES = COPYING diff --git a/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch b/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch new file mode 100644 index 00000000000..10bf74130c7 --- /dev/null +++ b/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch @@ -0,0 +1,33 @@ +From 00e5b818f2d9f3264107801fc2fcff33a9355a78 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sun, 17 Apr 2022 23:55:26 +0200 +Subject: [PATCH] Bug 1765100 - fix build on mips+musl libc + +This patch fix build failure on mips with musl libc by using Linux + instead of the one provided by libc since musl doesn't +provide . + +Signed-off-by: Giulio Benetti +--- +This patch is pending upstream: +https://bugzilla.mozilla.org/show_bug.cgi?id=1765100 +--- + nspr/pr/include/md/_linux.cfg | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/nspr/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg +index 23b160fd..dbc0d40e 100644 +--- a/nspr/pr/include/md/_linux.cfg ++++ b/nspr/pr/include/md/_linux.cfg +@@ -499,7 +499,7 @@ + #elif defined(__mips__) + + /* For _ABI64 */ +-#include ++#include + + #ifdef __MIPSEB__ + #define IS_BIG_ENDIAN 1 +-- +2.25.1 + diff --git a/package/libnspr/libnspr.hash b/package/libnspr/libnspr.hash index f8f8fa76b9d..0064a9b2792 100644 --- a/package/libnspr/libnspr.hash +++ b/package/libnspr/libnspr.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/nspr/releases/v4.29/src/SHA256SUMS -sha256 22286bdb8059d74632cc7c2865c139e63953ecfb33bf4362ab58827e86e92582 nspr-4.29.tar.gz +# From https://ftp.mozilla.org/pub/nspr/releases/v4.33/src/SHA256SUMS +sha256 b23ee315be0e50c2fb1aa374d17f2d2d9146a835b1a79c1918ea15d075a693d7 nspr-4.33.tar.gz # Locally calculated sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 nspr/LICENSE diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk index 6f072cb6d22..7491d18884f 100644 --- a/package/libnspr/libnspr.mk +++ b/package/libnspr/libnspr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSPR_VERSION = 4.29 +LIBNSPR_VERSION = 4.33 LIBNSPR_SOURCE = nspr-$(LIBNSPR_VERSION).tar.gz LIBNSPR_SITE = https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(LIBNSPR_VERSION)/src LIBNSPR_SUBDIR = nspr @@ -12,6 +12,8 @@ LIBNSPR_INSTALL_STAGING = YES LIBNSPR_CONFIG_SCRIPTS = nspr-config LIBNSPR_LICENSE = MPL-2.0 LIBNSPR_LICENSE_FILES = nspr/LICENSE +LIBNSPR_CPE_ID_VENDOR = mozilla +LIBNSPR_CPE_ID_PRODUCT = netscape_portable_runtime # Set the host CFLAGS and LDFLAGS so NSPR does not guess wrongly LIBNSPR_CONF_ENV = \ diff --git a/package/libnss/libnss.hash b/package/libnss/libnss.hash index ad632f724ab..07fb340c335 100644 --- a/package/libnss/libnss.hash +++ b/package/libnss/libnss.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_61_RTM/src/SHA256SUMS -sha256 312e2d804b34ccf0fec70b57cf8cd6ac853f8ced60df53e30ebb0a7bcd0e1370 nss-3.61.tar.gz +# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_75_RTM/src/SHA256SUMS +sha256 fd571507827284644f4dd522a032acda2286835f6683ed22a1c2d3878cc58582 nss-3.75.tar.gz # Locally calculated sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 nss/COPYING diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk index 3bc3197e34e..a9549e48ddd 100644 --- a/package/libnss/libnss.mk +++ b/package/libnss/libnss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSS_VERSION = 3.61 +LIBNSS_VERSION = 3.75 LIBNSS_SOURCE = nss-$(LIBNSS_VERSION).tar.gz LIBNSS_SITE = https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(subst .,_,$(LIBNSS_VERSION))_RTM/src LIBNSS_DISTDIR = dist @@ -12,6 +12,15 @@ LIBNSS_INSTALL_STAGING = YES LIBNSS_DEPENDENCIES = libnspr sqlite zlib LIBNSS_LICENSE = MPL-2.0 LIBNSS_LICENSE_FILES = nss/COPYING +LIBNSS_CPE_ID_VENDOR = mozilla +LIBNSS_CPE_ID_PRODUCT = nss + +# Don't parallel build if make version = 4.3 +ifneq ($(filter $(RUNNING_MAKE_VERSION),4.3),) +LIBNSS_MAKE = $(MAKE1) +else +LIBNSS_MAKE = $(MAKE) +endif LIBNSS_CFLAGS = $(TARGET_CFLAGS) @@ -69,12 +78,12 @@ endif endif define LIBNSS_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss coreconf \ + $(TARGET_CONFIGURE_OPTS) $(LIBNSS_MAKE) -C $(@D)/nss coreconf \ SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ DIST=$(@D)/$(LIBNSS_DISTDIR) \ CHECKLOC= \ $(LIBNSS_BUILD_VARS) - $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss lib/dbm all \ + $(TARGET_CONFIGURE_OPTS) $(LIBNSS_MAKE) -C $(@D)/nss lib/dbm all \ SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ DIST=$(@D)/$(LIBNSS_DISTDIR) \ CHECKLOC= \ @@ -129,12 +138,12 @@ HOST_LIBNSS_BUILD_VARS += USE_64=1 endif define HOST_LIBNSS_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss coreconf \ + $(HOST_CONFIGURE_OPTS) $(LIBNSS_MAKE) -C $(@D)/nss coreconf \ SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ DIST=$(@D)/$(LIBNSS_DISTDIR) \ CHECKLOC= \ $(HOST_LIBNSS_BUILD_VARS) - $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss lib/dbm all \ + $(HOST_CONFIGURE_OPTS) $(LIBNSS_MAKE) -C $(@D)/nss lib/dbm all \ SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ DIST=$(@D)/$(LIBNSS_DISTDIR) \ CHECKLOC= \ diff --git a/package/libodb-boost/libodb-boost.mk b/package/libodb-boost/libodb-boost.mk index 679c9d7a386..996759a03ac 100644 --- a/package/libodb-boost/libodb-boost.mk +++ b/package/libodb-boost/libodb-boost.mk @@ -12,5 +12,9 @@ LIBODB_BOOST_INSTALL_STAGING = YES LIBODB_BOOST_LICENSE = GPL-2.0 LIBODB_BOOST_LICENSE_FILES = LICENSE LIBODB_BOOST_DEPENDENCIES = boost libodb +HOST_LIBODB_BOOST_DEPENDENCIES = host-boost host-libodb +LIBODB_BOOST_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" +HOST_LIBODB_BOOST_CONF_ENV = CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/libodb-mysql/libodb-mysql.mk b/package/libodb-mysql/libodb-mysql.mk index a9040c65f8d..88b6f4cb31f 100644 --- a/package/libodb-mysql/libodb-mysql.mk +++ b/package/libodb-mysql/libodb-mysql.mk @@ -12,6 +12,8 @@ LIBODB_MYSQL_INSTALL_STAGING = YES LIBODB_MYSQL_LICENSE = GPL-2.0 LIBODB_MYSQL_LICENSE_FILES = LICENSE LIBODB_MYSQL_DEPENDENCIES = libodb mysql -LIBODB_MYSQL_CONF_ENV = LIBS=`$(STAGING_DIR)/usr/bin/mysql_config --libs` +LIBODB_MYSQL_CONF_ENV = \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" \ + LIBS=`$(STAGING_DIR)/usr/bin/mysql_config --libs` $(eval $(autotools-package)) diff --git a/package/libodb-pgsql/libodb-pgsql.mk b/package/libodb-pgsql/libodb-pgsql.mk index 038f7878c03..014116883fe 100644 --- a/package/libodb-pgsql/libodb-pgsql.mk +++ b/package/libodb-pgsql/libodb-pgsql.mk @@ -12,5 +12,6 @@ LIBODB_PGSQL_LICENSE = GPL-2.0 LIBODB_PGSQL_LICENSE_FILES = LICENSE LIBODB_PGSQL_INSTALL_STAGING = YES LIBODB_PGSQL_DEPENDENCIES = postgresql libodb +LIBODB_PGSQL_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" $(eval $(autotools-package)) diff --git a/package/libodb/libodb.mk b/package/libodb/libodb.mk index f36d8957c0d..b25e8ac5014 100644 --- a/package/libodb/libodb.mk +++ b/package/libodb/libodb.mk @@ -11,5 +11,8 @@ LIBODB_SITE = https://www.codesynthesis.com/download/odb/$(LIBODB_VERSION_MAJOR) LIBODB_INSTALL_STAGING = YES LIBODB_LICENSE = GPL-2.0 LIBODB_LICENSE_FILES = LICENSE +LIBODB_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" +HOST_LIBODB_CONF_ENV = CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/libogg/Config.in b/package/libogg/Config.in index bf719ff4d78..48c62063c28 100644 --- a/package/libogg/Config.in +++ b/package/libogg/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBOGG with all Xiph.org technology is it an open format free for anyone to use. - http://xiph.org/ogg/ + https://xiph.org/ogg/ diff --git a/package/libogg/libogg.hash b/package/libogg/libogg.hash index 5d95c85d3ab..9727c1cfaa1 100644 --- a/package/libogg/libogg.hash +++ b/package/libogg/libogg.hash @@ -1,7 +1,5 @@ -# From: http://www.xiph.org/downloads/ -md5 eadef24aad6e3e8379ba0d14971fd64a libogg-1.3.4.tar.xz -sha1 f07499a35566aa62affb5ca989f62eed5b8092c3 libogg-1.3.4.tar.xz -sha256 c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe libogg-1.3.4.tar.xz +# From https://www.xiph.org/downloads/ +sha256 c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705 libogg-1.3.5.tar.xz # Hash for license file: -sha256 d2ab5758336489da61c12cc5bb757da5339c4ae9001f9bb0562b4370249af814 COPYING +sha256 d2ab5758336489da61c12cc5bb757da5339c4ae9001f9bb0562b4370249af814 COPYING diff --git a/package/libogg/libogg.mk b/package/libogg/libogg.mk index 08e5f87b720..49f9c7b6acb 100644 --- a/package/libogg/libogg.mk +++ b/package/libogg/libogg.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOGG_VERSION = 1.3.4 +LIBOGG_VERSION = 1.3.5 LIBOGG_SOURCE = libogg-$(LIBOGG_VERSION).tar.xz LIBOGG_SITE = http://downloads.xiph.org/releases/ogg LIBOGG_LICENSE = BSD-3-Clause diff --git a/package/libolm/libolm.hash b/package/libolm/libolm.hash index c080c7eaf3d..044bb24f061 100644 --- a/package/libolm/libolm.hash +++ b/package/libolm/libolm.hash @@ -1,3 +1,3 @@ # locally computed -sha256 d947d9570345e68696668cb855f1a6a7141b7b89cbcc15a08b1fae18535c4c45 olm-3.2.1.tar.gz +sha256 614c0e4dc4721f57e56c3385bd8def2f71c6631f928a480efd0b4bd8e5435df9 olm-3.2.9.tar.gz sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/package/libolm/libolm.mk b/package/libolm/libolm.mk index 034b3449d9c..607e50702f6 100644 --- a/package/libolm/libolm.mk +++ b/package/libolm/libolm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOLM_VERSION = 3.2.1 +LIBOLM_VERSION = 3.2.9 LIBOLM_SOURCE = olm-$(LIBOLM_VERSION).tar.gz LIBOLM_SITE = https://gitlab.matrix.org/matrix-org/olm/-/archive/$(LIBOLM_VERSION) LIBOLM_LICENSE = Apache-2.0 diff --git a/package/libopenaptx/Config.in b/package/libopenaptx/Config.in new file mode 100644 index 00000000000..46ff08a2d1e --- /dev/null +++ b/package/libopenaptx/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBOPENAPTX + bool "libopenaptx" + # unconditionallly builds a shared lib + depends on !BR2_STATIC_LIBS + help + This is Open Source implementation of Audio Processing + Technology codec (aptX) originally derived from ffmpeg 4.0 + project and licensed under GPLv3+. This codec is mainly used + in Bluetooth A2DP profile. + + https://github.com/pali/libopenaptx + +comment "libopenaptx needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libopenaptx/libopenaptx.hash b/package/libopenaptx/libopenaptx.hash new file mode 100644 index 00000000000..76b4e66c9b2 --- /dev/null +++ b/package/libopenaptx/libopenaptx.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a19b3b642def6f86441b73dd4efda6e6f13d49e7e2d6e5e91cc7eb464ebb505a libopenaptx-0.2.1.tar.gz diff --git a/package/libopenaptx/libopenaptx.mk b/package/libopenaptx/libopenaptx.mk new file mode 100644 index 00000000000..c2f5fa23909 --- /dev/null +++ b/package/libopenaptx/libopenaptx.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# libopenaptx +# +################################################################################ + +LIBOPENAPTX_VERSION = 0.2.1 +LIBOPENAPTX_SITE = $(call github,pali,libopenaptx,$(LIBOPENAPTX_VERSION)) +LIBOPENAPTX_LICENSE = GPL-3.0+ +LIBOPENAPTX_LICENSE_FILES = COPYING +LIBOPENAPTX_INSTALL_STAGING = YES + +define LIBOPENAPTX_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) +endef + +define LIBOPENAPTX_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + DESTDIR=$(TARGET_DIR) \ + PREFIX=/usr install +endef + +define LIBOPENAPTX_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + DESTDIR=$(STAGING_DIR) \ + PREFIX=/usr install +endef + +$(eval $(generic-package)) diff --git a/package/libopenh264/0001-Add-USE_STACK_PROTECTOR-option.patch b/package/libopenh264/0001-Add-USE_STACK_PROTECTOR-option.patch deleted file mode 100644 index 3758cd668ba..00000000000 --- a/package/libopenh264/0001-Add-USE_STACK_PROTECTOR-option.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 1e7435751c055723b7103dd1d5bb68530e1a2678 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 8 Oct 2019 20:18:18 +0200 -Subject: [PATCH] Add USE_STACK_PROTECTOR option - --fstack-protector-all is not supported on all linux toolchains so add an -option to disable it (and enable it by default to keep current behavior) - -Fixes: - - http://autobuild.buildroot.org/results/377818cf8c1f2632cabdccb32bf4e7f06c0fdbbd - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/cisco/openh264/pull/3175] ---- - Makefile | 1 + - build/platform-android.mk | 5 ++++- - build/platform-bsd.mk | 5 ++++- - build/platform-darwin.mk | 5 ++++- - build/platform-linux.mk | 5 ++++- - 5 files changed, 17 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 74ff029d..c2061f6a 100644 ---- a/Makefile -+++ b/Makefile -@@ -34,6 +34,7 @@ GTEST_VER=release-1.8.1 - CCASFLAGS=$(CFLAGS) - STATIC_LDFLAGS=-lstdc++ - STRIP ?= strip -+USE_STACK_PROTECTOR = Yes - - SHAREDLIB_MAJORVERSION=5 - FULL_VERSION := 2.0.0 -diff --git a/build/platform-android.mk b/build/platform-android.mk -index 6f6ce347..06534301 100644 ---- a/build/platform-android.mk -+++ b/build/platform-android.mk -@@ -44,7 +44,10 @@ SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH) - CXX = $(TOOLCHAINPREFIX)g++ - CC = $(TOOLCHAINPREFIX)gcc - AR = $(TOOLCHAINPREFIX)ar --CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP -fstack-protector-all -+CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP -+ifeq ($(USE_STACK_PROTECTOR), Yes) -+CFLAGS +=-fstack-protector-all -+endif - CFLAGS += -isystem $(NDKROOT)/sysroot/usr/include -isystem $(NDKROOT)/sysroot/usr/include/$(TOOLCHAIN_NAME) -D__ANDROID_API__=$(NDKLEVEL) - CXXFLAGS += -fno-rtti -fno-exceptions - LDFLAGS += --sysroot=$(SYSROOT) -diff --git a/build/platform-bsd.mk b/build/platform-bsd.mk -index e60d2cc0..2e0bf2cc 100644 ---- a/build/platform-bsd.mk -+++ b/build/platform-bsd.mk -@@ -3,7 +3,10 @@ SHAREDLIBSUFFIX = so - SHAREDLIBSUFFIXFULLVER=$(SHAREDLIBSUFFIX).$(FULL_VERSION) - SHAREDLIBSUFFIXMAJORVER=$(SHAREDLIBSUFFIX).$(SHAREDLIB_MAJORVERSION) - SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) --CFLAGS += -fPIC -fstack-protector-all -+CFLAGS += -fPIC -+ifeq ($(USE_STACK_PROTECTOR), Yes) -+CFLAGS += -fstack-protector-all -+endif - LDFLAGS += -lpthread - STATIC_LDFLAGS += -lpthread -lm - ifeq ($(ASM_ARCH), x86) -diff --git a/build/platform-darwin.mk b/build/platform-darwin.mk -index 6c7b2443..718c8e2f 100644 ---- a/build/platform-darwin.mk -+++ b/build/platform-darwin.mk -@@ -10,7 +10,10 @@ SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \ - $(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) - SHARED = -dynamiclib - SHARED += -current_version $(CURRENT_VERSION) -compatibility_version $(COMPATIBILITY_VERSION) --CFLAGS += -Wall -fPIC -MMD -MP -fstack-protector-all -+CFLAGS += -Wall -fPIC -MMD -MP -+ifeq ($(USE_STACK_PROTECTOR), Yes) -+CFLAGS += -fstack-protector-all -+endif - ifeq ($(ASM_ARCH), x86) - ASMFLAGS += -DPREFIX - ifeq ($(ARCH), x86_64) -diff --git a/build/platform-linux.mk b/build/platform-linux.mk -index 44fe2424..b5c006b2 100644 ---- a/build/platform-linux.mk -+++ b/build/platform-linux.mk -@@ -3,7 +3,10 @@ SHAREDLIBSUFFIX = so - SHAREDLIBSUFFIXFULLVER=$(SHAREDLIBSUFFIX).$(FULL_VERSION) - SHAREDLIBSUFFIXMAJORVER=$(SHAREDLIBSUFFIX).$(SHAREDLIB_MAJORVERSION) - SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) --CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP -fstack-protector-all -+CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP -+ifeq ($(USE_STACK_PROTECTOR), Yes) -+CFLAGS += -fstack-protector-all -+endif - LDFLAGS += -lpthread - STATIC_LDFLAGS += -lpthread -lm - AR_OPTS = crD $@ --- -2.23.0 - diff --git a/package/libopenh264/0002-fix-mips-build.patch b/package/libopenh264/0002-fix-mips-build.patch deleted file mode 100644 index c4927d567bb..00000000000 --- a/package/libopenh264/0002-fix-mips-build.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 9d5981eecde2133b9d6099eb99f96b1c29c3e520 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Mon, 13 Apr 2020 12:03:01 +0200 -Subject: [PATCH] fix mips build - -In total three PR were sent upstream to fix mips builds: -https://github.com/cisco/openh264/pull/3185 -https://github.com/cisco/openh264/pull/3217 -https://github.com/cisco/openh264/pull/3225 - -Buildroot used the first version -https://git.buildroot.net/buildroot/commit/package/libopenh264?id=e8d0df569e1844f7ba28918a53ee38027b325b8f -downloaded from https://github.com/cisco/openh264/pull/3185 - -During discussion the gcc option '-march=loongson3a' was changed to -'-Wa,-mloongson-mmi,-mloongson-ext': -https://github.com/cisco/openh264/pull/3185#discussion_r337818960 - -This causes build errors with gcc version 8.3.0 (Buildroot 2020.02) - -tmp/cctgEQaw.s:662: Error: opcode not supported on this processor: loongson3a (mips64r2) `bc .L22' -/tmp/cctgEQaw.s:1679: Error: opcode not supported on this processor: loongson3a (mips64r2) `bc .L27' -/tmp/cctgEQaw.s:2218: Error: opcode not supported on this processor: loongson3a (mips64r2) `jrc $31' - -This patch partly reverts the change to fix mips build. - -$ /home/bernd/buildroot/br5/output/host/bin/mips64el-linux-gcc -v - -Using built-in specs. -COLLECT_GCC=/home/bernd/buildroot/br5/output/host/opt/ext-toolchain/bin/mips64el-linux-gcc.br_real -COLLECT_LTO_WRAPPER=/home/bernd/buildroot/br5/output/host/opt/ext-toolchain/bin/../libexec/gcc/mips64el-buildroot-linux-gnu/8.3.0/lto-wrapper -Target: mips64el-buildroot-linux-gnu -Configured with: ./configure --prefix=/opt/br-mips64r6-n64-el-hf-2020.02 --sysconfdir=/opt/br-mips64r6-n64-el-hf-2020.02/etc --enable-static --target=mips64el-buildroot-linux-gnu --with-sysroot=/opt/br-mips64r6-n64-el-hf-2020.02/mips64el-buildroot-linux-gnu/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --with-gmp=/opt/br-mips64r6-n64-el-hf-2020.02 --with-mpc=/opt/br-mips64r6-n64-el-hf-2020.02 --with-mpfr=/opt/br-mips64r6-n64-el-hf-2020.02 --with-pkgversion='Buildroot 2020.02' --with-bugurl=http://bugs.buildroot.net/ --disable-libquadmath --enable-tls --enable-threads --without-isl --without-cloog --with-arch=mips64r6 --with-abi=64 --with-nan=2008 --enable-languages=c,c++ --with-build-time-tools=/opt/br-mips64r6-n64-el-hf-2020.02/mips64el-buildroot-linux-gnu/bin --enable-shared --disable-libgomp -Thread model: posix -gcc version 8.3.0 (Buildroot 2020.02) - -Patch sent upstream: https://github.com/cisco/openh264/pull/3267 - -Signed-off-by: Bernd Kuhls ---- - build/arch.mk | 2 +- - build/mips-simd-check.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/build/arch.mk b/build/arch.mk -index 1bf318ab..c6570ed4 100644 ---- a/build/arch.mk -+++ b/build/arch.mk -@@ -41,7 +41,7 @@ ASMFLAGS += -I$(SRC_PATH)codec/common/mips/ - ifeq ($(ENABLE_MMI), Yes) - ENABLE_MMI = $(shell $(SRC_PATH)build/mips-simd-check.sh $(CC) mmi) - ifeq ($(ENABLE_MMI), Yes) --CFLAGS += -DHAVE_MMI -Wa,-mloongson-mmi,-mloongson-ext -+CFLAGS += -DHAVE_MMI -march=loongson3a - endif - endif - #msa -diff --git a/build/mips-simd-check.sh b/build/mips-simd-check.sh -index 5efffbef..d0d72f9e 100755 ---- a/build/mips-simd-check.sh -+++ b/build/mips-simd-check.sh -@@ -15,7 +15,7 @@ TMPO=$(mktemp tmp.XXXXXX.o) - if [ $2 == "mmi" ] - then - echo "void main(void){ __asm__ volatile(\"punpcklhw \$f0, \$f0, \$f0\"); }" > $TMPC -- $1 -Wa,-mloongson-mmi $TMPC -o $TMPO &> /dev/null -+ $1 -march=loongson3a $TMPC -o $TMPO &> /dev/null - if test -s $TMPO - then - echo "Yes" --- -2.25.0 - diff --git a/package/libopenh264/libopenh264.hash b/package/libopenh264/libopenh264.hash index 0689ab961f0..712425a0248 100644 --- a/package/libopenh264/libopenh264.hash +++ b/package/libopenh264/libopenh264.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 af173e90fce65f80722fa894e1af0d6b07572292e76de7b65273df4c0a8be678 libopenh264-2.1.1.tar.gz +sha256 e4e5c8ba48e64ba6ce61e8b6e2b76b2d870c74c270147649082feabb40f25905 libopenh264-2.2.0.tar.gz sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb LICENSE diff --git a/package/libopenh264/libopenh264.mk b/package/libopenh264/libopenh264.mk index 0c175799790..ea41f726616 100644 --- a/package/libopenh264/libopenh264.mk +++ b/package/libopenh264/libopenh264.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENH264_VERSION = 2.1.1 +LIBOPENH264_VERSION = 2.2.0 LIBOPENH264_SITE = $(call github,cisco,openh264,v$(LIBOPENH264_VERSION)) LIBOPENH264_LICENSE = BSD-2-Clause LIBOPENH264_LICENSE_FILES = LICENSE diff --git a/package/libopenssl/0006-Add-support-for-io_pgetevents_time64-syscall.patch b/package/libopenssl/0006-Add-support-for-io_pgetevents_time64-syscall.patch new file mode 100644 index 00000000000..0f59fa648e8 --- /dev/null +++ b/package/libopenssl/0006-Add-support-for-io_pgetevents_time64-syscall.patch @@ -0,0 +1,61 @@ +From 5b5e2985f355c8e99c196d9ce5d02c15bebadfbc Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Thu, 29 Aug 2019 13:56:21 -0700 +Subject: [PATCH] Add support for io_pgetevents_time64 syscall + +32-bit architectures that are y2038 safe don't include syscalls that use +32-bit time_t. Instead these architectures have suffixed syscalls that +always use a 64-bit time_t. In the case of the io_getevents syscall the +syscall has been replaced with the io_pgetevents_time64 syscall instead. + +This patch changes the io_getevents() function to use the correct +syscall based on the avaliable syscalls and the time_t size. We will +only use the new 64-bit time_t syscall if the architecture is using a +64-bit time_t. This is to avoid having to deal with 32/64-bit +conversions and relying on a 64-bit timespec struct on 32-bit time_t +platforms. As of Linux 5.3 there are no 32-bit time_t architectures +without __NR_io_getevents. In the future if a 32-bit time_t architecture +wants to use the 64-bit syscalls we can handle the conversion. + +This fixes build failures on 32-bit RISC-V. + +Signed-off-by: Alistair Francis + +Reviewed-by: Richard Levitte +Reviewed-by: Paul Dale +(Merged from https://github.com/openssl/openssl/pull/9819) +--- + engines/e_afalg.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/engines/e_afalg.c b/engines/e_afalg.c +index dacbe358cb..99516cb1bb 100644 +--- a/engines/e_afalg.c ++++ b/engines/e_afalg.c +@@ -125,7 +125,23 @@ static ossl_inline int io_getevents(aio_context_t ctx, long min, long max, + struct io_event *events, + struct timespec *timeout) + { ++#if defined(__NR_io_getevents) + return syscall(__NR_io_getevents, ctx, min, max, events, timeout); ++#elif defined(__NR_io_pgetevents_time64) ++ /* Let's only support the 64 suffix syscalls for 64-bit time_t. ++ * This simplifies the code for us as we don't need to use a 64-bit ++ * version of timespec with a 32-bit time_t and handle converting ++ * between 64-bit and 32-bit times and check for overflows. ++ */ ++ if (sizeof(timeout->tv_sec) == 8) ++ return syscall(__NR_io_pgetevents_time64, ctx, min, max, events, timeout, NULL); ++ else { ++ errno = ENOSYS; ++ return -1; ++ } ++#else ++# error "We require either the io_getevents syscall or __NR_io_pgetevents_time64." ++#endif + } + + static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key, +-- +2.25.1 + diff --git a/package/libopenssl/0007-Fixup-support-for-io_pgetevents_time64-syscall.patch b/package/libopenssl/0007-Fixup-support-for-io_pgetevents_time64-syscall.patch new file mode 100644 index 00000000000..4313eecd6d1 --- /dev/null +++ b/package/libopenssl/0007-Fixup-support-for-io_pgetevents_time64-syscall.patch @@ -0,0 +1,98 @@ +From e5499a3cac1e823c3e0697e8667e952317b70cc8 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Thu, 4 Mar 2021 12:10:11 -0500 +Subject: [PATCH] Fixup support for io_pgetevents_time64 syscall + +This is a fixup for the original commit 5b5e2985f355c8e99c196d9ce5d02c15bebadfbc +"Add support for io_pgetevents_time64 syscall" that didn't correctly +work for 32-bit architecutres with a 64-bit time_t that aren't RISC-V. + +For a full discussion of the issue see: +https://github.com/openssl/openssl/commit/5b5e2985f355c8e99c196d9ce5d02c15bebadfbc + +Signed-off-by: Alistair Francis + +Reviewed-by: Tomas Mraz +Reviewed-by: Paul Dale +(Merged from https://github.com/openssl/openssl/pull/14432) +--- + engines/e_afalg.c | 55 ++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 42 insertions(+), 13 deletions(-) + +diff --git a/engines/e_afalg.c b/engines/e_afalg.c +index 9480d7c24b..4e9d67db2d 100644 +--- a/engines/e_afalg.c ++++ b/engines/e_afalg.c +@@ -124,27 +124,56 @@ static ossl_inline int io_read(aio_context_t ctx, long n, struct iocb **iocb) + return syscall(__NR_io_submit, ctx, n, iocb); + } + ++/* A version of 'struct timespec' with 32-bit time_t and nanoseconds. */ ++struct __timespec32 ++{ ++ __kernel_long_t tv_sec; ++ __kernel_long_t tv_nsec; ++}; ++ + static ossl_inline int io_getevents(aio_context_t ctx, long min, long max, + struct io_event *events, + struct timespec *timeout) + { ++#if defined(__NR_io_pgetevents_time64) ++ /* Check if we are a 32-bit architecture with a 64-bit time_t */ ++ if (sizeof(*timeout) != sizeof(struct __timespec32)) { ++ int ret = syscall(__NR_io_pgetevents_time64, ctx, min, max, events, ++ timeout, NULL); ++ if (ret == 0 || errno != ENOSYS) ++ return ret; ++ } ++#endif ++ + #if defined(__NR_io_getevents) +- return syscall(__NR_io_getevents, ctx, min, max, events, timeout); +-#elif defined(__NR_io_pgetevents_time64) +- /* Let's only support the 64 suffix syscalls for 64-bit time_t. +- * This simplifies the code for us as we don't need to use a 64-bit +- * version of timespec with a 32-bit time_t and handle converting +- * between 64-bit and 32-bit times and check for overflows. +- */ +- if (sizeof(timeout->tv_sec) == 8) +- return syscall(__NR_io_pgetevents_time64, ctx, min, max, events, timeout, NULL); ++ if (sizeof(*timeout) == sizeof(struct __timespec32)) ++ /* ++ * time_t matches our architecture length, we can just use ++ * __NR_io_getevents ++ */ ++ return syscall(__NR_io_getevents, ctx, min, max, events, timeout); + else { +- errno = ENOSYS; +- return -1; ++ /* ++ * We don't have __NR_io_pgetevents_time64, but we are using a ++ * 64-bit time_t on a 32-bit architecture. If we can fit the ++ * timeout value in a 32-bit time_t, then let's do that ++ * and then use the __NR_io_getevents syscall. ++ */ ++ if (timeout && timeout->tv_sec == (long)timeout->tv_sec) { ++ struct __timespec32 ts32; ++ ++ ts32.tv_sec = (__kernel_long_t) timeout->tv_sec; ++ ts32.tv_nsec = (__kernel_long_t) timeout->tv_nsec; ++ ++ return syscall(__NR_io_getevents, ctx, min, max, events, ts32); ++ } else { ++ return syscall(__NR_io_getevents, ctx, min, max, events, NULL); ++ } + } +-#else +-# error "We require either the io_getevents syscall or __NR_io_pgetevents_time64." + #endif ++ ++ errno = ENOSYS; ++ return -1; + } + + static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key, +-- +2.25.1 + diff --git a/package/libopenssl/Config.in b/package/libopenssl/Config.in index 8909e36b9e2..fcead4c11a2 100644 --- a/package/libopenssl/Config.in +++ b/package/libopenssl/Config.in @@ -14,10 +14,6 @@ config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH string - # Use "gcc" minimalistic target to disable DSO - # no-asm is needed with generic architectures such as gcc, see - # https://github.com/openssl/openssl/issues/9839 - default "gcc no-asm" if BR2_STATIC_LIBS # Doesn't work for thumb-only (Cortex-M?) default "linux-armv4" if BR2_ARM_CPU_HAS_ARM default "linux-aarch64" if BR2_aarch64 @@ -44,4 +40,99 @@ config BR2_PACKAGE_LIBOPENSSL_ENGINES help Install additional encryption engine libraries. +config BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA + bool "enable CHACHA" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 + bool "enable RC5" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2 + bool "enable RC2" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 + bool "enable RC4" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_MD2 + bool "enable MD2" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 + bool "enable MD4" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_MDC2 + bool "enable MDC2" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_BLAKE2 + bool "enable BLAKE2" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_IDEA + bool "enable IDEA" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_SEED + bool "enable SEED" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_DES + bool "enable DES" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 + bool "enable RMD160" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_WHIRLPOOL + bool "enable WHIRLPOOL" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH + bool "enable BLOWFISH" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL + bool "enable SSL" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL2 + bool "enable SSL2" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL3 + bool "enable SSL3" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_WEAK_SSL + bool "enable WEAK_SSL" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK + bool "enable mode PSK" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_CAST + bool "enable mode CAST" + default y + +config BR2_PACKAGE_LIBOPENSSL_UNSECURE + bool "enable unit test, debug, backtrace" + default y + help + Enable unit-test crypto-mdebug-backtrace + crypto-mdebug autoerrinit mode. + +config BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE + bool "enable dynamic engine" + default y + +config BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP + bool "enable compression" + default y + endif # BR2_PACKAGE_LIBOPENSSL diff --git a/package/libopenssl/libopenssl.hash b/package/libopenssl/libopenssl.hash index 854f8a03f7a..ec5fd0fe84c 100644 --- a/package/libopenssl/libopenssl.hash +++ b/package/libopenssl/libopenssl.hash @@ -1,5 +1,5 @@ -# From https://www.openssl.org/source/openssl-1.1.1j.tar.gz.sha256 -sha256 aaf2fcb575cdf6491b98ab4829abf78a3dec8402b8b81efc8f23c00d443981bf openssl-1.1.1j.tar.gz +# From https://www.openssl.org/source/openssl-1.1.1o.tar.gz.sha256 +sha256 9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f openssl-1.1.1o.tar.gz # License files sha256 c32913b33252e71190af2066f08115c69bc9fddadf3bf29296e20c835389841c LICENSE diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk index 19f1c89f06d..0c039dc7d61 100644 --- a/package/libopenssl/libopenssl.mk +++ b/package/libopenssl/libopenssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENSSL_VERSION = 1.1.1j +LIBOPENSSL_VERSION = 1.1.1o LIBOPENSSL_SITE = https://www.openssl.org/source LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz LIBOPENSSL_LICENSE = OpenSSL or SSLeay @@ -25,10 +25,6 @@ LIBOPENSSL_CFLAGS += -mxgot LIBOPENSSL_CFLAGS += -DOPENSSL_SMALL_FOOTPRINT endif -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -LIBOPENSSL_CFLAGS += -DOPENSSL_THREADS -endif - ifeq ($(BR2_USE_MMU),) LIBOPENSSL_CFLAGS += -DHAVE_FORK=0 -DOPENSSL_NO_MADVISE endif @@ -79,7 +75,7 @@ define LIBOPENSSL_CONFIGURE_CMDS --prefix=/usr \ --openssldir=/etc/ssl \ $(if $(BR2_TOOLCHAIN_HAS_LIBATOMIC),-latomic) \ - $(if $(BR2_TOOLCHAIN_HAS_THREADS),-lpthread threads, no-threads) \ + $(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \ $(if $(BR2_STATIC_LIBS),no-shared,shared) \ $(if $(BR2_PACKAGE_HAS_CRYPTODEV),enable-devcryptoeng) \ no-rc5 \ @@ -88,13 +84,45 @@ define LIBOPENSSL_CONFIGURE_CMDS no-tests \ no-fuzz-libfuzzer \ no-fuzz-afl \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA),,no-chacha) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5),,no-rc5) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2),,no-rc2) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4),,no-rc4) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_MD2),,no-md2) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4),,no-md4) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_MDC2),,no-mdc2) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_BLAKE2),,no-blake2) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_IDEA),,no-idea) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SEED),,no-seed) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_DES),,no-des) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160),,no-rmd160) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_WHIRLPOOL),,no-whirlpool) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH),,no-bf) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL),,no-ssl) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL2),,no-ssl2) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL3),,no-ssl3) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_WEAK_SSL),,no-weak-ssl-ciphers) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK),,no-psk) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CAST),,no-cast) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_UNSECURE),,no-unit-test no-crypto-mdebug-backtrace no-crypto-mdebug no-autoerrinit) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE),,no-dynamic-engine ) \ + $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP),,no-comp) \ $(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \ + $(if $(BR2_STATIC_LIBS),no-dso) \ ) $(SED) "s#-march=[-a-z0-9] ##" -e "s#-mcpu=[-a-z0-9] ##g" $(@D)/Makefile $(SED) "s#-O[0-9sg]#$(LIBOPENSSL_CFLAGS)#" $(@D)/Makefile $(SED) "s# build_tests##" $(@D)/Makefile endef +# libdl is not available in a static build, and this is not implied by no-dso +ifeq ($(BR2_STATIC_LIBS),y) +define LIBOPENSSL_FIXUP_STATIC_MAKEFILE + $(SED) 's#-ldl##g' $(@D)/Makefile +endef +LIBOPENSSL_POST_CONFIGURE_HOOKS += LIBOPENSSL_FIXUP_STATIC_MAKEFILE +endif + define HOST_LIBOPENSSL_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) endef @@ -117,6 +145,16 @@ define LIBOPENSSL_INSTALL_TARGET_CMDS rm -f $(TARGET_DIR)/usr/bin/c_rehash endef +# libdl has no business in a static build +ifeq ($(BR2_STATIC_LIBS),y) +define LIBOPENSSL_FIXUP_STATIC_PKGCONFIG + $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libcrypto.pc + $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libssl.pc + $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/openssl.pc +endef +LIBOPENSSL_POST_INSTALL_STAGING_HOOKS += LIBOPENSSL_FIXUP_STATIC_PKGCONFIG +endif + ifeq ($(BR2_PACKAGE_PERL),) define LIBOPENSSL_REMOVE_PERL_SCRIPTS $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.pl,tsget} diff --git a/package/liboping/0001-fix-utf8-support.patch b/package/liboping/0001-fix-utf8-support.patch new file mode 100644 index 00000000000..0697ad5ca4f --- /dev/null +++ b/package/liboping/0001-fix-utf8-support.patch @@ -0,0 +1,35 @@ +From dfbdd324769f542b6b89499c1b7f0f4322100bc6 Mon Sep 17 00:00:00 2001 +From: wfaulk +Date: Wed, 7 Aug 2019 18:57:43 -0400 +Subject: [PATCH] fix utf8 support + +in oping.c:923 in has_utf8() the #if HAVE_NCURSESW_NCURSES_H is +wrong. in consequence of this hist_symbols_utf8 is not used and the +the graph type prettyping is not realy pretty. the name of the header +file is curses.h see also oping.c:85 or the third changelog entry from +1997/05/31 + +https://github.com/octo/liboping/issues/36 + +[Upstream: https://github.com/octo/liboping/pull/49/commits/a313923ec12d11daa8e70497c6b7b5d50965821b] +Signed-off-by: Peter Seiderer +--- + src/oping.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/oping.c b/src/oping.c +index 87ca81a..62dbb67 100644 +--- a/src/oping.c ++++ b/src/oping.c +@@ -903,7 +903,7 @@ static void time_calc (struct timespec *ts_dest, /* {{{ */ + #if USE_NCURSES + static _Bool has_utf8() /* {{{ */ + { +-# if HAVE_NCURSESW_NCURSES_H ++# if HAVE_NCURSESW_CURSES_H + if (!opt_utf8) + { + /* Automatically determine */ +-- +2.25.1 + diff --git a/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch b/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch deleted file mode 100644 index b0aca8a7159..00000000000 --- a/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 18ca43507b351f339ff23062541ee8d58e813a53 Mon Sep 17 00:00:00 2001 -From: Florian Forster -Date: Sun, 29 Jul 2018 14:34:19 +0200 -Subject: [PATCH] ping_host_add: Decrease buffer size to make GCC's truncation - check happy. - -Fixes: #38 -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/octo/liboping/commit/18ca43507b351f339ff23062541ee8d58e813a53] ---- - src/liboping.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/src/liboping.c b/src/liboping.c -index 5253e8c..2470988 100644 ---- a/src/liboping.c -+++ b/src/liboping.c -@@ -1636,10 +1636,8 @@ int ping_host_add (pingobj_t *obj, const char *host) - } - else - { -- char errmsg[PING_ERRMSG_LEN]; -- -- snprintf (errmsg, PING_ERRMSG_LEN, "Unknown `ai_family': %i", ai_ptr->ai_family); -- errmsg[PING_ERRMSG_LEN - 1] = '\0'; -+ char errmsg[64]; -+ snprintf (errmsg, sizeof(errmsg), "Unknown `ai_family': %d", ai_ptr->ai_family); - - dprintf ("%s", errmsg); - ping_set_error (obj, "getaddrinfo", errmsg); diff --git a/package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch b/package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch new file mode 100644 index 00000000000..4f3eea62740 --- /dev/null +++ b/package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch @@ -0,0 +1,91 @@ +From ac878566eb935fd3ebfb804e6bd9e1690d4a65e3 Mon Sep 17 00:00:00 2001 +From: Tollef Fog Heen +Date: Tue, 20 Mar 2018 22:40:32 +0100 +Subject: [PATCH] Open raw sockets when adding hosts, not when doing the + pinging + +This allows this to run as non-root again, without this, oping will +have dropped privileges before trying to ping, which then fails to +open the necessary raw sockets. + +Fixes: #34 + +[Upstream: https://github.com/octo/liboping/pull/35/commits/a88c51f38dafa1fba9118045176754bec05d3c94] +Signed-off-by: Peter Seiderer +--- + src/liboping.c | 48 +++++++++++++++++------------------------------- + 1 file changed, 17 insertions(+), 31 deletions(-) + +diff --git a/src/liboping.c b/src/liboping.c +index 39b0041..f98e810 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -1344,41 +1344,10 @@ int ping_send (pingobj_t *obj) + struct timeval nowtime; + struct timeval timeout; + +- _Bool need_ipv4_socket = 0; +- _Bool need_ipv6_socket = 0; +- + for (ptr = obj->head; ptr != NULL; ptr = ptr->next) + { + ptr->latency = -1.0; + ptr->recv_ttl = -1; +- +- if (ptr->addrfamily == AF_INET) +- need_ipv4_socket = 1; +- else if (ptr->addrfamily == AF_INET6) +- need_ipv6_socket = 1; +- } +- +- if (!need_ipv4_socket && !need_ipv6_socket) +- { +- ping_set_error (obj, "ping_send", "No hosts to ping"); +- return (-1); +- } +- +- if (need_ipv4_socket && obj->fd4 == -1) +- { +- obj->fd4 = ping_open_socket(obj, AF_INET); +- if (obj->fd4 == -1) +- return (-1); +- ping_set_ttl (obj, obj->ttl); +- ping_set_qos (obj, obj->qos); +- } +- if (need_ipv6_socket && obj->fd6 == -1) +- { +- obj->fd6 = ping_open_socket(obj, AF_INET6); +- if (obj->fd6 == -1) +- return (-1); +- ping_set_ttl (obj, obj->ttl); +- ping_set_qos (obj, obj->qos); + } + + if (gettimeofday (&nowtime, NULL) == -1) +@@ -1698,6 +1667,23 @@ int ping_host_add (pingobj_t *obj, const char *host) + ph->table_next = obj->table[ph->ident % PING_TABLE_LEN]; + obj->table[ph->ident % PING_TABLE_LEN] = ph; + ++ if (ph->addrfamily == AF_INET && obj->fd4 == -1) ++ { ++ obj->fd4 = ping_open_socket(obj, AF_INET); ++ if (obj->fd4 == -1) ++ return (-1); ++ ping_set_ttl (obj, obj->ttl); ++ ping_set_qos (obj, obj->qos); ++ } ++ if (ph->addrfamily == AF_INET6 && obj->fd6 == -1) ++ { ++ obj->fd6 = ping_open_socket(obj, AF_INET6); ++ if (obj->fd6 == -1) ++ return (-1); ++ ping_set_ttl (obj, obj->ttl); ++ ping_set_qos (obj, obj->qos); ++ } ++ + return (0); + } /* int ping_host_add */ + +-- +2.25.1 + diff --git a/package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch b/package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch new file mode 100644 index 00000000000..546f159187d --- /dev/null +++ b/package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch @@ -0,0 +1,28 @@ +From 0ad9ee080a7cd8037c341067cc67a84e32e69fea Mon Sep 17 00:00:00 2001 +From: Maurice Smulders +Date: Thu, 30 Dec 2021 10:45:42 -0700 +Subject: [PATCH] Fix compile break with GCC 7+ - buffer overflow with snprintf + +[Retrieved from: +https://github.com/octo/liboping/pull/64/commits/0ad9ee080a7cd8037c341067cc67a84e32e69fea] +Signed-off-by: Fabrice Fontaine +--- + src/liboping.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/liboping.c b/src/liboping.c +index bf9e059..9fd8f53 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -203,8 +203,11 @@ static char *sstrerror (int errnum, char *buf, size_t buflen) + static void ping_set_error (pingobj_t *obj, const char *function, + const char *message) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat-truncation" + snprintf (obj->errmsg, sizeof (obj->errmsg), + "%s: %s", function, message); ++#pragma GCC diagnostic pop + obj->errmsg[sizeof (obj->errmsg) - 1] = 0; + } + diff --git a/package/liboping/0004-Fix-compile-error-on-GCC-7.patch b/package/liboping/0004-Fix-compile-error-on-GCC-7.patch new file mode 100644 index 00000000000..38355be40e0 --- /dev/null +++ b/package/liboping/0004-Fix-compile-error-on-GCC-7.patch @@ -0,0 +1,32 @@ +From 3d685bdb1a6c655bce6d36cfd96e084be07cd2b1 Mon Sep 17 00:00:00 2001 +From: Maurice Smulders +Date: Tue, 4 Jan 2022 12:49:36 -0700 +Subject: [PATCH] Fix compile error on GCC < 7 + +[Retrieved from: +https://github.com/octo/liboping/pull/64/commits/3d685bdb1a6c655bce6d36cfd96e084be07cd2b1] +Signed-off-by: Fabrice Fontaine +--- + src/liboping.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/liboping.c b/src/liboping.c +index 9fd8f53..1ccf609 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -203,11 +203,15 @@ static char *sstrerror (int errnum, char *buf, size_t buflen) + static void ping_set_error (pingobj_t *obj, const char *function, + const char *message) + { ++#if __GNUC__ >= 7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wformat-truncation" ++#endif + snprintf (obj->errmsg, sizeof (obj->errmsg), + "%s: %s", function, message); ++#if __GNUC__ >= 7 + #pragma GCC diagnostic pop ++#endif + obj->errmsg[sizeof (obj->errmsg) - 1] = 0; + } + diff --git a/package/liboping/liboping.mk b/package/liboping/liboping.mk index 4aa3e30ee8d..a4541cb3bf2 100644 --- a/package/liboping/liboping.mk +++ b/package/liboping/liboping.mk @@ -11,6 +11,7 @@ LIBOPING_INSTALL_STAGING = YES LIBOPING_CONF_OPTS = --without-perl-bindings LIBOPING_LICENSE = LGPL-2.1+, GPL-2.0 LIBOPING_LICENSE_FILES = COPYING +LIBOPING_CPE_ID_VENDOR = noping ifeq ($(BR2_PACKAGE_NCURSES),y) LIBOPING_DEPENDENCIES += ncurses diff --git a/package/libosip2/libosip2.hash b/package/libosip2/libosip2.hash index 400158cd7f3..071ad7e61ac 100644 --- a/package/libosip2/libosip2.hash +++ b/package/libosip2/libosip2.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 4fb48b2ea568bb41c6244b0df2bb7175849ca93e84be53ceb268fdf9351bb375 libosip2-5.2.0.tar.gz +sha256 f4725916c22cf514969efb15c3c207233d64739383f7d42956038b78f6cae8c8 libosip2-5.3.0.tar.gz # Hash for license file: sha256 8d9e95ed0e48df46dc758eb0d86df611f771eab4eed94bebb77dca87f1c897de COPYING diff --git a/package/libosip2/libosip2.mk b/package/libosip2/libosip2.mk index b86a72479e3..2f9b7a9242a 100644 --- a/package/libosip2/libosip2.mk +++ b/package/libosip2/libosip2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOSIP2_VERSION = 5.2.0 +LIBOSIP2_VERSION = 5.3.0 LIBOSIP2_SITE = $(BR2_GNU_MIRROR)/osip LIBOSIP2_INSTALL_STAGING = YES LIBOSIP2_LICENSE = LGPL-2.1+ diff --git a/package/libosmium/Config.in b/package/libosmium/Config.in new file mode 100644 index 00000000000..3a4c64e9d22 --- /dev/null +++ b/package/libosmium/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LIBOSMIUM + bool "libosmium" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # boost + depends on BR2_USE_WCHAR # boost + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_PROTOZERO + select BR2_PACKAGE_LZ4 + help + A fast and flexible C++ library for working with OpenStreetMap + data. Libosmium works on Linux, macOS and Windows. + + https://osmcode.org/libosmium/ + +comment "libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 4.7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libosmium/libosmium.hash b/package/libosmium/libosmium.hash new file mode 100644 index 00000000000..ccfd3b09b01 --- /dev/null +++ b/package/libosmium/libosmium.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 ff85d55ca83d77fc41f6b7ae77f3d8d4337d299cbb4cc60c00e1f9d90d94e71b libosmium-2.17.3.tar.gz +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE diff --git a/package/libosmium/libosmium.mk b/package/libosmium/libosmium.mk new file mode 100644 index 00000000000..6510af4e775 --- /dev/null +++ b/package/libosmium/libosmium.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# libosmium +# +################################################################################ + +LIBOSMIUM_VERSION = 2.17.3 +LIBOSMIUM_SITE = $(call github,osmcode,libosmium,v$(LIBOSMIUM_VERSION)) +LIBOSMIUM_LICENSE = BSL-1.0 +LIBOSMIUM_LICENSE_FILES = LICENSE +LIBOSMIUM_INSTALL_STAGING = YES +LIBOSMIUM_DEPENDENCIES = boost protozero lz4 + +ifeq ($(BR2_PACKAGE_BZIP2),y) +LIBOSMIUM_DEPENDENCIES += bzip2 +endif + +ifeq ($(BR2_PACKAGE_EXPAT),y) +LIBOSMIUM_DEPENDENCIES += expat +endif + +ifeq ($(BR2_PACKAGE_LIBGEOS),y) +LIBOSMIUM_DEPENDENCIES += libgeos +endif + +ifeq ($(BR2_PACKAGE_PROJ),y) +LIBOSMIUM_DEPENDENCIES += proj +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +LIBOSMIUM_DEPENDENCIES += zlib +endif + +$(eval $(cmake-package)) diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash index 751feb6b2ee..3a063405757 100644 --- a/package/libostree/libostree.hash +++ b/package/libostree/libostree.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 fdaa5992d0a6f62157152355449ac8476c50df6602be398e9ad10438cc1e679b libostree-2020.8.tar.xz +sha256 43a00e7856842b8a34f6616fc2ce1ce238ef43210cca41f70e6b4b0d2a9fcad5 libostree-2022.1.tar.xz sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk index 7c887ebee81..9cbf2848c96 100644 --- a/package/libostree/libostree.mk +++ b/package/libostree/libostree.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOSTREE_VERSION = 2020.8 +LIBOSTREE_VERSION = 2022.1 LIBOSTREE_SOURCE = libostree-$(LIBOSTREE_VERSION).tar.xz LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION) @@ -37,11 +37,7 @@ else LIBOSTREE_CONF_OPTS += --without-openssl endif -# Avahi support needs libavahi-client, which is built by avahi if avahi-daemon -# and dbus is selected. Since there is no BR2_PACKAGE_LIBAVAHI_CLIENT config -# option yet, use the avahi-daemon and dbus config symbols to check for -# libavahi-client. -ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) LIBOSTREE_CONF_OPTS += --with-avahi LIBOSTREE_DEPENDENCIES += avahi else diff --git a/package/libp11/0001-Update-wp11_rsa.c.patch b/package/libp11/0001-Update-wp11_rsa.c.patch new file mode 100644 index 00000000000..0a2d6e65ce6 --- /dev/null +++ b/package/libp11/0001-Update-wp11_rsa.c.patch @@ -0,0 +1,26 @@ +From 4968cfc64dbaa39bb479a24d9578d75099e2f337 Mon Sep 17 00:00:00 2001 +From: patchMonkey156 +Date: Mon, 19 Oct 2020 17:12:15 -0400 +Subject: [PATCH] Update p11_rsa.c + +Bugfix for new LibreSSL version 3.2.2 +[Retrieved from: +https://github.com/OpenSC/libp11/commit/4968cfc64dbaa39bb479a24d9578d75099e2f337] +Signed-off-by: Fabrice Fontaine +--- + src/p11_rsa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/p11_rsa.c b/src/p11_rsa.c +index b6beef0..ff12ed7 100644 +--- a/src/p11_rsa.c ++++ b/src/p11_rsa.c +@@ -336,7 +336,7 @@ int pkcs11_get_key_size(PKCS11_KEY *key) + return RSA_size(rsa); + } + +-#if OPENSSL_VERSION_NUMBER < 0x10100005L || defined(LIBRESSL_VERSION_NUMBER) ++#if ( ( defined (OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100005L ) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3020199L ) ) + + int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, diff --git a/package/libp11/libp11.hash b/package/libp11/libp11.hash index bba5c770a23..52d73d42068 100644 --- a/package/libp11/libp11.hash +++ b/package/libp11/libp11.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 639ea43c3341e267214b712e1e5e12397fd2d350899e673dd1220f3c6b8e3db4 libp11-0.4.10.tar.gz -sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING +sha256 57d47a12a76fd92664ae30032cf969284ebac1dfc25bf824999d74b016d51366 libp11-0.4.11.tar.gz +sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING diff --git a/package/libp11/libp11.mk b/package/libp11/libp11.mk index 90c582571e0..c1873a920c8 100644 --- a/package/libp11/libp11.mk +++ b/package/libp11/libp11.mk @@ -4,17 +4,23 @@ # ################################################################################ -LIBP11_VERSION = 0.4.10 +LIBP11_VERSION = 0.4.11 LIBP11_SITE = https://github.com/OpenSC/libp11/releases/download/libp11-$(LIBP11_VERSION) LIBP11_DEPENDENCIES = openssl host-pkgconf LIBP11_INSTALL_STAGING = YES LIBP11_LICENSE = LGPL-2.1+ LIBP11_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +LIBP11_ENGINESDIR = enginesdir +else ifeq ($(BR2_PACKAGE_LIBRESSL),y) +LIBP11_ENGINESDIR = libdir +endif + # pkg-config returns a libcrypto enginesdir prefixed with the sysroot, # so let's rip it out. LIBP11_CONF_OPTS = \ - --with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable enginesdir libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'` + --with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable $(LIBP11_ENGINESDIR) libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'` ifeq ($(BR2_PACKAGE_P11_KIT),y) LIBP11_CONF_OPTS += --with-pkcs11-module=/usr/lib/p11-kit-proxy.so diff --git a/package/libpam-nfc/libpam-nfc.hash b/package/libpam-nfc/libpam-nfc.hash index 27896ef4b1e..543db869600 100644 --- a/package/libpam-nfc/libpam-nfc.hash +++ b/package/libpam-nfc/libpam-nfc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 f44273944f1ecc78b10b65147328860836b60fe4bb8c39819e32199f2870d48b libpam-nfc-bb762e0e649195110e015ffb605c4375e927c437.tar.gz +sha256 042049cecaacd9274f444d69f756b9499eb2d2436136f576eef375531ac25157 libpam-nfc-64a8b30ba2cfd634342ded8c096c7cfc5c8fa22a.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libpam-nfc/libpam-nfc.mk b/package/libpam-nfc/libpam-nfc.mk index d4f6d446cfd..7cf0a51e004 100644 --- a/package/libpam-nfc/libpam-nfc.mk +++ b/package/libpam-nfc/libpam-nfc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPAM_NFC_VERSION = bb762e0e649195110e015ffb605c4375e927c437 +LIBPAM_NFC_VERSION = 64a8b30ba2cfd634342ded8c096c7cfc5c8fa22a LIBPAM_NFC_SITE = $(call github,nfc-tools,pam_nfc,$(LIBPAM_NFC_VERSION)) LIBPAM_NFC_LICENSE = GPL-2.0 LIBPAM_NFC_LICENSE_FILES = COPYING diff --git a/package/libpcap/libpcap.hash b/package/libpcap/libpcap.hash index e70d071294a..84c8e405df5 100644 --- a/package/libpcap/libpcap.hash +++ b/package/libpcap/libpcap.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.tcpdump.org/release/libpcap-1.10.0.tar.gz.sig -sha256 8d12b42623eeefee872f123bd0dc85d535b00df4d42e865f993c40f7bfc92b1e libpcap-1.10.0.tar.gz +# https://www.tcpdump.org/release/libpcap-1.10.1.tar.gz.sig +sha256 ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4 libpcap-1.10.1.tar.gz # Hash for license file: sha256 8a54594d257e14a5260ac770f1633516cb51e3fc28c40136ce2697014eda7afd LICENSE diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk index 24215ebed54..1e02ec56e04 100644 --- a/package/libpcap/libpcap.mk +++ b/package/libpcap/libpcap.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPCAP_VERSION = 1.10.0 +LIBPCAP_VERSION = 1.10.1 LIBPCAP_SITE = https://www.tcpdump.org/release LIBPCAP_LICENSE = BSD-3-Clause LIBPCAP_LICENSE_FILES = LICENSE diff --git a/package/libpeas/Config.in b/package/libpeas/Config.in new file mode 100644 index 00000000000..430e668ee7e --- /dev/null +++ b/package/libpeas/Config.in @@ -0,0 +1,45 @@ +config BR2_PACKAGE_LIBPEAS + bool "libpeas" + depends on BR2_USE_MMU # gobject-introspection + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection -> host-qemu + depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection + depends on BR2_PACKAGE_PYTHON3 # gobject-introspection + select BR2_PACKAGE_GOBJECT_INTROSPECTION + select BR2_PACKAGE_LIBGLIB2 + help + libpeas is a gobject-based plugins engine, and is targetted at + giving every application the chance to assume its own + extensibility. It also has a set of features including, but + not limited to: + - multiple extension points + - On demand (lazy) programming language support for C, + Python and Lua + - Simplicity of the API + + https://wiki.gnome.org/Projects/Libpeas + +if BR2_PACKAGE_LIBPEAS + +config BR2_PACKAGE_LIBPEAS_WIDGETS + bool "widgets" + depends on BR2_PACKAGE_LIBGTK3 + help + Build GTK+ widgetry + +comment "widget support needs libgtk3" + depends on !BR2_PACKAGE_LIBGTK3 + +endif + +comment "libpeas needs python3" + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_PYTHON3 + +comment "libpeas needs a glibc toolchain, gcc >= 4.9, host gcc >= 8" + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_HOST_GCC_AT_LEAST_8 diff --git a/package/libpeas/libpeas.hash b/package/libpeas/libpeas.hash new file mode 100644 index 00000000000..2b030c01c57 --- /dev/null +++ b/package/libpeas/libpeas.hash @@ -0,0 +1,4 @@ +# From https://ftp.gnome.org/pub/GNOME/sources/libpeas/1.30/libpeas-1.30.0.sha256sum +sha256 0bf5562e9bfc0382a9dcb81f64340787542568762a3a367d9d90f6185898b9a3 libpeas-1.30.0.tar.xz +# Locally calculated +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING diff --git a/package/libpeas/libpeas.mk b/package/libpeas/libpeas.mk new file mode 100644 index 00000000000..097cc860eb3 --- /dev/null +++ b/package/libpeas/libpeas.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# libpeas +# +################################################################################ + +LIBPEAS_VERSION_MAJOR = 1.30 +LIBPEAS_VERSION = $(LIBPEAS_VERSION_MAJOR).0 +LIBPEAS_SOURCE = libpeas-$(LIBPEAS_VERSION).tar.xz +LIBPEAS_SITE = http://ftp.gnome.org/pub/gnome/sources/libpeas/$(LIBPEAS_VERSION_MAJOR) +LIBPEAS_LICENSE = LGPL-2.1+ +LIBPEAS_LICENSE_FILES = COPYING +LIBPEAS_CPE_ID_VENDOR = gnome +LIBPEAS_INSTALL_STAGING = YES +LIBPEAS_DEPENDENCIES = \ + host-libglib2 \ + host-pkgconf \ + gobject-introspection \ + libglib2 \ + $(TARGET_NLS_DEPENDENCIES) + +LIBPEAS_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + +LIBPEAS_CONF_OPTS = \ + -Ddemos=false \ + -Dglade_catalog=false \ + -Dgtk_doc=false \ + -Dintrospection=true \ + -Dlua51=false \ + -Dpython2=false \ + -Dpython3=false \ + -Dvapi=false + +ifeq ($(BR2_PACKAGE_LIBPEAS_WIDGETS),y) +LIBPEAS_DEPENDENCIES += libgtk3 +LIBPEAS_CONF_OPTS += -Dwidgetry=true +else +LIBPEAS_CONF_OPTS += -Dwidgetry=false +endif + +$(eval $(meson-package)) diff --git a/package/libphidget/libphidget.hash b/package/libphidget/libphidget.hash index 120d6373e1a..9789f786467 100644 --- a/package/libphidget/libphidget.hash +++ b/package/libphidget/libphidget.hash @@ -1,3 +1,3 @@ # locally computed -sha256 f6da13dc0db057c1a87e0a831e3f5507cd26a32f3ced40f2c0ad783fc244bcd5 libphidget_2.1.8.20170607.tar.gz +sha256 0e789912700228808519cf5c41e19f9b761da635c6bb676b147897936b23851f libphidget_2.1.9.20190409.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libphidget/libphidget.mk b/package/libphidget/libphidget.mk index d84a8b911d1..f7d471f99ad 100644 --- a/package/libphidget/libphidget.mk +++ b/package/libphidget/libphidget.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPHIDGET_VERSION = 2.1.8.20170607 +LIBPHIDGET_VERSION = 2.1.9.20190409 LIBPHIDGET_SOURCE = libphidget_$(LIBPHIDGET_VERSION).tar.gz LIBPHIDGET_SITE = https://www.phidgets.com/downloads/phidget21/libraries/linux/libphidget LIBPHIDGET_DEPENDENCIES = libusb diff --git a/package/libpjsip/libpjsip.hash b/package/libpjsip/libpjsip.hash index 68c22088854..b1ccdb2f37d 100644 --- a/package/libpjsip/libpjsip.hash +++ b/package/libpjsip/libpjsip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 936a4c5b98601b52325463a397ddf11ab4106c6a7b04f8dc7cdd377efbb597de pjproject-2.10.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 d0feef6963b07934e821ba4328aecb4c36358515c1b3e507da5874555d713533 pjproject-2.12.1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index 8feec9bcb2f..a3303d1e8ad 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -4,15 +4,14 @@ # ################################################################################ -LIBPJSIP_VERSION = 2.10 +LIBPJSIP_VERSION = 2.12.1 LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.gz LIBPJSIP_SITE = $(call github,pjsip,pjproject,$(LIBPJSIP_VERSION)) -# https://github.com/pjsip/pjproject/archive/2.10.tar.gz LIBPJSIP_DEPENDENCIES = libsrtp LIBPJSIP_LICENSE = GPL-2.0+ LIBPJSIP_LICENSE_FILES = COPYING -LIBPJSIP_CPE_ID_VENDOR = pjsip +LIBPJSIP_CPE_ID_VENDOR = teluu LIBPJSIP_CPE_ID_PRODUCT = pjsip LIBPJSIP_INSTALL_STAGING = YES LIBPJSIP_MAKE = $(MAKE1) diff --git a/package/libplatform/0001-cmake-require-c-11-as-the-minimum-standard.patch b/package/libplatform/0001-cmake-require-c-11-as-the-minimum-standard.patch new file mode 100644 index 00000000000..b880a319533 --- /dev/null +++ b/package/libplatform/0001-cmake-require-c-11-as-the-minimum-standard.patch @@ -0,0 +1,26 @@ +From ad9fcceb6267e737316b616551b7aac3cf676481 Mon Sep 17 00:00:00 2001 +From: Lukas Rusak +Date: Fri, 2 Oct 2020 15:31:36 -0700 +Subject: [PATCH] [cmake] require c++11 as the minimum standard + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/Pulse-Eight/platform/pull/46] +--- + CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7144b0b..e9112f9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,6 +3,10 @@ project(p8-platform) + cmake_minimum_required(VERSION 2.8.9) + enable_language(CXX) + ++set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD_REQUIRED YES) ++set(CMAKE_CXX_EXTENSIONS NO) ++ + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}) + + find_package(Threads REQUIRED) diff --git a/package/libplatform/libplatform.hash b/package/libplatform/libplatform.hash index f08435da12e..283b435b7c8 100644 --- a/package/libplatform/libplatform.hash +++ b/package/libplatform/libplatform.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 209daeb87af4ca92199887eb151b2a459bb81566cdaa092644e0889afb64bf6a libplatform-1c9d14fa996af33760a2c700caebd2bd9ae527c9.tar.gz +sha256 ebee46c76b86b40b703fa913465f5004fa3166eeb6a4794c58fc8a5c25702931 libplatform-a7cd0d5780ed80a4e70480d1650749f29e8a1fb2.tar.gz sha256 80fc66febbb2393c9d518e3eefa4ad9aae15a9b6a84174c0e443ea79eeea5131 src/os.h diff --git a/package/libplatform/libplatform.mk b/package/libplatform/libplatform.mk index ca57a07d152..90192369feb 100644 --- a/package/libplatform/libplatform.mk +++ b/package/libplatform/libplatform.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPLATFORM_VERSION = 1c9d14fa996af33760a2c700caebd2bd9ae527c9 +LIBPLATFORM_VERSION = a7cd0d5780ed80a4e70480d1650749f29e8a1fb2 LIBPLATFORM_SITE = $(call github,Pulse-Eight,platform,$(LIBPLATFORM_VERSION)) LIBPLATFORM_LICENSE = GPL-2.0+ LIBPLATFORM_LICENSE_FILES = src/os.h diff --git a/package/libplist/libplist.hash b/package/libplist/libplist.hash index 58054d0b841..4dab755e5db 100644 --- a/package/libplist/libplist.hash +++ b/package/libplist/libplist.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4b33f9af3f9208d54a3c3e1a8c149932513f451c98d1dd696fe42c06e30b7f03 libplist-2.1.0.tar.gz +sha256 4a5517e5377ec421df84c586ba85bb4e1d26f11ad203d7d450a907c0156fbd9a libplist-2.2.0.tar.bz2 sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING diff --git a/package/libplist/libplist.mk b/package/libplist/libplist.mk index 42da4fac0fe..e7cecb612db 100644 --- a/package/libplist/libplist.mk +++ b/package/libplist/libplist.mk @@ -4,14 +4,13 @@ # ################################################################################ -LIBPLIST_VERSION = 2.1.0 -LIBPLIST_SITE = $(call github,libimobiledevice,libplist,$(LIBPLIST_VERSION)) +LIBPLIST_VERSION = 2.2.0 +LIBPLIST_SOURCE = libplist-$(LIBPLIST_VERSION).tar.bz2 +LIBPLIST_SITE = https://github.com/libimobiledevice/libplist/releases/download/$(LIBPLIST_VERSION) LIBPLIST_INSTALL_STAGING = YES LIBPLIST_LICENSE = LGPL-2.1+ LIBPLIST_LICENSE_FILES = COPYING LIBPLIST_CPE_ID_VENDOR = libimobiledevice -# github tarball does not include configure -LIBPLIST_AUTORECONF = YES # Disable building Python bindings, because it requires host-cython, which # is not packaged in Buildroot at all. diff --git a/package/libpri/Config.in b/package/libpri/Config.in index de2d96fcc4f..0684d2ac834 100644 --- a/package/libpri/Config.in +++ b/package/libpri/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_LIBPRI http://www.asterisk.org/downloads/libpri -comment "libpri needs a kernel to be built" +comment "libpri needs a Linux kernel to be built" depends on BR2_USE_MMU depends on !BR2_LINUX_KERNEL diff --git a/package/libpri/libpri.mk b/package/libpri/libpri.mk index e1fa2abcf5b..34d84393c49 100644 --- a/package/libpri/libpri.mk +++ b/package/libpri/libpri.mk @@ -17,6 +17,7 @@ LIBPRI_INSTALL_STAGING = YES # So we need to explicitly build only what we can. ifneq ($(BR2_SHARED_LIBS),y) LIBPRI_LIBS = libpri.a +LIBPRI_UTILS += pritest rosetest testprilib define LIBPRI_INSTALL_A $(INSTALL) -D -m 0644 $(@D)/libpri.a $(1)/usr/lib/libpri.a endef @@ -24,14 +25,13 @@ endif ifneq ($(BR2_STATIC_LIBS),y) LIBPRI_LIBS += libpri.so.1.4 +LIBPRI_UTILS += pridump define LIBPRI_INSTALL_SO $(INSTALL) -D -m 0644 $(@D)/libpri.so.1.4 $(1)/usr/lib/libpri.so.1.4 ln -sf libpri.so.1.4 $(1)/usr/lib/libpri.so endef endif -LIBPRI_UTILS = pridump pritest rosetest testprilib - define LIBPRI_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) \ diff --git a/package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch b/package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch new file mode 100644 index 00000000000..72f50aa593e --- /dev/null +++ b/package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch @@ -0,0 +1,60 @@ +From 5b63816e82287808e81b8603a528af3cc6fab354 Mon Sep 17 00:00:00 2001 +From: Zhao Zhili +Date: Thu, 7 Jan 2021 20:59:17 +0800 +Subject: [PATCH] Add libiconv dep to meson build again + +Build success on macOS and ubuntu. + +[Retrieved from: +https://github.com/rockdaboot/libpsl/commit/5b63816e82287808e81b8603a528af3cc6fab354] +Signed-off-by: Fabrice Fontaine +--- + meson.build | 14 ++++++++++++++ + src/meson.build | 2 +- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index f248171..fb2de31 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,6 +20,7 @@ libicu_dep = notfound + libidn_dep = notfound + libunistring = notfound + networking_deps = notfound ++libiconv_dep = notfound + + # FIXME: Cleanup this when Meson gets 'feature-combo': + # https://github.com/mesonbuild/meson/issues/4566 +@@ -86,6 +87,19 @@ endif + if libidn2_dep.found() or libidn_dep.found() + # Check for libunistring, we need it for psl_str_to_utf8lower() + libunistring = cc.find_library('unistring') ++ found_iconv = false ++ if cc.has_function('iconv_open') ++ libiconv_dep = [] ++ found_iconv = true ++ endif ++ if not found_iconv and cc.has_header_symbol('iconv.h', 'iconv_open') ++ libiconv_dep = [cc.find_library('iconv')] ++ found_iconv = true ++ endif ++ ++ if not found_iconv ++ error('iconv implementation not found') ++ endif + endif + + if host_machine.system() == 'windows' +diff --git a/src/meson.build b/src/meson.build +index 0d1dcdf..746bf44 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -19,7 +19,7 @@ cargs = [ + libpsl = library('psl', sources, suffixes_dafsa_h, + include_directories : [configinc, includedir], + c_args : cargs, +- dependencies : [libidn2_dep, libidn_dep, libicu_dep, libunistring, networking_deps], ++ dependencies : [libidn2_dep, libidn_dep, libicu_dep, libunistring, networking_deps, libiconv_dep], + version: lt_version, + install: true, + ) diff --git a/package/libpsl/Config.in b/package/libpsl/Config.in new file mode 100644 index 00000000000..a4cbce6b436 --- /dev/null +++ b/package/libpsl/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBPSL + bool "libpsl" + depends on BR2_USE_WCHAR # libunistring, icu + select BR2_PACKAGE_LIBIDN2 if !BR2_PACKAGE_ICU && !BR2_PACKAGE_LIBIDN + select BR2_PACKAGE_LIBUNISTRING if !BR2_PACKAGE_ICU + help + C library to handle the Public Suffix List of TLDs. + + https://github.com/rockdaboot/libpsl + +comment "libpsl needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/package/libpsl/libpsl.hash b/package/libpsl/libpsl.hash new file mode 100644 index 00000000000..552935e9ecf --- /dev/null +++ b/package/libpsl/libpsl.hash @@ -0,0 +1,6 @@ +# Locally generated +sha256 ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c libpsl-0.21.1.tar.gz + +# Hashes for license files: +sha256 7903413e7aa0bbcb77aa19150a3f1034edc0a760cff174f9a53efe4de6f056a4 COPYING +sha256 1d7f52747a9169751cdf2641a8299c0098e9ecdf9429296ffd55bdb14c9ed5b3 src/LICENSE.chromium diff --git a/package/libpsl/libpsl.mk b/package/libpsl/libpsl.mk new file mode 100644 index 00000000000..5dc03a7c247 --- /dev/null +++ b/package/libpsl/libpsl.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# libpsl +# +################################################################################ + +LIBPSL_VERSION = 0.21.1 +LIBPSL_SITE = https://github.com/rockdaboot/libpsl/releases/download/$(LIBPSL_VERSION) +LIBPSL_LICENSE = MIT, BSD-3-Clause +LIBPSL_LICENSE_FILES = COPYING src/LICENSE.chromium +LIBPSL_DEPENDENCIES = host-pkgconf +LIBPSL_INSTALL_STAGING = YES + +# The order of checks is the same as done by libpsl when configured. +ifeq ($(BR2_PACKAGE_LIBIDN2)$(BR2_PACKAGE_LIBUNISTRING),yy) +LIBPSL_CONF_OPTS += -Druntime=libidn2 -Dbuiltin=libidn2 +LIBPSL_DEPENDENCIES += libidn2 libunistring +else ifeq ($(BR2_PACKAGE_ICU),y) +LIBPSL_CONF_OPTS += -Druntime=libicu -Dbuiltin=libicu +LIBPSL_DEPENDENCIES += icu +else +LIBPSL_CONF_OPTS += -Druntime=libidn -Dbuiltin=libidn +LIBPSL_DEPENDENCIES += libidn libunistring +endif + +$(eval $(meson-package)) diff --git a/package/libpwquality/libpwquality.mk b/package/libpwquality/libpwquality.mk index 7c0c5df38e6..d4f7a471201 100644 --- a/package/libpwquality/libpwquality.mk +++ b/package/libpwquality/libpwquality.mk @@ -12,9 +12,9 @@ LIBPWQUALITY_INSTALL_STAGING = YES LIBPWQUALITY_DEPENDENCIES = cracklib LIBPWQUALITY_LICENSE_FILES = COPYING -ifeq ($(BR2_PACKAGE_PYTHON),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) LIBPWQUALITY_CONF_OPTS += --enable-python-bindings -LIBPWQUALITY_DEPENDENCIES += python +LIBPWQUALITY_DEPENDENCIES += python3 LIBPWQUALITY_MAKE_ENV += $(PKG_PYTHON_DISTUTILS_ENV) else LIBPWQUALITY_CONF_OPTS += --disable-python-bindings diff --git a/package/libqb/Config.in b/package/libqb/Config.in new file mode 100644 index 00000000000..e481835dfc7 --- /dev/null +++ b/package/libqb/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBQB + bool "libqb" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBXML2 + help + Library for client-server applications + + https://github.com/ClusterLabs/libqb + +comment "libqb needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libqb/libqb.hash b/package/libqb/libqb.hash new file mode 100644 index 00000000000..b2c216f24ca --- /dev/null +++ b/package/libqb/libqb.hash @@ -0,0 +1,5 @@ +# From https://github.com/ClusterLabs/libqb/releases/download/v2.0.3/libqb-2.0.3.sha256 +sha256 a74582bc886fa625f5238374c7c8ca98672a2519c8196b91276be55886d84e9c libqb-2.0.3.tar.xz + +# Locally calculated +sha256 00a89b0d18aacd4114decf79122db87bf35bddaf2bc50e383c9c9f4c263390b2 COPYING diff --git a/package/libqb/libqb.mk b/package/libqb/libqb.mk new file mode 100644 index 00000000000..fb132365f1e --- /dev/null +++ b/package/libqb/libqb.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# libqb +# +################################################################################ + +LIBQB_VERSION = 2.0.3 +LIBQB_SOURCE = libqb-$(LIBQB_VERSION).tar.xz +LIBQB_SITE = \ + https://github.com/ClusterLabs/libqb/releases/download/v$(LIBQB_VERSION) +LIBQB_LICENSE = LGPL-2.1+ +LIBQB_LICENSE_FILES = COPYING +LIBQB_CPE_ID_VENDOR = clusterlabs +LIBQB_INSTALL_STAGING = YES +LIBQB_DEPENDENCIES = libxml2 + +# ac_cv_prog_cc_c99 is required for BR2_USE_WCHAR=n because the C99 test +# provided by autoconf relies on wchar_t. +LIBQB_CONF_ENV = ac_cv_prog_cc_c99=-std=gnu99 + +$(eval $(autotools-package)) diff --git a/package/libqmi/0001-build-add-an-option-to-not-build-man-pages.patch b/package/libqmi/0001-build-add-an-option-to-not-build-man-pages.patch new file mode 100644 index 00000000000..d9053de537d --- /dev/null +++ b/package/libqmi/0001-build-add-an-option-to-not-build-man-pages.patch @@ -0,0 +1,65 @@ +From 295b75e9c8dc895e281e36b1e8121d09fd556af0 Mon Sep 17 00:00:00 2001 +From: Aleksander Morgado +Date: Wed, 3 Nov 2021 10:57:51 +0100 +Subject: [PATCH] build: add an option to not build man pages + +When cross-compiling, the compiled binaries cannot be run on the build +machine, unless one defines a helper (e.g. qemu) in the meson +configuration, which is most of the time undesirable. + +If help2man is installed on the build machine, then the build would fail +because of this, so add an option to disable generating the man pages. + +With later versions of meson, it will be possible to automatically +detect this condition. + +Based on the same fix done in libmbim by Nicolas Cavallari, see +https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/commit/792af73ea90e9689703ab526dd444fdb1c2f8e40 + +Fixes https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/75 + +[Retrieved (and backported) from: +https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/commit/295b75e9c8dc895e281e36b1e8121d09fd556af0] +Signed-off-by: Fabrice Fontaine +--- + meson.build | 8 +++++++- + meson_options.txt | 1 + + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index e88b43a1..c7312146 100644 +--- a/meson.build ++++ b/meson.build +@@ -223,8 +223,8 @@ if enable_gtk_doc + subdir('docs/reference/libqmi-glib') + endif + +-help2man = find_program('help2man', required: false) +-if help2man.found() ++enable_man = get_option('man') ++if enable_man + subdir('docs/man') + endif + +@@ -237,6 +242,7 @@ summary({ + output += ' Documentation: ' + enable_gtk_doc.to_string() + '\n' + output += ' bash completion: ' + enable_bash_completion.to_string() + '\n' + output += ' gobject introspection: ' + enable_gir.to_string() + '\n\n' ++output += ' man pages: ' + enable_man.to_string() + '\n\n' + output += ' System paths\n' + output += ' prefix: ' + qmi_prefix + '\n' + output += ' udev base directory: ' + qmi_username + '\n\n' +diff --git a/meson_options.txt b/meson_options.txt +index 4d4f913d..bee5daac 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -16,5 +16,6 @@ option('udevdir', type: 'string', value: '', description: 'where udev base direc + + option('introspection', type: 'boolean', value: 'auto', description: 'build introspection support') + option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation') ++option('man', type: 'boolean', value: 'true', description: 'build man pages using help2man') + + option('bash_completion', type: 'boolean', value: true, description: 'install bash completion files') +-- +GitLab + diff --git a/package/libqmi/libqmi.hash b/package/libqmi/libqmi.hash index 1304a072e2c..1f2da45ac01 100644 --- a/package/libqmi/libqmi.hash +++ b/package/libqmi/libqmi.hash @@ -1,4 +1,4 @@ # Locally computed: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 a71963bb1097a42665287e40a9a36f95b8f9d6d6a4b7a5de22d660328af97cb9 libqmi-1.26.6.tar.xz +sha256 2eb7c7971b91a64ad830643b0170cff692a69bf0f093ca61d72d3f466a0272d4 libqmi-1.30.2.tar.gz diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk index 6b5ccfcdea0..a4839f1efb6 100644 --- a/package/libqmi/libqmi.mk +++ b/package/libqmi/libqmi.mk @@ -4,42 +4,62 @@ # ################################################################################ -LIBQMI_VERSION = 1.26.6 -LIBQMI_SITE = http://www.freedesktop.org/software/libqmi -LIBQMI_SOURCE = libqmi-$(LIBQMI_VERSION).tar.xz +LIBQMI_VERSION = 1.30.2 +LIBQMI_SITE = https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/$(LIBQMI_VERSION) LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) LIBQMI_LICENSE_FILES = COPYING COPYING.LIB +LIBQMI_CPE_ID_VENDOR = libqmi_project LIBQMI_INSTALL_STAGING = YES LIBQMI_DEPENDENCIES = libglib2 +LIBQMI_CONF_OPTS = -Dman=false -# we don't want -Werror -LIBQMI_CONF_OPTS = --enable-more-warnings=no +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBQMI_DEPENDENCIES += gobject-introspection +LIBQMI_CONF_OPTS += -Dintrospection=true +else +LIBQMI_CONF_OPTS += -Dintrospection=false +endif # if libgudev available, request udev support for a better # qmi-firmware-update experience ifeq ($(BR2_PACKAGE_LIBGUDEV),y) LIBQMI_DEPENDENCIES += libgudev -LIBQMI_CONF_OPTS += --with-udev +LIBQMI_CONF_OPTS += -Dudev=true else -LIBQMI_CONF_OPTS += --without-udev +LIBQMI_CONF_OPTS += -Dudev=false endif # if libmbim available, request QMI-over-MBIM support ifeq ($(BR2_PACKAGE_LIBMBIM),y) LIBQMI_DEPENDENCIES += libmbim -LIBQMI_CONF_OPTS += --enable-mbim-qmux +LIBQMI_CONF_OPTS += -Dmbim_qmux=true +else +LIBQMI_CONF_OPTS += -Dmbim_qmux=false +endif + +# if libqrtr-glib available, enable support for QMI over QRTR +ifeq ($(BR2_PACKAGE_LIBQRTR_GLIB),y) +LIBQMI_DEPENDENCIES += libqrtr-glib +LIBQMI_CONF_OPTS += -Dqrtr=true else -LIBQMI_CONF_OPTS += --disable-mbim-qmux +LIBQMI_CONF_OPTS += -Dqrtr=false endif # if ModemManager available, enable MM runtime check in # qmi-firmware-update (note that we don't need to build-depend on # anything else) ifeq ($(BR2_PACKAGE_MODEM_MANAGER),y) -LIBQMI_CONF_OPTS += --enable-mm-runtime-check +LIBQMI_CONF_OPTS += -Dmm_runtime_check=true +else +LIBQMI_CONF_OPTS += -Dmm_runtime_check=false +endif + +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +LIBQMI_DEPENDENCIES += bash-completion +LIBQMI_CONF_OPTS += -Dbash_completion=true else -LIBQMI_CONF_OPTS += --disable-mm-runtime-check +LIBQMI_CONF_OPTS += -Dbash_completion=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libqrtr-glib/Config.in b/package/libqrtr-glib/Config.in new file mode 100644 index 00000000000..ad4fd77687d --- /dev/null +++ b/package/libqrtr-glib/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_LIBQRTR_GLIB + bool "libqrtr-glib" + depends on BR2_USE_WCHAR # glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 # da7653f0faab + select BR2_PACKAGE_LIBGLIB2 + help + Qualcomm IPC Router protocol helper library. + Optional dependency for libqmi >= 1.28.0. + + https://www.freedesktop.org/software/libqmi/libqrtr-glib/latest/ + +comment "libqrtr-glib needs a toolchain w/ wchar, threads, headers >= 4.15" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 diff --git a/package/libqrtr-glib/libqrtr-glib.hash b/package/libqrtr-glib/libqrtr-glib.hash new file mode 100644 index 00000000000..e00dd0cb947 --- /dev/null +++ b/package/libqrtr-glib/libqrtr-glib.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 30d879b2ade6f8f461def3a677755db5c0238babf688d5c83c03b3e6abe35cee libqrtr-glib-1.0.0.tar.xz diff --git a/package/libqrtr-glib/libqrtr-glib.mk b/package/libqrtr-glib/libqrtr-glib.mk new file mode 100644 index 00000000000..6ab83354172 --- /dev/null +++ b/package/libqrtr-glib/libqrtr-glib.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# libqrtr-glib +# +################################################################################ + +LIBQRTR_GLIB_VERSION = 1.0.0 +LIBQRTR_GLIB_SITE = http://www.freedesktop.org/software/libqmi +LIBQRTR_GLIB_SOURCE = libqrtr-glib-$(LIBQRTR_GLIB_VERSION).tar.xz +LIBQRTR_GLIB_LICENSE = LGPL-2.1+ +LIBQRTR_GLIB_LICENSE_FILES = COPYING.LIB +LIBQRTR_GLIB_INSTALL_STAGING = YES +LIBQRTR_GLIB_DEPENDENCIES = libglib2 + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBQRTR_GLIB_CONF_OPTS += --enable-introspection +LIBQRTR_GLIB_DEPENDENCIES += gobject-introspection +else +LIBQRTR_GLIB_CONF_OPTS += --disable-introspection +endif + +$(eval $(autotools-package)) diff --git a/package/libraw/0001-Add-Libs.private-to-libraw.pc.patch b/package/libraw/0001-Add-Libs.private-to-libraw.pc.patch new file mode 100644 index 00000000000..a90af231784 --- /dev/null +++ b/package/libraw/0001-Add-Libs.private-to-libraw.pc.patch @@ -0,0 +1,67 @@ +From ad911cbc3c16397cf9d326c30571a4d1edaaa03f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 2 Jun 2021 07:45:40 +0200 +Subject: [PATCH] Add Libs.private to libraw.pc + +Add Libs.private to libraw.pc to avoid the following static build +failure when enabling libraw with jasper support in imagemagick: + +/home/giuliobenetti/autobuild/run/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/giuliobenetti/autobuild/run/instance-1/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libjasper.a(jpg_enc.c.o): in function `jpg_encode': +jpg_enc.c:(.text+0x1f4): undefined reference to `jpeg_stdio_dest' + +-ljpeg must be added after -ljasper because jasper depends on jpeg + +Fixes: + - http://autobuild.buildroot.org/results/88e43a1ea2059a684e50b0f5f2af407e8c6df2e1 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/LibRaw/LibRaw/pull/406] +--- + configure.ac | 2 ++ + libraw.pc.in | 1 + + libraw_r.pc.in | 1 + + 3 files changed, 4 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 4ab2f313..7bf5fdfd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -57,6 +57,7 @@ if test x$jpeg = xtrue; then + AC_CHECK_HEADERS([jpeglib.h], [ + CPPFLAGS="$CPPFLAGS -DUSE_JPEG -DUSE_JPEG8" + LIBS="$LIBS -ljpeg" ++ AC_SUBST([PACKAGE_LIBS_PRIVATE],"-ljpeg $PACKAGE_LIBS_PRIVATE") + ], AC_MSG_WARN([no jpeg headers found])) + ], + AC_MSG_WARN([libjpeg not found]) +@@ -78,6 +79,7 @@ if test x$jasper = xtrue; then + AC_CHECK_HEADERS([jasper/jasper.h], [ + CPPFLAGS="$CPPFLAGS -DUSE_JASPER" + LIBS="$LIBS -ljasper" ++ AC_SUBST([PACKAGE_LIBS_PRIVATE],"-ljasper $PACKAGE_LIBS_PRIVATE") + ], AC_MSG_WARN([no jasper headers found])) + ], + AC_MSG_WARN([libjasper not found]) +diff --git a/libraw.pc.in b/libraw.pc.in +index 1bab18b8..c95fbc48 100644 +--- a/libraw.pc.in ++++ b/libraw.pc.in +@@ -8,4 +8,5 @@ Description: Raw image decoder library (non-thread-safe) + Requires: @PACKAGE_REQUIRES@ + Version: @PACKAGE_VERSION@ + Libs: -L${libdir} -lraw -lstdc++@PC_OPENMP@ ++Libs.private: @PACKAGE_LIBS_PRIVATE@ + Cflags: -I${includedir}/libraw -I${includedir} +diff --git a/libraw_r.pc.in b/libraw_r.pc.in +index e8427271..92bbbffa 100644 +--- a/libraw_r.pc.in ++++ b/libraw_r.pc.in +@@ -8,4 +8,5 @@ Description: Raw image decoder library (thread-safe) + Requires: @PACKAGE_REQUIRES@ + Version: @PACKAGE_VERSION@ + Libs: -L${libdir} -lraw_r -lstdc++@PC_OPENMP@ ++Libs.private: @PACKAGE_LIBS_PRIVATE@ + Cflags: -I${includedir}/libraw -I${includedir} +-- +2.30.2 + diff --git a/package/libraw/Config.in b/package/libraw/Config.in index de763cd36ad..631123c2d3b 100644 --- a/package/libraw/Config.in +++ b/package/libraw/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBRAW bool "libraw" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_INSTALL_LIBSTDCPP help libraw is a raw image manipulation library @@ -7,4 +8,5 @@ config BR2_PACKAGE_LIBRAW http://www.libraw.org/ comment "libraw needs a toolchain w/ C++" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/librelp/librelp.hash b/package/librelp/librelp.hash index 88665bcf2ad..23ce8c15f8f 100644 --- a/package/librelp/librelp.hash +++ b/package/librelp/librelp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 24ee9e843960d1400a44ffaedb0b1ec91463df8f8acca869cc027ed25ee6bf33 librelp-1.9.0.tar.gz +sha256 148db4e4d1a23e8136e9ec08810929a55faf5d45e24c2e3186d5ab34355dab31 librelp-1.10.0.tar.gz sha256 1ed76f935566e93e3c3c0d9f8fad22eb6d8bbe406e2eb8470a4a2764d9fd9685 COPYING diff --git a/package/librelp/librelp.mk b/package/librelp/librelp.mk index 2b8a53e8337..f8bbdb131cd 100644 --- a/package/librelp/librelp.mk +++ b/package/librelp/librelp.mk @@ -4,10 +4,11 @@ # ################################################################################ -LIBRELP_VERSION = 1.9.0 +LIBRELP_VERSION = 1.10.0 LIBRELP_SITE = http://download.rsyslog.com/librelp LIBRELP_LICENSE = GPL-3.0+ LIBRELP_LICENSE_FILES = COPYING +LIBRELP_CPE_ID_VENDOR = rsyslog LIBRELP_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_GNUTLS),y) diff --git a/package/libressl/0001-always-expose-SSL_OP_NO_TLSv1_3.patch b/package/libressl/0001-always-expose-SSL_OP_NO_TLSv1_3.patch new file mode 100644 index 00000000000..98fe250f658 --- /dev/null +++ b/package/libressl/0001-always-expose-SSL_OP_NO_TLSv1_3.patch @@ -0,0 +1,37 @@ +always expose SSL_OP_NO_TLSv1_3 + +like in OpenSSL, see https://github.com/openssl/openssl/blob/master/include/openssl/ssl.h.in#L399 + +like SSL_OP_NO_DTLSv1_2, see commit "Expose various DTLSv1.2 specific functions and defines" + +this change fixes the compilation of vsftpd 3.0.4 & 3.0.5, which fails with the following error: +``` +ssl.c: In function 'ssl_init': +ssl.c:98:18: error: 'SSL_OP_NO_TLSv1_3' undeclared (first use in this function); did you mean 'SSL_OP_NO_TLSv1_1'? +``` + +Signed-off-by: Francois Perrad +Fetched from: https://github.com/libressl-portable/openbsd/pull/124 +--- + include/openssl/ssl.h | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h +index 46f24b2ea..4048a6e63 100644 +--- a/include/openssl/ssl.h ++++ b/include/openssl/ssl.h +@@ -411,11 +411,7 @@ typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, + #define SSL_OP_NO_TLSv1 0x04000000L + #define SSL_OP_NO_TLSv1_2 0x08000000L + #define SSL_OP_NO_TLSv1_1 0x10000000L +- +-#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) + #define SSL_OP_NO_TLSv1_3 0x20000000L +-#endif +- + #define SSL_OP_NO_DTLSv1 0x40000000L + #define SSL_OP_NO_DTLSv1_2 0x80000000L + +-- +2.30.2 + diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash index 0dd0ffcaed0..e9239987136 100644 --- a/package/libressl/libressl.hash +++ b/package/libressl/libressl.hash @@ -1,4 +1,4 @@ # From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256 -sha256 412dc2baa739228c7779e93eb07cd645d5c964d2f2d837a9fd56db7498463d73 libressl-3.2.3.tar.gz +sha256 ff88bffe354818b3ccf545e3cafe454c5031c7a77217074f533271d63c37f08d libressl-3.4.3.tar.gz # Locally computed sha256 5c63613f008f16a9c0025c096bbd736cecf720494d121b5c5203e0ec6e5955b1 COPYING diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk index 654b8bda262..0bb468cedbd 100644 --- a/package/libressl/libressl.mk +++ b/package/libressl/libressl.mk @@ -4,12 +4,13 @@ # ################################################################################ -LIBRESSL_VERSION = 3.2.3 +LIBRESSL_VERSION = 3.4.3 LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL LIBRESSL_LICENSE = ISC (new additions), OpenSSL or SSLeay (original OpenSSL code) LIBRESSL_LICENSE_FILES = COPYING LIBRESSL_CPE_ID_VENDOR = openbsd LIBRESSL_INSTALL_STAGING = YES +LIBRESSL_CONF_OPTS = -DOPENSSLDIR="/etc/ssl" ifeq ($(BR2_PACKAGE_LIBRESSL_BIN),) define LIBRESSL_REMOVE_BIN diff --git a/package/librsvg/0001-gdk-pixbuf-loader-Makefile.am-set-GDK_PIXBUF_MODULED.patch b/package/librsvg/0001-gdk-pixbuf-loader-Makefile.am-set-GDK_PIXBUF_MODULED.patch new file mode 100644 index 00000000000..761ff926053 --- /dev/null +++ b/package/librsvg/0001-gdk-pixbuf-loader-Makefile.am-set-GDK_PIXBUF_MODULED.patch @@ -0,0 +1,41 @@ +From 2c472bf55289ccbd7f305aa3e98d6fd70be4e3ab Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 19 Feb 2022 12:02:10 +0100 +Subject: [PATCH] gdk-pixbuf-loader/Makefile.am: set GDK_PIXBUF_MODULEDIR + +Set GDK_PIXBUF_MODULEDIR to gdk_pixbuf_moduledir before calling +gdk-pixbuf-query-loaders to build a correct gdk_pixbuf_cache_file and +gdk-pixbuf.loaders on 'exotic' systems + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/668] +--- + gdk-pixbuf-loader/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdk-pixbuf-loader/Makefile.am b/gdk-pixbuf-loader/Makefile.am +index c3493736..de1f9641 100644 +--- a/gdk-pixbuf-loader/Makefile.am ++++ b/gdk-pixbuf-loader/Makefile.am +@@ -49,7 +49,7 @@ rsvg_loader_LDADD = \ + EXTRA_rsvg_loader_DEPENDENCIES = libpixbufloader-svg.la gdk-pixbuf-loaders + + gdk-pixbuf-loaders: Makefile +- $(AM_V_GEN) ( $(GDK_PIXBUF_QUERYLOADERS) ./libpixbufloader-svg.la && $(GDK_PIXBUF_QUERYLOADERS)) > gdk-pixbuf.loaders 2>/dev/null ++ $(AM_V_GEN) ( $(GDK_PIXBUF_QUERYLOADERS) ./libpixbufloader-svg.la && GDK_PIXBUF_MODULEDIR=$(gdk_pixbuf_moduledir) $(GDK_PIXBUF_QUERYLOADERS)) > gdk-pixbuf.loaders 2>/dev/null + + if CROSS_COMPILING + RUN_QUERY_LOADER_TEST=false +@@ -68,7 +68,7 @@ endif + install-data-hook: + @if $(RUN_QUERY_LOADER_TEST) ; then \ + $(mkinstalldirs) $(DESTDIR)$(gdk_pixbuf_binarydir) ; \ +- $(GDK_PIXBUF_QUERYLOADERS) > $(DESTDIR)$(gdk_pixbuf_cache_file) ; \ ++ GDK_PIXBUF_MODULEDIR=$(gdk_pixbuf_moduledir) $(GDK_PIXBUF_QUERYLOADERS) > $(DESTDIR)$(gdk_pixbuf_cache_file) ; \ + else \ + echo "***" ; \ + echo "*** Warning: loaders.cache not built" ; \ +-- +2.34.1 + diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in index 3272ecd773e..270b524b376 100644 --- a/package/librsvg/Config.in +++ b/package/librsvg/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_LIBRSVG depends on BR2_USE_MMU # glib2 depends on BR2_INSTALL_LIBSTDCPP # pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG select BR2_PACKAGE_CAIRO_SCRIPT @@ -21,10 +21,10 @@ config BR2_PACKAGE_LIBRSVG https://wiki.gnome.org/Projects/LibRsvg -comment "librsvg needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "librsvg needs a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_INSTALL_LIBSTDCPP diff --git a/package/librsvg/librsvg.hash b/package/librsvg/librsvg.hash index 1b3c26687bf..8b32c6581e2 100644 --- a/package/librsvg/librsvg.hash +++ b/package/librsvg/librsvg.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/librsvg/2.50/librsvg-2.50.2.sha256sum -sha256 6211f271ce4cd44a7318190d36712e9cea384a933d3e3570004edeb210a056d3 librsvg-2.50.2.tar.xz +# From https://ftp.gnome.org/pub/gnome/sources/librsvg/2.50/librsvg-2.50.7.sha256sum +sha256 fffb61b08cd5282aaae147a02b305166a7426fad22a8b9427708f0f2fc426ebc librsvg-2.50.7.tar.xz # Locally computed sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/librsvg/librsvg.mk b/package/librsvg/librsvg.mk index 5eeb68f9b86..07a14b43664 100644 --- a/package/librsvg/librsvg.mk +++ b/package/librsvg/librsvg.mk @@ -5,7 +5,7 @@ ################################################################################ LIBRSVG_VERSION_MAJOR = 2.50 -LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).2 +LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).7 LIBRSVG_SITE = http://ftp.gnome.org/pub/gnome/sources/librsvg/$(LIBRSVG_VERSION_MAJOR) LIBRSVG_SOURCE = librsvg-$(LIBRSVG_VERSION).tar.xz LIBRSVG_INSTALL_STAGING = YES @@ -20,6 +20,8 @@ HOST_LIBRSVG_DEPENDENCIES = host-cairo host-gdk-pixbuf host-libglib2 host-libxml LIBRSVG_LICENSE = LGPL-2.1+ LIBRSVG_LICENSE_FILES = COPYING.LIB LIBRSVG_CPE_ID_VENDOR = gnome +# We're patching gdk-pixbuf-loader/Makefile.am +LIBRSVG_AUTORECONF = YES ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) LIBRSVG_CONF_OPTS += --enable-introspection diff --git a/package/librsync/librsync.hash b/package/librsync/librsync.hash index 1b2130b1a4c..c8ca61e5164 100644 --- a/package/librsync/librsync.hash +++ b/package/librsync/librsync.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 dbd7eb643665691bdf4009174461463737b19b4814b789baad62914cabfe4569 librsync-2.3.1.tar.gz +sha256 ef8ce23df38d5076d25510baa2cabedffbe0af460d887d86c2413a1c2b0c676f librsync-2.3.2.tar.gz sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING diff --git a/package/librsync/librsync.mk b/package/librsync/librsync.mk index bb36cb657c5..97f5c607b03 100644 --- a/package/librsync/librsync.mk +++ b/package/librsync/librsync.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBRSYNC_VERSION = 2.3.1 -LIBRSYNC_SITE = $(call github,librsync,librsync,v$(LIBRSYNC_VERSION)) +LIBRSYNC_VERSION = 2.3.2 +LIBRSYNC_SITE = https://github.com/librsync/librsync/releases/download/v$(LIBRSYNC_VERSION) LIBRSYNC_LICENSE = LGPL-2.1+ LIBRSYNC_LICENSE_FILES = COPYING LIBRSYNC_CPE_ID_VENDOR = librsync_project diff --git a/package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch b/package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch new file mode 100644 index 00000000000..1aec8166cce --- /dev/null +++ b/package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch @@ -0,0 +1,31 @@ +From 082c9e4cb6c8f96aa59dd3d03b0288752518fad7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 19 Feb 2022 22:29:45 +0100 +Subject: [PATCH] Makefile.am: respect $(DESTDIR) with install-udev-rules + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/steve-m/librtlsdr/pull/67] +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 65b2f21..6b8691a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -14,10 +14,10 @@ dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version + + install-udev-rules: +- $(INSTALL_DATA) rtl-sdr.rules /etc/udev/rules.d ++ $(INSTALL_DATA) rtl-sdr.rules $(DESTDIR)/etc/udev/rules.d + + uninstall-udev-rules: +- rm -rf /etc/udev/rules.d/rtl-sdr.rules ++ rm -rf $(DESTDIR)/etc/udev/rules.d/rtl-sdr.rules + + EXTRA_DIST = git-version-gen .version + +-- +2.34.1 + diff --git a/package/librtlsdr/0001-disable_shared_library_target_in_build.patch b/package/librtlsdr/0001-disable_shared_library_target_in_build.patch deleted file mode 100644 index 2fb63465deb..00000000000 --- a/package/librtlsdr/0001-disable_shared_library_target_in_build.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 9a1c2587d4ef18e2026811deabd024eb7577d9ce Mon Sep 17 00:00:00 2001 -From: Gwenhael Goavec-Merou -Date: Fri, 15 May 2020 16:14:48 +0200 -Subject: [PATCH] disable shared library target in build - -Disable shared library target if BUILD_SHARED_LIBS if OFF. - -Patch retrieved from -https://git.buildroot.net/buildroot/tree/package/librtlsdr/0001-disable_shared_library_target_in_build.patch?h=2020.02.x - -Patch has been updated to work with master and to be able to keep current -behavior of building shared and static version of library if -BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are both set. -Moreover, if BUILD_STATIC_LIBS is OFF, only shared version of library -will be install. - -[Upstream status: http://lists.osmocom.org/pipermail/osmocom-sdr/2020-May/002075.html] - -Signed-off-by: Yuvaraj Patil -Signed-off-by: Fabrice Fontaine -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Titouan Christophe ---- - src/CMakeLists.txt | 30 +++++++++++++++++++++--------- - 1 file changed, 21 insertions(+), 9 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index de93044..13b7b1a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -18,6 +18,8 @@ - ######################################################################## - # Setup shared library variant - ######################################################################## -+option(BUILD_SHARED_LIBS "Build shared library" ON) -+if(BUILD_SHARED_LIBS) - add_library(rtlsdr SHARED librtlsdr.c - tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) - target_link_libraries(rtlsdr PkgConfig::LIBUSB) -@@ -30,10 +32,14 @@ set_target_properties(rtlsdr PROPERTIES OUTPUT_NAME rtlsdr) - set_target_properties(rtlsdr PROPERTIES SOVERSION ${MAJOR_VERSION}) - set_target_properties(rtlsdr PROPERTIES VERSION ${LIBVER}) - generate_export_header(rtlsdr) -+list(APPEND rtlsdr_lib rtlsdr) -+endif() - - ######################################################################## - # Setup static library variant - ######################################################################## -+option(BUILD_STATIC_LIBS "Build static library" ON) -+if(BUILD_STATIC_LIBS) - add_library(rtlsdr_static STATIC librtlsdr.c - tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) - target_link_libraries(rtlsdr_static PkgConfig::LIBUSB) -@@ -47,6 +53,8 @@ if(NOT WIN32) - set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr) - endif() - generate_export_header(rtlsdr_static) -+list(APPEND rtlsdr_lib rtlsdr_static) -+endif() - - ######################################################################## - # Set up Windows DLL resource files -@@ -90,37 +98,37 @@ add_executable(rtl_eeprom rtl_eeprom.c) - add_executable(rtl_adsb rtl_adsb.c) - add_executable(rtl_power rtl_power.c) - add_executable(rtl_biast rtl_biast.c) --set(INSTALL_TARGETS rtlsdr rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast) -+set(INSTALL_TARGETS ${rtlsdr_lib} rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast) - --target_link_libraries(rtl_sdr rtlsdr convenience_static -+target_link_libraries(rtl_sdr ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_tcp rtlsdr convenience_static -+target_link_libraries(rtl_tcp ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_test rtlsdr convenience_static -+target_link_libraries(rtl_test ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_fm rtlsdr convenience_static -+target_link_libraries(rtl_fm ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_eeprom rtlsdr convenience_static -+target_link_libraries(rtl_eeprom ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_adsb rtlsdr convenience_static -+target_link_libraries(rtl_adsb ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_power rtlsdr convenience_static -+target_link_libraries(rtl_power ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_biast rtlsdr convenience_static -+target_link_libraries(rtl_biast ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) -@@ -156,12 +164,16 @@ endif() - ######################################################################## - # Install built library files & utilities - ######################################################################## -+if(BUILD_SHARED_LIBS) - install(TARGETS rtlsdr EXPORT RTLSDR-export - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file - ) -+endif() -+if(BUILD_STATIC_LIBS) - install(TARGETS rtlsdr_static EXPORT RTLSDR-export - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file - ) -+endif() - install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast - DESTINATION ${CMAKE_INSTALL_BINDIR} - ) --- -2.25.3 - diff --git a/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch b/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch deleted file mode 100644 index 9c808edd41b..00000000000 --- a/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch +++ /dev/null @@ -1,47 +0,0 @@ -From feb5d9c6b7bcec788f9b01781c205e31fff260e7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 11 Aug 2020 23:07:08 +0200 -Subject: [PATCH] cmake/Modules/Version.cmake: don't use Git version if not in - a Git repo - -If the librtlsdr code comes from a tarball, it doesn't have any .git/ -metadata, and therefore even if Git (as a tool) is found, the logic in -cmake/Modules/Version.cmake fails finding a version through Git: - --- Extracting version information from git describe... -fatal: Not a git repository (or any of the parent directories): .git - -As a consequence, the VERSION variable is empty, which later causes -cmake to bail out with: - -CMake Error at /home/test/autobuild/run/instance-1/output-1/host/share/cmake-3.15/Modules/WriteBasicConfigVersionFile.cmake:43 (message): - No VERSION specified for WRITE_BASIC_CONFIG_VERSION_FILE() -Call Stack (most recent call first): - /home/test/autobuild/run/instance-1/output-1/host/share/cmake-3.15/Modules/CMakePackageConfigHelpers.cmake:225 (write_basic_config_version_file) - CMakeLists.txt:173 (write_basic_package_version_file) - -To avoid this, we only use Git to determine the version if the cmake -project top-level source directory has a .git/ folder. - -Upstream: https://github.com/librtlsdr/librtlsdr/pull/75 -Signed-off-by: Thomas Petazzoni ---- - cmake/Modules/Version.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/Modules/Version.cmake b/cmake/Modules/Version.cmake -index 2d4e76d..6f67fa4 100644 ---- a/cmake/Modules/Version.cmake -+++ b/cmake/Modules/Version.cmake -@@ -32,7 +32,7 @@ set(PATCH_VERSION ${VERSION_INFO_PATCH_VERSION}) - ######################################################################## - find_package(Git QUIET) - --if(GIT_FOUND) -+if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) - message(STATUS "Extracting version information from git describe...") - execute_process( - COMMAND ${GIT_EXECUTABLE} describe --always --abbrev=4 --long --- -2.26.2 - diff --git a/package/librtlsdr/librtlsdr.mk b/package/librtlsdr/librtlsdr.mk index 7796d1096a1..908be158b11 100644 --- a/package/librtlsdr/librtlsdr.mk +++ b/package/librtlsdr/librtlsdr.mk @@ -9,29 +9,25 @@ LIBRTLSDR_SITE = $(call github,steve-m,librtlsdr,$(LIBRTLSDR_VERSION)) LIBRTLSDR_LICENSE = GPL-2.0+ LIBRTLSDR_LICENSE_FILES = COPYING LIBRTLSDR_INSTALL_STAGING = YES -LIBRTLSDR_DEPENDENCIES = libusb - -# BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable -ifeq ($(BR2_STATIC_LIBS),y) -LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -else ifeq ($(BR2_SHARED_LIBS),y) -LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF -endif +# From git +LIBRTLSDR_AUTORECONF = YES +LIBRTLSDR_DEPENDENCIES = host-pkgconf libusb +LIBRTLSDR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -LIBRTLSDR_CONF_OPTS += -DINSTALL_UDEV_RULES=ON +LIBRTLSDR_INSTALL_TARGET_OPTS += install-udev-rules endif ifeq ($(BR2_PACKAGE_LIBRTLSDR_DETACH_DRIVER),y) -LIBRTLSDR_CONF_OPTS += -DDETACH_KERNEL_DRIVER=1 +LIBRTLSDR_CONF_OPTS += --enable-driver-detach +else +LIBRTLSDR_CONF_OPTS += --disable-driver-detach endif ifeq ($(BR2_PACKAGE_LIBRTLSDR_ZEROCOPY),y) -LIBRTLSDR_CONF_OPTS += -DENABLE_ZEROCOPY=ON +LIBRTLSDR_CONF_OPTS += --enable-zerocopy else -LIBRTLSDR_CONF_OPTS += -DENABLE_ZEROCOPY=OFF +LIBRTLSDR_CONF_OPTS += --disable-zerocopy endif -$(eval $(cmake-package)) +$(eval $(autotools-package)) diff --git a/package/libsamplerate/libsamplerate.mk b/package/libsamplerate/libsamplerate.mk index c107650cb49..146d57d15ea 100644 --- a/package/libsamplerate/libsamplerate.mk +++ b/package/libsamplerate/libsamplerate.mk @@ -11,6 +11,7 @@ LIBSAMPLERATE_DEPENDENCIES = host-pkgconf LIBSAMPLERATE_CONF_OPTS = --disable-fftw --program-transform-name='' LIBSAMPLERATE_LICENSE = BSD-2-Clause LIBSAMPLERATE_LICENSE_FILES = COPYING +LIBSAMPLERATE_CPE_ID_VENDOR = libsamplerate_project ifeq ($(BR2_PACKAGE_ALSA_LIB),y) LIBSAMPLERATE_DEPENDENCIES += alsa-lib diff --git a/package/libseccomp/Config.in b/package/libseccomp/Config.in index d3b4bb8192d..7de91c07c59 100644 --- a/package/libseccomp/Config.in +++ b/package/libseccomp/Config.in @@ -5,11 +5,13 @@ config BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default y if BR2_i386 || BR2_x86_64 default y if BR2_powerpc64 || BR2_powerpc + default y if BR2_RISCV_64 + default y if BR2_s390x config BR2_PACKAGE_LIBSECCOMP bool "libseccomp" depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 help High level interface to the Linux Kernel's seccomp filter @@ -23,6 +25,6 @@ config BR2_PACKAGE_LIBSECCOMP https://github.com/seccomp/libseccomp -comment "libseccomp needs a toolchain w/ headers >= 3.12" +comment "libseccomp needs a toolchain w/ headers >= 3.17" depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/package/libseccomp/libseccomp.hash b/package/libseccomp/libseccomp.hash index 2d07c1c1fa9..20b88647273 100644 --- a/package/libseccomp/libseccomp.hash +++ b/package/libseccomp/libseccomp.hash @@ -1,4 +1,4 @@ -# From https://github.com/seccomp/libseccomp/releases/tag/v2.4.4 -sha256 4e79738d1ef3c9b7ca9769f1f8b8d84fc17143c2c1c432e53b9c64787e0ff3eb libseccomp-2.4.4.tar.gz +# From https://github.com/seccomp/libseccomp/releases/tag/v2.5.3 +sha256 59065c8733364725e9721ba48c3a99bbc52af921daf48df4b1e012fbc7b10a76 libseccomp-2.5.3.tar.gz # Locally calculated sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b LICENSE diff --git a/package/libseccomp/libseccomp.mk b/package/libseccomp/libseccomp.mk index e7512730d55..ee2cb126f1a 100644 --- a/package/libseccomp/libseccomp.mk +++ b/package/libseccomp/libseccomp.mk @@ -4,11 +4,12 @@ # ################################################################################ -LIBSECCOMP_VERSION = 2.4.4 +LIBSECCOMP_VERSION = 2.5.3 LIBSECCOMP_SITE = https://github.com/seccomp/libseccomp/releases/download/v$(LIBSECCOMP_VERSION) LIBSECCOMP_LICENSE = LGPL-2.1 LIBSECCOMP_LICENSE_FILES = LICENSE LIBSECCOMP_CPE_ID_VENDOR = libseccomp_project LIBSECCOMP_INSTALL_STAGING = YES +LIBSECCOMP_DEPENDENCIES = host-gperf $(eval $(autotools-package)) diff --git a/package/libselinux/0002-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch b/package/libselinux/0002-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch index cbd98a61ad5..18c79b3b4d0 100644 --- a/package/libselinux/0002-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch +++ b/package/libselinux/0002-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch @@ -36,7 +36,7 @@ index 190016e2af34..7ee22fd35da3 100644 RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]') RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') RUBYINSTALL ?= $(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') -@@ -176,7 +175,7 @@ install: all +@@ -184,7 +183,7 @@ install: all install-pywrap: pywrap $(PYTHON) setup.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` $(PYTHON_SETUP_ARGS) install -m 644 $(SWIGPYOUT) $(DESTDIR)$(PYTHONLIBDIR)/selinux/__init__.py diff --git a/package/libselinux/0003-libselinux-rename-gettid-to-something-which-never-conflicts.patch b/package/libselinux/0003-libselinux-rename-gettid-to-something-which-never-conflicts.patch deleted file mode 100644 index 2a23e98f9b4..00000000000 --- a/package/libselinux/0003-libselinux-rename-gettid-to-something-which-never-conflicts.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 398d2ceef92cb1baac18e6b34a1a8e1bf41296cd Mon Sep 17 00:00:00 2001 -From: Nicolas Iooss -Date: Tue, 16 Feb 2021 22:13:28 +0100 -Subject: [PATCH] libselinux: rename gettid() to something which never - conflicts with the libc - -Musl recently added a wrapper for gettid() syscall. There is no way to -detect this new version in a reliable way, so rename our gettid() -wrapper to a non-conflicting name. - -Introduce a new function which, when using a libc known to provide a -wrapper for gettid(), calls it, and which, otherwise, performs the -syscall directly. - -Anyway this function is only used on systems where /proc/thread-self -does not exist, which are therefore running Linux<3.17. - -Fixes: https://github.com/SELinuxProject/selinux/issues/282 -Signed-off-by: Nicolas Iooss -Acked-by: Petr Lautrbach -[Retrieved from: -https://github.com/SELinuxProject/selinux/commit/398d2ceef92cb1baac18e6b34a1a8e1bf41296cd] -Signed-off-by: Fabrice Fontaine ---- - src/procattr.c | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -diff --git a/src/procattr.c b/src/procattr.c -index 1aa67ac53..840570525 100644 ---- a/src/procattr.c -+++ b/src/procattr.c -@@ -25,21 +25,23 @@ static __thread char destructor_initialized; - /* Bionic and glibc >= 2.30 declare gettid() system call wrapper in unistd.h and - * has a definition for it */ - #ifdef __BIONIC__ -- #define OVERRIDE_GETTID 0 -+ #define HAVE_GETTID 1 - #elif !defined(__GLIBC_PREREQ) -- #define OVERRIDE_GETTID 1 -+ #define HAVE_GETTID 0 - #elif !__GLIBC_PREREQ(2,30) -- #define OVERRIDE_GETTID 1 -+ #define HAVE_GETTID 0 - #else -- #define OVERRIDE_GETTID 0 -+ #define HAVE_GETTID 1 - #endif - --#if OVERRIDE_GETTID --static pid_t gettid(void) -+static pid_t selinux_gettid(void) - { -+#if HAVE_GETTID -+ return gettid(); -+#else - return syscall(__NR_gettid); --} - #endif -+} - - static void procattr_thread_destructor(void __attribute__((unused)) *unused) - { -@@ -94,7 +96,7 @@ static int openattr(pid_t pid, const char *attr, int flags) - if (fd >= 0 || errno != ENOENT) - goto out; - free(path); -- tid = gettid(); -+ tid = selinux_gettid(); - rc = asprintf(&path, "/proc/self/task/%d/attr/%s", tid, attr); - } else { - errno = EINVAL; diff --git a/package/libselinux/Config.in b/package/libselinux/Config.in index 62070c8d593..348757abce3 100644 --- a/package/libselinux/Config.in +++ b/package/libselinux/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBSELINUX bool "libselinux" depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol select BR2_PACKAGE_LIBSEPOL select BR2_PACKAGE_PCRE select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC @@ -16,5 +17,6 @@ config BR2_PACKAGE_LIBSELINUX http://selinuxproject.org/page/Main_Page -comment "libselinux needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "libselinux needs a toolchain w/ threads, dynamic library, gcc >= 5" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/libselinux/libselinux.hash b/package/libselinux/libselinux.hash index 1101b405013..a2e0083f7bc 100644 --- a/package/libselinux/libselinux.hash +++ b/package/libselinux/libselinux.hash @@ -1,5 +1,5 @@ # From: https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 ea5dcbb4d859e3f999c26a13c630da2f16dff9462e3cc8cb7b458ac157d112e7 libselinux-3.1.tar.gz +sha256 acfdee27633d2496508c28727c3d41d3748076f66d42fccde2e6b9f3463a7057 libselinux-3.3.tar.gz # Hash for license file -sha256 86657b4c0fe868d7cbd977cb04c63b6c667e08fa51595a7bc846ad4bed8fc364 LICENSE +sha256 86657b4c0fe868d7cbd977cb04c63b6c667e08fa51595a7bc846ad4bed8fc364 LICENSE diff --git a/package/libselinux/libselinux.mk b/package/libselinux/libselinux.mk index fdd13aa942b..c6be8e638ad 100644 --- a/package/libselinux/libselinux.mk +++ b/package/libselinux/libselinux.mk @@ -4,13 +4,14 @@ # ################################################################################ -LIBSELINUX_VERSION = 3.1 -LIBSELINUX_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +LIBSELINUX_VERSION = 3.3 +LIBSELINUX_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(LIBSELINUX_VERSION) LIBSELINUX_LICENSE = Public Domain LIBSELINUX_LICENSE_FILES = LICENSE LIBSELINUX_CPE_ID_VENDOR = selinuxproject -LIBSELINUX_DEPENDENCIES = $(BR2_COREUTILS_HOST_DEPENDENCY) libsepol pcre +LIBSELINUX_DEPENDENCIES = \ + $(BR2_COREUTILS_HOST_DEPENDENCY) host-pkgconf libsepol pcre LIBSELINUX_INSTALL_STAGING = YES @@ -18,7 +19,7 @@ LIBSELINUX_INSTALL_STAGING = YES # we won't have to use a relative path in 0002-revert-ln-relative.patch LIBSELINUX_MAKE_OPTS = \ $(TARGET_CONFIGURE_OPTS) \ - ARCH=$(KERNEL_ARCH) \ + ARCH=$(NORMALIZED_ARCH) \ SHLIBDIR=/usr/lib LIBSELINUX_MAKE_INSTALL_TARGETS = install @@ -52,8 +53,7 @@ endif # python3 # when the python binding is enabled. LIBSELINUX_MAKE_OPTS += \ CFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))" \ - CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))" \ - LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread" + CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))" define LIBSELINUX_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ @@ -76,13 +76,12 @@ define LIBSELINUX_INSTALL_TARGET_CMDS endef HOST_LIBSELINUX_DEPENDENCIES = \ - host-libsepol host-pcre host-swig host-python3 + host-pkgconf host-libsepol host-pcre host-swig host-python3 HOST_LIBSELINUX_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ PREFIX=$(HOST_DIR) \ SHLIBDIR=$(HOST_DIR)/lib \ - LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \ $(HOST_PKG_PYTHON_DISTUTILS_ENV) \ PYTHON=python$(PYTHON3_VERSION_MAJOR) diff --git a/package/libsemanage/Config.in b/package/libsemanage/Config.in index 3c7050ee51b..5103df3f15a 100644 --- a/package/libsemanage/Config.in +++ b/package/libsemanage/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBSEMANAGE depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol select BR2_PACKAGE_AUDIT select BR2_PACKAGE_LIBSELINUX select BR2_PACKAGE_BZIP2 @@ -17,6 +18,7 @@ config BR2_PACKAGE_LIBSEMANAGE http://selinuxproject.org/page/Main_Page -comment "libsemanage needs a toolchain w/ threads, dynamic library" +comment "libsemanage needs a toolchain w/ threads, dynamic library, gcc >= 5" depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/libsemanage/libsemanage.hash b/package/libsemanage/libsemanage.hash index a977ddabc6d..1f333aac30a 100644 --- a/package/libsemanage/libsemanage.hash +++ b/package/libsemanage/libsemanage.hash @@ -1,5 +1,5 @@ # From: https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 22d6c75526e40d1781c30bcf29abf97171bdfe6780923f11c8e1c76a75a21ff8 libsemanage-3.1.tar.gz +sha256 84d0ec5afa34bbbb471f602d8c1bf317d12443d07852a34b60741d428d597ce8 libsemanage-3.3.tar.gz # Hash for license file -sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/libsemanage/libsemanage.mk b/package/libsemanage/libsemanage.mk index 48e2bbbc8b6..db9f16bb6a6 100644 --- a/package/libsemanage/libsemanage.mk +++ b/package/libsemanage/libsemanage.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSEMANAGE_VERSION = 3.1 -LIBSEMANAGE_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +LIBSEMANAGE_VERSION = 3.3 +LIBSEMANAGE_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(LIBSEMANAGE_VERSION) LIBSEMANAGE_LICENSE = LGPL-2.1+ LIBSEMANAGE_LICENSE_FILES = COPYING LIBSEMANAGE_DEPENDENCIES = host-bison host-flex audit libselinux bzip2 diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in index 6c66809c9e1..7516076cd5c 100644 --- a/package/libsepol/Config.in +++ b/package/libsepol/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LIBSEPOL bool "libsepol" depends on BR2_TOOLCHAIN_HAS_THREADS # pthread + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 help Libsepol is the binary policy manipulation library. It doesn't depend upon or use any of the other SELinux components. @@ -11,6 +12,7 @@ if BR2_PACKAGE_LIBSEPOL config BR2_PACKAGE_LIBSEPOL_POLICY_VERSION int "Policy version" + default 33 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8 default 32 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5 default 31 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 default 30 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 @@ -29,9 +31,11 @@ config BR2_PACKAGE_LIBSEPOL_POLICY_VERSION >= 3.14 < 4.3 29 >= 4.3 < 4.13 30 >= 4.13 < 5.5 31 - >= 5.5 32 + >= 5.5 < 5.8 32 + >= 5.8 33 endif -comment "libsepol needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "libsepol needs a toolchain w/ threads, gcc >= 5" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/libsepol/libsepol.hash b/package/libsepol/libsepol.hash index 1759d3ba04b..039e4e3c7ed 100644 --- a/package/libsepol/libsepol.hash +++ b/package/libsepol/libsepol.hash @@ -1,5 +1,5 @@ # From: https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 ae6778d01443fdd38cd30eeee846494e19f4d407b09872580372f4aa4bf8a3cc libsepol-3.1.tar.gz +sha256 2d97df3eb8466169b389c3660acbb90c54200ac96e452eca9f41a9639f4f238b libsepol-3.3.tar.gz # Hash for license file -sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk index a4398bdc429..8551a5de79e 100644 --- a/package/libsepol/libsepol.mk +++ b/package/libsepol/libsepol.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSEPOL_VERSION = 3.1 -LIBSEPOL_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +LIBSEPOL_VERSION = 3.3 +LIBSEPOL_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(LIBSEPOL_VERSION) LIBSEPOL_LICENSE = LGPL-2.1+ LIBSEPOL_LICENSE_FILES = COPYING LIBSEPOL_CPE_ID_VENDOR = selinuxproject diff --git a/package/libshdata/0001-backend-Add-missing-include-files.patch b/package/libshdata/0001-backend-Add-missing-include-files.patch new file mode 100644 index 00000000000..78c9e669c3b --- /dev/null +++ b/package/libshdata/0001-backend-Add-missing-include-files.patch @@ -0,0 +1,47 @@ +From 3eaf11bd957555674f5993435ef79dd4717ce890 Mon Sep 17 00:00:00 2001 +From: Herve Codina +Date: Tue, 26 Oct 2021 08:45:10 +0200 +Subject: [PATCH] backend: Add missing include files + +With some libc library (musl), shd_dev_mem.c and shd_shm.c do not +compile. Indeed, open() needs (Cf. man open). + +This patch fixes the compilation issue adding this +include file. + +This patch was submitted upstream. +https://github.com/Parrot-Developers/libshdata/issues/1 + +Signed-off-by: Herve Codina +--- + src/backend/shd_dev_mem.c | 1 + + src/backend/shd_shm.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/backend/shd_dev_mem.c b/src/backend/shd_dev_mem.c +index 14573c1..a65f052 100644 +--- a/src/backend/shd_dev_mem.c ++++ b/src/backend/shd_dev_mem.c +@@ -33,6 +33,7 @@ + #include + #include + #include /* For ftruncate */ ++#include /* For open */ + #include /* for flock */ + #include /* For shm and PROT flags */ + #include +diff --git a/src/backend/shd_shm.c b/src/backend/shd_shm.c +index 117bf01..1e5a38c 100644 +--- a/src/backend/shd_shm.c ++++ b/src/backend/shd_shm.c +@@ -35,6 +35,7 @@ + #include + #include + #include /* For ftruncate */ ++#include /* For open */ + #include /* For NAME_MAX macro */ + #include /* for flock */ + #include /* For shm and PROT flags */ +-- +2.31.1 + diff --git a/package/libshdata/0002-examples-stress_test-Fix-build-with-musl-libc.patch b/package/libshdata/0002-examples-stress_test-Fix-build-with-musl-libc.patch new file mode 100644 index 00000000000..c2a8e5f2407 --- /dev/null +++ b/package/libshdata/0002-examples-stress_test-Fix-build-with-musl-libc.patch @@ -0,0 +1,37 @@ +From ddded7337812a2797d31f276624da98932d8e17f Mon Sep 17 00:00:00 2001 +From: Herve Codina +Date: Sun, 9 Jan 2022 14:59:27 +0100 +Subject: [PATCH] examples/stress_test: Fix build with musl libc + +The musl C library uses sched_priority instead of +__sched_priority as GNU libc and uClibc do. +Use sched_priority instead. + +This does not break compilation with GNU libc and uClibc +because they both define in sched.h: + #define sched_priority __sched_priority + +This patch was submitted upstream. +https://github.com/Parrot-Developers/libshdata/issues/3 + +Signed-off-by: Herve Codina +--- + examples/stress_test.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/stress_test.c b/examples/stress_test.c +index a859115..cfb5418 100644 +--- a/examples/stress_test.c ++++ b/examples/stress_test.c +@@ -617,7 +617,7 @@ static void launch_test(int timer_fd, struct test_setup *setup) + if (ret < 0) + ULOGI("Error setting the timer : %s", strerror(errno)); + struct sched_param sched_params; +- sched_params.__sched_priority = sched_get_priority_max(SCHED_RR); ++ sched_params.sched_priority = sched_get_priority_max(SCHED_RR); + + pid_t pid = fork(); + +-- +2.33.1 + diff --git a/package/libshdata/Config.in b/package/libshdata/Config.in new file mode 100644 index 00000000000..b2c24c94c51 --- /dev/null +++ b/package/libshdata/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_LIBSHDATA + bool "libshdata" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_ATOMIC # libfutils + depends on BR2_INSTALL_LIBSTDCPP # libfutils + depends on BR2_TOOLCHAIN_HAS_THREADS # libfutils + select BR2_PACKAGE_LIBFUTILS + select BR2_PACKAGE_ULOG + help + This library provides lock free shared-memory tools + + https://github.com/Parrot-Developers/libshdata + +if BR2_PACKAGE_LIBSHDATA + +config BR2_PACKAGE_LIBSHDATA_STRESS + bool "libshdata-stress binary" + depends on !BR2_STATIC_LIBS + help + Install libshdata-stress binary as well + +comment "libshdata-stress needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +endif + +comment "libshdata needs a toolchain w/ C++, threads" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libshdata/libshdata.hash b/package/libshdata/libshdata.hash new file mode 100644 index 00000000000..880404cf523 --- /dev/null +++ b/package/libshdata/libshdata.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 1ae83ac73c2b5b17c726067737b8d446b99f190e16fe6198eb464368796ecce3 libshdata-d9ec4bdba834d8f3daf6bf9aa6da374bc462961f.tar.gz +sha256 eca11a1c62fae8d64a1247d93271375baecff8396141d7ff8d89671ee7e3ed0d COPYING diff --git a/package/libshdata/libshdata.mk b/package/libshdata/libshdata.mk new file mode 100644 index 00000000000..2e600359c11 --- /dev/null +++ b/package/libshdata/libshdata.mk @@ -0,0 +1,68 @@ +################################################################################ +# +# libshdata +# +################################################################################ + +LIBSHDATA_VERSION = d9ec4bdba834d8f3daf6bf9aa6da374bc462961f +LIBSHDATA_SITE = $(call github,Parrot-Developers,libshdata,$(LIBSHDATA_VERSION)) +LIBSHDATA_LICENSE = BSD-3-Clause +LIBSHDATA_LICENSE_FILES = COPYING +LIBSHDATA_DEPENDENCIES = libfutils ulog host-alchemy +LIBSHDATA_INSTALL_STAGING = YES + +LIBSHDATA_TARGETS = libshdata +ifeq ($(BR2_PACKAGE_LIBSHDATA_STRESS),y) +LIBSHDATA_TARGETS += libshdata-stress +endif + +LIBSHDATA_TARGET_ENV = \ + $(ALCHEMY_TARGET_ENV) \ + ALCHEMY_TARGET_SDK_DIRS="$(ALCHEMY_SDK_BASEDIR)/libfutils $(ALCHEMY_SDK_BASEDIR)/ulog" + +define LIBSHDATA_BUILD_CMDS + $(LIBSHDATA_TARGET_ENV) $(ALCHEMY_MAKE) $(LIBSHDATA_TARGETS) +endef + +ifeq ($(BR2_SHARED_LIBS),) +define LIBSHDATA_INSTALL_STATIC_LIBS + $(INSTALL) -D -m 644 $(@D)/alchemy-out/staging/usr/lib/libshdata.a \ + $(STAGING_DIR)/usr/lib/libshdata.a +endef +endif + +ifeq ($(BR2_STATIC_LIBS),) +# $(1): destination directory: target or staging +define LIBSHDATA_INSTALL_SHARED_LIBS + mkdir -p $(1)/usr/lib/ + $(INSTALL) -m 644 $(@D)/alchemy-out/staging/usr/lib/libshdata.so* \ + $(1)/usr/lib/ +endef +endif + +ifeq ($(BR2_PACKAGE_LIBSHDATA_STRESS),y) +define LIBSHDATA_INSTALL_BIN + $(INSTALL) -D -m 755 $(@D)/alchemy-out/staging/usr/bin/libshdata-stress \ + $(TARGET_DIR)/usr/bin/libshdata-stress +endef +endif + +define LIBSHDATA_INSTALL_TARGET_CMDS + $(LIBSHDATA_INSTALL_BIN) + $(call LIBSHDATA_INSTALL_SHARED_LIBS, $(TARGET_DIR)) +endef + +# Even in dynamic libraries only, libshdata-section-lookup is only built as +# a static lib (include $(BUILD_STATIC_LIBRARY) in atom.mk) and it is needed +# for libshdata usage. +define LIBSHDATA_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include/ + $(INSTALL) -m 644 $(@D)/include/* $(STAGING_DIR)/usr/include/ + $(INSTALL) -D -m 644 $(@D)/alchemy-out/staging/usr/lib/libshdata-section-lookup.a \ + $(STAGING_DIR)/usr/lib/libshdata-section-lookup.a + $(LIBSHDATA_INSTALL_STATIC_LIBS) + $(call LIBSHDATA_INSTALL_SHARED_LIBS, $(STAGING_DIR)) + $(call ALCHEMY_INSTALL_LIB_SDK_FILE, libshdata, libshdata.so, libfutils libulog) +endef + +$(eval $(generic-package)) diff --git a/package/libshout/libshout.mk b/package/libshout/libshout.mk index 57d26390c5e..4afb762de6a 100644 --- a/package/libshout/libshout.mk +++ b/package/libshout/libshout.mk @@ -33,9 +33,6 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBSHOUT_CONF_OPTS += --with-openssl LIBSHOUT_DEPENDENCIES += openssl -else ifeq ($(BR2_PACKAGE_LIBRESSL),y) -LIBSHOUT_CONF_OPTS += --with-openssl=$(STAGING_DIR)/lib -LIBSHOUT_DEPENDENCIES += libressl else LIBSHOUT_CONF_OPTS += --without-openssl endif diff --git a/package/libsigc/Config.in b/package/libsigc/Config.in index 4bd762efcef..428774a3ab0 100644 --- a/package/libsigc/Config.in +++ b/package/libsigc/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBSIGC bool "libsigc++" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_INSTALL_LIBSTDCPP help libsigc++ implements a typesafe callback system for standard @@ -8,7 +8,7 @@ config BR2_PACKAGE_LIBSIGC signals to any callback function, either global or a member function, regardless of whether it is static or virtual. - http://libsigc.sourceforge.net/ + https://libsigcplusplus.github.io/libsigcplusplus/ -comment "libsigc++ needs a toolchain w/ C++, gcc >= 4.8" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "libsigc++ needs a toolchain w/ C++, gcc >= 7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/libsigc/libsigc.hash b/package/libsigc/libsigc.hash index bc3880f7c3f..97c9d0cc841 100644 --- a/package/libsigc/libsigc.hash +++ b/package/libsigc/libsigc.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/libsigc++/2.10/libsigc++-2.10.0.sha256sum -sha256 f843d6346260bfcb4426259e314512b99e296e8ca241d771d21ac64f28298d81 libsigc++-2.10.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/libsigc++/3.0/libsigc++-3.0.7.sha256sum +sha256 bfbe91c0d094ea6bbc6cbd3909b7d98c6561eea8b6d9c0c25add906a6e83d733 libsigc++-3.0.7.tar.xz # Locally calculated -sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING +sha256 97628afebc60f026f5c2b25d7491c46a5c4ee61f693e7cfa07fbd2c03605979b COPYING diff --git a/package/libsigc/libsigc.mk b/package/libsigc/libsigc.mk index d7cbd36da81..18be25fd030 100644 --- a/package/libsigc/libsigc.mk +++ b/package/libsigc/libsigc.mk @@ -4,19 +4,15 @@ # ################################################################################ -LIBSIGC_VERSION_MAJOR = 2.10 -LIBSIGC_VERSION = $(LIBSIGC_VERSION_MAJOR).0 +LIBSIGC_VERSION_MAJOR = 3.0 +LIBSIGC_VERSION = $(LIBSIGC_VERSION_MAJOR).7 LIBSIGC_SOURCE = libsigc++-$(LIBSIGC_VERSION).tar.xz LIBSIGC_SITE = http://ftp.gnome.org/pub/GNOME/sources/libsigc++/$(LIBSIGC_VERSION_MAJOR) -LIBSIGC_DEPENDENCIES = host-m4 LIBSIGC_INSTALL_STAGING = YES -LIBSIGC_LICENSE = LGPL-2.1+ +LIBSIGC_LICENSE = LGPL-3.0+ LIBSIGC_LICENSE_FILES = COPYING +LIBSIGC_CONF_OPTS = \ + -Dbuild-examples=false \ + -Dvalidation=false -define LIBSIGC_INSTALL_TARGET_FIXUP - rm -rf $(TARGET_DIR)/usr/share/devhelp/books/libsigc++* -endef - -LIBSIGC_POST_INSTALL_TARGET_HOOKS += LIBSIGC_INSTALL_TARGET_FIXUP - -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libsigrok/0001-Support-glibmm-2.68.patch b/package/libsigrok/0001-Support-glibmm-2.68.patch new file mode 100644 index 00000000000..14d14ec4069 --- /dev/null +++ b/package/libsigrok/0001-Support-glibmm-2.68.patch @@ -0,0 +1,129 @@ +From 31ad5ec50ec0c9cc7a92f009925c5f58aecdcce1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 30 Dec 2021 14:58:11 +0100 +Subject: [PATCH] Support glibmm 2.68 + +Support glibmm 2.68 which has been released one year ago and is the +first stable release in the glibmm-2.68 ABI series: +https://gitlab.gnome.org/GNOME/glibmm/-/blob/2.68.2/NEWS + +As TimeVal is not available with glibmm 2.68, use DateTime which is +available since version 2.26 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://sourceforge.net/p/sigrok/mailman/message/37410614] +--- + README | 2 +- + bindings/cxx/classes.cpp | 13 ++++++------- + bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp | 4 ++-- + bindings/cxx/libsigrokcxx.pc.in | 2 +- + configure.ac | 7 ++++++- + 5 files changed, 16 insertions(+), 12 deletions(-) + +diff --git a/README b/README +index 768c8ca2..2515f059 100644 +--- a/README ++++ b/README +@@ -63,7 +63,7 @@ Requirements for the C++ bindings: + - doxygen (required for building the bindings, not only for C++ API docs!) + - graphviz (optional, only needed for the C++ API docs) + - Python (2 or 3) executable (development files are not needed) +- - glibmm-2.4 (>= 2.32.0) ++ - glibmm-2.4 (>= 2.32.0) or glibmm-2.68 (>= 2.68.0) + + Requirements for the Python bindings: + +diff --git a/bindings/cxx/classes.cpp b/bindings/cxx/classes.cpp +index f9f79273..de600d03 100644 +--- a/bindings/cxx/classes.cpp ++++ b/bindings/cxx/classes.cpp +@@ -287,12 +287,12 @@ shared_ptr Context::create_user_device( + default_delete{}}; + } + +-shared_ptr Context::create_header_packet(Glib::TimeVal start_time) ++shared_ptr Context::create_header_packet(Glib::DateTime start_time) + { + auto header = g_new(struct sr_datafeed_header, 1); + header->feed_version = 1; +- header->starttime.tv_sec = start_time.tv_sec; +- header->starttime.tv_usec = start_time.tv_usec; ++ header->starttime.tv_sec = start_time.to_unix(); ++ header->starttime.tv_usec = start_time.get_microsecond(); + auto packet = g_new(struct sr_datafeed_packet, 1); + packet->type = SR_DF_HEADER; + packet->payload = header; +@@ -1154,11 +1154,10 @@ int Header::feed_version() const + return _structure->feed_version; + } + +-Glib::TimeVal Header::start_time() const ++Glib::DateTime Header::start_time() const + { +- return Glib::TimeVal( +- _structure->starttime.tv_sec, +- _structure->starttime.tv_usec); ++ Glib::DateTime time = Glib::DateTime::create_now_utc(_structure->starttime.tv_sec); ++ return time.add_seconds(_structure->starttime.tv_usec / 1.0e6); + } + + Meta::Meta(const struct sr_datafeed_meta *structure) : +diff --git a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp +index 97e54e17..d090c379 100644 +--- a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp ++++ b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp +@@ -274,7 +274,7 @@ public: + std::shared_ptr create_user_device( + std::string vendor, std::string model, std::string version); + /** Create a header packet. */ +- std::shared_ptr create_header_packet(Glib::TimeVal start_time); ++ std::shared_ptr create_header_packet(Glib::DateTime start_time); + /** Create a meta packet. */ + std::shared_ptr create_meta_packet( + std::map config); +@@ -711,7 +711,7 @@ public: + /* Feed version number. */ + int feed_version() const; + /* Start time of this session. */ +- Glib::TimeVal start_time() const; ++ Glib::DateTime start_time() const; + private: + explicit Header(const struct sr_datafeed_header *structure); + ~Header(); +diff --git a/bindings/cxx/libsigrokcxx.pc.in b/bindings/cxx/libsigrokcxx.pc.in +index 10a92f2d..7d2723fc 100644 +--- a/bindings/cxx/libsigrokcxx.pc.in ++++ b/bindings/cxx/libsigrokcxx.pc.in +@@ -6,7 +6,7 @@ includedir=@includedir@ + Name: libsigrokcxx + Description: C++ bindings for libsigrok + URL: http://www.sigrok.org +-Requires: libsigrok glibmm-2.4 ++Requires: libsigrok @SR_GLIBMM_REQUIRES@ + Version: @SR_PACKAGE_VERSION@ + Libs: -L${libdir} -lsigrokcxx + Libs.private: -lm +diff --git a/configure.ac b/configure.ac +index 424b0002..d70575b7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -407,9 +407,14 @@ AS_IF([test "x$HAVE_CXX11" != x1], + [SR_APPEND([sr_cxx_missing], [', '], ['C++11'])]) + + # The C++ bindings need glibmm. +-SR_PKG_CHECK([glibmm], [SR_PKGLIBS_CXX], [glibmm-2.4 >= 2.32.0]) ++SR_GLIBMM_REQUIRES=glibmm-2.4 ++SR_PKG_CHECK([glibmm], [SR_PKGLIBS_CXX], [$SR_GLIBMM_REQUIRES >= 2.32.0]) ++AS_IF([test "x$sr_have_glibmm" != xyes], ++ [SR_GLIBMM_REQUIRES=glibmm-2.68 ++ SR_PKG_CHECK([glibmm], [SR_PKGLIBS_CXX], [$SR_GLIBMM_REQUIRES >= 2.68.0])]) + AS_IF([test "x$sr_have_glibmm" != xyes], + [SR_APPEND([sr_cxx_missing], [', '], [glibmm])]) ++AC_SUBST(SR_GLIBMM_REQUIRES) + + # The C++ bindings use Doxygen to parse libsigrok symbols. + AC_CHECK_PROG([HAVE_DOXYGEN], [doxygen], [yes], [no]) +-- +2.34.1 + diff --git a/package/libsigrok/Config.in b/package/libsigrok/Config.in index 69531e621cf..151c432295d 100644 --- a/package/libsigrok/Config.in +++ b/package/libsigrok/Config.in @@ -25,16 +25,16 @@ if BR2_PACKAGE_LIBSIGROK config BR2_PACKAGE_LIBSIGROKCXX bool "build C++ bindings" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # glibmm + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # glibmm -> libsigc depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-doxygen select BR2_PACKAGE_GLIBMM select BR2_PACKAGE_HOST_DOXYGEN help Build libsigrok C++ bindings as well. -comment "C++ bindings need a toolchain w/ C++, gcc >= 4.9, host gcc >= 4.9" +comment "C++ bindings need a toolchain w/ C++, gcc >= 7, host gcc >= 4.9" depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ !BR2_HOST_GCC_AT_LEAST_4_9 endif diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk index 8e7c355fd01..639ee4dc25c 100644 --- a/package/libsigrok/libsigrok.mk +++ b/package/libsigrok/libsigrok.mk @@ -11,6 +11,8 @@ LIBSIGROK_LICENSE_FILES = COPYING LIBSIGROK_INSTALL_STAGING = YES LIBSIGROK_DEPENDENCIES = libglib2 libzip host-pkgconf LIBSIGROK_CONF_OPTS = --disable-java --disable-python +# We're patching configure.ac +LIBSIGROK_AUTORECONF = YES ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y) LIBSIGROK_CONF_OPTS += --with-libbluez @@ -52,12 +54,13 @@ LIBSIGROK_DEPENDENCIES += glibmm endif ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y) +LIBSIGROK_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++17" LIBSIGROK_CONF_OPTS += --enable-cxx # host-doxygen is used by C++ bindings to parse libsigrok symbols LIBSIGROK_DEPENDENCIES += \ glibmm \ host-doxygen \ - $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) + host-python3 else LIBSIGROK_CONF_OPTS += --disable-cxx endif diff --git a/package/libsigrokdecode/0002-configure-Add-python-3-10-support.patch b/package/libsigrokdecode/0002-configure-Add-python-3-10-support.patch new file mode 100644 index 00000000000..53acb659447 --- /dev/null +++ b/package/libsigrokdecode/0002-configure-Add-python-3-10-support.patch @@ -0,0 +1,28 @@ +From c4c10b89396fe21a622b8c38dd5815a496b007bf Mon Sep 17 00:00:00 2001 +From: Soeren Apel +Date: Mon, 20 Dec 2021 19:36:39 +0100 +Subject: [PATCH] configure: Add python 3.10 support + +[Retrieved from: +https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=c4c10b89396fe21a622b8c38dd5815a496b007bf +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 2917cb3..b8841f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -100,7 +100,7 @@ SR_PKG_CHECK_SUMMARY([srd_pkglibs_summary]) + # first, since usually only that variant will add "-lpython3.8". + # https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build + SR_PKG_CHECK([python3], [SRD_PKGLIBS], +- [python-3.9-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2]) ++ [python-3.10-embed], [python-3.9-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2]) + AS_IF([test "x$sr_have_python3" = xno], + [AC_MSG_ERROR([Cannot find Python 3 development headers.])]) + +-- +2.24.0.rc2 + diff --git a/package/libsigrokdecode/Config.in b/package/libsigrokdecode/Config.in index 28cbb5ca5ec..b58c8a2a294 100644 --- a/package/libsigrokdecode/Config.in +++ b/package/libsigrokdecode/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LIBSIGROKDECODE bool "libsigrokdecode" - depends on !BR2_PACKAGE_PYTHON # python3 depends on BR2_USE_WCHAR # libglib2/python3 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2/python3 depends on BR2_USE_MMU # libglib2/python3 @@ -19,9 +18,4 @@ config BR2_PACKAGE_LIBSIGROKDECODE comment "libsigrokdecode needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_PACKAGE_PYTHON depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - -comment "libsigrokdecode is not compatible with python" - depends on BR2_USE_MMU - depends on BR2_PACKAGE_PYTHON diff --git a/package/libsigsegv/libsigsegv.hash b/package/libsigsegv/libsigsegv.hash index c827e6b8666..13978da3983 100644 --- a/package/libsigsegv/libsigsegv.hash +++ b/package/libsigsegv/libsigsegv.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.13.tar.gz.sig -sha256 be78ee4176b05f7c75ff03298d84874db90f4b6c9d5503f0da1226b3a3c48119 libsigsegv-2.13.tar.gz +# https://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.14.tar.gz.sig +sha256 cdac3941803364cf81a908499beb79c200ead60b6b5b40cad124fd1e06caa295 libsigsegv-2.14.tar.gz # Locally calculated sha256 8f2983e9a940367f48999881c14775db725ee643bce1e2f1ba195eb629a33cde COPYING diff --git a/package/libsigsegv/libsigsegv.mk b/package/libsigsegv/libsigsegv.mk index 87a5d7a124c..98bcd55c8cb 100644 --- a/package/libsigsegv/libsigsegv.mk +++ b/package/libsigsegv/libsigsegv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSIGSEGV_VERSION = 2.13 +LIBSIGSEGV_VERSION = 2.14 LIBSIGSEGV_SITE = $(BR2_GNU_MIRROR)/libsigsegv LIBSIGSEGV_INSTALL_STAGING = YES LIBSIGSEGV_CONF_ENV = sv_cv_fault_posix=yes diff --git a/package/libsndfile/0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch b/package/libsndfile/0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch deleted file mode 100644 index 59ba8f85f6e..00000000000 --- a/package/libsndfile/0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 85c877d5072866aadbe8ed0c3e0590fbb5e16788 Mon Sep 17 00:00:00 2001 -From: Fabian Greffrath -Date: Thu, 28 Sep 2017 12:15:04 +0200 -Subject: [PATCH] double64_init: Check psf->sf.channels against upper bound - -This prevents division by zero later in the code. - -While the trivial case to catch this (i.e. sf.channels < 1) has already -been covered, a crafted file may report a number of channels that is -so high (i.e. > INT_MAX/sizeof(double)) that it "somehow" gets -miscalculated to zero (if this makes sense) in the determination of the -blockwidth. Since we only support a limited number of channels anyway, -make sure to check here as well. - -CVE-2017-14634 - -Closes: https://github.com/erikd/libsndfile/issues/318 -Signed-off-by: Erik de Castro Lopo -Signed-off-by: Peter Korsgaard ---- - src/double64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/double64.c b/src/double64.c -index b318ea86..78dfef7f 100644 ---- a/src/double64.c -+++ b/src/double64.c -@@ -91,7 +91,7 @@ int - double64_init (SF_PRIVATE *psf) - { static int double64_caps ; - -- if (psf->sf.channels < 1) -+ if (psf->sf.channels < 1 || psf->sf.channels > SF_MAX_CHANNELS) - { psf_log_printf (psf, "double64_init : internal error : channels = %d\n", psf->sf.channels) ; - return SFE_INTERNAL ; - } ; --- -2.11.0 - diff --git a/package/libsndfile/0001-ms_adpcm-Fix-and-extend-size-checks.patch b/package/libsndfile/0001-ms_adpcm-Fix-and-extend-size-checks.patch new file mode 100644 index 00000000000..edacbda01ab --- /dev/null +++ b/package/libsndfile/0001-ms_adpcm-Fix-and-extend-size-checks.patch @@ -0,0 +1,40 @@ +From deb669ee8be55a94565f6f8a6b60890c2e7c6f32 Mon Sep 17 00:00:00 2001 +From: bobsayshilol +Date: Thu, 18 Feb 2021 21:52:09 +0000 +Subject: [PATCH] ms_adpcm: Fix and extend size checks + +'blockalign' is the size of a block, and each block contains 7 samples +per channel as part of the preamble, so check against 'samplesperblock' +rather than 'blockalign'. Also add an additional check that the block +is big enough to hold the samples it claims to hold. + +https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26803 +Signed-off-by: Peter Korsgaard +--- + src/ms_adpcm.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/ms_adpcm.c b/src/ms_adpcm.c +index 5e8f1a31..a21cb994 100644 +--- a/src/ms_adpcm.c ++++ b/src/ms_adpcm.c +@@ -128,8 +128,14 @@ wavlike_msadpcm_init (SF_PRIVATE *psf, int blockalign, int samplesperblock) + if (psf->file.mode == SFM_WRITE) + samplesperblock = 2 + 2 * (blockalign - 7 * psf->sf.channels) / psf->sf.channels ; + +- if (blockalign < 7 * psf->sf.channels) +- { psf_log_printf (psf, "*** Error blockalign (%d) should be > %d.\n", blockalign, 7 * psf->sf.channels) ; ++ /* There's 7 samples per channel in the preamble of each block */ ++ if (samplesperblock < 7 * psf->sf.channels) ++ { psf_log_printf (psf, "*** Error samplesperblock (%d) should be >= %d.\n", samplesperblock, 7 * psf->sf.channels) ; ++ return SFE_INTERNAL ; ++ } ; ++ ++ if (2 * blockalign < samplesperblock * psf->sf.channels) ++ { psf_log_printf (psf, "*** Error blockalign (%d) should be >= %d.\n", blockalign, samplesperblock * psf->sf.channels / 2) ; + return SFE_INTERNAL ; + } ; + +-- +2.20.1 + diff --git a/package/libsndfile/0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch b/package/libsndfile/0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch deleted file mode 100644 index 3b828de6ac0..00000000000 --- a/package/libsndfile/0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch +++ /dev/null @@ -1,36 +0,0 @@ -From aaea680337267bfb6d2544da878890ee7f1c5077 Mon Sep 17 00:00:00 2001 -From: "Brett T. Warden" -Date: Tue, 28 Aug 2018 12:01:17 -0700 -Subject: [PATCH] Check MAX_CHANNELS in sndfile-deinterleave - -Allocated buffer has space for only 16 channels. Verify that input file -meets this limit. - -Fixes #397 - -Signed-off-by: Peter Korsgaard ---- - programs/sndfile-deinterleave.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/programs/sndfile-deinterleave.c b/programs/sndfile-deinterleave.c -index 53660310..225b4d54 100644 ---- a/programs/sndfile-deinterleave.c -+++ b/programs/sndfile-deinterleave.c -@@ -89,6 +89,13 @@ main (int argc, char **argv) - exit (1) ; - } ; - -+ if (sfinfo.channels > MAX_CHANNELS) -+ { printf ("\nError : Input file '%s' has too many (%d) channels. Limit is %d.\n", -+ argv [1], sfinfo.channels, MAX_CHANNELS) ; -+ exit (1) ; -+ } ; -+ -+ - state.channels = sfinfo.channels ; - sfinfo.channels = 1 ; - --- -2.11.0 - diff --git a/package/libsndfile/0003-a-ulaw-fix-multiple-buffer-overflows-432.patch b/package/libsndfile/0003-a-ulaw-fix-multiple-buffer-overflows-432.patch deleted file mode 100644 index 536bad26789..00000000000 --- a/package/libsndfile/0003-a-ulaw-fix-multiple-buffer-overflows-432.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 8ddc442d539ca775d80cdbc7af17a718634a743f Mon Sep 17 00:00:00 2001 -From: Hugo Lefeuvre -Date: Mon, 24 Dec 2018 06:43:48 +0100 -Subject: [PATCH] a/ulaw: fix multiple buffer overflows (#432) - -i2ulaw_array() and i2alaw_array() fail to handle ptr [count] = INT_MIN -properly, leading to buffer underflow. INT_MIN is a special value -since - INT_MIN cannot be represented as int. - -In this case round - INT_MIN to INT_MAX and proceed as usual. - -f2ulaw_array() and f2alaw_array() fail to handle ptr [count] = NaN -properly, leading to null pointer dereference. - -In this case, arbitrarily set the buffer value to 0. - -This commit fixes #429 (CVE-2018-19661 and CVE-2018-19662) and -fixes #344 (CVE-2017-17456 and CVE-2017-17457). - -Signed-off-by: Peter Korsgaard ---- - src/alaw.c | 9 +++++++-- - src/ulaw.c | 9 +++++++-- - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/src/alaw.c b/src/alaw.c -index 063fd1a2..4220224c 100644 ---- a/src/alaw.c -+++ b/src/alaw.c -@@ -19,6 +19,7 @@ - #include "sfconfig.h" - - #include -+#include - - #include "sndfile.h" - #include "common.h" -@@ -326,7 +327,9 @@ s2alaw_array (const short *ptr, int count, unsigned char *buffer) - static inline void - i2alaw_array (const int *ptr, int count, unsigned char *buffer) - { while (--count >= 0) -- { if (ptr [count] >= 0) -+ { if (ptr [count] == INT_MIN) -+ buffer [count] = alaw_encode [INT_MAX >> (16 + 4)] ; -+ else if (ptr [count] >= 0) - buffer [count] = alaw_encode [ptr [count] >> (16 + 4)] ; - else - buffer [count] = 0x7F & alaw_encode [- ptr [count] >> (16 + 4)] ; -@@ -346,7 +349,9 @@ f2alaw_array (const float *ptr, int count, unsigned char *buffer, float normfact - static inline void - d2alaw_array (const double *ptr, int count, unsigned char *buffer, double normfact) - { while (--count >= 0) -- { if (ptr [count] >= 0) -+ { if (!isfinite (ptr [count])) -+ buffer [count] = 0 ; -+ else if (ptr [count] >= 0) - buffer [count] = alaw_encode [lrint (normfact * ptr [count])] ; - else - buffer [count] = 0x7F & alaw_encode [- lrint (normfact * ptr [count])] ; -diff --git a/src/ulaw.c b/src/ulaw.c -index e50b4cb5..b6070ade 100644 ---- a/src/ulaw.c -+++ b/src/ulaw.c -@@ -19,6 +19,7 @@ - #include "sfconfig.h" - - #include -+#include - - #include "sndfile.h" - #include "common.h" -@@ -827,7 +828,9 @@ s2ulaw_array (const short *ptr, int count, unsigned char *buffer) - static inline void - i2ulaw_array (const int *ptr, int count, unsigned char *buffer) - { while (--count >= 0) -- { if (ptr [count] >= 0) -+ { if (ptr [count] == INT_MIN) -+ buffer [count] = ulaw_encode [INT_MAX >> (16 + 2)] ; -+ else if (ptr [count] >= 0) - buffer [count] = ulaw_encode [ptr [count] >> (16 + 2)] ; - else - buffer [count] = 0x7F & ulaw_encode [-ptr [count] >> (16 + 2)] ; -@@ -847,7 +850,9 @@ f2ulaw_array (const float *ptr, int count, unsigned char *buffer, float normfact - static inline void - d2ulaw_array (const double *ptr, int count, unsigned char *buffer, double normfact) - { while (--count >= 0) -- { if (ptr [count] >= 0) -+ { if (!isfinite (ptr [count])) -+ buffer [count] = 0 ; -+ else if (ptr [count] >= 0) - buffer [count] = ulaw_encode [lrint (normfact * ptr [count])] ; - else - buffer [count] = 0x7F & ulaw_encode [- lrint (normfact * ptr [count])] ; --- -2.11.0 - diff --git a/package/libsndfile/0004-src-wav.c-Fix-heap-read-overflow.patch b/package/libsndfile/0004-src-wav.c-Fix-heap-read-overflow.patch deleted file mode 100644 index 2e730ca3faf..00000000000 --- a/package/libsndfile/0004-src-wav.c-Fix-heap-read-overflow.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 42132c543358cee9f7c3e9e9b15bb6c1063a608e Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Tue, 1 Jan 2019 20:11:46 +1100 -Subject: [PATCH] src/wav.c: Fix heap read overflow - -This is CVE-2018-19758. - -Closes: https://github.com/erikd/libsndfile/issues/435 -[Retrieved (and backported) from: -https://github.com/erikd/libsndfile/commit/42132c543358cee9f7c3e9e9b15bb6c1063a608e] -Signed-off-by: Fabrice Fontaine ---- - src/wav.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/wav.c b/src/wav.c -index 9d71aadb..5c825f2a 100644 ---- a/src/wav.c -+++ b/src/wav.c -@@ -1,5 +1,5 @@ - /* --** Copyright (C) 1999-2016 Erik de Castro Lopo -+** Copyright (C) 1999-2019 Erik de Castro Lopo - ** Copyright (C) 2004-2005 David Viens - ** - ** This program is free software; you can redistribute it and/or modify -@@ -1146,6 +1146,8 @@ wav_write_header (SF_PRIVATE *psf, int calc_length) - psf_binheader_writef (psf, "44", BHW4 (0), BHW4 (0)) ; /* SMTPE format */ - psf_binheader_writef (psf, "44", BHW4 (psf->instrument->loop_count), BHW4 (0)) ; - -+ /* Loop count is signed 16 bit number so we limit it range to something sensible. */ -+ psf->instrument->loop_count &= 0x7fff ; - for (tmp = 0 ; tmp < psf->instrument->loop_count ; tmp++) - { int type ; - diff --git a/package/libsndfile/0005-wav_write_header-don-t-read-past-the-array-end.patch b/package/libsndfile/0005-wav_write_header-don-t-read-past-the-array-end.patch deleted file mode 100644 index e958517808d..00000000000 --- a/package/libsndfile/0005-wav_write_header-don-t-read-past-the-array-end.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6d7ce94c020cc720a6b28719d1a7879181790008 Mon Sep 17 00:00:00 2001 -From: Emilio Pozuelo Monfort -Date: Tue, 5 Mar 2019 11:27:17 +0100 -Subject: [PATCH] wav_write_header: don't read past the array end - -If loop_count is bigger than the array, truncate it to the array -length (and not to 32k). - -CVE-2019-3832 -[Retrieved from: -https://github.com/erikd/libsndfile/commit/6d7ce94c020cc720a6b28719d1a7879181790008] -Signed-off-by: Fabrice Fontaine ---- - src/wav.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/wav.c b/src/wav.c -index 5c825f2a..104bd0a7 100644 ---- a/src/wav.c -+++ b/src/wav.c -@@ -1146,8 +1146,10 @@ wav_write_header (SF_PRIVATE *psf, int calc_length) - psf_binheader_writef (psf, "44", BHW4 (0), BHW4 (0)) ; /* SMTPE format */ - psf_binheader_writef (psf, "44", BHW4 (psf->instrument->loop_count), BHW4 (0)) ; - -- /* Loop count is signed 16 bit number so we limit it range to something sensible. */ -- psf->instrument->loop_count &= 0x7fff ; -+ /* Make sure we don't read past the loops array end. */ -+ if (psf->instrument->loop_count > ARRAY_LEN (psf->instrument->loops)) -+ psf->instrument->loop_count = ARRAY_LEN (psf->instrument->loops) ; -+ - for (tmp = 0 ; tmp < psf->instrument->loop_count ; tmp++) - { int type ; - diff --git a/package/libsndfile/0006-src-aiff.c-Fix-a-buffer-read-overflow.patch b/package/libsndfile/0006-src-aiff.c-Fix-a-buffer-read-overflow.patch deleted file mode 100644 index 68b9e8ed670..00000000000 --- a/package/libsndfile/0006-src-aiff.c-Fix-a-buffer-read-overflow.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f833c53cb596e9e1792949f762e0b33661822748 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Tue, 23 May 2017 20:15:24 +1000 -Subject: [PATCH] src/aiff.c: Fix a buffer read overflow - -Secunia Advisory SA76717. - -Found by: Laurent Delosieres, Secunia Research at Flexera Software - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/erikd/libsndfile/commit/f833c53cb596e9e1792949f762e0b33661822748] ---- - src/aiff.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/aiff.c b/src/aiff.c -index 5b5f9f53..45864b76 100644 ---- a/src/aiff.c -+++ b/src/aiff.c -@@ -1759,7 +1759,7 @@ aiff_read_chanmap (SF_PRIVATE * psf, unsigned dword) - psf_binheader_readf (psf, "j", dword - bytesread) ; - - if (map_info->channel_map != NULL) -- { size_t chanmap_size = psf->sf.channels * sizeof (psf->channel_map [0]) ; -+ { size_t chanmap_size = SF_MIN (psf->sf.channels, layout_tag & 0xffff) * sizeof (psf->channel_map [0]) ; - - free (psf->channel_map) ; - diff --git a/package/libsndfile/0007-FLAC-Fix-a-buffer-read-overrun.patch b/package/libsndfile/0007-FLAC-Fix-a-buffer-read-overrun.patch deleted file mode 100644 index b000143b707..00000000000 --- a/package/libsndfile/0007-FLAC-Fix-a-buffer-read-overrun.patch +++ /dev/null @@ -1,68 +0,0 @@ -From fd0484aba8e51d16af1e3a880f9b8b857b385eb3 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Wed, 12 Apr 2017 19:45:30 +1000 -Subject: [PATCH] FLAC: Fix a buffer read overrun - -Buffer read overrun occurs when reading a FLAC file that switches -from 2 channels to one channel mid-stream. Only option is to -abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/230 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/erikd/libsndfile/commit/fd0484aba8e51d16af1e3a880f9b8b857b385eb3] ---- - src/common.h | 1 + - src/flac.c | 13 +++++++++++++ - src/sndfile.c | 1 + - 3 files changed, 15 insertions(+) - -diff --git a/src/common.h b/src/common.h -index 0bd810c3..e2669b6a 100644 ---- a/src/common.h -+++ b/src/common.h -@@ -725,6 +725,7 @@ enum - SFE_FLAC_INIT_DECODER, - SFE_FLAC_LOST_SYNC, - SFE_FLAC_BAD_SAMPLE_RATE, -+ SFE_FLAC_CHANNEL_COUNT_CHANGED, - SFE_FLAC_UNKOWN_ERROR, - - SFE_WVE_NOT_WVE, -diff --git a/src/flac.c b/src/flac.c -index 84de0e26..986a7b8f 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -434,6 +434,19 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - - switch (metadata->type) - { case FLAC__METADATA_TYPE_STREAMINFO : -+ if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) -+ { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -+ "Nothing to be but to error out.\n" , -+ psf->sf.channels, metadata->data.stream_info.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return ; -+ } ; -+ -+ if (psf->sf.channels > 0 && psf->sf.samplerate != (int) metadata->data.stream_info.sample_rate) -+ { psf_log_printf (psf, "Warning: FLAC stream changed sample rates from %d to %d.\n" -+ "Carrying on as if nothing happened.", -+ psf->sf.samplerate, metadata->data.stream_info.sample_rate) ; -+ } ; - psf->sf.channels = metadata->data.stream_info.channels ; - psf->sf.samplerate = metadata->data.stream_info.sample_rate ; - psf->sf.frames = metadata->data.stream_info.total_samples ; -diff --git a/src/sndfile.c b/src/sndfile.c -index 41875610..e2a87be8 100644 ---- a/src/sndfile.c -+++ b/src/sndfile.c -@@ -245,6 +245,7 @@ ErrorStruct SndfileErrors [] = - { SFE_FLAC_INIT_DECODER , "Error : problem with initialization of the flac decoder." }, - { SFE_FLAC_LOST_SYNC , "Error : flac decoder lost sync." }, - { SFE_FLAC_BAD_SAMPLE_RATE, "Error : flac does not support this sample rate." }, -+ { SFE_FLAC_CHANNEL_COUNT_CHANGED, "Error : flac channel changed mid stream." }, - { SFE_FLAC_UNKOWN_ERROR , "Error : unknown error in flac decoder." }, - - { SFE_WVE_NOT_WVE , "Error : not a WVE file." }, diff --git a/package/libsndfile/0008-src-flac.c-Fix-a-buffer-read-overflow.patch b/package/libsndfile/0008-src-flac.c-Fix-a-buffer-read-overflow.patch deleted file mode 100644 index f716e268674..00000000000 --- a/package/libsndfile/0008-src-flac.c-Fix-a-buffer-read-overflow.patch +++ /dev/null @@ -1,54 +0,0 @@ -From ef1dbb2df1c0e741486646de40bd638a9c4cd808 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Fri, 14 Apr 2017 15:19:16 +1000 -Subject: [PATCH] src/flac.c: Fix a buffer read overflow - -A file (generated by a fuzzer) which increased the number of channels -from one frame to the next could cause a read beyond the end of the -buffer provided by libFLAC. Only option is to abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/231 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/erikd/libsndfile/commit/ef1dbb2df1c0e741486646de40bd638a9c4cd808] ---- - src/flac.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/flac.c b/src/flac.c -index 5a4f8c21..e4f9aaa0 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -169,6 +169,14 @@ flac_buffer_copy (SF_PRIVATE *psf) - const int32_t* const *buffer = pflac->wbuffer ; - unsigned i = 0, j, offset, channels, len ; - -+ if (psf->sf.channels != (int) frame->header.channels) -+ { psf_log_printf (psf, "Error: FLAC frame changed from %d to %d channels\n" -+ "Nothing to do but to error out.\n" , -+ psf->sf.channels, frame->header.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return 0 ; -+ } ; -+ - /* - ** frame->header.blocksize is variable and we're using a constant blocksize - ** of FLAC__MAX_BLOCK_SIZE. -@@ -202,7 +210,6 @@ flac_buffer_copy (SF_PRIVATE *psf) - return 0 ; - } ; - -- - len = SF_MIN (pflac->len, frame->header.blocksize) ; - - if (pflac->remain % channels != 0) -@@ -436,7 +443,7 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - { case FLAC__METADATA_TYPE_STREAMINFO : - if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) - { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -- "Nothing to be but to error out.\n" , -+ "Nothing to do but to error out.\n" , - psf->sf.channels, metadata->data.stream_info.channels) ; - psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; - return ; diff --git a/package/libsndfile/0009-src-flac-c-Fix-another-memory-leak.patch b/package/libsndfile/0009-src-flac-c-Fix-another-memory-leak.patch deleted file mode 100644 index 788b9b5187b..00000000000 --- a/package/libsndfile/0009-src-flac-c-Fix-another-memory-leak.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cd7da8dbf6ee4310d21d9e44b385d6797160d9e8 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Wed, 12 Apr 2017 20:19:34 +1000 -Subject: [PATCH] src/flac.c: Fix another memory leak - -When the FLAC decoder was passed a malformed file, the associated -`FLAC__StreamDecoder` object was not getting released. - -Closes: https://github.com/erikd/libsndfile/issues/233 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/erikd/libsndfile/commit/cd7da8dbf6ee4310d21d9e44b385d6797160d9e8] ---- - src/flac.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/flac.c b/src/flac.c -index 986a7b8f..5a4f8c21 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -841,7 +841,9 @@ flac_read_header (SF_PRIVATE *psf) - - psf_log_printf (psf, "End\n") ; - -- if (psf->error == 0) -+ if (psf->error != 0) -+ FLAC__stream_decoder_delete (pflac->fsd) ; -+ else - { FLAC__uint64 position ; - - FLAC__stream_decoder_get_decode_position (pflac->fsd, &position) ; diff --git a/package/libsndfile/0010-src-common-c-Fix-heap-buffer-overflows-when-writing-strings-in.patch b/package/libsndfile/0010-src-common-c-Fix-heap-buffer-overflows-when-writing-strings-in.patch deleted file mode 100644 index 91aa36c9d67..00000000000 --- a/package/libsndfile/0010-src-common-c-Fix-heap-buffer-overflows-when-writing-strings-in.patch +++ /dev/null @@ -1,92 +0,0 @@ -From cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= -Date: Wed, 14 Jun 2017 12:25:40 +0200 -Subject: [PATCH] src/common.c: Fix heap buffer overflows when writing strings - in binheader - -Fixes the following problems: - 1. Case 's' only enlarges the buffer by 16 bytes instead of size bytes. - 2. psf_binheader_writef() enlarges the header buffer (if needed) prior to the - big switch statement by an amount (16 bytes) which is enough for all cases - where only a single value gets added. Cases 's', 'S', 'p' however - additionally write an arbitrary length block of data and again enlarge the - buffer to the required amount. However, the required space calculation does - not take into account the size of the length field which gets output before - the data. - 3. Buffer size requirement calculation in case 'S' does not account for the - padding byte ("size += (size & 1) ;" happens after the calculation which - uses "size"). - 4. Case 'S' can overrun the header buffer by 1 byte when no padding is - involved - ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;" while - the buffer is only guaranteed to have "size" space available). - 5. "psf->header.ptr [psf->header.indx] = 0 ;" in case 'S' always writes 1 byte - beyond the space which is guaranteed to be allocated in the header buffer. - 6. Case 's' can overrun the provided source string by 1 byte if padding is - involved ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;" - where "size" is "strlen (strptr) + 1" (which includes the 0 terminator, - plus optionally another 1 which is padding and not guaranteed to be - readable via the source string pointer). - -Closes: https://github.com/erikd/libsndfile/issues/292 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/erikd/libsndfile/commit/cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8] ---- - src/common.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/src/common.c b/src/common.c -index 1a6204ca..6b2a2ee9 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -681,16 +681,16 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - /* Write a C string (guaranteed to have a zero terminator). */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) + 1 ; -- size += (size & 1) ; - -- if (psf->header.indx + (sf_count_t) size >= psf->header.len && psf_bump_header_allocation (psf, 16)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - - if (psf->rwf_endian == SF_ENDIAN_BIG) -- header_put_be_int (psf, size) ; -+ header_put_be_int (psf, size + (size & 1)) ; - else -- header_put_le_int (psf, size) ; -+ header_put_le_int (psf, size + (size & 1)) ; - memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ; -+ size += (size & 1) ; - psf->header.indx += size ; - psf->header.ptr [psf->header.indx - 1] = 0 ; - count += 4 + size ; -@@ -703,16 +703,15 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) ; -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - if (psf->rwf_endian == SF_ENDIAN_BIG) - header_put_be_int (psf, size) ; - else - header_put_le_int (psf, size) ; -- memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ; -+ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + (size & 1)) ; - size += (size & 1) ; - psf->header.indx += size ; -- psf->header.ptr [psf->header.indx] = 0 ; - count += 4 + size ; - break ; - -@@ -724,7 +723,7 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - size = (size & 1) ? size : size + 1 ; - size = (size > 254) ? 254 : size ; - -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 1 + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, 1 + size)) - return count ; - - header_put_byte (psf, size) ; diff --git a/package/libsndfile/libsndfile.hash b/package/libsndfile/libsndfile.hash index c744a7675a1..14dfe823f96 100644 --- a/package/libsndfile/libsndfile.hash +++ b/package/libsndfile/libsndfile.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9 libsndfile-1.0.28.tar.gz +sha256 a8cfb1c09ea6e90eff4ca87322d4168cdbe5035cb48717b40bf77e751cc02163 libsndfile-1.0.31.tar.bz2 # Locally calculated -sha256 ad01ea5cd2755f6048383c8d54c88459cd6fcb17757c5c8892f8c5ea060f6140 COPYING +sha256 ad01ea5cd2755f6048383c8d54c88459cd6fcb17757c5c8892f8c5ea060f6140 COPYING diff --git a/package/libsndfile/libsndfile.mk b/package/libsndfile/libsndfile.mk index eb15426146b..ed9e8e3d149 100644 --- a/package/libsndfile/libsndfile.mk +++ b/package/libsndfile/libsndfile.mk @@ -4,42 +4,31 @@ # ################################################################################ -LIBSNDFILE_VERSION = 1.0.28 -LIBSNDFILE_SITE = http://www.mega-nerd.com/libsndfile/files +LIBSNDFILE_VERSION = 1.0.31 +LIBSNDFILE_SOURCE = libsndfile-$(LIBSNDFILE_VERSION).tar.bz2 +LIBSNDFILE_SITE = https://github.com/libsndfile/libsndfile/releases/download/$(LIBSNDFILE_VERSION) LIBSNDFILE_INSTALL_STAGING = YES LIBSNDFILE_LICENSE = LGPL-2.1+ LIBSNDFILE_LICENSE_FILES = COPYING LIBSNDFILE_CPE_ID_VENDOR = libsndfile_project -# 0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch -LIBSNDFILE_IGNORE_CVES += CVE-2017-14634 -# 0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch -LIBSNDFILE_IGNORE_CVES += CVE-2018-13139 CVE-2018-19432 -# 0003-a-ulaw-fix-multiple-buffer-overflows-432.patch -LIBSNDFILE_IGNORE_CVES += \ - CVE-2017-14245 CVE-2017-14246 CVE-2017-17456 CVE-2017-17457 \ - CVE-2018-19661 CVE-2018-19662 +# 0001-ms_adpcm-Fix-and-extend-size-checks.patch +LIBSNDFILE_IGNORE_CVES += CVE-2021-3246 + # disputed, https://github.com/erikd/libsndfile/issues/398 LIBSNDFILE_IGNORE_CVES += CVE-2018-13419 -# 0004-src-wav.c-Fix-heap-read-overflow.patch -LIBSNDFILE_IGNORE_CVES += CVE-2018-19758 -# 0005-wav_write_header-don-t-read-past-the-array-end.patch -LIBSNDFILE_IGNORE_CVES += CVE-2019-3832 -# 0006-src-aiff.c-Fix-a-buffer-read-overflow.patch -LIBSNDFILE_IGNORE_CVES += CVE-2017-6892 -# 0007-FLAC-Fix-a-buffer-read-overrun.patch -LIBSNDFILE_IGNORE_CVES += CVE-2017-8361 -# 0008-src-flac.c-Fix-a-buffer-read-overflow.patch -LIBSNDFILE_IGNORE_CVES += CVE-2017-8362 CVE-2017-8365 -# 0009-src-flac-c-Fix-another-memory-leak.patch -LIBSNDFILE_IGNORE_CVES += CVE-2017-8363 -# 0010-src-common-c-Fix-heap-buffer-overflows-when-writing-strings-in.patch -LIBSNDFILE_IGNORE_CVES += CVE-2017-12562 +LIBSNDFILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBSNDFILE_CONF_OPTS = \ --disable-sqlite \ --disable-alsa \ - --disable-external-libs \ --disable-full-suite +ifeq ($(BR2_PACKAGE_FLAC)$(BR2_PACKAGE_LIBVORBIS)$(BR2_PACKAGE_OPUS),yyy) +LIBSNDFILE_DEPENDENCIES += flac host-pkgconf libvorbis opus +LIBSNDFILE_CONF_OPTS += --enable-external-libs +else +LIBSNDFILE_CONF_OPTS += --disable-external-libs +endif + $(eval $(autotools-package)) diff --git a/package/libsoc/libsoc.mk b/package/libsoc/libsoc.mk index bbc33143ccc..95753b8b681 100644 --- a/package/libsoc/libsoc.mk +++ b/package/libsoc/libsoc.mk @@ -12,12 +12,8 @@ LIBSOC_AUTORECONF = YES LIBSOC_INSTALL_STAGING = YES LIBSOC_DEPENDENCIES = host-pkgconf -# Install Python 2 bindings -ifeq ($(BR2_PACKAGE_PYTHON),y) -LIBSOC_DEPENDENCIES += python -LIBSOC_CONF_OPTS += --enable-python=2 # Install Python 3 bindings -else ifeq ($(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) LIBSOC_DEPENDENCIES += python3 LIBSOC_CONF_OPTS += --enable-python=3 else diff --git a/package/libsoil/0001-fix-makefile.patch b/package/libsoil/0001-fix-makefile.patch deleted file mode 100644 index 310d26448b6..00000000000 --- a/package/libsoil/0001-fix-makefile.patch +++ /dev/null @@ -1,40 +0,0 @@ -Various makefile fixes to allow cross compilation - -Partly ported from -http://anonscm.debian.org/cgit/pkg-games/libsoil.git/tree/debian/patches/linking_correctly.patch - -Signed-off-by: Bernd Kuhls - -diff -uNr soil.org/projects/makefile/alternate_Makefile.txt soil/projects/makefile/alternate_Makefile.txt ---- soil.org/projects/makefile/alternate_Makefile.txt 2008-07-07 18:13:28.000000000 +0200 -+++ soil/projects/makefile/alternate_Makefile.txt 2015-11-07 11:15:04.140106336 +0100 -@@ -1,8 +1,8 @@ - MAKE = make --CC = gcc --INSTALL_FILE = install -p -o root -g root -m 644 --INSTALL_DIR = install -p -o root -g root -d --LN = ln -s -+CC = $(GCC) -+INSTALL_FILE = $(INSTALL) -m 644 -+INSTALL_DIR = $(INSTALL) -d -+LN = ln -sf - RM = rm -fv - CFLAGS += -c -O2 -Wall - LDFLAGS += -@@ -23,13 +23,13 @@ - all: $(OFILES) lib - - %.o: %.c -- $(CC) $(CFLAGS) $< -o $@ -+ $(CC) $(CFLAGS) -c -fPIC $< -o $@ - - lib: $(OFILES) - # create static library -- ar -cvq $(LIBNAME).a $(OFILES) -+ $(AR) -cvq $(LIBNAME).a $(OFILES) - # create shared library -- gcc -shared -Wl,-soname,$(LIBNAME).so.$(MAJOR) -o $(LIBNAME).so.$(VERSION) $(OFILES) -+ $(CC) -shared -Wl,-soname,$(LIBNAME).so.$(MAJOR) -o $(LIBNAME).so.$(VERSION) $(OFILES) -lGL -lm - - install: - $(INSTALL_DIR) $(DESTDIR)/$(INCLUDEDIR) diff --git a/package/libsoil/Config.in b/package/libsoil/Config.in deleted file mode 100644 index aea0cc35483..00000000000 --- a/package/libsoil/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_LIBSOIL - bool "libsoil" - depends on BR2_PACKAGE_HAS_LIBGL - depends on !BR2_STATIC_LIBS - help - SOIL is a tiny C library used primarily for uploading - textures into OpenGL. - - http://www.lonesock.net/soil.html - -comment "libsoil needs an OpenGL backend and a toolchain w/ dynamic library" - depends on !BR2_PACKAGE_HAS_LIBGL || BR2_STATIC_LIBS diff --git a/package/libsoil/libsoil.hash b/package/libsoil/libsoil.hash deleted file mode 100644 index 2596cd6b4d6..00000000000 --- a/package/libsoil/libsoil.hash +++ /dev/null @@ -1,4 +0,0 @@ -# Locally calculated -sha256 a2305b8d64f6d636e36d669bbdb0ca5445d1345c754b3d61d3f037dad2e5f701 soil.zip -sha256 a53f0508cafb544aa0b11c241c1000055bd9d827d19712f4de08898e36f29728 src/stb_image_aug.c -sha256 449ba815b6f610660515246d029f5d08b45178fe8f9f9f520939edad85a7935e src/image_helper.c diff --git a/package/libsoil/libsoil.mk b/package/libsoil/libsoil.mk deleted file mode 100644 index 2945edd8dde..00000000000 --- a/package/libsoil/libsoil.mk +++ /dev/null @@ -1,50 +0,0 @@ -################################################################################ -# -# libsoil -# -################################################################################ - -LIBSOIL_VERSION = 20080707 -LIBSOIL_SOURCE = soil.zip -LIBSOIL_SITE = http://www.lonesock.net/files -LIBSOIL_INSTALL_STAGING = YES -LIBSOIL_DEPENDENCIES = libgl -LIBSOIL_LICENSE = Public Domain, MIT -LIBSOIL_LICENSE_FILES = src/stb_image_aug.c src/image_helper.c -LIBSOIL_MAKEFILE = ../projects/makefile/alternate_Makefile.txt - -define LIBSOIL_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(LIBSOIL_DL_DIR)/$(LIBSOIL_SOURCE) - mv $(@D)/Simple\ OpenGL\ Image\ Library/* $(@D) -endef - -# gnu patch < v2.5.9 doesn't correctly handle spaces in file names, -# and we want to patch the 'alternate Makefile.txt' file, so rename -# the file (and patch the renamed file) for compatibility with older -# distributions -define REMOVE_SPACE_FROM_FILENAME - cd $(@D)/projects/makefile/ && \ - mv "alternate Makefile.txt" alternate_Makefile.txt -endef -LIBSOIL_POST_EXTRACT_HOOKS += REMOVE_SPACE_FROM_FILENAME - -define LIBSOIL_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -f $(LIBSOIL_MAKEFILE) \ - -C $(@D)/src -endef - -define LIBSOIL_INSTALL_STAGING_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -f $(LIBSOIL_MAKEFILE) \ - DESTDIR=$(STAGING_DIR) install \ - INSTALL=$(INSTALL) \ - -C $(@D)/src -endef - -define LIBSOIL_INSTALL_TARGET_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -f $(LIBSOIL_MAKEFILE) \ - DESTDIR=$(TARGET_DIR) install \ - INSTALL=$(INSTALL) \ - -C $(@D)/src -endef - -$(eval $(generic-package)) diff --git a/package/libsoundtouch/libsoundtouch.hash b/package/libsoundtouch/libsoundtouch.hash index fe6a108e334..9de72521bdb 100644 --- a/package/libsoundtouch/libsoundtouch.hash +++ b/package/libsoundtouch/libsoundtouch.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f1ce96bac35779d3b752f4cc8696975b3d58f3deb9db47ffc45862767c2a2bdd libsoundtouch-2.2.tar.gz -sha256 6b73f6327136a924821ec044bbd9f17cf8677faf2f2a2b1366a9fff6188c9688 COPYING.TXT +sha256 6900996607258496ce126924a19fe9d598af9d892cf3f33d1e4daaa9b42ae0b1 soundtouch-2.3.1.tar.gz +sha256 84c6d82dc7de80f5b73f231edfd3ddc5b53513908117452bfa37ea36bb4b7e0a COPYING.TXT diff --git a/package/libsoundtouch/libsoundtouch.mk b/package/libsoundtouch/libsoundtouch.mk index 98b5cc75b39..c372c32ac73 100644 --- a/package/libsoundtouch/libsoundtouch.mk +++ b/package/libsoundtouch/libsoundtouch.mk @@ -4,8 +4,9 @@ # ################################################################################ -LIBSOUNDTOUCH_VERSION = 2.2 -LIBSOUNDTOUCH_SITE = https://gitlab.com/soundtouch/soundtouch/-/archive/$(LIBSOUNDTOUCH_VERSION) +LIBSOUNDTOUCH_VERSION = 2.3.1 +LIBSOUNDTOUCH_SOURCE = soundtouch-$(LIBSOUNDTOUCH_VERSION).tar.gz +LIBSOUNDTOUCH_SITE = https://www.surina.net/soundtouch LIBSOUNDTOUCH_LICENSE = LGPL-2.1+ LIBSOUNDTOUCH_LICENSE_FILES = COPYING.TXT LIBSOUNDTOUCH_AUTORECONF = YES diff --git a/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch b/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch deleted file mode 100644 index c27ee986c6f..00000000000 --- a/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 015926c80fa3e9704f05cbc1ad17f0a877f8de09 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 1 Sep 2018 15:39:04 +0200 -Subject: [PATCH] Revert "tld-parser: use Python 3" - -This reverts commit 4b924e573da307436169d5ef7e04c0ab85b36ef9. The -script runs just fine with Python 2.x, there is no reason to enforce -using Python 3.x. - -Signed-off-by: Thomas Petazzoni ---- - libsoup/tld-parser.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libsoup/tld-parser.py b/libsoup/tld-parser.py -index a743471a..5d9d2ba5 100755 ---- a/libsoup/tld-parser.py -+++ b/libsoup/tld-parser.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/env python - - # Generate tld rules - # Copyright (C) 2012 Red Hat, Inc. --- -2.14.4 - diff --git a/package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch b/package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch new file mode 100644 index 00000000000..f2e8f7701d8 --- /dev/null +++ b/package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch @@ -0,0 +1,40 @@ +From 5c3d431bdb094c59997f2a23e31e83f815ab667c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 1 Jul 2021 22:09:23 +0200 +Subject: [PATCH] meson.build: set c_std to gnu99 + +Set c_std to gnu99 to avoid the following build failure with gcc 4.8: + +In file included from /tmp/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/resolv.h:65:0, + from /tmp/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/glib-2.0/gio/gnetworking.h:40, + from ../libsoup/soup-address.c:14: +/tmp/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/arpa/nameser.h:115:2: error: unknown type name 'u_char' + const u_char *_msg, *_eom; + ^ + +Fixes: + - http://autobuild.buildroot.org/results/56b9cb987e25b99d6fed16c537552f47c3376f21 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/241] +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 4dfd8c15..a5ebc63a 100644 +--- a/meson.build ++++ b/meson.build +@@ -2,6 +2,6 @@ project('libsoup', 'c', + version: '2.74.0', + meson_version : '>= 0.50', + license : 'LGPL2', +- default_options : 'c_std=c99') ++ default_options : 'c_std=gnu99') + + gnome = import('gnome') + +-- +2.30.2 + diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in index f6f8fde968f..02e8e8b578e 100644 --- a/package/libsoup/Config.in +++ b/package/libsoup/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_LIBSOUP bool "libsoup" - depends on BR2_USE_WCHAR # glib2 and gnutls + depends on BR2_USE_WCHAR # glib2, gnutls and libpsl depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBPSL select BR2_PACKAGE_SQLITE help libsoup is an HTTP client/server library. It uses GObject @@ -23,8 +24,8 @@ config BR2_PACKAGE_LIBSOUP_GNOME config BR2_PACKAGE_LIBSOUP_SSL bool "https support" depends on !BR2_STATIC_LIBS # glib-networking, gnutls - select BR2_PACKAGE_GLIB_NETWORKING - select BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_GLIB_NETWORKING # runtime + select BR2_PACKAGE_GNUTLS # runtime help Enable HTTPS (SSL) support. diff --git a/package/libsoup/libsoup.hash b/package/libsoup/libsoup.hash index 666bbc278bf..95c1c26eb48 100644 --- a/package/libsoup/libsoup.hash +++ b/package/libsoup/libsoup.hash @@ -1,4 +1,4 @@ -# From https://ftp.gnome.org/pub/GNOME/sources/libsoup/2.62/libsoup-2.62.3.sha256sum -sha256 d312ade547495c2093ff8bda61f9b9727a98cfdae339f3263277dd39c0451172 libsoup-2.62.3.tar.xz +# From https://ftp.gnome.org/pub/GNOME/sources/libsoup/2.74/libsoup-2.74.0.sha256sum +sha256 33b1d4e0d639456c675c227877e94a8078d731233e2d57689c11abcef7d3c48e libsoup-2.74.0.tar.xz # Locally calculated sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk index 44808225eaf..1a26714992e 100644 --- a/package/libsoup/libsoup.mk +++ b/package/libsoup/libsoup.mk @@ -4,36 +4,61 @@ # ################################################################################ -LIBSOUP_VERSION_MAJOR = 2.62 -LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).3 +LIBSOUP_VERSION_MAJOR = 2.74 +LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).0 LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VERSION).tar.xz LIBSOUP_SITE = http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_VERSION_MAJOR) LIBSOUP_LICENSE = LGPL-2.0+ LIBSOUP_LICENSE_FILES = COPYING LIBSOUP_CPE_ID_VENDOR = gnome LIBSOUP_INSTALL_STAGING = YES -LIBSOUP_CONF_ENV = ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY) -LIBSOUP_CONF_OPTS = --disable-glibtest --enable-vala=no --with-gssapi=no -LIBSOUP_DEPENDENCIES = host-pkgconf host-libglib2 \ - libglib2 libxml2 sqlite host-intltool +LIBSOUP_DEPENDENCIES = \ + host-intltool \ + host-libglib2 \ + host-pkgconf \ + libglib2 \ + libpsl \ + libxml2 \ + sqlite \ + $(TARGET_NLS_DEPENDENCIES) + +LIBSOUP_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + +LIBSOUP_CONF_OPTS = \ + -Dgtk_doc=false \ + -Dntlm=disabled \ + -Dsysprof=disabled \ + -Dtests=false \ + -Dtls_check=false \ + -Dvapi=disabled + +ifeq ($(BR2_PACKAGE_BROTLI),y) +LIBSOUP_CONF_OPTS += -Dbrotli=enabled +LIBSOUP_DEPENDENCIES += brotli +else +LIBSOUP_CONF_OPTS += -Dbrotli=disabled +endif ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -LIBSOUP_CONF_OPTS += --with-introspection +LIBSOUP_CONF_OPTS += -Dintrospection=enabled LIBSOUP_DEPENDENCIES += gobject-introspection else -LIBSOUP_CONF_OPTS += --without-introspection +LIBSOUP_CONF_OPTS += -Dintrospection=disabled endif -ifeq ($(BR2_PACKAGE_LIBSOUP_GNOME),y) -LIBSOUP_CONF_OPTS += --with-gnome +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +LIBSOUP_CONF_OPTS += \ + -Dgssapi=enabled \ + -Dkrb5_config=$(STAGING_DIR)/usr/bin/krb5-config +LIBSOUP_DEPENDENCIES += libkrb5 else -LIBSOUP_CONF_OPTS += --without-gnome +LIBSOUP_CONF_OPTS += -Dgssapi=disabled endif -ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y) -LIBSOUP_DEPENDENCIES += glib-networking +ifeq ($(BR2_PACKAGE_LIBSOUP_GNOME),y) +LIBSOUP_CONF_OPTS += -Dgnome=true else -LIBSOUP_CONF_OPTS += --disable-tls-check +LIBSOUP_CONF_OPTS += -Dgnome=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libsrtp/libsrtp.hash b/package/libsrtp/libsrtp.hash index d4b7b54d036..8e51e68ac2b 100644 --- a/package/libsrtp/libsrtp.hash +++ b/package/libsrtp/libsrtp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 44fd7497bce78767e96b54a11bca520adb2ad32effd515f04bce602b60a1a50b libsrtp-2.2.0.tar.gz -sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae LICENSE +sha256 3b1bcb14ebda572b04b9bdf07574a449c84cb924905414e4d94e62837d22b628 libsrtp-2.4.2.tar.gz +sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae LICENSE diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk index 5cbd97957a5..e7a771c6b20 100644 --- a/package/libsrtp/libsrtp.mk +++ b/package/libsrtp/libsrtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSRTP_VERSION = 2.2.0 +LIBSRTP_VERSION = 2.4.2 LIBSRTP_SITE = $(call github,cisco,libsrtp,v$(LIBSRTP_VERSION)) LIBSRTP_INSTALL_STAGING = YES LIBSRTP_LICENSE = BSD-3-Clause @@ -19,18 +19,16 @@ else LIBSRTP_MAKE_OPTS = libsrtp2.a shared_library endif -# While libsrtp is not using pkg-config itself, it checks if -# pkg-config is available to determine whether it should install -# libsrtp.pc. Since installing it seems useful, let's depend on -# host-pkgconf to make sure pkg-config is installed. LIBSRTP_DEPENDENCIES = host-pkgconf -# openssl handling needs libdl support -ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) +ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBSRTP_DEPENDENCIES += openssl -LIBSRTP_CONF_OPTS += --enable-openssl +LIBSRTP_CONF_OPTS += --disable-nss --enable-openssl +else ifeq ($(BR2_PACKAGE_LIBNSS),y) +LIBSRTP_DEPENDENCIES += libnss +LIBSRTP_CONF_OPTS += --enable-nss --disable-openssl else -LIBSRTP_CONF_OPTS += --disable-openssl +LIBSRTP_CONF_OPTS += --disable-nss --disable-openssl endif $(eval $(autotools-package)) diff --git a/package/libss7/Config.in b/package/libss7/Config.in index bdf5fbe3a8d..d8bcf11ce70 100644 --- a/package/libss7/Config.in +++ b/package/libss7/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_LIBSS7 http://www.asterisk.org/downloads/libss7 -comment "libss7 needs a kernel to be built" +comment "libss7 needs a Linux kernel to be built" depends on !BR2_LINUX_KERNEL comment "libss7 needs a toolchain w/ threads" diff --git a/package/libssh/Config.in b/package/libssh/Config.in index cde73a0d872..1f271a692ef 100644 --- a/package/libssh/Config.in +++ b/package/libssh/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBSSH depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL if !(BR2_PACKAGE_MBEDTLS || BR2_PACKAGE_LIBGCRYPT) + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side. With libssh, diff --git a/package/libssh/libssh.hash b/package/libssh/libssh.hash index bc6fa3f1f87..4dbab113748 100644 --- a/package/libssh/libssh.hash +++ b/package/libssh/libssh.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://www.libssh.org/files/0.9/libssh-0.9.5.tar.xz.asc +# https://www.libssh.org/files/0.9/libssh-0.9.6.tar.xz.asc # with key 8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D -sha256 acffef2da98e761fc1fd9c4fddde0f3af60ab44c4f5af05cd1b2d60a3fa08718 libssh-0.9.5.tar.xz +sha256 86bcf885bd9b80466fe0e05453c58b877df61afa8ba947a58c356d7f0fab829b libssh-0.9.6.tar.xz sha256 1656186e951db1c010a8485481fa94587f7e53a26d24976bef97945ad0c4df5a COPYING diff --git a/package/libssh/libssh.mk b/package/libssh/libssh.mk index eeb5d8489a9..4cadf83aeed 100644 --- a/package/libssh/libssh.mk +++ b/package/libssh/libssh.mk @@ -5,7 +5,7 @@ ################################################################################ LIBSSH_VERSION_MAJOR = 0.9 -LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).5 +LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).6 LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz LIBSSH_SITE = https://www.libssh.org/files/$(LIBSSH_VERSION_MAJOR) LIBSSH_LICENSE = LGPL-2.1 diff --git a/package/libssh2/0001-drop-custom-buildconf-script.patch b/package/libssh2/0001-drop-custom-buildconf-script.patch deleted file mode 100644 index bf187b26a8c..00000000000 --- a/package/libssh2/0001-drop-custom-buildconf-script.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 39a2a444a32896bd2dab37c9b247ccfd11ff4693 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Mon, 30 Oct 2017 19:29:12 +0100 -Subject: [PATCH] buildsystem: drop custom buildconf script, rely on autoreconf - -The buildconf script is currently required, because we need to copy a -header around, because it is used both from the library and the examples -sources. - -However, having a custom 'buildconf'-like script is not needed if we can -ensure that the header / exists by the time it is needed. For That, we -can just append the src/ directory to the headers search path for the -examples. - -And then it means we no longer need to generate the same header twice, -so we remove the second one from configure.ac. - -Now, we can just call "autoreconf -fi" to generate the autotools files, -instead of relying on the canned sequence in "buildconf", since -autoreconf has now long known what to do at the correct moment (future -versions of autotools, automake, autopoint, autoheader etc... may -require an other ordering, or other intermediate steps, etc...). - -Eventually, get rid of buildconf now it is no longer needed. In fact, we -really keep it for legacy, but have it just call autoreconf (and print a -nice user-friendly warning). - -Update gitignore accordingly, too. - -Signed-off-by: "Yann E. MORIN" -Cc: Sam Voss -[Fabrice: Remove .gitignore so patch applies on 1.9.0] -Signed-off-by: Fabrice Fontaine ---- - .gitignore | 2 ++ - buildconf | 24 +++++------------------- - configure.ac | 2 +- - example/.gitignore | 2 -- - example/Makefile.am | 2 +- - 5 files changed, 9 insertions(+), 23 deletions(-) - -diff --git a/buildconf b/buildconf -index 558dcb66..728b3397 100755 ---- a/buildconf -+++ b/buildconf -@@ -1,22 +1,8 @@ - #!/bin/sh - --LIBTOOLIZE="libtoolize" -+echo "***" >&2 -+echo "*** Do not use buildconf. Instead, just use: autoreconf -fi" >&2 -+echo "*** Doing it for you now, but buildconf may disapear in the future." >&2 -+echo "***" >&2 - --if [ "x`which $LIBTOOLIZE`" = "x" ]; then -- LIBTOOLIZE="glibtoolize" --fi -- --if [ "x`which $LIBTOOLIZE`" = "x" ]; then -- echo "Neither libtoolize nor glibtoolize could be found!" -- exit 1 --fi -- --${LIBTOOLIZE} --copy --automake --force --${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS --${AUTOHEADER:-autoheader} --# copy the private libssh2_config.h.in to the examples dir so that --# it can be included without pointing the include path to the private --# source dir --cp src/libssh2_config.h.in example/libssh2_config.h.in --${AUTOCONF:-autoconf} --${AUTOMAKE:-automake} --add-missing --copy -+${AUTORECONF:-autoreconf} -fi "${@}" -diff --git a/configure.ac b/configure.ac -index c6ff7535..6939d0d6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2,7 +2,7 @@ - AC_INIT(libssh2, [-], libssh2-devel@cool.haxx.se) - AC_CONFIG_MACRO_DIR([m4]) - AC_CONFIG_SRCDIR([src]) --AC_CONFIG_HEADERS([src/libssh2_config.h example/libssh2_config.h]) -+AC_CONFIG_HEADERS([src/libssh2_config.h]) - AM_MAINTAINER_MODE - m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -diff --git a/example/Makefile.am b/example/Makefile.am -index 5cf5f071..41f65b12 100644 ---- a/example/Makefile.am -+++ b/example/Makefile.am -@@ -13,5 +13,5 @@ if HAVE_SYS_UN_H - noinst_PROGRAMS += x11 - endif - --AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example -+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example -I../src - LDADD = $(top_builddir)/src/libssh2.la diff --git a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch b/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch deleted file mode 100644 index a70b1fe84fc..00000000000 --- a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f4846473f0f0ec313f8ed7ff4cd9f59c1741465d Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 20 Mar 2018 20:21:53 +0200 -Subject: [PATCH] acinclude.m4: add mbedtls to LIBS - -This is useful for static builds so that the Libs.private field in -libssh2.pc contains correct info for the benefit of pkg-config users. -Static link with libssh2 requires this information. - -Signed-off-by: Baruch Siach -[Fabrice: Replace $LIBMBEDCRYTO by -lmdedcrypto to avoid adding a full -library path to libssh2.pc as it raises build failures on some packages -such as xerces] -Signed-off-by: Fabrice Fontaine ---- -Upstream status: https://github.com/libssh2/libssh2/pull/242 - - acinclude.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/acinclude.m4 b/acinclude.m4 -index c0e89a1a0c98..02c70845d27c 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -441,6 +441,7 @@ m4_case([$1], - [mbedtls], [ - LIBSSH2_LIB_HAVE_LINKFLAGS([mbedcrypto], [], [#include ], [ - AC_DEFINE(LIBSSH2_MBEDTLS, 1, [Use $1]) -+ LIBS="$LIBS -lmbedcrypto" - found_crypto="$1" - support_clear_memory=yes - ]) --- -2.16.2 - diff --git a/package/libssh2/0003-packet-c-improve-message-parsing.patch b/package/libssh2/0003-packet-c-improve-message-parsing.patch deleted file mode 100644 index 2b73520021a..00000000000 --- a/package/libssh2/0003-packet-c-improve-message-parsing.patch +++ /dev/null @@ -1,127 +0,0 @@ -From dedcbd106f8e52d5586b0205bc7677e4c9868f9c Mon Sep 17 00:00:00 2001 -From: Will Cosgrove -Date: Fri, 30 Aug 2019 09:57:38 -0700 -Subject: [PATCH] packet.c: improve message parsing (#402) - -* packet.c: improve parsing of packets - -file: packet.c - -notes: -Use _libssh2_get_string API in SSH_MSG_DEBUG/SSH_MSG_DISCONNECT. Additional uint32 bounds check in SSH_MSG_GLOBAL_REQUEST. -[Retrieved from: -https://github.com/libssh2/libssh2/commit/dedcbd106f8e52d5586b0205bc7677e4c9868f9c] -Signed-off-by: Fabrice Fontaine ---- - src/packet.c | 68 ++++++++++++++++++++++------------------------------ - 1 file changed, 29 insertions(+), 39 deletions(-) - -diff --git a/src/packet.c b/src/packet.c -index 38ab6294..2e01bfc5 100644 ---- a/src/packet.c -+++ b/src/packet.c -@@ -419,8 +419,8 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - size_t datalen, int macstate) - { - int rc = 0; -- char *message = NULL; -- char *language = NULL; -+ unsigned char *message = NULL; -+ unsigned char *language = NULL; - size_t message_len = 0; - size_t language_len = 0; - LIBSSH2_CHANNEL *channelp = NULL; -@@ -472,33 +472,23 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - - case SSH_MSG_DISCONNECT: - if(datalen >= 5) { -- size_t reason = _libssh2_ntohu32(data + 1); -+ uint32_t reason = 0; -+ struct string_buf buf; -+ buf.data = (unsigned char *)data; -+ buf.dataptr = buf.data; -+ buf.len = datalen; -+ buf.dataptr++; /* advance past type */ - -- if(datalen >= 9) { -- message_len = _libssh2_ntohu32(data + 5); -+ _libssh2_get_u32(&buf, &reason); -+ _libssh2_get_string(&buf, &message, &message_len); -+ _libssh2_get_string(&buf, &language, &language_len); - -- if(message_len < datalen-13) { -- /* 9 = packet_type(1) + reason(4) + message_len(4) */ -- message = (char *) data + 9; -- -- language_len = -- _libssh2_ntohu32(data + 9 + message_len); -- language = (char *) data + 9 + message_len + 4; -- -- if(language_len > (datalen-13-message_len)) { -- /* bad input, clear info */ -- language = message = NULL; -- language_len = message_len = 0; -- } -- } -- else -- /* bad size, clear it */ -- message_len = 0; -- } - if(session->ssh_msg_disconnect) { -- LIBSSH2_DISCONNECT(session, reason, message, -- message_len, language, language_len); -+ LIBSSH2_DISCONNECT(session, reason, (const char *)message, -+ message_len, (const char *)language, -+ language_len); - } -+ - _libssh2_debug(session, LIBSSH2_TRACE_TRANS, - "Disconnect(%d): %s(%s)", reason, - message, language); -@@ -539,24 +529,24 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - int always_display = data[1]; - - if(datalen >= 6) { -- message_len = _libssh2_ntohu32(data + 2); -- -- if(message_len <= (datalen - 10)) { -- /* 6 = packet_type(1) + display(1) + message_len(4) */ -- message = (char *) data + 6; -- language_len = _libssh2_ntohu32(data + 6 + -- message_len); -- -- if(language_len <= (datalen - 10 - message_len)) -- language = (char *) data + 10 + message_len; -- } -+ struct string_buf buf; -+ buf.data = (unsigned char *)data; -+ buf.dataptr = buf.data; -+ buf.len = datalen; -+ buf.dataptr += 2; /* advance past type & always display */ -+ -+ _libssh2_get_string(&buf, &message, &message_len); -+ _libssh2_get_string(&buf, &language, &language_len); - } - - if(session->ssh_msg_debug) { -- LIBSSH2_DEBUG(session, always_display, message, -- message_len, language, language_len); -+ LIBSSH2_DEBUG(session, always_display, -+ (const char *)message, -+ message_len, (const char *)language, -+ language_len); - } - } -+ - /* - * _libssh2_debug will actually truncate this for us so - * that it's not an inordinate about of data -@@ -579,7 +569,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - uint32_t len = 0; - unsigned char want_reply = 0; - len = _libssh2_ntohu32(data + 1); -- if(datalen >= (6 + len)) { -+ if((len <= (UINT_MAX - 6)) && (datalen >= (6 + len))) { - want_reply = data[5 + len]; - _libssh2_debug(session, - LIBSSH2_TRACE_CONN, diff --git a/package/libssh2/Config.in b/package/libssh2/Config.in index 90c38813b35..ce2dd303fa3 100644 --- a/package/libssh2/Config.in +++ b/package/libssh2/Config.in @@ -27,6 +27,7 @@ config BR2_PACKAGE_LIBSSH2_LIBGCRYPT config BR2_PACKAGE_LIBSSH2_OPENSSL bool "openssl" depends on BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL endchoice endif diff --git a/package/libssh2/libssh2.hash b/package/libssh2/libssh2.hash index 8e048ff508a..7267e859876 100644 --- a/package/libssh2/libssh2.hash +++ b/package/libssh2/libssh2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd libssh2-1.9.0.tar.gz -sha256 e15ed284a15e80115467d6d7f030f0d89d8fabbecd78fb6e0f861f0cfc128fd9 COPYING +sha256 2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51 libssh2-1.10.0.tar.gz +sha256 859e60d760a3446ecaf777339f1eef98c527aea40714384d24b882a83ffdd23a COPYING diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk index 6147583a9ec..cd74784d829 100644 --- a/package/libssh2/libssh2.mk +++ b/package/libssh2/libssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSSH2_VERSION = 1.9.0 +LIBSSH2_VERSION = 1.10.0 LIBSSH2_SITE = https://www.libssh2.org/download LIBSSH2_LICENSE = BSD LIBSSH2_LICENSE_FILES = COPYING @@ -12,12 +12,6 @@ LIBSSH2_CPE_ID_VENDOR = libssh2 LIBSSH2_INSTALL_STAGING = YES LIBSSH2_CONF_OPTS = --disable-examples-build -# 0003-packet-c-improve-message-parsing.patch -LIBSSH2_IGNORE_CVES += CVE-2019-17498 - -# patch touching configure.ac and acinclude.m4 -LIBSSH2_AUTORECONF = YES - ifeq ($(BR2_PACKAGE_LIBSSH2_MBEDTLS),y) LIBSSH2_DEPENDENCIES += mbedtls LIBSSH2_CONF_OPTS += --with-libmbedcrypto-prefix=$(STAGING_DIR)/usr \ diff --git a/package/libstrophe/0001-make-autoreconfable.patch b/package/libstrophe/0001-make-autoreconfable.patch deleted file mode 100644 index 76ca6f25e81..00000000000 --- a/package/libstrophe/0001-make-autoreconfable.patch +++ /dev/null @@ -1,20 +0,0 @@ -Make the package autoreconfigurable - -Signed-off-by: Denis Bodor -[Gustavo: update for 0.8.8] - -diff -Nura libstrophe-0.8.8.orig/m4/.empty libstrophe-0.8.8/m4/.empty ---- libstrophe-0.8.8.orig/m4/.empty 1969-12-31 21:00:00.000000000 -0300 -+++ libstrophe-0.8.8/m4/.empty 2015-09-23 19:29:37.893688227 -0300 -@@ -0,0 +1,2 @@ -+ -+ -diff -Nura libstrophe-0.8.8.orig/Makefile.am libstrophe-0.8.8/Makefile.am ---- libstrophe-0.8.8.orig/Makefile.am 2015-09-23 19:26:10.960492781 -0300 -+++ libstrophe-0.8.8/Makefile.am 2015-09-23 19:29:17.265970964 -0300 -@@ -1,4 +1,4 @@ --AUTOMAKE_OPTIONS = subdir-objects -+AUTOMAKE_OPTIONS = subdir-objects foreign - - ACLOCAL_AMFLAGS = -I m4 - AM_CFLAGS = -g -Wall diff --git a/package/libstrophe/Config.in b/package/libstrophe/Config.in index 5fdb918d7a5..6ddc70b9f9f 100644 --- a/package/libstrophe/Config.in +++ b/package/libstrophe/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBSTROPHE bool "libstrophe" depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBXML2 if !BR2_PACKAGE_EXPAT help libstrophe is a lightweight XMPP client library written in C. diff --git a/package/libstrophe/libstrophe.hash b/package/libstrophe/libstrophe.hash index d5f151660f9..9551b191c6f 100644 --- a/package/libstrophe/libstrophe.hash +++ b/package/libstrophe/libstrophe.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 5bf0bbc555cb6059008f1b748370d4d2ee1e1fabd3eeab68475263556405ba39 libstrophe-0.10.1.tar.gz +sha256 feafee545403d26a44aa573d4adf327d6d07ad3f3466370634d22bbac5bd49ee libstrophe-0.11.0.tar.xz sha256 82476f36ffd5e895a176013c0812166ba7b7d99f3d536fc7f5ed2e33e9f74a08 MIT-LICENSE.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL-LICENSE.txt diff --git a/package/libstrophe/libstrophe.mk b/package/libstrophe/libstrophe.mk index e078eb25cd4..04ba0a69d0e 100644 --- a/package/libstrophe/libstrophe.mk +++ b/package/libstrophe/libstrophe.mk @@ -4,11 +4,10 @@ # ################################################################################ -LIBSTROPHE_VERSION = 0.10.1 -LIBSTROPHE_SITE = $(call github,strophe,libstrophe,$(LIBSTROPHE_VERSION)) -LIBSTROPHE_DEPENDENCIES = openssl host-pkgconf -# Doesn't ship configure -LIBSTROPHE_AUTORECONF = YES +LIBSTROPHE_VERSION = 0.11.0 +LIBSTROPHE_SOURCE = libstrophe-$(LIBSTROPHE_VERSION).tar.xz +LIBSTROPHE_SITE = https://github.com/strophe/libstrophe/releases/download/$(LIBSTROPHE_VERSION) +LIBSTROPHE_DEPENDENCIES = host-pkgconf LIBSTROPHE_LICENSE = MIT or GPL-3.0 LIBSTROPHE_LICENSE_FILES = MIT-LICENSE.txt GPL-LICENSE.txt LIBSTROPHE_INSTALL_STAGING = YES @@ -21,4 +20,12 @@ LIBSTROPHE_CONF_OPTS += --with-libxml2 LIBSTROPHE_DEPENDENCIES += libxml2 endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBSTROPHE_CONF_OPTS += --with-tls --without-gnutls +LIBSTROPHE_DEPENDENCIES += openssl +else +LIBSTROPHE_CONF_OPTS += --with-gnutls --without-tls +LIBSTROPHE_DEPENDENCIES += gnutls +endif + $(eval $(autotools-package)) diff --git a/package/libsysfs/Config.in b/package/libsysfs/Config.in index 2cbebaa5301..076490ec421 100644 --- a/package/libsysfs/Config.in +++ b/package/libsysfs/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LIBSYSFS These are a set of utilities built upon sysfs, a filesystem in Linux 2.6 kernels that exposes a system's device tree. - http://linux-diag.sourceforge.net/Sysfsutils.html + https://github.com/linux-ras/sysfsutils diff --git a/package/libsysfs/libsysfs.hash b/package/libsysfs/libsysfs.hash index 5d32300ad19..3d2d03fcddb 100644 --- a/package/libsysfs/libsysfs.hash +++ b/package/libsysfs/libsysfs.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a sysfsutils-2.1.0.tar.gz -sha256 88ced477f0659c5a4df22df3b65de2f12ea3a9c7b5e4750fdc757bc11e97aa79 cmd/GPL -sha256 4eb1c0ea980e7e4c7fac34e025be0423f5e7ca7df501e1da7ef31f32f14d6cf9 lib/LGPL +sha256 f7f669d27c997d3eb3f3e014b4c0aa1aa4d07ce4d6f9e41fa835240f2bf38810 libsysfs-2.1.1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 cmd/GPL +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 lib/LGPL diff --git a/package/libsysfs/libsysfs.mk b/package/libsysfs/libsysfs.mk index 6cff8bf5fe3..94de9e4314e 100644 --- a/package/libsysfs/libsysfs.mk +++ b/package/libsysfs/libsysfs.mk @@ -4,13 +4,14 @@ # ################################################################################ -LIBSYSFS_VERSION = 2.1.0 -LIBSYSFS_SITE = http://downloads.sourceforge.net/project/linux-diag/sysfsutils/$(LIBSYSFS_VERSION) -LIBSYSFS_SOURCE = sysfsutils-$(LIBSYSFS_VERSION).tar.gz +LIBSYSFS_VERSION = 2.1.1 +LIBSYSFS_SITE = $(call github,linux-ras,sysfsutils,v$(LIBSYSFS_VERSION)) LIBSYSFS_INSTALL_STAGING = YES LIBSYSFS_LICENSE = GPL-2.0 (utilities), LGPL-2.1+ (library) LIBSYSFS_LICENSE_FILES = cmd/GPL lib/LGPL LIBSYSFS_CPE_ID_VENDOR = sysfsutils_project LIBSYSFS_CPE_ID_PRODUCT = sysfsutils +# From git +LIBSYSFS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/libtalloc/Config.in b/package/libtalloc/Config.in new file mode 100644 index 00000000000..849becf1805 --- /dev/null +++ b/package/libtalloc/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBTALLOC + bool "libtalloc" + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + help + talloc is a hierarchical, reference counted memory pool + system with destructors. It is the core memory allocator + used in Samba. + + https://talloc.samba.org/talloc/doc/html/index.html + +comment "libtalloc needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/libtalloc/libtalloc-cache.txt b/package/libtalloc/libtalloc-cache.txt new file mode 100644 index 00000000000..a2b44857dad --- /dev/null +++ b/package/libtalloc/libtalloc-cache.txt @@ -0,0 +1,42 @@ +Checking simple C program: OK +rpath library support: OK +-Wl,--version-script support: OK +Checking getconf LFS_CFLAGS: NO +Checking for large file support without additional flags: OK +Checking for -D_LARGE_FILES: OK +Checking correct behavior of strtoll: NO +Checking for working strptime: OK +Checking for C99 vsnprintf: OK +Checking for HAVE_SHARED_MMAP: OK +Checking for HAVE_MREMAP: OK +Checking for HAVE_INCOHERENT_MMAP: NO +Checking for HAVE_SECURE_MKSTEMP: OK +Checking for HAVE_IFACE_GETIFADDRS: OK +Checking for kernel change notify support: OK +Checking for Linux kernel oplocks: OK +Checking for kernel share modes: OK +Checking if can we convert from CP850 to UCS-2LE: OK +Checking if can we convert from UTF-8 to UCS-2LE: OK +Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK +Checking whether we can use Linux thread-specific credentials: OK +Checking whether setreuid is available: OK +Checking whether setresuid is available: OK +Checking whether seteuid is available: OK +Checking whether fcntl locking is available: OK +Checking whether fcntl lock supports open file description locks: OK +Checking for the maximum value of the 'time_t' type: OK +Checking whether the realpath function allows a NULL argument: OK +Checking whether POSIX capabilities are available: OK +Checking for ftruncate extend: OK +vfs_fileid checking for statfs() and struct statfs.f_fsid: OK +getcwd takes a NULL argument: OK +Checking uname sysname type: "Linux" +Checking uname release type: "5.4.0" +Checking uname version type: "#1 Tue Oct 1 00:00:00 UTC 2020" +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 diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash new file mode 100644 index 00000000000..cbfd11e63b2 --- /dev/null +++ b/package/libtalloc/libtalloc.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa talloc-2.3.3.tar.gz +sha256 f8340c449dd64a55c6605b02fcad2aec6f473612ac6026739a22995380a8043c talloc.h diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk new file mode 100644 index 00000000000..79bcf949473 --- /dev/null +++ b/package/libtalloc/libtalloc.mk @@ -0,0 +1,53 @@ +################################################################################ +# +# libtalloc +# +################################################################################ + +LIBTALLOC_VERSION = 2.3.3 +LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz +LIBTALLOC_SITE = https://www.samba.org/ftp/talloc +LIBTALLOC_LICENSE = LGPL-3.0+ +LIBTALLOC_LICENSE_FILES = talloc.h +LIBTALLOC_INSTALL_STAGING = YES + +# --with-libiconv= is unconditionally passed, even if libiconv is not +# present. Indeed, waf will search for libiconv by default in +# /usr/local. Because of a bug in some waf python script, /usr/local +# is then used in many subsequent and unrelated checks, which +# ultimately causes a failure when BR2_COMPILER_PARANOID_UNSAFE_PATH +# is set. However no need to set libiconv as a dependency of +# libtalloc since it's optional. +LIBTALLOC_CONF_OPTS += --cross-compile \ + --cross-answers=$(@D)/cache.txt \ + --hostcc=gcc \ + --with-libiconv=$(STAGING_DIR)/usr + +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +LIBTALLOC_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` +LIBTALLOC_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` +LIBTALLOC_DEPENDENCIES += libtirpc host-pkgconf +endif + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBTALLOC_DEPENDENCIES += host-python3 python3 +LIBTALLOC_CONF_ENV += \ + PYTHON="$(HOST_DIR)/bin/python3" \ + PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python3-config" +# There isn't any --enable-python configuration option +else +LIBTALLOC_CONF_OPTS += --disable-python +endif + +LIBTALLOC_WAF = ./buildtools/bin/waf + +# like samba4, libtalloc uses the waf build system which requires a +# proper answers file to configure package before build +define LIBTALLOC_POPULATE_WAF_CACHE + $(INSTALL) -m 0644 package/libtalloc/libtalloc-cache.txt $(@D)/cache.txt + echo 'Checking uname machine type: $(BR2_ARCH)' >> $(@D)/cache.txt +endef + +LIBTALLOC_PRE_CONFIGURE_HOOKS += LIBTALLOC_POPULATE_WAF_CACHE + +$(eval $(waf-package)) diff --git a/package/libtasn1/libtasn1.hash b/package/libtasn1/libtasn1.hash index 93cfa1a68bb..fa39dd2c739 100644 --- a/package/libtasn1/libtasn1.hash +++ b/package/libtasn1/libtasn1.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.16.0.tar.gz.sig -sha256 0e0fb0903839117cb6e3b56e68222771bebf22ad7fc2295a0ed7d576e8d4329d libtasn1-4.16.0.tar.gz +# https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.18.0.tar.gz.sig +sha256 4365c154953563d64c67a024b607d1ee75c6db76e0d0f65709ea80a334cd1898 libtasn1-4.18.0.tar.gz # Locally calculated -sha256 7446831f659f7ebfd8d497acc7f05dfa8e31c6cb6ba1b45df33d4895ab80f5a6 LICENSE +sha256 7446831f659f7ebfd8d497acc7f05dfa8e31c6cb6ba1b45df33d4895ab80f5a6 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 doc/COPYING.LESSER diff --git a/package/libtasn1/libtasn1.mk b/package/libtasn1/libtasn1.mk index a3547168245..ba86081df91 100644 --- a/package/libtasn1/libtasn1.mk +++ b/package/libtasn1/libtasn1.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBTASN1_VERSION = 4.16.0 +LIBTASN1_VERSION = 4.18.0 LIBTASN1_SITE = $(BR2_GNU_MIRROR)/libtasn1 LIBTASN1_DEPENDENCIES = host-bison host-pkgconf LIBTASN1_LICENSE = GPL-3.0+ (tests, tools), LGPL-2.1+ (library) -LIBTASN1_LICENSE_FILES = LICENSE doc/COPYING doc/COPYING.LESSER +LIBTASN1_LICENSE_FILES = COPYING doc/COPYING doc/COPYING.LESSER LIBTASN1_CPE_ID_VENDOR = gnu LIBTASN1_INSTALL_STAGING = YES @@ -20,4 +20,12 @@ LIBTASN1_CONF_ENV = MAKEINFO="true" LIBTASN1_CONF_OPTS = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" +LIBTASN1_PROGS = asn1Coding asn1Decoding asn1Parser + +# We only need the library +define LIBTASN1_REMOVE_PROGS + $(RM) $(addprefix $(TARGET_DIR)/usr/bin/,$(LIBTASN1_PROGS)) +endef +LIBTASN1_POST_INSTALL_TARGET_HOOKS += LIBTASN1_REMOVE_PROGS + $(eval $(autotools-package)) diff --git a/package/libteam/0001-revert-disregard-current-state.patch b/package/libteam/0001-revert-disregard-current-state.patch new file mode 100644 index 00000000000..339afbf4167 --- /dev/null +++ b/package/libteam/0001-revert-disregard-current-state.patch @@ -0,0 +1,51 @@ +From 61efd6de2fbb8ee077863ee5a355ac3dfd9365b9 Mon Sep 17 00:00:00 2001 +From: Xin Long +Date: Tue, 1 Sep 2020 13:59:27 +0800 +Subject: [PATCH] Revert "teamd: Disregard current state when considering port + enablement" + +This reverts commit deadb5b715227429a1879b187f5906b39151eca9. + +As Patrick noticed, with that commit, teamd_port_check_enable() +would set the team port to the new state unconditionally, which +triggers another change message from kernel to userspace, then +teamd_port_check_enable() is called again to set the team port +to the new state. + +This would go around and around to update the team port state, +and even cause teamd to consume 100% cpu. + +As the issue caused by that commit is serious, it has to be +reverted. As for the issued fixed by that commit, I would +propose a new fix later. + +Signed-off-by: Jiri Pirko +--- + teamd/teamd_per_port.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/teamd/teamd_per_port.c b/teamd/teamd_per_port.c +index 166da57..d429753 100644 +--- a/teamd/teamd_per_port.c ++++ b/teamd/teamd_per_port.c +@@ -442,14 +442,18 @@ int teamd_port_check_enable(struct teamd_context *ctx, + bool should_enable, bool should_disable) + { + bool new_enabled_state; ++ bool curr_enabled_state; + int err; + + if (!teamd_port_present(ctx, tdport)) + return 0; ++ err = teamd_port_enabled(ctx, tdport, &curr_enabled_state); ++ if (err) ++ return err; + +- if (should_enable) ++ if (!curr_enabled_state && should_enable) + new_enabled_state = true; +- else if (should_disable) ++ else if (curr_enabled_state && should_disable) + new_enabled_state = false; + else + return 0; diff --git a/package/libteam/0002-fix-build-on-openwrt-musl-libc.patch b/package/libteam/0002-fix-build-on-openwrt-musl-libc.patch new file mode 100644 index 00000000000..f2b38a137dd --- /dev/null +++ b/package/libteam/0002-fix-build-on-openwrt-musl-libc.patch @@ -0,0 +1,41 @@ +From 267f24839536234ca621d4fd0466d3b57cb6dccd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pavel=20=C5=A0imerda?= +Date: Tue, 12 Jan 2021 04:41:56 +0100 +Subject: [PATCH] fix build on OpenWRT/musl-libc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Pavel Šimerda +Signed-off-by: Jiri Pirko +--- + teamd/teamd_runner_lacp.c | 2 -- + utils/teamnl.c | 1 + + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c +index 9437f05..f524be2 100644 +--- a/teamd/teamd_runner_lacp.c ++++ b/teamd/teamd_runner_lacp.c +@@ -23,9 +23,7 @@ + #include + #include + #include +-#include + #include +-#include + #include + #include + #include +diff --git a/utils/teamnl.c b/utils/teamnl.c +index c53345d..ec2b435 100644 +--- a/utils/teamnl.c ++++ b/utils/teamnl.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/package/libteam/0003-increase-wait-time-for-daemon-kill.patch b/package/libteam/0003-increase-wait-time-for-daemon-kill.patch new file mode 100644 index 00000000000..7827a654ef2 --- /dev/null +++ b/package/libteam/0003-increase-wait-time-for-daemon-kill.patch @@ -0,0 +1,37 @@ +From 6875e6c8efb0fe86766b3d4f1d0db390af6998b7 Mon Sep 17 00:00:00 2001 +From: Hangbin Liu +Date: Tue, 15 Dec 2020 19:33:17 +0800 +Subject: [PATCH] teamd: increase the waitting time for daemon killing + +In the current code, we wait for at most 5s when kill the daemon pid. +But in some environment, it may need more time. Then the teamd -k will +failed and return error "Failed to kill daemon: Timer expired". + +Let's increase the value to have enough time. Here is the reuslt with +this patch: + +$ time libteam/teamd/teamd -k -t team0 + +real 0m10.442s +user 0m0.017s +sys 0m0.016s + +Signed-off-by: Hangbin Liu +Signed-off-by: Jiri Pirko +--- + teamd/teamd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/teamd/teamd.c b/teamd/teamd.c +index 9360cbf..b310140 100644 +--- a/teamd/teamd.c ++++ b/teamd/teamd.c +@@ -1858,7 +1858,7 @@ int main(int argc, char **argv) + break; + case DAEMON_CMD_KILL: + if (daemon_pid_file_is_running() > 0) { +- err = daemon_pid_file_kill_wait(SIGTERM, 5); ++ err = daemon_pid_file_kill_wait(SIGTERM, 30); + if (err) + teamd_log_warn("Failed to kill daemon: %s", + strerror(errno)); diff --git a/package/libteam/Config.in b/package/libteam/Config.in new file mode 100644 index 00000000000..aa566a6c946 --- /dev/null +++ b/package/libteam/Config.in @@ -0,0 +1,31 @@ +config BR2_PACKAGE_LIBTEAM + bool "libteam" + depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS # libnl-tools + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_LIBDAEMON + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_LIBNL_TOOLS + help + The purpose of the Team driver is to provide a mechanism to + team multiple NICs (ports) into one logical one (teamdev) at + L2 layer. The process is called "channel bonding", "Ethernet + bonding", "channel teaming", "link aggregation", etc. + + Team tries to provide similar functionality as the bonding + driver, however architecturally it is quite different. Team is + modular, userspace driven, very lean and efficient, and it + does have some distinct advantages over bonding. The way Team + is configured differs dramatically from the way bonding is. + + If building the kernel with Buildroot, basic team support is + automatically enabled, but you will still need to enable the + modes you need, e.g. activebackup or loadbalance (e.g. with a + config fragment or a custom config). + + https://github.com/jpirko/libteam + +comment "libteam needs MMU and a toolchain w/ dynamic library and threads" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libteam/libteam.hash b/package/libteam/libteam.hash new file mode 100644 index 00000000000..39d29425d31 --- /dev/null +++ b/package/libteam/libteam.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c69f7cf5a98203d66db10e67b396fe325b77a5a9491d1e07e8a07cba3ba841bb libteam-1.31.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libteam/libteam.mk b/package/libteam/libteam.mk new file mode 100644 index 00000000000..8bd83aa20da --- /dev/null +++ b/package/libteam/libteam.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# libteam +# +################################################################################ + +LIBTEAM_VERSION = 1.31 +LIBTEAM_SITE = $(call github,jpirko,libteam,v$(LIBTEAM_VERSION)) +LIBTEAM_LICENSE = LGPL-2.1+ +LIBTEAM_LICENSE_FILES = COPYING +LIBTEAM_DEPENDENCIES = host-pkgconf jansson libdaemon libnl +LIBTEAM_AUTORECONF = YES +LIBTEAM_INSTALL_STAGING = YES + +# Note: this enables basic team support, use a custom kernel config, or +# fragment, to enable team modes, e.g. activebackup or loadbalance +define LIBTEAM_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NETDEVICES) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_TEAM) +endef + +$(eval $(autotools-package)) diff --git a/package/libtirpc/0003-Automatically-generate-XDR-header-files-from-.x-sour.patch b/package/libtirpc/0003-Automatically-generate-XDR-header-files-from-.x-sour.patch deleted file mode 100644 index 2712f53c385..00000000000 --- a/package/libtirpc/0003-Automatically-generate-XDR-header-files-from-.x-sour.patch +++ /dev/null @@ -1,1001 +0,0 @@ -From 001e3f26dc80b8f21bed7d9b5872fe10e8b4af04 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 10 Nov 2012 17:29:53 +0100 -Subject: [PATCH] Automatically generate XDR header files from .x sources using - rpcgen - -[Gustavo: update after dropping non-IPv6 support] -Signed-off-by: Thomas Petazzoni -[yann.morin.1998@free.fr: update for 0.3.1] -Signed-off-by: "Yann E. MORIN" -[baruch: use external rpcgen] -Signed-off-by: Baruch Siach ---- - Makefile.am | 16 +- - src/Makefile.am | 2 +- - tirpc/rpc/rpcb_prot.h | 797 ------------------------------------------ - tirpc/rpcsvc/crypt.h | 109 ------ - 4 files changed, 14 insertions(+), 910 deletions(-) - delete mode 100644 tirpc/rpc/rpcb_prot.h - delete mode 100644 tirpc/rpcsvc/crypt.h - -diff --git a/Makefile.am b/Makefile.am -index 3f6063771faf..368fb8a1aed2 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,6 +1,9 @@ - SUBDIRS = src man doc - ACLOCAL_AMFLAGS = -I m4 - -+GENFILES = tirpc/rpcsvc/crypt.h \ -+ tirpc/rpc/rpcb_prot.h -+ - noinst_HEADERS = tirpc/reentrant.h \ - tirpc/getpeereid.h \ - tirpc/libc_private.h \ -@@ -8,7 +11,6 @@ noinst_HEADERS = tirpc/reentrant.h \ - - nobase_include_HEADERS = tirpc/netconfig.h \ - tirpc/rpcsvc/crypt.x \ -- tirpc/rpcsvc/crypt.h \ - tirpc/rpc/xdr.h \ - tirpc/rpc/types.h \ - tirpc/rpc/svc_soc.h \ -@@ -21,7 +23,6 @@ nobase_include_HEADERS = tirpc/netconfig.h \ - 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 +49,14 @@ endif - pkgconfigdir=$(libdir)/pkgconfig - pkgconfig_DATA = libtirpc.pc - --CLEANFILES = cscope.* *~ -+nobase_nodist_include_HEADERS = $(GENFILES) -+BUILT_SOURCES = $(GENFILES) -+ -+$(GENFILES): %.h: %.x -+ mkdir -p $(dir $@) -+ rpcgen -h -o $@ $< -+ -+force: -+ -+CLEANFILES = cscope.* *~ $(GENFILES) - DISTCLEANFILES = Makefile.in libtirpc*.tar.gz -diff --git a/src/Makefile.am b/src/Makefile.am -index 2af40f16d03a..0b7e23835c36 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -8,7 +8,7 @@ - noinst_HEADERS = rpc_com.h debug.h - - AM_CPPFLAGS = -I$(top_srcdir)/tirpc -include config.h -DPORTMAP -DINET6 \ -- -D_GNU_SOURCE -Wall -pipe -+ -D_GNU_SOURCE -Wall -pipe -I$(top_builddir)/tirpc - - lib_LTLIBRARIES = libtirpc.la - -diff --git a/tirpc/rpc/rpcb_prot.h b/tirpc/rpc/rpcb_prot.h -deleted file mode 100644 -index 7ae48b805370..000000000000 ---- a/tirpc/rpc/rpcb_prot.h -+++ /dev/null -@@ -1,797 +0,0 @@ --/* -- * Please do not edit this file. -- * It was generated using rpcgen. -- */ -- --#ifndef _RPCB_PROT_H_RPCGEN --#define _RPCB_PROT_H_RPCGEN -- --#include -- --#ifndef IXDR_GET_INT32 --#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf)) --#endif --#ifndef IXDR_PUT_INT32 --#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v)) --#endif --#ifndef IXDR_GET_U_INT32 --#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf)) --#endif --#ifndef IXDR_PUT_U_INT32 --#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v)) --#endif --/* -- * $FreeBSD: src/include/rpc/rpcb_prot.x,v 1.3 2002/03/13 10:29:06 obrien Exp $ -- * -- * Copyright (c) 2009, Sun Microsystems, Inc. -- * All rights reserved. -- * -- * Redistribution and use in source and binary forms, with or without -- * modification, are permitted provided that the following conditions are met: -- * - Redistributions of source code must retain the above copyright notice, -- * this list of conditions and the following disclaimer. -- * - 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. -- * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -- */ --/* -- * Copyright (c) 1988 by Sun Microsystems, Inc. -- */ --/* from rpcb_prot.x */ -- --/* #pragma ident "@(#)rpcb_prot.x 1.5 94/04/29 SMI" */ -- --#ifndef _KERNEL -- -- --/* -- * The following procedures are supported by the protocol in version 3: -- * -- * RPCBPROC_NULL() returns () -- * takes nothing, returns nothing -- * -- * RPCBPROC_SET(rpcb) returns (bool_t) -- * TRUE is success, FALSE is failure. Registers the tuple -- * [prog, vers, address, owner, netid]. -- * Finds out owner and netid information on its own. -- * -- * RPCBPROC_UNSET(rpcb) returns (bool_t) -- * TRUE is success, FALSE is failure. Un-registers tuple -- * [prog, vers, netid]. addresses is ignored. -- * If netid is NULL, unregister all. -- * -- * RPCBPROC_GETADDR(rpcb) returns (string). -- * 0 is failure. Otherwise returns the universal address where the -- * triple [prog, vers, netid] is registered. Ignore address and owner. -- * -- * RPCBPROC_DUMP() RETURNS (rpcblist_ptr) -- * used to dump the entire rpcbind maps -- * -- * RPCBPROC_CALLIT(rpcb_rmtcallargs) -- * RETURNS (rpcb_rmtcallres); -- * Calls the procedure on the remote machine. If it is not registered, -- * this procedure is quiet; i.e. it does not return error information!!! -- * This routine only passes null authentication parameters. -- * It has no interface to xdr routines for RPCBPROC_CALLIT. -- * -- * RPCBPROC_GETTIME() returns (int). -- * Gets the remote machines time -- * -- * RPCBPROC_UADDR2TADDR(strint) RETURNS (struct netbuf) -- * Returns the netbuf address from universal address. -- * -- * RPCBPROC_TADDR2UADDR(struct netbuf) RETURNS (string) -- * Returns the universal address from netbuf address. -- * -- * END OF RPCBIND VERSION 3 PROCEDURES -- */ --/* -- * Except for RPCBPROC_CALLIT, the procedures above are carried over to -- * rpcbind version 4. Those below are added or modified for version 4. -- * NOTE: RPCBPROC_BCAST HAS THE SAME FUNCTIONALITY AND PROCEDURE NUMBER -- * AS RPCBPROC_CALLIT. -- * -- * RPCBPROC_BCAST(rpcb_rmtcallargs) -- * RETURNS (rpcb_rmtcallres); -- * Calls the procedure on the remote machine. If it is not registered, -- * this procedure IS quiet; i.e. it DOES NOT return error information!!! -- * This routine should be used for broadcasting and nothing else. -- * -- * RPCBPROC_GETVERSADDR(rpcb) returns (string). -- * 0 is failure. Otherwise returns the universal address where the -- * triple [prog, vers, netid] is registered. Ignore address and owner. -- * Same as RPCBPROC_GETADDR except that if the given version number -- * is not available, the address is not returned. -- * -- * RPCBPROC_INDIRECT(rpcb_rmtcallargs) -- * RETURNS (rpcb_rmtcallres); -- * Calls the procedure on the remote machine. If it is not registered, -- * this procedure is NOT quiet; i.e. it DOES return error information!!! -- * as any normal application would expect. -- * -- * RPCBPROC_GETADDRLIST(rpcb) returns (rpcb_entry_list_ptr). -- * Same as RPCBPROC_GETADDR except that it returns a list of all the -- * addresses registered for the combination (prog, vers) (for all -- * transports). -- * -- * RPCBPROC_GETSTAT(void) returns (rpcb_stat_byvers) -- * Returns the statistics about the kind of requests received by rpcbind. -- */ -- --/* -- * A mapping of (program, version, network ID) to address -- */ -- --struct rpcb { -- rpcprog_t r_prog; -- rpcvers_t r_vers; -- char *r_netid; -- char *r_addr; -- char *r_owner; --}; --typedef struct rpcb rpcb; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb(XDR *, rpcb*); --#elif __STDC__ --extern bool_t xdr_rpcb(XDR *, rpcb*); --#else /* Old Style C */ --bool_t xdr_rpcb(); --#endif /* Old Style C */ -- -- --typedef rpcb RPCB; -- -- --/* -- * A list of mappings -- * -- * Below are two definitions for the rpcblist structure. This is done because -- * xdr_rpcblist() is specified to take a struct rpcblist **, rather than a -- * struct rpcblist * that rpcgen would produce. One version of the rpcblist -- * structure (actually called rp__list) is used with rpcgen, and the other is -- * defined only in the header file for compatibility with the specified -- * interface. -- */ -- --struct rp__list { -- rpcb rpcb_map; -- struct rp__list *rpcb_next; --}; --typedef struct rp__list rp__list; --#ifdef __cplusplus --extern "C" bool_t xdr_rp__list(XDR *, rp__list*); --#elif __STDC__ --extern bool_t xdr_rp__list(XDR *, rp__list*); --#else /* Old Style C */ --bool_t xdr_rp__list(); --#endif /* Old Style C */ -- -- --typedef rp__list *rpcblist_ptr; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcblist_ptr(XDR *, rpcblist_ptr*); --#elif __STDC__ --extern bool_t xdr_rpcblist_ptr(XDR *, rpcblist_ptr*); --#else /* Old Style C */ --bool_t xdr_rpcblist_ptr(); --#endif /* Old Style C */ -- -- --typedef struct rp__list rpcblist; --typedef struct rp__list RPCBLIST; -- --#ifndef __cplusplus --struct rpcblist { -- RPCB rpcb_map; -- struct rpcblist *rpcb_next; --}; --#endif -- --#ifdef __cplusplus --extern "C" { --#endif --extern bool_t xdr_rpcblist(XDR *, rpcblist**); --#ifdef __cplusplus --} --#endif -- -- --/* -- * Arguments of remote calls -- */ -- --struct rpcb_rmtcallargs { -- rpcprog_t prog; -- rpcvers_t vers; -- rpcproc_t proc; -- struct { -- u_int args_len; -- char *args_val; -- } args; --}; --typedef struct rpcb_rmtcallargs rpcb_rmtcallargs; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb_rmtcallargs(XDR *, rpcb_rmtcallargs*); --#elif __STDC__ --extern bool_t xdr_rpcb_rmtcallargs(XDR *, rpcb_rmtcallargs*); --#else /* Old Style C */ --bool_t xdr_rpcb_rmtcallargs(); --#endif /* Old Style C */ -- -- --/* -- * Client-side only representation of rpcb_rmtcallargs structure. -- * -- * The routine that XDRs the rpcb_rmtcallargs structure must deal with the -- * opaque arguments in the "args" structure. xdr_rpcb_rmtcallargs() needs to -- * be passed the XDR routine that knows the args' structure. This routine -- * doesn't need to go over-the-wire (and it wouldn't make sense anyway) since -- * the application being called already knows the args structure. So we use a -- * different "XDR" structure on the client side, r_rpcb_rmtcallargs, which -- * includes the args' XDR routine. -- */ --struct r_rpcb_rmtcallargs { -- rpcprog_t prog; -- rpcvers_t vers; -- rpcproc_t proc; -- struct { -- u_int args_len; -- char *args_val; -- } args; -- xdrproc_t xdr_args; /* encodes args */ --}; -- -- --/* -- * Results of the remote call -- */ -- --struct rpcb_rmtcallres { -- char *addr; -- struct { -- u_int results_len; -- char *results_val; -- } results; --}; --typedef struct rpcb_rmtcallres rpcb_rmtcallres; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb_rmtcallres(XDR *, rpcb_rmtcallres*); --#elif __STDC__ --extern bool_t xdr_rpcb_rmtcallres(XDR *, rpcb_rmtcallres*); --#else /* Old Style C */ --bool_t xdr_rpcb_rmtcallres(); --#endif /* Old Style C */ -- -- --/* -- * Client-side only representation of rpcb_rmtcallres structure. -- */ --struct r_rpcb_rmtcallres { -- char *addr; -- struct { -- u_int32_t results_len; -- char *results_val; -- } results; -- xdrproc_t xdr_res; /* decodes results */ --}; -- --/* -- * rpcb_entry contains a merged address of a service on a particular -- * transport, plus associated netconfig information. A list of rpcb_entrys -- * is returned by RPCBPROC_GETADDRLIST. See netconfig.h for values used -- * in r_nc_* fields. -- */ -- --struct rpcb_entry { -- char *r_maddr; -- char *r_nc_netid; -- u_int r_nc_semantics; -- char *r_nc_protofmly; -- char *r_nc_proto; --}; --typedef struct rpcb_entry rpcb_entry; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb_entry(XDR *, rpcb_entry*); --#elif __STDC__ --extern bool_t xdr_rpcb_entry(XDR *, rpcb_entry*); --#else /* Old Style C */ --bool_t xdr_rpcb_entry(); --#endif /* Old Style C */ -- -- --/* -- * A list of addresses supported by a service. -- */ -- --struct rpcb_entry_list { -- rpcb_entry rpcb_entry_map; -- struct rpcb_entry_list *rpcb_entry_next; --}; --typedef struct rpcb_entry_list rpcb_entry_list; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb_entry_list(XDR *, rpcb_entry_list*); --#elif __STDC__ --extern bool_t xdr_rpcb_entry_list(XDR *, rpcb_entry_list*); --#else /* Old Style C */ --bool_t xdr_rpcb_entry_list(); --#endif /* Old Style C */ -- -- --typedef rpcb_entry_list *rpcb_entry_list_ptr; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb_entry_list_ptr(XDR *, rpcb_entry_list_ptr*); --#elif __STDC__ --extern bool_t xdr_rpcb_entry_list_ptr(XDR *, rpcb_entry_list_ptr*); --#else /* Old Style C */ --bool_t xdr_rpcb_entry_list_ptr(); --#endif /* Old Style C */ -- -- --/* -- * rpcbind statistics -- */ -- --#define rpcb_highproc_2 RPCBPROC_CALLIT --#define rpcb_highproc_3 RPCBPROC_TADDR2UADDR --#define rpcb_highproc_4 RPCBPROC_GETSTAT --#define RPCBSTAT_HIGHPROC 13 --#define RPCBVERS_STAT 3 --#define RPCBVERS_4_STAT 2 --#define RPCBVERS_3_STAT 1 --#define RPCBVERS_2_STAT 0 -- --/* Link list of all the stats about getport and getaddr */ -- --struct rpcbs_addrlist { -- rpcprog_t prog; -- rpcvers_t vers; -- int success; -- int failure; -- char *netid; -- struct rpcbs_addrlist *next; --}; --typedef struct rpcbs_addrlist rpcbs_addrlist; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcbs_addrlist(XDR *, rpcbs_addrlist*); --#elif __STDC__ --extern bool_t xdr_rpcbs_addrlist(XDR *, rpcbs_addrlist*); --#else /* Old Style C */ --bool_t xdr_rpcbs_addrlist(); --#endif /* Old Style C */ -- -- --/* Link list of all the stats about rmtcall */ -- --struct rpcbs_rmtcalllist { -- rpcprog_t prog; -- rpcvers_t vers; -- rpcproc_t proc; -- int success; -- int failure; -- int indirect; -- char *netid; -- struct rpcbs_rmtcalllist *next; --}; --typedef struct rpcbs_rmtcalllist rpcbs_rmtcalllist; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcbs_rmtcalllist(XDR *, rpcbs_rmtcalllist*); --#elif __STDC__ --extern bool_t xdr_rpcbs_rmtcalllist(XDR *, rpcbs_rmtcalllist*); --#else /* Old Style C */ --bool_t xdr_rpcbs_rmtcalllist(); --#endif /* Old Style C */ -- -- --typedef int rpcbs_proc[RPCBSTAT_HIGHPROC]; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcbs_proc(XDR *, rpcbs_proc); --#elif __STDC__ --extern bool_t xdr_rpcbs_proc(XDR *, rpcbs_proc); --#else /* Old Style C */ --bool_t xdr_rpcbs_proc(); --#endif /* Old Style C */ -- -- --typedef rpcbs_addrlist *rpcbs_addrlist_ptr; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcbs_addrlist_ptr(XDR *, rpcbs_addrlist_ptr*); --#elif __STDC__ --extern bool_t xdr_rpcbs_addrlist_ptr(XDR *, rpcbs_addrlist_ptr*); --#else /* Old Style C */ --bool_t xdr_rpcbs_addrlist_ptr(); --#endif /* Old Style C */ -- -- --typedef rpcbs_rmtcalllist *rpcbs_rmtcalllist_ptr; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcbs_rmtcalllist_ptr(XDR *, rpcbs_rmtcalllist_ptr*); --#elif __STDC__ --extern bool_t xdr_rpcbs_rmtcalllist_ptr(XDR *, rpcbs_rmtcalllist_ptr*); --#else /* Old Style C */ --bool_t xdr_rpcbs_rmtcalllist_ptr(); --#endif /* Old Style C */ -- -- --struct rpcb_stat { -- rpcbs_proc info; -- int setinfo; -- int unsetinfo; -- rpcbs_addrlist_ptr addrinfo; -- rpcbs_rmtcalllist_ptr rmtinfo; --}; --typedef struct rpcb_stat rpcb_stat; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb_stat(XDR *, rpcb_stat*); --#elif __STDC__ --extern bool_t xdr_rpcb_stat(XDR *, rpcb_stat*); --#else /* Old Style C */ --bool_t xdr_rpcb_stat(); --#endif /* Old Style C */ -- -- --/* -- * One rpcb_stat structure is returned for each version of rpcbind -- * being monitored. -- */ -- --typedef rpcb_stat rpcb_stat_byvers[RPCBVERS_STAT]; --#ifdef __cplusplus --extern "C" bool_t xdr_rpcb_stat_byvers(XDR *, rpcb_stat_byvers); --#elif __STDC__ --extern bool_t xdr_rpcb_stat_byvers(XDR *, rpcb_stat_byvers); --#else /* Old Style C */ --bool_t xdr_rpcb_stat_byvers(); --#endif /* Old Style C */ -- -- --/* -- * We don't define netbuf in RPCL, since it would contain structure member -- * names that would conflict with the definition of struct netbuf in -- * . Instead we merely declare the XDR routine xdr_netbuf() here, -- * and implement it ourselves in rpc/rpcb_prot.c. -- */ --#ifdef __cplusplus --extern "C" bool_t xdr_netbuf(XDR *, struct netbuf *); -- --#else /* __STDC__ */ --extern bool_t xdr_netbuf(XDR *, struct netbuf *); -- --#endif -- --#define RPCBVERS_3 RPCBVERS --#define RPCBVERS_4 RPCBVERS4 -- --#define _PATH_RPCBINDSOCK "/var/run/rpcbind.sock" -- --#else /* ndef _KERNEL */ --#ifdef __cplusplus --extern "C" { --#endif -- --/* -- * A mapping of (program, version, network ID) to address -- */ --struct rpcb { -- rpcprog_t r_prog; /* program number */ -- rpcvers_t r_vers; /* version number */ -- char *r_netid; /* network id */ -- char *r_addr; /* universal address */ -- char *r_owner; /* owner of the mapping */ --}; --typedef struct rpcb RPCB; -- --/* -- * A list of mappings -- */ --struct rpcblist { -- RPCB rpcb_map; -- struct rpcblist *rpcb_next; --}; --typedef struct rpcblist RPCBLIST; --typedef struct rpcblist *rpcblist_ptr; -- --/* -- * Remote calls arguments -- */ --struct rpcb_rmtcallargs { -- rpcprog_t prog; /* program number */ -- rpcvers_t vers; /* version number */ -- rpcproc_t proc; /* procedure number */ -- u_int32_t arglen; /* arg len */ -- caddr_t args_ptr; /* argument */ -- xdrproc_t xdr_args; /* XDR routine for argument */ --}; --typedef struct rpcb_rmtcallargs rpcb_rmtcallargs; -- --/* -- * Remote calls results -- */ --struct rpcb_rmtcallres { -- char *addr_ptr; /* remote universal address */ -- u_int32_t resultslen; /* results length */ -- caddr_t results_ptr; /* results */ -- xdrproc_t xdr_results; /* XDR routine for result */ --}; --typedef struct rpcb_rmtcallres rpcb_rmtcallres; -- --struct rpcb_entry { -- char *r_maddr; -- char *r_nc_netid; -- unsigned int r_nc_semantics; -- char *r_nc_protofmly; -- char *r_nc_proto; --}; --typedef struct rpcb_entry rpcb_entry; -- --/* -- * A list of addresses supported by a service. -- */ -- --struct rpcb_entry_list { -- rpcb_entry rpcb_entry_map; -- struct rpcb_entry_list *rpcb_entry_next; --}; --typedef struct rpcb_entry_list rpcb_entry_list; -- --typedef rpcb_entry_list *rpcb_entry_list_ptr; -- --/* -- * rpcbind statistics -- */ -- --#define rpcb_highproc_2 RPCBPROC_CALLIT --#define rpcb_highproc_3 RPCBPROC_TADDR2UADDR --#define rpcb_highproc_4 RPCBPROC_GETSTAT --#define RPCBSTAT_HIGHPROC 13 --#define RPCBVERS_STAT 3 --#define RPCBVERS_4_STAT 2 --#define RPCBVERS_3_STAT 1 --#define RPCBVERS_2_STAT 0 -- --/* Link list of all the stats about getport and getaddr */ -- --struct rpcbs_addrlist { -- rpcprog_t prog; -- rpcvers_t vers; -- int success; -- int failure; -- char *netid; -- struct rpcbs_addrlist *next; --}; --typedef struct rpcbs_addrlist rpcbs_addrlist; -- --/* Link list of all the stats about rmtcall */ -- --struct rpcbs_rmtcalllist { -- rpcprog_t prog; -- rpcvers_t vers; -- rpcproc_t proc; -- int success; -- int failure; -- int indirect; -- char *netid; -- struct rpcbs_rmtcalllist *next; --}; --typedef struct rpcbs_rmtcalllist rpcbs_rmtcalllist; -- --typedef int rpcbs_proc[RPCBSTAT_HIGHPROC]; -- --typedef rpcbs_addrlist *rpcbs_addrlist_ptr; -- --typedef rpcbs_rmtcalllist *rpcbs_rmtcalllist_ptr; -- --struct rpcb_stat { -- rpcbs_proc info; -- int setinfo; -- int unsetinfo; -- rpcbs_addrlist_ptr addrinfo; -- rpcbs_rmtcalllist_ptr rmtinfo; --}; --typedef struct rpcb_stat rpcb_stat; -- --/* -- * One rpcb_stat structure is returned for each version of rpcbind -- * being monitored. -- */ -- --typedef rpcb_stat rpcb_stat_byvers[RPCBVERS_STAT]; -- --#ifdef __cplusplus --} --#endif -- --#endif /* ndef _KERNEL */ -- --#define RPCBPROG ((u_int32_t)100000) --#define RPCBVERS ((u_int32_t)3) -- --#ifdef __cplusplus --#define RPCBPROC_SET ((u_int32_t)1) --extern "C" bool_t * rpcbproc_set_3(rpcb *, CLIENT *); --extern "C" bool_t * rpcbproc_set_3_svc(rpcb *, struct svc_req *); --#define RPCBPROC_UNSET ((u_int32_t)2) --extern "C" bool_t * rpcbproc_unset_3(rpcb *, CLIENT *); --extern "C" bool_t * rpcbproc_unset_3_svc(rpcb *, struct svc_req *); --#define RPCBPROC_GETADDR ((u_int32_t)3) --extern "C" char ** rpcbproc_getaddr_3(rpcb *, CLIENT *); --extern "C" char ** rpcbproc_getaddr_3_svc(rpcb *, struct svc_req *); --#define RPCBPROC_DUMP ((u_int32_t)4) --extern "C" rpcblist_ptr * rpcbproc_dump_3(void *, CLIENT *); --extern "C" rpcblist_ptr * rpcbproc_dump_3_svc(void *, struct svc_req *); --#define RPCBPROC_CALLIT ((u_int32_t)5) --extern "C" rpcb_rmtcallres * rpcbproc_callit_3(rpcb_rmtcallargs *, CLIENT *); --extern "C" rpcb_rmtcallres * rpcbproc_callit_3_svc(rpcb_rmtcallargs *, struct svc_req *); --#define RPCBPROC_GETTIME ((u_int32_t)6) --extern "C" u_int * rpcbproc_gettime_3(void *, CLIENT *); --extern "C" u_int * rpcbproc_gettime_3_svc(void *, struct svc_req *); --#define RPCBPROC_UADDR2TADDR ((u_int32_t)7) --extern "C" struct netbuf * rpcbproc_uaddr2taddr_3(char **, CLIENT *); --extern "C" struct netbuf * rpcbproc_uaddr2taddr_3_svc(char **, struct svc_req *); --#define RPCBPROC_TADDR2UADDR ((u_int32_t)8) --extern "C" char ** rpcbproc_taddr2uaddr_3(struct netbuf *, CLIENT *); --extern "C" char ** rpcbproc_taddr2uaddr_3_svc(struct netbuf *, struct svc_req *); -- --#elif __STDC__ --#define RPCBPROC_SET ((u_int32_t)1) --extern bool_t * rpcbproc_set_3(rpcb *, CLIENT *); --extern bool_t * rpcbproc_set_3_svc(rpcb *, struct svc_req *); --#define RPCBPROC_UNSET ((u_int32_t)2) --extern bool_t * rpcbproc_unset_3(rpcb *, CLIENT *); --extern bool_t * rpcbproc_unset_3_svc(rpcb *, struct svc_req *); --#define RPCBPROC_GETADDR ((u_int32_t)3) --extern char ** rpcbproc_getaddr_3(rpcb *, CLIENT *); --extern char ** rpcbproc_getaddr_3_svc(rpcb *, struct svc_req *); --#define RPCBPROC_DUMP ((u_int32_t)4) --extern rpcblist_ptr * rpcbproc_dump_3(void *, CLIENT *); --extern rpcblist_ptr * rpcbproc_dump_3_svc(void *, struct svc_req *); --#define RPCBPROC_CALLIT ((u_int32_t)5) --extern rpcb_rmtcallres * rpcbproc_callit_3(rpcb_rmtcallargs *, CLIENT *); --extern rpcb_rmtcallres * rpcbproc_callit_3_svc(rpcb_rmtcallargs *, struct svc_req *); --#define RPCBPROC_GETTIME ((u_int32_t)6) --extern u_int * rpcbproc_gettime_3(void *, CLIENT *); --extern u_int * rpcbproc_gettime_3_svc(void *, struct svc_req *); --#define RPCBPROC_UADDR2TADDR ((u_int32_t)7) --extern struct netbuf * rpcbproc_uaddr2taddr_3(char **, CLIENT *); --extern struct netbuf * rpcbproc_uaddr2taddr_3_svc(char **, struct svc_req *); --#define RPCBPROC_TADDR2UADDR ((u_int32_t)8) --extern char ** rpcbproc_taddr2uaddr_3(struct netbuf *, CLIENT *); --extern char ** rpcbproc_taddr2uaddr_3_svc(struct netbuf *, struct svc_req *); -- --#else /* Old Style C */ --#define RPCBPROC_SET ((u_int32_t)1) --extern bool_t * rpcbproc_set_3(); --extern bool_t * rpcbproc_set_3_svc(); --#define RPCBPROC_UNSET ((u_int32_t)2) --extern bool_t * rpcbproc_unset_3(); --extern bool_t * rpcbproc_unset_3_svc(); --#define RPCBPROC_GETADDR ((u_int32_t)3) --extern char ** rpcbproc_getaddr_3(); --extern char ** rpcbproc_getaddr_3_svc(); --#define RPCBPROC_DUMP ((u_int32_t)4) --extern rpcblist_ptr * rpcbproc_dump_3(); --extern rpcblist_ptr * rpcbproc_dump_3_svc(); --#define RPCBPROC_CALLIT ((u_int32_t)5) --extern rpcb_rmtcallres * rpcbproc_callit_3(); --extern rpcb_rmtcallres * rpcbproc_callit_3_svc(); --#define RPCBPROC_GETTIME ((u_int32_t)6) --extern u_int * rpcbproc_gettime_3(); --extern u_int * rpcbproc_gettime_3_svc(); --#define RPCBPROC_UADDR2TADDR ((u_int32_t)7) --extern struct netbuf * rpcbproc_uaddr2taddr_3(); --extern struct netbuf * rpcbproc_uaddr2taddr_3_svc(); --#define RPCBPROC_TADDR2UADDR ((u_int32_t)8) --extern char ** rpcbproc_taddr2uaddr_3(); --extern char ** rpcbproc_taddr2uaddr_3_svc(); --#endif /* Old Style C */ --#define RPCBVERS4 ((u_int32_t)4) -- --#ifdef __cplusplus --extern "C" bool_t * rpcbproc_set_4(rpcb *, CLIENT *); --extern "C" bool_t * rpcbproc_set_4_svc(rpcb *, struct svc_req *); --extern "C" bool_t * rpcbproc_unset_4(rpcb *, CLIENT *); --extern "C" bool_t * rpcbproc_unset_4_svc(rpcb *, struct svc_req *); --extern "C" char ** rpcbproc_getaddr_4(rpcb *, CLIENT *); --extern "C" char ** rpcbproc_getaddr_4_svc(rpcb *, struct svc_req *); --extern "C" rpcblist_ptr * rpcbproc_dump_4(void *, CLIENT *); --extern "C" rpcblist_ptr * rpcbproc_dump_4_svc(void *, struct svc_req *); --#define RPCBPROC_BCAST ((u_int32_t)RPCBPROC_CALLIT) --extern "C" rpcb_rmtcallres * rpcbproc_bcast_4(rpcb_rmtcallargs *, CLIENT *); --extern "C" rpcb_rmtcallres * rpcbproc_bcast_4_svc(rpcb_rmtcallargs *, struct svc_req *); --extern "C" u_int * rpcbproc_gettime_4(void *, CLIENT *); --extern "C" u_int * rpcbproc_gettime_4_svc(void *, struct svc_req *); --extern "C" struct netbuf * rpcbproc_uaddr2taddr_4(char **, CLIENT *); --extern "C" struct netbuf * rpcbproc_uaddr2taddr_4_svc(char **, struct svc_req *); --extern "C" char ** rpcbproc_taddr2uaddr_4(struct netbuf *, CLIENT *); --extern "C" char ** rpcbproc_taddr2uaddr_4_svc(struct netbuf *, struct svc_req *); --#define RPCBPROC_GETVERSADDR ((u_int32_t)9) --extern "C" char ** rpcbproc_getversaddr_4(rpcb *, CLIENT *); --extern "C" char ** rpcbproc_getversaddr_4_svc(rpcb *, struct svc_req *); --#define RPCBPROC_INDIRECT ((u_int32_t)10) --extern "C" rpcb_rmtcallres * rpcbproc_indirect_4(rpcb_rmtcallargs *, CLIENT *); --extern "C" rpcb_rmtcallres * rpcbproc_indirect_4_svc(rpcb_rmtcallargs *, struct svc_req *); --#define RPCBPROC_GETADDRLIST ((u_int32_t)11) --extern "C" rpcb_entry_list_ptr * rpcbproc_getaddrlist_4(rpcb *, CLIENT *); --extern "C" rpcb_entry_list_ptr * rpcbproc_getaddrlist_4_svc(rpcb *, struct svc_req *); --#define RPCBPROC_GETSTAT ((u_int32_t)12) --extern "C" rpcb_stat * rpcbproc_getstat_4(void *, CLIENT *); --extern "C" rpcb_stat * rpcbproc_getstat_4_svc(void *, struct svc_req *); -- --#elif __STDC__ --extern bool_t * rpcbproc_set_4(rpcb *, CLIENT *); --extern bool_t * rpcbproc_set_4_svc(rpcb *, struct svc_req *); --extern bool_t * rpcbproc_unset_4(rpcb *, CLIENT *); --extern bool_t * rpcbproc_unset_4_svc(rpcb *, struct svc_req *); --extern char ** rpcbproc_getaddr_4(rpcb *, CLIENT *); --extern char ** rpcbproc_getaddr_4_svc(rpcb *, struct svc_req *); --extern rpcblist_ptr * rpcbproc_dump_4(void *, CLIENT *); --extern rpcblist_ptr * rpcbproc_dump_4_svc(void *, struct svc_req *); --#define RPCBPROC_BCAST ((u_int32_t)RPCBPROC_CALLIT) --extern rpcb_rmtcallres * rpcbproc_bcast_4(rpcb_rmtcallargs *, CLIENT *); --extern rpcb_rmtcallres * rpcbproc_bcast_4_svc(rpcb_rmtcallargs *, struct svc_req *); --extern u_int * rpcbproc_gettime_4(void *, CLIENT *); --extern u_int * rpcbproc_gettime_4_svc(void *, struct svc_req *); --extern struct netbuf * rpcbproc_uaddr2taddr_4(char **, CLIENT *); --extern struct netbuf * rpcbproc_uaddr2taddr_4_svc(char **, struct svc_req *); --extern char ** rpcbproc_taddr2uaddr_4(struct netbuf *, CLIENT *); --extern char ** rpcbproc_taddr2uaddr_4_svc(struct netbuf *, struct svc_req *); --#define RPCBPROC_GETVERSADDR ((u_int32_t)9) --extern char ** rpcbproc_getversaddr_4(rpcb *, CLIENT *); --extern char ** rpcbproc_getversaddr_4_svc(rpcb *, struct svc_req *); --#define RPCBPROC_INDIRECT ((u_int32_t)10) --extern rpcb_rmtcallres * rpcbproc_indirect_4(rpcb_rmtcallargs *, CLIENT *); --extern rpcb_rmtcallres * rpcbproc_indirect_4_svc(rpcb_rmtcallargs *, struct svc_req *); --#define RPCBPROC_GETADDRLIST ((u_int32_t)11) --extern rpcb_entry_list_ptr * rpcbproc_getaddrlist_4(rpcb *, CLIENT *); --extern rpcb_entry_list_ptr * rpcbproc_getaddrlist_4_svc(rpcb *, struct svc_req *); --#define RPCBPROC_GETSTAT ((u_int32_t)12) --extern rpcb_stat * rpcbproc_getstat_4(void *, CLIENT *); --extern rpcb_stat * rpcbproc_getstat_4_svc(void *, struct svc_req *); -- --#else /* Old Style C */ --extern bool_t * rpcbproc_set_4(); --extern bool_t * rpcbproc_set_4_svc(); --extern bool_t * rpcbproc_unset_4(); --extern bool_t * rpcbproc_unset_4_svc(); --extern char ** rpcbproc_getaddr_4(); --extern char ** rpcbproc_getaddr_4_svc(); --extern rpcblist_ptr * rpcbproc_dump_4(); --extern rpcblist_ptr * rpcbproc_dump_4_svc(); --#define RPCBPROC_BCAST ((u_int32_t)RPCBPROC_CALLIT) --extern rpcb_rmtcallres * rpcbproc_bcast_4(); --extern rpcb_rmtcallres * rpcbproc_bcast_4_svc(); --extern u_int * rpcbproc_gettime_4(); --extern u_int * rpcbproc_gettime_4_svc(); --extern struct netbuf * rpcbproc_uaddr2taddr_4(); --extern struct netbuf * rpcbproc_uaddr2taddr_4_svc(); --extern char ** rpcbproc_taddr2uaddr_4(); --extern char ** rpcbproc_taddr2uaddr_4_svc(); --#define RPCBPROC_GETVERSADDR ((u_int32_t)9) --extern char ** rpcbproc_getversaddr_4(); --extern char ** rpcbproc_getversaddr_4_svc(); --#define RPCBPROC_INDIRECT ((u_int32_t)10) --extern rpcb_rmtcallres * rpcbproc_indirect_4(); --extern rpcb_rmtcallres * rpcbproc_indirect_4_svc(); --#define RPCBPROC_GETADDRLIST ((u_int32_t)11) --extern rpcb_entry_list_ptr * rpcbproc_getaddrlist_4(); --extern rpcb_entry_list_ptr * rpcbproc_getaddrlist_4_svc(); --#define RPCBPROC_GETSTAT ((u_int32_t)12) --extern rpcb_stat * rpcbproc_getstat_4(); --extern rpcb_stat * rpcbproc_getstat_4_svc(); --#endif /* Old Style C */ -- --#endif /* !_RPCB_PROT_H_RPCGEN */ -diff --git a/tirpc/rpcsvc/crypt.h b/tirpc/rpcsvc/crypt.h -deleted file mode 100644 -index da1f9ccb56ea..000000000000 ---- a/tirpc/rpcsvc/crypt.h -+++ /dev/null -@@ -1,109 +0,0 @@ --/* -- * Please do not edit this file. -- * It was generated using rpcgen. -- */ -- --#ifndef _CRYPT_H_RPCGEN --#define _CRYPT_H_RPCGEN -- --#include -- --#ifndef IXDR_GET_INT32 --#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf)) --#endif --#ifndef IXDR_PUT_INT32 --#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v)) --#endif --#ifndef IXDR_GET_U_INT32 --#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf)) --#endif --#ifndef IXDR_PUT_U_INT32 --#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v)) --#endif -- --enum des_dir { -- ENCRYPT_DES = 0, -- DECRYPT_DES = 1, --}; --typedef enum des_dir des_dir; --#ifdef __cplusplus --extern "C" bool_t xdr_des_dir(XDR *, des_dir*); --#elif __STDC__ --extern bool_t xdr_des_dir(XDR *, des_dir*); --#else /* Old Style C */ --bool_t xdr_des_dir(); --#endif /* Old Style C */ -- -- --enum des_mode { -- CBC_DES = 0, -- ECB_DES = 1, --}; --typedef enum des_mode des_mode; --#ifdef __cplusplus --extern "C" bool_t xdr_des_mode(XDR *, des_mode*); --#elif __STDC__ --extern bool_t xdr_des_mode(XDR *, des_mode*); --#else /* Old Style C */ --bool_t xdr_des_mode(); --#endif /* Old Style C */ -- -- --struct desargs { -- u_char des_key[8]; -- des_dir des_dir; -- des_mode des_mode; -- u_char des_ivec[8]; -- struct { -- u_int desbuf_len; -- char *desbuf_val; -- } desbuf; --}; --typedef struct desargs desargs; --#ifdef __cplusplus --extern "C" bool_t xdr_desargs(XDR *, desargs*); --#elif __STDC__ --extern bool_t xdr_desargs(XDR *, desargs*); --#else /* Old Style C */ --bool_t xdr_desargs(); --#endif /* Old Style C */ -- -- --struct desresp { -- struct { -- u_int desbuf_len; -- char *desbuf_val; -- } desbuf; -- u_char des_ivec[8]; -- int stat; --}; --typedef struct desresp desresp; --#ifdef __cplusplus --extern "C" bool_t xdr_desresp(XDR *, desresp*); --#elif __STDC__ --extern bool_t xdr_desresp(XDR *, desresp*); --#else /* Old Style C */ --bool_t xdr_desresp(); --#endif /* Old Style C */ -- -- --#define CRYPT_PROG ((u_int32_t)600100029) --#define CRYPT_VERS ((u_int32_t)1) -- --#ifdef __cplusplus --#define DES_CRYPT ((u_int32_t)1) --extern "C" desresp * des_crypt_1(desargs *, CLIENT *); --extern "C" desresp * des_crypt_1_svc(desargs *, struct svc_req *); -- --#elif __STDC__ --#define DES_CRYPT ((u_int32_t)1) --extern desresp * des_crypt_1(desargs *, CLIENT *); --extern desresp * des_crypt_1_svc(desargs *, struct svc_req *); -- --#else /* Old Style C */ --#define DES_CRYPT ((u_int32_t)1) --extern desresp * des_crypt_1(); --extern desresp * des_crypt_1_svc(); --#endif /* Old Style C */ -- --#endif /* !_CRYPT_H_RPCGEN */ --- -2.17.0 - diff --git a/package/libtirpc/0004-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch b/package/libtirpc/0004-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch deleted file mode 100644 index 7f53ffca16b..00000000000 --- a/package/libtirpc/0004-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch +++ /dev/null @@ -1,1653 +0,0 @@ -From baeca7ea594fe9faa1d40d35e76066c6002ca638 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 10 Nov 2012 17:45:03 +0100 -Subject: [PATCH] Add more XDR files needed to build rpcbind on top of libtirpc - -Signed-off-by: Thomas Petazzoni -[yann.morin.1998@free.fr: update for 0.3.1] -Signed-off-by: "Yann E. MORIN" ---- - Makefile.am | 6 + - tirpc/rpcsvc/mount.x | 257 ++++++++++ - tirpc/rpcsvc/nfs_prot.x | 1266 +++++++++++++++++++++++++++++++++++++++++++++++ - tirpc/rpcsvc/rquota.x | 67 +++ - 4 files changed, 1596 insertions(+) - create mode 100644 tirpc/rpcsvc/mount.x - create mode 100644 tirpc/rpcsvc/nfs_prot.x - create mode 100644 tirpc/rpcsvc/rquota.x - -diff --git a/Makefile.am b/Makefile.am -index aa5908e..4999066 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,6 +2,9 @@ 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 \ -@@ -11,6 +14,9 @@ noinst_HEADERS = tirpc/reentrant.h \ - - nobase_include_HEADERS = tirpc/netconfig.h \ - tirpc/rpcsvc/crypt.x \ -+ 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 \ -diff --git a/tirpc/rpcsvc/mount.x b/tirpc/rpcsvc/mount.x -new file mode 100644 -index 0000000..f68a06f ---- /dev/null -+++ b/tirpc/rpcsvc/mount.x -@@ -0,0 +1,257 @@ -+/* -+ * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -+ * unrestricted use provided that this legend is included on all tape -+ * media and as a part of the software program in whole or part. Users -+ * may copy or modify Sun RPC without charge, but are not authorized -+ * to license or distribute it to anyone else except as part of a product or -+ * program developed by the user. -+ * -+ * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -+ * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -+ * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. -+ * -+ * Sun RPC is provided with no support and without any obligation on the -+ * part of Sun Microsystems, Inc. to assist in its use, correction, -+ * modification or enhancement. -+ * -+ * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -+ * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -+ * OR ANY PART THEREOF. -+ * -+ * In no event will Sun Microsystems, Inc. be liable for any lost revenue -+ * or profits or other special, indirect and consequential damages, even if -+ * Sun has been advised of the possibility of such damages. -+ * -+ * Sun Microsystems, Inc. -+ * 2550 Garcia Avenue -+ * Mountain View, California 94043 -+ */ -+ -+/* -+ * Protocol description for the mount program -+ */ -+ -+#ifndef RPC_HDR -+%#ifndef lint -+%/*static char sccsid[] = "from: @(#)mount.x 1.2 87/09/18 Copyr 1987 Sun Micro";*/ -+%/*static char sccsid[] = "from: @(#)mount.x 2.1 88/08/01 4.0 RPCSRC";*/ -+%static const char rcsid[] = -+% "$FreeBSD: src/include/rpcsvc/mount.x,v 1.6 1999/08/27 23:45:08 peter Exp $"; -+%#endif /* not lint */ -+#endif -+ -+const MNTPATHLEN = 1024; /* maximum bytes in a pathname argument */ -+const MNTNAMLEN = 255; /* maximum bytes in a name argument */ -+const FHSIZE = 32; /* size in bytes of a file handle */ -+#ifdef WANT_NFS3 -+const FHSIZE3 = 64; /* size in bytes of a file handle (v3) */ -+#endif -+ -+/* -+ * The fhandle is the file handle that the server passes to the client. -+ * All file operations are done using the file handles to refer to a file -+ * or a directory. The file handle can contain whatever information the -+ * server needs to distinguish an individual file. -+ */ -+typedef opaque fhandle[FHSIZE]; -+#ifdef WANT_NFS3 -+typedef opaque fhandle3; -+#endif -+ -+/* -+ * If a status of zero is returned, the call completed successfully, and -+ * a file handle for the directory follows. A non-zero status indicates -+ * some sort of error. The status corresponds with UNIX error numbers. -+ */ -+union fhstatus switch (unsigned fhs_status) { -+case 0: -+ fhandle fhs_fhandle; -+default: -+ void; -+}; -+ -+#ifdef WANT_NFS3 -+/* -+ * Status codes returned by the version 3 mount call. -+ */ -+enum mountstat3 { -+ MNT3_OK = 0, /* no error */ -+ MNT3ERR_PERM = 1, /* Not owner */ -+ MNT3ERR_NOENT = 2, /* No such file or directory */ -+ MNT3ERR_IO = 5, /* I/O error */ -+ MNT3ERR_ACCES = 13, /* Permission denied */ -+ MNT3ERR_NOTDIR = 20, /* Not a directory */ -+ MNT3ERR_INVAL = 22, /* Invalid argument */ -+ MNT3ERR_NAMETOOLONG = 63, /* Filename too long */ -+ MNT3ERR_NOTSUPP = 10004, /* Operation not supported */ -+ MNT3ERR_SERVERFAULT = 10006 /* A failure on the server */ -+}; -+ -+struct mountres3_ok { -+ fhandle3 fhandle; -+ int auth_flavors<>; -+}; -+ -+union mountres3 switch (mountstat3 fhs_status) { -+case 0: -+ mountres3_ok mountinfo; -+default: -+ void; -+}; -+#endif -+ -+/* -+ * The type dirpath is the pathname of a directory -+ */ -+typedef string dirpath; -+ -+/* -+ * The type name is used for arbitrary names (hostnames, groupnames) -+ */ -+typedef string name; -+ -+/* -+ * A list of who has what mounted -+ */ -+typedef struct mountbody *mountlist; -+struct mountbody { -+ name ml_hostname; -+ dirpath ml_directory; -+ mountlist ml_next; -+}; -+ -+/* -+ * A list of netgroups -+ */ -+typedef struct groupnode *groups; -+struct groupnode { -+ name gr_name; -+ groups gr_next; -+}; -+ -+/* -+ * A list of what is exported and to whom -+ */ -+typedef struct exportnode *exports; -+struct exportnode { -+ dirpath ex_dir; -+ groups ex_groups; -+ exports ex_next; -+}; -+ -+program MOUNTPROG { -+ /* -+ * Version one of the mount protocol communicates with version two -+ * of the NFS protocol. Version three communicates with -+ * version three of the NFS protocol. The only connecting -+ * point is the fhandle structure, which is the same for both -+ * protocols. -+ */ -+ version MOUNTVERS { -+ /* -+ * Does no work. It is made available in all RPC services -+ * to allow server reponse testing and timing -+ */ -+ void -+ MOUNTPROC_NULL(void) = 0; -+ -+ /* -+ * If fhs_status is 0, then fhs_fhandle contains the -+ * file handle for the directory. This file handle may -+ * be used in the NFS protocol. This procedure also adds -+ * a new entry to the mount list for this client mounting -+ * the directory. -+ * Unix authentication required. -+ */ -+ fhstatus -+ MOUNTPROC_MNT(dirpath) = 1; -+ -+ /* -+ * Returns the list of remotely mounted filesystems. The -+ * mountlist contains one entry for each hostname and -+ * directory pair. -+ */ -+ mountlist -+ MOUNTPROC_DUMP(void) = 2; -+ -+ /* -+ * Removes the mount list entry for the directory -+ * Unix authentication required. -+ */ -+ void -+ MOUNTPROC_UMNT(dirpath) = 3; -+ -+ /* -+ * Removes all of the mount list entries for this client -+ * Unix authentication required. -+ */ -+ void -+ MOUNTPROC_UMNTALL(void) = 4; -+ -+ /* -+ * Returns a list of all the exported filesystems, and which -+ * machines are allowed to import it. -+ */ -+ exports -+ MOUNTPROC_EXPORT(void) = 5; -+ -+ /* -+ * Identical to MOUNTPROC_EXPORT above -+ */ -+ exports -+ MOUNTPROC_EXPORTALL(void) = 6; -+ } = 1; -+#ifdef WANT_NFS3 -+ version MOUNTVERS3 { -+ /* -+ * Does no work. It is made available in all RPC services -+ * to allow server reponse testing and timing -+ */ -+ void -+ MOUNTPROC_NULL(void) = 0; -+ -+ /* -+ * If mountres3.fhs_status is MNT3_OK, then -+ * mountres3.mountinfo contains the file handle for -+ * the directory and a list of acceptable -+ * authentication flavors. This file handle may only -+ * be used in the NFS version 3 protocol. This -+ * procedure also results in the server adding a new -+ * entry to its mount list recording that this client -+ * has mounted the directory. AUTH_UNIX authentication -+ * or better is required. -+ */ -+ mountres3 -+ MOUNTPROC_MNT(dirpath) = 1; -+ -+ /* -+ * Returns the list of remotely mounted filesystems. The -+ * mountlist contains one entry for each hostname and -+ * directory pair. -+ */ -+ mountlist -+ MOUNTPROC_DUMP(void) = 2; -+ -+ /* -+ * Removes the mount list entry for the directory -+ * Unix authentication required. -+ */ -+ void -+ MOUNTPROC_UMNT(dirpath) = 3; -+ -+ /* -+ * Removes all of the mount list entries for this client -+ * Unix authentication required. -+ */ -+ void -+ MOUNTPROC_UMNTALL(void) = 4; -+ -+ /* -+ * Returns a list of all the exported filesystems, and which -+ * machines are allowed to import it. -+ */ -+ exports -+ MOUNTPROC_EXPORT(void) = 5; -+ } = 3; -+#endif -+} = 100005; -diff --git a/tirpc/rpcsvc/nfs_prot.x b/tirpc/rpcsvc/nfs_prot.x -new file mode 100644 -index 0000000..01564f8 ---- /dev/null -+++ b/tirpc/rpcsvc/nfs_prot.x -@@ -0,0 +1,1266 @@ -+/* -+ * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -+ * unrestricted use provided that this legend is included on all tape -+ * media and as a part of the software program in whole or part. Users -+ * may copy or modify Sun RPC without charge, but are not authorized -+ * to license or distribute it to anyone else except as part of a product or -+ * program developed by the user. -+ * -+ * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -+ * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -+ * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. -+ * -+ * Sun RPC is provided with no support and without any obligation on the -+ * part of Sun Microsystems, Inc. to assist in its use, correction, -+ * modification or enhancement. -+ * -+ * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -+ * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -+ * OR ANY PART THEREOF. -+ * -+ * In no event will Sun Microsystems, Inc. be liable for any lost revenue -+ * or profits or other special, indirect and consequential damages, even if -+ * Sun has been advised of the possibility of such damages. -+ * -+ * Sun Microsystems, Inc. -+ * 2550 Garcia Avenue -+ * Mountain View, California 94043 -+ */ -+ -+#ifndef RPC_HDR -+%#ifndef lint -+%/*static char sccsid[] = "from: @(#)nfs_prot.x 1.2 87/10/12 Copyr 1987 Sun Micro";*/ -+%/*static char sccsid[] = "from: @(#)nfs_prot.x 2.1 88/08/01 4.0 RPCSRC";*/ -+%static const char rcsid[] = -+% "$FreeBSD: src/include/rpcsvc/nfs_prot.x,v 1.7 1999/08/27 23:45:08 peter Exp $"; -+%#endif /* not lint */ -+#endif -+ -+const NFS_PORT = 2049; -+const NFS_MAXDATA = 8192; -+const NFS_MAXPATHLEN = 1024; -+const NFS_MAXNAMLEN = 255; -+const NFS_FHSIZE = 32; -+const NFS_COOKIESIZE = 4; -+const NFS_FIFO_DEV = -1; /* size kludge for named pipes */ -+ -+/* -+ * File types -+ */ -+const NFSMODE_FMT = 0170000; /* type of file */ -+const NFSMODE_DIR = 0040000; /* directory */ -+const NFSMODE_CHR = 0020000; /* character special */ -+const NFSMODE_BLK = 0060000; /* block special */ -+const NFSMODE_REG = 0100000; /* regular */ -+const NFSMODE_LNK = 0120000; /* symbolic link */ -+const NFSMODE_SOCK = 0140000; /* socket */ -+const NFSMODE_FIFO = 0010000; /* fifo */ -+ -+/* -+ * Error status -+ */ -+enum nfsstat { -+ NFS_OK= 0, /* no error */ -+ NFSERR_PERM=1, /* Not owner */ -+ NFSERR_NOENT=2, /* No such file or directory */ -+ NFSERR_IO=5, /* I/O error */ -+ NFSERR_NXIO=6, /* No such device or address */ -+ NFSERR_ACCES=13, /* Permission denied */ -+ NFSERR_EXIST=17, /* File exists */ -+ NFSERR_NODEV=19, /* No such device */ -+ NFSERR_NOTDIR=20, /* Not a directory*/ -+ NFSERR_ISDIR=21, /* Is a directory */ -+ NFSERR_FBIG=27, /* File too large */ -+ NFSERR_NOSPC=28, /* No space left on device */ -+ NFSERR_ROFS=30, /* Read-only file system */ -+ NFSERR_NAMETOOLONG=63, /* File name too long */ -+ NFSERR_NOTEMPTY=66, /* Directory not empty */ -+ NFSERR_DQUOT=69, /* Disc quota exceeded */ -+ NFSERR_STALE=70, /* Stale NFS file handle */ -+ NFSERR_WFLUSH=99 /* write cache flushed */ -+}; -+ -+/* -+ * File types -+ */ -+enum ftype { -+ NFNON = 0, /* non-file */ -+ NFREG = 1, /* regular file */ -+ NFDIR = 2, /* directory */ -+ NFBLK = 3, /* block special */ -+ NFCHR = 4, /* character special */ -+ NFLNK = 5, /* symbolic link */ -+ NFSOCK = 6, /* unix domain sockets */ -+ NFBAD = 7, /* unused */ -+ NFFIFO = 8 /* named pipe */ -+}; -+ -+/* -+ * File access handle -+ */ -+struct nfs_fh { -+ opaque data[NFS_FHSIZE]; -+}; -+ -+/* -+ * Timeval -+ */ -+struct nfstime { -+ unsigned seconds; -+ unsigned useconds; -+}; -+ -+ -+/* -+ * File attributes -+ */ -+struct fattr { -+ ftype type; /* file type */ -+ unsigned mode; /* protection mode bits */ -+ unsigned nlink; /* # hard links */ -+ unsigned uid; /* owner user id */ -+ unsigned gid; /* owner group id */ -+ unsigned size; /* file size in bytes */ -+ unsigned blocksize; /* prefered block size */ -+ unsigned rdev; /* special device # */ -+ unsigned blocks; /* Kb of disk used by file */ -+ unsigned fsid; /* device # */ -+ unsigned fileid; /* inode # */ -+ nfstime atime; /* time of last access */ -+ nfstime mtime; /* time of last modification */ -+ nfstime ctime; /* time of last change */ -+}; -+ -+/* -+ * File attributes which can be set -+ */ -+struct sattr { -+ unsigned mode; /* protection mode bits */ -+ unsigned uid; /* owner user id */ -+ unsigned gid; /* owner group id */ -+ unsigned size; /* file size in bytes */ -+ nfstime atime; /* time of last access */ -+ nfstime mtime; /* time of last modification */ -+}; -+ -+ -+typedef string filename; -+typedef string nfspath; -+ -+/* -+ * Reply status with file attributes -+ */ -+union attrstat switch (nfsstat status) { -+case NFS_OK: -+ fattr attributes; -+default: -+ void; -+}; -+ -+struct sattrargs { -+ nfs_fh file; -+ sattr attributes; -+}; -+ -+/* -+ * Arguments for directory operations -+ */ -+struct diropargs { -+ nfs_fh dir; /* directory file handle */ -+ filename name; /* name (up to NFS_MAXNAMLEN bytes) */ -+}; -+ -+struct diropokres { -+ nfs_fh file; -+ fattr attributes; -+}; -+ -+/* -+ * Results from directory operation -+ */ -+union diropres switch (nfsstat status) { -+case NFS_OK: -+ diropokres diropres; -+default: -+ void; -+}; -+ -+union readlinkres switch (nfsstat status) { -+case NFS_OK: -+ nfspath data; -+default: -+ void; -+}; -+ -+/* -+ * Arguments to remote read -+ */ -+struct readargs { -+ nfs_fh file; /* handle for file */ -+ unsigned offset; /* byte offset in file */ -+ unsigned count; /* immediate read count */ -+ unsigned totalcount; /* total read count (from this offset)*/ -+}; -+ -+/* -+ * Status OK portion of remote read reply -+ */ -+struct readokres { -+ fattr attributes; /* attributes, need for pagin*/ -+ opaque data; -+}; -+ -+union readres switch (nfsstat status) { -+case NFS_OK: -+ readokres reply; -+default: -+ void; -+}; -+ -+/* -+ * Arguments to remote write -+ */ -+struct writeargs { -+ nfs_fh file; /* handle for file */ -+ unsigned beginoffset; /* beginning byte offset in file */ -+ unsigned offset; /* current byte offset in file */ -+ unsigned totalcount; /* total write count (to this offset)*/ -+ opaque data; -+}; -+ -+struct createargs { -+ diropargs where; -+ sattr attributes; -+}; -+ -+struct renameargs { -+ diropargs from; -+ diropargs to; -+}; -+ -+struct linkargs { -+ nfs_fh from; -+ diropargs to; -+}; -+ -+struct symlinkargs { -+ diropargs from; -+ nfspath to; -+ sattr attributes; -+}; -+ -+ -+typedef opaque nfscookie[NFS_COOKIESIZE]; -+ -+/* -+ * Arguments to readdir -+ */ -+struct readdirargs { -+ nfs_fh dir; /* directory handle */ -+ nfscookie cookie; -+ unsigned count; /* number of directory bytes to read */ -+}; -+ -+struct entry { -+ unsigned fileid; -+ filename name; -+ nfscookie cookie; -+ entry *nextentry; -+}; -+ -+struct dirlist { -+ entry *entries; -+ bool eof; -+}; -+ -+union readdirres switch (nfsstat status) { -+case NFS_OK: -+ dirlist reply; -+default: -+ void; -+}; -+ -+struct statfsokres { -+ unsigned tsize; /* preferred transfer size in bytes */ -+ unsigned bsize; /* fundamental file system block size */ -+ unsigned blocks; /* total blocks in file system */ -+ unsigned bfree; /* free blocks in fs */ -+ unsigned bavail; /* free blocks avail to non-superuser */ -+}; -+ -+union statfsres switch (nfsstat status) { -+case NFS_OK: -+ statfsokres reply; -+default: -+ void; -+}; -+ -+#ifdef WANT_NFS3 -+ -+/* -+ * NFSv3 constants and types -+ */ -+const NFS3_FHSIZE = 64; /* maximum size in bytes of a file handle */ -+const NFS3_COOKIEVERFSIZE = 8; /* size of a cookie verifier for READDIR */ -+const NFS3_CREATEVERFSIZE = 8; /* size of the verifier used for CREATE */ -+const NFS3_WRITEVERFSIZE = 8; /* size of the verifier used for WRITE */ -+ -+typedef unsigned hyper uint64; -+typedef hyper int64; -+typedef unsigned long uint32; -+typedef long int32; -+typedef string filename3<>; -+typedef string nfspath3<>; -+typedef uint64 fileid3; -+typedef uint64 cookie3; -+typedef opaque cookieverf3[NFS3_COOKIEVERFSIZE]; -+typedef opaque createverf3[NFS3_CREATEVERFSIZE]; -+typedef opaque writeverf3[NFS3_WRITEVERFSIZE]; -+typedef uint32 uid3; -+typedef uint32 gid3; -+typedef uint64 size3; -+typedef uint64 offset3; -+typedef uint32 mode3; -+typedef uint32 count3; -+ -+/* -+ * Error status (v3) -+ */ -+enum nfsstat3 { -+ NFS3_OK = 0, -+ NFS3ERR_PERM = 1, -+ NFS3ERR_NOENT = 2, -+ NFS3ERR_IO = 5, -+ NFS3ERR_NXIO = 6, -+ NFS3ERR_ACCES = 13, -+ NFS3ERR_EXIST = 17, -+ NFS3ERR_XDEV = 18, -+ NFS3ERR_NODEV = 19, -+ NFS3ERR_NOTDIR = 20, -+ NFS3ERR_ISDIR = 21, -+ NFS3ERR_INVAL = 22, -+ NFS3ERR_FBIG = 27, -+ NFS3ERR_NOSPC = 28, -+ NFS3ERR_ROFS = 30, -+ NFS3ERR_MLINK = 31, -+ NFS3ERR_NAMETOOLONG = 63, -+ NFS3ERR_NOTEMPTY = 66, -+ NFS3ERR_DQUOT = 69, -+ NFS3ERR_STALE = 70, -+ NFS3ERR_REMOTE = 71, -+ NFS3ERR_BADHANDLE = 10001, -+ NFS3ERR_NOT_SYNC = 10002, -+ NFS3ERR_BAD_COOKIE = 10003, -+ NFS3ERR_NOTSUPP = 10004, -+ NFS3ERR_TOOSMALL = 10005, -+ NFS3ERR_SERVERFAULT = 10006, -+ NFS3ERR_BADTYPE = 10007, -+ NFS3ERR_JUKEBOX = 10008 -+}; -+ -+/* -+ * File types (v3) -+ */ -+enum ftype3 { -+ NF3REG = 1, /* regular file */ -+ NF3DIR = 2, /* directory */ -+ NF3BLK = 3, /* block special */ -+ NF3CHR = 4, /* character special */ -+ NF3LNK = 5, /* symbolic link */ -+ NF3SOCK = 6, /* unix domain sockets */ -+ NF3FIFO = 7 /* named pipe */ -+}; -+ -+struct specdata3 { -+ uint32 specdata1; -+ uint32 specdata2; -+}; -+ -+/* -+ * File access handle (v3) -+ */ -+struct nfs_fh3 { -+ opaque data; -+}; -+ -+/* -+ * Timeval (v3) -+ */ -+struct nfstime3 { -+ uint32 seconds; -+ uint32 nseconds; -+}; -+ -+ -+/* -+ * File attributes (v3) -+ */ -+struct fattr3 { -+ ftype3 type; /* file type */ -+ mode3 mode; /* protection mode bits */ -+ uint32 nlink; /* # hard links */ -+ uid3 uid; /* owner user id */ -+ gid3 gid; /* owner group id */ -+ size3 size; /* file size in bytes */ -+ size3 used; /* prefered block size */ -+ specdata3 rdev; /* special device # */ -+ uint64 fsid; /* device # */ -+ fileid3 fileid; /* inode # */ -+ nfstime3 atime; /* time of last access */ -+ nfstime3 mtime; /* time of last modification */ -+ nfstime3 ctime; /* time of last change */ -+}; -+ -+union post_op_attr switch (bool attributes_follow) { -+case TRUE: -+ fattr3 attributes; -+case FALSE: -+ void; -+}; -+ -+struct wcc_attr { -+ size3 size; -+ nfstime3 mtime; -+ nfstime3 ctime; -+}; -+ -+union pre_op_attr switch (bool attributes_follow) { -+case TRUE: -+ wcc_attr attributes; -+case FALSE: -+ void; -+}; -+ -+struct wcc_data { -+ pre_op_attr before; -+ post_op_attr after; -+}; -+ -+union post_op_fh3 switch (bool handle_follows) { -+case TRUE: -+ nfs_fh3 handle; -+case FALSE: -+ void; -+}; -+ -+/* -+ * File attributes which can be set (v3) -+ */ -+enum time_how { -+ DONT_CHANGE = 0, -+ SET_TO_SERVER_TIME = 1, -+ SET_TO_CLIENT_TIME = 2 -+}; -+ -+union set_mode3 switch (bool set_it) { -+case TRUE: -+ mode3 mode; -+default: -+ void; -+}; -+ -+union set_uid3 switch (bool set_it) { -+case TRUE: -+ uid3 uid; -+default: -+ void; -+}; -+ -+union set_gid3 switch (bool set_it) { -+case TRUE: -+ gid3 gid; -+default: -+ void; -+}; -+ -+union set_size3 switch (bool set_it) { -+case TRUE: -+ size3 size; -+default: -+ void; -+}; -+ -+union set_atime switch (time_how set_it) { -+case SET_TO_CLIENT_TIME: -+ nfstime3 atime; -+default: -+ void; -+}; -+ -+union set_mtime switch (time_how set_it) { -+case SET_TO_CLIENT_TIME: -+ nfstime3 mtime; -+default: -+ void; -+}; -+ -+struct sattr3 { -+ set_mode3 mode; -+ set_uid3 uid; -+ set_gid3 gid; -+ set_size3 size; -+ set_atime atime; -+ set_mtime mtime; -+}; -+ -+/* -+ * Arguments for directory operations (v3) -+ */ -+struct diropargs3 { -+ nfs_fh3 dir; /* directory file handle */ -+ filename3 name; /* name (up to NFS_MAXNAMLEN bytes) */ -+}; -+ -+/* -+ * Arguments to getattr (v3). -+ */ -+struct GETATTR3args { -+ nfs_fh3 object; -+}; -+ -+struct GETATTR3resok { -+ fattr3 obj_attributes; -+}; -+ -+union GETATTR3res switch (nfsstat3 status) { -+case NFS3_OK: -+ GETATTR3resok resok; -+default: -+ void; -+}; -+ -+/* -+ * Arguments to setattr (v3). -+ */ -+union sattrguard3 switch (bool check) { -+case TRUE: -+ nfstime3 obj_ctime; -+case FALSE: -+ void; -+}; -+ -+struct SETATTR3args { -+ nfs_fh3 object; -+ sattr3 new_attributes; -+ sattrguard3 guard; -+}; -+ -+struct SETATTR3resok { -+ wcc_data obj_wcc; -+}; -+ -+struct SETATTR3resfail { -+ wcc_data obj_wcc; -+}; -+ -+union SETATTR3res switch (nfsstat3 status) { -+case NFS3_OK: -+ SETATTR3resok resok; -+default: -+ SETATTR3resfail resfail; -+}; -+ -+/* -+ * Arguments to lookup (v3). -+ */ -+struct LOOKUP3args { -+ diropargs3 what; -+}; -+ -+struct LOOKUP3resok { -+ nfs_fh3 object; -+ post_op_attr obj_attributes; -+ post_op_attr dir_attributes; -+}; -+ -+struct LOOKUP3resfail { -+ post_op_attr dir_attributes; -+}; -+ -+union LOOKUP3res switch (nfsstat3 status) { -+case NFS3_OK: -+ LOOKUP3resok resok; -+default: -+ LOOKUP3resfail resfail; -+}; -+ -+/* -+ * Arguments to access (v3). -+ */ -+const ACCESS3_READ = 0x0001; -+const ACCESS3_LOOKUP = 0x0002; -+const ACCESS3_MODIFY = 0x0004; -+const ACCESS3_EXTEND = 0x0008; -+const ACCESS3_DELETE = 0x0010; -+const ACCESS3_EXECUTE = 0x0020; -+ -+struct ACCESS3args { -+ nfs_fh3 object; -+ uint32 access; -+}; -+ -+struct ACCESS3resok { -+ post_op_attr obj_attributes; -+ uint32 access; -+}; -+ -+struct ACCESS3resfail { -+ post_op_attr obj_attributes; -+}; -+ -+union ACCESS3res switch (nfsstat3 status) { -+case NFS3_OK: -+ ACCESS3resok resok; -+default: -+ ACCESS3resfail resfail; -+}; -+ -+/* -+ * Arguments to readlink (v3). -+ */ -+struct READLINK3args { -+ nfs_fh3 symlink; -+}; -+ -+struct READLINK3resok { -+ post_op_attr symlink_attributes; -+ nfspath3 data; -+}; -+ -+struct READLINK3resfail { -+ post_op_attr symlink_attributes; -+}; -+ -+union READLINK3res switch (nfsstat3 status) { -+case NFS3_OK: -+ READLINK3resok resok; -+default: -+ READLINK3resfail resfail; -+}; -+ -+/* -+ * Arguments to read (v3). -+ */ -+struct READ3args { -+ nfs_fh3 file; -+ offset3 offset; -+ count3 count; -+}; -+ -+struct READ3resok { -+ post_op_attr file_attributes; -+ count3 count; -+ bool eof; -+ opaque data<>; -+}; -+ -+struct READ3resfail { -+ post_op_attr file_attributes; -+}; -+ -+/* XXX: solaris 2.6 uses ``nfsstat'' here */ -+union READ3res switch (nfsstat3 status) { -+case NFS3_OK: -+ READ3resok resok; -+default: -+ READ3resfail resfail; -+}; -+ -+/* -+ * Arguments to write (v3). -+ */ -+enum stable_how { -+ UNSTABLE = 0, -+ DATA_SYNC = 1, -+ FILE_SYNC = 2 -+}; -+ -+struct WRITE3args { -+ nfs_fh3 file; -+ offset3 offset; -+ count3 count; -+ stable_how stable; -+ opaque data<>; -+}; -+ -+struct WRITE3resok { -+ wcc_data file_wcc; -+ count3 count; -+ stable_how committed; -+ writeverf3 verf; -+}; -+ -+struct WRITE3resfail { -+ wcc_data file_wcc; -+}; -+ -+union WRITE3res switch (nfsstat3 status) { -+case NFS3_OK: -+ WRITE3resok resok; -+default: -+ WRITE3resfail resfail; -+}; -+ -+/* -+ * Arguments to create (v3). -+ */ -+enum createmode3 { -+ UNCHECKED = 0, -+ GUARDED = 1, -+ EXCLUSIVE = 2 -+}; -+ -+union createhow3 switch (createmode3 mode) { -+case UNCHECKED: -+case GUARDED: -+ sattr3 obj_attributes; -+case EXCLUSIVE: -+ createverf3 verf; -+}; -+ -+struct CREATE3args { -+ diropargs3 where; -+ createhow3 how; -+}; -+ -+struct CREATE3resok { -+ post_op_fh3 obj; -+ post_op_attr obj_attributes; -+ wcc_data dir_wcc; -+}; -+ -+struct CREATE3resfail { -+ wcc_data dir_wcc; -+}; -+ -+union CREATE3res switch (nfsstat3 status) { -+case NFS3_OK: -+ CREATE3resok resok; -+default: -+ CREATE3resfail resfail; -+}; -+ -+/* -+ * Arguments to mkdir (v3). -+ */ -+struct MKDIR3args { -+ diropargs3 where; -+ sattr3 attributes; -+}; -+ -+struct MKDIR3resok { -+ post_op_fh3 obj; -+ post_op_attr obj_attributes; -+ wcc_data dir_wcc; -+}; -+ -+struct MKDIR3resfail { -+ wcc_data dir_wcc; -+}; -+ -+union MKDIR3res switch (nfsstat3 status) { -+case NFS3_OK: -+ MKDIR3resok resok; -+default: -+ MKDIR3resfail resfail; -+}; -+ -+/* -+ * Arguments to symlink (v3). -+ */ -+struct symlinkdata3 { -+ sattr3 symlink_attributes; -+ nfspath3 symlink_data; -+}; -+ -+struct SYMLINK3args { -+ diropargs3 where; -+ symlinkdata3 symlink; -+}; -+ -+struct SYMLINK3resok { -+ post_op_fh3 obj; -+ post_op_attr obj_attributes; -+ wcc_data dir_wcc; -+}; -+ -+struct SYMLINK3resfail { -+ wcc_data dir_wcc; -+}; -+ -+union SYMLINK3res switch (nfsstat3 status) { -+case NFS3_OK: -+ SYMLINK3resok resok; -+default: -+ SYMLINK3resfail resfail; -+}; -+ -+/* -+ * Arguments to mknod (v3). -+ */ -+struct devicedata3 { -+ sattr3 dev_attributes; -+ specdata3 spec; -+}; -+ -+union mknoddata3 switch (ftype3 type) { -+case NF3CHR: -+case NF3BLK: -+ devicedata3 device; -+case NF3SOCK: -+case NF3FIFO: -+ sattr3 pipe_attributes; -+default: -+ void; -+}; -+ -+struct MKNOD3args { -+ diropargs3 where; -+ mknoddata3 what; -+}; -+ -+struct MKNOD3resok { -+ post_op_fh3 obj; -+ post_op_attr obj_attributes; -+ wcc_data dir_wcc; -+}; -+ -+struct MKNOD3resfail { -+ wcc_data dir_wcc; -+}; -+ -+union MKNOD3res switch (nfsstat3 status) { -+case NFS3_OK: -+ MKNOD3resok resok; -+default: -+ MKNOD3resfail resfail; -+}; -+ -+/* -+ * Arguments to remove (v3). -+ */ -+struct REMOVE3args { -+ diropargs3 object; -+}; -+ -+struct REMOVE3resok { -+ wcc_data dir_wcc; -+}; -+ -+struct REMOVE3resfail { -+ wcc_data dir_wcc; -+}; -+ -+union REMOVE3res switch (nfsstat3 status) { -+case NFS3_OK: -+ REMOVE3resok resok; -+default: -+ REMOVE3resfail resfail; -+}; -+ -+/* -+ * Arguments to rmdir (v3). -+ */ -+struct RMDIR3args { -+ diropargs3 object; -+}; -+ -+struct RMDIR3resok { -+ wcc_data dir_wcc; -+}; -+ -+struct RMDIR3resfail { -+ wcc_data dir_wcc; -+}; -+ -+union RMDIR3res switch (nfsstat3 status) { -+case NFS3_OK: -+ RMDIR3resok resok; -+default: -+ RMDIR3resfail resfail; -+}; -+ -+/* -+ * Arguments to rename (v3). -+ */ -+struct RENAME3args { -+ diropargs3 from; -+ diropargs3 to; -+}; -+ -+struct RENAME3resok { -+ wcc_data fromdir_wcc; -+ wcc_data todir_wcc; -+}; -+ -+struct RENAME3resfail { -+ wcc_data fromdir_wcc; -+ wcc_data todir_wcc; -+}; -+ -+union RENAME3res switch (nfsstat3 status) { -+case NFS3_OK: -+ RENAME3resok resok; -+default: -+ RENAME3resfail resfail; -+}; -+ -+/* -+ * Arguments to link (v3). -+ */ -+struct LINK3args { -+ nfs_fh3 file; -+ diropargs3 link; -+}; -+ -+struct LINK3resok { -+ post_op_attr file_attributes; -+ wcc_data linkdir_wcc; -+}; -+ -+struct LINK3resfail { -+ post_op_attr file_attributes; -+ wcc_data linkdir_wcc; -+}; -+ -+union LINK3res switch (nfsstat3 status) { -+case NFS3_OK: -+ LINK3resok resok; -+default: -+ LINK3resfail resfail; -+}; -+ -+/* -+ * Arguments to readdir (v3). -+ */ -+struct READDIR3args { -+ nfs_fh3 dir; -+ cookie3 cookie; -+ cookieverf3 cookieverf; -+ count3 count; -+}; -+ -+struct entry3 { -+ fileid3 fileid; -+ filename3 name; -+ cookie3 cookie; -+ entry3 *nextentry; -+}; -+ -+struct dirlist3 { -+ entry3 *entries; -+ bool eof; -+}; -+ -+struct READDIR3resok { -+ post_op_attr dir_attributes; -+ cookieverf3 cookieverf; -+ dirlist3 reply; -+}; -+ -+struct READDIR3resfail { -+ post_op_attr dir_attributes; -+}; -+ -+union READDIR3res switch (nfsstat3 status) { -+case NFS3_OK: -+ READDIR3resok resok; -+default: -+ READDIR3resfail resfail; -+}; -+ -+/* -+ * Arguments to readdirplus (v3). -+ */ -+struct READDIRPLUS3args { -+ nfs_fh3 dir; -+ cookie3 cookie; -+ cookieverf3 cookieverf; -+ count3 dircount; -+ count3 maxcount; -+}; -+ -+struct entryplus3 { -+ fileid3 fileid; -+ filename3 name; -+ cookie3 cookie; -+ post_op_attr name_attributes; -+ post_op_fh3 name_handle; -+ entryplus3 *nextentry; -+}; -+ -+struct dirlistplus3 { -+ entryplus3 *entries; -+ bool eof; -+}; -+ -+struct READDIRPLUS3resok { -+ post_op_attr dir_attributes; -+ cookieverf3 cookieverf; -+ dirlistplus3 reply; -+}; -+ -+struct READDIRPLUS3resfail { -+ post_op_attr dir_attributes; -+}; -+ -+union READDIRPLUS3res switch (nfsstat3 status) { -+case NFS3_OK: -+ READDIRPLUS3resok resok; -+default: -+ READDIRPLUS3resfail resfail; -+}; -+ -+/* -+ * Arguments to fsstat (v3). -+ */ -+struct FSSTAT3args { -+ nfs_fh3 fsroot; -+}; -+ -+struct FSSTAT3resok { -+ post_op_attr obj_attributes; -+ size3 tbytes; -+ size3 fbytes; -+ size3 abytes; -+ size3 tfiles; -+ size3 ffiles; -+ size3 afiles; -+ uint32 invarsec; -+}; -+ -+struct FSSTAT3resfail { -+ post_op_attr obj_attributes; -+}; -+ -+union FSSTAT3res switch (nfsstat3 status) { -+case NFS3_OK: -+ FSSTAT3resok resok; -+default: -+ FSSTAT3resfail resfail; -+}; -+ -+/* -+ * Arguments to fsinfo (v3). -+ */ -+const FSF3_LINK = 0x0001; -+const FSF3_SYMLINK = 0x0002; -+const FSF3_HOMOGENEOUS = 0x0008; -+const FSF3_CANSETTIME = 0x0010; -+ -+struct FSINFO3args { -+ nfs_fh3 fsroot; -+}; -+ -+struct FSINFO3resok { -+ post_op_attr obj_attributes; -+ uint32 rtmax; -+ uint32 rtpref; -+ uint32 rtmult; -+ uint32 wtmax; -+ uint32 wtpref; -+ uint32 wtmult; -+ uint32 dtpref; -+ size3 maxfilesize; -+ nfstime3 time_delta; -+ uint32 properties; -+}; -+ -+struct FSINFO3resfail { -+ post_op_attr obj_attributes; -+}; -+ -+union FSINFO3res switch (nfsstat3 status) { -+case NFS3_OK: -+ FSINFO3resok resok; -+default: -+ FSINFO3resfail resfail; -+}; -+ -+/* -+ * Arguments to pathconf (v3). -+ */ -+struct PATHCONF3args { -+ nfs_fh3 object; -+}; -+ -+struct PATHCONF3resok { -+ post_op_attr obj_attributes; -+ uint32 linkmax; -+ uint32 name_max; -+ bool no_trunc; -+ bool chown_restricted; -+ bool case_insensitive; -+ bool case_preserving; -+}; -+ -+struct PATHCONF3resfail { -+ post_op_attr obj_attributes; -+}; -+ -+union PATHCONF3res switch (nfsstat3 status) { -+case NFS3_OK: -+ PATHCONF3resok resok; -+default: -+ PATHCONF3resfail resfail; -+}; -+ -+/* -+ * Arguments to commit (v3). -+ */ -+struct COMMIT3args { -+ nfs_fh3 file; -+ offset3 offset; -+ count3 count; -+}; -+ -+struct COMMIT3resok { -+ wcc_data file_wcc; -+ writeverf3 verf; -+}; -+ -+struct COMMIT3resfail { -+ wcc_data file_wcc; -+}; -+ -+union COMMIT3res switch (nfsstat3 status) { -+case NFS3_OK: -+ COMMIT3resok resok; -+default: -+ COMMIT3resfail resfail; -+}; -+ -+#endif /* WANT_NFS3 */ -+ -+/* -+ * Remote file service routines -+ */ -+program NFS_PROGRAM { -+ version NFS_VERSION { -+ void -+ NFSPROC_NULL(void) = 0; -+ -+ attrstat -+ NFSPROC_GETATTR(nfs_fh) = 1; -+ -+ attrstat -+ NFSPROC_SETATTR(sattrargs) = 2; -+ -+ void -+ NFSPROC_ROOT(void) = 3; -+ -+ diropres -+ NFSPROC_LOOKUP(diropargs) = 4; -+ -+ readlinkres -+ NFSPROC_READLINK(nfs_fh) = 5; -+ -+ readres -+ NFSPROC_READ(readargs) = 6; -+ -+ void -+ NFSPROC_WRITECACHE(void) = 7; -+ -+ attrstat -+ NFSPROC_WRITE(writeargs) = 8; -+ -+ diropres -+ NFSPROC_CREATE(createargs) = 9; -+ -+ nfsstat -+ NFSPROC_REMOVE(diropargs) = 10; -+ -+ nfsstat -+ NFSPROC_RENAME(renameargs) = 11; -+ -+ nfsstat -+ NFSPROC_LINK(linkargs) = 12; -+ -+ nfsstat -+ NFSPROC_SYMLINK(symlinkargs) = 13; -+ -+ diropres -+ NFSPROC_MKDIR(createargs) = 14; -+ -+ nfsstat -+ NFSPROC_RMDIR(diropargs) = 15; -+ -+ readdirres -+ NFSPROC_READDIR(readdirargs) = 16; -+ -+ statfsres -+ NFSPROC_STATFS(nfs_fh) = 17; -+ } = 2; -+} = 100003; -+#ifdef WANT_NFS3 -+program NFS3_PROGRAM { -+ version NFS_V3 { -+ void -+ NFSPROC3_NULL(void) = 0; -+ -+ GETATTR3res -+ NFSPROC3_GETATTR(GETATTR3args) = 1; -+ -+ SETATTR3res -+ NFSPROC3_SETATTR(SETATTR3args) = 2; -+ -+ LOOKUP3res -+ NFSPROC3_LOOKUP(LOOKUP3args) = 3; -+ -+ ACCESS3res -+ NFSPROC3_ACCESS(ACCESS3args) = 4; -+ -+ READLINK3res -+ NFSPROC3_READLINK(READLINK3args) = 5; -+ -+ READ3res -+ NFSPROC3_READ(READ3args) = 6; -+ -+ WRITE3res -+ NFSPROC3_WRITE(WRITE3args) = 7; -+ -+ CREATE3res -+ NFSPROC3_CREATE(CREATE3args) = 8; -+ -+ MKDIR3res -+ NFSPROC3_MKDIR(MKDIR3args) = 9; -+ -+ SYMLINK3res -+ NFSPROC3_SYMLINK(SYMLINK3args) = 10; -+ -+ MKNOD3res -+ NFSPROC3_MKNOD(MKNOD3args) = 11; -+ -+ REMOVE3res -+ NFSPROC3_REMOVE(REMOVE3args) = 12; -+ -+ RMDIR3res -+ NFSPROC3_RMDIR(RMDIR3args) = 13; -+ -+ RENAME3res -+ NFSPROC3_RENAME(RENAME3args) = 14; -+ -+ LINK3res -+ NFSPROC3_LINK(LINK3args) = 15; -+ -+ READDIR3res -+ NFSPROC3_READDIR(READDIR3args) = 16; -+ -+ READDIRPLUS3res -+ NFSPROC3_READDIRPLUS(READDIRPLUS3args) = 17; -+ -+ FSSTAT3res -+ NFSPROC3_FSSTAT(FSSTAT3args) = 18; -+ -+ FSINFO3res -+ NFSPROC3_FSINFO(FSINFO3args) = 19; -+ -+ PATHCONF3res -+ NFSPROC3_PATHCONF(PATHCONF3args) = 20; -+ -+ COMMIT3res -+ NFSPROC3_COMMIT(COMMIT3args) = 21; -+ } = 3; -+} = 100003; -+#endif -+ -diff --git a/tirpc/rpcsvc/rquota.x b/tirpc/rpcsvc/rquota.x -new file mode 100644 -index 0000000..72864d1 ---- /dev/null -+++ b/tirpc/rpcsvc/rquota.x -@@ -0,0 +1,67 @@ -+/* -+ * Remote quota protocol -+ * Requires unix authentication -+ */ -+ -+#ifndef RPC_HDR -+%#ifndef lint -+%/*static char sccsid[] = "from: @(#)rquota.x 1.2 87/09/20 Copyr 1987 Sun Micro";*/ -+%/*static char sccsid[] = "from: @(#)rquota.x 2.1 88/08/01 4.0 RPCSRC";*/ -+%static const char rcsid[] = -+% "$FreeBSD: src/include/rpcsvc/rquota.x,v 1.6 1999/08/27 23:45:10 peter Exp $"; -+%#endif /* not lint */ -+#endif -+ -+const RQ_PATHLEN = 1024; -+ -+struct getquota_args { -+ string gqa_pathp; /* path to filesystem of interest */ -+ int gqa_uid; /* inquire about quota for uid */ -+}; -+ -+/* -+ * remote quota structure -+ */ -+struct rquota { -+ int rq_bsize; /* block size for block counts */ -+ bool rq_active; /* indicates whether quota is active */ -+ unsigned int rq_bhardlimit; /* absolute limit on disk blks alloc */ -+ unsigned int rq_bsoftlimit; /* preferred limit on disk blks */ -+ unsigned int rq_curblocks; /* current block count */ -+ unsigned int rq_fhardlimit; /* absolute limit on allocated files */ -+ unsigned int rq_fsoftlimit; /* preferred file limit */ -+ unsigned int rq_curfiles; /* current # allocated files */ -+ unsigned int rq_btimeleft; /* time left for excessive disk use */ -+ unsigned int rq_ftimeleft; /* time left for excessive files */ -+}; -+ -+enum gqr_status { -+ Q_OK = 1, /* quota returned */ -+ Q_NOQUOTA = 2, /* noquota for uid */ -+ Q_EPERM = 3 /* no permission to access quota */ -+}; -+ -+union getquota_rslt switch (gqr_status status) { -+case Q_OK: -+ rquota gqr_rquota; /* valid if status == Q_OK */ -+case Q_NOQUOTA: -+ void; -+case Q_EPERM: -+ void; -+}; -+ -+program RQUOTAPROG { -+ version RQUOTAVERS { -+ /* -+ * Get all quotas -+ */ -+ getquota_rslt -+ RQUOTAPROC_GETQUOTA(getquota_args) = 1; -+ -+ /* -+ * Get active quotas only -+ */ -+ getquota_rslt -+ RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2; -+ } = 1; -+} = 100011; --- -1.9.1 - diff --git a/package/libtirpc/Config.in b/package/libtirpc/Config.in index 2e9c939fa81..31f1636ef5f 100644 --- a/package/libtirpc/Config.in +++ b/package/libtirpc/Config.in @@ -7,5 +7,19 @@ config BR2_PACKAGE_LIBTIRPC http://sourceforge.net/projects/libtirpc/ +config BR2_PACKAGE_LIBTIRPC_GSS + bool "gss" + depends on BR2_USE_MMU # libkrb5 + depends on !BR2_STATIC_LIBS # libkrb5 + depends on BR2_PACKAGE_LIBTIRPC + select BR2_PACKAGE_LIBKRB5 + help + Enable GSSAPI support + comment "libtirpc needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS + +comment "libtirpc gss support needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS + depends on BR2_PACKAGE_LIBTIRPC diff --git a/package/libtirpc/libtirpc.hash b/package/libtirpc/libtirpc.hash index 337593bbe24..56c1d9de3fa 100644 --- a/package/libtirpc/libtirpc.hash +++ b/package/libtirpc/libtirpc.hash @@ -1,5 +1,5 @@ # From sourceforge's info on download page: -sha1 882eaf4c13f0cafb83afd96cd2855638f978d755 libtirpc-1.3.1.tar.bz2 +sha1 51d75be0e5acc094a888f40042b23e128d163cb5 libtirpc-1.3.2.tar.bz2 # Locally computed -sha256 245895caf066bec5e3d4375942c8cb4366adad184c29c618d97f724ea309ee17 libtirpc-1.3.1.tar.bz2 +sha256 e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd libtirpc-1.3.2.tar.bz2 sha256 17cf6098f95bdbb269f0bbc68e76c88fe20487ca7ec53f454923ab4256ecd2e7 COPYING diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk index 0f44aaffb69..9d3c4b5a949 100644 --- a/package/libtirpc/libtirpc.mk +++ b/package/libtirpc/libtirpc.mk @@ -4,27 +4,26 @@ # ################################################################################ -LIBTIRPC_VERSION = 1.3.1 +LIBTIRPC_VERSION = 1.3.2 LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2 LIBTIRPC_SITE = http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION) LIBTIRPC_LICENSE = BSD-3-Clause LIBTIRPC_LICENSE_FILES = COPYING LIBTIRPC_CPE_ID_VENDOR = libtirpc_project -LIBTIRPC_DEPENDENCIES = host-nfs-utils LIBTIRPC_INSTALL_STAGING = YES -LIBTIRPC_AUTORECONF = YES # getrpcby{number,name} are only provided if 'GQ' is defined LIBTIRPC_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DGQ" -LIBTIRPC_CONF_OPTS = --disable-gssapi - -define HOST_LIBTIRPC_INSTALL_CMDS - $(INSTALL) -D -m 0644 $(@D)/tirpc/rpc/types.h $(HOST_DIR)/include/rpc/types.h - $(INSTALL) -D -m 0644 $(@D)/tirpc/netconfig.h $(HOST_DIR)/include/netconfig.h -endef +ifeq ($(BR2_PACKAGE_LIBTIRPC_GSS),y) +LIBTIRPC_CONF_ENV += KRB5_CONFIG=$(STAGING_DIR)/usr/bin/krb5-config +LIBTIRPC_CONF_OPTS += --enable-gssapi +LIBTIRPC_DEPENDENCIES += libkrb5 +else +LIBTIRPC_CONF_OPTS += --disable-gssapi +endif +HOST_LIBTIRPC_CONF_OPTS = --disable-gssapi $(eval $(autotools-package)) -# We are only copying headers; no need for the autotools infrastructure -$(eval $(host-generic-package)) +$(eval $(host-autotools-package)) diff --git a/package/libtomcrypt/Config.in b/package/libtomcrypt/Config.in index a7c5f500153..2459cd21e83 100644 --- a/package/libtomcrypt/Config.in +++ b/package/libtomcrypt/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_LIBTOMCRYPT functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines. - http://www.libtom.net + https://www.libtom.net diff --git a/package/libtomcrypt/libtomcrypt.mk b/package/libtomcrypt/libtomcrypt.mk index fccd4b051c7..fa2a5850475 100644 --- a/package/libtomcrypt/libtomcrypt.mk +++ b/package/libtomcrypt/libtomcrypt.mk @@ -19,14 +19,17 @@ LIBTOMCRYPT_IGNORE_CVES += CVE-2019-17362 LIBTOMCRYPT_CFLAGS = -I./src/headers $(TARGET_CFLAGS) -DLTC_SOURCE -DLTM_DESC +ifeq ($(BR2_STATIC_LIBS),) +LIBTOMCRYPT_CFLAGS += -fPIC +endif + define LIBTOMCRYPT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(LIBTOMCRYPT_CFLAGS)" + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -f makefile.unix $(TARGET_CONFIGURE_OPTS) CFLAGS="$(LIBTOMCRYPT_CFLAGS)" endef define LIBTOMCRYPT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" \ - PREFIX=/usr NODOCS=1 INSTALL_USER=$(shell id -u) \ - INSTALL_GROUP=$(shell id -g) install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -f makefile.unix \ + DESTDIR="$(STAGING_DIR)" PREFIX=/usr install endef $(eval $(generic-package)) diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk index 10af8cf7155..6342e70a396 100644 --- a/package/libtool/libtool.mk +++ b/package/libtool/libtool.mk @@ -7,6 +7,7 @@ LIBTOOL_VERSION = 2.4.6 LIBTOOL_SOURCE = libtool-$(LIBTOOL_VERSION).tar.xz LIBTOOL_SITE = $(BR2_GNU_MIRROR)/libtool +LIBTOOL_CPE_ID_VENDOR = gnu # For the target variant, we only want to build/install libltdl LIBTOOL_SUBDIR = libltdl diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash index 8198a1ff9d9..3f59642b729 100644 --- a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c3744ac9fa41f6e6ebf79538a2ea678df76a2cbbaf3ac6ae2c05455314e5cce8 libtorrent-rasterbar-1.2.12.tar.gz +sha256 c8ad8638684c0a903ebabc30490079e31b1a6a638da2adec5a8bef6a0e62214b libtorrent-rasterbar-1.2.15.tar.gz sha256 f3a5dd1558cce616b12edad521427ec8976ce2bb0af33f7f359cfa648bf55ad8 COPYING diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk index 7f60252e9bc..914e0cbca34 100644 --- a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTORRENT_RASTERBAR_VERSION = 1.2.12 +LIBTORRENT_RASTERBAR_VERSION = 1.2.15 LIBTORRENT_RASTERBAR_SITE = \ https://github.com/arvidn/libtorrent/releases/download/v$(LIBTORRENT_RASTERBAR_VERSION) LIBTORRENT_RASTERBAR_LICENSE = BSD-3-Clause diff --git a/package/libtorrent/Config.in b/package/libtorrent/Config.in index 4787f9c60d0..de6487a758c 100644 --- a/package/libtorrent/Config.in +++ b/package/libtorrent/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBTORRENT depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_SYNC_1 && BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL help BitTorrent library written in C++ for *nix diff --git a/package/libtorrent/libtorrent.mk b/package/libtorrent/libtorrent.mk index c8310cab652..b966a72788e 100644 --- a/package/libtorrent/libtorrent.mk +++ b/package/libtorrent/libtorrent.mk @@ -14,6 +14,11 @@ LIBTORRENT_INSTALL_STAGING = YES LIBTORRENT_LICENSE = GPL-2.0 LIBTORRENT_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +LIBTORRENT_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" +LIBTORRENT_DEPENDENCIES += libexecinfo +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBTORRENT_CONF_OPTS += --enable-openssl LIBTORRENT_DEPENDENCIES += openssl diff --git a/package/libubootenv/0001-src-CMakeLists.txt-do-not-force-the-build-of-a-share.patch b/package/libubootenv/0001-src-CMakeLists.txt-do-not-force-the-build-of-a-share.patch index 2a234af78cb..9040e1267ef 100644 --- a/package/libubootenv/0001-src-CMakeLists.txt-do-not-force-the-build-of-a-share.patch +++ b/package/libubootenv/0001-src-CMakeLists.txt-do-not-force-the-build-of-a-share.patch @@ -26,10 +26,10 @@ Signed-off-by: Pierre-Jean Texier 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index a04dd11..3a2115d 100644 +index 4b71bc5..0b515f4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -12,17 +12,15 @@ SET(include_HEADERS +@@ -12,18 +12,16 @@ SET(include_HEADERS include(GNUInstallDirs) # for the CMAKE_INSTALL_LIBDIR variable @@ -41,8 +41,9 @@ index a04dd11..3a2115d 100644 -SET_TARGET_PROPERTIES(ubootenv_static PROPERTIES OUTPUT_NAME ubootenv) add_executable(fw_printenv fw_printenv.c) add_executable(fw_setenv fw_setenv.c) - target_link_libraries(fw_printenv ubootenv z) - target_link_libraries(fw_setenv ubootenv z) + target_link_libraries(ubootenv z) + target_link_libraries(fw_printenv ubootenv) + target_link_libraries(fw_setenv ubootenv) -install (TARGETS ubootenv ubootenv_static DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install (TARGETS ubootenv DESTINATION ${CMAKE_INSTALL_LIBDIR}) @@ -50,5 +51,5 @@ index a04dd11..3a2115d 100644 install (TARGETS fw_printenv DESTINATION ${CMAKE_INSTALL_BINDIR}) install (TARGETS fw_setenv DESTINATION ${CMAKE_INSTALL_BINDIR}) -- -2.25.1 +2.30.2 diff --git a/package/libubootenv/libubootenv.hash b/package/libubootenv/libubootenv.hash index a655ed23495..5ff7450806f 100644 --- a/package/libubootenv/libubootenv.hash +++ b/package/libubootenv/libubootenv.hash @@ -1,3 +1,5 @@ # Locally calculated -sha256 4c52dd908b69f18cdd5721b3f24573fb276e61115f66edb74906d766ca60399f libubootenv-0.3.1.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Licenses/lgpl-2.1.txt +sha256 760fe53ca20ced93a09dea0f123eb429c820b565c103920afa738873e8cd16b7 libubootenv-7dbfffa4cc0e42ad3febb122a711fe9d1b20e9f7.tar.gz +sha256 0558101984550fa84d1d13c2af11d116c20079d2be58711e8d99cadce7009192 LICENSES/CC0-1.0.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1-or-later.txt +sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSES/MIT.txt diff --git a/package/libubootenv/libubootenv.mk b/package/libubootenv/libubootenv.mk index 61516710a7a..51ea02e678b 100644 --- a/package/libubootenv/libubootenv.mk +++ b/package/libubootenv/libubootenv.mk @@ -4,10 +4,13 @@ # ################################################################################ -LIBUBOOTENV_VERSION = 0.3.1 -LIBUBOOTENV_SITE = $(call github,sbabic,libubootenv,v$(LIBUBOOTENV_VERSION)) -LIBUBOOTENV_LICENSE = LGPL-2.1 -LIBUBOOTENV_LICENSE_FILES = Licenses/lgpl-2.1.txt +LIBUBOOTENV_VERSION = 7dbfffa4cc0e42ad3febb122a711fe9d1b20e9f7 +LIBUBOOTENV_SITE = $(call github,sbabic,libubootenv,$(LIBUBOOTENV_VERSION)) +LIBUBOOTENV_LICENSE = LGPL-2.1+, MIT, CC0-1.0 +LIBUBOOTENV_LICENSE_FILES = LICENSES/CC0-1.0.txt \ + LICENSES/LGPL-2.1-or-later.txt \ + LICENSES/MIT.txt + LIBUBOOTENV_INSTALL_STAGING = YES LIBUBOOTENV_DEPENDENCIES = zlib diff --git a/package/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch b/package/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch deleted file mode 100644 index 09128db9e2b..00000000000 --- a/package/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch +++ /dev/null @@ -1,47 +0,0 @@ -From eb7eb6393d47a918c420f5b287946dbd6c0d5f57 Mon Sep 17 00:00:00 2001 -From: =?utf8?q?Petr=20=C5=A0tetiar?= -Date: Wed, 25 Dec 2019 10:27:59 +0100 -Subject: [PATCH] blobmsg: fix array out of bounds GCC 10 warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Fixes following warning reported by GCC 10.0.0 20191203: - - blobmsg.c:234:2: error: 'strcpy' offset 6 from the object at 'attr' is out of the bounds of referenced subobject 'name' with type 'uint8_t[0]' {aka 'unsigned char[0]'} at offset 6 [-Werror=array-bounds] - 234 | strcpy((char *) hdr->name, (const char *)name); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - In file included from blobmsg.c:16: - blobmsg.h:42:10: note: subobject 'name' declared here - 42 | uint8_t name[]; - | ^~~~ - -Reported-by: Khem Raj -Signed-off-by: Petr Å tetiar -[Retrieved from: -https://git.openwrt.org/?p=project/libubox.git;a=commit;h=eb7eb6393d47a918c420f5b287946dbd6c0d5f57] -Signed-off-by: Fabrice Fontaine ---- - blobmsg.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/blobmsg.c b/blobmsg.c -index 48dba81..37821c3 100644 ---- a/blobmsg.c -+++ b/blobmsg.c -@@ -240,7 +240,10 @@ blobmsg_new(struct blob_buf *buf, int type, const char *name, int payload_len, v - attr->id_len |= be32_to_cpu(BLOB_ATTR_EXTENDED); - hdr = blob_data(attr); - hdr->namelen = cpu_to_be16(namelen); -- strcpy((char *) hdr->name, (const char *)name); -+ -+ memcpy(hdr->name, name, namelen); -+ hdr->name[namelen] = '\0'; -+ - pad_end = *data = blobmsg_data(attr); - pad_start = (char *) &hdr->name[namelen]; - if (pad_start < pad_end) --- -2.20.1 - diff --git a/package/libubox/Config.in b/package/libubox/Config.in index 25ef4bb89ae..1f0b691e13c 100644 --- a/package/libubox/Config.in +++ b/package/libubox/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_LIBUBOX also be used for the same purposes in projects other than OpenWrt. - http://nbd.name/gitweb.cgi?p=luci2/libubox.git;a=summary + https://openwrt.org/docs/techref/libubox comment "libubox needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/libubox/libubox.hash b/package/libubox/libubox.hash new file mode 100644 index 00000000000..27754274856 --- /dev/null +++ b/package/libubox/libubox.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 54f65299439dab4be8f203588bcefd9b60052ae87d12c6d012f6278a2a111b4e libubox-d716ac4bc4236031d4c3cc1ed362b502e20e3787-br1.tar.gz diff --git a/package/libubox/libubox.mk b/package/libubox/libubox.mk index d3e3b709dc0..90ba57a8831 100644 --- a/package/libubox/libubox.mk +++ b/package/libubox/libubox.mk @@ -4,8 +4,9 @@ # ################################################################################ -LIBUBOX_VERSION = 723730214732862de7e892bae2f7a7889e66bf1b -LIBUBOX_SITE = git://git.openwrt.org/project/libubox.git +LIBUBOX_VERSION = d716ac4bc4236031d4c3cc1ed362b502e20e3787 +LIBUBOX_SITE = https://git.openwrt.org/project/libubox.git +LIBUBOX_SITE_METHOD = git LIBUBOX_LICENSE = ISC, BSD-3-Clause LIBUBOX_INSTALL_STAGING = YES LIBUBOX_DEPENDENCIES = $(if $(BR2_PACKAGE_JSON_C),json-c) diff --git a/package/libuci/Config.in b/package/libuci/Config.in index 2f4ad40487c..f94d7dc3910 100644 --- a/package/libuci/Config.in +++ b/package/libuci/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_LIBUCI This package will also install CLI tool uci. - http://wiki.openwrt.org/doc/techref/uci + https://openwrt.org/docs/techref/uci comment "libuci needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/libuci/libuci.hash b/package/libuci/libuci.hash index b808810ccf0..87e539d41b9 100644 --- a/package/libuci/libuci.hash +++ b/package/libuci/libuci.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 1ee875910bdf751807f10d44f6b6b7f9ec71c12d4c407a80bae5cb654d2ba4cc libuci-49ec6efbdac4819033d34f08927d795f83a3932d-br1.tar.gz +sha256 4b4e3ef9c9f51c02a1985c63ff0e8fc1f3aafdf24491247a4dc33c993c3fa1ea libuci-4b3db1179747b6a6779029407984bacef851325c-br1.tar.gz +sha256 39e1cc18a36172fb80d9b37f0af77d78ae935bd8a020978a7895d9e76a24e112 cli.c +sha256 69d4eea4de19d27014f3d6ed723081b4039700bfd73cd0a5e39e2c4f19a58c66 libuci.c diff --git a/package/libuci/libuci.mk b/package/libuci/libuci.mk index 55afd53c107..81e87aa5be3 100644 --- a/package/libuci/libuci.mk +++ b/package/libuci/libuci.mk @@ -4,12 +4,18 @@ # ################################################################################ -LIBUCI_VERSION = 49ec6efbdac4819033d34f08927d795f83a3932d -LIBUCI_SITE = git://git.openwrt.org/project/uci.git +LIBUCI_VERSION = 4b3db1179747b6a6779029407984bacef851325c +LIBUCI_SITE = https://git.openwrt.org/project/uci.git +LIBUCI_SITE_METHOD = git LIBUCI_LICENSE = LGPL-2.1, GPL-2.0 (tools) +LIBUCI_LICENSE_FILES = cli.c libuci.c +LIBUCI_CPE_ID_VENDOR = openwrt LIBUCI_INSTALL_STAGING = YES LIBUCI_DEPENDENCIES = libubox +# Fixed in commit 19e29ffc15dbd958e8e6a648ee0982c68353516f, older than LIBUCI_VERSION +LIBUCI_IGNORE_CVES += CVE-2019-15513 + ifeq ($(BR2_PACKAGE_LUA_5_1),y) LIBUCI_DEPENDENCIES += lua LIBUCI_CONF_OPTS += -DBUILD_LUA=ON \ diff --git a/package/libudfread/libudfread.hash b/package/libudfread/libudfread.hash index 14d24b5dbc7..332b472d590 100644 --- a/package/libudfread/libudfread.hash +++ b/package/libudfread/libudfread.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 529ffa189a6b9fbe08c77430bd18201007b9b20b3153ad92ebd5e1cc515e7151 libudfread-1.1.1.tar.bz2 +sha256 cd062016d78902da53a34c4d536479dbb70b2a05116354d46ead4d0c498ed375 libudfread-1.1.2.tar.bz2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libudfread/libudfread.mk b/package/libudfread/libudfread.mk index 6803a918d0b..55d4fb8e472 100644 --- a/package/libudfread/libudfread.mk +++ b/package/libudfread/libudfread.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUDFREAD_VERSION = 1.1.1 +LIBUDFREAD_VERSION = 1.1.2 LIBUDFREAD_SOURCE = libudfread-$(LIBUDFREAD_VERSION).tar.bz2 LIBUDFREAD_SITE = https://code.videolan.org/videolan/libudfread/-/archive/$(LIBUDFREAD_VERSION) LIBUDFREAD_AUTORECONF = YES diff --git a/package/libuev/libuev.hash b/package/libuev/libuev.hash index fece0e9b65e..e5c9660a029 100644 --- a/package/libuev/libuev.hash +++ b/package/libuev/libuev.hash @@ -1,4 +1,4 @@ -# From https://github.com/troglobit/libuev/releases/download/v2.3.1/libuev-2.3.1.tar.xz.md5 -md5 ec601f69f69477858fa023a75da23793 libuev-2.3.1.tar.xz +# From https://github.com/troglobit/libuev/releases/download/v2.4.0/libuev-2.4.0.tar.xz.sha256 +sha256 31f1aa4f492ba4f6a5dd6b19968ae6a732968dc05cae6575930560b6cee1f5ef libuev-2.4.0.tar.xz # License files -sha256 3c2bf3fdd85687242ba6f2b02b6ce5176aba15b5e1a2ccb8b608439197ec4641 LICENSE +sha256 694a734d9c1b46ae203314ed1c744a1acebd4fe5fc964b761703772546f0d3ab LICENSE diff --git a/package/libuev/libuev.mk b/package/libuev/libuev.mk index c7b73b4221f..a32381dcc5e 100644 --- a/package/libuev/libuev.mk +++ b/package/libuev/libuev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUEV_VERSION = 2.3.1 +LIBUEV_VERSION = 2.4.0 LIBUEV_SOURCE = libuev-$(LIBUEV_VERSION).tar.xz LIBUEV_SITE = https://github.com/troglobit/libuev/releases/download/v$(LIBUEV_VERSION) LIBUEV_LICENSE = MIT diff --git a/package/libuhttpd/Config.in b/package/libuhttpd/Config.in index 1ab39c5878a..a552a88f0c2 100644 --- a/package/libuhttpd/Config.in +++ b/package/libuhttpd/Config.in @@ -1,8 +1,16 @@ config BR2_PACKAGE_LIBUHTTPD bool "libuhttpd" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_LIBEV + select BR2_PACKAGE_WOLFSSL_ALL if BR2_PACKAGE_WOLFSSL && \ + !BR2_STATIC_LIBS help A lightweight and fully asynchronous HTTP server library based on libev https://github.com/zhaojh329/libuhttpd + +comment "libuhttpd needs a toolchain w/ gcc >= 4.9" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/libuhttpd/libuhttpd.hash b/package/libuhttpd/libuhttpd.hash index 68f1f21733a..e4fde4eb649 100644 --- a/package/libuhttpd/libuhttpd.hash +++ b/package/libuhttpd/libuhttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9939cd5f9aaad2c118bc04417fb2d21994fb1cdca7fff475a0930a1374635af0 libuhttpd-3.9.0.tar.gz +sha256 512d4abfced0ec916d985d3d1eac7528e6676eecae6aca27fdaf313374e29f16 libuhttpd-3.14.1.tar.gz sha256 99efed4bbc0b62f96f999ef23399e38234fb91651af734fd389a52b033a85b55 LICENSE diff --git a/package/libuhttpd/libuhttpd.mk b/package/libuhttpd/libuhttpd.mk index a90fe666a84..0d5306c6dd6 100644 --- a/package/libuhttpd/libuhttpd.mk +++ b/package/libuhttpd/libuhttpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUHTTPD_VERSION = 3.9.0 +LIBUHTTPD_VERSION = 3.14.1 LIBUHTTPD_SITE = https://github.com/zhaojh329/libuhttpd/releases/download/v$(LIBUHTTPD_VERSION) LIBUHTTPD_LICENSE = MIT LIBUHTTPD_LICENSE_FILES = LICENSE @@ -14,33 +14,35 @@ LIBUHTTPD_DEPENDENCIES = libev ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBUHTTPD_DEPENDENCIES += openssl LIBUHTTPD_CONF_OPTS += \ - -DUHTTPD_SSL_SUPPORT=ON \ - -DUHTTPD_USE_MBEDTLS=OFF \ - -DUHTTPD_USE_OPENSSL=ON \ - -DUHTTPD_USE_WOLFSSL=OFF -else ifeq ($(BR2_PACKAGE_WOLFSSL),y) + -DSSL_SUPPORT=ON \ + -DUSE_MBEDTLS=OFF \ + -DUSE_OPENSSL=ON \ + -DUSE_WOLFSSL=OFF +else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) LIBUHTTPD_DEPENDENCIES += wolfssl LIBUHTTPD_CONF_OPTS += \ - -DUHTTPD_SSL_SUPPORT=ON \ - -DUHTTPD_USE_MBEDTLS=OFF \ - -DUHTTPD_USE_OPENSSL=OFF \ - -DUHTTPD_USE_WOLFSSL=ON + -DSSL_SUPPORT=ON \ + -DUSE_MBEDTLS=OFF \ + -DUSE_OPENSSL=OFF \ + -DUSE_WOLFSSL=ON else ifeq ($(BR2_PACKAGE_MBEDTLS),y) LIBUHTTPD_DEPENDENCIES += mbedtls LIBUHTTPD_CONF_OPTS += \ - -DUHTTPD_SSL_SUPPORT=ON \ - -DUHTTPD_USE_MBEDTLS=ON \ - -DUHTTPD_USE_OPENSSL=OFF \ - -DUHTTPD_USE_WOLFSSL=OFF + -DSSL_SUPPORT=ON \ + -DUSE_MBEDTLS=ON \ + -DUSE_OPENSSL=OFF \ + -DUSE_WOLFSSL=OFF else -LIBUHTTPD_CONF_OPTS += -DUHTTPD_SSL_SUPPORT=OFF +LIBUHTTPD_CONF_OPTS += \ + -DSSL_SUPPORT=OFF endif -# BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable -ifeq ($(BR2_SHARED_STATIC_LIBS),y) -LIBUHTTPD_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -else ifeq ($(BR2_SHARED_LIBS),y) -LIBUHTTPD_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF +# BUILD_STATIC builds *only* the static lib, which is not what we want for +# BR2_SHARED_STATIC. +ifeq ($(BR2_STATIC_LIBS),y) +LIBUHTTPD_CONF_OPTS += -DBUILD_STATIC=ON +else +LIBUHTTPD_CONF_OPTS += -DBUILD_STATIC=OFF endif $(eval $(cmake-package)) diff --git a/package/libuio/0002-fix-build-with-musl.patch b/package/libuio/0002-fix-build-with-musl.patch deleted file mode 100644 index 6e5b168c142..00000000000 --- a/package/libuio/0002-fix-build-with-musl.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c378ee112857128002754c616acb6841ee32aaf6 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 2 Jul 2016 10:52:28 +0200 -Subject: [PATCH] fix build with musl - -limits.h header is missing in attr.c, base.c and helper.c to provide -PATH_MAX. - -Fixes: -http://autobuild.buildroot.net/results/702/7023104e6018ea46c54073ddbe5119d0f66ae5a3 - -Signed-off-by: Romain Naour ---- - attr.c | 1 + - base.c | 1 + - helper.c | 1 + - 3 files changed, 3 insertions(+) - -diff --git a/attr.c b/attr.c -index 4245140..7512f4e 100644 ---- a/attr.c -+++ b/attr.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/base.c b/base.c -index 14ebcee..4ce7301 100644 ---- a/base.c -+++ b/base.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/helper.c b/helper.c -index 170f084..1fb0b4c 100644 ---- a/helper.c -+++ b/helper.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.5.5 - diff --git a/package/libuio/libuio.hash b/package/libuio/libuio.hash index 54fb02b1121..48904a94ce4 100644 --- a/package/libuio/libuio.hash +++ b/package/libuio/libuio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1494375bd493ef1a1b868ce2cbc7d29f3f9f692c21f70689eae28566e56f2c15 libuio-ca28ff0f69d89a789a47552c72db5a43d280710b.tar.gz +sha256 cb6d2ed1c6c7fd8e0e4a9cb1d81bd88f3af37bd239fdf8966b3cb3671ff6db86 libuio-6ef3d8d096a641686bfdd112035aa04aa16fe81a.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libuio/libuio.mk b/package/libuio/libuio.mk index b6e8e7e7748..a0285277abc 100644 --- a/package/libuio/libuio.mk +++ b/package/libuio/libuio.mk @@ -4,8 +4,7 @@ # ################################################################################ -# v0.2.8 -LIBUIO_VERSION = ca28ff0f69d89a789a47552c72db5a43d280710b +LIBUIO_VERSION = 6ef3d8d096a641686bfdd112035aa04aa16fe81a LIBUIO_SITE = $(call github,Linutronix,libuio,$(LIBUIO_VERSION)) LIBUIO_LICENSE = LGPL-2.1 (library), GPL-2.0 (programs) LIBUIO_LICENSE_FILES = COPYING diff --git a/package/libunistring/libunistring.hash b/package/libunistring/libunistring.hash index 2e4595b17d3..81ffd4fb0ce 100644 --- a/package/libunistring/libunistring.hash +++ b/package/libunistring/libunistring.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature # https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.10.tar.xz.sig -sha256 eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7 libunistring-0.9.10.tar.xz +sha256 5bab55b49f75d77ed26b257997e919b693f29fd4a1bc22e0e6e024c246c72741 libunistring-1.0.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LIB +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LIB diff --git a/package/libunistring/libunistring.mk b/package/libunistring/libunistring.mk index 1ed7ecf9067..a69eacd676f 100644 --- a/package/libunistring/libunistring.mk +++ b/package/libunistring/libunistring.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUNISTRING_VERSION = 0.9.10 +LIBUNISTRING_VERSION = 1.0 LIBUNISTRING_SITE = $(BR2_GNU_MIRROR)/libunistring LIBUNISTRING_SOURCE = libunistring-$(LIBUNISTRING_VERSION).tar.xz LIBUNISTRING_INSTALL_STAGING = YES diff --git a/package/libunwind/libunwind.mk b/package/libunwind/libunwind.mk index abdec867613..aaa33464a9b 100644 --- a/package/libunwind/libunwind.mk +++ b/package/libunwind/libunwind.mk @@ -9,6 +9,7 @@ LIBUNWIND_SITE = http://download.savannah.gnu.org/releases/libunwind LIBUNWIND_INSTALL_STAGING = YES LIBUNWIND_LICENSE_FILES = COPYING LIBUNWIND_LICENSE = MIT +LIBUNWIND_CPE_ID_VENDOR = libunwind_project LIBUNWIND_AUTORECONF = YES LIBUNWIND_CONF_OPTS = \ @@ -16,7 +17,7 @@ LIBUNWIND_CONF_OPTS = \ $(if $(BR2_INSTALL_LIBSTDCPP),--enable-cxx-exceptions,--disable-cxx-exceptions) ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y) -LIBUNWIND_DEPENDENCIES = libatomic_ops +LIBUNWIND_DEPENDENCIES += libatomic_ops endif $(eval $(autotools-package)) diff --git a/package/libupnp/libupnp.hash b/package/libupnp/libupnp.hash index 6b16eff3c8c..aebde064b87 100644 --- a/package/libupnp/libupnp.hash +++ b/package/libupnp/libupnp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 ecb23d4291968c8a7bdd4eb16fc2250dbacc16b354345a13342d67f571d35ceb libupnp-1.14.0.tar.bz2 +sha256 091c80aada1e939c2294245c122be2f5e337cc932af7f7d40504751680b5b5ac libupnp-1.14.12.tar.bz2 sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/package/libupnp/libupnp.mk b/package/libupnp/libupnp.mk index 0b36881e167..a754ca76fc8 100644 --- a/package/libupnp/libupnp.mk +++ b/package/libupnp/libupnp.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBUPNP_VERSION = 1.14.0 +LIBUPNP_VERSION = 1.14.12 LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2 LIBUPNP_SITE = \ - http://downloads.sourceforge.net/project/pupnp/pupnp/libupnp-$(LIBUPNP_VERSION) + http://downloads.sourceforge.net/project/pupnp/release-$(LIBUPNP_VERSION) LIBUPNP_CONF_ENV = ac_cv_lib_compat_ftime=no LIBUPNP_INSTALL_STAGING = YES LIBUPNP_LICENSE = BSD-3-Clause @@ -16,7 +16,9 @@ LIBUPNP_CPE_ID_VENDOR = libupnp_project LIBUPNP_DEPENDENCIES = host-pkgconf # Bind the internal miniserver socket with reuseaddr to allow clean restarts. -LIBUPNP_CONF_OPTS += --enable-reuseaddr +LIBUPNP_CONF_OPTS += \ + --disable-samples \ + --enable-reuseaddr ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBUPNP_CONF_OPTS += --enable-open-ssl diff --git a/package/libupnpp/libupnpp.hash b/package/libupnpp/libupnpp.hash index ae79cfe8a75..5bc282f270e 100644 --- a/package/libupnpp/libupnpp.hash +++ b/package/libupnpp/libupnpp.hash @@ -1,5 +1,5 @@ -# Hash from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.20.2.tar.gz.sha256 -sha256 48c2cc7b5a3eef55f4dddda88d8676ed11f7e88f1d6680c8458512067a0e0a11 libupnpp-0.20.2.tar.gz +# Hash from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.21.0.tar.gz.sha256 +sha256 e43dbe5020ed25152aaec71b325dd80498e72038da5aeb50ed7dd51e213cd903 libupnpp-0.21.0.tar.gz # Hash for license file: sha256 00a89b0d18aacd4114decf79122db87bf35bddaf2bc50e383c9c9f4c263390b2 COPYING diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk index 4ee98b01cce..fc76a43a118 100644 --- a/package/libupnpp/libupnpp.mk +++ b/package/libupnpp/libupnpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUPNPP_VERSION = 0.20.2 +LIBUPNPP_VERSION = 0.21.0 LIBUPNPP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads LIBUPNPP_LICENSE = LGPL-2.1+ LIBUPNPP_LICENSE_FILES = COPYING diff --git a/package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch b/package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch index 658e1721f08..554c4aba1f8 100644 --- a/package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch +++ b/package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch @@ -8,17 +8,19 @@ their latest releases based on gcc-4.8.2, then only blacklist gcc 4.8.0 and 4.8.1. Signed-off-by: Samuel Martin +[Fabrice: update for 0.13.0] +Signed-off-by: Fabrice Fontaine --- urcu/compiler.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) -diff --git a/include/urcu/compiler.h b/include/urcu/compiler.h +diff --git a/include/urcu/arch/arm.h b/include/urcu/arch/arm.h index 1e30903..56115f1 100644 ---- a/include/urcu/compiler.h -+++ b/include/urcu/compiler.h +--- a/include/urcu/arch/arm.h ++++ b/include/urcu/arch/arm.h @@ -118,10 +118,17 @@ - + __GNUC_PATCHLEVEL__) - + */ + /* + * Official gcc releases from 4.8.0 to 4.8.2 have the following bug, + * however, many arm toolchain providers have the included the fix for @@ -29,12 +31,12 @@ index 1e30903..56115f1 100644 + * * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854 */ - # ifdef __ARMEL__ --# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40802 -+# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40801 - # error Your gcc version produces clobbered frame accesses - # endif + #ifdef URCU_GCC_VERSION +-# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40802 ++# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40801 + # error Your gcc version produces clobbered frame accesses # endif + #endif -- 1.9.0 diff --git a/package/liburcu/0002-fix-don-t-use-C-thread_local-on-MacOs.patch b/package/liburcu/0002-fix-don-t-use-C-thread_local-on-MacOs.patch new file mode 100644 index 00000000000..002df34d70a --- /dev/null +++ b/package/liburcu/0002-fix-don-t-use-C-thread_local-on-MacOs.patch @@ -0,0 +1,41 @@ +From e915ab84fd0c02d37504f3eb1e1f3be93ea6dc37 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson +Date: Thu, 9 Sep 2021 12:11:16 -0400 +Subject: [PATCH] fix: don't use C++ thread_local on MacOs + +Recent versions of Apple's clang++ do support 'thread_local' but the +implementation generates additional helper symbols. This is a problem +when accessing an extern TLS variable in a C++ compile unit that is +provided by a C library that doesn't have those extra symbols. + +Fallback to using '__thread' on MacOs. + +Change-Id: I87cb5b3c9293f7bf66f7115f453b546dd793a449 +Signed-off-by: Michael Jeanson +Signed-off-by: Mathieu Desnoyers + +[Retrieved from: +https://github.com/urcu/userspace-rcu/commit/e915ab84fd0c02d37504f3eb1e1f3be93ea6dc37] +Signed-off-by: Fabrice Fontaine +--- + include/urcu/tls-compat.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/include/urcu/tls-compat.h b/include/urcu/tls-compat.h +index 24ef1b9a..25cf375a 100644 +--- a/include/urcu/tls-compat.h ++++ b/include/urcu/tls-compat.h +@@ -34,7 +34,12 @@ extern "C" { + + #ifdef CONFIG_RCU_TLS + +-#if defined (__cplusplus) && (__cplusplus >= 201103L) ++/* ++ * Don't use C++ 'thread_local' on MacOs, the implementation is incompatible ++ * with C and will result in a link error when accessing an extern variable ++ * provided by the C library from C++ code. ++ */ ++#if defined (__cplusplus) && (__cplusplus >= 201103L) && !defined(__APPLE__) + # define URCU_TLS_STORAGE_CLASS thread_local + #elif defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) + # define URCU_TLS_STORAGE_CLASS _Thread_local diff --git a/package/liburcu/0003-Always-use-__thread-for-Thread-local-storage-except-on-MSVC.patch b/package/liburcu/0003-Always-use-__thread-for-Thread-local-storage-except-on-MSVC.patch new file mode 100644 index 00000000000..aa71cf2f206 --- /dev/null +++ b/package/liburcu/0003-Always-use-__thread-for-Thread-local-storage-except-on-MSVC.patch @@ -0,0 +1,53 @@ +From 2e359284497c361e3208501fc70d49b2c54dc4ef Mon Sep 17 00:00:00 2001 +From: Michael Jeanson +Date: Tue, 14 Sep 2021 10:41:08 -0400 +Subject: [PATCH] Always use '__thread' for Thread local storage except on MSVC + +Use the GCC extension '__thread' [1] for Thread local storage on all C +and C++ compilers except MSVC. + +While C11 and C++11 respectively offer '_Thread_local' and +'thread_local' as potentialy faster implementations, they offer no +guarantees of compatibility when used in a library interface which might +be used by both C and C++ client code. + +[1] https://gcc.gnu.org/onlinedocs/gcc/Thread-Local.html + +Change-Id: If4fe8bcdbda24b21dedf382112bd5c5f836c00c8 +Signed-off-by: Michael Jeanson +Signed-off-by: Mathieu Desnoyers + +[Retrieved from: +https://github.com/urcu/userspace-rcu/commit/2e359284497c361e3208501fc70d49b2c54dc4ef] +Signed-off-by: Fabrice Fontaine +--- + include/urcu/tls-compat.h | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/include/urcu/tls-compat.h b/include/urcu/tls-compat.h +index 25cf375a..a2c94ded 100644 +--- a/include/urcu/tls-compat.h ++++ b/include/urcu/tls-compat.h +@@ -35,15 +35,14 @@ extern "C" { + #ifdef CONFIG_RCU_TLS + + /* +- * Don't use C++ 'thread_local' on MacOs, the implementation is incompatible +- * with C and will result in a link error when accessing an extern variable +- * provided by the C library from C++ code. ++ * Default to '__thread' on all C and C++ compilers except MSVC. While C11 has ++ * '_Thread_local' and C++11 has 'thread_local', only '__thread' seems to have ++ * a compatible implementation when linking public extern symbols across ++ * language boundaries. ++ * ++ * For more details, see 'https://gcc.gnu.org/onlinedocs/gcc/Thread-Local.html'. + */ +-#if defined (__cplusplus) && (__cplusplus >= 201103L) && !defined(__APPLE__) +-# define URCU_TLS_STORAGE_CLASS thread_local +-#elif defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) +-# define URCU_TLS_STORAGE_CLASS _Thread_local +-#elif defined (_MSC_VER) ++#if defined(_MSC_VER) + # define URCU_TLS_STORAGE_CLASS __declspec(thread) + #else + # define URCU_TLS_STORAGE_CLASS __thread diff --git a/package/liburcu/liburcu.hash b/package/liburcu/liburcu.hash index da7d12a76c9..1968c3784e5 100644 --- a/package/liburcu/liburcu.hash +++ b/package/liburcu/liburcu.hash @@ -1,5 +1,5 @@ -# http://www.lttng.org/files/urcu/userspace-rcu-0.12.1.tar.bz2.sha256 -sha256 bbfaead0345642b97e0de90f889dfbab4b2643a6a5e5c6bb59cd0d26fc0bcd0e userspace-rcu-0.12.1.tar.bz2 +# http://www.lttng.org/files/urcu/userspace-rcu-0.13.1.tar.bz2.sha256 +sha256 3213f33d2b8f710eb920eb1abb279ec04bf8ae6361f44f2513c28c20d3363083 userspace-rcu-0.13.1.tar.bz2 # Hash for license files sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 lgpl-2.1.txt diff --git a/package/liburcu/liburcu.mk b/package/liburcu/liburcu.mk index fa2ad0de83f..895dd6bb665 100644 --- a/package/liburcu/liburcu.mk +++ b/package/liburcu/liburcu.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBURCU_VERSION = 0.12.1 +LIBURCU_VERSION = 0.13.1 LIBURCU_SITE = http://lttng.org/files/urcu LIBURCU_SOURCE = userspace-rcu-$(LIBURCU_VERSION).tar.bz2 LIBURCU_LICENSE = LGPL-2.1+ (library), MIT-like (few source files listed in LICENSE), GPL-2.0+ (test), GPL-3.0 (few *.m4 files) @@ -12,4 +12,8 @@ LIBURCU_LICENSE_FILES = lgpl-2.1.txt lgpl-relicensing.txt gpl-2.0.txt LICENSE LIBURCU_INSTALL_STAGING = YES +# ac_cv_prog_cc_c99 is required for BR2_USE_WCHAR=n because the C99 test +# provided by autoconf relies on wchar_t. +LIBURCU_CONF_ENV = ac_cv_prog_cc_c99=-std=gnu99 + $(eval $(autotools-package)) diff --git a/package/liburing/Config.in b/package/liburing/Config.in new file mode 100644 index 00000000000..fc13f1c17ce --- /dev/null +++ b/package/liburing/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_LIBURING + bool "liburing" + depends on BR2_USE_MMU # madvise() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 + help + This is the io_uring library, liburing. liburing provides + helpers to setup and teardown io_uring instances, and also a + simplified interface for applications that don't need (or + want) to deal with the full kernel side implementation. + + https://git.kernel.dk/cgit/liburing + +comment "liburing needs a toolchain w/ gcc >= 4.9, headers >= 5.1" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 diff --git a/package/liburing/liburing.hash b/package/liburing/liburing.hash new file mode 100644 index 00000000000..56e90d71cc8 --- /dev/null +++ b/package/liburing/liburing.hash @@ -0,0 +1,8 @@ +# Locally calculated +sha256 df7c8fd05fd39da622b2814e06f815f11f1beb429487a4330eed64bb7f353dbf liburing-2.1.tar.bz2 + +# Hash for license files +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL +sha256 d0b225f17ef2d05d5cda6b25b2dc334ef6f5f12537c20edf6e391852a095ec19 LICENSE +sha256 97d62ff5d7cf0b1cef34c33a89877352911278ca4ac1c6c4f24a835baa5ea10b README diff --git a/package/liburing/liburing.mk b/package/liburing/liburing.mk new file mode 100644 index 00000000000..874e268d431 --- /dev/null +++ b/package/liburing/liburing.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# liburing +# +################################################################################ + +LIBURING_VERSION = 2.1 +LIBURING_SOURCE = liburing-$(LIBURING_VERSION).tar.bz2 +LIBURING_SITE = https://git.kernel.dk/cgit/liburing/snapshot +LIBURING_LICENSE = (GPL-2.0 with exceptions and LGPL-2.1+) or MIT +LIBURING_LICENSE_FILES = COPYING COPYING.GPL LICENSE README +LIBURING_INSTALL_STAGING = YES + +define LIBURING_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_IO_URING) +endef + +ifeq ($(BR2_STATIC_LIBS),y) +LIBURING_MAKE_OPTS += ENABLE_SHARED=0 +else +LIBURING_MAKE_OPTS += ENABLE_SHARED=1 +endif + +define LIBURING_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure) +endef + +define LIBURING_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(LIBURING_MAKE_OPTS) -C $(@D)/src +endef + +define LIBURING_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(LIBURING_MAKE_OPTS) -C $(@D) \ + DESTDIR=$(STAGING_DIR) install +endef + +define LIBURING_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(LIBURING_MAKE_OPTS) -C $(@D) \ + DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/liburiparser/liburiparser.hash b/package/liburiparser/liburiparser.hash index feb59458494..8b408075414 100644 --- a/package/liburiparser/liburiparser.hash +++ b/package/liburiparser/liburiparser.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b7cdabe5611408fc2c3a10f8beecb881a0c7e93ff669c578cd9e3e6d64b8f87b uriparser-0.9.4.tar.bz2 +sha256 a288a06668528c19e85e38c508335938e1de6fdd4b8f2072401b4533fcebf644 uriparser-0.9.6.tar.xz sha256 287f09e6546a9610f949f89e8fb937cacfeabd7bfaa8c8a0c18312193bf04ad3 COPYING diff --git a/package/liburiparser/liburiparser.mk b/package/liburiparser/liburiparser.mk index 4ba1e051e37..c9903bd74ff 100644 --- a/package/liburiparser/liburiparser.mk +++ b/package/liburiparser/liburiparser.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBURIPARSER_VERSION = 0.9.4 -LIBURIPARSER_SOURCE = uriparser-$(LIBURIPARSER_VERSION).tar.bz2 +LIBURIPARSER_VERSION = 0.9.6 +LIBURIPARSER_SOURCE = uriparser-$(LIBURIPARSER_VERSION).tar.xz LIBURIPARSER_SITE = https://github.com/uriparser/uriparser/releases/download/uriparser-$(LIBURIPARSER_VERSION) LIBURIPARSER_LICENSE = BSD-3-Clause LIBURIPARSER_LICENSE_FILES = COPYING diff --git a/package/libusb/0001-configure.ac-link-with-latomic-if-needed.patch b/package/libusb/0001-configure.ac-link-with-latomic-if-needed.patch new file mode 100644 index 00000000000..5f6c88e57d4 --- /dev/null +++ b/package/libusb/0001-configure.ac-link-with-latomic-if-needed.patch @@ -0,0 +1,39 @@ +From 0b857081d687f7ee41483a3d7e9846af44a5ba7d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 7 Feb 2022 11:55:54 +0100 +Subject: [PATCH] configure.ac: link with -latomic if needed + +libusb unconditionally uses atomic_fetch_add since version 1.0.25 and +https://github.com/libusb/libusb/commit/1a08aa84d96397a3840a75abe66051f5360c2c84 +https://github.com/libusb/libusb/commit/eed8a371ea53939096ba94d44001e0637d042572 +but some architectures (e.g. sparc) needs to link with -latomic to be +able to use it. So check if -latomic is needed and update libusb-1.0.pc +accordingly to avoid the following build failure with openocd: + +/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /home/buildroot/autobuild/instance-0/output-1/host/sparc-buildroot-linux-uclibc/sysroot/usr/lib/libusb-1.0.so: undefined reference to `__atomic_fetch_add_4' +collect2: error: ld returned 1 exit status + +Fixes: + - http://autobuild.buildroot.org/results/4a27a769bb3cdf78643c3049b87d792178d6512c + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/libusb/libusb/pull/1064] +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index f6cf2f9..002bcf6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -152,6 +152,7 @@ if test "x$platform" = xposix; then + AC_SEARCH_LIBS([pthread_create], [pthread], + [test "x$ac_cv_search_pthread_create" != "xnone required" && AC_SUBST(THREAD_LIBS, [-lpthread])], + [], []) ++ AC_SEARCH_LIBS([__atomic_fetch_add_4], [atomic]) + elif test "x$platform" = xwindows; then + AC_DEFINE([PLATFORM_WINDOWS], [1], [Define to 1 if compiling for a Windows platform.]) + else +-- +2.34.1 + diff --git a/package/libusb/0001-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch b/package/libusb/0001-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch deleted file mode 100644 index 601b322e544..00000000000 --- a/package/libusb/0001-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 623e2a995d156e115c91f56a3ec691bdc333df8b Mon Sep 17 00:00:00 2001 -From: Chris Dickens -Date: Sun, 13 Dec 2020 15:49:19 -0800 -Subject: [PATCH 1/1] linux_usbfs: Fix parsing of descriptors for - multi-configuration devices - -Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device -initialization") introduced a regression for devices with multiple -configurations. The logic that verifies the reported length of the -configuration descriptors failed to count the length of the -configuration descriptor itself and would truncate the actual length by -9 bytes, leading to a parsing error for subsequent descriptors. - -Closes #825 - -Signed-off-by: Chris Dickens -(cherry picked from commit f6d2cb561402c3b6d3627c0eb89e009b503d9067) -Signed-off-by: John Keeping ---- - libusb/os/linux_usbfs.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c -index fb2ed53..4d2dc8d 100644 ---- a/libusb/os/linux_usbfs.c -+++ b/libusb/os/linux_usbfs.c -@@ -641,7 +641,12 @@ static int seek_to_next_config(struct libusb_context *ctx, - uint8_t *buffer, size_t len) - { - struct usbi_descriptor_header *header; -- int offset = 0; -+ int offset; -+ -+ /* Start seeking past the config descriptor */ -+ offset = LIBUSB_DT_CONFIG_SIZE; -+ buffer += LIBUSB_DT_CONFIG_SIZE; -+ len -= LIBUSB_DT_CONFIG_SIZE; - - while (len > 0) { - if (len < 2) { -@@ -718,7 +723,7 @@ static int parse_config_descriptors(struct libusb_device *dev) - } - - if (priv->sysfs_dir) { -- /* -+ /* - * In sysfs wTotalLength is ignored, instead the kernel returns a - * config descriptor with verified bLength fields, with descriptors - * with an invalid bLength removed. -@@ -727,8 +732,7 @@ static int parse_config_descriptors(struct libusb_device *dev) - int offset; - - if (num_configs > 1 && idx < num_configs - 1) { -- offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE, -- remaining - LIBUSB_DT_CONFIG_SIZE); -+ offset = seek_to_next_config(ctx, buffer, remaining); - if (offset < 0) - return offset; - sysfs_config_len = (uint16_t)offset; --- -2.30.1 - diff --git a/package/libusb/0002-linux_usbfs-fix-maybe-uninitialized-error.patch b/package/libusb/0002-linux_usbfs-fix-maybe-uninitialized-error.patch new file mode 100644 index 00000000000..ea299081aa4 --- /dev/null +++ b/package/libusb/0002-linux_usbfs-fix-maybe-uninitialized-error.patch @@ -0,0 +1,37 @@ +From bea5891591402f14940a607eafbdcd169ff8827f Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Sun, 6 Feb 2022 07:12:14 +0100 +Subject: [PATCH] linux_usbfs: fix maybe-uninitialized error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Initialize active_config to an invalid value to avoid the following +compilation error: + +os/linux_usbfs.c: In function ‘op_get_configuration’: +os/linux_usbfs.c:1452:12: error: ‘active_config’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + 1452 | *config = (uint8_t)active_config; + +Signed-off-by: Yegor Yefremov +Upstream: https://github.com/libusb/libusb/pull/1062 +--- + libusb/os/linux_usbfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c +index c300675..285d9ca 100644 +--- a/libusb/os/linux_usbfs.c ++++ b/libusb/os/linux_usbfs.c +@@ -1429,7 +1429,7 @@ static int op_get_configuration(struct libusb_device_handle *handle, + uint8_t *config) + { + struct linux_device_priv *priv = usbi_get_device_priv(handle->dev); +- int active_config; ++ int active_config = -1; /* to please compiler */ + int r; + + if (priv->sysfs_dir) { +-- +2.17.0 + diff --git a/package/libusb/libusb.hash b/package/libusb/libusb.hash index 6169a186a5e..a18935fe035 100644 --- a/package/libusb/libusb.hash +++ b/package/libusb/libusb.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a libusb-1.0.24.tar.bz2 +sha256 8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849 libusb-1.0.25.tar.bz2 sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/libusb/libusb.mk b/package/libusb/libusb.mk index 26e91e3da68..aa306e295da 100644 --- a/package/libusb/libusb.mk +++ b/package/libusb/libusb.mk @@ -5,13 +5,16 @@ ################################################################################ LIBUSB_VERSION_MAJOR = 1.0 -LIBUSB_VERSION = $(LIBUSB_VERSION_MAJOR).24 +LIBUSB_VERSION = $(LIBUSB_VERSION_MAJOR).25 LIBUSB_SOURCE = libusb-$(LIBUSB_VERSION).tar.bz2 LIBUSB_SITE = https://github.com/libusb/libusb/releases/download/v$(LIBUSB_VERSION) LIBUSB_LICENSE = LGPL-2.1+ LIBUSB_LICENSE_FILES = COPYING +LIBUSB_CPE_ID_VENDOR = libusb LIBUSB_DEPENDENCIES = host-pkgconf LIBUSB_INSTALL_STAGING = YES +# We're patching configure.ac +LIBUSB_AUTORECONF = YES # Avoid the discovery of udev for the host variant HOST_LIBUSB_CONF_OPTS = --disable-udev diff --git a/package/libuv/libuv.hash b/package/libuv/libuv.hash index c682affae70..172ef1f1688 100644 --- a/package/libuv/libuv.hash +++ b/package/libuv/libuv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 70fe1c9ba4f2c509e8166c0ca2351000237da573bb6c82092339207a9715ba6b libuv-1.40.0.tar.gz +sha256 371e5419708f6aaeb8656671f89400b92a9bba6443369af1bb70bcd6e4b3c764 libuv-1.42.0.tar.gz sha256 6d20216ae022fbeed23916f48508fd807ece3d8464992330643b0e64e5c0c24b LICENSE diff --git a/package/libuv/libuv.mk b/package/libuv/libuv.mk index 5876ab8935f..9fe775951de 100644 --- a/package/libuv/libuv.mk +++ b/package/libuv/libuv.mk @@ -6,13 +6,14 @@ # When bumping libuv, check if a new version of uvw is available # and bump it too. -LIBUV_VERSION = 1.40.0 +LIBUV_VERSION = 1.42.0 LIBUV_SITE = $(call github,libuv,libuv,v$(LIBUV_VERSION)) LIBUV_DEPENDENCIES = host-pkgconf LIBUV_INSTALL_STAGING = YES LIBUV_AUTORECONF = YES LIBUV_LICENSE = BSD-2-Clause, BSD-3-Clause, ISC, MIT LIBUV_LICENSE_FILES = LICENSE +LIBUV_CPE_ID_VENDOR = libuv # Upstream needs tests to be run sequentially. This is the default in # automake 1.11 and before, but not starting in 1.12. To maintain diff --git a/package/libuwsc/0002-fix-bad-indentation.patch b/package/libuwsc/0002-fix-bad-indentation.patch new file mode 100644 index 00000000000..f33f944d06d --- /dev/null +++ b/package/libuwsc/0002-fix-bad-indentation.patch @@ -0,0 +1,27 @@ +From 8cb416140741a596235b8acc46b2b119b13ebfab Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Tue, 6 Jul 2021 21:01:52 -0700 +Subject: [PATCH] fix bad indentation + +Fixes error with GCC11. + +[Retrieved from: +https://github.com/zhaojh329/libuwsc/commit/8cb416140741a596235b8acc46b2b119b13ebfab] +Signed-off-by: Fabrice Fontaine +--- + src/lua/uwsc_lua.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lua/uwsc_lua.c b/src/lua/uwsc_lua.c +index de6932e..84689fe 100644 +--- a/src/lua/uwsc_lua.c ++++ b/src/lua/uwsc_lua.c +@@ -178,7 +178,7 @@ static int uwsc_lua_on(lua_State *L) + else + luaL_argcheck(L, false, 2, "available event name: open message error close"); + +- return 0; ++ return 0; + } + + static int __uwsc_lua_send(lua_State *L, int op) diff --git a/package/libv4l/0001-keymap.h-add-missing-includes-to-fix-musl-build.patch b/package/libv4l/0001-keymap.h-add-missing-includes-to-fix-musl-build.patch deleted file mode 100644 index 238f8fc3773..00000000000 --- a/package/libv4l/0001-keymap.h-add-missing-includes-to-fix-musl-build.patch +++ /dev/null @@ -1,68 +0,0 @@ -From baba68cdcb44fc11d0ba8ce2c13eb5b06bbd9b33 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Wed, 30 Oct 2019 07:15:23 +0100 -Subject: [PATCH] keymap.h: add missing includes to fix musl build - -Needed to fix these build errors: - -In file included from keymap.c:13:0: -keymap.h:23:2: error: unknown type name 'u_int32_t' - u_int32_t scancode; - -keymap.h:36:1: error: unknown type name 'error_t' - error_t parse_keymap(char *fname, struct keymap **keymap, bool verbose); - -Signed-off-by: Bernd Kuhls ---- -Patch was not sent upstream due to broken mailing list setup: - -: host vger.kernel.org[209.132.180.67] said: 553 - 5.7.1 Hello [xx.xx.xx.xx], for your MAIL FROM address - policy analysis reported: Your address is not - liked source for email (in reply to MAIL FROM command) - -Hello [xx.xx.xx.xx], for your MAIL FROM address - policy analysis reported: Your address is not liked source for email - - utils/common/keymap.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/utils/common/keymap.h b/utils/common/keymap.h -index f2b29632..bb1edce9 100644 ---- a/utils/common/keymap.h -+++ b/utils/common/keymap.h -@@ -1,4 +1,8 @@ - /* SPDX-License-Identifier: GPL-2.0 */ -+ -+#include -+#include -+ - #ifndef __KEYMAP_H - #define __KEYMAP_H - -diff -uNr v4l-utils-1.18.0.orig/utils/ir-ctl/keymap.h v4l-utils-1.18.0/utils/ir-ctl/keymap.h ---- v4l-utils-1.18.0.orig/utils/ir-ctl/keymap.h 2019-09-22 11:22:54.000000000 +0200 -+++ v4l-utils-1.18.0/utils/ir-ctl/keymap.h 2019-10-30 07:06:18.250548011 +0100 -@@ -1,4 +1,8 @@ - /* SPDX-License-Identifier: GPL-2.0 */ -+ -+#include -+#include -+ - #ifndef __KEYMAP_H - #define __KEYMAP_H - -diff -uNr v4l-utils-1.18.0.orig/utils/keytable/keymap.h v4l-utils-1.18.0/utils/keytable/keymap.h ---- v4l-utils-1.18.0.orig/utils/keytable/keymap.h 2019-09-22 11:22:54.000000000 +0200 -+++ v4l-utils-1.18.0/utils/keytable/keymap.h 2019-10-30 07:06:56.218816126 +0100 -@@ -1,4 +1,8 @@ - /* SPDX-License-Identifier: GPL-2.0 */ -+ -+#include -+#include -+ - #ifndef __KEYMAP_H - #define __KEYMAP_H - --- -2.20.1 diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in index 57ddde1dfb4..c88f280c3b0 100644 --- a/package/libv4l/Config.in +++ b/package/libv4l/Config.in @@ -20,6 +20,7 @@ comment "libv4l JPEG support not enabled" config BR2_PACKAGE_LIBV4L_UTILS bool "v4l-utils tools" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 help v4l-utils is a collection of various video4linux and DVB utilities. @@ -35,6 +36,9 @@ config BR2_PACKAGE_LIBV4L_UTILS - rds-ctl - qv4l2 (if Qt is enabled) +comment "v4l-utils tools needs a toolchain w/ C++11" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + endif comment "libv4l needs a toolchain w/ threads, C++ and headers >= 3.0" diff --git a/package/libv4l/libv4l.hash b/package/libv4l/libv4l.hash index e45dd576bd6..d99d5e09925 100644 --- a/package/libv4l/libv4l.hash +++ b/package/libv4l/libv4l.hash @@ -1,7 +1,7 @@ # Locally calculated after checking signature # https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.20.0.tar.bz2.asc # with key 05D0169C26E41593418129DF199A64FADFB500FF -sha256 956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7 v4l-utils-1.20.0.tar.bz2 +sha256 65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31 v4l-utils-1.22.1.tar.bz2 # Locally calculated sha256 391e4da1c54a422a78d83be7bf84b2dfb8bacdd8ad256fa4374e128655584a8a COPYING diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk index 7b61823cec1..a781ffcd5df 100644 --- a/package/libv4l/libv4l.mk +++ b/package/libv4l/libv4l.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBV4L_VERSION = 1.20.0 +LIBV4L_VERSION = 1.22.1 LIBV4L_SOURCE = v4l-utils-$(LIBV4L_VERSION).tar.bz2 LIBV4L_SITE = https://linuxtv.org/downloads/v4l-utils LIBV4L_INSTALL_STAGING = YES @@ -28,7 +28,6 @@ endif ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) LIBV4L_DEPENDENCIES += argp-standalone -LIBV4L_LIBS += -largp endif LIBV4L_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) @@ -45,8 +44,10 @@ LIBV4L_DEPENDENCIES += libgl endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -LIBV4L_CONF_OPTS += --with-udevdir=/usr/lib/udev +LIBV4L_CONF_OPTS += --with-libudev --with-udevdir=/usr/lib/udev LIBV4L_DEPENDENCIES += udev +else +LIBV4L_CONF_OPTS += --without-libudev endif ifeq ($(BR2_PACKAGE_LIBGLU),y) @@ -57,6 +58,9 @@ ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y) LIBV4L_CONF_OPTS += --enable-v4l-utils LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) +# v4l2-ctl needs c++11, use gnu++11 for typeof support +LIBV4L_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=gnu++11" + # IR BPF decoder support needs toolchain with linux-headers >= 3.18 # libelf and clang support LIBV4L_CONF_OPTS += --disable-bpf @@ -69,8 +73,6 @@ LIBV4L_CONF_ENV += \ ac_cv_prog_MOC=$(HOST_DIR)/bin/moc \ ac_cv_prog_RCC=$(HOST_DIR)/bin/rcc \ ac_cv_prog_UIC=$(HOST_DIR)/bin/uic -# qt5 needs c++11 (since qt-5.7) -LIBV4L_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" else LIBV4L_CONF_OPTS += --disable-qv4l2 endif @@ -82,6 +84,4 @@ ifeq ($(BR2_PACKAGE_SDL2_IMAGE),y) LIBV4L_DEPENDENCIES += sdl2_image endif -LIBV4L_CONF_ENV += LIBS="$(LIBV4L_LIBS)" - $(eval $(autotools-package)) diff --git a/package/libva-utils/libva-utils.hash b/package/libva-utils/libva-utils.hash index 349fcc42ae0..18a078dc1cd 100644 --- a/package/libva-utils/libva-utils.hash +++ b/package/libva-utils/libva-utils.hash @@ -1,5 +1,5 @@ -# From https://github.com/intel/libva-utils/releases/download/2.10.0/libva-utils-2.10.0.tar.bz2.sha1sum -sha1 083a31354d2d49a4b9b8d4bccd6e7b77fc447154 libva-utils-2.10.0.tar.bz2 +# From https://github.com/intel/libva-utils/releases/download/2.13.0/libva-utils-2.13.0.tar.bz2.sha1sum +sha1 7ab945cf232387f762891f9e4f7a6cb41e0766e8 libva-utils-2.13.0.tar.bz2 # Locally computed -sha256 33f06929faa395f55ec816432679219c56d70850bf465c848f0418e8a4f0352b libva-utils-2.10.0.tar.bz2 +sha256 db3ae0bd63c2a3f6ef498450c29ffc99c387ce611e1eb5db6a8da1f88845d612 libva-utils-2.13.0.tar.bz2 sha256 c6220c9f87832c27abcb8a32eafdd2823e13ce146b3ea63d5deae2a76798ef50 COPYING diff --git a/package/libva-utils/libva-utils.mk b/package/libva-utils/libva-utils.mk index 4634ba4eb7d..e6e31df8bda 100644 --- a/package/libva-utils/libva-utils.mk +++ b/package/libva-utils/libva-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_UTILS_VERSION = 2.10.0 +LIBVA_UTILS_VERSION = 2.13.0 LIBVA_UTILS_SOURCE = libva-utils-$(LIBVA_UTILS_VERSION).tar.bz2 LIBVA_UTILS_SITE = https://github.com/intel/libva-utils/releases/download/$(LIBVA_UTILS_VERSION) LIBVA_UTILS_LICENSE = MIT diff --git a/package/libva/libva.hash b/package/libva/libva.hash index 80f7d3c0665..7b66a7709d9 100644 --- a/package/libva/libva.hash +++ b/package/libva/libva.hash @@ -1,5 +1,5 @@ -# From https://github.com/intel/libva/releases/download/2.10.0/libva-2.10.0.tar.bz2.sha1sum -sha1 c33459efcab503eea89379bb627ef8a8f497b5b4 libva-2.10.0.tar.bz2 +# From https://github.com/intel/libva/releases/download/2.13.0/libva-2.13.0.tar.bz2.sha1sum +sha1 2adb2c023371dd68fe0d23e58afcf0b072b79828 libva-2.13.0.tar.bz2 # Locally computed -sha256 fa81e35b50d9818fce5ec9eeeeff08a24a8864ceeb9a5c8e7ae4446eacfc0236 libva-2.10.0.tar.bz2 +sha256 fad383f39f36115814bd0eda1496a4cc01761643bd962635400df2d4470ad460 libva-2.13.0.tar.bz2 sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/package/libva/libva.mk b/package/libva/libva.mk index 0ec6b12868b..6ac53865402 100644 --- a/package/libva/libva.mk +++ b/package/libva/libva.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_VERSION = 2.10.0 +LIBVA_VERSION = 2.13.0 LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2 LIBVA_SITE = https://github.com/intel/libva/releases/download/$(LIBVA_VERSION) LIBVA_LICENSE = MIT diff --git a/package/libvdpau/libvdpau.hash b/package/libvdpau/libvdpau.hash index 0833d41bf47..653657322ad 100644 --- a/package/libvdpau/libvdpau.hash +++ b/package/libvdpau/libvdpau.hash @@ -1,5 +1,4 @@ -# From https://lists.x.org/archives/xorg-announce/2019-August/003021.html -sha256 b5a52eeac9417edbc396f26c40591ba5df0cd18285f68d84614ef8f06196e50e libvdpau-1.3.tar.bz2 -sha512 c06c23062816e8b207d38d9d53df43a1b193bb9836b48bd6d79a63d76522e87d383c446285b9877fe9c99faa0d290da8a49ccbb58eefa138cc38d0929a8e1330 libvdpau-1.3.tar.bz2 # Locally computed -sha256 ce4af7294872ff07f6e82ae5f1f5eba926215b1e2fb6d55d64759de082458d61 COPYING +sha256 4258824c5a4555ef31de0a7d82b3caf19e75a16a13949f1edafc5f6fb2d33f30 libvdpau-1.4.tar.bz2 +# Locally computed +sha256 ce4af7294872ff07f6e82ae5f1f5eba926215b1e2fb6d55d64759de082458d61 COPYING diff --git a/package/libvdpau/libvdpau.mk b/package/libvdpau/libvdpau.mk index 63aecaf744c..ae2f3888556 100644 --- a/package/libvdpau/libvdpau.mk +++ b/package/libvdpau/libvdpau.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVDPAU_VERSION = 1.3 +LIBVDPAU_VERSION = 1.4 LIBVDPAU_SOURCE = libvdpau-$(LIBVDPAU_VERSION).tar.bz2 LIBVDPAU_SITE = \ https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/$(LIBVDPAU_VERSION) diff --git a/package/libvips/libvips.hash b/package/libvips/libvips.hash index ba40e6dbbe0..1ba242d1cf7 100644 --- a/package/libvips/libvips.hash +++ b/package/libvips/libvips.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c5e4dd5a5c6a777c129037d19ca606769b3f1d405fcc9c8eeda906a61491f790 vips-8.8.3.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 2468088d958e0e2de1be2991ff8940bf45664a826c0dad12342e1804e2805a6e vips-8.10.6.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libvips/libvips.mk b/package/libvips/libvips.mk index 169fda9b10d..f7b15e8e06e 100644 --- a/package/libvips/libvips.mk +++ b/package/libvips/libvips.mk @@ -4,11 +4,12 @@ # ################################################################################ -LIBVIPS_VERSION = 8.8.3 +LIBVIPS_VERSION = 8.10.6 LIBVIPS_SOURCE = vips-$(LIBVIPS_VERSION).tar.gz LIBVIPS_SITE = https://github.com/libvips/libvips/releases/download/v$(LIBVIPS_VERSION) LIBVIPS_LICENSE = LGPL-2.1+ LIBVIPS_LICENSE_FILES = COPYING +LIBVIPS_CPE_ID_VENDOR = libvips_project # Sparc64 compile fails, for all optimization levels except -O0. To # fix the problem, use -O0 with no optimization instead. Bug reported @@ -23,23 +24,23 @@ LIBVIPS_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) $(LIBVIPS_CXXFLAGS)" \ LIBVIPS_CONF_OPTS = \ --without-dmalloc \ --without-gsf \ - --without-magick \ - --without-orc \ - --without-lcms \ --without-OpenEXR \ --without-openslide \ - --without-matio \ --without-cfitsio \ - --without-libwebp \ --without-pangoft2 \ - --without-x \ - --without-zip \ - --without-python + --without-x LIBVIPS_INSTALL_STAGING = YES LIBVIPS_DEPENDENCIES = \ host-pkgconf expat libglib2 \ $(TARGET_NLS_DEPENDENCIES) +ifeq ($(BR2_PACKAGE_GIFLIB),y) +LIBVIPS_CONF_OPTS += --with-giflib +LIBVIPS_DEPENDENCIES += giflib +else +LIBVIPS_CONF_OPTS += --without-giflib +endif + ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) LIBVIPS_CONF_OPTS += --enable-introspection LIBVIPS_DEPENDENCIES += gobject-introspection @@ -47,6 +48,20 @@ else LIBVIPS_CONF_OPTS += --disable-introspection endif +ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y) +LIBVIPS_CONF_OPTS += \ + --with-magick \ + --with-magickpackage=MagickCore +LIBVIPS_DEPENDENCIES += imagemagick +else ifeq ($(BR2_PACKAGE_GRAPHICSMAGICK),y) +LIBVIPS_CONF_OPTS += \ + --with-magick \ + --with-magickpackage=GraphicsMagick +LIBVIPS_DEPENDENCIES += graphicsmagick +else +LIBVIPS_CONF_OPTS += --without-magick +endif + ifeq ($(BR2_PACKAGE_JPEG),y) LIBVIPS_CONF_OPTS += --with-jpeg LIBVIPS_DEPENDENCIES += jpeg @@ -54,6 +69,13 @@ else LIBVIPS_CONF_OPTS += --without-jpeg endif +ifeq ($(BR2_PACKAGE_LCMS2),y) +LIBVIPS_CONF_OPTS += --with-lcms +LIBVIPS_DEPENDENCIES += lcms2 +else +LIBVIPS_CONF_OPTS += --without-lcms +endif + ifeq ($(BR2_PACKAGE_LIBPNG),y) LIBVIPS_CONF_OPTS += --with-png LIBVIPS_DEPENDENCIES += libpng @@ -61,6 +83,34 @@ else LIBVIPS_CONF_OPTS += --without-png endif +ifeq ($(BR2_PACKAGE_LIBRSVG),y) +LIBVIPS_CONF_OPTS += --with-rsvg +LIBVIPS_DEPENDENCIES += librsvg +else +LIBVIPS_CONF_OPTS += --without-rsvg +endif + +ifeq ($(BR2_PACKAGE_MATIO),y) +LIBVIPS_CONF_OPTS += --with-matio +LIBVIPS_DEPENDENCIES += matio +else +LIBVIPS_CONF_OPTS += --without-matio +endif + +ifeq ($(BR2_PACKAGE_ORC),y) +LIBVIPS_CONF_OPTS += --with-orc +LIBVIPS_DEPENDENCIES += orc +else +LIBVIPS_CONF_OPTS += --without-orc +endif + +ifeq ($(BR2_PACKAGE_POPPLER),y) +LIBVIPS_CONF_OPTS += --with-poppler +LIBVIPS_DEPENDENCIES += poppler +else +LIBVIPS_CONF_OPTS += --without-poppler +endif + ifeq ($(BR2_PACKAGE_TIFF),y) LIBVIPS_CONF_OPTS += --with-tiff LIBVIPS_DEPENDENCIES += tiff @@ -82,4 +132,18 @@ else LIBVIPS_CONF_OPTS += --without-libexif endif +ifeq ($(BR2_PACKAGE_WEBP_DEMUX)$(BR2_PACKAGE_WEBP_MUX),yy) +LIBVIPS_CONF_OPTS += --with-libwebp +LIBVIPS_DEPENDENCIES += webp +else +LIBVIPS_CONF_OPTS += --without-libwebp +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +LIBVIPS_CONF_OPTS += --with-zlib +LIBVIPS_DEPENDENCIES += zlib +else +LIBVIPS_CONF_OPTS += --without-zlib +endif + $(eval $(autotools-package)) diff --git a/package/libvirt/90-kvm.rules b/package/libvirt/90-kvm.rules new file mode 100644 index 00000000000..5145c27e79f --- /dev/null +++ b/package/libvirt/90-kvm.rules @@ -0,0 +1 @@ +KERNEL=="kvm", OWNER="root", GROUP="kvm", MODE="0660" diff --git a/package/libvirt/Config.in b/package/libvirt/Config.in new file mode 100644 index 00000000000..af0fc36aea4 --- /dev/null +++ b/package/libvirt/Config.in @@ -0,0 +1,93 @@ +config BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_i386 + default y if BR2_x86_64 + depends on BR2_USE_MMU # fork() + +comment "libvirt needs udev /dev management, a toolchain w/ threads, dynamic library, wchar, kernel headers >= 3.12 (4.11 for AArch64)" + depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS + depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 && \ + (BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64)) + +config BR2_PACKAGE_LIBVIRT + bool "libvirt" + depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64 + depends on BR2_PACKAGE_HAS_UDEV + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR + select BR2_PACKAGE_GNUTLS + # configure: You must install the pciaccess module to build with udev + select BR2_PACKAGE_LIBPCIACCESS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBTIRPC + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_ZLIB + # run-time dependencies + select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_INIT_SYSTEMD + help + Libvirt is collection of software that provides a convenient + way to manage virtual machines and other virtualization + functionality, such as storage and network interface + management. These software pieces include an API library, a + daemon (libvirtd), and a command line utility (virsh). + + https://libvirt.org/ + +if BR2_PACKAGE_LIBVIRT + +config BR2_PACKAGE_LIBVIRT_DAEMON + bool "libvirtd" + default y + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_DNSMASQ + select BR2_PACKAGE_EBTABLES + select BR2_PACKAGE_IPTABLES + select BR2_PACKAGE_IPROUTE2 + # These are required because there is no way to unequivocally select a modern netcat + select BR2_PACKAGE_NETCAT_OPENBSD if !BR2_PACKAGE_NMAP_NCAT + select BR2_PACKAGE_RADVD + help + Build the libvirt daemon (libvirtd) otherwise build only the + utility programs. + +# Stateful drivers are useful only when building the daemon. +if BR2_PACKAGE_LIBVIRT_DAEMON + +config BR2_PACKAGE_LIBVIRT_QEMU + bool "qemu" + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp + depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # qemu + select BR2_PACKAGE_HWDATA # libpciaccess + select BR2_PACKAGE_HWDATA_PCI_IDS # libpciaccess + select BR2_PACKAGE_LIBSECCOMP + select BR2_PACKAGE_QEMU + select BR2_PACKAGE_QEMU_SYSTEM if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = "" + select BR2_PACKAGE_YAJL + help + QEMU/KVM support + +comment "qemu needs a toolchain with gcc >= 8" + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS + depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_8 + +config BR2_PACKAGE_LIBVIRT_LXC + bool "lxc" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # lxc + select BR2_PACKAGE_LXC + help + Linux Container support + +comment "lxc needs a toolchain w/ gcc >= 4.7" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + +endif + +endif diff --git a/package/libvirt/S91virtlogd b/package/libvirt/S91virtlogd new file mode 100644 index 00000000000..03d17b5dbd6 --- /dev/null +++ b/package/libvirt/S91virtlogd @@ -0,0 +1,65 @@ +#!/bin/sh + +DAEMON="virtlogd" +EXECFILE="/usr/sbin/$DAEMON" +PIDFILE="/var/run/$DAEMON.pid" + +VIRTLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "$EXECFILE" \ + -- -d $VIRTLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" -x "$EXECFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# On receipt of SIGUSR1 virtlogd will re-exec() its binary, while maintaining +# all current logs and clients. This allows for live upgrades of the virtlogd +# service. +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s USR1 -q -p "$PIDFILE" -x "$EXECFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/libvirt/S92libvirtd b/package/libvirt/S92libvirtd new file mode 100644 index 00000000000..736519f3d06 --- /dev/null +++ b/package/libvirt/S92libvirtd @@ -0,0 +1,132 @@ +#!/bin/sh + +DAEMON="libvirtd" +EXECFILE="/usr/sbin/$DAEMON" +PIDFILE="/var/run/$DAEMON.pid" + +LIBVIRTD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +trap 'rm -f "$TMP_MODULE_LIST" "$TMP_PIDFILE_LIST"' EXIT + +is_alive() { + [ -e "$1" ] \ + && exe="/proc/$(cat "$1" 2>/dev/null)/exe" \ + && [ -s "$exe" ] \ + && [ "$(readlink -f "$exe")" = "$2" ] +} + +load_modules() { + printf 'Loading kernel modules: ' + kver="$(uname -r)" + TMP_MODULE_LIST="$(mktemp -q)" || { + echo 'FAIL creating temporary modules list' + exit 1 + } + [ -d "/lib/modules/$kver/kernel/drivers/net" ] && \ + find "/lib/modules/$kver/kernel/drivers/net" \ + -name "tun.ko*" >> "$TMP_MODULE_LIST" + [ -d "/lib/modules/$kver/kernel/drivers/vhost" ] && \ + find "/lib/modules/$kver/kernel/drivers/vhost" \ + -name "vhost?net.ko*" >> "$TMP_MODULE_LIST" + [ -d "/lib/modules/$kver/kernel/drivers/net" ] && \ + find "/lib/modules/$kver/kernel/drivers/vfio" \ + -name "*.ko*" >> "$TMP_MODULE_LIST" + while read -r f; do + m="$(basename "${f%.ko*}")" + if modprobe -q "$m"; then + printf '%s ' "$m" + else + echo "FAIL on $m" + exit 1 + fi + done < "$TMP_MODULE_LIST" + echo "OK" +} + +# +# If libvirtd dies it leves behind one stale dnsmasq per virtual network that +# must be killed before starting libvirtd again. +# +rm_stale_dnsmasq() { + [ -d /var/run/libvirt/network ] || return 0 + TMP_PIDFILE_LIST="$(mktemp -q)" || { + echo "Could not create temporary pidfile list" + exit 1 + } + find /var/run/libvirt/network -name '*.pid' > "$TMP_PIDFILE_LIST" + while read -r pidfile; do + if is_alive "$pidfile" /usr/sbin/dnsmasq; then + start-stop-daemon -K -q -p "$pidfile" -x /usr/sbin/dnsmasq + status=$? + if [ "$status" -ne 0 ]; then + echo "Could not stop stale dnsmasq daemons" + exit 1 + fi + rm -f "$pidfile" + fi + done < "$TMP_PIDFILE_LIST" +} + +start() { + if is_alive "$PIDFILE" "$EXECFILE"; then + # libvirtd is already running. Leave it alone. + printf 'Starting %s: FAIL\n' "$DAEMON" + return 1 + fi + rm_stale_dnsmasq + load_modules + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "$EXECFILE" \ + -- -d $LIBVIRTD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" -x "$EXECFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm_stale_dnsmasq + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# On receipt of SIGHUP libvirtd will reload its configuration. +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" -x "$EXECFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/libvirt/libvirt.hash b/package/libvirt/libvirt.hash new file mode 100644 index 00000000000..de9ebff5642 --- /dev/null +++ b/package/libvirt/libvirt.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 cb318014af097327928c6e3d72922e3be02a3e6401247b2aa52d9ab8e0b480f9 libvirt-7.10.0.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libvirt/libvirt.mk b/package/libvirt/libvirt.mk new file mode 100644 index 00000000000..1dc61a75495 --- /dev/null +++ b/package/libvirt/libvirt.mk @@ -0,0 +1,322 @@ +################################################################################ +# +# libvirt +# +################################################################################ + +LIBVIRT_VERSION = 7.10.0 +LIBVIRT_SITE = https://libvirt.org/sources +LIBVIRT_SOURCE = libvirt-$(LIBVIRT_VERSION).tar.xz +LIBVIRT_LICENSE = LGPL-2.1+ +LIBVIRT_LICENSE_FILES = COPYING +LIBVIRT_CPE_ID_VENDOR = redhat +LIBVIRT_INSTALL_STAGING = YES +LIBVIRT_DEPENDENCIES = \ + host-libxslt \ + host-nfs-utils \ + host-pkgconf \ + host-python-docutils \ + gnutls \ + libglib2 \ + libpciaccess \ + libtirpc \ + libxml2 \ + udev \ + zlib \ + $(TARGET_NLS_DEPENDENCIES) + +LIBVIRT_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + +LIBVIRT_CONF_ENV += \ + CFLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`" \ + LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`" + +LIBVIRT_CONF_OPTS = \ + -Drpath=disabled \ + -Dapparmor=disabled \ + -Ddocs=disabled \ + -Ddriver_bhyve=disabled \ + -Ddriver_ch=disabled \ + -Ddriver_esx=disabled \ + -Ddriver_hyperv=disabled \ + -Ddriver_libxl=disabled \ + -Ddriver_openvz=disabled \ + -Ddriver_remote=enabled \ + -Ddriver_secrets=enabled \ + -Ddriver_test=disabled \ + -Ddriver_vbox=disabled \ + -Ddriver_vmware=disabled \ + -Ddriver_vz=disabled \ + -Ddtrace=disabled \ + -Dexpensive_tests=disabled \ + -Dfirewalld=disabled \ + -Dfirewalld_zone=disabled \ + -Dglusterfs=disabled \ + -Dhost_validate=enabled \ + -Dinit_script=$(if $(BR2_INIT_SYSTEMD),systemd,none) \ + -Dlogin_shell=disabled \ + -Dnetcf=disabled \ + -Dnls=$(if $(BR2_SYSTEM_ENABLE_NLS),enabled,disabled) \ + -Dnumad=disabled \ + -Dopenwsman=disabled \ + -Dpciaccess=enabled \ + -Dpm_utils=disabled \ + -Dsanlock=disabled \ + -Dsasl=disabled \ + -Dsecdriver_apparmor=disabled \ + -Dstorage_iscsi=disabled \ + -Dstorage_iscsi_direct=disabled \ + -Dstorage_mpath=disabled \ + -Dsysctl_config=enabled \ + -Dtest_coverage=false \ + -Dtests=disabled \ + -Dudev=enabled \ + -Dwireshark_dissector=disabled + +# warning_level should only drive the level of warnings during the +# compilation of C code. However, libvirt misuses that to also +# enable SSP when warning_level == 2 +# Force warning_level=1 to disable SSP, and let our toolchain wrapper +# handle it. +LIBVIRT_CONF_OPTS += -Dwarning_level=1 + +ifeq ($(BR2_PACKAGE_ATTR),y) +LIBVIRT_CONF_OPTS += -Dattr=enabled +LIBVIRT_DEPENDENCIES += attr +else +LIBVIRT_CONF_OPTS += -Dattr=disabled +endif + +ifeq ($(BR2_PACKAGE_AUDIT),y) +LIBVIRT_CONF_OPTS += -Daudit=enabled +LIBVIRT_DEPENDENCIES += audit +else +LIBVIRT_CONF_OPTS += -Daudit=disabled +endif + +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +LIBVIRT_CONF_OPTS += -Dbash_completion=enabled +LIBVIRT_DEPENDENCIES += bash-completion +else +LIBVIRT_CONF_OPTS += -Dbash_completion=disabled +endif + +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y) +LIBVIRT_CONF_OPTS += -Dblkid=enabled +LIBVIRT_DEPENDENCIES += util-linux +else +LIBVIRT_CONF_OPTS += -Dblkid=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) +LIBVIRT_CONF_OPTS += -Dcapng=enabled +LIBVIRT_DEPENDENCIES += libcap-ng +else +LIBVIRT_CONF_OPTS += -Dcapng=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBVIRT_CONF_OPTS += -Dcurl=enabled +LIBVIRT_DEPENDENCIES += libcurl +else +LIBVIRT_CONF_OPTS += -Dcurl=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBFUSE),y) +LIBVIRT_CONF_OPTS += -Dfuse=enabled +LIBVIRT_DEPENDENCIES += libfuse +else +LIBVIRT_CONF_OPTS += -Dfuse=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBISCSI),y) +LIBVIRT_CONF_OPTS += -Dlibiscsi=enabled +LIBVIRT_DEPENDENCIES += libiscsi +else +LIBVIRT_CONF_OPTS += -Dlibiscsi=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBNL),y) +LIBVIRT_CONF_OPTS += -Dlibnl=enabled +LIBVIRT_DEPENDENCIES += libnl +else +LIBVIRT_CONF_OPTS += -Dlibnl=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBPCAP),y) +LIBVIRT_CONF_OPTS += -Dlibpcap=enabled +LIBVIRT_DEPENDENCIES += libpcap +else +LIBVIRT_CONF_OPTS += -Dlibpcap=disabled +endif + +ifeq ($(BR2_PACKAGE_NUMACTL),y) +LIBVIRT_CONF_OPTS += -Dnumactl=enabled +LIBVIRT_DEPENDENCIES += numactl +else +LIBVIRT_CONF_OPTS += -Dnumactl=disabled +endif + +ifeq ($(BR2_PACKAGE_POLKIT),y) +LIBVIRT_CONF_OPTS += -Dpolkit=enabled +LIBVIRT_DEPENDENCIES += polkit +else +LIBVIRT_CONF_OPTS += -Dpolkit=disabled +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +LIBVIRT_CONF_OPTS += -Dreadline=enabled +LIBVIRT_DEPENDENCIES += readline +else +LIBVIRT_CONF_OPTS += -Dreadline=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +LIBVIRT_CONF_OPTS += -Dselinux=enabled -Dsecdriver_selinux=enabled \ + -Dselinux_mount=/sys/fs/selinux +LIBVIRT_DEPENDENCIES += libselinux +else +LIBVIRT_CONF_OPTS += -Dselinux=disabled -Dsecdriver_selinux=disabled +endif + +ifeq ($(BR2_PACKAGE_LVM2_STANDARD_INSTALL),y) +LIBVIRT_CONF_OPTS += -Dstorage_lvm=enabled +LIBVIRT_DEPENDENCIES += host-lvm2 lvm2 +else +LIBVIRT_CONF_OPTS += -Dstorage_lvm=disabled +endif + +ifeq ($(BR2_PACKAGE_YAJL),y) +LIBVIRT_CONF_OPTS += -Dyajl=enabled +LIBVIRT_DEPENDENCIES += yajl +else +LIBVIRT_CONF_OPTS += -Dyajl=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBVIRT_DAEMON),y) +# Network is used by daemon, only +LIBVIRT_CONF_OPTS += \ + -Ddriver_interface=enabled \ + -Ddriver_libvirtd=enabled \ + -Ddriver_network=enabled + +ifeq ($(BR2_PACKAGE_LIBSSH),y) +LIBVIRT_CONF_OPTS += -Dlibssh=enabled +LIBVIRT_DEPENDENCIES += libssh +else +LIBVIRT_CONF_OPTS += -Dlibssh=disabled +endif + +# Can't build nss plugin without network or yajl +ifeq ($(BR2_PACKAGE_LIBNSS)$(BR2_PACKAGE_YAJL),yy) +LIBVIRT_CONF_OPTS += -Dnss=enabled +LIBVIRT_DEPENDENCIES += libnss +else +LIBVIRT_CONF_OPTS += -Dnss=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBSSH2),y) +LIBVIRT_CONF_OPTS += -Dlibssh2=enabled +LIBVIRT_DEPENDENCIES += libssh2 +else +LIBVIRT_CONF_OPTS += -Dlibssh2=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBVIRT_LXC),y) +LIBVIRT_CONF_OPTS += -Dlogin_shell=enabled -Ddriver_lxc=enabled +LIBVIRT_DEPENDENCIES += lxc +else +LIBVIRT_CONF_OPTS += -Dlogin_shell=disabled -Ddriver_lxc=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBVIRT_QEMU),y) +LIBVIRT_CONF_OPTS += -Ddriver_qemu=enabled -Dqemu_user=qemu -Dqemu_group=kvm +else +LIBVIRT_CONF_OPTS += -Ddriver_qemu=disabled -Dqemu_user=no -Dqemu_group=no +endif + +else # BR2_PACKAGE_LIBVIRT_DAEMON + +LIBVIRT_CONF_OPTS += \ + -Ddriver_interface=disabled \ + -Ddriver_libvirtd=disabled \ + -Ddriver_network=disabled + +endif + +define LIBVIRT_INSTALL_UDEV_RULES + $(INSTALL) -D -m 644 package/libvirt/90-kvm.rules \ + $(TARGET_DIR)/etc/udev/rules.d/90-kvm.rules +endef +LIBVIRT_POST_INSTALL_TARGET_HOOKS += LIBVIRT_INSTALL_UDEV_RULES + +# Adjust directory ownerships and permissions. Notice /var/log is a symlink to +# /tmp in the default sysvinit skeleton, so some directories may disappear at +# run-time. Set the permissions anyway, since they are valid for the default +# systemd skeleton. +define LIBVIRT_PERMISSIONS + /etc/libvirt d 700 root root - - - - - + /etc/libvirt/nwfilter d 700 root root - - - - - + /var/lib/libvirt d 755 root root - - - - - + /var/lib/libvirt/boot d 711 root root - - - - - + /var/lib/libvirt/dnsmasq d 755 root root - - - - - + /var/lib/libvirt/filesystems d 711 root root - - - - - + /var/lib/libvirt/images d 711 root root - - - - - + /var/lib/libvirt/network d 700 root root - - - - - + /var/lib/libvirt/qemu d 751 qemu kvm - - - - - + /var/lib/libvirt/qemu/autostart d 700 root root - - - - - + /var/lib/libvirt/qemu/networks d 700 root root - - - - - + /var/lib/libvirt/qemu/networks/autostart d 700 root root - - - - - + /var/lib/libvirt/qemu/channel d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/channel/target d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/dump d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/nvram d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/save d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/snapshot d 755 qemu kvm - - - - - + /var/lib/libvirt/secrets d 700 root root - - - - - + /var/lib/libvirt/storage d 755 root root - - - - - + /var/lib/libvirt/storage/autostart d 755 root root - - - - - + /var/cache/libvirt d 711 root root - - - - - + /var/cache/libvirt/lxc d 750 root root - - - - - + /var/cache/libvirt/qemu d 750 qemu kvm - - - - - + /var/cache/libvirt/qemu/capabilities d 755 root root - - - - - + /var/log/libvirt d 700 root root - - - - - + /var/log/libvirt/lxc d 750 root root - - - - - + /var/log/libvirt/qemu d 750 root root - - - - - + /var/log/swtpm d 755 root root - - - - - + /var/log/swtpm/libvirt d 755 root root - - - - - + /var/log/swtpm/libvirt/qemu d 711 root root - - - - - +endef + +# libvirt may need to create persistent files (e.g. VM definitions) in these +# directories. Move them to /var/lib because /etc may be on a read-only or +# volatile (initramfs) filesystem. We could tweak the code to change these +# paths but the patch would be large and would break compatibility with +# ordinary installations and with the documentation. +define LIBVIRT_CREATE_SYMLINKS + $(INSTALL) -m 700 -d $(TARGET_DIR)/etc/libvirt + $(INSTALL) -m 755 -d $(TARGET_DIR)/var/lib/libvirt + $(INSTALL) -m 751 -d $(TARGET_DIR)/var/lib/libvirt/qemu + $(INSTALL) -m 700 -d $(TARGET_DIR)/var/lib/libvirt/secrets + $(INSTALL) -m 755 -d $(TARGET_DIR)/var/lib/libvirt/storage + ln -s -f ../../var/lib/libvirt/qemu $(TARGET_DIR)/etc/libvirt/ + ln -s -f ../../var/lib/libvirt/secrets $(TARGET_DIR)/etc/libvirt/ + ln -s -f ../../var/lib/libvirt/storage $(TARGET_DIR)/etc/libvirt/ +endef + +LIBVIRT_PRE_INSTALL_TARGET_HOOKS += LIBVIRT_CREATE_SYMLINKS + +ifeq ($(BR2_PACKAGE_LIBVIRT_QEMU),y) +define LIBVIRT_USERS + qemu -1 kvm -1 * - - - Libvirt qemu/kvm daemon +endef +endif + +ifeq ($(BR2_PACKAGE_LIBVIRT_DAEMON),y) +define LIBVIRT_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/libvirt/S91virtlogd $(TARGET_DIR)/etc/init.d/S91virtlogd + $(INSTALL) -D -m 0755 package/libvirt/S92libvirtd $(TARGET_DIR)/etc/init.d/S92libvirtd +endef +endif + +$(eval $(meson-package)) diff --git a/package/libvncserver/Config.in b/package/libvncserver/Config.in index 2d5bf8a1824..6189b379d23 100644 --- a/package/libvncserver/Config.in +++ b/package/libvncserver/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_LIBVNCSERVER depends on !BR2_nios2 depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LZO + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help libvncserver is a VNC server/client library. diff --git a/package/libvpx/libvpx.hash b/package/libvpx/libvpx.hash index 57ee7179bad..4e9bd91dee9 100644 --- a/package/libvpx/libvpx.hash +++ b/package/libvpx/libvpx.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 d279c10e4b9316bf11a570ba16c3d55791e1ad6faa4404c67422eb631782c80a libvpx-1.9.0.tar.gz +sha256 965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83 libvpx-1.11.0.tar.gz sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 LICENSE sha256 cc3273e0694ea5896145e0677699b53471b03ea43021ddc50e7923fbb9f5023c PATENTS diff --git a/package/libvpx/libvpx.mk b/package/libvpx/libvpx.mk index 26d211cf86e..ece1ad2cb89 100644 --- a/package/libvpx/libvpx.mk +++ b/package/libvpx/libvpx.mk @@ -4,10 +4,11 @@ # ################################################################################ -LIBVPX_VERSION = 1.9.0 +LIBVPX_VERSION = 1.11.0 LIBVPX_SITE = $(call github,webmproject,libvpx,v$(LIBVPX_VERSION)) LIBVPX_LICENSE = BSD-3-Clause LIBVPX_LICENSE_FILES = LICENSE PATENTS +LIBVPX_CPE_ID_VENDOR = webmproject LIBVPX_INSTALL_STAGING = YES # ld is being used with cc options. therefore, pretend ld is cc. diff --git a/package/libwebsockets/Config.in b/package/libwebsockets/Config.in index dff6688e83d..d7b529cafd5 100644 --- a/package/libwebsockets/Config.in +++ b/package/libwebsockets/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBWEBSOCKETS bool "libwebsockets" + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ZLIB help Libwebsockets is a lightweight pure C library built to use @@ -7,3 +8,6 @@ config BR2_PACKAGE_LIBWEBSOCKETS in both directions. https://libwebsockets.org/ + +comment "libwebsockets needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libwebsockets/libwebsockets.mk b/package/libwebsockets/libwebsockets.mk index 6f752f998e5..f5557ea1c1a 100644 --- a/package/libwebsockets/libwebsockets.mk +++ b/package/libwebsockets/libwebsockets.mk @@ -27,9 +27,18 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBWEBSOCKETS_DEPENDENCIES += openssl host-openssl -LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SSL=ON +LIBWEBSOCKETS_CONF_OPTS += \ + -DLWS_WITH_SSL=ON \ + -DLWS_WITH_MBEDTLS=OFF +else ifeq ($(BR2_PACKAGE_MBEDTLS),y) +LIBWEBSOCKETS_DEPENDENCIES += mbedtls +LIBWEBSOCKETS_CONF_OPTS += \ + -DLWS_WITH_SSL=ON \ + -DLWS_WITH_MBEDTLS=ON else -LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SSL=OFF +LIBWEBSOCKETS_CONF_OPTS += \ + -DLWS_WITH_SSL=OFF \ + -DLWS_WITH_MBEDTLS=OFF endif ifeq ($(BR2_PACKAGE_LIBEV),y) @@ -69,10 +78,6 @@ else LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBUV=OFF endif -ifeq ($(BR2_STATIC_LIBS),y) -LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SHARED=OFF -endif - ifeq ($(BR2_SHARED_LIBS),y) LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_STATIC=OFF endif diff --git a/package/libwpe/0001-meson-Use-a-partial-dependency-to-pass-EGL-module-fl.patch b/package/libwpe/0001-meson-Use-a-partial-dependency-to-pass-EGL-module-fl.patch deleted file mode 100644 index e74ebe125e9..00000000000 --- a/package/libwpe/0001-meson-Use-a-partial-dependency-to-pass-EGL-module-fl.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 81bfedfa02fd864f3e4b295091d49c3eb20bb372 Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Wed, 16 Sep 2020 00:01:37 +0300 -Subject: [PATCH] meson: Use a partial dependency to pass EGL module flags - -Make Meson try to always find an "egl" dependency, if found extract -the include directories and compiler flags from ir using a partial -dependency, otherwise check that at least EGL/eglplatform.h is -available when the pkg-config module is not found. - -Fixes #70 - -Signed-off-by: Adrian Perez de Castro -[Upstrem status: https://github.com/WebPlatformForEmbedded/libwpe/pull/71] - ---- - meson.build | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 5c88aed..a05f4ab 100644 ---- a/meson.build -+++ b/meson.build -@@ -57,8 +57,16 @@ dependencies = [ - ] - - cc = meson.get_compiler('c') --if not cc.has_header('EGL/eglplatform.h') -- dependencies += dependency('egl') -+egl_dep = dependency('egl', required: false) -+if egl_dep.found() -+ dependencies += egl_dep.partial_dependency( -+ compile_args: true, -+ includes: true, -+ ) -+else -+ assert(cc.has_header('EGL/eglplatform.h'), -+ 'Required heaer not found' -+ ) - endif - - if not cc.has_function('dlopen') --- -2.28.0 - diff --git a/package/libwpe/libwpe.hash b/package/libwpe/libwpe.hash index 36cdf56664b..2ebe4f19bda 100644 --- a/package/libwpe/libwpe.hash +++ b/package/libwpe/libwpe.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/libwpe-1.8.0.tar.xz.sums -md5 328ea59dd8dee9107a49353536d00844 libwpe-1.8.0.tar.xz -sha1 3c893b1e8118a06f082d98373e279a8f8e33750d libwpe-1.8.0.tar.xz -sha256 a6f00a7d091cbd4db57fe7ee3b4c12c6350921d654ed79812800a26c888481d2 libwpe-1.8.0.tar.xz +# From https://wpewebkit.org/releases/libwpe-1.12.0.tar.xz.sums +md5 5a3f11789535d826370ba465ea141393 libwpe-1.12.0.tar.xz +sha1 91aa47a593a5db511d667b3bdbaa76dee4301311 libwpe-1.12.0.tar.xz +sha256 e8eeca228a6b4c36294cfb63f7d3ba9ada47a430904a5a973b3c99c96a44c18c libwpe-1.12.0.tar.xz # Hashes for license files: sha256 35bef295cedbbf179eaee14328002587a0e7dc08ebf3f15ea080a6f2815f0d7b COPYING diff --git a/package/libwpe/libwpe.mk b/package/libwpe/libwpe.mk index 5843e84d395..fe3c4b16d77 100644 --- a/package/libwpe/libwpe.mk +++ b/package/libwpe/libwpe.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBWPE_VERSION = 1.8.0 +LIBWPE_VERSION = 1.12.0 LIBWPE_SITE = https://wpewebkit.org/releases LIBWPE_SOURCE = libwpe-$(LIBWPE_VERSION).tar.xz LIBWPE_INSTALL_STAGING = YES diff --git a/package/libxcrypt/Config.in b/package/libxcrypt/Config.in new file mode 100644 index 00000000000..57ae8f67a32 --- /dev/null +++ b/package/libxcrypt/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBXCRYPT + bool "libxcrypt" + help + libxcrypt is a modern library for one-way hashing + of passwords. It supports a wide variety of both + modern and historical hashing methods: + yescrypt, gost-yescrypt, scrypt, bcrypt, sha512crypt, + sha256crypt, md5crypt, SunMD5, sha1crypt, NT, + bsdicrypt, bigcrypt, and descrypt. + + https://github.com/besser82/libxcrypt diff --git a/package/libxcrypt/libxcrypt.hash b/package/libxcrypt/libxcrypt.hash new file mode 100644 index 00000000000..99ddf62be01 --- /dev/null +++ b/package/libxcrypt/libxcrypt.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 e4ff47b7fa5370fa08e27258f8a0de5cb7e9b09c297ec7ab56a8a82e229a1c84 libxcrypt-4.4.27.tar.gz +sha256 f9b48b0bc67a92b752780710aa774cf08b62ec2ebaa3f4aebd00069fba6effd2 LICENSING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libxcrypt/libxcrypt.mk b/package/libxcrypt/libxcrypt.mk new file mode 100644 index 00000000000..65efa2bab9a --- /dev/null +++ b/package/libxcrypt/libxcrypt.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# libxcrypt +# +################################################################################ + +LIBXCRYPT_VERSION = 4.4.27 +LIBXCRYPT_SITE = $(call github,besser82,libxcrypt,v$(LIBXCRYPT_VERSION)) +LIBXCRYPT_LICENSE = LGPL-2.1+ +LIBXCRYPT_LICENSE_FILES = LICENSING COPYING.LIB +LIBXCRYPT_INSTALL_STAGING = YES +LIBXCRYPT_AUTORECONF = YES + +# Some warnings turn into errors with some sensitive compilers +LIBXCRYPT_CONF_OPTS = --disable-werror + +# Disable obsolete and unsecure API +LIBXCRYPT_CONF_OPTS += --disable-obsolete_api + +$(eval $(autotools-package)) diff --git a/package/libxkbcommon/Config.in b/package/libxkbcommon/Config.in index 4da12897f28..4e73a24abb9 100644 --- a/package/libxkbcommon/Config.in +++ b/package/libxkbcommon/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBXKBCOMMON processes a reduced subset of keymaps as defined by the XKB specification. - http://xkbcommon.org/ + https://xkbcommon.org diff --git a/package/libxkbcommon/libxkbcommon.hash b/package/libxkbcommon/libxkbcommon.hash index 77bb20c3ef8..c00fffe7061 100644 --- a/package/libxkbcommon/libxkbcommon.hash +++ b/package/libxkbcommon/libxkbcommon.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041660.html -sha256 a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52 libxkbcommon-1.0.3.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2021-September/041976.html +sha256 b3c710d27a2630054e1e1399c85b7f330ef03359b460f0c1b3b587fd01fe9234 libxkbcommon-1.3.1.tar.xz # License file: sha256 086caee279449369d41c1157911ec7696e707b93feba7280de757d3c470b2dfb LICENSE diff --git a/package/libxkbcommon/libxkbcommon.mk b/package/libxkbcommon/libxkbcommon.mk index b592cd99df7..ee2bc1ee99a 100644 --- a/package/libxkbcommon/libxkbcommon.mk +++ b/package/libxkbcommon/libxkbcommon.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBXKBCOMMON_VERSION = 1.0.3 -LIBXKBCOMMON_SITE = http://xkbcommon.org/download +LIBXKBCOMMON_VERSION = 1.3.1 +LIBXKBCOMMON_SITE = https://xkbcommon.org/download LIBXKBCOMMON_SOURCE = libxkbcommon-$(LIBXKBCOMMON_VERSION).tar.xz LIBXKBCOMMON_LICENSE = MIT/X11 LIBXKBCOMMON_LICENSE_FILES = LICENSE diff --git a/package/libxml2/0001-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch b/package/libxml2/0001-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch deleted file mode 100644 index a79adc3f856..00000000000 --- a/package/libxml2/0001-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0e1a49c8907645d2e155f0d89d4d9895ac5112b5 Mon Sep 17 00:00:00 2001 -From: Zhipeng Xie -Date: Thu, 12 Dec 2019 17:30:55 +0800 -Subject: [PATCH] Fix infinite loop in xmlStringLenDecodeEntities - -When ctxt->instate == XML_PARSER_EOF,xmlParseStringEntityRef -return NULL which cause a infinite loop in xmlStringLenDecodeEntities - -Found with libFuzzer. - -Fixes CVE-2020-7595: xmlStringLenDecodeEntities in parser.c in libxml2 -2.9.10 has an infinite loop in a certain end-of-file situation. - -Signed-off-by: Zhipeng Xie -Signed-off-by: Peter Korsgaard ---- - parser.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/parser.c b/parser.c -index d1c31963..a34bb6cd 100644 ---- a/parser.c -+++ b/parser.c -@@ -2646,7 +2646,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, - else - c = 0; - while ((c != 0) && (c != end) && /* non input consuming loop */ -- (c != end2) && (c != end3)) { -+ (c != end2) && (c != end3) && -+ (ctxt->instate != XML_PARSER_EOF)) { - - if (c == 0) break; - if ((c == '&') && (str[1] == '#')) { --- -2.20.1 - diff --git a/package/libxml2/0002-Fix-memory-leak-in-xmlSchemaValidateStream.patch b/package/libxml2/0002-Fix-memory-leak-in-xmlSchemaValidateStream.patch deleted file mode 100644 index 2aeddf67756..00000000000 --- a/package/libxml2/0002-Fix-memory-leak-in-xmlSchemaValidateStream.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7ffcd44d7e6c46704f8af0321d9314cd26e0e18a Mon Sep 17 00:00:00 2001 -From: Zhipeng Xie -Date: Tue, 20 Aug 2019 16:33:06 +0800 -Subject: [PATCH] Fix memory leak in xmlSchemaValidateStream - -When ctxt->schema is NULL, xmlSchemaSAXPlug->xmlSchemaPreRun -alloc a new schema for ctxt->schema and set vctxt->xsiAssemble -to 1. Then xmlSchemaVStart->xmlSchemaPreRun initialize -vctxt->xsiAssemble to 0 again which cause the alloced schema -can not be freed anymore. - -Found with libFuzzer. - -Signed-off-by: Zhipeng Xie -[import into Buildroot] -Signed-off-by: Thomas De Schampheleire ---- - xmlschemas.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/xmlschemas.c b/xmlschemas.c -index 301c8449..39d92182 100644 ---- a/xmlschemas.c -+++ b/xmlschemas.c -@@ -28090,7 +28090,6 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) { - vctxt->nberrors = 0; - vctxt->depth = -1; - vctxt->skipDepth = -1; -- vctxt->xsiAssemble = 0; - vctxt->hasKeyrefs = 0; - #ifdef ENABLE_IDC_NODE_TABLES_TEST - vctxt->createIDCNodeTables = 1; --- -2.24.1 - diff --git a/package/libxml2/0003-Fix-out-of-bounds-read-with-xmllint--htmlout.patch b/package/libxml2/0003-Fix-out-of-bounds-read-with-xmllint--htmlout.patch deleted file mode 100644 index 460f2a3ae6a..00000000000 --- a/package/libxml2/0003-Fix-out-of-bounds-read-with-xmllint--htmlout.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 50f06b3efb638efb0abd95dc62dca05ae67882c2 Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Fri, 7 Aug 2020 21:54:27 +0200 -Subject: [PATCH] Fix out-of-bounds read with 'xmllint --htmlout' - -Make sure that truncated UTF-8 sequences don't cause an out-of-bounds -array access. - -Thanks to @SuhwanSong and the Agency for Defense Development (ADD) for -the report. - -Fixes #178. - -[Retrieved from: -https://gitlab.gnome.org/GNOME/libxml2/-/commit/50f06b3efb638efb0abd95dc62dca05ae67882c2] -Signed-off-by: Fabrice Fontaine ---- - xmllint.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/xmllint.c b/xmllint.c -index f6a8e4636..c647486f3 100644 ---- a/xmllint.c -+++ b/xmllint.c -@@ -528,6 +528,12 @@ static void - xmlHTMLEncodeSend(void) { - char *result; - -+ /* -+ * xmlEncodeEntitiesReentrant assumes valid UTF-8, but the buffer might -+ * end with a truncated UTF-8 sequence. This is a hack to at least avoid -+ * an out-of-bounds read. -+ */ -+ memset(&buffer[sizeof(buffer)-4], 0, 4); - result = (char *) xmlEncodeEntitiesReentrant(NULL, BAD_CAST buffer); - if (result) { - xmlGenericError(xmlGenericErrorContext, "%s", result); --- -GitLab - diff --git a/package/libxml2/libxml2.hash b/package/libxml2/libxml2.hash index d890713a7c2..e67d3b0b8a7 100644 --- a/package/libxml2/libxml2.hash +++ b/package/libxml2/libxml2.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking pgp signature -sha256 aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f libxml2-2.9.10.tar.gz +# From http://ftp.acc.umu.se/pub/gnome/sources/libxml2/2.9/libxml2-2.9.14.sha256sum +sha256 60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee libxml2-2.9.14.tar.xz # License files, locally calculated -sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd COPYING +sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd COPYING diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index e472970fde6..3647549a4b7 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -4,17 +4,14 @@ # ################################################################################ -LIBXML2_VERSION = 2.9.10 -LIBXML2_SITE = http://xmlsoft.org/sources +LIBXML2_VERSION_MAJOR = 2.9 +LIBXML2_VERSION = $(LIBXML2_VERSION_MAJOR).14 +LIBXML2_SOURCE = libxml2-$(LIBXML2_VERSION).tar.xz +LIBXML2_SITE = \ + http://ftp.gnome.org/pub/gnome/sources/libxml2/$(LIBXML2_VERSION_MAJOR) LIBXML2_INSTALL_STAGING = YES LIBXML2_LICENSE = MIT LIBXML2_LICENSE_FILES = COPYING -# 0001-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch -LIBXML2_IGNORE_CVES += CVE-2020-7595 -# 0002-Fix-memory-leak-in-xmlSchemaValidateStream.patch -LIBXML2_IGNORE_CVES += CVE-2019-20388 -# 0003-Fix-out-of-bounds-read-with-xmllint--htmlout.patch -LIBXML2_IGNORE_CVES += CVE-2020-24977 LIBXML2_CPE_ID_VENDOR = xmlsoft LIBXML2_CONFIG_SCRIPTS = xml2-config @@ -30,6 +27,13 @@ LIBXML2_DEPENDENCIES = host-pkgconf HOST_LIBXML2_CONF_OPTS = --without-zlib --without-lzma --without-python +ifeq ($(BR2_PACKAGE_ICU),y) +LIBXML2_DEPENDENCIES += icu +LIBXML2_CONF_OPTS += --with-icu +else +LIBXML2_CONF_OPTS += --without-icu +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) LIBXML2_DEPENDENCIES += zlib LIBXML2_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr diff --git a/package/libxmlpp/Config.in b/package/libxmlpp/Config.in index 3249a843989..0b48e1082de 100644 --- a/package/libxmlpp/Config.in +++ b/package/libxmlpp/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBXMLPP bool "libxml++" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # glibmm -> libsigc depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # glibmm -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glibmm -> libglib2 @@ -12,7 +12,7 @@ config BR2_PACKAGE_LIBXMLPP https://libxmlplusplus.github.io/libxmlplusplus/ -comment "libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ +comment "libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 7" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \ ||!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU diff --git a/package/libxmlpp/libxmlpp.hash b/package/libxmlpp/libxmlpp.hash index 7a59880e7e8..50238eff006 100644 --- a/package/libxmlpp/libxmlpp.hash +++ b/package/libxmlpp/libxmlpp.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/libxml++/3.2/libxml++-3.2.0.sha256sum -sha256 b786fae7fd7820d356698069a787d107995c3efcbef50d8f4efd3766ab768e4f libxml++-3.2.0.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/libxml++/5.0/libxml++-5.0.1.sha256sum +sha256 15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098 libxml++-5.0.1.tar.xz # Hash for license file sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/package/libxmlpp/libxmlpp.mk b/package/libxmlpp/libxmlpp.mk index 98cba2a5a28..874577eb1fa 100644 --- a/package/libxmlpp/libxmlpp.mk +++ b/package/libxmlpp/libxmlpp.mk @@ -4,13 +4,17 @@ # ################################################################################ -LIBXMLPP_VERSION_MAJOR = 3.2 -LIBXMLPP_VERSION = $(LIBXMLPP_VERSION_MAJOR).0 +LIBXMLPP_VERSION_MAJOR = 5.0 +LIBXMLPP_VERSION = $(LIBXMLPP_VERSION_MAJOR).1 LIBXMLPP_LICENSE = LGPL-2.1 (library), LGPL-2.0+ (examples) LIBXMLPP_LICENSE_FILES = COPYING LIBXMLPP_SOURCE = libxml++-$(LIBXMLPP_VERSION).tar.xz LIBXMLPP_SITE = http://ftp.gnome.org/pub/GNOME/sources/libxml++/$(LIBXMLPP_VERSION_MAJOR) LIBXMLPP_INSTALL_STAGING = YES LIBXMLPP_DEPENDENCIES = libxml2 glibmm host-pkgconf +LIBXMLPP_CONF_OPTS = \ + -Dbuild-examples=false \ + -Dbuild-tests=false \ + -Dvalidation=false -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libxmlrpc/0001-use-correct-curl-config.patch b/package/libxmlrpc/0001-use-correct-curl-config.patch deleted file mode 100644 index f2f1c557baa..00000000000 --- a/package/libxmlrpc/0001-use-correct-curl-config.patch +++ /dev/null @@ -1,70 +0,0 @@ -Use correct curl-config program - -Instead of calling directly curl-config in src/Makefile (which ends up -calling the wrong curl-config: the one in the PATH instead of the one -pointed at by the environment variables at configure time), let's -define a CURL_CONFIG variable that contains the path to the proper -curl-config program, and use it where appropriate. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/Makefile -=================================================================== ---- a/src/Makefile -+++ b/src/Makefile -@@ -57,7 +57,7 @@ - TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/xmlrpc_curl_transport - TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curltransaction - TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curlmulti -- TRANSPORT_LIBDEP += $(shell curl-config --libs) -+ TRANSPORT_LIBDEP += $(shell $CURL_CONFIG --libs) - TRANSPORT_INCLUDES += -Isrcdir/lib/curl_transport - endif - ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) -Index: b/config.mk.in -=================================================================== ---- a/config.mk.in -+++ b/config.mk.in -@@ -32,6 +32,7 @@ - LSOCKET = @LSOCKET@ - WININET_LDADD = @WININET_LDADD@ - WININET_LIBDIR = @WININET_LIBDIR@ -+CURL_CONFIG = @CURL_CONFIG@ - CURL_LDADD = @CURL_LDADD@ - CURL_LIBDIR = @CURL_LIBDIR@ - LIBWWW_LDADD = @LIBWWW_LDADD@ -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -550,6 +550,8 @@ - dnl So we don't do any check now. If we find out there's a problem with - dnl older Curls, we will revisit that. - -+ AC_SUBST(CURL_CONFIG) -+ - CURL_LDADD=$($CURL_CONFIG --libs) - AC_SUBST(CURL_LDADD) - -Index: b/lib/curl_transport/Makefile -=================================================================== ---- a/lib/curl_transport/Makefile -+++ b/lib/curl_transport/Makefile -@@ -29,7 +29,7 @@ - - $(SRCDIR)/common.mk: srcdir blddir - --CURL_VERSION := $(shell curl-config --vernum) -+CURL_VERSION := $(shell $(CURL_CONFIG) --vernum) - - # Some time at or before Curl 7.12, became an empty file - # (no-op). Some time after Curl 7.18, ceased to exist. -@@ -43,7 +43,7 @@ - CFLAGS_LOCAL += -DNEED_CURL_TYPES_H - endif - --CURL_INCLUDES := $(shell curl-config --cflags) -+CURL_INCLUDES := $(shell $(CURL_CONFIG) --cflags) - # We expect that curl-config --cflags just gives us -I options, because - # we need just the -I options for 'make dep'. Plus, it's scary to think - # of what any other compiler flag would do to our compile. diff --git a/package/libxmlrpc/Config.in b/package/libxmlrpc/Config.in index d24a79163de..33d512328e5 100644 --- a/package/libxmlrpc/Config.in +++ b/package/libxmlrpc/Config.in @@ -10,5 +10,18 @@ config BR2_PACKAGE_LIBXMLRPC http://xmlrpc-c.sourceforge.net/ +if BR2_PACKAGE_LIBXMLRPC + +config BR2_PACKAGE_LIBXMLRPC_TOOLS_XMLRPC + bool "install cli tool" + depends on !BR2_STATIC_LIBS + help + Command line tool xmlrpc. + +comment "cli tool needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +endif # BR2_PACKAGE_LIBXMLRPC + comment "libxmlrpc needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libxmlrpc/libxmlrpc.hash b/package/libxmlrpc/libxmlrpc.hash index 13e3b0b5349..5d42dc05584 100644 --- a/package/libxmlrpc/libxmlrpc.hash +++ b/package/libxmlrpc/libxmlrpc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 06dcd87d9c88374559369ffbe83b3139cf41418c1a2d03f20e08808085f89fd0 xmlrpc-c-1.51.06.tgz +sha256 626e36295f43b320082bc7bdd961b46f39fbe2719535b5a417975a8e50c8f7f3 libxmlrpc-r3119-br2.tar.gz sha256 db7a6d3f187b218c3534010a83424c6bcdef88e6a0b6b1aa3a8762238bd642e6 doc/COPYING diff --git a/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk index c74d8a854c3..c1b0eae8ee5 100644 --- a/package/libxmlrpc/libxmlrpc.mk +++ b/package/libxmlrpc/libxmlrpc.mk @@ -4,9 +4,10 @@ # ################################################################################ -LIBXMLRPC_VERSION = 1.51.06 -LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz -LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION) +# 1.58.02 (code/advanced@r3119) +LIBXMLRPC_VERSION = r3119 +LIBXMLRPC_SITE = https://svn.code.sf.net/p/xmlrpc-c/code/advanced +LIBXMLRPC_SITE_METHOD = svn LIBXMLRPC_LICENSE = BSD-3-Clause (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) LIBXMLRPC_LICENSE_FILES = doc/COPYING LIBXMLRPC_INSTALL_STAGING = YES @@ -52,4 +53,16 @@ LIBXMLRPC_INSTALL_STAGING_OPTS = $(LIBXMLRPC_STATIC_OPTS) \ LIBXMLRPC_INSTALL_TARGET_OPTS = $(LIBXMLRPC_STATIC_OPTS) \ DESTDIR=$(TARGET_DIR) install +ifeq ($(BR2_PACKAGE_LIBXMLRPC_TOOLS_XMLRPC),y) +define LIBXMLRPC_TOOLS_XMLRPC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(LIBXMLRPC_MAKE_OPTS) -C $(@D)/tools/xmlrpc +endef +LIBXMLRPC_POST_BUILD_HOOKS += LIBXMLRPC_TOOLS_XMLRPC_BUILD_CMDS +define LIBXMLRPC_TOOLS_XMLRPC_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(LIBXMLRPC_MAKE_OPTS) -C $(@D)/tools/xmlrpc \ + DESTDIR=$(TARGET_DIR) install +endef +LIBXMLRPC_POST_INSTALL_TARGET_HOOKS += LIBXMLRPC_TOOLS_XMLRPC_INSTALL_TARGET_CMDS +endif + $(eval $(autotools-package)) diff --git a/package/libxslt/Config.in b/package/libxslt/Config.in index dfe5b99f04c..643bce2a618 100644 --- a/package/libxslt/Config.in +++ b/package/libxslt/Config.in @@ -13,4 +13,4 @@ config BR2_PACKAGE_LIBXSLT to describe how the document is transformed into another XML document that uses the formatting vocabulary. - http://xmlsoft.org/xslt/ + https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home diff --git a/package/libxslt/libxslt.hash b/package/libxslt/libxslt.hash index 25aa30839ec..39523a69534 100644 --- a/package/libxslt/libxslt.hash +++ b/package/libxslt/libxslt.hash @@ -1,5 +1,5 @@ -# Locally calculated after checking pgp signature -sha256 98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f libxslt-1.1.34.tar.gz +# from https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.35.sha256sum +sha256 8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79 libxslt-1.1.35.tar.xz # Hash for license file: -sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 COPYING +sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 COPYING diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index 3c603ad9f66..df0286e9868 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -4,8 +4,9 @@ # ################################################################################ -LIBXSLT_VERSION = 1.1.34 -LIBXSLT_SITE = http://xmlsoft.org/sources +LIBXSLT_VERSION = 1.1.35 +LIBXSLT_SOURCE = libxslt-$(LIBXSLT_VERSION).tar.xz +LIBXSLT_SITE = https://download.gnome.org/sources/libxslt/1.1 LIBXSLT_INSTALL_STAGING = YES LIBXSLT_LICENSE = MIT LIBXSLT_LICENSE_FILES = COPYING diff --git a/package/libyang/Config.in b/package/libyang/Config.in index fec1160a6f6..d08f8fd42fa 100644 --- a/package/libyang/Config.in +++ b/package/libyang/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_LIBYANG bool "libyang" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrinsics depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_PCRE - select BR2_PACKAGE_PCRE_UCP + select BR2_PACKAGE_PCRE2 help Libyang is YANG data modeling language parser and toolkit written (and providing API) in C. @@ -11,4 +11,5 @@ config BR2_PACKAGE_LIBYANG https://github.com/CESNET/libyang comment "libyang needs a toolchain w/ threads, dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libyang/libyang.hash b/package/libyang/libyang.hash index bc9e948c034..c129896a633 100644 --- a/package/libyang/libyang.hash +++ b/package/libyang/libyang.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c4498a77a7c12a28c9911f993eeafbf2badd2ecea58bb74781bd61cfc635e4c9 libyang-1.0.215.tar.gz -sha256 f942fe693e03e4e3ff67a351c00dc8f468a042e0d7273b0aa6bc53060b568112 LICENSE +sha256 184dd67c66c1ad968a2ee4d0950fb6b103834917b04b17af9c7bca80967636ee libyang-2.0.112.tar.gz +sha256 0b7ec43747d211a1e49c53588b0822062947bab6bdcc95238578beab34cba5bb LICENSE diff --git a/package/libyang/libyang.mk b/package/libyang/libyang.mk index ee24256bed6..a097b3ee950 100644 --- a/package/libyang/libyang.mk +++ b/package/libyang/libyang.mk @@ -4,24 +4,23 @@ # ################################################################################ -LIBYANG_VERSION = 1.0.215 +LIBYANG_VERSION = 2.0.112 LIBYANG_SITE = $(call github,CESNET,libyang,v$(LIBYANG_VERSION)) LIBYANG_LICENSE = BSD-3-Clause LIBYANG_LICENSE_FILES = LICENSE LIBYANG_INSTALL_STAGING = YES LIBYANG_CPE_ID_VENDOR = cesnet LIBYANG_SUPPORTS_IN_SOURCE_BUILD = NO -LIBYANG_DEPENDENCIES = pcre -HOST_LIBYANG_DEPENDENCIES = host-pcre +LIBYANG_DEPENDENCIES = pcre2 +HOST_LIBYANG_DEPENDENCIES = host-pcre2 LIBYANG_CONF_OPTS = \ - -DENABLE_VALGRIND_TESTS=OFF \ - -DGEN_PYTHON_BINDINGS=OFF \ - -DENABLE_LYD_PRIV=ON + -DENABLE_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF HOST_LIBYANG_CONF_OPTS = \ - -DENABLE_VALGRIND_TESTS=OFF \ - -DGEN_PYTHON_BINDINGS=OFF + -DENABLE_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/libzip/0001-Add-FindGnuTLS-cmake-from-3-17-3.patch b/package/libzip/0001-Add-FindGnuTLS-cmake-from-3-17-3.patch deleted file mode 100644 index 30bc201048e..00000000000 --- a/package/libzip/0001-Add-FindGnuTLS-cmake-from-3-17-3.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 73f6f8ebff678a0847e6b197b574082cc285b528 Mon Sep 17 00:00:00 2001 -From: Thomas Klausner -Date: Sat, 25 Jul 2020 12:03:29 +0200 -Subject: [PATCH] Add FindGnuTLS.cmake from 3.17.3. - -Addresses #199 - -[Retrieved from: -https://github.com/nih-at/libzip/commit/73f6f8ebff678a0847e6b197b574082cc285b528] -Signed-off-by: Fabrice Fontaine ---- - cmake-compat/FindGnuTLS.cmake | 82 +++++++++++++++++++++++++++++++++++ - 1 file changed, 82 insertions(+) - create mode 100644 cmake-compat/FindGnuTLS.cmake - -diff --git a/cmake-compat/FindGnuTLS.cmake b/cmake-compat/FindGnuTLS.cmake -new file mode 100644 -index 00000000..819f0001 ---- /dev/null -+++ b/cmake-compat/FindGnuTLS.cmake -@@ -0,0 +1,82 @@ -+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying -+# file Copyright.txt or https://cmake.org/licensing for details. -+ -+#[=======================================================================[.rst: -+FindGnuTLS -+---------- -+ -+Find the GNU Transport Layer Security library (gnutls) -+ -+IMPORTED Targets -+^^^^^^^^^^^^^^^^ -+ -+This module defines :prop_tgt:`IMPORTED` target ``GnuTLS::GnuTLS``, if -+gnutls has been found. -+ -+Result Variables -+^^^^^^^^^^^^^^^^ -+ -+``GNUTLS_FOUND`` -+ System has gnutls -+``GNUTLS_INCLUDE_DIR`` -+ The gnutls include directory -+``GNUTLS_LIBRARIES`` -+ The libraries needed to use gnutls -+``GNUTLS_DEFINITIONS`` -+ Compiler switches required for using gnutls -+``GNUTLS_VERSION`` -+ version of gnutls. -+#]=======================================================================] -+ -+# Note that this doesn't try to find the gnutls-extra package. -+ -+ -+if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY) -+ # in cache already -+ set(gnutls_FIND_QUIETLY TRUE) -+endif () -+ -+if (NOT WIN32) -+ # try using pkg-config to get the directories and then use these values -+ # in the find_path() and find_library() calls -+ # also fills in GNUTLS_DEFINITIONS, although that isn't normally useful -+ find_package(PkgConfig QUIET) -+ PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls) -+ set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER}) -+ set(GNUTLS_VERSION ${PC_GNUTLS_VERSION}) -+ # keep for backward compatibility -+ set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION}) -+endif () -+ -+find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h -+ HINTS -+ ${PC_GNUTLS_INCLUDEDIR} -+ ${PC_GNUTLS_INCLUDE_DIRS} -+ ) -+ -+find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls -+ HINTS -+ ${PC_GNUTLS_LIBDIR} -+ ${PC_GNUTLS_LIBRARY_DIRS} -+ ) -+ -+mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY) -+ -+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS -+ REQUIRED_VARS GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR -+ VERSION_VAR GNUTLS_VERSION_STRING) -+ -+if(GNUTLS_FOUND) -+ set(GNUTLS_LIBRARIES ${GNUTLS_LIBRARY}) -+ set(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR}) -+ -+ if(NOT TARGET GnuTLS::GnuTLS) -+ add_library(GnuTLS::GnuTLS UNKNOWN IMPORTED) -+ set_target_properties(GnuTLS::GnuTLS PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIRS}" -+ INTERFACE_COMPILE_DEFINITIONS "${GNUTLS_DEFINITIONS}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${GNUTLS_LIBRARIES}") -+ endif() -+endif() diff --git a/package/libzip/0002-Include-limits.h-for-INT_MAX.patch b/package/libzip/0002-Include-limits.h-for-INT_MAX.patch deleted file mode 100644 index c488f052898..00000000000 --- a/package/libzip/0002-Include-limits.h-for-INT_MAX.patch +++ /dev/null @@ -1,27 +0,0 @@ -From fd89e242d16128dedef08f47d99ae56aa19b0591 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=98rjan=20Malde?= -Date: Wed, 15 Jul 2020 12:16:16 +0200 -Subject: [PATCH] Include limits.h for INT_MAX - -[Retrieved from: -https://github.com/nih-at/libzip/commit/fd89e242d16128dedef08f47d99ae56aa19b0591] -Signed-off-by: Paul Cercueil ---- - lib/zip_crypto_openssl.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/zip_crypto_openssl.c b/lib/zip_crypto_openssl.c -index 1cb00479..60f92758 100644 ---- a/lib/zip_crypto_openssl.c -+++ b/lib/zip_crypto_openssl.c -@@ -38,6 +38,7 @@ - #include "zip_crypto.h" - - #include -+#include - - #if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) - #define USE_OPENSSL_1_0_API --- -2.28.0 - diff --git a/package/libzip/libzip.hash b/package/libzip/libzip.hash index a298b9aba92..5afdfd7cb8c 100644 --- a/package/libzip/libzip.hash +++ b/package/libzip/libzip.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a60473ffdb7b4260c08bfa19c2ccea0438edac11193c3afbbb1f17fbcf6c6132 libzip-1.7.3.tar.xz +sha256 f0763bda24ba947e80430be787c4b068d8b6aa6027a26a19923f0acfa3dac97e libzip-1.8.0.tar.xz sha256 deae392de70503672793ee784d603bfa8069dcd5974a325dfbf91160f3a147d6 LICENSE diff --git a/package/libzip/libzip.mk b/package/libzip/libzip.mk index 4a028f970a1..6bc5c5c1939 100644 --- a/package/libzip/libzip.mk +++ b/package/libzip/libzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBZIP_VERSION = 1.7.3 +LIBZIP_VERSION = 1.8.0 LIBZIP_SITE = https://libzip.org/download LIBZIP_SOURCE = libzip-$(LIBZIP_VERSION).tar.xz LIBZIP_LICENSE = BSD-3-Clause @@ -54,5 +54,12 @@ else LIBZIP_CONF_OPTS += -DENABLE_LZMA=OFF endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +LIBZIP_DEPENDENCIES += zstd +LIBZIP_CONF_OPTS += -DENABLE_ZSTD=ON +else +LIBZIP_CONF_OPTS += -DENABLE_ZSTD=OFF +endif + $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/libzlib/0001-Fix-configure-issue-that-discarded-provided-CC-definition.patch b/package/libzlib/0001-Fix-configure-issue-that-discarded-provided-CC-definition.patch new file mode 100644 index 00000000000..398e1c9481b --- /dev/null +++ b/package/libzlib/0001-Fix-configure-issue-that-discarded-provided-CC-definition.patch @@ -0,0 +1,28 @@ +From 05796d3d8d5546cf1b4dfe2cd72ab746afae505d Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Mon, 28 Mar 2022 18:34:10 -0700 +Subject: [PATCH] Fix configure issue that discarded provided CC definition. + +Downloaded from upstream commit: +https://github.com/madler/zlib/commit/05796d3d8d5546cf1b4dfe2cd72ab746afae505d + +Signed-off-by: Bernd Kuhls +--- + configure | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure b/configure +index 52ff4a04e..3fa3e8618 100755 +--- a/configure ++++ b/configure +@@ -174,7 +174,10 @@ if test -z "$CC"; then + else + cc=${CROSS_PREFIX}cc + fi ++else ++ cc=${CC} + fi ++ + cflags=${CFLAGS-"-O3"} + # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure + case "$cc" in diff --git a/package/libzlib/libzlib.hash b/package/libzlib/libzlib.hash index e3736b10118..e6ca974e2fd 100644 --- a/package/libzlib/libzlib.hash +++ b/package/libzlib/libzlib.hash @@ -1,4 +1,4 @@ # From http://www.zlib.net/ -sha256 4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066 zlib-1.2.11.tar.xz +sha256 7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18 zlib-1.2.12.tar.xz # License files, locally calculated -sha256 7960b6b1cc63e619abb77acaea5427159605afee8c8b362664f4effc7d7f7d15 README +sha256 fc2c3368901700f0acdeb1d8afeaca5923296768ec6824ecdf627aac396001fd README diff --git a/package/libzlib/libzlib.mk b/package/libzlib/libzlib.mk index a10fc748d17..933732d6ba0 100644 --- a/package/libzlib/libzlib.mk +++ b/package/libzlib/libzlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBZLIB_VERSION = 1.2.11 +LIBZLIB_VERSION = 1.2.12 LIBZLIB_SOURCE = zlib-$(LIBZLIB_VERSION).tar.xz LIBZLIB_SITE = http://www.zlib.net LIBZLIB_LICENSE = Zlib diff --git a/package/lightning/lightning.mk b/package/lightning/lightning.mk index 3bd17bef56a..da8c07e61f7 100644 --- a/package/lightning/lightning.mk +++ b/package/lightning/lightning.mk @@ -9,6 +9,7 @@ LIGHTNING_SITE = $(BR2_GNU_MIRROR)/lightning LIGHTNING_LICENSE = LGPL-3.0+ LIGHTNING_LICENSE_FILES = COPYING.LESSER LIGHTNING_INSTALL_STAGING = YES +LIGHTNING_CPE_ID_VENDOR = gnu # We're patching include/Makefile.am LIGHTNING_AUTORECONF = YES diff --git a/package/lighttpd/0001-Fix-default-config-file.patch b/package/lighttpd/0001-Fix-default-config-file.patch deleted file mode 100644 index 47a859770d5..00000000000 --- a/package/lighttpd/0001-Fix-default-config-file.patch +++ /dev/null @@ -1,85 +0,0 @@ -Modify the default lighttpd configuration file to have one a starting conf - - * Changed the log path to /var/log and logs filenames - * Disable IPv6 - * Do not setuid to a user that doesn't exist on the system - * Change the network backend to writev since linux-sendfile fails on buildroot - -Signed-off-by: Maxime Ripard -Signed-off-by: Simon Dawson -[Gustavo: update for 1.4.37] -Signed-off-by: Gustavo Zacarias - -diff -Nura lighttpd-1.4.37.orig/doc/config/conf.d/access_log.conf lighttpd-1.4.37/doc/config/conf.d/access_log.conf ---- lighttpd-1.4.37.orig/doc/config/conf.d/access_log.conf 2015-09-01 14:38:48.684673663 -0300 -+++ lighttpd-1.4.37/doc/config/conf.d/access_log.conf 2015-09-01 14:38:53.975855142 -0300 -@@ -9,7 +9,7 @@ - ## - ## Default access log. - ## --accesslog.filename = log_root + "/access.log" -+accesslog.filename = log_root + "/lighttpd-access.log" - - ## - ## The default format produces CLF compatible output. -diff -Nura lighttpd-1.4.37.orig/doc/config/lighttpd.conf lighttpd-1.4.37/doc/config/lighttpd.conf ---- lighttpd-1.4.37.orig/doc/config/lighttpd.conf 2015-09-01 14:38:48.684673663 -0300 -+++ lighttpd-1.4.37/doc/config/lighttpd.conf 2015-09-01 14:39:40.256442492 -0300 -@@ -13,8 +13,8 @@ - ## if you add a variable here. Add the corresponding variable in the - ## chroot example aswell. - ## --var.log_root = "/var/log/lighttpd" --var.server_root = "/srv/www" -+var.log_root = "/var/log" -+var.server_root = "/var/www" - var.state_dir = "/run" - var.home_dir = "/var/lib/lighttpd" - var.conf_dir = "/etc/lighttpd" -@@ -90,7 +90,7 @@ - ## - ## Use IPv6? - ## --server.use-ipv6 = "enable" -+# server.use-ipv6 = "enable" - - ## - ## bind to a specific IP -@@ -101,8 +101,8 @@ - ## Run as a different username/groupname. - ## This requires root permissions during startup. - ## --server.username = "lighttpd" --server.groupname = "lighttpd" -+server.username = "www-data" -+server.groupname = "www-data" - - ## - ## Enable lighttpd to serve requests on sockets received from systemd -@@ -118,7 +118,7 @@ - ## - ## Document root - ## --server.document-root = server_root + "/htdocs" -+server.document-root = server_root - - ## - ## The value for the "Server:" response field. -@@ -144,7 +144,7 @@ - ## - ## Path to the error log file - ## --server.errorlog = log_root + "/error.log" -+server.errorlog = log_root + "/lighttpd-error.log" - - ## - ## If you want to log to syslog you have to unset the -@@ -195,7 +195,7 @@ - ## sendfile - is recommended for small files. - ## writev - is recommended for sending many large files - ## --server.network-backend = "sendfile" -+server.network-backend = "writev" - - ## - ## As lighttpd is a single-threaded server, its main resource limit is diff --git a/package/lighttpd/0001-Modify-the-default-lighttpd-configuration-file-to-ha.patch b/package/lighttpd/0001-Modify-the-default-lighttpd-configuration-file-to-ha.patch new file mode 100644 index 00000000000..1a887655b8b --- /dev/null +++ b/package/lighttpd/0001-Modify-the-default-lighttpd-configuration-file-to-ha.patch @@ -0,0 +1,98 @@ +From d1de409b0aeb8dffd42673444043caf01437804e Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 13 Dec 2021 22:07:17 +0100 +Subject: [PATCH] Modify the default lighttpd configuration file to have one a + starting conf + + * Changed the log path to /var/log and logs filenames + * Disable IPv6 + * Do not setuid to a user that doesn't exist on the system + * Change the network backend to writev since linux-sendfile fails on buildroot + +Signed-off-by: Maxime Ripard +Signed-off-by: Simon Dawson +[Gustavo: update for 1.4.37] +Signed-off-by: Gustavo Zacarias +--- + doc/config/conf.d/access_log.conf | 2 +- + doc/config/lighttpd.conf | 16 ++++++++-------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/doc/config/conf.d/access_log.conf b/doc/config/conf.d/access_log.conf +index e685d43..92cff4f 100644 +--- a/doc/config/conf.d/access_log.conf ++++ b/doc/config/conf.d/access_log.conf +@@ -9,7 +9,7 @@ server.modules += ( "mod_accesslog" ) + ## + ## Default access log. + ## +-accesslog.filename = log_root + "/access.log" ++accesslog.filename = log_root + "/lighttpd-access.log" + + ## + ## The default format produces CLF compatible output. +diff --git a/doc/config/lighttpd.conf b/doc/config/lighttpd.conf +index 495d2a1..c3e1446 100644 +--- a/doc/config/lighttpd.conf ++++ b/doc/config/lighttpd.conf +@@ -13,8 +13,8 @@ + ## if you add a variable here. Add the corresponding variable in the + ## chroot example as well. + ## +-var.log_root = "/var/log/lighttpd" +-var.server_root = "/srv/www" ++var.log_root = "/var/log" ++var.server_root = "/var/www" + var.state_dir = "/run" + var.home_dir = "/var/lib/lighttpd" + var.conf_dir = "/etc/lighttpd" +@@ -90,7 +90,7 @@ server.port = 80 + ## + ## Use IPv6? + ## +-server.use-ipv6 = "enable" ++# server.use-ipv6 = "enable" + + ## + ## bind to a specific IP +@@ -101,8 +101,8 @@ server.use-ipv6 = "enable" + ## Run as a different username/groupname. + ## This requires root permissions during startup. + ## +-server.username = "lighttpd" +-server.groupname = "lighttpd" ++server.username = "www-data" ++server.groupname = "www-data" + + ## + ## Enable lighttpd to serve requests on sockets received from systemd +@@ -118,7 +118,7 @@ server.groupname = "lighttpd" + ## + ## Document root + ## +-server.document-root = server_root + "/htdocs" ++server.document-root = server_root + + ## + ## The value for the "Server:" response field. +@@ -144,7 +144,7 @@ server.pid-file = state_dir + "/lighttpd.pid" + ## + ## Path to the error log file + ## +-server.errorlog = log_root + "/error.log" ++server.errorlog = log_root + "/lighttpd-error.log" + + ## + ## If you want to log to syslog you have to unset the +@@ -192,7 +192,7 @@ include conf_dir + "/conf.d/debug.conf" + ## and write(). Every modern OS provides its own syscall to help network + ## servers transfer files as fast as possible + ## +-#server.network-backend = "sendfile" ++server.network-backend = "writev" + + ## + ## As lighttpd is a single-threaded server, its main resource limit is +-- +2.34.1 + diff --git a/package/lighttpd/0002-build-meson-fix-typo-in-variable-name.patch b/package/lighttpd/0002-build-meson-fix-typo-in-variable-name.patch new file mode 100644 index 00000000000..d338979d465 --- /dev/null +++ b/package/lighttpd/0002-build-meson-fix-typo-in-variable-name.patch @@ -0,0 +1,25 @@ +From 876a1e1b2cc21282a0df5245004197cdffe1d380 Mon Sep 17 00:00:00 2001 +From: Glenn Strauss +Date: Thu, 20 Jan 2022 07:04:51 -0500 +Subject: [PATCH] [build] meson: fix typo in variable name + +[Retrieved from: +https://github.com/lighttpd/lighttpd1.4/commit/876a1e1b2cc21282a0df5245004197cdffe1d380] +Signed-off-by: Fabrice Fontaine +--- + src/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/meson.build b/src/meson.build +index 4ee163468..b35c1037f 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -266,7 +266,7 @@ endif + libbrotli = [] + if get_option('with_brotli') + libbrotli = [ compiler.find_library('brotlienc') ] +- if compiler.has_function('BrotliEncoderCreateInstance', args: defs, dependencies: libbrotlienc, prefix: '#include ') ++ if compiler.has_function('BrotliEncoderCreateInstance', args: defs, dependencies: libbrotli, prefix: '#include ') + conf_data.set('HAVE_BROTLI_ENCODE_H', true) + conf_data.set('HAVE_BROTLI', true) + else diff --git a/package/lighttpd/Config.in b/package/lighttpd/Config.in index e9a5aa34f0f..5d9e6245067 100644 --- a/package/lighttpd/Config.in +++ b/package/lighttpd/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_LIGHTTPD bool "lighttpd" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_XXHASH help lighttpd a secure, fast, compliant and very flexible web-server which has been optimized for high-performance @@ -20,6 +21,55 @@ config BR2_PACKAGE_LIGHTTPD if BR2_PACKAGE_LIGHTTPD +config BR2_PACKAGE_LIGHTTPD_BROTLI + bool "brotli support" + select BR2_PACKAGE_BROTLI + help + Enable brotli support for lighttpd mod_deflate. + +config BR2_PACKAGE_LIGHTTPD_BZIP2 + bool "bzip2 support" + select BR2_PACKAGE_BZIP2 + help + Enable bzip2 support for lighttpd mod_deflate. + +config BR2_PACKAGE_LIGHTTPD_KRB5 + bool "krb5 support" + select BR2_PACKAGE_LIBKRB5 + help + Enable Kerberos5 support for lighttpd mod_auth. + +config BR2_PACKAGE_LIGHTTPD_LDAP + bool "ldap support" + depends on BR2_USE_WCHAR # openldap + select BR2_PACKAGE_OPENLDAP + help + Enable LDAP support for lighttpd mod_auth mod_vhostdb_ldap. + +comment "ldap support needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR + +config BR2_PACKAGE_LIGHTTPD_LUA + bool "lua support" + depends on BR2_PACKAGE_LUA + help + Enable Lua support. Needed to support mod_magnet + +config BR2_PACKAGE_LIGHTTPD_MAXMINDDB + bool "maxminddb support" + select BR2_PACKAGE_LIBMAXMINDDB + help + Enable MaxMind GeoIP2 support. Needed to support mod_maxminddb + +config BR2_PACKAGE_LIGHTTPD_MYSQL + bool "mysql support" + depends on BR2_PACKAGE_MARIADB + help + Enable mysql support for lighttpd mod_vhostdb_mysql. + +comment "mysql support needs mariadb" + depends on !BR2_PACKAGE_MARIADB + config BR2_PACKAGE_LIGHTTPD_OPENSSL bool "openssl support" select BR2_PACKAGE_OPENSSL @@ -33,24 +83,28 @@ config BR2_PACKAGE_LIGHTTPD_PAM help Enable PAM authentication support for lighttpd. -config BR2_PACKAGE_LIGHTTPD_ZLIB - bool "zlib support" - select BR2_PACKAGE_ZLIB - help - Enable zlib support for lighttpd mod_compress. - -config BR2_PACKAGE_LIGHTTPD_BZIP2 - bool "bzip2 support" - select BR2_PACKAGE_BZIP2 - help - Enable bzip2 support for lighttpd mod_compress. - config BR2_PACKAGE_LIGHTTPD_PCRE bool "pcre support" - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 help Enable PCRE support. Needed to support mod_rewrite +config BR2_PACKAGE_LIGHTTPD_PGSQL + bool "pgsql support" + depends on BR2_USE_MMU # postgresql + depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql + select BR2_PACKAGE_POSTGRESQL + help + Enable postgres support for lighttpd mod_vhostdb_pgsql. + +comment "pgsql support needs a toolchain w/ wchar" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR + +comment "pgsql support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_LIGHTTPD_WEBDAV bool "webdav support" select BR2_PACKAGE_LIBXML2 @@ -58,10 +112,16 @@ config BR2_PACKAGE_LIGHTTPD_WEBDAV help Enable webdav support. Needed to support mod_webdav -config BR2_PACKAGE_LIGHTTPD_LUA - bool "lua support" - depends on BR2_PACKAGE_LUA +config BR2_PACKAGE_LIGHTTPD_ZLIB + bool "zlib support" + select BR2_PACKAGE_ZLIB help - Enable Lua support. Needed to support mod_magnet + Enable zlib support for lighttpd mod_deflate. + +config BR2_PACKAGE_LIGHTTPD_ZSTD + bool "zstd support" + select BR2_PACKAGE_ZSTD + help + Enable zstd support for lighttpd mod_deflate. endif diff --git a/package/lighttpd/lighttpd.hash b/package/lighttpd/lighttpd.hash index 0a7cdfe3bcb..ce026b9b4a6 100644 --- a/package/lighttpd/lighttpd.hash +++ b/package/lighttpd/lighttpd.hash @@ -1,4 +1,4 @@ -# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.58.sha256sum -sha256 267feffda13a190ebdce7b15172d8be16da98008457f30fddecd72832d126d0e lighttpd-1.4.58.tar.xz +# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.sha512sum +sha512 8e2ad0830ff80fcebf0c33600caafb5ab4e9ff6b5073c12572f88a44fdfe85f777fa8b22b2fc2964fecbeb556997ad660867dcee80efb224d63329c8b18ea936 lighttpd-1.4.64.tar.xz # Locally calculated sha256 5c98cad2fbaf5c5e2562bcbab401a7c557c1bb1bac9914ecc63730925052fb13 COPYING diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk index 028ff17aa63..595c59cb372 100644 --- a/package/lighttpd/lighttpd.mk +++ b/package/lighttpd/lighttpd.mk @@ -5,72 +5,133 @@ ################################################################################ LIGHTTPD_VERSION_MAJOR = 1.4 -LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).58 +LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).64 LIGHTTPD_SOURCE = lighttpd-$(LIGHTTPD_VERSION).tar.xz LIGHTTPD_SITE = http://download.lighttpd.net/lighttpd/releases-$(LIGHTTPD_VERSION_MAJOR).x LIGHTTPD_LICENSE = BSD-3-Clause LIGHTTPD_LICENSE_FILES = COPYING LIGHTTPD_CPE_ID_VENDOR = lighttpd -LIGHTTPD_DEPENDENCIES = host-pkgconf +LIGHTTPD_DEPENDENCIES = host-pkgconf xxhash LIGHTTPD_CONF_OPTS = \ - --without-wolfssl \ - --libdir=/usr/lib/lighttpd \ - --libexecdir=/usr/lib + -Dwith_dbi=false \ + -Dwith_fam=false \ + -Dwith_gnutls=false \ + -Dwith_libev=false \ + -Dwith_libunwind=false \ + -Dwith_mbedtls=false \ + -Dwith_nettle=false \ + -Dwith_nss=false \ + -Dwith_pcre=false \ + -Dwith_sasl=false \ + -Dwith_wolfssl=false \ + -Dwith_xattr=false \ + -Dwith_xxhash=true \ + -Dbuild_extra_warnings=false \ + -Dbuild_static=false \ + -Dmoduledir=lib/lighttpd -ifeq ($(BR2_PACKAGE_LIGHTTPD_OPENSSL),y) -LIGHTTPD_DEPENDENCIES += openssl -LIGHTTPD_CONF_OPTS += --with-openssl +ifeq ($(BR2_PACKAGE_LIGHTTPD_BROTLI),y) +LIGHTTPD_DEPENDENCIES += brotli +LIGHTTPD_CONF_OPTS += -Dwith_brotli=true else -LIGHTTPD_CONF_OPTS += --without-openssl +LIGHTTPD_CONF_OPTS += -Dwith_brotli=false endif -ifeq ($(BR2_PACKAGE_LIGHTTPD_PAM),y) -LIGHTTPD_DEPENDENCIES += linux-pam -LIGHTTPD_CONF_OPTS += --with-pam +ifeq ($(BR2_PACKAGE_LIGHTTPD_BZIP2),y) +LIGHTTPD_DEPENDENCIES += bzip2 +LIGHTTPD_CONF_OPTS += -Dwith_bzip=true else -LIGHTTPD_CONF_OPTS += --without-pam +LIGHTTPD_CONF_OPTS += -Dwith_bzip=false endif -ifeq ($(BR2_PACKAGE_LIGHTTPD_ZLIB),y) -LIGHTTPD_DEPENDENCIES += zlib -LIGHTTPD_CONF_OPTS += --with-zlib +ifeq ($(BR2_PACKAGE_LIGHTTPD_KRB5),y) +LIGHTTPD_DEPENDENCIES += libkrb5 +LIGHTTPD_CONF_OPTS += -Dwith_krb5=true else -LIGHTTPD_CONF_OPTS += --without-zlib +LIGHTTPD_CONF_OPTS += -Dwith_krb5=false endif -ifeq ($(BR2_PACKAGE_LIGHTTPD_BZIP2),y) -LIGHTTPD_DEPENDENCIES += bzip2 -LIGHTTPD_CONF_OPTS += --with-bzip2 +ifeq ($(BR2_PACKAGE_LIGHTTPD_LDAP),y) +LIGHTTPD_DEPENDENCIES += openldap +LIGHTTPD_CONF_OPTS += -Dwith_ldap=true +else +LIGHTTPD_CONF_OPTS += -Dwith_ldap=false +endif + +ifeq ($(BR2_PACKAGE_LIGHTTPD_LUA),y) +LIGHTTPD_DEPENDENCIES += lua +LIGHTTPD_CONF_OPTS += -Dwith_lua=true +else +LIGHTTPD_CONF_OPTS += -Dwith_lua=false +endif + +ifeq ($(BR2_PACKAGE_LIGHTTPD_MAXMINDDB),y) +LIGHTTPD_DEPENDENCIES += libmaxminddb +LIGHTTPD_CONF_OPTS += -Dwith_maxminddb=true +else +LIGHTTPD_CONF_OPTS += -Dwith_maxminddb=false +endif + +ifeq ($(BR2_PACKAGE_LIGHTTPD_MYSQL),y) +LIGHTTPD_DEPENDENCIES += mysql +LIGHTTPD_CONF_OPTS += -Dwith_mysql=true else -LIGHTTPD_CONF_OPTS += --without-bzip2 +LIGHTTPD_CONF_OPTS += -Dwith_mysql=false +endif + +ifeq ($(BR2_PACKAGE_LIGHTTPD_OPENSSL),y) +LIGHTTPD_DEPENDENCIES += openssl +LIGHTTPD_CONF_OPTS += -Dwith_openssl=true +else +LIGHTTPD_CONF_OPTS += -Dwith_openssl=false +endif + +ifeq ($(BR2_PACKAGE_LIGHTTPD_PAM),y) +LIGHTTPD_DEPENDENCIES += linux-pam +LIGHTTPD_CONF_OPTS += -Dwith_pam=true +else +LIGHTTPD_CONF_OPTS += -Dwith_pam=false endif ifeq ($(BR2_PACKAGE_LIGHTTPD_PCRE),y) -LIGHTTPD_CONF_ENV = PCRECONFIG=$(STAGING_DIR)/usr/bin/pcre-config -LIGHTTPD_DEPENDENCIES += pcre -LIGHTTPD_CONF_OPTS += --with-pcre +LIGHTTPD_DEPENDENCIES += pcre2 +LIGHTTPD_CONF_OPTS += -Dwith_pcre2=true else -LIGHTTPD_CONF_OPTS += --without-pcre +LIGHTTPD_CONF_OPTS += -Dwith_pcre2=false +endif + +ifeq ($(BR2_PACKAGE_LIGHTTPD_PGSQL),y) +LIGHTTPD_DEPENDENCIES += postgresql +LIGHTTPD_CONF_OPTS += -Dwith_pgsql=true +else +LIGHTTPD_CONF_OPTS += -Dwith_pgsql=false endif ifeq ($(BR2_PACKAGE_LIGHTTPD_WEBDAV),y) LIGHTTPD_DEPENDENCIES += libxml2 sqlite -LIGHTTPD_CONF_OPTS += --with-webdav-props +LIGHTTPD_CONF_OPTS += -Dwith_webdav_props=true ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) -LIGHTTPD_CONF_OPTS += --with-webdav-locks +LIGHTTPD_CONF_OPTS += -Dwith_webdav_locks=true LIGHTTPD_DEPENDENCIES += util-linux else -LIGHTTPD_CONF_OPTS += --without-webdav-locks +LIGHTTPD_CONF_OPTS += -Dwith_webdav_locks=false endif else -LIGHTTPD_CONF_OPTS += --without-webdav-props --without-webdav-locks +LIGHTTPD_CONF_OPTS += -Dwith_webdav_props=false -Dwith_webdav_locks=false endif -ifeq ($(BR2_PACKAGE_LIGHTTPD_LUA),y) -LIGHTTPD_DEPENDENCIES += lua -LIGHTTPD_CONF_OPTS += --with-lua +ifeq ($(BR2_PACKAGE_LIGHTTPD_ZLIB),y) +LIGHTTPD_DEPENDENCIES += zlib +LIGHTTPD_CONF_OPTS += -Dwith_zlib=true +else +LIGHTTPD_CONF_OPTS += -Dwith_zlib=false +endif + +ifeq ($(BR2_PACKAGE_LIGHTTPD_ZSTD),y) +LIGHTTPD_DEPENDENCIES += zstd +LIGHTTPD_CONF_OPTS += -Dwith_zstd=true else -LIGHTTPD_CONF_OPTS += --without-lua +LIGHTTPD_CONF_OPTS += -Dwith_zstd=false endif define LIGHTTPD_INSTALL_CONFIG @@ -104,4 +165,4 @@ define LIGHTTPD_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/usr/lib/tmpfiles.d/lighttpd.conf endef -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/lilv/Config.in b/package/lilv/Config.in new file mode 100644 index 00000000000..08d54bcf8bc --- /dev/null +++ b/package/lilv/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LILV + bool "lilv" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LV2 + select BR2_PACKAGE_SERD + select BR2_PACKAGE_SORD + select BR2_PACKAGE_SRATOM + help + Lilv is a C library to make the use of LV2 plugins as simple + as possible for applications. + + https://drobilla.net/software/lilv.html + +comment "lilv needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/lilv/lilv.hash b/package/lilv/lilv.hash new file mode 100644 index 00000000000..afa20fc0834 --- /dev/null +++ b/package/lilv/lilv.hash @@ -0,0 +1,4 @@ +# Locally calculated after checking signature +# https://download.drobilla.net/lilv-0.24.12.tar.bz2.asc +sha256 26a37790890c9c1f838203b47f5b2320334fe92c02a4d26ebbe2669dbd769061 lilv-0.24.12.tar.bz2 +sha256 e06562d6bcf0341b2ac2ad0f0ca36801d2ebf388d5ef297011625e4c36e963f0 COPYING diff --git a/package/lilv/lilv.mk b/package/lilv/lilv.mk new file mode 100644 index 00000000000..5f9186e66ad --- /dev/null +++ b/package/lilv/lilv.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# lilv +# +################################################################################ + +LILV_VERSION = 0.24.12 +LILV_SITE = https://download.drobilla.net +LILV_SOURCE = lilv-$(LILV_VERSION).tar.bz2 +LILV_LICENSE = ISC +LILV_LICENSE_FILES = COPYING +LILV_DEPENDENCIES = host-pkgconf lv2 serd sord sratom +LILV_INSTALL_STAGING = YES + +LILV_CONF_OPTS += \ + --dyn-manifest \ + --no-bash-completion \ + --no-coverage + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LILV_DEPENDENCIES += python3 +else +LILV_CONF_OPTS += --no-bindings +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +LILV_DEPENDENCIES += libsndfile +endif + +$(eval $(waf-package)) diff --git a/package/linenoise/linenoise.mk b/package/linenoise/linenoise.mk index f51e2871e74..a8fe7674c2b 100644 --- a/package/linenoise/linenoise.mk +++ b/package/linenoise/linenoise.mk @@ -19,9 +19,12 @@ define LINENOISE_BUILD_CMDS endef define LINENOISE_INSTALL_STAGING_CMDS - $(INSTALL) -m 644 -D $(@D)/linenoise.h $(STAGING_DIR)/usr/include/linenoise.h - $(INSTALL) -m 644 -D $(@D)/liblinenoise.a $(STAGING_DIR)/usr/lib/liblinenoise.a - $(INSTALL) -m 755 -D $(@D)/linenoise_example $(STAGING_DIR)/usr/bin/linenoise_example + $(INSTALL) -m 644 -D $(@D)/linenoise.h \ + $(STAGING_DIR)/usr/include/linenoise.h + $(INSTALL) -m 644 -D $(@D)/liblinenoise.a \ + $(STAGING_DIR)/usr/lib/liblinenoise.a + $(INSTALL) -m 755 -D $(@D)/linenoise_example \ + $(STAGING_DIR)/usr/bin/linenoise_example endef $(eval $(generic-package)) diff --git a/package/links/Config.in b/package/links/Config.in index 713f53da4e4..cc2389c9f16 100644 --- a/package/links/Config.in +++ b/package/links/Config.in @@ -10,11 +10,15 @@ if BR2_PACKAGE_LINKS config BR2_PACKAGE_LINKS_GRAPHICS bool "use graphics" - depends on BR2_PACKAGE_DIRECTFB || BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_GPM || BR2_PACKAGE_DIRECTFB || BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBPNG help - Enable graphics output for DirectFB or X11. + Enable graphics output for framebuffer, DirectFB or X11. + Framebuffer output requires GPM (console mouse). Otherwise links will be text-mode only. +comment "links graphics needs GPM, DirectFB or X11" + depends on !BR2_PACKAGE_GPM && !BR2_PACKAGE_DIRECTFB && !BR2_PACKAGE_XORG7 + endif diff --git a/package/links/links.hash b/package/links/links.hash index f941c2cd1b3..0f8cd329378 100644 --- a/package/links/links.hash +++ b/package/links/links.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 285eed8591c7781ec26213df82786665aaa1b9286782e8a7a1a7e2a6e1630d63 links-2.21.tar.bz2 +sha256 2dd78508698e8279ef4f09a3a2a21e9595040113402da6c553974414fb49dd2c links-2.25.tar.bz2 sha256 92deeb70791366630095d4e0714fe37d6e2bd5db0e6ef498ebb8de328f45b253 COPYING diff --git a/package/links/links.mk b/package/links/links.mk index 5213e02bd55..1f1a7a91894 100644 --- a/package/links/links.mk +++ b/package/links/links.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINKS_VERSION = 2.21 +LINKS_VERSION = 2.25 LINKS_SOURCE = links-$(LINKS_VERSION).tar.bz2 LINKS_SITE = http://links.twibright.com/download LINKS_DEPENDENCIES = host-pkgconf diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in index a41310ff2a9..c94ffe24def 100644 --- a/package/linux-firmware/Config.in +++ b/package/linux-firmware/Config.in @@ -79,6 +79,16 @@ config BR2_PACKAGE_LINUX_FIRMWARE_AR3012_USB help Firmware files for Atheros bluetooth chipset AR3012 on USB. +config BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT + bool "Realtek 87xx Bluetooth" + help + Realtek 8723a/8723b/8723bs/8723d/8723ds/8761a + +config BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT + bool "Realtek 88xx Bluetooth" + help + Realtek 8821a/8821c/8822b/8822cs/8822cu/8852au + config BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560 bool "TI CC2560" help @@ -130,11 +140,13 @@ config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX bool "Broadcom BRCM bcm43xx" + select BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX help Firmware files for the Broadcom bcm43xx SoftMAC and FullMAC. config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX bool "Broadcom BRCM bcm43xxx" + select BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX help Firmware files for the Broadcom bcm43xxx, SoftMAC and FullMAC. @@ -148,6 +160,21 @@ config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0 help Firmware file for the Broadcom 4366c0 FullMAC chip. +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX + bool "Cypress CY cyw43xx" + help + Firmware files for the Cypress cyw43xx FullMAC. + +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX + bool "Cypress CY cyw43xxx" + help + Firmware files for the Cypress cyw43xxx FullMAC. + +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX + bool "Cypress CY cyw54xxx" + help + Firmware files for the Cypress cyw54xxx FullMAC. + config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260 bool "Intel iwlwifi 22260" help @@ -294,6 +321,18 @@ config BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897 help Firmware files for the Marvell Wifi-Ex 8897 module on PCI-E. +config BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUART8997 + bool "Marvell Wifi-Ex 8997 PCI-E/UART" + help + Firmware files for the Marvell Wifi-Ex 8997 module on + PCI-E/UART. + +config BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUSB8997 + bool "Marvell Wifi-Ex 8997 PCI-E/USB" + help + Firmware files for the Marvell Wifi-Ex 8997 module on + PCI-E/USB. + config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U bool "MediaTek MT7601U" help @@ -410,6 +449,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100 Firmware files for Intel 825xx handled by driver e100 (e100) +config BR2_PACKAGE_LINUX_FIRMWARE_INTEL_ICE + bool "Intel Ethernet 800 Series" + help + Firmware files for Intel Ethernet 800 Series Network Adapters + (ice) + config BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY bool "Microchip VSC85xx PHYs" help @@ -423,6 +468,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X Firmware files for QLogic FastLinQ 4xxxx ethernet devices (qede) +config BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X + bool "Realtek 8152/8153/8156 USB Ethernet Adapaters" + help + Firmware files for Realtek 8152/8153/8156 based USB Ethernet + adapters. + config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169 bool "Realtek 8169" help @@ -496,4 +547,14 @@ config BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI endmenu +menu "V4L Firmware" + +config BR2_PACKAGE_LINUX_FIRMWARE_CX231XX + bool "Conexant Cx23100/101/102 USB broadcast A/V decoder" + help + Firmware files for Conexant Cx23100/101/102 USB broadcast + A/V decoder needed by the Linux CX231XX driver. + +endmenu + endif diff --git a/package/linux-firmware/linux-firmware.hash b/package/linux-firmware/linux-firmware.hash index 12af68f2d3b..83275ec6d74 100644 --- a/package/linux-firmware/linux-firmware.hash +++ b/package/linux-firmware/linux-firmware.hash @@ -1,5 +1,7 @@ -# Locally calculated -sha256 f97d6d884026c5e3641909946713dcfea580c307d47830d37d42bfcc9a93870a linux-firmware-20201022-br1.tar.gz +# From https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/sha256sums.asc +sha256 eeddb4e6bef31fd1a3757f12ccc324929bbad97855c0b9ec5ed780f74de1837d linux-firmware-20211216.tar.xz + +# Hash for license files sha256 8116433f4004fc0c24d72b3d9e497808b724aa0e5e1cd63fc1bf66b715b1e2e9 LICENCE.Abilis sha256 8d5847d2971241d4d6a51c16e206379de53a6d4e203fa6f8e1c1e9279c7c4ad0 LICENSE.amdgpu sha256 2d6062d63b91eb750bf741498691604f75184b9fee97608ec537cd09bd6a42b4 LICENCE.Marvell @@ -9,10 +11,11 @@ sha256 631065703055d11b099477c508508f20a80b202aad548a7726564bfa59a96c91 ath10k sha256 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx sha256 a5777f9e80aca0603b0648454de996168b1c530322550ccda94d6d78bcf6c061 LICENCE.chelsio_firmware +sha256 ae0db6cc4db33941148df0f67de53e76a77b1b5a46b3165edb7040aa2750015f LICENCE.cypress sha256 60fbc9cccb455e1a3306c97db942d6f24fa93664be61d54c497637e6d0e2ae83 LICENCE.fw_sst_0f28 sha256 5181b0b51efc79d5acb2c9bb92042878fdbad97a92114d4ab5e32e2b5b52fce4 LICENCE.ibt_firmware sha256 0e0c11073ba3c832097da38e0905da36b8a3526f219407977b13b71c6675be7d LICENCE.it913x -sha256 e295020afd7597dc1b3bbe50a84a7e432d9cb92bc053c1c5e657b50d2517627b LICENCE.iwlwifi_firmware +sha256 16d5040c7cf851fc693b7542e20870935b99802533ea1bfd231c377a2305e5c5 LICENCE.iwlwifi_firmware sha256 0fc67bd715b3395f3f2af464781910e9e69c4ba23da304352229b42dc9e986c3 LICENCE.microchip sha256 2051d5bf0755a0668f8c3d9a0d1c41d4b8cc411aba70f720fda71ae9e3b4d25c LICENCE.qat_firmware sha256 4071a11d878dbc0ac6d9e71203d03b151638f9d7a8bc47a54c3cb964100d5822 LICENCE.qla2xxx @@ -30,6 +33,6 @@ sha256 8542aeabf2761935122d693561e16766ce1bcc2b0d003204f9040b7d6d929f2e LICENS sha256 be904cd28cb292b80cdb6cf412ab0d9159d431671e987ad433c1f62e0988a9bc LICENSE.qcom sha256 fc6223d4bfe9f2f9e2eddc44b9fe5721d0caf49f01cb08d602906add686d8c6f LICENSE.radeon sha256 2bdd2e716f05d9737d3f9a20f9a3a3c0caee0e866100ddb0673f1178e42f92b9 LICENSE.sdma_firmware -sha256 18313654864adbb76514e21566528ce57eff42a2a7a66d5823f1f91e895816ea WHENCE +sha256 dfb98c5474d6264a6554322b3936e305e9d73cc7b683932e3f17550dc7d2d29b WHENCE sha256 fa43e1b9a13b341a07adca9dbe73d0f9072d7966fdfe811c01f0dd2872d7309a qcom/NOTICE.txt sha256 bef9c828e84f21e7835b4de7daf954a327e1ff777871b58e116039b684c0d604 LICENCE.e100 diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk index f23da171c6c..2d103df05c4 100644 --- a/package/linux-firmware/linux-firmware.mk +++ b/package/linux-firmware/linux-firmware.mk @@ -4,9 +4,10 @@ # ################################################################################ -LINUX_FIRMWARE_VERSION = 20201022 -LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git -LINUX_FIRMWARE_SITE_METHOD = git +LINUX_FIRMWARE_VERSION = 20211216 +LINUX_FIRMWARE_SOURCE = linux-firmware-$(LINUX_FIRMWARE_VERSION).tar.xz +LINUX_FIRMWARE_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/firmware +LINUX_FIRMWARE_INSTALL_IMAGES = YES LINUX_FIRMWARE_CPE_ID_VENDOR = kernel @@ -64,6 +65,27 @@ LINUX_FIRMWARE_FILES += qca/rampatch_usb_00000302.bin qca/nvm_usb_00000302.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom endif +# Realtek 87xx Bluetooth +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT),y) +LINUX_FIRMWARE_FILES += \ + rtl_bt/rtl8723a_fw.bin rtl_bt/rtl8723b_fw.bin \ + rtl_bt/rtl8723bs_config-OBDA8723.bin \ + rtl_bt/rtl8723bs_fw.bin rtl_bt/rtl8723d_config.bin \ + rtl_bt/rtl8723d_fw.bin rtl_bt/rtl8761a_fw.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt +endif + +# Realtek 88xx Bluetooth +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT),y) +LINUX_FIRMWARE_FILES += \ + rtl_bt/rtl8812ae_fw.bin rtl_bt/rtl8821a_fw.bin \ + rtl_bt/rtl8821c_config.bin rtl_bt/rtl8821c_fw.bin \ + rtl_bt/rtl8822b_config.bin rtl_bt/rtl8822b_fw.bin \ + rtl_bt/rtl8822cs_config.bin rtl_bt/rtl8822cs_fw.bin \ + rtl_bt/rtl8822cu_config.bin rtl_bt/rtl8822cu_fw.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt +endif + # rt2501/rt61 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y) LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin @@ -85,27 +107,37 @@ endif # rtl81xx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y) LINUX_FIRMWARE_FILES += \ - rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \ - rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \ - rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \ - rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \ + rtlwifi/rtl8192cfw.bin \ + rtlwifi/rtl8192cfwU.bin \ + rtlwifi/rtl8192cfwU_B.bin \ + rtlwifi/rtl8192cufw.bin \ + rtlwifi/rtl8192defw.bin \ + rtlwifi/rtl8192sefw.bin \ + rtlwifi/rtl8188efw.bin \ + rtlwifi/rtl8188eufw.bin \ rtlwifi/rtl8192cufw_A.bin \ - rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin \ - rtlwifi/rtl8192eefw.bin rtlwifi/rtl8192eu_ap_wowlan.bin \ - rtlwifi/rtl8192eu_nic.bin rtlwifi/rtl8192eu_wowlan.bin + rtlwifi/rtl8192cufw_B.bin \ + rtlwifi/rtl8192cufw_TMSC.bin \ + rtlwifi/rtl8192eu_ap_wowlan.bin \ + rtlwifi/rtl8192eu_nic.bin \ + rtlwifi/rtl8192eu_wowlan.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif # rtl87xx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y) LINUX_FIRMWARE_FILES += \ - rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin \ - rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin \ - rtlwifi/rtl8723aufw_A.bin rtlwifi/rtl8723aufw_B.bin \ - rtlwifi/rtl8723aufw_B_NoBT.bin rtlwifi/rtl8723befw.bin \ - rtlwifi/rtl8723bs_ap_wowlan.bin rtlwifi/rtl8723bs_bt.bin \ - rtlwifi/rtl8723bs_nic.bin rtlwifi/rtl8723bs_wowlan.bin \ - rtlwifi/rtl8723bu_ap_wowlan.bin rtlwifi/rtl8723bu_nic.bin \ + rtlwifi/rtl8712u.bin \ + rtlwifi/rtl8723fw.bin \ + rtlwifi/rtl8723fw_B.bin \ + rtlwifi/rtl8723befw.bin \ + rtlwifi/rtl8723aufw_A.bin \ + rtlwifi/rtl8723aufw_B.bin \ + rtlwifi/rtl8723aufw_B_NoBT.bin \ + rtlwifi/rtl8723befw.bin \ + rtlwifi/rtl8723bs_bt.bin \ + rtlwifi/rtl8723bu_ap_wowlan.bin \ + rtlwifi/rtl8723bu_nic.bin \ rtlwifi/rtl8723bu_wowlan.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif @@ -296,6 +328,18 @@ LINUX_FIRMWARE_FILES += mrvl/pcie8897_uapsta.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell endif +# pcieuart8997 +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUART8997),y) +LINUX_FIRMWARE_FILES += mrvl/pcieuart8997_combo_v4.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell +endif + +# pcieusb8997 +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUSB8997),y) +LINUX_FIRMWARE_FILES += mrvl/pcieusb8997_combo_v4.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell +endif + # MT7601 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U),y) LINUX_FIRMWARE_FILES += mt7601u.bin @@ -484,6 +528,11 @@ LINUX_FIRMWARE_FILES += e100/*.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.e100 endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_ICE),y) +LINUX_FIRMWARE_FILES += intel/ice/ddp/*.pkg +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.ice_enhanced +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY),y) LINUX_FIRMWARE_FILES += microchip/mscc_vsc85*.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.microchip @@ -496,6 +545,19 @@ LINUX_FIRMWARE_FILES += \ # which is installed unconditionally endif +# rtl815x +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X),y) +LINUX_FIRMWARE_FILES += \ + rtl_nic/rtl8153a-2.fw \ + rtl_nic/rtl8153a-3.fw \ + rtl_nic/rtl8153a-4.fw \ + rtl_nic/rtl8153b-2.fw \ + rtl_nic/rtl8153c-1.fw \ + rtl_nic/rtl8156a-2.fw \ + rtl_nic/rtl8156b-2.fw +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y) LINUX_FIRMWARE_FILES += \ rtl_nic/rtl8105e-1.fw \ @@ -556,26 +618,45 @@ endif # brcm43xx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y) LINUX_FIRMWARE_FILES += \ - brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw \ - brcm/bcm4329-fullmac-4.bin brcm/brcmfmac4329-sdio.bin \ - brcm/brcmfmac4330-sdio.bin brcm/brcmfmac4334-sdio.bin \ - brcm/brcmfmac4335-sdio.bin brcm/brcmfmac4339-sdio.bin \ - brcm/brcmfmac4350-pcie.bin brcm/brcmfmac4354-sdio.bin \ - brcm/brcmfmac4356-pcie.bin brcm/brcmfmac4371-pcie.bin + brcm/bcm4329-fullmac-4.bin \ + brcm/brcmfmac4329-sdio.bin \ + brcm/brcmfmac4330-sdio.bin \ + brcm/brcmfmac4334-sdio.bin \ + brcm/brcmfmac4335-sdio.bin \ + brcm/brcmfmac4350c2-pcie.bin \ + brcm/brcmfmac4350-pcie.bin \ + brcm/brcmfmac4358-pcie.bin \ + brcm/brcmfmac4371-pcie.bin \ + brcm/brcmfmac4373.bin \ + brcm/brcmfmac4330-sdio.Prowise-PT301.txt \ + brcm/brcmfmac4356-pcie.gpd-win-pocket.txt \ + brcm/brcmfmac4356-sdio.vamrs,rock960.txt LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx endif # brcm43xxx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y) LINUX_FIRMWARE_FILES += \ - brcm/brcmfmac43143.bin brcm/brcmfmac43143-sdio.bin \ - brcm/brcmfmac43236b.bin brcm/brcmfmac43241b0-sdio.bin \ - brcm/brcmfmac43241b4-sdio.bin brcm/brcmfmac43241b5-sdio.bin \ - brcm/brcmfmac43242a.bin brcm/brcmfmac43340-sdio.bin \ - brcm/brcmfmac43362-sdio.bin brcm/brcmfmac43430-sdio.bin \ - brcm/brcmfmac43430a0-sdio.bin brcm/brcmfmac43455-sdio.bin \ - brcm/brcmfmac43569.bin brcm/brcmfmac43570-pcie.bin \ - brcm/brcmfmac43602-pcie.ap.bin brcm/brcmfmac43602-pcie.bin \ + brcm/brcmfmac43143.bin \ + brcm/brcmfmac43143-sdio.bin \ + brcm/brcmfmac43236b.bin \ + brcm/brcmfmac43241b0-sdio.bin \ + brcm/brcmfmac43241b4-sdio.bin \ + brcm/brcmfmac43241b5-sdio.bin \ + brcm/brcmfmac43242a.bin \ + brcm/brcmfmac43430a0-sdio.bin \ + brcm/brcmfmac43569.bin \ + brcm/brcmfmac43602-pcie.ap.bin \ + brcm/brcmfmac43602-pcie.bin \ + brcm/brcmfmac43340-sdio.meegopad-t08.txt \ + brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt \ + brcm/brcmfmac43340-sdio.predia-basic.txt \ + brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt \ + brcm/brcmfmac43430a0-sdio.ilife-S806.txt \ + brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt \ + brcm/brcmfmac43430-sdio.AP6212.txt \ + brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt \ + brcm/brcmfmac43430-sdio.MUR1DX.txt \ brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \ brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \ brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt @@ -584,18 +665,55 @@ endif # brcm4366b1 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366B1),y) -LINUX_FIRMWARE_FILES += \ - brcm/brcmfmac4366b-pcie.bin brcm/brcmfmac4366b-pcie.bin +LINUX_FIRMWARE_FILES += brcm/brcmfmac4366b-pcie.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx endif # brcm4366c0 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0),y) -LINUX_FIRMWARE_FILES += \ - brcm/brcmfmac4366c-pcie.bin brcm/brcmfmac4366c-pcie.bin +LINUX_FIRMWARE_FILES += brcm/brcmfmac4366c-pcie.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx endif +# cyfmac43xx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac4339-sdio.bin \ + cypress/cyfmac4354-sdio.bin \ + cypress/cyfmac4354-sdio.clm_blob \ + cypress/cyfmac4356-pcie.bin \ + cypress/cyfmac4356-pcie.clm_blob \ + cypress/cyfmac4356-sdio.bin \ + cypress/cyfmac4356-sdio.clm_blob \ + cypress/cyfmac4373-sdio.bin \ + cypress/cyfmac4373-sdio.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + +# cyfmac43xxx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac43012-sdio.bin \ + cypress/cyfmac43012-sdio.clm_blob \ + cypress/cyfmac43340-sdio.bin \ + cypress/cyfmac43362-sdio.bin \ + cypress/cyfmac43430-sdio.bin \ + cypress/cyfmac43430-sdio.clm_blob \ + cypress/cyfmac43455-sdio.bin \ + cypress/cyfmac43455-sdio.clm_blob \ + cypress/cyfmac43570-pcie.bin \ + cypress/cyfmac43570-pcie.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + +# cyfmac54xxx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac54591-pcie.bin \ + cypress/cyfmac54591-pcie.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + # ql2xxx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y) LINUX_FIRMWARE_FILES += \ @@ -638,27 +756,19 @@ LINUX_FIRMWARE_FILES += ti_3410.fw ti_5052.fw \ LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.moxa endif -ifneq ($(LINUX_FIRMWARE_FILES),) -define LINUX_FIRMWARE_INSTALL_FILES - cd $(@D) && \ - $(TAR) cf install.tar $(sort $(LINUX_FIRMWARE_FILES)) && \ - $(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware -endef -endif - -ifneq ($(LINUX_FIRMWARE_DIRS),) -# We need to rm-rf the destination directory to avoid copying -# into it in itself, should we re-install the package. -define LINUX_FIRMWARE_INSTALL_DIRS - $(foreach d,$(LINUX_FIRMWARE_DIRS), \ - rm -rf $(TARGET_DIR)/lib/firmware/$(d); \ - mkdir -p $(dir $(TARGET_DIR)/lib/firmware/$(d)); \ - cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep)) -endef +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CX231XX),y) +LINUX_FIRMWARE_FILES += v4l-cx231xx-avcore-01.fw +# No license file; the license is in the file WHENCE +# which is installed unconditionally endif ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),) +define LINUX_FIRMWARE_BUILD_CMDS + cd $(@D) && \ + $(TAR) cf br-firmware.tar $(sort $(LINUX_FIRMWARE_FILES) $(LINUX_FIRMWARE_DIRS)) +endef + # Most firmware files are under a proprietary license, so no need to # repeat it for every selections above. Those firmwares that have more # lax licensing terms may still add them on a per-case basis. @@ -673,8 +783,6 @@ LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE # duplicates LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES)) -endif - # Some firmware are distributed as a symlink, for drivers to load them using a # defined name other than the real one. Since 9cfefbd7fbda ("Remove duplicate # symlinks") those symlink aren't distributed in linux-firmware but are created @@ -686,22 +794,27 @@ endif # sure we canonicalize the pointed-to file, to cover the symlinks of the form # a/foo -> ../b/foo where a/ (the directory where to put the symlink) does # not yet exist. -define LINUX_FIRMWARE_CREATE_SYMLINKS - cd $(TARGET_DIR)/lib/firmware/ ; \ +define LINUX_FIRMWARE_INSTALL_FW + mkdir -p $(1) + $(TAR) xf $(@D)/br-firmware.tar -C $(1) + cd $(1) ; \ sed -r -e '/^Link: (.+) -> (.+)$$/!d; s//\1 \2/' $(@D)/WHENCE | \ while read f d; do \ - if test -f $$(readlink -m $$(dirname $$f)/$$d); then \ - mkdir -p $$(dirname $$f) || exit 1; \ - ln -sf $$d $$f || exit 1; \ + if test -f $$(readlink -m $$(dirname "$$f")/$$d); then \ + mkdir -p $$(dirname "$$f") || exit 1; \ + ln -sf $$d "$$f" || exit 1; \ fi ; \ done endef +endif # LINUX_FIRMWARE_FILES || LINUX_FIRMWARE_DIRS + define LINUX_FIRMWARE_INSTALL_TARGET_CMDS - mkdir -p $(TARGET_DIR)/lib/firmware - $(LINUX_FIRMWARE_INSTALL_FILES) - $(LINUX_FIRMWARE_INSTALL_DIRS) - $(LINUX_FIRMWARE_CREATE_SYMLINKS) + $(call LINUX_FIRMWARE_INSTALL_FW, $(TARGET_DIR)/lib/firmware) +endef + +define LINUX_FIRMWARE_INSTALL_IMAGES_CMDS + $(call LINUX_FIRMWARE_INSTALL_FW, $(BINARIES_DIR)) endef $(eval $(generic-package)) diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 2ddee289df5..82c13fd10f5 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -6,7 +6,7 @@ config BR2_PACKAGE_HOST_LINUX_HEADERS choice prompt "Kernel Headers" default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL - default BR2_KERNEL_HEADERS_5_10 + default BR2_KERNEL_HEADERS_5_15 help Select the kernel version to get headers from. @@ -57,6 +57,14 @@ config BR2_KERNEL_HEADERS_5_4 config BR2_KERNEL_HEADERS_5_10 bool "Linux 5.10.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + +config BR2_KERNEL_HEADERS_5_15 + bool "Linux 5.15.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 + +config BR2_KERNEL_HEADERS_5_16 + bool "Linux 5.16.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16 select BR2_KERNEL_HEADERS_LATEST config BR2_KERNEL_HEADERS_VERSION @@ -119,6 +127,9 @@ endif choice bool "Custom kernel headers series" + depends on !BR2_LINUX_KERNEL_LATEST_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL + depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL + depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL || \ BR2_KERNEL_HEADERS_CUSTOM_TARBALL || BR2_KERNEL_HEADERS_CUSTOM_GIT help @@ -131,8 +142,32 @@ choice If your kernel headers are more recent than the latest version in the choice, then select the latest version. +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16 + bool "5.16.x or later" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15 + bool "5.15.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14 + bool "5.14.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13 + bool "5.13.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12 + bool "5.12.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_11 + bool "5.11.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11 + config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10 - bool "5.10.x or later" + bool "5.10.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9 @@ -346,12 +381,14 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "4.4.258" if BR2_KERNEL_HEADERS_4_4 - default "4.9.258" if BR2_KERNEL_HEADERS_4_9 - default "4.14.222" if BR2_KERNEL_HEADERS_4_14 - default "4.19.177" if BR2_KERNEL_HEADERS_4_19 - default "5.4.101" if BR2_KERNEL_HEADERS_5_4 - default "5.10.19" if BR2_KERNEL_HEADERS_5_10 + default "4.4.302" if BR2_KERNEL_HEADERS_4_4 + default "4.9.317" if BR2_KERNEL_HEADERS_4_9 + default "4.14.282" if BR2_KERNEL_HEADERS_4_14 + default "4.19.246" if BR2_KERNEL_HEADERS_4_19 + default "5.4.197" if BR2_KERNEL_HEADERS_5_4 + default "5.10.120" if BR2_KERNEL_HEADERS_5_10 + default "5.15.45" if BR2_KERNEL_HEADERS_5_15 + default "5.16.20" if BR2_KERNEL_HEADERS_5_16 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \ diff --git a/package/linux-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk index a8d1c2ccaf5..e2a0b7a7c96 100644 --- a/package/linux-headers/linux-headers.mk +++ b/package/linux-headers/linux-headers.mk @@ -33,8 +33,19 @@ LINUX_HEADERS_REPO_URL = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTOM_REPO_URL)) LINUX_HEADERS_CIP = endif # BR2_KERNEL_HEADERS_AS_KERNEL +ifeq ($(BR2_KERNEL_HEADERS_VERSION)$(BR_BUILDING),yy) +ifeq ($(LINUX_HEADERS_VERSION),) +$(error No kernel headers version set, check your BR2_DEFAULT_KERNEL_VERSION setting) +endif +endif + # Compute LINUX_HEADERS_SOURCE and LINUX_HEADERS_SITE from the configuration ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL),y) +ifeq ($(BR_BUILDING),y) +ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION),) +$(error No kernel headers tarball location set, check your BR2_KERNEL_HEADERS_CUSTOM_TARBALL_LOCATION setting) +endif +endif LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION)) LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION))) else ifeq ($(LINUX_HEADERS_CUSTOM_GIT),y) diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in index 84aee5cdd44..27ba55bd617 100644 --- a/package/linux-pam/Config.in +++ b/package/linux-pam/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LINUX_PAM bool "linux-pam" - depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) + depends on BR2_ENABLE_LOCALE + depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() select BR2_PACKAGE_FLEX @@ -11,5 +12,6 @@ config BR2_PACKAGE_LINUX_PAM http://linux-pam.org comment "linux-pam needs a toolchain w/ wchar, locale, dynamic library" - depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ + depends on BR2_USE_MMU + depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR \ || BR2_STATIC_LIBS diff --git a/package/linux-pam/linux-pam.hash b/package/linux-pam/linux-pam.hash index be7cabf6dc1..0be34336872 100644 --- a/package/linux-pam/linux-pam.hash +++ b/package/linux-pam/linux-pam.hash @@ -1,6 +1,6 @@ # Locally computed hashes after checking signature at -# https://github.com/linux-pam/linux-pam/releases/download/v1.5.0/Linux-PAM-1.5.1.tar.xz.asc +# https://github.com/linux-pam/linux-pam/releases/download/v1.5.2/Linux-PAM-1.5.2.tar.xz.asc # signed with the key 8C6BFD92EE0F42EDF91A6A736D1A7F052E5924BB -sha256 201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc Linux-PAM-1.5.1.tar.xz +sha256 e4ec7131a91da44512574268f493c6d8ca105c87091691b8e9b56ca685d4f94d Linux-PAM-1.5.2.tar.xz # Locally computed sha256 133d98e7a2ab3ffd330b4debb0bfc10fea21e4b2b5a5b09de2e924293be5ff08 Copyright diff --git a/package/linux-pam/linux-pam.mk b/package/linux-pam/linux-pam.mk index 9c0815db240..789dcf5c7b6 100644 --- a/package/linux-pam/linux-pam.mk +++ b/package/linux-pam/linux-pam.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_PAM_VERSION = 1.5.1 +LINUX_PAM_VERSION = 1.5.2 LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.xz LINUX_PAM_SITE = https://github.com/linux-pam/linux-pam/releases/download/v$(LINUX_PAM_VERSION) LINUX_PAM_INSTALL_STAGING = YES @@ -17,6 +17,7 @@ LINUX_PAM_CONF_OPTS = \ --enable-securedir=/lib/security \ --libdir=/lib LINUX_PAM_DEPENDENCIES = flex host-flex host-pkgconf \ + $(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt) \ $(TARGET_NLS_DEPENDENCIES) LINUX_PAM_LICENSE = BSD-3-Clause LINUX_PAM_LICENSE_FILES = Copyright @@ -41,6 +42,13 @@ else LINUX_PAM_CONF_OPTS += --disable-audit endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LINUX_PAM_CONF_OPTS += --enable-openssl +LINUX_PAM_DEPENDENCIES += openssl +else +LINUX_PAM_CONF_OPTS += --disable-openssl +endif + # Install default pam config (deny everything except login) define LINUX_PAM_INSTALL_CONFIG $(INSTALL) -m 0644 -D package/linux-pam/login.pam \ diff --git a/package/linux-serial-test/linux-serial-test.hash b/package/linux-serial-test/linux-serial-test.hash index 5cbf00a7e43..38b98a610f6 100644 --- a/package/linux-serial-test/linux-serial-test.hash +++ b/package/linux-serial-test/linux-serial-test.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bfc25088e960c18e151f978b13d893dbee9a3e377e062bd56caab1bd409e4dcb linux-serial-test-13bea838f2a7573d2a68a6d95fc9d1f153b580be.tar.gz +sha256 bd612ad9c10cb8090765487d5e2969be09dd0d024e7215dc764e770fbb5cc9e0 linux-serial-test-bf865c37ccf9cbb1826ada61037c036dc1990b7b.tar.gz sha256 a2a6760c2c6fa779a635e4a7ad00f668862ebcadb2a8a57d16662543e103e08c LICENSES/MIT diff --git a/package/linux-serial-test/linux-serial-test.mk b/package/linux-serial-test/linux-serial-test.mk index b0f5fe4ebf4..ccb39280ecd 100644 --- a/package/linux-serial-test/linux-serial-test.mk +++ b/package/linux-serial-test/linux-serial-test.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_SERIAL_TEST_VERSION = 13bea838f2a7573d2a68a6d95fc9d1f153b580be +LINUX_SERIAL_TEST_VERSION = bf865c37ccf9cbb1826ada61037c036dc1990b7b LINUX_SERIAL_TEST_SITE = $(call github,cbrake,linux-serial-test,$(LINUX_SERIAL_TEST_VERSION)) LINUX_SERIAL_TEST_LICENSE = MIT LINUX_SERIAL_TEST_LICENSE_FILES = LICENSES/MIT diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in index ceb58c668a8..732ac65a256 100644 --- a/package/linux-tools/Config.in +++ b/package/linux-tools/Config.in @@ -7,12 +7,16 @@ config BR2_PACKAGE_LINUX_TOOLS config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER bool "cpupower" + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_PCIUTILS help cpupower is a collection of tools to examine and tune power saving related features of your processor. +comment "cpupower needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_LINUX_TOOLS_GPIO bool "gpio" select BR2_PACKAGE_LINUX_TOOLS @@ -46,6 +50,7 @@ config BR2_PACKAGE_LINUX_TOOLS_PCI config BR2_PACKAGE_LINUX_TOOLS_PERF bool "perf" depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_STATIC_LIBS # dlfcn.h select BR2_PACKAGE_LINUX_TOOLS help perf (sometimes "Perf Events" or perf tools, originally @@ -65,6 +70,10 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF https://perf.wiki.kernel.org/ +comment "perf needs a toolchain w/ dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS + if BR2_PACKAGE_LINUX_TOOLS_PERF config BR2_PACKAGE_LINUX_TOOLS_PERF_TUI @@ -83,6 +92,7 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash depends on BR2_USE_MMU # bash depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # util-linux schedutils select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_BASH # runtime select BR2_PACKAGE_NCURSES @@ -93,6 +103,7 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS select BR2_PACKAGE_LIBCAP_NG select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset) + select BR2_PACKAGE_OPENSSL if BR2_x86_64 help Build and install (to /usr/lib/kselftests) kernel selftests. @@ -104,18 +115,23 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS This is very much a use at your risk option and may not work for every setup or every architecture. -comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library" +comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14" depends on BR2_USE_MMU - depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS || BR2_STATIC_LIBS + depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 config BR2_PACKAGE_LINUX_TOOLS_TMON bool "tmon" + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_NCURSES help tmon is a terminal-based tool (using curses) that allows the user to access thermal information about the system. +comment "tmon needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LINUX_TOOLS_HV bool "hv" depends on BR2_i386 || BR2_x86_64 diff --git a/package/linux-tools/linux-tool-perf.mk.in b/package/linux-tools/linux-tool-perf.mk.in index efa747cf8d3..d82d45973cd 100644 --- a/package/linux-tools/linux-tool-perf.mk.in +++ b/package/linux-tools/linux-tool-perf.mk.in @@ -8,10 +8,10 @@ LINUX_TOOLS += perf PERF_DEPENDENCIES = host-flex host-bison -ifeq ($(KERNEL_ARCH),x86_64) +ifeq ($(NORMALIZED_ARCH),x86_64) PERF_ARCH=x86 else -PERF_ARCH=$(KERNEL_ARCH) +PERF_ARCH=$(NORMALIZED_ARCH) endif PERF_MAKE_FLAGS = \ @@ -20,7 +20,6 @@ PERF_MAKE_FLAGS = \ ARCH=$(PERF_ARCH) \ DESTDIR=$(TARGET_DIR) \ prefix=/usr \ - WERROR=0 \ NO_GTK2=1 \ NO_LIBPERL=1 \ NO_LIBPYTHON=1 \ diff --git a/package/linux-tools/linux-tool-selftests.mk.in b/package/linux-tools/linux-tool-selftests.mk.in index c4e5bf0feaf..e29c7f59deb 100644 --- a/package/linux-tools/linux-tool-selftests.mk.in +++ b/package/linux-tools/linux-tool-selftests.mk.in @@ -6,17 +6,20 @@ LINUX_TOOLS += selftests -ifeq ($(KERNEL_ARCH),x86_64) +ifeq ($(NORMALIZED_ARCH),x86_64) SELFTESTS_ARCH=x86 else -ifeq ($(KERNEL_ARCH),i386) +ifeq ($(NORMALIZED_ARCH),i386) SELFTESTS_ARCH=x86 else -SELFTESTS_ARCH=$(KERNEL_ARCH) +SELFTESTS_ARCH=$(NORMALIZED_ARCH) endif endif -SELFTESTS_DEPENDENCIES = libcap-ng popt +SELFTESTS_DEPENDENCIES = \ + libcap-ng \ + popt \ + $(if $(BR2_PACKAGE_OPENSSL),openssl) SELFTESTS_MAKE_FLAGS = \ $(LINUX_MAKE_FLAGS) \ diff --git a/package/linux-tools/linux-tool-tmon.mk.in b/package/linux-tools/linux-tool-tmon.mk.in index 15931c31240..56c328c51fd 100644 --- a/package/linux-tools/linux-tool-tmon.mk.in +++ b/package/linux-tools/linux-tool-tmon.mk.in @@ -9,6 +9,7 @@ LINUX_TOOLS += tmon TMON_DEPENDENCIES = host-pkgconf ncurses TMON_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \ CC=$(TARGET_CC) \ + LDFLAGS="$(TARGET_LDFLAGS)" \ PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) diff --git a/package/linuxconsoletools/linuxconsoletools.hash b/package/linuxconsoletools/linuxconsoletools.hash index caacf70e45d..889f6d1d6c4 100644 --- a/package/linuxconsoletools/linuxconsoletools.hash +++ b/package/linuxconsoletools/linuxconsoletools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 95d112f06393806116341d593bda002c8bc44119c1538407623268fed90d8c34 linuxconsoletools-1.7.0.tar.bz2 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 bd4d4b7e37da02fc67e47ddf20b6f1243c0a7af7b02b918d5e72138ea8727547 linuxconsoletools-1.7.1.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/linuxconsoletools/linuxconsoletools.mk b/package/linuxconsoletools/linuxconsoletools.mk index f26d874d963..306a5b1fa02 100644 --- a/package/linuxconsoletools/linuxconsoletools.mk +++ b/package/linuxconsoletools/linuxconsoletools.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUXCONSOLETOOLS_VERSION = 1.7.0 +LINUXCONSOLETOOLS_VERSION = 1.7.1 LINUXCONSOLETOOLS_SOURCE = linuxconsoletools-$(LINUXCONSOLETOOLS_VERSION).tar.bz2 LINUXCONSOLETOOLS_SITE = https://downloads.sourceforge.net/project/linuxconsole LINUXCONSOLETOOLS_LICENSE = GPL-2.0+ diff --git a/package/linuxptp/linuxptp.hash b/package/linuxptp/linuxptp.hash index 4f8a1f89fca..a5479b0ebc0 100644 --- a/package/linuxptp/linuxptp.hash +++ b/package/linuxptp/linuxptp.hash @@ -1,9 +1,9 @@ -# From https://sourceforge.net/projects/linuxptp/files/v3.0/ -sha1 9a3869dbd322252c9a6bc0dbdfe8941586810a7f linuxptp-3.1.tgz -md5 2264cb69c9af947028835c12c89a7572 linuxptp-3.1.tgz +# From https://sourceforge.net/projects/linuxptp/files/v3.1.1/ +sha1 f905eabc6fd0f03c6a353f9c4ba188a3bd1b774c linuxptp-3.1.1.tgz +md5 3b79ab5e77c5b5cf06bc1c8350d405bb linuxptp-3.1.1.tgz # Locally computed: -sha256 f58f5b11cf14dc7c4f7c9efdfb27190e43d02cf20c3525f6639edac10528ce7d linuxptp-3.1.tgz +sha256 94d6855f9b7f2d8e9b0ca6d384e3fae6226ce6fc012dbad02608bdef3be1c0d9 linuxptp-3.1.1.tgz # Hash for license file: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/linuxptp/linuxptp.mk b/package/linuxptp/linuxptp.mk index f91be921af6..048dd0b896f 100644 --- a/package/linuxptp/linuxptp.mk +++ b/package/linuxptp/linuxptp.mk @@ -4,11 +4,12 @@ # ################################################################################ -LINUXPTP_VERSION = 3.1 +LINUXPTP_VERSION = 3.1.1 LINUXPTP_SOURCE = linuxptp-$(LINUXPTP_VERSION).tgz LINUXPTP_SITE = http://downloads.sourceforge.net/linuxptp LINUXPTP_LICENSE = GPL-2.0+ LINUXPTP_LICENSE_FILES = COPYING +LINUXPTP_CPE_ID_VENDOR = linuxptp_project LINUXPTP_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ diff --git a/package/lirc-tools/lirc-tools.mk b/package/lirc-tools/lirc-tools.mk index d66f4e99256..05f20f57261 100644 --- a/package/lirc-tools/lirc-tools.mk +++ b/package/lirc-tools/lirc-tools.mk @@ -9,6 +9,7 @@ LIRC_TOOLS_SOURCE = lirc-$(LIRC_TOOLS_VERSION).tar.bz2 LIRC_TOOLS_SITE = http://downloads.sourceforge.net/project/lirc/LIRC/$(LIRC_TOOLS_VERSION) LIRC_TOOLS_LICENSE = GPL-2.0+ LIRC_TOOLS_LICENSE_FILES = COPYING +LIRC_TOOLS_SELINUX_MODULES = lircd LIRC_TOOLS_DEPENDENCIES = host-libxslt host-pkgconf host-python3 LIRC_TOOLS_INSTALL_STAGING = YES # Patching configure.ac and Makefile.am @@ -46,7 +47,7 @@ LIRC_TOOLS_DEPENDENCIES += libftdi1 endif ifeq ($(BR2_PACKAGE_PYTHON3),y) -LIRC_TOOLS_DEPENDENCIES += python3 host-python3-setuptools +LIRC_TOOLS_DEPENDENCIES += python3 host-python-setuptools LIRC_TOOLS_MAKE_ENV += SETUPTOOLS_ENV='$(PKG_PYTHON_SETUPTOOLS_ENV)' endif diff --git a/package/live555/live555.hash b/package/live555/live555.hash index 5e65cacd7b8..d4fa93d0298 100644 --- a/package/live555/live555.hash +++ b/package/live555/live555.hash @@ -1,5 +1,5 @@ # From http://www.live555.com/liveMedia/public/live555-latest-md5.txt -md5 4645d2a0c865505c85b48af5317bcb4a live.2020.08.19.tar.gz +md5 3c1992b0e9b871bcad7491a3da541781 live.2021.05.03.tar.gz # Locally generated -sha256 af3af7f2510b0b45f38892c232abca2cee2ab36a62503e7085b47ed2c3c2c537 live.2020.08.19.tar.gz +sha256 ae73241f9cc4ab740d60737c0438d62a7635af3822de5d84acf275793de42029 live.2021.05.03.tar.gz sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSER diff --git a/package/live555/live555.mk b/package/live555/live555.mk index 9a5c1c7c0dd..effd4517cfc 100644 --- a/package/live555/live555.mk +++ b/package/live555/live555.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIVE555_VERSION = 2020.08.19 +LIVE555_VERSION = 2021.05.03 LIVE555_SOURCE = live.$(LIVE555_VERSION).tar.gz LIVE555_SITE = http://www.live555.com/liveMedia/public # There is a COPYING file with the GPL-3.0 license text, but none of diff --git a/package/lldpd/lldpd.hash b/package/lldpd/lldpd.hash index ee6e72ba551..6e809b2796a 100644 --- a/package/lldpd/lldpd.hash +++ b/package/lldpd/lldpd.hash @@ -1,5 +1,5 @@ # Locally computed after checking gpg key -# https://media.luffy.cx/files/lldpd/lldpd-1.0.7.tar.gz.gpg +# https://media.luffy.cx/files/lldpd/lldpd-1.0.9.tar.gz.gpg # using key AEF2348766F371C689A7360095A42FE8353525F9 -sha256 1df79179d489c841b49265f2ab5ff05f284a647e95862d2f3c02b3fb079a87e1 lldpd-1.0.7.tar.gz +sha256 6b64eb3125952b1e33472198b054e8aa0dee45f45d3d4be22789090a474949f5 lldpd-1.0.9.tar.gz sha256 0e96a5aea65f16e2239231ce4ab90497f8bc3bb8fe6abe9299aade4726ff7c8d LICENSE diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk index 7860b70c39c..b88dd002e4c 100644 --- a/package/lldpd/lldpd.mk +++ b/package/lldpd/lldpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LLDPD_VERSION = 1.0.7 +LLDPD_VERSION = 1.0.9 LLDPD_SITE = https://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_CHECK),check) \ @@ -14,6 +14,7 @@ LLDPD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_VALGRIND),valgrind) LLDPD_LICENSE = ISC LLDPD_LICENSE_FILES = LICENSE +LLDPD_CPE_ID_VENDOR = lldpd_project # Detection of c99 support in configure fails without WCHAR. To enable # automatic detection of c99 support by configure, we need to enable diff --git a/package/llvm/0001-nfc-Fix-missing-include.patch b/package/llvm/0001-nfc-Fix-missing-include.patch new file mode 100644 index 00000000000..62111ca138b --- /dev/null +++ b/package/llvm/0001-nfc-Fix-missing-include.patch @@ -0,0 +1,24 @@ +From b498303066a63a203d24f739b2d2e0e56dca70d1 Mon Sep 17 00:00:00 2001 +From: serge-sans-paille +Date: Tue, 10 Nov 2020 14:55:25 +0100 +Subject: [PATCH] [nfc] Fix missing include + +[Retrieved (and backported) from: +https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1] +Signed-off-by: Fabrice Fontaine +--- + llvm/utils/benchmark/src/benchmark_register.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/benchmark/src/benchmark_register.h b/utils/benchmark/src/benchmark_register.h +index 0705e219f2fa2..4caa5ad4da079 100644 +--- a/utils/benchmark/src/benchmark_register.h ++++ b/utils/benchmark/src/benchmark_register.h +@@ -1,6 +1,7 @@ + #ifndef BENCHMARK_REGISTER_H + #define BENCHMARK_REGISTER_H + ++#include + #include + + #include "check.h" diff --git a/package/llvm/Config.in b/package/llvm/Config.in index 1d21d879daa..6ec2ffcfe60 100644 --- a/package/llvm/Config.in +++ b/package/llvm/Config.in @@ -47,6 +47,12 @@ config BR2_PACKAGE_LLVM_RTTI https://llvm.org/docs/HowToSetUpLLVMStyleRTTI.html +config BR2_PACKAGE_LLVM_BPF + bool "BPF backend" + help + Build BPF target. Select this option if you are going + to install bcc on the target. + endif comment "llvm needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, dynamic library" diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk index 7d60fe7f8c0..6c721c30b98 100644 --- a/package/llvm/llvm.mk +++ b/package/llvm/llvm.mk @@ -62,6 +62,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build BPF backend +ifeq ($(BR2_PACKAGE_LLVM_BPF),y) +LLVM_TARGETS_TO_BUILD += BPF +endif + # Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen diff --git a/package/lm-sensors/lm-sensors.hash b/package/lm-sensors/lm-sensors.hash index 0ca07b7e690..c941043343c 100644 --- a/package/lm-sensors/lm-sensors.hash +++ b/package/lm-sensors/lm-sensors.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 0591f9fa0339f0d15e75326d0365871c2d4e2ed8aa1ff759b3a55d3734b7d197 lm-sensors-3-6-0.tar.gz +sha256 0591f9fa0339f0d15e75326d0365871c2d4e2ed8aa1ff759b3a55d3734b7d197 lm-sensors-3.6.0.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/lm-sensors/lm-sensors.mk b/package/lm-sensors/lm-sensors.mk index 8975efaffaa..1bf27fc25a7 100644 --- a/package/lm-sensors/lm-sensors.mk +++ b/package/lm-sensors/lm-sensors.mk @@ -4,8 +4,9 @@ # ################################################################################ -LM_SENSORS_VERSION = 3-6-0 -LM_SENSORS_SITE = $(call github,lm-sensors,lm-sensors,V$(LM_SENSORS_VERSION)) +LM_SENSORS_VERSION = 3.6.0 +LM_SENSORS_SITE = \ + $(call github,lm-sensors,lm-sensors,V$(subst .,-,$(LM_SENSORS_VERSION))) LM_SENSORS_INSTALL_STAGING = YES LM_SENSORS_DEPENDENCIES = host-bison host-flex LM_SENSORS_LICENSE = LGPL-2.1+ (libsensors), GPL-2.0+ (programs) diff --git a/package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch b/package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch new file mode 100644 index 00000000000..6c3e7370e11 --- /dev/null +++ b/package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch @@ -0,0 +1,28 @@ +From d85b61666aa2728f68b69d02bfb162c432df709f Mon Sep 17 00:00:00 2001 +From: vgupta +Date: Sat, 3 Mar 2012 10:02:24 +0000 +Subject: [PATCH] TOO_LONG 100 usec to prevent memsize from timingout @80Mhz + +git-svn-id: http://sjvm-subversion02.internal.synopsys.com/svn/OSS/ARC_Linux/tests/lmbench-3.0-a9@157318 4eed8e25-bc12-0410-818a-f70ee6866280 + +Signed-off-by: Vineet Gupta +--- + src/memsize.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/memsize.c b/src/memsize.c +index eb25a0924872..b333cf8cbd32 100644 +--- a/src/memsize.c ++++ b/src/memsize.c +@@ -15,7 +15,7 @@ char *id = "$Id$\n"; + #define CHK(x) if ((x) == -1) { perror("x"); exit(1); } + + #ifndef TOO_LONG +-#define TOO_LONG 10 /* usecs */ ++#define TOO_LONG 100 /* usecs */ + #endif + + int alarm_triggered = 0; +-- +2.25.1 + diff --git a/package/lmbench/0004-Fix-garbage-pointer-for-lat_rpc-S-localhost.patch b/package/lmbench/0004-Fix-garbage-pointer-for-lat_rpc-S-localhost.patch new file mode 100644 index 00000000000..619ec386146 --- /dev/null +++ b/package/lmbench/0004-Fix-garbage-pointer-for-lat_rpc-S-localhost.patch @@ -0,0 +1,25 @@ +From 3830453a06269912d2772fe8c31bae44f27bb131 Mon Sep 17 00:00:00 2001 +From: Vineet Gupta +Date: Fri, 8 May 2015 11:35:58 +0530 +Subject: [PATCH] Fix garbage pointer for lat_rpc -S localhost + +Signed-off-by: Vineet Gupta +--- + src/lat_rpc.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/lat_rpc.c b/src/lat_rpc.c +index 9c021926d761..ff4380ff38f3 100644 +--- a/src/lat_rpc.c ++++ b/src/lat_rpc.c +@@ -101,6 +101,7 @@ main(int ac, char **av) + char *usage = "-s\n OR [-p ] [-P parallel] [-W ] [-N ] serverhost\n OR -S serverhost\n"; + + state.msize = 1; ++ state.server = NULL; + + while (( c = getopt(ac, av, "sS:m:p:P:W:N:")) != EOF) { + switch(c) { +-- +2.25.1 + diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk index 2f3b19b5f82..b0f99ff106a 100644 --- a/package/lmbench/lmbench.mk +++ b/package/lmbench/lmbench.mk @@ -18,6 +18,10 @@ LMBENCH_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` LMBENCH_LDLIBS = `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101915),y) +LMBENCH_CFLAGS += -O0 +endif + LMBENCH_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK define LMBENCH_CONFIGURE_CMDS diff --git a/package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/localedef.hash b/package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/localedef.hash deleted file mode 100644 index 45ecc2895f4..00000000000 --- a/package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/localedef.hash +++ /dev/null @@ -1,7 +0,0 @@ -# Locally calculated (fetched from Github) -sha256 04946bb7cbaf4062bf5e727e0d6784e105b07611587d71f00d25ea896753c26d glibc-2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2.tar.gz - -# Hashes for license files -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES diff --git a/package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/0001-HACK-only-build-and-install-localedef.patch b/package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0001-HACK-only-build-and-install-localedef.patch similarity index 88% rename from package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/0001-HACK-only-build-and-install-localedef.patch rename to package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0001-HACK-only-build-and-install-localedef.patch index d327008c1dd..b289000c8a2 100644 --- a/package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/0001-HACK-only-build-and-install-localedef.patch +++ b/package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0001-HACK-only-build-and-install-localedef.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 442e9a3f262c49cf61f9e7bdf12882f0a427666b Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Mon, 21 May 2018 16:45:02 +0200 Subject: [PATCH] HACK: only build and install localedef @@ -13,10 +13,10 @@ Signed-off-by: Peter Seiderer 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Rules b/Rules -index 16afa6acaa..6c208db788 100644 +index b1137afe71..2aeac31922 100644 --- a/Rules +++ b/Rules -@@ -190,10 +190,16 @@ binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \ +@@ -216,10 +216,16 @@ binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \ $(binaries-all-notests)) ifneq "$(strip $(binaries-shared-notests))" "" @@ -38,10 +38,10 @@ index 16afa6acaa..6c208db788 100644 ifneq "$(strip $(binaries-shared-tests))" "" diff --git a/locale/Makefile b/locale/Makefile -index 764e751c36..c28322d71f 100644 +index b7c60681fa..de4cf4003f 100644 --- a/locale/Makefile +++ b/locale/Makefile -@@ -32,15 +32,15 @@ categories = ctype messages monetary numeric time paper name \ +@@ -33,15 +33,15 @@ categories = ctype messages monetary numeric time paper name \ address telephone measurement identification collate aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \ xlocale localename global-locale coll-lookup @@ -61,5 +61,5 @@ index 764e751c36..c28322d71f 100644 libBrokenLocale-routines = broken_cur_max -- -2.21.0 +2.33.0 diff --git a/package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch b/package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch similarity index 90% rename from package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch rename to package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch index a6e87cc317a..297c96cc5ee 100644 --- a/package/localedef/2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch +++ b/package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch @@ -1,4 +1,4 @@ -From 313e04bfbd281f9b46fdde097aacb59d501820a3 Mon Sep 17 00:00:00 2001 +From 85412262460f6ba9f6e2cf8da74fc1904c54c854 Mon Sep 17 00:00:00 2001 From: Matt Weber Date: Thu, 6 Feb 2020 14:36:21 -0600 Subject: [PATCH] relax dependency on GCC to 4.8 and binutils to 2.24 @@ -29,10 +29,10 @@ Signed-off-by: Matthew Weber 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure -index 6d26b824..9ac2e5e9 100755 +index 9619c10991..0c481d2339 100755 --- a/configure +++ b/configure -@@ -4601,7 +4601,7 @@ $as_echo_n "checking version of $AS... " >&6; } +@@ -4651,7 +4651,7 @@ $as_echo_n "checking version of $AS... " >&6; } ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -41,7 +41,7 @@ index 6d26b824..9ac2e5e9 100755 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; -@@ -4731,7 +4731,7 @@ $as_echo_n "checking version of $LD... " >&6; } +@@ -4781,7 +4781,7 @@ $as_echo_n "checking version of $LD... " >&6; } ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -50,7 +50,7 @@ index 6d26b824..9ac2e5e9 100755 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; -@@ -5140,7 +5140,7 @@ int +@@ -5189,7 +5189,7 @@ int main () { @@ -60,5 +60,4 @@ index 6d26b824..9ac2e5e9 100755 #endif ; -- -2.18.0 - +2.33.0 diff --git a/package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/localedef.hash b/package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/localedef.hash new file mode 100644 index 00000000000..dfd939020f8 --- /dev/null +++ b/package/localedef/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/localedef.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 3c299a21468a80356b848ca341f45551616c4928a6c871e6d45cee942e8b0f24 glibc-2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES diff --git a/package/localedef/localedef.mk b/package/localedef/localedef.mk index d75702d8474..f8f0b429848 100644 --- a/package/localedef/localedef.mk +++ b/package/localedef/localedef.mk @@ -7,7 +7,7 @@ # Use the same VERSION and SITE as target glibc # As in glibc.mk, generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- -LOCALEDEF_VERSION = 2.32-23-g050022910be1d1f5c11cd5168f1685ad4f9580d2 +LOCALEDEF_VERSION = 2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c LOCALEDEF_SOURCE = glibc-$(LOCALEDEF_VERSION).tar.gz LOCALEDEF_SITE = $(call github,bminor,glibc,$(LOCALEDEF_VERSION)) HOST_LOCALEDEF_DL_SUBDIR = glibc diff --git a/package/lockfile-progs/Config.in b/package/lockfile-progs/Config.in index de101a9a150..b9dbca96002 100644 --- a/package/lockfile-progs/Config.in +++ b/package/lockfile-progs/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LOCKFILE_PROGS bool "lockfile programs" + depends on BR2_USE_MMU # liblockfile select BR2_PACKAGE_LIBLOCKFILE help Build lockfile utility programs. diff --git a/package/lockfile-progs/lockfile-progs.hash b/package/lockfile-progs/lockfile-progs.hash index fc3d4b68bc2..bf318350f36 100644 --- a/package/lockfile-progs/lockfile-progs.hash +++ b/package/lockfile-progs/lockfile-progs.hash @@ -1,5 +1,5 @@ -# From https://snapshot.debian.org/archive/debian/20180903T205652Z/pool/main/l/lockfile-progs/lockfile-progs_0.1.18.tar.gz -sha256 a42995a4b97e6188efc90fcc1a761163c4b2cff5c81b936f85c84301ddb05ce6 lockfile-progs_0.1.18.tar.gz +# From https://snapshot.debian.org/archive/debian/20210903T205304Z/pool/main/l/lockfile-progs/lockfile-progs_0.1.19.dsc +sha256 2c5704b01c8f474f82921780e4592a927b2bf6a6d7616354a6c5d7cd5664857e lockfile-progs_0.1.19.tar.gz # Hash for license file -sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/lockfile-progs/lockfile-progs.mk b/package/lockfile-progs/lockfile-progs.mk index d2f8f61188c..6045aa713dc 100644 --- a/package/lockfile-progs/lockfile-progs.mk +++ b/package/lockfile-progs/lockfile-progs.mk @@ -4,9 +4,9 @@ # ################################################################################ -LOCKFILE_PROGS_VERSION = 0.1.18 +LOCKFILE_PROGS_VERSION = 0.1.19 LOCKFILE_PROGS_SOURCE = lockfile-progs_$(LOCKFILE_PROGS_VERSION).tar.gz -LOCKFILE_PROGS_SITE = http://snapshot.debian.org/archive/debian/20180903T205652Z/pool/main/l/lockfile-progs +LOCKFILE_PROGS_SITE = http://snapshot.debian.org/archive/debian/20210903T205304Z/pool/main/l/lockfile-progs LOCKFILE_PROGS_DEPENDENCIES = liblockfile LOCKFILE_PROGS_LICENSE = GPL-2.0 LOCKFILE_PROGS_LICENSE_FILES = COPYING diff --git a/package/log4cplus/0001-configure-ac-check-for-libraries-in-C-mode.patch b/package/log4cplus/0001-configure-ac-check-for-libraries-in-C-mode.patch deleted file mode 100644 index 6226a6210d0..00000000000 --- a/package/log4cplus/0001-configure-ac-check-for-libraries-in-C-mode.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 4446516eb4fc8613d26669f5683f9d5d7c36ee67 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Wed, 18 Dec 2019 21:26:58 +0100 -Subject: [PATCH] configure.ac: check for libraries in C mode - -Fixes check for libraries failures, e.g. (from config.log): - - arc-buildroot-linux-uclibc-g++ -o conftest -Os -Wall -fdiagnostics-show-caret -ftrack-macro-expansion -fdiagnostics-color=auto -Wextra -pedantic -Wstrict-aliasing -Wstrict-overflow -Woverloaded-virtual -Wold-style-cast -Wc++14-compat -Wundef -Wshadow -Wformat -Wnoexcept -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wno-variadic-macros -fvisibility=hidden conftest.cpp -latomic - conftest.cpp:28:6: error: new declaration 'char __atomic_fetch_and_4()' ambiguates built-in declaration 'unsigned int __atomic_fetch_and_4(volatile void*, unsigned int, int)' [-fpermissive] - 28 | char __atomic_fetch_and_4 (); - | ^~~~~~~~~~~~~~~~~~~~ - conftest.cpp: In function 'int main()': - conftest.cpp:32:30: error: too few arguments to function 'unsigned int __atomic_fetch_and_4(volatile void*, unsigned int, int)' - 32 | return __atomic_fetch_and_4 (); - | ^ - -Resulting in: - - checking for library containing __atomic_fetch_and_4... no - -instead (after the fix applied): - - checking for library containing __atomic_fetch_and_4... -latomic - -Signed-off-by: Peter Seiderer -[Retrieved from: -https://github.com/log4cplus/log4cplus/commit/4446516eb4fc8613d26669f5683f9d5d7c36ee67] -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 72fbd870a..64eff1936 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -412,6 +412,7 @@ LOG4CPLUS_DEFINE_MACRO_IF([LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY], - - dnl Checks for libraries. - -+AC_LANG_PUSH([C]) - AC_SEARCH_LIBS([__atomic_fetch_and_4], [atomic]) - AC_SEARCH_LIBS([strerror], [cposix]) - dnl On some systems libcompat exists only as a static library which -@@ -422,6 +423,7 @@ AC_SEARCH_LIBS([setsockopt], [socket network net]) - AS_IF([test "x$with_iconv" = "xyes"], - [AC_SEARCH_LIBS([iconv_open], [iconv], [], - [AC_SEARCH_LIBS([libiconv_open], [iconv])])]) -+AC_LANG_POP([C]) - - dnl Windows/MinGW specific. - -@@ -497,7 +499,9 @@ dnl Multi threaded library. - AS_VAR_APPEND([LIBS], [" $PTHREAD_LIBS"]) - - dnl required on HP-UX -+ AC_LANG_PUSH([C]) - AC_SEARCH_LIBS([sem_init], [rt]) -+ AC_LANG_POP([C]) - - AS_CASE([$ax_cv_cxx_compiler_vendor], - [gnu|clang], diff --git a/package/log4cplus/log4cplus.hash b/package/log4cplus/log4cplus.hash index 43ff401da63..a668eca37af 100644 --- a/package/log4cplus/log4cplus.hash +++ b/package/log4cplus/log4cplus.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 6046f0867ce4734f298418c7b7db0d35c27403090bb751d98e6e76aa4935f1af log4cplus-2.0.5.tar.xz +sha256 8f74a0a5920ba044b24e2ebeb0f1e5e36d85d5c23ed48d9fe328882b16130db8 log4cplus-2.0.7.tar.xz sha256 91d7e42ff80e74c4c94e5ad353375fa0358cd0abbf43f5fe957097cdbd4e2c4d LICENSE diff --git a/package/log4cplus/log4cplus.mk b/package/log4cplus/log4cplus.mk index 8a613efaee7..56a85025cbd 100644 --- a/package/log4cplus/log4cplus.mk +++ b/package/log4cplus/log4cplus.mk @@ -4,14 +4,12 @@ # ################################################################################ -LOG4CPLUS_VERSION = 2.0.5 +LOG4CPLUS_VERSION = 2.0.7 LOG4CPLUS_SOURCE = log4cplus-$(LOG4CPLUS_VERSION).tar.xz LOG4CPLUS_SITE = http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/$(LOG4CPLUS_VERSION) LOG4CPLUS_LICENSE = Apache-2.0, BSD-2-Clause, BSD-like (threadpool) LOG4CPLUS_LICENSE_FILES = LICENSE LOG4CPLUS_INSTALL_STAGING = YES -# We're patching configure.ac -LOG4CPLUS_AUTORECONF = YES ifeq ($(BR2_GCC_ENABLE_LTO),y) LOG4CPLUS_CONF_OPTS += --enable-lto diff --git a/package/log4cxx/0001-boost-fallback-only-check-for-boost-if-really-needed.patch b/package/log4cxx/0001-boost-fallback-only-check-for-boost-if-really-needed.patch new file mode 100644 index 00000000000..7df29ea120f --- /dev/null +++ b/package/log4cxx/0001-boost-fallback-only-check-for-boost-if-really-needed.patch @@ -0,0 +1,36 @@ +From 24e7adc8d67b3c8f7d275b4f9a7e70a61b73fcd4 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 28 Jan 2022 13:11:01 +0100 +Subject: [PATCH] boost-fallback: only check for boost if really needed + +- only check for boost if really needed (in case of legacy c++ standard < c++17) + +Signed-off-by: Peter Seiderer +--- + src/cmake/boost-fallback/boost-fallback.cmake | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/cmake/boost-fallback/boost-fallback.cmake b/src/cmake/boost-fallback/boost-fallback.cmake +index 8285b0b9..0ecf8c6c 100644 +--- a/src/cmake/boost-fallback/boost-fallback.cmake ++++ b/src/cmake/boost-fallback/boost-fallback.cmake +@@ -55,6 +55,8 @@ try_compile(STD_SHARED_PTR_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tes + try_compile(STD_ATOMIC_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests" + "${CMAKE_CURRENT_LIST_DIR}/test-stdatomic.cpp") + ++# search for boost only in case needed for legacy c++ standard < c++17 ++if(NOT ${STD_THREAD_FOUND} OR NOT ${STD_MUTEX_FOUND} OR NOT ${STD_SHARED_MUTEX_FOUND} OR NOT ${STD_SHARED_PTR_FOUND} OR NOT ${STD_ATOMIC_FOUND}) + find_package(Boost COMPONENTS thread) + if( ${Boost_FOUND} ) + try_compile(Boost_SHARED_PTR_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests" +@@ -67,6 +69,7 @@ if( ${Boost_FOUND} ) + try_compile(Boost_ATOMIC_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests" + "${CMAKE_CURRENT_LIST_DIR}/test-boostatomic.cpp") + endif( ${Boost_FOUND} ) ++endif() + + # Link the target with the appropriate boost libraries(if required) + function(boostfallback_link target) +-- +2.34.1 + diff --git a/package/log4cxx/0001-fix-build-without-wchar.patch b/package/log4cxx/0001-fix-build-without-wchar.patch deleted file mode 100644 index fc0e7be5c9f..00000000000 --- a/package/log4cxx/0001-fix-build-without-wchar.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 1fa70eaf24d75e84625f22779ec347fd29bf1ae6 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 24 Sep 2020 08:47:37 +0200 -Subject: [PATCH] fix build without wchar - -Disable wencode without wchar or the build will fail on: - -odbcappender.cpp: In static member function 'static void log4cxx::db::ODBCAppender::encode(wchar_t**, const LogString&, log4cxx::helpers::Pool&)': -odbcappender.cpp:362:22: error: 'wencode' is not a member of 'log4cxx::helpers::Transcoder' - *dest = Transcoder::wencode(src, p); - ^~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/bab5329fdeb894471bfd5192ce04d3fbd2f9be5c - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/apache/logging-log4cxx/commit/f171f818c798d48631d5b45851e4593953f31d9c] ---- - src/main/cpp/odbcappender.cpp | 2 ++ - src/main/include/log4cxx/db/odbcappender.h | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/src/main/cpp/odbcappender.cpp b/src/main/cpp/odbcappender.cpp -index 6bfa519e..218df132 100644 ---- a/src/main/cpp/odbcappender.cpp -+++ b/src/main/cpp/odbcappender.cpp -@@ -357,10 +357,12 @@ void ODBCAppender::setSql(const LogString& s) - } - } - -+#if LOG4CXX_WCHAR_T_API || LOG4CXX_LOGCHAR_IS_WCHAR_T || defined(WIN32) || defined(_WIN32) - void ODBCAppender::encode(wchar_t** dest, const LogString& src, Pool& p) - { - *dest = Transcoder::wencode(src, p); - } -+#endif - - void ODBCAppender::encode(unsigned short** dest, - const LogString& src, Pool& p) -diff --git a/src/main/include/log4cxx/db/odbcappender.h b/src/main/include/log4cxx/db/odbcappender.h -index a26bc35b..fdc144ff 100644 ---- a/src/main/include/log4cxx/db/odbcappender.h -+++ b/src/main/include/log4cxx/db/odbcappender.h -@@ -300,8 +300,10 @@ class LOG4CXX_EXPORT ODBCAppender : public AppenderSkeleton - private: - ODBCAppender(const ODBCAppender&); - ODBCAppender& operator=(const ODBCAppender&); -+#if LOG4CXX_WCHAR_T_API || LOG4CXX_LOGCHAR_IS_WCHAR_T || defined(WIN32) || defined(_WIN32) - static void encode(wchar_t** dest, const LogString& src, - log4cxx::helpers::Pool& p); -+#endif - static void encode(unsigned short** dest, const LogString& src, - log4cxx::helpers::Pool& p); - }; // class ODBCAppender diff --git a/package/log4cxx/Config.in b/package/log4cxx/Config.in index bf739a43cae..27a5f069888 100644 --- a/package/log4cxx/Config.in +++ b/package/log4cxx/Config.in @@ -5,8 +5,16 @@ config BR2_PACKAGE_LOG4CXX depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # apr + depends on BR2_USE_WCHAR || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread select BR2_PACKAGE_APR select BR2_PACKAGE_APR_UTIL + select BR2_PACKAGE_BOOST if !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_PACKAGE_BOOST_CHRONO if !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_PACKAGE_BOOST_DATE_TIME if !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_7 help Apache log4cxx is a logging framework for C++ patterned after Apache log4j. @@ -17,3 +25,11 @@ comment "log4cxx needs a toolchain w/ C++, threads, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS depends on BR2_USE_MMU + +comment "log4cxx needs a toolchain w/ wchar or gcc >= 7" + depends on !(BR2_USE_WCHAR || BR2_TOOLCHAIN_GCC_AT_LEAST_7) + depends on BR2_USE_MMU + +comment "log4cxx needs a toolchain not affected by GCC bug 64735" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/log4cxx/log4cxx.hash b/package/log4cxx/log4cxx.hash index 535a0c4aac9..12633c8e57d 100644 --- a/package/log4cxx/log4cxx.hash +++ b/package/log4cxx/log4cxx.hash @@ -1,4 +1,4 @@ -# From https://www.apache.org/dist/logging/log4cxx/0.11.0/apache-log4cxx-0.11.0.tar.gz.sha512 -sha512 f8aa37c9c094e7a4d6ca92dff13c032f69f1e078c51ea55e284fcb931c13256b08950af3ea6eaf7a12282240f6073e9acab19bfe217f88dbd62a5d2360f3fbdd apache-log4cxx-0.11.0.tar.gz +# From https://www.apache.org/dist/logging/log4cxx/0.12.1/apache-log4cxx-0.12.1.tar.gz.sha512 +sha512 807058734cebf7c92e99484313becbc6be63e48bd930889c733318bb78dfec498b66aaa12255ed30879abb005b32e2b965f9dd87ec50d0421ca067f3f66280d9 apache-log4cxx-0.12.1.tar.gz # Locally computed sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/log4cxx/log4cxx.mk b/package/log4cxx/log4cxx.mk index 0ddea9466a5..d20cc792a6c 100644 --- a/package/log4cxx/log4cxx.mk +++ b/package/log4cxx/log4cxx.mk @@ -4,22 +4,31 @@ # ################################################################################ -LOG4CXX_VERSION = 0.11.0 -LOG4CXX_SITE = http://archive.apache.org/dist/logging/log4cxx/$(LOG4CXX_VERSION) +LOG4CXX_VERSION = 0.12.1 +LOG4CXX_SITE = https://archive.apache.org/dist/logging/log4cxx/$(LOG4CXX_VERSION) LOG4CXX_SOURCE = apache-log4cxx-$(LOG4CXX_VERSION).tar.gz LOG4CXX_INSTALL_STAGING = YES LOG4CXX_LICENSE = Apache-2.0 LOG4CXX_LICENSE_FILES = LICENSE -# error: required file './compile' not found -LOG4CXX_AUTORECONF = YES LOG4CXX_CONF_OPTS = \ - --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config \ - --with-apr-util=$(STAGING_DIR)/usr/bin/apu-1-config \ - --disable-dot \ - --disable-doxygen \ - --disable-html-docs + -DAPR_CONFIG_EXECUTABLE=$(STAGING_DIR)/usr/bin/apr-1-config \ + -DAPR_UTIL_CONFIG_EXECUTABLE=$(STAGING_DIR)/usr/bin/apu-1-config LOG4CXX_DEPENDENCIES = apr apr-util -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_BOOST),y) +LOG4CXX_DEPENDENCIES += boost +endif + +ifeq ($(BR2_PACKAGE_LIBESMTP),y) +LOG4CXX_DEPENDENCIES += libesmtp +endif + +ifeq ($(BR2_USE_WCHAR),y) +LOG4CXX_CONF_OPTS += -DLOG4CXX_WCHAR_T=ON +else +LOG4CXX_CONF_OPTS += -DLOG4CXX_WCHAR_T=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/log4qt/Config.in b/package/log4qt/Config.in new file mode 100644 index 00000000000..25cc6f0708e --- /dev/null +++ b/package/log4qt/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LOG4QT + bool "log4qt" + depends on BR2_PACKAGE_QT5 + help + Log4Qt is a C++ port of the Apache Software Foundation + Log4j package using the Qt Framework. It is intended to be + used by open source and commercial Qt projects. + + https://github.com/MEONMedical/Log4Qt + +comment "log4qt needs qt5" + depends on !BR2_PACKAGE_QT5 diff --git a/package/log4qt/log4qt.hash b/package/log4qt/log4qt.hash new file mode 100644 index 00000000000..757bab1a25e --- /dev/null +++ b/package/log4qt/log4qt.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 ff17b794ca7d5290a150a53f6272e6a30a7f4d942aa58298a8328bf10a65858a log4qt-1.5.1.tar.gz +sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 LICENSE diff --git a/package/log4qt/log4qt.mk b/package/log4qt/log4qt.mk new file mode 100644 index 00000000000..7144d33e330 --- /dev/null +++ b/package/log4qt/log4qt.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# log4qt +# +################################################################################ + +LOG4QT_VERSION = 1.5.1 +LOG4QT_SITE = $(call github,MEONMedical,Log4Qt,v$(LOG4QT_VERSION)) +LOG4QT_DEPENDENCIES = qt5base +LOG4QT_LICENSE = Apache-2.0 +LOG4QT_LICENSE_FILES = LICENSE +LOG4QT_INSTALL_STAGING = YES + +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LOG4QT_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + +ifeq ($(BR2_PACKAGE_QT5BASE_SQLITE_QT)$(BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM),y) +LOG4QT_CONF_OPTS += -DBUILD_WITH_DB_LOGGING=ON +else +LOG4QT_CONF_OPTS += -DBUILD_WITH_DB_LOGGING=OFF +endif + +ifeq ($(BR2_PACKAGE_QT5BASE_NETWORK),y) +LOG4QT_CONF_OPTS += -DBUILD_WITH_TELNET_LOGGING=ON +else +LOG4QT_CONF_OPTS += -DBUILD_WITH_TELNET_LOGGING=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/logrotate/logrotate.mk b/package/logrotate/logrotate.mk index df79da677e5..4d1344c2cdf 100644 --- a/package/logrotate/logrotate.mk +++ b/package/logrotate/logrotate.mk @@ -11,6 +11,7 @@ LOGROTATE_LICENSE = GPL-2.0+ LOGROTATE_LICENSE_FILES = COPYING LOGROTATE_CPE_ID_VENDOR = logrotate_project LOGROTATE_DEPENDENCIES = popt host-pkgconf +LOGROTATE_SELINUX_MODULES = logrotate LOGROTATE_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs popt`" ifeq ($(BR2_PACKAGE_LIBSELINUX),y) diff --git a/package/lrzip/Config.in b/package/lrzip/Config.in index 885b84dbb03..870094796b5 100644 --- a/package/lrzip/Config.in +++ b/package/lrzip/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_LRZIP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LZ4 select BR2_PACKAGE_LZO select BR2_PACKAGE_BZIP2 help diff --git a/package/lrzip/lrzip.hash b/package/lrzip/lrzip.hash index 3e188c41e50..19295383c32 100644 --- a/package/lrzip/lrzip.hash +++ b/package/lrzip/lrzip.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 4d31c429491f1378e868afe06867f68f8b1332fdca0758de24cc4da22103acfb lrzip-7f3bf46203bf45ea115d8bd9f310ea219be88af4.tar.gz +sha256 9b6b4bb1ae76dafbaab96ec9d50d41af5fed45a6c4f2e06feea828c2cd8025c0 lrzip-0.641.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/lrzip/lrzip.mk b/package/lrzip/lrzip.mk index 7419bb1ed96..409d9912d8e 100644 --- a/package/lrzip/lrzip.mk +++ b/package/lrzip/lrzip.mk @@ -4,12 +4,12 @@ # ################################################################################ -LRZIP_VERSION = 7f3bf46203bf45ea115d8bd9f310ea219be88af4 -LRZIP_SITE = $(call github,ckolivas,lrzip,$(LRZIP_VERSION)) +LRZIP_VERSION = 0.641 +LRZIP_SITE = $(call github,ckolivas,lrzip,v$(LRZIP_VERSION)) LRZIP_AUTORECONF = YES LRZIP_LICENSE = GPL-2.0+ LRZIP_LICENSE_FILES = COPYING -LRZIP_DEPENDENCIES = zlib lzo bzip2 +LRZIP_DEPENDENCIES = zlib lz4 lzo bzip2 ifeq ($(BR2_i386)$(BR2_x86_64),y) LRZIP_DEPENDENCIES += host-nasm diff --git a/package/lrzsz/lrzsz.mk b/package/lrzsz/lrzsz.mk index 6c682328529..45c88619e08 100644 --- a/package/lrzsz/lrzsz.mk +++ b/package/lrzsz/lrzsz.mk @@ -9,6 +9,7 @@ LRZSZ_SITE = http://www.ohse.de/uwe/releases LRZSZ_CONF_OPTS = --disable-timesync LRZSZ_LICENSE = GPL-2.0+ LRZSZ_LICENSE_FILES = COPYING +LRZSZ_CPE_ID_VENDOR = lrzsz_project LRZSZ_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) LRZSZ_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) diff --git a/package/lsof/lsof.hash b/package/lsof/lsof.hash index c7432ffbe89..9e72023d30d 100644 --- a/package/lsof/lsof.hash +++ b/package/lsof/lsof.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3df912bd966fc24dc73ddea3e36a61d79270b21b085936a4caabca56e5b486a2 lsof-4.93.2.tar.gz -sha256 32a728188b19bf86917659d904ab29d0a294b4506e1c98b8b7f1c70ab4975fe1 dialects/linux/dproto.h +sha256 c41709c2543ecf9de1e950795790a9786a2f225e51c3cc53d6a9a256f872472b lsof_4.94.0.linux.tar.bz2 +sha256 32a728188b19bf86917659d904ab29d0a294b4506e1c98b8b7f1c70ab4975fe1 dialects/linux/dproto.h diff --git a/package/lsof/lsof.mk b/package/lsof/lsof.mk index 6aa829c2c04..ff09d64345e 100644 --- a/package/lsof/lsof.mk +++ b/package/lsof/lsof.mk @@ -4,8 +4,9 @@ # ################################################################################ -LSOF_VERSION = 4.93.2 -LSOF_SITE = $(call github,lsof-org,lsof,$(LSOF_VERSION)) +LSOF_VERSION = 4.94.0 +LSOF_SOURCE = lsof_$(LSOF_VERSION).linux.tar.bz2 +LSOF_SITE = https://github.com/lsof-org/lsof/releases/download/$(LSOF_VERSION) LSOF_LICENSE = lsof license # License is repeated in each file, this is a relatively small one. # It is also defined in 00README, but that contains a lot of other cruft. diff --git a/package/lsscsi/lsscsi.hash b/package/lsscsi/lsscsi.hash index d444c7e059e..d2df600523f 100644 --- a/package/lsscsi/lsscsi.hash +++ b/package/lsscsi/lsscsi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca lsscsi-0.31.tgz +sha256 0a800e9e94dca2ab702d65d72777ae8cae078e3d74d0bcbed64ba0849e8029a1 lsscsi-0.32.tgz sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/lsscsi/lsscsi.mk b/package/lsscsi/lsscsi.mk index e9a52553973..716b6b74fbf 100644 --- a/package/lsscsi/lsscsi.mk +++ b/package/lsscsi/lsscsi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LSSCSI_VERSION = 0.31 +LSSCSI_VERSION = 0.32 LSSCSI_SOURCE = lsscsi-$(LSSCSI_VERSION).tgz LSSCSI_SITE = http://sg.danny.cz/scsi LSSCSI_LICENSE = GPL-2.0+ diff --git a/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch b/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch new file mode 100644 index 00000000000..2ceba64ed5b --- /dev/null +++ b/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch @@ -0,0 +1,211 @@ +From f34c6ca3d543968e900d6327d8b5900db63f08ad Mon Sep 17 00:00:00 2001 +From: Petr Vorel +Date: Thu, 1 Oct 2020 23:28:39 +0200 +Subject: [PATCH] lapi: Add sysinfo.h to fix build with MUSL libc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The reason is to avoid indirect include when using +some network headers: or others -> +-> + +This indirect include causes on MUSL redefinition of struct sysinfo when +included both and some of UAPI headers: + +In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5, + from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5, + from ../include/tst_netlink.h:14, + from tst_crypto.c:13: +x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’ + struct sysinfo { + ^~~~~~~ +In file included from ../include/tst_safe_macros.h:15, + from ../include/tst_test.h:93, + from tst_crypto.c:11: +x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here + +Signed-off-by: Petr Vorel + +[ upstream status: +https://patchwork.ozlabs.org/project/ltp/patch/20201001231256.6930-1-petr.vorel@gmail.com/, +rebased for 20210927 ] + +But this patch is not going to get upstreamed because it got fixed in Linux kernel: +a85cbe6159ff "uapi: move constants from to " + +This patch was also backported to stable and LTS versions, +which we use since buildroot 54584d233b "{linux, linux-headers}: bump +5.{4, 10}.x 4.{4, 9, 14, 19} series". +We just wait for all musl based toolchains to be rebuilt. ] + +Signed-off-by: Petr Vorel +--- + include/lapi/sysinfo.h | 22 +++++++++++++++++++ + include/tst_safe_macros.h | 2 +- + lib/safe_macros.c | 2 +- + lib/tst_memutils.c | 2 +- + testcases/kernel/mem/mtest01/mtest01.c | 2 +- + testcases/kernel/syscalls/madvise/madvise06.c | 2 +- + testcases/kernel/syscalls/sysinfo/sysinfo01.c | 2 +- + testcases/kernel/syscalls/sysinfo/sysinfo02.c | 2 +- + testcases/kernel/syscalls/sysinfo/sysinfo03.c | 2 +- + .../interfaces/pthread_cond_broadcast/1-2.c | 2 +- + 10 files changed, 31 insertions(+), 9 deletions(-) + create mode 100644 include/lapi/sysinfo.h + +diff --git a/include/lapi/sysinfo.h b/include/lapi/sysinfo.h +new file mode 100644 +index 0000000000..d0e0e93d7f +--- /dev/null ++++ b/include/lapi/sysinfo.h +@@ -0,0 +1,22 @@ ++// SPDX-License-Identifier: GPL-2.0-or-later ++/* ++ * Copyright (c) 2020 Petr Vorel ++ */ ++ ++#ifndef SYSINFO_H__ ++ ++/* ++ * Don't use as it breaks build MUSL toolchain. ++ * Use instead. ++ * ++ * Some kernel UAPI headers do indirect include: ++ * or others -> -> ++ * ++ * This indirect include causes on MUSL redefinition of struct sysinfo when ++ * included both and some of UAPI headers: ++ */ ++#include ++ ++#define SYSINFO_H__ ++ ++#endif /* SYSINFO_H__ */ +diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h +index d99441c86f..0d26e9d455 100644 +--- a/include/tst_safe_macros.h ++++ b/include/tst_safe_macros.h +@@ -12,7 +12,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/lib/safe_macros.c b/lib/safe_macros.c +index a5b6bc5047..87d922a928 100644 +--- a/lib/safe_macros.c ++++ b/lib/safe_macros.c +@@ -11,7 +11,7 @@ + #include + #include + #include +-#include ++#include "lapi/sysinfo.h" + #include + #include + #include +diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c +index 4a49747613..000688f5a3 100644 +--- a/lib/tst_memutils.c ++++ b/lib/tst_memutils.c +@@ -6,7 +6,7 @@ + #include + #include + #include +-#include ++#include "lapi/sysinfo.h" + #include + + #define TST_NO_DEFAULT_MAIN +diff --git a/testcases/kernel/mem/mtest01/mtest01.c b/testcases/kernel/mem/mtest01/mtest01.c +index 20cb95191d..3462dc3f82 100644 +--- a/testcases/kernel/mem/mtest01/mtest01.c ++++ b/testcases/kernel/mem/mtest01/mtest01.c +@@ -20,7 +20,6 @@ + */ + + #include +-#include + #include + #include + #include +@@ -29,6 +28,7 @@ + #include + + #include "lapi/abisize.h" ++#include "lapi/sysinfo.h" + #include "tst_test.h" + + #define FIVE_HUNDRED_MB (500ULL*1024*1024) +diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c +index 263b8e78bf..4fa52e6eae 100644 +--- a/testcases/kernel/syscalls/madvise/madvise06.c ++++ b/testcases/kernel/syscalls/madvise/madvise06.c +@@ -46,7 +46,7 @@ + #include + #include + #include +-#include ++#include "lapi/sysinfo.h" + #include "tst_test.h" + #include "tst_cgroup.h" + +diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo01.c b/testcases/kernel/syscalls/sysinfo/sysinfo01.c +index 2ea44a2beb..a237345ef7 100644 +--- a/testcases/kernel/syscalls/sysinfo/sysinfo01.c ++++ b/testcases/kernel/syscalls/sysinfo/sysinfo01.c +@@ -69,7 +69,7 @@ + #include + #include + #include +-#include ++#include "lapi/sysinfo.h" + + #include "test.h" + +diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo02.c b/testcases/kernel/syscalls/sysinfo/sysinfo02.c +index 7ad0e8bdcf..61fa1ab757 100644 +--- a/testcases/kernel/syscalls/sysinfo/sysinfo02.c ++++ b/testcases/kernel/syscalls/sysinfo/sysinfo02.c +@@ -65,7 +65,7 @@ + #include + #include + #include +-#include ++#include "lapi/sysinfo.h" + #include + + #include "test.h" +diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo03.c b/testcases/kernel/syscalls/sysinfo/sysinfo03.c +index af7cb6421e..dc5ae65e35 100644 +--- a/testcases/kernel/syscalls/sysinfo/sysinfo03.c ++++ b/testcases/kernel/syscalls/sysinfo/sysinfo03.c +@@ -13,7 +13,7 @@ + + */ + +-#include ++#include "lapi/sysinfo.h" + #include "lapi/namespaces_constants.h" + #include "lapi/posix_clocks.h" + #include "tst_test.h" +diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c +index 22e7c36386..572701f9fd 100644 +--- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c ++++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c +@@ -43,7 +43,7 @@ + #include + #include + #ifdef __linux__ +-#include ++#include "lapi/sysinfo.h" + #endif + + #include "../testfrmw/testfrmw.h" +-- +2.34.1 + diff --git a/package/ltp-testsuite/0002-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch b/package/ltp-testsuite/0002-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch deleted file mode 100644 index 2893026c03c..00000000000 --- a/package/ltp-testsuite/0002-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch +++ /dev/null @@ -1,211 +0,0 @@ -From ac3e262cba81889c0bb04ce87a50a1709f2726e7 Mon Sep 17 00:00:00 2001 -From: Petr Vorel -Date: Thu, 1 Oct 2020 23:28:39 +0200 -Subject: [PATCH] lapi: Add sysinfo.h to fix build with MUSL libc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The reason is to avoid indirect include when using -some network headers: or others -> --> - -This indirect include causes on MUSL redefinition of struct sysinfo when -included both and some of UAPI headers: - -In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5, - from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5, - from ../include/tst_netlink.h:14, - from tst_crypto.c:13: -x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’ - struct sysinfo { - ^~~~~~~ -In file included from ../include/tst_safe_macros.h:15, - from ../include/tst_test.h:93, - from tst_crypto.c:11: -x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here - -Signed-off-by: Petr Vorel - -[ upstream status: https://patchwork.ozlabs.org/project/ltp/patch/20201001231256.6930-1-petr.vorel@gmail.com/ - -But this patch is not going to get upstreamed because it got fixed in Linux kernel: -a85cbe6159ff "uapi: move constants from to " - -This patch was also backported to stable and LTS versions, -which we use since buildroot 54584d233b "{linux, linux-headers}: bump -5.{4, 10}.x 4.{4, 9, 14, 19} series". -We just wait for all musl based toolchains to be rebuilt. ] ---- - include/lapi/sysinfo.h | 22 +++++++++++++++++++ - include/tst_safe_macros.h | 2 +- - lib/safe_macros.c | 2 +- - lib/tst_memutils.c | 2 +- - testcases/kernel/mem/mtest01/mtest01.c | 2 +- - testcases/kernel/syscalls/madvise/madvise06.c | 2 +- - testcases/kernel/syscalls/sysinfo/sysinfo01.c | 2 +- - testcases/kernel/syscalls/sysinfo/sysinfo02.c | 2 +- - testcases/kernel/syscalls/sysinfo/sysinfo03.c | 2 +- - 9 files changed, 30 insertions(+), 8 deletions(-) - create mode 100644 include/lapi/sysinfo.h - -diff --git a/include/lapi/sysinfo.h b/include/lapi/sysinfo.h -new file mode 100644 -index 000000000..d0e0e93d7 ---- /dev/null -+++ b/include/lapi/sysinfo.h -@@ -0,0 +1,22 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * Copyright (c) 2020 Petr Vorel -+ */ -+ -+#ifndef SYSINFO_H__ -+ -+/* -+ * Don't use as it breaks build MUSL toolchain. -+ * Use instead. -+ * -+ * Some kernel UAPI headers do indirect include: -+ * or others -> -> -+ * -+ * This indirect include causes on MUSL redefinition of struct sysinfo when -+ * included both and some of UAPI headers: -+ */ -+#include -+ -+#define SYSINFO_H__ -+ -+#endif /* SYSINFO_H__ */ -diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h -index ee3df4142..3cb1623f9 100644 ---- a/include/tst_safe_macros.h -+++ b/include/tst_safe_macros.h -@@ -12,7 +12,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include -diff --git a/lib/safe_macros.c b/lib/safe_macros.c -index a5b6bc504..20d01d304 100644 ---- a/lib/safe_macros.c -+++ b/lib/safe_macros.c -@@ -11,7 +11,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -23,6 +22,7 @@ - #include - #include "test.h" - #include "safe_macros.h" -+#include "lapi/sysinfo.h" - - char *safe_basename(const char *file, const int lineno, - void (*cleanup_fn) (void), char *path) -diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c -index dd09db490..085392365 100644 ---- a/lib/tst_memutils.c -+++ b/lib/tst_memutils.c -@@ -5,11 +5,11 @@ - - #include - #include --#include - #include - - #define TST_NO_DEFAULT_MAIN - #include "tst_test.h" -+#include "lapi/sysinfo.h" - - #define BLOCKSIZE (16 * 1024 * 1024) - -diff --git a/testcases/kernel/mem/mtest01/mtest01.c b/testcases/kernel/mem/mtest01/mtest01.c -index 9676ea4b5..33b2ac822 100644 ---- a/testcases/kernel/mem/mtest01/mtest01.c -+++ b/testcases/kernel/mem/mtest01/mtest01.c -@@ -20,7 +20,6 @@ - */ - - #include --#include - #include - #include - #include -@@ -29,6 +28,7 @@ - #include - - #include "lapi/abisize.h" -+#include "lapi/sysinfo.h" - #include "tst_test.h" - - #define FIVE_HUNDRED_MB (500ULL*1024*1024) -diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c -index 962554163..aa4d3bc91 100644 ---- a/testcases/kernel/syscalls/madvise/madvise06.c -+++ b/testcases/kernel/syscalls/madvise/madvise06.c -@@ -41,7 +41,7 @@ - #include - #include - #include --#include -+#include "lapi/sysinfo.h" - #include "tst_test.h" - - #define CHUNK_SZ (400*1024*1024L) -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo01.c b/testcases/kernel/syscalls/sysinfo/sysinfo01.c -index 2ea44a2be..a95066bf5 100644 ---- a/testcases/kernel/syscalls/sysinfo/sysinfo01.c -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo01.c -@@ -69,9 +69,9 @@ - #include - #include - #include --#include - - #include "test.h" -+#include "lapi/sysinfo.h" - - void setup(); - void cleanup(); -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo02.c b/testcases/kernel/syscalls/sysinfo/sysinfo02.c -index 678b8f1d3..5ce65d20e 100644 ---- a/testcases/kernel/syscalls/sysinfo/sysinfo02.c -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo02.c -@@ -65,10 +65,10 @@ - #include - #include - #include --#include - #include - - #include "test.h" -+#include "lapi/sysinfo.h" - - #define INVALID_ADDRESS ((uintptr_t)-1) - -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo03.c b/testcases/kernel/syscalls/sysinfo/sysinfo03.c -index af7cb6421..3b61a05b1 100644 ---- a/testcases/kernel/syscalls/sysinfo/sysinfo03.c -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo03.c -@@ -13,9 +13,9 @@ - - */ - --#include - #include "lapi/namespaces_constants.h" - #include "lapi/posix_clocks.h" -+#include "lapi/sysinfo.h" - #include "tst_test.h" - - static int offsets[] = { --- -2.30.0 - diff --git a/package/ltp-testsuite/0002-testcases-kernel-fs-declare-int-openlog-as-static.patch b/package/ltp-testsuite/0002-testcases-kernel-fs-declare-int-openlog-as-static.patch new file mode 100644 index 00000000000..ae10bfcfddb --- /dev/null +++ b/package/ltp-testsuite/0002-testcases-kernel-fs-declare-int-openlog-as-static.patch @@ -0,0 +1,77 @@ +From 002ca0320cd2c5e1515bf202f470d4becdf01532 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 24 Apr 2022 21:56:36 +0200 +Subject: [PATCH] testcases/kernel/fs: declare int openlog as static + +Declare int openlog as static to avoid the following build failure when +building statically (e.g. on buildroot): + +/nvmedata/autobuild/instance-15/output-1/per-package/ltp-testsuite/host/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/10.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: /nvmedata/autobuild/instance-15/output-1/per-package/ltp-testsuite/host/bin/../mipsel-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(syslog.os): in function `openlog': +syslog.c:(.text+0x6b8): multiple definition of `openlog'; /tmp/ccvRnqfT.o:/nvmedata/autobuild/instance-15/output-1/build/ltp-testsuite-20220121/testcases/kernel/fs/fs-bench/random-access.c:14: first defined here + +Fixes: + - http://autobuild.buildroot.org/results/bfd0d906a05564a4f323db604f3b908abf552b20 + +Signed-off-by: Fabrice Fontaine +Reviewed-by: Cyril Hrubis +[Retrieved from: +https://github.com/linux-test-project/ltp/commit/002ca0320cd2c5e1515bf202f470d4becdf01532] +--- + testcases/kernel/fs/fs-bench/random-access-del-create.c | 2 -- + testcases/kernel/fs/fs-bench/random-access.c | 2 +- + testcases/kernel/fs/fs-bench/random-del-create.c | 2 +- + testcases/kernel/fs/scsi/ltpfs/main.c | 2 +- + 4 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/testcases/kernel/fs/fs-bench/random-access-del-create.c b/testcases/kernel/fs/fs-bench/random-access-del-create.c +index 1f62a76b5e..1878fd78b5 100644 +--- a/testcases/kernel/fs/fs-bench/random-access-del-create.c ++++ b/testcases/kernel/fs/fs-bench/random-access-del-create.c +@@ -11,8 +11,6 @@ + #define FAIL 0 + #define SUCCESS 1 + +-int openlog[2] = { 0, 0 }; +- + #define MAXNUM 0x100000 + + #define MAXERROR 1024 +diff --git a/testcases/kernel/fs/fs-bench/random-access.c b/testcases/kernel/fs/fs-bench/random-access.c +index cf41d6e81c..c2f32b86e7 100644 +--- a/testcases/kernel/fs/fs-bench/random-access.c ++++ b/testcases/kernel/fs/fs-bench/random-access.c +@@ -11,7 +11,7 @@ + #define FAIL 0 + #define SUCCESS 1 + +-int openlog[2] = { 0, 0 }; ++static int openlog[2] = { 0, 0 }; + + #define MAXNUM 0x100000 + +diff --git a/testcases/kernel/fs/fs-bench/random-del-create.c b/testcases/kernel/fs/fs-bench/random-del-create.c +index 0a86f976f3..345031f283 100644 +--- a/testcases/kernel/fs/fs-bench/random-del-create.c ++++ b/testcases/kernel/fs/fs-bench/random-del-create.c +@@ -11,7 +11,7 @@ + #define FAIL 0 + #define SUCCESS 1 + +-int openlog[2] = { 0, 0 }; ++static int openlog[2] = { 0, 0 }; + + #define MAXNUM 0x100000 + +diff --git a/testcases/kernel/fs/scsi/ltpfs/main.c b/testcases/kernel/fs/scsi/ltpfs/main.c +index 2c67c7a478..90a5531ac3 100644 +--- a/testcases/kernel/fs/scsi/ltpfs/main.c ++++ b/testcases/kernel/fs/scsi/ltpfs/main.c +@@ -38,7 +38,7 @@ int startc = 0; + int showchar[] = { 124, 47, 45, 92, 124, 47, 45, 92 }; + + int nullFileHandle; +-int openlog[2] = { 0, 0 }; ++static int openlog[2] = { 0, 0 }; + + int cFileCount, dFileCount, errorCount; + static int disk_space_pool = 0; diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in index 32e1b6ad76f..272c2ede374 100644 --- a/package/ltp-testsuite/Config.in +++ b/package/ltp-testsuite/Config.in @@ -20,6 +20,22 @@ config BR2_PACKAGE_LTP_TESTSUITE http://linux-test-project.github.io +if BR2_PACKAGE_LTP_TESTSUITE + +config BR2_PACKAGE_LTP_TESTSUITE_OPEN_POSIX + bool "Open POSIX testsuite" + default y + help + Test suite for POSIX compliance. Included with the LTP. + +config BR2_PACKAGE_LTP_TESTSUITE_REALTIME + bool "Realtime testsuite" + default y + help + Test suite for realtime kernels. Included with the LTP. + +endif + comment "ltp-testsuite needs a toolchain w/ NPTL" depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS depends on BR2_USE_MMU diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash index f0b2c897048..53429fd59f3 100644 --- a/package/ltp-testsuite/ltp-testsuite.hash +++ b/package/ltp-testsuite/ltp-testsuite.hash @@ -1,4 +1,5 @@ -# From: https://github.com/linux-test-project/ltp/releases/download/20210121/ltp-full-20210121.tar.xz.sha1 -sha1 ac9c1c711aed4319c5fbd0b665d36f75236a4ec2 ltp-full-20210121.tar.xz +# From: https://github.com/linux-test-project/ltp/releases/download/20220121/ltp-full-20220121.tar.xz.sha1 +sha1 211935e901afea1010ec4f70369b782fbee93ed4 ltp-full-20220121.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 ad002520616fac52362229ea0f1bb9d304fc03ff0096ccb5b1820cee9fc8413a ltp-full-20220121.tar.xz diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index 43ee134d1c2..d9b7133b078 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -4,16 +4,22 @@ # ################################################################################ -LTP_TESTSUITE_VERSION = 20210121 +LTP_TESTSUITE_VERSION = 20220121 LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION) LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+ LTP_TESTSUITE_LICENSE_FILES = COPYING -LTP_TESTSUITE_CONF_OPTS += \ - --with-realtime-testsuite --with-open-posix-testsuite \ - --disable-metadata +LTP_TESTSUITE_CONF_OPTS += --disable-metadata + +ifeq ($(BR2_PACKAGE_LTP_TESTSUITE_OPEN_POSIX),y) +LTP_TESTSUITE_CONF_OPTS += --with-open-posix-testsuite +endif + +ifeq ($(BR2_PACKAGE_LTP_TESTSUITE_REALTIME),y) +LTP_TESTSUITE_CONF_OPTS += --with-realtime-testsuite +endif ifeq ($(BR2_LINUX_KERNEL),y) LTP_TESTSUITE_DEPENDENCIES += linux @@ -64,20 +70,22 @@ LTP_TESTSUITE_CONF_ENV += \ LIBS="$(LTP_TESTSUITE_LIBS)" \ SYSROOT="$(STAGING_DIR)" +LTP_TESTSUITE_MAKE_ENV += \ + HOST_CFLAGS="$(HOST_CFLAGS)" \ + HOST_LDFLAGS="$(HOST_LDFLAGS)" + # uclibc: bessel support normally not enabled LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_UCLIBC) += \ testcases/misc/math/float/bessel/ \ testcases/misc/math/float/float_bessel.c LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_MUSL) += \ - testcases/kernel/sched/process_stress/process.c \ testcases/kernel/syscalls/confstr/confstr01.c \ testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ testcases/kernel/syscalls/getcontext/getcontext01.c \ testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ testcases/kernel/syscalls/timer_create/timer_create01.c \ - testcases/kernel/syscalls/timer_create/timer_create03.c \ - utils/benchmark/ebizzy-0.3 + testcases/kernel/syscalls/timer_create/timer_create03.c # ldd command build system tries to build a shared library unconditionally. LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_STATIC_LIBS) += \ diff --git a/package/ltrace/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch b/package/ltrace/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch new file mode 100644 index 00000000000..efe993ec883 --- /dev/null +++ b/package/ltrace/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch @@ -0,0 +1,35 @@ +From b8d5d086489ff20339e221323a60c140a9820e67 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 9 Oct 2021 09:39:52 +0200 +Subject: [PATCH] configure.ac: fix autoreconf with autoconf >= 2.70 + +Drop AC_CONFIG_AUX_DIR to avoid the following build failure with +autoconf >= 2.70: + +autoreconf: error: cannot create config/autoconf: No such file or directory + +Fixes: + - http://autobuild.buildroot.org/results/433599039d6e1ee301465f9867e169c121a0646f + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent as upstream is unmaintained: +https://gitlab.com/cespedes/ltrace/-/issues/8] +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b9c39fa..486589b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -28,7 +28,6 @@ AC_INIT([ltrace],[0.7.91],[ltrace-devel@lists.alioth.debian.org], + AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_SRCDIR(libltrace.c) + AC_CONFIG_MACRO_DIR([config/m4]) +-AC_CONFIG_AUX_DIR([config/autoconf]) + AC_CANONICAL_BUILD + AC_CANONICAL_HOST + +-- +2.33.0 + diff --git a/package/lttng-libust/0001-configure.ac-add-disable-tests.patch b/package/lttng-libust/0001-configure.ac-add-disable-tests.patch new file mode 100644 index 00000000000..bb962000b4e --- /dev/null +++ b/package/lttng-libust/0001-configure.ac-add-disable-tests.patch @@ -0,0 +1,59 @@ +From a1f8509283ad29b5144bda6f6dba9f5eb7165adc Mon Sep 17 00:00:00 2001 +From: Norbert Lange +Date: Thu, 23 Dec 2021 21:56:46 +0100 +Subject: [PATCH] configure.ac: add --disable-tests + +Add configure option to disable tests. +Upstream is not likely to accept it, see lttng-tools package. + +Signed-off-by: Norbert Lange +--- + Makefile.am | 5 ++++- + configure.ac | 6 ++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 9ab93ccd..8a1c1dca 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -7,9 +7,12 @@ SUBDIRS = \ + src \ + tools \ + doc \ +- tests \ + extras + ++if ENABLE_TESTS ++SUBDIRS += tests ++endif ++ + dist_doc_DATA = \ + ChangeLog \ + LICENSE \ +diff --git a/configure.ac b/configure.ac +index b6254228..fe5f2700 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -360,6 +360,11 @@ AE_FEATURE([python-agent],[build the LTTng UST Python agent]) + AE_FEATURE_DEFAULT_ENABLE + AE_FEATURE([examples],[Do not build and install examples]) + ++# Build the tests ++# Enabled by default ++AE_FEATURE_DEFAULT_ENABLE ++AE_FEATURE([tests],[Do not build tests]) ++ + # Man pages + # Enabled by default + AE_FEATURE_DEFAULT_ENABLE +@@ -525,6 +530,7 @@ AC_DEFINE([LTTNG_UST_CTL_LIB_SONAME_MAJOR], [ust_ctl_lib_version_current], [Majo + ## ## + + AM_CONDITIONAL([ENABLE_EXAMPLES], AE_IS_FEATURE_ENABLED([examples])) ++AM_CONDITIONAL([ENABLE_TESTS], AE_IS_FEATURE_ENABLED([tests])) + AM_CONDITIONAL([ENABLE_GEN_TP_EXAMPLES], [test "x$PYTHON" != "x"]) + AM_CONDITIONAL([ENABLE_JAVA_AGENT], AE_IS_FEATURE_ENABLED([java-agent-jul]) || AE_IS_FEATURE_ENABLED([java-agent-log4j])) + AM_CONDITIONAL([ENABLE_JAVA_AGENT_WITH_JUL], AE_IS_FEATURE_ENABLED([java-agent-jul])) +-- +2.34.1 + diff --git a/package/lttng-libust/lttng-libust.hash b/package/lttng-libust/lttng-libust.hash index 62a65897f48..42f2b372dca 100644 --- a/package/lttng-libust/lttng-libust.hash +++ b/package/lttng-libust/lttng-libust.hash @@ -1,5 +1,9 @@ -# From https://lttng.org/files/lttng-ust/lttng-ust-2.12.0.tar.bz2.sha256 -sha256 1983edb525f3f27e3494088d8d5389b4c71af66bbfe63c6f1df2ad95aa44a528 lttng-ust-2.12.0.tar.bz2 +# From https://lttng.org/files/lttng-ust/lttng-ust-2.13.2.tar.bz2.sha256 +sha256 5667bf0269e1e62e2d9cb974c456ff86e0401bd7aa3bfc8d5fdb97233249eddc lttng-ust-2.13.1.tar.bz2 -# Hash for license file -sha256 74125a84c2166300776980166e29de40d5f98d1a75e487f0bbc0c03b4cd2342e COPYING +# Hash for license files +sha256 5b52242fd2045d62dd664c8358137b46c1e08efdba674c91cbfc06585efe1ce7 LICENSE +sha256 f206ce02ddf94d03120b58381064702729a0e6cbb03cafc84dc0e434ce5689fa LICENSES/BSD-3-Clause +sha256 6841c85b94f9dab319356e3aaf9e969fcedad51d3aaadf665bf86f34f4186b62 LICENSES/GPL-2.0 +sha256 d72921266bc8452a8789f8a04a82755373990d00b7e0b0f1a8edb8f854e94d1c LICENSES/LGPL-2.1 +sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/MIT diff --git a/package/lttng-libust/lttng-libust.mk b/package/lttng-libust/lttng-libust.mk index f3c660c56f7..7ead28052ee 100644 --- a/package/lttng-libust/lttng-libust.mk +++ b/package/lttng-libust/lttng-libust.mk @@ -5,26 +5,26 @@ ################################################################################ LTTNG_LIBUST_SITE = http://lttng.org/files/lttng-ust -LTTNG_LIBUST_VERSION = 2.12.0 +LTTNG_LIBUST_VERSION = 2.13.1 LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.bz2 -LTTNG_LIBUST_LICENSE = LGPL-2.1, MIT (system headers), GPL-2.0 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond) -LTTNG_LIBUST_LICENSE_FILES = COPYING +LTTNG_LIBUST_LICENSE = LGPL-2.1, MIT (system headers), GPL-2.0 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond), BSD-3-Clause (snprintf) +LTTNG_LIBUST_LICENSE_FILES = LICENSE LICENSES/BSD-3-Clause LICENSES/GPL-2.0 LICENSES/LGPL-2.1 LICENSES/MIT LTTNG_LIBUST_INSTALL_STAGING = YES LTTNG_LIBUST_DEPENDENCIES = liburcu util-linux -LTTNG_LIBUST_CONF_OPTS += --disable-man-pages --disable-examples +LTTNG_LIBUST_CONF_OPTS = \ + --disable-man-pages \ + --disable-examples \ + --disable-tests \ + --with-lttng-system-rundir=/run/lttng +LTTNG_LIBUST_AUTORECONF = YES +# https://www.mail-archive.com/lttng-dev@lists.lttng.org/msg12950.html +LTTNG_LIBUST_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DUATOMIC_NO_LINK_ERROR" -ifeq ($(BR2_INIT_SYSTEMD),y) -LTTNG_LIBUST_CONF_OPTS += --with-lttng-system-rundir=/run/lttng -endif - -ifeq ($(BR2_PACKAGE_PYTHON),y) -LTTNG_LIBUST_DEPENDENCIES += python -LTTNG_LIBUST_CONF_OPTS += --enable-python-agent -else ifeq ($(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) LTTNG_LIBUST_DEPENDENCIES += python3 LTTNG_LIBUST_CONF_OPTS += --enable-python-agent else -LTTNG_LIBUST_CONF_ENV = am_cv_pathless_PYTHON="none" +LTTNG_LIBUST_CONF_ENV += am_cv_pathless_PYTHON="none" LTTNG_LIBUST_CONF_OPTS += --disable-python-agent endif diff --git a/package/lttng-modules/Config.in b/package/lttng-modules/Config.in index e8ba9bad8c4..cb56584155c 100644 --- a/package/lttng-modules/Config.in +++ b/package/lttng-modules/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LTTNG_MODULES bool "lttng-modules" depends on BR2_LINUX_KERNEL + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 help Linux kernel modules for the LTTng 2.x kernel tracing infrastructure. @@ -8,7 +9,8 @@ config BR2_PACKAGE_LTTNG_MODULES Make sure your target kernel has the following config options enabled: - * CONFIG_MODULES: loadable module support + * CONFIG_MODULES: loadable module support (not strictly + required when built into the kernel) * CONFIG_KALLSYMS: this is necessary until the few required missing symbols are exported to GPL modules from mainline @@ -17,6 +19,8 @@ config BR2_PACKAGE_LTTNG_MODULES * CONFIG_TRACEPOINTS: kernel tracepoint instrumentation (enabled as a side-effect of any of the perf/ftrace/blktrace instrumentation features) + * CONFIG_KPROBES (5.7+): use kallsyms for kernel 5.7 and + newer. The following kernel configuration options will affect the features available from LTTng: @@ -29,9 +33,11 @@ config BR2_PACKAGE_LTTNG_MODULES * CONFIG_KALLSYMS_ALL: state dump of mapping between block device number and name - The packaged version is compatible with Linux 2.6.38 to 3.16. - http://lttng.org comment "lttng-modules needs a Linux kernel to be built" depends on !BR2_LINUX_KERNEL + +comment "lttng-modules needs a toolchain w/ headers >= 3.0" + depends on BR2_LINUX_KERNEL + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 diff --git a/package/lttng-modules/lttng-modules.hash b/package/lttng-modules/lttng-modules.hash index f04247ab0ba..fb253c9bf63 100644 --- a/package/lttng-modules/lttng-modules.hash +++ b/package/lttng-modules/lttng-modules.hash @@ -1,8 +1,8 @@ -# From https://lttng.org/files/lttng-modules/lttng-modules-2.11.0.tar.bz2.sha256 -sha256 98af92d8c2e00f4eb63bc637a6967103cf6997434493f36e7a535a491e4fad5f lttng-modules-2.11.0.tar.bz2 +# From https://lttng.org/files/lttng-modules/lttng-modules-2.13.1.tar.bz2.sha256 +sha256 a7c86d91c9bbe66d27f025aa04b8cfc6d7785ed2fc7ef774930800ee44d7f343 lttng-modules-2.13.1.tar.bz2 # Hash for license files -sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 lgpl-2.1.txt -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 gpl-2.0.txt -sha256 2f801b7c2494850c3d91da820eb230502dc0192c9d0db024db37ec08d0be1434 mit-license.txt -sha256 6334b377a5bd56b56a1e8a495830f2d28ed1b5cbedc7493aec9fba979efcdfe1 LICENSE +sha256 d72921266bc8452a8789f8a04a82755373990d00b7e0b0f1a8edb8f854e94d1c LICENSES/LGPL-2.1 +sha256 6841c85b94f9dab319356e3aaf9e969fcedad51d3aaadf665bf86f34f4186b62 LICENSES/GPL-2.0 +sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/MIT +sha256 0133d3c505f176845d7a8b4dcfe006ac615832c43c41e76fe3b365191bafca92 LICENSE diff --git a/package/lttng-modules/lttng-modules.mk b/package/lttng-modules/lttng-modules.mk index b8f9be8656b..d527bc19eff 100644 --- a/package/lttng-modules/lttng-modules.mk +++ b/package/lttng-modules/lttng-modules.mk @@ -4,12 +4,17 @@ # ################################################################################ -LTTNG_MODULES_VERSION = 2.11.0 +LTTNG_MODULES_VERSION = 2.13.1 LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 LTTNG_MODULES_LICENSE = LGPL-2.1/GPL-2.0 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*) -LTTNG_MODULES_LICENSE_FILES = lgpl-2.1.txt gpl-2.0.txt mit-license.txt LICENSE +LTTNG_MODULES_LICENSE_FILES = \ + LICENSES/LGPL-2.1 LICENSES/GPL-2.0 LICENSES/MIT LICENSE LTTNG_MODULES_MODULE_MAKE_OPTS = CONFIG_LTTNG=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m +define LTTNG_MODULES_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_KPROBES) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/lttng-tools/0001-configure.ac-add-disable-tests.patch b/package/lttng-tools/0001-configure.ac-add-disable-tests.patch new file mode 100644 index 00000000000..4bc9239c3db --- /dev/null +++ b/package/lttng-tools/0001-configure.ac-add-disable-tests.patch @@ -0,0 +1,37 @@ +From 8c3a5d0921090e2fc3c4e2561509d23eb9ffa6dd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 2 Apr 2021 21:07:07 +0200 +Subject: [PATCH] configure.ac: add --disable-tests + +Allow the user to explicitly disable tests + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/lttng/lttng-tools/pull/162] +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 04f9cef4..372cdf3d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -862,6 +862,8 @@ AC_ARG_ENABLE([bin-lttng-sessiond], AS_HELP_STRING([--disable-bin-lttng-sessiond + [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 +@@ -1013,6 +1015,7 @@ AM_CONDITIONAL([BUILD_BIN_LTTNG_SESSIOND], [test x$enable_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" && \ +-- +2.30.2 + diff --git a/package/lttng-tools/0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-libc.patch b/package/lttng-tools/0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-libc.patch deleted file mode 100644 index e3e0f3a777e..00000000000 --- a/package/lttng-tools/0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-libc.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 73f906d4d6806afb1962751ccb0fe6c15f320d94 Mon Sep 17 00:00:00 2001 -From: Ovidiu Panait -Date: Mon, 18 May 2020 16:39:26 +0300 -Subject: [PATCH] tests: gen-ust-events-ns/tp.h: Fix build with musl libc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fix the following build error with musl libc: -In file included from ../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.h:14, - from ../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.c:10: -../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.h:17:10: error: unknown type name 'ino_t'; did you mean 'int8_t'? - 17 | TP_ARGS(ino_t, ns_ino), - | ^~~~~ -../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.h:17:10: error: unknown type name 'ino_t'; did you mean 'int8_t'? - 17 | TP_ARGS(ino_t, ns_ino), - | ^~~~~ -../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/./tp.h:17:2: error: unknown type name 'ino_t'; did you mean 'int8_t'? - 17 | TP_ARGS(ino_t, ns_ino), - | ^~~~~~~ -../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/./tp.h:17:2: error: unknown type name 'ino_t'; did you mean 'int8_t'? - 17 | TP_ARGS(ino_t, ns_ino), - | ^~~~~~~ - -Signed-off-by: Ovidiu Panait -Signed-off-by: Jérémie Galarneau -Change-Id: Ic7a73c6754fc30a62bdf6519062c07be65a2eaba -[Retrieved from: -https://github.com/lttng/lttng-tools/commit/73f906d4d6806afb1962751ccb0fe6c15f320d94] -Signed-off-by: Fabrice Fontaine ---- - tests/utils/testapp/gen-ust-events-ns/tp.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/utils/testapp/gen-ust-events-ns/tp.h b/tests/utils/testapp/gen-ust-events-ns/tp.h -index 4dbfed51a..e0ddb29a6 100644 ---- a/tests/utils/testapp/gen-ust-events-ns/tp.h -+++ b/tests/utils/testapp/gen-ust-events-ns/tp.h -@@ -11,6 +11,7 @@ - #if !defined(_TRACEPOINT_TP_H) || defined(TRACEPOINT_HEADER_MULTI_READ) - #define _TRACEPOINT_TP_H - -+#include - #include - - TRACEPOINT_EVENT(tp, tptest, diff --git a/package/lttng-tools/lttng-tools.hash b/package/lttng-tools/lttng-tools.hash index a27b419e758..5b5f55da30d 100644 --- a/package/lttng-tools/lttng-tools.hash +++ b/package/lttng-tools/lttng-tools.hash @@ -1,5 +1,5 @@ -# From https://lttng.org/files/lttng-tools/lttng-tools-2.12.1.tar.bz2.sha256 -sha256 0de7afc1f40a5acbede933cdfd6cf47b32ff84d02e170a1321f7fc86141585b8 lttng-tools-2.12.1.tar.bz2 +# From https://lttng.org/files/lttng-tools/lttng-tools-2.13.2.tar.bz2.sha256 +sha256 ced2ba00020da77fd17ac92b5a53825502409a07e3aeca28f9515d4a844fd7bd lttng-tools-2.13.2.tar.bz2 # Locally computed sha256 068e55c7dbe597400199aee75ac5e71bdb2ca88c4c9a4cfa8e1fbc61f933eda5 LICENSE diff --git a/package/lttng-tools/lttng-tools.mk b/package/lttng-tools/lttng-tools.mk index e0e99e32701..efa22a52e35 100644 --- a/package/lttng-tools/lttng-tools.mk +++ b/package/lttng-tools/lttng-tools.mk @@ -4,18 +4,19 @@ # ################################################################################ -LTTNG_TOOLS_VERSION = 2.12.1 +LTTNG_TOOLS_VERSION = 2.13.2 LTTNG_TOOLS_SITE = https://lttng.org/files/lttng-tools LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 LTTNG_TOOLS_INSTALL_STAGING = YES LTTNG_TOOLS_LICENSE = GPL-2.0, LGPL-2.1 (include/lttng/*, src/lib/lttng-ctl/*) LTTNG_TOOLS_LICENSE_FILES = LICENSE $(addprefix LICENSES/,BSD-2-Clause BSD-3-Clause GPL-2.0 LGPL-2.1 MIT) -LTTNG_TOOLS_CONF_OPTS += --disable-man-pages LTTNG_TOOLS_DEPENDENCIES = liburcu libxml2 popt util-linux - -ifeq ($(BR2_INIT_SYSTEMD),y) -LTTNG_TOOLS_CONF_OPTS += --with-lttng-system-rundir=/run/lttng -endif +# We're patching configure.ac +LTTNG_TOOLS_AUTORECONF = YES +LTTNG_TOOLS_CONF_OPTS = \ + --disable-man-pages \ + --disable-tests \ + --with-lttng-system-rundir=/run/lttng ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y) LTTNG_TOOLS_CONF_OPTS += --with-lttng-ust diff --git a/package/lua-argon2/Config.in b/package/lua-argon2/Config.in new file mode 100644 index 00000000000..98bdd881995 --- /dev/null +++ b/package/lua-argon2/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LUA_ARGON2 + bool "lua-argon2" + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU # libargon2 + select BR2_PACKAGE_LIBARGON2 + help + Lua C binding for the Argon2 password hashing algorithm. + + https://github.com/thibaultcha/lua-argon2 + +comment "lua-argon2 needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/lua-argon2/lua-argon2.hash b/package/lua-argon2/lua-argon2.hash new file mode 100644 index 00000000000..cb3404d303c --- /dev/null +++ b/package/lua-argon2/lua-argon2.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d109c6e8e93cd9e27e8738567a998a2763d56252cc1abca1f0f2ac36ef8ce0f4 lua-argon2-3.0.1.tar.gz diff --git a/package/lua-argon2/lua-argon2.mk b/package/lua-argon2/lua-argon2.mk new file mode 100644 index 00000000000..6f787a907aa --- /dev/null +++ b/package/lua-argon2/lua-argon2.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# lua-argon2 +# +################################################################################ + +LUA_ARGON2_VERSION = 3.0.1 +LUA_ARGON2_SITE = $(call github,thibaultcha,lua-argon2,$(LUA_ARGON2_VERSION)) +LUA_ARGON2_LICENSE = MIT +LUA_ARGON2_DEPENDENCIES = luainterpreter libargon2 + +define LUA_ARGON2_BUILD_CMDS + $(MAKE) -C $(@D) \ + CC=$(TARGET_CC) \ + CFLAGS="$(TARGET_CFLAGS) -fPIC" \ + PREFIX="$(STAGING_DIR)/usr" +endef + +define LUA_ARGON2_INSTALL_TARGET_CMDS + $(INSTALL) -m 755 -D $(@D)/argon2.so $(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER)/argon2.so +endef + +$(eval $(generic-package)) diff --git a/package/lua-augeas/Config.in b/package/lua-augeas/Config.in new file mode 100644 index 00000000000..6470033e9b4 --- /dev/null +++ b/package/lua-augeas/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LUA_AUGEAS + bool "lua-augeas" + depends on !BR2_arc # augeas + depends on BR2_USE_WCHAR # augeas + select BR2_PACKAGE_AUGEAS + help + Lua binding for augeas library + + https://github.com/ncopa/lua-augeas + +comment "lua-augeas needs a toolchain w/ wchar" + depends on !BR2_arc + depends on !BR2_USE_WCHAR diff --git a/package/lua-augeas/lua-augeas.hash b/package/lua-augeas/lua-augeas.hash new file mode 100644 index 00000000000..07a6a676e69 --- /dev/null +++ b/package/lua-augeas/lua-augeas.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 694fe887eebac27b558c9695042405f70a86382e92916094e7ba5f411673fbc1 lua-augeas-a6eace5116d1a711218a7c9086a4e3c4db88ee57.tar.gz +sha256 1f5c5ee5da981332b7f73cc5a59af660b03104279e2aa21b6b86890430c3eff0 COPYRIGHT diff --git a/package/lua-augeas/lua-augeas.mk b/package/lua-augeas/lua-augeas.mk new file mode 100644 index 00000000000..930cf49b86f --- /dev/null +++ b/package/lua-augeas/lua-augeas.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# lua-augeas +# +################################################################################ + +LUA_AUGEAS_VERSION = a6eace5116d1a711218a7c9086a4e3c4db88ee57 +LUA_AUGEAS_SITE = $(call github,ncopa,lua-augeas,$(LUA_AUGEAS_VERSION)) +LUA_AUGEAS_LICENSE = MIT +LUA_AUGEAS_LICENSE_FILES = COPYRIGHT +LUA_AUGEAS_DEPENDENCIES = luainterpreter augeas host-pkgconf + +# LDFLAGS=$(LDFLAGS) is present to pass LDFLAGS from environment to the command +# line. With LDFLAGS set in the command line, related ordinary asignment present +# in the makefile are ignored and so lua-augeas makefile cannot not add '-L/lib' +# to this value. +LUA_AUGEAS_CONF_OPTS= \ + PKGCONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + LDFLAGS="$(LDFLAGS)" \ + LUA_VERSION="$(LUAINTERPRETER_ABIVER)" \ + INSTALL_CMOD="/usr/lib/lua/$(LUAINTERPRETER_ABIVER)" + +define LUA_AUGEAS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(LUA_AUGEAS_CONF_OPTS) all +endef + +define LUA_AUGEAS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(LUA_AUGEAS_CONF_OPTS) DESTDIR="$(TARGET_DIR)" install +endef + +$(eval $(generic-package)) diff --git a/package/lua-cffi/Config.in b/package/lua-cffi/Config.in new file mode 100644 index 00000000000..f4a760ce0d0 --- /dev/null +++ b/package/lua-cffi/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_LUA_CFFI + bool "lua-cffi" + depends on !BR2_PACKAGE_LUAJIT + depends on BR2_TOOLCHAIN_HAS_THREADS # libffi + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_LIBFFI + help + This is a portable C FFI for Lua, based on libffi and aiming + to be mostly compatible with LuaJIT FFI, but written from + scratch. + + https://github.com/q66/cffi-lua + +comment "lua-cffi needs a toolchain w/ C++, gcc >= 4.8, threads" + depends on !BR2_PACKAGE_LUAJIT + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/lua-cffi/lua-cffi.hash b/package/lua-cffi/lua-cffi.hash new file mode 100644 index 00000000000..a532c6c7b36 --- /dev/null +++ b/package/lua-cffi/lua-cffi.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 c30080d6309167f86d1a96d3ee33f33ef52e884052b7feac140b8c52db10ad7a lua-cffi-0.2.1.tar.gz +sha256 f5653a4d5864a3920ea1e07dacfd646067314be647598f0acaaf685beaa2e396 COPYING.md diff --git a/package/lua-cffi/lua-cffi.mk b/package/lua-cffi/lua-cffi.mk new file mode 100644 index 00000000000..964f49f030c --- /dev/null +++ b/package/lua-cffi/lua-cffi.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-cffi +# +################################################################################ + +LUA_CFFI_VERSION = 0.2.1 +LUA_CFFI_SITE = $(call github,q66,cffi-lua,v$(LUA_CFFI_VERSION)) +LUA_CFFI_LICENSE = MIT +LUA_CFFI_LICENSE_FILES = COPYING.md + +LUA_CFFI_DEPENDENCIES = libffi lua + +$(eval $(meson-package)) diff --git a/package/lua-curl/lua-curl.hash b/package/lua-curl/lua-curl.hash index 5210ceb0f94..32f0506bbd2 100644 --- a/package/lua-curl/lua-curl.hash +++ b/package/lua-curl/lua-curl.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 b6b860cd416ad883f2c7c2e1696aceda60c96036f660fb8c0236a5cc3d961c04 lua-curl-0.3.12-1.src.rock -sha256 0f92f4c4665aadffb023de44b16022282040fe4409d5cd3148f1812dec30cdff Lua-cURLv3-0.3.12/LICENSE +sha256 6b2cc48621fac3cb7c1669705475e67a6932829ba46efb9ac5864604848f8ea2 lua-curl-0.3.13-1.src.rock +sha256 0f92f4c4665aadffb023de44b16022282040fe4409d5cd3148f1812dec30cdff Lua-cURLv3-0.3.13/LICENSE diff --git a/package/lua-curl/lua-curl.mk b/package/lua-curl/lua-curl.mk index 37fbf30ccbd..2120d33ab5d 100644 --- a/package/lua-curl/lua-curl.mk +++ b/package/lua-curl/lua-curl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_CURL_VERSION_UPSTREAM = 0.3.12 +LUA_CURL_VERSION_UPSTREAM = 0.3.13 LUA_CURL_VERSION = $(LUA_CURL_VERSION_UPSTREAM)-1 LUA_CURL_SUBDIR = Lua-cURLv3-$(LUA_CURL_VERSION_UPSTREAM) LUA_CURL_LICENSE = MIT diff --git a/package/lua-inotify/Config.in b/package/lua-inotify/Config.in new file mode 100644 index 00000000000..2b0c943c607 --- /dev/null +++ b/package/lua-inotify/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LUA_INOTIFY + bool "lua-inotify" + help + Inotify bindings for Lua. + + http://hoelz.ro/projects/linotify diff --git a/package/lua-inotify/lua-inotify.hash b/package/lua-inotify/lua-inotify.hash new file mode 100644 index 00000000000..183638954c1 --- /dev/null +++ b/package/lua-inotify/lua-inotify.hash @@ -0,0 +1,3 @@ +# computed by luarocks/buildroot +sha256 9164b5777b132d7e1e073478d8837a526262991c57e32d75d517100f533eb436 inotify-0.5-1.src.rock +sha256 b02158adb3c7763e1183a9386672f4f037bfeaab0cb0c73d684f34f3ea1993d8 linotify-0.5/COPYRIGHT diff --git a/package/lua-inotify/lua-inotify.mk b/package/lua-inotify/lua-inotify.mk new file mode 100644 index 00000000000..dde7fc0fa41 --- /dev/null +++ b/package/lua-inotify/lua-inotify.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-inotify +# +################################################################################ + +LUA_INOTIFY_VERSION_UPSTREAM = 0.5 +LUA_INOTIFY_VERSION = $(LUA_INOTIFY_VERSION_UPSTREAM)-1 +LUA_INOTIFY_NAME_UPSTREAM = inotify +LUA_INOTIFY_SUBDIR = linotify-$(LUA_INOTIFY_VERSION_UPSTREAM) +LUA_INOTIFY_LICENSE = MIT +LUA_INOTIFY_LICENSE_FILES = $(LUA_INOTIFY_SUBDIR)/COPYRIGHT + +$(eval $(luarocks-package)) diff --git a/package/lua-livr/lua-livr.hash b/package/lua-livr/lua-livr.hash index a891420b494..73b0fefa71e 100644 --- a/package/lua-livr/lua-livr.hash +++ b/package/lua-livr/lua-livr.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 a3890301ed5f393b585cab26ac944eddc9df41bfa2ab87c11785925193453493 lua-livr-0.2.1-1.src.rock -sha256 8f09089acf52cfabcc2a44ec3a492dc261e0ae9df3c618f43b33805e696e02d8 lua-LIVR-0.2.1/COPYRIGHT +sha256 e2f39316b8a1e66420c56e8ddc9ce4c0118c1a240582f2ba52d7627da6dfb76d lua-livr-0.2.2-1.src.rock +sha256 69fd426251454ea43a8068e58ac25d882922372de6b22e249bb56e00ea2cd834 lua-LIVR-0.2.2/COPYRIGHT diff --git a/package/lua-livr/lua-livr.mk b/package/lua-livr/lua-livr.mk index 25034b897b5..3f114c725ef 100644 --- a/package/lua-livr/lua-livr.mk +++ b/package/lua-livr/lua-livr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_LIVR_VERSION = 0.2.1-1 +LUA_LIVR_VERSION = 0.2.2-1 LUA_LIVR_NAME_UPSTREAM = lua-LIVR LUA_LIVR_LICENSE = MIT LUA_LIVR_LICENSE_FILES = $(LUA_LIVR_SUBDIR)/COPYRIGHT diff --git a/package/lua-lunix/0001-fix-with-uClibc.patch b/package/lua-lunix/0001-fix-with-uClibc.patch new file mode 100644 index 00000000000..236eec47a19 --- /dev/null +++ b/package/lua-lunix/0001-fix-with-uClibc.patch @@ -0,0 +1,28 @@ +From ee41d97a80b978f54941ac6857c00b8a8f28de24 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sun, 6 Jun 2021 17:55:06 +0200 +Subject: [PATCH] fix with uClibc + +uClibc doesn't have is no sys_siglist. + +Signed-off-by: Francois Perrad +--- + lunix-rel-20170920/src/unix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lunix-rel-20170920/src/unix.c b/lunix-rel-20170920/src/unix.c +index 5f3a70a..e561ab2 100644 +--- a/lunix-rel-20170920/src/unix.c ++++ b/lunix-rel-20170920/src/unix.c +@@ -438,7 +438,7 @@ + #endif + + #ifndef HAVE_SYS_SIGLIST +-#define HAVE_SYS_SIGLIST (!MUSL_MAYBE && !__sun && !_AIX) ++#define HAVE_SYS_SIGLIST (!MUSL_MAYBE && !__sun && !_AIX && !__UCLIBC__) + #endif + + #ifndef HAVE_UNLINKAT +-- +2.30.2 + diff --git a/package/lua-lunix/0002-remove-link-with-librt.patch b/package/lua-lunix/0002-remove-link-with-librt.patch new file mode 100644 index 00000000000..7b1c8ddd575 --- /dev/null +++ b/package/lua-lunix/0002-remove-link-with-librt.patch @@ -0,0 +1,36 @@ +From aeaff83b9ae42547b8728edac000f3d41d5e44aa Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sat, 17 Jul 2021 13:21:38 +0200 +Subject: [PATCH] remove link with librt + +librt is not available with musl + +Signed-off-by: Francois Perrad +--- + lunix-rel-20170920/lunix-20170920-1.rockspec | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/lunix-rel-20170920/lunix-20170920-1.rockspec b/lunix-rel-20170920/lunix-20170920-1.rockspec +index 741179d..76cafeb 100644 +--- a/lunix-rel-20170920/lunix-20170920-1.rockspec ++++ b/lunix-rel-20170920/lunix-20170920-1.rockspec +@@ -26,16 +26,6 @@ build = { + }; + }; + platforms = { +- linux = { +- modules = { +- ["unix"] = { +- libraries = { +- -- glibc <= 2.17 needs to link with librt +- "rt"; +- }; +- }; +- }; +- }; + osx = { + modules = { + ["unix"] = { +-- +2.30.2 + diff --git a/package/lua-lunix/0003-fix-sysctl-detection.patch b/package/lua-lunix/0003-fix-sysctl-detection.patch new file mode 100644 index 00000000000..18656b19215 --- /dev/null +++ b/package/lua-lunix/0003-fix-sysctl-detection.patch @@ -0,0 +1,24 @@ +sys/sysctl.h was removed with glibc 2.32 + +Fetched from: https://github.com/wahern/lunix/pull/20/files +Signed-off-by: Francois Perrad +--- + lunix-rel-20170920/src/unix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lunix-rel-20170920/src/unix.c b/lunix-rel-20170920/src/unix.c +index 272820a..fa00876 100644 +--- a/lunix-rel-20170920/src/unix.c ++++ b/lunix-rel-20170920/src/unix.c +@@ -165,7 +165,7 @@ + #endif + + #ifndef HAVE_SYS_SYSCTL_H /* missing on musl libc */ +-#define HAVE_SYS_SYSCTL_H (defined BSD || GLIBC_PREREQ(0,0) || UCLIBC_PREREQ(0,0,0)) ++#define HAVE_SYS_SYSCTL_H (defined BSD || (__GLIBC__ && !GLIBC_PREREQ(2,32)) || UCLIBC_PREREQ(0,0,0)) + #endif + + #ifndef HAVE_STRUCT_IN_PKTINFO +-- +2.30.2 + diff --git a/package/lua-lunix/Config.in b/package/lua-lunix/Config.in new file mode 100644 index 00000000000..ca9325a156b --- /dev/null +++ b/package/lua-lunix/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LUA_LUNIX + bool "lua-lunix" + help + lunix is a bindings library module to common Unix system APIs. + + http://25thandclement.com/~william/projects/lunix.html diff --git a/package/lua-lunix/lua-lunix.hash b/package/lua-lunix/lua-lunix.hash new file mode 100644 index 00000000000..3cbf3481b5a --- /dev/null +++ b/package/lua-lunix/lua-lunix.hash @@ -0,0 +1,3 @@ +# computed by luarocks/buildroot +sha256 4a4007b394ae884e18e9d0319ea584e8b4a682d7bf8fa5b99c7eea9baf1e5ed6 lunix-20170920-1.src.rock +sha256 9b74be104d59caa45bf3321ebe771f9cc7874209261a93f1cf971ceca44fbe03 lunix-rel-20170920/LICENSE diff --git a/package/lua-lunix/lua-lunix.mk b/package/lua-lunix/lua-lunix.mk new file mode 100644 index 00000000000..28cb2dc4115 --- /dev/null +++ b/package/lua-lunix/lua-lunix.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-lunix +# +################################################################################ + +LUA_LUNIX_VERSION_UPSTREAM = 20170920 +LUA_LUNIX_VERSION = $(LUA_LUNIX_VERSION_UPSTREAM)-1 +LUA_LUNIX_NAME_UPSTREAM = lunix +LUA_LUNIX_SUBDIR = lunix-rel-$(LUA_LUNIX_VERSION_UPSTREAM) +LUA_LUNIX_LICENSE = MIT +LUA_LUNIX_LICENSE_FILES = $(LUA_LUNIX_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-rotas/lua-rotas.hash b/package/lua-rotas/lua-rotas.hash index 6f8d0df41eb..2633f3b728f 100644 --- a/package/lua-rotas/lua-rotas.hash +++ b/package/lua-rotas/lua-rotas.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 be47e72ec703ffc319fe4fd539b531bbe8a8c0c52e0cc9774273028f1599a0cf lua-rotas-0.2.0-1.src.rock -sha256 4a7fdc0e44509d79c9bf18560cfb98368f70bb3832abe07e3cdba5c06466b0bb lua-Rotas-0.2.0/COPYRIGHT +sha256 a947026be3552cbf676a0cef36a618111712257d306cbd9d340ed8895a4cbd2b lua-rotas-0.2.1-1.src.rock +sha256 ac8bb87b7b5e803ae27510b9c6fd284f1b00e741258bc59fc78d3bc107d96fbb lua-Rotas-0.2.1/COPYRIGHT diff --git a/package/lua-rotas/lua-rotas.mk b/package/lua-rotas/lua-rotas.mk index 6ace963a4b1..84d6c9a582b 100644 --- a/package/lua-rotas/lua-rotas.mk +++ b/package/lua-rotas/lua-rotas.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_ROTAS_VERSION = 0.2.0-1 +LUA_ROTAS_VERSION = 0.2.1-1 LUA_ROTAS_NAME_UPSTREAM = lua-Rotas LUA_ROTAS_LICENSE = MIT LUA_ROTAS_LICENSE_FILES = $(LUA_ROTAS_SUBDIR)/COPYRIGHT diff --git a/package/lua-silva/lua-silva.hash b/package/lua-silva/lua-silva.hash index 7bb04da95c7..bcd0d3071d1 100644 --- a/package/lua-silva/lua-silva.hash +++ b/package/lua-silva/lua-silva.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 89cfdf6c67b69ff5e18591fb79cfe10c7e5f4923494ed92f426f44e475a9b522 lua-silva-0.1.6-1.src.rock -sha256 166beeb47e49a35b3ff8c6af91a399046a9cc5e29a8072618b4ca90f5b7a6c95 lua-Silva-0.1.6/COPYRIGHT +sha256 0e656c42c71b64285d4a375fa7b8b1a910b05c4ab6d30f5b427b078fff204e1f lua-silva-0.1.8-1.src.rock +sha256 5b59ffbfc12d9d1cb907dd65b0f16d3453e1a43cc018c6128a00b00e08f6c485 lua-Silva-0.1.8/COPYRIGHT diff --git a/package/lua-silva/lua-silva.mk b/package/lua-silva/lua-silva.mk index 949e2d36de2..91b1b774767 100644 --- a/package/lua-silva/lua-silva.mk +++ b/package/lua-silva/lua-silva.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_SILVA_VERSION = 0.1.6-1 +LUA_SILVA_VERSION = 0.1.8-1 LUA_SILVA_NAME_UPSTREAM = lua-Silva LUA_SILVA_LICENSE = MIT LUA_SILVA_LICENSE_FILES = $(LUA_SILVA_SUBDIR)/COPYRIGHT diff --git a/package/lua-testmore/lua-testmore.hash b/package/lua-testmore/lua-testmore.hash index 752fc17f73a..4ff577e5284 100644 --- a/package/lua-testmore/lua-testmore.hash +++ b/package/lua-testmore/lua-testmore.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 4875103611683b13fdd0bc3658c0cbe302b4db491043a03ea002726810d371c5 lua-testmore-0.3.5-2.src.rock -sha256 0fa63370a149eda33e25987dd63bd096a616a3e47d2cfc45ca2fd66e8d2bfb35 lua-TestMore-0.3.5/COPYRIGHT +sha256 b3e57955888aba3974d6f5a21219214e2803a38e4623671f7d9d9e0f1851e608 lua-testmore-0.3.6-1.src.rock +sha256 37a3afb014325b98f0ad919cb40bc9d5a948120e5260e75b9d00c198d350da6d lua-TestMore-0.3.6/COPYRIGHT diff --git a/package/lua-testmore/lua-testmore.mk b/package/lua-testmore/lua-testmore.mk index 5d6dc053a8e..e3cc7b7bdbd 100644 --- a/package/lua-testmore/lua-testmore.mk +++ b/package/lua-testmore/lua-testmore.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_TESTMORE_VERSION = 0.3.5-2 +LUA_TESTMORE_VERSION = 0.3.6-1 LUA_TESTMORE_NAME_UPSTREAM = lua-TestMore LUA_TESTMORE_LICENSE = MIT LUA_TESTMORE_LICENSE_FILES = $(LUA_TESTMORE_SUBDIR)/COPYRIGHT diff --git a/package/lua-zlib/Config.in b/package/lua-zlib/Config.in new file mode 100644 index 00000000000..ffdb4a8e663 --- /dev/null +++ b/package/lua-zlib/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LUA_ZLIB + bool "lua-zlib" + select BR2_PACKAGE_ZLIB + help + Simple streaming interface to zlib for Lua. + Consists of two functions: inflate and deflate. + Both functions return "stream functions" (takes a buffer + of input and returns a buffer of output). + + https://github.com/brimworks/lua-zlib diff --git a/package/lua-zlib/lua-zlib.hash b/package/lua-zlib/lua-zlib.hash new file mode 100644 index 00000000000..8c108b39ae2 --- /dev/null +++ b/package/lua-zlib/lua-zlib.hash @@ -0,0 +1,2 @@ +# computed by luarocks/buildroot +sha256 42436ba2b78c9a2d515d6da59ceb12cdea7f84c9ce3c859d91addb42badd4061 lua-zlib-1.2-0.src.rock diff --git a/package/lua-zlib/lua-zlib.mk b/package/lua-zlib/lua-zlib.mk new file mode 100644 index 00000000000..23e2a8ae32d --- /dev/null +++ b/package/lua-zlib/lua-zlib.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# lua-zlib +# +################################################################################ + +LUA_ZLIB_VERSION = 1.2-0 +LUA_ZLIB_SUBDIR = lua-zlib +LUA_ZLIB_LICENSE = MIT +LUA_ZLIB_DEPENDENCIES = zlib + +$(eval $(luarocks-package)) diff --git a/package/lua/5.4.2/lua.hash b/package/lua/5.4.2/lua.hash deleted file mode 100644 index f916c8e4efa..00000000000 --- a/package/lua/5.4.2/lua.hash +++ /dev/null @@ -1,6 +0,0 @@ -# Hashes from: https://www.lua.org/ftp/ -md5 49c92d6a49faba342c35c52e1ac3f81e lua-5.4.2.tar.gz -sha1 96d4a21393c94bed286b8dc0568f4bdde8730b22 lua-5.4.2.tar.gz - -# Locally computed -sha256 17bd5781d5dfa8c946fea639984fcbcb499d8bb3056a3c2cb5c15c3da5d1c207 doc/readme.html diff --git a/package/lua/5.4.2/0001-root-path.patch b/package/lua/5.4.4/0001-root-path.patch similarity index 95% rename from package/lua/5.4.2/0001-root-path.patch rename to package/lua/5.4.4/0001-root-path.patch index 8e82c1ce591..c4f6e312eb0 100644 --- a/package/lua/5.4.2/0001-root-path.patch +++ b/package/lua/5.4.4/0001-root-path.patch @@ -6,7 +6,7 @@ Index: b/src/luaconf.h =================================================================== --- a/src/luaconf.h +++ b/src/luaconf.h -@@ -212,7 +212,7 @@ +@@ -217,7 +217,7 @@ #else /* }{ */ diff --git a/package/lua/5.4.2/0002-shared-libs-for-lua.patch b/package/lua/5.4.4/0002-shared-libs-for-lua.patch similarity index 100% rename from package/lua/5.4.2/0002-shared-libs-for-lua.patch rename to package/lua/5.4.4/0002-shared-libs-for-lua.patch diff --git a/package/lua/5.4.2/0011-linenoise.patch b/package/lua/5.4.4/0011-linenoise.patch similarity index 97% rename from package/lua/5.4.2/0011-linenoise.patch rename to package/lua/5.4.4/0011-linenoise.patch index e842e5b1ef3..68316e108f5 100644 --- a/package/lua/5.4.2/0011-linenoise.patch +++ b/package/lua/5.4.4/0011-linenoise.patch @@ -8,7 +8,7 @@ Index: b/src/lua.c =================================================================== --- a/src/lua.c +++ b/src/lua.c -@@ -401,6 +401,14 @@ +@@ -428,6 +428,14 @@ #define lua_saveline(L,line) ((void)L, add_history(line)) #define lua_freeline(L,b) ((void)L, free(b)) diff --git a/package/lua/5.4.4/lua.hash b/package/lua/5.4.4/lua.hash new file mode 100644 index 00000000000..b55b17f2586 --- /dev/null +++ b/package/lua/5.4.4/lua.hash @@ -0,0 +1,6 @@ +# Hashes from: https://www.lua.org/ftp/ +md5 bd8ce7069ff99a400efd14cf339a727b lua-5.4.4.tar.gz +sha1 03c27684b9d5d9783fb79a7c836ba1cdc5f309cd lua-5.4.4.tar.gz + +# Locally computed +sha256 2556ac7198243f9f83130b9c81016e1904f7b30351481f1c28e02475dbd237fb doc/readme.html diff --git a/package/lua/Config.in b/package/lua/Config.in index 5d4cee5d5bc..309dd6eec2f 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_PROVIDES_LUAINTERPRETER choice prompt "Lua Version" - default BR2_PACKAGE_LUA_5_3 + default BR2_PACKAGE_LUA_5_4 help Select the version of Lua API/ABI you wish to use. diff --git a/package/lua/lua.mk b/package/lua/lua.mk index e3a415a06a5..09e7b34f7dc 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -5,7 +5,7 @@ ################################################################################ ifeq ($(BR2_PACKAGE_LUA_5_4),y) -LUA_VERSION = 5.4.2 +LUA_VERSION = 5.4.4 else ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_VERSION = 5.3.6 else @@ -40,12 +40,12 @@ LUA_MYLIBS += -ldl endif ifeq ($(BR2_PACKAGE_LUA_READLINE),y) -LUA_DEPENDENCIES = readline ncurses +LUA_DEPENDENCIES += readline ncurses LUA_MYLIBS += -lreadline -lhistory -lncurses LUA_CFLAGS += -DLUA_USE_READLINE else ifeq ($(BR2_PACKAGE_LUA_LINENOISE),y) -LUA_DEPENDENCIES = linenoise +LUA_DEPENDENCIES += linenoise LUA_MYLIBS += -llinenoise LUA_CFLAGS += -DLUA_USE_LINENOISE endif diff --git a/package/luajit/Config.in b/package/luajit/Config.in index eb3eb01998f..f27099e80c7 100644 --- a/package/luajit/Config.in +++ b/package/luajit/Config.in @@ -1,17 +1,21 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS bool - default y if BR2_i386 || \ - (BR2_x86_64 && BR2_HOSTARCH='x86_64') || \ - BR2_powerpc || BR2_arm || BR2_armeb || BR2_aarch64 || \ - ((BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT && \ - !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6) + default y if BR2_arm || BR2_armeb || BR2_aarch64 + default y if BR2_i386 || BR2_x86_64 + default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT \ + && !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 + default y if BR2_powerpc # -m32 flag is used for 32bit builds and host-luajit has # limited architecture support depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + # Building for 64-bit target requires a 64-bit host + depends on !BR2_ARCH_IS_64 || BR2_HOSTARCH = "x86_64" config BR2_PACKAGE_LUAJIT bool "luajit" depends on !BR2_STATIC_LIBS # dlopen + # Luajit conflicts with the regular lua package + depends on !BR2_PACKAGE_LUA # Luajit is only available for some target architectures, and # has some complexity wrt 32/64. See luajit.mk for details. depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS @@ -27,7 +31,7 @@ config BR2_PACKAGE_LUAJIT ABI-compatible to the standard Lua interpreter and can be deployed as a drop-in replacement. - https://github.com/moonjit/moonjit + https://luajit.org/luajit.html if BR2_PACKAGE_LUAJIT diff --git a/package/luajit/luajit.hash b/package/luajit/luajit.hash index 532ec0b2944..d92eefb39aa 100644 --- a/package/luajit/luajit.hash +++ b/package/luajit/luajit.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 c3de8e29aa617fc594c043f57636ab9ad71af2b4a3a513932b05f5cdaa4320b2 luajit-2.1.2.tar.gz +sha256 7ea92e2414b6405c7fb3974ab092707c400a5496e8d4936174b5bd3aa6e94477 luajit-a91d0d9d3bba1a936669cfac3244509a0f2ac0e3.tar.gz # Locally calculated -sha256 aa64a7706ded773011b933f4230d7b35ba662598197f82ac2c7bca62abdaa4d7 COPYRIGHT +sha256 43fc251179d900f9948e51dd3cc93733d1219f2db060faaa0c8100ad054f54d8 COPYRIGHT diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk index defa21dd3ff..cca806309db 100644 --- a/package/luajit/luajit.mk +++ b/package/luajit/luajit.mk @@ -4,10 +4,11 @@ # ################################################################################ -LUAJIT_VERSION = 2.1.2 -LUAJIT_SITE = $(call github,moonjit,moonjit,$(LUAJIT_VERSION)) +LUAJIT_VERSION = a91d0d9d3bba1a936669cfac3244509a0f2ac0e3 +LUAJIT_SITE = $(call github,LuaJIT,LuaJIT,$(LUAJIT_VERSION)) LUAJIT_LICENSE = MIT LUAJIT_LICENSE_FILES = COPYRIGHT +LUAJIT_CPE_ID_VENDOR = luajit LUAJIT_INSTALL_STAGING = YES @@ -26,8 +27,10 @@ endif # libraries are installed. ifeq ($(BR2_ARCH_IS_64),y) LUAJIT_HOST_CC = $(HOSTCC) +# There is no LUAJIT_ENABLE_GC64 option. else LUAJIT_HOST_CC = $(HOSTCC) -m32 +LUAJIT_XCFLAGS += -DLUAJIT_DISABLE_GC64 endif # We unfortunately can't use TARGET_CONFIGURE_OPTS, because the luajit @@ -45,7 +48,7 @@ define LUAJIT_BUILD_CMDS HOST_CFLAGS="$(HOST_CFLAGS)" \ HOST_LDFLAGS="$(HOST_LDFLAGS)" \ BUILDMODE=dynamic \ - XCFLAGS=$(LUAJIT_XCFLAGS) \ + XCFLAGS="$(LUAJIT_XCFLAGS)" \ -C $(@D) amalg endef @@ -66,7 +69,7 @@ LUAJIT_POST_INSTALL_TARGET_HOOKS += LUAJIT_INSTALL_SYMLINK define HOST_LUAJIT_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)" BUILDMODE=dynamic \ TARGET_LDFLAGS="$(HOST_LDFLAGS)" \ - XCFLAGS=$(LUAJIT_XCFLAGS) \ + XCFLAGS="$(LUAJIT_XCFLAGS)" \ -C $(@D) amalg endef diff --git a/package/lualdap/Config.in b/package/lualdap/Config.in index ef3e9320277..5ef89728f2c 100644 --- a/package/lualdap/Config.in +++ b/package/lualdap/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LUALDAP bool "lualdap" depends on !BR2_STATIC_LIBS - depends on !BR2_PACKAGE_LUA_5_4 depends on BR2_USE_WCHAR # openldap depends on BR2_USE_MMU # openldap select BR2_PACKAGE_OPENLDAP @@ -9,8 +8,8 @@ config BR2_PACKAGE_LUALDAP LuaLDAP is a simple interface from Lua to an LDAP client, in fact it is a bind to OpenLDAP client. - https://github.com/lualdap/lualdap + https://lualdap.github.io/lualdap/ -comment "lualdap needs a toolchain w/ wchar, dynamic library, Lua <= 5.3" +comment "lualdap needs a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || BR2_PACKAGE_LUA_5_4 + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS diff --git a/package/lualdap/lualdap.hash b/package/lualdap/lualdap.hash index 77eced43419..a65260b1322 100644 --- a/package/lualdap/lualdap.hash +++ b/package/lualdap/lualdap.hash @@ -1,3 +1,3 @@ -# locally computed -sha256 3e028faa6a5798cf2f3d50b9853b9b3fb6eb562b62010747bd5b6f50b57bb1cc lualdap-1.2.5.tar.gz -sha256 7afd8bed6c96a2ba1d1fa9f03ea04c140065462dbd37d7fb66cc7c3c6722aa89 LICENSE.md +# computed by luarocks/buildroot +sha256 49c253f540187c61850c856b8e70e45dca904b81720a760f6a94e4eb474958ad lualdap-1.3.0-1.src.rock +sha256 b9b75da18d1e1147ec47bff508ffdce831da07dc371891b9057cf1c422660af4 lualdap/docs/license.md diff --git a/package/lualdap/lualdap.mk b/package/lualdap/lualdap.mk index 6ab3302697d..5dfba8b7a41 100644 --- a/package/lualdap/lualdap.mk +++ b/package/lualdap/lualdap.mk @@ -4,30 +4,10 @@ # ################################################################################ -LUALDAP_VERSION = 1.2.5 -LUALDAP_SITE = $(call github,lualdap,lualdap,v$(LUALDAP_VERSION)) +LUALDAP_VERSION = 1.3.0-1 +LUALDAP_SUBDIR = lualdap LUALDAP_LICENSE = MIT -LUALDAP_LICENSE_FILES = LICENSE.md -LUALDAP_DEPENDENCIES = luainterpreter openldap +LUALDAP_LICENSE_FILES = $(LUALDAP_SUBDIR)/docs/license.md +LUALDAP_DEPENDENCIES = openldap -define LUALDAP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) \ - CC=$(TARGET_CC) \ - LUA_LIB=-llua \ - LUA_LIBDIR="$(STAGING_DIR)/usr/lib" \ - LUA_INCDIR="$(STAGING_DIR)/usr/include" \ - LDAP_LIBDIR="$(STAGING_DIR)/usr/lib" \ - LDAP_INCDIR="$(STAGING_DIR)/usr/include" \ - LBER_LIBDIR="$(STAGING_DIR)/usr/lib" \ - LBER_INCDIR="$(STAGING_DIR)/usr/include" \ - src/lualdap.so -endef - -define LUALDAP_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) \ - DESTDIR="$(TARGET_DIR)" \ - INST_LIBDIR="/usr/lib/lua/$(LUAINTERPRETER_ABIVER)/" \ - install -endef - -$(eval $(generic-package)) +$(eval $(luarocks-package)) diff --git a/package/lualogging/Config.in b/package/lualogging/Config.in index 79e352a752b..b12b95142e9 100644 --- a/package/lualogging/Config.in +++ b/package/lualogging/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LUALOGGING supports, through the use of appenders, console, file, rolling file, email, socket and SQL outputs. - https://github.com/keplerproject/lualogging + https://lunarmodules.github.io/lualogging/ diff --git a/package/lualogging/lualogging.hash b/package/lualogging/lualogging.hash index 6cd82ab2ec7..294ef95adb1 100644 --- a/package/lualogging/lualogging.hash +++ b/package/lualogging/lualogging.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 54501b7b84c28fa0c0d310ebfceb6e30be3396bd8aa9caaef7ddfbb0ac0976bc lualogging-1.4.0-1.src.rock -sha256 895d1a80efc5fc60236b70c4bf60bdec409c56c75b4ebe4c2da9cb20a1a11908 lualogging/COPYRIGHT +sha256 d29c9c78e4266d9390069b2a5f7afacfcf9189dea12ce3774a5aa4e3cdbcd89f lualogging-1.6.0-1.src.rock +sha256 4d95b123e667a13615f567a829aa39211dd55b0b48c9f247bf3fcc5c0b485da7 lualogging/COPYRIGHT diff --git a/package/lualogging/lualogging.mk b/package/lualogging/lualogging.mk index 26df9e33140..4d01f546e96 100644 --- a/package/lualogging/lualogging.mk +++ b/package/lualogging/lualogging.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUALOGGING_VERSION = 1.4.0-1 +LUALOGGING_VERSION = 1.6.0-1 LUALOGGING_SUBDIR = lualogging LUALOGGING_LICENSE = MIT LUALOGGING_LICENSE_FILES = $(LUALOGGING_SUBDIR)/COPYRIGHT diff --git a/package/luaossl/Config.in b/package/luaossl/Config.in index d8763e76a36..f84c59f2a0c 100644 --- a/package/luaossl/Config.in +++ b/package/luaossl/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LUAOSSL bool "luaossl" depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help luaossl is a comprehensive binding to OpenSSL for Lua 5.1, 5.2, and later. diff --git a/package/luaposix/luaposix.hash b/package/luaposix/luaposix.hash index 54617853a82..ee76ea103d7 100644 --- a/package/luaposix/luaposix.hash +++ b/package/luaposix/luaposix.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a4edf2f715feff65acb009e8d1689e57ec665eb79bc36a6649fae55eafd56809 luaposix-35.0.tar.gz -sha256 e5d496c903dc3989bb2f6f175cda52d26e3494ad1fdd67ae1c3b3e5f76ffb86f LICENSE +sha256 1b5c48d2abd59de0738d1fc1e6204e44979ad2a1a26e8e22a2d6215dd502c797 luaposix-35.1.tar.gz +sha256 f50bc0f3197523b1709f31707425f2de95f8a45534b081a6b564179ab059e850 LICENSE diff --git a/package/luaposix/luaposix.mk b/package/luaposix/luaposix.mk index d04881dfd9f..fa267091543 100644 --- a/package/luaposix/luaposix.mk +++ b/package/luaposix/luaposix.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAPOSIX_VERSION = 35.0 +LUAPOSIX_VERSION = 35.1 LUAPOSIX_SITE = $(call github,luaposix,luaposix,v$(LUAPOSIX_VERSION)) LUAPOSIX_LICENSE = MIT LUAPOSIX_LICENSE_FILES = LICENSE diff --git a/package/luarocks/buildroot.lua b/package/luarocks/buildroot.lua index 67dac33aa2b..2d160f02b60 100644 --- a/package/luarocks/buildroot.lua +++ b/package/luarocks/buildroot.lua @@ -380,8 +380,8 @@ function buildroot.command(args) if #licenses == 0 then for i = 1, #files do local v = files[i] - if v:match('^doc/LICENSE') - or v:match('^doc/license') + if v:match('^docs?/LICENSE') + or v:match('^docs?/license') or v:match('^doc/us/license') then licenses[#licenses+1] = v digest[v], err = get_digest(v) diff --git a/package/luarocks/luarocks.hash b/package/luarocks/luarocks.hash index 4a3ec0cf761..d80e08a200d 100644 --- a/package/luarocks/luarocks.hash +++ b/package/luarocks/luarocks.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 701d0cc0c7e97cc2cf2c2f4068fce45e52a8854f5dc6c9e49e2014202eec9a4f luarocks-3.5.0.tar.gz +sha256 56ab9b90f5acbc42eb7a94cf482e6c058a63e8a1effdf572b8b2a6323a06d923 luarocks-3.8.0.tar.gz sha256 542ad0ee9b8ba582437ca7b4d0959c9b9432f25d2067f144d017188a7a84dd2f COPYING diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk index dd11b738add..028e144e252 100644 --- a/package/luarocks/luarocks.mk +++ b/package/luarocks/luarocks.mk @@ -4,8 +4,8 @@ # ################################################################################ -LUAROCKS_VERSION = 3.5.0 -LUAROCKS_SITE = http://luarocks.org/releases +LUAROCKS_VERSION = 3.8.0 +LUAROCKS_SITE = https://luarocks.org/releases LUAROCKS_LICENSE = MIT LUAROCKS_LICENSE_FILES = COPYING diff --git a/package/luasec/luasec.hash b/package/luasec/luasec.hash index c50da8b9a23..1e381612bd2 100644 --- a/package/luasec/luasec.hash +++ b/package/luasec/luasec.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 b87c7d3bc5f07f5ad6fcf90f32f182d9a4a3f5f6b07e19221a86e89179ebd702 luasec-0.9-1.src.rock -sha256 4e1b2e7a46c756febf3ea76440fb5456c17e6c0312fd0135bd4649f4a2cd0d41 luasec/LICENSE +sha256 7ed5d08aad8f0e8659abb3f43c935da1c898474d4dc121e9edfbeae5c4c67fb0 luasec-1.0.2-1.src.rock +sha256 84376baf33cefbcc1e9adbca23fcf87f51c1107956660cda2880feaef86d6075 luasec/LICENSE diff --git a/package/luasec/luasec.mk b/package/luasec/luasec.mk index 42d292245dc..4ace94d168e 100644 --- a/package/luasec/luasec.mk +++ b/package/luasec/luasec.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUASEC_VERSION = 0.9-1 +LUASEC_VERSION = 1.0.2-1 LUASEC_SUBDIR = luasec LUASEC_LICENSE = MIT LUASEC_LICENSE_FILES = $(LUASEC_SUBDIR)/LICENSE diff --git a/package/luasyslog/luasyslog.hash b/package/luasyslog/luasyslog.hash index bcb6a7e025d..1e2a5ddec5a 100644 --- a/package/luasyslog/luasyslog.hash +++ b/package/luasyslog/luasyslog.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7f7dad64117407f2484ff5b53e90804f923a99fcbde5872e54f6aba53f482da0 luasyslog-2.2.0.tar.gz -sha256 833457938f5155e65dabda12a5c9d4b6fd7fb92dd7ead584c1c30cfb0c84adf4 COPYING +sha256 b1b19ca142130f93c3f8f2e85303ff50cc6f4ed4aa52b8569176ae56e3dc3f43 luasyslog-2.2.1.tar.gz +sha256 833457938f5155e65dabda12a5c9d4b6fd7fb92dd7ead584c1c30cfb0c84adf4 COPYING diff --git a/package/luasyslog/luasyslog.mk b/package/luasyslog/luasyslog.mk index 049e068a13c..972d4c5a7d8 100644 --- a/package/luasyslog/luasyslog.mk +++ b/package/luasyslog/luasyslog.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUASYSLOG_VERSION = 2.2.0 +LUASYSLOG_VERSION = 2.2.1 LUASYSLOG_SITE = $(call github,ntd,luasyslog,$(LUASYSLOG_VERSION)) LUASYSLOG_DEPENDENCIES = host-luarocks luainterpreter LUASYSLOG_LICENSE = MIT diff --git a/package/luv/Config.in b/package/luv/Config.in index 3be204cab3a..434cb3b459a 100644 --- a/package/luv/Config.in +++ b/package/luv/Config.in @@ -4,14 +4,13 @@ config BR2_PACKAGE_LUV depends on BR2_USE_MMU # libuv depends on !BR2_STATIC_LIBS # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv - depends on !BR2_PACKAGE_LUA_5_4 select BR2_PACKAGE_LIBUV help libuv bindings for LuaJIT and Lua. https://github.com/luvit/luv -comment "luv needs a toolchain w/ NPTL, dynamic library, Lua <= 5.3" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || BR2_PACKAGE_LUA_5_4 +comment "luv needs a toolchain w/ NPTL, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/luv/luv.hash b/package/luv/luv.hash index 7e902bd081f..2fb2b5c4fcf 100644 --- a/package/luv/luv.hash +++ b/package/luv/luv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f2e7eb372574f25c6978c1dc74280d22efdcd7df2dda4a286c7fe7dceda26445 luv-1.36.0-0.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt +sha256 4b6fbaa89d2420edf6070ad9e522993e132bd7eb2540ff754c2b9f1497744db2 luv-1.42.0-1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/luv/luv.mk b/package/luv/luv.mk index a63baf32289..2dc9af3b7a4 100644 --- a/package/luv/luv.mk +++ b/package/luv/luv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUV_VERSION = 1.36.0-0 +LUV_VERSION = 1.42.0-1 LUV_SITE = https://github.com/luvit/luv/releases/download/$(LUV_VERSION) LUV_LICENSE = Apache-2.0 LUV_LICENSE_FILES = LICENSE.txt diff --git a/package/luvi/Config.in b/package/luvi/Config.in index c9fd4173942..6e96f85f32c 100644 --- a/package/luvi/Config.in +++ b/package/luvi/Config.in @@ -7,6 +7,7 @@ config BR2_PACKAGE_LUVI depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv select BR2_PACKAGE_LIBUV select BR2_PACKAGE_LUV + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help A project in-between luv and luvit. The goal of this is to make building luvit and derivatives much easier. diff --git a/package/luvi/luvi.hash b/package/luvi/luvi.hash index f08883c0680..fcc81430db4 100644 --- a/package/luvi/luvi.hash +++ b/package/luvi/luvi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ec4eff7aaf2f36879a5fc8eb86706818a75faf07a18451a6fb44e05bbe00817f luvi-src-v2.11.0.tar.gz +sha256 4149c87646f487f9076c29e9861f64468637b1d1361b777b093e6204a83e1ed9 luvi-src-v2.12.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/luvi/luvi.mk b/package/luvi/luvi.mk index d6384cb4847..5daa3c17933 100644 --- a/package/luvi/luvi.mk +++ b/package/luvi/luvi.mk @@ -4,12 +4,12 @@ # ################################################################################ -LUVI_VERSION = 2.11.0 +LUVI_VERSION = 2.12.0 LUVI_SOURCE = luvi-src-v$(LUVI_VERSION).tar.gz LUVI_SITE = https://github.com/luvit/luvi/releases/download/v$(LUVI_VERSION) LUVI_LICENSE = Apache-2.0 LUVI_LICENSE_FILES = LICENSE.txt -LUVI_DEPENDENCIES = libuv luajit luv host-luajit +LUVI_DEPENDENCIES = libuv luajit luv host-luajit host-pkgconf # Dispatch all architectures of LuaJIT ifeq ($(BR2_i386),y) @@ -30,12 +30,16 @@ else LUVI_TARGET_ARCH = $(BR2_ARCH) endif +# LUAJIT_VERSION and the luajit installation path may not use the +# same value. Use the value from luajit.pc file. +LUVI_LUAJIT_VERSION = `$(PKG_CONFIG_HOST_BINARY) --variable=version luajit` + # Bundled lua bindings have to be linked statically into the luvi executable LUVI_CONF_OPTS = \ -DBUILD_SHARED_LIBS=OFF \ -DWithSharedLibluv=ON \ -DTARGET_ARCH=$(LUVI_TARGET_ARCH) \ - -DLUA_PATH=$(HOST_DIR)/share/luajit-$(LUAJIT_VERSION)/?.lua + -DLUA_PATH=$(HOST_DIR)/share/luajit-$(LUVI_LUAJIT_VERSION)/?.lua # Add "rex" module (PCRE via bundled lrexlib) ifeq ($(BR2_PACKAGE_PCRE),y) diff --git a/package/lv2/Config.in b/package/lv2/Config.in new file mode 100644 index 00000000000..aeeb6d0451a --- /dev/null +++ b/package/lv2/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LV2 + bool "lv2" + help + LV2 is a plugin standard for audio systems. It defines + a minimal yet extensible C API for plugin code and a + format for plugin "bundles". + + https://lv2plug.in/ diff --git a/package/lv2/lv2.hash b/package/lv2/lv2.hash new file mode 100644 index 00000000000..ed21620bee3 --- /dev/null +++ b/package/lv2/lv2.hash @@ -0,0 +1,4 @@ +# Locally calculated after checking signature +# https://lv2plug.in/spec/lv2-1.18.2.tar.bz2.asc +sha256 4e891fbc744c05855beb5dfa82e822b14917dd66e98f82b8230dbd1c7ab2e05e lv2-1.18.2.tar.bz2 +sha256 0b0b07d852e3ce7fa04986e141f73001bd7f260683968f0a19e02dbcc4131aa6 COPYING diff --git a/package/lv2/lv2.mk b/package/lv2/lv2.mk new file mode 100644 index 00000000000..13ffaa34b05 --- /dev/null +++ b/package/lv2/lv2.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# lv2 +# +################################################################################ + +LV2_VERSION = 1.18.2 +LV2_SITE = https://lv2plug.in/spec +LV2_SOURCE = lv2-$(LV2_VERSION).tar.bz2 +LV2_LICENSE = ISC +LV2_LICENSE_FILES = COPYING +LV2_DEPENDENCIES = host-pkgconf +LV2_INSTALL_STAGING = YES + +LV2_CONF_OPTS += \ + --no-coverage \ + --no-check-links \ + --copy-headers + +ifeq ($(BR2_PACKAGE_CAIRO),y) +LV2_DEPENDENCIES += cairo +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +LV2_DEPENDENCIES += libsndfile +endif + +ifeq ($(BR2_PACKAGE_LIBGTK2),y) +LV2_DEPENDENCIES += libgtk2 +endif + +ifeq ($(BR2_STATIC_LIBS),y) +LV2_CONF_OPTS += --no-plugins +endif + +$(eval $(waf-package)) diff --git a/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch b/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch deleted file mode 100644 index 7ef153313c6..00000000000 --- a/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch +++ /dev/null @@ -1,278 +0,0 @@ -From 94d71c49eb1682a73465eb162b0a059561168bb2 Mon Sep 17 00:00:00 2001 -From: Marcin Niestroj -Date: Fri, 20 Jul 2018 14:26:44 +0200 -Subject: [PATCH] configure: Introduce --enable-symvers option - -Only few libc (e.g. glibc) libraries support full symbol version -resolution in runtime. There are lot of standard libraries that do not -support that, such as dietlibc, musl and uclibc. Hence there is no -reason to 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 --enable-symvers[=STYLE] option, which allows to choose -between gnu and disabled symbol versioning. By default gnu symbol -versioning is used to provide backward compatibility. -__GNUC__ check is replaced now with GNU_SYMVER, which is generated by -configure script. Additionally ld version script is included only in -case of gnu option, which slightly reduces output size. - -Providing --disable-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. - -Signed-off-by: Marcin Niestroj ---- - configure | 32 ++++++++++++++++++++++++++++++-- - configure.ac | 28 +++++++++++++++++++++++++--- - include/configure.h.in | 3 +++ - lib/misc/lib.h | 10 +++++----- - libdm/datastruct/bitset.c | 5 +---- - libdm/ioctl/libdm-iface.c | 2 +- - libdm/libdm-deptree.c | 2 +- - libdm/libdm-stats.c | 2 +- - 8 files changed, 67 insertions(+), 17 deletions(-) - -diff --git a/configure b/configure -index 7d945dfa8..94cd6b1ea 100755 ---- a/configure -+++ b/configure -@@ -975,6 +975,7 @@ enable_fsadm - enable_blkdeactivate - enable_dmeventd - enable_selinux -+enable_symvers - enable_nls - with_localedir - with_confdir -@@ -1725,6 +1726,9 @@ Optional Features: - --disable-blkdeactivate disable blkdeactivate - --enable-dmeventd enable the device-mapper event daemon - --disable-selinux disable selinux support -+ --enable-symvers[=STYLE] -+ enables symbol versioning of the shared library -+ [default=gnu] - --enable-nls enable Native Language Support - - Optional Packages: -@@ -3156,7 +3160,6 @@ 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 -@@ -3178,7 +3181,6 @@ case "$host_os" in - ;; - darwin*) - CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" -- CLDFLAGS="$CLDFLAGS" - ELDFLAGS= - CLDWHOLEARCHIVE="-all_load" - CLDNOWHOLEARCHIVE= -@@ -14401,6 +14403,32 @@ done - LIBS=$lvm_saved_libs - fi - -+################################################################################ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable symbol versioning" >&5 -+$as_echo_n "checking whether to enable symbol versioning... " >&6; } -+# Check whether --enable-symvers was given. -+if test "${enable_symvers+set}" = set; then : -+ enableval=$enable_symvers; -+ case "$enableval" in -+ gnu|no) ;; -+ *) as_fn_error $? "Unknown argument to enable/disable symvers" "$LINENO" 5 ;; -+ esac -+else -+ enable_symvers=gnu -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_symvers" >&5 -+$as_echo "$enable_symvers" >&6; } -+ -+if test x$GCC = xyes && test x$enable_symvers = xgnu ; then -+ -+$as_echo "#define GNU_SYMVER 1" >>confdefs.h -+ -+ case "$host_os" in -+ linux*) CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" ;; -+ esac -+fi -+ - ################################################################################ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable internationalisation" >&5 - $as_echo_n "checking whether to enable internationalisation... " >&6; } -diff --git a/configure.ac b/configure.ac -index e427708cd..2e8712f92 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= -@@ -1656,6 +1653,31 @@ package as well (which may be called readline-devel or something similar).]) - LIBS=$lvm_saved_libs - fi - -+################################################################################ -+dnl -- Symbol versioning -+AC_MSG_CHECKING(whether to enable symbol versioning) -+AC_ARG_ENABLE(symvers, -+ AC_HELP_STRING([--enable-symvers[[[=STYLE]]]], -+ [enables symbol versioning of the shared library [default=gnu]]), -+ [ -+ case "$enableval" in -+ gnu|no) ;; -+ *) AC_MSG_ERROR(Unknown argument to enable/disable symvers) ;; -+ esac], -+ enable_symvers=gnu) -+AC_MSG_RESULT($enable_symvers) -+ -+if test x$GCC = xyes && test x$enable_symvers = xgnu ; then -+ AC_DEFINE(GNU_SYMVER, 1, -+ [Define to use GNU versioning in the shared library.]) -+ case "$host_os" in -+ linux*) -+ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" -+ LDDEPS="$LDDEPS .export.sym" -+ ;; -+ esac -+fi -+ - ################################################################################ - dnl -- Internationalisation stuff - AC_MSG_CHECKING(whether to enable internationalisation) -diff --git a/include/configure.h.in b/include/configure.h.in -index 15fd150ed..7a07a10ef 100644 ---- a/include/configure.h.in -+++ b/include/configure.h.in -@@ -147,6 +147,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 d7fa5c721..7cf98f932 100644 ---- a/lib/misc/lib.h -+++ b/lib/misc/lib.h -@@ -41,16 +41,16 @@ - * macro DM_EXPORT_SYMBOL to export the function and bind it to the - * specified version string. - * -- * Since versioning is only available when compiling with GCC the entire -- * compatibility version should be enclosed in '#if defined(__GNUC__)', -- * for example: -+ * Since versioning is only available when compiling with GCC -+ * and GLIBC the entire compatibility version should be enclosed -+ * in '#if defined(GNU_SYMVER)', for example: - * - * int dm_foo(int bar) - * { - * return bar; - * } - * -- * #if defined(__GNUC__) -+ * #if defined(GNU_SYMVER) - * // Backward compatible dm_foo() version 1.02.104 - * int dm_foo_v1_02_104(void); - * int dm_foo_v1_02_104(void) -@@ -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 b0826e1eb..2ec3f8f84 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(). -@@ -253,7 +253,4 @@ dm_bitset_t dm_bitset_parse_list_v1_02_129(const char *str, struct dm_pool *mem) - return dm_bitset_parse_list(str, mem, 0); - } - 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 769b69c1b..28e2eadee 100644 ---- a/libdm/ioctl/libdm-iface.c -+++ b/libdm/ioctl/libdm-iface.c -@@ -2145,7 +2145,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 ab0545659..00651c0b2 100644 ---- a/libdm/libdm-deptree.c -+++ b/libdm/libdm-deptree.c -@@ -3797,7 +3797,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 94ad380e0..76efbbe35 100644 ---- a/libdm/libdm-stats.c -+++ b/libdm/libdm-stats.c -@@ -5065,7 +5065,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.18.0 - diff --git a/package/lvm2/0002-udev-remove-unsupported-options-event-timeout-rule.patch b/package/lvm2/0002-udev-remove-unsupported-options-event-timeout-rule.patch deleted file mode 100644 index f162ec58de9..00000000000 --- a/package/lvm2/0002-udev-remove-unsupported-options-event-timeout-rule.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 125f27ac37bc9b93cc96f64052b9681b3d479ee1 Mon Sep 17 00:00:00 2001 -From: Peter Rajnoha -Date: Tue, 13 Aug 2019 15:18:30 +0200 -Subject: [PATCH] udev: remove unsupported OPTIONS+="event_timeout" rule - -The OPTIONS+="event_timeout" is Unsupported since systemd/udev version 216, -that is ~5 years ago. - -Since systemd/udev version 243, there's a new message printed if unsupported -OPTIONS value is used: - - Invalid value for OPTIONS key, ignoring: 'event_timeout=180' - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1740666 - -Signed-off-by: Pascal de Bruijn ---- -diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in -index 91cb991..7c58994 100644 ---- a/udev/11-dm-lvm.rules.in -+++ b/udev/11-dm-lvm.rules.in -@@ -37,8 +37,6 @@ ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_DISABLE_OTHE - - ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end" - --OPTIONS+="event_timeout=180" -- - # Do not create symlinks for inappropriate subdevices. - ENV{DM_LV_NAME}=="pvmove?*|?*_vorigin", GOTO="lvm_disable" - ENV{DM_LV_LAYER}=="?*", GOTO="lvm_disable" --- -2.9.3 - diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in index a9c5c453fc0..cc740dd40c6 100644 --- a/package/lvm2/Config.in +++ b/package/lvm2/Config.in @@ -26,7 +26,7 @@ if BR2_PACKAGE_LVM2 config BR2_PACKAGE_LVM2_STANDARD_INSTALL bool "standard install instead of only dmsetup" - default y if !BR2_PACKAGE_LVM2_DMSETUP_ONLY # legacy 2013.11 + default y # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html depends on !BR2_TOOLCHAIN_USES_MUSL help @@ -36,34 +36,6 @@ config BR2_PACKAGE_LVM2_STANDARD_INSTALL comment "lvm2 standard install needs a glibc or uClibc toolchain" depends on BR2_TOOLCHAIN_USES_MUSL -config BR2_PACKAGE_LVM2_APP_LIBRARY - bool "install application library" - # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html - depends on !BR2_TOOLCHAIN_USES_MUSL - select BR2_PACKAGE_LVM2_STANDARD_INSTALL - help - Install application library (liblvm2app). - -comment "lvm2 application library needs a glibc or uClibc toolchain" - depends on BR2_TOOLCHAIN_USES_MUSL - -config BR2_PACKAGE_LVM2_LVMETAD - bool "install lvmetad" - depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2-app-library - select BR2_PACKAGE_LVM2_APP_LIBRARY - help - Install lvmetad - - The lvmetad daemon caches LVM metadata so that LVM commands - can read metadata from the cache rather than scanning disks. - This can be an advantage because scanning disks is time - consuming and may interfere with the normal work of the - system. lvmetad can be a disadvantage when disk event - notifications from the system are unreliable. - -comment "lvmetad daemon needs a glibc or uClibc toolchain" - depends on BR2_TOOLCHAIN_USES_MUSL - endif comment "lvm2 needs a toolchain w/ threads, dynamic library" diff --git a/package/lvm2/lvm2.hash b/package/lvm2/lvm2.hash index 3d560c4be3d..126748d3393 100644 --- a/package/lvm2/lvm2.hash +++ b/package/lvm2/lvm2.hash @@ -1,5 +1,5 @@ -# From ftp://sources.redhat.com/pub/lvm2/sha512.sum -sha512 f421505551aec2a09bc862f2fcc1ee825bc4d94c53a01d13265631e99308d60fbca40112be5bc7824cce3ef223c0775d2f6c345f6a3f227229a0566c903841bf LVM2.2.02.185.tgz +# From https://sourceware.org/ftp/lvm2/sha512.sum +sha512 6a93bed1d5cf36f0f48d4d413d028b0e480cd4fc20e25d173770a892f265d2a0cc68d01a720b1513469953649e989532cd0c45f9538f92a4190eb3dc4555857d LVM2.2.03.14.tgz # Locally computed sha256 checksums -sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LIB +sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LIB diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index 76f800a15b1..9caf99eb9b9 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -4,12 +4,15 @@ # ################################################################################ -LVM2_VERSION = 2.02.185 +LVM2_VERSION = 2.03.14 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz -LVM2_SITE = ftp://sources.redhat.com/pub/lvm2 +LVM2_SITE = https://sourceware.org/ftp/lvm2 LVM2_INSTALL_STAGING = YES LVM2_LICENSE = GPL-2.0, LGPL-2.1 LVM2_LICENSE_FILES = COPYING COPYING.LIB +LVM2_CPE_ID_PRODUCT = redhat +# parallel build issues +LVM2_MAKE = $(MAKE1) # Make sure that binaries and libraries are installed with write # permissions for the owner. We disable NLS because it's broken, and @@ -20,7 +23,7 @@ LVM2_CONF_OPTS += \ --enable-cmdlib \ --enable-dmeventd \ --disable-nls \ - --disable-symvers + --with-symvers=no LVM2_DEPENDENCIES += host-pkgconf libaio @@ -45,30 +48,17 @@ else LVM2_CONF_OPTS += --disable-selinux endif -ifeq ($(BR2_PACKAGE_LVM2_STANDARD_INSTALL),) -LVM2_MAKE_OPTS = device-mapper -LVM2_INSTALL_STAGING_OPTS += install_device-mapper -LVM2_INSTALL_TARGET_OPTS += install_device-mapper -else +ifeq ($(BR2_PACKAGE_LVM2_STANDARD_INSTALL),y) LVM2_INSTALL_STAGING_OPTS += install LVM2_INSTALL_TARGET_OPTS += install -endif - -ifeq ($(BR2_PACKAGE_LVM2_APP_LIBRARY),y) -LVM2_CONF_OPTS += --enable-applib -else -LVM2_CONF_OPTS += --disable-applib -endif - -ifeq ($(BR2_PACKAGE_LVM2_LVMETAD),y) -LVM2_CONF_OPTS += --enable-lvmetad -else -LVM2_CONF_OPTS += --disable-lvmetad -endif - ifeq ($(BR2_INIT_SYSTEMD),y) LVM2_INSTALL_TARGET_OPTS += install_systemd_units install_systemd_generators endif +else +LVM2_MAKE_OPTS = device-mapper +LVM2_INSTALL_STAGING_OPTS += install_device-mapper +LVM2_INSTALL_TARGET_OPTS += install_device-mapper +endif ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) LVM2_CONF_ENV += ac_cv_flag_HAVE_PIE=no @@ -80,12 +70,10 @@ HOST_LVM2_CONF_OPTS = \ --enable-pkgconfig \ --disable-cmdlib \ --disable-dmeventd \ - --disable-applib \ --disable-fsadm \ --disable-readline \ - --disable-selinux -HOST_LVM2_MAKE_OPTS = device-mapper -HOST_LVM2_INSTALL_OPTS = install_device-mapper + --disable-selinux \ + --with-confdir=$(HOST_DIR)/etc $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/lxc/Config.in b/package/lxc/Config.in index 72b675113dc..a3f9be0c909 100644 --- a/package/lxc/Config.in +++ b/package/lxc/Config.in @@ -21,4 +21,4 @@ comment "lxc needs a glibc or musl toolchain w/ threads, headers >= 3.0, dynamic || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 \ || BR2_STATIC_LIBS \ - || BR2_TOOLCHAN_USES_UCLIBC + || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/lxc/lxc.hash b/package/lxc/lxc.hash index 4cecf6b0f71..d460bc6a01e 100644 --- a/package/lxc/lxc.hash +++ b/package/lxc/lxc.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 af2cd616d5ab689e5d2305361c6571b5e632afd7eaab1754cca1670446a2e6a4 lxc-4.0.5.tar.gz +sha256 db242f8366fc63e8c7588bb2017b354173cf3c4b20abc18780debdc48b14d3ef lxc-4.0.12.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 diff --git a/package/lxc/lxc.mk b/package/lxc/lxc.mk index 576036e2468..9311dc8775c 100644 --- a/package/lxc/lxc.mk +++ b/package/lxc/lxc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LXC_VERSION = 4.0.5 +LXC_VERSION = 4.0.12 LXC_SITE = https://linuxcontainers.org/downloads/lxc LXC_LICENSE = GPL-2.0 (some tools), LGPL-2.1+ LXC_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 @@ -44,6 +44,13 @@ else LXC_CONF_OPTS += --disable-selinux endif +ifeq ($(BR2_PACKAGE_LIBURING),y) +LXC_CONF_OPTS += --enable-liburing +LXC_DEPENDENCIES += liburing +else +LXC_CONF_OPTS += --disable-liburing +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) LXC_CONF_OPTS += --enable-openssl LXC_DEPENDENCIES += openssl diff --git a/package/lynx/lynx.hash b/package/lynx/lynx.hash index 76d7614a7ce..62e2555a997 100644 --- a/package/lynx/lynx.hash +++ b/package/lynx/lynx.hash @@ -1,3 +1,4 @@ # Locally calculated: sha256 387f193d7792f9cfada14c60b0e5c0bff18f227d9257a39483e14fa1aaf79595 lynx2.8.9rel.1.tar.bz2 +sha256 b2207e757dbbefc34a20a32b1b4a216b4a4316e1dc812bceca4ac6294871119a 90_CVE-2021-38165.patch sha256 8406a30ff3134ec23cf752d1ceda92ddaabbe41b4f2dc07ea3cfa139de12d6d6 COPYING diff --git a/package/lynx/lynx.mk b/package/lynx/lynx.mk index d115682d64d..3f62f4f5b76 100644 --- a/package/lynx/lynx.mk +++ b/package/lynx/lynx.mk @@ -7,8 +7,13 @@ LYNX_VERSION = 2.8.9rel.1 LYNX_SOURCE = lynx$(LYNX_VERSION).tar.bz2 LYNX_SITE = ftp://ftp.invisible-island.net/lynx/tarballs +LYNX_PATCH = \ + https://salsa.debian.org/lynx-team/lynx/-/raw/debian/2.9.0dev.6-3_deb11u1/debian/patches/90_CVE-2021-38165.patch +# 90_CVE-2021-38165.patch +LYNX_IGNORE_CVES += CVE-2021-38165 LYNX_LICENSE = GPL-2.0 LYNX_LICENSE_FILES = COPYING +LYNX_CPE_ID_VENDOR = lynx_project LYNX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) diff --git a/package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch b/package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch new file mode 100644 index 00000000000..57e4e38f847 --- /dev/null +++ b/package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch @@ -0,0 +1,26 @@ +From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001 +From: Jasper Lievisse Adriaanse +Date: Fri, 26 Feb 2021 15:21:20 +0100 +Subject: [PATCH] Fix potential memory corruption with negative memmove() size + +Signed-off-by: Peter Korsgaard +--- + lib/lz4.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/lz4.c b/lib/lz4.c +index 5f524d0..c2f504e 100644 +--- a/lib/lz4.c ++++ b/lib/lz4.c +@@ -1749,7 +1749,7 @@ LZ4_decompress_generic( + const size_t dictSize /* note : = 0 if noDict */ + ) + { +- if (src == NULL) { return -1; } ++ if ((src == NULL) || (outputSize < 0)) { return -1; } + + { const BYTE* ip = (const BYTE*) src; + const BYTE* const iend = ip + srcSize; +-- +2.20.1 + diff --git a/package/lz4/lz4.mk b/package/lz4/lz4.mk index e0236c05b12..9b9b6198c3f 100644 --- a/package/lz4/lz4.mk +++ b/package/lz4/lz4.mk @@ -17,6 +17,9 @@ LZ4_CPE_ID_VENDOR = yann_collet # See https://github.com/lz4/lz4/issues/818 LZ4_IGNORE_CVES += CVE-2014-4715 +# 0001-Fix-potential-memory-corruption-with-negative-memmov.patch +LZ4_IGNORE_CVES += CVE-2021-3520 + ifeq ($(BR2_STATIC_LIBS),y) LZ4_MAKE_OPTS += BUILD_SHARED=no else ifeq ($(BR2_SHARED_LIBS),y) diff --git a/package/lzip/Config.in b/package/lzip/Config.in index d406e7710d4..c07ef8d676f 100644 --- a/package/lzip/Config.in +++ b/package/lzip/Config.in @@ -12,4 +12,4 @@ config BR2_PACKAGE_LZIP perspective. Lzip is a clean implementation of the LZMA algorithm. - http://www.nongnu.org/lzip/lzip.html + https://www.nongnu.org/lzip/lzip.html diff --git a/package/lzip/lzip.hash b/package/lzip/lzip.hash index 35ff7a44a0f..48ee8175cac 100644 --- a/package/lzip/lzip.hash +++ b/package/lzip/lzip.hash @@ -1,4 +1,4 @@ -# From https://lists.nongnu.org/archive/html/lzip-bug/2019-01/msg00010.html -sha256 e48b5039d3164d670791f9c5dbaa832bf2df080cb1fbb4f33aa7b3300b670d8b lzip-1.21.tar.gz +# From https://lists.nongnu.org/archive/html/lzip-bug/2022-02/msg00000.html +sha256 4792c047ddf15ef29d55ba8e68a1a21e0cb7692d87ecdf7204419864582f280d lzip-1.23.tar.gz # Locally calculated sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/lzip/lzip.mk b/package/lzip/lzip.mk index 2a9a079cde8..31b57507670 100644 --- a/package/lzip/lzip.mk +++ b/package/lzip/lzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LZIP_VERSION = 1.21 +LZIP_VERSION = 1.23 LZIP_SITE = http://download.savannah.gnu.org/releases/lzip LZIP_LICENSE = GPL-2.0+ LZIP_LICENSE_FILES = COPYING diff --git a/package/lzop/0001-build-with-gcc6.patch b/package/lzop/0001-build-with-gcc6.patch index 774ee54a656..03bd887d516 100644 --- a/package/lzop/0001-build-with-gcc6.patch +++ b/package/lzop/0001-build-with-gcc6.patch @@ -1,6 +1,6 @@ From: Jaap Crezee Date: Sat, 25 june 2016 13:13:00 +0200 -Subject: [PATCH 1/1] fix compilation host-lzop with gcc-6 +Subject: [PATCH] fix compilation host-lzop with gcc-6 This patch allows host-lzop to be compiled with host systems containing gcc-6 diff --git a/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch b/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch deleted file mode 100644 index 5c5c11b990d..00000000000 --- a/package/m4/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 -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" - ---- - 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 - , 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 - , 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 - , 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/0002-fflush-be-more-paranoid-about-libio.h-change.patch b/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch deleted file mode 100644 index a820ca8ca9b..00000000000 --- a/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 74d9d6a293d7462dea8f83e7fc5ac792e956a0ad Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 8 Mar 2018 16:42:45 -0800 -Subject: [PATCH 2/2] fflush: be more paranoid about libio.h change - -Suggested by Eli Zaretskii in: -https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.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): -Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN. ---- - lib/fflush.c | 9 ++++++--- - lib/fpending.c | 3 ++- - lib/fpurge.c | 3 ++- - lib/freadahead.c | 3 ++- - lib/freading.c | 3 ++- - lib/fseeko.c | 6 ++++-- - 6 files changed, 18 insertions(+), 9 deletions(-) - -[yann.morin.1998@free.fr: partially backport from upstream gnulib] -Signed-off-by: "Yann E. MORIN" - -diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c -index a6edfa105..a140b7ad9 100644 ---- a/lib/fflush.c -+++ b/lib/fflush.c -@@ -33,7 +33,8 @@ - #undef fflush - - --#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 +73,8 @@ clear_ungetc_buffer (FILE *fp) - - #endif - --#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 +150,8 @@ rpl_fflush (FILE *stream) - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 789f50e4e..7bc235ded 100644 ---- a/lib/fpending.c -+++ b/lib/fpending.c -@@ -32,7 +32,8 @@ __fpending (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 3aedcc373..554790b56 100644 ---- a/lib/fpurge.c -+++ b/lib/fpurge.c -@@ -62,7 +62,8 @@ fpurge (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 23ec76ee5..ed3dd0ebd 100644 ---- a/lib/freadahead.c -+++ b/lib/freadahead.c -@@ -30,7 +30,8 @@ extern size_t __sreadahead (FILE *); - size_t - freadahead (FILE *fp) - { --#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 c24d0c88a..790f92ca3 100644 ---- a/lib/freading.c -+++ b/lib/freading.c -@@ -31,7 +31,8 @@ freading (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 193f4e8ce..e5c5172e7 100644 ---- a/lib/fseeko.c -+++ b/lib/fseeko.c -@@ -47,7 +47,8 @@ fseeko (FILE *fp, off_t offset, int whence) - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 +124,8 @@ fseeko (FILE *fp, off_t offset, int whence) - return -1; - } - --#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 -+ /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ --- -2.14.1 - diff --git a/package/m4/m4.hash b/package/m4/m4.hash index e665fc149fb..a81f4fab9c4 100644 --- a/package/m4/m4.hash +++ b/package/m4/m4.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07 m4-1.4.18.tar.xz +sha256 63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96 m4-1.4.19.tar.xz # License files, locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/m4/m4.mk b/package/m4/m4.mk index 849e7f4a547..3a120929717 100644 --- a/package/m4/m4.mk +++ b/package/m4/m4.mk @@ -4,7 +4,7 @@ # ################################################################################ -M4_VERSION = 1.4.18 +M4_VERSION = 1.4.19 M4_SOURCE = m4-$(M4_VERSION).tar.xz M4_SITE = $(BR2_GNU_MIRROR)/m4 M4_LICENSE = GPL-3.0+ diff --git a/package/make/make.mk b/package/make/make.mk index 10082353a22..f289c5c3d92 100644 --- a/package/make/make.mk +++ b/package/make/make.mk @@ -10,6 +10,8 @@ MAKE_SITE = $(BR2_GNU_MIRROR)/make MAKE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-pkgconf MAKE_LICENSE = GPL-3.0+ MAKE_LICENSE_FILES = COPYING +MAKE_CPE_ID_VENDOR = gnu + # Patching configure.ac MAKE_AUTORECONF = YES diff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c index c57b964f5ce..2796cd5e780 100644 --- a/package/makedevs/makedevs.c +++ b/package/makedevs/makedevs.c @@ -440,11 +440,13 @@ void bb_show_usage(void) int bb_recursive(const char *fpath, const struct stat *sb, int tflag, struct FTW *ftwbuf){ - if (chown(fpath, recursive_uid, recursive_gid) == -1) { + if (lchown(fpath, recursive_uid, recursive_gid) == -1) { bb_perror_msg("chown failed for %s", fpath); return -1; } - if (recursive_mode != -1) { + + /* chmod() is optional, also skip if dangling symlink */ + if (recursive_mode != -1 && tflag == FTW_SL && access(fpath, F_OK)) { if (chmod(fpath, recursive_mode) < 0) { bb_perror_msg("chmod failed for %s", fpath); return -1; @@ -628,7 +630,7 @@ int main(int argc, char **argv) if (mknod(full_name_inc, mode, rdev) < 0) { bb_perror_msg("line %d: can't create node %s", linenum, full_name_inc); ret = EXIT_FAILURE; - } else if (chown(full_name_inc, uid, gid) < 0) { + } else if (lchown(full_name_inc, uid, gid) < 0) { bb_perror_msg("line %d: can't chown %s", linenum, full_name_inc); ret = EXIT_FAILURE; } else if (chmod(full_name_inc, mode) < 0) { diff --git a/package/makedevs/makedevs.mk b/package/makedevs/makedevs.mk index 36837a191e8..9b0f44610c0 100644 --- a/package/makedevs/makedevs.mk +++ b/package/makedevs/makedevs.mk @@ -15,8 +15,12 @@ HOST_MAKEDEVS_CFLAGS += -DEXTENDED_ATTRIBUTES HOST_MAKEDEVS_LDFLAGS += -lcap endif +define HOST_MAKEDEVS_EXTRACT_CMDS + cp $(HOST_MAKEDEVS_PKGDIR)/makedevs.c $(@D) +endef + define HOST_MAKEDEVS_BUILD_CMDS - $(HOSTCC) $(HOST_MAKEDEVS_CFLAGS) package/makedevs/makedevs.c \ + $(HOSTCC) $(HOST_MAKEDEVS_CFLAGS) $(@D)/makedevs.c \ -o $(@D)/makedevs $(HOST_MAKEDEVS_LDFLAGS) endef diff --git a/package/makedumpfile/0002-makedumpfile.h-fix-build-on-sparc64.patch b/package/makedumpfile/0002-makedumpfile.h-fix-build-on-sparc64.patch deleted file mode 100644 index defc101949d..00000000000 --- a/package/makedumpfile/0002-makedumpfile.h-fix-build-on-sparc64.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2c132ac5e6656723821acdb0ee57b34c42851fed Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 4 Feb 2021 20:15:56 +0100 -Subject: [PATCH] makedumpfile.h: fix build on sparc64 - -Fix the following build failure on sparc64: - -/home/giuliobenetti/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc64-buildroot-linux-gnu/9.3.0/../../../../sparc64-buildroot-linux-gnu/bin/ld: /tmp/ccylTux8.o: in function `find_kaslr_offsets': -/home/giuliobenetti/autobuild/run/instance-0/output-1/build/makedumpfile-1.6.8/makedumpfile.c:4017: undefined reference to `get_kaslr_offset' - -Fixes: - - http://autobuild.buildroot.org/results/1421f54f7599bba62c0a4bd5c65ce21c8cc7ee1a - -Signed-off-by: Fabrice Fontaine -[Upstream status: -http://lists.infradead.org/pipermail/kexec/2021-February/021996.html] ---- - makedumpfile.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/makedumpfile.h b/makedumpfile.h -index 97a5554..dfc1a77 100644 ---- a/makedumpfile.h -+++ b/makedumpfile.h -@@ -1139,6 +1139,7 @@ unsigned long long vaddr_to_paddr_sparc64(unsigned long vaddr); - #define get_machdep_info() TRUE - #define get_phys_base() get_phys_base_sparc64() - #define get_versiondep_info() get_versiondep_info_sparc64() -+#define get_kaslr_offset(X) stub_false() - #define vaddr_to_paddr(X) vaddr_to_paddr_sparc64(X) - #define paddr_to_vaddr(X) paddr_to_vaddr_general(X) - #define is_phys_addr(X) stub_true_ul(X) --- -2.29.2 - diff --git a/package/makedumpfile/makedumpfile.hash b/package/makedumpfile/makedumpfile.hash index 1b2df008d2b..5eeb6387fae 100644 --- a/package/makedumpfile/makedumpfile.hash +++ b/package/makedumpfile/makedumpfile.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 85d79b7090e9a8ce0d426795d3bc1de2858def7e12954d9bc6ae03de160b694c makedumpfile-1.6.8.tar.gz +sha256 8985f8df249087ea68c6051dec6dac3ef0703fe2aa87d0266f3951f93aa8da5e makedumpfile-1.7.0.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/makedumpfile/makedumpfile.mk b/package/makedumpfile/makedumpfile.mk index 99fb3a71c8d..8399e4d0636 100644 --- a/package/makedumpfile/makedumpfile.mk +++ b/package/makedumpfile/makedumpfile.mk @@ -4,7 +4,7 @@ # ################################################################################ -MAKEDUMPFILE_VERSION = 1.6.8 +MAKEDUMPFILE_VERSION = 1.7.0 MAKEDUMPFILE_SITE = $(call github,makedumpfile,makedumpfile,$(MAKEDUMPFILE_VERSION)) MAKEDUMPFILE_DEPENDENCIES = bzip2 elfutils xz zlib MAKEDUMPFILE_LICENSE = GPL-2.0 diff --git a/package/mali-driver/Config.in b/package/mali-driver/Config.in new file mode 100644 index 00000000000..4c1a96d05cd --- /dev/null +++ b/package/mali-driver/Config.in @@ -0,0 +1,15 @@ +comment "mali-driver needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_MALI_DRIVER + bool "mali-driver" + depends on BR2_aarch64 || BR2_arm + depends on BR2_LINUX_KERNEL + help + This package builds and installs the Linux kernel driver for + the Mali Midgard/Bifrost GPU, compatible with recent Linux + kernels (>= 5.4). Note that it should be installed together + with the corresponding userspace OpenGL libraries, which are + usually provided as binaries only by hardware vendors. + + mali-driver requires a Linux kernel >= 5.4. diff --git a/package/mali-driver/mali-driver.hash b/package/mali-driver/mali-driver.hash new file mode 100644 index 00000000000..a144d5189ed --- /dev/null +++ b/package/mali-driver/mali-driver.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 76464e5ed55e9d21062cf154733ce61217211172629ec8742af902607f14d41a mali-driver-a742530232d1de41b57465744a1259fa6c35049e.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/mali-driver/mali-driver.mk b/package/mali-driver/mali-driver.mk new file mode 100644 index 00000000000..b12bfec69d6 --- /dev/null +++ b/package/mali-driver/mali-driver.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# mali-driver +# +################################################################################ + +MALI_DRIVER_VERSION = a742530232d1de41b57465744a1259fa6c35049e +MALI_DRIVER_SITE = $(call github,bootlin,mali-driver,$(MALI_DRIVER_VERSION)) +MALI_DRIVER_DEPENDENCIES = linux +MALI_DRIVER_LICENSE = GPL-2.0 +MALI_DRIVER_LICENSE_FILE = LICENSE +MALI_DRIVER_MODULE_SUBDIRS = r8p0/drivers/gpu/arm/midgard + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/mariadb/0001-add-extra-check-for-librt.patch b/package/mariadb/0001-add-extra-check-for-librt.patch index 90aa626a0bf..0dd4c546fbf 100644 --- a/package/mariadb/0001-add-extra-check-for-librt.patch +++ b/package/mariadb/0001-add-extra-check-for-librt.patch @@ -1,4 +1,4 @@ -From e6244400dfd3547531a3a3289fadbbe19873f096 Mon Sep 17 00:00:00 2001 +From 960c74ec60962f707bd41724edaa2640c0324400 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Thu, 27 Oct 2016 20:33:21 -0700 Subject: [PATCH] add extra check for librt @@ -6,24 +6,26 @@ Subject: [PATCH] add extra check for librt https://jira.mariadb.org/browse/MDEV-10841 Signed-off-by: Ryan Coe +[Rebased on mariadb-10.3.30] +Signed-off-by: Peter Seiderer --- configure.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configure.cmake b/configure.cmake -index 896226de954f4642a238ca6a72e0930590dc1681..77ca485fb05e6b63bb69f9561b4eabfaa208a419 100644 +index 1b85c31b..4a1cd847 100644 --- a/configure.cmake +++ b/configure.cmake -@@ -126,6 +126,9 @@ IF(UNIX) +@@ -134,6 +134,9 @@ IF(UNIX) IF(NOT LIBRT) MY_SEARCH_LIBS(clock_gettime rt LIBRT) ENDIF() + IF(NOT LIBRT) + MY_SEARCH_LIBS(posix_spawn_file_actions_addclose rt LIBRT) + ENDIF() + set(THREADS_PREFER_PTHREAD_FLAG ON) FIND_PACKAGE(Threads) - SET(CMAKE_REQUIRED_LIBRARIES -- -2.9.3 +2.32.0 diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash index a210dd9dadb..f7e3c7b7440 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,7 +1,6 @@ -# From https://downloads.mariadb.org/mariadb/10.3.27 -sha256 0dadc1650ab2ff40caab58210e93b106ae1e3d1a82e5b0fd92c795b8b43e4619 mariadb-10.3.27.tar.gz -sha512 1ebfdfa3ef6e13e92615ac2fb6995362ca60fe78f57ff3cf9e384517f95eaf4c701e60fe0977b1eee73889cdfe3367720da9a9bae3dd1a09a4558114ba593369 mariadb-10.3.27.tar.gz +# From https://downloads.mariadb.org/mariadb/10.3.35 +sha512 9355de944eccef4e0bc01b19ffc3c0c72cf88befae7385c6f0ee1ea47dbd98d23f6bb46af9c140acc48d9d9613552870684bc0b7ca1f3cff1dc09c1a2c801573 mariadb-10.3.35.tar.gz # Hash for license files -sha256 a4665c1189fe31e0bbc27e9b55439df7dad6e99805407fe58d78da7aabe678f8 README.md +sha256 084aa0007efac6dda6aafffb3f3ef8b66b105862dad7ee23f6a4b52813f84464 README.md sha256 240a15a1d0f34d3abca462cdb7e5fb89470967563f16b0e71169e51c1e74cf2b COPYING diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index 252c3079e0d..06fd1484b67 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,15 +4,17 @@ # ################################################################################ -MARIADB_VERSION = 10.3.27 +MARIADB_VERSION = 10.3.35 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text # https://jira.mariadb.org/browse/MDEV-12297 MARIADB_LICENSE_FILES = README.md COPYING MARIADB_CPE_ID_VENDOR = mariadb +MARIADB_SELINUX_MODULES = mysql MARIADB_INSTALL_STAGING = YES MARIADB_PROVIDES = mysql +MARIADB_CONFIG_SCRIPTS = mysql_config MARIADB_DEPENDENCIES = \ host-mariadb \ @@ -58,6 +60,12 @@ MARIADB_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1 # Explicitly disable dtrace to avoid detection of a host version MARIADB_CONF_OPTS += -DENABLE_DTRACE=0 +ifeq ($(BR2_PACKAGE_LIBRESSL),y) +MARIADB_CONF_OPTS += \ + -DLIBRESSL_RESULT=ON \ + -DLIBRESSL_RESULT__TRYRUN_OUTPUT="LibreSSL $(LIBRESSL_VERSION)" +endif + ifeq ($(BR2_PACKAGE_MARIADB_SERVER),y) ifeq ($(BR2_PACKAGE_MARIADB_SERVER_EMBEDDED),y) MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=ON @@ -135,5 +143,13 @@ endef MARIADB_POST_INSTALL_TARGET_HOOKS += MARIADB_POST_INSTALL +# overwrite cross-compiled mariadb_config executable by an native one +define MARIADB_POST_STAGING_INSTALL + $(HOSTCC) -I$(@D)/libmariadb/include \ + -o $(STAGING_DIR)/usr/bin/mariadb_config \ + $(@D)/libmariadb/mariadb_config/mariadb_config.c +endef +MARIADB_POST_INSTALL_STAGING_HOOKS += MARIADB_POST_STAGING_INSTALL + $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/mariadb/mysqld.service b/package/mariadb/mysqld.service index d9ea74ebc3c..537430e9a21 100644 --- a/package/mariadb/mysqld.service +++ b/package/mariadb/mysqld.service @@ -2,8 +2,8 @@ Description=MySQL database server [Service] -ExecStartPre=/bin/sh -c 'test "`ls -1 /var/lib/mysql | wc -l`" != "0" || mysql_install_db --basedir=/usr --datadir=/var/lib/mysql && chown -R mysql:mysql /var/lib/mysql' -ExecStartPre=install -d -o mysql -g root -m 0755 /var/log/mysql +ExecStartPre=/bin/sh -c 'test "`ls -1 /var/lib/mysql | wc -l`" != "0" || mysql_install_db --basedir=/usr --datadir=/var/lib/mysql' +ExecStartPre=!install -d -o mysql -g root -m 0755 /var/log/mysql ExecStart=/usr/bin/mysqld_safe --log-error=/var/log/mysql/mysqld.log Restart=always User=mysql diff --git a/package/matchbox-fakekey/matchbox-fakekey.hash b/package/matchbox-fakekey/matchbox-fakekey.hash index 516e0b63627..3627b139139 100644 --- a/package/matchbox-fakekey/matchbox-fakekey.hash +++ b/package/matchbox-fakekey/matchbox-fakekey.hash @@ -1,4 +1,3 @@ -# From http://downloads.yoctoproject.org/releases/matchbox/libfakekey/0.1/libfakekey-0.1.tar.bz2.md5 -md5 83dbde4d77e8baf0176fe4291d8a2303 libfakekey-0.1.tar.bz2 # Locally computed -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 4e2fdc9bc20df469d53885c40e104122140131e06d4c184902070ec0b0f2ca9f libfakekey-0.3.tar.bz2 +sha256 3271662131760e9b30dd92495a0ea0b598fc457798cc67948947365299dd607d src/libfakekey.c diff --git a/package/matchbox-fakekey/matchbox-fakekey.mk b/package/matchbox-fakekey/matchbox-fakekey.mk index e607c48c157..99921ef8e74 100644 --- a/package/matchbox-fakekey/matchbox-fakekey.mk +++ b/package/matchbox-fakekey/matchbox-fakekey.mk @@ -4,11 +4,14 @@ # ################################################################################ -MATCHBOX_FAKEKEY_VERSION = 0.1 +MATCHBOX_FAKEKEY_VERSION = 0.3 MATCHBOX_FAKEKEY_SOURCE = libfakekey-$(MATCHBOX_FAKEKEY_VERSION).tar.bz2 -MATCHBOX_FAKEKEY_SITE = http://downloads.yoctoproject.org/releases/matchbox/libfakekey/$(MATCHBOX_FAKEKEY_VERSION) +MATCHBOX_FAKEKEY_SITE = \ + http://git.yoctoproject.org/cgit/cgit.cgi/libfakekey/snapshot MATCHBOX_FAKEKEY_LICENSE = GPL-2.0+ -MATCHBOX_FAKEKEY_LICENSE_FILES = COPYING +MATCHBOX_FAKEKEY_LICENSE_FILES = src/libfakekey.c +# From git +MATCHBOX_FAKEKEY_AUTORECONF = YES MATCHBOX_FAKEKEY_INSTALL_STAGING = YES MATCHBOX_FAKEKEY_DEPENDENCIES = matchbox-lib xlib_libXtst MATCHBOX_FAKEKEY_CONF_OPTS = --enable-expat diff --git a/package/matchbox-lib/0002-libpng15.patch b/package/matchbox-lib/0002-libpng15.patch deleted file mode 100644 index 3d68573b5fa..00000000000 --- a/package/matchbox-lib/0002-libpng15.patch +++ /dev/null @@ -1,26 +0,0 @@ -Support for libpng 1.5+ shamelessly taken from Gentoo. - -Signed-off-by: Gustavo Zacarias - ---- a/libmb/mbpixbuf.c -+++ b/libmb/mbpixbuf.c -@@ -247,7 +247,7 @@ - return NULL; - } - -- if ( setjmp( png_ptr->jmpbuf ) ) { -+ if ( setjmp( png_jmpbuf(png_ptr) ) ) { - png_destroy_read_struct( &png_ptr, &info_ptr, NULL); - fclose(fd); - return NULL; -@@ -269,8 +269,8 @@ - ( color_type == PNG_COLOR_TYPE_GRAY_ALPHA )) - png_set_gray_to_rgb(png_ptr); - -- if ( info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA -- || info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA -+ if ( color_type == PNG_COLOR_TYPE_RGB_ALPHA -+ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA - ) - *has_alpha = 1; - else diff --git a/package/matchbox-lib/0003-include-setjmp-h.patch b/package/matchbox-lib/0003-include-setjmp-h.patch deleted file mode 100644 index 72e1e45d8f9..00000000000 --- a/package/matchbox-lib/0003-include-setjmp-h.patch +++ /dev/null @@ -1,17 +0,0 @@ -matchbox-lib: include setjmp.h - -Based on this upstream patch: - - http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d - -Signed-off-by: Vicente Olivert Riera ---- libmatchbox-1.9/libmb/mbpixbuf.c.orig 2014-02-21 12:45:46.867035956 +0000 -+++ libmatchbox-1.9/libmb/mbpixbuf.c 2014-02-21 12:46:43.482949583 +0000 -@@ -22,6 +22,7 @@ - - #include - #include "mbpixbuf.h" -+#include - - #define BYTE_ORD_24_RGB 0 - #define BYTE_ORD_24_RBG 1 diff --git a/package/matchbox-lib/matchbox-lib.hash b/package/matchbox-lib/matchbox-lib.hash index d48fb32043a..8144c10258b 100644 --- a/package/matchbox-lib/matchbox-lib.hash +++ b/package/matchbox-lib/matchbox-lib.hash @@ -1,4 +1,3 @@ -# From http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/1.9/libmatchbox-1.9.tar.bz2.md5 -md5 9f73e7515cc4679171a5db180dc1343b libmatchbox-1.9.tar.bz2 # Locally computed +sha256 5c7795e46c24d848a2b960f3b994911165d95e5d5731e39105ee0d808d2373eb libmatchbox-1.12.tar.bz2 sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/package/matchbox-lib/matchbox-lib.mk b/package/matchbox-lib/matchbox-lib.mk index 5541867699b..00ca4a0d150 100644 --- a/package/matchbox-lib/matchbox-lib.mk +++ b/package/matchbox-lib/matchbox-lib.mk @@ -4,11 +4,13 @@ # ################################################################################ -MATCHBOX_LIB_VERSION = 1.9 +MATCHBOX_LIB_VERSION = 1.12 MATCHBOX_LIB_SOURCE = libmatchbox-$(MATCHBOX_LIB_VERSION).tar.bz2 -MATCHBOX_LIB_SITE = http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/$(MATCHBOX_LIB_VERSION) +MATCHBOX_LIB_SITE = http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/snapshot MATCHBOX_LIB_LICENSE = LGPL-2.1+ MATCHBOX_LIB_LICENSE_FILES = COPYING +# From git +MATCHBOX_LIB_AUTORECONF = YES MATCHBOX_LIB_INSTALL_STAGING = YES MATCHBOX_LIB_DEPENDENCIES = host-pkgconf xlib_libXext MATCHBOX_LIB_CONF_OPTS = --disable-doxygen-docs diff --git a/package/matio/matio.hash b/package/matio/matio.hash index 55e57338c8f..4634074ca08 100644 --- a/package/matio/matio.hash +++ b/package/matio/matio.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/projects/matio/files/matio/1.5.18/ -sha512 c43e562a101348d64139a056f28bce37c59c6667d701200255ccf9d8b6adf7a92ae9c11c8d921ec8a652cdc81c5de9ab247907279c54c52905adfd65bc3fb90f matio-1.5.18.tar.gz +# From https://sourceforge.net/projects/matio/files/matio/1.5.22/ +sha512 33fd3991413e94dfc9aba13ffd08b09ddcbdb9dfa579124d981449e195a8c61a3dc95b55e46bba360d48456c117cf36403af1c3448689c26b8aea5fa9cf38323 matio-1.5.22.tar.gz # Locally computed -sha256 19494e9c9154a5e3f834e99d65fab0653b84280df7c98d1886a98d2bd28369c1 COPYING +sha256 3ed9a50d754fcc92d4accb8448e397eafeab686796b2a7445557ce782806e239 COPYING diff --git a/package/matio/matio.mk b/package/matio/matio.mk index 0ebba134351..d282852d378 100644 --- a/package/matio/matio.mk +++ b/package/matio/matio.mk @@ -4,7 +4,7 @@ # ################################################################################ -MATIO_VERSION = 1.5.18 +MATIO_VERSION = 1.5.22 MATIO_SITE = http://downloads.sourceforge.net/project/matio/matio/$(MATIO_VERSION) MATIO_LICENSE = BSD-2-Clause MATIO_LICENSE_FILES = COPYING diff --git a/package/mawk/Config.in b/package/mawk/Config.in new file mode 100644 index 00000000000..80118b3f6d5 --- /dev/null +++ b/package/mawk/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_MAWK + bool "mawk" + help + Interpreter for the AWK Programming Language. + + http://invisible-island.net/mawk/mawk.html diff --git a/package/mawk/mawk.hash b/package/mawk/mawk.hash new file mode 100644 index 00000000000..69761f77df5 --- /dev/null +++ b/package/mawk/mawk.hash @@ -0,0 +1,2 @@ +sha256 7fd4cd1e1fae9290fe089171181bbc6291dfd9bca939ca804f0ddb851c8b8237 mawk-1.3.4-20200120.tgz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/mawk/mawk.mk b/package/mawk/mawk.mk new file mode 100644 index 00000000000..c4a486215d5 --- /dev/null +++ b/package/mawk/mawk.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# mawk +# +################################################################################ + +MAWK_VERSION = 1.3.4-20200120 +MAWK_SITE = https://invisible-mirror.net/archives/mawk +MAWK_SOURCE = mawk-$(MAWK_VERSION).tgz +MAWK_LICENSE = GPL-2.0 +MAWK_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index 39df0506097..80ae173aff4 100644 --- a/package/mbedtls/mbedtls.hash +++ b/package/mbedtls/mbedtls.hash @@ -1,4 +1,4 @@ -# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.16.9: -sha256 fc17ff7d8c11d08f23ae2800a18269408ad2c24ea6bb8b9363e41a01c2425697 mbedtls-2.16.9.tar.gz +# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.0: +sha256 6519579b836ed78cc549375c7c18b111df5717e86ca0eeff4cb64b2674f424cc mbedtls-2.28.0.tar.gz # Locally calculated -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index 9e3e9f626d2..8745ff33f40 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -4,14 +4,16 @@ # ################################################################################ -MBEDTLS_VERSION = 2.16.9 +MBEDTLS_VERSION = 2.28.0 MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,v$(MBEDTLS_VERSION)) MBEDTLS_CONF_OPTS = \ + -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ - -DENABLE_TESTING=OFF + -DENABLE_TESTING=OFF \ + -DMBEDTLS_FATAL_WARNINGS=OFF MBEDTLS_INSTALL_STAGING = YES MBEDTLS_LICENSE = Apache-2.0 -MBEDTLS_LICENSE_FILES = apache-2.0.txt +MBEDTLS_LICENSE_FILES = LICENSE MBEDTLS_CPE_ID_VENDOR = arm MBEDTLS_CPE_ID_PRODUCT = mbed_tls diff --git a/package/mbuffer/mbuffer.hash b/package/mbuffer/mbuffer.hash index 73a8d3cf44c..bab568d1d89 100644 --- a/package/mbuffer/mbuffer.hash +++ b/package/mbuffer/mbuffer.hash @@ -1,8 +1,8 @@ # From http://www.maier-komor.de/mbuffer.html -md5 e2b4f3b0d0944c08d52c167841bde3c0 mbuffer-20200929.tgz +md5 b6787260112e3ac416c0febdb097caa8 mbuffer-20211018.tgz # Locally computed after checking signature upstream -sha256 53a6e3c14e9a049f18a09840653dd84f18e7ec7560f2dcf2b61c0ab5f0ead4e8 mbuffer-20200929.tgz +sha256 e240c1e4e4ac14c28be8c660ec47d44ce16b1e8ec92aa907ad13004ffd5db6e3 mbuffer-20211018.tgz # Hash for license file sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/mbuffer/mbuffer.mk b/package/mbuffer/mbuffer.mk index 90a72ce6571..bbf27579f1f 100644 --- a/package/mbuffer/mbuffer.mk +++ b/package/mbuffer/mbuffer.mk @@ -4,7 +4,7 @@ # ################################################################################ -MBUFFER_VERSION = 20200929 +MBUFFER_VERSION = 20211018 MBUFFER_SOURCE = mbuffer-$(MBUFFER_VERSION).tgz MBUFFER_SITE = http://www.maier-komor.de/software/mbuffer MBUFFER_LICENSE = GPL-3.0+ diff --git a/package/mc/Config.in b/package/mc/Config.in index 61f351c41de..ac512116ca7 100644 --- a/package/mc/Config.in +++ b/package/mc/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_MC select BR2_PACKAGE_LIBGLIB2 # mc prefers slang, but can use ncurses too select BR2_PACKAGE_SLANG if !BR2_PACKAGE_NCURSES + select BR2_PACKAGE_NCURSES_WCHAR if BR2_PACKAGE_NCURSES help GNU Midnight Commander is a visual file manager, licensed under GNU General Public License. It can use either SLang diff --git a/package/mc/mc.hash b/package/mc/mc.hash index 208d0beda4b..b0381474ffd 100644 --- a/package/mc/mc.hash +++ b/package/mc/mc.hash @@ -1,4 +1,4 @@ -# Hash from http://ftp.midnight-commander.org/mc-4.8.25.sha256 -sha256 ffc19617f20ebb23330acd3998b7fd559a042d172fa55746d53d246697b2548a mc-4.8.25.tar.xz +# Hash from http://ftp.midnight-commander.org/mc-4.8.28.sha256 +sha256 e994d9be9a7172e9ac4a4ad62107921f6aa312e668b056dfe5b8bcebbaf53803 mc-4.8.28.tar.xz # sha256 locally computed: sha256 5576bbec76296e1c8e081f7037ebd01bdada388635f58d844a2f20d37bbe4284 COPYING diff --git a/package/mc/mc.mk b/package/mc/mc.mk index 00f34f81ccd..3858d628867 100644 --- a/package/mc/mc.mk +++ b/package/mc/mc.mk @@ -4,13 +4,15 @@ # ################################################################################ -MC_VERSION = 4.8.25 +MC_VERSION = 4.8.28 MC_SOURCE = mc-$(MC_VERSION).tar.xz MC_SITE = http://ftp.midnight-commander.org MC_LICENSE = GPL-3.0+ MC_LICENSE_FILES = COPYING MC_DEPENDENCIES = libglib2 host-pkgconf $(TARGET_NLS_DEPENDENCIES) -MC_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) +MC_CONF_ENV = \ + CFLAGS="$(TARGET_CFLAGS) -std=c99" \ + LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_GPM),y) MC_CONF_OPTS += --with-gpm-mouse diff --git a/package/mcelog/mcelog.hash b/package/mcelog/mcelog.hash index 49f29e2445e..598aa648fd9 100644 --- a/package/mcelog/mcelog.hash +++ b/package/mcelog/mcelog.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d21dfddaaa8e6f4ebd59ce353165c8d8079d0d5ed563492a0415af2248d8b3a5 mcelog-172.tar.gz +sha256 e9c82b565da06673c2630f9e6bc668634ad7d2c7f13c70db1900cce110ae62dc mcelog-180.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/mcelog/mcelog.mk b/package/mcelog/mcelog.mk index c24366546c6..da7785ca913 100644 --- a/package/mcelog/mcelog.mk +++ b/package/mcelog/mcelog.mk @@ -4,10 +4,11 @@ # ################################################################################ -MCELOG_VERSION = 172 +MCELOG_VERSION = 180 MCELOG_SITE = $(call github,andikleen,mcelog,v$(MCELOG_VERSION)) MCELOG_LICENSE = GPL-2.0 MCELOG_LICENSE_FILES = LICENSE +MCELOG_SELINUX_MODULES = mcelog define MCELOG_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all diff --git a/package/mcrypt/0001-CVE-2012-4409.patch b/package/mcrypt/0001-CVE-2012-4409.patch deleted file mode 100644 index 97c658bb2d3..00000000000 --- a/package/mcrypt/0001-CVE-2012-4409.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3efb40e17ce4f76717ae17a1ce1e1f747ddf59fd Mon Sep 17 00:00:00 2001 -From: Alon Bar-Lev -Date: Sat, 22 Dec 2012 22:37:06 +0200 -Subject: [PATCH] cleanup: buffer overflow - ---- - src/extra.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/extra.c b/src/extra.c -index 3082f82..c7a1ac0 100644 ---- a/src/extra.c -+++ b/src/extra.c -@@ -241,6 +241,8 @@ int check_file_head(FILE * fstream, char *algorithm, char *mode, - if (m_getbit(6, flags) == 1) { /* if the salt bit is set */ - if (m_getbit(0, sflag) != 0) { /* if the first bit is set */ - *salt_size = m_setbit(0, sflag, 0); -+ if (*salt_size > sizeof(tmp_buf)) -+ err_quit(_("Salt is too long\n")); - if (*salt_size > 0) { - fread(tmp_buf, 1, *salt_size, - fstream); --- -1.7.8.6 - diff --git a/package/mcrypt/0002-CVE-2012-4426.patch b/package/mcrypt/0002-CVE-2012-4426.patch deleted file mode 100644 index 708d4a579e7..00000000000 --- a/package/mcrypt/0002-CVE-2012-4426.patch +++ /dev/null @@ -1,35 +0,0 @@ -Patch taken from gentoo. - -Signed-off-by: Gustavo Zacarias - ---- a/src/errors.c -+++ b/src/errors.c -@@ -25,24 +25,24 @@ - - void err_quit(char *errmsg) - { -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - exit(-1); - } - - void err_warn(char *errmsg) - { - if (quiet <= 1) -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - } - - void err_info(char *errmsg) - { - if (quiet == 0) -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - } - - void err_crit(char *errmsg) - { - if (quiet <= 2) -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - } diff --git a/package/mcrypt/0003-CVE-2012-4527.patch b/package/mcrypt/0003-CVE-2012-4527.patch deleted file mode 100644 index a8cf6f449ab..00000000000 --- a/package/mcrypt/0003-CVE-2012-4527.patch +++ /dev/null @@ -1,99 +0,0 @@ -Fix for CVE-2012-4527. -Authored by Attila Bogar and Jean-Michel Vourgère - -Signed-off-by: Gustavo Zacarias - -diff -Nura mcrypt-2.6.8.orig/src/mcrypt.c mcrypt-2.6.8/src/mcrypt.c ---- mcrypt-2.6.8.orig/src/mcrypt.c 2013-01-14 19:15:49.465925072 -0300 -+++ mcrypt-2.6.8/src/mcrypt.c 2013-01-14 19:28:13.711478000 -0300 -@@ -44,7 +44,9 @@ - static char rcsid[] = - "$Id: mcrypt.c,v 1.2 2007/11/07 17:10:21 nmav Exp $"; - --char tmperr[128]; -+/* Temporary error message can contain one file name and 1k of text */ -+#define ERRWIDTH ((PATH_MAX)+1024) -+char tmperr[ERRWIDTH]; - unsigned int stream_flag = FALSE; - char *keymode = NULL; - char *mode = NULL; -@@ -482,7 +484,7 @@ - #ifdef HAVE_STAT - if (stream_flag == FALSE) { - if (is_normal_file(file[i]) == FALSE) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: %s is not a regular file. Skipping...\n"), - program_name, file[i]); -@@ -501,7 +503,7 @@ - dinfile = file[i]; - if ((isatty(fileno((FILE *) (stdin))) == 1) - && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: Encrypted data will not be read from a terminal.\n"), - program_name); -@@ -520,7 +522,7 @@ - einfile = file[i]; - if ((isatty(fileno((FILE *) (stdout))) == 1) - && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: Encrypted data will not be written to a terminal.\n"), - program_name); -@@ -544,7 +546,7 @@ - strcpy(outfile, einfile); - /* if file has already the .nc ignore it */ - if (strstr(outfile, ".nc") != NULL) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: file %s has the .nc suffix... skipping...\n"), - program_name, outfile); -@@ -590,10 +592,10 @@ - - if (x == 0) { - if (stream_flag == FALSE) { -- sprintf(tmperr, _("File %s was decrypted.\n"), dinfile); -+ snprintf(tmperr, ERRWIDTH, _("File %s was decrypted.\n"), dinfile); - err_warn(tmperr); - } else { -- sprintf(tmperr, _("Stdin was decrypted.\n")); -+ snprintf(tmperr, ERRWIDTH, _("Stdin was decrypted.\n")); - err_warn(tmperr); - } - #ifdef HAVE_STAT -@@ -610,7 +612,7 @@ - - } else { - if (stream_flag == FALSE) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("File %s was NOT decrypted successfully.\n"), - dinfile); -@@ -636,10 +638,10 @@ - - if (x == 0) { - if (stream_flag == FALSE) { -- sprintf(tmperr, _("File %s was encrypted.\n"), einfile); -+ snprintf(tmperr, ERRWIDTH, _("File %s was encrypted.\n"), einfile); - err_warn(tmperr); - } else { -- sprintf(tmperr, _("Stdin was encrypted.\n")); -+ snprintf(tmperr, ERRWIDTH, _("Stdin was encrypted.\n")); - err_warn(tmperr); - } - #ifdef HAVE_STAT -@@ -655,7 +657,7 @@ - - } else { - if (stream_flag == FALSE) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("File %s was NOT encrypted successfully.\n"), - einfile); diff --git a/package/mcrypt/0004-no-rpath.patch b/package/mcrypt/0004-no-rpath.patch deleted file mode 100644 index a0813bcf00a..00000000000 --- a/package/mcrypt/0004-no-rpath.patch +++ /dev/null @@ -1,17 +0,0 @@ -Patch out rpath hardcoding since it completely ignores --disable-rpath -and other configure ways. - -Signed-off-by: Gustavo Zacarias - -diff -Nura mcrypt-2.6.8.orig/config.rpath mcrypt-2.6.8/config.rpath ---- mcrypt-2.6.8.orig/config.rpath 2013-01-07 13:05:22.626883480 -0300 -+++ mcrypt-2.6.8/config.rpath 2013-01-07 13:12:47.196090608 -0300 -@@ -153,7 +153,7 @@ - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. -- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_flag_spec= - case "$host_os" in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken diff --git a/package/mcrypt/Config.in b/package/mcrypt/Config.in deleted file mode 100644 index e3b9541f044..00000000000 --- a/package/mcrypt/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_MCRYPT - bool "mcrypt" - depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_LIBMCRYPT - select BR2_PACKAGE_LIBMHASH - help - MCrypt is a replacement for the old crypt() package and - crypt(1) command, with extensions. - It allows developers to use a wide range of encryption - functions, without making drastic changes to their code. - - http://mcrypt.sourceforge.net/ diff --git a/package/mcrypt/mcrypt.hash b/package/mcrypt/mcrypt.hash deleted file mode 100644 index c6c8871f4f7..00000000000 --- a/package/mcrypt/mcrypt.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 5145aa844e54cca89ddab6fb7dd9e5952811d8d787c4f4bf27eb261e6c182098 mcrypt-2.6.8.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/mcrypt/mcrypt.mk b/package/mcrypt/mcrypt.mk deleted file mode 100644 index a04b9737509..00000000000 --- a/package/mcrypt/mcrypt.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# mcrypt -# -################################################################################ - -MCRYPT_VERSION = 2.6.8 -MCRYPT_SITE = http://downloads.sourceforge.net/project/mcrypt/MCrypt/$(MCRYPT_VERSION) -MCRYPT_DEPENDENCIES = libmcrypt libmhash \ - $(if $(BR2_PACKAGE_ZLIB),zlib) \ - $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ - $(TARGET_NLS_DEPENDENCIES) -MCRYPT_CONF_OPTS = --with-libmcrypt-prefix=$(STAGING_DIR)/usr -MCRYPT_LICENSE = GPL-3.0 -MCRYPT_LICENSE_FILES = COPYING - -# 0001-CVE-2012-4409.patch -MCRYPT_IGNORE_CVES += CVE-2012-4409 -# 0002-CVE-2012-4426.patch -MCRYPT_IGNORE_CVES += CVE-2012-4426 -# 0003-CVE-2012-4527.patch -MCRYPT_IGNORE_CVES += CVE-2012-4527 - -$(eval $(autotools-package)) diff --git a/package/mdadm/0001-add-install-targets-for-mdadm-and-mdmon.patch b/package/mdadm/0001-add-install-targets-for-mdadm-and-mdmon.patch deleted file mode 100644 index 15df7557e7a..00000000000 --- a/package/mdadm/0001-add-install-targets-for-mdadm-and-mdmon.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a1a9243671b1e23123f57e879890325154b8e00d Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier -Date: Wed, 6 Mar 2013 16:03:14 +0100 -Subject: [PATCH] Add install targets for mdadm and mdmon - - -Signed-off-by: Christophe Vu-Brugier ---- - Makefile | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 315455b..27d8eeb 100644 ---- a/Makefile -+++ b/Makefile -@@ -231,8 +231,12 @@ $(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-mdadm install-mdmon install-man install-udev -+ -+install-mdadm : - $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm -+ -+install-mdmon : - $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon - - install-static : mdadm.static install-man --- -1.7.10.4 - diff --git a/package/mdadm/0002-mdadm.h-include-sysmacros.h-unconditionally.patch b/package/mdadm/0002-mdadm.h-include-sysmacros.h-unconditionally.patch deleted file mode 100644 index c8944c84755..00000000000 --- a/package/mdadm/0002-mdadm.h-include-sysmacros.h-unconditionally.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6c781ad75d92c6f65832810c44afcba1b2dffc41 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 6 Aug 2019 16:01:15 +0300 -Subject: [PATCH] mdadm.h: include sysmacros.h unconditionally - -musl libc now also requires sys/sysmacros.h for the major/minor macros. -All supported libc implementations carry sys/sysmacros.h, including -diet-libc, klibc, and uclibc-ng. - -Cc: Hauke Mehrtens -Signed-off-by: Baruch Siach ---- -Upstream status: https://marc.info/?l=linux-raid&m=156509677018508 - - mdadm.h | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/mdadm.h b/mdadm.h -index c36d7fdb10f6..d61a9ca82dc1 100644 ---- a/mdadm.h -+++ b/mdadm.h -@@ -45,10 +45,8 @@ extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); - #include - #include - #include --#ifdef __GLIBC__ - /* Newer glibc requires sys/sysmacros.h directly for makedev() */ - #include --#endif - #ifdef __dietlibc__ - #include - /* dietlibc has deprecated random and srandom!! */ --- -2.20.1 - diff --git a/package/mdadm/mdadm.hash b/package/mdadm/mdadm.hash index b15cb4e031e..b9631a2aaa1 100644 --- a/package/mdadm/mdadm.hash +++ b/package/mdadm/mdadm.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/raid/mdadm/sha256sums.asc -sha256 ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a mdadm-4.1.tar.xz +sha256 461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d mdadm-4.2.tar.xz # Locally calculated -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/mdadm/mdadm.mk b/package/mdadm/mdadm.mk index 171782712f4..0a2eb4e5bd3 100644 --- a/package/mdadm/mdadm.mk +++ b/package/mdadm/mdadm.mk @@ -4,14 +4,20 @@ # ################################################################################ -MDADM_VERSION = 4.1 +MDADM_VERSION = 4.2 MDADM_SOURCE = mdadm-$(MDADM_VERSION).tar.xz MDADM_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/raid/mdadm MDADM_LICENSE = GPL-2.0+ MDADM_LICENSE_FILES = COPYING -MDADM_BUILD_OPTS = $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -DNO_COROSYNC -DNO_DLM" \ +MDADM_CXFLAGS = $(TARGET_CFLAGS) + +MDADM_BUILD_OPTS = \ + CC=$(TARGET_CC) \ + COROSYNC=-DNO_COROSYNC \ + DLM=-DNO_DLM \ + CWFLAGS="" \ + CXFLAGS="$(MDADM_CXFLAGS)" \ CPPFLAGS="$(TARGET_CPPFLAGS) -DBINDIR=\\\"/sbin\\\"" \ CHECK_RUN_DIR=0 @@ -19,14 +25,18 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) MDADM_BUILD_OPTS += USE_PTHREADS= endif +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +MDADM_DEPENDENCIES += udev +else +MDADM_CXFLAGS += -DNO_LIBUDEV +endif + define MDADM_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(MDADM_BUILD_OPTS) mdadm mdmon endef define MDADM_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - DESTDIR=$(TARGET_DIR) \ - install-mdadm install-mdmon + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install-bin endef $(eval $(generic-package)) diff --git a/package/mdevd/mdevd.hash b/package/mdevd/mdevd.hash index c3b8fcc921a..93950304bef 100644 --- a/package/mdevd/mdevd.hash +++ b/package/mdevd/mdevd.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 be89ab072c4de822a06e26579dcca10e85ae5fd5be23ba903415b4de8fe0fb6a mdevd-0.1.3.0.tar.gz +sha256 ffd3b223b4cf0e51253b4a8f09cb88d70bf22693228ab0818af174a3f099dcd2 mdevd-0.1.4.0.tar.gz sha256 31b60c66aba1fa0a7f8847339ac35c28638e25ff96da700d995533ad810e3995 COPYING diff --git a/package/mdevd/mdevd.mk b/package/mdevd/mdevd.mk index e2924009f5e..a0cd71e76e2 100644 --- a/package/mdevd/mdevd.mk +++ b/package/mdevd/mdevd.mk @@ -4,7 +4,7 @@ # ################################################################################ -MDEVD_VERSION = 0.1.3.0 +MDEVD_VERSION = 0.1.4.0 MDEVD_SITE = http://skarnet.org/software/mdevd MDEVD_LICENSE = ISC MDEVD_LICENSE_FILES = COPYING @@ -12,11 +12,11 @@ MDEVD_INSTALL_STAGING = YES MDEVD_DEPENDENCIES = skalibs MDEVD_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/memcached/0001-logger.c-initialize-rport.patch b/package/memcached/0001-logger.c-initialize-rport.patch new file mode 100644 index 00000000000..5fb13d5eee4 --- /dev/null +++ b/package/memcached/0001-logger.c-initialize-rport.patch @@ -0,0 +1,55 @@ +From b3431c4fcaf65e66fda80ef89b79ff3da1912b4f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 25 Dec 2021 20:05:29 +0100 +Subject: [PATCH] logger.c: initialize rport + +Fix the following build failure raised since version 1.6.11 and +https://github.com/memcached/memcached/commit/617d7cd64d04698b76fee74882627690017e20ad: + +logger.c: In function '_logger_parse_cce': +logger.c:297:13: error: 'rport' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 297 | total = snprintf(scratch, LOGGER_PARSE_SCRATCH, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 298 | "ts=%d.%d gid=%llu type=conn_close rip=%s rport=%hu transport=%s reason=%s cfd=%d\n", + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 299 | (int) e->tv.tv_sec, (int) e->tv.tv_usec, (unsigned long long) e->gid, + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 300 | rip, rport, transport_map[le->transport], + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 301 | reason_map[le->reason], le->sfd); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/7a46ac38d10b1859034017e0294961daa8f48dd2 + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + logger.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/logger.c b/logger.c +index 667f3c7..394adae 100644 +--- a/logger.c ++++ b/logger.c +@@ -269,7 +269,7 @@ static int _logger_parse_extw(logentry *e, char *scratch) { + + static int _logger_parse_cne(logentry *e, char *scratch) { + int total; +- unsigned short rport; ++ unsigned short rport = 0; + char rip[64]; + struct logentry_conn_event *le = (struct logentry_conn_event *) e->data; + const char * const transport_map[] = { "local", "tcp", "udp" }; +@@ -286,7 +286,7 @@ static int _logger_parse_cne(logentry *e, char *scratch) { + + static int _logger_parse_cce(logentry *e, char *scratch) { + int total; +- unsigned short rport; ++ unsigned short rport = 0; + char rip[64]; + struct logentry_conn_event *le = (struct logentry_conn_event *) e->data; + const char * const transport_map[] = { "local", "tcp", "udp" }; +-- +2.33.0 + diff --git a/package/memcached/0002-check-for-sys-auxv.h.patch b/package/memcached/0002-check-for-sys-auxv.h.patch new file mode 100644 index 00000000000..8c41bb4f01e --- /dev/null +++ b/package/memcached/0002-check-for-sys-auxv.h.patch @@ -0,0 +1,50 @@ +From 58b6de2135c10b64918f25c48f69f144d08a9c0d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 3 Jun 2022 19:10:15 +0200 +Subject: [PATCH] check for sys/auxv.h + +Check for sys/auxv.h to avoid the following uclibc build failure on +aarch64: + +crc32c.c:277:10: fatal error: sys/auxv.h: No such file or directory + 277 | #include + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/08591fbf9677ff126492c50c15170c641bcab56a + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + configure.ac | 1 + + crc32c.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0985f07..3337fe7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -516,6 +516,7 @@ AH_BOTTOM([#ifdef HAVE_INTTYPES_H + #include + #endif + ]) ++AC_CHECK_HEADERS([sys/auxv.h]) + + dnl ********************************************************************** + dnl Figure out if this system has the stupid sasl_callback_ft +diff --git a/crc32c.c b/crc32c.c +index 26df879..05e61ff 100644 +--- a/crc32c.c ++++ b/crc32c.c +@@ -273,7 +273,7 @@ void crc32c_init(void) { + } + } + +-#elif defined(__aarch64__) && defined(__linux__) ++#elif defined(__aarch64__) && defined(__linux__) && defined(HAVE_SYS_AUX_H) + #include + + #if defined(HWCAP_CRC32) +-- +2.35.1 + diff --git a/package/memcached/memcached.hash b/package/memcached/memcached.hash index a86a6f9f73f..22c794d07b4 100644 --- a/package/memcached/memcached.hash +++ b/package/memcached/memcached.hash @@ -1,6 +1,6 @@ -# From http://www.memcached.org/files/memcached-1.6.9.tar.gz.sha1 -sha1 42ae062094fdf083cfe7b21ff377c781011c2be1 memcached-1.6.9.tar.gz +# From http://www.memcached.org/files/memcached-1.6.12.tar.gz.sha1 +sha1 40d43e98f149e13e6c81eee813e6734f23413a01 memcached-1.6.12.tar.gz # Locally computed -sha256 d5a62ce377314dbffdb37c4467e7763e3abae376a16171e613cbe69956f092d1 memcached-1.6.9.tar.gz +sha256 f291a35f82ef9756ed1d952879ef5f4be870f932bdfcb2ab61356609abf82346 memcached-1.6.12.tar.gz sha256 bc887c4ad8051fe690ace9528fe37a2e0bb362e6d963331d82e845ca9b585a0c COPYING diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk index 1c695411cd0..842c0b42fa7 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEMCACHED_VERSION = 1.6.9 +MEMCACHED_VERSION = 1.6.12 MEMCACHED_SITE = http://www.memcached.org/files MEMCACHED_DEPENDENCIES = libevent MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' @@ -12,6 +12,9 @@ MEMCACHED_CONF_OPTS = --disable-coverage MEMCACHED_LICENSE = BSD-3-Clause MEMCACHED_LICENSE_FILES = COPYING MEMCACHED_CPE_ID_VENDOR = memcached +MEMCACHED_SELINUX_MODULES = memcached +# We're patching configure.ac +MEMCACHED_AUTORECONF = YES ifeq ($(BR2_ENDIAN),"BIG") MEMCACHED_CONF_ENV += ac_cv_c_endian=big diff --git a/package/mender-artifact/mender-artifact.hash b/package/mender-artifact/mender-artifact.hash index a9fba2971e4..27f18862bc0 100644 --- a/package/mender-artifact/mender-artifact.hash +++ b/package/mender-artifact/mender-artifact.hash @@ -1,6 +1,6 @@ # Locally computed: -sha256 c085479a6e2ae598687a15b646bfaaa68e5d76d08382bdcc4a27a9b4021d6540 mender-artifact-3.4.0.tar.gz -sha256 08b0209abb7e87bb1d21aca8a40693b7d29406d1edffd443f17c59d5d68f6467 LIC_FILES_CHKSUM.sha256 +sha256 c46c305616cf53e65b786862addf04d97c388e451f11478886967b494c4ce5d9 mender-artifact-3.6.1.tar.gz +sha256 ac23df36801aea6a28685b60a742f68f99d357e0d9973d5c36aa2e72599d8e2a LIC_FILES_CHKSUM.sha256 # License hash extracted from LIC_FILES_CHKSUM.sha256 using the # following command: @@ -8,10 +8,9 @@ sha256 08b0209abb7e87bb1d21aca8a40693b7d29406d1edffd443f17c59d5d68f6467 LIC_FI # sed '/^[A-Za-z0-9_]/s/^/sha256 /' LIC_FILES_CHKSUM.sha256 # Apache 2.0 licenses. -sha256 32714818ad6f98ee0185a52e23a475d89122e3efd2b2c26c733781c28e798c99 LICENSE -sha256 32714818ad6f98ee0185a52e23a475d89122e3efd2b2c26c733781c28e798c99 vendor/github.com/mendersoftware/mendertesting/LICENSE +sha256 b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 vendor/github.com/minio/sha256-simd/LICENSE -sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 vendor/gopkg.in/yaml.v2/LICENSE +sha256 8f5d89b47d7a05a199b77b7e0f362dad391d451ebda4ef48ba11c50c071564c7 vendor/github.com/mendersoftware/progressbar/LICENSE # # BSD 2 Clause licenses. sha256 8d427fd87bc9579ea368fde3d49f9ca22eac857f91a9dec7e3004bdfab7dee86 vendor/github.com/pkg/errors/LICENSE @@ -28,9 +27,11 @@ sha256 75e1ca97a84a9da6051dee0114333388216f2c4a5a028296b882ff3d57274735 vendor sha256 1b93a317849ee09d3d7e4f1d20c2b78ddb230b4becb12d7c224c927b9d470251 vendor/github.com/davecgh/go-spew/LICENSE # # MIT licenses. -sha256 dad2b0b2cc2dbdbf95ad5d800ef7588956e74dc2479014829d42be295125c25d vendor/github.com/stretchr/testify/LICENSE +sha256 f8e536c1c7b695810427095dc85f5f80d44ff7c10535e8a9486cf393e2599189 vendor/github.com/stretchr/testify/LICENSE sha256 da277af11b85227490377fbcac6afccc68be560c4fff36ac05ca62de55345fd7 vendor/github.com/urfave/cli/LICENSE sha256 51a0c9ec7f8b7634181b8d4c03e5b5d204ac21d6e72f46c313973424664b2e6b vendor/github.com/sirupsen/logrus/LICENSE -sha256 7709cc030f078b17809884f92f33a2016944e1180312dc3f1371b02313d313ed vendor/github.com/klauspost/pgzip/LICENSE +sha256 6d2de1cde19c4d2bd8bcd9aaa1d581f4cfa3db9cf71896140330eaa2f2687685 vendor/github.com/klauspost/pgzip/LICENSE sha256 a55959c4e3e8917bfa857359bb641115336276a6cc97408fd8197e079fb18470 vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md sha256 c8024e31c1de453fea90f22a221968835cc7af9d520274a2576c9ec9976055b0 vendor/github.com/shurcooL/sanitized_anchor_name/LICENSE +sha256 d18f6323b71b0b768bb5e9616e36da390fbd39369a81807cca352de4e4e6aa0b vendor/gopkg.in/yaml.v3/LICENSE +sha256 08eab1118c80885fa1fa6a6dd7303f65a379fcb3733e063d20d1bbc2c76e6fa1 vendor/github.com/mattn/go-isatty/LICENSE diff --git a/package/mender-artifact/mender-artifact.mk b/package/mender-artifact/mender-artifact.mk index b2310d5bc21..34d0cd9469f 100644 --- a/package/mender-artifact/mender-artifact.mk +++ b/package/mender-artifact/mender-artifact.mk @@ -4,15 +4,14 @@ # ################################################################################ -HOST_MENDER_ARTIFACT_VERSION = 3.4.0 +HOST_MENDER_ARTIFACT_VERSION = 3.6.1 HOST_MENDER_ARTIFACT_SITE = $(call github,mendersoftware,mender-artifact,$(HOST_MENDER_ARTIFACT_VERSION)) HOST_MENDER_ARTIFACT_LICENSE = Apache2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT HOST_MENDER_ARTIFACT_LICENSE_FILES = \ LICENSE \ LIC_FILES_CHKSUM.sha256 \ - vendor/github.com/mendersoftware/mendertesting/LICENSE \ vendor/github.com/minio/sha256-simd/LICENSE \ - vendor/gopkg.in/yaml.v2/LICENSE \ + vendor/github.com/mendersoftware/progressbar/LICENSE \ vendor/github.com/pkg/errors/LICENSE \ vendor/github.com/pmezard/go-difflib/LICENSE \ vendor/golang.org/x/sys/LICENSE \ @@ -26,7 +25,9 @@ HOST_MENDER_ARTIFACT_LICENSE_FILES = \ vendor/github.com/sirupsen/logrus/LICENSE \ vendor/github.com/klauspost/pgzip/LICENSE \ vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md \ - vendor/github.com/shurcooL/sanitized_anchor_name/LICENSE + vendor/github.com/shurcooL/sanitized_anchor_name/LICENSE \ + vendor/gopkg.in/yaml.v3/LICENSE \ + vendor/github.com/mattn/go-isatty/LICENSE HOST_MENDER_ARTIFACT_DEPENDENCIES = host-xz @@ -38,9 +39,7 @@ HOST_MENDER_ARTIFACT_DEPENDENCIES = host-xz # permission issues when cleaning. HOST_MENDER_ARTIFACT_GO_ENV = GOFLAGS="-mod=vendor" -HOST_MENDER_ARTIFACT_LDFLAGS = -X main.Version=$(HOST_MENDER_ARTIFACT_VERSION) - -HOST_MENDER_ARTIFACT_BUILD_TARGETS = cli/mender-artifact +HOST_MENDER_ARTIFACT_LDFLAGS = -X github.com/mendersoftware/mender-artifact/cli.Version=$(HOST_MENDER_ARTIFACT_VERSION) HOST_MENDER_ARTIFACT_BIN_NAME = mender-artifact HOST_MENDER_ARTIFACT_INSTALL_BINS = $(HOST_MENDER_ARTIFACT_BIN_NAME) diff --git a/package/mender-grubenv/Config.in b/package/mender-grubenv/Config.in index 28b4bb70740..f27eb09e34d 100644 --- a/package/mender-grubenv/Config.in +++ b/package/mender-grubenv/Config.in @@ -2,15 +2,14 @@ config BR2_PACKAGE_MENDER_GRUBENV bool "mender-grubenv" depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS depends on BR2_PACKAGE_MENDER # runtime - # grubenv provides it's own fw_printenv. - depends on !BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV depends on BR2_TARGET_GRUB2 + depends on !(BR2_TARGET_GRUB2_HAS_LEGACY_BOOT && BR2_TARGET_GRUB2_HAS_EFI_BOOT) help Contains the boot scripts and tools used by Mender to integrate with the GRUB bootloader. The following Grub modules must be selected for this package: - loadenv hashsum echo halt gcry_sha256 test + loadenv hashsum echo halt gcry_sha256 test regexp https://github.com/mendersoftware/grub-mender-grubenv @@ -37,7 +36,6 @@ comment "mender-grubenv needs a grub2 bootloader" depends on BR2_PACKAGE_MENDER depends on !BR2_TARGET_GRUB2 -comment "mender-grubenv does not work with uboot-tools fw_printenv" - depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS +comment "mender-grubenv does not support both legacy and EFI grub2 bootloaders at the same time" depends on BR2_PACKAGE_MENDER - depends on BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV + depends on BR2_TARGET_GRUB2_HAS_LEGACY_BOOT && BR2_TARGET_GRUB2_HAS_EFI_BOOT diff --git a/package/mender-grubenv/mender-grubenv.hash b/package/mender-grubenv/mender-grubenv.hash index 1b1eaa758a4..fcc4e02cbea 100644 --- a/package/mender-grubenv/mender-grubenv.hash +++ b/package/mender-grubenv/mender-grubenv.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e50cc18a844e3fd1edef7af9224733b0338a34d51f1186ee19803ef7af1a5065 mender-grubenv-1.3.0.tar.gz -sha256 98ed35b5a138f58164b5c0dbccd9d7f01ef4d84b9dba01e896f0a3241c50c0f7 LICENSE +sha256 00a574d2bed8d54ba6739700da789a420a02de900df56dd2cfbe0df460a98dca mender-grubenv-1a7db967495bbe8be53b7a69dcb42822f39d9a74.tar.gz +sha256 b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE diff --git a/package/mender-grubenv/mender-grubenv.mk b/package/mender-grubenv/mender-grubenv.mk index 6e38557eb3e..9d5be8d8f4d 100644 --- a/package/mender-grubenv/mender-grubenv.mk +++ b/package/mender-grubenv/mender-grubenv.mk @@ -4,7 +4,7 @@ # ################################################################################ -MENDER_GRUBENV_VERSION = 1.3.0 +MENDER_GRUBENV_VERSION = 1a7db967495bbe8be53b7a69dcb42822f39d9a74 MENDER_GRUBENV_SITE = $(call github,mendersoftware,grub-mender-grubenv,$(MENDER_GRUBENV_VERSION)) MENDER_GRUBENV_LICENSE = Apache-2.0 MENDER_GRUBENV_LICENSE_FILES = LICENSE @@ -13,16 +13,9 @@ MENDER_GRUBENV_LICENSE_FILES = LICENSE MENDER_GRUBENV_DEPENDENCIES = grub2 MENDER_GRUBENV_INSTALL_IMAGES = YES -ifeq ($(BR2_TARGET_GRUB2_I386_PC)$(BR2_TARGET_GRUB2_ARM_UBOOT),y) -MENDER_GRUBENV_ENV_DIR = /boot/grub -else -MENDER_GRUBENV_ENV_DIR = /boot/EFI/BOOT -endif - MENDER_GRUBENV_MAKE_ENV = \ $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_MAKE_ENV) \ - ENV_DIR=$(MENDER_GRUBENV_ENV_DIR) + $(TARGET_MAKE_ENV) MENDER_GRUBENV_DEFINES = \ $(or $(call qstrip,$(BR2_PACKAGE_MENDER_GRUBENV_DEFINES)),\ @@ -30,15 +23,46 @@ MENDER_GRUBENV_DEFINES = \ # These grub modules must be built in for the grub scripts to work properly. # Without them, the system will not boot. -MENDER_GRUBENV_MANDATORY_MODULES=loadenv hashsum echo halt gcry_sha256 test -MENDER_GRUBENV_MODULES_MISSING = \ - $(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES)),\ +MENDER_GRUBENV_MANDATORY_MODULES = loadenv hashsum echo halt gcry_sha256 test regexp + +ifeq ($(BR2_TARGET_GRUB2_HAS_LEGACY_BOOT),y) +MENDER_GRUBENV_MODULES_MISSING_PC = \ + $(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_PC)),\ + $(MENDER_GRUBENV_MANDATORY_MODULES)) + +MENDER_GRUBENV_MAKE_ENV += ENV_DIR=/boot/grub + +define MENDER_GRUBENV_INSTALL_I386_CFG + mkdir -p $(BINARIES_DIR)/boot-part/grub + cp -dpfr $(TARGET_DIR)/boot/grub/grub.cfg \ + $(TARGET_DIR)/boot/grub/mender_grubenv* \ + $(BINARIES_DIR)/boot-part/grub +endef +endif # BR2_TARGET_GRUB2_HAS_LEGACY_BOOT + +ifeq ($(BR2_TARGET_GRUB2_HAS_EFI_BOOT),y) +MENDER_GRUBENV_MODULES_MISSING_EFI = \ + $(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI)),\ $(MENDER_GRUBENV_MANDATORY_MODULES)) +MENDER_GRUBENV_MAKE_ENV += ENV_DIR=/boot/EFI/BOOT + +define MENDER_GRUBENV_INSTALL_EFI_CFG + mkdir -p $(BINARIES_DIR)/efi-part/EFI/BOOT + cp -dpfr $(TARGET_DIR)/boot/EFI/BOOT/grub.cfg \ + $(TARGET_DIR)/boot/EFI/BOOT/mender_grubenv* \ + $(BINARIES_DIR)/efi-part/EFI/BOOT +endef +endif # BR2_TARGET_GRUB2_HAS_EFI_BOOT + ifeq ($(BR2_PACKAGE_MENDER_GRUBENV)$(BR_BUILDING),yy) -ifneq ($(MENDER_GRUBENV_MODULES_MISSING),) -$(error The following missing grub2 modules must be enabled for mender-grubenv \ - to work: $(MENDER_GRUBENV_MODULES_MISSING)) +ifneq ($(MENDER_GRUBENV_MODULES_MISSING_EFI),) +$(error The following missing grub2 efi modules must be enabled for mender-grubenv \ + to work: $(MENDER_GRUBENV_MODULES_MISSING_EFI)) +endif +ifneq ($(MENDER_GRUBENV_MODULES_MISSING_PC),) +$(error The following missing grub2 pc modules must be enabled for mender-grubenv \ + to work: $(MENDER_GRUBENV_MODULES_MISSING_PC)) endif endif @@ -54,12 +78,9 @@ define MENDER_GRUBENV_INSTALL_TARGET_CMDS $(MENDER_GRUBENV_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install endef -# Overwrite the default grub2 config files with the ones in this package. define MENDER_GRUBENV_INSTALL_IMAGES_CMDS - mkdir -p $(BINARIES_DIR)/efi-part/EFI/BOOT - cp -dpfr $(TARGET_DIR)/boot/EFI/BOOT/grub.cfg \ - $(TARGET_DIR)/boot/EFI/BOOT/mender_grubenv* \ - $(BINARIES_DIR)/efi-part/EFI/BOOT + $(MENDER_GRUBENV_INSTALL_I386_CFG) + $(MENDER_GRUBENV_INSTALL_EFI_CFG) endef $(eval $(generic-package)) diff --git a/package/mender/Config.in b/package/mender/Config.in index 5cb3a3f2e0f..cccb46361bb 100644 --- a/package/mender/Config.in +++ b/package/mender/Config.in @@ -3,15 +3,37 @@ config BR2_PACKAGE_MENDER depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_XZ - select BR2_PACKAGE_UBOOT_TOOLS if BR2_TARGET_UBOOT # runtime - select BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV if BR2_TARGET_UBOOT # runtime + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help Mender is an open source over-the-air (OTA) software updater for embedded Linux devices. Mender comprises a client running at the embedded device, as well as a server that manages deployments across many devices. + Notes: + For systems using uboot as the bootloader: + - uboot must have the mender uboot patches applied. + - uboot-tools must be selected. + - fw_printenv must be functional on the device. + The Mender Uboot patches are at: + https://github.com/mendersoftware/meta-mender/ + + For more information on Manual U-Boot integration, see: + https://docs.mender.io/2.6/system-updates-yocto-project/board-integration/bootloader-support/u-boot/manual-u-boot-integration + + For systems using Grub2 as the bootloader: + - Mender depends on the mender-grubenv package. + - The mender-grubenv package provides a fw_printenv script, + which is not compatible with the uboot-tools fw_printenv + script. + + The mender project recommends using uboot to load Grub2 as a + secondary bootloader whenever possible. Using Grub2 as a + secondary bootloader prevents users from porting the patches + for uboot to each new device. + https://github.com/mendersoftware/mender comment "mender needs a toolchain w/ threads" diff --git a/package/mender/S42mender b/package/mender/S42mender index 108fecfea91..dc60f94f8bd 100644 --- a/package/mender/S42mender +++ b/package/mender/S42mender @@ -25,7 +25,7 @@ start() { umask 077 start-stop-daemon -S -q -b -m -p /var/run/mender.pid \ - --exec /usr/bin/mender -- -daemon + --exec /usr/bin/mender -- daemon [ $? = 0 ] && echo "OK" || echo "FAIL" } stop() { diff --git a/package/mender/mender-client.service b/package/mender/mender-client.service index 2a5f476ee57..5539a56fd6c 100644 --- a/package/mender/mender-client.service +++ b/package/mender/mender-client.service @@ -17,7 +17,7 @@ if [ -L /var/lib/mender \ mkdir -p "$(readlink /var/lib/mender)"; \ fi; \ fi' -ExecStart=/usr/bin/mender -daemon +ExecStart=/usr/bin/mender daemon Restart=on-abort [Install] diff --git a/package/mender/mender.hash b/package/mender/mender.hash index f1eef656fe7..40d82f072fa 100644 --- a/package/mender/mender.hash +++ b/package/mender/mender.hash @@ -1,39 +1,44 @@ # Locally computed: -sha256 d7c885a34f7b7f9969970132411225895c136e22be0caaa6dd3e08ca4bb71ff9 2.3.0.tar.gz +sha256 716ba7110dd68cdafc5caa989706ff67bbac0617c284d666aa81605850be5763 3.1.0.tar.gz # Vendor licenses # Generated with sed '/^[A-Za-z0-9_]/s/^/sha256 /' LIC_FILES_CHKSUM.sha256 # Apache-2.0 license. -sha256 32714818ad6f98ee0185a52e23a475d89122e3efd2b2c26c733781c28e798c99 LICENSE -sha256 32714818ad6f98ee0185a52e23a475d89122e3efd2b2c26c733781c28e798c99 vendor/github.com/mendersoftware/mendertesting/LICENSE +sha256 b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE sha256 32714818ad6f98ee0185a52e23a475d89122e3efd2b2c26c733781c28e798c99 vendor/github.com/mendersoftware/mender-artifact/LICENSE +sha256 73ba74dfaa520b49a401b5d21459a8523a146f3b7518a833eea5efa85130bf68 vendor/github.com/mendersoftware/openssl/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 vendor/github.com/minio/sha256-simd/LICENSE +sha256 8f5d89b47d7a05a199b77b7e0f362dad391d451ebda4ef48ba11c50c071564c7 vendor/github.com/mendersoftware/progressbar/LICENSE # # BSD 2 Clause license. sha256 8d427fd87bc9579ea368fde3d49f9ca22eac857f91a9dec7e3004bdfab7dee86 vendor/github.com/pkg/errors/LICENSE +sha256 e4646a82a976369d7ae8f6ed5c11d35dc0af18433a8ccc24c85b459ad8b95128 vendor/github.com/godbus/dbus/LICENSE # # BSD 3 Clause license. +sha256 16f848582e4b276a7392cd34496b7a33d6f65c0e190c163ff3a056a7c61219ce vendor/github.com/klauspost/compress/LICENSE sha256 2eb550be6801c1ea434feba53bf6d12e7c71c90253e0a9de4a4f46cf88b56477 vendor/github.com/pmezard/go-difflib/LICENSE sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 vendor/golang.org/x/crypto/LICENSE sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 vendor/golang.org/x/sys/LICENSE -sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 vendor/golang.org/x/net/LICENSE sha256 0634b008cee55ca01f0888d2f5aba2d34e66c3f52c31a4e16a5d5d33d0c2a03e vendor/github.com/bmatsuo/lmdb-go/LICENSE.md -sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 vendor/golang.org/x/text/LICENSE sha256 87640bc4df2ceb1559f268a3db1ba859ab780f7ba5b1b4545173d4680a3d918b vendor/github.com/remyoudompheng/go-liblzma/LICENSE # # ISC license. sha256 1b93a317849ee09d3d7e4f1d20c2b78ddb230b4becb12d7c224c927b9d470251 vendor/github.com/davecgh/go-spew/LICENSE # # MIT license. +sha256 6d2de1cde19c4d2bd8bcd9aaa1d581f4cfa3db9cf71896140330eaa2f2687685 vendor/github.com/klauspost/pgzip/LICENSE sha256 51a0c9ec7f8b7634181b8d4c03e5b5d204ac21d6e72f46c313973424664b2e6b vendor/github.com/sirupsen/logrus/LICENSE -sha256 dad2b0b2cc2dbdbf95ad5d800ef7588956e74dc2479014829d42be295125c25d vendor/github.com/stretchr/testify/LICENSE -sha256 402f39eed8a1851385d0703999aa9f23d067c2ea3e15c63c074e389cbf8f8f8f vendor/github.com/stretchr/testify/LICENCE.txt -sha256 fde7d610b9b95fc5a6304055c4dae951025b630aaa42a24e95ebf76675ae832c vendor/github.com/stretchr/objx/LICENSE.md +sha256 f8e536c1c7b695810427095dc85f5f80d44ff7c10535e8a9486cf393e2599189 vendor/github.com/stretchr/testify/LICENSE sha256 ffa15bdce332058a03a1d923910864fb6e58bf6df66a0e3914284725b327183e vendor/github.com/ungerik/go-sysfs/LICENSE -sha256 da277af11b85227490377fbcac6afccc68be560c4fff36ac05ca62de55345fd7 vendor/github.com/urfave/cli/LICENSE +sha256 da277af11b85227490377fbcac6afccc68be560c4fff36ac05ca62de55345fd7 vendor/github.com/urfave/cli/v2/LICENSE +sha256 b2663894033a05fd80261176cd8da1d72546e25842d5c1abcc852ca23b6b61b0 vendor/github.com/stretchr/objx/LICENSE +sha256 95b8ef9c4137a8f75ddd3101ffdc4cfd594fa875b261697b68baddc16b0e537c vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE +sha256 d18f6323b71b0b768bb5e9616e36da390fbd39369a81807cca352de4e4e6aa0b vendor/gopkg.in/yaml.v3/LICENSE +sha256 08eab1118c80885fa1fa6a6dd7303f65a379fcb3733e063d20d1bbc2c76e6fa1 vendor/github.com/mattn/go-isatty/LICENSE # # OpenLDAP Public License sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 vendor/github.com/bmatsuo/lmdb-go/LICENSE.mdb.md # sha256 of all the vendor licenses combined -sha256 39f8e574fa6d082b650a5d6159045cdec7c4662da6ccbd67271079904353b8d5 LIC_FILES_CHKSUM.sha256 +sha256 4f3541ea69b9b6e3959679576c146b42ba9a840a9dc4e593bff43e5e3a313d24 LIC_FILES_CHKSUM.sha256 diff --git a/package/mender/mender.mk b/package/mender/mender.mk index ca24b853b51..ddf3e43be28 100644 --- a/package/mender/mender.mk +++ b/package/mender/mender.mk @@ -4,7 +4,7 @@ # ################################################################################ -MENDER_VERSION = 2.3.0 +MENDER_VERSION = 3.1.0 MENDER_SITE = https://github.com/mendersoftware/mender/archive MENDER_SOURCE = $(MENDER_VERSION).tar.gz MENDER_LICENSE = Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, OLDAP-2.8 @@ -14,28 +14,33 @@ MENDER_LICENSE = Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, OLDAP-2.8 MENDER_LICENSE_FILES = \ LICENSE \ LIC_FILES_CHKSUM.sha256 \ - vendor/github.com/mendersoftware/mendertesting/LICENSE \ vendor/github.com/mendersoftware/mender-artifact/LICENSE \ + vendor/github.com/mendersoftware/openssl/LICENSE \ + vendor/github.com/minio/sha256-simd/LICENSE \ + vendor/github.com/mendersoftware/progressbar/LICENSE \ vendor/github.com/pkg/errors/LICENSE \ + vendor/github.com/godbus/dbus/LICENSE \ + vendor/github.com/klauspost/compress/LICENSE \ vendor/github.com/pmezard/go-difflib/LICENSE \ vendor/golang.org/x/crypto/LICENSE \ vendor/golang.org/x/sys/LICENSE \ - vendor/golang.org/x/net/LICENSE \ vendor/github.com/bmatsuo/lmdb-go/LICENSE.md \ - vendor/golang.org/x/text/LICENSE \ vendor/github.com/remyoudompheng/go-liblzma/LICENSE \ vendor/github.com/davecgh/go-spew/LICENSE \ + vendor/github.com/klauspost/pgzip/LICENSE \ vendor/github.com/sirupsen/logrus/LICENSE \ vendor/github.com/stretchr/testify/LICENSE \ - vendor/github.com/stretchr/testify/LICENCE.txt \ - vendor/github.com/stretchr/objx/LICENSE.md \ vendor/github.com/ungerik/go-sysfs/LICENSE \ - vendor/github.com/urfave/cli/LICENSE \ + vendor/github.com/urfave/cli/v2/LICENSE \ + vendor/github.com/stretchr/objx/LICENSE \ + vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE \ + vendor/gopkg.in/yaml.v3/LICENSE \ + vendor/github.com/mattn/go-isatty/LICENSE \ vendor/github.com/bmatsuo/lmdb-go/LICENSE.mdb.md -MENDER_DEPENDENCIES = xz +MENDER_DEPENDENCIES = host-pkgconf openssl -MENDER_LDFLAGS = -X main.Version=$(MENDER_VERSION) +MENDER_LDFLAGS = -X github.com/mendersoftware/mender/conf.Version=$(MENDER_VERSION) MENDER_UPDATE_MODULES_FILES = \ directory \ @@ -60,10 +65,10 @@ define MENDER_INSTALL_CONFIG_FILES $(TARGET_DIR)/usr/share/mender/inventory/mender-inventory-$(f) ) - $(INSTALL) -D -m 0755 package/mender/artifact_info \ + $(INSTALL) -D -m 0755 $(MENDER_PKGDIR)/artifact_info \ $(TARGET_DIR)/etc/mender/artifact_info - $(INSTALL) -D -m 0755 package/mender/device_type \ + $(INSTALL) -D -m 0755 $(MENDER_PKGDIR)/device_type \ $(TARGET_DIR)/etc/mender/device_type mkdir -p $(TARGET_DIR)/var/lib @@ -76,13 +81,33 @@ endef MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_CONFIG_FILES +ifeq ($(BR2_PACKAGE_XZ),y) +MENDER_DEPENDENCIES += xz +else +MENDER_TAGS += nolzma +endif + +ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_LIBGLIB2),yy) +MENDER_DEPENDENCIES += libglib2 +define MENDER_INSTALL_DBUS_AUTHENTICATION_MANAGER_CONF + $(INSTALL) -D -m 0755 $(@D)/support/dbus/io.mender.AuthenticationManager.conf \ + $(TARGET_DIR)/etc/dbus-1/system.d/io.mender.AuthenticationManager.conf + + $(INSTALL) -D -m 0755 $(@D)/support/dbus/io.mender.UpdateManager.conf \ + $(TARGET_DIR)/etc/dbus-1/system.d/io.mender.UpdateManager.conf +endef +MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_DBUS_AUTHENTICATION_MANAGER_CONF +else +MENDER_TAGS += nodbus +endif + define MENDER_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender-client.service \ $(TARGET_DIR)/usr/lib/systemd/system/mender-client.service endef define MENDER_INSTALL_INIT_SYSV - $(INSTALL) -D -m 755 package/mender/S42mender \ + $(INSTALL) -D -m 755 $(MENDER_PKGDIR)/S42mender \ $(TARGET_DIR)/etc/init.d/S42mender endef diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk index e9aa44dc2e3..6b5262a2e95 100644 --- a/package/mesa3d-demos/mesa3d-demos.mk +++ b/package/mesa3d-demos/mesa3d-demos.mk @@ -43,7 +43,7 @@ else MESA3D_DEMOS_CONF_OPTS += --disable-vg endif -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) +ifeq ($(BR2_PACKAGE_MESA3D_GBM),y) MESA3D_DEMOS_DEPENDENCIES += mesa3d MESA3D_DEMOS_CONF_OPTS += --enable-gbm else @@ -61,7 +61,7 @@ ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y) MESA3D_DEMOS_DEPENDENCIES += libfreeglut MESA3D_DEMOS_CONF_OPTS += --with-glut=$(STAGING_DIR)/usr # osmesa support depends on glut -ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y) +ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y) MESA3D_DEMOS_CONF_OPTS += --enable-osmesa else MESA3D_DEMOS_CONF_OPTS += --disable-osmesa diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index 6e2f0b5a796..871cf2f4957 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,12 +12,14 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 20.3.4 +MESA3D_HEADERS_VERSION = 21.3.5 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz -MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive +MESA3D_HEADERS_SITE = https://archive.mesa3d.org MESA3D_HEADERS_DL_SUBDIR = mesa3d MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos MESA3D_HEADERS_LICENSE_FILES = docs/license.rst +MESA3D_HEADERS_CPE_ID_VENDOR = mesa3d +MESA3D_HEADERS_CPE_ID_PRODUCT = mesa # Only installs header files MESA3D_HEADERS_INSTALL_STAGING = YES diff --git a/package/mesa3d/0003-vc4-add-meson-option-to-disable-optional-neon-suppor.patch b/package/mesa3d/0003-vc4-add-meson-option-to-disable-optional-neon-suppor.patch index 39e402361fc..bb5ef00a9fc 100644 --- a/package/mesa3d/0003-vc4-add-meson-option-to-disable-optional-neon-suppor.patch +++ b/package/mesa3d/0003-vc4-add-meson-option-to-disable-optional-neon-suppor.patch @@ -10,7 +10,7 @@ to force disabling it at compile time. [Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114] Signed-off-by: Peter Seiderer Signed-off-by: Bernd Kuhls -[rebased for 20.2.0 & 20.3.0] +[rebased for 20.2.0, 20.3.0 & 21.1.0] --- meson_options.txt | 7 +++++++ src/gallium/drivers/vc4/meson.build | 4 ++-- @@ -67,7 +67,7 @@ index 66767e7f1f8..7446f1c3d0c 100644 { -#ifdef USE_ARM_ASM +#ifdef VC4_TILING_LT_NEON - if (util_cpu_caps.has_neon) { + if (util_get_cpu_caps()->has_neon) { vc4_load_lt_image_neon(dst, dst_stride, src, src_stride, cpp, box); @@ -105,7 +105,7 @@ vc4_store_lt_image(void *dst, uint32_t dst_stride, @@ -76,7 +76,7 @@ index 66767e7f1f8..7446f1c3d0c 100644 { -#ifdef USE_ARM_ASM +#ifdef VC4_TILING_LT_NEON - if (util_cpu_caps.has_neon) { + if (util_get_cpu_caps()->has_neon) { vc4_store_lt_image_neon(dst, dst_stride, src, src_stride, cpp, box); -- diff --git a/package/mesa3d/0005-src-util-futex.h-fix-build-on-32-bit-architectures-u.patch b/package/mesa3d/0005-src-util-futex.h-fix-build-on-32-bit-architectures-u.patch new file mode 100644 index 00000000000..b01db8a4b48 --- /dev/null +++ b/package/mesa3d/0005-src-util-futex.h-fix-build-on-32-bit-architectures-u.patch @@ -0,0 +1,43 @@ +From e501b7c17ada9c694d3f8302622b78d733485b38 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 21 Aug 2021 17:55:33 +0200 +Subject: [PATCH] src/util/futex.h: fix build on 32-bit architectures using + 64-bit time_t + +Fix the following build failure on 32-bit architectures using 64-bit +time_t (e.g. riscv32): + +../src/util/futex.h: In function 'sys_futex': +../src/util/futex.h:39:19: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'? + 39 | return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); + | ^~~~~~~~~ + | sys_futex + +Fixes: + - http://autobuild.buildroot.org/results/692700a5f967760a0b8cd358b1712f1d5a7b681e + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12496] +--- + src/util/futex.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/util/futex.h b/src/util/futex.h +index 43097f4cd5b..221eda9db0c 100644 +--- a/src/util/futex.h ++++ b/src/util/futex.h +@@ -34,6 +34,10 @@ + #include + #include + ++#ifndef SYS_futex ++#define SYS_futex SYS_futex_time64 ++#endif ++ + static inline long sys_futex(void *addr1, int op, int val1, const struct timespec *timeout, void *addr2, int val3) + { + return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); +-- +2.32.0 + diff --git a/package/mesa3d/0006-fix-valist.patch b/package/mesa3d/0006-fix-valist.patch new file mode 100644 index 00000000000..84a254cec5b --- /dev/null +++ b/package/mesa3d/0006-fix-valist.patch @@ -0,0 +1,37 @@ +From f6892df8eb115fa712fd69068432b48b028e1e54 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 20 Nov 2021 22:48:54 +0100 +Subject: [PATCH] util/u_printf.h: fix build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build error with uClibc and gcc-9.3.0: + +In file included from ../src/util/u_printf.cpp:24: +../src/util/u_printf.h:43:41: error: ‘va_list’ has not been declared + 43 | size_t u_printf_length(const char *fmt, va_list untouched_args); + +Patch sent upstream: +https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13897 + +Signed-off-by: Bernd Kuhls +--- + src/util/u_printf.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/util/u_printf.h b/src/util/u_printf.h +index 44dcce5529f..14f324de10c 100644 +--- a/src/util/u_printf.h ++++ b/src/util/u_printf.h +@@ -25,6 +25,7 @@ + #ifdef __cplusplus + + #include ++#include + + /* find next valid printf specifier in a C++ std::string */ + size_t util_printf_next_spec_pos(const std::string &s, size_t pos); +-- +GitLab + diff --git a/package/mesa3d/0007-fix-cpp-detection.patch b/package/mesa3d/0007-fix-cpp-detection.patch new file mode 100644 index 00000000000..2e097277de2 --- /dev/null +++ b/package/mesa3d/0007-fix-cpp-detection.patch @@ -0,0 +1,40 @@ +From ab5519971a090863f8c559907766e0b2382e0471 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 20 Nov 2021 23:02:18 +0100 +Subject: [PATCH] c11_compat.h: fix uClibc build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build error with uClibc and gcc-9.3.0: + +../src/egl/main/egldisplay.c: In function ‘_eglGetNativePlatformFromEnv’: +../src/egl/main/egldisplay.c:101:4: error: implicit declaration of function ‘static_assert’ [-Werror=implicit-function-declaration] + 101 | static_assert(ARRAY_SIZE(egl_platforms) == _EGL_NUM_PLATFORMS, + +CC: 21.3 + +Patch sent upstream: +https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13898 + +Signed-off-by: Bernd Kuhls +--- + include/c11_compat.h | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/include/c11_compat.h b/include/c11_compat.h +index d35740f47a4..cdcd3f1f52f 100644 +--- a/include/c11_compat.h ++++ b/include/c11_compat.h +@@ -8,8 +8,6 @@ + + #if defined(__cplusplus) + /* This is C++ code, not C */ +-#elif (__STDC_VERSION__ >= 201112L) +- /* Already C11 */ + #else + + +-- +GitLab + diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index a96fd46bbe2..e41da562dcf 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -4,6 +4,7 @@ menuconfig BR2_PACKAGE_MESA3D depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_1 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_m68k || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # m68k needs gcc >= 7.x select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND @@ -53,20 +54,24 @@ config BR2_PACKAGE_MESA3D_OPENCL select BR2_PACKAGE_LIBCLC select BR2_PACKAGE_HAS_LIBOPENCL -# inform the .mk file of gallium, dri or vulkan driver selection +# inform the .mk file of gallium, dri, dri3 or vulkan driver selection +config BR2_PACKAGE_MESA3D_DRI3 + bool + select BR2_PACKAGE_XLIB_LIBXSHMFENCE + config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER bool select BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_MESA3D_DRI_DRIVER bool + select BR2_PACKAGE_MESA3D_DRI3 if \ + (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4 && \ + !BR2_RISCV_32) select BR2_PACKAGE_MESA3D_DRIVER select BR2_PACKAGE_MESA3D_GBM if \ !BR2_PACKAGE_MESA3D_OPENGL_GLX && \ - !BR2_PACKAGE_MESA3D_OPENGL_EGL && \ - !BR2_PACKAGE_MESA3D_OSMESA_CLASSIC - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ - (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4) + !BR2_PACKAGE_MESA3D_OPENGL_EGL config BR2_PACKAGE_MESA3D_VULKAN_DRIVER bool @@ -81,11 +86,6 @@ config BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_MESA3D_NEEDS_XA bool -# Quote from mesa3d meson.build: "kmsro driver requires one or more -# renderonly drivers (vc4, etnaviv, freedreno)". -config BR2_PACKAGE_MESA3D_GALLIUM_KMSRO - bool - # OpenGL GLX and Gallium VDPAU both needs X11 config BR2_PACKAGE_MESA3D_NEEDS_X11 bool @@ -101,11 +101,19 @@ config BR2_PACKAGE_MESA3D_NEEDS_X11 comment "Gallium drivers" +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS + bool "Gallium crocus driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + Mesa driver for gen4-7 Intel GPUs. + config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV bool "Gallium Etnaviv driver" + depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_ETNAVIV - select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO help Mesa driver for Vivante GPUs. @@ -117,9 +125,9 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO # can't see is just spurious. However, that dependency is about # the toolchain having sync4 primitives, which is always a given # for arm/aarch64. + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_FREEDRENO - select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO help Mesa driver for Freedreno GPUs. @@ -143,20 +151,11 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS help Mesa driver for iris-based Intel GPUs. -config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO - bool "Gallium KMSRO driver" - depends on BR2_PACKAGE_MESA3D_GALLIUM_KMSRO - help - Support various sorts of KMS displays with the - renderonly layer used to attach a GPU. - -comment "Gallium KMSRO needs one or more renderonly drivers" - depends on !BR2_PACKAGE_MESA3D_GALLIUM_KMSRO - config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA bool "Gallium lima driver" + depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER - select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO help Mesa driver for ARM Mali Utgard GPUs. @@ -171,8 +170,9 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST bool "Gallium panfrost driver" + depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER - select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO help Mesa driver for ARM Mali Midgard and Bifrost GPUs. @@ -242,15 +242,11 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST bool "Gallium swrast driver" - depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER help This is a software opengl implementation using the Gallium3D infrastructure. -comment "Gallium swrast: Only one swrast provider can be built" - depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST - config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA bool "Gallium tegra driver" select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER @@ -263,12 +259,13 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D bool "Gallium v3d driver" depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER - select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO - select BR2_PACKAGE_LIBDRM_VC4 + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 # runtime select BR2_PACKAGE_MESA3D_OPENGL_EGL help - Driver for Broadcom VC6 (rpi4) GPUs (needs kmsro and vc4). + Driver for Broadcom VC6 (rpi4) GPUs (needs vc4). It requires a kernel 4.18+ with DRM V3D support enabled: @@ -277,9 +274,10 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 bool "Gallium vc4 driver" - depends on BR2_arm || BR2_aarch64 + depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER - select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO select BR2_PACKAGE_LIBDRM_VC4 select BR2_PACKAGE_MESA3D_OPENGL_EGL help @@ -334,13 +332,6 @@ comment "Gallium XvMC state tracker needs X.org and gallium drivers r600 or nouv comment "DRI drivers" -config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST - bool "DRI swrast driver" - select BR2_PACKAGE_MESA3D_DRI_DRIVER - help - This is a software opengl implementation using the DRI - infrastructure. - config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915 bool "DRI i915 driver" depends on BR2_i386 || BR2_x86_64 @@ -387,29 +378,27 @@ comment "Vulkan drivers" config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL bool "Vulkan Intel driver" depends on BR2_i386 || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libxshmfence + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert - depends on BR2_PACKAGE_XORG7 # xorgproto + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER - select BR2_PACKAGE_XORGPROTO - select BR2_PACKAGE_XLIB_LIBXSHMFENCE help Vulkan driver for Intel hardware from Ivy Bridge onward. -comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.17" +comment "intel vulkan needs a glibc toolchain w/ headers >= 3.17" depends on BR2_i386 || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \ - !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7 + !BR2_TOOLCHAIN_USES_GLIBC comment "Off-screen Rendering" -config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC - bool "OSMesa (classic) library" +config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM + bool "OSMesa (Gallium) library" + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST help - The OSMesa classic API provides functions for - making off-screen renderings. + The OSMesa API provides functions for off-screen rendering. if BR2_PACKAGE_MESA3D_DRIVER @@ -419,6 +408,9 @@ config BR2_PACKAGE_MESA3D_GBM bool "gbm" depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \ || (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL) + select BR2_PACKAGE_HAS_LIBGBM + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF help Enable Generic Buffer Management (gbm) @@ -429,7 +421,8 @@ comment "gbm support needs a dri driver or a gallium driver w/ EGL support." config BR2_PACKAGE_MESA3D_OPENGL_GLX bool "OpenGL GLX" depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_HAS_LIBGL if !BR2_PACKAGE_LIBGLVND + select BR2_PACKAGE_LIBGLVND_DISPATCH_GL if BR2_PACKAGE_LIBGLVND select BR2_PACKAGE_MESA3D_NEEDS_X11 help Enable GLX graphic acceleration (OpenGL + X11). @@ -439,7 +432,9 @@ comment "OpenGL GLX support needs X11" config BR2_PACKAGE_MESA3D_OPENGL_EGL bool "OpenGL EGL" - select BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_MESA3D_DRI_DRIVER || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_HAS_LIBEGL if !BR2_PACKAGE_LIBGLVND + select BR2_PACKAGE_LIBGLVND_DISPATCH_EGL if BR2_PACKAGE_LIBGLVND select BR2_PACKAGE_HAS_LIBEGL_WAYLAND select BR2_PACKAGE_MESA3D_GBM help @@ -448,21 +443,25 @@ config BR2_PACKAGE_MESA3D_OPENGL_EGL config BR2_PACKAGE_MESA3D_OPENGL_ES bool "OpenGL ES" - select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HAS_LIBGLES if !BR2_PACKAGE_LIBGLVND + select BR2_PACKAGE_LIBGLVND_DISPATCH_GLES if BR2_PACKAGE_LIBGLVND help Use the Khronos OpenGL ES APIs. This is commonly used on embedded systems and represents a subset of the OpenGL API. endif # BR2_PACKAGE_MESA3D_DRIVER +config BR2_PACKAGE_PROVIDES_LIBGBM + default "mesa3d" if BR2_PACKAGE_MESA3D_GBM + config BR2_PACKAGE_PROVIDES_LIBGL - default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX + default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX && !BR2_PACKAGE_LIBGLVND config BR2_PACKAGE_PROVIDES_LIBEGL - default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL + default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL && !BR2_PACKAGE_LIBGLVND config BR2_PACKAGE_PROVIDES_LIBGLES - default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES + default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES && !BR2_PACKAGE_LIBGLVND config BR2_PACKAGE_PROVIDES_LIBOPENCL default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL @@ -473,3 +472,7 @@ comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_1 + +comment "mesa3d needs a toolchain w/ gcc >= 7" + depends on BR2_m68k + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index e7b375440d8..e36d798e21d 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2021-January/000618.html -sha256 dc21a987ec1ff45b278fe4b1419b1719f1968debbb80221480e44180849b4084 mesa-20.3.4.tar.xz -sha512 81c4d032213b4aef842f1594e0e89bc0045f7ca7ce5f267b62a0f8236eb12ab09c1f780d8b3776b3072f37cd0bd8829f8a1330a749ccf462471b262ef8097477 mesa-20.3.4.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2022-January/000660.html +sha256 d93b2a9d2464ee856d7637a07dff6b7cd950f295ad58518bb959f76882cf4a4c mesa-21.3.5.tar.xz +sha512 417d1787f8177567f0c547dde3e24212f7497f2fe7cdaa945fe998cd61ec0e9eb9388feb444e377c4fd8794b056af02aac28d1bbfb9527844391ba49e6893933 mesa-21.3.5.tar.xz # License -sha256 1361129baa4519b6ed27a1bf4aeee33a58b060bf7bb9b6ea415ecede04e35e46 docs/license.rst +sha256 998437f3f75f0c542046f83c1cb349408122268168fb13eb4ae6967aa18b7d98 docs/license.rst diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 5105727e8b3..5f080ff5fcc 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,11 +5,13 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 20.3.4 +MESA3D_VERSION = 21.3.5 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz -MESA3D_SITE = https://mesa.freedesktop.org/archive +MESA3D_SITE = https://archive.mesa3d.org MESA3D_LICENSE = MIT, SGI, Khronos MESA3D_LICENSE_FILES = docs/license.rst +MESA3D_CPE_ID_VENDOR = mesa3d +MESA3D_CPE_ID_PRODUCT = mesa MESA3D_INSTALL_STAGING = YES @@ -18,7 +20,7 @@ MESA3D_PROVIDES = MESA3D_DEPENDENCIES = \ host-bison \ host-flex \ - host-python3-mako \ + host-python-mako \ expat \ libdrm \ zlib @@ -33,6 +35,15 @@ ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y) MESA3D_CONF_OPTS += -Db_asneeded=false endif +ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y) +MESA3D_CONF_OPTS += -Ddri3=enabled +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) +MESA3D_DEPENDENCIES += xlib_libxshmfence +endif +else +MESA3D_CONF_OPTS += -Ddri3=disabled +endif + ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y) MESA3D_DEPENDENCIES += host-llvm llvm MESA3D_MESON_EXTRA_BINARIES += llvm-config='$(STAGING_DIR)/usr/bin/llvm-config' @@ -62,7 +73,10 @@ ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y) # dri : dri based GLX requires at least one DRI driver || dri based GLX requires shared-glapi # xlib : xlib conflicts with any dri driver # gallium-xlib : Gallium-xlib based GLX requires at least one gallium driver || Gallium-xlib based GLX requires softpipe or llvmpipe || gallium-xlib conflicts with any dri driver. -MESA3D_CONF_OPTS += -Dglx=dri +# Always enable glx-direct; without it, many GLX applications don't work. +MESA3D_CONF_OPTS += \ + -Dglx=dri \ + -Dglx-direct=true ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y) MESA3D_CONF_OPTS += -Dgallium-xa=enabled else @@ -83,11 +97,11 @@ endif # Drivers #Gallium Drivers +MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS) += crocus MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV) += etnaviv MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO) += freedreno MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915) += i915 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS) += iris -MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO) += kmsro MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA) += lima MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU) += nouveau MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST) += panfrost @@ -101,7 +115,6 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D) += v3d MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4) += vc4 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL) += virgl # DRI Drivers -MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST) += swrast MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915) += i915 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965) += i965 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU) += nouveau @@ -122,17 +135,10 @@ endif ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) MESA3D_CONF_OPTS += \ - -Ddri-drivers= -Ddri3=disabled -else -ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) -MESA3D_DEPENDENCIES += xlib_libxshmfence -MESA3D_CONF_OPTS += -Ddri3=enabled + -Ddri-drivers= else -MESA3D_CONF_OPTS += -Ddri3=disabled -endif MESA3D_CONF_OPTS += \ -Dshared-glapi=enabled \ - -Dglx-direct=true \ -Ddri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y)) endif @@ -140,18 +146,16 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),) MESA3D_CONF_OPTS += \ -Dvulkan-drivers= else -MESA3D_DEPENDENCIES += xlib_libxshmfence MESA3D_CONF_OPTS += \ - -Ddri3=enabled \ -Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y)) endif # APIs -ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y) -MESA3D_CONF_OPTS += -Dosmesa=classic +ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y) +MESA3D_CONF_OPTS += -Dosmesa=true else -MESA3D_CONF_OPTS += -Dosmesa=none +MESA3D_CONF_OPTS += -Dosmesa=false endif # Always enable OpenGL: @@ -162,9 +166,9 @@ MESA3D_CONF_OPTS += -Dopengl=true # we do not need libva support in mesa3d, therefore disable this option MESA3D_CONF_OPTS += -Dgallium-va=disabled -# libGL is only provided for a full xorg stack +# libGL is only provided for a full xorg stack, without libglvnd ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y) -MESA3D_PROVIDES += libgl +MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libgl) else define MESA3D_REMOVE_OPENGL_HEADERS rm -rf $(STAGING_DIR)/usr/include/GL/ @@ -202,7 +206,7 @@ MESA3D_CONF_OPTS += \ endif ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) -MESA3D_PROVIDES += libegl +MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libegl) MESA3D_CONF_OPTS += \ -Degl=enabled else @@ -211,7 +215,7 @@ MESA3D_CONF_OPTS += \ endif ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y) -MESA3D_PROVIDES += libgles +MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libgles) MESA3D_CONF_OPTS += -Dgles1=enabled -Dgles2=enabled else MESA3D_CONF_OPTS += -Dgles1=disabled -Dgles2=disabled @@ -259,4 +263,22 @@ else MESA3D_CONF_OPTS += -Dzstd=disabled endif +MESA3D_CFLAGS = $(TARGET_CFLAGS) + +# m68k needs 32-bit offsets in switch tables to build +ifeq ($(BR2_m68k),y) +MESA3D_CFLAGS += -mlong-jump-table-offsets +endif + +ifeq ($(BR2_PACKAGE_LIBGLVND),y) +ifneq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),) +MESA3D_DEPENDENCIES += libglvnd +MESA3D_CONF_OPTS += -Dglvnd=true +else +MESA3D_CONF_OPTS += -Dglvnd=false +endif +else +MESA3D_CONF_OPTS += -Dglvnd=false +endif + $(eval $(meson-package)) diff --git a/package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch b/package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch index 26399158911..9cedcd0942a 100644 --- a/package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch +++ b/package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch @@ -1,4 +1,4 @@ -From ea85465e608178080c3b4d51af9765a8c7c0dae3 Mon Sep 17 00:00:00 2001 +From c1359a49b61016031287d62f44a363cb76242c91 Mon Sep 17 00:00:00 2001 From: Matt Weber Date: Sat, 26 Oct 2019 09:17:29 -0500 Subject: [PATCH] Prefer ext static libs when --default-library=static @@ -22,19 +22,21 @@ http://autobuild.buildroot.net/results/db1740b4777f436324218c52bc7b08e5c21b667d/ http://autobuild.buildroot.net/results/c17/c17bbb12d9deadd64a441b36e324cfbbe8aba5be/ Signed-off-by: Matthew Weber +[Updated for 0.57.1 - get_builtin_option() vs. get_option(OptionKey())] +Signed-off-by: Peter Seiderer --- mesonbuild/compilers/mixins/clike.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py -index 47e97d261..729c98acc 100644 +index 09ad837b1..b7f6b9f22 100644 --- a/mesonbuild/compilers/mixins/clike.py +++ b/mesonbuild/compilers/mixins/clike.py -@@ -940,6 +940,9 @@ class CLikeCompiler: +@@ -978,6 +978,9 @@ class CLikeCompiler(Compiler): elif env.machines[self.for_machine].is_cygwin(): shlibext = ['dll', 'dll.a'] prefixes = ['cyg'] + prefixes -+ elif env.coredata.get_builtin_option('default_library') == 'static': ++ elif env.coredata.get_option(OptionKey('default_library')) == 'static': + # Linux/BSDs + shlibext = ['a'] else: diff --git a/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch b/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch index eda17cadc58..8e15d3210cf 100644 --- a/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch +++ b/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch @@ -1,4 +1,4 @@ -From 8622d37587169c1e4a4206a9462868ede057f0e8 Mon Sep 17 00:00:00 2001 +From 3d6a2db2270346236dd6247e0648ea0c949ba468 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 15 Feb 2020 15:13:59 +0100 Subject: [PATCH] mesonbuild/dependencies/base.py: add pkg_config_static @@ -18,24 +18,26 @@ Fixes: Signed-off-by: Fabrice Fontaine [Romain: Fix if condition, pkg_config_static is a string not a boolean] Signed-off-by: Romain Naour +[Rebased on 0.57.1] +Signed-off-by: Peter Seiderer --- - mesonbuild/dependencies/base.py | 3 ++- + mesonbuild/dependencies/pkgconfig.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py -index 23701da95..83e51626d 100644 ---- a/mesonbuild/dependencies/base.py -+++ b/mesonbuild/dependencies/base.py -@@ -849,7 +849,8 @@ class PkgConfigDependency(ExternalDependency): - def _set_libs(self): +diff --git a/mesonbuild/dependencies/pkgconfig.py b/mesonbuild/dependencies/pkgconfig.py +index 1e8d9132e..d902ba215 100644 +--- a/mesonbuild/dependencies/pkgconfig.py ++++ b/mesonbuild/dependencies/pkgconfig.py +@@ -338,7 +338,8 @@ class PkgConfigDependency(ExternalDependency): env = None - libcmd = [self.name, '--libs'] + libcmd = ['--libs'] + - if self.static: + if self.static or \ -+ (self.env.properties[self.for_machine].get('pkg_config_static', None) == 'true'): ++ (self.env.properties[self.for_machine].get('pkg_config_static', None) == 'true'): libcmd.append('--static') - # Force pkg-config to output -L fields even if they are system - # paths so we can do manual searching with cc.find_library() later. + + libcmd.append(self.name) -- 2.25.1 diff --git a/package/meson/cross-compilation.conf.in b/package/meson/cross-compilation.conf.in deleted file mode 100644 index 37b49eea3b6..00000000000 --- a/package/meson/cross-compilation.conf.in +++ /dev/null @@ -1,31 +0,0 @@ -# Note: Buildroot's and Meson's terminologies differ about the meaning -# of 'build', 'host' and 'target': -# - Buildroot's 'host' is Meson's 'build' -# - Buildroot's 'target' is Meson's 'host' - -[binaries] -c = '@TARGET_CROSS@gcc' -cpp = '@TARGET_CROSS@g++' -ar = '@TARGET_CROSS@ar' -strip = '@TARGET_CROSS@strip' -pkgconfig = '@HOST_DIR@/bin/pkgconf' -g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler' -g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner' - -[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 -sys_root = '@STAGING_DIR@' -pkg_config_libdir = '@STAGING_DIR@/usr/lib/pkgconfig:@STAGING_DIR@/usr/share/pkgconfig' -pkg_config_static = '@STATIC@' - -[host_machine] -system = 'linux' -cpu_family = '@TARGET_ARCH@' -cpu = '@TARGET_CPU@' -endian = '@TARGET_ENDIAN@' diff --git a/package/meson/meson.hash b/package/meson/meson.hash index e07b914be55..8389adb2436 100644 --- a/package/meson/meson.hash +++ b/package/meson/meson.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://github.com/mesonbuild/meson/releases/download/0.56.0/meson-0.56.2.tar.gz.asc -sha256 3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4 meson-0.56.2.tar.gz +# https://github.com/mesonbuild/meson/releases/download/0.61.4/meson-0.61.4.tar.gz.asc +sha256 4e3733ddc66bac38e38c63b739c9b8b8fc5a866de5333396b0c85c2b144ddee9 meson-0.61.4.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/meson/meson.mk b/package/meson/meson.mk index 7e39883db3e..e9c31451839 100644 --- a/package/meson/meson.mk +++ b/package/meson/meson.mk @@ -4,52 +4,13 @@ # ################################################################################ -MESON_VERSION = 0.56.2 +MESON_VERSION = 0.61.4 MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) MESON_LICENSE = Apache-2.0 MESON_LICENSE_FILES = COPYING MESON_SETUP_TYPE = setuptools HOST_MESON_DEPENDENCIES = host-ninja -HOST_MESON_NEEDS_HOST_PYTHON = python3 - -HOST_MESON_TARGET_ENDIAN = $(call qstrip,$(call LOWERCASE,$(BR2_ENDIAN))) -HOST_MESON_TARGET_CPU = $(GCC_TARGET_CPU) - -# https://mesonbuild.com/Reference-tables.html#cpu-families -ifeq ($(BR2_arcle)$(BR2_arceb),y) -HOST_MESON_TARGET_CPU_FAMILY = arc -else ifeq ($(BR2_arm)$(BR2_armeb),y) -HOST_MESON_TARGET_CPU_FAMILY = arm -else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) -HOST_MESON_TARGET_CPU_FAMILY = aarch64 -else ifeq ($(BR2_i386),y) -HOST_MESON_TARGET_CPU_FAMILY = x86 -else ifeq ($(BR2_m68k),y) -HOST_MESON_TARGET_CPU_FAMILY = m68k -else ifeq ($(BR2_microblazeel)$(BR2_microblazebe),y) -HOST_MESON_TARGET_CPU_FAMILY = microblaze -else ifeq ($(BR2_mips)$(BR2_mipsel),y) -HOST_MESON_TARGET_CPU_FAMILY = mips -else ifeq ($(BR2_mips64)$(BR2_mips64el),y) -HOST_MESON_TARGET_CPU_FAMILY = mips64 -else ifeq ($(BR2_powerpc),y) -HOST_MESON_TARGET_CPU_FAMILY = ppc -else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) -HOST_MESON_TARGET_CPU_FAMILY = ppc64 -else ifeq ($(BR2_riscv),y) -HOST_MESON_TARGET_CPU_FAMILY = riscv64 -else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y) -HOST_MESON_TARGET_CPU_FAMILY = sh4 -else ifeq ($(BR2_sparc),y) -HOST_MESON_TARGET_CPU_FAMILY = sparc -else ifeq ($(BR2_sparc64),y) -HOST_MESON_TARGET_CPU_FAMILY = sparc64 -else ifeq ($(BR2_x86_64),y) -HOST_MESON_TARGET_CPU_FAMILY = x86_64 -else -HOST_MESON_TARGET_CPU_FAMILY = $(ARCH) -endif # Avoid interpreter shebang longer than 128 chars define HOST_MESON_SET_INTERPRETER diff --git a/package/mg/0001-src-def.h-fix-build-with-gcc-10.patch b/package/mg/0001-src-def.h-fix-build-with-gcc-10.patch deleted file mode 100644 index d88e2f44f00..00000000000 --- a/package/mg/0001-src-def.h-fix-build-with-gcc-10.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 29c83c917bd4f5d0c37ff0ab5da1a85762bd5530 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 5 Sep 2020 14:50:20 +0200 -Subject: [PATCH] src/def.h: fix build with gcc 10 - -Define hlp as extern to avoid the following build failure with gcc 10 -(which defaults to -fno-common): - - CCLD mg -/home/buildroot/autobuild/run/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: mg-bell.o:(.bss+0x0): multiple definition of `hlp'; mg-basic.o:(.bss+0x0): first defined here - -Fixes: - - http://autobuild.buildroot.org/results/aacc02abf41e120e0d0b22faa38642e6d149d73f - -[backport of upstream 29c83c917bd4f5d0c37ff0ab5da1a85762bd5530] -Signed-off-by: Fabrice Fontaine -[yann.morin.1998@free.fr: backport actual patch after MR was accepted] -Signed-off-by: Yann E. MORIN ---- - src/def.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/def.h b/src/def.h -index e4c049c..cd59725 100644 ---- a/src/def.h -+++ b/src/def.h -@@ -650,7 +650,7 @@ int excline(char *); - char *skipwhite(char *); - - /* help.c X */ --const char *hlp; -+extern const char *hlp; - int desckey(int, int); - int wallchart(int, int); - int help_help(int, int); --- -2.28.0 - diff --git a/package/mg/mg.hash b/package/mg/mg.hash index 758a5232d48..9257daf5ac6 100644 --- a/package/mg/mg.hash +++ b/package/mg/mg.hash @@ -1,5 +1,4 @@ -# From https://github.com/troglobit/mg/releases/tag/v3.4 -md5 6b79855d54770bcb23e5457ebde8296c mg-3.4.tar.gz +# From https://github.com/troglobit/mg/releases/tag/v3.5 +sha256 a906eab9370c0f24a5fa25923561ad933b74ad339d0b2851d2067badf0d7e4ce mg-3.5.tar.gz # Locally computed: -sha256 1a620cf5b2dd4b00006d6c929ac8e2a70eeab5f807a0d6e5334b878aa182b713 mg-3.4.tar.gz sha256 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c UNLICENSE diff --git a/package/mg/mg.mk b/package/mg/mg.mk index e3b79da0061..bb3f59a14da 100644 --- a/package/mg/mg.mk +++ b/package/mg/mg.mk @@ -4,7 +4,7 @@ # ################################################################################ -MG_VERSION = 3.4 +MG_VERSION = 3.5 MG_SITE = https://github.com/troglobit/mg/releases/download/v$(MG_VERSION) MG_LICENSE = Public Domain MG_LICENSE_FILES = UNLICENSE diff --git a/package/micropython/micropython.hash b/package/micropython/micropython.hash index 5dfbb74522b..d5045e8f275 100644 --- a/package/micropython/micropython.hash +++ b/package/micropython/micropython.hash @@ -1,3 +1,3 @@ #locally computed -sha256 31466dacebeb3af60dc80a071a07c3e15b657219a826e0b6ac741f9f22472f23 micropython-1.13.tar.gz -sha256 4b8a8884a60cd72749f9ef40328b85b40d13c22594c01352e0a55392141e0f89 LICENSE +sha256 c21dbf8144237b3dbe3847c9ad5264cd0f3104eb078c810b3986004cce8fcd70 micropython-1.17.tar.gz +sha256 59b1f0947a87c90d0d29dbe2c8deb3d1f8263bbbd2fb5ebcc79a649cff6dfcba LICENSE diff --git a/package/micropython/micropython.mk b/package/micropython/micropython.mk index a126b3eeae8..55c00ba08af 100644 --- a/package/micropython/micropython.mk +++ b/package/micropython/micropython.mk @@ -4,11 +4,14 @@ # ################################################################################ -MICROPYTHON_VERSION = 1.13 +MICROPYTHON_VERSION = 1.17 MICROPYTHON_SITE = $(call github,micropython,micropython,v$(MICROPYTHON_VERSION)) -MICROPYTHON_LICENSE = MIT +# Micropython has a lot of code copied from other projects, and also a number +# of submodules for various libs. However, we don't even clone the submodules, +# and most of the copied code is not used in the unix build. +MICROPYTHON_LICENSE = MIT, BSD-1-Clause, BSD-3-Clause, Zlib MICROPYTHON_LICENSE_FILES = LICENSE -MICROPYTHON_DEPENDENCIES = host-pkgconf libffi $(BR2_PYTHON3_HOST_DEPENDENCY) +MICROPYTHON_DEPENDENCIES = host-pkgconf libffi host-python3 # Set GIT_DIR so package won't use buildroot's version number MICROPYTHON_MAKE_ENV = \ @@ -21,6 +24,11 @@ ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb),) MICROPYTHON_CFLAGS = -DMICROPY_GCREGS_SETJMP=1 endif +# xtensa has problems with nlr_push, use setjmp based implementation instead +ifeq ($(BR2_xtensa),y) +MICROPYTHON_CFLAGS = -DMICROPY_NLR_SETJMP=1 +endif + # When building from a tarball we don't have some of the dependencies that are in # the git repository as submodules MICROPYTHON_MAKE_OPTS += \ diff --git a/package/midori/0001-disable-vala-fatal-warnings.patch b/package/midori/0001-disable-vala-fatal-warnings.patch new file mode 100644 index 00000000000..c3f245f1418 --- /dev/null +++ b/package/midori/0001-disable-vala-fatal-warnings.patch @@ -0,0 +1,30 @@ +From be91b1260d3215119e4ab5b19012ab80d6ff788d Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 11 Oct 2021 16:58:34 -0700 +Subject: [PATCH] disable vala fatal warnings + +When building midori in a buildroot directory cloned from git, the git +descript --tags command return tags from buildroot, which in turn sets +the --fatal-warnings flag. Disable --fatal-warnings unconditionally. + +Signed-off-by: Adam Duskett +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8e72f08..39941e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,7 +18,7 @@ execute_process(COMMAND "git" "describe" "--tags" + if (REVISION) + set(CORE_VERSION "${REVISION}") + # All warnings are errors in development builds +- set(VALAFLAGS ${VALAFLAGS} --fatal-warnings) ++ set(VALAFLAGS ${VALAFLAGS} --disable-assert) + else () + # No runtime type checks + set(VALAFLAGS ${VALAFLAGS} --disable-assert) +-- +2.30.2 + diff --git a/package/midori/0001-fix-bug-1492932.patch b/package/midori/0001-fix-bug-1492932.patch deleted file mode 100644 index 27ad283a589..00000000000 --- a/package/midori/0001-fix-bug-1492932.patch +++ /dev/null @@ -1,44 +0,0 @@ -Fix for https://bugs.launchpad.net/midori/+bug/1492932 -Patch status: upstream - -Signed-off-by: Gustavo Zacarias - ---- a/midori/midori-browser.c 2015-07-11 16:03:43 +0000 -+++ b/midori/midori-browser.c 2015-09-25 21:30:31 +0000 -@@ -5953,11 +5953,6 @@ - G_CALLBACK (midori_browser_destroy_cb), NULL); - gtk_window_set_role (GTK_WINDOW (browser), "browser"); - gtk_window_set_icon_name (GTK_WINDOW (browser), MIDORI_STOCK_WEB_BROWSER); -- #if GTK_CHECK_VERSION (3, 4, 0) -- #ifndef HAVE_GRANITE -- gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (browser), TRUE); -- #endif -- #endif - vbox = gtk_vbox_new (FALSE, 0); - /* gtk_container_add (GTK_CONTAINER (browser), vbox); - gtk_widget_show (vbox); */ - ---- a/midori/midori-view.c 2015-07-06 21:26:46 +0000 -+++ b/midori/midori-view.c 2015-09-25 21:30:31 +0000 -@@ -3495,9 +3495,6 @@ - } - else - gtk_window_set_icon_name (GTK_WINDOW (window), icon_name); -- #if GTK_CHECK_VERSION (3, 4, 0) -- gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE); -- #endif - gtk_widget_set_size_request (GTK_WIDGET (inspector_view), 700, 100); - #if GTK_CHECK_VERSION (3, 0, 0) - scrolled = gtk_scrolled_window_new (NULL, NULL); - ---- a/midori/midori-window.vala 2015-08-16 00:14:26 +0000 -+++ b/midori/midori-window.vala 2015-09-25 21:30:31 +0000 -@@ -28,7 +28,6 @@ - toolbar.show_arrow = true; - #if HAVE_GTK3 - toolbar.get_style_context ().add_class ("primary-toolbar"); -- hide_titlebar_when_maximized = true; - #endif - toolbar.popup_context_menu.connect ((x, y, button) => { - return button == 3 && context_menu (toolbar); }); - diff --git a/package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch b/package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch new file mode 100644 index 00000000000..4bbcbaaf125 --- /dev/null +++ b/package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch @@ -0,0 +1,37 @@ +From 118ac24b2c488f490ee8814336291a58eae45395 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 12 Oct 2021 13:21:19 -0700 +Subject: [PATCH] add option to specify path to g-ir-compiler + +By default, find_program (GIR_COMPILER_BIN g-ir-compiler) returns the host path +to g-ir-compiler, which is undesirable in a cross-compile environment. + +Add an option to manually specify a path to the g-ir-compiler. + +Signed-off-by: Adam Duskett +--- + core/CMakeLists.txt | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index c4982de..6584229 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -66,7 +66,13 @@ set_target_properties("${LIBCORE}" PROPERTIES + VERSION ${LIBCORE_VERSION} + ) + +-find_program (GIR_COMPILER_BIN g-ir-compiler) ++option(GIR_COMPILER_PATH "Specify a path to g-ir-compiler" OFF) ++if(GIR_COMPILER_PATH) ++ set(GIR_COMPILER_BIN "${GIR_COMPILER_PATH}") ++else() ++ find_program (GIR_COMPILER_BIN g-ir-compiler) ++endif(GIR_COMPILER_PATH) ++ + add_custom_target(${LIBCORE_GIR}.typelib ALL + COMMAND ${GIR_COMPILER_BIN} ${CMAKE_CURRENT_BINARY_DIR}/${LIBCORE_GIR}.gir + --output ${CMAKE_CURRENT_BINARY_DIR}/${LIBCORE_GIR}.typelib +-- +2.30.2 + diff --git a/package/midori/0002-gcr-for-x11-only.patch b/package/midori/0002-gcr-for-x11-only.patch deleted file mode 100644 index 85e769765f2..00000000000 --- a/package/midori/0002-gcr-for-x11-only.patch +++ /dev/null @@ -1,32 +0,0 @@ -GCR support only works/is useful with X11 support. - -Reported upstream: https://bugs.launchpad.net/midori/+bug/1515985 - -Signed-off-by: Gustavo Zacarias - -diff -Nura midori-0.5.11.orig/CMakeLists.txt midori-0.5.11/CMakeLists.txt ---- midori-0.5.11.orig/CMakeLists.txt 2015-11-12 13:41:02.045898814 -0300 -+++ midori-0.5.11/CMakeLists.txt 2015-11-12 14:00:09.765545018 -0300 -@@ -175,18 +175,14 @@ - set(PKGS ${PKGS} zeitgeist-2.0) - endif() - --if (WIN32) -- add_definitions("-DGCR_VERSION=\"No\"") --else () -- if (USE_GTK3) -- pkg_check_modules(GCR REQUIRED gcr-3>=2.32) -- else () -- pkg_check_modules(GCR REQUIRED gcr-base-3>=2.32) -- endif () -+if (USE_GTK3 AND X11) -+ pkg_check_modules(GCR REQUIRED gcr-3>=2.32) - add_definitions("-DGCR_VERSION=\"${GCR_VERSION}\"") - add_definitions("-DHAVE_GCR") - set(OPTS_INCLUDE_DIRS ${OPTS_INCLUDE_DIRS} ${GCR_INCLUDE_DIRS}) - set(OPTS_LIBRARIES ${OPTS_LIBRARIES} ${GCR_LIBRARIES}) -+else () -+ add_definitions("-DGCR_VERSION=\"No\"") - endif () - - if (HALF_BRO_INCOM_WEBKIT2) diff --git a/package/midori/Config.in b/package/midori/Config.in index e2cc2ac612b..715295e5a62 100644 --- a/package/midori/Config.in +++ b/package/midori/Config.in @@ -1,31 +1,52 @@ -comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 7, host gcc >= 4.9" +config BR2_PACKAGE_MIDORI_ARCH_SUPPORTS + bool + default y + depends on BR2_USE_MMU depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 || \ + depends on !BR2_BINFMT_FLAT # webkitgtk -> icu + +comment "midori needs a glibc toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 8" + depends on BR2_PACKAGE_MIDORI_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_USES_GLIBC + !BR2_HOST_GCC_AT_LEAST_8 || \ + !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS || !BR2_USE_WCHAR + +comment "midori needs libgtk3 w/ X11 or wayland backend" + depends on BR2_PACKAGE_MIDORI_ARCH_SUPPORTS + depends on !BR2_PACKAGE_LIBGTK3_X11 && \ + !BR2_PACKAGE_LIBGTK3_WAYLAND config BR2_PACKAGE_MIDORI bool "midori" - depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-librsvg - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, gcr, gnupg2 - depends on BR2_PACKAGE_LIBGTK3 - depends on BR2_HOST_GCC_AT_LEAST_4_9 # webkitgtk + depends on BR2_PACKAGE_MIDORI_ARCH_SUPPORTS + depends on !BR2_STATIC_LIBS # webkitgtk depends on BR2_INSTALL_LIBSTDCPP # webkitgtk + depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # webkitgtk depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk - depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS - # GCR can only be used with the X11 backend - select BR2_PACKAGE_GCR if BR2_PACKAGE_LIBGTK3_X11 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk3 + depends on BR2_USE_WCHAR # granite, gcr, libsoup, libpeas, gobject-introspection + depends on BR2_PACKAGE_LIBGTK3 + depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK3_WAYLAND + select BR2_PACKAGE_GCR select BR2_PACKAGE_GRANITE + select BR2_PACKAGE_JSON_GLIB + select BR2_PACKAGE_LIBARCHIVE + select BR2_PACKAGE_LIBPEAS + select BR2_PACKAGE_LIBPEAS_WIDGETS select BR2_PACKAGE_LIBSOUP - select BR2_PACKAGE_LIBSOUP_GNOME select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_PYTHON3 # gobject-introspection select BR2_PACKAGE_SQLITE select BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Midori is a lightweight web browser based on WebKit - http://www.midori-browser.org/ + https://github.com/midori-browser/core diff --git a/package/midori/midori.hash b/package/midori/midori.hash index d8fd1b7a266..f14ec6d9292 100644 --- a/package/midori/midori.hash +++ b/package/midori/midori.hash @@ -1,5 +1,3 @@ -# From download link @ http://midori-browser.org/download/source/ -sha1 64c86935028feb5f89d799c2acacaad67764da6f midori_0.5.11_all_.tar.bz2 - # Locally computed +sha256 5e0a531455c47b0ff7589940aa2b0d9c16f59c99ba933e5fcdcab68114262016 midori-v9.0.tar.gz sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/midori/midori.mk b/package/midori/midori.mk index eebec815c07..aeafa9bfdc2 100644 --- a/package/midori/midori.mk +++ b/package/midori/midori.mk @@ -4,9 +4,9 @@ # ################################################################################ -MIDORI_VERSION = 0.5.11 -MIDORI_SOURCE = midori_$(MIDORI_VERSION)_all_.tar.bz2 -MIDORI_SITE = http://midori-browser.org/downloads +MIDORI_VERSION = 9.0 +MIDORI_SOURCE = midori-v$(MIDORI_VERSION).tar.gz +MIDORI_SITE = https://github.com/midori-browser/core/releases/download/v$(MIDORI_VERSION) MIDORI_LICENSE = LGPL-2.1+ MIDORI_LICENSE_FILES = COPYING MIDORI_CPE_ID_VENDOR = midori-browser @@ -15,10 +15,14 @@ MIDORI_DEPENDENCIES = \ host-librsvg \ host-pkgconf \ host-vala \ - host-python \ - $(if $(BR2_PACKAGE_LIBGTK3_X11),gcr) \ + host-python3 \ + gcr \ + gobject-introspection \ granite \ + json-glib \ + libarchive \ libgtk3 \ + libpeas \ libsoup \ libxml2 \ sqlite \ @@ -26,10 +30,6 @@ MIDORI_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) -MIDORI_CONF_OPTS = \ - -DHALF_BRO_INCOM_WEBKIT2=ON \ - -DUSE_GRANITE=ON \ - -DUSE_GTK3=ON \ - -DUSE_ZEITGEIST=OFF +MIDORI_CONF_OPTS += -DGIR_COMPILER_PATH=$(STAGING_DIR)/usr/bin/g-ir-compiler $(eval $(cmake-package)) diff --git a/package/mimic/0001-Fix-linking-on-gcc-10.2.0-or-newer.patch b/package/mimic/0001-Fix-linking-on-gcc-10.2.0-or-newer.patch new file mode 100644 index 00000000000..ea02bf587e0 --- /dev/null +++ b/package/mimic/0001-Fix-linking-on-gcc-10.2.0-or-newer.patch @@ -0,0 +1,27 @@ +From 77b36eaeb2c38eba571b8db7e9bb0fd507774e6d Mon Sep 17 00:00:00 2001 +From: Kris Gesling +Date: Tue, 11 May 2021 09:15:22 +0930 +Subject: [PATCH] Fix linking on gcc 10.2.0 or newer + +Co-authored-by: MichaelSabal + +[Retrieved from: +https://github.com/MycroftAI/mimic1/commit/77b36eaeb2c38eba571b8db7e9bb0fd507774e6d] +Signed-off-by: Fabrice Fontaine +--- + lang/cmu_indic_lang/cmu_indic_lang.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lang/cmu_indic_lang/cmu_indic_lang.h b/lang/cmu_indic_lang/cmu_indic_lang.h +index 75ee46c..83e2afa 100644 +--- a/lang/cmu_indic_lang/cmu_indic_lang.h ++++ b/lang/cmu_indic_lang/cmu_indic_lang.h +@@ -51,7 +51,7 @@ void cmu_indic_lang_init(cst_voice *v); + extern const cst_phoneset cmu_indic_phoneset; + extern const cst_cart cmu_indic_phrasing_cart; + +-const cst_regex * const cst_rx_not_indic; ++extern const cst_regex * const cst_rx_not_indic; + + #ifdef __cplusplus + } /* extern "C" */ diff --git a/package/minetest-game/minetest-game.hash b/package/minetest-game/minetest-game.hash index 1d22b62fc84..3f057e4ee5f 100644 --- a/package/minetest-game/minetest-game.hash +++ b/package/minetest-game/minetest-game.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 06c6c1d4b97af211dd0fa518a3e68a205f594e9816a4b2477e48d4d21d278e2d minetest-game-5.3.0.tar.gz +sha256 b4bfa0755b88230cf4bdb6af6a0951dd1248f6cdf87fecc340e43ac12c80b0b2 minetest-game-5.4.1.tar.gz sha256 f8a254e8d5f6b3ca3873f990986e86c864f943aa5dc9bf56808c5f4bfa509db0 LICENSE.txt sha256 ed2afed388c470e08edc1104e4ff6d12b68a32a76b8c52d760a99d4d2d7716f3 mods/beds/license.txt @@ -22,7 +22,7 @@ sha256 d92ac36a0235f4c02f8cfe2137d7d632bd53374c44ead97f20c152dddf475837 mods/f sha256 ffbac006d197fcb8e36e9cdda638053ac80eef4e6446bbe36cb94bd28f54ba0b mods/game_commands/license.txt sha256 857f64cd62c13e27f25363584342fe049885b16c6b2392f1ebd7c3a7fb6ca436 mods/give_initial_stuff/license.txt sha256 dcbab8d7dc4137789958d19471807b37447fd303bced310d7d76d901eefca8ff mods/map/license.txt -sha256 65133ccf7fb7bf8ffe5e9bc148b193af7362bba925b15ab507da28494156297a mods/player_api/license.txt +sha256 88385cd60d15c4fb4856c3c4c551c76c30958268c5c1160c1aa4e520c037a623 mods/player_api/license.txt sha256 0066e63d682d54a014ad3359794365a1abb87562d2b1e5e32093976d88c295b4 mods/screwdriver/license.txt sha256 b903866d052774e4127952690ce62ca26aa5bc4c2ddd48fceae501fa0d24ed74 mods/sethome/license.txt sha256 478b9944a446b4d88496d10736ddcd8ad5a3ca52f8b75f747315583d4012cb3c mods/sfinv/license.txt diff --git a/package/minetest-game/minetest-game.mk b/package/minetest-game/minetest-game.mk index 7f1927b78ea..df118b9e529 100644 --- a/package/minetest-game/minetest-game.mk +++ b/package/minetest-game/minetest-game.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINETEST_GAME_VERSION = 5.3.0 +MINETEST_GAME_VERSION = 5.4.1 MINETEST_GAME_SITE = $(call github,minetest,minetest_game,$(MINETEST_GAME_VERSION)) MINETEST_GAME_LICENSE = LGPL-2.1+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, \ CC-BY-SA-4.0, MIT, CC0 1.0, CC-BY-2.0 (mods) diff --git a/package/minetest/0001-Fix-build-for-newer-versions-of-GCC-11246.patch b/package/minetest/0001-Fix-build-for-newer-versions-of-GCC-11246.patch new file mode 100644 index 00000000000..35102a077b4 --- /dev/null +++ b/package/minetest/0001-Fix-build-for-newer-versions-of-GCC-11246.patch @@ -0,0 +1,35 @@ +From a327c06f5dee9f432666b503203fd15e4ccafc1b Mon Sep 17 00:00:00 2001 +From: lhofhansl +Date: Thu, 6 May 2021 10:24:30 -0700 +Subject: [PATCH] Fix build for newer versions of GCC (#11246) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +(cherry picked from commit 7c2826cbc0f36027d4a9781f433150d1c5d0d03f) + +Fixes: + +minetest-5.4.1/src/clientiface.h:444:36: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type + 444 | ClientInterface(const std::shared_ptr &con); + +Signed-off-by: Romain Naour +--- + src/clientiface.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/clientiface.h b/src/clientiface.h +index cc5292b71..dfd976741 100644 +--- a/src/clientiface.h ++++ b/src/clientiface.h +@@ -31,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc., + #include + #include + #include ++#include + #include + + class MapBlock; +-- +2.31.1 + diff --git a/package/minetest/minetest.hash b/package/minetest/minetest.hash index 3459c9d1a5b..7eb57cb2a9c 100644 --- a/package/minetest/minetest.hash +++ b/package/minetest/minetest.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 65dc2049f24c93fa544500f310a61e289c1b8fa47bf60877b746a2c27a7238d6 minetest-5.3.0.tar.gz +sha256 de9e4410583c845c104b4be25f9d0b8743d8573c120149b8910ae2519f9ab14e minetest-5.4.1.tar.gz -sha256 d2a488e385226c5b865219c6acc2aa98ba2e01e74dd0ac9dd8c0663bbbe31eb1 LICENSE.txt +sha256 5bc4bb4ff369d5039bcfff5a83a378335240ca86c58299e7de25097153c70132 LICENSE.txt diff --git a/package/minetest/minetest.mk b/package/minetest/minetest.mk index d120353a5fa..e046ec2851a 100644 --- a/package/minetest/minetest.mk +++ b/package/minetest/minetest.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINETEST_VERSION = 5.3.0 +MINETEST_VERSION = 5.4.1 MINETEST_SITE = $(call github,minetest,minetest,$(MINETEST_VERSION)) MINETEST_LICENSE = LGPL-2.1+ (code), CC-BY-SA-3.0 (textures and sounds) MINETEST_LICENSE_FILES = LICENSE.txt diff --git a/package/mini-snmpd/mini-snmpd.mk b/package/mini-snmpd/mini-snmpd.mk index 570241c2560..1f6e5c19198 100644 --- a/package/mini-snmpd/mini-snmpd.mk +++ b/package/mini-snmpd/mini-snmpd.mk @@ -8,6 +8,8 @@ MINI_SNMPD_VERSION = 1.6 MINI_SNMPD_SITE = $(call github,troglobit,mini-snmpd,v$(MINI_SNMPD_VERSION)) MINI_SNMPD_LICENSE = GPL-2.0 MINI_SNMPD_LICENSE_FILES = COPYING +MINI_SNMPD_CPE_ID_VENDOR = minisnmpd_project +MINI_SNMPD_CPE_ID_PRODUCT = minisnmpd MINI_SNMPD_AUTORECONF = YES MINI_SNMPD_DEPENDENCIES = host-pkgconf diff --git a/package/minicom/minicom.mk b/package/minicom/minicom.mk index b81ee521205..5cd1d6b8b80 100644 --- a/package/minicom/minicom.mk +++ b/package/minicom/minicom.mk @@ -11,12 +11,9 @@ MINICOM_SITE = \ MINICOM_LICENSE = GPL-2.0+ MINICOM_LICENSE_FILES = COPYING MINICOM_CPE_ID_VENDOR = minicom_project -MINICOM_AUTORECONF = YES MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv) \ $(TARGET_NLS_DEPENDENCIES) host-pkgconf -# add host-gettext for AM_ICONV macro -MINICOM_DEPENDENCIES += host-gettext MINICOM_CONF_OPTS = \ --enable-dfl-port=/dev/ttyS1 \ diff --git a/package/minidlna/0001-upnphttp-Protect-against-DNS-rebinding-attacks.patch b/package/minidlna/0001-upnphttp-Protect-against-DNS-rebinding-attacks.patch new file mode 100644 index 00000000000..6d601f53b90 --- /dev/null +++ b/package/minidlna/0001-upnphttp-Protect-against-DNS-rebinding-attacks.patch @@ -0,0 +1,66 @@ +From c21208508dbc131712281ec5340687e5ae89e940 Mon Sep 17 00:00:00 2001 +From: Justin Maggard +Date: Wed, 9 Feb 2022 18:32:50 -0800 +Subject: [PATCH] upnphttp: Protect against DNS rebinding attacks + +Validate HTTP requests to protect against DNS rebinding. + +[Retrieved from: +https://sourceforge.net/p/minidlna/git/ci/c21208508dbc131712281ec5340687e5ae89e940/] +Signed-off-by: Fabrice Fontaine +--- + upnphttp.c | 17 +++++++++++++++++ + upnphttp.h | 2 ++ + 2 files changed, 19 insertions(+) + +diff --git a/upnphttp.c b/upnphttp.c +index c8b5e99..62db89a 100644 +--- a/upnphttp.c ++++ b/upnphttp.c +@@ -273,6 +273,11 @@ ParseHttpHeaders(struct upnphttp * h) + p = colon + 1; + while(isspace(*p)) + p++; ++ n = 0; ++ while(p[n] >= ' ') ++ n++; ++ h->req_Host = p; ++ h->req_HostLen = n; + for(n = 0; n < n_lan_addr; n++) + { + for(i = 0; lan_addr[n].str[i]; i++) +@@ -909,6 +914,18 @@ ProcessHttpQuery_upnphttp(struct upnphttp * h) + } + + DPRINTF(E_DEBUG, L_HTTP, "HTTP REQUEST: %.*s\n", h->req_buflen, h->req_buf); ++ if(h->req_Host && h->req_HostLen > 0) { ++ const char *ptr = h->req_Host; ++ DPRINTF(E_MAXDEBUG, L_HTTP, "Host: %.*s\n", h->req_HostLen, h->req_Host); ++ for(i = 0; i < h->req_HostLen; i++) { ++ if(*ptr != ':' && *ptr != '.' && (*ptr > '9' || *ptr < '0')) { ++ DPRINTF(E_ERROR, L_HTTP, "DNS rebinding attack suspected (Host: %.*s)", h->req_HostLen, h->req_Host); ++ Send404(h);/* 403 */ ++ return; ++ } ++ ptr++; ++ } ++ } + if(strcmp("POST", HttpCommand) == 0) + { + h->req_command = EPost; +diff --git a/upnphttp.h b/upnphttp.h +index e28a943..57eb2bb 100644 +--- a/upnphttp.h ++++ b/upnphttp.h +@@ -89,6 +89,8 @@ struct upnphttp { + struct client_cache_s * req_client; + const char * req_soapAction; + int req_soapActionLen; ++ const char * req_Host; /* Host: header */ ++ int req_HostLen; + const char * req_Callback; /* For SUBSCRIBE */ + int req_CallbackLen; + const char * req_NT; +-- +2.34.1 + diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk index 0bb3dd35025..01ee8d0028f 100644 --- a/package/minidlna/minidlna.mk +++ b/package/minidlna/minidlna.mk @@ -8,6 +8,12 @@ MINIDLNA_VERSION = 1.3.0 MINIDLNA_SITE = https://downloads.sourceforge.net/project/minidlna/minidlna/$(MINIDLNA_VERSION) MINIDLNA_LICENSE = GPL-2.0, BSD-3-Clause MINIDLNA_LICENSE_FILES = COPYING LICENCE.miniupnpd +MINIDLNA_CPE_ID_VENDOR = readymedia_project +MINIDLNA_CPE_ID_PRODUCT = readymedia +MINIDLNA_SELINUX_MODULES = minidlna + +# 0001-upnphttp-Protect-against-DNS-rebinding-attacks.patch +MINIDLNA_IGNORE_CVES += CVE-2022-26505 MINIDLNA_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) \ diff --git a/package/minissdpd/minissdpd.hash b/package/minissdpd/minissdpd.hash index 385a5a0c2ad..e14fe7ab2c2 100644 --- a/package/minissdpd/minissdpd.hash +++ b/package/minissdpd/minissdpd.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 177ab1907cc0fd20c8cafd13ca8674c7ec1828aa6101da9bb066408ccada7350 minissdpd-1.5.20200928.tar.gz -sha256 00c8368dd1574b025df65f24f61c32d1297ff9b6dc695fda964b1b1efc7a53d3 LICENSE +sha256 a073be9c6d9194feaeccf31cd986c48afd2212426b6594e75166cedff1c461aa minissdpd-1.5.20211105.tar.gz +sha256 45950e1d443106906f83a4ec7b9c2e1a9d6457130737a493cff0e5b7a39da570 LICENSE diff --git a/package/minissdpd/minissdpd.mk b/package/minissdpd/minissdpd.mk index 4560919baa4..2b9fac4df11 100644 --- a/package/minissdpd/minissdpd.mk +++ b/package/minissdpd/minissdpd.mk @@ -4,10 +4,12 @@ # ################################################################################ -MINISSDPD_VERSION = 1.5.20200928 +MINISSDPD_VERSION = 1.5.20211105 MINISSDPD_SITE = http://miniupnp.free.fr/files MINISSDPD_LICENSE = BSD-3-Clause MINISSDPD_LICENSE_FILES = LICENSE +MINISSDPD_CPE_ID_VENDOR = miniupnp_project +MINISSDPD_SELINUX_MODULES = minissdpd MINISSDPD_DEPENDENCIES = libnfnetlink define MINISSDPD_BUILD_CMDS @@ -18,7 +20,7 @@ endef define MINISSDPD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - PREFIX=$(TARGET_DIR) install + DESTDIR=$(TARGET_DIR) install endef # Use dedicated init scripts for systemV and systemd instead of using diff --git a/package/minizip/0001-CMakeLists.txt-fix-build-without-C.patch b/package/minizip/0001-CMakeLists.txt-fix-build-without-C.patch new file mode 100644 index 00000000000..b0cb6a6c1e7 --- /dev/null +++ b/package/minizip/0001-CMakeLists.txt-fix-build-without-C.patch @@ -0,0 +1,41 @@ +From 4e7899f3d0533f83b7230ffa787087b65ddd45c0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Apr 2022 18:20:14 +0200 +Subject: [PATCH] CMakeLists.txt: fix build without C++ + +Fix the following build failure without a working C++ compiler raised +since version 2.0.0 and +https://github.com/zlib-ng/minizip-ng/commit/d383a5f2fca127d24407ff26adce579d63b85310: + +CMake Error at /nvmedata/autobuild/instance-20/output-1/host/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message): + The C++ compiler + + "/usr/bin/c++" + + is not able to compile a simple test program. + +Fixes: + - http://autobuild.buildroot.org/results/4452bc35b41414a5e8a0e9831b0854228df5fba4 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zlib-ng/minizip-ng/pull/621] +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fef46c3..83adaf3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -661,7 +661,7 @@ endif() + list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) + + # Create minizip library +-project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) ++project(minizip${MZ_PROJECT_SUFFIX} LANGUAGES C VERSION ${VERSION}) + + if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") + message(STATUS "Project configured as ${PROJECT_NAME}") +-- +2.35.1 + diff --git a/package/minizip/minizip.hash b/package/minizip/minizip.hash index f150770ae94..e73637670c6 100644 --- a/package/minizip/minizip.hash +++ b/package/minizip/minizip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c2889690b1a1f55898d37d3fb51f05183a4861fb7d53ab702c6a5777bf232b75 minizip-2.10.6.tar.gz +sha256 1a248c378fdf4ef6c517024bb65577603d5146cffaebe81900bec9c0a5035d4d minizip-3.0.5.tar.gz sha256 675181c03fc1302a1c8554c00f7be9bb420c5dbc9dcc2013433cec144413de03 LICENSE diff --git a/package/minizip/minizip.mk b/package/minizip/minizip.mk index b2294fb5300..b9259f0c549 100644 --- a/package/minizip/minizip.mk +++ b/package/minizip/minizip.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINIZIP_VERSION = 2.10.6 +MINIZIP_VERSION = 3.0.5 MINIZIP_SITE = $(call github,nmoinvaz,minizip,$(MINIZIP_VERSION)) MINIZIP_DEPENDENCIES = host-pkgconf MINIZIP_INSTALL_STAGING = YES @@ -14,6 +14,7 @@ MINIZIP_CONF_OPTS = \ -DMZ_FETCH_LIBS=OFF MINIZIP_LICENSE = Zlib MINIZIP_LICENSE_FILES = LICENSE +MINIZIP_CPE_ID_VENDOR = minizip_project ifeq ($(BR2_PACKAGE_BZIP2),y) MINIZIP_DEPENDENCIES += bzip2 diff --git a/package/mjpegtools/0001-PROGRAM_NOPIC-apparently-causes-problems-on-some-x86_64-systems.patch b/package/mjpegtools/0001-PROGRAM_NOPIC-apparently-causes-problems-on-some-x86_64-systems.patch deleted file mode 100644 index f5de8ee969a..00000000000 --- a/package/mjpegtools/0001-PROGRAM_NOPIC-apparently-causes-problems-on-some-x86_64-systems.patch +++ /dev/null @@ -1,73 +0,0 @@ -From e69557bea18eb7c3069c9527cc30f7cd91be27b7 Mon Sep 17 00:00:00 2001 -From: sms00 -Date: Thu, 28 Nov 2013 22:39:41 +0000 -Subject: [PATCH] PROGRAM_NOPIC apparently causes problems on some x86_64 - systems, has little to no performance effect on x86_64 systems and even on - x86 systems most programs are I/O bound anyhow. So remove the 4 uses of the - flag - -git-svn-id: https://svn.code.sf.net/p/mjpeg/Code/trunk/mjpeg_play@3359 3be20b7b-d6de-45d7-9b51-1db703c412de - -[Retrieved (and backported by removing INSTALL updates) from: -https://github.com/jaystevens/mjpegtools/commit/e69557bea18eb7c3069c9527cc30f7cd91be27b7] -Signed-off-by: Fabrice Fontaine ---- - y4mdenoise/Makefile.am | 4 +- - y4munsharp/Makefile.am | 2 +- - y4mutils/Makefile.am | 2 +- - yuvscaler/Makefile.am | 2 +- - 5 files changed, 26 insertions(+), 94 deletions(-) - -diff --git a/y4mdenoise/Makefile.am b/y4mdenoise/Makefile.am -index dee9064f..d7fa76e2 100644 ---- a/y4mdenoise/Makefile.am -+++ b/y4mdenoise/Makefile.am -@@ -4,8 +4,8 @@ MAINTAINERCLEANFILES = Makefile.in - - EXTRA_DIST = implementation.html - --AM_CFLAGS = -DNDEBUG -finline-functions @PROGRAM_NOPIC@ --AM_CXXFLAGS = -DNDEBUG -finline-functions @PROGRAM_NOPIC@ -+AM_CFLAGS = -DNDEBUG -finline-functions -+AM_CXXFLAGS = -DNDEBUG -finline-functions - - INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/utils - -diff --git a/y4munsharp/Makefile.am b/y4munsharp/Makefile.am -index a7f98acc..f99ff5cf 100644 ---- a/y4munsharp/Makefile.am -+++ b/y4munsharp/Makefile.am -@@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in - - INCLUDES = -I $(top_srcdir)/utils -I $(top_srcdir) - --y4munharp_CFLAGS=@PROGRAM_NOPIC@ -+y4munharp_CFLAGS= - - bin_PROGRAMS = y4munsharp - -diff --git a/y4mutils/Makefile.am b/y4mutils/Makefile.am -index f3b0a671..7b8b1881 100644 ---- a/y4mutils/Makefile.am -+++ b/y4mutils/Makefile.am -@@ -2,7 +2,7 @@ - - MAINTAINERCLEANFILES = Makefile.in - --AM_CFLAGS = @PROGRAM_NOPIC@ -+AM_CFLAGS = - AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils - - LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la -diff --git a/yuvscaler/Makefile.am b/yuvscaler/Makefile.am -index 1fe4d757..6d2adaca 100644 ---- a/yuvscaler/Makefile.am -+++ b/yuvscaler/Makefile.am -@@ -18,6 +18,6 @@ noinst_HEADERS = \ - - EXTRA_DIST = yuvscaler_implementation.txt - --yuvscaler_CFLAGS=@PROGRAM_NOPIC@ -+yuvscaler_CFLAGS= - yuvscaler_SOURCES = yuvscaler.c yuvscaler_resample.c yuvscaler_bicubic.c - yuvscaler_LDADD = $(LIBMJPEGUTILS) $(LIBM_LIBS) diff --git a/package/mjpegtools/mjpegtools.hash b/package/mjpegtools/mjpegtools.hash index 76e9403f831..8d74907b26a 100644 --- a/package/mjpegtools/mjpegtools.hash +++ b/package/mjpegtools/mjpegtools.hash @@ -1,5 +1,6 @@ -# From http://sourceforge.net/projects/mjpeg/files/mjpegtools/2.1.0/ -md5 57bf5dd78976ca9bac972a6511b236f3 mjpegtools-2.1.0.tar.gz -sha1 b9effa86280e23d67369e842e5cb645948583097 mjpegtools-2.1.0.tar.gz +# From http://sourceforge.net/projects/mjpeg/files/mjpegtools/2.2.1/ +md5 168e0131c0b8a2e31df7a73eb602fc32 mjpegtools-2.2.1.tar.gz +sha1 26e980912cd06f31033964acbc4b8d1932788bfc mjpegtools-2.2.1.tar.gz # Locally computed -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 b180536d7d9960b05e0023a197b00dcb100929a49aab71d19d55f4a1b210f49a mjpegtools-2.2.1.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/mjpegtools/mjpegtools.mk b/package/mjpegtools/mjpegtools.mk index e2c6b7d8b70..8d6c475518b 100644 --- a/package/mjpegtools/mjpegtools.mk +++ b/package/mjpegtools/mjpegtools.mk @@ -4,14 +4,12 @@ # ################################################################################ -MJPEGTOOLS_VERSION = 2.1.0 +MJPEGTOOLS_VERSION = 2.2.1 MJPEGTOOLS_SITE = http://sourceforge.net/projects/mjpeg/files/mjpegtools/$(MJPEGTOOLS_VERSION) MJPEGTOOLS_DEPENDENCIES = host-pkgconf jpeg MJPEGTOOLS_INSTALL_STAGING = YES MJPEGTOOLS_LICENSE = GPL-2.0+ MJPEGTOOLS_LICENSE_FILES = COPYING -# We're patching Makefile.am -MJPEGTOOLS_AUTORECONF = YES ifeq ($(BR2_PACKAGE_MJPEGTOOLS_SIMD_SUPPORT),y) MJPEGTOOLS_CONF_OPTS += --enable-simd-accel diff --git a/package/mkpasswd/mkpasswd.c b/package/mkpasswd/mkpasswd.c index fd16230468a..ae8594061cf 100644 --- a/package/mkpasswd/mkpasswd.c +++ b/package/mkpasswd/mkpasswd.c @@ -18,6 +18,11 @@ /* for crypt, snprintf and strcasecmp */ #define _XOPEN_SOURCE +/* + * _BSD_SOURCE is deprecated as of GLIBC 2.20; _DEFAULT_SOURCE should be used + * instead. (https://lwn.net/Articles/611162/) + */ +#define _DEFAULT_SOURCE #define _BSD_SOURCE /* System library */ diff --git a/package/mkpasswd/mkpasswd.mk b/package/mkpasswd/mkpasswd.mk index b0133905722..c1117ef65c7 100644 --- a/package/mkpasswd/mkpasswd.mk +++ b/package/mkpasswd/mkpasswd.mk @@ -9,9 +9,13 @@ # at revision 5a0f08500fa51608b6d3b73ee338be38c692eadb HOST_MKPASSWD_LICENSE = GPL-2.0+ +define HOST_MKPASSWD_EXTRACT_CMDS + cp $(HOST_MKPASSWD_PKGDIR)/*.c $(HOST_MKPASSWD_PKGDIR)/*.h $(@D) +endef + define HOST_MKPASSWD_BUILD_CMDS $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ - package/mkpasswd/mkpasswd.c package/mkpasswd/utils.c \ + $(@D)/mkpasswd.c $(@D)/utils.c \ -o $(@D)/mkpasswd -lcrypt endef diff --git a/package/mkpimage/mkpimage.mk b/package/mkpimage/mkpimage.mk index 8e08013f915..71500f00f37 100644 --- a/package/mkpimage/mkpimage.mk +++ b/package/mkpimage/mkpimage.mk @@ -9,9 +9,13 @@ HOST_MKPIMAGE_LICENSE = GPL-2.0 # source included in the package # came from barebox's repository: # https://git.pengutronix.de/cgit/barebox/tree/scripts/socfpga_mkimage.c?id=55d29525146dcd280987dfd565bfd34f08858fb3 +define HOST_MKPIMAGE_EXTRACT_CMDS + cp $(HOST_MKPIMAGE_PKGDIR)/mkpimage.c $(@D) +endef + define HOST_MKPIMAGE_BUILD_CMDS $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ - package/mkpimage/mkpimage.c -o $(@D)/mkpimage + $(@D)/mkpimage.c -o $(@D)/mkpimage endef define HOST_MKPIMAGE_INSTALL_CMDS diff --git a/package/mksh/Config.in b/package/mksh/Config.in index e6ccc906464..94f0d78ad59 100644 --- a/package/mksh/Config.in +++ b/package/mksh/Config.in @@ -22,4 +22,4 @@ config BR2_PACKAGE_MKSH operating environments (thus including patches from pdksh on e.g. Debian). - http://mirbsd.de/mksh + http://www.mirbsd.org/mksh.htm diff --git a/package/mksh/mksh.mk b/package/mksh/mksh.mk index 386b1bd016a..c4818e86922 100644 --- a/package/mksh/mksh.mk +++ b/package/mksh/mksh.mk @@ -6,8 +6,8 @@ MKSH_VERSION = 59c MKSH_SOURCE = mksh-R$(MKSH_VERSION).tgz -MKSH_SITE = https://www.mirbsd.org/MirOS/dist/mir/mksh -# For MirOS License see https://www.mirbsd.org/TaC-mksh.txt +MKSH_SITE = http://www.mirbsd.org/MirOS/dist/mir/mksh +# For MirOS License see http://www.mirbsd.org/TaC-mksh.txt MKSH_LICENSE = MirOS, ISC MKSH_LICENSE_FILES = mksh.1 diff --git a/package/mmc-utils/mmc-utils.mk b/package/mmc-utils/mmc-utils.mk index 8c264a454a3..c8473786926 100644 --- a/package/mmc-utils/mmc-utils.mk +++ b/package/mmc-utils/mmc-utils.mk @@ -5,7 +5,8 @@ ################################################################################ MMC_UTILS_VERSION = d40ec535b9d4e4c974e8c2fbfb422cd0348cc5e8 -MMC_UTILS_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git +MMC_UTILS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git +MMC_UTILS_SITE_METHOD = git MMC_UTILS_LICENSE = GPL-2.0 MMC_UTILS_LICENSE_FILES = mmc.h diff --git a/package/moarvm/Config.in b/package/moarvm/Config.in index c370a0f2299..11d8ac7ebc1 100644 --- a/package/moarvm/Config.in +++ b/package/moarvm/Config.in @@ -4,16 +4,13 @@ config BR2_PACKAGE_MOARVM depends on !BR2_STATIC_LIBS # libuv depends on BR2_USE_MMU # libuv depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # libatomic_ops - # needs AO_fetch_compare_and_swap, not implemented for sparcv8/sparcv9 - depends on !BR2_sparc64 && !BR2_sparc depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv select BR2_PACKAGE_LIBUV select BR2_PACKAGE_LIBTOMMATH select BR2_PACKAGE_LIBATOMIC_OPS - # dyncall does not work on MIPS; libffi needs to be used. - # See: https://github.com/MoarVM/MoarVM/issues/222 - # dyncall does not work also on powerpc64 and powerpc64le - select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc64 || BR2_powerpc64le + # dyncall does not work on riscv + select BR2_PACKAGE_LIBFFI if BR2_riscv + select BR2_PACKAGE_ZSTD help Short for "Metamodel On A Runtime", MoarVM is a virtual machine built especially for Rakudo Perl 6 and the NQP @@ -25,5 +22,4 @@ comment "moarvm needs a toolchain w/ NPTL, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on BR2_USE_MMU depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS - depends on !BR2_sparc64 && !BR2_sparc depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/moarvm/moarvm.hash b/package/moarvm/moarvm.hash index abe96c3d4b8..01e3ee4aeeb 100644 --- a/package/moarvm/moarvm.hash +++ b/package/moarvm/moarvm.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 08914f1c464151ebc678cf0d360c9e479a036178fa7c9ddfd34aa4d556d03ea2 MoarVM-2020.12.tar.gz +sha256 7f3487a70e8b77be0e4e2f12b14c49f6a01d0378e0940c86958c9016c495ad75 MoarVM-2021.10.tar.gz sha256 c53c6b96081b0a5b9b2fb4d0133d55c20e5e00e4c127ade62f03434ee7b3d2de Artistic2.txt diff --git a/package/moarvm/moarvm.mk b/package/moarvm/moarvm.mk index 1f414044155..99e26c73c9f 100644 --- a/package/moarvm/moarvm.mk +++ b/package/moarvm/moarvm.mk @@ -4,13 +4,13 @@ # ################################################################################ -MOARVM_VERSION = 2020.12 +MOARVM_VERSION = 2021.10 MOARVM_SITE = http://moarvm.com/releases MOARVM_SOURCE = MoarVM-$(MOARVM_VERSION).tar.gz MOARVM_LICENSE = Artistic-2.0 MOARVM_LICENSE_FILES = Artistic2.txt MOARVM_INSTALL_STAGING = YES -MOARVM_DEPENDENCIES = host-pkgconf libuv libtommath libatomic_ops +MOARVM_DEPENDENCIES = host-pkgconf libuv libtommath libatomic_ops zstd MOARVM_CONF_OPTS = \ --build=$(GNU_HOST_NAME) \ diff --git a/package/moby-buildkit/Config.in b/package/moby-buildkit/Config.in new file mode 100644 index 00000000000..93c852bcdb3 --- /dev/null +++ b/package/moby-buildkit/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_MOBY_BUILDKIT + bool "moby-buildkit" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC + depends on BR2_USE_MMU + select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency + help + BuildKit is a toolkit for converting source code to build + artifacts in an efficient, expressive and repeatable manner. + + https://github.com/moby/buildkit + +comment "moby-buildkit needs a glibc or musl toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC + depends on BR2_USE_MMU diff --git a/package/moby-buildkit/moby-buildkit.hash b/package/moby-buildkit/moby-buildkit.hash new file mode 100644 index 00000000000..3015e479f61 --- /dev/null +++ b/package/moby-buildkit/moby-buildkit.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0cc31aa4b6dcdead63b07d75e0b89495ecffcc183f4f62695d8bb507433fc8ff moby-buildkit-0.8.1.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/moby-buildkit/moby-buildkit.mk b/package/moby-buildkit/moby-buildkit.mk new file mode 100644 index 00000000000..3f0df351ef4 --- /dev/null +++ b/package/moby-buildkit/moby-buildkit.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# moby-buildkit +# +################################################################################ + +MOBY_BUILDKIT_VERSION = 0.8.1 +MOBY_BUILDKIT_SITE = $(call github,moby,buildkit,v$(MOBY_BUILDKIT_VERSION)) +MOBY_BUILDKIT_LICENSE = Apache-2.0 +MOBY_BUILDKIT_LICENSE_FILES = LICENSE + +MOBY_BUILDKIT_GOMOD = github.com/moby/buildkit + +MOBY_BUILDKIT_TAGS = cgo +MOBY_BUILDKIT_BUILD_TARGETS = cmd/buildctl cmd/buildkitd + +MOBY_BUILDKIT_LDFLAGS = \ + -X $(MOBY_BUILDKIT_GOMOD)/version.Version="$(MOBY_BUILDKIT_VERSION)" + +MOBY_BUILDKIT_INSTALL_BINS = $(notdir $(MOBY_BUILDKIT_BUILD_TARGETS)) + +$(eval $(golang-package)) diff --git a/package/modem-manager/modem-manager.hash b/package/modem-manager/modem-manager.hash index 81a08295f77..14597215df7 100644 --- a/package/modem-manager/modem-manager.hash +++ b/package/modem-manager/modem-manager.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 fe1a26ba51b4bda7abd09ad4dadedd87d8b8154809fc9d88e94f75fdfff19295 ModemManager-1.14.8.tar.xz +sha256 2ccf1f716c2d121e8e6709bcf8af29ee86971a90adacca2e8d6288b30278862e ModemManager-1.16.10.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/modem-manager/modem-manager.mk b/package/modem-manager/modem-manager.mk index 47d4eed823e..a881edc2728 100644 --- a/package/modem-manager/modem-manager.mk +++ b/package/modem-manager/modem-manager.mk @@ -4,11 +4,12 @@ # ################################################################################ -MODEM_MANAGER_VERSION = 1.14.8 +MODEM_MANAGER_VERSION = 1.16.10 MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib) MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB +MODEM_MANAGER_SELINUX_MODULES = modemmanager MODEM_MANAGER_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES) MODEM_MANAGER_INSTALL_STAGING = YES MODEM_MANAGER_CONF_OPTS = --disable-more-warnings @@ -34,6 +35,13 @@ else MODEM_MANAGER_CONF_OPTS += --without-mbim endif +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +MODEM_MANAGER_DEPENDENCIES += gobject-introspection +MODEM_MANAGER_CONF_OPTS += --enable-introspection +else +MODEM_MANAGER_CONF_OPTS += --disable-introspection +endif + define MODEM_MANAGER_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/modem-manager/S44modem-manager \ $(TARGET_DIR)/etc/init.d/S44modem-manager diff --git a/package/modsecurity2/Config.in b/package/modsecurity2/Config.in new file mode 100644 index 00000000000..2870386a999 --- /dev/null +++ b/package/modsecurity2/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_MODSECURITY2 + bool "modsecurity2" + depends on BR2_PACKAGE_APACHE + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_PCRE + help + ModSecurity is an open source, cross-platform web application + firewall (WAF) module. Known as the "Swiss Army Knife" of + WAFs, it enables web application defenders to gain visibility + into HTTP(S) traffic and provides a power rules language and + API to implement advanced protections. + + https://github.com/SpiderLabs/ModSecurity diff --git a/package/modsecurity2/modsecurity2.hash b/package/modsecurity2/modsecurity2.hash new file mode 100644 index 00000000000..a19f4823a8a --- /dev/null +++ b/package/modsecurity2/modsecurity2.hash @@ -0,0 +1,5 @@ +# From https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.5/modsecurity-2.9.5.tar.gz.sha256 +sha256 e2bfc8cd8b8de1e21f054d310543373ea5d89adbd96784e832be0da3e4dc149e modsecurity-2.9.5.tar.gz + +# Locally computed +sha256 2c564f5a67e49e74c80e5a7dcacd1904e7408f1fd6a95218b38c04f012d94cb9 LICENSE diff --git a/package/modsecurity2/modsecurity2.mk b/package/modsecurity2/modsecurity2.mk new file mode 100644 index 00000000000..a1ad8fe5bc3 --- /dev/null +++ b/package/modsecurity2/modsecurity2.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# modsecurity2 +# +################################################################################ + +MODSECURITY2_VERSION = 2.9.5 +MODSECURITY2_SOURCE = modsecurity-$(MODSECURITY2_VERSION).tar.gz +MODSECURITY2_SITE = https://github.com/SpiderLabs/ModSecurity/releases/download/v$(MODSECURITY2_VERSION) +MODSECURITY2_LICENSE = Apache-2.0 +MODSECURITY2_LICENSE_FILES = LICENSE +MODSECURITY2_CPE_ID_VENDOR = trustwave +MODSECURITY2_CPE_ID_PRODUCT = modsecurity +MODSECURITY2_INSTALL_STAGING = YES +MODSECURITY2_DEPENDENCIES = apache libxml2 pcre + +MODSECURITY2_CONF_OPTS = \ + --with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \ + --with-libxml=$(STAGING_DIR)/usr \ + --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config \ + --with-apu=$(STAGING_DIR)/usr/bin/apu-1-config \ + --with-apxs=$(STAGING_DIR)/usr/bin/apxs \ + --without-curl \ + --without-lua \ + --without-yajl \ + --without-ssdeep + +$(eval $(autotools-package)) diff --git a/package/mongodb/0002-src-mongo-db-exec-plan_stats.h-fix-build-with-gcc-11.patch b/package/mongodb/0002-src-mongo-db-exec-plan_stats.h-fix-build-with-gcc-11.patch new file mode 100644 index 00000000000..e96a65252c6 --- /dev/null +++ b/package/mongodb/0002-src-mongo-db-exec-plan_stats.h-fix-build-with-gcc-11.patch @@ -0,0 +1,44 @@ +From 0941e560850d54160c24778fa66b605714fd5012 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 9 Aug 2021 21:18:50 +0200 +Subject: [PATCH] src/mongo/db/exec/plan_stats.h: fix build with gcc + 11 + +Fix the following build failure with gcc 11: + +In file included from src/mongo/db/query/plan_cache.h:36, + from src/mongo/db/catalog/collection_info_cache.h:33, + from src/mongo/db/catalog/collection.h:42, + from src/mongo/db/exec/requires_collection_stage.h:32, + from src/mongo/db/exec/delete.h:32, + from src/mongo/db/query/internal_plans.h:33, + from src/mongo/db/query/internal_plans.cpp:32: +src/mongo/db/exec/plan_stats.h:214:10: error: 'optional' in namespace 'std' does not name a template type + 214 | std::optional replanReason; + | ^~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/8c0875fa413923504515a83d8b679366418c2444 + +Signed-off-by: Fabrice Fontaine +[Upstream status: already fixed by +https://github.com/mongodb/mongo/commit/e78b2bf6eaa0c43bd76dbb841add167b443d2bb0] +--- + src/mongo/db/exec/plan_stats.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/mongo/db/exec/plan_stats.h b/src/mongo/db/exec/plan_stats.h +index 43053e27be..813e4edc9e 100644 +--- a/src/mongo/db/exec/plan_stats.h ++++ b/src/mongo/db/exec/plan_stats.h +@@ -31,6 +31,7 @@ + + #include + #include ++#include + #include + #include + +-- +2.30.2 + diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in index 493c5924132..1ea4282573f 100644 --- a/package/mongodb/Config.in +++ b/package/mongodb/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS # ARM needs LDREX/STREX, so ARMv6+ default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 default y if BR2_aarch64 || BR2_x86_64 + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem config BR2_PACKAGE_MONGODB bool "mongodb" diff --git a/package/mongodb/mongodb.hash b/package/mongodb/mongodb.hash index 3b2580cc43c..02da8ad452a 100644 --- a/package/mongodb/mongodb.hash +++ b/package/mongodb/mongodb.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 ab5a8b6e967614a8ad67c0ca87124c4f380d4a476508973a7995d54ed902b02e mongodb-src-r4.2.11.tar.gz +sha256 5bbb9567cc1f358ac7d9f37d9fe749862728bdf9f742d1dfc5e35a8b6c2985ba mongodb-src-r4.2.18.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 APACHE-2.0.txt sha256 09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27 LICENSE-Community.txt diff --git a/package/mongodb/mongodb.mk b/package/mongodb/mongodb.mk index 377484a00b2..9f6c7d31b85 100644 --- a/package/mongodb/mongodb.mk +++ b/package/mongodb/mongodb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONGODB_VERSION = 4.2.11 +MONGODB_VERSION = 4.2.18 MONGODB_SITE = https://fastdl.mongodb.org/src MONGODB_SOURCE = mongodb-src-r$(MONGODB_VERSION).tar.gz @@ -12,14 +12,15 @@ MONGODB_LICENSE = Apache-2.0 (drivers), SSPL (database) MONGODB_LICENSE_FILES = APACHE-2.0.txt LICENSE-Community.txt MONGODB_CPE_ID_VENDOR = mongodb +MONGODB_SELINUX_MODULES = mongodb MONGODB_DEPENDENCIES = \ boost \ - host-python3-cheetah \ - host-python3-psutil \ - host-python3-pyyaml \ - host-python3-regex \ - host-python3-requests \ + host-python-cheetah \ + host-python-psutil \ + host-python-pyyaml \ + host-python-regex \ + host-python-requests \ host-scons \ pcre \ snappy \ @@ -85,7 +86,7 @@ endif define MONGODB_BUILD_CMDS (cd $(@D); \ - $(HOST_DIR)/bin/python3 $(SCONS) \ + $(SCONS) \ $(MONGODB_SCONS_ENV) \ $(MONGODB_SCONS_OPTS) \ $(MONGODB_SCONS_TARGETS)) @@ -93,7 +94,7 @@ endef define MONGODB_INSTALL_TARGET_CMDS (cd $(@D); \ - $(HOST_DIR)/bin/python3 $(SCONS) \ + $(SCONS) \ $(MONGODB_SCONS_ENV) \ $(MONGODB_SCONS_OPTS) \ --prefix=$(TARGET_DIR)/usr \ diff --git a/package/mongoose/mongoose.hash b/package/mongoose/mongoose.hash index d9ed76c4acf..809f160cf0b 100644 --- a/package/mongoose/mongoose.hash +++ b/package/mongoose/mongoose.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f099bf7223c527e1a0b7fc8888136a3992e8b5c7123839639213b9483bb4f95b mongoose-7.1.tar.gz +sha256 8c5024a4e5b5a0c7fdae3c24ebc68e2b3ccfaba08cf25c2e76fc7f14f92fd4a5 mongoose-7.2.tar.gz sha256 9553d057f2ba980642f2c18d87ed38896cff1c9612d77d684a73a11fe1443b05 LICENSE diff --git a/package/mongoose/mongoose.mk b/package/mongoose/mongoose.mk index 0974c76446f..2c5df1d0cc8 100644 --- a/package/mongoose/mongoose.mk +++ b/package/mongoose/mongoose.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONGOOSE_VERSION = 7.1 +MONGOOSE_VERSION = 7.2 MONGOOSE_SITE = $(call github,cesanta,mongoose,$(MONGOOSE_VERSION)) MONGOOSE_LICENSE = GPL-2.0 MONGOOSE_LICENSE_FILES = LICENSE diff --git a/package/mongrel2/0001-Do-not-run-tests.patch b/package/mongrel2/0001-Do-not-run-tests.patch index 557c27edd86..4a75a470b45 100644 --- a/package/mongrel2/0001-Do-not-run-tests.patch +++ b/package/mongrel2/0001-Do-not-run-tests.patch @@ -1,7 +1,7 @@ From 3cbef2195533f357c8a80c2840108662461273b7 Mon Sep 17 00:00:00 2001 From: Lionel Orry Date: Wed, 27 Mar 2013 14:48:19 +0100 -Subject: [PATCH 4/4] Do not run tests. +Subject: [PATCH] Do not run tests. This patch is specific to cross-compiled environments and avoids running the tests on the host. It is not meant to be applied upstream. diff --git a/package/mongrel2/0003-fix-build-with-gcc-4.8.patch b/package/mongrel2/0003-fix-build-with-gcc-4.8.patch new file mode 100644 index 00000000000..eebfce04878 --- /dev/null +++ b/package/mongrel2/0003-fix-build-with-gcc-4.8.patch @@ -0,0 +1,60 @@ +From cc2dd3995dc9a9e6f0e705e11e791f3f3c7d7326 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 18 Jan 2022 22:41:36 +0100 +Subject: [PATCH] fix build with gcc 4.8 + +Drop "-Wno-unused-const-variable -Wimplicit-fallthrough=0" as +"-Wno-implicit-fallthrough -Wno-unused-const-variable" is already set in +CFLAGS. This will avoid the following build failure with gcc 4.8 raised +since version 1.13.0 and +https://github.com/mongrel2/mongrel2/commit/725209578599bd7784753d86aee34f6441ff78a5: + +arm-none-linux-gnueabi-gcc: error: unrecognized command line option '-Wimplicit-fallthrough=0' + +Fixes: + - http://autobuild.buildroot.org/results/de324b733e09057c87352220069fe65f6e535eb8 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mongrel2/mongrel2/pull/354] +--- + Makefile | 1 - + tools/m2sh/Makefile | 4 ++-- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index f6627ed..fb8d028 100644 +--- a/Makefile ++++ b/Makefile +@@ -22,7 +22,6 @@ all: bin/mongrel2 tests m2sh procer + + ${OBJECTS_NOEXT}: CFLAGS += ${NOEXTCFLAGS} + ${OBJECTS}: | builddirs +-$(RAGEL_OBJECTS): CFLAGS += -Wno-unused-const-variable -Wimplicit-fallthrough=0 + + .PHONY: builddirs + builddirs: +diff --git a/tools/m2sh/Makefile b/tools/m2sh/Makefile +index 83e7ae4..86364af 100644 +--- a/tools/m2sh/Makefile ++++ b/tools/m2sh/Makefile +@@ -10,7 +10,7 @@ LIB_SRC=$(filter-out src/m2sh.c,${SOURCES}) + LIB_OBJ=$(filter-out src/m2sh.o,${OBJECTS}) + RAGEL_OBJECTS=src/lexer.o src/cli.o + +-$(RAGEL_OBJECTS): CFLAGS += -Wno-unused-const-variable -Wimplicit-fallthrough=0 -Wno-unused-parameter ++$(RAGEL_OBJECTS): CFLAGS += -Wno-unused-parameter + + all: ../lemon/lemon tests build/m2sh + +@@ -20,7 +20,7 @@ dev: all + install: build/m2sh + install build/m2sh ${DESTDIR}${PREFIX}/bin + +-src/parser.o: CFLAGS += -Wno-unused-const-variable -Wno-unused-parameter ++src/parser.o: CFLAGS += -Wno-unused-parameter + + build/libm2sh.a: ${LIB_OBJ} + mkdir -p build +-- +2.34.1 + diff --git a/package/mongrel2/0003-fix-multiple-definition-error-when-building-with-gcc10.patch b/package/mongrel2/0003-fix-multiple-definition-error-when-building-with-gcc10.patch deleted file mode 100644 index e1b57884943..00000000000 --- a/package/mongrel2/0003-fix-multiple-definition-error-when-building-with-gcc10.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c51815b10c39c6e802bd1b56549f1d479b480fcc Mon Sep 17 00:00:00 2001 -From: Andrew Sun -Date: Sat, 18 Jul 2020 09:11:11 -0400 -Subject: [PATCH] fix multiple definition error when building with gcc10 - -[Retrieved from: -https://github.com/mongrel2/mongrel2/pull/343/commits/c51815b10c39c6e802bd1b56549f1d479b480fcc] -Signed-off-by: Fabrice Fontaine ---- - src/unixy.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/unixy.h b/src/unixy.h -index 045e7c28..4225220c 100644 ---- a/src/unixy.h -+++ b/src/unixy.h -@@ -38,7 +38,7 @@ - #include - #include - --char *m2program; -+extern char *m2program; - - int Unixy_chroot(bstring path); - diff --git a/package/mongrel2/0004-Support-urandom-inside-chroot.patch b/package/mongrel2/0004-Support-urandom-inside-chroot.patch deleted file mode 100644 index 468ddb83fe4..00000000000 --- a/package/mongrel2/0004-Support-urandom-inside-chroot.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 330e8c8352eb0ed3c178ac6e0102403c0a835492 Mon Sep 17 00:00:00 2001 -From: Jason Miller -Date: Thu, 5 Jul 2018 20:53:51 -0700 -Subject: [PATCH] Support urandom inside chroot - -This adds a new default entropy function that uses a /dev/urandom stream -opened before the chroot. If initializing that fails, it fallsback on -HAVEGE only if HAVEGE is supported by the mbedTLS. - -This should remove the hard requirement on HAVEGE - -resolves #326 -resolves #327 - -[Upstream status: https://github.com/mongrel2/mongrel2/pull/328] -Signed-off-by: Fabrice Fontaine ---- - src/mongrel2.c | 7 ------- - src/server.c | 36 +++++++++++++++++++++++------------- - 2 files changed, 23 insertions(+), 20 deletions(-) - -diff --git a/src/mongrel2.c b/src/mongrel2.c -index da632d95..48ece8a5 100644 ---- a/src/mongrel2.c -+++ b/src/mongrel2.c -@@ -404,13 +404,6 @@ void taskmain(int argc, char **argv) - rc = attempt_chroot_drop(srv); - check(rc == 0, "Major failure in chroot/droppriv, aborting."); - -- // set up rng after chroot -- // TODO: once mbedtls is updated, we can move this back into Server_create -- if(srv->use_ssl) { -- rc = Server_init_rng(srv); -- check(rc == 0, "Failed to initialize rng for server %s", bdata(srv->uuid)); -- } -- - final_setup(); - - taskcreate(tickertask, NULL, TICKER_TASK_STACK); -diff --git a/src/server.c b/src/server.c -index 45761db4..e44e199b 100644 ---- a/src/server.c -+++ b/src/server.c -@@ -149,35 +149,45 @@ static int Server_load_ciphers(Server *srv, bstring ssl_ciphers_val) - return -1; - } - -+static int urandom_entropy_func(void *data, unsigned char *output, size_t len) -+{ -+ FILE* urandom = (FILE *)data; -+ size_t rc = fread(output, 1, len, urandom); -+ -+ if (rc != len) return MBEDTLS_ERR_ENTROPY_SOURCE_FAILED; -+ -+ return 0; -+} -+ - int Server_init_rng(Server *srv) - { - int rc; -- unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE]; - void *ctx = NULL; - -- mbedtls_entropy_init( &srv->entropy ); -+ FILE *urandom = fopen("/dev/urandom","r"); - -- // test the entropy source -- rc = mbedtls_entropy_func(&srv->entropy, buf, MBEDTLS_ENTROPY_BLOCK_SIZE); -- -- if(rc == 0) { -+ if(urandom != NULL) { - ctx = calloc(sizeof(mbedtls_ctr_drbg_context), 1); - - mbedtls_ctr_drbg_init((mbedtls_ctr_drbg_context *)ctx); - rc = mbedtls_ctr_drbg_seed((mbedtls_ctr_drbg_context *)ctx, -- mbedtls_entropy_func, &srv->entropy, NULL, 0); -+ urandom_entropy_func, urandom, NULL, 0); - check(rc == 0, "Init rng failed: ctr_drbg_init returned %d\n", rc); - - srv->rng_func = mbedtls_ctr_drbg_random; - srv->rng_ctx = ctx; - } else { -- log_warn("entropy source unavailable. falling back to havege rng"); - -+#if defined(MBEDTLS_HAVEGE_C) -+ log_warn("entropy source unavailable. falling back to havege rng"); - ctx = calloc(sizeof(mbedtls_havege_state), 1); - mbedtls_havege_init((mbedtls_havege_state *)ctx); -- - srv->rng_func = mbedtls_havege_random; - srv->rng_ctx = ctx; -+#else -+ log_err("Unable to initialize urandom entropy source, and mbedTLS compiled without HAVEGE"); -+ goto error; -+#endif - } - - return 0; -@@ -278,10 +288,10 @@ Server *Server_create(bstring uuid, bstring default_host, - - // TODO: once mbedtls supports opening urandom early and keeping it open, - // put the rng initialization back here (before chroot) -- //if(use_ssl) { -- // rc = Server_init_rng(srv); -- // check(rc == 0, "Failed to initialize rng for server %s", bdata(uuid)); -- //} -+ if(use_ssl) { -+ rc = Server_init_rng(srv); -+ check(rc == 0, "Failed to initialize rng for server %s", bdata(uuid)); -+ } - - if(blength(chroot) > 0) { - srv->chroot = bstrcpy(chroot); check_mem(srv->chroot); diff --git a/package/mongrel2/mongrel2.hash b/package/mongrel2/mongrel2.hash index ea3a1cb426a..f4f094ea033 100644 --- a/package/mongrel2/mongrel2.hash +++ b/package/mongrel2/mongrel2.hash @@ -1,6 +1,6 @@ # From https://mongrel2.org -sha1 6f81fa747a1e198d1a655c3677b6de686a5a51f7 mongrel2-v1.12.2.tar.bz2 +sha1 6057f9cbfae41e2cdef1e0f715df3c1a4d3a1884 mongrel2-v1.13.0.tar.bz2 # Locally computed -sha256 3bffeae198c37a1efc9c12f77d5f1eb61cdf62b35d661babc2527dd030aa7d8f mongrel2-v1.12.2.tar.bz2 +sha256 b6f1f50c9f65b605342d8792b1cc8a1c151105339030313b9825b6a68d400c10 mongrel2-v1.13.0.tar.bz2 sha256 eb6e2a2baa637d06f6aa762886fbc8939934eb5fdb0b3a5b3882f2a61e9a4357 LICENSE diff --git a/package/mongrel2/mongrel2.mk b/package/mongrel2/mongrel2.mk index cbe7e3fb913..07914ad0fea 100644 --- a/package/mongrel2/mongrel2.mk +++ b/package/mongrel2/mongrel2.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONGREL2_VERSION = 1.12.2 +MONGREL2_VERSION = 1.13.0 MONGREL2_SOURCE = mongrel2-v$(MONGREL2_VERSION).tar.bz2 # Do not use the github helper here, the generated tarball is *NOT* the same # as the one uploaded by upstream for the release. diff --git a/package/monit/monit.mk b/package/monit/monit.mk index 93e310ff78d..6d5d4758134 100644 --- a/package/monit/monit.mk +++ b/package/monit/monit.mk @@ -8,6 +8,8 @@ MONIT_VERSION = 5.26.0 MONIT_SITE = http://mmonit.com/monit/dist MONIT_LICENSE = AGPL-3.0 with OpenSSL exception MONIT_LICENSE_FILES = COPYING +MONIT_CPE_ID_VENDOR = mmonit +MONIT_SELINUX_MODULES = monit # # Touching Makefile.am: MONIT_AUTORECONF = YES diff --git a/package/monkey/Config.in b/package/monkey/Config.in deleted file mode 100644 index 32a95ee6233..00000000000 --- a/package/monkey/Config.in +++ /dev/null @@ -1,24 +0,0 @@ -config BR2_PACKAGE_MONKEY - bool "monkey" - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_STATIC_LIBS # dlopen() - depends on BR2_USE_MMU # fork() - help - Monkey Server is a fast and lightweight web server for Linux - platforms. - - http://monkey-project.com/ - -if BR2_PACKAGE_MONKEY - -config BR2_PACKAGE_MONKEY_SSL - bool "enable SSL/TLS" - select BR2_PACKAGE_MBEDTLS - help - Enable build of the SSL/TLS plugin. - -endif - -comment "monkey needs an toolchain w/ threads, dynamic library" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/monkey/monkey.hash b/package/monkey/monkey.hash deleted file mode 100644 index 83fc0def604..00000000000 --- a/package/monkey/monkey.hash +++ /dev/null @@ -1,4 +0,0 @@ -# md5 from http://monkey-project.com/releases/1.6/monkey-1.6.9.tar.gz.md5, sha256 locally computed: -md5 c401734985a936ee07dbff5eca7d176a monkey-1.6.9.tar.gz -sha256 f1122e89cda627123286542b0a18fcaa131cbe9d4f5dd897d9455157289148fb monkey-1.6.9.tar.gz -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/package/monkey/monkey.mk b/package/monkey/monkey.mk deleted file mode 100644 index 5264713120b..00000000000 --- a/package/monkey/monkey.mk +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# -# monkey -# -################################################################################ - -MONKEY_VERSION_MAJOR = 1.6 -MONKEY_VERSION = $(MONKEY_VERSION_MAJOR).9 -MONKEY_SITE = http://monkey-project.com/releases/$(MONKEY_VERSION_MAJOR) -MONKEY_LICENSE = Apache-2.0 -MONKEY_LICENSE_FILES = LICENSE - -MONKEY_CONF_OPTS = \ - -DINSTALL_SYSCONFDIR=/etc/monkey \ - -DINSTALL_WEBROOTDIR=/var/www \ - -DWITH_SYSTEM_MALLOC=1 - -ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) -MONKEY_CONF_OPTS += -DWITH_UCLIB=1 -DWITH_BACKTRACE=0 -endif - -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -MONKEY_CONF_OPTS += -DWITH_MUSL=1 -DWITH_BACKTRACE=0 -endif - -ifeq ($(BR2_ENABLE_DEBUG),y) -MONKEY_CONF_OPTS += -DWITH_DEBUG=1 -endif - -ifeq ($(BR2_PACKAGE_MONKEY_SSL),y) -MONKEY_CONF_OPTS += -DWITH_PLUGINS=tls -DWITH_MBEDTLS_SHARED=1 -MONKEY_DEPENDENCIES += mbedtls -endif - -$(eval $(cmake-package)) diff --git a/package/mono-gtksharp3/0002-Mono-compilation-error-branch.patch b/package/mono-gtksharp3/0002-Mono-compilation-error-branch.patch new file mode 100644 index 00000000000..0d52401b4a6 --- /dev/null +++ b/package/mono-gtksharp3/0002-Mono-compilation-error-branch.patch @@ -0,0 +1,25 @@ +From fe18352a4bc9f0cf3b6cf63b8cc03c5d6e41863b Mon Sep 17 00:00:00 2001 +From: plprevost +Date: Wed, 12 May 2021 16:46:16 +0200 +Subject: [PATCH] refs issue:#298 Fix mono compilation errors + +[Retrieved from: +https://github.com/mono/gtk-sharp/pull/299/commits/fe18352a4bc9f0cf3b6cf63b8cc03c5d6e41863b] +Signed-off-by: Fabrice Fontaine +--- + sample/test/TestRange.cs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sample/test/TestRange.cs b/sample/test/TestRange.cs +index 82fb81105..8727c9a77 100644 +--- a/sample/test/TestRange.cs ++++ b/sample/test/TestRange.cs +@@ -8,7 +8,7 @@ + + using System; + +-using Gtk; ++using Gtk; using Range = Gtk.Range; + + namespace WidgetViewer { + diff --git a/package/mono/0001-Fix-linkage-with-a-system-libatomic_ops-shared-library.patch b/package/mono/0001-Fix-linkage-with-a-system-libatomic_ops-shared-library.patch new file mode 100644 index 00000000000..66d4d8e100a --- /dev/null +++ b/package/mono/0001-Fix-linkage-with-a-system-libatomic_ops-shared-library.patch @@ -0,0 +1,52 @@ +From 02a44ee1df8176c72e75fd706d1a8f063d3196d5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 5 Nov 2018 22:50:40 +0100 +Subject: Fix linkage with a system libatomic_ops shared library + +Issue #247 (bdwgc). + +When bdwgc is linked with the external libatomic_ops, bdw-gc.pc must +contain the needed dynamic libraries (such as -latomic_ops) otherwise +build of applications could fail on the link stage on some hosts: +* libgc.so: undefined reference to 'AO_fetch_compare_and_swap_emulation' +* libgc.so: undefined reference to 'AO_store_full_emulation' + +So, this commit sets ATOMIC_OPS_LIBS to "-latomic_ops" when a system +atomic_ops library is used and uses ATOMIC_OPS_LIBS in bdw-gc.pc.in. + +* bdw-gc.pc.in (Libs): Add @ATOMIC_OPS_LIBS@. +* configure.ac [$with_libatomic_ops!=no && $with_libatomic_ops!=none +&& $THREADS!=none] (ATOMIC_OPS_LIBS): Set to -latomic_ops; do AC_SUBST. + +Fix is cherry-picked from bdwgc upstream + +Link to original commit https://github.com/ivmai/bdwgc/commit/02a44ee1df8176c72e75fd706d1a8f063d3196d5?branch=02a44ee1df8176c72e75fd706d1a8f063d3196d5&diff=unified + +Signed-off-by: Illia Bitkov + +diff --git a/external/bdwgc/bdw-gc.pc.in b/external/bdwgc/bdw-gc.pc.in +index ef4c2341..a32e7598 100644 +--- a/external/bdwgc/bdw-gc.pc.in ++++ b/external/bdwgc/bdw-gc.pc.in +@@ -6,5 +6,5 @@ includedir=@includedir@ + Name: Boehm-Demers-Weiser Conservative Garbage Collector + Description: A garbage collector for C and C++ + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -lgc ++Libs: -L${libdir} @ATOMIC_OPS_LIBS@ -lgc + Cflags: -I${includedir} +diff --git a/external/bdwgc/configure.ac b/external/bdwgc/configure.ac +index 21abe8fa..9ffe81de 100644 +--- a/external/bdwgc/configure.ac ++++ b/external/bdwgc/configure.ac +@@ -1081,7 +1081,9 @@ AS_IF([test x"$with_libatomic_ops" = xno \ + AC_MSG_CHECKING([which libatomic_ops to use]) + AS_IF([test x"$with_libatomic_ops" != xno], + [ AS_IF([test x"$with_libatomic_ops" != xnone -a x"$THREADS" != xnone], +- [ AC_MSG_RESULT([external]) ], ++ [ AC_MSG_RESULT([external]) ++ ATOMIC_OPS_LIBS="-latomic_ops" ++ AC_SUBST([ATOMIC_OPS_LIBS]) ], + [ AC_MSG_RESULT([none]) + AS_IF([test x"$THREADS" != xnone], + [ AC_DEFINE([GC_BUILTIN_ATOMIC], [1], diff --git a/package/mono/0002-Ongoing-work-on-the-cmake-build.patch b/package/mono/0002-Ongoing-work-on-the-cmake-build.patch new file mode 100644 index 00000000000..afe618f1933 --- /dev/null +++ b/package/mono/0002-Ongoing-work-on-the-cmake-build.patch @@ -0,0 +1,34 @@ +From 17650f7e0f571287bb14bb9b4fbde7b91d842bb4 Mon Sep 17 00:00:00 2001 +From: monojenkins +Date: Thu, 24 Sep 2020 12:17:34 -0400 +Subject: [PATCH] Ongoing work on the cmake build. (#20428) + +* Fix some warnings. +* Avoid creating netcore/config.make. +* Fix CPU_COUNT test. +* Add missing source file. + +Co-authored-by: vargaz + +[Retrieved (and updated to keep only update of icall.c) from: +https://github.com/mono/mono/commit/17650f7e0f571287bb14bb9b4fbde7b91d842bb4] +Signed-off-by: Fabrice Fontaine +--- + mono/metadata/CMakeLists.txt | 1 + + mono/metadata/icall.c | 2 +- + mono/mini/CMakeLists.txt | 5 +++++ + 3 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/mono/metadata/icall.c b/mono/metadata/icall.c +index fa991bc72e57..f2c003ac1ff1 100644 +--- a/mono/metadata/icall.c ++++ b/mono/metadata/icall.c +@@ -9605,7 +9605,7 @@ mono_create_icall_signatures (void) + int n; + while ((n = sig->param_count)) { + --sig->param_count; // remove ret +- gsize_a *types = (gsize*)(sig + 1); ++ gsize_a *types = (gsize_a*)(sig + 1); + for (int i = 0; i < n; ++i) { + gsize index = *types++; + g_assert (index < G_N_ELEMENTS (lookup)); diff --git a/package/mono/Config.in b/package/mono/Config.in index 44b8cf85817..76178bcf9be 100644 --- a/package/mono/Config.in +++ b/package/mono/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_MONO bool "mono" depends on BR2_PACKAGE_MONO_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_getattr_np() depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBATOMIC_OPS help @@ -23,7 +23,7 @@ config BR2_PACKAGE_MONO http://download.mono-project.com/sources/mono/ -comment "mono needs a toolchain w/ C++, threads, dynamic library" +comment "mono needs a toolchain w/ C++, NPTL, dynamic library" depends on BR2_PACKAGE_MONO_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/mono/mono.mk b/package/mono/mono.mk index df3481a4988..27f7886224f 100644 --- a/package/mono/mono.mk +++ b/package/mono/mono.mk @@ -53,7 +53,7 @@ HOST_MONO_CONF_OPTS = $(MONO_COMMON_CONF_OPTS) --disable-libraries # ensure monolite is used HOST_MONO_MAKE_OPTS += EXTERNAL_MCS=false -HOST_MONO_DEPENDENCIES = host-monolite host-gettext +HOST_MONO_DEPENDENCIES = host-monolite host-gettext host-python3 define HOST_MONO_SETUP_MONOLITE rm -rf $(@D)/mcs/class/lib/monolite diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash index fa83af77111..24b8869d136 100644 --- a/package/mosquitto/mosquitto.hash +++ b/package/mosquitto/mosquitto.hash @@ -1,8 +1,8 @@ # Locally calculated after checking gpg signature -# from https://mosquitto.org/files/source/mosquitto-2.0.8.tar.gz.asc -sha256 b15da8fc4edcb91d554e1259e220ea0173ef639ceaa4b465e06feb7e125b84bf mosquitto-2.0.8.tar.gz +# from https://mosquitto.org/files/source/mosquitto-2.0.13.tar.gz.asc +sha256 d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925 mosquitto-2.0.14.tar.gz # License files sha256 d3c4ccace4e5d3cc89d34cf2a0bc85b8596bfc0a32b815d0d77f9b7c41b5350c LICENSE.txt -sha256 0becf16567beb77fa252b7664631dd177c8f9a1889e48995b45379c7130e5303 epl-v20 -sha256 e8cf7d54ea46c19aba793983889b7f7425e1ebfcaaccec764a7db091646e203c edl-v10 +sha256 8c349f80764d0648e645f41ef23772a70c995a0924b5235f735f4a3d09df127c epl-v20 +sha256 86fc4a3f97cb769c04e8da557036c1066eb8bb22b2d0a5dd31464990fe84047c edl-v10 diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk index be9d885976e..3e7a728acb8 100644 --- a/package/mosquitto/mosquitto.mk +++ b/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 2.0.8 +MOSQUITTO_VERSION = 2.0.14 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10 diff --git a/package/motion/motion.hash b/package/motion/motion.hash index 96ab1c4338d..085ac904495 100644 --- a/package/motion/motion.hash +++ b/package/motion/motion.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 dafa4264b2d8e4778f8be5871f09b6c0ec710d5a836182c583469c18db944d70 motion-4.3.2.tar.gz -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad doc/COPYING +sha256 3fb0d14fff8a8a143716223b5d2d55c0f52b11badf13a2e485b98bae3cf1b572 motion-4.4.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/motion/motion.mk b/package/motion/motion.mk index 29b70fd85fb..5d54ecea01d 100644 --- a/package/motion/motion.mk +++ b/package/motion/motion.mk @@ -4,10 +4,11 @@ # ################################################################################ -MOTION_VERSION = 4.3.2 +MOTION_VERSION = 4.4.0 MOTION_SITE = $(call github,Motion-Project,motion,release-$(MOTION_VERSION)) MOTION_LICENSE = GPL-2.0 -MOTION_LICENSE_FILES = doc/COPYING +MOTION_LICENSE_FILES = LICENSE +MOTION_CPE_ID_VENDOR = motion_project MOTION_DEPENDENCIES = host-pkgconf jpeg libmicrohttpd $(TARGET_NLS_DEPENDENCIES) # From git MOTION_AUTORECONF = YES diff --git a/package/mp4v2/0001-Fix-GCC7-build.patch b/package/mp4v2/0001-Fix-GCC7-build.patch deleted file mode 100644 index 4e39be4a79b..00000000000 --- a/package/mp4v2/0001-Fix-GCC7-build.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 855e9674232808ff3be7191b697dfb56917db21f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= -Date: Wed, 8 Feb 2017 00:56:32 +0000 -Subject: [PATCH] Fix GCC7 build - -if (*pSlash != '\0') { - -As it stands the body of that if will always execute and when there are -no encoding parameters ppEncodingParams will be returned as a pointer to -an empty string rather than as a null pointer - -Signed-off-by: Peter Korsgaard -[Upstream status: https://github.com/TechSmith/mp4v2/pull/36] ---- - src/rtphint.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/rtphint.cpp b/src/rtphint.cpp -index e07309d..1eb01f5 100644 ---- a/src/rtphint.cpp -+++ b/src/rtphint.cpp -@@ -339,7 +339,7 @@ void MP4RtpHintTrack::GetPayload( - pSlash = strchr(pSlash, '/'); - if (pSlash != NULL) { - pSlash++; -- if (pSlash != '\0') { -+ if (*pSlash != '\0') { - length = (uint32_t)strlen(pRtpMap) - (pSlash - pRtpMap); - *ppEncodingParams = (char *)MP4Calloc(length + 1); - strncpy(*ppEncodingParams, pSlash, length); --- -2.11.0 - diff --git a/package/mp4v2/0003-Static-cast-to-unsigned-int-for-cases.patch b/package/mp4v2/0001-Static-cast-to-unsigned-int-for-cases.patch similarity index 100% rename from package/mp4v2/0003-Static-cast-to-unsigned-int-for-cases.patch rename to package/mp4v2/0001-Static-cast-to-unsigned-int-for-cases.patch diff --git a/package/mp4v2/0002-src-mp4track.cpp-replace-nullptr-by-NULL.patch b/package/mp4v2/0002-src-mp4track.cpp-replace-nullptr-by-NULL.patch deleted file mode 100644 index 72bae463c98..00000000000 --- a/package/mp4v2/0002-src-mp4track.cpp-replace-nullptr-by-NULL.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 78cf76b5d661e37e958163c37c0ad95940c09591 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 30 May 2020 11:42:19 +0200 -Subject: [PATCH] src/mp4track.cpp: replace nullptr by NULL - -Commit 15ec11166ba9ee7b77631d0d9234522f656cfd66 added code that uses -nullptr. nullptr is C++11, it will break the build with gcc < 5. - -Semantically, NULL and nullptr are different, so should not be mixed. -In this situaiton, m_File.FindAtom() indeed does not return nullptr, -but NULL (on error, that is). - -Switch back to comparing against NULL. - -Fixes: - - http://autobuild.buildroot.org/results/14937c96a82fb3d10e5d83bd7b2905b846fb09f9 - -Signed-off-by: Fabrice Fontaine -[Upstream status: not sent yet] ---- - src/mp4track.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/mp4track.cpp b/src/mp4track.cpp -index 4b8fc9d..42489eb 100644 ---- a/src/mp4track.cpp -+++ b/src/mp4track.cpp -@@ -908,16 +908,16 @@ File* MP4Track::GetSampleFile( MP4SampleId sampleId ) - MP4FtypAtom *pFtypAtom = reinterpret_cast( m_File.FindAtom( "ftyp" ) ); - - // MOV spec does not require "ftyp" atom... -- if ( pFtypAtom == nullptr ) -+ if ( pFtypAtom == NULL ) - { -- return nullptr; -+ return NULL; - } - else - { - // ... but most often it is present with a "qt " value - const char *majorBrand = pFtypAtom->majorBrand.GetValue(); - if ( ::strcmp( pFtypAtom->majorBrand.GetValue(), "qt " ) == 0 ) -- return nullptr; -+ return NULL; - } - throw new Exception( "invalid stsd entry", __FILE__, __LINE__, __FUNCTION__ ); - } --- -2.26.2 - diff --git a/package/mp4v2/Config.in b/package/mp4v2/Config.in index 172d1baabeb..00e80cd358f 100644 --- a/package/mp4v2/Config.in +++ b/package/mp4v2/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_MP4V2 bool "mp4v2" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++11 help The MP4v2 library provides functions to read, create, and modify mp4 files. @@ -18,5 +19,6 @@ config BR2_PACKAGE_MP4V2_UTIL endif -comment "mp4v2 needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "mp4v2 needs a toolchain w/ C++, gcc >= 5" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/mp4v2/mp4v2.hash b/package/mp4v2/mp4v2.hash index 85fce493842..7aa5402c8fd 100644 --- a/package/mp4v2/mp4v2.hash +++ b/package/mp4v2/mp4v2.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e3ad6c2dc451b0875dbe34bfe7f51f4fe278b391434c886083e6d3ecd5fa08c2 mp4v2-4.1.3.tar.gz +sha256 de31e430e2641f25b67d10c47b0cda35279881b0196120e33bcd71b9cef1bd58 mp4v2-5.0.1.tar.gz sha256 15e38684c940176e2fc76331a2299d2ab5115ac997078f768ef31b896af69fc5 COPYING diff --git a/package/mp4v2/mp4v2.mk b/package/mp4v2/mp4v2.mk index 478d10d4726..6d29228a135 100644 --- a/package/mp4v2/mp4v2.mk +++ b/package/mp4v2/mp4v2.mk @@ -4,7 +4,7 @@ # ################################################################################ -MP4V2_VERSION = 4.1.3 +MP4V2_VERSION = 5.0.1 MP4V2_SITE = \ $(call github,TechSmith,mp4v2,Release-ThirdParty-MP4v2-$(MP4V2_VERSION)) MP4V2_INSTALL_STAGING = YES diff --git a/package/mpc/mpc.hash b/package/mpc/mpc.hash index fa98f673d54..0520a7b9b4a 100644 --- a/package/mpc/mpc.hash +++ b/package/mpc/mpc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e mpc-1.1.0.tar.gz -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSER +sha256 17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 mpc-1.2.1.tar.gz +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSER diff --git a/package/mpc/mpc.mk b/package/mpc/mpc.mk index 0e84bc27701..364e4c3c85a 100644 --- a/package/mpc/mpc.mk +++ b/package/mpc/mpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPC_VERSION = 1.1.0 +MPC_VERSION = 1.2.1 MPC_SITE = $(BR2_GNU_MIRROR)/mpc MPC_LICENSE = LGPL-3.0+ MPC_LICENSE_FILES = COPYING.LESSER diff --git a/package/mpd-mpc/mpd-mpc.hash b/package/mpd-mpc/mpd-mpc.hash index 9c55bcf03dd..4f4af9a91d6 100644 --- a/package/mpd-mpc/mpd-mpc.hash +++ b/package/mpd-mpc/mpd-mpc.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 4f40ccbe18f5095437283cfc525a97815e983cbfd3a29e48ff610fa4f1bf1296 mpc-0.33.tar.xz +sha256 691e3f3654bc10d022bb0310234d0bc2d8c075a698f09924d9ebed8f506fda20 mpc-0.34.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mpd-mpc/mpd-mpc.mk b/package/mpd-mpc/mpd-mpc.mk index 6eebc63cca2..00d1964fe6b 100644 --- a/package/mpd-mpc/mpd-mpc.mk +++ b/package/mpd-mpc/mpd-mpc.mk @@ -5,11 +5,12 @@ ################################################################################ MPD_MPC_VERSION_MAJOR = 0 -MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).33 +MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).34 MPD_MPC_SITE = http://www.musicpd.org/download/mpc/$(MPD_MPC_VERSION_MAJOR) MPD_MPC_SOURCE = mpc-$(MPD_MPC_VERSION).tar.xz MPD_MPC_LICENSE = GPL-2.0+ MPD_MPC_LICENSE_FILES = COPYING MPD_MPC_DEPENDENCIES = host-pkgconf libmpdclient +MPD_MPC_CONF_OPTS = -Ddocumentation=disabled $(eval $(meson-package)) diff --git a/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch b/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch index 81bd981d653..390cf125831 100644 --- a/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch +++ b/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch @@ -20,7 +20,7 @@ diff --git a/src/event/meson.build b/src/event/meson.build index bc13bbcd2..88370c03a 100644 --- a/src/event/meson.build +++ b/src/event/meson.build -@@ -21,9 +21,13 @@ event = static_library( +@@ -47,9 +47,13 @@ event = declare_dependency( ], ) @@ -32,8 +32,8 @@ index bc13bbcd2..88370c03a 100644 dependencies: [ + atomic_dep, thread_dep, + net_dep, system_dep, - boost_dep, -- 2.20.1 diff --git a/package/mpd/0002-src-tag-meson.build-fix-GenParseName-linking.patch b/package/mpd/0002-src-tag-meson.build-fix-GenParseName-linking.patch deleted file mode 100644 index e120b3e4ea4..00000000000 --- a/package/mpd/0002-src-tag-meson.build-fix-GenParseName-linking.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4c37d0b316a15213381bd7e07c5dee7526471fc8 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 1 Feb 2021 08:10:45 +0100 -Subject: [PATCH] src/tag/meson.build: fix GenParseName linking - -Set link_language to cpp for GenParseName to avoid the following build -failure due to gcc being used to link a C and C++ source file: - -FAILED: src/tag/GenParseName -/usr/bin/gcc -o src/tag/GenParseName src/tag/GenParseName.p/GenParseName.cxx.o src/tag/GenParseName.p/Names.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -/usr/bin/ld: src/tag/GenParseName.p/GenParseName.cxx.o: in function `std::_Rb_tree >, std::pair > const, TagType>, std::_Select1st > const, TagType> >, std::less > >, std::allocator > const, TagType> > >::_M_erase(std::_Rb_tree_node > const, TagType> >*)': -GenParseName.cxx: -(.text._ZNSt8_Rb_treeISt17basic_string_viewIcSt11char_traitsIcEESt4pairIKS3_7TagTypeESt10_Select1stIS7_ESt4lessIS3_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E[_ZNSt8_Rb_treeISt17basic_string_viewIcSt11char_traitsIcEESt4pairIKS3_7TagTypeESt10_Select1stIS7_ESt4lessIS3_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E]+0x23): undefined reference to `operator delete(void*)' - -Fixes: - - http://autobuild.buildroot.org/results/871e1362c44e5b68a149e6a5dd3caf99ea0d904a - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/MusicPlayerDaemon/MPD/pull/1068] ---- - src/tag/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/tag/meson.build b/src/tag/meson.build -index 064eada18..4fda35e52 100644 ---- a/src/tag/meson.build -+++ b/src/tag/meson.build -@@ -2,6 +2,7 @@ generate_parse_name = executable( - 'GenParseName', - 'GenParseName.cxx', - 'Names.c', -+ link_language: 'cpp', - native: true, - ) - --- -2.29.2 - diff --git a/package/mpd/Config.in b/package/mpd/Config.in index 9748c7d0a52..fc0f4094484 100644 --- a/package/mpd/Config.in +++ b/package/mpd/Config.in @@ -1,13 +1,14 @@ menuconfig BR2_PACKAGE_MPD bool "mpd" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_WCHAR # flac + depends on BR2_USE_WCHAR # boost depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 - depends on BR2_HOST_GCC_AT_LEAST_7 # C++17 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 + depends on BR2_HOST_GCC_AT_LEAST_8 # C++17 select BR2_PACKAGE_BOOST + select BR2_PACKAGE_FMT select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help MPD is a flexible, powerful, server-side application @@ -15,7 +16,7 @@ menuconfig BR2_PACKAGE_MPD it can play a variety of sound files while being controlled by its network protocol. - http://www.musicpd.org + https://www.musicpd.org if BR2_PACKAGE_MPD @@ -58,13 +59,6 @@ config BR2_PACKAGE_MPD_SOUNDCLOUD help Enable soundcloud.com playlist support. -config BR2_PACKAGE_MPD_TIDAL - bool "tidal" - select BR2_PACKAGE_MPD_CURL - select BR2_PACKAGE_YAJL - help - Play songs from the commercial streaming service TIDAL. - comment "Converter plugins" config BR2_PACKAGE_MPD_LIBSAMPLERATE @@ -361,7 +355,7 @@ config BR2_PACKAGE_MPD_LIBMPDCLIENT config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT bool "neighbor discovery support" - depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP + depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || !BR2_PACKAGE_MPD_UPNP_DISABLED help Enable support for neighbor discovery. This option can be used in conjunction with the smbclient @@ -380,13 +374,45 @@ config BR2_PACKAGE_MPD_TCP You want this on if MPD and the client(s) work on different machines (the usual scenario). -config BR2_PACKAGE_MPD_UPNP - bool "UPnP" +choice + prompt "UPnP" + default BR2_PACKAGE_MPD_UPNP_PUPNP if BR2_PACKAGE_MPD_UPNP # legacy + default BR2_PACKAGE_MPD_UPNP_DISABLED + help + Enable MPD to access a UPnP based media server. + + For further information, see + https://www.lesbonscomptes.com/upmpdcli/pages/upmpdcli-or-mpdupnp.html + +config BR2_PACKAGE_MPD_UPNP_PUPNP + bool "pupnp" select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBUPNP select BR2_PACKAGE_MPD_CURL help - Enable MPD UPnP client support. + Provides UPnP database access through libupnp + (the legacy Portable SDK for UPnP devices). + + Introduces least additional dependencies. + +config BR2_PACKAGE_MPD_UPNP_NPUPNP + bool "npupnp" + select BR2_PACKAGE_LIBNPUPNP + select BR2_PACKAGE_MPD_CURL + help + Provides UPnP database access through libnpupnp + (a C++ reimplementation of the Portable UPnP library). + + This implementation is more modern, but also brings + additional features not needed in this context, thus + consuming more space. + +config BR2_PACKAGE_MPD_UPNP_DISABLED + bool "disabled" + help + No UPnP client functionality. + +endchoice comment "Tag plugins" @@ -398,10 +424,10 @@ config BR2_PACKAGE_MPD_ID3TAG endif -comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 7, host gcc >= 7" +comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 8, host gcc >= 8" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ - !BR2_HOST_GCC_AT_LEAST_7 + !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \ + !BR2_HOST_GCC_AT_LEAST_8 diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash index 866c61d15f9..353df25b399 100644 --- a/package/mpd/mpd.hash +++ b/package/mpd/mpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 338012037b5e67730529187c555a54cc567a85b15a7e8ddb3a807b1971566ccf mpd-0.22.3.tar.xz +sha256 960dcbac717c388f5dcc4fd945e3af19a476f2b15f367e9653d4c7a948768211 mpd-0.23.7.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk index 5dfb5b42a4e..20c8f77fa81 100644 --- a/package/mpd/mpd.mk +++ b/package/mpd/mpd.mk @@ -4,16 +4,22 @@ # ################################################################################ -MPD_VERSION_MAJOR = 0.22 -MPD_VERSION = $(MPD_VERSION_MAJOR).3 +MPD_VERSION_MAJOR = 0.23 +MPD_VERSION = $(MPD_VERSION_MAJOR).7 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz -MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR) -MPD_DEPENDENCIES = host-pkgconf boost +MPD_SITE = https://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR) +MPD_DEPENDENCIES = host-pkgconf boost fmt MPD_LICENSE = GPL-2.0+ MPD_LICENSE_FILES = COPYING +# these refer to the FreeBSD PPP daemon +MPD_IGNORE_CVES = CVE-2020-7465 CVE-2020-7466 +MPD_SELINUX_MODULES = mpd MPD_CONF_OPTS = \ -Daudiofile=disabled \ - -Ddocumentation=disabled + -Ddocumentation=disabled \ + -Dopenmpt=disabled \ + -Dpipewire=disabled \ + -Dsnapcast=false # Zeroconf support depends on libdns_sd from avahi. ifeq ($(BR2_PACKAGE_MPD_AVAHI_SUPPORT),y) @@ -276,13 +282,6 @@ ifneq ($(BR2_PACKAGE_MPD_TCP),y) MPD_CONF_OPTS += -Dtcp=true endif -ifeq ($(BR2_PACKAGE_MPD_TIDAL),y) -MPD_DEPENDENCIES += yajl -MPD_CONF_OPTS += -Dtidal=enabled -else -MPD_CONF_OPTS += -Dtidal=disabled -endif - ifeq ($(BR2_PACKAGE_MPD_TREMOR),y) MPD_DEPENDENCIES += tremor MPD_CONF_OPTS += -Dtremor=enabled @@ -297,12 +296,16 @@ else MPD_CONF_OPTS += -Dtwolame=disabled endif -ifeq ($(BR2_PACKAGE_MPD_UPNP),y) +ifeq ($(BR2_PACKAGE_MPD_UPNP_PUPNP),y) MPD_DEPENDENCIES += \ expat \ libupnp -MPD_CONF_OPTS += -Dupnp=enabled -else +MPD_CONF_OPTS += -Dupnp=pupnp +else ifeq ($(BR2_PACKAGE_MPD_UPNP_NPUPNP),y) +MPD_DEPENDENCIES += \ + libnpupnp +MPD_CONF_OPTS += -Dupnp=npupnp +else ifeq ($(BR2_PACKAGE_MPD_UPNP_DISABLED),y) MPD_CONF_OPTS += -Dupnp=disabled endif diff --git a/package/mpdecimal/0001-Add-minimal-support-for-enable-disable-shared-static.patch b/package/mpdecimal/0001-Add-minimal-support-for-enable-disable-shared-static.patch deleted file mode 100644 index 60d6b4bb02e..00000000000 --- a/package/mpdecimal/0001-Add-minimal-support-for-enable-disable-shared-static.patch +++ /dev/null @@ -1,147 +0,0 @@ -From c349964887901848fb4cd5db53a5bcb6dae27aaa Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 23 Nov 2014 10:16:33 +0100 -Subject: [PATCH] Add minimal support for --{enable,disable}-{shared,static} - -mpdecimal uses autoconf, but not automake or libtool, so this commit -adds some basic handling of --{enable,disable}-{shared,static}, so -that building the shared library can be disabled in pure static -library contexts. - -Signed-off-by: Thomas Petazzoni -[Fabrice: update for 2.5.0 (add libmpdec++)] -Signed-off-by: Fabrice Fontaine ---- - Makefile.in | 6 ++++++ - configure.ac | 13 +++++++++++++ - libmpdec/Makefile.in | 11 ++++++++++- - 3 files changed, 29 insertions(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index 2c91891..0c44f36 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -9,6 +9,8 @@ LIBSTATIC = @LIBSTATIC@ - LIBSONAME = @LIBSONAME@ - LIBSHARED = @LIBSHARED@ - INSTALL = @INSTALL@ -+BUILD_SHARED = @BUILD_SHARED@ -+BUILD_STATIC = @BUILD_STATIC@ - - prefix = @prefix@ - exec_prefix = @exec_prefix@ -@@ -32,9 +34,13 @@ install: FORCE - $(INSTALL) -d -m 755 $(DESTDIR)$(includedir) - $(INSTALL) -m 644 libmpdec/mpdecimal.h $(DESTDIR)$(includedir) - $(INSTALL) -d -m 755 $(DESTDIR)$(libdir) -+ifeq ($(BUILD_STATIC),yes) - $(INSTALL) -m 644 libmpdec/$(LIBSTATIC) $(DESTDIR)$(libdir) -+endif -+ifeq ($(BUILD_SHARED),yes) - $(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir) - cd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) $(LIBNAME) -+endif - $(INSTALL) -d -m 755 $(DESTDIR)$(docdir) - cp -R doc/* $(DESTDIR)$(docdir) - -@@ -74,9 +80,13 @@ install_libcxx: install_lib - $(INSTALL) -d -m 755 $(DESTDIR)$(includedir) - $(INSTALL) -m 644 libmpdec++/decimal.hh $(DESTDIR)$(includedir) - $(INSTALL) -d -m 755 $(DESTDIR)$(libdir) -+ifeq ($(BUILD_STATIC),yes) - $(INSTALL) -m 644 libmpdec++/$(LIBSTATIC_CXX) $(DESTDIR)$(libdir) -+endif -+ifeq ($(BUILD_SHARED),yes) - $(INSTALL) -m 755 libmpdec++/$(LIBSHARED_CXX) $(DESTDIR)$(libdir) - cd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED_CXX) $(LIBSONAME_CXX) && ln -sf $(LIBSHARED_CXX) $(LIBNAME_CXX) -+endif - cp -R doc/libmpdec++ $(DESTDIR)$(docdir) - - -diff --git a/configure.ac b/configure.ac -index 7ee8f86..2b3e505 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -88,6 +88,19 @@ CFLAGS="$saved_cflags" - AC_PROG_INSTALL - AC_SUBST(INSTALL) - -+AC_ARG_ENABLE([shared], -+ [AS_HELP_STRING([--enable-shared], [build shared library])], -+ [BUILD_SHARED=$enableval], -+ [BUILD_SHARED=yes]) -+ -+AC_ARG_ENABLE([static], -+ [AS_HELP_STRING([--enable-static], [build static library])], -+ [BUILD_STATIC=$enableval], -+ [BUILD_STATIC=yes]) -+ -+AC_SUBST(BUILD_SHARED) -+AC_SUBST(BUILD_STATIC) -+ - # _FORTIFY_SOURCE wrappers for memmove and bcopy are incorrect: - # http://sourceware.org/ml/libc-alpha/2010-12/msg00009.html - AC_MSG_CHECKING(for glibc _FORTIFY_SOURCE/memmove bug) -diff --git a/libmpdec/Makefile.in b/libmpdec/Makefile.in -index d9619a3..985c73c 100644 ---- a/libmpdec/Makefile.in -+++ b/libmpdec/Makefile.in -@@ -7,6 +7,8 @@ - LIBSTATIC = @LIBSTATIC@ - LIBSONAME = @LIBSONAME@ - LIBSHARED = @LIBSHARED@ -+BUILD_SHARED = @BUILD_SHARED@ -+BUILD_STATIC = @BUILD_STATIC@ - - CC = @CC@ - LD = @LD@ -@@ -32,8 +34,15 @@ ifeq ($(MAKECMDGOALS), profile_use) - MPD_LDFLAGS += $(MPD_PUSE) - endif - -+ifeq ($(BUILD_SHARED),yes) -+TARGETS += $(LIBSHARED) -+endif -+ -+ifeq ($(BUILD_STATIC),yes) -+TARGETS += $(LIBSTATIC) -+endif - --default: $(LIBSTATIC) $(LIBSHARED) -+default: $(TARGETS) - - - OBJS := basearith.o context.o constants.o convolute.o crt.o mpdecimal.o \ -diff --git a/libmpdec/Makefile.in b/libmpdec/Makefile.in -index d9619a3..985c73c 100644 ---- a/libmpdec++/Makefile.in -+++ b/libmpdec++/Makefile.in -@@ -13,6 +13,8 @@ LIBSTATIC_CXX = @LIBSTATIC_CXX@ - LIBNAME_CXX = @LIBNAME_CXX@ - LIBSONAME_CXX = @LIBSONAME_CXX@ - LIBSHARED_CXX = @LIBSHARED_CXX@ -+BUILD_SHARED = @BUILD_SHARED@ -+BUILD_STATIC = @BUILD_STATIC@ - - CXX = @CXX@ - LDXX = @LDXX@ -@@ -39,8 +41,15 @@ ifeq ($(MAKECMDGOALS), profile_use) - MPD_LDXXFLAGS += $(MPD_PUSE) - endif - -+ifeq ($(BUILD_SHARED),yes) -+TARGETS += $(LIBSHARED_CXX) -+endif -+ -+ifeq ($(BUILD_STATIC),yes) -+TARGETS += $(LIBSTATIC_CXX) -+endif - --default: $(LIBSTATIC_CXX) $(LIBSHARED_CXX) -+default: $(TARGETS) - - - OBJS := decimal.o --- -2.1.0 - diff --git a/package/mpdecimal/mpdecimal.hash b/package/mpdecimal/mpdecimal.hash index c931ee4a6da..81150c75759 100644 --- a/package/mpdecimal/mpdecimal.hash +++ b/package/mpdecimal/mpdecimal.hash @@ -1,4 +1,4 @@ # From http://www.bytereef.org/mpdecimal/download.html -sha256 15417edc8e12a57d1d9d75fa7e3f22b158a3b98f44db9d694cfd2acde8dfa0ca mpdecimal-2.5.0.tar.gz +sha256 9f9cd4c041f99b5c49ffb7b59d9f12d95b683d88585608aa56a6307667b2b21f mpdecimal-2.5.1.tar.gz # Locally computed sha256 b07528d8b1dbf1e2d2741052996f0876e23342ce2d30d0effa39c5457716c25a LICENSE.txt diff --git a/package/mpdecimal/mpdecimal.mk b/package/mpdecimal/mpdecimal.mk index fa310a22741..aa322df3408 100644 --- a/package/mpdecimal/mpdecimal.mk +++ b/package/mpdecimal/mpdecimal.mk @@ -5,12 +5,14 @@ ################################################################################ MPDECIMAL_SITE = http://www.bytereef.org/software/mpdecimal/releases -MPDECIMAL_VERSION = 2.5.0 +MPDECIMAL_VERSION = 2.5.1 MPDECIMAL_INSTALL_STAGING = YES MPDECIMAL_LICENSE = BSD-2-Clause MPDECIMAL_LICENSE_FILES = LICENSE.txt MPDECIMAL_CONF_OPTS = LD="$(TARGET_CC)" -MPDECIMAL_AUTORECONF = YES + +# threads are only needed for tests +MPDECIMAL_MAKE_OPTS = MPD_PTHREAD= # On i386, by default, mpdecimal tries to uses which is not # available in musl/uclibc. So in this case, we tell mpdecimal to use diff --git a/package/mpfr/mpfr.hash b/package/mpfr/mpfr.hash index ea44b8c20a4..35056f626ae 100644 --- a/package/mpfr/mpfr.hash +++ b/package/mpfr/mpfr.hash @@ -1,5 +1,5 @@ -# From http://lists.gnu.org/archive/html/info-gnu/2019-01/msg00019.html -sha256 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a mpfr-4.0.2.tar.xz +# Locally calculated +sha256 0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f mpfr-4.1.0.tar.xz # Hash for license file -sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 COPYING.LESSER +sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 COPYING.LESSER diff --git a/package/mpfr/mpfr.mk b/package/mpfr/mpfr.mk index 837aff3aa54..cd558dae0ea 100644 --- a/package/mpfr/mpfr.mk +++ b/package/mpfr/mpfr.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPFR_VERSION = 4.0.2 +MPFR_VERSION = 4.1.0 MPFR_SITE = http://www.mpfr.org/mpfr-$(MPFR_VERSION) MPFR_SOURCE = mpfr-$(MPFR_VERSION).tar.xz MPFR_LICENSE = LGPL-3.0+ diff --git a/package/mpg123/mpg123.hash b/package/mpg123/mpg123.hash index 02c40ad0866..e5fb09b46a0 100644 --- a/package/mpg123/mpg123.hash +++ b/package/mpg123/mpg123.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/mpg123/files/mpg123/1.25.13/ -sha1 2b6428dc563c56fb1374191d1244c8ac928e4d89 mpg123-1.25.13.tar.bz2 -md5 294a6c30546504ec3d0deac2b2ea22be mpg123-1.25.13.tar.bz2 +# From https://sourceforge.net/projects/mpg123/files/mpg123/1.25.15/ +sha1 286fcb83afad3ecbfea60434d3ee1b6d7f41bb7c mpg123-1.25.15.tar.bz2 +md5 9a050d4b3573661c606f8095a3f34ca3 mpg123-1.25.15.tar.bz2 # Locally calculated -sha256 90306848359c793fd43b9906e52201df18775742dc3c81c06ab67a806509890a mpg123-1.25.13.tar.bz2 +sha256 503a76d82d97f1a6513bbeb284e460a99fb17ef80f23a661d8fc026ce6adcbbc mpg123-1.25.15.tar.bz2 # License file sha256 f40e0dd86b27b52e429b693a87b3ca63ae0a98a4d142e77207aa6bdf1db7a295 COPYING diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk index 588a4ffc322..fbb011c2c2d 100644 --- a/package/mpg123/mpg123.mk +++ b/package/mpg123/mpg123.mk @@ -4,10 +4,9 @@ # ################################################################################ -MPG123_VERSION = 1.25.13 +MPG123_VERSION = 1.25.15 MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2 MPG123_SITE = http://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) -MPG123_CONF_OPTS = --disable-lfs-alias MPG123_INSTALL_STAGING = YES MPG123_LICENSE = LGPL-2.1 MPG123_LICENSE_FILES = COPYING diff --git a/package/mpv/Config.in b/package/mpv/Config.in index 812491e3a9e..81b1e24b5f0 100644 --- a/package/mpv/Config.in +++ b/package/mpv/Config.in @@ -1,3 +1,9 @@ +config BR2_PACKAGE_MPV_SUPPORTS_VAAPI + bool + default y if BR2_PACKAGE_LIBDRM && BR2_PACKAGE_MESA3D_OPENGL_EGL + default y if BR2_PACKAGE_WAYLAND + default y if BR2_PACKAGE_XORG7 + config BR2_PACKAGE_MPV bool "mpv" depends on BR2_INSTALL_LIBSTDCPP # libass diff --git a/package/mpv/mpv.hash b/package/mpv/mpv.hash index 548a0f0159e..0c7eb5f8a5a 100644 --- a/package/mpv/mpv.hash +++ b/package/mpv/mpv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f1b9baf5dc2eeaf376597c28a6281facf6ed98ff3d567e3955c95bf2459520b4 mpv-0.33.0.tar.gz +sha256 100a116b9f23bdcda3a596e9f26be3a69f166a4f1d00910d1789b6571c46f3a9 mpv-0.33.1.tar.gz sha256 a99d7b0625a0566271aad6de694e52eafd566db024f9516720d526c680d3ee30 LICENSE.GPL diff --git a/package/mpv/mpv.mk b/package/mpv/mpv.mk index 18f307d186b..ff77f248e56 100644 --- a/package/mpv/mpv.mk +++ b/package/mpv/mpv.mk @@ -4,13 +4,15 @@ # ################################################################################ -MPV_VERSION = 0.33.0 +MPV_VERSION = 0.33.1 MPV_SITE = $(call github,mpv-player,mpv,v$(MPV_VERSION)) MPV_DEPENDENCIES = \ host-pkgconf ffmpeg libass zlib \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) MPV_LICENSE = GPL-2.0+ MPV_LICENSE_FILES = LICENSE.GPL +MPV_CPE_ID_VENDOR = mpv +MPV_INSTALL_STAGING = YES MPV_NEEDS_EXTERNAL_WAF = YES @@ -27,6 +29,16 @@ MPV_CONF_OPTS = \ --disable-uchardet \ --disable-vapoursynth +ifeq ($(BR2_REPRODUCIBLE),y) +MPV_CONF_OPTS += --disable-build-date +endif + +ifeq ($(BR2_STATIC_LIBS),y) +MPV_CONF_OPTS += --disable-libmpv-shared --enable-libmpv-static +else +MPV_CONF_OPTS += --enable-libmpv-shared --disable-libmpv-static +endif + # ALSA support requires pcm+mixer ifeq ($(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yy) MPV_CONF_OPTS += --enable-alsa @@ -35,12 +47,16 @@ else MPV_CONF_OPTS += --disable-alsa endif -# GBM support is provided by mesa3d when EGL=y -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) +ifeq ($(BR2_PACKAGE_MESA3D_GBM),y) MPV_CONF_OPTS += --enable-gbm MPV_DEPENDENCIES += mesa3d +ifeq ($(BR2_PACKAGE_LIBDRM),y) +MPV_CONF_OPTS += --enable-egl-drm +else +MPV_CONF_OPTS += --disable-egl-drm +endif else -MPV_CONF_OPTS += --disable-gbm +MPV_CONF_OPTS += --disable-gbm --disable-egl-drm endif # jack support @@ -129,6 +145,12 @@ endif ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) MPV_CONF_OPTS += --enable-gl MPV_DEPENDENCIES += libgl +else ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) +MPV_CONF_OPTS += --enable-gl +MPV_DEPENDENCIES += libgles +else ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) +MPV_CONF_OPTS += --enable-gl +MPV_DEPENDENCIES += libegl else MPV_CONF_OPTS += --disable-gl endif @@ -159,17 +181,16 @@ MPV_CONF_OPTS += --disable-rpi endif # va-api support -# This requires one or more of the egl-drm, wayland, x11 backends -# For now we support wayland and x11 -ifeq ($(BR2_PACKAGE_LIBVA),y) -ifneq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_XORG7),) +ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MPV_SUPPORTS_VAAPI),yy) MPV_CONF_OPTS += --enable-vaapi MPV_DEPENDENCIES += libva +ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),yy) +MPV_CONF_OPTS += --enable-vaapi-drm else -MPV_CONF_OPTS += --disable-vaapi +MPV_CONF_OPTS += --disable-vaapi-drm endif else -MPV_CONF_OPTS += --disable-vaapi +MPV_CONF_OPTS += --disable-vaapi --disable-vaapi-drm endif # wayland support diff --git a/package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch b/package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch index b3a1f5a03a0..110c020a628 100644 --- a/package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch +++ b/package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch @@ -1,13 +1,14 @@ -From dbb5961f106ec42cd70689d933674c9c37aedfe1 Mon Sep 17 00:00:00 2001 +From aaa0a5cd4e401bde4fb3691dd4e6c70a5c61e031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Mon, 13 Apr 2020 20:12:11 +0200 Subject: [PATCH] include: Declare gVERSION global as 'extern'. Fixes build with '-fno-common'. +Signed-off-by: Thomas Ingleby [Retrieved from: -https://github.com/eclipse/mraa/pull/1012/commits/dbb5961f106ec42cd70689d933674c9c37aedfe1] -Signed-off-by: Fabrice Fontaine +https://github.com/eclipse/mraa/commit/aaa0a5cd4e401bde4fb3691dd4e6c70a5c61e031] +Signed-off-by: Fabrice Fontaine --- include/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/mraa/0002-CMakeLists.txt-add-BUILDCPP-option.patch b/package/mraa/0002-CMakeLists.txt-add-BUILDCPP-option.patch deleted file mode 100644 index fbadfe79ef7..00000000000 --- a/package/mraa/0002-CMakeLists.txt-add-BUILDCPP-option.patch +++ /dev/null @@ -1,193 +0,0 @@ -From cb88e4dd1fbbb9d24e625dba2768b88ed99da309 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 13 Jun 2020 22:51:37 +0200 -Subject: [PATCH] CMakeLists.txt: add BUILDCPP option - -C++ is a mandatory dependency since version 1.4.0 and -https://github.com/eclipse/mraa/commit/122cab1f1e53b7c9c7cd82905b962071f9bad9dc - -As a result, build on embedded toolchains that do not support C++ fails -on: - -CMake Error at CMakeLists.txt:2 (project): - The CMAKE_CXX_COMPILER: - - /home/naourr/work/instance-1/output-1/per-package/mraa/host/bin/arm-linux-g++ - - is not a full path to an existing compiler tool. - -Fixes: - - http://autobuild.buildroot.org/results/31086422e03611c16ab59c4418e3669b580bc0c0 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/eclipse/mraa/commit/cb88e4dd1fbbb9d24e625dba2768b88ed99da309] ---- - CMakeLists.txt | 69 +++++++++++++++++++---------------- - src/java/CMakeLists.txt | 4 +- - src/javascript/CMakeLists.txt | 34 +++++++++-------- - 3 files changed, 59 insertions(+), 48 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 250d9106e..90c0dc920 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,5 @@ - cmake_minimum_required (VERSION 2.8.11) --project (mraa C CXX) -+project (mraa C) - - FIND_PACKAGE (Threads REQUIRED) - -@@ -11,6 +11,8 @@ else () - set (CMAKE_C_STANDARD 99) - endif () - -+option (BUILDCPP "Enable C++ (needed by FTDI4222 and tests)" ON) -+ - ############################################################################### - # Detect supported warning flags - # Modified from work By Dan Liew (fpbench - MIT) -@@ -33,15 +35,18 @@ set (MRAA_C_WARNING_FLAGS - -Werror=missing-parameter-type - ) - --# Warning flags for the C++ compiler only --set (MRAA_CXX_WARNING_FLAGS -- -Wnon-virtual-dtor -- -Woverloaded-virtual -- -Wreorder --) -- - include (CheckCCompilerFlag) --include (CheckCXXCompilerFlag) -+if (BUILDCPP) -+ # Warning flags for the C++ compiler only -+ set (MRAA_CXX_WARNING_FLAGS -+ -Wnon-virtual-dtor -+ -Woverloaded-virtual -+ -Wreorder -+ ) -+ -+ enable_language (CXX) -+ include (CheckCXXCompilerFlag) -+endif () - function (MRAA_SANITIZE_FLAG_NAME OUTPUT_VAR FLAG) - string (REPLACE "-" "_" SANITIZED_FLAG_NAME "${FLAG}") - string (REPLACE "/" "_" SANITIZED_FLAG_NAME "${SANITIZED_FLAG_NAME}") -@@ -62,28 +67,30 @@ foreach (flag ${MRAA_BOTH_WARNING_FLAGS} ${MRAA_C_WARNING_FLAGS}) - endif () - endforeach () - --# Globally set C++ compiler warning flags that are supported and emit --# a warning about unsupported flags --foreach (flag ${MRAA_BOTH_WARNING_FLAGS} ${MRAA_CXX_WARNING_FLAGS}) -- MRAA_SANITIZE_FLAG_NAME (SANITIZED_FLAG_NAME "${flag}") -- CHECK_CXX_COMPILER_FLAG ("${flag}" HAS_CXX_${SANITIZED_FLAG_NAME}) -- if (HAS_CXX_${SANITIZED_FLAG_NAME}) -- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") -- else () -- message (WARNING "C++ compiler does not support flag \"${flag}\"") -- endif () --endforeach () -- --# This function adds the c++11 flag to a c++ target (if supported) --function(use_cxx_11 targetname) -- include(CheckCXXCompilerFlag) -- CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) -- if (COMPILER_SUPPORTS_CXX11) -- set_target_properties(${targetname} PROPERTIES COMPILE_FLAGS "-std=c++11") -- else() -- message(FATAL_ERROR "Target '${targetname}' requires c++11 which is not supported by this compiler") -- endif() --endfunction() -+if (BUILDCPP) -+ # Globally set C++ compiler warning flags that are supported and emit -+ # a warning about unsupported flags -+ foreach (flag ${MRAA_BOTH_WARNING_FLAGS} ${MRAA_CXX_WARNING_FLAGS}) -+ MRAA_SANITIZE_FLAG_NAME (SANITIZED_FLAG_NAME "${flag}") -+ CHECK_CXX_COMPILER_FLAG ("${flag}" HAS_CXX_${SANITIZED_FLAG_NAME}) -+ if (HAS_CXX_${SANITIZED_FLAG_NAME}) -+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") -+ else () -+ message (WARNING "C++ compiler does not support flag \"${flag}\"") -+ endif () -+ endforeach () -+ -+ # This function adds the c++11 flag to a c++ target (if supported) -+ function(use_cxx_11 targetname) -+ include(CheckCXXCompilerFlag) -+ CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) -+ if (COMPILER_SUPPORTS_CXX11) -+ set_target_properties(${targetname} PROPERTIES COMPILE_FLAGS "-std=c++11") -+ else() -+ message(FATAL_ERROR "Target '${targetname}' requires c++11 which is not supported by this compiler") -+ endif() -+ endfunction() -+endif() - - # Set CMAKE_INSTALL_LIBDIR if not defined - include(GNUInstallDirs) -diff --git a/src/java/CMakeLists.txt b/src/java/CMakeLists.txt -index 231c755fa..cfa72a0df 100644 ---- a/src/java/CMakeLists.txt -+++ b/src/java/CMakeLists.txt -@@ -16,7 +16,9 @@ include_directories ( - set_source_files_properties (mraajava.i PROPERTIES SWIG_FLAGS ";-package;mraa;-I${CMAKE_BINARY_DIR}/src") - set_source_files_properties (mraajava.i PROPERTIES CPLUSPLUS ON) - --set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -DJAVACALLBACK") -+if (BUILDCPP) -+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -DJAVACALLBACK") -+endif() - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DJAVACALLBACK") - - if (NOT DEFINED ENV{JAVA_HOME_NATIVE}) -diff --git a/src/javascript/CMakeLists.txt b/src/javascript/CMakeLists.txt -index 25fd36275..99a96b49d 100644 ---- a/src/javascript/CMakeLists.txt -+++ b/src/javascript/CMakeLists.txt -@@ -36,25 +36,27 @@ set_target_properties (mraajs PROPERTIES - ) - - message (STATUS "INFO - swig Version ${SWIG_VERSION}") --message (STATUS "INFO - CXX compiler Version ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}") -+if (BUILDCPP) -+ message (STATUS "INFO - CXX compiler Version ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}") - --if (${V8_VERSION_MAJOR} GREATER 3) -- message (STATUS "INFO - Using V8 version > 3 so requiring C++11 compiler") -- # Node 0.12.x V8 engine major version is '3'. -- # Node 2.1.0 V8 engine major version is '4'. -- set_property (TARGET mraajs PROPERTY CXX_STANDARD 11) -- set_property (TARGET mraajs PROPERTY CXX_STANDARD_REQUIRED ON) -- if (CMAKE_VERSION VERSION_LESS "3.1") -- message (WARNING "Need to use CMAKE version 3.1+, but it is ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}, using a workaround.") -- if (CMAKE_COMPILER_IS_GNUCXX) -- if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7") -- message (FATAL_ERROR "GNU gcc compiler is also too old (need 4.7+, but ${CMAKE_CXX_COMPILER_VERSION}) and does not support C++11 standard.") -+ if (${V8_VERSION_MAJOR} GREATER 3) -+ message (STATUS "INFO - Using V8 version > 3 so requiring C++11 compiler") -+ # Node 0.12.x V8 engine major version is '3'. -+ # Node 2.1.0 V8 engine major version is '4'. -+ set_property (TARGET mraajs PROPERTY CXX_STANDARD 11) -+ set_property (TARGET mraajs PROPERTY CXX_STANDARD_REQUIRED ON) -+ if (CMAKE_VERSION VERSION_LESS "3.1") -+ message (WARNING "Need to use CMAKE version 3.1+, but it is ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}, using a workaround.") -+ if (CMAKE_COMPILER_IS_GNUCXX) -+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7") -+ message (FATAL_ERROR "GNU gcc compiler is also too old (need 4.7+, but ${CMAKE_CXX_COMPILER_VERSION}) and does not support C++11 standard.") -+ endif () -+ set (MRAA_CXX11_WORKAROUND_OPTION "-std=gnu++11") -+ else () -+ set (MRAA_CXX11_WORKAROUND_OPTION "-std=c++11") - endif () -- set (MRAA_CXX11_WORKAROUND_OPTION "-std=gnu++11") -- else () -- set (MRAA_CXX11_WORKAROUND_OPTION "-std=c++11") -+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MRAA_CXX11_WORKAROUND_OPTION} ") - endif () -- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MRAA_CXX11_WORKAROUND_OPTION} ") - endif () - endif () - diff --git a/package/mraa/mraa.hash b/package/mraa/mraa.hash index f29a5ce8385..321b6409ed2 100644 --- a/package/mraa/mraa.hash +++ b/package/mraa/mraa.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5351ce9eb654014d8ea7f43bdb2d17e6d1955536938a2ea0d467f4008e614345 mraa-2.1.0.tar.gz +sha256 076669bee8423ffef3065735b293a329020be86630fea457174dbfcc67a0554a mraa-2.2.0.tar.gz sha256 fac52622ed3badd86b34857b21777ab90296d6ccbc2ac0fd457c09fdeefa9ef1 COPYING diff --git a/package/mraa/mraa.mk b/package/mraa/mraa.mk index 910339b3869..47178a423b2 100644 --- a/package/mraa/mraa.mk +++ b/package/mraa/mraa.mk @@ -4,7 +4,7 @@ # ################################################################################ -MRAA_VERSION = 2.1.0 +MRAA_VERSION = 2.2.0 MRAA_SITE = $(call github,eclipse,mraa,v$(MRAA_VERSION)) MRAA_LICENSE = MIT MRAA_LICENSE_FILES = COPYING diff --git a/package/mrouted/Config.in b/package/mrouted/Config.in index f8dd173c4af..95b4fb3825f 100644 --- a/package/mrouted/Config.in +++ b/package/mrouted/Config.in @@ -11,16 +11,3 @@ config BR2_PACKAGE_MROUTED Note: at least two interfaces with MULTICAST flag is requried. http://github.com/troglobit/mrouted - -if BR2_PACKAGE_MROUTED - -config BR2_PACKAGE_MROUTED_RSRR - bool "enable RSRR for RSVP" - help - Routing Support for Resource Reservation, currently used by - RSVP. This is an EXPERIMENTAL feature. - - For details, see: - http://tools.ietf.org/html/draft-ietf-rsvp-routing-02 - -endif diff --git a/package/mrouted/mrouted.hash b/package/mrouted/mrouted.hash index 188293025f0..affb323b4b8 100644 --- a/package/mrouted/mrouted.hash +++ b/package/mrouted/mrouted.hash @@ -1,6 +1,5 @@ -# From https://github.com/troglobit/mrouted/releases/download/4.2/mrouted-4.2.tar.gz.md5 -md5 b921f9e152e039efdac745438ef8362c mrouted-4.2.tar.gz +# From https://github.com/troglobit/mrouted/releases/download/4.4/mrouted-4.4.tar.gz.sha256 +sha256 095439e544d69c91ed64fa87db7e35bc2155eef48b7f268281d80946d2c6b953 mrouted-4.4.tar.gz # Locally calculated -sha256 689541334ea951286054b771640e9d0f26b6a3242ff7f3894a3ef1b680811b34 mrouted-4.2.tar.gz sha256 834f45ed282fd010f354ecc0a50538af519a1cfcc4d2866de3be06982fa9ed29 LICENSE diff --git a/package/mrouted/mrouted.mk b/package/mrouted/mrouted.mk index 95da0c622c6..4014b8f896b 100644 --- a/package/mrouted/mrouted.mk +++ b/package/mrouted/mrouted.mk @@ -4,7 +4,7 @@ # ################################################################################ -MROUTED_VERSION = 4.2 +MROUTED_VERSION = 4.4 MROUTED_SITE = \ https://github.com/troglobit/mrouted/releases/download/$(MROUTED_VERSION) MROUTED_DEPENDENCIES = host-bison @@ -12,12 +12,6 @@ MROUTED_LICENSE = BSD-3-Clause MROUTED_LICENSE_FILES = LICENSE MROUTED_CPE_ID_VENDOR = troglobit -ifeq ($(BR2_PACKAGE_MROUTED_RSRR),y) -MROUTED_CONF_OPTS += --enable-rsrr -else -MROUTED_CONF_OPTS += --disable-rsrr -endif - define MROUTED_INSTALL_INIT_SYSV $(INSTALL) -m 755 -D package/mrouted/S41mrouted \ $(TARGET_DIR)/etc/init.d/S41mrouted diff --git a/package/mrp/Config.in b/package/mrp/Config.in index 0ca18a4ef22..ac42fa47735 100644 --- a/package/mrp/Config.in +++ b/package/mrp/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_MRP select BR2_PACKAGE_LIBEV select BR2_PACKAGE_LIBMNL select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_CFM help This is the userspace application that configures the kernel to run MRP protocol. The userspace application is made of 2 diff --git a/package/mrp/mrp.hash b/package/mrp/mrp.hash index 02a848c7eb6..47cf4618826 100644 --- a/package/mrp/mrp.hash +++ b/package/mrp/mrp.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 1a6c76d058bb425a7ec8b69a65de797650961161ec016b51ac8a1965e1ac304f mrp-1.1.tar.gz +sha256 2b960d14c861b4e0332f411440b41a9c1c06ecce8ed6197944a74b1c8279c1cc mrp-1.2.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/mrp/mrp.mk b/package/mrp/mrp.mk index 7e31e442ce0..213afbcdf5a 100644 --- a/package/mrp/mrp.mk +++ b/package/mrp/mrp.mk @@ -4,9 +4,9 @@ # ################################################################################ -MRP_VERSION = 1.1 +MRP_VERSION = 1.2 MRP_SITE = $(call github,microchip-ung,mrp,v$(MRP_VERSION)) -MRP_DEPENDENCIES = libev libmnl libnl +MRP_DEPENDENCIES = libev libmnl libnl cfm MRP_LICENSE = GPL-2.0 MRP_LICENSE_FILES = LICENSE diff --git a/package/msgpack/msgpack.hash b/package/msgpack/msgpack.hash index 3829a702229..5d432ba0ec7 100644 --- a/package/msgpack/msgpack.hash +++ b/package/msgpack/msgpack.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 464f46744a6be778626d11452c4db3c2d09461080c6db42e358e21af19d542f6 msgpack-3.2.1.tar.gz +sha256 6e114d12a5ddb8cb11f669f83f32246e484a8addd0ce93f274996f1941c1f07b msgpack-3.3.0.tar.gz sha256 664550b43996452a5a2c7471bb0ff77185a58c69ccafa60f983dc4c162e1ee22 COPYING sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/msgpack/msgpack.mk b/package/msgpack/msgpack.mk index 81670deddc9..996b5a2f7cf 100644 --- a/package/msgpack/msgpack.mk +++ b/package/msgpack/msgpack.mk @@ -4,8 +4,8 @@ # ################################################################################ -MSGPACK_VERSION = 3.2.1 -MSGPACK_SITE = $(call github,msgpack,msgpack-c,cpp-$(MSGPACK_VERSION)) +MSGPACK_VERSION = 3.3.0 +MSGPACK_SITE = https://github.com/msgpack/msgpack-c/releases/download/cpp-$(MSGPACK_VERSION) MSGPACK_LICENSE = BSL-1.0 MSGPACK_LICENSE_FILES = COPYING LICENSE_1_0.txt MSGPACK_INSTALL_STAGING = YES diff --git a/package/msmtp/msmtp.mk b/package/msmtp/msmtp.mk index cae03d77242..3db36f4cd09 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -11,6 +11,7 @@ MSMTP_DEPENDENCIES = host-pkgconf MSMTP_CONF_OPTS = --disable-gai-idn MSMTP_LICENSE = GPL-3.0+ MSMTP_LICENSE_FILES = COPYING +MSMTP_CPE_ID_VENDOR = marlam # msmtpd needs fork ifeq ($(BR2_USE_MMU),y) diff --git a/package/mstpd/Config.in b/package/mstpd/Config.in new file mode 100644 index 00000000000..5fe5859779e --- /dev/null +++ b/package/mstpd/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_MSTPD + bool "mstpd" + help + Multiple Spanning Tree Protocol Daemon. + This package provides a user-space daemon which replaces + the STP handling that is built into the Linux kernel Ethernet + bridge and adds support for RSTP and PVST+. + + https://github.com/mstpd/mstpd diff --git a/package/mstpd/mstpd.hash b/package/mstpd/mstpd.hash new file mode 100644 index 00000000000..64e946d6d1f --- /dev/null +++ b/package/mstpd/mstpd.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 91a1862548b5b509caa2e96e5fb9912bc98d4d58cc98e99a577824735756c14d mstpd-0.0.9.tar.gz +sha256 03d1ff4ca189d54322562cb2891888768af719d2c73ceafa5f1ca96133dffeb2 mstpd-0.1.0.tar.gz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 LICENSE +sha256 c5cfd44652276184374adf454150d436ce958ce50acc4ef9ccb3605a5ca7a9d3 hmac_md5.c diff --git a/package/mstpd/mstpd.mk b/package/mstpd/mstpd.mk new file mode 100644 index 00000000000..907d0942423 --- /dev/null +++ b/package/mstpd/mstpd.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# mstpd +# +################################################################################ + +MSTPD_VERSION = 0.1.0 +MSTPD_SITE = $(call github,mstpd,mstpd,$(MSTPD_VERSION)) +MSTPD_AUTORECONF = YES +MSTPD_LICENSE = GPL-2.0, RSA Data Security (md5) +MSTPD_LICENSE_FILES = LICENSE hmac_md5.c + +$(eval $(autotools-package)) diff --git a/package/mtd/Config.in b/package/mtd/Config.in index 590ca7f5efb..c45dd1e2b76 100644 --- a/package/mtd/Config.in +++ b/package/mtd/Config.in @@ -54,6 +54,9 @@ config BR2_PACKAGE_MTD_FLASH_OTP_LOCK config BR2_PACKAGE_MTD_FLASH_OTP_WRITE bool "flash_otp_write" +config BR2_PACKAGE_MTD_FLASH_OTP_ERASE + bool "flash_otp_erase" + config BR2_PACKAGE_MTD_FLASH_UNLOCK bool "flash_unlock" default y @@ -95,6 +98,9 @@ config BR2_PACKAGE_MTD_NANDWRITE bool "nandwrite" default y +config BR2_PACKAGE_MTD_NANDFLIPBITS + bool "nandflipbits" + config BR2_PACKAGE_MTD_NFTLDUMP bool "nftldump" @@ -137,6 +143,14 @@ config BR2_PACKAGE_MTD_UBIFORMAT bool "ubiformat" default y +config BR2_PACKAGE_MTD_UBIHEALTHD + bool "ubihealthd" + default y + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # getrandom() + +comment "ubihealthd needs a toolchain w/ headers >= 3.17" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + config BR2_PACKAGE_MTD_UBIMKVOL bool "ubimkvol" default y diff --git a/package/mtd/mtd.hash b/package/mtd/mtd.hash index fda5a6ea36b..481788f8443 100644 --- a/package/mtd/mtd.hash +++ b/package/mtd/mtd.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.1.2.tar.bz2.asc -sha256 8ad4c5f34716d40646aa28724a2f5616d325a6f119254f914e26976f1f76e9d6 mtd-utils-2.1.2.tar.bz2 +# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.1.3.tar.bz2.asc +sha256 11305a5daf6fc6ed85120695c8593290b577effb039adbfa63d35b4418ff5630 mtd-utils-2.1.3.tar.bz2 sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index c4fa56d2604..45e7c0c61c9 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -4,7 +4,7 @@ # ################################################################################ -MTD_VERSION = 2.1.2 +MTD_VERSION = 2.1.3 MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils MTD_LICENSE = GPL-2.0 @@ -13,6 +13,15 @@ MTD_CPE_ID_VENDOR = mtd-utils_project MTD_CPE_ID_PRODUCT = mtd-utils MTD_INSTALL_STAGING = YES +MTD_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +MTD_DEPENDENCIES += libexecinfo +MTD_LDFLAGS += -lexecinfo +endif + +MTD_CONF_ENV += LDFLAGS="$(MTD_LDFLAGS)" + ifeq ($(BR2_PACKAGE_MTD_JFFS_UTILS),y) MTD_DEPENDENCIES += zlib lzo host-pkgconf MTD_CONF_OPTS += --with-jffs @@ -40,10 +49,16 @@ else MTD_CONF_OPTS += --without-ubifs endif +ifeq ($(BR2_PACKAGE_MTD_UBIHEALTHD),y) +MTD_CONF_OPTS += --enable-ubihealthd +else +MTD_CONF_OPTS += --disable-ubihealthd +endif + ifeq ($(BR2_PACKAGE_MTD_TESTS),y) -MTD_CONF_OPTS += --enable-tests --enable-install-tests +MTD_CONF_OPTS += --enable-tests else -MTD_CONF_OPTS += --disable-tests --disable-install-tests +MTD_CONF_OPTS += --disable-tests endif # If extended attributes are required, the acl package must @@ -74,6 +89,7 @@ MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_DUMP) += flash_otp_dump MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_INFO) += flash_otp_info MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_LOCK) += flash_otp_lock MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_WRITE) += flash_otp_write +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_ERASE) += flash_otp_erase MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format @@ -96,6 +112,7 @@ MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach MTD_TARGETS_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32 MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIHEALTHD) += ubihealthd MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol MTD_TARGETS_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo MTD_TARGETS_$(BR2_PACKAGE_MTD_UBINIZE) += ubinize @@ -113,6 +130,7 @@ MTD_TARGETS_$(BR2_PACKAGE_MTD_INTEGCK) += integck MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDBITERRS) += nandbiterrs MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDPAGETEST) += nandpagetest MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDSUBPAGETEST) += nandsubpagetest +MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDFLIPBITS) += nandflipbits define MTD_INSTALL_TARGET_CMDS $(foreach f,$(MTD_TARGETS_y), \ @@ -123,8 +141,8 @@ endef # Those libraries are not installed by "make install", but are needed # by other packages, such as swupdate. define MTD_INSTALL_LIBS - $(INSTALL) -D -m 0755 $(@D)/include/libmtd.h $(STAGING_DIR)/usr/include/mtd/libmtd.h - $(INSTALL) -D -m 0755 $(@D)/include/libubi.h $(STAGING_DIR)/usr/include/mtd/libubi.h + $(INSTALL) -D -m 0755 $(@D)/include/libmtd.h $(STAGING_DIR)/usr/include/libmtd.h + $(INSTALL) -D -m 0755 $(@D)/include/libubi.h $(STAGING_DIR)/usr/include/libubi.h $(INSTALL) -D -m 0755 $(@D)/include/mtd/ubi-media.h $(STAGING_DIR)/usr/include/mtd/ubi-media.h $(INSTALL) -D -m 0755 $(@D)/libmtd.a $(STAGING_DIR)/usr/lib/libmtd.a $(INSTALL) -D -m 0755 $(@D)/libubi.a $(STAGING_DIR)/usr/lib/libubi.a diff --git a/package/mtools/mtools.hash b/package/mtools/mtools.hash index 86cfe693d94..a162bfdc95d 100644 --- a/package/mtools/mtools.hash +++ b/package/mtools/mtools.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 d09cff66d7277ad36a7573fc3e9803bfa558cdda83baabaafbf7761317462283 mtools-4.0.26.tar.lz +sha256 7086821b399a39b8a3c5a372d064de4860f3c195b4911dd4e8b76219fcabe75c mtools-4.0.38.tar.lz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/mtools/mtools.mk b/package/mtools/mtools.mk index 6d63a565bdb..c875814bc7e 100644 --- a/package/mtools/mtools.mk +++ b/package/mtools/mtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MTOOLS_VERSION = 4.0.26 +MTOOLS_VERSION = 4.0.38 MTOOLS_SOURCE = mtools-$(MTOOLS_VERSION).tar.lz MTOOLS_SITE = $(BR2_GNU_MIRROR)/mtools MTOOLS_LICENSE = GPL-3.0+ diff --git a/package/mtr/mtr.hash b/package/mtr/mtr.hash index 7771e091e2c..d6062ef08f3 100644 --- a/package/mtr/mtr.hash +++ b/package/mtr/mtr.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3a1ab330104ddee3135af3cfa567b9608001c5deecbf200c08b545ed6d7a4c8f mtr-0.93.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 ea036fdd45da488c241603f6ea59a06bbcfe6c26177ebd34fff54336a44494b8 mtr-0.94.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/mtr/mtr.mk b/package/mtr/mtr.mk index 263482534e9..07c58a1e93a 100644 --- a/package/mtr/mtr.mk +++ b/package/mtr/mtr.mk @@ -4,13 +4,35 @@ # ################################################################################ -MTR_VERSION = 0.93 +MTR_VERSION = 0.94 MTR_SITE = $(call github,traviscross,mtr,v$(MTR_VERSION)) MTR_AUTORECONF = YES -MTR_CONF_OPTS = --without-gtk -MTR_DEPENDENCIES = host-pkgconf $(if $(BR2_PACKAGE_NCURSES),ncurses) +MTR_DEPENDENCIES = \ + host-pkgconf \ + $(if $(BR2_PACKAGE_LIBCAP),libcap) MTR_LICENSE = GPL-2.0 MTR_LICENSE_FILES = COPYING MTR_SELINUX_MODULES = netutils +ifeq ($(BR2_PACKAGE_JANSSON),y) +MTR_CONF_OPTS += --with-jansson +MTR_DEPENDENCIES += jansson +else +MTR_CONF_OPTS += --without-jansson +endif + +ifeq ($(BR2_PACKAGE_LIBGTK3),y) +MTR_CONF_OPTS += --with-gtk +MTR_DEPENDENCIES += libgtk3 +else +MTR_CONF_OPTS += --without-gtk +endif + +ifeq ($(BR2_PACKAGE_NCURSES),y) +MTR_CONF_OPTS += --with-ncurses +MTR_DEPENDENCIES += ncurses +else +MTR_CONF_OPTS += --without-ncurses +endif + $(eval $(autotools-package)) diff --git a/package/multipath-tools/multipath-tools.hash b/package/multipath-tools/multipath-tools.hash index fc94b3f724b..f063848681e 100644 --- a/package/multipath-tools/multipath-tools.hash +++ b/package/multipath-tools/multipath-tools.hash @@ -1,7 +1,7 @@ # Locally computed: -sha256 0549ebe39fd3950ec49c16304da408c2bfe1b18d386d8e6647b5bcb60363c8aa multipath-tools-0.8.5.tar.gz +sha256 ff45ddb18a1effbfbe5712f513dd3b7146c68141091fc1c2489af8d6197026ef multipath-tools-0.8.8.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0 sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSES/GPL-3.0 sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c LICENSES/LGPL-2.0 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1 -sha256 afa9db94ff46f8d011251273f547ba958da6a0150a2b797b10fa8c8cfa74bbda README.md +sha256 b1bd70cc61ab014cc2e744af6b117db481ef4fa5d59cb3a21d86059935c666df README.md diff --git a/package/multipath-tools/multipath-tools.mk b/package/multipath-tools/multipath-tools.mk index 877ed672c5e..eecfe390023 100644 --- a/package/multipath-tools/multipath-tools.mk +++ b/package/multipath-tools/multipath-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MULTIPATH_TOOLS_VERSION = 0.8.5 +MULTIPATH_TOOLS_VERSION = 0.8.8 MULTIPATH_TOOLS_SITE = $(call github,opensvc,multipath-tools,$(MULTIPATH_TOOLS_VERSION)) MULTIPATH_TOOLS_LICENSE = \ diff --git a/package/mupdf/0001-Makefile-add-an-install_libs-target.patch b/package/mupdf/0001-Makefile-add-an-install_libs-target.patch new file mode 100644 index 00000000000..9cb5a2fec9d --- /dev/null +++ b/package/mupdf/0001-Makefile-add-an-install_libs-target.patch @@ -0,0 +1,41 @@ +From 0989f13ecbc2155b05da0cb091801d32d750d2d4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= + +Date: Thu, 29 Aug 2019 09:51:02 +0200 +Subject: [PATCH] Makefile: add an install_libs target. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This allows to install only the library files (if you need pymupdf but +not mupdf binaries for example). + +Signed-off-by: Raphaël Mélotte +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c5bc541ac..e14f88526 100644 +--- a/Makefile ++++ b/Makefile +@@ -322,7 +322,7 @@ libs: $(INSTALL_LIBS) + tools: $(TOOL_APPS) + apps: $(TOOL_APPS) $(VIEW_APPS) + +-install: libs apps ++install_libs: + install -d $(DESTDIR)$(incdir)/mupdf + install -d $(DESTDIR)$(incdir)/mupdf/fitz + install -d $(DESTDIR)$(incdir)/mupdf/pdf +@@ -333,6 +333,7 @@ install: libs apps + install -d $(DESTDIR)$(libdir) + install -m 644 $(INSTALL_LIBS) $(DESTDIR)$(libdir) + ++install: libs apps install_libs + install -d $(DESTDIR)$(bindir) + install -m 755 $(TOOL_APPS) $(VIEW_APPS) $(DESTDIR)$(bindir) + +-- +2.21.0 + diff --git a/package/mupdf/0002-Bug-703366-Fix-double-free-of-object-during-linearization.patch b/package/mupdf/0002-Bug-703366-Fix-double-free-of-object-during-linearization.patch new file mode 100644 index 00000000000..a4746961a6d --- /dev/null +++ b/package/mupdf/0002-Bug-703366-Fix-double-free-of-object-during-linearization.patch @@ -0,0 +1,52 @@ +From cee7cefc610d42fd383b3c80c12cbc675443176a Mon Sep 17 00:00:00 2001 +From: Robin Watts +Date: Fri, 22 Jan 2021 17:05:15 +0000 +Subject: [PATCH] Bug 703366: Fix double free of object during linearization. + +This appears to happen because we parse an illegal object from +a broken file and assign it to object 0, which is defined to +be free. + +Here, we fix the parsing code so this can't happen. + +[Retrieved from: +http://git.ghostscript.com/?p=mupdf.git;h=cee7cefc610d42fd383b3c80c12cbc675443176a] +Signed-off-by: Fabrice Fontaine +--- + source/pdf/pdf-parse.c | 6 ++++++ + source/pdf/pdf-xref.c | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/source/pdf/pdf-parse.c b/source/pdf/pdf-parse.c +index 7abc8c3d4..5761c3351 100644 +--- a/source/pdf/pdf-parse.c ++++ b/source/pdf/pdf-parse.c +@@ -749,6 +749,12 @@ pdf_parse_ind_obj(fz_context *ctx, pdf_document *doc, + fz_throw(ctx, FZ_ERROR_SYNTAX, "expected generation number (%d ? obj)", num); + } + gen = buf->i; ++ if (gen < 0 || gen >= 65536) ++ { ++ if (try_repair) ++ *try_repair = 1; ++ fz_throw(ctx, FZ_ERROR_SYNTAX, "invalid generation number (%d)", gen); ++ } + + tok = pdf_lex(ctx, file, buf); + if (tok != PDF_TOK_OBJ) +diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c +index 1b2bdcd59..30197b4b8 100644 +--- a/source/pdf/pdf-xref.c ++++ b/source/pdf/pdf-xref.c +@@ -1190,6 +1190,8 @@ pdf_read_new_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf) + { + ofs = fz_tell(ctx, doc->file); + trailer = pdf_parse_ind_obj(ctx, doc, doc->file, buf, &num, &gen, &stm_ofs, NULL); ++ if (num == 0) ++ fz_throw(ctx, FZ_ERROR_GENERIC, "Trailer object number cannot be 0\n"); + } + fz_catch(ctx) + { +-- +2.17.1 + diff --git a/package/mupdf/0003-Bug-703791-Stay-within-hash-table-max-key-size-in-cached-color-converter.patch b/package/mupdf/0003-Bug-703791-Stay-within-hash-table-max-key-size-in-cached-color-converter.patch new file mode 100644 index 00000000000..5335f140d69 --- /dev/null +++ b/package/mupdf/0003-Bug-703791-Stay-within-hash-table-max-key-size-in-cached-color-converter.patch @@ -0,0 +1,119 @@ +From f5712c9949d026e4b891b25837edd2edc166151f Mon Sep 17 00:00:00 2001 +From: Tor Andersson +Date: Tue, 20 Apr 2021 14:46:48 +0200 +Subject: [PATCH] Bug 703791: Stay within hash table max key size in cached + color converter. + +[Retrieved from: +http://git.ghostscript.com/?p=mupdf.git;h=f5712c9949d026e4b891b25837edd2edc166151f] +Signed-off-by: Fabrice Fontaine +--- + include/mupdf/fitz/hash.h | 2 ++ + source/fitz/colorspace.c | 40 ++++++++++++++++++++++++--------------- + source/fitz/hash.c | 7 +++---- + 3 files changed, 30 insertions(+), 19 deletions(-) + +diff --git a/include/mupdf/fitz/hash.h b/include/mupdf/fitz/hash.h +index e92eb0458..feb37a5e4 100644 +--- a/include/mupdf/fitz/hash.h ++++ b/include/mupdf/fitz/hash.h +@@ -5,6 +5,8 @@ + #include "mupdf/fitz/context.h" + #include "mupdf/fitz/output.h" + ++#define FZ_HASH_TABLE_KEY_LENGTH 48 ++ + /** + Generic hash-table with fixed-length keys. + +diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c +index af454caf1..f4db9d3d2 100644 +--- a/source/fitz/colorspace.c ++++ b/source/fitz/colorspace.c +@@ -1025,23 +1025,30 @@ typedef struct fz_cached_color_converter + static void fz_cached_color_convert(fz_context *ctx, fz_color_converter *cc_, const float *ss, float *ds) + { + fz_cached_color_converter *cc = cc_->opaque; +- float *val = fz_hash_find(ctx, cc->hash, ss); +- int n = cc->base.ds->n * sizeof(float); +- +- if (val) ++ if (cc->hash) + { +- memcpy(ds, val, n); +- return; +- } ++ float *val = fz_hash_find(ctx, cc->hash, ss); ++ int n = cc->base.ds->n * sizeof(float); + +- cc->base.convert(ctx, &cc->base, ss, ds); ++ if (val) ++ { ++ memcpy(ds, val, n); ++ return; ++ } + +- val = Memento_label(fz_malloc_array(ctx, cc->base.ds->n, float), "cached_color_convert"); +- memcpy(val, ds, n); +- fz_try(ctx) +- fz_hash_insert(ctx, cc->hash, ss, val); +- fz_catch(ctx) +- fz_free(ctx, val); ++ cc->base.convert(ctx, &cc->base, ss, ds); ++ ++ val = Memento_label(fz_malloc_array(ctx, cc->base.ds->n, float), "cached_color_convert"); ++ memcpy(val, ds, n); ++ fz_try(ctx) ++ fz_hash_insert(ctx, cc->hash, ss, val); ++ fz_catch(ctx) ++ fz_free(ctx, val); ++ } ++ else ++ { ++ cc->base.convert(ctx, &cc->base, ss, ds); ++ } + } + + void fz_init_cached_color_converter(fz_context *ctx, fz_color_converter *cc, fz_colorspace *ss, fz_colorspace *ds, fz_colorspace *is, fz_color_params params) +@@ -1060,7 +1067,10 @@ void fz_init_cached_color_converter(fz_context *ctx, fz_color_converter *cc, fz_ + fz_try(ctx) + { + fz_find_color_converter(ctx, &cached->base, ss, ds, is, params); +- cached->hash = fz_new_hash_table(ctx, 256, n * sizeof(float), -1, fz_free); ++ if (n * sizeof(float) <= FZ_HASH_TABLE_KEY_LENGTH) ++ cached->hash = fz_new_hash_table(ctx, 256, n * sizeof(float), -1, fz_free); ++ else ++ fz_warn(ctx, "colorspace has too many components to be cached"); + } + fz_catch(ctx) + { +diff --git a/source/fitz/hash.c b/source/fitz/hash.c +index 882b886c9..287d43f03 100644 +--- a/source/fitz/hash.c ++++ b/source/fitz/hash.c +@@ -11,11 +11,9 @@ + and removed frequently. + */ + +-enum { MAX_KEY_LEN = 48 }; +- + typedef struct + { +- unsigned char key[MAX_KEY_LEN]; ++ unsigned char key[FZ_HASH_TABLE_KEY_LENGTH]; + void *val; + } fz_hash_entry; + +@@ -50,7 +48,8 @@ fz_new_hash_table(fz_context *ctx, int initialsize, int keylen, int lock, fz_has + { + fz_hash_table *table; + +- assert(keylen <= MAX_KEY_LEN); ++ if (keylen > FZ_HASH_TABLE_KEY_LENGTH) ++ fz_throw(ctx, FZ_ERROR_GENERIC, "hash table key length too large"); + + table = fz_malloc_struct(ctx, fz_hash_table); + table->keylen = keylen; +-- +2.17.1 + diff --git a/package/mupdf/0004-Makefile-compile-hexdump.exe-with-HOSTCC.patch b/package/mupdf/0004-Makefile-compile-hexdump.exe-with-HOSTCC.patch new file mode 100644 index 00000000000..bc9debd3326 --- /dev/null +++ b/package/mupdf/0004-Makefile-compile-hexdump.exe-with-HOSTCC.patch @@ -0,0 +1,40 @@ +From c0036573a995dc78d3cf60a30ff0af2b47f3680a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 14 Nov 2021 23:24:27 +0100 +Subject: [PATCH] Makefile: compile hexdump.exe with HOSTCC + +hexdump.exe must be compiled for the host or the build will fail when +cross-compiling with HAVE_OBJCOPY=no + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://bugs.ghostscript.com/show_bug.cgi?id=704442] +--- + Makefile | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Makefile b/Makefile +index 6492b1ca3..0732b358f 100644 +--- a/Makefile ++++ b/Makefile +@@ -60,6 +60,8 @@ AR_CMD = $(QUIET_AR) $(MKTGTDIR) ; $(AR) cr $@ $^ + ifdef RANLIB + RANLIB_CMD = $(QUIET_RANLIB) $(RANLIB) $@ + endif ++HOSTCC ?= $(CC) ++HOST_LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(HOSTCC) -o $@ $^ + LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + TAGS_CMD = $(QUIET_TAGS) ctags -R --c-kinds=+p --exclude=platform/python --exclude=platform/c++ + WINDRES_CMD = $(QUIET_WINDRES) $(MKTGTDIR) ; $(WINDRES) $< $@ +@@ -81,6 +83,9 @@ $(OUT)/%.a : + $(AR_CMD) + $(RANLIB_CMD) + ++$(OUT)/scripts/hexdump.exe: scripts/hexdump.c ++ $(HOST_LINK_CMD) ++ + $(OUT)/%.exe: %.c + $(LINK_CMD) + +-- +2.33.0 + diff --git a/package/mupdf/Config.in b/package/mupdf/Config.in new file mode 100644 index 00000000000..cf97711160d --- /dev/null +++ b/package/mupdf/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_MUPDF + bool "mupdf" + depends on BR2_INSTALL_LIBSTDCPP # harfbuzz + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_GUMBO_PARSER + select BR2_PACKAGE_HARFBUZZ + select BR2_PACKAGE_JBIG2DEC + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LCMS2 + select BR2_PACKAGE_OPENJPEG + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_ZLIB + help + MuPDF is a lightweight PDF, XPS, and E-book viewer. + + https://www.mupdf.com/index.html + +comment "mupdf needs a toolchain w/ C++, gcc >= 4.9" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/mupdf/mupdf.hash b/package/mupdf/mupdf.hash new file mode 100644 index 00000000000..934836e76af --- /dev/null +++ b/package/mupdf/mupdf.hash @@ -0,0 +1,8 @@ +# From https://mupdf.com/downloads/index.html: +sha1 fc17bd01d5860e49b009f28a5ddb629e94af4510 mupdf-1.18.0-source.tar.xz + +# Locally computed: +sha256 592d4f6c0fba41bb954eb1a41616661b62b134d5b383e33bd45a081af5d4a59a mupdf-1.18.0-source.tar.xz + +# Hash for license files: +sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 COPYING diff --git a/package/mupdf/mupdf.mk b/package/mupdf/mupdf.mk new file mode 100644 index 00000000000..56ea7cc507e --- /dev/null +++ b/package/mupdf/mupdf.mk @@ -0,0 +1,79 @@ +################################################################################ +# +# mudpf +# +################################################################################ + +# python-pymupdf's version must match mupdf's version +MUPDF_VERSION = 1.18.0 +MUPDF_SOURCE = mupdf-$(MUPDF_VERSION)-source.tar.xz +MUPDF_SITE = https://mupdf.com/downloads/archive +MUPDF_LICENSE = AGPL-3.0+ +MUPDF_LICENSE_FILES = COPYING +MUPDF_CPE_ID_VENDOR = artifex +MUPDF_INSTALL_STAGING = YES +MUPDF_DEPENDENCIES = \ + freetype \ + gumbo-parser \ + harfbuzz \ + host-pkgconf \ + jbig2dec jpeg \ + lcms2 openjpeg \ + xlib_libX11 \ + zlib + +# 0002-Bug-703366-Fix-double-free-of-object-during-linearization.patch +MUPDF_IGNORE_CVES += CVE-2021-3407 + +# 0003-Bug-703791-Stay-within-hash-table-max-key-size-in-cached-color-converter.patch +MUPDF_IGNORE_CVES += CVE-2021-37220 + +# The pkg-config name for gumbo-parser is `gumbo`. +MUPDF_PKG_CONFIG_PACKAGES = \ + freetype2 \ + gumbo \ + harfbuzz \ + libjpeg \ + zlib + +MUPDF_CFLAGS = \ + $(TARGET_CFLAGS) \ + `$(PKG_CONFIG_HOST_BINARY) --cflags $(MUPDF_PKG_CONFIG_PACKAGES)` \ + -fPIC # -fPIC is needed because the Makefile doesn't append it. + +MUPDF_LDFLAGS = \ + $(TARGET_LDFLAGS) \ + `$(PKG_CONFIG_HOST_BINARY) --libs $(MUPDF_PKG_CONFIG_PACKAGES)` + +# mupdf doesn't use CFLAGS and LIBS but XCFLAGS and XLIBS instead. +# with USE_SYSTEM_LIBS it will try to use system libraries instead of the bundled ones. +MUPDF_MAKE_ENV = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + XCFLAGS="$(MUPDF_CFLAGS)" \ + XLIBS="$(MUPDF_LDFLAGS)" \ + USE_SYSTEM_LIBS=yes + +MUPDF_MAKE_OPTS = \ + HAVE_OBJCOPY=no \ + prefix="/usr" + +ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y) +MUPDF_DEPENDENCIES += libfreeglut +else +MUPDF_MAKE_OPTS += HAVE_GLUT=no +endif + +define MUPDF_BUILD_CMDS + $(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) $(MUPDF_MAKE_OPTS) all +endef + +define MUPDF_INSTALL_STAGING_CMDS + $(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) $(MUPDF_MAKE_OPTS) \ + DESTDIR="$(STAGING_DIR)" install_libs +endef + +define MUPDF_INSTALL_TARGET_CMDS + $(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) $(MUPDF_MAKE_OPTS) \ + DESTDIR="$(TARGET_DIR)" install +endef + +$(eval $(generic-package)) diff --git a/package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch index 4bfeca0a04d..dade23f7aa4 100644 --- a/package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch +++ b/package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch @@ -1,7 +1,7 @@ From d2f01ba6fa2a065156fad686d1849309c661e527 Mon Sep 17 00:00:00 2001 From: Samuel Martin Date: Sun, 31 Aug 2014 12:07:31 +0200 -Subject: [PATCH 2/2] cmake: use the standard CMake flag to drive the shared +Subject: [PATCH] cmake: use the standard CMake flag to drive the shared object build If BUILD_SHARED_LIBS is set and SHARED undefined, then drive SHARED with diff --git a/package/musl/musl.mk b/package/musl/musl.mk index 82b3eeaf521..b89945e3beb 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -8,6 +8,7 @@ MUSL_VERSION = 1.2.2 MUSL_SITE = http://www.musl-libc.org/releases MUSL_LICENSE = MIT MUSL_LICENSE_FILES = COPYRIGHT +MUSL_CPE_ID_VENDOR = musl-libc # Before musl is configured, we must have the first stage # cross-compiler and the kernel headers @@ -25,6 +26,12 @@ MUSL_ADD_TOOLCHAIN_DEPENDENCY = NO MUSL_INSTALL_STAGING = YES +# musl does not build with LTO, so explicitly disable it +# when using a compiler that may have support for LTO +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7),y) +MUSL_EXTRA_CFLAGS += -fno-lto +endif + # Thumb build is broken, build in ARM mode, since all architectures # that support Thumb1 also support ARM. ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) diff --git a/package/mutt/0001-Ensure-IMAP-connection-is-closed-after-a-connection-error.patch b/package/mutt/0001-Ensure-IMAP-connection-is-closed-after-a-connection-error.patch deleted file mode 100644 index 7afc7360859..00000000000 --- a/package/mutt/0001-Ensure-IMAP-connection-is-closed-after-a-connection-error.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 04b06aaa3e0cc0022b9b01dbca2863756ebbf59a Mon Sep 17 00:00:00 2001 -From: Kevin McCarthy -Date: Mon, 16 Nov 2020 10:20:21 -0800 -Subject: [PATCH] Ensure IMAP connection is closed after a connection error. - -During connection, if the server provided an illegal initial response, -Mutt "bailed", but did not actually close the connection. The calling -code unfortunately relied on the connection status to decide to -continue with authentication, instead of checking the "bail" return -value. - -This could result in authentication credentials being sent over an -unencrypted connection, without $ssl_force_tls being consulted. - -Fix this by strictly closing the connection on any invalid response -during connection. The fix is intentionally small, to ease -backporting. A better fix would include removing the 'err_close_conn' -label, and perhaps adding return value checking in the caller (though -this change obviates the need for that). - -This addresses CVE-2020-28896. Thanks to Gabriel Salles-Loustau for -reporting the problem, and providing test cases to reproduce. - -[Retrieved from: -https://gitlab.com/muttmua/mutt/-/commit/04b06aaa3e0cc0022b9b01dbca2863756ebbf59a] -Signed-off-by: Fabrice Fontaine ---- - imap/imap.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/imap/imap.c b/imap/imap.c -index b24e8a3f..b13dd54d 100644 ---- a/imap/imap.c -+++ b/imap/imap.c -@@ -561,9 +561,9 @@ int imap_open_connection (IMAP_DATA* idata) - - #if defined(USE_SSL) - err_close_conn: -- imap_close_connection (idata); - #endif - bail: -+ imap_close_connection (idata); - FREE (&idata->capstr); - return -1; - } --- -GitLab - diff --git a/package/mutt/0002-CVE-2021-3181-1.patch b/package/mutt/0002-CVE-2021-3181-1.patch deleted file mode 100644 index cbb12cf2f22..00000000000 --- a/package/mutt/0002-CVE-2021-3181-1.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4a2becbdb4422aaffe3ce314991b9d670b7adf17 Mon Sep 17 00:00:00 2001 -From: Kevin McCarthy -Date: Sun, 17 Jan 2021 10:40:37 -0800 -Subject: [PATCH] Fix memory leak parsing group addresses without a display - name. - -When there was a group address terminator with no previous -addresses (including the group display-name), an address would be -allocated but not attached to the address list. - -Change this to only allocate when last exists. - -It would be more correct to not allocate at all unless we are inside a -group list, but I will address that in a separate commit to master. - -[Retrieved from: -https://git.launchpad.net/ubuntu/+source/mutt/plain/debian/patches/CVE-2021-3181-1.patch?h=import/1.14.6-1ubuntu0.2] -Signed-off-by: Peter Korsgaard ---- - rfc822.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -Index: mutt-1.14.6/rfc822.c -=================================================================== ---- mutt-1.14.6.orig/rfc822.c -+++ mutt-1.14.6/rfc822.c -@@ -491,11 +491,10 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * - #endif - - /* add group terminator */ -- cur = rfc822_new_address (); - if (last) - { -- last->next = cur; -- last = cur; -+ last->next = rfc822_new_address (); -+ last = last->next; - } - - phraselen = 0; diff --git a/package/mutt/0003-CVE-2021-3181-2.patch b/package/mutt/0003-CVE-2021-3181-2.patch deleted file mode 100644 index c3184a40ed7..00000000000 --- a/package/mutt/0003-CVE-2021-3181-2.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 939b02b33ae29bc0d642570c1dcfd4b339037d19 Mon Sep 17 00:00:00 2001 -From: Kevin McCarthy -Date: Sun, 17 Jan 2021 10:53:19 -0800 -Subject: [PATCH] Don't allocate a group terminator unless we are in a - group-list. - -This will reduce memory allocation for garbage/spam address lists. - -It also makes no sense to store a terminator when there wasn't a -display-name indicating the start of a group. - -[Retrieved from: -https://git.launchpad.net/ubuntu/+source/mutt/plain/debian/patches/CVE-2021-3181-2.patch?h=import/1.14.6-1ubuntu0.2] -Signed-off-by: Peter Korsgaard ---- - rfc822.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -Index: mutt-1.14.6/rfc822.c -=================================================================== ---- mutt-1.14.6.orig/rfc822.c -+++ mutt-1.14.6/rfc822.c -@@ -378,7 +378,7 @@ add_addrspec (ADDRESS **top, ADDRESS **l - - ADDRESS *rfc822_parse_adrlist (ADDRESS *top, const char *s) - { -- int ws_pending, nl; -+ int ws_pending, nl, in_group = 0; - #ifdef EXACT_ADDRESS - const char *begin; - #endif -@@ -455,6 +455,7 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * - terminate_buffer (phrase, phraselen); - cur->mailbox = safe_strdup (phrase); - cur->group = 1; -+ in_group = 1; - - if (last) - last->next = cur; -@@ -491,11 +492,12 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * - #endif - - /* add group terminator */ -- if (last) -+ if (last && in_group) - { - last->next = rfc822_new_address (); - last = last->next; - } -+ in_group = 0; - - phraselen = 0; - commentlen = 0; diff --git a/package/mutt/0004-CVE-2021-3181-3.patch b/package/mutt/0004-CVE-2021-3181-3.patch deleted file mode 100644 index 42d0cbaef53..00000000000 --- a/package/mutt/0004-CVE-2021-3181-3.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d4305208955c5cdd9fe96dfa61e7c1e14e176a14 Mon Sep 17 00:00:00 2001 -From: Kevin McCarthy -Date: Sun, 17 Jan 2021 11:05:36 -0800 -Subject: [PATCH] Add group terminator if it is left off. - -If there is no terminating ";" add one to the list, to make the text -re-rendering correct. - -[Retrieved from: -https://git.launchpad.net/ubuntu/+source/mutt/plain/debian/patches/CVE-2021-3181-3.patch?h=import/1.14.6-1ubuntu0.2] -Signed-off-by: Peter Korsgaard ---- - rfc822.c | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: mutt-1.14.6/rfc822.c -=================================================================== ---- mutt-1.14.6.orig/rfc822.c -+++ mutt-1.14.6/rfc822.c -@@ -560,6 +560,10 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * - last->val = mutt_substrdup (begin, s - nl < begin ? begin : s - nl); - #endif - -+ /* add group terminator, if it was left off */ -+ if (last && in_group) -+ last->next = rfc822_new_address (); -+ - return top; - } - diff --git a/package/mutt/mutt.hash b/package/mutt/mutt.hash index 23e5dd0ff14..1f6082ee350 100644 --- a/package/mutt/mutt.hash +++ b/package/mutt/mutt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e4f507b133253cb5eef27996b8668956cdf9caac622cf8adad13f0f9a4eda864 mutt-1.14.7.tar.gz +sha256 ff8b781159794adcca126b551d5e419174b7b38a582a159bfe4e13451a757e47 mutt-2.2.5.tar.gz sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk index 9557983a079..2c6b087b92d 100644 --- a/package/mutt/mutt.mk +++ b/package/mutt/mutt.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUTT_VERSION = 1.14.7 +MUTT_VERSION = 2.2.5 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL @@ -12,13 +12,9 @@ MUTT_CPE_ID_VENDOR = mutt MUTT_DEPENDENCIES = ncurses MUTT_CONF_OPTS = --disable-doc --disable-smtp -# 0001-Ensure-IMAP-connection-is-closed-after-a-connection-error.patch -MUTT_IGNORE_CVES += CVE-2020-28896 - -# 0002-CVE-2021-3181-1.patch -# 0003-CVE-2021-3181-2.patch -# 0004-CVE-2021-3181-3.patch -MUTT_IGNORE_CVES += CVE-2021-3181 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +MUTT_CONF_ENV += LIBS=-latomic +endif ifeq ($(BR2_PACKAGE_LIBICONV),y) MUTT_DEPENDENCIES += libiconv @@ -57,8 +53,15 @@ else MUTT_CONF_OPTS += --disable-pop endif -# SSL support is only used by imap or pop3 module +# SASL and SSL support are only used by imap or pop3 module ifneq ($(BR2_PACKAGE_MUTT_IMAP)$(BR2_PACKAGE_MUTT_POP3),) +ifeq ($(BR2_PACKAGE_LIBGSASL),y) +MUTT_DEPENDENCIES += libgsasl +MUTT_CONF_OPTS += --with-gsasl +else +MUTT_CONF_OPTS += --without-gsasl +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) MUTT_DEPENDENCIES += openssl MUTT_CONF_OPTS += \ @@ -76,6 +79,7 @@ MUTT_CONF_OPTS += \ endif else MUTT_CONF_OPTS += \ + --without-gsasl \ --without-gnutls \ --without-ssl endif diff --git a/package/mxml/mxml.hash b/package/mxml/mxml.hash index 70f82cada8b..38056f4c3af 100644 --- a/package/mxml/mxml.hash +++ b/package/mxml/mxml.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 b894f6c64964f2e77902564c17ba00f5d077a7a24054e7c1937903b0bd42c974 mxml-3.2.tar.gz +sha256 7cf976366f9e8e4f8cff7d35a59bcf6201c769fce9e58015d64f4b6de1fe3dd8 mxml-3.3.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE sha256 ed63aec4c75b9c21a5156b40052138032269bd27fd6f4bc0c51389807cdc7db9 NOTICE diff --git a/package/mxml/mxml.mk b/package/mxml/mxml.mk index 85930ab388b..88d35cb7ee5 100644 --- a/package/mxml/mxml.mk +++ b/package/mxml/mxml.mk @@ -4,10 +4,12 @@ # ################################################################################ -MXML_VERSION = 3.2 +MXML_VERSION = 3.3 MXML_SITE = https://github.com/michaelrsweet/mxml/releases/download/v$(MXML_VERSION) MXML_LICENSE = Apache-2.0 with exceptions MXML_LICENSE_FILES = LICENSE NOTICE +MXML_CPE_ID_VENDOR = mini-xml_project +MXML_CPE_ID_PRODUCT = mini-xml MXML_INSTALL_STAGING = YES MXML_INSTALL_STAGING_OPTS = DSTROOT=$(STAGING_DIR) install diff --git a/package/mxsldr/mxsldr.mk b/package/mxsldr/mxsldr.mk index 239b40ad29a..2375b9f42b5 100644 --- a/package/mxsldr/mxsldr.mk +++ b/package/mxsldr/mxsldr.mk @@ -5,7 +5,8 @@ ################################################################################ MXSLDR_VERSION = 2793a657ab7a22487d21c1b020957806f8ae8383 -MXSLDR_SITE = git://git.denx.de/mxsldr.git +MXSLDR_SITE = https://git.denx.de/mxsldr.git +MXSLDR_SITE_METHOD = git MXSLDR_LICENSE = GPL-2.0+ MXSLDR_LICENSE_FILES = COPYING HOST_MXSLDR_DEPENDENCIES = host-libusb host-pkgconf diff --git a/package/nano/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch b/package/nano/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch new file mode 100644 index 00000000000..f67f6d34bb4 --- /dev/null +++ b/package/nano/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch @@ -0,0 +1,46 @@ +From a0594387565e1e6b4a8a8ba04ad13b135cc1f0b5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 1 Apr 2021 07:49:46 +0200 +Subject: [PATCH] lib/getrandom.c: fix build with uclibc < 1.0.35 + +Fix the following build failure with uclibc < 1.0.35 which is raised +since the addition of getrandom module in +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=682cc4e678aceff32dea2a84b6e5147bdf5a20a7: + +In file included from ./sys/random.h:40, + from getrandom.c:22: +/home/fabrice/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t' + 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags) + | ^~~~~~ +/home/fabrice/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header ''; did you forget to '#include '? + 7 | #include + +++ |+#include + 8 | + +This patch is not upstreamable as it is only a workaround for +uclibc < 1.0.35, upstream uclibc has been patched with +https://github.com/wbx-github/uclibc-ng/commit/00972c02c2b6e0a95d5def4a71bdfb188e091782 + +Fixes: + - http://autobuild.buildroot.org/results/1932c524aa6b6a3337a0fc21b44adaac60972d30 + +Signed-off-by: Fabrice Fontaine +--- + lib/getrandom.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/getrandom.c b/lib/getrandom.c +index 41212fb32..0ad3f9648 100644 +--- a/lib/getrandom.c ++++ b/lib/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +-- +2.30.2 + diff --git a/package/nano/nano.hash b/package/nano/nano.hash index 4498414fd04..80529437d17 100644 --- a/package/nano/nano.hash +++ b/package/nano/nano.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://www.nano-editor.org/dist/v5/nano-5.5.tar.xz.asc +# https://www.nano-editor.org/dist/v6/nano-6.0.tar.xz.asc # using key BFD009061E535052AD0DF2150D28D4D2A0ACE884 -sha256 390b81bf9b41ff736db997aede4d1f60b4453fbd75a519a4ddb645f6fd687e4a nano-5.5.tar.xz +sha256 93ac8cb68b4ad10e0aaeb80a2dd15c5bb89eb665a4844f7ad01c67efcb169ea2 nano-6.0.tar.xz sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/nano/nano.mk b/package/nano/nano.mk index d47c749ef5f..30db3249e7a 100644 --- a/package/nano/nano.mk +++ b/package/nano/nano.mk @@ -4,8 +4,8 @@ # ################################################################################ -NANO_VERSION_MAJOR = 5 -NANO_VERSION = $(NANO_VERSION_MAJOR).5 +NANO_VERSION_MAJOR = 6 +NANO_VERSION = $(NANO_VERSION_MAJOR).0 NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR) NANO_SOURCE = nano-$(NANO_VERSION).tar.xz NANO_LICENSE = GPL-3.0+ diff --git a/package/nasm/nasm.mk b/package/nasm/nasm.mk index b44b97e62be..ecb08893636 100644 --- a/package/nasm/nasm.mk +++ b/package/nasm/nasm.mk @@ -9,5 +9,7 @@ NASM_SOURCE = nasm-$(NASM_VERSION).tar.xz NASM_SITE = https://www.nasm.us/pub/nasm/releasebuilds/$(NASM_VERSION) NASM_LICENSE = BSD-2-Clause NASM_LICENSE_FILES = LICENSE +NASM_CPE_ID_VENDOR = nasm +NASM_CPE_ID_PRODUCT = netwide_assembler $(eval $(host-autotools-package)) diff --git a/package/nbd/0001-Also-close-the-file-descriptor-before-returning.patch b/package/nbd/0001-Also-close-the-file-descriptor-before-returning.patch deleted file mode 100644 index 70330c8e91c..00000000000 --- a/package/nbd/0001-Also-close-the-file-descriptor-before-returning.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d2480de925e83c8bf60faa96141f4198bdf7f619 Mon Sep 17 00:00:00 2001 -From: Wouter Verhelst -Date: Fri, 2 Aug 2019 10:33:00 +0200 -Subject: [PATCH] Also close the file descriptor before returning - -Coverity CID#1162721 -[Retrieved from: -https://github.com/NetworkBlockDevice/nbd/commit/d2480de925e83c8bf60faa96141f4198bdf7f619] -Signed-off-by: Fabrice Fontaine ---- - nbd-client.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/nbd-client.c b/nbd-client.c -index e9ec0a86..94035886 100644 ---- a/nbd-client.c -+++ b/nbd-client.c -@@ -930,6 +930,7 @@ void disconnect(char* device) { - if (ioctl(nbd, NBD_CLEAR_SOCK)<0) - err("Ioctl failed: %m\n"); - printf("done\n"); -+ close(nbd); - } - - #if HAVE_NETLINK diff --git a/package/nbd/nbd.hash b/package/nbd/nbd.hash index d856953c22b..f58a89bf9af 100644 --- a/package/nbd/nbd.hash +++ b/package/nbd/nbd.hash @@ -1,7 +1,7 @@ -# From http://sourceforge.net/projects/nbd/files/nbd/3.20/ -md5 910fe6c152f8c30ad8608388e6a4ce89 nbd-3.20.tar.xz -sha1 9240430266ff4bfb2316ef6d880056a9974a59fd nbd-3.20.tar.xz +# From http://sourceforge.net/projects/nbd/files/nbd/3.24/ +md5 a6d9e7bbc311a2ed07ef84a58b82b5dd nbd-3.24.tar.xz +sha1 72c59ef5186ae355de6f539a1b348e18cbb8314e nbd-3.24.tar.xz # Locally calculated -sha256 e0e1b3538ab7ae5accf56180afd1a9887d415b98d21223b8ad42592b4af7d6cd nbd-3.20.tar.xz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 6877156d23a7b33f75eee89d2f5c2c91c542afc3cdcb636dea5a88539a58d10c nbd-3.24.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/nbd/nbd.mk b/package/nbd/nbd.mk index 5fd5555510f..50f698dd24c 100644 --- a/package/nbd/nbd.mk +++ b/package/nbd/nbd.mk @@ -4,13 +4,15 @@ # ################################################################################ -NBD_VERSION = 3.20 +NBD_VERSION = 3.24 NBD_SOURCE = nbd-$(NBD_VERSION).tar.xz NBD_SITE = http://downloads.sourceforge.net/project/nbd/nbd/$(NBD_VERSION) NBD_CONF_OPTS = --enable-lfs -NBD_DEPENDENCIES = host-pkgconf libglib2 +NBD_DEPENDENCIES = host-bison host-pkgconf libglib2 NBD_LICENSE = GPL-2.0 NBD_LICENSE_FILES = COPYING +NBD_CPE_ID_VENDOR = network_block_device_project +NBD_CPE_ID_PRODUCT = network_block_device ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) # We have linux/falloc.h diff --git a/package/ncdu/ncdu.hash b/package/ncdu/ncdu.hash index be2b6e07889..c2d367f15a3 100644 --- a/package/ncdu/ncdu.hash +++ b/package/ncdu/ncdu.hash @@ -1,5 +1,5 @@ # From https://dev.yorhel.nl/ncdu -sha256 b02ddc4dbf1db139cc6fbbe2f54a282770380f0ca5c17089855eab52a9ea3fb0 ncdu-1.15.1.tar.gz +sha256 2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4 ncdu-1.16.tar.gz # computed locally -sha256 978f49428f21714c973706030c0ef09983cc1e2889a1b7b521dbf8860870cf05 COPYING +sha256 e9ed7095eee84ad6804450495738277b539da0c0b2006f50faf8e6e67a0a15aa COPYING diff --git a/package/ncdu/ncdu.mk b/package/ncdu/ncdu.mk index 532f145b20c..59fa8deb25e 100644 --- a/package/ncdu/ncdu.mk +++ b/package/ncdu/ncdu.mk @@ -4,7 +4,7 @@ # ################################################################################ -NCDU_VERSION = 1.15.1 +NCDU_VERSION = 1.16 NCDU_SITE = http://dev.yorhel.nl/download NCDU_DEPENDENCIES = ncurses diff --git a/package/ncmpc/Config.in b/package/ncmpc/Config.in index 0e062460a71..eda6e0bbd5d 100644 --- a/package/ncmpc/Config.in +++ b/package/ncmpc/Config.in @@ -2,11 +2,9 @@ config BR2_PACKAGE_NCMPC bool "ncmpc" depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_WCHAR # boost - depends on BR2_TOOLCHAIN_HAS_THREADS # boost + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 - select BR2_PACKAGE_BOOST - select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_LIBMPDCLIENT select BR2_PACKAGE_NCURSES help diff --git a/package/ncmpc/ncmpc.hash b/package/ncmpc/ncmpc.hash index 3215b35b1b1..a5d6698a61f 100644 --- a/package/ncmpc/ncmpc.hash +++ b/package/ncmpc/ncmpc.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 a5f7471d766a71c222374efa4aa17ef6ee0e42ad48d15528edd935d1f0f6cd4d ncmpc-0.42.tar.xz +sha256 177f77cf09dd4ab914e8438be399cdd5d83c9aa992abc8d9abac006bb092934e ncmpc-0.46.tar.xz # Hash for license file: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/ncmpc/ncmpc.mk b/package/ncmpc/ncmpc.mk index 0cc97656423..41fface525d 100644 --- a/package/ncmpc/ncmpc.mk +++ b/package/ncmpc/ncmpc.mk @@ -5,11 +5,10 @@ ################################################################################ NCMPC_VERSION_MAJOR = 0 -NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).42 +NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).46 NCMPC_SOURCE = ncmpc-$(NCMPC_VERSION).tar.xz NCMPC_SITE = http://www.musicpd.org/download/ncmpc/$(NCMPC_VERSION_MAJOR) NCMPC_DEPENDENCIES = \ - boost \ host-pkgconf \ libmpdclient \ ncurses \ @@ -30,8 +29,8 @@ else NCMPC_CONF_OPTS += -Dlirc=disabled endif -ifeq ($(BR2_PACKAGE_PCRE),y) -NCMPC_DEPENDENCIES += pcre +ifeq ($(BR2_PACKAGE_PCRE2),y) +NCMPC_DEPENDENCIES += pcre2 NCMPC_CONF_OPTS += -Dregex=enabled else NCMPC_CONF_OPTS += -Dregex=disabled diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index 97e3e2c3213..5d9c6bb0dd9 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -11,6 +11,12 @@ NCURSES_DEPENDENCIES = host-ncurses NCURSES_LICENSE = MIT with advertising clause NCURSES_LICENSE_FILES = COPYING NCURSES_CPE_ID_VENDOR = gnu +# Commit 4b21273d71d09 added upstream (security) patches up to 20200118 +NCURSES_IGNORE_CVES += CVE-2018-10754 +NCURSES_IGNORE_CVES += CVE-2018-19211 +NCURSES_IGNORE_CVES += CVE-2018-19217 +NCURSES_IGNORE_CVES += CVE-2019-17594 +NCURSES_IGNORE_CVES += CVE-2019-17595 NCURSES_CONFIG_SCRIPTS = ncurses$(NCURSES_LIB_SUFFIX)6-config NCURSES_PATCH = \ $(addprefix https://invisible-mirror.net/archives/ncurses/$(NCURSES_VERSION)/, \ diff --git a/package/ndisc6/0001-Fix-musl-build.patch b/package/ndisc6/0001-Fix-musl-build.patch deleted file mode 100644 index 6a13a435c53..00000000000 --- a/package/ndisc6/0001-Fix-musl-build.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 12787f5936c79b56b24ffe0a92f4370804070223 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Thu, 7 Nov 2019 21:41:34 +0100 -Subject: [PATCH] Fix musl build - -Fixes -src/trace-tcp.c:67:24: error: 'TH_SYN' undeclared (first use in this function); did you mean 'TH_CWR'? - packet->th.th_flags = TH_SYN | (ecn ? (TH_ECE | TH_CWR) : 0); - -Musl guards TH_SYN with if defined(_GNU_SOURCE): -https://git.musl-libc.org/cgit/musl/tree/include/netinet/tcp.h#n82 - -Patch sent via email to upstream. - -Signed-off-by: Bernd Kuhls ---- - src/trace-tcp.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/trace-tcp.c b/src/trace-tcp.c -index 5aba9d4..1b367ae 100644 ---- a/src/trace-tcp.c -+++ b/src/trace-tcp.c -@@ -21,7 +21,6 @@ - # include - #endif - --#undef _GNU_SOURCE - #define _DEFAULT_SOURCE 1 - - #include --- -2.20.1 - diff --git a/package/ndisc6/ndisc6.hash b/package/ndisc6/ndisc6.hash index 381667c2cf1..d76e831208d 100644 --- a/package/ndisc6/ndisc6.hash +++ b/package/ndisc6/ndisc6.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 abb1da4a98d94e5abe1dd7b1c975de540306b0581cbbd36aff035118b2f25c1f ndisc6-1.0.4.tar.bz2 +sha256 36932f9fc47e2844abcda7550fa1343b3af4b4208dfb61e0c9d9224aad5df351 ndisc6-1.0.5.tar.bz2 # Locally computed -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/ndisc6/ndisc6.mk b/package/ndisc6/ndisc6.mk index 9845aa2c9ab..ff6439e310d 100644 --- a/package/ndisc6/ndisc6.mk +++ b/package/ndisc6/ndisc6.mk @@ -4,7 +4,7 @@ # ################################################################################ -NDISC6_VERSION = 1.0.4 +NDISC6_VERSION = 1.0.5 NDISC6_SOURCE = ndisc6-$(NDISC6_VERSION).tar.bz2 NDISC6_SITE = http://www.remlab.net/files/ndisc6 NDISC6_CONF_ENV = CC="$(TARGET_CC) -std=c11" LIBS=$(TARGET_NLS_LIBS) diff --git a/package/neard/Config.in b/package/neard/Config.in index 277e467cedc..a60fb3f8f64 100644 --- a/package/neard/Config.in +++ b/package/neard/Config.in @@ -13,9 +13,7 @@ config BR2_PACKAGE_NEARD daemon is a part of the NFC stack provided by the Linux NFC project. - http://git.kernel.org/?p=network/nfc/neard.git;a=summary - - https://01.org/linux-nfc/ + https://git.kernel.org/pub/scm/network/nfc/neard.git if BR2_PACKAGE_NEARD diff --git a/package/neard/neard.hash b/package/neard/neard.hash index 948314ddd7d..1ea95c938a6 100644 --- a/package/neard/neard.hash +++ b/package/neard/neard.hash @@ -1,4 +1,3 @@ -# From https://www.kernel.org/pub/linux/network/nfc/sha256sums.asc -sha256 eae3b11c541a988ec11ca94b7deab01080cd5b58cfef3ced6ceac9b6e6e65b36 neard-0.16.tar.xz # Locally computed +sha256 c013e3115315e2e11d16b5f0f1c8ce9afbcdba26800aad91245fd9b4a5dc938b neard-0.18.tar.gz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/neard/neard.mk b/package/neard/neard.mk index a351469102f..51ba52fb907 100644 --- a/package/neard/neard.mk +++ b/package/neard/neard.mk @@ -4,15 +4,25 @@ # ################################################################################ -NEARD_VERSION = 0.16 -NEARD_SOURCE = neard-$(NEARD_VERSION).tar.xz -NEARD_SITE = $(BR2_KERNEL_MIRROR)/linux/network/nfc +NEARD_VERSION = 0.18 +NEARD_SITE = https://git.kernel.org/pub/scm/network/nfc/neard.git/snapshot NEARD_LICENSE = GPL-2.0 NEARD_LICENSE_FILES = COPYING -NEARD_DEPENDENCIES = host-pkgconf dbus libglib2 libnl +NEARD_DEPENDENCIES = host-autoconf-archive host-pkgconf dbus libglib2 libnl +# From git +NEARD_AUTORECONF = YES +NEARD_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive NEARD_CONF_OPTS = --disable-traces +# Autoreconf is missing the m4/ directory, which might actually be missing +# iff it was the first argument, but unfortunately we are overriding the +# first include directory above. Thus we need that hook here. +define NEARD_CREATE_M4 + mkdir -p $(@D)/m4 +endef +NEARD_POST_PATCH_HOOKS += NEARD_CREATE_M4 + ifeq ($(BR2_PACKAGE_NEARD_TOOLS),y) NEARD_CONF_OPTS += --enable-tools endif diff --git a/package/neon/0001-Revert-Advertise-TS_SSL-feature-with-OpenSSL-1.1.0.patch b/package/neon/0001-Revert-Advertise-TS_SSL-feature-with-OpenSSL-1.1.0.patch new file mode 100644 index 00000000000..02088bfe023 --- /dev/null +++ b/package/neon/0001-Revert-Advertise-TS_SSL-feature-with-OpenSSL-1.1.0.patch @@ -0,0 +1,76 @@ +From 8f9e110b391f065536780d19c2257ad7afd83522 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 31 Jan 2022 23:42:13 +0100 +Subject: [PATCH] Revert "Advertise TS_SSL feature with OpenSSL >= 1.1.0." + +This reverts commit 281c84fc3996c757efdf6e9b3f906d7a1fc08b1d. + +Indeed openssl can be built on toolchains without threads support which +will result in the following build failure: + +ne_openssl.c:43:10: fatal error: pthread.h: No such file or directory + 43 | #include + | ^~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/da995ef26001357e51a5907de9c6111b9ff89bdf + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/notroj/neon/pull/71] +--- + macros/neon.m4 | 15 ++++----------- + src/ne_openssl.c | 4 ++-- + 2 files changed, 6 insertions(+), 13 deletions(-) + +diff --git a/macros/neon.m4 b/macros/neon.m4 +index 129d4ac..5a5fb1b 100644 +--- a/macros/neon.m4 ++++ b/macros/neon.m4 +@@ -960,13 +960,9 @@ yes|openssl) + AC_CHECK_HEADERS(openssl/ssl.h openssl/opensslv.h,, + [AC_MSG_ERROR([OpenSSL headers not found, cannot enable SSL support])]) + ++ # Enable EGD support if using 0.9.7 or newer + NE_CHECK_OPENSSLVER(ne_cv_lib_ssl097, 0.9.7, 0x00907000L) +- NE_CHECK_OPENSSLVER(ne_cv_lib_ssl110, 1.1.0, 0x10100000L) +- if test "$ne_cv_lib_ssl110" = "yes"; then +- NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL $NE_SSL_VERSION]) +- AC_DEFINE(HAVE_OPENSSL11, 1, [Enable OpenSSL 1.1 support]) +- elif test "$ne_cv_lib_ssl097" = "yes"; then +- # Enable EGD support if using 0.9.7 or newer ++ if test "$ne_cv_lib_ssl097" = "yes"; then + AC_MSG_NOTICE([OpenSSL >= 0.9.7; EGD support not needed in neon]) + NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL $NE_SSL_VERSION]) + NE_CHECK_FUNCS(CRYPTO_set_idptr_callback SSL_SESSION_cmp) +@@ -1074,11 +1070,8 @@ CC/CFLAGS/LIBS must be used to make the POSIX library interfaces + available]),, + enable_threadsafe_ssl=no) + +-case ${enable_threadsafe_ssl}X${ne_cv_lib_ssl110} in +-*Xyes) +- NE_ENABLE_SUPPORT(TS_SSL, [OpenSSL is natively thread-safe]) +- ;; +-posixX*|yesX*) ++case $enable_threadsafe_ssl in ++posix|yes) + ne_pthr_ok=yes + AC_CHECK_FUNCS([pthread_mutex_init pthread_mutex_lock],,[ne_pthr_ok=no]) + if test "${ne_pthr_ok}" = "no"; then +diff --git a/src/ne_openssl.c b/src/ne_openssl.c +index 41a5c05..96c768e 100644 +--- a/src/ne_openssl.c ++++ b/src/ne_openssl.c +@@ -1194,8 +1194,8 @@ char *ne_vstrhash(unsigned int flags, va_list ap) + return ne__strhash2hex(v, vlen, flags); + } + +-#if defined(NE_HAVE_TS_SSL) && OPENSSL_VERSION_NUMBER < 0x10100000L +-/* From OpenSSL 1.1.0 locking callbacks are no longer needed. */ ++#if defined(NE_HAVE_TS_SSL) && OPENSSL_VERSION_NUMBER < 0x10101000L ++/* For OpenSSL 1.1.1 locking callbacks are no longer need at all. */ + #define WITH_OPENSSL_LOCKING (1) + + /* Implementation of locking callbacks to make OpenSSL thread-safe. +-- +2.34.1 + diff --git a/package/neon/0002-configure.ac-fix-autoreconf.patch b/package/neon/0002-configure.ac-fix-autoreconf.patch new file mode 100644 index 00000000000..cd63d1ed412 --- /dev/null +++ b/package/neon/0002-configure.ac-fix-autoreconf.patch @@ -0,0 +1,28 @@ +From cf779609a5dd38f0a8fdb3c4539371f13fd3a24a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 8 Feb 2022 18:34:25 +0100 +Subject: [PATCH] configure.ac: fix autoreconf + +Add AC_CONFIG_MACRO_DIR(macros) to fix autoreconf + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 37b14ec..122151d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,7 @@ + AC_PREREQ(2.58) dnl 2.58 required for AS_HELP_STRING + ++AC_CONFIG_MACRO_DIR(macros) ++ + dnl Extract the version (sans LF) from .version, created at release-time. + m4_define(ne_version, [m4_translit(m4_include(.version), [ + ])]) +-- +2.34.1 + diff --git a/package/neon/Config.in b/package/neon/Config.in index 983134339b2..45348a7f4d8 100644 --- a/package/neon/Config.in +++ b/package/neon/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_NEON help HTTP and WebDAV client library, with a C interface. - http://www.webdav.org/neon/ + https://notroj.github.io/neon/ if BR2_PACKAGE_NEON @@ -16,6 +16,8 @@ config BR2_PACKAGE_NEON_ZLIB config BR2_PACKAGE_NEON_SSL bool "SSL support" select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL help build with SSL support diff --git a/package/neon/neon.hash b/package/neon/neon.hash index 2ebefbe5201..5a5a77a58be 100644 --- a/package/neon/neon.hash +++ b/package/neon/neon.hash @@ -1,6 +1,6 @@ -# Locally calculated after checking pgp signature -sha256 db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca neon-0.30.2.tar.gz # Locally computed -sha256 95f77624e96f6728145826fc895142275451f43f41c073766db3dbbcc8b790b0 README -sha256 d7bf9d064ac3e5840f9dd02422b7eeec4f1fd03f37fadbd043602be5e882304f src/COPYING.LIB -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad test/COPYING +sha256 986566468c6295fc5d0fb141a5981e31c9f82ee38e938374abed8471ef2fb286 neon-0.32.2.tar.gz +# Hash for license files +sha256 ce2421ee38d6c0e02c85ac076478a0f92da6ef92b92b7a174877cabf01b2e531 README.md +sha256 d7bf9d064ac3e5840f9dd02422b7eeec4f1fd03f37fadbd043602be5e882304f src/COPYING.LIB +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad test/COPYING diff --git a/package/neon/neon.mk b/package/neon/neon.mk index da53735d0eb..eae6bfbad64 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -4,12 +4,14 @@ # ################################################################################ -NEON_VERSION = 0.30.2 -NEON_SITE = http://www.webdav.org/neon +NEON_VERSION = 0.32.2 +NEON_SITE = https://notroj.github.io/neon NEON_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (manual and tests) -NEON_LICENSE_FILES = src/COPYING.LIB test/COPYING README +NEON_LICENSE_FILES = src/COPYING.LIB test/COPYING README.md NEON_CPE_ID_VENDOR = webdav NEON_INSTALL_STAGING = YES +# We're patching configure.ac +NEON_AUTORECONF = YES NEON_CONF_OPTS = --without-gssapi --disable-rpath NEON_CONFIG_SCRIPTS = neon-config NEON_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) diff --git a/package/net-tools/net-tools.hash b/package/net-tools/net-tools.hash index e29415b8ffc..fdc30fa2b2d 100644 --- a/package/net-tools/net-tools.hash +++ b/package/net-tools/net-tools.hash @@ -1,3 +1,6 @@ +# From http://sourceforge.net/projects/net-tools/files/ +sha1 4080baab0486dc882c3b293d5559c27251ae4268 net-tools-2.10.tar.xz +md5 78aae762c95e2d731faf88d482e4cde5 net-tools-2.10.tar.xz # Locally computed -sha256 4c68ef33d97cc807fe437fa64a801355c36d638774c0c8a4342742f6bdceea78 net-tools-479bb4a7e11a4084e2935c0a576388f92469225b-br1.tar.gz +sha256 b262435a5241e89bfa51c3cabd5133753952f7a7b7b93f32e08cb9d96f580d69 net-tools-2.10.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/net-tools/net-tools.mk b/package/net-tools/net-tools.mk index 985fe2e35e7..4a03e3d8469 100644 --- a/package/net-tools/net-tools.mk +++ b/package/net-tools/net-tools.mk @@ -4,11 +4,13 @@ # ################################################################################ -NET_TOOLS_VERSION = 479bb4a7e11a4084e2935c0a576388f92469225b -NET_TOOLS_SITE = git://git.code.sf.net/p/net-tools/code +NET_TOOLS_VERSION = 2.10 +NET_TOOLS_SOURCE = net-tools-$(NET_TOOLS_VERSION).tar.xz +NET_TOOLS_SITE = http://downloads.sourceforge.net/project/net-tools NET_TOOLS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) NET_TOOLS_LICENSE = GPL-2.0+ NET_TOOLS_LICENSE_FILES = COPYING +NET_TOOLS_CPE_ID_VENDOR = net-tools_project define NET_TOOLS_CONFIGURE_CMDS (cd $(@D); yes "" | ./configure.sh config.in ) @@ -34,11 +36,10 @@ define NET_TOOLS_BUILD_CMDS $(MAKE) -C $(@D) endef -# install renames conflicting binaries, update does not # ifconfig & route reside in /sbin for busybox, so ensure we don't end # up with two versions of those. define NET_TOOLS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) update + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install mv -f $(TARGET_DIR)/bin/ifconfig $(TARGET_DIR)/sbin/ifconfig mv -f $(TARGET_DIR)/bin/route $(TARGET_DIR)/sbin/route endef diff --git a/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch b/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch new file mode 100644 index 00000000000..05913862f66 --- /dev/null +++ b/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch @@ -0,0 +1,43 @@ +From 58ddc137021a938f37c3794305a839f8df449d3f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Apr 2022 23:59:15 +0200 +Subject: [PATCH] etc/uams/openssl_compat.h: fix build with libressl >= 2.7.0 + +Fix the following build failure with libressl >= 2.7.0 which added +DH_set0_pqg with +https://github.com/libressl-portable/openbsd/commit/848e2a019c796b685fc8c5848283b86e48fbe0bf: + +In file included from uams_dhx_passwd.c:35: +openssl_compat.h:15:19: error: static declaration of 'DH_set0_pqg' follows non-static declaration + 15 | inline static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) + | ^~~~~~~~~~~ +In file included from uams_dhx_passwd.c:33: +/home/autobuild/autobuild/instance-2/output-1/host/mips64-buildroot-linux-uclibc/sysroot/usr/include/openssl/dh.h:195:5: note: previous declaration of 'DH_set0_pqg' was here + 195 | int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); + | ^~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/fc6e308f346570f8198542602bc8c1bdd0a4869e + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + etc/uams/openssl_compat.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/etc/uams/openssl_compat.h b/etc/uams/openssl_compat.h +index ded377bc..5cc8de34 100644 +--- a/etc/uams/openssl_compat.h ++++ b/etc/uams/openssl_compat.h +@@ -11,7 +11,7 @@ http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt + #ifndef OPENSSL_COMPAT_H + #define OPENSSL_COMPAT_H + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) + inline static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) + { + /* If the fields p and g in d are NULL, the corresponding input +-- +2.35.1 + diff --git a/package/netatalk/0002-fix-ftbs-multiple-def-of-invalid_dircache_entries.patch b/package/netatalk/0002-fix-ftbs-multiple-def-of-invalid_dircache_entries.patch deleted file mode 100644 index e7ccc525538..00000000000 --- a/package/netatalk/0002-fix-ftbs-multiple-def-of-invalid_dircache_entries.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 32df6e155ccfc83216321925273c3e75e631ebe6 Mon Sep 17 00:00:00 2001 -From: Andrew Bauer -Date: Wed, 22 Jan 2020 09:59:47 -0600 -Subject: [PATCH] fix ftbs multiple def of invalid_dircache_entries - -[Retrieved from: -https://github.com/Netatalk/Netatalk/pull/125/commits/32df6e155ccfc83216321925273c3e75e631ebe6] -Signed-off-by: Fabrice Fontaine ---- - etc/afpd/directory.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/etc/afpd/directory.h b/etc/afpd/directory.h -index eb89c606..81bfa9cb 100644 ---- a/etc/afpd/directory.h -+++ b/etc/afpd/directory.h -@@ -91,7 +91,7 @@ struct maccess { - #define AR_UWRITE (1<<2) - #define AR_UOWN (1<<7) - --q_t *invalid_dircache_entries; -+extern q_t *invalid_dircache_entries; - - typedef int (*dir_loop)(struct dirent *, char *, void *); - diff --git a/package/netatalk/Config.in b/package/netatalk/Config.in index 1560a18747c..225d5891c76 100644 --- a/package/netatalk/Config.in +++ b/package/netatalk/Config.in @@ -6,6 +6,8 @@ config BR2_PACKAGE_NETATALK depends on !BR2_STATIC_LIBS select BR2_PACKAGE_BERKELEYDB select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_CAST if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBEVENT select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBGPG_ERROR diff --git a/package/netatalk/netatalk.hash b/package/netatalk/netatalk.hash index 6c3250a0050..6dead5457c2 100644 --- a/package/netatalk/netatalk.hash +++ b/package/netatalk/netatalk.hash @@ -1,6 +1,7 @@ -# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.12/ -md5 021d2330cb7f7cd2977aec46299dcc1b netatalk-3.1.12.tar.bz2 -sha1 cc1fe1ebdbdb4da9cf82835c440e82ba28a832c5 netatalk-3.1.12.tar.bz2 +# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.13/ +md5 697421623c32ee0ab9c8076191766e5f netatalk-3.1.13.tar.bz2 +sha1 16dd7fa84962a44b36b795b8c44393e728785947 netatalk-3.1.13.tar.bz2 # Locally computed +sha256 89ada6bcfe1b39ad94f58c236654d1d944f2645c3e7de98b3374e0bd37d5e05d netatalk-3.1.13.tar.bz2 sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 7599ae145e53be03a08f8b558b2f2e0c828e1630f1843cc04f41981b8cefcd65 COPYRIGHT diff --git a/package/netatalk/netatalk.mk b/package/netatalk/netatalk.mk index 0c219a2316b..7cc950beb66 100644 --- a/package/netatalk/netatalk.mk +++ b/package/netatalk/netatalk.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETATALK_VERSION = 3.1.12 +NETATALK_VERSION = 3.1.13 NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk/$(NETATALK_VERSION) NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.bz2 # For 0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch diff --git a/package/netcat-openbsd/netcat-openbsd.hash b/package/netcat-openbsd/netcat-openbsd.hash index b70cae8860f..e55dea53e72 100644 --- a/package/netcat-openbsd/netcat-openbsd.hash +++ b/package/netcat-openbsd/netcat-openbsd.hash @@ -1,3 +1,6 @@ -# Locally calculated -sha256 55e578f652cbf6ffc95f75ea3e2645ab335fab63649568bd7cdb0a6331ca87de netcat-openbsd-debian_1.195-2-br1.tar.gz -sha256 e2e86d58c38f044a49f51e45515747585db58a2305419c73323eaad88fcaef5c debian/copyright +# From http://snapshot.debian.org/archive/debian/20211206T030211Z/pool/main/n/netcat-openbsd/netcat-openbsd_1.218-3.dsc +sha256 a28a5d39abaf481747b1e78b4b50e96d0cdab0ffef289cba156dc11941c64857 netcat-openbsd_1.218.orig.tar.gz +sha256 19229ebc825d12cd805843228c498cc881dcef127a9d680fcfbd8cb2da966161 netcat-openbsd_1.218-3.debian.tar.xz + +# Hash for license file +sha256 acfd1d822ee2e8e0b196c7a369383d0cb9bc131b56c3c95976a32498728fe1e3 netcat.c diff --git a/package/netcat-openbsd/netcat-openbsd.mk b/package/netcat-openbsd/netcat-openbsd.mk index a2333531c0a..311f8aa819a 100644 --- a/package/netcat-openbsd/netcat-openbsd.mk +++ b/package/netcat-openbsd/netcat-openbsd.mk @@ -4,11 +4,12 @@ # ################################################################################ -NETCAT_OPENBSD_VERSION = debian/1.195-2 -NETCAT_OPENBSD_SITE = https://salsa.debian.org/debian/netcat-openbsd.git -NETCAT_OPENBSD_SITE_METHOD = git +NETCAT_OPENBSD_VERSION = 1.218 +NETCAT_OPENBSD_SOURCE = netcat-openbsd_$(NETCAT_OPENBSD_VERSION).orig.tar.gz +NETCAT_OPENBSD_PATCH = netcat-openbsd_$(NETCAT_OPENBSD_VERSION)-3.debian.tar.xz +NETCAT_OPENBSD_SITE = http://snapshot.debian.org/archive/debian/20211206T030211Z/pool/main/n/netcat-openbsd NETCAT_OPENBSD_LICENSE = BSD-3-Clause -NETCAT_OPENBSD_LICENSE_FILES = debian/copyright +NETCAT_OPENBSD_LICENSE_FILES = netcat.c NETCAT_OPENBSD_DEPENDENCIES = host-pkgconf libbsd define NETCAT_OPENBSD_APPLY_DEBIAN_PATCHES diff --git a/package/netdata/Config.in b/package/netdata/Config.in index 88f88cb7ed1..34d139125d7 100644 --- a/package/netdata/Config.in +++ b/package/netdata/Config.in @@ -16,6 +16,25 @@ config BR2_PACKAGE_NETDATA https://github.com/netdata/netdata +if BR2_PACKAGE_NETDATA + +config BR2_PACKAGE_NETDATA_PROMETHEUS + bool "prometheus remote write backend" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP # protobuf, snappy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf + select BR2_PACKAGE_PROTOBUF + select BR2_PACKAGE_SNAPPY + help + Enable prometheus remote write backend + +comment "prometheus remote write backend needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + +endif + comment "netdata needs a toolchain w/ NPTL, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on BR2_USE_MMU diff --git a/package/netdata/netdata.mk b/package/netdata/netdata.mk index 1c20c49dee0..6def59764af 100644 --- a/package/netdata/netdata.mk +++ b/package/netdata/netdata.mk @@ -8,9 +8,12 @@ NETDATA_VERSION = 1.21.1 NETDATA_SITE = $(call github,netdata,netdata,v$(NETDATA_VERSION)) NETDATA_LICENSE = GPL-3.0+ NETDATA_LICENSE_FILES = LICENSE +NETDATA_CPE_ID_VENDOR = netdata # netdata's source code is released without a generated configure script NETDATA_AUTORECONF = YES -NETDATA_CONF_OPTS = --disable-dbengine +NETDATA_CONF_OPTS = \ + --disable-dbengine \ + --disable-unit-tests NETDATA_DEPENDENCIES = libuv util-linux zlib ifeq ($(BR2_GCC_ENABLE_LTO),y) @@ -33,6 +36,13 @@ else NETDATA_CONF_OPTS += --disable-jsonc endif +ifeq ($(BR2_PACKAGE_LIBCAP),y) +NETDATA_CONF_OPTS += --with-libcap +NETDATA_DEPENDENCIES += libcap +else +NETDATA_CONF_OPTS += --without-libcap +endif + ifeq ($(BR2_PACKAGE_NFACCT),y) NETDATA_CONF_OPTS += --enable-plugin-nfacct NETDATA_DEPENDENCIES += nfacct @@ -51,6 +61,16 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) NETDATA_CONF_ENV += LIBS=-latomic endif +ifeq ($(BR2_PACKAGE_NETDATA_PROMETHEUS),y) +# Override the result of AC_PATH_PROG([CXX_BINARY], [${CXX}], [no]) +# which fails because CXX is set to the full CXX binary path +NETDATA_CONF_ENV += ac_cv_path_CXX_BINARY=yes +NETDATA_CONF_OPTS += --enable-backend-prometheus-remote-write +NETDATA_DEPENDENCIES += protobuf snappy +else +NETDATA_CONF_OPTS += --disable-backend-prometheus-remote-write +endif + define NETDATA_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/netdata/S60netdata \ $(TARGET_DIR)/etc/init.d/S60netdata diff --git a/package/netopeer2/Config.in b/package/netopeer2/Config.in index 763b1f234b8..db31a786a10 100644 --- a/package/netopeer2/Config.in +++ b/package/netopeer2/Config.in @@ -1,11 +1,13 @@ comment "netopeer2 needs a toolchain w/ gcc >= 4.8, C++, threads, dynamic library" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_PACKAGE_NETOPEER2 bool "netopeer2" depends on BR2_USE_MMU # libnetconf2, libssh, sysrepo + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libyang depends on !BR2_STATIC_LIBS # libnetconf2, libssh, libyang, sysrepo depends on BR2_INSTALL_LIBSTDCPP # sysrepo depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/netopeer2/netopeer2.hash b/package/netopeer2/netopeer2.hash index 801c353e11d..2895bc51d06 100644 --- a/package/netopeer2/netopeer2.hash +++ b/package/netopeer2/netopeer2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6b43026211a787d5cb91d47cb7fdd7923649044c55f264aaf85bf5676c004211 netopeer2-1.1.53.tar.gz +sha256 dedae40419cfddd09c1be7bb536b3a762ec8dcd568c2bfe803c0f6789a5ca834 netopeer2-2.0.35.tar.gz sha256 b46f161fbdcf127d3ef22602e15958c3092fe3294f71a2dc8cdf8f6689cba95b LICENSE diff --git a/package/netopeer2/netopeer2.mk b/package/netopeer2/netopeer2.mk index be5ffd2be76..43f22b7e4c5 100644 --- a/package/netopeer2/netopeer2.mk +++ b/package/netopeer2/netopeer2.mk @@ -4,14 +4,16 @@ # ################################################################################ -NETOPEER2_VERSION = 1.1.53 +NETOPEER2_VERSION = 2.0.35 NETOPEER2_SITE = $(call github,CESNET,Netopeer2,v$(NETOPEER2_VERSION)) NETOPEER2_DL_SUBDIR = netopeer2 NETOPEER2_LICENSE = BSD-3-Clause NETOPEER2_LICENSE_FILES = LICENSE NETOPEER2_DEPENDENCIES = libnetconf2 libyang sysrepo host-sysrepo -NETOPEER2_CONF_OPTS = -DBUILD_CLI=$(if $(BR2_PACKAGE_NETOPEER2_CLI),ON,OFF) +NETOPEER2_CONF_OPTS = \ + -DBUILD_CLI=$(if $(BR2_PACKAGE_NETOPEER2_CLI),ON,OFF) \ + -DENABLE_TESTS=OFF # Set a build specific SYSREPO_SHM_PREFIX to ensure we can safely delete the # files. This also ensures that concurrent parallel builds will not be diff --git a/package/netperf/netperf.mk b/package/netperf/netperf.mk index 8b2280830f3..85f6bce0338 100644 --- a/package/netperf/netperf.mk +++ b/package/netperf/netperf.mk @@ -5,7 +5,7 @@ ################################################################################ NETPERF_VERSION = 2.7.0 -NETPERF_SITE = ftp://ftp.netperf.org/netperf +NETPERF_SITE = http://sources.buildroot.org/netperf NETPERF_SOURCE = netperf-$(NETPERF_VERSION).tar.bz2 # gcc 5+ defaults to gnu99 which breaks netperf NETPERF_CONF_ENV = \ diff --git a/package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch b/package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch new file mode 100644 index 00000000000..bbcbd2bfc39 --- /dev/null +++ b/package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch @@ -0,0 +1,51 @@ +From 194ec61843b9598ce90873c812b817c4b96e2e0d Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 2 Sep 2021 12:56:00 +0300 +Subject: [PATCH] Detect libpcap dependencies using pkg-config + +When building statically the link command line must include all +dependencies of all libraries. libpcap can optionally depend on libnl. +mausezahn can't build statically in this case. + +Use pkg-config in configure and in the link command to construct the +library flags we need to link with libpcap. + +Signed-off-by: Baruch Siach +Signed-off-by: Tobias Klauser +--- +Upstream status: commit 194ec61843b9598ce90873c812b817c4b96e2e0d + + configure | 4 +++- + mausezahn/Makefile | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 510826a798f5..598ae2433a7a 100755 +--- a/configure ++++ b/configure +@@ -588,7 +588,9 @@ int main(void) + } + EOF + +- $CC -o $TMPDIR/pcaptest $TMPDIR/pcaptest.c -lpcap >> config.log 2>&1 ++ $CC -o $TMPDIR/pcaptest $TMPDIR/pcaptest.c \ ++ $($PKG_CONFIG --libs libpcap 2>> config.log) \ ++ >> config.log 2>&1 + if [ ! -x $TMPDIR/pcaptest ] ; then + echo "[NO]" + echo "CONFIG_LIBPCAP=0" >> Config +diff --git a/mausezahn/Makefile b/mausezahn/Makefile +index ca16b6579583..9544565355cc 100644 +--- a/mausezahn/Makefile ++++ b/mausezahn/Makefile +@@ -1,6 +1,6 @@ + mausezahn-libs = -lcli \ + -lnet \ +- -lpcap \ ++ $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libpcap 2> /dev/null ) \ + -lrt \ + -lpthread \ + -lm +-- +2.33.0 + diff --git a/package/netsniff-ng/netsniff-ng.mk b/package/netsniff-ng/netsniff-ng.mk index f45246da632..27bd707c844 100644 --- a/package/netsniff-ng/netsniff-ng.mk +++ b/package/netsniff-ng/netsniff-ng.mk @@ -13,7 +13,7 @@ NETSNIFF_NG_LICENSE_FILES = README COPYING NETSNIFF_NG_CONF_ENV = \ NACL_INC_DIR=/dev/null \ NACL_LIB_DIR=/dev/null -NETSNIFF_NG_DEPENDENCIES = libnl libpcap libnetfilter_conntrack liburcu +NETSNIFF_NG_DEPENDENCIES = host-pkgconf libnl libpcap libnetfilter_conntrack liburcu ifeq ($(BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN),y) NETSNIFF_NG_DEPENDENCIES += libcli libnet diff --git a/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch b/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch index 08290421283..4293e15d25a 100644 --- a/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch +++ b/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch @@ -1,7 +1,7 @@ From 8e273c688aa235ed9c68570a700d31596bac14df Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Mon, 15 Oct 2018 19:07:05 +0200 -Subject: [PATCH 1/2] configure: fix AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) +Subject: [PATCH] configure: fix AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) failure on static linking If building as static lib, AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) diff --git a/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch b/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch index 2618cbee74e..8fcce2a5c75 100644 --- a/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch +++ b/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch @@ -1,7 +1,7 @@ From 1ab6e3fc3cf61fa5a7b7363e59095e868474524b Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Mon, 15 Oct 2018 19:34:26 +0200 -Subject: [PATCH 2/2] configure: fix AC_CHECK_FUNCS(TLS_method TLSv1_method +Subject: [PATCH] configure: fix AC_CHECK_FUNCS(TLS_method TLSv1_method ...) failure on static linking If building as static lib, AC_CHECK_FUNCS(TLS_method TLSv1_method ...) diff --git a/package/netsnmp/Config.in b/package/netsnmp/Config.in index f22e38b3355..dff0f18bee9 100644 --- a/package/netsnmp/Config.in +++ b/package/netsnmp/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_NETSNMP bool "netsnmp" depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help Suite of applications used to implement SNMP v1, SNMP v2c, and SNMP v3 using both IPv4 and IPv6. diff --git a/package/netsnmp/netsnmp.hash b/package/netsnmp/netsnmp.hash index e3adb28c6d5..9d196c8bee6 100644 --- a/package/netsnmp/netsnmp.hash +++ b/package/netsnmp/netsnmp.hash @@ -2,3 +2,6 @@ # https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9/net-snmp-5.9.tar.gz.asc # using key D0F8F495DA6160C44EFFBF10F07B9D2DACB19FD6 sha256 04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071 net-snmp-5.9.tar.gz + +# Hash for license file +sha256 ed869ea395a1f125819a56676385ab0557a21507764bf56f2943302011381e59 COPYING diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 5b22d1a063a..985cfeac728 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -11,8 +11,11 @@ NETSNMP_LICENSE = Various BSD-like NETSNMP_LICENSE_FILES = COPYING NETSNMP_CPE_ID_VENDOR = net-snmp NETSNMP_CPE_ID_PRODUCT = $(NETSNMP_CPE_ID_VENDOR) +NETSNMP_SELINUX_MODULES = snmp NETSNMP_INSTALL_STAGING = YES -NETSNMP_CONF_ENV = ac_cv_NETSNMP_CAN_USE_SYSCTL=no +NETSNMP_CONF_ENV = \ + ac_cv_NETSNMP_CAN_USE_SYSCTL=no \ + ac_cv_path_PSPROG=/bin/ps NETSNMP_CONF_OPTS = \ --with-persistent-directory=/var/lib/snmp \ --with-defaults \ diff --git a/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch b/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch index 2d4637511ea..7caad47a20e 100644 --- a/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch +++ b/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch @@ -8,6 +8,8 @@ the build, so it should not be built with the cross-compiler, but with the native compiler. Signed-off-by: Francois Perrad +[Fabrice: add quotes around BUILD_CC to fix build with ccache] +Signed-off-by: Fabrice Fontaine --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -21,7 +23,7 @@ index f279f01..5698c87 100644 # prefixed install macro for each host sub target define do_build_prefix_install - $(MAKE) install --directory=$1 HOST=$(BUILD) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= -+ $(MAKE) install --directory=$1 HOST=$(BUILD) CC=$(BUILD_CC) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= ++ $(MAKE) install --directory=$1 HOST=$(BUILD) CC="$(BUILD_CC)" PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= endef diff --git a/package/netsurf/netsurf.mk b/package/netsurf/netsurf.mk index 5677b6946c0..574c1423df1 100644 --- a/package/netsurf/netsurf.mk +++ b/package/netsurf/netsurf.mk @@ -9,10 +9,22 @@ NETSURF_SOURCE = netsurf-all-$(NETSURF_VERSION).tar.gz NETSURF_SITE = http://download.netsurf-browser.org/netsurf/releases/source-full NETSURF_LICENSE = GPL-2.0 NETSURF_LICENSE_FILES = netsurf/COPYING +NETSURF_CPE_ID_VENDOR = netsurf-browser # host-vim needed for the xxd utility NETSURF_DEPENDENCIES = expat jpeg libpng \ host-bison host-flex host-gperf host-pkgconf host-vim +# internal duktape doesn't build with BR2_OPTIMIZE_FAST +ifeq ($(BR2_OPTIMIZE_FAST),y) +define NETSURF_DUKTAPE_CONFIGURE_CMDS + echo "override NETSURF_USE_DUKTAPE := NO" >> $(@D)/netsurf/Makefile.config +endef +else +define NETSURF_DUKTAPE_CONFIGURE_CMDS + echo "override NETSURF_USE_DUKTAPE := YES" >> $(@D)/netsurf/Makefile.config +endef +endif + ifeq ($(BR2_PACKAGE_NETSURF_GTK),y) NETSURF_DEPENDENCIES += libgtk2 NETSURF_FRONTEND = gtk2 @@ -76,6 +88,7 @@ endef endif define NETSURF_CONFIGURE_CMDS + $(NETSURF_DUKTAPE_CONFIGURE_CMDS) $(NETSURF_ICONV_CONFIGURE_CMDS) $(NETSURF_SVG_CONFIGURE_CMDS) $(NETSURF_FONTLIB_CONFIGURE_CMDS) diff --git a/package/nettle/0001-disable-testsuite-examples.patch b/package/nettle/0001-disable-testsuite-examples.patch index 82d97d5d213..aa37bcf8f33 100644 --- a/package/nettle/0001-disable-testsuite-examples.patch +++ b/package/nettle/0001-disable-testsuite-examples.patch @@ -9,9 +9,9 @@ Signed-off-by: "Yann E. MORIN" diff -durN nettle-2.7.1.orig/Makefile.in nettle-2.7.1/Makefile.in --- nettle-2.7.1.orig/Makefile.in 2013-05-28 16:21:54.000000000 +0200 +++ nettle-2.7.1/Makefile.in 2014-12-12 19:57:12.499805574 +0100 -@@ -16,7 +16,7 @@ +@@ -19,7 +19,7 @@ - OPT_ASM_SOURCES = @OPT_ASM_SOURCES@ + FAT_TEST_LIST = @FAT_TEST_LIST@ -SUBDIRS = tools testsuite examples +SUBDIRS = tools diff --git a/package/nettle/Config.in b/package/nettle/Config.in index 48909701200..cf4803c7bbf 100644 --- a/package/nettle/Config.in +++ b/package/nettle/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_NETTLE object-oriented languages, in applications like LSH or GNUPG, or even in kernel space - http://www.lysator.liu.se/~nisse/nettle/ + https://www.lysator.liu.se/~nisse/nettle/ diff --git a/package/nettle/nettle.hash b/package/nettle/nettle.hash index 1bbc1c6d226..cd32ad442ec 100644 --- a/package/nettle/nettle.hash +++ b/package/nettle/nettle.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/nettle/nettle-3.6.tar.gz.sig -sha256 d24c0d0f2abffbc8f4f34dcf114b0f131ec3774895f3555922fe2f40f3d5e3f1 nettle-3.6.tar.gz +# https://ftp.gnu.org/gnu/nettle/nettle-3.7.3.tar.gz.sig +sha256 661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0 nettle-3.7.3.tar.gz # Locally calculated sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSERv3 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk index fef68375db2..3dbd0cb94b7 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETTLE_VERSION = 3.6 +NETTLE_VERSION = 3.7.3 NETTLE_SITE = http://www.lysator.liu.se/~nisse/archive NETTLE_DEPENDENCIES = gmp NETTLE_INSTALL_STAGING = YES diff --git a/package/network-manager-openvpn/network-manager-openvpn.hash b/package/network-manager-openvpn/network-manager-openvpn.hash index 0c52fb8d132..d0cbc7ca87d 100644 --- a/package/network-manager-openvpn/network-manager-openvpn.hash +++ b/package/network-manager-openvpn/network-manager-openvpn.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/NetworkManager-openvpn/1.8/NetworkManager-openvpn-1.8.10.sha256sum -sha256 af3cc86ba848d21b4ac807a09d575de11335ba4df8ce6fdb089212e77c2231ef NetworkManager-openvpn-1.8.10.tar.xz +# From https://download.gnome.org/sources/NetworkManager-openvpn/1.8/NetworkManager-openvpn-1.8.14.sha256sum +sha256 e7419053fc3b5a7e25f1a7517c313ad4531b6ea280255524ebb85a70c76fdbeb NetworkManager-openvpn-1.8.14.tar.xz # Locally computed -sha256 c39e345d992dfba62db265f8c6d6ff1d90c61d92876635ae05adbfa2f45fff46 COPYING +sha256 c39e345d992dfba62db265f8c6d6ff1d90c61d92876635ae05adbfa2f45fff46 COPYING diff --git a/package/network-manager-openvpn/network-manager-openvpn.mk b/package/network-manager-openvpn/network-manager-openvpn.mk index 1a872dc1273..d5d4c5da422 100644 --- a/package/network-manager-openvpn/network-manager-openvpn.mk +++ b/package/network-manager-openvpn/network-manager-openvpn.mk @@ -5,7 +5,7 @@ ################################################################################ NETWORK_MANAGER_OPENVPN_VERSION_MAJOR = 1.8 -NETWORK_MANAGER_OPENVPN_VERSION = $(NETWORK_MANAGER_OPENVPN_VERSION_MAJOR).10 +NETWORK_MANAGER_OPENVPN_VERSION = $(NETWORK_MANAGER_OPENVPN_VERSION_MAJOR).14 NETWORK_MANAGER_OPENVPN_SOURCE = NetworkManager-openvpn-$(NETWORK_MANAGER_OPENVPN_VERSION).tar.xz NETWORK_MANAGER_OPENVPN_SITE = https://download.gnome.org/sources/NetworkManager-openvpn/$(NETWORK_MANAGER_OPENVPN_VERSION_MAJOR) NETWORK_MANAGER_OPENVPN_DEPENDENCIES = network-manager openvpn diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index 7d447684608..39114daf186 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -1,24 +1,20 @@ config BR2_PACKAGE_NETWORK_MANAGER bool "network-manager" - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_MMU # dbus depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # Tested with 3.2, but may even work with earlier versions - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 depends on BR2_TOOLCHAIN_USES_GLIBC # CLOCK_BOOTTIME, IPTOS_CLASS_* depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_DBUS select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBNDP select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID - select BR2_PACKAGE_WIRELESS_TOOLS - select BR2_PACKAGE_WIRELESS_TOOLS_LIB - select BR2_PACKAGE_READLINE - select BR2_PACKAGE_LIBNDP help NetworkManager is a set of co-operative tools that make networking simple and straightforward. Whether WiFi, wired, @@ -45,14 +41,10 @@ config BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER config BR2_PACKAGE_NETWORK_MANAGER_PPPD bool "pppd support" - depends on !BR2_TOOLCHAIN_USES_MUSL # pppd select BR2_PACKAGE_PPPD help This option enables support for PPPD daemon -comment "pppd support needs a glibc or uClibc toolchain" - depends on BR2_TOOLCHAIN_USES_MUSL - config BR2_PACKAGE_NETWORK_MANAGER_OVS bool "OpenVSwitch support" select BR2_PACKAGE_JANSSON @@ -61,9 +53,10 @@ config BR2_PACKAGE_NETWORK_MANAGER_OVS endif -comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads" +comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 || \ !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index 93a9b5017e4..d25f0e81940 100644 --- a/package/network-manager/network-manager.hash +++ b/package/network-manager/network-manager.hash @@ -1,6 +1,6 @@ -# From https://download.gnome.org/sources/NetworkManager/1.20/NetworkManager-1.22.10.sha256sum -sha256 2b29ccc1531ba7ebba95a97f40c22b963838e8b6833745efe8e6fb71fd8fca77 NetworkManager-1.22.10.tar.xz +# From https://download.gnome.org/sources/NetworkManager/1.34/NetworkManager-1.34.0.sha256sum +sha256 819795d0899076204f5672421a58f1b1d9e393536ee87bb844b911e6243bf0bd NetworkManager-1.34.0.tar.xz # Locally computed -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 f0543c137bc0eece552d42642d1bab31707ca3b3663d9c7a81ac3b270a4780e7 CONTRIBUTING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL +sha256 ad0abd8e90dd134cc5546f7a13eb4268707b77a5a1a5e3afe31dc4397a573a04 CONTRIBUTING.md diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index 4b2ade5b9b1..4afe947a782 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -4,15 +4,17 @@ # ################################################################################ -NETWORK_MANAGER_VERSION_MAJOR = 1.22 -NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).10 +NETWORK_MANAGER_VERSION_MAJOR = 1.34 +NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).0 NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz NETWORK_MANAGER_SITE = https://download.gnome.org/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR) NETWORK_MANAGER_INSTALL_STAGING = YES NETWORK_MANAGER_DEPENDENCIES = host-pkgconf udev gnutls libglib2 \ - libgcrypt wireless_tools util-linux host-intltool readline libndp + host-intltool libndp util-linux NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.1+ (libnm) -NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL CONTRIBUTING +NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL CONTRIBUTING.md +NETWORK_MANAGER_CPE_ID_VENDOR = gnome +NETWORK_MANAGER_CPE_ID_PRODUCT = networkmanager NETWORK_MANAGER_SELINUX_MODULES = networkmanager NETWORK_MANAGER_CONF_ENV = \ @@ -33,11 +35,26 @@ NETWORK_MANAGER_CONF_OPTS = \ --disable-ifupdown \ --without-nm-cloud-setup -ifeq ($(BR2_PACKAGE_OFONO),y) -NETWORK_MANAGER_DEPENDENCIES += ofono -NETWORK_MANAGER_CONF_OPTS += --with-ofono +ifeq ($(BR2_PACKAGE_AUDIT),y) +NETWORK_MANAGER_DEPENDENCIES += audit +NETWORK_MANAGER_CONF_OPTS += --with-libaudit else -NETWORK_MANAGER_CONF_OPTS += --without-ofono +NETWORK_MANAGER_CONF_OPTS += --without-libaudit +endif + +ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y) +NETWORK_MANAGER_CONF_OPTS += --with-dhclient=/sbin/dhclient +endif + +ifeq ($(BR2_PACKAGE_DHCPCD),y) +NETWORK_MANAGER_CONF_OPTS += --with-dhcpcd=/sbin/dhcpcd +endif + +ifeq ($(BR2_PACKAGE_IWD),y) +NETWORK_MANAGER_DEPENDENCIES += iwd +NETWORK_MANAGER_CONF_OPTS += --with-iwd +else +NETWORK_MANAGER_CONF_OPTS += --without-iwd endif ifeq ($(BR2_PACKAGE_LIBCURL),y) @@ -47,18 +64,18 @@ else NETWORK_MANAGER_CONF_OPTS += --disable-concheck endif -ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_TUI),y) -NETWORK_MANAGER_DEPENDENCIES += newt -NETWORK_MANAGER_CONF_OPTS += --with-nmtui=yes +ifeq ($(BR2_PACKAGE_LIBPSL),y) +NETWORK_MANAGER_DEPENDENCIES += libpsl +NETWORK_MANAGER_CONF_OPTS += --with-libpsl else -NETWORK_MANAGER_CONF_OPTS += --with-nmtui=no +NETWORK_MANAGER_CONF_OPTS += --without-libpsl endif -ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_PPPD),y) -NETWORK_MANAGER_DEPENDENCIES += pppd -NETWORK_MANAGER_CONF_OPTS += --enable-ppp +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +NETWORK_MANAGER_DEPENDENCIES += libselinux +NETWORK_MANAGER_CONF_OPTS += --with-selinux else -NETWORK_MANAGER_CONF_OPTS += --disable-ppp +NETWORK_MANAGER_CONF_OPTS += --without-selinux endif ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER),y) @@ -68,14 +85,6 @@ else NETWORK_MANAGER_CONF_OPTS += --without-modem-manager-1 endif -ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y) -NETWORK_MANAGER_CONF_OPTS += --with-dhclient=/sbin/dhclient -endif - -ifeq ($(BR2_PACKAGE_DHCPCD),y) -NETWORK_MANAGER_CONF_OPTS += --with-dhcpcd=/sbin/dhcpcd -endif - ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_OVS),y) NETWORK_MANAGER_CONF_OPTS += --enable-ovs NETWORK_MANAGER_DEPENDENCIES += jansson @@ -83,6 +92,56 @@ else NETWORK_MANAGER_CONF_OPTS += --disable-ovs endif +ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_PPPD),y) +NETWORK_MANAGER_DEPENDENCIES += pppd +NETWORK_MANAGER_CONF_OPTS += --enable-ppp +else +NETWORK_MANAGER_CONF_OPTS += --disable-ppp +endif + +ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_TUI),y) +NETWORK_MANAGER_DEPENDENCIES += newt +NETWORK_MANAGER_CONF_OPTS += --with-nmtui +else +NETWORK_MANAGER_CONF_OPTS += --without-nmtui +endif + +ifeq ($(BR2_PACKAGE_OFONO),y) +NETWORK_MANAGER_DEPENDENCIES += ofono +NETWORK_MANAGER_CONF_OPTS += --with-ofono +else +NETWORK_MANAGER_CONF_OPTS += --without-ofono +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +NETWORK_MANAGER_DEPENDENCIES += systemd +NETWORK_MANAGER_CONF_OPTS += \ + --with-systemd-journal \ + --with-config-logging-backend-default=journal \ + --with-session-tracking=systemd \ + --with-suspend-resume=systemd +else +NETWORK_MANAGER_CONF_OPTS += \ + --without-systemd-journal \ + --with-config-logging-backend-default=syslog \ + --without-session-tracking \ + --with-suspend-resume=upower +endif + +ifeq ($(BR2_PACKAGE_POLKIT),y) +NETWORK_MANAGER_DEPENDENCIES += polkit +NETWORK_MANAGER_CONF_OPTS += --enable-polkit +else +NETWORK_MANAGER_CONF_OPTS += --disable-polkit +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +NETWORK_MANAGER_DEPENDENCIES += readline +NETWORK_MANAGER_CONF_OPTS += --with-nmcli +else +NETWORK_MANAGER_CONF_OPTS += --without-nmcli +endif + define NETWORK_MANAGER_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager endef diff --git a/package/networkd-dispatcher/Config.in b/package/networkd-dispatcher/Config.in new file mode 100644 index 00000000000..54b48e4ca84 --- /dev/null +++ b/package/networkd-dispatcher/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_NETWORKD_DISPATCHER + bool "networkd-dispatcher" + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject -> gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # python-gobject -> gobject-introspection -> host-qemu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject -> gobject-introspection + depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject -> gobject-introspection + depends on BR2_PACKAGE_SYSTEMD # runtime + select BR2_PACKAGE_DBUS # dbus-python + select BR2_PACKAGE_DBUS_PYTHON # runtime + select BR2_PACKAGE_PYTHON3 # python-gobject + select BR2_PACKAGE_PYTHON_GOBJECT # runtime + select BR2_PACKAGE_SYSTEMD_NETWORKD # runtime + help + Networkd-dispatcher is a dispatcher daemon for + systemd-networkd connection status changes. + This daemon is similar to NetworkManager-dispatcher, + but is much more limited in the types of events it + supports due to the limited nature of systemd-networkd. + + https://gitlab.com/craftyguy/networkd-dispatcher + +comment "networkd-dispatcher needs a glibc toolchain, gcc >= 4.9, host gcc >= 8" + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on BR2_PACKAGE_SYSTEMD + depends on !BR2_HOST_GCC_AT_LEAST_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/networkd-dispatcher/networkd-dispatcher.hash b/package/networkd-dispatcher/networkd-dispatcher.hash new file mode 100644 index 00000000000..ca7c300783d --- /dev/null +++ b/package/networkd-dispatcher/networkd-dispatcher.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 1682c0106d9d2879087612e76aebb87672ebf339c43f229a3ee27dadb428575b networkd-dispatcher-2.1.tar.bz2 +sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE diff --git a/package/networkd-dispatcher/networkd-dispatcher.mk b/package/networkd-dispatcher/networkd-dispatcher.mk new file mode 100644 index 00000000000..4f609db73aa --- /dev/null +++ b/package/networkd-dispatcher/networkd-dispatcher.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# networkd-dispatcher +# +################################################################################ + +NETWORKD_DISPATCHER_VERSION = 2.1 +NETWORKD_DISPATCHER_SOURCE = networkd-dispatcher-$(NETWORKD_DISPATCHER_VERSION).tar.bz2 +NETWORKD_DISPATCHER_SITE = https://gitlab.com/craftyguy/networkd-dispatcher/-/archive/$(NETWORKD_DISPATCHER_VERSION) +NETWORKD_DISPATCHER_LICENSE = GPL-3.0 +NETWORKD_DISPATCHER_LICENSE_FILES = LICENSE + +define NETWORKD_DISPATCHER_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/networkd-dispatcher $(TARGET_DIR)/usr/bin/networkd-dispatcher + mkdir -p $(TARGET_DIR)/etc/networkd-dispatcher/{routable,dormant,no-carrier,off,carrier,degraded,configuring,configured}.d +endef + +define NETWORKD_DISPATCHER_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/networkd-dispatcher.service \ + $(TARGET_DIR)/usr/lib/systemd/system/networkd-dispatcher.service + $(INSTALL) -D -m 0644 $(@D)/networkd-dispatcher.conf \ + $(TARGET_DIR)/etc/conf.d/networkd-dispatcher.conf +endef + +$(eval $(generic-package)) diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in index da563db0f1e..f00debc4201 100644 --- a/package/nfs-utils/Config.in +++ b/package/nfs-utils/Config.in @@ -7,13 +7,37 @@ config BR2_PACKAGE_NFS_UTILS depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc, rpcbind depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBTIRPC # IPv6 requires libtirpc + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID help The NFS Linux kernel server. + Supports NFSv3 and optionally NFSv4 (and later). + http://linux-nfs.org/ if BR2_PACKAGE_NFS_UTILS +config BR2_PACKAGE_NFS_UTILS_NFSV4 + bool "NFSv4/NFSv4.1" + depends on !BR2_STATIC_LIBS # keyutils, lvm2 + select BR2_PACKAGE_KEYUTILS + select BR2_PACKAGE_LIBEVENT + select BR2_PACKAGE_LVM2 + select BR2_PACKAGE_SQLITE + help + Enable NFSv4/NFSv4.1/NFSv4.2 support + +comment "NFSv4/NFSv4.1 support needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +config BR2_PACKAGE_NFS_UTILS_GSS + bool "gss" + depends on BR2_PACKAGE_NFS_UTILS_NFSV4 + select BR2_PACKAGE_LIBTIRPC_GSS + help + Enable GSS support + config BR2_PACKAGE_NFS_UTILS_RPCDEBUG bool "rpcdebug" help diff --git a/package/nfs-utils/nfs-utils.hash b/package/nfs-utils/nfs-utils.hash index 6268552ca18..a73bf80e70b 100644 --- a/package/nfs-utils/nfs-utils.hash +++ b/package/nfs-utils/nfs-utils.hash @@ -1,4 +1,4 @@ -# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.5.2/sha256sums.asc -sha256 d493b81c9d3ffce5d10af701a63ed2b8a21768c23da4a2eceb4d708aea65d9de nfs-utils-2.5.2.tar.xz +# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.6.1/sha256sums.asc +sha256 60dfcd94a9f3d72a12bc7058d811787ec87a6d593d70da2123faf9aad3d7a1df nfs-utils-2.6.1.tar.xz # Locally computed sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index df581b381f1..44653e27073 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -4,29 +4,28 @@ # ################################################################################ -NFS_UTILS_VERSION = 2.5.2 +NFS_UTILS_VERSION = 2.6.1 NFS_UTILS_SOURCE = nfs-utils-$(NFS_UTILS_VERSION).tar.xz NFS_UTILS_SITE = https://www.kernel.org/pub/linux/utils/nfs-utils/$(NFS_UTILS_VERSION) NFS_UTILS_LICENSE = GPL-2.0+ NFS_UTILS_LICENSE_FILES = COPYING -NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libtirpc +NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libtirpc util-linux NFS_UTILS_CPE_ID_VENDOR = linux-nfs NFS_UTILS_AUTORECONF = YES NFS_UTILS_CONF_ENV = knfsd_cv_bsd_signals=no NFS_UTILS_CONF_OPTS = \ - --disable-nfsv4 \ - --disable-nfsv41 \ - --disable-gss \ - --disable-uuid \ --enable-tirpc \ --enable-ipv6 \ --without-tcp-wrappers \ --with-statedir=/run/nfs \ --with-rpcgen=$(HOST_DIR)/bin/rpcgen +HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc + HOST_NFS_UTILS_CONF_OPTS = \ + --enable-tirpc \ --disable-nfsv4 \ --disable-nfsv41 \ --disable-gss \ @@ -35,10 +34,9 @@ HOST_NFS_UTILS_CONF_OPTS = \ --without-tcp-wrappers \ --with-statedir=/run/nfs \ --disable-caps \ - --disable-tirpc \ --without-systemd \ - --with-rpcgen=internal -HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc + --with-rpcgen=internal \ + --with-tirpcinclude=$(HOST_DIR)/include/tirpc NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd @@ -46,6 +44,23 @@ NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_NFSD) += usr/sbin/exportfs \ usr/sbin/rpc.mountd usr/sbin/rpc.nfsd usr/lib/systemd/system/nfs-server.service +ifeq ($(BR2_PACKAGE_NFS_UTILS_NFSV4),y) +NFS_UTILS_CONF_OPTS += --enable-nfsv4 --enable-nfsv41 +NFS_UTILS_DEPENDENCIES += keyutils libevent lvm2 sqlite +else +NFS_UTILS_CONF_OPTS += --disable-nfsv4 --disable-nfsv41 +endif + +ifeq ($(BR2_PACKAGE_NFS_UTILS_GSS),y) +NFS_UTILS_CONF_OPTS += \ + --enable-gss \ + --enable-svcgss \ + --with-krb5=$(STAGING_DIR)/usr +NFS_UTILS_DEPENDENCIES += libkrb5 +else +NFS_UTILS_CONF_OPTS += --disable-gss --disable-svcgss +endif + ifeq ($(BR2_PACKAGE_LIBCAP),y) NFS_UTILS_CONF_OPTS += --enable-caps NFS_UTILS_DEPENDENCIES += libcap @@ -53,6 +68,12 @@ else NFS_UTILS_CONF_OPTS += --disable-caps endif +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y) +NFS_UTILS_CONF_OPTS += --enable-uuid +else +NFS_UTILS_CONF_OPTS += --disable-uuid +endif + define NFS_UTILS_INSTALL_FIXUP cd $(TARGET_DIR) && rm -f $(NFS_UTILS_TARGETS_) touch $(TARGET_DIR)/etc/exports @@ -69,6 +90,10 @@ NFS_UTILS_CONF_OPTS += --without-systemd endif ifeq ($(BR2_PACKAGE_NFS_UTILS_RPC_NFSD),y) +define NFS_UTILS_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NFSD) +endef + define NFS_UTILS_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/nfs-utils/S60nfs \ $(TARGET_DIR)/etc/init.d/S60nfs @@ -89,7 +114,7 @@ define NFS_UTILS_REMOVE_NFSIOSTAT endef # nfsiostat is interpreted python, so remove it unless it's in the target -NFS_UTILS_POST_INSTALL_TARGET_HOOKS += $(if $(BR2_PACKAGE_PYTHON),,NFS_UTILS_REMOVE_NFSIOSTAT) +NFS_UTILS_POST_INSTALL_TARGET_HOOKS += $(if $(BR2_PACKAGE_PYTHON3),,NFS_UTILS_REMOVE_NFSIOSTAT) define HOST_NFS_UTILS_BUILD_CMDS $(MAKE) -C $(@D)/tools/rpcgen diff --git a/package/nftables/nftables.hash b/package/nftables/nftables.hash index 1112b7a8ad5..53878abba97 100644 --- a/package/nftables/nftables.hash +++ b/package/nftables/nftables.hash @@ -1,3 +1,3 @@ # From https://netfilter.org/projects/nftables/downloads.html -sha256 68d6fdfe8ab02303e6b1f13968a4022da5b0120110eaee3233d806857937b66e nftables-0.9.6.tar.bz2 +sha256 3ceeba625818e81a0be293e9dd486c3ef799ebd92165270f1e57e9a201efa423 nftables-1.0.1.tar.bz2 sha256 c17bc4fa5b2434c6f283ffcb2312e5bf3c7cdf5787b79505f094d8de734ac53e COPYING diff --git a/package/nftables/nftables.mk b/package/nftables/nftables.mk index f9468c52504..a64c36094ec 100644 --- a/package/nftables/nftables.mk +++ b/package/nftables/nftables.mk @@ -4,13 +4,13 @@ # ################################################################################ -NFTABLES_VERSION = 0.9.6 +NFTABLES_VERSION = 1.0.1 NFTABLES_SOURCE = nftables-$(NFTABLES_VERSION).tar.bz2 NFTABLES_SITE = https://www.netfilter.org/projects/nftables/files NFTABLES_DEPENDENCIES = libmnl libnftnl host-pkgconf $(TARGET_NLS_DEPENDENCIES) NFTABLES_LICENSE = GPL-2.0 NFTABLES_LICENSE_FILES = COPYING -NFTABLES_CONF_OPTS = --disable-man-doc --disable-pdf-doc +NFTABLES_CONF_OPTS = --disable-debug --disable-man-doc --disable-pdf-doc NFTABLES_SELINUX_MODULES = iptables ifeq ($(BR2_PACKAGE_GMP),y) @@ -21,6 +21,7 @@ NFTABLES_CONF_OPTS += --with-mini-gmp endif ifeq ($(BR2_PACKAGE_READLINE),y) +NFTABLES_CONF_OPTS += --with-cli=readline NFTABLES_DEPENDENCIES += readline NFTABLES_LIBS += -lncurses else @@ -34,17 +35,13 @@ else NFTABLES_CONF_OPTS += --without-json endif -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) NFTABLES_CONF_OPTS += --enable-python -NFTABLES_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) +NFTABLES_DEPENDENCIES += python3 else NFTABLES_CONF_OPTS += --disable-python endif -ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_LIBNFTNL_JSON),yy) -NFTABLES_LIBS += -ljansson -lm -endif - NFTABLES_CONF_ENV = LIBS="$(NFTABLES_LIBS)" define NFTABLES_LINUX_CONFIG_FIXUPS diff --git a/package/nginx-dav-ext/Config.in b/package/nginx-dav-ext/Config.in index 1e60321fe38..9e3a0faf282 100644 --- a/package/nginx-dav-ext/Config.in +++ b/package/nginx-dav-ext/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_NGINX_DAV_EXT bool "nginx-dav-ext" depends on BR2_PACKAGE_NGINX_HTTP_DAV_MODULE - select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBXSLT help NGINX WebDAV missing commands support (PROPFIND & OPTIONS). diff --git a/package/nginx-dav-ext/nginx-dav-ext.hash b/package/nginx-dav-ext/nginx-dav-ext.hash index fbed87f0c07..07deab08db8 100644 --- a/package/nginx-dav-ext/nginx-dav-ext.hash +++ b/package/nginx-dav-ext/nginx-dav-ext.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6b004eed8ea16ad8de4d304027bf0413cc323a95914e58625a7dc066481aae3a nginx-dav-ext-0.1.0.tar.gz -sha256 40581cf424621965adaf1461e97129520ff4fcfb62ed9965ec6fd50b7f4ddfca LICENSE +sha256 d2499d94d82d4e4eac8425d799e52883131ae86a956524040ff2fd230ef9f859 nginx-dav-ext-3.0.0.tar.gz +sha256 e377bb81e5024682a66438306e8ff9541d843d3831e480aec2f58eb8d83e48de LICENSE diff --git a/package/nginx-dav-ext/nginx-dav-ext.mk b/package/nginx-dav-ext/nginx-dav-ext.mk index 695287ee2c8..cce527e1797 100644 --- a/package/nginx-dav-ext/nginx-dav-ext.mk +++ b/package/nginx-dav-ext/nginx-dav-ext.mk @@ -4,10 +4,10 @@ # ################################################################################ -NGINX_DAV_EXT_VERSION = 0.1.0 +NGINX_DAV_EXT_VERSION = 3.0.0 NGINX_DAV_EXT_SITE = $(call github,arut,nginx-dav-ext-module,v$(NGINX_DAV_EXT_VERSION)) NGINX_DAV_EXT_LICENSE = BSD-2-Clause NGINX_DAV_EXT_LICENSE_FILES = LICENSE -NGINX_DAV_EXT_DEPENDENCIES = expat +NGINX_DAV_EXT_DEPENDENCIES = libxslt $(eval $(generic-package)) diff --git a/package/nginx-modsecurity/0001-config-use-pkg-config.patch b/package/nginx-modsecurity/0001-config-use-pkg-config.patch new file mode 100644 index 00000000000..3c74fa4b597 --- /dev/null +++ b/package/nginx-modsecurity/0001-config-use-pkg-config.patch @@ -0,0 +1,29 @@ +From 2907dcd628242eb29920321fb3a744915d11888f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 26 Jul 2021 08:29:21 +0200 +Subject: [PATCH] config: use pkg-config + +Change to using pkg-config to find the path to modsecurity and its +dependencies. + +Signed-off-by: Fabrice Fontaine +--- + config | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config b/config +index c6e7467..e20190f 100644 +--- a/config ++++ b/config +@@ -50,7 +50,7 @@ END + else + # auto-discovery + ngx_feature="ModSecurity library" +- ngx_feature_libs="-lmodsecurity" ++ ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs modsecurity)" + + . auto/feature + +-- +2.30.2 + diff --git a/package/nginx-modsecurity/Config.in b/package/nginx-modsecurity/Config.in index 2af11eeee2a..b1fcbadd7a7 100644 --- a/package/nginx-modsecurity/Config.in +++ b/package/nginx-modsecurity/Config.in @@ -2,9 +2,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY bool "nginx-modsecurity" depends on BR2_PACKAGE_NGINX_HTTP depends on BR2_INSTALL_LIBSTDCPP # libmodsecurity - depends on !BR2_STATIC_LIBS # libmodsecurity depends on BR2_TOOLCHAIN_HAS_THREADS # libmodsecurity - select BR2_PACKAGE_PCRE # libmodsecurity select BR2_PACKAGE_LIBMODSECURITY help The ModSecurity-nginx connector is the connection @@ -13,7 +11,6 @@ config BR2_PACKAGE_NGINX_MODSECURITY https://github.com/SpiderLabs/ModSecurity-nginx -comment "nginx-modsecurity needs a toolchain w/ C++, dynamic library, threads" +comment "nginx-modsecurity needs a toolchain w/ C++, threads" depends on BR2_PACKAGE_NGINX_HTTP - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/nginx-modsecurity/nginx-modsecurity.hash b/package/nginx-modsecurity/nginx-modsecurity.hash index d2dd266ac13..fbaf1ca239c 100644 --- a/package/nginx-modsecurity/nginx-modsecurity.hash +++ b/package/nginx-modsecurity/nginx-modsecurity.hash @@ -1,4 +1,4 @@ -# From https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v1.0.1/modsecurity-nginx-v1.0.1.tar.gz.sha256 -sha256 def45a8db5bc9da14765eda75363457209a86c89538ccf5bfbd3aa02fa10833c modsecurity-nginx-v1.0.1.tar.gz +# From https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v1.0.2/modsecurity-nginx-v1.0.2.tar.gz.sha256 +sha256 41a6660c50508c60df59f8f09c444d18ef8112a4c118cdc791a3992390b78c32 modsecurity-nginx-v1.0.2.tar.gz # Localy calculated -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/nginx-modsecurity/nginx-modsecurity.mk b/package/nginx-modsecurity/nginx-modsecurity.mk index 6d33403d667..90ef8ecd511 100644 --- a/package/nginx-modsecurity/nginx-modsecurity.mk +++ b/package/nginx-modsecurity/nginx-modsecurity.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_MODSECURITY_VERSION = 1.0.1 +NGINX_MODSECURITY_VERSION = 1.0.2 NGINX_MODSECURITY_SOURCE = modsecurity-nginx-v$(NGINX_MODSECURITY_VERSION).tar.gz NGINX_MODSECURITY_SITE = https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v$(NGINX_MODSECURITY_VERSION) NGINX_MODSECURITY_LICENSE = Apache-2.0 diff --git a/package/nginx-naxsi/0001-naxsi_src-naxsi_runtime.c-fix-build-without-x_forwar.patch b/package/nginx-naxsi/0001-naxsi_src-naxsi_runtime.c-fix-build-without-x_forwar.patch new file mode 100644 index 00000000000..238a01923df --- /dev/null +++ b/package/nginx-naxsi/0001-naxsi_src-naxsi_runtime.c-fix-build-without-x_forwar.patch @@ -0,0 +1,63 @@ +From 8ea5218b07f715e9616a846bf305633ef1b3aa2a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 14 Aug 2021 11:46:08 +0200 +Subject: [PATCH] naxsi_src/naxsi_runtime.c: fix build without x_forwarded_for + +x_forwarded_for is not available if realip, geo, geoip or proxy modules +aren't enabled resulting in the following build failure since version +1.1a and +https://github.com/nbs-system/naxsi/commit/07a056ccd36bc3c5c40dc17991db226cb8cf6241: + +/home/buildroot/autobuild/instance-3/output-1/build/nginx-naxsi-1.3/naxsi_src/naxsi_runtime.c: In function 'ngx_http_naxsi_data_parse': +/home/buildroot/autobuild/instance-3/output-1/build/nginx-naxsi-1.3/naxsi_src/naxsi_runtime.c:2846:20: error: 'ngx_http_headers_in_t' has no member named 'x_forwarded_for' + if (r->headers_in.x_forwarded_for.nelts >= 1) { + ^ + +Fixes: + - http://autobuild.buildroot.org/results/cdbc1536f6b5de3d4c836efa2f0dcaf0cdbb1462 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/nbs-system/naxsi/pull/568] +--- + naxsi_src/naxsi_runtime.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/naxsi_src/naxsi_runtime.c b/naxsi_src/naxsi_runtime.c +index 28e0b29..6a723d2 100644 +--- a/naxsi_src/naxsi_runtime.c ++++ b/naxsi_src/naxsi_runtime.c +@@ -2842,10 +2842,12 @@ ngx_http_naxsi_data_parse(ngx_http_request_ctx_t* ctx, ngx_http_request_t* r) + unsigned int n = 0; + ngx_table_elt_t** h = NULL; + ngx_array_t a; ++#if (NGX_HTTP_X_FORWARDED_FOR) + if (r->headers_in.x_forwarded_for.nelts >= 1) { + a = r->headers_in.x_forwarded_for; + n = a.nelts; + } ++#endif + if (n >= 1) + h = a.elts; + if (n >= 1) { +@@ -2879,6 +2881,7 @@ ngx_http_naxsi_update_current_ctx_status(ngx_http_request_ctx_t* ctx, + + /*cr, sc, cf, ctx*/ + if (cf->check_rules && ctx->special_scores) { ++#if (NGX_HTTP_X_FORWARDED_FOR) + if (r->headers_in.x_forwarded_for.nelts >= 1) { + a = r->headers_in.x_forwarded_for; + n = a.nelts; +@@ -2896,7 +2899,9 @@ ngx_http_naxsi_update_current_ctx_status(ngx_http_request_ctx_t* ctx, + memcpy(ip.data, h[0]->value.data, ip.len); + ignore = nx_can_ignore_ip(&ip, cf) || nx_can_ignore_cidr(&ip, cf); + } +- } else { ++ } else ++#endif ++ { + ngx_str_t* ip = &r->connection->addr_text; + NX_DEBUG(_debug_whitelist_ignore, + NGX_LOG_DEBUG_HTTP, +-- +2.30.2 + diff --git a/package/nginx-naxsi/nginx-naxsi.hash b/package/nginx-naxsi/nginx-naxsi.hash index 1f289c56cdc..4712ede2af1 100644 --- a/package/nginx-naxsi/nginx-naxsi.hash +++ b/package/nginx-naxsi/nginx-naxsi.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 0a66dcadd32432460fab180be9f2efe24e911e3798917b2787ee710e02901eb4 nginx-naxsi-0.56.tar.gz -sha256 046812ddc8f250f85b5d6e04218c185849c618b309271ef9d8b01e92c6f7a6ac naxsi_src/naxsi_json.c +sha256 439c8677372d2597b4360bbcc10bc86490de1fc75695b193ad5df154a214d628 nginx-naxsi-1.3.tar.gz +sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE +sha256 d0732bc23658db5b9749e3f9cd4fe0f9b3e132b5955adccb08821845fe2a21c8 naxsi_src/ext/libinjection/COPYING diff --git a/package/nginx-naxsi/nginx-naxsi.mk b/package/nginx-naxsi/nginx-naxsi.mk index 7cfa94a5d4f..2dba8ad5892 100644 --- a/package/nginx-naxsi/nginx-naxsi.mk +++ b/package/nginx-naxsi/nginx-naxsi.mk @@ -4,9 +4,9 @@ # ################################################################################ -NGINX_NAXSI_VERSION = 0.56 +NGINX_NAXSI_VERSION = 1.3 NGINX_NAXSI_SITE = $(call github,nbs-system,naxsi,$(NGINX_NAXSI_VERSION)) -NGINX_NAXSI_LICENSE = GPL-2.0+ with OpenSSL exception -NGINX_NAXSI_LICENSE_FILES = naxsi_src/naxsi_json.c +NGINX_NAXSI_LICENSE = GPL-3.0, BSD-3-Clause (libinjection) +NGINX_NAXSI_LICENSE_FILES = LICENSE naxsi_src/ext/libinjection/COPYING $(eval $(generic-package)) diff --git a/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch b/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch index f186becdf82..ee7f3e92901 100644 --- a/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch +++ b/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch @@ -15,14 +15,16 @@ Signed-off-by: Samuel Martin Refresh for 1.8.0. Signed-off-by: Danomi Manchego +[rebased against v1.20.1] +Signed-off-by: Adam Duskett --- auto/cc/conf | 3 +++ auto/cc/name | 1 + auto/lib/libatomic/conf | 1 + auto/os/darwin | 3 +++ auto/os/linux | 4 ++++ - auto/unix | 8 ++++++++ - 6 files changed, 20 insertions(+) + auto/unix | 7 +++++++ + 6 files changed, 19 insertions(+) diff --git a/auto/cc/conf b/auto/cc/conf index afbca62b..ad42c800 100644 @@ -116,7 +118,7 @@ index 2c8a9bb8..eb4513ee 100644 ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= -@@ -111,6 +112,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE" +@@ -136,6 +137,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE" ngx_feature="sendfile()" ngx_feature_name="NGX_HAVE_SENDFILE" ngx_feature_run=yes @@ -124,7 +126,7 @@ index 2c8a9bb8..eb4513ee 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -132,6 +134,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" +@@ -157,6 +159,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" ngx_feature="sendfile64()" ngx_feature_name="NGX_HAVE_SENDFILE64" ngx_feature_run=yes @@ -132,7 +134,7 @@ index 2c8a9bb8..eb4513ee 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -150,6 +153,7 @@ ngx_include="sys/prctl.h"; . auto/include +@@ -175,6 +178,7 @@ ngx_include="sys/prctl.h"; . auto/include ngx_feature="prctl(PR_SET_DUMPABLE)" ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE" ngx_feature_run=yes @@ -152,31 +154,23 @@ index 43d3b25a..3da00537 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -730,6 +731,7 @@ ngx_feature_test="char buf[1]; struct iovec vec[1]; ssize_t n; - 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 - #include ' - ngx_feature_path= -@@ -744,6 +746,7 @@ if [ $ngx_found = no ]; then - ngx_feature="_sys_nerr" +@@ -722,6 +723,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 #include ' ngx_feature_path= -@@ -759,6 +762,7 @@ if [ $ngx_found = no ]; then - ngx_feature='maximum errno' - ngx_feature_name=NGX_SYS_NERR +@@ -737,6 +739,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 - #include #include ' -@@ -841,6 +845,7 @@ ngx_feature_test="void *p; p = memalign(4096, 4096); + ngx_feature_path= +@@ -806,6 +809,7 @@ ngx_feature_test="void *p; p = memalign(4096, 4096); ngx_feature="mmap(MAP_ANON|MAP_SHARED)" ngx_feature_name="NGX_HAVE_MAP_ANON" ngx_feature_run=yes @@ -184,7 +178,7 @@ index 43d3b25a..3da00537 100644 ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= -@@ -854,6 +859,7 @@ ngx_feature_test="void *p; +@@ -819,6 +823,7 @@ ngx_feature_test="void *p; ngx_feature='mmap("/dev/zero", MAP_SHARED)' ngx_feature_name="NGX_HAVE_MAP_DEVZERO" ngx_feature_run=yes @@ -192,7 +186,7 @@ index 43d3b25a..3da00537 100644 ngx_feature_incs="#include #include #include " -@@ -869,6 +875,7 @@ ngx_feature_test='void *p; int fd; +@@ -834,6 +839,7 @@ ngx_feature_test='void *p; int fd; ngx_feature="System V shared memory" ngx_feature_name="NGX_HAVE_SYSVSHM" ngx_feature_run=yes @@ -200,7 +194,7 @@ index 43d3b25a..3da00537 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -883,6 +890,7 @@ ngx_feature_test="int id; +@@ -848,6 +854,7 @@ ngx_feature_test="int id; ngx_feature="POSIX semaphores" ngx_feature_name="NGX_HAVE_POSIX_SEM" ngx_feature_run=yes diff --git a/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch b/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch index 747a034aee2..79fa4970cb8 100644 --- a/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch +++ b/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch @@ -15,10 +15,12 @@ Signed-off-by: Samuel Martin Refresh for 1.8.0. Signed-off-by: Danomi Manchego +[rebased against v1.20.1] +Signed-off-by: Adam Duskett --- - auto/os/sys_nerr | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - auto/unix | 10 ++++++++ - 2 files changed, 88 insertions(+) + auto/os/sys_nerr | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ + auto/unix | 8 +++++ + 2 files changed, 86 insertions(+) create mode 100644 auto/os/sys_nerr diff --git a/auto/os/sys_nerr b/auto/os/sys_nerr @@ -109,18 +111,13 @@ diff --git a/auto/unix b/auto/unix index 7dbf9d1..00a7370 100755 --- a/auto/unix +++ b/auto/unix -@@ -736,6 +736,10 @@ ngx_feature_incs='#include - #include ' - ngx_feature_path= - ngx_feature_libs= -+ -+if false ; then -+# Disabled because only valid for native build. -+ - ngx_feature_test='printf("%d", sys_nerr);' - . auto/feature - -@@ -784,6 +788,12 @@ if [ $ngx_found = no ]; then +@@ -744,10 +744,18 @@ if [ $ngx_found = no ]; then + #include ' + ngx_feature_path= + ngx_feature_libs= ++ if false ; then ++ # Disabled because only valid for native build. + ngx_feature_test='printf("%d", _sys_nerr);' . auto/feature fi diff --git a/package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch b/package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch new file mode 100644 index 00000000000..8b368d946f2 --- /dev/null +++ b/package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch @@ -0,0 +1,38 @@ +From 79f1fe5251afc4e22a138b0c8f44fc9c94093b8b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 2 Apr 2021 09:18:26 +0200 +Subject: [PATCH] auto/os/linux: fix build with libxcrypt + +If crypt_r is found in libcrypt, add -lcrypt to CORE_LIBS to avoid the +following build failure with libxcrypt: + +objs/ngx_modules.o \ +-lpcre -L/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/../xtensa-buildroot-linux-uclibc/sysroot/usr/lib -lssl -lcrypto -L/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/../xtensa-buildroot-linux-uclibc/sysroot/usr/lib -lxslt -lxml2 -lGeoIP \ +-Wl,-E +/home/giuliobenetti/autobuild/run/instance-3/output-1/host/lib/gcc/xtensa-buildroot-linux-uclibc/9.3.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: objs/src/os/unix/ngx_user.o:/home/giuliobenetti/autobuild/run/instance-3/output-1/build/nginx-1.18.0/src/os/unix/ngx_user.c:18: undefined reference to `crypt_r' + +Fixes: + - http://autobuild.buildroot.org/results/79a51b0d348e756517b5c9ce815a67f5c657e7e6 + +Signed-off-by: Fabrice Fontaine +--- + auto/os/linux | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/auto/os/linux b/auto/os/linux +index 5e280eca..04682812 100644 +--- a/auto/os/linux ++++ b/auto/os/linux +@@ -232,6 +232,9 @@ ngx_feature_test="struct crypt_data cd; + crypt_r(\"key\", \"salt\", &cd);" + . auto/feature + ++if [ $ngx_found = yes ]; then ++ CORE_LIBS="$CORE_LIBS $ngx_feature_libs" ++fi + + ngx_include="sys/vfs.h"; . auto/include + +-- +2.30.2 + diff --git a/package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch b/package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch new file mode 100644 index 00000000000..3810412b52f --- /dev/null +++ b/package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch @@ -0,0 +1,118 @@ +From 4bd8fe780ff2064f2d4e9c905d8a98dd0f9b6191 Mon Sep 17 00:00:00 2001 +From: Nevo Hed +Date: Mon, 30 Aug 2021 13:28:13 -0400 +Subject: [PATCH] Allow forcing of endianness for cross-compilation + +Upstream-status: Invalid (upstream doesn't support cross-compilation) +See https://trac.nginx.org/nginx/ticket/2240 + +Signed-off-by: Nevo Hed +--- + auto/endianness | 61 ++++++++++++++++++++++++++++++++----------------- + auto/options | 6 +++++ + 2 files changed, 46 insertions(+), 21 deletions(-) + +diff --git a/auto/endianness b/auto/endianness +index 1b552b6b..4b2a3cd7 100644 +--- a/auto/endianness ++++ b/auto/endianness +@@ -26,25 +26,44 @@ int main(void) { + + END + +-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ +- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" +- +-eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" +- +-if [ -x $NGX_AUTOTEST ]; then +- if $NGX_AUTOTEST >/dev/null 2>&1; then +- echo " little endian" ++case "${NGX_FORCE_ENDIANNESS}" in ++ little) ++ echo " little endian (forced)" + have=NGX_HAVE_LITTLE_ENDIAN . auto/have +- else +- echo " big endian" +- fi +- +- rm -rf $NGX_AUTOTEST* +- +-else +- rm -rf $NGX_AUTOTEST* +- +- echo +- echo "$0: error: cannot detect system byte ordering" +- exit 1 +-fi ++ ;; ++ ++ big) ++ echo " big endian (forced)" ++ ;; ++ ++ "") ++ ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ++ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" ++ ++ eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" ++ ++ if [ -x $NGX_AUTOTEST ]; then ++ if $NGX_AUTOTEST >/dev/null 2>&1; then ++ echo " little endian" ++ have=NGX_HAVE_LITTLE_ENDIAN . auto/have ++ else ++ echo " big endian" ++ fi ++ ++ rm -rf $NGX_AUTOTEST* ++ ++ else ++ rm -rf $NGX_AUTOTEST* ++ ++ echo ++ echo "$0: error: cannot detect system byte ordering" ++ exit 1 ++ fi ++ ;; ++ ++ *) ++ echo ++ echo "$0: error: invalid \"--force-endianness=${NGX_FORCE_ENDIANNESS}\"" ++ exit 1 ++ ;; ++esac +diff --git a/auto/options b/auto/options +index 80be906e..85a06456 100644 +--- a/auto/options ++++ b/auto/options +@@ -17,6 +17,8 @@ NGX_USER= + NGX_GROUP= + NGX_BUILD= + ++NGX_FORCE_ENDIANNESS= ++ + CC=${CC:-cc} + CPP= + NGX_OBJS=objs +@@ -196,6 +198,8 @@ do + --user=*) NGX_USER="$value" ;; + --group=*) NGX_GROUP="$value" ;; + ++ --force-endianness=*) NGX_FORCE_ENDIANNESS="$value" ;; ++ + --crossbuild=*) NGX_PLATFORM="$value" ;; + + --build=*) NGX_BUILD="$value" ;; +@@ -432,6 +436,8 @@ cat << END + --build=NAME set build name + --builddir=DIR set build directory + ++ --force-endianness=| force endianness ++ + --with-select_module enable select module + --without-select_module disable select module + --with-poll_module enable poll module +-- +2.31.1 + diff --git a/package/nginx/Config.in b/package/nginx/Config.in index 6ae790a949c..90a08222988 100644 --- a/package/nginx/Config.in +++ b/package/nginx/Config.in @@ -296,6 +296,14 @@ config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_RANDOM_MODULE help Enable ngx_http_upstream_random_module +config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_ZONE_MODULE + bool "ngx_http_upstream_zone_module" + default y + depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS + select BR2_PACKAGE_LIBATOMIC_OPS + help + Enable ngx_http_upstream_zone_module + endif #BR2_PACKAGE_NGINX_HTTP config BR2_PACKAGE_NGINX_MAIL @@ -339,6 +347,12 @@ config BR2_PACKAGE_NGINX_STREAM_REALIP_MODULE help Enable ngx_stream_realip_module +config BR2_PACKAGE_NGINX_STREAM_SET_MODULE + bool "ngx_stream_set_module" + default y + help + Enable ngx_stream_set_module + config BR2_PACKAGE_NGINX_STREAM_SSL_MODULE bool "ngx_stream_ssl_module" select BR2_PACKAGE_OPENSSL @@ -413,6 +427,8 @@ config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_RANDOM_MODULE config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_ZONE_MODULE bool "ngx_stream_upstream_zone_module" default y + depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS + select BR2_PACKAGE_LIBATOMIC_OPS help Enable ngx_stream_upstream_zone_module diff --git a/package/nginx/nginx.hash b/package/nginx/nginx.hash index 8d17931a26d..06d3392a2e1 100644 --- a/package/nginx/nginx.hash +++ b/package/nginx/nginx.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 4c373e7ab5bf91d34a4f11a0c9496561061ba5eee6020db272a17a7228d35f99 nginx-1.18.0.tar.gz +sha256 e462e11533d5c30baa05df7652160ff5979591d291736cfa5edb9fd2edb48c49 nginx-1.20.1.tar.gz # License files, locally calculated -sha256 28ad30e2f64bd89ac1287b4606906bb99ed04d9f4e13fb6564a0be9c8a23f509 LICENSE +sha256 b57270c1f73eb6624b38b2d0a1affcec56b21fab39efbf8c837428f05cef1d73 LICENSE diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index 9c32546835d..cff741ee356 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -4,12 +4,14 @@ # ################################################################################ -NGINX_VERSION = 1.18.0 +NGINX_VERSION = 1.20.1 NGINX_SITE = http://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE NGINX_CPE_ID_VENDOR = nginx -NGINX_DEPENDENCIES = host-pkgconf +NGINX_DEPENDENCIES = \ + host-pkgconf \ + $(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt) NGINX_CONF_OPTS = \ --crossbuild=Linux::$(BR2_ARCH) \ @@ -47,6 +49,7 @@ NGINX_CONF_ENV += \ # prefix: nginx root configuration location NGINX_CONF_OPTS += \ + --force-endianness=$(call qstrip,$(call LOWERCASE,$(BR2_ENDIAN))) \ --prefix=/usr \ --conf-path=/etc/nginx/nginx.conf \ --sbin-path=/usr/sbin/nginx \ @@ -200,7 +203,8 @@ NGINX_CONF_OPTS += \ $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE),,--without-http_upstream_ip_hash_module) \ $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE),,--without-http_upstream_least_conn_module) \ $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_RANDOM_MODULE),,--without-http_upstream_random_module) \ - $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE),,--without-http_upstream_keepalive_module) + $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE),,--without-http_upstream_keepalive_module) \ + $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_ZONE_MODULE),,--without-http_upstream_zone_module) else # !BR2_PACKAGE_NGINX_HTTP NGINX_CONF_OPTS += --without-http @@ -230,6 +234,10 @@ ifeq ($(BR2_PACKAGE_NGINX_STREAM_REALIP_MODULE),y) NGINX_CONF_OPTS += --with-stream_realip_module endif +ifeq ($(BR2_PACKAGE_NGINX_STREAM_SET_MODULE),) +NGINX_CONF_OPTS += --without-stream_set_module +endif + ifeq ($(BR2_PACKAGE_NGINX_STREAM_SSL_MODULE),y) NGINX_DEPENDENCIES += openssl NGINX_CONF_OPTS += --with-stream_ssl_module diff --git a/package/nmap/Config.in b/package/nmap/Config.in index 51dd3423eae..fc6312d0fc7 100644 --- a/package/nmap/Config.in +++ b/package/nmap/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_NMAP select BR2_PACKAGE_LIBLINEAR select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_NMAP_NMAP \ - if !BR2_PACKAGE_NMAP_NCAT && !BR2_PACKAGE_NMAP_NPING && !BR2_PACKAGE_NMAP_NDIFF + if !BR2_PACKAGE_NMAP_NCAT && !BR2_PACKAGE_NMAP_NPING help Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing. @@ -32,16 +32,6 @@ comment "a symlink from ncat to 'nc' will be installed" depends on !BR2_PACKAGE_NETCAT depends on !BR2_PACKAGE_NETCAT_OPENBSD -config BR2_PACKAGE_NMAP_NDIFF - bool "install ndiff" - # ndiff only works with python2.x - depends on BR2_PACKAGE_PYTHON - help - This option installs the 'ndiff' tool. - -comment "ndiff needs Python 2.x" - depends on !BR2_PACKAGE_PYTHON - config BR2_PACKAGE_NMAP_NMAP bool "install nmap" select BR2_PACKAGE_PCRE diff --git a/package/nmap/nmap.hash b/package/nmap/nmap.hash index 8f69bbf613f..dc379f30d47 100644 --- a/package/nmap/nmap.hash +++ b/package/nmap/nmap.hash @@ -1,5 +1,5 @@ -# From https://nmap.org/dist/sigs/nmap-7.91.tar.bz2.digest.txt (lowercase) -sha256 18cc4b5070511c51eb243cdd2b0b30ff9b2c4dc4544c6312f75ce3a67a593300 nmap-7.91.tar.bz2 +# From https://nmap.org/dist/sigs/nmap-7.92.tar.bz2.digest.txt (lowercase) +sha256 a5479f2f8a6b0b2516767d2f7189c386c1dc858d997167d7ec5cfc798c7571a1 nmap-7.92.tar.bz2 # Locally calculated -sha256 8254a9bc733f3312c6dcfe0d5a129c29e96ecb8b33408c652a8c7beb2e25b471 LICENSE +sha256 133794301a764dfe8a60e38601e56657b7113e0337b452189725bbbed58baea0 LICENSE diff --git a/package/nmap/nmap.mk b/package/nmap/nmap.mk index 13414a56ee9..f22a2295b18 100644 --- a/package/nmap/nmap.mk +++ b/package/nmap/nmap.mk @@ -4,7 +4,7 @@ # ################################################################################ -NMAP_VERSION = 7.91 +NMAP_VERSION = 7.92 NMAP_SITE = https://nmap.org/dist NMAP_SOURCE = nmap-$(NMAP_VERSION).tar.bz2 NMAP_DEPENDENCIES = liblinear libpcap @@ -44,6 +44,13 @@ else NMAP_CONF_OPTS += --without-openssl endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +NMAP_CONF_OPTS += --with-libz="$(STAGING_DIR)/usr" +NMAP_DEPENDENCIES += zlib +else +NMAP_CONF_OPTS += --without-libz +endif + NMAP_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) ifeq ($(BR2_PACKAGE_NMAP_NCAT),y) @@ -54,15 +61,6 @@ else NMAP_CONF_OPTS += --without-ncat endif -ifeq ($(BR2_PACKAGE_NMAP_NDIFF),y) -NMAP_DEPENDENCIES += python -NMAP_CONF_OPTS += --with-ndiff -NMAP_MAKE_OPTS += build-ndiff -NMAP_INSTALL_TARGET_OPTS += install-ndiff -else -NMAP_CONF_OPTS += --without-ndiff -endif - ifeq ($(BR2_PACKAGE_NMAP_NMAP),y) NMAP_DEPENDENCIES += pcre NMAP_CONF_OPTS += --with-libpcre="$(STAGING_DIR)/usr" diff --git a/package/nmon/nmon.hash b/package/nmon/nmon.hash index fd3f09c63a5..1d7226a4fe3 100644 --- a/package/nmon/nmon.hash +++ b/package/nmon/nmon.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/nmon/files/ -md5 df67f07ea4006c6204acff586beada81 lmon16m.c -sha1 68cd02be19036a287fe352823db93223e73a9411 lmon16m.c +md5 a8172601fdc05f3bc58455cbd3f4475e lmon16n.c +sha1 024a3b56179838f0e04bf1706cc9ba56595301a8 lmon16n.c # Locally computed -sha256 2bed4d45fdfdf1d1387ec91e139c04975d5f838e3e0d53c0fe2d803a707e5fc1 lmon16m.c +sha256 c0012cc2d925dee940c37ceae297abac64ba5a5c30e575e7418b04028613f5f2 lmon16n.c diff --git a/package/nmon/nmon.mk b/package/nmon/nmon.mk index 8b39748cce8..01371a8c74e 100644 --- a/package/nmon/nmon.mk +++ b/package/nmon/nmon.mk @@ -4,7 +4,7 @@ # ################################################################################ -NMON_VERSION = 16m +NMON_VERSION = 16n NMON_SITE = https://sourceforge.net/projects/nmon/files NMON_SOURCE = lmon$(NMON_VERSION).c NMON_LICENSE = GPL-3.0+ diff --git a/package/nodejs/0001-add-qemu-wrapper-support.patch b/package/nodejs/0001-add-qemu-wrapper-support.patch new file mode 100644 index 00000000000..1368ca5a386 --- /dev/null +++ b/package/nodejs/0001-add-qemu-wrapper-support.patch @@ -0,0 +1,88 @@ +From fa09fa3ad6a21ae0b35fb860f76d1762e5f29972 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 27 Sep 2021 12:55:09 -0700 +Subject: [PATCH] add qemu-wrapper support + +V8's JIT infrastructure requires binaries such as mksnapshot and mkpeephole to +be run in the host during the build. However, these binaries must have the +same bit-width as the target (e.g. a x86_64 host targeting ARMv6 needs to +produce a 32-bit binary). To work around this issue, cross-compile the +binaries for the target and run them on the host with QEMU, much like +gobject-introspection. + +However, for the host-variant we do not want to use a +qemu-wrapper, so add @MAYBE_WRAPPER@ to the needed files and sed the path to +the qemu-wrapper on target builds, and remove @MAYBE_WRAPPER@ entirely on +host-builds. + +Signed-off-by: Adam Duskett +--- + node.gyp | 4 ++-- + tools/v8_gypfiles/v8.gyp | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/node.gyp b/node.gyp +index 8ba0dfeb..c77f6f7d 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -491,7 +491,7 @@ + 'action_name': 'run_mkcodecache', + 'process_outputs_as_sources': 1, + 'inputs': [ +- '<(mkcodecache_exec)', ++ @MAYBE_WRAPPER@ '<(mkcodecache_exec)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc', +@@ -516,7 +516,7 @@ + 'action_name': 'node_mksnapshot', + 'process_outputs_as_sources': 1, + 'inputs': [ +- '<(node_mksnapshot_exec)', ++ @MAYBE_WRAPPER@ '<(node_mksnapshot_exec)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc', +diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp +index 48ec392b..f9bb0fbe 100644 +--- a/tools/v8_gypfiles/v8.gyp ++++ b/tools/v8_gypfiles/v8.gyp +@@ -220,7 +220,7 @@ + { + 'action_name': 'run_torque_action', + 'inputs': [ # Order matters. +- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', ++ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', + '<@(torque_files)', + ], + 'outputs': [ +@@ -351,7 +351,7 @@ + { + 'action_name': 'generate_bytecode_builtins_list_action', + 'inputs': [ +- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', ++ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', + ], + 'outputs': [ + '<(generate_bytecode_builtins_list_output)', +@@ -533,7 +533,7 @@ + ], + }, + 'inputs': [ +- '<(mksnapshot_exec)', ++ @MAYBE_WRAPPER@ '<(mksnapshot_exec)', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/snapshot.cc', +@@ -1448,7 +1448,7 @@ + { + 'action_name': 'run_gen-regexp-special-case_action', + 'inputs': [ +- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', ++ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc', +-- +2.31.1 + diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index ba3fde887da..016aeb4e1a6 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -6,26 +6,28 @@ config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS default y if BR2_aarch64 || BR2_i386 || BR2_x86_64 # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET -comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 4.9, wchar" +comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar, host gcc >= 8" depends on BR2_USE_MMU depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR + !BR2_HOST_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR config BR2_PACKAGE_NODEJS bool "nodejs" depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS - depends on BR2_HOST_GCC_AT_LEAST_4_9 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_HOST_GCC_AT_LEAST_8 # qemu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 depends on BR2_USE_WCHAR # uses fork() depends on BR2_USE_MMU # uses dlopen(). On ARMv5, we could technically support static # linking, but that's too much of a corner case to support it. depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_HOST_NODEJS select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBUV select BR2_PACKAGE_ZLIB diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host new file mode 100644 index 00000000000..4ceaf0c73ee --- /dev/null +++ b/package/nodejs/Config.in.host @@ -0,0 +1,18 @@ +config BR2_PACKAGE_HOST_NODEJS + bool "host nodejs" + depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_8 + select BR2_PACKAGE_HOST_PYTHON3 + select BR2_PACKAGE_HOST_PYTHON3_BZIP2 + select BR2_PACKAGE_HOST_PYTHON3_SSL + select BR2_PACKAGE_HOST_QEMU + select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE + help + Event-driven I/O server-side JavaScript environment based on + V8. + + http://nodejs.org/ + +comment "host nodejs needs a host gcc >= 8" + depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS + depends on !BR2_HOST_GCC_AT_LEAST_8 diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 7abb3c3b571..6365ef852bb 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From https://nodejs.org/dist/v12.21.0/SHASUMS256.txt -sha256 052f37ace6f569b513b5a1154b2a45d3c4d8b07d7d7c807b79f1566db61e979d node-v12.21.0.tar.xz +# From https://nodejs.org/dist/v14.18.3/SHASUMS256.txt +sha256 783ac443cd343dd6c68d2abcf7e59e7b978a6a428f6a6025f9b84918b769d608 node-v14.18.3.tar.xz # Hash for license file -sha256 221417a7ca275112a5ac54639b36ee3c5184e74631ea1e1b01b701293b655190 LICENSE +sha256 b3a67885b5a6ac35e8bbe8190509e41b79b0d9a2e3fbd47186f2ac4727f63be5 LICENSE diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index f8b29d36857..5d8eb4af639 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -4,13 +4,25 @@ # ################################################################################ -NODEJS_VERSION = 12.21.0 +NODEJS_VERSION = 14.18.3 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) -NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \ - libuv zlib nghttp2 \ +NODEJS_DEPENDENCIES = \ + host-nodejs \ + host-pkgconf \ + host-python3 \ + host-qemu \ + c-ares \ + libuv \ + nghttp2 \ + zlib \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) -HOST_NODEJS_DEPENDENCIES = host-icu host-libopenssl host-python host-zlib +HOST_NODEJS_DEPENDENCIES = \ + host-icu \ + host-libopenssl \ + host-pkgconf \ + host-python3 \ + host-zlib NODEJS_INSTALL_STAGING = YES NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components) NODEJS_LICENSE_FILES = LICENSE @@ -18,7 +30,6 @@ NODEJS_CPE_ID_VENDOR = nodejs NODEJS_CPE_ID_PRODUCT = node.js NODEJS_CONF_OPTS = \ - --without-snapshot \ --shared-zlib \ --shared-cares \ --shared-libuv \ @@ -28,6 +39,30 @@ NODEJS_CONF_OPTS = \ --cross-compiling \ --dest-os=linux +HOST_NODEJS_MAKE_OPTS = \ + $(HOST_CONFIGURE_OPTS) \ + CXXFLAGS="$(HOST_NODEJS_CXXFLAGS)" \ + LDFLAGS.host="$(HOST_LDFLAGS)" \ + NO_LOAD=cctest.target.mk \ + PATH=$(@D)/bin:$(BR_PATH) + +NODEJS_MAKE_OPTS = \ + $(TARGET_CONFIGURE_OPTS) \ + NO_LOAD=cctest.target.mk \ + PATH=$(@D)/bin:$(BR_PATH) \ + LDFLAGS="$(NODEJS_LDFLAGS)" \ + LD="$(TARGET_CXX)" + +# nodejs's build system uses python which can be a symlink to an unsupported +# python version (e.g. python 3.10 with nodejs 14.18.1). We work around this by +# forcing host-python3 early in the PATH, via a python->python3 symlink. +define NODEJS_PYTHON3_SYMLINK + mkdir -p $(@D)/bin + ln -sf $(HOST_DIR)/bin/python3 $(@D)/bin/python +endef +HOST_NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_PYTHON3_SYMLINK +NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_PYTHON3_SYMLINK + ifeq ($(BR2_PACKAGE_OPENSSL),y) NODEJS_DEPENDENCIES += openssl NODEJS_CONF_OPTS += --shared-openssl @@ -46,25 +81,17 @@ ifneq ($(BR2_PACKAGE_NODEJS_NPM),y) NODEJS_CONF_OPTS += --without-npm endif -# nodejs build system is based on python, but only support python-2.6 or -# python-2.7. So, we have to enforce PYTHON interpreter to be python2. define HOST_NODEJS_CONFIGURE_CMDS - # The build system directly calls python. Work around this by forcing python2 - # into PATH. See https://github.com/nodejs/node/issues/2735 - mkdir -p $(@D)/bin - ln -sf $(HOST_DIR)/bin/python2 $(@D)/bin/python - (cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ PATH=$(@D)/bin:$(BR_PATH) \ - PYTHON=$(HOST_DIR)/bin/python2 \ - $(HOST_DIR)/bin/python2 ./configure \ + PYTHON=$(HOST_DIR)/bin/python3 \ + $(HOST_DIR)/bin/python3 ./configure \ --prefix=$(HOST_DIR) \ - --without-snapshot \ --without-dtrace \ --without-etw \ --shared-openssl \ - --shared-openssl-includes=$(HOST_DIR)/include/openssl \ + --shared-openssl-includes=$(HOST_DIR)/include \ --shared-openssl-libpath=$(HOST_DIR)/lib \ --shared-zlib \ --no-cross-compiling \ @@ -79,26 +106,18 @@ NODEJS_HOST_TOOLS_V8 = \ NODEJS_HOST_TOOLS_NODE = mkcodecache NODEJS_HOST_TOOLS = $(NODEJS_HOST_TOOLS_V8) $(NODEJS_HOST_TOOLS_NODE) -HOST_NODEJS_CXXFLAGS = $(HOST_CXXFLAGS) -DU_DISABLE_RENAMING=1 +HOST_NODEJS_CXXFLAGS = $(HOST_CXXFLAGS) define HOST_NODEJS_BUILD_CMDS - $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ $(MAKE) -C $(@D) \ - $(HOST_CONFIGURE_OPTS) \ - CXXFLAGS="$(HOST_NODEJS_CXXFLAGS)" \ - LDFLAGS.host="$(HOST_LDFLAGS)" \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) + $(HOST_NODEJS_MAKE_OPTS) endef define HOST_NODEJS_INSTALL_CMDS - $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ $(MAKE) -C $(@D) install \ - $(HOST_CONFIGURE_OPTS) \ - CXXFLAGS="$(HOST_NODEJS_CXXFLAGS)" \ - LDFLAGS.host="$(HOST_LDFLAGS)" \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) + $(HOST_NODEJS_MAKE_OPTS) $(foreach f,$(NODEJS_HOST_TOOLS), \ $(INSTALL) -m755 -D $(@D)/out/Release/$(f) $(HOST_DIR)/bin/$(f) @@ -152,17 +171,45 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) NODEJS_LDFLAGS += -latomic endif -define NODEJS_CONFIGURE_CMDS - mkdir -p $(@D)/bin - ln -sf $(HOST_DIR)/bin/python2 $(@D)/bin/python +# V8's JIT infrastructure requires binaries such as mksnapshot and +# mkpeephole to be run in the host during the build. However, these +# binaries must have the same bit-width as the target (e.g. a x86_64 +# host targeting ARMv6 needs to produce a 32-bit binary). To work around this +# issue, cross-compile the binaries for the target and run them on the +# host with QEMU, much like gobject-introspection. +define NODEJS_INSTALL_V8_QEMU_WRAPPER + $(INSTALL) -D -m 755 $(NODEJS_PKGDIR)/v8-qemu-wrapper.in \ + $(@D)/out/Release/v8-qemu-wrapper + $(SED) "s%@QEMU_USER@%$(QEMU_USER)%g" \ + $(@D)/out/Release/v8-qemu-wrapper + $(SED) "s%@TOOLCHAIN_HEADERS_VERSION@%$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)%g" \ + $(@D)/out/Release/v8-qemu-wrapper + $(SED) "s%@QEMU_USERMODE_ARGS@%$(call qstrip,$(BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS))%g" \ + $(@D)/out/Release/v8-qemu-wrapper +endef +NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_INSTALL_V8_QEMU_WRAPPER + +define NODEJS_WRAPPER_FIXUP + $(SED) "s%@MAYBE_WRAPPER@%'<(PRODUCT_DIR)/v8-qemu-wrapper',%g" $(@D)/node.gyp + $(SED) "s%@MAYBE_WRAPPER@%'<(PRODUCT_DIR)/v8-qemu-wrapper',%g" $(@D)/tools/v8_gypfiles/v8.gyp +endef +NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_WRAPPER_FIXUP +# Do not run the qemu-wrapper for the host build. +define HOST_NODEJS_WRAPPER_FIXUP + $(SED) "s%@MAYBE_WRAPPER@%%g" $(@D)/node.gyp + $(SED) "s%@MAYBE_WRAPPER@%%g" $(@D)/tools/v8_gypfiles/v8.gyp +endef +HOST_NODEJS_PRE_CONFIGURE_HOOKS += HOST_NODEJS_WRAPPER_FIXUP + +define NODEJS_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \ PATH=$(@D)/bin:$(BR_PATH) \ LDFLAGS="$(NODEJS_LDFLAGS)" \ LD="$(TARGET_CXX)" \ - PYTHON=$(HOST_DIR)/bin/python2 \ - $(HOST_DIR)/bin/python2 ./configure \ + PYTHON=$(HOST_DIR)/bin/python3 \ + $(HOST_DIR)/bin/python3 ./configure \ --prefix=/usr \ --dest-cpu=$(NODEJS_CPU) \ $(if $(NODEJS_ARM_FP),--with-arm-float-abi=$(NODEJS_ARM_FP)) \ @@ -171,25 +218,12 @@ define NODEJS_CONFIGURE_CMDS $(if $(NODEJS_MIPS_FPU_MODE),--with-mips-fpu-mode=$(NODEJS_MIPS_FPU_MODE)) \ $(NODEJS_CONF_OPTS) \ ) - - $(foreach f,$(NODEJS_HOST_TOOLS_V8), \ - $(SED) "s#<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)$(f)<(EXECUTABLE_SUFFIX)#$(HOST_DIR)/bin/$(f)#" \ - $(@D)/tools/v8_gypfiles/v8.gyp - ) - $(foreach f,$(NODEJS_HOST_TOOLS_NODE), \ - $(SED) "s#<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)$(f)<(EXECUTABLE_SUFFIX)#$(HOST_DIR)/bin/$(f)#" \ - -i $(@D)/node.gyp - ) endef define NODEJS_BUILD_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ $(MAKE) -C $(@D) \ - $(TARGET_CONFIGURE_OPTS) \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) \ - LDFLAGS="$(NODEJS_LDFLAGS)" \ - LD="$(TARGET_CXX)" + $(NODEJS_MAKE_OPTS) endef # @@ -223,25 +257,17 @@ endef endif define NODEJS_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ $(MAKE) -C $(@D) install \ DESTDIR=$(STAGING_DIR) \ - $(TARGET_CONFIGURE_OPTS) \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) \ - LDFLAGS="$(NODEJS_LDFLAGS)" \ - LD="$(TARGET_CXX)" + $(NODEJS_MAKE_OPTS) endef define NODEJS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ $(MAKE) -C $(@D) install \ DESTDIR=$(TARGET_DIR) \ - $(TARGET_CONFIGURE_OPTS) \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) \ - LDFLAGS="$(NODEJS_LDFLAGS)" \ - LD="$(TARGET_CXX)" + $(NODEJS_MAKE_OPTS) $(NODEJS_INSTALL_MODULES) endef diff --git a/package/nodejs/v8-qemu-wrapper.in b/package/nodejs/v8-qemu-wrapper.in new file mode 100644 index 00000000000..e1083f47f70 --- /dev/null +++ b/package/nodejs/v8-qemu-wrapper.in @@ -0,0 +1,9 @@ +#!/usr/bin/env sh + +# Pass -r to qemu-user as to trick glibc into not errorings out if the host kernel +# is older than the target kernel. +exec @QEMU_USER@ -r @TOOLCHAIN_HEADERS_VERSION@ \ + @QEMU_USERMODE_ARGS@ \ + -L "${STAGING_DIR}/" \ + "$@" + diff --git a/package/nss-myhostname/nss-myhostname.mk b/package/nss-myhostname/nss-myhostname.mk index 08683a542b2..b1bdca8ef16 100644 --- a/package/nss-myhostname/nss-myhostname.mk +++ b/package/nss-myhostname/nss-myhostname.mk @@ -10,11 +10,11 @@ NSS_MYHOSTNAME_LICENSE = LGPL-2.1+ NSS_MYHOSTNAME_LICENSE_FILES = LICENSE # add myhostname after files if missing -define MYHOSTNAME_SET_NSSWITCH +define NSS_MYHOSTNAME_SET_NSSWITCH $(SED) '/^hosts:/ {/myhostname/! s/files/files myhostname/}' \ $(TARGET_DIR)/etc/nsswitch.conf endef -NSS_MYHOSTNAME_TARGET_FINALIZE_HOOKS += MYHOSTNAME_SET_NSSWITCH +NSS_MYHOSTNAME_TARGET_FINALIZE_HOOKS += NSS_MYHOSTNAME_SET_NSSWITCH $(eval $(autotools-package)) diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.hash b/package/nss-pam-ldapd/nss-pam-ldapd.hash index 47864c4fe71..e0cdc403eee 100644 --- a/package/nss-pam-ldapd/nss-pam-ldapd.hash +++ b/package/nss-pam-ldapd/nss-pam-ldapd.hash @@ -1,5 +1,5 @@ -# From https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-0.9.11.tar.gz.md5 -md5 91df9d46a548aa7aa95d0e7c672215d0 nss-pam-ldapd-0.9.8.tar.gz +# From https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-0.9.12.tar.gz.md5 +md5 cc30ee0ab91d6c94b7a343ae09b5dc69 nss-pam-ldapd-0.9.12.tar.gz # Locally computed: -sha256 d0d71be06d1a90940b7566ce00cef1a465aae7171d5d062785506a83411ecab6 nss-pam-ldapd-0.9.11.tar.gz +sha256 c6d661e74693cbf531a790631ca93b73f291fb23cc39465b09deb8da2bfb0e14 nss-pam-ldapd-0.9.12.tar.gz sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.mk b/package/nss-pam-ldapd/nss-pam-ldapd.mk index 223a9eeaeca..60f6328496f 100644 --- a/package/nss-pam-ldapd/nss-pam-ldapd.mk +++ b/package/nss-pam-ldapd/nss-pam-ldapd.mk @@ -4,7 +4,7 @@ # ################################################################################ -NSS_PAM_LDAPD_VERSION = 0.9.11 +NSS_PAM_LDAPD_VERSION = 0.9.12 NSS_PAM_LDAPD_SITE = http://arthurdejong.org/nss-pam-ldapd NSS_PAM_LDAPD_LICENSE = LGPL-2.1+ NSS_PAM_LDAPD_LICENSE_FILES = COPYING diff --git a/package/ntfs-3g/0001-Fixed-reporting-an-error-when-failed-to-build-the-mo.patch b/package/ntfs-3g/0001-Fixed-reporting-an-error-when-failed-to-build-the-mo.patch deleted file mode 100644 index 9ba8aae50c1..00000000000 --- a/package/ntfs-3g/0001-Fixed-reporting-an-error-when-failed-to-build-the-mo.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 85c1634a26faa572d3c558d4cf8aaaca5202d4e9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jean-Pierre=20Andr=C3=A9?= -Date: Wed, 19 Dec 2018 15:57:50 +0100 -Subject: [PATCH] Fixed reporting an error when failed to build the mountpoint - -The size check was inefficient because getcwd() uses an unsigned int -argument. - -Fixes CVE-2019-9755: An integer underflow issue exists in ntfs-3g 2017.3.23. -A local attacker could potentially exploit this by running /bin/ntfs-3g with -specially crafted arguments from a specially crafted directory to cause a -heap buffer overflow, resulting in a crash or the ability to execute -arbitrary code. In installations where /bin/ntfs-3g is a setuid-root -binary, this could lead to a local escalation of privileges. - -Signed-off-by: Peter Korsgaard ---- - src/lowntfs-3g.c | 6 +++++- - src/ntfs-3g.c | 6 +++++- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/src/lowntfs-3g.c b/src/lowntfs-3g.c -index 993867fa..0660439b 100644 ---- a/src/lowntfs-3g.c -+++ b/src/lowntfs-3g.c -@@ -4411,7 +4411,8 @@ int main(int argc, char *argv[]) - else { - ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX); - if (ctx->abs_mnt_point) { -- if (getcwd(ctx->abs_mnt_point, -+ if ((strlen(opts.mnt_point) < PATH_MAX) -+ && getcwd(ctx->abs_mnt_point, - PATH_MAX - strlen(opts.mnt_point) - 1)) { - strcat(ctx->abs_mnt_point, "/"); - strcat(ctx->abs_mnt_point, opts.mnt_point); -@@ -4419,6 +4420,9 @@ int main(int argc, char *argv[]) - /* Solaris also wants the absolute mount point */ - opts.mnt_point = ctx->abs_mnt_point; - #endif /* defined(__sun) && defined (__SVR4) */ -+ } else { -+ free(ctx->abs_mnt_point); -+ ctx->abs_mnt_point = (char*)NULL; - } - } - } -diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c -index 6ce89fef..4e0912ae 100644 ---- a/src/ntfs-3g.c -+++ b/src/ntfs-3g.c -@@ -4148,7 +4148,8 @@ int main(int argc, char *argv[]) - else { - ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX); - if (ctx->abs_mnt_point) { -- if (getcwd(ctx->abs_mnt_point, -+ if ((strlen(opts.mnt_point) < PATH_MAX) -+ && getcwd(ctx->abs_mnt_point, - PATH_MAX - strlen(opts.mnt_point) - 1)) { - strcat(ctx->abs_mnt_point, "/"); - strcat(ctx->abs_mnt_point, opts.mnt_point); -@@ -4156,6 +4157,9 @@ int main(int argc, char *argv[]) - /* Solaris also wants the absolute mount point */ - opts.mnt_point = ctx->abs_mnt_point; - #endif /* defined(__sun) && defined (__SVR4) */ -+ } else { -+ free(ctx->abs_mnt_point); -+ ctx->abs_mnt_point = (char*)NULL; - } - } - } --- -2.20.1 - diff --git a/package/ntfs-3g/ntfs-3g.hash b/package/ntfs-3g/ntfs-3g.hash index 63c999f2533..89bce735593 100644 --- a/package/ntfs-3g/ntfs-3g.hash +++ b/package/ntfs-3g/ntfs-3g.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 3e5a021d7b761261836dcb305370af299793eedbded731df3d6943802e1262d5 ntfs-3g_ntfsprogs-2017.3.23.tgz +sha256 0489fbb6972581e1b417ab578d543f6ae522e7fa648c3c9b49c789510fd5eb93 ntfs-3g_ntfsprogs-2022.5.17.tgz sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 d7bf9d064ac3e5840f9dd02422b7eeec4f1fd03f37fadbd043602be5e882304f COPYING.LIB diff --git a/package/ntfs-3g/ntfs-3g.mk b/package/ntfs-3g/ntfs-3g.mk index 1a388af761d..64800c5eeb9 100644 --- a/package/ntfs-3g/ntfs-3g.mk +++ b/package/ntfs-3g/ntfs-3g.mk @@ -4,7 +4,7 @@ # ################################################################################ -NTFS_3G_VERSION = 2017.3.23 +NTFS_3G_VERSION = 2022.5.17 NTFS_3G_SOURCE = ntfs-3g_ntfsprogs-$(NTFS_3G_VERSION).tgz NTFS_3G_SITE = http://tuxera.com/opensource NTFS_3G_CONF_OPTS = --disable-ldconfig @@ -14,9 +14,6 @@ NTFS_3G_LICENSE = GPL-2.0+, LGPL-2.0+ NTFS_3G_LICENSE_FILES = COPYING COPYING.LIB NTFS_3G_CPE_ID_VENDOR = tuxera -# 0001-Fixed-reporting-an-error-when-failed-to-build-the-mo.patch -NTFS_3G_IGNORE_CVES += CVE-2019-9755 - ifeq ($(BR2_PACKAGE_LIBFUSE),y) NTFS_3G_CONF_OPTS += --with-fuse=external NTFS_3G_DEPENDENCIES += libfuse diff --git a/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch b/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch new file mode 100644 index 00000000000..da03ad4aacc --- /dev/null +++ b/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch @@ -0,0 +1,33 @@ +From 082a504cfcc046c3d8adaae1164268bc94e5108a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 31 Jul 2021 10:51:41 -0700 +Subject: [PATCH] libntp: Do not use PTHREAD_STACK_MIN on glibc + +In glibc 2.34+ PTHREAD_STACK_MIN is not a compile-time constant which +could mean different stack sizes at runtime on different architectures +and it also causes compile failure. Default glibc thread stack size +or 64Kb set by ntp should be good in glibc these days. + +Signed-off-by: Khem Raj +[Copied from https://github.com/openembedded/meta-openembedded/blob/master/meta-networking/recipes-support/ntp/ntp/0001-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch] +Signed-off-by: Alexey Brodkin +--- + libntp/work_thread.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libntp/work_thread.c b/libntp/work_thread.c +index 03a5647..3ddd751 100644 +--- a/libntp/work_thread.c ++++ b/libntp/work_thread.c +@@ -41,7 +41,7 @@ + #ifndef THREAD_MINSTACKSIZE + # define THREAD_MINSTACKSIZE (64U * 1024) + #endif +-#ifndef __sun ++#if !defined(__sun) && !defined(__GLIBC__) + #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN + # undef THREAD_MINSTACKSIZE + # define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN +-- +2.32.0 + diff --git a/package/ntp/S49ntp b/package/ntp/S49ntp deleted file mode 100644 index 66c5f70a5f1..00000000000 --- a/package/ntp/S49ntp +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# -# Starts Network Time Protocol daemon -# - -DAEMON="ntpd" -PIDFILE="/var/run/$DAEMON.pid" - -NTPD_ARGS="-g" - -# shellcheck source=/dev/null -[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" - -start() { - printf 'Starting %s: ' "$DAEMON" - # shellcheck disable=SC2086 # we need the word splitting - start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ - -- $NTPD_ARGS -p "$PIDFILE" - status=$? - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - return "$status" -} - -stop() { - printf 'Stopping %s: ' "$DAEMON" - start-stop-daemon -K -q -p "$PIDFILE" - status=$? - if [ "$status" -eq 0 ]; then - rm -f "$PIDFILE" - echo "OK" - else - echo "FAIL" - fi - return "$status" -} - -restart() { - stop - sleep 1 - start -} - -case "$1" in - start|stop|restart) - "$1";; - reload) - # Restart, since there is no true "reload" feature. - restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac diff --git a/package/ntp/S49ntp.in b/package/ntp/S49ntp.in new file mode 100644 index 00000000000..11c03b888f9 --- /dev/null +++ b/package/ntp/S49ntp.in @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Starts Network Time Protocol daemon +# + +DAEMON="ntpd" +PIDFILE="/var/run/$DAEMON.pid" + +NTPD_ARGS="@NTPD_EXTRA_ARGS@ -g" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $NTPD_ARGS -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index 0dc75a7a6d2..96b099d5b18 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -15,6 +15,7 @@ NTP_LICENSE_FILES = COPYRIGHT NTP_CPE_ID_VENDOR = ntp NTP_CPE_ID_VERSION = $(NTP_VERSION_MAJOR).$(NTP_VERSION_MINOR) NTP_CPE_ID_UPDATE = p$(NTP_VERSION_POINT) +NTP_SELINUX_MODULES = ntp NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no POSIX_SHELL=/bin/sh NTP_CONF_OPTS = \ --with-shared \ @@ -43,6 +44,10 @@ endif ifeq ($(BR2_PACKAGE_LIBCAP),y) NTP_CONF_OPTS += --enable-linuxcaps NTP_DEPENDENCIES += libcap +define NTP_USERS + ntp -1 ntp -1 * - - - ntpd user +endef +NTP_DAEMON_EXTRA_ARGS = -u ntp:ntp else NTP_CONF_OPTS += --disable-linuxcaps endif @@ -108,11 +113,18 @@ endif ifeq ($(BR2_PACKAGE_NTP_NTPD),y) define NTP_INSTALL_INIT_SYSV_NTPD - $(INSTALL) -D -m 755 package/ntp/S49ntp $(TARGET_DIR)/etc/init.d/S49ntp + mkdir -p $(TARGET_DIR)/etc/init.d + sed -e 's%@NTPD_EXTRA_ARGS@%$(NTP_DAEMON_EXTRA_ARGS)%g' \ + package/ntp/S49ntp.in \ + > $(TARGET_DIR)/etc/init.d/S49ntp + chmod 0755 $(TARGET_DIR)/etc/init.d/S49ntp endef define NTP_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 package/ntp/ntpd.service $(TARGET_DIR)/usr/lib/systemd/system/ntpd.service + mkdir -p $(TARGET_DIR)/usr/lib/systemd/system + sed -e 's%@NTPD_EXTRA_ARGS@%$(NTP_DAEMON_EXTRA_ARGS)%g' \ + package/ntp/ntpd.service.in \ + > $(TARGET_DIR)/usr/lib/systemd/system/ntpd.service endef endif diff --git a/package/ntp/ntpd.service b/package/ntp/ntpd.service deleted file mode 100644 index 7964c5389b4..00000000000 --- a/package/ntp/ntpd.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Network Time Service -After=network.target - -[Service] -Type=forking -PIDFile=/run/ntpd.pid -ExecStart=/usr/sbin/ntpd -g -p /run/ntpd.pid - -[Install] -WantedBy=multi-user.target diff --git a/package/ntp/ntpd.service.in b/package/ntp/ntpd.service.in new file mode 100644 index 00000000000..b7db4a28787 --- /dev/null +++ b/package/ntp/ntpd.service.in @@ -0,0 +1,15 @@ +[Unit] +Description=Network Time Service +After=network.target + +[Service] +Type=forking +PIDFile=/run/ntpd.pid +# Turn off DNSSEC validation for hostname look-ups, since those need the +# correct time to work, but we likely won't acquire that without NTP. Let's +# break this chicken-and-egg cycle here. +Environment=SYSTEMD_NSS_RESOLVE_VALIDATE=0 +ExecStart=/usr/sbin/ntpd @NTPD_EXTRA_ARGS@ -g -p /run/ntpd.pid + +[Install] +WantedBy=multi-user.target diff --git a/package/numactl/0001-Do-not-stringify-SYMVER-symbols.patch b/package/numactl/0001-Do-not-stringify-SYMVER-symbols.patch new file mode 100644 index 00000000000..c6981aaf732 --- /dev/null +++ b/package/numactl/0001-Do-not-stringify-SYMVER-symbols.patch @@ -0,0 +1,25 @@ +From f96c96af7fbf2779b15f66f03b10315a24fb4f5a Mon Sep 17 00:00:00 2001 +From: Scott McMillan +Date: Fri, 9 Oct 2020 08:56:52 -0500 +Subject: [PATCH] Do not stringify SYMVER symbols + +Upstream: f96c96af7fbf2779b15f66f03b10315a24fb4f5a +Signed-off-by: Thomas Petazzoni +--- + util.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.h b/util.h +index 99ada33..f2a20ac 100644 +--- a/util.h ++++ b/util.h +@@ -22,5 +22,5 @@ extern char *policy_name(int policy); + #if HAVE_ATTRIBUTE_SYMVER + #define SYMVER(a,b) __attribute__ ((symver (b))) + #else +-#define SYMVER(a,b) __asm__ (".symver " #a "," #b); ++#define SYMVER(a,b) __asm__ (".symver " a "," b); + #endif +-- +2.30.2 + diff --git a/package/numactl/0002-link-with-latomic-if-needed.patch b/package/numactl/0002-link-with-latomic-if-needed.patch new file mode 100644 index 00000000000..6dff0cb233f --- /dev/null +++ b/package/numactl/0002-link-with-latomic-if-needed.patch @@ -0,0 +1,52 @@ +From e0de0d9e981ddb53bdeb4a4b9dc43046c9ff4ff9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 6 May 2021 23:08:36 +0200 +Subject: [PATCH] link with -latomic if needed + +numactl unconditionally uses __atomic_fetch_and but some architectures +(e.g. sparc) needs to link with -latomic to be able to use it. So check +if -latomic is needed and update numa.pc accordingly + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/numactl/numactl/commit/e0de0d9e981ddb53bdeb4a4b9dc43046c9ff4ff9] +--- + Makefile.am | 1 + + configure.ac | 2 ++ + numa.pc.in | 1 + + 3 files changed, 4 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index 44d0d76..34f6815 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -151,6 +151,7 @@ SED_PROCESS = \ + -e 's,@exec_prefix\@,$(exec_prefix),g' \ + -e 's,@libdir\@,$(libdir),g' \ + -e 's,@includedir\@,$(includedir),g' \ ++ -e 's,@LIBS\@,$(LIBS),g' \ + < $< > $@ || rm $@ + + %.pc: %.pc.in Makefile +diff --git a/configure.ac b/configure.ac +index 659a765..e3b0eb3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -24,6 +24,8 @@ AM_CONDITIONAL([HAVE_TREE_VECTORIZE], [test x"${tree_vectorize}" = x"true"]) + + AC_CONFIG_FILES([Makefile]) + ++AC_SEARCH_LIBS([__atomic_fetch_and_1], [atomic]) ++ + # GCC tries to be "helpful" and only issue a warning for unrecognized + # attributes. So we compile the test with Werror, so that if the + # attribute is not recognized the compilation fails +diff --git a/numa.pc.in b/numa.pc.in +index 8a0f202..cc04d50 100644 +--- a/numa.pc.in ++++ b/numa.pc.in +@@ -8,3 +8,4 @@ Description: NUMA policy library + Version: @VERSION@ + Cflags: -I${includedir} + Libs: -L${libdir} -lnuma ++Libs.Private: @LIBS@ diff --git a/package/numactl/Config.in b/package/numactl/Config.in index cd47f2f9a96..325a05d6093 100644 --- a/package/numactl/Config.in +++ b/package/numactl/Config.in @@ -1,15 +1,7 @@ -config BR2_PACKAGE_NUMACTL_ARCH_SUPPORTS - bool - # numactl uses some system calls that are not available on all - # architectures. - default y if BR2_aarch64 - default y if BR2_i386 || BR2_x86_64 - default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - default y if BR2_powerpc - config BR2_PACKAGE_NUMACTL bool "numactl" - depends on BR2_PACKAGE_NUMACTL_ARCH_SUPPORTS + depends on BR2_USE_MMU # madvise() + depends on BR2_TOOLCHAIN_HAS_ATOMIC help numactl allows you to run your application on specific cpus and memory nodes. It does this by supplying a NUMA memory diff --git a/package/nut/0001-Allow-to-customize-path-to-gdlib-config-and-net-snmp.patch b/package/nut/0001-Allow-to-customize-path-to-gdlib-config-and-net-snmp.patch deleted file mode 100644 index 308dbb1aa27..00000000000 --- a/package/nut/0001-Allow-to-customize-path-to-gdlib-config-and-net-snmp.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 086b5fa8fe4ba74404e92b5f838263dfcf9f173d Mon Sep 17 00:00:00 2001 -From: Jim Klimov -Date: Thu, 7 Apr 2016 03:56:51 +0200 -Subject: [PATCH] Allow to customize path to gdlib-config and net-snmp-config - programs - -[yann.morin.1998@free.fr: backport] -Signed-off-by: "Yann E. MORIN" - ---- -Backported from upstream commit 086b5fa8fe4ba74404e92b5f838263dfcf9f173d ---- - docs/configure.txt | 14 ++++++++++++++ - m4/nut_check_libgd.m4 | 29 +++++++++++++++++++++++------ - m4/nut_check_libnetsnmp.m4 | 25 +++++++++++++++++++++---- - 3 files changed, 58 insertions(+), 10 deletions(-) - -diff --git a/docs/configure.txt b/docs/configure.txt -index aff82c1..b3b542a 100644 ---- a/docs/configure.txt -+++ b/docs/configure.txt -@@ -23,6 +23,13 @@ Note that you need to install the libusb development package or files. - Build and install the SNMP drivers (default: auto-detect) - Note that you need to install libsnmp development package or files. - -+ --with-net-snmp-config -+ -+In addition to the `--with-snmp` option above, this one allows to provide -+a custom program name (in `PATH`) or complete pathname to `net-snmp-config`. -+This may be needed on build systems which support multiple architectures, -+or in cases where your distribution names this program differently. -+ - --with-neon - - Build and install the XML drivers (default: auto-detect) -@@ -335,6 +342,13 @@ NOTE: the --with-gd switches are not necessary if you have gd 2.0.8 - or higher installed properly. The gdlib-config script will be - detected and used by default in that situation. - -+ --with-gdlib-config -+ -+This option allows to provide a custom program name (in `PATH`) or -+a complete pathname to `gdlib-config`. This may be needed on build -+systems which support multiple architectures, or in cases where your -+distribution names this program differently. -+ - --with-ssl-includes, --with-usb-includes, --with-snmp-includes, - --with-neon-includes, --with-libltdl-includes, - --with-powerman-includes="-I/foo/bar" -diff --git a/m4/nut_check_libgd.m4 b/m4/nut_check_libgd.m4 -index 01cc882..73f4da7 100644 ---- a/m4/nut_check_libgd.m4 -+++ b/m4/nut_check_libgd.m4 -@@ -19,8 +19,25 @@ if test -z "${nut_have_libgd_seen}"; then - LDFLAGS="-L/usr/X11R6/lib" - LIBS="-lgd -lpng -lz -ljpeg -lfreetype -lm -lXpm -lX11" - -- AC_MSG_CHECKING(for gd version via gdlib-config) -- GD_VERSION=`gdlib-config --version 2>/dev/null` -+ dnl By default seek in PATH -+ GDLIB_CONFIG=gdlib-config -+ AC_ARG_WITH(gdlib-config, -+ AS_HELP_STRING([@<:@--with-gdlib-config=/path/to/gdlib-config@:>@], -+ [path to program that reports GDLIB configuration]), -+ [ -+ case "${withval}" in -+ "") ;; -+ yes|no) -+ AC_MSG_ERROR(invalid option --with(out)-gdlib-config - see docs/configure.txt) -+ ;; -+ *) -+ GDLIB_CONFIG="${withval}" -+ ;; -+ esac -+ ]) -+ -+ AC_MSG_CHECKING(for gd version via ${GDLIB_CONFIG}) -+ GD_VERSION=`${GDLIB_CONFIG} --version 2>/dev/null` - if test "$?" != "0" -o -z "${GD_VERSION}"; then - GD_VERSION="none" - fi -@@ -30,13 +47,13 @@ if test -z "${nut_have_libgd_seen}"; then - none) - ;; - 2.0.5 | 2.0.6 | 2.0.7) -- AC_MSG_WARN([[gd ${GD_VERSION} detected, unable to use gdlib-config script]]) -+ AC_MSG_WARN([[gd ${GD_VERSION} detected, unable to use ${GDLIB_CONFIG} script]]) - AC_MSG_WARN([[If gd detection fails, upgrade gd or use --with-gd-includes and --with-gd-libs]]) - ;; - *) -- CFLAGS="`gdlib-config --includes 2>/dev/null`" -- LDFLAGS="`gdlib-config --ldflags 2>/dev/null`" -- LIBS="`gdlib-config --libs 2>/dev/null`" -+ CFLAGS="`${GDLIB_CONFIG} --includes 2>/dev/null`" -+ LDFLAGS="`${GDLIB_CONFIG} --ldflags 2>/dev/null`" -+ LIBS="`${GDLIB_CONFIG} --libs 2>/dev/null`" - ;; - esac - -diff --git a/m4/nut_check_libnetsnmp.m4 b/m4/nut_check_libnetsnmp.m4 -index e1c1426..83b2633 100644 ---- a/m4/nut_check_libnetsnmp.m4 -+++ b/m4/nut_check_libnetsnmp.m4 -@@ -13,9 +13,26 @@ if test -z "${nut_have_libnetsnmp_seen}"; then - CFLAGS_ORIG="${CFLAGS}" - LIBS_ORIG="${LIBS}" - -+ dnl By default seek in PATH -+ NET_SNMP_CONFIG=net-snmp-config -+ AC_ARG_WITH(net-snmp-config, -+ AS_HELP_STRING([@<:@--with-net-snmp-config=/path/to/net-snmp-config@:>@], -+ [path to program that reports Net-SNMP configuration]), -+ [ -+ case "${withval}" in -+ "") ;; -+ yes|no) -+ AC_MSG_ERROR(invalid option --with(out)-net-snmp-config - see docs/configure.txt) -+ ;; -+ *) -+ NET_SNMP_CONFIG="${withval}" -+ ;; -+ esac -+ ]) -+ - dnl See which version of the Net-SNMP library (if any) is installed -- AC_MSG_CHECKING(for Net-SNMP version via net-snmp-config) -- SNMP_VERSION=`net-snmp-config --version 2>/dev/null` -+ AC_MSG_CHECKING(for Net-SNMP version via ${NET_SNMP_CONFIG}) -+ SNMP_VERSION=`${NET_SNMP_CONFIG} --version 2>/dev/null` - if test "$?" != "0" -o -z "${SNMP_VERSION}"; then - SNMP_VERSION="none" - fi -@@ -33,7 +50,7 @@ if test -z "${nut_have_libnetsnmp_seen}"; then - CFLAGS="${withval}" - ;; - esac -- ], [CFLAGS="`net-snmp-config --base-cflags 2>/dev/null`"]) -+ ], [CFLAGS="`${NET_SNMP_CONFIG} --base-cflags 2>/dev/null`"]) - AC_MSG_RESULT([${CFLAGS}]) - - AC_MSG_CHECKING(for Net-SNMP libs) -@@ -48,7 +65,7 @@ if test -z "${nut_have_libnetsnmp_seen}"; then - LIBS="${withval}" - ;; - esac -- ], [LIBS="`net-snmp-config --libs 2>/dev/null`"]) -+ ], [LIBS="`${NET_SNMP_CONFIG} --libs 2>/dev/null`"]) - AC_MSG_RESULT([${LIBS}]) - - dnl Check if the Net-SNMP library is usable --- -2.7.4 - diff --git a/package/nut/0002-client-ups-add-missing-include.patch b/package/nut/0002-client-ups-add-missing-include.patch deleted file mode 100644 index 63fdcdcbb40..00000000000 --- a/package/nut/0002-client-ups-add-missing-include.patch +++ /dev/null @@ -1,29 +0,0 @@ -From da0969b26ad4bb839bcb88362c8f41aaf0eb8363 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 11 Oct 2016 12:05:36 +0200 -Subject: [PATCH] client/ups: add missing include - -struct timeval is declared in sys/time.h, so we need to #include it. - -Signed-off-by: "Yann E. MORIN" ---- -Backported from upstream commit da0969b26ad4bb839bcb88362c8f41aaf0eb8363 ---- - clients/upsclient.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/clients/upsclient.c b/clients/upsclient.c -index 43c0e79..dfadd0d 100644 ---- a/clients/upsclient.c -+++ b/clients/upsclient.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - #include "upsclient.h" - #include "common.h" --- -2.7.4 - diff --git a/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch b/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch deleted file mode 100644 index 5a0031acd81..00000000000 --- a/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch +++ /dev/null @@ -1,76 +0,0 @@ -From fcbf18c92918ce5e81d0aab62a7aed5c2245ea4d Mon Sep 17 00:00:00 2001 -From: Eneas U de Queiroz -Date: Fri, 1 Jun 2018 11:17:28 -0300 -Subject: [PATCH] Add compatibility with openssl 1.1.0 - -Minor adjustments were needed: -* Openssl 1.1 libs do not need to be initialized. -* TLSv*_method became TLS_*_method. - -Signed-off-by: Eneas U de Queiroz -Upstream: https://github.com/networkupstools/nut/pull/558/ -[added check for libressl] -Signed-off-by: Patrick Havelange ---- - clients/upsclient.c | 5 ++++- - m4/nut_check_libopenssl.m4 | 2 +- - server/netssl.c | 7 +++++-- - 3 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/clients/upsclient.c b/clients/upsclient.c -index b90587b0..053d60fb 100644 ---- a/clients/upsclient.c -+++ b/clients/upsclient.c -@@ -316,10 +316,13 @@ int upscli_init(int certverify, const char *certpath, - - #ifdef WITH_OPENSSLdefined(LIBRESSL_VERSION_NUMBER) - -+# if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - SSL_library_init(); - SSL_load_error_strings(); -+# define TLS_client_method TLSv1_client_method -+# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ - -- ssl_method = TLSv1_client_method(); -+ ssl_method = TLS_client_method(); - - if (!ssl_method) { - return 0; -diff --git a/m4/nut_check_libopenssl.m4 b/m4/nut_check_libopenssl.m4 -index 1b875077..7eb401cd 100644 ---- a/m4/nut_check_libopenssl.m4 -+++ b/m4/nut_check_libopenssl.m4 -@@ -58,7 +58,7 @@ if test -z "${nut_have_libopenssl_seen}"; then - - dnl check if openssl is usable - AC_CHECK_HEADERS(openssl/ssl.h, [nut_have_openssl=yes], [nut_have_openssl=no], [AC_INCLUDES_DEFAULT]) -- AC_CHECK_FUNCS(SSL_library_init, [], [nut_have_openssl=no]) -+ AC_CHECK_FUNCS(SSL_CTX_new, [], [nut_have_openssl=no]) - - if test "${nut_have_openssl}" = "yes"; then - nut_with_ssl="yes" -diff --git a/server/netssl.c b/server/netssl.c -index c2f40989..0289e296 100644 ---- a/server/netssl.c -+++ b/server/netssl.c -@@ -387,12 +387,15 @@ void ssl_init(void) - - #ifdef WITH_OPENSSL - -+# if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - SSL_load_error_strings(); - SSL_library_init(); -+# define TLS_server_method TLSv1_server_method -+# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ - -- if ((ssl_method = TLSv1_server_method()) == NULL) { -+ if ((ssl_method = TLS_server_method()) == NULL) { - ssl_debug(); -- fatalx(EXIT_FAILURE, "TLSv1_server_method failed"); -+ fatalx(EXIT_FAILURE, "TLS_server_method failed"); - } - - if ((ssl_ctx = SSL_CTX_new(ssl_method)) == NULL) { --- -2.16.1 - diff --git a/package/nut/0004-nut_check_libgd.m4-try-to-find-gd-through-pkg-config.patch b/package/nut/0004-nut_check_libgd.m4-try-to-find-gd-through-pkg-config.patch deleted file mode 100644 index 3c4a88b47bf..00000000000 --- a/package/nut/0004-nut_check_libgd.m4-try-to-find-gd-through-pkg-config.patch +++ /dev/null @@ -1,120 +0,0 @@ -From cb507c44d26d8ae04a0cc3d1c24e79e3bf33ba23 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 29 Jul 2020 22:51:54 +0200 -Subject: [PATCH] nut_check_libgd.m4: try to find gd through pkg-config - -gdlib-config has been dropped from version 2.3.0 with -https://github.com/libgd/libgd/commit/d62f608c7c4a814c70d4ba777725e3e62d9e2cde - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/networkupstools/nut/commit/cb507c44d26d8ae04a0cc3d1c24e79e3bf33ba23] ---- - m4/nut_check_libgd.m4 | 88 ++++++++++++++++++++++++------------------- - 1 file changed, 50 insertions(+), 38 deletions(-) - -diff --git a/m4/nut_check_libgd.m4 b/m4/nut_check_libgd.m4 -index 73f4da76d..c4e96761c 100644 ---- a/m4/nut_check_libgd.m4 -+++ b/m4/nut_check_libgd.m4 -@@ -12,50 +12,62 @@ if test -z "${nut_have_libgd_seen}"; then - LDFLAGS_ORIG="${LDFLAGS}" - LIBS_ORIG="${LIBS}" - -- dnl Initial defaults. These are only used if gdlib-config is -- dnl unusable and the user fails to pass better values in --with -- dnl arguments -- CFLAGS="" -- LDFLAGS="-L/usr/X11R6/lib" -- LIBS="-lgd -lpng -lz -ljpeg -lfreetype -lm -lXpm -lX11" -+ AC_MSG_CHECKING(for gd version via pkg-config) -+ GD_VERSION="`pkg-config --silence-errors --modversion gdlib 2>/dev/null`" -+ if test "$?" = "0" -a -n "${GD_VERSION}"; then -+ CFLAGS="`pkg-config --silence-errors --cflags gdlib 2>/dev/null`" -+ LIBS="`pkg-config --silence-errors --libs gdlib 2>/dev/null`" -+ else -+ GD_VERSION="none" -+ fi -+ AC_MSG_RESULT(${GD_VERSION} found) - -- dnl By default seek in PATH -- GDLIB_CONFIG=gdlib-config -- AC_ARG_WITH(gdlib-config, -- AS_HELP_STRING([@<:@--with-gdlib-config=/path/to/gdlib-config@:>@], -- [path to program that reports GDLIB configuration]), -- [ -- case "${withval}" in -- "") ;; -- yes|no) -- AC_MSG_ERROR(invalid option --with(out)-gdlib-config - see docs/configure.txt) -+ if test "${GD_VERSION}" = "none"; then -+ dnl Initial defaults. These are only used if gdlib-config is -+ dnl unusable and the user fails to pass better values in --with -+ dnl arguments -+ CFLAGS="" -+ LDFLAGS="-L/usr/X11R6/lib" -+ LIBS="-lgd -lpng -lz -ljpeg -lfreetype -lm -lXpm -lX11" -+ -+ dnl By default seek in PATH -+ GDLIB_CONFIG=gdlib-config -+ AC_ARG_WITH(gdlib-config, -+ AS_HELP_STRING([@<:@--with-gdlib-config=/path/to/gdlib-config@:>@], -+ [path to program that reports GDLIB configuration]), -+ [ -+ case "${withval}" in -+ "") ;; -+ yes|no) -+ AC_MSG_ERROR(invalid option --with(out)-gdlib-config - see docs/configure.txt) -+ ;; -+ *) -+ GDLIB_CONFIG="${withval}" -+ ;; -+ esac -+ ]) -+ -+ AC_MSG_CHECKING(for gd version via ${GDLIB_CONFIG}) -+ GD_VERSION=`${GDLIB_CONFIG} --version 2>/dev/null` -+ if test "$?" != "0" -o -z "${GD_VERSION}"; then -+ GD_VERSION="none" -+ fi -+ AC_MSG_RESULT(${GD_VERSION} found) -+ -+ case "${GD_VERSION}" in -+ none) -+ ;; -+ 2.0.5 | 2.0.6 | 2.0.7) -+ AC_MSG_WARN([[gd ${GD_VERSION} detected, unable to use ${GDLIB_CONFIG} script]]) -+ AC_MSG_WARN([[If gd detection fails, upgrade gd or use --with-gd-includes and --with-gd-libs]]) - ;; - *) -- GDLIB_CONFIG="${withval}" -+ CFLAGS="`${GDLIB_CONFIG} --includes 2>/dev/null`" -+ LDFLAGS="`${GDLIB_CONFIG} --ldflags 2>/dev/null`" -+ LIBS="`${GDLIB_CONFIG} --libs 2>/dev/null`" - ;; - esac -- ]) -- -- AC_MSG_CHECKING(for gd version via ${GDLIB_CONFIG}) -- GD_VERSION=`${GDLIB_CONFIG} --version 2>/dev/null` -- if test "$?" != "0" -o -z "${GD_VERSION}"; then -- GD_VERSION="none" - fi -- AC_MSG_RESULT(${GD_VERSION} found) -- -- case "${GD_VERSION}" in -- none) -- ;; -- 2.0.5 | 2.0.6 | 2.0.7) -- AC_MSG_WARN([[gd ${GD_VERSION} detected, unable to use ${GDLIB_CONFIG} script]]) -- AC_MSG_WARN([[If gd detection fails, upgrade gd or use --with-gd-includes and --with-gd-libs]]) -- ;; -- *) -- CFLAGS="`${GDLIB_CONFIG} --includes 2>/dev/null`" -- LDFLAGS="`${GDLIB_CONFIG} --ldflags 2>/dev/null`" -- LIBS="`${GDLIB_CONFIG} --libs 2>/dev/null`" -- ;; -- esac - - dnl Now allow overriding gd settings if the user knows best - AC_MSG_CHECKING(for gd include flags) diff --git a/package/nut/nut.hash b/package/nut/nut.hash index 0a677bc0589..a4e84244b58 100644 --- a/package/nut/nut.hash +++ b/package/nut/nut.hash @@ -1,6 +1,5 @@ -# From http://www.networkupstools.org/source/2.7/nut-2.7.2.tar.gz.sha256 -sha256 980e82918c52d364605c0703a5dcf01f74ad2ef06e3d365949e43b7d406d25a7 nut-2.7.4.tar.gz # Locally computed +sha256 7129b2df45f9a9df3943f4d09f2b95b5a63d66ca4913431352570206968ca97b nut-03c3bbe8df9a2caf3c09c120ae7045d35af99b76.tar.gz sha256 9f562d0e6be5108a06684dd249686d378abe1653df14b1944e971e084f6751f0 COPYING sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE-GPL2 sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 LICENSE-GPL3 diff --git a/package/nut/nut.mk b/package/nut/nut.mk index ad575310f55..cd31cd886a3 100644 --- a/package/nut/nut.mk +++ b/package/nut/nut.mk @@ -4,17 +4,26 @@ # ################################################################################ -NUT_VERSION_MAJOR = 2.7 -NUT_VERSION = $(NUT_VERSION_MAJOR).4 -NUT_SITE = http://www.networkupstools.org/source/$(NUT_VERSION_MAJOR) +NUT_VERSION = 03c3bbe8df9a2caf3c09c120ae7045d35af99b76 +NUT_SITE = $(call github,networkupstools,nut,$(NUT_VERSION)) NUT_LICENSE = GPL-2.0+, GPL-3.0+ (python scripts), GPL/Artistic (perl client) NUT_LICENSE_FILES = COPYING LICENSE-GPL2 LICENSE-GPL3 +NUT_SELINUX_MODULES = apache nut NUT_INSTALL_STAGING = YES -NUT_DEPENDENCIES = host-pkgconf +NUT_DEPENDENCIES = host-pkgconf host-perl -# Our patch changes m4 macros, so we need to autoreconf +# From git: NUT_AUTORECONF = YES +# Generate files otherwise generated by autogen.sh +# buildroot does not support augeas, creating an empty file prevents +# us from adding a dependency to host-python +define NUT_PREGEN + touch $(@D)/scripts/augeas/nutupsconf.aug.in + cd $(@D)/tools && PATH=$(BR_PATH) ./nut-usbinfo.pl +endef +NUT_PRE_CONFIGURE_HOOKS += NUT_PREGEN + # Race condition in tools generation NUT_MAKE = $(MAKE1) @@ -22,8 +31,9 @@ NUT_MAKE = $(MAKE1) # since the default location (/var/state/ups) maybe readonly. NUT_CONF_OPTS = \ --with-altpidpath=/var/run/upsd \ - --with-dev \ - --without-hal + --with-dev + +NUT_CONF_ENV = ax_cv__printf_string_null=yes # For uClibc-based toolchains, nut forgets to link with -lm ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) @@ -51,7 +61,7 @@ else NUT_CONF_OPTS += --without-cgi endif -# nut-scanner needs libltdl, which is a wrapper arounf dlopen/dlsym, +# nut-scanner needs libltdl, which is a wrapper around dlopen/dlsym, # so is not available for static-only builds. # There is no flag to directly enable/disable nut-scanner, it's done # via the --enable/disable-libltdl flag. diff --git a/package/nvidia-driver/Config.in b/package/nvidia-driver/Config.in index 9631b3e70c4..a8617a939b5 100644 --- a/package/nvidia-driver/Config.in +++ b/package/nvidia-driver/Config.in @@ -75,7 +75,7 @@ config BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS endif # BR2_PACKAGE_NVIDIA_DRIVER_CUDA -comment "nvidia kernel module needs a kernel to be built" +comment "nvidia kernel module needs a Linux kernel to be built" depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_NVIDIA_DRIVER_MODULE diff --git a/package/nvidia-driver/nvidia-driver.hash b/package/nvidia-driver/nvidia-driver.hash index 79ac052610d..7f2248d0f9d 100644 --- a/package/nvidia-driver/nvidia-driver.hash +++ b/package/nvidia-driver/nvidia-driver.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 6f4af70ee3d03ed31c497a5d555164c56057b53ecedfc0d2c8de4b0b90728805 NVIDIA-Linux-x86-390.67.run -sha256 6df2ca1a7420b6751bcaf257d321b14f4e5f7ca54d77a43514912a3792ece65a NVIDIA-Linux-x86_64-390.67.run +sha256 51adb28f0ed4548f35a88a93ad6767ebd807fa14f418bf5e51a6d63a3ff7f275 NVIDIA-Linux-x86-390.132.run +sha256 b6b4b8af37e78e026c9ebdf4a5c64ea412dfcb710931dd028c22dac228de659d NVIDIA-Linux-x86_64-390.132-no-compat32.run sha256 bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526 LICENSE diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk index 44e34cb7b46..54c2aa46d81 100644 --- a/package/nvidia-driver/nvidia-driver.mk +++ b/package/nvidia-driver/nvidia-driver.mk @@ -4,10 +4,10 @@ # ################################################################################ -NVIDIA_DRIVER_VERSION = 390.67 +NVIDIA_DRIVER_VERSION = 390.132 NVIDIA_DRIVER_SUFFIX = $(if $(BR2_x86_64),_64) NVIDIA_DRIVER_SITE = http://download.nvidia.com/XFree86/Linux-x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION) -NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-x86$(NVIDIA_DRIVER_SUFFIX)-$(NVIDIA_DRIVER_VERSION).run +NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-x86$(NVIDIA_DRIVER_SUFFIX)-$(NVIDIA_DRIVER_VERSION)$(if $(BR2_x86_64),-no-compat32).run NVIDIA_DRIVER_LICENSE = NVIDIA Software License NVIDIA_DRIVER_LICENSE_FILES = LICENSE NVIDIA_DRIVER_REDISTRIBUTE = NO @@ -62,7 +62,7 @@ NVIDIA_DRIVER_LIBS_MISC = \ libnvidia-glcore.so.$(NVIDIA_DRIVER_VERSION) \ libnvidia-glsi.so.$(NVIDIA_DRIVER_VERSION) \ tls/libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \ - libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ + libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION):vdpau/ \ libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS += \ @@ -92,10 +92,15 @@ NVIDIA_DRIVER_LIBS += \ endif # We refer to the destination path; the origin file has no directory component -NVIDIA_DRIVER_X_MODS = \ - drivers/nvidia_drv.so \ - extensions/libglx.so.$(NVIDIA_DRIVER_VERSION) \ - libnvidia-wfb.so.$(NVIDIA_DRIVER_VERSION) +NVIDIA_DRIVER_LIBS += \ + nvidia_drv.so:xorg/modules/drivers/ \ + libglx.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensions/ + +# libglx needs a symlink according to the driver README. It has no SONAME +define NVIDIA_DRIVER_SYMLINK_LIBGLX + ln -sf libglx.so.$(NVIDIA_DRIVER_VERSION) \ + $(TARGET_DIR)/usr/lib/xorg/modules/extensions/libglx.so +endef endif # X drivers @@ -154,24 +159,31 @@ define NVIDIA_DRIVER_EXTRACT_CMDS endef # Helper to install libraries -# $1: destination directory (target or staging) +# $1: library name +# $2: target directory # # For all libraries, we install them and create a symlink using # their SONAME, so we can link to them at runtime; we also create # the no-version symlink, so we can link to them at build time. +define NVIDIA_DRIVER_INSTALL_LIB + $(INSTALL) -D -m 0644 $(@D)/$(1) $(2)$(notdir $(1)) + libsoname="$$( $(TARGET_READELF) -d "$(@D)/$(1)" \ + |sed -r -e '/.*\(SONAME\).*\[(.*)\]$$/!d; s//\1/;' )"; \ + if [ -n "$${libsoname}" -a "$${libsoname}" != "$(notdir $(1))" ]; then \ + ln -sf $(notdir $(1)) $(2)$${libsoname}; \ + fi + baseso=$(firstword $(subst .,$(space),$(notdir $(1)))).so; \ + if [ -n "$${baseso}" -a "$${baseso}" != "$(notdir $(1))" ]; then \ + ln -sf $(notdir $(1)) $(2)$${baseso}; \ + fi +endef + +# Helper to install libraries +# $1: destination directory (target or staging) define NVIDIA_DRIVER_INSTALL_LIBS - $(foreach lib,$(NVIDIA_DRIVER_LIBS),\ - $(INSTALL) -D -m 0644 $(@D)/$(lib) $(1)/usr/lib/$(notdir $(lib)) - libsoname="$$( $(TARGET_READELF) -d "$(@D)/$(lib)" \ - |sed -r -e '/.*\(SONAME\).*\[(.*)\]$$/!d; s//\1/;' )"; \ - if [ -n "$${libsoname}" -a "$${libsoname}" != "$(notdir $(lib))" ]; then \ - ln -sf $(notdir $(lib)) \ - $(1)/usr/lib/$${libsoname}; \ - fi - baseso=$(firstword $(subst .,$(space),$(notdir $(lib)))).so; \ - if [ -n "$${baseso}" -a "$${baseso}" != "$(notdir $(lib))" ]; then \ - ln -sf $(notdir $(lib)) $(1)/usr/lib/$${baseso}; \ - fi + $(foreach lib,$(NVIDIA_DRIVER_LIBS), + $(call NVIDIA_DRIVER_INSTALL_LIB,$(word 1,$(subst :, ,$(lib))), \ + $(1)/usr/lib/$(word 2,$(subst :, ,$(lib)))) ) endef @@ -184,15 +196,16 @@ endef # For target, install libraries and X.org modules define NVIDIA_DRIVER_INSTALL_TARGET_CMDS $(call NVIDIA_DRIVER_INSTALL_LIBS,$(TARGET_DIR)) - $(foreach m,$(NVIDIA_DRIVER_X_MODS), \ - $(INSTALL) -D -m 0644 $(@D)/$(notdir $(m)) \ - $(TARGET_DIR)/usr/lib/xorg/modules/$(m) - ) $(foreach p,$(NVIDIA_DRIVER_PROGS), \ $(INSTALL) -D -m 0755 $(@D)/$(p) \ $(TARGET_DIR)/usr/bin/$(p) ) + $(NVIDIA_DRIVER_SYMLINK_LIBGLX) $(NVIDIA_DRIVER_INSTALL_KERNEL_MODULE) endef +# Due to a conflict with xserver_xorg-server, this needs to be performed when +# finalizing the target filesystem to make sure this version is used. +NVIDIA_DRIVER_TARGET_FINALIZE_HOOKS += NVIDIA_DRIVER_SYMLINK_LIBGLX + $(eval $(generic-package)) diff --git a/package/odb/0012-Adjust-to-changes-in-GCC-11.patch b/package/odb/0012-Adjust-to-changes-in-GCC-11.patch new file mode 100644 index 00000000000..2959a71dea2 --- /dev/null +++ b/package/odb/0012-Adjust-to-changes-in-GCC-11.patch @@ -0,0 +1,50 @@ +From 5a5656920c6b49902ae0da6a0da84efe6e5a66f0 Mon Sep 17 00:00:00 2001 +From: Boris Kolpackov +Date: Wed, 31 Mar 2021 10:45:21 +0200 +Subject: [PATCH] Adjust to changes in GCC 11 + +[Upstream: 61d80f051293a7449a09081f60f48b8377bfbbad] +Signed-off-by: Thomas Petazzoni +--- + odb/gcc.hxx | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/odb/gcc.hxx b/odb/gcc.hxx +index fb6a1bf..d8ad590 100644 +--- a/odb/gcc.hxx ++++ b/odb/gcc.hxx +@@ -164,6 +164,7 @@ gcc_tree_code_name (gcc_tree_code_type tc) {return tree_code_name[tc];} + // In GCC 9: + // + // INCLUDED_FROM Became linemap_included_from_linemap(). ++// + // LAST_SOURCE_LINE Was removed apparently as no longer used. Studying + // the line-map.h diff from 8.3 suggests that the old + // implementation should still work. +@@ -193,4 +194,23 @@ LAST_SOURCE_LINE (const line_map_ordinary* map) + + #endif + ++// In GCC 11: ++// ++// lookup_qualified_name() has a new interface. ++// ++// DECL_IS_BUILTIN became DECL_IS_UNDECLARED_BUILTIN. ++// ++#if BUILDING_GCC_MAJOR >= 11 ++ ++inline tree ++lookup_qualified_name (tree scope, tree name, bool type, bool complain) ++{ ++ return lookup_qualified_name ( ++ scope, name, (type ? LOOK_want::TYPE : LOOK_want::NORMAL), complain); ++} ++ ++#define DECL_IS_BUILTIN(decl) DECL_IS_UNDECLARED_BUILTIN(decl) ++ ++#endif ++ + #endif // ODB_GCC_HXX +-- +2.34.1 + diff --git a/package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch b/package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch new file mode 100644 index 00000000000..79c3d982fa4 --- /dev/null +++ b/package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch @@ -0,0 +1,68 @@ +From 60460df2a6d7b43a860a8f8b614c049ec0127ea8 Mon Sep 17 00:00:00 2001 +From: Boris Kolpackov +Date: Wed, 7 Jul 2021 09:26:57 +0200 +Subject: [PATCH] Resolve name lookup ambiguity causing error with GCC 11 + +[Upstream: 47035c0f72efd99a2210cd45db6e42423fb74533] +Signed-off-by: Thomas Petazzoni +--- + odb/relational/header.hxx | 2 ++ + odb/relational/source.hxx | 8 ++++++++ + 2 files changed, 10 insertions(+) + +diff --git a/odb/relational/header.hxx b/odb/relational/header.hxx +index 63dea09..d7f78fa 100644 +--- a/odb/relational/header.hxx ++++ b/odb/relational/header.hxx +@@ -50,6 +50,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual bool + pre (member_info& mi) + { +diff --git a/odb/relational/source.hxx b/odb/relational/source.hxx +index 716aa10..7da25fc 100644 +--- a/odb/relational/source.hxx ++++ b/odb/relational/source.hxx +@@ -1360,6 +1360,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual bool + pre (member_info& mi) + { +@@ -1744,6 +1746,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual bool + pre (member_info& mi) + { +@@ -2007,6 +2011,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual void + set_null (member_info&) = 0; + +@@ -2458,6 +2464,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual void + get_null (string const& var) const = 0; + +-- +2.34.1 + diff --git a/package/odb/odb.mk b/package/odb/odb.mk index 11086471e62..a2340699528 100644 --- a/package/odb/odb.mk +++ b/package/odb/odb.mk @@ -10,7 +10,14 @@ ODB_SOURCE = odb-$(ODB_VERSION).tar.bz2 ODB_SITE = https://www.codesynthesis.com/download/odb/$(ODB_VERSION_MAJOR) ODB_LICENSE = GPL-3.0 ODB_LICENSE_FILES = LICENSE -HOST_ODB_DEPENDENCIES = host-libcutl +# host-libodb is not needed to build host-odb, but it is needed to use +# the ODB compiler, as it install header files that are needed at +# runtime by the odb compiler. +HOST_ODB_DEPENDENCIES = host-libcutl host-libodb +ifeq ($(BR2_PACKAGE_LIBODB_BOOST),y) +HOST_ODB_DEPENDENCIES += host-libodb-boost +endif +HOST_ODB_CONF_ENV = CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" # Prevent odb from trying to install the gcc plugin into the hosts # gcc plugin directory. Instead, this will install the gcc plugin diff --git a/package/odhcp6c/odhcp6c.hash b/package/odhcp6c/odhcp6c.hash index 26ee7116847..84d1fc45271 100644 --- a/package/odhcp6c/odhcp6c.hash +++ b/package/odhcp6c/odhcp6c.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c3622120b5209d1c14d5ac92884240bf0e4f652633562355e70dbf482f6c37b4 odhcp6c-f575351cbb3defc0bf52680c9082912a6c264374-br1.tar.gz +sha256 7274a304016838483e2da48193309e5f84ca0a8a407647033283d1249eebe986 odhcp6c-53f07e90b7f1da6977143a488dd5cb73a33b233b-br1.tar.gz sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/odhcp6c/odhcp6c.mk b/package/odhcp6c/odhcp6c.mk index c7f214ff7ac..dd3a9d3e285 100644 --- a/package/odhcp6c/odhcp6c.mk +++ b/package/odhcp6c/odhcp6c.mk @@ -4,7 +4,7 @@ # ################################################################################ -ODHCP6C_VERSION = f575351cbb3defc0bf52680c9082912a6c264374 +ODHCP6C_VERSION = 53f07e90b7f1da6977143a488dd5cb73a33b233b ODHCP6C_SITE = https://git.openwrt.org/project/odhcp6c.git ODHCP6C_SITE_METHOD = git ODHCP6C_LICENSE = GPL-2.0 diff --git a/package/ofono/ofono.hash b/package/ofono/ofono.hash index 02245a46f4d..7edef0eb80b 100644 --- a/package/ofono/ofono.hash +++ b/package/ofono/ofono.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/network/ofono/sha256sums.asc -sha256 a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b ofono-1.31.tar.xz +sha256 c0b96d3013447ec2bcb74579bef90e4e59c68dbfa4b9c6fbce5d12401a43aac7 ofono-1.34.tar.xz # Locally computed -sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/ofono/ofono.mk b/package/ofono/ofono.mk index 57d6cab470e..b7a2a923f9d 100644 --- a/package/ofono/ofono.mk +++ b/package/ofono/ofono.mk @@ -4,7 +4,7 @@ # ################################################################################ -OFONO_VERSION = 1.31 +OFONO_VERSION = 1.34 OFONO_SOURCE = ofono-$(OFONO_VERSION).tar.xz OFONO_SITE = $(BR2_KERNEL_MIRROR)/linux/network/ofono OFONO_LICENSE = GPL-2.0 diff --git a/package/ogre/0001-CMake-Utils-PrecompiledHeader.cmake-Add-c-argument-t.patch b/package/ogre/0001-CMake-Utils-PrecompiledHeader.cmake-Add-c-argument-t.patch deleted file mode 100644 index 97f4e24890c..00000000000 --- a/package/ogre/0001-CMake-Utils-PrecompiledHeader.cmake-Add-c-argument-t.patch +++ /dev/null @@ -1,57 +0,0 @@ -From f480ac538eb69086d4b7db855c2a457d5d6420d4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 10 Feb 2020 14:05:12 +0100 -Subject: [PATCH] CMake/Utils/PrecompiledHeader.cmake: Add -c argument to build - precompiled headers - -Add "-c" argument when building precompiled headers to fix build with -RELRO. - -More information on a similar issue with domoticz can be found here: -https://patchwork.ozlabs.org/patch/1187328: - -"The problem AFAICS is that if no -c or similar option is given, GCC -decides what needs to be done based on the rest of the arguments. If the -rest of the arguments include a -Wl,... option, it decides that linking -needs to be done. If the rest of the arguments are just header files, it -decides to create a precompiled header." - -Fixes: - - http://autobuild.buildroot.org/results/8fabf8d270b9257c3a9db6a2f17f1c08ec9428d3 - -Signed-off-by: Fabrice Fontaine -[Upstream: https://github.com/OGRECave/ogre/commit/de4d5c920e23e1e2b21dc5c8192ef74ba6210cca] ---- - CMake/Utils/PrecompiledHeader.cmake | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/CMake/Utils/PrecompiledHeader.cmake b/CMake/Utils/PrecompiledHeader.cmake -index a02d99acd..bfb0059db 100644 ---- a/CMake/Utils/PrecompiledHeader.cmake -+++ b/CMake/Utils/PrecompiledHeader.cmake -@@ -133,11 +133,11 @@ MACRO(_PCH_GET_COMPILE_COMMAND out_command _input _output) - STRING(REGEX REPLACE "^ +" "" pchsupport_compiler_cxx_arg1 ${CMAKE_CXX_COMPILER_ARG1}) - - SET(${out_command} -- ${CMAKE_CXX_COMPILER} ${pchsupport_compiler_cxx_arg1} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input} -+ ${CMAKE_CXX_COMPILER} ${pchsupport_compiler_cxx_arg1} ${_compile_FLAGS} -x c++-header -c -o ${_output} ${_input} - ) - ELSE(CMAKE_CXX_COMPILER_ARG1) - SET(${out_command} -- ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input} -+ ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -c -o ${_output} ${_input} - ) - ENDIF(CMAKE_CXX_COMPILER_ARG1) - ELSE(CMAKE_COMPILER_IS_GNUCXX) -@@ -291,7 +291,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input) - set_target_properties(${_targetName}_pch_dephelp PROPERTIES INCLUDE_DIRECTORIES "${DIRINC}") - - #MESSAGE("_compile_FLAGS: ${_compile_FLAGS}") -- #message("COMMAND ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input}") -+ #message("COMMAND ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -c -o ${_output} ${_input}") - - ADD_CUSTOM_COMMAND( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_name}" --- -2.24.1 - diff --git a/package/ogre/Config.in b/package/ogre/Config.in index 1d7784714d1..e00d76d93d3 100644 --- a/package/ogre/Config.in +++ b/package/ogre/Config.in @@ -8,8 +8,10 @@ config BR2_PACKAGE_OGRE depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU depends on BR2_USE_WCHAR # use wchar_t + depends on !BR2_arc # libfreeimage select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBFREEIMAGE + select BR2_PACKAGE_PUGIXML select BR2_PACKAGE_SDL2 select BR2_PACKAGE_SDL2_OPENGL select BR2_PACKAGE_SDL2_X11 # use wmInfo.info.x11 @@ -33,9 +35,11 @@ comment "ogre needs X11 and an OpenGL provider" depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ && BR2_INSTALL_LIBSTDCPP && !BR2_STATIC_LIBS && BR2_USE_WCHAR depends on BR2_USE_MMU + depends on !BR2_arc comment "ogre needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads, wchar" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_USE_WCHAR depends on BR2_USE_MMU + depends on !BR2_arc diff --git a/package/ogre/ogre.hash b/package/ogre/ogre.hash index 8bb4ae96a1f..0028a4b97c6 100644 --- a/package/ogre/ogre.hash +++ b/package/ogre/ogre.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 163e7700e319532d4389ecba91e3ab88551f78610886fa36f8f262f9a5080988 ogre-1.12.0.tar.gz -sha256 82758e8d1d72139904b9b7472ef0f6544413d2871b58540307fdcc20e473e5f8 LICENSE +sha256 805b97aacd2070f19394fe92442307a7ba6036ad95c511f551817d694c8dea37 ogre-v1.12.12-br1.tar.gz +sha256 82758e8d1d72139904b9b7472ef0f6544413d2871b58540307fdcc20e473e5f8 LICENSE diff --git a/package/ogre/ogre.mk b/package/ogre/ogre.mk index 2df685a23a4..3fd2fc46502 100644 --- a/package/ogre/ogre.mk +++ b/package/ogre/ogre.mk @@ -4,17 +4,21 @@ # ################################################################################ -OGRE_VERSION = 1.12.0 -OGRE_SITE = $(call github,OGRECave,ogre,v$(OGRE_VERSION)) -OGRE_LICENSE = MIT (main library, DeferredShadingMedia samples), Public Domain (samples and plugins), Zlib (tinyxml) +OGRE_VERSION = v1.12.12 +OGRE_SITE = https://github.com/OGRECave/ogre +OGRE_SITE_METHOD = git +OGRE_LICENSE = MIT (main library, DeferredShadingMedia samples), Public Domain (samples and plugins) OGRE_LICENSE_FILES = LICENSE OGRE_INSTALL_STAGING = YES -# Ogre use a bundled version of tinyxml +# Download with imgui submodule (https://github.com/ocornut/imgui +OGRE_GIT_SUBMODULES = YES + OGRE_DEPENDENCIES = host-pkgconf \ freetype \ libfreeimage \ libgl \ + pugixml \ sdl2 \ xlib_libX11 \ xlib_libXaw \ @@ -27,17 +31,19 @@ OGRE_CXXFLAGS = $(TARGET_CXXFLAGS) -DGLEW_NO_GLU # Unbundle freetype and zziplib. # Disable java and nvidia cg support. +# Disable imgui overlay to avoid extra download from CMake. OGRE_CONF_OPTS = -DOGRE_BUILD_DEPENDENCIES=OFF \ + -DOGRE_BUILD_COMPONENT_CSHARP=OFF \ -DOGRE_BUILD_COMPONENT_JAVA=OFF \ -DOGRE_BUILD_PLUGIN_CG=OFF \ + -DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=OFF \ -DOGRE_INSTALL_DOCS=OFF \ -DCMAKE_C_FLAGS="$(OGRE_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$(OGRE_CXXFLAGS)" # Enable optional python component if python interpreter is present on the target. -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) -OGRE_DEPENDENCIES += host-swig \ - $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) +ifeq ($(BR2_PACKAGE_PYTHON3),y) +OGRE_DEPENDENCIES += host-swig host-python3 OGRE_CONF_OPTS += -DOGRE_BUILD_COMPONENT_PYTHON=ON else OGRE_CONF_OPTS += -DOGRE_BUILD_COMPONENT_PYTHON=OFF diff --git a/package/olsr/0004-pud-adapt-gpsdclient.c-to-new-gpsd-3.21.patch b/package/olsr/0004-pud-adapt-gpsdclient.c-to-new-gpsd-3.21.patch new file mode 100644 index 00000000000..80013439414 --- /dev/null +++ b/package/olsr/0004-pud-adapt-gpsdclient.c-to-new-gpsd-3.21.patch @@ -0,0 +1,35 @@ +From 2f9ee6079b20fb5d3884472825a40c5c65550fa2 Mon Sep 17 00:00:00 2001 +From: Nick Hainke +Date: Sun, 30 May 2021 19:13:48 +0200 +Subject: [PATCH] pud: adapt gpsdclient.c to new gpsd 3.21 + +As mentioned: +"Move gps_data_t->status to gps_fix_t.status for better fix merging" +https://gitlab.com/gpsd/gpsd/-/commit/29991d6ffeb41ecfc8297db68bb68be0128c8514 + +Signed-off-by: Nick Hainke +Upstream: 79a28cdb4083b66c5d3a5f9c0d70dbdc86c0420c +Signed-off-by: Thomas Petazzoni +--- + lib/pud/src/gpsdclient.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/pud/src/gpsdclient.c b/lib/pud/src/gpsdclient.c +index 2a7a26ee..a2a9cee0 100644 +--- a/lib/pud/src/gpsdclient.c ++++ b/lib/pud/src/gpsdclient.c +@@ -370,7 +370,11 @@ void nmeaInfoFromGpsd(struct gps_data_t *gpsdata, NmeaInfo *info, struct GpsdCon + ); + + gpsdata->set &= ~STATUS_SET; /* always valid */ ++ #if GPSD_API_MAJOR_VERSION >= 10 ++ if (gpsdata->fix.status == STATUS_NO_FIX) { ++ #else + if (gpsdata->status == STATUS_NO_FIX) { ++ #endif + nmeaInfoClear(info); + nmeaTimeSet(&info->utc, &info->present, NULL); + return; +-- +2.31.1 + diff --git a/package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch b/package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch new file mode 100644 index 00000000000..7ea3fbadd7e --- /dev/null +++ b/package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch @@ -0,0 +1,49 @@ +From 665051a845464c0f95edb81432104dac39426f79 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 6 Nov 2021 15:50:58 +0100 +Subject: [PATCH] lib/pud/src/gpsdclient.c: drop handling of + gpsdata->fix.status + +Here is an extract of https://gpsd.gitlab.io/gpsd/gpsd_json.html: + +The optional "status" field (aka fix type), is a modifier (adjective) to +mode. It is not a replacement for, or superset of, the "mode" field. It +is almost, but not quite, the same as the NMEA 4.x xxGGA GPS Quality +Indicator Values. Many GNSS receivers do not supply it. Those that do +interpret the specification in various incompatible ways. + +So status field is optional and STATUS_NO_FIX has been explicitly +renamed into STATUS_UNK to avoid confusion with MODE_NO_FIX (which is +already handled by gpsdclient.c) so drop the if block to fix the build +failure with gpsd >= 3.23.1. + +Signed-off-by: Fabrice Fontaine +[Upstream: https://github.com/OLSR/olsrd/commit/665051a845464c0f95edb81432104dac39426f79] +Signed-off-by: Peter Seiderer +--- + lib/pud/src/gpsdclient.c | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/lib/pud/src/gpsdclient.c b/lib/pud/src/gpsdclient.c +index a2a9cee0..d448867d 100644 +--- a/lib/pud/src/gpsdclient.c ++++ b/lib/pud/src/gpsdclient.c +@@ -370,15 +370,6 @@ void nmeaInfoFromGpsd(struct gps_data_t *gpsdata, NmeaInfo *info, struct GpsdCon + ); + + gpsdata->set &= ~STATUS_SET; /* always valid */ +- #if GPSD_API_MAJOR_VERSION >= 10 +- if (gpsdata->fix.status == STATUS_NO_FIX) { +- #else +- if (gpsdata->status == STATUS_NO_FIX) { +- #endif +- nmeaInfoClear(info); +- nmeaTimeSet(&info->utc, &info->present, NULL); +- return; +- } + + if (!gpsdata->set) { + return; +-- +2.33.1 + diff --git a/package/olsr/olsr.mk b/package/olsr/olsr.mk index b2c8e7e0014..4ad88991f2d 100644 --- a/package/olsr/olsr.mk +++ b/package/olsr/olsr.mk @@ -27,10 +27,10 @@ OLSR_PLUGINS += pud endif define OLSR_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(KERNEL_ARCH) \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(NORMALIZED_ARCH) \ CFLAGS="$(OLSR_CFLAGS)" -C $(@D) olsrd $(foreach p,$(OLSR_PLUGINS), \ - $(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(KERNEL_ARCH) \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(NORMALIZED_ARCH) \ CFLAGS="$(OLSR_CFLAGS)" -C $(@D)/lib/$(p) ) endef diff --git a/package/omniorb/omniorb.hash b/package/omniorb/omniorb.hash index 5ac86146895..f522c1ef67d 100644 --- a/package/omniorb/omniorb.hash +++ b/package/omniorb/omniorb.hash @@ -1,8 +1,8 @@ -# From https://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.2.4/ -sha1 a6f3c8e96fc09c4ef8d75bd495bbc5256a4773ee omniORB-4.2.4.tar.bz2 -md5 de961e8aa29f3eed95ea40a94c1cccdf omniORB-4.2.4.tar.bz2 +# From https://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.3.0/ +sha1 c3f12c2278f8c4603910c02c8fe892c1dde7217e omniORB-4.3.0.tar.bz2 +md5 8889ab13b444b495ca2c2b48ea6a6bd7 omniORB-4.3.0.tar.bz2 # Locally generated -sha256 28c01cd0df76c1e81524ca369dc9e6e75f57dc70f30688c99c67926e4bdc7a6f omniORB-4.2.4.tar.bz2 -sha256 126647a6ee062fe46f8f3766965dc62e031c0a31238a347e4bc07aab2ac1e2a7 COPYING -sha256 eaf5b13ffd5355da7c0b83074e4b798152ff7086c95c4f3045122a06e2673eb9 COPYING.LIB +sha256 976045a2341f4e9a85068b21f4bd928993292933eeecefea372db09e0219eadd omniORB-4.3.0.tar.bz2 +sha256 126647a6ee062fe46f8f3766965dc62e031c0a31238a347e4bc07aab2ac1e2a7 COPYING +sha256 eaf5b13ffd5355da7c0b83074e4b798152ff7086c95c4f3045122a06e2673eb9 COPYING.LIB diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk index 4ecbb9d2c9b..d6434735cf0 100644 --- a/package/omniorb/omniorb.mk +++ b/package/omniorb/omniorb.mk @@ -4,18 +4,14 @@ # ################################################################################ -OMNIORB_VERSION = 4.2.4 +OMNIORB_VERSION = 4.3.0 OMNIORB_SITE = http://downloads.sourceforge.net/project/omniorb/omniORB/omniORB-$(OMNIORB_VERSION) OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2 OMNIORB_INSTALL_STAGING = YES OMNIORB_LICENSE = GPL2+, LGPL-2.1+ OMNIORB_LICENSE_FILES = COPYING COPYING.LIB OMNIORB_DEPENDENCIES = host-omniorb -HOST_OMNIORB_DEPENDENCIES = host-python - -# omniorb is not python3 friendly, so force the python interpreter -OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2 -HOST_OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2 +HOST_OMNIORB_DEPENDENCIES = host-python3 # Defaulting long double support to a safe option for the # mix of embedded targets, this could later be automated @@ -29,7 +25,7 @@ HOST_OMNIORB_CONF_OPTS += --disable-longdouble ifeq ($(BR2_PACKAGE_OPENSSL),y) OMNIORB_CONF_OPTS += --with-openssl -OMNIORB_DEPENDENCIES += openssl +OMNIORB_DEPENDENCIES += host-pkgconf openssl else OMNIORB_CONF_OPTS += --without-openssl endif diff --git a/package/oniguruma/oniguruma.hash b/package/oniguruma/oniguruma.hash index 668f21d37f5..3a6112e832c 100644 --- a/package/oniguruma/oniguruma.hash +++ b/package/oniguruma/oniguruma.hash @@ -1,3 +1,4 @@ -# Locally calculated -sha256 bd0faeb887f748193282848d01ec2dad8943b5dfcb8dc03ed52dcc963549e819 onig-6.9.6.tar.gz -sha256 6c7038393e8f30fee16257e713f77e383712f1465d6d25929596746b10b42bd3 COPYING +# From https://github.com/kkos/oniguruma/releases/download/v6.9.7/onig-6.9.7.1.tar.gz.sha256 +sha256 6444204b9c34e6eb6c0b23021ce89a0370dad2b2f5c00cd44c342753e0b204d9 onig-6.9.7.1.tar.gz +# Hash for license file +sha256 70ba5469ea0bab6e18a32d7009068f996503168d27be57747e08da34337ff26f COPYING diff --git a/package/oniguruma/oniguruma.mk b/package/oniguruma/oniguruma.mk index 6ea5e1e6910..31c8d8e5123 100644 --- a/package/oniguruma/oniguruma.mk +++ b/package/oniguruma/oniguruma.mk @@ -4,7 +4,7 @@ # ################################################################################ -ONIGURUMA_VERSION = 6.9.6 +ONIGURUMA_VERSION = 6.9.7.1 ONIGURUMA_SITE = \ https://github.com/kkos/oniguruma/releases/download/v$(ONIGURUMA_VERSION) ONIGURUMA_SOURCE = onig-$(ONIGURUMA_VERSION).tar.gz diff --git a/package/open62541/0002-arch-posix-CMakeLists.txt-fix-build-without-threads.patch b/package/open62541/0002-arch-posix-CMakeLists.txt-fix-build-without-threads.patch index 94ee76ad92f..bdf3608041a 100644 --- a/package/open62541/0002-arch-posix-CMakeLists.txt-fix-build-without-threads.patch +++ b/package/open62541/0002-arch-posix-CMakeLists.txt-fix-build-without-threads.patch @@ -29,7 +29,7 @@ index bb24757c..a53c9f2c 100644 ua_architecture_append_to_library(m) - #TODO - Error on first make run if pthread is included conditional? - ua_architecture_append_to_library(pthread) - if(UA_ENABLE_MULTITHREADING OR UA_BUILD_UNIT_TESTS) + if(UA_MULTITHREADING OR UA_BUILD_UNIT_TESTS) ua_architecture_append_to_library(pthread) endif() -- diff --git a/package/open62541/0003-fix-core-Explicit-cast-to-avoid-compiler-warning.patch b/package/open62541/0003-fix-core-Explicit-cast-to-avoid-compiler-warning.patch new file mode 100644 index 00000000000..dea325c17f7 --- /dev/null +++ b/package/open62541/0003-fix-core-Explicit-cast-to-avoid-compiler-warning.patch @@ -0,0 +1,25 @@ +From 0c53fd776af9631c915c8722e1d68ce9a69fa3f6 Mon Sep 17 00:00:00 2001 +From: Andreas Walter +Date: Fri, 26 Feb 2021 11:49:25 +0100 +Subject: [PATCH] fix(core): Explicit cast to avoid compiler warning (#4203) + +[Retrieved from: +https://github.com/open62541/open62541/commit/0c53fd776af9631c915c8722e1d68ce9a69fa3f6] +Signed-off-by: Fabrice Fontaine +--- + src/ua_types_encoding_binary.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ua_types_encoding_binary.c b/src/ua_types_encoding_binary.c +index 0fe88eb98e0..abbd23735d3 100644 +--- a/src/ua_types_encoding_binary.c ++++ b/src/ua_types_encoding_binary.c +@@ -319,7 +319,7 @@ static long double + unpack754(uint64_t i, unsigned bits, unsigned expbits) { + unsigned significandbits = bits - expbits - 1; + long double result = (long double)(i&(uint64_t)((1LL<>significandbits) & (uint64_t)((1LL< +Date: Mon, 2 Aug 2021 09:49:48 +0200 +Subject: [PATCH] CMakeLists.txt: add UA_FORCE_WERROR + +Allow the user to disable -Werror to avoid the following build failures: + +/tmp/instance-0/output-1/build/open62541-v1.2.2/arch/network_tcp.c: In function 'connection_recv': +/tmp/instance-0/output-1/build/open62541-v1.2.2/arch/network_tcp.c:96:5: error: conversion to 'unsigned int' from 'int' may change the sign of the result [-Werror=sign-conversion] + 96 | UA_fd_set(connection->sockfd, &fdset); + | ^~~~~~~~~ + +/tmp/instance-6/output-1/build/open62541-v1.2.2/plugins/ua_pubsub_udp.c: In function 'UA_PubSubChannelUDPMC_receive': +/tmp/instance-6/output-1/build/open62541-v1.2.2/plugins/ua_pubsub_udp.c:477:21: error: conversion to '__suseconds_t' {aka 'int'} from 'UA_UInt32' {aka 'unsigned int'} may change the sign of the result [-Werror=sign-conversion] + 477 | tmptv.tv_usec = (long int)(timeout % 1000000); + | ^ + +Fixes: + - http://autobuild.buildroot.org/results/911811de81d8abb2a31feb8f27af1592641c6fbc + - http://autobuild.buildroot.org/results/f0187b3f2d62e955fddeef4e90f84ba4fd642bd2 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/open62541/open62541/pull/4572] +--- + CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bc839f27..963460d0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -292,6 +292,8 @@ if(UA_FORCE_CPP) + add_definitions(-D__STDC_CONSTANT_MACROS) # We need the UINT32_C define + endif() + ++option(UA_FORCE_WERROR "Force compilation with -Werror" ON) ++ + #General PubSub setup + option(UA_ENABLE_PUBSUB "Enable the PubSub protocol" OFF) + +@@ -589,7 +591,9 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST + check_add_cc_flag("-Wall") # Warnings + check_add_cc_flag("-Wextra") # More warnings + check_add_cc_flag("-Wpedantic") # Standard compliance +- check_add_cc_flag("-Werror") # All warnings are errors ++ if(UA_FORCE_WERROR) ++ check_add_cc_flag("-Werror") # All warnings are errors ++ endif() + + check_add_cc_flag("-Wno-static-in-inline") # Clang doesn't like the use of static inline methods inside static inline methods + check_add_cc_flag("-Wno-overlength-strings") # May happen in the nodeset compiler when complex values are directly encoded +-- +2.30.2 + diff --git a/package/open62541/open62541.hash b/package/open62541/open62541.hash index 3da8c8f5fb9..5aa340ac185 100644 --- a/package/open62541/open62541.hash +++ b/package/open62541/open62541.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 36273793e5247586fadaa73c0edad89be610100cbc839d1fb5f567f20c3cbc44 open62541-1.0-br1.tar.gz +sha256 c59c85b519a18350f5014b6e7b7545ee144ceeb15094e75b0b7ecec7dce43dd0 open62541-v1.2.2-br1.tar.gz sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk index 102e09a4297..627c29e95b6 100644 --- a/package/open62541/open62541.mk +++ b/package/open62541/open62541.mk @@ -4,14 +4,14 @@ # ################################################################################ -OPEN62541_VERSION = 1.0 -OPEN62541_DL_VERSION = v$(OPEN62541_VERSION) +OPEN62541_VERSION = v1.2.2 OPEN62541_SITE_METHOD = git -OPEN62541_SITE = git://github.com/open62541/open62541.git +OPEN62541_SITE = https://github.com/open62541/open62541.git OPEN62541_GIT_SUBMODULES = YES OPEN62541_INSTALL_STAGING = YES OPEN62541_LICENSE = MPL-2.0 OPEN62541_LICENSE_FILES = LICENSE +OPEN62541_CPE_ID_VENDOR = open62541 # Force Release build to remove -Werror. # Don't use git describe to get the version number. @@ -19,15 +19,16 @@ OPEN62541_LICENSE_FILES = LICENSE OPEN62541_CONF_OPTS = \ -DCMAKE_BUILD_TYPE=Release \ -DGIT_EXECUTABLE=NO \ - -DOPEN62541_VERSION=v$(OPEN62541_VERSION) \ - -DUA_ENABLE_HARDENING=OFF + -DOPEN62541_VERSION=$(OPEN62541_VERSION) \ + -DUA_ENABLE_HARDENING=OFF \ + -DUA_FORCE_WERROR=OFF ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL),y) OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=MINIMAL else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED),y) OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=REDUCED else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL),y) -OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=FULL +OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=FULL endif ifeq ($(BR2_PACKAGE_OPEN62541_JSON_ENCODING),y) @@ -54,4 +55,11 @@ else OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=OFF endif +# Remove unneeded files +define OPEN62541_REMOVE_UNNEEDED_FILES + $(RM) -r $(TARGET_DIR)/usr/share/open62541 +endef + +OPEN62541_POST_INSTALL_TARGET_HOOKS += OPEN62541_REMOVE_UNNEEDED_FILES + $(eval $(cmake-package)) diff --git a/package/openal/openal.hash b/package/openal/openal.hash index 1592dd56b5f..3f1a574e3e0 100644 --- a/package/openal/openal.hash +++ b/package/openal/openal.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c32d10473457a8b545aab50070fe84be2b5b041e1f2099012777ee6be0057c13 openal-1.20.1.tar.gz +sha256 8ac17e4e3b32c1af3d5508acfffb838640669b4274606b7892aa796ca9d7467f openal-1.21.1.tar.gz sha256 d808ce217e5b611854da622b57ec29fe545584c48bc5352fae72a4b6e5074a15 COPYING diff --git a/package/openal/openal.mk b/package/openal/openal.mk index ed63abfb3f0..a878e4847f6 100644 --- a/package/openal/openal.mk +++ b/package/openal/openal.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENAL_VERSION = 1.20.1 -OPENAL_SITE = $(call github,kcat,openal-soft,openal-soft-$(OPENAL_VERSION)) +OPENAL_VERSION = 1.21.1 +OPENAL_SITE = $(call github,kcat,openal-soft,$(OPENAL_VERSION)) OPENAL_LICENSE = LGPL-2.0+ OPENAL_LICENSE_FILES = COPYING OPENAL_INSTALL_STAGING = YES diff --git a/package/openblas/0003-Makefile-also-consider-Os-when-determining-LAPACK_NO.patch b/package/openblas/0001-Makefile-also-consider-Os-when-determining-LAPACK_NO.patch similarity index 100% rename from package/openblas/0003-Makefile-also-consider-Os-when-determining-LAPACK_NO.patch rename to package/openblas/0001-Makefile-also-consider-Os-when-determining-LAPACK_NO.patch diff --git a/package/openblas/0001-fix-gfortran-detection.patch b/package/openblas/0001-fix-gfortran-detection.patch deleted file mode 100644 index 1fecdac3e50..00000000000 --- a/package/openblas/0001-fix-gfortran-detection.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ece3ce581e3ec530eaccfe7f284c52e115ec7aa9 Mon Sep 17 00:00:00 2001 -From: Martin Kroeker -Date: Wed, 10 Feb 2021 14:22:59 +0100 -Subject: [PATCH] Strip parenthesized (pkgversion) data from GCC version string - to avoid misinterpretation - -See https://github.com/xianyi/OpenBLAS/issues/3099 for details. - -Upstream-status: backport - -[for import into Buildroot] -Signed-off-by: Thomas De Schampheleire - - ---- - f_check | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/f_check b/f_check -index e9aca4ff9..ffe9c6b46 100644 ---- a/f_check -+++ b/f_check -@@ -75,6 +75,7 @@ if ($compiler eq "") { - - } elsif ($data =~ /GNU/ || $data =~ /GCC/ ) { - -+ $data =~ s/\(+.*?\)+//g; - $data =~ /(\d+)\.(\d+).(\d+)/; - $major = $1; - $minor = $2; diff --git a/package/openblas/0002-Makefile-fix-support-for-passing-FFLAGS-on-the-make-.patch b/package/openblas/0002-Makefile-fix-support-for-passing-FFLAGS-on-the-make-.patch deleted file mode 100644 index 72b387b93e6..00000000000 --- a/package/openblas/0002-Makefile-fix-support-for-passing-FFLAGS-on-the-make-.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 4d3829fa52240c2b7e48770ab19584db33ba7863 Mon Sep 17 00:00:00 2001 -From: Thomas De Schampheleire -Date: Fri, 5 Mar 2021 11:17:59 +0100 -Subject: [PATCH] Makefile: fix support for passing FFLAGS on the make - command line - -When openblas is built while passing FFLAGS on the make command line, the -compilation of lapack objects will not contain the flags specified in -Makefile but _only_ those passed in FFLAGS. - -This can lead to build failure, e.g. because -fPIC is not passed to the -compilation of most lapack objects, but is given to the link command: - -.../buildroot/output/host/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DNO_WARMUP -DMAX_CPU_NUMBER=4 -DMAX_PARALLEL_NUMBER=1 -DVERSION=\"0.3.9\" -DASMNAME= -DASMFNAME=_ -DNAME=_ -DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I.. -shared -o ../libopenblas_nehalem-r0.3.9.so \ --Wl,--whole-archive ../libopenblas_nehalem-r0.3.9.a -Wl,--no-whole-archive \ --Wl,-soname,libopenblas.so.0 -lm -lgfortran -lm -lgfortran -.../buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-musl/9.3.0/../../../../x86_64-buildroot-linux-musl/bin/ld: ../libopenblas_nehalem-r0.3.9.a(sbdsvdx.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC - -In the initial support for this principle, added in commit -d0e731e8b825e7a554f245aa8f1118dcec9e2728, the flags specified in the -makefile were appended to the flags specified on the command-line. - -Fix this situation by using 'override' for 'FFLAGS' in -lapack-netlib/make.inc. The flags passed on the command-line are already -part of the LAPACK_FFLAGS variable, so no '+=' is needed here. - -Signed-off-by: Thomas De Schampheleire ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index fc5fe3f5..8ae1ff47 100644 ---- a/Makefile -+++ b/Makefile -@@ -248,7 +248,7 @@ prof_lapack : lapack_prebuild - lapack_prebuild : - ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) - -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc -- -@echo "FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc -+ -@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc --- -2.26.2 - diff --git a/package/openblas/0004-Makefile.system-don-t-specify-optimization-level-bui.patch b/package/openblas/0002-Makefile.system-don-t-specify-optimization-level-bui.patch similarity index 100% rename from package/openblas/0004-Makefile.system-don-t-specify-optimization-level-bui.patch rename to package/openblas/0002-Makefile.system-don-t-specify-optimization-level-bui.patch diff --git a/package/openblas/openblas.hash b/package/openblas/openblas.hash index c58def9d5d1..a1e35f4fc47 100644 --- a/package/openblas/openblas.hash +++ b/package/openblas/openblas.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 17d4677264dfbc4433e97076220adc79b050e4f8a083ea3f853a53af253bc380 openblas-0.3.9.tar.gz +sha256 1632c1e8cca62d8bed064b37747e331a1796fc46f688626337362bf0d16aeadb openblas-0.3.18.tar.gz sha256 190b5a9c8d9723fe958ad33916bd7346d96fab3c5ea90832bb02d854f620fcff LICENSE diff --git a/package/openblas/openblas.mk b/package/openblas/openblas.mk index 21d05cf30d2..1d7d6d0538a 100644 --- a/package/openblas/openblas.mk +++ b/package/openblas/openblas.mk @@ -4,11 +4,12 @@ # ################################################################################ -OPENBLAS_VERSION = 0.3.9 -OPENBLAS_SITE = $(call github,xianyi,OpenBLAS,v$(OPENBLAS_VERSION)) +OPENBLAS_VERSION = 0.3.18 +OPENBLAS_SITE = https://github.com/xianyi/OpenBLAS/releases/download/v$(OPENBLAS_VERSION) OPENBLAS_LICENSE = BSD-3-Clause OPENBLAS_LICENSE_FILES = LICENSE OPENBLAS_INSTALL_STAGING = YES +OPENBLAS_CPE_ID_VENDOR = openblas_project # Initialise OpenBLAS make options to $(TARGET_CONFIGURE_OPTS) OPENBLAS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) @@ -42,10 +43,10 @@ endif OPENBLAS_MAKE_OPTS += USE_OPENMP=0 # Static-only/Shared-only toggle +# Note: static library is always generated so that applications can link +# statically for size reduction, even if BR2_STATIC_LIBS is not set. ifeq ($(BR2_STATIC_LIBS),y) OPENBLAS_MAKE_OPTS += NO_SHARED=1 -else ifeq ($(BR2_SHARED_LIBS),y) -OPENBLAS_MAKE_OPTS += NO_STATIC=1 endif # binutils version <= 2.23.2 has a bug diff --git a/package/openbox/Config.in b/package/openbox/Config.in index fe6e886865b..e042ed2b486 100644 --- a/package/openbox/Config.in +++ b/package/openbox/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_OPENBOX depends on BR2_USE_MMU # glib2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBXML2 @@ -20,10 +20,10 @@ config BR2_PACKAGE_OPENBOX http://openbox.org -comment "openbox needs a toolchain w/ C++, threads, wchar, gcc >= 4.8" +comment "openbox needs a toolchain w/ C++, threads, wchar, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_XORG7 diff --git a/package/opencv3/opencv3.hash b/package/opencv3/opencv3.hash index 04eed67cfee..30308188aa0 100644 --- a/package/opencv3/opencv3.hash +++ b/package/opencv3/opencv3.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 70230049194ae03ed8bfaab6cd1388569aa1b5c482d8b50d3af1cd2ae5a0b95d opencv3-3.4.13.tar.gz -sha256 a5a7cf90fe5ac9763baad852cf69cf9d9b89bff934a679fdc5c8fcecaeba9a25 LICENSE +sha256 1353eec67849aadb20df71d8bae18b83708e18fc5da080fe5efeabb1e99b2ee8 opencv3-3.4.17.tar.gz +sha256 9076d3d934839a2f8e7bfe549abda6faea4751f1edd6e9460ff703559890ad5f LICENSE diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk index b1b86ba71dd..8e4c90786e6 100644 --- a/package/opencv3/opencv3.mk +++ b/package/opencv3/opencv3.mk @@ -4,11 +4,13 @@ # ################################################################################ -OPENCV3_VERSION = 3.4.13 +OPENCV3_VERSION = 3.4.17 OPENCV3_SITE = $(call github,opencv,opencv,$(OPENCV3_VERSION)) OPENCV3_INSTALL_STAGING = YES OPENCV3_LICENSE = BSD-3-Clause OPENCV3_LICENSE_FILES = LICENSE +OPENCV3_CPE_ID_VENDOR = opencv +OPENCV3_CPE_ID_PRODUCT = opencv OPENCV3_SUPPORTS_IN_SOURCE_BUILD = NO OPENCV3_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/package/opencv4/Config.in b/package/opencv4/Config.in new file mode 100644 index 00000000000..d7a391a40a0 --- /dev/null +++ b/package/opencv4/Config.in @@ -0,0 +1,363 @@ +menuconfig BR2_PACKAGE_OPENCV4 + bool "opencv4" + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR + depends on !BR2_STATIC_LIBS # include dlfcn.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on !BR2_PACKAGE_OPENCV3 + select BR2_PACKAGE_ZLIB + help + OpenCV (Open Source Computer Vision) is a library of + programming functions for real time computer vision. + + Note that the opencv_core module and the opencv_hal library + are always built and installed, not matter which other + modules are enabled below. + + http://opencv.org/ + +if BR2_PACKAGE_OPENCV4 + +comment "OpenCV modules" + +config BR2_PACKAGE_OPENCV4_LIB_CALIB3D + bool "calib3d" + select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + help + Include opencv_calib3d (camera calibration and 3d + reconstruction) module into the OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_DNN + bool "dnn" + # dnn needs fenv.h which is not provided by uclibc + depends on !BR2_TOOLCHAIN_USES_UCLIBC + help + Include opencv_dnn (Deep Neural Networks) module into the + OpenCV build. + +comment "dnn needs a glibc or musl toolchain" + depends on BR2_TOOLCHAIN_USES_UCLIBC + +config BR2_PACKAGE_OPENCV4_LIB_FEATURES2D + bool "features2d" + select BR2_PACKAGE_OPENCV4_LIB_FLANN + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_ML + help + Include opencv_features2d (2d features framework) module + into the OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_FLANN + bool "flann" + # opencv_core dependency is already enabled + help + Include opencv_flann (clustering and search in + multi-dimensional spaces) module into the OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_HIGHGUI + bool "highgui" + select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO + help + Include opencv_highgui (high-level gui and media i/o) module + into the OpenCV build. + +if BR2_PACKAGE_OPENCV4_LIB_HIGHGUI + +choice + prompt "gui toolkit" + help + GUI toolkit to be used by the opencv_highgui module. + +config BR2_PACKAGE_OPENCV4_GUI_NONE + bool "none" + +config BR2_PACKAGE_OPENCV4_WITH_GTK + bool "gtk2" + depends on BR2_PACKAGE_LIBGTK2 + +comment "gtk2 support needs libgtk2" + depends on BR2_USE_MMU # libgtk2 -> glib2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_PACKAGE_LIBGTK2 + +config BR2_PACKAGE_OPENCV4_WITH_GTK3 + bool "gtk3" + depends on BR2_PACKAGE_LIBGTK3 + +comment "gtk3 support needs libgtk3" + depends on BR2_USE_MMU # libgtk3 -> glib2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_PACKAGE_LIBGTK3 + +config BR2_PACKAGE_OPENCV4_WITH_QT5 + bool "qt5" + depends on BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE_CONCURRENT + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + help + Use Qt5 with base, concurrent, test, gui and widgets + components, as GUI toolkit. + +comment "qt5 support needs qt5" + depends on !BR2_PACKAGE_QT5 + +endchoice + +config BR2_PACKAGE_OPENCV4_WITH_OPENGL + bool "opengl support" + # OpenGL support done using Qt5OpenGL, so depends on WITH_QT5 + depends on BR2_PACKAGE_OPENCV4_WITH_QT5 + # OpenGL support requires Qt5OpenGL with GL support, not GLES + depends on BR2_PACKAGE_QT5_GL_AVAILABLE + depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_QT5BASE_OPENGL + help + Enable OpenGL for UI. + +comment "opengl support needs an OpenGL provider" + depends on BR2_PACKAGE_OPENCV4_WITH_QT5 + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || \ + !BR2_PACKAGE_HAS_LIBGL + +endif # BR2_PACKAGE_OPENCV4_LIB_HIGHGUI + +config BR2_PACKAGE_OPENCV4_LIB_IMGCODECS + bool "imgcodecs" + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + help + Include opencv_imgcodecs (image codecs) module into the + OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_IMGPROC + bool "imgproc" + # opencv_core dependency is already enabled + help + Include opencv_imgproc (image processing) module into the + OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_ML + bool "ml" + # opencv_core dependency is already enabled + help + Include opencv_ml (machine learning) module into the OpenCV + build. + +config BR2_PACKAGE_OPENCV4_LIB_OBJDETECT + bool "objdetect" + # opencv_core dependency is already enabled + select BR2_PACKAGE_OPENCV4_LIB_CALIB3D + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_ML + help + Include opencv_objdetect (object detection) module into the + OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_PHOTO + bool "photo" + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + help + Include opencv_photo (computational photography) module into + the OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_PYTHON + bool "python" + depends on BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + select BR2_PACKAGE_PYTHON_NUMPY + help + Include opencv_python module into the OpenCV build. No + python example is installed. + +comment "python support needs glibc or musl" + depends on BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) + +config BR2_PACKAGE_OPENCV4_LIB_SHAPE + bool "shape" + # opencv_core dependency is already enabled + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_VIDEO + help + Include opencv_shape (shape descriptors and matchers) module + into the OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_STITCHING + bool "stitching" + select BR2_PACKAGE_OPENCV4_LIB_CALIB3D + select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT + help + Include opencv_stitching (images stitching) module into the + OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_SUPERRES + bool "superres" + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_VIDEO + help + Include opencv_superres (super resolution) module into the + OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_TS + bool "ts" + # opencv_core dependency is already enabled + select BR2_PACKAGE_OPENCV4_LIB_HIGHGUI + select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO + help + Include opencv_ts (test) module into the OpenCV build. + +config BR2_PACKAGE_OPENCV4_LIB_VIDEOIO + bool "videoio" + select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + help + Include opencv_videoio (media i/o) module into the OpenCV + build. + +config BR2_PACKAGE_OPENCV4_LIB_VIDEO + bool "video" + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + help + Include opencv_video (video analysis) module into the OpenCV + build. + +config BR2_PACKAGE_OPENCV4_LIB_VIDEOSTAB + bool "videostab" + select BR2_PACKAGE_OPENCV4_LIB_CALIB3D + select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_PHOTO + select BR2_PACKAGE_OPENCV4_LIB_VIDEO + help + Include opencv_videostab (video stabilization) module into + the OpenCV build. + +comment "Test sets" +config BR2_PACKAGE_OPENCV4_BUILD_TESTS + bool "build tests" + +config BR2_PACKAGE_OPENCV4_BUILD_PERF_TESTS + bool "build performance tests" + +comment "3rd party support" + +config BR2_PACKAGE_OPENCV4_WITH_FFMPEG + bool "ffmpeg support" + depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_AVRESAMPLE + select BR2_PACKAGE_FFMPEG_SWSCALE + help + Use ffmpeg from the target system. + +config BR2_PACKAGE_OPENCV4_WITH_GSTREAMER1 + bool "gstreamer-1.x" + depends on BR2_USE_MMU # gstreamer1 -> libglib2 + select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP + help + Enable gstreamer support. + +choice + prompt "jpeg2000 support" + help + Select the desired jpeg2000 library provider. + +config BR2_PACKAGE_OPENCV4_JPEG2000_NONE + bool "none" + +config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_JASPER + bool "jasper" + select BR2_PACKAGE_JASPER + help + Enable jpeg2000 support through jasper. + + Note: this does not use the libjasper bundled with opencv, + but uses the libjasper package installed system-wide by + Buildroot. + +config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_OPENJPEG + bool "openjpeg" + select BR2_PACKAGE_OPENJPEG + help + Enable jpeg2000 support through openjpeg. + + Note: this does not use the openjpeg bundled with opencv, + but uses the openjpeg package installed system-wide by + Buildroot. + +endchoice + +config BR2_PACKAGE_OPENCV4_WITH_JPEG + bool "jpeg support" + select BR2_PACKAGE_JPEG + help + Use shared libjpeg from the target system. + +config BR2_PACKAGE_OPENCV4_WITH_PNG + bool "png support" + select BR2_PACKAGE_LIBPNG + help + Use shared libpng from the target system. + +config BR2_PACKAGE_OPENCV4_WITH_PROTOBUF + bool "protobuf support" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf + select BR2_PACKAGE_PROTOBUF + help + Use shared protobuf from the target system. + +config BR2_PACKAGE_OPENCV4_WITH_TIFF + bool "tiff support" + select BR2_PACKAGE_TIFF + help + Use shared libtiff from the target system. + +config BR2_PACKAGE_OPENCV4_WITH_V4L + bool "v4l support" + help + Enable Video 4 Linux support. + + If the package libv4l is enabled, its support is + automatically enabled. + +config BR2_PACKAGE_OPENCV4_WITH_WEBP + bool "webp support" + select BR2_PACKAGE_WEBP + help + Enable WebP support. + + Use shared libwebp from the target system. + +comment "Install options" + +config BR2_PACKAGE_OPENCV4_INSTALL_DATA + bool "install extra data" + help + Install various data that is used by cv libraries and/or + demo applications, specifically for haarcascades and + lbpcascades features. + + For further information: see OpenCV documentation. + +endif # BR2_PACKAGE_OPENCV4 + +comment "opencv4 needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 4.8" + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/opencv4/opencv4.hash b/package/opencv4/opencv4.hash new file mode 100644 index 00000000000..6d43138be81 --- /dev/null +++ b/package/opencv4/opencv4.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 a1cfdcf6619387ca9e232687504da996aaa9f7b5689986b8331ec02cb61d28ad opencv4-4.5.5.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/opencv4/opencv4.mk b/package/opencv4/opencv4.mk new file mode 100644 index 00000000000..619bfd9dbc5 --- /dev/null +++ b/package/opencv4/opencv4.mk @@ -0,0 +1,379 @@ +################################################################################ +# +# opencv4 +# +################################################################################ + +OPENCV4_VERSION = 4.5.5 +OPENCV4_SITE = $(call github,opencv,opencv,$(OPENCV4_VERSION)) +OPENCV4_INSTALL_STAGING = YES +OPENCV4_LICENSE = Apache-2.0 +OPENCV4_LICENSE_FILES = LICENSE +OPENCV4_CPE_ID_VENDOR = opencv +OPENCV4_CPE_ID_PRODUCT = opencv +OPENCV4_SUPPORTS_IN_SOURCE_BUILD = NO + +OPENCV4_CXXFLAGS = $(TARGET_CXXFLAGS) + +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +OPENCV4_CXXFLAGS += -latomic +endif + +# Fix c++11 build with missing std::exception_ptr +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_64735),y) +OPENCV4_CXXFLAGS += -DCV__EXCEPTION_PTR=0 +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +OPENCV4_CXXFLAGS += -O0 +endif + +# OpenCV component options +OPENCV4_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="$(OPENCV4_CXXFLAGS)" \ + -DBUILD_DOCS=OFF \ + -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV4_BUILD_PERF_TESTS),ON,OFF) \ + -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV4_BUILD_TESTS),ON,OFF) \ + -DBUILD_WITH_DEBUG_INFO=OFF \ + -DDOWNLOAD_EXTERNAL_TEST_DATA=OFF \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_ENABLE_PKG_CONFIG=ON + +ifeq ($(BR2_PACKAGE_OPENCV4_BUILD_TESTS)$(BR2_PACKAGE_OPENCV4_BUILD_PERF_TESTS),) +OPENCV4_CONF_OPTS += -DINSTALL_TEST=OFF +else +OPENCV4_CONF_OPTS += -DINSTALL_TEST=ON +endif + +# OpenCV build options +OPENCV4_CONF_OPTS += \ + -DBUILD_WITH_STATIC_CRT=OFF \ + -DENABLE_CCACHE=OFF \ + -DENABLE_COVERAGE=OFF \ + -DENABLE_FAST_MATH=ON \ + -DENABLE_IMPL_COLLECTION=OFF \ + -DENABLE_NOISY_WARNINGS=OFF \ + -DENABLE_OMIT_FRAME_POINTER=ON \ + -DENABLE_PRECOMPILED_HEADERS=OFF \ + -DENABLE_PROFILING=OFF \ + -DOPENCV_WARNINGS_ARE_ERRORS=OFF + +# OpenCV link options +OPENCV4_CONF_OPTS += \ + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \ + -DCMAKE_SKIP_RPATH=OFF \ + -DCMAKE_USE_RELATIVE_PATHS=OFF + +# OpenCV packaging options: +OPENCV4_CONF_OPTS += \ + -DBUILD_PACKAGE=OFF \ + -DENABLE_SOLUTION_FOLDERS=OFF \ + -DINSTALL_CREATE_DISTRIB=OFF + +# OpenCV module selection +# * Modules on: +# - core: if not set, opencv does not build anything +# - hal: core's dependency +# * Modules off: +# - android*: android stuff +# - apps: programs for training classifiers +# - java: java bindings +# - viz: missing VTK dependency +# - world: all-in-one module +# +# * Contrib modules from [1] are disabled: +# - opencv_contrib package is not available in Buildroot; +# - OPENCV_EXTRA_MODULES_PATH is not set. +# +# [1] https://github.com/Itseez/opencv_contrib +OPENCV4_CONF_OPTS += \ + -DBUILD_opencv_androidcamera=OFF \ + -DBUILD_opencv_apps=OFF \ + -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV4_LIB_CALIB3D),ON,OFF) \ + -DBUILD_opencv_core=ON \ + -DBUILD_opencv_dnn=$(if $(BR2_PACKAGE_OPENCV4_LIB_DNN),ON,OFF) \ + -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV4_LIB_FEATURES2D),ON,OFF) \ + -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV4_LIB_FLANN),ON,OFF) \ + -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV4_LIB_HIGHGUI),ON,OFF) \ + -DBUILD_opencv_imgcodecs=$(if $(BR2_PACKAGE_OPENCV4_LIB_IMGCODECS),ON,OFF) \ + -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV4_LIB_IMGPROC),ON,OFF) \ + -DBUILD_opencv_java=OFF \ + -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV4_LIB_ML),ON,OFF) \ + -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV4_LIB_OBJDETECT),ON,OFF) \ + -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV4_LIB_PHOTO),ON,OFF) \ + -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV4_LIB_SHAPE),ON,OFF) \ + -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV4_LIB_STITCHING),ON,OFF) \ + -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV4_LIB_SUPERRES),ON,OFF) \ + -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV4_LIB_TS),ON,OFF) \ + -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV4_LIB_VIDEO),ON,OFF) \ + -DBUILD_opencv_videoio=$(if $(BR2_PACKAGE_OPENCV4_LIB_VIDEOIO),ON,OFF) \ + -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV4_LIB_VIDEOSTAB),ON,OFF) \ + -DBUILD_opencv_viz=OFF \ + -DBUILD_opencv_world=OFF + +# Hardware support options. +# +# * PowerPC and VFPv3 support are turned off since their only effects +# are altering CFLAGS, adding '-mcpu=G3 -mtune=G5' or '-mfpu=vfpv3' +# to them, which is already handled by Buildroot. +# * NEON logic is needed as it is not only used to add CFLAGS, but +# also to enable additional NEON code. +OPENCV4_CONF_OPTS += \ + -DENABLE_POWERPC=OFF \ + -DENABLE_NEON=$(if $(BR2_ARM_CPU_HAS_NEON),ON,OFF) \ + -DENABLE_VFPV3=OFF + +# Cuda stuff +OPENCV4_CONF_OPTS += \ + -DBUILD_CUDA_STUBS=OFF \ + -DBUILD_opencv_cudaarithm=OFF \ + -DBUILD_opencv_cudabgsegm=OFF \ + -DBUILD_opencv_cudacodec=OFF \ + -DBUILD_opencv_cudafeatures2d=OFF \ + -DBUILD_opencv_cudafilters=OFF \ + -DBUILD_opencv_cudaimgproc=OFF \ + -DBUILD_opencv_cudalegacy=OFF \ + -DBUILD_opencv_cudaobjdetect=OFF \ + -DBUILD_opencv_cudaoptflow=OFF \ + -DBUILD_opencv_cudastereo=OFF \ + -DBUILD_opencv_cudawarping=OFF \ + -DBUILD_opencv_cudev=OFF \ + -DWITH_CUBLAS=OFF \ + -DWITH_CUDA=OFF \ + -DWITH_CUFFT=OFF + +# NVidia stuff +OPENCV4_CONF_OPTS += -DWITH_NVCUVID=OFF + +# AMD stuff +OPENCV4_CONF_OPTS += \ + -DWITH_OPENCLAMDBLAS=OFF \ + -DWITH_OPENCLAMDFFT=OFF + +# Intel stuff +OPENCV4_CONF_OPTS += \ + -DBUILD_WITH_DYNAMIC_IPP=OFF \ + -DWITH_INTELPERC=OFF \ + -DWITH_IPP=OFF \ + -DWITH_IPP_A=OFF \ + -DWITH_TBB=OFF + +# Smartek stuff +OPENCV4_CONF_OPTS += -DWITH_GIGEAPI=OFF + +# Prosilica stuff +OPENCV4_CONF_OPTS += -DWITH_PVAPI=OFF + +# Ximea stuff +OPENCV4_CONF_OPTS += -DWITH_XIMEA=OFF + +# Non-Linux support (Android options) must remain OFF: +OPENCV4_CONF_OPTS += \ + -DANDROID=OFF \ + -DBUILD_ANDROID_CAMERA_WRAPPER=OFF \ + -DBUILD_ANDROID_EXAMPLES=OFF \ + -DBUILD_ANDROID_SERVICE=OFF \ + -DBUILD_FAT_JAVA_LIB=OFF \ + -DINSTALL_ANDROID_EXAMPLES=OFF \ + -DWITH_ANDROID_CAMERA=OFF + +# Non-Linux support (Mac OSX options) must remain OFF: +OPENCV4_CONF_OPTS += \ + -DWITH_AVFOUNDATION=OFF \ + -DWITH_CARBON=OFF \ + -DWITH_QUICKTIME=OFF + +# Non-Linux support (Windows options) must remain OFF: +OPENCV4_CONF_OPTS += \ + -DWITH_CSTRIPES=OFF \ + -DWITH_DSHOW=OFF \ + -DWITH_MSMF=OFF \ + -DWITH_VFW=OFF \ + -DWITH_VIDEOINPUT=OFF \ + -DWITH_WIN32UI=OFF + +# Software/3rd-party support options: +# - disable all examples +OPENCV4_CONF_OPTS += \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_JASPER=OFF \ + -DBUILD_JPEG=OFF \ + -DBUILD_OPENEXR=OFF \ + -DBUILD_OPENJPEG=OFF \ + -DBUILD_PNG=OFF \ + -DBUILD_PROTOBUF=OFF \ + -DBUILD_TIFF=OFF \ + -DBUILD_ZLIB=OFF \ + -DINSTALL_C_EXAMPLES=OFF \ + -DINSTALL_PYTHON_EXAMPLES=OFF \ + -DINSTALL_TO_MANGLED_PATHS=OFF + +# Disabled features (mostly because they are not available in Buildroot), but +# - eigen: OpenCV does not use it, not take any benefit from it. +OPENCV4_CONF_OPTS += \ + -DWITH_1394=OFF \ + -DWITH_CLP=OFF \ + -DWITH_EIGEN=OFF \ + -DWITH_GDAL=OFF \ + -DWITH_GPHOTO2=OFF \ + -DWITH_GSTREAMER_0_10=OFF \ + -DWITH_LAPACK=OFF \ + -DWITH_MATLAB=OFF \ + -DWITH_OPENCL=OFF \ + -DWITH_OPENCL_SVM=OFF \ + -DWITH_OPENEXR=OFF \ + -DWITH_OPENNI2=OFF \ + -DWITH_OPENNI=OFF \ + -DWITH_UNICAP=OFF \ + -DWITH_VA=OFF \ + -DWITH_VA_INTEL=OFF \ + -DWITH_VTK=OFF \ + -DWITH_XINE=OFF + +OPENCV4_DEPENDENCIES += host-pkgconf zlib + +ifeq ($(BR2_PACKAGE_OPENCV4_JPEG2000_WITH_JASPER),y) +OPENCV4_CONF_OPTS += -DWITH_JASPER=ON +OPENCV4_DEPENDENCIES += jasper +else +OPENCV4_CONF_OPTS += -DWITH_JASPER=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_JPEG2000_WITH_OPENJPEG),y) +OPENCV4_CONF_OPTS += -DWITH_OPENJPEG=ON +OPENCV4_DEPENDENCIES += openjpeg +else +OPENCV4_CONF_OPTS += -DWITH_OPENJPEG=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_FFMPEG),y) +OPENCV4_CONF_OPTS += -DWITH_FFMPEG=ON +OPENCV4_DEPENDENCIES += ffmpeg bzip2 +else +OPENCV4_CONF_OPTS += -DWITH_FFMPEG=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_GSTREAMER1),y) +OPENCV4_CONF_OPTS += -DWITH_GSTREAMER=ON +OPENCV4_DEPENDENCIES += gstreamer1 gst1-plugins-base +else +OPENCV4_CONF_OPTS += -DWITH_GSTREAMER=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_GTK)$(BR2_PACKAGE_OPENCV4_WITH_GTK3),) +OPENCV4_CONF_OPTS += -DWITH_GTK=OFF -DWITH_GTK_2_X=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_GTK),y) +OPENCV4_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=ON +OPENCV4_DEPENDENCIES += libgtk2 +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_GTK3),y) +OPENCV4_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=OFF +OPENCV4_DEPENDENCIES += libgtk3 +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_JPEG),y) +OPENCV4_CONF_OPTS += -DWITH_JPEG=ON +OPENCV4_DEPENDENCIES += jpeg +else +OPENCV4_CONF_OPTS += -DWITH_JPEG=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_OPENGL),y) +OPENCV4_CONF_OPTS += -DWITH_OPENGL=ON +OPENCV4_DEPENDENCIES += libgl +else +OPENCV4_CONF_OPTS += -DWITH_OPENGL=OFF +endif + +OPENCV4_CONF_OPTS += -DWITH_OPENMP=$(if $(BR2_TOOLCHAIN_HAS_OPENMP),ON,OFF) + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_PNG),y) +OPENCV4_CONF_OPTS += -DWITH_PNG=ON +OPENCV4_DEPENDENCIES += libpng +else +OPENCV4_CONF_OPTS += -DWITH_PNG=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_PROTOBUF),y) +OPENCV4_CONF_OPTS += \ + -DPROTOBUF_UPDATE_FILES=ON \ + -DWITH_PROTOBUF=ON +OPENCV4_DEPENDENCIES += protobuf +else +OPENCV4_CONF_OPTS += -DWITH_PROTOBUF=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_QT5),y) +OPENCV4_CONF_OPTS += -DWITH_QT=5 +OPENCV4_DEPENDENCIES += qt5base +else +OPENCV4_CONF_OPTS += -DWITH_QT=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_TIFF),y) +OPENCV4_CONF_OPTS += -DWITH_TIFF=ON +OPENCV4_DEPENDENCIES += tiff +else +OPENCV4_CONF_OPTS += -DWITH_TIFF=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_V4L),y) +OPENCV4_CONF_OPTS += \ + -DWITH_LIBV4L=$(if $(BR2_PACKAGE_LIBV4L),ON,OFF) \ + -DWITH_V4L=ON +OPENCV4_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBV4L),libv4l) +else +OPENCV4_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_WITH_WEBP),y) +OPENCV4_CONF_OPTS += -DWITH_WEBP=ON +OPENCV4_DEPENDENCIES += webp +else +OPENCV4_CONF_OPTS += -DWITH_WEBP=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENCV4_LIB_PYTHON),y) +OPENCV4_CONF_OPTS += \ + -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=ON \ + -DPYTHON3_EXECUTABLE=$(HOST_DIR)/bin/python3 \ + -DPYTHON3_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ + -DPYTHON3_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON3_VERSION_MAJOR).so \ + -DPYTHON3_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \ + -DPYTHON3_PACKAGES_PATH=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ + -DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) +OPENCV4_DEPENDENCIES += python3 +OPENCV4_KEEP_PY_FILES += usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/cv2/config*.py +OPENCV4_CONF_ENV += $(PKG_PYTHON_DISTUTILS_ENV) +OPENCV4_DEPENDENCIES += python-numpy +else +OPENCV4_CONF_OPTS += \ + -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=OFF +endif + +# Installation hooks: +define OPENCV4_CLEAN_INSTALL_LICENSE + $(RM) -fr $(TARGET_DIR)/usr/share/licenses/opencv4 +endef +OPENCV4_POST_INSTALL_TARGET_HOOKS += OPENCV4_CLEAN_INSTALL_LICENSE + +define OPENCV4_CLEAN_INSTALL_VALGRIND + $(RM) -f $(TARGET_DIR)/usr/share/opencv4/valgrind* +endef +OPENCV4_POST_INSTALL_TARGET_HOOKS += OPENCV4_CLEAN_INSTALL_VALGRIND + +ifneq ($(BR2_PACKAGE_OPENCV4_INSTALL_DATA),y) +define OPENCV4_CLEAN_INSTALL_DATA + $(RM) -fr $(TARGET_DIR)/usr/share/opencv4/haarcascades \ + $(TARGET_DIR)/usr/share/opencv4/lbpcascades +endef +OPENCV4_POST_INSTALL_TARGET_HOOKS += OPENCV4_CLEAN_INSTALL_DATA +endif + +$(eval $(cmake-package)) diff --git a/package/openfpgaloader/Config.in b/package/openfpgaloader/Config.in index f1b34ef5dda..054278c256d 100644 --- a/package/openfpgaloader/Config.in +++ b/package/openfpgaloader/Config.in @@ -4,11 +4,28 @@ config BR2_PACKAGE_OPENFPGALOADER depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libftdi1 -> libusb depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBFTDI1 + select BR2_PACKAGE_ZLIB help Universal utility for programming FPGA https://github.com/trabucayre/openFPGALoader/ +if BR2_PACKAGE_OPENFPGALOADER + +config BR2_PACAKGE_OPENFPGALOADER_CMSIS + bool "CMSIS-DAP support" + depends on BR2_PACKAGE_HAS_UDEV # hidapi + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # hidapi + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # hidapi -> libusb + select BR2_PACKAGE_HIDAPI + help + openfpgaloader CMSIS-DAP support + +comment "openfpgaloader CMSIS-DAP needs udev /dev management and a toolchain w/ NPTL threads" + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS_NPTL + +endif + comment "openfpgaloader needs a toolchain w/ threads, C++, gcc >= 4.9" depends on !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_INSTALL_LIBSTDCPP || \ diff --git a/package/openfpgaloader/openfpgaloader.hash b/package/openfpgaloader/openfpgaloader.hash index 990149cded4..6c9d8a2b913 100644 --- a/package/openfpgaloader/openfpgaloader.hash +++ b/package/openfpgaloader/openfpgaloader.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ef3ed60297ab560f15cd4362d61b7da86c44b84e18937e0411023f8d1cf6a606 openfpgaloader-381c67de00a3102cf6e9bb20ca84030a71c7a0f2.tar.gz -sha256 8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef LICENSE +sha256 a862a209d696becff915a77512e6a8c22f92d73480a45cc12273d9ad1db60d23 openfpgaloader-0.6.1.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/openfpgaloader/openfpgaloader.mk b/package/openfpgaloader/openfpgaloader.mk index 1bb3de37fb1..0c39aad6871 100644 --- a/package/openfpgaloader/openfpgaloader.mk +++ b/package/openfpgaloader/openfpgaloader.mk @@ -4,11 +4,11 @@ # ################################################################################ -OPENFPGALOADER_VERSION = 381c67de00a3102cf6e9bb20ca84030a71c7a0f2 -OPENFPGALOADER_SITE = $(call github,trabucayre,openFPGALoader,$(OPENFPGALOADER_VERSION)) -OPENFPGALOADER_LICENSE = AGPL-3.0 +OPENFPGALOADER_VERSION = 0.6.1 +OPENFPGALOADER_SITE = $(call github,trabucayre,openFPGALoader,v$(OPENFPGALOADER_VERSION)) +OPENFPGALOADER_LICENSE = Apache-2.0 OPENFPGALOADER_LICENSE_FILES = LICENSE -OPENFPGALOADER_DEPENDENCIES = libftdi1 +OPENFPGALOADER_DEPENDENCIES = libftdi1 zlib ifeq ($(BR2_PACKAGE_HAS_UDEV),y) OPENFPGALOADER_DEPENDENCIES += udev @@ -17,4 +17,11 @@ else OPENFPGALOADER_CONF_OPTS += -DENABLE_UDEV=OFF endif +ifeq ($(BR2_PACAKGE_OPENFPGALOADER_CMSIS),y) +OPENFPGALOADER_DEPENDENCIES += hidapi +OPENFPGALOADER_CONF_OPTS += -DENABLE_CMSISDAP=ON +else +OPENFPGALOADER_CONF_OPTS += -DENABLE_CMSISDAP=OFF +endif + $(eval $(cmake-package)) diff --git a/package/opengl/Config.in b/package/opengl/Config.in index cbc001427d2..cfa51def450 100644 --- a/package/opengl/Config.in +++ b/package/opengl/Config.in @@ -1,5 +1,6 @@ source "package/opengl/libgl/Config.in" source "package/opengl/libegl/Config.in" +source "package/opengl/libgbm/Config.in" source "package/opengl/libgles/Config.in" source "package/opengl/libopencl/Config.in" source "package/opengl/libopenvg/Config.in" diff --git a/package/opengl/libgbm/Config.in b/package/opengl/libgbm/Config.in new file mode 100644 index 00000000000..6eb39761c44 --- /dev/null +++ b/package/opengl/libgbm/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_HAS_LIBGBM + bool + +config BR2_PACKAGE_PROVIDES_LIBGBM + string + depends on BR2_PACKAGE_HAS_LIBGBM + +# gbm implementations should select +# BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT if they +# provide the format modifier plane count feature. This API was +# initially introduced in mesa3d version 17. A gbm implementation +# provides this feature if it is implement function +# gbm_device_get_format_modifier_plane_count. +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT + bool + depends on BR2_PACKAGE_HAS_LIBGBM + +# gbm implementations should select +# BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF if they provide the dma +# buffer feature. This API was initially introduced in mesa3d version +# 10. A gbm implementation provides this feature if it is implement +# function gbm_bo_get_fd. +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF + bool + depends on BR2_PACKAGE_HAS_LIBGBM diff --git a/package/opengl/libgbm/libgbm.mk b/package/opengl/libgbm/libgbm.mk new file mode 100644 index 00000000000..ecab234720c --- /dev/null +++ b/package/opengl/libgbm/libgbm.mk @@ -0,0 +1,9 @@ +################################################################################ +# +# libgbm +# +################################################################################ + +# This package requires to install a gbm.pc which needs +# to be provided by GBM providers. +$(eval $(virtual-package)) diff --git a/package/openipmi/0001-Avoid-searching-host-library-path.patch b/package/openipmi/0001-Avoid-searching-host-library-path.patch index 44a57dcfb4d..15b4510f675 100644 --- a/package/openipmi/0001-Avoid-searching-host-library-path.patch +++ b/package/openipmi/0001-Avoid-searching-host-library-path.patch @@ -10,6 +10,9 @@ $(libdir) in the library search path. Signed-off-by: Baruch Siach Signed-off-by: Joel Stanley +[Fabrice: refresh patch for 2.0.32] +Signed-off-by: Fabrice Fontaine +[Upstream status: https://sourceforge.net/p/openipmi/patches/35] --- cmdlang/Makefile.am | 3 +-- unix/Makefile.am | 6 ++---- @@ -19,13 +22,12 @@ diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am index 264ee12be79f..0b3843784656 100644 --- a/cmdlang/Makefile.am +++ b/cmdlang/Makefile.am -@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.c cmd_domain.c cmd_entity.c cmd_mc.c \ - libOpenIPMIcmdlang_la_LIBADD = -lm \ +@@ -15,7 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.c cmd_domain.c cmd_entity.c cmd_mc.c \ $(top_builddir)/utils/libOpenIPMIutils.la \ $(top_builddir)/lib/libOpenIPMI.la --libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -L$(libdir) -+libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) + libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ +- -L$(libdir) -no-undefined ++ -no-undefined bin_PROGRAMS = openipmish @@ -33,20 +35,19 @@ diff --git a/unix/Makefile.am b/unix/Makefile.am index 5128839dad13..bd0f897ba8d6 100644 --- a/unix/Makefile.am +++ b/unix/Makefile.am -@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la - libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c +@@ -10,12 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \ $(top_builddir)/utils/libOpenIPMIutils.la $(RT_LIB) --libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -L$(libdir) -+libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) + libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ +- -L$(libdir) -no-undefined ++ -no-undefined libOpenIPMIposix_la_SOURCES = posix_os_hnd.c selector.c libOpenIPMIposix_la_LIBADD = $(top_builddir)/utils/libOpenIPMIutils.la \ $(GDBM_LIB) $(RT_LIB) --libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -L$(libdir) -+libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) + libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ +- -L$(libdir) -no-undefined ++ -no-undefined noinst_HEADERS = heap.h diff --git a/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch b/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch new file mode 100644 index 00000000000..e1838a06f45 --- /dev/null +++ b/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch @@ -0,0 +1,55 @@ +From 388033e3d0129510c3884333bc428cefeb75e0b8 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 3 Jan 2022 23:27:21 +0100 +Subject: [PATCH] configure.ac: add --without-execinfo option + +Add an option to allow the user to disable execinfo to avoid the +following build failure on musl with +https://github.com/mikroskeem/libexecinfo: + +/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-musl/10.3.0/../../../../x86_64-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/openipmi-2.0.28/utils/.libs/libOpenIPMIutils.so: undefined reference to `backtrace' + +Fixes: + - http://autobuild.buildroot.org/results/dcc33c5cca97d538231647a94212450f043974b3 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://sourceforge.net/p/openipmi/patches/36] +--- + configure.ac | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 607864b9..f369166f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -77,6 +77,16 @@ AC_ARG_WITH(poptlibs, + POPTLIBS="$withval" + ) + ++tryexecinfo=yes ++AC_ARG_WITH(execinfo, ++[ --with-execinfo[[=yes|no]] Look for execinfo.], ++ if test "x$withval" = "xyes"; then ++ tryexecinfo=yes ++ elif test "x$withval" = "xno"; then ++ tryexecinfo=no ++ fi, ++) ++ + # If UCD SNMP requires OpenSSL, this tells where to find the crypto lib + tryopenssl=yes + AC_ARG_WITH(openssl, +@@ -275,7 +285,9 @@ AM_PROG_CC_C_O + AC_PROG_LIBTOOL + AC_STDC_HEADERS + +-AC_CHECK_HEADERS(execinfo.h) ++if test "x$tryexecinfo" != "xno"; then ++ AC_CHECK_HEADERS(execinfo.h) ++fi + AC_CHECK_HEADERS([netinet/ether.h]) + AC_CHECK_HEADERS([sys/ethernet.h]) + +-- +2.34.1 + diff --git a/package/openipmi/openipmi.hash b/package/openipmi/openipmi.hash index 2ec9dd31aff..eded076ade1 100644 --- a/package/openipmi/openipmi.hash +++ b/package/openipmi/openipmi.hash @@ -1,8 +1,8 @@ # From http://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library/ -sha1 be0c87743a38e2fa00586df931f021c0b480385b OpenIPMI-2.0.28.tar.gz -md5 ba37f08e306062ec73c7ed2a2bd4d5f4 OpenIPMI-2.0.28.tar.gz +sha1 73d7dce4312b006983b11367e4a43d4ec52cf888 OpenIPMI-2.0.32.tar.gz +md5 532404c9df7d0e8bde975b95b9e6775b OpenIPMI-2.0.32.tar.gz # Locally computed -sha256 8e8b1de2a9a041b419133ecb21f956e999841cf2e759e973eeba9a36f8b40996 OpenIPMI-2.0.28.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING -sha256 185323a62589e7ee80f86bf2ea29caad9a09fdda0ea3f1c00db8b778c7edf60e COPYING.BSD -sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING.LIB +sha256 f6d0fd4c0a74b05f80907229d0b270f54ca23294bcc11979f8b8d12766786945 OpenIPMI-2.0.32.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 185323a62589e7ee80f86bf2ea29caad9a09fdda0ea3f1c00db8b778c7edf60e COPYING.BSD +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING.LIB diff --git a/package/openipmi/openipmi.mk b/package/openipmi/openipmi.mk index 3240b89894b..b3a4d90d4b1 100644 --- a/package/openipmi/openipmi.mk +++ b/package/openipmi/openipmi.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENIPMI_VERSION = 2.0.28 +OPENIPMI_VERSION = 2.0.32 OPENIPMI_SITE = https://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library OPENIPMI_SOURCE = OpenIPMI-$(OPENIPMI_VERSION).tar.gz OPENIPMI_LICENSE = LGPL-2.0+, GPL-2.0+, BSD-3-Clause @@ -15,6 +15,7 @@ OPENIPMI_INSTALL_STAGING = YES OPENIPMI_AUTORECONF = YES OPENIPMI_CONF_ENV = ac_cv_path_pkgprog="$(PKG_CONFIG_HOST_BINARY)" OPENIPMI_CONF_OPTS = \ + --with-execinfo=no \ --with-glib=no \ --with-tcl=no \ --with-perl=no \ diff --git a/package/openjdk-bin/openjdk-bin.hash b/package/openjdk-bin/openjdk-bin.hash index 48280480292..62691ed6f0c 100644 --- a/package/openjdk-bin/openjdk-bin.hash +++ b/package/openjdk-bin/openjdk-bin.hash @@ -1,8 +1,8 @@ -# From https://github.com/AdoptOpenJDK/openjdk14-binaries/releases -sha256 7d5ee7e06909b8a99c0d029f512f67b092597aa5b0e78c109bd59405bbfa74fe OpenJDK14U-jdk_x64_linux_hotspot_14.0.2_12.tar.gz +# https://github.com/adoptium/temurin17-binaries/releases +sha256 288f34e3ba8a4838605636485d0365ce23e57d5f2f68997ac4c2e4c01967cd48 OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz -# From https://github.com/AdoptOpenJDK/openjdk11-binaries/releases -sha256 6e4cead158037cb7747ca47416474d4f408c9126be5b96f9befd532e0a762b47 OpenJDK11U-jdk_x64_linux_hotspot_11.0.8_10.tar.gz +# From https://github.com/adoptium/temurin11-binaries/releases +sha256 43fb84f8063ad9bf6b6d694a67b8f64c8827552b920ec5ce794dfe5602edffe7 OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz # Locally calculated sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE diff --git a/package/openjdk-bin/openjdk-bin.mk b/package/openjdk-bin/openjdk-bin.mk index dd5b87fd9ee..3d1ebd74298 100644 --- a/package/openjdk-bin/openjdk-bin.mk +++ b/package/openjdk-bin/openjdk-bin.mk @@ -4,19 +4,17 @@ # ################################################################################ -ifeq ($(BR2_OPENJDK_VERSION_LATEST),y) -HOST_OPENJDK_BIN_VERSION_MAJOR = 14.0.2 -HOST_OPENJDK_BIN_VERSION_MINOR = 12 -HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR)_$(HOST_OPENJDK_BIN_VERSION_MINOR) -HOST_OPENJDK_BIN_SOURCE = OpenJDK14U-jdk_x64_linux_hotspot_$(HOST_OPENJDK_BIN_VERSION).tar.gz -HOST_OPENJDK_BIN_SITE = https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-$(HOST_OPENJDK_BIN_VERSION_MAJOR)%2B$(HOST_OPENJDK_BIN_VERSION_MINOR) +ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_17),y) +HOST_OPENJDK_BIN_VERSION_MAJOR = 17 +HOST_OPENJDK_BIN_VERSION_MINOR = 0.2_8 else -HOST_OPENJDK_BIN_VERSION_MAJOR = 11.0.8 -HOST_OPENJDK_BIN_VERSION_MINOR = 10 -HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR)_$(HOST_OPENJDK_BIN_VERSION_MINOR) -HOST_OPENJDK_BIN_SOURCE = OpenJDK11U-jdk_x64_linux_hotspot_$(HOST_OPENJDK_BIN_VERSION).tar.gz -HOST_OPENJDK_BIN_SITE = https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-$(HOST_OPENJDK_BIN_VERSION_MAJOR)%2B$(HOST_OPENJDK_BIN_VERSION_MINOR) +HOST_OPENJDK_BIN_VERSION_MAJOR = 11 +HOST_OPENJDK_BIN_VERSION_MINOR = 0.14.1_1 endif +HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR).$(HOST_OPENJDK_BIN_VERSION_MINOR) +HOST_OPENJDK_BIN_SOURCE = OpenJDK$(HOST_OPENJDK_BIN_VERSION_MAJOR)U-jdk_x64_linux_hotspot_$(HOST_OPENJDK_BIN_VERSION).tar.gz +HOST_OPENJDK_BIN_SITE = https://github.com/adoptium/temurin$(HOST_OPENJDK_BIN_VERSION_MAJOR)-binaries/releases/download/jdk-$(subst _,%2B,$(HOST_OPENJDK_BIN_VERSION)) + HOST_OPENJDK_BIN_LICENSE = GPL-2.0+ with exception HOST_OPENJDK_BIN_LICENSE_FILES = legal/java.prefs/LICENSE legal/java.prefs/ASSEMBLY_EXCEPTION diff --git a/package/openjdk/11.0.8+10/0001-fix-gcc-10-support.patch b/package/openjdk/11.0.8+10/0001-fix-gcc-10-support.patch deleted file mode 100644 index 9941d0151f7..00000000000 --- a/package/openjdk/11.0.8+10/0001-fix-gcc-10-support.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 58911e9de888aece29f491995a8b8a31f7d6b424 Mon Sep 17 00:00:00 2001 -From: Patrick Zhang -Date: Wed, 05 Feb 2020 17:14:15 -0700 -Subject: [PATCH] fix gcc 10 support - -This patch fixes the "multiple definition" link errors with GCC10 due to -GCC10 setting -fno-common by default. - -This is a combination of the following upstream commits: - - https://hg.openjdk.java.net/jdk/jdk/rev/8e6fa89397ca - - https://hg.openjdk.java.net/jdk/jdk/rev/6925fca95959 - - https://hg.openjdk.java.net/jdk/jdk/rev/9e54ea7d9cd9 - -Signed-off-by: Patrick Zhang -Signed-off-by: Adam Duskett ---- - src/java.base/unix/native/libjava/childproc.c | 1 + - src/java.base/unix/native/libjava/childproc.h | 2 +- - .../share/native/libj2gss/NativeFunc.c | 3 +++ - .../share/native/libj2gss/NativeFunc.h | 2 +- - src/jdk.sctp/unix/native/libsctp/Sctp.h | 12 ++++++------ - src/jdk.sctp/unix/native/libsctp/SctpNet.c | 7 +++++++ - 6 files changed, 19 insertions(+), 8 deletions(-) - -diff --git a/src/java.base/unix/native/libjava/childproc.c b/src/java.base/unix/native/libjava/childproc.c -index 811aaeac5..16480bfbf 100644 ---- a/src/java.base/unix/native/libjava/childproc.c -+++ b/src/java.base/unix/native/libjava/childproc.c -@@ -33,6 +33,7 @@ - - #include "childproc.h" - -+const char * const *parentPathv; - - ssize_t - restartableWrite(int fd, const void *buf, size_t count) -diff --git a/src/java.base/unix/native/libjava/childproc.h b/src/java.base/unix/native/libjava/childproc.h -index 091150930..d57e44b6e 100644 ---- a/src/java.base/unix/native/libjava/childproc.h -+++ b/src/java.base/unix/native/libjava/childproc.h -@@ -118,7 +118,7 @@ typedef struct _SpawnInfo { - * The cached and split version of the JDK's effective PATH. - * (We don't support putenv("PATH=...") in native code) - */ --const char * const *parentPathv; -+extern const char * const *parentPathv; - - ssize_t restartableWrite(int fd, const void *buf, size_t count); - int restartableDup2(int fd_from, int fd_to); -diff --git a/src/java.security.jgss/share/native/libj2gss/NativeFunc.c b/src/java.security.jgss/share/native/libj2gss/NativeFunc.c -index da7bc0445..5941f7b5a 100644 ---- a/src/java.security.jgss/share/native/libj2gss/NativeFunc.c -+++ b/src/java.security.jgss/share/native/libj2gss/NativeFunc.c -@@ -27,6 +27,9 @@ - #include - #include "NativeFunc.h" - -+/* global GSS function table */ -+GSS_FUNCTION_TABLE_PTR ftab; -+ - /* standard GSS method names (ordering is from mapfile) */ - static const char RELEASE_NAME[] = "gss_release_name"; - static const char IMPORT_NAME[] = "gss_import_name"; -diff --git a/src/java.security.jgss/share/native/libj2gss/NativeFunc.h b/src/java.security.jgss/share/native/libj2gss/NativeFunc.h -index 82914387c..e4a4981a3 100644 ---- a/src/java.security.jgss/share/native/libj2gss/NativeFunc.h -+++ b/src/java.security.jgss/share/native/libj2gss/NativeFunc.h -@@ -277,6 +277,6 @@ typedef struct GSS_FUNCTION_TABLE { - typedef GSS_FUNCTION_TABLE *GSS_FUNCTION_TABLE_PTR; - - /* global GSS function table */ --GSS_FUNCTION_TABLE_PTR ftab; -+extern GSS_FUNCTION_TABLE_PTR ftab; - - #endif -diff --git a/src/jdk.sctp/unix/native/libsctp/Sctp.h b/src/jdk.sctp/unix/native/libsctp/Sctp.h -index cc1367f78..46b07db0a 100644 ---- a/src/jdk.sctp/unix/native/libsctp/Sctp.h -+++ b/src/jdk.sctp/unix/native/libsctp/Sctp.h -@@ -322,12 +322,12 @@ typedef int sctp_peeloff_func(int sock, sctp_assoc_t id); - - #endif /* __linux__ */ - --sctp_getladdrs_func* nio_sctp_getladdrs; --sctp_freeladdrs_func* nio_sctp_freeladdrs; --sctp_getpaddrs_func* nio_sctp_getpaddrs; --sctp_freepaddrs_func* nio_sctp_freepaddrs; --sctp_bindx_func* nio_sctp_bindx; --sctp_peeloff_func* nio_sctp_peeloff; -+extern sctp_getladdrs_func* nio_sctp_getladdrs; -+extern sctp_freeladdrs_func* nio_sctp_freeladdrs; -+extern sctp_getpaddrs_func* nio_sctp_getpaddrs; -+extern sctp_freepaddrs_func* nio_sctp_freepaddrs; -+extern sctp_bindx_func* nio_sctp_bindx; -+extern sctp_peeloff_func* nio_sctp_peeloff; - - jboolean loadSocketExtensionFuncs(JNIEnv* env); - -diff --git a/src/jdk.sctp/unix/native/libsctp/SctpNet.c b/src/jdk.sctp/unix/native/libsctp/SctpNet.c -index d40c15aa3..ab9b6e093 100644 ---- a/src/jdk.sctp/unix/native/libsctp/SctpNet.c -+++ b/src/jdk.sctp/unix/native/libsctp/SctpNet.c -@@ -43,6 +43,13 @@ static jmethodID isaCtrID = 0; - static const char* nativeSctpLib = "libsctp.so.1"; - static jboolean funcsLoaded = JNI_FALSE; - -+sctp_getladdrs_func* nio_sctp_getladdrs; -+sctp_freeladdrs_func* nio_sctp_freeladdrs; -+sctp_getpaddrs_func* nio_sctp_getpaddrs; -+sctp_freepaddrs_func* nio_sctp_freepaddrs; -+sctp_bindx_func* nio_sctp_bindx; -+sctp_peeloff_func* nio_sctp_peeloff; -+ - JNIEXPORT jint JNICALL DEF_JNI_OnLoad - (JavaVM *vm, void *reserved) { - return JNI_VERSION_1_2; --- -2.26.2 - diff --git a/package/openjdk/14.0.2+12/0001-fix-gcc-10-support.patch b/package/openjdk/14.0.2+12/0001-fix-gcc-10-support.patch deleted file mode 100644 index 5364c47252f..00000000000 --- a/package/openjdk/14.0.2+12/0001-fix-gcc-10-support.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 58911e9de888aece29f491995a8b8a31f7d6b424 Mon Sep 17 00:00:00 2001 -From: Patrick Zhang -Date: Wed, 05 Feb 2020 17:14:15 -0700 -Subject: [PATCH] fix gcc 10 support - -This patch fixes the "multiple definition" link errors with GCC10 due to -GCC10 setting -fno-common by default. - -This is a combination of the following upstream commits: - - https://hg.openjdk.java.net/jdk/jdk/rev/8e6fa89397ca - - https://hg.openjdk.java.net/jdk/jdk/rev/6925fca95959 - - https://hg.openjdk.java.net/jdk/jdk/rev/9e54ea7d9cd9 - -Signed-off-by: Patrick Zhang -Signed-off-by: Adam Duskett ---- - src/java.base/unix/native/libjava/childproc.c | 1 + - src/java.base/unix/native/libjava/childproc.h | 2 +- - .../share/native/libj2gss/NativeFunc.c | 3 +++ - .../share/native/libj2gss/NativeFunc.h | 2 +- - src/jdk.sctp/unix/native/libsctp/Sctp.h | 12 ++++++------ - src/jdk.sctp/unix/native/libsctp/SctpNet.c | 7 +++++++ - 6 files changed, 19 insertions(+), 8 deletions(-) - -diff --git a/src/java.base/unix/native/libjava/childproc.c b/src/java.base/unix/native/libjava/childproc.c -index 811aaeac5..16480bfbf 100644 ---- a/src/java.base/unix/native/libjava/childproc.c -+++ b/src/java.base/unix/native/libjava/childproc.c -@@ -34,6 +34,7 @@ - - #include "childproc.h" - -+const char * const *parentPathv; - - ssize_t - restartableWrite(int fd, const void *buf, size_t count) -diff --git a/src/java.base/unix/native/libjava/childproc.h b/src/java.base/unix/native/libjava/childproc.h -index 091150930..d57e44b6e 100644 ---- a/src/java.base/unix/native/libjava/childproc.h -+++ b/src/java.base/unix/native/libjava/childproc.h -@@ -126,7 +126,7 @@ typedef struct _SpawnInfo { - * The cached and split version of the JDK's effective PATH. - * (We don't support putenv("PATH=...") in native code) - */ --const char * const *parentPathv; -+extern const char * const *parentPathv; - - ssize_t restartableWrite(int fd, const void *buf, size_t count); - int restartableDup2(int fd_from, int fd_to); -diff --git a/src/java.security.jgss/share/native/libj2gss/NativeFunc.c b/src/java.security.jgss/share/native/libj2gss/NativeFunc.c -index da7bc0445..5941f7b5a 100644 ---- a/src/java.security.jgss/share/native/libj2gss/NativeFunc.c -+++ b/src/java.security.jgss/share/native/libj2gss/NativeFunc.c -@@ -27,6 +27,9 @@ - #include - #include "NativeFunc.h" - -+/* global GSS function table */ -+GSS_FUNCTION_TABLE_PTR ftab; -+ - /* standard GSS method names (ordering is from mapfile) */ - static const char RELEASE_NAME[] = "gss_release_name"; - static const char IMPORT_NAME[] = "gss_import_name"; -diff --git a/src/java.security.jgss/share/native/libj2gss/NativeFunc.h b/src/java.security.jgss/share/native/libj2gss/NativeFunc.h -index 82914387c..e4a4981a3 100644 ---- a/src/java.security.jgss/share/native/libj2gss/NativeFunc.h -+++ b/src/java.security.jgss/share/native/libj2gss/NativeFunc.h -@@ -277,6 +277,6 @@ typedef struct GSS_FUNCTION_TABLE { - typedef GSS_FUNCTION_TABLE *GSS_FUNCTION_TABLE_PTR; - - /* global GSS function table */ --GSS_FUNCTION_TABLE_PTR ftab; -+extern GSS_FUNCTION_TABLE_PTR ftab; - - #endif -diff --git a/src/jdk.sctp/unix/native/libsctp/Sctp.h b/src/jdk.sctp/unix/native/libsctp/Sctp.h -index cc1367f78..46b07db0a 100644 ---- a/src/jdk.sctp/unix/native/libsctp/Sctp.h -+++ b/src/jdk.sctp/unix/native/libsctp/Sctp.h -@@ -322,12 +322,12 @@ typedef int sctp_peeloff_func(int sock, sctp_assoc_t id); - - #endif /* __linux__ */ - --sctp_getladdrs_func* nio_sctp_getladdrs; --sctp_freeladdrs_func* nio_sctp_freeladdrs; --sctp_getpaddrs_func* nio_sctp_getpaddrs; --sctp_freepaddrs_func* nio_sctp_freepaddrs; --sctp_bindx_func* nio_sctp_bindx; --sctp_peeloff_func* nio_sctp_peeloff; -+extern sctp_getladdrs_func* nio_sctp_getladdrs; -+extern sctp_freeladdrs_func* nio_sctp_freeladdrs; -+extern sctp_getpaddrs_func* nio_sctp_getpaddrs; -+extern sctp_freepaddrs_func* nio_sctp_freepaddrs; -+extern sctp_bindx_func* nio_sctp_bindx; -+extern sctp_peeloff_func* nio_sctp_peeloff; - - jboolean loadSocketExtensionFuncs(JNIEnv* env); - -diff --git a/src/jdk.sctp/unix/native/libsctp/SctpNet.c b/src/jdk.sctp/unix/native/libsctp/SctpNet.c -index d40c15aa3..ab9b6e093 100644 ---- a/src/jdk.sctp/unix/native/libsctp/SctpNet.c -+++ b/src/jdk.sctp/unix/native/libsctp/SctpNet.c -@@ -43,6 +43,13 @@ static jmethodID isaCtrID = 0; - static const char* nativeSctpLib = "libsctp.so.1"; - static jboolean funcsLoaded = JNI_FALSE; - -+sctp_getladdrs_func* nio_sctp_getladdrs; -+sctp_freeladdrs_func* nio_sctp_freeladdrs; -+sctp_getpaddrs_func* nio_sctp_getpaddrs; -+sctp_freepaddrs_func* nio_sctp_freepaddrs; -+sctp_bindx_func* nio_sctp_bindx; -+sctp_peeloff_func* nio_sctp_peeloff; -+ - JNIEXPORT jint JNICALL DEF_JNI_OnLoad - (JavaVM *vm, void *reserved) { - return JNI_VERSION_1_2; --- -2.26.2 - diff --git a/package/openjdk/17.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch b/package/openjdk/17.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch new file mode 100644 index 00000000000..1ef523a4196 --- /dev/null +++ b/package/openjdk/17.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch @@ -0,0 +1,109 @@ +From 9a3c2a0714420186ae8d5159d5416c6fa2009ad9 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Mon, 18 Oct 2021 05:20:05 -0700 +Subject: [PATCH] Add ARCv2 ISA processors support to Zero + +This adds ARCv2 processors support in OpenJDK via +"Zero Assembly Project" (see https://openjdk.java.net/projects/zero). + +That' a purely interpretive mode, so likely not that fast +as JIT'ed version, but for starters it's much better than nothing. + +Once all the logistical problems are solved hopefully this +change will be accepted upstream. + +Signed-off-by: Alexey Brodkin +--- + make/autoconf/libraries.m4 | 8 ++++++++ + make/autoconf/platform.m4 | 8 ++++++++ + src/hotspot/os/linux/os_linux.cpp | 8 +++++++- + 3 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4 +index 5120918aed2..f7a99955874 100644 +--- a/make/autoconf/libraries.m4 ++++ b/make/autoconf/libraries.m4 +@@ -122,6 +122,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], + BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lpthread" + fi + ++ # Libatomic library ++ # 32-bit ARC needs fallback library for 8-byte atomic ops ++ # Inspired by a fix for MIPS, see https://github.com/openjdk/jdk/commit/1b3aa3af ++ if test "x$OPENJDK_TARGET_OS" = xlinux && ++ (test "x$OPENJDK_TARGET_CPU" = xarc); then ++ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic" ++ fi ++ + # perfstat lib + if test "x$OPENJDK_TARGET_OS" = xaix; then + BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat" +diff --git a/make/autoconf/platform.m4 b/make/autoconf/platform.m4 +index c0f2446dbd7..dc416ece885 100644 +--- a/make/autoconf/platform.m4 ++++ b/make/autoconf/platform.m4 +@@ -54,6 +54,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU], + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; ++ arc) ++ VAR_CPU=arc ++ VAR_CPU_ARCH=arc ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; + arm*) + VAR_CPU=arm + VAR_CPU_ARCH=arm +@@ -478,6 +484,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER], + HOTSPOT_$1_CPU_DEFINE=PPC64 + + # The cpu defines below are for zero, we don't support them directly. ++ elif test "x$OPENJDK_$1_CPU" = xarc; then ++ HOTSPOT_$1_CPU_DEFINE=ARC + elif test "x$OPENJDK_$1_CPU" = xsparc; then + HOTSPOT_$1_CPU_DEFINE=SPARC + elif test "x$OPENJDK_$1_CPU" = xppc; then +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index b08caf4d5d3..2bf084895ba 100644 +--- a/src/hotspot/os/linux/os_linux.cpp ++++ b/src/hotspot/os/linux/os_linux.cpp +@@ -1858,6 +1858,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + #ifndef EM_AARCH64 + #define EM_AARCH64 183 /* ARM AARCH64 */ + #endif ++#ifndef EM_ARC_COMPACT2 ++ #define EM_ARC_COMPACT2 195 /* ARC ARCv2 ISA */ ++#endif + #ifndef EM_RISCV + #define EM_RISCV 243 /* RISC-V */ + #endif +@@ -1879,6 +1882,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + {EM_SH, EM_SH, ELFCLASS32, ELFDATA2MSB, (char*)"SuperH BE"}, + #endif + {EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"}, ++ {EM_ARC_COMPACT2, EM_ARC_COMPACT2, ELFCLASS32, ELFDATA2LSB, (char*)"ARC"}, + // we only support 64 bit z architecture + {EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"IBM System/390"}, + {EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"}, +@@ -1906,6 +1910,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + static Elf32_Half running_arch_code=EM_PPC; + #elif (defined AARCH64) + static Elf32_Half running_arch_code=EM_AARCH64; ++#elif (defined ARC) ++ static Elf32_Half running_arch_code=EM_ARC_COMPACT2; + #elif (defined ARM) + static Elf32_Half running_arch_code=EM_ARM; + #elif (defined S390) +@@ -1926,7 +1932,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + static Elf32_Half running_arch_code=EM_RISCV; + #else + #error Method os::dll_load requires that one of following is defined:\ +- AARCH64, ALPHA, ARM, AMD64, IA32, IA64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc ++ AARCH64, ALPHA, ARC, ARM, AMD64, IA32, IA64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc + #endif + + // Identify compatibility class for VM's architecture and library's architecture +-- +2.16.2 + diff --git a/package/openjdk/Config.in b/package/openjdk/Config.in index 1b60d80dc20..8b7fd4653e0 100644 --- a/package/openjdk/Config.in +++ b/package/openjdk/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS config BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS bool default y if BR2_aarch64 + default y if BR2_arc && !(BR2_arc750d || BR2_arc770d) default y if BR2_arm default y if BR2_i386 || BR2_x86_64 default y if BR2_m68k @@ -20,7 +21,11 @@ config BR2_PACKAGE_OPENJDK depends on !BR2_STATIC_LIBS # glibc depends on BR2_INSTALL_LIBSTDCPP # cups depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, cups, libusb - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb, C++14 for OpenJDK17 + # Strictly needed only for OpenJDK17, but to keep dependencies + # simple with ARC supported only with OpenJDK17, we make this + # dependency apply to OpenJDK as a whole. + depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++14 depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_USE_MMU # cups depends on BR2_PACKAGE_XORG7 @@ -51,15 +56,17 @@ if BR2_PACKAGE_OPENJDK choice prompt "openjdk version" - default BR2_OPENJDK_VERSION_LATEST + default BR2_PACKAGE_OPENJDK_VERSION_17 help Select the version of OpenJDK you wish to use. -config BR2_OPENJDK_VERSION_LTS - bool "LTS (OpenJDK 11)" +config BR2_PACKAGE_OPENJDK_VERSION_11 + bool "OpenJDK 11" + # The ARC-specific OpenJDK patch only applies to OpenJDK 17. + depends on !BR2_arc -config BR2_OPENJDK_VERSION_LATEST - bool "latest (OpenJDK 14)" +config BR2_PACKAGE_OPENJDK_VERSION_17 + bool "OpenJDK 17" endchoice @@ -119,18 +126,19 @@ config BR2_PACKAGE_OPENJDK_FULL_JDK choice prompt "openjdk variant" - default BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER if !BR2_powerpc + default BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER if !(BR2_powerpc || BR2_arc) default BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO if BR2_powerpc + default BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO if BR2_arc config BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT bool "client" - depends on !BR2_powerpc + depends on !(BR2_powerpc || BR2_arc) help Quick loading, but slower run-time performance. config BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER bool "server" - depends on !BR2_powerpc + depends on !(BR2_powerpc || BR2_arc) help Slower loading, but faster run-time performance. @@ -152,14 +160,15 @@ comment "openjdk needs X.Org" depends on BR2_USE_MMU depends on !BR2_PACKAGE_XORG7 -comment "openjdk needs glibc, and a toolchain w/ wchar, dynamic library, threads, C++, gcc >= 4.9" +comment "openjdk needs glibc, and a toolchain w/ wchar, dynamic library, threads, C++, gcc >= 4.9, host gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_4_9 comment "openjdk does not support soft float configurations" depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS diff --git a/package/openjdk/openjdk.hash b/package/openjdk/openjdk.hash index 6acfa224352..293787792d7 100644 --- a/package/openjdk/openjdk.hash +++ b/package/openjdk/openjdk.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 dfb3607f1b675458f29a185a40f1dbbf896439cf33b3aa0f3d89df297e604935 jdk-14.0.2+12.tar.gz -sha256 7fc124b5e20428cd5df42d78b001abc663558b0881e66a5def0892b98265b6e9 jdk-11.0.8+10.tar.gz +sha256 2fdd23261526362d4aaf58323441d4c31d29de2e374ba94bbf2727a00adc0ea7 openjdk-17.0.2+8.tar.gz +sha256 0e859cc03378439023e17ee82aecee5a52265fb38906a8bebf16027aa2b2bcf5 openjdk-11.0.14.1+1.tar.gz sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 LICENSE diff --git a/package/openjdk/openjdk.mk b/package/openjdk/openjdk.mk index 80e1fc1aacc..42d52d57c47 100644 --- a/package/openjdk/openjdk.mk +++ b/package/openjdk/openjdk.mk @@ -4,19 +4,15 @@ # ################################################################################ -ifeq ($(BR2_OPENJDK_VERSION_LATEST),y) -OPENJDK_VERSION_MAJOR = 14.0.2 -OPENJDK_VERSION_MINOR = 12 -OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR)+$(OPENJDK_VERSION_MINOR) -OPENJDK_SOURCE = jdk-$(OPENJDK_VERSION).tar.gz -OPENJDK_SITE = https://hg.openjdk.java.net/jdk-updates/jdk14u/archive +ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_17),y) +OPENJDK_VERSION_MAJOR = 17 +OPENJDK_VERSION_MINOR = 0.2+8 else -OPENJDK_VERSION_MAJOR = 11.0.8 -OPENJDK_VERSION_MINOR = 10 -OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR)+$(OPENJDK_VERSION_MINOR) -OPENJDK_SOURCE = jdk-$(OPENJDK_VERSION).tar.gz -OPENJDK_SITE = https://hg.openjdk.java.net/jdk-updates/jdk11u/archive +OPENJDK_VERSION_MAJOR = 11 +OPENJDK_VERSION_MINOR = 0.14.1+1 endif +OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR).$(OPENJDK_VERSION_MINOR) +OPENJDK_SITE = $(call github,openjdk,jdk$(OPENJDK_VERSION_MAJOR)u,jdk-$(OPENJDK_VERSION)) OPENJDK_LICENSE = GPL-2.0+ with exception OPENJDK_LICENSE_FILES = LICENSE diff --git a/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch b/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch deleted file mode 100644 index bce790a4786..00000000000 --- a/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 38f50c7d9ad3ba06b64583045665203afb53cbd9 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 6 Nov 2016 16:29:08 +0100 -Subject: [PATCH] thirdparty: tiff: append flags found by pkg-config if - available - -This change allows to get all required CFLAGS/LDFLAGS in case of static only -build. - -This build issue [1] was triggered by the Buildroot farms. - -[1] http://autobuild.buildroot.net/results/d0d/d0d22727311d6300e0e400728126170407bfd699/build-end.log - -Signed-off-by: Samuel Martin ---- - thirdparty/CMakeLists.txt | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt -index cb24b43b58e2..cd6a5e1391b0 100644 ---- a/thirdparty/CMakeLists.txt -+++ b/thirdparty/CMakeLists.txt -@@ -1,5 +1,9 @@ - # 3rd party libs - -+if(NOT BUILD_THIRDPARTY) -+ include(FindPkgConfig) -+endif(NOT BUILD_THIRDPARTY) -+ - #------------ - # Try to find lib Z - if(BUILD_THIRDPARTY) -@@ -36,6 +40,9 @@ if(BUILD_THIRDPARTY) - else(BUILD_THIRDPARTY) - if(ZLIB_FOUND) - find_package(PNG) -+ # Static only build: -+ # it is not necessary to invoke pkg_check_module on libpng, because libpng -+ # only depends on zlib, which is already checked. - if(PNG_FOUND) - message(STATUS "Your system seems to have a PNG lib available, we will use it") - set(OPJ_HAVE_PNG_H 1 PARENT_SCOPE) -@@ -66,12 +73,24 @@ if(BUILD_THIRDPARTY) - set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) - else(BUILD_THIRDPARTY) - find_package(TIFF) -+ # Static only build: -+ # it is necessary to invoke pkg_check_module on libtiff since it may have -+ # several other dependencies not declared by its cmake module, but they are -+ # in the its pkgconfig module. -+ if(PKG_CONFIG_FOUND) -+ foreach(pc_tiff_module tiff tiff3 tiff4 tiff-3 tiff-4 libtiff libtiff3 libtiff4 libtiff-3 libtiff-4) -+ pkg_check_modules(PC_TIFF QUIET ${pc_tiff_module}) -+ if(PC_TIFF_FOUND) -+ break() -+ endif(PC_TIFF_FOUND) -+ endforeach() -+ endif(PKG_CONFIG_FOUND) - if(TIFF_FOUND) - message(STATUS "Your system seems to have a TIFF lib available, we will use it") - set(OPJ_HAVE_TIFF_H 1 PARENT_SCOPE) - set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) -- set(TIFF_LIBNAME ${TIFF_LIBRARIES} PARENT_SCOPE) -- set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} PARENT_SCOPE) -+ set(TIFF_LIBNAME ${TIFF_LIBRARIES} ${PC_TIFF_STATIC_LIBRARIES} PARENT_SCOPE) -+ set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} ${PC_TIFF_STATIC_INCLUDE_DIRS} PARENT_SCOPE) - else(TIFF_FOUND) # not found - set(OPJ_HAVE_TIFF_H 0 PARENT_SCOPE) - set(OPJ_HAVE_LIBTIFF 0 PARENT_SCOPE) --- -2.10.2 - diff --git a/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch b/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch deleted file mode 100644 index 5697b82de2e..00000000000 --- a/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 226daa77ea5a35da306f9af2548f3e2c9e79f577 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Fri, 11 Nov 2016 23:35:13 +0100 -Subject: [PATCH] thirdparty: lcms2: append flags found by pkg-config if - available - -This change allows to get all required CFLAGS/LDFLAGS in case of static only -build. - -Fixes a buildroot build failure (see [1], [2] and [3]). - -[1] http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57 -[2] http://lists.busybox.net/pipermail/buildroot/2016-November/177187.html -[3] http://lists.busybox.net/pipermail/buildroot/2016-November/177188.html - -Signed-off-by: Peter Seiderer ---- - thirdparty/CMakeLists.txt | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt -index cd6a5e1391b0..a3a8494d89b1 100644 ---- a/thirdparty/CMakeLists.txt -+++ b/thirdparty/CMakeLists.txt -@@ -113,12 +113,19 @@ if( BUILD_THIRDPARTY) - set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) - else(BUILD_THIRDPARTY) - find_package(LCMS2) -+ # Static only build: -+ # it is necessary to invoke pkg_check_module on lcms2 since it may have -+ # several other dependencies not declared by its cmake module, but they are -+ # in the its pkgconfig module. -+ if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PC_LCMS2 QUIET lcms2) -+ endif(PKG_CONFIG_FOUND) - if(LCMS2_FOUND) - message(STATUS "Your system seems to have a LCMS2 lib available, we will use it") - set(OPJ_HAVE_LCMS2_H 1 PARENT_SCOPE) - set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) -- set(LCMS_LIBNAME ${LCMS2_LIBRARIES} PARENT_SCOPE) -- set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} PARENT_SCOPE) -+ set(LCMS_LIBNAME ${LCMS2_LIBRARIES} ${PC_LCMS2_STATIC_LIBRARIES} PARENT_SCOPE) -+ set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} ${PC_LCMS2_STATIC_INCLUDE_DIRS} PARENT_SCOPE) - else(LCMS2_FOUND) # not found lcms2 - # try to find LCMS - find_package(LCMS) --- -2.10.2 - diff --git a/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch b/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch deleted file mode 100644 index 13cceef1959..00000000000 --- a/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 786ddcd1475adc6193c59d53e0d8ed2c502f2b00 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 23 Sep 2017 18:49:31 +0200 -Subject: [PATCH] CMakeLists.txt: Don't require a C++ compiler - -By default, CMake assumes that the project is using both C and C++. By -explicitly passing 'C' as argument of the project() macro, we tell CMake -that only C is used, which prevents CMake from erroring out if a C++ -compiler doesn't exist. - -Submitted upstream: -https://github.com/uclouvain/openjpeg/pull/1027 - -Signed-off-by: Peter Korsgaard ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec42bc99..d80eb48b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,7 +24,7 @@ endif() - #string(TOLOWER ${OPENJPEG_NAMESPACE} OPENJPEG_LIBRARY_NAME) - set(OPENJPEG_LIBRARY_NAME openjp2) - --project(${OPENJPEG_NAMESPACE}) -+project(${OPENJPEG_NAMESPACE} C) - - # Do full dependency headers. - include_regular_expression("^.*$") --- -2.11.0 - diff --git a/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch b/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch deleted file mode 100644 index b85556a6790..00000000000 --- a/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 14f4c27e7c91f745a1dda9991b5deea3cbef2072 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 7 Jan 2021 14:09:50 +0100 -Subject: [PATCH] Revert "Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes - uclouvain#1174)" - -This reverts commit 65586374d639cfc0104419992f9022174b412594 which -breaks cross-compilation of poppler under buildroot (because of -DESTDIR usage). - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/uclouvain/openjpeg/pull/1321] ---- - cmake/OpenJPEGConfig.cmake.in | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in -index 8a726697..2925108a 100644 ---- a/cmake/OpenJPEGConfig.cmake.in -+++ b/cmake/OpenJPEGConfig.cmake.in -@@ -27,8 +27,12 @@ if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake) - # This is an install tree - include(${SELF_DIR}/OpenJPEGTargets.cmake) - -+ # We find a relative path from the PKG directory to header files. -+ set(PKG_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_PACKAGE_DIR@") - set(INC_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_INCLUDE_DIR@") -- get_filename_component(OPENJPEG_INCLUDE_DIRS "${INC_DIR}" ABSOLUTE) -+ file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}") -+ -+ get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE) - - else() - if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake) --- -2.29.2 - diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash index 8798245256a..cfa0e01b7d7 100644 --- a/package/openjpeg/openjpeg.hash +++ b/package/openjpeg/openjpeg.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d openjpeg-2.4.0.tar.gz +sha256 0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a openjpeg-2.5.0.tar.gz sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk index 7f2a2c439cd..5b03a6cf587 100644 --- a/package/openjpeg/openjpeg.mk +++ b/package/openjpeg/openjpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENJPEG_VERSION = 2.4.0 +OPENJPEG_VERSION = 2.5.0 OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE diff --git a/package/openlayers/openlayers.hash b/package/openlayers/openlayers.hash index 23683bd6e94..2d6c2fb9d33 100644 --- a/package/openlayers/openlayers.hash +++ b/package/openlayers/openlayers.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 ab80014b15963404ec269a71f563fd3568581c55de160d5663600ea0787cf568 v6.5.0-dist.zip +sha256 aeb8107a23a99d79efb6031c7cf901307b63571c39fd744f771d4a707e06a14f v6.12.0-dist.zip diff --git a/package/openlayers/openlayers.mk b/package/openlayers/openlayers.mk index db464ef8a63..7532bb7f68b 100644 --- a/package/openlayers/openlayers.mk +++ b/package/openlayers/openlayers.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLAYERS_VERSION = 6.5.0 +OPENLAYERS_VERSION = 6.12.0 OPENLAYERS_SOURCE = v$(OPENLAYERS_VERSION)-dist.zip OPENLAYERS_SITE = https://github.com/openlayers/openlayers/releases/download/v$(OPENLAYERS_VERSION) OPENLAYERS_LICENSE = BSD-2-Clause diff --git a/package/openldap/0005-ITS-9454-fix-issuerAndThisUpdateCheck.patch b/package/openldap/0005-ITS-9454-fix-issuerAndThisUpdateCheck.patch deleted file mode 100644 index a611b9ff595..00000000000 --- a/package/openldap/0005-ITS-9454-fix-issuerAndThisUpdateCheck.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9badb73425a67768c09bcaed1a9c26c684af6c30 Mon Sep 17 00:00:00 2001 -From: Howard Chu -Date: Sat, 6 Feb 2021 20:52:06 +0000 -Subject: [PATCH] ITS#9454 fix issuerAndThisUpdateCheck - -Signed-off-by: Peter Korsgaard ---- - servers/slapd/schema_init.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/servers/slapd/schema_init.c b/servers/slapd/schema_init.c -index 31be1154e..8b1e25539 100644 ---- a/servers/slapd/schema_init.c -+++ b/servers/slapd/schema_init.c -@@ -3900,6 +3900,8 @@ issuerAndThisUpdateCheck( - break; - } - } -+ if ( tu->bv_len < STRLENOF("YYYYmmddHHmmssZ") ) return LDAP_INVALID_SYNTAX; -+ - x.bv_val += tu->bv_len + 1; - x.bv_len -= tu->bv_len + 1; - --- -2.20.1 - diff --git a/package/openldap/Config.in b/package/openldap/Config.in index bd39d0d0227..7a0b2f4b87c 100644 --- a/package/openldap/Config.in +++ b/package/openldap/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_OPENLDAP This only installs client-side support. - http://www.openldap.org/ + https://www.openldap.org/ if BR2_PACKAGE_OPENLDAP diff --git a/package/openldap/openldap.hash b/package/openldap/openldap.hash index f2ffdf53bce..71092c93d00 100644 --- a/package/openldap/openldap.hash +++ b/package/openldap/openldap.hash @@ -1,7 +1,7 @@ -# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.57.md5 -md5 e3349456c3a66e5e6155be7ddc3f042c openldap-2.4.57.tgz -# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.57.sha1 -sha1 1cffa70a3ea8545948041fd113f8f53bc24d6d87 openldap-2.4.57.tgz +# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.59.md5 +md5 6036a03b3a67b4a1fe1246e0a2c7265a openldap-2.4.59.tgz +# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.59.sha1 +sha1 b154d06bbf40fafafb34fffc4b116946d931efef openldap-2.4.59.tgz # Locally computed -sha256 c7ba47e1e6ecb5b436f3d43281df57abeffa99262141aec822628bc220f6b45a openldap-2.4.57.tgz +sha256 99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34 openldap-2.4.59.tgz sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/openldap/openldap.mk b/package/openldap/openldap.mk index ec11e4fa7db..b5373544ab6 100644 --- a/package/openldap/openldap.mk +++ b/package/openldap/openldap.mk @@ -4,18 +4,16 @@ # ################################################################################ -OPENLDAP_VERSION = 2.4.57 +OPENLDAP_VERSION = 2.4.59 OPENLDAP_SOURCE = openldap-$(OPENLDAP_VERSION).tgz OPENLDAP_SITE = https://www.openldap.org/software/download/OpenLDAP/openldap-release OPENLDAP_LICENSE = OpenLDAP Public License OPENLDAP_LICENSE_FILES = LICENSE OPENLDAP_CPE_ID_VENDOR = openldap +OPENLDAP_SELINUX_MODULES = ldap OPENLDAP_INSTALL_STAGING = YES OPENLDAP_DEPENDENCIES = host-pkgconf -# 0005-ITS-9454-fix-issuerAndThisUpdateCheck.patch -OPENLDAP_IGNORE_CVES += CVE-2021-27212 - ifeq ($(BR2_PACKAGE_OPENSSL),y) OPENLDAP_TLS = openssl OPENLDAP_DEPENDENCIES += openssl diff --git a/package/openmpi/openmpi-mips32-fortran.cache b/package/openmpi/openmpi-mips32-fortran.cache index 473f73a22e8..36f9f02bb8a 100644 --- a/package/openmpi/openmpi-mips32-fortran.cache +++ b/package/openmpi/openmpi-mips32-fortran.cache @@ -49,3 +49,4 @@ ompi_cv_fortran_kind_value_C_DOUBLE=8 ompi_cv_fortran_kind_value_C_DOUBLE_COMPLEX=8 ompi_cv_fortran_true_value=1 ompi_cv_fortran_sizeof_type_test_mpi_handle_=4 +ompi_cv_fortran_alignment_type_test_mpi_handle_=4 diff --git a/package/openmpi/openmpi-mips64-fortran.cache b/package/openmpi/openmpi-mips64-fortran.cache index 7f0209971a6..dea2ce9cdac 100644 --- a/package/openmpi/openmpi-mips64-fortran.cache +++ b/package/openmpi/openmpi-mips64-fortran.cache @@ -58,3 +58,4 @@ ompi_cv_fortran_kind_value_0=0 ompi_cv_real16_c_equiv=yes ompi_cv_fortran_true_value=1 ompi_cv_fortran_sizeof_type_test_mpi_handle_=4 +ompi_cv_fortran_alignment_type_test_mpi_handle_=4 diff --git a/package/openmpi/openmpi.mk b/package/openmpi/openmpi.mk index b682e6e74e3..8bdc3fa188f 100644 --- a/package/openmpi/openmpi.mk +++ b/package/openmpi/openmpi.mk @@ -11,7 +11,6 @@ OPENMPI_SOURCE = openmpi-$(OPENMPI_VERSION).tar.bz2 OPENMPI_LICENSE = BSD-3-Clause OPENMPI_LICENSE_FILES = LICENSE OPENMPI_INSTALL_STAGING = YES -OPENMPI_CONF_OPTS = --disable-vt # Enabling Fortran support requires pre-seeding the configure script # with various values that cannot be guessed, so we provide cache diff --git a/package/openntpd/0001-fix-musl.patch b/package/openntpd/0001-fix-musl.patch deleted file mode 100644 index e369d5a8ae6..00000000000 --- a/package/openntpd/0001-fix-musl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Baruch Siach -Date: Fri, 29 Sep 2017 10:06:52 +0300 -Subject: [PATCH] Fix build with musl and older Linux kernel - -The musl libc carries its own copy of Linux system calls. When building -with Linux headers older than v3.17, musl provides SYS_getrandom -definition, but not GRND_NONBLOCK. This causes build failure for -libressl and openntpd: - -getentropy_linux.c: In function 'getentropy_getrandom': -getentropy_linux.c:205:42: error: 'GRND_NONBLOCK' undeclared (first use in this function) - ret = syscall(SYS_getrandom, buf, len, GRND_NONBLOCK); - ^~~~~~~~~~~~~ - -Define GRND_NONBLOCK locally when its definition is missing to fix the -build. There should be no run-time effect. Older kernels return ENOSYS -for unsupported syscall(). - -[ from upstream pull request with file location changed ] -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/libressl-portable/openbsd/pull/82 - -diff -Nuar openntpd-6.2p2-orig/compat/getentropy_linux.c openntpd-6.2p2/compat/getentropy_linux.c ---- openntpd-6.2p2-orig/compat/getentropy_linux.c 2017-09-07 22:12:02.000000000 +0300 -+++ openntpd-6.2p2/compat/getentropy_linux.c 2017-09-29 11:54:54.856245770 +0300 -@@ -194,6 +194,11 @@ - } - - #ifdef SYS_getrandom -+ -+#ifndef GRND_NONBLOCK -+#define GRND_NONBLOCK 0x0001 -+#endif -+ - static int - getentropy_getrandom(void *buf, size_t len) - { diff --git a/package/openntpd/0002-Provide-fallback-definition-for-__packed.patch b/package/openntpd/0002-Provide-fallback-definition-for-__packed.patch deleted file mode 100644 index 4d8f636b9d7..00000000000 --- a/package/openntpd/0002-Provide-fallback-definition-for-__packed.patch +++ /dev/null @@ -1,43 +0,0 @@ -From bc2cd89715155fe1fead19338dac5f4059917dfe Mon Sep 17 00:00:00 2001 -From: Michael Forney -Date: Thu, 20 Jun 2019 13:52:22 -0700 -Subject: [PATCH] Provide fallback definition for __packed - -Otherwise, systems that don't support it will treat it as a name for a -global `struct ntp_msg` variable. - -[Retrieved from: -https://github.com/openntpd-portable/openntpd-portable/commit/bc2cd89715155fe1fead19338dac5f4059917dfe] -Signed-off-by: Fabrice Fontaine ---- - include/sys/types.h | 4 ++++ - m4/check-os-options.m4 | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/include/sys/types.h b/include/sys/types.h -index 86821c7..5492e20 100644 ---- a/include/sys/types.h -+++ b/include/sys/types.h -@@ -22,6 +22,10 @@ - # define __bounded__(x, y, z) - #endif - -+#if !defined(HAVE_ATTRIBUTE__PACKED) && !defined(__packed) -+# define __packed __attribute__((__packed__)) -+#endif -+ - /* - * Define BSD-style unsigned bits types for systems that do not have them. - */ -diff --git a/m4/check-os-options.m4 b/m4/check-os-options.m4 -index d4d02d9..4883d1f 100644 ---- a/m4/check-os-options.m4 -+++ b/m4/check-os-options.m4 -@@ -69,6 +69,7 @@ case $host_os in - HOST_ABI=elf - AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD gcc has bounded]) - AC_DEFINE([HAVE_ATTRIBUTE__DEAD], [1], [OpenBSD gcc has __dead]) -+ AC_DEFINE([HAVE_ATTRIBUTE__PACKED], [1], [OpenBSD gcc has __packed]) - ;; - *solaris*) - HOST_OS=solaris diff --git a/package/openntpd/0003-Zap-double-definition-of-conf-and-make-ibuf_dns-static-to-avoid-double.patch b/package/openntpd/0003-Zap-double-definition-of-conf-and-make-ibuf_dns-static-to-avoid-double.patch deleted file mode 100644 index f54237e3104..00000000000 --- a/package/openntpd/0003-Zap-double-definition-of-conf-and-make-ibuf_dns-static-to-avoid-double.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 956b4239d919d6922b9ba6ef39be0d1753f8ff34 Mon Sep 17 00:00:00 2001 -From: otto <> -Date: Sat, 11 Apr 2020 07:49:48 +0000 -Subject: [PATCH] Zap double definition of conf and make ibuf_dns static to - avoid double definition; from Michael Forney - -[Retrieved (and backported by updating paths and dropping date and -version updates) from: -https://github.com/openntpd-portable/openntpd-openbsd/commit/956b4239d919d6922b9ba6ef39be0d1753f8ff34] -Signed-off-by: Fabrice Fontaine ---- - src/usr.sbin/ntpd/ntp.c | 4 ++-- - src/usr.sbin/ntpd/ntp_dns.c | 4 ++-- - src/usr.sbin/ntpd/parse.y | 3 +-- - 3 files changed, 5 insertions(+), 6 deletions(-) - -diff --git a/src/ntp.c b/src/ntp.c -index ea9a4e922..ec3d6bc43 100644 ---- a/src/ntp.c -+++ b/src/ntp.c -@@ -42,7 +42,7 @@ - - volatile sig_atomic_t ntp_quit = 0; - struct imsgbuf *ibuf_main; --struct imsgbuf *ibuf_dns; -+static struct imsgbuf *ibuf_dns; - struct ntpd_conf *conf; - struct ctl_conns ctl_conns; - u_int peer_cnt; -diff --git a/src/ntp_dns.c b/src/ntp_dns.c -index 2e1a97833..88391801c 100644 ---- a/src/ntp_dns.c -+++ b/src/ntp_dns.c -@@ -39,7 +39,7 @@ - #include "ntpd.h" - - volatile sig_atomic_t quit_dns = 0; --struct imsgbuf *ibuf_dns; -+static struct imsgbuf *ibuf_dns; - - void sighdlr_dns(int); - int dns_dispatch_imsg(struct ntpd_conf *); -diff --git a/src/parse.y b/src/uparse.y -index 8d7ab09de..81d19bbff 100644 ---- a/src/parse.y -+++ b/src/parse.y -@@ -57,7 +57,6 @@ int lgetc(int); - int lungetc(int); - int findeol(void); - --struct ntpd_conf *conf; - struct sockaddr_in query_addr4; - struct sockaddr_in6 query_addr6; - int poolseqnum; diff --git a/package/openntpd/ntpd.service b/package/openntpd/ntpd.service index a4ffa7318c1..c2924b0c5cc 100644 --- a/package/openntpd/ntpd.service +++ b/package/openntpd/ntpd.service @@ -5,6 +5,10 @@ Conflicts=systemd-timesyncd.service [Service] Type=simple +# Turn off DNSSEC validation for hostname look-ups, since those need the +# correct time to work, but we likely won't acquire that without NTP. Let's +# break this chicken-and-egg cycle here. +Environment=SYSTEMD_NSS_RESOLVE_VALIDATE=0 ExecStart=/usr/sbin/ntpd -s -d [Install] diff --git a/package/openntpd/openntpd.hash b/package/openntpd/openntpd.hash index 4d00b7bb9d0..2ef8a619eb8 100644 --- a/package/openntpd/openntpd.hash +++ b/package/openntpd/openntpd.hash @@ -1,5 +1,5 @@ # from http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/SHA256 -sha256 7b02691524197e01ba6b1b4b7595b33956e657ba6d5c4cf2fc20ea3f4914c13a openntpd-6.2p3.tar.gz +sha256 8582db838a399153d4a17f2a76518b638cc3020f58028575bf54127518f55a46 openntpd-6.8p1.tar.gz # Locally computed -sha256 6c1822ee950652c12bb3773849db18794f62c63452a70d018edf23e8cba71839 COPYING +sha256 6c1822ee950652c12bb3773849db18794f62c63452a70d018edf23e8cba71839 COPYING diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk index 30c39e45ed3..f9409cd90ca 100644 --- a/package/openntpd/openntpd.mk +++ b/package/openntpd/openntpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENNTPD_VERSION = 6.2p3 +OPENNTPD_VERSION = 6.8p1 OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause OPENNTPD_LICENSE_FILES = COPYING diff --git a/package/openobex/openobex.mk b/package/openobex/openobex.mk index bc4a47e3d74..7109bffa8d0 100644 --- a/package/openobex/openobex.mk +++ b/package/openobex/openobex.mk @@ -20,6 +20,7 @@ OPENOBEX_DEPENDENCIES += bluez5_utils endif ifeq ($(BR2_PACKAGE_LIBUSB),y) +OPENOBEX_CONF_OPTS += -DLibUSB_VERSION_1.0=ON OPENOBEX_DEPENDENCIES += libusb endif diff --git a/package/openocd/0002-CVE-2018-5704-Prevent-some-forms-of-Cross-Protocol-S.patch b/package/openocd/0002-CVE-2018-5704-Prevent-some-forms-of-Cross-Protocol-S.patch deleted file mode 100644 index ba19bf57357..00000000000 --- a/package/openocd/0002-CVE-2018-5704-Prevent-some-forms-of-Cross-Protocol-S.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 3a223ca3ebc7ac24d7726a0cd58e5695bc813657 Mon Sep 17 00:00:00 2001 -From: Andreas Fritiofson -Date: Sat, 13 Jan 2018 21:00:47 +0100 -Subject: [PATCH] CVE-2018-5704: Prevent some forms of Cross Protocol Scripting - attacks - -OpenOCD can be targeted by a Cross Protocol Scripting attack from -a web browser running malicious code, such as the following PoC: - -var x = new XMLHttpRequest(); -x.open("POST", "http://127.0.0.1:4444", true); -x.send("exec xcalc\r\n"); - -This mitigation should provide some protection from browser-based -attacks and is based on the corresponding fix in Redis: - -https://github.com/antirez/redis/blob/8075572207b5aebb1385c4f233f5302544439325/src/networking.c#L1758 - - -Upstream-status: Under review: http://openocd.zylin.com/#/c/4335/ -Change-Id: Ia96ebe19b74b5805dc228bf7364c7971a90a4581 -Signed-off-by: Andreas Fritiofson -Reported-by: Josef Gajdusek -Signed-off-by: Peter Korsgaard ---- - src/server/startup.tcl | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/server/startup.tcl b/src/server/startup.tcl -index 64ace407..dd1b31e4 100644 ---- a/src/server/startup.tcl -+++ b/src/server/startup.tcl -@@ -8,3 +8,14 @@ proc ocd_gdb_restart {target_id} { - # one target - reset halt - } -+ -+proc prevent_cps {} { -+ echo "Possible SECURITY ATTACK detected." -+ echo "It looks like somebody is sending POST or Host: commands to OpenOCD." -+ echo "This is likely due to an attacker attempting to use Cross Protocol Scripting" -+ echo "to compromise your OpenOCD instance. Connection aborted." -+ exit -+} -+ -+proc POST {args} { prevent_cps } -+proc Host: {args} { prevent_cps } --- -2.11.0 - diff --git a/package/openocd/0002-configure.ac-fix-autoreconf-with-autoconf-2.70.patch b/package/openocd/0002-configure.ac-fix-autoreconf-with-autoconf-2.70.patch new file mode 100644 index 00000000000..ecb716b6fa0 --- /dev/null +++ b/package/openocd/0002-configure.ac-fix-autoreconf-with-autoconf-2.70.patch @@ -0,0 +1,32 @@ +From 3106d16bbc45de52bc0a8b638a84aa9d7c9abc46 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 6 Oct 2021 17:43:16 +0200 +Subject: [PATCH] configure.ac: fix autoreconf with autoconf >= 2.70 + +Fix the following build failure raised with openocd and autoconf >= 2.70 +due to +http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=aba75f6d4a9c875a9d5d90a07c6b3678db66a4bf: + +>>> openocd 0.11.0 Autoreconfiguring +autoreconf: error: configure.ac: AC_INIT not found; not an autoconf script? + +Fixes: + - http://autobuild.buildroot.org/results/5fb7aa28703aff61ba850eac11bd35c8804528ae + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/msteveb/jimtcl/pull/209] +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/jimtcl/configure.ac b/jimtcl/configure.ac +index b70b5d8..8c45114 100644 +--- a/jimtcl/configure.ac ++++ b/jimtcl/configure.ac +@@ -1 +1,3 @@ + # Dummy configure.ac to make automake happy ++AC_INIT([jimtcl], [0.80]) ++AC_OUTPUT +-- +2.33.0 + diff --git a/package/openocd/0003-bitbang-Fix-FTBFS-with-GCC-10.patch b/package/openocd/0003-bitbang-Fix-FTBFS-with-GCC-10.patch deleted file mode 100644 index cf835152476..00000000000 --- a/package/openocd/0003-bitbang-Fix-FTBFS-with-GCC-10.patch +++ /dev/null @@ -1,37 +0,0 @@ -From c60252ac2b636c4d99b766a574b9df0966151696 Mon Sep 17 00:00:00 2001 -From: Andreas Fritiofson -Date: Fri, 17 Apr 2020 13:49:28 +0200 -Subject: [PATCH] bitbang: Fix FTBFS with GCC 10 - -GCC 10 defaults to -fno-common which breaks the sharing of bitbang_swd -struct between bitbang drivers due to a missing extern. - -Change-Id: I2b4122f7939cec91a72284006748f99a23548324 -Signed-off-by: Andreas Fritiofson -Reviewed-on: http://openocd.zylin.com/5592 -Tested-by: jenkins -Reviewed-by: Antonio Borneo -Reviewed-by: Jonathan McDowell - -Patch taken from upstream: https://github.com/ntfreak/openocd/commit/c60252ac2b636c4d99b766a574b9df0966151696 -Signed-off-by: Heiko Thiery ---- - src/jtag/drivers/bitbang.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/jtag/drivers/bitbang.h b/src/jtag/drivers/bitbang.h -index edb779ca..bbbc693d 100644 ---- a/src/jtag/drivers/bitbang.h -+++ b/src/jtag/drivers/bitbang.h -@@ -56,7 +56,7 @@ struct bitbang_interface { - void (*swdio_drive)(bool on); - }; - --const struct swd_driver bitbang_swd; -+extern const struct swd_driver bitbang_swd; - - extern bool swd_mode; - --- -2.20.1 - diff --git a/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch b/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch new file mode 100644 index 00000000000..776816892b3 --- /dev/null +++ b/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch @@ -0,0 +1,89 @@ +From cff0e417da58adef1ceef9a63a99412c2cc87ff3 Mon Sep 17 00:00:00 2001 +From: Antonio Borneo +Date: Wed, 23 Jun 2021 16:52:16 +0200 +Subject: [PATCH] stlink: fix SIGSEGV with libusb v1.0.24-33-g32a2206 (11618) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The stlink driver incorrectly uses a NULL pointer for libusb's +struct libusb_context. +The correct value to be used is local in libusb_helper.c. + +Move in the helper file, in a wrapper function, the only call that +requires the above value, and let stlink driver to use this +wrapper. + +This issue has not triggered any visible problem until a code +refactoring [1] in libusb has made OpenOCD crashing on Windows and +on MacOS. + +Change-Id: Id1818c8af7cf0d4d17dfa1d22aad079da01ef740 +Signed-off-by: Antonio Borneo +Fixes: https://sourceforge.net/p/openocd/tickets/308/ +Fixes: https://github.com/libusb/libusb/issues/928/ +Fixes: 42d8fa899c6a ("stlink_usb: Submit multiple USB URBs at once to improve performance") +Link: [1] https://github.com/libusb/libusb/commit/32a22069428c +Reported-by: Andrzej Sierżęga +Co-developed-by: Andrzej Sierżęga +Co-developed-by: Xiaofan Chen +Reviewed-on: http://openocd.zylin.com/6331 +Tested-by: jenkins +Reviewed-by: Marc Schink +Reviewed-by: Xiaofan +Reviewed-by: Andrzej Sierżęga +Reviewed-by: Oleksij Rempel +Reviewed-by: Andreas Fritiofson +Signed-off-by: Yannick Brosseau +--- + src/jtag/drivers/libusb_helper.c | 5 +++++ + src/jtag/drivers/libusb_helper.h | 1 + + src/jtag/drivers/stlink_usb.c | 7 +------ + 3 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/src/jtag/drivers/libusb_helper.c b/src/jtag/drivers/libusb_helper.c +index f0122d534..18fe4bad4 100644 +--- a/src/jtag/drivers/libusb_helper.c ++++ b/src/jtag/drivers/libusb_helper.c +@@ -363,3 +363,8 @@ int jtag_libusb_get_pid(struct libusb_device *dev, uint16_t *pid) + + return ERROR_FAIL; + } ++ ++int jtag_libusb_handle_events_completed(int *completed) ++{ ++ return libusb_handle_events_completed(jtag_libusb_context, completed); ++} +diff --git a/src/jtag/drivers/libusb_helper.h b/src/jtag/drivers/libusb_helper.h +index fa7d06e28..3e77865d6 100644 +--- a/src/jtag/drivers/libusb_helper.h ++++ b/src/jtag/drivers/libusb_helper.h +@@ -60,5 +60,6 @@ int jtag_libusb_choose_interface(struct libusb_device_handle *devh, + unsigned int *usb_write_ep, + int bclass, int subclass, int protocol, int trans_type); + int jtag_libusb_get_pid(struct libusb_device *dev, uint16_t *pid); ++int jtag_libusb_handle_events_completed(int *completed); + + #endif /* OPENOCD_JTAG_DRIVERS_LIBUSB_HELPER_H */ +diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c +index c68bbb3ca..7b1932b9f 100644 +--- a/src/jtag/drivers/stlink_usb.c ++++ b/src/jtag/drivers/stlink_usb.c +@@ -497,13 +497,8 @@ static void sync_transfer_wait_for_completion(struct libusb_transfer *transfer) + { + int r, *completed = transfer->user_data; + +- /* Assuming a single libusb context exists. There no existing interface into this +- * module to pass a libusb context. +- */ +- struct libusb_context *ctx = NULL; +- + while (!*completed) { +- r = libusb_handle_events_completed(ctx, completed); ++ r = jtag_libusb_handle_events_completed(completed); + if (r < 0) { + if (r == LIBUSB_ERROR_INTERRUPTED) + continue; +-- +2.35.1 + diff --git a/package/openocd/Config.in b/package/openocd/Config.in index f2e79f29fe1..b14f940b278 100644 --- a/package/openocd/Config.in +++ b/package/openocd/Config.in @@ -144,6 +144,15 @@ config BR2_PACKAGE_OPENOCD_ARMEW Enable building support for the Olimex ARM-JTAG-EW Programmer (default is auto) +config BR2_PACKAGE_OPENOCD_XDS110 + bool "TI XDS110 Debug Probe" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb + select BR2_PACKAGE_LIBUSB + help + Enable building support for the TI XDS110 Debug Probe. + config BR2_PACKAGE_OPENOCD_PARPORT bool "pc parallel port driver" help @@ -233,4 +242,8 @@ comment "many openocd adapters needs a toolchain w/ threads, gcc >= 4.9" depends on !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 +comment "xds110 adapter support needs toolchain w/ wchar" + depends on !BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + endif # BR2_PACKAGE_OPENOCD diff --git a/package/openocd/openocd.hash b/package/openocd/openocd.hash index 3fb817b4a23..91eb56d930e 100644 --- a/package/openocd/openocd.hash +++ b/package/openocd/openocd.hash @@ -1,4 +1,3 @@ -# From http://sourceforge.net/projects/openocd/files/openocd/0.10.0/ -sha1 3245d43d60a1a93f8b0f6b1ce20b53e38cab7a4a openocd-0.10.0.tar.bz2 -md5 b412bdef0481a3859c6585eb69f6f6ba openocd-0.10.0.tar.bz2 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +# From http://sourceforge.net/projects/openocd/files/openocd/0.11.0/ +sha256 43a3ce734aff1d3706ad87793a9f3a5371cb0e357f0ffd0a151656b06b3d1e7d openocd-0.11.0.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 7887f3a6dce..9f53ae3ee39 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENOCD_VERSION = 0.10.0 +OPENOCD_VERSION = 0.11.0 OPENOCD_SOURCE = openocd-$(OPENOCD_VERSION).tar.bz2 OPENOCD_SITE = http://sourceforge.net/projects/openocd/files/openocd/$(OPENOCD_VERSION) OPENOCD_LICENSE = GPL-2.0+ @@ -32,7 +32,8 @@ OPENOCD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBUSB),libusb) \ $(if $(BR2_PACKAGE_LIBUSB_COMPAT),libusb-compat) \ $(if $(BR2_PACKAGE_LIBHID),libhid) \ - $(if $(BR2_PACKAGE_HIDAPI),hidapi) + $(if $(BR2_PACKAGE_HIDAPI),hidapi) \ + $(if $(BR2_PACKAGE_LIBGPIOD),libgpiod) # Adapters OPENOCD_CONF_OPTS += \ @@ -48,6 +49,7 @@ OPENOCD_CONF_OPTS += \ $(if $(BR2_PACKAGE_OPENOCD_VSLLINK),--enable-vsllink,--disable-vsllink) \ $(if $(BR2_PACKAGE_OPENOCD_USBPROG),--enable-usbprog,--disable-usbprog) \ $(if $(BR2_PACKAGE_OPENOCD_RLINK),--enable-rlink,--disable-rlink) \ + $(if $(BR2_PACKAGE_OPENOCD_XDS110),--enable-xds110,--disable-xds110) \ $(if $(BR2_PACKAGE_OPENOCD_ARMEW),--enable-armjtagew,--disable-armjtagew) \ $(if $(BR2_PACKAGE_OPENOCD_CMSIS_DAP),--enable-cmsis-dap,--disable-cmsis-dap) \ $(if $(BR2_PACKAGE_OPENOCD_PARPORT),--enable-parport,--disable-parport) \ diff --git a/package/openpgm/0002-openpgm-pgm-checksum.c-fix-build-with-32-bits-MMX.patch b/package/openpgm/0002-openpgm-pgm-checksum.c-fix-build-with-32-bits-MMX.patch new file mode 100644 index 00000000000..a04dc7dba98 --- /dev/null +++ b/package/openpgm/0002-openpgm-pgm-checksum.c-fix-build-with-32-bits-MMX.patch @@ -0,0 +1,41 @@ +From b7fa865fa6b06d97d424c500fd1c4bc44c096359 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 1 Nov 2020 22:46:18 +0100 +Subject: [PATCH] openpgm/pgm/checksum.c: fix build with 32 bits MMX + +Build with i386-pentium-mmx or i686 is broken since version 5-3-128 and +https://github.com/steve-o/openpgm/commit/b276dc15be5d4e6e1143b9de25d09f63f9c85135 +because _mm_cvtm64_si64 is undefined resulting in the following build +failure for example on zeromq: + +/srv/storage/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/8.3.0/../../../../i586-buildroot-linux-musl/bin/ld: /srv/storage/autobuild/run/instance-3/output-1/host/i586-buildroot-linux-musl/sysroot/usr/lib32/libpgm-5.3.so.0: undefined reference to `_mm_cvtm64_si64' + +So use the fallback if __x86_64__ is not defined + +Fixes: + - http://autobuild.buildroot.org/results/01d9be37e8a743307128f53f41785654c9971e1a + +Signed-off-by: Fabrice Fontaine +Signed-off-by: Baruch Siach +--- +Upstream status: commit b7fa865fa6b06d97d424c500fd1c4bc44c096359 + + openpgm/pgm/checksum.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/openpgm/pgm/checksum.c b/openpgm/pgm/checksum.c +index fef89bce237c..8d8dd3f32305 100644 +--- a/openpgm/pgm/checksum.c ++++ b/openpgm/pgm/checksum.c +@@ -948,7 +948,7 @@ do_csumcpy_mmx ( + + sum = _mm_add_pi32 (sum, lo); + sum = _mm_add_pi32 (sum, hi); +-#if 1 ++#if defined(__x86_64__) + *(int64_t*)dst = _mm_cvtm64_si64 (tmp); + #else + ((int*)dst)[1] = _mm_cvtsi64_si32 (tmp); +-- +2.30.2 + diff --git a/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch b/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch index 66bbba42ba8..457fbacb5bd 100644 --- a/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch +++ b/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch @@ -12,6 +12,8 @@ reasons. However uucp does not exist on buildroot by default, and it makes more sense that 'daemon' group should own this directory. Signed-off-by: MichaÅ‚ Åyszczek +[Fabrice: update for 0.43.3] +Signed-off-by: Fabrice Fontaine --- sh/init.sh.Linux.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -21,9 +23,9 @@ index 222bbd3b..7f1a88db 100644 --- a/sh/init.sh.Linux.in +++ b/sh/init.sh.Linux.in @@ -85,7 +85,7 @@ fi + fi - [ -x /sbin/restorecon ] && /sbin/restorecon -rF /run - checkpath -d $RC_SVCDIR + checkpath -d "$RC_SVCDIR" -checkpath -d -m 0775 -o root:uucp /run/lock +checkpath -d -m 0775 -o root:daemon /run/lock diff --git a/package/openrc/0006-Also-create-run-lock-subsys-directory.patch b/package/openrc/0006-Also-create-run-lock-subsys-directory.patch new file mode 100644 index 00000000000..cf592a88b06 --- /dev/null +++ b/package/openrc/0006-Also-create-run-lock-subsys-directory.patch @@ -0,0 +1,29 @@ +From 49e5929b468f604d80a0c04a6ce78eb96ca36090 Mon Sep 17 00:00:00 2001 +From: Norbert Lange +Date: Sun, 9 Jan 2022 00:22:40 +0100 +Subject: [PATCH] Also create /run/lock/subsys directory + +Buildroot service scripts regularly use this directory, so +create it in the most appropriate spot. + +Signed-off-by: Norbert Lange +--- + sh/init.sh.Linux.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sh/init.sh.Linux.in b/sh/init.sh.Linux.in +index e8afc1fb..662ab223 100644 +--- a/sh/init.sh.Linux.in ++++ b/sh/init.sh.Linux.in +@@ -82,7 +82,7 @@ elif ! mountinfo -q /run; then + fi + + checkpath -d "$RC_SVCDIR" +-checkpath -d -m 0775 -o root:daemon /run/lock ++checkpath -d -m 0775 -o root:daemon /run/lock /run/lock/subsys + + # Try to mount xenfs as early as possible, otherwise rc_sys() will always + # return RC_SYS_XENU and will think that we are in a domU while it's not. +-- +2.34.1 + diff --git a/package/openrc/0006-src-rc-rc-logger.h-fix-build-failure-against-gcc-10.patch b/package/openrc/0006-src-rc-rc-logger.h-fix-build-failure-against-gcc-10.patch deleted file mode 100644 index 9fded3ca90c..00000000000 --- a/package/openrc/0006-src-rc-rc-logger.h-fix-build-failure-against-gcc-10.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 375ef42393f3dc6edbaa2cb70c79b2366072db38 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sun, 19 Jan 2020 15:24:20 +0000 -Subject: [PATCH] src/rc/rc-logger.h: fix build failure against gcc-10 - -On gcc-10 (and gcc-9 -fno-common) build fails as: - -``` -cc -L../librc -L../libeinfo -O2 -g -std=c99 -Wall -Wextra -Wimplicit -Wshadow \ - -Wformat=2 -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn \ - -Wmissing-format-attribute -Wnested-externs -Winline -Wwrite-strings \ - -Wcast-align -Wcast-qual -Wpointer-arith -Wdeclaration-after-statement \ - -Wsequence-point -Werror=implicit-function-declaration \ - -Wl,-rpath=/lib -o openrc rc.o rc-logger.o rc-misc.o rc-plugin.o _usage.o -lutil -lrc -leinfo -Wl,-Bdynamic -ldl -ld: rc-logger.o:/home/slyfox/dev/git/openrc/src/rc/rc-logger.h:16: - multiple definition of `rc_logger_pid'; rc.o:openrc/src/rc/rc-logger.h:16: first defined here -ld: rc-logger.o:/home/slyfox/dev/git/openrc/src/rc/rc-logger.h:17: - multiple definition of `rc_logger_tty'; rc.o:openrc/src/rc/rc-logger.h:17: first defined here -``` - -gcc-10 will change the default from -fcommon to fno-common: -https://gcc.gnu.org/PR85678. - -The error also happens if CFLAGS=-fno-common passed explicitly. - -This fixes #348. - -[Patch taken from upstream: -https://github.com/OpenRC/openrc/commit/375ef42393f3dc6edbaa2cb70c79b2366072db38] -Signed-off-by: Heiko Thiery ---- - src/rc/rc-logger.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/rc/rc-logger.h b/src/rc/rc-logger.h -index bf6e3e57..1da294b0 100644 ---- a/src/rc/rc-logger.h -+++ b/src/rc/rc-logger.h -@@ -13,8 +13,8 @@ - #ifndef RC_LOGGER_H - #define RC_LOGGER_H - --pid_t rc_logger_pid; --int rc_logger_tty; -+extern pid_t rc_logger_pid; -+extern int rc_logger_tty; - extern bool rc_in_logger; - - void rc_logger_open(const char *runlevel); --- -2.20.1 - diff --git a/package/openrc/0007-checkpath-fix-CVE-2018-21269.patch b/package/openrc/0007-checkpath-fix-CVE-2018-21269.patch deleted file mode 100644 index 121f2298642..00000000000 --- a/package/openrc/0007-checkpath-fix-CVE-2018-21269.patch +++ /dev/null @@ -1,251 +0,0 @@ -From b6fef599bf8493480664b766040fa9b0d4b1e335 Mon Sep 17 00:00:00 2001 -From: William Hubbs -Date: Fri, 20 Nov 2020 09:15:59 -0600 -Subject: [PATCH] checkpath: fix CVE-2018-21269 - -This walks the directory path to the file we are going to manipulate to make -sure that when we create the file and change the ownership and permissions -we are working on the same file. -Also, all non-terminal symbolic links must be owned by root. This will -keep a non-root user from making a symbolic link as described in the -bug. If root creates the symbolic link, it is assumed to be trusted. - -On non-linux platforms, we no longer follow non-terminal symbolic links -by default. If you need to do that, add the -s option on the checkpath -command line, but keep in mind that this is not secure. - -This fixes #201. - -[Patch taken from upstream: -https://github.com/OpenRC/openrc/commit/b6fef599bf8493480664b766040fa9b0d4b1e335] -Signed-off-by: Heiko Thiery ---- - man/openrc-run.8 | 6 +++ - src/rc/checkpath.c | 103 ++++++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 102 insertions(+), 7 deletions(-) - -diff --git a/man/openrc-run.8 b/man/openrc-run.8 -index 1102daaa..ec4b88de 100644 ---- a/man/openrc-run.8 -+++ b/man/openrc-run.8 -@@ -461,6 +461,7 @@ Mark the service as inactive. - .Op Fl p , -pipe - .Op Fl m , -mode Ar mode - .Op Fl o , -owner Ar owner -+.Op Fl s , -symlinks - .Op Fl W , -writable - .Op Fl q , -quiet - .Ar path ... -@@ -481,6 +482,11 @@ or with names, and are separated by a colon. - The truncate options (-D and -F) cause the directory or file to be - cleared of all contents. - .Pp -+If -s is not specified on a non-linux platform, checkpath will refuse to -+allow non-terminal symbolic links to exist in the path. This is for -+security reasons so that a non-root user can't create a symbolic link to -+a root-owned file and take ownership of that file. -+.Pp - If -W is specified, checkpath checks to see if the first path given on - the command line is writable. This is different from how the test - command in the shell works, because it also checks to make sure the file -diff --git a/src/rc/checkpath.c b/src/rc/checkpath.c -index 448c9cf8..ff54a892 100644 ---- a/src/rc/checkpath.c -+++ b/src/rc/checkpath.c -@@ -16,6 +16,7 @@ - * except according to the terms contained in the LICENSE file. - */ - -+#define _GNU_SOURCE - #include - #include - -@@ -23,6 +24,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -44,7 +46,7 @@ typedef enum { - - const char *applet = NULL; - const char *extraopts ="path1 [path2] [...]"; --const char *getoptstring = "dDfFpm:o:W" getoptstring_COMMON; -+const char *getoptstring = "dDfFpm:o:sW" getoptstring_COMMON; - const struct option longopts[] = { - { "directory", 0, NULL, 'd'}, - { "directory-truncate", 0, NULL, 'D'}, -@@ -53,6 +55,7 @@ const struct option longopts[] = { - { "pipe", 0, NULL, 'p'}, - { "mode", 1, NULL, 'm'}, - { "owner", 1, NULL, 'o'}, -+ { "symlinks", 0, NULL, 's'}, - { "writable", 0, NULL, 'W'}, - longopts_COMMON - }; -@@ -64,15 +67,92 @@ const char * const longopts_help[] = { - "Create a named pipe (FIFO) if not exists", - "Mode to check", - "Owner to check (user:group)", -+ "follow symbolic links (irrelivent on linux)", - "Check whether the path is writable or not", - longopts_help_COMMON - }; - const char *usagestring = NULL; - -+static int get_dirfd(char *path, bool symlinks) { -+ char *ch; -+ char *item; -+ char *linkpath = NULL; -+ char *path_dupe; -+ char *str; -+ int components = 0; -+ int dirfd; -+ int flags = 0; -+ int new_dirfd; -+ struct stat st; -+ ssize_t linksize; -+ -+ if (!path || *path != '/') -+ eerrorx("%s: empty or relative path", applet); -+ dirfd = openat(dirfd, "/", O_RDONLY); -+ if (dirfd == -1) -+ eerrorx("%s: unable to open the root directory: %s", -+ applet, strerror(errno)); -+ path_dupe = xstrdup(path); -+ ch = path_dupe; -+ while (*ch) { -+ if (*ch == '/') -+ components++; -+ ch++; -+ } -+ item = strtok(path_dupe, "/"); -+#ifdef O_PATH -+ flags |= O_PATH; -+#endif -+ if (!symlinks) -+ flags |= O_NOFOLLOW; -+ flags |= O_RDONLY; -+ while (dirfd > 0 && item && components > 1) { -+ str = xstrdup(linkpath ? linkpath : item); -+ new_dirfd = openat(dirfd, str, flags); -+ if (new_dirfd == -1) -+ eerrorx("%s: %s: could not open %s: %s", applet, path, str, -+ strerror(errno)); -+ if (fstat(new_dirfd, &st) == -1) -+ eerrorx("%s: %s: unable to stat %s: %s", applet, path, item, -+ strerror(errno)); -+ if (S_ISLNK(st.st_mode) ) { -+ if (st.st_uid != 0) -+ eerrorx("%s: %s: synbolic link %s not owned by root", -+ applet, path, str); -+ linksize = st.st_size+1; -+ if (linkpath) -+ free(linkpath); -+ linkpath = xmalloc(linksize); -+ memset(linkpath, 0, linksize); -+ if (readlinkat(new_dirfd, "", linkpath, linksize) != st.st_size) -+ eerrorx("%s: symbolic link destination changed", applet); -+ /* -+ * now follow the symlink. -+ */ -+ close(new_dirfd); -+ } else { -+ close(dirfd); -+ dirfd = new_dirfd; -+ free(linkpath); -+ linkpath = NULL; -+ item = strtok(NULL, "/"); -+ components--; -+ } -+ } -+ free(path_dupe); -+ if (linkpath) { -+ free(linkpath); -+ linkpath = NULL; -+ } -+ return dirfd; -+} -+ - static int do_check(char *path, uid_t uid, gid_t gid, mode_t mode, -- inode_t type, bool trunc, bool chowner, bool selinux_on) -+ inode_t type, bool trunc, bool chowner, bool symlinks, bool selinux_on) - { - struct stat st; -+ char *name = NULL; -+ int dirfd; - int fd; - int flags; - int r; -@@ -93,14 +173,16 @@ static int do_check(char *path, uid_t uid, gid_t gid, mode_t mode, - #endif - if (trunc) - flags |= O_TRUNC; -- readfd = open(path, readflags); -+ xasprintf(&name, "%s", basename_c(path)); -+ dirfd = get_dirfd(path, symlinks); -+ readfd = openat(dirfd, name, readflags); - if (readfd == -1 || (type == inode_file && trunc)) { - if (type == inode_file) { - einfo("%s: creating file", path); - if (!mode) /* 664 */ - mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH; - u = umask(0); -- fd = open(path, flags, mode); -+ fd = openat(dirfd, name, flags, mode); - umask(u); - if (fd == -1) { - eerror("%s: open: %s", applet, strerror(errno)); -@@ -122,7 +204,7 @@ static int do_check(char *path, uid_t uid, gid_t gid, mode_t mode, - strerror (errno)); - return -1; - } -- readfd = open(path, readflags); -+ readfd = openat(dirfd, name, readflags); - if (readfd == -1) { - eerror("%s: unable to open directory: %s", applet, - strerror(errno)); -@@ -140,7 +222,7 @@ static int do_check(char *path, uid_t uid, gid_t gid, mode_t mode, - strerror (errno)); - return -1; - } -- readfd = open(path, readflags); -+ readfd = openat(dirfd, name, readflags); - if (readfd == -1) { - eerror("%s: unable to open fifo: %s", applet, - strerror(errno)); -@@ -259,6 +341,7 @@ int main(int argc, char **argv) - int retval = EXIT_SUCCESS; - bool trunc = false; - bool chowner = false; -+ bool symlinks = false; - bool writable = false; - bool selinux_on = false; - -@@ -293,6 +376,11 @@ int main(int argc, char **argv) - eerrorx("%s: owner `%s' not found", - applet, optarg); - break; -+ case 's': -+#ifndef O_PATH -+ symlinks = true; -+#endif -+ break; - case 'W': - writable = true; - break; -@@ -320,7 +408,8 @@ int main(int argc, char **argv) - while (optind < argc) { - if (writable) - exit(!is_writable(argv[optind])); -- if (do_check(argv[optind], uid, gid, mode, type, trunc, chowner, selinux_on)) -+ if (do_check(argv[optind], uid, gid, mode, type, trunc, chowner, -+ symlinks, selinux_on)) - retval = EXIT_FAILURE; - optind++; - } --- -2.20.1 - diff --git a/package/openrc/openrc.hash b/package/openrc/openrc.hash index bb5880806d9..4fcfa9132f1 100644 --- a/package/openrc/openrc.hash +++ b/package/openrc/openrc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 91a01ca6d930a0688fb91338209985de57cac7aa2d37feddacb78fd3d95308e2 openrc-0.42.1.tar.gz -sha256 96862463f4e77e2508e4fc2c83773fd24807cb699368b63fd93a5e2b466dd624 LICENSE +sha256 968e81743a1de7a2348590b3b3286d6af5baf96da28fa1e6364e24f8203fc3b6 openrc-0.43.3.tar.gz +sha256 96862463f4e77e2508e4fc2c83773fd24807cb699368b63fd93a5e2b466dd624 LICENSE diff --git a/package/openrc/openrc.mk b/package/openrc/openrc.mk index d9010a60bef..1d4e70f7124 100644 --- a/package/openrc/openrc.mk +++ b/package/openrc/openrc.mk @@ -4,15 +4,12 @@ # ################################################################################ -OPENRC_VERSION = 0.42.1 +OPENRC_VERSION = 0.43.3 OPENRC_SITE = $(call github,OpenRC,openrc,$(OPENRC_VERSION)) OPENRC_LICENSE = BSD-2-Clause OPENRC_LICENSE_FILES = LICENSE OPENRC_CPE_ID_VENDOR = openrc_project -# 0007-checkpath-fix-CVE-2018-21269.patch -OPENRC_IGNORE_CVES += CVE-2018-21269 - OPENRC_DEPENDENCIES = ncurses # set LIBNAME so openrc puts files in proper directories and sets proper diff --git a/package/openresolv/openresolv.hash b/package/openresolv/openresolv.hash index f2a101df392..7a5fb0e1407 100644 --- a/package/openresolv/openresolv.hash +++ b/package/openresolv/openresolv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7d74c669849183ecefdfcec30d25664b1ca24ba1ca8c2ad5de50fcaeef3b4810 openresolv-3.10.0.tar.gz +sha256 96b573e26d145f208d3758c2cd6fbf824b01005fc4cb7cedbdae29b3a3c8cb02 openresolv-3.12.0.tar.gz sha256 384740bf5e19e7628d20f4dcc22925062fdc6020e9a6f074e567d4d797be57a0 LICENSE diff --git a/package/openresolv/openresolv.mk b/package/openresolv/openresolv.mk index 44e0720428b..3857ab833db 100644 --- a/package/openresolv/openresolv.mk +++ b/package/openresolv/openresolv.mk @@ -4,10 +4,11 @@ # ################################################################################ -OPENRESOLV_VERSION = 3.10.0 +OPENRESOLV_VERSION = 3.12.0 OPENRESOLV_SITE = $(call github,rsmarples,openresolv,openresolv-$(OPENRESOLV_VERSION)) OPENRESOLV_LICENSE = BSD-2-Clause OPENRESOLV_LICENSE_FILES = LICENSE +OPENRESOLV_CPE_ID_VENDOR = openresolv_project define OPENRESOLV_CONFIGURE_CMDS cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure --sysconfdir=/etc diff --git a/package/openssh/0001-Allow-ppoll_time64-in-seccomp-sandbox.patch b/package/openssh/0001-Allow-ppoll_time64-in-seccomp-sandbox.patch new file mode 100644 index 00000000000..16eb6eaba26 --- /dev/null +++ b/package/openssh/0001-Allow-ppoll_time64-in-seccomp-sandbox.patch @@ -0,0 +1,32 @@ +From 284b6e5394652d519e31782e3b3cdfd7b21d1a81 Mon Sep 17 00:00:00 2001 +From: Darren Tucker +Date: Sat, 26 Feb 2022 14:06:14 +1100 +Subject: [PATCH] Allow ppoll_time64 in seccomp sandbox. + +Should fix sandbox violations on (some? at least i386 and armhf) 32bit +Linux platforms. Patch from chutzpahu at gentoo.org and cjwatson at +debian.org via bz#3396. + +[Upstream: https://github.com/openssh/openssh-portable/commit/284b6e5394652d519e31782e3b3cdfd7b21d1a81.patch] +Signed-off-by: John Keeping +--- + sandbox-seccomp-filter.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c +index 2e065ba3..4ce80cb2 100644 +--- a/sandbox-seccomp-filter.c ++++ b/sandbox-seccomp-filter.c +@@ -276,6 +276,9 @@ static const struct sock_filter preauth_insns[] = { + #ifdef __NR_ppoll + SC_ALLOW(__NR_ppoll), + #endif ++#ifdef __NR_ppoll_time64 ++ SC_ALLOW(__NR_ppoll_time64), ++#endif + #ifdef __NR_poll + SC_ALLOW(__NR_poll), + #endif +-- +2.35.1 + diff --git a/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch b/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch new file mode 100644 index 00000000000..ce5c5539fff --- /dev/null +++ b/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch @@ -0,0 +1,38 @@ +From b5fee5fe98f708c1dc61a1564db35eacadbfe8b3 Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Thu, 24 Feb 2022 16:04:18 +0000 +Subject: [PATCH] Improve detection of -fzero-call-used-regs=all support + +GCC doesn't tell us whether this option is supported unless it runs into +the situation where it would need to emit corresponding code. + +[Upstream: https://github.com/openssh/openssh-portable/commit/f107467179428a0e3ea9e4aa9738ac12ff02822d.patch] +Signed-off-by: Peter Seiderer +--- + m4/openssh.m4 | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/m4/openssh.m4 b/m4/openssh.m4 +index 4f9c379..8c33c70 100644 +--- a/m4/openssh.m4 ++++ b/m4/openssh.m4 +@@ -14,6 +14,8 @@ AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{ + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #include + #include ++/* Trivial function to help test for -fzero-call-used-regs */ ++void f(int n) {} + int main(int argc, char **argv) { + (void)argv; + /* Some math to catch -ftrapv problems in the toolchain */ +@@ -21,6 +23,7 @@ int main(int argc, char **argv) { + float l = i * 2.1; + double m = l / 0.5; + long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; ++ f(0); + printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); + /* + * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does +-- +2.35.1 + diff --git a/package/openssh/openssh.hash b/package/openssh/openssh.hash index 840467f50ac..dd123c1bb6b 100644 --- a/package/openssh/openssh.hash +++ b/package/openssh/openssh.hash @@ -1,4 +1,4 @@ -# From https://www.openssh.com/txt/release-8.4 (base64 encoded) -sha256 5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24 openssh-8.4p1.tar.gz +# From https://www.openssh.com/txt/release-8.9 (base64 encoded) +sha256 fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7 openssh-8.9p1.tar.gz # Locally calculated -sha256 73d0db766229670c7b4e1ec5e6baed54977a0694a565e7cc878c45ee834045d7 LICENCE +sha256 d6807e99f3d159145c659060f57c3fa74e109faa39326dbfc38674cb550fd104 LICENCE diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk index 64e3084ca14..84add9563d9 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -4,12 +4,18 @@ # ################################################################################ -OPENSSH_VERSION = 8.4p1 -OPENSSH_CPE_ID_VERSION = 8.4 -OPENSSH_CPE_ID_UPDATE = p1 +OPENSSH_VERSION_MAJOR = 8.9 +OPENSSH_VERSION_MINOR = p1 +OPENSSH_VERSION = $(OPENSSH_VERSION_MAJOR)$(OPENSSH_VERSION_MINOR) +OPENSSH_CPE_ID_VERSION = $(OPENSSH_VERSION_MAJOR) +OPENSSH_CPE_ID_UPDATE = $(OPENSSH_VERSION_MINOR) OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain OPENSSH_LICENSE_FILES = LICENCE + +# patch touching m4/openssh.m4 +OPENSSH_AUTORECONF = YES + OPENSSH_CONF_ENV = \ LD="$(TARGET_CC)" \ LDFLAGS="$(TARGET_CFLAGS)" \ @@ -25,6 +31,8 @@ OPENSSH_CONF_OPTS = \ --disable-wtmpx \ --disable-strip +OPENSSH_SELINUX_MODULES = ssh + define OPENSSH_PERMISSIONS /var/empty d 755 root root - - - - - endef diff --git a/package/openssl/Config.in b/package/openssl/Config.in index dd470913004..7bf49b05f66 100644 --- a/package/openssl/Config.in +++ b/package/openssl/Config.in @@ -1,11 +1,5 @@ -config BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS - bool - default y - depends on !BR2_RISCV_32 - config BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL bool - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS config BR2_PACKAGE_OPENSSL bool "openssl support" @@ -22,7 +16,6 @@ choice config BR2_PACKAGE_LIBOPENSSL bool "openssl" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS select BR2_PACKAGE_ZLIB help A collaborative effort to develop a robust, commercial-grade, @@ -40,6 +33,7 @@ source "package/libopenssl/Config.in" config BR2_PACKAGE_LIBRESSL bool "libressl" depends on !BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + depends on BR2_TOOLCHAIN_HAS_THREADS # uClibc on noMMU doesn't provide __register_atfork() depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) help @@ -62,8 +56,8 @@ config BR2_PACKAGE_HAS_OPENSSL config BR2_PACKAGE_PROVIDES_OPENSSL string - default "libopenssl" if BR2_PACKAGE_LIBOPENSSL - default "libressl" if BR2_PACKAGE_LIBRESSL + default "libopenssl" if BR2_PACKAGE_LIBOPENSSL + default "libressl" if BR2_PACKAGE_LIBRESSL endif diff --git a/package/openswan/openswan.mk b/package/openswan/openswan.mk index 7f083f695dc..bb56e4516c7 100644 --- a/package/openswan/openswan.mk +++ b/package/openswan/openswan.mk @@ -15,7 +15,7 @@ OPENSWAN_MAKE_OPTS = ARCH=$(BR2_ARCH) CC="$(TARGET_CC)" POD2MAN="" XMLTO="" \ USERCOMPILE="$(TARGET_CFLAGS) $(if $(BR2_TOOLCHAIN_SUPPORTS_PIE),-fPIE)" \ USERLINK="$(TARGET_LDFLAGS) $(if $(BR2_TOOLCHAIN_SUPPORTS_PIE),-fPIE)" \ INC_USRLOCAL=/usr USE_KLIPS=false USE_MAST=false USE_NM=false \ - USE_NOMANINSTALL=true + USE_NOMANINSTALL=true WERROR="" ifeq ($(BR2_PACKAGE_LIBCURL),y) OPENSWAN_DEPENDENCIES += libcurl diff --git a/package/opentyrian/opentyrian.hash b/package/opentyrian/opentyrian.hash new file mode 100644 index 00000000000..0d1f4927eea --- /dev/null +++ b/package/opentyrian/opentyrian.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 2b0db65c735cc099279ea3da6d9b76f791633897cd0f5b67528f70de0758a944 opentyrian-cf5dbeb69eebd9ef9afc4473088d9469b79589eb.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/opentyrian/opentyrian.mk b/package/opentyrian/opentyrian.mk index 12e41ad9985..690323334e2 100644 --- a/package/opentyrian/opentyrian.mk +++ b/package/opentyrian/opentyrian.mk @@ -4,9 +4,8 @@ # ################################################################################ -OPENTYRIAN_VERSION = 9c9f0ec3532b -OPENTYRIAN_SITE = https://bitbucket.org/opentyrian/opentyrian -OPENTYRIAN_SITE_METHOD = hg +OPENTYRIAN_VERSION = cf5dbeb69eebd9ef9afc4473088d9469b79589eb +OPENTYRIAN_SITE = $(call github,opentyrian,opentyrian,$(OPENTYRIAN_VERSION)) OPENTYRIAN_LICENSE = GPL-2.0+ OPENTYRIAN_LICENSE_FILES = COPYING diff --git a/package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch new file mode 100644 index 00000000000..dbe2c29a2b3 --- /dev/null +++ b/package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch @@ -0,0 +1,80 @@ +From 3f0580f2546de8be7acf1bc78a55a257bc638ebe Mon Sep 17 00:00:00 2001 +From: Bartosz Brachaczek +Date: Tue, 12 Nov 2019 14:31:08 +0100 +Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386 + +I verified that this function behaves as expected on x86_64, i386 with +32-bit time_t, and i386 with 64-bit time_t for the following values of +ntTtime: + +UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX, +UNIX_S32_MAX+1, UNIX_S32_MAX*2+1 + +I did not verify whether the use of Div643264 is optimal, performance +wise. + +Signed-off-by: Giulio Benetti +--- + lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++++--------------- + 1 file changed, 19 insertions(+), 15 deletions(-) + +diff --git a/lib/hgfs/hgfsUtil.c b/lib/hgfs/hgfsUtil.c +index cc580ab8..49b10040 100644 +--- a/lib/hgfs/hgfsUtil.c ++++ b/lib/hgfs/hgfsUtil.c +@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format + uint64 ntTime) // IN: Time in Windows NT format + { + #ifdef __i386__ +- uint32 sec; +- uint32 nsec; ++ uint64 sec64; ++ uint32 sec32, nsec; ++#endif + + ASSERT(unixTime); +- /* We assume that time_t is 32bit */ +- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4); + +- /* Cap NT time values that are outside of Unix time's range */ ++ if (sizeof (unixTime->tv_sec) == 4) { ++ /* Cap NT time values that are outside of Unix time's range */ + +- if (ntTime >= UNIX_S32_MAX) { +- unixTime->tv_sec = 0x7FFFFFFF; +- unixTime->tv_nsec = 0; +- return 1; ++ if (ntTime >= UNIX_S32_MAX) { ++ unixTime->tv_sec = 0x7FFFFFFF; ++ unixTime->tv_nsec = 0; ++ return 1; ++ } + } +-#else +- ASSERT(unixTime); +-#endif + + if (ntTime < UNIX_EPOCH) { + unixTime->tv_sec = 0; +@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format + } + + #ifdef __i386__ +- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec); +- unixTime->tv_sec = sec; +- unixTime->tv_nsec = nsec * 100; ++ if (sizeof (unixTime->tv_sec) == 4) { ++ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec); ++ unixTime->tv_sec = sec32; ++ unixTime->tv_nsec = nsec * 100; ++ } else { ++ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec); ++ unixTime->tv_sec = sec64; ++ unixTime->tv_nsec = nsec * 100; ++ } + #else + unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000; + unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100; +-- +2.25.1 + diff --git a/package/openvpn/0001-auth-pam-c-add-missing-include-limits-h.patch b/package/openvpn/0001-auth-pam-c-add-missing-include-limits-h.patch new file mode 100644 index 00000000000..34a6dbd0349 --- /dev/null +++ b/package/openvpn/0001-auth-pam-c-add-missing-include-limits-h.patch @@ -0,0 +1,41 @@ +From 0fed64a91d894b46105bf7e8b16edea4d90ab70c Mon Sep 17 00:00:00 2001 +From: Antonio Quartulli +Date: Thu, 21 Apr 2022 15:19:09 +0200 +Subject: [PATCH] auth-pam.c: add missing include limits.h + +On most systems limits.h is pulled in by some other header and thus no +error is ever triggered, but it's possible to find the right environment +which lackis this and prevents compiling auth-pam.c (possibly when using +LibreSSL). + +Include the header explicitly as it includes the definition of PATH_MAX. + +(note that this bug is fixed in Gentoo since 2020 by including a custom +patch, but apparently the issue was never reported upstream) + +Reported-by: Michelangelo Scopelliti +Signed-off-by: Antonio Quartulli +Acked-by: Gert Doering +Message-Id: <20220421131909.32053-1-a@unstable.cc> +URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24136.html +Signed-off-by: Gert Doering + +[Retrieved from: +https://github.com/OpenVPN/openvpn/commit/0fed64a91d894b46105bf7e8b16edea4d90ab70c] +Signed-off-by: Fabrice Fontaine +--- + src/plugins/auth-pam/auth-pam.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/plugins/auth-pam/auth-pam.c b/src/plugins/auth-pam/auth-pam.c +index f893b51fe3..7033944568 100644 +--- a/src/plugins/auth-pam/auth-pam.c ++++ b/src/plugins/auth-pam/auth-pam.c +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + #include "utils.h" + + #include diff --git a/package/openvpn/Config.in b/package/openvpn/Config.in index 3f4a617fb7c..cd8b1db9966 100644 --- a/package/openvpn/Config.in +++ b/package/openvpn/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_OPENVPN bool "openvpn" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help OpenVPN is a full-featured SSL VPN solution which can accomodate a wide range of configurations, including road diff --git a/package/openvpn/openvpn.hash b/package/openvpn/openvpn.hash index 4e371fc87bf..bd598a51862 100644 --- a/package/openvpn/openvpn.hash +++ b/package/openvpn/openvpn.hash @@ -1,3 +1,3 @@ # Locally calculated after checking signature -sha256 029a426e44d656cb4e1189319c95fe6fc9864247724f5599d99df9c4c3478fbd openvpn-2.5.0.tar.xz +sha256 333a7ef3d5b317968aca2c77bdc29aa7c6d6bb3316eb3f79743b59c53242ad3d openvpn-2.5.6.tar.gz sha256 1fcb78d7e478bb8a9408010bdc91b36e213b1facfad093df3f7ce7e28af19043 COPYRIGHT.GPL diff --git a/package/openvpn/openvpn.mk b/package/openvpn/openvpn.mk index 7c67e950749..db2f53a5f38 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,13 +4,13 @@ # ################################################################################ -OPENVPN_VERSION = 2.5.0 -OPENVPN_SOURCE = openvpn-$(OPENVPN_VERSION).tar.xz -OPENVPN_SITE = http://swupdate.openvpn.net/community/releases +OPENVPN_VERSION = 2.5.6 +OPENVPN_SITE = https://swupdate.openvpn.net/community/releases OPENVPN_DEPENDENCIES = host-pkgconf OPENVPN_LICENSE = GPL-2.0 OPENVPN_LICENSE_FILES = COPYRIGHT.GPL OPENVPN_CPE_ID_VENDOR = openvpn +OPENVPN_SELINUX_MODULES = openvpn OPENVPN_CONF_OPTS = \ --disable-unit-tests \ $(if $(BR2_STATIC_LIBS),--disable-plugins) diff --git a/package/openzwave/openzwave.mk b/package/openzwave/openzwave.mk index 357d19f32e2..17da3b9b87d 100644 --- a/package/openzwave/openzwave.mk +++ b/package/openzwave/openzwave.mk @@ -23,6 +23,7 @@ OPENZWAVE_INSTALL_STAGING = YES # the correct directory otherwise openzwave will install configuration files in # $(PREFIX)/etc/openzwave. # Disable doxygen documentation. +# Set {DEBUG,RELEASE}_CFLAGS to remove -Werror. OPENZWAVE_MAKE_OPTS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ PREFIX=/usr \ @@ -30,6 +31,8 @@ OPENZWAVE_MAKE_OPTS = \ pkgconfigdir=/usr/lib/pkgconfig \ sysconfdir=/etc/openzwave \ DOXYGEN= \ + DEBUG_CFLAGS="-fPIC -std=c++11" \ + RELEASE_CFLAGS="-fPIC -std=c++11" \ USE_BI_TXML=0 ifeq ($(BR2_PACKAGE_HAS_UDEV),y) diff --git a/package/opkg-utils/Config.in b/package/opkg-utils/Config.in new file mode 100644 index 00000000000..2973055bafd --- /dev/null +++ b/package/opkg-utils/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_OPKG_UTILS + bool "opkg-utils" + depends on !BR2_nios2 || BR2_PACKAGE_BUSYBOX # binutils + depends on BR2_USE_MMU # bash, python3 + depends on BR2_USE_WCHAR # python3 + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 <- libffi + depends on !BR2_STATIC_LIBS # python3 + select BR2_PACKAGE_BINUTILS if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_BINUTILS_TARGET if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_COREUTILS if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_DIFFUTILS if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_FINDUTILS if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_GREP if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_GZIP if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_SED if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_TAR if !BR2_PACKAGE_BUSYBOX # runtime + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash + select BR2_PACKAGE_BASH # runtime + select BR2_PACKAGE_PYTHON3 # runtime + help + Helper scripts for use with the opkg package manager. + + https://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/ + +comment "opkg-utils needs a toolchain w/ wchar, threads, dynamic library" + depends on !BR2_nios2 || BR2_PACKAGE_BUSYBOX + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/opkg-utils/opkg-utils.hash b/package/opkg-utils/opkg-utils.hash index 779852d9c00..29671f9609c 100644 --- a/package/opkg-utils/opkg-utils.hash +++ b/package/opkg-utils/opkg-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 552c074630b6d6b39a32a35243fb34d7c5888b8a4f18118abb4daf92d0e847f2 opkg-utils-0.4.3-br1.tar.gz +sha256 e0fcaab51bff2149bd6560fb4238319d502dd99b581f66763d702e75c224736d opkg-utils-0.4.5-br1.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/opkg-utils/opkg-utils.mk b/package/opkg-utils/opkg-utils.mk index a94a4cd5cda..369a4586e87 100644 --- a/package/opkg-utils/opkg-utils.mk +++ b/package/opkg-utils/opkg-utils.mk @@ -4,20 +4,27 @@ # ################################################################################ -OPKG_UTILS_VERSION = 0.4.3 -OPKG_UTILS_SITE = http://git.yoctoproject.org/git/opkg-utils +OPKG_UTILS_VERSION = 0.4.5 +OPKG_UTILS_SITE = https://git.yoctoproject.org/git/opkg-utils OPKG_UTILS_SITE_METHOD = git OPKG_UTILS_LICENSE = GPL-2.0+ OPKG_UTILS_LICENSE_FILES = COPYING -HOST_OPKG_UTILS_DEPENDENCIES += $(BR2_PYTHON3_HOST_DEPENDENCY) +HOST_OPKG_UTILS_DEPENDENCIES = \ + $(BR2_PYTHON3_HOST_DEPENDENCY) \ + host-diffutils \ + host-lz4 \ + host-xz -define HOST_OPKG_UTILS_BUILD_CMDS - $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) +# Nothing to build; only scripts to install. +define OPKG_UTILS_INSTALL_CMDS + $(MAKE) -C $(@D) PREFIX=$(TARGET_DIR) install-utils endef +# Nothing to build; only scripts to install. define HOST_OPKG_UTILS_INSTALL_CMDS - $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install + $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install-utils endef +$(eval $(generic-package)) $(eval $(host-generic-package)) diff --git a/package/opkg/opkg.hash b/package/opkg/opkg.hash index b1ead67a116..b0c0ba65740 100644 --- a/package/opkg/opkg.hash +++ b/package/opkg/opkg.hash @@ -1,4 +1,4 @@ # From http://downloads.yoctoproject.org/releases/opkg/SHA256SUMS -sha256 86887852c43457edfff9d8b6d9520f3f1cdd55f25eb600a6eb31e1c4e151e106 opkg-0.4.2.tar.gz +sha256 a1214a75fa34fb9228db8da47308e0e711b1c93fd8938cf164c10fd28eb50f1e opkg-0.4.5.tar.gz # Locally calculated -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/opkg/opkg.mk b/package/opkg/opkg.mk index e25e51b9e60..501edcf8af4 100644 --- a/package/opkg/opkg.mk +++ b/package/opkg/opkg.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPKG_VERSION = 0.4.2 -OPKG_SITE = http://downloads.yoctoproject.org/releases/opkg +OPKG_VERSION = 0.4.5 +OPKG_SITE = https://downloads.yoctoproject.org/releases/opkg OPKG_DEPENDENCIES = host-pkgconf libarchive OPKG_LICENSE = GPL-2.0+ OPKG_LICENSE_FILES = COPYING diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk index 50693ddd1e1..265d6ebd18d 100644 --- a/package/oprofile/oprofile.mk +++ b/package/oprofile/oprofile.mk @@ -8,56 +8,16 @@ OPROFILE_VERSION = 1.4.0 OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION) OPROFILE_LICENSE = GPL-2.0+ OPROFILE_LICENSE_FILES = COPYING +OPROFILE_CPE_ID_VENDOR = maynard_johnson OPROFILE_CONF_OPTS = \ --disable-account-check \ --enable-gui=no \ --with-kernel=$(STAGING_DIR)/usr -OPROFILE_BINARIES = \ - utils/ophelp pp/opannotate pp/oparchive pp/opgprof \ - pp/opreport opjitconv/opjitconv \ - utils/op-check-perfevents libabi/opimport \ - pe_counting/ocount pe_profiling/operf - -ifeq ($(BR2_i386),y) -OPROFILE_ARCH = i386 -endif -ifeq ($(BR2_mipsel),y) -OPROFILE_ARCH = mips -endif -ifeq ($(BR2_powerpc),y) -OPROFILE_ARCH = ppc -endif -ifeq ($(BR2_x86_64),y) -OPROFILE_ARCH = x86-64 -endif -ifeq ($(OPROFILE_ARCH),) -OPROFILE_ARCH = $(BR2_ARCH) -endif - OPROFILE_DEPENDENCIES = popt binutils host-pkgconf ifeq ($(BR2_PACKAGE_LIBPFM4),y) OPROFILE_DEPENDENCIES += libpfm4 endif -ifeq ($(BR2_STATIC_LIBS),) -define OPROFILE_INSTALL_SHARED_LIBRARY - $(INSTALL) -m 755 $(@D)/libopagent/.libs/*.so* $(TARGET_DIR)/usr/lib/oprofile -endef -endif - -define OPROFILE_INSTALL_TARGET_CMDS - $(INSTALL) -d -m 755 $(TARGET_DIR)/usr/bin - $(INSTALL) -d -m 755 $(TARGET_DIR)/usr/share/oprofile - $(INSTALL) -d -m 755 $(TARGET_DIR)/usr/lib/oprofile - if [ -d $(@D)/events/$(OPROFILE_ARCH) ]; then \ - cp -dpfr $(@D)/events/$(OPROFILE_ARCH) \ - $(TARGET_DIR)/usr/share/oprofile; \ - fi - $(INSTALL) -m 644 $(@D)/libregex/stl.pat $(TARGET_DIR)/usr/share/oprofile - $(INSTALL) -m 755 $(addprefix $(@D)/, $(OPROFILE_BINARIES)) $(TARGET_DIR)/usr/bin - $(OPROFILE_INSTALL_SHARED_LIBRARY) -endef - $(eval $(autotools-package)) diff --git a/package/optee-benchmark/0001-main-fix-typo.patch b/package/optee-benchmark/0001-main-fix-typo.patch deleted file mode 100644 index 8ad5a26f135..00000000000 --- a/package/optee-benchmark/0001-main-fix-typo.patch +++ /dev/null @@ -1,55 +0,0 @@ -From ffa935dc881c394a824e063c8fde7dd102e06d8c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 8 May 2020 23:39:59 +0200 -Subject: [PATCH] main: fix typo -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The function yaml_mapping_start_event_initialize() -take yaml_mapping_style_t style as last argument: - -int yaml_mapping_start_event_initialize( - yaml_event_t *event, - const yaml_char_t *anchor, - const yaml_char_t *tag, - int implicit, - yaml_mapping_style_t style) - -Use YAML_ANY_MAPPING_STYLE instead of YAML_ANY_SEQUENCE_STYLE - -Fixes: -main.c:173:5: error: implicit conversion from ‘enum yaml_sequence_style_e’ to ‘yaml_mapping_style_t’ {aka ‘enum yaml_mapping_style_e’} [-Werror=enum-conversion] - 173 | YAML_ANY_SEQUENCE_STYLE)) - | ^~~~~~~~~~~~~~~~~~~~~~~ - -Signed-off-by: Romain Naour ---- - main.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/main.c b/main.c -index 29a7c42..1685d3e 100644 ---- a/main.c -+++ b/main.c -@@ -170,7 +170,7 @@ static bool init_emitter(FILE *ts_file) - /* Mapping start */ - if (!yaml_mapping_start_event_initialize(&event, - NULL, NULL , YAML_IMPLICIT, -- YAML_ANY_SEQUENCE_STYLE)) -+ YAML_ANY_MAPPING_STYLE)) - ERROR_GOTO(emitter_delete, - "Failed to initialize YAML mapping start event"); - if (!yaml_emitter_emit(&emitter, &event)) -@@ -263,7 +263,7 @@ static bool fill_timestamp(uint32_t core, uint64_t count, uint64_t addr, - /* Mapping start */ - if (!yaml_mapping_start_event_initialize(&event, - NULL, NULL , YAML_IMPLICIT, -- YAML_ANY_SEQUENCE_STYLE)) -+ YAML_ANY_MAPPING_STYLE)) - ERROR_RETURN_FALSE( - "Failed to initialize YAML mapping start event"); - if (!yaml_emitter_emit(&emitter, &event)) --- -2.25.4 - diff --git a/package/optee-benchmark/Config.in b/package/optee-benchmark/Config.in index 5fd365a9e38..2070582fbbb 100644 --- a/package/optee-benchmark/Config.in +++ b/package/optee-benchmark/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_OPTEE_BENCHMARK bool "optee-benchmark" depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client + depends on !BR2_STATIC_LIBS # optee-client + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # optee-client select BR2_PACKAGE_OPTEE_CLIENT select BR2_PACKAGE_LIBYAML help @@ -12,6 +14,7 @@ config BR2_PACKAGE_OPTEE_BENCHMARK http://github.com/linaro-swg/optee_benchmark -comment "optee-benchmark needs a toolchain w/ threads" +comment "optee-benchmark needs a toolchain w/ threads, dynamic library, headers >= 4.3" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 diff --git a/package/optee-benchmark/optee-benchmark.hash b/package/optee-benchmark/optee-benchmark.hash index 12d1ddea88a..3797920c35a 100644 --- a/package/optee-benchmark/optee-benchmark.hash +++ b/package/optee-benchmark/optee-benchmark.hash @@ -1,4 +1,4 @@ -# From https://github.com/linaro-swg/optee_benchmark/archive/3.11.0.tar.gz -sha256 34c314a5cda1e9e3b92f01759585722b44503d9eea19f6b936fc951f5acbac16 optee-benchmark-3.11.0.tar.gz +# From https://github.com/linaro-swg/optee_benchmark/archive/3.15.0/optee-benchmark-3.15.0.tar.gz +sha256 f1ddac5e9f58333194eb302e6d9840fa334300bc103abb3d9f783bf009a78c50 optee-benchmark-3.15.0.tar.gz # Locally computed sha256 0571be5b739142dc3e40e0a4e7e30d4ab8bff0d4d606a3f2db2010745587d383 LICENSE diff --git a/package/optee-benchmark/optee-benchmark.mk b/package/optee-benchmark/optee-benchmark.mk index f9d7cae3025..1357f9f2707 100644 --- a/package/optee-benchmark/optee-benchmark.mk +++ b/package/optee-benchmark/optee-benchmark.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPTEE_BENCHMARK_VERSION = 3.11.0 +OPTEE_BENCHMARK_VERSION = 3.15.0 OPTEE_BENCHMARK_SITE = $(call github,linaro-swg,optee_benchmark,$(OPTEE_BENCHMARK_VERSION)) OPTEE_BENCHMARK_LICENSE = BSD-2-Clause OPTEE_BENCHMARK_LICENSE_FILES = LICENSE diff --git a/package/optee-client/0001-libckteec-replace-initializer.patch b/package/optee-client/0001-libckteec-replace-initializer.patch deleted file mode 100644 index 21c75d142ef..00000000000 --- a/package/optee-client/0001-libckteec-replace-initializer.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 4fff84cebc05a238a8fed3c66d7dcde18f9574fb Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 2 Nov 2020 08:04:14 +0100 -Subject: [PATCH] =?UTF-8?q?libckteec:=20replace=20{=C2=A0}=20initializer?= - =?UTF-8?q?=20by=20{=C2=A00=20}?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Replace { } initializer by { 0 } to fix the following build failure with -gcc 4.8: - -libckteec/src/pkcs11_processing.c: In function 'ck_create_object': -libckteec/src/pkcs11_processing.c:22:9: error: missing initializer for field 'buffer' of 'struct serializer' [-Werror=missing-field-initializers] - struct serializer obj = { }; - ^ - -Fixes: http://autobuild.buildroot.org/results/a3d663adb943aee814180f01d6e153b3309be962 -Reviewed-by: Etienne Carriere -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/OP-TEE/optee_client/pull/230] ---- - libckteec/src/pkcs11_processing.c | 4 ++-- - libckteec/src/serialize_ck.c | 4 ++-- - libckteec/src/serializer.c | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/libckteec/src/pkcs11_processing.c b/libckteec/src/pkcs11_processing.c -index 2eb191f5..8eebe769 100644 ---- a/libckteec/src/pkcs11_processing.c -+++ b/libckteec/src/pkcs11_processing.c -@@ -19,7 +19,7 @@ CK_RV ck_create_object(CK_SESSION_HANDLE session, CK_ATTRIBUTE_PTR attribs, - CK_ULONG count, CK_OBJECT_HANDLE_PTR handle) - { - CK_RV rv = CKR_GENERAL_ERROR; -- struct serializer obj = { }; -+ struct serializer obj = { 0 }; - size_t ctrl_size = 0; - TEEC_SharedMemory *ctrl = NULL; - TEEC_SharedMemory *out_shm = NULL; -@@ -114,7 +114,7 @@ CK_RV ck_encdecrypt_init(CK_SESSION_HANDLE session, - { - CK_RV rv = CKR_GENERAL_ERROR; - TEEC_SharedMemory *ctrl = NULL; -- struct serializer obj = { }; -+ struct serializer obj = { 0 }; - uint32_t session_handle = session; - uint32_t key_handle = key; - size_t ctrl_size = 0; -diff --git a/libckteec/src/serialize_ck.c b/libckteec/src/serialize_ck.c -index 1fc26ddc..0e5df90a 100644 ---- a/libckteec/src/serialize_ck.c -+++ b/libckteec/src/serialize_ck.c -@@ -39,7 +39,7 @@ static CK_RV serialize_indirect_attribute(struct serializer *obj, - CK_ATTRIBUTE_PTR attr = NULL; - CK_ULONG count = 0; - CK_RV rv = CKR_GENERAL_ERROR; -- struct serializer obj2 = { }; -+ struct serializer obj2 = { 0 }; - - switch (attribute->type) { - /* These are serialized each separately */ -@@ -263,7 +263,7 @@ static CK_RV serialize_mecha_aes_iv(struct serializer *obj, - CK_RV serialize_ck_mecha_params(struct serializer *obj, - CK_MECHANISM_PTR mechanism) - { -- CK_MECHANISM mecha = { }; -+ CK_MECHANISM mecha = { 0 }; - CK_RV rv = CKR_GENERAL_ERROR; - - memset(obj, 0, sizeof(*obj)); -diff --git a/libckteec/src/serializer.c b/libckteec/src/serializer.c -index 0e3df65c..d94932ba 100644 ---- a/libckteec/src/serializer.c -+++ b/libckteec/src/serializer.c -@@ -14,7 +14,7 @@ - - CK_RV init_serial_object(struct serializer *obj) - { -- struct pkcs11_object_head head = { }; -+ struct pkcs11_object_head head = { 0 }; - - memset(obj, 0, sizeof(*obj)); - -@@ -23,7 +23,7 @@ CK_RV init_serial_object(struct serializer *obj) - - void finalize_serial_object(struct serializer *obj) - { -- struct pkcs11_object_head head = { }; -+ struct pkcs11_object_head head = { 0 }; - - head.attrs_size = obj->size - sizeof(head); - head.attrs_count = obj->item_count; diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in index 1ef0a1401e2..cc7f176c772 100644 --- a/package/optee-client/Config.in +++ b/package/optee-client/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_OPTEE_CLIENT bool "optee-client" depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # MMC_IOC_MULTI_CMD help Enable the OP-TEE client package that brings non-secure client application resources for OP-TEE support. OP-TEE @@ -23,7 +24,21 @@ config BR2_PACKAGE_OPTEE_CLIENT_TEE_FS_PATH normal world OS providing the actual storage via tee-supplicant. +config BR2_PACKAGE_OPTEE_CLIENT_RPMB_EMU + bool "Enable RPMB emulation" + default y + help + Enable RPMB device emulation in tee-supplicant. + +config BR2_PACKAGE_OPTEE_CLIENT_SUPP_PLUGINS + bool "Enable TEE supplicant plugins" + default y + depends on !BR2_STATIC_LIBS # dlfcn.h + help + Enable TEE supplicant plugin support. + endif -comment "optee-client needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "optee-client needs a toolchain w/ threads, headers >= 4.3" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 diff --git a/package/optee-client/optee-client.hash b/package/optee-client/optee-client.hash index d8e507dba7f..3ae06f2afb6 100644 --- a/package/optee-client/optee-client.hash +++ b/package/optee-client/optee-client.hash @@ -1,4 +1,4 @@ -# From https://github.com/OP-TEE/optee_client/archive/3.11.0.tar.gz -sha256 91f8ec191cd999ee666b6203ec376415d5dc90a8a9955f3d5fce1f48df77169b optee-client-3.11.0.tar.gz +# From https://github.com/OP-TEE/optee_client/archive/3.15.0/optee-client-3.15.0.tar.gz +sha256 e1ea6c953e3584248d7a62050813e5ac0f0112933447954c44236a233a4cbba5 optee-client-3.15.0.tar.gz # Locally computed sha256 fda8385993f112d7ca61b88b54ba5b4cbeec7e43a0f9b317d5186703c1985e8f LICENSE diff --git a/package/optee-client/optee-client.mk b/package/optee-client/optee-client.mk index 8108fc21305..dda9a2855d2 100644 --- a/package/optee-client/optee-client.mk +++ b/package/optee-client/optee-client.mk @@ -4,14 +4,27 @@ # ################################################################################ -OPTEE_CLIENT_VERSION = 3.11.0 +OPTEE_CLIENT_VERSION = 3.15.0 OPTEE_CLIENT_SITE = $(call github,OP-TEE,optee_client,$(OPTEE_CLIENT_VERSION)) OPTEE_CLIENT_LICENSE = BSD-2-Clause OPTEE_CLIENT_LICENSE_FILES = LICENSE OPTEE_CLIENT_INSTALL_STAGING = YES OPTEE_CLIENT_CONF_OPTS = \ - -DCFG_TEE_FS_PARENT_PATH=$(BR2_PACKAGE_OPTEE_CLIENT_TEE_FS_PATH) + -DCFG_TEE_FS_PARENT_PATH=$(BR2_PACKAGE_OPTEE_CLIENT_TEE_FS_PATH) \ + -DCFG_WERROR=OFF + +ifeq ($(BR2_PACKAGE_OPTEE_CLIENT_RPMB_EMU),y) +OPTEE_CLIENT_CONF_OPTS += -DRPMB_EMU=ON +else +OPTEE_CLIENT_CONF_OPTS += -DRPMB_EMU=OFF +endif + +ifeq ($(BR2_PACKAGE_OPTEE_CLIENT_SUPP_PLUGINS),y) +OPTEE_CLIENT_CONF_OPTS += -DCFG_TEE_SUPP_PLUGINS=ON +else +OPTEE_CLIENT_CONF_OPTS += -DCFG_TEE_SUPP_PLUGINS=OFF +endif define OPTEE_CLIENT_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D $(OPTEE_CLIENT_PKGDIR)/S30optee \ diff --git a/package/optee-examples/Config.in b/package/optee-examples/Config.in index c0fecfdf500..843981a4587 100644 --- a/package/optee-examples/Config.in +++ b/package/optee-examples/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_OPTEE_EXAMPLES bool "optee-examples" depends on BR2_TARGET_OPTEE_OS depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client + depends on !BR2_STATIC_LIBS # optee-client + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # optee-client select BR2_PACKAGE_OPTEE_CLIENT select BR2_TARGET_OPTEE_OS_SDK help @@ -18,6 +20,7 @@ config BR2_PACKAGE_OPTEE_EXAMPLES https://github.com/linaro-swg/optee_examples -comment "optee-examples needs a toolchain w/ threads" +comment "optee-examples needs a toolchain w/ threads, dynamic library, headers >= 4.3" depends on BR2_TARGET_OPTEE_OS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 diff --git a/package/optee-examples/optee-examples.hash b/package/optee-examples/optee-examples.hash index 230d5d3ccfc..f88904c795a 100644 --- a/package/optee-examples/optee-examples.hash +++ b/package/optee-examples/optee-examples.hash @@ -1,4 +1,4 @@ -# From https://github.com/linaro-swg/optee_examples/archive/3.11.0.tar.gz -sha256 b910479a2d432014b6c49aafed27e26dd6f930e7c31d277c1500c1b60b4b3876 optee-examples-3.11.0.tar.gz +# From https://github.com/linaro-swg/optee_examples/archive/3.15.0/optee-examples-3.15.0.tar.gz +sha256 9770827292eea85068913077d3406070f6182389779c5d4a5c0876bffd962353 optee-examples-3.15.0.tar.gz # Locally computed sha256 6f1ef8449cb82ae79d2155605f7985bdf0f08e7ab5007de9b4362e8bf28733b9 LICENSE diff --git a/package/optee-examples/optee-examples.mk b/package/optee-examples/optee-examples.mk index b6f77c72f0e..2b46dcc1ebd 100644 --- a/package/optee-examples/optee-examples.mk +++ b/package/optee-examples/optee-examples.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPTEE_EXAMPLES_VERSION = 3.11.0 +OPTEE_EXAMPLES_VERSION = 3.15.0 OPTEE_EXAMPLES_SITE = $(call github,linaro-swg,optee_examples,$(OPTEE_EXAMPLES_VERSION)) OPTEE_EXAMPLES_LICENSE = BSD-2-Clause OPTEE_EXAMPLES_LICENSE_FILES = LICENSE diff --git a/package/optee-test/Config.in b/package/optee-test/Config.in index 357a6b0c578..cf36d19fab0 100644 --- a/package/optee-test/Config.in +++ b/package/optee-test/Config.in @@ -3,6 +3,8 @@ config BR2_PACKAGE_OPTEE_TEST depends on BR2_TARGET_OPTEE_OS depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # optee-client + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # optee-client select BR2_PACKAGE_OPTEE_CLIENT select BR2_TARGET_OPTEE_OS_SDK help @@ -23,6 +25,7 @@ config BR2_PACKAGE_OPTEE_TEST http://github.com/OP-TEE/optee_test -comment "optee-test needs a toolchain w/ threads and C++" +comment "optee-test needs a toolchain w/ threads, C++, dynamic library, headers >= 4.3" depends on BR2_TARGET_OPTEE_OS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 diff --git a/package/optee-test/optee-test.hash b/package/optee-test/optee-test.hash index 52e2373bf7a..5d68f94fbde 100644 --- a/package/optee-test/optee-test.hash +++ b/package/optee-test/optee-test.hash @@ -1,4 +1,4 @@ -# From https://github.com/OP-TEE/optee_test/archive/3.11.0.tar.gz -sha256 54d4b7e2ad22cd409ee8e25e990c1878690b1b5eb8843f649d12022888186a53 optee-test-3.11.0.tar.gz +# From https://github.com/OP-TEE/optee_test/archive/3.15.0/optee-test-3.15.0.tar.gz +sha256 9c2b6b80055cbef0f9bccce17dde494725bc71d9013dacaeb3e46d0926191098 optee-test-3.15.0.tar.gz # Locally computed sha256 6e6810981f0ddab9e0d44399d0700a15d9f760a3c2843cc866659c2074139ae7 LICENSE.md diff --git a/package/optee-test/optee-test.mk b/package/optee-test/optee-test.mk index 1f4f586672c..f2117c0d004 100644 --- a/package/optee-test/optee-test.mk +++ b/package/optee-test/optee-test.mk @@ -4,13 +4,17 @@ # ################################################################################ -OPTEE_TEST_VERSION = 3.11.0 +OPTEE_TEST_VERSION = 3.15.0 OPTEE_TEST_SITE = $(call github,OP-TEE,optee_test,$(OPTEE_TEST_VERSION)) OPTEE_TEST_LICENSE = GPL-2.0, BSD-2-Clause, OPTEE_TEST_LICENSE_FILES = LICENSE.md OPTEE_TEST_DEPENDENCIES = optee-client optee-os +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +OPTEE_TEST_DEPENDENCIES += libopenssl +endif + OPTEE_TEST_CONF_OPTS = -DOPTEE_TEST_SDK=$(OPTEE_OS_SDK) # Trusted Application are not built from CMake due to ta_dev_kit diff --git a/package/opus/opus.mk b/package/opus/opus.mk index 3fb2d5d65f9..2fa929c7df3 100644 --- a/package/opus/opus.mk +++ b/package/opus/opus.mk @@ -17,11 +17,16 @@ OPUS_CFLAGS += -O0 endif OPUS_CONF_ENV = CFLAGS="$(OPUS_CFLAGS)" +OPUS_CONF_OPTS = --enable-custom-modes ifeq ($(BR2_PACKAGE_OPUS_FIXED_POINT),y) OPUS_CONF_OPTS += --enable-fixed-point endif +ifeq ($(BR2_OPTIMIZE_FAST),y) +OPUS_CONF_OPTS += --enable-float-approx +endif + # When we're on ARM, but we don't have ARM instructions (only # Thumb-2), disable the usage of assembly as it is not Thumb-ready. ifeq ($(BR2_arm)$(BR2_armeb):$(BR2_ARM_CPU_HAS_ARM),y:) diff --git a/package/oracle-mysql/0011-config-ac-macros-alloca.m4-Remove-obsolete-Cray-supp.patch b/package/oracle-mysql/0011-config-ac-macros-alloca.m4-Remove-obsolete-Cray-supp.patch new file mode 100644 index 00000000000..492e01bffe3 --- /dev/null +++ b/package/oracle-mysql/0011-config-ac-macros-alloca.m4-Remove-obsolete-Cray-supp.patch @@ -0,0 +1,51 @@ +From 0d8ab9b020870c62c216fca77e7f8bd3eeb710c3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 9 Oct 2021 19:23:46 +0200 +Subject: [PATCH] config/ac-macros/alloca.m4: Remove obsolete Cray support + +Remove obsolete Cray support to avoid the following build failure since +autoconf >= 2.70 and +http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=15edf7fd8094fd14a89d9891dd72a9624762597a: + +autoheader: warning: missing template: CRAY_STACKSEG_END +autoheader: warning: Use AC_DEFINE([CRAY_STACKSEG_END], [], [Description]) +autoreconf: error: /home/buildroot/autobuild/instance-2/output-1/host/bin/autoheader failed with exit status: 1 +package/pkg-generic.mk:273: recipe for target '/home/buildroot/autobuild/instance-2/output-1/build/oracle-mysql-5.1.73/.stamp_configured' failed + +Fixes: + - http://autobuild.buildroot.org/results/e5329bcf166d46b2eb17f2bc727c0307bef5ed02 + +Upstream: switched to CMake a very long time ago, so not sent upstream +Signed-off-by: Fabrice Fontaine +--- + config/ac-macros/alloca.m4 | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/config/ac-macros/alloca.m4 b/config/ac-macros/alloca.m4 +index 8c730dd671f..eecb8249573 100644 +--- a/config/ac-macros/alloca.m4 ++++ b/config/ac-macros/alloca.m4 +@@ -46,20 +46,6 @@ then + ALLOCA=alloca.o + AC_DEFINE(C_ALLOCA, 1) + +- AC_CACHE_CHECK(whether alloca needs Cray hooks, ac_cv_os_cray, +- [AC_EGREP_CPP(webecray, +- [#if defined(CRAY) && ! defined(CRAY2) +- webecray +- #else +- wenotbecray +- #endif +- ], ac_cv_os_cray=yes, ac_cv_os_cray=no)]) +- if test "$ac_cv_os_cray" = "yes"; then +- for ac_func in _getb67 GETB67 getb67; do +- AC_CHECK_FUNC($ac_func, [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func) +- break]) +- done +- fi + fi + AC_SUBST(ALLOCA)dnl + else +-- +2.33.0 + diff --git a/package/oracle-mysql/oracle-mysql.mk b/package/oracle-mysql/oracle-mysql.mk index ccfa40cfb19..f1f16abbb4d 100644 --- a/package/oracle-mysql/oracle-mysql.mk +++ b/package/oracle-mysql/oracle-mysql.mk @@ -13,7 +13,9 @@ ORACLE_MYSQL_DEPENDENCIES = ncurses ORACLE_MYSQL_AUTORECONF = YES ORACLE_MYSQL_LICENSE = GPL-2.0 ORACLE_MYSQL_LICENSE_FILES = README COPYING +ORACLE_MYSQL_SELINUX_MODULES = mysql ORACLE_MYSQL_PROVIDES = mysql +ORACLE_MYSQL_CONFIG_SCRIPTS = mysql_config # Unix socket. This variable can also be consulted by other buildroot packages MYSQL_SOCKET = /run/mysql/mysql.sock @@ -59,7 +61,7 @@ define HOST_ORACLE_MYSQL_BUILD_CMDS endef define HOST_ORACLE_MYSQL_INSTALL_CMDS - $(INSTALL) -m 0755 $(@D)/sql/gen_lex_hash $(HOST_DIR)/bin/ + $(INSTALL) -m 0755 $(@D)/sql/gen_lex_hash $(HOST_DIR)/bin/ endef ifeq ($(BR2_PACKAGE_OPENSSL),y) @@ -95,7 +97,7 @@ ORACLE_MYSQL_CONF_OPTS += \ # Debugging is only available for the server, so no need for # this if-block outside of the server if-block -ifeq ($(BR2_ENABLE_DEBUG),y) +ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) ORACLE_MYSQL_CONF_OPTS += --with-debug=full else ORACLE_MYSQL_CONF_OPTS += --without-debug diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in new file mode 100644 index 00000000000..e903e92c49e --- /dev/null +++ b/package/osm2pgsql/Config.in @@ -0,0 +1,31 @@ +config BR2_PACKAGE_OSM2PGSQL + bool "osm2pgsql" + depends on BR2_INSTALL_LIBSTDCPP # boost, libosmium, protozero + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 + depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem + depends on BR2_USE_WCHAR # boost, libosmium + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBOSMIUM + select BR2_PACKAGE_PROTOZERO + select BR2_PACKAGE_ZLIB + help + osm2pgsql is a tool for loading OpenStreetMap data into a + PostgreSQL / PostGIS database suitable for applications like + rendering into a map, geocoding with Nominatim, + or general analysis. + + https://osm2pgsql.org + +comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS + +comment "osm2pgsql needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/osm2pgsql/osm2pgsql.hash b/package/osm2pgsql/osm2pgsql.hash new file mode 100644 index 00000000000..898fcd55007 --- /dev/null +++ b/package/osm2pgsql/osm2pgsql.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0ec8b58ab972ac8356185af4161270c1b625a77299f09e5fb7f45e616ef1a9a5 osm2pgsql-1.6.0.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/osm2pgsql/osm2pgsql.mk b/package/osm2pgsql/osm2pgsql.mk new file mode 100644 index 00000000000..d389fff590e --- /dev/null +++ b/package/osm2pgsql/osm2pgsql.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# osm2pgsql +# +################################################################################ + +OSM2PGSQL_VERSION = 1.6.0 +OSM2PGSQL_SITE = $(call github,openstreetmap,osm2pgsql,$(OSM2PGSQL_VERSION)) +OSM2PGSQL_LICENSE = GPL-2.0+ +OSM2PGSQL_LICENSE_FILES = COPYING +OSM2PGSQL_SUPPORTS_IN_SOURCE_BUILD = NO + +OSM2PGSQL_DEPENDENCIES = boost bzip2 expat libosmium postgresql protozero zlib + +# fmt > 8.0 is not yet supported +OSM2PGSQL_CONF_OPTS = \ + -DBUILD_TESTS=OFF \ + -DBUILD_COVERAGE=OFF \ + -DEXTERNAL_FMT=OFF \ + -DEXTERNAL_LIBOSMIUM=ON \ + -DEXTERNAL_PROTOZERO=ON + +ifeq ($(BR2_PACKAGE_LUAJIT),y) +OSM2PGSQL_DEPENDENCIES += luajit +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=ON +else ifeq ($(BR2_PACKAGE_LUA),y) +OSM2PGSQL_DEPENDENCIES += lua +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=OFF +else +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=OFF -DWITH_LUAJIT=OFF +endif + +ifeq ($(BR2_PACKAGE_PROJ),y) +OSM2PGSQL_DEPENDENCIES += proj +OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=auto +else +OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=off +endif + +$(eval $(cmake-package)) diff --git a/package/owfs/0001-Fix-compilation-with-GCC10.patch b/package/owfs/0001-Fix-compilation-with-GCC10.patch deleted file mode 100644 index 49b703ee288..00000000000 --- a/package/owfs/0001-Fix-compilation-with-GCC10.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 43a4bc6b750c37f585d03b14941f3633ed5348d8 Mon Sep 17 00:00:00 2001 -From: "Azamat H. Hackimov" -Date: Tue, 9 Jun 2020 11:30:38 +0300 -Subject: [PATCH] Fix compilation with GCC10 - -Fixed compilation with -fno-common, which enabled in GCC 10 by default. -See https://bugs.gentoo.org/707438. -[Retrieved from: -https://github.com/owfs/owfs/commit/43a4bc6b750c37f585d03b14941f3633ed5348d8] -Signed-off-by: Fabrice Fontaine ---- - module/owserver/src/c/owserver.c | 2 ++ - module/owserver/src/include/owserver.h | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/module/owserver/src/c/owserver.c b/module/owserver/src/c/owserver.c -index db29988e..2ed29161 100644 ---- a/module/owserver/src/c/owserver.c -+++ b/module/owserver/src/c/owserver.c -@@ -36,6 +36,8 @@ - - #include "owserver.h" - -+pthread_mutex_t persistence_mutex ; -+ - /* --- Prototypes ------------ */ - static void SetupAntiloop(int argc, char **argv); - -diff --git a/module/owserver/src/include/owserver.h b/module/owserver/src/include/owserver.h -index 8be582f0..a257ed02 100644 ---- a/module/owserver/src/include/owserver.h -+++ b/module/owserver/src/include/owserver.h -@@ -18,7 +18,7 @@ - #include "ow.h" - #include "ow_connection.h" - --pthread_mutex_t persistence_mutex ; -+extern pthread_mutex_t persistence_mutex ; - #define PERSISTENCELOCK _MUTEX_LOCK( persistence_mutex ) ; - #define PERSISTENCEUNLOCK _MUTEX_UNLOCK( persistence_mutex ) ; - diff --git a/package/owfs/owfs.hash b/package/owfs/owfs.hash index 4c6b15a4e1d..e2c51077ac1 100644 --- a/package/owfs/owfs.hash +++ b/package/owfs/owfs.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 b8d33eba57d4a2f6c8a11ff23f233e3248bd75a42c8219b058a888846edd8717 owfs-3.2p3.tar.gz -sha256 1f0527ab035eefb5197c68633d06f50f5077c719d82a99344702ceaca29150b9 COPYING -sha256 8a6601b893d5784d931b2ede64a406fac463acfbb7014914e27de4d6e68457c3 COPYING.LIB +sha256 af0a5035f3f3df876ca15aea13486bfed6b3ef5409dee016db0be67755c35fcc owfs-3.2p4.tar.gz +sha256 1f0527ab035eefb5197c68633d06f50f5077c719d82a99344702ceaca29150b9 COPYING +sha256 8a6601b893d5784d931b2ede64a406fac463acfbb7014914e27de4d6e68457c3 COPYING.LIB diff --git a/package/owfs/owfs.mk b/package/owfs/owfs.mk index ffc0b3098d5..986dca921a2 100644 --- a/package/owfs/owfs.mk +++ b/package/owfs/owfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -OWFS_VERSION = 3.2p3 +OWFS_VERSION = 3.2p4 OWFS_SITE = https://github.com/owfs/owfs/releases/download/v$(OWFS_VERSION) OWFS_DEPENDENCIES = host-pkgconf OWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl @@ -67,39 +67,8 @@ else OWFS_CONF_OPTS += --disable-avahi endif -# setup.py isn't python3 compliant -ifeq ($(BR2_PACKAGE_PYTHON),y) -OWFS_CONF_OPTS += \ - --enable-owpython \ - --with-python \ - --with-pythonconfig=$(STAGING_DIR)/usr/bin/python-config -OWFS_MAKE_ENV += \ - CC="$(TARGET_CC)" \ - PYTHONPATH="$(PYTHON_PATH)" \ - _python_sysroot=$(STAGING_DIR) \ - _python_prefix=/usr \ - _python_exec_prefix=/usr -OWFS_DEPENDENCIES += python host-swig -# The configure scripts finds PYSITEDIR as the python_lib directory of -# host-python, and then prepends DESTDIR in front of it. So we end up -# installing things in $(TARGET_DIR)/$(HOST_DIR)/lib/python which is -# clearly wrong. -# Patching owfs to do the right thing is not trivial, it's much easier to -# override the PYSITEDIR variable in make. -OWFS_EXTRA_MAKE_OPTS += PYSITEDIR=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages - -ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -define OWFS_FIXUP_PYTHON_SYSCONFIGDATA - find $(HOST_DIR)/lib/python* $(STAGING_DIR)/usr/lib/python* \ - -name "_sysconfigdata*.py" | xargs --no-run-if-empty \ - $(SED) "s:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/owfs/:g" -endef -OWFS_PRE_CONFIGURE_HOOKS += OWFS_FIXUP_PYTHON_SYSCONFIGDATA -endif - -else +# python2 only (https://github.com/owfs/owfs/pull/32) OWFS_CONF_OPTS += --disable-owpython --without-python -endif ifeq ($(BR2_STATIC_LIBS),y) # zeroconf support uses dlopen() diff --git a/package/p11-kit/0001-p11-kit-lists-c-Add-stdint-h-to-fix-compilation.patch b/package/p11-kit/0001-p11-kit-lists-c-Add-stdint-h-to-fix-compilation.patch deleted file mode 100644 index d4828666d39..00000000000 --- a/package/p11-kit/0001-p11-kit-lists-c-Add-stdint-h-to-fix-compilation.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 507c394cfcf4edffc5e4450c5d737e545c26b857 Mon Sep 17 00:00:00 2001 -From: Daniel Engberg -Date: Sat, 12 Dec 2020 18:56:38 +0100 -Subject: [PATCH] p11-kit/lists.c: Add stdint.h to fix compilation - -Add stdint.h otherwise compilation fails on FreeBSD 13-CURRENT with "use of undeclared identifier 'SIZE_MAX'" - -Signed-off-by: Daniel Engberg - -[Retrieved from: -https://github.com/p11-glue/p11-kit/commit/507c394cfcf4edffc5e4450c5d737e545c26b857] -Signed-off-by: Fabrice Fontaine ---- - p11-kit/lists.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/p11-kit/lists.c b/p11-kit/lists.c -index 365a6d89..1d9062be 100644 ---- a/p11-kit/lists.c -+++ b/p11-kit/lists.c -@@ -39,6 +39,7 @@ - - #include - #include -+#include - #include - #include - #include diff --git a/package/p11-kit/p11-kit.hash b/package/p11-kit/p11-kit.hash index 3481a40b001..e950060c91e 100644 --- a/package/p11-kit/p11-kit.hash +++ b/package/p11-kit/p11-kit.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 8a8f40153dd5a3f8e7c03e641f8db400133fb2a6a9ab2aee1b6d0cb0495ec6b6 p11-kit-0.23.22.tar.xz +sha256 d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8 p11-kit-0.24.1.tar.xz # Locally computed sha256 2e1ba993904df807a10c3eda1e5c272338edc35674b679773a8b3ad460731054 COPYING diff --git a/package/p11-kit/p11-kit.mk b/package/p11-kit/p11-kit.mk index 284eb0fa350..868e3a7c9bf 100644 --- a/package/p11-kit/p11-kit.mk +++ b/package/p11-kit/p11-kit.mk @@ -4,7 +4,7 @@ # ################################################################################ -P11_KIT_VERSION = 0.23.22 +P11_KIT_VERSION = 0.24.1 P11_KIT_SOURCE = p11-kit-$(P11_KIT_VERSION).tar.xz P11_KIT_SITE = https://github.com/p11-glue/p11-kit/releases/download/$(P11_KIT_VERSION) P11_KIT_INSTALL_STAGING = YES diff --git a/package/p7zip/0001-CVE-2016-9296.patch b/package/p7zip/0001-CVE-2016-9296.patch deleted file mode 100644 index 6e6fc9f58ff..00000000000 --- a/package/p7zip/0001-CVE-2016-9296.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Robert Luberda -Date: Sat, 19 Nov 2016 08:48:08 +0100 -Subject: Fix nullptr dereference (CVE-2016-9296) - -Patch taken from https://sourceforge.net/p/p7zip/bugs/185/ - -Signed-off-by: André Hentschel ---- - CPP/7zip/Archive/7z/7zIn.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/CPP/7zip/Archive/7z/7zIn.cpp b/CPP/7zip/Archive/7z/7zIn.cpp -index b0c6b98..7c6dde2 100644 ---- a/CPP/7zip/Archive/7z/7zIn.cpp -+++ b/CPP/7zip/Archive/7z/7zIn.cpp -@@ -1097,7 +1097,8 @@ HRESULT CInArchive::ReadAndDecodePackedStreams( - if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i]) - ThrowIncorrect(); - } -- HeadersSize += folders.PackPositions[folders.NumPackStreams]; -+ if (folders.PackPositions) -+ HeadersSize += folders.PackPositions[folders.NumPackStreams]; - return S_OK; - } - diff --git a/package/p7zip/0002-CVE-2017-17969.patch b/package/p7zip/0002-CVE-2017-17969.patch deleted file mode 100644 index 9198127cb98..00000000000 --- a/package/p7zip/0002-CVE-2017-17969.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: =?utf-8?q?Antoine_Beaupr=C3=A9?= -Date: Fri, 2 Feb 2018 11:11:41 +0100 -Subject: Heap-based buffer overflow in 7zip/Compress/ShrinkDecoder.cpp - -Origin: vendor, https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/27d7/attachment/CVE-2017-17969.patch -Forwarded: https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/#27d7 -Bug: https://sourceforge.net/p/p7zip/bugs/204/ -Bug-Debian: https://bugs.debian.org/888297 -Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2017-17969 -Reviewed-by: Salvatore Bonaccorso -Last-Update: 2018-02-01 -Applied-Upstream: 18.00-beta - -Signed-off-by: André Hentschel ---- - CPP/7zip/Compress/ShrinkDecoder.cpp | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/CPP/7zip/Compress/ShrinkDecoder.cpp b/CPP/7zip/Compress/ShrinkDecoder.cpp -index 80b7e67..ca37764 100644 ---- a/CPP/7zip/Compress/ShrinkDecoder.cpp -+++ b/CPP/7zip/Compress/ShrinkDecoder.cpp -@@ -121,8 +121,13 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream * - { - _stack[i++] = _suffixes[cur]; - cur = _parents[cur]; -+ if (cur >= kNumItems || i >= kNumItems) -+ break; - } -- -+ -+ if (cur >= kNumItems || i >= kNumItems) -+ break; -+ - _stack[i++] = (Byte)cur; - lastChar2 = (Byte)cur; - diff --git a/package/p7zip/0003-CVE-2018-5996.patch b/package/p7zip/0003-CVE-2018-5996.patch deleted file mode 100644 index dc3e90ad3a3..00000000000 --- a/package/p7zip/0003-CVE-2018-5996.patch +++ /dev/null @@ -1,223 +0,0 @@ -From: Robert Luberda -Date: Sun, 28 Jan 2018 23:47:40 +0100 -Subject: CVE-2018-5996 - -Hopefully fix Memory Corruptions via RAR PPMd (CVE-2018-5996) by -applying a few changes from 7Zip 18.00-beta. - -Bug-Debian: https://bugs.debian.org/#888314 - -Signed-off-by: André Hentschel ---- - CPP/7zip/Compress/Rar1Decoder.cpp | 13 +++++++++---- - CPP/7zip/Compress/Rar1Decoder.h | 1 + - CPP/7zip/Compress/Rar2Decoder.cpp | 10 +++++++++- - CPP/7zip/Compress/Rar2Decoder.h | 1 + - CPP/7zip/Compress/Rar3Decoder.cpp | 23 ++++++++++++++++++++--- - CPP/7zip/Compress/Rar3Decoder.h | 2 ++ - 6 files changed, 42 insertions(+), 8 deletions(-) - -diff --git a/CPP/7zip/Compress/Rar1Decoder.cpp b/CPP/7zip/Compress/Rar1Decoder.cpp -index 1aaedcc..68030c7 100644 ---- a/CPP/7zip/Compress/Rar1Decoder.cpp -+++ b/CPP/7zip/Compress/Rar1Decoder.cpp -@@ -29,7 +29,7 @@ public: - }; - */ - --CDecoder::CDecoder(): m_IsSolid(false) { } -+CDecoder::CDecoder(): m_IsSolid(false), _errorMode(false) { } - - void CDecoder::InitStructures() - { -@@ -406,9 +406,14 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream * - InitData(); - if (!m_IsSolid) - { -+ _errorMode = false; - InitStructures(); - InitHuff(); - } -+ -+ if (_errorMode) -+ return S_FALSE; -+ - if (m_UnpackSize > 0) - { - GetFlagsBuf(); -@@ -477,9 +482,9 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream - const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress) - { - try { return CodeReal(inStream, outStream, inSize, outSize, progress); } -- catch(const CInBufferException &e) { return e.ErrorCode; } -- catch(const CLzOutWindowException &e) { return e.ErrorCode; } -- catch(...) { return S_FALSE; } -+ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; } -+ catch(const CLzOutWindowException &e) { _errorMode = true; return e.ErrorCode; } -+ catch(...) { _errorMode = true; return S_FALSE; } - } - - STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size) -diff --git a/CPP/7zip/Compress/Rar1Decoder.h b/CPP/7zip/Compress/Rar1Decoder.h -index 630f089..01b606b 100644 ---- a/CPP/7zip/Compress/Rar1Decoder.h -+++ b/CPP/7zip/Compress/Rar1Decoder.h -@@ -39,6 +39,7 @@ public: - - Int64 m_UnpackSize; - bool m_IsSolid; -+ bool _errorMode; - - UInt32 ReadBits(int numBits); - HRESULT CopyBlock(UInt32 distance, UInt32 len); -diff --git a/CPP/7zip/Compress/Rar2Decoder.cpp b/CPP/7zip/Compress/Rar2Decoder.cpp -index b3f2b4b..0580c8d 100644 ---- a/CPP/7zip/Compress/Rar2Decoder.cpp -+++ b/CPP/7zip/Compress/Rar2Decoder.cpp -@@ -80,7 +80,8 @@ static const UInt32 kHistorySize = 1 << 20; - static const UInt32 kWindowReservSize = (1 << 22) + 256; - - CDecoder::CDecoder(): -- m_IsSolid(false) -+ m_IsSolid(false), -+ m_TablesOK(false) - { - } - -@@ -100,6 +101,8 @@ UInt32 CDecoder::ReadBits(unsigned numBits) { return m_InBitStream.ReadBits(numB - - bool CDecoder::ReadTables(void) - { -+ m_TablesOK = false; -+ - Byte levelLevels[kLevelTableSize]; - Byte newLevels[kMaxTableSize]; - m_AudioMode = (ReadBits(1) == 1); -@@ -170,6 +173,8 @@ bool CDecoder::ReadTables(void) - } - - memcpy(m_LastLevels, newLevels, kMaxTableSize); -+ m_TablesOK = true; -+ - return true; - } - -@@ -344,6 +349,9 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream * - return S_FALSE; - } - -+ if (!m_TablesOK) -+ return S_FALSE; -+ - UInt64 startPos = m_OutWindowStream.GetProcessedSize(); - while (pos < unPackSize) - { -diff --git a/CPP/7zip/Compress/Rar2Decoder.h b/CPP/7zip/Compress/Rar2Decoder.h -index 3a0535c..0e9005f 100644 ---- a/CPP/7zip/Compress/Rar2Decoder.h -+++ b/CPP/7zip/Compress/Rar2Decoder.h -@@ -139,6 +139,7 @@ class CDecoder : - - UInt64 m_PackSize; - bool m_IsSolid; -+ bool m_TablesOK; - - void InitStructures(); - UInt32 ReadBits(unsigned numBits); -diff --git a/CPP/7zip/Compress/Rar3Decoder.cpp b/CPP/7zip/Compress/Rar3Decoder.cpp -index 3bf2513..6cb8a6a 100644 ---- a/CPP/7zip/Compress/Rar3Decoder.cpp -+++ b/CPP/7zip/Compress/Rar3Decoder.cpp -@@ -92,7 +92,8 @@ CDecoder::CDecoder(): - _writtenFileSize(0), - _vmData(0), - _vmCode(0), -- m_IsSolid(false) -+ m_IsSolid(false), -+ _errorMode(false) - { - Ppmd7_Construct(&_ppmd); - } -@@ -545,6 +546,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing) - return InitPPM(); - } - -+ TablesRead = false; -+ TablesOK = false; -+ - _lzMode = true; - PrevAlignBits = 0; - PrevAlignCount = 0; -@@ -606,6 +610,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing) - } - } - } -+ if (InputEofError()) -+ return S_FALSE; -+ - TablesRead = true; - - // original code has check here: -@@ -623,6 +630,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing) - RIF(m_LenDecoder.Build(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize])); - - memcpy(m_LastLevels, newLevels, kTablesSizesSum); -+ -+ TablesOK = true; -+ - return S_OK; - } - -@@ -824,7 +834,12 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress) - PpmEscChar = 2; - PpmError = true; - InitFilters(); -+ _errorMode = false; - } -+ -+ if (_errorMode) -+ return S_FALSE; -+ - if (!m_IsSolid || !TablesRead) - { - bool keepDecompressing; -@@ -838,6 +853,8 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress) - bool keepDecompressing; - if (_lzMode) - { -+ if (!TablesOK) -+ return S_FALSE; - RINOK(DecodeLZ(keepDecompressing)) - } - else -@@ -901,8 +918,8 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream - _unpackSize = outSize ? *outSize : (UInt64)(Int64)-1; - return CodeReal(progress); - } -- catch(const CInBufferException &e) { return e.ErrorCode; } -- catch(...) { return S_FALSE; } -+ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; } -+ catch(...) { _errorMode = true; return S_FALSE; } - // CNewException is possible here. But probably CNewException is caused - // by error in data stream. - } -diff --git a/CPP/7zip/Compress/Rar3Decoder.h b/CPP/7zip/Compress/Rar3Decoder.h -index c130cec..2f72d7d 100644 ---- a/CPP/7zip/Compress/Rar3Decoder.h -+++ b/CPP/7zip/Compress/Rar3Decoder.h -@@ -192,6 +192,7 @@ class CDecoder: - UInt32 _lastFilter; - - bool m_IsSolid; -+ bool _errorMode; - - bool _lzMode; - bool _unsupportedFilter; -@@ -200,6 +201,7 @@ class CDecoder: - UInt32 PrevAlignCount; - - bool TablesRead; -+ bool TablesOK; - - CPpmd7 _ppmd; - int PpmEscChar; diff --git a/package/p7zip/0004-Fix-build-with-gcc-10.patch b/package/p7zip/0004-Fix-build-with-gcc-10.patch deleted file mode 100644 index b01833db29f..00000000000 --- a/package/p7zip/0004-Fix-build-with-gcc-10.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 78b760eae21d7b340c69e8abab8ca706e1e00adc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= -Date: Mon, 4 May 2020 09:19:46 +0200 -Subject: [PATCH] Fix build with gcc 10. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add cast to code that mixes HRESULT (aka long) and DWORD (aka unsigned -int) which causes an narrowing error with gcc 10. - -Signed-off-by: Stefan Sørensen ---- - CPP/Windows/ErrorMsg.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CPP/Windows/ErrorMsg.cpp b/CPP/Windows/ErrorMsg.cpp -index 99684ae..ab48352 100644 ---- a/CPP/Windows/ErrorMsg.cpp -+++ b/CPP/Windows/ErrorMsg.cpp -@@ -13,7 +13,7 @@ UString MyFormatMessage(DWORD errorCode) - const char * txt = 0; - AString msg; - -- switch(errorCode) { -+ switch((HRESULT)errorCode) { - case ERROR_NO_MORE_FILES : txt = "No more files"; break ; - case E_NOTIMPL : txt = "E_NOTIMPL"; break ; - case E_NOINTERFACE : txt = "E_NOINTERFACE"; break ; --- -2.26.2 - diff --git a/package/p7zip/Config.in b/package/p7zip/Config.in index a3adab5b3de..be2206eb769 100644 --- a/package/p7zip/Config.in +++ b/package/p7zip/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_P7ZIP bool "p7zip" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR @@ -11,5 +12,28 @@ config BR2_PACKAGE_P7ZIP http://sourceforge.net/projects/p7zip +if BR2_PACKAGE_P7ZIP + +choice + prompt "p7zip binary" + default BR2_PACKAGE_P7ZIP_7ZR + +config BR2_PACKAGE_P7ZIP_7ZA + bool "7za" + help + Full 7za archiver. The program supports 7z, ZIP, CAB, ARJ, + GZIP, BZIP2, TAR, CPIO, RPM and DEB formats + +config BR2_PACKAGE_P7ZIP_7ZR + bool "7zr" + help + Lightweight 7zr archiver. The program only handles 7z archives + and cannot handle encrypted archives + +endchoice + +endif + comment "p7zip needs a toolchain w/ threads, wchar, C++" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP diff --git a/package/p7zip/p7zip.hash b/package/p7zip/p7zip.hash index a63a0b4a973..0048777d897 100644 --- a/package/p7zip/p7zip.hash +++ b/package/p7zip/p7zip.hash @@ -1,6 +1,3 @@ -# From https://sourceforge.net/projects/p7zip/files/p7zip/16.02/ -md5 a0128d661cfe7cc8c121e73519c54fbf p7zip_16.02_src_all.tar.bz2 -sha1 e8819907132811aa1afe5ef296181d3a15cc8f22 p7zip_16.02_src_all.tar.bz2 -# Locally computed -sha256 5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f p7zip_16.02_src_all.tar.bz2 +# Locally calculated +sha256 ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef p7zip-17.04.tar.gz sha256 555806657dcf0f1e720b581c52643c195ec86ae3f00bd18cc66d2e0f88ffa210 DOC/License.txt diff --git a/package/p7zip/p7zip.mk b/package/p7zip/p7zip.mk index 59cd9b7e95c..b6c5adae264 100644 --- a/package/p7zip/p7zip.mk +++ b/package/p7zip/p7zip.mk @@ -4,18 +4,17 @@ # ################################################################################ -P7ZIP_VERSION = 16.02 -P7ZIP_SOURCE = p7zip_$(P7ZIP_VERSION)_src_all.tar.bz2 -P7ZIP_SITE = http://downloads.sourceforge.net/project/p7zip/p7zip/$(P7ZIP_VERSION) +P7ZIP_VERSION = 17.04 +P7ZIP_SITE = $(call github,jinfeihan57,p7zip,v$(P7ZIP_VERSION)) P7ZIP_LICENSE = LGPL-2.1+ with unRAR restriction P7ZIP_LICENSE_FILES = DOC/License.txt +P7ZIP_CPE_ID_VENDOR = 7-zip -# 0001-CVE-2016-9296.patch -P7ZIP_IGNORE_CVES += CVE-2016-9296 -# 0002-CVE-2017-17969.patch -P7ZIP_IGNORE_CVES += CVE-2017-17969 -# 0003-CVE-2018-5996.patch -P7ZIP_IGNORE_CVES += CVE-2018-5996 +ifeq ($(BR2_PACKAGE_P7ZIP_7ZA),y) +P7ZIP_TARGET = 7za +else +P7ZIP_TARGET = 7zr +endif # p7zip buildsystem is a mess: it plays dirty tricks with CFLAGS and # CXXFLAGS, so we can't pass them. Instead, it accepts ALLFLAGS_C @@ -24,11 +23,12 @@ define P7ZIP_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ALLFLAGS_C="$(TARGET_CFLAGS)" \ CXX="$(TARGET_CXX)" ALLFLAGS_CPP="$(TARGET_CXXFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ - -C $(@D) 7zr + -C $(@D) $(P7ZIP_TARGET) endef define P7ZIP_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/bin/7zr $(TARGET_DIR)/usr/bin/7zr + $(INSTALL) -D -m 0755 $(@D)/bin/$(P7ZIP_TARGET) \ + $(TARGET_DIR)/usr/bin/$(P7ZIP_TARGET) endef $(eval $(generic-package)) diff --git a/package/paho-mqtt-c/paho-mqtt-c.hash b/package/paho-mqtt-c/paho-mqtt-c.hash index 5223757f0f8..931bf5b9c81 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.hash +++ b/package/paho-mqtt-c/paho-mqtt-c.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 4920ff685344cdb0272568bc4414dcf48fcdfc4a98c78b1f3ca49c38417bf391 paho-mqtt-c-1.3.8.tar.gz +sha256 c70db96e66adacae411d5d875fbb08bca6ff9945de3d215b3af93cbd22792db5 paho-mqtt-c-1.3.10.tar.gz sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 sha256 0becf16567beb77fa252b7664631dd177c8f9a1889e48995b45379c7130e5303 epl-v20 sha256 bc0f3f447097eb82a29ad6c2f4929572bb548b6bd4c9e38fde1bf131a771b7a0 LICENSE diff --git a/package/paho-mqtt-c/paho-mqtt-c.mk b/package/paho-mqtt-c/paho-mqtt-c.mk index b9b4f217fb3..d6356a7cccb 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.mk +++ b/package/paho-mqtt-c/paho-mqtt-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -PAHO_MQTT_C_VERSION = 1.3.8 +PAHO_MQTT_C_VERSION = 1.3.10 PAHO_MQTT_C_SITE = $(call github,eclipse,paho.mqtt.c,v$(PAHO_MQTT_C_VERSION)) PAHO_MQTT_C_LICENSE = EPL-2.0 or BSD-3-Clause PAHO_MQTT_C_LICENSE_FILES = epl-v20 edl-v10 LICENSE diff --git a/package/paho-mqtt-cpp/0001-cmake-FindMahoMqttC.cmake-fix-static-build.patch b/package/paho-mqtt-cpp/0001-cmake-FindMahoMqttC.cmake-fix-static-build.patch deleted file mode 100644 index 934dca219e4..00000000000 --- a/package/paho-mqtt-cpp/0001-cmake-FindMahoMqttC.cmake-fix-static-build.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8aeafa1c2ec90b0e95ba5944266eda115457e10d Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 15 Jun 2020 13:40:22 +0200 -Subject: [PATCH] cmake/FindMahoMqttC.cmake: fix static build - -Static libraries of paho-mqtt-c are not suffixed with -static since -version 1.3.2 and -https://github.com/eclipse/paho.mqtt.c/commit/8cc51c78b76a1eabd1df3124b0887ce8b01070ff - -See: https://github.com/eclipse/paho.mqtt.c/pull/704 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/eclipse/paho.mqtt.cpp/pull/275] ---- - cmake/FindPahoMqttC.cmake | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/cmake/FindPahoMqttC.cmake b/cmake/FindPahoMqttC.cmake -index 53f15a3..0ec95bd 100644 ---- a/cmake/FindPahoMqttC.cmake -+++ b/cmake/FindPahoMqttC.cmake -@@ -5,10 +5,6 @@ if(PAHO_WITH_SSL) - else() - set(_PAHO_MQTT_C_LIB_NAME paho-mqtt3a) - endif() --# add suffix when using static Paho MQTT C library variant --if(PAHO_BUILD_STATIC) -- set(_PAHO_MQTT_C_LIB_NAME ${_PAHO_MQTT_C_LIB_NAME}-static) --endif() - - find_library(PAHO_MQTT_C_LIBRARIES NAMES ${_PAHO_MQTT_C_LIB_NAME}) - unset(_PAHO_MQTT_C_LIB_NAME) --- -2.26.2 - diff --git a/package/paho-mqtt-cpp/paho-mqtt-cpp.hash b/package/paho-mqtt-cpp/paho-mqtt-cpp.hash index e5406e0b815..d9b86ce207e 100644 --- a/package/paho-mqtt-cpp/paho-mqtt-cpp.hash +++ b/package/paho-mqtt-cpp/paho-mqtt-cpp.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 cb0343349ed91ef51d0e76ae860d19435a730d3d355e57886bb090014cb70bbe paho-mqtt-cpp-1.1.tar.gz +sha256 435e97e4d5b1da13daa26cadd3e83fe9d154930abaa78b8ff1b8c854b5345d8b paho-mqtt-cpp-1.2.0.tar.gz sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 sha256 44277b2bec6093e4ac313afec251a4de599d24c4e768f8574d95b13a9d2d97b5 epl-v10 diff --git a/package/paho-mqtt-cpp/paho-mqtt-cpp.mk b/package/paho-mqtt-cpp/paho-mqtt-cpp.mk index 161e53d4848..827946605ac 100644 --- a/package/paho-mqtt-cpp/paho-mqtt-cpp.mk +++ b/package/paho-mqtt-cpp/paho-mqtt-cpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -PAHO_MQTT_CPP_VERSION = 1.1 +PAHO_MQTT_CPP_VERSION = 1.2.0 PAHO_MQTT_CPP_SITE = $(call github,eclipse,paho.mqtt.cpp,v$(PAHO_MQTT_CPP_VERSION)) PAHO_MQTT_CPP_LICENSE = EPL-1.0 or BSD-3-Clause PAHO_MQTT_CPP_LICENSE_FILES = epl-v10 edl-v10 diff --git a/package/pahole/Config.in.host b/package/pahole/Config.in.host new file mode 100644 index 00000000000..e4276296325 --- /dev/null +++ b/package/pahole/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_PAHOLE + bool "host pahole" + help + Pahole and other DWARF utils. + + https://git.kernel.org/pub/scm/devel/pahole/pahole.git diff --git a/package/pahole/pahole.hash b/package/pahole/pahole.hash new file mode 100644 index 00000000000..420db15e758 --- /dev/null +++ b/package/pahole/pahole.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 cde85af68b368f50a913be387f94f6b43612a04af6c92387b4dcabb712a668fe pahole-v1.23-br1.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/pahole/pahole.mk b/package/pahole/pahole.mk new file mode 100644 index 00000000000..da6d67e6a29 --- /dev/null +++ b/package/pahole/pahole.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# pahole +# +################################################################################ + +PAHOLE_VERSION = v1.23 +PAHOLE_SITE = https://git.kernel.org/pub/scm/devel/pahole/pahole.git +PAHOLE_SITE_METHOD = git +# pahole contains git submodule and relies on them to be built. +PAHOLE_GIT_SUBMODULES = YES +HOST_PAHOLE_DEPENDENCIES = host-elfutils +# Defining __LIB is needed to build pahole. +HOST_PAHOLE_CONF_OPTS = -D__LIB=lib +PAHOLE_LICENSE = GPL-2.0 +PAHOLE_LICENSE_FILES = COPYING + +$(eval $(host-cmake-package)) diff --git a/package/pamtester/pamtester.mk b/package/pamtester/pamtester.mk index b09e4d1cc09..77867403c3c 100644 --- a/package/pamtester/pamtester.mk +++ b/package/pamtester/pamtester.mk @@ -10,4 +10,9 @@ PAMTESTER_DEPENDENCIES = linux-pam PAMTESTER_LICENSE = BSD-3-Clause PAMTESTER_LICENSE_FILES = LICENSE +# Obsolete constructs in the archaic configure.in generated an outworn +# configure script that incorrectly searches a C++ compiler. Regenerate +# the autoconf machinery to avoid failures without a C++ compiler. +PAMTESTER_AUTORECONF = YES + $(eval $(autotools-package)) diff --git a/package/pango/Config.in b/package/pango/Config.in index cf5170c8f3c..e2b2e7fe2b3 100644 --- a/package/pango/Config.in +++ b/package/pango/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_PANGO depends on BR2_USE_MMU # glib2 depends on BR2_INSTALL_LIBSTDCPP # freetype support depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_EXPAT @@ -24,9 +24,9 @@ config BR2_PACKAGE_PANGO https://pango.gnome.org/ -comment "pango needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "pango needs a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_INSTALL_LIBSTDCPP diff --git a/package/pango/pango.hash b/package/pango/pango.hash index a672b7cfaf3..7864df7a21c 100644 --- a/package/pango/pango.hash +++ b/package/pango/pango.hash @@ -1,5 +1,5 @@ -# From https://ftp.acc.umu.se/pub/GNOME/sources/pango/1.48/pango-1.48.0.sha256sum -sha256 391f26f3341c2d7053e0fb26a956bd42360dadd825efe7088b1e9340a65e74e6 pango-1.48.0.tar.xz +# From https://ftp.acc.umu.se/pub/GNOME/sources/pango/1.50/pango-1.50.7.sha256sum +sha256 0477f369a3d4c695df7299a6989dc004756a7f4de27eecac405c6790b7e3ad33 pango-1.50.7.tar.xz # Locally computed sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/pango/pango.mk b/package/pango/pango.mk index 803e46f1932..c1c7ceeed6a 100644 --- a/package/pango/pango.mk +++ b/package/pango/pango.mk @@ -4,8 +4,8 @@ # ################################################################################ -PANGO_VERSION_MAJOR = 1.48 -PANGO_VERSION = $(PANGO_VERSION_MAJOR).0 +PANGO_VERSION_MAJOR = 1.50 +PANGO_VERSION = $(PANGO_VERSION_MAJOR).7 PANGO_SOURCE = pango-$(PANGO_VERSION).tar.xz PANGO_SITE = http://ftp.gnome.org/pub/GNOME/sources/pango/$(PANGO_VERSION_MAJOR) PANGO_INSTALL_STAGING = YES @@ -13,8 +13,8 @@ PANGO_LICENSE = LGPL-2.0+ PANGO_LICENSE_FILES = COPYING PANGO_CPE_ID_VENDOR = pango -PANGO_CONF_OPTS = -Duse_fontconfig=true -HOST_PANGO_CONF_OPTS = -Duse_fontconfig=true -Dintrospection=disabled +PANGO_CONF_OPTS = -Dfontconfig=enabled +HOST_PANGO_CONF_OPTS = -Dfontconfig=enabled -Dintrospection=disabled PANGO_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) \ diff --git a/package/pangomm/Config.in b/package/pangomm/Config.in index 0702b8c5bf2..c23ac4aaa8e 100644 --- a/package/pangomm/Config.in +++ b/package/pangomm/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PANGOMM bool "pangomm" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz depends on BR2_INSTALL_LIBSTDCPP # glibmm/pango - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/pango -> libglib2 depends on BR2_USE_MMU # *mm/pango -> libglib2 depends on BR2_USE_WCHAR # *mm/pango -> libglib2 @@ -15,8 +15,8 @@ config BR2_PACKAGE_PANGOMM http://www.gtkmm.org/ -comment "pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 7" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/pangomm/pangomm.hash b/package/pangomm/pangomm.hash index bde53e4fbde..3fba695831c 100644 --- a/package/pangomm/pangomm.hash +++ b/package/pangomm/pangomm.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/pangomm/2.40/pangomm-2.40.1.sha256sum -sha256 9762ee2a2d5781be6797448d4dd2383ce14907159b30bc12bf6b08e7227be3af pangomm-2.40.1.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/pangomm/2.48/pangomm-2.48.2.sha256sum +sha256 e1d75522c53f462799875cd247f9b49c91ced4b1abe68387ac35b271392d4ea5 pangomm-2.48.2.tar.xz # Locally computed sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/pangomm/pangomm.mk b/package/pangomm/pangomm.mk index 9edcb16474c..af90d69c4e0 100644 --- a/package/pangomm/pangomm.mk +++ b/package/pangomm/pangomm.mk @@ -4,8 +4,8 @@ # ################################################################################ -PANGOMM_VERSION_MAJOR = 2.40 -PANGOMM_VERSION = $(PANGOMM_VERSION_MAJOR).1 +PANGOMM_VERSION_MAJOR = 2.48 +PANGOMM_VERSION = $(PANGOMM_VERSION_MAJOR).2 PANGOMM_SOURCE = pangomm-$(PANGOMM_VERSION).tar.xz PANGOMM_SITE = http://ftp.gnome.org/pub/gnome/sources/pangomm/$(PANGOMM_VERSION_MAJOR) PANGOMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) @@ -13,4 +13,4 @@ PANGOMM_LICENSE_FILES = COPYING COPYING.tools PANGOMM_INSTALL_STAGING = YES PANGOMM_DEPENDENCIES = glibmm cairomm libsigc pango host-pkgconf -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/parted/parted.mk b/package/parted/parted.mk index c3ab3ceb4bb..66940fc516f 100644 --- a/package/parted/parted.mk +++ b/package/parted/parted.mk @@ -11,6 +11,7 @@ PARTED_DEPENDENCIES = host-pkgconf util-linux PARTED_INSTALL_STAGING = YES PARTED_LICENSE = GPL-3.0+ PARTED_LICENSE_FILES = COPYING +PARTED_CPE_ID_VENDOR = parted_project ifeq ($(BR2_PACKAGE_READLINE),y) PARTED_DEPENDENCIES += readline diff --git a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk index 9b83b62b55c..67defcc7433 100644 --- a/package/pciutils/pciutils.mk +++ b/package/pciutils/pciutils.mk @@ -12,7 +12,7 @@ PCIUTILS_LICENSE = GPL-2.0+ PCIUTILS_LICENSE_FILES = COPYING PCIUTILS_MAKE_OPTS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ - HOST="$(KERNEL_ARCH)-linux" \ + HOST="$(NORMALIZED_ARCH)-linux" \ OPT="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ DNS=no \ diff --git a/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch b/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch deleted file mode 100644 index 933eec02379..00000000000 --- a/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 53b6161d2413406778fa222274069c82846f0297 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Thu, 6 Dec 2018 21:17:02 -0200 -Subject: [PATCH] Look for pcm-core at the default path - -On Buildroot, pcm-core.x is installed as /usr/bin/pcm-core. Remove the -platform test, since we know that it's neither CigWin nor Windows, and -use the default path. - -It's not nice to have a Buildroot specific patch but let's use one while -we look for a solution that is acceptable upstream. - -Signed-off-by: Carlos Santos ---- - pmu-query.py | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/pmu-query.py b/pmu-query.py -index 4c596c7..dc39df6 100755 ---- a/pmu-query.py -+++ b/pmu-query.py -@@ -3,7 +3,6 @@ import urllib2 - import json, csv - import subprocess - import sys --import platform - import getopt - - all_flag = False -@@ -38,12 +37,7 @@ if filename == None: - except StopIteration: - break - -- if platform.system() == 'CYGWIN_NT-6.1': -- p = subprocess.Popen(['./pcm-core.exe -c'],stdout=subprocess.PIPE,shell=True) -- elif platform.system() == 'Windows': -- p = subprocess.Popen(['pcm-core.exe -c'],stdout=subprocess.PIPE,shell=True) -- else: -- p = subprocess.Popen(['./pcm-core.x -c'],stdout=subprocess.PIPE,shell=True) -+ p = subprocess.Popen(['/usr/bin/pcm-core -c'],stdout=subprocess.PIPE,shell=True) - - (output, err) = p.communicate() - p_status = p.wait() --- -2.19.2 - diff --git a/package/pcm-tools/0001-pmu-query.py-fix-python3-errors-add-linux-platform-s.patch b/package/pcm-tools/0001-pmu-query.py-fix-python3-errors-add-linux-platform-s.patch new file mode 100644 index 00000000000..e49015f2d15 --- /dev/null +++ b/package/pcm-tools/0001-pmu-query.py-fix-python3-errors-add-linux-platform-s.patch @@ -0,0 +1,103 @@ +From 36b9aa5a8e071ac6349d2d7f9c23a25abcdc316d Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 2 Nov 2021 10:30:55 -0700 +Subject: [PATCH] pmu-query.py: fix python3 errors, add linux platform support + +Unfortuantly, commit 0212b382624c744491a845c75dfb2a527d4a821f broke pmu-query +in some unexpected ways. + +First, urllib.request.urlopen returns a bytes-object in Python3, which results +in the csv.DictReader throwing the error: `TypeError: initial_value must be +str or None, not HTTPResponse` A simple .read().decode('utf-8') appended to +the end of urlopen fixes the error. + +Second, passing the map_file_raw string to DictReader results in a malformed +dictionary. Fix this by wrapping the raw text string in io.StringIO(). + +Third: During the python2 -> python3 refactoring, I accidentally switched some +logic in the pull request. `if core_path != ''` changed to `if not core_path`, +which breaks the logic, the same goes for +`if offcore_path != ''` -> `if not offcore_path`. Change these to +`if core_path` and `if offcore_path` respectively. + +From upstream commit: 7a670261c2063595f2330e6cc2a7f19eb18b6ea8 + +Signed-off-by: Adam Duskett +--- + pmu-query.py | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +diff --git a/pmu-query.py b/pmu-query.py +index 5595819..bc1e57b 100755 +--- a/pmu-query.py ++++ b/pmu-query.py +@@ -1,4 +1,5 @@ + #!/usr/bin/env python3 ++import io + import urllib.request + import urllib.parse + import json +@@ -8,6 +9,7 @@ import sys + import platform + import getopt + import re ++import shutil + + all_flag = False + download_flag = False +@@ -29,8 +31,8 @@ except getopt.GetoptError as err: + sys.exit(-2) + + if filename is None: +- map_file_raw = urllib.request.urlopen("https://download.01.org/perfmon/mapfile.csv") +- map_dict = csv.DictReader(map_file_raw) ++ map_file_raw = urllib.request.urlopen("https://download.01.org/perfmon/mapfile.csv").read().decode('utf-8') ++ map_dict = csv.DictReader(io.StringIO(map_file_raw), delimiter=',') + map_file = [] + core_path = "" + offcore_path = "" +@@ -45,20 +47,26 @@ if filename is None: + p = subprocess.Popen(["./pcm-core.exe -c"], stdout=subprocess.PIPE, shell=True) + elif platform.system() == "Windows": + p = subprocess.Popen(["pcm-core.exe", "-c"], stdout=subprocess.PIPE, shell=True) ++ elif platform.system() == "Linux": ++ pcm_core = shutil.which("pcm-core") ++ if not pcm_core: ++ print("Could not find pcm-core executable!") ++ sys.exit(-1) ++ p = subprocess.Popen([pcm_core, "-c"], stdout=subprocess.PIPE, shell=True) + else: + p = subprocess.Popen(["./pcm-core.x -c"], stdout=subprocess.PIPE, shell=True) + + (output, err) = p.communicate() + p_status = p.wait() + for model in map_file: +- if re.search(model["Family-model"], output): ++ if re.search(model["Family-model"], output.decode("utf-8")): + if model["EventType"] == "core": + core_path = model["Filename"] + elif model["EventType"] == "offcore": + offcore_path = model["Filename"] + print(model) + +- if not core_path: ++ if core_path: + json_core_data = urllib.request.urlopen( + "https://download.01.org/perfmon" + core_path + ) +@@ -67,10 +75,10 @@ if filename is None: + with open(core_path.split("/")[-1], "w") as outfile: + json.dump(core_events, outfile, sort_keys=True, indent=4) + else: +- print("no core event found for %s CPU, program abort..." % output) ++ print("no core event found for %s CPU, program abort..." % output.decode("utf-8")) + sys.exit(-1) + +- if not offcore_path: ++ if offcore_path: + json_offcore_data = urllib.request.urlopen( + "https://download.01.org/perfmon" + offcore_path + ) +-- +2.32.0 + diff --git a/package/pcm-tools/Config.in b/package/pcm-tools/Config.in index f347a265a4e..ca9719dc5f4 100644 --- a/package/pcm-tools/Config.in +++ b/package/pcm-tools/Config.in @@ -18,16 +18,14 @@ config BR2_PACKAGE_PCM_TOOLS if BR2_PACKAGE_PCM_TOOLS -# The pmu-query script is not compatible with Python 3 config BR2_PACKAGE_PCM_TOOLS_PMU_QUERY bool "install the pmu-query script" default y - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_CA_CERTIFICATES # https - select BR2_PACKAGE_PYTHON_HASHLIB # urllib2 - select BR2_PACKAGE_PYTHON_SSL # urllib2 + select BR2_PACKAGE_PYTHON3_SSL # urllib2 -comment "pmu-query needs Python 2.x" - depends on !BR2_PACKAGE_PYTHON +comment "pmu-query needs Python3" + depends on !BR2_PACKAGE_PYTHON3 endif diff --git a/package/pcm-tools/pcm-tools.hash b/package/pcm-tools/pcm-tools.hash index 77f14824621..1853dcebb57 100644 --- a/package/pcm-tools/pcm-tools.hash +++ b/package/pcm-tools/pcm-tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 798eb1bc5d9c34fa107de21b2100e8d4326cb45b613bc35baa1e1efb1dd13b04 pcm-tools-201812.tar.gz -sha256 fac73f62c4d665c82622862a2be2b89713e0f480c93e593af2d8ef29a13d814b LICENSE +sha256 aa48ab1473720aeb7837b67bfc612100f484748720a8b8034daff00419709057 pcm-tools-202110.tar.gz +sha256 0f476c77009f982dcc4bdff41e692ddd456a9862908e99f2ae3d57296decc649 LICENSE diff --git a/package/pcm-tools/pcm-tools.mk b/package/pcm-tools/pcm-tools.mk index 6de11c0da27..d676df57f9a 100644 --- a/package/pcm-tools/pcm-tools.mk +++ b/package/pcm-tools/pcm-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCM_TOOLS_VERSION = 201812 +PCM_TOOLS_VERSION = 202110 PCM_TOOLS_SITE = $(call github,opcm,pcm,$(PCM_TOOLS_VERSION)) PCM_TOOLS_LICENSE = BSD-3-Clause PCM_TOOLS_LICENSE_FILES = LICENSE @@ -16,8 +16,9 @@ PCM_TOOLS_EXE_FILES = \ define PCM_TOOLS_BUILD_CMDS touch $(@D)/daemon-binaries $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ - CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" \ - UNAME=Linux HOST=_LINUX + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11 -fPIC" \ + UNAME=Linux HOST=_LINUX \ + $(foreach f,$(PCM_TOOLS_EXE_FILES),$(f).x) endef ifeq ($(BR2_PACKAGE_PCM_TOOLS_PMU_QUERY),y) diff --git a/package/pcmanfm/0001-po-de-po-fix-build-with-gettext-tiny.patch b/package/pcmanfm/0001-po-de-po-fix-build-with-gettext-tiny.patch new file mode 100644 index 00000000000..ededd450ae8 --- /dev/null +++ b/package/pcmanfm/0001-po-de-po-fix-build-with-gettext-tiny.patch @@ -0,0 +1,35 @@ +From 2e51d1015ffd58f26f4ddf03a858164edcf64a8c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 26 Mar 2021 09:16:08 +0100 +Subject: [PATCH] po/de.po: fix build with gettext-tiny + +Build of de.gmo is broken with gettext-tiny since version 1.3.2 and +commit 80e0f662861e6d0ad8888f61c19c0695978779bf: + +file=`echo de | sed 's,.*/,,'`.gmo \ + && rm -f $file && /home/buildroot/autobuild/instance-2/output-1/host/bin/msgfmt -o $file de.po +Makefile:102: recipe for target 'de.gmo' failed + +Fixes: + - http://autobuild.buildroot.org/results/69f4e5fa44208429b143011640971a61d709d5b1 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/lxde/pcmanfm/pull/8] +--- + po/de.po | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/po/de.po b/po/de.po +index 766a44e..9781ba3 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -961,8 +961,7 @@ msgstr "Diese Ordneransicht merken" + #: ../src/main-win-ui.c:279 + msgid "" + "Check to remember view and sort as folder setting rather than global one" +-msgstr +-"Ansicht und Sortierung für dieses Verzeichnis anstelle der globalen " ++msgstr "Ansicht und Sortierung für dieses Verzeichnis anstelle der globalen " + "Einstellung merken" + + #: ../src/main-win-ui.c:281 diff --git a/package/pcmanfm/Config.in b/package/pcmanfm/Config.in index f2815996379..73b8c7c04ce 100644 --- a/package/pcmanfm/Config.in +++ b/package/pcmanfm/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_PCMANFM depends on BR2_USE_MMU # libglib2 depends on BR2_INSTALL_LIBSTDCPP # libgtk2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libgtk2 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgtk2 -> pango -> harfbuzz select BR2_PACKAGE_LIBFM select BR2_PACKAGE_MENU_CACHE select BR2_PACKAGE_LIBGLIB2 @@ -18,10 +18,10 @@ config BR2_PACKAGE_PCMANFM http://wiki.lxde.org/en/PCManFM -comment "pcmanfm needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "pcmanfm needs a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_XORG7 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/pcmanfm/pcmanfm.hash b/package/pcmanfm/pcmanfm.hash index b5574e39cd1..1911de20b1b 100644 --- a/package/pcmanfm/pcmanfm.hash +++ b/package/pcmanfm/pcmanfm.hash @@ -1,6 +1,7 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/ -md5 d32ad2c9c7c52bff2004bbc120b53420 pcmanfm-1.3.1.tar.xz -sha1 4de1e5cb00fbf837c137f205e7e2327e3b49cb90 pcmanfm-1.3.1.tar.xz +md5 ef7c4417d2697ef138d175db7aeae15a pcmanfm-1.3.2.tar.xz +sha1 bc4e468b0ec3089aaf817eafed43ae06350961ee pcmanfm-1.3.2.tar.xz -# Hash for license file: -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +# Locally computed: +sha256 14cb7b247493c4cce65fbb5902611e3ad00a7a870fbc1e50adc50428c5140cf7 pcmanfm-1.3.2.tar.xz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/pcmanfm/pcmanfm.mk b/package/pcmanfm/pcmanfm.mk index 1d946ba521e..1379b19f5d4 100644 --- a/package/pcmanfm/pcmanfm.mk +++ b/package/pcmanfm/pcmanfm.mk @@ -4,12 +4,13 @@ # ################################################################################ -PCMANFM_VERSION = 1.3.1 +PCMANFM_VERSION = 1.3.2 PCMANFM_SOURCE = pcmanfm-$(PCMANFM_VERSION).tar.xz PCMANFM_SITE = http://sourceforge.net/projects/pcmanfm/files PCMANFM_DEPENDENCIES = libglib2 menu-cache libfm $(TARGET_NLS_DEPENDENCIES) PCMANFM_LICENSE = GPL-2.0+ PCMANFM_LICENSE_FILES = COPYING +PCMANFM_CPE_ID_VENDOR = pcmanfm_project PCMANFM_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) diff --git a/package/pcre/0002-Disable-C-unit-tests.patch b/package/pcre/0002-Disable-C-unit-tests.patch index c5c1a49f236..1c9f26eb2ef 100644 --- a/package/pcre/0002-Disable-C-unit-tests.patch +++ b/package/pcre/0002-Disable-C-unit-tests.patch @@ -27,16 +27,16 @@ index 6d03912..2c42b3e 100644 @WITH_GCOV_TRUE@@WITH_PCRE_CPP_TRUE@am__append_25 = $(GCOV_CXXFLAGS) @WITH_GCOV_TRUE@@WITH_PCRE_CPP_TRUE@am__append_26 = $(GCOV_LIBS) @WITH_GCOV_TRUE@@WITH_PCRE_CPP_TRUE@am__append_27 = $(GCOV_LIBS) -@@ -362,9 +356,6 @@ libpcreposix_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - @WITH_PCRE8_TRUE@am__EXEEXT_1 = pcregrep$(EXEEXT) +@@ -190,9 +184,6 @@ libpcreposix_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + "$(DESTDIR)$(includedir)" @WITH_REBUILD_CHARTABLES_TRUE@am__EXEEXT_2 = dftables$(EXEEXT) @WITH_JIT_TRUE@am__EXEEXT_3 = pcre_jit_test$(EXEEXT) -@WITH_PCRE_CPP_TRUE@am__EXEEXT_4 = pcrecpp_unittest$(EXEEXT) \ -@WITH_PCRE_CPP_TRUE@ pcre_scanner_unittest$(EXEEXT) \ -@WITH_PCRE_CPP_TRUE@ pcre_stringpiece_unittest$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) - am__dftables_SOURCES_DIST = dftables.c - @WITH_REBUILD_CHARTABLES_TRUE@am_dftables_OBJECTS = \ + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ -- 2.7.3 diff --git a/package/pcre/pcre.hash b/package/pcre/pcre.hash index 628d6173530..6150303e249 100644 --- a/package/pcre/pcre.hash +++ b/package/pcre/pcre.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d pcre-8.44.tar.bz2 +sha256 4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8 pcre-8.45.tar.bz2 # License files, locally calculated -sha256 0dd9c13864dbb9ee4d77a1557e96be29b2d719fb6584192ee36611aae264c4a3 LICENCE +sha256 51b3dea44f63338b84b9c97b3d793826a8397309068cf9379a423216ab8ea5b2 LICENCE diff --git a/package/pcre/pcre.mk b/package/pcre/pcre.mk index c8498b7acf7..59750c28e7a 100644 --- a/package/pcre/pcre.mk +++ b/package/pcre/pcre.mk @@ -4,8 +4,8 @@ # ################################################################################ -PCRE_VERSION = 8.44 -PCRE_SITE = https://ftp.pcre.org/pub/pcre +PCRE_VERSION = 8.45 +PCRE_SITE = http://downloads.sourceforge.net/project/pcre/pcre/$(PCRE_VERSION) PCRE_SOURCE = pcre-$(PCRE_VERSION).tar.bz2 PCRE_LICENSE = BSD-3-Clause PCRE_LICENSE_FILES = LICENCE @@ -18,7 +18,7 @@ HOST_PCRE_CONF_OPTS = --enable-unicode-properties ifneq ($(BR2_INSTALL_LIBSTDCPP),y) # pcre will use the host g++ if a cross version isn't available -PCRE_CONF_OPTS = --disable-cpp +PCRE_CONF_OPTS += --disable-cpp endif PCRE_CONF_OPTS += --enable-pcre8 diff --git a/package/pcre2/0001-Use-the-standard-code-path-of-sljit_emit_cmov-on-mips-r6.patch b/package/pcre2/0001-Use-the-standard-code-path-of-sljit_emit_cmov-on-mips-r6.patch deleted file mode 100644 index 9d8e44a3af9..00000000000 --- a/package/pcre2/0001-Use-the-standard-code-path-of-sljit_emit_cmov-on-mips-r6.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 5d7f6573c1eef30a9720edd31a92c1a4b99b7d86 Mon Sep 17 00:00:00 2001 -From: Zoltan Herczeg -Date: Tue, 3 Nov 2020 14:12:01 +0100 -Subject: [PATCH] Use the standard code path of sljit_emit_cmov on mips r6. - (#97) - -[Retrieved (and updated to fix paths) from: -https://github.com/zherczeg/sljit/commit/5d7f6573c1eef30a9720edd31a92c1a4b99b7d86 -SVN commit: https://vcs.pcre.org/pcre2?view=revision&revision=1281] -Signed-off-by: Fabrice Fontaine ---- - sljit_src/sljitLir.c | 2 +- - sljit_src/sljitNativeMIPS_common.c | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/sljit/sljitLir.c b/src/sljit/sljitLir.c -index 4078613..d817c90 100644 ---- a/src/sljit/sljitLir.c -+++ b/src/sljit/sljitLir.c -@@ -2043,7 +2043,7 @@ static SLJIT_INLINE sljit_s32 emit_mov_before_return(struct sljit_compiler *comp - #if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) \ - || (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC) \ - || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ -- || ((defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) && !(defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1)) -+ || ((defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) && !(defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6)) - - static SLJIT_INLINE sljit_s32 sljit_emit_cmov_generic(struct sljit_compiler *compiler, sljit_s32 type, - sljit_s32 dst_reg, -diff --git a/src/sljit/sljitNativeMIPS_common.c b/src/sljit/sljitNativeMIPS_common.c -index 8b8c12a..ecf4dac 100644 ---- a/src/sljit/sljitNativeMIPS_common.c -+++ b/src/sljit/sljitNativeMIPS_common.c -@@ -2186,14 +2186,14 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil - sljit_s32 dst_reg, - sljit_s32 src, sljit_sw srcw) - { --#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) -+#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6) - sljit_ins ins; --#endif /* SLJIT_MIPS_REV >= 1 */ -+#endif /* SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6 */ - - CHECK_ERROR(); - CHECK(check_sljit_emit_cmov(compiler, type, dst_reg, src, srcw)); - --#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) -+#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6) - - if (SLJIT_UNLIKELY(src & SLJIT_IMM)) { - #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) -@@ -2250,7 +2250,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil - - return push_inst(compiler, ins | S(src) | D(dst_reg), DR(dst_reg)); - --#else /* SLJIT_MIPS_REV < 1 */ -+#else /* SLJIT_MIPS_REV < 1 || SLJIT_MIPS_REV >= 6 */ - return sljit_emit_cmov_generic(compiler, type, dst_reg, src, srcw); - #endif /* SLJIT_MIPS_REV >= 1 */ - } diff --git a/package/pcre2/pcre2.hash b/package/pcre2/pcre2.hash index 81313039f0c..e3fe6b2d533 100644 --- a/package/pcre2/pcre2.hash +++ b/package/pcre2/pcre2.hash @@ -1,4 +1,5 @@ -# Locally calculated after checking pgp signature at https://ftp.pcre.org/pub/pcre/pcre2-10.35.tar.bz2.sig -sha256 9ccba8e02b0ce78046cdfb52e5c177f0f445e421059e43becca4359c669d4613 pcre2-10.35.tar.bz2 +# Locally calculated after checking pgp signature: +# https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.bz2.sig +sha256 14e4b83c4783933dc17e964318e6324f7cae1bc75d8f3c79bc6969f00c159d68 pcre2-10.40.tar.bz2 # Locally computed -sha256 9cb35e4fe442e49d1fbe9c7e07d9601ac959774b24e1884665a3e2f88b7f0831 LICENCE +sha256 87d884eceb7fc54611470ce9f74280d28612b0c877adfc767e9676892a638987 LICENCE diff --git a/package/pcre2/pcre2.mk b/package/pcre2/pcre2.mk index ddb53280f20..043f6d866f4 100644 --- a/package/pcre2/pcre2.mk +++ b/package/pcre2/pcre2.mk @@ -4,11 +4,12 @@ # ################################################################################ -PCRE2_VERSION = 10.35 -PCRE2_SITE = https://ftp.pcre.org/pub/pcre +PCRE2_VERSION = 10.40 +PCRE2_SITE = https://github.com/PhilipHazel/pcre2/releases/download/pcre2-$(PCRE2_VERSION) PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2 PCRE2_LICENSE = BSD-3-Clause PCRE2_LICENSE_FILES = LICENCE +PCRE2_CPE_ID_VENDOR = pcre PCRE2_INSTALL_STAGING = YES PCRE2_CONFIG_SCRIPTS = pcre2-config diff --git a/package/pcsc-lite/0001-src-hotplug_generic.c-fix-build-without-lib-udev-usb.patch b/package/pcsc-lite/0001-src-hotplug_generic.c-fix-build-without-lib-udev-usb.patch new file mode 100644 index 00000000000..7e93bf5fce1 --- /dev/null +++ b/package/pcsc-lite/0001-src-hotplug_generic.c-fix-build-without-lib-udev-usb.patch @@ -0,0 +1,35 @@ +From 2153e165c48e541bb5a8b23f81e87db87a9394fd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 14 Dec 2021 08:20:59 +0100 +Subject: [PATCH] src/hotplug_generic.c: fix build without lib{udev,usb} + +Fix the following build failure without lib{udev,usb} raised since +version 1.9.5 and +https://github.com/LudovicRousseau/PCSC/commit/6f8f170db3c88c59a5ddb5ae5319b921a901a6aa: + +/home/giuliobenetti/autobuild/run/instance-2/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: pcscd-pcscdaemon.o: in function `signal_thread': +pcscdaemon.c:(.text+0x444): undefined reference to `HPReCheckSerialReaders' + +Fixes: + - http://autobuild.buildroot.org/results/6cf323229f32967aa554418410dc94b7094d09af + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/LudovicRousseau/PCSC/commit/2153e165c48e541bb5a8b23f81e87db87a9394fd] +--- + src/hotplug_generic.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hotplug_generic.c b/src/hotplug_generic.c +index a0f34646..e4f19935 100644 +--- a/src/hotplug_generic.c ++++ b/src/hotplug_generic.c +@@ -48,7 +48,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #define FALSE 0 + #endif + +-#if !defined(__APPLE__) && !defined(HAVE_LIBUSB) && !defined(__linux__) && !defined(HAVE_LIBUDEV) ++#if !defined(__APPLE__) && !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUDEV) + + LONG HPSearchHotPluggables(void) + { diff --git a/package/pcsc-lite/pcsc-lite.hash b/package/pcsc-lite/pcsc-lite.hash index 08bc85b1548..4844606c595 100644 --- a/package/pcsc-lite/pcsc-lite.hash +++ b/package/pcsc-lite/pcsc-lite.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 0148d403137124552c5d0f10f8cdab2cbb8dfc7c6ce75e018faf667be34f2ef9 pcsc-lite-1.9.0.tar.bz2 +sha256 9ee3f9b333537562177893559ad4f7b8d5c23ebe828eef53056c02db14049d08 pcsc-lite-1.9.5.tar.bz2 sha256 40d4358bb8dc8d30f5365ae6d999b6f820bbc051b292912482f2e4d0ebd837e1 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL-3.0.txt diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk index c411e9c7ee0..a7db105987e 100644 --- a/package/pcsc-lite/pcsc-lite.mk +++ b/package/pcsc-lite/pcsc-lite.mk @@ -4,13 +4,14 @@ # ################################################################################ -PCSC_LITE_VERSION = 1.9.0 +PCSC_LITE_VERSION = 1.9.5 PCSC_LITE_SOURCE = pcsc-lite-$(PCSC_LITE_VERSION).tar.bz2 PCSC_LITE_SITE = https://pcsclite.apdu.fr/files PCSC_LITE_INSTALL_STAGING = YES PCSC_LITE_DEPENDENCIES = host-pkgconf PCSC_LITE_LICENSE = BSD-2-Clause (auth), BSD-3-Clause, GPL-3.0+ (demo, spy, tests), ISC (simclist) PCSC_LITE_LICENSE_FILES = COPYING GPL-3.0.txt +PCSC_LITE_SELINUX_MODULES = pcscd # - libudev and libusb are optional # - libudev and libusb can't be used together diff --git a/package/pdbg/pdbg.hash b/package/pdbg/pdbg.hash index bc9f99b149b..df7ba314bfb 100644 --- a/package/pdbg/pdbg.hash +++ b/package/pdbg/pdbg.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c47adcac1c404266217be8c4acb408d9eba59562b094c941e96e4f77f3ced7d2 pdbg-3.2.tar.gz +sha256 5b721fd5551591cd5626ccf72c8d9096d902de4da10324097a37b4763815f0d7 pdbg-3.4.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/pdbg/pdbg.mk b/package/pdbg/pdbg.mk index e8bb36c3272..5a5cfbc62d8 100644 --- a/package/pdbg/pdbg.mk +++ b/package/pdbg/pdbg.mk @@ -4,7 +4,7 @@ # ################################################################################ -PDBG_VERSION = 3.2 +PDBG_VERSION = 3.4 PDBG_SITE = $(call github,open-power,pdbg,v$(PDBG_VERSION)) PDBG_LICENSE = Apache-2.0 PDBG_LICENSE_FILES = COPYING diff --git a/package/perl-convert-asn1/perl-convert-asn1.hash b/package/perl-convert-asn1/perl-convert-asn1.hash index 4fd7d3eb619..644517af512 100644 --- a/package/perl-convert-asn1/perl-convert-asn1.hash +++ b/package/perl-convert-asn1/perl-convert-asn1.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 68723e96be0b258a9e20480276e8a62c Convert-ASN1-0.27.tar.gz -sha256 74a4a78ae0c5e973100ac0a8f203a110f76fb047b79dae4fc1fd7d6814d3d58a Convert-ASN1-0.27.tar.gz +md5 80425835020da77c48c05a40e25bbf7e Convert-ASN1-0.33.tar.gz +sha256 1fdf004520c79e3a244cf9688616293516c11793d746c761f367496eb3d06076 Convert-ASN1-0.33.tar.gz # computed by scancpan -sha256 4ef46cc39d9e2b4c767503457a1f8fda5bcf9c0c164923e2a54a3863209cf237 LICENSE +sha256 70884b19a3537bf179538c3b7d7896a56ade509dafe6b8d545c5999a9c05f8a9 LICENSE diff --git a/package/perl-convert-asn1/perl-convert-asn1.mk b/package/perl-convert-asn1/perl-convert-asn1.mk index b6ba76a7e87..affe775aca9 100644 --- a/package/perl-convert-asn1/perl-convert-asn1.mk +++ b/package/perl-convert-asn1/perl-convert-asn1.mk @@ -4,9 +4,9 @@ # ################################################################################ -PERL_CONVERT_ASN1_VERSION = 0.27 +PERL_CONVERT_ASN1_VERSION = 0.33 PERL_CONVERT_ASN1_SOURCE = Convert-ASN1-$(PERL_CONVERT_ASN1_VERSION).tar.gz -PERL_CONVERT_ASN1_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GB/GBARR +PERL_CONVERT_ASN1_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TI/TIMLEGGE PERL_CONVERT_ASN1_LICENSE = Artistic or GPL-1.0+ PERL_CONVERT_ASN1_LICENSE_FILES = LICENSE PERL_CONVERT_ASN1_DISTNAME = Convert-ASN1 diff --git a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash index 327b06900a5..e6d19cb6817 100644 --- a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash +++ b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 e768fe2c07826b0ac9ea604c79f93032 Crypt-OpenSSL-Guess-0.11.tar.gz -sha256 aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167 Crypt-OpenSSL-Guess-0.11.tar.gz +md5 9e86baf96828a38c967003a5e66f0c39 Crypt-OpenSSL-Guess-0.12.tar.gz +sha256 0a18d18768cf42b49b15c9dea626199dc74346bbbc76acd3d817b9c1d2bd471d Crypt-OpenSSL-Guess-0.12.tar.gz # computed by scancpan -sha256 5c739f181ce7aa31d739277996ff230067dad39332e5597c0dffd36e5d784072 LICENSE +sha256 5c739f181ce7aa31d739277996ff230067dad39332e5597c0dffd36e5d784072 LICENSE diff --git a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk index a53285165bc..4f0898cf53b 100644 --- a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk +++ b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_CRYPT_OPENSSL_GUESS_VERSION = 0.11 +PERL_CRYPT_OPENSSL_GUESS_VERSION = 0.12 PERL_CRYPT_OPENSSL_GUESS_SOURCE = Crypt-OpenSSL-Guess-$(PERL_CRYPT_OPENSSL_GUESS_VERSION).tar.gz PERL_CRYPT_OPENSSL_GUESS_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AK/AKIYM PERL_CRYPT_OPENSSL_GUESS_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-crypt-openssl-rsa/Config.in b/package/perl-crypt-openssl-rsa/Config.in index e58a921bcb7..b11d8a44c1d 100644 --- a/package/perl-crypt-openssl-rsa/Config.in +++ b/package/perl-crypt-openssl-rsa/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_PERL_CRYPT_OPENSSL_RSA bool "perl-crypt-openssl-rsa" depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PERL_CRYPT_OPENSSL_RANDOM # runtime + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help RSA encoding and decoding, using the openSSL libraries. diff --git a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk index b161523421f..23fd1ac3811 100644 --- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk +++ b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk @@ -9,7 +9,8 @@ PERL_CRYPT_OPENSSL_RSA_SOURCE = Crypt-OpenSSL-RSA-$(PERL_CRYPT_OPENSSL_RSA_VERSI PERL_CRYPT_OPENSSL_RSA_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR PERL_CRYPT_OPENSSL_RSA_DEPENDENCIES = \ host-perl-crypt-openssl-guess \ - perl-crypt-openssl-random + perl-crypt-openssl-random \ + openssl PERL_CRYPT_OPENSSL_RSA_LICENSE = Artistic or GPL-1.0+ PERL_CRYPT_OPENSSL_RSA_LICENSE_FILES = LICENSE PERL_CRYPT_OPENSSL_RSA_DISTNAME = Crypt-OpenSSL-RSA diff --git a/package/perl-data-dump/perl-data-dump.hash b/package/perl-data-dump/perl-data-dump.hash index 87850326de5..cc1986e744b 100644 --- a/package/perl-data-dump/perl-data-dump.hash +++ b/package/perl-data-dump/perl-data-dump.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 762c111e525c82ff23d62c90821b26e9 Data-Dump-1.23.tar.gz -sha256 af53b05ef1387b4cab4427e6789179283e4f0da8cf036e8db516ddb344512b65 Data-Dump-1.23.tar.gz +md5 9bd7131ef0441e1e0e001bf85e9fae31 Data-Dump-1.25.tar.gz +sha256 a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd Data-Dump-1.25.tar.gz # computed by scancpan -sha256 31d1b6482bcc3db87a38ad02065554f9d3bc13321d4ef8e96042464045e2abcf README +sha256 8bdd655ceab54bbeb1105a101f0412ec764098abf09b4e92bc430d56befa10cb README.md diff --git a/package/perl-data-dump/perl-data-dump.mk b/package/perl-data-dump/perl-data-dump.mk index 54d3a925fe4..e70de2a211a 100644 --- a/package/perl-data-dump/perl-data-dump.mk +++ b/package/perl-data-dump/perl-data-dump.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_DATA_DUMP_VERSION = 1.23 +PERL_DATA_DUMP_VERSION = 1.25 PERL_DATA_DUMP_SOURCE = Data-Dump-$(PERL_DATA_DUMP_VERSION).tar.gz -PERL_DATA_DUMP_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS +PERL_DATA_DUMP_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GARU PERL_DATA_DUMP_LICENSE = Artistic or GPL-1.0+ -PERL_DATA_DUMP_LICENSE_FILES = README +PERL_DATA_DUMP_LICENSE_FILES = README.md PERL_DATA_DUMP_DISTNAME = Data-Dump $(eval $(perl-package)) diff --git a/package/perl-data-optlist/perl-data-optlist.hash b/package/perl-data-optlist/perl-data-optlist.hash index 93df0064866..1c805acef7f 100644 --- a/package/perl-data-optlist/perl-data-optlist.hash +++ b/package/perl-data-optlist/perl-data-optlist.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 f9236c9ea5607134ad8a2b3dc901c4c5 Data-OptList-0.110.tar.gz -sha256 366117cb2966473f2559f2f4575ff6ae69e84c69a0f30a0773e1b51a457ef5c3 Data-OptList-0.110.tar.gz +md5 3b2cdb7846391f9acaf4e948a9a6b21b Data-OptList-0.112.tar.gz +sha256 62c60ccaae88d5339ae36bcc8940b03388cf84adbf27828b1f8b300307103bab Data-OptList-0.112.tar.gz # computed by scancpan -sha256 73c7bd4c8e4adc474f9dae32b9aa08f6ce27327940751dd6e8373404beabdffa LICENSE +sha256 712f3e40537810ba3046533fd71d877f69ab446d5e8e8a1135771804494b8b42 LICENSE diff --git a/package/perl-data-optlist/perl-data-optlist.mk b/package/perl-data-optlist/perl-data-optlist.mk index 49aeb820e27..8e089245f61 100644 --- a/package/perl-data-optlist/perl-data-optlist.mk +++ b/package/perl-data-optlist/perl-data-optlist.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_DATA_OPTLIST_VERSION = 0.110 +PERL_DATA_OPTLIST_VERSION = 0.112 PERL_DATA_OPTLIST_SOURCE = Data-OptList-$(PERL_DATA_OPTLIST_VERSION).tar.gz PERL_DATA_OPTLIST_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS PERL_DATA_OPTLIST_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-date-manip/perl-date-manip.hash b/package/perl-date-manip/perl-date-manip.hash index 90961c74f5f..dc267f525e2 100644 --- a/package/perl-date-manip/perl-date-manip.hash +++ b/package/perl-date-manip/perl-date-manip.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 92be58690a9a64d51fb158198220fd63 Date-Manip-6.83.tar.gz -sha256 f491b2e1d876c222a59563b1bbd893c1034207ed0337304bf396311d9e9199fa Date-Manip-6.83.tar.gz +md5 77123a4cc874f72d7188f859626bdd84 Date-Manip-6.86.tar.gz +sha256 b5203782d03c79aa5822cf33d1828aaa3b4db93a275d4a428c89f56f4713361f Date-Manip-6.86.tar.gz # computed by scancpan sha256 8ba2a138654f8b59b7e1e3ad0d4c81918b9148ff95078b172ccbb45fa241431d LICENSE diff --git a/package/perl-date-manip/perl-date-manip.mk b/package/perl-date-manip/perl-date-manip.mk index ab51346916d..35bce456e2a 100644 --- a/package/perl-date-manip/perl-date-manip.mk +++ b/package/perl-date-manip/perl-date-manip.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_DATE_MANIP_VERSION = 6.83 +PERL_DATE_MANIP_VERSION = 6.86 PERL_DATE_MANIP_SOURCE = Date-Manip-$(PERL_DATE_MANIP_VERSION).tar.gz PERL_DATE_MANIP_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SB/SBECK PERL_DATE_MANIP_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-digest-hmac/Config.in b/package/perl-digest-hmac/Config.in index bb9b454174d..e8bb880020f 100644 --- a/package/perl-digest-hmac/Config.in +++ b/package/perl-digest-hmac/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PERL_DIGEST_HMAC help Keyed-Hashing for Message Authentication. - https://metacpan.org/release/Digest-HMAC + http://metacpan.org/release/Digest-HMAC diff --git a/package/perl-digest-hmac/perl-digest-hmac.hash b/package/perl-digest-hmac/perl-digest-hmac.hash index 84bc86488aa..5e7da14f3fa 100644 --- a/package/perl-digest-hmac/perl-digest-hmac.hash +++ b/package/perl-digest-hmac/perl-digest-hmac.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 e6a5d6f552da16eacb5157ea4369ff9d Digest-HMAC-1.03.tar.gz -sha256 3bc72c6d3ff144d73aefb90e9a78d33612d58cf1cd1631ecfb8985ba96da4a59 Digest-HMAC-1.03.tar.gz +md5 746a5edffd1485d7500e005730c271c8 Digest-HMAC-1.04.tar.gz +sha256 d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4 Digest-HMAC-1.04.tar.gz # computed by scancpan -sha256 56bf7cdaec5eebf74d58679638ebef5015883e65c1be7251a3ef8cce8bdd1ff5 README +sha256 cb9ff694d1769f450dd5c400204aa921d2fb3db90fcb21674a39f3725c4255c1 LICENSE diff --git a/package/perl-digest-hmac/perl-digest-hmac.mk b/package/perl-digest-hmac/perl-digest-hmac.mk index daacf7dab43..bc080703de1 100644 --- a/package/perl-digest-hmac/perl-digest-hmac.mk +++ b/package/perl-digest-hmac/perl-digest-hmac.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_DIGEST_HMAC_VERSION = 1.03 +PERL_DIGEST_HMAC_VERSION = 1.04 PERL_DIGEST_HMAC_SOURCE = Digest-HMAC-$(PERL_DIGEST_HMAC_VERSION).tar.gz -PERL_DIGEST_HMAC_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS +PERL_DIGEST_HMAC_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AR/ARODLAND PERL_DIGEST_HMAC_LICENSE = Artistic or GPL-1.0+ -PERL_DIGEST_HMAC_LICENSE_FILES = README +PERL_DIGEST_HMAC_LICENSE_FILES = LICENSE PERL_DIGEST_HMAC_DISTNAME = Digest-HMAC $(eval $(perl-package)) diff --git a/package/perl-html-parser/Config.in b/package/perl-html-parser/Config.in index 10cd95e4848..191d1b3b76c 100644 --- a/package/perl-html-parser/Config.in +++ b/package/perl-html-parser/Config.in @@ -2,10 +2,12 @@ config BR2_PACKAGE_PERL_HTML_PARSER bool "perl-html-parser" depends on !BR2_STATIC_LIBS select BR2_PACKAGE_PERL_HTML_TAGSET # runtime + select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime + select BR2_PACKAGE_PERL_URI # runtime help HTML parser class. - https://metacpan.org/release/HTML-Parser + https://github.com/libwww-perl/HTML-Parser comment "perl-html-parser needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/perl-html-parser/perl-html-parser.hash b/package/perl-html-parser/perl-html-parser.hash index 021ef26c65b..36b094a7cbf 100644 --- a/package/perl-html-parser/perl-html-parser.hash +++ b/package/perl-html-parser/perl-html-parser.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 65bf65aa8b34b35443e094010f991406 HTML-Parser-3.75.tar.gz -sha256 ac6b5e25a8df7af54885201e91c45fb9ab6744c08cedc1a38fcc7d95d21193a9 HTML-Parser-3.75.tar.gz +md5 60e266d5a07fbea671a0383dd8af7b6c HTML-Parser-3.76.tar.gz +sha256 64d9e2eb2b420f1492da01ec0e6976363245b4be9290f03f10b7d2cb63fa2f61 HTML-Parser-3.76.tar.gz # computed by scancpan sha256 0e57338bc10d5fb8891012ebee65a7b504b247f5bb485e121b8b48d7a118a60b LICENSE diff --git a/package/perl-html-parser/perl-html-parser.mk b/package/perl-html-parser/perl-html-parser.mk index 93e4f6745b6..097564dbcba 100644 --- a/package/perl-html-parser/perl-html-parser.mk +++ b/package/perl-html-parser/perl-html-parser.mk @@ -4,9 +4,9 @@ # ################################################################################ -PERL_HTML_PARSER_VERSION = 3.75 +PERL_HTML_PARSER_VERSION = 3.76 PERL_HTML_PARSER_SOURCE = HTML-Parser-$(PERL_HTML_PARSER_VERSION).tar.gz -PERL_HTML_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CA/CAPOEIRAB +PERL_HTML_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_HTML_PARSER_LICENSE = Artistic or GPL-1.0+ PERL_HTML_PARSER_LICENSE_FILES = LICENSE PERL_HTML_PARSER_DISTNAME = HTML-Parser diff --git a/package/perl-http-message/perl-http-message.hash b/package/perl-http-message/perl-http-message.hash index 4e406c9d46e..1a5d9ad0df5 100644 --- a/package/perl-http-message/perl-http-message.hash +++ b/package/perl-http-message/perl-http-message.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4b4038aef74f63c2b6baca189c6c6602 HTTP-Message-6.27.tar.gz -sha256 0be0f720fbbbdbae8711f6eec9b2f0d34bd5ed5046fc66b80dc3b42017c1e699 HTTP-Message-6.27.tar.gz +md5 e847fb3e297e740080ab6fd1ac127f7f HTTP-Message-6.36.tar.gz +sha256 576a53b486af87db56261a36099776370c06f0087d179fc8c7bb803b48cddd76 HTTP-Message-6.36.tar.gz # computed by scancpan -sha256 1379396dcd2291f17a741d2d6bf14d379f5f2ab91b3c7e7b92c5f82856e2d7ac LICENSE +sha256 f2f428b5f8a3bf4e6a71cd5ea92558a3d123d3d7c5075d34923e71e46dea94df LICENSE diff --git a/package/perl-http-message/perl-http-message.mk b/package/perl-http-message/perl-http-message.mk index 72b94356bed..3b5d6e7b5f5 100644 --- a/package/perl-http-message/perl-http-message.mk +++ b/package/perl-http-message/perl-http-message.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_HTTP_MESSAGE_VERSION = 6.27 +PERL_HTTP_MESSAGE_VERSION = 6.36 PERL_HTTP_MESSAGE_SOURCE = HTTP-Message-$(PERL_HTTP_MESSAGE_VERSION).tar.gz PERL_HTTP_MESSAGE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_HTTP_MESSAGE_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-io-socket-ssl/Config.in b/package/perl-io-socket-ssl/Config.in index a7b94a39258..2797a115577 100644 --- a/package/perl-io-socket-ssl/Config.in +++ b/package/perl-io-socket-ssl/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PERL_IO_SOCKET_SSL bool "perl-io-socket-ssl" depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_PERL_MOZILLA_CA # runtime select BR2_PACKAGE_PERL_NET_SSLEAY # runtime help Nearly transparent SSL encapsulation for IO::Socket::INET. diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash index 2180b6be356..4a1d71e3497 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4230c829c8875889848093b2b46a7284 IO-Socket-SSL-2.068.tar.gz -sha256 4420fc0056f1827b4dd1245eacca0da56e2182b4ef6fc078f107dc43c3fb8ff9 IO-Socket-SSL-2.068.tar.gz +md5 53201b8e4dfaf25d4d661a54fdfda602 IO-Socket-SSL-2.074.tar.gz +sha256 36486b6be49da4d029819cf7069a7b41ed48af0c87e23be0f8e6aba23d08a832 IO-Socket-SSL-2.074.tar.gz # computed by scancpan sha256 090aff5421fd55a9dceeaf6c612c36360402e8d29c1284aef88c87be565ce032 README diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk index b6c0ceb37f4..1ab70509bd8 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_IO_SOCKET_SSL_VERSION = 2.068 +PERL_IO_SOCKET_SSL_VERSION = 2.074 PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR PERL_IO_SOCKET_SSL_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-libwww-perl/Config.in b/package/perl-libwww-perl/Config.in index 6e191dd5291..3967d3570e0 100644 --- a/package/perl-libwww-perl/Config.in +++ b/package/perl-libwww-perl/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_PERL_LIBWWW_PERL select BR2_PACKAGE_PERL_FILE_LISTING # runtime select BR2_PACKAGE_PERL_HTML_PARSER # runtime select BR2_PACKAGE_PERL_HTTP_COOKIES # runtime - select BR2_PACKAGE_PERL_HTTP_DAEMON # runtime select BR2_PACKAGE_PERL_HTTP_DATE # runtime select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime select BR2_PACKAGE_PERL_HTTP_NEGOTIATE # runtime diff --git a/package/perl-libwww-perl/perl-libwww-perl.hash b/package/perl-libwww-perl/perl-libwww-perl.hash index 4534637981a..e32258050cd 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.hash +++ b/package/perl-libwww-perl/perl-libwww-perl.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 7b5959aff7b11509bd87fa1de753f127 libwww-perl-6.52.tar.gz -sha256 b63f67647b7cfb0bace19ada32e4feb2c2e8e0f4204546c62ce6247fa59d778d libwww-perl-6.52.tar.gz +md5 ce5180358d9279b2843a6518bf2de200 libwww-perl-6.60.tar.gz +sha256 cdd28b9237b9c6791725b9099695c7c3c720b33881606fd6cc7635a5495bb07c libwww-perl-6.60.tar.gz # computed by scancpan -sha256 e84ac5ab84ace59952d2640e0ca4522eb0aaa8c2aa696352d1252aa109ea20bc LICENSE +sha256 311f168ba9a7819ffab4fea19858f9e880737baf6d112929d11530205035a4cc LICENSE diff --git a/package/perl-libwww-perl/perl-libwww-perl.mk b/package/perl-libwww-perl/perl-libwww-perl.mk index d121dea91e6..aa15ebb594a 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.mk +++ b/package/perl-libwww-perl/perl-libwww-perl.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_LIBWWW_PERL_VERSION = 6.52 +PERL_LIBWWW_PERL_VERSION = 6.60 PERL_LIBWWW_PERL_SOURCE = libwww-perl-$(PERL_LIBWWW_PERL_VERSION).tar.gz PERL_LIBWWW_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_LIBWWW_PERL_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-mojolicious-plugin-authentication/Config.in b/package/perl-mojolicious-plugin-authentication/Config.in index 4fa01806fd0..2f51989f2fb 100644 --- a/package/perl-mojolicious-plugin-authentication/Config.in +++ b/package/perl-mojolicious-plugin-authentication/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION help A plugin to make authentication a bit easier. - https://metacpan.org/release/Mojolicious-Plugin-Authentication + https://github.com/benvanstaveren/Mojolicious-Plugin-Authentication diff --git a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash index f225ff486ba..34362f5d8d0 100644 --- a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash +++ b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b318be1e1e50e7595baee639b2964565 Mojolicious-Plugin-Authentication-1.33.tar.gz -sha256 1c32dffc88a683ba3b2719f34bc52fb9c5c5fb2f1276bbd30136bfad0ac262bc Mojolicious-Plugin-Authentication-1.33.tar.gz +md5 c475f2d3962441698b178ad1bd7d2e29 Mojolicious-Plugin-Authentication-1.37.tar.gz +sha256 a7ed206725b7b395d4fca12e3f1d923da644d913333ff48ea231e064ecb1abb6 Mojolicious-Plugin-Authentication-1.37.tar.gz # computed by scancpan -sha256 59727ac57166e9891175d8247a8ea47d4aeb24a0dc1e24011b773d139481b135 LICENSE +sha256 37d219684a6c5f8754435fb0dd36a779121e416553fd6a75e22a7545039d1021 LICENSE diff --git a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk index cce12314dbe..57c356eee58 100644 --- a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk +++ b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION = 1.33 +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION = 1.37 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SOURCE = Mojolicious-Plugin-Authentication-$(PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION).tar.gz PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JJ/JJATRIA PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.hash b/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.hash index c55eefe2ff1..30bf87bad0d 100644 --- a/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.hash +++ b/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 9c009599cf397e3eacf5d7cd0dec45b8 Mojolicious-Plugin-Authorization-1.05.tar.gz -sha256 87f84092d5698595ad0d01e745eca1d6affd1f3d662786f39f3583c54ffed0e3 Mojolicious-Plugin-Authorization-1.05.tar.gz +md5 7906886e2a66b84bb3c0edd7ea85c485 Mojolicious-Plugin-Authorization-1.06.tar.gz +sha256 d21ee5ab5fd8c630bc28ce001f9c91bba500370baf7cc8f6f60c9a4e051f9a6c Mojolicious-Plugin-Authorization-1.06.tar.gz # computed by scancpan -sha256 fd9632faca5a3d6af4cb9cf776514de87d2b34bff3a6cf06c23eea0f9cc3ab06 LICENSE +sha256 dfab85cd06e80a3493217a1dc741cf9065417d2e803d50756f013c0b6cb0cb3e LICENSE diff --git a/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk b/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk index 3fcee08a46d..f136be3ba91 100644 --- a/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk +++ b/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_VERSION = 1.05 +PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_VERSION = 1.06 PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_SOURCE = Mojolicious-Plugin-Authorization-$(PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_VERSION).tar.gz PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/B/BY/BYTEROCK PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_DEPENDENCIES = host-perl-module-build diff --git a/package/perl-mojolicious/perl-mojolicious.hash b/package/perl-mojolicious/perl-mojolicious.hash index a94c57abce3..cc29c355352 100644 --- a/package/perl-mojolicious/perl-mojolicious.hash +++ b/package/perl-mojolicious/perl-mojolicious.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 f93e56c64cad7002bd7bc1f8091ed05b Mojolicious-8.71.tar.gz -sha256 155bfdcd1d49f4f10be71ec8eeb93de1873b9ab810f3d6d521d3ec10f0ef6e0d Mojolicious-8.71.tar.gz +md5 c7a00b4bd8fa2db991c9b918d34041d3 Mojolicious-9.22.tar.gz +sha256 6b76e024d3d6c077ad984ea3b3d229f093373d5e06438aca248235150d029043 Mojolicious-9.22.tar.gz # computed by scancpan sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE diff --git a/package/perl-mojolicious/perl-mojolicious.mk b/package/perl-mojolicious/perl-mojolicious.mk index eed097d907a..559b995cdcc 100644 --- a/package/perl-mojolicious/perl-mojolicious.mk +++ b/package/perl-mojolicious/perl-mojolicious.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 8.71 +PERL_MOJOLICIOUS_VERSION = 9.22 PERL_MOJOLICIOUS_SOURCE = Mojolicious-$(PERL_MOJOLICIOUS_VERSION).tar.gz PERL_MOJOLICIOUS_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SR/SRI PERL_MOJOLICIOUS_LICENSE = Artistic-2.0 diff --git a/package/perl-moo/perl-moo.hash b/package/perl-moo/perl-moo.hash index af0dd2e926d..9b67e7a65c2 100644 --- a/package/perl-moo/perl-moo.hash +++ b/package/perl-moo/perl-moo.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 51f3732e043a1e856ab6cdc260d2814c Moo-2.004004.tar.gz -sha256 714b77b115788708c6d8ab6f18eea173f8109d397aecd34e32cc71a0ffcf2246 Moo-2.004004.tar.gz +md5 49ecf491b49b9b200e8a5dfd1a42b480 Moo-2.005004.tar.gz +sha256 e3030b80bd554a66f6b3c27fd53b1b5909d12af05c4c11ece9a58f8d1e478928 Moo-2.005004.tar.gz # computed by scancpan -sha256 0f2d6b537f7a735c981511875d832bc8ff767bf97d62848cf0bada964e40aadd LICENSE +sha256 a8a1595c2347f7d10e896809d4f3dea85ccc10ac5644b8073111233cd120b14a LICENSE diff --git a/package/perl-moo/perl-moo.mk b/package/perl-moo/perl-moo.mk index 77c6c1e356c..6c484ba9e39 100644 --- a/package/perl-moo/perl-moo.mk +++ b/package/perl-moo/perl-moo.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOO_VERSION = 2.004004 +PERL_MOO_VERSION = 2.005004 PERL_MOO_SOURCE = Moo-$(PERL_MOO_VERSION).tar.gz PERL_MOO_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG PERL_MOO_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-mozilla-ca/perl-mozilla-ca.hash b/package/perl-mozilla-ca/perl-mozilla-ca.hash index c577d4887ee..07966f9906a 100644 --- a/package/perl-mozilla-ca/perl-mozilla-ca.hash +++ b/package/perl-mozilla-ca/perl-mozilla-ca.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 8ac3fe1a83c45da3f468f78ab8133ea6 Mozilla-CA-20200520.tar.gz -sha256 b3ca0002310bf24a16c0d5920bdea97a2f46e77e7be3e7377e850d033387c726 Mozilla-CA-20200520.tar.gz +md5 843e42f367ea3c7abc5de5b6225791dc Mozilla-CA-20211001.tar.gz +sha256 122c8900000a9d388aa8e44f911cab6c118fe8497417917a84a8ec183971b449 Mozilla-CA-20211001.tar.gz # computed by scancpan sha256 95cd63dae5c2bf6e7cf33435981614a36c85ef01fc7a02464e05e58a5355398e README diff --git a/package/perl-mozilla-ca/perl-mozilla-ca.mk b/package/perl-mozilla-ca/perl-mozilla-ca.mk index 3bcb947f726..6b970c0f94d 100644 --- a/package/perl-mozilla-ca/perl-mozilla-ca.mk +++ b/package/perl-mozilla-ca/perl-mozilla-ca.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOZILLA_CA_VERSION = 20200520 +PERL_MOZILLA_CA_VERSION = 20211001 PERL_MOZILLA_CA_SOURCE = Mozilla-CA-$(PERL_MOZILLA_CA_VERSION).tar.gz PERL_MOZILLA_CA_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AB/ABH PERL_MOZILLA_CA_LICENSE = MPL-2.0 diff --git a/package/perl-net-dns/perl-net-dns.hash b/package/perl-net-dns/perl-net-dns.hash index da09e91b02c..1af14e2a451 100644 --- a/package/perl-net-dns/perl-net-dns.hash +++ b/package/perl-net-dns/perl-net-dns.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 2c9120830a68f18deb43a95826ea6372 Net-DNS-1.29.tar.gz -sha256 852d6ee87e8f0d014223026581cbb56924ba8cddd3ceb29c6191dbb6122d43c5 Net-DNS-1.29.tar.gz +md5 f3ba5295ee588d25dabc74a2ecda296a Net-DNS-1.33.tar.gz +sha256 5a40e7cf524e4bd2c33cf03b82b47d5308b712083aa5ee180b0b5af54c71fbd2 Net-DNS-1.33.tar.gz # computed by scancpan -sha256 e4f3224d86bd79ac3d11ea513fcb83c68c20701346653699225331e2b7a2d447 README +sha256 1e44fcf65509b47a251eda0ce1f8bd6aefa13517e38cb1e95b8d36120fb15452 LICENSE diff --git a/package/perl-net-dns/perl-net-dns.mk b/package/perl-net-dns/perl-net-dns.mk index f5e8328a1e4..fa7b50c023f 100644 --- a/package/perl-net-dns/perl-net-dns.mk +++ b/package/perl-net-dns/perl-net-dns.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_NET_DNS_VERSION = 1.29 +PERL_NET_DNS_VERSION = 1.33 PERL_NET_DNS_SOURCE = Net-DNS-$(PERL_NET_DNS_VERSION).tar.gz PERL_NET_DNS_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NL/NLNETLABS PERL_NET_DNS_LICENSE = MIT -PERL_NET_DNS_LICENSE_FILES = README +PERL_NET_DNS_LICENSE_FILES = LICENSE PERL_NET_DNS_DISTNAME = Net-DNS $(eval $(perl-package)) diff --git a/package/perl-net-http/perl-net-http.hash b/package/perl-net-http/perl-net-http.hash index 42ae6bd9795..85ddad6eeab 100644 --- a/package/perl-net-http/perl-net-http.hash +++ b/package/perl-net-http/perl-net-http.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 00f825fb848d50202aeec074c3608453 Net-HTTP-6.20.tar.gz -sha256 92527b2a24512961b8e3637c6216a057751e39b6fa751422ed181ff599779f1e Net-HTTP-6.20.tar.gz +md5 dbe27483034a79a7d43f61cc48540641 Net-HTTP-6.21.tar.gz +sha256 375aa35b76be99f06464089174d66ac76f78ce83a5c92a907bbfab18b099eec4 Net-HTTP-6.21.tar.gz # computed by scancpan sha256 49fbcc80e17295888b909176a0029f275a8c17b6cbfaf8867fe571ebe9a9ca79 LICENSE diff --git a/package/perl-net-http/perl-net-http.mk b/package/perl-net-http/perl-net-http.mk index f8da6310080..de0809d0b66 100644 --- a/package/perl-net-http/perl-net-http.mk +++ b/package/perl-net-http/perl-net-http.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_HTTP_VERSION = 6.20 +PERL_NET_HTTP_VERSION = 6.21 PERL_NET_HTTP_SOURCE = Net-HTTP-$(PERL_NET_HTTP_VERSION).tar.gz PERL_NET_HTTP_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_NET_HTTP_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-net-ssh2/perl-net-ssh2.hash b/package/perl-net-ssh2/perl-net-ssh2.hash index d65b6f36b8f..b2e8b2d48ec 100644 --- a/package/perl-net-ssh2/perl-net-ssh2.hash +++ b/package/perl-net-ssh2/perl-net-ssh2.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 baa1b19fec9ca37ecfc12a22ba0c9122 Net-SSH2-0.71.tar.gz -sha256 ee411ec263c900c441fd1c490e9d52fc56b0bb32e1ed98869229501b200f8fa2 Net-SSH2-0.71.tar.gz +md5 57aa0f6e2be4020f75888a7195ad5cba Net-SSH2-0.72.tar.gz +sha256 867d83070fac6436b9f0971918243002072fbf8d2724a87c254b34250dce0222 Net-SSH2-0.72.tar.gz # computed by scancpan -sha256 b9fe64368dd41bb5b9405b23f95ee0deb970427895ab0119eb3cd4d221764c1d README.pod +sha256 268afaee7aa88a41959c93cd91853e8124bdbe64a74480d36ff1130e01a1c0ca README.pod diff --git a/package/perl-net-ssh2/perl-net-ssh2.mk b/package/perl-net-ssh2/perl-net-ssh2.mk index 10657c39ca8..20e45b6287e 100644 --- a/package/perl-net-ssh2/perl-net-ssh2.mk +++ b/package/perl-net-ssh2/perl-net-ssh2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PERL_NET_SSH2_VERSION = 0.71 +PERL_NET_SSH2_VERSION = 0.72 PERL_NET_SSH2_SOURCE = Net-SSH2-$(PERL_NET_SSH2_VERSION).tar.gz -PERL_NET_SSH2_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RK/RKITOVER +PERL_NET_SSH2_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SA/SALVA PERL_NET_SSH2_LICENSE = Artistic or GPL-1.0+ PERL_NET_SSH2_LICENSE_FILES = README.pod PERL_NET_SSH2_DEPENDENCIES = libssh2 zlib @@ -18,7 +18,7 @@ PERL_NET_SSH2_CONF_OPTS += \ inc="$(STAGING_DIR)/usr/include" ifeq ($(BR2_PACKAGE_LIBSSH2_LIBGCRYPT),y) -PERL_NET_SSH2_CONF_OPTS += gcrypt +PERL_NET_SSH2_CONF_OPTS += crypto_backend=gcrypt endif $(eval $(perl-package)) diff --git a/package/perl-net-ssleay/Config.in b/package/perl-net-ssleay/Config.in index 6998553ef87..d699e6671d8 100644 --- a/package/perl-net-ssleay/Config.in +++ b/package/perl-net-ssleay/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PERL_NET_SSLEAY bool "perl-net-ssleay" depends on !BR2_STATIC_LIBS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help Perl extension for using OpenSSL. diff --git a/package/perl-net-telnet/perl-net-telnet.hash b/package/perl-net-telnet/perl-net-telnet.hash index cf1def6a574..c6dc0ca6003 100644 --- a/package/perl-net-telnet/perl-net-telnet.hash +++ b/package/perl-net-telnet/perl-net-telnet.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 d2514080116c1b0fa5f96295c84538e3 Net-Telnet-3.04.tar.gz -sha256 e64d567a4e16295ecba949368e7a6b8b5ae2a16b3ad682121d9b007dc5d2a37a Net-Telnet-3.04.tar.gz +md5 c8573c57a2d9469f038c40ac284b1e5f Net-Telnet-3.05.tar.gz +sha256 677f68ba2cd2a824fae323fa82e183bf7e3d03c3c499c91d923bd6283796a743 Net-Telnet-3.05.tar.gz # computed by scancpan -sha256 05beca683093827706ef45a4958bf23bcd91990e0beeb0b098f97c661478c90d README +sha256 22d0a3343b46c7857cd7d06cb37fe437d467df71aa5854af515374e1e8bf6c53 README diff --git a/package/perl-net-telnet/perl-net-telnet.mk b/package/perl-net-telnet/perl-net-telnet.mk index 0b9cce0af8f..ec3c022168e 100644 --- a/package/perl-net-telnet/perl-net-telnet.mk +++ b/package/perl-net-telnet/perl-net-telnet.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_TELNET_VERSION = 3.04 +PERL_NET_TELNET_VERSION = 3.05 PERL_NET_TELNET_SOURCE = Net-Telnet-$(PERL_NET_TELNET_VERSION).tar.gz PERL_NET_TELNET_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JR/JROGERS PERL_NET_TELNET_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-netaddr-ip/perl-netaddr-ip.mk b/package/perl-netaddr-ip/perl-netaddr-ip.mk index 4824b4e9ee7..c4885715b47 100644 --- a/package/perl-netaddr-ip/perl-netaddr-ip.mk +++ b/package/perl-netaddr-ip/perl-netaddr-ip.mk @@ -12,7 +12,7 @@ PERL_NETADDR_IP_LICENSE_FILES = Artistic Copying PERL_NETADDR_IP_DISTNAME = NetAddr-IP ifeq ($(BR2_STATIC_LIBS),y) -PERL_NETADDR_IP_CONF_OPTS = -noxs +PERL_NETADDR_IP_CONF_OPTS += -noxs endif $(eval $(perl-package)) diff --git a/package/perl-parse-yapp/Config.in b/package/perl-parse-yapp/Config.in new file mode 100644 index 00000000000..2781682670d --- /dev/null +++ b/package/perl-parse-yapp/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_PARSE_YAPP + bool "perl-parse-yapp" + help + A perl frontend to the Parse::Yapp module. + + https://metacpan.org/release/Parse-Yapp diff --git a/package/perl-parse-yapp/perl-parse-yapp.hash b/package/perl-parse-yapp/perl-parse-yapp.hash new file mode 100644 index 00000000000..36541592ffd --- /dev/null +++ b/package/perl-parse-yapp/perl-parse-yapp.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 69584d5b0f0304bb2a23cffcd982c5de Parse-Yapp-1.21.tar.gz +sha256 3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5 Parse-Yapp-1.21.tar.gz + +# locally computed +sha256 a5d97e3ee50ba12b7897841a117790f723795e4a61e5ad1668dc064956c84e96 lib/Parse/Yapp.pm diff --git a/package/perl-parse-yapp/perl-parse-yapp.mk b/package/perl-parse-yapp/perl-parse-yapp.mk new file mode 100644 index 00000000000..12f05efe0c9 --- /dev/null +++ b/package/perl-parse-yapp/perl-parse-yapp.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-parse-yapp +# +################################################################################ + +PERL_PARSE_YAPP_VERSION = 1.21 +PERL_PARSE_YAPP_SOURCE = Parse-Yapp-$(PERL_PARSE_YAPP_VERSION).tar.gz +PERL_PARSE_YAPP_SITE = $(BR2_CPAN_MIRROR)/authors/id/W/WB/WBRASWELL +PERL_PARSE_YAPP_LICENSE = Artistic or GPL-1.0+ +PERL_PARSE_YAPP_LICENSE_FILES = lib/Parse/Yapp.pm +PERL_PARSE_YAPP_DISTNAME = Parse-Yapp + +$(eval $(perl-package)) +$(eval $(host-perl-package)) diff --git a/package/perl-path-tiny/perl-path-tiny.hash b/package/perl-path-tiny/perl-path-tiny.hash index 5138f401b58..16f1a9a2221 100644 --- a/package/perl-path-tiny/perl-path-tiny.hash +++ b/package/perl-path-tiny/perl-path-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 dd6092293f8766fb87d003dceebe4263 Path-Tiny-0.114.tar.gz -sha256 cd0f88f37a58fc3667ec065767fe01e73ee6efa18a112bfd3508cf6579ca00e1 Path-Tiny-0.114.tar.gz +md5 f746d8da5d049a5523b1880666bb0992 Path-Tiny-0.122.tar.gz +sha256 4bc6f76d0548ccd8b38cb66291a885bf0de453d0167562c7b82e8861afdcfb7c Path-Tiny-0.122.tar.gz # computed by scancpan -sha256 a999b03d2b80e5c7f987289ac835fa2d88cafa9f0df24adf8a1fd21e175acd79 LICENSE +sha256 c1a19c0d83f668a784640c0b41e024f37b182ad38011b170f9200123e57f6070 LICENSE diff --git a/package/perl-path-tiny/perl-path-tiny.mk b/package/perl-path-tiny/perl-path-tiny.mk index 579f3f5886d..310feed98b3 100644 --- a/package/perl-path-tiny/perl-path-tiny.mk +++ b/package/perl-path-tiny/perl-path-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_PATH_TINY_VERSION = 0.114 +PERL_PATH_TINY_VERSION = 0.122 PERL_PATH_TINY_SOURCE = Path-Tiny-$(PERL_PATH_TINY_VERSION).tar.gz PERL_PATH_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN PERL_PATH_TINY_LICENSE = Apache-2.0 diff --git a/package/perl-role-tiny/perl-role-tiny.hash b/package/perl-role-tiny/perl-role-tiny.hash index 9de786800ae..33de6a53f8c 100644 --- a/package/perl-role-tiny/perl-role-tiny.hash +++ b/package/perl-role-tiny/perl-role-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 065e459cdc3c6e163c6e8359baf69f45 Role-Tiny-2.002003.tar.gz -sha256 6981e5f2d0beded157840199d678da462b22a9a3753333cab322ab6efb0fbb89 Role-Tiny-2.002003.tar.gz +md5 9ee45591befa3d0b1094ac75d282b6ba Role-Tiny-2.002004.tar.gz +sha256 d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45 Role-Tiny-2.002004.tar.gz # computed by scancpan sha256 a8a1595c2347f7d10e896809d4f3dea85ccc10ac5644b8073111233cd120b14a LICENSE diff --git a/package/perl-role-tiny/perl-role-tiny.mk b/package/perl-role-tiny/perl-role-tiny.mk index 5a6477f94cd..64d5085fadd 100644 --- a/package/perl-role-tiny/perl-role-tiny.mk +++ b/package/perl-role-tiny/perl-role-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_ROLE_TINY_VERSION = 2.002003 +PERL_ROLE_TINY_VERSION = 2.002004 PERL_ROLE_TINY_SOURCE = Role-Tiny-$(PERL_ROLE_TINY_VERSION).tar.gz PERL_ROLE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG PERL_ROLE_TINY_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-try-tiny/perl-try-tiny.hash b/package/perl-try-tiny/perl-try-tiny.hash index ed4d8ac74fc..7aa88724f0d 100644 --- a/package/perl-try-tiny/perl-try-tiny.hash +++ b/package/perl-try-tiny/perl-try-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 eb362c3cb32c42f9f28de9ddb7f2ead6 Try-Tiny-0.30.tar.gz -sha256 da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b Try-Tiny-0.30.tar.gz +md5 993a29ee8a03c9bd9c2f7c53d1082a03 Try-Tiny-0.31.tar.gz +sha256 3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be Try-Tiny-0.31.tar.gz # computed by scancpan -sha256 f1864ede834871a1207fcd19838b6bd5e1ff0a8704f5cc523fc397126041ed0b LICENCE +sha256 f1864ede834871a1207fcd19838b6bd5e1ff0a8704f5cc523fc397126041ed0b LICENCE diff --git a/package/perl-try-tiny/perl-try-tiny.mk b/package/perl-try-tiny/perl-try-tiny.mk index f13e2ee59f5..cd2421a3cb3 100644 --- a/package/perl-try-tiny/perl-try-tiny.mk +++ b/package/perl-try-tiny/perl-try-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_TRY_TINY_VERSION = 0.30 +PERL_TRY_TINY_VERSION = 0.31 PERL_TRY_TINY_SOURCE = Try-Tiny-$(PERL_TRY_TINY_VERSION).tar.gz PERL_TRY_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_TRY_TINY_LICENSE = MIT diff --git a/package/perl-type-tiny/perl-type-tiny.hash b/package/perl-type-tiny/perl-type-tiny.hash index 2e2726e38d3..9e5924abb80 100644 --- a/package/perl-type-tiny/perl-type-tiny.hash +++ b/package/perl-type-tiny/perl-type-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 7feab0f3f99810290a3fdea8dbf24d7b Type-Tiny-1.012001.tar.gz -sha256 f907e5ad880fcc42fddb7e0de53c59429282abcbb3afb1a8651bf5ec6c42954d Type-Tiny-1.012001.tar.gz +md5 7a1688c4de07a0ed481a1811e5e82e63 Type-Tiny-1.012004.tar.gz +sha256 75cd06b612d1830ae9f4b22298b506b3ff04518fa7453f487c248cd62a906a2b Type-Tiny-1.012004.tar.gz # computed by scancpan sha256 34427749499bd6d6e5d206089bc03d76c647a1350f8b5f95ea628d2b6ff56e4c LICENSE diff --git a/package/perl-type-tiny/perl-type-tiny.mk b/package/perl-type-tiny/perl-type-tiny.mk index 2a475e53db0..5efa78f1619 100644 --- a/package/perl-type-tiny/perl-type-tiny.mk +++ b/package/perl-type-tiny/perl-type-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_TYPE_TINY_VERSION = 1.012001 +PERL_TYPE_TINY_VERSION = 1.012004 PERL_TYPE_TINY_SOURCE = Type-Tiny-$(PERL_TYPE_TINY_VERSION).tar.gz PERL_TYPE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK PERL_TYPE_TINY_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-uri/perl-uri.hash b/package/perl-uri/perl-uri.hash index c6cb7971f0a..e7e272c63a9 100644 --- a/package/perl-uri/perl-uri.hash +++ b/package/perl-uri/perl-uri.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 3dd176c522e9d39d88bcf1221fcd7ab2 URI-5.06.tar.gz -sha256 68555c576763769be43340459b9db7e159378edcd7db6d7518e16efdabdeb0c1 URI-5.06.tar.gz +md5 2a00d3dbf891df4256d251382aefd9b9 URI-5.10.tar.gz +sha256 16325d5e308c7b7ab623d1bf944e1354c5f2245afcfadb8eed1e2cae9a0bd0b5 URI-5.10.tar.gz # computed by scancpan -sha256 65cd6f88516a30f56fd4e0080fb78ea69424fc89067470dc994e4abfba08664e LICENSE +sha256 d4f0b7a8771dcb1eee79a38c2e466eb997e23565a6687dd1900a2027eabe12a0 LICENSE diff --git a/package/perl-uri/perl-uri.mk b/package/perl-uri/perl-uri.mk index 6eccb1b9bc3..d451bc5d6a1 100644 --- a/package/perl-uri/perl-uri.mk +++ b/package/perl-uri/perl-uri.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_URI_VERSION = 5.06 +PERL_URI_VERSION = 5.10 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_URI_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-xml-libxml/perl-xml-libxml.mk b/package/perl-xml-libxml/perl-xml-libxml.mk index 23d3e988fa3..9b563e29b55 100644 --- a/package/perl-xml-libxml/perl-xml-libxml.mk +++ b/package/perl-xml-libxml/perl-xml-libxml.mk @@ -10,6 +10,8 @@ PERL_XML_LIBXML_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SH/SHLOMIF PERL_XML_LIBXML_DEPENDENCIES = zlib libxml2 PERL_XML_LIBXML_LICENSE = Artistic or GPL-1.0+ PERL_XML_LIBXML_LICENSE_FILES = LICENSE +PERL_XML_LIBXML_CPE_ID_VENDOR = xml-libxml_project +PERL_XML_LIBXML_CPE_ID_PRODUCT = xml-libxml PERL_XML_LIBXML_DISTNAME = XML-LibXML PERL_XML_LIBXML_CONF_OPTS = \ diff --git a/package/perl/perl.hash b/package/perl/perl.hash index 42b7cc66c7f..b0f60ef6f88 100644 --- a/package/perl/perl.hash +++ b/package/perl/perl.hash @@ -1,10 +1,10 @@ -# Hashes from: https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz.{md5,sha1,sha256}.txt -md5 7f104064b906ad8c7329ca5e409a32d7 perl-5.32.1.tar.xz -sha1 1fb4f710d139da1e1a3e1fa4eaba201fcaa8e18e perl-5.32.1.tar.xz -sha256 57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 perl-5.32.1.tar.xz +# Hashes from: https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz.{md5,sha1,sha256}.txt +md5 df7ecb0653440b26dc951ad9dbfab517 perl-5.34.0.tar.xz +sha1 d461e206a1dca5e79d39e77debf0b564f6d77d37 perl-5.34.0.tar.xz +sha256 82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded perl-5.34.0.tar.xz -# Hashes from: https://github.com/arsv/perl-cross/releases/download/1.3.5/perl-cross-1.3.5.hash -sha256 91c66f6b2b99fccfd4fee14660b677380b0c98f9456359e91449798c2ad2ef25 perl-cross-1.3.5.tar.gz +# Hashes from: https://github.com/arsv/perl-cross/releases/download/1.3.6/perl-cross-1.3.6.hash +sha256 4010f41870d64e3957b4b8ce70ebba10a7c4a3e86c5551acb4099c3fcbb37ce5 perl-cross-1.3.6.tar.gz # Locally calculated sha256 dd90d4f42e4dcadf5a7c09eea0189d93c7b37ae560c91f0f6d5233ed3b9292a2 Artistic diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 0ff288db0e0..d7f9c58ddda 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -5,16 +5,17 @@ ################################################################################ # When updating the version here, also update utils/scancpan -PERL_VERSION_MAJOR = 32 -PERL_VERSION = 5.$(PERL_VERSION_MAJOR).1 +PERL_VERSION_MAJOR = 34 +PERL_VERSION = 5.$(PERL_VERSION_MAJOR).0 PERL_SITE = https://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz PERL_LICENSE = Artistic or GPL-1.0+ PERL_LICENSE_FILES = Artistic Copying README +PERL_CPE_ID_VENDOR = perl PERL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 1.3.5 +PERL_CROSS_VERSION = 1.3.6 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz @@ -79,7 +80,7 @@ endif define PERL_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) HOSTCC='$(HOSTCC_NOCCACHE)' \ ./configure $(PERL_CONF_OPTS)) - $(SED) 's/UNKNOWN-/Buildroot $(BR2_VERSION_FULL) /' $(@D)/patchlevel.h + $(SED) 's/UNKNOWN-/Buildroot $(subst /,\/,$(BR2_VERSION_FULL)) /' $(@D)/patchlevel.h endef define PERL_BUILD_CMDS diff --git a/package/phidgetwebservice/phidgetwebservice.hash b/package/phidgetwebservice/phidgetwebservice.hash index e369049c1cb..49017f29941 100644 --- a/package/phidgetwebservice/phidgetwebservice.hash +++ b/package/phidgetwebservice/phidgetwebservice.hash @@ -1,3 +1,3 @@ # locally computed -sha256 904af15ecd13ae4e807ed8af181e3a4521e59f8f3791be0aa4ceb1afdbf764a2 phidgetwebservice_2.1.8.20170607.tar.gz +sha256 aa63cbd2ab87182d6e0c05d553ee4c8cc73d268516d8e0a1e881baed391c081d phidgetwebservice_2.1.9.20190409.tar.gz sha256 ea8af5e789cb2d4e9b10bce3874982ade163b749b6bfbdb32e2df21c4d106de1 COPYING diff --git a/package/phidgetwebservice/phidgetwebservice.mk b/package/phidgetwebservice/phidgetwebservice.mk index bdcc388b268..b5f335c4ec7 100644 --- a/package/phidgetwebservice/phidgetwebservice.mk +++ b/package/phidgetwebservice/phidgetwebservice.mk @@ -4,9 +4,9 @@ # ################################################################################ -PHIDGETWEBSERVICE_VERSION = 2.1.8.20170607 +PHIDGETWEBSERVICE_VERSION = 2.1.9.20190409 PHIDGETWEBSERVICE_SOURCE = phidgetwebservice_$(PHIDGETWEBSERVICE_VERSION).tar.gz -PHIDGETWEBSERVICE_SITE = http://www.phidgets.com/downloads/libraries +PHIDGETWEBSERVICE_SITE = https://www.phidgets.com/downloads/phidget21/servers/linux/phidgetwebservice PHIDGETWEBSERVICE_DEPENDENCIES = libphidget PHIDGETWEBSERVICE_LICENSE = LGPL-3.0 PHIDGETWEBSERVICE_LICENSE_FILES = COPYING diff --git a/package/php-amqp/0001-add-build-support-for-php-8.patch b/package/php-amqp/0001-add-build-support-for-php-8.patch new file mode 100644 index 00000000000..6fe09ad3bde --- /dev/null +++ b/package/php-amqp/0001-add-build-support-for-php-8.patch @@ -0,0 +1,54 @@ +From 96cd5cb5eddd3db2faaa3643dad2fe4677d7c438 Mon Sep 17 00:00:00 2001 +From: mmokhi +Date: Thu, 30 Jul 2020 11:25:33 +0200 +Subject: [PATCH] Add build support for PHP8.0 (#381) + +From upstream commit: 96cd5cb5eddd3db2faaa3643dad2fe4677d7c438 + +Signed-off-by: mmokhi +Signed-off-by: Adam Duskett +--- + amqp_envelope.h | 7 +++++++ + php7_support.h | 11 +++++++++++ + 2 files changed, 18 insertions(+) + +diff --git a/amqp_envelope.h b/amqp_envelope.h +index e63a3a5..e315682 100644 +--- a/amqp_envelope.h ++++ b/amqp_envelope.h +@@ -20,6 +20,13 @@ + | - Jonathan Tansavatdi | + +----------------------------------------------------------------------+ + */ ++ ++#if PHP_MAJOR_VERSION >= 7 ++ #include "php7_support.h" ++#else ++ #include "php5_support.h" ++#endif ++ + extern zend_class_entry *amqp_envelope_class_entry; + + void convert_amqp_envelope_to_zval(amqp_envelope_t *amqp_envelope, zval *envelope TSRMLS_DC); +diff --git a/php7_support.h b/php7_support.h +index 47ce983..c9e8f5b 100644 +--- a/php7_support.h ++++ b/php7_support.h +@@ -101,6 +101,17 @@ typedef zval PHP5to7_zend_resource_le_t; + + #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL + ++/* Small change to let it build after a major internal change for php8.0 ++ * More info: ++ * https://github.com/php/php-src/blob/php-8.0.0alpha3/UPGRADING.INTERNALS#L47 ++ */ ++#if PHP_MAJOR_VERSION >= 8 ++# define TSRMLS_DC ++# define TSRMLS_D ++# define TSRMLS_CC ++# define TSRMLS_C ++# endif ++ + #endif //PHP_AMQP_PHP7_SUPPORT_H + + /* diff --git a/package/php-amqp/0002-more-work-for-php-8.patch b/package/php-amqp/0002-more-work-for-php-8.patch new file mode 100644 index 00000000000..3651f5a0d3b --- /dev/null +++ b/package/php-amqp/0002-more-work-for-php-8.patch @@ -0,0 +1,1265 @@ +From df1241852b359cf12c346beaa68de202257efdf1 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Wed, 9 Dec 2020 17:00:46 +0100 +Subject: [PATCH] more work for PHP 8 (#383) + +* more work for PHP 8 + +* split test + +Signed-off-by: Remi Collet +Signed-off-by: Adam Duskett +--- + amqp_basic_properties.c | 84 +++++++++++++-------------- + amqp_channel.c | 49 +++++++++------- + amqp_connection.c | 106 +++++++++++++++++----------------- + amqp_connection_resource.c | 12 ++-- + amqp_decimal.c | 8 +-- + amqp_envelope.c | 12 ++-- + amqp_exchange.c | 22 +++---- + amqp_queue.c | 38 ++++++------ + amqp_timestamp.c | 6 +- + amqp_type.c | 6 +- + php5_support.h | 2 + + php7_support.h | 9 +++ + php_amqp.h | 8 +-- + tests/amqptimestamp.phpt | 4 +- + tests/amqptimestamp_php8.phpt | 60 +++++++++++++++++++ + tests/bug_61533.phpt | 2 +- + 16 files changed, 254 insertions(+), 174 deletions(-) + create mode 100644 tests/amqptimestamp_php8.phpt + +diff --git a/amqp_basic_properties.c b/amqp_basic_properties.c +index 69b813e..5375f44 100644 +--- a/amqp_basic_properties.c ++++ b/amqp_basic_properties.c +@@ -70,7 +70,7 @@ void php_amqp_basic_properties_set_empty_headers(zval *obj TSRMLS_DC) { + PHP5to7_MAYBE_INIT(headers); + PHP5to7_ARRAY_INIT(headers); + +- zend_update_property(this_ce, obj, ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); + + PHP5to7_MAYBE_DESTROY(headers); + } +@@ -118,29 +118,29 @@ static PHP_METHOD(AMQPBasicProperties, __construct) { + ) == FAILURE) { + return; + } +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("content_type"), content_type, content_type_len TSRMLS_CC); +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("content_encoding"), content_encoding, content_encoding_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("content_type"), content_type, content_type_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("content_encoding"), content_encoding, content_encoding_len TSRMLS_CC); + + if (headers != NULL) { +- zend_update_property(this_ce, getThis(), ZEND_STRL("headers"), headers TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("headers"), headers TSRMLS_CC); + } else { + php_amqp_basic_properties_set_empty_headers(getThis() TSRMLS_CC); + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("delivery_mode"), delivery_mode TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("priority"), priority TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("delivery_mode"), delivery_mode TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("priority"), priority TSRMLS_CC); + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("correlation_id"), correlation_id, correlation_id_len TSRMLS_CC); +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("reply_to"), reply_to, reply_to_len TSRMLS_CC); +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("expiration"), expiration, expiration_len TSRMLS_CC); +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("message_id"), message_id, message_id_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("correlation_id"), correlation_id, correlation_id_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("reply_to"), reply_to, reply_to_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("expiration"), expiration, expiration_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("message_id"), message_id, message_id_len TSRMLS_CC); + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("timestamp"), timestamp TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("timestamp"), timestamp TSRMLS_CC); + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("type"), type, type_len TSRMLS_CC); +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("user_id"), user_id, user_id_len TSRMLS_CC); +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("app_id"), app_id, app_id_len TSRMLS_CC); +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cluster_id"), cluster_id, cluster_id_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("type"), type, type_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("user_id"), user_id, user_id_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("app_id"), app_id, app_id_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cluster_id"), cluster_id, cluster_id_len TSRMLS_CC); + } + /* }}} */ + +@@ -460,7 +460,7 @@ void parse_amqp_table(amqp_table_t *table, zval *result TSRMLS_DC) { + object_init_ex(PHP5to7_MAYBE_PTR(value), amqp_timestamp_class_entry); + + zend_call_method_with_1_params( +- &value, ++ PHP5to8_OBJ_PROP(&value), + amqp_timestamp_class_entry, + NULL, + "__construct", +@@ -488,7 +488,7 @@ void parse_amqp_table(amqp_table_t *table, zval *result TSRMLS_DC) { + object_init_ex(PHP5to7_MAYBE_PTR(value), amqp_decimal_class_entry); + + zend_call_method_with_2_params( +- &value, ++ PHP5to8_OBJ_PROP(&value), + amqp_decimal_class_entry, + NULL, + "__construct", +@@ -525,93 +525,93 @@ void php_amqp_basic_properties_extract(amqp_basic_properties_t *p, zval *obj TSR + PHP5to7_ARRAY_INIT(headers); + + if (p->_flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_type"), (const char *) p->content_type.bytes, (PHP5to7_param_str_len_type_t) p->content_type.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_type"), (const char *) p->content_type.bytes, (PHP5to7_param_str_len_type_t) p->content_type.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_type"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_type"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_CONTENT_ENCODING_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_encoding"), (const char *) p->content_encoding.bytes, (PHP5to7_param_str_len_type_t) p->content_encoding.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_encoding"), (const char *) p->content_encoding.bytes, (PHP5to7_param_str_len_type_t) p->content_encoding.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_encoding"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_encoding"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_HEADERS_FLAG) { + parse_amqp_table(&(p->headers), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); + } + +- zend_update_property(this_ce, obj, ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); + + if (p->_flags & AMQP_BASIC_DELIVERY_MODE_FLAG) { +- zend_update_property_long(this_ce, obj, ZEND_STRL("delivery_mode"), (PHP5to7_param_long_type_t) p->delivery_mode TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("delivery_mode"), (PHP5to7_param_long_type_t) p->delivery_mode TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_long(this_ce, obj, ZEND_STRL("delivery_mode"), AMQP_DELIVERY_NONPERSISTENT TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("delivery_mode"), AMQP_DELIVERY_NONPERSISTENT TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_PRIORITY_FLAG) { +- zend_update_property_long(this_ce, obj, ZEND_STRL("priority"), (PHP5to7_param_long_type_t) p->priority TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("priority"), (PHP5to7_param_long_type_t) p->priority TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_long(this_ce, obj, ZEND_STRL("priority"), 0 TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("priority"), 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_CORRELATION_ID_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("correlation_id"), (const char *) p->correlation_id.bytes, (PHP5to7_param_str_len_type_t) p->correlation_id.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("correlation_id"), (const char *) p->correlation_id.bytes, (PHP5to7_param_str_len_type_t) p->correlation_id.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("correlation_id"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("correlation_id"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_REPLY_TO_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("reply_to"), (const char *) p->reply_to.bytes, (PHP5to7_param_str_len_type_t) p->reply_to.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("reply_to"), (const char *) p->reply_to.bytes, (PHP5to7_param_str_len_type_t) p->reply_to.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("reply_to"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("reply_to"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_EXPIRATION_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("expiration"), (const char *) p->expiration.bytes, (PHP5to7_param_str_len_type_t) p->expiration.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("expiration"), (const char *) p->expiration.bytes, (PHP5to7_param_str_len_type_t) p->expiration.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("expiration"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("expiration"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_MESSAGE_ID_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("message_id"), (const char *) p->message_id.bytes, (PHP5to7_param_str_len_type_t) p->message_id.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("message_id"), (const char *) p->message_id.bytes, (PHP5to7_param_str_len_type_t) p->message_id.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("message_id"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("message_id"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_TIMESTAMP_FLAG) { +- zend_update_property_long(this_ce, obj, ZEND_STRL("timestamp"), (PHP5to7_param_long_type_t) p->timestamp TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("timestamp"), (PHP5to7_param_long_type_t) p->timestamp TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_long(this_ce, obj, ZEND_STRL("timestamp"), 0 TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("timestamp"), 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_TYPE_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("type"), (const char *) p->type.bytes, (PHP5to7_param_str_len_type_t) p->type.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("type"), (const char *) p->type.bytes, (PHP5to7_param_str_len_type_t) p->type.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("type"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("type"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_USER_ID_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("user_id"), (const char *) p->user_id.bytes, (PHP5to7_param_str_len_type_t) p->user_id.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("user_id"), (const char *) p->user_id.bytes, (PHP5to7_param_str_len_type_t) p->user_id.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("user_id"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("user_id"), "", 0 TSRMLS_CC); + } + + if (p->_flags & AMQP_BASIC_APP_ID_FLAG) { +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("app_id"), (const char *) p->app_id.bytes, (PHP5to7_param_str_len_type_t) p->app_id.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("app_id"), (const char *) p->app_id.bytes, (PHP5to7_param_str_len_type_t) p->app_id.len TSRMLS_CC); + } else { + /* BC */ +- zend_update_property_stringl(this_ce, obj, ZEND_STRL("app_id"), "", 0 TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("app_id"), "", 0 TSRMLS_CC); + } + + PHP5to7_MAYBE_DESTROY(headers); +diff --git a/amqp_channel.c b/amqp_channel.c +index ef9552a..493c6d3 100644 +--- a/amqp_channel.c ++++ b/amqp_channel.c +@@ -152,10 +152,15 @@ static zval * php_amqp_get_fci_gc_data(zend_fcall_info *fci, zval *gc_data) { + return gc_data; + } + ++#if PHP_MAJOR_VERSION < 8 + static HashTable *amqp_channel_gc(zval *object, zval **table, int *n) /* {{{ */ + { +- amqp_channel_object *channel = PHP_AMQP_GET_CHANNEL(object); +- ++ amqp_channel_object *channel = PHP_AMQP_GET_CHANNEL(object); ++#else ++static HashTable *amqp_channel_gc(zend_object *object, zval **table, int *n) /* {{{ */ ++{ ++ amqp_channel_object *channel = php_amqp_channel_object_fetch(object); ++#endif + int basic_return_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_return.fci); + int basic_ack_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_ack.fci); + int basic_nack_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_nack.fci); +@@ -249,7 +254,7 @@ static HashTable *amqp_channel_gc(zval *object, zval ***table, int *n TSRMLS_DC) + *table = channel->gc_data; + *n = cnt; + +- return zend_std_get_properties(object TSRMLS_CC); ++ return zend_std_get_properties(PHP5to8_OBJ_PROP(object) TSRMLS_CC); + } /* }}} */ + + #endif +@@ -331,7 +336,7 @@ static PHP_METHOD(amqp_channel_class, __construct) + amqp_connection_object *connection; + + /* Parse out the method parameters */ +- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &connection_object) == FAILURE) { ++ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &connection_object, amqp_connection_class_entry) == FAILURE) { + zend_throw_exception(amqp_channel_exception_class_entry, "Parameter must be an instance of AMQPConnection.", 0 TSRMLS_CC); + RETURN_NULL(); + } +@@ -341,7 +346,7 @@ static PHP_METHOD(amqp_channel_class, __construct) + PHP5to7_MAYBE_INIT(consumers); + PHP5to7_ARRAY_INIT(consumers); + +- zend_update_property(this_ce, getThis(), ZEND_STRL("consumers"), PHP5to7_MAYBE_PTR(consumers) TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumers"), PHP5to7_MAYBE_PTR(consumers) TSRMLS_CC); + + PHP5to7_MAYBE_DESTROY(consumers); + +@@ -351,16 +356,16 @@ static PHP_METHOD(amqp_channel_class, __construct) + #endif + + /* Set the prefetch count */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), INI_INT("amqp.prefetch_count") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), INI_INT("amqp.prefetch_count") TSRMLS_CC); + + /* Set the prefetch size */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), INI_INT("amqp.prefetch_size") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), INI_INT("amqp.prefetch_size") TSRMLS_CC); + + /* Set the global prefetch count */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), INI_INT("amqp.global_prefetch_count") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), INI_INT("amqp.global_prefetch_count") TSRMLS_CC); + + /* Set the global prefetch size */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), INI_INT("amqp.global_prefetch_size") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), INI_INT("amqp.global_prefetch_size") TSRMLS_CC); + + /* Pull out and verify the connection */ + connection = PHP_AMQP_GET_CONNECTION(connection_object); +@@ -376,7 +381,7 @@ static PHP_METHOD(amqp_channel_class, __construct) + return; + } + +- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), connection_object TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), connection_object TSRMLS_CC); + + channel_resource = (amqp_channel_resource*)ecalloc(1, sizeof(amqp_channel_resource)); + channel->channel_resource = channel_resource; +@@ -580,8 +585,8 @@ static PHP_METHOD(amqp_channel_class, setPrefetchCount) + } + + /* Set the prefetch count - the implication is to disable the size */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), 0 TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), 0 TSRMLS_CC); + + RETURN_TRUE; + } +@@ -659,8 +664,8 @@ static PHP_METHOD(amqp_channel_class, setPrefetchSize) + } + + /* Set the prefetch size - the implication is to disable the count */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), 0 TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), 0 TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); + + RETURN_TRUE; + } +@@ -715,8 +720,8 @@ static PHP_METHOD(amqp_channel_class, setGlobalPrefetchCount) + } + + /* Set the global prefetch count - the implication is to disable the size */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), global_prefetch_count TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), 0 TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), global_prefetch_count TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), 0 TSRMLS_CC); + + RETURN_TRUE; + } +@@ -771,8 +776,8 @@ static PHP_METHOD(amqp_channel_class, setGlobalPrefetchSize) + } + + /* Set the global prefetch size - the implication is to disable the count */ +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), 0 TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), global_prefetch_size TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), 0 TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), global_prefetch_size TSRMLS_CC); + + RETURN_TRUE; + } +@@ -808,11 +813,11 @@ static PHP_METHOD(amqp_channel_class, qos) + + /* Set the prefetch size and prefetch count */ + if (global) { +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), prefetch_size TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), prefetch_count TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), prefetch_size TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), prefetch_count TSRMLS_CC); + } else { +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); + } + + /* If we are already connected, set the new prefetch count */ +diff --git a/amqp_connection.c b/amqp_connection.c +index 5891a4f..466501a 100644 +--- a/amqp_connection.c ++++ b/amqp_connection.c +@@ -68,9 +68,9 @@ zend_object_handlers amqp_connection_object_handlers; + convert_to_string(PHP5to7_MAYBE_DEREF(zdata)); \ + } \ + if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { \ +- zend_update_property_string(this_ce, getThis(), ZEND_STRL(name), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ ++ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ + } else { \ +- zend_update_property_string(this_ce, getThis(), ZEND_STRL(name), INI_STR("amqp." name) TSRMLS_CC); \ ++ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), INI_STR("amqp." name) TSRMLS_CC); \ + } + + #define PHP_AMQP_EXTRACT_CONNECTION_BOOL(name) \ +@@ -80,9 +80,9 @@ zend_object_handlers amqp_connection_object_handlers; + convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); \ + } \ + if (zdata) { \ +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL(name), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ + } else { \ +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL(name), INI_INT("amqp." name) TSRMLS_CC); \ ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), INI_INT("amqp." name) TSRMLS_CC); \ + } + + static int php_amqp_connection_resource_deleter(PHP5to7_zend_resource_le_t *el, amqp_connection_resource *connection_resource TSRMLS_DC) +@@ -344,13 +344,13 @@ static PHP_METHOD(amqp_connection_class, __construct) + /* Validate the given login */ + if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { + if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { +- zend_update_property(this_ce, getThis(), ZEND_STRL("login"), PHP5to7_MAYBE_DEREF(zdata)TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), PHP5to7_MAYBE_DEREF(zdata)TSRMLS_CC); + } else { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'login' exceeds 128 character limit.", 0 TSRMLS_CC); + return; + } + } else { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("login"), INI_STR("amqp.login"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.login")) > 128 ? 128 : strlen(INI_STR("amqp.login"))) TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), INI_STR("amqp.login"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.login")) > 128 ? 128 : strlen(INI_STR("amqp.login"))) TSRMLS_CC); + } + + /* Pull the password out of the $params array */ +@@ -362,13 +362,13 @@ static PHP_METHOD(amqp_connection_class, __construct) + /* Validate the given password */ + if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { + if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } else { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'password' exceeds 128 character limit.", 0 TSRMLS_CC); + return; + } + } else { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), INI_STR("amqp.password"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.password")) > 128 ? 128 : strlen(INI_STR("amqp.password"))) TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), INI_STR("amqp.password"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.password")) > 128 ? 128 : strlen(INI_STR("amqp.password"))) TSRMLS_CC); + } + + /* Pull the host out of the $params array */ +@@ -380,13 +380,13 @@ static PHP_METHOD(amqp_connection_class, __construct) + /* Validate the given host */ + if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { + if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } else { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'host' exceeds 128 character limit.", 0 TSRMLS_CC); + return; + } + } else { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), INI_STR("amqp.host"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.host")) > 128 ? 128 : strlen(INI_STR("amqp.host"))) TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), INI_STR("amqp.host"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.host")) > 128 ? 128 : strlen(INI_STR("amqp.host"))) TSRMLS_CC); + } + + /* Pull the vhost out of the $params array */ +@@ -398,25 +398,25 @@ static PHP_METHOD(amqp_connection_class, __construct) + /* Validate the given vhost */ + if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { + if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } else { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'vhost' exceeds 128 character limit.", 0 TSRMLS_CC); + return; + } + } else { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), INI_STR("amqp.vhost"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.vhost")) > 128 ? 128 : strlen(INI_STR("amqp.vhost"))) TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), INI_STR("amqp.vhost"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.vhost")) > 128 ? 128 : strlen(INI_STR("amqp.vhost"))) TSRMLS_CC); + + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), INI_INT("amqp.port") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), INI_INT("amqp.port") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "port", sizeof("port"), zdata)) { + SEPARATE_ZVAL(zdata); + convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "read_timeout", sizeof("read_timeout"), zdata)) { + SEPARATE_ZVAL(zdata); +@@ -424,7 +424,7 @@ static PHP_METHOD(amqp_connection_class, __construct) + if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'read_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); + } else { +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "timeout", sizeof("timeout"), zdata)) { +@@ -441,7 +441,7 @@ static PHP_METHOD(amqp_connection_class, __construct) + if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); + } else { +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + } else { + +@@ -450,17 +450,17 @@ static PHP_METHOD(amqp_connection_class, __construct) + php_error_docref(NULL TSRMLS_CC, E_DEPRECATED, "INI setting 'amqp.timeout' is deprecated; use 'amqp.read_timeout' instead"); + + if (strcmp(DEFAULT_READ_TIMEOUT, INI_STR("amqp.read_timeout")) == 0) { +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.timeout") TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.timeout") TSRMLS_CC); + } else { + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "INI setting 'amqp.read_timeout' will be used instead of 'amqp.timeout'"); +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); + } + } else { +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); + } + } + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), INI_FLT("amqp.write_timeout") TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), INI_FLT("amqp.write_timeout") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "write_timeout", sizeof("write_timeout"), zdata)) { + SEPARATE_ZVAL(zdata); +@@ -468,11 +468,11 @@ static PHP_METHOD(amqp_connection_class, __construct) + if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'write_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); + } else { +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + } + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), INI_FLT("amqp.rpc_timeout") TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), INI_FLT("amqp.rpc_timeout") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "rpc_timeout", sizeof("rpc_timeout"), zdata)) { + SEPARATE_ZVAL(zdata); +@@ -480,11 +480,11 @@ static PHP_METHOD(amqp_connection_class, __construct) + if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'rpc_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); + } else { +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + } + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("connect_timeout"), INI_FLT("amqp.connect_timeout") TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connect_timeout"), INI_FLT("amqp.connect_timeout") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "connect_timeout", sizeof("connect_timeout"), zdata)) { + SEPARATE_ZVAL(zdata); +@@ -492,12 +492,12 @@ static PHP_METHOD(amqp_connection_class, __construct) + if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'connect_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); + } else { +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("connect_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connect_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + + } + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), INI_INT("amqp.channel_max") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), INI_INT("amqp.channel_max") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "channel_max", sizeof("channel_max"), zdata)) { + SEPARATE_ZVAL(zdata); +@@ -506,14 +506,14 @@ static PHP_METHOD(amqp_connection_class, __construct) + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'channel_max' is out of range.", 0 TSRMLS_CC); + } else { + if(Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) == 0) { +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), PHP_AMQP_DEFAULT_CHANNEL_MAX TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), PHP_AMQP_DEFAULT_CHANNEL_MAX TSRMLS_CC); + } else { +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + } + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), INI_INT("amqp.frame_max") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), INI_INT("amqp.frame_max") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "frame_max", sizeof("frame_max"), zdata)) { + SEPARATE_ZVAL(zdata); +@@ -522,14 +522,14 @@ static PHP_METHOD(amqp_connection_class, __construct) + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'frame_max' is out of range.", 0 TSRMLS_CC); + } else { + if(Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) == 0) { +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), PHP_AMQP_DEFAULT_FRAME_MAX TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), PHP_AMQP_DEFAULT_FRAME_MAX TSRMLS_CC); + } else { +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + } + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("heartbeat"), INI_INT("amqp.heartbeat") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("heartbeat"), INI_INT("amqp.heartbeat") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "heartbeat", sizeof("heartbeat"), zdata)) { + SEPARATE_ZVAL(zdata); +@@ -537,16 +537,16 @@ static PHP_METHOD(amqp_connection_class, __construct) + if (Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0 || Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) > PHP_AMQP_MAX_HEARTBEAT) { + zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'heartbeat' is out of range.", 0 TSRMLS_CC); + } else { +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("heartbeat"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("heartbeat"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), INI_INT("amqp.sasl_method") TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), INI_INT("amqp.sasl_method") TSRMLS_CC); + + if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "sasl_method", sizeof("sasl_method"), zdata)) { + SEPARATE_ZVAL(zdata); + convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + + +@@ -563,7 +563,7 @@ static PHP_METHOD(amqp_connection_class, __construct) + convert_to_string(PHP5to7_MAYBE_DEREF(zdata)); + } + if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { +- zend_update_property_string(this_ce, getThis(), ZEND_STRL("connection_name"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); ++ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); + } + } + /* }}} */ +@@ -789,7 +789,7 @@ static PHP_METHOD(amqp_connection_class, setLogin) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("login"), login, login_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), login, login_len TSRMLS_CC); + + RETURN_TRUE; + } +@@ -823,7 +823,7 @@ static PHP_METHOD(amqp_connection_class, setPassword) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), password, password_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), password, password_len TSRMLS_CC); + + RETURN_TRUE; + } +@@ -858,7 +858,7 @@ static PHP_METHOD(amqp_connection_class, setHost) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), host, host_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), host, host_len TSRMLS_CC); + + RETURN_TRUE; + } +@@ -910,7 +910,7 @@ static PHP_METHOD(amqp_connection_class, setPort) + return; + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), port TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), port TSRMLS_CC); + + RETURN_TRUE; + } +@@ -943,7 +943,7 @@ static PHP_METHOD(amqp_connection_class, setVhost) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), vhost, vhost_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), vhost, vhost_len TSRMLS_CC); + + RETURN_TRUE; + } +@@ -986,7 +986,7 @@ static PHP_METHOD(amqp_connection_class, setTimeout) + /* Get the connection object out of the store */ + connection = PHP_AMQP_GET_CONNECTION(getThis()); + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); + + if (connection->connection_resource && connection->connection_resource->is_connected) { + if (php_amqp_set_resource_read_timeout(connection->connection_resource, read_timeout TSRMLS_CC) == 0) { +@@ -1032,7 +1032,7 @@ static PHP_METHOD(amqp_connection_class, setReadTimeout) + /* Get the connection object out of the store */ + connection = PHP_AMQP_GET_CONNECTION(getThis()); + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); + + if (connection->connection_resource && connection->connection_resource->is_connected) { + if (php_amqp_set_resource_read_timeout(connection->connection_resource, read_timeout TSRMLS_CC) == 0) { +@@ -1078,7 +1078,7 @@ static PHP_METHOD(amqp_connection_class, setWriteTimeout) + /* Get the connection object out of the store */ + connection = PHP_AMQP_GET_CONNECTION(getThis()); + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), write_timeout TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), write_timeout TSRMLS_CC); + + if (connection->connection_resource && connection->connection_resource->is_connected) { + if (php_amqp_set_resource_write_timeout(connection->connection_resource, write_timeout TSRMLS_CC) == 0) { +@@ -1124,7 +1124,7 @@ static PHP_METHOD(amqp_connection_class, setRpcTimeout) + /* Get the connection object out of the store */ + connection = PHP_AMQP_GET_CONNECTION(getThis()); + +- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), rpc_timeout TSRMLS_CC); ++ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), rpc_timeout TSRMLS_CC); + + if (connection->connection_resource && connection->connection_resource->is_connected) { + if (php_amqp_set_resource_rpc_timeout(connection->connection_resource, rpc_timeout TSRMLS_CC) == 0) { +@@ -1255,7 +1255,7 @@ static PHP_METHOD(amqp_connection_class, setCACert) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cacert"), str, str_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cacert"), str, str_len TSRMLS_CC); + + RETURN_TRUE; + } +@@ -1279,7 +1279,7 @@ static PHP_METHOD(amqp_connection_class, setCert) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cert"), str, str_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cert"), str, str_len TSRMLS_CC); + + RETURN_TRUE; + } +@@ -1303,7 +1303,7 @@ static PHP_METHOD(amqp_connection_class, setKey) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("key"), str, str_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("key"), str, str_len TSRMLS_CC); + + RETURN_TRUE; + } +@@ -1328,7 +1328,7 @@ static PHP_METHOD(amqp_connection_class, setVerify) + return; + } + +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("verify"), verify TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("verify"), verify TSRMLS_CC); + + RETURN_TRUE; + } +@@ -1361,7 +1361,7 @@ static PHP_METHOD(amqp_connection_class, setSaslMethod) + return; + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), method TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), method TSRMLS_CC); + + RETURN_TRUE; + } +@@ -1385,9 +1385,9 @@ static PHP_METHOD(amqp_connection_class, setConnectionName) + return; + } + if (str == NULL) { +- zend_update_property_null(this_ce, getThis(), ZEND_STRL("connection_name") TSRMLS_CC); ++ zend_update_property_null(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name") TSRMLS_CC); + } else { +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("connection_name"), str, str_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name"), str, str_len TSRMLS_CC); + } + + +diff --git a/amqp_connection_resource.c b/amqp_connection_resource.c +index 7e20a5c..b0e065a 100644 +--- a/amqp_connection_resource.c ++++ b/amqp_connection_resource.c +@@ -112,15 +112,15 @@ static void php_amqp_close_connection_from_server(amqp_rpc_reply_t reply, char * + + if (!reply.reply.id) { + PHP_AMQP_G(error_code) = -1; +- spprintf(message, 0, "Server connection error: %d, message: %s", +- PHP_AMQP_G(error_code), ++ spprintf(message, 0, "Server connection error: %ld, message: %s", ++ (long)PHP_AMQP_G(error_code), + "unexpected response" + ); + } else { + PHP_AMQP_G(error_code) = m->reply_code; + spprintf(message, 0, "Server connection error: %d, message: %.*s", + m->reply_code, +- (PHP5to7_param_str_len_type_t) m->reply_text.len, ++ (int) m->reply_text.len, + (char *) m->reply_text.bytes + ); + } +@@ -156,15 +156,15 @@ static void php_amqp_close_channel_from_server(amqp_rpc_reply_t reply, char **me + + if (!reply.reply.id) { + PHP_AMQP_G(error_code) = -1; +- spprintf(message, 0, "Server channel error: %d, message: %s", +- PHP_AMQP_G(error_code), ++ spprintf(message, 0, "Server channel error: %ld, message: %s", ++ (long)PHP_AMQP_G(error_code), + "unexpected response" + ); + } else { + PHP_AMQP_G(error_code) = m->reply_code; + spprintf(message, 0, "Server channel error: %d, message: %.*s", + m->reply_code, +- (PHP5to7_param_str_len_type_t) m->reply_text.len, ++ (int) m->reply_text.len, + (char *)m->reply_text.bytes + ); + } +diff --git a/amqp_decimal.c b/amqp_decimal.c +index 83c9f20..8fd92c1 100644 +--- a/amqp_decimal.c ++++ b/amqp_decimal.c +@@ -53,7 +53,7 @@ static PHP_METHOD(amqp_decimal_class, __construct) + } + + if (exponent > AMQP_DECIMAL_EXPONENT_MAX) { +- zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal exponent value must be less than %u.", AMQP_DECIMAL_EXPONENT_MAX); ++ zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal exponent value must be less than %u.", (unsigned)AMQP_DECIMAL_EXPONENT_MAX); + return; + } + if (significand < AMQP_DECIMAL_SIGNIFICAND_MIN) { +@@ -62,12 +62,12 @@ static PHP_METHOD(amqp_decimal_class, __construct) + } + + if (significand > AMQP_DECIMAL_SIGNIFICAND_MAX) { +- zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal significand value must be less than %u.", AMQP_DECIMAL_SIGNIFICAND_MAX); ++ zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal significand value must be less than %u.", (unsigned)AMQP_DECIMAL_SIGNIFICAND_MAX); + return; + } + +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("exponent"), exponent TSRMLS_CC); +- zend_update_property_long(this_ce, getThis(), ZEND_STRL("significand"), significand TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("exponent"), exponent TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("significand"), significand TSRMLS_CC); + } + /* }}} */ + +diff --git a/amqp_envelope.c b/amqp_envelope.c +index 8127bed..b7a7a45 100644 +--- a/amqp_envelope.c ++++ b/amqp_envelope.c +@@ -67,13 +67,13 @@ void convert_amqp_envelope_to_zval(amqp_envelope_t *amqp_envelope, zval *envelop + amqp_basic_properties_t *p = &amqp_envelope->message.properties; + amqp_message_t *message = &amqp_envelope->message; + +- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("body"), (const char *) message->body.bytes, (PHP5to7_param_str_len_type_t) message->body.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("body"), (const char *) message->body.bytes, (PHP5to7_param_str_len_type_t) message->body.len TSRMLS_CC); + +- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("consumer_tag"), (const char *) amqp_envelope->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->consumer_tag.len TSRMLS_CC); +- zend_update_property_long(this_ce, envelope, ZEND_STRL("delivery_tag"), (PHP5to7_param_long_type_t) amqp_envelope->delivery_tag TSRMLS_CC); +- zend_update_property_bool(this_ce, envelope, ZEND_STRL("is_redelivery"), (PHP5to7_param_long_type_t) amqp_envelope->redelivered TSRMLS_CC); +- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("exchange_name"), (const char *) amqp_envelope->exchange.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->exchange.len TSRMLS_CC); +- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("routing_key"), (const char *) amqp_envelope->routing_key.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->routing_key.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("consumer_tag"), (const char *) amqp_envelope->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->consumer_tag.len TSRMLS_CC); ++ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("delivery_tag"), (PHP5to7_param_long_type_t) amqp_envelope->delivery_tag TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("is_redelivery"), (PHP5to7_param_long_type_t) amqp_envelope->redelivered TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("exchange_name"), (const char *) amqp_envelope->exchange.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->exchange.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("routing_key"), (const char *) amqp_envelope->routing_key.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->routing_key.len TSRMLS_CC); + + php_amqp_basic_properties_extract(p, envelope TSRMLS_CC); + } +diff --git a/amqp_exchange.c b/amqp_exchange.c +index 4f80d3b..4bfe397 100644 +--- a/amqp_exchange.c ++++ b/amqp_exchange.c +@@ -65,20 +65,20 @@ static PHP_METHOD(amqp_exchange_class, __construct) + zval *channelObj; + amqp_channel_resource *channel_resource; + +- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &channelObj) == FAILURE) { ++ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &channelObj, amqp_channel_class_entry) == FAILURE) { + return; + } + + PHP5to7_MAYBE_INIT(arguments); + PHP5to7_ARRAY_INIT(arguments); +- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); + PHP5to7_MAYBE_DESTROY(arguments); + + channel_resource = PHP_AMQP_GET_CHANNEL_RESOURCE(channelObj); + PHP_AMQP_VERIFY_CHANNEL_RESOURCE(channel_resource, "Could not create exchange."); + +- zend_update_property(this_ce, getThis(), ZEND_STRL("channel"), channelObj TSRMLS_CC); +- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel"), channelObj TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); + } + /* }}} */ + +@@ -119,7 +119,7 @@ static PHP_METHOD(amqp_exchange_class, setName) + } + + /* Set the exchange name */ +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("name"), name, name_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name, name_len TSRMLS_CC); + } + /* }}} */ + +@@ -168,10 +168,10 @@ static PHP_METHOD(amqp_exchange_class, setFlags) + /* Set the flags based on the bitmask we were given */ + flagBitmask = flagBitmask ? flagBitmask & PHP_AMQP_EXCHANGE_FLAGS : flagBitmask; + +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("internal"), IS_INTERNAL(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("internal"), IS_INTERNAL(flagBitmask) TSRMLS_CC); + } + /* }}} */ + +@@ -204,7 +204,7 @@ static PHP_METHOD(amqp_exchange_class, setType) + return; + } + +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("type"), type, type_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("type"), type, type_len TSRMLS_CC); + } + /* }}} */ + +@@ -273,7 +273,7 @@ static PHP_METHOD(amqp_exchange_class, setArguments) + return; + } + +- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); + + RETURN_TRUE; + } +diff --git a/amqp_queue.c b/amqp_queue.c +index c13629c..eeba144 100644 +--- a/amqp_queue.c ++++ b/amqp_queue.c +@@ -68,20 +68,20 @@ static PHP_METHOD(amqp_queue_class, __construct) + zval *channelObj; + amqp_channel_resource *channel_resource; + +- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &channelObj) == FAILURE) { ++ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &channelObj, amqp_channel_class_entry) == FAILURE) { + return; + } + + PHP5to7_MAYBE_INIT(arguments); + PHP5to7_ARRAY_INIT(arguments); +- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); + PHP5to7_MAYBE_DESTROY(arguments); + + channel_resource = PHP_AMQP_GET_CHANNEL_RESOURCE(channelObj); + PHP_AMQP_VERIFY_CHANNEL_RESOURCE(channel_resource, "Could not create queue."); + +- zend_update_property(this_ce, getThis(), ZEND_STRL("channel"), channelObj TSRMLS_CC); +- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel"), channelObj TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); + + } + /* }}} */ +@@ -122,7 +122,7 @@ static PHP_METHOD(amqp_queue_class, setName) + } + + /* Set the queue name */ +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("name"), name, name_len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name, name_len TSRMLS_CC); + + /* BC */ + RETURN_TRUE; +@@ -175,10 +175,10 @@ static PHP_METHOD(amqp_queue_class, setFlags) + /* Set the flags based on the bitmask we were given */ + flagBitmask = flagBitmask ? flagBitmask & PHP_AMQP_QUEUE_FLAGS : flagBitmask; + +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("exclusive"), IS_EXCLUSIVE(flagBitmask) TSRMLS_CC); +- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("exclusive"), IS_EXCLUSIVE(flagBitmask) TSRMLS_CC); ++ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); + + /* BC */ + RETURN_TRUE; +@@ -250,7 +250,7 @@ static PHP_METHOD(amqp_queue_class, setArguments) + return; + } + +- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); ++ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); + + RETURN_TRUE; + } +@@ -342,7 +342,7 @@ static PHP_METHOD(amqp_queue_class, declareQueue) + + /* Set the queue name, in case it is an autogenerated queue name */ + name = php_amqp_type_amqp_bytes_to_char(r->queue); +- zend_update_property_string(this_ce, getThis(), ZEND_STRL("name"), name TSRMLS_CC); ++ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name TSRMLS_CC); + efree(name); + + php_amqp_maybe_release_buffers_on_channel(channel_resource->connection_resource, channel_resource); +@@ -525,7 +525,7 @@ static PHP_METHOD(amqp_queue_class, consume) + } + + zval *channel_zv = PHP_AMQP_READ_THIS_PROP("channel"); +- zval *consumers = zend_read_property(amqp_channel_class_entry, channel_zv, ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); ++ zval *consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); + + if (IS_ARRAY != Z_TYPE_P(consumers)) { + zend_throw_exception(amqp_queue_exception_class_entry, "Invalid channel consumers, forgot to call channel constructor?", 0 TSRMLS_CC); +@@ -594,7 +594,7 @@ static PHP_METHOD(amqp_queue_class, consume) + efree(key); + + /* Set the consumer tag name, in case it is an autogenerated consumer tag name */ +- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("consumer_tag"), (const char *) r->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) r->consumer_tag.len TSRMLS_CC); ++ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumer_tag"), (const char *) r->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) r->consumer_tag.len TSRMLS_CC); + } + + if (!ZEND_FCI_INITIALIZED(fci)) { +@@ -674,7 +674,7 @@ static PHP_METHOD(amqp_queue_class, consume) + current_channel_zv = current_channel_resource->parent->this_ptr; + #endif + +- consumers = zend_read_property(amqp_channel_class_entry, PHP5to7_MAYBE_PTR(current_channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); ++ consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(current_channel_zv)), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); + + if (IS_ARRAY != Z_TYPE_P(consumers)) { + zend_throw_exception(amqp_queue_exception_class_entry, "Invalid channel consumers, forgot to call channel constructor?", 0 TSRMLS_CC); +@@ -689,8 +689,8 @@ static PHP_METHOD(amqp_queue_class, consume) + PHP5to7_zval_t exception PHP5to7_MAYBE_SET_TO_NULL; + PHP5to7_MAYBE_INIT(exception); + object_init_ex(PHP5to7_MAYBE_PTR(exception), amqp_envelope_exception_class_entry); +- zend_update_property_string(zend_exception_get_default(TSRMLS_C), PHP5to7_MAYBE_PTR(exception), ZEND_STRL("message"), "Orphaned envelope" TSRMLS_CC); +- zend_update_property(amqp_envelope_exception_class_entry, PHP5to7_MAYBE_PTR(exception), ZEND_STRL("envelope"), PHP5to7_MAYBE_PTR(message) TSRMLS_CC); ++ zend_update_property_string(zend_exception_get_default(TSRMLS_C), PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(exception)), ZEND_STRL("message"), "Orphaned envelope" TSRMLS_CC); ++ zend_update_property(amqp_envelope_exception_class_entry, PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(exception)), ZEND_STRL("envelope"), PHP5to7_MAYBE_PTR(message) TSRMLS_CC); + + zend_throw_exception_object(PHP5to7_MAYBE_PTR(exception) TSRMLS_CC); + +@@ -946,7 +946,7 @@ static PHP_METHOD(amqp_queue_class, cancel) + } + + zval *channel_zv = PHP_AMQP_READ_THIS_PROP("channel"); +- zval *consumers = zend_read_property(amqp_channel_class_entry, channel_zv, ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); ++ zval *consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); + zend_bool has_consumer_tag = (zend_bool) (IS_STRING == Z_TYPE_P(PHP_AMQP_READ_THIS_PROP("consumer_tag"))); + + if (IS_ARRAY != Z_TYPE_P(consumers)) { +@@ -977,8 +977,8 @@ static PHP_METHOD(amqp_queue_class, cancel) + return; + } + +- if (!consumer_tag_len || has_consumer_tag && strcmp(consumer_tag, PHP_AMQP_READ_THIS_PROP_STR("consumer_tag")) != 0) { +- zend_update_property_null(this_ce, getThis(), ZEND_STRL("consumer_tag") TSRMLS_CC); ++ if (!consumer_tag_len || (has_consumer_tag && strcmp(consumer_tag, PHP_AMQP_READ_THIS_PROP_STR("consumer_tag")) != 0)) { ++ zend_update_property_null(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumer_tag") TSRMLS_CC); + } + + char *key; +diff --git a/amqp_timestamp.c b/amqp_timestamp.c +index d9eec39..ed07ab6 100644 +--- a/amqp_timestamp.c ++++ b/amqp_timestamp.c +@@ -61,7 +61,7 @@ static PHP_METHOD(amqp_timestamp_class, __construct) + #if PHP_MAJOR_VERSION >= 7 + zend_string *str; + str = _php_math_number_format_ex(timestamp, 0, "", 0, "", 0); +- zend_update_property_str(this_ce, getThis(), ZEND_STRL("timestamp"), str); ++ zend_update_property_str(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("timestamp"), str); + zend_string_delref(str); + #else + char *str; +@@ -104,7 +104,11 @@ ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_amqp_timestamp_class_getTimestamp, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_END_ARG_INFO() + ++#if PHP_MAJOR_VERSION < 8 + ZEND_BEGIN_ARG_INFO_EX(arginfo_amqp_timestamp_class_toString, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) ++#else ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_amqp_timestamp_class_toString, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, IS_STRING, 0) ++#endif + ZEND_END_ARG_INFO() + + zend_function_entry amqp_timestamp_class_functions[] = { +diff --git a/amqp_type.c b/amqp_type.c +index fb87727..5f1ab91 100644 +--- a/amqp_type.c ++++ b/amqp_type.c +@@ -250,7 +250,7 @@ zend_bool php_amqp_type_internal_convert_php_to_amqp_field_value(zval *value, am + if (instanceof_function(Z_OBJCE_P(value), amqp_timestamp_class_entry TSRMLS_CC)) { + PHP5to7_zval_t result_zv PHP5to7_MAYBE_SET_TO_NULL; + +- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_timestamp_class_entry, NULL, "gettimestamp", &result_zv); ++ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_timestamp_class_entry, NULL, "gettimestamp", &result_zv); + + field->kind = AMQP_FIELD_KIND_TIMESTAMP; + field->value.u64 = strtoimax(Z_STRVAL(PHP5to7_MAYBE_DEREF(result_zv)), NULL, 10); +@@ -262,11 +262,11 @@ zend_bool php_amqp_type_internal_convert_php_to_amqp_field_value(zval *value, am + field->kind = AMQP_FIELD_KIND_DECIMAL; + PHP5to7_zval_t result_zv PHP5to7_MAYBE_SET_TO_NULL; + +- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_decimal_class_entry, NULL, "getexponent", &result_zv); ++ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_decimal_class_entry, NULL, "getexponent", &result_zv); + field->value.decimal.decimals = (uint8_t)Z_LVAL(PHP5to7_MAYBE_DEREF(result_zv)); + PHP5to7_MAYBE_DESTROY(result_zv); + +- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_decimal_class_entry, NULL, "getsignificand", &result_zv); ++ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_decimal_class_entry, NULL, "getsignificand", &result_zv); + field->value.decimal.value = (uint32_t)Z_LVAL(PHP5to7_MAYBE_DEREF(result_zv)); + + PHP5to7_MAYBE_DESTROY(result_zv); +diff --git a/php5_support.h b/php5_support.h +index 5c57620..25c2d96 100644 +--- a/php5_support.h ++++ b/php5_support.h +@@ -109,6 +109,8 @@ typedef zend_rsrc_list_entry PHP5to7_zend_resource_le_t; + #define ZEND_ULONG_FMT "%" PRIu64 + #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL_CLASS + ++#define PHP5to8_OBJ_PROP(zv) (zv) ++ + #endif //PHP_AMQP_PHP5_SUPPORT_H + + /* +diff --git a/php7_support.h b/php7_support.h +index c9e8f5b..0dbd6b2 100644 +--- a/php7_support.h ++++ b/php7_support.h +@@ -101,15 +101,24 @@ typedef zval PHP5to7_zend_resource_le_t; + + #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL + ++ + /* Small change to let it build after a major internal change for php8.0 + * More info: + * https://github.com/php/php-src/blob/php-8.0.0alpha3/UPGRADING.INTERNALS#L47 + */ + #if PHP_MAJOR_VERSION >= 8 ++ + # define TSRMLS_DC + # define TSRMLS_D + # define TSRMLS_CC + # define TSRMLS_C ++ ++#define PHP5to8_OBJ_PROP(zv) Z_OBJ_P(zv) ++ ++#else ++ ++#define PHP5to8_OBJ_PROP(zv) (zv) ++ + # endif + + #endif //PHP_AMQP_PHP7_SUPPORT_H +diff --git a/php_amqp.h b/php_amqp.h +index 752edd7..686741d 100644 +--- a/php_amqp.h ++++ b/php_amqp.h +@@ -221,14 +221,14 @@ struct _amqp_connection_object { + #define PHP_AMQP_NOPARAMS() if (zend_parse_parameters_none() == FAILURE) { return; } + + #define PHP_AMQP_RETURN_THIS_PROP(prop_name) \ +- zval * _zv = zend_read_property(this_ce, getThis(), ZEND_STRL(prop_name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); \ ++ zval * _zv = zend_read_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(prop_name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); \ + RETURN_ZVAL(_zv, 1, 0); + +-#define PHP_AMQP_READ_OBJ_PROP(cls, obj, name) zend_read_property((cls), (obj), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) ++#define PHP_AMQP_READ_OBJ_PROP(cls, obj, name) zend_read_property((cls), PHP5to8_OBJ_PROP(obj), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) + #define PHP_AMQP_READ_OBJ_PROP_DOUBLE(cls, obj, name) Z_DVAL_P(PHP_AMQP_READ_OBJ_PROP((cls), (obj), (name))) + +-#define PHP_AMQP_READ_THIS_PROP_CE(name, ce) zend_read_property((ce), getThis(), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) +-#define PHP_AMQP_READ_THIS_PROP(name) zend_read_property(this_ce, getThis(), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) ++#define PHP_AMQP_READ_THIS_PROP_CE(name, ce) zend_read_property((ce), PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) ++#define PHP_AMQP_READ_THIS_PROP(name) zend_read_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) + #define PHP_AMQP_READ_THIS_PROP_BOOL(name) Z_BVAL_P(PHP_AMQP_READ_THIS_PROP(name)) + #define PHP_AMQP_READ_THIS_PROP_STR(name) Z_STRVAL_P(PHP_AMQP_READ_THIS_PROP(name)) + #define PHP_AMQP_READ_THIS_PROP_STRLEN(name) (Z_TYPE_P(PHP_AMQP_READ_THIS_PROP(name)) == IS_STRING ? Z_STRLEN_P(PHP_AMQP_READ_THIS_PROP(name)) : 0) +diff --git a/tests/amqptimestamp.phpt b/tests/amqptimestamp.phpt +index 9835883..6424f8b 100644 +--- a/tests/amqptimestamp.phpt ++++ b/tests/amqptimestamp.phpt +@@ -2,7 +2,7 @@ + AMQPTimestamp + --SKIPIF-- + ')) { + print "skip"; + } + --FILE-- +@@ -52,4 +52,4 @@ bool(true) + string(20) "18446744073709551616" + string(1) "0" + +-==END== +\ No newline at end of file ++==END== +diff --git a/tests/amqptimestamp_php8.phpt b/tests/amqptimestamp_php8.phpt +new file mode 100644 +index 0000000..dabecc5 +--- /dev/null ++++ b/tests/amqptimestamp_php8.phpt +@@ -0,0 +1,60 @@ ++--TEST-- ++AMQPTimestamp ++--SKIPIF-- ++getTimestamp(), (string) $timestamp); ++ ++$timestamp = new AMQPTimestamp(100000.1); ++var_dump($timestamp->getTimestamp(), (string) $timestamp); ++ ++try { ++ new AMQPTimestamp(); ++} catch(ArgumentCountError $e) { ++ echo $e->getMessage() . "\n"; ++} ++try { ++ new AMQPTimestamp("string"); ++} catch(TypeError $e) { ++ echo $e->getMessage() . "\n"; ++} ++ ++try { ++ new AMQPTimestamp(AMQPTimestamp::MIN - 1); ++} catch (AMQPValueException $e) { ++ echo $e->getMessage() . "\n"; ++} ++ ++try { ++ new AMQPTimestamp(INF); ++} catch (AMQPValueException $e) { ++ echo $e->getMessage() . "\n"; ++} ++ ++var_dump((new ReflectionClass("AMQPTimestamp"))->isFinal()); ++ ++var_dump(AMQPTimestamp::MAX); ++var_dump(AMQPTimestamp::MIN); ++?> ++ ++==END== ++--EXPECTF-- ++string(6) "100000" ++string(6) "100000" ++string(6) "100000" ++string(6) "100000" ++AMQPTimestamp::__construct() expects exactly 1 parameter, 0 given ++AMQPTimestamp::__construct(): Argument #1 ($timestamp) must be of type float, string given ++The timestamp parameter must be greater than 0. ++The timestamp parameter must be less than 18446744073709551616. ++bool(true) ++string(20) "18446744073709551616" ++string(1) "0" ++ ++==END== +diff --git a/tests/bug_61533.phpt b/tests/bug_61533.phpt +index ecb5213..f53c315 100644 +--- a/tests/bug_61533.phpt ++++ b/tests/bug_61533.phpt +@@ -21,4 +21,4 @@ try { + + ?> + --EXPECTF-- +-%s: Argument 1 passed to AMQPQueue::__construct() must be an instance of AMQPChannel, instance of AMQPConnection given%s ++%s AMQPChannel%s AMQPConnection%s diff --git a/package/php-amqp/php-amqp.hash b/package/php-amqp/php-amqp.hash index c061efabb9c..bce8ac0c9ac 100644 --- a/package/php-amqp/php-amqp.hash +++ b/package/php-amqp/php-amqp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b66b8b8264749cb7a69ae4d09665dad1559b6c4f01430206c8e4187bcd8c782d amqp-1.9.4.tgz -sha256 ecd004e9ae3fcf54896b562d5e8008e36041f2620076effd58e5f4187299cee8 LICENSE +sha256 0ebc61052eb12406dddf5eabfe8749a12d52c566816b8aab04fb9916d0c26ed2 amqp-1.10.2.tgz +sha256 ecd004e9ae3fcf54896b562d5e8008e36041f2620076effd58e5f4187299cee8 LICENSE diff --git a/package/php-amqp/php-amqp.mk b/package/php-amqp/php-amqp.mk index c808ecdbd69..981f8274a98 100644 --- a/package/php-amqp/php-amqp.mk +++ b/package/php-amqp/php-amqp.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_AMQP_VERSION = 1.9.4 +PHP_AMQP_VERSION = 1.10.2 PHP_AMQP_SOURCE = amqp-$(PHP_AMQP_VERSION).tgz PHP_AMQP_SITE = https://pecl.php.net/get PHP_AMQP_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-apcu/Config.in b/package/php-apcu/Config.in new file mode 100644 index 00000000000..f8e1eb17bb1 --- /dev/null +++ b/package/php-apcu/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PHP_APCU + bool "php-apcu" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + APCu is an in-memory key-value store for PHP. + + https://pecl.php.net/package/APCu + +comment "php-apcu needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/php-apcu/php-apcu.hash b/package/php-apcu/php-apcu.hash new file mode 100644 index 00000000000..3aae4120d2a --- /dev/null +++ b/package/php-apcu/php-apcu.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 b99d40fafec06f4d132fcee53e7526ddbfc1d041ea6e04e17389dfad28f9c390 apcu-5.1.20.tgz +sha256 ecc8b74820c32fb82ddee80446205408585d75d1632ac959fb3cdf8eaf3877b5 LICENSE diff --git a/package/php-apcu/php-apcu.mk b/package/php-apcu/php-apcu.mk new file mode 100644 index 00000000000..3ac062e772c --- /dev/null +++ b/package/php-apcu/php-apcu.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# php-apcu +# +################################################################################ + +PHP_APCU_VERSION = 5.1.20 +PHP_APCU_SITE = http://pecl.php.net/get +PHP_APCU_SOURCE = apcu-$(PHP_APCU_VERSION).tgz +PHP_APCU_LICENSE = PHP-3.01 +PHP_APCU_LICENSE_FILES = LICENSE +PHP_APCU_DEPENDENCIES = php host-autoconf + +PHP_APCU_CONF_OPTS = \ + --with-php-config=$(STAGING_DIR)/usr/bin/php-config + +define PHP_APCU_PHPIZE + (cd $(@D); \ + PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + $(STAGING_DIR)/usr/bin/phpize) +endef +PHP_APCU_PRE_CONFIGURE_HOOKS += PHP_APCU_PHPIZE + +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),) +PHP_APCU_CONF_OPTS += --disable-apcu-rwlocks +endif + +$(eval $(autotools-package)) diff --git a/package/php-geoip/0001-add-build-support-for-php8.patch b/package/php-geoip/0001-add-build-support-for-php8.patch new file mode 100644 index 00000000000..5672b00ce82 --- /dev/null +++ b/package/php-geoip/0001-add-build-support-for-php8.patch @@ -0,0 +1,35 @@ +From 9500f9964a1ef03890376c61f1b17db88753c8e2 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 28 Jun 2021 12:24:59 -0700 +Subject: [PATCH] add build support for php8 + +Signed-off-by: Adam Duskett +--- + php_geoip.h | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/php_geoip.h b/php_geoip.h +index 2f67cb6..d19d612 100644 +--- a/php_geoip.h ++++ b/php_geoip.h +@@ -30,6 +30,17 @@ extern zend_module_entry geoip_module_entry; + typedef long zend_long; + #endif + ++/* Small change to let it build after a major internal change for php8.0 ++ * More info: ++ * https://github.com/php/php-src/blob/php-8.0.0/UPGRADING.INTERNALS#L47 ++ */ ++#if PHP_MAJOR_VERSION >= 8 ++# define TSRMLS_DC ++# define TSRMLS_D ++# define TSRMLS_CC ++# define TSRMLS_C ++# endif ++ + #ifdef PHP_WIN32 + #define PHP_GEOIP_API __declspec(dllexport) + #else +-- +2.31.1 + diff --git a/package/php-gnupg/0001-Remove-inlining-_phpc_res_close.patch b/package/php-gnupg/0001-Remove-inlining-_phpc_res_close.patch new file mode 100644 index 00000000000..9b94cb7e4f2 --- /dev/null +++ b/package/php-gnupg/0001-Remove-inlining-_phpc_res_close.patch @@ -0,0 +1,33 @@ +From 887b0899d7e7423baec691255c2d8b56bb348ecd Mon Sep 17 00:00:00 2001 +From: Jakub Zelenka +Date: Sun, 14 Mar 2021 18:52:21 +0000 +Subject: [PATCH] Remove inlining _phpc_res_close + +[Retrieved from: +https://github.com/bukka/phpc/commit/887b0899d7e7423baec691255c2d8b56bb348ecd] +Signed-off-by: Fabrice Fontaine +--- + phpc.h | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/phpc/phpc.h b/phpc/phpc.h +index dc5887e..9206105 100644 +--- a/phpc/phpc.h ++++ b/phpc/phpc.h +@@ -945,16 +945,8 @@ typedef zend_resource * phpc_res_value_t; + zend_fetch_resource2(Z_RES_P(_pz_res), _res_type_name, _res_type_1, _res_type_2) + #define PHPC_RES_DELETE(_pz_res) \ + zend_list_delete(Z_RES_P(_pz_res)) +-#if PHP_MAJOR_VERSION < 8 + #define PHPC_RES_CLOSE(_pz_res) \ + zend_list_close(Z_RES_P(_pz_res)) +-#else +-inline int _phpc_res_close(zval *zres) { +- zend_list_close(Z_RES_P(zres)); +- return SUCCESS; +-} +-#define PHPC_RES_CLOSE _phpc_res_close +-#endif + + /* resource to zval */ + #define PHPC_RES_PZVAL(_res, _pzv) \ diff --git a/package/php-gnupg/php-gnupg.hash b/package/php-gnupg/php-gnupg.hash index 8d142cdaafe..99ffe87f461 100644 --- a/package/php-gnupg/php-gnupg.hash +++ b/package/php-gnupg/php-gnupg.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 35e16bee11345a7d6bf57bea3cadf45e371ad1ed4e0218b0c06f6f637e4e1772 gnupg-1.4.0.tgz +sha256 d4f5f79aa483908f3df08e5b343ea3593c6d725b9ed2103e30242627659e0a64 gnupg-1.5.0.tgz sha256 da1136d4d9326317cbd320dadddf7e9b4b4edffd973eb083cb7b9754fb6a15d9 LICENSE diff --git a/package/php-gnupg/php-gnupg.mk b/package/php-gnupg/php-gnupg.mk index ae0a7811540..a89f0978af5 100644 --- a/package/php-gnupg/php-gnupg.mk +++ b/package/php-gnupg/php-gnupg.mk @@ -4,13 +4,13 @@ # ################################################################################ -PHP_GNUPG_VERSION = 1.4.0 +PHP_GNUPG_VERSION = 1.5.0 PHP_GNUPG_SOURCE = gnupg-$(PHP_GNUPG_VERSION).tgz PHP_GNUPG_SITE = https://pecl.php.net/get # phpize does the autoconf magic PHP_GNUPG_DEPENDENCIES = php libgpgme host-autoconf host-pkgconf PHP_GNUPG_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ - --with-gnupg=$(STAGING_DIR)/usr/include --with-gpg=/usr/bin/gpg + --with-gnupg=$(STAGING_DIR)/usr --with-gpg=/usr/bin/gpg PHP_GNUPG_LICENSE = BSD-2-Clause PHP_GNUPG_LICENSE_FILES = LICENSE diff --git a/package/php-imagick/php-imagick.hash b/package/php-imagick/php-imagick.hash index 8b62ed1d9a1..e9158085854 100644 --- a/package/php-imagick/php-imagick.hash +++ b/package/php-imagick/php-imagick.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1f3c5b5eeaa02800ad22f506cd100e8889a66b2ec937e192eaaa30d74562567c imagick-3.4.3.tgz +sha256 795db7c36fbacd3d33a4f53ff2d38584c846e80a04dcd04c55e9e46c28f5d229 imagick-3.5.0.tgz sha256 b6e00df9cb3b91977c0d64a7c4db48cb6f5041f6eeda6583c236775f70a35b78 LICENSE diff --git a/package/php-imagick/php-imagick.mk b/package/php-imagick/php-imagick.mk index ca0cbc7492f..2dc055f0b3f 100644 --- a/package/php-imagick/php-imagick.mk +++ b/package/php-imagick/php-imagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_IMAGICK_VERSION = 3.4.3 +PHP_IMAGICK_VERSION = 3.5.0 PHP_IMAGICK_SOURCE = imagick-$(PHP_IMAGICK_VERSION).tgz PHP_IMAGICK_SITE = http://pecl.php.net/get PHP_IMAGICK_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ @@ -13,6 +13,8 @@ PHP_IMAGICK_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ PHP_IMAGICK_DEPENDENCIES = imagemagick php host-autoconf PHP_IMAGICK_LICENSE = PHP-3.01 PHP_IMAGICK_LICENSE_FILES = LICENSE +PHP_IMAGICK_CPE_ID_VENDOR = php +PHP_IMAGICK_CPE_ID_PRODUCT = imagick define PHP_IMAGICK_PHPIZE (cd $(@D); \ diff --git a/package/php-lua/0001-ZEND_ACC_ALLOW_STATIC-ZEND_ACC_STATIC-for-static-met.patch b/package/php-lua/0001-ZEND_ACC_ALLOW_STATIC-ZEND_ACC_STATIC-for-static-met.patch new file mode 100644 index 00000000000..118c0d07635 --- /dev/null +++ b/package/php-lua/0001-ZEND_ACC_ALLOW_STATIC-ZEND_ACC_STATIC-for-static-met.patch @@ -0,0 +1,28 @@ +From fd775cedbb97b56f0d1b098a41519f4477f450c7 Mon Sep 17 00:00:00 2001 +From: cdosoftei +Date: Mon, 10 Aug 2020 15:37:52 -0400 +Subject: [PATCH] ZEND_ACC_ALLOW_STATIC -> ZEND_ACC_STATIC for static method + +[Hervé: Taken from https://github.com/laruence/php-lua/pull/47 to fix +PHP8 compatibility.] +Signed-off-by: Herve Codina +--- + lua.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lua.c b/lua.c +index b05f4ef..f2648ac 100755 +--- a/lua.c ++++ b/lua.c +@@ -822,7 +822,7 @@ zend_function_entry lua_class_methods[] = { + PHP_ME(lua, include, arginfo_lua_include, ZEND_ACC_PUBLIC) + PHP_ME(lua, call, arginfo_lua_call, ZEND_ACC_PUBLIC) + PHP_ME(lua, assign, arginfo_lua_assign, ZEND_ACC_PUBLIC) +- PHP_ME(lua, getVersion, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_ALLOW_STATIC) ++ PHP_ME(lua, getVersion, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) + PHP_ME(lua, registerCallback, arginfo_lua_register, ZEND_ACC_PUBLIC) + PHP_MALIAS(lua, __call, call, arginfo_lua_call, ZEND_ACC_PUBLIC) + PHP_FE_END +-- +2.31.1 + diff --git a/package/php-lua/0002-php8-explicitly-declare-arginfo.patch b/package/php-lua/0002-php8-explicitly-declare-arginfo.patch new file mode 100644 index 00000000000..5e9c44009fa --- /dev/null +++ b/package/php-lua/0002-php8-explicitly-declare-arginfo.patch @@ -0,0 +1,68 @@ +From 0f5132e09d970cacabcca3bab01405bc25b87d66 Mon Sep 17 00:00:00 2001 +From: cdosoftei +Date: Tue, 11 Aug 2020 12:42:17 -0400 +Subject: [PATCH] php8: explicitly declare arginfo + +[Hervé: Taken from https://github.com/laruence/php-lua/pull/47 to fix +PHP8 compatibility.] +Signed-off-by: Herve Codina +--- + lua.c | 7 +++++-- + lua_closure.c | 5 ++++- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/lua.c b/lua.c +index f2648ac..bbbd623 100755 +--- a/lua.c ++++ b/lua.c +@@ -35,6 +35,9 @@ static zend_object_handlers lua_object_handlers; + /** {{{ ARG_INFO + * + */ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0) ++ZEND_END_ARG_INFO() ++ + ZEND_BEGIN_ARG_INFO_EX(arginfo_lua_call, 0, 0, 2) + ZEND_ARG_INFO(0, method) + ZEND_ARG_INFO(0, args) +@@ -817,12 +820,12 @@ PHP_METHOD(lua, __construct) { + * + */ + zend_function_entry lua_class_methods[] = { +- PHP_ME(lua, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) ++ PHP_ME(lua, __construct, arginfo_void, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) + PHP_ME(lua, eval, arginfo_lua_eval, ZEND_ACC_PUBLIC) + PHP_ME(lua, include, arginfo_lua_include, ZEND_ACC_PUBLIC) + PHP_ME(lua, call, arginfo_lua_call, ZEND_ACC_PUBLIC) + PHP_ME(lua, assign, arginfo_lua_assign, ZEND_ACC_PUBLIC) +- PHP_ME(lua, getVersion, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) ++ PHP_ME(lua, getVersion, arginfo_void, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) + PHP_ME(lua, registerCallback, arginfo_lua_register, ZEND_ACC_PUBLIC) + PHP_MALIAS(lua, __call, call, arginfo_lua_call, ZEND_ACC_PUBLIC) + PHP_FE_END +diff --git a/lua_closure.c b/lua_closure.c +index 50ef039..b0f6780 100644 +--- a/lua_closure.c ++++ b/lua_closure.c +@@ -39,6 +39,9 @@ static zend_object_handlers lua_closure_handlers; + /** {{{ ARG_INFO + * + */ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0) ++ZEND_END_ARG_INFO() ++ + ZEND_BEGIN_ARG_INFO_EX(arginfo_lua_invoke, 0, 0, 1) + ZEND_ARG_INFO(0, arg) + ZEND_ARG_INFO(0, ...) +@@ -145,7 +148,7 @@ PHP_METHOD(lua_closure, invoke) { + /* {{{ lua_class_methods[] + */ + zend_function_entry lua_closure_methods[] = { +- PHP_ME(lua_closure, __construct, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_CTOR) ++ PHP_ME(lua_closure, __construct, arginfo_void, ZEND_ACC_PRIVATE|ZEND_ACC_CTOR) + PHP_ME(lua_closure, invoke, arginfo_lua_invoke, ZEND_ACC_PUBLIC) + PHP_MALIAS(lua_closure, __invoke, invoke, arginfo_lua_invoke, ZEND_ACC_PUBLIC) + PHP_FE_END +-- +2.31.1 + diff --git a/package/php-lua/Config.in b/package/php-lua/Config.in new file mode 100644 index 00000000000..923de2d799b --- /dev/null +++ b/package/php-lua/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PHP_LUA + bool "php-lua" + depends on BR2_PACKAGE_HAS_LUAINTERPRETER + help + This extension embeds the lua interpreter and offers an + OO-API to lua variables and functions. + + https://pecl.php.net/package/lua diff --git a/package/php-lua/php-lua.hash b/package/php-lua/php-lua.hash new file mode 100644 index 00000000000..841c4f72341 --- /dev/null +++ b/package/php-lua/php-lua.hash @@ -0,0 +1,2 @@ +sha256 86545e1e09b79e3693dd93f2a5a8f15ea161b5a1928f315c7a27107744ee8772 lua-2.0.7.tgz +sha256 b6e00df9cb3b91977c0d64a7c4db48cb6f5041f6eeda6583c236775f70a35b78 LICENSE diff --git a/package/php-lua/php-lua.mk b/package/php-lua/php-lua.mk new file mode 100644 index 00000000000..529b347e426 --- /dev/null +++ b/package/php-lua/php-lua.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# php-lua +# +################################################################################ + +PHP_LUA_VERSION = 2.0.7 +PHP_LUA_SITE = http://pecl.php.net/get +PHP_LUA_SOURCE = lua-$(PHP_LUA_VERSION).tgz +PHP_LUA_LICENSE = PHP-3.01 +PHP_LUA_LICENSE_FILES = LICENSE +PHP_LUA_DEPENDENCIES = php luainterpreter host-autoconf host-pkgconf + +PHP_LUA_CONF_OPTS = \ + --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ + --with-lua=$(STAGING_DIR)/usr + +# The php-lua package uses the following code to search for the lua library +# if test "$PHP_LUA_VERSION" != "yes" -a "$PHP_LUA_VERSION" != "no"; then +# LUA_LIB_SUFFIX=lua$PHP_LUA_VERSION +# else +# LUA_LIB_SUFFIX=lua +# fi +# LUA_LIB_NAME=lib$LUA_LIB_SUFFIX +# luajit library name is libluajit-x.y with x.y the api version. +# In order to use luajit, we use jit-x.y as "lua-version". +ifeq ($(BR2_PACKAGE_LUAJIT),y) +PHP_LUA_CONF_OPTS += --with-lua-version=jit-$(LUAINTERPRETER_ABIVER) +endif + +define PHP_LUA_PHPIZE + (cd $(@D); \ + PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + $(STAGING_DIR)/usr/bin/phpize) +endef +PHP_LUA_PRE_CONFIGURE_HOOKS += PHP_LUA_PHPIZE + +$(eval $(autotools-package)) diff --git a/package/php-memcached/php-memcached.hash b/package/php-memcached/php-memcached.hash index dd294f466ac..7e918c17f6e 100644 --- a/package/php-memcached/php-memcached.hash +++ b/package/php-memcached/php-memcached.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 20786213ff92cd7ebdb0d0ac10dde1e9580a2f84296618b666654fd76ea307d4 memcached-3.1.3.tgz -sha256 24e8e3a9529204ead9422fa17cf3ddd75d292a8763b87fdb20591964f2e6ebe0 LICENSE -sha256 a453a7a272fbd24105b39959f76996d50dad80b22d1c310f6c67f74f62ae4054 fastlz/LICENSE -sha256 bba8cb50c660842c5ca459c5004395bdef8f01c1b64f97a9978f1053f173cb82 g_fmt.h +sha256 b288e45f839593e16c4d8508b241de51a86df4f7322153e6becb9e1c819021fd memcached-3.1.5.tgz +sha256 24e8e3a9529204ead9422fa17cf3ddd75d292a8763b87fdb20591964f2e6ebe0 LICENSE +sha256 a453a7a272fbd24105b39959f76996d50dad80b22d1c310f6c67f74f62ae4054 fastlz/LICENSE +sha256 bba8cb50c660842c5ca459c5004395bdef8f01c1b64f97a9978f1053f173cb82 g_fmt.h diff --git a/package/php-memcached/php-memcached.mk b/package/php-memcached/php-memcached.mk index 4607d099f3d..068fbb786be 100644 --- a/package/php-memcached/php-memcached.mk +++ b/package/php-memcached/php-memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_MEMCACHED_VERSION = 3.1.3 +PHP_MEMCACHED_VERSION = 3.1.5 PHP_MEMCACHED_SOURCE = memcached-$(PHP_MEMCACHED_VERSION).tgz PHP_MEMCACHED_SITE = https://pecl.php.net/get PHP_MEMCACHED_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-pam/Config.in b/package/php-pam/Config.in new file mode 100644 index 00000000000..70f62a31807 --- /dev/null +++ b/package/php-pam/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_PHP_PAM + bool "php-pam" + depends on BR2_ENABLE_LOCALE # linux-pam + depends on BR2_USE_WCHAR # linux-pam + depends on BR2_USE_MMU # linux-pam + depends on !BR2_STATIC_LIBS # linux-pam + select BR2_PACKAGE_LINUX_PAM + help + PHP PAM (Pluggable Authentication Modules) integration + + https://pecl.php.net/package/PAM + +comment "php-pam needs a toolchain w/ wchar, locale, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR \ + || BR2_STATIC_LIBS diff --git a/package/php-pam/php-pam.hash b/package/php-pam/php-pam.hash new file mode 100644 index 00000000000..c3eb49fbe7f --- /dev/null +++ b/package/php-pam/php-pam.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 fda3b5f719d51cb278351eedd3d7a96db75661324d81fdcf8072a4309121bc92 pam-2.2.3.tgz +sha256 0967ad6cf4b7fe81d38709d7aaef3fecb3bd685be7eebb37b864aa34c991baa7 LICENSE diff --git a/package/php-pam/php-pam.mk b/package/php-pam/php-pam.mk new file mode 100644 index 00000000000..8e20095d866 --- /dev/null +++ b/package/php-pam/php-pam.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# php-pam +# +################################################################################ + +PHP_PAM_VERSION = 2.2.3 +PHP_PAM_SITE = http://pecl.php.net/get +PHP_PAM_SOURCE = pam-$(PHP_PAM_VERSION).tgz +PHP_PAM_LICENSE = PHP-3.01 +PHP_PAM_LICENSE_FILES = LICENSE +PHP_PAM_DEPENDENCIES = php linux-pam host-autoconf host-pkgconf + +PHP_PAM_CONF_OPTS = \ + --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ + --with-pam=$(STAGING_DIR)/usr + +define PHP_PAM_PHPIZE + (cd $(@D); \ + PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + $(STAGING_DIR)/usr/bin/phpize) +endef +PHP_PAM_PRE_CONFIGURE_HOOKS += PHP_PAM_PHPIZE + +$(eval $(autotools-package)) diff --git a/package/php-pecl-dbus/0001-php8-compat.patch b/package/php-pecl-dbus/0001-php8-compat.patch new file mode 100644 index 00000000000..acca6e1d49c --- /dev/null +++ b/package/php-pecl-dbus/0001-php8-compat.patch @@ -0,0 +1,158 @@ +From 7fde4dd4d26d2a4b7957a1010c6ea9e4b940fc62 Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Mon, 18 Jan 2021 23:22:52 +0200 +Subject: [PATCH] php8 compat + +Upstream: https://github.com/derickr/pecl-dbus/pull/8 +Signed-off-by: Herve Codina +--- + dbus.c | 55 ++++++++++++++++++++++++++++++------------------------ + php_dbus.h | 10 ++++++++++ + 2 files changed, 41 insertions(+), 24 deletions(-) + +diff --git a/dbus.c b/dbus.c +index 9fde647..a98e2ea 100644 +--- a/dbus.c ++++ b/dbus.c +@@ -38,6 +38,9 @@ + #define Z_ADDREF_P(z) ((z)->refcount++) + #endif + ++ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0) ++ZEND_END_ARG_INFO() ++ + /* {{{ arginfo */ + ZEND_BEGIN_ARG_INFO_EX(arginfo_dbus_object___call, 0, 0, 2) + ZEND_ARG_INFO(0, function_name) +@@ -46,44 +49,44 @@ ZEND_END_ARG_INFO() + /* }}} */ + + const zend_function_entry dbus_funcs_dbus[] = { +- PHP_ME(Dbus, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(Dbus, addWatch, NULL, ZEND_ACC_PUBLIC) +- PHP_ME(Dbus, waitLoop, NULL, ZEND_ACC_PUBLIC) +- PHP_ME(Dbus, requestName, NULL, ZEND_ACC_PUBLIC) +- PHP_ME(Dbus, registerObject, NULL, ZEND_ACC_PUBLIC) +- PHP_ME(Dbus, createProxy, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(Dbus, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(Dbus, addWatch, arginfo_void, ZEND_ACC_PUBLIC) ++ PHP_ME(Dbus, waitLoop, arginfo_void, ZEND_ACC_PUBLIC) ++ PHP_ME(Dbus, requestName, arginfo_void, ZEND_ACC_PUBLIC) ++ PHP_ME(Dbus, registerObject, arginfo_void, ZEND_ACC_PUBLIC) ++ PHP_ME(Dbus, createProxy, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + const zend_function_entry dbus_funcs_dbus_object[] = { +- PHP_ME(DbusObject, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE) ++ PHP_ME(DbusObject, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE) + PHP_ME(DbusObject, __call, arginfo_dbus_object___call, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + const zend_function_entry dbus_funcs_dbus_signal[] = { +- PHP_ME(DbusSignal, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(DbusSignal, matches, NULL, ZEND_ACC_PUBLIC) +- PHP_ME(DbusSignal, getData, NULL, ZEND_ACC_PUBLIC) +- PHP_ME(DbusSignal, send, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusSignal, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(DbusSignal, matches, arginfo_void, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusSignal, getData, arginfo_void, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusSignal, send, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + const zend_function_entry dbus_funcs_dbus_array[] = { +- PHP_ME(DbusArray, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(DbusArray, getData, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusArray, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(DbusArray, getData, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + const zend_function_entry dbus_funcs_dbus_dict[] = { +- PHP_ME(DbusDict, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(DbusDict, getData, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusDict, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(DbusDict, getData, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + #define PHP_DBUS_INT_WRAPPER_DEF(s,t) \ + const zend_function_entry dbus_funcs_dbus_##s[] = { \ +- PHP_ME(Dbus##t, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) \ ++ PHP_ME(Dbus##t, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) \ + PHP_FE_END \ + }; + +@@ -98,26 +101,26 @@ PHP_DBUS_INT_WRAPPER_DEF(uint64,UInt64); + PHP_DBUS_INT_WRAPPER_DEF(double, Double); + + const zend_function_entry dbus_funcs_dbus_variant[] = { +- PHP_ME(DbusVariant, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(DbusVariant, getData, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusVariant, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(DbusVariant, getData, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + const zend_function_entry dbus_funcs_dbus_set[] = { +- PHP_ME(DbusSet, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(DbusSet, getData, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusSet, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(DbusSet, getData, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + const zend_function_entry dbus_funcs_dbus_struct[] = { +- PHP_ME(DbusStruct, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(DbusStruct, getData, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusStruct, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(DbusStruct, getData, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + + const zend_function_entry dbus_funcs_dbus_object_path[] = { +- PHP_ME(DbusObjectPath, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) +- PHP_ME(DbusObjectPath, getData, NULL, ZEND_ACC_PUBLIC) ++ PHP_ME(DbusObjectPath, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) ++ PHP_ME(DbusObjectPath, getData, arginfo_void, ZEND_ACC_PUBLIC) + PHP_FE_END + }; + +@@ -405,7 +408,11 @@ static void dbus_register_classes(TSRMLS_D) + dbus_ce_dbus = zend_register_internal_class_ex(&ce_dbus, NULL); + memcpy(&dbus_object_handlers_dbus, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + dbus_object_handlers_dbus.clone_obj = dbus_object_clone_dbus; ++#if PHP_VERSION_ID < 80000 + dbus_object_handlers_dbus.compare_objects = dbus_object_compare_dbus; ++#else ++ dbus_object_handlers_dbus.compare = dbus_object_compare_dbus; ++#endif + + zend_declare_class_constant_long(dbus_ce_dbus, "BYTE", sizeof("BYTE")-1, DBUS_TYPE_BYTE TSRMLS_CC); + zend_declare_class_constant_long(dbus_ce_dbus, "BOOLEAN", sizeof("BOOLEAN")-1, DBUS_TYPE_BOOLEAN TSRMLS_CC); +diff --git a/php_dbus.h b/php_dbus.h +index 8817544..1f0f551 100644 +--- a/php_dbus.h ++++ b/php_dbus.h +@@ -25,6 +25,16 @@ + #include "config.h" + #endif + ++#if PHP_VERSION_ID >= 80000 ++#ifndef TSRMLS_D ++#define TSRMLS_D void ++#define TSRMLS_DC ++#define TSRMLS_C ++#define TSRMLS_CC ++#define TSRMLS_FETCH() ++#endif ++#endif /* PHP_VERSION_ID >= 80000 */ ++ + #include "Zend/zend_hash.h" + + #define PHP_DBUS_VERSION "0.2.0" +-- +2.31.1 + diff --git a/package/php-pecl-dbus/0002-Fix-compatibility-with-php8-call_user_function_ex.patch b/package/php-pecl-dbus/0002-Fix-compatibility-with-php8-call_user_function_ex.patch new file mode 100644 index 00000000000..5babce94b45 --- /dev/null +++ b/package/php-pecl-dbus/0002-Fix-compatibility-with-php8-call_user_function_ex.patch @@ -0,0 +1,32 @@ +From 8cf66c4b5dd657ca14552b27a42901db0a5e9280 Mon Sep 17 00:00:00 2001 +From: Herve Codina +Date: Mon, 4 Oct 2021 17:13:45 +0200 +Subject: [PATCH] Fix compatibility with php8 - call_user_function_ex + +This patch fixes compatibility with php8 replacing +call_user_function_ex by call_user_function. + +Upstream: https://github.com/derickr/pecl-dbus/pull/8 +Signed-off-by: Herve Codina +--- + dbus.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dbus.c b/dbus.c +index a98e2ea..6fa9897 100644 +--- a/dbus.c ++++ b/dbus.c +@@ -1015,8 +1015,8 @@ php_dbus_do_method_call(php_dbus_obj *dbus, + method_args = safe_emalloc(sizeof(zval *), num_elems, 0); + } + +- if (call_user_function_ex(EG(function_table), object, &callback, &retval, +- num_elems, method_args, 0, NULL) == SUCCESS) { ++ if (call_user_function(EG(function_table), object, &callback, &retval, ++ num_elems, method_args) == SUCCESS) { + if (!Z_ISUNDEF(retval)) { + reply = dbus_message_new_method_return(msg); + php_dbus_append_parameters(reply, &retval, NULL, +-- +2.31.1 + diff --git a/package/php-pecl-dbus/Config.in b/package/php-pecl-dbus/Config.in new file mode 100644 index 00000000000..56c70143a53 --- /dev/null +++ b/package/php-pecl-dbus/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PHP_PECL_DBUS + bool "php-pecl-dbus" + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus + depends on BR2_USE_MMU # dbus + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_PHP_EXT_LIBXML2 # Runtime dependency + help + PHP extension for interaction with D-Bus busses. + + https://github.com/derickr/pecl-dbus + +comment "php-pecl-dbus needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/php-pecl-dbus/php-pecl-dbus.hash b/package/php-pecl-dbus/php-pecl-dbus.hash new file mode 100644 index 00000000000..f8c5aa50371 --- /dev/null +++ b/package/php-pecl-dbus/php-pecl-dbus.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 c48761c645c6fa42b57af0e65d893217dc69bcd8d879ace74d6abbf1c5f73a8f php-pecl-dbus-315d17558c7614d02e923d898231e51c86a25789.tar.gz +sha256 ecc8b74820c32fb82ddee80446205408585d75d1632ac959fb3cdf8eaf3877b5 LICENSE diff --git a/package/php-pecl-dbus/php-pecl-dbus.mk b/package/php-pecl-dbus/php-pecl-dbus.mk new file mode 100644 index 00000000000..456d662554e --- /dev/null +++ b/package/php-pecl-dbus/php-pecl-dbus.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# php-pecl-dbus +# +################################################################################ + +PHP_PECL_DBUS_VERSION = 315d17558c7614d02e923d898231e51c86a25789 +PHP_PECL_DBUS_SITE = $(call github,derickr,pecl-dbus,$(PHP_PECL_DBUS_VERSION)) +PHP_PECL_DBUS_LICENSE = PHP-3.01 +PHP_PECL_DBUS_LICENSE_FILES = LICENSE +PHP_PECL_DBUS_DEPENDENCIES = php dbus libxml2 host-autoconf host-pkgconf + +PHP_PECL_DBUS_CONF_OPTS = \ + --with-php-config=$(STAGING_DIR)/usr/bin/php-config + +define PHP_PECL_DBUS_PHPIZE + (cd $(@D); \ + PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + $(STAGING_DIR)/usr/bin/phpize) +endef +PHP_PECL_DBUS_PRE_CONFIGURE_HOOKS += PHP_PECL_DBUS_PHPIZE + +$(eval $(autotools-package)) diff --git a/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch b/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch deleted file mode 100644 index afc5de99152..00000000000 --- a/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch +++ /dev/null @@ -1,302 +0,0 @@ -From a8835aab2c15e794fce13bd927295719e384ad2d Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 28 Jun 2018 07:10:35 +0200 -Subject: [PATCH] fix php_url fields usage for PHP 7.3 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/php/pecl-networking-ssh2/commit/a8835aab2c15e794fce13bd927295719e384ad2d] ---- - php_ssh2.h | 8 +++++++ - ssh2_fopen_wrappers.c | 55 +++++++++++++++++++++++++++---------------- - ssh2_sftp.c | 20 ++++++++-------- - 3 files changed, 53 insertions(+), 30 deletions(-) - -diff --git a/php_ssh2.h b/php_ssh2.h -index 734b795..d010ff9 100644 ---- a/php_ssh2.h -+++ b/php_ssh2.h -@@ -166,6 +166,14 @@ extern php_stream_wrapper php_ssh2_sftp_wrapper; - extern int le_ssh2_session; - extern int le_ssh2_sftp; - -+#if PHP_VERSION_ID < 70300 -+#define SSH2_URL_STR(a) (a) -+#define SSH2_URL_LEN(a) strlen(a) -+#else -+#define SSH2_URL_STR(a) ZSTR_VAL(a) -+#define SSH2_URL_LEN(a) ZSTR_LEN(a) -+#endif -+ - #endif /* PHP_SSH2_H */ - - /* -diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c -index 2f96ca4..f2f3475 100644 ---- a/ssh2_fopen_wrappers.c -+++ b/ssh2_fopen_wrappers.c -@@ -215,7 +215,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - php_url *resource; - zval *methods = NULL, *callbacks = NULL, zsession, *tmpzval; - zend_long resource_id; -- char *h, *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; -+ char *h, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; - int username_len = 0, password_len = 0; - - h = strstr(path, "Resource id #"); -@@ -233,13 +233,13 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - return NULL; - } - -- if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) { -+ if (strncmp(SSH2_URL_STR(resource->scheme), "ssh2.", sizeof("ssh2.") - 1)) { - /* Not an ssh wrapper */ - php_url_free(resource); - return NULL; - } - -- if (strcmp(resource->scheme + sizeof("ssh2.") - 1, type)) { -+ if (strcmp(SSH2_URL_STR(resource->scheme) + sizeof("ssh2.") - 1, type)) { - /* Wrong ssh2. wrapper type */ - php_url_free(resource); - return NULL; -@@ -253,13 +253,27 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - Find resource->path in the path string, then copy the entire string from the original path. - This includes ?query#fragment in the path string - */ -+// TODO copy seems uneeded -+#if PHP_VERSION_ID < 70300 -+ { -+ char * s; -+ - s = resource->path; - resource->path = estrdup(strstr(path, resource->path)); - efree(s); -+ } -+#else -+ { -+ zend_string *tmp; -+ -+ tmp = resource->path; -+ resource->path = zend_string_init(ZSTR_VAL(resource->path), ZSTR_LEN(resource->path), 0); -+ zend_string_release(tmp); -+ } -+#endif - - /* Look for a resource ID to reuse a session */ -- s = resource->host; -- if (is_numeric_string(s, strlen(s), &resource_id, NULL, 0) == IS_LONG) { -+ if (is_numeric_string(SSH2_URL_STR(resource->host), SSH2_URL_LEN(resource->host), &resource_id, NULL, 0) == IS_LONG) { - php_ssh2_sftp_data *sftp_data; - zval *zresource; - -@@ -309,7 +323,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - } - - /* Fallback on finding it in the context */ -- if (resource->host[0] == 0 && context && psftp && -+ if (SSH2_URL_STR(resource->host)[0] == 0 && context && psftp && - (tmpzval = php_stream_context_get_option(context, "ssh2", "sftp")) != NULL && - Z_TYPE_P(tmpzval) == IS_RESOURCE) { - php_ssh2_sftp_data *sftp_data; -@@ -323,7 +337,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - return resource; - } - } -- if (resource->host[0] == 0 && context && -+ if (SSH2_URL_STR(resource->host)[0] == 0 && context && - (tmpzval = php_stream_context_get_option(context, "ssh2", "session")) != NULL && - Z_TYPE_P(tmpzval) == IS_RESOURCE) { - session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); -@@ -399,19 +413,19 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - } - - if (resource->user) { -- int len = strlen(resource->user); -+ int len = SSH2_URL_LEN(resource->user); - - if (len) { -- username = resource->user; -+ username = SSH2_URL_STR(resource->user); - username_len = len; - } - } - - if (resource->pass) { -- int len = strlen(resource->pass); -+ int len = SSH2_URL_LEN(resource->pass); - - if (len) { -- password = resource->pass; -+ password = SSH2_URL_STR(resource->pass); - password_len = len; - } - } -@@ -422,7 +436,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - return NULL; - } - -- session = php_ssh2_session_connect(resource->host, resource->port, methods, callbacks); -+ session = php_ssh2_session_connect(SSH2_URL_STR(resource->host), resource->port, methods, callbacks); - if (!session) { - /* Unable to connect! */ - php_url_free(resource); -@@ -482,6 +496,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - *psftp = sftp; - } - -+ //TODO may be undefined - *presource_id = Z_LVAL(zsession); - *psession = session; - -@@ -527,7 +542,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id - zval_copy_ctor(©val); - convert_to_string(©val); - if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) { -- php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval)); -+ php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval)); - } - zval_dtor(©val); - } -@@ -631,7 +646,7 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con - zval_ptr_dtor(©val); - } - -- s = resource->path ? resource->path : NULL; -+ s = resource->path ? SSH2_URL_STR(resource->path) : NULL; - - if (s && s[0] == '/') { - /* Terminal type encoded into URL overrides context terminal type */ -@@ -766,7 +781,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_ - zval_copy_ctor(©val); - convert_to_string(©val); - if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) { -- php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval)); -+ php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval)); - } - zval_dtor(©val); - } -@@ -878,7 +893,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons - zval_ptr_dtor(copyval); - } - -- stream = php_ssh2_exec_command(session, resource_id, resource->path + 1, terminal, terminal_len, environment, width, height, type); -+ stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); - if (!stream) { - // TODO Sean-Der - //zend_list_delete(resource_id); -@@ -1021,7 +1036,7 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const - return NULL; - } - -- stream = php_ssh2_scp_xfer(session, resource_id, resource->path); -+ stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path)); - if (!stream) { - //TODO Sean-Der - //zend_list_delete(resource_id); -@@ -1147,7 +1162,7 @@ PHP_FUNCTION(ssh2_scp_send) - char *error_msg = NULL; - - last_error = libssh2_session_last_error(session, &error_msg, NULL, 0); -- php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s", error_msg); -+ php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s (%d)", error_msg, last_error); - php_stream_close(local_file); - RETURN_FALSE; - } -@@ -1262,10 +1277,10 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co - return NULL; - } - -- if (resource->path && resource->path[0] == '/') { -+ if (resource->path && SSH2_URL_STR(resource->path)[0] == '/') { - char *colon; - -- host = resource->path + 1; -+ host = SSH2_URL_STR(resource->path) + 1; - if (*host == '[') { - /* IPv6 Encapsulated Format */ - host++; -diff --git a/ssh2_sftp.c b/ssh2_sftp.c -index 13f89f0..6332be8 100644 ---- a/ssh2_sftp.c -+++ b/ssh2_sftp.c -@@ -238,7 +238,7 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons - - flags = php_ssh2_parse_fopen_modes((char *)mode); - -- handle = libssh2_sftp_open(sftp, resource->path, flags, perms); -+ handle = libssh2_sftp_open(sftp, SSH2_URL_STR(resource->path), flags, perms); - if (!handle) { - php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); - php_url_free(resource); -@@ -341,7 +341,7 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c - return NULL; - } - -- handle = libssh2_sftp_opendir(sftp, resource->path); -+ handle = libssh2_sftp_opendir(sftp, SSH2_URL_STR(resource->path)); - if (!handle) { - php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); - php_url_free(resource); -@@ -386,7 +386,7 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i - return -1; - } - -- if (libssh2_sftp_stat_ex(sftp, resource->path, strlen(resource->path), -+ if (libssh2_sftp_stat_ex(sftp, SSH2_URL_STR(resource->path), SSH2_URL_LEN(resource->path), - (flags & PHP_STREAM_URL_STAT_LINK) ? LIBSSH2_SFTP_LSTAT : LIBSSH2_SFTP_STAT, &attrs)) { - php_url_free(resource); - //zend_list_delete(sftp_rsrcid); -@@ -420,7 +420,7 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in - return 0; - } - -- result = libssh2_sftp_unlink(sftp, resource->path); -+ result = libssh2_sftp_unlink(sftp, SSH2_URL_STR(resource->path)); - php_url_free(resource); - - //zend_list_delete(sftp_rsrcid); -@@ -462,7 +462,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro - return 0; - } - -- result = libssh2_sftp_rename(sftp, resource->path, resource_to->path); -+ result = libssh2_sftp_rename(sftp, SSH2_URL_STR(resource->path), SSH2_URL_STR(resource_to->path)); - php_url_free(resource); - php_url_free(resource_to); - -@@ -493,13 +493,13 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int - - if (options & PHP_STREAM_MKDIR_RECURSIVE) { - /* Just attempt to make every directory, some will fail, but we only care about the last success/failure */ -- char *p = resource->path; -+ char *p = SSH2_URL_STR(resource->path); - while ((p = strchr(p + 1, '/'))) { -- libssh2_sftp_mkdir_ex(sftp, resource->path, p - resource->path, mode); -+ libssh2_sftp_mkdir_ex(sftp, SSH2_URL_STR(resource->path), p - SSH2_URL_STR(resource->path), mode); - } - } - -- result = libssh2_sftp_mkdir(sftp, resource->path, mode); -+ result = libssh2_sftp_mkdir(sftp, SSH2_URL_STR(resource->path), mode); - php_url_free(resource); - - //zend_list_delete(sftp_rsrcid); -@@ -527,7 +527,7 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int - return 0; - } - -- result = libssh2_sftp_rmdir(sftp, resource->path); -+ result = libssh2_sftp_rmdir(sftp, SSH2_URL_STR(resource->path)); - php_url_free(resource); - - //zend_list_delete(sftp_rsrcid); -@@ -836,7 +836,7 @@ PHP_FUNCTION(ssh2_sftp_readlink) - } - - if ((targ_len = libssh2_sftp_symlink_ex(data->sftp, link->val, link->len, targ, 8192, LIBSSH2_SFTP_READLINK)) < 0) { -- php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", link); -+ php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", ZSTR_VAL(link)); - RETURN_FALSE; - } - diff --git a/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch b/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch deleted file mode 100644 index d6d62947f7f..00000000000 --- a/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch +++ /dev/null @@ -1,746 +0,0 @@ -From 073067ba96ac99ed5696d27f13ca6c8124986e74 Mon Sep 17 00:00:00 2001 -From: Jan-E -Date: Thu, 28 Jun 2018 08:43:48 +0200 -Subject: [PATCH] @dstogov Fixed PHP7 port. Restored commented reference - counting. - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/php/pecl-networking-ssh2/commit/073067ba96ac99ed5696d27f13ca6c8124986e74] ---- - php_ssh2.h | 14 ++--- - ssh2.c | 26 ++++----- - ssh2_fopen_wrappers.c | 129 ++++++++++++++++++------------------------ - ssh2_sftp.c | 59 +++++++++---------- - 4 files changed, 102 insertions(+), 126 deletions(-) - -diff --git a/php_ssh2.h b/php_ssh2.h -index d010ff9..2bbaa26 100644 ---- a/php_ssh2.h -+++ b/php_ssh2.h -@@ -73,14 +73,14 @@ typedef struct _php_ssh2_sftp_data { - LIBSSH2_SESSION *session; - LIBSSH2_SFTP *sftp; - -- int session_rsrcid; -+ zend_resource *session_rsrc; - } php_ssh2_sftp_data; - - typedef struct _php_ssh2_listener_data { - LIBSSH2_SESSION *session; - LIBSSH2_LISTENER *listener; - -- int session_rsrcid; -+ zend_resource *session_rsrc; - } php_ssh2_listener_data; - - #include "libssh2_publickey.h" -@@ -89,7 +89,7 @@ typedef struct _php_ssh2_pkey_subsys_data { - LIBSSH2_SESSION *session; - LIBSSH2_PUBLICKEY *pkey; - -- int session_rsrcid; -+ zend_resource *session_rsrc; - } php_ssh2_pkey_subsys_data; - - #define SSH2_FETCH_NONAUTHENTICATED_SESSION(session, zsession) \ -@@ -118,8 +118,8 @@ typedef struct _php_ssh2_channel_data { - char is_blocking; - long timeout; - -- /* Resource ID */ -- int session_rsrcid; -+ /* Resource */ -+ zend_resource *session_rsrc; - - /* Allow one stream to be closed while the other is kept open */ - unsigned char *refcount; -@@ -151,8 +151,8 @@ PHP_FUNCTION(ssh2_sftp_realpath); - LIBSSH2_SESSION *php_ssh2_session_connect(char *host, int port, zval *methods, zval *callbacks); - void php_ssh2_sftp_dtor(zend_resource *rsrc); - php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context, -- LIBSSH2_SESSION **psession, int *presource_id, -- LIBSSH2_SFTP **psftp, int *psftp_rsrcid); -+ LIBSSH2_SESSION **psession, zend_resource **presource, -+ LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc); - - extern php_stream_ops php_ssh2_channel_stream_ops; - -diff --git a/ssh2.c b/ssh2.c -index e73867e..849766b 100644 ---- a/ssh2.c -+++ b/ssh2.c -@@ -772,9 +772,8 @@ PHP_FUNCTION(ssh2_forward_listen) - - data = emalloc(sizeof(php_ssh2_listener_data)); - data->session = session; -- data->session_rsrcid = Z_LVAL_P(zsession); -- //TODO Sean-Der -- //zend_list_addref(data->session_rsrcid); -+ data->session_rsrc = Z_RES_P(zsession); -+ Z_ADDREF_P(zsession); - data->listener = listener; - - RETURN_RES(zend_register_resource(data, le_ssh2_listener)); -@@ -810,7 +809,7 @@ PHP_FUNCTION(ssh2_forward_accept) - channel_data->channel = channel; - channel_data->streamid = 0; - channel_data->is_blocking = 0; -- channel_data->session_rsrcid = data->session_rsrcid; -+ channel_data->session_rsrc = data->session_rsrc; - channel_data->refcount = NULL; - - stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); -@@ -820,8 +819,12 @@ PHP_FUNCTION(ssh2_forward_accept) - libssh2_channel_free(channel); - RETURN_FALSE; - } -- //TODO Sean-Der -- //zend_list_addref(channel_data->session_rsrcid); -+ -+#if PHP_VERSION_ID < 70300 -+ GC_REFCOUNT(channel_data->session_rsrc)++; -+#else -+ GC_ADDREF(channel_data->session_rsrc); -+#endif - - php_stream_to_zval(stream, return_value); - } -@@ -975,9 +978,8 @@ PHP_FUNCTION(ssh2_publickey_init) - - data = emalloc(sizeof(php_ssh2_pkey_subsys_data)); - data->session = session; -- data->session_rsrcid = Z_RES_P(zsession)->handle; -- //TODO Sean-Der -- //zend_list_addref(data->session_rsrcid); -+ data->session_rsrc = Z_RES_P(zsession); -+ Z_ADDREF_P(zsession); - data->pkey = pkey; - - RETURN_RES(zend_register_resource(data, le_ssh2_pkey_subsys)); -@@ -1280,8 +1282,7 @@ static void php_ssh2_listener_dtor(zend_resource *rsrc) - LIBSSH2_LISTENER *listener = data->listener; - - libssh2_channel_forward_cancel(listener); -- // TODO Sean-Der -- //zend_list_delete(data->session_rsrcid); -+ zend_list_delete(data->session_rsrc); - efree(data); - } - -@@ -1291,8 +1292,7 @@ static void php_ssh2_pkey_subsys_dtor(zend_resource *rsrc) - LIBSSH2_PUBLICKEY *pkey = data->pkey; - - libssh2_publickey_shutdown(pkey); -- // TODO Sean-Der -- //zend_list_delete(data->session_rsrcid); -+ zend_list_delete(data->session_rsrc); - efree(data); - } - -diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c -index f2f3475..c4eb9dc 100644 ---- a/ssh2_fopen_wrappers.c -+++ b/ssh2_fopen_wrappers.c -@@ -47,11 +47,9 @@ static size_t php_ssh2_channel_stream_write(php_stream *stream, const char *buf, - php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract; - size_t writestate; - LIBSSH2_SESSION *session; -- zval *zresource; - - libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking); -- zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid); -- session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); -+ session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); - - - -@@ -90,12 +88,10 @@ static size_t php_ssh2_channel_stream_read(php_stream *stream, char *buf, size_t - php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract; - ssize_t readstate; - LIBSSH2_SESSION *session; -- zval *zresource; - - stream->eof = libssh2_channel_eof(abstract->channel); - libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking); -- zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid); -- session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); -+ session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); - - #ifdef PHP_SSH2_SESSION_TIMEOUT - if (abstract->is_blocking) { -@@ -137,8 +133,7 @@ static int php_ssh2_channel_stream_close(php_stream *stream, int close_handle) - } - libssh2_channel_eof(abstract->channel); - libssh2_channel_free(abstract->channel); -- //TODO Sean-Der -- //zend_list_delete(abstract->session_rsrcid); -+ zend_list_delete(abstract->session_rsrc); - } - efree(abstract); - -@@ -207,8 +202,8 @@ php_stream_ops php_ssh2_channel_stream_ops = { - * Parse an ssh2.*:// path - */ - php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context, -- LIBSSH2_SESSION **psession, int *presource_id, -- LIBSSH2_SFTP **psftp, int *psftp_rsrcid) -+ LIBSSH2_SESSION **psession, zend_resource **presource, -+ LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc) - { - php_ssh2_sftp_data *sftp_data = NULL; - LIBSSH2_SESSION *session; -@@ -283,11 +278,10 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp); - if (sftp_data) { - /* Want the sftp layer */ -- //TODO Sean-Der -- //zend_list_addref(resource_id); -- *psftp_rsrcid = resource_id; -+ Z_ADDREF_P(zresource); -+ *psftp_rsrc = Z_RES_P(zresource); - *psftp = sftp_data->sftp; -- *presource_id = sftp_data->session_rsrcid; -+ *presource = sftp_data->session_rsrc; - *psession = sftp_data->session; - return resource; - } -@@ -305,18 +299,16 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); - sftp_data->sftp = sftp; - sftp_data->session = session; -- sftp_data->session_rsrcid = resource_id; -- //TODO Sean-Der -- //zend_list_addref(resource_id); -- *psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle; -+ sftp_data->session_rsrc = Z_RES_P(zresource); -+ Z_ADDREF_P(zresource); -+ *psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp); - *psftp = sftp; -- *presource_id = resource_id; -+ *presource = Z_RES_P(zresource); - *psession = session; - return resource; - } -- //TODO Sean-Der -- //zend_list_addref(resource_id); -- *presource_id = resource_id; -+ Z_ADDREF_P(zresource); -+ *presource = Z_RES_P(zresource); - *psession = session; - return resource; - } -@@ -330,9 +322,9 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp); - if (sftp_data) { - Z_ADDREF_P(tmpzval); -- *psftp_rsrcid = Z_LVAL_P(tmpzval); -+ *psftp_rsrc = Z_RES_P(tmpzval); - *psftp = sftp_data->sftp; -- *presource_id = sftp_data->session_rsrcid; -+ *presource = sftp_data->session_rsrc; - *psession = sftp_data->session; - return resource; - } -@@ -354,17 +346,17 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); - sftp_data->sftp = sftp; - sftp_data->session = session; -- sftp_data->session_rsrcid = Z_LVAL_P(tmpzval); -+ sftp_data->session_rsrc = Z_RES_P(tmpzval); - Z_ADDREF_P(tmpzval); -- *psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle; -+ *psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp); - *psftp = sftp; -- *presource_id = Z_RES_P(tmpzval)->handle; -+ *presource = Z_RES_P(tmpzval); - *psession = session; - return resource; - } - Z_ADDREF_P(tmpzval); - *psession = session; -- *presource_id = Z_LVAL_P(tmpzval); -+ *presource = Z_RES_P(tmpzval); - return resource; - } - } -@@ -465,8 +457,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - - /* Auth failure */ - php_url_free(resource); -- //TODO Sean-Der -- //zend_list_delete(Z_LVAL(zsession)); -+ zend_list_delete(Z_RES(zsession)); - return NULL; - - session_authed: -@@ -480,24 +471,22 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - sftp = libssh2_sftp_init(session); - if (!sftp) { - php_url_free(resource); -- //TODO Sean-Der -- //zend_list_delete(Z_LVAL(zsession)); -+ zend_list_delete(Z_RES(zsession)); - return NULL; - } - - sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); - sftp_data->session = session; - sftp_data->sftp = sftp; -- sftp_data->session_rsrcid = Z_LVAL(zsession); -+ sftp_data->session_rsrc = Z_RES(zsession); - - //TODO Sean-Der - //ZEND_REGISTER_RESOURCE(sftp_data, le_ssh2_sftp); -- *psftp_rsrcid = Z_LVAL(zsftp); -+ *psftp_rsrc = Z_RES(zsftp); - *psftp = sftp; - } - -- //TODO may be undefined -- *presource_id = Z_LVAL(zsession); -+ *presource = Z_RES(zsession); - *psession = session; - - return resource; -@@ -511,7 +500,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre - /* {{{ php_ssh2_shell_open - * Make a stream from a session - */ --static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id, char *term, int term_len, zval *environment, long width, long height, long type) -+static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, zend_resource *resource, char *term, int term_len, zval *environment, long width, long height, long type) - { - LIBSSH2_CHANNEL *channel; - php_ssh2_channel_data *channel_data; -@@ -578,7 +567,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id - channel_data->streamid = 0; - channel_data->is_blocking = 0; - channel_data->timeout = 0; -- channel_data->session_rsrcid = resource_id; -+ channel_data->session_rsrc = resource; - channel_data->refcount = NULL; - - stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); -@@ -599,11 +588,12 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con - zend_long width = PHP_SSH2_DEFAULT_TERM_WIDTH; - zend_long height = PHP_SSH2_DEFAULT_TERM_HEIGHT; - zend_long type = PHP_SSH2_DEFAULT_TERM_UNIT; -- int resource_id = 0, terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1; -+ zend_resource *rsrc = NULL; -+ int terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1; - php_url *resource; - char *s; - -- resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &resource_id, NULL, NULL); -+ resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &rsrc, NULL, NULL); - if (!resource || !session) { - return NULL; - } -@@ -677,10 +667,9 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con - /* TODO: Accept resolution and environment vars as URL style parameters - * ssh2.shell://hostorresource/terminal/99x99c?envvar=envval&envvar=envval.... - */ -- stream = php_ssh2_shell_open(session, resource_id, terminal, terminal_len, environment, width, height, type); -+ stream = php_ssh2_shell_open(session, rsrc, terminal, terminal_len, environment, width, height, type); - if (!stream) { -- //TODO Sean-Der -- //zend_list_delete(resource_id); -+ zend_list_delete(rsrc); - } - php_url_free(resource); - -@@ -730,7 +719,7 @@ PHP_FUNCTION(ssh2_shell) - - SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); - -- stream = php_ssh2_shell_open(session, Z_RES_P(zsession)->handle, term, term_len, environment, width, height, type); -+ stream = php_ssh2_shell_open(session, Z_RES_P(zsession), term, term_len, environment, width, height, type); - if (!stream) { - RETURN_FALSE; - } -@@ -749,7 +738,7 @@ PHP_FUNCTION(ssh2_shell) - /* {{{ php_ssh2_exec_command - * Make a stream from a session - */ --static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_id, char *command, char *term, int term_len, zval *environment, long width, long height, long type) -+static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, zend_resource *rsrc, char *command, char *term, int term_len, zval *environment, long width, long height, long type) - { - LIBSSH2_CHANNEL *channel; - php_ssh2_channel_data *channel_data; -@@ -819,7 +808,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_ - channel_data->streamid = 0; - channel_data->is_blocking = 0; - channel_data->timeout = 0; -- channel_data->session_rsrcid = resource_id; -+ channel_data->session_rsrc = rsrc; - channel_data->refcount = NULL; - - stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); -@@ -836,7 +825,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons - LIBSSH2_SESSION *session = NULL; - php_stream *stream; - zval *tmpzval, *environment = NULL; -- int resource_id = 0; -+ zend_resource *rsrc = NULL; - php_url *resource; - char *terminal = NULL; - int terminal_len = 0; -@@ -844,14 +833,13 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons - long height = PHP_SSH2_DEFAULT_TERM_HEIGHT; - long type = PHP_SSH2_DEFAULT_TERM_UNIT; - -- resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &resource_id, NULL, NULL); -+ resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &rsrc, NULL, NULL); - if (!resource || !session) { - return NULL; - } - if (!resource->path) { - php_url_free(resource); -- //TODO Sean-Der -- //zend_list_delete(resource_id); -+ zend_list_delete(rsrc); - return NULL; - } - -@@ -893,10 +881,9 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons - zval_ptr_dtor(copyval); - } - -- stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); -+ stream = php_ssh2_exec_command(session, rsrc, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); - if (!stream) { -- // TODO Sean-Der -- //zend_list_delete(resource_id); -+ zend_list_delete(rsrc); - } - php_url_free(resource); - -@@ -963,7 +950,7 @@ PHP_FUNCTION(ssh2_exec) - - SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); - -- stream = php_ssh2_exec_command(session, Z_RES_P(zsession)->handle, command, term, term_len, environment, width, height, type); -+ stream = php_ssh2_exec_command(session, Z_RES_P(zsession), command, term, term_len, environment, width, height, type); - if (!stream) { - RETURN_FALSE; - } -@@ -982,7 +969,7 @@ PHP_FUNCTION(ssh2_exec) - /* {{{ php_ssh2_scp_xfer - * Make a stream from a session - */ --static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, char *filename) -+static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, zend_resource *rsrc, char *filename) - { - LIBSSH2_CHANNEL *channel; - php_ssh2_channel_data *channel_data; -@@ -1002,7 +989,7 @@ static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, - channel_data->streamid = 0; - channel_data->is_blocking = 0; - channel_data->timeout = 0; -- channel_data->session_rsrcid = resource_id; -+ channel_data->session_rsrc = rsrc; - channel_data->refcount = NULL; - - stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r"); -@@ -1018,28 +1005,26 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const - { - LIBSSH2_SESSION *session = NULL; - php_stream *stream; -- int resource_id = 0; -+ zend_resource *rsrc = NULL; - php_url *resource; - - if (strchr(mode, '+') || strchr(mode, 'a') || strchr(mode, 'w')) { - return NULL; - } - -- resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &resource_id, NULL, NULL); -+ resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &rsrc, NULL, NULL); - if (!resource || !session) { - return NULL; - } - if (!resource->path) { - php_url_free(resource); -- //TODO Sean-Der -- //zend_list_delete(resource_id); -+ zend_list_delete(rsrc); - return NULL; - } - -- stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path)); -+ stream = php_ssh2_scp_xfer(session, rsrc, SSH2_URL_STR(resource->path)); - if (!stream) { -- //TODO Sean-Der -- //zend_list_delete(resource_id); -+ zend_list_delete(rsrc); - } - php_url_free(resource); - -@@ -1231,7 +1216,7 @@ PHP_FUNCTION(ssh2_scp_send) - /* {{{ php_ssh2_direct_tcpip - * Make a stream from a session - */ --static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_id, char *host, int port) -+static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, zend_resource *rsrc, char *host, int port) - { - LIBSSH2_CHANNEL *channel; - php_ssh2_channel_data *channel_data; -@@ -1251,7 +1236,7 @@ static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_ - channel_data->streamid = 0; - channel_data->is_blocking = 0; - channel_data->timeout = 0; -- channel_data->session_rsrcid = resource_id; -+ channel_data->session_rsrc = rsrc; - channel_data->refcount = NULL; - - stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); -@@ -1270,9 +1255,9 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co - php_url *resource; - char *host = NULL; - int port = 0; -- int resource_id = 0; -+ zend_resource *rsrc; - -- resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &resource_id, NULL, NULL); -+ resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &rsrc, NULL, NULL); - if (!resource || !session) { - return NULL; - } -@@ -1303,15 +1288,13 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co - if ((port <= 0) || (port > 65535) || !host || (strlen(host) == 0)) { - /* Invalid connection criteria */ - php_url_free(resource); -- //TODO Sean-Der -- //zend_list_delete(resource_id); -+ zend_list_delete(rsrc); - return NULL; - } - -- stream = php_ssh2_direct_tcpip(session, resource_id, host, port); -+ stream = php_ssh2_direct_tcpip(session, rsrc, host, port); - if (!stream) { -- // TODO Sean-Der -- //zend_list_delete(resource_id); -+ zend_list_delete(rsrc); - } - php_url_free(resource); - -@@ -1352,7 +1335,7 @@ PHP_FUNCTION(ssh2_tunnel) - - SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); - -- stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession)->handle, host, port); -+ stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession), host, port); - if (!stream) { - RETURN_FALSE; - } -diff --git a/ssh2_sftp.c b/ssh2_sftp.c -index 6332be8..256fc70 100644 ---- a/ssh2_sftp.c -+++ b/ssh2_sftp.c -@@ -40,8 +40,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc) - - libssh2_sftp_shutdown(data->sftp); - -- // TODO Sean-Der -- //zend_list_delete(data->session_rsrcid); -+ zend_list_delete(data->session_rsrc); - - efree(data); - } -@@ -50,7 +49,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc) - * SFTP File Ops * - ***************** */ - --inline unsigned long php_ssh2_parse_fopen_modes(char *openmode) { -+unsigned long php_ssh2_parse_fopen_modes(char *openmode) { - unsigned long flags = 0; - - if (strchr(openmode, 'a')) { -@@ -101,7 +100,7 @@ inline int php_ssh2_sftp_attr2ssb(php_stream_statbuf *ssb, LIBSSH2_SFTP_ATTRIBUT - typedef struct _php_ssh2_sftp_handle_data { - LIBSSH2_SFTP_HANDLE *handle; - -- long sftp_rsrcid; -+ zend_resource *sftp_rsrc; - } php_ssh2_sftp_handle_data; - - /* {{{ php_ssh2_sftp_stream_write -@@ -139,8 +138,7 @@ static int php_ssh2_sftp_stream_close(php_stream *stream, int close_handle) - php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract; - - libssh2_sftp_close(data->handle); -- //TODO Sean-Der -- //zend_list_delete(data->sftp_rsrcid); -+ zend_list_delete(data->sftp_rsrc); - efree(data); - - return 0; -@@ -226,12 +224,12 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons - LIBSSH2_SFTP *sftp = NULL; - LIBSSH2_SFTP_HANDLE *handle; - php_stream *stream; -- int resource_id = 0, sftp_rsrcid = 0; -+ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; - php_url *resource; - unsigned long flags; - long perms = 0644; - -- resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); -+ resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); - if (!resource || !session || !sftp) { - return NULL; - } -@@ -242,20 +240,18 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons - if (!handle) { - php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); - php_url_free(resource); -- //TODO Sean-Der -- //zend_list_delete(sftp_rsrcid); -+ zend_list_delete(sftp_rsrc); - return NULL; - } - - data = emalloc(sizeof(php_ssh2_sftp_handle_data)); - data->handle = handle; -- data->sftp_rsrcid = sftp_rsrcid; -+ data->sftp_rsrc = sftp_rsrc; - - stream = php_stream_alloc(&php_ssh2_sftp_stream_ops, data, 0, mode); - if (!stream) { - libssh2_sftp_close(handle); -- // TODO Sean-Der -- //zend_list_delete(sftp_rsrcid); -+ zend_list_delete(sftp_rsrc); - efree(data); - } - php_url_free(resource); -@@ -303,8 +299,7 @@ static int php_ssh2_sftp_dirstream_close(php_stream *stream, int close_handle) - php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract; - - libssh2_sftp_close(data->handle); -- //TODO Sean_der -- //zend_list_delete(data->sftp_rsrcid); -+ zend_list_delete(data->sftp_rsrc); - efree(data); - - return 0; -@@ -333,10 +328,10 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c - LIBSSH2_SFTP *sftp = NULL; - LIBSSH2_SFTP_HANDLE *handle; - php_stream *stream; -- int resource_id = 0, sftp_rsrcid = 0; -+ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; - php_url *resource; - -- resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); -+ resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); - if (!resource || !session || !sftp) { - return NULL; - } -@@ -345,20 +340,18 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c - if (!handle) { - php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); - php_url_free(resource); -- //TODO Sean-Der -- //zend_list_delete(sftp_rsrcid); -+ zend_list_delete(sftp_rsrc); - return NULL; - } - - data = emalloc(sizeof(php_ssh2_sftp_handle_data)); - data->handle = handle; -- data->sftp_rsrcid = sftp_rsrcid; -+ data->sftp_rsrc = sftp_rsrc; - - stream = php_stream_alloc(&php_ssh2_sftp_dirstream_ops, data, 0, mode); - if (!stream) { - libssh2_sftp_close(handle); -- //TODO Sean-Der -- //zend_list_delete(sftp_rsrcid); -+ zend_list_delete(sftp_rsrc); - efree(data); - } - php_url_free(resource); -@@ -378,10 +371,10 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i - LIBSSH2_SFTP_ATTRIBUTES attrs; - LIBSSH2_SESSION *session = NULL; - LIBSSH2_SFTP *sftp = NULL; -- int resource_id = 0, sftp_rsrcid = 0; -+ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; - php_url *resource; - -- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); -+ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); - if (!resource || !session || !sftp || !resource->path) { - return -1; - } -@@ -408,11 +401,11 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in - { - LIBSSH2_SESSION *session = NULL; - LIBSSH2_SFTP *sftp = NULL; -- int resource_id = 0, sftp_rsrcid = 0; -+ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; - php_url *resource; - int result; - -- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); -+ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); - if (!resource || !session || !sftp || !resource->path) { - if (resource) { - php_url_free(resource); -@@ -436,7 +429,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro - { - LIBSSH2_SESSION *session = NULL; - LIBSSH2_SFTP *sftp = NULL; -- int resource_id = 0, sftp_rsrcid = 0; -+ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; - php_url *resource, *resource_to; - int result; - -@@ -453,7 +446,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro - return 0; - } - -- resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); -+ resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); - if (!resource || !session || !sftp || !resource->path) { - if (resource) { - php_url_free(resource); -@@ -479,11 +472,11 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int - { - LIBSSH2_SESSION *session = NULL; - LIBSSH2_SFTP *sftp = NULL; -- int resource_id = 0, sftp_rsrcid = 0; -+ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; - php_url *resource; - int result; - -- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); -+ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); - if (!resource || !session || !sftp || !resource->path) { - if (resource) { - php_url_free(resource); -@@ -515,11 +508,11 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int - { - LIBSSH2_SESSION *session = NULL; - LIBSSH2_SFTP *sftp = NULL; -- int resource_id = 0, sftp_rsrcid = 0; -+ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; - php_url *resource; - int result; - -- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); -+ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); - if (!resource || !session || !sftp || !resource->path) { - if (resource) { - php_url_free(resource); -@@ -591,7 +584,7 @@ PHP_FUNCTION(ssh2_sftp) - data = emalloc(sizeof(php_ssh2_sftp_data)); - data->session = session; - data->sftp = sftp; -- data->session_rsrcid = Z_RES_P(zsession)->handle; -+ data->session_rsrc = Z_RES_P(zsession); - Z_ADDREF_P(zsession); - - RETURN_RES(zend_register_resource(data, le_ssh2_sftp)); diff --git a/package/php-ssh2/php-ssh2.hash b/package/php-ssh2/php-ssh2.hash index 36e04f471f2..3fbb0b24c81 100644 --- a/package/php-ssh2/php-ssh2.hash +++ b/package/php-ssh2/php-ssh2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 87618d6a0981afe8c24b36d6b38c21a0aa0237b62e60347d0170bd86b51f79fb ssh2-1.1.2.tgz +sha256 9093a1f8d24dc65836027b0e239c50de8d5eaebf8396bc3331fdd38c5d69afd9 ssh2-1.3.1.tgz sha256 ac7c56f1e416ce6e60abcf26269395128bc9e5a2e4f3293e5dcc124aac606508 LICENSE diff --git a/package/php-ssh2/php-ssh2.mk b/package/php-ssh2/php-ssh2.mk index c9c13010dd2..b79ac04179b 100644 --- a/package/php-ssh2/php-ssh2.mk +++ b/package/php-ssh2/php-ssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_SSH2_VERSION = 1.1.2 +PHP_SSH2_VERSION = 1.3.1 PHP_SSH2_SOURCE = ssh2-$(PHP_SSH2_VERSION).tgz PHP_SSH2_SITE = https://pecl.php.net/get PHP_SSH2_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-xdebug/php-xdebug.hash b/package/php-xdebug/php-xdebug.hash index 8b90352ebfe..72bfac67cea 100644 --- a/package/php-xdebug/php-xdebug.hash +++ b/package/php-xdebug/php-xdebug.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ef479ee1a3da3f933e0d046ca8cd0c14601f29b2c0c41cc60c9388546a4e0272 LICENSE -sha256 e330c5ccb77890b06dd7bf093567051450b2438b79fed8e7e6c4834278d46092 php-xdebug-2.9.6.tar.gz +sha256 7e4f28fc65c8b535de43b6d2ec57429476a6de1d53c4d440a9108ae8d28e01f4 php-xdebug-3.0.4.tar.gz +sha256 ef479ee1a3da3f933e0d046ca8cd0c14601f29b2c0c41cc60c9388546a4e0272 LICENSE diff --git a/package/php-xdebug/php-xdebug.mk b/package/php-xdebug/php-xdebug.mk index ab6ade4cb12..18ebc325924 100644 --- a/package/php-xdebug/php-xdebug.mk +++ b/package/php-xdebug/php-xdebug.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_XDEBUG_VERSION = 2.9.6 +PHP_XDEBUG_VERSION = 3.0.4 PHP_XDEBUG_SITE = $(call github,xdebug,xdebug,$(PHP_XDEBUG_VERSION)) PHP_XDEBUG_INSTALL_STAGING = YES PHP_XDEBUG_LICENSE = Xdebug License (PHP-3.0-like) diff --git a/package/php-yaml/php-yaml.hash b/package/php-yaml/php-yaml.hash index c29c3e66ad2..e4f31cdad98 100644 --- a/package/php-yaml/php-yaml.hash +++ b/package/php-yaml/php-yaml.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9786b0386e648f12cc18a038358bd57bee4906e350a2e9ab776d6a5f18fc6680 yaml-2.0.4.tgz -sha256 68d9700294396c72089bfc7bf38a5b3654a53ae415f3bd37768848c14e86f338 LICENSE +sha256 e17ad04e752e25fd099bddd2df9d26dfef183c8d00c4179bc9d7a2e1c97d7819 yaml-2.2.1.tgz +sha256 68d9700294396c72089bfc7bf38a5b3654a53ae415f3bd37768848c14e86f338 LICENSE diff --git a/package/php-yaml/php-yaml.mk b/package/php-yaml/php-yaml.mk index e23d8979786..ba16c9ac625 100644 --- a/package/php-yaml/php-yaml.mk +++ b/package/php-yaml/php-yaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_YAML_VERSION = 2.0.4 +PHP_YAML_VERSION = 2.2.1 PHP_YAML_SOURCE = yaml-$(PHP_YAML_VERSION).tgz PHP_YAML_SITE = https://pecl.php.net/get PHP_YAML_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch b/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch deleted file mode 100644 index 83cdb045307..00000000000 --- a/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch +++ /dev/null @@ -1,271 +0,0 @@ -From 6ea688eff5157785267d2b671cf62d296288847f Mon Sep 17 00:00:00 2001 -From: Alex/AT -Date: Mon, 10 Dec 2018 06:02:27 +0300 -Subject: [PATCH] PHP 7.3 compatibility and bugfixes - -- Define new GC_ADDREF/DELREF/SET_REFCOUNT macros for older PHP versions and use them instead of direct GC reference counter access - -- Fixup all necessary 'long' type parameters to 'zend_long', PHP 7.3 makes it mandatory, also fixup some direct function implementations to accept the same - -- In php_zmq_recv(), zend_string_init() was wrongly called with third parameter as '1', marking new string with IS_STR_PERSISTENT, this caused heap corruption and/or segfaults with PHP 7.3 and could possibly cause other sorts of bugs under any 7.x version - With ZVAL_STRINGL macro, this last '1' parameter meant to copy the string and was seemingly erroneously moved to zend_string_init(). zend_string_init() copies string by default, and last parameter has totally different meaning here - -- In poll(), flag ZVAL separation on passed arrays (PHP 7.3 makes it mandatory) - -- Test 19 (exception on connect callback with forced reference parameter): skip on PHP 7.1 and higher, PHP >= 7.1 started to fallback to passing argument by value instead of failing - -- Test 21 (warning generation from callback): it is ok, but PHP 7.3 uses 'int' instead of 'integer' for constants, so allow any word in place of the word 'integer' - -[Frank: backport from upstream PR https://github.com/mkoppanen/php-zmq/pull/195] -Signed-off-by: Frank Hunleth ---- - php_zmq.h | 6 ++++ - tests/019-callbackinvalidsignature.phpt | 3 +- - tests/021-callbackwarning.phpt | 2 +- - zmq.c | 40 ++++++++++++------------- - zmq_sockopt.c | 4 +-- - 5 files changed, 30 insertions(+), 25 deletions(-) - -diff --git a/php_zmq.h b/php_zmq.h -index ef50bfb..3833967 100644 ---- a/php_zmq.h -+++ b/php_zmq.h -@@ -44,6 +44,12 @@ - - #include "php.h" - -+#if PHP_VERSION_ID < 70300 -+#define GC_ADDREF(p) ++GC_REFCOUNT(p) -+#define GC_DELREF(p) --GC_REFCOUNT(p) -+#define GC_SET_REFCOUNT(p, rc) GC_REFCOUNT(p) = rc -+#endif -+ - extern zend_module_entry zmq_module_entry; - #define phpext_zmq_ptr &zmq_module_entry - -diff --git a/tests/019-callbackinvalidsignature.phpt b/tests/019-callbackinvalidsignature.phpt -index 753de31..b5bb20c 100644 ---- a/tests/019-callbackinvalidsignature.phpt -+++ b/tests/019-callbackinvalidsignature.phpt -@@ -1,7 +1,8 @@ - --TEST-- - Test callback edge-cases - --SKIPIF-- -- -+= 70100) die("skip PHP 7.1 and higher fallback to passing argument by value even when forced to reference"); ?> - --FILE-- - val, plist_key->len, &le, sizeof(le)) == NULL) { -@@ -369,7 +369,7 @@ PHP_METHOD(zmq, curvekeypair) - PHP_METHOD(zmqcontext, __construct) - { - php_zmq_context_object *intern; -- long io_threads = 1; -+ zend_long io_threads = 1; - zend_bool is_persistent = 1; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|lb", &io_threads, &is_persistent) == FAILURE) { -@@ -495,7 +495,7 @@ PHP_METHOD(zmqcontext, getOpt) - Create a new zmq socket - */ - static --php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, int type, zend_bool is_persistent) -+php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, zend_long type, zend_bool is_persistent) - { - php_zmq_socket *zmq_sock; - -@@ -503,7 +503,7 @@ php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, int type, zend_bool - zmq_sock->z_socket = zmq_socket(context->z_ctx, type); - zmq_sock->pid = getpid(); - zmq_sock->ctx = context; -- zmq_sock->socket_type = type; -+ zmq_sock->socket_type = type; - - if (!zmq_sock->z_socket) { - pefree(zmq_sock, is_persistent); -@@ -535,7 +535,7 @@ void php_zmq_socket_store(php_zmq_socket *zmq_sock_p, zend_long type, zend_strin - le.type = php_zmq_socket_list_entry(); - le.ptr = zmq_sock_p; - -- GC_REFCOUNT(&le) = 1; -+ GC_SET_REFCOUNT(&le, 1); - - plist_key = php_zmq_socket_plist_key(type, persistent_id, use_shared_ctx); - -@@ -796,7 +796,7 @@ PHP_METHOD(zmqsocket, __construct) - - /* {{{ static zend_bool php_zmq_send(php_zmq_socket_object *intern, char *message_param, long flags) - */ --static zend_bool php_zmq_send(php_zmq_socket_object *intern, zend_string *message_param, long flags) -+static zend_bool php_zmq_send(php_zmq_socket_object *intern, zend_string *message_param, zend_long flags) - { - int rc, errno_; - zmq_msg_t message; -@@ -828,7 +828,7 @@ static void php_zmq_sendmsg_impl(INTERNAL_FUNCTION_PARAMETERS) - { - php_zmq_socket_object *intern; - zend_string *message_param; -- long flags = 0; -+ zend_long flags = 0; - zend_bool ret; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|l", &message_param, &flags) == FAILURE) { -@@ -890,7 +890,7 @@ PHP_METHOD(zmqsocket, sendmulti) - zval *messages; - php_zmq_socket_object *intern; - int to_send, ret = 0; -- long flags = 0; -+ zend_long flags = 0; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "a|l", &messages, &flags) == FAILURE) { - return; -@@ -910,7 +910,7 @@ PHP_METHOD(zmqsocket, sendmulti) - /* {{{ static zend_bool php_zmq_recv(php_zmq_socket_object *intern, long flags, zval *return_value) - */ - static --zend_string *php_zmq_recv(php_zmq_socket_object *intern, long flags) -+zend_string *php_zmq_recv(php_zmq_socket_object *intern, zend_long flags) - { - int rc, errno_; - zmq_msg_t message; -@@ -933,7 +933,7 @@ zend_string *php_zmq_recv(php_zmq_socket_object *intern, long flags) - return NULL; - } - -- str = zend_string_init(zmq_msg_data(&message), zmq_msg_size(&message), 1); -+ str = zend_string_init(zmq_msg_data(&message), zmq_msg_size(&message), 0); - zmq_msg_close(&message); - return str; - } -@@ -943,7 +943,7 @@ static void php_zmq_recvmsg_impl(INTERNAL_FUNCTION_PARAMETERS) - { - zend_string *str = NULL; - php_zmq_socket_object *intern; -- long flags = 0; -+ zend_long flags = 0; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &flags) == FAILURE) { - return; -@@ -974,7 +974,7 @@ PHP_METHOD(zmqsocket, recvmulti) - { - php_zmq_socket_object *intern; - size_t value_len; -- long flags = 0; -+ zend_long flags = 0; - #if ZMQ_VERSION_MAJOR < 3 - int64_t value; - #else -@@ -1303,7 +1303,7 @@ PHP_METHOD(zmqpoll, add) - { - php_zmq_poll_object *intern; - zval *object; -- long events; -+ zend_long events; - int error; - zend_string *key; - -@@ -1423,10 +1423,10 @@ PHP_METHOD(zmqpoll, poll) - php_zmq_poll_object *intern; - zval *r_array, *w_array; - -- long timeout = -1; -+ zend_long timeout = -1; - int rc; - -- if (zend_parse_parameters(ZEND_NUM_ARGS(), "a!a!|l", &r_array, &w_array, &timeout) == FAILURE) { -+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a!/a!/|l", &r_array, &w_array, &timeout) == FAILURE) { - return; - } - -@@ -1592,7 +1592,7 @@ void s_clear_device_callback (php_zmq_device_cb_t *cb) - } - - static --void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend_fcall_info_cache *fci_cache, long timeout, zval *user_data) -+void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend_fcall_info_cache *fci_cache, zend_long timeout, zval *user_data) - { - memcpy (&cb->fci, fci, sizeof (zend_fcall_info)); - memcpy (&cb->fci_cache, fci_cache, sizeof (zend_fcall_info_cache)); -@@ -1615,7 +1615,7 @@ void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend - PHP_METHOD(zmqdevice, setidletimeout) - { - php_zmq_device_object *intern; -- long timeout; -+ zend_long timeout; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &timeout) == FAILURE) { - return; -@@ -1644,7 +1644,7 @@ PHP_METHOD(zmqdevice, getidletimeout) - PHP_METHOD(zmqdevice, settimertimeout) - { - php_zmq_device_object *intern; -- long timeout; -+ zend_long timeout; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &timeout) == FAILURE) { - return; -@@ -1676,7 +1676,7 @@ PHP_METHOD(zmqdevice, setidlecallback) - zval *user_data = NULL; - zend_fcall_info fci; - zend_fcall_info_cache fci_cache; -- long timeout = 0; -+ zend_long timeout = 0; - - if (ZEND_NUM_ARGS() == 2) { - php_error_docref(NULL, E_DEPRECATED, "The signature for setIdleCallback has changed, please update your code"); -@@ -1718,7 +1718,7 @@ PHP_METHOD(zmqdevice, settimercallback) - zval *user_data = NULL; - zend_fcall_info fci; - zend_fcall_info_cache fci_cache; -- long timeout; -+ zend_long timeout; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "fl|z!", &fci, &fci_cache, &timeout, &user_data) == FAILURE) { - return; -diff --git a/zmq_sockopt.c b/zmq_sockopt.c -index 1357032..3a00421 100644 ---- a/zmq_sockopt.c -+++ b/zmq_sockopt.c -@@ -1,5 +1,3 @@ -- -- - /* - +-----------------------------------------------------------------------------------+ - | ZMQ extension for PHP | -@@ -2033,7 +2031,7 @@ PHP_METHOD(zmqsocket, getsockopt) - PHP_METHOD(zmqsocket, setsockopt) - { - php_zmq_socket_object *intern; -- long key; -+ zend_long key; - zval *zv; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz/", &key, &zv) == FAILURE) { --- -2.17.1 - diff --git a/package/php-zmq/0001-updates-for-php7.4-and-php8.0.patch b/package/php-zmq/0001-updates-for-php7.4-and-php8.0.patch new file mode 100644 index 00000000000..3c286e39239 --- /dev/null +++ b/package/php-zmq/0001-updates-for-php7.4-and-php8.0.patch @@ -0,0 +1,230 @@ +From 4ad1b33e095924bd4ccf79295999dd54edaaac37 Mon Sep 17 00:00:00 2001 +From: Luca Boccassi +Date: Thu, 5 Mar 2020 22:51:22 +0000 +Subject: [PATCH] updates for php7.4 and php8.0 (#212) + +From upstream commit: 4ad1b33e095924bd4ccf79295999dd54edaaac37 + +* travisci: enabled php7.4 and php8.0 + +* updates for php7.4 and php8.0 + +- travisci enabled php7.4 and php8.0 +- removed now unused references to TSRMLS_* + These flags were mostly already removed from the + php7 codebase but some instances were still present. + With php8 these produce compile errors. +- fix tests for php8 and php7.4 + New TypeErrors now get handled correctly in the test cases. +- fix memory corruption in zmq.c + The conflicting line causes memory leaks on other php + version and causes a segfault on php8 and php7.4 + The error was provocable with test case + 021-callbackwarning.phpt. After removing of the line + valgrind showed no memory leak, so this line was probably + redundant. Also if you compare with zmqsocket constructor + this line is also not present. + +Signed-off-by: Luca Boccassi +Signed-off-by: Adam Duskett +--- + php_zmq_private.h | 4 ++-- + tests/016-callbackinvalidargs.phpt | 4 ++++ + tests/022-highwatermark.phpt | 6 +++--- + tests/bug_gh_43.phpt | 25 +++++++++++++++++-------- + zmq.c | 1 - + zmq_device.c | 14 +++++++------- + zmq_sockopt.c | 2 +- + 7 files changed, 34 insertions(+), 22 deletions(-) + +diff --git a/php_zmq_private.h b/php_zmq_private.h +index 49630e9..2e5cd3b 100644 +--- a/php_zmq_private.h ++++ b/php_zmq_private.h +@@ -156,9 +156,9 @@ typedef struct _php_zmq_device_object { + + #define PHP_ZMQ_ERROR_HANDLING_INIT() zend_error_handling error_handling; + +-#define PHP_ZMQ_ERROR_HANDLING_THROW() zend_replace_error_handling(EH_THROW, php_zmq_socket_exception_sc_entry, &error_handling TSRMLS_CC); ++#define PHP_ZMQ_ERROR_HANDLING_THROW() zend_replace_error_handling(EH_THROW, php_zmq_socket_exception_sc_entry, &error_handling); + +-#define PHP_ZMQ_ERROR_HANDLING_RESTORE() zend_restore_error_handling(&error_handling TSRMLS_CC); ++#define PHP_ZMQ_ERROR_HANDLING_RESTORE() zend_restore_error_handling(&error_handling); + + /* Compatibility macros between zeromq 2.x and 3.x */ + #ifndef ZMQ_DONTWAIT +diff --git a/tests/016-callbackinvalidargs.phpt b/tests/016-callbackinvalidargs.phpt +index a940e41..6bd0e75 100644 +--- a/tests/016-callbackinvalidargs.phpt ++++ b/tests/016-callbackinvalidargs.phpt +@@ -10,6 +10,8 @@ try { + echo "Fail\n"; + } catch (ZMQSocketException $e) { + echo "OK\n"; ++} catch (TypeError $e) { ++ echo "OK\n"; // on PHP8 + } + + try { +@@ -18,6 +20,8 @@ try { + echo "Fail\n"; + } catch (ZMQSocketException $e) { + echo "OK\n"; ++} catch (TypeError $e) { ++ echo "OK\n"; // on PHP8 + } + + --EXPECT-- +diff --git a/tests/022-highwatermark.phpt b/tests/022-highwatermark.phpt +index 84be509..c1ff703 100644 +--- a/tests/022-highwatermark.phpt ++++ b/tests/022-highwatermark.phpt +@@ -1,11 +1,11 @@ + --TEST-- + Test that high-watermark works + --SKIPIF-- +- +- ++ + --FILE-- + +- +---EXPECTF-- +-Warning: ZMQDevice::__construct() expects at most 3 parameters, 4 given in %s/bug_gh_43.php on line %d +-OK +\ No newline at end of file ++try { ++ $device = new ZMQDevice ($sock1, $sock1, $sock1, $sock1); ++ // on PHP7 and lower ++ $lastError = error_get_last(); ++ if(strpos($lastError['message'], 'ZMQDevice::__construct() expects at most 3 parameters, 4 given') !== false) ++ echo "OK\n"; ++ else{ ++ echo "FAIL\n"; ++ print_r($lastError); ++ } ++}catch(TypeError $e){ ++ echo "OK\n"; // on PHP8 ++} ++--EXPECT-- ++OK +diff --git a/zmq.c b/zmq.c +index 942e69b..66196ea 100644 +--- a/zmq.c ++++ b/zmq.c +@@ -687,7 +687,6 @@ PHP_METHOD(zmqcontext, getsocket) + if (!php_zmq_connect_callback(return_value, &fci, &fci_cache, persistent_id)) { + php_zmq_socket_destroy(socket); + interns->socket = NULL; +- zval_dtor(return_value); + return; + } + } +diff --git a/zmq_device.c b/zmq_device.c +index c7415c1..534f966 100644 +--- a/zmq_device.c ++++ b/zmq_device.c +@@ -41,7 +41,7 @@ + ZEND_EXTERN_MODULE_GLOBALS(php_zmq) + + static +-zend_bool s_invoke_device_cb (php_zmq_device_cb_t *cb, uint64_t current_ts TSRMLS_DC) ++zend_bool s_invoke_device_cb (php_zmq_device_cb_t *cb, uint64_t current_ts) + { + zend_bool retval = 0; + zval params[1]; +@@ -59,7 +59,7 @@ zend_bool s_invoke_device_cb (php_zmq_device_cb_t *cb, uint64_t current_ts TSRML + if (zend_call_function(&(cb->fci), &(cb->fci_cache)) == FAILURE) { + if (!EG(exception)) { + char *func_name = php_zmq_printable_func(&cb->fci, &cb->fci_cache); +- zend_throw_exception_ex(php_zmq_device_exception_sc_entry_get (), 0 TSRMLS_CC, "Failed to invoke device callback %s()", func_name); ++ zend_throw_exception_ex(php_zmq_device_exception_sc_entry_get (), 0, "Failed to invoke device callback %s()", func_name); + zval_ptr_dtor(¶ms[0]); + efree(func_name); + } +@@ -94,7 +94,7 @@ int s_capture_message (void *socket, zmq_msg_t *msg, int more) + } + + static +-int s_calculate_timeout (php_zmq_device_object *intern TSRMLS_DC) ++int s_calculate_timeout (php_zmq_device_object *intern) + { + int timeout = -1; + uint64_t current = php_zmq_clock (ZMQ_G (clock_ctx)); +@@ -131,7 +131,7 @@ int s_calculate_timeout (php_zmq_device_object *intern TSRMLS_DC) + } + + +-zend_bool php_zmq_device (php_zmq_device_object *intern TSRMLS_DC) ++zend_bool php_zmq_device (php_zmq_device_object *intern) + { + int errno_; + uint64_t last_message_received; +@@ -186,7 +186,7 @@ zend_bool php_zmq_device (php_zmq_device_object *intern TSRMLS_DC) + uint64_t current_ts = 0; + + /* Calculate poll_timeout based on idle / timer cb */ +- int timeout = s_calculate_timeout (intern TSRMLS_CC); ++ int timeout = s_calculate_timeout (intern); + + rc = zmq_poll(&items [0], 2, timeout); + if (rc < 0) { +@@ -205,7 +205,7 @@ zend_bool php_zmq_device (php_zmq_device_object *intern TSRMLS_DC) + if (intern->timer_cb.initialized && intern->timer_cb.timeout > 0) { + /* Is it timer to call the timer ? */ + if (intern->timer_cb.scheduled_at <= current_ts) { +- if (!s_invoke_device_cb (&intern->timer_cb, current_ts TSRMLS_CC)) { ++ if (!s_invoke_device_cb (&intern->timer_cb, current_ts)) { + zmq_msg_close (&msg); + return 1; + } +@@ -217,7 +217,7 @@ zend_bool php_zmq_device (php_zmq_device_object *intern TSRMLS_DC) + /* Is it timer to call the idle callback ? */ + if ((current_ts - last_message_received) >= intern->idle_cb.timeout && + intern->idle_cb.scheduled_at <= current_ts) { +- if (!s_invoke_device_cb (&intern->idle_cb, current_ts TSRMLS_CC)) { ++ if (!s_invoke_device_cb (&intern->idle_cb, current_ts)) { + zmq_msg_close (&msg); + return 1; + } +diff --git a/zmq_sockopt.c b/zmq_sockopt.c +index 1357032..14b59f0 100644 +--- a/zmq_sockopt.c ++++ b/zmq_sockopt.c +@@ -2036,7 +2036,7 @@ PHP_METHOD(zmqsocket, setsockopt) + long key; + zval *zv; + +- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz/", &key, &zv) == FAILURE) { ++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "lz/", &key, &zv) == FAILURE) { + return; + } + +-- +2.31.1 + diff --git a/package/php-zmq/0002-fix-for-php-7.3.patch b/package/php-zmq/0002-fix-for-php-7.3.patch new file mode 100644 index 00000000000..3ca87582cbf --- /dev/null +++ b/package/php-zmq/0002-fix-for-php-7.3.patch @@ -0,0 +1,43 @@ +From e0db82c3286da81fa8945894dd10125a528299e4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Gr=C3=A9gory=20PLANCHAT?= + +Date: Wed, 8 Jul 2020 10:09:38 +0200 +Subject: [PATCH] Fix for PHP 7.3 (#215) + +Co-authored-by: Remi Collet +Signed-off-by: Adam Duskett +--- + zmq.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/zmq.c b/zmq.c +index 66196ea..879704f 100644 +--- a/zmq.c ++++ b/zmq.c +@@ -235,7 +235,11 @@ php_zmq_context *php_zmq_context_get(zend_long io_threads, zend_bool is_persiste + le.type = php_zmq_context_list_entry(); + le.ptr = context; + ++#if PHP_VERSION_ID < 70300 + GC_REFCOUNT(&le) = 1; ++#else ++ GC_SET_REFCOUNT(&le, 1); ++#endif + + /* plist_key is not a persistent allocated key, thus we use str_update here */ + if (zend_hash_str_update_mem(&EG(persistent_list), plist_key->val, plist_key->len, &le, sizeof(le)) == NULL) { +@@ -535,7 +539,11 @@ void php_zmq_socket_store(php_zmq_socket *zmq_sock_p, zend_long type, zend_strin + le.type = php_zmq_socket_list_entry(); + le.ptr = zmq_sock_p; + ++#if PHP_VERSION_ID < 70300 + GC_REFCOUNT(&le) = 1; ++#else ++ GC_SET_REFCOUNT(&le, 1); ++#endif + + plist_key = php_zmq_socket_plist_key(type, persistent_id, use_shared_ctx); + +-- +2.31.1 + diff --git a/package/php-zmq/0003-fix-for-php-8.0.0beta2.patch b/package/php-zmq/0003-fix-for-php-8.0.0beta2.patch new file mode 100644 index 00000000000..c5aab16ab7d --- /dev/null +++ b/package/php-zmq/0003-fix-for-php-8.0.0beta2.patch @@ -0,0 +1,40 @@ +From f0993f1fe973c4d359323ad1897ed7aa74f7e015 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Mon, 24 Aug 2020 15:55:54 +0200 +Subject: [PATCH] fix for PHP 8.0.0beta2 + +Signed-off-by: Remi Collet +Signed-off-by: Adam Duskett +--- + zmq.c | 2 ++ + zmq_device.c | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/zmq.c b/zmq.c +index 89902f9..bd2401d 100644 +--- a/zmq.c ++++ b/zmq.c +@@ -621,7 +621,9 @@ zend_bool php_zmq_connect_callback(zval *socket, zend_fcall_info *fci, zend_fcal + fci->params = params; + fci->param_count = 2; + fci->retval = &retval; ++#if PHP_VERSION_ID < 80000 + fci->no_separation = 1; ++#endif + + if (zend_call_function(fci, fci_cache) == FAILURE) { + if (!EG(exception)) { +diff --git a/zmq_device.c b/zmq_device.c +index 534f966..1c6aa3e 100644 +--- a/zmq_device.c ++++ b/zmq_device.c +@@ -53,7 +53,9 @@ zend_bool s_invoke_device_cb (php_zmq_device_cb_t *cb, uint64_t current_ts) + cb->fci.param_count = 1; + + /* Call the cb */ ++#if PHP_VERSION_ID < 80000 + cb->fci.no_separation = 1; ++#endif + cb->fci.retval = &fc_retval; + + if (zend_call_function(&(cb->fci), &(cb->fci_cache)) == FAILURE) { diff --git a/package/php/0001-acinclude.m4-don-t-unset-variables.patch b/package/php/0001-acinclude.m4-don-t-unset-variables.patch index 982857a3572..2d155527838 100644 --- a/package/php/0001-acinclude.m4-don-t-unset-variables.patch +++ b/package/php/0001-acinclude.m4-don-t-unset-variables.patch @@ -17,7 +17,7 @@ diff --git a/build/php.m4 b/build/php.m4 index e91ef988..9586c490 100644 --- a/build/php.m4 +++ b/build/php.m4 -@@ -1587,8 +1587,6 @@ dnl PHP_CHECK_FUNC_LIB +@@ -1568,8 +1568,6 @@ dnl PHP_CHECK_FUNC_LIB dnl AC_DEFUN([PHP_CHECK_FUNC_LIB],[ ifelse($2,,:,[ @@ -26,7 +26,7 @@ index e91ef988..9586c490 100644 unset found AC_CHECK_LIB($2, $1, [found=yes], [ AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) -@@ -1620,8 +1618,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and +@@ -1601,8 +1599,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and dnl HAVE_library if found and adds the library to LIBS. dnl AC_DEFUN([PHP_CHECK_FUNC],[ diff --git a/package/php/0002-iconv-tweak-iconv-detection.patch b/package/php/0002-iconv-tweak-iconv-detection.patch index 65ed6055bcb..19d7ab5cf92 100644 --- a/package/php/0002-iconv-tweak-iconv-detection.patch +++ b/package/php/0002-iconv-tweak-iconv-detection.patch @@ -14,60 +14,26 @@ Signed-off-by: Gustavo Zacarias [Gustavo: convert to nice m4 instead of patching configure] [Gustavo: update for 5.6.10] Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.3.0] +[aduskett@gmail.com: Update for 8.0.7] Signed-off-by: Bernd Kuhls [Bernd: rebased for 7.4.10 & 7.4.13] --- - build/php.m4 | 2 +- - ext/iconv/config.m4 | 22 ---------------------- - 2 files changed, 1 insertion(+), 23 deletions(-) + build/php.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/php.m4 b/build/php.m4 index 9586c490..8b3d47ed 100644 --- a/build/php.m4 +++ b/build/php.m4 -@@ -1973,7 +1973,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ +@@ -1937,7 +1937,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl Check external libs for iconv funcs. if test "$found_iconv" = "no"; then - for i in $PHP_ICONV /usr/local /usr; do + for i in $PHP_ICONV; do - if test -r $i/include/giconv.h; then - AC_DEFINE(HAVE_GICONV_H, 1, [ ]) + if test -r $i/include/gnu-libiconv/iconv.h; then ICONV_DIR=$i -diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 -index fe9b47aa..70599694 100644 ---- a/ext/iconv/config.m4 -+++ b/ext/iconv/config.m4 -@@ -13,28 +13,6 @@ if test "$PHP_ICONV" != "no"; then - ]) - - if test "$iconv_avail" != "no"; then -- if test -z "$ICONV_DIR"; then -- for i in /usr/local /usr; do -- if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then -- PHP_ICONV_PREFIX="$i" -- break -- fi -- done -- if test -z "$PHP_ICONV_PREFIX"; then -- PHP_ICONV_PREFIX="/usr" -- fi -- else -- PHP_ICONV_PREFIX="$ICONV_DIR" -- fi -- -- CFLAGS="-I$PHP_ICONV_PREFIX/include $CFLAGS" -- LDFLAGS="-L$PHP_ICONV_PREFIX/$PHP_LIBDIR $LDFLAGS" -- -- if test -r "$PHP_ICONV_PREFIX/include/giconv.h"; then -- PHP_ICONV_H_PATH="$PHP_ICONV_PREFIX/include/giconv.h" -- else -- PHP_ICONV_H_PATH="$PHP_ICONV_PREFIX/include/iconv.h" -- fi - - AC_MSG_CHECKING([if iconv is glibc's]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[gnu_get_libc_version();]])],[ + ICONV_INCLUDE_DIR=$i/include/gnu-libiconv -- -2.7.4 +2.31.1 diff --git a/package/php/0003-configure-disable-the-phar-tool.patch b/package/php/0003-configure-disable-the-phar-tool.patch index 4a25ec05c18..cc4f55a8c83 100644 --- a/package/php/0003-configure-disable-the-phar-tool.patch +++ b/package/php/0003-configure-disable-the-phar-tool.patch @@ -11,7 +11,7 @@ on the target. Signed-off-by: Gustavo Zacarias [Gustavo: update for autoreconf/configure.in] Signed-off-by: Adam Duskett -[Aduskett: update for 7.3.0] +[Aduskett: update for 8.0.7] Signed-off-by: Bernd Kuhls [Bernd: rebased for 7.4.10 & 7.4.13] --- @@ -22,8 +22,8 @@ diff --git a/configure.ac b/configure.ac index 0dfab302..6026fb66 100644 --- a/configure.ac +++ b/configure.ac -@@ -1454,13 +1454,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" - INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag" +@@ -1423,13 +1423,8 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)" + CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)" -if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then diff --git a/package/php/0004-Call-apxs-with-correct-prefix.patch b/package/php/0004-Call-apxs-with-correct-prefix.patch index a0a07157891..3a1a5800847 100644 --- a/package/php/0004-Call-apxs-with-correct-prefix.patch +++ b/package/php/0004-Call-apxs-with-correct-prefix.patch @@ -7,7 +7,7 @@ php uses apache's apxs script from staging directory to install libphp dynamic library and update /etc/apache2/httpd.conf in the staging and target directories. Here is the full command line: "apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/modules' - -S SYSCONFDIR='$(INSTALL_ROOT)/etc/apache2' -i -a -n php7" + -S SYSCONFDIR='$(INSTALL_ROOT)/etc/apache2' -i -a -n php" This does not work for target directory as apxs sets the full path of the library and not the relative one. Indeed, apxs is smart enough to substitute away the prefix specified in $(STAGING_DIR)/usr/build/config_vars.mk so @@ -16,7 +16,7 @@ To fix this, add -S PREFIX='$(INSTALL_ROOT)/usr' to apxs call in configure Signed-off-by: Fabrice Fontaine Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.3.0] +[aduskett@gmail.com: Update for 8.0.7] --- sapi/apache2handler/config.m4 | 3 +++ 1 file changed, 3 insertions(+) @@ -35,7 +35,7 @@ index 55c16179..68ce66c0 100644 INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ + -S PREFIX='$APXS_PREFIX' \ - -i -n php7" + -i -n php" else APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` @@ -74,6 +76,7 @@ if test "$PHP_APXS2" != "no"; then @@ -43,7 +43,7 @@ index 55c16179..68ce66c0 100644 $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -S SYSCONFDIR='$APXS_SYSCONFDIR' \ + -S PREFIX='$APXS_PREFIX' \ - -i -a -n php7" + -i -a -n php" fi -- diff --git a/package/php/0005-allow-opcache-cross-compiling.patch b/package/php/0005-allow-opcache-cross-compiling.patch new file mode 100644 index 00000000000..d168f718923 --- /dev/null +++ b/package/php/0005-allow-opcache-cross-compiling.patch @@ -0,0 +1,37 @@ +From 9bb316c41a69935ee2072626467241889594bed4 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 28 Jun 2021 11:12:36 -0700 +Subject: [PATCH] allow opcache cross-compiling + +Remove the check at the end of ext/opcache/config.m4 that prevents opcache from +being enabled in a cross-compiled environment. We pass the following as a +CFLAGS when opcache is enabled: + -DHAVE_SHM_IPC + -DHAVE_SHM_MMAP_ANON + -DHAVE_SHM_MMAP_ZERO + -DHAVE_SHM_MMAP_POSIX + -DHAVE_SHM_MMAP_FILE + +Signed-off-by: Adam Duskett +--- + ext/opcache/config.m4 | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 +index 5492fd92..10c150ff 100644 +--- a/ext/opcache/config.m4 ++++ b/ext/opcache/config.m4 +@@ -339,10 +339,6 @@ int main() { + PHP_ADD_BUILD_DIR([$ext_builddir/Optimizer], 1) + PHP_ADD_EXTENSION_DEP(opcache, pcre) + +- if test "$have_shm_ipc" != "yes" && test "$have_shm_mmap_posix" != "yes" && test "$have_shm_mmap_anon" != "yes"; then +- AC_MSG_ERROR([No supported shared memory caching support was found when configuring opcache. Check config.log for any errors or missing dependencies.]) +- fi +- + if test "$PHP_OPCACHE_JIT" = "yes"; then + PHP_ADD_BUILD_DIR([$ext_builddir/jit], 1) + PHP_ADD_MAKEFILE_FRAGMENT($ext_srcdir/jit/Makefile.frag) +-- +2.31.1 + diff --git a/package/php/Config.ext b/package/php/Config.ext index 44afea010b6..1c2af9fd157 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -10,8 +10,12 @@ config BR2_PACKAGE_PHP_EXT_FILEINFO help File Information support +comment "OPcache needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_PHP_EXT_OPCACHE bool "OPcache" + depends on !BR2_STATIC_LIBS help Enable the Zend OPcache accelerator. @@ -83,15 +87,13 @@ config BR2_PACKAGE_PHP_EXT_LIBSODIUM help libsodium support -config BR2_PACKAGE_PHP_EXT_MCRYPT - bool "mcrypt" - select BR2_PACKAGE_LIBMCRYPT - help - mcrypt support - config BR2_PACKAGE_PHP_EXT_OPENSSL bool "openssl" select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help openssl support @@ -139,6 +141,7 @@ config BR2_PACKAGE_PHP_EXT_PGSQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help PostgreSQL support @@ -147,6 +150,9 @@ comment "PostgreSQL extension needs a toolchain w/ dynamic library, wchar" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "PostgreSQL extension can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_PHP_EXT_SQLITE bool "SQLite3" select BR2_PACKAGE_SQLITE @@ -170,6 +176,7 @@ config BR2_PACKAGE_PHP_EXT_PDO_POSTGRESQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help PDO driver for PostgreSQL @@ -178,6 +185,9 @@ comment "PostgreSQL drivers need a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "PostgreSQL drivers can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_PHP_EXT_PDO_SQLITE bool "SQLite3" select BR2_PACKAGE_SQLITE @@ -270,11 +280,6 @@ config BR2_PACKAGE_PHP_EXT_GMP comment "Other basic extensions" -config BR2_PACKAGE_PHP_EXT_JSON - bool "JSON" - help - JavaScript Object Serialization support - config BR2_PACKAGE_PHP_EXT_TOKENIZER bool "Tokenizer" help @@ -360,13 +365,6 @@ config BR2_PACKAGE_PHP_EXT_SOAP help SOAP support -config BR2_PACKAGE_PHP_EXT_XMLRPC - bool "XML-RPC" - select BR2_PACKAGE_PHP_EXT_LIBXML2 - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - help - XML-RPC support - comment "XML manipulation" config BR2_PACKAGE_PHP_EXT_DOM diff --git a/package/php/Config.in b/package/php/Config.in index 6fa420428b5..226d2d5fd24 100644 --- a/package/php/Config.in +++ b/package/php/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_PHP # message like "ld.real: section .junk LMA [...,...] overlaps # section .text LMA [...,...]" depends on !BR2_BINFMT_FLAT + depends on BR2_USE_WCHAR select BR2_PACKAGE_PHP_SAPI_CGI if \ !BR2_PACKAGE_PHP_SAPI_APACHE && \ !BR2_PACKAGE_PHP_SAPI_CLI && \ @@ -49,3 +50,7 @@ config BR2_PACKAGE_PHP_SAPI_FPM source "package/php/Config.ext" endif + +comment "php needs a toolchain w/ wchar" + depends on !BR2_BINFMT_FLAT + depends on !BR2_USE_WCHAR diff --git a/package/php/php.hash b/package/php/php.hash index d60164d96f3..e0aca101b40 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,5 +1,5 @@ # From https://www.php.net/downloads.php -sha256 9b859c65f0cf7b3eff9d4a28cfab719fb3d36a1db3c20d874a79b5ec44d43cb8 php-7.4.15.tar.xz +sha256 ba62219c4b0486cbb2a04f0796749a46b0ee1f5a142ed454212b4e2460cb0fab php-8.0.19.tar.xz # License file -sha256 0967ad6cf4b7fe81d38709d7aaef3fecb3bd685be7eebb37b864aa34c991baa7 LICENSE +sha256 a188db807d711536f71e27b7d36879d63480f7994dc18adc08e624b3c5430fff LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index 5ae2467a78e..5053f34b855 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,8 +4,8 @@ # ################################################################################ -PHP_VERSION = 7.4.15 -PHP_SITE = http://www.php.net/distributions +PHP_VERSION = 8.0.19 +PHP_SITE = https://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES PHP_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install @@ -62,7 +62,7 @@ PHP_CXXFLAGS = $(TARGET_CXXFLAGS) # The OPcache extension isn't cross-compile friendly # Throw some defines here to avoid patching heavily ifeq ($(BR2_PACKAGE_PHP_EXT_OPCACHE),y) -PHP_CONF_OPTS += --enable-opcache +PHP_CONF_OPTS += --enable-opcache --disable-opcache-jit PHP_CONF_ENV += ac_cv_func_mprotect=yes PHP_CFLAGS += \ -DHAVE_SHM_IPC \ @@ -90,7 +90,7 @@ PHP_CONF_OPTS += --with-apxs2=$(STAGING_DIR)/usr/bin/apxs # Enable thread safety option if Apache MPM is event or worker ifeq ($(BR2_PACKAGE_APACHE_MPM_EVENT)$(BR2_PACKAGE_APACHE_MPM_WORKER),y) -PHP_CONF_OPTS += --enable-maintainer-zts +PHP_CONF_OPTS += --enable-zts endif endif @@ -107,7 +107,6 @@ PHP_CONF_OPTS += \ $(if $(BR2_PACKAGE_PHP_EXT_XMLWRITER),--enable-xmlwriter) \ $(if $(BR2_PACKAGE_PHP_EXT_EXIF),--enable-exif) \ $(if $(BR2_PACKAGE_PHP_EXT_FTP),--enable-ftp) \ - $(if $(BR2_PACKAGE_PHP_EXT_JSON),--enable-json) \ $(if $(BR2_PACKAGE_PHP_EXT_TOKENIZER),--enable-tokenizer) \ $(if $(BR2_PACKAGE_PHP_EXT_PCNTL),--enable-pcntl) \ $(if $(BR2_PACKAGE_PHP_EXT_SHMOP),--enable-shmop) \ @@ -137,11 +136,6 @@ PHP_CONF_OPTS += --enable-mbstring PHP_DEPENDENCIES += oniguruma endif -ifeq ($(BR2_PACKAGE_PHP_EXT_MCRYPT),y) -PHP_CONF_OPTS += --with-mcrypt=$(STAGING_DIR)/usr -PHP_DEPENDENCIES += libmcrypt -endif - ifeq ($(BR2_PACKAGE_PHP_EXT_OPENSSL),y) PHP_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr PHP_DEPENDENCIES += openssl @@ -161,13 +155,6 @@ PHP_CONF_OPTS += --enable-wddx --with-libexpat-dir=$(STAGING_DIR)/usr PHP_DEPENDENCIES += expat endif -ifeq ($(BR2_PACKAGE_PHP_EXT_XMLRPC),y) -PHP_CONF_OPTS += \ - --with-xmlrpc \ - $(if $(BR2_PACKAGE_LIBICONV),--with-iconv-dir=$(STAGING_DIR)/usr) -PHP_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) -endif - ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y) PHP_DEPENDENCIES += libzip endif diff --git a/package/picocom/picocom.mk b/package/picocom/picocom.mk index d27c7343766..2d585bb2f5f 100644 --- a/package/picocom/picocom.mk +++ b/package/picocom/picocom.mk @@ -8,6 +8,7 @@ PICOCOM_VERSION = 3.1 PICOCOM_SITE = $(call github,npat-efault,picocom,$(PICOCOM_VERSION)) PICOCOM_LICENSE = GPL-2.0+ PICOCOM_LICENSE_FILES = LICENSE.txt +PICOCOM_CPE_ID_VENDOR = picocom_project define PICOCOM_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) diff --git a/package/pifmrds/0003-Makefile-fix-static-link.patch b/package/pifmrds/0003-Makefile-fix-static-link.patch index ecd7c4fc4cb..3832b77d595 100644 --- a/package/pifmrds/0003-Makefile-fix-static-link.patch +++ b/package/pifmrds/0003-Makefile-fix-static-link.patch @@ -4,6 +4,8 @@ Since libsndfile uses funtions from libm, the -lm should be specified after libsndfile for static linking. Signed-off-by: "Eric Limpens" +[Fabrice: add $(SNDFILE_LIBS) to pass all dependencies from pkg-config] +Signed-off-by: Fabrice Fontaine diff -purN pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2.orig/src/Makefile pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2/src/Makefile --- pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2.orig/src/Makefile 2016-02-26 08:06:43.102962592 +0100 @@ -13,11 +15,11 @@ diff -purN pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2.orig/src/Makefile pi app: rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o - $(CC) $(LDFLAGS) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile -+ $(CC) $(LDFLAGS) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lsndfile -lm ++ $(CC) $(LDFLAGS) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o $(SNDFILE_LIBS) -lm rds_wav: rds.o waveforms.o rds_wav.o fm_mpx.o - $(CC) $(LDFLAGS) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile -+ $(CC) $(LDFLAGS) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lsndfile -lm ++ $(CC) $(LDFLAGS) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o $(SNDFILE_LIBS) -lm rds.o: rds.c waveforms.h $(CC) $(CFLAGS) rds.c diff --git a/package/pifmrds/pifmrds.mk b/package/pifmrds/pifmrds.mk index 509ec808768..33c13bae337 100644 --- a/package/pifmrds/pifmrds.mk +++ b/package/pifmrds/pifmrds.mk @@ -6,13 +6,14 @@ PIFMRDS_VERSION = 0bf57f9ce0d954365a38d8af8e7be6f28521c3f2 PIFMRDS_SITE = $(call github,ChristopheJacquet,PiFmRds,$(PIFMRDS_VERSION)) -PIFMRDS_DEPENDENCIES = libsndfile +PIFMRDS_DEPENDENCIES = host-pkgconf libsndfile PIFMRDS_LICENSE = GPL-3.0+ PIFMRDS_LICENSE_FILES = LICENSE define PIFMRDS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src CC="$(TARGET_CC)" LDFLAGS="$(TARGET_LDFLAGS)" \ CFLAGS="$(TARGET_CFLAGS) -std=gnu99 -ffast-math -c" \ + SNDFILE_LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs sndfile`" \ app rds_wav endef diff --git a/package/pigpio/pigpio.hash b/package/pigpio/pigpio.hash index b6de0c19f6d..fecb7ccbeb7 100644 --- a/package/pigpio/pigpio.hash +++ b/package/pigpio/pigpio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ef4a4dc7ca8ca2f97fbdb9fd75586f61be7222d0f6c14e58af6c9192ad42f682 pigpio-78.tar.gz +sha256 c5337c0b7ae888caf0262a6f476af0e2ab67065f7650148a0b21900b8d1eaed7 pigpio-79.tar.gz sha256 6a90b88421a0d9b090e121daa11b3c6d55eed5eeb3281a2fcc454d6a28b5547c UNLICENCE diff --git a/package/pigpio/pigpio.mk b/package/pigpio/pigpio.mk index 345b315c420..e34974972a9 100644 --- a/package/pigpio/pigpio.mk +++ b/package/pigpio/pigpio.mk @@ -4,7 +4,7 @@ # ################################################################################ -PIGPIO_VERSION = 78 +PIGPIO_VERSION = 79 PIGPIO_SITE = $(call github,joan2937,pigpio,v$(PIGPIO_VERSION)) PIGPIO_LICENSE = Unlicense PIGPIO_LICENSE_FILES = UNLICENCE diff --git a/package/pigz/pigz.mk b/package/pigz/pigz.mk index fdf5fa40e85..3e5e892797e 100644 --- a/package/pigz/pigz.mk +++ b/package/pigz/pigz.mk @@ -10,6 +10,7 @@ PIGZ_DEPENDENCIES = zlib HOST_PIGZ_DEPENDENCIES = host-zlib PIGZ_LICENSE = Zlib PIGZ_LICENSE_FILES = README +PIGZ_CPE_ID_VENDOR = zlib define PIGZ_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) diff --git a/package/pinentry/Config.in b/package/pinentry/Config.in index 684e4eed4a8..bd5e3af5a13 100644 --- a/package/pinentry/Config.in +++ b/package/pinentry/Config.in @@ -54,17 +54,17 @@ config BR2_PACKAGE_PINENTRY_GTK2 depends on BR2_USE_MMU depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libgtk2 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgtk2 -> pango -> harfbuzz select BR2_PACKAGE_LIBGTK2 select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help The pinentry-gtk2 tool -comment "pinentry-gtk2 needs X and a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "pinentry-gtk2 needs X and a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_PACKAGE_XORG7 || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_PINENTRY_QT5 @@ -74,6 +74,7 @@ config BR2_PACKAGE_PINENTRY_QT5 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_HOST_GCC_AT_LEAST_5 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on !BR2_ARM_CPU_ARMV4 depends on !BR2_arc depends on !BR2_STATIC_LIBS select BR2_PACKAGE_QT5 @@ -84,6 +85,7 @@ config BR2_PACKAGE_PINENTRY_QT5 comment "pinentry-qt5 needs a host gcc >= 5.0, and a toolchain w/ wchar, NPTL, gcc >= 5.0, C++, dynamic library" depends on !BR2_arc + depends on !BR2_ARM_CPU_ARMV4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_5 diff --git a/package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch b/package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch new file mode 100644 index 00000000000..fc1d25edb31 --- /dev/null +++ b/package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch @@ -0,0 +1,36 @@ +From 1923c97fbd0b3d8cacdb72386886f860c818bccf Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Wed, 10 Nov 2021 08:54:06 -0700 +Subject: [PATCH] meson: remove session-managers option check. + +This option no longer exists and causes a build failure if building +with the systemd system service enabled. + +Signed-off-by: James Hilliard +[Upstream status: +https://gitlab.freedesktop.org/pipewire/media-session/-/merge_requests/24] +--- + systemd/system/meson.build | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/systemd/system/meson.build b/systemd/system/meson.build +index ab0d49064..0e9885b0f 100644 +--- a/systemd/system/meson.build ++++ b/systemd/system/meson.build +@@ -4,9 +4,7 @@ systemd_system_services_dir = systemd.get_variable(pkgconfig: 'systemdsystemunit + systemd_config = configuration_data() + systemd_config.set('PW_MEDIA_SESSION_BINARY', media_session_bindir / 'pipewire-media-session') + +-if get_option('session-managers').contains('media-session') +- configure_file(input : 'pipewire-media-session.service.in', +- output : 'pipewire-media-session.service', +- configuration : systemd_config, +- install_dir : systemd_system_services_dir) +-endif ++configure_file(input : 'pipewire-media-session.service.in', ++ output : 'pipewire-media-session.service', ++ configuration : systemd_config, ++ install_dir : systemd_system_services_dir) +-- +2.25.1 + diff --git a/package/pipewire-media-session/Config.in b/package/pipewire-media-session/Config.in new file mode 100644 index 00000000000..affbc00c1a9 --- /dev/null +++ b/package/pipewire-media-session/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION + bool "pipewire media-session" + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, dbus + depends on BR2_USE_MMU # dbus + depends on BR2_PACKAGE_PIPEWIRE + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_ALSA_LIB_UCM + select BR2_PACKAGE_DBUS + help + Build pipewire media-session support diff --git a/package/pipewire-media-session/pipewire-media-session.hash b/package/pipewire-media-session/pipewire-media-session.hash new file mode 100644 index 00000000000..e335fd8913b --- /dev/null +++ b/package/pipewire-media-session/pipewire-media-session.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 ebdf9f8e389896fdc4b58da5f909afce18441b4b53d5b4f2104dd53586ea8681 media-session-0.4.1.tar.bz2 +sha256 8909c319a7e27dbb33a15b9035f89ab3b7b2f6a12f8bcddc755206a8db1ada44 COPYING +sha256 77b9c867237ef919e33c0fdbcf22ab84b1cf24a63f9431ec68759026b658c994 LICENSE diff --git a/package/pipewire-media-session/pipewire-media-session.mk b/package/pipewire-media-session/pipewire-media-session.mk new file mode 100644 index 00000000000..d349fd74545 --- /dev/null +++ b/package/pipewire-media-session/pipewire-media-session.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# pipewire-media-session +# +################################################################################ + +PIPEWIRE_MEDIA_SESSION_VERSION = 0.4.1 +PIPEWIRE_MEDIA_SESSION_SOURCE = media-session-$(PIPEWIRE_MEDIA_SESSION_VERSION).tar.bz2 +PIPEWIRE_MEDIA_SESSION_SITE = https://gitlab.freedesktop.org/pipewire/media-session/-/archive/$(PIPEWIRE_MEDIA_SESSION_VERSION) +PIPEWIRE_MEDIA_SESSION_LICENSE = MIT +PIPEWIRE_MEDIA_SESSION_LICENSE_FILES = COPYING LICENSE +PIPEWIRE_MEDIA_SESSION_INSTALL_STAGING = YES +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES = \ + host-pkgconf \ + alsa-lib \ + dbus \ + pipewire \ + $(TARGET_NLS_DEPENDENCIES) + +PIPEWIRE_MEDIA_SESSION_CONF_OPTS = -Ddocs=disabled -Dtests=disabled + +PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST = alsa + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES += systemd +PIPEWIRE_MEDIA_SESSION_CONF_OPTS += \ + -Dsystemd=enabled \ + -Dsystemd-system-service=enabled \ + -Dsystemd-user-service=enabled +else +PIPEWIRE_MEDIA_SESSION_CONF_OPTS += \ + -Dsystemd=disabled \ + -Dsystemd-system-service=disabled \ + -Dsystemd-user-service=disabled +endif + +ifeq ($(BR2_PACKAGE_JACK2),y) +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES += jack2 +PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST += jack +endif + +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES += pulseaudio +PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST += pulseaudio +endif + +PIPEWIRE_MEDIA_SESSION_CONF_OPTS += -Dwith-module-sets='$(subst $(space),$(comma),$(PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST))' + +$(eval $(meson-package)) diff --git a/package/pipewire/Config.in b/package/pipewire/Config.in index 57e70d65f8c..3bfcf42a813 100644 --- a/package/pipewire/Config.in +++ b/package/pipewire/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_PIPEWIRE bool "pipewire" - depends on BR2_PACKAGE_HAS_UDEV # libudev - depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib - depends on BR2_USE_MMU # dbus - select BR2_PACKAGE_ALSA_LIB - select BR2_PACKAGE_DBUS + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np() + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO if BR2_PACKAGE_BLUEZ5_UTILS # runtime help PipeWire is a server and user space API to deal with multimedia pipelines. @@ -13,6 +13,11 @@ config BR2_PACKAGE_PIPEWIRE if BR2_PACKAGE_PIPEWIRE +config BR2_PACKAGE_PIPEWIRE_EXAMPLES + bool "pipewire examples" + help + Build pipewire examples + config BR2_PACKAGE_PIPEWIRE_GSTREAMER bool "pipewire gstreamer plugins" depends on BR2_USE_WCHAR # libglib2 @@ -28,8 +33,21 @@ comment "pipewire gstreamer support needs a toolchain w/ wchar, threads" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS +config BR2_PACKAGE_PIPEWIRE_V4L2 + bool "pipewire v4l2 plugin" + depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + help + Build v4l2 plugin + +comment "pipewire v4l2 support needs udev and a toolchain w/ headers >= 3.18" + depends on !BR2_PACKAGE_HAS_UDEV || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + endif -comment "pipewire needs udev and a toolchain w/ threads" +comment "pipewire needs a toolchain w/ dynamic library, NTPL, gcc >= 5" depends on BR2_USE_MMU - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/pipewire/pipewire.hash b/package/pipewire/pipewire.hash index 81c53867e22..a9d59663aea 100644 --- a/package/pipewire/pipewire.hash +++ b/package/pipewire/pipewire.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 bfaa0f6ae6c0791e2e0b59234d399753bf24f1b33dbf587682363a8463dd8df1 pipewire-0.2.7.tar.gz -sha256 88c0ca786c735a11e0eb508196d3aa1389fbaacb8d5de9adb5ccb15bcd4009d9 LICENSE -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL +sha256 76291373f7ab271664df5b6a22b678ad57e485e25c73ee9c78e049a67b7886d2 pipewire-0.3.45.tar.bz2 +sha256 8909c319a7e27dbb33a15b9035f89ab3b7b2f6a12f8bcddc755206a8db1ada44 COPYING +sha256 be4be5d77424833edf31f53fc1f1cecb6996b9e2d747d9e6fb8f878362ebc92b LICENSE diff --git a/package/pipewire/pipewire.mk b/package/pipewire/pipewire.mk index df159c5ef45..fc521c86acc 100644 --- a/package/pipewire/pipewire.mk +++ b/package/pipewire/pipewire.mk @@ -4,45 +4,193 @@ # ################################################################################ -PIPEWIRE_VERSION = 0.2.7 -PIPEWIRE_SITE = $(call github,PipeWire,pipewire,$(PIPEWIRE_VERSION)) -PIPEWIRE_LICENSE = LGPL-2.1+ -PIPEWIRE_LICENSE_FILES = LICENSE LGPL +PIPEWIRE_VERSION = 0.3.45 +PIPEWIRE_SOURCE = pipewire-$(PIPEWIRE_VERSION).tar.bz2 +PIPEWIRE_SITE = https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$(PIPEWIRE_VERSION) +PIPEWIRE_LICENSE = MIT, LGPL-2.1+ (libspa-alsa), GPL-2.0 (libjackserver) +PIPEWIRE_LICENSE_FILES = COPYING LICENSE PIPEWIRE_INSTALL_STAGING = YES -PIPEWIRE_DEPENDENCIES = host-pkgconf alsa-lib dbus udev +PIPEWIRE_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) +PIPEWIRE_LDFLAGS = $(TARGET_NLS_LIBS) + +PIPEWIRE_CONF_OPTS += \ + -Ddocs=disabled \ + -Dman=disabled \ + -Dtests=disabled \ + -Dspa-plugins=enabled \ + -Daudiomixer=enabled \ + -Daudioconvert=enabled \ + -Dcontrol=enabled \ + -Daudiotestsrc=enabled \ + -Dsupport=enabled \ + -Devl=disabled \ + -Dtest=disabled \ + -Dvideoconvert=enabled \ + -Dvideotestsrc=enabled \ + -Dvolume=enabled \ + -Dsession-managers=[] \ + -Dlibcanberra=disabled \ + -Dlv2=disabled + +ifeq ($(BR2_PACKAGE_DBUS),y) +PIPEWIRE_CONF_OPTS += -Ddbus=enabled +PIPEWIRE_DEPENDENCIES += dbus +else +PIPEWIRE_CONF_OPTS += -Ddbus=disabled +endif + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +PIPEWIRE_CONF_OPTS += -Dudev=enabled +PIPEWIRE_DEPENDENCIES += udev +else +PIPEWIRE_CONF_OPTS += -Dudev=disabled +endif + +ifeq ($(BR2_PACKAGE_PIPEWIRE_EXAMPLES),y) +PIPEWIRE_CONF_OPTS += -Dexamples=enabled +else +PIPEWIRE_CONF_OPTS += -Dexamples=disabled +endif + +ifeq ($(BR2_PACKAGE_PIPEWIRE_GSTREAMER),y) +PIPEWIRE_CONF_OPTS += -Dgstreamer=enabled +PIPEWIRE_DEPENDENCIES += libglib2 gstreamer1 gst1-plugins-base +else +PIPEWIRE_CONF_OPTS += -Dgstreamer=disabled +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +PIPEWIRE_CONF_OPTS += \ + -Dsystemd=enabled \ + -Dsystemd-system-service=enabled \ + -Dsystemd-user-service=enabled +PIPEWIRE_DEPENDENCIES += systemd +else +PIPEWIRE_CONF_OPTS += \ + -Dsystemd=disabled \ + -Dsystemd-system-service=disabled \ + -Dsystemd-user-service=disabled +endif + +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +PIPEWIRE_CONF_OPTS += -Dpipewire-alsa=enabled +PIPEWIRE_DEPENDENCIES += alsa-lib +ifeq ($(BR2_PACKAGE_ALSA_LIB_SEQ)$(BR2_PACKAGE_ALSA_LIB_UCM)$(BR2_PACKAGE_HAS_UDEV),yyy) +PIPEWIRE_CONF_OPTS += -Dalsa=enabled +else +PIPEWIRE_CONF_OPTS += -Dalsa=disabled +endif +else +PIPEWIRE_CONF_OPTS += -Dalsa=disabled -Dpipewire-alsa=disabled +endif + +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) +PIPEWIRE_CONF_OPTS += -Davahi=enabled +PIPEWIRE_DEPENDENCIES += avahi +else +PIPEWIRE_CONF_OPTS += -Davahi=disabled +endif + +ifeq ($(BR2_PACKAGE_JACK2),y) +PIPEWIRE_CONF_OPTS += -Dpipewire-jack=enabled -Djack=enabled +PIPEWIRE_DEPENDENCIES += jack2 +else +PIPEWIRE_CONF_OPTS += -Dpipewire-jack=disabled -Djack=disabled +endif + +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS)$(BR2_PACKAGE_SBC),yy) +PIPEWIRE_CONF_OPTS += -Dbluez5=enabled +PIPEWIRE_DEPENDENCIES += bluez5_utils sbc +else +PIPEWIRE_CONF_OPTS += -Dbluez5=disabled +endif ifeq ($(BR2_PACKAGE_FFMPEG),y) +PIPEWIRE_CONF_OPTS += -Dffmpeg=enabled PIPEWIRE_DEPENDENCIES += ffmpeg +else +PIPEWIRE_CONF_OPTS += -Dffmpeg=disabled endif -ifeq ($(BR2_PACKAGE_LIBVA),y) -PIPEWIRE_DEPENDENCIES += libva +ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) +PIPEWIRE_DEPENDENCIES += ncurses endif -ifeq ($(BR2_PACKAGE_SBC),y) -PIPEWIRE_DEPENDENCIES += sbc +ifeq ($(BR2_PACKAGE_PIPEWIRE_V4L2),y) +PIPEWIRE_CONF_OPTS += -Dpipewire-v4l2=enabled -Dv4l2=enabled +else +PIPEWIRE_CONF_OPTS += -Dpipewire-v4l2=disabled -Dv4l2=disabled endif -ifeq ($(BR2_PACKAGE_SDL2),y) -PIPEWIRE_DEPENDENCIES += sdl2 +ifeq ($(BR2_PACKAGE_LIBCAMERA)$(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_HAS_UDEV),yyy) +PIPEWIRE_CONF_OPTS += -Dlibcamera=enabled +PIPEWIRE_DEPENDENCIES += libcamera libdrm +else +PIPEWIRE_CONF_OPTS += -Dlibcamera=disabled endif ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) +PIPEWIRE_CONF_OPTS += -Dx11=enabled PIPEWIRE_DEPENDENCIES += xlib_libX11 +else +PIPEWIRE_CONF_OPTS += -Dx11=disabled endif -ifeq ($(BR2_PACKAGE_PIPEWIRE_GSTREAMER),y) -PIPEWIRE_CONF_OPTS += -Dgstreamer=enabled -PIPEWIRE_DEPENDENCIES += libglib2 gstreamer1 gst1-plugins-base +ifeq ($(BR2_PACKAGE_LIBUSB),y) +PIPEWIRE_CONF_OPTS += -Dlibusb=enabled +PIPEWIRE_DEPENDENCIES += libusb else -PIPEWIRE_CONF_OPTS += -Dgstreamer=disabled +PIPEWIRE_CONF_OPTS += -Dlibusb=disabled endif -ifeq ($(BR2_PACKAGE_SYSTEMD),y) -PIPEWIRE_CONF_OPTS += -Dsystemd=true -PIPEWIRE_DEPENDENCIES += systemd +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),y) +PIPEWIRE_CONF_OPTS += -Dvulkan=enabled +PIPEWIRE_DEPENDENCIES += mesa3d +else +PIPEWIRE_CONF_OPTS += -Dvulkan=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +PIPEWIRE_CONF_OPTS += -Dpw-cat=enabled -Dsndfile=enabled +PIPEWIRE_DEPENDENCIES += libsndfile else -PIPEWIRE_CONF_OPTS += -Dsystemd=false +PIPEWIRE_CONF_OPTS += -Dpw-cat=disabled -Dsndfile=disabled endif +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +PIPEWIRE_CONF_OPTS += -Dlibpulse=enabled +PIPEWIRE_DEPENDENCIES += pulseaudio +else +PIPEWIRE_CONF_OPTS += -Dlibpulse=disabled +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +PIPEWIRE_DEPENDENCIES += readline +endif + +ifeq ($(BR2_PACKAGE_SDL2),y) +PIPEWIRE_DEPENDENCIES += sdl2 +PIPEWIRE_CONF_OPTS += -Dsdl2=enabled +else +PIPEWIRE_CONF_OPTS += -Dsdl2=disabled +endif + +ifeq ($(WEBRTC_AUDIO_PROCESSING),y) +PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=enabled +PIPEWIRE_DEPENDENCIES += webrtc-audio-processing +else +PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=disabled +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +PIPEWIRE_CONF_OPTS += -Draop=enabled +PIPEWIRE_DEPENDENCIES += openssl +else +PIPEWIRE_CONF_OPTS += -Draop=disabled +endif + +define PIPEWIRE_USERS + pipewire -1 pipewire -1 * - - audio,video PipeWire System Daemon +endef + $(eval $(meson-package)) diff --git a/package/pistache/0003-include-pistache-typeid.h-include-cstddef.patch b/package/pistache/0003-include-pistache-typeid.h-include-cstddef.patch new file mode 100644 index 00000000000..be06ca760a2 --- /dev/null +++ b/package/pistache/0003-include-pistache-typeid.h-include-cstddef.patch @@ -0,0 +1,38 @@ +From 37291201ed948e9d65993a717c59bb14f4187e13 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 5 Aug 2021 19:02:56 +0200 +Subject: [PATCH] include/pistache/typeid.h: include cstddef + +Include cstddef to avoid the following build failure with gcc 11: + +In file included from /tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/../include/pistache/async.h:10, + from /tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/../include/pistache/client.h:9, + from /tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/client/client.cc:7: +/tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/../include/pistache/typeid.h:26:12: error: expected type-specifier before 'size_t' + 26 | operator size_t() const { return reinterpret_cast(id_); } + | ^~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/2443559df8c2357476e4cbdbebb08280cbb80a3b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/pistacheio/pistache/pull/965] +--- + include/pistache/typeid.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/pistache/typeid.h b/include/pistache/typeid.h +index 10353ca..893e7c1 100644 +--- a/include/pistache/typeid.h ++++ b/include/pistache/typeid.h +@@ -7,6 +7,7 @@ + + #pragma once + ++#include + #include + + namespace Pistache +-- +2.30.2 + diff --git a/package/pistache/Config.in b/package/pistache/Config.in index 64d6340827b..96aed5210aa 100644 --- a/package/pistache/Config.in +++ b/package/pistache/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_PISTACHE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_TOOLCHAIN_USES_UCLIBC + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 help Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure C++14 and provides @@ -12,9 +13,10 @@ config BR2_PACKAGE_PISTACHE https://github.com/oktal/pistache -comment "pistache needs a glibc toolchain w/ C++, gcc >= 4.9, threads, wchar" +comment "pistache needs a glibc toolchain w/ C++, gcc >= 4.9, threads, wchar, not binutils bug 27597" depends on !BR2_INSTALL_LIBSTDCPP || \ - BR2_TOOLCHAIN_USES_UCLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR + BR2_TOOLCHAIN_USES_UCLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_USE_WCHAR || \ + BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk index d99005ecb72..64302fa49ad 100644 --- a/package/pixman/pixman.mk +++ b/package/pixman/pixman.mk @@ -19,7 +19,9 @@ HOST_PIXMAN_DEPENDENCIES = host-pkgconf PIXMAN_AUTORECONF = YES # don't build gtk based demos -PIXMAN_CONF_OPTS = --disable-gtk +PIXMAN_CONF_OPTS = \ + --disable-gtk \ + --disable-loongson-mmi # The ARM SIMD code from pixman requires a recent enough ARM core, but # there is a runtime CPU check that makes sure it doesn't get used if @@ -44,12 +46,20 @@ ifneq ($(BR2_iwmmxt),y) PIXMAN_CONF_OPTS += --disable-arm-iwmmxt endif +PIXMAN_CFLAGS = $(TARGET_CFLAGS) + # toolchain gets confused about TLS access through GOT (PIC), so disable TLS # movhi r4, %got_hiadj(%tls_ldo(fast_path_cache)) # {standard input}:172: Error: bad expression ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y) -PIXMAN_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DPIXMAN_NO_TLS" +PIXMAN_CFLAGS += -DPIXMAN_NO_TLS +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y) +PIXMAN_CFLAGS += -O0 endif +PIXMAN_CONF_OPTS += CFLAGS="$(PIXMAN_CFLAGS)" + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/pkcs11-helper/0001-lib-pkcs11h-core.c-fix-build-without-slotevent.patch b/package/pkcs11-helper/0001-lib-pkcs11h-core.c-fix-build-without-slotevent.patch new file mode 100644 index 00000000000..5b2829c5ca2 --- /dev/null +++ b/package/pkcs11-helper/0001-lib-pkcs11h-core.c-fix-build-without-slotevent.patch @@ -0,0 +1,37 @@ +From 754911f553414a77d5b52001f5ef6e3a1314c4d5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 20 Mar 2022 08:50:15 +0100 +Subject: [PATCH] lib/pkcs11h-core.c: fix build without slotevent + +Fix the following build failure with --disable-slotevent: + +/home/giuliobenetti/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabihf/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabihf/bin/ld: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/libpkcs11-helper.so: undefined reference to `_pkcs11h_slotevent_init' + +Fixes: + - http://autobuild.buildroot.org/results/fcaa70cc035d6f9d35dfa8d564e9948c7e1cfd9e + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/OpenSC/pkcs11-helper/pull/50] +--- + lib/pkcs11h-core.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/pkcs11h-core.c b/lib/pkcs11h-core.c +index d7bb4cd..0bf11e8 100644 +--- a/lib/pkcs11h-core.c ++++ b/lib/pkcs11h-core.c +@@ -726,9 +726,11 @@ pkcs11h_setProperty ( + + switch (property) { + case PKCS11H_PROPERTY_SLOT_EVENT_HOOK: ++#if defined(ENABLE_PKCS11H_SLOTEVENT) + if ((rv = _pkcs11h_slotevent_init ()) != CKR_OK) { + goto cleanup; + } ++#endif + break; + } + cleanup: +-- +2.35.1 + diff --git a/package/pkcs11-helper/pkcs11-helper.hash b/package/pkcs11-helper/pkcs11-helper.hash index 276ed2e2211..4114378ab8f 100644 --- a/package/pkcs11-helper/pkcs11-helper.hash +++ b/package/pkcs11-helper/pkcs11-helper.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 e5e2eefeda6c3db3d8862b42b180a6a5b2f41285f35b0ad0d622c6767683fd84 pkcs11-helper-1.26.tar.gz +sha256 5bd55adafdbb708e096070dd0a910f23e1d5fd6291922398c1a15f00fff2b5ec pkcs11-helper-1.28.0.tar.bz2 sha256 808705ac1daafe07a76431929575c5712a8693977a39ec9102aed25f030754d9 COPYING sha256 865496cf23a6c792739ff2f9ea11e95ac99db89cfe3780a295b4e1495a9c19fe COPYING.BSD sha256 cd2e7d63a11058f19c58b06fb8c759140ce70788369dce6e6e9db40d3475021e COPYING.GPL diff --git a/package/pkcs11-helper/pkcs11-helper.mk b/package/pkcs11-helper/pkcs11-helper.mk index a651be98bb2..4fc3e21e5a8 100644 --- a/package/pkcs11-helper/pkcs11-helper.mk +++ b/package/pkcs11-helper/pkcs11-helper.mk @@ -4,12 +4,12 @@ # ################################################################################ -PKCS11_HELPER_VERSION = 1.26 -PKCS11_HELPER_SITE = $(call github,OpenSC,pkcs11-helper,pkcs11-helper-$(PKCS11_HELPER_VERSION)) +PKCS11_HELPER_VERSION = 1.28 +PKCS11_HELPER_SOURCE = pkcs11-helper-$(PKCS11_HELPER_VERSION).0.tar.bz2 +PKCS11_HELPER_SITE = https://github.com/OpenSC/pkcs11-helper/releases/download/pkcs11-helper-$(PKCS11_HELPER_VERSION) PKCS11_HELPER_LICENSE = GPL-2.0 or BSD-3-Clause PKCS11_HELPER_LICENSE_FILES = COPYING COPYING.BSD COPYING.GPL PKCS11_HELPER_DEPENDENCIES = host-pkgconf -PKCS11_HELPER_AUTORECONF = YES PKCS11_HELPER_INSTALL_STAGING = YES PKCS11_HELPER_CONF_OPTS = \ diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index daa688dab6d..717ff815938 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -160,10 +160,6 @@ ifeq ($(4),host) $(2)_AUTORECONF_OPTS ?= $$($(3)_AUTORECONF_OPTS) endif -$(2)_CONF_ENV ?= -$(2)_CONF_OPTS ?= -$(2)_MAKE_ENV ?= -$(2)_MAKE_OPTS ?= $(2)_INSTALL_OPTS ?= install $(2)_INSTALL_STAGING_OPTS ?= DESTDIR=$$(STAGING_DIR) install $(2)_INSTALL_TARGET_OPTS ?= DESTDIR=$$(TARGET_DIR) install diff --git a/package/pkg-cargo.mk b/package/pkg-cargo.mk new file mode 100644 index 00000000000..f7e3f395039 --- /dev/null +++ b/package/pkg-cargo.mk @@ -0,0 +1,198 @@ +################################################################################ +# Cargo package infrastructure +# +# This file implements an infrastructure that eases development of package +# .mk files for Cargo packages. It should be used for all packages that use +# Cargo as their build system. +# +# See the Buildroot documentation for details on the usage of this +# infrastructure +# +# In terms of implementation, this Cargo infrastructure requires the .mk file +# to only specify metadata information about the package: name, version, +# download URL, etc. +# +# We still allow the package .mk file to override what the different steps +# are doing, if needed. For example, if _BUILD_CMDS is already defined, +# it is used as the list of commands to perform to build the package, +# instead of the default Cargo behaviour. The package can also define some +# post operation hooks. +# +################################################################################ + +PKG_COMMON_CARGO_ENV = \ + CARGO_HOME=$(HOST_DIR)/share/cargo + +# __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS is needed to allow +# passing the -Z target-applies-to-host, which is needed together with +# CARGO_TARGET_APPLIES_TO_HOST to fix build problems when target +# architecture == host architecture. + +# __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" is to allow +# using nighly features on stable releases, i.e features that are not +# yet considered stable. +# +# CARGO_UNSTABLE_TARGET_APPLIES_TO_HOST="true" "enables the nightly +# configuration option target-applies-to-host value to be set +# +# CARGO_TARGET_APPLIES_TO_HOST="false" is actually setting the value +# for this feature, which we disable, to make sure builds where target +# arch == host arch work correctly +PKG_CARGO_ENV = \ + $(PKG_COMMON_CARGO_ENV) \ + __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" \ + CARGO_UNSTABLE_TARGET_APPLIES_TO_HOST="true" \ + CARGO_TARGET_APPLIES_TO_HOST="false" \ + CARGO_BUILD_TARGET="$(RUSTC_TARGET_NAME)" \ + CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER=$(notdir $(TARGET_CROSS))gcc + +# +# This is a workaround for https://github.com/rust-lang/compiler-builtins/issues/420 +# and should be removed when fixed upstream +# +ifeq ($(NORMALIZED_ARCH),arm) + PKG_CARGO_ENV += RUSTFLAGS="-Clink-arg=-Wl,--allow-multiple-definition" +endif + +HOST_PKG_CARGO_ENV = \ + $(PKG_COMMON_CARGO_ENV) + +################################################################################ +# inner-cargo-package -- defines how the configuration, compilation and +# installation of a cargo package should be done, implements a few hooks +# to tune the build process for cargo specifities and calls the generic +# package infrastructure to generate the necessary make targets +# +# argument 1 is the lowercase package name +# argument 2 is the uppercase package name, including a HOST_ prefix +# for host packages +# argument 3 is the uppercase package name, without the HOST_ prefix +# for host packages +# argument 4 is the type (target or host) +################################################################################ + +define inner-cargo-package + +# We need host-rustc to run cargo at download time (for vendoring), +# and at build and install time. +$(2)_DOWNLOAD_DEPENDENCIES += host-rustc +$(2)_DEPENDENCIES += host-rustc + +$(2)_DOWNLOAD_POST_PROCESS = cargo +$(2)_DL_ENV += CARGO_HOME=$$(HOST_DIR)/share/cargo + +# If building in a sub directory, use that to find the Cargo.toml +ifneq ($$($(2)_SUBDIR),) +$(2)_DL_ENV += BR_CARGO_MANIFEST_PATH=$$($(2)_SUBDIR)/Cargo.toml +endif + +# Due to vendoring, it is pretty likely that not all licenses are +# listed in _LICENSE. +$(2)_LICENSE += , vendored dependencies licenses probably not listed + +# Note: in all the steps below, we "cd" into the build directory to +# execute the "cargo" tool instead of passing $(@D)/Cargo.toml as the +# manifest-path. Indeed while the latter seems to work, it in fact +# breaks in subtle ways as the way cargo searches for its +# configuration file is based (among other rules) on the current +# directory. This means that if cargo is started outside of a package +# directory, its configuration file will not be taken into account. +# +# Also, we pass: +# * --offline to prevent cargo from downloading anything: all +# dependencies should have been built by the download post +# process logic +# * --locked to force cargo to use the Cargo.lock file, which ensures +# that a fixed set of dependency versions is used + +# +# Build step. Only define it if not already defined by the package .mk +# file. +# +ifndef $(2)_BUILD_CMDS +ifeq ($(4),target) +define $(2)_BUILD_CMDS + cd $$($$(PKG)_SRCDIR) && \ + $$(TARGET_MAKE_ENV) \ + $$(TARGET_CONFIGURE_OPTS) \ + $$(PKG_CARGO_ENV) \ + $$($(2)_CARGO_ENV) \ + cargo build \ + --offline \ + $$(if $$(BR2_ENABLE_DEBUG),,--release) \ + --manifest-path Cargo.toml \ + --locked \ + $$($(2)_CARGO_BUILD_OPTS) +endef +else # ifeq ($(4),target) +define $(2)_BUILD_CMDS + cd $$($$(PKG)_SRCDIR) && \ + $$(HOST_MAKE_ENV) \ + RUSTFLAGS="$$(addprefix -C link-args=,$$(HOST_LDFLAGS))" \ + $$(HOST_CONFIGURE_OPTS) \ + $$(HOST_PKG_CARGO_ENV) \ + $$($(2)_CARGO_ENV) \ + cargo build \ + --offline \ + --release \ + --manifest-path Cargo.toml \ + --locked \ + $$($(2)_CARGO_BUILD_OPTS) +endef +endif # ifeq ($(4),target) +endif # ifndef $(2)_BUILD_CMDS + +# +# Target installation step. Only define it if not already defined by +# the package .mk file. +# +ifndef $(2)_INSTALL_TARGET_CMDS +define $(2)_INSTALL_TARGET_CMDS + cd $$($$(PKG)_SRCDIR) && \ + $$(TARGET_MAKE_ENV) \ + $$(TARGET_CONFIGURE_OPTS) \ + $$(PKG_CARGO_ENV) \ + $$($(2)_CARGO_ENV) \ + cargo install \ + --offline \ + --root $$(TARGET_DIR)/usr/ \ + --bins \ + --path ./ \ + --force \ + --locked \ + -Z target-applies-to-host \ + $$($(2)_CARGO_INSTALL_OPTS) +endef +endif + +ifndef $(2)_INSTALL_CMDS +define $(2)_INSTALL_CMDS + cd $$($$(PKG)_SRCDIR) && \ + $$(HOST_MAKE_ENV) \ + RUSTFLAGS="$$(addprefix -C link-args=,$$(HOST_LDFLAGS))" \ + $$(HOST_CONFIGURE_OPTS) \ + $$(HOST_PKG_CARGO_ENV) \ + $$($(2)_CARGO_ENV) \ + cargo install \ + --offline \ + --root $$(HOST_DIR) \ + --bins \ + --path ./ \ + --force \ + --locked \ + $$($(2)_CARGO_INSTALL_OPTS) +endef +endif + +# Call the generic package infrastructure to generate the necessary +# make targets +$(call inner-generic-package,$(1),$(2),$(3),$(4)) + +endef + +################################################################################ +# cargo-package -- the target generator macro for Cargo packages +################################################################################ + +cargo-package = $(call inner-cargo-package,$(pkgname),$(call UPPERCASE,$(pkgname)),$(call UPPERCASE,$(pkgname)),target) +host-cargo-package = $(call inner-cargo-package,host-$(pkgname),$(call UPPERCASE,host-$(pkgname)),$(call UPPERCASE,$(pkgname)),host) diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index c0010510029..3b1db35fb60 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -51,11 +51,7 @@ endif define inner-cmake-package -$(2)_CONF_ENV ?= -$(2)_CONF_OPTS ?= $(2)_MAKE ?= $$(MAKE) -$(2)_MAKE_ENV ?= -$(2)_MAKE_OPTS ?= $(2)_INSTALL_OPTS ?= install $(2)_INSTALL_STAGING_OPTS ?= DESTDIR=$$(STAGING_DIR) install/fast $(2)_INSTALL_TARGET_OPTS ?= DESTDIR=$$(TARGET_DIR) install/fast @@ -264,8 +260,9 @@ define TOOLCHAIN_CMAKE_INSTALL_FILES -e 's#@@TARGET_CXX@@#$(subst $(HOST_DIR)/,,$(call qstrip,$(TARGET_CXX)))#' \ -e 's#@@TARGET_FC@@#$(subst $(HOST_DIR)/,,$(call qstrip,$(TARGET_FC)))#' \ -e 's#@@CMAKE_SYSTEM_PROCESSOR@@#$(call qstrip,$(CMAKE_SYSTEM_PROCESSOR))#' \ + -e 's#@@TOOLCHAIN_HAS_CXX@@#$(if $(BR2_INSTALL_LIBSTDCPP),1,0)#' \ -e 's#@@TOOLCHAIN_HAS_FORTRAN@@#$(if $(BR2_TOOLCHAIN_HAS_FORTRAN),1,0)#' \ - -e 's#@@CMAKE_BUILD_TYPE@@#$(if $(BR2_ENABLE_DEBUG),Debug,Release)#' \ + -e 's#@@CMAKE_BUILD_TYPE@@#$(if $(BR2_ENABLE_RUNTIME_DEBUG),Debug,Release)#' \ $(TOPDIR)/support/misc/toolchainfile.cmake.in \ > $(HOST_DIR)/share/buildroot/toolchainfile.cmake $(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot.cmake \ diff --git a/package/pkg-download.mk b/package/pkg-download.mk index c0fb810205b..0718f21aad2 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -15,12 +15,13 @@ export BZR := $(call qstrip,$(BR2_BZR)) export GIT := $(call qstrip,$(BR2_GIT)) export HG := $(call qstrip,$(BR2_HG)) export SCP := $(call qstrip,$(BR2_SCP)) +export SFTP := $(call qstrip,$(BR2_SFTP)) export LOCALFILES := $(call qstrip,$(BR2_LOCALFILES)) # Version of the format of the archives we generate in the corresponding # download backend: BR_FMT_VERSION_git = -br1 -BR_FMT_VERSION_svn = -br1 +BR_FMT_VERSION_svn = -br2 DL_WRAPPER = support/download/dl-wrapper @@ -61,6 +62,9 @@ domainseparator = $(if $(1),$(1),/) # github(user,package,version): returns site of GitHub repository github = https://github.com/$(1)/$(2)/archive/$(3) +# gitlab(user,package,version): returns site of Gitlab-generated tarball +gitlab = https://gitlab.com/$(1)/$(2)/-/archive/$(3) + # Expressly do not check hashes for those files # Exported variables default to immediately expanded in some versions of # make, but we need it to be recursively-epxanded, so explicitly assign it. @@ -99,6 +103,7 @@ endif # # Argument 1 is the source location # Argument 2 is the upper-case package name +# Argument 3 is a space-separated list of optional arguments # ################################################################################ @@ -115,7 +120,9 @@ define DOWNLOAD -N '$($(2)_RAWNAME)' \ -o '$($(2)_DL_DIR)/$(notdir $(1))' \ $(if $($(2)_GIT_SUBMODULES),-r) \ + $(if $($(2)_GIT_LFS),-l) \ $(foreach uri,$(call DOWNLOAD_URIS,$(1),$(2)),-u $(uri)) \ + $(3) \ $(QUIET) \ -- \ $($(2)_DL_OPTS) diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 9fbc63d19eb..fdf53063be3 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -90,17 +90,41 @@ endif ####################################### # Helper functions -# Make sure .la files only reference the current per-package -# directory. - -# $1: package name (lower case) -# $2: staging directory of the package ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -define fixup-libtool-files - $(Q)find $(2)/usr/lib* -name "*.la" | xargs --no-run-if-empty \ - $(SED) "s:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/$(1)/:g" + +# Ensure files like .la, .pc, .pri, .cmake, and so on, point to the +# proper staging and host directories for the current package: find +# all text files that contain the PPD root, and replace it with the +# current package's PPD. +define PPD_FIXUP_PATHS + $(Q)grep --binary-files=without-match -lrZ '$(PER_PACKAGE_DIR)/[^/]\+/' $(HOST_DIR) \ + |while read -d '' f; do \ + file -b --mime-type "$${f}" | grep -q '^text/' || continue; \ + printf '%s\0' "$${f}"; \ + done \ + |xargs -0 --no-run-if-empty \ + $(SED) 's:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/:g' endef -endif + +# Remove python's pre-compiled "sysconfigdata", as it may contain paths to +# the original staging or host dirs. +# +# Can't use $(foreach d, $(HOST_DIR)/lib/python* $(STAGING_DIR)/usr/lib/python*, ...) +# because those directories may be created in the same recipe this macro will +# be expanded in. +# Additionally, either or both may be missing, which would make find whine and +# fail. +# So we just use HOST_DIR as a starting point, and filter on the two directories +# of interest. +define PPD_PYTHON_REMOVE_SYSCONFIGDATA_PYC + $(Q)find $(HOST_DIR) \ + \( -path '$(HOST_DIR)/lib/python*' \ + -o -path '$(STAGING_DIR)/usr/lib/python*' \ + \) \ + \( -name "_sysconfigdata*.pyc" -delete \) +endef + +endif # PPD # Functions to collect statistics about installed files @@ -135,6 +159,23 @@ define check_bin_arch -a $(BR2_READELF_ARCH_NAME) endef +# Functions to remove conflicting and useless files + +# $1: base directory (target, staging, host) +define remove-conflicting-useless-files + $(if $(strip $($(PKG)_DROP_FILES_OR_DIRS)), + $(Q)$(RM) -rf $(patsubst %, $(1)%, $($(PKG)_DROP_FILES_OR_DIRS))) +endef +define REMOVE_CONFLICTING_USELESS_FILES_IN_HOST + $(call remove-conflicting-useless-files,$(HOST_DIR)) +endef +define REMOVE_CONFLICTING_USELESS_FILES_IN_STAGING + $(call remove-conflicting-useless-files,$(STAGING_DIR)) +endef +define REMOVE_CONFLICTING_USELESS_FILES_IN_TARGET + $(call remove-conflicting-useless-files,$(TARGET_DIR)) +endef + ################################################################################ # Implicit targets -- produce a stamp file for each step of a package build ################################################################################ @@ -151,7 +192,8 @@ $(BUILD_DIR)/%/.stamp_downloaded: break ; \ fi ; \ done - $(foreach p,$($(PKG)_ALL_DOWNLOADS),$(call DOWNLOAD,$(p),$(PKG))$(sep)) + $(if $($(PKG)_MAIN_DOWNLOAD),$(call DOWNLOAD,$($(PKG)_MAIN_DOWNLOAD),$(PKG),$(patsubst %,-p '%',$($(PKG)_DOWNLOAD_POST_PROCESS)))) + $(foreach p,$($(PKG)_ADDITIONAL_DOWNLOADS),$(call DOWNLOAD,$(p),$(PKG))$(sep)) $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) $(Q)mkdir -p $(@D) @$(call step_end,download) @@ -232,10 +274,11 @@ $(BUILD_DIR)/%/.stamp_configured: @$(call MESSAGE,"Configuring") $(Q)mkdir -p $(HOST_DIR) $(TARGET_DIR) $(STAGING_DIR) $(BINARIES_DIR) $(call prepare-per-package-directory,$($(PKG)_FINAL_DEPENDENCIES)) + $(foreach hook,$($(PKG)_POST_PREPARE_HOOKS),$(call $(hook))$(sep)) @$(call pkg_size_before,$(TARGET_DIR)) @$(call pkg_size_before,$(STAGING_DIR),-staging) + @$(call pkg_size_before,$(BINARIES_DIR),-images) @$(call pkg_size_before,$(HOST_DIR),-host) - $(call fixup-libtool-files,$(NAME),$(STAGING_DIR)) $(foreach hook,$($(PKG)_PRE_CONFIGURE_HOOKS),$(call $(hook))$(sep)) $($(PKG)_CONFIGURE_CMDS) $(foreach hook,$($(PKG)_POST_CONFIGURE_HOOKS),$(call $(hook))$(sep)) @@ -358,6 +401,7 @@ $(BUILD_DIR)/%/.stamp_target_installed: $(BUILD_DIR)/%/.stamp_installed: @$(call pkg_size_after,$(TARGET_DIR)) @$(call pkg_size_after,$(STAGING_DIR),-staging) + @$(call pkg_size_after,$(BINARIES_DIR),-images) @$(call pkg_size_after,$(HOST_DIR),-host) @$(call check_bin_arch) $(Q)touch $@ @@ -494,8 +538,30 @@ $(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASENAME) ifndef $(2)_SUBDIR ifdef $(3)_SUBDIR $(2)_SUBDIR = $$($(3)_SUBDIR) - else - $(2)_SUBDIR ?= + endif +endif + +ifndef $(2)_DL_SUBDIR + ifdef $(3)_DL_SUBDIR + $(2)_DL_SUBDIR = $$($(3)_DL_SUBDIR) + endif +endif + +ifndef $(2)_DOWNLOAD_DEPENDENCIES + ifdef $(3)_DOWNLOAD_DEPENDENCIES + $(2)_DOWNLOAD_DEPENDENCIES = $$(filter-out $(1),$$($(3)_DOWNLOAD_DEPENDENCIES)) + endif +endif + +ifndef $(2)_DL_ENV + ifdef $(3)_DL_ENV + $(2)_DL_ENV = $$($(3)_DL_ENV) + endif +endif + +ifndef $(2)_DOWNLOAD_POST_PROCESS + ifdef $(3)_DOWNLOAD_POST_PROCESS + $(2)_DOWNLOAD_POST_PROCESS = $$($(3)_DOWNLOAD_POST_PROCESS) endif endif @@ -536,12 +602,16 @@ ifndef $(2)_PATCH endif endif -$(2)_ALL_DOWNLOADS = \ - $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \ +$(2)_MAIN_DOWNLOAD = \ + $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) + +$(2)_ADDITIONAL_DOWNLOADS = \ $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ $$(if $$(findstring ://,$$(p)),$$(p),\ $$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$(p))) +$(2)_ALL_DOWNLOADS = $$($(2)_MAIN_DOWNLOAD) $$($(2)_ADDITIONAL_DOWNLOADS) + ifndef $(2)_SITE ifdef $(3)_SITE $(2)_SITE = $$($(3)_SITE) @@ -792,30 +862,9 @@ $(2)_EXTRACT_CMDS ?= \ $$(TAR_OPTIONS) -) # pre/post-steps hooks -$(2)_PRE_DOWNLOAD_HOOKS ?= -$(2)_POST_DOWNLOAD_HOOKS ?= -$(2)_PRE_EXTRACT_HOOKS ?= -$(2)_POST_EXTRACT_HOOKS ?= -$(2)_PRE_RSYNC_HOOKS ?= -$(2)_POST_RSYNC_HOOKS ?= -$(2)_PRE_PATCH_HOOKS ?= -$(2)_POST_PATCH_HOOKS ?= -$(2)_PRE_CONFIGURE_HOOKS ?= -$(2)_POST_CONFIGURE_HOOKS ?= -$(2)_PRE_BUILD_HOOKS ?= -$(2)_POST_BUILD_HOOKS ?= -$(2)_PRE_INSTALL_HOOKS ?= -$(2)_POST_INSTALL_HOOKS ?= -$(2)_PRE_INSTALL_STAGING_HOOKS ?= -$(2)_POST_INSTALL_STAGING_HOOKS ?= -$(2)_PRE_INSTALL_TARGET_HOOKS ?= -$(2)_POST_INSTALL_TARGET_HOOKS ?= -$(2)_PRE_INSTALL_IMAGES_HOOKS ?= -$(2)_POST_INSTALL_IMAGES_HOOKS ?= -$(2)_PRE_LEGAL_INFO_HOOKS ?= -$(2)_POST_LEGAL_INFO_HOOKS ?= -$(2)_TARGET_FINALIZE_HOOKS ?= -$(2)_ROOTFS_PRE_CMD_HOOKS ?= +$(2)_POST_PREPARE_HOOKS += \ + PPD_FIXUP_PATHS \ + PPD_PYTHON_REMOVE_SYSCONFIGDATA_PYC ifeq ($$($(2)_TYPE),target) ifneq ($$(HOST_$(2)_KCONFIG_VAR),) @@ -823,9 +872,20 @@ $$(error "Package $(1) defines host variant before target variant!") endif endif +# Globaly remove following conflicting and useless files +$(2)_DROP_FILES_OR_DIRS += /share/info/dir + +ifeq ($$($(2)_TYPE),host) +$(2)_POST_INSTALL_HOOKS += REMOVE_CONFLICTING_USELESS_FILES_IN_HOST +else +$(2)_POST_INSTALL_STAGING_HOOKS += REMOVE_CONFLICTING_USELESS_FILES_IN_STAGING +$(2)_POST_INSTALL_TARGET_HOOKS += REMOVE_CONFLICTING_USELESS_FILES_IN_TARGET +endif + # human-friendly targets and target sequencing $(1): $(1)-install $(1)-install: $$($(2)_TARGET_INSTALL) +$$($(2)_TARGET_INSTALL): $$($(2)_TARGET_BUILD) ifeq ($$($(2)_TYPE),host) $$($(2)_TARGET_INSTALL): $$($(2)_TARGET_INSTALL_HOST) @@ -1175,6 +1235,9 @@ ifeq ($$($(2)_SITE_METHOD),svn) DL_TOOLS_DEPENDENCIES += svn else ifeq ($$($(2)_SITE_METHOD),git) DL_TOOLS_DEPENDENCIES += git +ifneq ($$($(2)_GIT_LFS),) +DL_TOOLS_DEPENDENCIES += git-lfs +endif else ifeq ($$($(2)_SITE_METHOD),bzr) DL_TOOLS_DEPENDENCIES += bzr else ifeq ($$($(2)_SITE_METHOD),scp) diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk index d07242310d1..0b3dc3d32fe 100644 --- a/package/pkg-golang.mk +++ b/package/pkg-golang.mk @@ -42,11 +42,14 @@ define inner-golang-package $(2)_BUILD_OPTS += \ -ldflags "$$($(2)_LDFLAGS)" \ + -modcacherw \ -tags "$$($(2)_TAGS)" \ -trimpath \ - -p $(PARALLEL_JOBS) + -p $$(PARALLEL_JOBS) -# Target packages need the Go compiler on the host. +# Target packages need the Go compiler on the host at download time (for +# vendoring), and at build and install time. +$(2)_DOWNLOAD_DEPENDENCIES += host-go $(2)_DEPENDENCIES += host-go $(2)_BUILD_TARGETS ?= . @@ -56,10 +59,10 @@ $(2)_BUILD_TARGETS ?= . # been specified, we assume that the binaries to be produced are named # after each build target building them (below in _BUILD_CMDS). ifeq ($$($(2)_BUILD_TARGETS),.) -$(2)_BIN_NAME ?= $(1) +$(2)_BIN_NAME ?= $$($(2)_RAWNAME) endif -$(2)_INSTALL_BINS ?= $(1) +$(2)_INSTALL_BINS ?= $$($(2)_RAWNAME) # Source files in Go usually use an import path resolved around # domain/vendor/software. We infer domain/vendor/software from the upstream URL @@ -81,6 +84,15 @@ define $(2)_GEN_GOMOD endef $(2)_POST_PATCH_HOOKS += $(2)_GEN_GOMOD +$(2)_DOWNLOAD_POST_PROCESS = go +$(2)_DL_ENV += \ + $$(HOST_GO_COMMON_ENV) \ + GOPROXY=direct + +# Due to vendoring, it is pretty likely that not all licenses are +# listed in _LICENSE. +$(2)_LICENSE += , vendored dependencies licenses probably not listed + # Build step. Only define it if not already defined by the package .mk # file. ifndef $(2)_BUILD_CMDS @@ -121,7 +133,7 @@ endif ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS $$(foreach d,$$($(2)_INSTALL_BINS),\ - $(INSTALL) -D -m 0755 $$(@D)/bin/$$(d) $$(TARGET_DIR)/usr/bin/$$(d) + $$(INSTALL) -D -m 0755 $$(@D)/bin/$$(d) $$(TARGET_DIR)/usr/bin/$$(d) ) endef endif @@ -130,7 +142,7 @@ endif ifndef $(2)_INSTALL_CMDS define $(2)_INSTALL_CMDS $$(foreach d,$$($(2)_INSTALL_BINS),\ - $(INSTALL) -D -m 0755 $$(@D)/bin/$$(d) $$(HOST_DIR)/bin/$$(d) + $$(INSTALL) -D -m 0755 $$(@D)/bin/$$(d) $$(HOST_DIR)/bin/$$(d) ) endef endif diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk index 2aecf2e203b..32dcfea0bc8 100644 --- a/package/pkg-kconfig.mk +++ b/package/pkg-kconfig.mk @@ -12,12 +12,12 @@ ################################################################################ # Macro to update back the custom (def)config file +# Must only be called if $(PKG)_KCONFIG_FILE is set and $(PKG)_KCONFIG_DEFCONFIG) +# is not set. # $(1): file to copy from define kconfig-package-update-config @$(if $($(PKG)_KCONFIG_FRAGMENT_FILES), \ echo "Unable to perform $(@) when fragment files are set"; exit 1) - @$(if $($(PKG)_KCONFIG_DEFCONFIG), \ - echo "Unable to perform $(@) when using a defconfig rule"; exit 1) $(Q)if [ -d $($(PKG)_KCONFIG_FILE) ]; then \ echo "Unable to perform $(@) when $($(PKG)_KCONFIG_FILE) is a directory"; \ exit 1; \ @@ -78,24 +78,45 @@ endef define inner-kconfig-package +# Default values +$(2)_MAKE ?= $$(MAKE) +$(2)_KCONFIG_EDITORS ?= menuconfig +$(2)_KCONFIG_DOTCONFIG ?= .config +$(2)_KCONFIG_SUPPORTS_DEFCONFIG ?= YES + # Register the kconfig dependencies as regular dependencies, so that # they are also accounted for in the generated graphs. $(2)_DEPENDENCIES += $$($(2)_KCONFIG_DEPENDENCIES) +# Generate the kconfig-related help: one entry for each editor. +# Additionally, if the package is *not* using an in-tree defconfig +# name, an entry for updating the package configuration file. +ifndef $(2)_HELP_CMDS +define $(2)_HELP_CMDS + $$(foreach editor, $$($(2)_KCONFIG_EDITORS), \ + @printf ' %-22s - Run %s %s\n' $(1)-$$(editor) $(1) $$(editor) + ) + $$(if $$($(2)_KCONFIG_DEFCONFIG),,\ + $$(if $$(filter YES,$$($(2)_KCONFIG_SUPPORTS_DEFCONFIG)),\ + @printf ' %-22s - Save the %s configuration as a defconfig file\n' \ + $(1)-update-defconfig $(1) + @printf ' %-22s to %s\n' '' $$($(2)_KCONFIG_FILE) + @printf ' %-22s (or override with %s_KCONFIG_FILE)\n' '' $(2) + ) + @printf ' %-22s - Save the %s configuration as a full .config file\n' \ + $(1)-update-config $(1) + @printf ' %-22s to %s\n' '' $$($(2)_KCONFIG_FILE) + @printf ' %-22s (or override with %s_KCONFIG_FILE)\n' '' $(2) + ) +endef +endif + # Call the generic package infrastructure to generate the necessary # make targets. # Note: this must be done _before_ attempting to use $$($(2)_DIR) in a # dependency expression $(call inner-generic-package,$(1),$(2),$(3),$(4)) -# Default values -$(2)_MAKE ?= $$(MAKE) -$(2)_KCONFIG_EDITORS ?= menuconfig -$(2)_KCONFIG_OPTS ?= -$(2)_KCONFIG_FIXUP_CMDS ?= -$(2)_KCONFIG_FRAGMENT_FILES ?= -$(2)_KCONFIG_DOTCONFIG ?= .config - # Do not use $(2)_KCONFIG_DOTCONFIG as stamp file, because the package # buildsystem (e.g. linux >= 4.19) may touch it, thus rendering our # timestamps out of date, thus re-trigerring the build of the package. @@ -117,7 +138,7 @@ $(2)_KCONFIG_STAMP_DOTCONFIG = .stamp_dotconfig $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES): | $(1)-patch for f in $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES); do \ if [ ! -f "$$$${f}" ]; then \ - printf "Kconfig fragment '%s' for '%s' does not exist\n" "$$$${f}" "$(1)"; \ + printf "Kconfig file or fragment '%s' for '%s' does not exist\n" "$$$${f}" "$(1)"; \ exit 1; \ fi; \ done @@ -255,23 +276,33 @@ $(1)-check-configuration-done: exit 1; \ fi +ifeq ($$($(2)_KCONFIG_SUPPORTS_DEFCONFIG),YES) +.PHONY: $(1)-savedefconfig $(1)-savedefconfig: $(1)-check-configuration-done $$(call kconfig-package-savedefconfig,$(2)) +endif +ifeq ($$($(2)_KCONFIG_DEFCONFIG),) # Target to copy back the configuration to the source configuration file # Even though we could use 'cp --preserve-timestamps' here, the separate # cp and 'touch --reference' is used for symmetry with $(1)-update-defconfig. +.PHONY: $(1)-update-config $(1)-update-config: PKG=$(2) $(1)-update-config: $(1)-check-configuration-done $$(call kconfig-package-update-config,$$($(2)_KCONFIG_DOTCONFIG)) +ifeq ($$($(2)_KCONFIG_SUPPORTS_DEFCONFIG),YES) # Note: make sure the timestamp of the stored configuration is not newer than # the .config to avoid a useless rebuild. Note that, contrary to # $(1)-update-config, the reference for 'touch' is _not_ the file from which # we copy. +.PHONY: $(1)-update-defconfig $(1)-update-defconfig: PKG=$(2) $(1)-update-defconfig: $(1)-savedefconfig $$(call kconfig-package-update-config,defconfig) +endif + +endif # Target to output differences between the configuration obtained via the # defconfig + fragments (if any) and the current configuration. @@ -290,10 +321,7 @@ $(1)-diff-config: $(1)-check-configuration-done endif # package enabled .PHONY: \ - $(1)-update-config \ - $(1)-update-defconfig \ $(1)-diff-config \ - $(1)-savedefconfig \ $(1)-check-configuration-done \ $$($(2)_DIR)/.kconfig_editor_% \ $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS)) diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk index aafb441fae4..9987fb73bb3 100644 --- a/package/pkg-meson.mk +++ b/package/pkg-meson.mk @@ -29,6 +29,70 @@ MESON = PYTHONNOUSERSITE=y $(HOST_DIR)/bin/meson NINJA = PYTHONNOUSERSITE=y $(HOST_DIR)/bin/ninja NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) +# https://mesonbuild.com/Reference-tables.html#cpu-families +ifeq ($(BR2_arcle)$(BR2_arceb),y) +PKG_MESON_TARGET_CPU_FAMILY = arc +else ifeq ($(BR2_arm)$(BR2_armeb),y) +PKG_MESON_TARGET_CPU_FAMILY = arm +else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) +PKG_MESON_TARGET_CPU_FAMILY = aarch64 +else ifeq ($(BR2_csky),y) +PKG_MESON_TARGET_CPU_FAMILY = csky +else ifeq ($(BR2_i386),y) +PKG_MESON_TARGET_CPU_FAMILY = x86 +else ifeq ($(BR2_m68k),y) +PKG_MESON_TARGET_CPU_FAMILY = m68k +else ifeq ($(BR2_microblazeel)$(BR2_microblazebe),y) +PKG_MESON_TARGET_CPU_FAMILY = microblaze +else ifeq ($(BR2_mips)$(BR2_mipsel),y) +PKG_MESON_TARGET_CPU_FAMILY = mips +else ifeq ($(BR2_mips64)$(BR2_mips64el),y) +PKG_MESON_TARGET_CPU_FAMILY = mips64 +else ifeq ($(BR2_powerpc),y) +PKG_MESON_TARGET_CPU_FAMILY = ppc +else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) +PKG_MESON_TARGET_CPU_FAMILY = ppc64 +else ifeq ($(BR2_riscv)$(BR2_RISCV_32),yy) +PKG_MESON_TARGET_CPU_FAMILY = riscv32 +else ifeq ($(BR2_riscv)$(BR2_RISCV_64),yy) +PKG_MESON_TARGET_CPU_FAMILY = riscv64 +else ifeq ($(BR2_s390x),y) +PKG_MESON_TARGET_CPU_FAMILY = s390x +else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y) +PKG_MESON_TARGET_CPU_FAMILY = sh4 +else ifeq ($(BR2_sparc),y) +PKG_MESON_TARGET_CPU_FAMILY = sparc +else ifeq ($(BR2_sparc64),y) +PKG_MESON_TARGET_CPU_FAMILY = sparc64 +else ifeq ($(BR2_x86_64),y) +PKG_MESON_TARGET_CPU_FAMILY = x86_64 +else +PKG_MESON_TARGET_CPU_FAMILY = $(ARCH) +endif + +# Generates sed patterns for patching the cross-compilation.conf template, +# since Flags might contain commas the arguments are passed indirectly by +# variable name (stripped to deal with whitespaces). +# Arguments are variable containing cflags, cxxflags, ldflags. +define PKG_MESON_CROSSCONFIG_SED + -e "s%@TARGET_CC@%$(TARGET_CC)%g" \ + -e "s%@TARGET_CXX@%$(TARGET_CXX)%g" \ + -e "s%@TARGET_AR@%$(TARGET_AR)%g" \ + -e "s%@TARGET_STRIP@%$(TARGET_STRIP)%g" \ + -e "s%@TARGET_ARCH@%$(PKG_MESON_TARGET_CPU_FAMILY)%g" \ + -e "s%@TARGET_CPU@%$(GCC_TARGET_CPU)%g" \ + -e "s%@TARGET_ENDIAN@%$(call qstrip,$(call LOWERCASE,$(BR2_ENDIAN)))%g" \ + -e "s%@TARGET_CFLAGS@%$(call make-sq-comma-list,$($(strip $(1))))%g" \ + -e "s%@TARGET_LDFLAGS@%$(call make-sq-comma-list,$($(strip $(3))))%g" \ + -e "s%@TARGET_CXXFLAGS@%$(call make-sq-comma-list,$($(strip $(2))))%g" \ + -e "s%@BR2_CMAKE@%$(BR2_CMAKE)%g" \ + -e "s%@PKGCONF_HOST_BINARY@%$(HOST_DIR)/bin/pkgconf%g" \ + -e "s%@HOST_DIR@%$(HOST_DIR)%g" \ + -e "s%@STAGING_DIR@%$(STAGING_DIR)%g" \ + -e "s%@STATIC@%$(if $(BR2_STATIC_LIBS),true,false)%g" \ + $(TOPDIR)/support/misc/cross-compilation.conf.in +endef + ################################################################################ # inner-meson-package -- defines how the configuration, compilation and # installation of a Meson package should be done, implements a few hooks to @@ -45,10 +109,6 @@ NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) define inner-meson-package -$(2)_CONF_ENV ?= -$(2)_CONF_OPTS ?= -$(2)_NINJA_ENV ?= - # # Configure step. Only define it if not already defined by the package # .mk file. And take care of the differences between host and target @@ -67,32 +127,24 @@ $(2)_CXXFLAGS ?= $$(TARGET_CXXFLAGS) define $(2)_CONFIGURE_CMDS rm -rf $$($$(PKG)_SRCDIR)/build mkdir -p $$($$(PKG)_SRCDIR)/build - sed -e 's%@TARGET_CROSS@%$$(TARGET_CROSS)%g' \ - -e 's%@TARGET_ARCH@%$$(HOST_MESON_TARGET_CPU_FAMILY)%g' \ - -e 's%@TARGET_CPU@%$$(HOST_MESON_TARGET_CPU)%g' \ - -e 's%@TARGET_ENDIAN@%$$(HOST_MESON_TARGET_ENDIAN)%g' \ - -e "s%@TARGET_CFLAGS@%$$(call make-sq-comma-list,$$($(2)_CFLAGS))%g" \ - -e "s%@TARGET_LDFLAGS@%$$(call make-sq-comma-list,$$($(2)_LDFLAGS))%g" \ - -e "s%@TARGET_CXXFLAGS@%$$(call make-sq-comma-list,$$($(2)_CXXFLAGS))%g" \ - -e 's%@HOST_DIR@%$$(HOST_DIR)%g' \ - -e 's%@STAGING_DIR@%$$(STAGING_DIR)%g' \ - -e 's%@STATIC@%$$(if $$(BR2_STATIC_LIBS),true,false)%g' \ - -e "/^\[binaries\]$$$$/s:$$$$:$$(foreach x,$$($(2)_MESON_EXTRA_BINARIES),\n$$(x)):" \ + sed -e "/^\[binaries\]$$$$/s:$$$$:$$(foreach x,$$($(2)_MESON_EXTRA_BINARIES),\n$$(x)):" \ -e "/^\[properties\]$$$$/s:$$$$:$$(foreach x,$$($(2)_MESON_EXTRA_PROPERTIES),\n$$(x)):" \ - package/meson/cross-compilation.conf.in \ + $$(call PKG_MESON_CROSSCONFIG_SED,$(2)_CFLAGS,$(2)_CXXFLAGS,$(2)_LDFLAGS) \ > $$($$(PKG)_SRCDIR)/build/cross-compilation.conf PATH=$$(BR_PATH) \ CC_FOR_BUILD="$$(HOSTCC)" \ - CXX_FOR_BUILD="$$(HOSTCC)" \ + CXX_FOR_BUILD="$$(HOSTCXX)" \ $$($$(PKG)_CONF_ENV) \ $$(MESON) \ --prefix=/usr \ --libdir=lib \ --default-library=$(if $(BR2_STATIC_LIBS),static,shared) \ - --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \ + --buildtype=$(if $(BR2_ENABLE_RUNTIME_DEBUG),debug,release) \ --cross-file=$$($$(PKG)_SRCDIR)/build/cross-compilation.conf \ + -Db_pie=false \ -Dstrip=false \ -Dbuild.pkg_config_path=$$(HOST_DIR)/lib/pkgconfig \ + -Dbuild.cmake_prefix_path=$$(HOST_DIR)/lib/cmake \ $$($$(PKG)_CONF_OPTS) \ $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build endef @@ -110,6 +162,7 @@ define $(2)_CONFIGURE_CMDS --localstatedir=$$(HOST_DIR)/var \ --default-library=shared \ --buildtype=release \ + --wrap-mode=nodownload \ -Dstrip=true \ $$($$(PKG)_CONF_OPTS) \ $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build @@ -184,7 +237,7 @@ meson-package = $(call inner-meson-package,$(pkgname),$(call UPPERCASE,$(pkgname host-meson-package = $(call inner-meson-package,host-$(pkgname),$(call UPPERCASE,host-$(pkgname)),$(call UPPERCASE,$(pkgname)),host) ################################################################################ -# Generation of the Meson cross-compilation.conf file +# Generation of the Meson compile flags and cross-compilation file ################################################################################ # Generate a Meson cross-compilation.conf suitable for use with the @@ -192,22 +245,12 @@ host-meson-package = $(call inner-meson-package,host-$(pkgname),$(call UPPERCASE # own flags if they need to. define PKG_MESON_INSTALL_CROSS_CONF mkdir -p $(HOST_DIR)/etc/meson - sed -e 's%@TARGET_CROSS@%$(TARGET_CROSS)%g' \ - -e 's%@TARGET_ARCH@%$(HOST_MESON_TARGET_CPU_FAMILY)%g' \ - -e 's%@TARGET_CPU@%$(HOST_MESON_TARGET_CPU)%g' \ - -e 's%@TARGET_ENDIAN@%$(HOST_MESON_TARGET_ENDIAN)%g' \ - -e "s%@TARGET_CFLAGS@%$(call make-sq-comma-list,$(TARGET_CFLAGS))@PKG_TARGET_CFLAGS@%g" \ - -e "s%@TARGET_LDFLAGS@%$(call make-sq-comma-list,$(TARGET_LDFLAGS))@PKG_TARGET_CFLAGS@%g" \ - -e "s%@TARGET_CXXFLAGS@%$(call make-sq-comma-list,$(TARGET_CXXFLAGS))@PKG_TARGET_CFLAGS@%g" \ - -e 's%@HOST_DIR@%$(HOST_DIR)%g' \ - -e 's%@STAGING_DIR@%$(STAGING_DIR)%g' \ - -e 's%@STATIC@%$(if $(BR2_STATIC_LIBS),true,false)%g' \ - $(HOST_MESON_PKGDIR)/cross-compilation.conf.in \ + sed -e "s%@TARGET_CFLAGS@%$(call make-sq-comma-list,$(TARGET_CFLAGS))@PKG_TARGET_CFLAGS@%g" \ + -e "s%@TARGET_LDFLAGS@%$(call make-sq-comma-list,$(TARGET_LDFLAGS))@PKG_TARGET_LDFLAGS@%g" \ + -e "s%@TARGET_CXXFLAGS@%$(call make-sq-comma-list,$(TARGET_CXXFLAGS))@PKG_TARGET_CXXFLAGS@%g" \ + $(call PKG_MESON_CROSSCONFIG_SED) \ > $(HOST_DIR)/etc/meson/cross-compilation.conf.in - sed -e 's%@PKG_TARGET_CFLAGS@%%g' \ - -e 's%@PKG_TARGET_LDFLAGS@%%g' \ - -e 's%@PKG_TARGET_CXXFLAGS@%%g' \ - $(HOST_DIR)/etc/meson/cross-compilation.conf.in \ + sed $(call PKG_MESON_CROSSCONFIG_SED,TARGET_CFLAGS,TARGET_CXXFLAGS,TARGET_LDFLAGS) \ > $(HOST_DIR)/etc/meson/cross-compilation.conf endef diff --git a/package/pkg-python.mk b/package/pkg-python.mk index 59a48e5a873..38455e40fbb 100644 --- a/package/pkg-python.mk +++ b/package/pkg-python.mk @@ -20,6 +20,13 @@ # ################################################################################ +ifeq ($(BR2_arm)$(BR2_armeb),y) +PKG_PYTHON_ARCH = arm +else +PKG_PYTHON_ARCH = $(ARCH) +endif +PKG_PYTHON_HOST_PLATFORM = linux-$(PKG_PYTHON_ARCH) + # basename does not evaluate if a file exists, so we must check to ensure # the _sysconfigdata__linux_*.py file exists. The "|| true" is added to return # an empty string if the file does not exist. @@ -31,8 +38,11 @@ PKG_PYTHON_DISTUTILS_ENV = \ PATH=$(BR_PATH) \ $(TARGET_CONFIGURE_OPTS) \ LDSHARED="$(TARGET_CROSS)gcc -shared" \ - PYTHONPATH="$(if $(BR2_PACKAGE_PYTHON3),$(PYTHON3_PATH),$(PYTHON_PATH))" \ + PYTHONPATH="$(PYTHON3_PATH)" \ PYTHONNOUSERSITE=1 \ + SETUPTOOLS_USE_DISTUTILS=stdlib \ + _PYTHON_HOST_PLATFORM="$(PKG_PYTHON_HOST_PLATFORM)" \ + _PYTHON_PROJECT_BASE="$(PYTHON3_DIR)" \ _PYTHON_SYSCONFIGDATA_NAME="$(PKG_PYTHON_SYSCONFIGDATA_NAME)" \ _python_sysroot=$(STAGING_DIR) \ _python_prefix=/usr \ @@ -42,10 +52,12 @@ PKG_PYTHON_DISTUTILS_BUILD_OPTS = \ --executable=/usr/bin/python PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS = \ + --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ --prefix=/usr \ --root=$(TARGET_DIR) PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS = \ + --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ --prefix=/usr \ --root=$(STAGING_DIR) @@ -53,6 +65,7 @@ PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS = \ HOST_PKG_PYTHON_DISTUTILS_ENV = \ PATH=$(BR_PATH) \ PYTHONNOUSERSITE=1 \ + SETUPTOOLS_USE_DISTUTILS=stdlib \ $(HOST_CONFIGURE_OPTS) HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ @@ -60,22 +73,27 @@ HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ # Target setuptools-based packages PKG_PYTHON_SETUPTOOLS_ENV = \ + _PYTHON_HOST_PLATFORM="$(PKG_PYTHON_HOST_PLATFORM)" \ + _PYTHON_PROJECT_BASE="$(PYTHON3_DIR)" \ _PYTHON_SYSCONFIGDATA_NAME="$(PKG_PYTHON_SYSCONFIGDATA_NAME)" \ PATH=$(BR_PATH) \ $(TARGET_CONFIGURE_OPTS) \ - PYTHONPATH="$(if $(BR2_PACKAGE_PYTHON3),$(PYTHON3_PATH),$(PYTHON_PATH))" \ + PYTHONPATH="$(PYTHON3_PATH)" \ PYTHONNOUSERSITE=1 \ + SETUPTOOLS_USE_DISTUTILS=stdlib \ _python_sysroot=$(STAGING_DIR) \ _python_prefix=/usr \ _python_exec_prefix=/usr PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS = \ + --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ --prefix=/usr \ --executable=/usr/bin/python \ --single-version-externally-managed \ --root=$(TARGET_DIR) PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS = \ + --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ --prefix=/usr \ --executable=/usr/bin/python \ --single-version-externally-managed \ @@ -85,6 +103,7 @@ PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS = \ HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ PATH=$(BR_PATH) \ PYTHONNOUSERSITE=1 \ + SETUPTOOLS_USE_DISTUTILS=stdlib \ $(HOST_CONFIGURE_OPTS) HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ @@ -92,14 +111,6 @@ HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ --root=/ \ --single-version-externally-managed -ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -define PKG_PYTHON_FIXUP_SYSCONFIGDATA - find $(HOST_DIR)/lib/python* $(STAGING_DIR)/usr/lib/python* \ - -name "_sysconfigdata*.py" | xargs --no-run-if-empty \ - $(SED) "s:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/:g" -endef -endif - ################################################################################ # inner-python-package -- defines how the configuration, compilation # and installation of a Python package should be done, implements a @@ -116,10 +127,6 @@ endif define inner-python-package -$(2)_ENV ?= -$(2)_BUILD_OPTS ?= -$(2)_INSTALL_OPTS ?= - ifndef $(2)_SETUP_TYPE ifdef $(3)_SETUP_TYPE $(2)_SETUP_TYPE = $$($(3)_SETUP_TYPE) @@ -139,7 +146,6 @@ $(2)_BASE_INSTALL_STAGING_OPTS = $$(PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS) else $(2)_BASE_ENV = $$(HOST_PKG_PYTHON_DISTUTILS_ENV) $(2)_BASE_BUILD_TGT = build -$(2)_BASE_BUILD_OPTS = $(2)_BASE_INSTALL_OPTS = $$(HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS) endif # Setuptools @@ -147,13 +153,11 @@ else ifeq ($$($(2)_SETUP_TYPE),setuptools) ifeq ($(4),target) $(2)_BASE_ENV = $$(PKG_PYTHON_SETUPTOOLS_ENV) $(2)_BASE_BUILD_TGT = build -$(2)_BASE_BUILD_OPTS = $(2)_BASE_INSTALL_TARGET_OPTS = $$(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS) $(2)_BASE_INSTALL_STAGING_OPTS = $$(PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS) else $(2)_BASE_ENV = $$(HOST_PKG_PYTHON_SETUPTOOLS_ENV) $(2)_BASE_BUILD_TGT = build -$(2)_BASE_BUILD_OPTS = $(2)_BASE_INSTALL_OPTS = $$(HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) endif else @@ -163,88 +167,24 @@ endif # Target packages need both the python interpreter on the target (for # runtime) and the python interpreter on the host (for # compilation). However, host packages only need the python -# interpreter on the host, whose version may be enforced by setting -# the *_NEEDS_HOST_PYTHON variable. -# -# So: -# - for target packages, we always depend on the default python interpreter -# (the one selected by the config); -# - for host packages: -# - if *_NEEDS_HOST_PYTHON is not set, then we depend on use the default -# interperter; -# - otherwise, we depend on the one requested by *_NEEDS_HOST_PYTHON. +# interpreter on the host. # ifeq ($(4),target) -$(2)_DEPENDENCIES += $$(if $$(BR2_PACKAGE_PYTHON3),host-python3 python3,host-python python) -else -ifeq ($$($(2)_NEEDS_HOST_PYTHON),) -$(2)_DEPENDENCIES += $$(if $$(BR2_PACKAGE_PYTHON3),host-python3,host-python) +$(2)_DEPENDENCIES += host-python3 python3 else -ifeq ($$($(2)_NEEDS_HOST_PYTHON),python2) -$(2)_DEPENDENCIES += host-python -else ifeq ($$($(2)_NEEDS_HOST_PYTHON),python3) $(2)_DEPENDENCIES += host-python3 -else -$$(error Incorrect value '$$($(2)_NEEDS_HOST_PYTHON)' for $(2)_NEEDS_HOST_PYTHON) -endif -endif # ($$($(2)_NEEDS_HOST_PYTHON),) endif # ($(4),target) # Setuptools based packages will need setuptools for the host Python # interpreter (both host and target). # -# If we have a host package that says "I need Python 3", we install -# setuptools for python3. -# -# If we have a host packge that says "I need Python 2", we install -# setuptools for python2. -# -# If we have a target package, or a host package that doesn't have any -# _NEEDS_HOST_PYTHON, and BR2_PACKAGE_PYTHON3 is used, then -# Python 3.x is the default Python interpreter, so we install -# setuptools for python3. -# -# In all other cases, we install setuptools for python2. Those other -# cases are: a target package or host package with -# BR2_PACKAGE_PYTHON=y, or a host-package with neither -# BR2_PACKAGE_PYTHON3=y or BR2_PACKAGE_PYTHON=y. ifeq ($$($(2)_SETUP_TYPE),setuptools) -ifeq ($(4):$$($(2)_NEEDS_HOST_PYTHON),host:python3) -$(2)_DEPENDENCIES += $$(if $$(filter host-python3-setuptools,$(1)),,host-python3-setuptools) -else ifeq ($(4):$$($(2)_NEEDS_HOST_PYTHON),host:python2) -$(2)_DEPENDENCIES += $$(if $$(filter host-python-setuptools,$(1)),,host-python-setuptools) -else ifeq ($$(BR2_PACKAGE_PYTHON3),y) -$(2)_DEPENDENCIES += $$(if $$(filter host-python3-setuptools,$(1)),,host-python3-setuptools) -else $(2)_DEPENDENCIES += $$(if $$(filter host-python-setuptools,$(1)),,host-python-setuptools) -endif endif # SETUP_TYPE # Python interpreter to use for building the package. # -# We may want to specify the python interpreter to be used for building a -# package, especially for host-packages (target packages must be built using -# the same version of the interpreter as the one installed on the target). -# -# So: -# - for target packages, we always use the default python interpreter (which -# is the same version as the one built and installed on the target); -# - for host packages: -# - if *_NEEDS_HOST_PYTHON is not set, then we use use the default -# interperter; -# - otherwise, we use the one requested by *_NEEDS_HOST_PYTHON. -# -ifeq ($(4),target) $(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/python -else -ifeq ($$($(2)_NEEDS_HOST_PYTHON),) -$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/python -else -$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/$$($(2)_NEEDS_HOST_PYTHON) -endif -endif - -$(2)_PRE_CONFIGURE_HOOKS += PKG_PYTHON_FIXUP_SYSCONFIGDATA # # Build step. Only define it if not already defined by the package .mk diff --git a/package/pkg-qmake.mk b/package/pkg-qmake.mk index a77286fe3ae..fdaddf08dfd 100644 --- a/package/pkg-qmake.mk +++ b/package/pkg-qmake.mk @@ -24,7 +24,9 @@ # Hook to sync Qt headers # define QT_HEADERS_SYNC_HOOK - $(Q)cd $($(PKG)_BUILDDIR) && $(HOST_DIR)/bin/syncqt.pl -version $(QT5_VERSION) + sed -e '/^MODULE_VERSION/s/5\.15\.[3456789]/$(QT5_VERSION)/' -i \ + $($(PKG)_BUILDDIR)/.qmake.conf + touch $($(PKG)_BUILDDIR)/.git endef ################################################################################ @@ -40,10 +42,6 @@ endef define inner-qmake-package -$(2)_CONF_ENV ?= -$(2)_CONF_OPTS ?= -$(2)_MAKE_ENV ?= -$(2)_MAKE_OPTS ?= $(2)_INSTALL_STAGING_OPTS ?= install $(2)_INSTALL_TARGET_OPTS ?= $$($(2)_INSTALL_STAGING_OPTS) @@ -56,13 +54,14 @@ $(2)_DEPENDENCIES += host-perl $(2)_PRE_CONFIGURE_HOOKS += QT_HEADERS_SYNC_HOOK endif +$(2)_POST_PREPARE_HOOKS += QT5_QT_CONF_FIXUP + # # Configure step. Only define it if not already defined by the package # .mk file. # ifndef $(2)_CONFIGURE_CMDS define $(2)_CONFIGURE_CMDS - $$(QT5_QT_CONF_FIXUP) cd $$($(2)_BUILDDIR) && \ $$(TARGET_MAKE_ENV) $$($(2)_CONF_ENV) $$(QT5_QMAKE) $$($(2)_CONF_OPTS) endef diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index d0fcdd4e1de..7d1aea77107 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -96,8 +96,7 @@ endef # $(1): upper-case package or filesystem name define json-info "$($(1)_NAME)": { - "name": "$($(1)_RAWNAME)", - "type": "$($(1)_TYPE)", + "type": $(call mk-json-str,$($(1)_TYPE)), $(if $(filter rootfs,$($(1)_TYPE)), \ $(call _json-info-fs,$(1)), \ $(call _json-info-pkg,$(1)), \ @@ -108,46 +107,61 @@ endef # _json-info-pkg, _json-info-pkg-details, _json-info-fs: private helpers # for json-info, above define _json-info-pkg + "name": $(call mk-json-str,$($(1)_RAWNAME)), $(if $($(1)_IS_VIRTUAL), \ "virtual": true$(comma), "virtual": false$(comma) $(call _json-info-pkg-details,$(1)) \ ) - "build_dir": "$(patsubst $(BASE_DIR)/%,%,$($(1)_BUILDDIR))", + "stamp_dir": $(call mk-json-str,$(patsubst $(CONFIG_DIR)/%,%,$($(1)_DIR))), + "source_dir": $(call mk-json-str,$(patsubst $(CONFIG_DIR)/%,%,$($(1)_DIR))), + "build_dir": $(call mk-json-str,$(patsubst $(CONFIG_DIR)/%,%,$($(1)_BUILDDIR))), $(if $(filter target,$($(1)_TYPE)), \ "install_target": $(call yesno-to-bool,$($(1)_INSTALL_TARGET))$(comma) \ "install_staging": $(call yesno-to-bool,$($(1)_INSTALL_STAGING))$(comma) \ "install_images": $(call yesno-to-bool,$($(1)_INSTALL_IMAGES))$(comma) \ ) "dependencies": [ - $(call make-comma-list,$(sort $($(1)_FINAL_ALL_DEPENDENCIES))) + $(call make-comma-list, \ + $(foreach dep,$(sort $($(1)_FINAL_ALL_DEPENDENCIES)), \ + $(call mk-json-str,$(dep)) \ + ) \ + ) ], "reverse_dependencies": [ - $(call make-comma-list,$(sort $($(1)_RDEPENDENCIES))) + $(call make-comma-list, \ + $(foreach dep,$(sort $($(1)_RDEPENDENCIES)), \ + $(call mk-json-str,$(dep)) \ + ) \ + ) ] $(if $($(1)_CPE_ID_VALID), \ - $(comma) "cpe-id": "$($(1)_CPE_ID)" \ + $(comma) "cpe-id": $(call mk-json-str,$($(1)_CPE_ID)) \ ) $(if $($(1)_IGNORE_CVES), $(comma) "ignore_cves": [ - $(call make-comma-list,$(sort $($(1)_IGNORE_CVES))) + $(call make-comma-list, \ + $(foreach cve,$(sort $($(1)_IGNORE_CVES)), \ + $(call mk-json-str,$(cve)) \ + ) \ + ) ] ) endef define _json-info-pkg-details - "version": "$($(1)_DL_VERSION)", - "licenses": "$($(1)_LICENSE)", - "dl_dir": "$($(1)_DL_SUBDIR)", + "version": $(call mk-json-str,$($(1)_DL_VERSION)), + "licenses": $(call mk-json-str,$($(1)_LICENSE)), + "dl_dir": $(call mk-json-str,$($(1)_DL_SUBDIR)), "downloads": [ $(foreach dl,$(sort $($(1)_ALL_DOWNLOADS)), { - "source": "$(notdir $(dl))", + "source": $(call mk-json-str,$(notdir $(dl))), "uris": [ - $(call make-comma-list, - $(subst \|,|, - $(call DOWNLOAD_URIS,$(dl),$(1)) - ) + $(call make-comma-list, \ + $(foreach uri,$(call DOWNLOAD_URIS,$(dl),$(1)), \ + $(call mk-json-str,$(subst \|,|,$(uri))) \ + ) \ ) ] }, @@ -156,8 +170,16 @@ define _json-info-pkg-details endef define _json-info-fs + "image_name": $(if $($(1)_FINAL_IMAGE_NAME), \ + $(call mk-json-str,$($(1)_FINAL_IMAGE_NAME)), \ + null \ + ), "dependencies": [ - $(call make-comma-list,$(sort $($(1)_DEPENDENCIES))) + $(call make-comma-list, \ + $(foreach dep,$(sort $($(1)_DEPENDENCIES)), \ + $(call mk-json-str,$(dep)) \ + ) \ + ) ] endef @@ -167,11 +189,21 @@ endef clean-json = $(strip \ $(subst $(comma)},}, $(subst $(comma)$(space)},$(space)}, \ $(subst $(comma)],], $(subst $(comma)$(space)],$(space)], \ - $(subst \,\\, \ $(strip $(1)) \ - ))))) \ + )))) \ ) +# mk-json-str -- escape and double-quote a string to make it a valid json string +# - escape \ +# - escape " +# - escape \n +# - escape \t +# - escape ESC +# - escape SPACE (so that we can $(strip) a JSON blurb without squashing multiple spaces) +# This unfortunately has to be on a single line... +mk-json-str = "$(subst $(space),\u0020,$(subst $(escape),\u001b,$(subst $(tab),\t,$(subst $(sep),\n,$(subst ",\",$(subst \,\\,$(1)))))))" +# )))))" # Syntax colouring + ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) # rsync the contents of per-package directories # $1: space-separated list of packages to rsync from @@ -181,8 +213,8 @@ define per-package-rsync mkdir -p $(3) $(foreach pkg,$(1),\ rsync -a --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \ - $(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \ - $(3)$(sep)) + $(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \ + $(3)$(sep)) endef # prepares the per-package HOST_DIR and TARGET_DIR of the current diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk index 038d89454e6..d546b4a817c 100644 --- a/package/pkg-waf.mk +++ b/package/pkg-waf.mk @@ -20,6 +20,8 @@ # ################################################################################ +WAF_OPTS = $(if $(VERBOSE),-v) -j $(PARALLEL_JOBS) + ################################################################################ # inner-waf-package -- defines how the configuration, compilation and # installation of a waf package should be done, implements a few hooks @@ -49,11 +51,6 @@ else $(2)_WAF ?= ./waf endif -$(2)_BUILD_OPTS ?= -$(2)_INSTALL_STAGING_OPTS ?= -$(2)_INSTALL_TARGET_OPTS ?= -$(2)_WAF_OPTS ?= - # # Configure step. Only define it if not already defined by the package # .mk file. @@ -79,7 +76,7 @@ ifndef $(2)_BUILD_CMDS define $(2)_BUILD_CMDS cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \ - build -j $$(PARALLEL_JOBS) $$($(2)_BUILD_OPTS) \ + build $$(WAF_OPTS) $$($(2)_BUILD_OPTS) \ $$($(2)_WAF_OPTS) endef endif diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk index 3d51258d65a..5d65f69c10a 100644 --- a/package/pkgconf/pkgconf.mk +++ b/package/pkgconf/pkgconf.mk @@ -9,6 +9,7 @@ PKGCONF_SITE = https://distfiles.dereferenced.org/pkgconf PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.xz PKGCONF_LICENSE = pkgconf license PKGCONF_LICENSE_FILES = COPYING +PKGCONF_CPE_ID_VENDOR = pkgconf PKG_CONFIG_HOST_BINARY = $(HOST_DIR)/bin/pkg-config diff --git a/package/ply/0001-configure.ac-fix-error-with-version-string.patch b/package/ply/0001-configure.ac-fix-error-with-version-string.patch deleted file mode 100644 index e80599c6495..00000000000 --- a/package/ply/0001-configure.ac-fix-error-with-version-string.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 684bae6043fa2242a5c6551c3f260c9db0cf7dc8 Mon Sep 17 00:00:00 2001 -From: Andreas Klinger -Date: Mon, 4 Jan 2021 08:40:50 +0100 -Subject: [PATCH] configure.ac: fix error with version string - -When autoreconfiguring there's an error: "configure.ac:6: error: AC_INIT -should be called with package and version arguments". - -Put version string in square brackets to satisfy autoconfigure. - -Signed-off-by: Andreas Klinger ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 65387d6..7a0054e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,5 @@ - AC_PREREQ(2.61) --AC_INIT(ply, m4_esyscmd_s(git describe --always --dirty), -+AC_INIT(ply, [2.1.1], - https://github.com/wkz/ply/issues) - - AC_GNU_SOURCE --- -2.20.1 - diff --git a/package/ply/0002-printxf.h-add-stdarg.h-in-include.patch b/package/ply/0002-printxf.h-add-stdarg.h-in-include.patch deleted file mode 100644 index f56e9a8e727..00000000000 --- a/package/ply/0002-printxf.h-add-stdarg.h-in-include.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3fb3cb779c535ec28cbba80573bbea42435108c0 Mon Sep 17 00:00:00 2001 -From: Andreas Klinger -Date: Mon, 4 Jan 2021 20:48:41 +0100 -Subject: [PATCH] printxf.h: add stdarg.h in include - -Include of is needed for va_list. - -Signed-off-by: Andreas Klinger ---- - include/ply/printxf.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/ply/printxf.h b/include/ply/printxf.h -index a59f0d2..e985936 100644 ---- a/include/ply/printxf.h -+++ b/include/ply/printxf.h -@@ -8,6 +8,7 @@ - #define _PRINTXF_H - - #include -+#include - - struct printxf; - --- -2.20.1 - diff --git a/package/ply/ply.hash b/package/ply/ply.hash index 0ee2709b30e..df01ae08e01 100644 --- a/package/ply/ply.hash +++ b/package/ply/ply.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 cecf0913c65027750ac3272e936110c9f843435938f9ca2edbc34e99ba6c00e2 ply-2.1.1.tar.gz +sha256 8cd92fc8784873fb0507bc11f3f62a31d0345c64914ddaadb958d8b2d6de0100 ply-2.2.0.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ply/ply.mk b/package/ply/ply.mk index b72b29f3156..b3c56bd9a5b 100644 --- a/package/ply/ply.mk +++ b/package/ply/ply.mk @@ -4,7 +4,7 @@ # ################################################################################ -PLY_VERSION = 2.1.1 +PLY_VERSION = 2.2.0 PLY_SITE = $(call github,wkz,ply,$(PLY_VERSION)) PLY_AUTORECONF = YES PLY_LICENSE = GPL-2.0 diff --git a/package/pngquant/pngquant.hash b/package/pngquant/pngquant.hash index c73321670cf..a7ea4aa997f 100644 --- a/package/pngquant/pngquant.hash +++ b/package/pngquant/pngquant.hash @@ -1,4 +1,4 @@ # From https://pngquant.org/releases.html -sha256 4b911a11aa0c35d364b608c917d13002126185c8c314ba4aa706b62fd6a95a7a pngquant-2.13.1-src.tar.gz +sha256 a27cf0e64db499ccb3ddae9b36036e881f78293e46ec27a9e7a86a3802fcda66 pngquant-2.17.0-src.tar.gz # Locally computed sha256 e4f467f7abf860b4e620f5f60fdd88bc3a63a0fdb98a481fb002b5e511c9b826 COPYRIGHT diff --git a/package/pngquant/pngquant.mk b/package/pngquant/pngquant.mk index c5a17e872a3..87537aa18e6 100644 --- a/package/pngquant/pngquant.mk +++ b/package/pngquant/pngquant.mk @@ -4,11 +4,12 @@ # ################################################################################ -PNGQUANT_VERSION = 2.13.1 +PNGQUANT_VERSION = 2.17.0 PNGQUANT_SOURCE = pngquant-$(PNGQUANT_VERSION)-src.tar.gz PNGQUANT_SITE = https://pngquant.org PNGQUANT_LICENSE = GPL-3.0+ PNGQUANT_LICENSE_FILES = COPYRIGHT +PNGQUANT_CPE_ID_VENDOR = pngquant HOST_PNGQUANT_DEPENDENCIES = host-libpng PNGQUANT_DEPENDENCIES = libpng diff --git a/package/poco/Config.in b/package/poco/Config.in index 24514a3714a..dd87ee36bbb 100644 --- a/package/poco/Config.in +++ b/package/poco/Config.in @@ -45,6 +45,7 @@ config BR2_PACKAGE_POCO_NET config BR2_PACKAGE_POCO_CRYPTO bool "crypto" select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL config BR2_PACKAGE_POCO_NETSSL_OPENSSL bool "netssl_openssl" diff --git a/package/poco/poco.mk b/package/poco/poco.mk index c605044ba3e..857f215e3a7 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -8,6 +8,7 @@ POCO_VERSION = 1.10.1 POCO_SITE = $(call github,pocoproject,poco,poco-$(POCO_VERSION)-release) POCO_LICENSE = BSL-1.0 POCO_LICENSE_FILES = LICENSE +POCO_CPE_ID_VENDOR = pocoproject POCO_INSTALL_STAGING = YES POCO_DEPENDENCIES = zlib pcre \ diff --git a/package/poke/0001-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch b/package/poke/0001-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch new file mode 100644 index 00000000000..c1695161531 --- /dev/null +++ b/package/poke/0001-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch @@ -0,0 +1,34 @@ +From b35dadae6371c3727cac46ae5bd348b66aa411fc Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 30 Apr 2021 15:43:59 +0200 +Subject: [PATCH] configure.ac: HELP2MAN replace ':' by 'true' when + cross-compiling + +Avoid: +/usr/bin/make ./../poke/poke +../run \ + : -p poke --name="The GNU extensible binary editor" \ + ./../poke/poke -o ./poke.1 +../run: line 51: exec: :: not found + +Signed-off-by: Romain Naour +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 2c6f1aef..9c4c9be2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -74,7 +74,7 @@ gl_LIBTEXTSTYLE_OPTIONAL([0.20.5]) + if test $cross_compiling = no; then + AM_MISSING_PROG(HELP2MAN, help2man) + else +- HELP2MAN=: ++ HELP2MAN=true + fi + + dnl recfix is part of the GNU recutils suite, and is used in cfg.mk to +-- +2.31.1 + diff --git a/package/poke/0002-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch b/package/poke/0002-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch new file mode 100644 index 00000000000..757dc3f760f --- /dev/null +++ b/package/poke/0002-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch @@ -0,0 +1,72 @@ +From a0594387565e1e6b4a8a8ba04ad13b135cc1f0b5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 1 Apr 2021 07:49:46 +0200 +Subject: [PATCH] lib/getrandom.c: fix build with uclibc < 1.0.35 + +Fix the following build failure with uclibc < 1.0.35 which is raised +since the addition of getrandom module in +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=682cc4e678aceff32dea2a84b6e5147bdf5a20a7: + +In file included from ./sys/random.h:40, + from getrandom.c:22: +/tmp/instance-0/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t' + 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags) + | ^~~~~~ +/tmp/instance-0/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header ''; did you forget to '#include '? + 7 | #include + +++ |+#include + 8 | + +This patch is not upstreamable as it is only a workaround for +uclibc < 1.0.35, upstream uclibc has been patched with +https://github.com/wbx-github/uclibc-ng/commit/00972c02c2b6e0a95d5def4a71bdfb188e091782 + +Fixes: + - http://autobuild.buildroot.org/results/30105094e39374ec6d4e47e2fb5e99696f7f7981 + +Signed-off-by: Fabrice Fontaine +--- + jitter/gnulib-local/getrandom.c | 1 + + gl/getrandom.c | 1 + + gl-libpoke/getrandom.c | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/jitter/gnulib-local/getrandom.c b/jitter/gnulib-local/getrandom.c +index 41212fb32..0ad3f9648 100644 +--- a/jitter/gnulib-local/getrandom.c ++++ b/jitter/gnulib-local/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +diff --git a/gl/getrandom.c b/gl/getrandom.c +index 41212fb32..0ad3f9648 100644 +--- a/gl/getrandom.c ++++ b/gl/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +diff --git a/gl-libpoke/getrandom.c b/gl-libpoke/getrandom.c +index 41212fb32..0ad3f9648 100644 +--- a/gl-libpoke/getrandom.c ++++ b/gl-libpoke/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +-- +2.30.2 + diff --git a/package/poke/Config.in b/package/poke/Config.in new file mode 100644 index 00000000000..40e7a31bab3 --- /dev/null +++ b/package/poke/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_POKE + bool "poke" + depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # bdwgc + depends on BR2_USE_WCHAR # needs wctomb + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # less + select BR2_PACKAGE_BDWGC + select BR2_PACKAGE_LESS # runtime + select BR2_PACKAGE_READLINE + help + GNU poke is a new interactive editor for binary data. Not + limited to editing basic entities such as bits and bytes, + it provides a full-fledged procedural, interactive + programming language designed to describe data structures + and to operate on them. Once a user has defined a structure + for binary data (usually matching some file format) she can + search, inspect, create, shuffle and modify abstract entities + such as ELF relocations, MP3 tags, DWARF expressions, + partition table entries, and so on, with primitives + resembling simple editing of bits and bytes. The program + comes with a library of already written descriptions (or + "pickles" in poke parlance) for many binary formats. + + https://www.gnu.org/software/poke/ + +comment "poke needs a toolchain w/ NPTL, wchar" + depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR diff --git a/package/poke/poke.hash b/package/poke/poke.hash new file mode 100644 index 00000000000..1367262f543 --- /dev/null +++ b/package/poke/poke.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 ce054df29560c921230132703ee449fe130b6e25ab03aa6cc796bb401506aa24 poke-1.4.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 jitter/COPYING diff --git a/package/poke/poke.mk b/package/poke/poke.mk new file mode 100644 index 00000000000..ddd03ae3b08 --- /dev/null +++ b/package/poke/poke.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# poke +# +################################################################################ + +POKE_VERSION = 1.4 +POKE_SITE = $(BR2_GNU_MIRROR)/poke +# gnulib license is a mix/mess of public-domain and various GPL and LGPL versions. +POKE_LICENSE = GPL-3.0+, GPL-3.0+ (jitter), gnulib license (gnulib) +POKE_LICENSE_FILES = COPYING jitter/COPYING + +# 0001-configure.ac-HELP2MAN-replace-by-false-when-cross-co.patch +POKE_AUTORECONF = YES + +POKE_INSTALL_STAGING = YES +POKE_DEPENDENCIES = host-flex host-bison host-pkgconf bdwgc readline + +# poke bundle gnulib that doesn't support the case where +# host_os='linux-uclibc'. When cross-compiling, the guessed +# answers are mostly wrong and gnulib will try to replace +# snprintf with rpl_snprintf. This lead to "undefined reference +# to `rpl_snprintf'" errors. +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) +POKE_CONF_ENV = gl_cv_func_printf_positions=yes \ + gl_cv_func_snprintf_retval_c99=yes \ + gl_cv_func_printf_sizes_c99=yes \ + gl_cv_func_printf_infinite_long_double=yes \ + gl_cv_func_snprintf_retval_c99=yes \ + gl_cv_func_snprintf_truncation_c99=yes \ + gl_cv_func_snprintf_usable=yes \ + gl_cv_func_strerror_0_works=yes \ + gl_cv_header_working_stdint_h=yes \ + gl_cv_func_printf_infinite=yes \ + gl_cv_func_printf_flag_zero=yes \ + gl_cv_func_printf_enomem=yes \ + gl_cv_func_printf_directive_f=yes \ + gl_cv_func_printf_directive_a=yes \ + gl_cv_func_snprintf_directive_n=yes \ + gl_cv_func_vsnprintf_posix=yes \ + gl_cv_func_vsnprintf_zerosize_c99=yes +endif + +POKE_CONF_OPTS = \ + --disable-gui \ + --disable-libnbd \ + --with-libreadline-prefix=$(STAGING_DIR) + +ifeq ($(BR2_PACKAGE_JSON_C),y) +POKE_DEPENDENCIES += json-c +POKE_CONF_OPTS += --enable-mi +else +POKE_CONF_OPTS += --disable-mi +endif + +$(eval $(autotools-package)) diff --git a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch index 57833d81764..aa75ca63c04 100644 --- a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch +++ b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch @@ -12,26 +12,27 @@ accomodate version 2.5 Signed-off-by: Clayton Shotwell Signed-off-by: Niranjan Reddy -Signed-off-by: Adam Duskett Signed-off-by: Fabrice Fontaine [Update for 2.8] +Signed-off-by: Adam Duskett +[Update for 3.2] --- setfiles/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setfiles/Makefile b/setfiles/Makefile -index c08e2dd..36c0638 100644 +index a3bbbe1..df675cf 100644 --- a/setfiles/Makefile +++ b/setfiles/Makefile -@@ -3,7 +3,7 @@ PREFIX ?= $(DESTDIR)/usr +@@ -3,7 +3,7 @@ LINGUAS ?= ru PREFIX ?= /usr SBINDIR ?= /sbin MANDIR = $(PREFIX)/share/man -AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) +AUDITH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/libaudit.h && echo y) - ABORT_ON_ERRORS=$(shell grep "^\#define ABORT_ON_ERRORS" setfiles.c | awk -S '{ print $$3 }') - + CFLAGS ?= -g -Werror -Wall -W + override LDLIBS += -lselinux -lsepol -- 2.13.6 diff --git a/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch b/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch index ffe5fcbd44a..2daed57c976 100644 --- a/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch +++ b/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch @@ -6,41 +6,39 @@ Subject: [PATCH] Add PREFIX to host paths Updates the remaining hardcoded host paths used in the build to be prefixed with a PREFIX path to allow cross compilation. -Updated to work with version 2.5 +Updated to work with version 3.2 Signed-off-by: Clayton Shotwell Signed-off-by: Niranjan Reddy -Signed-off-by: Adam Duskett Signed-off-by: Fabrice Fontaine [Update for 2.8] +Signed-off-by: Adam Duskett +[Update for 3.2] --- - load_policy/Makefile | 2 +- - newrole/Makefile | 6 +++--- - run_init/Makefile | 6 +++--- - 3 files changed, 7 insertions(+), 7 deletions(-) + newrole/Makefile | 4 ++-- + run_init/Makefile | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/newrole/Makefile b/newrole/Makefile -index 196af92..896708f 100644 +index 0e7ebce..3188cec 100644 --- a/newrole/Makefile +++ b/newrole/Makefile -@@ -3,9 +3,9 @@ PREFIX ?= $(DESTDIR)/usr +@@ -4,8 +4,8 @@ PREFIX ?= /usr BINDIR ?= $(PREFIX)/bin MANDIR ?= $(PREFIX)/share/man ETCDIR ?= /etc - LOCALEDIR = $(DESTDIR)$(PREFIX)/share/locale --PAMH ?= $(shell test -f /usr/include/security/pam_appl.h && echo y) --AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) -+PAMH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/security/pam_appl.h && echo y) -+AUDITH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/libaudit.h && echo y) +-LOCALEDIR = $(DESTDIR)$(PREFIX)/share/locale +-INCLUDEDIR ?= $(PREFIX)/include ++LOCALEDIR = $(DESTDIR)$(PREFIX) ++INCLUDEDIR ?= $(LOCALEDIR)/include + PAMH ?= $(shell test -f $(INCLUDEDIR)/security/pam_appl.h && echo y) + AUDITH ?= $(shell test -f $(INCLUDEDIR)/libaudit.h && echo y) # Enable capabilities to permit newrole to generate audit records. - # This will make newrole a setuid root program. - # The capabilities used are: CAP_AUDIT_WRITE. diff --git a/run_init/Makefile b/run_init/Makefile -index 921f0b0..e1566fc 100644 +index e86364a..20a64d4 100644 --- a/run_init/Makefile +++ b/run_init/Makefile -@@ -4,9 +4,9 @@ PREFIX ?= $(DESTDIR)/usr - SBINDIR ?= $(PREFIX)/sbin +@@ -6,8 +6,8 @@ SBINDIR ?= $(PREFIX)/sbin MANDIR ?= $(PREFIX)/share/man ETCDIR ?= /etc LOCALEDIR ?= $(DESTDIR)$(PREFIX)/share/locale @@ -52,5 +50,5 @@ index 921f0b0..e1566fc 100644 CFLAGS ?= -Werror -Wall -W override CFLAGS += -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" -- -2.13.6 +2.31.1 diff --git a/package/policycoreutils/Config.in b/package/policycoreutils/Config.in index 81900b4e411..3201c8fede1 100644 --- a/package/policycoreutils/Config.in +++ b/package/policycoreutils/Config.in @@ -1,12 +1,14 @@ -comment "policycoreutils needs a toolchain w/ threads, dynamic library" +comment "policycoreutils needs a toolchain w/ threads, dynamic library, gcc >= 5" depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_PACKAGE_POLICYCOREUTILS bool "policycoreutils" depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS # libsemanage depends on BR2_TOOLCHAIN_HAS_THREADS # libsemanage - depends on !BR2_STATIC_LIBS #libsemanage + depends on !BR2_STATIC_LIBS # libsemanage + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsemanage -> libselinux -> libsepol select BR2_PACKAGE_LIBSEMANAGE select BR2_PACKAGE_LIBCAP_NG help diff --git a/package/policycoreutils/policycoreutils.hash b/package/policycoreutils/policycoreutils.hash index 5dae18f17d5..7d086363705 100644 --- a/package/policycoreutils/policycoreutils.hash +++ b/package/policycoreutils/policycoreutils.hash @@ -1,3 +1,3 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 c889f62ee80f8b6a369469a9b8af51f5b797975aeaa291f5c5960cc12eed1934 policycoreutils-3.1.tar.gz +sha256 d1331c6fa766c547b071c491de90b9f343c8dbffdb119be8a5a7e491199b93a9 policycoreutils-3.2.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/policycoreutils/policycoreutils.mk b/package/policycoreutils/policycoreutils.mk index 0dfdc7af03b..60575ac6448 100644 --- a/package/policycoreutils/policycoreutils.mk +++ b/package/policycoreutils/policycoreutils.mk @@ -4,8 +4,8 @@ # ################################################################################ -POLICYCOREUTILS_VERSION = 3.1 -POLICYCOREUTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +POLICYCOREUTILS_VERSION = 3.2 +POLICYCOREUTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(POLICYCOREUTILS_VERSION) POLICYCOREUTILS_LICENSE = GPL-2.0 POLICYCOREUTILS_LICENSE_FILES = COPYING POLICYCOREUTILS_CPE_ID_VENDOR = selinuxproject @@ -24,7 +24,7 @@ endif ifeq ($(BR2_PACKAGE_AUDIT),y) POLICYCOREUTILS_DEPENDENCIES += audit -POLICYCOREUTILS_MAKE_OPTS += AUDIT_LOG_PRIV=y +POLICYCOREUTILS_MAKE_OPTS += AUDIT_LOG_PRIV=y USE_AUDIT=y endif # Enable LSPP_PRIV if both audit and linux pam are enabled @@ -43,7 +43,7 @@ POLICYCOREUTILS_MAKE_OPTS += \ POLICYCOREUTILS_MAKE_DIRS = \ load_policy newrole run_init \ secon semodule sestatus setfiles \ - setsebool + setsebool scripts # We need to pass DESTDIR at build time because it's used by # policycoreutils build system to find headers and libraries. diff --git a/package/polkit/0001-make-netgroup-support-optional.patch b/package/polkit/0001-make-netgroup-support-optional.patch index 86916aba34f..09c48d7791b 100644 --- a/package/polkit/0001-make-netgroup-support-optional.patch +++ b/package/polkit/0001-make-netgroup-support-optional.patch @@ -16,6 +16,7 @@ Fixes bug 50145. Signed-off-by: A. Wilcox Signed-off-by: Khem Raj +[Adam: Extend patch to work with duktape integration.] Signed-off-by: Adam Duskett [Thomas: add introspection.m4.] Signed-off-by: Thomas Petazzoni @@ -24,12 +25,13 @@ Signed-off-by: Thomas Petazzoni configure.ac | 2 +- src/polkit/polkitidentity.c | 16 ++ src/polkit/polkitunixnetgroup.c | 3 + + .../polkitbackendduktapeauthority.c | 2 + .../polkitbackendinteractiveauthority.c | 14 +- - .../polkitbackendjsauthority.cpp | 2 + + .../polkitbackendjsauthority.cpp | 3 +- test/polkit/polkitidentitytest.c | 9 +- test/polkit/polkitunixnetgrouptest.c | 3 + .../test-polkitbackendjsauthority.c | 2 + - 9 files changed, 185 insertions(+), 8 deletions(-) + 10 files changed, 187 insertions(+), 9 deletions(-) create mode 100644 buildutil/introspection.m4 diff --git a/buildutil/introspection.m4 b/buildutil/introspection.m4 @@ -184,7 +186,7 @@ diff --git a/configure.ac b/configure.ac index 5cedb4e..87aa0ad 100644 --- a/configure.ac +++ b/configure.ac -@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], +@@ -111,7 +111,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) AC_SUBST(EXPAT_LIBS) @@ -249,6 +251,26 @@ index 8a2b369..83f8d4a 100644 g_return_val_if_fail (name != NULL, NULL); return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP, "name", name, +diff --git a/src/polkitbackend/polkitbackendduktapeauthority.c b/src/polkitbackend/polkitbackendduktapeauthority.c +index 4b4f8fd..e19b009 100644 +--- a/src/polkitbackend/polkitbackendduktapeauthority.c ++++ b/src/polkitbackend/polkitbackendduktapeauthority.c +@@ -1036,6 +1036,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx) + const char *netgroup; + gboolean is_in_netgroup = FALSE; + ++#ifdef HAVE_SETNETGRENT + user = duk_require_string (cx, 0); + netgroup = duk_require_string (cx, 1); + +@@ -1046,6 +1047,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx) + { + is_in_netgroup = TRUE; + } ++#endif + + duk_push_boolean (cx, is_in_netgroup); + return 1; diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c index 056d9a8..36c2f3d 100644 --- a/src/polkitbackend/polkitbackendinteractiveauthority.c @@ -298,7 +320,7 @@ diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/ index 9b752d1..09b2878 100644 --- a/src/polkitbackend/polkitbackendjsauthority.cpp +++ b/src/polkitbackend/polkitbackendjsauthority.cpp -@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, +@@ -1520,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, JS::CallArgs args = JS::CallArgsFromVp (argc, vp); @@ -306,14 +328,15 @@ index 9b752d1..09b2878 100644 JS::RootedString usrstr (authority->priv->cx); usrstr = args[0].toString(); user = JS_EncodeStringToUTF8 (cx, usrstr); -@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, - - JS_free (cx, netgroup); - JS_free (cx, user); +@@ -1534,7 +1535,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, + { + is_in_netgroup = true; + } +- +#endif - ret = true; + args.rval ().setBoolean (is_in_netgroup); diff --git a/test/polkit/polkitidentitytest.c b/test/polkit/polkitidentitytest.c index e91967b..e829aaa 100644 --- a/test/polkit/polkitidentitytest.c diff --git a/package/polkit/0002-Don-t-pass-positional-parameters-to-i18n.merge_file.patch b/package/polkit/0002-Don-t-pass-positional-parameters-to-i18n.merge_file.patch new file mode 100644 index 00000000000..25fa4ef19bc --- /dev/null +++ b/package/polkit/0002-Don-t-pass-positional-parameters-to-i18n.merge_file.patch @@ -0,0 +1,45 @@ +From 30c368a6b729bc8a0a9d0d023739c4fa07b0928b Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Mon, 25 Oct 2021 20:21:27 +0100 +Subject: [PATCH] Don't pass positional parameters to i18n.merge_file + +These were always ignored, and Meson 0.60.0 disallowed them. + +Resolves: https://gitlab.freedesktop.org/polkit/polkit/-/issues/160 +Reference: https://github.com/mesonbuild/meson/pull/9445 +Signed-off-by: Simon McVittie +Signed-off-by: James Hilliard +[Upstream status: +https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/99] +--- + actions/meson.build | 1 - + src/examples/meson.build | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/actions/meson.build b/actions/meson.build +index 2abaaf3..1e3f370 100644 +--- a/actions/meson.build ++++ b/actions/meson.build +@@ -1,7 +1,6 @@ + policy = 'org.freedesktop.policykit.policy' + + i18n.merge_file( +- policy, + input: policy + '.in', + output: '@BASENAME@', + po_dir: po_dir, +diff --git a/src/examples/meson.build b/src/examples/meson.build +index c6305ab..8c18de5 100644 +--- a/src/examples/meson.build ++++ b/src/examples/meson.build +@@ -1,7 +1,6 @@ + policy = 'org.freedesktop.policykit.examples.pkexec.policy' + + i18n.merge_file( +- policy, + input: policy + '.in', + output: '@BASENAME@', + po_dir: po_dir, +-- +2.25.1 + diff --git a/package/polkit/0002-jsauthority-memleak.patch b/package/polkit/0002-jsauthority-memleak.patch deleted file mode 100644 index 4f0733185c5..00000000000 --- a/package/polkit/0002-jsauthority-memleak.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 28e3a6653d8c3777b07e0128a0d97d46e586e311 Mon Sep 17 00:00:00 2001 -From: Jan Rybar -Date: Tue, 8 Oct 2019 13:28:18 +0000 -Subject: [PATCH] jsauthority: Fix two minor memory leaks - -(cherry picked from commit 28e3a6653d8c3777b07e0128a0d97d46e586e311) -Signed-off-by: Jan Rybar -Signed-off-by: Adam Duskett ---- - src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp -index 9b752d1..e97b8aa 100644 ---- a/src/polkitbackend/polkitbackendjsauthority.cpp -+++ b/src/polkitbackend/polkitbackendjsauthority.cpp -@@ -567,6 +567,8 @@ polkit_backend_js_authority_finalize (GObject *object) - g_strfreev (authority->priv->rules_dirs); - - delete authority->priv->ac; -+ delete authority->priv->js_global; -+ delete authority->priv->js_polkit; - - JS_DestroyContext (authority->priv->cx); - /* JS_ShutDown (); */ --- -2.24.1 - diff --git a/package/polkit/0003-fix-build-without-C.patch b/package/polkit/0003-fix-build-without-C.patch new file mode 100644 index 00000000000..8e16de256cc --- /dev/null +++ b/package/polkit/0003-fix-build-without-C.patch @@ -0,0 +1,50 @@ +From abbc04f6f3acfc2dfa34b1c07decaa658786e142 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 2 Apr 2022 18:33:08 +0200 +Subject: [PATCH] fix build without C++ + +Fix the following build failure without C++ raised since +https://gitlab.freedesktop.org/polkit/polkit/-/commit/957a015157fd359d9679540f664183e4b9492896: + +The following exception(s) were encountered: +Running "/home/autobuild/autobuild/instance-14/output-1/host/bin/or1k-buildroot-linux-musl-g++ --version" gave "[Errno 2] No such file or directory: '/home/autobuild/autobuild/instance-14/output-1/host/bin/or1k-buildroot-linux-musl-g++'" + +Indeed, C++ is only required with mozjs engine + +Fixes: + - http://autobuild.buildroot.org/results/1d52c8100414aa384572b23006a13f9b806d2d5a + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.freedesktop.org/polkit/polkit/-/commit/abbc04f6f3acfc2dfa34b1c07decaa658786e142] +--- + meson.build | 2 +- + src/polkitbackend/meson.build | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index c6765fd..da60930 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,5 +1,5 @@ + project( +- 'polkit', ['c', 'cpp'], ++ 'polkit', ['c'], + version: '0.120', + license: 'LGPL2+', + default_options: [ +diff --git a/src/polkitbackend/meson.build b/src/polkitbackend/meson.build +index 266f280..7c5d443 100644 +--- a/src/polkitbackend/meson.build ++++ b/src/polkitbackend/meson.build +@@ -38,6 +38,7 @@ if js_engine == 'duktape' + deps += libm_dep + deps += thread_dep + elif js_engine == 'mozjs' ++ add_languages('cpp') + sources += files('polkitbackendjsauthority.cpp') + endif + +-- +GitLab + diff --git a/package/polkit/0003-polkit-0.116-pkttyagent-sigttou-bg-job.patch b/package/polkit/0003-polkit-0.116-pkttyagent-sigttou-bg-job.patch deleted file mode 100644 index fb41df3af2b..00000000000 --- a/package/polkit/0003-polkit-0.116-pkttyagent-sigttou-bg-job.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 76aae4fce586b400f5fe08df31497db19d624609 Mon Sep 17 00:00:00 2001 -From: Jan Rybar -Date: Thu, 1 Aug 2019 06:46:10 +0000 -Subject: [PATCH] pkttyagent: process stopped by SIGTTOU if run in background - job - - -(cherry picked from commit 76aae4fce586b400f5fe08df31497db19d624609) -Signed-off-by: Jan Rybar -Signed-off-by: Adam Duskett ---- - src/programs/pkttyagent.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/programs/pkttyagent.c b/src/programs/pkttyagent.c -index 3c8d502..13879a2 100644 ---- a/src/programs/pkttyagent.c -+++ b/src/programs/pkttyagent.c -@@ -264,6 +264,12 @@ main (int argc, char *argv[]) - - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = &tty_handler; -+/* If tty_handler() resets terminal while pkttyagent is run in background job, -+ the process gets stopped by SIGTTOU. This impacts systemctl, hence it must -+ be blocked for a while and then the process gets killed anyway. -+ */ -+ sigemptyset(&sa.sa_mask); -+ sigaddset(&sa.sa_mask, SIGTTOU); - sigaction (SIGTERM, &sa, &savesigterm); - sigaction (SIGINT, &sa, &savesigint); - sigaction (SIGTSTP, &sa, &savesigtstp); --- -2.24.1 - diff --git a/package/polkit/Config.in b/package/polkit/Config.in index f54b6b4cdab..ca3323931c5 100644 --- a/package/polkit/Config.in +++ b/package/polkit/Config.in @@ -1,18 +1,15 @@ config BR2_PACKAGE_POLKIT bool "polkit" - depends on BR2_HOST_GCC_AT_LEAST_4_9 # spidermonkey - depends on BR2_INSTALL_LIBSTDCPP # spidermonkey - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS # spidermonkey - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # spidermonkey - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # spidermonkey + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, dbus depends on BR2_USE_MMU # libglib2, dbus depends on BR2_USE_WCHAR # libglib2 - depends on !BR2_STATIC_LIBS # spidermonkey - depends on !BR2_TOOLCHAIN_USES_UCLIBC # spidermonkey + depends on !BR2_STATIC_LIBS # duktape + depends on !BR2_OPTIMIZE_FAST # duktape select BR2_PACKAGE_DBUS # runtime + select BR2_PACKAGE_DUKTAPE select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_SPIDERMONKEY help PolicyKit is a toolkit for defining and handling authorizations. It is used for allowing unprivileged @@ -20,13 +17,10 @@ config BR2_PACKAGE_POLKIT http://www.freedesktop.org/wiki/Software/polkit -comment "polkit needs a glibc or musl toolchain with C++, wchar, dynamic library, NPTL, gcc >= 4.9" +comment "polkit needs a toolchain with dynamic library, wchar, threads, gcc >= 7" depends on BR2_USE_MMU - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_USES_UCLIBC || \ - !BR2_INSTALL_LIBSTDCPP || \ - BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_USE_WCHAR + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + +comment "polkit can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/polkit/S50polkit b/package/polkit/S50polkit new file mode 100755 index 00000000000..f07e2d613ba --- /dev/null +++ b/package/polkit/S50polkit @@ -0,0 +1,51 @@ +#!/bin/sh + +DAEMON="polkitd" +DAEMON_PATH="/usr/lib/polkit-1/${DAEMON}" +PIDFILE="/var/run/${DAEMON}.pid" +POLKITD_ARGS="--no-debug" + +# polkitd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "${DAEMON}" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -bmSqp "$PIDFILE" -x ${DAEMON_PATH} -- ${POLKITD_ARGS} + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "${DAEMON}" + start-stop-daemon -Kqp "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart|reload) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/polkit/polkit.hash b/package/polkit/polkit.hash index bacd682139f..1fedb5a7074 100644 --- a/package/polkit/polkit.hash +++ b/package/polkit/polkit.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1 polkit-0.116.tar.gz +sha256 243fa69d1e480510c504723487716cda7d6fb588360c7c8f7ec6ba4a3f6ae60e polkit-a2bf5c9c83b6ae46cbd5c779d3055bff81ded683.tar.gz # Locally calculated -sha256 d2e2aa973e29c75e1b492e67ea7b7da9de2d501d49a934657971fd74f9a0b0a8 COPYING +sha256 d2e2aa973e29c75e1b492e67ea7b7da9de2d501d49a934657971fd74f9a0b0a8 COPYING diff --git a/package/polkit/polkit.mk b/package/polkit/polkit.mk index bf9b5a71120..61666594a2a 100644 --- a/package/polkit/polkit.mk +++ b/package/polkit/polkit.mk @@ -4,43 +4,53 @@ # ################################################################################ -POLKIT_VERSION = 0.116 -POLKIT_SITE = http://www.freedesktop.org/software/polkit/releases +POLKIT_VERSION = a2bf5c9c83b6ae46cbd5c779d3055bff81ded683 +POLKIT_SITE = https://gitlab.freedesktop.org/polkit/polkit/-/archive/$(POLKIT_VERSION) POLKIT_LICENSE = GPL-2.0 POLKIT_LICENSE_FILES = COPYING POLKIT_CPE_ID_VENDOR = polkit_project -POLKIT_AUTORECONF = YES POLKIT_INSTALL_STAGING = YES +# Fix was comitted in a2bf5c9c83b6ae46cbd5c779d3055bff81ded683 +POLKIT_IGNORE_CVE = CVE-2021-4034 + POLKIT_DEPENDENCIES = \ - libglib2 host-intltool expat spidermonkey $(TARGET_NLS_DEPENDENCIES) + duktape libglib2 host-intltool expat $(TARGET_NLS_DEPENDENCIES) + +POLKIT_SELINUX_MODULES = policykit -# spidermonkey needs C++11 -POLKIT_CONF_ENV = \ - CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" \ - LIBS=$(TARGET_NLS_LIBS) +POLKIT_LDFLAGS = $(TARGET_NLS_LIBS) POLKIT_CONF_OPTS = \ - --with-os-type=unknown \ - --disable-man-pages \ - --disable-examples \ - --disable-libelogind \ - --disable-libsystemd-login + -Dman=false \ + -Dexamples=false \ + -Dsession_tracking=ConsoleKit \ + -Djs_engine=duktape ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -POLKIT_CONF_OPTS += --enable-introspection +POLKIT_CONF_OPTS += -Dintrospection=true POLKIT_DEPENDENCIES += gobject-introspection else -POLKIT_CONF_OPTS += --disable-introspection +POLKIT_CONF_OPTS += -Dintrospection=false endif ifeq ($(BR2_PACKAGE_LINUX_PAM),y) POLKIT_DEPENDENCIES += linux-pam -POLKIT_CONF_OPTS += --with-authfw=pam +POLKIT_CONF_OPTS += -Dauthfw=pam else -POLKIT_CONF_OPTS += --with-authfw=shadow +POLKIT_CONF_OPTS += -Dauthfw=shadow endif +# polkit.{its,loc} are needed for gvfs and must be installed in $(HOST_DIR) +# and not $(STAGING_DIR) +define POLKIT_INSTALL_ITS + $(INSTALL) -D -m 644 $(@D)/gettext/its/polkit.its \ + $(HOST_DIR)/share/gettext/its/polkit.its + $(INSTALL) -D -m 644 $(@D)/gettext/its/polkit.loc \ + $(HOST_DIR)/share/gettext/its/polkit.loc +endef +POLKIT_POST_INSTALL_TARGET_HOOKS += POLKIT_INSTALL_ITS + define POLKIT_USERS polkitd -1 polkitd -1 * - - - Polkit Daemon endef @@ -57,4 +67,9 @@ define POLKIT_INSTALL_INIT_SYSTEMD endef -$(eval $(autotools-package)) +define POLKIT_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/polkit/S50polkit \ + $(TARGET_DIR)/etc/init.d/S50polkit +endef + +$(eval $(meson-package)) diff --git a/package/poppler/0001-Include-setjmp-h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch b/package/poppler/0001-Include-setjmp-h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch new file mode 100644 index 00000000000..40af6a2e001 --- /dev/null +++ b/package/poppler/0001-Include-setjmp-h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch @@ -0,0 +1,27 @@ +From 3ea6bca90d87d3f91556205c4e58ca425c6ac437 Mon Sep 17 00:00:00 2001 +From: Marco Genasci +Date: Sun, 12 Dec 2021 10:23:37 +0100 +Subject: [PATCH] Include setjmp.h when WITH_JPEG=yes and WITH_PNG=no + +[Retrieved from: +https://gitlab.freedesktop.org/poppler/poppler/-/commit/3ea6bca90d87d3f91556205c4e58ca425c6ac437] +Signed-off-by: Fabrice Fontaine +--- + poppler/ImageEmbeddingUtils.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/poppler/ImageEmbeddingUtils.cc b/poppler/ImageEmbeddingUtils.cc +index 5c50f1269..c26b9eb2a 100644 +--- a/poppler/ImageEmbeddingUtils.cc ++++ b/poppler/ImageEmbeddingUtils.cc +@@ -16,6 +16,7 @@ + extern "C" { + # include + } ++# include + #endif + #ifdef ENABLE_LIBPNG + # include +-- +GitLab + diff --git a/package/poppler/Config.in b/package/poppler/Config.in index 521e3e65a82..21c4d86cf65 100644 --- a/package/poppler/Config.in +++ b/package/poppler/Config.in @@ -4,13 +4,13 @@ config BR2_PACKAGE_POPPLER depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14, constexpr + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 select BR2_PACKAGE_FONTCONFIG help Poppler is a PDF rendering library based on the xpdf-3.0 code base. - http://poppler.freedesktop.org/ + https://poppler.freedesktop.org/ if BR2_PACKAGE_POPPLER @@ -30,7 +30,7 @@ config BR2_PACKAGE_POPPLER_UTILS endif -comment "poppler needs a toolchain w/ wchar, C++, threads, dynamic library, gcc >= 5" +comment "poppler needs a toolchain w/ wchar, C++, threads, dynamic library, gcc >= 7" depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/poppler/poppler.hash b/package/poppler/poppler.hash index a06def66532..cf6c5370633 100644 --- a/package/poppler/poppler.hash +++ b/package/poppler/poppler.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c7a130da743b38a548f7a21fe5940506fb1949f4ebdd3209f0e5b302fa139731 poppler-0.84.0.tar.xz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 acb840c2c1ec07d07e53c57c4b3a1ff3e3ee2d888d44e1e9f2f01aaf16814de7 poppler-21.12.0.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk index 44ad04bf7cd..18c044a9f63 100644 --- a/package/poppler/poppler.mk +++ b/package/poppler/poppler.mk @@ -4,9 +4,9 @@ # ################################################################################ -POPPLER_VERSION = 0.84.0 +POPPLER_VERSION = 21.12.0 POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz -POPPLER_SITE = http://poppler.freedesktop.org +POPPLER_SITE = https://poppler.freedesktop.org POPPLER_DEPENDENCIES = fontconfig host-pkgconf POPPLER_LICENSE = GPL-2.0+ POPPLER_LICENSE_FILES = COPYING @@ -17,15 +17,22 @@ POPPLER_CONF_OPTS = \ -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ -DBUILD_GTK_TESTS=OFF \ -DBUILD_QT5_TESTS=OFF \ + -DBUILD_QT6_TESTS=OFF \ -DBUILD_CPP_TESTS=OFF \ - -DENABLE_GTK_DOC=OFF + -DBUILD_MANUAL_TESTS=OFF \ + -DENABLE_GTK_DOC=OFF \ + -DENABLE_QT6=OFF \ + -DRUN_GPERF_IF_PRESENT=OFF ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -POPPLER_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +POPPLER_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif ifeq ($(BR2_PACKAGE_BOOST),y) POPPLER_DEPENDENCIES += boost +POPPLER_CONF_OPTS += -DENABLE_BOOST=ON +else +POPPLER_CONF_OPTS += -DENABLE_BOOST=OFF endif ifeq ($(BR2_PACKAGE_JPEG),y) @@ -124,4 +131,12 @@ else POPPLER_CONF_OPTS += -DUSE_FLOAT=ON endif +POPPLER_CXXFLAGS = $(TARGET_CXXCFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +POPPLER_CXXFLAGS += -O0 +endif + +POPPLER_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(POPPLER_CXXFLAGS)" + $(eval $(cmake-package)) diff --git a/package/popt/popt.mk b/package/popt/popt.mk index 5c4863ce409..f00bf115ee1 100644 --- a/package/popt/popt.mk +++ b/package/popt/popt.mk @@ -9,6 +9,8 @@ POPT_SITE = http://ftp.rpm.org/popt/releases/popt-1.x POPT_INSTALL_STAGING = YES POPT_LICENSE = MIT POPT_LICENSE_FILES = COPYING +POPT_CPE_ID_VENDOR = popt_project + POPT_GETTEXTIZE = YES POPT_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # We're patching configure.ac diff --git a/package/portaudio/portaudio.hash b/package/portaudio/portaudio.hash index 903d760ce0a..ba3c506f18d 100644 --- a/package/portaudio/portaudio.hash +++ b/package/portaudio/portaudio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f5a21d7dcd6ee84397446fa1fa1a0675bb2e8a4a6dceb4305a8404698d8d1513 pa_stable_v190600_20161030.tgz +sha256 47efbf42c77c19a05d22e627d42873e991ec0c1357219c0d74ce6a2948cb2def pa_stable_v190700_20210406.tgz sha256 ec52a1952d701f94e5135719a47376da4ee0b4a0201f1cafb49f61db6480ac3d LICENSE.txt diff --git a/package/portaudio/portaudio.mk b/package/portaudio/portaudio.mk index 0cf754c7d59..58798dda874 100644 --- a/package/portaudio/portaudio.mk +++ b/package/portaudio/portaudio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PORTAUDIO_VERSION = v190600_20161030 -PORTAUDIO_SITE = http://www.portaudio.com/archives -PORTAUDIO_SOURCE = pa_stable_$(PORTAUDIO_VERSION).tgz +PORTAUDIO_VERSION = 190700_20210406 +PORTAUDIO_SITE = http://files.portaudio.com/archives +PORTAUDIO_SOURCE = pa_stable_v$(PORTAUDIO_VERSION).tgz PORTAUDIO_INSTALL_STAGING = YES PORTAUDIO_MAKE = $(MAKE1) PORTAUDIO_LICENSE = portaudio license (MIT-like plus special clause) diff --git a/package/postgis/0001-Disable-forced-static-linking-of-liblwgeom.patch b/package/postgis/0001-Disable-forced-static-linking-of-liblwgeom.patch new file mode 100644 index 00000000000..4329c9cd80a --- /dev/null +++ b/package/postgis/0001-Disable-forced-static-linking-of-liblwgeom.patch @@ -0,0 +1,31 @@ +From 845c18c1288b7a96592901baadb198f96dd71c46 Mon Sep 17 00:00:00 2001 +From: fidomax +Date: Tue, 26 Jan 2021 09:49:19 +0300 +Subject: [PATCH] Disable forced static linking of liblwgeom + +In case of shared libs build fails: +ld: cannot find -lgeos_c +ld: attempted static link of dynamic object `/usr/lib/libproj.so' + +Signed-off-by: Maxim Kochetkov +Fetch from: https://github.com/postgis/postgis/commit/98070faad220e12fcaed9a583a70a37c510b7c6b.patch +--- + loader/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/loader/Makefile.in b/loader/Makefile.in +index 9aebfe07f..9a0c90d3a 100644 +--- a/loader/Makefile.in ++++ b/loader/Makefile.in +@@ -44,7 +44,7 @@ ICONV_CFLAGS=@ICONV_CFLAGS@ + + # liblwgeom + LIBLWGEOM=../liblwgeom/liblwgeom.la +-LDFLAGS += -static $(LIBLWGEOM) ++LDFLAGS += $(LIBLWGEOM) + + # GTK includes and libraries + GTK_CFLAGS = @GTK_CFLAGS@ @IGE_MAC_CFLAGS@ +-- +2.30.0 + diff --git a/package/postgis/Config.in b/package/postgis/Config.in new file mode 100644 index 00000000000..405c5c723a9 --- /dev/null +++ b/package/postgis/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_POSTGIS + bool "postgis" + depends on BR2_PACKAGE_POSTGRESQL_FULL + depends on BR2_INSTALL_LIBSTDCPP # libgeos, proj + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11, proj + depends on BR2_TOOLCHAIN_HAS_THREADS # libgeos, proj + depends on BR2_USE_WCHAR # libgeos, proj + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 # libgeos + select BR2_PACKAGE_LIBGEOS + select BR2_PACKAGE_PROJ + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + help + PostGIS is a spatial database extender for PostgreSQL + object-relational database. It adds support for + geographic objects allowing location queries + to be run in SQL. + + https://postgis.net/ + +comment "postgis needs a toolchain w/ C++, threads, wchar, gcc >= 4.7, not binutils bug 27597" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/postgis/postgis.hash b/package/postgis/postgis.hash new file mode 100644 index 00000000000..018e6523f36 --- /dev/null +++ b/package/postgis/postgis.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 fbab68dde6ca3934b24ba08c8ab0cff2594f57f93deab41a15c82ae1bb69893e postgis-3.2.1.tar.gz +sha256 55b69f22e1752830dd565852dc7ff242daf289dbd3a6bfede5db43f90d2e28c9 LICENSE.TXT diff --git a/package/postgis/postgis.mk b/package/postgis/postgis.mk new file mode 100644 index 00000000000..b77071d03b9 --- /dev/null +++ b/package/postgis/postgis.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# postgis +# +################################################################################ + +POSTGIS_VERSION = 3.2.1 +POSTGIS_SITE = https://download.osgeo.org/postgis/source +# parallel build issues +POSTGIS_MAKE = $(MAKE1) +POSTGIS_LICENSE = GPL-2.0+ (PostGIS), BSD-2-Clause, MIT, Apache-2.0, ISC, BSL-1.0, CC-BY-SA-3.0 +POSTGIS_LICENSE_FILES = LICENSE.TXT +POSTGIS_CPE_ID_VENDOR = postgis +# configure.ac is patched so need to run autoreconf +POSTGIS_AUTORECONF = YES + +POSTGIS_DEPENDENCIES = postgresql libgeos proj libxml2 + +POSTGIS_CONF_OPTS += \ + --with-pgconfig=$(STAGING_DIR)/usr/bin/pg_config \ + --with-geosconfig=$(STAGING_DIR)/usr/bin/geos-config \ + --with-xml2config=$(STAGING_DIR)/usr/bin/xml2-config + +ifeq ($(BR2_PACKAGE_LIBGDAL),y) +POSTGIS_DEPENDENCIES += libgdal +POSTGIS_CONF_OPTS += --with-raster +else +POSTGIS_CONF_OPTS += --without-raster +endif + +ifeq ($(BR2_PACKAGE_JSON_C),y) +POSTGIS_DEPENDENCIES += json-c +POSTGIS_CONF_OPTS += --with-json +else +POSTGIS_CONF_OPTS += --without-json +endif + +ifeq ($(BR2_PACKAGE_PCRE),y) +POSTGIS_DEPENDENCIES += pcre +endif + +ifeq ($(BR2_PACKAGE_PROTOBUF_C),y) +POSTGIS_DEPENDENCIES += protobuf-c +POSTGIS_CONF_OPTS += --with-protobuf +else +POSTGIS_CONF_OPTS += --without-protobuf +endif + +$(eval $(autotools-package)) diff --git a/package/postgresql/Config.in b/package/postgresql/Config.in index 2debdc24d7c..899907d6a56 100644 --- a/package/postgresql/Config.in +++ b/package/postgresql/Config.in @@ -6,6 +6,10 @@ config BR2_PACKAGE_POSTGRESQL # postgresql is unlikely to be used in a pure statically # linked environment. depends on !BR2_STATIC_LIBS + depends on !BR2_OPTIMIZE_FAST + select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_CAST if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help PostgreSQL is a powerful, open source object-relational database system. @@ -31,3 +35,6 @@ endif comment "postgresql needs a toolchain w/ dynamic library, wchar" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR + +comment "postgresql can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/postgresql/pg_config b/package/postgresql/pg_config index 3b0cb35f2c9..099f1ee390b 100644 --- a/package/postgresql/pg_config +++ b/package/postgresql/pg_config @@ -31,6 +31,10 @@ case "$1" in --cflags) echo "@TARGET_CFLAGS@" ;; + --cflags_sl) + # defined at src/template/linux + echo "-fPIC" + ;; --cc) echo "@TARGET_CC@" ;; diff --git a/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash index 7dfe194837a..8ebe7b58fac 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,5 +1,5 @@ -# From https://ftp.postgresql.org/pub/source/v13.2/postgresql-13.2.tar.bz2.sha256 -sha256 5fd7fcd08db86f5b2aed28fcfaf9ae0aca8e9428561ac547764c2a2b0f41adfc postgresql-13.2.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v14.3/postgresql-14.3.tar.bz2.sha256 +sha256 279057368bf59a919c05ada8f95c5e04abb43e74b9a2a69c3d46a20e07a9af38 postgresql-14.3.tar.bz2 # License file, Locally calculated -sha256 31ccadc0a70e8e0e8a35c5833567b64388dfe34987d962e1911554e271294105 COPYRIGHT +sha256 f6d6616acdb598742e2a7c64fa0551c1c72c309d279fd2d90370e5fdd41c8945 COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index 9206c624624..45049f669d8 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,12 +4,13 @@ # ################################################################################ -POSTGRESQL_VERSION = 13.2 +POSTGRESQL_VERSION = 14.3 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = https://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL POSTGRESQL_LICENSE_FILES = COPYRIGHT POSTGRESQL_CPE_ID_VENDOR = postgresql +POSTGRESQL_SELINUX_MODULES = postgresql POSTGRESQL_INSTALL_STAGING = YES POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ @@ -37,7 +38,7 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) POSTGRESQL_CONF_ENV += pgac_cv_type_locale_t=no endif -ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y) POSTGRESQL_CONF_OPTS += --disable-thread-safety endif diff --git a/package/pppd/0001-pppd-Fix-bounds-check.patch b/package/pppd/0001-pppd-Fix-bounds-check.patch deleted file mode 100644 index 5d7c51bcac3..00000000000 --- a/package/pppd/0001-pppd-Fix-bounds-check.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8d7970b8f3db727fe798b65f3377fe6787575426 Mon Sep 17 00:00:00 2001 -From: Paul Mackerras -Date: Mon, 3 Feb 2020 15:53:28 +1100 -Subject: [PATCH] pppd: Fix bounds check in EAP code - -Given that we have just checked vallen < len, it can never be the case -that vallen >= len + sizeof(rhostname). This fixes the check so we -actually avoid overflowing the rhostname array. - -Reported-by: Ilja Van Sprundel -Signed-off-by: Paul Mackerras ---- - pppd/eap.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/pppd/eap.c b/pppd/eap.c -index 94407f56..1b93db01 100644 ---- a/pppd/eap.c -+++ b/pppd/eap.c -@@ -1420,7 +1420,7 @@ int len; - } - - /* Not so likely to happen. */ -- if (vallen >= len + sizeof (rhostname)) { -+ if (len - vallen >= sizeof (rhostname)) { - dbglog("EAP: trimming really long peer name down"); - BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1); - rhostname[sizeof (rhostname) - 1] = '\0'; -@@ -1846,7 +1846,7 @@ int len; - } - - /* Not so likely to happen. */ -- if (vallen >= len + sizeof (rhostname)) { -+ if (len - vallen >= sizeof (rhostname)) { - dbglog("EAP: trimming really long peer name down"); - BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1); - rhostname[sizeof (rhostname) - 1] = '\0'; diff --git a/package/pppd/0001-pppd-Fix-compilation-with-older-glibc-or-kernel-headers.patch b/package/pppd/0001-pppd-Fix-compilation-with-older-glibc-or-kernel-headers.patch new file mode 100644 index 00000000000..86d8b8f4e3b --- /dev/null +++ b/package/pppd/0001-pppd-Fix-compilation-with-older-glibc-or-kernel-headers.patch @@ -0,0 +1,60 @@ +From 98ec18f098e5ef68e3a8cc6954fcaf5a7fb8b7be Mon Sep 17 00:00:00 2001 +From: pali <7141871+pali@users.noreply.github.com> +Date: Mon, 15 Feb 2021 07:54:01 +0100 +Subject: [PATCH] pppd: Fix compilation with older glibc or kernel headers + (#248) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +glibc versions prior to 2.24 do not define SOL_NETLINK and linux kernel +versions prior to 4.3 do not define NETLINK_CAP_ACK. So add fallback +definitions for these macros into pppd/sys-linux.c file. + +Also extend description why we call SOL_NETLINK/NETLINK_CAP_ACK option. + +Signed-off-by: Pali Rohár + +[Retrieved from: +https://github.com/ppp-project/ppp/commit/98ec18f098e5ef68e3a8cc6954fcaf5a7fb8b7be] +Signed-off-by: Fabrice Fontaine +--- + pppd/sys-linux.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c +index 85033d97..50c4f2da 100644 +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -125,6 +125,14 @@ + #include + #include + #include ++/* glibc versions prior to 2.24 do not define SOL_NETLINK */ ++#ifndef SOL_NETLINK ++#define SOL_NETLINK 270 ++#endif ++/* linux kernel versions prior to 4.3 do not define/support NETLINK_CAP_ACK */ ++#ifndef NETLINK_CAP_ACK ++#define NETLINK_CAP_ACK 10 ++#endif + #endif + + #include "pppd.h" +@@ -2843,7 +2851,15 @@ static int append_peer_ipv6_address(unsigned int iface, struct in6_addr *local_a + if (fd < 0) + return 0; + +- /* do not ask for error message content */ ++ /* ++ * Tell kernel to not send to us payload of acknowledgment error message. ++ * NETLINK_CAP_ACK option is supported since Linux kernel version 4.3 and ++ * older kernel versions always send full payload in acknowledgment netlink ++ * message. We ignore payload of this message as we need only error code, ++ * to check if our set remote peer address request succeeded or failed. ++ * So ignore return value from the following setsockopt() call as setting ++ * option NETLINK_CAP_ACK means for us just a kernel hint / optimization. ++ */ + one = 1; + setsockopt(fd, SOL_NETLINK, NETLINK_CAP_ACK, &one, sizeof(one)); + diff --git a/package/pppd/Config.in b/package/pppd/Config.in index 7db5674bf1b..898d95f0ee2 100644 --- a/package/pppd/Config.in +++ b/package/pppd/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_PPPD bool "pppd" depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_USES_MUSL # Use __P() macro all over the tree depends on BR2_USE_MMU select BR2_PACKAGE_OPENSSL if BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help An implementation of the Point-to-point protocol. @@ -38,6 +38,6 @@ config BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF endif -comment "pppd needs a uClibc or glibc toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL +comment "pppd needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS depends on BR2_USE_MMU diff --git a/package/pppd/pppd.hash b/package/pppd/pppd.hash index a923158576e..3d471695bb4 100644 --- a/package/pppd/pppd.hash +++ b/package/pppd/pppd.hash @@ -1,7 +1,7 @@ # Locally calculated -sha256 91fbff784ad16a1111a7f22df4675aeb161d958bb79f1cc4c1f0c81944e7cb40 pppd-2.4.8.tar.gz -sha256 3990c65c506885f7bb75455d1d6188743a14ad46f5b62e136ef3739aed52c532 pppd/tdb.c -sha256 1822ead9d2854adfbd282322b29730a3fec4cc67f6f6a2e487aad3476e3afd59 pppd/plugins/pppoatm/COPYING -sha256 91a5e9c173e0e001e081e15bf7850cfd782a0baa02f5921e327ae3b449beff3f pppdump/bsd-comp.c -sha256 ee1c28551c87cdcdaf80eb3922726f015201614cb560a5ed18a7a0c15f2b4aa4 pppd/ccp.c -sha256 6fa4c3dad059f6ef15c1c5e5219d9d0d40991dd3a162098a89967a1720de059e pppd/plugins/passprompt.c +sha256 675bff4f366174649f4a3c92fd32ac476e694164ff2b0b7710019b6ead9c561e pppd-2.4.9.tar.gz +sha256 3990c65c506885f7bb75455d1d6188743a14ad46f5b62e136ef3739aed52c532 pppd/tdb.c +sha256 1822ead9d2854adfbd282322b29730a3fec4cc67f6f6a2e487aad3476e3afd59 pppd/plugins/pppoatm/COPYING +sha256 d759ec16875a69c2d5529f8cb3c040fef8fe38d26f70457aadb73c91b72746c8 pppdump/bsd-comp.c +sha256 c0d0f14b6ec9948332f10ded741293ed1f3b96e0d266e4903b605a6e1f8af7cd pppd/ccp.c +sha256 367f334c509db2b293aea5ce9f54284d9a9f6e0a9e0c6e305d544079baf8ab63 pppd/plugins/passprompt.c diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk index 08560090b50..d9d6244f103 100644 --- a/package/pppd/pppd.mk +++ b/package/pppd/pppd.mk @@ -4,23 +4,25 @@ # ################################################################################ -PPPD_VERSION = 2.4.8 +PPPD_VERSION = 2.4.9 PPPD_SITE = $(call github,paulusmack,ppp,ppp-$(PPPD_VERSION)) PPPD_LICENSE = LGPL-2.0+, LGPL, BSD-4-Clause, BSD-3-Clause, GPL-2.0+ PPPD_LICENSE_FILES = \ pppd/tdb.c pppd/plugins/pppoatm/COPYING \ pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c -PPPD_CPE_ID_VENDOR = samba -PPPD_CPE_ID_PRODUCT = ppp - -# 0001-pppd-Fix-bounds-check.patch -PPPD_IGNORE_CVES += CVE-2020-8597 +PPPD_CPE_ID_VENDOR = point-to-point_protocol_project +PPPD_CPE_ID_PRODUCT = point-to-point_protocol +PPPD_SELINUX_MODULES = ppp PPPD_MAKE_OPTS = HAVE_INET6=y -ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) + +ifeq ($(BR2_PACKAGE_OPENSSL),y) PPPD_DEPENDENCIES += openssl +PPPD_MAKE_OPTS += USE_EAPTLS=y else -PPPD_MAKE_OPTS += USE_CRYPT=y +PPPD_MAKE_OPTS += \ + USE_CRYPT=y \ + USE_EAPTLS= endif PPPD_INSTALL_STAGING = YES @@ -55,6 +57,13 @@ ifeq ($(BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF),y) PPPD_POST_EXTRACT_HOOKS += PPPD_SET_RESOLV_CONF endif +ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15),y) +define PPPD_DROP_IPX + $(SED) 's/-DIPX_CHANGE//' $(PPPD_DIR)/pppd/Makefile.linux +endef +PPPD_POST_EXTRACT_HOOKS += PPPD_DROP_IPX +endif + define PPPD_CONFIGURE_CMDS $(SED) 's/FILTER=y/#FILTER=y/' $(PPPD_DIR)/pppd/Makefile.linux $(SED) 's/ifneq ($$(wildcard \/usr\/include\/pcap-bpf.h),)/ifdef FILTER/' $(PPPD_DIR)/*/Makefile.linux @@ -100,9 +109,9 @@ define PPPD_INSTALL_TARGET_CMDS $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/passwordfd.so $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoatm/pppoatm.so \ $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppoatm.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/rp-pppoe/rp-pppoe.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/rp-pppoe.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/rp-pppoe/pppoe-discovery \ + $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoe/pppoe.so \ + $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppoe.so + $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoe/pppoe-discovery \ $(TARGET_DIR)/usr/sbin/pppoe-discovery $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/winbind.so \ $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/winbind.so diff --git a/package/prelink-cross/0001-src-rtld-dl-tls.c-Fix-TLS-offsets-computation-for-s3.patch b/package/prelink-cross/0001-src-rtld-dl-tls.c-Fix-TLS-offsets-computation-for-s3.patch new file mode 100644 index 00000000000..cea1357d1db --- /dev/null +++ b/package/prelink-cross/0001-src-rtld-dl-tls.c-Fix-TLS-offsets-computation-for-s3.patch @@ -0,0 +1,43 @@ +From 4064f77d2f550762cbf220fec7c26a8ce4219ea4 Mon Sep 17 00:00:00 2001 +From: Alexander Egorenkov +Date: Sun, 8 Aug 2021 11:19:52 +0200 +Subject: [PATCH] src/rtld/dl-tls.c: Fix TLS offsets computation for s390 arch + +rtld_determine_tlsoffsets() didn't handle s390 arch properly by falling +back to the default case. If TLS_TCB_AT_TP is 1, then set offset to -1. + +From glibc's sysdeps/s390/nptl/tls.h: +------------------------------------- +/* The TCB can have any size and the memory following the address the + thread pointer points to is unspecified. Allocate the TCB there. */ +define TLS_TCB_AT_TP 1 +define TLS_DTV_AT_TP 0 + +This lead to the following error: +--------------------------------- +prelink-rtld: error while loading shared libraries: /lib64/libc.so.6: cannot handle TLS data + +Signed-off-by: Alexander Egorenkov +--- + src/rtld/dl-tls.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/rtld/dl-tls.c b/src/rtld/dl-tls.c +index 280cee45f950..29422dcfd25e 100644 +--- a/src/rtld/dl-tls.c ++++ b/src/rtld/dl-tls.c +@@ -143,6 +143,11 @@ rtld_determine_tlsoffsets (int e_machine, struct r_scope_elem *search_list) + tls_tcb_size = 0; + break; + ++ case EM_S390: ++ tls_tcb_at_tp = 1; ++ tls_tcb_size = -1; ++ break; ++ + default: + /* Hope there's no TLS! */ + for (i = 0; i < search_list->r_nlist; i++) +-- +2.31.1 + diff --git a/package/privoxy/privoxy.hash b/package/privoxy/privoxy.hash index 92ecd1dd211..cf1056ecc4d 100644 --- a/package/privoxy/privoxy.hash +++ b/package/privoxy/privoxy.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/ijbswa/files/Sources/3.0.32%20%28stable%29/ -md5 3a0a8ebdf80e0a29154683e74cbf510b privoxy-3.0.32-stable-src.tar.gz -sha1 3a298ab2599fc92555c86dc29a37742d7396a0d3 privoxy-3.0.32-stable-src.tar.gz +# From https://sourceforge.net/projects/ijbswa/files/Sources/3.0.33%20%28stable%29/ +md5 d6caf3eaad4812f0658b68d5b3ba3a06 privoxy-3.0.33-stable-src.tar.gz +sha1 688da305077d8ecbcf6423e02201f01f7a7098f4 privoxy-3.0.33-stable-src.tar.gz # Locally computed -sha256 c61de4008c62445ec18f1f270407cbf2372eaba93beaccdc9e3238bb2defeed7 privoxy-3.0.32-stable-src.tar.gz +sha256 04b104e70dac61561b9dd110684b250fafc8c13dbe437a60fae18ddd9a881fae privoxy-3.0.33-stable-src.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/privoxy/privoxy.mk b/package/privoxy/privoxy.mk index adb5af28ac2..06642200df0 100644 --- a/package/privoxy/privoxy.mk +++ b/package/privoxy/privoxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -PRIVOXY_VERSION = 3.0.32 +PRIVOXY_VERSION = 3.0.33 PRIVOXY_SITE = http://downloads.sourceforge.net/project/ijbswa/Sources/$(PRIVOXY_VERSION)%20%28stable%29 PRIVOXY_SOURCE = privoxy-$(PRIVOXY_VERSION)-stable-src.tar.gz # configure not shipped @@ -13,5 +13,6 @@ PRIVOXY_DEPENDENCIES = pcre zlib PRIVOXY_LICENSE = GPL-2.0+ PRIVOXY_LICENSE_FILES = LICENSE PRIVOXY_CPE_ID_VENDOR = privoxy +PRIVOXY_SELINUX_MODULES = privoxy $(eval $(autotools-package)) diff --git a/package/procps-ng/0001-configure-Add--disable-w.patch b/package/procps-ng/0001-configure-Add--disable-w.patch new file mode 100644 index 00000000000..8a699df5a62 --- /dev/null +++ b/package/procps-ng/0001-configure-Add--disable-w.patch @@ -0,0 +1,93 @@ +From 1524a625e693b956ce0b5091c9f89f24fb7e8614 Mon Sep 17 00:00:00 2001 +From: "Issam E. Maghni" +Date: Fri, 23 Apr 2021 15:58:36 -0400 +Subject: [PATCH] configure: Add --disable-w + +[Retrieved (and backported) from: +https://gitlab.com/procps-ng/procps/-/commit/1524a625e693b956ce0b5091c9f89f24fb7e8614] +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 21 +++++++++++++++------ + configure.ac | 6 ++++++ + 2 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index de15e137..d2356872 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -47,8 +47,7 @@ bin_PROGRAMS = \ + pwdx \ + tload \ + uptime \ +- vmstat \ +- w ++ vmstat + if BUILD_PWAIT + bin_PROGRAMS += pwait + endif +@@ -60,8 +59,7 @@ usrbin_exec_PROGRAMS += \ + pkill \ + pmap \ + uptime \ +- vmstat \ +- w ++ vmstat + endif + + lib_LTLIBRARIES = \ +@@ -74,7 +72,6 @@ dist_man_MANS = \ + pmap.1 \ + uptime.1 \ + vmstat.8 \ +- w.1 \ + ps/procps.1 + + if !CYGWIN +@@ -137,6 +134,19 @@ else + EXTRA_DIST += kill.1 + endif + ++if BUILD_W ++if CYGWIN ++usrbin_exec_PROGRAMS += w ++else ++bin_PROGRAMS += w ++endif ++ ++dist_man_MANS += w.1 ++w_SOURCES = w.c lib/fileutils.c ++else ++ EXTRA_DIST += w.1 ++endif ++ + if WITH_NCURSES + if !CYGWIN + bin_PROGRAMS += \ +@@ -213,7 +223,6 @@ endif + tload_SOURCES = tload.c lib/strutils.c lib/fileutils.c + uptime_SOURCES = uptime.c lib/fileutils.c + vmstat_SOURCES = vmstat.c lib/strutils.c lib/fileutils.c +-w_SOURCES = w.c lib/fileutils.c + + # proc/libprocps.la + +diff --git a/configure.ac b/configure.ac +index 750c0fbb..3e83fb88 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -234,6 +234,12 @@ AC_ARG_ENABLE([kill], + [], [enable_kill=yes] + ) + AM_CONDITIONAL(BUILD_KILL, test "x$enable_kill" = xyes) ++AC_ARG_ENABLE([w], ++ AS_HELP_STRING([--disable-w], [do not build w]), ++ [], [enable_w=yes] ++) ++AM_CONDITIONAL(BUILD_W, test "x$enable_w" = xyes) ++ + AM_CONDITIONAL(LINUX, test "x$host_os" = xlinux-gnu) + AM_CONDITIONAL(CYGWIN, test "x$host_os" = xcygwin) + +-- +GitLab + diff --git a/package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch b/package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch new file mode 100644 index 00000000000..f3e2b126a6f --- /dev/null +++ b/package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch @@ -0,0 +1,34 @@ +From 2763b9880a7aab569694d6ee3170dd7341a26b84 Mon Sep 17 00:00:00 2001 +From: "Issam E. Maghni" +Date: Fri, 23 Apr 2021 16:53:39 -0400 +Subject: [PATCH] escape.c: Fix missing nl_langinfo on certain configs + +[Retrieved from: +https://gitlab.com/procps-ng/procps/-/commit/2763b9880a7aab569694d6ee3170dd7341a26b84] +Signed-off-by: Fabrice Fontaine +--- + proc/escape.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/proc/escape.c b/proc/escape.c +index 2e8fb7dd..cf4a80de 100644 +--- a/proc/escape.c ++++ b/proc/escape.c +@@ -24,13 +24,13 @@ + #include "procps.h" + #include "escape.h" + #include "readproc.h" ++#include "nls.h" + + #if (__GNU_LIBRARY__ >= 6) && (!defined(__UCLIBC__) || defined(__UCLIBC_HAS_WCHAR__)) + # include + # include + # include /* MB_CUR_MAX */ + # include +-# include + #endif + + #define SECURE_ESCAPE_ARGS(dst, bytes, cells) do { \ +-- +GitLab + diff --git a/package/procps-ng/procps-ng.hash b/package/procps-ng/procps-ng.hash index 123db992ef8..09f2ebd0cb0 100644 --- a/package/procps-ng/procps-ng.hash +++ b/package/procps-ng/procps-ng.hash @@ -1,8 +1,8 @@ # From http://sourceforge.net/projects/procps-ng/files/Production/ -md5 2b0717a7cb474b3d6dfdeedfbad2eccc procps-ng-3.3.15.tar.xz -sha1 2929bc64f0cf7b2db997eef79b7187658e47230d procps-ng-3.3.15.tar.xz +md5 d60613e88c2f442ebd462b5a75313d56 procps-ng-3.3.17.tar.xz +sha1 a52952e8bc6aaab812176c00d25adc4d4e1552e2 procps-ng-3.3.17.tar.xz # Locally calculated after checking signature -# http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.15.tar.xz.asc -sha256 10bd744ffcb3de2d591d2f6acf1a54a7ba070fdcc432a855931a5057149f0465 procps-ng-3.3.15.tar.xz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 681e386e44a19d7d0674b4320272c90e66b6610b741e7e6305f8219c42e85366 COPYING.LIB +# http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.17.tar.xz.asc +sha256 4518b3e7aafd34ec07d0063d250fd474999b20b200218c3ae56f5d2113f141b4 procps-ng-3.3.17.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 681e386e44a19d7d0674b4320272c90e66b6610b741e7e6305f8219c42e85366 COPYING.LIB diff --git a/package/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk index 84ada1b1337..46f75a48ef9 100644 --- a/package/procps-ng/procps-ng.mk +++ b/package/procps-ng/procps-ng.mk @@ -4,13 +4,15 @@ # ################################################################################ -PROCPS_NG_VERSION = 3.3.15 +PROCPS_NG_VERSION = 3.3.17 PROCPS_NG_SOURCE = procps-ng-$(PROCPS_NG_VERSION).tar.xz PROCPS_NG_SITE = http://downloads.sourceforge.net/project/procps-ng/Production PROCPS_NG_LICENSE = GPL-2.0+, LGPL-2.0+ (libproc and libps) PROCPS_NG_LICENSE_FILES = COPYING COPYING.LIB PROCPS_NG_CPE_ID_VENDOR = procps-ng_project PROCPS_NG_INSTALL_STAGING = YES +# We're patching configure.ac +PROCPS_NG_AUTORECONF = YES PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf $(TARGET_NLS_DEPENDENCIES) PROCPS_NG_CONF_OPTS = LIBS=$(TARGET_NLS_LIBS) @@ -45,6 +47,13 @@ ifeq ($(BR2_STATIC_LIBS),y) PROCPS_NG_CONF_OPTS += --disable-numa endif +# w requires utmp.h +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +PROCPS_NG_CONF_OPTS += --disable-w +else +PROCPS_NG_CONF_OPTS += --enable-w +endif + # Avoid installing S02sysctl, since openrc provides /etc/init.d/sysctl. define PROCPS_NG_INSTALL_INIT_OPENRC @: diff --git a/package/proftpd/0001-mod_quotatab-fix-build-failure-against-gcc-10.patch b/package/proftpd/0001-mod_quotatab-fix-build-failure-against-gcc-10.patch new file mode 100644 index 00000000000..5f4eb66c714 --- /dev/null +++ b/package/proftpd/0001-mod_quotatab-fix-build-failure-against-gcc-10.patch @@ -0,0 +1,56 @@ +From 9c9623c8a47fb5580dfea1a59296c6d224479504 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Mon, 2 Mar 2020 23:45:22 +0000 +Subject: [PATCH] mod_quotatab: fix build failure against gcc-10 + +On gcc-10 (and gcc-9 -fno-common) build fails as: + +``` +$ ./configure --with-modules=mod_quotatab && make +... +ld: modules/module_glue.o:(.data.rel+0x68): + undefined reference to `quotatab_file_module' +collect2: error: ld returned 1 exit status +make: *** [Makefile:56: proftpd] Error 1 +``` + +gcc-10 will change the default from -fcommon to fno-common: +https://gcc.gnu.org/PR85678. + +The error also happens if CFLAGS=-fno-common passed explicitly. + +Signed-off-by: Sergei Trofimovich + +[Retrieved from: +https://github.com/proftpd/proftpd/commit/9c9623c8a47fb5580dfea1a59296c6d224479504] +Signed-off-by: Fabrice Fontaine +--- + contrib/mod_quotatab.c | 1 + + contrib/mod_quotatab.h | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/contrib/mod_quotatab.c b/contrib/mod_quotatab.c +index 4fa6c1f44..0ee480163 100644 +--- a/contrib/mod_quotatab.c ++++ b/contrib/mod_quotatab.c +@@ -50,6 +50,7 @@ typedef struct regtab_obj { + module quotatab_module; + + /* Quota objects for the current session */ ++quota_deltas_t quotatab_deltas; + static quota_table_t *limit_tab = NULL; + static quota_limit_t sess_limit; + +diff --git a/contrib/mod_quotatab.h b/contrib/mod_quotatab.h +index ed30333f5..c818395a0 100644 +--- a/contrib/mod_quotatab.h ++++ b/contrib/mod_quotatab.h +@@ -188,7 +188,7 @@ typedef struct table_obj { + #define QUOTATAB_TALLY_SRC 0x0002 + + /* Quota objects for the current session. */ +-quota_deltas_t quotatab_deltas; ++extern quota_deltas_t quotatab_deltas; + + /* Function prototypes necessary for quotatab sub-modules */ + int quotatab_log(const char *, ...) diff --git a/package/proftpd/Config.in b/package/proftpd/Config.in index 4898f49dd24..83094028a0c 100644 --- a/package/proftpd/Config.in +++ b/package/proftpd/Config.in @@ -29,6 +29,7 @@ config BR2_PACKAGE_PROFTPD_MOD_REDIS config BR2_PACKAGE_PROFTPD_MOD_SFTP bool "mod_sftp support" select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help Compile ProFTPD with mod_sftp support diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk index 7dc3f267e01..64c16a84eb0 100644 --- a/package/proftpd/proftpd.mk +++ b/package/proftpd/proftpd.mk @@ -9,6 +9,7 @@ PROFTPD_SITE = $(call github,proftpd,proftpd,v$(PROFTPD_VERSION)) PROFTPD_LICENSE = GPL-2.0+ PROFTPD_LICENSE_FILES = COPYING PROFTPD_CPE_ID_VENDOR = proftpd +PROFTPD_SELINUX_MODULES = ftp PROFTPD_CONF_ENV = \ ac_cv_func_setpgrp_void=yes \ diff --git a/package/proj/proj.hash b/package/proj/proj.hash index 27cbc384907..96d94e458e3 100644 --- a/package/proj/proj.hash +++ b/package/proj/proj.hash @@ -1,5 +1,5 @@ -# Fetched from http://download.osgeo.org/proj/proj-7.2.1.tar.gz.md5 -md5 befbafd25e65ddf0c26a8321d8bcdcd2 proj-7.2.1.tar.gz +# Fetched from http://download.osgeo.org/proj/proj-8.1.1.tar.gz.md5 +md5 f017fd7d35311b0d65b2cf0503844690 proj-8.1.1.tar.gz # Locally calculated -sha256 b384f42e5fb9c6d01fe5fa4d31da2e91329668863a684f97be5d4760dbbf0a14 proj-7.2.1.tar.gz -sha256 2dcac4af6990093ef48b896bfb81452d46a31b08d46cce34b27e83f93b2e37f6 COPYING +sha256 82f1345e5fa530c407cb1fc0752e83f8d08d2b98772941bbdc7820241f7fada2 proj-8.1.1.tar.gz +sha256 6a8f30793e877d32e3f88b972f0970a051a3b5a26cd057d3993cb51e21c43319 COPYING diff --git a/package/proj/proj.mk b/package/proj/proj.mk index 03ed9c0a2ed..bc924b41fb2 100644 --- a/package/proj/proj.mk +++ b/package/proj/proj.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROJ_VERSION = 7.2.1 +PROJ_VERSION = 8.1.1 PROJ_SITE = http://download.osgeo.org/proj PROJ_LICENSE = MIT PROJ_LICENSE_FILES = COPYING diff --git a/package/prosody/0001-enable-syslog.patch b/package/prosody/0001-enable-syslog.patch index 16acc89c5a5..5f09fa903e8 100644 --- a/package/prosody/0001-enable-syslog.patch +++ b/package/prosody/0001-enable-syslog.patch @@ -11,7 +11,7 @@ diff --git a/prosody.cfg.lua.dist b/prosody.cfg.lua.dist index a0fc6c9e..af3cc0e4 100644 --- a/prosody.cfg.lua.dist +++ b/prosody.cfg.lua.dist -@@ -155,7 +155,7 @@ archive_expires_after = "1w" -- Remove archived messages after 1 week +@@ -166,7 +166,7 @@ archive_expires_after = "1w" -- Remove archived messages after 1 week log = { info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging error = "prosody.err"; diff --git a/package/prosody/0002-add-pidfile.patch b/package/prosody/0002-add-pidfile.patch index 6221fd0856a..0653ed7239f 100644 --- a/package/prosody/0002-add-pidfile.patch +++ b/package/prosody/0002-add-pidfile.patch @@ -11,7 +11,7 @@ diff --git a/prosody.cfg.lua.dist b/prosody.cfg.lua.dist index af3cc0e4..675db12f 100644 --- a/prosody.cfg.lua.dist +++ b/prosody.cfg.lua.dist -@@ -176,6 +176,9 @@ log = { +@@ -187,6 +187,9 @@ log = { -- HTTPS currently only supports a single certificate, specify it here: --https_certificate = "certs/localhost.crt" diff --git a/package/prosody/prosody.hash b/package/prosody/prosody.hash index 309ae0181f6..3a3a363a4bd 100644 --- a/package/prosody/prosody.hash +++ b/package/prosody/prosody.hash @@ -1,8 +1,8 @@ # Locally computed: -md5 24cd3c1f7ab16a6b3726423d2fff802d prosody-0.11.8.tar.gz -sha1 f1f030c75abde6e3c7232fedbe8371f5cb913245 prosody-0.11.8.tar.gz -sha256 830f183b98d5742d81e908d2d8e3258f1b538dad7411f06fda5b2cc5c75068f8 prosody-0.11.8.tar.gz -sha512 b0b7e1d3e41f47f0f88ad5b76444e4959b20f4c7a937f3cc605ba6ed5d92e713a3054dcb61ee6629063883a8f9ff1a03952893de4a0d840dcec4e5e42079eb57 prosody-0.11.8.tar.gz +md5 7214ee57d4702585bd0d3428e69790b4 prosody-0.11.13.tar.gz +sha1 1cc5a72d98738872d0c1a4c34b1fcb8878348c7d prosody-0.11.13.tar.gz +sha256 39c61b346a09b5125b604cb969e14206cbbcb86c81156ffc6ba2d62527cf0432 prosody-0.11.13.tar.gz +sha512 7616785536b7b51767a26963a80c961ef2403609e1e78dda3f88cf68c00d5bb899278c70a22b006b58c36c62cbb1bbd390a9298bad5b8d6524928a1cd5457813 prosody-0.11.13.tar.gz # Hash for license file: -sha256 bbbdc1c5426e5944cf869fc0faeaf19d88a220cd2b39ea98b7b8e86b0e88a2ef COPYING +sha256 bbbdc1c5426e5944cf869fc0faeaf19d88a220cd2b39ea98b7b8e86b0e88a2ef COPYING diff --git a/package/prosody/prosody.mk b/package/prosody/prosody.mk index a4482ad3c56..62ba073b9ec 100644 --- a/package/prosody/prosody.mk +++ b/package/prosody/prosody.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROSODY_VERSION = 0.11.8 +PROSODY_VERSION = 0.11.13 PROSODY_SITE = https://prosody.im/downloads/source PROSODY_LICENSE = MIT PROSODY_LICENSE_FILES = COPYING diff --git a/package/protobuf-c/protobuf-c.hash b/package/protobuf-c/protobuf-c.hash index abc11afc581..13e1b474bc0 100644 --- a/package/protobuf-c/protobuf-c.hash +++ b/package/protobuf-c/protobuf-c.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8515da8b84ea36768ae69a52f9ede8d718936d6058077265b6e458cfc55f8bdb protobuf-c-1.3.3.tar.gz +sha256 1068bca1e9870e9492096f97c409cd15f10c5019c183e52ec6d53e8d18630cbf protobuf-c-1.4.0.tar.gz sha256 20e800cad4550f4b19bb37fc9577dac21de13333ae66497c4c45ae489c35c34a LICENSE diff --git a/package/protobuf-c/protobuf-c.mk b/package/protobuf-c/protobuf-c.mk index f28f5ff57fe..baea4d623f8 100644 --- a/package/protobuf-c/protobuf-c.mk +++ b/package/protobuf-c/protobuf-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROTOBUF_C_VERSION = 1.3.3 +PROTOBUF_C_VERSION = 1.4.0 PROTOBUF_C_SITE = $(call github,protobuf-c,protobuf-c,v$(PROTOBUF_C_VERSION)) PROTOBUF_C_DEPENDENCIES = host-protobuf-c HOST_PROTOBUF_C_DEPENDENCIES = host-protobuf host-pkgconf diff --git a/package/protobuf/protobuf.hash b/package/protobuf/protobuf.hash index 001b41be9a3..60e64f54d45 100644 --- a/package/protobuf/protobuf.hash +++ b/package/protobuf/protobuf.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE -sha256 50ec5a07c0c55d4ec536dd49021f2e194a26bfdbc531d03d1e9d4d3e27175659 protobuf-cpp-3.14.0.tar.gz +sha256 645192532f28254152b51c01868efdf9b766b1dbe49c77cccd6efcdb2d7c7bc2 protobuf-cpp-3.19.1.tar.gz diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk index df708819cbf..80764f0216e 100644 --- a/package/protobuf/protobuf.mk +++ b/package/protobuf/protobuf.mk @@ -7,9 +7,9 @@ # When bumping this package, make sure to also verify if the # python-protobuf package still works and to update its hash, # as they share the same version/site variables. -PROTOBUF_VERSION = 3.14.0 +PROTOBUF_VERSION = 3.19.1 PROTOBUF_SOURCE = protobuf-cpp-$(PROTOBUF_VERSION).tar.gz -PROTOBUF_SITE = https://github.com/google/protobuf/releases/download/v$(PROTOBUF_VERSION) +PROTOBUF_SITE = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOBUF_VERSION) PROTOBUF_LICENSE = BSD-3-Clause PROTOBUF_LICENSE_FILES = LICENSE PROTOBUF_CPE_ID_VENDOR = google @@ -24,6 +24,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) PROTOBUF_CXXFLAGS += -O0 endif +ifeq ($(BR2_or1k),y) +PROTOBUF_CXXFLAGS += -mcmodel=large +endif + PROTOBUF_CONF_ENV = CXXFLAGS="$(PROTOBUF_CXXFLAGS)" ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) diff --git a/package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch b/package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch new file mode 100644 index 00000000000..3033e24aa2c --- /dev/null +++ b/package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch @@ -0,0 +1,35 @@ +From 1c16d3ffccd9e415c6ea3681f23231cd5184043c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 16 Feb 2022 00:11:38 +0100 +Subject: [PATCH] CMakeLists.txt: protobuf is only needed for tests + +Don't check for protobuf if tests are disabled. As a side effect, this +will avoid a build failure if clang-tidy and protobuf are found but +tests are disabled + +Fix #109 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mapbox/protozero/pull/110] +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b975d49..df2ca15 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,9 @@ endif() + # + #----------------------------------------------------------------------------- + +-find_package(Protobuf) ++if(BUILD_TESTING) ++ find_package(Protobuf) ++endif() + + + #----------------------------------------------------------------------------- +-- +2.34.1 + diff --git a/package/protozero/Config.in b/package/protozero/Config.in new file mode 100644 index 00000000000..19048dfe8da --- /dev/null +++ b/package/protozero/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_PROTOZERO + bool "protozero" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + help + Minimalistic protocol buffer decoder and encoder in C++. + Designed for high performance. Suitable for writing zero copy + parsers and encoders with minimal need for run-time allocation + of memory. + Low-level: this is designed to be a building block for writing + a very customized decoder for a stable protobuf schema. If + your protobuf schema is changing frequently or lazy decoding + is not critical for your application then this approach offers + no value: just use the C++ API that can be generated with + the Google Protobufs protoc program. + + https://github.com/mapbox/protozero + +comment "protozero needs a toolchain w/ C++, gcc >= 4.7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/package/protozero/protozero.hash b/package/protozero/protozero.hash new file mode 100644 index 00000000000..f0b8e390091 --- /dev/null +++ b/package/protozero/protozero.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 27e0017d5b3ba06d646a3ec6391d5ccc8500db821be480aefd2e4ddc3de5ff99 protozero-1.7.1.tar.gz +sha256 1f4d477e3c2d74d8706c8f05437bd86804abe46853b1f233ce1549a4de76fa49 LICENSE.md +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE.from_folly diff --git a/package/protozero/protozero.mk b/package/protozero/protozero.mk new file mode 100644 index 00000000000..a46e37d69bf --- /dev/null +++ b/package/protozero/protozero.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# protozero +# +################################################################################ + +PROTOZERO_VERSION = 1.7.1 +PROTOZERO_SITE = $(call github,mapbox,protozero,v$(PROTOZERO_VERSION)) +PROTOZERO_LICENSE = BSD-2-Clause, Apache-2.0 +PROTOZERO_LICENSE_FILES = LICENSE.md LICENSE.from_folly +PROTOZERO_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/package/proxychains-ng/0001-configure-fix-check_link_silent-test.patch b/package/proxychains-ng/0001-configure-fix-check_link_silent-test.patch new file mode 100644 index 00000000000..aadfef9cd96 --- /dev/null +++ b/package/proxychains-ng/0001-configure-fix-check_link_silent-test.patch @@ -0,0 +1,41 @@ +From 4a557f242a76c6a2a3134acf1d3279818f8ab371 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 23 Jul 2021 09:50:36 +0200 +Subject: [PATCH] configure: fix check_link_silent test + +Replace -o /dev/null by -o "$tmpc".out when testing with +check_link_silent otherwise test will fail with some bugged binutils +(https://sourceware.org/bugzilla/show_bug.cgi?id=19526) since version +4.13 and +https://github.com/rofl0r/proxychains-ng/commit/35a674bdbc294730429a1007c9e7ce01e65b49b5: + +checking what's the option to use in linker to set library name ... +cannot find an option to set library name +package/pkg-generic.mk:249: recipe for target '/home/buildroot/autobuild/instance-2/output-1/build/proxychains-ng-4.14/.stamp_configured' failed + +Fixes: + - http://autobuild.buildroot.org/results/9320d9b2c69882e23bbe7b30057eb8bee0c9d2e5 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/rofl0r/proxychains-ng/pull/387] +--- + configure | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index 8b21b97..cfe19e7 100755 +--- a/configure ++++ b/configure +@@ -49,7 +49,8 @@ check_compile_run() { + + check_link_silent() { + printf "$2" > "$tmpc" +- $CC $OUR_CPPFLAGS $CPPFLAGS $1 $CFLAGS "$tmpc" -o /dev/null >/dev/null 2>&1 ++ $CC $OUR_CPPFLAGS $CPPFLAGS $1 $CFLAGS "$tmpc" -o "$tmpc".out >/dev/null 2>&1 ++ rm -f "$tmpc".out + } + + check_link() { +-- +2.30.2 + diff --git a/package/proxychains-ng/proxychains-ng.hash b/package/proxychains-ng/proxychains-ng.hash index 9781b77af1d..779f6b626d3 100644 --- a/package/proxychains-ng/proxychains-ng.hash +++ b/package/proxychains-ng/proxychains-ng.hash @@ -1,6 +1,4 @@ -# From https://sourceforge.net/projects/proxychains-ng/files/ -md5 34d840eb184e96bff418201c28a935c5 proxychains-ng-4.11.tar.bz2 -sha1 00bc3dc18f2b638c79112c99f082a7a2878beaad proxychains-ng-4.11.tar.bz2 +# From https://github.com/rofl0r/proxychains-ng/releases/tag/v4.14 +sha512 75a1a4629d2b7ebac9b909a694b395339cf669fa4e23bfcc57938e46377b5619f31c9651d2bc457d1ad10ec1be7747981106392bf8bf65999cb7bb9c748d7e95 proxychains-ng-4.14.tar.xz # Locally computed: -sha256 dcc4149808cd1fb5d9663cc09791f478805816b1f017381f424414c47f6376b6 proxychains-ng-4.11.tar.bz2 sha256 86728623caeff60e9bcc37e03b432fd191de927eed48a72a3bb4ac4e53fe20df COPYING diff --git a/package/proxychains-ng/proxychains-ng.mk b/package/proxychains-ng/proxychains-ng.mk index a9f3fc95618..bb7c9ff6875 100644 --- a/package/proxychains-ng/proxychains-ng.mk +++ b/package/proxychains-ng/proxychains-ng.mk @@ -4,11 +4,12 @@ # ################################################################################ -PROXYCHAINS_NG_VERSION = 4.11 -PROXYCHAINS_NG_SOURCE = proxychains-ng-$(PROXYCHAINS_NG_VERSION).tar.bz2 +PROXYCHAINS_NG_VERSION = 4.14 +PROXYCHAINS_NG_SOURCE = proxychains-ng-$(PROXYCHAINS_NG_VERSION).tar.xz PROXYCHAINS_NG_SITE = http://downloads.sourceforge.net/project/proxychains-ng PROXYCHAINS_NG_LICENSE = GPL-2.0+ PROXYCHAINS_NG_LICENSE_FILES = COPYING +PROXYCHAINS_NG_CPE_ID_VENDOR = proxychains-ng_project define PROXYCHAINS_NG_CONFIGURE_CMDS cd $(@D) && \ diff --git a/package/pru-software-support/pru-software-support.hash b/package/pru-software-support/pru-software-support.hash index cd81488e1b2..e8ccc93a2cb 100644 --- a/package/pru-software-support/pru-software-support.hash +++ b/package/pru-software-support/pru-software-support.hash @@ -1,3 +1,3 @@ # Locally-calculated hash -sha256 57e47128dc5437c5a64d4ef94f419d9ea38e894c0c31ab10cad99c0da614b296 pru-software-support-package-v5.7.0.tar.gz +sha256 cba9e0bca3abc0041cf7ce6a30af9de440b325cf8c9bcc826485d2f837cb4cf2 pru-software-support-package-v6.0.1.tar.gz sha256 62a2f56498cd1bac2d4ea6ea1c941affba1e4bb65bfdf2dcffd8e5079fa34399 PRU-Package-v6.1-Manifest.html diff --git a/package/pru-software-support/pru-software-support.mk b/package/pru-software-support/pru-software-support.mk index 91f41bcb91f..d0259c5f807 100644 --- a/package/pru-software-support/pru-software-support.mk +++ b/package/pru-software-support/pru-software-support.mk @@ -4,10 +4,10 @@ # ################################################################################ -PRU_SOFTWARE_SUPPORT_VERSION = 5.7.0 +PRU_SOFTWARE_SUPPORT_VERSION = 6.0.1 PRU_SOFTWARE_SUPPORT_SITE = https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/snapshot PRU_SOFTWARE_SUPPORT_SOURCE = $(PRU_SOFTWARE_SUPPORT_NAME)-package-v$(PRU_SOFTWARE_SUPPORT_VERSION).tar.gz -PRU_SOFTWARE_SUPPORT_LICENSE = BSD-3-Clause, Public Domain +PRU_SOFTWARE_SUPPORT_LICENSE = BSD-3-Clause, Public Domain PRU_SOFTWARE_SUPPORT_LICENSE_FILES = PRU-Package-v6.1-Manifest.html PRU_SOFTWARE_SUPPORT_DEPENDENCIES = host-ti-cgt-pru host-pru-software-support HOST_PRU_SOFTWARE_SUPPORT_DEPENDENCIES = host-ti-cgt-pru diff --git a/package/psmisc/psmisc.hash b/package/psmisc/psmisc.hash index 8e380a55911..47e44f69215 100644 --- a/package/psmisc/psmisc.hash +++ b/package/psmisc/psmisc.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/psmisc/files/psmisc/ -md5 0524258861f00be1a02d27d39d8e5e62 psmisc-23.2.tar.xz -sha1 2bf3ec1c87ab3bc0610c819452c21cf4b849b0b8 psmisc-23.2.tar.xz +md5 8114cd4489b95308efe2509c3a406bbf psmisc-23.4.tar.xz +sha1 a4c34111e570c43967efb2bbd8a4f31d94d22e0f psmisc-23.4.tar.xz # Locally computed: -sha256 4b7cbffdc9373474da49b85dc3457ae511c43dc7fa7d94513fe06f89dcb87880 psmisc-23.2.tar.xz +sha256 7f0cceeace2050c525f3ebb35f3ba01d618b8d690620580bdb8cd8269a0c1679 psmisc-23.4.tar.xz sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk index e9a7b00c9d7..8b92be11e8e 100644 --- a/package/psmisc/psmisc.mk +++ b/package/psmisc/psmisc.mk @@ -4,7 +4,7 @@ # ################################################################################ -PSMISC_VERSION = 23.2 +PSMISC_VERSION = 23.4 PSMISC_SITE = http://downloads.sourceforge.net/project/psmisc/psmisc PSMISC_SOURCE = psmisc-$(PSMISC_VERSION).tar.xz PSMISC_LICENSE = GPL-2.0+ @@ -13,7 +13,7 @@ PSMISC_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) # Don't force -fstack-protector when SSP is not available in toolchain -PSMISC_CONF_OPTS = --disable-harden-flags +PSMISC_CONF_OPTS += --disable-harden-flags endif $(eval $(autotools-package)) diff --git a/package/psplash/Config.in b/package/psplash/Config.in index 5053ebacf7b..da99b264e04 100644 --- a/package/psplash/Config.in +++ b/package/psplash/Config.in @@ -27,5 +27,15 @@ config BR2_PACKAGE_PSPLASH http://git.yoctoproject.org/cgit/cgit.cgi/psplash/ +if BR2_PACKAGE_PSPLASH + +config BR2_PACKAGE_PSPLASH_IMAGE + string "psplash image" + help + Use a personalized png image as boot splash. + Let it empty if you want to keep the psplash default image. + +endif + comment "psplash needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR diff --git a/package/psplash/psplash.hash b/package/psplash/psplash.hash index 87fcdadd6de..77090d08f6b 100644 --- a/package/psplash/psplash.hash +++ b/package/psplash/psplash.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2c1344dd8414415d80a01484b1cc29e78f99c31d5266189540e5966a7dc6e10e psplash-fd33a9b3d68c89fa22ff6873f4f9fd28bd85830c-br1.tar.gz +sha256 c9f71754f4606e46212a4851d6c1145e4ae8752fd11a2b40e825f04bf79b22ec psplash-44afb7506d43cca15582b4c5b90ba5580344d75d-br1.tar.gz sha256 f9c375a1be4a41f7b70301dd83c91cb89e41567478859b77eef375a52d782505 COPYING diff --git a/package/psplash/psplash.mk b/package/psplash/psplash.mk index a0f01869b4c..69f9bf386da 100644 --- a/package/psplash/psplash.mk +++ b/package/psplash/psplash.mk @@ -4,8 +4,9 @@ # ################################################################################ -PSPLASH_VERSION = fd33a9b3d68c89fa22ff6873f4f9fd28bd85830c -PSPLASH_SITE = git://git.yoctoproject.org/psplash +PSPLASH_VERSION = 44afb7506d43cca15582b4c5b90ba5580344d75d +PSPLASH_SITE = https://git.yoctoproject.org/psplash +PSPLASH_SITE_METHOD = git PSPLASH_LICENSE = GPL-2.0+ PSPLASH_LICENSE_FILES = COPYING PSPLASH_AUTORECONF = YES @@ -18,6 +19,16 @@ else PSPLASH_CONF_OPTS += --without-systemd endif +PSPLASH_IMAGE = $(call qstrip,$(BR2_PACKAGE_PSPLASH_IMAGE)) + +ifneq ($(PSPLASH_IMAGE),) +define PSPLASH_COPY_IMAGE + cp $(PSPLASH_IMAGE) $(@D)/base-images/psplash-poky.png +endef + +PSPLASH_POST_EXTRACT_HOOKS += PSPLASH_COPY_IMAGE +endif + define PSPLASH_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/psplash/psplash-start.service \ $(TARGET_DIR)/usr/lib/systemd/system/psplash-start.service diff --git a/package/pugixml/pugixml.mk b/package/pugixml/pugixml.mk index 5d7fc630175..bc018180ef8 100644 --- a/package/pugixml/pugixml.mk +++ b/package/pugixml/pugixml.mk @@ -5,9 +5,11 @@ ################################################################################ PUGIXML_VERSION = 1.11.4 -PUGIXML_SITE = http://github.com/zeux/pugixml/releases/download/v$(PUGIXML_VERSION) +PUGIXML_SITE = https://github.com/zeux/pugixml/releases/download/v$(PUGIXML_VERSION) PUGIXML_LICENSE = MIT PUGIXML_LICENSE_FILES = LICENSE.md +PUGIXML_CPE_ID_VENDOR = pugixml_project + PUGIXML_INSTALL_STAGING = YES # Pugixml will automatically enable 'long long' support on C++11 compilers, diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in index 6600006a605..dcc88f3841b 100644 --- a/package/pulseaudio/Config.in +++ b/package/pulseaudio/Config.in @@ -14,6 +14,7 @@ config BR2_PACKAGE_PULSEAUDIO depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO if BR2_PACKAGE_BLUEZ5_UTILS # runtime select BR2_PACKAGE_LIBTOOL select BR2_PACKAGE_LIBSNDFILE select BR2_PACKAGE_PULSEAUDIO_ENABLE_ATOMIC diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index ad1710c6f78..a238315778e 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -10,6 +10,8 @@ PULSEAUDIO_SITE = https://freedesktop.org/software/pulseaudio/releases PULSEAUDIO_INSTALL_STAGING = YES PULSEAUDIO_LICENSE = LGPL-2.1+ (specific license for modules, see LICENSE file) PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL +PULSEAUDIO_CPE_ID_VENDOR = pulseaudio +PULSEAUDIO_SELINUX_MODULES = pulseaudio xdg PULSEAUDIO_CONF_OPTS = \ --disable-default-build-tests \ --disable-legacy-database-entry-format \ @@ -22,6 +24,7 @@ PULSEAUDIO_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \ $(if $(BR2_PACKAGE_DBUS),dbus) \ + $(if $(BR2_PACKAGE_NCURSES),ncurses) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) diff --git a/package/pulseview/0001-Replace-obsolete-deprecated-Qt-methods.patch b/package/pulseview/0001-Replace-obsolete-deprecated-Qt-methods.patch new file mode 100644 index 00000000000..047fe2cccdc --- /dev/null +++ b/package/pulseview/0001-Replace-obsolete-deprecated-Qt-methods.patch @@ -0,0 +1,135 @@ +From caacc9bc622238ca48674ea6f40d07466e4b97a5 Mon Sep 17 00:00:00 2001 +From: Valentin Ochs +Date: Sat, 20 Jun 2020 16:01:27 +0200 +Subject: [PATCH] Replace obsolete/deprecated Qt methods + +[Thomas: Backport from upstream commit +ae726b70a7ada9a4be5808e00f0c951318479684, one conflict manually +resolved in pv/util.cpp.] +Signed-off-by: Thomas Petazzoni +[Fabrice: restore original patch in pv/util.cpp for 0.4.2] +Signed-off-by: Fabrice Fontaine +--- + pv/util.cpp | 21 +++++++++++++++++++-- + pv/util.hpp | 10 ++++++++++ + pv/views/trace/decodetrace.cpp | 3 ++- + pv/views/trace/ruler.cpp | 2 +- + pv/widgets/timestampspinbox.cpp | 2 +- + 5 files changed, 33 insertions(+), 5 deletions(-) + +diff --git a/pv/util.cpp b/pv/util.cpp +index 49b9467c..2a63038d 100644 +--- a/pv/util.cpp ++++ b/pv/util.cpp +@@ -137,7 +137,7 @@ QString format_time_si(const Timestamp& v, SIPrefix prefix, + QString s; + QTextStream ts(&s); + if (sign && !v.is_zero()) +- ts << forcesign; ++ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign); + ts << qSetRealNumberPrecision(precision) << (v * multiplier); + ts << ' ' << prefix << unit; + +@@ -171,7 +171,7 @@ QString format_value_si(double v, SIPrefix prefix, unsigned precision, + QString s; + QTextStream ts(&s); + if (sign && (v != 0)) +- ts << forcesign; ++ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign); + ts.setRealNumberNotation(QTextStream::FixedNotation); + ts.setRealNumberPrecision(precision); + ts << (v * multiplier) << ' ' << prefix << unit; +@@ -281,5 +281,22 @@ vector split_string(string text, string separator) + return result; + } + ++/** ++ * Return the width of a string in a given font. ++ * ++ * @param[in] metric metrics of the font ++ * @param[in] string the string whose width should be determined ++ * ++ * @return width of the string in pixels ++ */ ++std::streamsize text_width(const QFontMetrics &metric, const QString &string) ++{ ++#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) ++ return metric.horizontalAdvance(string); ++#else ++ return metric.width(string); ++#endif ++} ++ + } // namespace util + } // namespace pv +diff --git a/pv/util.hpp b/pv/util.hpp +index dd7be222..ad904f85 100644 +--- a/pv/util.hpp ++++ b/pv/util.hpp +@@ -30,6 +30,7 @@ + + #include + #include ++#include + + using std::string; + using std::vector; +@@ -137,6 +138,15 @@ QString format_time_minutes(const Timestamp& t, signed precision = 0, + + vector split_string(string text, string separator); + ++/** ++ * Return the width of a string in a given font. ++ * @param[in] metric metrics of the font ++ * @param[in] string the string whose width should be determined ++ * ++ * @return width of the string in pixels ++ */ ++std::streamsize text_width(const QFontMetrics &metric, const QString &string); ++ + } // namespace util + } // namespace pv + +diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp +index 9c7196bf..1ee7ae9f 100644 +--- a/pv/views/trace/decodetrace.cpp ++++ b/pv/views/trace/decodetrace.cpp +@@ -103,7 +103,8 @@ DecodeTrace::DecodeTrace(pv::Session &session, + + // Determine shortest string we want to see displayed in full + QFontMetrics m(QApplication::font()); +- min_useful_label_width_ = m.width("XX"); // e.g. two hex characters ++ // e.g. two hex characters ++ min_useful_label_width_ = util::text_width(m, "XX"); + + // For the base color, we want to start at a very different color for + // every decoder stack, so multiply the index with a number that is +diff --git a/pv/views/trace/ruler.cpp b/pv/views/trace/ruler.cpp +index acea8a36..68134966 100644 +--- a/pv/views/trace/ruler.cpp ++++ b/pv/views/trace/ruler.cpp +@@ -218,7 +218,7 @@ void Ruler::paintEvent(QPaintEvent*) + const int rightedge = width(); + const int x_tick = tick.first; + if ((x_tick > leftedge) && (x_tick < rightedge)) { +- const int x_left_bound = QFontMetrics(font()).width(tick.second) / 2; ++ const int x_left_bound = util::text_width(QFontMetrics(font()), tick.second) / 2; + const int x_right_bound = rightedge - x_left_bound; + const int x_legend = min(max(x_tick, x_left_bound), x_right_bound); + p.drawText(x_legend, ValueMargin, 0, text_height, +diff --git a/pv/widgets/timestampspinbox.cpp b/pv/widgets/timestampspinbox.cpp +index 21b3d0d7..383aed1f 100644 +--- a/pv/widgets/timestampspinbox.cpp ++++ b/pv/widgets/timestampspinbox.cpp +@@ -75,7 +75,7 @@ QSize TimestampSpinBox::minimumSizeHint() const + { + const QFontMetrics fm(fontMetrics()); + const int l = round(value_).str().size() + precision_ + 10; +- const int w = fm.width(QString(l, '0')); ++ const int w = util::text_width(fm, QString(l, '0')); + const int h = lineEdit()->minimumSizeHint().height(); + return QSize(w, h); + } +-- +2.26.2 + diff --git a/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch b/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch deleted file mode 100644 index 5cf0c446a6b..00000000000 --- a/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch +++ /dev/null @@ -1,37 +0,0 @@ -From da124df864dd7555733d6690eacf856435d55b2d Mon Sep 17 00:00:00 2001 -From: Bartosz Golaszewski -Date: Mon, 3 Dec 2018 13:14:16 +0100 -Subject: [PATCH] mainbar: fix build without libsigrokdecode - -We must not include decodesignal.hpp if we're not using libsigrokdecode -or the build will fail due to libsigrokdecode.hpp not being present in -the system. - -Signed-off-by: Bartosz Golaszewski ---- - pv/toolbars/mainbar.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pv/toolbars/mainbar.cpp b/pv/toolbars/mainbar.cpp -index e6beb2b..7c4d0fb 100644 ---- a/pv/toolbars/mainbar.cpp -+++ b/pv/toolbars/mainbar.cpp -@@ -35,7 +35,6 @@ - - #include - --#include - #include - #include - #include -@@ -52,6 +51,7 @@ - #include - #ifdef ENABLE_DECODE - #include -+#include - #endif - - #include --- -2.19.1 - diff --git a/package/pulseview/0002-Fix-broken-build-due-to-C-template-behind-C-linkage.patch b/package/pulseview/0002-Fix-broken-build-due-to-C-template-behind-C-linkage.patch new file mode 100644 index 00000000000..16d4cfdb002 --- /dev/null +++ b/package/pulseview/0002-Fix-broken-build-due-to-C-template-behind-C-linkage.patch @@ -0,0 +1,58 @@ +From ed643f0b4ac587204a5243451cda181ee1405d62 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Stefan=20Br=C3=BCns?= +Date: Wed, 28 Apr 2021 02:14:47 +0200 +Subject: [PATCH] Fix broken build due to C++ template behind C linkage + +glib/gatomic.h since 2.68 includes type_traits, which causes a compilation +error: +In file included from /usr/include/glib-2.0/glib/gatomic.h:31, + from /usr/include/glib-2.0/glib/gthread.h:32, + from /usr/include/glib-2.0/glib/gasyncqueue.h:32, + from /usr/include/glib-2.0/glib.h:32, + from /usr/include/libsigrokdecode/libsigrokdecode.h:25, + from /home/abuild/rpmbuild/BUILD/pulseview-0.4.2/pv/data/decode/annotation.cpp:21: +/usr/include/c++/10/type_traits:2308:3: error: template with C linkage +2308 | template + +As libsigrokdecode.h declares extern C linkage itself where necessary, +remove it from pulseviews include statements from the last two occasions. + +[Retrieved from: +https://sigrok.org/gitweb/?p=pulseview.git;a=commit;h=ed643f0b4ac587204a5243451cda181ee1405d62] +Signed-off-by: Fabrice Fontaine +--- + pv/data/decode/annotation.cpp | 2 -- + pv/views/trace/decodetrace.cpp | 2 -- + 2 files changed, 4 deletions(-) + +diff --git a/pv/data/decode/annotation.cpp b/pv/data/decode/annotation.cpp +index 7f233478..f8a5c47b 100644 +--- a/pv/data/decode/annotation.cpp ++++ b/pv/data/decode/annotation.cpp +@@ -17,9 +17,7 @@ + * along with this program; if not, see . + */ + +-extern "C" { + #include +-} + + #include + #include +diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp +index 409f1d28..888064d0 100644 +--- a/pv/views/trace/decodetrace.cpp ++++ b/pv/views/trace/decodetrace.cpp +@@ -17,9 +17,7 @@ + * along with this program; if not, see . + */ + +-extern "C" { + #include +-} + + #include + #include +-- +2.24.0.rc2 + diff --git a/package/pulseview/0002-Replace-obsolete-deprecated-Qt-methods.patch b/package/pulseview/0002-Replace-obsolete-deprecated-Qt-methods.patch deleted file mode 100644 index 42cdc467bee..00000000000 --- a/package/pulseview/0002-Replace-obsolete-deprecated-Qt-methods.patch +++ /dev/null @@ -1,133 +0,0 @@ -From caacc9bc622238ca48674ea6f40d07466e4b97a5 Mon Sep 17 00:00:00 2001 -From: Valentin Ochs -Date: Sat, 20 Jun 2020 16:01:27 +0200 -Subject: [PATCH] Replace obsolete/deprecated Qt methods - -[Thomas: Backport from upstream commit -ae726b70a7ada9a4be5808e00f0c951318479684, one conflict manually -resolved in pv/util.cpp.] -Signed-off-by: Thomas Petazzoni ---- - pv/util.cpp | 21 +++++++++++++++++++-- - pv/util.hpp | 10 ++++++++++ - pv/views/trace/decodetrace.cpp | 3 ++- - pv/views/trace/ruler.cpp | 2 +- - pv/widgets/timestampspinbox.cpp | 2 +- - 5 files changed, 33 insertions(+), 5 deletions(-) - -diff --git a/pv/util.cpp b/pv/util.cpp -index 49b9467c..2a63038d 100644 ---- a/pv/util.cpp -+++ b/pv/util.cpp -@@ -137,7 +137,7 @@ QString format_time_si(const Timestamp& v, SIPrefix prefix, - QString s; - QTextStream ts(&s); - if (sign && !v.is_zero()) -- ts << forcesign; -+ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign); - ts << qSetRealNumberPrecision(precision) << (v * multiplier) << ' ' - << prefix << unit; - -@@ -171,7 +171,7 @@ QString format_value_si(double v, SIPrefix prefix, unsigned precision, - QString s; - QTextStream ts(&s); - if (sign && (v != 0)) -- ts << forcesign; -+ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign); - ts.setRealNumberNotation(QTextStream::FixedNotation); - ts.setRealNumberPrecision(precision); - ts << (v * multiplier) << ' ' << prefix << unit; -@@ -281,5 +281,22 @@ vector split_string(string text, string separator) - return result; - } - -+/** -+ * Return the width of a string in a given font. -+ * -+ * @param[in] metric metrics of the font -+ * @param[in] string the string whose width should be determined -+ * -+ * @return width of the string in pixels -+ */ -+std::streamsize text_width(const QFontMetrics &metric, const QString &string) -+{ -+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) -+ return metric.horizontalAdvance(string); -+#else -+ return metric.width(string); -+#endif -+} -+ - } // namespace util - } // namespace pv -diff --git a/pv/util.hpp b/pv/util.hpp -index dd7be222..ad904f85 100644 ---- a/pv/util.hpp -+++ b/pv/util.hpp -@@ -30,6 +30,7 @@ - - #include - #include -+#include - - using std::string; - using std::vector; -@@ -137,6 +138,15 @@ QString format_time_minutes(const Timestamp& t, signed precision = 0, - - vector split_string(string text, string separator); - -+/** -+ * Return the width of a string in a given font. -+ * @param[in] metric metrics of the font -+ * @param[in] string the string whose width should be determined -+ * -+ * @return width of the string in pixels -+ */ -+std::streamsize text_width(const QFontMetrics &metric, const QString &string); -+ - } // namespace util - } // namespace pv - -diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp -index 9c7196bf..1ee7ae9f 100644 ---- a/pv/views/trace/decodetrace.cpp -+++ b/pv/views/trace/decodetrace.cpp -@@ -103,7 +103,8 @@ DecodeTrace::DecodeTrace(pv::Session &session, - - // Determine shortest string we want to see displayed in full - QFontMetrics m(QApplication::font()); -- min_useful_label_width_ = m.width("XX"); // e.g. two hex characters -+ // e.g. two hex characters -+ min_useful_label_width_ = util::text_width(m, "XX"); - - // For the base color, we want to start at a very different color for - // every decoder stack, so multiply the index with a number that is -diff --git a/pv/views/trace/ruler.cpp b/pv/views/trace/ruler.cpp -index acea8a36..68134966 100644 ---- a/pv/views/trace/ruler.cpp -+++ b/pv/views/trace/ruler.cpp -@@ -218,7 +218,7 @@ void Ruler::paintEvent(QPaintEvent*) - const int rightedge = width(); - const int x_tick = tick.first; - if ((x_tick > leftedge) && (x_tick < rightedge)) { -- const int x_left_bound = QFontMetrics(font()).width(tick.second) / 2; -+ const int x_left_bound = util::text_width(QFontMetrics(font()), tick.second) / 2; - const int x_right_bound = rightedge - x_left_bound; - const int x_legend = min(max(x_tick, x_left_bound), x_right_bound); - p.drawText(x_legend, ValueMargin, 0, text_height, -diff --git a/pv/widgets/timestampspinbox.cpp b/pv/widgets/timestampspinbox.cpp -index 21b3d0d7..383aed1f 100644 ---- a/pv/widgets/timestampspinbox.cpp -+++ b/pv/widgets/timestampspinbox.cpp -@@ -75,7 +75,7 @@ QSize TimestampSpinBox::minimumSizeHint() const - { - const QFontMetrics fm(fontMetrics()); - const int l = round(value_).str().size() + precision_ + 10; -- const int w = fm.width(QString(l, '0')); -+ const int w = util::text_width(fm, QString(l, '0')); - const int h = lineEdit()->minimumSizeHint().height(); - return QSize(w, h); - } --- -2.26.2 - diff --git a/package/pulseview/0003-Support-glibmm-2.68.patch b/package/pulseview/0003-Support-glibmm-2.68.patch new file mode 100644 index 00000000000..00e4e696d92 --- /dev/null +++ b/package/pulseview/0003-Support-glibmm-2.68.patch @@ -0,0 +1,89 @@ +From a97d5a060a534a3c658578e7f14ab43556db93ca Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 30 Dec 2021 16:19:46 +0100 +Subject: [PATCH] Support glibmm 2.68 + +Support glibmm 2.68 which has been released one year ago and is the +first stable release in the glibmm-2.68 ABI series: +https://gitlab.gnome.org/GNOME/glibmm/-/blob/2.68.2/NEWS + +C++17 support is mandatory with glibmm 2.68 + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + CMakeLists.txt | 23 +++++++++++++++++++---- + INSTALL | 2 +- + 2 files changed, 20 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7791b1b1..58a9cf92 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,7 +75,14 @@ add_subdirectory(manual) + #------------------------------------------------------------------------------- + + list(APPEND PKGDEPS glib-2.0>=2.28.0) +-list(APPEND PKGDEPS glibmm-2.4>=2.28.0) ++ ++set(LIBSR_GLIBMM "glibmm-2.4>=2.28.0") ++find_package(PkgConfig) ++pkg_check_modules(LIBSRGLIBMM24 ${LIBSR_GLIBMM}) ++if(NOT LIBSRGLIBMM24_FOUND) ++ set(LIBSR_GLIBMM "glibmm-2.68>=2.68.0") ++endif() ++list(APPEND PKGDEPS ${LIBSR_GLIBMM}) + + if(ENABLE_FLOW) + list(APPEND PKGDEPS gstreamermm-1.0>=1.8.0) +@@ -93,7 +100,6 @@ if(ANDROID) + list(APPEND PKGDEPS libsigrokandroidutils>=0.1.0) + endif() + +-find_package(PkgConfig) + pkg_check_modules(LIBSRCXX ${LIBSR_CXX_BINDING}) + if(NOT LIBSRCXX_FOUND OR NOT LIBSRCXX_VERSION) + message(FATAL_ERROR "libsigrok C++ bindings missing, check libsigrok's 'configure' output (missing dependencies?)") +@@ -225,7 +231,11 @@ memaccess_check_unaligned_le(HAVE_UNALIGNED_LITTLE_ENDIAN_ACCESS) + set(PV_TITLE PulseView) + set(PV_VERSION_STRING "0.5.0") + +-set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION}) ++if(LIBSRGLIBMM24_FOUND) ++ set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION}) ++else() ++ set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.68_VERSION}) ++endif() + + include(GetGitRevisionDescription) + +@@ -486,7 +496,12 @@ qt5_add_resources(pulseview_RESOURCES_RCC ${CMAKE_BINARY_DIR}/translations.qrc) + add_definitions(-DQT_NO_KEYWORDS) + add_definitions(-D__STDC_LIMIT_MACROS) + add_definitions(-Wall -Wextra) +-add_definitions(-std=c++11) ++if(LIBSRGLIBMM24_FOUND) ++ add_definitions(-std=c++11) ++else() ++ # glibmm-2.68 reuires c++17 ++ add_definitions(-std=c++17) ++endif() + add_definitions(-DBOOST_MATH_DISABLE_FLOAT128=1) + if(WIN32) + add_definitions(-Wa,-mbig-obj -O3) +diff --git a/INSTALL b/INSTALL +index da89be8d..8003fcfb 100644 +--- a/INSTALL ++++ b/INSTALL +@@ -14,7 +14,7 @@ Requirements + - pkg-config >= 0.22 + - cmake >= 2.8.12 + - libglib >= 2.28.0 +- - glibmm-2.4 (>= 2.28.0) ++ - glibmm-2.4 (>= 2.28.0) or glibmm-2.68 (>= 2.68.0) + - Qt5 (>= 5.3), including the following components: + - Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg, Qt5LinguistTools + - Qt translation package (optional; needed at runtime, not build time) +-- +2.34.1 + diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in index ea9bdc26051..f122551b9fd 100644 --- a/package/pulseview/Config.in +++ b/package/pulseview/Config.in @@ -4,12 +4,13 @@ config BR2_PACKAGE_PULSEVIEW # libsigrok->libglib2: depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem depends on BR2_USE_MMU depends on BR2_INSTALL_LIBSTDCPP # libsigrok->libzip depends on !BR2_STATIC_LIBS # libsigrok - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 depends on BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBSIGROK @@ -17,6 +18,8 @@ config BR2_PACKAGE_PULSEVIEW select BR2_PACKAGE_QT5BASE_WIDGETS select BR2_PACKAGE_QT5BASE_PNG select BR2_PACKAGE_QT5SVG + select BR2_PACKAGE_QT5TOOLS + select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM @@ -27,10 +30,11 @@ config BR2_PACKAGE_PULSEVIEW http://sigrok.org/wiki/PulseView -comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 4.9, host gcc >= 4.9" +comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_QT5 - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \ || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ || BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \ !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/pulseview/pulseview.hash b/package/pulseview/pulseview.hash index 27e27ce1ce1..b72000774be 100644 --- a/package/pulseview/pulseview.hash +++ b/package/pulseview/pulseview.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9ee7ce3dd1457c6a5f5e4e9c2469903a1f070ba077ea68535cc29ef1dfac6f2f pulseview-0.4.1.tar.gz +sha256 f042f77a3e1b35bf30666330e36ec38fab8d248c3693c37b7e35d401c3bfabcb pulseview-0.4.2.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/pulseview/pulseview.mk b/package/pulseview/pulseview.mk index 67d525f6263..f079dfbbcec 100644 --- a/package/pulseview/pulseview.mk +++ b/package/pulseview/pulseview.mk @@ -4,11 +4,11 @@ # ################################################################################ -PULSEVIEW_VERSION = 0.4.1 +PULSEVIEW_VERSION = 0.4.2 PULSEVIEW_SITE = http://sigrok.org/download/source/pulseview PULSEVIEW_LICENSE = GPL-3.0+ PULSEVIEW_LICENSE_FILES = COPYING -PULSEVIEW_DEPENDENCIES = libsigrok qt5base qt5svg boost +PULSEVIEW_DEPENDENCIES = libsigrok qt5base qt5svg qt5tools boost PULSEVIEW_CONF_OPTS = -DDISABLE_WERROR=TRUE ifeq ($(BR2_PACKAGE_BOOST_TEST),y) diff --git a/package/pure-ftpd/0001-listdir-reuse-a-single-buffer-to-store-every-file-name-to-display.patch b/package/pure-ftpd/0001-listdir-reuse-a-single-buffer-to-store-every-file-name-to-display.patch deleted file mode 100644 index 2f791d1d6ef..00000000000 --- a/package/pure-ftpd/0001-listdir-reuse-a-single-buffer-to-store-every-file-name-to-display.patch +++ /dev/null @@ -1,70 +0,0 @@ -From aea56f4bcb9948d456f3fae4d044fd3fa2e19706 Mon Sep 17 00:00:00 2001 -From: Frank Denis -Date: Mon, 30 Dec 2019 17:40:04 +0100 -Subject: [PATCH] listdir(): reuse a single buffer to store every file name to - display - -Allocating a new buffer for each entry is useless. - -And as these buffers are allocated on the stack, on systems with a -small stack size, with many entries, the limit can easily be reached, -causing a stack exhaustion and aborting the user session. - -Reported by Antonio Morales from the GitHub Security Lab team, thanks! -[Retrieved from: -https://github.com/jedisct1/pure-ftpd/commit/aea56f4bcb9948d456f3fae4d044fd3fa2e19706] -Signed-off-by: Fabrice Fontaine ---- - src/ls.c | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git a/src/ls.c b/src/ls.c -index cf804c7..f8a588f 100644 ---- a/src/ls.c -+++ b/src/ls.c -@@ -661,6 +661,8 @@ static void listdir(unsigned int depth, int f, void * const tls_fd, - char *names; - PureFileInfo *s; - PureFileInfo *r; -+ char *alloca_subdir; -+ size_t sizeof_subdir; - int d; - - if (depth >= max_ls_depth || matches >= max_ls_files) { -@@ -690,14 +692,12 @@ static void listdir(unsigned int depth, int f, void * const tls_fd, - } - outputfiles(f, tls_fd); - r = dir; -+ sizeof_subdir = PATH_MAX + 1U; -+ if ((alloca_subdir = ALLOCA(sizeof_subdir)) == NULL) { -+ goto toomany; -+ } - while (opt_R && r != s) { - if (r->name_offset != (size_t) -1 && !chdir(FI_NAME(r))) { -- char *alloca_subdir; -- const size_t sizeof_subdir = PATH_MAX + 1U; -- -- if ((alloca_subdir = ALLOCA(sizeof_subdir)) == NULL) { -- goto toomany; -- } - if (SNCHECK(snprintf(alloca_subdir, sizeof_subdir, "%s/%s", - name, FI_NAME(r)), sizeof_subdir)) { - goto nolist; -@@ -706,8 +706,8 @@ static void listdir(unsigned int depth, int f, void * const tls_fd, - wrstr(f, tls_fd, alloca_subdir); - wrstr(f, tls_fd, ":\r\n\r\n"); - listdir(depth + 1U, f, tls_fd, alloca_subdir); -+ - nolist: -- ALLOCA_FREE(alloca_subdir); - if (matches >= max_ls_files) { - goto toomany; - } -@@ -720,6 +720,7 @@ static void listdir(unsigned int depth, int f, void * const tls_fd, - r++; - } - toomany: -+ ALLOCA_FREE(alloca_subdir); - free(names); - free(dir); - names = NULL; diff --git a/package/pure-ftpd/0002-pure_strcmp-len-s2-can-be-len-s1.patch b/package/pure-ftpd/0002-pure_strcmp-len-s2-can-be-len-s1.patch deleted file mode 100644 index 3de3cbd2c81..00000000000 --- a/package/pure-ftpd/0002-pure_strcmp-len-s2-can-be-len-s1.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 36c6d268cb190282a2c17106acfd31863121b58e Mon Sep 17 00:00:00 2001 -From: Frank Denis -Date: Mon, 24 Feb 2020 15:19:43 +0100 -Subject: [PATCH] pure_strcmp(): len(s2) can be > len(s1) - -Reported by Antonio Morales from GitHub Security Labs, thanks! -[Retrieved from: -https://github.com/jedisct1/pure-ftpd/commit/36c6d268cb190282a2c17106acfd31863121b] -Signed-off-by: Fabrice Fontaine ---- - src/utils.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/utils.c b/src/utils.c -index f41492d..a7f0381 100644 ---- a/src/utils.c -+++ b/src/utils.c -@@ -45,5 +45,11 @@ int pure_memcmp(const void * const b1_, const void * const b2_, size_t len) - - int pure_strcmp(const char * const s1, const char * const s2) - { -- return pure_memcmp(s1, s2, strlen(s1) + 1U); -+ const size_t s1_len = strlen(s1); -+ const size_t s2_len = strlen(s2); -+ -+ if (s1_len != s2_len) { -+ return -1; -+ } -+ return pure_memcmp(s1, s2, s1_len); - } diff --git a/package/pure-ftpd/0003-diraliases-always-set-the-tail-of-the-list-to-NULL.patch b/package/pure-ftpd/0003-diraliases-always-set-the-tail-of-the-list-to-NULL.patch deleted file mode 100644 index 6c58eb74aee..00000000000 --- a/package/pure-ftpd/0003-diraliases-always-set-the-tail-of-the-list-to-NULL.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8d0d42542e2cb7a56d645fbe4d0ef436e38bcefa Mon Sep 17 00:00:00 2001 -From: Frank Denis -Date: Tue, 18 Feb 2020 18:36:58 +0100 -Subject: [PATCH] diraliases: always set the tail of the list to NULL - -Spotted and reported by Antonio Norales from GitHub Security Labs. -Thanks! - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/jedisct1/pure-ftpd/commit/8d0d42542e2cb7a56d645fbe4d0ef436e38bcefa] ---- - src/diraliases.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/diraliases.c b/src/diraliases.c -index 4002a36..fb70273 100644 ---- a/src/diraliases.c -+++ b/src/diraliases.c -@@ -93,7 +93,6 @@ int init_aliases(void) - (tail->dir = strdup(dir)) == NULL) { - die_mem(); - } -- tail->next = NULL; - } else { - DirAlias *curr; - -@@ -105,6 +104,7 @@ int init_aliases(void) - tail->next = curr; - tail = curr; - } -+ tail->next = NULL; - } - fclose(fp); - aliases_up++; diff --git a/package/pure-ftpd/pure-ftpd.hash b/package/pure-ftpd/pure-ftpd.hash index 8fe73e4fb01..e8b779c313e 100644 --- a/package/pure-ftpd/pure-ftpd.hash +++ b/package/pure-ftpd/pure-ftpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 8a727dfef810f275fba3eb6099760d4f8a0bdeae2c1197d0d5bfeb8c1b2f61b6 pure-ftpd-1.0.49.tar.bz2 -sha256 3a9e94382a69d04aa434d69b20ff2c01dbbfcb7191f05f69a7109c0ee1559c19 COPYING +sha256 6722c7fd09fe3c9ebbd572f3d097087ec7b32aacb3df8fa3400d4c07e4f377d7 pure-ftpd-1.0.50.tar.bz2 +sha256 c1be5d56c28927b05131d7384bd522af4b11c3afea45725f5ca7983c11db61ac COPYING diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index 7e3d18b433c..0354949e289 100644 --- a/package/pure-ftpd/pure-ftpd.mk +++ b/package/pure-ftpd/pure-ftpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -PURE_FTPD_VERSION = 1.0.49 +PURE_FTPD_VERSION = 1.0.50 PURE_FTPD_SITE = https://download.pureftpd.org/pub/pure-ftpd/releases PURE_FTPD_SOURCE = pure-ftpd-$(PURE_FTPD_VERSION).tar.bz2 PURE_FTPD_LICENSE = ISC @@ -12,15 +12,6 @@ PURE_FTPD_LICENSE_FILES = COPYING PURE_FTPD_CPE_ID_VENDOR = pureftpd PURE_FTPD_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) -# 0001-listdir-reuse-a-single-buffer-to-store-every-file-name-to-display.patch -PURE_FTPD_IGNORE_CVES += CVE-2019-20176 - -# 0002-pure_strcmp-len-s2-can-be-len-s1.patch -PURE_FTPD_IGNORE_CVES += CVE-2020-9365 - -# 0003-diraliases-always-set-the-tail-of-the-list-to-NULL.patch -PURE_FTPD_IGNORE_CVES += CVE-2020-9274 - PURE_FTPD_CONF_OPTS = \ --with-altlog \ --with-puredb @@ -54,7 +45,7 @@ else PURE_FTPD_CONF_OPTS += --without-ldap endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) PURE_FTPD_CONF_OPTS += --with-tls PURE_FTPD_DEPENDENCIES += host-pkgconf openssl PURE_FTPD_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` diff --git a/package/putty/0001-unix-uxutils.h-fix-build-on-uclibc.patch b/package/putty/0001-unix-uxutils.h-fix-build-on-uclibc.patch new file mode 100644 index 00000000000..78cef8b908b --- /dev/null +++ b/package/putty/0001-unix-uxutils.h-fix-build-on-uclibc.patch @@ -0,0 +1,41 @@ +From 3f30f3a7e3f07f5ca3cef0f405b02e22a018c6e4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 9 May 2021 15:22:29 +0200 +Subject: [PATCH] unix/uxutils.h: fix build on uclibc + +Build on uclibc is broken since version 0.75 and commit +65383082bf0c49cec63f4b36001a40bd9b13edf6 because AT_HWCAP2 is used +even if is not available: + +unix/uxutils.c: In function 'platform_aes_hw_available': +unix/uxutils.c:13:22: error: 'AT_HWCAP2' undeclared (first use in this function) + 13 | return getauxval(AT_HWCAP2) & HWCAP2_AES; + | ^~~~~~~~~ + +To fix this build failure, include + +Fixes: + - http://autobuild.buildroot.org/results/726f7c5ce13e78ed91e827b872e9d7ccfa13f298 + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to Simon Tatham ] +--- + unix/uxutils.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/unix/uxutils.h b/unix/uxutils.h +index c9acff53..b80bf972 100644 +--- a/unix/uxutils.h ++++ b/unix/uxutils.h +@@ -18,6 +18,8 @@ + + #if defined __arm__ || defined __aarch64__ + ++#include ++ + #ifdef HAVE_SYS_TYPES_H + #include + #endif +-- +2.30.2 + diff --git a/package/putty/putty.hash b/package/putty/putty.hash index 3885cef9b89..861d45cb769 100644 --- a/package/putty/putty.hash +++ b/package/putty/putty.hash @@ -1,8 +1,8 @@ -# Hashes from: http://the.earth.li/~sgtatham/putty/0.74/{md5,sha1,sha256,sha512}sums -md5 dbfa58f22a91b22b7489173e9dd09e30 putty-0.74.tar.gz -sha1 17b160e9720f67f9af9399d7d185b913b81f18fe putty-0.74.tar.gz -sha256 ddd5d388e51dd9e6e294005b30037f6ae802239a44c9dc9808c779e6d11b847d putty-0.74.tar.gz -sha512 0da86849ea764cd88643bd2c1984ac7211ae72dd7c41232307b1960a29ca9518044b022d87c60272d6db71a3357026862a112bedb90ee732b41494fca3acde9b putty-0.74.tar.gz +# Hashes from: http://the.earth.li/~sgtatham/putty/0.76/{md5,sha1,sha256,sha512}sums +md5 9d22f8c56c1eaa1c0af3098438f25908 putty-0.76.tar.gz +sha1 de09f50aee330eb05ad0cb81b970d0cc8e5c9b25 putty-0.76.tar.gz +sha256 547cd97a8daa87ef71037fab0773bceb54a8abccb2f825a49ef8eba5e045713f putty-0.76.tar.gz +sha512 4576b359593928c6eba923f2d7b66ac0f2cf00e0c217cdbbb124471c3b35feb090e623847bfc507a4ef106cb3067aac47419e241b11dd8bf4ae554061fa93c25 putty-0.76.tar.gz # Locally calculated -sha256 92028b6d56212bd3e4ce6a36bd2e2454851dca7e8ffe4c6ab51385ca214ca322 LICENCE +sha256 3f3e870dd3d0867d79370b1d433602c60bb91b59de04e5d8f2a149b788530d53 LICENCE diff --git a/package/putty/putty.mk b/package/putty/putty.mk index c40cac9dc5c..e57a78be961 100644 --- a/package/putty/putty.mk +++ b/package/putty/putty.mk @@ -4,13 +4,12 @@ # ################################################################################ -PUTTY_VERSION = 0.74 +PUTTY_VERSION = 0.76 PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION) PUTTY_LICENSE = MIT PUTTY_LICENSE_FILES = LICENCE PUTTY_CPE_ID_VENDOR = putty PUTTY_CONF_OPTS = --disable-gtktest -PUTTY_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -Wno-error" ifeq ($(BR2_PACKAGE_LIBGTK2),y) PUTTY_CONF_OPTS += --with-gtk=2 diff --git a/package/pv/0001-configure.in-tighten-AIX-test.patch b/package/pv/0001-configure.in-tighten-AIX-test.patch deleted file mode 100644 index 2e0d2af2470..00000000000 --- a/package/pv/0001-configure.in-tighten-AIX-test.patch +++ /dev/null @@ -1,57 +0,0 @@ -From cd7605723eb8e6d8231644f1cf62f1e80badf074 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 20 Aug 2018 15:57:22 +0200 -Subject: [PATCH] configure.in: tighten AIX test - -Depending on the configuration, the cpp output may contain the string 'yes' -in a comment if built under a path containing 'yes', confusing the _AIX -test: - -${CROSS}-cpp conftest.h -\# 1 "conftest.h" -\# 1 "" -\# 1 "" -\# 31 "" -\# 1 "/home/peko/source/buildroot/output-yes/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdc-predef.h" 1 3 4 -\# 32 "" 2 -\# 1 "conftest.txt" - -Fix it by only matching on 'yes' on a line by itself. - -Upstream-status: submitted to author -Signed-off-by: Peter Korsgaard ---- - - autoconf/configure.in | 2 +- - configure | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/autoconf/configure.in b/autoconf/configure.in -index bd45004..487c42b 100644 ---- a/autoconf/configure.in -+++ b/autoconf/configure.in -@@ -86,7 +86,7 @@ AC_PROG_MAKE_SET - - dnl AIX needs -lc128 - dnl --AC_EGREP_CPP([yes], [#ifdef _AIX -+AC_EGREP_CPP([^yes$], [#ifdef _AIX - yes - #endif - ], [LIBS="$LIBS -lc128"]) -diff --git a/configure b/configure -index 7c11be0..59267b9 100755 ---- a/configure -+++ b/configure -@@ -3377,7 +3377,7 @@ yes - - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then -+ $EGREP "^yes$" >/dev/null 2>&1; then - LIBS="$LIBS -lc128" - fi - rm -f conftest* --- -2.11.0 - diff --git a/package/pv/pv.hash b/package/pv/pv.hash index 1ce1191d546..b3dd71f74bc 100644 --- a/package/pv/pv.hash +++ b/package/pv/pv.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 608ef935f7a377e1439c181c4fc188d247da10d51a19ef79bcdee5043b0973f1 pv-1.6.6.tar.bz2 +sha256 e831951eff0718fba9b1ef286128773b9d0e723e1fbfae88d5a3188814fdc603 pv-1.6.20.tar.bz2 # Hash for license file sha256 280e182171df3e9bb4a9b407326e88521151fcb8f4f8557255f26177d5900ccf doc/COPYING diff --git a/package/pv/pv.mk b/package/pv/pv.mk index 122cc0c5caf..27060cf07e9 100644 --- a/package/pv/pv.mk +++ b/package/pv/pv.mk @@ -4,7 +4,7 @@ # ################################################################################ -PV_VERSION = 1.6.6 +PV_VERSION = 1.6.20 PV_SOURCE = pv-$(PV_VERSION).tar.bz2 PV_SITE = http://www.ivarch.com/programs/sources PV_LICENSE = Artistic-2.0 diff --git a/package/pwgen/pwgen.mk b/package/pwgen/pwgen.mk index ad9465b82c8..89925bb3009 100644 --- a/package/pwgen/pwgen.mk +++ b/package/pwgen/pwgen.mk @@ -8,6 +8,7 @@ PWGEN_VERSION = 2.08 PWGEN_SITE = http://downloads.sourceforge.net/project/pwgen/pwgen/$(PWGEN_VERSION) PWGEN_LICENSE = GPL-2.0 PWGEN_LICENSE_FILES = debian/copyright +PWGEN_CPE_ID_VENDOR = pwgen_project $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/python-aenum/python-aenum.hash b/package/python-aenum/python-aenum.hash index 16ee23aba5b..40c0e55fc52 100644 --- a/package/python-aenum/python-aenum.hash +++ b/package/python-aenum/python-aenum.hash @@ -1,4 +1,5 @@ -# sha256 from https://pypi.org/pypi/aenum/json -sha256 a4334cabf47c167d44ab5a6198837b80deec5d5bad1b5cf70c966c3a330260e8 aenum-2.2.3.tar.gz -# locally calculated -sha256 0db837e38002017b352666c83c8d3216ee5b9b2229375eb2cf4487f8c24e1f8c aenum/LICENSE +# md5, sha256 from https://pypi.org/pypi/aenum/json +md5 c0b78a74cdfacc0bf0cbb42785afaed8 aenum-3.1.11.tar.gz +sha256 aed2c273547ae72a0d5ee869719c02a643da16bf507c80958faadc7e038e3f73 aenum-3.1.11.tar.gz +# Locally computed sha256 checksums +sha256 0db837e38002017b352666c83c8d3216ee5b9b2229375eb2cf4487f8c24e1f8c aenum/LICENSE diff --git a/package/python-aenum/python-aenum.mk b/package/python-aenum/python-aenum.mk index 97fcbb5e867..603fc66d0cc 100644 --- a/package/python-aenum/python-aenum.mk +++ b/package/python-aenum/python-aenum.mk @@ -4,20 +4,19 @@ # ################################################################################ -PYTHON_AENUM_VERSION = 2.2.3 +PYTHON_AENUM_VERSION = 3.1.11 PYTHON_AENUM_SOURCE = aenum-$(PYTHON_AENUM_VERSION).tar.gz -PYTHON_AENUM_SITE = https://files.pythonhosted.org/packages/6f/6a/8ed729e0add885d7a559ebb06133029b1f8c4bd66cbf1bdee1ec969fb310 +PYTHON_AENUM_SITE = https://files.pythonhosted.org/packages/63/6c/a71e18de7c651f384b328be6bccadbbd472aca62f547c1a307b9388d03ca PYTHON_AENUM_SETUP_TYPE = setuptools PYTHON_AENUM_LICENSE = BSD-3-Clause PYTHON_AENUM_LICENSE_FILES = aenum/LICENSE -ifeq ($(BR2_PACKAGE_PYTHON),y) -# only needed/valid for python 3.x -define PYTHON_AENUM_RM_PY3_FILE - rm -f $(TARGET_DIR)/usr/lib/python*/site-packages/aenum/test_v3.py +# _py2.py uses syntax not compatible with Python3. +# Remove _py2.py to avoid compilation error. +define PYTHON_AENUM_REMOVE_PY2_PY + rm $(@D)/aenum/_py2.py endef -PYTHON_AENUM_POST_INSTALL_TARGET_HOOKS += PYTHON_AENUM_RM_PY3_FILE -endif +PYTHON_AENUM_POST_EXTRACT_HOOKS = PYTHON_AENUM_REMOVE_PY2_PY $(eval $(python-package)) diff --git a/package/python-aexpect/Config.in b/package/python-aexpect/Config.in new file mode 100644 index 00000000000..cc805da6572 --- /dev/null +++ b/package/python-aexpect/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_AEXPECT + bool "python-aexpect" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Aexpect. + + http://avocado-framework.github.io/ diff --git a/package/python-aexpect/python-aexpect.hash b/package/python-aexpect/python-aexpect.hash new file mode 100644 index 00000000000..efe4f55fb83 --- /dev/null +++ b/package/python-aexpect/python-aexpect.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aexpect/json +md5 d37473ff0024c15938bfe86a543537e6 aexpect-1.6.4.tar.gz +sha256 3998aa84ae54963fd59488f0caa533f6edbb31bc6cb842da09b041cbad56ad88 aexpect-1.6.4.tar.gz +# Locally computed sha256 checksums +sha256 7be26abf35e531a226dc742d2379d42d372cb61f027a6e26477c0e2f1a03bfcb LICENSE diff --git a/package/python-aexpect/python-aexpect.mk b/package/python-aexpect/python-aexpect.mk new file mode 100644 index 00000000000..8b5e1651358 --- /dev/null +++ b/package/python-aexpect/python-aexpect.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aexpect +# +################################################################################ + +PYTHON_AEXPECT_VERSION = 1.6.4 +PYTHON_AEXPECT_SOURCE = aexpect-$(PYTHON_AEXPECT_VERSION).tar.gz +PYTHON_AEXPECT_SITE = https://files.pythonhosted.org/packages/3b/22/f87ffa70348dde4597d9314995be89c8d4c7728260033b972a8d691e3f7d +PYTHON_AEXPECT_SETUP_TYPE = setuptools +PYTHON_AEXPECT_LICENSE = GPL-2.0+ +PYTHON_AEXPECT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aioblescan/Config.in b/package/python-aioblescan/Config.in index dd1acfa095f..8f6db48a8be 100644 --- a/package/python-aioblescan/Config.in +++ b/package/python-aioblescan/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOBLESCAN bool "python-aioblescan" - depends on BR2_PACKAGE_PYTHON3 help Scanning Bluetooth for advertised info with asyncio. diff --git a/package/python-aioblescan/python-aioblescan.hash b/package/python-aioblescan/python-aioblescan.hash index 902a7a30f8e..2592aace339 100644 --- a/package/python-aioblescan/python-aioblescan.hash +++ b/package/python-aioblescan/python-aioblescan.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aioblescan/json -md5 9ad3f04ea7ad4c81a53f8e1316985527 aioblescan-0.2.6.tar.gz -sha256 2e45c325e070a0ee4e952a7d0c56e95ad230643e1057fb5f3e95ea5c99081436 aioblescan-0.2.6.tar.gz +md5 f59934c040a817192fcd3e713633cf20 aioblescan-0.2.8.tar.gz +sha256 2b048f5fe6e85b18fe306bdb63307705f3d1139563d3187d751b8657065a5bd9 aioblescan-0.2.8.tar.gz # Locally computed sha256 checksums -sha256 c2066cd44079e0c706234001af18cb6ad4b62fc68d0d08d29fdc7319916647e0 LICENSE.txt +sha256 c2066cd44079e0c706234001af18cb6ad4b62fc68d0d08d29fdc7319916647e0 LICENSE.txt diff --git a/package/python-aioblescan/python-aioblescan.mk b/package/python-aioblescan/python-aioblescan.mk index 6350007c709..8a9db927ac4 100644 --- a/package/python-aioblescan/python-aioblescan.mk +++ b/package/python-aioblescan/python-aioblescan.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOBLESCAN_VERSION = 0.2.6 +PYTHON_AIOBLESCAN_VERSION = 0.2.8 PYTHON_AIOBLESCAN_SOURCE = aioblescan-$(PYTHON_AIOBLESCAN_VERSION).tar.gz -PYTHON_AIOBLESCAN_SITE = https://files.pythonhosted.org/packages/66/b8/888c2eb4323ed498dbc7deeb8aee0cfec9edd8c25184b06a8874bb0cf84f +PYTHON_AIOBLESCAN_SITE = https://files.pythonhosted.org/packages/d2/10/b8b496903f33935c99f3602200d44ccc0b0a57b87e5fa65b89466c1b1f31 PYTHON_AIOBLESCAN_SETUP_TYPE = setuptools PYTHON_AIOBLESCAN_LICENSE = MIT PYTHON_AIOBLESCAN_LICENSE_FILES = LICENSE.txt diff --git a/package/python-aiocoap/Config.in b/package/python-aiocoap/Config.in index cf5ca4e8446..c46614324f4 100644 --- a/package/python-aiocoap/Config.in +++ b/package/python-aiocoap/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOCOAP bool "python-aiocoap" - depends on BR2_PACKAGE_PYTHON3 help Python CoAP library. diff --git a/package/python-aiocoap/python-aiocoap.hash b/package/python-aiocoap/python-aiocoap.hash index 6df482aa68e..6357a87931e 100644 --- a/package/python-aiocoap/python-aiocoap.hash +++ b/package/python-aiocoap/python-aiocoap.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/aiocoap/json, sha256 locally computed -md5 f5fed00767b4197f2fbaa0ff95cbbf78 aiocoap-0.3.tar.gz -sha256 402d4151db6d8d0b1d66af5b6e10e0de1521decbf12140637e5b8d2aa9c5aef6 aiocoap-0.3.tar.gz +# md5, sha256 from https://pypi.org/pypi/aiocoap/json +md5 c5809dfb02be8784ec17897380009052 aiocoap-0.4.1.tar.gz +sha256 c47c9d19a98699f27707186871b7c84f4a7016fe4fbb5bd300f809ae456f8a55 aiocoap-0.4.1.tar.gz +# Locally computed sha256 checksums sha256 2bb211d412a6bfa4b2a9cf01123c7fe90e5e6185938896e23ab07b84f8494180 LICENSE diff --git a/package/python-aiocoap/python-aiocoap.mk b/package/python-aiocoap/python-aiocoap.mk index a2db70b8036..c933d27b23f 100644 --- a/package/python-aiocoap/python-aiocoap.mk +++ b/package/python-aiocoap/python-aiocoap.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOCOAP_VERSION = 0.3 +PYTHON_AIOCOAP_VERSION = 0.4.1 PYTHON_AIOCOAP_SOURCE = aiocoap-$(PYTHON_AIOCOAP_VERSION).tar.gz -PYTHON_AIOCOAP_SITE = https://pypi.python.org/packages/9c/f6/d839e4b14258d76e74a39810829c13f8dd31de2bfe0915579b2a609d1bbe +PYTHON_AIOCOAP_SITE = https://files.pythonhosted.org/packages/67/1c/6d6764010a4779d61bc7241afa663b368261c72af20555b26efc875d4276 PYTHON_AIOCOAP_SETUP_TYPE = setuptools PYTHON_AIOCOAP_LICENSE = MIT PYTHON_AIOCOAP_LICENSE_FILES = LICENSE diff --git a/package/python-aioconsole/Config.in b/package/python-aioconsole/Config.in index cd52eecf328..6b2a15e1152 100644 --- a/package/python-aioconsole/Config.in +++ b/package/python-aioconsole/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOCONSOLE bool "python-aioconsole" - depends on BR2_PACKAGE_PYTHON3 help Asynchronous console and interfaces for asyncio. diff --git a/package/python-aioconsole/python-aioconsole.hash b/package/python-aioconsole/python-aioconsole.hash index 0aa9a7882c8..af8b5c4de92 100644 --- a/package/python-aioconsole/python-aioconsole.hash +++ b/package/python-aioconsole/python-aioconsole.hash @@ -1,3 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aioconsole/json -md5 a8b0640a1e2a3869baf4efcbb1182fbe aioconsole-0.3.0.tar.gz -sha256 b84724e6b93d1306a909974864df377236cf4bab8e0594096fed7936207205c5 aioconsole-0.3.0.tar.gz +md5 105adca78033ef1f0b62d8e81d3efcac aioconsole-0.4.1.tar.gz +sha256 0c0acb66b4e72d6606c9fa14ac9eb001a222c37c885b8fbdf65f41824cfa855f aioconsole-0.4.1.tar.gz +# Locally computed sha256 checksums +sha256 fe3eea6c599e23a00c08c5f5cb2320c30adc8f8687db5fcec9b79a662c53ff6b LICENSE diff --git a/package/python-aioconsole/python-aioconsole.mk b/package/python-aioconsole/python-aioconsole.mk index 5c26d863c0a..a58fd33a615 100644 --- a/package/python-aioconsole/python-aioconsole.mk +++ b/package/python-aioconsole/python-aioconsole.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_AIOCONSOLE_VERSION = 0.3.0 +PYTHON_AIOCONSOLE_VERSION = 0.4.1 PYTHON_AIOCONSOLE_SOURCE = aioconsole-$(PYTHON_AIOCONSOLE_VERSION).tar.gz -PYTHON_AIOCONSOLE_SITE = https://files.pythonhosted.org/packages/d1/bc/2e52bd41293e63d95fcb6c5de406d43ccbb91255a48feaa22c1b8e2e4a40 +PYTHON_AIOCONSOLE_SITE = https://files.pythonhosted.org/packages/c5/16/a9de89d859eeaa0f9fdf5675a97ea1416265e1ebc039c7b9ea2c9e5433ac PYTHON_AIOCONSOLE_SETUP_TYPE = setuptools PYTHON_AIOCONSOLE_LICENSE = GPL-3.0 +PYTHON_AIOCONSOLE_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-aiodns/Config.in b/package/python-aiodns/Config.in index aa5970598f8..63c24293901 100644 --- a/package/python-aiodns/Config.in +++ b/package/python-aiodns/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIODNS bool "python-aiodns" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_PYCARES # runtime help Simple DNS resolver for asyncio. diff --git a/package/python-aiodns/python-aiodns.hash b/package/python-aiodns/python-aiodns.hash index c9511ce776a..2cdedc6f95f 100644 --- a/package/python-aiodns/python-aiodns.hash +++ b/package/python-aiodns/python-aiodns.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiodns/json -md5 3e121f9eb7ef3ba3556ba7ec28c6f63a aiodns-2.0.0.tar.gz -sha256 815fdef4607474295d68da46978a54481dd1e7be153c7d60f9e72773cd38d77d aiodns-2.0.0.tar.gz +md5 181e11935c78965de2b2b7b0e5efba8d aiodns-3.0.0.tar.gz +sha256 946bdfabe743fceeeb093c8a010f5d1645f708a241be849e17edfb0e49e08cd6 aiodns-3.0.0.tar.gz # Locally computed sha256 checksums -sha256 eb0455d35129425ed399883cd710923de3e246a510e2eb84d9f00032d0bbec97 LICENSE +sha256 eb0455d35129425ed399883cd710923de3e246a510e2eb84d9f00032d0bbec97 LICENSE diff --git a/package/python-aiodns/python-aiodns.mk b/package/python-aiodns/python-aiodns.mk index f02b4b75a33..2318dcab3a5 100644 --- a/package/python-aiodns/python-aiodns.mk +++ b/package/python-aiodns/python-aiodns.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIODNS_VERSION = 2.0.0 +PYTHON_AIODNS_VERSION = 3.0.0 PYTHON_AIODNS_SOURCE = aiodns-$(PYTHON_AIODNS_VERSION).tar.gz -PYTHON_AIODNS_SITE = https://files.pythonhosted.org/packages/30/2e/b86ce168485b68d40c6a810838669deacf0abf41845c383659c2b613e69f +PYTHON_AIODNS_SITE = https://files.pythonhosted.org/packages/27/79/df72e25df0fdd9bf5a5ab068539731d27c5f2ae5654621ae0c92ceca94cf PYTHON_AIODNS_SETUP_TYPE = setuptools PYTHON_AIODNS_LICENSE = MIT PYTHON_AIODNS_LICENSE_FILES = LICENSE diff --git a/package/python-aiofiles/Config.in b/package/python-aiofiles/Config.in index 9cc3d7fe59f..1e6add53585 100644 --- a/package/python-aiofiles/Config.in +++ b/package/python-aiofiles/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOFILES bool "python-aiofiles" - depends on BR2_PACKAGE_PYTHON3 help aiofiles aims to handle local disk files in asyncio applications. diff --git a/package/python-aiofiles/python-aiofiles.hash b/package/python-aiofiles/python-aiofiles.hash index 3c3e8565a3c..268136a406d 100644 --- a/package/python-aiofiles/python-aiofiles.hash +++ b/package/python-aiofiles/python-aiofiles.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiofiles/json -md5 2243eff06072115e8afe8907677ca51d aiofiles-0.5.0.tar.gz -sha256 98e6bcfd1b50f97db4980e182ddd509b7cc35909e903a8fe50d8849e02d815af aiofiles-0.5.0.tar.gz +md5 697deeb4fdcb620c45f114f173ed7c0d aiofiles-0.8.0.tar.gz +sha256 8334f23235248a3b2e83b2c3a78a22674f39969b96397126cc93664d9a901e59 aiofiles-0.8.0.tar.gz # Locally computed sha256 checksums sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/python-aiofiles/python-aiofiles.mk b/package/python-aiofiles/python-aiofiles.mk index 28f41e39677..996e5eb6c03 100644 --- a/package/python-aiofiles/python-aiofiles.mk +++ b/package/python-aiofiles/python-aiofiles.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOFILES_VERSION = 0.5.0 +PYTHON_AIOFILES_VERSION = 0.8.0 PYTHON_AIOFILES_SOURCE = aiofiles-$(PYTHON_AIOFILES_VERSION).tar.gz -PYTHON_AIOFILES_SITE = https://files.pythonhosted.org/packages/2b/64/437053d6a4ba3b3eea1044131a25b458489320cb9609e19ac17261e4dc9b +PYTHON_AIOFILES_SITE = https://files.pythonhosted.org/packages/10/ca/c416cfacf6a47e1400dad56eab85aa86c92c6fbe58447d12035e434f0d5c PYTHON_AIOFILES_SETUP_TYPE = setuptools PYTHON_AIOFILES_LICENSE = Apache-2.0 PYTHON_AIOFILES_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-cors/Config.in b/package/python-aiohttp-cors/Config.in index 1c97cf3f878..dea3b440807 100644 --- a/package/python-aiohttp-cors/Config.in +++ b/package/python-aiohttp-cors/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_CORS bool "python-aiohttp-cors" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help CORS support for aiohttp. diff --git a/package/python-aiohttp-debugtoolbar/Config.in b/package/python-aiohttp-debugtoolbar/Config.in index b22d2cf9468..e2fede8065c 100644 --- a/package/python-aiohttp-debugtoolbar/Config.in +++ b/package/python-aiohttp-debugtoolbar/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_DEBUGTOOLBAR bool "python-aiohttp-debugtoolbar" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime select BR2_PACKAGE_PYTHON_AIOHTTP_JINJA2 # runtime help diff --git a/package/python-aiohttp-jinja2/Config.in b/package/python-aiohttp-jinja2/Config.in index dd4bb0d23b9..a536825b7ea 100644 --- a/package/python-aiohttp-jinja2/Config.in +++ b/package/python-aiohttp-jinja2/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_JINJA2 bool "python-aiohttp-jinja2" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime select BR2_PACKAGE_PYTHON_JINJA2 # runtime help diff --git a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash index 44e2ae463fc..fbf244e4703 100644 --- a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash +++ b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-jinja2/json -md5 d474a6440ac906a9d818a03a540830ba aiohttp-jinja2-1.4.2.tar.gz -sha256 9c22a0e48e3b277fc145c67dd8c3b8f609dab36bce9eb337f70dfe716663c9a0 aiohttp-jinja2-1.4.2.tar.gz +md5 50f74689fd60a5bc0b0a74545277e9bc aiohttp-jinja2-1.5.tar.gz +sha256 7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b aiohttp-jinja2-1.5.tar.gz # Locally computed sha256 checksums sha256 d9d867affaeac220a60381cc544681dcd37c668ed6ea5ddbf9948617f828889a LICENSE diff --git a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk index 724acdb601a..371b4f0b3ea 100644 --- a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk +++ b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOHTTP_JINJA2_VERSION = 1.4.2 +PYTHON_AIOHTTP_JINJA2_VERSION = 1.5 PYTHON_AIOHTTP_JINJA2_SOURCE = aiohttp-jinja2-$(PYTHON_AIOHTTP_JINJA2_VERSION).tar.gz -PYTHON_AIOHTTP_JINJA2_SITE = https://files.pythonhosted.org/packages/da/4f/3b1a0c7177fdb0417308a95bfa8340f19cf84b44f8f2d734cd3052f56644 +PYTHON_AIOHTTP_JINJA2_SITE = https://files.pythonhosted.org/packages/15/d7/8bdbdb65e2926de332d3c430839d655db61d30a7b5a4a9b2edafbeb3aa20 PYTHON_AIOHTTP_JINJA2_SETUP_TYPE = setuptools PYTHON_AIOHTTP_JINJA2_LICENSE = Apache-2.0 PYTHON_AIOHTTP_JINJA2_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-mako/Config.in b/package/python-aiohttp-mako/Config.in index 8c5df6a4812..4dae5d95ad2 100644 --- a/package/python-aiohttp-mako/Config.in +++ b/package/python-aiohttp-mako/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_MAKO bool "python-aiohttp-mako" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime select BR2_PACKAGE_PYTHON_MAKO # runtime help diff --git a/package/python-aiohttp-remotes/Config.in b/package/python-aiohttp-remotes/Config.in index e44696ba1e4..7208e373ad8 100644 --- a/package/python-aiohttp-remotes/Config.in +++ b/package/python-aiohttp-remotes/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_REMOTES bool "python-aiohttp-remotes" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help Control remote side information. diff --git a/package/python-aiohttp-remotes/python-aiohttp-remotes.hash b/package/python-aiohttp-remotes/python-aiohttp-remotes.hash index a9a6cad2dfc..595340d5d87 100644 --- a/package/python-aiohttp-remotes/python-aiohttp-remotes.hash +++ b/package/python-aiohttp-remotes/python-aiohttp-remotes.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-remotes/json -md5 e90fad4b7aa088207f831698fddd9eea aiohttp_remotes-1.0.0.tar.gz -sha256 caec1681de70bac82daa676078d9b125758fb3952fdaa893a6b42bdd995562ef aiohttp_remotes-1.0.0.tar.gz +md5 da13880f25ec3b9cf98c7baff92835a2 aiohttp_remotes-1.1.0.tar.gz +sha256 e44f2c5fd5fc3305477c89bb25f14570589100cc58c48b36745d4239839d3174 aiohttp_remotes-1.1.0.tar.gz # Locally computed sha256 checksums sha256 4e7d0edf250abe2a28027788b8c55a53d1b5c9ff961b8a00643c76aed637ba13 LICENSE diff --git a/package/python-aiohttp-remotes/python-aiohttp-remotes.mk b/package/python-aiohttp-remotes/python-aiohttp-remotes.mk index f04cecd89da..e2bc3e1c180 100644 --- a/package/python-aiohttp-remotes/python-aiohttp-remotes.mk +++ b/package/python-aiohttp-remotes/python-aiohttp-remotes.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOHTTP_REMOTES_VERSION = 1.0.0 +PYTHON_AIOHTTP_REMOTES_VERSION = 1.1.0 PYTHON_AIOHTTP_REMOTES_SOURCE = aiohttp_remotes-$(PYTHON_AIOHTTP_REMOTES_VERSION).tar.gz -PYTHON_AIOHTTP_REMOTES_SITE = https://files.pythonhosted.org/packages/40/b6/1178bd1e26e88f9f29b7d1bbfae7b38d39ec9cf787d4685f83ade2e7aa7f +PYTHON_AIOHTTP_REMOTES_SITE = https://files.pythonhosted.org/packages/e3/fc/5523010172e2d8685a8934fbb49d564118c9ebc1e4233a62b77310f979db PYTHON_AIOHTTP_REMOTES_SETUP_TYPE = distutils PYTHON_AIOHTTP_REMOTES_LICENSE = MIT PYTHON_AIOHTTP_REMOTES_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-security/Config.in b/package/python-aiohttp-security/Config.in index f92c4585846..96204d7e225 100644 --- a/package/python-aiohttp-security/Config.in +++ b/package/python-aiohttp-security/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_SECURITY bool "python-aiohttp-security" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help Security for aiohttp.web. diff --git a/package/python-aiohttp-session/Config.in b/package/python-aiohttp-session/Config.in index c148165f003..99c01794a74 100644 --- a/package/python-aiohttp-session/Config.in +++ b/package/python-aiohttp-session/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_SESSION bool "python-aiohttp-session" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help Sessions for aiohttp.web. diff --git a/package/python-aiohttp-session/python-aiohttp-session.hash b/package/python-aiohttp-session/python-aiohttp-session.hash index f10827b6165..8b443183072 100644 --- a/package/python-aiohttp-session/python-aiohttp-session.hash +++ b/package/python-aiohttp-session/python-aiohttp-session.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-session/json -md5 993ec277ece4765472d0edc0f6c0bba3 aiohttp-session-2.9.0.tar.gz -sha256 959413468b84e30e7ca09719617cfb0000066a2e0f6c20062d043433e82aeb74 aiohttp-session-2.9.0.tar.gz +md5 797273eb5f0ef9e95fa92c6a933cf4ad aiohttp-session-2.11.0.tar.gz +sha256 0fdf39600f6a05c4943ef6c7b099071ca9854413111a26761626244be5015dc4 aiohttp-session-2.11.0.tar.gz # Locally computed sha256 checksums -sha256 2a86817fedf0c52baaa47d7dd975073639dfaaebd37312bd279de54d7f841791 LICENSE +sha256 7bc5dd2f229a6b922befb1427fd4ad2c0b255f12c1b1869370ba77520dc22bc7 LICENSE diff --git a/package/python-aiohttp-session/python-aiohttp-session.mk b/package/python-aiohttp-session/python-aiohttp-session.mk index fa724fdb864..3d59b75e3de 100644 --- a/package/python-aiohttp-session/python-aiohttp-session.mk +++ b/package/python-aiohttp-session/python-aiohttp-session.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOHTTP_SESSION_VERSION = 2.9.0 +PYTHON_AIOHTTP_SESSION_VERSION = 2.11.0 PYTHON_AIOHTTP_SESSION_SOURCE = aiohttp-session-$(PYTHON_AIOHTTP_SESSION_VERSION).tar.gz -PYTHON_AIOHTTP_SESSION_SITE = https://files.pythonhosted.org/packages/f8/fe/53dfd35f5c7fcc7f2d0866cb29e722303e3fae7f749c1f3d4d11d361dc38 +PYTHON_AIOHTTP_SESSION_SITE = https://files.pythonhosted.org/packages/3b/a7/0b97b9a2e3a553a86a6703f86b0e9b1afb2b262849700e8f80015c0f643f PYTHON_AIOHTTP_SESSION_SETUP_TYPE = setuptools PYTHON_AIOHTTP_SESSION_LICENSE = Apache-2.0 PYTHON_AIOHTTP_SESSION_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-sse/Config.in b/package/python-aiohttp-sse/Config.in index 781bbf4de7c..6e408b7e125 100644 --- a/package/python-aiohttp-sse/Config.in +++ b/package/python-aiohttp-sse/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOHTTP_SSE bool "python-aiohttp-sse" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help Server-sent events support for aiohttp. diff --git a/package/python-aiohttp-sse/python-aiohttp-sse.hash b/package/python-aiohttp-sse/python-aiohttp-sse.hash index 2f21da462e7..224601450ca 100644 --- a/package/python-aiohttp-sse/python-aiohttp-sse.hash +++ b/package/python-aiohttp-sse/python-aiohttp-sse.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-sse/json -md5 d2f394fb75f591045b2c94fc17c8533d aiohttp-sse-2.0.0.tar.gz -sha256 547e1eaa129749f090d02b31956215edbcde74ce99721f5f0ac902a9ccb1202e aiohttp-sse-2.0.0.tar.gz +md5 822cd0c30325e8a711101c1a1ede4058 aiohttp-sse-2.1.0.tar.gz +sha256 dfe8f7271ab4470891fa1bfa1913d6889b3d19015dd3d3a4cab949e66971bbca aiohttp-sse-2.1.0.tar.gz # Locally computed sha256 checksums -sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE +sha256 5585eb91ec607b4fdbe97d44a61146a9cc27bb703336628bc3c6a1eaffe60307 LICENSE diff --git a/package/python-aiohttp-sse/python-aiohttp-sse.mk b/package/python-aiohttp-sse/python-aiohttp-sse.mk index 7a7a0d0a706..2aef1579f52 100644 --- a/package/python-aiohttp-sse/python-aiohttp-sse.mk +++ b/package/python-aiohttp-sse/python-aiohttp-sse.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOHTTP_SSE_VERSION = 2.0.0 +PYTHON_AIOHTTP_SSE_VERSION = 2.1.0 PYTHON_AIOHTTP_SSE_SOURCE = aiohttp-sse-$(PYTHON_AIOHTTP_SSE_VERSION).tar.gz -PYTHON_AIOHTTP_SSE_SITE = https://files.pythonhosted.org/packages/2b/50/e127729f7df53c32c96b5c71932a7262cad40c83f1e19c218b068c816d51 +PYTHON_AIOHTTP_SSE_SITE = https://files.pythonhosted.org/packages/2f/3f/cc4f5a3fe6cb50ad5b9d26bb7738c5da1f61645b517d4230df2fc32d89f0 PYTHON_AIOHTTP_SSE_SETUP_TYPE = setuptools PYTHON_AIOHTTP_SSE_LICENSE = Apache-2.0 PYTHON_AIOHTTP_SSE_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp/Config.in b/package/python-aiohttp/Config.in index 9ffea088e48..35c162b948d 100644 --- a/package/python-aiohttp/Config.in +++ b/package/python-aiohttp/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_AIOHTTP bool "python-aiohttp" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIODNS # runtime + select BR2_PACKAGE_PYTHON_AIOSIGNAL # runtime select BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT # runtime select BR2_PACKAGE_PYTHON_ATTRS # runtime select BR2_PACKAGE_PYTHON_CCHARDET if BR2_INSTALL_LIBSTDCPP # runtime diff --git a/package/python-aiohttp/python-aiohttp.hash b/package/python-aiohttp/python-aiohttp.hash index db7dfd6b155..b2b0f8c9379 100644 --- a/package/python-aiohttp/python-aiohttp.hash +++ b/package/python-aiohttp/python-aiohttp.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp/json -md5 586eb4e4dcb1e41242ede0c5bcfd4014 aiohttp-3.7.4.tar.gz -sha256 5d84ecc73141d0a0d61ece0742bb7ff5751b0657dab8405f899d3ceb104cc7de aiohttp-3.7.4.tar.gz +md5 faf7726dc65a940272874c0f441e8ec6 aiohttp-3.8.1.tar.gz +sha256 fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578 aiohttp-3.8.1.tar.gz # Locally computed sha256 checksums -sha256 96627bed0ad08e9b2efa9f4e04e80837cd0550e7694a0fec33b1dab2550282ab LICENSE.txt +sha256 383c70c090b60ae81e035fe4fafed689b45c4421cd3bc355f1bd41ac208ccf3f LICENSE.txt diff --git a/package/python-aiohttp/python-aiohttp.mk b/package/python-aiohttp/python-aiohttp.mk index f1e755c023c..5a2d3064388 100644 --- a/package/python-aiohttp/python-aiohttp.mk +++ b/package/python-aiohttp/python-aiohttp.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_AIOHTTP_VERSION = 3.7.4 +PYTHON_AIOHTTP_VERSION = 3.8.1 PYTHON_AIOHTTP_SOURCE = aiohttp-$(PYTHON_AIOHTTP_VERSION).tar.gz -PYTHON_AIOHTTP_SITE = https://files.pythonhosted.org/packages/7a/95/eb60aaad7943e18c9d091de93c9b0b5ed40aa67c7d5e3c5ee9b36f100a38 +PYTHON_AIOHTTP_SITE = https://files.pythonhosted.org/packages/5a/86/5f63de7a202550269a617a5d57859a2961f3396ecd1739a70b92224766bc PYTHON_AIOHTTP_SETUP_TYPE = setuptools PYTHON_AIOHTTP_LICENSE = Apache-2.0 PYTHON_AIOHTTP_LICENSE_FILES = LICENSE.txt +PYTHON_AIOHTTP_CPE_ID_VENDOR = aiohttp_project +PYTHON_AIOHTTP_CPE_ID_PRODUCT = aiohttp $(eval $(python-package)) diff --git a/package/python-aiojobs/Config.in b/package/python-aiojobs/Config.in index ab61985164f..0cdd1c106f2 100644 --- a/package/python-aiojobs/Config.in +++ b/package/python-aiojobs/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOJOBS bool "python-aiojobs" - depends on BR2_PACKAGE_PYTHON3 help Jobs scheduler for managing background task (asyncio). diff --git a/package/python-aiojobs/python-aiojobs.hash b/package/python-aiojobs/python-aiojobs.hash index 56a8bb111c9..44bf20c4280 100644 --- a/package/python-aiojobs/python-aiojobs.hash +++ b/package/python-aiojobs/python-aiojobs.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiojobs/json -md5 8fd929e4ef9bc6560c675a5b11ac6077 aiojobs-0.2.2.tar.gz -sha256 8e4b3e3d1bdb970bdaf8f8cd5eb4e4ff3e0e01a4abd22b4f73a87002a5ae4005 aiojobs-0.2.2.tar.gz +md5 d537fefca047067255758d7cb9e39db8 aiojobs-0.3.0.tar.gz +sha256 f6631d42dc4308f7d883abbd70d4e976f3fcc35a3ba1e8eae5d4af4940a1e0c3 aiojobs-0.3.0.tar.gz # Locally computed sha256 checksums -sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/python-aiojobs/python-aiojobs.mk b/package/python-aiojobs/python-aiojobs.mk index 7a95f9908ff..5d9a19eb8cf 100644 --- a/package/python-aiojobs/python-aiojobs.mk +++ b/package/python-aiojobs/python-aiojobs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOJOBS_VERSION = 0.2.2 +PYTHON_AIOJOBS_VERSION = 0.3.0 PYTHON_AIOJOBS_SOURCE = aiojobs-$(PYTHON_AIOJOBS_VERSION).tar.gz -PYTHON_AIOJOBS_SITE = https://files.pythonhosted.org/packages/57/c5/9eb091930d6574002d1721dab5ca15a1bd69ed5dc8e654159d27223cdd3b +PYTHON_AIOJOBS_SITE = https://files.pythonhosted.org/packages/da/09/76d9c0d66d2fd1333835f110cd85f7456de7cf3f60425e3b283fba562731 PYTHON_AIOJOBS_SETUP_TYPE = distutils PYTHON_AIOJOBS_LICENSE = Apache-2.0 PYTHON_AIOJOBS_LICENSE_FILES = LICENSE diff --git a/package/python-aiologstash/Config.in b/package/python-aiologstash/Config.in index e70c232fd29..ce7ebe03cd1 100644 --- a/package/python-aiologstash/Config.in +++ b/package/python-aiologstash/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOLOGSTASH bool "python-aiologstash" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT # runtime select BR2_PACKAGE_PYTHON_LOGSTASH # runtime help diff --git a/package/python-aiomonitor/Config.in b/package/python-aiomonitor/Config.in index c76c952c82c..435900ae32e 100644 --- a/package/python-aiomonitor/Config.in +++ b/package/python-aiomonitor/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOMONITOR bool "python-aiomonitor" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_TERMINALTABLES # runtime select BR2_PACKAGE_PYTHON_AIOCONSOLE # runtime help diff --git a/package/python-aioprocessing/Config.in b/package/python-aioprocessing/Config.in new file mode 100644 index 00000000000..381805c7591 --- /dev/null +++ b/package/python-aioprocessing/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_AIOPROCESSING + bool "python-aioprocessing" + help + A Python 3.5+ library that integrates the multiprocessing + module with asyncio. + + https://github.com/dano/aioprocessing diff --git a/package/python-aioprocessing/python-aioprocessing.hash b/package/python-aioprocessing/python-aioprocessing.hash new file mode 100644 index 00000000000..cf92a72d4a0 --- /dev/null +++ b/package/python-aioprocessing/python-aioprocessing.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aioprocessing/json +md5 838b6aa073f1373bd42204f86b0e3196 aioprocessing-2.0.0.tar.gz +sha256 469dfb746e8c4e0c727ba135cfabf9e034c554f6a73c27f908bfe3625dd74b9e aioprocessing-2.0.0.tar.gz +# Locally computed sha256 checksums +sha256 53c809e8f0b91a68a39477e5fbdf77fe2b74dd6a1647c2dd9b7b22fed135239e LICENSE.txt diff --git a/package/python-aioprocessing/python-aioprocessing.mk b/package/python-aioprocessing/python-aioprocessing.mk new file mode 100644 index 00000000000..e1e919de2d3 --- /dev/null +++ b/package/python-aioprocessing/python-aioprocessing.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aioprocessing +# +################################################################################ + +PYTHON_AIOPROCESSING_VERSION = 2.0.0 +PYTHON_AIOPROCESSING_SOURCE = aioprocessing-$(PYTHON_AIOPROCESSING_VERSION).tar.gz +PYTHON_AIOPROCESSING_SITE = https://files.pythonhosted.org/packages/8e/3e/54266241660fb026bfd27f660d44cd81a4b7f8a145d8e2db010de12622a0 +PYTHON_AIOPROCESSING_SETUP_TYPE = setuptools +PYTHON_AIOPROCESSING_LICENSE = BSD-2-Clause +PYTHON_AIOPROCESSING_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-aioredis/Config.in b/package/python-aioredis/Config.in index dc2ee01d9a6..46ed2c7a469 100644 --- a/package/python-aioredis/Config.in +++ b/package/python-aioredis/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOREDIS bool "python-aioredis" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT # runtime select BR2_PACKAGE_PYTHON_HIREDIS # runtime help diff --git a/package/python-aioredis/python-aioredis.hash b/package/python-aioredis/python-aioredis.hash index 7162890c4cf..29e6361014f 100644 --- a/package/python-aioredis/python-aioredis.hash +++ b/package/python-aioredis/python-aioredis.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aioredis/json -md5 950d2092ad96bb1145e9af7bd780fe38 aioredis-1.3.1.tar.gz -sha256 15f8af30b044c771aee6787e5ec24694c048184c7b9e54c3b60c750a4b93273a aioredis-1.3.1.tar.gz +md5 8f3547af83ef4b863b18c19f23166a9d aioredis-2.0.1.tar.gz +sha256 eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e aioredis-2.0.1.tar.gz # Locally computed sha256 checksums -sha256 a288b4f41b5531ff7e9e2df9cd3f17a1844badebc52d7a9205b131f8b8a50744 LICENSE +sha256 183b21f240e41af611c951d01d4f36793d470a82d5fd79efc21f25ae4cf68543 LICENSE diff --git a/package/python-aioredis/python-aioredis.mk b/package/python-aioredis/python-aioredis.mk index 750f37b6b26..798dbd0c3c3 100644 --- a/package/python-aioredis/python-aioredis.mk +++ b/package/python-aioredis/python-aioredis.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOREDIS_VERSION = 1.3.1 +PYTHON_AIOREDIS_VERSION = 2.0.1 PYTHON_AIOREDIS_SOURCE = aioredis-$(PYTHON_AIOREDIS_VERSION).tar.gz -PYTHON_AIOREDIS_SITE = https://files.pythonhosted.org/packages/2c/2a/662e5e79dde5d00964b995d50e38ecdefeeeb09b37edafff193c7e850f46 +PYTHON_AIOREDIS_SITE = https://files.pythonhosted.org/packages/2e/cf/9eb144a0b05809ffc5d29045c4b51039000ea275bc1268d0351c9e7dfc06 PYTHON_AIOREDIS_SETUP_TYPE = setuptools PYTHON_AIOREDIS_LICENSE = MIT PYTHON_AIOREDIS_LICENSE_FILES = LICENSE diff --git a/package/python-aiorwlock/Config.in b/package/python-aiorwlock/Config.in index afdc27dd6ff..3b61890555f 100644 --- a/package/python-aiorwlock/Config.in +++ b/package/python-aiorwlock/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIORWLOCK bool "python-aiorwlock" - depends on BR2_PACKAGE_PYTHON3 help Read write lock for asyncio. diff --git a/package/python-aiorwlock/python-aiorwlock.hash b/package/python-aiorwlock/python-aiorwlock.hash index 2398b154244..15584a8a41b 100644 --- a/package/python-aiorwlock/python-aiorwlock.hash +++ b/package/python-aiorwlock/python-aiorwlock.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiorwlock/json -md5 8d89ed0d80820aad8d9320204779fd62 aiorwlock-1.0.0.tar.gz -sha256 4f773e31d78037e3ec27056a22200af482768b43da66e2cc33dd64aa5ea6518a aiorwlock-1.0.0.tar.gz +md5 28e4812a1d1d67a2be4370209ece5528 aiorwlock-1.3.0.tar.gz +sha256 83f12d87df4b9728a0b8fda1756585ab0d652b107bab59c6084e1b1ad692ab45 aiorwlock-1.3.0.tar.gz # Locally computed sha256 checksums sha256 fa99ee9d7727194a9f8994c67d1948dc42e8e00ab809fd4a47acfae119d11403 LICENSE diff --git a/package/python-aiorwlock/python-aiorwlock.mk b/package/python-aiorwlock/python-aiorwlock.mk index f6f3c974047..a5e7eeae837 100644 --- a/package/python-aiorwlock/python-aiorwlock.mk +++ b/package/python-aiorwlock/python-aiorwlock.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIORWLOCK_VERSION = 1.0.0 +PYTHON_AIORWLOCK_VERSION = 1.3.0 PYTHON_AIORWLOCK_SOURCE = aiorwlock-$(PYTHON_AIORWLOCK_VERSION).tar.gz -PYTHON_AIORWLOCK_SITE = https://files.pythonhosted.org/packages/40/af/e55b3266352f3383c723e0a3304b0df46a59dfc6235b0b1a0a416afd60c1 +PYTHON_AIORWLOCK_SITE = https://files.pythonhosted.org/packages/77/fe/7027595f5e635ac1f597f7160a420e1f642a474576efb697001efea16bdc PYTHON_AIORWLOCK_SETUP_TYPE = setuptools PYTHON_AIORWLOCK_LICENSE = Apache-2.0 PYTHON_AIORWLOCK_LICENSE_FILES = LICENSE diff --git a/package/python-aiosignal/Config.in b/package/python-aiosignal/Config.in index 6b7753defd1..9bb2998304b 100644 --- a/package/python-aiosignal/Config.in +++ b/package/python-aiosignal/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOSIGNAL bool "python-aiosignal" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_FROZENLIST # runtime help aiosignal: a list of registered asynchronous callbacks. diff --git a/package/python-aiosignal/python-aiosignal.hash b/package/python-aiosignal/python-aiosignal.hash index 17c69c8144f..f2a09749b80 100644 --- a/package/python-aiosignal/python-aiosignal.hash +++ b/package/python-aiosignal/python-aiosignal.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiosignal/json -md5 0831ab9e46799842ed84529dbaa86196 aiosignal-1.0.0.tar.gz -sha256 7cd33cbe05bc2d83e77f80d688b4717e424d15eecf6d65384e173b2873e62f13 aiosignal-1.0.0.tar.gz +md5 011700c3acc576a3a38deade6a4860cb aiosignal-1.2.0.tar.gz +sha256 78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2 aiosignal-1.2.0.tar.gz # Locally computed sha256 checksums -sha256 6fd5243e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 LICENSE.txt +sha256 6fd5243e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 LICENSE diff --git a/package/python-aiosignal/python-aiosignal.mk b/package/python-aiosignal/python-aiosignal.mk index 14b4264620f..e0436e973ed 100644 --- a/package/python-aiosignal/python-aiosignal.mk +++ b/package/python-aiosignal/python-aiosignal.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_AIOSIGNAL_VERSION = 1.0.0 +PYTHON_AIOSIGNAL_VERSION = 1.2.0 PYTHON_AIOSIGNAL_SOURCE = aiosignal-$(PYTHON_AIOSIGNAL_VERSION).tar.gz -PYTHON_AIOSIGNAL_SITE = https://files.pythonhosted.org/packages/ca/b7/5ae01ed039ea51cc8280d87b8a1269ba2f1343d7466c1e50c618558352e5 +PYTHON_AIOSIGNAL_SITE = https://files.pythonhosted.org/packages/27/6b/a89fbcfae70cf53f066ec22591938296889d3cc58fec1e1c393b10e8d71d PYTHON_AIOSIGNAL_SETUP_TYPE = setuptools PYTHON_AIOSIGNAL_LICENSE = Apache-2.0 -PYTHON_AIOSIGNAL_LICENSE_FILES = LICENSE.txt +PYTHON_AIOSIGNAL_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-aiozipkin/Config.in b/package/python-aiozipkin/Config.in index 643fc9a4da6..6ce6d86b6e8 100644 --- a/package/python-aiozipkin/Config.in +++ b/package/python-aiozipkin/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOZIPKIN bool "python-aiozipkin" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help Distributed tracing instrumentation for asyncio application diff --git a/package/python-aiozipkin/python-aiozipkin.hash b/package/python-aiozipkin/python-aiozipkin.hash index af07285c238..d1563b20bc8 100644 --- a/package/python-aiozipkin/python-aiozipkin.hash +++ b/package/python-aiozipkin/python-aiozipkin.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiozipkin/json -md5 7be9acaa48d4d4dc14abcc79edfd6c16 aiozipkin-0.7.1.tar.gz -sha256 aa99984832225378d900a5cd0d4e8e89af7ec9f359612c2e311f55b9039ed501 aiozipkin-0.7.1.tar.gz +md5 0fea8a200ab2a94fe9a2340a8cbf8512 aiozipkin-1.1.1.tar.gz +sha256 9b82619d9ef309e72627a81ab3fda0c9b83e530844cf59f2e9a011e9a2a1293f aiozipkin-1.1.1.tar.gz # Locally computed sha256 checksums -sha256 9b42fe3a288996988c552e387e7877be7525a1649e62086aedd6b32d3cb56365 LICENSE +sha256 98397c300949e0cc1ddc68b0e48e67b10f2d0a4ffada4903d891a1315fe04156 LICENSE diff --git a/package/python-aiozipkin/python-aiozipkin.mk b/package/python-aiozipkin/python-aiozipkin.mk index e351dbacfee..06ea9ef1a47 100644 --- a/package/python-aiozipkin/python-aiozipkin.mk +++ b/package/python-aiozipkin/python-aiozipkin.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOZIPKIN_VERSION = 0.7.1 +PYTHON_AIOZIPKIN_VERSION = 1.1.1 PYTHON_AIOZIPKIN_SOURCE = aiozipkin-$(PYTHON_AIOZIPKIN_VERSION).tar.gz -PYTHON_AIOZIPKIN_SITE = https://files.pythonhosted.org/packages/9e/33/120925f90470b7f52f46e2b9f71caf2514e389f42b3ed3b62f6389baee95 +PYTHON_AIOZIPKIN_SITE = https://files.pythonhosted.org/packages/f2/fe/26a60a7c9e91c968eac5dacab2948ed931a676880a6878695ff281c72b8f PYTHON_AIOZIPKIN_SETUP_TYPE = setuptools PYTHON_AIOZIPKIN_LICENSE = Apache-2.0 PYTHON_AIOZIPKIN_LICENSE_FILES = LICENSE diff --git a/package/python-argon2-cffi-bindings/Config.in b/package/python-argon2-cffi-bindings/Config.in new file mode 100644 index 00000000000..2e6a4a6c961 --- /dev/null +++ b/package/python-argon2-cffi-bindings/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_ARGON2_CFFI_BINDINGS + bool "python-argon2-cffi-bindings" + depends on BR2_USE_MMU # libargon2 + depends on !BR2_STATIC_LIBS # libargon2 + select BR2_PACKAGE_PYTHON_CFFI # runtime + select BR2_PACKAGE_LIBARGON2 + help + Low-level CFFI bindings for Argon2. + + https://github.com/hynek/argon2-cffi-bindings diff --git a/package/python-argon2-cffi-bindings/python-argon2-cffi-bindings.hash b/package/python-argon2-cffi-bindings/python-argon2-cffi-bindings.hash new file mode 100644 index 00000000000..e088d3dad16 --- /dev/null +++ b/package/python-argon2-cffi-bindings/python-argon2-cffi-bindings.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/argon2-cffi-bindings/json +md5 f1591e1af7dea9ef3e5b982e2c196c1d argon2-cffi-bindings-21.2.0.tar.gz +sha256 bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3 argon2-cffi-bindings-21.2.0.tar.gz +# Locally computed sha256 checksums +sha256 9c158d4f433627f48ac24b6b4d37970afe4172514673c5318014d7cca157c6df LICENSE diff --git a/package/python-argon2-cffi-bindings/python-argon2-cffi-bindings.mk b/package/python-argon2-cffi-bindings/python-argon2-cffi-bindings.mk new file mode 100644 index 00000000000..f0d71e803aa --- /dev/null +++ b/package/python-argon2-cffi-bindings/python-argon2-cffi-bindings.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# python-argon2-cffi-bindings +# +################################################################################ + +PYTHON_ARGON2_CFFI_BINDINGS_VERSION = 21.2.0 +PYTHON_ARGON2_CFFI_BINDINGS_SOURCE = argon2-cffi-bindings-$(PYTHON_ARGON2_CFFI_BINDINGS_VERSION).tar.gz +PYTHON_ARGON2_CFFI_BINDINGS_SITE = https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e +PYTHON_ARGON2_CFFI_BINDINGS_SETUP_TYPE = setuptools +PYTHON_ARGON2_CFFI_BINDINGS_LICENSE = MIT +PYTHON_ARGON2_CFFI_BINDINGS_LICENSE_FILES = LICENSE +PYTHON_ARGON2_CFFI_BINDINGS_DEPENDENCIES = \ + host-python-cffi \ + host-python-setuptools-scm \ + libargon2 +PYTHON_ARGON2_CFFI_BINDINGS_ENV = ARGON2_CFFI_USE_SYSTEM=1 + +ifeq ($(BR2_X86_CPU_HAS_SSE2),y) +PYTHON_ARGON2_CFFI_BINDINGS_ENV += ARGON2_CFFI_USE_SSE2=1 +else +PYTHON_ARGON2_CFFI_BINDINGS_ENV += ARGON2_CFFI_USE_SSE2=0 +endif + +$(eval $(python-package)) diff --git a/package/python-argon2-cffi/Config.in b/package/python-argon2-cffi/Config.in index 16bbe6c4e3e..5cddb3314e0 100644 --- a/package/python-argon2-cffi/Config.in +++ b/package/python-argon2-cffi/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_PYTHON_ARGON2_CFFI depends on BR2_USE_MMU # libargon2 depends on !BR2_STATIC_LIBS # libargon2 select BR2_PACKAGE_PYTHON_CFFI # runtime - select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_LIBARGON2 help diff --git a/package/python-argon2-cffi/python-argon2-cffi.hash b/package/python-argon2-cffi/python-argon2-cffi.hash index 730a9b6c44f..6c416ffd884 100644 --- a/package/python-argon2-cffi/python-argon2-cffi.hash +++ b/package/python-argon2-cffi/python-argon2-cffi.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/argon2_cffi/json -md5 e49ccb29351387fd853f31bf19b67f59 argon2-cffi-20.1.0.tar.gz -sha256 d8029b2d3e4b4cea770e9e5a0104dd8fa185c1724a0f01528ae4826a6d25f97d argon2-cffi-20.1.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/argon2-cffi/json +md5 f33bc18f2c2438f685ba1f0bbd2b86a4 argon2-cffi-21.1.0.tar.gz +sha256 f710b61103d1a1f692ca3ecbd1373e28aa5e545ac625ba067ff2feca1b2bb870 argon2-cffi-21.1.0.tar.gz # Locally computed sha256 checksums sha256 bf659a28b49240602f56bbdf490cbe2ec509b15b98f99d7b19a52c740e327863 LICENSE diff --git a/package/python-argon2-cffi/python-argon2-cffi.mk b/package/python-argon2-cffi/python-argon2-cffi.mk index 674e089eb78..f01c9405896 100644 --- a/package/python-argon2-cffi/python-argon2-cffi.mk +++ b/package/python-argon2-cffi/python-argon2-cffi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ARGON2_CFFI_VERSION = 20.1.0 +PYTHON_ARGON2_CFFI_VERSION = 21.1.0 PYTHON_ARGON2_CFFI_SOURCE = argon2-cffi-$(PYTHON_ARGON2_CFFI_VERSION).tar.gz -PYTHON_ARGON2_CFFI_SITE = https://files.pythonhosted.org/packages/74/fd/d78e003a79c453e8454197092fce9d1c6099445b7e7da0b04eb4fe1dbab7 +PYTHON_ARGON2_CFFI_SITE = https://files.pythonhosted.org/packages/7b/39/a26aaef5c3f0c6cfd67c80599b5b40a794fdab46f4ee3be925d71e2f9596 PYTHON_ARGON2_CFFI_SETUP_TYPE = setuptools PYTHON_ARGON2_CFFI_LICENSE = MIT PYTHON_ARGON2_CFFI_LICENSE_FILES = LICENSE diff --git a/package/python-arrow/Config.in b/package/python-arrow/Config.in index 14585568300..244956879cf 100644 --- a/package/python-arrow/Config.in +++ b/package/python-arrow/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PYTHON_ARROW bool "python-arrow" select BR2_PACKAGE_PYTHON_DATEUTIL # runtime - select BR2_PACKAGE_PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE \ - if BR2_PACKAGE_PYTHON # runtime help Better dates and times for Python. diff --git a/package/python-arrow/python-arrow.hash b/package/python-arrow/python-arrow.hash index 90e05332324..9216e1c26c0 100644 --- a/package/python-arrow/python-arrow.hash +++ b/package/python-arrow/python-arrow.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/arrow/json -md5 554f18b0e23182ee0e8cb2a882d2f607 arrow-0.15.2.tar.gz -sha256 10257c5daba1a88db34afa284823382f4963feca7733b9107956bed041aff24f arrow-0.15.2.tar.gz +md5 608682052926c7e5636285af0618ef38 arrow-1.2.0.tar.gz +sha256 16fc29bbd9e425e3eb0fef3018297910a0f4568f21116fc31771e2760a50e074 arrow-1.2.0.tar.gz # Locally computed sha256 checksums -sha256 a4b7601be50569c2c96a9818fc809b0149410c84c99714d60c9d4fb0ae861fa2 LICENSE +sha256 40d6e1255d7151f5f041a514725d3c94ffa8c1881e5a0c29b6bea93f03e2e3bb LICENSE diff --git a/package/python-arrow/python-arrow.mk b/package/python-arrow/python-arrow.mk index f8326288b21..a20ac8dbc7c 100644 --- a/package/python-arrow/python-arrow.mk +++ b/package/python-arrow/python-arrow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ARROW_VERSION = 0.15.2 +PYTHON_ARROW_VERSION = 1.2.0 PYTHON_ARROW_SOURCE = arrow-$(PYTHON_ARROW_VERSION).tar.gz -PYTHON_ARROW_SITE = https://files.pythonhosted.org/packages/43/0e/47416c54ad7742981bf77fdfc405987551ab14b181a6140c8cd2a5823872 +PYTHON_ARROW_SITE = https://files.pythonhosted.org/packages/dc/bd/2565b8533bb8cf66e10a9e68a1d489ad839799b2050f0635039e614e3b1a PYTHON_ARROW_SETUP_TYPE = setuptools PYTHON_ARROW_LICENSE = Apache-2.0 PYTHON_ARROW_LICENSE_FILES = LICENSE diff --git a/package/python-asgiref/Config.in b/package/python-asgiref/Config.in index e131f476c2e..d0b816c3697 100644 --- a/package/python-asgiref/Config.in +++ b/package/python-asgiref/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_ASGIREF bool "python-asgiref" - depends on BR2_PACKAGE_PYTHON3 help ASGI is a standard for Python asynchronous web apps and servers to communicate with each other, and positioned as diff --git a/package/python-asgiref/python-asgiref.hash b/package/python-asgiref/python-asgiref.hash index 782a13fe5c6..c349ad5a442 100644 --- a/package/python-asgiref/python-asgiref.hash +++ b/package/python-asgiref/python-asgiref.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/asgiref/json -md5 39218c10eee0bf66a3d893491d835e86 asgiref-3.2.3.tar.gz -sha256 7e06d934a7718bf3975acbf87780ba678957b87c7adc056f13b6215d610695a0 asgiref-3.2.3.tar.gz +md5 5afe03ecc39ae94950ff95e80166d945 asgiref-3.3.4.tar.gz +sha256 d1216dfbdfb63826470995d31caed36225dcaf34f182e0fa257a4dd9e86f1b78 asgiref-3.3.4.tar.gz # Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-asgiref/python-asgiref.mk b/package/python-asgiref/python-asgiref.mk index b29903509e4..0353f5d5a03 100644 --- a/package/python-asgiref/python-asgiref.mk +++ b/package/python-asgiref/python-asgiref.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASGIREF_VERSION = 3.2.3 +PYTHON_ASGIREF_VERSION = 3.3.4 PYTHON_ASGIREF_SOURCE = asgiref-$(PYTHON_ASGIREF_VERSION).tar.gz -PYTHON_ASGIREF_SITE = https://files.pythonhosted.org/packages/80/c4/83a01607f2d10024c172097126264c8e00c6a4827b35d631ece9625e6ba2 +PYTHON_ASGIREF_SITE = https://files.pythonhosted.org/packages/d8/3f/ef696a6d8254f182b1a089aeffb638d2eb83055e603146d3a40605c5b7da PYTHON_ASGIREF_SETUP_TYPE = setuptools PYTHON_ASGIREF_LICENSE = BSD-3-Clause PYTHON_ASGIREF_LICENSE_FILES = LICENSE diff --git a/package/python-asn1crypto/python-asn1crypto.hash b/package/python-asn1crypto/python-asn1crypto.hash index b00474bdcd5..fb2da94ed5a 100644 --- a/package/python-asn1crypto/python-asn1crypto.hash +++ b/package/python-asn1crypto/python-asn1crypto.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/asn1crypto/json -md5 daad112940181917e3ff169b47b9bd9a asn1crypto-1.3.0.tar.gz -sha256 5a215cb8dc12f892244e3a113fe05397ee23c5c4ca7a69cd6e69811755efc42d asn1crypto-1.3.0.tar.gz +md5 00bf5b72d37778e62cc73b1d8909ae27 asn1crypto-1.4.0.tar.gz +sha256 f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c asn1crypto-1.4.0.tar.gz # Locally computed sha256 checksums -sha256 a88480656ec98943fb04344f6a477ee74062896f3ddb1a6f99e5f05f0109a286 LICENSE +sha256 a88480656ec98943fb04344f6a477ee74062896f3ddb1a6f99e5f05f0109a286 LICENSE diff --git a/package/python-asn1crypto/python-asn1crypto.mk b/package/python-asn1crypto/python-asn1crypto.mk index 2d8d384cca6..af4e43b3d0a 100644 --- a/package/python-asn1crypto/python-asn1crypto.mk +++ b/package/python-asn1crypto/python-asn1crypto.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASN1CRYPTO_VERSION = 1.3.0 +PYTHON_ASN1CRYPTO_VERSION = 1.4.0 PYTHON_ASN1CRYPTO_SOURCE = asn1crypto-$(PYTHON_ASN1CRYPTO_VERSION).tar.gz -PYTHON_ASN1CRYPTO_SITE = https://files.pythonhosted.org/packages/9f/3d/8beae739ed8c1c8f00ceac0ab6b0e97299b42da869e24cf82851b27a9123 +PYTHON_ASN1CRYPTO_SITE = https://files.pythonhosted.org/packages/6b/b4/42f0e52ac2184a8abb31f0a6f98111ceee1aac0b473cee063882436e0e09 PYTHON_ASN1CRYPTO_SETUP_TYPE = setuptools PYTHON_ASN1CRYPTO_LICENSE = MIT PYTHON_ASN1CRYPTO_LICENSE_FILES = LICENSE diff --git a/package/python-async-lru/Config.in b/package/python-async-lru/Config.in index 794f504e5e6..dc44e8cd114 100644 --- a/package/python-async-lru/Config.in +++ b/package/python-async-lru/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_ASYNC_LRU bool "python-async-lru" - depends on BR2_PACKAGE_PYTHON3 help Simple lru_cache for asyncio. diff --git a/package/python-async-timeout/Config.in b/package/python-async-timeout/Config.in index 659a0fdecab..d19f15b3c6c 100644 --- a/package/python-async-timeout/Config.in +++ b/package/python-async-timeout/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT bool "python-async-timeout" - depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help asyncio-compatible timeout context manager. diff --git a/package/python-async-timeout/python-async-timeout.hash b/package/python-async-timeout/python-async-timeout.hash index f99e1daddb9..0ecf1ef5ae3 100644 --- a/package/python-async-timeout/python-async-timeout.hash +++ b/package/python-async-timeout/python-async-timeout.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.python.org/pypi/async_timeout/json -md5 305c4fa529f2485c403d0dbe14390175 async-timeout-3.0.1.tar.gz -sha256 0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f async-timeout-3.0.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/async-timeout/json +md5 10571272b2e0fab839ec23f8293bf482 async-timeout-4.0.2.tar.gz +sha256 2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 async-timeout-4.0.2.tar.gz # Locally computed sha256 checksums -sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE +sha256 e18d7bb8f513e2c46bb585c94b585bd30720dd3ccb21ddb0786f72d16658f92c LICENSE diff --git a/package/python-async-timeout/python-async-timeout.mk b/package/python-async-timeout/python-async-timeout.mk index 093adc5c19f..b3c5f79e45f 100644 --- a/package/python-async-timeout/python-async-timeout.mk +++ b/package/python-async-timeout/python-async-timeout.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASYNC_TIMEOUT_VERSION = 3.0.1 +PYTHON_ASYNC_TIMEOUT_VERSION = 4.0.2 PYTHON_ASYNC_TIMEOUT_SOURCE = async-timeout-$(PYTHON_ASYNC_TIMEOUT_VERSION).tar.gz -PYTHON_ASYNC_TIMEOUT_SITE = https://files.pythonhosted.org/packages/a1/78/aae1545aba6e87e23ecab8d212b58bb70e72164b67eb090b81bb17ad38e3 +PYTHON_ASYNC_TIMEOUT_SITE = https://files.pythonhosted.org/packages/54/6e/9678f7b2993537452710ffb1750c62d2c26df438aa621ad5fa9d1507a43a PYTHON_ASYNC_TIMEOUT_LICENSE = Apache-2.0 PYTHON_ASYNC_TIMEOUT_LICENSE_FILES = LICENSE PYTHON_ASYNC_TIMEOUT_SETUP_TYPE = setuptools diff --git a/package/python-attrs/python-attrs.hash b/package/python-attrs/python-attrs.hash index 38415957546..823a9459bd9 100644 --- a/package/python-attrs/python-attrs.hash +++ b/package/python-attrs/python-attrs.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/attrs/json -md5 5b2db50fcc31be34d32798183c9bd062 attrs-19.3.0.tar.gz -sha256 f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72 attrs-19.3.0.tar.gz -# Locally computed sha256 +md5 5a9b5e9ceebc380a13fb93235b11bbda attrs-21.4.0.tar.gz +sha256 626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd attrs-21.4.0.tar.gz +# Locally computed sha256 checksums sha256 bf659a28b49240602f56bbdf490cbe2ec509b15b98f99d7b19a52c740e327863 LICENSE diff --git a/package/python-attrs/python-attrs.mk b/package/python-attrs/python-attrs.mk index 72b280c333e..4877d622859 100644 --- a/package/python-attrs/python-attrs.mk +++ b/package/python-attrs/python-attrs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ATTRS_VERSION = 19.3.0 +PYTHON_ATTRS_VERSION = 21.4.0 PYTHON_ATTRS_SOURCE = attrs-$(PYTHON_ATTRS_VERSION).tar.gz -PYTHON_ATTRS_SITE = https://files.pythonhosted.org/packages/98/c3/2c227e66b5e896e15ccdae2e00bbc69aa46e9a8ce8869cc5fa96310bf612 +PYTHON_ATTRS_SITE = https://files.pythonhosted.org/packages/d7/77/ebb15fc26d0f815839ecd897b919ed6d85c050feeb83e100e020df9153d2 PYTHON_ATTRS_SETUP_TYPE = setuptools PYTHON_ATTRS_LICENSE = MIT PYTHON_ATTRS_LICENSE_FILES = LICENSE diff --git a/package/python-augeas/0001-Use-CFFI-in-out-of-line-API-mode-49.patch b/package/python-augeas/0001-Use-CFFI-in-out-of-line-API-mode-49.patch new file mode 100644 index 00000000000..da9093d7232 --- /dev/null +++ b/package/python-augeas/0001-Use-CFFI-in-out-of-line-API-mode-49.patch @@ -0,0 +1,101 @@ +From 9de73fefbe83c74840a93c039258845c49271b9b Mon Sep 17 00:00:00 2001 +From: Jeffery To +Date: Sun, 8 Nov 2020 21:51:09 +0800 +Subject: [PATCH] Use CFFI in out-of-line API mode (#49) + +Currently, ffi.py is called during setup to generate augeas.py; this +file would normally be used for out-of-line ABI mode. ffi.py is also +imported at run-time, instead of the generated augeas.py, and used in +in-line ABI mode. + +This changes usage of CFFI to out-of-line API mode (CFFI's "main mode of +usage"): ffi.py is called during setup to generate _augeas.abi3.so (a C +extension module); this generated module is imported at run-time. + +With this change, the headers/development files for augeas (i.e. +libaugeas-dev on Debian, augeas-devel on Fedora, etc.) and the C +compiler are required for build/setup. (These were not necessary +previously.) + +Closes https://github.com/hercules-team/python-augeas/issues/48. + +Upstream: commit 712c2028568df7760bc98d95577e35709078bfea +Signed-off-by: Thomas Petazzoni +--- + augeas/__init__.py | 2 +- + augeas/ffi.py | 27 ++++++++++++++++++++++----- + setup.py | 1 + + 3 files changed, 24 insertions(+), 6 deletions(-) + +diff --git a/augeas/__init__.py b/augeas/__init__.py +index 9bd97bf..1c0f580 100644 +--- a/augeas/__init__.py ++++ b/augeas/__init__.py +@@ -32,7 +32,7 @@ format and the transformation into a tree. + + from sys import version_info as _pyver + +-from augeas.ffi import ffi, lib ++from _augeas import ffi, lib + + __author__ = "Nathaniel McCallum " + __credits__ = """Jeff Schroeder +diff --git a/augeas/ffi.py b/augeas/ffi.py +index a24daf5..1931764 100644 +--- a/augeas/ffi.py ++++ b/augeas/ffi.py +@@ -1,9 +1,28 @@ ++import os ++import subprocess ++ + from cffi import FFI + ++def get_include_dirs(): ++ XML2_CONFIG = os.environ.get('XML2_CONFIG', 'xml2-config') ++ PKG_CONFIG = os.environ.get('PKG_CONFIG', 'pkg-config') ++ try: ++ stdout = subprocess.check_output([XML2_CONFIG, '--cflags']) ++ except (OSError, subprocess.CalledProcessError): ++ try: ++ stdout = subprocess.check_output([PKG_CONFIG, '--cflags', 'libxml-2.0']) ++ except (OSError, subprocess.CalledProcessError): ++ stdout = b'' ++ cflags = stdout.decode('utf-8').split() ++ return [cflag[2:] for cflag in cflags if cflag.startswith('-I')] ++ + ffi = FFI() +-ffi.set_source("augeas", +- None, +- libraries=['augeas']) ++ffi.set_source("_augeas", ++ """ ++ #include ++ """, ++ libraries=['augeas'], ++ include_dirs=get_include_dirs()) + + ffi.cdef(""" + typedef struct augeas augeas; +@@ -44,7 +63,5 @@ const char *aug_error_details(augeas *aug); + void free(void *); + """) + +-lib = ffi.dlopen("augeas") +- + if __name__ == "__main__": + ffi.compile(verbose=True) +diff --git a/setup.py b/setup.py +index 7d55877..17f9516 100755 +--- a/setup.py ++++ b/setup.py +@@ -22,6 +22,7 @@ setup(name=name, + setup_requires=["cffi>=1.0.0"], + cffi_modules=["augeas/ffi.py:ffi"], + install_requires=["cffi>=1.0.0"], ++ zip_safe=False, + url="http://augeas.net/", + classifiers=[ + "Programming Language :: Python :: 2.7", +-- +2.31.1 + diff --git a/package/python-augeas/Config.in b/package/python-augeas/Config.in new file mode 100644 index 00000000000..4ab2bd1b26e --- /dev/null +++ b/package/python-augeas/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_PYTHON_AUGEAS + bool "python-augeas" + depends on !BR2_arc + depends on BR2_USE_WCHAR + select BR2_PACKAGE_AUGEAS + select BR2_PACKAGE_PYTHON_CFFI # runtime + help + Pure python bindings for Augeas. + + https://github.com/hercules-team/python-augeas + +comment "python-augeas needs a toolchain w/ wchar" + depends on !BR2_arc + depends on !BR2_USE_WCHAR diff --git a/package/python-augeas/python-augeas.hash b/package/python-augeas/python-augeas.hash new file mode 100644 index 00000000000..f4f42098759 --- /dev/null +++ b/package/python-augeas/python-augeas.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 1a1d2cdaf2ad4c091ed5ec7976c52d16e14ecfbf40b1bdcaced2465255fb0f87 python-augeas-1.1.0.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/python-augeas/python-augeas.mk b/package/python-augeas/python-augeas.mk new file mode 100644 index 00000000000..7adaa84f493 --- /dev/null +++ b/package/python-augeas/python-augeas.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# python-augeas +# +################################################################################ + +PYTHON_AUGEAS_VERSION = 1.1.0 +PYTHON_AUGEAS_SITE = $(call github,hercules-team,python-augeas,v$(PYTHON_AUGEAS_VERSION)) +PYTHON_AUGEAS_SETUP_TYPE = setuptools +PYTHON_AUGEAS_LICENSE = LGPL-2.1+ +PYTHON_AUGEAS_LICENSE_FILES = COPYING +PYTHON_AUGEAS_DEPENDENCIES = augeas host-python-cffi host-pkgconf +# This will tell python-augeas to not call xml2-config, and instead +# use pkg-config to find libxml2. libxml2 is an indirect dependency of +# augeas, which is why it's not in our dependencies. It's odd that +# python-augeas searches for libxml2, but that's what it +# does. Question asked in the pull request at +# https://github.com/hercules-team/python-augeas/pull/49. +PYTHON_AUGEAS_ENV = XML2_CONFIG=/bin/false + +$(eval $(python-package)) diff --git a/package/python-autobahn/Config.in b/package/python-autobahn/Config.in index 78b16897bcc..627bcd73e52 100644 --- a/package/python-autobahn/Config.in +++ b/package/python-autobahn/Config.in @@ -1,15 +1,12 @@ config BR2_PACKAGE_PYTHON_AUTOBAHN bool "python-autobahn" - depends on BR2_INSTALL_LIBSTDCPP # python-cryptography -> python-pyasn - depends on BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography + select BR2_PACKAGE_PYTHON_CFFI # runtime select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime + select BR2_PACKAGE_PYTHON_HYPERLINK # runtime select BR2_PACKAGE_PYTHON_TXAIO # runtime help WebSocket client and server library, WAMP real-time framework. https://pypi.python.org/pypi/autobahn - -comment "python-autobahn needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_PYTHON3 diff --git a/package/python-autobahn/python-autobahn.hash b/package/python-autobahn/python-autobahn.hash index a5aa2a5a7df..7b963df6359 100644 --- a/package/python-autobahn/python-autobahn.hash +++ b/package/python-autobahn/python-autobahn.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/autobahn/json -md5 dcae3cf26203aa4bbd9912137e5c9512 autobahn-20.4.3.tar.gz -sha256 c6fe745d52ba9f9eecf791cd31f558df42aebfc4f9ee558a8f1d18c707e1ae1f autobahn-20.4.3.tar.gz +md5 9b0ae4ff164232c952ba01ab3516188e autobahn-22.1.1.tar.gz +sha256 17e1b58b6ae1a63ca7d926b1d71bb9e4fd6b9ac9a1a2277d8ee40e0b61f54746 autobahn-22.1.1.tar.gz # Locally computed sha256 checksums sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/package/python-autobahn/python-autobahn.mk b/package/python-autobahn/python-autobahn.mk index 37b3d335347..df43e9cdf23 100644 --- a/package/python-autobahn/python-autobahn.mk +++ b/package/python-autobahn/python-autobahn.mk @@ -4,11 +4,15 @@ # ################################################################################ -PYTHON_AUTOBAHN_VERSION = 20.4.3 +PYTHON_AUTOBAHN_VERSION = 22.1.1 PYTHON_AUTOBAHN_SOURCE = autobahn-$(PYTHON_AUTOBAHN_VERSION).tar.gz -PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/cb/16/38d27874ef827974f44acb6dd64a92a9248b624734c0e84b91083c2d9350 +PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/0e/2a/0b627ad4adf70437b5753462958b3ba5c6802d7664eb4a680e46423659ba PYTHON_AUTOBAHN_LICENSE = MIT PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE +PYTHON_AUTOBAHN_CPE_ID_VENDOR = crossbar +PYTHON_AUTOBAHN_CPE_ID_PRODUCT = autobahn PYTHON_AUTOBAHN_SETUP_TYPE = setuptools +PYTHON_AUTOBAHN_DEPENDENCIES = host-python-cffi +PYTHON_AUTOBAHN_ENV = AUTOBAHN_STRIP_XBR=1 $(eval $(python-package)) diff --git a/package/python-avro/0002-drop-install-time-linting-and-imports-sorting.patch b/package/python-avro/0001-drop-install-time-linting-and-imports-sorting.patch similarity index 100% rename from package/python-avro/0002-drop-install-time-linting-and-imports-sorting.patch rename to package/python-avro/0001-drop-install-time-linting-and-imports-sorting.patch diff --git a/package/python-avro/Config.in b/package/python-avro/Config.in index e1d7fc832c0..1f67732ce0e 100644 --- a/package/python-avro/Config.in +++ b/package/python-avro/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AVRO bool "python-avro" - depends on BR2_PACKAGE_PYTHON3 help Select this option to install the Avro Python3 language bindings, and the `avro` command line tool diff --git a/package/python-babel/python-babel.hash b/package/python-babel/python-babel.hash index 95f9d725fb9..5211f20110a 100644 --- a/package/python-babel/python-babel.hash +++ b/package/python-babel/python-babel.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/babel/json -md5 83c158b7dae9135750a7cf204e6e2eea Babel-2.7.0.tar.gz -sha256 e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28 Babel-2.7.0.tar.gz +md5 7166099733d78aa857d74fa50d8ff58c Babel-2.9.1.tar.gz +sha256 bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0 Babel-2.9.1.tar.gz # Locally computed sha256 checksums -sha256 5a0df5d46e8cb14bd5d4c2cd77338b22f681fe88bd34236626b1a3ae3b50101a LICENSE +sha256 28c97bf33e7506e277487bdaa3a69b70f170d6af5a82785ac0a74c8428042e40 LICENSE diff --git a/package/python-babel/python-babel.mk b/package/python-babel/python-babel.mk index cf0a8ab14f4..a503a139f95 100644 --- a/package/python-babel/python-babel.mk +++ b/package/python-babel/python-babel.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BABEL_VERSION = 2.7.0 +PYTHON_BABEL_VERSION = 2.9.1 PYTHON_BABEL_SOURCE = Babel-$(PYTHON_BABEL_VERSION).tar.gz -PYTHON_BABEL_SITE = https://files.pythonhosted.org/packages/bd/78/9fb975cbb3f4b136de2cd4b5e5ce4a3341169ebf4c6c03630996d05428f1 +PYTHON_BABEL_SITE = https://files.pythonhosted.org/packages/17/e6/ec9aa6ac3d00c383a5731cc97ed7c619d3996232c977bb8326bcbb6c687e PYTHON_BABEL_SETUP_TYPE = setuptools PYTHON_BABEL_LICENSE = BSD-3-Clause PYTHON_BABEL_LICENSE_FILES = LICENSE diff --git a/package/python-backports-abc/Config.in b/package/python-backports-abc/Config.in deleted file mode 100644 index 43566279e80..00000000000 --- a/package/python-backports-abc/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_PYTHON_BACKPORTS_ABC - bool "python-backports-abc" - depends on BR2_PACKAGE_PYTHON - help - A backport of recent additions to the 'collections.abc' - module. - - https://pypi.python.org/pypi/backports_abc diff --git a/package/python-backports-abc/python-backports-abc.hash b/package/python-backports-abc/python-backports-abc.hash deleted file mode 100644 index 4f4c9bd1fe1..00000000000 --- a/package/python-backports-abc/python-backports-abc.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5 from https://pypi.python.org/pypi/backports_abc/json -md5 7d1936ec183a3586290adf60f6f96764 backports_abc-0.5.tar.gz -# Locally computed -sha256 033be54514a03e255df75c5aee8f9e672f663f93abb723444caec8fe43437bde backports_abc-0.5.tar.gz -sha256 0a4f3b38055f50f047a42521568fa6ddb9a5976c2884f6ae138796d0f71150ca LICENSE diff --git a/package/python-backports-abc/python-backports-abc.mk b/package/python-backports-abc/python-backports-abc.mk deleted file mode 100644 index 66cea1703e7..00000000000 --- a/package/python-backports-abc/python-backports-abc.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-backports-abc -# -################################################################################ - -PYTHON_BACKPORTS_ABC_VERSION = 0.5 -PYTHON_BACKPORTS_ABC_SOURCE = backports_abc-$(PYTHON_BACKPORTS_ABC_VERSION).tar.gz -PYTHON_BACKPORTS_ABC_SITE = https://pypi.python.org/packages/68/3c/1317a9113c377d1e33711ca8de1e80afbaf4a3c950dd0edfaf61f9bfe6d8 -PYTHON_BACKPORTS_ABC_LICENSE = Python-2.0 -PYTHON_BACKPORTS_ABC_LICENSE_FILES = LICENSE -PYTHON_BACKPORTS_ABC_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-backports-functools-lru-cache/Config.in b/package/python-backports-functools-lru-cache/Config.in deleted file mode 100644 index a5b7771e4d8..00000000000 --- a/package/python-backports-functools-lru-cache/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE - bool "python-backports-functools-lru-cache" - depends on BR2_PACKAGE_PYTHON - help - Backport of functools.lru_cache from Python 3.3 - - https://github.com/jaraco/backports.functools_lru_cache diff --git a/package/python-backports-functools-lru-cache/python-backports-functools-lru-cache.hash b/package/python-backports-functools-lru-cache/python-backports-functools-lru-cache.hash deleted file mode 100644 index 3db4aec1fb6..00000000000 --- a/package/python-backports-functools-lru-cache/python-backports-functools-lru-cache.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/backports.functools_lru_cache/json -md5 20f53f54cd3f04b3346ce75a54959754 backports.functools_lru_cache-1.5.tar.gz -sha256 9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a backports.functools_lru_cache-1.5.tar.gz -# Localy computed sha256 checksumms -sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-backports-functools-lru-cache/python-backports-functools-lru-cache.mk b/package/python-backports-functools-lru-cache/python-backports-functools-lru-cache.mk deleted file mode 100644 index 334d6d8c491..00000000000 --- a/package/python-backports-functools-lru-cache/python-backports-functools-lru-cache.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# python-backports-functools-lru-cache -# -################################################################################ - -PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_VERSION = 1.5 -PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_SOURCE = backports.functools_lru_cache-$(PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_VERSION).tar.gz -PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_SITE = https://files.pythonhosted.org/packages/57/d4/156eb5fbb08d2e85ab0a632e2bebdad355798dece07d4752f66a8d02d1ea -PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_SETUP_TYPE = setuptools -PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_DEPENDENCIES = host-python-setuptools-scm -PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_LICENSE = MIT -PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE_LICENSE_FILES = LICENSE - -$(eval $(python-package)) diff --git a/package/python-backports-shutil-get-terminal-size/Config.in b/package/python-backports-shutil-get-terminal-size/Config.in deleted file mode 100644 index 392e05a2826..00000000000 --- a/package/python-backports-shutil-get-terminal-size/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE - bool "python-backports-shutil-get-terminal-size" - depends on BR2_PACKAGE_PYTHON - help - A backport of the get_terminal_size function from Python - 3.3's shutil. - - https://pypi.python.org/pypi/backports.shutil_get_terminal_size diff --git a/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.hash b/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.hash deleted file mode 100644 index 40883a4e3bc..00000000000 --- a/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5 from https://pypi.python.org/pypi/backports.shutil_get_terminal_size/json -md5 03267762480bd86b50580dc19dff3c66 backports.shutil_get_terminal_size-1.0.0.tar.gz -# Locally computed -sha256 713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80 backports.shutil_get_terminal_size-1.0.0.tar.gz -sha256 9edd99f8c339cddbfe36a9707e671fccf245b3e50b80eec0877dccec87a2dfe4 LICENSE diff --git a/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.mk b/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.mk deleted file mode 100644 index 7c24b196f2f..00000000000 --- a/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-backports-shutil-get-terminal-size -# -################################################################################ - -PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_VERSION = 1.0.0 -PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_SOURCE = backports.shutil_get_terminal_size-$(PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_VERSION).tar.gz -PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_SITE = https://pypi.python.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b -PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_SETUP_TYPE = setuptools -PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_LICENSE = MIT -PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_LICENSE_FILES = LICENSE - -$(eval $(python-package)) diff --git a/package/python-backports-ssl-match-hostname/Config.in b/package/python-backports-ssl-match-hostname/Config.in deleted file mode 100644 index 8e55191a9e6..00000000000 --- a/package/python-backports-ssl-match-hostname/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME - bool "python-backports-ssl-match-hostname" - depends on BR2_PACKAGE_PYTHON - help - The ssl.match_hostname() function from Python 3.5. - - http://bitbucket.org/brandon/backports.ssl_match_hostname diff --git a/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.hash b/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.hash deleted file mode 100644 index 145174cd5b0..00000000000 --- a/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/backports.ssl_match_hostname/json -md5 32d2f593af01a046bec3d2f5181a420a backports.ssl_match_hostname-3.7.0.1.tar.gz -sha256 bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2 backports.ssl_match_hostname-3.7.0.1.tar.gz -# Locally computed sha256 checksums -sha256 bfc8a75a4b9aec224aa7973c0c9d7cc0134bdcbf8eefd008936b58554d66e97e LICENSE.txt diff --git a/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.mk b/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.mk deleted file mode 100644 index 300961662d2..00000000000 --- a/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-backports-ssl-match-hostname -# -################################################################################ - -PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_VERSION = 3.7.0.1 -PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_SOURCE = backports.ssl_match_hostname-$(PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_VERSION).tar.gz -PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_SITE = https://files.pythonhosted.org/packages/ff/2b/8265224812912bc5b7a607c44bf7b027554e1b9775e9ee0de8032e3de4b2 -PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_SETUP_TYPE = distutils -PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_LICENSE = Python-2.0 -PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_LICENSE_FILES = LICENSE.txt - -$(eval $(python-package)) diff --git a/package/python-bcrypt/Config.in b/package/python-bcrypt/Config.in index 4fa6c31a9e2..9e9864e9d2b 100644 --- a/package/python-bcrypt/Config.in +++ b/package/python-bcrypt/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_BCRYPT bool "python-bcrypt" select BR2_PACKAGE_PYTHON_CFFI # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime help Modern password hashing for your software and your servers. diff --git a/package/python-bcrypt/python-bcrypt.hash b/package/python-bcrypt/python-bcrypt.hash index a9c070f2e1a..b1970d8684b 100644 --- a/package/python-bcrypt/python-bcrypt.hash +++ b/package/python-bcrypt/python-bcrypt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bcrypt/json -md5 5d6f93b575ce52470af37a8e7dce76fe bcrypt-3.1.7.tar.gz -sha256 0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42 bcrypt-3.1.7.tar.gz +md5 fe31390dab603728f756cd3d6830c80a bcrypt-3.2.0.tar.gz +sha256 5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29 bcrypt-3.2.0.tar.gz # Locally computed sha256 checksums -sha256 8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90 LICENSE +sha256 8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90 LICENSE diff --git a/package/python-bcrypt/python-bcrypt.mk b/package/python-bcrypt/python-bcrypt.mk index 381d003475b..ad770cc974e 100644 --- a/package/python-bcrypt/python-bcrypt.mk +++ b/package/python-bcrypt/python-bcrypt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BCRYPT_VERSION = 3.1.7 +PYTHON_BCRYPT_VERSION = 3.2.0 PYTHON_BCRYPT_SOURCE = bcrypt-$(PYTHON_BCRYPT_VERSION).tar.gz -PYTHON_BCRYPT_SITE = https://files.pythonhosted.org/packages/fa/aa/025a3ab62469b5167bc397837c9ffc486c42a97ef12ceaa6699d8f5a5416 +PYTHON_BCRYPT_SITE = https://files.pythonhosted.org/packages/d8/ba/21c475ead997ee21502d30f76fd93ad8d5858d19a3fad7cd153de698c4dd PYTHON_BCRYPT_SETUP_TYPE = setuptools PYTHON_BCRYPT_LICENSE = Apache-2.0 PYTHON_BCRYPT_LICENSE_FILES = LICENSE diff --git a/package/python-beautifulsoup4/python-beautifulsoup4.hash b/package/python-beautifulsoup4/python-beautifulsoup4.hash index 8b8c51de4f9..665c142d53b 100644 --- a/package/python-beautifulsoup4/python-beautifulsoup4.hash +++ b/package/python-beautifulsoup4/python-beautifulsoup4.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/beautifulsoup4/json -md5 be03d778cf61cf6734a480e2010d6657 beautifulsoup4-4.8.1.tar.gz -sha256 6135db2ba678168c07950f9a16c4031822c6f4aec75a65e0a97bc5ca09789931 beautifulsoup4-4.8.1.tar.gz +md5 e754242642253dd31d249d00358d552e beautifulsoup4-4.10.0.tar.gz +sha256 c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891 beautifulsoup4-4.10.0.tar.gz # Locally computed sha256 checksums -sha256 a47ea51236098464fe0b4f559743590b533056d9e00f49ecbf80299fab47e231 COPYING.txt +sha256 a47ea51236098464fe0b4f559743590b533056d9e00f49ecbf80299fab47e231 COPYING.txt diff --git a/package/python-beautifulsoup4/python-beautifulsoup4.mk b/package/python-beautifulsoup4/python-beautifulsoup4.mk index 6364a366772..f729d1051ab 100644 --- a/package/python-beautifulsoup4/python-beautifulsoup4.mk +++ b/package/python-beautifulsoup4/python-beautifulsoup4.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BEAUTIFULSOUP4_VERSION = 4.8.1 +PYTHON_BEAUTIFULSOUP4_VERSION = 4.10.0 PYTHON_BEAUTIFULSOUP4_SOURCE = beautifulsoup4-$(PYTHON_BEAUTIFULSOUP4_VERSION).tar.gz -PYTHON_BEAUTIFULSOUP4_SITE = https://files.pythonhosted.org/packages/86/cd/495c68f0536dcd25f016e006731ba7be72e072280305ec52590012c1e6f2 +PYTHON_BEAUTIFULSOUP4_SITE = https://files.pythonhosted.org/packages/a1/69/daeee6d8f22c997e522cdbeb59641c4d31ab120aba0f2c799500f7456b7e PYTHON_BEAUTIFULSOUP4_SETUP_TYPE = setuptools PYTHON_BEAUTIFULSOUP4_LICENSE = MIT PYTHON_BEAUTIFULSOUP4_LICENSE_FILES = COPYING.txt diff --git a/package/python-bidict/Config.in b/package/python-bidict/Config.in new file mode 100644 index 00000000000..dfc55b87dd5 --- /dev/null +++ b/package/python-bidict/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_BIDICT + bool "python-bidict" + help + The bidirectional mapping library for Python. + + https://bidict.readthedocs.io diff --git a/package/python-bidict/python-bidict.hash b/package/python-bidict/python-bidict.hash new file mode 100644 index 00000000000..59229f96d9f --- /dev/null +++ b/package/python-bidict/python-bidict.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/bidict/json +md5 d9342771969dd0d42092a669ed6f3241 bidict-0.21.3.tar.gz +sha256 d50bd81fae75e34198ffc94979a0eb0939ff9adb3ef32bcc93a913d8b3e3ed1d bidict-0.21.3.tar.gz +# Locally computed sha256 checksums +sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENSE diff --git a/package/python-bidict/python-bidict.mk b/package/python-bidict/python-bidict.mk new file mode 100644 index 00000000000..c6b7b862eaa --- /dev/null +++ b/package/python-bidict/python-bidict.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-bidict +# +################################################################################ + +PYTHON_BIDICT_VERSION = 0.21.3 +PYTHON_BIDICT_SOURCE = bidict-$(PYTHON_BIDICT_VERSION).tar.gz +PYTHON_BIDICT_SITE = https://files.pythonhosted.org/packages/3f/81/7221b28d692af5c5fc180c4850b8e4a48c7db92b3d529b430488f67db74f +PYTHON_BIDICT_SETUP_TYPE = setuptools +PYTHON_BIDICT_LICENSE = MPL-2.0 +PYTHON_BIDICT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-bitstring/python-bitstring.hash b/package/python-bitstring/python-bitstring.hash index 04e4914696b..f05619a5d36 100644 --- a/package/python-bitstring/python-bitstring.hash +++ b/package/python-bitstring/python-bitstring.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bitstring/json -md5 18661a3e5c47c59bd926dd0fefae0baa bitstring-3.1.7.tar.gz -sha256 fdf3eb72b229d2864fb507f8f42b1b2c57af7ce5fec035972f9566de440a864a bitstring-3.1.7.tar.gz +md5 04d24380a0dc491e6bdacd983a90912e bitstring-3.1.9.tar.gz +sha256 a5848a3f63111785224dca8bb4c0a75b62ecdef56a042c8d6be74b16f7e860e7 bitstring-3.1.9.tar.gz # Locally computed sha256 checksums -sha256 ea3c0e2288994d3dfeaac0fd2163f2cf5f9671c3ae70a9e9d563795e28cfb0b9 LICENSE +sha256 a9e9c584106d4f9686c9a6aa036e507b5e7044633b8acb4365bc074d8d004711 LICENSE diff --git a/package/python-bitstring/python-bitstring.mk b/package/python-bitstring/python-bitstring.mk index c36993416d0..ff59487540c 100644 --- a/package/python-bitstring/python-bitstring.mk +++ b/package/python-bitstring/python-bitstring.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_BITSTRING_VERSION = 3.1.7 +PYTHON_BITSTRING_VERSION = 3.1.9 PYTHON_BITSTRING_SOURCE = bitstring-$(PYTHON_BITSTRING_VERSION).tar.gz -PYTHON_BITSTRING_SITE = https://files.pythonhosted.org/packages/c3/fc/ffac2c199d2efe1ec5111f55efeb78f5f2972456df6939fea849f103f9f5 -PYTHON_BITSTRING_SETUP_TYPE = distutils +PYTHON_BITSTRING_SITE = https://files.pythonhosted.org/packages/4c/b1/80d58eeb21c9d4ca739770558d61f6adacb13aa4908f4f55e0974cbd25ee +PYTHON_BITSTRING_SETUP_TYPE = setuptools PYTHON_BITSTRING_LICENSE = MIT PYTHON_BITSTRING_LICENSE_FILES = LICENSE diff --git a/package/python-bleak/Config.in b/package/python-bleak/Config.in index 6015361899b..085c16fae8c 100644 --- a/package/python-bleak/Config.in +++ b/package/python-bleak/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_BLEAK bool "python-bleak" - depends on BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_TXDBUS # runtime + select BR2_PACKAGE_PYTHON_DBUS_NEXT # runtime help Bluetooth Low Energy platform Agnostic Klient. diff --git a/package/python-bleak/python-bleak.hash b/package/python-bleak/python-bleak.hash index 9506822c1be..5acac877c97 100644 --- a/package/python-bleak/python-bleak.hash +++ b/package/python-bleak/python-bleak.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bleak/json -md5 e891b33804b69f0247eb770ca27fa0d5 bleak-0.10.0.tar.gz -sha256 5c3a873965f2910865895e572e7a4f10533d6e150e6ba17936397426bf8d1eee bleak-0.10.0.tar.gz +md5 0c26b270358a782767012220fc595aa5 bleak-0.12.1.tar.gz +sha256 4a80a24cc944e52e856054639f298229c39a2fc720e5f7adbeebb117d10849ed bleak-0.12.1.tar.gz # Locally computed sha256 checksums sha256 c4029a2b63b3824ab68be841f414addbdde20cb79cdbe272fa80c0b2abe65374 LICENSE diff --git a/package/python-bleak/python-bleak.mk b/package/python-bleak/python-bleak.mk index 040d64ed416..3ae6d903110 100644 --- a/package/python-bleak/python-bleak.mk +++ b/package/python-bleak/python-bleak.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BLEAK_VERSION = 0.10.0 +PYTHON_BLEAK_VERSION = 0.12.1 PYTHON_BLEAK_SOURCE = bleak-$(PYTHON_BLEAK_VERSION).tar.gz -PYTHON_BLEAK_SITE = https://files.pythonhosted.org/packages/80/37/c8c88709e4f1ca4636bf11c96d1ec046d7426cd02670ae80a3542280558b +PYTHON_BLEAK_SITE = https://files.pythonhosted.org/packages/67/4b/ba00c69a24a8d08c86f02caa45727a2ad2844c7bee9630ccb063be226f71 PYTHON_BLEAK_SETUP_TYPE = setuptools PYTHON_BLEAK_LICENSE = MIT PYTHON_BLEAK_LICENSE_FILES = LICENSE diff --git a/package/python-bluezero/Config.in b/package/python-bluezero/Config.in index 9ea3686a2b5..fa0998a2981 100644 --- a/package/python-bluezero/Config.in +++ b/package/python-bluezero/Config.in @@ -1,12 +1,19 @@ config BR2_PACKAGE_PYTHON_BLUEZERO bool "python-bluezero" - depends on BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject -> gobject-introspection + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject -> gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # python-gobject -> gobject-introspection -> host-qemu + depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject -> gobject-introspection + select BR2_PACKAGE_DBUS # runtime + select BR2_PACKAGE_DBUS_PYTHON # runtime + select BR2_PACKAGE_PYTHON_GOBJECT # runtime help Python library for Bluetooth Low Energy (BLE) on Linux. - For central.py, peripheral.py and broadcaster.py you need - to enable the dbus-python and the bluez5-utils package. - For observer.py, you need to enable the python-aioblescan - package. - https://github.com/ukBaz/python-bluezero + +comment "python-bluezero needs a glibc toolchain, gcc >= 4.9, host gcc >= 8" + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_8 diff --git a/package/python-bluezero/python-bluezero.hash b/package/python-bluezero/python-bluezero.hash index d0df83c4c68..59e8c5af5bb 100644 --- a/package/python-bluezero/python-bluezero.hash +++ b/package/python-bluezero/python-bluezero.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bluezero/json -md5 4004c165f762029c2139f31c269a7531 bluezero-0.5.0.tar.gz -sha256 d9562a2d107abc918ffdabd4646039c15c54ca1fca0cec91aa45ba6135d2d0b1 bluezero-0.5.0.tar.gz +md5 b26e6425d8adc4613b7cdf1d131f8c0b bluezero-0.6.0.tar.gz +sha256 d94f0672b1de3ff0040801538143fe9a42c501d8db79bcd183c9e051b8da83bc bluezero-0.6.0.tar.gz # Locally computed sha256 checksums sha256 59319e80b4caa94ace4817c9f84aa16abc9d4d2b5f7866251b5fda92e87ccdef LICENSE diff --git a/package/python-bluezero/python-bluezero.mk b/package/python-bluezero/python-bluezero.mk index 27e11efc14a..7e244fe3f0a 100644 --- a/package/python-bluezero/python-bluezero.mk +++ b/package/python-bluezero/python-bluezero.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BLUEZERO_VERSION = 0.5.0 +PYTHON_BLUEZERO_VERSION = 0.6.0 PYTHON_BLUEZERO_SOURCE = bluezero-$(PYTHON_BLUEZERO_VERSION).tar.gz -PYTHON_BLUEZERO_SITE = https://files.pythonhosted.org/packages/90/63/67c56cebe6f741b190f047531810911cfb528e9c0ec6db8d4c911808ba32 +PYTHON_BLUEZERO_SITE = https://files.pythonhosted.org/packages/be/15/4a806580ffd359a03184776f37cf201298918f302b414b8a3e594d1be65c PYTHON_BLUEZERO_SETUP_TYPE = setuptools PYTHON_BLUEZERO_LICENSE = MIT PYTHON_BLUEZERO_LICENSE_FILES = LICENSE diff --git a/package/python-boto3/python-boto3.hash b/package/python-boto3/python-boto3.hash index 6752a2cca0a..358fabd39bc 100644 --- a/package/python-boto3/python-boto3.hash +++ b/package/python-boto3/python-boto3.hash @@ -1,5 +1,4 @@ -# md5, sha256 from https://pypi.org/pypi/boto3/json -md5 8cecdbf7ef6702837d7ddabaa3e39a89 boto3-1.16.50.tar.gz -sha256 4d502a842b81fdac4b950d3b88a5b9067ce118213b122b20f4192003cb067986 boto3-1.16.50.tar.gz +# sha256 from https://pypi.org/pypi/boto3/json +sha256 11a6035060230e92327d4f10fef6bc44188b2cd68504012bc25ed62ac31d670b boto3-1.19.2.tar.gz # Locally computed sha256 checksums sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/package/python-boto3/python-boto3.mk b/package/python-boto3/python-boto3.mk index a5c2b6ab31e..8e10aa482d5 100644 --- a/package/python-boto3/python-boto3.mk +++ b/package/python-boto3/python-boto3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BOTO3_VERSION = 1.16.50 +PYTHON_BOTO3_VERSION = 1.19.2 PYTHON_BOTO3_SOURCE = boto3-$(PYTHON_BOTO3_VERSION).tar.gz -PYTHON_BOTO3_SITE = https://files.pythonhosted.org/packages/c8/c6/b4d9547a493ac2837f296f4a004dff6e7136cf6750d181769b8a61d63813 +PYTHON_BOTO3_SITE = https://files.pythonhosted.org/packages/ec/45/d12f9c09b5c4dad8bcb098dfae5e9e1253ed6408efbbd9a3e60bff55b824 PYTHON_BOTO3_SETUP_TYPE = setuptools PYTHON_BOTO3_LICENSE = Apache-2.0 PYTHON_BOTO3_LICENSE_FILES = LICENSE diff --git a/package/python-botocore/Config.in b/package/python-botocore/Config.in index a552900b6cb..cc5e32b504d 100644 --- a/package/python-botocore/Config.in +++ b/package/python-botocore/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_PYTHON_BOTOCORE bool "python-botocore" - select BR2_PACKAGE_PYTHON_JMESPATH # runtime - select BR2_PACKAGE_PYTHON_DOCUTILS # runtime select BR2_PACKAGE_PYTHON_DATEUTIL # runtime + select BR2_PACKAGE_PYTHON_JMESPATH # runtime select BR2_PACKAGE_PYTHON_URLLIB3 # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime help Low-level, data-driven core of boto 3. diff --git a/package/python-botocore/python-botocore.hash b/package/python-botocore/python-botocore.hash index afaac12bde7..9d5f706fef2 100644 --- a/package/python-botocore/python-botocore.hash +++ b/package/python-botocore/python-botocore.hash @@ -1,5 +1,4 @@ -# md5, sha256 from https://pypi.org/pypi/botocore/json -md5 870be84c9b418430ad9d0cb5640e76ef botocore-1.12.210.tar.gz -sha256 b954c596f8bdf31d5fdf1eff8a2296bde8094e1e22961a79b83bb62ddeba8a49 botocore-1.19.48.tar.gz +# sha256 from https://pypi.org/pypi/botocore/json +sha256 011360e79a4b843aa6591573cfa61e8eddc99b91adab1dfdb9a2b7f2c8511193 botocore-1.22.2.tar.gz # Locally computed sha256 checksums sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE.txt diff --git a/package/python-botocore/python-botocore.mk b/package/python-botocore/python-botocore.mk index 76c59d0a2d1..1628e055628 100644 --- a/package/python-botocore/python-botocore.mk +++ b/package/python-botocore/python-botocore.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BOTOCORE_VERSION = 1.19.48 +PYTHON_BOTOCORE_VERSION = 1.22.2 PYTHON_BOTOCORE_SOURCE = botocore-$(PYTHON_BOTOCORE_VERSION).tar.gz -PYTHON_BOTOCORE_SITE = https://files.pythonhosted.org/packages/35/73/c6fe3fafb74cc86a2a9ddf565a2b8956777e668c6248927e6d76b66f61a4 +PYTHON_BOTOCORE_SITE = https://files.pythonhosted.org/packages/0d/95/f2e74e4a91994d9ebe45746f75a8c5cafd723a88270a9772d8d66e1a8ba1 PYTHON_BOTOCORE_SETUP_TYPE = setuptools PYTHON_BOTOCORE_LICENSE = Apache-2.0 PYTHON_BOTOCORE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-brotli/Config.in b/package/python-brotli/Config.in index 1c09c26866d..c31315392b7 100644 --- a/package/python-brotli/Config.in +++ b/package/python-brotli/Config.in @@ -5,3 +5,6 @@ config BR2_PACKAGE_PYTHON_BROTLI Python bindings for the Brotli compression library. https://github.com/google/brotli + +comment "python-brotli needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-bsdiff4/Config.in b/package/python-bsdiff4/Config.in index a383cda0f5d..32070fb9a8f 100644 --- a/package/python-bsdiff4/Config.in +++ b/package/python-bsdiff4/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_BSDIFF4 bool "python-bsdiff4" - select BR2_PACKAGE_PYTHON_BZIP2 if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_BZIP2 if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_BZIP2 # runtime help binary diff and patch using the BSDIFF4-format. diff --git a/package/python-bsdiff4/python-bsdiff4.hash b/package/python-bsdiff4/python-bsdiff4.hash index e64e817f9cd..4fddd137e66 100644 --- a/package/python-bsdiff4/python-bsdiff4.hash +++ b/package/python-bsdiff4/python-bsdiff4.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bsdiff4/json -md5 a0d047e91429ce67a3b0231facf41169 bsdiff4-1.2.0.tar.gz -sha256 3c2f7f5504f41a54d238b54b00b4544d0eb4276179edabf02b9d00415a03cc9d bsdiff4-1.2.0.tar.gz +md5 58889a1cd439c82c78aa2e4776b1ff38 bsdiff4-1.2.1.tar.gz +sha256 87cffc7522effdda03fd1564b212ad2279c0af50d16c3e65776f80acb6705d4b bsdiff4-1.2.1.tar.gz # Locally computed sha256 -sha256 c6c921c90383f1c43beb53c49a652d28309a410a7c394c729fd8870271451cf0 LICENSE +sha256 c6c921c90383f1c43beb53c49a652d28309a410a7c394c729fd8870271451cf0 LICENSE diff --git a/package/python-bsdiff4/python-bsdiff4.mk b/package/python-bsdiff4/python-bsdiff4.mk index 7bc607b2d6f..e1c3f7765b7 100644 --- a/package/python-bsdiff4/python-bsdiff4.mk +++ b/package/python-bsdiff4/python-bsdiff4.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_BSDIFF4_VERSION = 1.2.0 +PYTHON_BSDIFF4_VERSION = 1.2.1 PYTHON_BSDIFF4_SOURCE = bsdiff4-$(PYTHON_BSDIFF4_VERSION).tar.gz -PYTHON_BSDIFF4_SITE = https://files.pythonhosted.org/packages/9b/ca/06cd939630ca78125c36489f92b52918980cbcfee2dcc0969411eb5ae8a8 +PYTHON_BSDIFF4_SITE = https://files.pythonhosted.org/packages/d8/97/101315b0d8c8d6340ee310484a1af6a2ccf65d7bb4762c3a669cf9457c71 PYTHON_BSDIFF4_LICENSE = BSD-2-Clause, BSD-Protection (core.c) PYTHON_BSDIFF4_LICENSE_FILES = LICENSE +PYTHON_BSDIFF4_CPE_ID_VENDOR = pypi +PYTHON_BSDIFF4_CPE_ID_PRODUCT = bsdiff4 PYTHON_BSDIFF4_SETUP_TYPE = distutils $(eval $(python-package)) diff --git a/package/python-cached-property/python-cached-property.hash b/package/python-cached-property/python-cached-property.hash index cfe34ca1dff..835e9e02006 100644 --- a/package/python-cached-property/python-cached-property.hash +++ b/package/python-cached-property/python-cached-property.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cached-property/json -md5 4b6f3cd429da5f487f4ebf3242bb991f cached-property-1.5.1.tar.gz -sha256 9217a59f14a5682da7c4b8829deadbfc194ac22e9908ccf7c8820234e80a1504 cached-property-1.5.1.tar.gz +md5 3451c63f8733ea0756ca1dd2b0c04bb8 cached-property-1.5.2.tar.gz +sha256 9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130 cached-property-1.5.2.tar.gz # Locally computed sha256 checksums -sha256 ba4756c8039b25b66e3c456cc5bf635aa528cf459b97ee1499d06684ccd89b9a LICENSE +sha256 ba4756c8039b25b66e3c456cc5bf635aa528cf459b97ee1499d06684ccd89b9a LICENSE diff --git a/package/python-cached-property/python-cached-property.mk b/package/python-cached-property/python-cached-property.mk index f83a1f18f4d..9e1b3f8aff7 100644 --- a/package/python-cached-property/python-cached-property.mk +++ b/package/python-cached-property/python-cached-property.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CACHED_PROPERTY_VERSION = 1.5.1 +PYTHON_CACHED_PROPERTY_VERSION = 1.5.2 PYTHON_CACHED_PROPERTY_SOURCE = cached-property-$(PYTHON_CACHED_PROPERTY_VERSION).tar.gz -PYTHON_CACHED_PROPERTY_SITE = https://files.pythonhosted.org/packages/57/8e/0698e10350a57d46b3bcfe8eff1d4181642fd1724073336079cb13c5cf7f +PYTHON_CACHED_PROPERTY_SITE = https://files.pythonhosted.org/packages/61/2c/d21c1c23c2895c091fa7a91a54b6872098fea913526932d21902088a7c41 PYTHON_CACHED_PROPERTY_SETUP_TYPE = setuptools PYTHON_CACHED_PROPERTY_LICENSE = BSD-3-Clause PYTHON_CACHED_PROPERTY_LICENSE_FILES = LICENSE diff --git a/package/python-can/Config.in b/package/python-can/Config.in index 3d06374c6a1..dc9eb0ae4e2 100644 --- a/package/python-can/Config.in +++ b/package/python-can/Config.in @@ -1,13 +1,10 @@ config BR2_PACKAGE_PYTHON_CAN bool "python-can" select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_TYPING if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SQLITE # runtime select BR2_PACKAGE_PYTHON_AENUM # runtime select BR2_PACKAGE_PYTHON_WRAPT # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB help This module provides controller area network support for Python. diff --git a/package/python-cbor2/python-cbor2.hash b/package/python-cbor2/python-cbor2.hash index 073d071a58c..8858fc72d35 100644 --- a/package/python-cbor2/python-cbor2.hash +++ b/package/python-cbor2/python-cbor2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cbor2/json -md5 0940aa8bfd1a07f06a983bb6dc78f1ca cbor2-5.2.0.tar.gz -sha256 a33aa2e5534fd74401ac95686886e655e3b2ce6383b3f958199b6e70a87c94bf cbor2-5.2.0.tar.gz +md5 a9518fd435d9eafd91063b3bf10d5c5b cbor2-5.4.2.post1.tar.gz +sha256 9cf21d59604b9529d7877c8e0342a2ebaae1a07fe8ff5683dc75fec15847c797 cbor2-5.4.2.post1.tar.gz # Locally computed sha256 checksums sha256 a6afd126d8f545a15166a22f25fadff4b9fb4978bbdd17e97d97d950b66d2fef LICENSE.txt diff --git a/package/python-cbor2/python-cbor2.mk b/package/python-cbor2/python-cbor2.mk index 17639ccf1c6..dd007217d1b 100644 --- a/package/python-cbor2/python-cbor2.mk +++ b/package/python-cbor2/python-cbor2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CBOR2_VERSION = 5.2.0 +PYTHON_CBOR2_VERSION = 5.4.2.post1 PYTHON_CBOR2_SOURCE = cbor2-$(PYTHON_CBOR2_VERSION).tar.gz -PYTHON_CBOR2_SITE = https://files.pythonhosted.org/packages/02/15/f4d7fb47753099fcd9d7f7c81920d422a3ab2e710400ec0f4a1b511b51ae +PYTHON_CBOR2_SITE = https://files.pythonhosted.org/packages/49/74/2b9f9b76e2831f54d70e177a4e602e72cb86441632d1bcc15be1f04a73f6 PYTHON_CBOR2_SETUP_TYPE = setuptools PYTHON_CBOR2_LICENSE = MIT PYTHON_CBOR2_LICENSE_FILES = LICENSE.txt diff --git a/package/python-cchardet/python-cchardet.hash b/package/python-cchardet/python-cchardet.hash index 960801f8895..1ecfd6fa95f 100644 --- a/package/python-cchardet/python-cchardet.hash +++ b/package/python-cchardet/python-cchardet.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cchardet/json -md5 ee884e2c7762e56e8a0600aa34ad4fa3 cchardet-2.1.6.tar.gz -sha256 b76afb2059ad69eab576949980a17413c1e9e5a5624abf9e43542d8853f146b3 cchardet-2.1.6.tar.gz +md5 8a76472ad09c68c12069203ea9348ee3 cchardet-2.1.7.tar.gz +sha256 c428b6336545053c2589f6caf24ea32276c6664cb86db817e03a94c60afa0eaf cchardet-2.1.7.tar.gz # Locally computed sha256 checksums sha256 107a29ccdd2d778aa2df5462f85dddfa099059abd22e064e07ec2cc9bafc37cd COPYING diff --git a/package/python-cchardet/python-cchardet.mk b/package/python-cchardet/python-cchardet.mk index 78daf6075ed..396e9d6c53e 100644 --- a/package/python-cchardet/python-cchardet.mk +++ b/package/python-cchardet/python-cchardet.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CCHARDET_VERSION = 2.1.6 +PYTHON_CCHARDET_VERSION = 2.1.7 PYTHON_CCHARDET_SOURCE = cchardet-$(PYTHON_CCHARDET_VERSION).tar.gz -PYTHON_CCHARDET_SITE = https://files.pythonhosted.org/packages/41/e6/2e2184a3bc887bfb6e6b97aef5e94af9b8de43806ce14b023ddbbcb0b30d +PYTHON_CCHARDET_SITE = https://files.pythonhosted.org/packages/a8/5d/090c9f0312b7988a9433246c9cf0b566b1ae1374368cfb8ac897218a4f65 PYTHON_CCHARDET_SETUP_TYPE = setuptools PYTHON_CCHARDET_LICENSE = MPL-1.1 PYTHON_CCHARDET_LICENSE_FILES = COPYING diff --git a/package/python-certifi/python-certifi.hash b/package/python-certifi/python-certifi.hash index 7605672514f..0245496ebf6 100644 --- a/package/python-certifi/python-certifi.hash +++ b/package/python-certifi/python-certifi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/certifi/json -md5 522f9abe26e5d603a668d812aa6accca certifi-2020.12.5.tar.gz -sha256 1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c certifi-2020.12.5.tar.gz +md5 880ed9e5d04aff8f46f5ff82a3a3e395 certifi-2021.10.8.tar.gz +sha256 78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872 certifi-2021.10.8.tar.gz # Locally computed sha256 checksums -sha256 6a70a4bf6b010016d59a64b8ae4ad8dc7f5ef16f1fb453cc2ecd771c5a341131 LICENSE +sha256 be9d82f36112f87a7f1d74ecd4887e1467bbae8878a84004a00117b1e475a3e2 LICENSE diff --git a/package/python-certifi/python-certifi.mk b/package/python-certifi/python-certifi.mk index 4e4cbfdc810..17098e3fae5 100644 --- a/package/python-certifi/python-certifi.mk +++ b/package/python-certifi/python-certifi.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2020.12.5 +PYTHON_CERTIFI_VERSION = 2021.10.8 PYTHON_CERTIFI_SOURCE = certifi-$(PYTHON_CERTIFI_VERSION).tar.gz -PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/06/a9/cd1fd8ee13f73a4d4f491ee219deeeae20afefa914dfb4c130cfc9dc397a +PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/6c/ae/d26450834f0acc9e3d1f74508da6df1551ceab6c2ce0766a593362d6d57f PYTHON_CERTIFI_SETUP_TYPE = setuptools PYTHON_CERTIFI_LICENSE = ISC (Python code), MPL-2.0 (cacert.pem) PYTHON_CERTIFI_LICENSE_FILES = LICENSE $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-cffi/python-cffi.hash b/package/python-cffi/python-cffi.hash index 37676f26644..41565f9a628 100644 --- a/package/python-cffi/python-cffi.hash +++ b/package/python-cffi/python-cffi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cffi/json -md5 3cc2f1daf62dd66eda79b4d6281cebfc cffi-1.14.2.tar.gz -sha256 ae8f34d50af2c2154035984b8b5fc5d9ed63f32fe615646ab435b05b132ca91b cffi-1.14.2.tar.gz +md5 f3a3f26cd3335fc597479c9475da0a0b cffi-1.15.0.tar.gz +sha256 920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 cffi-1.15.0.tar.gz # Locally computed sha256 checksums sha256 04b80f5b077bbed68808cfebadeb5e3523f2a8c9a96495c587bd96df1eac2a33 LICENSE diff --git a/package/python-cffi/python-cffi.mk b/package/python-cffi/python-cffi.mk index f882349fd72..83a21cb75a4 100644 --- a/package/python-cffi/python-cffi.mk +++ b/package/python-cffi/python-cffi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CFFI_VERSION = 1.14.2 +PYTHON_CFFI_VERSION = 1.15.0 PYTHON_CFFI_SOURCE = cffi-$(PYTHON_CFFI_VERSION).tar.gz -PYTHON_CFFI_SITE = https://files.pythonhosted.org/packages/f7/09/88bbe20b76ca76be052c366fe77aa5e3cd6e5f932766e5597fecdd95b2a8 +PYTHON_CFFI_SITE = https://files.pythonhosted.org/packages/00/9e/92de7e1217ccc3d5f352ba21e52398372525765b2e0c4530e6eb2ba9282a PYTHON_CFFI_SETUP_TYPE = setuptools PYTHON_CFFI_DEPENDENCIES = host-pkgconf libffi PYTHON_CFFI_LICENSE = MIT diff --git a/package/python-channels-redis/Config.in b/package/python-channels-redis/Config.in index 89466701807..d25f8ffe31a 100644 --- a/package/python-channels-redis/Config.in +++ b/package/python-channels-redis/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_CHANNELS_REDIS bool "python-channels-redis" - depends on BR2_INSTALL_LIBSTDCPP # python-channels -> python-daphne - depends on BR2_PACKAGE_PYTHON3 # python-channels + # python-channels -> python-daphne -> python-autobahn -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_AIOREDIS # runtime select BR2_PACKAGE_PYTHON_ASGIREF # runtime select BR2_PACKAGE_PYTHON_CHANNELS # runtime @@ -12,7 +12,3 @@ config BR2_PACKAGE_PYTHON_CHANNELS_REDIS sharded configurations, as well as group support. http://github.com/django/channels_redis/ - -comment "python-channels-redis needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_PYTHON3 diff --git a/package/python-channels/Config.in b/package/python-channels/Config.in index 5c70f20d1c5..b94f53ceaa6 100644 --- a/package/python-channels/Config.in +++ b/package/python-channels/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_CHANNELS bool "python-channels" - depends on BR2_INSTALL_LIBSTDCPP # python-daphne -> python-autobahn -> python-cryptography - depends on BR2_PACKAGE_PYTHON3 # python-daphne + # python-daphne -> python-autobahn -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_ASGIREF # runtime select BR2_PACKAGE_PYTHON_DAPHNE # runtime select BR2_PACKAGE_PYTHON_DJANGO # runtime @@ -14,7 +14,3 @@ config BR2_PACKAGE_PYTHON_CHANNELS own protocols and needs. http://github.com/django/channels - -comment "python-channels needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_PYTHON3 diff --git a/package/python-charset-normalizer/Config.in b/package/python-charset-normalizer/Config.in new file mode 100644 index 00000000000..63e04a7a333 --- /dev/null +++ b/package/python-charset-normalizer/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_CHARSET_NORMALIZER + bool "python-charset-normalizer" + help + The Real First Universal Charset Detector. Open, modern and + actively maintained alternative to Chardet. + + https://github.com/ousret/charset_normalizer diff --git a/package/python-charset-normalizer/python-charset-normalizer.hash b/package/python-charset-normalizer/python-charset-normalizer.hash new file mode 100644 index 00000000000..3c6e58a6164 --- /dev/null +++ b/package/python-charset-normalizer/python-charset-normalizer.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/charset-normalizer/json +md5 2abe3754fef25c99799a518cb83a81ae charset-normalizer-2.0.11.tar.gz +sha256 98398a9d69ee80548c762ba991a4728bfc3836768ed226b3945908d1a688371c charset-normalizer-2.0.11.tar.gz +# Locally computed sha256 checksums +sha256 eb31a0c5a4fb09b8a4e32055d25c1e5f9c358a2752fef3cd720213d1ccfee241 LICENSE diff --git a/package/python-charset-normalizer/python-charset-normalizer.mk b/package/python-charset-normalizer/python-charset-normalizer.mk new file mode 100644 index 00000000000..c37b068b368 --- /dev/null +++ b/package/python-charset-normalizer/python-charset-normalizer.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-charset-normalizer +# +################################################################################ + +PYTHON_CHARSET_NORMALIZER_VERSION = 2.0.11 +PYTHON_CHARSET_NORMALIZER_SOURCE = charset-normalizer-$(PYTHON_CHARSET_NORMALIZER_VERSION).tar.gz +PYTHON_CHARSET_NORMALIZER_SITE = https://files.pythonhosted.org/packages/e8/e8/b6cfd28fb430b2ec9923ad0147025bf8bbdf304b1eb3039b69f1ce44ed6e +PYTHON_CHARSET_NORMALIZER_SETUP_TYPE = setuptools +PYTHON_CHARSET_NORMALIZER_LICENSE = MIT +PYTHON_CHARSET_NORMALIZER_LICENSE_FILES = LICENSE + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-cheetah/python-cheetah.hash b/package/python-cheetah/python-cheetah.hash index 286b41fd9ec..f7094a8bb1d 100644 --- a/package/python-cheetah/python-cheetah.hash +++ b/package/python-cheetah/python-cheetah.hash @@ -1,5 +1,5 @@ # From https://pypi.org/pypi/Cheetah3/json -md5 8c0ac643263ffc3454fb321342284d0a Cheetah3-3.2.4.tar.gz -sha256 caabb9c22961a3413ac85cd1e5525ec9ca80daeba6555f4f60802b6c256e252b Cheetah3-3.2.4.tar.gz +md5 42bb9da785974c7e4089aa754ff99a73 Cheetah3-3.2.6.post2.tar.gz +sha256 63157d7a00a273b59676b5be5aa817c75c37efc88478231f1a160f4cfb7f7878 Cheetah3-3.2.6.post2.tar.gz # Locally computed sha256 checksums sha256 635349ae512fafc2e60eb74a50d0a5276fa06c00b5ecb20da53546449ddc45ea LICENSE diff --git a/package/python-cheetah/python-cheetah.mk b/package/python-cheetah/python-cheetah.mk index 3dfd1fc54a5..92688f6ced0 100644 --- a/package/python-cheetah/python-cheetah.mk +++ b/package/python-cheetah/python-cheetah.mk @@ -4,10 +4,9 @@ # ################################################################################ -# Please keep in sync with package/python3-cheetah/python3-cheetah.mk -PYTHON_CHEETAH_VERSION = 3.2.4 +PYTHON_CHEETAH_VERSION = 3.2.6.post2 PYTHON_CHEETAH_SOURCE = Cheetah3-$(PYTHON_CHEETAH_VERSION).tar.gz -PYTHON_CHEETAH_SITE = https://files.pythonhosted.org/packages/4e/72/e6a7d92279e3551db1b68fd336fd7a6e3d2f2ec742bf486486e6150d77d2 +PYTHON_CHEETAH_SITE = https://files.pythonhosted.org/packages/c0/97/c3fa47e223207e6ca6b501a954c5c959ed3e99f2a1ceec9918238ce38418 PYTHON_CHEETAH_LICENSE = MIT PYTHON_CHEETAH_LICENSE_FILES = LICENSE PYTHON_CHEETAH_SETUP_TYPE = setuptools diff --git a/package/python-cheroot/Config.in b/package/python-cheroot/Config.in index 45dd2d8a11b..bb9b4abbc3f 100644 --- a/package/python-cheroot/Config.in +++ b/package/python-cheroot/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_CHEROOT bool "python-cheroot" - depends on BR2_PACKAGE_PYTHON3 # python-more-itertools, python-jaraco-functools select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_MORE_ITERTOOLS # runtime select BR2_PACKAGE_PYTHON_JARACO_FUNCTOOLS # runtime diff --git a/package/python-cherrypy/Config.in b/package/python-cherrypy/Config.in index eb83054be3f..7548dcf91b1 100644 --- a/package/python-cherrypy/Config.in +++ b/package/python-cherrypy/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_CHERRYPY bool "python-cherrypy" - depends on BR2_PACKAGE_PYTHON3 # python-cheroot, python-portend select BR2_PACKAGE_PYTHON_CHEROOT # runtime select BR2_PACKAGE_PYTHON_JARACO_CLASSES # runtime select BR2_PACKAGE_PYTHON_PORTEND # runtime diff --git a/package/python-click/python-click.hash b/package/python-click/python-click.hash index 911f13dfa3a..fb6e457ad55 100644 --- a/package/python-click/python-click.hash +++ b/package/python-click/python-click.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/click/json -md5 7f53d50f7b7373ebc7963f9ff697450a Click-7.0.tar.gz -sha256 5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7 Click-7.0.tar.gz +md5 53692f62cb99a1a10c59248f1776d9c0 click-7.1.2.tar.gz +sha256 d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a click-7.1.2.tar.gz # Locally computed sha256 -sha256 e212319faefa4f459c8ac937fdc8557040a3cab8af29366ca2a48d239025225c LICENSE.rst +sha256 9a8ad106a394e853bfe21f42f4e72d592819a22805d991b5f3275029292b658d LICENSE.rst diff --git a/package/python-click/python-click.mk b/package/python-click/python-click.mk index 12539f557b5..a829257f5e0 100644 --- a/package/python-click/python-click.mk +++ b/package/python-click/python-click.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CLICK_VERSION = 7.0 -PYTHON_CLICK_SOURCE = Click-$(PYTHON_CLICK_VERSION).tar.gz -PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47 +PYTHON_CLICK_VERSION = 7.1.2 +PYTHON_CLICK_SOURCE = click-$(PYTHON_CLICK_VERSION).tar.gz +PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/27/6f/be940c8b1f1d69daceeb0032fee6c34d7bd70e3e649ccac0951500b4720e PYTHON_CLICK_LICENSE = BSD-3-Clause PYTHON_CLICK_LICENSE_FILES = LICENSE.rst PYTHON_CLICK_SETUP_TYPE = setuptools diff --git a/package/python-coherence/0001-Fix-twisted-detection.patch b/package/python-coherence/0001-Fix-twisted-detection.patch deleted file mode 100644 index c0e51b9e315..00000000000 --- a/package/python-coherence/0001-Fix-twisted-detection.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3cf8d89cbb44b5c7a0693d0b5d665e68acc3927c Mon Sep 17 00:00:00 2001 -From: Thomas Klausner -Date: Tue, 10 May 2016 00:14:33 +0200 -Subject: [PATCH] Fix twisted detection. - -Addresses https://github.com/coherence-project/Coherence/issues/25 - -Signed-off-by: Thomas Klausner -Signed-off-by: Yegor Yefremov ---- - coherence/__init__.py | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/coherence/__init__.py b/coherence/__init__.py -index 2e4e8f1..4c4d73d 100644 ---- a/coherence/__init__.py -+++ b/coherence/__init__.py -@@ -24,8 +24,6 @@ try: - if twisted_version < Version("twisted", 2, 5, 0): - raise ImportError("Twisted >= 2.5 is required. Please install it.") - -- if twisted_web_version < Version("twisted.web", 2, 5, 0): -- raise ImportError("Twisted.Web >= 2.5 is required. Please install it") - except ImportError, exc: - # log error to stderr, might be useful for debugging purpose - for arg in exc.args: --- -2.8.1 - diff --git a/package/python-coherence/Config.in b/package/python-coherence/Config.in deleted file mode 100644 index 0f50080e675..00000000000 --- a/package/python-coherence/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_PYTHON_COHERENCE - bool "python-coherence" - depends on BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_TWISTED - select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE - select BR2_PACKAGE_PYTHON_PYASN1 - help - A DLNA/UPnP Media Server and Framework for the Digital Living. - - https://github.com/coherence-project/Coherence diff --git a/package/python-coherence/python-coherence.hash b/package/python-coherence/python-coherence.hash deleted file mode 100644 index 3c2d45b537f..00000000000 --- a/package/python-coherence/python-coherence.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 97c8b700b3fe73d48eacb259008f410d6567e5d7d1b8e96386f8cc2422135ca5 python-coherence-b7856985fd496689ca1f9024925ae737297c00d1.tar.gz -sha256 7713ed8484b4d3364c7f6f2c02aed427b06a0159b1f77aecf907d47016812e81 LICENCE diff --git a/package/python-coherence/python-coherence.mk b/package/python-coherence/python-coherence.mk deleted file mode 100644 index 24da7f70a7a..00000000000 --- a/package/python-coherence/python-coherence.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# python-coherence -# -################################################################################ - -PYTHON_COHERENCE_VERSION = b7856985fd496689ca1f9024925ae737297c00d1 -PYTHON_COHERENCE_SITE = $(call github,coherence-project,Coherence,$(PYTHON_COHERENCE_VERSION)) -PYTHON_COHERENCE_SETUP_TYPE = setuptools -PYTHON_COHERENCE_LICENSE = MIT -PYTHON_COHERENCE_LICENSE_FILES = LICENCE - -$(eval $(python-package)) diff --git a/package/python-colorlog/python-colorlog.hash b/package/python-colorlog/python-colorlog.hash index b7b27b59d92..f324c1f2902 100644 --- a/package/python-colorlog/python-colorlog.hash +++ b/package/python-colorlog/python-colorlog.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/colorlog/json -md5 25f79b76421132e2a9e08da15e4e0a73 colorlog-4.1.0.tar.gz -sha256 30aaef5ab2a1873dec5da38fd6ba568fa761c9fa10b40241027fa3edea47f3d2 colorlog-4.1.0.tar.gz +md5 f1b92c1cac428b2e3c9ac7edf2988440 colorlog-6.4.1.tar.gz +sha256 af99440154a01f27c09256760ea3477982bf782721feaa345904e806879df4d8 colorlog-6.4.1.tar.gz # Locally computed sha256 checksums -sha256 915d2c0c578d5015fb561f69ce2970a0d0ed566f0b99bdb6a4ebb439e9c81b0d LICENSE +sha256 b1d9082bc483623fd59fc7279b457f0e40d942a76426cde257239e04dfe4125a LICENSE diff --git a/package/python-colorlog/python-colorlog.mk b/package/python-colorlog/python-colorlog.mk index 18c077e4ab6..801b30be897 100644 --- a/package/python-colorlog/python-colorlog.mk +++ b/package/python-colorlog/python-colorlog.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_COLORLOG_VERSION = 4.1.0 +PYTHON_COLORLOG_VERSION = 6.4.1 PYTHON_COLORLOG_SOURCE = colorlog-$(PYTHON_COLORLOG_VERSION).tar.gz -PYTHON_COLORLOG_SITE = https://files.pythonhosted.org/packages/a5/51/c6e1f2c7e6d7524b580d5a8d7691fd4530f894ae8a23ba66a065291ceba2 +PYTHON_COLORLOG_SITE = https://files.pythonhosted.org/packages/d6/4a/840f6cb7e922a717c765a3cdc6988aff22a6ef211d88c8d16701dfbd664f PYTHON_COLORLOG_SETUP_TYPE = setuptools PYTHON_COLORLOG_LICENSE = MIT PYTHON_COLORLOG_LICENSE_FILES = LICENSE diff --git a/package/python-colorzero/python-colorzero.hash b/package/python-colorzero/python-colorzero.hash index 118ccea7d70..fc2455c8360 100644 --- a/package/python-colorzero/python-colorzero.hash +++ b/package/python-colorzero/python-colorzero.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 24d30b55793150f9ae7478f8aa2126fe5598a31f928907eadbf9d5a19aa9964c python-colorzero-1.1.tar.gz +sha256 86c9933b004aec8ce1c476d1d1129e00325c7724df3c09aa353d5f8e883ed08d python-colorzero-2.0.tar.gz # Locally computed -sha256 47778d78e05bb6c39c022814e3712a0327c6418c7251757e72167ab8ff12bb4d LICENSE.txt +sha256 ee1c76f465410c34802ddf81d70e1ea7a4542cf58459425038498d8f4e36bb45 LICENSE.txt diff --git a/package/python-colorzero/python-colorzero.mk b/package/python-colorzero/python-colorzero.mk index 6ddbcbe1c56..f38c98a0936 100644 --- a/package/python-colorzero/python-colorzero.mk +++ b/package/python-colorzero/python-colorzero.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_COLORZERO_VERSION = 1.1 +PYTHON_COLORZERO_VERSION = 2.0 PYTHON_COLORZERO_SITE = $(call github,waveform80,colorzero,release-$(PYTHON_COLORZERO_VERSION)) PYTHON_COLORZERO_LICENSE = BSD-3-Clause PYTHON_COLORZERO_LICENSE_FILES = LICENSE.txt diff --git a/package/python-configobj/Config.in b/package/python-configobj/Config.in deleted file mode 100644 index fc57e26f1c8..00000000000 --- a/package/python-configobj/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_PYTHON_CONFIGOBJ - bool "python-configobj" - depends on BR2_PACKAGE_PYTHON - help - ConfigObj is a simple but powerful config file reader and - writer: an ini file round tripper. Its main feature is that - it is very easy to use, with a straightforward programmer's - interface and a simple syntax for config files. - - http://www.voidspace.org.uk/python/configobj.html diff --git a/package/python-configobj/python-configobj.hash b/package/python-configobj/python-configobj.hash deleted file mode 100644 index d43c4537962..00000000000 --- a/package/python-configobj/python-configobj.hash +++ /dev/null @@ -1,3 +0,0 @@ -# md5 from https://pypi.python.org/pypi/configobj/json, sha256 locally computed -md5 e472a3a1c2a67bb0ec9b5d54c13a47d6 configobj-5.0.6.tar.gz -sha256 a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902 configobj-5.0.6.tar.gz diff --git a/package/python-configobj/python-configobj.mk b/package/python-configobj/python-configobj.mk deleted file mode 100644 index 9e281d28e73..00000000000 --- a/package/python-configobj/python-configobj.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-configobj -# -################################################################################ - -PYTHON_CONFIGOBJ_VERSION = 5.0.6 -PYTHON_CONFIGOBJ_SOURCE = configobj-$(PYTHON_CONFIGOBJ_VERSION).tar.gz -PYTHON_CONFIGOBJ_SITE = https://pypi.python.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab -PYTHON_CONFIGOBJ_LICENSE = BSD-3-Clause -# License only mentioned in the source -PYTHON_CONFIGOBJ_SETUP_TYPE = distutils - -$(eval $(python-package)) diff --git a/package/python-configshell-fb/Config.in b/package/python-configshell-fb/Config.in index 90a295fc8df..ed7f9e0234d 100644 --- a/package/python-configshell-fb/Config.in +++ b/package/python-configshell-fb/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_PYTHON_CONFIGSHELL_FB bool "python-configshell-fb" select BR2_PACKAGE_PYTHON_PYPARSING - select BR2_PACKAGE_PYTHON3_READLINE if BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_READLINE if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_READLINE select BR2_PACKAGE_PYTHON_SIX select BR2_PACKAGE_PYTHON_URWID help diff --git a/package/python-configshell-fb/python-configshell-fb.hash b/package/python-configshell-fb/python-configshell-fb.hash index 0903e284aad..8fc38f61a6b 100644 --- a/package/python-configshell-fb/python-configshell-fb.hash +++ b/package/python-configshell-fb/python-configshell-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 3685446d6ee02881930bb2fdc5fdd254938da66ce9843a5b3676c4246b058e4b python-configshell-fb-1.1.fb18.tar.gz +sha256 24b47284b463dcfb9ee0c1558827e13442127e62fa279b6e0253f136cf49058c python-configshell-fb-1.1.29.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/python-configshell-fb/python-configshell-fb.mk b/package/python-configshell-fb/python-configshell-fb.mk index 94b6fed5ab0..d0dd421e8da 100644 --- a/package/python-configshell-fb/python-configshell-fb.mk +++ b/package/python-configshell-fb/python-configshell-fb.mk @@ -6,7 +6,7 @@ # When upgrading the version, be sure to also upgrade python-rtslib-fb # and targetcli-fb at the same time. -PYTHON_CONFIGSHELL_FB_VERSION = 1.1.fb18 +PYTHON_CONFIGSHELL_FB_VERSION = 1.1.29 PYTHON_CONFIGSHELL_FB_SITE = $(call github,open-iscsi,configshell-fb,v$(PYTHON_CONFIGSHELL_FB_VERSION)) PYTHON_CONFIGSHELL_FB_LICENSE = Apache-2.0 PYTHON_CONFIGSHELL_FB_LICENSE_FILES = COPYING diff --git a/package/python-couchdb/Config.in b/package/python-couchdb/Config.in index 9156883b38b..5bff75750bd 100644 --- a/package/python-couchdb/Config.in +++ b/package/python-couchdb/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_COUCHDB bool "python-couchdb" - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime help Python client library for working with CouchDB. diff --git a/package/python-crayons/Config.in b/package/python-crayons/Config.in index 10f3ece0092..865a142b4ce 100644 --- a/package/python-crayons/Config.in +++ b/package/python-crayons/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_CRAYONS bool "python-crayons" - depends on BR2_PACKAGE_PYTHON3 help This module is really simple, it gives you colored strings for terminal usage. diff --git a/package/python-crontab/python-crontab.hash b/package/python-crontab/python-crontab.hash index 2247cf3d3d4..b3aa96fc1bc 100644 --- a/package/python-crontab/python-crontab.hash +++ b/package/python-crontab/python-crontab.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-crontab/json -md5 7731a2253e853abfb6eceb8045368f22 python-crontab-2.5.1.tar.gz -sha256 4bbe7e720753a132ca4ca9d4094915f40e9d9dc8a807a4564007651018ce8c31 python-crontab-2.5.1.tar.gz +md5 2982bdce2d9b7789f32da649a9507c4b python-crontab-2.6.0.tar.gz +sha256 1e35ed7a3cdc3100545b43e196d34754e6551e7f95e4caebbe0e1c0ca41c2f1b python-crontab-2.6.0.tar.gz # Locally computed sha256 checksums sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/python-crontab/python-crontab.mk b/package/python-crontab/python-crontab.mk index ddb1067db25..9b29e11ccd8 100644 --- a/package/python-crontab/python-crontab.mk +++ b/package/python-crontab/python-crontab.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_CRONTAB_VERSION = 2.5.1 -PYTHON_CRONTAB_SITE = https://files.pythonhosted.org/packages/1b/7e/fb78b96de58a49b8ef807c321870ef4de3de5928fd71a40a400aed714310 +PYTHON_CRONTAB_VERSION = 2.6.0 +PYTHON_CRONTAB_SITE = https://files.pythonhosted.org/packages/06/b0/c270a1b5c83d9e0f83ab654d3153c39d80f61ba49fefde50fd23ab351381 PYTHON_CRONTAB_SETUP_TYPE = setuptools PYTHON_CRONTAB_LICENSE = LGPL-3.0+ PYTHON_CRONTAB_LICENSE_FILES = COPYING diff --git a/package/python-crossbar/0002-Remove-idna-requirement.patch b/package/python-crossbar/0002-Remove-idna-requirement.patch index 4948b91b05e..5e19a467c2d 100644 --- a/package/python-crossbar/0002-Remove-idna-requirement.patch +++ b/package/python-crossbar/0002-Remove-idna-requirement.patch @@ -16,14 +16,14 @@ diff --git a/requirements-min.txt b/requirements-min.txt index 92fb0f8f..13cdac87 100644 --- a/requirements-min.txt +++ b/requirements-min.txt -@@ -6,7 +6,6 @@ click>=6.7 +@@ -8,7 +8,6 @@ click>=6.7 constantly>=15.1.0 - cryptography>=1.9 - h2>=3.0,<4.0 + cryptography>=2.6.1 + h2>=3.2.0 -idna<2.6,>=2.5 + importlib-resources>=4.1.1 incremental>=17.5.0 - jinja2>=2.9.6 - lmdb>=0.92 + jinja2>=2.10.1 -- 2.17.1 diff --git a/package/python-crossbar/Config.in b/package/python-crossbar/Config.in index 50b70b8e02c..9625d9ce8ee 100644 --- a/package/python-crossbar/Config.in +++ b/package/python-crossbar/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_CROSSBAR bool "python-crossbar" - depends on BR2_INSTALL_LIBSTDCPP # python-cryptography - depends on BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography # All the following dependencies are runtime dependencies select BR2_PACKAGE_PYTHON_ATTRS select BR2_PACKAGE_PYTHON_AUTOBAHN @@ -48,7 +47,3 @@ config BR2_PACKAGE_PYTHON_CROSSBAR components that can talk in real-time with each other. https://pypi.python.org/pypi/crossbar - -comment "python-crossbar needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_PYTHON3 diff --git a/package/python-crossbar/python-crossbar.hash b/package/python-crossbar/python-crossbar.hash index 486b4d56956..4441578a298 100644 --- a/package/python-crossbar/python-crossbar.hash +++ b/package/python-crossbar/python-crossbar.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/crossbar/json -md5 f1756c5a7eac95aa0ff3e307cdd960df crossbar-20.4.2.tar.gz -sha256 67a14864850b562c2b5586eca37f39b2eff3d650ba955bace894e6b5d0633dbb crossbar-20.4.2.tar.gz +md5 df576100bcf6e423cdc1e2e96b602140 crossbar-21.3.1.tar.gz +sha256 ac71959f0c57ab08d43f7830b85c6312e000b25543a179cd751ac357944dd7ef crossbar-21.3.1.tar.gz # Locally computed sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 crossbar/LICENSE diff --git a/package/python-crossbar/python-crossbar.mk b/package/python-crossbar/python-crossbar.mk index 99ddc67df77..aae61cd2e8a 100644 --- a/package/python-crossbar/python-crossbar.mk +++ b/package/python-crossbar/python-crossbar.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CROSSBAR_VERSION = 20.4.2 +PYTHON_CROSSBAR_VERSION = 21.3.1 PYTHON_CROSSBAR_SOURCE = crossbar-$(PYTHON_CROSSBAR_VERSION).tar.gz -PYTHON_CROSSBAR_SITE = https://files.pythonhosted.org/packages/3f/a2/d8aff4b366b565669236e6bbb09d9f1bbe9162eb542822e89210141dd738 +PYTHON_CROSSBAR_SITE = https://files.pythonhosted.org/packages/17/37/aafc4ec30068fd7ebb97f1a00d4ddf8de482dfa4c1d2a1fc6bb814d91400 PYTHON_CROSSBAR_LICENSE = AGPL-3.0 PYTHON_CROSSBAR_LICENSE_FILES = crossbar/LICENSE PYTHON_CROSSBAR_SETUP_TYPE = setuptools diff --git a/package/python-cryptography/Config.in b/package/python-cryptography/Config.in index d1c2917ea9d..213aa24fa83 100644 --- a/package/python-cryptography/Config.in +++ b/package/python-cryptography/Config.in @@ -1,24 +1,10 @@ config BR2_PACKAGE_PYTHON_CRYPTOGRAPHY bool "python-cryptography" - depends on BR2_INSTALL_LIBSTDCPP # python-pyasn + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PYTHON_CFFI # runtime - select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_IDNA # runtime - select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_ASN1CRYPTO # runtime - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime help cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. https://cryptography.io - -comment "python-cryptography needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-cryptography/python-cryptography.hash b/package/python-cryptography/python-cryptography.hash index c6768ff21a5..1219fa9b5f1 100644 --- a/package/python-cryptography/python-cryptography.hash +++ b/package/python-cryptography/python-cryptography.hash @@ -1,7 +1,6 @@ -# md5, sha256 from https://pypi.org/pypi/cryptography/json -md5 163608a7cb838c6b39360e1e64377d54 cryptography-3.0.tar.gz -sha256 8e924dbc025206e97756e8903039662aa58aa9ba357d8e1d8fc29e3092322053 cryptography-3.0.tar.gz +# Locally calculated after vendoring +sha256 196bba703cebc052a19f5353614fcfa9d680471990c10305f110adcc05744eeb cryptography-36.0.1.tar.gz # Locally computed sha256 checksums -sha256 35452b557fab0efb1e80d7edb9c4e5118b9384082adaa051dde342102cb9de8d LICENSE +sha256 43dad2cc752ab721cd9a9f36ece70fb53ab7713551f2d3d8694d8e8c5a06d6e2 LICENSE sha256 aac73b3148f6d1d7111dbca32099f68d26c644c6813ae1e4f05f6579aa2663fe LICENSE.APACHE sha256 602c4c7482de6479dd2e9793cda275e5e63d773dacd1eca689232ab7008fb4fb LICENSE.BSD diff --git a/package/python-cryptography/python-cryptography.mk b/package/python-cryptography/python-cryptography.mk index 6eb7be8d5d8..a524f729c8c 100644 --- a/package/python-cryptography/python-cryptography.mk +++ b/package/python-cryptography/python-cryptography.mk @@ -4,12 +4,27 @@ # ################################################################################ -PYTHON_CRYPTOGRAPHY_VERSION = 3.0 +PYTHON_CRYPTOGRAPHY_VERSION = 36.0.1 PYTHON_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON_CRYPTOGRAPHY_VERSION).tar.gz -PYTHON_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/bf/ac/552fc8729d90393845cc3a2062facf4a89dcbe206fa78771d60ddaae7554 +PYTHON_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/f9/4b/1cf8e281f7ae4046a59e5e39dd7471d46db9f61bb564fddbff9084c4334f PYTHON_CRYPTOGRAPHY_SETUP_TYPE = setuptools PYTHON_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3-Clause PYTHON_CRYPTOGRAPHY_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD -PYTHON_CRYPTOGRAPHY_DEPENDENCIES = host-python-cffi openssl +PYTHON_CRYPTOGRAPHY_CPE_ID_VENDOR = cryptography_project +PYTHON_CRYPTOGRAPHY_CPE_ID_PRODUCT = cryptography +PYTHON_CRYPTOGRAPHY_DEPENDENCIES = \ + host-python-setuptools-rust \ + host-python-cffi \ + host-rustc \ + openssl +PYTHON_CRYPTOGRAPHY_ENV = \ + $(PKG_CARGO_ENV) \ + PYO3_CROSS_LIB_DIR="$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)" +# We need to vendor the Cargo crates at download time +PYTHON_CRYPTOGRAPHY_DOWNLOAD_POST_PROCESS = cargo +PYTHON_CRYPTOGRAPHY_DOWNLOAD_DEPENDENCIES = host-rustc +PYTHON_CRYPTOGRAPHY_DL_ENV = \ + $(PKG_CARGO_ENV) \ + BR_CARGO_MANIFEST_PATH=src/rust/Cargo.toml $(eval $(python-package)) diff --git a/package/python-cssselect2/Config.in b/package/python-cssselect2/Config.in new file mode 100644 index 00000000000..030d6df0def --- /dev/null +++ b/package/python-cssselect2/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_CSSSELECT2 + bool "python-cssselect2" + select BR2_PACKAGE_PYTHON_TINYCSS2 # runtime + select BR2_PACKAGE_PYTHON_WEBENCODINGS # runtime + help + CSS selectors for Python ElementTree. + + https://doc.courtbouillon.org/cssselect2/ diff --git a/package/python-cssselect2/python-cssselect2.hash b/package/python-cssselect2/python-cssselect2.hash new file mode 100644 index 00000000000..ed5b8633021 --- /dev/null +++ b/package/python-cssselect2/python-cssselect2.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/cssselect2/json +md5 6dfd5963c8a5d85f2634d1650b1ddfe1 cssselect2-0.4.1.tar.gz +sha256 93fbb9af860e95dd40bf18c3b2b6ed99189a07c0f29ba76f9c5be71344664ec8 cssselect2-0.4.1.tar.gz +# Locally computed sha256 checksums +sha256 6fd97229a1d1b0f6a8b41e109f413426dbc0874b1e03746d66cc33282601c2c2 LICENSE diff --git a/package/python-cssselect2/python-cssselect2.mk b/package/python-cssselect2/python-cssselect2.mk new file mode 100644 index 00000000000..18e0fba8394 --- /dev/null +++ b/package/python-cssselect2/python-cssselect2.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-cssselect2 +# +################################################################################ + +PYTHON_CSSSELECT2_VERSION = 0.4.1 +PYTHON_CSSSELECT2_SOURCE = cssselect2-$(PYTHON_CSSSELECT2_VERSION).tar.gz +PYTHON_CSSSELECT2_SITE = https://files.pythonhosted.org/packages/ad/3d/fb764303deb34cbc1a32fcecdfd239367cb16323920c88390b2f5ad751f0 +PYTHON_CSSSELECT2_SETUP_TYPE = distutils +PYTHON_CSSSELECT2_LICENSE = BSD-3-Clause +PYTHON_CSSSELECT2_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-cssutils/Config.in b/package/python-cssutils/Config.in index 74de742c31b..1c23a587f60 100644 --- a/package/python-cssutils/Config.in +++ b/package/python-cssutils/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_CSSUTILS bool "python-cssutils" - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime help A CSS Cascading Style Sheets library for Python. diff --git a/package/python-cssutils/python-cssutils.hash b/package/python-cssutils/python-cssutils.hash index 393daffb8be..e22dde6e56e 100644 --- a/package/python-cssutils/python-cssutils.hash +++ b/package/python-cssutils/python-cssutils.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cssutils/json -md5 dc66d96c2d78f1687f59ac412fe9d318 cssutils-1.0.2.tar.gz -sha256 a2fcf06467553038e98fea9cfe36af2bf14063eb147a70958cfcaa8f5786acaf cssutils-1.0.2.tar.gz +md5 71955999f595e4b0eb5a218d614652ca cssutils-2.3.0.tar.gz +sha256 b2d3b16047caae82e5c590036935bafa1b621cf45c2f38885af4be4838f0fd00 cssutils-2.3.0.tar.gz # Locally computed sha256 checksums -sha256 03c570a068086ee577dcd795519ea93462b2ed2fcb6dcc4dfce56a71a2fd6e5a COPYING.LESSER +sha256 03c570a068086ee577dcd795519ea93462b2ed2fcb6dcc4dfce56a71a2fd6e5a COPYING.LESSER diff --git a/package/python-cssutils/python-cssutils.mk b/package/python-cssutils/python-cssutils.mk index 513c3a87de1..09c2ca44d6f 100644 --- a/package/python-cssutils/python-cssutils.mk +++ b/package/python-cssutils/python-cssutils.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_CSSUTILS_VERSION = 1.0.2 +PYTHON_CSSUTILS_VERSION = 2.3.0 PYTHON_CSSUTILS_SOURCE = cssutils-$(PYTHON_CSSUTILS_VERSION).tar.gz -PYTHON_CSSUTILS_SITE = https://files.pythonhosted.org/packages/5c/0b/c5f29d29c037e97043770b5e7c740b6252993e4b57f029b3cd03c78ddfec +PYTHON_CSSUTILS_SITE = https://files.pythonhosted.org/packages/f5/c6/878abb7df855938a067b762a688da3fcdfea4e41c2399feaf80369b61ed7 PYTHON_CSSUTILS_LICENSE = LGPL-3.0+ PYTHON_CSSUTILS_LICENSE_FILES = COPYING.LESSER PYTHON_CSSUTILS_SETUP_TYPE = setuptools +PYTHON_CSSUTILS_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-cycler/python-cycler.hash b/package/python-cycler/python-cycler.hash index 8255458b26f..cef416a86d4 100644 --- a/package/python-cycler/python-cycler.hash +++ b/package/python-cycler/python-cycler.hash @@ -1,4 +1,5 @@ -# sha256 from https://pypi.org/project/cyclic/#files -sha256 cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8 cycler-0.10.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/cycler/json +md5 4d0c25f418956e91c47163179682e0ef cycler-0.11.0.tar.gz +sha256 9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f cycler-0.11.0.tar.gz # Locally computed sha256 checksums -sha256 f1218143d766da3fea66f13396b7f15df46a83303f29bf96ba6e98eb4d42f408 LICENSE +sha256 f1218143d766da3fea66f13396b7f15df46a83303f29bf96ba6e98eb4d42f408 LICENSE diff --git a/package/python-cycler/python-cycler.mk b/package/python-cycler/python-cycler.mk index 4f1f40191f8..03155d72419 100644 --- a/package/python-cycler/python-cycler.mk +++ b/package/python-cycler/python-cycler.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_CYCLER_VERSION = 0.10.0 +PYTHON_CYCLER_VERSION = 0.11.0 PYTHON_CYCLER_SOURCE = cycler-$(PYTHON_CYCLER_VERSION).tar.gz -PYTHON_CYCLER_SITE = https://files.pythonhosted.org/packages/c2/4b/137dea450d6e1e3d474e1d873cd1d4f7d3beed7e0dc973b06e8e10d32488 -PYTHON_CYCLER_LICENSE = BSD +PYTHON_CYCLER_SITE = https://files.pythonhosted.org/packages/34/45/a7caaacbfc2fa60bee42effc4bcc7d7c6dbe9c349500e04f65a861c15eb9 +PYTHON_CYCLER_LICENSE = BSD-3-Clause PYTHON_CYCLER_LICENSE_FILES = LICENSE PYTHON_CYCLER_SETUP_TYPE = setuptools diff --git a/package/python-cython/python-cython.hash b/package/python-cython/python-cython.hash index 168d1688388..9c5f1225cfb 100644 --- a/package/python-cython/python-cython.hash +++ b/package/python-cython/python-cython.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/cython/json -md5 12c5e45af71dcc6dff28cdcbcbef6f39 Cython-0.29.21.tar.gz -sha256 e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad Cython-0.29.21.tar.gz +md5 2b2ba86abcf823985935d37f5e43b19a Cython-0.29.27.tar.gz +sha256 c6a442504db906dfc13a480e96850cced994ecdc076bcf492c43515b78f70da2 Cython-0.29.27.tar.gz # Locally computed sha256 checksums sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE.txt sha256 e1eb1c49a8508e8173dac30157e4a6439a44ad8846194746c424fbc3fc2b95d7 COPYING.txt diff --git a/package/python-cython/python-cython.mk b/package/python-cython/python-cython.mk index c8dcf382ff6..b9fbf7b11a9 100644 --- a/package/python-cython/python-cython.mk +++ b/package/python-cython/python-cython.mk @@ -4,10 +4,9 @@ # ################################################################################ -# Please keep in sync with package/python3-cython/python3-cython.mk -PYTHON_CYTHON_VERSION = 0.29.21 +PYTHON_CYTHON_VERSION = 0.29.27 PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz -PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/6c/9f/f501ba9d178aeb1f5bf7da1ad5619b207c90ac235d9859961c11829d0160 +PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/eb/46/80dd9e5ad67ebc766ff3229901bde4a7bc82907efe93cd7007c4df458dd5 PYTHON_CYTHON_SETUP_TYPE = setuptools PYTHON_CYTHON_LICENSE = Apache-2.0 PYTHON_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt diff --git a/package/python-daphne/Config.in b/package/python-daphne/Config.in index 601b2e1db8b..51c66532f0c 100644 --- a/package/python-daphne/Config.in +++ b/package/python-daphne/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_DAPHNE bool "python-daphne" - depends on BR2_INSTALL_LIBSTDCPP # python-autobahn -> python-cryptography - depends on BR2_PACKAGE_PYTHON3 + # python-autobahn -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_ASGIREF # runtime select BR2_PACKAGE_PYTHON_AUTOBAHN # runtime select BR2_PACKAGE_PYTHON_TWISTED # runtime @@ -14,7 +14,3 @@ config BR2_PACKAGE_PYTHON_DAPHNE versus HTTP endpoints. https://github.com/django/daphne - -comment "python-daphne needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_PYTHON3 diff --git a/package/python-dataproperty/Config.in b/package/python-dataproperty/Config.in index 2c5da40ff2d..9dab9e4f640 100644 --- a/package/python-dataproperty/Config.in +++ b/package/python-dataproperty/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PYTHON_DATAPROPERTY bool "python-dataproperty" - depends on BR2_PACKAGE_PYTHON3 # python-mbstrdecoder select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TYPEPY # runtime help Python library for extract property from data. diff --git a/package/python-dataproperty/python-dataproperty.hash b/package/python-dataproperty/python-dataproperty.hash index bd23c461b14..380846e9f16 100644 --- a/package/python-dataproperty/python-dataproperty.hash +++ b/package/python-dataproperty/python-dataproperty.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dataproperty/json -md5 14a3e13d611d063df43304c3adeb6d12 DataProperty-0.48.1.tar.gz -sha256 96bd47c14b4aaba4780d77fa4d2c876cf35eb6848ab1df1a6338447b6c2c10e4 DataProperty-0.48.1.tar.gz +md5 ce5fd0d37b6d0ca57f144e22cd62bfec DataProperty-0.54.2.tar.gz +sha256 df2fcf00e7a57f0a6089f686f847527eb3c91ded5c419daef6d06ee4bb1187b4 DataProperty-0.54.2.tar.gz # Locally computed sha256 checksums sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-dataproperty/python-dataproperty.mk b/package/python-dataproperty/python-dataproperty.mk index 33e07bc676d..1b07dc1bb78 100644 --- a/package/python-dataproperty/python-dataproperty.mk +++ b/package/python-dataproperty/python-dataproperty.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DATAPROPERTY_VERSION = 0.48.1 +PYTHON_DATAPROPERTY_VERSION = 0.54.2 PYTHON_DATAPROPERTY_SOURCE = DataProperty-$(PYTHON_DATAPROPERTY_VERSION).tar.gz -PYTHON_DATAPROPERTY_SITE = https://files.pythonhosted.org/packages/2e/b5/d644919656adf4e7ae94b5479a3fec7497060c89292c335b27e59d66706f +PYTHON_DATAPROPERTY_SITE = https://files.pythonhosted.org/packages/9a/03/44fb9094c4fb8032f254eaa37b3b07db82fa35779ceca097b3cde8464749 PYTHON_DATAPROPERTY_SETUP_TYPE = setuptools PYTHON_DATAPROPERTY_LICENSE = MIT PYTHON_DATAPROPERTY_LICENSE_FILES = LICENSE diff --git a/package/python-dateutil/python-dateutil.hash b/package/python-dateutil/python-dateutil.hash index f3dc69f2720..a52fb30a0fa 100644 --- a/package/python-dateutil/python-dateutil.hash +++ b/package/python-dateutil/python-dateutil.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-dateutil/json -md5 f2a1d4b680b297b367a974664ca3a4f6 python-dateutil-2.8.1.tar.gz -sha256 73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c python-dateutil-2.8.1.tar.gz +md5 5970010bb72452344df3d76a10281b65 python-dateutil-2.8.2.tar.gz +sha256 0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 python-dateutil-2.8.2.tar.gz # Locally computed sha256 checksums -sha256 ba00f51a0d92823b5a1cde27d8b5b9d2321e67ed8da9bc163eff96d5e17e577e LICENSE +sha256 ba00f51a0d92823b5a1cde27d8b5b9d2321e67ed8da9bc163eff96d5e17e577e LICENSE diff --git a/package/python-dateutil/python-dateutil.mk b/package/python-dateutil/python-dateutil.mk index 759261d2d1c..b75f510bce8 100644 --- a/package/python-dateutil/python-dateutil.mk +++ b/package/python-dateutil/python-dateutil.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_DATEUTIL_VERSION = 2.8.1 -PYTHON_DATEUTIL_SITE = https://files.pythonhosted.org/packages/be/ed/5bbc91f03fa4c839c4c7360375da77f9659af5f7086b7a7bdda65771c8e0 +PYTHON_DATEUTIL_VERSION = 2.8.2 +PYTHON_DATEUTIL_SITE = https://files.pythonhosted.org/packages/4c/c4/13b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9 PYTHON_DATEUTIL_SETUP_TYPE = setuptools PYTHON_DATEUTIL_LICENSE = BSD-3-Clause PYTHON_DATEUTIL_LICENSE_FILES = LICENSE diff --git a/package/python-dbus-next/Config.in b/package/python-dbus-next/Config.in new file mode 100644 index 00000000000..6b00e707658 --- /dev/null +++ b/package/python-dbus-next/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_DBUS_NEXT + bool "python-dbus-next" + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + help + A zero-dependency DBus library for Python with asyncio + support. + + https://github.com/altdesktop/python-dbus-next diff --git a/package/python-dbus-next/python-dbus-next.hash b/package/python-dbus-next/python-dbus-next.hash new file mode 100644 index 00000000000..57bfaaf5474 --- /dev/null +++ b/package/python-dbus-next/python-dbus-next.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/dbus-next/json +md5 0e31605bd90f3460aebcd0bb7fe0dc20 dbus_next-0.2.3.tar.gz +sha256 f4eae26909332ada528c0a3549dda8d4f088f9b365153952a408e28023a626a5 dbus_next-0.2.3.tar.gz +# Locally computed sha256 checksums +sha256 c454ab6b8e0653a8eab828a8cbaaa368a1bbfba982178bb18b6177e311eae4cc LICENSE diff --git a/package/python-dbus-next/python-dbus-next.mk b/package/python-dbus-next/python-dbus-next.mk new file mode 100644 index 00000000000..f35a32cb3a0 --- /dev/null +++ b/package/python-dbus-next/python-dbus-next.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-dbus-next +# +################################################################################ + +PYTHON_DBUS_NEXT_VERSION = 0.2.3 +PYTHON_DBUS_NEXT_SOURCE = dbus_next-$(PYTHON_DBUS_NEXT_VERSION).tar.gz +PYTHON_DBUS_NEXT_SITE = https://files.pythonhosted.org/packages/ce/45/6a40fbe886d60a8c26f480e7d12535502b5ba123814b3b9a0b002ebca198 +PYTHON_DBUS_NEXT_SETUP_TYPE = setuptools +PYTHON_DBUS_NEXT_LICENSE = MIT +PYTHON_DBUS_NEXT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-decorator/python-decorator.hash b/package/python-decorator/python-decorator.hash index 77b48d84cd3..46ff7206d7d 100644 --- a/package/python-decorator/python-decorator.hash +++ b/package/python-decorator/python-decorator.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/decorator/json -md5 933981f288c4230816b5beee8d40e6ea decorator-4.4.1.tar.gz -sha256 54c38050039232e1db4ad7375cfce6748d7b41c29e95a081c8a6d2c30364a2ce decorator-4.4.1.tar.gz +md5 d01585c3ea5b36a209747fcc978a98c8 decorator-5.1.0.tar.gz +sha256 e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7 decorator-5.1.0.tar.gz # Locally computed sha256 checksums -sha256 fd11660cabf0532082c45706862fafc294907ec7f8e217818240a4999806782e LICENSE.txt +sha256 fd11660cabf0532082c45706862fafc294907ec7f8e217818240a4999806782e LICENSE.txt diff --git a/package/python-decorator/python-decorator.mk b/package/python-decorator/python-decorator.mk index ea56b786c46..a61f045e2a8 100644 --- a/package/python-decorator/python-decorator.mk +++ b/package/python-decorator/python-decorator.mk @@ -4,12 +4,14 @@ # ################################################################################ -# Please keep in sync with package/python3-decorator/python3-decorator.mk -PYTHON_DECORATOR_VERSION = 4.4.1 -PYTHON_DECORATOR_SITE = https://files.pythonhosted.org/packages/dc/c3/9d378af09f5737cfd524b844cd2fbb0d2263a35c11d712043daab290144d +PYTHON_DECORATOR_VERSION = 5.1.0 PYTHON_DECORATOR_SOURCE = decorator-$(PYTHON_DECORATOR_VERSION).tar.gz +PYTHON_DECORATOR_SITE = https://files.pythonhosted.org/packages/92/3c/34f8448b61809968052882b830f7d8d9a8e1c07048f70deb039ae599f73c PYTHON_DECORATOR_LICENSE = BSD-2-Clause PYTHON_DECORATOR_LICENSE_FILES = LICENSE.txt +PYTHON_DECORATOR_CPE_ID_VENDOR = python +PYTHON_DECORATOR_CPE_ID_PRODUCT = decorator PYTHON_DECORATOR_SETUP_TYPE = setuptools $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-defusedxml/python-defusedxml.hash b/package/python-defusedxml/python-defusedxml.hash index c782a97bbdb..c32c6cdb7de 100644 --- a/package/python-defusedxml/python-defusedxml.hash +++ b/package/python-defusedxml/python-defusedxml.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/defusedxml/json -md5 a59741f675c4cba649de40a99f732897 defusedxml-0.6.0.tar.gz -sha256 f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5 defusedxml-0.6.0.tar.gz +md5 a50e7f21aa60a741efe6b1b658dfb3f8 defusedxml-0.7.1.tar.gz +sha256 1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 defusedxml-0.7.1.tar.gz # Locally computed sha256 checksums sha256 b80ce9da8c42a1f91079627fbbe2bf27210ae108a0ffe5f077d5b08e076c24c8 LICENSE diff --git a/package/python-defusedxml/python-defusedxml.mk b/package/python-defusedxml/python-defusedxml.mk index 6d2a9aff436..19ba2fda68f 100644 --- a/package/python-defusedxml/python-defusedxml.mk +++ b/package/python-defusedxml/python-defusedxml.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DEFUSEDXML_VERSION = 0.6.0 +PYTHON_DEFUSEDXML_VERSION = 0.7.1 PYTHON_DEFUSEDXML_SOURCE = defusedxml-$(PYTHON_DEFUSEDXML_VERSION).tar.gz -PYTHON_DEFUSEDXML_SITE = https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77 +PYTHON_DEFUSEDXML_SITE = https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72 PYTHON_DEFUSEDXML_SETUP_TYPE = setuptools PYTHON_DEFUSEDXML_LICENSE = Python-2.0 PYTHON_DEFUSEDXML_LICENSE_FILES = LICENSE diff --git a/package/python-dialog/Config.in b/package/python-dialog/Config.in deleted file mode 100644 index c1fdb23723c..00000000000 --- a/package/python-dialog/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_PYTHON_DIALOG - bool "python-dialog" - depends on BR2_PACKAGE_PYTHON - depends on BR2_USE_MMU # dialog - select BR2_PACKAGE_DIALOG - help - A Python interface to the UNIX dialog utility and - mostly-compatible programs. - - http://pythondialog.sourceforge.net/ diff --git a/package/python-dialog/python-dialog.hash b/package/python-dialog/python-dialog.hash deleted file mode 100644 index 8f84e198b2c..00000000000 --- a/package/python-dialog/python-dialog.hash +++ /dev/null @@ -1,5 +0,0 @@ -# Locally computed after verifying -# https://sourceforge.net/projects/pythondialog/files/pythondialog/3.4.0/python3-pythondialog-3.4.0.tar.bz2.asc -# with key 9B6F19FB52965E6C21FE76142A205688F8489BDD -sha256 8978d355c8db6728eeb9e23b39449b14597f1c76cb06dc72462642ca7cde46a0 python2-pythondialog-3.4.0.tar.bz2 -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/python-dialog/python-dialog.mk b/package/python-dialog/python-dialog.mk deleted file mode 100644 index d5d4a4ceb50..00000000000 --- a/package/python-dialog/python-dialog.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# python-dialog -# -################################################################################ - -PYTHON_DIALOG_VERSION = 3.4.0 -PYTHON_DIALOG_SOURCE = python2-pythondialog-$(PYTHON_DIALOG_VERSION).tar.bz2 -PYTHON_DIALOG_SITE = http://downloads.sourceforge.net/project/pythondialog/pythondialog/$(PYTHON_DIALOG_VERSION) -PYTHON_DIALOG_LICENSE = LGPL-2.1+ -PYTHON_DIALOG_LICENSE_FILES = COPYING -PYTHON_DIALOG_SETUP_TYPE = distutils -PYTHON_DIALOG_DEPENDENCIES = dialog - -$(eval $(python-package)) diff --git a/package/python-dialog3/Config.in b/package/python-dialog3/Config.in index cd0760854ba..86812d27646 100644 --- a/package/python-dialog3/Config.in +++ b/package/python-dialog3/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_DIALOG3 bool "python-dialog3" - depends on BR2_PACKAGE_PYTHON3 depends on BR2_USE_MMU # dialog select BR2_PACKAGE_DIALOG help diff --git a/package/python-dialog3/python-dialog3.hash b/package/python-dialog3/python-dialog3.hash index 83e26c57275..42a7512e4fb 100644 --- a/package/python-dialog3/python-dialog3.hash +++ b/package/python-dialog3/python-dialog3.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/pythondialog/json -md5 3d5ebc33e85f6313964f5eef720dab19 pythondialog-3.4.0.tar.bz2 +md5 07e257d91099b804e040c6ea5ec56041 pythondialog-3.5.1.tar.gz # Locally computed -sha256 019cdbffe3f61d32d6fb158ce48a767478af2aac2f31fb40460b39aefae604fe pythondialog-3.4.0.tar.bz2 +sha256 34a0687290571f37d7d297514cc36bd4cd044a3a4355271549f91490d3e7ece8 pythondialog-3.5.1.tar.gz sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/python-dialog3/python-dialog3.mk b/package/python-dialog3/python-dialog3.mk index 4048447e1fc..60519856406 100644 --- a/package/python-dialog3/python-dialog3.mk +++ b/package/python-dialog3/python-dialog3.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_DIALOG3_VERSION = 3.4.0 -PYTHON_DIALOG3_SOURCE = pythondialog-$(PYTHON_DIALOG3_VERSION).tar.bz2 -PYTHON_DIALOG3_SITE = https://pypi.python.org/packages/fa/f4/686742f01ebb5863d4c5e1acab620acfed0fe97280a26b4ed25917f4f333 +PYTHON_DIALOG3_VERSION = 3.5.1 +PYTHON_DIALOG3_SOURCE = pythondialog-$(PYTHON_DIALOG3_VERSION).tar.gz +PYTHON_DIALOG3_SITE = https://files.pythonhosted.org/packages/72/3c/26ed0db035f97196704d0197d8b2254b8a6ca93a2d132430b0b0d597aa79 PYTHON_DIALOG3_LICENSE = LGPL-2.1+ PYTHON_DIALOG3_LICENSE_FILES = COPYING -PYTHON_DIALOG3_SETUP_TYPE = distutils +PYTHON_DIALOG3_SETUP_TYPE = setuptools PYTHON_DIALOG3_DEPENDENCIES = dialog $(eval $(python-package)) diff --git a/package/python-dicttoxml/Config.in b/package/python-dicttoxml/Config.in index e38a5f79098..145887eddc9 100644 --- a/package/python-dicttoxml/Config.in +++ b/package/python-dicttoxml/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_DICTTOXML bool "python-dicttoxml" - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_PYEXPAT help Converts a Python dictionary or other native data type into a valid XML string. diff --git a/package/python-distro/Config.in b/package/python-distro/Config.in new file mode 100644 index 00000000000..bb4151541ef --- /dev/null +++ b/package/python-distro/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_PYTHON_DISTRO + bool "python distro" + help + distro provides information about the OS distribution it + runs on, such as a reliable machine-readable ID, or version + information. + + It is the recommended replacement for Python's original + platform.linux_distribution function (removed in Python + 3.8). It also provides much more functionality which isn't + necessarily Python bound, like a command-line interface. + + https://github.com/nir0s/distro diff --git a/package/python-distro/python-distro.hash b/package/python-distro/python-distro.hash new file mode 100644 index 00000000000..e2b3c0a4448 --- /dev/null +++ b/package/python-distro/python-distro.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424 distro-1.6.0.tar.gz +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/python-distro/python-distro.mk b/package/python-distro/python-distro.mk new file mode 100644 index 00000000000..753e74d0205 --- /dev/null +++ b/package/python-distro/python-distro.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-distro +# +################################################################################ + +PYTHON_DISTRO_VERSION = 1.6.0 +PYTHON_DISTRO_SITE = https://files.pythonhosted.org/packages/a5/26/256fa167fe1bf8b97130b4609464be20331af8a3af190fb636a8a7efd7a2 +PYTHON_DISTRO_SOURCE = distro-$(PYTHON_DISTRO_VERSION).tar.gz +PYTHON_DISTRO_LICENSE = Apache-2.0 +PYTHON_DISTRO_LICENSE_FILES = LICENSE +PYTHON_DISTRO_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-django-enumfields/Config.in b/package/python-django-enumfields/Config.in index 58dea365ee4..e7236d130a0 100644 --- a/package/python-django-enumfields/Config.in +++ b/package/python-django-enumfields/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_DJANGO_ENUMFIELDS bool "python-django-enumfields" - select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime help Real Python Enums for Django. diff --git a/package/python-django-enumfields/python-django-enumfields.hash b/package/python-django-enumfields/python-django-enumfields.hash index 84eb028e653..352fa8d9075 100644 --- a/package/python-django-enumfields/python-django-enumfields.hash +++ b/package/python-django-enumfields/python-django-enumfields.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/django-enumfields/json -md5 c9725a2c31ca2949d111815742335279 django-enumfields-1.0.0.tar.gz -sha256 5b0e2dd5973337717ca6bd5a7d9e167e6ae01203c160d4761b88837c4678f219 django-enumfields-1.0.0.tar.gz +md5 e06bcaecd583ee40e30d556bfcbf0d66 django-enumfields-2.1.1.tar.gz +sha256 f64841732a9c343f5071220e0abcf5f51c9472c06e3c33d7c6a7ec27b6087561 django-enumfields-2.1.1.tar.gz # Locally computed sha256 checksums -sha256 5548de8c163dc57bd0a4f5772f1509f2c04f1390251c98ebf060c9d52a223f57 LICENSE +sha256 75b9c8c2514f22d66070ffc975c4d3132de01e0cc7b3a9662731bcb46cd2a042 LICENSE diff --git a/package/python-django-enumfields/python-django-enumfields.mk b/package/python-django-enumfields/python-django-enumfields.mk index 0121bd11730..20abb5bf6a2 100644 --- a/package/python-django-enumfields/python-django-enumfields.mk +++ b/package/python-django-enumfields/python-django-enumfields.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DJANGO_ENUMFIELDS_VERSION = 1.0.0 +PYTHON_DJANGO_ENUMFIELDS_VERSION = 2.1.1 PYTHON_DJANGO_ENUMFIELDS_SOURCE = django-enumfields-$(PYTHON_DJANGO_ENUMFIELDS_VERSION).tar.gz -PYTHON_DJANGO_ENUMFIELDS_SITE = https://files.pythonhosted.org/packages/b7/56/3f4e8d8ef6d5577a1b75b3cfae6dff819afd030e3a519a326ec7a7a0b74f +PYTHON_DJANGO_ENUMFIELDS_SITE = https://files.pythonhosted.org/packages/24/a8/aaf2b5ddb697c9bcab53c32cfebe11e536502e07c30646b4756e7214b685 PYTHON_DJANGO_ENUMFIELDS_SETUP_TYPE = setuptools PYTHON_DJANGO_ENUMFIELDS_LICENSE = MIT PYTHON_DJANGO_ENUMFIELDS_LICENSE_FILES = LICENSE diff --git a/package/python-django/Config.in b/package/python-django/Config.in index 6748d42e1aa..8ffceb72756 100644 --- a/package/python-django/Config.in +++ b/package/python-django/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_DJANGO bool "python-django" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON3_UNICODEDATA select BR2_PACKAGE_PYTHON3_PYEXPAT select BR2_PACKAGE_PYTHON_ASGIREF # runtime diff --git a/package/python-django/python-django.hash b/package/python-django/python-django.hash index f40cfa8f3c8..8d9f0aafdbd 100644 --- a/package/python-django/python-django.hash +++ b/package/python-django/python-django.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/django/json -md5 7020810fb65b17e82d22001883b63a12 Django-3.0.13.tar.gz -sha256 6f13c3e8109236129c49d65a42fbf30c928e66b05ca6862246061b9343ecbaf2 Django-3.0.13.tar.gz +md5 153fcb5dd7360b7ad219d65cb53e2d57 Django-4.0.4.tar.gz +sha256 4e8177858524417563cc0430f29ea249946d831eacb0068a1455686587df40b5 Django-4.0.4.tar.gz # Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-django/python-django.mk b/package/python-django/python-django.mk index 593b0c60439..b4d6ec21c9f 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 3.0.13 +PYTHON_DJANGO_VERSION = 4.0.4 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/3b/fe/11ec9b4cbae447e7b90d551be035d55c1293973592b491540334452f1f1f +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/d2/95/93d1f75da95624bf89e373d079fa72debf77f9b10acc31998cc52a5ff3f9 + PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_CPE_ID_VENDOR = djangoproject diff --git a/package/python-dnspython/python-dnspython.hash b/package/python-dnspython/python-dnspython.hash index af09d51cd51..c9c74c8d750 100644 --- a/package/python-dnspython/python-dnspython.hash +++ b/package/python-dnspython/python-dnspython.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dnspython/json -md5 bc9ca3b3a82164667d5730ec6d5248a2 dnspython-1.16.0.zip -sha256 36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01 dnspython-1.16.0.zip +md5 8a362d7b2358be3117683e2dbf9654fc dnspython-2.1.0.zip +sha256 e4a87f0b573201a0f3727fa18a516b055fd1107e0e5477cded4a2de497df1dd4 dnspython-2.1.0.zip # Locally computed sha256 checksums sha256 c3ea3ff5654b329c19d3bc5f7481af623c3dded4a6145585499f843ad3d741cd LICENSE diff --git a/package/python-dnspython/python-dnspython.mk b/package/python-dnspython/python-dnspython.mk index 18d98efd723..77e60828075 100644 --- a/package/python-dnspython/python-dnspython.mk +++ b/package/python-dnspython/python-dnspython.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DNSPYTHON_VERSION = 1.16.0 +PYTHON_DNSPYTHON_VERSION = 2.1.0 PYTHON_DNSPYTHON_SOURCE = dnspython-$(PYTHON_DNSPYTHON_VERSION).zip -PYTHON_DNSPYTHON_SITE = https://files.pythonhosted.org/packages/ec/c5/14bcd63cb6d06092a004793399ec395405edf97c2301dfdc146dfbd5beed +PYTHON_DNSPYTHON_SITE = https://files.pythonhosted.org/packages/13/27/5277de856f605f3429d752a39af3588e29d10181a3aa2e2ee471d817485a PYTHON_DNSPYTHON_LICENSE = ISC PYTHON_DNSPYTHON_LICENSE_FILES = LICENSE PYTHON_DNSPYTHON_SETUP_TYPE = setuptools @@ -17,4 +17,11 @@ define PYTHON_DNSPYTHON_EXTRACT_CMDS $(RM) -r $(@D)/dnspython-$(PYTHON_DNSPYTHON_VERSION) endef +define HOST_PYTHON_DNSPYTHON_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(HOST_PYTHON_DNSPYTHON_DL_DIR)/$(HOST_PYTHON_DNSPYTHON_SOURCE) + mv $(@D)/dnspython-$(HOST_PYTHON_DNSPYTHON_VERSION)/* $(@D) + $(RM) -r $(@D)/dnspython-$(HOST_PYTHON_DNSPYTHON_VERSION) +endef + $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-docker/Config.in b/package/python-docker/Config.in index df5e4887f4e..b2296f42eb9 100644 --- a/package/python-docker/Config.in +++ b/package/python-docker/Config.in @@ -1,10 +1,7 @@ config BR2_PACKAGE_PYTHON_DOCKER bool "python-docker" - # docker-engine may be running on another host, so no dependency - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME \ - if BR2_PACKAGE_PYTHON # runtime + # docker-engine may be running on another host, so no other dependency + select BR2_PACKAGE_PYTHON3_SSL # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT # runtime diff --git a/package/python-docker/python-docker.mk b/package/python-docker/python-docker.mk index 67cb150b485..f476a1badd3 100644 --- a/package/python-docker/python-docker.mk +++ b/package/python-docker/python-docker.mk @@ -10,5 +10,7 @@ PYTHON_DOCKER_SITE = https://files.pythonhosted.org/packages/de/54/a822d7116ff2f PYTHON_DOCKER_SETUP_TYPE = setuptools PYTHON_DOCKER_LICENSE = Apache-2.0 PYTHON_DOCKER_LICENSE_FILES = LICENSE +PYTHON_DOCKER_CPE_ID_VENDOR = docker +PYTHON_DOCKER_CPE_ID_PRODUCT = docker-py $(eval $(python-package)) diff --git a/package/python-docutils/0001-Update-setup.py.patch b/package/python-docutils/0001-Update-setup.py.patch deleted file mode 100644 index 3fb34a9763a..00000000000 --- a/package/python-docutils/0001-Update-setup.py.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 583e59ccf72a02c2a6f0399f29f622c7f2f4a932 Mon Sep 17 00:00:00 2001 -From: milde -Date: Sun, 1 Sep 2019 19:39:36 +0000 -Subject: [PATCH] Update setup.py - -Python 3.4 no longer supported, -more languages supported (and Lithuanian accepted by PyPi). - -git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@8383 929543f6-e4f2-0310-98a6-ba3bd3dd1d04 - -[Asaf: adjust upstream patch to 0.15.2] -Signed-off-by: Asaf Kahlon ---- - setup.py | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index f801ea2..5c1ebfd 100755 ---- a/setup.py -+++ b/setup.py -@@ -7,6 +7,10 @@ import os - import glob - try: - import setuptools -+except ImportError: -+ print('Warning: Could not load package `setuptools`.') -+ print('Actions requiring `setuptools` instead of `distutils` will fail') -+try: - from distutils.core import setup, Command - from distutils.command.build import build - from distutils.command.build_py import build_py -@@ -123,7 +127,7 @@ what-you-see-is-what-you-get plaintext markup syntax.""", # wrap at col 60 - 'maintainer_email': 'docutils-develop@lists.sourceforge.net', - 'license': 'public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)', - 'platforms': 'OS-independent', -- 'python_requires': '>=2.6, !=3.0.*, !=3.1.*, !=3.2.*', -+ 'python_requires': '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*', - 'package_dir': {'docutils': 'docutils', - 'docutils.tools': 'tools'}, - 'packages': ['docutils', -@@ -213,14 +219,20 @@ classifiers = [ - 'Natural Language :: Chinese (Simplified)', - 'Natural Language :: Chinese (Traditional)', - 'Natural Language :: Czech', -+ 'Natural Language :: Danish', - 'Natural Language :: Dutch', - 'Natural Language :: Esperanto', - 'Natural Language :: Finnish', - 'Natural Language :: French', - 'Natural Language :: Galician', - 'Natural Language :: German', -+ 'Natural Language :: Hebrew', - 'Natural Language :: Italian', - 'Natural Language :: Japanese', -+ 'Natural Language :: Korean', -+ 'Natural Language :: Latvian', -+ 'Natural Language :: Lithuanian', -+ 'Natural Language :: Persian', - 'Natural Language :: Polish', - 'Natural Language :: Portuguese (Brazilian)', - 'Natural Language :: Russian', --- -2.20.1 -k diff --git a/package/python-docutils/python-docutils.hash b/package/python-docutils/python-docutils.hash index ccccca10644..f5e0b82db89 100644 --- a/package/python-docutils/python-docutils.hash +++ b/package/python-docutils/python-docutils.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/docutils/json, sha256 locally computed -md5 e26a308d8000b0bed7416a633217c676 docutils-0.15.2.tar.gz -sha256 a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99 docutils-0.15.2.tar.gz -sha256 efa0c85aa99ea5b4781240031b0d02af54d7b5554c87ad2b2bea9ba490f6663f COPYING.txt +md5 ca5827e2432fd58f4c8d74a6591135de docutils-0.18.1.tar.gz +sha256 679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06 docutils-0.18.1.tar.gz +sha256 f20172170ef9aeebbf53adf5d8f7d309f7dc6068e9a3a1b52ea772305686739d COPYING.txt diff --git a/package/python-docutils/python-docutils.mk b/package/python-docutils/python-docutils.mk index 9a42d3e5dce..39a570f5a11 100644 --- a/package/python-docutils/python-docutils.mk +++ b/package/python-docutils/python-docutils.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_DOCUTILS_VERSION = 0.15.2 +PYTHON_DOCUTILS_VERSION = 0.18.1 PYTHON_DOCUTILS_SOURCE = docutils-$(PYTHON_DOCUTILS_VERSION).tar.gz -PYTHON_DOCUTILS_SITE = https://files.pythonhosted.org/packages/93/22/953e071b589b0b1fee420ab06a0d15e5aa0c7470eb9966d60393ce58ad61 -PYTHON_DOCUTILS_LICENSE = Public Domain, BSD-2-Clause, GPL-3.0 (emacs mode), other +PYTHON_DOCUTILS_SITE = https://files.pythonhosted.org/packages/57/b1/b880503681ea1b64df05106fc7e3c4e3801736cf63deffc6fa7fc5404cf5 +PYTHON_DOCUTILS_LICENSE = Public Domain, BSD-2-Clause, BSD-3-Clause, Python-2.0, GPL-3.0+ (emacs mode) PYTHON_DOCUTILS_LICENSE_FILES = COPYING.txt -PYTHON_DOCUTILS_SETUP_TYPE = distutils +PYTHON_DOCUTILS_SETUP_TYPE = setuptools $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-dominate/python-dominate.hash b/package/python-dominate/python-dominate.hash index 168e56e7408..2e77d72a2e1 100644 --- a/package/python-dominate/python-dominate.hash +++ b/package/python-dominate/python-dominate.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dominate/json -md5 27d3aa7e0d67902c505e248e705e5e2e dominate-2.4.0.tar.gz -sha256 a92474b4312bd8b4c1789792f3ec8c571cd8afa8e7502a2b1c64dd48cd67e59c dominate-2.4.0.tar.gz +md5 9f714324ca99eee98bb3c3cdbe838de6 dominate-2.6.0.tar.gz +sha256 76ec2cde23700a6fc4fee098168b9dee43b99c2f1dd0ca6a711f683e8eb7e1e4 dominate-2.6.0.tar.gz # Locally computed sha256 checksums -sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 LICENSE.txt +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 LICENSE.txt diff --git a/package/python-dominate/python-dominate.mk b/package/python-dominate/python-dominate.mk index e87b6842dde..79fc058737b 100644 --- a/package/python-dominate/python-dominate.mk +++ b/package/python-dominate/python-dominate.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DOMINATE_VERSION = 2.4.0 +PYTHON_DOMINATE_VERSION = 2.6.0 PYTHON_DOMINATE_SOURCE = dominate-$(PYTHON_DOMINATE_VERSION).tar.gz -PYTHON_DOMINATE_SITE = https://files.pythonhosted.org/packages/46/dd/0fde17069c908951941475eee110c84467591caa1cd8ca30136294c26621 +PYTHON_DOMINATE_SITE = https://files.pythonhosted.org/packages/29/23/edf8e470f1053245c1aa99d92c8a3da9e83f6c7d3eb39205486965425be5 PYTHON_DOMINATE_SETUP_TYPE = setuptools PYTHON_DOMINATE_LICENSE = LGPL-3.0+ PYTHON_DOMINATE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-dpkt/Config.in b/package/python-dpkt/Config.in index 9bd7a98d26b..819d0fb6136 100644 --- a/package/python-dpkt/Config.in +++ b/package/python-dpkt/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_DPKT bool "python-dpkt" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols. diff --git a/package/python-dpkt/python-dpkt.hash b/package/python-dpkt/python-dpkt.hash index b8b53fd04b3..e5e986628c5 100644 --- a/package/python-dpkt/python-dpkt.hash +++ b/package/python-dpkt/python-dpkt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dpkt/json -md5 b204a5434fe29749de539150e00e762e dpkt-1.9.2.tar.gz -sha256 52a92ecd5ca04d5bd852bb11cb2eac4bbe38b42a7c472e0d950eeb9f82a81e54 dpkt-1.9.2.tar.gz +md5 ac3ace1c5ee12a74f12a863ac9082b59 dpkt-1.9.7.2.tar.gz +sha256 80f977667ebbad2b5c4f7b7f45ee8bea6622fb71723f68a9a8fe6274520c853b dpkt-1.9.7.2.tar.gz # Locally computed sha256 checksums -sha256 4c5ffde575425591cbd51410219a6b98bbbb717e0c5784187e356653da8e5095 LICENSE +sha256 4c5ffde575425591cbd51410219a6b98bbbb717e0c5784187e356653da8e5095 LICENSE diff --git a/package/python-dpkt/python-dpkt.mk b/package/python-dpkt/python-dpkt.mk index aade014f68b..87945d67c63 100644 --- a/package/python-dpkt/python-dpkt.mk +++ b/package/python-dpkt/python-dpkt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DPKT_VERSION = 1.9.2 +PYTHON_DPKT_VERSION = 1.9.7.2 PYTHON_DPKT_SOURCE = dpkt-$(PYTHON_DPKT_VERSION).tar.gz -PYTHON_DPKT_SITE = https://files.pythonhosted.org/packages/1c/25/0aebea939ea70d31a7ff8884e5ca577eddb9cfeac626398fe782d4e2f6a2 +PYTHON_DPKT_SITE = https://files.pythonhosted.org/packages/95/51/923b370880eff9b62fe4fe965a916da709022a02669c670731da69088e93 PYTHON_DPKT_SETUP_TYPE = setuptools PYTHON_DPKT_LICENSE = BSD-3-Clause PYTHON_DPKT_LICENSE_FILES = LICENSE diff --git a/package/python-ecdsa/Config.in b/package/python-ecdsa/Config.in index eb0d65801fb..54a363b3677 100644 --- a/package/python-ecdsa/Config.in +++ b/package/python-ecdsa/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PYTHON_ECDSA help ECDSA cryptographic signature library (pure python). - http://github.com/warner/python-ecdsa + http://github.com/tlsfuzzer/python-ecdsa diff --git a/package/python-ecdsa/python-ecdsa.hash b/package/python-ecdsa/python-ecdsa.hash index efe396bf0a7..a082d30b0f6 100644 --- a/package/python-ecdsa/python-ecdsa.hash +++ b/package/python-ecdsa/python-ecdsa.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ecdsa/json -md5 821d543047941dd26f543f62912230d4 ecdsa-0.15.tar.gz -sha256 8f12ac317f8a1318efa75757ef0a651abe12e51fc1af8838fb91079445227277 ecdsa-0.15.tar.gz +md5 d0dd59c43af0f640a60599551529f5d0 ecdsa-0.17.0.tar.gz +sha256 b9f500bb439e4153d0330610f5d26baaf18d17b8ced1bc54410d189385ea68aa ecdsa-0.17.0.tar.gz # Locally computed sha256 checksums -sha256 3eca9845773d2e5b8cc9d8c119d345f00a4806e4bd660d4a3d6cdf9c0e9d8bb2 LICENSE +sha256 3eca9845773d2e5b8cc9d8c119d345f00a4806e4bd660d4a3d6cdf9c0e9d8bb2 LICENSE diff --git a/package/python-ecdsa/python-ecdsa.mk b/package/python-ecdsa/python-ecdsa.mk index ffb51a3aa5c..eda35616de3 100644 --- a/package/python-ecdsa/python-ecdsa.mk +++ b/package/python-ecdsa/python-ecdsa.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_ECDSA_VERSION = 0.15 +PYTHON_ECDSA_VERSION = 0.17.0 PYTHON_ECDSA_SOURCE = ecdsa-$(PYTHON_ECDSA_VERSION).tar.gz -PYTHON_ECDSA_SITE = https://files.pythonhosted.org/packages/e3/7c/b508ade1feb47cd79222e06d85e477f5cfc4fb0455ad3c70eb6330fc49aa +PYTHON_ECDSA_SITE = https://files.pythonhosted.org/packages/bf/3d/3d909532ad541651390bf1321e097404cbd39d1d89c2046f42a460220fb3 PYTHON_ECDSA_SETUP_TYPE = setuptools PYTHON_ECDSA_LICENSE = MIT PYTHON_ECDSA_LICENSE_FILES = LICENSE +PYTHON_ECDSA_CPE_ID_VENDOR = python-ecdsa_project $(eval $(python-package)) diff --git a/package/python-engineio/Config.in b/package/python-engineio/Config.in index b12db922a2b..b42b609e0d3 100644 --- a/package/python-engineio/Config.in +++ b/package/python-engineio/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PYTHON_ENGINEIO bool "python-engineio" - select BR2_PACKAGE_PYTHON_SIX # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB help Engine.IO server. diff --git a/package/python-engineio/python-engineio.hash b/package/python-engineio/python-engineio.hash index ef852cf1ad4..5762303af0a 100644 --- a/package/python-engineio/python-engineio.hash +++ b/package/python-engineio/python-engineio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-engineio/json -md5 e6ea8b3f2f32eeeb02014c46092f2adb python-engineio-3.12.1.tar.gz -sha256 2481732d93646998f7372ef0ecf003af7817b82720b881db173c3d50b4887916 python-engineio-3.12.1.tar.gz +md5 d2bc7184d64e9d5a692bfad29ff73dea python-engineio-4.2.1.tar.gz +sha256 d510329b6d8ed5662547862f58bc73659ae62defa66b66d745ba021de112fa62 python-engineio-4.2.1.tar.gz # Locally computed sha256 checksums sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE diff --git a/package/python-engineio/python-engineio.mk b/package/python-engineio/python-engineio.mk index d0e073fa95e..81bd49fb64f 100644 --- a/package/python-engineio/python-engineio.mk +++ b/package/python-engineio/python-engineio.mk @@ -4,20 +4,11 @@ # ################################################################################ -PYTHON_ENGINEIO_VERSION = 3.12.1 -PYTHON_ENGINEIO_SITE = https://files.pythonhosted.org/packages/71/5d/620b75396ce993001cbccc80dd786ab09a16a8e3f6c4878ad05f051064d6 +PYTHON_ENGINEIO_VERSION = 4.2.1 +PYTHON_ENGINEIO_SITE = https://files.pythonhosted.org/packages/74/1e/33e402011bb2fe33ab12762e5a66d66df1d47302a23e9c5e8310e11b1403 PYTHON_ENGINEIO_SETUP_TYPE = setuptools PYTHON_ENGINEIO_LICENSE = MIT PYTHON_ENGINEIO_LICENSE_FILES = LICENSE - -ifeq ($(BR2_PACKAGE_PYTHON),y) -# only needed/valid for python 3.x -define PYTHON_ENGINEIO_RM_PY3_FILES - rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/engineio/async_drivers \ - $(TARGET_DIR)/usr/lib/python*/site-packages/engineio/asyncio_*.py -endef - -PYTHON_ENGINEIO_POST_INSTALL_TARGET_HOOKS += PYTHON_ENGINEIO_RM_PY3_FILES -endif +PYTHON_ENGINEIO_CPE_ID_VENDOR = python-engineio_project $(eval $(python-package)) diff --git a/package/python-enum/Config.in b/package/python-enum/Config.in deleted file mode 100644 index e26ae8bf977..00000000000 --- a/package/python-enum/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_PYTHON_ENUM - bool "python-enum" - depends on BR2_PACKAGE_PYTHON - help - Robust enumerated type support in Python - - An enumeration object is an immutable sequence object built - from a sequence of strings. Each value is also available as - an attribute. Such values are constant. Comparisons and - enumeration are supported. - - https://pypi.python.org/pypi/enum diff --git a/package/python-enum/python-enum.hash b/package/python-enum/python-enum.hash deleted file mode 100644 index 4b4b369e34d..00000000000 --- a/package/python-enum/python-enum.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/enum/json -md5 e7d170e3f84435b77058de625c96ef58 enum-0.4.7.tar.gz -sha256 8c7cf3587eda51008bcc1eed99ea2c331ccd265c231dbaa95ec5258d3dc03100 enum-0.4.7.tar.gz -# Locally computed sha256 checksums -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL-3 diff --git a/package/python-enum/python-enum.mk b/package/python-enum/python-enum.mk deleted file mode 100644 index f1de8a93123..00000000000 --- a/package/python-enum/python-enum.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-enum -# -################################################################################ - -PYTHON_ENUM_VERSION = 0.4.7 -PYTHON_ENUM_SOURCE = enum-$(PYTHON_ENUM_VERSION).tar.gz -PYTHON_ENUM_SITE = https://files.pythonhosted.org/packages/02/a0/32e1d5a21b703f600183e205aafc6773577e16429af5ad3c3f9b956b07ca -PYTHON_ENUM_SETUP_TYPE = setuptools -PYTHON_ENUM_LICENSE = GPL-3.0+ -PYTHON_ENUM_LICENSE_FILES = LICENSE.GPL-3 - -$(eval $(python-package)) diff --git a/package/python-enum34/Config.in b/package/python-enum34/Config.in deleted file mode 100644 index 2511a350e01..00000000000 --- a/package/python-enum34/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_PYTHON_ENUM34 - bool "python-enum34" - depends on BR2_PACKAGE_PYTHON - help - Python 3.4 Enum backported to 2.x. - - An enumeration is a set of symbolic names (members) bound to - unique, constant values. Within an enumeration, the members - can be compared by identity, and the enumeration itself can - be iterated over. - - https://pypi.python.org/pypi/enum34 diff --git a/package/python-enum34/python-enum34.hash b/package/python-enum34/python-enum34.hash deleted file mode 100644 index e43e00a5fee..00000000000 --- a/package/python-enum34/python-enum34.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5 from https://pypi.python.org/pypi/enum34/json -md5 b5ac0bb5ea9e830029599e410d09d3b5 enum34-1.1.10.tar.gz -# Locally computed -sha256 cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248 enum34-1.1.10.tar.gz -sha256 88ec6a6c8eafa3b9757e745783938bef3f5e4d5e3c76b1db576aa3ab520e5e1d enum/LICENSE diff --git a/package/python-enum34/python-enum34.mk b/package/python-enum34/python-enum34.mk deleted file mode 100644 index 3d3ce388300..00000000000 --- a/package/python-enum34/python-enum34.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# python-enum34 -# -################################################################################ - -PYTHON_ENUM34_VERSION = 1.1.10 -PYTHON_ENUM34_SOURCE = enum34-$(PYTHON_ENUM34_VERSION).tar.gz -PYTHON_ENUM34_SITE = https://files.pythonhosted.org/packages/11/c4/2da1f4952ba476677a42f25cd32ab8aaf0e1c0d0e00b89822b835c7e654c -PYTHON_ENUM34_SETUP_TYPE = setuptools -PYTHON_ENUM34_LICENSE = BSD-3-Clause -PYTHON_ENUM34_LICENSE_FILES = enum/LICENSE - -$(eval $(python-package)) -$(eval $(host-python-package)) diff --git a/package/python-esptool/Config.in b/package/python-esptool/Config.in index 570f9aa42f9..b21ccd72d5b 100644 --- a/package/python-esptool/Config.in +++ b/package/python-esptool/Config.in @@ -3,8 +3,7 @@ config BR2_PACKAGE_PYTHON_ESPTOOL select BR2_PACKAGE_PYTHON_ECDSA # runtime select BR2_PACKAGE_PYTHON_PYAES # runtime select BR2_PACKAGE_PYTHON_SERIAL # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB help A serial utility to communicate & flash code to Espressif ESP8266 & ESP32 chips. diff --git a/package/python-esptool/python-esptool.hash b/package/python-esptool/python-esptool.hash index 3b030ec75bf..a916f9a09a5 100644 --- a/package/python-esptool/python-esptool.hash +++ b/package/python-esptool/python-esptool.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/esptool/json -md5 ccd2855e14c298712aeb37ac063baad5 esptool-3.0.tar.gz -sha256 87953d235fed2c9adb1292b3769df0149686c9afdb1896dd963f730453cbc934 esptool-3.0.tar.gz +md5 84aa6ffb4723b1f59a2c83244a9ad918 esptool-3.2.tar.gz +sha256 9638ff11c68e621e08e7c3335d4fd9d70b2ddcf7caae778073cd8cc27be1216f esptool-3.2.tar.gz # Locally computed sha256 checksums sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/python-esptool/python-esptool.mk b/package/python-esptool/python-esptool.mk index e9e3eb6b599..77291e252b3 100644 --- a/package/python-esptool/python-esptool.mk +++ b/package/python-esptool/python-esptool.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ESPTOOL_VERSION = 3.0 +PYTHON_ESPTOOL_VERSION = 3.2 PYTHON_ESPTOOL_SOURCE = esptool-$(PYTHON_ESPTOOL_VERSION).tar.gz -PYTHON_ESPTOOL_SITE = https://files.pythonhosted.org/packages/dd/3d/d1d4c004927e6e6807c441ce70330ed969c725d2906053fbd2ff994b4439 +PYTHON_ESPTOOL_SITE = https://files.pythonhosted.org/packages/60/a4/33907f5b735f9179061bd6b6cae7123d4a2d0cdf46c879fa55e66edef24f PYTHON_ESPTOOL_SETUP_TYPE = setuptools PYTHON_ESPTOOL_LICENSE = GPL-2.0+ PYTHON_ESPTOOL_LICENSE_FILES = LICENSE diff --git a/package/python-falcon/python-falcon.hash b/package/python-falcon/python-falcon.hash index 68b8d4cb2cd..979419c25a4 100644 --- a/package/python-falcon/python-falcon.hash +++ b/package/python-falcon/python-falcon.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/falcon/json -md5 77c52c144dd284e6259d257c6f008072 falcon-2.0.0.tar.gz -sha256 eea593cf466b9c126ce667f6d30503624ef24459f118c75594a69353b6c3d5fc falcon-2.0.0.tar.gz +md5 4a70cfeeacb453f5fd7eb791bdd3ac01 falcon-3.0.1.tar.gz +sha256 c41d84db325881a870e8b7129d5ecfd972fa4323cf77b7119a1d2a21966ee681 falcon-3.0.1.tar.gz # Locally computed sha256 checksums -sha256 e9e7f1a7ba764f042e56afce6f3563c2be9c4fffbb1404b20f8050ae051f577c LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-falcon/python-falcon.mk b/package/python-falcon/python-falcon.mk index 1d7c869d6db..1f400f9a1ff 100644 --- a/package/python-falcon/python-falcon.mk +++ b/package/python-falcon/python-falcon.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FALCON_VERSION = 2.0.0 +PYTHON_FALCON_VERSION = 3.0.1 PYTHON_FALCON_SOURCE = falcon-$(PYTHON_FALCON_VERSION).tar.gz -PYTHON_FALCON_SITE = https://files.pythonhosted.org/packages/19/30/edff5a1fea7a8e9876c8391e170263e1bb207875b6a65cd619818487b27b +PYTHON_FALCON_SITE = https://files.pythonhosted.org/packages/63/22/6a9009c53ad78e65d88a44db8eccc7f39c6f54fc05fb43b1e9cbbc481d06 PYTHON_FALCON_SETUP_TYPE = setuptools PYTHON_FALCON_LICENSE = Apache-2.0 PYTHON_FALCON_LICENSE_FILES = LICENSE diff --git a/package/python-filelock/python-filelock.hash b/package/python-filelock/python-filelock.hash index d50d2d561c2..d7cc864668d 100644 --- a/package/python-filelock/python-filelock.hash +++ b/package/python-filelock/python-filelock.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/filelock/json -md5 c1fe6d9a7433a7ca6ce4f36e273317d1 filelock-3.0.12.tar.gz -sha256 18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59 filelock-3.0.12.tar.gz +md5 f8458b5235a9e439fd512dc08947f6b2 filelock-3.3.0.tar.gz +sha256 8c7eab13dc442dc249e95158bcc12dec724465919bdc9831fdbf0660f03d1785 filelock-3.3.0.tar.gz # Locally computed sha256 checksums sha256 88d9b4eb60579c191ec391ca04c16130572d7eedc4a86daa58bf28c6e14c9bcd LICENSE diff --git a/package/python-filelock/python-filelock.mk b/package/python-filelock/python-filelock.mk index 35b3374d291..00c32b2caab 100644 --- a/package/python-filelock/python-filelock.mk +++ b/package/python-filelock/python-filelock.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FILELOCK_VERSION = 3.0.12 +PYTHON_FILELOCK_VERSION = 3.3.0 PYTHON_FILELOCK_SOURCE = filelock-$(PYTHON_FILELOCK_VERSION).tar.gz -PYTHON_FILELOCK_SITE = https://files.pythonhosted.org/packages/14/ec/6ee2168387ce0154632f856d5cc5592328e9cf93127c5c9aeca92c8c16cb +PYTHON_FILELOCK_SITE = https://files.pythonhosted.org/packages/fd/6e/665a6cb363bee26e40954ee812e4e733fd7cafd84c06e0c7c2357641abd6 PYTHON_FILELOCK_SETUP_TYPE = setuptools PYTHON_FILELOCK_LICENSE = Public Domain PYTHON_FILELOCK_LICENSE_FILES = LICENSE diff --git a/package/python-fire/Config.in b/package/python-fire/Config.in index b718ddac5ee..9c816b0fd0e 100644 --- a/package/python-fire/Config.in +++ b/package/python-fire/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_PYTHON_FIRE bool "python-fire" select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TERMCOLOR # runtime - select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime help A library for automatically generating command line interfaces. diff --git a/package/python-fire/python-fire.mk b/package/python-fire/python-fire.mk index 7ba971abc49..40631fce867 100644 --- a/package/python-fire/python-fire.mk +++ b/package/python-fire/python-fire.mk @@ -11,13 +11,4 @@ PYTHON_FIRE_SETUP_TYPE = setuptools PYTHON_FIRE_LICENSE = Apache-2.0 PYTHON_FIRE_LICENSE_FILES = LICENSE -ifeq ($(BR2_PACKAGE_PYTHON),y) -# only needed/valid for python 3.x -define PYTHON_FIRE_RM_PY3_FILE - rm -f $(TARGET_DIR)/usr/lib/python*/site-packages/fire/test_components_py3.py -endef - -PYTHON_FIRE_POST_INSTALL_TARGET_HOOKS += PYTHON_FIRE_RM_PY3_FILE -endif - $(eval $(python-package)) diff --git a/package/python-flask-babel/python-flask-babel.hash b/package/python-flask-babel/python-flask-babel.hash index 288036eea86..46a019c98b5 100644 --- a/package/python-flask-babel/python-flask-babel.hash +++ b/package/python-flask-babel/python-flask-babel.hash @@ -1,6 +1,6 @@ -# From: https://pypi.org/project/Flask-Babel/#copy-hash-modal-91caaca6-a716-4751-9ec0-08baadced4b1 -md5 162ccb275958f9a463211ece841a2b9a Flask-Babel-1.0.0.tar.gz -sha256 d6a70468f9a8919d59fba2a291a003da3a05ff884275dddbd965f3b98b09ab3e Flask-Babel-1.0.0.tar.gz +# From: https://pypi.org/project/Flask-Babel/#copy-hash-modal-80f92a70-1c66-4cce-bb3d-8d6f98287e3f +md5 50d5e92d96ef58787bf85b5a1b0a5567 Flask-Babel-2.0.0.tar.gz +sha256 f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d Flask-Babel-2.0.0.tar.gz # License files sha256 a526100a7047237360a394ba4f70ae801b50ff9b8c9b9e73e7795480a59f6b7e LICENSE diff --git a/package/python-flask-babel/python-flask-babel.mk b/package/python-flask-babel/python-flask-babel.mk index cd14658952f..35241e78db0 100644 --- a/package/python-flask-babel/python-flask-babel.mk +++ b/package/python-flask-babel/python-flask-babel.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_BABEL_VERSION = 1.0.0 +PYTHON_FLASK_BABEL_VERSION = 2.0.0 PYTHON_FLASK_BABEL_SOURCE = Flask-Babel-$(PYTHON_FLASK_BABEL_VERSION).tar.gz -PYTHON_FLASK_BABEL_SITE = https://files.pythonhosted.org/packages/7a/73/e4a9532ca11daeead1a99251f2ec1a5faf98117b83dbfe1b30535004cd98 +PYTHON_FLASK_BABEL_SITE = https://files.pythonhosted.org/packages/d7/fe/655e6a5a99ceb815fe839f0698956a9d6c7d5bcc06ca1ee7c6eb6dac154b PYTHON_FLASK_BABEL_LICENSE = BSD-3-Clause PYTHON_FLASK_BABEL_SETUP_TYPE = setuptools PYTHON_FLASK_BABEL_LICENSE_FILES = LICENSE diff --git a/package/python-flask-expects-json/Config.in b/package/python-flask-expects-json/Config.in new file mode 100644 index 00000000000..901234762ec --- /dev/null +++ b/package/python-flask-expects-json/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_FLASK_EXPECTS_JSON + bool "python-flask-expects-json" + select BR2_PACKAGE_PYTHON_FLASK # runtime + select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime + help + Decorator for REST endpoints in flask. Validate JSON request + data. + + https://github.com/fischerfredl/flask-expects-json diff --git a/package/python-flask-expects-json/python-flask-expects-json.hash b/package/python-flask-expects-json/python-flask-expects-json.hash new file mode 100644 index 00000000000..c023222fd71 --- /dev/null +++ b/package/python-flask-expects-json/python-flask-expects-json.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/flask-expects-json/json +md5 c1fb8ede58db312d7923212dc97b8ab4 flask-expects-json-1.5.0.tar.gz +sha256 0087dc3d089f1ac75a1fc0f259f4dbd02bbb9c356e92e1a080f2309e2f75d053 flask-expects-json-1.5.0.tar.gz +# Locally computed sha256 checksums +sha256 06154a99fdc664107294a0a5e7e68f776078d075408dd32bbeaa7340fdd39e73 LICENSE.txt diff --git a/package/python-flask-expects-json/python-flask-expects-json.mk b/package/python-flask-expects-json/python-flask-expects-json.mk new file mode 100644 index 00000000000..487f15d4e5b --- /dev/null +++ b/package/python-flask-expects-json/python-flask-expects-json.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-flask-expects-json +# +################################################################################ + +PYTHON_FLASK_EXPECTS_JSON_VERSION = 1.5.0 +PYTHON_FLASK_EXPECTS_JSON_SOURCE = flask-expects-json-$(PYTHON_FLASK_EXPECTS_JSON_VERSION).tar.gz +PYTHON_FLASK_EXPECTS_JSON_SITE = https://files.pythonhosted.org/packages/4c/4a/9d9d050af700fb3feebd1f8466e73d65ce8b4709f27773e07100b0993451 +PYTHON_FLASK_EXPECTS_JSON_SETUP_TYPE = setuptools +PYTHON_FLASK_EXPECTS_JSON_LICENSE = MIT +PYTHON_FLASK_EXPECTS_JSON_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-flask-wtf/Config.in b/package/python-flask-wtf/Config.in new file mode 100644 index 00000000000..4a8566a26aa --- /dev/null +++ b/package/python-flask-wtf/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_FLASK_WTF + bool "python-flask-wtf" + select BR2_PACKAGE_PYTHON_FLASK # runtime + select BR2_PACKAGE_PYTHON_ITSDANGEROUS # runtime + select BR2_PACKAGE_PYTHON_WTFORMS # runtime + help + Simple integration of Flask and WTForms. + + https://github.com/wtforms/flask-wtf diff --git a/package/python-flask-wtf/python-flask-wtf.hash b/package/python-flask-wtf/python-flask-wtf.hash new file mode 100644 index 00000000000..848d6d77834 --- /dev/null +++ b/package/python-flask-wtf/python-flask-wtf.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/flask-wtf/json +md5 920a5a476ecfb751952b5048cc05fcf8 Flask-WTF-0.15.1.tar.gz +sha256 ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc Flask-WTF-0.15.1.tar.gz +# Locally computed sha256 checksums +sha256 a075f8d98acfdb05dd98716242b9e2c1b3ab98722926b3c4cf6c916ac14e8350 LICENSE diff --git a/package/python-flask-wtf/python-flask-wtf.mk b/package/python-flask-wtf/python-flask-wtf.mk new file mode 100644 index 00000000000..e2078103f59 --- /dev/null +++ b/package/python-flask-wtf/python-flask-wtf.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-flask-wtf +# +################################################################################ + +PYTHON_FLASK_WTF_VERSION = 0.15.1 +PYTHON_FLASK_WTF_SOURCE = Flask-WTF-$(PYTHON_FLASK_WTF_VERSION).tar.gz +PYTHON_FLASK_WTF_SITE = https://files.pythonhosted.org/packages/9c/b5/4b48cece7b31aac2beab115330c2978ef4deee3aeb0dd1037c9b7a71b8c3 +PYTHON_FLASK_WTF_LICENSE = BSD-3-Clause +PYTHON_FLASK_WTF_LICENSE_FILES = LICENSE +PYTHON_FLASK_WTF_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-flask/Config.in b/package/python-flask/Config.in index 0e5b64ce596..8a44bf2db4a 100644 --- a/package/python-flask/Config.in +++ b/package/python-flask/Config.in @@ -5,10 +5,8 @@ config BR2_PACKAGE_PYTHON_FLASK select BR2_PACKAGE_PYTHON_WERKZEUG # runtime select BR2_PACKAGE_PYTHON_ITSDANGEROUS # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_SSL + select BR2_PACKAGE_PYTHON3_ZLIB help Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk index cc39bf7e496..077aa600b8a 100644 --- a/package/python-flask/python-flask.mk +++ b/package/python-flask/python-flask.mk @@ -10,5 +10,7 @@ PYTHON_FLASK_SITE = https://files.pythonhosted.org/packages/4e/0b/cb02268c90e675 PYTHON_FLASK_SETUP_TYPE = setuptools PYTHON_FLASK_LICENSE = BSD-3-Clause PYTHON_FLASK_LICENSE_FILES = LICENSE.rst docs/license.rst +PYTHON_FLASK_CPE_ID_VENDOR = palletsprojects +PYTHON_FLASK_CPE_ID_PRODUCT = flask $(eval $(python-package)) diff --git a/package/python-flatbuffers/python-flatbuffers.hash b/package/python-flatbuffers/python-flatbuffers.hash index ba7df6babcc..a27d94160a9 100644 --- a/package/python-flatbuffers/python-flatbuffers.hash +++ b/package/python-flatbuffers/python-flatbuffers.hash @@ -1,3 +1,3 @@ # md5, sha256 from https://pypi.org/pypi/flatbuffers/json -md5 b9a5b8dfbbb4751788529310118ea6db flatbuffers-1.12.tar.gz -sha256 63bb9a722d5e373701913e226135b28a6f6ac200d5cc7b4d919fa38d73b44610 flatbuffers-1.12.tar.gz +md5 b2ce60d9a7c1f8a2ddac6d49a1b700a4 flatbuffers-2.0.tar.gz +sha256 12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2 flatbuffers-2.0.tar.gz diff --git a/package/python-flatbuffers/python-flatbuffers.mk b/package/python-flatbuffers/python-flatbuffers.mk index 33bb57ddf3b..705dc0ad5a6 100644 --- a/package/python-flatbuffers/python-flatbuffers.mk +++ b/package/python-flatbuffers/python-flatbuffers.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLATBUFFERS_VERSION = 1.12 +PYTHON_FLATBUFFERS_VERSION = 2.0 PYTHON_FLATBUFFERS_SOURCE = flatbuffers-$(PYTHON_FLATBUFFERS_VERSION).tar.gz -PYTHON_FLATBUFFERS_SITE = https://files.pythonhosted.org/packages/4d/c4/7b995ab9bf0c7eaf10c386d29a03408dfcf72648df4102b1f18896c3aeea +PYTHON_FLATBUFFERS_SITE = https://files.pythonhosted.org/packages/10/41/09e9ab2134895b82466fada08b69b800f9a724bc81fcca3d4474ce48ffce PYTHON_FLATBUFFERS_LICENSE = Apache-2.0 PYTHON_FLATBUFFERS_SETUP_TYPE = setuptools diff --git a/package/python-flup/Config.in b/package/python-flup/Config.in index 2c21323515f..50d1dfa3ac1 100644 --- a/package/python-flup/Config.in +++ b/package/python-flup/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_FLUP bool "python-flup" - depends on BR2_PACKAGE_PYTHON help flup provides of a collection of WSGI modules for Python. It allows a webserver to use scgi-mod and fastcgi-mod diff --git a/package/python-fonttools/Config.in b/package/python-fonttools/Config.in new file mode 100644 index 00000000000..64de1efe5f1 --- /dev/null +++ b/package/python-fonttools/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_FONTTOOLS + bool "python-fonttools" + help + Tools to manipulate font files. + + https://github.com/fonttools/fonttools diff --git a/package/python-fonttools/python-fonttools.hash b/package/python-fonttools/python-fonttools.hash new file mode 100644 index 00000000000..df0bdf980da --- /dev/null +++ b/package/python-fonttools/python-fonttools.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/fonttools/json +md5 7fc490291991da874911fed1e743362d fonttools-4.29.1.zip +sha256 2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4 fonttools-4.29.1.zip +# Locally computed sha256 checksums +sha256 6787208f83f659ccbc2223b2fde952ffa6f7e8aca62f1a8a2bf5bc51bb1b2383 LICENSE diff --git a/package/python-fonttools/python-fonttools.mk b/package/python-fonttools/python-fonttools.mk new file mode 100644 index 00000000000..c07011daa0d --- /dev/null +++ b/package/python-fonttools/python-fonttools.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# python-fonttools +# +################################################################################ + +PYTHON_FONTTOOLS_VERSION = 4.29.1 +PYTHON_FONTTOOLS_SOURCE = fonttools-$(PYTHON_FONTTOOLS_VERSION).zip +PYTHON_FONTTOOLS_SITE = https://files.pythonhosted.org/packages/2d/4c/49ba863863502bb9fea19d8bd04a527da336b4a2698c8a0c7129e9cc2716 +PYTHON_FONTTOOLS_SETUP_TYPE = setuptools +PYTHON_FONTTOOLS_LICENSE = MIT +PYTHON_FONTTOOLS_LICENSE_FILES = LICENSE +PYTHON_FONTTOOLS_DEPENDENCIES = host-python-cython +PYTHON_FONTTOOLS_ENV = FONTTOOLS_WITH_CYTHON=1 + +define PYTHON_FONTTOOLS_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(PYTHON_FONTTOOLS_DL_DIR)/$(PYTHON_FONTTOOLS_SOURCE) + mv $(@D)/fonttools-$(PYTHON_FONTTOOLS_VERSION)/* $(@D) + $(RM) -r $(@D)/fonttools-$(PYTHON_FONTTOOLS_VERSION) +endef + +$(eval $(python-package)) diff --git a/package/python-frozenlist/Config.in b/package/python-frozenlist/Config.in index 67a58b40ca3..05714199ca0 100644 --- a/package/python-frozenlist/Config.in +++ b/package/python-frozenlist/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_FROZENLIST bool "python-frozenlist" - depends on BR2_PACKAGE_PYTHON3 help A list-like structure which implements collections.abc.MutableSequence. diff --git a/package/python-frozenlist/python-frozenlist.hash b/package/python-frozenlist/python-frozenlist.hash index 0ecc5f9cdf9..034150397b9 100644 --- a/package/python-frozenlist/python-frozenlist.hash +++ b/package/python-frozenlist/python-frozenlist.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/frozenlist/json -md5 2a83a520014203d0a56993c332ff7e23 frozenlist-1.1.0.tar.gz -sha256 d167a5050628323fcb3db410375eb06390ab135454fd85fd79c5832f5ec2b8ed frozenlist-1.1.0.tar.gz +md5 e65d870bd189ba3c21ab7eb10eab22b7 frozenlist-1.3.0.tar.gz +sha256 ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b frozenlist-1.3.0.tar.gz # Locally computed sha256 checksums -sha256 6fd5243e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 LICENSE.txt +sha256 6fd5243e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 LICENSE diff --git a/package/python-frozenlist/python-frozenlist.mk b/package/python-frozenlist/python-frozenlist.mk index b113c380802..ad618971f78 100644 --- a/package/python-frozenlist/python-frozenlist.mk +++ b/package/python-frozenlist/python-frozenlist.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_FROZENLIST_VERSION = 1.1.0 +PYTHON_FROZENLIST_VERSION = 1.3.0 PYTHON_FROZENLIST_SOURCE = frozenlist-$(PYTHON_FROZENLIST_VERSION).tar.gz -PYTHON_FROZENLIST_SITE = https://files.pythonhosted.org/packages/12/0e/119f1f186e93c21d078db1ddd7b21247a8a49261689d9284dec28be3b08e +PYTHON_FROZENLIST_SITE = https://files.pythonhosted.org/packages/f4/f7/8dfeb76d2a52bcea2b0718427af954ffec98be1d34cd8f282034b3e36829 PYTHON_FROZENLIST_SETUP_TYPE = setuptools PYTHON_FROZENLIST_LICENSE = Apache-2.0 -PYTHON_FROZENLIST_LICENSE_FILES = LICENSE.txt +PYTHON_FROZENLIST_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-functools32/Config.in b/package/python-functools32/Config.in deleted file mode 100644 index 606341d8288..00000000000 --- a/package/python-functools32/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_PYTHON_FUNCTOOLS32 - bool "python-functools32" - depends on BR2_PACKAGE_PYTHON - help - Backport of the functools module from Python 3.2.3 for use on - 2.7 and PyPy. - - https://github.com/MiCHiLU/python-functools32 diff --git a/package/python-functools32/python-functools32.hash b/package/python-functools32/python-functools32.hash deleted file mode 100644 index 606de817743..00000000000 --- a/package/python-functools32/python-functools32.hash +++ /dev/null @@ -1,4 +0,0 @@ -# md5 from https://pypi.python.org/pypi/functools32/json, sha256 locally computed -md5 09f24ffd9af9f6cd0f63cb9f4e23d4b2 functools32-3.2.3-2.tar.gz -sha256 f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d functools32-3.2.3-2.tar.gz -sha256 3f9ea6b89abe1556b72aff67b987d64c8272564815cd6a2832e6c4f6abdfe3b1 LICENSE diff --git a/package/python-functools32/python-functools32.mk b/package/python-functools32/python-functools32.mk deleted file mode 100644 index 8a88bb2a7f3..00000000000 --- a/package/python-functools32/python-functools32.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-functools32 -# -################################################################################ - -PYTHON_FUNCTOOLS32_VERSION = 3.2.3-2 -PYTHON_FUNCTOOLS32_SOURCE = functools32-$(PYTHON_FUNCTOOLS32_VERSION).tar.gz -PYTHON_FUNCTOOLS32_SITE = https://pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db -PYTHON_FUNCTOOLS32_SETUP_TYPE = distutils -PYTHON_FUNCTOOLS32_LICENSE = Python-2.0 -PYTHON_FUNCTOOLS32_LICENSE_FILES = LICENSE - -$(eval $(python-package)) diff --git a/package/python-futures/Config.in b/package/python-futures/Config.in deleted file mode 100644 index 2eb40e93bd9..00000000000 --- a/package/python-futures/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_PYTHON_FUTURES - bool "python-futures" - depends on BR2_PACKAGE_PYTHON # not needed for python3 - help - Backport of the concurrent.futures package from Python 3.2. - - https://github.com/agronholm/pythonfutures diff --git a/package/python-futures/python-futures.hash b/package/python-futures/python-futures.hash deleted file mode 100644 index a4fbdf4fe9e..00000000000 --- a/package/python-futures/python-futures.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/futures/json -md5 b43a39ae1475e3fd6940f2b4f7214675 futures-3.3.0.tar.gz -sha256 7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794 futures-3.3.0.tar.gz -# Locally computed sha256 checksums -sha256 a698bd5d441e4a16af6c992b8e80cbfa12755d72d910854fa1fb11d4deb0059a LICENSE diff --git a/package/python-futures/python-futures.mk b/package/python-futures/python-futures.mk deleted file mode 100644 index 0666948115a..00000000000 --- a/package/python-futures/python-futures.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-futures -# -################################################################################ - -PYTHON_FUTURES_VERSION = 3.3.0 -PYTHON_FUTURES_SOURCE = futures-$(PYTHON_FUTURES_VERSION).tar.gz -PYTHON_FUTURES_SITE = https://files.pythonhosted.org/packages/47/04/5fc6c74ad114032cd2c544c575bffc17582295e9cd6a851d6026ab4b2c00 -PYTHON_FUTURES_SETUP_TYPE = setuptools -PYTHON_FUTURES_LICENSE = BSD-2-Clause -PYTHON_FUTURES_LICENSE_FILES = LICENSE - -$(eval $(python-package)) diff --git a/package/python-git/Config.in b/package/python-git/Config.in new file mode 100644 index 00000000000..3c23f91c365 --- /dev/null +++ b/package/python-git/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PYTHON_GIT + bool "python-git" + depends on BR2_USE_MMU # git + select BR2_PACKAGE_GIT # runtime + select BR2_PACKAGE_PYTHON_GITDB2 # runtime + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime + help + GitPython is a python library used to interact with git + repositories, high-level like git-porcelain, or low-level + like git-plumbing. + + https://github.com/gitpython-developers/GitPython diff --git a/package/python-git/python-git.hash b/package/python-git/python-git.hash new file mode 100644 index 00000000000..0c8c764bf37 --- /dev/null +++ b/package/python-git/python-git.hash @@ -0,0 +1,3 @@ +# locally computed hashes +sha256 8282d0d1169a3a98546979bfae1524608670fadc4ca7636517aadd428e0cfbeb python-git-3.1.24.tar.gz +sha256 fd657ffc2cef63d25c78cab7808d414dd03a282e63893491fd11c32f98be67fb LICENSE diff --git a/package/python-git/python-git.mk b/package/python-git/python-git.mk new file mode 100644 index 00000000000..9b2771ca070 --- /dev/null +++ b/package/python-git/python-git.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-git +# +################################################################################ + +PYTHON_GIT_VERSION = 3.1.24 +PYTHON_GIT_SITE = $(call github,gitpython-developers,GitPython,$(PYTHON_GIT_VERSION)) +PYTHON_GIT_LICENSE = BSD-3-Clause +PYTHON_GIT_LICENSE_FILES = LICENSE +PYTHON_GIT_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-gitdb2/Config.in b/package/python-gitdb2/Config.in index a5962e7b774..4a87cc8e8d4 100644 --- a/package/python-gitdb2/Config.in +++ b/package/python-gitdb2/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_PYTHON_GITDB2 bool "python-gitdb2" select BR2_PACKAGE_PYTHON_SMMAP2 # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB help GitDB allows you to access bare git repositories for reading and writing. It aims at allowing full access to loose objects diff --git a/package/python-gitdb2/python-gitdb2.hash b/package/python-gitdb2/python-gitdb2.hash index e97d25cf4f9..7d9bf78f70f 100644 --- a/package/python-gitdb2/python-gitdb2.hash +++ b/package/python-gitdb2/python-gitdb2.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/gitdb2/json -md5 1a7ea3362e405f8a5634f7ee53636094 gitdb2-2.0.6.tar.gz -sha256 1b6df1433567a51a4a9c1a5a0de977aa351a405cc56d7d35f3388bad1f630350 gitdb2-2.0.6.tar.gz +# md5, sha256 from https://pypi.org/pypi/gitdb/json +md5 3f52187435ab0b6e64a15782ffaf29ab gitdb-4.0.7.tar.gz +sha256 96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005 gitdb-4.0.7.tar.gz # Locally computed sha256 checksums sha256 efd29f596a08e8857e68e7694a50bcda72839792da7c3f041bcbff5f18009239 LICENSE diff --git a/package/python-gitdb2/python-gitdb2.mk b/package/python-gitdb2/python-gitdb2.mk index 7664a135043..91a17e24a76 100644 --- a/package/python-gitdb2/python-gitdb2.mk +++ b/package/python-gitdb2/python-gitdb2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_GITDB2_VERSION = 2.0.6 -PYTHON_GITDB2_SOURCE = gitdb2-$(PYTHON_GITDB2_VERSION).tar.gz -PYTHON_GITDB2_SITE = https://files.pythonhosted.org/packages/c5/62/ed7205331e8d7cc377e2512cb32f8f8f075c0defce767551d0a76e102ce2 +PYTHON_GITDB2_VERSION = 4.0.7 +PYTHON_GITDB2_SOURCE = gitdb-$(PYTHON_GITDB2_VERSION).tar.gz +PYTHON_GITDB2_SITE = https://files.pythonhosted.org/packages/34/fe/9265459642ab6e29afe734479f94385870e8702e7f892270ed6e52dd15bf PYTHON_GITDB2_SETUP_TYPE = setuptools PYTHON_GITDB2_LICENSE = BSD-3-Clause PYTHON_GITDB2_LICENSE_FILES = LICENSE diff --git a/package/python-gnupg/Config.in b/package/python-gnupg/Config.in new file mode 100644 index 00000000000..038a940778d --- /dev/null +++ b/package/python-gnupg/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PYTHON_GNUPG + bool "python-gnupg" + select BR2_PACKAGE_GNUPG if !BR2_PACKAGE_GNUPG2 # runtime + help + A wrapper for the Gnu Privacy Guard (GPG or GnuPG). + + The gnupg module allows Python programs to make use of the + functionality provided by the GNU Privacy Guard (abbreviated + GPG or GnuPG). Using this module, Python programs can + encrypt and decrypt data, digitally sign documents and + verify digital signatures, manage (generate, list and + delete) encryption keys, using Public Key Infrastructure + (PKI) encryption technology based on OpenPGP. + + https://docs.red-dove.com/python-gnupg/ diff --git a/package/python-gnupg/python-gnupg.hash b/package/python-gnupg/python-gnupg.hash new file mode 100644 index 00000000000..fa0e8ae6e5c --- /dev/null +++ b/package/python-gnupg/python-gnupg.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/python-gnupg/json +md5 02c5d77b8db9dfba0741627560d89bd5 python-gnupg-0.4.8.tar.gz +sha256 b64de1ae5cedf872b437201a566fa2c62ce0c95ea2e30177eb53aee1258507d7 python-gnupg-0.4.8.tar.gz +# Locally computed sha256 checksums +sha256 9620da3d3afdfca7dea53c4375c1507ab2d3a4af4e706827023acb49a9ec4a5e LICENSE.txt diff --git a/package/python-gnupg/python-gnupg.mk b/package/python-gnupg/python-gnupg.mk new file mode 100644 index 00000000000..fda264a0edb --- /dev/null +++ b/package/python-gnupg/python-gnupg.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-gnupg +# +################################################################################ + +PYTHON_GNUPG_VERSION = 0.4.8 +PYTHON_GNUPG_SITE = https://files.pythonhosted.org/packages/b1/90/75e15ead9693028c05fc7abd25c756c0d1da27bf04a27d6f5c4139d8ee10 +PYTHON_GNUPG_LICENSE = BSD-3-Clause +PYTHON_GNUPG_LICENSE_FILES = LICENSE.txt +PYTHON_GNUPG_CPE_ID_VENDOR = python +PYTHON_GNUPG_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-gobject/Config.in b/package/python-gobject/Config.in index 1c9303b0ba9..3354535637c 100644 --- a/package/python-gobject/Config.in +++ b/package/python-gobject/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_PYTHON_GOBJECT depends on BR2_USE_MMU # libglib2, gobject-introspection depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # gobject-introspection depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection -> host-qemu depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection - depends on BR2_PACKAGE_PYTHON3 # gobject-introspection select BR2_PACKAGE_GOBJECT_INTROSPECTION select BR2_PACKAGE_LIBGLIB2 help @@ -12,8 +12,9 @@ config BR2_PACKAGE_PYTHON_GOBJECT https://wiki.gnome.org/action/show/Projects/PyGObject -comment "python-gobject needs a glibc toolchain, gcc >= 4.9" +comment "python-gobject needs a glibc toolchain, gcc >= 4.9, host gcc >= 8" depends on BR2_USE_MMU depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_8 diff --git a/package/python-gobject/python-gobject.hash b/package/python-gobject/python-gobject.hash index fd2235f201e..100a05c74e8 100644 --- a/package/python-gobject/python-gobject.hash +++ b/package/python-gobject/python-gobject.hash @@ -1,3 +1,3 @@ -# from http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.36/pygobject-3.36.1.sha256sum -sha256 d1bf42802d1cec113b5adaa0e7bf7f3745b44521dc2163588d276d5cd61d718f pygobject-3.36.1.tar.xz +# from http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.42/pygobject-3.42.0.sha256sum +sha256 9b12616e32cfc792f9dc841d9c472a41a35b85ba67d3a6eb427e307a6fe4367b pygobject-3.42.0.tar.xz sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING diff --git a/package/python-gobject/python-gobject.mk b/package/python-gobject/python-gobject.mk index 0cada82fb76..b0a132d0409 100644 --- a/package/python-gobject/python-gobject.mk +++ b/package/python-gobject/python-gobject.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_GOBJECT_VERSION_MAJOR = 3.36 -PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).1 +PYTHON_GOBJECT_VERSION_MAJOR = 3.42 +PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).0 PYTHON_GOBJECT_SOURCE = pygobject-$(PYTHON_GOBJECT_VERSION).tar.xz PYTHON_GOBJECT_SITE = https://ftp.gnome.org/pub/gnome/sources/pygobject/$(PYTHON_GOBJECT_VERSION_MAJOR) PYTHON_GOBJECT_LICENSE = LGPL-2.1+ @@ -18,7 +18,7 @@ PYTHON_GOBJECT_DEPENDENCIES = \ python3 PYTHON_GOBJECT_CONF_OPTS += \ - -Dpycairo=false \ + -Dpycairo=disabled \ -Dtests=false # A sysconfigdata_name must be manually specified or the resulting .so diff --git a/package/python-gpiozero/Config.in b/package/python-gpiozero/Config.in index 1e2735be45c..93e5de3e556 100644 --- a/package/python-gpiozero/Config.in +++ b/package/python-gpiozero/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_PYTHON_GPIOZERO depends on BR2_arm select BR2_PACKAGE_PYTHON_COLORZERO # runtime select BR2_PACKAGE_PYTHON_RPI_GPIO # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime help A simple interface to GPIO devices with Raspberry Pi. diff --git a/package/python-gpiozero/python-gpiozero.hash b/package/python-gpiozero/python-gpiozero.hash index 23020035610..7359f6405ec 100644 --- a/package/python-gpiozero/python-gpiozero.hash +++ b/package/python-gpiozero/python-gpiozero.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 8cb9824fe1b08e7935de03899455e20ce2c242e4cebb0c954c274c48059f6ea5 python-gpiozero-1.5.1.tar.gz +sha256 7e6da923774437e24edc0c056e486415bace8c4ba4123c22ac4214147854ea6d python-gpiozero-1.6.2.tar.gz # Locally computed -sha256 b6e26763b79d7904d6eaa66f7f53ae374cf30431bb6ba8bcb0d9d5ff56dc69e3 LICENSE.rst +sha256 b6fdd587f3dc3a9b8cc5adae00918e3ffa909b1092bd4decf7e8b1b08fa5d0fb LICENSE.rst diff --git a/package/python-gpiozero/python-gpiozero.mk b/package/python-gpiozero/python-gpiozero.mk index 67e8067a8b8..a68c39db1f5 100644 --- a/package/python-gpiozero/python-gpiozero.mk +++ b/package/python-gpiozero/python-gpiozero.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_GPIOZERO_VERSION = 1.5.1 +PYTHON_GPIOZERO_VERSION = 1.6.2 PYTHON_GPIOZERO_SITE = $(call github,gpiozero,gpiozero,v$(PYTHON_GPIOZERO_VERSION)) PYTHON_GPIOZERO_LICENSE = BSD-3-Clause PYTHON_GPIOZERO_LICENSE_FILES = LICENSE.rst diff --git a/package/python-greenlet/Config.in.host b/package/python-greenlet/Config.in.host new file mode 100644 index 00000000000..673fee8cc51 --- /dev/null +++ b/package/python-greenlet/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_PYTHON_GREENLET + bool "host python-greenlet" + help + Greenlets are lightweight coroutines for in-process concurrent + programming. + + https://greenlet.readthedocs.io/ diff --git a/package/python-greenlet/python-greenlet.hash b/package/python-greenlet/python-greenlet.hash index eed8e597139..c1870c886dd 100644 --- a/package/python-greenlet/python-greenlet.hash +++ b/package/python-greenlet/python-greenlet.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/greenlet/json -md5 9aebea08f7beb6b87143d0588578c984 greenlet-0.4.16.tar.gz -sha256 6e06eac722676797e8fce4adb8ad3dc57a1bb3adfb0dd3fdf8306c055a38456c greenlet-0.4.16.tar.gz +md5 f424fbd9afeed575dd2ba5f0ac66e30b greenlet-1.1.2.tar.gz +sha256 e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a greenlet-1.1.2.tar.gz # Locally computed sha256 checksums -sha256 bbde55d5456a1e912633ed3f66d1dbd9504e3e3dce4f4c2015043cdcbc56e697 LICENSE +sha256 769831d6e5dfaf2c20802faccff1fafb4c2025dd8f6253dfa47fcad59d4d0979 LICENSE sha256 e5ff3c23c110e494cd7d736c10fd96d462457bafeca310840db6527298c7d46b LICENSE.PSF diff --git a/package/python-greenlet/python-greenlet.mk b/package/python-greenlet/python-greenlet.mk index 9243afe514b..72d2747970f 100644 --- a/package/python-greenlet/python-greenlet.mk +++ b/package/python-greenlet/python-greenlet.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_GREENLET_VERSION = 0.4.16 +PYTHON_GREENLET_VERSION = 1.1.2 PYTHON_GREENLET_SOURCE = greenlet-$(PYTHON_GREENLET_VERSION).tar.gz -PYTHON_GREENLET_SITE = https://files.pythonhosted.org/packages/20/5e/b989a19f4597b825f44125345cd8a8574216fae7fafe69e2cb1238ebd18a -PYTHON_GREENLET_SETUP_TYPE = distutils +PYTHON_GREENLET_SITE = https://files.pythonhosted.org/packages/0c/10/754e21b5bea89d0e73f99d60c83754df7cc64db74f47d98ab187669ce341 +PYTHON_GREENLET_SETUP_TYPE = setuptools PYTHON_GREENLET_LICENSE = MIT, PSF-2.0 PYTHON_GREENLET_LICENSE_FILES = LICENSE LICENSE.PSF +PYTHON_GREENLET_ENV = GREENLET_TEST_CPP=no $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-gunicorn/Config.in b/package/python-gunicorn/Config.in index b3d11cf199f..18f0c034ba8 100644 --- a/package/python-gunicorn/Config.in +++ b/package/python-gunicorn/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_PYTHON_GUNICORN bool "python-gunicorn" select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime help Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model ported from Ruby's diff --git a/package/python-gunicorn/python-gunicorn.hash b/package/python-gunicorn/python-gunicorn.hash index 402250ea788..cff4915b72a 100644 --- a/package/python-gunicorn/python-gunicorn.hash +++ b/package/python-gunicorn/python-gunicorn.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.python.org/pypi/gunicorn/json -md5 f581937e9d8569ebd3fd6af1f9ab809f gunicorn-19.9.0.tar.gz -sha256 fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3 gunicorn-19.9.0.tar.gz +md5 db8a7c5c2064000af70286534803bf1d gunicorn-20.1.0.tar.gz +sha256 e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8 gunicorn-20.1.0.tar.gz # Locally computed sha256 -sha256 789fe11b92e1cabfbcf744b5fcc392c9bd5c6798603a4e89f925b6337984d1df LICENSE +sha256 789fe11b92e1cabfbcf744b5fcc392c9bd5c6798603a4e89f925b6337984d1df LICENSE diff --git a/package/python-gunicorn/python-gunicorn.mk b/package/python-gunicorn/python-gunicorn.mk index d113f751858..fb747bc00e7 100644 --- a/package/python-gunicorn/python-gunicorn.mk +++ b/package/python-gunicorn/python-gunicorn.mk @@ -4,23 +4,11 @@ # ################################################################################ -PYTHON_GUNICORN_VERSION = 19.9.0 +PYTHON_GUNICORN_VERSION = 20.1.0 PYTHON_GUNICORN_SOURCE = gunicorn-$(PYTHON_GUNICORN_VERSION).tar.gz -PYTHON_GUNICORN_SITE = https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911 +PYTHON_GUNICORN_SITE = https://files.pythonhosted.org/packages/28/5b/0d1f0296485a6af03366604142ea8f19f0833894db3512a40ed07b2a56dd PYTHON_GUNICORN_SETUP_TYPE = setuptools PYTHON_GUNICORN_LICENSE = MIT PYTHON_GUNICORN_LICENSE_FILES = LICENSE -# At the end of the build, we try to compile all py files using the host python -# that has been built. -# The GAIO HTTP Worker is only compatible with Python3.4.2 and up. So don't try -# to compile it with python 2.x -ifeq ($(BR2_PACKAGE_PYTHON),y) -define PYTHON_GUNICORN_REMOVE_GAIO_WORKER - find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/ \ - -name "_gaiohttp.py" -exec rm -f {} \; -endef -PYTHON_GUNICORN_POST_INSTALL_TARGET_HOOKS += PYTHON_GUNICORN_REMOVE_GAIO_WORKER -endif - $(eval $(python-package)) diff --git a/package/python-h2/Config.in b/package/python-h2/Config.in index dccee9b909e..74a6b2ad080 100644 --- a/package/python-h2/Config.in +++ b/package/python-h2/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_PYTHON_H2 bool "python-h2" - select BR2_PACKAGE_PYTHON_HYPERFRAME # runtime select BR2_PACKAGE_PYTHON_HPACK # runtime + select BR2_PACKAGE_PYTHON_HYPERFRAME # runtime help HTTP/2 State-Machine based protocol implementation. - http://hyper.rtfd.org + https://github.com/python-hyper/h2 diff --git a/package/python-h2/python-h2.hash b/package/python-h2/python-h2.hash index 4193567d37e..2f9c8f647f8 100644 --- a/package/python-h2/python-h2.hash +++ b/package/python-h2/python-h2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/h2/json -md5 197a99c09f344a0dd987fab9801dc8d0 h2-3.2.0.tar.gz -sha256 875f41ebd6f2c44781259005b157faed1a5031df3ae5aa7bcb4628a6c0782f14 h2-3.2.0.tar.gz +md5 4274f9619c0a43bb4ae01b6b02bf0c99 h2-4.1.0.tar.gz +sha256 a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb h2-4.1.0.tar.gz # Locally computed sha256 checksums -sha256 663f9253e13519b82ab4a6b1caab6bed05aada70517f28cd0254be8a9fa19ed6 LICENSE +sha256 7a65a5af0cbabf1c16251c7c6b2b7cb46d16a7222e79975b9b61fcd66a2e3f28 LICENSE diff --git a/package/python-h2/python-h2.mk b/package/python-h2/python-h2.mk index 81397bbb10f..699e8baece9 100644 --- a/package/python-h2/python-h2.mk +++ b/package/python-h2/python-h2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_H2_VERSION = 3.2.0 +PYTHON_H2_VERSION = 4.1.0 PYTHON_H2_SOURCE = h2-$(PYTHON_H2_VERSION).tar.gz -PYTHON_H2_SITE = https://files.pythonhosted.org/packages/08/0a/033df0fc05fe94f72517ccd393dd9ff99b1773fd198307638e6d3568a518 +PYTHON_H2_SITE = https://files.pythonhosted.org/packages/2a/32/fec683ddd10629ea4ea46d206752a95a2d8a48c22521edd70b142488efe1 PYTHON_H2_SETUP_TYPE = setuptools PYTHON_H2_LICENSE = MIT PYTHON_H2_LICENSE_FILES = LICENSE diff --git a/package/python-hiredis/0001-setup.py-fix-build-with-gcc-4.8.patch b/package/python-hiredis/0001-setup.py-fix-build-with-gcc-4.8.patch new file mode 100644 index 00000000000..93f9440a749 --- /dev/null +++ b/package/python-hiredis/0001-setup.py-fix-build-with-gcc-4.8.patch @@ -0,0 +1,43 @@ +From 204898e28c7650089bf664eea8adfc16a22ba4f4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 6 Apr 2021 10:37:49 +0200 +Subject: [PATCH] setup.py: fix build with gcc 4.8 + +Fix the following build failure on gcc 4.8 which is raised since version +2.0.0 and +https://github.com/redis/hiredis-py/commit/9084152f624e8e593b4e86ddf8bd13329fdfc043: + +vendor/hiredis/read.c: In function 'redisReaderFree': +vendor/hiredis/read.c:646:9: error: 'for' loop initial declarations are only allowed in C99 mode + for (int i = 0; i < r->tasks; i++) { + ^ +vendor/hiredis/read.c:646:9: note: use option -std=c99 or -std=gnu99 to compile your code + +This build failure is raised because hiredis source code is built +without C99: +https://github.com/redis/hiredis/commit/13a35bdb64615e381c5e1151cdd4e78bba71a6db + +Fixes: + - http://autobuild.buildroot.org/results/04cbcddf6d83ebad8c98400754f9445375e9e489 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/redis/hiredis-py/pull/110] +--- + setup.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/setup.py b/setup.py +index d83153b..1f623c9 100755 +--- a/setup.py ++++ b/setup.py +@@ -13,6 +13,7 @@ def version(): + ext = Extension("hiredis.hiredis", + sources=sorted(glob.glob("src/*.c") + + ["vendor/hiredis/%s.c" % src for src in ("alloc", "read", "sds")]), ++ extra_compile_args=["-std=c99"], + include_dirs=["vendor"]) + + setup( +-- +2.30.2 + diff --git a/package/python-hiredis/python-hiredis.hash b/package/python-hiredis/python-hiredis.hash index 091532dd2a9..2e73d2f37bf 100644 --- a/package/python-hiredis/python-hiredis.hash +++ b/package/python-hiredis/python-hiredis.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/hiredis/json -md5 430294afb3ebb37ebc7cc05bf3e5a389 hiredis-1.1.0.tar.gz -sha256 996021ef33e0f50b97ff2d6b5f422a0fe5577de21a8873b58a779a5ddd1c3132 hiredis-1.1.0.tar.gz +md5 0ab76a8b29deb737c9bfc7f631969e38 hiredis-2.0.0.tar.gz +sha256 81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a hiredis-2.0.0.tar.gz # Locally computed sha256 checksums sha256 70edfa6d3e11f9d7497c2c2f298d06f33b11d10f37f76605102c5ab3b1f28262 COPYING sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb vendor/hiredis/COPYING diff --git a/package/python-hiredis/python-hiredis.mk b/package/python-hiredis/python-hiredis.mk index 7d871d1f037..55f9a09f55e 100644 --- a/package/python-hiredis/python-hiredis.mk +++ b/package/python-hiredis/python-hiredis.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HIREDIS_VERSION = 1.1.0 +PYTHON_HIREDIS_VERSION = 2.0.0 PYTHON_HIREDIS_SOURCE = hiredis-$(PYTHON_HIREDIS_VERSION).tar.gz -PYTHON_HIREDIS_SITE = https://files.pythonhosted.org/packages/3d/9f/abc69e73055f73d42ddf9c46b3e01a08b9e74b579b8fc413cbd31112a749 +PYTHON_HIREDIS_SITE = https://files.pythonhosted.org/packages/0c/39/eae11344d69ba435ec13d6bcc1a9eea3d2278324506fcd0e52d1ed8958c8 PYTHON_HIREDIS_SETUP_TYPE = setuptools PYTHON_HIREDIS_LICENSE = BSD-3-Clause PYTHON_HIREDIS_LICENSE_FILES = COPYING vendor/hiredis/COPYING diff --git a/package/python-hpack/0001-Convert-HISTORY.rst-from-UTF-8-format-to-ASCII.patch b/package/python-hpack/0001-Convert-HISTORY.rst-from-UTF-8-format-to-ASCII.patch deleted file mode 100644 index 015b8a24da8..00000000000 --- a/package/python-hpack/0001-Convert-HISTORY.rst-from-UTF-8-format-to-ASCII.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3d195f4f599f37c89419f1db1302f94acb38c264 Mon Sep 17 00:00:00 2001 -From: Yegor Yefremov -Date: Tue, 1 Aug 2017 10:15:33 +0200 -Subject: [PATCH] Convert HISTORY.rst from UTF-8 format to ASCII -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -UTF-8 formatted file breaks installations on some systems: - -Traceback (most recent call last): - File "setup.py", line 34, in - long_description=open('README.rst').read() + '\n\n' + open('HISTORY.rst').read(), - File "/home/peko/autobuild/instance-1/output/target/usr/lib/python3.6/encodings/ascii.py", line 26, in decode - return codecs.ascii_decode(input, self.errors)[0] -UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 1125: ordinal not in range(128) - -To fix this error just replace '§' with 'S' meaning 'Section'. - -Signed-off-by: Yegor Yefremov ---- - HISTORY.rst | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/HISTORY.rst b/HISTORY.rst -index 37b2d9c..b9310f5 100644 ---- a/HISTORY.rst -+++ b/HISTORY.rst -@@ -27,7 +27,7 @@ Release History - - HPACK now tolerates receiving multiple header table size changes in sequence, - rather than only one. - - HPACK now forbids header table size changes anywhere but first in a header -- block, as required by RFC 7541 § 4.2. -+ block, as required by RFC 7541 S 4.2. - - Other miscellaneous performance improvements. - - 2.3.0 (2016-08-04) --- -2.11.0 - diff --git a/package/python-hpack/Config.in b/package/python-hpack/Config.in index b0ea03bc426..b34a3f31fa3 100644 --- a/package/python-hpack/Config.in +++ b/package/python-hpack/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PYTHON_HPACK help Pure-Python HPACK header compression. - http://hyper.rtfd.org + https://github.com/python-hyper/hpack diff --git a/package/python-hpack/python-hpack.hash b/package/python-hpack/python-hpack.hash index 72886b0edd1..988cbaae0b3 100644 --- a/package/python-hpack/python-hpack.hash +++ b/package/python-hpack/python-hpack.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/hpack/json -md5 556b0ae66180f54c2ce8029a0952088b hpack-3.0.0.tar.gz -# Locally computed -sha256 8eec9c1f4bfae3408a3f30500261f7e6a65912dc138526ea054f9ad98892e9d2 hpack-3.0.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/hpack/json +md5 27e01514ef06dc9fa0798d3dcb7de47c hpack-4.0.0.tar.gz +sha256 fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095 hpack-4.0.0.tar.gz +# Locally computed sha256 checksums sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed LICENSE diff --git a/package/python-hpack/python-hpack.mk b/package/python-hpack/python-hpack.mk index d6b96649e96..3cf534d0551 100644 --- a/package/python-hpack/python-hpack.mk +++ b/package/python-hpack/python-hpack.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HPACK_VERSION = 3.0.0 +PYTHON_HPACK_VERSION = 4.0.0 PYTHON_HPACK_SOURCE = hpack-$(PYTHON_HPACK_VERSION).tar.gz -PYTHON_HPACK_SITE = https://pypi.python.org/packages/44/f1/b4440e46e265a29c0cb7b09b6daec6edf93c79eae713cfed93fbbf8716c5 +PYTHON_HPACK_SITE = https://files.pythonhosted.org/packages/3e/9b/fda93fb4d957db19b0f6b370e79d586b3e8528b20252c729c476a2c02954 PYTHON_HPACK_SETUP_TYPE = setuptools PYTHON_HPACK_LICENSE = MIT PYTHON_HPACK_LICENSE_FILES = LICENSE diff --git a/package/python-html5lib/python-html5lib.hash b/package/python-html5lib/python-html5lib.hash index 04c64c10c1e..5023f5ab66c 100644 --- a/package/python-html5lib/python-html5lib.hash +++ b/package/python-html5lib/python-html5lib.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/html5lib/json -md5 942a0688d6bdf20d087c9805c40182ad html5lib-1.0.1.tar.gz -sha256 66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736 html5lib-1.0.1.tar.gz +md5 6748742e2ec4cb99287a6bc82bcfe2b0 html5lib-1.1.tar.gz +sha256 b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f html5lib-1.1.tar.gz # Locally computed sha256 checksums -sha256 16a39991619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f LICENSE +sha256 16a39991619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f LICENSE diff --git a/package/python-html5lib/python-html5lib.mk b/package/python-html5lib/python-html5lib.mk index 1d6aef1aad8..84229eabd06 100644 --- a/package/python-html5lib/python-html5lib.mk +++ b/package/python-html5lib/python-html5lib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HTML5LIB_VERSION = 1.0.1 +PYTHON_HTML5LIB_VERSION = 1.1 PYTHON_HTML5LIB_SOURCE = html5lib-$(PYTHON_HTML5LIB_VERSION).tar.gz -PYTHON_HTML5LIB_SITE = https://files.pythonhosted.org/packages/85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f +PYTHON_HTML5LIB_SITE = https://files.pythonhosted.org/packages/ac/b6/b55c3f49042f1df3dcd422b7f224f939892ee94f22abcf503a9b7339eaf2 PYTHON_HTML5LIB_LICENSE = MIT PYTHON_HTML5LIB_LICENSE_FILES = LICENSE PYTHON_HTML5LIB_SETUP_TYPE = setuptools diff --git a/package/python-httplib2/Config.in b/package/python-httplib2/Config.in index e42f5132b7e..a029814f034 100644 --- a/package/python-httplib2/Config.in +++ b/package/python-httplib2/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_PYTHON_HTTPLIB2 bool "python-httplib2" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB + select BR2_PACKAGE_PYTHON3_SSL + select BR2_PACKAGE_PYTHON_PYPARSING # runtime help httplib2 is a comprehensive HTTP client library, httplib2.py supports many features left out of other HTTP libraries. diff --git a/package/python-httplib2/python-httplib2.hash b/package/python-httplib2/python-httplib2.hash index c272d8517c5..2c5914c5f6c 100644 --- a/package/python-httplib2/python-httplib2.hash +++ b/package/python-httplib2/python-httplib2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/httplib2/json -md5 4c05b09eb6f6c20a31ca488c7a87dda9 httplib2-0.17.2.tar.gz -sha256 eb7a6b137ae31e61c5f429083c5bebb71fe5fd1958e7f3d5c39b21b11cd4b290 httplib2-0.17.2.tar.gz -# Locally computer sha256 checksums -sha256 4205f0d88e04380ba13b9c60e2f85771196b66ee84bf48971d30d82a78e84c3f PKG-INFO +md5 de7f5e3a4adb3105889867327bdd39dc httplib2-0.19.1.tar.gz +sha256 0b12617eeca7433d4c396a100eaecfa4b08ee99aa881e6df6e257a7aad5d533d httplib2-0.19.1.tar.gz +# Locally computed sha256 checksums +sha256 589eec38f72df2be203711d3b8cbece9b908c5e7ff00bc3cab7f63bae9e366b4 LICENSE diff --git a/package/python-httplib2/python-httplib2.mk b/package/python-httplib2/python-httplib2.mk index fbdb6d83c43..a259c33c73c 100644 --- a/package/python-httplib2/python-httplib2.mk +++ b/package/python-httplib2/python-httplib2.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_HTTPLIB2_VERSION = 0.17.2 +PYTHON_HTTPLIB2_VERSION = 0.19.1 PYTHON_HTTPLIB2_SOURCE = httplib2-$(PYTHON_HTTPLIB2_VERSION).tar.gz -PYTHON_HTTPLIB2_SITE = https://files.pythonhosted.org/packages/1b/f0/a35a448afea308aeb6a1430dbcfb46f4cef11360cbc18f22af6e567bb847 +PYTHON_HTTPLIB2_SITE = https://files.pythonhosted.org/packages/ed/cd/533a1e9e04671bcee5d2854b4f651a3fab9586d698de769d93b05ee2bff1 PYTHON_HTTPLIB2_SETUP_TYPE = setuptools PYTHON_HTTPLIB2_LICENSE = MIT -PYTHON_HTTPLIB2_LICENSE_FILES = PKG-INFO +PYTHON_HTTPLIB2_LICENSE_FILES = LICENSE +PYTHON_HTTPLIB2_CPE_ID_VENDOR = httplib2_project +PYTHON_HTTPLIB2_CPE_ID_PRODUCT = httplib2 $(eval $(python-package)) diff --git a/package/python-humanize/python-humanize.hash b/package/python-humanize/python-humanize.hash index 47b5f70c9a7..9b2559ab117 100644 --- a/package/python-humanize/python-humanize.hash +++ b/package/python-humanize/python-humanize.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/humanize/json -md5 e8473d9dc1b220911cac2edd53b1d973 humanize-0.5.1.tar.gz -# Locally computed -sha256 a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19 humanize-0.5.1.tar.gz -sha256 2ee89d331213b5886ae5416ead178694ac0eb13bb79c83bf92287f95d3597377 LICENCE +# md5, sha256 from https://pypi.org/pypi/humanize/json +md5 04f5b334283e1f7f0dfeccf7d5a4b880 humanize-3.11.0.tar.gz +sha256 4160cdc63fcd0daac27d2e1e218a31bb396fc3fe5712d153675d89432a03778f humanize-3.11.0.tar.gz +# Locally computed sha256 checksums +sha256 8ba6c18112a431400ad3c743f70670079b302545d98884fc2f28a91c383a0380 LICENCE diff --git a/package/python-humanize/python-humanize.mk b/package/python-humanize/python-humanize.mk index 60ec82bd487..ea5454d6cc5 100644 --- a/package/python-humanize/python-humanize.mk +++ b/package/python-humanize/python-humanize.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HUMANIZE_VERSION = 0.5.1 +PYTHON_HUMANIZE_VERSION = 3.11.0 PYTHON_HUMANIZE_SOURCE = humanize-$(PYTHON_HUMANIZE_VERSION).tar.gz -PYTHON_HUMANIZE_SITE = https://pypi.python.org/packages/8c/e0/e512e4ac6d091fc990bbe13f9e0378f34cf6eecd1c6c268c9e598dcf5bb9 +PYTHON_HUMANIZE_SITE = https://files.pythonhosted.org/packages/a6/d0/e06993724937f2aab3e7085d137d453968aaac0f74661ef9c90528a79d61 PYTHON_HUMANIZE_SETUP_TYPE = setuptools PYTHON_HUMANIZE_LICENSE = MIT PYTHON_HUMANIZE_LICENSE_FILES = LICENCE diff --git a/package/python-hyperframe/Config.in b/package/python-hyperframe/Config.in index f3318a20e2f..fb83c895afb 100644 --- a/package/python-hyperframe/Config.in +++ b/package/python-hyperframe/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PYTHON_HYPERFRAME help HTTP/2 framing layer for Python. - http://hyper.rtfd.org + https://github.com/python-hyper/hyperframe/ diff --git a/package/python-hyperframe/python-hyperframe.hash b/package/python-hyperframe/python-hyperframe.hash index 3e686a4aa21..b39ab51a726 100644 --- a/package/python-hyperframe/python-hyperframe.hash +++ b/package/python-hyperframe/python-hyperframe.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/hyperframe/json -md5 6919183242feb26d8bce3b4cba81defd hyperframe-5.2.0.tar.gz -sha256 a9f5c17f2cc3c719b917c4f33ed1c61bd1f8dfac4b1bd23b7c80b3400971b41f hyperframe-5.2.0.tar.gz +md5 153c064e8ac654aaf136b3388c36de48 hyperframe-6.0.1.tar.gz +sha256 ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914 hyperframe-6.0.1.tar.gz # Locally computed sha256 checksums -sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed LICENSE +sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed LICENSE diff --git a/package/python-hyperframe/python-hyperframe.mk b/package/python-hyperframe/python-hyperframe.mk index 7640ade5fdb..4b13ca51a3a 100644 --- a/package/python-hyperframe/python-hyperframe.mk +++ b/package/python-hyperframe/python-hyperframe.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HYPERFRAME_VERSION = 5.2.0 +PYTHON_HYPERFRAME_VERSION = 6.0.1 PYTHON_HYPERFRAME_SOURCE = hyperframe-$(PYTHON_HYPERFRAME_VERSION).tar.gz -PYTHON_HYPERFRAME_SITE = https://files.pythonhosted.org/packages/e6/7f/9a4834af1010dc1d570d5f394dfd9323a7d7ada7d25586bd299fc4cb0356 +PYTHON_HYPERFRAME_SITE = https://files.pythonhosted.org/packages/5a/2a/4747bff0a17f7281abe73e955d60d80aae537a5d203f417fa1c2e7578ebb PYTHON_HYPERFRAME_SETUP_TYPE = setuptools PYTHON_HYPERFRAME_LICENSE = MIT PYTHON_HYPERFRAME_LICENSE_FILES = LICENSE diff --git a/package/python-hyperlink/python-hyperlink.hash b/package/python-hyperlink/python-hyperlink.hash index 94535002e6e..c7621a96acd 100644 --- a/package/python-hyperlink/python-hyperlink.hash +++ b/package/python-hyperlink/python-hyperlink.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/hyperlink/json -md5 4772fb4d87c26a1ab22a6161424e3cba hyperlink-19.0.0.tar.gz -sha256 4288e34705da077fada1111a24a0aa08bb1e76699c9ce49876af722441845654 hyperlink-19.0.0.tar.gz +md5 6285ac13e7d6be4157698ad7960ed490 hyperlink-21.0.0.tar.gz +sha256 427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b hyperlink-21.0.0.tar.gz # Locally computed sha256 checksums -sha256 9577b66fb599aa5700b4981078ab0a319416a086beee646cd282aa9f33c8c74c LICENSE +sha256 7468ded55310f64fbf085b8e892df81d1bcc49263bf535d3c2c58b014cfae214 LICENSE diff --git a/package/python-hyperlink/python-hyperlink.mk b/package/python-hyperlink/python-hyperlink.mk index deff4feac3a..a80c5554501 100644 --- a/package/python-hyperlink/python-hyperlink.mk +++ b/package/python-hyperlink/python-hyperlink.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HYPERLINK_VERSION = 19.0.0 +PYTHON_HYPERLINK_VERSION = 21.0.0 PYTHON_HYPERLINK_SOURCE = hyperlink-$(PYTHON_HYPERLINK_VERSION).tar.gz -PYTHON_HYPERLINK_SITE = https://files.pythonhosted.org/packages/e0/46/1451027b513a75edf676d25a47f601ca00b06a6a7a109e5644d921e7462d +PYTHON_HYPERLINK_SITE = https://files.pythonhosted.org/packages/3a/51/1947bd81d75af87e3bb9e34593a4cf118115a8feb451ce7a69044ef1412e PYTHON_HYPERLINK_SETUP_TYPE = setuptools PYTHON_HYPERLINK_LICENSE = MIT PYTHON_HYPERLINK_LICENSE_FILES = LICENSE diff --git a/package/python-ibmiotf/Config.in b/package/python-ibmiotf/Config.in index 0f5f75be5e5..64362db9982 100644 --- a/package/python-ibmiotf/Config.in +++ b/package/python-ibmiotf/Config.in @@ -5,8 +5,7 @@ config BR2_PACKAGE_PYTHON_IBMIOTF select BR2_PACKAGE_PYTHON_PYTZ # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime select BR2_PACKAGE_PYTHON_REQUESTS_TOOLBELT # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime help Python Client for IBM Watson IoT Platform. diff --git a/package/python-id3/Config.in b/package/python-id3/Config.in deleted file mode 100644 index 6ddfd541bda..00000000000 --- a/package/python-id3/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config BR2_PACKAGE_PYTHON_ID3 - bool "python-id3" - depends on BR2_PACKAGE_PYTHON - help - This module allows one to read and manipulate so-called ID3 - informational tags on MP3 files through an object-oriented - Python interface. - - http://id3-py.sourceforge.net/ diff --git a/package/python-id3/python-id3.hash b/package/python-id3/python-id3.hash deleted file mode 100644 index c83b34a2d92..00000000000 --- a/package/python-id3/python-id3.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 ba612342b59a49cbf9a7eb23a646667757ffda96dc23b67245fc6cd8d90c2022 id3-py_1.2.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/python-id3/python-id3.mk b/package/python-id3/python-id3.mk deleted file mode 100644 index d4cdded00ca..00000000000 --- a/package/python-id3/python-id3.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-id3 -# -################################################################################ - -PYTHON_ID3_VERSION = 1.2 -PYTHON_ID3_SOURCE = id3-py_$(PYTHON_ID3_VERSION).tar.gz -PYTHON_ID3_SITE = http://downloads.sourceforge.net/project/id3-py/id3-py/$(PYTHON_ID3_VERSION) -PYTHON_ID3_SETUP_TYPE = distutils -PYTHON_ID3_LICENSE = GPL-2.0+ -PYTHON_ID3_LICENSE_FILES = COPYING - -$(eval $(python-package)) diff --git a/package/python-idna/Config.in b/package/python-idna/Config.in index e3e548d493b..ddc2cd7d17c 100644 --- a/package/python-idna/Config.in +++ b/package/python-idna/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_IDNA bool "python-idna" - select BR2_PACKAGE_PYTHON_UNICODEDATA if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_UNICODEDATA if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_UNICODEDATA help A library to support the Internationalised Domain Names in Applications (IDNA) protocol as specified in RFC 5891. This diff --git a/package/python-idna/python-idna.hash b/package/python-idna/python-idna.hash index c5f7378fdab..27c42c8b593 100644 --- a/package/python-idna/python-idna.hash +++ b/package/python-idna/python-idna.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/idna/json -md5 7a910c706db30d758f377db2762c0f9a idna-2.10.tar.gz -sha256 b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 idna-2.10.tar.gz +md5 5856306eac5f25db8249e37a4c6ee3e7 idna-3.3.tar.gz +sha256 9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d idna-3.3.tar.gz # Locally computed sha256 checksums -sha256 412014420d2473dba06117c3d4d9e0eecaa6dde0ca30cd951f4ec2be39426f32 LICENSE.rst +sha256 a2d6e4d940bd24dbe7b9645cde19a9792cc51db7ae0d5acd301ac860caa3e836 LICENSE.md diff --git a/package/python-idna/python-idna.mk b/package/python-idna/python-idna.mk index b4d9839e292..6f416156d01 100644 --- a/package/python-idna/python-idna.mk +++ b/package/python-idna/python-idna.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_IDNA_VERSION = 2.10 +PYTHON_IDNA_VERSION = 3.3 PYTHON_IDNA_SOURCE = idna-$(PYTHON_IDNA_VERSION).tar.gz -PYTHON_IDNA_SITE = https://files.pythonhosted.org/packages/ea/b7/e0e3c1c467636186c39925827be42f16fee389dc404ac29e930e9136be70 +PYTHON_IDNA_SITE = https://files.pythonhosted.org/packages/62/08/e3fc7c8161090f742f504f40b1bccbfc544d4a4e09eb774bf40aafce5436 PYTHON_IDNA_LICENSE = BSD-3-Clause -PYTHON_IDNA_LICENSE_FILES = LICENSE.rst +PYTHON_IDNA_LICENSE_FILES = LICENSE.md PYTHON_IDNA_SETUP_TYPE = setuptools $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-incremental/Config.in b/package/python-incremental/Config.in index 64f86233540..c895e820c5e 100644 --- a/package/python-incremental/Config.in +++ b/package/python-incremental/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PYTHON_INCREMENTAL help A library for versioning your Python projects. - https://github.com/hawkowl/incremental + https://github.com/twisted/incremental diff --git a/package/python-incremental/python-incremental.hash b/package/python-incremental/python-incremental.hash index c897f6e4952..47af832f398 100644 --- a/package/python-incremental/python-incremental.hash +++ b/package/python-incremental/python-incremental.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/incremental/json -md5 602746e0d438e075a5a9e0678140bba2 incremental-17.5.0.tar.gz -sha256 7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3 incremental-17.5.0.tar.gz -# Locally computed sha256 -sha256 d043bc8899b4695de1f4511d8f507b927e11723b981ce600fa3ef7b73954afa5 LICENSE +md5 9f7ad12e0c05a12cee52a7350976c4e3 incremental-21.3.0.tar.gz +sha256 02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57 incremental-21.3.0.tar.gz +# Locally computed sha256 checksums +sha256 d043bc8899b4695de1f4511d8f507b927e11723b981ce600fa3ef7b73954afa5 LICENSE diff --git a/package/python-incremental/python-incremental.mk b/package/python-incremental/python-incremental.mk index 9c9d3a44055..7c6b2a547c9 100644 --- a/package/python-incremental/python-incremental.mk +++ b/package/python-incremental/python-incremental.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_INCREMENTAL_VERSION = 17.5.0 +PYTHON_INCREMENTAL_VERSION = 21.3.0 PYTHON_INCREMENTAL_SOURCE = incremental-$(PYTHON_INCREMENTAL_VERSION).tar.gz -PYTHON_INCREMENTAL_SITE = https://files.pythonhosted.org/packages/8f/26/02c4016aa95f45479eea37c90c34f8fab6775732ae62587a874b619ca097 +PYTHON_INCREMENTAL_SITE = https://files.pythonhosted.org/packages/4f/c5/430765c697afc217c8491785de321a21fa4d983dda14bcd82feb965b0593 PYTHON_INCREMENTAL_SETUP_TYPE = setuptools PYTHON_INCREMENTAL_LICENSE = MIT PYTHON_INCREMENTAL_LICENSE_FILES = LICENSE diff --git a/package/python-inflection/Config.in b/package/python-inflection/Config.in index 427275bc71d..84240060fdd 100644 --- a/package/python-inflection/Config.in +++ b/package/python-inflection/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_INFLECTION bool "python-inflection" - select BR2_PACKAGE_PYTHON_UNICODEDATA if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_UNICODEDATA if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_UNICODEDATA help A string transformation library that singularizes and pluralizes English words, and transforms strings from diff --git a/package/python-inflection/python-inflection.hash b/package/python-inflection/python-inflection.hash index bdad35ad251..b170d3f6b0e 100644 --- a/package/python-inflection/python-inflection.hash +++ b/package/python-inflection/python-inflection.hash @@ -1,5 +1,5 @@ -# Hashes from https://pypi.python.org/pypi/inflection/json -md5 7941165e9f148e0520023941c0886b40 inflection-0.3.1.tar.gz -sha256 18ea7fb7a7d152853386523def08736aa8c32636b047ade55f7578c4edeb16ca inflection-0.3.1.tar.gz -# License file, locally calculated -sha256 4a3f52ac1012a90db398e4c55f1d1bea501dddafef8a4b3adb7533b1d820e148 LICENSE +# md5, sha256 from https://pypi.org/pypi/inflection/json +md5 c3287d4f0e3bdf625a52d655cc514403 inflection-0.5.1.tar.gz +sha256 1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417 inflection-0.5.1.tar.gz +# Locally computed sha256 checksums +sha256 9e9f9b4b2e7543ad1486f1328bf9ec50e5a5e2bb9caceb59652496dd61e64133 LICENSE diff --git a/package/python-inflection/python-inflection.mk b/package/python-inflection/python-inflection.mk index 7309880c6a2..7c030e99b92 100644 --- a/package/python-inflection/python-inflection.mk +++ b/package/python-inflection/python-inflection.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_INFLECTION_VERSION = 0.3.1 +PYTHON_INFLECTION_VERSION = 0.5.1 PYTHON_INFLECTION_SOURCE = inflection-$(PYTHON_INFLECTION_VERSION).tar.gz -PYTHON_INFLECTION_SITE = https://pypi.python.org/packages/d5/35/a6eb45b4e2356fe688b21570864d4aa0d0a880ce387defe9c589112077f8 +PYTHON_INFLECTION_SITE = https://files.pythonhosted.org/packages/e1/7e/691d061b7329bc8d54edbf0ec22fbfb2afe61facb681f9aaa9bff7a27d04 PYTHON_INFLECTION_SETUP_TYPE = setuptools PYTHON_INFLECTION_LICENSE = MIT PYTHON_INFLECTION_LICENSE_FILES = LICENSE diff --git a/package/python-installer/python-installer.hash b/package/python-installer/python-installer.hash new file mode 100644 index 00000000000..68af457664b --- /dev/null +++ b/package/python-installer/python-installer.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/installer/json +md5 cf7b8f470620c54f2d28167fc80542a7 installer-0.4.0.tar.gz +sha256 17d7ca174039fbd85f268e16042e3132ebb03d91e1bbe0f63b9ec6b40619414a installer-0.4.0.tar.gz +# Locally computed sha256 checksums +sha256 37b8b9f2569892fa54406383d431169dbb2115980d78b7efba6eeae5664c484f LICENSE diff --git a/package/python-installer/python-installer.mk b/package/python-installer/python-installer.mk new file mode 100644 index 00000000000..82739a80032 --- /dev/null +++ b/package/python-installer/python-installer.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-installer +# +################################################################################ + +PYTHON_INSTALLER_VERSION = 0.4.0 +PYTHON_INSTALLER_SOURCE = installer-$(PYTHON_INSTALLER_VERSION).tar.gz +PYTHON_INSTALLER_SITE = https://files.pythonhosted.org/packages/71/9a/8d7c724b0d51336453e75f76b32de86b336ef26755c64119204f1f5b4388 +PYTHON_INSTALLER_LICENSE = MIT +PYTHON_INSTALLER_LICENSE_FILES = LICENSE +PYTHON_INSTALLER_SETUP_TYPE = distutils + +$(eval $(host-python-package)) diff --git a/package/python-ipaddr/Config.in b/package/python-ipaddr/Config.in deleted file mode 100644 index 57279273f99..00000000000 --- a/package/python-ipaddr/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config BR2_PACKAGE_PYTHON_IPADDR - bool "python-ipaddr" - depends on BR2_PACKAGE_PYTHON # included since python3.3 - help - An IPv4/IPv6 manipulation library in Python. This library is - used to create/poke/manipulate IPv4 and IPv6 addresses and - prefixes. - - https://github.com/google/ipaddr-py diff --git a/package/python-ipaddr/python-ipaddr.hash b/package/python-ipaddr/python-ipaddr.hash deleted file mode 100644 index d9963a2933a..00000000000 --- a/package/python-ipaddr/python-ipaddr.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/ipaddr/json -md5 f88353e40dec06410acfa075b8209b27 ipaddr-2.2.0.tar.gz -sha256 4092dfe667588d16aa12b59acb7c8a4024e5dcb23a681cd0b0b602373eca88d6 ipaddr-2.2.0.tar.gz -# Locally computed sha256 checksums -sha256 175b3b509d5c840db72ad8c22d22a690d15c67b317f34de8a8bb0a66059e8215 COPYING diff --git a/package/python-ipaddr/python-ipaddr.mk b/package/python-ipaddr/python-ipaddr.mk deleted file mode 100644 index 9a5d1475339..00000000000 --- a/package/python-ipaddr/python-ipaddr.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-ipaddr -# -################################################################################ - -PYTHON_IPADDR_VERSION = 2.2.0 -PYTHON_IPADDR_SOURCE = ipaddr-$(PYTHON_IPADDR_VERSION).tar.gz -PYTHON_IPADDR_SITE = https://files.pythonhosted.org/packages/9d/a7/1b39a16cb90dfe491f57e1cab3103a15d4e8dd9a150872744f531b1106c1 -PYTHON_IPADDR_SETUP_TYPE = distutils -PYTHON_IPADDR_LICENSE = Apache-2.0 -PYTHON_IPADDR_LICENSE_FILES = COPYING - -$(eval $(python-package)) diff --git a/package/python-ipaddress/Config.in b/package/python-ipaddress/Config.in deleted file mode 100644 index b2b9f0b1c38..00000000000 --- a/package/python-ipaddress/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_PYTHON_IPADDRESS - bool "python-ipaddress" - depends on BR2_PACKAGE_PYTHON - help - Python 3.3's ipaddress for older Python versions. - - https://github.com/phihag/ipaddress diff --git a/package/python-ipaddress/python-ipaddress.hash b/package/python-ipaddress/python-ipaddress.hash deleted file mode 100644 index e61835e1923..00000000000 --- a/package/python-ipaddress/python-ipaddress.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/ipaddress/json -md5 aaee67a8026782af1831148beb0d9060 ipaddress-1.0.23.tar.gz -sha256 b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2 ipaddress-1.0.23.tar.gz -# Locally computed sha256 checksums -sha256 38675419eb4a79ec616396d70f1254b3a433fb7088fb3f4cc9b6c0bcdcec6162 LICENSE diff --git a/package/python-ipaddress/python-ipaddress.mk b/package/python-ipaddress/python-ipaddress.mk deleted file mode 100644 index 8f1ad5ffc71..00000000000 --- a/package/python-ipaddress/python-ipaddress.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-ipaddress -# -################################################################################ - -PYTHON_IPADDRESS_VERSION = 1.0.23 -PYTHON_IPADDRESS_SOURCE = ipaddress-$(PYTHON_IPADDRESS_VERSION).tar.gz -PYTHON_IPADDRESS_SITE = https://files.pythonhosted.org/packages/b9/9a/3e9da40ea28b8210dd6504d3fe9fe7e013b62bf45902b458d1cdc3c34ed9 -PYTHON_IPADDRESS_LICENSE = Python-2.0 -PYTHON_IPADDRESS_LICENSE_FILES = LICENSE -PYTHON_IPADDRESS_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-ipdb/Config.in b/package/python-ipdb/Config.in index 4a89bf75de6..a9d6af16845 100644 --- a/package/python-ipdb/Config.in +++ b/package/python-ipdb/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_IPDB bool "python-ipdb" - depends on BR2_PACKAGE_PYTHON3 # python-ipython select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_IPYTHON # runtime help diff --git a/package/python-ipdb/python-ipdb.hash b/package/python-ipdb/python-ipdb.hash index c7cd93225dc..7d483e1777a 100644 --- a/package/python-ipdb/python-ipdb.hash +++ b/package/python-ipdb/python-ipdb.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ipdb/json -md5 7db72771b279924ac4e5905d7eee184e ipdb-0.13.2.tar.gz -sha256 77fb1c2a6fccdfee0136078c9ed6fe547ab00db00bebff181f1e8c9e13418d49 ipdb-0.13.2.tar.gz +md5 4f5ffb71cd6551319acf8cbceabd8936 ipdb-0.13.9.tar.gz +sha256 951bd9a64731c444fd907a5ce268543020086a697f6be08f7cc2c9a752a278c5 ipdb-0.13.9.tar.gz # Locally computed sha256 checksums sha256 4eeb49de04f4894f8ea1f69a04f500799041b750b3d554c06de5ca877258e734 COPYING.txt diff --git a/package/python-ipdb/python-ipdb.mk b/package/python-ipdb/python-ipdb.mk index c98f9700b26..7828f83020f 100644 --- a/package/python-ipdb/python-ipdb.mk +++ b/package/python-ipdb/python-ipdb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IPDB_VERSION = 0.13.2 +PYTHON_IPDB_VERSION = 0.13.9 PYTHON_IPDB_SOURCE = ipdb-$(PYTHON_IPDB_VERSION).tar.gz -PYTHON_IPDB_SITE = https://files.pythonhosted.org/packages/2c/bb/a3e1a441719ebd75c6dac8170d3ddba884b7ee8a5c0f9aefa7297386627a +PYTHON_IPDB_SITE = https://files.pythonhosted.org/packages/fc/56/9f67dcd4a4b9960373173a31be1b8c47fe351a1c9385677a7bdd82810e57 PYTHON_IPDB_SETUP_TYPE = setuptools PYTHON_IPDB_LICENSE = BSD-3-Clause PYTHON_IPDB_LICENSE_FILES = COPYING.txt diff --git a/package/python-iptables/0001-Add-separate-mechanism-to-load-libc.patch b/package/python-iptables/0001-Add-separate-mechanism-to-load-libc.patch deleted file mode 100644 index 2a344c2f556..00000000000 --- a/package/python-iptables/0001-Add-separate-mechanism-to-load-libc.patch +++ /dev/null @@ -1,90 +0,0 @@ -From e3557528d7cdcdc2c579212be8837bc9b54635a4 Mon Sep 17 00:00:00 2001 -From: Frank Vanbever -Date: Thu, 20 Feb 2020 12:14:08 +0100 -Subject: [PATCH] Add separate mechanism to load libc - -ctypes.util.find_library() always returns None for systems which do not have the -tools installed to determine the location of a given shared library (i.e. -ldconfig, gcc, objdump). If find_libary() fails attempt to load known libc by -SONAME. - -Upstream: https://github.com/ldx/python-iptables/commit/e3557528d7cdcdc2c579212be8837bc9b54635a4 - -Signed-off-by: Frank Vanbever ---- - iptc/ip4tc.py | 4 ++-- - iptc/util.py | 16 ++++++++++++++++ - iptc/xtables.py | 4 ++-- - 3 files changed, 20 insertions(+), 4 deletions(-) - -diff --git a/iptc/ip4tc.py b/iptc/ip4tc.py -index 4c5d690..4ddd2dc 100644 ---- a/iptc/ip4tc.py -+++ b/iptc/ip4tc.py -@@ -9,7 +9,7 @@ import socket - import struct - import weakref - --from .util import find_library, load_kernel -+from .util import find_library, load_kernel, find_libc - from .xtables import (XT_INV_PROTO, NFPROTO_IPV4, XTablesError, xtables, - xt_align, xt_counters, xt_entry_target, xt_entry_match) - -@@ -26,7 +26,7 @@ if not hasattr(socket, 'IPPROTO_SCTP'): - - _IFNAMSIZ = 16 - --_libc = ct.CDLL("libc.so.6") -+_libc = find_libc() - _get_errno_loc = _libc.__errno_location - _get_errno_loc.restype = ct.POINTER(ct.c_int) - _malloc = _libc.malloc -diff --git a/iptc/util.py b/iptc/util.py -index ae5fb9b..e6b1649 100644 ---- a/iptc/util.py -+++ b/iptc/util.py -@@ -109,3 +109,19 @@ def find_library(*names): - major = int(m.group(1)) - return lib, major - return None, None -+ -+ -+def find_libc(): -+ lib = ctypes.util.find_library('c') -+ if lib is not None: -+ return ctypes.CDLL(lib, mode=ctypes.RTLD_GLOBAL) -+ -+ libnames = ['libc.so.6', 'libc.so.0', 'libc.so'] -+ for name in libnames: -+ try: -+ lib = ctypes.CDLL(name, mode=ctypes.RTLD_GLOBAL) -+ return lib -+ except: -+ pass -+ -+ return None -diff --git a/iptc/xtables.py b/iptc/xtables.py -index 93bc080..cf21029 100644 ---- a/iptc/xtables.py -+++ b/iptc/xtables.py -@@ -6,7 +6,7 @@ import sys - import weakref - - from . import version --from .util import find_library -+from .util import find_library, find_libc - from .errors import * - - XT_INV_PROTO = 0x40 # invert the sense of PROTO -@@ -792,7 +792,7 @@ class xtables_target(ct.Union): - ("v12", _xtables_target_v12)] - - --_libc, _ = find_library("c") -+_libc = find_libc() - _optind = ct.c_long.in_dll(_libc, "optind") - _optarg = ct.c_char_p.in_dll(_libc, "optarg") - --- -2.20.1 - diff --git a/package/python-iptables/0002-Add-.so-as-additional-shared-object-suffix.patch b/package/python-iptables/0002-Add-.so-as-additional-shared-object-suffix.patch deleted file mode 100644 index 41d49fc1e63..00000000000 --- a/package/python-iptables/0002-Add-.so-as-additional-shared-object-suffix.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 899d25c511c6ce779b7153e9ae2e41055b30b9c5 Mon Sep 17 00:00:00 2001 -From: Frank Vanbever -Date: Mon, 9 Mar 2020 12:36:47 +0100 -Subject: [PATCH] Add '.so' as additional shared object suffix - -EXT_SUFFIX includes a platform information tag starting from Python 3.5 [0] -For example: - - >>> sysconfig.get_config_var("EXT_SUFFIX") - '.cpython-38-aarch64-linux-gnu.so' - -This suffix only applies to cpython extensions i.e. not to the iptables shared -objects. - -Adding '.so' as an additional suffix for shared objects fixes the issue. - -Fixes: Issue #301 - -Signed-off-by: Frank Vanbever - -Backported from: 899d25c511c6ce779b7153e9ae2e41055b30b9c5 - -[0]: https://docs.python.org/3/whatsnew/3.5.html#build-and-c-api-changes ---- - iptc/util.py | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/iptc/util.py b/iptc/util.py -index e6b1649..04fe905 100644 ---- a/iptc/util.py -+++ b/iptc/util.py -@@ -80,12 +80,19 @@ def _do_find_library(name): - - - def _find_library(*names): -+ exts = [] - if version_info >= (3, 3): -- ext = get_config_var("EXT_SUFFIX") -+ exts.append(get_config_var("EXT_SUFFIX")) - else: -- ext = get_config_var('SO') -+ exts.append(get_config_var('SO')) -+ -+ if version_info >= (3, 5): -+ exts.append('.so') -+ - for name in names: -- libnames = [name, "lib" + name, name + ext, "lib" + name + ext] -+ libnames = [name, "lib" + name] -+ for ext in exts: -+ libnames += [name + ext, "lib" + name + ext] - libdir = os.environ.get('IPTABLES_LIBDIR', None) - if libdir is not None: - libdirs = libdir.split(':') --- -2.20.1 - diff --git a/package/python-iptables/Config.in b/package/python-iptables/Config.in index a35577bad39..0e24283d061 100644 --- a/package/python-iptables/Config.in +++ b/package/python-iptables/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_IPTABLES bool "python-iptables" depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_IPTABLES # runtime dependency + select BR2_PACKAGE_IPTABLES help Python bindings for iptables. diff --git a/package/python-iptables/python-iptables.hash b/package/python-iptables/python-iptables.hash index 46786699acd..ee5f765fba7 100644 --- a/package/python-iptables/python-iptables.hash +++ b/package/python-iptables/python-iptables.hash @@ -1,5 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/python-iptables/json -md5 98ee55f239bf8f2d002915d76b416c22 python-iptables-0.14.0.tar.gz -sha256 61b23850ad5d917436aa73c2847ab941bc0edbe79a324b0eebdb98af0b65b10d python-iptables-0.14.0.tar.gz +md5 3fb27da1107bdb62196850fa70e8b0d4 python-iptables-1.0.0.tar.gz +sha256 480470adb5f29bf84269b4e53dbad9623af91c79aa666cc0274dec199a555bc5 python-iptables-1.0.0.tar.gz + # Locally calculated sha256 b827789c74144d9bb92595ed3bc568aef767a7e8d930fba61c2cdd9f6ec27599 NOTICE diff --git a/package/python-iptables/python-iptables.mk b/package/python-iptables/python-iptables.mk index 66e478a89a7..0ccf064217d 100644 --- a/package/python-iptables/python-iptables.mk +++ b/package/python-iptables/python-iptables.mk @@ -4,10 +4,19 @@ # ################################################################################ -PYTHON_IPTABLES_VERSION = 0.14.0 -PYTHON_IPTABLES_SITE = https://files.pythonhosted.org/packages/08/5e/16a5ca35c420b8059eeb72716e316eeb6f0e59ce028998d36b2dc87554e5 +PYTHON_IPTABLES_VERSION = 1.0.0 +PYTHON_IPTABLES_SITE = https://files.pythonhosted.org/packages/ca/6e/cba9c6f4b5a1963b7f5b015f5ed5e2eec7a94ac460570e3474177c4004d6 PYTHON_IPTABLES_SETUP_TYPE = setuptools PYTHON_IPTABLES_LICENSE = Apache-2.0 PYTHON_IPTABLES_LICENSE_FILES = NOTICE +PYTHON_IPTABLES_DEPENDENCIES = iptables + +define PYTHON_IPTABLES_SET_XTABLES_ENV_VARS + XTABLES_VERSION=`awk '/XTABLES_VERSION_CODE/ {print $$NF}' $(STAGING_DIR)/usr/include/xtables-version.h`; \ + sed -i "s%os.getenv(\"PYTHON_IPTABLES_XTABLES_VERSION\")%$$XTABLES_VERSION%" $(@D)/iptc/xtables.py + sed -i "s%os.getenv(\"XTABLES_LIBDIR\")%\"/usr/lib/xtables\"%" $(@D)/iptc/xtables.py +endef + +PYTHON_IPTABLES_PRE_BUILD_HOOKS += PYTHON_IPTABLES_SET_XTABLES_ENV_VARS $(eval $(python-package)) diff --git a/package/python-ipy/Config.in b/package/python-ipy/Config.in index bead932da88..b4f0c8cb5e3 100644 --- a/package/python-ipy/Config.in +++ b/package/python-ipy/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_IPY bool "python-ipy" - depends on BR2_PACKAGE_PYTHON help IPy - class and tools for handling of IPv4 and IPv6 addresses and networks. diff --git a/package/python-ipy/python-ipy.hash b/package/python-ipy/python-ipy.hash index 641a2eb21fb..3d8e1e8c71c 100644 --- a/package/python-ipy/python-ipy.hash +++ b/package/python-ipy/python-ipy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ipy/json -md5 1a90c68174234672241a7e60c7ea0fb9 IPy-1.00.tar.gz -sha256 2f2bf658a858d43868d8a4352b3889cf78c66e2ce678b300dcf518c9149ba621 IPy-1.00.tar.gz +md5 d6cf83e7f418ebbd23324ba1c658b907 IPy-1.01.tar.gz +sha256 edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a IPy-1.01.tar.gz # Locally computed sha256 checksums -sha256 078bb46799e46e51e7239c24ff130d345db911c11efafef5e3c45dfb7adb0a61 COPYING +sha256 078bb46799e46e51e7239c24ff130d345db911c11efafef5e3c45dfb7adb0a61 COPYING diff --git a/package/python-ipy/python-ipy.mk b/package/python-ipy/python-ipy.mk index 817b531e0b0..2a01daf4cac 100644 --- a/package/python-ipy/python-ipy.mk +++ b/package/python-ipy/python-ipy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IPY_VERSION = 1.00 +PYTHON_IPY_VERSION = 1.01 PYTHON_IPY_SOURCE = IPy-$(PYTHON_IPY_VERSION).tar.gz -PYTHON_IPY_SITE = https://files.pythonhosted.org/packages/e1/66/b6dd22472bb027556849876beae2dd4dca3a4eaf2dd3039277b4edb8c6af +PYTHON_IPY_SITE = https://files.pythonhosted.org/packages/64/a4/9c0d88d95666ff1571d7baec6c5e26abc08051801feb6e6ddf40f6027e22 PYTHON_IPY_LICENSE = BSD-3-Clause PYTHON_IPY_LICENSE_FILES = COPYING PYTHON_IPY_SETUP_TYPE = distutils diff --git a/package/python-ipython/Config.in b/package/python-ipython/Config.in index c151ac2dd21..3de49ae5742 100644 --- a/package/python-ipython/Config.in +++ b/package/python-ipython/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_IPYTHON bool "python-ipython" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_BACKCALL # runtime select BR2_PACKAGE_PYTHON_DECORATOR # runtime select BR2_PACKAGE_PYTHON_JEDI # runtime diff --git a/package/python-ipython/python-ipython.hash b/package/python-ipython/python-ipython.hash index e8e25f5cb79..cd18c3d1256 100644 --- a/package/python-ipython/python-ipython.hash +++ b/package/python-ipython/python-ipython.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/ipython/json -md5 68542bca2ebf39af7d9d0557e7fb5708 ipython-7.9.0.tar.gz -sha256 dfd303b270b7b5232b3d08bd30ec6fd685d8a58cabd54055e3d69d8f029f7280 ipython-7.9.0.tar.gz +md5 6907b67691ba697173a3befb2c35f7ac ipython-7.31.1.tar.gz +sha256 b5548ec5329a4bcf054a5deed5099b0f9622eb9ea51aaa7104d215fece201d8c ipython-7.31.1.tar.gz # Locally computed sha256 checksums -sha256 341afcbd729887b7046fe7b98fc4f4edff3aed8d38f06eefd9b30670f043df17 COPYING.rst -sha256 e0e390748ed440ab893ca1f135a88a920aaf5409dbb90a5b427c75c5e51268fb LICENSE +sha256 341afcbd729887b7046fe7b98fc4f4edff3aed8d38f06eefd9b30670f043df17 COPYING.rst +sha256 e0e390748ed440ab893ca1f135a88a920aaf5409dbb90a5b427c75c5e51268fb LICENSE diff --git a/package/python-ipython/python-ipython.mk b/package/python-ipython/python-ipython.mk index f340e9b0133..389ebfa8974 100644 --- a/package/python-ipython/python-ipython.mk +++ b/package/python-ipython/python-ipython.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_IPYTHON_VERSION = 7.9.0 +PYTHON_IPYTHON_VERSION = 7.31.1 PYTHON_IPYTHON_SOURCE = ipython-$(PYTHON_IPYTHON_VERSION).tar.gz -PYTHON_IPYTHON_SITE = https://files.pythonhosted.org/packages/c0/e5/ba19ae58e9bdd80832332873cb4e11a90cf2049df052c1aadeabc2cdadeb +PYTHON_IPYTHON_SITE = https://files.pythonhosted.org/packages/fb/39/c1947dc1bb993a35469ca474535cb3214c91f5f9a7752a1fcbd9b6b37dde PYTHON_IPYTHON_LICENSE = BSD-3-Clause PYTHON_IPYTHON_LICENSE_FILES = COPYING.rst LICENSE +PYTHON_IPYTHON_CPE_ID_VENDOR = ipython +PYTHON_IPYTHON_CPE_ID_PRODUCT = ipython PYTHON_IPYTHON_SETUP_TYPE = distutils $(eval $(python-package)) diff --git a/package/python-iso8601/python-iso8601.hash b/package/python-iso8601/python-iso8601.hash index 18cf3958daa..76dd5ec4526 100644 --- a/package/python-iso8601/python-iso8601.hash +++ b/package/python-iso8601/python-iso8601.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/iso8601/json -md5 df6e924305fd799d90be63336b2ab8b3 iso8601-0.1.13.tar.gz -sha256 f7dec22af52025d4526be94cc1303c7d8f5379b746a3f54a8c8446384392eeb1 iso8601-0.1.13.tar.gz +md5 d6fe8ccc847aaf8ac965da3b6023e697 iso8601-0.1.14.tar.gz +sha256 8aafd56fa0290496c5edbb13c311f78fa3a241f0853540da09d9363eae3ebd79 iso8601-0.1.14.tar.gz # Locally computed sha256 checksums sha256 116d368d14a8cf0061027c944c60ee20b476ce42814818a7d627396906761f16 LICENSE diff --git a/package/python-iso8601/python-iso8601.mk b/package/python-iso8601/python-iso8601.mk index 3620255db4d..3f128d15e44 100644 --- a/package/python-iso8601/python-iso8601.mk +++ b/package/python-iso8601/python-iso8601.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ISO8601_VERSION = 0.1.13 +PYTHON_ISO8601_VERSION = 0.1.14 PYTHON_ISO8601_SOURCE = iso8601-$(PYTHON_ISO8601_VERSION).tar.gz -PYTHON_ISO8601_SITE = https://files.pythonhosted.org/packages/05/90/2d9927dc2d33192f58fe39d2d216313a8380625cd4b062efb93f1afd7a29 +PYTHON_ISO8601_SITE = https://files.pythonhosted.org/packages/f9/ed/b97abc7877e5b253eef96a469f47d617b0ebcccc735405fa1a620c7ee833 PYTHON_ISO8601_SETUP_TYPE = setuptools PYTHON_ISO8601_LICENSE = MIT PYTHON_ISO8601_LICENSE_FILES = LICENSE diff --git a/package/python-itsdangerous/Config.in b/package/python-itsdangerous/Config.in index 39ec0b77254..fc0cfe15919 100644 --- a/package/python-itsdangerous/Config.in +++ b/package/python-itsdangerous/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_ITSDANGEROUS bool "python-itsdangerous" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Itsdangerous contains various helpers to pass data to untrusted environments and to get it back safe and sound. diff --git a/package/python-itsdangerous/python-itsdangerous.hash b/package/python-itsdangerous/python-itsdangerous.hash index 0904a91183b..dad4ec0800e 100644 --- a/package/python-itsdangerous/python-itsdangerous.hash +++ b/package/python-itsdangerous/python-itsdangerous.hash @@ -1,4 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/itsdangerous/json -md5 9b7f5afa7f1e3acfb7786eeca3d99307 itsdangerous-1.1.0.tar.gz -sha256 321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19 itsdangerous-1.1.0.tar.gz -sha256 feb28bfa348d816b0e7dbaeddf18499ee7e8007c67813db8d6ab37c65e046cd4 LICENSE.rst +md5 996b9763d1b4bd0edd6eb86f0a490629 itsdangerous-2.0.1.tar.gz +sha256 9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0 itsdangerous-2.0.1.tar.gz +# Locally computed sha256 checksums +sha256 63af09891b6be8ad1a4252ed43af0f4efba7fc948e228367bed7f3c5ae0b09d7 LICENSE.rst +sha256 c9362a7258a11c84a8f7e825ccbbb5c425c6fc02368d3aee6494533fb99ba1f4 docs/license.rst diff --git a/package/python-itsdangerous/python-itsdangerous.mk b/package/python-itsdangerous/python-itsdangerous.mk index 9429233703d..c53bc6b9ba1 100644 --- a/package/python-itsdangerous/python-itsdangerous.mk +++ b/package/python-itsdangerous/python-itsdangerous.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_ITSDANGEROUS_VERSION = 1.1.0 +PYTHON_ITSDANGEROUS_VERSION = 2.0.1 PYTHON_ITSDANGEROUS_SOURCE = itsdangerous-$(PYTHON_ITSDANGEROUS_VERSION).tar.gz -PYTHON_ITSDANGEROUS_SITE = https://files.pythonhosted.org/packages/68/1a/f27de07a8a304ad5fa817bbe383d1238ac4396da447fa11ed937039fa04b +PYTHON_ITSDANGEROUS_SITE = https://files.pythonhosted.org/packages/58/66/d6c5859dcac92b442626427a8c7a42322068c5cd5d4a463ce78b93f730b7 PYTHON_ITSDANGEROUS_SETUP_TYPE = setuptools PYTHON_ITSDANGEROUS_LICENSE = BSD-3-Clause -PYTHON_ITSDANGEROUS_LICENSE_FILES = LICENSE.rst +PYTHON_ITSDANGEROUS_LICENSE_FILES = LICENSE.rst docs/license.rst $(eval $(python-package)) diff --git a/package/python-iwlib/Config.in b/package/python-iwlib/Config.in new file mode 100644 index 00000000000..eb28d674d96 --- /dev/null +++ b/package/python-iwlib/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_IWLIB + bool "python-iwlib" + depends on BR2_PACKAGE_WIRELESS_TOOLS_LIB + help + python-iwlib is a package for interfacing with iwlib, + providing an implementation to the wireless tools in Linux. + + https://github.com/nhoad/python-iwlib diff --git a/package/python-iwlib/python-iwlib.hash b/package/python-iwlib/python-iwlib.hash new file mode 100644 index 00000000000..4d71a3fea65 --- /dev/null +++ b/package/python-iwlib/python-iwlib.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7f1ad4354284a452388e178b5d9b191fa5a68a9183423a90a1d261ba2ebd1cac python-iwlib-1.5.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/python-iwlib/python-iwlib.mk b/package/python-iwlib/python-iwlib.mk new file mode 100644 index 00000000000..9d0985567df --- /dev/null +++ b/package/python-iwlib/python-iwlib.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-iwlib +# +################################################################################ + +PYTHON_IWLIB_VERSION = 1.5 +PYTHON_IWLIB_SITE = $(call github,nhoad,python-iwlib,$(PYTHON_IWLIB_VERSION)) +PYTHON_IWLIB_LICENSE = GPL-2.0 +PYTHON_IWLIB_LICENSE_FILES = COPYING +PYTHON_IWLIB_SETUP_TYPE = setuptools +PYTHON_IWLIB_DEPENDENCIES = wireless_tools + +$(eval $(python-package)) diff --git a/package/python-janus/Config.in b/package/python-janus/Config.in index a1ba0463f97..924c1fa97d5 100644 --- a/package/python-janus/Config.in +++ b/package/python-janus/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_JANUS bool "python-janus" - depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help Mixed sync-async queue to interoperate between asyncio tasks and classic threads. diff --git a/package/python-janus/python-janus.hash b/package/python-janus/python-janus.hash index 7d914389d2a..7f7ce35caa5 100644 --- a/package/python-janus/python-janus.hash +++ b/package/python-janus/python-janus.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/janus/json -md5 dad6a03e7664cb800ce45ef8bcf12439 janus-0.6.1.tar.gz -sha256 4712e0ef75711fe5947c2db855bc96221a9a03641b52e5ae8e25c2b705dd1d0c janus-0.6.1.tar.gz +md5 2d8c0b884c14f18fc5223858eb16461e janus-1.0.0.tar.gz +sha256 df976f2cdcfb034b147a2d51edfc34ff6bfb12d4e2643d3ad0e10de058cb1612 janus-1.0.0.tar.gz # Locally computed sha256 checksums sha256 8b177cccb6ddec12a9fc97bd49e7e2bbcd92464625624bd8bdbfad799ae606e9 LICENSE diff --git a/package/python-janus/python-janus.mk b/package/python-janus/python-janus.mk index 2b08733c182..43df87870d9 100644 --- a/package/python-janus/python-janus.mk +++ b/package/python-janus/python-janus.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_JANUS_VERSION = 0.6.1 +PYTHON_JANUS_VERSION = 1.0.0 PYTHON_JANUS_SOURCE = janus-$(PYTHON_JANUS_VERSION).tar.gz -PYTHON_JANUS_SITE = https://files.pythonhosted.org/packages/7c/1b/8769c2dca84dd8ca92e48b14750c7106ff4313df4fee651dbc3cd9e345a9 +PYTHON_JANUS_SITE = https://files.pythonhosted.org/packages/b8/a8/facab7275d7d3d2032f375843fe46fad1cfa604a108b5a238638d4615bdc PYTHON_JANUS_SETUP_TYPE = setuptools PYTHON_JANUS_LICENSE = Apache-2.0 PYTHON_JANUS_LICENSE_FILES = LICENSE diff --git a/package/python-jaraco-functools/Config.in b/package/python-jaraco-functools/Config.in index 6c914f38510..f65664018d1 100644 --- a/package/python-jaraco-functools/Config.in +++ b/package/python-jaraco-functools/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_JARACO_FUNCTOOLS bool "python-jaraco-functools" - depends on BR2_PACKAGE_PYTHON3 # python-more-itertools select BR2_PACKAGE_PYTHON_MORE_ITERTOOLS # runtime help Additional functools in the spirit of stdlib’s diff --git a/package/python-jedi/python-jedi.hash b/package/python-jedi/python-jedi.hash index ac5f82e1de3..d0f083e942b 100644 --- a/package/python-jedi/python-jedi.hash +++ b/package/python-jedi/python-jedi.hash @@ -1,6 +1,7 @@ # md5, sha256 from https://pypi.org/pypi/jedi/json -md5 d6a8e5832939c51dceda474b720696f6 jedi-0.17.0.tar.gz -sha256 df40c97641cb943661d2db4c33c2e1ff75d491189423249e989bcea4464f3030 jedi-0.17.0.tar.gz +md5 d8dba4a98a35530f7f5b461c20aff180 jedi-0.18.1.tar.gz +sha256 74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab jedi-0.18.1.tar.gz # Locally computed sha256 checksums sha256 78e60cd0b8f28694f30195482c33d76908d846b0d15278deb7332aa22ba8e412 LICENSE.txt +sha256 235e993965d399a25e7d493d25c8622f78718510884b9c051f1f1866b6f34e9d jedi/third_party/django-stubs/LICENSE.txt sha256 b41b78f562a2e65b75cab44354335f6f435d4ef73065509600ac910cf4e22fe0 jedi/third_party/typeshed/LICENSE diff --git a/package/python-jedi/python-jedi.mk b/package/python-jedi/python-jedi.mk index 245ba99a3c8..b0508de7016 100644 --- a/package/python-jedi/python-jedi.mk +++ b/package/python-jedi/python-jedi.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_JEDI_VERSION = 0.17.0 +PYTHON_JEDI_VERSION = 0.18.1 PYTHON_JEDI_SOURCE = jedi-$(PYTHON_JEDI_VERSION).tar.gz -PYTHON_JEDI_SITE = https://files.pythonhosted.org/packages/e3/5b/65ff9c102d92bf719dfaeff57bc8074d68f26ea480005704a956da995799 +PYTHON_JEDI_SITE = https://files.pythonhosted.org/packages/c2/25/273288df952e07e3190446efbbb30b0e4871a0d63b4246475f3019d4f55e PYTHON_JEDI_SETUP_TYPE = setuptools PYTHON_JEDI_LICENSE = MIT, Apache-2.0 (typeshed) -PYTHON_JEDI_LICENSE_FILES = LICENSE.txt jedi/third_party/typeshed/LICENSE +PYTHON_JEDI_LICENSE_FILES = LICENSE.txt jedi/third_party/django-stubs/LICENSE.txt jedi/third_party/typeshed/LICENSE $(eval $(python-package)) diff --git a/package/python-jinja2/Config.in b/package/python-jinja2/Config.in index 5b99df75b8b..84a46bd2647 100644 --- a/package/python-jinja2/Config.in +++ b/package/python-jinja2/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_PYTHON_JINJA2 bool "python-jinja2" select BR2_PACKAGE_PYTHON_MARKUPSAFE # runtime - select BR2_PACKAGE_PYTHON_UNICODEDATA if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_UNICODEDATA if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_UNICODEDATA help Jinja2 is a template engine written in pure Python. It provides a Django inspired non-XML syntax but supports diff --git a/package/python-jinja2/python-jinja2.hash b/package/python-jinja2/python-jinja2.hash index 21170a2a991..ea7fe71a354 100644 --- a/package/python-jinja2/python-jinja2.hash +++ b/package/python-jinja2/python-jinja2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/jinja2/json -md5 0362203b22547abca06ed1082bc1e7b4 Jinja2-2.11.2.tar.gz -sha256 89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0 Jinja2-2.11.2.tar.gz +md5 b76ae2f0647abebc81e7c03f5fb7b00f Jinja2-3.0.3.tar.gz +sha256 611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7 Jinja2-3.0.3.tar.gz # Locally computed sha256 checksums sha256 3b49dcee4105eb37bac10faf1be260408fe85d252b8e9df2e0979fc1e094437b LICENSE.rst diff --git a/package/python-jinja2/python-jinja2.mk b/package/python-jinja2/python-jinja2.mk index 51b484d03e3..0503984befb 100644 --- a/package/python-jinja2/python-jinja2.mk +++ b/package/python-jinja2/python-jinja2.mk @@ -4,28 +4,18 @@ # ################################################################################ -# Please keep in sync with package/python3-jinja2/python3-jinja2.mk -PYTHON_JINJA2_VERSION = 2.11.2 +PYTHON_JINJA2_VERSION = 3.0.3 PYTHON_JINJA2_SOURCE = Jinja2-$(PYTHON_JINJA2_VERSION).tar.gz -PYTHON_JINJA2_SITE = https://files.pythonhosted.org/packages/64/a7/45e11eebf2f15bf987c3bc11d37dcc838d9dc81250e67e4c5968f6008b6c +PYTHON_JINJA2_SITE = https://files.pythonhosted.org/packages/91/a5/429efc6246119e1e3fbf562c00187d04e83e54619249eb732bb423efa6c6 PYTHON_JINJA2_SETUP_TYPE = setuptools PYTHON_JINJA2_LICENSE = BSD-3-Clause PYTHON_JINJA2_LICENSE_FILES = LICENSE.rst +PYTHON_JINJA2_CPE_ID_VENDOR = pocoo +PYTHON_JINJA2_CPE_ID_PRODUCT = jinja2 -# In host build, setup.py tries to download markupsafe if it is not installed +# In host/target build, setup.py tries to download markupsafe if it is not installed +PYTHON_JINJA2_DEPENDENCIES = host-python-markupsafe HOST_PYTHON_JINJA2_DEPENDENCIES = host-python-markupsafe -# Both asyncsupport.py and asyncfilters.py use async feature, that is -# not available in Python 2 and some features available in Python 3.6. -# So in both cases *.py compilation would produce compiler errors. -# Hence remove both files after package extraction. -ifeq ($(BR2_PACKAGE_PYTHON),y) -define PYTHON_JINJA2_REMOVE_ASYNC_SUPPORT - rm $(@D)/src/jinja2/asyncsupport.py $(@D)/src/jinja2/asyncfilters.py -endef - -PYTHON_JINJA2_POST_EXTRACT_HOOKS = PYTHON_JINJA2_REMOVE_ASYNC_SUPPORT -endif - $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-jsonschema/Config.in b/package/python-jsonschema/Config.in index b547f4ae1af..70026537227 100644 --- a/package/python-jsonschema/Config.in +++ b/package/python-jsonschema/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_JSONSCHEMA bool "python-jsonschema" - select BR2_PACKAGE_PYTHON_FUNCTOOLS32 if BR2_PACKAGE_PYTHON # runtime help An implementation of JSON Schema validation for Python. diff --git a/package/python-keyring/Config.in b/package/python-keyring/Config.in index 18fad840074..6b33686cbee 100644 --- a/package/python-keyring/Config.in +++ b/package/python-keyring/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_KEYRING bool "python-keyring" - depends on BR2_PACKAGE_PYTHON3 - depends on BR2_INSTALL_LIBSTDCPP # python-secretstorage + # python-secretstorage -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_ENTRYPOINTS # runtime select BR2_PACKAGE_PYTHON_SECRETSTORAGE # runtime help @@ -9,6 +9,3 @@ config BR2_PACKAGE_PYTHON_KEYRING system keyring service from Python. https://pypi.python.org/pypi/keyring - -comment "python-keyring needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-keyring/python-keyring.mk b/package/python-keyring/python-keyring.mk index 2f6ee8497f7..0e05738605f 100644 --- a/package/python-keyring/python-keyring.mk +++ b/package/python-keyring/python-keyring.mk @@ -10,6 +10,8 @@ PYTHON_KEYRING_SITE = https://files.pythonhosted.org/packages/ee/46/77fdb7cd2b0f PYTHON_KEYRING_SETUP_TYPE = setuptools PYTHON_KEYRING_LICENSE = MIT PYTHON_KEYRING_LICENSE_FILES = LICENSE +PYTHON_KEYRING_CPE_ID_VENDOR = python +PYTHON_KEYRING_CPE_ID_PRODUCT = keyring PYTHON_KEYRING_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-libconfig/python-libconfig.mk b/package/python-libconfig/python-libconfig.mk index 2db7e99cf33..c7d87f408ae 100644 --- a/package/python-libconfig/python-libconfig.mk +++ b/package/python-libconfig/python-libconfig.mk @@ -14,14 +14,8 @@ PYTHON_LIBCONFIG_SETUP_TYPE = setuptools PYTHON_LIBCONFIG_DEPENDENCIES = libconfig boost -ifeq ($(BR2_PACKAGE_PYTHON),y) -PYTHON_LIBCONFIG_PYVER = $(PYTHON_VERSION_MAJOR) -else ifeq ($(BR2_PACKAGE_PYTHON3),y) -PYTHON_LIBCONFIG_PYVER = $(PYTHON3_VERSION_MAJOR) -endif - define PYTHON_LIBCONFIG_FIX_SETUP - $(SED) 's/boost_python/boost_python$(subst .,,$(PYTHON_LIBCONFIG_PYVER))/g' \ + $(SED) 's/boost_python/boost_python$(subst .,,$(PYTHON3_VERSION_MAJOR))/g' \ $(@D)/setup.py endef PYTHON_LIBCONFIG_POST_PATCH_HOOKS += PYTHON_LIBCONFIG_FIX_SETUP diff --git a/package/python-libusb1/python-libusb1.hash b/package/python-libusb1/python-libusb1.hash index 21f4840601d..bbbc6e0a741 100644 --- a/package/python-libusb1/python-libusb1.hash +++ b/package/python-libusb1/python-libusb1.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/libusb1/json, sha256 locally computed -md5 cb4073182fef4cee6ab9c6666b48d1a1 libusb1-1.7.1.tar.gz -sha256 adf64a4f3f5c94643a1286f8153bcf4bc787c348b38934aacd7fe17fbeebc571 libusb1-1.7.1.tar.gz +md5 b087646fb0c8c4cf7e8123af72f885b9 libusb1-2.0.1.tar.gz +sha256 d3ba82ecf7ab6a48d21dac6697e26504670cc3522b8e5941bd28fb56cf3f6c46 libusb1-2.0.1.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/python-libusb1/python-libusb1.mk b/package/python-libusb1/python-libusb1.mk index 075f50f4180..40a64141af0 100644 --- a/package/python-libusb1/python-libusb1.mk +++ b/package/python-libusb1/python-libusb1.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_LIBUSB1_VERSION = 1.7.1 +PYTHON_LIBUSB1_VERSION = 2.0.1 PYTHON_LIBUSB1_SOURCE = libusb1-$(PYTHON_LIBUSB1_VERSION).tar.gz -PYTHON_LIBUSB1_SITE = https://files.pythonhosted.org/packages/80/bb/4ee9d760dd29499d877ee384f1d2bc6bb9923defd4c69843aef5e729972d +PYTHON_LIBUSB1_SITE = https://files.pythonhosted.org/packages/a9/97/e8afa2af12b6de608ec86c8c4ad57f1248d98946d1b5e1aa0bff926755e9 PYTHON_LIBUSB1_SETUP_TYPE = setuptools PYTHON_LIBUSB1_LICENSE = LGPL-2.1+ PYTHON_LIBUSB1_LICENSE_FILES = COPYING.LESSER diff --git a/package/python-lmdb/python-lmdb.hash b/package/python-lmdb/python-lmdb.hash index cb28536d3f0..e50c35df676 100644 --- a/package/python-lmdb/python-lmdb.hash +++ b/package/python-lmdb/python-lmdb.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/lmdb/json -md5 507049767b995c3c6a93b3bd97567c71 lmdb-0.99.tar.gz -sha256 f9eb844aaaacc8a4bc175e1c1f8a8fb538c330e378fd9eb40e8708d4dca7dc89 lmdb-0.99.tar.gz +md5 3c955c49be10a7a07a2fcd54d180c3af lmdb-1.3.0.tar.gz +sha256 60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e lmdb-1.3.0.tar.gz # Locally computed sha256 checksums -sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE +sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/python-lmdb/python-lmdb.mk b/package/python-lmdb/python-lmdb.mk index bf98ba19c80..fba168d340f 100644 --- a/package/python-lmdb/python-lmdb.mk +++ b/package/python-lmdb/python-lmdb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_LMDB_VERSION = 0.99 +PYTHON_LMDB_VERSION = 1.3.0 PYTHON_LMDB_SOURCE = lmdb-$(PYTHON_LMDB_VERSION).tar.gz -PYTHON_LMDB_SITE = https://files.pythonhosted.org/packages/3b/66/aa6f3a3e338a3ca263575ce6f722c2fdcd21039a03b55c722e0ae0b216db +PYTHON_LMDB_SITE = https://files.pythonhosted.org/packages/ed/61/41f3c7cbd8a67202ef24fad3375ed936093a0547dc645581dd11c09581b7 PYTHON_LMDB_LICENSE = OLDAP-2.8 PYTHON_LMDB_LICENSE_FILES = LICENSE PYTHON_LMDB_SETUP_TYPE = setuptools diff --git a/package/python-logbook/Config.in b/package/python-logbook/Config.in index d4fbf0fe670..99996b6517e 100644 --- a/package/python-logbook/Config.in +++ b/package/python-logbook/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_LOGBOOK bool "python-logbook" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB help A logging replacement for Python. diff --git a/package/python-lxml/Config.in b/package/python-lxml/Config.in index fcb30d56eeb..3f3cb5c5507 100644 --- a/package/python-lxml/Config.in +++ b/package/python-lxml/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_PYTHON_LXML bool "python-lxml" select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_LIBXSLT - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB help The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt. diff --git a/package/python-lxml/python-lxml.hash b/package/python-lxml/python-lxml.hash index 7918e087450..e33a8f8109c 100644 --- a/package/python-lxml/python-lxml.hash +++ b/package/python-lxml/python-lxml.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc lxml-4.6.2.tar.gz +sha256 6e84edecc3a82f90d44ddee2ee2a2630d4994b8471816e226d2b771cda7ac4ca lxml-4.6.5.tar.gz sha256 41d49dd406aa0e1548a6d5f21a30d6bf638b3cd96eb7289dd348d83ed2e40392 LICENSES.txt sha256 69edb445c1335a8312d4c09271847e9956d84f0d9f724d125340cc3fad767b2a doc/licenses/BSD.txt sha256 0497ae8138811ef4466ede653bab7a59feb3d3c14f9ed50fc33a00aeb5bec32e doc/licenses/elementtree.txt diff --git a/package/python-lxml/python-lxml.mk b/package/python-lxml/python-lxml.mk index fe99f824721..8c2e965af69 100644 --- a/package/python-lxml/python-lxml.mk +++ b/package/python-lxml/python-lxml.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_LXML_VERSION = 4.6.2 -PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/db/f7/43fecb94d66959c1e23aa53d6161231dca0e93ec500224cf31b3c4073e37 +PYTHON_LXML_VERSION = 4.6.5 +PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/e6/e1/34b3ab08553fe9a30e15b2bb9d1803a49d7d907dd9f245638839190042f0 PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tar.gz # Not including the GPL, because it is used only for the test scripts. diff --git a/package/python-m2crypto/0001-setup.py-move-swig-default-includes-before-openssl.patch b/package/python-m2crypto/0001-setup.py-move-swig-default-includes-before-openssl.patch deleted file mode 100644 index f4d7e428f14..00000000000 --- a/package/python-m2crypto/0001-setup.py-move-swig-default-includes-before-openssl.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 1aab31787a8d1ef9436d9cf81832691f729b6282 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 7 Nov 2020 23:26:30 +0100 -Subject: [PATCH] setup.py: move swig default includes before openssl - -Move swig default includes before openssl to avoid the following build -failure when cross-compiling for some architectures (e.g. arm, mips): - -swig -python -py3 -D__x86_64__ \ - -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/python3.9 \ - -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include \ - -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/openssl \ - -I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/include \ - -I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/include-fixed \ - -I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/../../../../mipsel-buildroot-linux-gnu/include \ - -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include \ - -includeall -modern -builtin -outdir \ - /srv/storage/autobuild/run/instance-0/output-1/build/python-m2crypto-0.36.0/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i -Deprecated command line option: -modern. This option is now always on. -/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/bits/types.h:139: -Error: CPP #error "". Use the -cpperraswarn option to continue swig processing. - -This build failure is probably raised because swig includes a wrong types.h file -from the openssl directory (e.g. -/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include) - -Fixes: - - http://autobuild.buildroot.org/results/7f63e6a2d8681cc3408f344556afd5dd16eb7368 - - http://autobuild.buildroot.org/results/d115a082418321e7dc4715c635f94b30b3cad387 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.com/m2crypto/m2crypto/-/merge_requests/248] ---- - setup.py | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/setup.py b/setup.py -index 89d03bb..0045fda 100644 ---- a/setup.py -+++ b/setup.py -@@ -154,6 +154,9 @@ class _M2CryptoBuildExt(build_ext.build_ext): - if sys.version_info[:1] >= (3,): - self.swig_opts.append('-py3') - -+ # swig seems to need the default header file directories -+ self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes()]) -+ - log.debug('self.include_dirs = %s', self.include_dirs) - log.debug('self.library_dirs = %s', self.library_dirs) - -@@ -204,8 +207,6 @@ class _M2CryptoBuildExt(build_ext.build_ext): - self.swig_opts.append( - '-I' + os.path.join(openssl_include_dir, 'openssl')) - -- # swig seems to need the default header file directories -- self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes()]) - self.swig_opts.append('-includeall') - self.swig_opts.append('-modern') - self.swig_opts.append('-builtin') --- -2.28.0 - diff --git a/package/python-m2crypto/Config.in b/package/python-m2crypto/Config.in index 7481d49e5c6..af710d53510 100644 --- a/package/python-m2crypto/Config.in +++ b/package/python-m2crypto/Config.in @@ -1,11 +1,8 @@ config BR2_PACKAGE_PYTHON_M2CRYPTO bool "python-m2crypto" select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_TYPING if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime help M2Crypto: A Python crypto and SSL toolkit. diff --git a/package/python-m2crypto/python-m2crypto.hash b/package/python-m2crypto/python-m2crypto.hash index 148cdd8317d..879f232565f 100644 --- a/package/python-m2crypto/python-m2crypto.hash +++ b/package/python-m2crypto/python-m2crypto.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/m2crypto/json -md5 b8b34c5b83892096a8676b6f2e8f4e7e M2Crypto-0.36.0.tar.gz -sha256 1542c18e3ee5c01db5031d0b594677536963e3f54ecdf5315aeecb3a595b4dc1 M2Crypto-0.36.0.tar.gz +md5 8f39bfac730b6567e0c2179d15318c60 M2Crypto-0.38.0.tar.gz +sha256 99f2260a30901c949a8dc6d5f82cd5312ffb8abc92e76633baf231bbbcb2decb M2Crypto-0.38.0.tar.gz # Locally computed sha256 checksums sha256 4eca478396f4b2b020729a111fce3f096456d74500bfd8f2b0388c3c69f997c0 LICENCE diff --git a/package/python-m2crypto/python-m2crypto.mk b/package/python-m2crypto/python-m2crypto.mk index ccc63058ce9..02ad76d3f43 100644 --- a/package/python-m2crypto/python-m2crypto.mk +++ b/package/python-m2crypto/python-m2crypto.mk @@ -4,12 +4,14 @@ # ################################################################################ -PYTHON_M2CRYPTO_VERSION = 0.36.0 +PYTHON_M2CRYPTO_VERSION = 0.38.0 PYTHON_M2CRYPTO_SOURCE = M2Crypto-$(PYTHON_M2CRYPTO_VERSION).tar.gz -PYTHON_M2CRYPTO_SITE = https://files.pythonhosted.org/packages/ff/df/84609ed874b5e6fcd3061a517bf4b6e4d0301f553baf9fa37bef2b509797 +PYTHON_M2CRYPTO_SITE = https://files.pythonhosted.org/packages/2c/52/c35ec79dd97a8ecf6b2bbd651df528abb47705def774a4a15b99977274e8 PYTHON_M2CRYPTO_SETUP_TYPE = setuptools PYTHON_M2CRYPTO_LICENSE = MIT PYTHON_M2CRYPTO_LICENSE_FILES = LICENCE +PYTHON_M2CRYPTO_CPE_ID_VENDOR = m2crypto_project +PYTHON_M2CRYPTO_CPE_ID_PRODUCT = m2crypto PYTHON_M2CRYPTO_DEPENDENCIES = openssl host-swig PYTHON_M2CRYPTO_BUILD_OPTS = --openssl=$(STAGING_DIR)/usr diff --git a/package/python-mad/Config.in b/package/python-mad/Config.in deleted file mode 100644 index 25354213d6d..00000000000 --- a/package/python-mad/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config BR2_PACKAGE_PYTHON_MAD - bool "python-mad" - depends on BR2_PACKAGE_PYTHON - select BR2_PACKAGE_LIBMAD - help - python-mad is a Python binding for the MAD library, a - high-quality integer-only MPEG decoder. - - http://spacepants.org/src/pymad/ diff --git a/package/python-mad/python-mad.hash b/package/python-mad/python-mad.hash deleted file mode 100644 index 7b19ae5a449..00000000000 --- a/package/python-mad/python-mad.hash +++ /dev/null @@ -1,3 +0,0 @@ -# locally computed -sha256 1c9fc529b78de7d26e9e47cf182c9f8bf43838d8f62a9c1773540d57f5ebc522 pymad-0.6.tar.gz -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/python-mad/python-mad.mk b/package/python-mad/python-mad.mk deleted file mode 100644 index a22214876f0..00000000000 --- a/package/python-mad/python-mad.mk +++ /dev/null @@ -1,29 +0,0 @@ -################################################################################ -# -# python-mad -# -################################################################################ - -PYTHON_MAD_VERSION = 0.6 -PYTHON_MAD_SOURCE = pymad-$(PYTHON_MAD_VERSION).tar.gz -PYTHON_MAD_SITE = http://spacepants.org/src/pymad/download -PYTHON_MAD_SETUP_TYPE = distutils -PYTHON_MAD_LICENSE = GPL-2.0+ -PYTHON_MAD_LICENSE_FILES = COPYING - -PYTHON_MAD_DEPENDENCIES = libmad - -ifeq ($(BR2_ENDIAN),"LITTLE") -PYTHON_MAD_ENDIAN = little -else -PYTHON_MAD_ENDIAN = big -endif - -define PYTHON_MAD_CONFIGURE_CMDS - echo "endian = $(PYTHON_MAD_ENDIAN)" > $(@D)/Setup - echo "mad_libs = mad" >> $(@D)/Setup - echo "mad_lib_dir = $(STAGING_DIR)/usr/lib" >> $(@D)/Setup - echo "mad_include_dir = $(STAGING_DIR)/usr/include" >> $(@D)/Setup -endef - -$(eval $(python-package)) diff --git a/package/python-mako/python-mako.hash b/package/python-mako/python-mako.hash index 353799923f6..f5b5daf06d7 100644 --- a/package/python-mako/python-mako.hash +++ b/package/python-mako/python-mako.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mako/json -md5 184bb2ba4b937127e7c557b93db89377 Mako-1.1.3.tar.gz -sha256 8195c8c1400ceb53496064314c6736719c6f25e7479cd24c77be3d9361cddc27 Mako-1.1.3.tar.gz +md5 409bdc38e9ddda5eada61fb092cb12fd Mako-1.1.5.tar.gz +sha256 169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3 Mako-1.1.5.tar.gz # Locally computed sha256 checksums sha256 47cd0d41b1092f9161cfb629ed15e5cea185144710ff4633a4281ef088ff5de7 LICENSE diff --git a/package/python-mako/python-mako.mk b/package/python-mako/python-mako.mk index d5d49f252d3..553c4a53394 100644 --- a/package/python-mako/python-mako.mk +++ b/package/python-mako/python-mako.mk @@ -4,11 +4,9 @@ # ################################################################################ -# Please keep in sync with -# package/python3-mako/python3-mako.mk -PYTHON_MAKO_VERSION = 1.1.3 +PYTHON_MAKO_VERSION = 1.1.5 PYTHON_MAKO_SOURCE = Mako-$(PYTHON_MAKO_VERSION).tar.gz -PYTHON_MAKO_SITE = https://files.pythonhosted.org/packages/72/89/402d2b4589e120ca76a6aed8fee906a0f5ae204b50e455edd36eda6e778d +PYTHON_MAKO_SITE = https://files.pythonhosted.org/packages/d1/42/ff293411e980debfc647be9306d89840c8b82ea24571b014f1a35b2ad80f PYTHON_MAKO_SETUP_TYPE = setuptools PYTHON_MAKO_LICENSE = MIT PYTHON_MAKO_LICENSE_FILES = LICENSE diff --git a/package/python-markdown/Config.in b/package/python-markdown/Config.in index 454c2729bd7..4963ec6560b 100644 --- a/package/python-markdown/Config.in +++ b/package/python-markdown/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_MARKDOWN bool "python-markdown" - depends on BR2_PACKAGE_PYTHON3 # runtime dependency on Python's xml module select BR2_PACKAGE_PYTHON3_PYEXPAT help diff --git a/package/python-markdown/python-markdown.hash b/package/python-markdown/python-markdown.hash index 4d54ce9243a..b64ac77be09 100644 --- a/package/python-markdown/python-markdown.hash +++ b/package/python-markdown/python-markdown.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/markdown/json -md5 7a894dc55992b37cdbcba5c4049455fc Markdown-3.2.1.tar.gz -sha256 90fee683eeabe1a92e149f7ba74e5ccdc81cd397bd6c516d93a8da0ef90b6902 Markdown-3.2.1.tar.gz +md5 b6833c6326e9164ee0c662218a75e7f0 Markdown-3.3.4.tar.gz +sha256 31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49 Markdown-3.3.4.tar.gz # Locally computed sha256 sha256 6f1193cb634718e65c3a537d6e25ebd614820ec0ef693cfc12248112638d64da LICENSE.md diff --git a/package/python-markdown/python-markdown.mk b/package/python-markdown/python-markdown.mk index 1f352fd7f1a..801360d7787 100644 --- a/package/python-markdown/python-markdown.mk +++ b/package/python-markdown/python-markdown.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MARKDOWN_VERSION = 3.2.1 +PYTHON_MARKDOWN_VERSION = 3.3.4 PYTHON_MARKDOWN_SOURCE = Markdown-$(PYTHON_MARKDOWN_VERSION).tar.gz -PYTHON_MARKDOWN_SITE = https://files.pythonhosted.org/packages/98/79/ce6984767cb9478e6818bd0994283db55c423d733cc62a88a3ffb8581e11 +PYTHON_MARKDOWN_SITE = https://files.pythonhosted.org/packages/49/02/37bd82ae255bb4dfef97a4b32d95906187b7a7a74970761fca1360c4ba22 PYTHON_MARKDOWN_LICENSE = BSD-3-Clause PYTHON_MARKDOWN_LICENSE_FILES = LICENSE.md PYTHON_MARKDOWN_SETUP_TYPE = setuptools diff --git a/package/python-markdown2/python-markdown2.hash b/package/python-markdown2/python-markdown2.hash index 03315fd3eaf..a3e310aacf7 100644 --- a/package/python-markdown2/python-markdown2.hash +++ b/package/python-markdown2/python-markdown2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/markdown2/json -md5 5c1f9002060cf534bde0bdd584d6b70a markdown2-2.3.9.tar.gz -sha256 89526090907ae5ece66d783c434b35c29ee500c1986309e306ce2346273ada6a markdown2-2.3.9.tar.gz +md5 6134fce06c4783b3178a90a719fa9d91 markdown2-2.4.1.tar.gz +sha256 ce9265cf179c4e07934e7b6a4b03f3edb7891e66e6d0f7017755f6064bbbe13f markdown2-2.4.1.tar.gz # Locally computed sha256 checksums sha256 f8c7c4d554409cf621b8d653dbfffb719745fd36f5c49b8305258649b403ef9c LICENSE.txt diff --git a/package/python-markdown2/python-markdown2.mk b/package/python-markdown2/python-markdown2.mk index c7858a39663..6acfad2ccb3 100644 --- a/package/python-markdown2/python-markdown2.mk +++ b/package/python-markdown2/python-markdown2.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_MARKDOWN2_VERSION = 2.3.9 +PYTHON_MARKDOWN2_VERSION = 2.4.1 PYTHON_MARKDOWN2_SOURCE = markdown2-$(PYTHON_MARKDOWN2_VERSION).tar.gz -PYTHON_MARKDOWN2_SITE = https://files.pythonhosted.org/packages/14/69/c542025f80916457ff4fe962404a27ab6417d43822fe54bf88ee2dd1b36f +PYTHON_MARKDOWN2_SITE = https://files.pythonhosted.org/packages/fb/10/4f327f4517fa5dda90021618fe174d1f4aff3c4e06abcd7f77685a455511 PYTHON_MARKDOWN2_SETUP_TYPE = setuptools PYTHON_MARKDOWN2_LICENSE = MIT PYTHON_MARKDOWN2_LICENSE_FILES = LICENSE.txt +PYTHON_MARKDOWN2_CPE_ID_VENDOR = python-markdown2_project $(eval $(python-package)) diff --git a/package/python-markupsafe/python-markupsafe.hash b/package/python-markupsafe/python-markupsafe.hash index df07662a862..520bb405fbd 100644 --- a/package/python-markupsafe/python-markupsafe.hash +++ b/package/python-markupsafe/python-markupsafe.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/markupsafe/json, sha256 locally computed -md5 43fd756864fe42063068e092e220c57b MarkupSafe-1.1.1.tar.gz -sha256 29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b MarkupSafe-1.1.1.tar.gz -sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst +# md5, sha256 from https://pypi.org/pypi/markupsafe/json +md5 892e0fefa3c488387e5cc0cad2daa523 MarkupSafe-2.0.1.tar.gz +sha256 594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a MarkupSafe-2.0.1.tar.gz +# Locally computed sha256 checksums +sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst diff --git a/package/python-markupsafe/python-markupsafe.mk b/package/python-markupsafe/python-markupsafe.mk index f067d94f34b..e0e689f5a18 100644 --- a/package/python-markupsafe/python-markupsafe.mk +++ b/package/python-markupsafe/python-markupsafe.mk @@ -4,10 +4,9 @@ # ################################################################################ -# Please keep in sync with package/python3-markupsafe/python3-markupsafe.mk -PYTHON_MARKUPSAFE_VERSION = 1.1.1 +PYTHON_MARKUPSAFE_VERSION = 2.0.1 PYTHON_MARKUPSAFE_SOURCE = MarkupSafe-$(PYTHON_MARKUPSAFE_VERSION).tar.gz -PYTHON_MARKUPSAFE_SITE = https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094 +PYTHON_MARKUPSAFE_SITE = https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e PYTHON_MARKUPSAFE_SETUP_TYPE = setuptools PYTHON_MARKUPSAFE_LICENSE = BSD-3-Clause PYTHON_MARKUPSAFE_LICENSE_FILES = LICENSE.rst diff --git a/package/python-matplotlib/0001-Fix-invalid-inclusion-headers.patch b/package/python-matplotlib/0001-Fix-invalid-inclusion-headers.patch deleted file mode 100644 index b10bfb326fb..00000000000 --- a/package/python-matplotlib/0001-Fix-invalid-inclusion-headers.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b0232c3cf1051749dd1e2bd0ec7c5c0a3a008d2f Mon Sep 17 00:00:00 2001 -From: Jugurtha BELKALEM -Date: Thu, 9 May 2019 15:06:36 +0200 -Subject: [PATCH] Fix invalid inclusion headers - -By default, matplotlib includes headers from host -machine which breaks the build process. - -Signed-off-by: Jugurtha BELKALEM ---- - python-matplotlib-3.0.3/setupext.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setupext.py b/setupext.py -index fc82d5d..eb978d2 100644 ---- a/setupext.py -+++ b/setupext.py -@@ -267,7 +267,7 @@ def get_base_dirs(): - 'gnu0': ['/usr'], - 'aix5': ['/usr/local'], - } -- return basedir_map.get(sys.platform, ['/usr/local', '/usr']) -+ return basedir_map.get(sys.platform, []) - - - def get_include_dirs(): --- -2.7.4 - diff --git a/package/python-matplotlib/0002-Merge-pull-request-11983-from-anntzer-builddepchecks.patch b/package/python-matplotlib/0002-Merge-pull-request-11983-from-anntzer-builddepchecks.patch deleted file mode 100644 index b3a22acbb4f..00000000000 --- a/package/python-matplotlib/0002-Merge-pull-request-11983-from-anntzer-builddepchecks.patch +++ /dev/null @@ -1,170 +0,0 @@ -From 923ce72409f184bd8e8c61b196260891036ba87e Mon Sep 17 00:00:00 2001 -From: Antony Lee -Date: Thu, 30 Aug 2018 15:27:55 +0200 -Subject: [PATCH] Simplify version checks for freetype and libpng. - -Currently, setupext.py replicates a lot of work done by the compiler to -check whether header files are present, and whether freetype and libpng -have sufficiently recent versions. - -Instead, we can just add a small stub source file at the top of the -extension sources which just tries to include the header and checks the -version macros. If the header is not found, compilation will -immediately abort with `foo.h: No such file or directory`; if the -version is too old, we can emit an appropriate error message (`#pragma -message` is supported by all major compilers and allows expanding of -macros in the error message). - -[Retrieved from: -https://github.com/matplotlib/matplotlib/commit/d1060a885309ec7ac19ca912d3011a5eb1673bd5] -Signed-off-by: Fabrice Fontaine ---- - setupext.py | 83 +++++----------------------------------- - src/checkdep_freetype2.c | 13 +++++++ - src/checkdep_libpng.c | 5 +++ - 3 files changed, 28 insertions(+), 73 deletions(-) - create mode 100644 src/checkdep_freetype2.c - create mode 100644 src/checkdep_libpng.c - -diff --git a/setupext.py b/setupext.py -index d5f4b81f562..a5163e39288 100644 ---- a/setupext.py -+++ b/setupext.py -@@ -814,6 +814,13 @@ def add_flags(self, ext, add_sources=True): - for x in agg_sources) - - -+# For FreeType2 and libpng, we add a separate checkdep_foo.c source to at the -+# top of the extension sources. This file is compiled first and immediately -+# aborts the compilation either with "foo.h: No such file or directory" if the -+# header is not found, or an appropriate error message if the header indicates -+# a too-old version. -+ -+ - class FreeType(SetupPackage): - name = "freetype" - pkg_names = { -@@ -825,59 +832,8 @@ class FreeType(SetupPackage): - "windows_url": "http://gnuwin32.sourceforge.net/packages/freetype.htm" - } - -- def check(self): -- if options.get('local_freetype'): -- return "Using local version for testing" -- -- if sys.platform == 'win32': -- try: -- check_include_file(get_include_dirs(), 'ft2build.h', 'freetype') -- except CheckFailed: -- check_include_file(get_include_dirs(), os.path.join('freetype2', 'ft2build.h'), 'freetype') -- return 'Using unknown version found on system.' -- -- status, output = subprocess.getstatusoutput( -- "freetype-config --ftversion") -- if status == 0: -- version = output -- else: -- version = None -- -- # Early versions of freetype grep badly inside freetype-config, -- # so catch those cases. (tested with 2.5.3). -- if version is None or 'No such file or directory\ngrep:' in version: -- version = self.version_from_header() -- -- # pkg_config returns the libtool version rather than the -- # freetype version so we need to explicitly pass the version -- # to _check_for_pkg_config -- return self._check_for_pkg_config( -- 'freetype2', 'ft2build.h', -- min_version='2.3', version=version) -- -- def version_from_header(self): -- version = 'unknown' -- ext = self.get_extension() -- if ext is None: -- return version -- # Return the first version found in the include dirs. -- for include_dir in ext.include_dirs: -- header_fname = os.path.join(include_dir, 'freetype.h') -- if os.path.exists(header_fname): -- major, minor, patch = 0, 0, 0 -- with open(header_fname, 'r') as fh: -- for line in fh: -- if line.startswith('#define FREETYPE_'): -- value = line.rsplit(' ', 1)[1].strip() -- if 'MAJOR' in line: -- major = value -- elif 'MINOR' in line: -- minor = value -- else: -- patch = value -- return '.'.join([major, minor, patch]) -- - def add_flags(self, ext): -+ ext.sources.insert(0, 'src/checkdep_freetype2.c') - if options.get('local_freetype'): - src_path = os.path.join( - 'build', 'freetype-{0}'.format(LOCAL_FREETYPE_VERSION)) -@@ -1058,30 +1014,11 @@ class Png(SetupPackage): - "windows_url": "http://gnuwin32.sourceforge.net/packages/libpng.htm" - } - -- def check(self): -- if sys.platform == 'win32': -- check_include_file(get_include_dirs(), 'png.h', 'png') -- return 'Using unknown version found on system.' -- -- status, output = subprocess.getstatusoutput("libpng-config --version") -- if status == 0: -- version = output -- else: -- version = None -- -- try: -- return self._check_for_pkg_config( -- 'libpng', 'png.h', -- min_version='1.2', version=version) -- except CheckFailed as e: -- if has_include_file(get_include_dirs(), 'png.h'): -- return str(e) + ' Using unknown version found on system.' -- raise -- - def get_extension(self): - sources = [ -+ 'src/checkdep_libpng.c', - 'src/_png.cpp', -- 'src/mplutils.cpp' -+ 'src/mplutils.cpp', - ] - ext = make_extension('matplotlib._png', sources) - pkg_config.setup_extension( -diff --git a/src/checkdep_freetype2.c b/src/checkdep_freetype2.c -new file mode 100644 -index 00000000000..bf9a8c94e38 ---- /dev/null -+++ b/src/checkdep_freetype2.c -@@ -0,0 +1,13 @@ -+#include -+#include FT_FREETYPE_H -+ -+#define XSTR(x) STR(x) -+#define STR(x) #x -+ -+#pragma message("Compiling with FreeType version " \ -+ XSTR(FREETYPE_MAJOR) "." XSTR(FREETYPE_MINOR) "." XSTR(FREETYPE_PATCH) ".") -+#if FREETYPE_MAJOR << 16 + FREETYPE_MINOR << 8 + FREETYPE_PATCH < 0x020300 -+ #error "FreeType version 2.3 or higher is required." \ -+ "Consider setting the MPLLOCALFREETYPE environment variable to 1." -+ #error -+#endif -diff --git a/src/checkdep_libpng.c b/src/checkdep_libpng.c -new file mode 100644 -index 00000000000..5ebe5cbe4d7 ---- /dev/null -+++ b/src/checkdep_libpng.c -@@ -0,0 +1,5 @@ -+#include -+#pragma message("Compiling with libpng version " PNG_LIBPNG_VER_STRING ".") -+#if PNG_LIBPNG_VER < 10200 -+ #error "libpng version 1.2 or higher is required." -+#endif diff --git a/package/python-matplotlib/Config.in b/package/python-matplotlib/Config.in index e7e2804b4f7..b9367776627 100644 --- a/package/python-matplotlib/Config.in +++ b/package/python-matplotlib/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_PYTHON_MATPLOTLIB bool "python-matplotlib" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy select BR2_PACKAGE_FREETYPE # runtime select BR2_PACKAGE_LIBPNG # runtime + select BR2_PACKAGE_PYTHON_CERTIFI # runtime select BR2_PACKAGE_PYTHON_CYCLER select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_DATEUTIL # runtime @@ -13,6 +13,7 @@ config BR2_PACKAGE_PYTHON_MATPLOTLIB select BR2_PACKAGE_PYTHON_NUMPY # runtime select BR2_PACKAGE_PYTHON_PYPARSING # runtime select BR2_PACKAGE_PYTHON3_ZLIB # runtime + select BR2_PACKAGE_QHULL select BR2_PACKAGE_ZLIB # runtime help Matplotlib strives to produce publication quality 2D @@ -34,8 +35,6 @@ config BR2_PACKAGE_PYTHON_MATPLOTLIB_QT endif -comment "python-matplotlib needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - -comment "python-matplotlib needs glibc or musl" - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) +comment "python-matplotlib needs a glibc or musl toolchain w/ C++" + depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-matplotlib/python-matplotlib.hash b/package/python-matplotlib/python-matplotlib.hash index ccb22eefa5a..81e83ac0dee 100644 --- a/package/python-matplotlib/python-matplotlib.hash +++ b/package/python-matplotlib/python-matplotlib.hash @@ -1,4 +1,4 @@ # sha256 from https://pypi.org/project/matplotlib/#files -sha256 e1d33589e32f482d0a7d1957bf473d43341115d40d33f578dad44432e47df7b7 matplotlib-3.0.3.tar.gz +sha256 fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318 matplotlib-3.4.3.tar.gz # Locally computed sha256 checksums sha256 5a1a81ea301728c8bba2933da832c0cd62229daf20893a024ab3d53244468dbc LICENSE/LICENSE diff --git a/package/python-matplotlib/python-matplotlib.mk b/package/python-matplotlib/python-matplotlib.mk index 8d00ac8a07e..650aac9bd94 100644 --- a/package/python-matplotlib/python-matplotlib.mk +++ b/package/python-matplotlib/python-matplotlib.mk @@ -4,17 +4,28 @@ # ################################################################################ -PYTHON_MATPLOTLIB_VERSION = 3.0.3 +PYTHON_MATPLOTLIB_VERSION = 3.4.3 PYTHON_MATPLOTLIB_SOURCE = matplotlib-$(PYTHON_MATPLOTLIB_VERSION).tar.gz -PYTHON_MATPLOTLIB_SITE = https://files.pythonhosted.org/packages/26/04/8b381d5b166508cc258632b225adbafec49bbe69aa9a4fa1f1b461428313 +PYTHON_MATPLOTLIB_SITE = https://files.pythonhosted.org/packages/21/37/197e68df384ff694f78d687a49ad39f96c67b8d75718bc61503e1676b617 PYTHON_MATPLOTLIB_LICENSE = Python-2.0 PYTHON_MATPLOTLIB_LICENSE_FILES = LICENSE/LICENSE -PYTHON_MATPLOTLIB_DEPENDENCIES = host-pkgconf freetype host-python-numpy \ - libpng python-cycler +PYTHON_MATPLOTLIB_DEPENDENCIES = \ + freetype \ + host-pkgconf \ + host-python-certifi \ + host-python-numpy \ + libpng \ + python-cycler \ + qhull PYTHON_MATPLOTLIB_SETUP_TYPE = setuptools ifeq ($(BR2_PACKAGE_PYTHON_MATPLOTLIB_QT),y) PYTHON_MATPLOTLIB_DEPENDENCIES += python-pyqt5 endif +define PYTHON_MATPLOTLIB_COPY_SETUP_CFG + cp $(PYTHON_MATPLOTLIB_PKGDIR)/setup.cfg $(@D)/setup.cfg +endef +PYTHON_MATPLOTLIB_PRE_CONFIGURE_HOOKS += PYTHON_MATPLOTLIB_COPY_SETUP_CFG + $(eval $(python-package)) diff --git a/package/python-matplotlib/setup.cfg b/package/python-matplotlib/setup.cfg new file mode 100644 index 00000000000..4bda0d4376e --- /dev/null +++ b/package/python-matplotlib/setup.cfg @@ -0,0 +1,10 @@ +[libs] +# Disable LTO to prevent the following error: +# Relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `_ZSt3hexRSt8ios_base' +# which may bind externally can not be used when making a shared object; +# recompile with -fPIC +enable_lto = False + +# Freetype and qhull are provided by Buildroot +system_freetype = True +system_qhull = True diff --git a/package/python-mbstrdecoder/Config.in b/package/python-mbstrdecoder/Config.in index 8982814ceae..0ff0a310a57 100644 --- a/package/python-mbstrdecoder/Config.in +++ b/package/python-mbstrdecoder/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_MBSTRDECODER bool "python-mbstrdecoder" - depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_CHARDET # runtime help multi-byte character string decoder. diff --git a/package/python-mbstrdecoder/python-mbstrdecoder.hash b/package/python-mbstrdecoder/python-mbstrdecoder.hash index f8103b0adde..90b9abb8d67 100644 --- a/package/python-mbstrdecoder/python-mbstrdecoder.hash +++ b/package/python-mbstrdecoder/python-mbstrdecoder.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mbstrdecoder/json -md5 3ab822b853bfd2f08e35ba85c1ac2e2e mbstrdecoder-1.0.0.tar.gz -sha256 9df7778c0c051c98f6b5a848909202e5cd423c9692665b20d1a9bd0f771b8235 mbstrdecoder-1.0.0.tar.gz +md5 b32ff478a38730a8ab0b884fe162cc41 mbstrdecoder-1.1.0.tar.gz +sha256 f4dfd549e424ad8dfc985e6af8b55cb4ec0c208782f610d57439fe6a9a44c244 mbstrdecoder-1.1.0.tar.gz # Locally computed sha256 checksums sha256 7588265082eed5e9f4afd5090c57e610b740ec547b16aaaab739ba07c5eefb15 LICENSE diff --git a/package/python-mbstrdecoder/python-mbstrdecoder.mk b/package/python-mbstrdecoder/python-mbstrdecoder.mk index 4a768ef6950..63f9af74f5d 100644 --- a/package/python-mbstrdecoder/python-mbstrdecoder.mk +++ b/package/python-mbstrdecoder/python-mbstrdecoder.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MBSTRDECODER_VERSION = 1.0.0 +PYTHON_MBSTRDECODER_VERSION = 1.1.0 PYTHON_MBSTRDECODER_SOURCE = mbstrdecoder-$(PYTHON_MBSTRDECODER_VERSION).tar.gz -PYTHON_MBSTRDECODER_SITE = https://files.pythonhosted.org/packages/5e/05/7dd1704e3e1522757708f59e727b540a6e5032ba6bb20e73851da7111b11 +PYTHON_MBSTRDECODER_SITE = https://files.pythonhosted.org/packages/6c/10/f82ba5a91489c91bf6adaa0e1aca38a7ab2d1d7d80195a5f6ad8c2ff387a PYTHON_MBSTRDECODER_SETUP_TYPE = setuptools PYTHON_MBSTRDECODER_LICENSE = MIT PYTHON_MBSTRDECODER_LICENSE_FILES = LICENSE diff --git a/package/python-meld3/Config.in b/package/python-meld3/Config.in deleted file mode 100644 index 9366b3cda5a..00000000000 --- a/package/python-meld3/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_PYTHON_MELD3 - bool "python-meld3" - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 - help - A HTML/XML templating system. - - https://github.com/supervisor/meld3 diff --git a/package/python-meld3/python-meld3.hash b/package/python-meld3/python-meld3.hash deleted file mode 100644 index f423b0bf19b..00000000000 --- a/package/python-meld3/python-meld3.hash +++ /dev/null @@ -1,6 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/meld3/json -md5 56fff5d6599efeefc81cf2d3b8cf6b4e meld3-2.0.0.tar.gz -sha256 1efda676264490db2e30bfb81b27a918cc6d9c2de6d609491aa43410b9537eb9 meld3-2.0.0.tar.gz -# Locally computed sha256 checksums -sha256 5fe11cd858707131b6ec1338b5c2cd68dd1fdb875e3ec967149bc6fea858ecec LICENSE.txt -sha256 2422945b49554688d529e1f8d4ac6e0ab77a817e8889158e1e56cf963ecf5c4d COPYRIGHT.txt diff --git a/package/python-meld3/python-meld3.mk b/package/python-meld3/python-meld3.mk deleted file mode 100644 index f67172e6f84..00000000000 --- a/package/python-meld3/python-meld3.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-meld3 -# -################################################################################ - -PYTHON_MELD3_VERSION = 2.0.0 -PYTHON_MELD3_SOURCE = meld3-$(PYTHON_MELD3_VERSION).tar.gz -PYTHON_MELD3_SITE = https://files.pythonhosted.org/packages/00/3b/023446ddc1bf0b519c369cbe88269c30c6a64bd10af4817c73f560c302f7 -PYTHON_MELD3_LICENSE = ZPL-2.1 -PYTHON_MELD3_LICENSE_FILES = COPYRIGHT.txt LICENSE.txt -PYTHON_MELD3_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-memory-profiler/Config.in b/package/python-memory-profiler/Config.in new file mode 100644 index 00000000000..9d29e5f1ca8 --- /dev/null +++ b/package/python-memory-profiler/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_MEMORY_PROFILER + bool "python-memory-profiler" + select BR2_PACKAGE_PYTHON_PSUTIL # runtime + help + A module for monitoring memory usage of a python program. + + https://github.com/pythonprofilers/memory_profiler diff --git a/package/python-memory-profiler/python-memory-profiler.hash b/package/python-memory-profiler/python-memory-profiler.hash new file mode 100644 index 00000000000..9ee515b5292 --- /dev/null +++ b/package/python-memory-profiler/python-memory-profiler.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/memory-profiler/json +md5 b1d1783064a1198fb21bc877e535ec1b memory_profiler-0.58.0.tar.gz +sha256 01385ac0fec944fcf7969814ec4406c6d8a9c66c079d09276723c5a7680f44e5 memory_profiler-0.58.0.tar.gz +# Locally computed sha256 checksums +sha256 51926ce91b8283532efa9dfb02518582c15f49c105a3ac18cce1f7a4947e96ae COPYING diff --git a/package/python-memory-profiler/python-memory-profiler.mk b/package/python-memory-profiler/python-memory-profiler.mk new file mode 100644 index 00000000000..053b0e2d621 --- /dev/null +++ b/package/python-memory-profiler/python-memory-profiler.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-memory-profiler +# +################################################################################ + +PYTHON_MEMORY_PROFILER_VERSION = 0.58.0 +PYTHON_MEMORY_PROFILER_SOURCE = memory_profiler-$(PYTHON_MEMORY_PROFILER_VERSION).tar.gz +PYTHON_MEMORY_PROFILER_SITE = https://files.pythonhosted.org/packages/8f/fd/d92b3295657f8837e0177e7b48b32d6651436f0293af42b76d134c3bb489 +PYTHON_MEMORY_PROFILER_SETUP_TYPE = setuptools +PYTHON_MEMORY_PROFILER_LICENSE = BSD-3-Clause +PYTHON_MEMORY_PROFILER_LICENSE_FILES = COPYING + +$(eval $(python-package)) diff --git a/package/python-more-itertools/Config.in b/package/python-more-itertools/Config.in index 1a7f95c27fe..5a74f95d594 100644 --- a/package/python-more-itertools/Config.in +++ b/package/python-more-itertools/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_MORE_ITERTOOLS bool "python-more-itertools" - depends on BR2_PACKAGE_PYTHON3 help More routines for operating on iterables, beyond itertools. - https://github.com/erikrose/more-itertools + https://github.com/more-itertools/more-itertools diff --git a/package/python-more-itertools/python-more-itertools.hash b/package/python-more-itertools/python-more-itertools.hash index 189498ec5eb..4e6e7bdfb81 100644 --- a/package/python-more-itertools/python-more-itertools.hash +++ b/package/python-more-itertools/python-more-itertools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/more-itertools/json -md5 0912041c05148ed079984cff69af2e99 more-itertools-8.4.0.tar.gz -sha256 68c70cc7167bdf5c7c9d8f6954a7837089c6a36bf565383919bb595efb8a17e5 more-itertools-8.4.0.tar.gz +md5 9930552c4f7eedc00193673d5f7f0f19 more-itertools-8.10.0.tar.gz +sha256 1debcabeb1df793814859d64a81ad7cb10504c24349368ccf214c664c474f41f more-itertools-8.10.0.tar.gz # Locally computed sha256 checksums sha256 09f1c8c9e941af3e584d59641ea9b87d83c0cb0fd007eb5ef391a7e2643c1a46 LICENSE diff --git a/package/python-more-itertools/python-more-itertools.mk b/package/python-more-itertools/python-more-itertools.mk index ef21f4d27d3..3b9957b72ed 100644 --- a/package/python-more-itertools/python-more-itertools.mk +++ b/package/python-more-itertools/python-more-itertools.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MORE_ITERTOOLS_VERSION = 8.4.0 +PYTHON_MORE_ITERTOOLS_VERSION = 8.10.0 PYTHON_MORE_ITERTOOLS_SOURCE = more-itertools-$(PYTHON_MORE_ITERTOOLS_VERSION).tar.gz -PYTHON_MORE_ITERTOOLS_SITE = https://files.pythonhosted.org/packages/67/4a/16cb3acf64709eb0164e49ba463a42dc45366995848c4f0cf770f57b8120 +PYTHON_MORE_ITERTOOLS_SITE = https://files.pythonhosted.org/packages/8a/f7/93cf3c81629c95f6f40e509f7cd63985a6ddd829181a66c1c8ef101e55f2 PYTHON_MORE_ITERTOOLS_SETUP_TYPE = setuptools PYTHON_MORE_ITERTOOLS_LICENSE = MIT PYTHON_MORE_ITERTOOLS_LICENSE_FILES = LICENSE diff --git a/package/python-mpd2/Config.in b/package/python-mpd2/Config.in new file mode 100644 index 00000000000..52dcbf0096a --- /dev/null +++ b/package/python-mpd2/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_MPD2 + bool "python-mpd2" + help + A Python MPD client library. + + https://github.com/Mic92/python-mpd2 diff --git a/package/python-mpd2/python-mpd2.hash b/package/python-mpd2/python-mpd2.hash new file mode 100644 index 00000000000..88dcb283775 --- /dev/null +++ b/package/python-mpd2/python-mpd2.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/python-mpd2/json +md5 594dff3e53c8eb6f583ba642bc2c1a27 python-mpd2-3.0.5.tar.gz +sha256 6f1bffd93b9a32fc018a9bbf3487505b52e0d757ec34066905c60a912d492384 python-mpd2-3.0.5.tar.gz +# Locally computed sha256 checksums +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt diff --git a/package/python-mpd2/python-mpd2.mk b/package/python-mpd2/python-mpd2.mk new file mode 100644 index 00000000000..bfe382b59e0 --- /dev/null +++ b/package/python-mpd2/python-mpd2.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-mpd2 +# +################################################################################ + +PYTHON_MPD2_VERSION = 3.0.5 +PYTHON_MPD2_SITE = https://files.pythonhosted.org/packages/ed/c2/263621bdbbc37fa1a55fa1a7f66fd601bf08b3f87481e318a3509fb6c4bf +PYTHON_MPD2_SETUP_TYPE = setuptools +PYTHON_MPD2_LICENSE = LGPL-3.0+ +PYTHON_MPD2_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-msgfy/Config.in b/package/python-msgfy/Config.in index f5a471633aa..7875379e9ef 100644 --- a/package/python-msgfy/Config.in +++ b/package/python-msgfy/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_MSGFY bool "python-msgfy" - depends on BR2_PACKAGE_PYTHON3 help msgfy is a Python library for convert Exception instance to a human-readable error message. diff --git a/package/python-msgpack/python-msgpack.hash b/package/python-msgpack/python-msgpack.hash index e34ea118ed0..382bada4a70 100644 --- a/package/python-msgpack/python-msgpack.hash +++ b/package/python-msgpack/python-msgpack.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/msgpack/json -md5 c35ee8f991dad3969884e9585e56ebba msgpack-1.0.0.tar.gz -sha256 9534d5cc480d4aff720233411a1f765be90885750b07df772380b34c10ecb5c0 msgpack-1.0.0.tar.gz +md5 2dcb4fa618d7890e5a79de6fe44cbb59 msgpack-1.0.3.tar.gz +sha256 51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e msgpack-1.0.3.tar.gz # Locally computed sha256 checksums sha256 492dedba85da5872f78e6091bcd1fea474d660d35acb4dee964b8aab3f007427 COPYING diff --git a/package/python-msgpack/python-msgpack.mk b/package/python-msgpack/python-msgpack.mk index 18d5a998ffb..c50b7157a0e 100644 --- a/package/python-msgpack/python-msgpack.mk +++ b/package/python-msgpack/python-msgpack.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MSGPACK_VERSION = 1.0.0 +PYTHON_MSGPACK_VERSION = 1.0.3 PYTHON_MSGPACK_SOURCE = msgpack-$(PYTHON_MSGPACK_VERSION).tar.gz -PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/e4/4f/057549afbd12fdd5d9aae9df19a6773a3d91988afe7be45b277e8cee2f4d +PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/61/3c/2206f39880d38ca7ad8ac1b28d2d5ca81632d163b2d68ef90e46409ca057 PYTHON_MSGPACK_LICENSE = Apache-2.0 PYTHON_MSGPACK_LICENSE_FILES = COPYING PYTHON_MSGPACK_SETUP_TYPE = setuptools diff --git a/package/python-multidict/Config.in b/package/python-multidict/Config.in index 7bfaa36db21..9a92a6d3960 100644 --- a/package/python-multidict/Config.in +++ b/package/python-multidict/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_MULTIDICT bool "python-multidict" - depends on BR2_PACKAGE_PYTHON3 help Multidict is dict-like collection of key-value pairs where a key may occur more than once in the container. diff --git a/package/python-multidict/python-multidict.hash b/package/python-multidict/python-multidict.hash index 6b78301200d..999c8867d06 100644 --- a/package/python-multidict/python-multidict.hash +++ b/package/python-multidict/python-multidict.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/multidict/json -md5 b1dab3349efe90934ae3612f1202b733 multidict-5.0.2.tar.gz -sha256 e5bf89fe57f702a046c7ec718fe330ed50efd4bcf74722940db2eb0919cddb1c multidict-5.0.2.tar.gz +md5 f8230905ad1f50c87e8d9cc6b0bb7ca2 multidict-6.0.2.tar.gz +sha256 5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013 multidict-6.0.2.tar.gz # Locally computed sha256 checksums -sha256 a1c5825513279d3085a0ba46880e148ea3710c149bbaedcf2d11605a5ed3c4ad LICENSE +sha256 06a240ea10ba868fda2de58df859886961df873aa74bbab1e0f13eaf99f92b7b LICENSE diff --git a/package/python-multidict/python-multidict.mk b/package/python-multidict/python-multidict.mk index a7043643c5e..1a9aec7ba78 100644 --- a/package/python-multidict/python-multidict.mk +++ b/package/python-multidict/python-multidict.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MULTIDICT_VERSION = 5.0.2 +PYTHON_MULTIDICT_VERSION = 6.0.2 PYTHON_MULTIDICT_SOURCE = multidict-$(PYTHON_MULTIDICT_VERSION).tar.gz -PYTHON_MULTIDICT_SITE = https://files.pythonhosted.org/packages/da/e6/50c7f52781f45c2b37c77e962c30a3944a9e79a46ea92956e826c24d3432 +PYTHON_MULTIDICT_SITE = https://files.pythonhosted.org/packages/fa/a7/71c253cdb8a1528802bac7503bf82fe674367e4055b09c28846fdfa4ab90 PYTHON_MULTIDICT_SETUP_TYPE = setuptools PYTHON_MULTIDICT_LICENSE = Apache-2.0 PYTHON_MULTIDICT_LICENSE_FILES = LICENSE diff --git a/package/python-mutagen/Config.in b/package/python-mutagen/Config.in index 3c95e374479..dc183a6e4e0 100644 --- a/package/python-mutagen/Config.in +++ b/package/python-mutagen/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_MUTAGEN bool "python-mutagen" - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC, MP4, Monkey's Audio, MP3, Musepack, Ogg diff --git a/package/python-mutagen/python-mutagen.hash b/package/python-mutagen/python-mutagen.hash index 5ee8ed17c7c..0cf25fd5feb 100644 --- a/package/python-mutagen/python-mutagen.hash +++ b/package/python-mutagen/python-mutagen.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/mutagen/json, sha256 locally computed -md5 3729218f974c3a79ee9972ffa5ca5d12 mutagen-1.42.0.tar.gz -sha256 bb61e2456f59a9a4a259fbc08def6d01ba45a42da8eeaa97d00633b0ec5de71c mutagen-1.42.0.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +# md5, sha256 from https://pypi.org/pypi/mutagen/json +md5 76e1f7fc2386813c0ff2716695fb06e1 mutagen-1.45.1.tar.gz +sha256 6397602efb3c2d7baebd2166ed85731ae1c1d475abca22090b7141ff5034b3e1 mutagen-1.45.1.tar.gz +# Locally computed sha256 checksums +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/python-mutagen/python-mutagen.mk b/package/python-mutagen/python-mutagen.mk index 5477d6f4c80..627ec70e969 100644 --- a/package/python-mutagen/python-mutagen.mk +++ b/package/python-mutagen/python-mutagen.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_MUTAGEN_VERSION = 1.42.0 +PYTHON_MUTAGEN_VERSION = 1.45.1 PYTHON_MUTAGEN_SOURCE = mutagen-$(PYTHON_MUTAGEN_VERSION).tar.gz -PYTHON_MUTAGEN_SITE = https://files.pythonhosted.org/packages/30/4c/5ad1a6e1ccbcfaf6462db727989c302d9d721beedd9b09c11e6f0c7065b0 +PYTHON_MUTAGEN_SITE = https://files.pythonhosted.org/packages/f3/d9/2232a4cb9a98e2d2501f7e58d193bc49c956ef23756d7423ba1bd87e386d PYTHON_MUTAGEN_LICENSE = GPL-2.0 PYTHON_MUTAGEN_LICENSE_FILES = COPYING -PYTHON_MUTAGEN_SETUP_TYPE = distutils +PYTHON_MUTAGEN_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-mwscrape/Config.in b/package/python-mwscrape/Config.in index cb1e30506ff..fc9d5223f20 100644 --- a/package/python-mwscrape/Config.in +++ b/package/python-mwscrape/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_MWSCRAPE bool "python-mwscrape" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_COUCHDB # runtime select BR2_PACKAGE_PYTHON_MWCLIENT # runtime select BR2_PACKAGE_PYTHON_PYLRU # runtime diff --git a/package/python-mwscrape2slob/Config.in b/package/python-mwscrape2slob/Config.in index 6d543bda28d..6ced253451b 100644 --- a/package/python-mwscrape2slob/Config.in +++ b/package/python-mwscrape2slob/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_PYTHON_MWSCRAPE2SLOB depends on BR2_HOST_GCC_AT_LEAST_4_9 # python-slob -> python-pyicu -> icu depends on BR2_INSTALL_LIBSTDCPP # python-slob -> python-pyicu -> icu depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-slob -> python-pyicu -> icu - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_COUCHDB # runtime select BR2_PACKAGE_PYTHON_CSSSELECT # runtime select BR2_PACKAGE_PYTHON_CSSUTILS # runtime @@ -17,7 +16,6 @@ config BR2_PACKAGE_PYTHON_MWSCRAPE2SLOB https://github.com/itkach/mwscrape2slob comment "python-mwscrape2slob needs a toolchain w/ C++, gcc >= 4.9, host gcc >= 4.9" - depends on BR2_PACKAGE_PYTHON3 && !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/python-netifaces/python-netifaces.hash b/package/python-netifaces/python-netifaces.hash index f59208014b8..ec8ccf623e1 100644 --- a/package/python-netifaces/python-netifaces.hash +++ b/package/python-netifaces/python-netifaces.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/netifaces/json -md5 de92cc322b4f56047c073f802ad77860 netifaces-0.10.9.tar.gz -sha256 2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3 netifaces-0.10.9.tar.gz +md5 3146dcb3297dd018ae5eb9a52b440419 netifaces-0.11.0.tar.gz +sha256 043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32 netifaces-0.11.0.tar.gz # Locally computed sha256 checksums -sha256 b20b895164b72b9cc0170e6c0d60b14f9aaacc6862c0556eed41eaa348883705 LICENSE +sha256 b20b895164b72b9cc0170e6c0d60b14f9aaacc6862c0556eed41eaa348883705 LICENSE diff --git a/package/python-netifaces/python-netifaces.mk b/package/python-netifaces/python-netifaces.mk index 502529c008e..1b1aa995680 100644 --- a/package/python-netifaces/python-netifaces.mk +++ b/package/python-netifaces/python-netifaces.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_NETIFACES_VERSION = 0.10.9 +PYTHON_NETIFACES_VERSION = 0.11.0 PYTHON_NETIFACES_SOURCE = netifaces-$(PYTHON_NETIFACES_VERSION).tar.gz -PYTHON_NETIFACES_SITE = https://files.pythonhosted.org/packages/0d/18/fd6e9c71a35b67a73160ec80a49da63d1eed2d2055054cc2995714949132 +PYTHON_NETIFACES_SITE = https://files.pythonhosted.org/packages/a6/91/86a6eac449ddfae239e93ffc1918cf33fd9bab35c04d1e963b311e347a73 PYTHON_NETIFACES_LICENSE = MIT PYTHON_NETIFACES_LICENSE_FILES = LICENSE PYTHON_NETIFACES_SETUP_TYPE = setuptools diff --git a/package/python-networkx/Config.in b/package/python-networkx/Config.in index 2ae3841dfa3..0f3e86f497d 100644 --- a/package/python-networkx/Config.in +++ b/package/python-networkx/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_NETWORKX bool "python-networkx" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_DECORATOR # runtime help A Python package for the creation, manipulation, diff --git a/package/python-networkx/python-networkx.hash b/package/python-networkx/python-networkx.hash index 6c4b793e0dc..ace5c6721a0 100644 --- a/package/python-networkx/python-networkx.hash +++ b/package/python-networkx/python-networkx.hash @@ -1,4 +1,5 @@ -# From: https://pypi.org/project/networkx/ -sha256 f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64 networkx-2.4.tar.gz -# Locally computed -sha256 f421f7c5d30022aa268174976e43e488b856ad953f32cdd13f0675630996d8c0 LICENSE.txt +# md5, sha256 from https://pypi.org/pypi/networkx/json +md5 407eb28c54e08725559754ca7ab185e0 networkx-2.6.3.tar.gz +sha256 c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51 networkx-2.6.3.tar.gz +# Locally computed sha256 checksums +sha256 f9c25c92ced5a264a3fe857231205d5eb625ae367935aaf8d61cdd5087dfb90e LICENSE.txt diff --git a/package/python-networkx/python-networkx.mk b/package/python-networkx/python-networkx.mk index 2efc53d628a..1908ed8f933 100644 --- a/package/python-networkx/python-networkx.mk +++ b/package/python-networkx/python-networkx.mk @@ -4,14 +4,15 @@ # ################################################################################ -PYTHON_NETWORKX_VERSION = 2.4 +PYTHON_NETWORKX_VERSION = 2.6.3 PYTHON_NETWORKX_SOURCE = networkx-$(PYTHON_NETWORKX_VERSION).tar.gz -PYTHON_NETWORKX_SITE = https://pypi.python.org/packages/bf/63/7b579dd3b1c49ce6b7fd8f6f864038f255201410905dd183cf7f4a3845cf +PYTHON_NETWORKX_SITE = https://files.pythonhosted.org/packages/97/ae/7497bc5e1c84af95e585e3f98585c9f06c627fac6340984c4243053e8f44 PYTHON_NETWORKX_LICENSE = BSD-3-Clause PYTHON_NETWORKX_LICENSE_FILES = LICENSE.txt +PYTHON_NETWORKX_CPE_ID_VENDOR = python +PYTHON_NETWORKX_CPE_ID_PRODUCT = networkx PYTHON_NETWORKX_SETUP_TYPE = setuptools -HOST_PYTHON_NETWORKX_DEPENDENCIES = host-python3-decorator -HOST_PYTHON_NETWORKX_NEEDS_HOST_PYTHON = python3 +HOST_PYTHON_NETWORKX_DEPENDENCIES = host-python-decorator $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-nfc/Config.in b/package/python-nfc/Config.in deleted file mode 100644 index 7008723f607..00000000000 --- a/package/python-nfc/Config.in +++ /dev/null @@ -1,16 +0,0 @@ -config BR2_PACKAGE_PYTHON_NFC - bool "python-nfc" - depends on BR2_PACKAGE_PYTHON - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT - help - Python module for near field communication. - - https://launchpad.net/nfcpy - -comment "python-nfc needs a toolchain w/ threads, gcc >= 4.9" - depends on BR2_PACKAGE_PYTHON - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/python-nfc/python-nfc.hash b/package/python-nfc/python-nfc.hash deleted file mode 100644 index 6514973f53c..00000000000 --- a/package/python-nfc/python-nfc.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 7ff9265e393e9e70173ecef5a1f9124e67d3b6e481c2dc3a9537b6a769ebe16f python-nfc-0.13.5.tar.gz -sha256 0dc4b0a3362f197e250604567a6b4eb16bbc34c186425401e2201a193a82549f LICENSE diff --git a/package/python-nfc/python-nfc.mk b/package/python-nfc/python-nfc.mk deleted file mode 100644 index f5417410c9f..00000000000 --- a/package/python-nfc/python-nfc.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-nfc -# -################################################################################ - -PYTHON_NFC_VERSION = 0.13.5 -PYTHON_NFC_SITE = $(call github,nfcpy,nfcpy,v$(PYTHON_NFC_VERSION)) -PYTHON_NFC_DEPENDENCIES = libusb libusb-compat -PYTHON_NFC_SETUP_TYPE = setuptools -PYTHON_NFC_LICENSE = EUPL-1.1+ -PYTHON_NFC_LICENSE_FILES = LICENSE - -$(eval $(python-package)) diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in index 23dcbc7986d..a65164d9d55 100644 --- a/package/python-numpy/Config.in +++ b/package/python-numpy/Config.in @@ -15,7 +15,6 @@ config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS config BR2_PACKAGE_PYTHON_NUMPY bool "python-numpy" - depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy needs fenv.h which is not provided by uclibc depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL @@ -29,6 +28,5 @@ config BR2_PACKAGE_PYTHON_NUMPY http://www.numpy.org/ comment "python-numpy needs glibc or musl" - depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash index ff9d02643c8..7c111f7bc8d 100644 --- a/package/python-numpy/python-numpy.hash +++ b/package/python-numpy/python-numpy.hash @@ -1,9 +1,8 @@ -# Copied from https://github.com/numpy/numpy/releases/tag/v1.18.1 -sha256 da204ce460aa4247e595b7c7189d2fb2ed5f796bc03197055de01dac61d0125e numpy-1.18.2.tar.gz +# Copied from https://github.com/numpy/numpy/releases/tag/v1.21.2 +sha256 76af194fbc117934ec5bbe2ff15177adbd05aeed23f18ee209ed88edcd777e05 numpy-1.21.2.tar.gz # License files, locally calculated -sha256 ad81d0c21843ba6ce6fe5fa3eaacb61120be70cd798c52f63df3f4c12a843f0c LICENSE.txt -sha256 d3045980e80a6b39f98586c24bc7f39a7625b4b9f08ce72e367d12814743d047 numpy/core/src/multiarray/dragon4.c -sha256 426a5a484480f57a295db48c2c04f47bb3274752dd82a7fd6541dfa2cb90f641 doc/sphinxext/LICENSE.txt -sha256 154a8706fa0fdeff1073bf6239c4ecf51f562ab107066eef839dade1a45c824c doc/scipy-sphinx-theme/LICENSE.txt +sha256 bc1b0af15cdc9415ea26c5f1df352c226ac86425ec0fb9ab38d111018bf1c6f2 LICENSE.txt +sha256 2be6947e0432ecf7950ee8fe38681316749dd06d1de17c9ec4de6d2f55adb3a1 numpy/core/src/multiarray/dragon4.c +sha256 fbc539f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec numpy/core/include/numpy/libdivide/LICENSE.txt sha256 a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55 numpy/linalg/lapack_lite/LICENSE.txt sha256 badf51c7e3e7de9c7630bd069780f5c197b846ef7660b342a1e58d5553592d8e tools/npy_tempita/license.txt diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk index 8260de7e5de..417fe81f575 100644 --- a/package/python-numpy/python-numpy.mk +++ b/package/python-numpy/python-numpy.mk @@ -4,26 +4,33 @@ # ################################################################################ -PYTHON_NUMPY_VERSION = 1.18.2 +PYTHON_NUMPY_VERSION = 1.21.2 PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION) -PYTHON_NUMPY_LICENSE = BSD-3-Clause, BSD-2-Clause, PSF, Apache-2.0, MIT, Zlib -PYTHON_NUMPY_LICENSE_FILES = LICENSE.txt doc/sphinxext/LICENSE.txt \ - doc/scipy-sphinx-theme/LICENSE.txt \ - numpy/linalg/lapack_lite/LICENSE.txt \ - tools/npy_tempita/license.txt \ - numpy/core/src/multiarray/dragon4.c +PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib +PYTHON_NUMPY_LICENSE_FILES = \ + LICENSE.txt \ + numpy/core/src/multiarray/dragon4.c \ + numpy/core/include/numpy/libdivide/LICENSE.txt \ + numpy/linalg/lapack_lite/LICENSE.txt \ + tools/npy_tempita/license.txt + PYTHON_NUMPY_SETUP_TYPE = setuptools PYTHON_NUMPY_DEPENDENCIES = host-python-cython HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython -ifeq ($(BR2_PACKAGE_CLAPACK),y) -PYTHON_NUMPY_DEPENDENCIES += clapack +ifeq ($(BR2_PACKAGE_LAPACK),y) +PYTHON_NUMPY_DEPENDENCIES += lapack else PYTHON_NUMPY_ENV += BLAS=None LAPACK=None endif +ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y) +PYTHON_NUMPY_BUILD_OPTS = --fcompiler=gnu95 +PYTHON_NUMPY_ENV += F90=$(TARGET_FC) +else PYTHON_NUMPY_BUILD_OPTS = --fcompiler=None +endif define PYTHON_NUMPY_CONFIGURE_CMDS -rm -f $(@D)/site.cfg @@ -32,6 +39,18 @@ define PYTHON_NUMPY_CONFIGURE_CMDS echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(@D)/site.cfg endef +# Fixup the npymath.ini prefix path with actual target staging area where +# numpy core was built. Without this, target builds using numpy distutils +# extensions like python-scipy, python-numba cannot find -lnpymath since +# it uses host libraries (like libnpymath.a). +# So, the numpy distutils extension packages would explicitly link this +# config path for their package environment. +define PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FILES + $(SED) '/^pkgdir=/d;/^prefix=/i pkgdir=$(PYTHON3_PATH)/site-packages/numpy/core' \ + $(PYTHON3_PATH)/site-packages/numpy/core/lib/npy-pkg-config/npymath.ini +endef +PYTHON_NUMPY_POST_INSTALL_STAGING_HOOKS += PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FILES + # Some package may include few headers from NumPy, so let's install it # in the staging area. PYTHON_NUMPY_INSTALL_STAGING = YES diff --git a/package/python-oauthlib/python-oauthlib.hash b/package/python-oauthlib/python-oauthlib.hash index 2bf7f7974d6..e55f0c861d1 100644 --- a/package/python-oauthlib/python-oauthlib.hash +++ b/package/python-oauthlib/python-oauthlib.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/oauthlib/json -md5 43cb2b5bac983712ee55076b61181cc2 oauthlib-3.1.0.tar.gz -sha256 bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889 oauthlib-3.1.0.tar.gz +md5 9201e30a4eacf3ecfa15503b241ad5e3 oauthlib-3.1.1.tar.gz +sha256 8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3 oauthlib-3.1.1.tar.gz # Locally computed sha256 checksums -sha256 3d1e12d8ac52c0b6c148af6d291f72400b8720ed16c0ac4a89868b6d14b1c939 LICENSE +sha256 3d1e12d8ac52c0b6c148af6d291f72400b8720ed16c0ac4a89868b6d14b1c939 LICENSE diff --git a/package/python-oauthlib/python-oauthlib.mk b/package/python-oauthlib/python-oauthlib.mk index 407abc7659a..7369768b35f 100644 --- a/package/python-oauthlib/python-oauthlib.mk +++ b/package/python-oauthlib/python-oauthlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_OAUTHLIB_VERSION = 3.1.0 +PYTHON_OAUTHLIB_VERSION = 3.1.1 PYTHON_OAUTHLIB_SOURCE = oauthlib-$(PYTHON_OAUTHLIB_VERSION).tar.gz -PYTHON_OAUTHLIB_SITE = https://files.pythonhosted.org/packages/fc/c7/829c73c64d3749da7811c06319458e47f3461944da9d98bb4df1cb1598c2 +PYTHON_OAUTHLIB_SITE = https://files.pythonhosted.org/packages/9e/84/001a3f8d9680f3b26d5e7711e13d5ff92e4b511766a72ac6b4a4e5f06796 PYTHON_OAUTHLIB_SETUP_TYPE = setuptools PYTHON_OAUTHLIB_LICENSE = BSD-3-Clause PYTHON_OAUTHLIB_LICENSE_FILES = LICENSE diff --git a/package/python-opcua-asyncio/Config.in b/package/python-opcua-asyncio/Config.in index 3700e00e1d6..e5b8623f0d8 100644 --- a/package/python-opcua-asyncio/Config.in +++ b/package/python-opcua-asyncio/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_OPCUA_ASYNCIO bool "python-opcua-asyncio" - depends on BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography select BR2_PACKAGE_PYTHON_AIOFILES # runtime select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime select BR2_PACKAGE_PYTHON_DATEUTIL # runtime diff --git a/package/python-packaging/Config.in b/package/python-packaging/Config.in index 5a8135cd571..12170df84e4 100644 --- a/package/python-packaging/Config.in +++ b/package/python-packaging/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_PACKAGING bool "python-packaging" select BR2_PACKAGE_PYTHON_PYPARSING # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime help Core utilities for Python packages. diff --git a/package/python-packaging/python-packaging.hash b/package/python-packaging/python-packaging.hash index aafb16c1b08..0f353a9e367 100644 --- a/package/python-packaging/python-packaging.hash +++ b/package/python-packaging/python-packaging.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/packaging/json -md5 3208229da731c5d8e29d4d8941e75005 packaging-20.4.tar.gz -sha256 4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8 packaging-20.4.tar.gz +md5 e713c1939f294fd729af4a7be40dd141 packaging-21.3.tar.gz +sha256 dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb packaging-21.3.tar.gz # Locally computed sha256 checksums sha256 cad1ef5bd340d73e074ba614d26f7deaca5c7940c3d8c34852e65c4909686c48 LICENSE sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE.APACHE diff --git a/package/python-packaging/python-packaging.mk b/package/python-packaging/python-packaging.mk index 62a9d68cbb4..74b58035257 100644 --- a/package/python-packaging/python-packaging.mk +++ b/package/python-packaging/python-packaging.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_PACKAGING_VERSION = 20.4 +PYTHON_PACKAGING_VERSION = 21.3 PYTHON_PACKAGING_SOURCE = packaging-$(PYTHON_PACKAGING_VERSION).tar.gz -PYTHON_PACKAGING_SITE = https://files.pythonhosted.org/packages/55/fd/fc1aca9cf51ed2f2c11748fa797370027babd82f87829c7a8e6dbe720145 +PYTHON_PACKAGING_SITE = https://files.pythonhosted.org/packages/df/9e/d1a7217f69310c1db8fdf8ab396229f55a699ce34a203691794c5d1cad0c PYTHON_PACKAGING_SETUP_TYPE = setuptools PYTHON_PACKAGING_LICENSE = Apache-2.0 or BSD-2-Clause PYTHON_PACKAGING_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD +HOST_PYTHON_PACKAGING_DEPENDENCIES = host-python-pyparsing $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-pam/0001-dealloc.patch b/package/python-pam/0001-dealloc.patch deleted file mode 100644 index dd4f9610c76..00000000000 --- a/package/python-pam/0001-dealloc.patch +++ /dev/null @@ -1,25 +0,0 @@ -[PATCH] fix two bugs in the PAM object deallocation - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=658955 - -Downloaded from: -http://pkgs.fedoraproject.org/cgit/PyPAM.git/plain/PyPAM-0.5.0-dealloc.patch - -Signed-off-by: Peter Korsgaard -diff -up PyPAM-0.5.0/PAMmodule.c.dealloc PyPAM-0.5.0/PAMmodule.c ---- PyPAM-0.5.0/PAMmodule.c.dealloc 2011-01-17 22:48:22.000000000 +0100 -+++ PyPAM-0.5.0/PAMmodule.c 2011-01-18 21:24:59.000000000 +0100 -@@ -538,10 +538,11 @@ static void PyPAM_dealloc(PyPAMObject *s - free(self->service); - free(self->user); - free(self->conv); -- pam_end(self->pamh, PAM_SUCCESS); -+ if (self->pamh) -+ pam_end(self->pamh, PAM_SUCCESS); - dlclose(self->dlh2); - dlclose(self->dlh1); -- PyMem_DEL(self); -+ PyObject_Del(self); - } - - static PyObject * PyPAM_getattr(PyPAMObject *self, char *name) diff --git a/package/python-pam/0002-nofree.patch b/package/python-pam/0002-nofree.patch deleted file mode 100644 index 7de8801707a..00000000000 --- a/package/python-pam/0002-nofree.patch +++ /dev/null @@ -1,68 +0,0 @@ -[PATCH] deallocate the conversation response only in case of error - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=679714 - -Downloaded from: -http://pkgs.fedoraproject.org/cgit/PyPAM.git/plain/PyPAM-0.5.0-nofree.patch - -Signed-off-by: Peter Korsgaard -diff --git a/PAMmodule.c b/PAMmodule.c -index 03cb799..a7ff8a5 100644 ---- a/PAMmodule.c -+++ b/PAMmodule.c -@@ -24,8 +24,6 @@ typedef struct { - char *service; - char *user; - PyObject *callback; -- struct pam_response *response_data; -- int response_len; - PyObject *user_data; - void *dlh1, *dlh2; - } PyPAMObject; -@@ -54,15 +52,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg, - - Py_INCREF(self); - -- if (NULL != self->response_data) { -- for (int i = 0; i < self->response_len; i++) { -- free(self->response_data[0].resp); -- } -- free(self->response_data); -- self->response_data = NULL; -- self->response_len = 0; -- } -- - PyObject* msgList = PyList_New(num_msg); - - for (int i = 0; i < num_msg; i++) { -@@ -92,6 +81,10 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg, - char* resp_text; - int resp_retcode = 0; - if (!PyArg_ParseTuple(respTuple, "si", &resp_text, &resp_retcode)) { -+ while (i > 0) { -+ free((--spr)->resp); -+ --i; -+ } - free(*resp); - Py_DECREF(respList); - return PAM_CONV_ERR; -@@ -100,10 +93,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg, - spr->resp_retcode = resp_retcode; - Py_DECREF(respTuple); - } -- -- // Save this so we can free it later. -- self->response_data = *resp; -- self->response_len = PyList_Size(respList); - - Py_DECREF(respList); - -@@ -144,8 +133,6 @@ static PyObject * PyPAM_pam(PyObject *self, PyObject *args) - p->user = NULL; - Py_INCREF(Py_None); - p->callback = Py_None; -- p->response_data = NULL; -- p->response_len = 0; - Py_INCREF(Py_None); - p->user_data = Py_None; - diff --git a/package/python-pam/0003-memory-errors-CVE2012-1502.patch b/package/python-pam/0003-memory-errors-CVE2012-1502.patch deleted file mode 100644 index 62405db0586..00000000000 --- a/package/python-pam/0003-memory-errors-CVE2012-1502.patch +++ /dev/null @@ -1,136 +0,0 @@ -[PATCH] Fix Double Free Corruption (CVE2012-1502) - -Downloaded from: -http://pkgs.fedoraproject.org/cgit/PyPAM.git/plain/PyPAM-0.5.0-memory-errors.patch - -For details, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1502 - -Signed-off-by: Peter Korsgaard -diff -up PyPAM-0.5.0/PAMmodule.c.memory PyPAM-0.5.0/PAMmodule.c ---- PyPAM-0.5.0/PAMmodule.c.memory 2012-05-07 17:22:54.503914026 +0200 -+++ PyPAM-0.5.0/PAMmodule.c 2012-05-07 17:23:15.644381942 +0200 -@@ -37,33 +37,48 @@ static void PyPAM_Err(PyPAMObject *self, - - err_msg = pam_strerror(self->pamh, result); - error = Py_BuildValue("(si)", err_msg, result); -- Py_INCREF(PyPAM_Error); - PyErr_SetObject(PyPAM_Error, error); -+ Py_XDECREF(error); - } - - static int PyPAM_conv(int num_msg, const struct pam_message **msg, - struct pam_response **resp, void *appdata_ptr) - { -- PyObject *args; -- -+ PyObject *args, *msgList, *respList, *item; -+ struct pam_response *response, *spr; - PyPAMObject* self = (PyPAMObject *) appdata_ptr; -+ - if (self->callback == NULL) - return PAM_CONV_ERR; - - Py_INCREF(self); - -- PyObject* msgList = PyList_New(num_msg); -- -+ msgList = PyList_New(num_msg); -+ if (msgList == NULL) { -+ Py_DECREF(self); -+ return PAM_CONV_ERR; -+ } -+ - for (int i = 0; i < num_msg; i++) { -- PyList_SetItem(msgList, i, -- Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style)); -+ item = Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style); -+ if (item == NULL) { -+ Py_DECREF(msgList); -+ Py_DECREF(self); -+ return PAM_CONV_ERR; -+ } -+ PyList_SetItem(msgList, i, item); - } -- -+ - args = Py_BuildValue("(OO)", self, msgList); -- PyObject* respList = PyEval_CallObject(self->callback, args); -+ if (args == NULL) { -+ Py_DECREF(self); -+ Py_DECREF(msgList); -+ return PAM_CONV_ERR; -+ } -+ respList = PyEval_CallObject(self->callback, args); - Py_DECREF(args); - Py_DECREF(self); -- -+ - if (respList == NULL) - return PAM_CONV_ERR; - -@@ -71,11 +86,15 @@ static int PyPAM_conv(int num_msg, const - Py_DECREF(respList); - return PAM_CONV_ERR; - } -- -- *resp = (struct pam_response *) malloc( -+ -+ response = (struct pam_response *) malloc( - PyList_Size(respList) * sizeof(struct pam_response)); -+ if (response == NULL) { -+ Py_DECREF(respList); -+ return PAM_CONV_ERR; -+ } -+ spr = response; - -- struct pam_response* spr = *resp; - for (int i = 0; i < PyList_Size(respList); i++, spr++) { - PyObject* respTuple = PyList_GetItem(respList, i); - char* resp_text; -@@ -85,7 +104,7 @@ static int PyPAM_conv(int num_msg, const - free((--spr)->resp); - --i; - } -- free(*resp); -+ free(response); - Py_DECREF(respList); - return PAM_CONV_ERR; - } -@@ -95,7 +114,8 @@ static int PyPAM_conv(int num_msg, const - } - - Py_DECREF(respList); -- -+ *resp = response; -+ - return PAM_SUCCESS; - } - -@@ -122,7 +142,11 @@ static PyObject * PyPAM_pam(PyObject *se - PyPAMObject_Type.ob_type = &PyType_Type; - p = (PyPAMObject *) PyObject_NEW(PyPAMObject, &PyPAMObject_Type); - -+ if (p == NULL) -+ return NULL; -+ - if ((spc = (struct pam_conv *) malloc(sizeof(struct pam_conv))) == NULL) { -+ Py_DECREF((PyObject *)p); - PyErr_SetString(PyExc_MemoryError, "out of memory"); - return NULL; - } -@@ -455,9 +479,15 @@ static PyObject * PyPAM_getenvlist(PyObj - } - - retval = PyList_New(0); -+ if (retval == NULL) -+ return NULL; - - while ((cp = *(result++)) != NULL) { - entry = Py_BuildValue("s", cp); -+ if (entry == NULL) { -+ Py_DECREF(retval); -+ return NULL; -+ } - PyList_Append(retval, entry); - Py_DECREF(entry); - } diff --git a/package/python-pam/Config.in b/package/python-pam/Config.in deleted file mode 100644 index 92ba105ebf8..00000000000 --- a/package/python-pam/Config.in +++ /dev/null @@ -1,16 +0,0 @@ -comment "python-pam needs a toolchain w/ wchar, locale, dynamic library" - depends on BR2_PACKAGE_PYTHON - depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR || BR2_STATIC_LIBS - -config BR2_PACKAGE_PYTHON_PAM - bool "python-pam" - depends on BR2_PACKAGE_PYTHON # C extension not compatible with python3 - depends on BR2_ENABLE_LOCALE # linux-pam - depends on BR2_USE_WCHAR # linux-pam - depends on BR2_USE_MMU # linux-pam - depends on !BR2_STATIC_LIBS # linux-pam - select BR2_PACKAGE_LINUX_PAM - help - PAM (Pluggable Authentication Module) bindings for Python. - - https://admin.fedoraproject.org/pkgdb/package/PyPAM/ diff --git a/package/python-pam/python-pam.hash b/package/python-pam/python-pam.hash deleted file mode 100644 index 303455ae2fa..00000000000 --- a/package/python-pam/python-pam.hash +++ /dev/null @@ -1,3 +0,0 @@ -# locally computed -sha256 796ac019b9ee805696d0d277d8fb912fa2391b6ac070dc6f9f1a9a0fadbc3a5a PyPAM-0.5.0.tar.gz -sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING diff --git a/package/python-pam/python-pam.mk b/package/python-pam/python-pam.mk deleted file mode 100644 index 943e01dd643..00000000000 --- a/package/python-pam/python-pam.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# python-pam -# -################################################################################ - -PYTHON_PAM_VERSION = 0.5.0 -PYTHON_PAM_SOURCE = PyPAM-$(PYTHON_PAM_VERSION).tar.gz -# pangalactic.org gone -PYTHON_PAM_SITE = http://pkgs.fedoraproject.org/repo/pkgs/PyPAM/PyPAM-0.5.0.tar.gz/f1e7c2c56421dda28a75ace59a3c8871 -PYTHON_PAM_SETUP_TYPE = distutils -PYTHON_PAM_LICENSE = LGPL-2.1 -PYTHON_PAM_LICENSE_FILES = COPYING -PYTHON_PAM_DEPENDENCIES = linux-pam - -$(eval $(python-package)) diff --git a/package/python-paramiko/Config.in b/package/python-paramiko/Config.in index e33199c82cb..a07af19a4b4 100644 --- a/package/python-paramiko/Config.in +++ b/package/python-paramiko/Config.in @@ -1,16 +1,11 @@ config BR2_PACKAGE_PYTHON_PARAMIKO bool "python-paramiko" - depends on BR2_INSTALL_LIBSTDCPP # python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography select BR2_PACKAGE_PYTHON_BCRYPT # runtime select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime - select BR2_PACKAGE_PYTHON_PYASN1 # runtime select BR2_PACKAGE_PYTHON_PYNACL # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help SSH2 protocol library. https://github.com/paramiko/paramiko/ - -comment "python-paramiko needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-paramiko/python-paramiko.hash b/package/python-paramiko/python-paramiko.hash index 6054e8d4924..951bd8e1142 100644 --- a/package/python-paramiko/python-paramiko.hash +++ b/package/python-paramiko/python-paramiko.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/paramiko/json -md5 bf8239dc820ca86dd3c3226f4281c35f paramiko-2.7.1.tar.gz -sha256 920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f paramiko-2.7.1.tar.gz +md5 6e47947882e2c1b81f35b4133e8e62b9 paramiko-2.10.3.tar.gz +sha256 ddb1977853aef82804b35d72a0e597b244fa326c404c350bd00c5b01dbfee71a paramiko-2.10.3.tar.gz # Locally computed sha256 checksums -sha256 5fa25bf5f395fd26e701c2e1de4ca7d162816986dc791c22f8f4226857ad1bb2 LICENSE +sha256 5fa25bf5f395fd26e701c2e1de4ca7d162816986dc791c22f8f4226857ad1bb2 LICENSE diff --git a/package/python-paramiko/python-paramiko.mk b/package/python-paramiko/python-paramiko.mk index c9e144c96e3..46209f5823d 100644 --- a/package/python-paramiko/python-paramiko.mk +++ b/package/python-paramiko/python-paramiko.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_PARAMIKO_VERSION = 2.7.1 +PYTHON_PARAMIKO_VERSION = 2.10.3 PYTHON_PARAMIKO_SOURCE = paramiko-$(PYTHON_PARAMIKO_VERSION).tar.gz -PYTHON_PARAMIKO_SITE = https://files.pythonhosted.org/packages/ac/15/4351003352e11300b9f44a13576bff52dcdc6e4a911129c07447bda0a358 +PYTHON_PARAMIKO_SITE = https://files.pythonhosted.org/packages/d4/93/1a1eb7f214e6774099d56153db9e612f93cb8ffcdfd2eca243fcd5bb3a78 PYTHON_PARAMIKO_SETUP_TYPE = setuptools PYTHON_PARAMIKO_LICENSE = LGPL-2.1+ PYTHON_PARAMIKO_LICENSE_FILES = LICENSE +PYTHON_PARAMIKO_CPE_ID_VENDOR = paramiko +PYTHON_PARAMIKO_CPE_ID_PRODUCT = paramiko $(eval $(python-package)) diff --git a/package/python-parso/python-parso.hash b/package/python-parso/python-parso.hash index ab2e20943f3..67e77a162ef 100644 --- a/package/python-parso/python-parso.hash +++ b/package/python-parso/python-parso.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/parso/json -md5 d3a892fb4d9a0ffed838b0a3416145bf parso-0.7.0.tar.gz -sha256 908e9fae2144a076d72ae4e25539143d40b8e3eafbaeae03c1bfe226f4cdf12c parso-0.7.0.tar.gz +md5 7ee251113f31f8d851c4a5d9e98977cb parso-0.8.3.tar.gz +sha256 8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0 parso-0.8.3.tar.gz # Locally computed sha256 checksums sha256 fa67973073753d17624caf8684d5ee816d70c89d912c5bca7ca0f08e7b150edb LICENSE.txt sha256 9c1e620a5cf8e74fe81c1fd4c55e9cc0b189fc04e677cfc7ef915de746c3f59e docs/_themes/flask/LICENSE diff --git a/package/python-parso/python-parso.mk b/package/python-parso/python-parso.mk index a0b6af87322..ce1d3401ffa 100644 --- a/package/python-parso/python-parso.mk +++ b/package/python-parso/python-parso.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_PARSO_VERSION = 0.7.0 +PYTHON_PARSO_VERSION = 0.8.3 PYTHON_PARSO_SOURCE = parso-$(PYTHON_PARSO_VERSION).tar.gz -PYTHON_PARSO_SITE = https://files.pythonhosted.org/packages/fe/24/c30eb4be8a24b965cfd6e2e6b41180131789b44042112a16f9eb10c80f6e +PYTHON_PARSO_SITE = https://files.pythonhosted.org/packages/a2/0e/41f0cca4b85a6ea74d66d2226a7cda8e41206a624f5b330b958ef48e2e52 PYTHON_PARSO_SETUP_TYPE = setuptools PYTHON_PARSO_LICENSE = MIT, Python-2.0, BSD-3-Clause (flask theme) PYTHON_PARSO_LICENSE_FILES = LICENSE.txt docs/_themes/flask/LICENSE test/normalizer_issue_files/LICENSE +PYTHON_PARSO_CPE_ID_VENDOR = parso_project +PYTHON_PARSO_CPE_ID_PRODUCT = parso $(eval $(python-package)) diff --git a/package/python-passlib/Config.in b/package/python-passlib/Config.in index 23546a18a53..ed4097c562b 100644 --- a/package/python-passlib/Config.in +++ b/package/python-passlib/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PYTHON_PASSLIB comprehensive password hashing framework supporting over 30 schemes. - https://bitbucket.org/ecollins/passlib + https://passlib.readthedocs.io diff --git a/package/python-passlib/python-passlib.hash b/package/python-passlib/python-passlib.hash index 867223e19a7..c0652865aae 100644 --- a/package/python-passlib/python-passlib.hash +++ b/package/python-passlib/python-passlib.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/passlib/json -md5 b908529cfd4c33057c244324c692eae7 passlib-1.7.2.tar.gz -sha256 8d666cef936198bc2ab47ee9b0410c94adf2ba798e5a84bf220be079ae7ab6a8 passlib-1.7.2.tar.gz +md5 3a229cbd00dfb33e99885b43325e0591 passlib-1.7.4.tar.gz +sha256 defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04 passlib-1.7.4.tar.gz # Locally computed sha256 checksums -sha256 49a74ad666f456493d6b9e2cda7c55e46ad512ce2c67db4accaddb27bb240bb9 LICENSE +sha256 a95ba8f1af88ff8d5f0d0c33519f430b7f9d8992b69d4bc369ac0423a7a05a89 LICENSE diff --git a/package/python-passlib/python-passlib.mk b/package/python-passlib/python-passlib.mk index 6ab94fd66ee..013fec74def 100644 --- a/package/python-passlib/python-passlib.mk +++ b/package/python-passlib/python-passlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PASSLIB_VERSION = 1.7.2 +PYTHON_PASSLIB_VERSION = 1.7.4 PYTHON_PASSLIB_SOURCE = passlib-$(PYTHON_PASSLIB_VERSION).tar.gz -PYTHON_PASSLIB_SITE = https://files.pythonhosted.org/packages/6d/6b/4bfca0c13506535289b58f9c9761d20f56ed89439bfe6b8e07416ce58ee1 +PYTHON_PASSLIB_SITE = https://files.pythonhosted.org/packages/b6/06/9da9ee59a67fae7761aab3ccc84fa4f3f33f125b370f1ccdb915bf967c11 PYTHON_PASSLIB_SETUP_TYPE = setuptools PYTHON_PASSLIB_LICENSE = BSD-3-Clause PYTHON_PASSLIB_LICENSE_FILES = LICENSE diff --git a/package/python-pathlib2/Config.in b/package/python-pathlib2/Config.in deleted file mode 100644 index e28de4c12e7..00000000000 --- a/package/python-pathlib2/Config.in +++ /dev/null @@ -1,13 +0,0 @@ -config BR2_PACKAGE_PYTHON_PATHLIB2 - bool "python-pathlib2" - depends on BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_SIX # runtime - help - Object-oriented filesystem paths. - - The goal of pathlib2 is to provide a backport of standard - pathlib module which tracks the standard library module, so - all the newest features of the standard pathlib can be used - also on older Python versions. - - https://pypi.python.org/pypi/pathlib2 diff --git a/package/python-pathlib2/python-pathlib2.hash b/package/python-pathlib2/python-pathlib2.hash deleted file mode 100644 index 986049d9dee..00000000000 --- a/package/python-pathlib2/python-pathlib2.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/pathlib2/json -md5 f2bd0a363eb0f8fa0556f35c1d9e66fb pathlib2-2.3.5.tar.gz -sha256 6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868 pathlib2-2.3.5.tar.gz -# Locally computed sha256 checksums -sha256 f8e02f1a07e4c6fc59a4bee831ddde26b97064105c423b9e24340f35aaa80262 LICENSE.rst diff --git a/package/python-pathlib2/python-pathlib2.mk b/package/python-pathlib2/python-pathlib2.mk deleted file mode 100644 index d813b77d7e0..00000000000 --- a/package/python-pathlib2/python-pathlib2.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-pathlib2 -# -################################################################################ - -PYTHON_PATHLIB2_VERSION = 2.3.5 -PYTHON_PATHLIB2_SOURCE = pathlib2-$(PYTHON_PATHLIB2_VERSION).tar.gz -PYTHON_PATHLIB2_SITE = https://files.pythonhosted.org/packages/94/d8/65c86584e7e97ef824a1845c72bbe95d79f5b306364fa778a3c3e401b309 -PYTHON_PATHLIB2_LICENSE = MIT -PYTHON_PATHLIB2_LICENSE_FILES = LICENSE.rst -PYTHON_PATHLIB2_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-pathpy/Config.in b/package/python-pathpy/Config.in index 7c7ffc9e92d..98c05126bff 100644 --- a/package/python-pathpy/Config.in +++ b/package/python-pathpy/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PATHPY bool "python-pathpy" - depends on BR2_PACKAGE_PYTHON3 help path.py implements a path objects as first-class entities, allowing common operations on files to diff --git a/package/python-pathvalidate/python-pathvalidate.hash b/package/python-pathvalidate/python-pathvalidate.hash index db1190fc77c..adf1a75dcad 100644 --- a/package/python-pathvalidate/python-pathvalidate.hash +++ b/package/python-pathvalidate/python-pathvalidate.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pathvalidate/json -md5 b0a8242d124a9e760ca2d084a4f8fa75 pathvalidate-0.29.0.tar.gz -sha256 bf250828f40d94881df764950cffca14bb3fa83783d9f239125a6b5e23a5646e pathvalidate-0.29.0.tar.gz +md5 afc0343cd8c4ad732431a8b860d73330 pathvalidate-2.5.0.tar.gz +sha256 119ba36be7e9a405d704c7b7aea4b871c757c53c9adc0ed64f40be1ed8da2781 pathvalidate-2.5.0.tar.gz # Locally computed sha256 checksums -sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE +sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-pathvalidate/python-pathvalidate.mk b/package/python-pathvalidate/python-pathvalidate.mk index ee707e4e250..bb434f36627 100644 --- a/package/python-pathvalidate/python-pathvalidate.mk +++ b/package/python-pathvalidate/python-pathvalidate.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PATHVALIDATE_VERSION = 0.29.0 +PYTHON_PATHVALIDATE_VERSION = 2.5.0 PYTHON_PATHVALIDATE_SOURCE = pathvalidate-$(PYTHON_PATHVALIDATE_VERSION).tar.gz -PYTHON_PATHVALIDATE_SITE = https://files.pythonhosted.org/packages/fc/3f/7a96e26d36b7e99abc9c236ff6db2de2d98e59fed45f9932eb0d17d48473 +PYTHON_PATHVALIDATE_SITE = https://files.pythonhosted.org/packages/2e/89/7853a1ea323e848ab1e90c8930733bc19e35a935deb80d78b572c36ea33f PYTHON_PATHVALIDATE_SETUP_TYPE = setuptools PYTHON_PATHVALIDATE_LICENSE = MIT PYTHON_PATHVALIDATE_LICENSE_FILES = LICENSE diff --git a/package/python-pbr/python-pbr.hash b/package/python-pbr/python-pbr.hash index cca9de0178a..8cf2a18d360 100644 --- a/package/python-pbr/python-pbr.hash +++ b/package/python-pbr/python-pbr.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pbr/json -md5 477d2aa285ad97250a172b199f4060b7 pbr-5.4.3.tar.gz -sha256 2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8 pbr-5.4.3.tar.gz +md5 62565acc6bf3e7e10b082463421f8b46 pbr-5.6.0.tar.gz +sha256 42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd pbr-5.6.0.tar.gz # Locally computed sha256 checksums -sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 LICENSE -sha256 eb4a8c8791f6caab1cf36df26db2b6f4e2ddda52657b060ff7f02abc63910aef pbr/tests/testpackage/LICENSE.txt +sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 LICENSE +sha256 eb4a8c8791f6caab1cf36df26db2b6f4e2ddda52657b060ff7f02abc63910aef pbr/tests/testpackage/LICENSE.txt diff --git a/package/python-pbr/python-pbr.mk b/package/python-pbr/python-pbr.mk index 12b5b56811c..3cc7ab81fad 100644 --- a/package/python-pbr/python-pbr.mk +++ b/package/python-pbr/python-pbr.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PBR_VERSION = 5.4.3 +PYTHON_PBR_VERSION = 5.6.0 PYTHON_PBR_SOURCE = pbr-$(PYTHON_PBR_VERSION).tar.gz -PYTHON_PBR_SITE = https://files.pythonhosted.org/packages/99/f1/7807d3409c79905a907f1c616d910c921b2a8e73c17b2969930318f44777 +PYTHON_PBR_SITE = https://files.pythonhosted.org/packages/35/8c/69ed04ae31ad498c9bdea55766ed4c0c72de596e75ac0d70b58aa25e0acf PYTHON_PBR_SETUP_TYPE = setuptools PYTHON_PBR_LICENSE = Apache-2.0 (module), BSD-3-Clause (test package) PYTHON_PBR_LICENSE_FILES = LICENSE pbr/tests/testpackage/LICENSE.txt diff --git a/package/python-pep517/python-pep517.hash b/package/python-pep517/python-pep517.hash new file mode 100644 index 00000000000..4dd4c47fa06 --- /dev/null +++ b/package/python-pep517/python-pep517.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pep517/json +md5 7ed0adb5f737c316e071d48d66329a5d pep517-0.12.0.tar.gz +sha256 931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 pep517-0.12.0.tar.gz +# Locally computed sha256 checksums +sha256 1b22b049b5267d6dfc23a67bf4a84d8ec04b9fdfb1a51d360e42b4342c8b4154 LICENSE diff --git a/package/python-pep517/python-pep517.mk b/package/python-pep517/python-pep517.mk new file mode 100644 index 00000000000..99aa62d51da --- /dev/null +++ b/package/python-pep517/python-pep517.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-pep517 +# +################################################################################ + +PYTHON_PEP517_VERSION = 0.12.0 +PYTHON_PEP517_SOURCE = pep517-$(PYTHON_PEP517_VERSION).tar.gz +PYTHON_PEP517_SITE = https://files.pythonhosted.org/packages/0a/65/6e656d49c679136edfba25f25791f45ffe1ea4ae2ec1c59fe9c35e061cd1 +PYTHON_PEP517_LICENSE = MIT +PYTHON_PEP517_LICENSE_FILES = LICENSE +PYTHON_PEP517_SETUP_TYPE = distutils +HOST_PYTHON_PEP517_DEPENDENCIES = host-python-tomli + +$(eval $(host-python-package)) diff --git a/package/python-periphery/python-periphery.hash b/package/python-periphery/python-periphery.hash index 13636d17ad0..24e104d3ad5 100644 --- a/package/python-periphery/python-periphery.hash +++ b/package/python-periphery/python-periphery.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2c2482d026afc974ba5a966cd2c3a724ecf55e253223a9ea80fc98f77a3ca414 python-periphery-2.1.0.tar.gz -sha256 4a2ed465d05c7ec58bb5a8cd7d2475a2d423bb73cb9bc3e3565500c222d03dc8 LICENSE +sha256 385716bdbd11fcf2c5728548c3d42f12ebc0974faa64fa1a98b89b4a44dc004c python-periphery-2.3.0.tar.gz +sha256 76fe342043adfe8d9453c4979aa165476875137e15b0ddea1f4c3f3fa9808361 LICENSE diff --git a/package/python-periphery/python-periphery.mk b/package/python-periphery/python-periphery.mk index c322ded3b59..2c533fa2c22 100644 --- a/package/python-periphery/python-periphery.mk +++ b/package/python-periphery/python-periphery.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_PERIPHERY_VERSION = 2.1.0 +PYTHON_PERIPHERY_VERSION = 2.3.0 PYTHON_PERIPHERY_SITE = $(call github,vsergeev,python-periphery,v$(PYTHON_PERIPHERY_VERSION)) PYTHON_PERIPHERY_LICENSE = MIT PYTHON_PERIPHERY_LICENSE_FILES = LICENSE diff --git a/package/python-pexpect/python-pexpect.mk b/package/python-pexpect/python-pexpect.mk index a9609cbe79c..3efda268258 100644 --- a/package/python-pexpect/python-pexpect.mk +++ b/package/python-pexpect/python-pexpect.mk @@ -11,14 +11,4 @@ PYTHON_PEXPECT_LICENSE = ISC PYTHON_PEXPECT_LICENSE_FILES = LICENSE PYTHON_PEXPECT_SETUP_TYPE = distutils -# async.py is not usable with Python 2, and removing is the solution -# recommended by upstream: -# https://github.com/pexpect/pexpect/issues/290 -ifeq ($(BR2_PACKAGE_PYTHON),y) -define PYTHON_PEXPECT_REMOVE_ASYNC_PY - $(RM) $(@D)/pexpect/_async.py -endef -PYTHON_PEXPECT_POST_PATCH_HOOKS += PYTHON_PEXPECT_REMOVE_ASYNC_PY -endif - $(eval $(python-package)) diff --git a/package/python-pickleshare/Config.in b/package/python-pickleshare/Config.in index 35a26637a58..18391b7ce82 100644 --- a/package/python-pickleshare/Config.in +++ b/package/python-pickleshare/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PICKLESHARE bool "python-pickleshare" - select BR2_PACKAGE_PYTHON_PATHLIB2 if BR2_PACKAGE_PYTHON # runtime help Tiny 'shelve'-like database with concurrency support diff --git a/package/python-piexif/Config.in b/package/python-piexif/Config.in index 2f7eff80b57..1c8c31b9c65 100644 --- a/package/python-piexif/Config.in +++ b/package/python-piexif/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PIEXIF bool "python-piexif" - depends on BR2_PACKAGE_PYTHON3 help Piexif simplifies interacting with EXIF data in Python. It includes the tools necessary for extracting, creating, diff --git a/package/python-pillow/0001-Search-pkg-config-system-libs-cflags.patch b/package/python-pillow/0001-Search-pkg-config-system-libs-cflags.patch new file mode 100644 index 00000000000..d0552ce0f48 --- /dev/null +++ b/package/python-pillow/0001-Search-pkg-config-system-libs-cflags.patch @@ -0,0 +1,33 @@ +From 9ea46247048f861f088f09541cd434aeb16e6f9c Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Tue, 15 Mar 2022 23:31:59 -0600 +Subject: [PATCH] Search pkg-config system libs/cflags. + +We need to search the system paths as well from pkg-config for +some packages to be found properly. + +Signed-off-by: James Hilliard +[james.hilliard1@gmail.com: backport from upstream commit +9ea46247048f861f088f09541cd434aeb16e6f9c] +--- + setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 9a05e5105..d41aedbd6 100755 +--- a/setup.py ++++ b/setup.py +@@ -252,8 +252,8 @@ def _cmd_exists(cmd): + def _pkg_config(name): + try: + command = os.environ.get("PKG_CONFIG", "pkg-config") +- command_libs = [command, "--libs-only-L", name] +- command_cflags = [command, "--cflags-only-I", name] ++ command_libs = [command, "--libs-only-L", "--keep-system-libs", name] ++ command_cflags = [command, "--cflags-only-I", "--keep-system-cflags", name] + if not DEBUG: + command_libs.append("--silence-errors") + command_cflags.append("--silence-errors") +-- +2.25.1 + diff --git a/package/python-pillow/Config.in b/package/python-pillow/Config.in index ae6d8c8346f..126cb452fa4 100644 --- a/package/python-pillow/Config.in +++ b/package/python-pillow/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PILLOW bool "python-pillow" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime select BR2_PACKAGE_PYTHON3_ZLIB help diff --git a/package/python-pillow/python-pillow.hash b/package/python-pillow/python-pillow.hash index 0849577f660..88a5d7cadae 100644 --- a/package/python-pillow/python-pillow.hash +++ b/package/python-pillow/python-pillow.hash @@ -1,4 +1,6 @@ -# md5, sha256 from https://pypi.org/project/Pillow/ -sha256 11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e Pillow-8.0.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/pillow/json +md5 8deffccb4f402df154fd2fd504d8487c Pillow-9.0.1.tar.gz +sha256 6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa Pillow-9.0.1.tar.gz + # Locally computed sha256 checksums -sha256 37de42abe33a247e8f03d2313657a0f174a239a198f526add6544ff3e2643b81 LICENSE +sha256 a6554cb737ba6c9b47d3301f78de03b4ed0d3f08d6cf9400714f3d4c894f6943 LICENSE diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index 60a0bb3e1b9..1d99f44fa1d 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,13 +4,18 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 8.0.1 -PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/2b/06/93bf1626ef36815010e971a5ce90f49919d84ab5d2fa310329f843a74bc1 +PYTHON_PILLOW_VERSION = 9.0.1 +PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/03/a3/f61a9a7ff7969cdef2a6e0383a346eb327495d20d25a2de5a088dbb543a6 PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz -PYTHON_PILLOW_LICENSE = PIL Software License +PYTHON_PILLOW_LICENSE = HPND PYTHON_PILLOW_LICENSE_FILES = LICENSE +PYTHON_PILLOW_CPE_ID_VENDOR = python +PYTHON_PILLOW_CPE_ID_PRODUCT = pillow PYTHON_PILLOW_SETUP_TYPE = setuptools -PYTHON_PILLOW_BUILD_OPTS = --disable-platform-guessing + +PYTHON_PILLOW_DEPENDENCIES = host-pkgconf +PYTHON_PILLOW_BUILD_OPTS = build_ext --disable-platform-guessing +PYTHON_PILLOW_INSTALL_TARGET_OPTS = $(PYTHON_PILLOW_BUILD_OPTS) ifeq ($(BR2_PACKAGE_FREETYPE),y) PYTHON_PILLOW_DEPENDENCIES += freetype @@ -26,6 +31,20 @@ else PYTHON_PILLOW_BUILD_OPTS += --disable-jpeg endif +ifeq ($(BR2_PACKAGE_LCMS2),y) +PYTHON_PILLOW_DEPENDENCIES += lcms2 +PYTHON_PILLOW_BUILD_OPTS += --enable-lcms +else +PYTHON_PILLOW_BUILD_OPTS += --disable-lcms +endif + +ifeq ($(BR2_PACKAGE_LIBXCB),y) +PYTHON_PILLOW_DEPENDENCIES += libxcb +PYTHON_PILLOW_BUILD_OPTS += --enable-xcb +else +PYTHON_PILLOW_BUILD_OPTS += --disable-xcb +endif + ifeq ($(BR2_PACKAGE_OPENJPEG),y) PYTHON_PILLOW_DEPENDENCIES += openjpeg PYTHON_PILLOW_BUILD_OPTS += --enable-jpeg2000 @@ -43,26 +62,13 @@ endif ifeq ($(BR2_PACKAGE_WEBP),y) PYTHON_PILLOW_DEPENDENCIES += webp PYTHON_PILLOW_BUILD_OPTS += --enable-webp +ifeq ($(BR2_PACKAGE_WEBP_DEMUX)$(BR2_PACKAGE_WEBP_MUX),yy) +PYTHON_PILLOW_BUILD_OPTS += --enable-webpmux else -PYTHON_PILLOW_BUILD_OPTS += --disable-webp +PYTHON_PILLOW_BUILD_OPTS += --disable-webpmux +endif +else +PYTHON_PILLOW_BUILD_OPTS += --disable-webp --disable-webpmux endif - -define PYTHON_PILLOW_BUILD_CMDS - cd $(PYTHON_PILLOW_BUILDDIR); \ - PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ - $(PYTHON_PILLOW_BASE_ENV) $(PYTHON_PILLOW_ENV) \ - $(PYTHON_PILLOW_PYTHON_INTERPRETER) setup.py build_ext \ - $(PYTHON_PILLOW_BASE_BUILD_OPTS) $(PYTHON_PILLOW_BUILD_OPTS) -endef - -define PYTHON_PILLOW_INSTALL_TARGET_CMDS - cd $(PYTHON_PILLOW_BUILDDIR); \ - PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ - $(PYTHON_PILLOW_BASE_ENV) $(PYTHON_PILLOW_ENV) \ - $(PYTHON_PILLOW_PYTHON_INTERPRETER) setup.py build_ext \ - $(PYTHON_PILLOW_BUILD_OPTS) install \ - $(PYTHON_PILLOW_BASE_INSTALL_TARGET_OPTS) \ - $(PYTHON_PILLOW_INSTALL_TARGET_OPTS) -endef $(eval $(python-package)) diff --git a/package/python-pip/Config.in b/package/python-pip/Config.in index 61d8d7d3176..805dc015457 100644 --- a/package/python-pip/Config.in +++ b/package/python-pip/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_PIP bool "python-pip" - select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_SSL help The PyPA recommended tool for installing Python packages. diff --git a/package/python-pip/python-pip.hash b/package/python-pip/python-pip.hash index 58bc2391545..69214110f87 100644 --- a/package/python-pip/python-pip.hash +++ b/package/python-pip/python-pip.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pip/json -md5 7d42ba49b809604f0df3d55df1c3fd86 pip-20.0.2.tar.gz -sha256 7db0c8ea4c7ea51c8049640e8e6e7fde949de672bfa4949920675563a5a6967f pip-20.0.2.tar.gz +md5 efbdb4201a5e6383fb4d12e26f78f355 pip-21.2.4.tar.gz +sha256 0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b pip-21.2.4.tar.gz # Locally computed sha256 checksums -sha256 5ba21fbb0964f936ad7d15362d1ed6d4931cc8c8f9ff2d4d91190e109be74431 LICENSE.txt +sha256 23a7361c2b1581028bc623b9da2bd24997abcaa4781ace6ad444a37944f8dae1 LICENSE.txt diff --git a/package/python-pip/python-pip.mk b/package/python-pip/python-pip.mk index cc40eecdfe2..81fc87d5f0c 100644 --- a/package/python-pip/python-pip.mk +++ b/package/python-pip/python-pip.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_PIP_VERSION = 20.0.2 +PYTHON_PIP_VERSION = 21.2.4 PYTHON_PIP_SOURCE = pip-$(PYTHON_PIP_VERSION).tar.gz -PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/8e/76/66066b7bc71817238924c7e4b448abdb17eb0c92d645769c223f9ace478f +PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/52/e1/06c018197d8151383f66ebf6979d951995cf495629fc54149491f5d157d0 PYTHON_PIP_SETUP_TYPE = setuptools PYTHON_PIP_LICENSE = MIT PYTHON_PIP_LICENSE_FILES = LICENSE.txt +PYTHON_PIP_CPE_ID_VENDOR = pypa +PYTHON_PIP_CPE_ID_PRODUCT = pip $(eval $(python-package)) diff --git a/package/python-pluggy/Config.in b/package/python-pluggy/Config.in index 7179bc427ce..35b18c824f9 100644 --- a/package/python-pluggy/Config.in +++ b/package/python-pluggy/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PLUGGY bool "python-pluggy" - depends on BR2_PACKAGE_PYTHON3 help plugin and hook calling mechanisms for python. diff --git a/package/python-pluggy/python-pluggy.hash b/package/python-pluggy/python-pluggy.hash index 24e207bfad6..39f172a82b6 100644 --- a/package/python-pluggy/python-pluggy.hash +++ b/package/python-pluggy/python-pluggy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pluggy/json -md5 7f610e28b8b34487336b585a3dfb803d pluggy-0.13.1.tar.gz -sha256 15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 pluggy-0.13.1.tar.gz +md5 daa6fddfb6cd364f3c82e52098911e4b pluggy-1.0.0.tar.gz +sha256 4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159 pluggy-1.0.0.tar.gz # Locally computed sha256 checksums sha256 d6b65e6c213a5d0b577911d34d6e5949b9f59d76c238c5071a2f3fc16cfb2606 LICENSE diff --git a/package/python-pluggy/python-pluggy.mk b/package/python-pluggy/python-pluggy.mk index 03cdecf4b9a..59382518ed7 100644 --- a/package/python-pluggy/python-pluggy.mk +++ b/package/python-pluggy/python-pluggy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PLUGGY_VERSION = 0.13.1 +PYTHON_PLUGGY_VERSION = 1.0.0 PYTHON_PLUGGY_SOURCE = pluggy-$(PYTHON_PLUGGY_VERSION).tar.gz -PYTHON_PLUGGY_SITE = https://files.pythonhosted.org/packages/f8/04/7a8542bed4b16a65c2714bf76cf5a0b026157da7f75e87cc88774aa10b14 +PYTHON_PLUGGY_SITE = https://files.pythonhosted.org/packages/a1/16/db2d7de3474b6e37cbb9c008965ee63835bba517e22cdb8c35b5116b5ce1 PYTHON_PLUGGY_SETUP_TYPE = setuptools PYTHON_PLUGGY_LICENSE = MIT PYTHON_PLUGGY_LICENSE_FILES = LICENSE diff --git a/package/python-ply/python-ply.mk b/package/python-ply/python-ply.mk index 50a3e32bc2d..5dc7964d5fd 100644 --- a/package/python-ply/python-ply.mk +++ b/package/python-ply/python-ply.mk @@ -4,7 +4,6 @@ # ################################################################################ -# Please keep in sync with package/python3-ply/python3-ply.mk PYTHON_PLY_VERSION = 3.11 PYTHON_PLY_SOURCE = ply-$(PYTHON_PLY_VERSION).tar.gz PYTHON_PLY_SITE = https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da diff --git a/package/python-portend/Config.in b/package/python-portend/Config.in index 30a50c7f61f..6b21078caac 100644 --- a/package/python-portend/Config.in +++ b/package/python-portend/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PORTEND bool "python-portend" - depends on BR2_PACKAGE_PYTHON3 # python-tempora select BR2_PACKAGE_PYTHON_TEMPORA # runtime help TCP port monitoring utilities. diff --git a/package/python-posix-ipc/python-posix-ipc.hash b/package/python-posix-ipc/python-posix-ipc.hash index d267cabc889..4258af6348e 100644 --- a/package/python-posix-ipc/python-posix-ipc.hash +++ b/package/python-posix-ipc/python-posix-ipc.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/posix-ipc/json -md5 c4fd0065244ccb2f59cb8ceedf287cf6 posix_ipc-1.0.4.tar.gz -sha256 ff6c9077633fc62a491d6997c43b094d885bb45a7ca1f36c9a0d647c54b74b14 posix_ipc-1.0.4.tar.gz +md5 8c9443859492ecf3aae9182aa6b5c78c posix_ipc-1.0.5.tar.gz +sha256 6cddb1ce2cf4aae383f2a0079c26c69bee257fe2720f372201ef047f8ceb8b97 posix_ipc-1.0.5.tar.gz # Locally computed sha256 checksums -sha256 61f0669e70518e6d32f87e485965fe9309de60e4bef938b29cecd068b3db9a98 LICENSE +sha256 61f0669e70518e6d32f87e485965fe9309de60e4bef938b29cecd068b3db9a98 LICENSE diff --git a/package/python-posix-ipc/python-posix-ipc.mk b/package/python-posix-ipc/python-posix-ipc.mk index d4429f117ec..359dee6d7ce 100644 --- a/package/python-posix-ipc/python-posix-ipc.mk +++ b/package/python-posix-ipc/python-posix-ipc.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_POSIX_IPC_VERSION = 1.0.4 +PYTHON_POSIX_IPC_VERSION = 1.0.5 PYTHON_POSIX_IPC_SOURCE = posix_ipc-$(PYTHON_POSIX_IPC_VERSION).tar.gz -PYTHON_POSIX_IPC_SITE = https://files.pythonhosted.org/packages/c9/3e/54217da71aa26b488295d878df4d3132093253b4ae5798ac66fcb6921ef0 +PYTHON_POSIX_IPC_SITE = https://files.pythonhosted.org/packages/bc/2f/9a7901aa26fb0e02a671b989ba814d059a0f45af85cea31b9c9eef7e2dda PYTHON_POSIX_IPC_LICENSE = BSD-3-Clause PYTHON_POSIX_IPC_LICENSE_FILES = LICENSE PYTHON_POSIX_IPC_SETUP_TYPE = setuptools diff --git a/package/python-priority/python-priority.hash b/package/python-priority/python-priority.hash index c9473757000..88fc9adac1c 100644 --- a/package/python-priority/python-priority.hash +++ b/package/python-priority/python-priority.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/priority/json -md5 4f1ff52f7fa448e9d9cb46337ae86d1e priority-1.3.0.tar.gz -# Locally computed -sha256 6bc1961a6d7fcacbfc337769f1a382c8e746566aaa365e78047abe9f66b2ffbe priority-1.3.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/priority/json +md5 149531bf0e754782cf218bfc8cc994ae priority-2.0.0.tar.gz +sha256 c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0 priority-2.0.0.tar.gz +# Locally computed sha256 checksums sha256 f3e9c29e3db36dc305a4be68a8a225f93949852ce2d19b5b0a3c099eee6509c5 LICENSE diff --git a/package/python-priority/python-priority.mk b/package/python-priority/python-priority.mk index 8b6dbc1e4f5..6e141c3e370 100644 --- a/package/python-priority/python-priority.mk +++ b/package/python-priority/python-priority.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PRIORITY_VERSION = 1.3.0 +PYTHON_PRIORITY_VERSION = 2.0.0 PYTHON_PRIORITY_SOURCE = priority-$(PYTHON_PRIORITY_VERSION).tar.gz -PYTHON_PRIORITY_SITE = https://pypi.python.org/packages/ba/96/7d0b024087062418dfe02a68cd6b195399266ac002fb517aad94cc93e076 +PYTHON_PRIORITY_SITE = https://files.pythonhosted.org/packages/f5/3c/eb7c35f4dcede96fca1842dac5f4f5d15511aa4b52f3a961219e68ae9204 PYTHON_PRIORITY_SETUP_TYPE = setuptools PYTHON_PRIORITY_LICENSE = MIT PYTHON_PRIORITY_LICENSE_FILES = LICENSE diff --git a/package/python-prompt-toolkit/Config.in b/package/python-prompt-toolkit/Config.in index 1066e166d90..ad4f8162de3 100644 --- a/package/python-prompt-toolkit/Config.in +++ b/package/python-prompt-toolkit/Config.in @@ -2,10 +2,9 @@ config BR2_PACKAGE_PYTHON_PROMPT_TOOLKIT bool "python-prompt-toolkit" select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_WCWIDTH # runtime - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime help Library for building powerful interactive command lines in Python. - https://github.com/jonathanslenders/python-prompt-toolkit + https://github.com/prompt-toolkit/python-prompt-toolkit diff --git a/package/python-prompt-toolkit/python-prompt-toolkit.hash b/package/python-prompt-toolkit/python-prompt-toolkit.hash index 2d0c7ec95ea..5a24634a56e 100644 --- a/package/python-prompt-toolkit/python-prompt-toolkit.hash +++ b/package/python-prompt-toolkit/python-prompt-toolkit.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/prompt-toolkit/json -md5 5016c523e603cd7119644fbc0f00ce53 prompt_toolkit-2.0.10.tar.gz -sha256 f15af68f66e664eaa559d4ac8a928111eebd5feda0c11738b5998045224829db prompt_toolkit-2.0.10.tar.gz +md5 ba9e63c3e7e5a4f4ce4e4770a4daba96 prompt_toolkit-3.0.20.tar.gz +sha256 eb71d5a6b72ce6db177af4a7d4d7085b99756bf656d98ffcc4fecd36850eea6c prompt_toolkit-3.0.20.tar.gz # Locally computed sha256 checksums -sha256 303574d9bdd85c757d6025017942bf17baeedf2778f62bd7f425d07d880f4c4a LICENSE +sha256 303574d9bdd85c757d6025017942bf17baeedf2778f62bd7f425d07d880f4c4a LICENSE diff --git a/package/python-prompt-toolkit/python-prompt-toolkit.mk b/package/python-prompt-toolkit/python-prompt-toolkit.mk index 183c7d258ba..b575783f96c 100644 --- a/package/python-prompt-toolkit/python-prompt-toolkit.mk +++ b/package/python-prompt-toolkit/python-prompt-toolkit.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PROMPT_TOOLKIT_VERSION = 2.0.10 +PYTHON_PROMPT_TOOLKIT_VERSION = 3.0.20 PYTHON_PROMPT_TOOLKIT_SOURCE = prompt_toolkit-$(PYTHON_PROMPT_TOOLKIT_VERSION).tar.gz -PYTHON_PROMPT_TOOLKIT_SITE = https://files.pythonhosted.org/packages/0c/37/7ad3bf3c6dbe96facf9927ddf066fdafa0f86766237cff32c3c7355d3b7c +PYTHON_PROMPT_TOOLKIT_SITE = https://files.pythonhosted.org/packages/b4/56/9ab5868f34ab2657fba7e2192f41316252ab04edbbeb2a8583759960a1a7 PYTHON_PROMPT_TOOLKIT_SETUP_TYPE = setuptools PYTHON_PROMPT_TOOLKIT_LICENSE = BSD-3-Clause PYTHON_PROMPT_TOOLKIT_LICENSE_FILES = LICENSE diff --git a/package/python-protobuf/python-protobuf.hash b/package/python-protobuf/python-protobuf.hash index c8762b54160..2bfef966763 100644 --- a/package/python-protobuf/python-protobuf.hash +++ b/package/python-protobuf/python-protobuf.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 969019c5fd9c1345f0b34afa06ab2664c1441d159d5ae87ded5fa01d79f028c1 protobuf-python-3.14.0.tar.gz +sha256 2286615a3ae3e24c3524d171b6728b77b72cd2f3aab905f6a8d3fcaf6209dd00 protobuf-python-3.19.1.tar.gz sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE diff --git a/package/python-psutil/python-psutil.hash b/package/python-psutil/python-psutil.hash index 1a053cc3681..552ced55ec0 100644 --- a/package/python-psutil/python-psutil.hash +++ b/package/python-psutil/python-psutil.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/psutil/json -md5 50bf39b4faa268ba1da8a9730bb38bb6 psutil-5.7.2.tar.gz -sha256 90990af1c3c67195c44c9a889184f84f5b2320dce3ee3acbd054e3ba0b4a7beb psutil-5.7.2.tar.gz +md5 91060da163ef478002a4456dd99cbb4c psutil-5.8.0.tar.gz +sha256 0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6 psutil-5.8.0.tar.gz # Locally computed sha256 checksums sha256 24c12984500caa07ffdce19eebc06396c5e6d244b573bc6c438f4a6ef8e56c1b LICENSE diff --git a/package/python-psutil/python-psutil.mk b/package/python-psutil/python-psutil.mk index 19d97a6f972..3a2781c2848 100644 --- a/package/python-psutil/python-psutil.mk +++ b/package/python-psutil/python-psutil.mk @@ -4,12 +4,14 @@ # ################################################################################ -# Please keep in sync with package/python3-psutil/python3-psutil.mk -PYTHON_PSUTIL_VERSION = 5.7.2 +PYTHON_PSUTIL_VERSION = 5.8.0 PYTHON_PSUTIL_SOURCE = psutil-$(PYTHON_PSUTIL_VERSION).tar.gz -PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/aa/3e/d18f2c04cf2b528e18515999b0c8e698c136db78f62df34eee89cee205f1 +PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/e1/b0/7276de53321c12981717490516b7e612364f2cb372ee8901bd4a66a000d7 PYTHON_PSUTIL_SETUP_TYPE = setuptools PYTHON_PSUTIL_LICENSE = BSD-3-Clause PYTHON_PSUTIL_LICENSE_FILES = LICENSE +PYTHON_PSUTIL_CPE_ID_VENDOR = psutil_project +PYTHON_PSUTIL_CPE_ID_PRODUCT = psutil $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-psycopg2/Config.in b/package/python-psycopg2/Config.in index 5ffe179517f..4aa86c76908 100644 --- a/package/python-psycopg2/Config.in +++ b/package/python-psycopg2/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PYTHON_PSYCOPG2 bool "python-psycopg2" depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Psycopg is the most popular PostgreSQL database adapter for @@ -21,5 +22,9 @@ config BR2_PACKAGE_PYTHON_PSYCOPG2 Psycopg 2 is both Unicode and Python 3 friendly. http://initd.org/psycopg/ + comment "python-psycopg2 needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR + +comment "python-psycopg2 can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/python-psycopg2/python-psycopg2.hash b/package/python-psycopg2/python-psycopg2.hash index bf73f8ad258..d02ffc2ec8c 100644 --- a/package/python-psycopg2/python-psycopg2.hash +++ b/package/python-psycopg2/python-psycopg2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/psycopg2/json -md5 c232ff3e3bfee35e1a0e15bc089cb294 psycopg2-2.8.5.tar.gz -sha256 f7d46240f7a1ae1dd95aab38bd74f7428d46531f69219954266d669da60c0818 psycopg2-2.8.5.tar.gz +md5 182e3e8cf3381c254f65f70cad4976e5 psycopg2-2.9.1.tar.gz +sha256 de5303a6f1d0a7a34b9d40e4d3bef684ccc44a49bbe3eb85e3c0bffb4a131b7c psycopg2-2.9.1.tar.gz # Locally computed sha256 checksums sha256 9614b85dfc9a72c5b2ca33144c1d7e1ed3b1c297459d9fb28a6a5762c2e8d71b LICENSE diff --git a/package/python-psycopg2/python-psycopg2.mk b/package/python-psycopg2/python-psycopg2.mk index b6f1f6ab701..de466e2c590 100644 --- a/package/python-psycopg2/python-psycopg2.mk +++ b/package/python-psycopg2/python-psycopg2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSYCOPG2_VERSION = 2.8.5 +PYTHON_PSYCOPG2_VERSION = 2.9.1 PYTHON_PSYCOPG2_SOURCE = psycopg2-$(PYTHON_PSYCOPG2_VERSION).tar.gz -PYTHON_PSYCOPG2_SITE = https://files.pythonhosted.org/packages/a8/8f/1c5690eebf148d1d1554fc00ccf9101e134636553dbb75bdfef4f85d7647 +PYTHON_PSYCOPG2_SITE = https://files.pythonhosted.org/packages/aa/8a/7c80e7e44fb1b4277e89bd9ca509aefdd4dd1b2c547c6f293afe9f7ffd04 PYTHON_PSYCOPG2_SETUP_TYPE = setuptools PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+ PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE diff --git a/package/python-ptyprocess/python-ptyprocess.hash b/package/python-ptyprocess/python-ptyprocess.hash index 3af431a7561..bbd24b33eff 100644 --- a/package/python-ptyprocess/python-ptyprocess.hash +++ b/package/python-ptyprocess/python-ptyprocess.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ptyprocess/json -md5 37402d69f3b50913d4d483587bffad8f ptyprocess-0.6.0.tar.gz -sha256 923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0 ptyprocess-0.6.0.tar.gz +md5 9da200c397cb1752209a6b718b6cfc68 ptyprocess-0.7.0.tar.gz +sha256 5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 ptyprocess-0.7.0.tar.gz # Locally computed sha256 checksums -sha256 c822d385b1a73329846241799becf18690b5d44764c1bed69300b536a405030a LICENSE +sha256 c822d385b1a73329846241799becf18690b5d44764c1bed69300b536a405030a LICENSE diff --git a/package/python-ptyprocess/python-ptyprocess.mk b/package/python-ptyprocess/python-ptyprocess.mk index 45102e9aa74..d077fbb7799 100644 --- a/package/python-ptyprocess/python-ptyprocess.mk +++ b/package/python-ptyprocess/python-ptyprocess.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_PTYPROCESS_VERSION = 0.6.0 -PYTHON_PTYPROCESS_SITE = https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0 +PYTHON_PTYPROCESS_VERSION = 0.7.0 +PYTHON_PTYPROCESS_SITE = https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e PYTHON_PTYPROCESS_SOURCE = ptyprocess-$(PYTHON_PTYPROCESS_VERSION).tar.gz PYTHON_PTYPROCESS_LICENSE = ISC PYTHON_PTYPROCESS_LICENSE_FILES = LICENSE diff --git a/package/python-pudb/Config.in b/package/python-pudb/Config.in index d4a4f73e6ad..06f1b20c263 100644 --- a/package/python-pudb/Config.in +++ b/package/python-pudb/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_PYTHON_PUDB bool "python-pudb" select BR2_PACKAGE_PYTHON_URWID # runtime + select BR2_PACKAGE_PYTHON_JEDI # runtime select BR2_PACKAGE_PYTHON_PYGMENTS # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_CURSES if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_CURSES if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_CURSES # runtime help A full-screen, console-based Python debugger. diff --git a/package/python-pudb/python-pudb.hash b/package/python-pudb/python-pudb.hash index b3c089b85fe..fc19f589d91 100644 --- a/package/python-pudb/python-pudb.hash +++ b/package/python-pudb/python-pudb.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pudb/json -md5 4c024311d3f53bc189084821e7ef7d5e pudb-2019.1.tar.gz -sha256 ac30cfc64580958ab7265decb4cabb9141f08781ff072e9a336d5a7942ce35a6 pudb-2019.1.tar.gz +md5 100b955e103b72279604420bbdcd07a5 pudb-2021.1.tar.gz +sha256 309ee82b45a0ffca0bc4c7f521fd3e357589c764f339bdf9dcabb7ad40692d6e pudb-2021.1.tar.gz # Locally computed sha256 checksums -sha256 a95343fffff49cde3d9bf33cf6bb71cb3bf0ed83f47d98a7ba04b175d29c79ab LICENSE +sha256 a95343fffff49cde3d9bf33cf6bb71cb3bf0ed83f47d98a7ba04b175d29c79ab LICENSE diff --git a/package/python-pudb/python-pudb.mk b/package/python-pudb/python-pudb.mk index 6a462bf3e5c..31df3147d09 100644 --- a/package/python-pudb/python-pudb.mk +++ b/package/python-pudb/python-pudb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PUDB_VERSION = 2019.1 +PYTHON_PUDB_VERSION = 2021.1 PYTHON_PUDB_SOURCE = pudb-$(PYTHON_PUDB_VERSION).tar.gz -PYTHON_PUDB_SITE = https://files.pythonhosted.org/packages/32/2a/96f72649e5dfc90cf69d8590c00884c6897d6cbc54f727fb40f47b4faae3 +PYTHON_PUDB_SITE = https://files.pythonhosted.org/packages/c7/69/813e93519fc28744457ff68fa2eaac3b4ea30dda1e6994e969fe9d3008d9 PYTHON_PUDB_SETUP_TYPE = setuptools PYTHON_PUDB_LICENSE = MIT PYTHON_PUDB_LICENSE_FILES = LICENSE diff --git a/package/python-py/python-py.hash b/package/python-py/python-py.hash index 98e16fd97ba..2d9928f3768 100644 --- a/package/python-py/python-py.hash +++ b/package/python-py/python-py.hash @@ -1,5 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/py/json -md5 b80db4e61eef724f49feb4d20b649e62 py-1.9.0.tar.gz -sha256 9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342 py-1.9.0.tar.gz +md5 5f108bfe00d5468cbdb8071051f86a55 py-1.10.0.tar.gz +sha256 21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3 py-1.10.0.tar.gz # Locally computed sha256 checksums sha256 2af680c39ef493fb82830356d1d3df1acb5a06033cba2dec7a19e21caa77a866 LICENSE +sha256 2af680c39ef493fb82830356d1d3df1acb5a06033cba2dec7a19e21caa77a866 py/_vendored_packages/iniconfig-1.1.1.dist-info/LICENSE diff --git a/package/python-py/python-py.mk b/package/python-py/python-py.mk index c7531839339..d8cb6fa544f 100644 --- a/package/python-py/python-py.mk +++ b/package/python-py/python-py.mk @@ -4,12 +4,14 @@ # ################################################################################ -PYTHON_PY_VERSION = 1.9.0 +PYTHON_PY_VERSION = 1.10.0 PYTHON_PY_SOURCE = py-$(PYTHON_PY_VERSION).tar.gz -PYTHON_PY_SITE = https://files.pythonhosted.org/packages/97/a6/ab9183fe08f69a53d06ac0ee8432bc0ffbb3989c575cc69b73a0229a9a99 +PYTHON_PY_SITE = https://files.pythonhosted.org/packages/0d/8c/50e9f3999419bb7d9639c37e83fa9cdcf0f601a9d407162d6c37ad60be71 PYTHON_PY_DEPENDENCIES = host-python-setuptools-scm PYTHON_PY_SETUP_TYPE = setuptools PYTHON_PY_LICENSE = MIT -PYTHON_PY_LICENSE_FILES = LICENSE +PYTHON_PY_LICENSE_FILES = LICENSE py/_vendored_packages/iniconfig-1.1.1.dist-info/LICENSE +PYTHON_PY_CPE_ID_VENDOR = pytest +PYTHON_PY_CPE_ID_PRODUCT = py $(eval $(python-package)) diff --git a/package/python-pyalsa/python-pyalsa.hash b/package/python-pyalsa/python-pyalsa.hash index c484313b960..655150a649d 100644 --- a/package/python-pyalsa/python-pyalsa.hash +++ b/package/python-pyalsa/python-pyalsa.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 2771291a5d2cf700f0abbe6629ea37468d1463a01b2330d84ef976e1e918676c pyalsa-1.1.6.tar.bz2 +sha256 327b29bad57b049571e3d1f63281fdd21df27447cb5e2eadf46b737fbcff6e69 pyalsa-1.2.6.tar.bz2 diff --git a/package/python-pyalsa/python-pyalsa.mk b/package/python-pyalsa/python-pyalsa.mk index 74f0347d86e..10d5293c2c5 100644 --- a/package/python-pyalsa/python-pyalsa.mk +++ b/package/python-pyalsa/python-pyalsa.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_PYALSA_VERSION = 1.1.6 +PYTHON_PYALSA_VERSION = 1.2.6 PYTHON_PYALSA_SOURCE = pyalsa-$(PYTHON_PYALSA_VERSION).tar.bz2 PYTHON_PYALSA_SITE = ftp://ftp.alsa-project.org/pub/pyalsa PYTHON_PYALSA_SETUP_TYPE = distutils diff --git a/package/python-pybind/0001-pybind11-commands.py-support-STAGING_DIR.patch b/package/python-pybind/0001-pybind11-commands.py-support-STAGING_DIR.patch new file mode 100644 index 00000000000..021321a9b72 --- /dev/null +++ b/package/python-pybind/0001-pybind11-commands.py-support-STAGING_DIR.patch @@ -0,0 +1,35 @@ +From bf9f0d619e2e0a424e471a2f9235d26ece5b348c Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Fri, 7 Jan 2022 19:32:18 +0100 +Subject: [PATCH] pybind11/commands.py: support STAGING_DIR + +In Buildroot, we install build-time python scripts in the host directory +(otherwise they can't be run with host python), but when running +pybind11 --includes it should return the staging directory. + +Patch commands.py to use the STAGING_DIR environment variable instead of +the current directory, if it is set. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +Upstream-Status: N/A, Buildroot specific +--- + pybind11/commands.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pybind11/commands.py b/pybind11/commands.py +index 11f81d2..8c4876d 100644 +--- a/pybind11/commands.py ++++ b/pybind11/commands.py +@@ -1,7 +1,8 @@ + # -*- coding: utf-8 -*- + import os + +-DIR = os.path.abspath(os.path.dirname(__file__)) ++DIR = os.environ.get('STAGING_DIR') or \ ++ os.path.abspath(os.path.dirname(__file__)) + + + def get_include(user=False): +-- +2.31.1 + diff --git a/package/python-pybind/python-pybind.hash b/package/python-pybind/python-pybind.hash index a68ac846e23..d5b4b4829e7 100644 --- a/package/python-pybind/python-pybind.hash +++ b/package/python-pybind/python-pybind.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 cdbe326d357f18b83d10322ba202d69f11b2f49e2d87ade0dc2be0c5c34f8e2a python-pybind-2.6.1.tar.gz +sha256 057fb68dafd972bc13afb855f3b0d8cf0fa1a78ef053e815d9af79be7ff567cb python-pybind-2.9.0.tar.gz # License files, locally calculated sha256 83965b843b98f670d3a85bd041ed4b372c8ec50d7b4a5995a83ac697ba675dcb LICENSE diff --git a/package/python-pybind/python-pybind.mk b/package/python-pybind/python-pybind.mk index a6a1bdb976d..7448d246b2a 100644 --- a/package/python-pybind/python-pybind.mk +++ b/package/python-pybind/python-pybind.mk @@ -4,10 +4,25 @@ # ################################################################################ -PYTHON_PYBIND_VERSION = 2.6.1 +PYTHON_PYBIND_VERSION = 2.9.0 PYTHON_PYBIND_SITE = $(call github,pybind,pybind11,v$(PYTHON_PYBIND_VERSION)) PYTHON_PYBIND_LICENSE = BSD-3-Clause PYTHON_PYBIND_LICENSE_FILES = LICENSE -PYTHON_PYBIND_SETUP_TYPE = setuptools +PYTHON_PYBIND_INSTALL_STAGING = YES +PYTHON_PYBIND_INSTALL_TARGET = NO # Header-only library +PYTHON_PYBIND_DEPENDENCIES = python3 -$(eval $(python-package)) +PYTHON_PYBIND_CONF_OPTS = \ + -DPYBIND11_INSTALL=ON \ + -DPYBIND11_TEST=OFF \ + -DPYBIND11_NOPYTHON=ON + +PYTHON_PYBIND_INSTALL_PATH = $(HOST_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/pybind11 + +define PYTHON_PYBIND_INSTALL_MODULE + mkdir -p $(PYTHON_PYBIND_INSTALL_PATH) + cp -dpf $(@D)/pybind11/*.py $(PYTHON_PYBIND_INSTALL_PATH) +endef +PYTHON_PYBIND_POST_INSTALL_STAGING_HOOKS += PYTHON_PYBIND_INSTALL_MODULE + +$(eval $(cmake-package)) diff --git a/package/python-pycairo/Config.in b/package/python-pycairo/Config.in index a44a0421e65..0d8de977e1e 100644 --- a/package/python-pycairo/Config.in +++ b/package/python-pycairo/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYCAIRO bool "python-pycairo" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_CAIRO help Python interface for cairo. diff --git a/package/python-pycares/Config.in b/package/python-pycares/Config.in index 3452ae6b10b..889e0943be8 100644 --- a/package/python-pycares/Config.in +++ b/package/python-pycares/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYCARES bool "python-pycares" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_CFFI # runtime help Python interface for c-ares. diff --git a/package/python-pycares/python-pycares.hash b/package/python-pycares/python-pycares.hash index c8c46175dcd..85e0848b96f 100644 --- a/package/python-pycares/python-pycares.hash +++ b/package/python-pycares/python-pycares.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pycares/json -md5 8ac802d79b318efa27d3a9949d0604d1 pycares-3.1.1.tar.gz -sha256 18dfd4fd300f570d6c4536c1d987b7b7673b2a9d14346592c5d6ed716df0d104 pycares-3.1.1.tar.gz +md5 9e66aa767a0afd681e2a797b835cad1d pycares-4.1.2.tar.gz +sha256 03490be0e7b51a0c8073f877bec347eff31003f64f57d9518d419d9369452837 pycares-4.1.2.tar.gz # Locally computed sha256 checksums -sha256 427bb3a5372024a26e2c290b24382512bcc7ca123431c4dd178dd613beea7eee LICENSE +sha256 427bb3a5372024a26e2c290b24382512bcc7ca123431c4dd178dd613beea7eee LICENSE diff --git a/package/python-pycares/python-pycares.mk b/package/python-pycares/python-pycares.mk index dea34f82bf0..9be295d900a 100644 --- a/package/python-pycares/python-pycares.mk +++ b/package/python-pycares/python-pycares.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCARES_VERSION = 3.1.1 +PYTHON_PYCARES_VERSION = 4.1.2 PYTHON_PYCARES_SOURCE = pycares-$(PYTHON_PYCARES_VERSION).tar.gz -PYTHON_PYCARES_SITE = https://files.pythonhosted.org/packages/4e/09/f49ef1c4b6a5ad50fc08a8acd015f1938594dd7a6b4a6a96d049d9bbec7d +PYTHON_PYCARES_SITE = https://files.pythonhosted.org/packages/83/61/17bd0cfb9c4dc8c3738484d604b50d47c78fe4fcfe0ca2c58a61a106f578 PYTHON_PYCARES_SETUP_TYPE = setuptools PYTHON_PYCARES_LICENSE = MIT PYTHON_PYCARES_LICENSE_FILES = LICENSE diff --git a/package/python-pycli/Config.in b/package/python-pycli/Config.in deleted file mode 100644 index e1ce3b99a69..00000000000 --- a/package/python-pycli/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_PYTHON_PYCLI - bool "python-pycli" - help - The cli package is a framework for making simple, correct - command line applications in Python. - - https://pythonhosted.org/pyCLI/ diff --git a/package/python-pycli/python-pycli.hash b/package/python-pycli/python-pycli.hash deleted file mode 100644 index f0890e83a93..00000000000 --- a/package/python-pycli/python-pycli.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5 from https://pypi.python.org/pypi/pycli/json -md5 89c487e7c8068ce05d63394d2ae7ebad pyCLI-2.0.3.tar.gz -# Locally computed -sha256 bc53e6c5db031ae1c05d131641f153d22a201c5e82cc8c9324a945752efbb622 pyCLI-2.0.3.tar.gz -sha256 591490b2ef462a4ad2be1aae5dd47738cb17e191c82d3ba38c3ae906d288e6ba lib/cli/__init__.py diff --git a/package/python-pycli/python-pycli.mk b/package/python-pycli/python-pycli.mk deleted file mode 100644 index 7aff1c6200d..00000000000 --- a/package/python-pycli/python-pycli.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-pycli -# -################################################################################ - -PYTHON_PYCLI_VERSION = 2.0.3 -PYTHON_PYCLI_SOURCE = pyCLI-$(PYTHON_PYCLI_VERSION).tar.gz -PYTHON_PYCLI_SITE = https://pypi.python.org/packages/95/fc/b2d86a5fbdac4072bcf70b01674b612e1a13026f54962c878fe3eca36fd1 -PYTHON_PYCLI_LICENSE = ISC-like -PYTHON_PYCLI_LICENSE_FILES = lib/cli/__init__.py -PYTHON_PYCLI_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-pycparser/python-pycparser.hash b/package/python-pycparser/python-pycparser.hash index 04264443992..34401a319a7 100644 --- a/package/python-pycparser/python-pycparser.hash +++ b/package/python-pycparser/python-pycparser.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pycparser/json -md5 b8f88de737db8c346ee8d31c07c7a25a pycparser-2.20.tar.gz -sha256 2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 pycparser-2.20.tar.gz +md5 48f7d743bf018f7bb2ffc5fb976d1492 pycparser-2.21.tar.gz +sha256 e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 pycparser-2.21.tar.gz # Locally computed sha256 checksums -sha256 3c76629880aec2f8578ed914701a4ff9e5da8b60acb8b7ec675abf83c90c5168 LICENSE +sha256 3e7df25b8dfb658c9a91501930d4d943b05087a8347c7e2b4325616af535047b LICENSE diff --git a/package/python-pycparser/python-pycparser.mk b/package/python-pycparser/python-pycparser.mk index 8af37fce985..1737c99a32e 100644 --- a/package/python-pycparser/python-pycparser.mk +++ b/package/python-pycparser/python-pycparser.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCPARSER_VERSION = 2.20 +PYTHON_PYCPARSER_VERSION = 2.21 PYTHON_PYCPARSER_SOURCE = pycparser-$(PYTHON_PYCPARSER_VERSION).tar.gz -PYTHON_PYCPARSER_SITE = https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd +PYTHON_PYCPARSER_SITE = https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de PYTHON_PYCPARSER_SETUP_TYPE = setuptools PYTHON_PYCPARSER_LICENSE = BSD-3-Clause PYTHON_PYCPARSER_LICENSE_FILES = LICENSE diff --git a/package/python-pycryptodomex/Config.in b/package/python-pycryptodomex/Config.in index c7127fee590..a6d42f383de 100644 --- a/package/python-pycryptodomex/Config.in +++ b/package/python-pycryptodomex/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PYTHON_PYCRYPTODOMEX help Cryptographic library for Python. - http://www.pycryptodome.org + https://www.pycryptodome.org diff --git a/package/python-pycryptodomex/python-pycryptodomex.hash b/package/python-pycryptodomex/python-pycryptodomex.hash index 1016672af86..920cec25185 100644 --- a/package/python-pycryptodomex/python-pycryptodomex.hash +++ b/package/python-pycryptodomex/python-pycryptodomex.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pycryptodomex/json -md5 08bc8fbbcd6060c06f1f10e2dc18b834 pycryptodomex-3.9.9.tar.gz -sha256 7b5b7c5896f8172ea0beb283f7f9428e0ab88ec248ce0a5b8c98d73e26267d51 pycryptodomex-3.9.9.tar.gz +md5 18f571832bbfbf0f4516ccef009f2dfb pycryptodomex-3.14.0.tar.gz +sha256 2d8bda8f949b79b78b293706aa7fc1e5c171c62661252bfdd5d12c70acd03282 pycryptodomex-3.14.0.tar.gz # Locally computed sha256 checksums -sha256 d1af3fab2ef8cc53b6c7f48bdeb178ac874b04faf4ba0159a96b6109f1d393e2 LICENSE.rst +sha256 4e04660d77c1c64e89d79537919fb8240fa21484a7e3db29f358b2c7f84ea073 LICENSE.rst sha256 8e563c767164faa0831a333b57d23d4311cf566eb1b15d93250f4606be4eb549 Doc/LEGAL/COPYRIGHT.pycrypto diff --git a/package/python-pycryptodomex/python-pycryptodomex.mk b/package/python-pycryptodomex/python-pycryptodomex.mk index 341d1fa0f58..e3cc11afda5 100644 --- a/package/python-pycryptodomex/python-pycryptodomex.mk +++ b/package/python-pycryptodomex/python-pycryptodomex.mk @@ -4,15 +4,13 @@ # ################################################################################ -# Please keep in sync with package/python3-pycryptodomex/python3-pycryptodomex.mk -PYTHON_PYCRYPTODOMEX_VERSION = 3.9.9 +PYTHON_PYCRYPTODOMEX_VERSION = 3.14.0 PYTHON_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON_PYCRYPTODOMEX_VERSION).tar.gz -PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/14/90/f4a934bffae029e16fb33f3bd87014a0a18b4bec591249c4fc01a18d3ab6 +PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/a6/b3/a5e59cd3ad65d4dc470a3a63381d0495885cf1ac7659c83c6bc9e9e79df6 PYTHON_PYCRYPTODOMEX_SETUP_TYPE = setuptools PYTHON_PYCRYPTODOMEX_LICENSE = \ BSD-2-Clause, \ - Public Domain (pycrypto original code), \ - OCB patent license (OCB mode) + Public Domain (pycrypto original code) PYTHON_PYCRYPTODOMEX_LICENSE_FILES = LICENSE.rst Doc/LEGAL/COPYRIGHT.pycrypto $(eval $(python-package)) diff --git a/package/python-pycups/Config.in b/package/python-pycups/Config.in index 61c2ba21d12..eeaf70c9e63 100644 --- a/package/python-pycups/Config.in +++ b/package/python-pycups/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_PYCUPS bool "python-pycups" depends on BR2_PACKAGE_CUPS - depends on BR2_PACKAGE_PYTHON3 help Python bindings for libcups. diff --git a/package/python-pydal/python-pydal.hash b/package/python-pydal/python-pydal.hash index 224f32856f7..eef00030bd1 100644 --- a/package/python-pydal/python-pydal.hash +++ b/package/python-pydal/python-pydal.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 df54be164bcdab8ffc8db88cb72333cc4b27997ce58c302dd8ade36462d799ea python-pydal-20200910.1.tar.gz +sha256 9634f34a31d4411588b73825c8acc7f73ca69ba8a665bb00d0a9b5baff69498b python-pydal-20210626.3.tar.gz sha256 1f711e93f1e0c2eec576e2e60597dc2ed6f0a661e4749c6b8a39f0d4a72be468 LICENSE.txt diff --git a/package/python-pydal/python-pydal.mk b/package/python-pydal/python-pydal.mk index 2cac839a9e0..428999f5c13 100644 --- a/package/python-pydal/python-pydal.mk +++ b/package/python-pydal/python-pydal.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_PYDAL_VERSION = 20200910.1 +PYTHON_PYDAL_VERSION = 20210626.3 PYTHON_PYDAL_SITE = $(call github,web2py,pydal,v$(PYTHON_PYDAL_VERSION)) PYTHON_PYDAL_LICENSE = BSD-3-Clause PYTHON_PYDAL_LICENSE_FILES = LICENSE.txt diff --git a/package/python-pydantic/Config.in b/package/python-pydantic/Config.in index 07b506a20fc..41ec43adf4f 100644 --- a/package/python-pydantic/Config.in +++ b/package/python-pydantic/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_PYDANTIC bool "python-pydantic" - depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help Data validation and settings management using python 3.6 type hinting. diff --git a/package/python-pydantic/python-pydantic.hash b/package/python-pydantic/python-pydantic.hash index 7bb076fe2f5..215b5d17143 100644 --- a/package/python-pydantic/python-pydantic.hash +++ b/package/python-pydantic/python-pydantic.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pydantic/json -md5 ce0c1824d1797bc7d67953428c4fe965 pydantic-1.3.tar.gz -sha256 2eab7d548b0e530bf65bee7855ad8164c2f6a889975d5e9c4eefd1e7c98245dc pydantic-1.3.tar.gz +md5 7845d2f3c8fe8602f73f53ec5b6dfa29 pydantic-1.8.2.tar.gz +sha256 26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b pydantic-1.8.2.tar.gz # Locally computed sha256 checksums -sha256 66badbfe56618ec52ddcbfda62450e43752d16fe1e7cae78d346c7ed10a35306 LICENSE +sha256 9e3946690ac88b6b73e8f001a0586af13568be8852fd514e4393f39761764387 LICENSE diff --git a/package/python-pydantic/python-pydantic.mk b/package/python-pydantic/python-pydantic.mk index 0f9dd66a6f1..b2822415062 100644 --- a/package/python-pydantic/python-pydantic.mk +++ b/package/python-pydantic/python-pydantic.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYDANTIC_VERSION = 1.3 +PYTHON_PYDANTIC_VERSION = 1.8.2 PYTHON_PYDANTIC_SOURCE = pydantic-$(PYTHON_PYDANTIC_VERSION).tar.gz -PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/3e/69/b22c0eb3157115e1e3d111f574a6a41552539f1e53b064121ef4e9ac1368 +PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/b9/d2/12a808613937a6b98cd50d6467352f01322dc0d8ca9fb5b94441625d6684 PYTHON_PYDANTIC_SETUP_TYPE = setuptools PYTHON_PYDANTIC_LICENSE = MIT PYTHON_PYDANTIC_LICENSE_FILES = LICENSE diff --git a/package/python-pydyf/Config.in b/package/python-pydyf/Config.in new file mode 100644 index 00000000000..42530eafbb4 --- /dev/null +++ b/package/python-pydyf/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYDYF + bool "python-pydyf" + help + A low-level PDF generator. + + https://www.courtbouillon.org/pydyf diff --git a/package/python-pydyf/python-pydyf.hash b/package/python-pydyf/python-pydyf.hash new file mode 100644 index 00000000000..90774457a14 --- /dev/null +++ b/package/python-pydyf/python-pydyf.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pydyf/json +md5 f78ee205b0637c92197f5d584d60cb8e pydyf-0.1.2.tar.gz +sha256 1e2f5de48174f505de025a7d1e7cf01bbdd9422ca8ab9451782bf00ee178602c pydyf-0.1.2.tar.gz +# Locally computed sha256 checksums +sha256 75461e438973e1ba0f93a7de9e3fe5b2f49e1ab49251d392878a9cdae8ce7e47 LICENSE diff --git a/package/python-pydyf/python-pydyf.mk b/package/python-pydyf/python-pydyf.mk new file mode 100644 index 00000000000..7cc0df26431 --- /dev/null +++ b/package/python-pydyf/python-pydyf.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pydyf +# +################################################################################ + +PYTHON_PYDYF_VERSION = 0.1.2 +PYTHON_PYDYF_SOURCE = pydyf-$(PYTHON_PYDYF_VERSION).tar.gz +PYTHON_PYDYF_SITE = https://files.pythonhosted.org/packages/78/ed/2ccc153d50d21a56916fd5c9d367cad798d4ca8a450cef03e7faa3b920c4 +PYTHON_PYDYF_SETUP_TYPE = distutils +PYTHON_PYDYF_LICENSE = BSD-3-Clause +PYTHON_PYDYF_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-pyelftools/python-pyelftools.hash b/package/python-pyelftools/python-pyelftools.hash index 80900b711df..a309b90e15e 100644 --- a/package/python-pyelftools/python-pyelftools.hash +++ b/package/python-pyelftools/python-pyelftools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyelftools/json -md5 c5629b9a5d19c82107a946cce52eeec2 pyelftools-0.25.tar.gz -sha256 89c6da6f56280c37a5ff33468591ba9a124e17d71fe42de971818cbff46c1b24 pyelftools-0.25.tar.gz +md5 061d67c669a9b1f8d07f28c47fb6a65f pyelftools-0.27.tar.gz +sha256 cde854e662774c5457d688ca41615f6594187ba7067af101232df889a6b7a66b pyelftools-0.27.tar.gz # Locally computed sha256 checksums -sha256 ae18bf4cb82f92af7547259177bc28bc48e4fc732518bcedfe690226288d3445 LICENSE +sha256 ae18bf4cb82f92af7547259177bc28bc48e4fc732518bcedfe690226288d3445 LICENSE diff --git a/package/python-pyelftools/python-pyelftools.mk b/package/python-pyelftools/python-pyelftools.mk index 71ad49f20cf..5bfdcd33ae4 100644 --- a/package/python-pyelftools/python-pyelftools.mk +++ b/package/python-pyelftools/python-pyelftools.mk @@ -4,10 +4,9 @@ # ################################################################################ -# Please keep in sync with package/python3-pyelftools/python3-pyelftools.mk -PYTHON_PYELFTOOLS_VERSION = 0.25 +PYTHON_PYELFTOOLS_VERSION = 0.27 PYTHON_PYELFTOOLS_SOURCE = pyelftools-$(PYTHON_PYELFTOOLS_VERSION).tar.gz -PYTHON_PYELFTOOLS_SITE = https://files.pythonhosted.org/packages/fa/9a/0674cb1725196568bdbca98304f2efb17368b57af1a4bb3fc772c026f474 +PYTHON_PYELFTOOLS_SITE = https://files.pythonhosted.org/packages/6b/b5/f7022f2d950327ba970ec85fb8f85c79244031092c129b6f34ab17514ae0 PYTHON_PYELFTOOLS_LICENSE = Public domain PYTHON_PYELFTOOLS_LICENSE_FILES = LICENSE PYTHON_PYELFTOOLS_SETUP_TYPE = setuptools diff --git a/package/python-pyftpdlib/python-pyftpdlib.hash b/package/python-pyftpdlib/python-pyftpdlib.hash index 7f8da95550a..abbb1261b25 100644 --- a/package/python-pyftpdlib/python-pyftpdlib.hash +++ b/package/python-pyftpdlib/python-pyftpdlib.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyftpdlib/json -md5 7f8089520d60171bee5dab2b721e8d00 pyftpdlib-1.5.5.tar.gz -sha256 1adf1c03d1508749e7c2f26dc9850ec0ef834318d725b7ae5ac91698f5c86752 pyftpdlib-1.5.5.tar.gz +md5 459dd3e685c4b7dfcf574ca05e5586eb pyftpdlib-1.5.6.tar.gz +sha256 fda655d81f29af52885ca2f8a2704134baed540f16d66a0b26e8fdfafd12db5e pyftpdlib-1.5.6.tar.gz # Locally computed sha256 checksums -sha256 18a4ff1ddf890838e36504b307581e3eb42c890a7272ce28b18b3ce1205b7ea8 LICENSE +sha256 67a832551570a5ac5f7901eaa5ece4b9491fda7f2d8c93957c3bbc68a5a76d88 LICENSE diff --git a/package/python-pyftpdlib/python-pyftpdlib.mk b/package/python-pyftpdlib/python-pyftpdlib.mk index dbbb9e28423..931e2dad060 100644 --- a/package/python-pyftpdlib/python-pyftpdlib.mk +++ b/package/python-pyftpdlib/python-pyftpdlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYFTPDLIB_VERSION = 1.5.5 +PYTHON_PYFTPDLIB_VERSION = 1.5.6 PYTHON_PYFTPDLIB_SOURCE = pyftpdlib-$(PYTHON_PYFTPDLIB_VERSION).tar.gz -PYTHON_PYFTPDLIB_SITE = https://files.pythonhosted.org/packages/27/64/06a574350c79873e908fa9f48b617e7961de50fc468acc0a05d76771bce9 +PYTHON_PYFTPDLIB_SITE = https://files.pythonhosted.org/packages/31/61/63ef60aca6de07eba1639d9d47f3f8e29462e8bb49d6a8dce9aeff240646 PYTHON_PYFTPDLIB_SETUP_TYPE = setuptools PYTHON_PYFTPDLIB_LICENSE = MIT PYTHON_PYFTPDLIB_LICENSE_FILES = LICENSE diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk index 8deb42a90c9..600dd9e7436 100644 --- a/package/python-pygame/python-pygame.mk +++ b/package/python-pygame/python-pygame.mk @@ -103,7 +103,7 @@ PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y) define PYTHON_PYGAME_REMOVE_EXAMPLES - rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/pygame/examples + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/pygame/examples endef PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES endif diff --git a/package/python-pygments/python-pygments.hash b/package/python-pygments/python-pygments.hash index ad3604ee54d..09b47b2bdcf 100644 --- a/package/python-pygments/python-pygments.hash +++ b/package/python-pygments/python-pygments.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pygments/json -md5 5ecc3fbb2a783e917b369271fc0e6cd1 Pygments-2.4.2.tar.gz -sha256 881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297 Pygments-2.4.2.tar.gz +md5 390a49fa0eb5486a795b2b54b9a7b666 Pygments-2.7.4.tar.gz +sha256 df49d09b498e83c1a73128295860250b0b7edd4c723a32e9bc0d295c7c2ec337 Pygments-2.7.4.tar.gz # Locally computed sha256 checksums -sha256 45b88d3449c37806594758bf3c484d9d98b12b1ecc163f65431fe07fea6025f0 LICENSE +sha256 c012cf17a2ba79142977c8cc5bb1497a675401bf79c2c9b95a7604e2ddfde8b8 LICENSE diff --git a/package/python-pygments/python-pygments.mk b/package/python-pygments/python-pygments.mk index 5d190c49904..781b16353b0 100644 --- a/package/python-pygments/python-pygments.mk +++ b/package/python-pygments/python-pygments.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_PYGMENTS_VERSION = 2.4.2 +PYTHON_PYGMENTS_VERSION = 2.7.4 PYTHON_PYGMENTS_SOURCE = Pygments-$(PYTHON_PYGMENTS_VERSION).tar.gz -PYTHON_PYGMENTS_SITE = https://files.pythonhosted.org/packages/7e/ae/26808275fc76bf2832deb10d3a3ed3107bc4de01b85dcccbe525f2cd6d1e +PYTHON_PYGMENTS_SITE = https://files.pythonhosted.org/packages/e1/86/8059180e8217299079d8719c6e23d674aadaba0b1939e25e0cc15dcf075b PYTHON_PYGMENTS_LICENSE = BSD-2-Clause PYTHON_PYGMENTS_LICENSE_FILES = LICENSE +PYTHON_PYGMENTS_CPE_ID_VENDOR = pygments +PYTHON_PYGMENTS_CPE_ID_PRODUCT = pygments PYTHON_PYGMENTS_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pyhamcrest/python-pyhamcrest.hash b/package/python-pyhamcrest/python-pyhamcrest.hash index 0c1660e08a1..b2e84d7d1f1 100644 --- a/package/python-pyhamcrest/python-pyhamcrest.hash +++ b/package/python-pyhamcrest/python-pyhamcrest.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyhamcrest/json -md5 8b833a3fa30197455df79424f30c8c3f PyHamcrest-1.9.0.tar.gz -sha256 8ffaa0a53da57e89de14ced7185ac746227a8894dbd5a3c718bf05ddbd1d56cd PyHamcrest-1.9.0.tar.gz +md5 7a086f0b067f8d38958ec32f054559b4 PyHamcrest-2.0.2.tar.gz +sha256 412e00137858f04bde0729913874a48485665f2d36fe9ee449f26be864af9316 PyHamcrest-2.0.2.tar.gz # Locally computed sha256 checksums -sha256 ec76c04449607010d061b1e29c9d20a5ffae74db9d04670ae82538ccfe68b941 LICENSE.txt +sha256 71beae6c8151362cfe398cbd350191a1cc52d3d28499839a7830b25f5b50a7fe LICENSE.txt diff --git a/package/python-pyhamcrest/python-pyhamcrest.mk b/package/python-pyhamcrest/python-pyhamcrest.mk index 244aa8c606b..28979600ddb 100644 --- a/package/python-pyhamcrest/python-pyhamcrest.mk +++ b/package/python-pyhamcrest/python-pyhamcrest.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYHAMCREST_VERSION = 1.9.0 +PYTHON_PYHAMCREST_VERSION = 2.0.2 PYTHON_PYHAMCREST_SOURCE = PyHamcrest-$(PYTHON_PYHAMCREST_VERSION).tar.gz -PYTHON_PYHAMCREST_SITE = https://files.pythonhosted.org/packages/a4/89/a469aad9256aedfbb47a29ec2b2eeb855d9f24a7a4c2ff28bd8d1042ef02 +PYTHON_PYHAMCREST_SITE = https://files.pythonhosted.org/packages/58/05/7b993fabb44ff0b52a90916d96bfd91a65ecf90b8248e72bba325ba8e438 PYTHON_PYHAMCREST_SETUP_TYPE = setuptools PYTHON_PYHAMCREST_LICENSE = BSD-3-Clause PYTHON_PYHAMCREST_LICENSE_FILES = LICENSE.txt diff --git a/package/python-pyjwt/Config.in b/package/python-pyjwt/Config.in index f8d4f8a9b80..510875ce2fe 100644 --- a/package/python-pyjwt/Config.in +++ b/package/python-pyjwt/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYJWT bool "python-pyjwt" - depends on BR2_PACKAGE_PYTHON3 help JSON Web Token implementation in Python. diff --git a/package/python-pyjwt/python-pyjwt.hash b/package/python-pyjwt/python-pyjwt.hash index 10875510f0e..5ea6c0cd509 100644 --- a/package/python-pyjwt/python-pyjwt.hash +++ b/package/python-pyjwt/python-pyjwt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/PyJWT/json -md5 7a1b1c8bfeb67c31ee4fdadefe5ff4b8 PyJWT-2.0.0.tar.gz -sha256 7a2b271c6dac2fda9e0c33d176c4253faba2c6c6b3a99c7f28a32c3c97522779 PyJWT-2.0.0.tar.gz +md5 60cf2d463157bf21eb37be0430521036 PyJWT-2.3.0.tar.gz +sha256 b888b4d56f06f6dcd777210c334e69c737be74755d3e5e9ee3fe67dc18a0ee41 PyJWT-2.3.0.tar.gz # Locally computed sha256 checksums sha256 ec82af815b5f9da8685afb300cc5beb7949e1c22b79b6c1c054796cefdf6cac6 LICENSE diff --git a/package/python-pyjwt/python-pyjwt.mk b/package/python-pyjwt/python-pyjwt.mk index 9215911389b..ba8130e7cae 100644 --- a/package/python-pyjwt/python-pyjwt.mk +++ b/package/python-pyjwt/python-pyjwt.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_PYJWT_VERSION = 2.0.0 +PYTHON_PYJWT_VERSION = 2.3.0 PYTHON_PYJWT_SOURCE = PyJWT-$(PYTHON_PYJWT_VERSION).tar.gz -PYTHON_PYJWT_SITE = https://files.pythonhosted.org/packages/14/6d/096dc269d105ba374d6bfd3ecb22b516795ca0572499820dadc8178d9ae1 +PYTHON_PYJWT_SITE = https://files.pythonhosted.org/packages/1d/8e/01bdcfdbb352daaba8ea406d9df149c5bba7dbf70f908d4fa4c269fe6a08 PYTHON_PYJWT_SETUP_TYPE = setuptools PYTHON_PYJWT_LICENSE = MIT PYTHON_PYJWT_LICENSE_FILES = LICENSE +PYTHON_PYJWT_CPE_ID_VENDOR = pyjwt_project +PYTHON_PYJWT_CPE_ID_PRODUCT = pyjwt $(eval $(python-package)) diff --git a/package/python-pymodbus/python-pymodbus.mk b/package/python-pymodbus/python-pymodbus.mk index 9135a4d0c47..d96e21a55ca 100644 --- a/package/python-pymodbus/python-pymodbus.mk +++ b/package/python-pymodbus/python-pymodbus.mk @@ -11,13 +11,4 @@ PYTHON_PYMODBUS_SETUP_TYPE = setuptools PYTHON_PYMODBUS_LICENSE = BSD-3-Clause PYTHON_PYMODBUS_LICENSE_FILES = doc/LICENSE -ifeq ($(BR2_PACKAGE_PYTHON),y) -# only needed/valid for python 3.x -define PYTHON_PYMODBUS_RM_PY3_FILES - rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pymodbus/client/asynchronous/asyncio -endef - -PYTHON_PYMODBUS_POST_INSTALL_TARGET_HOOKS += PYTHON_PYMODBUS_RM_PY3_FILES -endif - $(eval $(python-package)) diff --git a/package/python-pymupdf/Config.in b/package/python-pymupdf/Config.in new file mode 100644 index 00000000000..b3f9565238f --- /dev/null +++ b/package/python-pymupdf/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_PYTHON_PYMUPDF + bool "python-pymupdf" + depends on BR2_INSTALL_LIBSTDCPP # mupdf -> harfbuzz + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mupdf -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # mupdf -> harfbuzz + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_MUPDF + select BR2_PACKAGE_ZLIB + help + Python bindings for the PDF rendering library MuPDF. + + https://github.com/pymupdf/PyMuPDF + +comment "python-pymupdf needs Xorg" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_PACKAGE_XORG7 + +comment "python-pymupdf needs a toolchain w/ C++, gcc >= 4.9" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/python-pymupdf/python-pymupdf.hash b/package/python-pymupdf/python-pymupdf.hash new file mode 100644 index 00000000000..ee7a9165191 --- /dev/null +++ b/package/python-pymupdf/python-pymupdf.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pymupdf/json +md5 70d6c2232e531772bbe9a813044262f9 PyMuPDF-1.18.14.tar.gz +sha256 efe85cb80f79cc3f3890aa2ab82b962b8a999ca078e33e9bacc5d0be5c4656dc PyMuPDF-1.18.14.tar.gz +# Locally computed: +sha256 282751b8c98ee9e445346eb57a992c9ecbe25ed8dd554df046777313e19b10f9 COPYING diff --git a/package/python-pymupdf/python-pymupdf.mk b/package/python-pymupdf/python-pymupdf.mk new file mode 100644 index 00000000000..ceeeb0a55b4 --- /dev/null +++ b/package/python-pymupdf/python-pymupdf.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# python-pymupdf +# +################################################################################ + +# python-pymupdf's version must match mupdf's version +PYTHON_PYMUPDF_VERSION = 1.18.14 +PYTHON_PYMUPDF_SOURCE = PyMuPDF-$(PYTHON_PYMUPDF_VERSION).tar.gz +PYTHON_PYMUPDF_SITE = https://files.pythonhosted.org/packages/41/f6/dbefe3d6949fa81fb7bcac9141e4345330d272724718ac5a6af78297498b +PYTHON_PYMUPDF_SETUP_TYPE = setuptools +PYTHON_PYMUPDF_LICENSE = GPL-3.0, AGPL-3.0+ (code generated from mupdf) +PYTHON_PYMUPDF_LICENSE_FILES = COPYING +# No license file included in pip, but it's present on github +PYTHON_PYMUPDF_DEPENDENCIES = freetype mupdf zlib + +PYTHON_PYMUPDF_ENV = CFLAGS="-I$(STAGING_DIR)/usr/include/mupdf -I$(STAGING_DIR)/usr/include/freetype2" + +# We need to remove the original paths as we provide them in the CFLAGS: +define PYTHON_PYMUPDF_REMOVE_PATHS + sed -i "/\/usr\/include\/mupdf/d" $(@D)/setup.py + sed -i "/\/usr\/include\/freetype2/d" $(@D)/setup.py + sed -i "/\/usr\/local\/include\/mupdf/d" $(@D)/setup.py + sed -i "/mupdf\/thirdparty\/freetype\/include/d" $(@D)/setup.py +endef + +PYTHON_PYMUPDF_POST_PATCH_HOOKS = PYTHON_PYMUPDF_REMOVE_PATHS + +$(eval $(python-package)) diff --git a/package/python-pymysql/python-pymysql.hash b/package/python-pymysql/python-pymysql.hash index 36323ca73a8..dd81bdab7e1 100644 --- a/package/python-pymysql/python-pymysql.hash +++ b/package/python-pymysql/python-pymysql.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pymysql/json -md5 e5d9183cc0a775ac29f9e0365cca6556 PyMySQL-0.9.3.tar.gz -sha256 d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7 PyMySQL-0.9.3.tar.gz +md5 3fe6ff2eefb58af5c54d335c6e0216de PyMySQL-1.0.2.tar.gz +sha256 816927a350f38d56072aeca5dfb10221fe1dc653745853d30a216637f5d7ad36 PyMySQL-1.0.2.tar.gz # Locally computed sha256 checksums -sha256 314120dc65f0800f738a4b31400c76ee14decd1fbe77ce9c3540a421b86ea7b6 LICENSE +sha256 314120dc65f0800f738a4b31400c76ee14decd1fbe77ce9c3540a421b86ea7b6 LICENSE diff --git a/package/python-pymysql/python-pymysql.mk b/package/python-pymysql/python-pymysql.mk index edb08ee0545..3703572f35a 100644 --- a/package/python-pymysql/python-pymysql.mk +++ b/package/python-pymysql/python-pymysql.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYMYSQL_VERSION = 0.9.3 +PYTHON_PYMYSQL_VERSION = 1.0.2 PYTHON_PYMYSQL_SOURCE = PyMySQL-$(PYTHON_PYMYSQL_VERSION).tar.gz -PYTHON_PYMYSQL_SITE = https://files.pythonhosted.org/packages/da/15/23ba6592920e21cb40eb0fe0ea002d2b6177beb1ca8a4c1add5a8f32754d +PYTHON_PYMYSQL_SITE = https://files.pythonhosted.org/packages/60/ea/33b8430115d9b617b713959b21dfd5db1df77425e38efea08d121e83b712 PYTHON_PYMYSQL_LICENSE = MIT PYTHON_PYMYSQL_LICENSE_FILES = LICENSE PYTHON_PYMYSQL_SETUP_TYPE = setuptools diff --git a/package/python-pynacl/0001-Remove-spurious-requirement-for-wheel-596.patch b/package/python-pynacl/0001-Remove-spurious-requirement-for-wheel-596.patch deleted file mode 100644 index 4f4a76ce290..00000000000 --- a/package/python-pynacl/0001-Remove-spurious-requirement-for-wheel-596.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 44fb453931c611d4822343debe902cca8e1c8afe Mon Sep 17 00:00:00 2001 -From: Scott Kitterman -Date: Tue, 26 May 2020 20:08:16 -0400 -Subject: [PATCH] Remove spurious requirement for wheel (#596) - -* Remove spurious requirement for wheel - -* Put wheel back in pyproject.toml - -Co-authored-by: Scott Kitterman -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -44fb453931c611d4822343debe902cca8e1c8afe] ---- - setup.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/setup.py b/setup.py -index 9319c1c..d82a7fe 100644 ---- a/setup.py -+++ b/setup.py -@@ -35,8 +35,7 @@ except ImportError: - - - requirements = ["six"] --setup_requirements = ["setuptools", -- "wheel"] -+setup_requirements = ["setuptools"] - test_requirements = ["pytest>=3.2.1,!=3.3.0", - "hypothesis>=3.27.0"] - docs_requirements = ["sphinx>=1.6.5", --- -2.25.1 - diff --git a/package/python-pynacl/Config.in b/package/python-pynacl/Config.in index 256f9d5eb61..0553d82ce93 100644 --- a/package/python-pynacl/Config.in +++ b/package/python-pynacl/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_PYNACL bool "python-pynacl" select BR2_PACKAGE_LIBSODIUM - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_CFFI # runtime help Python binding to the Networking and Cryptography (NaCl) diff --git a/package/python-pynacl/python-pynacl.hash b/package/python-pynacl/python-pynacl.hash index b6ee2baf0e4..85a7447b32e 100644 --- a/package/python-pynacl/python-pynacl.hash +++ b/package/python-pynacl/python-pynacl.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/pynacl/json -md5 8c6c57893327a694c72510fb620e4744 PyNaCl-1.4.0.tar.gz -sha256 54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505 PyNaCl-1.4.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/PyNaCl/json +md5 93989045e25f1111452cfdf5e021814d PyNaCl-1.5.0.tar.gz +sha256 8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba PyNaCl-1.5.0.tar.gz # Locally computed sha256 checksums sha256 d3174ad63e721d4c9dccb8ad4320848992d314369bc46319720b5802c9153fe9 LICENSE diff --git a/package/python-pynacl/python-pynacl.mk b/package/python-pynacl/python-pynacl.mk index 1e4155992a5..bd2571c3ad1 100644 --- a/package/python-pynacl/python-pynacl.mk +++ b/package/python-pynacl/python-pynacl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYNACL_VERSION = 1.4.0 +PYTHON_PYNACL_VERSION = 1.5.0 PYTHON_PYNACL_SOURCE = PyNaCl-$(PYTHON_PYNACL_VERSION).tar.gz -PYTHON_PYNACL_SITE = https://files.pythonhosted.org/packages/cf/5a/25aeb636baeceab15c8e57e66b8aa930c011ec1c035f284170cacb05025e +PYTHON_PYNACL_SITE = https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da PYTHON_PYNACL_LICENSE = Apache-2.0 PYTHON_PYNACL_LICENSE_FILES = LICENSE PYTHON_PYNACL_SETUP_TYPE = setuptools diff --git a/package/python-pyndiff/Config.in b/package/python-pyndiff/Config.in new file mode 100644 index 00000000000..58ca35ba971 --- /dev/null +++ b/package/python-pyndiff/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_PYNDIFF + bool "python-pyndiff" + select BR2_PACKAGE_PYTHON_XMLJSON # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + help + Generate human-readable ndiff output when comparing 2 Nmap + XML scan files. + + https://github.com/rackerlabs/pyndiff diff --git a/package/python-pyndiff/python-pyndiff.hash b/package/python-pyndiff/python-pyndiff.hash new file mode 100644 index 00000000000..0afecfb6e26 --- /dev/null +++ b/package/python-pyndiff/python-pyndiff.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyndiff/json +md5 32a9f994509cb883bbfeb563171f2668 pyndiff-1.0.2.tar.gz +sha256 8a519b18a7bbb315c043d4543719ce9fb6db8098bfcdd04cb8054b276cc91368 pyndiff-1.0.2.tar.gz +# Locally computed sha256 checksums +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-pyndiff/python-pyndiff.mk b/package/python-pyndiff/python-pyndiff.mk new file mode 100644 index 00000000000..e25374956ce --- /dev/null +++ b/package/python-pyndiff/python-pyndiff.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyndiff +# +################################################################################ + +PYTHON_PYNDIFF_VERSION = 1.0.2 +PYTHON_PYNDIFF_SOURCE = pyndiff-$(PYTHON_PYNDIFF_VERSION).tar.gz +PYTHON_PYNDIFF_SITE = https://files.pythonhosted.org/packages/83/3b/fb13918710c4fba40367140f22e3449998f4f66869a7564d0e547ad99ef8 +PYTHON_PYNDIFF_SETUP_TYPE = setuptools +PYTHON_PYNDIFF_LICENSE = Apache-2.0 +PYTHON_PYNDIFF_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-pyopenssl/Config.in b/package/python-pyopenssl/Config.in index c32e211e179..1a6fbd21478 100644 --- a/package/python-pyopenssl/Config.in +++ b/package/python-pyopenssl/Config.in @@ -1,12 +1,9 @@ config BR2_PACKAGE_PYTHON_PYOPENSSL bool "python-pyopenssl" - depends on BR2_INSTALL_LIBSTDCPP # python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime select BR2_PACKAGE_PYTHON_SIX # runtime help Python wrapper module around the OpenSSL library. https://github.com/pyca/pyopenssl - -comment "python-pyopenssl needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-pyopenssl/python-pyopenssl.hash b/package/python-pyopenssl/python-pyopenssl.hash index b457aeacdd2..5a3bc5dde9a 100644 --- a/package/python-pyopenssl/python-pyopenssl.hash +++ b/package/python-pyopenssl/python-pyopenssl.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyopenssl/json -md5 d9804fedbd1eb0c7d9243397b1fbf972 pyOpenSSL-19.1.0.tar.gz -sha256 9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507 pyOpenSSL-19.1.0.tar.gz -# Locally computed sha256 -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +md5 2ec707d15b4e92f5ca5e46e5aab2f4ca pyOpenSSL-21.0.0.tar.gz +sha256 5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3 pyOpenSSL-21.0.0.tar.gz +# Locally computed sha256 checksums +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-pyopenssl/python-pyopenssl.mk b/package/python-pyopenssl/python-pyopenssl.mk index bbbd836a1b7..2ba8c2e73da 100644 --- a/package/python-pyopenssl/python-pyopenssl.mk +++ b/package/python-pyopenssl/python-pyopenssl.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_PYOPENSSL_VERSION = 19.1.0 +PYTHON_PYOPENSSL_VERSION = 21.0.0 PYTHON_PYOPENSSL_SOURCE = pyOpenSSL-$(PYTHON_PYOPENSSL_VERSION).tar.gz -PYTHON_PYOPENSSL_SITE = https://files.pythonhosted.org/packages/0d/1d/6cc4bd4e79f78be6640fab268555a11af48474fac9df187c3361a1d1d2f0 +PYTHON_PYOPENSSL_SITE = https://files.pythonhosted.org/packages/54/9a/2a43c5dbf4507f86f7c43cba4195d5e25a81c988fd7b0ea779dfc9c6973f PYTHON_PYOPENSSL_LICENSE = Apache-2.0 PYTHON_PYOPENSSL_LICENSE_FILES = LICENSE +PYTHON_PYOPENSSL_CPE_ID_VENDOR = pyopenssl +PYTHON_PYOPENSSL_CPE_ID_PRODUCT = pyopenssl PYTHON_PYOPENSSL_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pypa-build/python-pypa-build.hash b/package/python-pypa-build/python-pypa-build.hash new file mode 100644 index 00000000000..c7daedc6b31 --- /dev/null +++ b/package/python-pypa-build/python-pypa-build.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/build/json +md5 ec3dbe55359ee735b45766b30dfad877 build-0.7.0.tar.gz +sha256 1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f build-0.7.0.tar.gz +# Locally computed sha256 checksums +sha256 aaf9a29ca5907971ccf07de025375db34539a8d5eeebce20b46099805722106f LICENSE diff --git a/package/python-pypa-build/python-pypa-build.mk b/package/python-pypa-build/python-pypa-build.mk new file mode 100644 index 00000000000..dc8363f59e4 --- /dev/null +++ b/package/python-pypa-build/python-pypa-build.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# python-pypa-build +# +################################################################################ + +PYTHON_PYPA_BUILD_VERSION = 0.7.0 +PYTHON_PYPA_BUILD_SOURCE = build-$(PYTHON_PYPA_BUILD_VERSION).tar.gz +PYTHON_PYPA_BUILD_SITE = https://files.pythonhosted.org/packages/f0/62/c73b775216bb1f34962beaf005f38460c6161177fef6e068a7a0c30a1597 +PYTHON_PYPA_BUILD_LICENSE = MIT +PYTHON_PYPA_BUILD_LICENSE_FILES = LICENSE +PYTHON_PYPA_BUILD_SETUP_TYPE = setuptools +HOST_PYTHON_PYPA_BUILD_DEPENDENCIES = \ + host-python-packaging \ + host-python-pep517 \ + host-python-tomli + +$(eval $(host-python-package)) diff --git a/package/python-pyparsing/python-pyparsing.hash b/package/python-pyparsing/python-pyparsing.hash index 2c52ff08437..1e56e878a1d 100644 --- a/package/python-pyparsing/python-pyparsing.hash +++ b/package/python-pyparsing/python-pyparsing.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyparsing/json -md5 f0953e47a0112f7a65aec2305ffdf7b4 pyparsing-2.4.7.tar.gz -sha256 c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 pyparsing-2.4.7.tar.gz +md5 9d38774991175444e21a3dfa865876cc pyparsing-3.0.7.tar.gz +sha256 18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea pyparsing-3.0.7.tar.gz # Locally computed sha256 checksums sha256 10d5120a16805804ffda8b688c220bfb4e8f39741b57320604d455a309e01972 LICENSE diff --git a/package/python-pyparsing/python-pyparsing.mk b/package/python-pyparsing/python-pyparsing.mk index 0dacf2371d6..2fb705bc7ae 100644 --- a/package/python-pyparsing/python-pyparsing.mk +++ b/package/python-pyparsing/python-pyparsing.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_PYPARSING_VERSION = 2.4.7 +PYTHON_PYPARSING_VERSION = 3.0.7 PYTHON_PYPARSING_SOURCE = pyparsing-$(PYTHON_PYPARSING_VERSION).tar.gz -PYTHON_PYPARSING_SITE = https://files.pythonhosted.org/packages/c1/47/dfc9c342c9842bbe0036c7f763d2d6686bcf5eb1808ba3e170afdb282210 +PYTHON_PYPARSING_SITE = https://files.pythonhosted.org/packages/d6/60/9bed18f43275b34198eb9720d4c1238c68b3755620d20df0afd89424d32b PYTHON_PYPARSING_LICENSE = MIT PYTHON_PYPARSING_LICENSE_FILES = LICENSE PYTHON_PYPARSING_SETUP_TYPE = setuptools $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-pyparted/Config.in b/package/python-pyparted/Config.in index 0ed24f8836e..60f54a5484d 100644 --- a/package/python-pyparted/Config.in +++ b/package/python-pyparted/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYPARTED bool "python-pyparted" - depends on BR2_PACKAGE_PYTHON3 depends on BR2_ENABLE_LOCALE # parted depends on BR2_USE_WCHAR select BR2_PACKAGE_PARTED @@ -10,5 +9,4 @@ config BR2_PACKAGE_PYTHON_PYPARTED https://github.com/rhinstaller/pyparted comment "pyparted needs a toolchain w/ locale, wchar" - depends on BR2_PACKAGE_PYTHON3 depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR diff --git a/package/python-pypcap/Config.in b/package/python-pypcap/Config.in deleted file mode 100644 index 9b410ecc2b9..00000000000 --- a/package/python-pypcap/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config BR2_PACKAGE_PYTHON_PYPCAP - bool "python-pypcap" - depends on BR2_PACKAGE_PYTHON - select BR2_PACKAGE_LIBPCAP - help - The pypcap module is an object-oriented wrapper of the C - libpcap library. - - https://github.com/dugsong/pypcap diff --git a/package/python-pypcap/python-pypcap.hash b/package/python-pypcap/python-pypcap.hash deleted file mode 100644 index 40db6b4f33e..00000000000 --- a/package/python-pypcap/python-pypcap.hash +++ /dev/null @@ -1,3 +0,0 @@ -# locally computed -sha256 5716d97b39d40b79daf7b0c6a8c8c514f5f1de8f20561c8621ee62a90b93fb03 python-pypcap-6f46e7bf29a648256ddc732a7d0ec83d3ffca390.tar.gz -sha256 48306c284fdbdf836b880528c3bdd658deac47ed78ffeb24a4ca5a8c39a39304 LICENSE diff --git a/package/python-pypcap/python-pypcap.mk b/package/python-pypcap/python-pypcap.mk deleted file mode 100644 index fc6fc6ed92c..00000000000 --- a/package/python-pypcap/python-pypcap.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# python-pypcap -# -################################################################################ - -PYTHON_PYPCAP_VERSION = 6f46e7bf29a648256ddc732a7d0ec83d3ffca390 -PYTHON_PYPCAP_SITE = $(call github,dugsong,pypcap,$(PYTHON_PYPCAP_VERSION)) -PYTHON_PYPCAP_LICENSE = BSD-3-Clause -PYTHON_PYPCAP_LICENSE_FILES = LICENSE -PYTHON_PYPCAP_SETUP_TYPE = distutils -PYTHON_PYPCAP_DEPENDENCIES = host-python-pyrex libpcap - -define PYTHON_PYPCAP_CONFIGURE_CMDS - $(HOST_DIR)/bin/python2 $(HOST_DIR)/bin/pyrexc $(@D)/pcap.pyx - (cd $(@D); \ - $(HOST_DIR)/bin/python setup.py \ - config --with-pcap=$(STAGING_DIR)/usr) -endef - -$(eval $(python-package)) diff --git a/package/python-pyphen/Config.in b/package/python-pyphen/Config.in new file mode 100644 index 00000000000..e4707ff036b --- /dev/null +++ b/package/python-pyphen/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYPHEN + bool "python-pyphen" + help + Pure Python module to hyphenate text. + + https://www.courtbouillon.org/pyphen diff --git a/package/python-pyphen/python-pyphen.hash b/package/python-pyphen/python-pyphen.hash new file mode 100644 index 00000000000..75ee9093511 --- /dev/null +++ b/package/python-pyphen/python-pyphen.hash @@ -0,0 +1,8 @@ +# md5, sha256 from https://pypi.org/pypi/Pyphen/json +md5 f8ec095e4fe30dc2b518a918788b33ed pyphen-0.11.0.tar.gz +sha256 e2c3ed82c3a04317df5102addafe89652b0876bc6c6265f5dd4c3efaf02315e8 pyphen-0.11.0.tar.gz +# Locally computed sha256 checksums +sha256 9f0bffde4fbbbbc61c46f6577b6f472919dba9fdffabe74e8a7e44ac5dbef7a2 LICENSE +sha256 2233a3eecf299bc271f1a9f57f0b3198343ad4ab16571d70320133002c51496b COPYING.GPL +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING.LGPL +sha256 ad192a67649aa23ac9681939840f4f241643a98da9cd8aec8de28c3b8c6ee854 COPYING.MPL diff --git a/package/python-pyphen/python-pyphen.mk b/package/python-pyphen/python-pyphen.mk new file mode 100644 index 00000000000..80f67c77c77 --- /dev/null +++ b/package/python-pyphen/python-pyphen.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyphen +# +################################################################################ + +PYTHON_PYPHEN_VERSION = 0.11.0 +PYTHON_PYPHEN_SOURCE = pyphen-$(PYTHON_PYPHEN_VERSION).tar.gz +PYTHON_PYPHEN_SITE = https://files.pythonhosted.org/packages/9a/f8/af869a4983c1b3159945479510260985714265d48baf27d61f72b1ec8cbf +PYTHON_PYPHEN_SETUP_TYPE = distutils +PYTHON_PYPHEN_LICENSE = LGPL-2.1+, MPL-1.1, GPL-2.0+ +PYTHON_PYPHEN_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LGPL COPYING.MPL + +$(eval $(python-package)) diff --git a/package/python-pyqrcode/Config.in b/package/python-pyqrcode/Config.in index 01b7ae81321..d07ab4965a5 100644 --- a/package/python-pyqrcode/Config.in +++ b/package/python-pyqrcode/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_PYQRCODE bool "python-pyqrcode" - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_CODECSCJK if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_CODECSCJK if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_CODECSCJK # runtime help A QR code generator written purely in Python with SVG, EPS, PNG and terminal output. diff --git a/package/python-pyqt5/python-pyqt5.mk b/package/python-pyqt5/python-pyqt5.mk index 8f28c90d153..af32f637962 100644 --- a/package/python-pyqt5/python-pyqt5.mk +++ b/package/python-pyqt5/python-pyqt5.mk @@ -19,14 +19,6 @@ PYTHON_PYQT5_MODULES = \ $(if $(BR2_PACKAGE_QT5BASE_PRINTSUPPORT),QtPrintSupport) \ $(if $(BR2_PACKAGE_QT5BASE_XML),QtXml) -ifeq ($(BR2_PACKAGE_PYTHON),y) -PYTHON_PYQT5_PYTHON_DIR = python$(PYTHON_VERSION_MAJOR) -PYTHON_PYQT5_RM_PORT_BASE = port_v3 -else ifeq ($(BR2_PACKAGE_PYTHON3),y) -PYTHON_PYQT5_PYTHON_DIR = python$(PYTHON3_VERSION_MAJOR) -PYTHON_PYQT5_RM_PORT_BASE = port_v2 -endif - ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y) PYTHON_PYQT5_MODULES += QtWidgets @@ -152,9 +144,14 @@ define PYTHON_PYQT5_GENERATE_QTDETAIL ) endef +# The file "qt.conf" can be used to override the hard-coded paths that are +# compiled into the Qt library. We need it to make "qmake" relocatable and +# tweak the per-package install pathes +PYTHON_PYQT5_PRE_CONFIGURE_HOOKS += QT5_QT_CONF_FIXUP + PYTHON_PYQT5_CONF_OPTS = \ --bindir $(TARGET_DIR)/usr/bin \ - --destdir $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT5_PYTHON_DIR)/site-packages \ + --destdir $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ --qmake $(HOST_DIR)/bin/qmake \ --sysroot $(STAGING_DIR)/usr \ -w --confirm-license \ @@ -181,8 +178,8 @@ endef # __init__.pyc is needed if BR2_PACKAGE_PYTHON_PYC_ONLY is set define PYTHON_PYQT5_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install - touch $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT5_PYTHON_DIR)/site-packages/PyQt5/__init__.py - $(RM) -rf $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT5_PYTHON_DIR)/site-packages/PyQt5/uic/$(PYTHON_PYQT5_RM_PORT_BASE) + touch $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/PyQt5/__init__.py + $(RM) -rf $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/PyQt5/uic/port_v2 endef $(eval $(generic-package)) diff --git a/package/python-pyrex/python-pyrex.hash b/package/python-pyrex/python-pyrex.hash deleted file mode 100644 index e8963558fc4..00000000000 --- a/package/python-pyrex/python-pyrex.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 5f87df06831d0b3412eb4bc9d3fc2ee7bfae1b913d7da8c23ab2bf5699fb6b50 Pyrex-0.9.9.tar.gz -sha256 5c1aec55fc8c399ec23968ddb2117eec8f7a53f002c15472a8b0aa7426790700 LICENSE.txt diff --git a/package/python-pyrex/python-pyrex.mk b/package/python-pyrex/python-pyrex.mk deleted file mode 100644 index 6284a5f2289..00000000000 --- a/package/python-pyrex/python-pyrex.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# python-pyrex -# -################################################################################ - -PYTHON_PYREX_VERSION = 0.9.9 -PYTHON_PYREX_SOURCE = Pyrex-$(PYTHON_PYREX_VERSION).tar.gz -PYTHON_PYREX_SITE = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex -PYTHON_PYREX_LICENSE = Apache-2.0 -PYTHON_PYREX_LICENSE_FILES = LICENSE.txt -PYTHON_PYREX_SETUP_TYPE = distutils -HOST_PYTHON_PYREX_NEEDS_HOST_PYTHON = python2 - -$(eval $(host-python-package)) diff --git a/package/python-pyro/Config.in b/package/python-pyro/Config.in deleted file mode 100644 index 6372a1d3763..00000000000 --- a/package/python-pyro/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_PYTHON_PYRO - bool "python-pyro" - depends on BR2_PACKAGE_PYTHON - help - python-pyro is a Python library stands for PYthon Remote - Objects. It is an advanced and powerful Distributed Object - Technology system written entirely in Python, that is - designed to be very easy to use.. - - https://pypi.python.org/pypi/Pyro/ diff --git a/package/python-pyro/python-pyro.hash b/package/python-pyro/python-pyro.hash deleted file mode 100644 index c22b66ddc44..00000000000 --- a/package/python-pyro/python-pyro.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5 from https://pypi.python.org/pypi/pyro/json -md5 59d4d3f4a8786776c9d7f9051b8f1a69 Pyro-3.16.tar.gz -# Locally computed -sha256 1bed508453ef7a7556b51424a58101af2349b662baab7e7331c5cb85dbe7e578 Pyro-3.16.tar.gz -sha256 7c14017a2f543384bfcde86043758b68d023b47bf09700a7df6dacbae9c82103 LICENSE diff --git a/package/python-pyro/python-pyro.mk b/package/python-pyro/python-pyro.mk deleted file mode 100644 index 06b4f457f22..00000000000 --- a/package/python-pyro/python-pyro.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-pyro -# -################################################################################ - -PYTHON_PYRO_VERSION = 3.16 -PYTHON_PYRO_SOURCE = Pyro-$(PYTHON_PYRO_VERSION).tar.gz -PYTHON_PYRO_SITE = https://pypi.python.org/packages/61/68/0978adae315261b87acd216517c2c7f00780396e4d1426c5412458c6a28f -PYTHON_PYRO_LICENSE = MIT -PYTHON_PYRO_LICENSE_FILES = LICENSE -PYTHON_PYRO_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-pyroute2/Config.in b/package/python-pyroute2/Config.in index 5df0a63d4b1..9e685f9d1e9 100644 --- a/package/python-pyroute2/Config.in +++ b/package/python-pyroute2/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_PYROUTE2 bool "python-pyroute2" - select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_SQLITE help Python netlink library - Linux network / netns / wireless / ipset configuration. diff --git a/package/python-pysftp/Config.in b/package/python-pysftp/Config.in index 06f883f6023..fc4fdd972d3 100644 --- a/package/python-pysftp/Config.in +++ b/package/python-pysftp/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_PYSFTP bool "python-pysftp" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-paramiko -> python-cryptography select BR2_PACKAGE_PYTHON_PARAMIKO # runtime help A friendly face on SFTP. diff --git a/package/python-pysmb/python-pysmb.hash b/package/python-pysmb/python-pysmb.hash index 94ff33ea31f..03713837fcf 100644 --- a/package/python-pysmb/python-pysmb.hash +++ b/package/python-pysmb/python-pysmb.hash @@ -1,5 +1,3 @@ -# md5 from https://pypi.python.org/pypi/pysmb/json -md5 e6f9ce0032db528aae060f7019bd409c pysmb-1.1.19.tar.gz # Locally computed -sha256 fa4e6b4a4f2afbfbd71e9179c491f8c77bc2ad19e0bc866d7c6cbfa9ae272602 pysmb-1.1.19.tar.gz -sha256 2b1a0a56543c1bda07f5583dddaf544442c139d3f46747d4700c7031ef354c14 LICENSE +sha256 af9db2e99eaa01e87b0ebc10f87db7c630cc880c7ae3d9dd06f1e5313e82d5a2 pysmb-1.2.7.tar.gz +sha256 8c487d5c10f024e44a9cf1df21d1fd28a80bd2dfddd9f1dcd109a47d721f497f LICENSE diff --git a/package/python-pysmb/python-pysmb.mk b/package/python-pysmb/python-pysmb.mk index 1b4c18797af..89ff08e958f 100644 --- a/package/python-pysmb/python-pysmb.mk +++ b/package/python-pysmb/python-pysmb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYSMB_VERSION = 1.1.19 +PYTHON_PYSMB_VERSION = 1.2.7 PYTHON_PYSMB_SOURCE = pysmb-$(PYTHON_PYSMB_VERSION).tar.gz -PYTHON_PYSMB_SITE = https://pypi.python.org/packages/f9/e7/1fd7faaa946cc6b43ce85bb7a177b75a4718d9c5e291201fec00112b497c +PYTHON_PYSMB_SITE = https://miketeo.net/files/Projects/pysmb PYTHON_PYSMB_LICENSE = Libpng PYTHON_PYSMB_LICENSE_FILES = LICENSE PYTHON_PYSMB_SETUP_TYPE = setuptools diff --git a/package/python-pytablereader/Config.in b/package/python-pytablereader/Config.in index e6b2a4a306d..889cb798207 100644 --- a/package/python-pytablereader/Config.in +++ b/package/python-pytablereader/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYTABLEREADER bool "python-pytablereader" - depends on BR2_PACKAGE_PYTHON3 # python-mbstrdecoder, python-pathpy select BR2_PACKAGE_PYTHON_BEAUTIFULSOUP4 # runtime select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime diff --git a/package/python-pytablewriter/Config.in b/package/python-pytablewriter/Config.in index b95ee357784..041c30eb6c7 100644 --- a/package/python-pytablewriter/Config.in +++ b/package/python-pytablewriter/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYTABLEWRITER bool "python-pytablewriter" - depends on BR2_PACKAGE_PYTHON3 # python-dataproperty, python-mbstrdecoder select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime select BR2_PACKAGE_PYTHON_MSGFY # runtime diff --git a/package/python-pytest-asyncio/Config.in b/package/python-pytest-asyncio/Config.in index 3fa90e4e18a..2088a8bdbf5 100644 --- a/package/python-pytest-asyncio/Config.in +++ b/package/python-pytest-asyncio/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYTEST_ASYNCIO bool "python-pytest-asyncio" - depends on BR2_PACKAGE_PYTHON3 # pytest select BR2_PACKAGE_PYTHON_PYTEST # runtime help Pytest support for asyncio. diff --git a/package/python-pytest-asyncio/python-pytest-asyncio.hash b/package/python-pytest-asyncio/python-pytest-asyncio.hash index 40541f54ba2..4949919ecb9 100644 --- a/package/python-pytest-asyncio/python-pytest-asyncio.hash +++ b/package/python-pytest-asyncio/python-pytest-asyncio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytest-asyncio/json -md5 b63593bc08f445f6e3f14c34128a68ed pytest-asyncio-0.14.0.tar.gz -sha256 9882c0c6b24429449f5f969a5158b528f39bde47dc32e85b9f0403965017e700 pytest-asyncio-0.14.0.tar.gz +md5 8940c41c342b5bafe2ebb0d6e5c320ec pytest-asyncio-0.15.1.tar.gz +sha256 2564ceb9612bbd560d19ca4b41347b54e7835c2f792c504f698e05395ed63f6f pytest-asyncio-0.15.1.tar.gz # Locally computed sha256 checksums sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/python-pytest-asyncio/python-pytest-asyncio.mk b/package/python-pytest-asyncio/python-pytest-asyncio.mk index 0645db3eb71..bd2e0083a9e 100644 --- a/package/python-pytest-asyncio/python-pytest-asyncio.mk +++ b/package/python-pytest-asyncio/python-pytest-asyncio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTEST_ASYNCIO_VERSION = 0.14.0 +PYTHON_PYTEST_ASYNCIO_VERSION = 0.15.1 PYTHON_PYTEST_ASYNCIO_SOURCE = pytest-asyncio-$(PYTHON_PYTEST_ASYNCIO_VERSION).tar.gz -PYTHON_PYTEST_ASYNCIO_SITE = https://files.pythonhosted.org/packages/65/09/9472d4db0625cf56d40f4e405f955faf6469be00858a273b71332f3fcd1f +PYTHON_PYTEST_ASYNCIO_SITE = https://files.pythonhosted.org/packages/de/c1/b2b0119e30f61f7ec8b44f129f6fde46a1a7329de17110f124639aa8896b PYTHON_PYTEST_ASYNCIO_SETUP_TYPE = setuptools PYTHON_PYTEST_ASYNCIO_LICENSE = Apache-2.0 PYTHON_PYTEST_ASYNCIO_LICENSE_FILES = LICENSE diff --git a/package/python-pytest/Config.in b/package/python-pytest/Config.in index ebbaeeea585..c3956c76d2b 100644 --- a/package/python-pytest/Config.in +++ b/package/python-pytest/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_PYTEST bool "python-pytest" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_ATTRS # runtime select BR2_PACKAGE_PYTHON_INICONFIG # runtime select BR2_PACKAGE_PYTHON_PACKAGING # runtime diff --git a/package/python-pytest/python-pytest.hash b/package/python-pytest/python-pytest.hash index 8c2a85c9223..060dc6189e4 100644 --- a/package/python-pytest/python-pytest.hash +++ b/package/python-pytest/python-pytest.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytest/json -md5 91a421ffffe3310096b4273b2fa13819 pytest-6.1.2.tar.gz -sha256 c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e pytest-6.1.2.tar.gz +md5 8bc467ebd5d571778dc51dd87ff09513 pytest-6.2.5.tar.gz +sha256 131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89 pytest-6.2.5.tar.gz # Locally computer sha256 sha256 7898b9b164d4f93fd9a562fd0f592935518b48c4745303964110eb7f7fe64faf LICENSE diff --git a/package/python-pytest/python-pytest.mk b/package/python-pytest/python-pytest.mk index d47ec0f4308..5aa9ebca6ed 100644 --- a/package/python-pytest/python-pytest.mk +++ b/package/python-pytest/python-pytest.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTEST_VERSION = 6.1.2 +PYTHON_PYTEST_VERSION = 6.2.5 PYTHON_PYTEST_SOURCE = pytest-$(PYTHON_PYTEST_VERSION).tar.gz -PYTHON_PYTEST_SITE = https://files.pythonhosted.org/packages/d4/df/bd7c25c4fe809a17315b3fc9878edf48d31dde7b431b6836848b063c0428 +PYTHON_PYTEST_SITE = https://files.pythonhosted.org/packages/4b/24/7d1f2d2537de114bdf1e6875115113ca80091520948d370c964b88070af2 PYTHON_PYTEST_SETUP_TYPE = setuptools PYTHON_PYTEST_LICENSE = MIT PYTHON_PYTEST_LICENSE_FILES = LICENSE diff --git a/package/python-pytrie/python-pytrie.hash b/package/python-pytrie/python-pytrie.hash index 3bc1f6e9a75..ead479ee1a3 100644 --- a/package/python-pytrie/python-pytrie.hash +++ b/package/python-pytrie/python-pytrie.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytrie/json -md5 f7c7184124013abcc18a3e3b638d32ae PyTrie-0.3.1.tar.gz -sha256 3bb7d122a549d8006c9cba2feecac20bceda9f8c0e2a3fa99a5584cfe0dec523 PyTrie-0.3.1.tar.gz -# Locally computed sha256 -sha256 153931d44112319a1e1653752c881fb7ef092f636db31f4c36b252666e95efbd PKG-INFO +md5 0cbe20db2361dcc99bdcba7acacd34e6 PyTrie-0.4.0.tar.gz +sha256 8f4488f402d3465993fb6b6efa09866849ed8cda7903b50647b7d0342b805379 PyTrie-0.4.0.tar.gz +# Locally computed sha256 checksums +sha256 97f85c2ba0d856cf5f7e5db587af7299233db2e502980eb655ace28343541d50 LICENSE diff --git a/package/python-pytrie/python-pytrie.mk b/package/python-pytrie/python-pytrie.mk index b8264fa2be8..7e55579d2da 100644 --- a/package/python-pytrie/python-pytrie.mk +++ b/package/python-pytrie/python-pytrie.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PYTRIE_VERSION = 0.3.1 +PYTHON_PYTRIE_VERSION = 0.4.0 PYTHON_PYTRIE_SOURCE = PyTrie-$(PYTHON_PYTRIE_VERSION).tar.gz PYTHON_PYTRIE_LICENSE = BSD-3-Clause -PYTHON_PYTRIE_LICENSE_FILES = PKG-INFO -PYTHON_PYTRIE_SITE = https://files.pythonhosted.org/packages/e1/eb/ae1f098969c9e9b81e821fb8e916cbf720b900ec1c0f3359e47a427395ec +PYTHON_PYTRIE_LICENSE_FILES = LICENSE +PYTHON_PYTRIE_SITE = https://files.pythonhosted.org/packages/d3/19/15ec77ab9c85f7c36eb590d6ab7dd529f8c8516c0e2219f1a77a99d7ee77 PYTHON_PYTRIE_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pytz/python-pytz.hash b/package/python-pytz/python-pytz.hash index d1ce81e5901..e0f253902c6 100644 --- a/package/python-pytz/python-pytz.hash +++ b/package/python-pytz/python-pytz.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytz/json -md5 c3d84a465fc56a4edd52cca8873ac0df pytz-2019.3.tar.gz -sha256 b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be pytz-2019.3.tar.gz +md5 d7b7060bbac4970afa2050c139c9fcb6 pytz-2021.3.tar.gz +sha256 acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326 pytz-2021.3.tar.gz # Locally computed sha256 checksums -sha256 39f07c72a1bfda349cbd27bac9bcb1e6f8c5b4e5cc3fadf56900406e8cc0b792 LICENSE.txt +sha256 be8b1a37ebe26c592a90f6c0eb33103a7f383ce2f4d7498c0af9a526990a07b8 LICENSE.txt diff --git a/package/python-pytz/python-pytz.mk b/package/python-pytz/python-pytz.mk index 888f3c45565..d6067506991 100644 --- a/package/python-pytz/python-pytz.mk +++ b/package/python-pytz/python-pytz.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTZ_VERSION = 2019.3 +PYTHON_PYTZ_VERSION = 2021.3 PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).tar.gz -PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/82/c3/534ddba230bd4fbbd3b7a3d35f3341d014cca213f369a9940925e7e5f691 +PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/e3/8e/1cde9d002f48a940b9d9d38820aaf444b229450c0854bdf15305ce4a3d1a PYTHON_PYTZ_SETUP_TYPE = setuptools PYTHON_PYTZ_LICENSE = MIT PYTHON_PYTZ_LICENSE_FILES = LICENSE.txt diff --git a/package/python-pyudev/0001-Workaround-finding-libudev-on-systems-without-ldconf.patch b/package/python-pyudev/0001-Workaround-finding-libudev-on-systems-without-ldconf.patch index 67c2766496b..d798f836a59 100644 --- a/package/python-pyudev/0001-Workaround-finding-libudev-on-systems-without-ldconf.patch +++ b/package/python-pyudev/0001-Workaround-finding-libudev-on-systems-without-ldconf.patch @@ -13,6 +13,8 @@ https://github.com/pyudev/pyudev/pull/117 Signed-off-by: Yegor Yefremov [Marcin: adjust to 0.22.0] Signed-off-by: Marcin Niestroj +[Fabrice: Use %-formatting instead of f-string for python 2] +Signed-off-by: Fabrice Fontaine --- src/pyudev/_ctypeslib/utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) @@ -37,7 +39,7 @@ index 9dffb3c..aa9942f 100644 - library_name = find_library(name) - if not library_name: + try: -+ lib = cdll.LoadLibrary(f'lib{name}.so') ++ lib = cdll.LoadLibrary('lib%s.so' % name) + except OSError: raise ImportError('No library named %s' % name) - lib = CDLL(library_name, use_errno=True) diff --git a/package/python-pyudev/Config.in b/package/python-pyudev/Config.in index fb853956e89..e0da067cc21 100644 --- a/package/python-pyudev/Config.in +++ b/package/python-pyudev/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_PYTHON_PYUDEV bool "python-pyudev" depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime select BR2_PACKAGE_PYTHON_SIX # runtime help pyudev is a LGPL licenced, pure Python 2/3 binding to diff --git a/package/python-pyusb/python-pyusb.hash b/package/python-pyusb/python-pyusb.hash index c5006c81849..f08b212b3ef 100644 --- a/package/python-pyusb/python-pyusb.hash +++ b/package/python-pyusb/python-pyusb.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pyusb/json -md5 c8a571bfdba778555156af3facaea6fc PyUSB-1.0.0.tar.gz -# Locally computed -sha256 5b34ffa74ac34f330bff949c94ee00ec4a9d147234db17ee2eed2a67c0275368 PyUSB-1.0.0.tar.gz -sha256 de177fb928a0eed8d209fddbfa3861379e08b3b41f34ad17a329c2f78199371d LICENSE +# md5, sha256 from https://pypi.org/pypi/pyusb/json +md5 880008dff32dac8f58076b4e534492d9 pyusb-1.2.1.tar.gz +sha256 a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9 pyusb-1.2.1.tar.gz +# Locally computed sha256 checksums +sha256 03e39fdcee9c18f2f9d0c3500a993ddeac050695eb81070ea41347587c76a7fe LICENSE diff --git a/package/python-pyusb/python-pyusb.mk b/package/python-pyusb/python-pyusb.mk index 0afcbe8b8fc..2f4f9581b62 100644 --- a/package/python-pyusb/python-pyusb.mk +++ b/package/python-pyusb/python-pyusb.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_PYUSB_VERSION = 1.0.0 -PYTHON_PYUSB_SOURCE = PyUSB-$(PYTHON_PYUSB_VERSION).tar.gz -PYTHON_PYUSB_SITE = https://pypi.python.org/packages/8a/19/66fb48a4905e472f5dfeda3a1bafac369fbf6d6fc5cf55b780864962652d +PYTHON_PYUSB_VERSION = 1.2.1 +PYTHON_PYUSB_SOURCE = pyusb-$(PYTHON_PYUSB_VERSION).tar.gz +PYTHON_PYUSB_SITE = https://files.pythonhosted.org/packages/d9/6e/433a5614132576289b8643fe598dd5d51b16e130fd591564be952e15bb45 PYTHON_PYUSB_LICENSE = BSD-3-Clause PYTHON_PYUSB_LICENSE_FILES = LICENSE -PYTHON_PYUSB_SETUP_TYPE = distutils -PYTHON_PYUSB_DEPENDENCIES = libusb +PYTHON_PYUSB_SETUP_TYPE = setuptools +PYTHON_PYUSB_DEPENDENCIES = host-python-setuptools-scm libusb $(eval $(python-package)) diff --git a/package/python-pyyaml/python-pyyaml.hash b/package/python-pyyaml/python-pyyaml.hash index 82b2f4f880e..f8b53325653 100644 --- a/package/python-pyyaml/python-pyyaml.hash +++ b/package/python-pyyaml/python-pyyaml.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/PyYAML/json -md5 46e25294c7efec23d4072ed6a7777f46 PyYAML-5.4.1.tar.gz -sha256 607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e PyYAML-5.4.1.tar.gz +md5 1d19c798f25e58e3e582f0f8c977dbb8 PyYAML-6.0.tar.gz +sha256 68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 PyYAML-6.0.tar.gz # Locally computed sha256 checksums sha256 8d3928f9dc4490fd635707cb88eb26bd764102a7282954307d3e5167a577e8a4 LICENSE diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk index c9013de8ec7..067af8ea7d8 100644 --- a/package/python-pyyaml/python-pyyaml.mk +++ b/package/python-pyyaml/python-pyyaml.mk @@ -4,16 +4,16 @@ # ################################################################################ -# Please keep in sync package/python3-pyyaml/python3-pyyaml.mk -PYTHON_PYYAML_VERSION = 5.4.1 +PYTHON_PYYAML_VERSION = 6.0 PYTHON_PYYAML_SOURCE = PyYAML-$(PYTHON_PYYAML_VERSION).tar.gz -PYTHON_PYYAML_SITE = https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d +PYTHON_PYYAML_SITE = https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844 PYTHON_PYYAML_SETUP_TYPE = setuptools PYTHON_PYYAML_LICENSE = MIT PYTHON_PYYAML_LICENSE_FILES = LICENSE PYTHON_PYYAML_CPE_ID_VENDOR = pyyaml PYTHON_PYYAML_CPE_ID_PRODUCT = pyyaml -PYTHON_PYYAML_DEPENDENCIES = libyaml +PYTHON_PYYAML_DEPENDENCIES = host-python-cython libyaml +PYTHON_PYYAML_ENV = PYYAML_FORCE_CYTHON=1 HOST_PYTHON_PYYAML_DEPENDENCIES = host-libyaml $(eval $(python-package)) diff --git a/package/python-pyzmq/Config.in b/package/python-pyzmq/Config.in index 8f33a635c86..f8ce52f8449 100644 --- a/package/python-pyzmq/Config.in +++ b/package/python-pyzmq/Config.in @@ -9,5 +9,4 @@ config BR2_PACKAGE_PYTHON_PYZMQ http://zeromq.org/bindings:python comment "python-pyzmq needs a toolchain w/ C++, threads" - depends on BR2_PACKAGE_PYTHON depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/package/python-raven/Config.in b/package/python-raven/Config.in index 0d4b26c0540..d02232cfd87 100644 --- a/package/python-raven/Config.in +++ b/package/python-raven/Config.in @@ -1,11 +1,8 @@ config BR2_PACKAGE_PYTHON_RAVEN bool "python-raven" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_UNICODEDATA if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_UNICODEDATA if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB + select BR2_PACKAGE_PYTHON3_SSL + select BR2_PACKAGE_PYTHON3_UNICODEDATA help Raven is a client for Sentry (https://getsentry.com). diff --git a/package/python-reentry/Config.in b/package/python-reentry/Config.in index 8ebbe395c84..07d8988a18e 100644 --- a/package/python-reentry/Config.in +++ b/package/python-reentry/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_PYTHON_REENTRY select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_CLICK # runtime select BR2_PACKAGE_PYTHON_SIX # runtime - select BR2_PACKAGE_PYTHON_PATHLIB2 if BR2_PACKAGE_PYTHON # runtime help A plugin manager based on setuptools entry points mechanism. diff --git a/package/python-reentry/python-reentry.hash b/package/python-reentry/python-reentry.hash index 089d8594f5d..522b936118e 100644 --- a/package/python-reentry/python-reentry.hash +++ b/package/python-reentry/python-reentry.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/reentry/json -md5 819931cd0a766a7c226879e57ccea9c7 reentry-1.3.1.tar.gz -sha256 2fe18c1a6946f3e2a51e1d5aa78228a11e879fbb0da14da5bf1e6252e83d26b1 reentry-1.3.1.tar.gz +md5 398c1e5bbda657aa645c8d2d38afb63f reentry-1.3.2.tar.gz +sha256 c6667e59aeabbb4d122aadc2170102a270e6a811d16a5431c5c3b91fabd7cf02 reentry-1.3.2.tar.gz # Locally computed sha256 checksums -sha256 4ae7f3216208a7e2327236e95bcd2397b2495f1c2298c708986c893bea608509 LICENSE +sha256 4ae7f3216208a7e2327236e95bcd2397b2495f1c2298c708986c893bea608509 LICENSE diff --git a/package/python-reentry/python-reentry.mk b/package/python-reentry/python-reentry.mk index 428dbf2b1b9..ec33c174528 100644 --- a/package/python-reentry/python-reentry.mk +++ b/package/python-reentry/python-reentry.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REENTRY_VERSION = 1.3.1 +PYTHON_REENTRY_VERSION = 1.3.2 PYTHON_REENTRY_SOURCE = reentry-$(PYTHON_REENTRY_VERSION).tar.gz -PYTHON_REENTRY_SITE = https://files.pythonhosted.org/packages/ee/3f/a90789e01c4d2b67a57e9bd758e60ecb9338d428604f66130b57684ba8cc +PYTHON_REENTRY_SITE = https://files.pythonhosted.org/packages/a0/88/eb0c107c19227a2292ed11711034a3d80c0dc1368d2b3ebeb3fe7b936a8e PYTHON_REENTRY_SETUP_TYPE = setuptools PYTHON_REENTRY_LICENSE = MIT PYTHON_REENTRY_LICENSE_FILES = LICENSE diff --git a/package/python-regex/python-regex.hash b/package/python-regex/python-regex.hash index 9e256263a97..b0f5bb05da2 100644 --- a/package/python-regex/python-regex.hash +++ b/package/python-regex/python-regex.hash @@ -1,3 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/regex/json -md5 ac88a9c036e626ae4d436e69f35f50cf regex-2020.2.20.tar.gz -sha256 9e9624440d754733eddbcd4614378c18713d2d9d0dc647cf9c72f64e39671be5 regex-2020.2.20.tar.gz +md5 cd206281327b4c087bb20bf93cee4ab9 regex-2021.4.4.tar.gz +sha256 52ba3d3f9b942c49d7e4bc105bb28551c44065f139a65062ab7912bef10c9afb regex-2021.4.4.tar.gz +# Locally computed sha256 checksums +sha256 bff55ef4cdcc8c14ce259f8e8ab60e264418440d6335f4dc138273fbd506144d LICENSE.txt diff --git a/package/python-regex/python-regex.mk b/package/python-regex/python-regex.mk index 8a527c8ee76..bb8fdf3e485 100644 --- a/package/python-regex/python-regex.mk +++ b/package/python-regex/python-regex.mk @@ -4,11 +4,12 @@ # ################################################################################ -# Please keep in sync with package/python3-regex/python3-regex.mk -PYTHON_REGEX_VERSION = 2020.2.20 +PYTHON_REGEX_VERSION = 2021.4.4 PYTHON_REGEX_SOURCE = regex-$(PYTHON_REGEX_VERSION).tar.gz -PYTHON_REGEX_SITE = https://files.pythonhosted.org/packages/e8/76/8ac7f467617b9cfbafcef3c76df6f22b15de654a62bea719792b00a83195 +PYTHON_REGEX_SITE = https://files.pythonhosted.org/packages/38/3f/4c42a98c9ad7d08c16e7d23b2194a0e4f3b2914662da8bc88986e4e6de1f PYTHON_REGEX_SETUP_TYPE = setuptools -PYTHON_REGEX_LICENSE = CNRI-Python +PYTHON_REGEX_LICENSE = Apache-2.0 +PYTHON_REGEX_LICENSE_FILES = LICENSE.txt $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-remi/Config.in b/package/python-remi/Config.in index e0c5e9bfe19..da2c2f4cfb2 100644 --- a/package/python-remi/Config.in +++ b/package/python-remi/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_REMI bool "python-remi" - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime help Remi is a GUI library for Python applications which transpiles diff --git a/package/python-remi/python-remi.hash b/package/python-remi/python-remi.hash index 832bf915ab8..4e1786a952e 100644 --- a/package/python-remi/python-remi.hash +++ b/package/python-remi/python-remi.hash @@ -1,2 +1,2 @@ # sha256 from https://pypi.org/pypi/remi/json -sha256 2a32658146b63d33a88aff7362679873c9df9e42a9e651c9e6642da834b3cca1 remi-2020.11.20.tar.gz +sha256 c8691f007dc30b91013131b6aded3521c17ef8ec9fdd152a0ad481b8cb793f14 remi-2021.3.2.tar.gz diff --git a/package/python-remi/python-remi.mk b/package/python-remi/python-remi.mk index 5666733986b..609e127cf03 100644 --- a/package/python-remi/python-remi.mk +++ b/package/python-remi/python-remi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REMI_VERSION = 2020.11.20 +PYTHON_REMI_VERSION = 2021.3.2 PYTHON_REMI_SOURCE = remi-$(PYTHON_REMI_VERSION).tar.gz -PYTHON_REMI_SITE = https://files.pythonhosted.org/packages/47/45/3110334859199be84d9b230fd31e2333b4c69832e15facc0868bed2aa3f3 +PYTHON_REMI_SITE = https://files.pythonhosted.org/packages/c0/99/94bd825cf8baee369b959f76c802a51ccc69d4d62ec113e26db4835f710c PYTHON_REMI_LICENSE = Apache-2.0 PYTHON_REMI_SETUP_TYPE = setuptools diff --git a/package/python-request-id/python-request-id.hash b/package/python-request-id/python-request-id.hash index ecf9d6508dc..a0e59a3260e 100644 --- a/package/python-request-id/python-request-id.hash +++ b/package/python-request-id/python-request-id.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/request-id/json -md5 81d6159edc745384181cb97f045c51b4 request-id-1.0.tar.gz -sha256 4928002c8e4c767f3f8319194c9f3080ff98f14cabf44c0674a81ee58ec20fc4 request-id-1.0.tar.gz +md5 abf0125561fb38198893ba4b46c5ce28 request-id-1.0.1.tar.gz +sha256 4adf1dc880085571454667ee4dba36a12b720eea5dbbfbbbd840c5a24268b4f7 request-id-1.0.1.tar.gz # Locally computed sha256 checksums -sha256 2d65d17b4df34f184557b8031df05e4c264d2fa6b82e560be074967eff3b326c LICENSE.txt +sha256 2d65d17b4df34f184557b8031df05e4c264d2fa6b82e560be074967eff3b326c LICENSE.txt diff --git a/package/python-request-id/python-request-id.mk b/package/python-request-id/python-request-id.mk index 4812e53c721..8fe8dc04fbb 100644 --- a/package/python-request-id/python-request-id.mk +++ b/package/python-request-id/python-request-id.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUEST_ID_VERSION = 1.0 +PYTHON_REQUEST_ID_VERSION = 1.0.1 PYTHON_REQUEST_ID_SOURCE = request-id-$(PYTHON_REQUEST_ID_VERSION).tar.gz -PYTHON_REQUEST_ID_SITE = https://files.pythonhosted.org/packages/bc/b6/ade909d4af3dffe492789d36ea58a0ecbd637f8200bc480b282d455fe497 +PYTHON_REQUEST_ID_SITE = https://files.pythonhosted.org/packages/9b/b3/30617b85b1766b6a804f2b8abc0ca7496f6349236f7eec28cb42687ca8e3 PYTHON_REQUEST_ID_SETUP_TYPE = setuptools PYTHON_REQUEST_ID_LICENSE = MIT PYTHON_REQUEST_ID_LICENSE_FILES = LICENSE.txt diff --git a/package/python-requests/Config.in b/package/python-requests/Config.in index 30158b8d254..94a44682f47 100644 --- a/package/python-requests/Config.in +++ b/package/python-requests/Config.in @@ -1,14 +1,11 @@ config BR2_PACKAGE_PYTHON_REQUESTS bool "python-requests" select BR2_PACKAGE_PYTHON_CERTIFI # runtime - select BR2_PACKAGE_PYTHON_CHARDET # runtime + select BR2_PACKAGE_PYTHON_CHARSET_NORMALIZER # runtime select BR2_PACKAGE_PYTHON_IDNA # runtime select BR2_PACKAGE_PYTHON_URLLIB3 # runtime - select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Requests is an Apache2 Licensed HTTP library, written in Python, for human beings. diff --git a/package/python-requests/python-requests.hash b/package/python-requests/python-requests.hash index e07c7bf5cc0..1e4cbaff7b4 100644 --- a/package/python-requests/python-requests.hash +++ b/package/python-requests/python-requests.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/requests/json -md5 514d6f7eba77ada0b8c98ec7818828db requests-2.25.1.tar.gz -sha256 27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 requests-2.25.1.tar.gz +md5 bcc01b73974a305cc7c5b092e7d07004 requests-2.27.1.tar.gz +sha256 68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61 requests-2.27.1.tar.gz # Locally computed sha256 checksums sha256 09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b LICENSE diff --git a/package/python-requests/python-requests.mk b/package/python-requests/python-requests.mk index 2b543c0f9ad..9613a2c47ce 100644 --- a/package/python-requests/python-requests.mk +++ b/package/python-requests/python-requests.mk @@ -4,12 +4,19 @@ # ################################################################################ -# Please keep in sync with package/python3-requests/python3-requests.mk -PYTHON_REQUESTS_VERSION = 2.25.1 +PYTHON_REQUESTS_VERSION = 2.27.1 PYTHON_REQUESTS_SOURCE = requests-$(PYTHON_REQUESTS_VERSION).tar.gz -PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/6b/47/c14abc08432ab22dc18b9892252efaf005ab44066de871e72a38d6af464b +PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/60/f3/26ff3767f099b73e0efa138a9998da67890793bfa475d8278f84a30fec77 PYTHON_REQUESTS_SETUP_TYPE = setuptools PYTHON_REQUESTS_LICENSE = Apache-2.0 PYTHON_REQUESTS_LICENSE_FILES = LICENSE +PYTHON_REQUESTS_CPE_ID_VENDOR = python +PYTHON_REQUESTS_CPE_ID_PRODUCT = requests +HOST_PYTHON_REQUESTS_DEPENDENCIES = \ + host-python-certifi \ + host-python-charset-normalizer \ + host-python-idna \ + host-python-urllib3 $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-rpi-gpio/Config.in b/package/python-rpi-gpio/Config.in index 4f59ebdb066..f3c0928c626 100644 --- a/package/python-rpi-gpio/Config.in +++ b/package/python-rpi-gpio/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_RPI_GPIO bool "python-rpi-gpio" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 help A Python module to control the GPIO on a Raspberry Pi. diff --git a/package/python-rpi-ws281x/python-rpi-ws281x.hash b/package/python-rpi-ws281x/python-rpi-ws281x.hash index 54d91a6df07..06b2d18607d 100644 --- a/package/python-rpi-ws281x/python-rpi-ws281x.hash +++ b/package/python-rpi-ws281x/python-rpi-ws281x.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/rpi-ws281x/json -md5 8eb175e05905ee7a00bb5fd2f1b15e40 rpi_ws281x-4.2.4.tar.gz -sha256 7175e708d6085bc02a9d0b8227797d697e34fd00787030ae5f119fe2f4f90889 rpi_ws281x-4.2.4.tar.gz +md5 333dacfc58058d5f485f9af74551c70e rpi_ws281x-4.3.0.tar.gz +sha256 0b9549687ab7117acbc4bac0e92742fd2c8290fd204514d72fed91c06ba2e805 rpi_ws281x-4.3.0.tar.gz # Locally computed sha256 checksums sha256 7bbf6337c1eee7169579e6acd398f31ea274dfa3a1689ab7e654ca3585d5a8a9 LICENSE sha256 7bbf6337c1eee7169579e6acd398f31ea274dfa3a1689ab7e654ca3585d5a8a9 lib/LICENSE diff --git a/package/python-rpi-ws281x/python-rpi-ws281x.mk b/package/python-rpi-ws281x/python-rpi-ws281x.mk index 4af1d268afd..b7110396153 100644 --- a/package/python-rpi-ws281x/python-rpi-ws281x.mk +++ b/package/python-rpi-ws281x/python-rpi-ws281x.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_RPI_WS281X_VERSION = 4.2.4 +PYTHON_RPI_WS281X_VERSION = 4.3.0 PYTHON_RPI_WS281X_SOURCE = rpi_ws281x-$(PYTHON_RPI_WS281X_VERSION).tar.gz -PYTHON_RPI_WS281X_SITE = https://files.pythonhosted.org/packages/3b/99/0f74f2d303e03432d10b11dab240cb15afad1bc6ab9a1449c9bc08af2ee4 +PYTHON_RPI_WS281X_SITE = https://files.pythonhosted.org/packages/cd/b3/eb7ac93376952f165577707ec756f40c9537ed53c59fcbc3290c357370e0 PYTHON_RPI_WS281X_SETUP_TYPE = setuptools -PYTHON_RPI_WS281X_LICENSE = MIT +PYTHON_RPI_WS281X_LICENSE = BSD-2-Clause PYTHON_RPI_WS281X_LICENSE_FILES = LICENSE lib/LICENSE $(eval $(python-package)) diff --git a/package/python-rsa/Config.in b/package/python-rsa/Config.in new file mode 100644 index 00000000000..5cafd8215f3 --- /dev/null +++ b/package/python-rsa/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_RSA + bool "python-rsa" + select BR2_PACKAGE_PYTHON_PYASN1 # runtime + help + Python-RSA is a pure-Python RSA implementation. It supports + encryption and decryption, signing and verifying signatures, + and key generation according to PKCS\#1 version 1.5. It can + be used as a Python library as well as on the command line. + + https://stuvel.eu/rsa diff --git a/package/python-rsa/python-rsa.hash b/package/python-rsa/python-rsa.hash new file mode 100644 index 00000000000..9fbbf0ac888 --- /dev/null +++ b/package/python-rsa/python-rsa.hash @@ -0,0 +1,5 @@ +# From https://pypi.org/project/rsa/ +sha256 9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9 rsa-4.7.2.tar.gz + +# Locally computed +sha256 073f28b7d389c8fe74f607e17c27f81eaa5ace69edc43a884f23f41b41c5c726 LICENSE diff --git a/package/python-rsa/python-rsa.mk b/package/python-rsa/python-rsa.mk new file mode 100644 index 00000000000..a3d4bb82356 --- /dev/null +++ b/package/python-rsa/python-rsa.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-rsa +# +################################################################################ + +PYTHON_RSA_VERSION = 4.7.2 +PYTHON_RSA_SOURCE = rsa-$(PYTHON_RSA_VERSION).tar.gz +PYTHON_RSA_SITE = https://files.pythonhosted.org/packages/db/b5/475c45a58650b0580421746504b680cd2db4e81bc941e94ca53785250269 +PYTHON_RSA_SETUP_TYPE = setuptools +PYTHON_RSA_LICENSE = Apache-2.0 +PYTHON_RSA_LICENSE_FILES = LICENSE +PYTHON_RSA_CPE_ID_VENDOR = python-rsa_project + +$(eval $(python-package)) diff --git a/package/python-rtslib-fb/python-rtslib-fb.hash b/package/python-rtslib-fb/python-rtslib-fb.hash index f67231d3988..3c2e39fffd1 100644 --- a/package/python-rtslib-fb/python-rtslib-fb.hash +++ b/package/python-rtslib-fb/python-rtslib-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 d5d81a78046b4c228d29ba88d9950e0f63858e5fcf601e3d0f8bf107fbaadc03 python-rtslib-fb-2.1.fb57.tar.gz +sha256 9f581c4bcffebc60be236af8a6ebdeccdb66d0435eeb04ab1b743c170b95d046 python-rtslib-fb-2.1.74.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/python-rtslib-fb/python-rtslib-fb.mk b/package/python-rtslib-fb/python-rtslib-fb.mk index 421fbed0ae9..09bde874f0b 100644 --- a/package/python-rtslib-fb/python-rtslib-fb.mk +++ b/package/python-rtslib-fb/python-rtslib-fb.mk @@ -6,7 +6,7 @@ # When upgrading the version, be sure to also upgrade # python-configshell-fb and targetcli-fb at the same time. -PYTHON_RTSLIB_FB_VERSION = 2.1.fb57 +PYTHON_RTSLIB_FB_VERSION = 2.1.74 # Do not switch site to PyPI: it does not contain the latest version. PYTHON_RTSLIB_FB_SITE = $(call github,open-iscsi,rtslib-fb,v$(PYTHON_RTSLIB_FB_VERSION)) PYTHON_RTSLIB_FB_LICENSE = Apache-2.0 diff --git a/package/python-s3transfer/Config.in b/package/python-s3transfer/Config.in index 6587a5fe398..a7f85b146c3 100644 --- a/package/python-s3transfer/Config.in +++ b/package/python-s3transfer/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PYTHON_S3TRANSFER bool "python-s3transfer" select BR2_PACKAGE_PYTHON_BOTOCORE # runtime - # runtime, not needed for python3: - select BR2_PACKAGE_PYTHON_FUTURES if BR2_PACKAGE_PYTHON help An Amazon S3 Transfer Manager. diff --git a/package/python-s3transfer/python-s3transfer.hash b/package/python-s3transfer/python-s3transfer.hash index 496acc045cc..b8f4a57ab88 100644 --- a/package/python-s3transfer/python-s3transfer.hash +++ b/package/python-s3transfer/python-s3transfer.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/s3transfer/json -md5 e351d246498fca53e2ca2bf75c550d60 s3transfer-0.3.3.tar.gz -sha256 921a37e2aefc64145e7b73d50c71bb4f26f46e4c9f414dc648c6245ff92cf7db s3transfer-0.3.3.tar.gz +md5 9416d1c7d33506501a8627bb1f7baf66 s3transfer-0.5.0.tar.gz +sha256 50ed823e1dc5868ad40c8dc92072f757aa0e653a192845c94a3b676f4a62da4c s3transfer-0.5.0.tar.gz # Locally computed sha256 checksums sha256 8c6db340475136df3c1201d458fa5755698eace76e510471ecc9d857d6083dac LICENSE.txt diff --git a/package/python-s3transfer/python-s3transfer.mk b/package/python-s3transfer/python-s3transfer.mk index 946be261a31..8b8e02db575 100644 --- a/package/python-s3transfer/python-s3transfer.mk +++ b/package/python-s3transfer/python-s3transfer.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_S3TRANSFER_VERSION = 0.3.3 +PYTHON_S3TRANSFER_VERSION = 0.5.0 PYTHON_S3TRANSFER_SOURCE = s3transfer-$(PYTHON_S3TRANSFER_VERSION).tar.gz -PYTHON_S3TRANSFER_SITE = https://files.pythonhosted.org/packages/50/de/2b688c062107942486c81a739383b1432a72717d9a85a6a1a692f003c70c +PYTHON_S3TRANSFER_SITE = https://files.pythonhosted.org/packages/88/ef/4d1b3f52ae20a7e72151fde5c9f254cd83f8a49047351f34006e517e1655 PYTHON_S3TRANSFER_SETUP_TYPE = setuptools PYTHON_S3TRANSFER_LICENSE = Apache-2.0 PYTHON_S3TRANSFER_LICENSE_FILES = LICENSE.txt diff --git a/package/python-scapy/Config.in b/package/python-scapy/Config.in index 6575a33af30..517fb517148 100644 --- a/package/python-scapy/Config.in +++ b/package/python-scapy/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_SCAPY bool "python-scapy" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB help Scapy: interactive packet manipulation tool. diff --git a/package/python-scapy/python-scapy.hash b/package/python-scapy/python-scapy.hash index 8618e54f4b1..4dccffd39ac 100644 --- a/package/python-scapy/python-scapy.hash +++ b/package/python-scapy/python-scapy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/scapy/json -md5 01e52ff5d1f04364e17fc2d42872282e scapy-2.4.4.tar.gz -sha256 ecfd7a14cd9c3ef0eb08d28d5bb71d97219edff1454ccbdff229f676b27900ee scapy-2.4.4.tar.gz +md5 54072af118e9291b6c7898b4ea87cdaf scapy-2.4.5.tar.gz +sha256 bc707e3604784496b6665a9e5b2a69c36cc9fb032af4864b29051531b24c8593 scapy-2.4.5.tar.gz # Locally computed sha256 checksums sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/python-scapy/python-scapy.mk b/package/python-scapy/python-scapy.mk index 3d9a4e19143..9cf17db6711 100644 --- a/package/python-scapy/python-scapy.mk +++ b/package/python-scapy/python-scapy.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_SCAPY_VERSION = 2.4.4 +PYTHON_SCAPY_VERSION = 2.4.5 PYTHON_SCAPY_SOURCE = scapy-$(PYTHON_SCAPY_VERSION).tar.gz -PYTHON_SCAPY_SITE = https://files.pythonhosted.org/packages/c6/8f/438d4d0bab4c8e22906a7401dd082b4c0f914daf2bbdc7e7e8390d81a5c3 +PYTHON_SCAPY_SITE = https://files.pythonhosted.org/packages/85/47/c919432ca258f354bb2c1e645623f891603f185bfc7563d4a21f6432e7ed PYTHON_SCAPY_SETUP_TYPE = setuptools PYTHON_SCAPY_LICENSE = GPL-2.0 PYTHON_SCAPY_LICENSE_FILES = LICENSE +PYTHON_SCAPY_CPE_ID_VENDOR = scapy +PYTHON_SCAPY_CPE_ID_PRODUCT = scapy $(eval $(python-package)) diff --git a/package/python-schedule/python-schedule.hash b/package/python-schedule/python-schedule.hash index 79777829de1..3d67be0f5eb 100644 --- a/package/python-schedule/python-schedule.hash +++ b/package/python-schedule/python-schedule.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/schedule/json -md5 e29fd3b436b03220e147a4ed8191d220 schedule-0.6.0.tar.gz -sha256 f9fb5181283de4db6e701d476dd01b6a3dd81c38462a54991ddbb9d26db857c9 schedule-0.6.0.tar.gz +md5 9bf7544e37824e450457187633a17b17 schedule-1.1.0.tar.gz +sha256 e6ca13585e62c810e13a08682e0a6a8ad245372e376ba2b8679294f377dfc8e4 schedule-1.1.0.tar.gz # Locally computed sha256 checksums -sha256 30a8352c318ce1b645acde0299697342d4380ed2637d7ca18a8ad25661e3b41b LICENSE.txt +sha256 30a8352c318ce1b645acde0299697342d4380ed2637d7ca18a8ad25661e3b41b LICENSE.txt diff --git a/package/python-schedule/python-schedule.mk b/package/python-schedule/python-schedule.mk index c0cc7dce8c6..fc6081cf22e 100644 --- a/package/python-schedule/python-schedule.mk +++ b/package/python-schedule/python-schedule.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SCHEDULE_VERSION = 0.6.0 +PYTHON_SCHEDULE_VERSION = 1.1.0 PYTHON_SCHEDULE_SOURCE = schedule-$(PYTHON_SCHEDULE_VERSION).tar.gz -PYTHON_SCHEDULE_SITE = https://files.pythonhosted.org/packages/00/07/6a9953ff83e003eaadebf0a51d33c6b596f9451fcbea36a3a2e575f6af99 +PYTHON_SCHEDULE_SITE = https://files.pythonhosted.org/packages/a8/b5/a291a4c0faa491fd5baefa6d89011ece581cff47b23c0a39b42a63383358 PYTHON_SCHEDULE_SETUP_TYPE = setuptools PYTHON_SCHEDULE_LICENSE = MIT PYTHON_SCHEDULE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-secretstorage/Config.in b/package/python-secretstorage/Config.in index 78a0a2ae15d..f0a8689ecd5 100644 --- a/package/python-secretstorage/Config.in +++ b/package/python-secretstorage/Config.in @@ -1,12 +1,8 @@ config BR2_PACKAGE_PYTHON_SECRETSTORAGE bool "python-secretstorage" - depends on BR2_PACKAGE_PYTHON3 - depends on BR2_INSTALL_LIBSTDCPP # python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime help Python bindings to FreeDesktop.org Secret Service API. https://github.com/mitya57/secretstorage - -comment "python-secretstorage needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-semantic-version/python-semantic-version.hash b/package/python-semantic-version/python-semantic-version.hash new file mode 100644 index 00000000000..692905ec29e --- /dev/null +++ b/package/python-semantic-version/python-semantic-version.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/semantic-version/json +md5 76d7364def7ee487b6153d40b13de904 semantic_version-2.8.5.tar.gz +sha256 d2cb2de0558762934679b9a104e82eca7af448c9f4974d1f3eeccff651df8a54 semantic_version-2.8.5.tar.gz +# Locally computed sha256 checksums +sha256 a85e7ef2fbc670d26781ed6844cd31a7e8ada65d21328f75a0b02402faae37ea LICENSE diff --git a/package/python-semantic-version/python-semantic-version.mk b/package/python-semantic-version/python-semantic-version.mk new file mode 100644 index 00000000000..2352690e26e --- /dev/null +++ b/package/python-semantic-version/python-semantic-version.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-semantic-version +# +################################################################################ + +PYTHON_SEMANTIC_VERSION_VERSION = 2.8.5 +PYTHON_SEMANTIC_VERSION_SOURCE = semantic_version-$(PYTHON_SEMANTIC_VERSION_VERSION).tar.gz +PYTHON_SEMANTIC_VERSION_SITE = https://files.pythonhosted.org/packages/d4/52/3be868c7ed1f408cb822bc92ce17ffe4e97d11c42caafce0589f05844dd0 +PYTHON_SEMANTIC_VERSION_SETUP_TYPE = setuptools +PYTHON_SEMANTIC_VERSION_LICENSE = BSD-2-Clause +PYTHON_SEMANTIC_VERSION_LICENSE_FILES = LICENSE + +$(eval $(host-python-package)) diff --git a/package/python-semver/Config.in b/package/python-semver/Config.in index c66231a7309..4af2bbf449a 100644 --- a/package/python-semver/Config.in +++ b/package/python-semver/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PYTHON_SEMVER help Python helper for Semantic Versioning (http://semver.org/). - https://github.com/k-bx/python-semver + https://github.com/python-semver/python-semver diff --git a/package/python-semver/python-semver.hash b/package/python-semver/python-semver.hash index 5c13764e571..10cb0a84649 100644 --- a/package/python-semver/python-semver.hash +++ b/package/python-semver/python-semver.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/semver/json -md5 3e11ae9782121e8ffe9f8a8b763a8cb5 semver-2.10.2.tar.gz -sha256 c0a4a9d1e45557297a722ee9bac3de2ec2ea79016b6ffcaca609b0bc62cf4276 semver-2.10.2.tar.gz +md5 e98b5fb283ea84daa5195087de83ebf1 semver-2.13.0.tar.gz +sha256 fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f semver-2.13.0.tar.gz # Locally computed sha256 cda490c32e61d3884dc17791fc8078f2a3e564fba98dd18b4dc64eb2720b2b6f LICENSE.txt diff --git a/package/python-semver/python-semver.mk b/package/python-semver/python-semver.mk index 32ed6b971fb..d3a905754f3 100644 --- a/package/python-semver/python-semver.mk +++ b/package/python-semver/python-semver.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SEMVER_VERSION = 2.10.2 +PYTHON_SEMVER_VERSION = 2.13.0 PYTHON_SEMVER_SOURCE = semver-$(PYTHON_SEMVER_VERSION).tar.gz -PYTHON_SEMVER_SITE = https://files.pythonhosted.org/packages/aa/e8/cb894f70a52887f001aff5f264f68272c21fa58268495aca17df396c161f +PYTHON_SEMVER_SITE = https://files.pythonhosted.org/packages/31/a9/b61190916030ee9af83de342e101f192bbb436c59be20a4cb0cdb7256ece PYTHON_SEMVER_SETUP_TYPE = setuptools PYTHON_SEMVER_LICENSE = BSD-3-Clause PYTHON_SEMVER_LICENSE_FILES = LICENSE.txt diff --git a/package/python-sentry-sdk/python-sentry-sdk.hash b/package/python-sentry-sdk/python-sentry-sdk.hash index feade89f0ac..e9fda822aef 100644 --- a/package/python-sentry-sdk/python-sentry-sdk.hash +++ b/package/python-sentry-sdk/python-sentry-sdk.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sentry-sdk/json -md5 5d4abcc416cbd0b9443bf56588b02b55 sentry-sdk-0.17.3.tar.gz -sha256 0af429c221670e602f960fca85ca3f607c85510a91f11e8be8f742a978127f78 sentry-sdk-0.17.3.tar.gz +md5 6dc8c7586d95f7679c7bf7f749336cf8 sentry-sdk-1.4.3.tar.gz +sha256 b9844751e40710e84a457c5bc29b21c383ccb2b63d76eeaad72f7f1c808c8828 sentry-sdk-1.4.3.tar.gz # Locally computed sha256 checksums sha256 59404d4c854e579097d41bfccd5006afde9d6d70e646cf55074cdbfead5ecf1c LICENSE diff --git a/package/python-sentry-sdk/python-sentry-sdk.mk b/package/python-sentry-sdk/python-sentry-sdk.mk index 256aafa62df..9238b7fb1c2 100644 --- a/package/python-sentry-sdk/python-sentry-sdk.mk +++ b/package/python-sentry-sdk/python-sentry-sdk.mk @@ -4,21 +4,11 @@ # ################################################################################ -PYTHON_SENTRY_SDK_VERSION = 0.17.3 +PYTHON_SENTRY_SDK_VERSION = 1.4.3 PYTHON_SENTRY_SDK_SOURCE = sentry-sdk-$(PYTHON_SENTRY_SDK_VERSION).tar.gz -PYTHON_SENTRY_SDK_SITE = https://files.pythonhosted.org/packages/64/7e/f1725d8649ef8f7d58cbec582157c454884238e59fef00b1707d555c7bea +PYTHON_SENTRY_SDK_SITE = https://files.pythonhosted.org/packages/a7/30/1d967b2e0cac2fa388344b2968fa57e69d5382b922e57cda43af54b9063a PYTHON_SENTRY_SDK_SETUP_TYPE = setuptools PYTHON_SENTRY_SDK_LICENSE = BSD-2-Clause PYTHON_SENTRY_SDK_LICENSE_FILES = LICENSE -ifeq ($(BR2_PACKAGE_PYTHON),y) -# only needed/valid for python 3.x -define PYTHON_SENTRY_SDK_RM_PY3_FILES - rm -f $(addprefix $(TARGET_DIR)/usr/lib/python*/site-packages/sentry_sdk/integrations/,\ - aiohttp.py asgi.py django/asgi.py sanic.py tornado.py) -endef - -PYTHON_SENTRY_SDK_POST_INSTALL_TARGET_HOOKS += PYTHON_SENTRY_SDK_RM_PY3_FILES -endif - $(eval $(python-package)) diff --git a/package/python-serial-asyncio/Config.in b/package/python-serial-asyncio/Config.in index 5520b725068..08396a0eeb9 100644 --- a/package/python-serial-asyncio/Config.in +++ b/package/python-serial-asyncio/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_SERIAL_ASYNCIO bool "python-serial-asyncio" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_SERIAL help asyncio extension package for pyserial. diff --git a/package/python-serial-asyncio/python-serial-asyncio.hash b/package/python-serial-asyncio/python-serial-asyncio.hash index f5d1d9e4850..ccbdda89be6 100644 --- a/package/python-serial-asyncio/python-serial-asyncio.hash +++ b/package/python-serial-asyncio/python-serial-asyncio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyserial-asyncio/json -md5 64d15bfb20982b2129b02070321f49f3 pyserial-asyncio-0.5.tar.gz -sha256 1641e5433a866eeaf6464b3ab88b741e7a89dd8cd0f851b3343b15f425138d33 pyserial-asyncio-0.5.tar.gz +md5 409f32a35a3b530e6b2224e2a5b367da pyserial-asyncio-0.6.tar.gz +sha256 b6032923e05e9d75ec17a5af9a98429c46d2839adfaf80604d52e0faacd7a32f pyserial-asyncio-0.6.tar.gz # Locally computed sha256 checksums -sha256 ebc84abdbdec7f9fa6962612c110123897db47b79529d5ae41191ef584b88f2c LICENSE.txt +sha256 64f3e548f0300d43c5af90b667150a9c57a4307c0f75fe741f76d0419905224a LICENSE.txt diff --git a/package/python-serial-asyncio/python-serial-asyncio.mk b/package/python-serial-asyncio/python-serial-asyncio.mk index bc95f2c44a0..6ee215a81c5 100644 --- a/package/python-serial-asyncio/python-serial-asyncio.mk +++ b/package/python-serial-asyncio/python-serial-asyncio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SERIAL_ASYNCIO_VERSION = 0.5 +PYTHON_SERIAL_ASYNCIO_VERSION = 0.6 PYTHON_SERIAL_ASYNCIO_SOURCE = pyserial-asyncio-$(PYTHON_SERIAL_ASYNCIO_VERSION).tar.gz -PYTHON_SERIAL_ASYNCIO_SITE = https://files.pythonhosted.org/packages/e1/97/8dd1bf656796668ed4bd86058c815b130303a00a7b70cf79758e4918814a +PYTHON_SERIAL_ASYNCIO_SITE = https://files.pythonhosted.org/packages/4a/9a/8477699dcbc1882ea51dcff4d3c25aa3f2063ed8f7d7a849fd8f610506b6 PYTHON_SERIAL_ASYNCIO_LICENSE = BSD-3-Clause PYTHON_SERIAL_ASYNCIO_LICENSE_FILES = LICENSE.txt PYTHON_SERIAL_ASYNCIO_SETUP_TYPE = setuptools diff --git a/package/python-service-identity/Config.in b/package/python-service-identity/Config.in index 0260ab40106..aa6d0fe7155 100644 --- a/package/python-service-identity/Config.in +++ b/package/python-service-identity/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_PYTHON_SERVICE_IDENTITY bool "python-service-identity" - depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl + # python-pyopenssl -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + # python-pyopenssl -> python-cryptography select BR2_PACKAGE_PYTHON_ATTRS # runtime select BR2_PACKAGE_PYTHON_CHARACTERISTIC # runtime - select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_PYASN1 # runtime select BR2_PACKAGE_PYTHON_PYASN1_MODULES # runtime select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime @@ -11,6 +12,3 @@ config BR2_PACKAGE_PYTHON_SERVICE_IDENTITY Service identity verification for pyOpenSSL. https://pypi.python.org/pypi/service_identity - -comment "python-service-identify needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-setproctitle/python-setproctitle.hash b/package/python-setproctitle/python-setproctitle.hash index 6bade7bba7f..88e4453277a 100644 --- a/package/python-setproctitle/python-setproctitle.hash +++ b/package/python-setproctitle/python-setproctitle.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=2dcdd1b761700a5a13252fea3dfd1977 -md5 2dcdd1b761700a5a13252fea3dfd1977 setproctitle-1.1.10.tar.gz +# md5, sha256 from https://pypi.org/pypi/setproctitle/json +md5 9898587a1668f1c53f6699ca5d35256d setproctitle-1.2.2.tar.gz +sha256 7dfb472c8852403d34007e01d6e3c68c57eb66433fb8a5c77b13b89a160d97df setproctitle-1.2.2.tar.gz # Locally computed -sha256 6283b7a58477dd8478fbb9e76defb37968ee4ba47b05ec1c053cb39638bd7398 setproctitle-1.1.10.tar.gz -sha256 40e85df0511ccacd29b6b5898e7e09b76889fc2f5d94b2670ece847977d3bbed COPYRIGHT +sha256 85bd836337aa702e0a4e2a54676c6ae046ffb357dbf4a990189595a60fcd1648 COPYRIGHT diff --git a/package/python-setproctitle/python-setproctitle.mk b/package/python-setproctitle/python-setproctitle.mk index ff33c0c18a3..13e9e261be9 100644 --- a/package/python-setproctitle/python-setproctitle.mk +++ b/package/python-setproctitle/python-setproctitle.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SETPROCTITLE_VERSION = 1.1.10 +PYTHON_SETPROCTITLE_VERSION = 1.2.2 PYTHON_SETPROCTITLE_SOURCE = setproctitle-$(PYTHON_SETPROCTITLE_VERSION).tar.gz -PYTHON_SETPROCTITLE_SITE = https://pypi.python.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3 +PYTHON_SETPROCTITLE_SITE = https://files.pythonhosted.org/packages/a1/7f/a1d4f4c7b66f0fc02f35dc5c85f45a8b4e4a7988357a29e61c14e725ef86 PYTHON_SETPROCTITLE_LICENSE = BSD-3-Clause PYTHON_SETPROCTITLE_LICENSE_FILES = COPYRIGHT PYTHON_SETPROCTITLE_SETUP_TYPE = setuptools diff --git a/package/python-setuptools-rust/python-setuptools-rust.hash b/package/python-setuptools-rust/python-setuptools-rust.hash new file mode 100644 index 00000000000..6bb42d918c4 --- /dev/null +++ b/package/python-setuptools-rust/python-setuptools-rust.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/setuptools-rust/json +md5 479fcd267ff48929bec9a7270e1a96d7 setuptools-rust-1.1.2.tar.gz +sha256 a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1 setuptools-rust-1.1.2.tar.gz +# Locally computed sha256 checksums +sha256 b20668c1590582b3882854050ccfbdb7aee1f71a1ffe9eacc4c5aeb08a14161b LICENSE diff --git a/package/python-setuptools-rust/python-setuptools-rust.mk b/package/python-setuptools-rust/python-setuptools-rust.mk new file mode 100644 index 00000000000..394789b056c --- /dev/null +++ b/package/python-setuptools-rust/python-setuptools-rust.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-setuptools-rust +# +################################################################################ + +PYTHON_SETUPTOOLS_RUST_VERSION = 1.1.2 +PYTHON_SETUPTOOLS_RUST_SOURCE = setuptools-rust-$(PYTHON_SETUPTOOLS_RUST_VERSION).tar.gz +PYTHON_SETUPTOOLS_RUST_SITE = https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a +PYTHON_SETUPTOOLS_RUST_SETUP_TYPE = setuptools +PYTHON_SETUPTOOLS_RUST_LICENSE = MIT +PYTHON_SETUPTOOLS_RUST_LICENSE_FILES = LICENSE +HOST_PYTHON_SETUPTOOLS_RUST_DEPENDENCIES = host-rustc host-python-setuptools-scm host-python-toml host-python-semantic-version host-python-typing-extensions + +$(eval $(host-python-package)) diff --git a/package/python-setuptools-scm/python-setuptools-scm.hash b/package/python-setuptools-scm/python-setuptools-scm.hash index 82dbf143568..934c5054424 100644 --- a/package/python-setuptools-scm/python-setuptools-scm.hash +++ b/package/python-setuptools-scm/python-setuptools-scm.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/setuptools-scm/json -md5 86ec1eb9ec02ba018b097787e98897c5 setuptools_scm-3.5.0.tar.gz -sha256 5bdf21a05792903cafe7ae0c9501182ab52497614fa6b1750d9dbae7b60c1a87 setuptools_scm-3.5.0.tar.gz +md5 b4e02bf8e62ed49142ea7b42a68671d7 setuptools_scm-6.4.2.tar.gz +sha256 6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30 setuptools_scm-6.4.2.tar.gz # sha256 locally computed sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE diff --git a/package/python-setuptools-scm/python-setuptools-scm.mk b/package/python-setuptools-scm/python-setuptools-scm.mk index c6d30e99e72..132eb398aaf 100644 --- a/package/python-setuptools-scm/python-setuptools-scm.mk +++ b/package/python-setuptools-scm/python-setuptools-scm.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_SETUPTOOLS_SCM_VERSION = 3.5.0 +PYTHON_SETUPTOOLS_SCM_VERSION = 6.4.2 PYTHON_SETUPTOOLS_SCM_SOURCE = setuptools_scm-$(PYTHON_SETUPTOOLS_SCM_VERSION).tar.gz -PYTHON_SETUPTOOLS_SCM_SITE = https://files.pythonhosted.org/packages/b2/f7/60a645aae001a2e06cf4b8db2fba9d9f36b8fd378f10647e3e218b61b74b +PYTHON_SETUPTOOLS_SCM_SITE = https://files.pythonhosted.org/packages/4a/18/477d3d9eb2f88230ff2a41de9d8ffa3554b706352787d289f57f76bfba0b PYTHON_SETUPTOOLS_SCM_LICENSE = MIT PYTHON_SETUPTOOLS_SCM_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_SCM_SETUP_TYPE = setuptools +HOST_PYTHON_SETUPTOOLS_SCM_DEPENDENCIES = host-python-packaging host-python-tomli $(eval $(host-python-package)) diff --git a/package/python-setuptools/0001-add-executable.patch b/package/python-setuptools/0001-add-executable.patch index 1f8714eaeba..b688745ce46 100644 --- a/package/python-setuptools/0001-add-executable.patch +++ b/package/python-setuptools/0001-add-executable.patch @@ -1,7 +1,7 @@ From 9b3d307f8f6a1af88f3f810f5a6cf0835830e1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Krause?= Date: Mon, 7 Dec 2015 01:14:33 +0100 -Subject: [PATCH 1/1] add executable +Subject: [PATCH] add executable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -21,7 +21,7 @@ Signed-off-by: Jörg Krause 2 files changed, 11 insertions(+) diff --git a/setuptools/command/install.py b/setuptools/command/install.py -index d2bca2e..b60ef19 100644 +index 72b9a3e..6781d2b 100644 --- a/setuptools/command/install.py +++ b/setuptools/command/install.py @@ -16,6 +16,7 @@ class install(orig.install): @@ -32,19 +32,19 @@ index d2bca2e..b60ef19 100644 ('old-and-unmanageable', None, "Try not to use this!"), ('single-version-externally-managed', None, "used by system package builders to create 'flat' eggs"), -@@ -31,6 +32,7 @@ class install(orig.install): +@@ -38,6 +39,7 @@ class install(orig.install): + ) - def initialize_options(self): orig.install.initialize_options(self) + self.executable = None self.old_and_unmanageable = None self.single_version_externally_managed = None diff --git a/setuptools/command/install_scripts.py b/setuptools/command/install_scripts.py -index be66cb2..07afaf8 100755 +index 9cd8eb0..7786150 100644 --- a/setuptools/command/install_scripts.py +++ b/setuptools/command/install_scripts.py -@@ -11,6 +11,13 @@ class install_scripts(orig.install_scripts): +@@ -13,6 +13,13 @@ class install_scripts(orig.install_scripts): def initialize_options(self): orig.install_scripts.initialize_options(self) self.no_ep = False @@ -58,15 +58,15 @@ index be66cb2..07afaf8 100755 def run(self): import setuptools.command.easy_install as ei -@@ -31,6 +38,8 @@ class install_scripts(orig.install_scripts): +@@ -33,6 +40,8 @@ class install_scripts(orig.install_scripts): ) bs_cmd = self.get_finalized_command('build_scripts') exec_param = getattr(bs_cmd, 'executable', None) + if self.executable is not None: + exec_param = self.executable - bw_cmd = self.get_finalized_command("bdist_wininst") - is_wininst = getattr(bw_cmd, '_is_running', False) - writer = ei.ScriptWriter + try: + bw_cmd = self.get_finalized_command("bdist_wininst") + is_wininst = getattr(bw_cmd, '_is_running', False) -- -2.6.3 +2.30.2 diff --git a/package/python-setuptools/Config.in b/package/python-setuptools/Config.in index f203d0f8148..28228534f81 100644 --- a/package/python-setuptools/Config.in +++ b/package/python-setuptools/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_SETUPTOOLS bool "python-setuptools" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime help Download, build, install, upgrade, and uninstall Python packages. diff --git a/package/python-setuptools/python-setuptools.hash b/package/python-setuptools/python-setuptools.hash index 769b68c35de..8df7155d4cf 100644 --- a/package/python-setuptools/python-setuptools.hash +++ b/package/python-setuptools/python-setuptools.hash @@ -1,4 +1,4 @@ # From https://pypi.org/pypi/setuptools/json -md5 32b6cdce670ce462086d246bea181e9d setuptools-44.0.0.zip -sha256 e5baf7723e5bb8382fc146e33032b241efc63314211a3a120aaa55d62d2bb008 setuptools-44.0.0.zip -sha256 c32a3ac395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a LICENSE +md5 082637e8fbc2e1fd9c637665d8fcccd8 setuptools-60.7.0.tar.gz +sha256 b83cf328a4f6a987c95610e76b29a30778db05174eef71f771776c48f8f25d1b setuptools-60.7.0.tar.gz +sha256 db3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 LICENSE diff --git a/package/python-setuptools/python-setuptools.mk b/package/python-setuptools/python-setuptools.mk index 08a180ce0c3..584f83f7a0e 100644 --- a/package/python-setuptools/python-setuptools.mk +++ b/package/python-setuptools/python-setuptools.mk @@ -4,29 +4,14 @@ # ################################################################################ -# Please keep in sync with -# package/python3-setuptools/python3-setuptools.mk -PYTHON_SETUPTOOLS_VERSION = 44.0.0 -PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).zip -PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/b0/f3/44da7482ac6da3f36f68e253cb04de37365b3dba9036a3c70773b778b485 +PYTHON_SETUPTOOLS_VERSION = 60.7.0 +PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).tar.gz +PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/29/dd/48d662bb93e5e51e72265ef612f869947d4ae4126328d7156824cd50d440 PYTHON_SETUPTOOLS_LICENSE = MIT PYTHON_SETUPTOOLS_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_CPE_ID_VENDOR = python PYTHON_SETUPTOOLS_CPE_ID_PRODUCT = setuptools PYTHON_SETUPTOOLS_SETUP_TYPE = setuptools -HOST_PYTHON_SETUPTOOLS_NEEDS_HOST_PYTHON = python2 - -define PYTHON_SETUPTOOLS_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(PYTHON_SETUPTOOLS_DL_DIR)/$(PYTHON_SETUPTOOLS_SOURCE) - mv $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION)/* $(@D) - $(RM) -r $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION) -endef - -define HOST_PYTHON_SETUPTOOLS_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(HOST_PYTHON_SETUPTOOLS_DL_DIR)/$(PYTHON_SETUPTOOLS_SOURCE) - mv $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION)/* $(@D) - $(RM) -r $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION) -endef $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-sh/python-sh.hash b/package/python-sh/python-sh.hash index fffdd20c15c..13a0207de92 100644 --- a/package/python-sh/python-sh.hash +++ b/package/python-sh/python-sh.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sh/json -md5 7e3dd3a6b49c06db93746994a68cb8cf sh-1.13.1.tar.gz -sha256 97a3d2205e3c6a842d87ebbc9ae93acae5a352b1bc4609b428d0fd5bb9e286a3 sh-1.13.1.tar.gz +md5 33becadcb5214afd00b9eec05fa98c06 sh-1.14.2.tar.gz +sha256 9d7bd0334d494b2a4609fe521b2107438cdb21c0e469ffeeb191489883d6fe0d sh-1.14.2.tar.gz # Locally computed sha256 d8491c6e236568d04f7c8c07f2f1b8f5d142706dab6ab88f6e0d2dd476b6c706 LICENSE.txt diff --git a/package/python-sh/python-sh.mk b/package/python-sh/python-sh.mk index 21c0fb3d771..d2d8b14c8bb 100644 --- a/package/python-sh/python-sh.mk +++ b/package/python-sh/python-sh.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SH_VERSION = 1.13.1 +PYTHON_SH_VERSION = 1.14.2 PYTHON_SH_SOURCE = sh-$(PYTHON_SH_VERSION).tar.gz -PYTHON_SH_SITE = https://files.pythonhosted.org/packages/c9/3b/2c9a22bf1c48ced7ff3a11d4a862682c21d825c35f9d025811ad9808d263 +PYTHON_SH_SITE = https://files.pythonhosted.org/packages/80/39/ed280d183c322453e276a518605b2435f682342f2c3bcf63228404d36375 PYTHON_SH_SETUP_TYPE = setuptools PYTHON_SH_LICENSE = MIT PYTHON_SH_LICENSE_FILES = LICENSE.txt diff --git a/package/python-simpleaudio/Config.in b/package/python-simpleaudio/Config.in index c6fcd8b07a3..1169342be7b 100644 --- a/package/python-simpleaudio/Config.in +++ b/package/python-simpleaudio/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_SIMPLEAUDIO bool "python-simpleaudio" - depends on BR2_PACKAGE_PYTHON3 depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib select BR2_PACKAGE_ALSA_LIB help diff --git a/package/python-simplejson/python-simplejson.hash b/package/python-simplejson/python-simplejson.hash index d89d824d144..0f56d4c6cc8 100644 --- a/package/python-simplejson/python-simplejson.hash +++ b/package/python-simplejson/python-simplejson.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/simplejson/json -md5 8a5ed75c367b90fedc3d685742e2a1c7 simplejson-3.17.0.tar.gz -sha256 2b4b2b738b3b99819a17feaf118265d0753d5536049ea570b3c43b51c4701e81 simplejson-3.17.0.tar.gz +md5 0b8f47c9451bf101a791f8b5bccf1f33 simplejson-3.17.6.tar.gz +sha256 cf98038d2abf63a1ada5730e91e84c642ba6c225b0198c3684151b1f80c5f8a6 simplejson-3.17.6.tar.gz # Locally computed sha256 checksums -sha256 fcaa1e313a99304322e2e0836ea4ee7d839ce9a480438f3922a853edfdde129f LICENSE.txt +sha256 fcaa1e313a99304322e2e0836ea4ee7d839ce9a480438f3922a853edfdde129f LICENSE.txt diff --git a/package/python-simplejson/python-simplejson.mk b/package/python-simplejson/python-simplejson.mk index cf5bd3a482b..52bff7569c9 100644 --- a/package/python-simplejson/python-simplejson.mk +++ b/package/python-simplejson/python-simplejson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIMPLEJSON_VERSION = 3.17.0 +PYTHON_SIMPLEJSON_VERSION = 3.17.6 PYTHON_SIMPLEJSON_SOURCE = simplejson-$(PYTHON_SIMPLEJSON_VERSION).tar.gz -PYTHON_SIMPLEJSON_SITE = https://files.pythonhosted.org/packages/98/87/a7b98aa9256c8843f92878966dc3d8d914c14aad97e2c5ce4798d5743e07 +PYTHON_SIMPLEJSON_SITE = https://files.pythonhosted.org/packages/7a/47/c7cc3d4ed15f09917838a2fb4e1759eafb6d2f37ebf7043af984d8b36cf7 PYTHON_SIMPLEJSON_LICENSE = Academic Free License (AFL), MIT PYTHON_SIMPLEJSON_LICENSE_FILES = LICENSE.txt PYTHON_SIMPLEJSON_CPE_ID_VENDOR = simplejson_project diff --git a/package/python-simplelogging/python-simplelogging.hash b/package/python-simplelogging/python-simplelogging.hash index 86698fe88c5..6d80fb93ec3 100644 --- a/package/python-simplelogging/python-simplelogging.hash +++ b/package/python-simplelogging/python-simplelogging.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/simplelogging/json -md5 e3f9da393098d8fd8ebd8349a00692f2 simplelogging-0.10.0.tar.gz -sha256 c070e0d82b68eff6918076a0edbf0a48b2c9a263854bd35f48a12c6adbbe9d80 simplelogging-0.10.0.tar.gz +md5 97b5f2a5cd9cff1b60c727cd03b3ffe1 simplelogging-0.11.0.tar.gz +sha256 23a128b47d3e88213adc51fdd102aae15a398cf459d782eb19534945d23f0bc5 simplelogging-0.11.0.tar.gz # Locally computed sha256 checksums -sha256 bd2a0fe3b3bab7092ffa7f58d46bb05d98f12f107b3a6be947c098f7c2ad1d1a LICENSE +sha256 bd2a0fe3b3bab7092ffa7f58d46bb05d98f12f107b3a6be947c098f7c2ad1d1a LICENSE diff --git a/package/python-simplelogging/python-simplelogging.mk b/package/python-simplelogging/python-simplelogging.mk index 28acc5c952c..556628613bc 100644 --- a/package/python-simplelogging/python-simplelogging.mk +++ b/package/python-simplelogging/python-simplelogging.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIMPLELOGGING_VERSION = 0.10.0 +PYTHON_SIMPLELOGGING_VERSION = 0.11.0 PYTHON_SIMPLELOGGING_SOURCE = simplelogging-$(PYTHON_SIMPLELOGGING_VERSION).tar.gz -PYTHON_SIMPLELOGGING_SITE = https://files.pythonhosted.org/packages/17/85/3d2431f971e703916c7254e4560ed15451faedf2461eb484da9e1ebc5da6 +PYTHON_SIMPLELOGGING_SITE = https://files.pythonhosted.org/packages/73/d6/4c06aa7f2c3b9fc09429a1196fd357357cc555de5e16c09b2d12e9db1ebb PYTHON_SIMPLELOGGING_SETUP_TYPE = setuptools PYTHON_SIMPLELOGGING_LICENSE = BSD-3-Clause PYTHON_SIMPLELOGGING_LICENSE_FILES = LICENSE diff --git a/package/python-simplesqlite/Config.in b/package/python-simplesqlite/Config.in index 7e5484f4940..81501c9e834 100644 --- a/package/python-simplesqlite/Config.in +++ b/package/python-simplesqlite/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_SIMPLESQLITE bool "python-simplesqlite" - depends on BR2_PACKAGE_PYTHON3 # python-mbstrdecoder select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime diff --git a/package/python-singledispatch/Config.in b/package/python-singledispatch/Config.in deleted file mode 100644 index 4abc219f95d..00000000000 --- a/package/python-singledispatch/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config BR2_PACKAGE_PYTHON_SINGLEDISPATCH - bool "python-singledispatch" - depends on BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_SIX # runtime - help - This library brings functools.singledispatch from - Python 3.4 to Python 2.6-3.3 - - https://pypi.python.org/pypi/singledispatch diff --git a/package/python-singledispatch/python-singledispatch.hash b/package/python-singledispatch/python-singledispatch.hash deleted file mode 100644 index c4eec53e305..00000000000 --- a/package/python-singledispatch/python-singledispatch.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=af2fc6a3d6cc5a02d0bf54d909785fcb -md5 af2fc6a3d6cc5a02d0bf54d909785fcb singledispatch-3.4.0.3.tar.gz -# Locally computed -sha256 5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c singledispatch-3.4.0.3.tar.gz -sha256 5a724c436f88585973787af91cecf58503cbf09e5c1721c516880614700767ef setup.py diff --git a/package/python-singledispatch/python-singledispatch.mk b/package/python-singledispatch/python-singledispatch.mk deleted file mode 100644 index 7e1d5ac8e05..00000000000 --- a/package/python-singledispatch/python-singledispatch.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-singledispatch -# -################################################################################ - -PYTHON_SINGLEDISPATCH_VERSION = 3.4.0.3 -PYTHON_SINGLEDISPATCH_SOURCE = singledispatch-$(PYTHON_SINGLEDISPATCH_VERSION).tar.gz -PYTHON_SINGLEDISPATCH_SITE = https://pypi.python.org/packages/source/s/singledispatch -PYTHON_SINGLEDISPATCH_LICENSE = MIT -PYTHON_SINGLEDISPATCH_LICENSE_FILES = setup.py -PYTHON_SINGLEDISPATCH_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-sip/python-sip.mk b/package/python-sip/python-sip.mk index 1d6c2053961..01ccb1ddd5d 100644 --- a/package/python-sip/python-sip.mk +++ b/package/python-sip/python-sip.mk @@ -10,19 +10,8 @@ PYTHON_SIP_SITE = http://downloads.sourceforge.net/project/pyqt/sip/sip-$(PYTHON PYTHON_SIP_LICENSE = SIP license or GPL-2.0 or GPL-3.0 PYTHON_SIP_LICENSE_FILES = LICENSE LICENSE-GPL2 LICENSE-GPL3 -PYTHON_SIP_DEPENDENCIES = qt5base - -ifeq ($(BR2_PACKAGE_PYTHON),y) -PYTHON_SIP_DEPENDENCIES += python -HOST_PYTHON_SIP_DEPENDENCIES += host-python -PYTHON_SIP_LIB_DIR = usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages -PYTHON_SIP_INCLUDE_DIR = usr/include/python$(PYTHON_VERSION_MAJOR) -else ifeq ($(BR2_PACKAGE_PYTHON3),y) -PYTHON_SIP_DEPENDENCIES += python3 -HOST_PYTHON_SIP_DEPENDENCIES += host-python3 -PYTHON_SIP_LIB_DIR = usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages -PYTHON_SIP_INCLUDE_DIR = usr/include/python$(PYTHON3_VERSION_MAJOR) -endif +PYTHON_SIP_DEPENDENCIES = python3 qt5base +HOST_PYTHON_SIP_DEPENDENCIES = host-python3 define HOST_PYTHON_SIP_CONFIGURE_CMDS (cd $(@D); \ @@ -41,8 +30,8 @@ define PYTHON_SIP_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/bin/python configure.py \ --bindir $(TARGET_DIR)/usr/bin \ - --destdir $(TARGET_DIR)/$(PYTHON_SIP_LIB_DIR) \ - --incdir $(STAGING_DIR)/$(PYTHON_SIP_INCLUDE_DIR) \ + --destdir $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ + --incdir $(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ --sipdir $(TARGET_DIR)/usr/share/sip \ --sysroot $(STAGING_DIR)/usr \ --use-qmake && \ diff --git a/package/python-six/python-six.hash b/package/python-six/python-six.hash index 9945ffd1d74..17615e8699c 100644 --- a/package/python-six/python-six.hash +++ b/package/python-six/python-six.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/six/json -md5 9f90a0eaa0ea7747fda01ca79d21ebcb six-1.15.0.tar.gz -sha256 30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 six-1.15.0.tar.gz +md5 a7c927740e4964dd29b72cebfc1429bb six-1.16.0.tar.gz +sha256 1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 six-1.16.0.tar.gz # Locally computed sha256 checksums sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 LICENSE diff --git a/package/python-six/python-six.mk b/package/python-six/python-six.mk index e7621f5ecb1..9e3e5fcf508 100644 --- a/package/python-six/python-six.mk +++ b/package/python-six/python-six.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIX_VERSION = 1.15.0 +PYTHON_SIX_VERSION = 1.16.0 PYTHON_SIX_SOURCE = six-$(PYTHON_SIX_VERSION).tar.gz -PYTHON_SIX_SITE = https://files.pythonhosted.org/packages/6b/34/415834bfdafca3c5f451532e8a8d9ba89a21c9743a0c59fbd0205c7f9426 +PYTHON_SIX_SITE = https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e PYTHON_SIX_SETUP_TYPE = setuptools PYTHON_SIX_LICENSE = MIT PYTHON_SIX_LICENSE_FILES = LICENSE diff --git a/package/python-slob/Config.in b/package/python-slob/Config.in index 07d04d49a20..c06f5445343 100644 --- a/package/python-slob/Config.in +++ b/package/python-slob/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_PYTHON_SLOB depends on BR2_HOST_GCC_AT_LEAST_4_9 # python-pyicu -> icu depends on BR2_INSTALL_LIBSTDCPP # python-pyicu -> icu depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-pyicu -> icu - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_PYICU # runtime # although optional, it is used as default compression select BR2_PACKAGE_PYTHON3_XZ # runtime @@ -15,7 +14,6 @@ config BR2_PACKAGE_PYTHON_SLOB https://github.com/itkach/slob comment "python-slob needs a toolchain w/ C++, gcc >= 4.9, host gcc >= 4.9" - depends on BR2_PACKAGE_PYTHON3 && !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/python-smmap2/python-smmap2.hash b/package/python-smmap2/python-smmap2.hash index 8a7ea42a5de..9ae758fc62a 100644 --- a/package/python-smmap2/python-smmap2.hash +++ b/package/python-smmap2/python-smmap2.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/smmap2/json -md5 1c59a985be5aa645c4c5a4e063a40dd5 smmap2-2.0.5.tar.gz -sha256 29a9ffa0497e7f2be94ca0ed1ca1aa3cd4cf25a1f6b4f5f87f74b46ed91d609a smmap2-2.0.5.tar.gz +# md5, sha256 from https://pypi.org/pypi/smmap/json +md5 61882572be57023980c36f5493523077 smmap-4.0.0.tar.gz +sha256 7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182 smmap-4.0.0.tar.gz # Locally computed sha256 checksums sha256 88e9d93f708d110b328a834302dd1d5c6afbda530e7721d15d80b3511d86f235 LICENSE diff --git a/package/python-smmap2/python-smmap2.mk b/package/python-smmap2/python-smmap2.mk index daf379fe1a0..bcf20206ce2 100644 --- a/package/python-smmap2/python-smmap2.mk +++ b/package/python-smmap2/python-smmap2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SMMAP2_VERSION = 2.0.5 -PYTHON_SMMAP2_SOURCE = smmap2-$(PYTHON_SMMAP2_VERSION).tar.gz -PYTHON_SMMAP2_SITE = https://files.pythonhosted.org/packages/3b/ba/e49102b3e8ffff644edded25394b2d22ebe3e645f3f6a8139129c4842ffe +PYTHON_SMMAP2_VERSION = 4.0.0 +PYTHON_SMMAP2_SOURCE = smmap-$(PYTHON_SMMAP2_VERSION).tar.gz +PYTHON_SMMAP2_SITE = https://files.pythonhosted.org/packages/dd/d4/2b4f196171674109f0fbb3951b8beab06cd0453c1b247ec0c4556d06648d PYTHON_SMMAP2_SETUP_TYPE = setuptools PYTHON_SMMAP2_LICENSE = BSD-3-Clause PYTHON_SMMAP2_LICENSE_FILES = LICENSE diff --git a/package/python-socketio/Config.in b/package/python-socketio/Config.in index af0f6f32e8b..a34853ec106 100644 --- a/package/python-socketio/Config.in +++ b/package/python-socketio/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_SOCKETIO bool "python-socketio" - select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_BIDICT # runtime select BR2_PACKAGE_PYTHON_ENGINEIO # runtime help Socket.IO server. diff --git a/package/python-socketio/python-socketio.hash b/package/python-socketio/python-socketio.hash index d0d8a87dcf5..40e74cef963 100644 --- a/package/python-socketio/python-socketio.hash +++ b/package/python-socketio/python-socketio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-socketio/json -md5 86cd47dddea1785ce7a6c72f55c93fe7 python-socketio-4.3.1.tar.gz -sha256 506b2cf7a520b40ea0b3f25e1272eff8de134dce6f471c1f6bc0de8c90fe8c57 python-socketio-4.3.1.tar.gz +md5 0507825ca4bd6527cbaed81ec5767bfe python-socketio-5.4.0.tar.gz +sha256 ca807c9e1f168e96dea412d64dd834fb47c470d27fd83da0504aa4b248ba2544 python-socketio-5.4.0.tar.gz # Locally computed sha256 checksums -sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE +sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE diff --git a/package/python-socketio/python-socketio.mk b/package/python-socketio/python-socketio.mk index 73dab26f3cf..f23342b776d 100644 --- a/package/python-socketio/python-socketio.mk +++ b/package/python-socketio/python-socketio.mk @@ -4,20 +4,10 @@ # ################################################################################ -PYTHON_SOCKETIO_VERSION = 4.3.1 -PYTHON_SOCKETIO_SITE = https://files.pythonhosted.org/packages/36/87/e9128a4da04df991fbdb01f44dc4d6dd8f6c03bfd4d1f42dcd6779fd975a +PYTHON_SOCKETIO_VERSION = 5.4.0 +PYTHON_SOCKETIO_SITE = https://files.pythonhosted.org/packages/72/70/9b992f4b8adfcbf0724c079c18629d83f20b36fb0eb64d4fdf874054becf PYTHON_SOCKETIO_SETUP_TYPE = setuptools PYTHON_SOCKETIO_LICENSE = MIT PYTHON_SOCKETIO_LICENSE_FILES = LICENSE -ifeq ($(BR2_PACKAGE_PYTHON),y) -# only needed/valid for python 3.x -define PYTHON_SOCKETIO_RM_PY3_FILES - rm -f $(TARGET_DIR)/usr/lib/python*/site-packages/socketio/asgi.py \ - $(TARGET_DIR)/usr/lib/python*/site-packages/socketio/asyncio_*.py -endef - -PYTHON_SOCKETIO_POST_INSTALL_TARGET_HOOKS += PYTHON_SOCKETIO_RM_PY3_FILES -endif - $(eval $(python-package)) diff --git a/package/python-sockjs/Config.in b/package/python-sockjs/Config.in index 583d7ec7418..92489ec71f7 100644 --- a/package/python-sockjs/Config.in +++ b/package/python-sockjs/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_SOCKJS bool "python-sockjs" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help SockJS server implementation for aiohttp. diff --git a/package/python-sortedcontainers/python-sortedcontainers.hash b/package/python-sortedcontainers/python-sortedcontainers.hash index 311bb77e17b..31463f5e4bf 100644 --- a/package/python-sortedcontainers/python-sortedcontainers.hash +++ b/package/python-sortedcontainers/python-sortedcontainers.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sortedcontainers/json -md5 41a4a1eaf7b85e6b3beb14cfb160bc27 sortedcontainers-2.1.0.tar.gz -sha256 974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a sortedcontainers-2.1.0.tar.gz +md5 50eeb6cb739568b590b28f9a3f445c78 sortedcontainers-2.4.0.tar.gz +sha256 25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 sortedcontainers-2.4.0.tar.gz # Locally computed sha256 checksums -sha256 7dcf4a5137118a925727b8a1690bc6ea70b156ee6739dbb51fd4d386718d6ce5 LICENSE +sha256 1db7cae7fce6452e2e608e401a0f953e0133e4c2d75db69fb8ae851d2086f5b6 LICENSE diff --git a/package/python-sortedcontainers/python-sortedcontainers.mk b/package/python-sortedcontainers/python-sortedcontainers.mk index 43f662a89f3..51df517264b 100644 --- a/package/python-sortedcontainers/python-sortedcontainers.mk +++ b/package/python-sortedcontainers/python-sortedcontainers.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SORTEDCONTAINERS_VERSION = 2.1.0 +PYTHON_SORTEDCONTAINERS_VERSION = 2.4.0 PYTHON_SORTEDCONTAINERS_SOURCE = sortedcontainers-$(PYTHON_SORTEDCONTAINERS_VERSION).tar.gz -PYTHON_SORTEDCONTAINERS_SITE = https://files.pythonhosted.org/packages/29/e0/135df2e733790a3d3bcda970fd080617be8cea3bd98f411e76e6847c17ef +PYTHON_SORTEDCONTAINERS_SITE = https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111 PYTHON_SORTEDCONTAINERS_SETUP_TYPE = setuptools PYTHON_SORTEDCONTAINERS_LICENSE = Apache-2.0 PYTHON_SORTEDCONTAINERS_LICENSE_FILES = LICENSE diff --git a/package/python-soupsieve/Config.in b/package/python-soupsieve/Config.in index c42e9758758..3cb7f8d0c53 100644 --- a/package/python-soupsieve/Config.in +++ b/package/python-soupsieve/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_PYTHON_SOUPSIEVE bool "python-soupsieve" - select BR2_PACKAGE_PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE \ - if BR2_PACKAGE_PYTHON # runtime help A modern CSS selector implementation for Beautiful Soup. diff --git a/package/python-soupsieve/python-soupsieve.hash b/package/python-soupsieve/python-soupsieve.hash index c4c1273e5a6..699cb9581a2 100644 --- a/package/python-soupsieve/python-soupsieve.hash +++ b/package/python-soupsieve/python-soupsieve.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/soupsieve/json -md5 43d8ea20c58494446aa65ba5cc6320fe soupsieve-1.9.4.tar.gz -sha256 605f89ad5fdbfefe30cdc293303665eff2d188865d4dbe4eb510bba1edfbfce3 soupsieve-1.9.4.tar.gz +md5 73ff6ce22ba973fe2d47197834e0f728 soupsieve-2.2.1.tar.gz +sha256 052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc soupsieve-2.2.1.tar.gz # Locally computed sha256 checksums -sha256 0eee19bf360e5f7a8180e2f6d613d716f7115a456f670e3d8bb35c45a0db1838 LICENSE.md +sha256 e34a760fe8bb3e3c1ffaa88abe495cf76e56f8ae3c7a6dde0e4b41cd013c41d4 LICENSE.md diff --git a/package/python-soupsieve/python-soupsieve.mk b/package/python-soupsieve/python-soupsieve.mk index 1203b26ce0d..dd2ddebbb12 100644 --- a/package/python-soupsieve/python-soupsieve.mk +++ b/package/python-soupsieve/python-soupsieve.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SOUPSIEVE_VERSION = 1.9.4 +PYTHON_SOUPSIEVE_VERSION = 2.2.1 PYTHON_SOUPSIEVE_SOURCE = soupsieve-$(PYTHON_SOUPSIEVE_VERSION).tar.gz -PYTHON_SOUPSIEVE_SITE = https://files.pythonhosted.org/packages/7f/4e/95a13527e18b6f1a15c93f1c634b86d5fa634c5619dce695f4e0cd68182f +PYTHON_SOUPSIEVE_SITE = https://files.pythonhosted.org/packages/c8/3f/e71d92e90771ac2d69986aa0e81cf0dfda6271e8483698f4847b861dd449 PYTHON_SOUPSIEVE_SETUP_TYPE = setuptools PYTHON_SOUPSIEVE_LICENSE = MIT PYTHON_SOUPSIEVE_LICENSE_FILES = LICENSE.md diff --git a/package/python-sqlalchemy/python-sqlalchemy.mk b/package/python-sqlalchemy/python-sqlalchemy.mk index 3886e497652..d6829853fcf 100644 --- a/package/python-sqlalchemy/python-sqlalchemy.mk +++ b/package/python-sqlalchemy/python-sqlalchemy.mk @@ -10,5 +10,7 @@ PYTHON_SQLALCHEMY_SITE = https://files.pythonhosted.org/packages/14/0e/487f7fc1e PYTHON_SQLALCHEMY_SETUP_TYPE = setuptools PYTHON_SQLALCHEMY_LICENSE = MIT PYTHON_SQLALCHEMY_LICENSE_FILES = LICENSE +PYTHON_SQLALCHEMY_CPE_ID_VENDOR = sqlalchemy +PYTHON_SQLALCHEMY_CPE_ID_PRODUCT = sqlalchemy $(eval $(python-package)) diff --git a/package/python-sqliteschema/Config.in b/package/python-sqliteschema/Config.in index 83836471292..102a6157656 100644 --- a/package/python-sqliteschema/Config.in +++ b/package/python-sqliteschema/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_SQLITESCHEMA bool "python-sqliteschema" - depends on BR2_PACKAGE_PYTHON3 # python-mbstrdecoder select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TABLEDATA # runtime select BR2_PACKAGE_PYTHON_TYPEPY # runtime help diff --git a/package/python-sqliteschema/python-sqliteschema.hash b/package/python-sqliteschema/python-sqliteschema.hash index b25b0ae17aa..e60bd64325d 100644 --- a/package/python-sqliteschema/python-sqliteschema.hash +++ b/package/python-sqliteschema/python-sqliteschema.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sqliteschema/json -md5 175afa008a628f6dc32392a72d4c6b74 sqliteschema-0.16.2.tar.gz -sha256 023a443abdc12796928c04441fabbbe12e1fe8608f562b4650ae1f9a19504139 sqliteschema-0.16.2.tar.gz +md5 4fb0130e7cc60d92be468091fbfc3d51 sqliteschema-1.2.1.tar.gz +sha256 dde195bd7bc70d5841bc01dff20ec23bd43be87d760d2dfc7c7f2e5fd3808ef3 sqliteschema-1.2.1.tar.gz # Locally computed sha256 checksums -sha256 7588265082eed5e9f4afd5090c57e610b740ec547b16aaaab739ba07c5eefb15 LICENSE +sha256 7588265082eed5e9f4afd5090c57e610b740ec547b16aaaab739ba07c5eefb15 LICENSE diff --git a/package/python-sqliteschema/python-sqliteschema.mk b/package/python-sqliteschema/python-sqliteschema.mk index 890bfb9dc77..5c52e351112 100644 --- a/package/python-sqliteschema/python-sqliteschema.mk +++ b/package/python-sqliteschema/python-sqliteschema.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SQLITESCHEMA_VERSION = 0.16.2 +PYTHON_SQLITESCHEMA_VERSION = 1.2.1 PYTHON_SQLITESCHEMA_SOURCE = sqliteschema-$(PYTHON_SQLITESCHEMA_VERSION).tar.gz -PYTHON_SQLITESCHEMA_SITE = https://files.pythonhosted.org/packages/91/b6/87a9218d37afd061a8b26c0ec058299b85c3f859f1c80aff10752188e056 +PYTHON_SQLITESCHEMA_SITE = https://files.pythonhosted.org/packages/85/f8/be54d4bebf551cb533d1dea11c3bf165a1a408c2a1cceb1f9724aadd9967 PYTHON_SQLITESCHEMA_SETUP_TYPE = setuptools PYTHON_SQLITESCHEMA_LICENSE = MIT PYTHON_SQLITESCHEMA_LICENSE_FILES = LICENSE diff --git a/package/python-subprocess32/Config.in b/package/python-subprocess32/Config.in deleted file mode 100644 index d7fe84f1e62..00000000000 --- a/package/python-subprocess32/Config.in +++ /dev/null @@ -1,13 +0,0 @@ -config BR2_PACKAGE_PYTHON_SUBPROCESS32 - bool "python-subprocess32" - depends on BR2_PACKAGE_PYTHON - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_MIPS_NABI64 - help - A backport of the Python 3 subprocess module for use - on Python 2. - - https://github.com/google/python-subprocess32 - -comment "python-subprocess32 needs a toolchain w/ headers >= 3.10 on MIPS N64" - depends on BR2_MIPS_NABI64 - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 diff --git a/package/python-subprocess32/python-subprocess32.hash b/package/python-subprocess32/python-subprocess32.hash deleted file mode 100644 index 65d18763d10..00000000000 --- a/package/python-subprocess32/python-subprocess32.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/subprocess32/json -md5 748844d560be5f0c707931cba1cdb48b subprocess32-3.5.4.tar.gz -sha256 eb2937c80497978d181efa1b839ec2d9622cf9600a039a79d0e108d1f9aec79d subprocess32-3.5.4.tar.gz -# Locally computed sha256 checksums -sha256 826b43437249d39422642f695154d064da64de92eb1476048a615f50bc1beb4a LICENSE diff --git a/package/python-subprocess32/python-subprocess32.mk b/package/python-subprocess32/python-subprocess32.mk deleted file mode 100644 index fb8a47f9743..00000000000 --- a/package/python-subprocess32/python-subprocess32.mk +++ /dev/null @@ -1,31 +0,0 @@ -################################################################################ -# -# python-subprocess32 -# -################################################################################ - -PYTHON_SUBPROCESS32_VERSION = 3.5.4 -PYTHON_SUBPROCESS32_SOURCE = subprocess32-$(PYTHON_SUBPROCESS32_VERSION).tar.gz -PYTHON_SUBPROCESS32_SITE = https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007 -PYTHON_SUBPROCESS32_SETUP_TYPE = setuptools -PYTHON_SUBPROCESS32_LICENSE = Python-2.0 -PYTHON_SUBPROCESS32_LICENSE_FILES = LICENSE - -# The configure step needs to be run outside of the setup.py since it isn't -# run correctly for cross-compiling -define PYTHON_SUBPROCESS32_CONFIGURE_CMDS - (cd $(@D) && \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ./configure \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --sysconfdir=/etc \ - --program-prefix="" \ - ) -endef - -$(eval $(python-package)) diff --git a/package/python-tabledata/Config.in b/package/python-tabledata/Config.in index a73207f9c09..9947f41af66 100644 --- a/package/python-tabledata/Config.in +++ b/package/python-tabledata/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_TABLEDATA bool "python-tabledata" - depends on BR2_PACKAGE_PYTHON3 # python-dataproperty, python-typepy select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_SIX # runtime diff --git a/package/python-tabledata/python-tabledata.hash b/package/python-tabledata/python-tabledata.hash index 5c9a538f662..3613589ae0d 100644 --- a/package/python-tabledata/python-tabledata.hash +++ b/package/python-tabledata/python-tabledata.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/tabledata/json -md5 7d1ab52001d85d19d86f08a5ad8aab58 tabledata-1.1.2.tar.gz -sha256 db893596ab9066e5c4f002ae0fed70657e3b75cceb52dd1de5a0e145e338d830 tabledata-1.1.2.tar.gz +md5 1874cb0bf69cbc824a7bec67431023a9 tabledata-1.3.0.tar.gz +sha256 54541b0c9e58f8fa38251ea0a60965dbaf95737027fa80e6ab56f98d7e4d61e9 tabledata-1.3.0.tar.gz # Locally computed sha256 checksums sha256 bebbdf0524a147f89a615fff53d79bdc90cbc7631550fb4b725cd3f3bdcd24f6 LICENSE diff --git a/package/python-tabledata/python-tabledata.mk b/package/python-tabledata/python-tabledata.mk index c1503e69cb1..48f544b115d 100644 --- a/package/python-tabledata/python-tabledata.mk +++ b/package/python-tabledata/python-tabledata.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TABLEDATA_VERSION = 1.1.2 +PYTHON_TABLEDATA_VERSION = 1.3.0 PYTHON_TABLEDATA_SOURCE = tabledata-$(PYTHON_TABLEDATA_VERSION).tar.gz -PYTHON_TABLEDATA_SITE = https://files.pythonhosted.org/packages/73/7c/67eec8e92504b8e00e5cc0053a3401bd1441eefc70cecfa4427bfcf76b89 +PYTHON_TABLEDATA_SITE = https://files.pythonhosted.org/packages/ed/ed/dd0d6975963967492ac2c230107587593c7bd94acfa802b0c60a5395125c PYTHON_TABLEDATA_SETUP_TYPE = setuptools PYTHON_TABLEDATA_LICENSE = MIT PYTHON_TABLEDATA_LICENSE_FILES = LICENSE diff --git a/package/python-tempora/Config.in b/package/python-tempora/Config.in index 06ccbfc283e..508cbae3f31 100644 --- a/package/python-tempora/Config.in +++ b/package/python-tempora/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_TEMPORA bool "python-tempora" - depends on BR2_PACKAGE_PYTHON3 # python-jaraco-functools select BR2_PACKAGE_PYTHON_JARACO_FUNCTOOLS # runtime select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_PYTZ # runtime diff --git a/package/python-terminaltables/Config.in b/package/python-terminaltables/Config.in index 8f3c4296edc..8a387466ecd 100644 --- a/package/python-terminaltables/Config.in +++ b/package/python-terminaltables/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PYTHON_TERMINALTABLES Generate simple tables in terminals from a nested list of strings. - https://github.com/Robpol86/terminaltables + https://github.com/matthewdeanmartin/terminaltables diff --git a/package/python-terminaltables/python-terminaltables.hash b/package/python-terminaltables/python-terminaltables.hash index 3184f5f7161..b6c95aa2691 100644 --- a/package/python-terminaltables/python-terminaltables.hash +++ b/package/python-terminaltables/python-terminaltables.hash @@ -1,3 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/terminaltables/json -md5 863797674d8f75d22e16e6c1fdcbeb41 terminaltables-3.1.0.tar.gz -sha256 f3eb0eb92e3833972ac36796293ca0906e998dc3be91fbe1f8615b331b853b81 terminaltables-3.1.0.tar.gz +md5 5467e06a1a6e24dc44e6dd241706668e terminaltables-3.1.10.tar.gz +sha256 ba6eca5cb5ba02bba4c9f4f985af80c54ec3dccf94cfcd190154386255e47543 terminaltables-3.1.10.tar.gz +# Locally computed sha256 checksums +sha256 2e1320fd337db06a3136d0f4101bd62f13249c95c5b581304f35481e979d432a LICENSE diff --git a/package/python-terminaltables/python-terminaltables.mk b/package/python-terminaltables/python-terminaltables.mk index 763f82e9a23..b31ed332b6d 100644 --- a/package/python-terminaltables/python-terminaltables.mk +++ b/package/python-terminaltables/python-terminaltables.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_TERMINALTABLES_VERSION = 3.1.0 +PYTHON_TERMINALTABLES_VERSION = 3.1.10 PYTHON_TERMINALTABLES_SOURCE = terminaltables-$(PYTHON_TERMINALTABLES_VERSION).tar.gz -PYTHON_TERMINALTABLES_SITE = https://files.pythonhosted.org/packages/9b/c4/4a21174f32f8a7e1104798c445dacdc1d4df86f2f26722767034e4de4bff +PYTHON_TERMINALTABLES_SITE = https://files.pythonhosted.org/packages/f5/fc/0b73d782f5ab7feba8d007573a3773c58255f223c5940a7b7085f02153c3 PYTHON_TERMINALTABLES_SETUP_TYPE = setuptools PYTHON_TERMINALTABLES_LICENSE = MIT +PYTHON_TERMINALTABLES_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-texttable/python-texttable.hash b/package/python-texttable/python-texttable.hash index a69e8ed465a..a769e91772a 100644 --- a/package/python-texttable/python-texttable.hash +++ b/package/python-texttable/python-texttable.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/texttable/json -md5 68e6b31d36f5c20221da7d5db3eca772 texttable-1.6.3.tar.gz -sha256 ce0faf21aa77d806bbff22b107cc22cce68dc9438f97a2df32c93e9afa4ce436 texttable-1.6.3.tar.gz +md5 15faadc07ba44d337cc1675ea6092a02 texttable-1.6.4.tar.gz +sha256 42ee7b9e15f7b225747c3fa08f43c5d6c83bc899f80ff9bae9319334824076e9 texttable-1.6.4.tar.gz # Locally computed sha256 checksums -sha256 4ba7bdab54504a3bc44eb33ecca873a26a63ab902822101a87bb46235da63594 LICENSE +sha256 4ba7bdab54504a3bc44eb33ecca873a26a63ab902822101a87bb46235da63594 LICENSE diff --git a/package/python-texttable/python-texttable.mk b/package/python-texttable/python-texttable.mk index 6af23917b94..59df5f6ff5b 100644 --- a/package/python-texttable/python-texttable.mk +++ b/package/python-texttable/python-texttable.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TEXTTABLE_VERSION = 1.6.3 +PYTHON_TEXTTABLE_VERSION = 1.6.4 PYTHON_TEXTTABLE_SOURCE = texttable-$(PYTHON_TEXTTABLE_VERSION).tar.gz -PYTHON_TEXTTABLE_SITE = https://files.pythonhosted.org/packages/f5/be/716342325d6d6e05608e3a10e15f192f3723e454a25ce14bc9b9d1332772 +PYTHON_TEXTTABLE_SITE = https://files.pythonhosted.org/packages/d5/78/dbc2a5eab57a01fedaf975f2c16f04e76f09336dbeadb9994258aa0a2b1a PYTHON_TEXTTABLE_SETUP_TYPE = setuptools PYTHON_TEXTTABLE_LICENSE = MIT PYTHON_TEXTTABLE_LICENSE_FILES = LICENSE diff --git a/package/python-tinycss2/Config.in b/package/python-tinycss2/Config.in new file mode 100644 index 00000000000..a34717e002b --- /dev/null +++ b/package/python-tinycss2/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_PYTHON_TINYCSS2 + bool "python-tinycss2" + select BR2_PACKAGE_PYTHON_WEBENCODINGS # runtime + help + A tiny CSS parser. diff --git a/package/python-tinycss2/python-tinycss2.hash b/package/python-tinycss2/python-tinycss2.hash new file mode 100644 index 00000000000..eeb37547521 --- /dev/null +++ b/package/python-tinycss2/python-tinycss2.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/tinycss2/json +md5 7caf513c4e87fc2449dcfbf407a8416f tinycss2-1.1.0.tar.gz +sha256 fbdcac3044d60eb85fdb2aa840ece43cf7dbe798e373e6ee0be545d4d134e18a tinycss2-1.1.0.tar.gz +# Locally computed sha256 checksums +sha256 6b94acee20ec9f2709333134f3ba70322535fb420af0ce8c1455d9cbe297f1d5 LICENSE diff --git a/package/python-tinycss2/python-tinycss2.mk b/package/python-tinycss2/python-tinycss2.mk new file mode 100644 index 00000000000..4bf5b977669 --- /dev/null +++ b/package/python-tinycss2/python-tinycss2.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-tinycss2 +# +################################################################################ + +PYTHON_TINYCSS2_VERSION = 1.1.0 +PYTHON_TINYCSS2_SOURCE = tinycss2-$(PYTHON_TINYCSS2_VERSION).tar.gz +PYTHON_TINYCSS2_SITE = https://files.pythonhosted.org/packages/ce/d3/ece7a98d5826bd134e269a3a3030153d30482194fca71d95a3041812aab8 +PYTHON_TINYCSS2_SETUP_TYPE = distutils +PYTHON_TINYCSS2_LICENSE = BSD-3-Clause +PYTHON_TINYCSS2_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-tinyrpc/Config.in b/package/python-tinyrpc/Config.in index 3194b7825a8..3c643c754a9 100644 --- a/package/python-tinyrpc/Config.in +++ b/package/python-tinyrpc/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_TINYRPC bool "python-tinyrpc" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_SIX # runtime help A small, modular, transport and protocol neutral RPC diff --git a/package/python-tinyrpc/python-tinyrpc.hash b/package/python-tinyrpc/python-tinyrpc.hash index b4bc7ae863d..d4bd348e616 100644 --- a/package/python-tinyrpc/python-tinyrpc.hash +++ b/package/python-tinyrpc/python-tinyrpc.hash @@ -1,4 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/tinyrpc/json -sha256 4b41fab967fb1c978f573bf0d609a3b12cc3b6ed62bd3108f43f575563746396 tinyrpc-1.0.4.tar.gz -md5 cd61e3cbc01ea940abc97d3a87abf4a7 tinyrpc-1.0.4.tar.gz -sha256 587f1ea174824613f4a7e0d7fb95fda000a7f58ca17df12416e014c9ee82e619 LICENSE +md5 cc7e62891eee806dfbbafb6e3875825e tinyrpc-1.1.4.tar.gz +sha256 c99f412e5d9849c2deb468ea37fee2faf12fbc95bdd3616ae5c276ea195ed6bd tinyrpc-1.1.4.tar.gz +# Locally computed sha256 checksums +sha256 587f1ea174824613f4a7e0d7fb95fda000a7f58ca17df12416e014c9ee82e619 LICENSE diff --git a/package/python-tinyrpc/python-tinyrpc.mk b/package/python-tinyrpc/python-tinyrpc.mk index 0ac0470f74e..e976778fa25 100644 --- a/package/python-tinyrpc/python-tinyrpc.mk +++ b/package/python-tinyrpc/python-tinyrpc.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TINYRPC_VERSION = 1.0.4 +PYTHON_TINYRPC_VERSION = 1.1.4 PYTHON_TINYRPC_SOURCE = tinyrpc-$(PYTHON_TINYRPC_VERSION).tar.gz -PYTHON_TINYRPC_SITE = https://files.pythonhosted.org/packages/9d/91/c639ba014aada92446516c5fc4b04f2cee3539ab2d0758a6a87a6da973cb +PYTHON_TINYRPC_SITE = https://files.pythonhosted.org/packages/d2/86/2741f0c74cc339416c9803b6393eaf230254ecf36ffd839614799e15a202 PYTHON_TINYRPC_SETUP_TYPE = setuptools PYTHON_TINYRPC_LICENSE = MIT PYTHON_TINYRPC_LICENSE_FILES = LICENSE diff --git a/package/python-tomako/Config.in b/package/python-tomako/Config.in index 1521035bb6f..bd6d29982a1 100644 --- a/package/python-tomako/Config.in +++ b/package/python-tomako/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_TOMAKO bool "python-tomako" - depends on BR2_PACKAGE_PYTHON3 # python-tornado select BR2_PACKAGE_PYTHON_TORNADO # runtime select BR2_PACKAGE_PYTHON_MAKO # runtime help diff --git a/package/python-toml/python-toml.hash b/package/python-toml/python-toml.hash index f0641ccda88..dd7215e861c 100644 --- a/package/python-toml/python-toml.hash +++ b/package/python-toml/python-toml.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/toml/json -md5 63fffbe2d632865ec29cd69bfdf36682 toml-0.10.0.tar.gz -sha256 229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c toml-0.10.0.tar.gz +md5 59bce5d8d67e858735ec3f399ec90253 toml-0.10.2.tar.gz +sha256 b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f toml-0.10.2.tar.gz # Locally computed sha256 checksums -sha256 a879cc43c06aca11ada36f71c8db7257449ff4451874a0903f129920c66fcf2d LICENSE +sha256 2d9294823df6c89357c8be4927fce79361d6561e5ee7532d5926e63939aaa536 LICENSE diff --git a/package/python-toml/python-toml.mk b/package/python-toml/python-toml.mk index b4f9070f24e..0e95652165a 100644 --- a/package/python-toml/python-toml.mk +++ b/package/python-toml/python-toml.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_TOML_VERSION = 0.10.0 +PYTHON_TOML_VERSION = 0.10.2 PYTHON_TOML_SOURCE = toml-$(PYTHON_TOML_VERSION).tar.gz -PYTHON_TOML_SITE = https://files.pythonhosted.org/packages/b9/19/5cbd78eac8b1783671c40e34bb0fa83133a06d340a38b55c645076d40094 +PYTHON_TOML_SITE = https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c PYTHON_TOML_SETUP_TYPE = setuptools PYTHON_TOML_LICENSE = MIT PYTHON_TOML_LICENSE_FILES = LICENSE $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-tomli/Config.in b/package/python-tomli/Config.in new file mode 100644 index 00000000000..d2ae49a45f2 --- /dev/null +++ b/package/python-tomli/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_TOMLI + bool "python-tomli" + help + A lil' TOML parser. + + https://github.com/hukkin/tomli diff --git a/package/python-tomli/python-tomli.hash b/package/python-tomli/python-tomli.hash new file mode 100644 index 00000000000..1a274c8a402 --- /dev/null +++ b/package/python-tomli/python-tomli.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/tomli/json +md5 2ecbc7a23b8c8dc2fe96f588f88463d9 tomli-1.2.0.tar.gz +sha256 d60e681734099207a6add7a10326bc2ddd1fdc36c1b0f547d00ef73ac63739c2 tomli-1.2.0.tar.gz +# Locally computed sha256 checksums +sha256 b80816b0d530b8accb4c2211783790984a6e3b61922c2b5ee92f3372ab2742fe LICENSE diff --git a/package/python-tomli/python-tomli.mk b/package/python-tomli/python-tomli.mk new file mode 100644 index 00000000000..b8c20ca736d --- /dev/null +++ b/package/python-tomli/python-tomli.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-tomli +# +################################################################################ + +PYTHON_TOMLI_VERSION = 1.2.0 +PYTHON_TOMLI_SOURCE = tomli-$(PYTHON_TOMLI_VERSION).tar.gz +PYTHON_TOMLI_SITE = https://files.pythonhosted.org/packages/ec/38/8eccdc662c61aed187d5f5b168c18b1d2de3827976c3691e4da8be7375aa +PYTHON_TOMLI_SETUP_TYPE = distutils +PYTHON_TOMLI_LICENSE = MIT +PYTHON_TOMLI_LICENSE_FILES = LICENSE + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-tornado/Config.in b/package/python-tornado/Config.in index e1bf8343f0f..b5c59e970d7 100644 --- a/package/python-tornado/Config.in +++ b/package/python-tornado/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_TORNADO bool "python-tornado" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON3_ZLIB select BR2_PACKAGE_PYTHON3_SSL help diff --git a/package/python-tornado/python-tornado.mk b/package/python-tornado/python-tornado.mk index 15f3b836891..c05a7d65d3e 100644 --- a/package/python-tornado/python-tornado.mk +++ b/package/python-tornado/python-tornado.mk @@ -9,6 +9,8 @@ PYTHON_TORNADO_SOURCE = tornado-$(PYTHON_TORNADO_VERSION).tar.gz PYTHON_TORNADO_SITE = https://files.pythonhosted.org/packages/95/84/119a46d494f008969bf0c775cb2c6b3579d3c4cc1bb1b41a022aa93ee242 PYTHON_TORNADO_LICENSE = Apache-2.0 PYTHON_TORNADO_LICENSE_FILES = LICENSE +PYTHON_TORNADO_CPE_ID_VENDOR = tornadoweb +PYTHON_TORNADO_CPE_ID_PRODUCT = tornado PYTHON_TORNADO_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-tqdm/python-tqdm.mk b/package/python-tqdm/python-tqdm.mk index 4ff4696e650..5ceddde14c4 100644 --- a/package/python-tqdm/python-tqdm.mk +++ b/package/python-tqdm/python-tqdm.mk @@ -10,5 +10,7 @@ PYTHON_TQDM_SITE = https://files.pythonhosted.org/packages/4c/45/830c5c4bfaba60e PYTHON_TQDM_SETUP_TYPE = setuptools PYTHON_TQDM_LICENSE = MPL-2.0, MIT PYTHON_TQDM_LICENSE_FILES = LICENCE +PYTHON_TQDM_CPE_ID_VENDOR = tqdm_project +PYTHON_TQDM_CPE_ID_PRODUCT = tqdm $(eval $(python-package)) diff --git a/package/python-traitlets/Config.in b/package/python-traitlets/Config.in index f1804e55be8..a2736011639 100644 --- a/package/python-traitlets/Config.in +++ b/package/python-traitlets/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_PYTHON_TRAITLETS bool "python-traitlets" - select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime - select BR2_PACKAGE_PYTHON_IPYTHON_GENUTILS # runtime - select BR2_PACKAGE_PYTHON_DECORATOR # runtime help A configuration system for Python applications. diff --git a/package/python-traitlets/python-traitlets.hash b/package/python-traitlets/python-traitlets.hash index 068db553c37..01e2bf8e305 100644 --- a/package/python-traitlets/python-traitlets.hash +++ b/package/python-traitlets/python-traitlets.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/traitlets/json -md5 3a4f263af65d3d79f1c279f0247077ef traitlets-4.3.3.tar.gz -sha256 d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7 traitlets-4.3.3.tar.gz +md5 19483ec0685e837912cff128209aa845 traitlets-5.1.0.tar.gz +sha256 bd382d7ea181fbbcce157c133db9a829ce06edffe097bcf3ab945b435452b46d traitlets-5.1.0.tar.gz # Locally computed sha256 checksums -sha256 71c89129039b870cc92309466c4fbe8f285a82fa0ea36f0e840fa83979cbe31f COPYING.md +sha256 71c89129039b870cc92309466c4fbe8f285a82fa0ea36f0e840fa83979cbe31f COPYING.md diff --git a/package/python-traitlets/python-traitlets.mk b/package/python-traitlets/python-traitlets.mk index 5973caf3bb9..5f41f6ee8f9 100644 --- a/package/python-traitlets/python-traitlets.mk +++ b/package/python-traitlets/python-traitlets.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TRAITLETS_VERSION = 4.3.3 +PYTHON_TRAITLETS_VERSION = 5.1.0 PYTHON_TRAITLETS_SOURCE = traitlets-$(PYTHON_TRAITLETS_VERSION).tar.gz -PYTHON_TRAITLETS_SITE = https://files.pythonhosted.org/packages/75/b0/43deb021bc943f18f07cbe3dac1d681626a48997b7ffa1e7fb14ef922b21 +PYTHON_TRAITLETS_SITE = https://files.pythonhosted.org/packages/d5/bc/37d490908e7ac949614d62767db3c86f37bc5adb6129d378c35859a75b87 PYTHON_TRAITLETS_LICENSE = BSD-3-Clause PYTHON_TRAITLETS_LICENSE_FILES = COPYING.md PYTHON_TRAITLETS_SETUP_TYPE = distutils diff --git a/package/python-treq/Config.in b/package/python-treq/Config.in index 23056e72d22..5d76a5cdd65 100644 --- a/package/python-treq/Config.in +++ b/package/python-treq/Config.in @@ -1,20 +1,16 @@ config BR2_PACKAGE_PYTHON_TREQ bool "python-treq" - depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl + # twisted TLS -> python-{pyopenssl,service-identity} + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_ATTRS # runtime - select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_HYPERLINK # runtime select BR2_PACKAGE_PYTHON_INCREMENTAL # runtime - select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime - select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TWISTED # runtime + select BR2_PACKAGE_PYTHON_TWISTED_TLS # runtime help treq is an HTTP library inspired by requests but written on top of Twisted's Agents. It provides a simple, higher level API for making HTTP requests when using Twisted. https://github.com/twisted/treq - -comment "python-treq needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-treq/python-treq.hash b/package/python-treq/python-treq.hash index 288279cbd87..aecf71aad89 100644 --- a/package/python-treq/python-treq.hash +++ b/package/python-treq/python-treq.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/treq/json -md5 b75f6c89fd481989a9cfdec8d61a6d84 treq-20.3.0.tar.gz -sha256 a72d7587d6f81c7a32620b00175825b4334bafbde73d37098d139ac7b11dca98 treq-20.3.0.tar.gz +md5 43892086d556e7596392134f1e10bdef treq-22.2.0.tar.gz +sha256 df757e3f141fc782ede076a604521194ffcb40fa2645cf48e5a37060307f52ec treq-22.2.0.tar.gz # Locally computed sha256 checksums sha256 7cc1b65e1937b1cc07052bb864ec96d8e5fd413400c0842e5b89a8201a600293 LICENSE diff --git a/package/python-treq/python-treq.mk b/package/python-treq/python-treq.mk index 320f57b6f26..8995bf2cfe9 100644 --- a/package/python-treq/python-treq.mk +++ b/package/python-treq/python-treq.mk @@ -4,9 +4,12 @@ # ################################################################################ -PYTHON_TREQ_VERSION = 20.3.0 +# When bumping this package, make sure to also verify if the +# python-twisted package still works and to update its hash, +# as they share the same version/site variables. +PYTHON_TREQ_VERSION = 22.2.0 PYTHON_TREQ_SOURCE = treq-$(PYTHON_TREQ_VERSION).tar.gz -PYTHON_TREQ_SITE = https://files.pythonhosted.org/packages/98/09/25064d7224efde9fd51e8865353d516c53306e476eab27ab21fb258cf7d4 +PYTHON_TREQ_SITE = https://files.pythonhosted.org/packages/cd/c8/b68ab17d994133baf6edbcb5551ba81e1494bdc6d5e21a9d4f3bc4315140 PYTHON_TREQ_LICENSE = MIT PYTHON_TREQ_LICENSE_FILES = LICENSE PYTHON_TREQ_SETUP_TYPE = setuptools diff --git a/package/python-twisted/Config.in b/package/python-twisted/Config.in index 4e24a3f71af..8596025e9c8 100644 --- a/package/python-twisted/Config.in +++ b/package/python-twisted/Config.in @@ -7,6 +7,7 @@ config BR2_PACKAGE_PYTHON_TWISTED select BR2_PACKAGE_PYTHON_HYPERLINK # runtime select BR2_PACKAGE_PYTHON_PYHAMCREST # runtime select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE # runtime + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help Twisted is an event-driven networking engine written in Python. @@ -22,12 +23,10 @@ config BR2_PACKAGE_PYTHON_TWISTED_HTTP2 config BR2_PACKAGE_PYTHON_TWISTED_TLS bool "TLS support" - depends on BR2_INSTALL_LIBSTDCPP # python-{pyopenssl,service-identity} + # python-{pyopenssl,service-identity} + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_IDNA # runtime select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY # runtime -comment "TLS support needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - endif diff --git a/package/python-twisted/python-twisted.hash b/package/python-twisted/python-twisted.hash index c633112e9dd..63da0125b84 100644 --- a/package/python-twisted/python-twisted.hash +++ b/package/python-twisted/python-twisted.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/twisted/json -md5 fc16d575730db7d0cddd09fc35af3eea Twisted-20.3.0.tar.bz2 -sha256 d72c55b5d56e176563b91d11952d13b01af8725c623e498db5507b6614fc1e10 Twisted-20.3.0.tar.bz2 +md5 fd252d0b895ca2ab81b5b1454073d890 Twisted-22.2.0.tar.gz +sha256 57f32b1f6838facb8c004c89467840367ad38e9e535f8252091345dba500b4f2 Twisted-22.2.0.tar.gz # Locally computed sha256 -sha256 98426fd47315df70098e0d85efbb5d7dd8001c9c536386937354640d6d8d75b9 LICENSE +sha256 686f6426a775450eb3afd00bc3a5c2621f305ddb9c8478ee9bf28a368ef2dece LICENSE diff --git a/package/python-twisted/python-twisted.mk b/package/python-twisted/python-twisted.mk index 49d97af0977..8a89d3dc82d 100644 --- a/package/python-twisted/python-twisted.mk +++ b/package/python-twisted/python-twisted.mk @@ -4,9 +4,12 @@ # ################################################################################ -PYTHON_TWISTED_VERSION = 20.3.0 -PYTHON_TWISTED_SOURCE = Twisted-$(PYTHON_TWISTED_VERSION).tar.bz2 -PYTHON_TWISTED_SITE = https://files.pythonhosted.org/packages/4a/b4/4973c7ccb5be2ec0abc779b7d5f9d5f24b17b0349e23240cfc9dc3bd83cc +# When bumping this package, make sure to also verify if the +# python-treq package still works and to update its hash, +# as they share the same version/site variables. +PYTHON_TWISTED_VERSION = 22.2.0 +PYTHON_TWISTED_SOURCE = Twisted-$(PYTHON_TWISTED_VERSION).tar.gz +PYTHON_TWISTED_SITE = https://files.pythonhosted.org/packages/40/8b/56e8870d412c550b3ff2d6714ee212c7e80a6634f4e720c3a26a983e7b46 PYTHON_TWISTED_SETUP_TYPE = setuptools PYTHON_TWISTED_LICENSE = MIT PYTHON_TWISTED_LICENSE_FILES = LICENSE diff --git a/package/python-txaio/Config.in b/package/python-txaio/Config.in index 19a318a9024..eddd983ea6c 100644 --- a/package/python-txaio/Config.in +++ b/package/python-txaio/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_TXAIO bool "python-txaio" - depends on BR2_PACKAGE_PYTHON3 help Compatibility API between asyncio/Twisted/Trollius. diff --git a/package/python-txaio/python-txaio.hash b/package/python-txaio/python-txaio.hash index 15b1f5f2c95..5e05f02d3ad 100644 --- a/package/python-txaio/python-txaio.hash +++ b/package/python-txaio/python-txaio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/txaio/json -md5 c998be8d5837218c809266c0fce94687 txaio-20.4.1.tar.gz -sha256 17938f2bca4a9cabce61346758e482ca4e600160cbc28e861493eac74a19539d txaio-20.4.1.tar.gz +md5 7e80b80ed7797245a5eef803043bdede txaio-21.2.1.tar.gz +sha256 7d6f89745680233f1c4db9ddb748df5e88d2a7a37962be174c0fd04c8dba1dc8 txaio-21.2.1.tar.gz # Locally computed sha256 checksums sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/package/python-txaio/python-txaio.mk b/package/python-txaio/python-txaio.mk index 2dd028f4f75..750d9e3d3da 100644 --- a/package/python-txaio/python-txaio.mk +++ b/package/python-txaio/python-txaio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXAIO_VERSION = 20.4.1 +PYTHON_TXAIO_VERSION = 21.2.1 PYTHON_TXAIO_SOURCE = txaio-$(PYTHON_TXAIO_VERSION).tar.gz -PYTHON_TXAIO_SITE = https://files.pythonhosted.org/packages/e7/dd/c0c90b080c3fad0ac8e2382eddbe86591d4fa1a5c1aea652de0adf245fc0 +PYTHON_TXAIO_SITE = https://files.pythonhosted.org/packages/c5/39/2e715062283f8443d8ceeea32276db71741664d78d43c3edd3675498e926 PYTHON_TXAIO_LICENSE = MIT PYTHON_TXAIO_LICENSE_FILES = LICENSE PYTHON_TXAIO_SETUP_TYPE = setuptools diff --git a/package/python-txdbus/Config.in b/package/python-txdbus/Config.in index f38bbf93f03..f3ea4c78d6b 100644 --- a/package/python-txdbus/Config.in +++ b/package/python-txdbus/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_PYTHON_TXDBUS bool "python-txdbus" + # python-twisted -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + # python-twisted -> python-cryptography select BR2_PACKAGE_PYTHON_TWISTED # runtime select BR2_PACKAGE_PYTHON_SIX # runtime help diff --git a/package/python-txtorcon/Config.in b/package/python-txtorcon/Config.in index 4f91e7b048d..fbea7be8cf8 100644 --- a/package/python-txtorcon/Config.in +++ b/package/python-txtorcon/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_PYTHON_TXTORCON bool "python-txtorcon" - depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl, python-service-identity + # python-pyopenssl -> python-cryptography + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_AUTOMAT # runtime select BR2_PACKAGE_PYTHON_IDNA # runtime select BR2_PACKAGE_PYTHON_INCREMENTAL # runtime - select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY # runtime select BR2_PACKAGE_PYTHON_TWISTED # runtime @@ -14,6 +14,3 @@ config BR2_PACKAGE_PYTHON_TXTORCON configuration abstractions. https://github.com/meejah/txtorcon - -comment "python-txtorcon needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-txtorcon/python-txtorcon.hash b/package/python-txtorcon/python-txtorcon.hash index 803933f1e6c..af542c7f2ed 100644 --- a/package/python-txtorcon/python-txtorcon.hash +++ b/package/python-txtorcon/python-txtorcon.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/txtorcon/json -md5 fb323f9874298a8145dbe8d43c387932 txtorcon-19.1.0.tar.gz -sha256 25d8e52c3eac45bb90ff958ca7cdd7674fb3284e3a50826a58ab7b9578b15ea5 txtorcon-19.1.0.tar.gz +md5 dbb53821a3ce3e921e09c5de4f722fdb txtorcon-21.1.0.tar.gz +sha256 aebf0b9ec6c69a029f6b61fd534e785692e28fdcd2fd003ce3cc132b9393b7d6 txtorcon-21.1.0.tar.gz # Locally computed sha256 checksums sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE diff --git a/package/python-txtorcon/python-txtorcon.mk b/package/python-txtorcon/python-txtorcon.mk index 4df400c3e7c..acf586cb8c0 100644 --- a/package/python-txtorcon/python-txtorcon.mk +++ b/package/python-txtorcon/python-txtorcon.mk @@ -4,20 +4,11 @@ # ################################################################################ -PYTHON_TXTORCON_VERSION = 19.1.0 +PYTHON_TXTORCON_VERSION = 21.1.0 PYTHON_TXTORCON_SOURCE = txtorcon-$(PYTHON_TXTORCON_VERSION).tar.gz -PYTHON_TXTORCON_SITE = https://files.pythonhosted.org/packages/8c/26/d5b2fba4ffbcb23957ff2cee4d7d0a2d667372b9eb04807058bd561c8e8f +PYTHON_TXTORCON_SITE = https://files.pythonhosted.org/packages/eb/43/2426009377cef519c53bdc8969590cb100e9fd745846859963c881c6d176 PYTHON_TXTORCON_SETUP_TYPE = setuptools PYTHON_TXTORCON_LICENSE = MIT PYTHON_TXTORCON_LICENSE_FILES = LICENSE -ifeq ($(BR2_PACKAGE_PYTHON),y) -# only needed/valid for python 3.x -define PYTHON_TXTORCON_RM_PY3_FILE - rm -f $(TARGET_DIR)/usr/lib/python*/site-packages/txtorcon/controller_py3.py -endef - -PYTHON_TXTORCON_POST_INSTALL_TARGET_HOOKS += PYTHON_TXTORCON_RM_PY3_FILE -endif - $(eval $(python-package)) diff --git a/package/python-typepy/Config.in b/package/python-typepy/Config.in index 0d58efb341a..3438e744756 100644 --- a/package/python-typepy/Config.in +++ b/package/python-typepy/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_PYTHON_TYPEPY bool "python-typepy" - depends on BR2_PACKAGE_PYTHON3 # python-mbstrdecoder - select BR2_PACKAGE_PYTHON_DATEUTIL # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime - select BR2_PACKAGE_PYTHON_PYTZ # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime help A Python library for variable type checker/validator/converter at a run time. diff --git a/package/python-typepy/python-typepy.hash b/package/python-typepy/python-typepy.hash index 03f7aef2e59..eade667341b 100644 --- a/package/python-typepy/python-typepy.hash +++ b/package/python-typepy/python-typepy.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/typepy/json -md5 b9abd4d661dabe512e95ca69ddb65d55 typepy-0.0.20.tar.gz -# Locally computed -sha256 a1a5b9438670d4a5d9f882b7499ea85d06dc384577bb7636cb29d903288bca8c typepy-0.0.20.tar.gz +# md5, sha256 from https://pypi.org/pypi/typepy/json +md5 9f73bef9ce9e9ccf49ed63a2dadada90 typepy-1.3.0.tar.gz +sha256 96788530614083164993d1443959f6c58e6bb8e2da839812ddf462c203e4b84c typepy-1.3.0.tar.gz +# Locally computed sha256 checksums sha256 bebbdf0524a147f89a615fff53d79bdc90cbc7631550fb4b725cd3f3bdcd24f6 LICENSE diff --git a/package/python-typepy/python-typepy.mk b/package/python-typepy/python-typepy.mk index 33d80919982..6c556df9866 100644 --- a/package/python-typepy/python-typepy.mk +++ b/package/python-typepy/python-typepy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TYPEPY_VERSION = 0.0.20 +PYTHON_TYPEPY_VERSION = 1.3.0 PYTHON_TYPEPY_SOURCE = typepy-$(PYTHON_TYPEPY_VERSION).tar.gz -PYTHON_TYPEPY_SITE = https://pypi.python.org/packages/88/98/c79a19ae571d713fa0b10bc7e0fe611e53c542720b5a9dd2691ca15b3dd8 +PYTHON_TYPEPY_SITE = https://files.pythonhosted.org/packages/07/7b/fb32933f2a17992af75c0f96e5538a25fecebd439a82dcc31926ba55d336 PYTHON_TYPEPY_SETUP_TYPE = setuptools PYTHON_TYPEPY_LICENSE = MIT PYTHON_TYPEPY_LICENSE_FILES = LICENSE diff --git a/package/python-typing-extensions/Config.in b/package/python-typing-extensions/Config.in index 0c7c74c5fad..b59693282fb 100644 --- a/package/python-typing-extensions/Config.in +++ b/package/python-typing-extensions/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS bool "python-typing-extensions" - select BR2_PACKAGE_PYTHON_TYPING if BR2_PACKAGE_PYTHON # runtime help Backported and Experimental Type Hints for Python 3.5+. diff --git a/package/python-typing-extensions/python-typing-extensions.hash b/package/python-typing-extensions/python-typing-extensions.hash index 4c76caba43c..abaac77d345 100644 --- a/package/python-typing-extensions/python-typing-extensions.hash +++ b/package/python-typing-extensions/python-typing-extensions.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/typing_extensions/json -md5 5fcbfcb22e6f8c9bf23fb9f8e020f6ee typing_extensions-3.7.4.3.tar.gz -sha256 99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c typing_extensions-3.7.4.3.tar.gz +md5 ed80ecc8eac5cb15840535ca54eb43f3 typing_extensions-3.10.0.2.tar.gz +sha256 49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e typing_extensions-3.10.0.2.tar.gz # Locally computed sha256 checksums sha256 ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad LICENSE diff --git a/package/python-typing-extensions/python-typing-extensions.mk b/package/python-typing-extensions/python-typing-extensions.mk index 2bcf1342a22..668071e0250 100644 --- a/package/python-typing-extensions/python-typing-extensions.mk +++ b/package/python-typing-extensions/python-typing-extensions.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_TYPING_EXTENSIONS_VERSION = 3.7.4.3 +PYTHON_TYPING_EXTENSIONS_VERSION = 3.10.0.2 PYTHON_TYPING_EXTENSIONS_SOURCE = typing_extensions-$(PYTHON_TYPING_EXTENSIONS_VERSION).tar.gz -PYTHON_TYPING_EXTENSIONS_SITE = https://files.pythonhosted.org/packages/16/06/0f7367eafb692f73158e5c5cbca1aec798cdf78be5167f6415dd4205fa32 +PYTHON_TYPING_EXTENSIONS_SITE = https://files.pythonhosted.org/packages/ed/12/c5079a15cf5c01d7f4252b473b00f7e68ee711be605b9f001528f0298b98 PYTHON_TYPING_EXTENSIONS_SETUP_TYPE = setuptools PYTHON_TYPING_EXTENSIONS_LICENSE = Python-2.0 PYTHON_TYPING_EXTENSIONS_LICENSE_FILES = LICENSE $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-typing/Config.in b/package/python-typing/Config.in deleted file mode 100644 index 81b7d71b4b9..00000000000 --- a/package/python-typing/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_PYTHON_TYPING - bool "python-typing" - depends on BR2_PACKAGE_PYTHON - help - Type Hints for Python. This is a backport of the standard - library typing module to Python versions older than 3.5. - - https://docs.python.org/3/library/typing.html diff --git a/package/python-typing/python-typing.hash b/package/python-typing/python-typing.hash deleted file mode 100644 index 438ecb0727f..00000000000 --- a/package/python-typing/python-typing.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/typing/json -md5 276296e7b6b617d4f8b5e8874f240bd4 typing-3.7.4.3.tar.gz -sha256 1187fb9c82fd670d10aa07bbb6cfcfe4bdda42d6fab8d5134f04e8c4d0b71cc9 typing-3.7.4.3.tar.gz -# Locally computed sha256 checksums -sha256 ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad LICENSE diff --git a/package/python-typing/python-typing.mk b/package/python-typing/python-typing.mk deleted file mode 100644 index efb21962863..00000000000 --- a/package/python-typing/python-typing.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# python-typing -# -################################################################################ - -PYTHON_TYPING_VERSION = 3.7.4.3 -PYTHON_TYPING_SOURCE = typing-$(PYTHON_TYPING_VERSION).tar.gz -PYTHON_TYPING_SITE = https://files.pythonhosted.org/packages/05/d9/6eebe19d46bd05360c9a9aae822e67a80f9242aabbfc58b641b957546607 -PYTHON_TYPING_SETUP_TYPE = setuptools -PYTHON_TYPING_LICENSE = Python-2.0, others -PYTHON_TYPING_LICENSE_FILES = LICENSE - -$(eval $(python-package)) -$(eval $(host-python-package)) diff --git a/package/python-u-msgpack/python-u-msgpack.hash b/package/python-u-msgpack/python-u-msgpack.hash index 70c67c7283c..0891783985e 100644 --- a/package/python-u-msgpack/python-u-msgpack.hash +++ b/package/python-u-msgpack/python-u-msgpack.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/u-msgpack-python/json -md5 bbeedd924f3d8c8ee90611914b3594e6 u-msgpack-python-2.5.2.tar.gz -sha256 09c85a8af77376034396681e76bf30c249a4fd8e5ebb239f8a468d3655f210d0 u-msgpack-python-2.5.2.tar.gz -# Locally computed sha256 -sha256 0603a3e697a80b13640e3023bb534727f683ada5c4b0b0149d001ec5272d64f4 LICENSE +md5 8691cea6bc7b44bce6e2115260a54323 u-msgpack-python-2.7.1.tar.gz +sha256 b7e7d433cab77171a4c752875d91836f3040306bab5063fb6dbe11f64ea69551 u-msgpack-python-2.7.1.tar.gz +# Locally computed sha256 checksums +sha256 268ae7b7efbf67cd7bc0a9efea844fcf448d03f9cc6b8c79e8fe311815985030 LICENSE diff --git a/package/python-u-msgpack/python-u-msgpack.mk b/package/python-u-msgpack/python-u-msgpack.mk index 6d98e552210..e0a3b3f297e 100644 --- a/package/python-u-msgpack/python-u-msgpack.mk +++ b/package/python-u-msgpack/python-u-msgpack.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_U_MSGPACK_VERSION = 2.5.2 +PYTHON_U_MSGPACK_VERSION = 2.7.1 PYTHON_U_MSGPACK_SOURCE = u-msgpack-python-$(PYTHON_U_MSGPACK_VERSION).tar.gz -PYTHON_U_MSGPACK_SITE = https://files.pythonhosted.org/packages/75/c4/d9404382d0f7d9be27b5d13498d033a4faa83f325b3893e1c29a0faa83b9 +PYTHON_U_MSGPACK_SITE = https://files.pythonhosted.org/packages/62/94/a4f485b628310534d377b3e7cb6f85b8066dc823dbff0e4421fb4227fb7e PYTHON_U_MSGPACK_SETUP_TYPE = setuptools PYTHON_U_MSGPACK_LICENSE = MIT PYTHON_U_MSGPACK_LICENSE_FILES = LICENSE diff --git a/package/python-ubjson/python-ubjson.hash b/package/python-ubjson/python-ubjson.hash index a7e954ce5d5..baf3ce7bdc5 100644 --- a/package/python-ubjson/python-ubjson.hash +++ b/package/python-ubjson/python-ubjson.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/py-ubjson/json -md5 26c07be8e4c9f2b0ee7c42a9aca118ed py-ubjson-0.14.0.tar.gz -sha256 f742c87bccc8653329d3f79b8b3f40d44d11d17cce7f6d7025a73c52ebf91c66 py-ubjson-0.14.0.tar.gz +md5 0f9f2b4d68ae8e70c6f624b1cdaca161 py-ubjson-0.16.1.tar.gz +sha256 b9bfb8695a1c7e3632e800fb83c943bf67ed45ddd87cd0344851610c69a5a482 py-ubjson-0.16.1.tar.gz # Locally computed sha256 checksums -sha256 ca182abcb84ad9984c9af2e30cb70c4fe0e1772674355207e8fcdb85e8c5e75f LICENSE +sha256 ca182abcb84ad9984c9af2e30cb70c4fe0e1772674355207e8fcdb85e8c5e75f LICENSE diff --git a/package/python-ubjson/python-ubjson.mk b/package/python-ubjson/python-ubjson.mk index 58bba2ac748..93ab9dc139e 100644 --- a/package/python-ubjson/python-ubjson.mk +++ b/package/python-ubjson/python-ubjson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_UBJSON_VERSION = 0.14.0 +PYTHON_UBJSON_VERSION = 0.16.1 PYTHON_UBJSON_SOURCE = py-ubjson-$(PYTHON_UBJSON_VERSION).tar.gz -PYTHON_UBJSON_SITE = https://files.pythonhosted.org/packages/10/31/0d8297c33d681aafa3fe900ca072a96d5acb97e79082fbb593e835376c93 +PYTHON_UBJSON_SITE = https://files.pythonhosted.org/packages/1d/c7/28220d37e041fe1df03e857fe48f768dcd30cd151480bf6f00da8713214a PYTHON_UBJSON_LICENSE = Apache-2.0 PYTHON_UBJSON_LICENSE_FILES = LICENSE PYTHON_UBJSON_SETUP_TYPE = setuptools diff --git a/package/python-ujson/0001-Add-support-for-aarch64_be-or1k-and-microblazebe.patch b/package/python-ujson/0001-Add-support-for-aarch64_be-or1k-and-microblazebe.patch new file mode 100644 index 00000000000..b43eb54dcd6 --- /dev/null +++ b/package/python-ujson/0001-Add-support-for-aarch64_be-or1k-and-microblazebe.patch @@ -0,0 +1,30 @@ +From 768a445f0c28311bf88685bf0bb990505c12fd4c Mon Sep 17 00:00:00 2001 +From: Florian Loitsch +Date: Sat, 8 Sep 2018 18:18:15 +0200 +Subject: [PATCH] Add support for aarch64_be, or1k and microblazebe. + +Fixes #73. + +[Retrieved from: +https://github.com/google/double-conversion/commit/768a445f0c28311bf88685bf0bb990505c12fd4c] +Signed-off-by: Fabrice Fontaine +--- + double-conversion/utils.h | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/deps/double-conversion/ouble-conversion/utils.h b/deps/double-conversion/double-conversion/utils.h +index 98a2a11..492bc97 100644 +--- a/deps/double-conversion/double-conversion/utils.h ++++ b/deps/double-conversion/double-conversion/utils.h +@@ -76,8 +76,9 @@ inline void abort_noreturn() { abort(); } + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ + defined(__SH4__) || defined(__alpha__) || \ + defined(_MIPS_ARCH_MIPS32R2) || \ +- defined(__AARCH64EL__) || defined(__aarch64__) || \ +- defined(__riscv) ++ defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ ++ defined(__riscv) || \ ++ defined(__or1k__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) || \ + defined(__pnacl__) || defined(__native_client__) diff --git a/package/python-ujson/0002-Add-support-of-ARC-architecture.patch b/package/python-ujson/0002-Add-support-of-ARC-architecture.patch new file mode 100644 index 00000000000..d38b24f5fc5 --- /dev/null +++ b/package/python-ujson/0002-Add-support-of-ARC-architecture.patch @@ -0,0 +1,36 @@ +From eafa625a34fd5d8bec18eddfccbca55ce77b4849 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Thu, 1 Nov 2018 17:36:17 +0200 +Subject: [PATCH] Add support of ARC architecture (#82) + +More info about ARC architecture is here: [1] & [2]. +We need ARC supported here for many things like: + - ICU (see [3]) + - Qt5 etc + +[1] https://www.synopsys.com/designware-ip/processor-solutions/arc-processors.html +[2] https://en.wikipedia.org/wiki/ARC_(processor) +[3] https://unicode-org.atlassian.net/browse/ICU-20155 + +Fixes #81 + +[Retrieved from: +https://github.com/google/double-conversion/commit/eafa625a34fd5d8bec18eddfccbca55ce77b4849] +Signed-off-by: Fabrice Fontaine +--- + double-conversion/utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/deps/double-conversion/double-conversion/utils.h b/deps/double-conversion/double-conversion/utils.h +index 41c5b02..2e1be0d 100644 +--- a/deps/double-conversion/double-conversion/utils.h ++++ b/deps/double-conversion/double-conversion/utils.h +@@ -94,7 +94,7 @@ int main(int argc, char** argv) { + defined(_MIPS_ARCH_MIPS32R2) || \ + defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ + defined(__riscv) || \ +- defined(__or1k__) ++ defined(__or1k__) || defined(__arc__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) || \ + defined(__pnacl__) || defined(__native_client__) diff --git a/package/python-ujson/0003-Add-support-for-microblaze.patch b/package/python-ujson/0003-Add-support-for-microblaze.patch new file mode 100644 index 00000000000..14fd52eb98f --- /dev/null +++ b/package/python-ujson/0003-Add-support-for-microblaze.patch @@ -0,0 +1,27 @@ +From 5cc233e98b74c5c370de888198a2b35200d55468 Mon Sep 17 00:00:00 2001 +From: Florian Loitsch +Date: Sat, 12 Oct 2019 14:35:52 +0200 +Subject: [PATCH] Add support for microblaze. + +Really fixes #73. +[Retrieved (and backported) from: +https://github.com/google/double-conversion/commit/5cc233e98b74c5c370de888198a2b35200d55468] +Signed-off-by: Fabrice Fontaine +--- + Changelog | 4 ++++ + double-conversion/utils.h | 1 + + 2 files changed, 5 insertions(+) + +diff --git a/deps/idouble-conversion/double-conversion/utils.h b/deps/double-conversion/double-conversion/utils.h +index 1a71df0..221467f 100644 +--- a/deps/doyble-conversion/double-conversion/utils.h ++++ b/deps/double-conversion/double-conversion/utils.h +@@ -102,6 +102,7 @@ int main(int argc, char** argv) { + defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ + defined(__riscv) || \ +- defined(__or1k__) || defined(__arc__) ++ defined(__or1k__) || defined(__arc__) || \ ++ defined(__microblaze__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) + #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS diff --git a/package/python-ujson/0004-Pseiderer-add-nios2-and-xtensa-001.patch b/package/python-ujson/0004-Pseiderer-add-nios2-and-xtensa-001.patch new file mode 100644 index 00000000000..8648f93c1a9 --- /dev/null +++ b/package/python-ujson/0004-Pseiderer-add-nios2-and-xtensa-001.patch @@ -0,0 +1,95 @@ +From a54561be5588ac9b16d3c20760b9b554168bb8aa Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 31 Oct 2019 21:26:27 +0100 +Subject: [PATCH] Pseiderer/add nios2 and xtensa 001 (#119) + +* double-conversion: enable for nios2 + +Nios2 supports double conversion, tested using qemu: + +./main || echo "correct" +correct +uname -a +Linux buildroot 4.19.16 #4 Sat Aug 3 14:46:48 CEST 2019 nios2 GNU/Linux + +Solves build error + +In file included from double-conversion.h:42:0, + from number_decimalquantity.cpp:19: +double-conversion-utils.h:119:2: error: #error Target architecture was not detected as supported by Double-Conversion. + #error Target architecture was not detected as supported by Double-Conversion. + +detected by buildroot autobuilders: +http://autobuild.buildroot.net/results/91e/91eaec34708d91f8a05af189243be0b7cabce31b/ + +Patch sent upstream: https://github.com/unicode-org/icu/pull/725 +Bug report: https://unicode-org.atlassian.net/browse/ICU-20751 + +[Bernd: Fixed path] +Signed-off-by: Bernd Kuhls +[Added Changelog entry] +Signed-off-by: Peter Seiderer + +* double-conversion: enable for xtensa + +Signed-off-by: Peter Seiderer + +[Retrieved (dand backported) from: +https://github.com/google/double-conversion/commit/a54561be5588ac9b16d3c20760b9b554168bb8aa] +Signed-off-by: Fabrice Fontaine +--- +Note: + +Double-conversion tested with: + + $ cat div.c +double Div_double(double x, double y) { return x / y; } + + $ cat main.c +double Div_double(double x, double y); + +int main(int argc, char** argv) { + double result = Div_double(89255.0, 1e22); + if (result == 89255e-22) { + printf("correct result %e\n", result); + return 1; + } else { + printf("wrong result %e\n", result); + return 0; + } +} + +Tested for xtensa (using qemu_xtensa_lx60_defconfig plus BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE): + + $ ./host/bin/xtensa-buildroot-linux-uclibc-gcc -c div.c + $ ./host/bin/xtensa-buildroot-linux-uclibc-gcc -c main.c + $ ./host/bin/xtensa-buildroot-linux-uclibc-gcc -o main main.o div.o + + $ ./host/bin/qemu-xtensa -L staging main +correct result 8.925500e-18 +--- + Changelog | 4 ++++ + double-conversion/utils.h | 3 ++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/deps/double-conversion/double-conversion/utils.h b/deps/double-conversion/double-conversion/utils.h +index 221467f..98ec28b 100644 +--- a/deps/double-conversion/double-conversion/utils.h ++++ b/deps/double-conversion/double-conversion/utils.h +@@ -94,6 +94,7 @@ int main(int argc, char** argv) { + defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ ++ defined(__nios2__) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ + defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ +@@ -102,7 +103,7 @@ int main(int argc, char** argv) { + defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ + defined(__riscv) || defined(__e2k__) || \ + defined(__or1k__) || defined(__arc__) || \ +- defined(__microblaze__) ++ defined(__microblaze__) || defined(__XTENSA__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) + #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS diff --git a/package/python-ujson/Config.in b/package/python-ujson/Config.in index d185c985323..7af03e64973 100644 --- a/package/python-ujson/Config.in +++ b/package/python-ujson/Config.in @@ -1,7 +1,11 @@ config BR2_PACKAGE_PYTHON_UJSON bool "python-ujson" + depends on BR2_INSTALL_LIBSTDCPP help UltraJSON is an ultra fast JSON encoder and decoder written - in pure C with bindings for Python 2.5+ and 3. + in pure C with bindings for Python 3. https://pypi.python.org/pypi/ujson + +comment "python-ujson needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-ujson/python-ujson.hash b/package/python-ujson/python-ujson.hash index 21320346a19..fc897c381bd 100644 --- a/package/python-ujson/python-ujson.hash +++ b/package/python-ujson/python-ujson.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=42f77b0cce686dfa4da2e68480b1dd24,sha256 locally computed. -md5 42f77b0cce686dfa4da2e68480b1dd24 ujson-1.35.tar.gz -sha256 f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86 ujson-1.35.tar.gz +# md5, sha256 from https://pypi.org/pypi/ujson/json +md5 9a90e2e9f1d465c2121b8d10f837f53a ujson-4.2.0.tar.gz +sha256 fffe509f556861c7343c6cba57ed05fe7bcf4b48a934a5b946ccb45428cf8883 ujson-4.2.0.tar.gz +# Locally computed sha256 checksums +sha256 6a00a8f8b4050303368b694147bde1aed9c96bdff869c181dbbf3ccb784a1501 LICENSE.txt diff --git a/package/python-ujson/python-ujson.mk b/package/python-ujson/python-ujson.mk index 60a4ecf8419..68781c61709 100644 --- a/package/python-ujson/python-ujson.mk +++ b/package/python-ujson/python-ujson.mk @@ -4,10 +4,12 @@ # ################################################################################ -PYTHON_UJSON_VERSION = 1.35 +PYTHON_UJSON_VERSION = 4.2.0 PYTHON_UJSON_SOURCE = ujson-$(PYTHON_UJSON_VERSION).tar.gz -PYTHON_UJSON_SITE = https://pypi.python.org/packages/source/u/ujson -PYTHON_UJSON_LICENSE = BSD-3-Clause +PYTHON_UJSON_SITE = https://files.pythonhosted.org/packages/df/69/e8f615e1a779e2d2d23d29d56dc55bbb1db2a828f0ef36d10bc697d63968 PYTHON_UJSON_SETUP_TYPE = setuptools +PYTHON_UJSON_LICENSE = BSD-3-Clause +PYTHON_UJSON_LICENSE_FILES = LICENSE.txt +PYTHON_UJSON_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-unittest-xml-reporting/Config.in b/package/python-unittest-xml-reporting/Config.in new file mode 100644 index 00000000000..43b054faa77 --- /dev/null +++ b/package/python-unittest-xml-reporting/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_UNITTEST_XML_REPORTING + bool "python-unittest-xml-reporting" + select BR2_PACKAGE_PYTHON3_PYEXPAT + help + unittest-based test runner with Ant/JUnit like XML + reporting. + + http://github.com/xmlrunner/unittest-xml-reporting/ diff --git a/package/python-unittest-xml-reporting/python-unittest-xml-reporting.hash b/package/python-unittest-xml-reporting/python-unittest-xml-reporting.hash new file mode 100644 index 00000000000..9db3a09d38e --- /dev/null +++ b/package/python-unittest-xml-reporting/python-unittest-xml-reporting.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/unittest-xml-reporting/json +md5 474cd89f9609828ef6039a0f00afd9db unittest-xml-reporting-3.0.4.tar.gz +sha256 984cebba69e889401bfe3adb9088ca376b3a1f923f0590d005126c1bffd1a695 unittest-xml-reporting-3.0.4.tar.gz +# Locally calculated +sha256 0596648105bee470f9cafd62753b931efe52392096439d88e2564cf7d7cf0e68 LICENSE diff --git a/package/python-unittest-xml-reporting/python-unittest-xml-reporting.mk b/package/python-unittest-xml-reporting/python-unittest-xml-reporting.mk new file mode 100644 index 00000000000..5744c50a7cd --- /dev/null +++ b/package/python-unittest-xml-reporting/python-unittest-xml-reporting.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# python-unittest-xml-reporting +# +################################################################################ + +PYTHON_UNITTEST_XML_REPORTING_VERSION = 3.0.4 +PYTHON_UNITTEST_XML_REPORTING_SOURCE = unittest-xml-reporting-$(PYTHON_UNITTEST_XML_REPORTING_VERSION).tar.gz +PYTHON_UNITTEST_XML_REPORTING_SITE = https://files.pythonhosted.org/packages/bc/09/677086169c8e302b614de7d4a97c45c4446a382f31cc010fb31177258508 +# License file missing in Pypi tarball, download separately. Issue +# reported at +# https://github.com/xmlrunner/unittest-xml-reporting/issues/259 +PYTHON_UNITTEST_XML_REPORTING_EXTRA_DOWNLOADS = https://raw.githubusercontent.com/xmlrunner/unittest-xml-reporting/$(PYTHON_UNITTEST_XML_REPORTING_VERSION)/LICENSE +PYTHON_UNITTEST_XML_REPORTING_SETUP_TYPE = setuptools +PYTHON_UNITTEST_XML_REPORTING_LICENSE = BSD-2-Clause +PYTHON_UNITTEST_XML_REPORTING_LICENSE_FILES = LICENSE + +define PYTHON_UNITTEST_XML_REPORTING_ADD_LICENSE_FILE + $(INSTALL) -D -m 0644 $(PYTHON_UNITTEST_XML_REPORTING_DL_DIR)/LICENSE $(@D)/LICENSE +endef +PYTHON_UNITTEST_XML_REPORTING_POST_EXTRACT_HOOKS += PYTHON_UNITTEST_XML_REPORTING_ADD_LICENSE_FILE + +$(eval $(python-package)) diff --git a/package/python-urllib3/Config.in b/package/python-urllib3/Config.in index 21d3f6748e8..90e10b79694 100644 --- a/package/python-urllib3/Config.in +++ b/package/python-urllib3/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_URLLIB3 bool "python-urllib3" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more. diff --git a/package/python-urllib3/python-urllib3.hash b/package/python-urllib3/python-urllib3.hash index dbc85c91147..bab97249b08 100644 --- a/package/python-urllib3/python-urllib3.hash +++ b/package/python-urllib3/python-urllib3.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/urllib3/json -md5 2233256ccfe140a915f68703f8c2cc1f urllib3-1.26.2.tar.gz -sha256 19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08 urllib3-1.26.2.tar.gz +md5 d4b58522821a33c5e421191b83e0dbac urllib3-1.26.9.tar.gz +sha256 aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e urllib3-1.26.9.tar.gz # Locally computed sha256 checksums sha256 c37bf186e27cf9dbe9619e55edfe3cea7b30091ceb3da63c7dacbe0e6d77907b LICENSE.txt diff --git a/package/python-urllib3/python-urllib3.mk b/package/python-urllib3/python-urllib3.mk index 82db02fcc26..cb2f7ffe5dd 100644 --- a/package/python-urllib3/python-urllib3.mk +++ b/package/python-urllib3/python-urllib3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 1.26.2 +PYTHON_URLLIB3_VERSION = 1.26.9 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/29/e6/d1a1d78c439cad688757b70f26c50a53332167c364edb0134cadd280e234 +PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/1b/a5/4eab74853625505725cefdf168f48661b2cd04e7843ab836f3f63abf81da PYTHON_URLLIB3_LICENSE = MIT PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt PYTHON_URLLIB3_CPE_ID_VENDOR = python @@ -14,3 +14,4 @@ PYTHON_URLLIB3_CPE_ID_PRODUCT = urllib3 PYTHON_URLLIB3_SETUP_TYPE = setuptools $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-urwid/python-urwid.hash b/package/python-urwid/python-urwid.hash index 51a6e12ea11..3d7be017a77 100644 --- a/package/python-urwid/python-urwid.hash +++ b/package/python-urwid/python-urwid.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/urwid/json -md5 c70a7016fa1ad2c2a979dbebd4de78c2 urwid-2.0.1.tar.gz -sha256 644d3e3900867161a2fc9287a9762753d66bd194754679adb26aede559bcccbc urwid-2.0.1.tar.gz -# Locally computed sha256 -sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING +md5 f7f4e6bed9ba38965dbd619520f39287 urwid-2.1.2.tar.gz +sha256 588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51efe318a3f2127eae urwid-2.1.2.tar.gz +# Locally computed sha256 checksums +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/python-urwid/python-urwid.mk b/package/python-urwid/python-urwid.mk index f8a370234c0..78b369ef863 100644 --- a/package/python-urwid/python-urwid.mk +++ b/package/python-urwid/python-urwid.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URWID_VERSION = 2.0.1 +PYTHON_URWID_VERSION = 2.1.2 PYTHON_URWID_SOURCE = urwid-$(PYTHON_URWID_VERSION).tar.gz -PYTHON_URWID_SITE = https://files.pythonhosted.org/packages/c7/90/415728875c230fafd13d118512bde3184d810d7bf798a631abc05fac09d0 +PYTHON_URWID_SITE = https://files.pythonhosted.org/packages/94/3f/e3010f4a11c08a5690540f7ebd0b0d251cc8a456895b7e49be201f73540c PYTHON_URWID_LICENSE = LGPL-2.1+ PYTHON_URWID_LICENSE_FILES = COPYING PYTHON_URWID_SETUP_TYPE = setuptools diff --git a/package/python-uvloop/Config.in b/package/python-uvloop/Config.in index 76e06ac3f4d..b3fb275091a 100644 --- a/package/python-uvloop/Config.in +++ b/package/python-uvloop/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_UVLOOP bool "python-uvloop" - depends on BR2_PACKAGE_PYTHON3 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv depends on BR2_USE_MMU # libuv depends on !BR2_STATIC_LIBS # libuv diff --git a/package/python-uvloop/python-uvloop.hash b/package/python-uvloop/python-uvloop.hash index 436babf9152..39951b50bb7 100644 --- a/package/python-uvloop/python-uvloop.hash +++ b/package/python-uvloop/python-uvloop.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/uvloop/json -md5 a2f82abb676756f11f544c6b51caf171 uvloop-0.14.0.tar.gz -sha256 123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e uvloop-0.14.0.tar.gz +md5 79f9a7f3cfe154daf0aade23555dc9d4 uvloop-0.16.0.tar.gz +sha256 f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228 uvloop-0.16.0.tar.gz # Locally computed sha256 checksums -sha256 2fdc436a67077941295c58647f521fbef8f50e46db0970552fa1a4dd8ae261c6 LICENSE-APACHE -sha256 9185f3c77e9f6ef8859a6ba4c94128ac1329876be3e813aad32d7645e51ae409 LICENSE-MIT +sha256 2fdc436a67077941295c58647f521fbef8f50e46db0970552fa1a4dd8ae261c6 LICENSE-APACHE +sha256 9185f3c77e9f6ef8859a6ba4c94128ac1329876be3e813aad32d7645e51ae409 LICENSE-MIT diff --git a/package/python-uvloop/python-uvloop.mk b/package/python-uvloop/python-uvloop.mk index 3ee8d299a38..cfd9b1a66f3 100644 --- a/package/python-uvloop/python-uvloop.mk +++ b/package/python-uvloop/python-uvloop.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_UVLOOP_VERSION = 0.14.0 +PYTHON_UVLOOP_VERSION = 0.16.0 PYTHON_UVLOOP_SOURCE = uvloop-$(PYTHON_UVLOOP_VERSION).tar.gz -PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/84/2e/462e7a25b787d2b40cf6c9864a9e702f358349fc9cfb77e83c38acb73048 +PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/ab/d9/22bbffa8f8d7e075ccdb29e8134107adfb4710feb10039f9d357db8b589c PYTHON_UVLOOP_SETUP_TYPE = setuptools PYTHON_UVLOOP_LICENSE = Apache-2.0, MIT PYTHON_UVLOOP_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT diff --git a/package/python-validators/Config.in b/package/python-validators/Config.in index 802b1dde5b3..e7003699107 100644 --- a/package/python-validators/Config.in +++ b/package/python-validators/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_VALIDATORS bool "python-validators" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_DECORATOR # runtime help diff --git a/package/python-validators/python-validators.mk b/package/python-validators/python-validators.mk index 7268b1013bf..5bed051911c 100644 --- a/package/python-validators/python-validators.mk +++ b/package/python-validators/python-validators.mk @@ -10,5 +10,7 @@ PYTHON_VALIDATORS_SITE = https://files.pythonhosted.org/packages/c4/4a/4f9c892f9 PYTHON_VALIDATORS_SETUP_TYPE = setuptools PYTHON_VALIDATORS_LICENSE = MIT PYTHON_VALIDATORS_LICENSE_FILES = LICENSE +PYTHON_VALIDATORS_CPE_ID_VENDOR = validators_project +PYTHON_VALIDATORS_CPE_ID_PRODUCT = validators $(eval $(python-package)) diff --git a/package/python-watchdog/python-watchdog.hash b/package/python-watchdog/python-watchdog.hash index 701c7991a53..3b633f9156c 100644 --- a/package/python-watchdog/python-watchdog.hash +++ b/package/python-watchdog/python-watchdog.hash @@ -1,7 +1,6 @@ -# md5, sha256 from https://pypi.python.org/pypi/watchdog/json -md5 7cdc103f607e72fc32c206301a72d1b2 watchdog-0.9.0.tar.gz -sha256 965f658d0732de3188211932aeb0bb457587f04f63ab4c1e33eab878e9de961d watchdog-0.9.0.tar.gz - -# Hash for license files -sha256 14e636faf5889138a1bb7a8498ccbb0266aee31d2dc475201a10448e56ed3d96 COPYING +# md5, sha256 from https://pypi.org/pypi/watchdog/json +md5 6aac660b0f3358c63658806a0579b832 watchdog-2.1.6.tar.gz +sha256 a36e75df6c767cbf46f61a91c70b3ba71811dfa0aca4a324d9407a06a8b7a2e7 watchdog-2.1.6.tar.gz +# Locally computed sha256 checksums +sha256 02c8760f988a76e92a9d6cb525456a86f7b0fd1953870dd491de5955cb974d41 COPYING sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-watchdog/python-watchdog.mk b/package/python-watchdog/python-watchdog.mk index 44929a65acd..2dafef97e16 100644 --- a/package/python-watchdog/python-watchdog.mk +++ b/package/python-watchdog/python-watchdog.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WATCHDOG_VERSION = 0.9.0 +PYTHON_WATCHDOG_VERSION = 2.1.6 PYTHON_WATCHDOG_SOURCE = watchdog-$(PYTHON_WATCHDOG_VERSION).tar.gz -PYTHON_WATCHDOG_SITE = https://pypi.python.org/packages/bb/e3/5a55d48a29300160779f0a0d2776d17c1b762a2039b36de528b093b87d5b +PYTHON_WATCHDOG_SITE = https://files.pythonhosted.org/packages/e8/a8/fc4edd7d768361b00ea850e5310211d157df6b5a1db6148dd434e787d898 PYTHON_WATCHDOG_SETUP_TYPE = setuptools PYTHON_WATCHDOG_LICENSE = Apache-2.0 PYTHON_WATCHDOG_LICENSE_FILES = LICENSE COPYING diff --git a/package/python-weasyprint/Config.in b/package/python-weasyprint/Config.in new file mode 100644 index 00000000000..18d72d742eb --- /dev/null +++ b/package/python-weasyprint/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_PYTHON_WEASYPRINT + bool "python-weasyprint" + depends on BR2_INSTALL_LIBSTDCPP # python-brotli, python-zopfli + select BR2_PACKAGE_PYTHON_BROTLI # runtime + select BR2_PACKAGE_PYTHON_CFFI # runtime + select BR2_PACKAGE_PYTHON_CSSSELECT2 # runtime + select BR2_PACKAGE_PYTHON_FONTTOOLS # runtime + select BR2_PACKAGE_PYTHON_HTML5LIB # runtime + select BR2_PACKAGE_PYTHON_PILLOW # runtime + select BR2_PACKAGE_PYTHON_PYDYF # runtime + select BR2_PACKAGE_PYTHON_PYPHEN # runtime + select BR2_PACKAGE_PYTHON_TINYCSS2 # runtime + select BR2_PACKAGE_PYTHON_ZOPFLI # runtime + help + The Awesome Document Factory. + + https://www.courtbouillon.org/weasyprint + +comment "python-weasyprint needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-weasyprint/python-weasyprint.hash b/package/python-weasyprint/python-weasyprint.hash new file mode 100644 index 00000000000..8d231c50ba7 --- /dev/null +++ b/package/python-weasyprint/python-weasyprint.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/weasyprint/json +md5 a90fd2d5a581a0e218943af3a8b64a31 weasyprint-53.4.tar.gz +sha256 10ccb17d55c73096bdf1edd3efe58cb855b07e4c307d9bad4ebc9a3f13ff4580 weasyprint-53.4.tar.gz +# Locally computed sha256 checksums +sha256 bfd14eccfa6100575460e685556b183399d4bd335904e3c9521b0116d21c54da LICENSE diff --git a/package/python-weasyprint/python-weasyprint.mk b/package/python-weasyprint/python-weasyprint.mk new file mode 100644 index 00000000000..0a944825bb4 --- /dev/null +++ b/package/python-weasyprint/python-weasyprint.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-weasyprint +# +################################################################################ + +PYTHON_WEASYPRINT_VERSION = 53.4 +PYTHON_WEASYPRINT_SOURCE = weasyprint-$(PYTHON_WEASYPRINT_VERSION).tar.gz +PYTHON_WEASYPRINT_SITE = https://files.pythonhosted.org/packages/72/25/336e274fde0e48cf9979d44667411fbcfa55d323fd7672068807b6de2f89 +PYTHON_WEASYPRINT_SETUP_TYPE = distutils +PYTHON_WEASYPRINT_LICENSE = BSD-3-Clause +PYTHON_WEASYPRINT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-web2py/Config.in b/package/python-web2py/Config.in index a0452060bab..bb455dfa7a8 100644 --- a/package/python-web2py/Config.in +++ b/package/python-web2py/Config.in @@ -1,12 +1,9 @@ config BR2_PACKAGE_PYTHON_WEB2PY bool "python-web2py" select BR2_PACKAGE_PYTHON_PYDAL # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_SQLITE # runtime select BR2_PACKAGE_PYTHON_YATL # runtime help web2py is a free open source full-stack framework for rapid diff --git a/package/python-web2py/python-web2py.hash b/package/python-web2py/python-web2py.hash index 4ff85668a15..2ef52b0a5ca 100644 --- a/package/python-web2py/python-web2py.hash +++ b/package/python-web2py/python-web2py.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 e3f05266b4b97650b76bfb85028df5e2194955674c9b98cfc065c72ed5791690 python-web2py-2.20.4.tar.gz +sha256 44556376468139de874e9c29c9ef56e60ecd5f7536c7bee46d74b1f9d4178825 python-web2py-2.21.1.tar.gz sha256 2aae96826184a492bc799add49aed7b29036e7aba2d2294fb65053bd30fe55fe LICENSE diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk index 07251ba53cc..3e453282a95 100644 --- a/package/python-web2py/python-web2py.mk +++ b/package/python-web2py/python-web2py.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = 2.20.4 +PYTHON_WEB2PY_VERSION = 2.21.1 PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,v$(PYTHON_WEB2PY_VERSION)) PYTHON_WEB2PY_LICENSE = LGPL-3.0 PYTHON_WEB2PY_LICENSE_FILES = LICENSE -PYTHON_WEB2PY_DEPENDENCIES = $(if $(BR2_PACKAGE_PYTHON3),host-python3 python3,host-python python) \ +PYTHON_WEB2PY_CPE_ID_VENDOR = web2py +PYTHON_WEB2PY_CPE_ID_PRODUCT = web2py +PYTHON_WEB2PY_DEPENDENCIES = host-python3 python3 \ host-python-pydal host-python-yatl PYTHON_WEB2PY_EXCLUSIONS = \ @@ -68,7 +70,7 @@ endef # So, we just need to create the directories used by web2py with the right # ownership. define PYTHON_WEB2PY_PERMISSIONS - /var/www/web2py r 750 33 33 - - - - - + /var/www/web2py r 750 33 33 - - - - - endef $(eval $(generic-package)) diff --git a/package/python-webob/Config.in b/package/python-webob/Config.in index fe77723f950..d3397587a1e 100644 --- a/package/python-webob/Config.in +++ b/package/python-webob/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PYTHON_WEBOB bool "python-webob" - select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help WSGI request and response object. diff --git a/package/python-webob/python-webob.hash b/package/python-webob/python-webob.hash index aab2f1d9e49..a46c1dbc94b 100644 --- a/package/python-webob/python-webob.hash +++ b/package/python-webob/python-webob.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/webob/json -md5 dc3cc8c317d4acd03a6fd97cb0a9121a WebOb-1.8.6.tar.gz -sha256 aa3a917ed752ba3e0b242234b2a373f9c4e2a75d35291dcbe977649bd21fd108 WebOb-1.8.6.tar.gz +md5 10191c69fa5a2c00f3b9abfb8937b415 WebOb-1.8.7.tar.gz +sha256 b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323 WebOb-1.8.7.tar.gz # Locally computed sha256 checksums sha256 27bc4919e7e9e6b6cda40644517ca74d32203e32fba89ef832aba1ed93e457b3 docs/license.txt diff --git a/package/python-webob/python-webob.mk b/package/python-webob/python-webob.mk index 051c117538c..11ba104476d 100644 --- a/package/python-webob/python-webob.mk +++ b/package/python-webob/python-webob.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WEBOB_VERSION = 1.8.6 +PYTHON_WEBOB_VERSION = 1.8.7 PYTHON_WEBOB_SOURCE = WebOb-$(PYTHON_WEBOB_VERSION).tar.gz -PYTHON_WEBOB_SITE = https://files.pythonhosted.org/packages/2a/32/5f3f43d0784bdd9392db0cb98434d7cd23a0d8a420c4d243ad4cb8517f2a +PYTHON_WEBOB_SITE = https://files.pythonhosted.org/packages/c7/45/ee5f034fb4ebe3236fa49e5a4fcbc54444dd22ecf33079cf56f9606d479d PYTHON_WEBOB_SETUP_TYPE = setuptools PYTHON_WEBOB_LICENSE = MIT PYTHON_WEBOB_LICENSE_FILES = docs/license.txt diff --git a/package/python-webpy/Config.in b/package/python-webpy/Config.in index 419a4a180ff..ed784095727 100644 --- a/package/python-webpy/Config.in +++ b/package/python-webpy/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_WEBPY bool "python-webpy" - depends on BR2_PACKAGE_PYTHON3 # python-cheroot select BR2_PACKAGE_PYTHON_CHEROOT # runtime select BR2_PACKAGE_PYTHON_MARKDOWN # runtime help diff --git a/package/python-websocket-client/Config.in b/package/python-websocket-client/Config.in index 0fbb15b3285..519e5066155 100644 --- a/package/python-websocket-client/Config.in +++ b/package/python-websocket-client/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT bool "python-websocket-client" select BR2_PACKAGE_PYTHON_SIX # runtime - select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime help WebSocket client for python. hybi13 is supported. diff --git a/package/python-websocket-client/python-websocket-client.hash b/package/python-websocket-client/python-websocket-client.hash index 968c1ab2112..1e745dc1d59 100644 --- a/package/python-websocket-client/python-websocket-client.hash +++ b/package/python-websocket-client/python-websocket-client.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/websocket-client/json -md5 8061820da5e1de26a6a1a6996d4eebd5 websocket_client-0.57.0.tar.gz -sha256 d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010 websocket_client-0.57.0.tar.gz +md5 8fc86b13dc97dc032855c6257f9168df websocket_client-0.58.0.tar.gz +sha256 63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f websocket_client-0.58.0.tar.gz # Locally computed sha256 checksums -sha256 a47b06717e8a3cf01d1307141287b1b4fa17fe4bb8785633d2fc6f57cb71d05e LICENSE +sha256 7c6699c75f87b52bdc542db26d6b1b92892577cda46e20eceb79e2790a1c291b LICENSE diff --git a/package/python-websocket-client/python-websocket-client.mk b/package/python-websocket-client/python-websocket-client.mk index 58cb597c229..d2873e3601f 100644 --- a/package/python-websocket-client/python-websocket-client.mk +++ b/package/python-websocket-client/python-websocket-client.mk @@ -4,14 +4,11 @@ # ################################################################################ -PYTHON_WEBSOCKET_CLIENT_VERSION = 0.57.0 +PYTHON_WEBSOCKET_CLIENT_VERSION = 0.58.0 PYTHON_WEBSOCKET_CLIENT_SOURCE = websocket_client-$(PYTHON_WEBSOCKET_CLIENT_VERSION).tar.gz -PYTHON_WEBSOCKET_CLIENT_SITE = https://files.pythonhosted.org/packages/8b/0f/52de51b9b450ed52694208ab952d5af6ebbcbce7f166a48784095d930d8c +PYTHON_WEBSOCKET_CLIENT_SITE = https://files.pythonhosted.org/packages/4a/df/112c278ba1ead96786d24d973429ce1e1a2c86b9843183d9f8ef8c6330d7 PYTHON_WEBSOCKET_CLIENT_SETUP_TYPE = setuptools -# Project was under LGPL-2.1+, but was relicensed under -# BSD-3-Clause. The LICENSE file contains the BSD-3-Clause text, but -# the source files still contain a LGPL-2.1+ header. -PYTHON_WEBSOCKET_CLIENT_LICENSE = LGPL-2.1+, BSD-3-Clause +PYTHON_WEBSOCKET_CLIENT_LICENSE = LGPL-2.1+ PYTHON_WEBSOCKET_CLIENT_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-websockets/Config.in b/package/python-websockets/Config.in index 888bec616fc..60495b62842 100644 --- a/package/python-websockets/Config.in +++ b/package/python-websockets/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_WEBSOCKETS bool "python-websockets" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON3_ZLIB select BR2_PACKAGE_PYTHON3_SSL help diff --git a/package/python-websockets/python-websockets.hash b/package/python-websockets/python-websockets.hash index ec387c9ab70..cec1d1599cc 100644 --- a/package/python-websockets/python-websockets.hash +++ b/package/python-websockets/python-websockets.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/websockets/json -md5 a37f0e22c3aa5f1cf12a6a3ae22b36ca websockets-8.0.2.tar.gz -sha256 882a7266fa867a2ebb2c0baaa0f9159cabf131cf18c1b4270d79ad42f9208dc5 websockets-8.0.2.tar.gz +md5 ebb9e4930bf2c35cd3723be0dfa83d89 websockets-10.0.tar.gz +sha256 c4fc9a1d242317892590abe5b61a9127f1a61740477bfb121743f290b8054002 websockets-10.0.tar.gz # Locally computed sha256 checksums -sha256 8a88960c0d6aa8b38faa6ee614597dbf18e0ea22ba20884ef3dd31d34b2a6d09 LICENSE +sha256 daeca11bf3608da35e546ea0c32be18958a8be1441fa3de9cbd20e4c8bc718e6 LICENSE diff --git a/package/python-websockets/python-websockets.mk b/package/python-websockets/python-websockets.mk index 013881f95a6..9f4c5f1da7e 100644 --- a/package/python-websockets/python-websockets.mk +++ b/package/python-websockets/python-websockets.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WEBSOCKETS_VERSION = 8.0.2 +PYTHON_WEBSOCKETS_VERSION = 10.0 PYTHON_WEBSOCKETS_SOURCE = websockets-$(PYTHON_WEBSOCKETS_VERSION).tar.gz -PYTHON_WEBSOCKETS_SITE = https://files.pythonhosted.org/packages/79/78/17e97a159dc55308b1468a638c7267f19765281f6205ec9c15253c154022 +PYTHON_WEBSOCKETS_SITE = https://files.pythonhosted.org/packages/1c/f4/61aee1eb4baadf8477fb7f3bc6b04a50fe683ef8ad2f60282806821e4b3b PYTHON_WEBSOCKETS_SETUP_TYPE = setuptools PYTHON_WEBSOCKETS_LICENSE = BSD-3-Clause PYTHON_WEBSOCKETS_LICENSE_FILES = LICENSE diff --git a/package/python-werkzeug/Config.in b/package/python-werkzeug/Config.in index 79e9a4561e5..27b2fdeaab3 100644 --- a/package/python-werkzeug/Config.in +++ b/package/python-werkzeug/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_WERKZEUG bool "python-werkzeug" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Werkzeug is a WSGI utility library for Python. It's widely used and BSD licensed. diff --git a/package/python-whoosh/Config.in b/package/python-whoosh/Config.in index 1128ce6417a..e1fb1449859 100644 --- a/package/python-whoosh/Config.in +++ b/package/python-whoosh/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_WHOOSH bool "python-whoosh" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Whoosh is a fast, pure-Python full text indexing, search and spell checking library. diff --git a/package/python-wrapt/python-wrapt.hash b/package/python-wrapt/python-wrapt.hash index feab3f056d4..63dae991ebf 100644 --- a/package/python-wrapt/python-wrapt.hash +++ b/package/python-wrapt/python-wrapt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/wrapt/json -md5 cc15c001b129f81eb2f79b15eb99ffe5 wrapt-1.11.2.tar.gz -sha256 565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1 wrapt-1.11.2.tar.gz +md5 6d56ed0de4336462a73350341462f45e wrapt-1.12.1.tar.gz +sha256 b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7 wrapt-1.12.1.tar.gz # Locally computed sha256 checksums -sha256 e37c13f84fb3c9a54161b0fcf75f4d302fb86ce42cd6106147bda79e4197d9f2 LICENSE +sha256 e37c13f84fb3c9a54161b0fcf75f4d302fb86ce42cd6106147bda79e4197d9f2 LICENSE diff --git a/package/python-wrapt/python-wrapt.mk b/package/python-wrapt/python-wrapt.mk index 91f9d7f52a5..32d8a24c144 100644 --- a/package/python-wrapt/python-wrapt.mk +++ b/package/python-wrapt/python-wrapt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WRAPT_VERSION = 1.11.2 +PYTHON_WRAPT_VERSION = 1.12.1 PYTHON_WRAPT_SOURCE = wrapt-$(PYTHON_WRAPT_VERSION).tar.gz -PYTHON_WRAPT_SITE = https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79 +PYTHON_WRAPT_SITE = https://files.pythonhosted.org/packages/82/f7/e43cefbe88c5fd371f4cf0cf5eb3feccd07515af9fd6cf7dbf1d1793a797 PYTHON_WRAPT_SETUP_TYPE = distutils PYTHON_WRAPT_LICENSE = BSD-2-Clause PYTHON_WRAPT_LICENSE_FILES = LICENSE diff --git a/package/python-ws4py/0001-Adjust-ws4py-for-Python-3.7-syntax.patch b/package/python-ws4py/0001-Adjust-ws4py-for-Python-3.7-syntax.patch index 07fbb6ccc1d..12dac30db8e 100644 --- a/package/python-ws4py/0001-Adjust-ws4py-for-Python-3.7-syntax.patch +++ b/package/python-ws4py/0001-Adjust-ws4py-for-Python-3.7-syntax.patch @@ -1,7 +1,7 @@ From dfe6f65b7078315c32cebb727e9c47ead7603475 Mon Sep 17 00:00:00 2001 From: Asaf Kahlon Date: Sun, 13 Oct 2019 16:44:44 +0300 -Subject: [PATCH 1/1] Adjust ws4py for Python 3.7 syntax +Subject: [PATCH] Adjust ws4py for Python 3.7 syntax Since Python 3.7, "async" has become a keyword and cannot be used. Thus, instead of asyncio.async we will use asyncio.ensure_future. diff --git a/package/python-wsaccel/python-wsaccel.hash b/package/python-wsaccel/python-wsaccel.hash index a02b5a87121..9d0002d41d3 100644 --- a/package/python-wsaccel/python-wsaccel.hash +++ b/package/python-wsaccel/python-wsaccel.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=2b4ea3d6847855c0587d37fca9db0557, sha256 locally computed. -md5 2b4ea3d6847855c0587d37fca9db0557 wsaccel-0.6.2.tar.gz -sha256 425706acf0724d2f6bfa391ec37b4ef121d3432c956029de3cea4e101c218e0c wsaccel-0.6.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/wsaccel/json +md5 973168711818dd98b8b28a4c2db77a27 wsaccel-0.6.3.tar.gz +sha256 fdb27866bb6b6e7a29e45222778ff97938782a0ce92eff07dfb20af8fb9301c4 wsaccel-0.6.3.tar.gz +# Locally computed sha256 checksums +sha256 b6982974cb838b985b54b663d1780d280735086249c2e28015f25dd455df25da LICENSE diff --git a/package/python-wsaccel/python-wsaccel.mk b/package/python-wsaccel/python-wsaccel.mk index 016ff2d72a9..7c78951f2f3 100644 --- a/package/python-wsaccel/python-wsaccel.mk +++ b/package/python-wsaccel/python-wsaccel.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_WSACCEL_VERSION = 0.6.2 +PYTHON_WSACCEL_VERSION = 0.6.3 PYTHON_WSACCEL_SOURCE = wsaccel-$(PYTHON_WSACCEL_VERSION).tar.gz -PYTHON_WSACCEL_SITE = https://pypi.python.org/packages/source/w/wsaccel +PYTHON_WSACCEL_SITE = https://files.pythonhosted.org/packages/f5/d1/3e99875a764d0d6ec94a74977ed72dd3022a7f31d036622da9cff8fc072f PYTHON_WSACCEL_LICENSE = Apache-2.0 +PYTHON_WSACCEL_LICENSE_FILES = LICENSE PYTHON_WSACCEL_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-xlrd/Config.in b/package/python-xlrd/Config.in index 40920f7b027..264ee93e786 100644 --- a/package/python-xlrd/Config.in +++ b/package/python-xlrd/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_XLRD bool "python-xlrd" - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_PYEXPAT + select BR2_PACKAGE_PYTHON3_ZLIB help Library for developers to extract data from Microsoft Excel(tm) spreadsheet files. diff --git a/package/python-xlrd/python-xlrd.hash b/package/python-xlrd/python-xlrd.hash index 0a66a2112a0..003ccc9a726 100644 --- a/package/python-xlrd/python-xlrd.hash +++ b/package/python-xlrd/python-xlrd.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/xlrd/json -md5 e5d5b96924d791b22898b622eb3e918e xlrd-1.2.0.tar.gz -sha256 546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2 xlrd-1.2.0.tar.gz -# locally calculated +md5 ae3f951c857a490d432f0a7d722352bf xlrd-2.0.1.tar.gz +sha256 f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88 xlrd-2.0.1.tar.gz +# Locally computed sha256 checksums sha256 b5a5dbce60265e305a815a6cb83ed07f24519d8ba644f2a307994488bced8815 LICENSE diff --git a/package/python-xlrd/python-xlrd.mk b/package/python-xlrd/python-xlrd.mk index c94e054b5b1..1f280bd4324 100644 --- a/package/python-xlrd/python-xlrd.mk +++ b/package/python-xlrd/python-xlrd.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_XLRD_VERSION = 1.2.0 +PYTHON_XLRD_VERSION = 2.0.1 PYTHON_XLRD_SOURCE = xlrd-$(PYTHON_XLRD_VERSION).tar.gz -PYTHON_XLRD_SITE = https://files.pythonhosted.org/packages/aa/05/ec9d4fcbbb74bbf4da9f622b3b61aec541e4eccf31d3c60c5422ec027ce2 +PYTHON_XLRD_SITE = https://files.pythonhosted.org/packages/a6/b3/19a2540d21dea5f908304375bd43f5ed7a4c28a370dc9122c565423e6b44 PYTHON_XLRD_SETUP_TYPE = setuptools PYTHON_XLRD_LICENSE = BSD-3-Clause PYTHON_XLRD_LICENSE_FILES = LICENSE diff --git a/package/python-xlsxwriter/Config.in b/package/python-xlsxwriter/Config.in index 3641bd05251..59fe3ba91cd 100644 --- a/package/python-xlsxwriter/Config.in +++ b/package/python-xlsxwriter/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_XLSXWRITER bool "python-xlsxwriter" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB help A Python module for creating Excel XLSX files. diff --git a/package/python-xlsxwriter/python-xlsxwriter.hash b/package/python-xlsxwriter/python-xlsxwriter.hash index 59890b725e9..7c9698067ba 100644 --- a/package/python-xlsxwriter/python-xlsxwriter.hash +++ b/package/python-xlsxwriter/python-xlsxwriter.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/XlsxWriter/json -md5 799bf9c16ff58a7c38509b1895b7bc63 XlsxWriter-1.2.2.tar.gz -sha256 5a5e2195a4672d17db79839bbdf1006a521adb57eaceea1c335ae4b3d19f088f XlsxWriter-1.2.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/xlsxwriter/json +md5 5f759dccf222e8f2a9924e90c4afaf84 XlsxWriter-3.0.1.tar.gz +sha256 3f39bf581c55f3ad1438bc170d7f4c4649cee8b6b7a80d21f79508118eeea52a XlsxWriter-3.0.1.tar.gz # Locally computed sha256 checksums -sha256 777cb44c00ba1c2905686fa32f2ca3ba17422b96fc229be3d8f0f1333bc4ecfe LICENSE.txt +sha256 8fbb9b28ef0afac1c7d999102fd2634f347448d069c8c821976f3dbd2b3f812c LICENSE.txt diff --git a/package/python-xlsxwriter/python-xlsxwriter.mk b/package/python-xlsxwriter/python-xlsxwriter.mk index ccc2fc7ebaf..4c8a5120861 100644 --- a/package/python-xlsxwriter/python-xlsxwriter.mk +++ b/package/python-xlsxwriter/python-xlsxwriter.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_XLSXWRITER_VERSION = 1.2.2 +PYTHON_XLSXWRITER_VERSION = 3.0.1 PYTHON_XLSXWRITER_SOURCE = XlsxWriter-$(PYTHON_XLSXWRITER_VERSION).tar.gz -PYTHON_XLSXWRITER_SITE = https://files.pythonhosted.org/packages/73/78/3ea62c5ad7255a0ff676c87ea88b152090b2178cb27325ba3bb0bb4122c9 +PYTHON_XLSXWRITER_SITE = https://files.pythonhosted.org/packages/5d/36/e943d07af9d26cc2f11861955dbf0031e891f77f3d55f70217fd6a0f4d9f PYTHON_XLSXWRITER_SETUP_TYPE = setuptools PYTHON_XLSXWRITER_LICENSE = BSD-2-Clause PYTHON_XLSXWRITER_LICENSE_FILES = LICENSE.txt diff --git a/package/python-xmljson/Config.in b/package/python-xmljson/Config.in new file mode 100644 index 00000000000..486f344361b --- /dev/null +++ b/package/python-xmljson/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_XMLJSON + bool "python-xmljson" + help + Converts XML into JSON/Python dicts/arrays and vice-versa. + + https://github.com/sanand0/xmljson diff --git a/package/python-xmljson/python-xmljson.hash b/package/python-xmljson/python-xmljson.hash new file mode 100644 index 00000000000..245a74a33e8 --- /dev/null +++ b/package/python-xmljson/python-xmljson.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/xmljson/json +md5 fc4df2390ad209928ee4311a3540cb17 xmljson-0.2.1.tar.gz +sha256 b4158e66aa1e62ee39f7f80eb2fe4f767670ba3c0d5de9804420dc53427fdec8 xmljson-0.2.1.tar.gz +# Locally computed sha256 checksums +sha256 5ce42ba7d76e81428bdacef83658eb6213dbd1ad4a3b6d380bb6e0e8c73f0fb7 LICENSE diff --git a/package/python-xmljson/python-xmljson.mk b/package/python-xmljson/python-xmljson.mk new file mode 100644 index 00000000000..913dce26703 --- /dev/null +++ b/package/python-xmljson/python-xmljson.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-xmljson +# +################################################################################ + +PYTHON_XMLJSON_VERSION = 0.2.1 +PYTHON_XMLJSON_SOURCE = xmljson-$(PYTHON_XMLJSON_VERSION).tar.gz +PYTHON_XMLJSON_SITE = https://files.pythonhosted.org/packages/e8/6f/d9f109ba19be510fd3098bcb72143c67ca6743cedb48ac75aef05ddfe960 +PYTHON_XMLJSON_SETUP_TYPE = setuptools +PYTHON_XMLJSON_LICENSE = MIT +PYTHON_XMLJSON_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-xmltodict/Config.in b/package/python-xmltodict/Config.in index cb12392c935..af2bbbf4899 100644 --- a/package/python-xmltodict/Config.in +++ b/package/python-xmltodict/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_XMLTODICT bool "python-xmltodict" - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime help Makes working with XML feel like you are working with JSON. diff --git a/package/python-yarl/Config.in b/package/python-yarl/Config.in index e52050451d4..84e14ce92e0 100644 --- a/package/python-yarl/Config.in +++ b/package/python-yarl/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_YARL bool "python-yarl" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_MULTIDICT select BR2_PACKAGE_PYTHON_IDNA help diff --git a/package/python-yarl/python-yarl.hash b/package/python-yarl/python-yarl.hash index 783702c74b2..bf971e9a9a3 100644 --- a/package/python-yarl/python-yarl.hash +++ b/package/python-yarl/python-yarl.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/yarl/json -md5 3b6f2da3db8c645a9440375fd6a414eb yarl-1.6.3.tar.gz -sha256 8a9066529240171b68893d60dca86a763eae2139dd42f42106b03cf4b426bf10 yarl-1.6.3.tar.gz +md5 acd3eb25a9c46b10a699a3bee5fb9777 yarl-1.7.2.tar.gz +sha256 45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd yarl-1.7.2.tar.gz # Locally computed sha256 checksums -sha256 14c0820503ceef15e814a89b037d9efc066870087018294b6ae0f27163872cc5 LICENSE +sha256 56d6ac6c8105c0a51304c21db060e361af9a8ea0af9a75c239c28b5d13693838 LICENSE diff --git a/package/python-yarl/python-yarl.mk b/package/python-yarl/python-yarl.mk index 32ec4770644..175aaa7a35e 100644 --- a/package/python-yarl/python-yarl.mk +++ b/package/python-yarl/python-yarl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_YARL_VERSION = 1.6.3 +PYTHON_YARL_VERSION = 1.7.2 PYTHON_YARL_SOURCE = yarl-$(PYTHON_YARL_VERSION).tar.gz -PYTHON_YARL_SITE = https://files.pythonhosted.org/packages/97/e7/af7219a0fe240e8ef6bb555341a63c43045c21ab0392b4435e754b716fa1 +PYTHON_YARL_SITE = https://files.pythonhosted.org/packages/f6/da/46d1b3d69a9a0835dabf9d59c7eb0f1600599edd421a4c5a15ab09f527e0 PYTHON_YARL_LICENSE = Apache-2.0 PYTHON_YARL_LICENSE_FILES = LICENSE PYTHON_YARL_SETUP_TYPE = setuptools diff --git a/package/python-yatl/python-yatl.hash b/package/python-yatl/python-yatl.hash index 534d74b6546..8ce192bf951 100644 --- a/package/python-yatl/python-yatl.hash +++ b/package/python-yatl/python-yatl.hash @@ -1,3 +1,3 @@ # md5, sha256 from https://pypi.org/pypi/yatl/json -md5 3368146e56b35ba5569ff64054c2a3fd yatl-20200711.1.tar.gz -sha256 d37b90e7679d2d2873ac634e66adfcd0cd7e4c34438e76a3192cf984faba2595 yatl-20200711.1.tar.gz +md5 551136eba4c5551c01b051341b190641 yatl-20211217.1.tar.gz +sha256 d22bf7abe40d9bdd16bd15824d2df65e65e405df6ecb8601fdc7c233bf6b3004 yatl-20211217.1.tar.gz diff --git a/package/python-yatl/python-yatl.mk b/package/python-yatl/python-yatl.mk index 6df5fcd83e2..12a80398919 100644 --- a/package/python-yatl/python-yatl.mk +++ b/package/python-yatl/python-yatl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_YATL_VERSION = 20200711.1 +PYTHON_YATL_VERSION = 20211217.1 PYTHON_YATL_SOURCE = yatl-$(PYTHON_YATL_VERSION).tar.gz -PYTHON_YATL_SITE = https://files.pythonhosted.org/packages/b4/f5/b6020f8ccb3e156fbe0ed7e4a35fbdce4d6a7ef6a9ab0c54cb8880fb7c04 +PYTHON_YATL_SITE = https://files.pythonhosted.org/packages/03/05/0be8164e8151fd8c96caeb2560f955dc2dc1a969f0868f48c046cd863fe6 PYTHON_YATL_SETUP_TYPE = setuptools PYTHON_YATL_LICENSE = BSD-3-Clause diff --git a/package/python-yieldfrom/Config.in b/package/python-yieldfrom/Config.in deleted file mode 100644 index 1a063d31286..00000000000 --- a/package/python-yieldfrom/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_PYTHON_YIELDFROM - bool "python-yieldfrom" - depends on BR2_PACKAGE_PYTHON - help - A backport of the `yield from` semantic from Python 3.x to - Python 2.7. - - https://github.com/Nurdok/yieldfrom/ diff --git a/package/python-yieldfrom/python-yieldfrom.hash b/package/python-yieldfrom/python-yieldfrom.hash deleted file mode 100644 index 7730a1e578c..00000000000 --- a/package/python-yieldfrom/python-yieldfrom.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/yieldfrom/json -md5 fd94120625ac1e69bb5946d5e63182da yieldfrom-1.0.5.tar.gz -sha256 eb75e58641410f06083f85013a438f28bceaabfe5af9c3206d5049362c37aca0 yieldfrom-1.0.5.tar.gz -# Locally computed sha256 checksums -sha256 b3092d61cce29e25f3799285495095d220e5e015b88c1c70e1e72dae052f21e8 LICENSE diff --git a/package/python-yieldfrom/python-yieldfrom.mk b/package/python-yieldfrom/python-yieldfrom.mk deleted file mode 100644 index c926936ae82..00000000000 --- a/package/python-yieldfrom/python-yieldfrom.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# python-yieldfrom -# -################################################################################ - -PYTHON_YIELDFROM_VERSION = 1.0.5 -PYTHON_YIELDFROM_SOURCE = yieldfrom-$(PYTHON_YIELDFROM_VERSION).tar.gz -PYTHON_YIELDFROM_SITE = https://files.pythonhosted.org/packages/4d/f9/395917f574ace618eb234bcbae8df3fabaa9624532d96d1fbd3a20678b1e -PYTHON_YIELDFROM_SETUP_TYPE = setuptools -PYTHON_YIELDFROM_LICENSE = MIT -PYTHON_YIELDFROM_LICENSE_FILES = LICENSE - -$(eval $(python-package)) -$(eval $(host-python-package)) diff --git a/package/python-zeroconf/Config.in b/package/python-zeroconf/Config.in index a56bf7c16c3..1570674f59a 100644 --- a/package/python-zeroconf/Config.in +++ b/package/python-zeroconf/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_ZEROCONF bool "python-zeroconf" - depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_IFADDR # runtime help Pure Python Multicast DNS Service Discovery Library diff --git a/package/python-zeroconf/python-zeroconf.hash b/package/python-zeroconf/python-zeroconf.hash index a4239b67801..be91b590483 100644 --- a/package/python-zeroconf/python-zeroconf.hash +++ b/package/python-zeroconf/python-zeroconf.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/zeroconf/json -md5 1094639f8688f2c5b1938029877eb4f2 zeroconf-0.23.0.tar.gz -sha256 e0c333b967c48f8b2e5cc94a1d4d28893023fb06dfd797ee384a94cdd1d0eef5 zeroconf-0.23.0.tar.gz +md5 98e683a247fe9915a5d4845c38b37ff3 zeroconf-0.29.0.tar.gz +sha256 7aefbb658b452b1fd7e51124364f938c6f5e42d6ea893fa2557bea8c06c540af zeroconf-0.29.0.tar.gz # Locally computed sha256 checksums -sha256 bb117c0fbd7f57f64170b690285d7df07c2371b578e3b3cd3aa2e1155ef461a0 COPYING +sha256 bb117c0fbd7f57f64170b690285d7df07c2371b578e3b3cd3aa2e1155ef461a0 COPYING diff --git a/package/python-zeroconf/python-zeroconf.mk b/package/python-zeroconf/python-zeroconf.mk index 55da292b466..67bfa72e034 100644 --- a/package/python-zeroconf/python-zeroconf.mk +++ b/package/python-zeroconf/python-zeroconf.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ZEROCONF_VERSION = 0.23.0 +PYTHON_ZEROCONF_VERSION = 0.29.0 PYTHON_ZEROCONF_SOURCE = zeroconf-$(PYTHON_ZEROCONF_VERSION).tar.gz -PYTHON_ZEROCONF_SITE = https://files.pythonhosted.org/packages/d7/25/8bbdd4857820e0cdc380c7e0c3543dc01a55247a1d831c712571783e74ec +PYTHON_ZEROCONF_SITE = https://files.pythonhosted.org/packages/ca/77/eb6137997adc60811c6c46b28b00abac5c16daf14383f61d8a0180326b38 PYTHON_ZEROCONF_SETUP_TYPE = setuptools PYTHON_ZEROCONF_LICENSE = LGPL-2.1+ PYTHON_ZEROCONF_LICENSE_FILES = COPYING diff --git a/package/python-zope-interface/Config.in b/package/python-zope-interface/Config.in index 4279aa9ef85..17f7aed0d96 100644 --- a/package/python-zope-interface/Config.in +++ b/package/python-zope-interface/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_PYTHON_ZOPE_INTERFACE implementation of the Design By Contract methodology support in Python. - http://docs.zope.org/zope.interface/ + https://zopeinterface.readthedocs.io/ diff --git a/package/python-zope-interface/python-zope-interface.hash b/package/python-zope-interface/python-zope-interface.hash index 2828d85c329..f7fa673e245 100644 --- a/package/python-zope-interface/python-zope-interface.hash +++ b/package/python-zope-interface/python-zope-interface.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/zope-interface/json -md5 a3b24f9d079bae5e13dd7a88aa512112 zope.interface-4.6.0.tar.gz -sha256 1b3d0dcabc7c90b470e59e38a9acaa361be43b3a6ea644c0063951964717f0e5 zope.interface-4.6.0.tar.gz +md5 c58b31da83449631efb499de13c68c6a zope.interface-5.4.0.tar.gz +sha256 5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e zope.interface-5.4.0.tar.gz # Locally computed sha256 checksums -sha256 3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c LICENSE.txt +sha256 3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c LICENSE.txt diff --git a/package/python-zope-interface/python-zope-interface.mk b/package/python-zope-interface/python-zope-interface.mk index f36aab692be..beacfb4f5e1 100644 --- a/package/python-zope-interface/python-zope-interface.mk +++ b/package/python-zope-interface/python-zope-interface.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ZOPE_INTERFACE_VERSION = 4.6.0 +PYTHON_ZOPE_INTERFACE_VERSION = 5.4.0 PYTHON_ZOPE_INTERFACE_SOURCE = zope.interface-$(PYTHON_ZOPE_INTERFACE_VERSION).tar.gz -PYTHON_ZOPE_INTERFACE_SITE = https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6 +PYTHON_ZOPE_INTERFACE_SITE = https://files.pythonhosted.org/packages/ae/58/e0877f58daa69126a5fb325d6df92b20b77431cd281e189c5ec42b722f58 PYTHON_ZOPE_INTERFACE_SETUP_TYPE = setuptools PYTHON_ZOPE_INTERFACE_LICENSE = ZPL-2.1 PYTHON_ZOPE_INTERFACE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-zopfli/Config.in b/package/python-zopfli/Config.in new file mode 100644 index 00000000000..dc68a2fef03 --- /dev/null +++ b/package/python-zopfli/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_ZOPFLI + bool "python-zopfli" + depends on BR2_INSTALL_LIBSTDCPP + help + Zopfli module for python. + + https://github.com/fonttools/py-zopfli + +comment "python-zopfli needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-zopfli/python-zopfli.hash b/package/python-zopfli/python-zopfli.hash new file mode 100644 index 00000000000..92b51bdf182 --- /dev/null +++ b/package/python-zopfli/python-zopfli.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/zopfli/json +md5 f66b6f4132533b9b0ab8b0af757237bf zopfli-0.1.9.zip +sha256 78de3cc08a8efaa8013d61528907d91ac4d6cc014ffd8a41cc10ee75e9e60d7b zopfli-0.1.9.zip +# Locally computed sha256 checksums +sha256 018b1cb87efdf7a04c2fcc13d57ed63f62149113fb207b27ea13430d64f13513 COPYING diff --git a/package/python-zopfli/python-zopfli.mk b/package/python-zopfli/python-zopfli.mk new file mode 100644 index 00000000000..95a0067b052 --- /dev/null +++ b/package/python-zopfli/python-zopfli.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# python-zopfli +# +################################################################################ + +PYTHON_ZOPFLI_VERSION = 0.1.9 +PYTHON_ZOPFLI_SOURCE = zopfli-$(PYTHON_ZOPFLI_VERSION).zip +PYTHON_ZOPFLI_SITE = https://files.pythonhosted.org/packages/10/7d/278fd896401b0ef76e06cd42c3ce1541572d83b1c713b6786795c60a1bbe +PYTHON_ZOPFLI_SETUP_TYPE = setuptools +PYTHON_ZOPFLI_LICENSE = Apache-2.0 +PYTHON_ZOPFLI_LICENSE_FILES = COPYING +PYTHON_ZOPFLI_DEPENDENCIES = host-python-setuptools-scm + +define PYTHON_ZOPFLI_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(PYTHON_ZOPFLI_DL_DIR)/$(PYTHON_ZOPFLI_SOURCE) + mv $(@D)/zopfli-$(PYTHON_ZOPFLI_VERSION)/* $(@D) + $(RM) -r $(@D)/zopfli-$(PYTHON_ZOPFLI_VERSION) +endef + +$(eval $(python-package)) diff --git a/package/python/0001-setup.py-do-not-add-invalid-header-locations.patch b/package/python/0001-setup.py-do-not-add-invalid-header-locations.patch deleted file mode 100644 index 3b2c9833e88..00000000000 --- a/package/python/0001-setup.py-do-not-add-invalid-header-locations.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 3dc31a435b67de2ba3dd3457f0c939e20b58e8de Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:17:06 +0100 -Subject: [PATCH] setup.py: do not add invalid header locations - -This piece of code incorrectly adds /usr/include to -self.compiler.include_dirs, and results in the following invalid -compilation line: - -/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC \ - -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \ - -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \ - -I/usr/include -I. -IInclude -I./Include \ - -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \ - -I/home/thomas/projets/buildroot/output/build/python-2.7.6/Include \ - -I/home/thomas/projets/buildroot/output/build/python-2.7.6 \ - -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.c \ - -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.o -cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories] -[...] - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 54054c2..64001e2 100644 ---- a/setup.py -+++ b/setup.py -@@ -496,7 +496,7 @@ class PyBuildExt(build_ext): - for directory in reversed(options.dirs): - add_dir_to_list(dir_list, directory) - -- if os.path.normpath(sys.prefix) != '/usr' \ -+ if False and os.path.normpath(sys.prefix) != '/usr' \ - and not sysconfig.get_config_var('PYTHONFRAMEWORK'): - # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework - # (PYTHONFRAMEWORK is set) to avoid # linking problems when --- -2.7.4 - diff --git a/package/python/0002-Fix-get_python_inc-for-cross-compilation.patch b/package/python/0002-Fix-get_python_inc-for-cross-compilation.patch deleted file mode 100644 index 1fa4e927889..00000000000 --- a/package/python/0002-Fix-get_python_inc-for-cross-compilation.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 367ee7d103cf9f670c3925d555edf6f6a5b9d8d5 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:17:25 +0100 -Subject: [PATCH] Fix get_python_inc() for cross-compilation - -When we are cross compiling, doing os.path.dirname(sys.executable) to -get the build directory is incorrect, because we're executing the host -Python to build things for the target. Instead, we should use the -project_base variable. - -This fixes cross-compilation, which was adding incorrect header paths -pointing to the location where the host Python was built: - -/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \ - -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \ - -I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \ - -I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \ - -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \ - -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o - -This patch allows to fix the -/home/thomas/projets/buildroot/output/host/usr/bin/Include and -/home/thomas/projets/buildroot/output/host/usr/bin paths that are -incorrectly added to the header paths. - -Signed-off-by: Thomas Petazzoni -[Asaf: update for 2.7.17] -Signed-off-by: Asaf Kahlon ---- - Lib/distutils/sysconfig.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 1a4b792644..14c7d81c48 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -85,7 +85,7 @@ def get_python_inc(plat_specific=0, prefix=None): - if os.name == "posix": - if python_build: - if sys.executable: -- buildir = os.path.dirname(sys.executable) -+ buildir = project_base - else: - # sys.executable can be empty if argv[0] has been changed - # and Python is unable to retrieve the real program name --- -2.20.1 - diff --git a/package/python/0003-Change-the-install-location-of-_sysconfigdata.py.patch b/package/python/0003-Change-the-install-location-of-_sysconfigdata.py.patch deleted file mode 100644 index 9e05af2e318..00000000000 --- a/package/python/0003-Change-the-install-location-of-_sysconfigdata.py.patch +++ /dev/null @@ -1,88 +0,0 @@ -From e3f3c454ec4992a2283640cef0a35da5a05fb399 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:17:59 +0100 -Subject: [PATCH] Change the install location of _sysconfigdata.py - -The _sysconfigdata.py module contains definitions that are needed when -building Python modules. In cross-compilation mode, when building -Python extensions for the target, we need to use the _sysconfigdata.py -of the target Python while executing the host Python. - -However until now, the _sysconfigdata.py module was installed in -build/lib.- directory, together with a number of -architecture-specific shared objects, which cannot be used with the -host Python. - -To solve this problem, this patch moves _sysconfigdata.py to a -separate location, build/sysconfigdata.-/, and only -this directory gets added to the PYTHONPATH of the host Python -interpreter when building Python modules for the target. - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 12 ++++++++++-- - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 9297e7fc89..49d3c0926f 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -509,6 +509,9 @@ pybuilddir.txt: $(BUILDPYTHON) - rm -f ./pybuilddir.txt ; \ - exit 1 ; \ - fi -+ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt -+ mkdir -p `cat pysysconfigdatadir.txt` -+ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt` - - # This is shared by the math and cmath modules - Modules/_math.o: Modules/_math.c Modules/_math.h -@@ -1091,7 +1094,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - else true; \ - fi; \ - done -- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ -+ @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ - do \ - if test -x $$i; then \ - $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \ -@@ -1101,6 +1104,11 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - echo $(INSTALL_DATA) $$i $(LIBDEST); \ - fi; \ - done -+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ -+ $(DESTDIR)$(LIBDEST) -+ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata -+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ -+ $(DESTDIR)$(LIBDEST)/sysconfigdata - @for d in $(LIBSUBDIRS); \ - do \ - a=$(srcdir)/Lib/$$d; \ -@@ -1426,7 +1434,7 @@ distclean: clobber - Modules/Setup Modules/Setup.local Modules/Setup.config \ - Modules/ld_so_aix Modules/python.exp Misc/python.pc - -rm -f python*-gdb.py -- -rm -f pybuilddir.txt -+ -rm -f pybuilddir.txt pysysconfigdatadir.txt - # Issue #28258: set LC_ALL to avoid issues with Estonian locale. - # Expansion is performed here by shell (spawned by make) itself before - # arguments are passed to find. So LC_ALL=C must be set as a separate -diff --git a/configure.ac b/configure.ac -index aecf6066e8..7143172b98 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -36,7 +36,7 @@ if test "$cross_compiling" = yes; then - AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) - fi - AC_MSG_RESULT($interp) -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp - fi - elif test "$cross_compiling" = maybe; then - AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) --- -2.11.0 - diff --git a/package/python/0004-Make-the-compilation-of-.pyc-and-.pyo-conditional.patch b/package/python/0004-Make-the-compilation-of-.pyc-and-.pyo-conditional.patch deleted file mode 100644 index ef1eb04046c..00000000000 --- a/package/python/0004-Make-the-compilation-of-.pyc-and-.pyo-conditional.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 57ab41fa019d3ce276decd488938e5a00049cb9d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:18:57 +0100 -Subject: [PATCH] Make the compilation of .pyc and .pyo conditional - -This commit adds --{enable,disable}-{pyc,pyo} options to enable/disable -the compilation of pyc/pyo files. - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 8 ++++++++ - configure.ac | 11 +++++++++++ - 2 files changed, 19 insertions(+) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 49d3c0926f..247d3c2902 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1139,24 +1139,32 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ - $(DESTDIR)$(LIBDEST)/distutils/tests ; \ - fi -+ifeq (@PYC_BUILD@,yes) - PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) -+endif -+ifeq (@PYO_BUILD@,yes) - PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) -+endif -+ifeq (@PYC_BUILD@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -+endif -+ifeq (@PYO_BUILD@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -+endif - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -diff --git a/configure.ac b/configure.ac -index 7143172b98..6bd8369105 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -773,6 +773,17 @@ SunOS*) - ;; - esac - -+AC_SUBST(PYC_BUILD) -+ -+AC_ARG_ENABLE(pyc-build, -+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]), -+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ]) -+ -+AC_SUBST(PYO_BUILD) -+ -+AC_ARG_ENABLE(pyo-build, -+ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]), -+ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ]) - - AC_SUBST(LIBRARY) - AC_MSG_CHECKING(LIBRARY) --- -2.11.0 - diff --git a/package/python/0005-Adjust-getaddrinfo-test-for-cross-compilation.patch b/package/python/0005-Adjust-getaddrinfo-test-for-cross-compilation.patch deleted file mode 100644 index c910ae71813..00000000000 --- a/package/python/0005-Adjust-getaddrinfo-test-for-cross-compilation.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e674e29ceba34e55c9149ce99489e543aa4ebb01 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:19:47 +0100 -Subject: [PATCH] Adjust getaddrinfo() test for cross-compilation - -The getaddrinfo() test in configure.ac uses AC_RUN_IFELSE(), which isn't -cross-compilation friendly. - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 6bd8369105..77ca6d86ca 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3563,7 +3563,7 @@ fi - - AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) - --if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes -+if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes - then - if test $ipv6 = yes - then --- -2.11.0 - diff --git a/package/python/0006-Add-minimal-infrastructure-to-be-able-to-disable-ext.patch b/package/python/0006-Add-minimal-infrastructure-to-be-able-to-disable-ext.patch deleted file mode 100644 index b1a20eb04e6..00000000000 --- a/package/python/0006-Add-minimal-infrastructure-to-be-able-to-disable-ext.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 94ec96dd8827adfb5e272d28a4d76510e28657b3 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:21:28 +0100 -Subject: [PATCH] Add minimal infrastructure to be able to disable extensions - -This commit adds some logic to the Python build system to be able to -disable Python extensions. Follow-up commits actually add options to -disable specific extensions. - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 6 +++++- - configure.ac | 2 ++ - setup.py | 5 ++++- - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 247d3c2902..c1c98ecc5a 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -160,6 +160,8 @@ FILEMODE= 644 - # configure script arguments - CONFIG_ARGS= @CONFIG_ARGS@ - -+# disabled extensions -+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@ - - # Subdirectories with code - SRCDIRS= @SRCDIRS@ -@@ -528,6 +530,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o - esac; \ - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ -+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build - - # Build static library -@@ -1280,7 +1283,8 @@ libainstall: @DEF_MAKE_RULE@ python-config - # Install the dynamically loadable modules - # This goes into $(exec_prefix) - sharedinstall: sharedmods -- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ -+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ -+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ - --prefix=$(prefix) \ - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ -diff --git a/configure.ac b/configure.ac -index 77ca6d86ca..13f90b3ddd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2491,6 +2491,8 @@ LIBS="$withval $LIBS" - - PKG_PROG_PKG_CONFIG - -+AC_SUBST(DISABLED_EXTENSIONS) -+ - # Check for use of the system expat library - AC_MSG_CHECKING(for --with-system-expat) - AC_ARG_WITH(system_expat, -diff --git a/setup.py b/setup.py -index 812d53d560..d426dd02ea 100644 ---- a/setup.py -+++ b/setup.py -@@ -33,7 +33,10 @@ host_platform = get_platform() - COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) - - # This global variable is used to hold the list of modules to be disabled. --disabled_module_list = [] -+try: -+ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ") -+except KeyError: -+ disabled_module_list = list() - - def add_dir_to_list(dirlist, dir): - """Add the directory 'dir' to the list 'dirlist' (at the front) if --- -2.11.0 - diff --git a/package/python/0007-Adjust-library-header-paths-for-cross-compilation.patch b/package/python/0007-Adjust-library-header-paths-for-cross-compilation.patch deleted file mode 100644 index c68f1bf7f2e..00000000000 --- a/package/python/0007-Adjust-library-header-paths-for-cross-compilation.patch +++ /dev/null @@ -1,64 +0,0 @@ -From f3e0a677c4736f95338825a022a884f8dc7a5c14 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:22:19 +0100 -Subject: [PATCH] Adjust library/header paths for cross-compilation - -When cross-compiling third-party extensions, the get_python_inc() or -get_python_lib() can be called, to return the path to headers or -libraries. However, they use the sys.prefix of the host Python, which -returns incorrect paths when cross-compiling (paths pointing to host -headers and libraries). - -In order to fix this, we introduce the _python_sysroot, _python_prefix -and _python_exec_prefix variables, that allow to override these -values, and get correct header/library paths when cross-compiling -third-party Python modules. - -The _python_sysroot variable is also used to prefix the LIBDIR value -taken from the sysconfigdata module. - -Signed-off-by: Thomas Petazzoni ---- - Lib/distutils/command/build_ext.py | 5 ++++- - Lib/distutils/sysconfig.py | 9 +++++++-- - 2 files changed, 11 insertions(+), 3 deletions(-) - -diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py -index 2c68be3..375b08c 100644 ---- a/Lib/distutils/command/build_ext.py -+++ b/Lib/distutils/command/build_ext.py -@@ -240,7 +240,10 @@ class build_ext (Command): - if (sysconfig.get_config_var('Py_ENABLE_SHARED')): - if not sysconfig.python_build: - # building third party extensions -- self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) -+ libdir = sysconfig.get_config_var('LIBDIR') -+ if "_python_sysroot" in os.environ: -+ libdir = os.environ.get("_python_sysroot") + libdir -+ self.library_dirs.append(libdir) - else: - # building python standard extensions - self.library_dirs.append('.') -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index d72b6e5..72151df 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -19,8 +19,13 @@ import sys - from distutils.errors import DistutilsPlatformError - - # These are needed in a couple of spots, so just compute them once. --PREFIX = os.path.normpath(sys.prefix) --EXEC_PREFIX = os.path.normpath(sys.exec_prefix) -+if "_python_sysroot" in os.environ: -+ _sysroot=os.environ.get('_python_sysroot') -+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) -+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) -+else: -+ PREFIX = os.path.normpath(sys.prefix) -+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix) - - # Path to the base directory of the project. On Windows the binary may - # live in project/PCBuild9. If we're dealing with an x64 Windows build, --- -2.7.4 - diff --git a/package/python/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/package/python/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch deleted file mode 100644 index d523b74638f..00000000000 --- a/package/python/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 87b627d8845e67fd798449b414bece04f18bd450 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:22:40 +0100 -Subject: [PATCH] Don't look in /usr/lib/termcap for libraries - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/setup.py b/setup.py -index 3b51c0a..fa32532 100644 ---- a/setup.py -+++ b/setup.py -@@ -784,12 +784,9 @@ class PyBuildExt(build_ext): - pass # Issue 7384: Already linked against curses or tinfo. - elif curses_library: - readline_libs.append(curses_library) -- elif self.compiler.find_library_file(lib_dirs + -- ['/usr/lib/termcap'], -- 'termcap'): -+ elif self.compiler.find_library_file(lib_dirs, 'termcap'): - readline_libs.append('termcap') - exts.append( Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs) ) - else: --- -2.7.4 - diff --git a/package/python/0009-Fix-python-config-for-cross-builds.patch b/package/python/0009-Fix-python-config-for-cross-builds.patch deleted file mode 100644 index 3cf8797c03d..00000000000 --- a/package/python/0009-Fix-python-config-for-cross-builds.patch +++ /dev/null @@ -1,229 +0,0 @@ -From 1522c6c00ee88eb1148d3b2021d32d819b416375 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 7 Mar 2017 22:23:14 +0100 -Subject: [PATCH] Fix python-config for cross-builds - -Add a backport of http://bugs.python.org/issue16235 so we can use -python-config for cross builds. - -This basically replaces the python version of python-config with a -pure-shell version that's already preprocessed when installed and -doesn't depend on the sysconfig import that usually leads to bad -data/results. - -Signed-off-by: Gustavo Zacarias -[Bernd: rebased for Python 2.7.15] -Signed-off-by: Bernd Kuhls -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 13 +++--- - Misc/python-config.sh.in | 102 +++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 7 +++- - 3 files changed, 116 insertions(+), 6 deletions(-) - create mode 100644 Misc/python-config.sh.in - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index c1c98ecc5a..727a92af42 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -170,7 +170,7 @@ SRCDIRS= @SRCDIRS@ - SUBDIRSTOO= Include Lib Misc Demo - - # Files and directories to be distributed --CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in -+CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Misc/python-config.sh - DISTFILES= README ChangeLog $(CONFIGFILES) - DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy - DIST= $(DISTFILES) $(DISTDIRS) -@@ -403,7 +403,7 @@ LIBRARY_OBJS= \ - - # Default target - all: @DEF_MAKE_ALL_RULE@ --build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks -+build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config - - # Check that the source is clean when building out of source. - check-clean-src: -@@ -1190,10 +1190,12 @@ $(srcdir)/Lib/$(PLATDIR): - fi; \ - cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen - --python-config: $(srcdir)/Misc/python-config.in -+python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh - # Substitution happens here, as the completely-expanded BINDIR - # is not available in configure -- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config -+ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py -+ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} -+ sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' Misc/python-config.sh >python-config - - # Install the include files - INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) -@@ -1252,7 +1254,7 @@ libainstall: @DEF_MAKE_RULE@ python-config - $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup - $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh - $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config -- rm python-config -+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py - @if [ -s Modules/python.exp -a \ - "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ - echo; echo "Installing support files for building shared extension modules on AIX:"; \ -@@ -1434,6 +1436,7 @@ clobber: clean profile-removal - config.cache config.log pyconfig.h Modules/config.c - -rm -rf build platform - -rm -rf $(PYTHONFRAMEWORKDIR) -+ -rm -f python-config.py python-config - - # Make things extra clean, before making a distribution: - # remove all generated files, even Makefile[.pre] -diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in -new file mode 100644 -index 0000000000..10db4c12eb ---- /dev/null -+++ b/Misc/python-config.sh.in -@@ -0,0 +1,102 @@ -+#!/bin/sh -+ -+exit_with_usage () -+{ -+ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir" -+ exit $1 -+} -+ -+if [ "$1" = "" ] ; then -+ exit_with_usage 1 -+fi -+ -+# Returns the actual prefix where this script was installed to. -+installed_prefix () -+{ -+ RESULT=$(dirname $(cd $(dirname "$1") && pwd -P)) -+ if which readlink >/dev/null 2>&1 ; then -+ RESULT=$(readlink -f "$RESULT") -+ fi -+ echo $RESULT -+} -+ -+prefix_build="@prefix@" -+prefix_real=$(installed_prefix "$0") -+ -+# Use sed to fix paths from their built to locations to their installed to locations. -+prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#") -+exec_prefix_build="@exec_prefix@" -+exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#") -+includedir=$(echo "@includedir@") -+libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#") -+CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#") -+VERSION="@VERSION@" -+LIBM="@LIBM@" -+LIBC="@LIBC@" -+SYSLIBS="$LIBM $LIBC" -+LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}" -+BASECFLAGS="@BASECFLAGS@" -+LDLIBRARY="@LDLIBRARY@" -+LINKFORSHARED="@LINKFORSHARED@" -+OPT="@OPT@" -+PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" -+LDVERSION="@LDVERSION@" -+LIBDEST=${prefix}/lib/python${VERSION} -+LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#") -+SO="@SO@" -+PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" -+INCDIR="-I$includedir/python${VERSION}" -+PLATINCDIR="-I$includedir/python${VERSION}" -+ -+# Scan for --help or unknown argument. -+for ARG in $* -+do -+ case $ARG in -+ --help) -+ exit_with_usage 0 -+ ;; -+ --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir) -+ ;; -+ *) -+ exit_with_usage 1 -+ ;; -+esac -+done -+ -+for ARG in "$@" -+do -+ case "$ARG" in -+ --prefix) -+ echo "$prefix" -+ ;; -+ --exec-prefix) -+ echo "$exec_prefix" -+ ;; -+ --includes) -+ echo "$INCDIR $PLATINCDIR" -+ ;; -+ --cflags) -+ echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT" -+ ;; -+ --libs) -+ echo "$LIBS" -+ ;; -+ --ldflags) -+ LINKFORSHAREDUSED= -+ if [ -z "$PYTHONFRAMEWORK" ] ; then -+ LINKFORSHAREDUSED=$LINKFORSHARED -+ fi -+ LIBPLUSED= -+ if [ "$PY_ENABLE_SHARED" = "0" ] ; then -+ LIBPLUSED="-L$LIBPL" -+ fi -+ echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED" -+ ;; -+ --extension-suffix) -+ echo "$SO" -+ ;; -+ --configdir) -+ echo "$LIBPL" -+ ;; -+esac -+done -diff --git a/configure.ac b/configure.ac -index 13f90b3ddd..3f28ef1371 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -919,6 +919,7 @@ fi - - # Other platforms follow - if test $enable_shared = "yes"; then -+ PY_ENABLE_SHARED=1 - AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.]) - case $ac_sys_system in - BeOS*) -@@ -979,6 +980,7 @@ if test $enable_shared = "yes"; then - - esac - else # shared is disabled -+ PY_ENABLE_SHARED=0 - case $ac_sys_system in - CYGWIN*) - BLDLIBRARY='$(LIBRARY)' -@@ -2128,6 +2130,9 @@ AC_SUBST(LDCXXSHARED) - AC_SUBST(BLDSHARED) - AC_SUBST(CCSHARED) - AC_SUBST(LINKFORSHARED) -+AC_SUBST(PY_ENABLE_SHARED) -+LIBPL="${prefix}/lib/python${VERSION}/config" -+AC_SUBST(LIBPL) - # SO is the extension of shared libraries `(including the dot!) - # -- usually .so, .sl on HP-UX, .dll on Cygwin - AC_MSG_CHECKING(SO) -@@ -4944,7 +4949,7 @@ AC_MSG_RESULT($ENSUREPIP) - AC_SUBST(ENSUREPIP) - - # generate output files --AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc) -+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh) - AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) - AC_OUTPUT - --- -2.11.0 - diff --git a/package/python/0010-Remove-the-python-symlink-install-rules.patch b/package/python/0010-Remove-the-python-symlink-install-rules.patch deleted file mode 100644 index 4a2116b1b0b..00000000000 --- a/package/python/0010-Remove-the-python-symlink-install-rules.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 706d62599fb3c3cb9b9941364aaf4a1ef4ebd276 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Tue, 7 Mar 2017 22:23:58 +0100 -Subject: [PATCH] Remove the python symlink install rules - -The python symlink installation will be handled by Buildroot itself, -because Buildroot needs to control to what python interpreter (python2 -or python3) the python symlink points to. - -Signed-off-by: Samuel Martin -[Bernd: rebased against version 2.7.12.] -Signed-off-by: Bernd Kuhls -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 7 ------- - 1 file changed, 7 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 727a92af42..37b2ff3a5f 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -978,17 +978,10 @@ bininstall: altbininstall - echo "Creating directory $(LIBPC)"; \ - $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \ - fi -- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \ -- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \ -- else true; \ -- fi -- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON)) - -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE) - (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE)) - -rm -f $(DESTDIR)$(BINDIR)/python2-config - (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config) -- -rm -f $(DESTDIR)$(BINDIR)/python-config -- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config) - -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC) - -rm -f $(DESTDIR)$(LIBPC)/python2.pc - (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc) --- -2.11.0 - diff --git a/package/python/0011-Don-t-add-multiarch-paths.patch b/package/python/0011-Don-t-add-multiarch-paths.patch deleted file mode 100644 index b84c9077c94..00000000000 --- a/package/python/0011-Don-t-add-multiarch-paths.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 50a243a9c90f95e9248ac720e42e802b5922ab90 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:24:28 +0100 -Subject: [PATCH] Don't add multiarch paths - -The add_multiarch_paths() function leads, in certain build -environments, to the addition of host header paths to the CFLAGS, -which is not appropriate for cross-compilation. This patch fixes that -by simply removing the call to add_multiarch_paths() when we're -cross-compiling. - -Investigation done by David . - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index fa32532..0b9ea57 100644 ---- a/setup.py -+++ b/setup.py -@@ -461,9 +461,9 @@ class PyBuildExt(build_ext): - if not cross_compiling: - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') -+ self.add_multiarch_paths() - if cross_compiling: - self.add_gcc_paths() -- self.add_multiarch_paths() - - # Add paths specified in the environment variables LDFLAGS and - # CPPFLAGS for header and library files. --- -2.7.4 - diff --git a/package/python/0012-Abort-on-failed-module-build.patch b/package/python/0012-Abort-on-failed-module-build.patch deleted file mode 100644 index 7d952ca5c2c..00000000000 --- a/package/python/0012-Abort-on-failed-module-build.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a131e2ff219872d97eef6585117bd2f8ff9e310d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:24:48 +0100 -Subject: [PATCH] Abort on failed module build - -When building a Python module fails, the setup.py script currently -doesn't exit with an error, and simply continues. This is not a really -nice behavior, so this patch changes setup.py to abort with an error, -so that the build issue is clearly noticeable. - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/setup.py b/setup.py -index 0b9ea57..9a5c2b8 100644 ---- a/setup.py -+++ b/setup.py -@@ -299,6 +299,7 @@ class PyBuildExt(build_ext): - print "Failed to build these modules:" - print_three_column(failed) - print -+ sys.exit(1) - - def build_extension(self, ext): - --- -2.7.4 - diff --git a/package/python/0013-sqlite3-fix-build-when-threads-are-not-used-availabl.patch b/package/python/0013-sqlite3-fix-build-when-threads-are-not-used-availabl.patch deleted file mode 100644 index dfc11efc7ec..00000000000 --- a/package/python/0013-sqlite3-fix-build-when-threads-are-not-used-availabl.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 0f0be88526ece7d2f6ee21c1f59b1546ec6dc7c0 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 7 Mar 2017 22:25:14 +0100 -Subject: [PATCH] sqlite3: fix build when threads are not used/available - -When threads are not used/available, a function in the sqlite3 extension -ends up with a label at the end: - - void _pysqlite_final_callback(sqlite3_context* context) - { - PyObject* function_result; - PyObject** aggregate_instance; - int ok; - - #ifdef WITH_THREAD - PyGILState_STATE threadstate; - - threadstate = PyGILState_Ensure(); - #endif - - aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*)); - if (!*aggregate_instance) { - goto error; - } - - [......] - - error: - #ifdef WITH_THREAD - PyGILState_Release(threadstate); - #endif - } - -This is not valid, and gcc complains. - -Fix that by adding a dummy statement after the label, so that the label -is never the last statement of the function. - -Signed-off-by: "Yann E. MORIN" ---- - Modules/_sqlite/connection.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c -index 237d6e4..cdf69ab 100644 ---- a/Modules/_sqlite/connection.c -+++ b/Modules/_sqlite/connection.c -@@ -794,6 +794,7 @@ error: - #ifdef WITH_THREAD - PyGILState_Release(threadstate); - #endif -+ ; /* Make gcc happy: a label can't be at the end of a function */ - } - - static void _pysqlite_drop_unused_statement_references(pysqlite_Connection* self) --- -2.7.4 - diff --git a/package/python/0014-Serial-ioctl-workaround.patch b/package/python/0014-Serial-ioctl-workaround.patch deleted file mode 100644 index 468d535ac3d..00000000000 --- a/package/python/0014-Serial-ioctl-workaround.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 22e5a4c5d29ddf0856d7f68f5a613aec00e26168 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 7 Mar 2017 22:25:36 +0100 -Subject: [PATCH] Serial ioctl() workaround - -The ioctls.h of some architectures (notably xtensa) references structs from -linux/serial.h. Make sure to include this header as well. - -Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct, -but isn't actually referenced in modern kernels. - -Signed-off-by: Baruch Siach ---- - Modules/termios.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Modules/termios.c b/Modules/termios.c -index 57f30dc..a8c9855 100644 ---- a/Modules/termios.c -+++ b/Modules/termios.c -@@ -16,7 +16,9 @@ - * so this needs to be included first on that platform. */ - #include - #endif -+#include - #include -+#undef TIOCTTYGSTRUCT - - /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR, - * MDTR, MRI, and MRTS (appearantly used internally by some things --- -2.7.4 - diff --git a/package/python/0015-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch b/package/python/0015-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch deleted file mode 100644 index fecf29f4d67..00000000000 --- a/package/python/0015-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 70049366ddf1fc9084bb02cf4459380976cdf8f7 Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier -Date: Tue, 7 Mar 2017 22:26:09 +0100 -Subject: [PATCH] Do not adjust the shebang of Python scripts for - cross-compilation - -The copy_scripts() method in distutils copies the scripts listed in -the setup file and adjusts the first line to refer to the current -Python interpreter. When cross-compiling, this means that the adjusted -shebang refers to the host Python interpreter. - -This patch modifies copy_scripts() to preserve the shebang when -cross-compilation is detected. - -Signed-off-by: Christophe Vu-Brugier ---- - Lib/distutils/command/build_scripts.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py -index 567df65..4922d50 100644 ---- a/Lib/distutils/command/build_scripts.py -+++ b/Lib/distutils/command/build_scripts.py -@@ -89,7 +89,7 @@ class build_scripts (Command): - adjust = 1 - post_interp = match.group(1) or '' - -- if adjust: -+ if adjust and not '_python_sysroot' in os.environ: - log.info("copying and adjusting %s -> %s", script, - self.build_dir) - if not self.dry_run: --- -2.7.4 - diff --git a/package/python/0016-Add-an-option-to-disable-installation-of-test-module.patch b/package/python/0016-Add-an-option-to-disable-installation-of-test-module.patch deleted file mode 100644 index 600fc40b698..00000000000 --- a/package/python/0016-Add-an-option-to-disable-installation-of-test-module.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 2c1810fb002128a6d33cc3a391a157e316479d15 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:27:16 +0100 -Subject: [PATCH] Add an option to disable installation of test modules - -The Python standard distribution comes with many test modules, that -are not necessarly useful on embedded targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Bernd: rebased against version 2.7.14] -Signed-off-by: Bernd Kuhls -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 50 +++++++++++++++++++++++++++++++++----------------- - configure.ac | 6 ++++++ - 2 files changed, 39 insertions(+), 17 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 37b2ff3a5f..2a5e8adc61 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1048,28 +1048,44 @@ PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \ - plat-mac/lib-scriptpackages/SystemEvents \ - plat-mac/lib-scriptpackages/Terminal - PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages --LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \ -- lib-tk/test/test_ttk site-packages test test/audiodata test/capath \ -- test/data test/cjkencodings test/decimaltestdata test/xmltestdata \ -- test/imghdrdata \ -- test/subprocessdata \ -- test/support \ -- test/tracedmodules \ -+LIBSUBDIRS= lib-tk site-packages \ - encodings compiler hotshot \ -- email email/mime email/test email/test/data \ -+ email email/mime \ - ensurepip ensurepip/_bundled \ -- json json/tests \ -- sqlite3 sqlite3/test \ -- logging bsddb bsddb/test csv importlib wsgiref \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ -- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ -- ctypes ctypes/test ctypes/macholib \ -- idlelib idlelib/Icons idlelib/idle_test \ -- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ -+ json \ -+ sqlite3 \ -+ logging bsddb csv importlib wsgiref \ -+ lib2to3 lib2to3/fixes lib2to3/pgen2 \ -+ ctypes ctypes/macholib \ -+ idlelib idlelib/Icons \ -+ distutils distutils/command $(XMLLIBSUBDIRS) \ - multiprocessing multiprocessing/dummy \ -- unittest unittest/test \ -+ unittest \ - lib-old \ - curses pydoc_data $(MACHDEPS) -+ -+TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ -+ lib-tk/test/test_ttk test test/audiodata test/capath test/data \ -+ test/cjkencodings test/decimaltestdata test/xmltestdata \ -+ test/imghdrdata \ -+ test/subprocessdata \ -+ test/support \ -+ test/tracedmodules \ -+ email/test email/test/data \ -+ json/tests \ -+ sqlite3/test \ -+ bsddb/test \ -+ lib2to3/tests \ -+ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ -+ ctypes/test \ -+ idlelib/idle_test \ -+ distutils/tests \ -+ unittest/test -+ -+ifeq (@TEST_MODULES@,yes) -+LIBSUBDIRS += $(TESTSUBDIRS) -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index 3f28ef1371..f257a25620 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2835,6 +2835,12 @@ if test "$posix_threads" = "yes"; then - fi - - -+AC_SUBST(TEST_MODULES) -+ -+AC_ARG_ENABLE(test-modules, -+ AS_HELP_STRING([--disable-test-modules], [disable test modules]), -+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) --- -2.11.0 - diff --git a/package/python/0017-Add-an-option-to-disable-pydoc.patch b/package/python/0017-Add-an-option-to-disable-pydoc.patch deleted file mode 100644 index 48c1b570df5..00000000000 --- a/package/python/0017-Add-an-option-to-disable-pydoc.patch +++ /dev/null @@ -1,89 +0,0 @@ -From f98c3f981643411449aba6f93178b2ca14f9a68c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:27:34 +0100 -Subject: [PATCH] Add an option to disable pydoc - -It removes 0.5 MB of data from the target plus the pydoc script -itself. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 6 +++++- - configure.ac | 5 +++++ - setup.py | 10 +++++++--- - 3 files changed, 17 insertions(+), 4 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2a5e8adc61..d3ba1aeb4e 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1062,7 +1062,7 @@ LIBSUBDIRS= lib-tk site-packages \ - multiprocessing multiprocessing/dummy \ - unittest \ - lib-old \ -- curses pydoc_data $(MACHDEPS) -+ curses $(MACHDEPS) - - TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ - lib-tk/test/test_ttk test test/audiodata test/capath test/data \ -@@ -1086,6 +1086,10 @@ ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif - -+ifeq (@PYDOC@,yes) -+LIBSUBDIRS += pydoc_data -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index f257a25620..2ed4119478 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2834,6 +2834,11 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_atfork) - fi - -+AC_SUBST(PYDOC) -+ -+AC_ARG_ENABLE(pydoc, -+ AS_HELP_STRING([--disable-pydoc], [disable pydoc]), -+ [ PYDOC="${enableval}" ], [ PYDOC=yes ]) - - AC_SUBST(TEST_MODULES) - -diff --git a/setup.py b/setup.py -index 2ef5b07189..49f810f72e 100644 ---- a/setup.py -+++ b/setup.py -@@ -2277,6 +2277,12 @@ def main(): - # turn off warnings when deprecated modules are imported - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) -+ -+ scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3', -+ 'Lib/smtpd.py'] -+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/pydoc' ] -+ - setup(# PyPI Metadata (PEP 301) - name = "Python", - version = sys.version.split()[0], -@@ -2297,9 +2303,7 @@ def main(): - ext_modules=[Extension('_struct', ['_struct.c'])], - - # Scripts to install -- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', -- 'Tools/scripts/2to3', -- 'Lib/smtpd.py'] -+ scripts = scripts, - ) - - # --install-platlib --- -2.11.0 - diff --git a/package/python/0018-Add-an-option-to-disable-lib2to3.patch b/package/python/0018-Add-an-option-to-disable-lib2to3.patch deleted file mode 100644 index 2c539fac350..00000000000 --- a/package/python/0018-Add-an-option-to-disable-lib2to3.patch +++ /dev/null @@ -1,92 +0,0 @@ -From d7f419246681e12f05e2eefc79286959c6aa18ab Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:27:49 +0100 -Subject: [PATCH] Add an option to disable lib2to3 - -lib2to3 is a library to convert Python 2.x code to Python 3.x. As -such, it is probably not very useful on embedded system targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 11 ++++++++--- - configure.ac | 6 ++++++ - setup.py | 5 +++-- - 3 files changed, 17 insertions(+), 5 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index d3ba1aeb4e..0e15b6d6f4 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1055,7 +1055,6 @@ LIBSUBDIRS= lib-tk site-packages \ - json \ - sqlite3 \ - logging bsddb csv importlib wsgiref \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ - distutils distutils/command $(XMLLIBSUBDIRS) \ -@@ -1075,8 +1074,6 @@ TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ - json/tests \ - sqlite3/test \ - bsddb/test \ -- lib2to3/tests \ -- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1090,6 +1087,14 @@ ifeq (@PYDOC@,yes) - LIBSUBDIRS += pydoc_data - endif - -+ifeq (@LIB2TO3@,yes) -+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 -+TESTSUBDIRS += lib2to3/tests \ -+ lib2to3/tests/data \ -+ lib2to3/tests/data/fixers \ -+ lib2to3/tests/data/fixers/myfixes -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index 2ed4119478..a2810ab8ed 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2846,6 +2846,12 @@ AC_ARG_ENABLE(test-modules, - AS_HELP_STRING([--disable-test-modules], [disable test modules]), - [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) - -+AC_SUBST(LIB2TO3) -+ -+AC_ARG_ENABLE(lib2to3, -+ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), -+ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) -diff --git a/setup.py b/setup.py -index 49f810f72e..9130819454 100644 ---- a/setup.py -+++ b/setup.py -@@ -2278,10 +2278,11 @@ def main(): - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3', -- 'Lib/smtpd.py'] -+ scripts = ['Tools/scripts/idle', 'Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc' ] -+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/2to3' ] - - setup(# PyPI Metadata (PEP 301) - name = "Python", --- -2.11.0 - diff --git a/package/python/0019-Add-option-to-disable-the-sqlite3-module.patch b/package/python/0019-Add-option-to-disable-the-sqlite3-module.patch deleted file mode 100644 index 433bb2973ea..00000000000 --- a/package/python/0019-Add-option-to-disable-the-sqlite3-module.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 123ecc50932e3ad3f7a2d90d430b74822c9695d4 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:28:06 +0100 -Subject: [PATCH] Add option to disable the sqlite3 module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 7 +++++-- - configure.ac | 9 +++++++++ - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 0e15b6d6f4..a2e5ac6d41 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1053,7 +1053,6 @@ LIBSUBDIRS= lib-tk site-packages \ - email email/mime \ - ensurepip ensurepip/_bundled \ - json \ -- sqlite3 \ - logging bsddb csv importlib wsgiref \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -@@ -1072,7 +1071,6 @@ TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ - test/tracedmodules \ - email/test email/test/data \ - json/tests \ -- sqlite3/test \ - bsddb/test \ - ctypes/test \ - idlelib/idle_test \ -@@ -1095,6 +1093,11 @@ TESTSUBDIRS += lib2to3/tests \ - lib2to3/tests/data/fixers/myfixes - endif - -+ifeq (@SQLITE3@,yes) -+LIBSUBDIRS += sqlite3 -+TESTSUBDIRS += sqlite3/test -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index a2810ab8ed..4ee3c60501 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2834,6 +2834,15 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_atfork) - fi - -+AC_SUBST(SQLITE3) -+AC_ARG_ENABLE(sqlite3, -+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), -+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) -+ -+if test "$SQLITE3" = "no" ; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.11.0 - diff --git a/package/python/0020-Add-an-option-to-disable-the-tk-module.patch b/package/python/0020-Add-an-option-to-disable-the-tk-module.patch deleted file mode 100644 index 26ae1799f8a..00000000000 --- a/package/python/0020-Add-an-option-to-disable-the-tk-module.patch +++ /dev/null @@ -1,73 +0,0 @@ -From f0dc1198360c6875ed846a961e85dc41e239aa29 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:28:57 +0100 -Subject: [PATCH] Add an option to disable the tk module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 11 ++++++++--- - configure.ac | 9 +++++++++ - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index a2e5ac6d41..37ed70ab1d 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1048,7 +1048,7 @@ PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \ - plat-mac/lib-scriptpackages/SystemEvents \ - plat-mac/lib-scriptpackages/Terminal - PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages --LIBSUBDIRS= lib-tk site-packages \ -+LIBSUBDIRS= site-packages \ - encodings compiler hotshot \ - email email/mime \ - ensurepip ensurepip/_bundled \ -@@ -1062,8 +1062,7 @@ LIBSUBDIRS= lib-tk site-packages \ - lib-old \ - curses $(MACHDEPS) - --TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ -- lib-tk/test/test_ttk test test/audiodata test/capath test/data \ -+TESTSUBDIRS = test test/audiodata test/capath test/data \ - test/cjkencodings test/decimaltestdata test/xmltestdata \ - test/imghdrdata \ - test/subprocessdata \ -@@ -1098,6 +1097,12 @@ LIBSUBDIRS += sqlite3 - TESTSUBDIRS += sqlite3/test - endif - -+ifeq (@TK@,yes) -+LIBSUBDIRS += lib-tk -+TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \ -+ lib-tk/test/test_ttk -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index 4ee3c60501..2c20f826c5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2843,6 +2843,15 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_SUBST(TK) -+AC_ARG_ENABLE(tk, -+ AS_HELP_STRING([--disable-tk], [disable tk]), -+ [ TK="${enableval}" ], [ TK=yes ]) -+ -+if test "$TK" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.11.0 - diff --git a/package/python/0021-Add-an-option-to-disable-the-curses-module.patch b/package/python/0021-Add-an-option-to-disable-the-curses-module.patch deleted file mode 100644 index 3b1ab7fb4cf..00000000000 --- a/package/python/0021-Add-an-option-to-disable-the-curses-module.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 3e51eef24c51b986c37b354f3de98218eb76909c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:29:06 +0100 -Subject: [PATCH] Add an option to disable the curses module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 6 +++++- - configure.ac | 9 +++++++++ - 2 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 37ed70ab1d..458f4ad55b 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1060,7 +1060,7 @@ LIBSUBDIRS= site-packages \ - multiprocessing multiprocessing/dummy \ - unittest \ - lib-old \ -- curses $(MACHDEPS) -+ $(MACHDEPS) - - TESTSUBDIRS = test test/audiodata test/capath test/data \ - test/cjkencodings test/decimaltestdata test/xmltestdata \ -@@ -1103,6 +1103,10 @@ TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \ - lib-tk/test/test_ttk - endif - -+ifeq (@CURSES@,yes) -+LIBSUBDIRS += curses -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index 2c20f826c5..a7ebcd091e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2852,6 +2852,15 @@ if test "$TK" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" - fi - -+AC_SUBST(CURSES) -+AC_ARG_ENABLE(curses, -+ AS_HELP_STRING([--disable-curses], [disable curses]), -+ [ CURSES="${enableval}" ], [ CURSES=yes ]) -+ -+if test "$CURSES" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.11.0 - diff --git a/package/python/0022-Add-an-option-to-disable-expat.patch b/package/python/0022-Add-an-option-to-disable-expat.patch deleted file mode 100644 index 2ebe7eabda5..00000000000 --- a/package/python/0022-Add-an-option-to-disable-expat.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 548413a659cc5320560d6b794fe8edd06dd1d22e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:29:20 +0100 -Subject: [PATCH] Add an option to disable expat - -This patch replaces the existing --with-system-expat option with a ---with-expat={system,builtin,none} option, which allows to tell Python -whether we want to use the system expat (already installed), the expat -builtin the Python sources, or no expat at all (which disables the -installation of XML modules). - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 6 +++++- - configure.ac | 18 +++++++++++++----- - setup.py | 2 +- - 3 files changed, 19 insertions(+), 7 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 458f4ad55b..8dee345539 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1056,7 +1056,7 @@ LIBSUBDIRS= site-packages \ - logging bsddb csv importlib wsgiref \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -- distutils distutils/command $(XMLLIBSUBDIRS) \ -+ distutils distutils/command \ - multiprocessing multiprocessing/dummy \ - unittest \ - lib-old \ -@@ -1107,6 +1107,10 @@ ifeq (@CURSES@,yes) - LIBSUBDIRS += curses - endif - -+ifeq (@EXPAT@,yes) -+LIBSUBDIRS += $(XMLLIBSUBDIRS) -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index a7ebcd091e..2f5759a890 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2499,13 +2499,21 @@ PKG_PROG_PKG_CONFIG - AC_SUBST(DISABLED_EXTENSIONS) - - # Check for use of the system expat library --AC_MSG_CHECKING(for --with-system-expat) --AC_ARG_WITH(system_expat, -- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]), -+AC_MSG_CHECKING(for --with-expat) -+AC_ARG_WITH(expat, -+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), - [], -- [with_system_expat="no"]) -+ [with_expat="builtin"]) - --AC_MSG_RESULT($with_system_expat) -+AC_MSG_RESULT($with_expat) -+ -+if test "$with_expat" != "none"; then -+ EXPAT=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" -+ EXPAT=no -+fi -+AC_SUBST(EXPAT) - - # Check for use of the system libffi library - AC_MSG_CHECKING(for --with-system-ffi) -diff --git a/setup.py b/setup.py -index 9130819454..f439cbadc2 100644 ---- a/setup.py -+++ b/setup.py -@@ -1475,7 +1475,7 @@ class PyBuildExt(build_ext): - # - # More information on Expat can be found at www.libexpat.org. - # -- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): -+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): - expat_inc = [] - define_macros = [] - expat_lib = ['expat'] --- -2.11.0 - diff --git a/package/python/0023-Add-an-option-to-disable-CJK-codecs.patch b/package/python/0023-Add-an-option-to-disable-CJK-codecs.patch deleted file mode 100644 index 3ee77fec366..00000000000 --- a/package/python/0023-Add-an-option-to-disable-CJK-codecs.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6761066addfb6028e183d7fe4322b283af18117f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:29:31 +0100 -Subject: [PATCH] Add an option to disable CJK codecs - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 2f5759a890..862c8ae516 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2851,6 +2851,12 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_ARG_ENABLE(codecs-cjk, -+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.11.0 - diff --git a/package/python/0024-Add-an-option-to-disable-NIS.patch b/package/python/0024-Add-an-option-to-disable-NIS.patch deleted file mode 100644 index bad4ba68dc5..00000000000 --- a/package/python/0024-Add-an-option-to-disable-NIS.patch +++ /dev/null @@ -1,35 +0,0 @@ -From ecd8e926bd364d866f492df87d7c46d029445480 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:29:41 +0100 -Subject: [PATCH] Add an option to disable NIS - -NIS is not necessarily available in uClibc, so we need an option to -not compile support for it. - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 862c8ae516..354212fb16 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2857,6 +2857,12 @@ AC_ARG_ENABLE(codecs-cjk, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk" - fi]) - -+AC_ARG_ENABLE(nis, -+ AS_HELP_STRING([--disable-nis], [disable NIS]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.11.0 - diff --git a/package/python/0025-Add-an-option-to-disable-unicodedata.patch b/package/python/0025-Add-an-option-to-disable-unicodedata.patch deleted file mode 100644 index 687ea5027e3..00000000000 --- a/package/python/0025-Add-an-option-to-disable-unicodedata.patch +++ /dev/null @@ -1,32 +0,0 @@ -From dc99b7a0331fe75d70ccb87dc0877ac5bbba51ca Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:29:52 +0100 -Subject: [PATCH] Add an option to disable unicodedata - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 354212fb16..4e430d82b8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2863,6 +2863,12 @@ AC_ARG_ENABLE(nis, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(unicodedata, -+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.11.0 - diff --git a/package/python/0026-Add-an-option-to-disable-bsddb.patch b/package/python/0026-Add-an-option-to-disable-bsddb.patch deleted file mode 100644 index f216e8bb574..00000000000 --- a/package/python/0026-Add-an-option-to-disable-bsddb.patch +++ /dev/null @@ -1,87 +0,0 @@ -From a4bbbf0c5f1f68298d5f4e2c2cd80de7e758763c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:30:06 +0100 -Subject: [PATCH] Add an option to disable bsddb - -bsddb has an external dependency on Berkeley DB. Since we want to be -able to build Python without it, this patch adds an option to disable -the build/installation of this Python module. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 8 ++++++-- - configure.ac | 22 ++++++++++++++++++++++ - 2 files changed, 28 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 8dee345539..a0473096c1 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1053,7 +1053,7 @@ LIBSUBDIRS= site-packages \ - email email/mime \ - ensurepip ensurepip/_bundled \ - json \ -- logging bsddb csv importlib wsgiref \ -+ logging csv importlib wsgiref \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ - distutils distutils/command \ -@@ -1070,7 +1070,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \ - test/tracedmodules \ - email/test email/test/data \ - json/tests \ -- bsddb/test \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1111,6 +1110,11 @@ ifeq (@EXPAT@,yes) - LIBSUBDIRS += $(XMLLIBSUBDIRS) - endif - -+ifeq (@BSDDB@,yes) -+LIBSUBDIRS += bsddb -+TESTSUBDIRS += bsddb/test -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index 4e430d82b8..361e8c120e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2863,6 +2863,28 @@ AC_ARG_ENABLE(nis, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(dbm, -+ AS_HELP_STRING([--disable-dbm], [disable DBM]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm" -+ fi]) -+ -+AC_ARG_ENABLE(gdbm, -+ AS_HELP_STRING([--disable-gdbm], [disable GDBM]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm" -+ fi]) -+ -+AC_SUBST(BSDDB) -+AC_ARG_ENABLE(bsddb, -+ AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]), -+ [ if test "$enableval" = "no"; then -+ BSDDB=no -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bsddb" -+ else -+ BSDDB=yes -+ fi], [ BSDDB=yes ]) -+ - AC_ARG_ENABLE(unicodedata, - AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), - [ if test "$enableval" = "no"; then --- -2.11.0 - diff --git a/package/python/0027-Add-an-option-to-disable-the-ssl-module.patch b/package/python/0027-Add-an-option-to-disable-the-ssl-module.patch deleted file mode 100644 index d62408e4e99..00000000000 --- a/package/python/0027-Add-an-option-to-disable-the-ssl-module.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a0e56b96c3bfb04a5c8ecc0987cdd294d8ce116b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:30:22 +0100 -Subject: [PATCH] Add an option to disable the ssl module - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 361e8c120e..8fe47d8c37 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2863,6 +2863,12 @@ AC_ARG_ENABLE(nis, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(ssl, -+ AS_HELP_STRING([--disable-ssl], [disable SSL]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _ssl" -+ fi]) -+ - AC_ARG_ENABLE(dbm, - AS_HELP_STRING([--disable-dbm], [disable DBM]), - [ if test "$enableval" = "no"; then --- -2.11.0 - diff --git a/package/python/0028-Add-an-option-to-disable-the-bz2-module.patch b/package/python/0028-Add-an-option-to-disable-the-bz2-module.patch deleted file mode 100644 index 5b89e8ef870..00000000000 --- a/package/python/0028-Add-an-option-to-disable-the-bz2-module.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d1236c6f4d8d893709fa36f751af47b8ad9055c1 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:30:33 +0100 -Subject: [PATCH] Add an option to disable the bz2 module - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 8fe47d8c37..85df7b1478 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2869,6 +2869,12 @@ AC_ARG_ENABLE(ssl, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _ssl" - fi]) - -+AC_ARG_ENABLE(bz2, -+ AS_HELP_STRING([--disable-bz2], [disable BZIP2]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2" -+ fi]) -+ - AC_ARG_ENABLE(dbm, - AS_HELP_STRING([--disable-dbm], [disable DBM]), - [ if test "$enableval" = "no"; then --- -2.11.0 - diff --git a/package/python/0029-Add-an-option-to-disable-the-zlib-module.patch b/package/python/0029-Add-an-option-to-disable-the-zlib-module.patch deleted file mode 100644 index 95da586e46d..00000000000 --- a/package/python/0029-Add-an-option-to-disable-the-zlib-module.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a9c7314e069036f74b503dfaef261e5f45477b7e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:30:45 +0100 -Subject: [PATCH] Add an option to disable the zlib module - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 85df7b1478..3848b16b9f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2875,6 +2875,12 @@ AC_ARG_ENABLE(bz2, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2" - fi]) - -+AC_ARG_ENABLE(zlib, -+ AS_HELP_STRING([--disable-zlib], [disable ZLIB]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" -+ fi]) -+ - AC_ARG_ENABLE(dbm, - AS_HELP_STRING([--disable-dbm], [disable DBM]), - [ if test "$enableval" = "no"; then --- -2.11.0 - diff --git a/package/python/0030-Do-not-install-the-idle-editor.patch b/package/python/0030-Do-not-install-the-idle-editor.patch deleted file mode 100644 index e101e6a12ca..00000000000 --- a/package/python/0030-Do-not-install-the-idle-editor.patch +++ /dev/null @@ -1,55 +0,0 @@ -From e789487c783f75c17a8951bd5324c86ceefde407 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:30:56 +0100 -Subject: [PATCH] Do not install the idle editor - -IDLE is the Python IDE built with the tkinter GUI toolkit. Since it's -highly unlikely to ever be useful in an embedded Linux system -generated by Buildroot, this patch simply disables the installation of -idle and the related Python modules. It saves 800 KB-900 KB of -installed .pyc files. - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - Makefile.pre.in | 2 -- - setup.py | 2 +- - 2 files changed, 1 insertion(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index a0473096c1..750057fb96 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1055,7 +1055,6 @@ LIBSUBDIRS= site-packages \ - json \ - logging csv importlib wsgiref \ - ctypes ctypes/macholib \ -- idlelib idlelib/Icons \ - distutils distutils/command \ - multiprocessing multiprocessing/dummy \ - unittest \ -@@ -1071,7 +1070,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \ - email/test email/test/data \ - json/tests \ - ctypes/test \ -- idlelib/idle_test \ - distutils/tests \ - unittest/test - -diff --git a/setup.py b/setup.py -index f439cbadc2..227187681e 100644 ---- a/setup.py -+++ b/setup.py -@@ -2278,7 +2278,7 @@ def main(): - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle', 'Lib/smtpd.py'] -+ scripts = ['Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc' ] - if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): --- -2.11.0 - diff --git a/package/python/0031-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python/0031-Add-an-option-to-disable-the-ossaudiodev-module.patch deleted file mode 100644 index 9768faf676b..00000000000 --- a/package/python/0031-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4ab280b8a7626de2565cf4ef6cf08a5c7326574b Mon Sep 17 00:00:00 2001 -From: Zoltan Gyarmati -Date: Tue, 7 Mar 2017 22:31:22 +0100 -Subject: [PATCH] Add an option to disable the ossaudiodev module - -Signed-off-by: Zoltan Gyarmati -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 3848b16b9f..6d19cdee95 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2927,6 +2927,12 @@ if test "$CURSES" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" - fi - -+AC_ARG_ENABLE(ossaudiodev, -+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" -+ fi]) -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.11.0 - diff --git a/package/python/0032-Add-option-to-disable-the-hashlib-module.patch b/package/python/0032-Add-option-to-disable-the-hashlib-module.patch deleted file mode 100644 index 82ef3a13f79..00000000000 --- a/package/python/0032-Add-option-to-disable-the-hashlib-module.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 479bef8182c4f6b678a86820ccc06760ca60c286 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:33:02 +0100 -Subject: [PATCH] Add option to disable the hashlib module - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 6d19cdee95..ddccc79c2c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2869,6 +2869,12 @@ AC_ARG_ENABLE(ssl, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _ssl" - fi]) - -+AC_ARG_ENABLE(hashlib, -+ AS_HELP_STRING([--disable-hashlib], [disable hashlib]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _hashlib" -+ fi]) -+ - AC_ARG_ENABLE(bz2, - AS_HELP_STRING([--disable-bz2], [disable BZIP2]), - [ if test "$enableval" = "no"; then --- -2.11.0 - diff --git a/package/python/0033-Add-an-option-to-disable-readline-module.patch b/package/python/0033-Add-an-option-to-disable-readline-module.patch deleted file mode 100644 index 02b1315179c..00000000000 --- a/package/python/0033-Add-an-option-to-disable-readline-module.patch +++ /dev/null @@ -1,32 +0,0 @@ -From abea92958b073dfbf0c78bcb31ce9cfc709c20ca Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 22:33:55 +0100 -Subject: [PATCH] Add an option to disable readline module - -Signed-off-by: Thomas Petazzoni -[Peter: update for 2.7.16] -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index ddccc79c2c..dae266326e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2875,6 +2875,12 @@ AC_ARG_ENABLE(hashlib, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _hashlib" - fi]) - -+AC_ARG_ENABLE(readline, -+ AS_HELP_STRING([--disable-readline], [disable readline]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" -+ fi]) -+ - AC_ARG_ENABLE(bz2, - AS_HELP_STRING([--disable-bz2], [disable BZIP2]), - [ if test "$enableval" = "no"; then --- -2.11.0 - diff --git a/package/python/0034-Override-system-locale-and-set-to-default-when-addin.patch b/package/python/0034-Override-system-locale-and-set-to-default-when-addin.patch deleted file mode 100644 index 8fe722bc6c8..00000000000 --- a/package/python/0034-Override-system-locale-and-set-to-default-when-addin.patch +++ /dev/null @@ -1,37 +0,0 @@ -From d2bfa8805206db8c57c182094396d20a9d94bd8f Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero -Date: Sat, 1 Apr 2017 09:31:52 +0200 -Subject: [PATCH] Override system locale and set to default when adding gcc - paths - -Forces the use of the default locale in the function -add_gcc_paths, which is called when cross compiling to add the -include and library paths. This is necessary because otherwise -the gcc output is localized and the output parsing fails, which -results in no paths added and detect_modules not able to find -any system library (eg. libz, libssl, etc.) - -[Thomas: patch taken from https://bugs.python.org/issue23767.] - -Signed-off-by: Samuel Cabrero -Signed-off-by: Thomas Petazzoni ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 8045a9b..c14f4ab 100644 ---- a/setup.py -+++ b/setup.py -@@ -430,7 +430,7 @@ class PyBuildExt(build_ext): - tmpfile = os.path.join(self.build_temp, 'gccpaths') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) -- ret = os.system('%s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) -+ ret = os.system('LC_ALL=C %s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) - is_gcc = False - in_incdirs = False - inc_dirs = [] --- -2.7.4 - diff --git a/package/python/Config.in b/package/python/Config.in deleted file mode 100644 index ab6950cae82..00000000000 --- a/package/python/Config.in +++ /dev/null @@ -1,139 +0,0 @@ -comment "python needs a toolchain w/ wchar, threads, dynamic library" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - -config BR2_PACKAGE_PYTHON - bool "python2.7 (deprecated)" - depends on BR2_USE_WCHAR - # uses fork() - depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_THREADS # libffi - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_LIBFFI - help - The python language interpreter. - - http://www.python.org/ - -if BR2_PACKAGE_PYTHON - -choice - prompt "python module format to install" - default BR2_PACKAGE_PYTHON_PYC_ONLY - help - Select Python module format to install on target (py, pyc or - both) - -config BR2_PACKAGE_PYTHON_PY_ONLY - bool ".py sources only" - -config BR2_PACKAGE_PYTHON_PYC_ONLY - bool ".pyc compiled sources only" - -config BR2_PACKAGE_PYTHON_PY_PYC - bool ".py sources and .pyc compiled" - -endchoice - -menu "core python modules" - -comment "The following modules are unusual or require extra libraries" - -config BR2_PACKAGE_PYTHON_2TO3 - bool "2to3 module" - help - code translation from python 2 to 3 - -config BR2_PACKAGE_PYTHON_BZIP2 - bool "bzip2 module" - select BR2_PACKAGE_BZIP2 - help - bzip2 module for Python - -config BR2_PACKAGE_PYTHON_BSDDB - bool "bsddb module" - select BR2_PACKAGE_BERKELEYDB - help - bsddb module for Python. - -config BR2_PACKAGE_PYTHON_CODECSCJK - bool "codecscjk module" - help - Chinese/Japanese/Korean codecs module for Python (large). - -config BR2_PACKAGE_PYTHON_CURSES - bool "curses module" - select BR2_PACKAGE_NCURSES - help - curses module for Python. - -config BR2_PACKAGE_PYTHON_OSSAUDIODEV - bool "ossaudiodev module" - help - ossaudiodev module for Python. - -config BR2_PACKAGE_PYTHON_READLINE - bool "readline" - select BR2_PACKAGE_READLINE - help - readline module for Python (required for command-line - editing in the Python shell). - -config BR2_PACKAGE_PYTHON_SSL - bool "ssl" - select BR2_PACKAGE_OPENSSL - help - _ssl module for Python (required for https in urllib etc). - -config BR2_PACKAGE_PYTHON_UNICODEDATA - bool "unicodedata module" - default y - help - Unicode character database (used by stringprep module) - (large). - -if BR2_PACKAGE_PYTHON_UNICODEDATA - -choice - prompt "Python unicode database format" - default BR2_PACKAGE_PYTHON_UCS2 - help - Select Python unicode database format for target - -config BR2_PACKAGE_PYTHON_UCS2 - bool "Universal Character Set 2-byte (UCS2)" - -config BR2_PACKAGE_PYTHON_UCS4 - bool "Universal Character Set 4-byte (UCS4)" - -endchoice - -endif - -config BR2_PACKAGE_PYTHON_SQLITE - bool "sqlite module" - select BR2_PACKAGE_SQLITE - help - SQLite database support - -config BR2_PACKAGE_PYTHON_PYEXPAT - bool "xml module" - select BR2_PACKAGE_EXPAT - help - pyexpat and xml libraries for Python - -config BR2_PACKAGE_PYTHON_ZLIB - bool "zlib module" - select BR2_PACKAGE_ZLIB - help - zlib support in Python - -config BR2_PACKAGE_PYTHON_HASHLIB - bool "hashlib module" - select BR2_PACKAGE_OPENSSL - help - hashlib support in Python - -endmenu - -endif diff --git a/package/python/Config.in.host b/package/python/Config.in.host deleted file mode 100644 index 724e5e223ab..00000000000 --- a/package/python/Config.in.host +++ /dev/null @@ -1,16 +0,0 @@ -config BR2_PACKAGE_HOST_PYTHON - bool "host python" - help - The python language interpreter. Host package. - - http://www.python.org/ - -if BR2_PACKAGE_HOST_PYTHON - -config BR2_PACKAGE_HOST_PYTHON_SSL - bool "ssl" - select BR2_PACKAGE_HOST_OPENSSL - help - _ssl module for host Python. - -endif diff --git a/package/python/python.hash b/package/python/python.hash deleted file mode 100644 index f5e51d9638d..00000000000 --- a/package/python/python.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From https://www.python.org/downloads/release/python-2718/ -md5 fd6cc8ec0a78c44036f825e739f36e5a Python-2.7.18.tar.xz -# Locally calculated -sha256 b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43 Python-2.7.18.tar.xz -sha256 de4d1f2d2ad5ad0cfd1657a106476b31cb5db5ef9d1ff842b237c0c81f0c8a23 LICENSE diff --git a/package/python/python.mk b/package/python/python.mk deleted file mode 100644 index f4f9f8563b3..00000000000 --- a/package/python/python.mk +++ /dev/null @@ -1,301 +0,0 @@ -################################################################################ -# -# python -# -################################################################################ - -PYTHON_VERSION_MAJOR = 2.7 -PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).18 -PYTHON_SOURCE = Python-$(PYTHON_VERSION).tar.xz -PYTHON_SITE = https://python.org/ftp/python/$(PYTHON_VERSION) -PYTHON_LICENSE = Python-2.0, others -PYTHON_LICENSE_FILES = LICENSE -PYTHON_CPE_ID_VENDOR = python -PYTHON_LIBTOOL_PATCH = NO - -# Python needs itself to be built, so in order to cross-compile -# Python, we need to build a host Python first. This host Python is -# also installed in $(HOST_DIR), as it is needed when cross-compiling -# third-party Python modules. - -HOST_PYTHON_CONF_OPTS += \ - --enable-static \ - --without-cxx-main \ - --disable-sqlite3 \ - --disable-tk \ - --with-expat=system \ - --disable-curses \ - --disable-codecs-cjk \ - --disable-nis \ - --enable-unicodedata \ - --disable-dbm \ - --disable-gdbm \ - --disable-bsddb \ - --disable-test-modules \ - --disable-bz2 \ - --disable-ossaudiodev \ - --disable-pyo-build - -# Make sure that LD_LIBRARY_PATH overrides -rpath. -# This is needed because libpython may be installed at the same time that -# python is called. -# Make python believe we don't have 'hg' and 'svn', so that it doesn't -# try to communicate over the network during the build. -HOST_PYTHON_CONF_ENV += \ - LDFLAGS="$(HOST_LDFLAGS) -Wl,--enable-new-dtags" \ - ac_cv_prog_HAS_HG=/bin/false \ - ac_cv_prog_SVNVERSION=/bin/false - -# Building host python in parallel sometimes triggers a "Bus error" -# during the execution of "./python setup.py build" in the -# installation step. It is probably due to the installation of a -# shared library taking place in parallel to the execution of -# ./python, causing spurious Bus error. Building host-python with -# MAKE1 has shown to workaround the problem. -HOST_PYTHON_MAKE = $(MAKE1) - -PYTHON_DEPENDENCIES = host-python libffi $(TARGET_NLS_DEPENDENCIES) - -HOST_PYTHON_DEPENDENCIES = host-expat host-zlib - -ifeq ($(BR2_PACKAGE_HOST_PYTHON_SSL),y) -HOST_PYTHON_DEPENDENCIES += host-openssl -else -HOST_PYTHON_CONF_OPTS += --disable-ssl -endif - -PYTHON_INSTALL_STAGING = YES - -ifeq ($(BR2_PACKAGE_PYTHON_READLINE),y) -PYTHON_DEPENDENCIES += readline -else -PYTHON_CONF_OPTS += --disable-readline -endif - -ifeq ($(BR2_PACKAGE_PYTHON_CURSES),y) -PYTHON_DEPENDENCIES += ncurses -else -PYTHON_CONF_OPTS += --disable-curses -endif - -ifeq ($(BR2_PACKAGE_PYTHON_PYEXPAT),y) -PYTHON_DEPENDENCIES += expat -PYTHON_CONF_OPTS += --with-expat=system -else -PYTHON_CONF_OPTS += --with-expat=none -endif - -ifeq ($(BR2_PACKAGE_PYTHON_BSDDB),y) -PYTHON_DEPENDENCIES += berkeleydb -else -PYTHON_CONF_OPTS += --disable-bsddb -endif - -ifeq ($(BR2_PACKAGE_PYTHON_SQLITE),y) -PYTHON_DEPENDENCIES += sqlite -else -PYTHON_CONF_OPTS += --disable-sqlite3 -endif - -ifeq ($(BR2_PACKAGE_PYTHON_SSL),y) -PYTHON_DEPENDENCIES += openssl -else -PYTHON_CONF_OPTS += --disable-ssl -endif - -ifneq ($(BR2_PACKAGE_PYTHON_CODECSCJK),y) -PYTHON_CONF_OPTS += --disable-codecs-cjk -endif - -ifneq ($(BR2_PACKAGE_PYTHON_UNICODEDATA),y) -PYTHON_CONF_OPTS += --disable-unicodedata -endif - -# Default is UCS2 w/o a conf opt -ifeq ($(BR2_PACKAGE_PYTHON_UCS4),y) -# host-python must have the same UCS2/4 configuration as the target -# python -HOST_PYTHON_CONF_OPTS += --enable-unicode=ucs4 -PYTHON_CONF_OPTS += --enable-unicode=ucs4 -endif - -ifeq ($(BR2_PACKAGE_PYTHON_2TO3),y) -PYTHON_CONF_OPTS += --enable-lib2to3 -else -PYTHON_CONF_OPTS += --disable-lib2to3 -endif - -ifeq ($(BR2_PACKAGE_PYTHON_BZIP2),y) -PYTHON_DEPENDENCIES += bzip2 -else -PYTHON_CONF_OPTS += --disable-bz2 -endif - -ifeq ($(BR2_PACKAGE_PYTHON_ZLIB),y) -PYTHON_DEPENDENCIES += zlib -else -PYTHON_CONF_OPTS += --disable-zlib -endif - -ifeq ($(BR2_PACKAGE_PYTHON_HASHLIB),y) -PYTHON_DEPENDENCIES += openssl -else -PYTHON_CONF_OPTS += --disable-hashlib -endif - -ifeq ($(BR2_PACKAGE_PYTHON_OSSAUDIODEV),y) -PYTHON_CONF_OPTS += --enable-ossaudiodev -else -PYTHON_CONF_OPTS += --disable-ossaudiodev -endif - -# Make python believe we don't have 'hg' and 'svn', so that it doesn't -# try to communicate over the network during the build. -PYTHON_CONF_ENV += \ - ac_cv_have_long_long_format=yes \ - ac_cv_file__dev_ptmx=yes \ - ac_cv_file__dev_ptc=yes \ - ac_cv_working_tzset=yes \ - ac_cv_prog_HAS_HG=/bin/false \ - ac_cv_prog_SVNVERSION=/bin/false - -# GCC is always compliant with IEEE754 -ifeq ($(BR2_ENDIAN),"LITTLE") -PYTHON_CONF_ENV += ac_cv_little_endian_double=yes -else -PYTHON_CONF_ENV += ac_cv_big_endian_double=yes -endif - -PYTHON_CONF_OPTS += \ - --without-cxx-main \ - --without-doc-strings \ - --with-system-ffi \ - --disable-pydoc \ - --disable-test-modules \ - --disable-gdbm \ - --disable-tk \ - --disable-nis \ - --disable-dbm \ - --disable-pyo-build \ - --disable-pyc-build - -# This is needed to make sure the Python build process doesn't try to -# regenerate those files with the pgen program. Otherwise, it builds -# pgen for the target, and tries to run it on the host. - -define PYTHON_TOUCH_GRAMMAR_FILES - touch $(@D)/Include/graminit.h $(@D)/Python/graminit.c -endef - -PYTHON_POST_PATCH_HOOKS += PYTHON_TOUCH_GRAMMAR_FILES - -# -# Remove useless files. In the config/ directory, only the Makefile -# and the pyconfig.h files are needed at runtime. -# -# idle & smtpd.py have bad shebangs and are mostly samples -# -define PYTHON_REMOVE_USELESS_FILES - rm -f $(TARGET_DIR)/usr/bin/python$(PYTHON_VERSION_MAJOR)-config - rm -f $(TARGET_DIR)/usr/bin/python2-config - rm -f $(TARGET_DIR)/usr/bin/python-config - rm -f $(TARGET_DIR)/usr/bin/smtpd.py - rm -f $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/distutils/command/wininst*.exe - for i in `find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/config/ \ - -type f -not -name pyconfig.h -a -not -name Makefile` ; do \ - rm -f $$i ; \ - done -endef - -PYTHON_POST_INSTALL_TARGET_HOOKS += PYTHON_REMOVE_USELESS_FILES - -# -# Make sure libpython gets stripped out on target -# -define PYTHON_ENSURE_LIBPYTHON_STRIPPED - chmod u+w $(TARGET_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR)*.so -endef - -PYTHON_POST_INSTALL_TARGET_HOOKS += PYTHON_ENSURE_LIBPYTHON_STRIPPED - -# Always install the python symlink in the target tree -define PYTHON_INSTALL_TARGET_PYTHON_SYMLINK - ln -sf python2 $(TARGET_DIR)/usr/bin/python -endef - -PYTHON_POST_INSTALL_TARGET_HOOKS += PYTHON_INSTALL_TARGET_PYTHON_SYMLINK - -# Always install the python-config symlink in the staging tree -define PYTHON_INSTALL_STAGING_PYTHON_CONFIG_SYMLINK - ln -sf python2-config $(STAGING_DIR)/usr/bin/python-config -endef - -PYTHON_POST_INSTALL_STAGING_HOOKS += PYTHON_INSTALL_STAGING_PYTHON_CONFIG_SYMLINK - -PYTHON_AUTORECONF = YES - -# Some packages may have build scripts requiring python2. -# Only install the python symlink in the host tree if python3 is not enabled -# for the target, otherwise the default python program may be missing. -ifneq ($(BR2_PACKAGE_PYTHON3),y) -define HOST_PYTHON_INSTALL_PYTHON_SYMLINK - ln -sf python2 $(HOST_DIR)/bin/python - ln -sf python2-config $(HOST_DIR)/bin/python-config -endef - -HOST_PYTHON_POST_INSTALL_HOOKS += HOST_PYTHON_INSTALL_PYTHON_SYMLINK -endif - -# Provided to other packages -PYTHON_PATH = $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/sysconfigdata/ - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) - -ifeq ($(BR2_REPRODUCIBLE),y) -define PYTHON_FIX_TIME - find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.py' -print0 | \ - xargs -0 --no-run-if-empty touch -d @$(SOURCE_DATE_EPOCH) -endef -endif - -define PYTHON_CREATE_PYC_FILES - $(PYTHON_FIX_TIME) - PYTHONPATH="$(PYTHON_PATH)" \ - $(HOST_DIR)/bin/python$(PYTHON_VERSION_MAJOR) \ - $(TOPDIR)/support/scripts/pycompile.py \ - $(if $(VERBOSE),--verbose) \ - --strip-root $(TARGET_DIR) \ - $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -endef - -ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY)$(BR2_PACKAGE_PYTHON_PY_PYC),y) -PYTHON_TARGET_FINALIZE_HOOKS += PYTHON_CREATE_PYC_FILES -endif - -ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y) -define PYTHON_REMOVE_PY_FILES - find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.py' \ - $(if $(strip $(KEEP_PYTHON_PY_FILES)),-not \( $(call finddirclauses,$(TARGET_DIR),$(KEEP_PYTHON_PY_FILES)) \) ) \ - -print0 | \ - xargs -0 --no-run-if-empty rm -f -endef -PYTHON_TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PY_FILES -endif - -# Normally, *.pyc files should not have been compiled, but just in -# case, we make sure we remove all of them. -ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y) -define PYTHON_REMOVE_PYC_FILES - find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.pyc' -print0 | \ - xargs -0 --no-run-if-empty rm -f -endef -PYTHON_TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PYC_FILES -endif - -# In all cases, we don't want to keep the optimized .pyo files -define PYTHON_REMOVE_PYO_FILES - find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.pyo' -print0 | \ - xargs -0 --no-run-if-empty rm -f -endef -PYTHON_TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PYO_FILES diff --git a/package/python3-cheetah/python3-cheetah.hash b/package/python3-cheetah/python3-cheetah.hash deleted file mode 120000 index c29a76ea80c..00000000000 --- a/package/python3-cheetah/python3-cheetah.hash +++ /dev/null @@ -1 +0,0 @@ -../python-cheetah/python-cheetah.hash \ No newline at end of file diff --git a/package/python3-cheetah/python3-cheetah.mk b/package/python3-cheetah/python3-cheetah.mk deleted file mode 100644 index 8876f8d7351..00000000000 --- a/package/python3-cheetah/python3-cheetah.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# python3-cheetah -# -################################################################################ - -# Please keep in sync with -# package/python-cheetah/python-cheetah.mk -PYTHON3_CHEETAH_VERSION = 3.2.4 -PYTHON3_CHEETAH_SOURCE = Cheetah3-$(PYTHON3_CHEETAH_VERSION).tar.gz -PYTHON3_CHEETAH_SITE = https://files.pythonhosted.org/packages/4e/72/e6a7d92279e3551db1b68fd336fd7a6e3d2f2ec742bf486486e6150d77d2 -PYTHON3_CHEETAH_LICENSE = MIT -PYTHON3_CHEETAH_LICENSE_FILES = LICENSE -PYTHON3_CHEETAH_SETUP_TYPE = setuptools -HOST_PYTHON3_CHEETAH_DL_SUBDIR = python-cheetah -HOST_PYTHON3_CHEETAH_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-cython/python3-cython.hash b/package/python3-cython/python3-cython.hash deleted file mode 120000 index 70dde64105f..00000000000 --- a/package/python3-cython/python3-cython.hash +++ /dev/null @@ -1 +0,0 @@ -../python-cython/python-cython.hash \ No newline at end of file diff --git a/package/python3-cython/python3-cython.mk b/package/python3-cython/python3-cython.mk deleted file mode 100644 index 6e3bd1422a2..00000000000 --- a/package/python3-cython/python3-cython.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# python3-cython -# -################################################################################ - -# Please keep in sync with package/python-cython/python-cython.mk -PYTHON3_CYTHON_VERSION = 0.29.21 -PYTHON3_CYTHON_SOURCE = Cython-$(PYTHON3_CYTHON_VERSION).tar.gz -PYTHON3_CYTHON_SITE = https://files.pythonhosted.org/packages/6c/9f/f501ba9d178aeb1f5bf7da1ad5619b207c90ac235d9859961c11829d0160 -PYTHON3_CYTHON_SETUP_TYPE = setuptools -PYTHON3_CYTHON_LICENSE = Apache-2.0 -PYTHON3_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt -HOST_PYTHON3_CYTHON_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-decorator/python3-decorator.hash b/package/python3-decorator/python3-decorator.hash deleted file mode 120000 index f515d3133b6..00000000000 --- a/package/python3-decorator/python3-decorator.hash +++ /dev/null @@ -1 +0,0 @@ -../python-decorator/python-decorator.hash \ No newline at end of file diff --git a/package/python3-decorator/python3-decorator.mk b/package/python3-decorator/python3-decorator.mk deleted file mode 100644 index c14f10fbf4e..00000000000 --- a/package/python3-decorator/python3-decorator.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# python3-decorator -# -################################################################################ - -# Please keep in sync with package/python-decorator/python-decorator.mk -PYTHON3_DECORATOR_VERSION = 4.4.1 -PYTHON3_DECORATOR_SITE = https://files.pythonhosted.org/packages/dc/c3/9d378af09f5737cfd524b844cd2fbb0d2263a35c11d712043daab290144d -PYTHON3_DECORATOR_SOURCE = decorator-$(PYTHON3_DECORATOR_VERSION).tar.gz -PYTHON3_DECORATOR_LICENSE = BSD-2-Clause -PYTHON3_DECORATOR_LICENSE_FILES = LICENSE.txt -PYTHON3_DECORATOR_SETUP_TYPE = setuptools -HOST_PYTHON3_DECORATOR_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-jinja2/python3-jinja2.hash b/package/python3-jinja2/python3-jinja2.hash deleted file mode 120000 index 543e981aa05..00000000000 --- a/package/python3-jinja2/python3-jinja2.hash +++ /dev/null @@ -1 +0,0 @@ -../python-jinja2/python-jinja2.hash \ No newline at end of file diff --git a/package/python3-jinja2/python3-jinja2.mk b/package/python3-jinja2/python3-jinja2.mk deleted file mode 100644 index cc8b1ff86fc..00000000000 --- a/package/python3-jinja2/python3-jinja2.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# python3-jinja2 -# -################################################################################ - -PYTHON3_JINJA2_VERSION = 2.11.2 -PYTHON3_JINJA2_SOURCE = Jinja2-$(PYTHON3_JINJA2_VERSION).tar.gz -PYTHON3_JINJA2_SITE = https://files.pythonhosted.org/packages/64/a7/45e11eebf2f15bf987c3bc11d37dcc838d9dc81250e67e4c5968f6008b6c -PYTHON3_JINJA2_SETUP_TYPE = setuptools -PYTHON3_JINJA2_LICENSE = BSD-3-Clause -PYTHON3_JINJA2_LICENSE_FILES = LICENSE.rst - -HOST_PYTHON3_JINJA2_NEEDS_HOST_PYTHON = python3 -# In host build, setup.py tries to download markupsafe if it is not installed -HOST_PYTHON3_JINJA2_DEPENDENCIES = host-python3-markupsafe - -$(eval $(host-python-package)) diff --git a/package/python3-mako/python3-mako.hash b/package/python3-mako/python3-mako.hash deleted file mode 120000 index 068be91fb06..00000000000 --- a/package/python3-mako/python3-mako.hash +++ /dev/null @@ -1 +0,0 @@ -../python-mako/python-mako.hash \ No newline at end of file diff --git a/package/python3-mako/python3-mako.mk b/package/python3-mako/python3-mako.mk deleted file mode 100644 index fd6b2ed49ca..00000000000 --- a/package/python3-mako/python3-mako.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# python3-mako -# -################################################################################ - -# Please keep in sync with -# package/python-mako/python-mako.mk -PYTHON3_MAKO_VERSION = 1.1.3 -PYTHON3_MAKO_SOURCE = Mako-$(PYTHON3_MAKO_VERSION).tar.gz -PYTHON3_MAKO_SITE = https://files.pythonhosted.org/packages/42/64/fc7c506d14d8b6ed363e7798ffec2dfe4ba21e14dda4cfab99f4430cba3a -PYTHON3_MAKO_SETUP_TYPE = setuptools -PYTHON3_MAKO_LICENSE = MIT -PYTHON3_MAKO_LICENSE_FILES = LICENSE -HOST_PYTHON3_MAKO_DL_SUBDIR = python-mako -HOST_PYTHON3_MAKO_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-markupsafe/python3-markupsafe.hash b/package/python3-markupsafe/python3-markupsafe.hash deleted file mode 120000 index 947cfa12d74..00000000000 --- a/package/python3-markupsafe/python3-markupsafe.hash +++ /dev/null @@ -1 +0,0 @@ -../python-markupsafe/python-markupsafe.hash \ No newline at end of file diff --git a/package/python3-markupsafe/python3-markupsafe.mk b/package/python3-markupsafe/python3-markupsafe.mk deleted file mode 100644 index 58f6e67b64a..00000000000 --- a/package/python3-markupsafe/python3-markupsafe.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# python3-markupsafe -# -################################################################################ - -PYTHON3_MARKUPSAFE_VERSION = 1.1.1 -PYTHON3_MARKUPSAFE_SOURCE = MarkupSafe-$(PYTHON3_MARKUPSAFE_VERSION).tar.gz -PYTHON3_MARKUPSAFE_SITE = https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094 -PYTHON3_MARKUPSAFE_SETUP_TYPE = setuptools -PYTHON3_MARKUPSAFE_LICENSE = BSD-3-Clause -PYTHON3_MARKUPSAFE_LICENSE_FILES = LICENSE.rst - -HOST_PYTHON3_MARKUPSAFE_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-ply/python3-ply.hash b/package/python3-ply/python3-ply.hash deleted file mode 120000 index 5e07165c937..00000000000 --- a/package/python3-ply/python3-ply.hash +++ /dev/null @@ -1 +0,0 @@ -../python-ply/python-ply.hash \ No newline at end of file diff --git a/package/python3-ply/python3-ply.mk b/package/python3-ply/python3-ply.mk deleted file mode 100644 index 15f66a49db1..00000000000 --- a/package/python3-ply/python3-ply.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# python3-ply -# -################################################################################ - -PYTHON3_PLY_VERSION = 3.11 -PYTHON3_PLY_SOURCE = ply-$(PYTHON3_PLY_VERSION).tar.gz -PYTHON3_PLY_SITE = https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da -PYTHON3_PLY_SETUP_TYPE = setuptools -PYTHON3_PLY_LICENSE = BSD-3-Clause -PYTHON3_PLY_LICENSE_FILES = README.md - -HOST_PYTHON3_PLY_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-psutil/python3-psutil.hash b/package/python3-psutil/python3-psutil.hash deleted file mode 120000 index ff688fab28c..00000000000 --- a/package/python3-psutil/python3-psutil.hash +++ /dev/null @@ -1 +0,0 @@ -../python-psutil/python-psutil.hash \ No newline at end of file diff --git a/package/python3-psutil/python3-psutil.mk b/package/python3-psutil/python3-psutil.mk deleted file mode 100644 index febf0d3edb9..00000000000 --- a/package/python3-psutil/python3-psutil.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# -# python3-psutil -# -################################################################################ - -# Please keep in sync with package/python-psutil/python-psutil.mk -PYTHON3_PSUTIL_VERSION = 5.7.2 -PYTHON3_PSUTIL_SOURCE = psutil-$(PYTHON3_PSUTIL_VERSION).tar.gz -PYTHON3_PSUTIL_SITE = https://files.pythonhosted.org/packages/aa/3e/d18f2c04cf2b528e18515999b0c8e698c136db78f62df34eee89cee205f1 -PYTHON3_PSUTIL_SETUP_TYPE = setuptools -PYTHON3_PSUTIL_LICENSE = BSD-3-Clause -PYTHON3_PSUTIL_LICENSE_FILES = LICENSE -HOST_PYTHON3_PSUTIL_DL_SUBDIR = python-psutil -HOST_PYTHON3_PSUTIL_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-pycryptodomex/python3-pycryptodomex.hash b/package/python3-pycryptodomex/python3-pycryptodomex.hash deleted file mode 120000 index 0c6761d8a46..00000000000 --- a/package/python3-pycryptodomex/python3-pycryptodomex.hash +++ /dev/null @@ -1 +0,0 @@ -../python-pycryptodomex/python-pycryptodomex.hash \ No newline at end of file diff --git a/package/python3-pycryptodomex/python3-pycryptodomex.mk b/package/python3-pycryptodomex/python3-pycryptodomex.mk deleted file mode 100644 index bd7602c9d46..00000000000 --- a/package/python3-pycryptodomex/python3-pycryptodomex.mk +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################ -# -# python3-pycryptodomex -# -################################################################################ - -# Please keep in sync with package/python-pycryptodomex/python-pycryptodomex.mk -PYTHON3_PYCRYPTODOMEX_VERSION = 3.9.9 -PYTHON3_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON3_PYCRYPTODOMEX_VERSION).tar.gz -PYTHON3_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/14/90/f4a934bffae029e16fb33f3bd87014a0a18b4bec591249c4fc01a18d3ab6 -PYTHON3_PYCRYPTODOMEX_SETUP_TYPE = setuptools -PYTHON3_PYCRYPTODOMEX_LICENSE = \ - BSD-2-Clause, \ - Public Domain (pycrypto original code), \ - OCB patent license (OCB mode) -PYTHON3_PYCRYPTODOMEX_LICENSE_FILES = LICENSE.rst Doc/LEGAL/COPYRIGHT.pycrypto -HOST_PYTHON3_PYCRYPTODOMEX_DL_SUBDIR = python-pycryptodomex -HOST_PYTHON3_PYCRYPTODOMEX_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-pyelftools/python3-pyelftools.hash b/package/python3-pyelftools/python3-pyelftools.hash deleted file mode 120000 index e8eebeda9fb..00000000000 --- a/package/python3-pyelftools/python3-pyelftools.hash +++ /dev/null @@ -1 +0,0 @@ -../python-pyelftools/python-pyelftools.hash \ No newline at end of file diff --git a/package/python3-pyelftools/python3-pyelftools.mk b/package/python3-pyelftools/python3-pyelftools.mk deleted file mode 100644 index be49ca2bcf3..00000000000 --- a/package/python3-pyelftools/python3-pyelftools.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# -# python3-pyelftools -# -################################################################################ - -# Please keep in sync with package/python-pyelftools/python-pyelftools.mk -PYTHON3_PYELFTOOLS_VERSION = 0.25 -PYTHON3_PYELFTOOLS_SOURCE = pyelftools-$(PYTHON3_PYELFTOOLS_VERSION).tar.gz -PYTHON3_PYELFTOOLS_SITE = https://files.pythonhosted.org/packages/fa/9a/0674cb1725196568bdbca98304f2efb17368b57af1a4bb3fc772c026f474 -PYTHON3_PYELFTOOLS_LICENSE = Public domain -PYTHON3_PYELFTOOLS_LICENSE_FILES = LICENSE -PYTHON3_PYELFTOOLS_SETUP_TYPE = setuptools -HOST_PYTHON3_PYELFTOOLS_DL_SUBDIR = python-pyelftools -HOST_PYTHON3_PYELFTOOLS_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-pyyaml/python3-pyyaml.hash b/package/python3-pyyaml/python3-pyyaml.hash deleted file mode 120000 index afa4932ecb5..00000000000 --- a/package/python3-pyyaml/python3-pyyaml.hash +++ /dev/null @@ -1 +0,0 @@ -../python-pyyaml/python-pyyaml.hash \ No newline at end of file diff --git a/package/python3-pyyaml/python3-pyyaml.mk b/package/python3-pyyaml/python3-pyyaml.mk deleted file mode 100644 index f7583415029..00000000000 --- a/package/python3-pyyaml/python3-pyyaml.mk +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################ -# -# python3-pyyaml -# -################################################################################ - -# Please keep in sync with package/python-pyyaml/python-pyyaml.mk -PYTHON3_PYYAML_VERSION = 5.4.1 -PYTHON3_PYYAML_SOURCE = PyYAML-$(PYTHON3_PYYAML_VERSION).tar.gz -PYTHON3_PYYAML_SITE = https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d -PYTHON3_PYYAML_SETUP_TYPE = setuptools -PYTHON3_PYYAML_LICENSE = MIT -PYTHON3_PYYAML_LICENSE_FILES = LICENSE -PYTHON3_PYYAML_CPE_ID_VENDOR = pyyaml -PYTHON3_PYYAML_CPE_ID_PRODUCT = pyyaml -HOST_PYTHON3_PYYAML_DL_SUBDIR = python-pyyaml -HOST_PYTHON3_PYYAML_NEEDS_HOST_PYTHON = python3 -HOST_PYTHON3_PYYAML_DEPENDENCIES = host-libyaml - -$(eval $(host-python-package)) diff --git a/package/python3-regex/python3-regex.hash b/package/python3-regex/python3-regex.hash deleted file mode 120000 index 274f4dc2779..00000000000 --- a/package/python3-regex/python3-regex.hash +++ /dev/null @@ -1 +0,0 @@ -../python-regex/python-regex.hash \ No newline at end of file diff --git a/package/python3-regex/python3-regex.mk b/package/python3-regex/python3-regex.mk deleted file mode 100644 index f75fb76ace7..00000000000 --- a/package/python3-regex/python3-regex.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# python3-regex -# -################################################################################ - -# Please keep in sync with package/python-regex/python-regex.mk -PYTHON3_REGEX_VERSION = 2020.2.20 -PYTHON3_REGEX_SOURCE = regex-$(PYTHON3_REGEX_VERSION).tar.gz -PYTHON3_REGEX_SITE = https://files.pythonhosted.org/packages/e8/76/8ac7f467617b9cfbafcef3c76df6f22b15de654a62bea719792b00a83195 -PYTHON3_REGEX_SETUP_TYPE = setuptools -PYTHON3_REGEX_LICENSE = CNRI-Python -HOST_PYTHON3_REGEX_DL_SUBDIR = python-regex -HOST_PYTHON3_REGEX_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-requests/python3-requests.hash b/package/python3-requests/python3-requests.hash deleted file mode 120000 index 19e182d4a68..00000000000 --- a/package/python3-requests/python3-requests.hash +++ /dev/null @@ -1 +0,0 @@ -../python-requests/python-requests.hash \ No newline at end of file diff --git a/package/python3-requests/python3-requests.mk b/package/python3-requests/python3-requests.mk deleted file mode 100644 index b67d71a18b9..00000000000 --- a/package/python3-requests/python3-requests.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# -# python3-requests -# -################################################################################ - -# Please keep in sync with package/python-requests/python-requests.mk -PYTHON3_REQUESTS_VERSION = 2.25.1 -PYTHON3_REQUESTS_SOURCE = requests-$(PYTHON3_REQUESTS_VERSION).tar.gz -PYTHON3_REQUESTS_SITE = https://files.pythonhosted.org/packages/6b/47/c14abc08432ab22dc18b9892252efaf005ab44066de871e72a38d6af464b -PYTHON3_REQUESTS_SETUP_TYPE = setuptools -PYTHON3_REQUESTS_LICENSE = Apache-2.0 -PYTHON3_REQUESTS_LICENSE_FILES = LICENSE -HOST_PYTHON3_REQUESTS_DL_SUBDIR = python-requests -HOST_PYTHON3_REQUESTS_NEEDS_HOST_PYTHON = python3 - -$(eval $(host-python-package)) diff --git a/package/python3-setuptools/0001-add-executable.patch b/package/python3-setuptools/0001-add-executable.patch deleted file mode 120000 index 5bab3d96a15..00000000000 --- a/package/python3-setuptools/0001-add-executable.patch +++ /dev/null @@ -1 +0,0 @@ -../python-setuptools/0001-add-executable.patch \ No newline at end of file diff --git a/package/python3-setuptools/python3-setuptools.hash b/package/python3-setuptools/python3-setuptools.hash deleted file mode 120000 index a3af7f0fb1f..00000000000 --- a/package/python3-setuptools/python3-setuptools.hash +++ /dev/null @@ -1 +0,0 @@ -../python-setuptools/python-setuptools.hash \ No newline at end of file diff --git a/package/python3-setuptools/python3-setuptools.mk b/package/python3-setuptools/python3-setuptools.mk deleted file mode 100644 index 3f4f1100feb..00000000000 --- a/package/python3-setuptools/python3-setuptools.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# python3-setuptools -# -################################################################################ - -# Please keep in sync with -# package/python-setuptools/python-setuptools.mk -PYTHON3_SETUPTOOLS_VERSION = 44.0.0 -PYTHON3_SETUPTOOLS_SOURCE = setuptools-$(PYTHON3_SETUPTOOLS_VERSION).zip -PYTHON3_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/b0/f3/44da7482ac6da3f36f68e253cb04de37365b3dba9036a3c70773b778b485 -PYTHON3_SETUPTOOLS_LICENSE = MIT -PYTHON3_SETUPTOOLS_LICENSE_FILES = LICENSE -PYTHON3_SETUPTOOLS_SETUP_TYPE = setuptools -HOST_PYTHON3_SETUPTOOLS_DL_SUBDIR = python-setuptools -HOST_PYTHON3_SETUPTOOLS_NEEDS_HOST_PYTHON = python3 - -define HOST_PYTHON3_SETUPTOOLS_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(HOST_PYTHON3_SETUPTOOLS_DL_DIR)/$(PYTHON3_SETUPTOOLS_SOURCE) - mv $(@D)/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)/* $(@D) - $(RM) -r $(@D)/setuptools-$(PYTHON3_SETUPTOOLS_VERSION) -endef - -$(eval $(host-python-package)) diff --git a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch index 5eb296c6d8c..d3b53689036 100644 --- a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch +++ b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch @@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 77f91e72b1..0c809f3d8a 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1528,6 +1528,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1600,6 +1600,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ fi @@ -26,7 +26,7 @@ index 77f91e72b1..0c809f3d8a 100644 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -j0 -d $(LIBDEST) -f \ -@@ -1555,6 +1556,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1627,6 +1628,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -j0 -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages @@ -38,7 +38,7 @@ diff --git a/configure.ac b/configure.ac index d60f05251a..1ee5a09588 100644 --- a/configure.ac +++ b/configure.ac -@@ -1112,6 +1112,12 @@ fi +@@ -1110,6 +1110,12 @@ fi AC_MSG_CHECKING(LDLIBRARY) diff --git a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch index c291d144608..411b8dae4ef 100644 --- a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch +++ b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch @@ -13,7 +13,7 @@ diff --git a/configure.ac b/configure.ac index 1ee5a09588..c2445edc88 100644 --- a/configure.ac +++ b/configure.ac -@@ -4175,7 +4175,7 @@ fi +@@ -4230,7 +4230,7 @@ fi AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) diff --git a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch index b0dcce7d776..7ac0f39d066 100644 --- a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch +++ b/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch @@ -47,7 +47,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 0c809f3d8a..7c3dde8dd4 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -213,6 +213,8 @@ FILEMODE= 644 +@@ -218,6 +218,8 @@ FILEMODE= 644 # configure script arguments CONFIG_ARGS= @CONFIG_ARGS@ @@ -56,7 +56,7 @@ index 0c809f3d8a..7c3dde8dd4 100644 # Subdirectories with code SRCDIRS= @SRCDIRS@ -@@ -629,6 +631,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -628,6 +630,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o esac; \ echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ @@ -64,7 +64,7 @@ index 0c809f3d8a..7c3dde8dd4 100644 $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ -@@ -1674,7 +1677,8 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1748,7 +1751,8 @@ libainstall: @DEF_MAKE_RULE@ python-config # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: sharedmods @@ -78,7 +78,7 @@ diff --git a/configure.ac b/configure.ac index c2445edc88..73d66167de 100644 --- a/configure.ac +++ b/configure.ac -@@ -3052,6 +3052,8 @@ LIBS="$withval $LIBS" +@@ -3091,6 +3091,8 @@ LIBS="$withval $LIBS" PKG_PROG_PKG_CONFIG @@ -91,8 +91,8 @@ diff --git a/setup.py b/setup.py index 770866bca7..b6c829b3a5 100644 --- a/setup.py +++ b/setup.py -@@ -43,7 +43,10 @@ from distutils.spawn import find_executable - TEST_EXTENSIONS = True +@@ -58,7 +58,10 @@ with warnings.catch_warnings(): + TEST_EXTENSIONS = (sysconfig.get_config_var('TEST_MODULES') == 'yes') # This global variable is used to hold the list of modules to be disabled. -DISABLED_MODULE_LIST = [] @@ -101,8 +101,8 @@ index 770866bca7..b6c829b3a5 100644 +except KeyError: + DISABLED_MODULE_LIST = list() - - def get_platform(): + # --list-module-names option used by Tools/scripts/generate_module_names.py + LIST_MODULE_NAMES = False -- 2.25.1 diff --git a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch index 24f369f87ff..03113484051 100644 --- a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch +++ b/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch @@ -15,13 +15,15 @@ values, and get correct header/library paths when cross-compiling third-party Python modules. Signed-off-by: Thomas Petazzoni +Signed-off-by: Adam Duskett +Refresh for 3.10.0 --- Lib/distutils/command/build_ext.py | 5 ++++- - Lib/distutils/sysconfig.py | 15 +++++++++++---- + Lib/sysconfig.py | 15 +++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py -index 1a9bd1200f..3cf7d6746e 100644 +index 1a9bd12..3cf7d67 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -234,7 +234,10 @@ class build_ext(Command): @@ -36,32 +38,32 @@ index 1a9bd1200f..3cf7d6746e 100644 else: # building python standard extensions self.library_dirs.append('.') -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 37feae5df7..e9c3a27856 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -17,10 +17,17 @@ import sys - from .errors import DistutilsPlatformError - - # These are needed in a couple of spots, so just compute them once. --PREFIX = os.path.normpath(sys.prefix) --EXEC_PREFIX = os.path.normpath(sys.exec_prefix) --BASE_PREFIX = os.path.normpath(sys.base_prefix) --BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 95b48f6..9fb1956 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -123,10 +123,17 @@ _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', + _PY_VERSION = sys.version.split()[0] + _PY_VERSION_SHORT = f'{sys.version_info[0]}.{sys.version_info[1]}' + _PY_VERSION_SHORT_NO_DOT = f'{sys.version_info[0]}{sys.version_info[1]}' +-_PREFIX = os.path.normpath(sys.prefix) +-_BASE_PREFIX = os.path.normpath(sys.base_prefix) +-_EXEC_PREFIX = os.path.normpath(sys.exec_prefix) +-_BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) +if "_python_sysroot" in os.environ: + _sysroot=os.environ.get('_python_sysroot') -+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) -+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) -+ BASE_PREFIX = PREFIX -+ BASE_EXEC_PREFIX = EXEC_PREFIX ++ _PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) ++ _EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) ++ _BASE_PREFIX = _PREFIX ++ _BASE_EXEC_PREFIX = _EXEC_PREFIX +else: -+ PREFIX = os.path.normpath(sys.prefix) -+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix) -+ BASE_PREFIX = os.path.normpath(sys.base_prefix) -+ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) ++ _PREFIX = os.path.normpath(sys.prefix) ++ _EXEC_PREFIX = os.path.normpath(sys.exec_prefix) ++ _BASE_PREFIX = os.path.normpath(sys.base_prefix) ++ _BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) + _CONFIG_VARS = None + _USER_BASE = None - # Path to the base directory of the project. On Windows the binary may - # live in project/PCbuild/win32 or project/PCbuild/amd64. -- -2.25.1 +2.30.2 diff --git a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch index 83c88ff3999..3e224995a58 100644 --- a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ b/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch @@ -9,10 +9,10 @@ Signed-off-by: Thomas Petazzoni 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/setup.py b/setup.py -index b6c829b3a5..ec3ba60607 100644 +index 66d372a..e632b6f 100644 --- a/setup.py +++ b/setup.py -@@ -1056,12 +1056,9 @@ class PyBuildExt(build_ext): +@@ -1147,12 +1147,9 @@ class PyBuildExt(build_ext): pass # Issue 7384: Already linked against curses or tinfo. elif curses_library: readline_libs.append(curses_library) diff --git a/package/python3/0006-Don-t-add-multiarch-paths.patch b/package/python3/0006-Don-t-add-multiarch-paths.patch index f55238d0c48..48d8cc790eb 100644 --- a/package/python3/0006-Don-t-add-multiarch-paths.patch +++ b/package/python3/0006-Don-t-add-multiarch-paths.patch @@ -20,7 +20,7 @@ diff --git a/setup.py b/setup.py index ec3ba60607..e27620035c 100644 --- a/setup.py +++ b/setup.py -@@ -749,10 +749,10 @@ class PyBuildExt(build_ext): +@@ -830,10 +830,10 @@ class PyBuildExt(build_ext): if not CROSS_COMPILING: add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') diff --git a/package/python3/0007-Abort-on-failed-module-build.patch b/package/python3/0007-Abort-on-failed-module-build.patch index 0e96e7522a8..32e2261a055 100644 --- a/package/python3/0007-Abort-on-failed-module-build.patch +++ b/package/python3/0007-Abort-on-failed-module-build.patch @@ -17,7 +17,7 @@ diff --git a/setup.py b/setup.py index e27620035c..d3f0e663f2 100644 --- a/setup.py +++ b/setup.py -@@ -539,6 +539,7 @@ class PyBuildExt(build_ext): +@@ -561,6 +561,7 @@ class PyBuildExt(build_ext): print("Failed to build these modules:") print_three_column(failed) print() diff --git a/package/python3/0011-Add-importlib-fix-for-PEP-3147-issue.patch b/package/python3/0011-Add-importlib-fix-for-PEP-3147-issue.patch new file mode 100644 index 00000000000..b18f94ab4ec --- /dev/null +++ b/package/python3/0011-Add-importlib-fix-for-PEP-3147-issue.patch @@ -0,0 +1,105 @@ +From e2ea659eac1849db471d3c01a0d0af9d6fca2e9a Mon Sep 17 00:00:00 2001 +From: Christophe Vu-Brugier +Date: Wed, 22 Feb 2017 16:48:49 -0800 +Subject: [PATCH] Add importlib fix for PEP 3147 issue + +Python 3 has a new standard for installing .pyc file, called PEP +3147. Unfortunately, this standard requires both the .py and .pyc +files to be installed for a Python module to be found. This is quite +annoying on space-constrained embedded systems, since the .py file is +technically not required for execution. + +This patch changes cache_from_source() and source_from_cache() in +importlib to get rid of the "__pycache__" directory. +This effectively disables PEP 3147 for: + +* The python standard library +* Packages built with distutils or setuptools +* Packages built with automake that use the `py-compile` helper + +Signed-off-by: Christophe Vu-Brugier +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Lib/importlib/_bootstrap_external.py | 44 ++++------------------------ + 1 file changed, 5 insertions(+), 39 deletions(-) + +diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py +index 25a3f8c0e0..2cb9a9aa52 100644 +--- a/Lib/importlib/_bootstrap_external.py ++++ b/Lib/importlib/_bootstrap_external.py +@@ -392,8 +392,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): + a True value is the same as setting 'optimization' to the empty string + while a False value is equivalent to setting 'optimization' to '1'. + +- If sys.implementation.cache_tag is None then NotImplementedError is raised. +- + """ + if debug_override is not None: + _warnings.warn('the debug_override parameter is deprecated; use ' +@@ -405,10 +403,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): + path = _os.fspath(path) + head, tail = _path_split(path) + base, sep, rest = tail.rpartition('.') +- tag = sys.implementation.cache_tag +- if tag is None: +- raise NotImplementedError('sys.implementation.cache_tag is None') +- almost_filename = ''.join([(base if base else rest), sep, tag]) ++ almost_filename = ''.join([(base if base else rest)]) + if optimization is None: + if sys.flags.optimize == 0: + optimization = '' +@@ -445,46 +440,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): + head.lstrip(path_separators), + filename, + ) +- return _path_join(head, _PYCACHE, filename) ++ return _path_join(head, filename) + + + def source_from_cache(path): + """Given the path to a .pyc. file, return the path to its .py file. + + The .pyc file does not need to exist; this simply returns the path to +- the .py file calculated to correspond to the .pyc file. If path does +- not conform to PEP 3147/488 format, ValueError will be raised. If +- sys.implementation.cache_tag is None then NotImplementedError is raised. +- ++ the .py file calculated to correspond to the .pyc file. + """ +- if sys.implementation.cache_tag is None: +- raise NotImplementedError('sys.implementation.cache_tag is None') +- path = _os.fspath(path) +- head, pycache_filename = _path_split(path) +- found_in_pycache_prefix = False +- if sys.pycache_prefix is not None: +- stripped_path = sys.pycache_prefix.rstrip(path_separators) +- if head.startswith(stripped_path + path_sep): +- head = head[len(stripped_path):] +- found_in_pycache_prefix = True +- if not found_in_pycache_prefix: +- head, pycache = _path_split(head) +- if pycache != _PYCACHE: +- raise ValueError(f'{_PYCACHE} not bottom-level directory in ' +- f'{path!r}') +- dot_count = pycache_filename.count('.') +- if dot_count not in {2, 3}: +- raise ValueError(f'expected only 2 or 3 dots in {pycache_filename!r}') +- elif dot_count == 3: +- optimization = pycache_filename.rsplit('.', 2)[-2] +- if not optimization.startswith(_OPT): +- raise ValueError("optimization portion of filename does not start " +- f"with {_OPT!r}") +- opt_level = optimization[len(_OPT):] +- if not opt_level.isalnum(): +- raise ValueError(f"optimization level {optimization!r} is not an " +- "alphanumeric value") +- base_filename = pycache_filename.partition('.')[0] ++ head, filename = _path_split(path) ++ base_filename = filename.partition('.')[0] + return _path_join(head, base_filename + SOURCE_SUFFIXES[0]) + + +-- +2.25.1 + diff --git a/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch b/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch deleted file mode 100644 index 57f1bb5a2f1..00000000000 --- a/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e4ae670e3489544a49dabd1618c32fe73504a7ba Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero -Date: Wed, 23 Dec 2015 11:45:48 +0100 -Subject: [PATCH] Override system locale and set to default when adding gcc - paths - -Forces the use of the default locale in the function -add_gcc_paths, which is called when cross compiling to add the -include and library paths. This is necessary because otherwise -the gcc output is localized and the output parsing fails, which -results in no paths added and detect_modules not able to find -any system library (eg. libz, libssl, etc.) - -[Thomas: patch taken from https://bugs.python.org/issue23767.] - -Signed-off-by: Samuel Cabrero -Signed-off-by: Thomas Petazzoni -[james.hilliard1@gmail.com: adapt to python 3.9] -Signed-off-by: James Hilliard ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index d3f0e663f2..926c16f58f 100644 ---- a/setup.py -+++ b/setup.py -@@ -695,7 +695,7 @@ class PyBuildExt(build_ext): - tmpfile = os.path.join(self.build_temp, 'ccpaths') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) -- ret = run_command('%s -E -v - %s 1>/dev/null' % (cc, tmpfile)) -+ ret = run_command('LC_ALL=C %s -E -v - %s 1>/dev/null' % (cc, tmpfile)) - is_gcc = False - is_clang = False - in_incdirs = False --- -2.25.1 - diff --git a/package/python3/0012-Add-an-option-to-disable-pydoc.patch b/package/python3/0012-Add-an-option-to-disable-pydoc.patch new file mode 100644 index 00000000000..a843c8c1265 --- /dev/null +++ b/package/python3/0012-Add-an-option-to-disable-pydoc.patch @@ -0,0 +1,100 @@ +From a65e5d3caf8e076d531191164c23c6240461f675 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:07:56 -0800 +Subject: [PATCH] Add an option to disable pydoc + +It removes 0.5 MB of data from the target plus the pydoc script +itself. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett +--- + Makefile.pre.in | 7 ++++++- + configure.ac | 6 ++++++ + setup.py | 9 +++++++-- + 3 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index c0d5511..32b3df7 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1391,7 +1391,9 @@ bininstall: altbininstall + -rm -f $(DESTDIR)$(BINDIR)/idle3 + (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) + -rm -f $(DESTDIR)$(BINDIR)/pydoc3 ++ifeq (@PYDOC@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) ++endif + -rm -f $(DESTDIR)$(BINDIR)/2to3 + (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) + if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ +@@ -1442,7 +1444,6 @@ LIBSUBDIRS= asyncio \ + lib2to3 lib2to3/fixes lib2to3/pgen2 \ + logging \ + multiprocessing multiprocessing/dummy \ +- pydoc_data \ + site-packages \ + sqlite3 \ + tkinter \ +@@ -1530,6 +1531,10 @@ TESTSUBDIRS= ctypes/test \ + tkinter/test/test_ttk \ + unittest/test unittest/test/testmock + ++ifeq (@PYDOC@,yes) ++LIBSUBDIRS += pydoc_data ++endif ++ + TEST_MODULES=@TEST_MODULES@ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ +diff --git a/configure.ac b/configure.ac +index 083a12d..9079531 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3373,6 +3373,12 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_getcpuclockid) + fi + ++AC_SUBST(PYDOC) ++ ++AC_ARG_ENABLE(pydoc, ++ AS_HELP_STRING([--disable-pydoc], [disable pydoc]), ++ [ PYDOC="${enableval}" ], [ PYDOC=yes ]) ++ + + # Check for enable-ipv6 + AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) +diff --git a/setup.py b/setup.py +index d00d389..d23f148 100644 +--- a/setup.py ++++ b/setup.py +@@ -2721,6 +2721,12 @@ def main(): + # turn off warnings when deprecated modules are imported + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) ++ ++ scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', ++ 'Lib/smtpd.py'] ++ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/pydoc3' ] ++ + setup(# PyPI Metadata (PEP 301) + name = "Python", + version = sys.version.split()[0], +@@ -2746,8 +2752,7 @@ def main(): + # If you change the scripts installed here, you also need to + # check the PyBuildScripts command above, and change the links + # created by the bininstall target in Makefile.pre.in +- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3", +- "Tools/scripts/2to3"] ++ scripts = scripts + ) + + # --install-platlib +-- +2.30.2 + diff --git a/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch b/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch deleted file mode 100644 index 42dfa0d6930..00000000000 --- a/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch +++ /dev/null @@ -1,105 +0,0 @@ -From e2ea659eac1849db471d3c01a0d0af9d6fca2e9a Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier -Date: Wed, 22 Feb 2017 16:48:49 -0800 -Subject: [PATCH] Add importlib fix for PEP 3147 issue - -Python 3 has a new standard for installing .pyc file, called PEP -3147. Unfortunately, this standard requires both the .py and .pyc -files to be installed for a Python module to be found. This is quite -annoying on space-constrained embedded systems, since the .py file is -technically not required for execution. - -This patch changes cache_from_source() and source_from_cache() in -importlib to get rid of the "__pycache__" directory. -This effectively disables PEP 3147 for: - -* The python standard library -* Packages built with distutils or setuptools -* Packages built with automake that use the `py-compile` helper - -Signed-off-by: Christophe Vu-Brugier -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Lib/importlib/_bootstrap_external.py | 44 ++++------------------------ - 1 file changed, 5 insertions(+), 39 deletions(-) - -diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py -index 25a3f8c0e0..2cb9a9aa52 100644 ---- a/Lib/importlib/_bootstrap_external.py -+++ b/Lib/importlib/_bootstrap_external.py -@@ -313,8 +313,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): - a True value is the same as setting 'optimization' to the empty string - while a False value is equivalent to setting 'optimization' to '1'. - -- If sys.implementation.cache_tag is None then NotImplementedError is raised. -- - """ - if debug_override is not None: - _warnings.warn('the debug_override parameter is deprecated; use ' -@@ -326,10 +324,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): - path = _os.fspath(path) - head, tail = _path_split(path) - base, sep, rest = tail.rpartition('.') -- tag = sys.implementation.cache_tag -- if tag is None: -- raise NotImplementedError('sys.implementation.cache_tag is None') -- almost_filename = ''.join([(base if base else rest), sep, tag]) -+ almost_filename = ''.join([(base if base else rest)]) - if optimization is None: - if sys.flags.optimize == 0: - optimization = '' -@@ -366,46 +361,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): - head.lstrip(path_separators), - filename, - ) -- return _path_join(head, _PYCACHE, filename) -+ return _path_join(head, filename) - - - def source_from_cache(path): - """Given the path to a .pyc. file, return the path to its .py file. - - The .pyc file does not need to exist; this simply returns the path to -- the .py file calculated to correspond to the .pyc file. If path does -- not conform to PEP 3147/488 format, ValueError will be raised. If -- sys.implementation.cache_tag is None then NotImplementedError is raised. -- -+ the .py file calculated to correspond to the .pyc file. - """ -- if sys.implementation.cache_tag is None: -- raise NotImplementedError('sys.implementation.cache_tag is None') -- path = _os.fspath(path) -- head, pycache_filename = _path_split(path) -- found_in_pycache_prefix = False -- if sys.pycache_prefix is not None: -- stripped_path = sys.pycache_prefix.rstrip(path_separators) -- if head.startswith(stripped_path + path_sep): -- head = head[len(stripped_path):] -- found_in_pycache_prefix = True -- if not found_in_pycache_prefix: -- head, pycache = _path_split(head) -- if pycache != _PYCACHE: -- raise ValueError(f'{_PYCACHE} not bottom-level directory in ' -- f'{path!r}') -- dot_count = pycache_filename.count('.') -- if dot_count not in {2, 3}: -- raise ValueError(f'expected only 2 or 3 dots in {pycache_filename!r}') -- elif dot_count == 3: -- optimization = pycache_filename.rsplit('.', 2)[-2] -- if not optimization.startswith(_OPT): -- raise ValueError("optimization portion of filename does not start " -- f"with {_OPT!r}") -- opt_level = optimization[len(_OPT):] -- if not opt_level.isalnum(): -- raise ValueError(f"optimization level {optimization!r} is not an " -- "alphanumeric value") -- base_filename = pycache_filename.partition('.')[0] -+ head, filename = _path_split(path) -+ base_filename = filename.partition('.')[0] - return _path_join(head, base_filename + SOURCE_SUFFIXES[0]) - - --- -2.25.1 - diff --git a/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch b/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch deleted file mode 100644 index b3380fd53fb..00000000000 --- a/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 0337342d413d13f437fd089de91faee70a8bf3f9 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 22 Feb 2017 17:01:18 -0800 -Subject: [PATCH] Add an option to disable installation of test modules - -The Python standard distribution comes with many test modules, that -are not necessarly useful on embedded targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov -[james.hilliard1@gmail.com: adapt to python 3.9] -Signed-off-by: James Hilliard ---- - Makefile.pre.in | 56 ++++++++++++++++++++++++++++++++----------------- - configure.ac | 5 +++++ - 2 files changed, 42 insertions(+), 19 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 7c3dde8dd4..204f293d53 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1385,8 +1385,29 @@ maninstall: altmaninstall - - # Install the library - XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax --LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ -- tkinter/test/test_ttk site-packages test \ -+ -+LIBSUBDIRS= tkinter site-packages \ -+ asyncio \ -+ collections concurrent concurrent/futures encodings \ -+ email email/mime \ -+ ensurepip ensurepip/_bundled \ -+ html json http dbm xmlrpc \ -+ sqlite3 \ -+ logging csv wsgiref urllib \ -+ lib2to3 lib2to3/fixes lib2to3/pgen2 \ -+ ctypes ctypes/macholib \ -+ idlelib idlelib/Icons \ -+ distutils distutils/command $(XMLLIBSUBDIRS) \ -+ importlib \ -+ turtledemo \ -+ multiprocessing multiprocessing/dummy \ -+ unittest \ -+ venv venv/scripts venv/scripts/common venv/scripts/posix \ -+ curses pydoc_data \ -+ zoneinfo -+ -+TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ -+ tkinter/test/test_ttk test \ - test/audiodata \ - test/capath test/data \ - test/cjkencodings test/decimaltestdata \ -@@ -1446,28 +1467,25 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ - test/test_importlib/zipdata02 \ - test/test_zoneinfo test/test_zoneinfo/data \ - test/ziptestdata \ -- asyncio \ - test/test_asyncio \ -- collections concurrent concurrent/futures encodings \ -- email email/mime test/test_email test/test_email/data \ -- ensurepip ensurepip/_bundled \ -- html json test/test_json http dbm xmlrpc \ -- sqlite3 sqlite3/test \ -- logging csv wsgiref urllib \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ -+ test/test_email test/test_email/data \ -+ test/test_json \ -+ sqlite3/test \ -+ lib2to3/tests \ - lib2to3/tests/data lib2to3/tests/data/fixers \ - lib2to3/tests/data/fixers/myfixes \ -- ctypes ctypes/test ctypes/macholib \ -- idlelib idlelib/Icons idlelib/idle_test \ -- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ -+ ctypes/test \ -+ idlelib/idle_test \ -+ distutils/tests \ - test/test_peg_generator \ -+ test/test_importlib test/test_importlib/builtin \ - test/test_tools test/test_warnings test/test_warnings/data \ -- turtledemo \ -- multiprocessing multiprocessing/dummy \ -- unittest unittest/test unittest/test/testmock \ -- venv venv/scripts venv/scripts/common venv/scripts/posix \ -- curses pydoc_data \ -- zoneinfo -+ unittest/test unittest/test/testmock -+ -+ifeq (@TEST_MODULES@,yes) -+LIBSUBDIRS += $(TESTSUBDIRS) -+endif -+ - libinstall: build_all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index 73d66167de..92e28d02ee 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3329,6 +3329,11 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_getcpuclockid) - fi - -+AC_SUBST(TEST_MODULES) -+ -+AC_ARG_ENABLE(test-modules, -+ AS_HELP_STRING([--disable-test-modules], [disable test modules]), -+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) - - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) --- -2.25.1 - diff --git a/package/python3/0013-Add-an-option-to-disable-lib2to3.patch b/package/python3/0013-Add-an-option-to-disable-lib2to3.patch new file mode 100644 index 00000000000..c8f2e528bfc --- /dev/null +++ b/package/python3/0013-Add-an-option-to-disable-lib2to3.patch @@ -0,0 +1,119 @@ +From f034b1b0f33a7bd4dde23f0bc1fa8e00e3518c9d Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:15:31 -0800 +Subject: [PATCH] Add an option to disable lib2to3 + +lib2to3 is a library to convert Python 2.x code to Python 3.x. As +such, it is probably not very useful on embedded system targets. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett +--- + Makefile.pre.in | 17 ++++++++++++----- + configure.ac | 5 +++++ + setup.py | 6 +++--- + 3 files changed, 20 insertions(+), 8 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 28cf88e..63fa9fb 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1395,7 +1395,9 @@ ifeq (@PYDOC@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) + endif + -rm -f $(DESTDIR)$(BINDIR)/2to3 ++ifeq (@LIB2TO3@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) ++endif + if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ + rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \ + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \ +@@ -1441,7 +1443,6 @@ LIBSUBDIRS= asyncio \ + idlelib idlelib/Icons \ + importlib importlib/metadata \ + json \ +- lib2to3 lib2to3/fixes lib2to3/pgen2 \ + logging \ + multiprocessing multiprocessing/dummy \ + site-packages \ +@@ -1458,10 +1459,6 @@ LIBSUBDIRS= asyncio \ + TESTSUBDIRS= ctypes/test \ + distutils/tests \ + idlelib/idle_test \ +- lib2to3/tests \ +- lib2to3/tests/data \ +- lib2to3/tests/data/fixers \ +- lib2to3/tests/data/fixers/myfixes \ + sqlite3/test \ + test test/audiodata \ + test/capath test/cjkencodings \ +@@ -1535,6 +1532,14 @@ ifeq (@PYDOC@,yes) + LIBSUBDIRS += pydoc_data + endif + ++ifeq (@LIB2TO3@,yes) ++LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 ++TESTSUBDIRS += lib2to3/tests \ ++ lib2to3/tests/data \ ++ lib2to3/tests/data/fixers \ ++ lib2to3/tests/data/fixers/myfixes ++endif ++ + TEST_MODULES=@TEST_MODULES@ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ +@@ -1637,10 +1642,12 @@ ifeq (@PYC_BUILD@,yes) + -j0 -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages + endif ++ifeq (@LIB2TO3@,yes) + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt ++endif + + # bpo-21536: Misc/python-config.sh is generated in the build directory + # from $(srcdir)Misc/python-config.sh.in. +diff --git a/configure.ac b/configure.ac +index 9079531..34c2ba9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -6014,6 +6014,11 @@ else + fi + AC_SUBST(TEST_MODULES) + ++AC_SUBST(LIB2TO3) ++ ++AC_ARG_ENABLE(lib2to3, ++ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), ++ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) + + # generate output files + AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) +diff --git a/setup.py b/setup.py +index d23f148..663fd44 100644 +--- a/setup.py ++++ b/setup.py +@@ -2722,11 +2722,11 @@ def main(): + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) + +- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', +- 'Lib/smtpd.py'] ++ scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] + if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/pydoc3' ] +- ++ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/2to3' ] + setup(# PyPI Metadata (PEP 301) + name = "Python", + version = sys.version.split()[0], +-- +2.30.2 + diff --git a/package/python3/0014-Add-an-option-to-disable-pydoc.patch b/package/python3/0014-Add-an-option-to-disable-pydoc.patch deleted file mode 100644 index abb86ea07b0..00000000000 --- a/package/python3/0014-Add-an-option-to-disable-pydoc.patch +++ /dev/null @@ -1,99 +0,0 @@ -From a65e5d3caf8e076d531191164c23c6240461f675 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 22 Feb 2017 17:07:56 -0800 -Subject: [PATCH] Add an option to disable pydoc - -It removes 0.5 MB of data from the target plus the pydoc script -itself. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Makefile.pre.in | 8 +++++++- - configure.ac | 6 ++++++ - setup.py | 9 +++++++-- - 3 files changed, 20 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 204f293d53..63e3df0470 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1357,7 +1357,9 @@ bininstall: altbininstall - -rm -f $(DESTDIR)$(BINDIR)/idle3 - (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) - -rm -f $(DESTDIR)$(BINDIR)/pydoc3 -+ifeq (@PYDOC@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -+endif - -rm -f $(DESTDIR)$(BINDIR)/2to3 - (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) - if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ -@@ -1403,7 +1405,7 @@ LIBSUBDIRS= tkinter site-packages \ - multiprocessing multiprocessing/dummy \ - unittest \ - venv venv/scripts venv/scripts/common venv/scripts/posix \ -- curses pydoc_data \ -+ curses \ - zoneinfo - - TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ -@@ -1486,6 +1488,10 @@ ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif - -+ifeq (@PYDOC@,yes) -+LIBSUBDIRS += pydoc_data -+endif -+ - libinstall: build_all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index 92e28d02ee..174ed85a7c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3329,6 +3329,12 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_getcpuclockid) - fi - -+AC_SUBST(PYDOC) -+ -+AC_ARG_ENABLE(pydoc, -+ AS_HELP_STRING([--disable-pydoc], [disable pydoc]), -+ [ PYDOC="${enableval}" ], [ PYDOC=yes ]) -+ - AC_SUBST(TEST_MODULES) - - AC_ARG_ENABLE(test-modules, -diff --git a/setup.py b/setup.py -index 926c16f58f..1fc5fac90c 100644 ---- a/setup.py -+++ b/setup.py -@@ -2586,6 +2586,12 @@ def main(): - # turn off warnings when deprecated modules are imported - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) -+ -+ scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', -+ 'Lib/smtpd.py'] -+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/pydoc3' ] -+ - setup(# PyPI Metadata (PEP 301) - name = "Python", - version = sys.version.split()[0], -@@ -2610,8 +2616,7 @@ def main(): - # If you change the scripts installed here, you also need to - # check the PyBuildScripts command above, and change the links - # created by the bininstall target in Makefile.pre.in -- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3", -- "Tools/scripts/2to3"] -+ scripts = scripts - ) - - # --install-platlib --- -2.25.1 - diff --git a/package/python3/0014-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0014-Add-option-to-disable-the-sqlite3-module.patch new file mode 100644 index 00000000000..81fa52bb73c --- /dev/null +++ b/package/python3/0014-Add-option-to-disable-the-sqlite3-module.patch @@ -0,0 +1,71 @@ +From dd2722dec08eb9c72c36313e93661eeca3ad64d8 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:20:45 -0800 +Subject: [PATCH] Add option to disable the sqlite3 module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett +--- + Makefile.pre.in | 7 +++++-- + configure.ac | 9 +++++++++ + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 5847029..5628860 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1446,7 +1446,6 @@ LIBSUBDIRS= asyncio \ + logging \ + multiprocessing multiprocessing/dummy \ + site-packages \ +- sqlite3 \ + tkinter \ + turtledemo \ + unittest \ +@@ -1459,7 +1458,6 @@ LIBSUBDIRS= asyncio \ + TESTSUBDIRS= ctypes/test \ + distutils/tests \ + idlelib/idle_test \ +- sqlite3/test \ + test test/audiodata \ + test/capath test/cjkencodings \ + test/data test/decimaltestdata \ +@@ -1540,6 +1538,11 @@ TESTSUBDIRS += lib2to3/tests \ + lib2to3/tests/data/fixers/myfixes + endif + ++ifeq (@SQLITE3@,yes) ++LIBSUBDIRS += sqlite3 ++TESTSUBDIRS += sqlite3/test ++endif ++ + TEST_MODULES=@TEST_MODULES@ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ +diff --git a/configure.ac b/configure.ac +index 34c2ba9..dfee472 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3373,6 +3373,15 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_getcpuclockid) + fi + ++AC_SUBST(SQLITE3) ++AC_ARG_ENABLE(sqlite3, ++ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), ++ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) ++ ++if test "$SQLITE3" = "no" ; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.30.2 + diff --git a/package/python3/0015-Add-an-option-to-disable-lib2to3.patch b/package/python3/0015-Add-an-option-to-disable-lib2to3.patch deleted file mode 100644 index 5cec11a00a5..00000000000 --- a/package/python3/0015-Add-an-option-to-disable-lib2to3.patch +++ /dev/null @@ -1,116 +0,0 @@ -From f034b1b0f33a7bd4dde23f0bc1fa8e00e3518c9d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 22 Feb 2017 17:15:31 -0800 -Subject: [PATCH] Add an option to disable lib2to3 - -lib2to3 is a library to convert Python 2.x code to Python 3.x. As -such, it is probably not very useful on embedded system targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Makefile.pre.in | 16 ++++++++++++---- - configure.ac | 6 ++++++ - setup.py | 5 +++-- - 3 files changed, 21 insertions(+), 6 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 63e3df0470..8b7de12999 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1361,7 +1361,9 @@ ifeq (@PYDOC@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) - endif - -rm -f $(DESTDIR)$(BINDIR)/2to3 -+ifeq (@LIB2TO3@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) -+endif - if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ - rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \ - (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \ -@@ -1396,7 +1398,6 @@ LIBSUBDIRS= tkinter site-packages \ - html json http dbm xmlrpc \ - sqlite3 \ - logging csv wsgiref urllib \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ - distutils distutils/command $(XMLLIBSUBDIRS) \ -@@ -1473,9 +1474,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ - test/test_email test/test_email/data \ - test/test_json \ - sqlite3/test \ -- lib2to3/tests \ -- lib2to3/tests/data lib2to3/tests/data/fixers \ -- lib2to3/tests/data/fixers/myfixes \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1484,6 +1482,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ - test/test_tools test/test_warnings test/test_warnings/data \ - unittest/test unittest/test/testmock - -+ifeq (@LIB2TO3@,yes) -+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 -+TESTSUBDIRS += lib2to3/tests \ -+ lib2to3/tests/data \ -+ lib2to3/tests/data/fixers \ -+ lib2to3/tests/data/fixers/myfixes -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -@@ -1584,10 +1590,12 @@ ifeq (@PYC_BUILD@,yes) - -j0 -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - endif -+ifeq (@LIB2TO3@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt -+endif - - # bpo-21536: Misc/python-config.sh is generated in the build directory - # from $(srcdir)Misc/python-config.sh.in. -diff --git a/configure.ac b/configure.ac -index 174ed85a7c..f1f5e9a7b0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3341,6 +3341,12 @@ AC_ARG_ENABLE(test-modules, - AS_HELP_STRING([--disable-test-modules], [disable test modules]), - [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) - -+AC_SUBST(LIB2TO3) -+ -+AC_ARG_ENABLE(lib2to3, -+ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), -+ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) -diff --git a/setup.py b/setup.py -index 1fc5fac90c..4063d7ffa5 100644 ---- a/setup.py -+++ b/setup.py -@@ -2587,10 +2587,11 @@ def main(): - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', -- 'Lib/smtpd.py'] -+ scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc3' ] -+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/2to3' ] - - setup(# PyPI Metadata (PEP 301) - name = "Python", --- -2.25.1 - diff --git a/package/python3/0015-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0015-Add-an-option-to-disable-the-tk-module.patch new file mode 100644 index 00000000000..db79f5691fa --- /dev/null +++ b/package/python3/0015-Add-an-option-to-disable-the-tk-module.patch @@ -0,0 +1,74 @@ +From ad6b66b34f71ff6b60b3be5f6fd3e781cdeecd59 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:23:42 -0800 +Subject: [PATCH] Add an option to disable the tk module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett +--- + Makefile.pre.in | 10 +++++++--- + configure.ac | 9 +++++++++ + 2 files changed, 16 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 5628860..c968113 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1446,7 +1446,6 @@ LIBSUBDIRS= asyncio \ + logging \ + multiprocessing multiprocessing/dummy \ + site-packages \ +- tkinter \ + turtledemo \ + unittest \ + urllib \ +@@ -1522,8 +1521,6 @@ TESTSUBDIRS= ctypes/test \ + test/tracedmodules \ + test/xmltestdata test/xmltestdata/c14n-20 \ + test/ziptestdata \ +- tkinter/test tkinter/test/test_tkinter \ +- tkinter/test/test_ttk \ + unittest/test unittest/test/testmock + + ifeq (@PYDOC@,yes) +@@ -1543,6 +1540,13 @@ LIBSUBDIRS += sqlite3 + TESTSUBDIRS += sqlite3/test + endif + ++ifeq (@TK@,yes) ++LIBSUBDIRS += tkinter ++TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ ++ tkinter/test/test_ttk ++endif ++ ++ + TEST_MODULES=@TEST_MODULES@ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ +diff --git a/configure.ac b/configure.ac +index dfee472..dc76dff 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3382,6 +3382,15 @@ if test "$SQLITE3" = "no" ; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" + fi + ++AC_SUBST(TK) ++AC_ARG_ENABLE(tk, ++ AS_HELP_STRING([--disable-tk], [disable tk]), ++ [ TK="${enableval}" ], [ TK=yes ]) ++ ++if test "$TK" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.30.2 + diff --git a/package/python3/0016-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0016-Add-an-option-to-disable-the-curses-module.patch new file mode 100644 index 00000000000..35d92fb7d1a --- /dev/null +++ b/package/python3/0016-Add-an-option-to-disable-the-curses-module.patch @@ -0,0 +1,61 @@ +From 962deb43f5f340a8472d432ae8e6d61186f9040e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:31:51 -0800 +Subject: [PATCH] Add an option to disable the curses module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett +--- + Makefile.pre.in | 4 +++- + configure.ac | 9 +++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index c968113..f89f155 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1432,7 +1432,6 @@ LIBSUBDIRS= asyncio \ + concurrent concurrent/futures \ + csv \ + ctypes ctypes/macholib \ +- curses \ + dbm \ + distutils distutils/command \ + email email/mime \ +@@ -1546,6 +1545,9 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ + tkinter/test/test_ttk + endif + ++ifeq (@CURSES@,yes) ++LIBSUBDIRS += curses ++endif + + TEST_MODULES=@TEST_MODULES@ + libinstall: build_all $(srcdir)/Modules/xxmodule.c +diff --git a/configure.ac b/configure.ac +index dc76dff..4f1cda5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3391,6 +3391,15 @@ if test "$TK" = "no"; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" + fi + ++AC_SUBST(CURSES) ++AC_ARG_ENABLE(curses, ++ AS_HELP_STRING([--disable-curses], [disable curses]), ++ [ CURSES="${enableval}" ], [ CURSES=yes ]) ++ ++if test "$CURSES" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.30.2 + diff --git a/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch deleted file mode 100644 index 47ee112e272..00000000000 --- a/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch +++ /dev/null @@ -1,69 +0,0 @@ -From dd2722dec08eb9c72c36313e93661eeca3ad64d8 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 22 Feb 2017 17:20:45 -0800 -Subject: [PATCH] Add option to disable the sqlite3 module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Makefile.pre.in | 7 +++++-- - configure.ac | 9 +++++++++ - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 8b7de12999..d826d8ac4b 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1396,7 +1396,6 @@ LIBSUBDIRS= tkinter site-packages \ - email email/mime \ - ensurepip ensurepip/_bundled \ - html json http dbm xmlrpc \ -- sqlite3 \ - logging csv wsgiref urllib \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -@@ -1473,7 +1472,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ - test/test_asyncio \ - test/test_email test/test_email/data \ - test/test_json \ -- sqlite3/test \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1490,6 +1488,11 @@ TESTSUBDIRS += lib2to3/tests \ - lib2to3/tests/data/fixers/myfixes - endif - -+ifeq (@SQLITE3@,yes) -+LIBSUBDIRS += sqlite3 -+TESTSUBDIRS += sqlite3/test -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -diff --git a/configure.ac b/configure.ac -index f1f5e9a7b0..8b5c65974c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3329,6 +3329,15 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_getcpuclockid) - fi - -+AC_SUBST(SQLITE3) -+AC_ARG_ENABLE(sqlite3, -+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), -+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) -+ -+if test "$SQLITE3" = "no" ; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.25.1 - diff --git a/package/python3/0017-Add-an-option-to-disable-expat.patch b/package/python3/0017-Add-an-option-to-disable-expat.patch new file mode 100644 index 00000000000..83c89e1f68a --- /dev/null +++ b/package/python3/0017-Add-an-option-to-disable-expat.patch @@ -0,0 +1,93 @@ +From 7e0e7dc25f50acd6922493ae620ee5cbf107a79a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:40:45 -0800 +Subject: [PATCH] Add an option to disable expat + +This patch replaces the existing --with-system-expat option with a +--with-expat={system,builtin,none} option, which allows to tell Python +whether we want to use the system expat (already installed), the expat +builtin the Python sources, or no expat at all (which disables the +installation of XML modules). + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett +--- + Makefile.pre.in | 5 ++++- + configure.ac | 18 +++++++++++++----- + setup.py | 2 +- + 3 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index f89f155..08c5e8a 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1450,7 +1450,6 @@ LIBSUBDIRS= asyncio \ + urllib \ + venv venv/scripts venv/scripts/common venv/scripts/posix \ + wsgiref \ +- $(XMLLIBSUBDIRS) \ + xmlrpc \ + zoneinfo + TESTSUBDIRS= ctypes/test \ +@@ -1549,6 +1548,10 @@ ifeq (@CURSES@,yes) + LIBSUBDIRS += curses + endif + ++ifeq (@EXPAT@,yes) ++LIBSUBDIRS += $(XMLLIBSUBDIRS) ++endif ++ + TEST_MODULES=@TEST_MODULES@ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ +diff --git a/configure.ac b/configure.ac +index 4f1cda5..e99a174 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3094,13 +3094,21 @@ PKG_PROG_PKG_CONFIG + AC_SUBST(DISABLED_EXTENSIONS) + + # Check for use of the system expat library +-AC_MSG_CHECKING(for --with-system-expat) +-AC_ARG_WITH(system_expat, +- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]), ++AC_MSG_CHECKING(for --with-expat) ++AC_ARG_WITH(expat, ++ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), + [], +- [with_system_expat="no"]) ++ [with_expat="builtin"]) + +-AC_MSG_RESULT($with_system_expat) ++AC_MSG_RESULT($with_expat) ++ ++if test "$with_expat" != "none"; then ++ EXPAT=yes ++else ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" ++ EXPAT=no ++fi ++AC_SUBST(EXPAT) + + # Check for use of the system libffi library + AC_MSG_CHECKING(for --with-system-ffi) +diff --git a/setup.py b/setup.py +index 663fd44..e30ed52 100644 +--- a/setup.py ++++ b/setup.py +@@ -1764,7 +1764,7 @@ class PyBuildExt(build_ext): + # + # More information on Expat can be found at www.libexpat.org. + # +- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): ++ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): + expat_inc = [] + define_macros = [] + extra_compile_args = [] +-- +2.30.2 + diff --git a/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch deleted file mode 100644 index 132fd17386b..00000000000 --- a/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch +++ /dev/null @@ -1,73 +0,0 @@ -From ad6b66b34f71ff6b60b3be5f6fd3e781cdeecd59 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 22 Feb 2017 17:23:42 -0800 -Subject: [PATCH] Add an option to disable the tk module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Makefile.pre.in | 11 ++++++++--- - configure.ac | 9 +++++++++ - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index d826d8ac4b..dc84384680 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1390,7 +1390,7 @@ maninstall: altmaninstall - # Install the library - XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax - --LIBSUBDIRS= tkinter site-packages \ -+LIBSUBDIRS= site-packages \ - asyncio \ - collections concurrent concurrent/futures encodings \ - email email/mime \ -@@ -1408,8 +1408,7 @@ LIBSUBDIRS= tkinter site-packages \ - curses \ - zoneinfo - --TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ -- tkinter/test/test_ttk test \ -+TESTSUBDIRS= test \ - test/audiodata \ - test/capath test/data \ - test/cjkencodings test/decimaltestdata \ -@@ -1480,6 +1479,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ - test/test_tools test/test_warnings test/test_warnings/data \ - unittest/test unittest/test/testmock - -+ifeq (@TK@,yes) -+LIBSUBDIRS += tkinter -+TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ -+ tkinter/test/test_ttk -+endif -+ - ifeq (@LIB2TO3@,yes) - LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 - TESTSUBDIRS += lib2to3/tests \ -diff --git a/configure.ac b/configure.ac -index 8b5c65974c..4c72dae960 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3338,6 +3338,15 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_SUBST(TK) -+AC_ARG_ENABLE(tk, -+ AS_HELP_STRING([--disable-tk], [disable tk]), -+ [ TK="${enableval}" ], [ TK=yes ]) -+ -+if test "$TK" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.25.1 - diff --git a/package/python3/0018-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0018-Add-an-option-to-disable-CJK-codecs.patch new file mode 100644 index 00000000000..2afcf4526d1 --- /dev/null +++ b/package/python3/0018-Add-an-option-to-disable-CJK-codecs.patch @@ -0,0 +1,30 @@ +From 2c0d31bb91fc7f94283c3ab632925fbbe24e94d6 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:49:55 +0100 +Subject: [PATCH] Add an option to disable CJK codecs + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 9ef0ecd42f..18e6fd70a0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3390,6 +3390,12 @@ if test "$SQLITE3" = "no" ; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" + fi + ++AC_ARG_ENABLE(codecs-cjk, ++ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.25.1 + diff --git a/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch deleted file mode 100644 index d51267bbf0b..00000000000 --- a/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 962deb43f5f340a8472d432ae8e6d61186f9040e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 22 Feb 2017 17:31:51 -0800 -Subject: [PATCH] Add an option to disable the curses module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Makefile.pre.in | 5 ++++- - configure.ac | 9 +++++++++ - 2 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index dc84384680..2a82f3308f 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1405,7 +1405,6 @@ LIBSUBDIRS= site-packages \ - multiprocessing multiprocessing/dummy \ - unittest \ - venv venv/scripts venv/scripts/common venv/scripts/posix \ -- curses \ - zoneinfo - - TESTSUBDIRS= test \ -@@ -1485,6 +1484,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ - tkinter/test/test_ttk - endif - -+ifeq (@CURSES@,yes) -+LIBSUBDIRS += curses -+endif -+ - ifeq (@LIB2TO3@,yes) - LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 - TESTSUBDIRS += lib2to3/tests \ -diff --git a/configure.ac b/configure.ac -index 4c72dae960..acd98381a3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3347,6 +3347,15 @@ if test "$TK" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" - fi - -+AC_SUBST(CURSES) -+AC_ARG_ENABLE(curses, -+ AS_HELP_STRING([--disable-curses], [disable curses]), -+ [ CURSES="${enableval}" ], [ CURSES=yes ]) -+ -+if test "$CURSES" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.25.1 - diff --git a/package/python3/0019-Add-an-option-to-disable-NIS.patch b/package/python3/0019-Add-an-option-to-disable-NIS.patch new file mode 100644 index 00000000000..d8fe3616c08 --- /dev/null +++ b/package/python3/0019-Add-an-option-to-disable-NIS.patch @@ -0,0 +1,33 @@ +From 2041d0c8dba87991edaf088b16e37b5189a3466d Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:50:11 +0100 +Subject: [PATCH] Add an option to disable NIS + +NIS is not necessarily available in uClibc, so we need an option to +not compile support for it. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 18e6fd70a0..46d2a8131e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3396,6 +3396,12 @@ AC_ARG_ENABLE(codecs-cjk, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" + fi]) + ++AC_ARG_ENABLE(nis, ++ AS_HELP_STRING([--disable-nis], [disable NIS]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.25.1 + diff --git a/package/python3/0019-Add-an-option-to-disable-expat.patch b/package/python3/0019-Add-an-option-to-disable-expat.patch deleted file mode 100644 index af6e1ebcc17..00000000000 --- a/package/python3/0019-Add-an-option-to-disable-expat.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 7e0e7dc25f50acd6922493ae620ee5cbf107a79a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 22 Feb 2017 17:40:45 -0800 -Subject: [PATCH] Add an option to disable expat - -This patch replaces the existing --with-system-expat option with a ---with-expat={system,builtin,none} option, which allows to tell Python -whether we want to use the system expat (already installed), the expat -builtin the Python sources, or no expat at all (which disables the -installation of XML modules). - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Makefile.pre.in | 6 +++++- - configure.ac | 18 +++++++++++++----- - setup.py | 2 +- - 3 files changed, 19 insertions(+), 7 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2a82f3308f..e678c8817e 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1399,7 +1399,7 @@ LIBSUBDIRS= site-packages \ - logging csv wsgiref urllib \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -- distutils distutils/command $(XMLLIBSUBDIRS) \ -+ distutils distutils/command \ - importlib \ - turtledemo \ - multiprocessing multiprocessing/dummy \ -@@ -1488,6 +1488,10 @@ ifeq (@CURSES@,yes) - LIBSUBDIRS += curses - endif - -+ifeq (@EXPAT@,yes) -+LIBSUBDIRS += $(XMLLIBSUBDIRS) -+endif -+ - ifeq (@LIB2TO3@,yes) - LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 - TESTSUBDIRS += lib2to3/tests \ -diff --git a/configure.ac b/configure.ac -index acd98381a3..9ef0ecd42f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3055,13 +3055,21 @@ PKG_PROG_PKG_CONFIG - AC_SUBST(DISABLED_EXTENSIONS) - - # Check for use of the system expat library --AC_MSG_CHECKING(for --with-system-expat) --AC_ARG_WITH(system_expat, -- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]), -+AC_MSG_CHECKING(for --with-expat) -+AC_ARG_WITH(expat, -+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), - [], -- [with_system_expat="no"]) -+ [with_expat="builtin"]) - --AC_MSG_RESULT($with_system_expat) -+AC_MSG_RESULT($with_expat) -+ -+if test "$with_expat" != "none"; then -+ EXPAT=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" -+ EXPAT=no -+fi -+AC_SUBST(EXPAT) - - # Check for use of the system libffi library - AC_MSG_CHECKING(for --with-system-ffi) -diff --git a/setup.py b/setup.py -index 4063d7ffa5..211a160f29 100644 ---- a/setup.py -+++ b/setup.py -@@ -1681,7 +1681,7 @@ class PyBuildExt(build_ext): - # - # More information on Expat can be found at www.libexpat.org. - # -- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): -+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): - expat_inc = [] - define_macros = [] - extra_compile_args = [] --- -2.25.1 - diff --git a/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch deleted file mode 100644 index ede78c9b1e1..00000000000 --- a/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 2c0d31bb91fc7f94283c3ab632925fbbe24e94d6 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:49:55 +0100 -Subject: [PATCH] Add an option to disable CJK codecs - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 9ef0ecd42f..18e6fd70a0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3346,6 +3346,12 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_ARG_ENABLE(codecs-cjk, -+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.25.1 - diff --git a/package/python3/0020-Add-an-option-to-disable-unicodedata.patch b/package/python3/0020-Add-an-option-to-disable-unicodedata.patch new file mode 100644 index 00000000000..3519377b5e8 --- /dev/null +++ b/package/python3/0020-Add-an-option-to-disable-unicodedata.patch @@ -0,0 +1,30 @@ +From dd82a401ff6ba4ba116bf4d520e981a1808ed443 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:50:27 +0100 +Subject: [PATCH] Add an option to disable unicodedata + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 46d2a8131e..5844e3b73f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3402,6 +3402,12 @@ AC_ARG_ENABLE(nis, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" + fi]) + ++AC_ARG_ENABLE(unicodedata, ++ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.25.1 + diff --git a/package/python3/0021-Add-an-option-to-disable-IDLE.patch b/package/python3/0021-Add-an-option-to-disable-IDLE.patch new file mode 100644 index 00000000000..f09037f7db0 --- /dev/null +++ b/package/python3/0021-Add-an-option-to-disable-IDLE.patch @@ -0,0 +1,92 @@ +From f1b15834045d0641c43014b970721df066fa71f7 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Wed, 22 Feb 2017 17:45:14 -0800 +Subject: [PATCH] Add an option to disable IDLE + +IDLE is an IDE embedded into python, written using Tk, so it doesn't make +much sense to have it into our build. + +Signed-off-by: Maxime Ripard +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett +--- + Makefile.pre.in | 7 ++++++- + configure.ac | 6 ++++++ + setup.py | 5 ++++- + 3 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 08c5e8a..461c5e3 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1389,7 +1389,9 @@ bininstall: altbininstall + -rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc + (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc) + -rm -f $(DESTDIR)$(BINDIR)/idle3 ++ifeq (@IDLE@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) ++endif + -rm -f $(DESTDIR)$(BINDIR)/pydoc3 + ifeq (@PYDOC@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) +@@ -1439,7 +1441,6 @@ LIBSUBDIRS= asyncio \ + ensurepip ensurepip/_bundled \ + html \ + http \ +- idlelib idlelib/Icons \ + importlib importlib/metadata \ + json \ + logging \ +@@ -1552,6 +1553,10 @@ ifeq (@EXPAT@,yes) + LIBSUBDIRS += $(XMLLIBSUBDIRS) + endif + ++ifeq (@IDLE@,yes) ++LIBSUBDIRS += idlelib idlelib/Icons ++endif ++ + TEST_MODULES=@TEST_MODULES@ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ +diff --git a/configure.ac b/configure.ac +index e99a174..baaa743 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -6073,6 +6073,12 @@ AC_ARG_ENABLE(lib2to3, + AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), + [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) + ++AC_SUBST(IDLE) ++ ++AC_ARG_ENABLE(idle3, ++ AS_HELP_STRING([--disable-idle3], [disable idle3 IDE]), ++ [ IDLE="${enableval}" ], [ IDLE=yes ]) ++ + # generate output files + AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) + AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) +diff --git a/setup.py b/setup.py +index e30ed52..4dff249 100644 +--- a/setup.py ++++ b/setup.py +@@ -2722,11 +2722,14 @@ def main(): + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) + +- scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] ++ scripts = [ 'Lib/smtpd.py'] + if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/pydoc3' ] + if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/2to3' ] ++ if not '--disable-idle3' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/idle3' ] ++ + setup(# PyPI Metadata (PEP 301) + name = "Python", + version = sys.version.split()[0], +-- +2.30.2 + diff --git a/package/python3/0021-Add-an-option-to-disable-NIS.patch b/package/python3/0021-Add-an-option-to-disable-NIS.patch deleted file mode 100644 index b2668c6eb22..00000000000 --- a/package/python3/0021-Add-an-option-to-disable-NIS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2041d0c8dba87991edaf088b16e37b5189a3466d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:50:11 +0100 -Subject: [PATCH] Add an option to disable NIS - -NIS is not necessarily available in uClibc, so we need an option to -not compile support for it. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 18e6fd70a0..46d2a8131e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3352,6 +3352,12 @@ AC_ARG_ENABLE(codecs-cjk, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" - fi]) - -+AC_ARG_ENABLE(nis, -+ AS_HELP_STRING([--disable-nis], [disable NIS]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.25.1 - diff --git a/package/python3/0022-Add-an-option-to-disable-decimal.patch b/package/python3/0022-Add-an-option-to-disable-decimal.patch new file mode 100644 index 00000000000..fd1887d603f --- /dev/null +++ b/package/python3/0022-Add-an-option-to-disable-decimal.patch @@ -0,0 +1,66 @@ +From d5fe81cbd51da2a84ed89d1e4c80d921d4efce26 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:51:31 +0100 +Subject: [PATCH] Add an option to disable decimal + +This patch replaces the existing --with-system-libmpdec option with a +--with-libmpdec={system,builtin,none} option, which allows to tell +Python whether we want to use the system libmpdec (already installed), +the libmpdec builtin the Python sources, or no libmpdec at all. + +Signed-off-by: Thomas Petazzoni +[aduskett@gmail.com: Update for python 3.7.0] +Signed-off-by: Adam Duskett +[james.hilliard1@gmail.com: adapt to python 3.9] +Signed-off-by: James Hilliard +--- + configure.ac | 17 ++++++++++++----- + setup.py | 2 +- + 2 files changed, 13 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7bd4623ccd..e513ef6a20 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3145,13 +3145,20 @@ fi + AC_SUBST(LIBFFI_INCLUDEDIR) + + # Check for use of the system libmpdec library +-AC_MSG_CHECKING(for --with-system-libmpdec) +-AC_ARG_WITH(system_libmpdec, +- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library, see Doc/library/decimal.rst (default is no)]), ++AC_MSG_CHECKING(for --with-libmpdec) ++AC_ARG_WITH(libmpdec, ++ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]), + [], +- [with_system_libmpdec="no"]) ++ [with_libmpdec="builtin"]) + +-AC_MSG_RESULT($with_system_libmpdec) ++AC_MSG_RESULT($with_libmpdec) ++if test "$with_libmpdec" != "none"; then ++ MPDEC=yes ++else ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _decimal" ++ MPDEC=no ++fi ++AC_SUBST(MPDEC) + + # Check whether _decimal should use a coroutine-local or thread-local context + AC_MSG_CHECKING(for --with-decimal-contextvar) +diff --git a/setup.py b/setup.py +index c4ee989ba3..3d0c74bb7f 100644 +--- a/setup.py ++++ b/setup.py +@@ -2321,7 +2321,7 @@ class PyBuildExt(build_ext): + # Stefan Krah's _decimal module + extra_compile_args = [] + undef_macros = [] +- if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): ++ if '--with-libmpdec=system' in sysconfig.get_config_var("CONFIG_ARGS"): + include_dirs = [] + libraries = ['mpdec'] + sources = ['_decimal/_decimal.c'] +-- +2.25.1 + diff --git a/package/python3/0022-Add-an-option-to-disable-unicodedata.patch b/package/python3/0022-Add-an-option-to-disable-unicodedata.patch deleted file mode 100644 index 7a0157fd71d..00000000000 --- a/package/python3/0022-Add-an-option-to-disable-unicodedata.patch +++ /dev/null @@ -1,30 +0,0 @@ -From dd82a401ff6ba4ba116bf4d520e981a1808ed443 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:50:27 +0100 -Subject: [PATCH] Add an option to disable unicodedata - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 46d2a8131e..5844e3b73f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3358,6 +3358,12 @@ AC_ARG_ENABLE(nis, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(unicodedata, -+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.25.1 - diff --git a/package/python3/0023-Add-an-option-to-disable-IDLE.patch b/package/python3/0023-Add-an-option-to-disable-IDLE.patch deleted file mode 100644 index 0611e3a3479..00000000000 --- a/package/python3/0023-Add-an-option-to-disable-IDLE.patch +++ /dev/null @@ -1,89 +0,0 @@ -From f1b15834045d0641c43014b970721df066fa71f7 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard -Date: Wed, 22 Feb 2017 17:45:14 -0800 -Subject: [PATCH] Add an option to disable IDLE - -IDLE is an IDE embedded into python, written using Tk, so it doesn't make -much sense to have it into our build. - -Signed-off-by: Maxime Ripard -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov ---- - Makefile.pre.in | 7 ++++++- - configure.ac | 6 ++++++ - setup.py | 4 +++- - 3 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index e678c8817e..1148bd8708 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1355,7 +1355,9 @@ bininstall: altbininstall - -rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc - (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc) - -rm -f $(DESTDIR)$(BINDIR)/idle3 -+ifeq (@IDLE@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) -+endif - -rm -f $(DESTDIR)$(BINDIR)/pydoc3 - ifeq (@PYDOC@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -@@ -1398,7 +1400,6 @@ LIBSUBDIRS= site-packages \ - html json http dbm xmlrpc \ - logging csv wsgiref urllib \ - ctypes ctypes/macholib \ -- idlelib idlelib/Icons \ - distutils distutils/command \ - importlib \ - turtledemo \ -@@ -1492,6 +1493,10 @@ ifeq (@EXPAT@,yes) - LIBSUBDIRS += $(XMLLIBSUBDIRS) - endif - -+ifeq (@IDLE@,yes) -+LIBSUBDIRS += idlelib idlelib/Icons -+endif -+ - ifeq (@LIB2TO3@,yes) - LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 - TESTSUBDIRS += lib2to3/tests \ -diff --git a/configure.ac b/configure.ac -index 5844e3b73f..7bd4623ccd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3400,6 +3400,12 @@ AC_ARG_ENABLE(lib2to3, - AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), - [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) - -+AC_SUBST(IDLE) -+ -+AC_ARG_ENABLE(idle3, -+ AS_HELP_STRING([--disable-idle3], [disable idle3 IDE]), -+ [ IDLE="${enableval}" ], [ IDLE=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) -diff --git a/setup.py b/setup.py -index 211a160f29..c4ee989ba3 100644 ---- a/setup.py -+++ b/setup.py -@@ -2587,11 +2587,13 @@ def main(): - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] -+ scripts = [ 'Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc3' ] - if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/2to3' ] -+ if not '--disable-idle3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/idle3' ] - - setup(# PyPI Metadata (PEP 301) - name = "Python", --- -2.25.1 - diff --git a/package/python3/0023-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0023-Add-an-option-to-disable-the-ossaudiodev-module.patch new file mode 100644 index 00000000000..0459b5a14da --- /dev/null +++ b/package/python3/0023-Add-an-option-to-disable-the-ossaudiodev-module.patch @@ -0,0 +1,30 @@ +From 9bedc56d2a4b8856162650a11c1fcb6ec38f160b Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:51:58 +0100 +Subject: [PATCH] Add an option to disable the ossaudiodev module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index e513ef6a20..c07505e89e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3175,6 +3175,12 @@ fi + + AC_MSG_RESULT($with_decimal_contextvar) + ++AC_ARG_ENABLE(ossaudiodev, ++ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" ++ fi]) ++ + # Check for support for loadable sqlite extensions + AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) + AC_ARG_ENABLE(loadable-sqlite-extensions, +-- +2.25.1 + diff --git a/package/python3/0024-Add-an-option-to-disable-decimal.patch b/package/python3/0024-Add-an-option-to-disable-decimal.patch deleted file mode 100644 index 438b76b91f8..00000000000 --- a/package/python3/0024-Add-an-option-to-disable-decimal.patch +++ /dev/null @@ -1,66 +0,0 @@ -From d5fe81cbd51da2a84ed89d1e4c80d921d4efce26 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:51:31 +0100 -Subject: [PATCH] Add an option to disable decimal - -This patch replaces the existing --with-system-libmpdec option with a ---with-libmpdec={system,builtin,none} option, which allows to tell -Python whether we want to use the system libmpdec (already installed), -the libmpdec builtin the Python sources, or no libmpdec at all. - -Signed-off-by: Thomas Petazzoni -[aduskett@gmail.com: Update for python 3.7.0] -Signed-off-by: Adam Duskett -[james.hilliard1@gmail.com: adapt to python 3.9] -Signed-off-by: James Hilliard ---- - configure.ac | 17 ++++++++++++----- - setup.py | 2 +- - 2 files changed, 13 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 7bd4623ccd..e513ef6a20 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3106,13 +3106,20 @@ fi - AC_SUBST(LIBFFI_INCLUDEDIR) - - # Check for use of the system libmpdec library --AC_MSG_CHECKING(for --with-system-libmpdec) --AC_ARG_WITH(system_libmpdec, -- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library, see Doc/library/decimal.rst (default is no)]), -+AC_MSG_CHECKING(for --with-libmpdec) -+AC_ARG_WITH(libmpdec, -+ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]), - [], -- [with_system_libmpdec="no"]) -+ [with_libmpdec="builtin"]) - --AC_MSG_RESULT($with_system_libmpdec) -+AC_MSG_RESULT($with_libmpdec) -+if test "$with_libmpdec" != "none"; then -+ MPDEC=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _decimal" -+ MPDEC=no -+fi -+AC_SUBST(MPDEC) - - # Check whether _decimal should use a coroutine-local or thread-local context - AC_MSG_CHECKING(for --with-decimal-contextvar) -diff --git a/setup.py b/setup.py -index c4ee989ba3..3d0c74bb7f 100644 ---- a/setup.py -+++ b/setup.py -@@ -2221,7 +2221,7 @@ class PyBuildExt(build_ext): - # Stefan Krah's _decimal module - extra_compile_args = [] - undef_macros = [] -- if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): -+ if '--with-libmpdec=system' in sysconfig.get_config_var("CONFIG_ARGS"): - include_dirs = [] - libraries = [':libmpdec.so.2'] - sources = ['_decimal/_decimal.c'] --- -2.25.1 - diff --git a/package/python3/0024-Add-an-option-to-disable-openssl-support.patch b/package/python3/0024-Add-an-option-to-disable-openssl-support.patch new file mode 100644 index 00000000000..4801a273002 --- /dev/null +++ b/package/python3/0024-Add-an-option-to-disable-openssl-support.patch @@ -0,0 +1,30 @@ +From 90ed5c692b8b5596ca0b3ae1436276c8181251d8 Mon Sep 17 00:00:00 2001 +From: Nicolas Cavallari +Date: Wed, 22 Feb 2017 17:55:59 -0800 +Subject: [PATCH] Add an option to disable openssl support. + +Signed-off-by: Nicolas Cavallari +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 08c148c..a81a24c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3421,6 +3421,12 @@ AC_ARG_ENABLE(unicodedata, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" + fi]) + ++AC_ARG_ENABLE(openssl, ++ AS_HELP_STRING([--disable-openssl], [disable openssl support]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.30.2 + diff --git a/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch deleted file mode 100644 index 8a792c1fac5..00000000000 --- a/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9bedc56d2a4b8856162650a11c1fcb6ec38f160b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:51:58 +0100 -Subject: [PATCH] Add an option to disable the ossaudiodev module - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index e513ef6a20..c07505e89e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3136,6 +3136,12 @@ fi - - AC_MSG_RESULT($with_decimal_contextvar) - -+AC_ARG_ENABLE(ossaudiodev, -+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" -+ fi]) -+ - # Check for support for loadable sqlite extensions - AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) - AC_ARG_ENABLE(loadable-sqlite-extensions, --- -2.25.1 - diff --git a/package/python3/0025-Add-an-option-to-disable-the-readline-module.patch b/package/python3/0025-Add-an-option-to-disable-the-readline-module.patch new file mode 100644 index 00000000000..adb04d69ead --- /dev/null +++ b/package/python3/0025-Add-an-option-to-disable-the-readline-module.patch @@ -0,0 +1,30 @@ +From 049e7a51e1ffd0d28d6608c707ab4b54e816d338 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 23:29:05 +0100 +Subject: [PATCH] Add an option to disable the readline module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index a81a24c..41a21ff 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3427,6 +3427,12 @@ AC_ARG_ENABLE(openssl, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" + fi]) + ++AC_ARG_ENABLE(readline, ++ AS_HELP_STRING([--disable-readline], [disable readline]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.30.2 + diff --git a/package/python3/0026-Add-an-option-to-disable-openssl-support.patch b/package/python3/0026-Add-an-option-to-disable-openssl-support.patch deleted file mode 100644 index d9e9d13f310..00000000000 --- a/package/python3/0026-Add-an-option-to-disable-openssl-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 90ed5c692b8b5596ca0b3ae1436276c8181251d8 Mon Sep 17 00:00:00 2001 -From: Nicolas Cavallari -Date: Wed, 22 Feb 2017 17:55:59 -0800 -Subject: [PATCH] Add an option to disable openssl support. - -Signed-off-by: Nicolas Cavallari ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index c07505e89e..612e32faf5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3377,6 +3377,12 @@ AC_ARG_ENABLE(unicodedata, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" - fi]) - -+AC_ARG_ENABLE(openssl, -+ AS_HELP_STRING([--disable-openssl], [disable openssl support]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.25.1 - diff --git a/package/python3/0026-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/package/python3/0026-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch new file mode 100644 index 00000000000..d466bc3a763 --- /dev/null +++ b/package/python3/0026-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch @@ -0,0 +1,42 @@ +From 146730a04dfe98e3d7971ebf5410801ceae88e11 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 23:31:11 +0100 +Subject: [PATCH] Add options to disable zlib, bzip2 and xz modules + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 41a21ff..fa81bc7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3433,6 +3433,24 @@ AC_ARG_ENABLE(readline, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" + fi]) + ++AC_ARG_ENABLE(bzip2, ++ AS_HELP_STRING([--disable-bzip2], [disable bzip2]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bz2" ++ fi]) ++ ++AC_ARG_ENABLE(zlib, ++ AS_HELP_STRING([--disable-zlib], [disable zlib]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" ++ fi]) ++ ++AC_ARG_ENABLE(xz, ++ AS_HELP_STRING([--disable-xz], [disable xz]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _lzma" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.30.2 + diff --git a/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch b/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch deleted file mode 100644 index 2324ffdcf2d..00000000000 --- a/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 049e7a51e1ffd0d28d6608c707ab4b54e816d338 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 23:29:05 +0100 -Subject: [PATCH] Add an option to disable the readline module - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 612e32faf5..2a6aaeff60 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3383,6 +3383,12 @@ AC_ARG_ENABLE(openssl, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" - fi]) - -+AC_ARG_ENABLE(readline, -+ AS_HELP_STRING([--disable-readline], [disable readline]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.25.1 - diff --git a/package/python3/0027-python-config.sh-don-t-reassign-prefix.patch b/package/python3/0027-python-config.sh-don-t-reassign-prefix.patch new file mode 100644 index 00000000000..814a9d42e50 --- /dev/null +++ b/package/python3/0027-python-config.sh-don-t-reassign-prefix.patch @@ -0,0 +1,53 @@ +From 106d9378c61e7fa9cad0a63ba068668d54cd11b8 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Fri, 6 Oct 2017 09:54:15 -0500 +Subject: [PATCH] python-config.sh: don't reassign ${prefix} + +When prefix is set to a path like /usr during crossbuild +the sed operations end up executing twice, once for the prefix +reassignment and another for includedir if it is set as a string +including the ${prefix} variable. This results in an issue +when the build directory is under /usr. + +This patch updates the remaining location which uses the prefix +variable to also sed and update to use the real path. + +Upstream bug report: +https://bugs.python.org/issue31713 + +Buildroot bug: +https://bugs.busybox.net/show_bug.cgi?id=10361 + +Fixes failures like the following: +dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b6273c1b470513f5492258a6d8853 + +Signed-off-by: Matthew Weber +--- + Misc/python-config.sh.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in +index a1bc3cd..164d2d3 100644 +--- a/Misc/python-config.sh.in ++++ b/Misc/python-config.sh.in +@@ -31,7 +31,7 @@ prefix_real=$(installed_prefix "$0") + # locations. Keep prefix & exec_prefix using their original values in case + # they are referenced in other configure variables, to prevent double + # substitution, issue #22140. +-prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#") ++prefix=$prefix_build + exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") + exec_prefix_real=${prefix_real} + includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") +@@ -49,7 +49,7 @@ LDLIBRARY="@LDLIBRARY@" + OPT="@OPT@" + PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" + LDVERSION="@LDVERSION@" +-LIBDEST=${prefix_real}/lib/python${VERSION} ++LIBDEST=$( echo "${prefix}/lib/python${VERSION}" | sed "s#^$prefix_build#$prefix_real#") + LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") + SO="@EXT_SUFFIX@" + PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" +-- +2.30.2 + diff --git a/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch deleted file mode 100644 index 04d0ab31bf9..00000000000 --- a/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 146730a04dfe98e3d7971ebf5410801ceae88e11 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 7 Mar 2017 23:31:11 +0100 -Subject: [PATCH] Add options to disable zlib, bzip2 and xz modules - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 2a6aaeff60..21479bbd7d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3389,6 +3389,24 @@ AC_ARG_ENABLE(readline, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" - fi]) - -+AC_ARG_ENABLE(bzip2, -+ AS_HELP_STRING([--disable-bzip2], [disable bzip2]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bz2" -+ fi]) -+ -+AC_ARG_ENABLE(zlib, -+ AS_HELP_STRING([--disable-zlib], [disable zlib]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" -+ fi]) -+ -+AC_ARG_ENABLE(xz, -+ AS_HELP_STRING([--disable-xz], [disable xz]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _lzma" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.25.1 - diff --git a/package/python3/0028-Fix-cross-compiling-the-uuid-module.patch b/package/python3/0028-Fix-cross-compiling-the-uuid-module.patch new file mode 100644 index 00000000000..d19aedb6c10 --- /dev/null +++ b/package/python3/0028-Fix-cross-compiling-the-uuid-module.patch @@ -0,0 +1,43 @@ +From d7b90b157eddefbd0ed59e35c90b083c0c03b644 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Fri, 20 Jul 2018 10:17:39 -0400 +Subject: [PATCH] Fix cross compiling the uuid module + +Python 3.7 has a new _uuid module, however, the include directory +search path for uuid.h is hardcoded to /usr/include/uuid, which should +not be used when cross-compiling. + +To fix this, use the same solution as the one used by the NIS +detection: append "uuid" to each of the include directories in +"inc_dirs", instead of hardcoding /usr/include/uuid. + +Signed-off-by: Adam Duskett +[Thomas: drop STAGING_DIR based solution, use a solution similar to +the one used for the NIS detection.] +Signed-off-by: Thomas Petazzoni +--- + setup.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 3d0c74bb7f..c7be85f352 100644 +--- a/setup.py ++++ b/setup.py +@@ -1866,10 +1866,10 @@ class PyBuildExt(build_ext): + + def detect_uuid(self): + # Build the _uuid module if possible +- uuid_h = sysconfig.get_config_var("HAVE_UUID_H") +- uuid_uuid_h = sysconfig.get_config_var("HAVE_UUID_UUID_H") +- if uuid_h or uuid_uuid_h: +- if sysconfig.get_config_var("HAVE_LIBUUID"): ++ uuid_h = find_file("uuid.h", self.inc_dirs, ++ [os.path.join(inc_dir, 'uuid') for inc_dir in self.inc_dirs]) ++ if uuid_h is not None: ++ if self.compiler.find_library_file(self.lib_dirs, 'uuid'): + uuid_libs = ["uuid"] + else: + uuid_libs = [] +-- +2.25.1 + diff --git a/package/python3/0029-Add-an-option-to-disable-uuid-module.patch b/package/python3/0029-Add-an-option-to-disable-uuid-module.patch new file mode 100644 index 00000000000..fc4b64dc64d --- /dev/null +++ b/package/python3/0029-Add-an-option-to-disable-uuid-module.patch @@ -0,0 +1,33 @@ +From 3bb693408eda77dda145ec5fecee56ea73031e9f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 18 Aug 2018 10:54:56 +0200 +Subject: [PATCH] Add an option to disable uuid module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/configure.ac b/configure.ac +index fa81bc7..4e733f6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3469,6 +3469,15 @@ if test "$CURSES" = "no"; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" + fi + ++AC_SUBST(UUID) ++AC_ARG_ENABLE(uuid, ++ AS_HELP_STRING([--disable-uuid], [disable uuid]), ++ [ UUID="${enableval}" ], [ UUID=yes ]) ++ ++if test "$UUID" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.30.2 + diff --git a/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch b/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch deleted file mode 100644 index 4478b401624..00000000000 --- a/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 106d9378c61e7fa9cad0a63ba068668d54cd11b8 Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Fri, 6 Oct 2017 09:54:15 -0500 -Subject: [PATCH] python-config.sh: don't reassign ${prefix} - -When prefix is set to a path like /usr during crossbuild -the sed operations end up executing twice, once for the prefix -reassignment and another for includedir if it is set as a string -including the ${prefix} variable. This results in an issue -when the build directory is under /usr. - -This patch updates the remaining location which uses the prefix -variable to also sed and update to use the real path. - -Upstream bug report: -https://bugs.python.org/issue31713 - -Buildroot bug: -https://bugs.busybox.net/show_bug.cgi?id=10361 - -Fixes failures like the following: -dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b6273c1b470513f5492258a6d8853 - -Signed-off-by: Matthew Weber ---- - Misc/python-config.sh.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in -index a1bc3cd5f7..164d2d3603 100644 ---- a/Misc/python-config.sh.in -+++ b/Misc/python-config.sh.in -@@ -31,7 +31,7 @@ prefix_real=$(installed_prefix "$0") - # locations. Keep prefix & exec_prefix using their original values in case - # they are referenced in other configure variables, to prevent double - # substitution, issue #22140. --prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#") -+prefix=$prefix_build - exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") - exec_prefix_real=${prefix_real} - includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") -@@ -49,7 +49,7 @@ LDLIBRARY="@LDLIBRARY@" - OPT="@OPT@" - PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" - LDVERSION="@LDVERSION@" --LIBDEST=${prefix_real}/lib/python${VERSION} -+LIBDEST=$( echo "${prefix}/lib/python${VERSION}" | sed "s#^$prefix_build#$prefix_real#") - LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") - SO="@EXT_SUFFIX@" - PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" --- -2.25.1 - diff --git a/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch b/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch deleted file mode 100644 index 806801b2b90..00000000000 --- a/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d7b90b157eddefbd0ed59e35c90b083c0c03b644 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Fri, 20 Jul 2018 10:17:39 -0400 -Subject: [PATCH] Fix cross compiling the uuid module - -Python 3.7 has a new _uuid module, however, the include directory -search path for uuid.h is hardcoded to /usr/include/uuid, which should -not be used when cross-compiling. - -To fix this, use the same solution as the one used by the NIS -detection: append "uuid" to each of the include directories in -"inc_dirs", instead of hardcoding /usr/include/uuid. - -Signed-off-by: Adam Duskett -[Thomas: drop STAGING_DIR based solution, use a solution similar to -the one used for the NIS detection.] -Signed-off-by: Thomas Petazzoni ---- - setup.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 3d0c74bb7f..c7be85f352 100644 ---- a/setup.py -+++ b/setup.py -@@ -1779,7 +1779,8 @@ class PyBuildExt(build_ext): - - def detect_uuid(self): - # Build the _uuid module if possible -- uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid"]) -+ uuid_incs = find_file("uuid.h", self.inc_dirs, -+ [os.path.join(inc_dir, 'uuid') for inc_dir in self.inc_dirs]) - if uuid_incs is not None: - if self.compiler.find_library_file(self.lib_dirs, 'uuid'): - uuid_libs = ['uuid'] --- -2.25.1 - diff --git a/package/python3/0032-fix-building-on-older-distributions.patch b/package/python3/0030-fix-building-on-older-distributions.patch similarity index 100% rename from package/python3/0032-fix-building-on-older-distributions.patch rename to package/python3/0030-fix-building-on-older-distributions.patch diff --git a/package/python3/0031-Add-an-option-to-disable-uuid-module.patch b/package/python3/0031-Add-an-option-to-disable-uuid-module.patch deleted file mode 100644 index 6ea57d2cde0..00000000000 --- a/package/python3/0031-Add-an-option-to-disable-uuid-module.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 3bb693408eda77dda145ec5fecee56ea73031e9f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 18 Aug 2018 10:54:56 +0200 -Subject: [PATCH] Add an option to disable uuid module - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 21479bbd7d..615c16aced 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3425,6 +3425,15 @@ if test "$CURSES" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" - fi - -+AC_SUBST(UUID) -+AC_ARG_ENABLE(uuid, -+ AS_HELP_STRING([--disable-uuid], [disable uuid]), -+ [ UUID="${enableval}" ], [ UUID=yes ]) -+ -+if test "$UUID" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.25.1 - diff --git a/package/python3/0031-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch b/package/python3/0031-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch new file mode 100644 index 00000000000..eff010fa22f --- /dev/null +++ b/package/python3/0031-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch @@ -0,0 +1,51 @@ +From d009b0142f77881dd75ff760fec728dbc8581a03 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Fri, 2 Aug 2019 15:53:16 +0200 +Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for + musl/uclibc GCC 8+ toolchains + +GCC commit 6834b83784dcf0364eb820e8 (multiarch support for non-glibc linux +systems), which is part of GCC 8+, changed the multiarch logic to use +$arch-linux-musl / $arch-linux-uclibc rather than $arch-linux-gnu. + +This then causes the python3 configure script to error out: + +checking for the platform triplet based on compiler characteristics... powerpc-linux-gnu +configure: error: internal configure error for the platform triplet, please file a bug report + +http://autobuild.buildroot.net/results/cb4/cb49c539501342e45cbe5ade82e588fcdf51f05b + +As it requires that the --print-multiarch output (if not empty) matches the +deduced triplet (which always uses -linux-gnu). + +It isn't quite clear why --print-multiarch returns something for a +non-multiarch toolchain on some architectures (E.G. PowerPC), but as a +workaround, rewrite the --print-multiarch output to match older GCC versions +to keep the configure script happy. + +Signed-off-by: Peter Korsgaard +[Peter: updated for 3.10.2] +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 913051c276..aba03f3779 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -876,7 +876,11 @@ AC_MSG_CHECKING([for multiarch]) + AS_CASE([$ac_sys_system], + [Darwin*], [MULTIARCH=""], + [FreeBSD*], [MULTIARCH=""], +- [MULTIARCH=$($CC --print-multiarch 2>/dev/null)] ++ [ ++ # GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based ++ # toolchains confusing python. Fix that up ++ MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/') ++ ] + ) + AC_SUBST([MULTIARCH]) + AC_MSG_RESULT([$MULTIARCH]) +-- +2.20.1 + diff --git a/package/python3/0032-Add-an-option-to-disable-the-berkeleydb-module.patch b/package/python3/0032-Add-an-option-to-disable-the-berkeleydb-module.patch new file mode 100644 index 00000000000..0c0d51a7eb8 --- /dev/null +++ b/package/python3/0032-Add-an-option-to-disable-the-berkeleydb-module.patch @@ -0,0 +1,30 @@ +From cf4d7fd9f7cb6c1ced32ee323b2b5755640051b7 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 11 Apr 2020 22:01:40 +0200 +Subject: [PATCH] Add an option to disable the berkeleydb module + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 4e733f6..1e52f30 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3480,6 +3480,12 @@ if test "$UUID" = "no"; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" + fi + ++AC_ARG_ENABLE(berkeleydb, ++ AS_HELP_STRING([--disable-berkeleydb], [disable berkeleydb]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _dbm" ++ fi]) ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.30.2 + diff --git a/package/python3/0033-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch b/package/python3/0033-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch deleted file mode 100644 index 304a595fce9..00000000000 --- a/package/python3/0033-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch +++ /dev/null @@ -1,48 +0,0 @@ -From edc0757c56090364e0a95aabfa9f645a16a27569 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Fri, 2 Aug 2019 15:53:16 +0200 -Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for - musl/uclibc GCC 8+ toolchains - -GCC commit 6834b83784dcf0364eb820e8 (multiarch support for non-glibc linux -systems), which is part of GCC 8+, changed the multiarch logic to use -$arch-linux-musl / $arch-linux-uclibc rather than $arch-linux-gnu. - -This then causes the python3 configure script to error out: - -checking for the platform triplet based on compiler characteristics... powerpc-linux-gnu -configure: error: internal configure error for the platform triplet, please file a bug report - -http://autobuild.buildroot.net/results/cb4/cb49c539501342e45cbe5ade82e588fcdf51f05b - -As it requires that the --print-multiarch output (if not empty) matches the -deduced triplet (which always uses -linux-gnu). - -It isn't quite clear why --print-multiarch returns something for a -non-multiarch toolchain on some architectures (E.G. PowerPC), but as a -workaround, rewrite the --print-multiarch output to match older GCC versions -to keep the configure script happy. - -Signed-off-by: Peter Korsgaard ---- - configure.ac | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 615c16aced..241298e6cf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -718,7 +718,9 @@ then - fi - - --MULTIARCH=$($CC --print-multiarch 2>/dev/null) -+# GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based -+# toolchains confusing python. Fix that up -+MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/') - AC_SUBST(MULTIARCH) - - AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) --- -2.25.1 - diff --git a/package/python3/0034-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch b/package/python3/0033-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch similarity index 100% rename from package/python3/0034-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch rename to package/python3/0033-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch diff --git a/package/python3/Config.in b/package/python3/Config.in index 3a9dd4b2f42..761c38c850a 100644 --- a/package/python3/Config.in +++ b/package/python3/Config.in @@ -4,7 +4,6 @@ comment "python3 needs a toolchain w/ wchar, threads, dynamic library" config BR2_PACKAGE_PYTHON3 bool "python3" - depends on !BR2_PACKAGE_PYTHON depends on BR2_USE_WCHAR # uses fork() depends on BR2_USE_MMU @@ -46,6 +45,12 @@ config BR2_PACKAGE_PYTHON3_2TO3 help code translation from python 2 to 3 +config BR2_PACKAGE_PYTHON3_BERKELEYDB + bool "berkeleydb" + select BR2_PACKAGE_BERKELEYDB + help + berkeleydb module for Python3 + config BR2_PACKAGE_PYTHON3_BZIP2 bool "bz2 module" select BR2_PACKAGE_BZIP2 @@ -84,6 +89,8 @@ config BR2_PACKAGE_PYTHON3_READLINE config BR2_PACKAGE_PYTHON3_SSL bool "ssl" select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLAKE2 help _ssl module for Python3 (required for https in urllib etc). diff --git a/package/python3/Config.in.host b/package/python3/Config.in.host index 70b5dacdde2..77d608bdc04 100644 --- a/package/python3/Config.in.host +++ b/package/python3/Config.in.host @@ -7,6 +7,11 @@ config BR2_PACKAGE_HOST_PYTHON3 if BR2_PACKAGE_HOST_PYTHON3 +config BR2_PACKAGE_HOST_PYTHON3_BZIP2 + bool "bzip2" + help + bz2 module for host Python3. + config BR2_PACKAGE_HOST_PYTHON3_SSL bool "ssl" select BR2_PACKAGE_HOST_OPENSSL diff --git a/package/python3/python3.hash b/package/python3/python3.hash index 753973721b5..5ae0add7892 100644 --- a/package/python3/python3.hash +++ b/package/python3/python3.hash @@ -1,5 +1,5 @@ -# From https://www.python.org/downloads/release/python-392/ -md5 f0dc9000312abeb16de4eccce9a870ab Python-3.9.2.tar.xz +# From https://www.python.org/downloads/release/python-3104/ +md5 21f2e113e087083a1e8cf10553d93599 Python-3.10.4.tar.xz # Locally computed -sha256 3c2034c54f811448f516668dce09d24008a0716c3a794dd8639b5388cbde247d Python-3.9.2.tar.xz -sha256 599826df92bfdcd2702eac691072498bb096c55af04ee984cf90f70ed77b5a70 LICENSE +sha256 80bf925f571da436b35210886cf79f6eb5fa5d6c571316b73568343451f77a19 Python-3.10.4.tar.xz +sha256 f03e17cd594c2085f66a454e695c7ebe5b4d3c0eff534f4f194abc2fd164621b LICENSE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index def34f46ad6..6d03e2c6b1e 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON3_VERSION_MAJOR = 3.9 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).2 +PYTHON3_VERSION_MAJOR = 3.10 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).4 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) PYTHON3_LICENSE = Python-2.0, others @@ -41,7 +41,13 @@ HOST_PYTHON3_CONF_ENV += \ PYTHON3_DEPENDENCIES = host-python3 libffi -HOST_PYTHON3_DEPENDENCIES = host-expat host-zlib host-libffi +HOST_PYTHON3_DEPENDENCIES = host-autoconf-archive host-expat host-zlib host-libffi + +ifeq ($(BR2_PACKAGE_HOST_PYTHON3_BZIP2),y) +HOST_PYTHON3_DEPENDENCIES += host-bzip2 +else +HOST_PYTHON3_CONF_OPTS += --disable-bzip2 +endif ifeq ($(BR2_PACKAGE_HOST_PYTHON3_SSL),y) HOST_PYTHON3_DEPENDENCIES += host-openssl @@ -57,6 +63,12 @@ else PYTHON3_CONF_OPTS += --disable-lib2to3 endif +ifeq ($(BR2_PACKAGE_PYTHON3_BERKELEYDB),y) +PYTHON3_DEPENDENCIES += berkeleydb +else +PYTHON3_CONF_OPTS += --disable-berkeleydb +endif + ifeq ($(BR2_PACKAGE_PYTHON3_READLINE),y) PYTHON3_DEPENDENCIES += readline else @@ -91,6 +103,7 @@ endif ifeq ($(BR2_PACKAGE_PYTHON3_SSL),y) PYTHON3_DEPENDENCIES += openssl +PYTHON3_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr else PYTHON3_CONF_OPTS += --disable-openssl endif @@ -242,27 +255,20 @@ endef PYTHON3_POST_INSTALL_TARGET_HOOKS += PYTHON3_ENSURE_LIBPYTHON_STRIPPED PYTHON3_AUTORECONF = YES +PYTHON3_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive define PYTHON3_INSTALL_SYMLINK ln -fs python3 $(TARGET_DIR)/usr/bin/python endef -ifneq ($(BR2_PACKAGE_PYTHON),y) PYTHON3_POST_INSTALL_TARGET_HOOKS += PYTHON3_INSTALL_SYMLINK -endif -# Some packages may have build scripts requiring python3, whatever is the -# python version chosen for the target. -# Only install the python symlink in the host tree if python3 is enabled -# for the target. -ifeq ($(BR2_PACKAGE_PYTHON3),y) define HOST_PYTHON3_INSTALL_SYMLINK ln -fs python3 $(HOST_DIR)/bin/python ln -fs python3-config $(HOST_DIR)/bin/python-config endef HOST_PYTHON3_POST_INSTALL_HOOKS += HOST_PYTHON3_INSTALL_SYMLINK -endif # Provided to other packages PYTHON3_PATH = $(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/ diff --git a/package/qdecoder/qdecoder.mk b/package/qdecoder/qdecoder.mk index 12784fc4515..8cb5d3bc972 100644 --- a/package/qdecoder/qdecoder.mk +++ b/package/qdecoder/qdecoder.mk @@ -6,7 +6,7 @@ QDECODER_VERSION = 12.0.8 QDECODER_SITE = $(call github,wolkykim,qdecoder,v$(QDECODER_VERSION)) -QDECODER_LICENSE = BSD-2 +QDECODER_LICENSE = BSD-2-Clause QDECODER_LICENSE_FILES = COPYING QDECODER_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch b/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch new file mode 100644 index 00000000000..9bc8d43d591 --- /dev/null +++ b/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch @@ -0,0 +1,28 @@ +From f82238299d3c4cd23ca60cfc0cf4271f5c860873 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 25 Aug 2021 21:55:53 +0200 +Subject: [PATCH] tests/fp: disable fp-bench build by default + +Fixes: +https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html + +Signed-off-by: Romain Naour +--- + tests/fp/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/fp/meson.build b/tests/fp/meson.build +index 07e2cdc8d2..c96460b7f1 100644 +--- a/tests/fp/meson.build ++++ b/tests/fp/meson.build +@@ -631,6 +631,7 @@ fpbench = executable( + dependencies: [qemuutil], + include_directories: [sfinc, include_directories(tfdir)], + c_args: fpcflags, ++ build_by_default: false, + ) + + fptestlog2 = executable( +-- +2.31.1 + diff --git a/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch b/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch deleted file mode 100644 index 841708995e9..00000000000 --- a/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 923d25365fbdff17fa4c8c2883960be07c3dad56 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 5 May 2017 09:07:15 +0200 -Subject: [PATCH] user-exec: fix usage of mcontext structure on ARM/uClibc - -user-exec.c has some conditional code to decide how to use the -mcontext structure. Unfortunately, since uClibc defines __GLIBC__, but -with old versions of __GLIBC__ and __GLIBC_MINOR__, an old code path -gets used, which doesn't apply to uClibc. - -Fix this by excluding __UCLIBC__, which ensures we fall back to the -general case of using uc_mcontext.arm_pc, which works fine with -uClibc. - -Signed-off-by: Thomas Petazzoni ---- - accel/tcg/user-exec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c -index 4ebe25461a..0496674fbd 100644 ---- a/accel/tcg/user-exec.c -+++ b/accel/tcg/user-exec.c -@@ -536,7 +536,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, - - #if defined(__NetBSD__) - pc = uc->uc_mcontext.__gregs[_REG_R15]; --#elif defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)) -+#elif defined(__GLIBC__) && !defined(__UCLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)) - pc = uc->uc_mcontext.gregs[R15]; - #else - pc = uc->uc_mcontext.arm_pc; --- -2.25.3 - diff --git a/package/qemu/0002-Fix-build-with-64-bits-time_t.patch b/package/qemu/0002-Fix-build-with-64-bits-time_t.patch deleted file mode 100644 index 7a72047136e..00000000000 --- a/package/qemu/0002-Fix-build-with-64-bits-time_t.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 839e51aa452345b440f8d2d0df84ab58bdedfcd1 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 14 Nov 2020 21:54:17 +0100 -Subject: [PATCH] Fix build with 64 bits time_t - -time element is deprecated on new input_event structure in kernel's -input.h [1] - -This will avoid the following build failure: - -hw/input/virtio-input-host.c: In function 'virtio_input_host_handle_status': -hw/input/virtio-input-host.c:198:28: error: 'struct input_event' has no member named 'time' - 198 | if (gettimeofday(&evdev.time, NULL)) { - | ^ - -Fixes: - - http://autobuild.buildroot.org/results/a538167e288c14208d557cd45446df86d3d599d5 - - http://autobuild.buildroot.org/results/efd4474fb4b6c0ce0ab3838ce130429c51e43bbb - -[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f - -Signed-off-by: Fabrice Fontaine ---- - contrib/vhost-user-input/main.c | 10 +++++++++- - hw/input/virtio-input-host.c | 10 +++++++++- - 2 files changed, 18 insertions(+), 2 deletions(-) - -diff --git a/contrib/vhost-user-input/main.c b/contrib/vhost-user-input/main.c -index 6020c6f33a..e688c3e0a9 100644 ---- a/contrib/vhost-user-input/main.c -+++ b/contrib/vhost-user-input/main.c -@@ -17,6 +17,11 @@ - #include "standard-headers/linux/virtio_input.h" - #include "qapi/error.h" - -+#ifndef input_event_sec -+#define input_event_sec time.tv_sec -+#define input_event_usec time.tv_usec -+#endif -+ - enum { - VHOST_USER_INPUT_MAX_QUEUES = 2, - }; -@@ -115,13 +120,16 @@ vi_evdev_watch(VuDev *dev, int condition, void *data) - static void vi_handle_status(VuInput *vi, virtio_input_event *event) - { - struct input_event evdev; -+ struct timeval tval; - int rc; - -- if (gettimeofday(&evdev.time, NULL)) { -+ if (gettimeofday(&tval, NULL)) { - perror("vi_handle_status: gettimeofday"); - return; - } - -+ evdev.input_event_sec = tval.tv_sec; -+ evdev.input_event_usec = tval.tv_usec; - evdev.type = le16toh(event->type); - evdev.code = le16toh(event->code); - evdev.value = le32toh(event->value); -diff --git a/hw/input/virtio-input-host.c b/hw/input/virtio-input-host.c -index 85daf73f1a..2e261737e1 100644 ---- a/hw/input/virtio-input-host.c -+++ b/hw/input/virtio-input-host.c -@@ -16,6 +16,11 @@ - #include - #include "standard-headers/linux/input.h" - -+#ifndef input_event_sec -+#define input_event_sec time.tv_sec -+#define input_event_usec time.tv_usec -+#endif -+ - /* ----------------------------------------------------------------- */ - - static struct virtio_input_config virtio_input_host_config[] = { -@@ -193,13 +198,16 @@ static void virtio_input_host_handle_status(VirtIOInput *vinput, - { - VirtIOInputHost *vih = VIRTIO_INPUT_HOST(vinput); - struct input_event evdev; -+ struct timeval tval; - int rc; - -- if (gettimeofday(&evdev.time, NULL)) { -+ if (gettimeofday(&tval, NULL)) { - perror("virtio_input_host_handle_status: gettimeofday"); - return; - } - -+ evdev.input_event_sec = tval.tv_sec; -+ evdev.input_event_usec = tval.tv_usec; - evdev.type = le16_to_cpu(event->type); - evdev.code = le16_to_cpu(event->code); - evdev.value = le32_to_cpu(event->value); --- -2.29.2 - diff --git a/package/qemu/0002-build-disable-fcf-protection-on-march-486-m16.patch b/package/qemu/0002-build-disable-fcf-protection-on-march-486-m16.patch new file mode 100644 index 00000000000..7595d31c8d2 --- /dev/null +++ b/package/qemu/0002-build-disable-fcf-protection-on-march-486-m16.patch @@ -0,0 +1,50 @@ +From 9584d3d00a454f47b0341465142bcf0735d734ae Mon Sep 17 00:00:00 2001 +From: Christian Ehrhardt +Date: Wed, 23 Mar 2022 10:07:13 +0100 +Subject: [PATCH] build: disable fcf-protection on -march=486 -m16 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Some of the roms build with -march=i486 -m16 which is incompatible +with -fcf-protection. That in turn is can be set by default, for +example in Ubuntu [1]. +That causes: + cc1: error: ‘-fcf-protection’ is not compatible with this target + +This won't work on -march=i486 -m16 and no matter if set or not we can +override it to "none" if the option is known to the compiler to be +able to build reliably. + +Fixes: https://gitlab.com/qemu-project/qemu/-/issues/889 + +[1]: https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-fcf-protection + +Signed-off-by: Christian Ehrhardt +Reviewed-by: Philippe Mathieu-Daudé +Reviewed-by: Thomas Huth +Message-Id: <20220323090713.1002588-1-christian.ehrhardt@canonical.com> +Signed-off-by: Paolo Bonzini +Signed-off-by: Dario Binacchi +--- + pc-bios/optionrom/Makefile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile +index 5d55d25acca2..f1ef89807355 100644 +--- a/pc-bios/optionrom/Makefile ++++ b/pc-bios/optionrom/Makefile +@@ -14,6 +14,10 @@ cc-option = $(if $(shell $(CC) $1 -c -o /dev/null -xc /dev/null >/dev/null 2>&1 + + override CFLAGS += -march=i486 -Wall + ++# If -fcf-protection is enabled in flags or compiler defaults that will ++# conflict with -march=i486 ++override CFLAGS += $(call cc-option, -fcf-protection=none) ++ + # Flags for dependency generation + override CPPFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d + +-- +2.32.0 + diff --git a/package/qemu/0003-hw-usb-host-libusb.c-fix-build-with-kernel-5.0.patch b/package/qemu/0003-hw-usb-host-libusb.c-fix-build-with-kernel-5.0.patch deleted file mode 100644 index 2510dc9cd45..00000000000 --- a/package/qemu/0003-hw-usb-host-libusb.c-fix-build-with-kernel-5.0.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ecd615dfe328e3ab551cea3ba243d908936ed382 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 13 Dec 2020 21:27:31 +0100 -Subject: [PATCH] hw/usb/host-libusb.c: fix build with kernel < 5.0 - -USBDEVFS_GET_SPEED is used since version 5.2.0 and -https://gitlab.com/qemu-project/qemu/-/commit/202d69a715a4b1824dcd7ec1683d027ed2bae6d3 -resulting in the following build failure with kernel < 5.0: - -../hw/usb/host-libusb.c: In function 'usb_host_open': -../hw/usb/host-libusb.c:953:32: error: 'USBDEVFS_GET_SPEED' undeclared (first use in this function); did you mean 'USBDEVFS_GETDRIVER'? - int rc = ioctl(hostfd, USBDEVFS_GET_SPEED, NULL); - ^~~~~~~~~~~~~~~~~~ - USBDEVFS_GETDRIVER - -A tentative was made to fix this build failure with -https://gitlab.com/qemu-project/qemu/-/commit/4969e697c15ac536d5c0700381d5d026ef7f0588 - -However, the assumtion that distros with old kernels also have old -libusb is just wrong so also add a check for defined(USBDEVFS_GET_SPEED) - -Signed-off-by: Fabrice Fontaine -[Upstream status: sent to qemu-devel@nongnu.org] ---- - hw/usb/host-libusb.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c -index b950501d10..0343300d3e 100644 ---- a/hw/usb/host-libusb.c -+++ b/hw/usb/host-libusb.c -@@ -941,7 +941,7 @@ static int usb_host_open(USBHostDevice *s, libusb_device *dev, int hostfd) - usb_host_ep_update(s); - - libusb_speed = libusb_get_device_speed(dev); --#if LIBUSB_API_VERSION >= 0x01000107 && defined(CONFIG_LINUX) -+#if LIBUSB_API_VERSION >= 0x01000107 && defined(CONFIG_LINUX) && defined(USBDEVFS_GET_SPEED) - if (hostfd && libusb_speed == 0) { - /* - * Workaround libusb bug: libusb_get_device_speed() does not --- -2.29.2 - diff --git a/package/qemu/0004-meson-add-tests-option.patch b/package/qemu/0004-meson-add-tests-option.patch deleted file mode 100644 index aff8a0f9fcf..00000000000 --- a/package/qemu/0004-meson-add-tests-option.patch +++ /dev/null @@ -1,92 +0,0 @@ -From c24f6cc8f847a4f90cd8fe0f94604862c5ac4a5e Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Mon, 21 Dec 2020 22:12:14 +0100 -Subject: [PATCH] meson: add tests option - -tests/fp/fp-bench.c use fenv.h that is not always provided -by the libc (uClibc). - -To workaround this issue, add an new meson option to -disable tests while building Qemu. - -Fixes: -http://autobuild.buildroot.net/results/53f5d8baa994d599b9da013ee643b82353366ec3/build-end.log - -Signed-off-by: Romain Naour ---- - configure | 7 +++++++ - meson.build | 5 ++++- - meson_options.txt | 2 ++ - 3 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index 18c26e0389..7cceae4418 100755 ---- a/configure -+++ b/configure -@@ -449,6 +449,7 @@ meson="" - ninja="" - skip_meson=no - gettext="" -+tests="auto" - - bogus_os="no" - malloc_trim="auto" -@@ -1525,6 +1526,10 @@ for opt do - ;; - --disable-libdaxctl) libdaxctl=no - ;; -+ --disable-tests) tests="disabled" -+ ;; -+ --enable-tests) tests="enabled" -+ ;; - *) - echo "ERROR: unknown option $opt" - echo "Try '$0 --help' for more information" -@@ -1850,6 +1855,7 @@ disabled with --disable-FEATURE, default is enabled if available: - xkbcommon xkbcommon support - rng-none dummy RNG, avoid using /dev/(u)random and getrandom() - libdaxctl libdaxctl support -+ tests build tests - - NOTE: The object files are built at the place where configure is launched - EOF -@@ -7014,6 +7020,7 @@ NINJA=$ninja $meson setup \ - -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\ - -Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \ - -Dvhost_user_blk_server=$vhost_user_blk_server \ -+ -Dtests=$tests \ - $cross_arg \ - "$PWD" "$source_path" - -diff --git a/meson.build b/meson.build -index e3386196ba..7f4efdc347 100644 ---- a/meson.build -+++ b/meson.build -@@ -1944,7 +1944,10 @@ subdir('scripts') - subdir('tools') - subdir('pc-bios') - subdir('docs') --subdir('tests') -+if get_option('tests').enabled() -+ subdir('tests') -+endif -+ - if 'CONFIG_GTK' in config_host - subdir('po') - endif -diff --git a/meson_options.txt b/meson_options.txt -index f6f64785fe..81bffbfe87 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -66,6 +66,8 @@ option('virtiofsd', type: 'feature', value: 'auto', - description: 'build virtiofs daemon (virtiofsd)') - option('vhost_user_blk_server', type: 'feature', value: 'auto', - description: 'build vhost-user-blk server') -+option('tests', type : 'feature', value : 'auto', -+ description: 'Tests build support') - - option('capstone', type: 'combo', value: 'auto', - choices: ['disabled', 'enabled', 'auto', 'system', 'internal'], --- -2.29.2 - diff --git a/package/qemu/Config.in b/package/qemu/Config.in index 391fd5faaf2..7bb203a1776 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -5,14 +5,16 @@ config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET || BR2_x86_64 || BR2_arm \ || BR2_powerpc64 || BR2_powerpc64le -comment "QEMU requires a toolchain with wchar, threads" +comment "QEMU requires a toolchain with wchar, threads, gcc >= 8" depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET depends on BR2_USE_MMU - depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) + depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_PACKAGE_QEMU bool "QEMU" depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR # gettext depends on BR2_USE_MMU # fork() diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host index 31637970673..f9cdb9b7037 100644 --- a/package/qemu/Config.in.host +++ b/package/qemu/Config.in.host @@ -22,7 +22,7 @@ config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS default y if BR2_xtensa default y if BR2_x86_64 depends on !BR2_x86_steamroller && !BR2_x86_core_avx2 - depends on !BR2_powerpc_620 && !BR2_powerpc_630 && !BR2_powerpc_970 + depends on !BR2_powerpc_620 && !BR2_powerpc_630 config BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS bool @@ -37,6 +37,7 @@ config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS config BR2_PACKAGE_HOST_QEMU bool "host qemu" depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_8 select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \ if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE && BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS select BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE \ @@ -49,6 +50,11 @@ config BR2_PACKAGE_HOST_QEMU http://www.qemu.org +comment "host-qemu needs a host gcc >= 8" + depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || \ + BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORT + depends on !BR2_HOST_GCC_AT_LEAST_8 + if BR2_PACKAGE_HOST_QEMU comment "Emulators selection" @@ -73,6 +79,10 @@ config BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE the running host kernel, you may run into invalid system calls, which may yield surprising effects. +config BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS + string + default "-cpu Nehalem,check=false" if BR2_x86_corei7 + config BR2_PACKAGE_HOST_QEMU_VDE2 bool "VDE2 support" help @@ -82,17 +92,14 @@ config BR2_PACKAGE_HOST_QEMU_VDE2 config BR2_PACKAGE_HOST_QEMU_VIRTFS bool "Virtual filesystem support" + depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE help Enables support for virtual filesystem in Qemu allowing shared filesystem between Qemu and its emulated target. config BR2_PACKAGE_HOST_QEMU_USB bool "USB passthrough support" - depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libusb help Enables USB passthrough support from guest to host. -comment "USB passthrough support needs a toolchain w/ host gcc >= 4.9" - depends on !BR2_HOST_GCC_AT_LEAST_4_9 - endif diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash index 7d9936adb43..9411832384b 100644 --- a/package/qemu/qemu.hash +++ b/package/qemu/qemu.hash @@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 cb18d889b628fbe637672b0326789d9b0e3b8027e0445b936537c78549df17bc qemu-5.2.0.tar.xz +sha256 68e15d8e45ac56326e0b9a4afa8b49a3dfe8aba3488221d098c84698bca65b45 qemu-6.2.0.tar.xz sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index b552ea139e2..33e69387740 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -4,7 +4,7 @@ # ################################################################################ -QEMU_VERSION = 5.2.0 +QEMU_VERSION = 6.2.0 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz QEMU_SITE = http://download.qemu.org QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c @@ -56,6 +56,12 @@ endif endif +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) +QEMU_OPTS += --disable-vhost-user +else +QEMU_OPTS += --enable-vhost-user +endif + ifeq ($(BR2_PACKAGE_QEMU_SLIRP),y) QEMU_OPTS += --enable-slirp=system QEMU_DEPENDENCIES += slirp @@ -84,6 +90,13 @@ else QEMU_OPTS += --disable-tools endif +ifeq ($(BR2_PACKAGE_LIBFUSE3),y) +QEMU_OPTS += --enable-fuse --enable-fuse-lseek +QEMU_DEPENDENCIES += libfuse3 +else +QEMU_OPTS += --disable-fuse --disable-fuse-lseek +endif + ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) QEMU_OPTS += --enable-seccomp QEMU_DEPENDENCIES += libseccomp @@ -154,6 +167,10 @@ else QEMU_OPTS += --disable-usb-redir endif +ifeq ($(BR2_STATIC_LIBS),y) +QEMU_OPTS += --static +endif + # Override CPP, as it expects to be able to call it like it'd # call the compiler. define QEMU_CONFIGURE_CMDS @@ -170,39 +187,47 @@ define QEMU_CONFIGURE_CMDS --audio-drv-list= \ --meson=$(HOST_DIR)/bin/meson \ --ninja=$(HOST_DIR)/bin/ninja \ - --enable-kvm \ - --enable-attr \ - --enable-vhost-net \ + --disable-alsa \ + --disable-bpf \ + --disable-brlapi \ --disable-bsd-user \ + --disable-cap-ng \ + --disable-capstone \ --disable-containers \ - --disable-xen \ - --disable-virtfs \ - --disable-brlapi \ - --disable-curses \ + --disable-coreaudio \ --disable-curl \ - --disable-vde \ - --disable-linux-aio \ - --disable-linux-io-uring \ - --disable-cap-ng \ + --disable-curses \ --disable-docs \ - --disable-rbd \ - --disable-libiscsi \ - --disable-strip \ - --disable-sparse \ - --disable-mpath \ - --disable-sanitizers \ + --disable-dsound \ --disable-hvf \ - --disable-whpx \ + --disable-jack \ + --disable-libiscsi \ + --disable-libxml2 \ + --disable-linux-aio \ + --disable-linux-io-uring \ --disable-malloc-trim \ --disable-membarrier \ - --disable-vhost-crypto \ - --disable-libxml2 \ - --disable-capstone \ - --disable-git-update \ + --disable-mpath \ + --disable-netmap \ --disable-opengl \ + --disable-oss \ + --disable-pa \ + --disable-rbd \ + --disable-sanitizers \ + --disable-selinux \ + --disable-sparse \ + --disable-strip \ + --disable-vde \ + --disable-vhost-crypto \ --disable-vhost-user-blk-server \ + --disable-virtfs \ --disable-virtiofsd \ - --disable-tests \ + --disable-whpx \ + --disable-xen \ + --enable-attr \ + --enable-kvm \ + --enable-vhost-net \ + --with-git-submodules=ignore \ $(QEMU_OPTS) endef @@ -252,6 +277,9 @@ HOST_QEMU_DEPENDENCIES = host-meson host-pkgconf host-zlib host-libglib2 host-pi # xtensa xtensa HOST_QEMU_ARCH = $(ARCH) +ifeq ($(HOST_QEMU_ARCH),armeb) +HOST_QEMU_SYS_ARCH = arm +endif ifeq ($(HOST_QEMU_ARCH),i486) HOST_QEMU_ARCH = i386 endif @@ -338,18 +366,29 @@ define HOST_QEMU_CONFIGURE_CMDS --extra-ldflags="$(HOST_LDFLAGS)" \ --meson=$(HOST_DIR)/bin/meson \ --ninja=$(HOST_DIR)/bin/ninja \ + --disable-alsa \ + --disable-bpf \ --disable-bzip2 \ --disable-containers \ + --disable-coreaudio \ --disable-curl \ + --disable-docs \ + --disable-dsound \ + --disable-jack \ --disable-libssh \ + --disable-linux-aio \ --disable-linux-io-uring \ + --disable-netmap \ + --disable-oss \ + --disable-pa \ --disable-sdl \ + --disable-selinux \ + --disable-vde \ --disable-vhost-user-blk-server \ --disable-virtiofsd \ --disable-vnc-jpeg \ --disable-vnc-png \ --disable-vnc-sasl \ - --disable-tests \ $(HOST_QEMU_OPTS) endef diff --git a/package/qhull/Config.in b/package/qhull/Config.in index 0a4b60ffbeb..cfd67b0d38e 100644 --- a/package/qhull/Config.in +++ b/package/qhull/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_QHULL bool "qhull" depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 # needs gcc >= 4.4 help Qhull computes the convex hull, Delaunay triangulation, @@ -15,5 +14,6 @@ config BR2_PACKAGE_QHULL http://www.qhull.org -comment "qhull needs a toolchain w/ C++, dynamic library, gcc >= 4.4" - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 +comment "qhull needs a toolchain w/ C++, gcc >= 4.4" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 diff --git a/package/qhull/qhull.hash b/package/qhull/qhull.hash index b97c25a3f71..f7d8c9e729a 100644 --- a/package/qhull/qhull.hash +++ b/package/qhull/qhull.hash @@ -1,5 +1,5 @@ -# From http://www.qhull.org/download/qhull-2019.1.md5sum -md5 53c04f9c89b491b17b10c7ea1eaa4cc8 qhull-2019-src-7.3.2.tgz +# From http://www.qhull.org/download/qhull-2020-src-8.0.2-tgz.md5sum +md5 ed767244864488d5e9a22dfa788663a9 qhull-2020-src-8.0.2-tgz # Locally computed -sha256 2b7990558c363076261564f61b74db4d0d73b71869755108a469038c07dc43fb qhull-2019-src-7.3.2.tgz -sha256 34db0c0c4f931861d720555c9cd7a2e228d1290ba29af0f2ee80c41bb2038afb COPYING.txt +sha256 b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e qhull-2020-src-8.0.2.tgz +sha256 106d55c931fd6a84822e5345d900273d059f1c27310d02567ccb313c5d18c55d COPYING.txt diff --git a/package/qhull/qhull.mk b/package/qhull/qhull.mk index fcf517634b4..72f62704342 100644 --- a/package/qhull/qhull.mk +++ b/package/qhull/qhull.mk @@ -4,11 +4,25 @@ # ################################################################################ -QHULL_VERSION = 7.3.2 +QHULL_VERSION = 8.0.2 QHULL_SITE = http://www.qhull.org/download -QHULL_SOURCE = qhull-2019-src-$(QHULL_VERSION).tgz +QHULL_SOURCE = qhull-2020-src-$(QHULL_VERSION).tgz QHULL_INSTALL_STAGING = YES QHULL_LICENSE = BSD-Style QHULL_LICENSE_FILES = COPYING.txt +# Force Release mode to always build qhull_r instead of qhull_rd +QHULL_CONF_OPTS = -DCMAKE_BUILD_TYPE=Release + +# BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable +# although BUILD_STATIC_LIBS=ON is default, make it explicit, +# cmake and static/shared libs is confusing enough already. +ifeq ($(BR2_STATIC_LIBS),y) +QHULL_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +QHULL_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +else ifeq ($(BR2_SHARED_LIBS),y) +QHULL_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF +endif + $(eval $(cmake-package)) diff --git a/package/qoriq-cadence-dp-firmware/Config.in b/package/qoriq-cadence-dp-firmware/Config.in new file mode 100644 index 00000000000..3f494bd3a3f --- /dev/null +++ b/package/qoriq-cadence-dp-firmware/Config.in @@ -0,0 +1,4 @@ +config BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE + bool "qoriq-cadence-dp-firmware" + help + NXP QorIQ cadence DP firmware, a resident EL3 firmware. diff --git a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash new file mode 100644 index 00000000000..89aaf1d71bc --- /dev/null +++ b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 5871c5717be32f14a59624d5699d405e8ce9ae2e9c9ef86fd16e13d264a40e58 firmware-cadence-lsdk1909.bin +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING diff --git a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk new file mode 100644 index 00000000000..23643d24e0f --- /dev/null +++ b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# qoriq-cadence-dp-firmware +# +################################################################################ + +QORIQ_CADENCE_DP_FIRMWARE_VERSION = lsdk1909 +QORIQ_CADENCE_DP_FIRMWARE_SITE = http://www.nxp.com/lgfiles/sdk/$(QORIQ_CADENCE_DP_FIRMWARE_VERSION) +QORIQ_CADENCE_DP_FIRMWARE_SOURCE = firmware-cadence-$(QORIQ_CADENCE_DP_FIRMWARE_VERSION).bin +QORIQ_CADENCE_DP_FIRMWARE_LICENSE = NXP-Binary-EULA +QORIQ_CADENCE_DP_FIRMWARE_LICENSE_FILES = COPYING +QORIQ_CADENCE_DP_FIRMWARE_REDISTRIBUTE = NO +QORIQ_CADENCE_DP_FIRMWARE_INSTALL_IMAGES = YES +QORIQ_CADENCE_DP_FIRMWARE_INSTALL_TARGET = NO + +# Helper for self-extracting binaries distributed by NXP. +# +# The --force option makes sure it doesn't fail if the source +# directory already exists. The --auto-accept skips the license check, +# as it is not needed in Buildroot because we have legal-info. Since +# there's a EULA in the binary file, we extract it in this macro, and +# it should therefore be added to the LICENSE_FILES variable of +# packages using this macro. Also, remember to set REDISTRIBUTE to +# "NO". Indeed, this is a legal minefield: the EULA specifies that the +# Board Support Package includes software and hardware (sic!) for +# which a separate license is needed... +# +# $(1): full path to the archive file +# +define QORIQ_CADENCE_DP_FIRMWARE_EXTRACT_HELPER + awk 'BEGIN { start = 0; } \ + /^EOEULA/ { start = 0; } \ + { if (start) print; } \ + /< $(@D)/EULA + cd $(@D) && sh $(1) --force --auto-accept + find $(@D)/$(basename $(notdir $(1))) -mindepth 1 -maxdepth 1 -exec mv {} $(@D) \; + rmdir $(@D)/$(basename $(notdir $(1))) +endef + +define QORIQ_CADENCE_DP_FIRMWARE_EXTRACT_CMDS + $(call QORIQ_CADENCE_DP_FIRMWARE_EXTRACT_HELPER,$(QORIQ_CADENCE_DP_FIRMWARE_DL_DIR)/$(QORIQ_CADENCE_DP_FIRMWARE_SOURCE)) +endef + +define QORIQ_CADENCE_DP_FIRMWARE_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/dp/ls1028a-dp-fw.bin $(BINARIES_DIR)/ls1028a-dp-fw.bin +endef + +$(eval $(generic-package)) diff --git a/package/qoriq-rcw/Config.in.host b/package/qoriq-rcw/Config.in.host index 1f69c0389c5..08fc83acd04 100644 --- a/package/qoriq-rcw/Config.in.host +++ b/package/qoriq-rcw/Config.in.host @@ -25,4 +25,16 @@ config BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH included for use in the SDK or with post scripts but no RCW binary will not be generated. +config BR2_PACKAGE_HOST_QORIQ_RCW_INTREE + string "In-tree RCW name" + depends on !BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH + help + This option is used to specify the RCW binary file for board. + which is composed as platform/serdes_value/rcw_file: platform + is the platform name, serdes_value is the setting of the + Serdes, and rcw_file is the file name of RCW. For example: + "ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.bin" + + If this option is empty, no rcw file is used. + endif diff --git a/package/qoriq-rcw/qoriq-rcw.mk b/package/qoriq-rcw/qoriq-rcw.mk index ecc5ce5eb4b..93e660b1ddb 100644 --- a/package/qoriq-rcw/qoriq-rcw.mk +++ b/package/qoriq-rcw/qoriq-rcw.mk @@ -13,8 +13,10 @@ QORIQ_RCW_LICENSE_FILES = LICENSE HOST_QORIQ_RCW_DEPENDENCIES = $(BR2_PYTHON3_HOST_DEPENDENCY) QORIQ_RCW_FILES = $(call qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH)) +QORIQ_RCW_INTREE = $(call qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_INTREE)) ifneq ($(QORIQ_RCW_FILES),) + QORIQ_RCW_INCLUDES = $(filter-out %.rcw,$(QORIQ_RCW_FILES)) # Get the name of the custom rcw file from the custom list QORIQ_RCW_PROJECT = $(notdir $(filter %.rcw,$(QORIQ_RCW_FILES))) @@ -54,12 +56,26 @@ endef define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE $(INSTALL) -D -m 0644 $(@D)/PBL.bin $(BINARIES_DIR)/PBL.bin endef + +else ifneq ($(QORIQ_RCW_INTREE),) + +QORIQ_RCW_PLATFORM = $(firstword $(subst /, ,$(QORIQ_RCW_INTREE))) +QORIQ_RCW_FILE_BIN = $(lastword $(subst /, ,$(QORIQ_RCW_INTREE))) + +define HOST_QORIQ_RCW_BUILD_CMDS + $(MAKE) -C $(@D)/$(QORIQ_RCW_PLATFORM) +endef + +define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE + $(INSTALL) -D -m 0644 $(@D)/$(patsubst %.rcw,%.bin,$(QORIQ_RCW_INTREE)) \ + $(BINARIES_DIR)/PBL.bin +endef endif # Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer # could use a post image or SDK to build/install PBL files. define HOST_QORIQ_RCW_INSTALL_CMDS - mkdir -p $(HOST_DIR)/share/rcw + mkdir -p $(HOST_DIR)/share/rcw cp -a $(@D)/* $(HOST_DIR)/share/rcw $(HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE) endef diff --git a/package/qpdf/0001-libtests-cxx11.cc-fix-build-with-gcc-4.8.patch b/package/qpdf/0001-libtests-cxx11.cc-fix-build-with-gcc-4.8.patch deleted file mode 100644 index 76504c7475c..00000000000 --- a/package/qpdf/0001-libtests-cxx11.cc-fix-build-with-gcc-4.8.patch +++ /dev/null @@ -1,38 +0,0 @@ -From e70c2605a11d12a8eeee3e7eec46077956e11e1f Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 17 Feb 2020 22:36:08 +0100 -Subject: [PATCH] libtests/cxx11.cc: fix build with gcc 4.8 - -Build fails on gcc 4.8 since version 9.1.1 and commit -752416554086d5d34323bc14164d5084db83cfbd: - -libtests/cxx11.cc: In function 'void do_regex()': -libtests/cxx11.cc:347:42: error: 'strlen' is not a member of 'std' - std::cregex_iterator m3(str7, str7 + std::strlen(str7), expr4); - ^ - -To fix the build failure, add missing include on cstring - -Fixes: - - http://autobuild.buildroot.org/results/ad7fb68ae87850a85509eed80fd0cae8721b10c5 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/qpdf/qpdf/pull/400] ---- - libtests/cxx11.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libtests/cxx11.cc b/libtests/cxx11.cc -index fa1dc6b..91ed7b1 100644 ---- a/libtests/cxx11.cc -+++ b/libtests/cxx11.cc -@@ -1,5 +1,6 @@ - #include - #include -+#include - #include - #include - #include --- -2.24.1 - diff --git a/package/qpdf/Config.in b/package/qpdf/Config.in index 56a96e4f41d..accf2b5f34e 100644 --- a/package/qpdf/Config.in +++ b/package/qpdf/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_QPDF bool "qpdf" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 + depends on BR2_TOOLCHAIN_HAS_ATOMIC select BR2_PACKAGE_ZLIB select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL help QPDF is a command-line program that does structural, content- preserving transformations on PDF files. It could @@ -15,6 +16,7 @@ config BR2_PACKAGE_QPDF http://qpdf.sourceforge.net/ -comment "qpdf needs a toolchain w/ C++, wchar, gcc >= 4.7" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 +comment "qpdf needs a toolchain w/ C++, gcc >= 5" + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/qpdf/qpdf.hash b/package/qpdf/qpdf.hash index 050c9d9a4c6..08a048f2ed7 100644 --- a/package/qpdf/qpdf.hash +++ b/package/qpdf/qpdf.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/qpdf/files/qpdf/9.1.1/qpdf-9.1.1.sha512/download -sha512 008a11fef663a57ca173631f2053988023babea6c333cfe01db0ef955c8cd36d387ed9f2039f55bd5f9ca94c7a8e400461a09a15c5f89e03bc0817fdd0d3d585 qpdf-9.1.1.tar.gz +# From https://sourceforge.net/projects/qpdf/files/qpdf/10.5.0/qpdf-10.5.0.sha256/download +sha256 88257d36a44fd5c50b2879488324dd9cafc11686ae49d8c4922a4872203ce006 qpdf-10.5.0.tar.gz # Locally computed: sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt sha256 fb929ac30decb4dc3a2eea2bec6c43296a797c5d2d602deb3784ee39430583d5 Artistic-2.0 diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index fd31140b0cb..a58781f4f10 100644 --- a/package/qpdf/qpdf.mk +++ b/package/qpdf/qpdf.mk @@ -4,15 +4,20 @@ # ################################################################################ -QPDF_VERSION = 9.1.1 +QPDF_VERSION = 10.5.0 QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) QPDF_INSTALL_STAGING = YES QPDF_LICENSE = Apache-2.0 or Artistic-2.0 QPDF_LICENSE_FILES = LICENSE.txt Artistic-2.0 +QPDF_CPE_ID_VENDOR = qpdf_project QPDF_DEPENDENCIES = host-pkgconf zlib jpeg QPDF_CONF_OPTS = --with-random=/dev/urandom +ifeq ($(BR2_USE_WCHAR),) +QPDF_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DQPDF_NO_WCHAR_T" +endif + ifeq ($(BR2_PACKAGE_GNUTLS),y) QPDF_CONF_OPTS += --enable-crypto-gnutls QPDF_DEPENDENCIES += gnutls @@ -20,4 +25,15 @@ else QPDF_CONF_OPTS += --disable-crypto-gnutls endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +QPDF_CONF_OPTS += --enable-crypto-openssl +QPDF_DEPENDENCIES += openssl +else +QPDF_CONF_OPTS += --disable-crypto-openssl +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +QPDF_CONF_ENV += LIBS=-latomic +endif + $(eval $(autotools-package)) diff --git a/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch b/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch deleted file mode 100644 index 1085804f41e..00000000000 --- a/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch +++ /dev/null @@ -1,78 +0,0 @@ -From bc872440428073e86ce2631276dc8b7f62da4c33 Mon Sep 17 00:00:00 2001 -From: Andrew Stitcher -Date: Tue, 17 Jan 2017 02:10:48 -0500 -Subject: [PATCH] PROTON-1381, PROTON-1326: Modify openssl DH code to work with - openssl 1.1 Modified patch from Volker Diels-Grabsch - -Upstream: https://github.com/apache/qpid-proton/commit/bc872440428073e86ce2631276dc8b7f62da4c33 - -Signed-off-by: Matthew Weber ---- - proton-c/src/ssl/openssl.c | 37 +++++++++++++++++++++++++++---------- - 1 file changed, 27 insertions(+), 10 deletions(-) - -diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c -index 0b7d157..0c51c03 100644 ---- a/proton-c/src/ssl/openssl.c -+++ b/proton-c/src/ssl/openssl.c -@@ -356,12 +356,22 @@ static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx) - return preverify_ok; - } - -+// This was introduced in v1.1 -+#if OPENSSL_VERSION_NUMBER < 0x10100000 -+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ dh->p = p; -+ dh->q = q; -+ dh->g = g; -+ return 1; -+} -+#endif - - // this code was generated using the command: - // "openssl dhparam -C -2 2048" - static DH *get_dh2048(void) - { -- static const unsigned char dh2048_p[]={ -+ static const unsigned char dhp_2048[]={ - 0xAE,0xF7,0xE9,0x66,0x26,0x7A,0xAC,0x0A,0x6F,0x1E,0xCD,0x81, - 0xBD,0x0A,0x10,0x7E,0xFA,0x2C,0xF5,0x2D,0x98,0xD4,0xE7,0xD9, - 0xE4,0x04,0x8B,0x06,0x85,0xF2,0x0B,0xA3,0x90,0x15,0x56,0x0C, -@@ -385,17 +395,24 @@ static DH *get_dh2048(void) - 0xA4,0xED,0xFD,0x49,0x0B,0xE3,0x4A,0xF6,0x28,0xB3,0x98,0xB0, - 0x23,0x1C,0x09,0x33, - }; -- static const unsigned char dh2048_g[]={ -+ static const unsigned char dhg_2048[]={ - 0x02, - }; -- DH *dh; -- -- if ((dh=DH_new()) == NULL) return(NULL); -- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); -- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); -- if ((dh->p == NULL) || (dh->g == NULL)) -- { DH_free(dh); return(NULL); } -- return(dh); -+ DH *dh = DH_new(); -+ BIGNUM *dhp_bn, *dhg_bn; -+ -+ if (dh == NULL) -+ return NULL; -+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); -+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); -+ if (dhp_bn == NULL || dhg_bn == NULL -+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { -+ DH_free(dh); -+ BN_free(dhp_bn); -+ BN_free(dhg_bn); -+ return NULL; -+ } -+ return dh; - } - - typedef struct { --- -1.9.1 - diff --git a/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch b/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch deleted file mode 100644 index 2adba9a5915..00000000000 --- a/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8c54c62516671375de4068158ccaa0bc1dba0a4a Mon Sep 17 00:00:00 2001 -From: Cliff Jansen -Date: Wed, 2 Aug 2017 16:34:39 -0700 -Subject: [PATCH] PROTON-1326: restore anonymous cyphers by lowering OpenSSL - v1.1 security level just for the PN_SSL_ANONYMOUS_PEER verification mode - -Upstream: https://github.com/apache/qpid-proton/commit/8c54c62516671375de4068158ccaa0bc1dba0a4a - -Signed-off-by: Matthew Weber ---- - proton-c/src/ssl/openssl.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c -index 8cb4e7b..f37cf49 100644 ---- a/proton-c/src/ssl/openssl.c -+++ b/proton-c/src/ssl/openssl.c -@@ -72,6 +72,9 @@ struct pn_ssl_domain_t { - char *trusted_CAs; - - int ref_count; -+#if OPENSSL_VERSION_NUMBER >= 0x10100000 -+ int default_seclevel; -+#endif - pn_ssl_mode_t mode; - pn_ssl_verify_mode_t verify_mode; - -@@ -524,6 +527,9 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_mode_t mode ) - // Mitigate the CRIME vulnerability - SSL_CTX_set_options(domain->ctx, SSL_OP_NO_COMPRESSION); - #endif -+#if OPENSSL_VERSION_NUMBER >= 0x10100000 -+ domain->default_seclevel = SSL_CTX_get_security_level(domain->ctx); -+#endif - - // by default, allow anonymous ciphers so certificates are not required 'out of the box' - if (!SSL_CTX_set_cipher_list( domain->ctx, CIPHERS_ANONYMOUS )) { -@@ -647,6 +653,10 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, - case PN_SSL_VERIFY_PEER: - case PN_SSL_VERIFY_PEER_NAME: - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000 -+ SSL_CTX_set_security_level(domain->ctx, domain->default_seclevel); -+#endif -+ - if (!domain->has_ca_db) { - pn_transport_logf(NULL, "Error: cannot verify peer without a trusted CA configured.\n" - " Use pn_ssl_domain_set_trusted_ca_db()"); -@@ -685,6 +695,10 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, - break; - - case PN_SSL_ANONYMOUS_PEER: // hippie free love mode... :) -+#if OPENSSL_VERSION_NUMBER >= 0x10100000 -+ // Must use lowest OpenSSL security level to enable anonymous ciphers. -+ SSL_CTX_set_security_level(domain->ctx, 0); -+#endif - SSL_CTX_set_verify( domain->ctx, SSL_VERIFY_NONE, NULL ); - break; - --- -1.9.1 - diff --git a/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch b/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch deleted file mode 100644 index bbd3c7b8104..00000000000 --- a/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch +++ /dev/null @@ -1,58 +0,0 @@ -From c31ca95ac73d0da462f7e324e1c3a33b11c39f2c Mon Sep 17 00:00:00 2001 -From: Alan Conway -Date: Wed, 27 Sep 2017 18:37:24 -0400 -Subject: [PATCH] PROTON-1587: fix openssl error handling, causing spurious - errors - -From the SSL_get_error() man page: - - In addition to ssl and ret, SSL_get_error() inspects the current thread's OpenSSL error - queue. Thus, SSL_get_error() must be used in the same thread that performed the TLS/SSL I/O - operation, and no other OpenSSL function calls should appear in between. The current - thread's error queue must be empty before the TLS/SSL I/O operation is attempted, or - SSL_get_error() will not work reliably. - -Proton was not clearing the error queue, so the "shutdown-during-init" -error (which was introduced recently in OpenSSL) was left dangling, and was -reported incorrectly when the thread was used to serve another transport. - -Upstream: https://github.com/apache/qpid-proton/commit/c31ca95ac73d0da462f7e324e1c3a33b11c39f2c - -Signed-off-by: Matthew Weber ---- - proton-c/src/ssl/openssl.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c -index 5c750b0..3a4e1a3 100644 ---- a/proton-c/src/ssl/openssl.c -+++ b/proton-c/src/ssl/openssl.c -@@ -206,7 +206,7 @@ static int ssl_failed(pn_transport_t *transport) - // fake a shutdown so the i/o processing code will close properly - SSL_set_shutdown(ssl->ssl, SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN); - // try to grab the first SSL error to add to the failure log -- char buf[128] = "Unknown error."; -+ char buf[256] = "Unknown error"; - unsigned long ssl_err = ERR_get_error(); - if (ssl_err) { - ERR_error_string_n( ssl_err, buf, sizeof(buf) ); -@@ -909,6 +909,7 @@ static ssize_t process_input_ssl( pn_transport_t *transport, unsigned int layer, - - do { - work_pending = false; -+ ERR_clear_error(); - - // Write to network bio as much as possible, consuming bytes/available - -@@ -1058,6 +1059,8 @@ static ssize_t process_output_ssl( pn_transport_t *transport, unsigned int layer - - do { - work_pending = false; -+ ERR_clear_error(); -+ - // first, get any pending application output, if possible - - if (!ssl->app_output_closed && ssl->out_count < ssl->out_size) { --- -1.9.1 - diff --git a/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch b/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch deleted file mode 100644 index f969671ffbc..00000000000 --- a/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 87c44b4ebc64c15f6324ed40852224b61fbe77a7 Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Tue, 5 Feb 2019 06:10:16 -0600 -Subject: [PATCH] src/ssl/openssl: add libressl compatibility - -Similar to https://github.com/FreeRDP/FreeRDP/issues/5049 -libressl has `#define OPENSSL_VERSION_NUMBER ` defined the same as -openssl 1.1.x which results in SSL_CTX_set_security_level() getting used. - -This patch prevents SSL_CTX_set_security_level() from being used with -libressl. - -Upstream: https://github.com/apache/qpid-proton/pull/175 - -Signed-off-by: Matthew Weber ---- - c/src/ssl/openssl.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c -index c2b5869..541d0ae 100644 ---- a/proton-c/src/ssl/openssl.c -+++ b/proton-c/src/ssl/openssl.c -@@ -522,7 +522,7 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_mode_t mode ) - // Mitigate the CRIME vulnerability - SSL_CTX_set_options(domain->ctx, SSL_OP_NO_COMPRESSION); - #endif --#if OPENSSL_VERSION_NUMBER >= 0x10100000 -+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) - domain->default_seclevel = SSL_CTX_get_security_level(domain->ctx); - #endif - -@@ -709,7 +709,7 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, - case PN_SSL_VERIFY_PEER: - case PN_SSL_VERIFY_PEER_NAME: - --#if OPENSSL_VERSION_NUMBER >= 0x10100000 -+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) - SSL_CTX_set_security_level(domain->ctx, domain->default_seclevel); - #endif - -@@ -749,7 +749,7 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, - break; - - case PN_SSL_ANONYMOUS_PEER: // hippie free love mode... :) --#if OPENSSL_VERSION_NUMBER >= 0x10100000 -+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) - // Must use lowest OpenSSL security level to enable anonymous ciphers. - SSL_CTX_set_security_level(domain->ctx, 0); - #endif --- -1.9.1 - diff --git a/package/qpid-proton/Config.in b/package/qpid-proton/Config.in index b49a2afa7eb..adddc6eca08 100644 --- a/package/qpid-proton/Config.in +++ b/package/qpid-proton/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_QPID_PROTON bool "qpid-proton" + depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # build a shared library + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID help @@ -13,5 +15,6 @@ config BR2_PACKAGE_QPID_PROTON https://qpid.apache.org/proton/ -comment "qpid-proton needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "qpid-proton needs a toolchain w/ C++, dynamic library, threads" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/qpid-proton/qpid-proton.hash b/package/qpid-proton/qpid-proton.hash index 1ee72eef7a0..bead3c1807d 100644 --- a/package/qpid-proton/qpid-proton.hash +++ b/package/qpid-proton/qpid-proton.hash @@ -1,4 +1,5 @@ -# Hash from: http://www.apache.org/dist/qpid/proton/0.9.1/qpid-proton-0.9.1.tar.gz.sha -sha1 98008d90acd0d47cbd7ac1572a2bb50b452338ed qpid-proton-0.9.1.tar.gz +# Hash from: https://www.apache.org/dist/qpid/proton/0.35.0/qpid-proton-0.35.0.tar.gz.sha512 +sha512 1031e3d45854107a516699e1d18269c6acb22549b2709c1fc1cd25eb870096de109077445f1b400edf231bb21a476a268e2d6674e986fc50e92a281549085543 qpid-proton-0.35.0.tar.gz + # Locally computed -sha256 9fade5e12873678456137b36cfa4a5983c3793836d41c011f2c2abb02ca36a66 LICENSE +sha256 52310e65489d30afeefc8589479fc02862a875349c19edd165658a915009da82 LICENSE.txt diff --git a/package/qpid-proton/qpid-proton.mk b/package/qpid-proton/qpid-proton.mk index ff7d7482315..fae6ecc413b 100644 --- a/package/qpid-proton/qpid-proton.mk +++ b/package/qpid-proton/qpid-proton.mk @@ -4,34 +4,43 @@ # ################################################################################ -QPID_PROTON_VERSION = 0.9.1 -QPID_PROTON_SITE = http://apache.panu.it/qpid/proton/$(QPID_PROTON_VERSION) -QPID_PROTON_STRIP_COMPONENTS = 2 +QPID_PROTON_VERSION = 0.35.0 +QPID_PROTON_SITE = \ + https://downloads.apache.org/qpid/proton/$(QPID_PROTON_VERSION) QPID_PROTON_LICENSE = Apache-2.0 -QPID_PROTON_LICENSE_FILES = LICENSE +QPID_PROTON_LICENSE_FILES = LICENSE.txt QPID_PROTON_CPE_ID_VENDOR = apache QPID_PROTON_CPE_ID_PRODUCT = qpid_proton QPID_PROTON_INSTALL_STAGING = YES QPID_PROTON_DEPENDENCIES = \ - host-python \ + host-python3 \ util-linux \ + $(if $(BR2_PACKAGE_LIBUV),libuv) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) -# Language bindings are enabled when host-swig tool is present in HOST_DIR. +# python and ruby language bindings are enabled when host-swig tool is present +# in HOST_DIR. +# go language binding is enabled when host-go is present # For now, disable all of them. QPID_PROTON_CONF_OPTS = \ - -DBUILD_JAVA=OFF \ - -DBUILD_JAVASCRIPT=OFF \ - -DBUILD_PERL=OFF \ - -DBUILD_PHP=OFF \ + -DBUILD_CPP=ON \ + -DBUILD_GO=OFF \ -DBUILD_PYTHON=OFF \ -DBUILD_RUBY=OFF \ + -DENABLE_FUZZ_TESTING=OFF \ -DENABLE_VALGRIND=OFF \ -DENABLE_WARNING_ERROR=OFF \ - -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python2 + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 + +ifeq ($(BR2_PACKAGE_JSONCPP),y) +QPID_PROTON_DEPENDENCIES += jsoncpp +QPID_PROTON_CONF_OPTS += -DENABLE_JSONCPP=ON +else +QPID_PROTON_CONF_OPTS += -DENABLE_JSONCPP=OFF +endif define QPID_PROTON_REMOVE_USELESS_FILES - rm -fr $(TARGET_DIR)/usr/share/proton-*/ + rm -fr $(TARGET_DIR)/usr/share/proton/ endef QPID_PROTON_POST_INSTALL_TARGET_HOOKS += QPID_PROTON_REMOVE_USELESS_FILES diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 6714c6271db..54e6f7d6a6e 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -51,6 +51,7 @@ source "package/qt5/qt5location/Config.in" source "package/qt5/qt5lottie/Config.in" source "package/qt5/qt5mqtt/Config.in" source "package/qt5/qt5multimedia/Config.in" +source "package/qt5/qt5opcua/Config.in" source "package/qt5/qt5quickcontrols/Config.in" source "package/qt5/qt5quickcontrols2/Config.in" source "package/qt5/qt5quicktimeline/Config.in" @@ -66,8 +67,9 @@ source "package/qt5/qt5virtualkeyboard/Config.in" source "package/qt5/qt5wayland/Config.in" source "package/qt5/qt5webchannel/Config.in" source "package/qt5/qt5webkit/Config.in" -source "package/qt5/qt5webkit-examples/Config.in" source "package/qt5/qt5webengine/Config.in" +source "package/qt5/qt5webengine-chromium/Config.in" +source "package/qt5/qt5webengine-chromium-catapult/Config.in" source "package/qt5/qt5websockets/Config.in" source "package/qt5/qt5webview/Config.in" source "package/qt5/qt5x11extras/Config.in" diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index db6ccd2b428..0706c3548dc 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -5,9 +5,8 @@ ################################################################################ QT5_VERSION_MAJOR = 5.15 -QT5_VERSION = $(QT5_VERSION_MAJOR).2 -QT5_SOURCE_TARBALL_PREFIX = everywhere-src -QT5_SITE = https://download.qt.io/archive/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules +QT5_VERSION = $(QT5_VERSION_MAJOR).8 +QT5_SITE = https://invent.kde.org/qt/qt include $(sort $(wildcard package/qt5/*/*.mk)) @@ -15,6 +14,7 @@ include $(sort $(wildcard package/qt5/*/*.mk)) # compiled into the Qt library. We need it to make "qmake" relocatable and # tweak the per-package install pathes define QT5_INSTALL_QT_CONF + rm -f $(HOST_DIR)/bin/qt.conf sed -e "s|@@HOST_DIR@@|$(HOST_DIR)|" -e "s|@@STAGING_DIR@@|$(STAGING_DIR)|" \ $(QT5BASE_PKGDIR)/qt.conf.in > $(HOST_DIR)/bin/qt.conf endef diff --git a/package/qt5/qt53d/Config.in b/package/qt5/qt53d/Config.in index 5126078d095..9187bee82b3 100644 --- a/package/qt5/qt53d/Config.in +++ b/package/qt5/qt53d/Config.in @@ -17,7 +17,7 @@ config BR2_PACKAGE_QT53D Enable the assimp package to gain the assimp sceneparser plugin. - http://doc.qt.io/qt-5/qt3d-index.html + https://doc.qt.io/qt-5/qt3d-index.html comment "qt53d module needs an OpenGL-capable backend" depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE diff --git a/package/qt5/qt53d/qt53d.hash b/package/qt5/qt53d/qt53d.hash index 43b2132cc7e..32d36756193 100644 --- a/package/qt5/qt53d/qt53d.hash +++ b/package/qt5/qt53d/qt53d.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qt3d-everywhere-src-5.15.2.tar.xz.sha256 -sha256 03ed6a48c813c75296c19f5d721184ab168280b69d2656cf16f877d3d4c55c1d qt3d-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 4c40260d4298b3e71a9879b43530b1e0b3f235a680bb0e7be76a375f4ae24696 qt3d-dba14d48611b9e9d59576172658779ab4a39b416.tar.bz2 # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPL diff --git a/package/qt5/qt53d/qt53d.mk b/package/qt5/qt53d/qt53d.mk index f3eff9edf04..9a07d189bdd 100644 --- a/package/qt5/qt53d/qt53d.mk +++ b/package/qt5/qt53d/qt53d.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT53D_VERSION = $(QT5_VERSION) -QT53D_SITE = $(QT5_SITE) -QT53D_SOURCE = qt3d-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT53D_VERSION).tar.xz +QT53D_VERSION = dba14d48611b9e9d59576172658779ab4a39b416 +QT53D_SITE = $(QT5_SITE)/qt3d/-/archive/$(QT53D_VERSION) +QT53D_SOURCE = qt3d-$(QT53D_VERSION).tar.bz2 QT53D_DEPENDENCIES = qt5declarative QT53D_INSTALL_STAGING = YES +QT53D_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_ASSIMP),y) QT53D_DEPENDENCIES += assimp diff --git a/package/qt5/qt5base/0006-Fix-build-on-riscv32.patch b/package/qt5/qt5base/0006-Fix-build-on-riscv32.patch new file mode 100644 index 00000000000..5561acb9ae0 --- /dev/null +++ b/package/qt5/qt5base/0006-Fix-build-on-riscv32.patch @@ -0,0 +1,46 @@ +From 035dc537bee26e3b63a211b2835d8560439e161f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 27 Aug 2021 16:28:32 +0200 +Subject: Fix build on riscv32 + +riscv32 fails to build because __NR_futex is not defined on this +architecture: + +In file included from thread/qmutex_linux.cpp:45, + from thread/qmutex.cpp:804: +thread/qfutex_p.h: In function 'int QtLinuxFutex::_q_futex(int*, int, int, quintptr, int*, int)': +thread/qfutex_p.h:116:30: error: '__NR_futex' was not declared in this scope; did you mean '_q_futex'? + 116 | int result = syscall(__NR_futex, addr, op | FUTEX_PRIVATE_FLAG, val, val2, addr2, val3); + | ^~~~~~~~~~ + | _q_futex + +Pick-to: 6.1 6.2 +Fixes: QTBUG-96067 +Change-Id: Ib6a9bcc496f37e69ac39362cb0a021fccaf311f5 +Reviewed-by: Thiago Macieira +[Retrieved from: +https://code.qt.io/cgit/qt/qtbase.git/commit/?id=035dc537bee26e3b63a211b2835d8560439e161f] +Signed-off-by: Fabrice Fontaine +--- + src/corelib/thread/qfutex_p.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/corelib/thread/qfutex_p.h b/src/corelib/thread/qfutex_p.h +index 40482b6fc1..037207a5c0 100644 +--- a/src/corelib/thread/qfutex_p.h ++++ b/src/corelib/thread/qfutex_p.h +@@ -103,6 +103,11 @@ QT_END_NAMESPACE + // if not defined in linux/futex.h + # define FUTEX_PRIVATE_FLAG 128 // added in v2.6.22 + ++// RISC-V does not supply __NR_futex ++# ifndef __NR_futex ++# define __NR_futex __NR_futex_time64 ++# endif ++ + QT_BEGIN_NAMESPACE + namespace QtLinuxFutex { + constexpr inline bool futexAvailable() { return true; } +-- +cgit v1.2.1 + diff --git a/package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch b/package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch new file mode 100644 index 00000000000..5f0f81a4bd7 --- /dev/null +++ b/package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch @@ -0,0 +1,48 @@ +From e9d1f80dffb4e29e44fc0b0627704af15cdd281a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 13 Mar 2022 12:05:04 +0100 +Subject: [PATCH] src/corelib/configure.json: fix atomicfptr detection + +Fix atomicfptr detection on sparc v8 by linking with libatomic if needed +to avoid the following build failure: + +/sysroot -std=gnu++11 -w -fPIC -I. -I/home/peko/autobuild/instance-0/output-1/build/qt5base-d16bf02a11953dcac01dca73e6f3778f293adefe/mkspecs/devices/linux-buildroot-g++ -o main.o main.cpp +> /home/peko/autobuild/instance-0/output-1/host/bin/sparc-linux-g++ --sysroot=/home/peko/autobuild/instance-0/output-1/host/sparc-buildroot-linux-uclibc/sysroot --sysroot=/home/peko/autobuild/instance-0/output-1/host/sparc-buildroot-linux-uclibc/sysroot -Wl,-O1 -o atomicfptr main.o -lexecinfo -lrt -lpthread -ldl +> /home/peko/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: main.o: in function `test(std::atomic volatile&)': +> main.cpp:(.text+0x40): undefined reference to `__atomic_compare_exchange_4' +> collect2: error: ld returned 1 exit status +> make[1]: *** [Makefile:69: atomicfptr] Error 1 + +[...] + +ERROR: detected a std::atomic implementation that fails for function pointers. +Please apply the patch corresponding to your Standard Library vendor, found in + qtbase/config.tests/atomicfptr + +Fixes: + - http://autobuild.buildroot.org/results/5a20e984a5536165056b3fbd93b8712e8ddbeed4 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://invent.kde.org/qt/qt/qtbase/-/merge_requests/138] +--- + src/corelib/configure.json | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/corelib/configure.json b/src/corelib/configure.json +index 9b5d19d41b..ac88f5856c 100644 +--- a/src/corelib/configure.json ++++ b/src/corelib/configure.json +@@ -309,7 +309,8 @@ + "test(fptr);" + ], + "qmake": "CONFIG += c++11" +- } ++ }, ++ "use": "libatomic" + }, + "clock-monotonic": { + "label": "POSIX monotonic clock", +-- +2.34.1 + diff --git a/package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch b/package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch new file mode 100644 index 00000000000..c7127291e4b --- /dev/null +++ b/package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch @@ -0,0 +1,37 @@ +From f681f428477812e54484f631b0da332cc2e00eaa Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Wed, 16 Mar 2022 19:08:55 +0100 +Subject: [PATCH] eglconvenience: add missing QList include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + qeglconvenience.cpp:418:23: error: variable ‘QList extensions’ has initializer but incomplete type + 418 | QList extensions = + | ^~~~~~~~~~ + qeglconvenience.cpp:420:65: error: invalid use of incomplete type ‘class QList’ + 420 | (eglQueryString(display, EGL_EXTENSIONS))).split(' '); + | ^ + +Signed-off-by: Peter Seiderer +--- + src/platformsupport/eglconvenience/qeglconvenience.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/platformsupport/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp +index 5303d37c..daceeb8b 100644 +--- a/src/platformsupport/eglconvenience/qeglconvenience.cpp ++++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp +@@ -38,6 +38,7 @@ + ****************************************************************************/ + + #include ++#include + #include + + #ifdef Q_OS_LINUX +-- +2.35.1 + diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index ee7c757c60f..b876f1948ed 100644 --- a/package/qt5/qt5base/Config.in +++ b/package/qt5/qt5base/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_QT5BASE select BR2_PACKAGE_ZLIB select BR2_PACKAGE_PCRE2 select BR2_PACKAGE_PCRE2_16 + select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL help Qt is a cross-platform application and UI framework for developers using C++. @@ -11,7 +12,7 @@ config BR2_PACKAGE_QT5BASE contains the base Qt libraries: QtCore, QtNetwork, QtGui, QtWidgets, etc. - http://qt.io + https://qt.io if BR2_PACKAGE_QT5BASE @@ -73,6 +74,7 @@ config BR2_PACKAGE_QT5BASE_PSQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Build PostgreSQL plugin @@ -82,6 +84,9 @@ comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "PostgreSQL plugin can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + choice prompt "SQLite 3 support" default BR2_PACKAGE_QT5BASE_SQLITE_NONE @@ -236,7 +241,7 @@ config BR2_PACKAGE_QT5BASE_HARFBUZZ bool "harfbuzz support" select BR2_PACKAGE_HARFBUZZ if \ BR2_TOOLCHAIN_HAS_SYNC_4 && \ - BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 help This option enables HarfBuzz support (either system harfbuzz if the toolchain supports __sync for 4 bytes, or the qt diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash index a824890e3c4..c031f71c77a 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/package/qt5/qt5base/qt5base.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtbase-everywhere-src-5.15.2.tar.xz.sha256 -sha256 909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8 qtbase-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 18c17d441fbefa9dd13d1d6bfb5f542c986ba86cc37930247f9e4d782df2244b qtbase-f31e001a9399e4e620847ea2c3e90749350140ae.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 84e9fa4edb4..f880f806cc2 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -4,12 +4,22 @@ # ################################################################################ -QT5BASE_VERSION = $(QT5_VERSION) -QT5BASE_SITE = $(QT5_SITE) -QT5BASE_SOURCE = qtbase-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5BASE_VERSION).tar.xz +QT5BASE_VERSION = f31e001a9399e4e620847ea2c3e90749350140ae +QT5BASE_SITE = $(QT5_SITE)/qtbase/-/archive/$(QT5BASE_VERSION) +QT5BASE_SOURCE = qtbase-$(QT5BASE_VERSION).tar.bz2 QT5BASE_DEPENDENCIES = host-pkgconf pcre2 zlib QT5BASE_INSTALL_STAGING = YES +QT5BASE_SYNC_QT_HEADERS = YES + +# From commits: +# 4ce7053a59 "Avoid processing-intensive painting of high number of tiny dashes" +# e7ea2ed27c "Improve fix for avoiding huge number of tiny dashes" +QT5BASE_IGNORE_CVES += CVE-2021-38593 +# From commit 2766b2cba6ca4b1c430304df5437e2a6c874b107 "QProcess/Unix: ensure we don't accidentally execute something from CWD" +QT5BASE_IGNORE_CVES += CVE-2022-25255 +# From commit e68ca8e51375d963b2391715f70b42707992dbd8 "Windows: use QSystemLibrary instead of LoadLibrary directly" +QT5BASE_IGNORE_CVES += CVE-2022-25634 # A few comments: # * -no-pch to workaround the issue described at @@ -69,24 +79,14 @@ else QT5BASE_CONFIGURE_OPTS += -no-kms endif -# Uses libgbm from mesa3d -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) -QT5BASE_CONFIGURE_OPTS += -gbm -QT5BASE_DEPENDENCIES += mesa3d -else ifeq ($(BR2_PACKAGE_GCNANO_BINARIES),y) -QT5BASE_CONFIGURE_OPTS += -gbm -QT5BASE_DEPENDENCIES += gcnano-binaries -else ifeq ($(BR2_PACKAGE_TI_SGX_UM),y) -QT5BASE_CONFIGURE_OPTS += -gbm -QT5BASE_DEPENDENCIES += ti-sgx-um -else ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y) +ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y) QT5BASE_CONFIGURE_OPTS += -gbm -QT5BASE_DEPENDENCIES += imx-gpu-viv +QT5BASE_DEPENDENCIES += libgbm else QT5BASE_CONFIGURE_OPTS += -no-gbm endif -ifeq ($(BR2_ENABLE_DEBUG),y) +ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) QT5BASE_CONFIGURE_OPTS += -debug else QT5BASE_CONFIGURE_OPTS += -release @@ -116,6 +116,13 @@ else QT5BASE_CONFIGURE_OPTS += -no-cups endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +QT5BASE_DEPENDENCIES += zstd +QT5BASE_CONFIGURE_OPTS += -zstd +else +QT5BASE_CONFIGURE_OPTS += -no-zstd +endif + # Qt5 SQL Plugins ifeq ($(BR2_PACKAGE_QT5BASE_SQL),y) ifeq ($(BR2_PACKAGE_QT5BASE_MYSQL),y) @@ -167,9 +174,13 @@ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,- QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb) +ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y) +QT5BASE_CONFIGURE_OPTS += -xkbcommon +QT5BASE_DEPENDENCIES += libxkbcommon +endif + ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) QT5BASE_CONFIGURE_OPTS += -xcb -QT5BASE_CONFIGURE_OPTS += -xkbcommon QT5BASE_DEPENDENCIES += \ libxcb \ @@ -177,8 +188,7 @@ QT5BASE_DEPENDENCIES += \ xcb-util-image \ xcb-util-keysyms \ xcb-util-renderutil \ - xlib_libX11 \ - libxkbcommon + xlib_libX11 ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y) QT5BASE_DEPENDENCIES += xlib_libXext endif @@ -226,11 +236,21 @@ QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_TSLIB),tslib) QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBGLIB2),-glib,-no-glib) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) +QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBKRB5),libkrb5) + QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_ICU),-icu,-no-icu) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_ICU),icu) QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_EXAMPLES),-make,-nomake) examples +# see qt5base-5.15.2/src/corelib/global/qlogging.cpp:110 - __has_include() +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +QT5BASE_DEPENDENCIES += libexecinfo +define QT5BASE_CONFIGURE_ARCH_CONFIG_LIBEXECINFO + printf '!host_build { \n LIBS += -lexecinfo\n }' >$(QT5BASE_ARCH_CONFIG_FILE) +endef +endif + ifeq ($(BR2_PACKAGE_LIBINPUT),y) QT5BASE_CONFIGURE_OPTS += -libinput QT5BASE_DEPENDENCIES += libinput @@ -262,9 +282,12 @@ endif ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y) # use vivante backend QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_viv -else ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE),y) +else ifeq ($(BR2_PACKAGE_SUNXI_MALI_UTGARD),y) # use mali backend QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_mali +else ifeq ($(BR2_PACKAGE_ROCKCHIP_MALI),y) +# use kms backend +QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_kms endif ifneq ($(QT5BASE_CONFIG_FILE),) @@ -276,8 +299,8 @@ endif QT5BASE_ARCH_CONFIG_FILE = $(@D)/mkspecs/devices/linux-buildroot-g++/arch.conf ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) # Qt 5.8 needs atomics, which on various architectures are in -latomic -define QT5BASE_CONFIGURE_ARCH_CONFIG - printf 'LIBS += -latomic\n' >$(QT5BASE_ARCH_CONFIG_FILE) +define QT5BASE_CONFIGURE_ARCH_CONFIG_LIBATOMIC + printf '!host_build { \n LIBS += -latomic\n }' >$(QT5BASE_ARCH_CONFIG_FILE) endef endif @@ -299,7 +322,8 @@ define QT5BASE_CONFIGURE_CMDS $(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h $(QT5BASE_CONFIGURE_CONFIG_FILE) touch $(QT5BASE_ARCH_CONFIG_FILE) - $(QT5BASE_CONFIGURE_ARCH_CONFIG) + $(QT5BASE_CONFIGURE_ARCH_CONFIG_LIBATOMIC) + $(QT5BASE_CONFIGURE_ARCH_CONFIG_LIBEXECINFO) $(QT5BASE_CONFIGURE_HOSTCC) (cd $(@D); \ $(TARGET_MAKE_ENV) \ diff --git a/package/qt5/qt5charts/qt5charts.hash b/package/qt5/qt5charts/qt5charts.hash index b52be714b72..021d4ea19f2 100644 --- a/package/qt5/qt5charts/qt5charts.hash +++ b/package/qt5/qt5charts/qt5charts.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtcharts-everywhere-src-5.15.2.tar.xz.sha256 -sha256 e0750e4195bd8a8b9758ab4d98d437edbe273cd3d289dd6a8f325df6d13f3d11 qtcharts-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 60f973c79aa059981347864ca26ef361ac38bc835286ac5875f6c7c1248a9b21 qtcharts-130463160b4923069eb98da49edaf7d93180f4f8.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5charts/qt5charts.mk b/package/qt5/qt5charts/qt5charts.mk index 2c40ac1c89f..24e635b93bc 100644 --- a/package/qt5/qt5charts/qt5charts.mk +++ b/package/qt5/qt5charts/qt5charts.mk @@ -4,10 +4,11 @@ # ################################################################################ -QT5CHARTS_VERSION = $(QT5_VERSION) -QT5CHARTS_SITE = $(QT5_SITE) -QT5CHARTS_SOURCE = qtcharts-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5CHARTS_VERSION).tar.xz +QT5CHARTS_VERSION = 130463160b4923069eb98da49edaf7d93180f4f8 +QT5CHARTS_SITE = $(QT5_SITE)/qtcharts/-/archive/$(QT5CHARTS_VERSION) +QT5CHARTS_SOURCE = qtcharts-$(QT5CHARTS_VERSION).tar.bz2 QT5CHARTS_INSTALL_STAGING = YES +QT5CHARTS_SYNC_QT_HEADERS = YES QT5CHARTS_LICENSE = GPL-3.0 QT5CHARTS_LICENSE_FILES = LICENSE.GPL3 diff --git a/package/qt5/qt5coap/qt5coap.mk b/package/qt5/qt5coap/qt5coap.mk index 24de8691208..a50f19d7f22 100644 --- a/package/qt5/qt5coap/qt5coap.mk +++ b/package/qt5/qt5coap/qt5coap.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5COAP_VERSION = $(QT5_VERSION) +QT5COAP_VERSION = 5.15.2 QT5COAP_SITE = https://code.qt.io/cgit/qt/qtcoap.git QT5COAP_SITE_METHOD = git QT5COAP_INSTALL_STAGING = YES diff --git a/package/qt5/qt5connectivity/Config.in b/package/qt5/qt5connectivity/Config.in index 51e8978f1fe..244d01676d1 100644 --- a/package/qt5/qt5connectivity/Config.in +++ b/package/qt5/qt5connectivity/Config.in @@ -10,8 +10,8 @@ config BR2_PACKAGE_QT5CONNECTIVITY Qt Connectivity module provides support for Bluetooth/NFC peripherials. - http://doc.qt.io/qt-5/qtbluetooth-index.html - http://doc.qt.io/qt-5/qtnfc-index.html + https://doc.qt.io/qt-5/qtbluetooth-index.html + https://doc.qt.io/qt-5/qtnfc-index.html comment "qt5connectivity needs neard and/or bluez5_utils" depends on !BR2_PACKAGE_NEARD && !BR2_PACKAGE_BLUEZ5_UTILS diff --git a/package/qt5/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash index 3edc2d666a4..12e9d637b25 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.hash +++ b/package/qt5/qt5connectivity/qt5connectivity.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtconnectivity-everywhere-src-5.15.2.tar.xz.sha256 -sha256 0380327871f76103e5b8c2a305988d76d352b6a982b3e7b3bc3cdc184c64bfa0 qtconnectivity-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 216e9f6b1be00897ac1ce12f0ea4d1733eb70acd49ec3a83d01cd472b2fb5450 qtconnectivity-5e9ca5d36d65dadb98ef90013a1dcf15fbd7ae26.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5connectivity/qt5connectivity.mk b/package/qt5/qt5connectivity/qt5connectivity.mk index 6402b505bfe..a4c79be10b7 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.mk +++ b/package/qt5/qt5connectivity/qt5connectivity.mk @@ -4,10 +4,11 @@ # ################################################################################ -QT5CONNECTIVITY_VERSION = $(QT5_VERSION) -QT5CONNECTIVITY_SITE = $(QT5_SITE) -QT5CONNECTIVITY_SOURCE = qtconnectivity-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5CONNECTIVITY_VERSION).tar.xz +QT5CONNECTIVITY_VERSION = 5e9ca5d36d65dadb98ef90013a1dcf15fbd7ae26 +QT5CONNECTIVITY_SITE = $(QT5_SITE)/qtconnectivity/-/archive/$(QT5CONNECTIVITY_VERSION) +QT5CONNECTIVITY_SOURCE = qtconnectivity-$(QT5CONNECTIVITY_VERSION).tar.bz2 QT5CONNECTIVITY_INSTALL_STAGING = YES +QT5CONNECTIVITY_SYNC_QT_HEADERS = YES QT5CONNECTIVITY_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5CONNECTIVITY_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL diff --git a/package/qt5/qt5declarative/0002-qv4regexp_p-needs-c-limits-include-instead-of-plain-.patch b/package/qt5/qt5declarative/0002-qv4regexp_p-needs-c-limits-include-instead-of-plain-.patch new file mode 100644 index 00000000000..d3344c646b1 --- /dev/null +++ b/package/qt5/qt5declarative/0002-qv4regexp_p-needs-c-limits-include-instead-of-plain-.patch @@ -0,0 +1,41 @@ +From bfd3d907f48aba870be00cd251f0b63d34985be2 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 22 Jul 2021 23:02:29 +0200 +Subject: [PATCH] qv4regexp_p: needs c++ limits include (instead of plain c + limit.h) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes gcc-11 compile: + + In file included from jsruntime/qv4regexp_p.h:62, + from jsruntime/qv4regexp.cpp:40: + ../3rdparty/masm/yarr/Yarr.h:46:44: error: ‘numeric_limits’ is not a member of ‘std’ + 46 | static const unsigned offsetNoMatch = std::numeric_limits::max(); + | ^~~~~~~~~~~~~~ + ../3rdparty/masm/yarr/Yarr.h:46:59: error: expected primary-expression before ‘unsigned’ + 46 | static const unsigned offsetNoMatch = std::numeric_limits::max(); + | ^~~~~~~~ + +Signed-off-by: Peter Seiderer +--- + src/qml/jsruntime/qv4regexp_p.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/qml/jsruntime/qv4regexp_p.h b/src/qml/jsruntime/qv4regexp_p.h +index 6afb10ea95..c64f3d3c38 100644 +--- a/src/qml/jsruntime/qv4regexp_p.h ++++ b/src/qml/jsruntime/qv4regexp_p.h +@@ -57,7 +57,7 @@ + #include + #include + +-#include ++#include + + #include + #include +-- +2.32.0 + diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in index 3ba9224c22f..477e1970a17 100644 --- a/package/qt5/qt5declarative/Config.in +++ b/package/qt5/qt5declarative/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_QT5DECLARATIVE bool "qt5declarative" depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - select BR2_PACKAGE_QT5BASE_GUI help Qt is a cross-platform application and UI framework for developers using C++. @@ -9,13 +8,14 @@ config BR2_PACKAGE_QT5DECLARATIVE Qt Declarative module provides the Qt QML and Qt Quick modules for developing UIs with the QML language - http://doc.qt.io/qt-5/qtqml-index.html - http://doc.qt.io/qt-5/qtquick-index.html + https://doc.qt.io/qt-5/qtqml-index.html + https://doc.qt.io/qt-5/qtquick-index.html if BR2_PACKAGE_QT5DECLARATIVE config BR2_PACKAGE_QT5DECLARATIVE_QUICK bool "quick module" + select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE endif diff --git a/package/qt5/qt5declarative/qt5declarative.hash b/package/qt5/qt5declarative/qt5declarative.hash index ab83b718143..adda7e03baa 100644 --- a/package/qt5/qt5declarative/qt5declarative.hash +++ b/package/qt5/qt5declarative/qt5declarative.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtdeclarative-everywhere-src-5.15.2.tar.xz.sha256 -sha256 c600d09716940f75d684f61c5bdaced797f623a86db1627da599027f6c635651 qtdeclarative-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 14a4b9640a2cd94771108dc3658a77c04c680f3d6444750d55e313b20774ce00 qtdeclarative-9349f3975d26632befc036fc9f2ea6e03aee2182.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5declarative/qt5declarative.mk b/package/qt5/qt5declarative/qt5declarative.mk index 3318cd24c89..e63a78021a2 100644 --- a/package/qt5/qt5declarative/qt5declarative.mk +++ b/package/qt5/qt5declarative/qt5declarative.mk @@ -4,10 +4,11 @@ # ################################################################################ -QT5DECLARATIVE_VERSION = $(QT5_VERSION) -QT5DECLARATIVE_SITE = $(QT5_SITE) -QT5DECLARATIVE_SOURCE = qtdeclarative-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5DECLARATIVE_VERSION).tar.xz +QT5DECLARATIVE_VERSION = 9349f3975d26632befc036fc9f2ea6e03aee2182 +QT5DECLARATIVE_SITE = $(QT5_SITE)/qtdeclarative/-/archive/$(QT5DECLARATIVE_VERSION) +QT5DECLARATIVE_SOURCE = qtdeclarative-$(QT5DECLARATIVE_VERSION).tar.bz2 QT5DECLARATIVE_INSTALL_STAGING = YES +QT5DECLARATIVE_SYNC_QT_HEADERS = YES QT5DECLARATIVE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5DECLARATIVE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in index d445d91dea0..b738f0db7cd 100644 --- a/package/qt5/qt5enginio/Config.in +++ b/package/qt5/qt5enginio/Config.in @@ -13,4 +13,4 @@ config BR2_PACKAGE_QT5ENGINIO This package has been tagged as deprecated since version 5.6 and not recommended for new design. - http://doc.qt.io/archives/qt-5.5/enginio-index.html + https://doc.qt.io/archives/qt-5.5/enginio-index.html diff --git a/package/qt5/qt5graphicaleffects/Config.in b/package/qt5/qt5graphicaleffects/Config.in index 69b7fca4135..01946d8b7ad 100644 --- a/package/qt5/qt5graphicaleffects/Config.in +++ b/package/qt5/qt5graphicaleffects/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_QT5GRAPHICALEFFECTS for adding visually impressive and configurable effects to user interfaces. - http://doc.qt.io/qt-5/qtgraphicaleffects-index.html + https://doc.qt.io/qt-5/qtgraphicaleffects-index.html comment "qt5graphicaleffects needs an OpenGL-capable backend" depends on !BR2_PACKAGE_QT5_GL_AVAILABLE diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index 9d7a837b8be..e755f0848b4 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtgraphicaleffects-everywhere-src-5.15.2.tar.xz.sha256 -sha256 ec8d67f64967d5046410490b549c576f9b9e8b47ec68594ae84aa8870173dfe4 qtgraphicaleffects-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 3035f0a07a0c0a0627ecd082de4b39bbe91521314f11bb63bf4ce81347b855f9 qtgraphicaleffects-c36998dc1581167b12cc3de8e4ac68c2a5d9f76e.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk index a9ddff454ef..542eb4de902 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5GRAPHICALEFFECTS_VERSION = $(QT5_VERSION) -QT5GRAPHICALEFFECTS_SITE = $(QT5_SITE) -QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5GRAPHICALEFFECTS_VERSION).tar.xz +QT5GRAPHICALEFFECTS_VERSION = c36998dc1581167b12cc3de8e4ac68c2a5d9f76e +QT5GRAPHICALEFFECTS_SITE = $(QT5_SITE)/qtgraphicaleffects/-/archive/$(QT5GRAPHICALEFFECTS_VERSION) +QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-$(QT5GRAPHICALEFFECTS_VERSION).tar.bz2 QT5GRAPHICALEFFECTS_DEPENDENCIES = qt5declarative QT5GRAPHICALEFFECTS_INSTALL_STAGING = YES +QT5GRAPHICALEFFECTS_SYNC_QT_HEADERS = YES QT5GRAPHICALEFFECTS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5GRAPHICALEFFECTS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL diff --git a/package/qt5/qt5imageformats/Config.in b/package/qt5/qt5imageformats/Config.in index 991f22f5140..2504d23a594 100644 --- a/package/qt5/qt5imageformats/Config.in +++ b/package/qt5/qt5imageformats/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_QT5IMAGEFORMATS The Qt Image Formats module provides plugins for additional image formats: TIFF, MNG, TGA, WBMP - http://doc.qt.io/qt-5/qtimageformats-index.html + https://doc.qt.io/qt-5/qtimageformats-index.html diff --git a/package/qt5/qt5imageformats/qt5imageformats.hash b/package/qt5/qt5imageformats/qt5imageformats.hash index b4281e712da..49690de3bb3 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/package/qt5/qt5imageformats/qt5imageformats.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtimageformats-everywhere-src-5.15.2.tar.xz.sha256 -sha256 bf8285c7ce04284527ab823ddc7cf48a1bb79131db3a7127342167f4814253d7 qtimageformats-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 f2ff68c0d7192443e2fbcfdec73ee6a6bb160461b7757539906d9ad0c7f600d9 qtimageformats-cb82c74310837fe4e832c8ab72176a5d63e4355f.tar.bz2 # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5imageformats/qt5imageformats.mk b/package/qt5/qt5imageformats/qt5imageformats.mk index ffb094d5667..506cd123a83 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.mk +++ b/package/qt5/qt5imageformats/qt5imageformats.mk @@ -4,10 +4,11 @@ # ################################################################################ -QT5IMAGEFORMATS_VERSION = $(QT5_VERSION) -QT5IMAGEFORMATS_SITE = $(QT5_SITE) -QT5IMAGEFORMATS_SOURCE = qtimageformats-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5IMAGEFORMATS_VERSION).tar.xz +QT5IMAGEFORMATS_VERSION = cb82c74310837fe4e832c8ab72176a5d63e4355f +QT5IMAGEFORMATS_SITE = $(QT5_SITE)/qtimageformats/-/archive/$(QT5IMAGEFORMATS_VERSION) +QT5IMAGEFORMATS_SOURCE = qtimageformats-$(QT5IMAGEFORMATS_VERSION).tar.bz2 QT5IMAGEFORMATS_INSTALL_STAGING = YES +QT5IMAGEFORMATS_SYNC_QT_HEADERS = YES QT5IMAGEFORMATS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5IMAGEFORMATS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL diff --git a/package/qt5/qt5knx/qt5knx.mk b/package/qt5/qt5knx/qt5knx.mk index 9fc121111ca..412e31c6529 100644 --- a/package/qt5/qt5knx/qt5knx.mk +++ b/package/qt5/qt5knx/qt5knx.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5KNX_VERSION = $(QT5_VERSION) +QT5KNX_VERSION = 5.15.2 QT5KNX_SITE = https://code.qt.io/cgit/qt/qtknx.git QT5KNX_SITE_METHOD = git QT5KNX_INSTALL_STAGING = YES diff --git a/package/qt5/qt5location/0001-3rdparty-mapbox-gl-native-fix-musl-compile-pthread_g.patch b/package/qt5/qt5location/0001-3rdparty-mapbox-gl-native-fix-musl-compile-pthread_g.patch new file mode 100644 index 00000000000..0894af9ce51 --- /dev/null +++ b/package/qt5/qt5location/0001-3rdparty-mapbox-gl-native-fix-musl-compile-pthread_g.patch @@ -0,0 +1,47 @@ +From acf752757ee4bf2913289ee1142f4968fdb22a4a Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Wed, 15 Sep 2021 23:05:52 +0200 +Subject: [PATCH] 3rdparty: mapbox-gl-native: fix musl compile + (pthread_getname_np) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- pthread_getname_np not available with musl libc (patch inspired/ported + from [1]) + +Fixes: + + platform/default/thread.cpp: In function ‘std::string mbgl::platform::getCurrentThreadName()’: + platform/default/thread.cpp:14:5: error: ‘pthread_getname_np’ was not declared in this scope; did you mean ‘pthread_setname_np’? + 14 | pthread_getname_np(pthread_self(), name, sizeof(name)); + | ^~~~~~~~~~~~~~~~~~ + | pthread_setname_np + +[1] https://github.com/void-linux/void-packages/blob/e64dd67f43c409d2b2db08214084e842d92ad620/srcpkgs/qt5/patches/0014-musl-set_thread_name_np.patch + +Signed-off-by: Peter Seiderer +[yann.morin.1998@free.fr: add uClibc] +Signed-off-by: Yann E. MORIN +--- + src/3rdparty/mapbox-gl-native/platform/default/thread.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/3rdparty/mapbox-gl-native/platform/default/thread.cpp b/src/3rdparty/mapbox-gl-native/platform/default/thread.cpp +index c7c79b4..3f135eb 100644 +--- a/src/3rdparty/mapbox-gl-native/platform/default/thread.cpp ++++ b/src/3rdparty/mapbox-gl-native/platform/default/thread.cpp +@@ -11,8 +11,9 @@ namespace platform { + + std::string getCurrentThreadName() { + char name[32] = "unknown"; ++#if defined(__GLIBC__) || defined(__UCLIBC__) + pthread_getname_np(pthread_self(), name, sizeof(name)); +- ++#endif + return name; + } + +-- +2.33.0 + diff --git a/package/qt5/qt5location/0002-fix-compilation-for-no-opengl-builds.patch b/package/qt5/qt5location/0002-fix-compilation-for-no-opengl-builds.patch new file mode 100644 index 00000000000..98e65df202c --- /dev/null +++ b/package/qt5/qt5location/0002-fix-compilation-for-no-opengl-builds.patch @@ -0,0 +1,528 @@ +From 4bcacd0dc8f73de7b9e5e5f5fa2129fd88bdff3b Mon Sep 17 00:00:00 2001 +From: Michal Klocek +Date: Mon, 11 Jan 2021 16:02:14 +0100 +Subject: [PATCH] Fix compilation for no opengl builds + +Disables experimental labs qml plugin, which +since a4469cad40 depends heavily on opengl backend. + +Fix warnings with msvc when compiling without experimental +plugin. + +Task-number: QTBUG-91623 +Fixes: QTBUG-88017 +Change-Id: I53c5da915981bd05f39134ba57f585d0a0786aa8 + +Signed-off-by: Michal Klocek +Signed-off-by: Alex Blasche + +[Retrieved from: https://codereview.qt-project.org/c/qt/qtlocation/+/340353] +Signed-off-by: Adam Duskett +--- + src/location/configure.json | 1 + + .../qdeclarativecirclemapitem.cpp | 20 +++++++++++-- + .../qdeclarativecirclemapitem_p_p.h | 2 ++ + .../qdeclarativepolygonmapitem.cpp | 27 +++++++++++++---- + .../qdeclarativepolygonmapitem_p_p.h | 6 ++++ + .../qdeclarativepolylinemapitem.cpp | 30 +++++++++++++++---- + .../qdeclarativepolylinemapitem_p.h | 2 ++ + .../qdeclarativepolylinemapitem_p_p.h | 5 +++- + .../qdeclarativerectanglemapitem.cpp | 17 +++++++++-- + .../qdeclarativerectanglemapitem_p_p.h | 2 ++ + src/location/location.pro | 9 +++++- + .../itemsoverlay/qgeomapitemsoverlay.cpp | 9 +++++- + 12 files changed, 109 insertions(+), 21 deletions(-) + +diff --git a/src/location/configure.json b/src/location/configure.json +index 62ab029..6d01a9a 100644 +--- a/src/location/configure.json ++++ b/src/location/configure.json +@@ -9,6 +9,7 @@ + "label": "Qt.labs.location experimental QML plugin", + "purpose": "Provides experimental QtLocation QML types", + "section": "Location", ++ "condition": "config.opengl", + "output": [ "privateFeature" ] + }, + "geoservices_osm": { +diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp +index 841c29a..955de2c 100644 +--- a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp ++++ b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp +@@ -446,6 +446,7 @@ void QDeclarativeCircleMapItem::updatePolish() + */ + void QDeclarativeCircleMapItem::possiblySwitchBackend(const QGeoCoordinate &oldCenter, qreal oldRadius, const QGeoCoordinate &newCenter, qreal newRadius) + { ++#if QT_CONFIG(opengl) + if (m_backend != QDeclarativeCircleMapItem::OpenGL) + return; + +@@ -459,6 +460,9 @@ void QDeclarativeCircleMapItem::possiblySwitchBackend(const QGeoCoordinate &oldC + QScopedPointer d(static_cast(new QDeclarativeCircleMapItemPrivateOpenGL(*this))); + m_d.swap(d); + } ++#else ++ return; ++#endif + } + + /*! +@@ -534,9 +538,17 @@ void QDeclarativeCircleMapItem::setBackend(QDeclarativeCircleMapItem::Backend b) + if (b == m_backend) + return; + m_backend = b; +- QScopedPointer d((m_backend == Software) +- ? static_cast(new QDeclarativeCircleMapItemPrivateCPU(*this)) +- : static_cast(new QDeclarativeCircleMapItemPrivateOpenGL(*this))); ++ QScopedPointer d( ++ (m_backend == Software) ? static_cast( ++ new QDeclarativeCircleMapItemPrivateCPU(*this)) ++#if QT_CONFIG(opengl) ++ : static_cast( ++ new QDeclarativeCircleMapItemPrivateOpenGL(*this))); ++#else ++ : nullptr); ++ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl " ++ "support"); ++#endif + m_d.swap(d); + m_d->onGeoGeometryChanged(); + emit backendChanged(); +@@ -565,7 +577,9 @@ QDeclarativeCircleMapItemPrivate::~QDeclarativeCircleMapItemPrivate() {} + + QDeclarativeCircleMapItemPrivateCPU::~QDeclarativeCircleMapItemPrivateCPU() {} + ++#if QT_CONFIG(opengl) + QDeclarativeCircleMapItemPrivateOpenGL::~QDeclarativeCircleMapItemPrivateOpenGL() {} ++#endif + + bool QDeclarativeCircleMapItemPrivate::preserveCircleGeometry (QList &path, + const QGeoCoordinate ¢er, qreal distance, const QGeoProjectionWebMercator &p) +diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h b/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h +index 4cf4217..dbe6c8b 100644 +--- a/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h ++++ b/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h +@@ -275,6 +275,7 @@ public: + MapPolygonNode *m_node = nullptr; + }; + ++#if QT_CONFIG(opengl) + class Q_LOCATION_PRIVATE_EXPORT QDeclarativeCircleMapItemPrivateOpenGL: public QDeclarativeCircleMapItemPrivate + { + public: +@@ -443,6 +444,7 @@ public: + MapPolygonNodeGL *m_node = nullptr; + MapPolylineNodeOpenGLExtruded *m_polylinenode = nullptr; + }; ++#endif // QT_CONFIG(opengl) + + QT_END_NAMESPACE + +diff --git a/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp b/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp +index fa6ee17..af4f55e 100644 +--- a/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp ++++ b/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp +@@ -334,6 +334,7 @@ void QGeoMapPolygonGeometry::updateScreenPoints(const QGeoMap &map, qreal stroke + this->translate(QPointF(strokeWidth, strokeWidth)); + } + ++#if QT_CONFIG(opengl) + QGeoMapPolygonGeometryOpenGL::QGeoMapPolygonGeometryOpenGL(){ + } + +@@ -344,6 +345,7 @@ void QGeoMapPolygonGeometryOpenGL::updateSourcePoints(const QGeoMap &map, const + geopath.append(QWebMercator::mercatorToCoord(c)); + updateSourcePoints(map, geopath); + } ++#endif + + // wrapPath always preserves the geometry + // This one handles holes +@@ -452,6 +454,7 @@ static void cutPathEars(const QList &wrappedPath, + screenIndices << quint32(i); + } + ++#if QT_CONFIG(opengl) + /*! + \internal + */ +@@ -594,7 +597,7 @@ void QGeoMapPolygonGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebMe + sourceBounds_.setWidth(brect.width()); + sourceBounds_.setHeight(brect.height()); + } +- ++#endif // QT_CONFIG(opengl) + /* + * QDeclarativePolygonMapItem Private Implementations + */ +@@ -603,8 +606,9 @@ QDeclarativePolygonMapItemPrivate::~QDeclarativePolygonMapItemPrivate() {} + + QDeclarativePolygonMapItemPrivateCPU::~QDeclarativePolygonMapItemPrivateCPU() {} + ++#if QT_CONFIG(opengl) + QDeclarativePolygonMapItemPrivateOpenGL::~QDeclarativePolygonMapItemPrivateOpenGL() {} +- ++#endif + /* + * QDeclarativePolygonMapItem Implementation + */ +@@ -689,9 +693,17 @@ void QDeclarativePolygonMapItem::setBackend(QDeclarativePolygonMapItem::Backend + if (b == m_backend) + return; + m_backend = b; +- QScopedPointer d((m_backend == Software) +- ? static_cast(new QDeclarativePolygonMapItemPrivateCPU(*this)) +- : static_cast(new QDeclarativePolygonMapItemPrivateOpenGL(*this))); ++ QScopedPointer d( ++ (m_backend == Software) ? static_cast( ++ new QDeclarativePolygonMapItemPrivateCPU(*this)) ++#if QT_CONFIG(opengl) ++ : static_cast( ++ new QDeclarativePolygonMapItemPrivateOpenGL(*this))); ++#else ++ : nullptr); ++ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl " ++ "support"); ++#endif + m_d.swap(d); + m_d->onGeoGeometryChanged(); + emit backendChanged(); +@@ -898,6 +910,7 @@ void QDeclarativePolygonMapItem::geometryChanged(const QRectF &newGeometry, cons + + ////////////////////////////////////////////////////////////////////// + ++#if QT_CONFIG(opengl) + QSGMaterialShader *MapPolygonMaterial::createShader() const + { + return new MapPolygonShader(); +@@ -916,6 +929,7 @@ QSGMaterialType *MapPolygonMaterial::type() const + static QSGMaterialType type; + return &type; + } ++#endif + + MapPolygonNode::MapPolygonNode() : + border_(new MapPolylineNode()), +@@ -967,6 +981,7 @@ void MapPolygonNode::update(const QColor &fillColor, const QColor &borderColor, + } + } + ++#if QT_CONFIG(opengl) + MapPolygonNodeGL::MapPolygonNodeGL() : + //fill_material_(this), + fill_material_(), +@@ -1052,5 +1067,5 @@ void MapPolygonShader::updateState(const QSGMaterialShader::RenderState &state, + program()->setUniformValue(m_center_lowpart_id, vecCenter_lowpart); + program()->setUniformValue(m_wrapOffset_id, float(newMaterial->wrapOffset())); + } +- ++#endif // QT_CONFIG(opengl) + QT_END_NAMESPACE +diff --git a/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h b/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h +index 8d566e6..5e75deb 100644 +--- a/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h ++++ b/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h +@@ -89,6 +89,7 @@ protected: + bool assumeSimple_; + }; + ++#if QT_CONFIG(opengl) + class Q_LOCATION_PRIVATE_EXPORT QGeoMapPolygonGeometryOpenGL : public QGeoMapItemGeometry + { + public: +@@ -197,6 +198,7 @@ private: + int m_color_id; + int m_wrapOffset_id; + }; ++#endif // QT_CONFIG(opengl) + + class Q_LOCATION_PRIVATE_EXPORT MapPolygonMaterial : public QSGFlatColorMaterial + { +@@ -269,6 +271,7 @@ private: + QSGGeometry geometry_; + }; + ++#if QT_CONFIG(opengl) + class Q_LOCATION_PRIVATE_EXPORT MapPolygonNodeGL : public MapItemGeometryNode + { + +@@ -284,6 +287,7 @@ public: + MapPolygonMaterial fill_material_; + QSGGeometry geometry_; + }; ++#endif // QT_CONFIG(opengl) + + class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolygonMapItemPrivate + { +@@ -479,6 +483,7 @@ public: + MapPolygonNode *m_node = nullptr; + }; + ++#if QT_CONFIG(opengl) + class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolygonMapItemPrivateOpenGL: public QDeclarativePolygonMapItemPrivate + { + public: +@@ -662,6 +667,7 @@ public: + MapPolygonNodeGL *m_node = nullptr; + MapPolylineNodeOpenGLExtruded *m_polylinenode = nullptr; + }; ++#endif // QT_CONFIG(opengl) + + QT_END_NAMESPACE + +diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp +index d59704d..83d253f 100644 +--- a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp ++++ b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp +@@ -769,6 +769,7 @@ bool QGeoMapPolylineGeometry::contains(const QPointF &point) const + return false; + } + ++#if QT_CONFIG(opengl) + void QGeoMapPolylineGeometryOpenGL::updateSourcePoints(const QGeoMap &map, const QGeoPolygon &poly) + { + if (!sourceDirty_) +@@ -921,6 +922,7 @@ void QGeoMapPolylineGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebM + sourceBounds_.setWidth(brect.width() + strokeWidth); + sourceBounds_.setHeight(brect.height() + strokeWidth); + } ++#endif // QT_CONFIG(opengl) + + /* + * QDeclarativePolygonMapItem Private Implementations +@@ -928,12 +930,13 @@ void QGeoMapPolylineGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebM + + QDeclarativePolylineMapItemPrivate::~QDeclarativePolylineMapItemPrivate() {} + +- + QDeclarativePolylineMapItemPrivateCPU::~QDeclarativePolylineMapItemPrivateCPU() {} + ++#if QT_CONFIG(opengl) + QDeclarativePolylineMapItemPrivateOpenGLLineStrip::~QDeclarativePolylineMapItemPrivateOpenGLLineStrip() {} + + QDeclarativePolylineMapItemPrivateOpenGLExtruded::~QDeclarativePolylineMapItemPrivateOpenGLExtruded() {} ++#endif + + /* + * QDeclarativePolygonMapItem Implementation +@@ -941,10 +944,12 @@ QDeclarativePolylineMapItemPrivateOpenGLExtruded::~QDeclarativePolylineMapItemPr + + struct PolylineBackendSelector + { ++#if QT_CONFIG(opengl) + PolylineBackendSelector() + { + backend = (qgetenv("QTLOCATION_OPENGL_ITEMS").toInt()) ? QDeclarativePolylineMapItem::OpenGLExtruded : QDeclarativePolylineMapItem::Software; + } ++#endif + QDeclarativePolylineMapItem::Backend backend = QDeclarativePolylineMapItem::Software; + }; + +@@ -1236,11 +1241,22 @@ void QDeclarativePolylineMapItem::setBackend(QDeclarativePolylineMapItem::Backen + if (b == m_backend) + return; + m_backend = b; +- QScopedPointer d((m_backend == Software) +- ? static_cast(new QDeclarativePolylineMapItemPrivateCPU(*this)) +- : ((m_backend == OpenGLExtruded) +- ? static_cast(new QDeclarativePolylineMapItemPrivateOpenGLExtruded(*this)) +- : static_cast(new QDeclarativePolylineMapItemPrivateOpenGLLineStrip(*this)))); ++ QScopedPointer d( ++ (m_backend == Software) ++ ? static_cast( ++ new QDeclarativePolylineMapItemPrivateCPU(*this)) ++#if QT_CONFIG(opengl) ++ : ((m_backend == OpenGLExtruded) ++ ? static_cast( ++ new QDeclarativePolylineMapItemPrivateOpenGLExtruded(*this)) ++ : static_cast( ++ new QDeclarativePolylineMapItemPrivateOpenGLLineStrip( ++ *this)))); ++#else ++ : nullptr); ++ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl " ++ "support"); ++#endif + m_d.swap(d); + m_d->onGeoGeometryChanged(); + emit backendChanged(); +@@ -1477,6 +1493,7 @@ void MapPolylineNode::update(const QColor &fillColor, + } + } + ++#if QT_CONFIG(opengl) + MapPolylineNodeOpenGLLineStrip::MapPolylineNodeOpenGLLineStrip() + : geometry_(QSGGeometry::defaultAttributes_Point2D(), 0) + { +@@ -2080,5 +2097,6 @@ unsigned int QGeoMapItemLODGeometry::zoomForLOD(unsigned int zoom) + return res; + return res + 1; // give more resolution when closing in + } ++#endif // QT_CONFIG(opengl) + + QT_END_NAMESPACE +diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h b/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h +index 9cd20ea..d3d0ebd 100644 +--- a/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h ++++ b/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h +@@ -97,8 +97,10 @@ class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolylineMapItem : public QDeclarativ + public: + enum Backend { + Software = 0, ++#if QT_CONFIG(opengl) + OpenGLLineStrip = 1, + OpenGLExtruded = 2, ++#endif + }; + + explicit QDeclarativePolylineMapItem(QQuickItem *parent = 0); +diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h b/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h +index 2a921e2..e184391 100644 +--- a/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h ++++ b/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h +@@ -213,6 +213,7 @@ protected: + QSGGeometry geometry_; + }; + ++#if QT_CONFIG(opengl) + class Q_LOCATION_PRIVATE_EXPORT QGeoMapItemLODGeometry + { + public: +@@ -566,6 +567,7 @@ protected: + MapPolylineMaterialExtruded fill_material_; + QSGGeometry m_geometryTriangulating; + }; ++#endif // QT_CONFIG(opengl) + + class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolylineMapItemPrivate + { +@@ -720,6 +722,7 @@ public: + MapPolylineNode *m_node = nullptr; + }; + ++#if QT_CONFIG(opengl) + class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolylineMapItemPrivateOpenGLLineStrip: public QDeclarativePolylineMapItemPrivate + { + public: +@@ -884,7 +887,7 @@ public: + + MapPolylineNodeOpenGLExtruded *m_nodeTri = nullptr; + }; +- ++#endif // QT_CONFIG(opengl) + QT_END_NAMESPACE + + #endif // QDECLARATIVEPOLYLINEMAPITEM_P_P_H +diff --git a/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp b/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp +index 74d2cc1..6192be0 100644 +--- a/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp ++++ b/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp +@@ -185,9 +185,18 @@ void QDeclarativeRectangleMapItem::setBackend(QDeclarativeRectangleMapItem::Back + if (b == m_backend) + return; + m_backend = b; +- QScopedPointer d((m_backend == Software) +- ? static_cast(new QDeclarativeRectangleMapItemPrivateCPU(*this)) +- : static_cast(new QDeclarativeRectangleMapItemPrivateOpenGL(*this))); ++ QScopedPointer d( ++ (m_backend == Software) ? static_cast( ++ new QDeclarativeRectangleMapItemPrivateCPU(*this)) ++#if QT_CONFIG(opengl) ++ : static_cast( ++ new QDeclarativeRectangleMapItemPrivateOpenGL(*this))); ++#else ++ : nullptr); ++ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl " ++ "support"); ++#endif ++ + m_d.swap(d); + m_d->onGeoGeometryChanged(); + emit backendChanged(); +@@ -397,6 +406,8 @@ QDeclarativeRectangleMapItemPrivate::~QDeclarativeRectangleMapItemPrivate() {} + + QDeclarativeRectangleMapItemPrivateCPU::~QDeclarativeRectangleMapItemPrivateCPU() {} + ++#if QT_CONFIG(opengl) + QDeclarativeRectangleMapItemPrivateOpenGL::~QDeclarativeRectangleMapItemPrivateOpenGL() {} ++#endif + + QT_END_NAMESPACE +diff --git a/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h b/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h +index 65d2f61..f7ecd2a 100644 +--- a/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h ++++ b/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h +@@ -244,6 +244,7 @@ public: + MapPolygonNode *m_node = nullptr; + }; + ++#if QT_CONFIG(opengl) + class Q_LOCATION_PRIVATE_EXPORT QDeclarativeRectangleMapItemPrivateOpenGL: public QDeclarativeRectangleMapItemPrivate + { + public: +@@ -410,6 +411,7 @@ public: + MapPolygonNodeGL *m_node = nullptr; + MapPolylineNodeOpenGLExtruded *m_polylinenode = nullptr; + }; ++#endif // QT_CONFIG(opengl) + + QT_END_NAMESPACE + +diff --git a/src/location/location.pro b/src/location/location.pro +index b0e2c3f..ae20271 100644 +--- a/src/location/location.pro ++++ b/src/location/location.pro +@@ -39,7 +39,14 @@ include(maps/maps.pri) + include(places/places.pri) + include(declarativemaps/declarativemaps.pri) + include(declarativeplaces/declarativeplaces.pri) +-qtConfig(location-labs-plugin):include(labs/labs.pri) ++qtConfig(location-labs-plugin) { ++ include(labs/labs.pri) ++} else { ++ # FIXME: this should be moved out of plugin source code, geojson is referenced from other places ++ # within codebase,however compilation of location-labs-plugin is optional ++ PRIVATE_HEADERS += labs/qgeojson_p.h ++ SOURCES += labs/qgeojson.cpp ++} + + HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS + +diff --git a/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp b/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp +index 1ebad08..a764438 100644 +--- a/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp ++++ b/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp +@@ -103,6 +103,7 @@ QGeoMap::Capabilities QGeoMapItemsOverlay::capabilities() const + bool QGeoMapItemsOverlay::createMapObjectImplementation(QGeoMapObject *obj) + { + #ifndef LOCATIONLABS ++ Q_UNUSED(obj); + return false; + #else + Q_D(QGeoMapItemsOverlay); +@@ -132,7 +133,9 @@ QSGNode *QGeoMapItemsOverlay::updateSceneGraph(QSGNode *node, QQuickWindow *wind + + void QGeoMapItemsOverlay::removeMapObject(QGeoMapObject *obj) + { +-#ifdef LOCATIONLABS ++#ifndef LOCATIONLABS ++ Q_UNUSED(obj); ++#else + Q_D(QGeoMapItemsOverlay); + d->removeMapObject(obj); + #endif +@@ -169,7 +172,11 @@ QRectF QGeoMapItemsOverlayPrivate::visibleArea() const + QGeoMapItemsOverlayPrivate::QGeoMapItemsOverlayPrivate(QGeoMappingManagerEngineItemsOverlay *engine, QGeoMapItemsOverlay *map) + : QGeoMapPrivate(engine, new QGeoProjectionWebMercator) + { ++#ifndef LOCATIONLABS ++ Q_UNUSED(map); ++#else + m_qsgSupport.m_map = map; ++#endif + } + + QGeoMapItemsOverlayPrivate::~QGeoMapItemsOverlayPrivate() +-- +2.33.1 + diff --git a/package/qt5/qt5location/Config.in b/package/qt5/qt5location/Config.in index c68deb1006c..3d91adaf1ff 100644 --- a/package/qt5/qt5location/Config.in +++ b/package/qt5/qt5location/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_QT5LOCATION solutions using the data available from some of the popular location services. - http://doc.qt.io/qt-5/qtlocation-index.html + https://doc.qt.io/qt-5/qtlocation-index.html diff --git a/package/qt5/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash index 0bb293305c3..17da2bb9ad6 100644 --- a/package/qt5/qt5location/qt5location.hash +++ b/package/qt5/qt5location/qt5location.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtlocation-everywhere-src-5.15.2.tar.xz.sha256 -sha256 984fcb09e108df49a8dac35d5ce6dffc49caafd2acb1c2f8a5173a6a21f392a0 qtlocation-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 11cf8320598821c97f853635c529451503917895f11e664dfdd0b63bf48c8a46 qt5location-861e372b6ad81570d4f496e42fb25a6699b72f2f-br1.tar.gz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5location/qt5location.mk b/package/qt5/qt5location/qt5location.mk index ea741d0df6c..b1d19d78114 100644 --- a/package/qt5/qt5location/qt5location.mk +++ b/package/qt5/qt5location/qt5location.mk @@ -4,10 +4,12 @@ # ################################################################################ -QT5LOCATION_VERSION = $(QT5_VERSION) -QT5LOCATION_SITE = $(QT5_SITE) -QT5LOCATION_SOURCE = qtlocation-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5LOCATION_VERSION).tar.xz +QT5LOCATION_VERSION = 861e372b6ad81570d4f496e42fb25a6699b72f2f +QT5LOCATION_SITE = $(QT5_SITE)/qtlocation +QT5LOCATION_SITE_METHOD = git +QT5LOCATION_GIT_SUBMODULES = YES QT5LOCATION_INSTALL_STAGING = YES +QT5LOCATION_SYNC_QT_HEADERS = YES QT5LOCATION_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5LOCATION_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL diff --git a/package/qt5/qt5lottie/qt5lottie.hash b/package/qt5/qt5lottie/qt5lottie.hash index 740f9072f22..46ab3f60df3 100644 --- a/package/qt5/qt5lottie/qt5lottie.hash +++ b/package/qt5/qt5lottie/qt5lottie.hash @@ -1,5 +1,5 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtlottie-everywhere-src-5.15.2.tar.xz.sha256 -sha256 cec6095ab8f714e609d2ad3ea8c4fd819461ce8793adc42abe37d0f6dc432517 qtlottie-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 edbf1270733e385189dbcdad67ecec24c9e372168215873eadb31735d0947de1 qtlottie-fa8c8bfc6742ab98b61d1351e054e0e73e9a42f4.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5lottie/qt5lottie.mk b/package/qt5/qt5lottie/qt5lottie.mk index 1423a629b93..e9614fbecfb 100644 --- a/package/qt5/qt5lottie/qt5lottie.mk +++ b/package/qt5/qt5lottie/qt5lottie.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5LOTTIE_VERSION = $(QT5_VERSION) -QT5LOTTIE_SITE = $(QT5_SITE) -QT5LOTTIE_SOURCE = qtlottie-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5LOTTIE_VERSION).tar.xz +QT5LOTTIE_VERSION = fa8c8bfc6742ab98b61d1351e054e0e73e9a42f4 +QT5LOTTIE_SITE = $(QT5_SITE)/qtlottie/-/archive/$(QT5LOTTIE_VERSION) +QT5LOTTIE_SOURCE = qtlottie-$(QT5LOTTIE_VERSION).tar.bz2 QT5LOTTIE_DEPENDENCIES = qt5declarative QT5LOTTIE_INSTALL_STAGING = YES +QT5LOTTIE_SYNC_QT_HEADERS = YES QT5LOTTIE_LICENSE = GPL-3.0 QT5LOTTIE_LICENSE_FILES = LICENSE.GPL3 LICENSE.GPL3-EXCEPT diff --git a/package/qt5/qt5mqtt/qt5mqtt.mk b/package/qt5/qt5mqtt/qt5mqtt.mk index 54cc1de6329..0b62cf1bed5 100644 --- a/package/qt5/qt5mqtt/qt5mqtt.mk +++ b/package/qt5/qt5mqtt/qt5mqtt.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5MQTT_VERSION = $(QT5_VERSION) +QT5MQTT_VERSION = 5.15.2 QT5MQTT_SITE = https://code.qt.io/cgit/qt/qtmqtt.git QT5MQTT_SITE_METHOD = git QT5MQTT_INSTALL_STAGING = YES diff --git a/package/qt5/qt5multimedia/Config.in b/package/qt5/qt5multimedia/Config.in index dd46575d938..46608555b82 100644 --- a/package/qt5/qt5multimedia/Config.in +++ b/package/qt5/qt5multimedia/Config.in @@ -12,4 +12,4 @@ config BR2_PACKAGE_QT5MULTIMEDIA multimedia capabilities such as media playback and the use of camera and radio devices. - http://doc.qt.io/qt-5/multimediaoverview.html + https://doc.qt.io/qt-5/multimediaoverview.html diff --git a/package/qt5/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash index b70a4ecf514..1c4d9302488 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/package/qt5/qt5multimedia/qt5multimedia.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtmultimedia-everywhere-src-5.15.2.tar.xz.sha256 -sha256 0c3758810e5131aabcf76e4965e4c18b8911af54d9edd9305d2a8278d8346df5 qtmultimedia-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 95e94b016f256b57b2df3f1df7d02d6f077c600faa4312561f02121623dfecef qtmultimedia-bd29c87027637a013f2c5e3b549fcda84e4d7545.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk index 39eddc3afc9..66953690630 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/package/qt5/qt5multimedia/qt5multimedia.mk @@ -4,10 +4,11 @@ # ################################################################################ -QT5MULTIMEDIA_VERSION = $(QT5_VERSION) -QT5MULTIMEDIA_SITE = $(QT5_SITE) -QT5MULTIMEDIA_SOURCE = qtmultimedia-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5MULTIMEDIA_VERSION).tar.xz +QT5MULTIMEDIA_VERSION = bd29c87027637a013f2c5e3b549fcda84e4d7545 +QT5MULTIMEDIA_SITE = $(QT5_SITE)/qtmultimedia/-/archive/$(QT5MULTIMEDIA_VERSION) +QT5MULTIMEDIA_SOURCE = qtmultimedia-$(QT5MULTIMEDIA_VERSION).tar.bz2 QT5MULTIMEDIA_INSTALL_STAGING = YES +QT5MULTIMEDIA_SYNC_QT_HEADERS = YES QT5MULTIMEDIA_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL diff --git a/package/qt5/qt5opcua/Config.in b/package/qt5/qt5opcua/Config.in new file mode 100644 index 00000000000..2b0ba37af32 --- /dev/null +++ b/package/qt5/qt5opcua/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_QT5OPCUA + bool "qt5opcua" + depends on BR2_PACKAGE_QT5 + help + Qt is a cross-platform application and UI framework for + developers using C++. + + The Qt OPC UA module implements a Qt API to interact with + OPC UA on top of a 3rd party OPC UA stack. diff --git a/package/qt5/qt5opcua/qt5opcua.hash b/package/qt5/qt5opcua/qt5opcua.hash new file mode 100644 index 00000000000..e55fb177438 --- /dev/null +++ b/package/qt5/qt5opcua/qt5opcua.hash @@ -0,0 +1,10 @@ +# Hash locally calculated +sha256 562171c6dfd6f4f072316ddb6d7c5bcc8907a68ba31005cb8c20ed75beff34fb qt5opcua-5.15.2-br1.tar.gz + +# Hashes for license files: +sha256 d93cc415382f0013088fa276d9cf82373badf244c78220a926f15ee46f0fe3c4 LICENSE-CC0 +sha256 f827ad079686ba92cc94811e35492d0e8966f704008b6da9eeda0b659fb58a8d LICENSE.FDL +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 6c3f3c31b93985f1b93bfbb35fb609d37281697d0efc220c9f91cf4b59eaabde LICENSE.GPLv2 +sha256 75d800e60c8d58c2e7f0338e8552ea6123a9ce7e5dd8e1cdf2095e013b737488 LICENSE.LGPLv3 diff --git a/package/qt5/qt5opcua/qt5opcua.mk b/package/qt5/qt5opcua/qt5opcua.mk new file mode 100644 index 00000000000..ef51abddf83 --- /dev/null +++ b/package/qt5/qt5opcua/qt5opcua.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# qt5opcua +# +################################################################################ + +QT5OPCUA_VERSION = 5.15.2 +QT5OPCUA_SITE = https://code.qt.io/qt/qtopcua.git +QT5OPCUA_SITE_METHOD = git +QT5OPCUA_INSTALL_STAGING = YES +QT5OPCUA_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) CC0-1.0 +QT5OPCUA_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL LICENSE-CC0 +QT5OPCUA_SYNC_QT_HEADERS = YES + +ifeq ($(BR2_PACKAGE_MBEDTLS),y) +QT5OPCUA_DEPENDENCIES += mbedtls +endif + +$(eval $(qmake-package)) diff --git a/package/qt5/qt5quickcontrols/Config.in b/package/qt5/qt5quickcontrols/Config.in index 56fcaf7053e..ae090eb6e1a 100644 --- a/package/qt5/qt5quickcontrols/Config.in +++ b/package/qt5/qt5quickcontrols/Config.in @@ -10,4 +10,4 @@ config BR2_PACKAGE_QT5QUICKCONTROLS The Qt Quick Controls module provides a set of controls that can be used to build complete interfaces in Qt Quick. - http://doc.qt.io/qt-5/qtquickcontrols-index.html + https://doc.qt.io/qt-5/qtquickcontrols-index.html diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash index 1fa0d6430a2..2138b3e3137 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtquickcontrols-everywhere-src-5.15.2.tar.xz.sha256 -sha256 c393fb7384b1f047f10e91a6832cf3e6a4c2a41408b8cb2d05af2283e8549fb5 qtquickcontrols-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 7df0648d9b8fdde1ea27abd9d6eb3ff170e8e666872ea97c07e1bb5ac241be4b qtquickcontrols-cf3f6d7fec824cdf01f9b329ab3b92b1c0e0a420.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk index 1ac8689d6ea..c2b5ae182e7 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5QUICKCONTROLS_VERSION = $(QT5_VERSION) -QT5QUICKCONTROLS_SITE = $(QT5_SITE) -QT5QUICKCONTROLS_SOURCE = qtquickcontrols-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5QUICKCONTROLS_VERSION).tar.xz +QT5QUICKCONTROLS_VERSION = cf3f6d7fec824cdf01f9b329ab3b92b1c0e0a420 +QT5QUICKCONTROLS_SITE = $(QT5_SITE)/qtquickcontrols/-/archive/$(QT5QUICKCONTROLS_VERSION) +QT5QUICKCONTROLS_SOURCE = qtquickcontrols-$(QT5QUICKCONTROLS_VERSION).tar.bz2 QT5QUICKCONTROLS_DEPENDENCIES = qt5declarative QT5QUICKCONTROLS_INSTALL_STAGING = YES +QT5QUICKCONTROLS_SYNC_QT_HEADERS = YES QT5QUICKCONTROLS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.LGPL3 LICENSE.FDL diff --git a/package/qt5/qt5quickcontrols2/Config.in b/package/qt5/qt5quickcontrols2/Config.in index 3f81e20d529..02e36257ccc 100644 --- a/package/qt5/qt5quickcontrols2/Config.in +++ b/package/qt5/qt5quickcontrols2/Config.in @@ -12,4 +12,4 @@ config BR2_PACKAGE_QT5QUICKCONTROLS2 This module was in tech preview in Qt 5.6, and promoted to a core module in Qt 5.7.0. - https://doc.qt.io/qt-5/qtquickcontrols2-index.html + https://doc.qt.io/qt-5/qtquickcontrols-index.html diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash index f66a1186ee0..766fd690778 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtquickcontrols2-everywhere-src-5.15.2.tar.xz.sha256 -sha256 671b6ce5f4b8ecc94db622d5d5fb29ef4ff92819be08e5ea55bfcab579de8919 qtquickcontrols2-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 f0315b0f0301fdb16d6ee78c57e3cd600121884c1356ca1160ace96a57ac17bc qtquickcontrols2-d8d6b14b9907adbc6ce307d52be34aaa761a58fa.tar.bz2 # Hashes for license files: sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk index 2f6dcd1f2f9..ff1a49a9ce9 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5QUICKCONTROLS2_VERSION = $(QT5_VERSION) -QT5QUICKCONTROLS2_SITE = $(QT5_SITE) -QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5QUICKCONTROLS2_VERSION).tar.xz +QT5QUICKCONTROLS2_VERSION = d8d6b14b9907adbc6ce307d52be34aaa761a58fa +QT5QUICKCONTROLS2_SITE = $(QT5_SITE)/qtquickcontrols2/-/archive/$(QT5QUICKCONTROLS2_VERSION) +QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-$(QT5QUICKCONTROLS2_VERSION).tar.bz2 QT5QUICKCONTROLS2_DEPENDENCIES = qt5declarative QT5QUICKCONTROLS2_INSTALL_STAGING = YES +QT5QUICKCONTROLS2_SYNC_QT_HEADERS = YES QT5QUICKCONTROLS2_LICENSE = GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) QT5QUICKCONTROLS2_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL diff --git a/package/qt5/qt5quicktimeline/qt5quicktimeline.hash b/package/qt5/qt5quicktimeline/qt5quicktimeline.hash index ac97fc319c0..c2d0b11f2bd 100644 --- a/package/qt5/qt5quicktimeline/qt5quicktimeline.hash +++ b/package/qt5/qt5quicktimeline/qt5quicktimeline.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtquicktimeline-everywhere-src-5.15.2.tar.xz.sha256 -sha256 b9c247227607437acec7c7dd18ad46179d20369c9d22bdb1e9fc128dfb832a28 qtquicktimeline-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 4d88f7f70c8a983378cb9702bf1551c6a150fb283d0540bd43a120d953e077e3 qtquicktimeline-67503cdadea43b95ddad0de1a04951aff0ce1a07.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5quicktimeline/qt5quicktimeline.mk b/package/qt5/qt5quicktimeline/qt5quicktimeline.mk index ef6927f9282..49d0cb330bc 100644 --- a/package/qt5/qt5quicktimeline/qt5quicktimeline.mk +++ b/package/qt5/qt5quicktimeline/qt5quicktimeline.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5QUICKTIMELINE_VERSION = $(QT5_VERSION) -QT5QUICKTIMELINE_SITE = $(QT5_SITE) -QT5QUICKTIMELINE_SOURCE = qtquicktimeline-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5QUICKTIMELINE_VERSION).tar.xz +QT5QUICKTIMELINE_VERSION = 67503cdadea43b95ddad0de1a04951aff0ce1a07 +QT5QUICKTIMELINE_SITE = $(QT5_SITE)/qtquicktimeline/-/archive/$(QT5QUICKTIMELINE_VERSION) +QT5QUICKTIMELINE_SOURCE = qtquicktimeline-$(QT5QUICKTIMELINE_VERSION).tar.bz2 QT5QUICKTIMELINE_DEPENDENCIES = qt5declarative QT5QUICKTIMELINE_INSTALL_STAGING = YES +QT5QUICKTIMELINE_SYNC_QT_HEADERS = YES QT5QUICKTIMELINE_LICENSE = GPL-3.0, GFDL-1.3 (docs) QT5QUICKTIMELINE_LICENSE_FILES = LICENSE.GPL3 diff --git a/package/qt5/qt5remoteobjects/qt5remoteobjects.hash b/package/qt5/qt5remoteobjects/qt5remoteobjects.hash index 30c5bfc51d8..a2573a018a3 100644 --- a/package/qt5/qt5remoteobjects/qt5remoteobjects.hash +++ b/package/qt5/qt5remoteobjects/qt5remoteobjects.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtremoteobjects-everywhere-src-5.15.2.tar.xz.sha256 -sha256 6781b6bc90888254ea77ce812736dac00c67fa4eeb3095f5cd65e4b9c15dcfc2 qtremoteobjects-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 43c876d475228a0b727d2b2ae47cecc8cbd665d1574ad4db61b209c08a488b90 qtremoteobjects-4d6d1e35fb8e0cb900b5e5e9266edea51dc4f735.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5remoteobjects/qt5remoteobjects.mk b/package/qt5/qt5remoteobjects/qt5remoteobjects.mk index a6b5f0954c6..b7dee4f2f33 100644 --- a/package/qt5/qt5remoteobjects/qt5remoteobjects.mk +++ b/package/qt5/qt5remoteobjects/qt5remoteobjects.mk @@ -4,13 +4,14 @@ # ################################################################################ -QT5REMOTEOBJECTS_VERSION = $(QT5_VERSION) -QT5REMOTEOBJECTS_SITE = $(QT5_SITE) -QT5REMOTEOBJECTS_SOURCE = qtremoteobjects-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5REMOTEOBJECTS_VERSION).tar.xz +QT5REMOTEOBJECTS_VERSION = 4d6d1e35fb8e0cb900b5e5e9266edea51dc4f735 +QT5REMOTEOBJECTS_SITE = $(QT5_SITE)/qtremoteobjects/-/archive/$(QT5REMOTEOBJECTS_VERSION) +QT5REMOTEOBJECTS_SOURCE = qtremoteobjects-$(QT5REMOTEOBJECTS_VERSION).tar.bz2 QT5REMOTEOBJECTS_DEPENDENCIES = qt5base QT5REMOTEOBJECTS_INSTALL_STAGING = YES QT5REMOTEOBJECTS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception (tools), GFDL-1.3 (docs) QT5REMOTEOBJECTS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 +QT5REMOTEOBJECTS_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5REMOTEOBJECTS_DEPENDENCIES += qt5declarative diff --git a/package/qt5/qt5script/Config.in b/package/qt5/qt5script/Config.in index 1926813e9fa..6e08a3dfe83 100644 --- a/package/qt5/qt5script/Config.in +++ b/package/qt5/qt5script/Config.in @@ -12,4 +12,4 @@ config BR2_PACKAGE_QT5SCRIPT 5.5.0 and should be replaced by Qt QML module in new design. - http://doc.qt.io/qt-5/qtscript-index.html + https://doc.qt.io/qt-5/qtscript-index.html diff --git a/package/qt5/qt5script/qt5script.hash b/package/qt5/qt5script/qt5script.hash index 783598047bf..0b34ff3e8fe 100644 --- a/package/qt5/qt5script/qt5script.hash +++ b/package/qt5/qt5script/qt5script.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtscript-everywhere-src-5.15.2.tar.xz.sha256 -sha256 a299715369afbd1caa4d7fa2875d442eab91adcaacafce54a36922442624673e qtscript-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 bd748330ad08ea504875b9e0a316c0ecc01e6990e16d3bec61f5f55b9e291011 qtscript-5be95f966aabc5170f0aacfd4b0a46217241bfd6.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5script/qt5script.mk b/package/qt5/qt5script/qt5script.mk index 77254fec0fe..4e51eacfc38 100644 --- a/package/qt5/qt5script/qt5script.mk +++ b/package/qt5/qt5script/qt5script.mk @@ -4,10 +4,11 @@ # ################################################################################ -QT5SCRIPT_VERSION = $(QT5_VERSION) -QT5SCRIPT_SITE = $(QT5_SITE) -QT5SCRIPT_SOURCE = qtscript-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SCRIPT_VERSION).tar.xz +QT5SCRIPT_VERSION = 5be95f966aabc5170f0aacfd4b0a46217241bfd6 +QT5SCRIPT_SITE = $(QT5_SITE)/qtscript/-/archive/$(QT5SCRIPT_VERSION) +QT5SCRIPT_SOURCE = qtscript-$(QT5SCRIPT_VERSION).tar.bz2 QT5SCRIPT_INSTALL_STAGING = YES +QT5SCRIPT_SYNC_QT_HEADERS = YES # JavaScriptCore contains files under BSD-2-Clause, BSD-3-Clause, and LGPL-2+. # This is linked into libQt5Script, which also contains Qt sources under diff --git a/package/qt5/qt5scxml/qt5scxml.hash b/package/qt5/qt5scxml/qt5scxml.hash index 6f816548e6e..85e72f53780 100644 --- a/package/qt5/qt5scxml/qt5scxml.hash +++ b/package/qt5/qt5scxml/qt5scxml.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtscxml-everywhere-src-5.15.2.tar.xz.sha256 -sha256 60b9590b9a41c60cee7b8a8c8410ee4625f0389c1ff8d79883ec5a985638a7dc qtscxml-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 6ce28e969efae2ab74fe3eda61a5d90fcfc4bf734cd9f36942a6968189530e69 qtscxml-7a15000f42c7a3171719727cd056f82a78244ed7.tar.bz2 # Hashes for license files: sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk index 186a2d381b4..d5d26536a38 100644 --- a/package/qt5/qt5scxml/qt5scxml.mk +++ b/package/qt5/qt5scxml/qt5scxml.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5SCXML_VERSION = $(QT5_VERSION) -QT5SCXML_SITE = $(QT5_SITE) -QT5SCXML_SOURCE = qtscxml-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SCXML_VERSION).tar.xz +QT5SCXML_VERSION = 7a15000f42c7a3171719727cd056f82a78244ed7 +QT5SCXML_SITE = $(QT5_SITE)/qtscxml/-/archive/$(QT5SCXML_VERSION) +QT5SCXML_SOURCE = qtscxml-$(QT5SCXML_VERSION).tar.bz2 QT5SCXML_DEPENDENCIES = qt5declarative QT5SCXML_INSTALL_STAGING = YES +QT5SCXML_SYNC_QT_HEADERS = YES QT5SCXML_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5SCXML_LICENSE_FILES = LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL diff --git a/package/qt5/qt5sensors/Config.in b/package/qt5/qt5sensors/Config.in index 5e8ee653247..31a42e64aa7 100644 --- a/package/qt5/qt5sensors/Config.in +++ b/package/qt5/qt5sensors/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_QT5SENSORS The Qt Sensors API provides access to sensor hardware via QML and C++ interfaces. - http://doc.qt.io/qt-5/qtsensors-index.html + https://doc.qt.io/qt-5/qtsensors-index.html diff --git a/package/qt5/qt5sensors/qt5sensors.hash b/package/qt5/qt5sensors/qt5sensors.hash index 179c9833e0a..6be87e8cf95 100644 --- a/package/qt5/qt5sensors/qt5sensors.hash +++ b/package/qt5/qt5sensors/qt5sensors.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtsensors-everywhere-src-5.15.2.tar.xz.sha256 -sha256 3f0011f9e9942cad119146b54d960438f4568a22a274cdad4fae06bb4e0e4839 qtsensors-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 1db8f6093595b574217eaec98da874d5eb46bb80343ddaa0a5bff0f6b45c5498 qtsensors-921a31375f29e429e95352b08b2b9dbfea663cb1.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5sensors/qt5sensors.mk b/package/qt5/qt5sensors/qt5sensors.mk index f928aad1c17..eebda912a96 100644 --- a/package/qt5/qt5sensors/qt5sensors.mk +++ b/package/qt5/qt5sensors/qt5sensors.mk @@ -4,12 +4,13 @@ # ################################################################################ -QT5SENSORS_VERSION = $(QT5_VERSION) -QT5SENSORS_SITE = $(QT5_SITE) -QT5SENSORS_SOURCE = qtsensors-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SENSORS_VERSION).tar.xz +QT5SENSORS_VERSION = 921a31375f29e429e95352b08b2b9dbfea663cb1 +QT5SENSORS_SITE = $(QT5_SITE)/qtsensors/-/archive/$(QT5SENSORS_VERSION) +QT5SENSORS_SOURCE = qtsensors-$(QT5SENSORS_VERSION).tar.bz2 QT5SENSORS_INSTALL_STAGING = YES QT5SENSORS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5SENSORS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL +QT5SENSORS_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5SENSORS_DEPENDENCIES += qt5declarative diff --git a/package/qt5/qt5serialbus/Config.in b/package/qt5/qt5serialbus/Config.in index bcfec29b49e..466ab7dc9cd 100644 --- a/package/qt5/qt5serialbus/Config.in +++ b/package/qt5/qt5serialbus/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_QT5SERIALBUS This module was in tech preview in Qt 5.6, and promoted to a core module in Qt 5.8.0. - http://doc.qt.io/qt-5/qtserialbus-index.html + https://doc.qt.io/qt-5/qtserialbus-index.html comment "qt5serialbus needs headers >= 3.6" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 diff --git a/package/qt5/qt5serialbus/qt5serialbus.hash b/package/qt5/qt5serialbus/qt5serialbus.hash index 4f05049b994..8b560a8a83d 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/package/qt5/qt5serialbus/qt5serialbus.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtserialbus-everywhere-src-5.15.2.tar.xz.sha256 -sha256 aeeb7e5c0d3f8503215b22e1a84c0002ca67cf63862f6e3c6ef44a67ca31bd88 qtserialbus-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 77056fba2ea313241c4780d959d8a3d916add816ced4cd5c95138e331a178d6b qtserialbus-8884c5e43df846deac5a0c7c290eeb633d6bfe32.tar.bz2 # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5serialbus/qt5serialbus.mk b/package/qt5/qt5serialbus/qt5serialbus.mk index 412a255612b..fc62c853184 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.mk +++ b/package/qt5/qt5serialbus/qt5serialbus.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5SERIALBUS_VERSION = $(QT5_VERSION) -QT5SERIALBUS_SITE = $(QT5_SITE) -QT5SERIALBUS_SOURCE = qtserialbus-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SERIALBUS_VERSION).tar.xz +QT5SERIALBUS_VERSION = 8884c5e43df846deac5a0c7c290eeb633d6bfe32 +QT5SERIALBUS_SITE = $(QT5_SITE)/qtserialbus/-/archive/$(QT5SERIALBUS_VERSION) +QT5SERIALBUS_SOURCE = qtserialbus-$(QT5SERIALBUS_VERSION).tar.bz2 QT5SERIALBUS_DEPENDENCIES = qt5serialport QT5SERIALBUS_INSTALL_STAGING = YES +QT5SERIALBUS_SYNC_QT_HEADERS = YES QT5SERIALBUS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) QT5SERIALBUS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL diff --git a/package/qt5/qt5serialport/Config.in b/package/qt5/qt5serialport/Config.in index 16c2eaa619f..90cff864562 100644 --- a/package/qt5/qt5serialport/Config.in +++ b/package/qt5/qt5serialport/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_QT5SERIALPORT includes configuring, I/O operations, getting and setting the control signals of the RS-232 pinouts. - http://doc.qt.io/qt-5/qtserialport-index.html + https://doc.qt.io/qt-5/qtserialport-index.html diff --git a/package/qt5/qt5serialport/qt5serialport.hash b/package/qt5/qt5serialport/qt5serialport.hash index 37bc8401f8e..6d821c387f7 100644 --- a/package/qt5/qt5serialport/qt5serialport.hash +++ b/package/qt5/qt5serialport/qt5serialport.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtserialport-everywhere-src-5.15.2.tar.xz.sha256 -sha256 59c559d748417306bc1b2cf2315c1e63eed011ace38ad92946af71f23e2ef79d qtserialport-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 fb618df447132364cabf75e36b5a1d74ae7664a604662366711b58e10d1ce075 qtserialport-941d1d8560d1f3e40077c251fbde6fd6a5b0f0d4.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5serialport/qt5serialport.mk b/package/qt5/qt5serialport/qt5serialport.mk index 902967c7574..370093f6f81 100644 --- a/package/qt5/qt5serialport/qt5serialport.mk +++ b/package/qt5/qt5serialport/qt5serialport.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5SERIALPORT_VERSION = $(QT5_VERSION) -QT5SERIALPORT_SITE = $(QT5_SITE) -QT5SERIALPORT_SOURCE = qtserialport-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SERIALPORT_VERSION).tar.xz +QT5SERIALPORT_VERSION = 941d1d8560d1f3e40077c251fbde6fd6a5b0f0d4 +QT5SERIALPORT_SITE = $(QT5_SITE)/qtserialport/-/archive/$(QT5SERIALPORT_VERSION) +QT5SERIALPORT_SOURCE = qtserialport-$(QT5SERIALPORT_VERSION).tar.bz2 QT5SERIALPORT_INSTALL_STAGING = YES QT5SERIALPORT_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5SERIALPORT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL +QT5SERIALPORT_SYNC_QT_HEADERS = YES $(eval $(qmake-package)) diff --git a/package/qt5/qt5svg/Config.in b/package/qt5/qt5svg/Config.in index e9284913a07..02a5089b190 100644 --- a/package/qt5/qt5svg/Config.in +++ b/package/qt5/qt5svg/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_QT5SVG Qt SVG provides classes for rendering and displaying SVG drawings in widgets and on other paint devices. - http://doc.qt.io/qt-5/qtsvg-index.html + https://doc.qt.io/qt-5/qtsvg-index.html diff --git a/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash index 7773a940bb4..1e4dc54c671 100644 --- a/package/qt5/qt5svg/qt5svg.hash +++ b/package/qt5/qt5svg/qt5svg.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtsvg-everywhere-src-5.15.2.tar.xz.sha256 -sha256 8bc3c2c1bc2671e9c67d4205589a8309b57903721ad14c60ea21a5d06acb585e qtsvg-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 7f45cc161ede4e918a4f3236af7e81d63404199529460cf74b620565dfce6d9e qtsvg-728012f7762ecd5762d493f8796907c6456f31e7.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5svg/qt5svg.mk b/package/qt5/qt5svg/qt5svg.mk index d4b31c231ea..849a2b7f1bf 100644 --- a/package/qt5/qt5svg/qt5svg.mk +++ b/package/qt5/qt5svg/qt5svg.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5SVG_VERSION = $(QT5_VERSION) -QT5SVG_SITE = $(QT5_SITE) -QT5SVG_SOURCE = qtsvg-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SVG_VERSION).tar.xz +QT5SVG_VERSION = 728012f7762ecd5762d493f8796907c6456f31e7 +QT5SVG_SITE = $(QT5_SITE)/qtsvg/-/archive/$(QT5SVG_VERSION) +QT5SVG_SOURCE = qtsvg-$(QT5SVG_VERSION).tar.bz2 QT5SVG_INSTALL_STAGING = YES QT5SVG_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5SVG_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL +QT5SVG_SYNC_QT_HEADERS = YES $(eval $(qmake-package)) diff --git a/package/qt5/qt5tools/Config.in b/package/qt5/qt5tools/Config.in index 60106c1ee30..428413d5e25 100644 --- a/package/qt5/qt5tools/Config.in +++ b/package/qt5/qt5tools/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_QT5TOOLS Qt Tools provides tools facilitate the development and design of applications. - http://doc.qt.io/qt-5/qtmodules.html#qt-tools + https://doc.qt.io/qt-5/qtmodules.html#qt-tools if BR2_PACKAGE_QT5TOOLS diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash index e52d8e6df71..a5638019978 100644 --- a/package/qt5/qt5tools/qt5tools.hash +++ b/package/qt5/qt5tools/qt5tools.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qttools-everywhere-src-5.15.2.tar.xz.sha256 -sha256 c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc qttools-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 e5ee14a50d5be68ba53e11c76c6e90cc7d7023eab5050447869e7f5e472478a8 qttools-33693a928986006d79c1ee743733cde5966ac402.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5tools/qt5tools.mk b/package/qt5/qt5tools/qt5tools.mk index 0543afd8f7e..e2385080ce8 100644 --- a/package/qt5/qt5tools/qt5tools.mk +++ b/package/qt5/qt5tools/qt5tools.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5TOOLS_VERSION = $(QT5_VERSION) -QT5TOOLS_SITE = $(QT5_SITE) -QT5TOOLS_SOURCE = qttools-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5TOOLS_VERSION).tar.xz +QT5TOOLS_VERSION = 33693a928986006d79c1ee743733cde5966ac402 +QT5TOOLS_SITE = $(QT5_SITE)/qttools/-/archive/$(QT5TOOLS_VERSION) +QT5TOOLS_SOURCE = qttools-$(QT5TOOLS_VERSION).tar.bz2 QT5TOOLS_INSTALL_STAGING = YES +QT5TOOLS_SYNC_QT_HEADERS = YES # linguist tools compile conditionally on qtHaveModule(qmldevtools-private), # but the condition is used only used to decide if lupdate will support diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash index 82f132378e3..432e3099c33 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz.sha256 -sha256 9a3193913be30f09a896e3b8c2f9696d2e9b3f88a63ae9ca8c97a2786b68cf55 qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 a91024f241df0d24ee398c262b61d126d451c70f05ef109901cfb483d1201538 qtvirtualkeyboard-98d1fd864cbb6c7c012c4139118808af110fb8f0.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk index 3984c9866eb..8e997a24263 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION) -QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE) -QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz +QT5VIRTUALKEYBOARD_VERSION = 98d1fd864cbb6c7c012c4139118808af110fb8f0 +QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)/qtvirtualkeyboard/-/archive/$(QT5VIRTUALKEYBOARD_VERSION) +QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-$(QT5VIRTUALKEYBOARD_VERSION).tar.bz2 QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5declarative qt5svg QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES +QT5VIRTUALKEYBOARD_SYNC_QT_HEADERS = YES QT5VIRTUALKEYBOARD_LICENSE = GPL-3.0 QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3 diff --git a/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch b/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch new file mode 100644 index 00000000000..adad3768b23 --- /dev/null +++ b/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch @@ -0,0 +1,35 @@ +From 05658e127dedfff65789860415537c6920ec574d Mon Sep 17 00:00:00 2001 +From: Samuli Piippo +Date: Thu, 22 Apr 2021 15:29:56 +0300 +Subject: [PATCH] Add missing define guards + +Ammend cca1b94190a094b5d1d7ce492b6533e2d330c5e8 to use m_composeState +only if xcbcommon is available. + +Pick-to: 5.15 +Change-Id: I48332b15def3282c5bda3e1c7c393ea7e9849cbe +Reviewed-by: Aleix Pol Gonzalez +[Backported from: 05658e127dedfff65789860415537c6920ec574d] +Signed-off-by: Quentin Schulz +--- + src/client/qwaylandinputcontext.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/client/qwaylandinputcontext.cpp b/src/client/qwaylandinputcontext.cpp +index 16e03ea1..cbf63cde 100644 +--- a/src/client/qwaylandinputcontext.cpp ++++ b/src/client/qwaylandinputcontext.cpp +@@ -408,8 +408,10 @@ bool QWaylandInputContext::isValid() const + void QWaylandInputContext::reset() + { + qCDebug(qLcQpaInputMethods) << Q_FUNC_INFO; ++#if QT_CONFIG(xkbcommon) + if (m_composeState) + xkb_compose_state_reset(m_composeState); ++#endif + + QPlatformInputContext::reset(); + +-- +2.35.1 + diff --git a/package/qt5/qt5wayland/Config.in b/package/qt5/qt5wayland/Config.in index 0d5a1089128..fe698fe8762 100644 --- a/package/qt5/qt5wayland/Config.in +++ b/package/qt5/qt5wayland/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_QT5WAYLAND This package corresponds to the qt5wayland module. - http://qt.io + https://qt.io if BR2_PACKAGE_QT5WAYLAND diff --git a/package/qt5/qt5wayland/qt5wayland.hash b/package/qt5/qt5wayland/qt5wayland.hash index b17dbdd10d1..1a7400de679 100644 --- a/package/qt5/qt5wayland/qt5wayland.hash +++ b/package/qt5/qt5wayland/qt5wayland.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwayland-everywhere-src-5.15.2.tar.xz.sha256 -sha256 193732229ff816f3aaab9a5e2f6bed71ddddbf1988ce003fe8dd84a92ce9aeb5 qtwayland-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 a29d52c7b12987ed56d922455e0776e161075392969f7c6a8b141b00bd3dd46b qtwayland-b6d85c2a75f5618e87267f5b5c361455be257a17.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5wayland/qt5wayland.mk b/package/qt5/qt5wayland/qt5wayland.mk index 0076bbfe73d..bcc4915022c 100644 --- a/package/qt5/qt5wayland/qt5wayland.mk +++ b/package/qt5/qt5wayland/qt5wayland.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5WAYLAND_VERSION = $(QT5_VERSION) -QT5WAYLAND_SITE = $(QT5_SITE) -QT5WAYLAND_SOURCE = qtwayland-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WAYLAND_VERSION).tar.xz +QT5WAYLAND_VERSION = b6d85c2a75f5618e87267f5b5c361455be257a17 +QT5WAYLAND_SITE = $(QT5_SITE)/qtwayland/-/archive/$(QT5WAYLAND_VERSION) +QT5WAYLAND_SOURCE = qtwayland-$(QT5WAYLAND_VERSION).tar.bz2 QT5WAYLAND_DEPENDENCIES = wayland QT5WAYLAND_INSTALL_STAGING = YES +QT5WAYLAND_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) QT5WAYLAND_DEPENDENCIES += qt5declarative diff --git a/package/qt5/qt5webchannel/Config.in b/package/qt5/qt5webchannel/Config.in index 436e3abb2b5..1cd295b1462 100644 --- a/package/qt5/qt5webchannel/Config.in +++ b/package/qt5/qt5webchannel/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_QT5WEBCHANNEL a server (QML/C++ application) and a client (HTML/JavaScript or QML application). - http://doc.qt.io/qt-5/qtwebchannel-index.html + https://doc.qt.io/qt-5/qtwebchannel-index.html diff --git a/package/qt5/qt5webchannel/qt5webchannel.hash b/package/qt5/qt5webchannel/qt5webchannel.hash index 47c7da3365f..af195b32b3a 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.hash +++ b/package/qt5/qt5webchannel/qt5webchannel.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwebchannel-everywhere-src-5.15.2.tar.xz.sha256 -sha256 127fe79c43b386713f151ed7d411cd81e45e29f9c955584f29736f78c9303ec1 qtwebchannel-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 cc75d29ca38d512b79f2bfbcdb641cdb02dd3a1024f2c9c530abec00418effbf qtwebchannel-fa8b07105b5e274daaa8adcc129fa4aa0447f9f7.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5webchannel/qt5webchannel.mk b/package/qt5/qt5webchannel/qt5webchannel.mk index 176c0fd7a31..042a28fca9b 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.mk +++ b/package/qt5/qt5webchannel/qt5webchannel.mk @@ -4,13 +4,14 @@ # ################################################################################ -QT5WEBCHANNEL_VERSION = $(QT5_VERSION) -QT5WEBCHANNEL_SITE = $(QT5_SITE) -QT5WEBCHANNEL_SOURCE = qtwebchannel-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBCHANNEL_VERSION).tar.xz +QT5WEBCHANNEL_VERSION = fa8b07105b5e274daaa8adcc129fa4aa0447f9f7 +QT5WEBCHANNEL_SITE = $(QT5_SITE)/qtwebchannel/-/archive/$(QT5WEBCHANNEL_VERSION) +QT5WEBCHANNEL_SOURCE = qtwebchannel-$(QT5WEBCHANNEL_VERSION).tar.bz2 QT5WEBCHANNEL_DEPENDENCIES = qt5websockets QT5WEBCHANNEL_INSTALL_STAGING = YES QT5WEBCHANNEL_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5WEBCHANNEL_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL +QT5WEBCHANNEL_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) QT5WEBCHANNEL_LICENSE += , BSD-3-Clause (examples) diff --git a/package/qt5/qt5webengine-chromium-catapult/Config.in b/package/qt5/qt5webengine-chromium-catapult/Config.in new file mode 100644 index 00000000000..471c2a2dbc9 --- /dev/null +++ b/package/qt5/qt5webengine-chromium-catapult/Config.in @@ -0,0 +1,4 @@ +# Not user-selectable, it is only needed to be copied +# into the chromium source tree. +config BR2_PACKAGE_QT5WEBENGINE_CHROMIUM_CATAPULT + bool diff --git a/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.hash b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.hash new file mode 100644 index 00000000000..8190a6dd5d9 --- /dev/null +++ b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 66b8593e665c4236f7b1c487548d41d3826eddbf486ff985dbdfd01cddcaa1a8 qt5webengine-chromium-catapult-5eedfe23148a234211ba477f76fc2ea2e8529189-br1.tar.gz +sha256 f0df289ba9d03d857ad1c2f5918861376b1510b71588ffc60eff5c7a7bfedb09 LICENSE diff --git a/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.mk b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.mk new file mode 100644 index 00000000000..5d0db1e7903 --- /dev/null +++ b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# qt5webengine-chromium-catapult +# +################################################################################ + +QT5WEBENGINE_CHROMIUM_CATAPULT_VERSION = 5eedfe23148a234211ba477f76fc2ea2e8529189 +QT5WEBENGINE_CHROMIUM_CATAPULT_SITE = https://chromium.googlesource.com/catapult.git +QT5WEBENGINE_CHROMIUM_CATAPULT_SITE_METHOD = git +QT5WEBENGINE_CHROMIUM_CATAPULT_LICENSE = BSD-3-Clause +QT5WEBENGINE_CHROMIUM_CATAPULT_LICENSE_FILES = LICENSE +QT5WEBENGINE_CHROMIUM_CATAPULT_INSTALL_TARGET = NO + +$(eval $(generic-package)) diff --git a/package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch b/package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch new file mode 100644 index 00000000000..cc9726418ee --- /dev/null +++ b/package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch @@ -0,0 +1,1858 @@ +From bf94b834e9beb4e7bc25dbc4c61f5e2db39e7cdc Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Fri, 4 Feb 2022 15:43:35 -0700 +Subject: [PATCH] Add python3 build support + +Adapted from: +https://github.com/archlinux/svntogit-packages/blob/6edf5f1aaea952d046aff89a2e0175258fe77361/trunk/qt5-webengine-chromium-python3.patch + +Signed-off-by: James Hilliard +--- + .../protobufs/binary_proto_generator.py | 8 +- + .../tracing/generate_trace_viewer_grd.py | 2 +- + chromium/mojo/public/tools/bindings/BUILD.gn | 2 + + .../tools/bindings/gen_data_files_list.py | 8 +- + .../generators/mojom_java_generator.py | 4 + + .../tools/mojom/mojom/generate/generator.py | 14 ++-- + .../tools/mojom/mojom/generate/module.py | 3 +- + .../mojom/mojom/generate/template_expander.py | 12 +-- + .../scripts/bind_gen/blink_v8_bridge.py | 6 +- + .../scripts/bind_gen/callback_interface.py | 2 +- + .../bindings/scripts/bind_gen/code_node.py | 10 +-- + .../bindings/scripts/bind_gen/codegen_expr.py | 15 ++-- + .../scripts/bind_gen/codegen_format.py | 2 +- + .../scripts/bind_gen/codegen_utils.py | 2 +- + .../bindings/scripts/bind_gen/dictionary.py | 2 +- + .../bindings/scripts/bind_gen/interface.py | 82 +++++++++++-------- + .../scripts/bind_gen/mako_renderer.py | 2 +- + .../bindings/scripts/bind_gen/style_format.py | 9 +- + .../bindings/scripts/bind_gen/task_queue.py | 5 +- + .../bindings/scripts/code_generator.py | 10 +++ + .../scripts/generate_origin_trial_features.py | 4 +- + .../bindings/scripts/idl_definitions.py | 8 +- + .../renderer/bindings/scripts/idl_reader.py | 4 +- + .../renderer/bindings/scripts/idl_types.py | 2 +- + .../renderer/bindings/scripts/utilities.py | 28 +++---- + .../renderer/bindings/scripts/v8_interface.py | 9 +- + .../renderer/bindings/scripts/v8_methods.py | 4 + + .../renderer/bindings/scripts/v8_utilities.py | 2 +- + .../scripts/web_idl/callback_interface.py | 12 +-- + .../bindings/scripts/web_idl/database.py | 2 +- + .../bindings/scripts/web_idl/exposure.py | 5 +- + .../bindings/scripts/web_idl/function_like.py | 28 +++---- + .../bindings/scripts/web_idl/idl_compiler.py | 21 ++--- + .../bindings/scripts/web_idl/interface.py | 45 +++++----- + .../bindings/scripts/web_idl/ir_builder.py | 29 ++++--- + .../bindings/scripts/web_idl/make_copy.py | 7 ++ + .../bindings/scripts/web_idl/namespace.py | 12 +-- + .../bindings/templates/dictionary_v8.cc.tmpl | 8 +- + .../scripts/core/css/make_style_shorthands.py | 23 +++--- + .../properties/make_css_property_instances.py | 4 +- + .../blink/renderer/build/scripts/gperf.py | 2 +- + .../blink/renderer/build/scripts/in_file.py | 2 +- + .../renderer/build/scripts/in_generator.py | 5 ++ + .../build/scripts/make_runtime_features.py | 2 +- + .../scripts/templates/element_factory.cc.tmpl | 4 +- + .../templates/element_type_helpers.cc.tmpl | 4 +- + .../templates/element_type_helpers.h.tmpl | 2 +- + .../build/scripts/templates/macros.tmpl | 4 +- + .../templates/make_qualified_names.h.tmpl | 4 +- + .../dawn/generator/generator_lib.py | 4 + + .../devtools-frontend/src/BUILD.gn | 2 + + .../scripts/build/build_inspector_overlay.py | 3 +- + .../build/build_release_applications.py | 9 +- + .../scripts/build/generate_devtools_grd.py | 4 +- + .../src/scripts/build/modular_build.py | 6 +- + chromium/third_party/jinja2/tests.py | 2 +- + chromium/tools/metrics/ukm/gen_builders.py | 5 +- + .../ui/ozone/generate_constructor_list.py | 13 ++- + .../ui/ozone/generate_ozone_platform_list.py | 26 ++++-- + 59 files changed, 331 insertions(+), 229 deletions(-) + +diff --git a/chromium/components/resources/protobufs/binary_proto_generator.py b/chromium/components/resources/protobufs/binary_proto_generator.py +index 7422ead9697..16365515f26 100755 +--- a/chromium/components/resources/protobufs/binary_proto_generator.py ++++ b/chromium/components/resources/protobufs/binary_proto_generator.py +@@ -7,7 +7,7 @@ + Converts a given ASCII proto into a binary resource. + + """ +- ++from __future__ import print_function + import abc + import imp + import optparse +@@ -196,12 +196,12 @@ class BinaryProtoGenerator: + self._ImportProtoModules(opts.path) + + if not self.VerifyArgs(opts): +- print "Wrong arguments" ++ print("Wrong arguments") + return 1 + + try: + self._GenerateBinaryProtos(opts) + except Exception as e: +- print "ERROR: Failed to render binary version of %s:\n %s\n%s" % ( +- opts.infile, str(e), traceback.format_exc()) ++ print("ERROR: Failed to render binary version of %s:\n %s\n%s" % ++ (opts.infile, str(e), traceback.format_exc())) + return 1 +diff --git a/chromium/content/browser/tracing/generate_trace_viewer_grd.py b/chromium/content/browser/tracing/generate_trace_viewer_grd.py +index 037f9497dc2..be393d21f90 100755 +--- a/chromium/content/browser/tracing/generate_trace_viewer_grd.py ++++ b/chromium/content/browser/tracing/generate_trace_viewer_grd.py +@@ -74,7 +74,7 @@ def main(argv): + for filename in parsed_args.source_files: + add_file_to_grd(doc, os.path.basename(filename)) + +- with open(parsed_args.output_filename, 'w') as output_file: ++ with open(parsed_args.output_filename, 'wb') as output_file: + output_file.write(doc.toxml(encoding='UTF-8')) + + +diff --git a/chromium/mojo/public/tools/bindings/BUILD.gn b/chromium/mojo/public/tools/bindings/BUILD.gn +index fc04b5dd0b1..708958e438b 100644 +--- a/chromium/mojo/public/tools/bindings/BUILD.gn ++++ b/chromium/mojo/public/tools/bindings/BUILD.gn +@@ -2,9 +2,11 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import("//build/config/python.gni") + import("//mojo/public/tools/bindings/mojom.gni") + import("//third_party/jinja2/jinja2.gni") + ++# TODO(crbug.com/1194274): Investigate nondeterminism in Py3 builds. + action("precompile_templates") { + sources = mojom_generator_sources + sources += [ +diff --git a/chromium/mojo/public/tools/bindings/gen_data_files_list.py b/chromium/mojo/public/tools/bindings/gen_data_files_list.py +index 79c9e50efce..8b78d092418 100644 +--- a/chromium/mojo/public/tools/bindings/gen_data_files_list.py ++++ b/chromium/mojo/public/tools/bindings/gen_data_files_list.py +@@ -18,7 +18,6 @@ import os + import re + import sys + +-from cStringIO import StringIO + from optparse import OptionParser + + sys.path.insert( +@@ -41,12 +40,9 @@ def main(): + pattern = re.compile(options.pattern) + files = [f for f in os.listdir(options.directory) if pattern.match(f)] + +- stream = StringIO() +- for f in files: +- print(f, file=stream) ++ contents = '\n'.join(f for f in files) + '\n' ++ WriteFile(contents, options.output) + +- WriteFile(stream.getvalue(), options.output) +- stream.close() + + if __name__ == '__main__': + sys.exit(main()) +diff --git a/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py b/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py +index 96b2fdfae0c..00b9dccd00c 100644 +--- a/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py ++++ b/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py +@@ -25,6 +25,10 @@ sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, + 'build', 'android', 'gyp')) + from util import build_utils + ++# TODO(crbug.com/1174969): Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ long = int + + GENERATOR_PREFIX = 'java' + +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/generator.py b/chromium/mojo/public/tools/mojom/mojom/generate/generator.py +index de62260a5c9..4a1c73fcf82 100644 +--- a/chromium/mojo/public/tools/mojom/mojom/generate/generator.py ++++ b/chromium/mojo/public/tools/mojom/mojom/generate/generator.py +@@ -136,9 +136,14 @@ class Stylizer(object): + + def WriteFile(contents, full_path): + # If |contents| is same with the file content, we skip updating. ++ if not isinstance(contents, bytes): ++ data = contents.encode('utf8') ++ else: ++ data = contents ++ + if os.path.isfile(full_path): + with open(full_path, 'rb') as destination_file: +- if destination_file.read() == contents: ++ if destination_file.read() == data: + return + + # Make sure the containing directory exists. +@@ -146,11 +151,8 @@ def WriteFile(contents, full_path): + fileutil.EnsureDirectoryExists(full_dir) + + # Dump the data to disk. +- with open(full_path, "wb") as f: +- if not isinstance(contents, bytes): +- f.write(contents.encode('utf-8')) +- else: +- f.write(contents) ++ with open(full_path, 'wb') as f: ++ f.write(data) + + + def AddComputedData(module): +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/module.py b/chromium/mojo/public/tools/mojom/mojom/generate/module.py +index ebbc9b322ea..3d026429bbc 100644 +--- a/chromium/mojo/public/tools/mojom/mojom/generate/module.py ++++ b/chromium/mojo/public/tools/mojom/mojom/generate/module.py +@@ -398,7 +398,8 @@ class Field(object): + + + class StructField(Field): +- pass ++ def __hash__(self): ++ return super(Field, self).__hash__() + + + class UnionField(Field): +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py b/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py +index 7a300560246..8d9e26fb7f6 100644 +--- a/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py ++++ b/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py +@@ -75,9 +75,9 @@ def PrecompileTemplates(generator_modules, output_dir): + os.path.dirname(module.__file__), generator.GetTemplatePrefix()) + ])) + jinja_env.filters.update(generator.GetFilters()) +- jinja_env.compile_templates( +- os.path.join(output_dir, "%s.zip" % generator.GetTemplatePrefix()), +- extensions=["tmpl"], +- zip="stored", +- py_compile=True, +- ignore_errors=False) ++ jinja_env.compile_templates(os.path.join( ++ output_dir, "%s.zip" % generator.GetTemplatePrefix()), ++ extensions=["tmpl"], ++ zip="stored", ++ py_compile=sys.version_info.major < 3, ++ ignore_errors=False) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py +index 3225ecca6e4..fc078d31b55 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py +@@ -344,7 +344,7 @@ def make_default_value_expr(idl_type, default_value): + """ + assert default_value.is_type_compatible_with(idl_type) + +- class DefaultValueExpr: ++ class DefaultValueExpr(object): + _ALLOWED_SYMBOLS_IN_DEPS = ("isolate") + + def __init__(self, initializer_expr, initializer_deps, +@@ -502,7 +502,7 @@ def make_v8_to_blink_value(blink_var_name, + assert isinstance(blink_var_name, str) + assert isinstance(v8_value_expr, str) + assert isinstance(idl_type, web_idl.IdlType) +- assert (argument_index is None or isinstance(argument_index, (int, long))) ++ assert (argument_index is None or isinstance(argument_index, int)) + assert (default_value is None + or isinstance(default_value, web_idl.LiteralConstant)) + +@@ -622,7 +622,7 @@ def make_v8_to_blink_value_variadic(blink_var_name, v8_array, + """ + assert isinstance(blink_var_name, str) + assert isinstance(v8_array, str) +- assert isinstance(v8_array_start_index, (int, long)) ++ assert isinstance(v8_array_start_index, int) + assert isinstance(idl_type, web_idl.IdlType) + + pattern = ("auto&& ${{{_1}}} = " +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py +index 4a6df513068..8b51f23a409 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py +@@ -177,7 +177,7 @@ def generate_callback_interface(callback_interface_identifier): + prop_install_mode=PropInstallMode.UNCONDITIONAL, + trampoline_var_name=None, + attribute_entries=[], +- constant_entries=filter(is_unconditional, constant_entries), ++ constant_entries=list(filter(is_unconditional, constant_entries)), + exposed_construct_entries=[], + operation_entries=[]) + (install_interface_template_decl, install_interface_template_def, +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py +index 52972fefe20..e5ae9d9629e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py +@@ -503,13 +503,13 @@ class CompositeNode(CodeNode): + gensym_kwargs = {} + template_vars = {} + for arg in args: +- assert isinstance(arg, (CodeNode, int, long, str)) ++ assert isinstance(arg, (CodeNode, int, str)) + gensym = CodeNode.gensym() + gensym_args.append("${{{}}}".format(gensym)) + template_vars[gensym] = arg + for key, value in kwargs.items(): +- assert isinstance(key, (int, long, str)) +- assert isinstance(value, (CodeNode, int, long, str)) ++ assert isinstance(key, (int, str)) ++ assert isinstance(value, (CodeNode, int, str)) + gensym = CodeNode.gensym() + gensym_kwargs[key] = "${{{}}}".format(gensym) + template_vars[gensym] = value +@@ -602,7 +602,7 @@ class ListNode(CodeNode): + def insert(self, index, node): + if node is None: + return +- assert isinstance(index, (int, long)) ++ assert isinstance(index, int) + assert isinstance(node, CodeNode) + assert node.outer is None and node.prev is None + +@@ -721,7 +721,7 @@ class SymbolScopeNode(SequenceNode): + if not scope_chains: + return counts + +- self_index = iter(scope_chains).next().index(self) ++ self_index = next(iter(scope_chains)).index(self) + scope_chains = map( + lambda scope_chain: scope_chain[self_index + 1:], scope_chains) + scope_to_likeliness = {} +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py +index a229a6c71c9..5fa288dabf2 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py +@@ -109,7 +109,7 @@ def expr_and(terms): + + if any(term.is_always_false for term in terms): + return _Expr(False) +- terms = filter(lambda x: not x.is_always_true, terms) ++ terms = list(filter(lambda x: not x.is_always_true, terms)) + if not terms: + return _Expr(True) + if len(terms) == 1: +@@ -124,7 +124,7 @@ def expr_or(terms): + + if any(term.is_always_true for term in terms): + return _Expr(True) +- terms = filter(lambda x: not x.is_always_false, terms) ++ terms = list(filter(lambda x: not x.is_always_false, terms)) + if not terms: + return _Expr(False) + if len(terms) == 1: +@@ -222,7 +222,7 @@ def expr_from_exposure(exposure, + elif exposure.only_in_secure_contexts is False: + secure_context_term = _Expr(True) + else: +- terms = map(ref_enabled, exposure.only_in_secure_contexts) ++ terms = list(map(ref_enabled, exposure.only_in_secure_contexts)) + secure_context_term = expr_or( + [_Expr("${is_in_secure_context}"), + expr_not(expr_and(terms))]) +@@ -275,10 +275,11 @@ def expr_from_exposure(exposure, + + # [ContextEnabled] + if exposure.context_enabled_features: +- terms = map( +- lambda feature: _Expr( +- "${{context_feature_settings}}->is{}Enabled()".format( +- feature)), exposure.context_enabled_features) ++ terms = list( ++ map( ++ lambda feature: _Expr( ++ "${{context_feature_settings}}->is{}Enabled()".format( ++ feature)), exposure.context_enabled_features)) + context_enabled_terms.append( + expr_and([_Expr("${context_feature_settings}"), + expr_or(terms)])) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py +index 87d26eec3ca..f3e9d38247e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py +@@ -23,7 +23,7 @@ class _TemplateFormatter(string.Formatter): + self._template_formatter_indexing_count_ = 0 + + def get_value(self, key, args, kwargs): +- if isinstance(key, (int, long)): ++ if isinstance(key, int): + return args[key] + assert isinstance(key, str) + if not key: +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py +index 2bcc4fed49a..e72282aa696 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py +@@ -116,4 +116,4 @@ def write_code_node_to_file(code_node, filepath): + # stderr=format_result.error_message)) + # + # web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents) +- web_idl.file_io.write_to_file_if_changed(filepath, rendered_text) ++ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text.encode('utf-8')) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py +index b39f0100410..4d68202296b 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py +@@ -993,7 +993,7 @@ def make_dict_trace_func(cg_context): + _2 = _blink_member_name(member).value_var + return TextNode(_format(pattern, _1=_1, _2=_2)) + +- body.extend(map(make_trace_member_node, own_members)) ++ body.extend(list(map(make_trace_member_node, own_members))) + body.append(TextNode("BaseClass::Trace(visitor);")) + + return func_decl, func_def +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py +index 10ff30656ad..bfdf7128aac 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py +@@ -582,7 +582,7 @@ def _make_blink_api_call(code_node, + overriding_args=None): + assert isinstance(code_node, SymbolScopeNode) + assert isinstance(cg_context, CodeGenContext) +- assert num_of_args is None or isinstance(num_of_args, (int, long)) ++ assert num_of_args is None or isinstance(num_of_args, int) + assert (overriding_args is None + or (isinstance(overriding_args, (list, tuple)) + and all(isinstance(arg, str) for arg in overriding_args))) +@@ -1196,8 +1196,10 @@ def make_overload_dispatcher(cg_context): + did_use_break = did_use_break or can_fail + + conditional = expr_or( +- map(lambda item: expr_from_exposure(item.function_like.exposure), +- items)) ++ list( ++ map( ++ lambda item: expr_from_exposure(item.function_like.exposure ++ ), items))) + if not conditional.is_always_true: + node = CxxUnlikelyIfNode(cond=conditional, body=node) + +@@ -4642,7 +4644,7 @@ class _PropEntryConstructorGroup(_PropEntryBase): + def __init__(self, is_context_dependent, exposure_conditional, world, + constructor_group, ctor_callback_name, ctor_func_length): + assert isinstance(ctor_callback_name, str) +- assert isinstance(ctor_func_length, (int, long)) ++ assert isinstance(ctor_func_length, int) + + _PropEntryBase.__init__(self, is_context_dependent, + exposure_conditional, world, constructor_group) +@@ -4670,7 +4672,7 @@ class _PropEntryOperationGroup(_PropEntryBase): + op_func_length, + no_alloc_direct_callback_name=None): + assert isinstance(op_callback_name, str) +- assert isinstance(op_func_length, (int, long)) ++ assert isinstance(op_func_length, int) + + _PropEntryBase.__init__(self, is_context_dependent, + exposure_conditional, world, operation_group) +@@ -5175,9 +5177,9 @@ def make_install_interface_template(cg_context, function_name, class_name, api_c + ]) + + if class_like.identifier == "CSSStyleDeclaration": +- css_properties = filter( +- lambda attr: "CSSProperty" in attr.extended_attributes, +- class_like.attributes) ++ css_properties = list( ++ filter(lambda attr: "CSSProperty" in attr.extended_attributes, ++ class_like.attributes)) + if css_properties: + prop_name_list = "".join( + map(lambda attr: "\"{}\", ".format(attr.identifier), +@@ -5567,8 +5569,8 @@ ${instance_object} = ${v8_context}->Global()->GetPrototype().As();\ + "V8DOMConfiguration::InstallConstants(${isolate}, " + "${interface_template}, ${prototype_template}, " + "kConstantCallbackTable, base::size(kConstantCallbackTable));") +- constant_callback_entries = filter(lambda entry: entry.const_callback_name, +- constant_entries) ++ constant_callback_entries = list(filter(lambda entry: entry.const_callback_name, ++ constant_entries)) + install_properties(table_name, constant_callback_entries, + _make_constant_callback_registration_table, + installer_call_text) +@@ -5584,8 +5586,8 @@ ${instance_object} = ${v8_context}->Global()->GetPrototype().As();\ + "V8DOMConfiguration::InstallConstants(${isolate}, " + "${interface_template}, ${prototype_template}, " + "kConstantValueTable, base::size(kConstantValueTable));") +- constant_value_entries = filter( +- lambda entry: not entry.const_callback_name, constant_entries) ++ constant_value_entries = list(filter( ++ lambda entry: not entry.const_callback_name, constant_entries)) + install_properties(table_name, constant_value_entries, + _make_constant_value_registration_table, + installer_call_text) +@@ -6336,8 +6338,8 @@ def make_v8_context_snapshot_api(cg_context, component, attribute_entries, + assert isinstance(component, web_idl.Component) + + derived_interfaces = cg_context.interface.deriveds +- derived_names = map(lambda interface: interface.identifier, +- derived_interfaces) ++ derived_names = list( ++ map(lambda interface: interface.identifier, derived_interfaces)) + derived_names.append(cg_context.interface.identifier) + if not ("Window" in derived_names or "HTMLDocument" in derived_names): + return None, None +@@ -6411,9 +6413,11 @@ def _make_v8_context_snapshot_get_reference_table_function( + collect_callbacks(named_properties_object_callback_defs) + collect_callbacks(cross_origin_property_callback_defs) + +- entry_nodes = map( +- lambda name: TextNode("reinterpret_cast({}),".format(name)), +- filter(None, callback_names)) ++ entry_nodes = list( ++ map( ++ lambda name: TextNode("reinterpret_cast({}),".format(name ++ )), ++ filter(None, callback_names))) + table_node = ListNode([ + TextNode("using namespace ${class_name}Callbacks;"), + TextNode("static const intptr_t kReferenceTable[] = {"), +@@ -6451,10 +6455,11 @@ def _make_v8_context_snapshot_install_props_per_context_function( + class_name=None, + prop_install_mode=PropInstallMode.V8_CONTEXT_SNAPSHOT, + trampoline_var_name=None, +- attribute_entries=filter(selector, attribute_entries), +- constant_entries=filter(selector, constant_entries), +- exposed_construct_entries=filter(selector, exposed_construct_entries), +- operation_entries=filter(selector, operation_entries)) ++ attribute_entries=list(filter(selector, attribute_entries)), ++ constant_entries=list(filter(selector, constant_entries)), ++ exposed_construct_entries=list( ++ filter(selector, exposed_construct_entries)), ++ operation_entries=list(filter(selector, operation_entries))) + + return func_decl, func_def + +@@ -6810,11 +6815,11 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.UNCONDITIONAL, + trampoline_var_name=tp_install_unconditional_props, +- attribute_entries=filter(is_unconditional, attribute_entries), +- constant_entries=filter(is_unconditional, constant_entries), +- exposed_construct_entries=filter(is_unconditional, +- exposed_construct_entries), +- operation_entries=filter(is_unconditional, operation_entries)) ++ attribute_entries=list(filter(is_unconditional, attribute_entries)), ++ constant_entries=list(filter(is_unconditional, constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_unconditional, exposed_construct_entries)), ++ operation_entries=list(filter(is_unconditional, operation_entries))) + (install_context_independent_props_decl, + install_context_independent_props_def, + install_context_independent_props_trampoline) = make_install_properties( +@@ -6823,11 +6828,14 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.CONTEXT_INDEPENDENT, + trampoline_var_name=tp_install_context_independent_props, +- attribute_entries=filter(is_context_independent, attribute_entries), +- constant_entries=filter(is_context_independent, constant_entries), +- exposed_construct_entries=filter(is_context_independent, +- exposed_construct_entries), +- operation_entries=filter(is_context_independent, operation_entries)) ++ attribute_entries=list( ++ filter(is_context_independent, attribute_entries)), ++ constant_entries=list(filter(is_context_independent, ++ constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_context_independent, exposed_construct_entries)), ++ operation_entries=list( ++ filter(is_context_independent, operation_entries))) + (install_context_dependent_props_decl, install_context_dependent_props_def, + install_context_dependent_props_trampoline) = make_install_properties( + cg_context, +@@ -6835,11 +6843,13 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.CONTEXT_DEPENDENT, + trampoline_var_name=tp_install_context_dependent_props, +- attribute_entries=filter(is_context_dependent, attribute_entries), +- constant_entries=filter(is_context_dependent, constant_entries), +- exposed_construct_entries=filter(is_context_dependent, +- exposed_construct_entries), +- operation_entries=filter(is_context_dependent, operation_entries)) ++ attribute_entries=list(filter(is_context_dependent, ++ attribute_entries)), ++ constant_entries=list(filter(is_context_dependent, constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_context_dependent, exposed_construct_entries)), ++ operation_entries=list(filter(is_context_dependent, ++ operation_entries))) + (install_interface_template_decl, install_interface_template_def, + install_interface_template_trampoline) = make_install_interface_template( + cg_context, +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py +index b4c70553863..f3a2fcd772d 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py +@@ -105,7 +105,7 @@ class MakoRenderer(object): + on_error = self._caller_stack_on_error + if (len(current) <= len(on_error) + and all(current[i] == on_error[i] +- for i in xrange(len(current)))): ++ for i in range(len(current)))): + pass # Error happened in a deeper caller. + else: + self._caller_stack_on_error = list(self._caller_stack) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +index dc3493cc394..017d3d47bb3 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +@@ -70,8 +70,13 @@ def gn_format(contents, filename=None): + + + def _invoke_format_command(command_line, filename, contents): +- proc = subprocess.Popen( +- command_line, stdin=subprocess.PIPE, stdout=subprocess.PIPE) ++ kwargs = {} ++ if sys.version_info.major != 2: ++ kwargs['encoding'] = 'utf-8' ++ proc = subprocess.Popen(command_line, ++ stdin=subprocess.PIPE, ++ stdout=subprocess.PIPE, ++ **kwargs) + stdout_output, stderr_output = proc.communicate(input=contents) + exit_code = proc.wait() + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py +index 0d8f4c0f303..e666a9b668e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py +@@ -2,6 +2,7 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import functools + import multiprocessing + + from .package_initializer import package_initializer +@@ -76,7 +77,7 @@ class TaskQueue(object): + if not report_progress: + return + +- done_count = reduce( ++ done_count = functools.reduce( + lambda count, worker_task: count + bool(worker_task.ready()), + self._worker_tasks, 0) + report_progress(len(self._worker_tasks), done_count) +@@ -85,4 +86,4 @@ class TaskQueue(object): + def _task_queue_run_tasks(tasks): + for task in tasks: + func, args, kwargs = task +- apply(func, args, kwargs) ++ func(*args, **kwargs) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py b/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py +index e8280be7213..e49e6eb965e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py +@@ -13,6 +13,7 @@ import re + import sys + + from idl_types import set_ancestors, IdlType ++from itertools import groupby + from v8_globals import includes + from v8_interface import constant_filters + from v8_types import set_component_dirs +@@ -43,6 +44,7 @@ TEMPLATES_DIR = os.path.normpath( + # after path[0] == invoking script dir + sys.path.insert(1, THIRD_PARTY_DIR) + import jinja2 ++from jinja2.filters import make_attrgetter, environmentfilter + + + def generate_indented_conditional(code, conditional): +@@ -88,6 +90,13 @@ def runtime_enabled_if(code, name): + return generate_indented_conditional(code, function) + + ++@environmentfilter ++def do_stringify_key_group_by(environment, value, attribute): ++ expr = make_attrgetter(environment, attribute) ++ key = lambda item: '' if expr(item) is None else str(expr(item)) ++ return groupby(sorted(value, key=key), expr) ++ ++ + def initialize_jinja_env(cache_dir): + jinja_env = jinja2.Environment( + loader=jinja2.FileSystemLoader(TEMPLATES_DIR), +@@ -117,6 +126,7 @@ def initialize_jinja_env(cache_dir): + }) + jinja_env.filters.update(constant_filters()) + jinja_env.filters.update(method_filters()) ++ jinja_env.filters["stringifykeygroupby"] = do_stringify_key_group_by + return jinja_env + + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py b/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py +index 130004eae83..04c0fabcef2 100755 +--- a/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py +@@ -80,7 +80,7 @@ def read_idl_file(reader, idl_filename): + assert len(interfaces) == 1, ( + "Expected one interface in file %r, found %d" % + (idl_filename, len(interfaces))) +- return (interfaces.values()[0], includes) ++ return (list(interfaces.values())[0], includes) + + + def interface_is_global(interface): +@@ -281,7 +281,7 @@ def main(): + + info_provider = create_component_info_provider( + os.path.normpath(options.info_dir), options.target_component) +- idl_filenames = map(str.strip, open(options.idl_files_list)) ++ idl_filenames = list(map(str.strip, open(options.idl_files_list))) + + generate_origin_trial_features(info_provider, options, idl_filenames) + return 0 +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py +index 14e6e9d3f87..b027818aef2 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py +@@ -394,7 +394,8 @@ class IdlInterface(object): + else: + raise ValueError('Unrecognized node class: %s' % child_class) + +- if len(filter(None, [self.iterable, self.maplike, self.setlike])) > 1: ++ if len(list(filter(None, ++ [self.iterable, self.maplike, self.setlike]))) > 1: + raise ValueError( + 'Interface can only have one of iterable<>, maplike<> and setlike<>.' + ) +@@ -512,6 +513,9 @@ class IdlAttribute(TypedObject): + def accept(self, visitor): + visitor.visit_attribute(self) + ++ def __lt__(self, other): ++ return self.name < other.name ++ + + ################################################################################ + # Constants +@@ -852,7 +856,7 @@ class IdlIncludes(object): + ################################################################################ + + +-class Exposure: ++class Exposure(object): + """An Exposure holds one Exposed or RuntimeEnabled condition. + Each exposure has two properties: exposed and runtime_enabled. + Exposure(e, r) corresponds to [Exposed(e r)]. Exposure(e) corresponds to +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py +index 8d72865a6ca..b80eebdcd61 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py +@@ -55,8 +55,8 @@ def validate_blink_idl_definitions(idl_filename, idl_file_basename, + definitions. There is no filename convention in this case. + - Otherwise, an IDL file is invalid. + """ +- targets = ( +- definitions.interfaces.values() + definitions.dictionaries.values()) ++ targets = (list(definitions.interfaces.values()) + ++ list(definitions.dictionaries.values())) + number_of_targets = len(targets) + if number_of_targets > 1: + raise Exception( +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py +index cd4f0c3513b..ab95e9c0b08 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py +@@ -349,7 +349,7 @@ class IdlUnionType(IdlTypeBase): + return True + + def single_matching_member_type(self, predicate): +- matching_types = filter(predicate, self.flattened_member_types) ++ matching_types = list(filter(predicate, self.flattened_member_types)) + if len(matching_types) > 1: + raise ValueError('%s is ambiguous.' % self.name) + return matching_types[0] if matching_types else None +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/utilities.py b/chromium/third_party/blink/renderer/bindings/scripts/utilities.py +index e1677ee7bd6..3c5006f064f 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/utilities.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/utilities.py +@@ -196,8 +196,9 @@ class ComponentInfoProviderModules(ComponentInfoProvider): + + @property + def callback_functions(self): +- return dict(self._component_info_core['callback_functions'].items() + +- self._component_info_modules['callback_functions'].items()) ++ return dict( ++ list(self._component_info_core['callback_functions'].items()) + ++ list(self._component_info_modules['callback_functions'].items())) + + @property + def specifier_for_export(self): +@@ -209,8 +210,8 @@ class ComponentInfoProviderModules(ComponentInfoProvider): + + + def load_interfaces_info_overall_pickle(info_dir): +- with open(os.path.join(info_dir, +- 'interfaces_info.pickle')) as interface_info_file: ++ with open(os.path.join(info_dir, 'interfaces_info.pickle'), ++ mode='rb') as interface_info_file: + return pickle.load(interface_info_file) + + +@@ -236,23 +237,20 @@ def merge_dict_recursively(target, diff): + + def create_component_info_provider_core(info_dir): + interfaces_info = load_interfaces_info_overall_pickle(info_dir) +- with open( +- os.path.join(info_dir, 'core', +- 'component_info_core.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), ++ mode='rb') as component_info_file: + component_info = pickle.load(component_info_file) + return ComponentInfoProviderCore(interfaces_info, component_info) + + + def create_component_info_provider_modules(info_dir): + interfaces_info = load_interfaces_info_overall_pickle(info_dir) +- with open( +- os.path.join(info_dir, 'core', +- 'component_info_core.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), ++ mode='rb') as component_info_file: + component_info_core = pickle.load(component_info_file) +- with open( +- os.path.join( +- info_dir, 'modules', +- 'component_info_modules.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'modules', ++ 'component_info_modules.pickle'), ++ mode='rb') as component_info_file: + component_info_modules = pickle.load(component_info_file) + return ComponentInfoProviderModules(interfaces_info, component_info_core, + component_info_modules) +@@ -356,7 +354,7 @@ def write_pickle_file(pickle_filename, data): + pickle_filename = abs(pickle_filename) + # If |data| is same with the file content, we skip updating. + if os.path.isfile(pickle_filename): +- with open(pickle_filename) as pickle_file: ++ with open(pickle_filename, 'rb') as pickle_file: + try: + if pickle.load(pickle_file) == data: + return +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py +index a43260414db..a85b03abe75 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py +@@ -189,7 +189,7 @@ def context_enabled_features(attributes): + return sorted([ + member for member in members + if member.get(KEY) and not member.get('exposed_test') +- ]) ++ ], key=lambda item: item['name']) + + def member_filter_by_name(members, name): + return [member for member in members if member[KEY] == name] +@@ -612,7 +612,8 @@ def interface_context(interface, interfaces, component_info): + sorted( + origin_trial_features(interface, context['constants'], + context['attributes'], context['methods']) + +- context_enabled_features(context['attributes'])), ++ context_enabled_features(context['attributes']), ++ key=lambda item: item['name']), + }) + if context['optional_features']: + includes.add('platform/bindings/v8_per_context_data.h') +@@ -1356,9 +1357,9 @@ def resolution_tests_methods(effective_overloads): + + # Extract argument and IDL type to simplify accessing these in each loop. + arguments = [method['arguments'][index] for method in methods] +- arguments_methods = zip(arguments, methods) ++ arguments_methods = list(zip(arguments, methods)) + idl_types = [argument['idl_type_object'] for argument in arguments] +- idl_types_methods = zip(idl_types, methods) ++ idl_types_methods = list(zip(idl_types, methods)) + + # We can’t do a single loop through all methods or simply sort them, because + # a method may be listed in multiple steps of the resolution algorithm, and +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py +index 5f1f89a3def..6ee8a407798 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py +@@ -46,6 +46,10 @@ import v8_types + import v8_utilities + from v8_utilities import (has_extended_attribute_value, is_unforgeable) + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ + + def method_is_visible(method, interface_is_partial): + if 'overloads' in method: +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py +index 2ecd6923320..fcfc48371b1 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py +@@ -271,7 +271,7 @@ EXPOSED_WORKERS = set([ + ]) + + +-class ExposureSet: ++class ExposureSet(object): + """An ExposureSet is a collection of Exposure instructions.""" + + def __init__(self, exposures=None): +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py +index 13fb7c7068d..b73b7710687 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py +@@ -91,11 +91,13 @@ class CallbackInterface(UserDefinedType, WithExtendedAttributes, + for operation_ir in ir.operations + ]) + self._operation_groups = tuple([ +- OperationGroup( +- operation_group_ir, +- filter(lambda x: x.identifier == operation_group_ir.identifier, +- self._operations), +- owner=self) for operation_group_ir in ir.operation_groups ++ OperationGroup(operation_group_ir, ++ list( ++ filter( ++ lambda x: x.identifier == operation_group_ir ++ .identifier, self._operations)), ++ owner=self) ++ for operation_group_ir in ir.operation_groups + ]) + + @property +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py +index c92cf48eb2a..f5d59129449 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py +@@ -156,4 +156,4 @@ class Database(object): + return self._view_by_kind(Database._Kind.UNION) + + def _view_by_kind(self, kind): +- return self._impl.find_by_kind(kind).values() ++ return list(self._impl.find_by_kind(kind).values()) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py +index abaeef39c30..e36cf7439ae 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py +@@ -8,8 +8,11 @@ from .runtime_enabled_features import RuntimeEnabledFeatures + class _Feature(str): + """Represents a runtime-enabled feature.""" + ++ def __new__(cls, value): ++ return str.__new__(cls, value) ++ + def __init__(self, value): +- str.__init__(self, value) ++ str.__init__(self) + self._is_context_dependent = ( + RuntimeEnabledFeatures.is_context_dependent(self)) + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py +index 648c70d803d..1712f19c672 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py +@@ -71,8 +71,9 @@ class FunctionLike(WithIdentifier): + def num_of_required_arguments(self): + """Returns the number of required arguments.""" + return len( +- filter(lambda arg: not (arg.is_optional or arg.is_variadic), +- self.arguments)) ++ list( ++ filter(lambda arg: not (arg.is_optional or arg.is_variadic), ++ self.arguments))) + + + class OverloadGroup(WithIdentifier): +@@ -171,8 +172,7 @@ class OverloadGroup(WithIdentifier): + Returns the effective overload set. + https://heycam.github.io/webidl/#compute-the-effective-overload-set + """ +- assert argument_count is None or isinstance(argument_count, +- (int, long)) ++ assert argument_count is None or isinstance(argument_count, int) + + N = argument_count + S = [] +@@ -188,21 +188,21 @@ class OverloadGroup(WithIdentifier): + + S.append( + OverloadGroup.EffectiveOverloadItem( +- X, map(lambda arg: arg.idl_type, X.arguments), +- map(lambda arg: arg.optionality, X.arguments))) ++ X, list(map(lambda arg: arg.idl_type, X.arguments)), ++ list(map(lambda arg: arg.optionality, X.arguments)))) + + if X.is_variadic: +- for i in xrange(n, max(maxarg, N)): +- t = map(lambda arg: arg.idl_type, X.arguments) +- o = map(lambda arg: arg.optionality, X.arguments) +- for _ in xrange(n, i + 1): ++ for i in range(n, max(maxarg, N)): ++ t = list(map(lambda arg: arg.idl_type, X.arguments)) ++ o = list(map(lambda arg: arg.optionality, X.arguments)) ++ for _ in range(n, i + 1): + t.append(X.arguments[-1].idl_type) + o.append(X.arguments[-1].optionality) + S.append(OverloadGroup.EffectiveOverloadItem(X, t, o)) + +- t = map(lambda arg: arg.idl_type, X.arguments) +- o = map(lambda arg: arg.optionality, X.arguments) +- for i in xrange(n - 1, -1, -1): ++ t = list(map(lambda arg: arg.idl_type, X.arguments)) ++ o = list(map(lambda arg: arg.optionality, X.arguments)) ++ for i in range(n - 1, -1, -1): + if X.arguments[i].optionality == IdlType.Optionality.REQUIRED: + break + S.append(OverloadGroup.EffectiveOverloadItem(X, t[:i], o[:i])) +@@ -222,7 +222,7 @@ class OverloadGroup(WithIdentifier): + for item in items) + assert len(items) > 1 + +- for index in xrange(len(items[0].type_list)): ++ for index in range(len(items[0].type_list)): + # Assume that the given items are valid, and we only need to test + # the two types. + if OverloadGroup.are_distinguishable_types( +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py +index c5ee2bd8a3d..58315072480 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py +@@ -149,8 +149,8 @@ class IdlCompiler(object): + for old_ir in old_irs: + new_ir = make_copy(old_ir) + self._ir_map.add(new_ir) +- new_ir.attributes = filter(not_disabled, new_ir.attributes) +- new_ir.operations = filter(not_disabled, new_ir.operations) ++ new_ir.attributes = list(filter(not_disabled, new_ir.attributes)) ++ new_ir.operations = list(filter(not_disabled, new_ir.operations)) + + def _record_defined_in_partial_and_mixin(self): + old_irs = self._ir_map.irs_of_kinds( +@@ -231,7 +231,7 @@ class IdlCompiler(object): + only_to_members_of_partial_or_mixin=False) + propagate_to_exposure(propagate) + +- map(process_member_like, ir.iter_all_members()) ++ list(map(process_member_like, ir.iter_all_members())) + + def process_member_like(ir): + propagate = functools.partial(propagate_extattr, ir=ir) +@@ -257,7 +257,7 @@ class IdlCompiler(object): + + self._ir_map.move_to_new_phase() + +- map(process_interface_like, old_irs) ++ list(map(process_interface_like, old_irs)) + + def _determine_blink_headers(self): + irs = self._ir_map.irs_of_kinds( +@@ -422,9 +422,9 @@ class IdlCompiler(object): + assert not new_interface.deriveds + derived_set = identifier_to_derived_set.get( + new_interface.identifier, set()) +- new_interface.deriveds = map( +- lambda id_: self._ref_to_idl_def_factory.create(id_), +- sorted(derived_set)) ++ new_interface.deriveds = list( ++ map(lambda id_: self._ref_to_idl_def_factory.create(id_), ++ sorted(derived_set))) + + def _supplement_missing_html_constructor_operation(self): + # Temporary mitigation of misuse of [HTMLConstructor] +@@ -553,7 +553,8 @@ class IdlCompiler(object): + self._ir_map.add(new_ir) + + for group in new_ir.iter_all_overload_groups(): +- exposures = map(lambda overload: overload.exposure, group) ++ exposures = list(map(lambda overload: overload.exposure, ++ group)) + + # [Exposed] + if any(not exposure.global_names_and_features +@@ -653,8 +654,8 @@ class IdlCompiler(object): + constructs = set() + for global_name in global_names: + constructs.update(exposed_map.get(global_name, [])) +- new_ir.exposed_constructs = map( +- self._ref_to_idl_def_factory.create, sorted(constructs)) ++ new_ir.exposed_constructs = list( ++ map(self._ref_to_idl_def_factory.create, sorted(constructs))) + + assert not new_ir.legacy_window_aliases + if new_ir.identifier != 'Window': +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py +index 65d24e529d1..067ef2eb0b2 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py +@@ -180,8 +180,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._constructor_groups = tuple([ + ConstructorGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._constructors), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._constructors)), + owner=self) for group_ir in ir.constructor_groups + ]) + assert len(self._constructor_groups) <= 1 +@@ -192,8 +193,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._named_constructor_groups = tuple([ + ConstructorGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._named_constructors), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._named_constructors)), + owner=self) for group_ir in ir.named_constructor_groups + ]) + self._operations = tuple([ +@@ -203,22 +205,23 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=self) for group_ir in ir.operation_groups + ]) + self._exposed_constructs = tuple(ir.exposed_constructs) + self._legacy_window_aliases = tuple(ir.legacy_window_aliases) + self._indexed_and_named_properties = None +- indexed_and_named_property_operations = filter( +- lambda x: x.is_indexed_or_named_property_operation, +- self._operations) ++ indexed_and_named_property_operations = list( ++ filter(lambda x: x.is_indexed_or_named_property_operation, ++ self._operations)) + if indexed_and_named_property_operations: + self._indexed_and_named_properties = IndexedAndNamedProperties( + indexed_and_named_property_operations, owner=self) + self._stringifier = None +- stringifier_operation_irs = filter(lambda x: x.is_stringifier, +- ir.operations) ++ stringifier_operation_irs = list( ++ filter(lambda x: x.is_stringifier, ir.operations)) + if stringifier_operation_irs: + assert len(stringifier_operation_irs) == 1 + op_ir = make_copy(stringifier_operation_irs[0]) +@@ -231,8 +234,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + attribute = None + if operation.stringifier_attribute: + attr_id = operation.stringifier_attribute +- attributes = filter(lambda x: x.identifier == attr_id, +- self._attributes) ++ attributes = list( ++ filter(lambda x: x.identifier == attr_id, ++ self._attributes)) + assert len(attributes) == 1 + attribute = attributes[0] + self._stringifier = Stringifier(operation, attribute, owner=self) +@@ -578,8 +582,9 @@ class Iterable(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +@@ -666,8 +671,9 @@ class Maplike(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +@@ -755,8 +761,9 @@ class Setlike(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py +index e9aeff4ab82..d80554d603e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import sys ++ + from .argument import Argument + from .ast_group import AstGroup + from .attribute import Attribute +@@ -30,6 +32,11 @@ from .operation import Operation + from .typedef import Typedef + + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ long = int ++ ++ + def load_and_register_idl_definitions(filepaths, register_ir, + create_ref_to_idl_def, idl_type_factory): + """ +@@ -160,7 +167,7 @@ class _IRBuilder(object): + child_nodes = list(node.GetChildren()) + extended_attributes = self._take_extended_attributes(child_nodes) + +- members = map(self._build_interface_member, child_nodes) ++ members = list(map(self._build_interface_member, child_nodes)) + attributes = [] + constants = [] + operations = [] +@@ -302,7 +309,7 @@ class _IRBuilder(object): + child_nodes = list(node.GetChildren()) + inherited = self._take_inheritance(child_nodes) + extended_attributes = self._take_extended_attributes(child_nodes) +- own_members = map(self._build_dictionary_member, child_nodes) ++ own_members = list(map(self._build_dictionary_member, child_nodes)) + + return Dictionary.IR( + identifier=Identifier(node.GetName()), +@@ -336,7 +343,7 @@ class _IRBuilder(object): + + child_nodes = list(node.GetChildren()) + extended_attributes = self._take_extended_attributes(child_nodes) +- members = map(self._build_interface_member, child_nodes) ++ members = list(map(self._build_interface_member, child_nodes)) + constants = [] + operations = [] + for member in members: +@@ -456,8 +463,8 @@ class _IRBuilder(object): + assert len(child_nodes) == 1 + child = child_nodes[0] + if child.GetClass() == 'Arguments': +- arguments = map(build_extattr_argument, +- child.GetChildren()) ++ arguments = list( ++ map(build_extattr_argument, child.GetChildren())) + elif child.GetClass() == 'Call': + assert len(child.GetChildren()) == 1 + grand_child = child.GetChildren()[0] +@@ -486,7 +493,9 @@ class _IRBuilder(object): + + assert node.GetClass() == 'ExtAttributes' + return ExtendedAttributes( +- filter(None, map(build_extended_attribute, node.GetChildren()))) ++ list( ++ filter(None, map(build_extended_attribute, ++ node.GetChildren())))) + + def _build_inheritance(self, node): + assert node.GetClass() == 'Inherit' +@@ -506,7 +515,7 @@ class _IRBuilder(object): + + def _build_iterable(self, node): + assert node.GetClass() == 'Iterable' +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 1 or len(types) == 2 + if len(types) == 1: # value iterator + key_type, value_type = (None, types[0]) +@@ -584,7 +593,7 @@ class _IRBuilder(object): + def _build_maplike(self, node, interface_identifier): + assert node.GetClass() == 'Maplike' + assert isinstance(interface_identifier, Identifier) +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 2 + key_type, value_type = types + is_readonly = bool(node.GetProperty('READONLY')) +@@ -676,7 +685,7 @@ class _IRBuilder(object): + def _build_setlike(self, node, interface_identifier): + assert node.GetClass() == 'Setlike' + assert isinstance(interface_identifier, Identifier) +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 1 + value_type = types[0] + is_readonly = bool(node.GetProperty('READONLY')) +@@ -838,7 +847,7 @@ class _IRBuilder(object): + + def build_union_type(node, extended_attributes): + return self._idl_type_factory.union_type( +- member_types=map(self._build_type, node.GetChildren()), ++ member_types=list(map(self._build_type, node.GetChildren())), + is_optional=is_optional, + extended_attributes=extended_attributes, + debug_info=self._build_debug_info(node)) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py +index a7a2b11f3f0..2f6b61300ff 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py +@@ -3,6 +3,13 @@ + # found in the LICENSE file. + + ++import sys ++ ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ long = int ++ basestring = str ++ + def make_copy(obj, memo=None): + """ + Creates a copy of the given object, which should be an IR or part of IR. +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py +index eeabef97cbe..bd7e98907f3 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py +@@ -107,11 +107,13 @@ class Namespace(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + for operation_ir in ir.operations + ]) + self._operation_groups = tuple([ +- OperationGroup( +- operation_group_ir, +- filter(lambda x: x.identifier == operation_group_ir.identifier, +- self._operations), +- owner=self) for operation_group_ir in ir.operation_groups ++ OperationGroup(operation_group_ir, ++ list( ++ filter( ++ lambda x: x.identifier == operation_group_ir ++ .identifier, self._operations)), ++ owner=self) ++ for operation_group_ir in ir.operation_groups + ]) + + @property +diff --git a/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl b/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl +index 0add9c45a38..dc910f6d227 100644 +--- a/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl ++++ b/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl +@@ -59,9 +59,9 @@ void {{v8_class}}::ToImpl(v8::Isolate* isolate, v8::Local v8_value, { + DCHECK(executionContext); + {% endif %}{# has_origin_trial_members #} + {% endif %}{# members #} +- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} ++ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} + {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} +- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} ++ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} + {% filter runtime_enabled(feature_name) %} + {% for member in member_list %} + v8::Local {{member.v8_value}}; +@@ -147,9 +147,9 @@ bool toV8{{cpp_class}}(const {{cpp_class}}* impl, v8::Local dictiona + DCHECK(executionContext); + {% endif %}{# has_origin_trial_members #} + {% endif %}{# members #} +- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} ++ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} + {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} +- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} ++ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} + {% filter runtime_enabled(feature_name) %} + {% for member in member_list %} + v8::Local {{member.v8_value}}; +diff --git a/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py b/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py +index 1799cd5a153..5f43ffabc26 100755 +--- a/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py ++++ b/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py +@@ -71,7 +71,7 @@ class Expansion(object): + def enabled_longhands(self): + include = lambda longhand: not longhand[ + 'runtime_flag'] or self.is_enabled(longhand['runtime_flag']) +- return filter(include, self._longhands) ++ return list(filter(include, self._longhands)) + + @property + def index(self): +@@ -87,8 +87,9 @@ class Expansion(object): + + def create_expansions(longhands): + flags = collect_runtime_flags(longhands) +- expansions = map(lambda mask: Expansion(longhands, flags, mask), +- range(1 << len(flags))) ++ expansions = list( ++ map(lambda mask: Expansion(longhands, flags, mask), ++ range(1 << len(flags)))) + assert len(expansions) > 0 + # We generate 2^N expansions for N flags, so enforce some limit. + assert len(flags) <= 4, 'Too many runtime flags for a single shorthand' +@@ -114,14 +115,14 @@ class StylePropertyShorthandWriter(json5_generator.Writer): + + self._longhand_dictionary = defaultdict(list) + for property_ in json5_properties.shorthands: +- property_['longhand_enum_keys'] = map(enum_key_for_css_property, +- property_['longhands']) +- property_['longhand_property_ids'] = map(id_for_css_property, +- property_['longhands']) +- +- longhands = map( +- lambda name: json5_properties.properties_by_name[name], +- property_['longhands']) ++ property_['longhand_enum_keys'] = list( ++ map(enum_key_for_css_property, property_['longhands'])) ++ property_['longhand_property_ids'] = list( ++ map(id_for_css_property, property_['longhands'])) ++ ++ longhands = list( ++ map(lambda name: json5_properties.properties_by_name[name], ++ property_['longhands'])) + property_['expansions'] = create_expansions(longhands) + for longhand_enum_key in property_['longhand_enum_keys']: + self._longhand_dictionary[longhand_enum_key].append(property_) +diff --git a/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py b/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py +index 75030ac577e..f72aadee17d 100755 +--- a/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py ++++ b/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py +@@ -42,8 +42,8 @@ class CSSPropertyInstancesWriter(json5_generator.Writer): + aliases = self._css_properties.aliases + + # Lists of PropertyClassData. +- self._property_classes_by_id = map(self.get_class, properties) +- self._alias_classes_by_id = map(self.get_class, aliases) ++ self._property_classes_by_id = list(map(self.get_class, properties)) ++ self._alias_classes_by_id = list(map(self.get_class, aliases)) + + # Sort by enum value. + self._property_classes_by_id.sort(key=lambda t: t.enum_value) +diff --git a/chromium/third_party/blink/renderer/build/scripts/gperf.py b/chromium/third_party/blink/renderer/build/scripts/gperf.py +index 5ee49056be4..db72660d471 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/gperf.py ++++ b/chromium/third_party/blink/renderer/build/scripts/gperf.py +@@ -95,7 +95,7 @@ def main(): + + open(args.output_file, 'wb').write( + generate_gperf(gperf_path, +- open(infile).read(), gperf_args)) ++ open(infile).read(), gperf_args).encode('utf-8')) + + + if __name__ == '__main__': +diff --git a/chromium/third_party/blink/renderer/build/scripts/in_file.py b/chromium/third_party/blink/renderer/build/scripts/in_file.py +index 28adc050f1e..58113483e57 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/in_file.py ++++ b/chromium/third_party/blink/renderer/build/scripts/in_file.py +@@ -66,7 +66,7 @@ class InFile(object): + self._defaults = defaults + self._valid_values = copy.deepcopy( + valid_values if valid_values else {}) +- self._parse(map(str.strip, lines)) ++ self._parse(list(map(str.strip, lines))) + + @classmethod + def load_from_files(self, file_paths, defaults, valid_values, +diff --git a/chromium/third_party/blink/renderer/build/scripts/in_generator.py b/chromium/third_party/blink/renderer/build/scripts/in_generator.py +index e46740a2e85..ab1981ad1e3 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/in_generator.py ++++ b/chromium/third_party/blink/renderer/build/scripts/in_generator.py +@@ -32,10 +32,15 @@ import os + import os.path + import shlex + import shutil ++import sys + import optparse + + from in_file import InFile + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ + + ######################################################### + # This is now deprecated - use json5_generator.py instead +diff --git a/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py b/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py +index cafe8d94a8e..6925a4fa580 100755 +--- a/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py ++++ b/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py +@@ -138,7 +138,7 @@ class RuntimeFeatureWriter(BaseRuntimeFeatureWriter): + except Exception: + # If trouble unpickling, overwrite + pass +- with open(os.path.abspath(file_name), 'w') as pickle_file: ++ with open(os.path.abspath(file_name), 'wb') as pickle_file: + pickle.dump(features_map, pickle_file) + + def _template_inputs(self): +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl +index dc3f44c5b10..3eefcf9f0ee 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl +@@ -26,7 +26,7 @@ using {{namespace}}FunctionMap = HashMapGetExecutionContext())) { +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl +index 1b5297d52dc..edecc81d9d4 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl +@@ -15,7 +15,7 @@ namespace blink { + class Document; + + // Type checking. +-{% for tag in tags|sort if not tag.multipleTagNames and not tag.noTypeHelpers %} ++{% for tag in tags|sort(attribute='name') if not tag.multipleTagNames and not tag.noTypeHelpers %} + class {{tag.interface}}; + template <> + inline bool IsElementOfType(const Node& node) { +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl +index 0244433af2e..dcdbb02a56c 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl +@@ -25,7 +25,7 @@ + + + {% macro trie_leaf(index, object, return_macro, lowercase_data) %} +-{% set name, value = object.items()[0] %} ++{% set name, value = (object.items()|list)[0] %} + {% if name|length %} + if ( + {%- for c in name -%} +@@ -45,7 +45,7 @@ return {{ return_macro(value) }}; + + + {% macro trie_switch(trie, index, return_macro, lowercase_data) %} +-{% if trie|length == 1 and trie.values()[0] is string %} ++{% if trie|length == 1 and (trie.values()|list)[0] is string %} + {{ trie_leaf(index, trie, return_macro, lowercase_data) -}} + {% else %} + {% if lowercase_data %} +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl +index cb05c6c4315..bd5566b03e7 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl +@@ -24,12 +24,12 @@ namespace {{cpp_namespace}} { + {{symbol_export}}extern const WTF::AtomicString& {{namespace_prefix}}NamespaceURI; + + // Tags +-{% for tag in tags|sort %} ++{% for tag in tags|sort(attribute='name') %} + {{symbol_export}}extern const blink::{{namespace}}QualifiedName& {{tag|symbol}}Tag; + {% endfor %} + + // Attributes +-{% for attr in attrs|sort %} ++{% for attr in attrs|sort(attribute='name') %} + {{symbol_export}}extern const blink::QualifiedName& {{attr|symbol}}Attr; + {% endfor %} + +diff --git a/chromium/third_party/dawn/generator/generator_lib.py b/chromium/third_party/dawn/generator/generator_lib.py +index 5e3734d7833..e3d46bd194f 100644 +--- a/chromium/third_party/dawn/generator/generator_lib.py ++++ b/chromium/third_party/dawn/generator/generator_lib.py +@@ -201,6 +201,10 @@ def _compute_python_dependencies(root_dir=None): + + paths = set() + for path in module_paths: ++ # Builtin/namespaced modules may return None for the file path. ++ if not path: ++ continue ++ + path = os.path.abspath(path) + + if not path.startswith(root_dir): +diff --git a/chromium/third_party/devtools-frontend/src/BUILD.gn b/chromium/third_party/devtools-frontend/src/BUILD.gn +index cd488e88b60..ea1dc3d9a79 100644 +--- a/chromium/third_party/devtools-frontend/src/BUILD.gn ++++ b/chromium/third_party/devtools-frontend/src/BUILD.gn +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import("//build/config/python.gni") ++ + import("//third_party/blink/public/public_features.gni") + import("./all_devtools_files.gni") + import("./all_devtools_modules.gni") +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py b/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py +index d6666e8b74f..0f7a661e632 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py +@@ -45,7 +45,8 @@ def rollup(input_path, output_path, filename, max_size, rollup_plugin): + ['--format', 'iife', '-n', 'InspectorOverlay'] + ['--input', target] + + ['--plugin', rollup_plugin], + stdout=subprocess.PIPE, +- stderr=subprocess.PIPE) ++ stderr=subprocess.PIPE, ++ text=True) + out, error = rollup_process.communicate() + if not out: + raise Exception("rollup failed: " + error) +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py b/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py +index fa8e73d34af..7d0b84b2171 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py +@@ -10,7 +10,7 @@ Builds applications in release mode: + and the application loader into a single script. + """ + +-from cStringIO import StringIO ++from io import StringIO + from os import path + from os.path import join + import copy +@@ -145,8 +145,7 @@ class ReleaseBuilder(object): + resource_content = read_file(path.join(self.application_dir, resource_name)) + if not (resource_name.endswith('.html') + or resource_name.endswith('md')): +- resource_content += resource_source_url(resource_name).encode( +- 'utf-8') ++ resource_content += resource_source_url(resource_name) + resource_content = resource_content.replace('\\', '\\\\') + resource_content = resource_content.replace('\n', '\\n') + resource_content = resource_content.replace('"', '\\"') +@@ -173,7 +172,9 @@ class ReleaseBuilder(object): + def _concatenate_application_script(self, output): + output.write('Root.allDescriptors.push(...%s);' % self._release_module_descriptors()) + if self.descriptors.extends: +- output.write('Root.applicationDescriptor.modules.push(...%s);' % json.dumps(self.descriptors.application.values())) ++ output.write( ++ 'Root.applicationDescriptor.modules.push(...%s);' % ++ json.dumps(list(self.descriptors.application.values()))) + else: + output.write('Root.applicationDescriptor = %s;' % self.descriptors.application_json()) + +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py b/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py +index be510c48d76..c6a59c90298 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py +@@ -123,7 +123,7 @@ def main(argv): + + try: + os.makedirs(path.join(output_directory, 'Images')) +- except OSError, e: ++ except OSError as e: + if e.errno != errno.EEXIST: + raise e + +@@ -147,7 +147,7 @@ def main(argv): + shutil.copy(path.join(dirname, filename), path.join(output_directory, 'Images')) + add_file_to_grd(doc, path.join('Images', filename)) + +- with open(parsed_args.output_filename, 'w') as output_file: ++ with open(parsed_args.output_filename, 'wb') as output_file: + output_file.write(doc.toxml(encoding='UTF-8')) + + +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py b/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py +index 0ba695d3810..bb1da2f9f8d 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py +@@ -7,6 +7,8 @@ + Utilities for the modular DevTools build. + """ + ++from __future__ import print_function ++ + import collections + from os import path + import os +@@ -40,7 +42,7 @@ def load_and_parse_json(filename): + try: + return json.loads(read_file(filename)) + except: +- print 'ERROR: Failed to parse %s' % filename ++ print('ERROR: Failed to parse %s' % filename) + raise + + class Descriptors: +@@ -57,7 +59,7 @@ class Descriptors: + + def application_json(self): + result = dict() +- result['modules'] = self.application.values() ++ result['modules'] = list(self.application.values()) + return json.dumps(result) + + def all_compiled_files(self): +diff --git a/chromium/third_party/jinja2/tests.py b/chromium/third_party/jinja2/tests.py +index 0adc3d4dbcb..b14f85ff148 100644 +--- a/chromium/third_party/jinja2/tests.py ++++ b/chromium/third_party/jinja2/tests.py +@@ -10,7 +10,7 @@ + """ + import operator + import re +-from collections import Mapping ++from collections.abc import Mapping + from jinja2.runtime import Undefined + from jinja2._compat import text_type, string_types, integer_types + import decimal +diff --git a/chromium/tools/metrics/ukm/gen_builders.py b/chromium/tools/metrics/ukm/gen_builders.py +index f9f61d90a56..44e46fae8cc 100755 +--- a/chromium/tools/metrics/ukm/gen_builders.py ++++ b/chromium/tools/metrics/ukm/gen_builders.py +@@ -48,9 +48,10 @@ def ReadFilteredData(path): + data = ukm_model.UKM_XML_TYPE.Parse(ukm_file.read()) + event_tag = ukm_model._EVENT_TYPE.tag + metric_tag = ukm_model._METRIC_TYPE.tag +- data[event_tag] = filter(ukm_model.IsNotObsolete, data[event_tag]) ++ data[event_tag] = list(filter(ukm_model.IsNotObsolete, data[event_tag])) + for event in data[event_tag]: +- event[metric_tag] = filter(ukm_model.IsNotObsolete, event[metric_tag]) ++ event[metric_tag] = list( ++ filter(ukm_model.IsNotObsolete, event[metric_tag])) + return data + + +diff --git a/chromium/ui/ozone/generate_constructor_list.py b/chromium/ui/ozone/generate_constructor_list.py +index 8d800636c97..04fa18e93df 100755 +--- a/chromium/ui/ozone/generate_constructor_list.py ++++ b/chromium/ui/ozone/generate_constructor_list.py +@@ -45,12 +45,15 @@ Example Output: ./ui/ozone/generate_constructor_list.py \ + } // namespace ui + """ + ++try: ++ from StringIO import StringIO # for Python 2 ++except ImportError: ++ from io import StringIO # for Python 3 + import optparse + import os + import collections + import re + import sys +-import string + + + def GetTypedefName(typename): +@@ -68,7 +71,7 @@ def GetConstructorName(typename, platform): + This is just "Create" + typename + platform. + """ + +- return 'Create' + typename + string.capitalize(platform) ++ return 'Create' + typename + platform.capitalize() + + + def GenerateConstructorList(out, namespace, export, typenames, platforms, +@@ -163,12 +166,14 @@ def main(argv): + sys.exit(1) + + # Write to standard output or file specified by --output_cc. +- out_cc = sys.stdout ++ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) + if options.output_cc: + out_cc = open(options.output_cc, 'wb') + +- GenerateConstructorList(out_cc, options.namespace, options.export, ++ out_cc_str = StringIO() ++ GenerateConstructorList(out_cc_str, options.namespace, options.export, + typenames, platforms, includes, usings) ++ out_cc.write(out_cc_str.getvalue().encode('utf-8')) + + if options.output_cc: + out_cc.close() +diff --git a/chromium/ui/ozone/generate_ozone_platform_list.py b/chromium/ui/ozone/generate_ozone_platform_list.py +index d47c398259b..2702b68b9bd 100755 +--- a/chromium/ui/ozone/generate_ozone_platform_list.py ++++ b/chromium/ui/ozone/generate_ozone_platform_list.py +@@ -49,12 +49,15 @@ Example Output: ./generate_ozone_platform_list.py --default wayland dri wayland + + """ + ++try: ++ from StringIO import StringIO # for Python 2 ++except ImportError: ++ from io import StringIO # for Python 3 + import optparse + import os + import collections + import re + import sys +-import string + + + def GetConstantName(name): +@@ -63,7 +66,7 @@ def GetConstantName(name): + We just capitalize the platform name and prepend "CreateOzonePlatform". + """ + +- return 'kPlatform' + string.capitalize(name) ++ return 'kPlatform' + name.capitalize() + + + def GeneratePlatformListText(out, platforms): +@@ -149,9 +152,9 @@ def main(argv): + platforms.insert(0, options.default) + + # Write to standard output or file specified by --output_{cc,h}. +- out_cc = sys.stdout +- out_h = sys.stdout +- out_txt = sys.stdout ++ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) ++ out_h = getattr(sys.stdout, 'buffer', sys.stdout) ++ out_txt = getattr(sys.stdout, 'buffer', sys.stdout) + if options.output_cc: + out_cc = open(options.output_cc, 'wb') + if options.output_h: +@@ -159,9 +162,16 @@ def main(argv): + if options.output_txt: + out_txt = open(options.output_txt, 'wb') + +- GeneratePlatformListText(out_txt, platforms) +- GeneratePlatformListHeader(out_h, platforms) +- GeneratePlatformListSource(out_cc, platforms) ++ out_txt_str = StringIO() ++ out_h_str = StringIO() ++ out_cc_str = StringIO() ++ ++ GeneratePlatformListText(out_txt_str, platforms) ++ out_txt.write(out_txt_str.getvalue().encode('utf-8')) ++ GeneratePlatformListHeader(out_h_str, platforms) ++ out_h.write(out_h_str.getvalue().encode('utf-8')) ++ GeneratePlatformListSource(out_cc_str, platforms) ++ out_cc.write(out_cc_str.getvalue().encode('utf-8')) + + if options.output_cc: + out_cc.close() +-- +2.25.1 + diff --git a/package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch b/package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch new file mode 100644 index 00000000000..c39f008a3d2 --- /dev/null +++ b/package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch @@ -0,0 +1,32 @@ +From bfc520671693587a0b81842018326da35aa97f80 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Thu, 3 Feb 2022 20:41:08 -0700 +Subject: [PATCH] Don't rebase sysroot path + +Just use the actual sysroot as rebase_path will generate an invalid +sysroot path. + +Fixes: +/home/buildroot/buildroot/output/per-package/qt5webengine/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/10.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: cannot find crti.o: No such file or directory + +Signed-off-by: James Hilliard +--- + chromium/build/config/posix/BUILD.gn | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/build/config/posix/BUILD.gn b/chromium/build/config/posix/BUILD.gn +index e61554c5656..dc957225869 100644 +--- a/chromium/build/config/posix/BUILD.gn ++++ b/chromium/build/config/posix/BUILD.gn +@@ -27,7 +27,7 @@ config("runtime_library") { + + if (!is_apple && sysroot != "") { + # Pass the sysroot to all C compiler variants, the assembler, and linker. +- sysroot_flags = [ "--sysroot=" + rebase_path(sysroot, root_build_dir) ] ++ sysroot_flags = [ "--sysroot=" + sysroot ] + if (is_linux || is_chromeos) { + # This is here so that all files get recompiled after a sysroot roll and + # when turning the sysroot on or off. (defines are passed via the command +-- +2.25.1 + diff --git a/package/qt5/qt5webengine-chromium/Config.in b/package/qt5/qt5webengine-chromium/Config.in new file mode 100644 index 00000000000..8ba9ad7135e --- /dev/null +++ b/package/qt5/qt5webengine-chromium/Config.in @@ -0,0 +1,5 @@ +# Not user-selectable, it is only needed to be copied +# into the qt5webengine source tree. +config BR2_PACKAGE_QT5WEBENGINE_CHROMIUM + bool + select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM_CATAPULT diff --git a/package/qt5/qt5webengine-chromium/chromium-latest.inc b/package/qt5/qt5webengine-chromium/chromium-latest.inc new file mode 100644 index 00000000000..ced431c9e9a --- /dev/null +++ b/package/qt5/qt5webengine-chromium/chromium-latest.inc @@ -0,0 +1,1257 @@ +# (echo "QT5WEBENGINE_CHROMIUM_LICENSE_FILES = \\" ; \ +# find * -type f \ +# \( -iname 'license*' -o -iname 'copying*' -o -name 'APPLE_LICENSE' -o -name 'Copyright' -o -path '*/license_texts/*' -o -path '*/licenses/*' \) \ +# -a -not -name '*.cc' -not -name '*.py' -not -name '*.pyc' -not -name '*.h' -not -name 'LICENSE.sha1' -not -name 'licensecheck.pl*' -not -name 'license.after' -not -name 'license.before' -not -path 'chromium/third_party/catapult/*' | \ +# sort | sed 's%^\(.*\)$%\t\1 \\%') > package/qt5/qt5webengine-chromium/chromium-latest.inc +QT5WEBENGINE_CHROMIUM_LICENSE_FILES = \ + chromium/base/third_party/cityhash/COPYING \ + chromium/base/third_party/double_conversion/LICENSE \ + chromium/base/third_party/dynamic_annotations/LICENSE \ + chromium/base/third_party/icu/LICENSE \ + chromium/base/third_party/libevent/LICENSE \ + chromium/base/third_party/nspr/LICENSE \ + chromium/base/third_party/superfasthash/LICENSE \ + chromium/base/third_party/symbolize/LICENSE \ + chromium/base/third_party/valgrind/LICENSE \ + chromium/base/third_party/xdg_mime/LICENSE \ + chromium/base/third_party/xdg_user_dirs/LICENSE \ + chromium/buildtools/LICENSE \ + chromium/LICENSE \ + chromium/LICENSE.chromium_os \ + chromium/mojo/public/LICENSE \ + chromium/net/third_party/mozilla_security_manager/LICENSE \ + chromium/net/third_party/nss/LICENSE \ + chromium/net/third_party/quiche/src/LICENSE \ + chromium/net/third_party/uri_template/LICENSE \ + chromium/ppapi/LICENSE \ + chromium/third_party/abseil-cpp/LICENSE \ + chromium/third_party/angle/LICENSE \ + chromium/third_party/angle/src/common/third_party/smhasher/LICENSE \ + chromium/third_party/angle/src/common/third_party/xxhash/LICENSE \ + chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/LICENSE \ + chromium/third_party/angle/src/third_party/compiler/LICENSE \ + chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \ + chromium/third_party/angle/src/third_party/volk/LICENSE.md \ + chromium/third_party/angle/third_party/rapidjson/src/bin/jsonschema/LICENSE \ + chromium/third_party/angle/third_party/rapidjson/src/contrib/natvis/LICENSE \ + chromium/third_party/angle/third_party/rapidjson/src/license.txt \ + chromium/third_party/angle/third_party/vulkan-headers/src/LICENSE.txt \ + chromium/third_party/angle/third_party/vulkan-loader/src/LICENSE.txt \ + chromium/third_party/angle/third_party/vulkan-tools/src/LICENSE.txt \ + chromium/third_party/angle/tools/flex-bison/third_party/m4sugar/LICENSE \ + chromium/third_party/angle/tools/flex-bison/third_party/skeletons/LICENSE \ + chromium/third_party/angle/util/windows/third_party/StackWalker/LICENSE \ + chromium/third_party/apple_apsl/LICENSE \ + chromium/third_party/arcore-android-sdk-client/LICENSE \ + chromium/third_party/arcore-android-sdk/LICENSE \ + chromium/third_party/axe-core/LICENSE \ + chromium/third_party/bazel/LICENSE \ + chromium/third_party/blanketjs/LICENSE \ + chromium/third_party/blink/LICENSE_FOR_ABOUT_CREDITS \ + chromium/third_party/blink/renderer/core/LICENSE-APPLE \ + chromium/third_party/blink/renderer/core/LICENSE-LGPL-2 \ + chromium/third_party/blink/renderer/core/LICENSE-LGPL-2.1 \ + chromium/third_party/blink/renderer/platform/testing/data/third_party/Noto/LICENSE_OFL.txt \ + chromium/third_party/blink/renderer/platform/testing/data/third_party/Roboto/LICENSE.txt \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/LICENSE.md \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/atomicwrites/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/enum/enum/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/h2/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hpack/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/html5lib/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hyperframe/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/six/LICENSE \ + chromium/third_party/boringssl/src/LICENSE \ + chromium/third_party/boringssl/src/third_party/fiat/LICENSE \ + chromium/third_party/boringssl/src/third_party/googletest/LICENSE \ + chromium/third_party/boringssl/src/third_party/wycheproof_testvectors/LICENSE \ + chromium/third_party/bouncycastle/LICENSE \ + chromium/third_party/breakpad/breakpad/LICENSE \ + chromium/third_party/breakpad/breakpad/src/third_party/curl/COPYING \ + chromium/third_party/breakpad/breakpad/src/third_party/libdisasm/LICENSE \ + chromium/third_party/breakpad/LICENSE \ + chromium/third_party/brotli/LICENSE \ + chromium/third_party/bspatch/LICENSE \ + chromium/third_party/byte_buddy/LICENSE \ + chromium/third_party/ced/LICENSE \ + chromium/third_party/ced/src/LICENSE \ + chromium/third_party/chaijs/LICENSE \ + chromium/third_party/checkstyle/LICENSE \ + chromium/third_party/checkstyle/LICENSE.apache20 \ + chromium/third_party/cld_3/LICENSE \ + chromium/third_party/cld_3/src/LICENSE \ + chromium/third_party/closure_compiler/compiler/COPYING \ + chromium/third_party/closure_compiler/LICENSE \ + chromium/third_party/crashpad/crashpad/LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/cpp-httplib/cpp-httplib/LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/glibc/COPYING.LIB \ + chromium/third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE \ + chromium/third_party/crc32c/src/LICENSE \ + chromium/third_party/cros_system_api/LICENSE \ + chromium/third_party/d3/src/LICENSE \ + chromium/third_party/dav1d/libdav1d/COPYING \ + chromium/third_party/dav1d/LICENSE \ + chromium/third_party/dawn/LICENSE \ + chromium/third_party/decklink/LICENSE \ + chromium/third_party/devscripts/COPYING \ + chromium/third_party/devtools-frontend/src/front_end/cm_modes/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/dagre_layout/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/LICENSES.deps \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/fabricjs/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/i18n/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/marked/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/marked/package/LICENSE.md \ + chromium/third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/package/LICENSE \ + chromium/third_party/devtools-frontend/src/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/abbrev/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/accepts/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/acorn-jsx/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ajv/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-colors/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/license \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/anymatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/argparse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-find-index/license \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-union/license \ + chromium/third_party/devtools-frontend/src/node_modules/arrify/license \ + chromium/third_party/devtools-frontend/src/node_modules/asap/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/astral-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/ast-types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/async/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/async-limiter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/autoprefixer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/convert-source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/safe-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-validator-identifier/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/bail/license \ + chromium/third_party/devtools-frontend/src/node_modules/balanced-match/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/base64-arraybuffer/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/base64id/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/base64-js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/binary-extensions/license \ + chromium/third_party/devtools-frontend/src/node_modules/bl/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/blob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/body-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/brace-expansion/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/braces/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/browserslist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/browser-stdout/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/buffer-crc32/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/buffer-from/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/bytes/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/callsites/license \ + chromium/third_party/devtools-frontend/src/node_modules/camelcase-keys/license \ + chromium/third_party/devtools-frontend/src/node_modules/camelcase/license \ + chromium/third_party/devtools-frontend/src/node_modules/caniuse-lite/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ccount/license \ + chromium/third_party/devtools-frontend/src/node_modules/chai/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chalk/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-entities-html4/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-entities-legacy/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-entities/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-reference-invalid/license \ + chromium/third_party/devtools-frontend/src/node_modules/chardet/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/check-error/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chokidar/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/fsevents/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/readdirp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chownr/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cli-cursor/license \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/cli-width/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/clone-regexp/license \ + chromium/third_party/devtools-frontend/src/node_modules/collapse-white-space/license \ + chromium/third_party/devtools-frontend/src/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/colors/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/commander/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/commondir/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/component-emitter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/concat-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/connect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/contains-path/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/content-type/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cookie/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/node_modules/parse-json/license \ + chromium/third_party/devtools-frontend/src/node_modules/cross-spawn/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cssesc/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/custom-event/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/date-format/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/debuglog/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/license \ + chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/node_modules/map-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/decamelize/license \ + chromium/third_party/devtools-frontend/src/node_modules/deep-eql/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/deep-is/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/define-properties/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/depd/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/devtools-protocol/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dezalgo/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/diff/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/di/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dir-glob/license \ + chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.closure-compiler \ + chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.esprima \ + chromium/third_party/devtools-frontend/src/node_modules/domelementtype/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/domhandler/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/domelementtype/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/entities/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/domutils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ee-first/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/electron-to-chromium/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/encodeurl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/end-of-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/entities/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ent/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/error-ex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimstart/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-array-method-boxes-properly/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/escape-html/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/escape-string-regexp/license \ + chromium/third_party/devtools-frontend/src/node_modules/escodegen/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/escodegen/node_modules/esprima/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/isarray/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/globals/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/optionator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-json-comments/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/memo-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.closure-compiler \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.esprima \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/load-json-file/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-type/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/pify/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-rulesdir/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-scope/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-visitor-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/espree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/espree/node_modules/acorn/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/esquery/license.txt \ + chromium/third_party/devtools-frontend/src/node_modules/esquery/node_modules/estraverse/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/estraverse/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/esutils/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/eventemitter3/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/execall/license \ + chromium/third_party/devtools-frontend/src/node_modules/extend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/external-editor/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/extract-zip/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-deep-equal/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-glob/node_modules/picomatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-json-stable-stringify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-levenshtein/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/fastq/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fd-slicer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/figures/license \ + chromium/third_party/devtools-frontend/src/node_modules/file-entry-cache/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fill-range/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/finalhandler/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/find-up/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/flat-cache/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/flat-cache/node_modules/rimraf/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/flat/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/flatted/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fs-constants/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fs-extra/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fs.realpath/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/functional-red-black-tree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/function-bind/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/gensync/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/get-caller-file/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/get-func-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/get-stdin/license \ + chromium/third_party/devtools-frontend/src/node_modules/get-stream/license \ + chromium/third_party/devtools-frontend/src/node_modules/global-modules/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/global-prefix/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/globals/license \ + chromium/third_party/devtools-frontend/src/node_modules/globby/license \ + chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/ignore/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/slash/license \ + chromium/third_party/devtools-frontend/src/node_modules/globjoin/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/glob-parent/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/graceful-fs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/hard-rejection/license \ + chromium/third_party/devtools-frontend/src/node_modules/has-binary2/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/has/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/he/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/hosted-git-info/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/html-escaper/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/htmlparser2/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/html-tags/license \ + chromium/third_party/devtools-frontend/src/node_modules/http-errors/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/http-errors/node_modules/inherits/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/http-proxy/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/iconv-lite/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ieee754/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ignore/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/import-fresh/license \ + chromium/third_party/devtools-frontend/src/node_modules/import-lazy/license \ + chromium/third_party/devtools-frontend/src/node_modules/indent-string/license \ + chromium/third_party/devtools-frontend/src/node_modules/indexes-of/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inflight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inherits/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ini/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/chalk/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-alphabetical/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-alphanumerical/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-alphanumeric/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-arguments/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-arrayish/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/isbinaryfile/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/is-binary-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-date-object/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-decimal/license \ + chromium/third_party/devtools-frontend/src/node_modules/isexe/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-extglob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-hexadecimal/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-number/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-plain-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-promise/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-regex/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-regexp/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-set/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-string/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-symbol/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@istanbuljs/schema/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-typedarray/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/is-whitespace-character/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-word-character/license \ + chromium/third_party/devtools-frontend/src/node_modules/iterate-iterator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/iterate-value/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/jest-worker/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/jest-worker/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/jsesc/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/json5/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/json5/node_modules/minimist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/jsonfile/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/json-parse-better-errors/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/json-schema-traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/json-stable-stringify-without-jsonify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/js-tokens/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/js-yaml/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/js-yaml/node_modules/esprima/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/karma-chai/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-chrome-launcher/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-coverage/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-instrument/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-report/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-reports/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/make-dir/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/cliui/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/rimraf/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/wrap-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/karma-sourcemap-loader/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/kind-of/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/known-css-properties/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/leven/license \ + chromium/third_party/devtools-frontend/src/node_modules/levn/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/bin/license-checker \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license-files.js \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license.js \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/nopt/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/lines-and-columns/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/lodash/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/log4js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/log-symbols/license \ + chromium/third_party/devtools-frontend/src/node_modules/longest-streak/license \ + chromium/third_party/devtools-frontend/src/node_modules/magic-string/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/map-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/markdown-escapes/license \ + chromium/third_party/devtools-frontend/src/node_modules/markdown-table/license \ + chromium/third_party/devtools-frontend/src/node_modules/mathml-tag-names/license \ + chromium/third_party/devtools-frontend/src/node_modules/mdast-util-compact/license \ + chromium/third_party/devtools-frontend/src/node_modules/media-typer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/meow/license \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/camelcase/license \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/node_modules/camelcase/license \ + chromium/third_party/devtools-frontend/src/node_modules/merge2/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/merge-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/micromatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mime-db/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mime/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mime-types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mimic-fn/license \ + chromium/third_party/devtools-frontend/src/node_modules/minimatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/minimist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/minimist-options/license \ + chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/arrify/license \ + chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/is-plain-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/min-indent/license \ + chromium/third_party/devtools-frontend/src/node_modules/mkdirp-classic/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mkdirp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mkdirp/node_modules/minimist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/serialize-javascript/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/which/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/mute-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/negotiator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/nice-try/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.scandir/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.stat/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.walk/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/node-releases/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-path/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-range/license \ + chromium/third_party/devtools-frontend/src/node_modules/num2fraction/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.assign/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/once/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/onetime/license \ + chromium/third_party/devtools-frontend/src/node_modules/on-finished/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/optionator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/osenv/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/os-homedir/license \ + chromium/third_party/devtools-frontend/src/node_modules/os-tmpdir/license \ + chromium/third_party/devtools-frontend/src/node_modules/parent-module/license \ + chromium/third_party/devtools-frontend/src/node_modules/parse-entities/license \ + chromium/third_party/devtools-frontend/src/node_modules/parse-json/license \ + chromium/third_party/devtools-frontend/src/node_modules/parseqs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/parseuri/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/parseurl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/path-is-absolute/license \ + chromium/third_party/devtools-frontend/src/node_modules/path-key/license \ + chromium/third_party/devtools-frontend/src/node_modules/path-parse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/path-type/license \ + chromium/third_party/devtools-frontend/src/node_modules/pathval/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/pend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/picomatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-html/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-less/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/node_modules/log-symbols/license \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-resolve-nested-selector/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-safe-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-sass/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-scss/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-selector-parser/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-syntax/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-value-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/prelude-ls/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/private/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/progress/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/promise.allsettled/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/proxy-from-env/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/pump/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/punycode/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/puppeteer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/pkg-dir/license \ + chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/ws/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/qs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/quick-lru/license \ + chromium/third_party/devtools-frontend/src/node_modules/ramda/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/range-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/raw-body/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/readable-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/readdir-scoped-modules/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/read-installed/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/read-package-json/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/parse-json/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/recast/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/recast/node_modules/esprima/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/redent/license \ + chromium/third_party/devtools-frontend/src/node_modules/regexpp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/repeat-string/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/replace-ext/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/require-directory/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/require-main-filename/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/requires-port/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/resolve-from/license \ + chromium/third_party/devtools-frontend/src/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/restore-cursor/license \ + chromium/third_party/devtools-frontend/src/node_modules/reusify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rfdc/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rimraf/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rollup/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/rollup/node_modules/fsevents/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/plugin-commonjs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rollup-plugin-terser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/picomatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/@types/estree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/run-async/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/run-parallel/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm2015/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm5/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/src/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/safe-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/safer-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/serialize-javascript/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/set-blocking/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/setprototypeof/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/shebang-command/license \ + chromium/third_party/devtools-frontend/src/node_modules/shebang-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/signal-exit/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/slice-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/slide/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-adapter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/sourcemap-codec/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/source-map-support/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-compare/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-correct/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-expression-parse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-ranges/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-satisfies/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/specificity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/sprintf-js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/state-toggle/license \ + chromium/third_party/devtools-frontend/src/node_modules/statuses/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/streamroller/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/streamroller/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string_decoder/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stringify-entities/license \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-bom/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-indent/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-json-comments/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-recommended/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-standard/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/chalk/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ignore/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/log-symbols/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/resolve-from/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/slash/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-css-in-js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-markdown/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/style-search/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/sugarss/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/svg-tags/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/table/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/tar-fs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/tar-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/terser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/text-table/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.APACHE2 \ + chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.MIT \ + chromium/third_party/devtools-frontend/src/node_modules/tmp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/to-fast-properties/license \ + chromium/third_party/devtools-frontend/src/node_modules/toidentifier/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/to-regex-range/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/treeify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/trim-newlines/license \ + chromium/third_party/devtools-frontend/src/node_modules/trim-trailing-lines/license \ + chromium/third_party/devtools-frontend/src/node_modules/trough/license \ + chromium/third_party/devtools-frontend/src/node_modules/tslib/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/tsutils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/type-check/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/typedarray-to-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/type-detect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/type-is/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/chai/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/codemirror/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/visitor-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/typescript/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/@types/eslint-visitor-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/estree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/filesystem/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/json-schema/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/node/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/normalize-package-data/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/parse-json/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/puppeteer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/tern/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/unist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/yauzl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ua-parser-js/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/ultron/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unbzip2-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unherit/license \ + chromium/third_party/devtools-frontend/src/node_modules/unified/license \ + chromium/third_party/devtools-frontend/src/node_modules/uniq/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-find-all-after/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-is/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-remove-position/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-stringify-position/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit-parents/license \ + chromium/third_party/devtools-frontend/src/node_modules/universalify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unpipe/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/util-deprecate/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/util-extend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/utils-merge/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/v8-compile-cache/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/validate-npm-package-license/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/vfile/license \ + chromium/third_party/devtools-frontend/src/node_modules/vfile-location/license \ + chromium/third_party/devtools-frontend/src/node_modules/vfile-message/license \ + chromium/third_party/devtools-frontend/src/node_modules/void-elements/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/which/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/which-module/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/wide-align/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/word-wrap/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/wordwrap/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/workerpool/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrappy/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/write-file-atomic/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/write/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ws/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ws/node_modules/safe-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/xmlhttprequest-ssl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/xtend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/y18n/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yaml/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/cliui/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/wrap-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yauzl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yeast/LICENSE \ + chromium/third_party/devtools-frontend/src/scripts/closure/COPYING \ + chromium/third_party/devtools-frontend/src/third_party/i18n/LICENSE \ + chromium/third_party/devtools-frontend/src/third_party/pyjson5/src/LICENSE \ + chromium/third_party/dom_distiller_js/LICENSE \ + chromium/third_party/dpkg-shlibdeps/LICENSE \ + chromium/third_party/emoji-segmenter/LICENSE \ + chromium/third_party/emoji-segmenter/src/LICENSE \ + chromium/third_party/espresso/LICENSE \ + chromium/third_party/expat/src/expat/COPYING \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt \ + chromium/third_party/ffmpeg/COPYING.GPLv2 \ + chromium/third_party/ffmpeg/COPYING.GPLv3 \ + chromium/third_party/ffmpeg/COPYING.LGPLv2.1 \ + chromium/third_party/ffmpeg/COPYING.LGPLv3 \ + chromium/third_party/ffmpeg/LICENSE.md \ + chromium/third_party/flac/COPYING.FDL \ + chromium/third_party/flac/COPYING.GPL \ + chromium/third_party/flac/COPYING.LGPL \ + chromium/third_party/flac/COPYING.Xiph \ + chromium/third_party/flatbuffers/LICENSE \ + chromium/third_party/flatbuffers/src/dart/LICENSE \ + chromium/third_party/flatbuffers/src/LICENSE.txt \ + chromium/third_party/fontconfig/LICENSE \ + chromium/third_party/fontconfig/src/COPYING \ + chromium/third_party/freetype/src/docs/LICENSE.TXT \ + chromium/third_party/fusejs/LICENSE \ + chromium/third_party/gif_player/LICENSE \ + chromium/third_party/glfw/src/LICENSE.md \ + chromium/third_party/glslang/LICENSE \ + chromium/third_party/glslang/src/license-checker.cfg \ + chromium/third_party/glslang/src/LICENSE.txt \ + chromium/third_party/google-closure-library/closure-deps/LICENSE \ + chromium/third_party/google-closure-library/doc/LICENSE \ + chromium/third_party/google-closure-library/LICENSE \ + chromium/third_party/googletest/src/googlemock/LICENSE \ + chromium/third_party/googletest/src/googlemock/scripts/generator/LICENSE \ + chromium/third_party/googletest/src/googletest/LICENSE \ + chromium/third_party/googletest/src/LICENSE \ + chromium/third_party/google-truth/LICENSE \ + chromium/third_party/guava/LICENSE \ + chromium/third_party/gvr-android-keyboard/LICENSE \ + chromium/third_party/gvr-android-sdk/LICENSE \ + chromium/third_party/hamcrest/LICENSE \ + chromium/third_party/harfbuzz-ng/src/COPYING \ + chromium/third_party/harfbuzz-ng/src/src/ms-use/COPYING \ + chromium/third_party/hunspell/COPYING \ + chromium/third_party/hunspell/COPYING.LESSER \ + chromium/third_party/hunspell/COPYING.MPL \ + chromium/third_party/hyphenation-patterns/LICENSE \ + chromium/third_party/hyphenation-patterns/src/pt/LICENSE \ + chromium/third_party/iaccessible2/LICENSE \ + chromium/third_party/iccjpeg/LICENSE \ + chromium/third_party/icu4j/LICENSE \ + chromium/third_party/icu/LICENSE \ + chromium/third_party/icu/license.html \ + chromium/third_party/icu/scripts/LICENSE \ + chromium/third_party/ijar/LICENSE \ + chromium/third_party/ink/LICENSE \ + chromium/third_party/inspector_protocol/LICENSE \ + chromium/third_party/isimpledom/LICENSE \ + chromium/third_party/jacoco/LICENSE \ + chromium/third_party/javalang/LICENSE \ + chromium/third_party/jetifier_standalone/LICENSE \ + chromium/third_party/jinja2/LICENSE \ + chromium/third_party/jsoncpp/LICENSE \ + chromium/third_party/jsoncpp/source/LICENSE \ + chromium/third_party/jstemplate/COPYING \ + chromium/third_party/khronos/LICENSE \ + chromium/third_party/leveldatabase/src/LICENSE \ + chromium/third_party/libaddressinput/LICENSE \ + chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \ + chromium/third_party/libaddressinput/src/LICENSE \ + chromium/third_party/libaom/source/libaom/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/fastfeat/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/googletest/src/googletest/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/libwebm/LICENSE.TXT \ + chromium/third_party/libaom/source/libaom/third_party/vector/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/x86inc/LICENSE \ + chromium/third_party/libavif/LICENSE \ + chromium/third_party/libavif/src/LICENSE \ + chromium/third_party/libbrlapi/LICENSE \ + chromium/third_party/libgav1/src/LICENSE \ + chromium/third_party/libgifcodec/LICENSE.md \ + chromium/third_party/libipp/LICENSE \ + chromium/third_party/libjingle_xmpp/LICENSE \ + chromium/third_party/libjpeg_turbo/LICENSE.md \ + chromium/third_party/libovr/LICENSE \ + chromium/third_party/libpng/LICENSE \ + chromium/third_party/libprotobuf-mutator/src/LICENSE \ + chromium/third_party/libsecret/LICENSE \ + chromium/third_party/libsrtp/LICENSE \ + chromium/third_party/libsync/LICENSE \ + chromium/third_party/libudev/LICENSE \ + chromium/third_party/libusb/src/COPYING \ + chromium/third_party/libvpx/source/libvpx/LICENSE \ + chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \ + chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \ + chromium/third_party/libvpx/source/libvpx/third_party/libyuv/LICENSE \ + chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \ + chromium/third_party/libwebm/source/LICENSE.TXT \ + chromium/third_party/libwebp/LICENSE \ + chromium/third_party/libxml/src/Copyright \ + chromium/third_party/libXNVCtrl/LICENSE \ + chromium/third_party/libxslt/src/Copyright \ + chromium/third_party/libyuv/LICENSE \ + chromium/third_party/lottie/LICENSE \ + chromium/third_party/lzma_sdk/LICENSE \ + chromium/third_party/mako/LICENSE \ + chromium/third_party/markupsafe/LICENSE \ + chromium/third_party/material_design_icons/LICENSE \ + chromium/third_party/mesa_headers/LICENSE \ + chromium/third_party/metrics_proto/LICENSE \ + chromium/third_party/microsoft_webauthn/LICENSE \ + chromium/third_party/minigbm/LICENSE \ + chromium/third_party/minigbm/src/LICENSE \ + chromium/third_party/minizip/src/lib/bzip2/LICENSE \ + chromium/third_party/minizip/src/LICENSE \ + chromium/third_party/mocha/LICENSE \ + chromium/third_party/mockito/LICENSE \ + chromium/third_party/modp_b64/LICENSE \ + chromium/third_party/motemplate/LICENSE \ + chromium/third_party/mozilla/LICENSE \ + chromium/third_party/nasm/LICENSE \ + chromium/third_party/nearby/LICENSE \ + chromium/third_party/nearby/src/LICENSE \ + chromium/third_party/netty4/LICENSE \ + chromium/third_party/netty-tcnative/LICENSE \ + chromium/third_party/node/LICENSE \ + chromium/third_party/objenesis/LICENSE \ + chromium/third_party/ocmock/License.txt \ + chromium/third_party/one_euro_filter/LICENSE \ + chromium/third_party/opencv/src/LICENSE \ + chromium/third_party/openh264/src/LICENSE \ + chromium/third_party/openscreen/src/LICENSE \ + chromium/third_party/openscreen/src/third_party/mozilla/LICENSE.txt \ + chromium/third_party/openscreen/src/third_party/tinycbor/src/LICENSE \ + chromium/third_party/opus/src/COPYING \ + chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt \ + chromium/third_party/ots/LICENSE \ + chromium/third_party/ow2_asm/LICENSE \ + chromium/third_party/pdfium/LICENSE \ + chromium/third_party/pdfium/third_party/bigint/LICENSE \ + chromium/third_party/pdfium/third_party/libpng16/LICENSE \ + chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \ + chromium/third_party/perfetto/LICENSE \ + chromium/third_party/perfetto/src/trace_processor/python/LICENSE \ + chromium/third_party/pexpect/LICENSE \ + chromium/third_party/pffft/LICENSE \ + chromium/third_party/ply/LICENSE \ + chromium/third_party/ply/license.patch \ + chromium/third_party/polymer/LICENSE.polymer \ + chromium/third_party/polymer/v1_0/components-chromium/polymer2/LICENSE.txt \ + chromium/third_party/polymer/v3_0/components-chromium/polymer/LICENSE.txt \ + chromium/third_party/private-join-and-compute/src/crypto/LICENSE \ + chromium/third_party/private-join-and-compute/src/LICENSE \ + chromium/third_party/private-join-and-compute/src/util/LICENSE \ + chromium/third_party/private_membership/LICENSE \ + chromium/third_party/proguard/LICENSE \ + chromium/third_party/protobuf/LICENSE \ + chromium/third_party/pycoverage/LICENSE \ + chromium/third_party/pyelftools/elftools/construct/LICENSE \ + chromium/third_party/pyelftools/LICENSE \ + chromium/third_party/pyjson5/src/LICENSE \ + chromium/third_party/pystache/LICENSE \ + chromium/third_party/Python-Markdown/LICENSE.md \ + chromium/third_party/pywebsocket3/src/LICENSE \ + chromium/third_party/qcms/src/COPYING \ + chromium/third_party/quic_trace/src/LICENSE \ + chromium/third_party/quic_trace/src/third_party/fonts/LICENSE \ + chromium/third_party/quic_trace/src/third_party/glew/LICENSE.txt \ + chromium/third_party/qunit/LICENSE \ + chromium/third_party/r8/LICENSE \ + chromium/third_party/re2/LICENSE \ + chromium/third_party/re2/src/LICENSE \ + chromium/third_party/requests/LICENSE \ + chromium/third_party/rnnoise/COPYING \ + chromium/third_party/robolectric/LICENSE \ + chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt \ + chromium/third_party/robolectric/licenses/javolution.license.txt \ + chromium/third_party/robolectric/licenses/pivotal.labs.license.txt \ + chromium/third_party/s2cellid/LICENSE \ + chromium/third_party/schema_org/LICENSE \ + chromium/third_party/securemessage/LICENSE \ + chromium/third_party/securemessage/src/LICENSE \ + chromium/third_party/shaderc/src/kokoro/linux/license_check_docker.sh \ + chromium/third_party/shaderc/src/kokoro/linux/license_check.sh \ + chromium/third_party/shaderc/src/LICENSE \ + chromium/third_party/shaderc/src/license-checker.cfg \ + chromium/third_party/shaderc/src/third_party/LICENSE.glslang \ + chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \ + chromium/third_party/shaka-player/LICENSE \ + chromium/third_party/shell-encryption/src/glog/LICENSE \ + chromium/third_party/shell-encryption/src/LICENSE \ + chromium/third_party/shell-encryption/src/prng/LICENSE \ + chromium/third_party/shell-encryption/src/testing/LICENSE \ + chromium/third_party/simplejson/LICENSE.txt \ + chromium/third_party/sinonjs/LICENSE \ + chromium/third_party/six/LICENSE \ + chromium/third_party/six/src/LICENSE \ + chromium/third_party/skia/include/third_party/skcms/LICENSE \ + chromium/third_party/skia/include/third_party/vulkan/LICENSE \ + chromium/third_party/skia/LICENSE \ + chromium/third_party/skia/modules/canvaskit/canvaskit/LICENSE \ + chromium/third_party/skia/modules/pathkit/npm-asmjs/LICENSE \ + chromium/third_party/skia/modules/pathkit/npm-wasm/LICENSE \ + chromium/third_party/skia/third_party/etc1/LICENSE \ + chromium/third_party/skia/third_party/skcms/LICENSE \ + chromium/third_party/skia/third_party/vulkanmemoryallocator/include/LICENSE.txt \ + chromium/third_party/skia/third_party/vulkanmemoryallocator/LICENSE \ + chromium/third_party/skia/third_party/wuffs/LICENSE \ + chromium/third_party/smhasher/LICENSE \ + chromium/third_party/snappy/src/COPYING \ + chromium/third_party/spirv-cross/spirv-cross/LICENSE \ + chromium/third_party/spirv-headers/LICENSE \ + chromium/third_party/spirv-headers/src/LICENSE \ + chromium/third_party/SPIRV-Tools/LICENSE \ + chromium/third_party/SPIRV-Tools/src/LICENSE \ + chromium/third_party/SPIRV-Tools/src/utils/vscode/src/lsp/LICENSE \ + chromium/third_party/sqlite4java/LICENSE \ + chromium/third_party/sqlite/LICENSE \ + chromium/third_party/sqlite/src/autoconf/tea/license.terms \ + chromium/third_party/sqlite/src/LICENSE.md \ + chromium/third_party/subresource-filter-ruleset/LICENSE \ + chromium/third_party/sudden_motion_sensor/LICENSE \ + chromium/third_party/swiftshader/LICENSE.txt \ + chromium/third_party/tcmalloc/LICENSE \ + chromium/third_party/tcmalloc/vendor/COPYING \ + chromium/third_party/test_fonts/LICENSE \ + chromium/third_party/text-fragments-polyfill/LICENSE \ + chromium/third_party/tint/LICENSE \ + chromium/third_party/tint/src/LICENSE \ + chromium/third_party/tlslite/LICENSE \ + chromium/third_party/turbine/LICENSE \ + chromium/third_party/ub-uiautomator/LICENSE \ + chromium/third_party/ukey2/LICENSE \ + chromium/third_party/ukey2/src/LICENSE \ + chromium/third_party/unrar/LICENSE \ + chromium/third_party/unrar/src/license.txt \ + chromium/third_party/usb_ids/LICENSE \ + chromium/third_party/usrsctp/LICENSE \ + chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ + chromium/third_party/v4l-utils/COPYING.libv4l \ + chromium/third_party/vulkan_headers/LICENSE.txt \ + chromium/third_party/vulkan_memory_allocator/LICENSE.txt \ + chromium/third_party/vulkan_memory_allocator/premake/LICENSE.txt \ + chromium/third_party/wds/LICENSE \ + chromium/third_party/wds/src/COPYING \ + chromium/third_party/web-animations-js/LICENSE \ + chromium/third_party/web-animations-js/sources/COPYING \ + chromium/third_party/webdriver/COPYING \ + chromium/third_party/webdriver/LICENSE \ + chromium/third_party/webgpu-cts/src/LICENSE.txt \ + chromium/third_party/webgpu-cts/src/standalone/third_party/jquery/LICENSE.txt \ + chromium/third_party/webpagereplay/LICENSE \ + chromium/third_party/webrtc/common_audio/third_party/ooura/LICENSE \ + chromium/third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE \ + chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \ + chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \ + chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE \ + chromium/third_party/webrtc/LICENSE \ + chromium/third_party/webrtc/license_template.txt \ + chromium/third_party/webrtc/modules/third_party/fft/LICENSE \ + chromium/third_party/webrtc/modules/third_party/g711/LICENSE \ + chromium/third_party/webrtc/modules/third_party/g722/LICENSE \ + chromium/third_party/webrtc/modules/third_party/portaudio/LICENSE \ + chromium/third_party/webrtc/rtc_base/third_party/base64/LICENSE \ + chromium/third_party/webrtc/rtc_base/third_party/sigslot/LICENSE \ + chromium/third_party/webxr_test_pages/LICENSE \ + chromium/third_party/webxr_test_pages/webxr-samples/js/cottontail/LICENSE.md \ + chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/dat.gui/LICENSE \ + chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/gl-matrix/LICENSE \ + chromium/third_party/webxr_test_pages/webxr-samples/LICENSE.md \ + chromium/third_party/weston/LICENSE \ + chromium/third_party/weston/src/COPYING \ + chromium/third_party/weston/src/data/COPYING \ + chromium/third_party/widevine/LICENSE \ + chromium/third_party/woff2/LICENSE \ + chromium/third_party/wuffs/LICENSE \ + chromium/third_party/wuffs/src/LICENSE \ + chromium/third_party/xcbproto/src/COPYING \ + chromium/third_party/xdg-utils/LICENSE \ + chromium/third_party/xstream/LICENSE \ + chromium/third_party/zlib/LICENSE \ + chromium/third_party/zxcvbn-cpp/LICENSE.txt \ + chromium/tools/grit/third_party/six/LICENSE \ + chromium/tools/origin_trials/third_party/ed25519/LICENSE \ + chromium/tools/page_cycler/acid3/LICENSE \ + chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \ + chromium/url/third_party/mozilla/LICENSE.txt \ + chromium/v8/LICENSE \ + chromium/v8/LICENSE.fdlibm \ + chromium/v8/LICENSE.strongtalk \ + chromium/v8/LICENSE.v8 \ + chromium/v8/src/third_party/siphash/LICENSE \ + chromium/v8/src/third_party/utf8-decoder/LICENSE \ + chromium/v8/src/third_party/valgrind/LICENSE \ + chromium/v8/src/third_party/vtune/LICENSE \ + chromium/v8/third_party/colorama/LICENSE \ + chromium/v8/third_party/inspector_protocol/LICENSE \ + chromium/v8/third_party/jsoncpp/LICENSE \ + chromium/v8/third_party/v8/builtins/LICENSE \ + chromium/v8/third_party/wasm-api/LICENSE \ + gn/base/third_party/icu/LICENSE \ + gn/LICENSE \ + ninja/COPYING \ diff --git a/package/qt5/qt5webengine-chromium/qt5webengine-chromium.hash b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.hash new file mode 100644 index 00000000000..103e27d8892 --- /dev/null +++ b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.hash @@ -0,0 +1,1256 @@ +# Locally calculated +sha256 14c0654d046fd1faf0204b79e33c091012a8f4df972777e5691875aa75d29a65 qtwebengine-chromium-0ad2814370799a2161057d92231fe3ee00e2fe98.tar.bz2 + +# Locally calculated with: +# for i in $(find * -type f \( -iname 'license*' -o -iname 'copying*' -o -name 'APPLE_LICENSE' -o -name 'Copyright' -o -path '*/license_texts/*' -o -path '*/licenses/*' \) -a -not -name '*.cc' -not -name '*.py' -not -name '*.pyc' -not -name '*.h' -not -name 'LICENSE.sha1' -not -name 'licensecheck.pl*' -not -name 'license.after' -not -name 'license.before' -not -path 'chromium/third_party/catapult/*') ; do echo -n "sha256 " ; sha256sum $i ; done | sort --key=3 +sha256 3ed00dd93c75655599456c83cba2f69c6824fd53f24fc24206ba27b65057709d chromium/base/third_party/cityhash/COPYING +sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca chromium/base/third_party/double_conversion/LICENSE +sha256 96e7ccbf8d17e319dd77c4ebd4965b64a820bbcc3142a2478fbf95af77417b6a chromium/base/third_party/dynamic_annotations/LICENSE +sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f chromium/base/third_party/icu/LICENSE +sha256 9ad1d4223b80349f3d3ab9cec92f93431b9da14a1b5d41de468ce054a28cf8aa chromium/base/third_party/libevent/LICENSE +sha256 d55a403514532af12dc2fbfb2e41900090a5dd6c7c76c8e4d9b20bcc737eac35 chromium/base/third_party/nspr/LICENSE +sha256 90b2201c340cee36b40a443f949d9eb416f0a0d204c32d350aff87fedeb67ae8 chromium/base/third_party/superfasthash/LICENSE +sha256 538edc6f52c563cf06eca1bac8dd785ff60ef5a371a950265700d5d40386db6e chromium/base/third_party/symbolize/LICENSE +sha256 79955cd80438f041387eb080f2675394e36a806b8b17eca63a4bc568d839509e chromium/base/third_party/valgrind/LICENSE +sha256 c45766baef552c59eeb1fdfbbc690e52e4cd5b135dfd325f21bdfe8ddfe28ce6 chromium/base/third_party/xdg_mime/LICENSE +sha256 18351de3d7e2dc469cc83e77d38a3e25d010251e34eb348bbd1a76275e313997 chromium/base/third_party/xdg_user_dirs/LICENSE +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/buildtools/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/LICENSE +sha256 212c5a071f61512786b5e5840b3d70c85e017f3f82939ad4d4a870fc48b33477 chromium/LICENSE.chromium_os +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/mojo/public/LICENSE +sha256 bed70fc84f1bea2b4b144564b9a0f9a5a3bc7b0d78f6e62092aeb689cac56bdd chromium/net/third_party/mozilla_security_manager/LICENSE +sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 chromium/net/third_party/nss/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/net/third_party/quiche/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/net/third_party/uri_template/LICENSE +sha256 834ee20e8fc3235722ed801bae30cc539c2775be656ff9cc2810fe674e53d5ec chromium/ppapi/LICENSE +sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 chromium/third_party/abseil-cpp/LICENSE +sha256 bf4da21bd20bcfb5b60b7ecc67fa864a79be049e21d6178076887f178dd6c71a chromium/third_party/angle/LICENSE +sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 chromium/third_party/angle/src/common/third_party/smhasher/LICENSE +sha256 86ec6953794503942b70fcd4f35b565d44f63f703b7037ce44dad965c4aaae91 chromium/third_party/angle/src/common/third_party/xxhash/LICENSE +sha256 09a7c3fbc0b4ae6a9ccc4ffdcbfa511c14b8647a24f24783838862cf6c226d4e chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/LICENSE +sha256 a08ba10adec47027ef8078848729837b1c5a42f140718d7afd65c23f1eeec392 chromium/third_party/angle/src/third_party/compiler/LICENSE +sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE +sha256 336f505f8d5aa73ea40b4d798dde86953e9c1f6525757f1d7f18120fea09bb1d chromium/third_party/angle/src/third_party/volk/LICENSE.md +sha256 837402bd25fad9b704265801ca3f92566a98157c1f9a7acd6f446299ba1c305a chromium/third_party/angle/third_party/rapidjson/src/bin/jsonschema/LICENSE +sha256 394faaedb93c1da8ecbd61322518834908fee64381117e01a611bf9fac20baa6 chromium/third_party/angle/third_party/rapidjson/src/contrib/natvis/LICENSE +sha256 a140e5d46fe734a1c78f1a3c3ef207871dd75648be71fdda8e309b23ab8b1f32 chromium/third_party/angle/third_party/rapidjson/src/license.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/angle/third_party/vulkan-headers/src/LICENSE.txt +sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece chromium/third_party/angle/third_party/vulkan-loader/src/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/angle/third_party/vulkan-tools/src/LICENSE.txt +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 chromium/third_party/angle/tools/flex-bison/third_party/m4sugar/LICENSE +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 chromium/third_party/angle/tools/flex-bison/third_party/skeletons/LICENSE +sha256 bfec18debedcb337f8af53f143ccf0b1575d0b7c30deaee137f10397eca0d353 chromium/third_party/angle/util/windows/third_party/StackWalker/LICENSE +sha256 b23e682fda7310afe43505ed6041919ccff8f9e0c6799ebd7542cbcef11102e3 chromium/third_party/apple_apsl/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/arcore-android-sdk-client/LICENSE +sha256 584e795ba5833279c327245594d6dc216fc664144fa3626a0bdf136bc00af76c chromium/third_party/arcore-android-sdk/LICENSE +sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e chromium/third_party/axe-core/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/bazel/LICENSE +sha256 0518cf49c09398259d54fcfff0b5fd36456162c6439886660e53627b3073ef22 chromium/third_party/blanketjs/LICENSE +sha256 a661d10f8f194b1963a75bb4d308f17b078cc064624313a556902d89705f6876 chromium/third_party/blink/LICENSE_FOR_ABOUT_CREDITS +sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 chromium/third_party/blink/renderer/core/LICENSE-APPLE +sha256 7555fa34bc131a75ca56d65c40cc1ea8f9515d23e353d4c15d58573a042f7805 chromium/third_party/blink/renderer/core/LICENSE-LGPL-2 +sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce chromium/third_party/blink/renderer/core/LICENSE-LGPL-2.1 +sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 chromium/third_party/blink/renderer/platform/testing/data/third_party/Noto/LICENSE_OFL.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/blink/renderer/platform/testing/data/third_party/Roboto/LICENSE.txt +sha256 5a7b465d39b5e018bc40cc34162176269f7c476989cb4dbcf0ec0b81701545a7 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/LICENSE.md +sha256 878329f0bd878ad015129ce8bda82f481e86ec2e80831e909c0d67171d922e73 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/atomicwrites/LICENSE +sha256 88ec6a6c8eafa3b9757e745783938bef3f5e4d5e3c76b1db576aa3ab520e5e1d chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/enum/enum/LICENSE +sha256 663f9253e13519b82ab4a6b1caab6bed05aada70517f28cd0254be8a9fa19ed6 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/h2/LICENSE +sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hpack/LICENSE +sha256 16a39991619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/html5lib/LICENSE +sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hyperframe/LICENSE +sha256 b7529b8c07171a78a8c36c3283905528e4812945d977d125eb926e8ccbf245b6 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/six/LICENSE +sha256 60bd7c54856bf9387221bde5ab55d516d7cea15870d0fed69406bcd1c8ec7c9d chromium/third_party/boringssl/src/LICENSE +sha256 0c125a4dab5ab869473e6491db22f6c0a7f8a4de58588d03bb2b16c0c8ebd7de chromium/third_party/boringssl/src/third_party/fiat/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/boringssl/src/third_party/googletest/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/boringssl/src/third_party/wycheproof_testvectors/LICENSE +sha256 5740985669353ef52e0f320413ff68dc62b6c23a596cd78b6d6b80764f1c50ab chromium/third_party/bouncycastle/LICENSE +sha256 8d5d1311342ed55b486d778a6763f54a26002698ac0cbab64026b98033300dfd chromium/third_party/breakpad/breakpad/LICENSE +sha256 4d03f91b94e0db3bdc9ddaf0060dd41cc94a2096094fbc1417713a2f059658c7 chromium/third_party/breakpad/breakpad/src/third_party/curl/COPYING +sha256 d8eaba95b8d03c5912da9b5823de2c920e84a993133039a22fc8100f9edb33a1 chromium/third_party/breakpad/breakpad/src/third_party/libdisasm/LICENSE +sha256 015b2d5cedb3024339446a63963d073fa831544cf253c5ddd713fccc8d83e939 chromium/third_party/breakpad/LICENSE +sha256 3d180008e36922a4e8daec11c34c7af264fed5962d07924aea928c38e8663c94 chromium/third_party/brotli/LICENSE +sha256 98f8746a39f9a42da35df7046a15b56d0e2f4f76eefc352d67f1bf76e85360b4 chromium/third_party/bspatch/LICENSE +sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 chromium/third_party/byte_buddy/LICENSE +sha256 ef5b39dfcafe08323262e3f51a3a9de649978a55ed8ef8eef3c451f2c1e78a53 chromium/third_party/ced/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ced/src/LICENSE +sha256 3d1d2669d0ba87069b5e202f106193c4eb0e140a2aead31dca9670a0581dd979 chromium/third_party/chaijs/LICENSE +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 chromium/third_party/checkstyle/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/checkstyle/LICENSE.apache20 +sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 chromium/third_party/cld_3/LICENSE +sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 chromium/third_party/cld_3/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/closure_compiler/compiler/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/closure_compiler/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/crashpad/crashpad/LICENSE +sha256 212846e0145aa50fb3a5aef254a370311a93acf6c1e792e47e0068d64c8c3885 chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE +sha256 4b45cbe16d7b71b89ae6127e26e0d90a029198ca5e958ad8e3d0b8bbed364d8b chromium/third_party/crashpad/crashpad/third_party/cpp-httplib/cpp-httplib/LICENSE +sha256 f40ee07401827b6ac9cf0aee1aaffb00e42a3f2c729f9c83f96a3daafef5d944 chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 chromium/third_party/crashpad/crashpad/third_party/glibc/COPYING.LIB +sha256 e5881019d8766c1e88a5fe1dbca4ba40c78011d41fcb18f6e9f50df60182685b chromium/third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE +sha256 a1f30b77c01e0995fa32a00119e00749e8731ee8a3c4c3549bce74083c72b0b6 chromium/third_party/crc32c/src/LICENSE +sha256 e9427cf6abc4eaeda0bcd094fca46af4067970079f426b65d5cbacb87bff6366 chromium/third_party/cros_system_api/LICENSE +sha256 7a3cb0e5055874e67db9aa2d5fe26de23204fa994ffbad198901ffe9c812a717 chromium/third_party/d3/src/LICENSE +sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 chromium/third_party/dav1d/libdav1d/COPYING +sha256 2da4494d2a8b5c742afbb905b10621e40129284c977ac138e3081ed0d9d83aed chromium/third_party/dav1d/LICENSE +sha256 b77e952e3feaebd807d27784988b19fb60f83f9fc9a0c03e6aedbbffd5d6f8ee chromium/third_party/dawn/LICENSE +sha256 43452b94e6aa0c2d076ad25b87f580c11571689d52f3aa1a1f7bdcab31a0bd15 chromium/third_party/decklink/LICENSE +sha256 5a2ed53cc5975569e9fa146c4245eaf53377dc1a88bdcb923da6487e53cba55e chromium/third_party/devscripts/COPYING +sha256 13110d66c514a7890c4b388a353bc08fa094fe13d5ed7f3a222cc0a0caa3fd17 chromium/third_party/devtools-frontend/src/front_end/cm_modes/LICENSE +sha256 9fea307fe830918e12b6822f943f4b59bd7715614efb68e834a141ca758bd5f2 chromium/third_party/devtools-frontend/src/front_end/dagre_layout/LICENSE +sha256 f734f7708439c275f3599e2df7de84cd9f360bd13620a30ab376af6c9deb213b chromium/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/LICENSES.deps +sha256 bdab450fad7ee5d78d9a02d840983f4bccf525a6ded619e1a8fc3e2044256626 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/LICENSE +sha256 a1930df5d7444dc71fb103d9c58768de1c2c13b96a83e58b7ed6b2eee6621744 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/LICENSE +sha256 a1930df5d7444dc71fb103d9c58768de1c2c13b96a83e58b7ed6b2eee6621744 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/package/LICENSE +sha256 bdab450fad7ee5d78d9a02d840983f4bccf525a6ded619e1a8fc3e2044256626 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/LICENSE +sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/package/LICENSE +sha256 e56a1e867a6ebc064c9d027e022ae15d1878b32f9e546b2373cdb591788cd3fe chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/LICENSE +sha256 e56a1e867a6ebc064c9d027e022ae15d1878b32f9e546b2373cdb591788cd3fe chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/package/LICENSE +sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/package/LICENSE +sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e chromium/third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE +sha256 298d10e24bcd783b150fc07cd64ad175f5084f3615ba0e7c579aa95c55f22eac chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/LICENSE +sha256 a3f2fe2ac6b471aa80c737c5d283dd049bdc903a73835ee6d4d2cac02fdd53bf chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/package/LICENSE +sha256 b60e9b66bf4f9ab3aa5d1d20b18410a632fd624cf4ce3aa1eb839087caf35958 chromium/third_party/devtools-frontend/src/front_end/third_party/fabricjs/LICENSE +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/devtools-frontend/src/front_end/third_party/i18n/LICENSE +sha256 0212e9ffd60f4c2e05426ac172b91266256b9ff4c0f0156e85b761a1d6f5e17f chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/LICENSE +sha256 fdd0dd22e95c4c8634fe28674547e55e6dad144433ca09493e59ed0f95902f10 chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/package/LICENSE +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/LICENSE +sha256 55efdea1a9fe503ed3cd89c2776d3d2131795defaebea421754b428333fbfba3 chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/LICENSE +sha256 1a5ae5ab221af81b68f4f4c156c0d2e044851272c5e2e6c07d685946557878ea chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/package/LICENSE +sha256 1b3235c9a9833dee5fcce1ac27d76157584dce78f1ca846bf217439323080234 chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE +sha256 e159c6d48c989185448658f276375bfb2300362ec6d4ae5525a2d49c4bcb947d chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/package/LICENSE +sha256 91968bf678e8c3d94ebf8596e98ca9cb5fca1c6555b53f721a940cb50f1b3d66 chromium/third_party/devtools-frontend/src/front_end/third_party/marked/LICENSE +sha256 f6b8d4d6f4aff1b6744730b6943ac6e8b96315954e436f032cfaa5cbdcb07ff3 chromium/third_party/devtools-frontend/src/front_end/third_party/marked/package/LICENSE.md +sha256 a1e4522979cd422b42d0b464072eb7d0d218651659f56bf09f8c147384e3f105 chromium/third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/package/LICENSE +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/third_party/devtools-frontend/src/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/abbrev/LICENSE +sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 chromium/third_party/devtools-frontend/src/node_modules/accepts/LICENSE +sha256 cfa72b62b9ae173078823a3796b25c027a9071046a263beddf966df67018ce06 chromium/third_party/devtools-frontend/src/node_modules/acorn-jsx/LICENSE +sha256 e85e131fa4ed25538ff1f4962ced1fb6f68b079bd9164a790597a0f30b8fd030 chromium/third_party/devtools-frontend/src/node_modules/ajv/LICENSE +sha256 94e1923e52409cfd50e97988d9772c0de15f65700097e3227fec367a39e82b94 chromium/third_party/devtools-frontend/src/node_modules/ansi-colors/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/node_modules/type-fest/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/ansi-styles/license +sha256 5a3b0007c4203f10fe11b3fe8747253eb994f135e10b73e1f88ada941af09c6e chromium/third_party/devtools-frontend/src/node_modules/anymatch/LICENSE +sha256 c8442419dc614089ea022b3da6bfc089b41a58fb7b9030d1e651f2f36189dce2 chromium/third_party/devtools-frontend/src/node_modules/argparse/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/array-find-index/license +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/array-includes/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimright/LICENSE +sha256 567b1f5e84afcfc97685f3c7fce4c7502e1ac7a91e79cf10980ecd6a9ad38583 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimright/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/array.prototype.map/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/array-union/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/arrify/license +sha256 e80373b1ed0f33cecc47173b4b0c6afe0d0318b32dbd84116a1a957e3f7f43a8 chromium/third_party/devtools-frontend/src/node_modules/asap/LICENSE.md +sha256 69dee148a2cc470554dfa7142e830662062394d0fe67cddd379aba90dc60d6b3 chromium/third_party/devtools-frontend/src/node_modules/astral-regex/license +sha256 a374b737c41b30b1ec04c5fcc17d1b853f008f217cc43a9dbea441abd9afde70 chromium/third_party/devtools-frontend/src/node_modules/ast-types/LICENSE +sha256 d9fed24f132985934fca621c4dc1dfb53e03377a24d0568d424383d7eaa9c0ac chromium/third_party/devtools-frontend/src/node_modules/async/LICENSE +sha256 e5a57cdd72e279910183799153134d0e749a5664fc459c8eacbecf72532b7db3 chromium/third_party/devtools-frontend/src/node_modules/async-limiter/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/autoprefixer/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/types/LICENSE +sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/convert-source-map/LICENSE +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/resolve/LICENSE +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/safe-buffer/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/source-map/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/types/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/source-map/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/types/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/source-map/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-validator-identifier/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/highlight/LICENSE +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/bail/license +sha256 a1bd5deadb6a06dd74efa852c1b8b23f63b67f2214fbe9c8bd591da51da69268 chromium/third_party/devtools-frontend/src/node_modules/balanced-match/LICENSE.md +sha256 f3eca6ff762533fa5a77caf954a143e48afa204668cf97dce758c45a9e006be3 chromium/third_party/devtools-frontend/src/node_modules/base64-arraybuffer/LICENSE-MIT +sha256 de6059eadd0c1327f30a22663392e57d36b97b0ac9bb48f4875c8008ba823c30 chromium/third_party/devtools-frontend/src/node_modules/base64id/LICENSE +sha256 5b37224c080cdcc97c871ada971c224e9926370fe74f11b539aa1cf9f3b1aca1 chromium/third_party/devtools-frontend/src/node_modules/base64-js/LICENSE +sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 chromium/third_party/devtools-frontend/src/node_modules/binary-extensions/license +sha256 9377db95383c8befacf05c6e465d969d756edf178487ca1344fdf3ba147c596f chromium/third_party/devtools-frontend/src/node_modules/bl/LICENSE.md +sha256 7d3e0d8d5604632b94ff9aea3001153c506566cd1c6c7bb37000acdb1fb37417 chromium/third_party/devtools-frontend/src/node_modules/blob/LICENSE +sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 chromium/third_party/devtools-frontend/src/node_modules/body-parser/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/ms/license.md +sha256 68f12f6e2c33688699249c01d8f9623c534da20aa71989c57b061b7bc1676d14 chromium/third_party/devtools-frontend/src/node_modules/brace-expansion/LICENSE +sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 chromium/third_party/devtools-frontend/src/node_modules/braces/LICENSE +sha256 f25bf9bf3ae8984bcd43bf7fb8f78e7eec8d577081fb8d0989cfa7c67ecebb8e chromium/third_party/devtools-frontend/src/node_modules/browserslist/LICENSE +sha256 fd595a25dd3c90492a8cc3b888aa9ae47630173181efed17f71b4c689d99d0ec chromium/third_party/devtools-frontend/src/node_modules/browser-stdout/LICENSE +sha256 14895b82e3367b66bdb127fe91505f8615491f2a23eb1c0b7d8f7c54be67f57a chromium/third_party/devtools-frontend/src/node_modules/buffer-crc32/LICENSE +sha256 14275f5c8139d02054c5259d52a88ccbba662a86af18c30f071c8d082dc6004c chromium/third_party/devtools-frontend/src/node_modules/buffer-from/LICENSE +sha256 06bafa45fdad2579ba0e43b0c9b2c6290287c99c4203c300254a462b38a307f6 chromium/third_party/devtools-frontend/src/node_modules/buffer/LICENSE +sha256 e3b44af066615de2ea48d18d852d0762f18c0b2efcea714fa48a6f729d405b85 chromium/third_party/devtools-frontend/src/node_modules/bytes/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/callsites/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/camelcase-keys/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/camelcase/license +sha256 fd3a263fe19ed8faa9068b43abaebafc02c77897b0c6fc09abc04bb592e5f16e chromium/third_party/devtools-frontend/src/node_modules/caniuse-lite/LICENSE +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/ccount/license +sha256 b181da80336ff9dd1043fc8be1a764d7382363433319aa872e4d2cb5ce2a3066 chromium/third_party/devtools-frontend/src/node_modules/chai/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/chalk/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-entities-html4/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-entities-legacy/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-entities/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-reference-invalid/license +sha256 7df1d6cf5b4112cbe277a84269e02ae631603a9a3a21b8328a34c30b8c3dd1ab chromium/third_party/devtools-frontend/src/node_modules/chardet/LICENSE +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/check-error/LICENSE +sha256 db9ba183d4cbfbaf6c27db2effddbb84b46340c33ed32a066bc0b144a3ea1298 chromium/third_party/devtools-frontend/src/node_modules/chokidar/LICENSE +sha256 99de4c30f4643c00d4895d9c6ade0af4ec43d301449c191f5fbe41b53bb6a13a chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/fsevents/LICENSE +sha256 dffec71d93f273d2af7b54c6c7e7e70b3289c632ec0d7253210ec21ac336d5ac chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/readdirp/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/chownr/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cli-cursor/license +sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 chromium/third_party/devtools-frontend/src/node_modules/cliui/LICENSE.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/strip-ansi/license +sha256 33fa5470b2195e410b075a32516b6ad27784b8a8ff74ae90cfd60c14b76e6644 chromium/third_party/devtools-frontend/src/node_modules/cli-width/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/clone-regexp/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/collapse-white-space/license +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/color-name/LICENSE +sha256 77ffe84006509949525fd57df06f4a6a80ad862c5314b66ab5bb6ac4cee6280b chromium/third_party/devtools-frontend/src/node_modules/colors/LICENSE +sha256 04512a63dce4d2d506ad612dc0bd7681ccf6e3655f7b6eaef7dfac8323d1ec0b chromium/third_party/devtools-frontend/src/node_modules/commander/LICENSE +sha256 8bb16db1b047019e4395965f2cf3611b06c34bf86dc2d0210b3c3f91b53c21fe chromium/third_party/devtools-frontend/src/node_modules/commondir/LICENSE +sha256 0f0b408b8b871d983e767528c6dc51e0ad7efaa022890c449fe2b2e1ee24dbb7 chromium/third_party/devtools-frontend/src/node_modules/component-emitter/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/concat-map/LICENSE +sha256 9913ff70f23424d49fda2b05902cfb72f17ae1e48aaf898c349a284289a74751 chromium/third_party/devtools-frontend/src/node_modules/connect/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/ms/license.md +sha256 0798f37cff4a3f438c071316e41f94ffe110116a313ab0fc4f8caa07218f1f0f chromium/third_party/devtools-frontend/src/node_modules/contains-path/LICENSE +sha256 257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38 chromium/third_party/devtools-frontend/src/node_modules/content-type/LICENSE +sha256 c02110eedc16c7114f1a9bdc026c65626ce1d9c7e27fd51a8e0feee8a48a6858 chromium/third_party/devtools-frontend/src/node_modules/cookie/LICENSE +sha256 8e714750725e75c8b31172ef84c0805f94873f86e3b5cfca8a948553f0778fa1 chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/node_modules/parse-json/license +sha256 aaa78451b6fecd1b9c4594c796c133c0e90cad100372ff8bc6de615e9ef9adf1 chromium/third_party/devtools-frontend/src/node_modules/cross-spawn/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/cssesc/LICENSE-MIT.txt +sha256 53ecc31e1632c07980cb0c97dcaf3d1d20323d21194b92150987a4fecf517b3c chromium/third_party/devtools-frontend/src/node_modules/custom-event/LICENSE +sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c chromium/third_party/devtools-frontend/src/node_modules/date-format/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/debug/LICENSE +sha256 5f9e03a50e10f262f7bd356fe323b12f461f14dae6762611285a0d7479340ae7 chromium/third_party/devtools-frontend/src/node_modules/debuglog/LICENSE +sha256 840c00ea351c8aab93f37ff132bc87e58711aac287baeaed5788132970aca500 chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/node_modules/map-obj/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/decamelize/license +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/deep-eql/LICENSE +sha256 f2042f3634c4136d06b5139c9c6aefb81a3a462b514548bc1845953233dfba98 chromium/third_party/devtools-frontend/src/node_modules/deep-is/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/define-properties/LICENSE +sha256 bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400 chromium/third_party/devtools-frontend/src/node_modules/depd/LICENSE +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/third_party/devtools-frontend/src/node_modules/devtools-protocol/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/dezalgo/LICENSE +sha256 152f0fb43e953fcf5c56c5bfa4c834bb96b1603e4026319c613dd3e734f305cf chromium/third_party/devtools-frontend/src/node_modules/diff/LICENSE +sha256 545278991ee5f1fb4372f913ec44837cff9395175140f8f21118074330a659cb chromium/third_party/devtools-frontend/src/node_modules/di/LICENSE +sha256 69dee148a2cc470554dfa7142e830662062394d0fe67cddd379aba90dc60d6b3 chromium/third_party/devtools-frontend/src/node_modules/dir-glob/license +sha256 5c272e206669b79ee20fa89fa8fa888d5b56186f16c55a5614753ad3412e2ae9 chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.closure-compiler +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.esprima +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/domelementtype/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/domhandler/LICENSE +sha256 94cfe87de9b178e8fee313a19178e625129e2ce559db32e772e7bd95114ee6ff chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/domelementtype/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/entities/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/domutils/LICENSE +sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 chromium/third_party/devtools-frontend/src/node_modules/ee-first/LICENSE +sha256 25ba5c59dad3e0dd8f9540beaa0f0a86a10e3aec35af5fdc8e88c5f6a5c0d8c6 chromium/third_party/devtools-frontend/src/node_modules/electron-to-chromium/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 7585ea7bba616ccbbe43cb54ecb67956688c3c5641bb84f3099a652a73193afe chromium/third_party/devtools-frontend/src/node_modules/encodeurl/LICENSE +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/end-of-stream/LICENSE +sha256 bb996a5665c8e18041251e833e52b590f0da5050c1878aa3e3a47f71bb16fa6d chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/ms/license.md +sha256 8e0349070612cb59fc604588974e193d8363f0a08752caf31d3f270a609d346a chromium/third_party/devtools-frontend/src/node_modules/engine.io/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/ms/license.md +sha256 2a190271977c2ad47c85a9e08cc05d078fe9293643061d466d2ae89ce8e5c2f1 chromium/third_party/devtools-frontend/src/node_modules/engine.io-parser/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/entities/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/ent/LICENSE +sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 chromium/third_party/devtools-frontend/src/node_modules/error-ex/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/es-abstract/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/has-symbols/LICENSE +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimend/LICENSE +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimstart/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/es-array-method-boxes-properly/LICENSE +sha256 255aa557a1f55224ce522f311629c0bf20854740a67955cefd798fbd1d3d1ded chromium/third_party/devtools-frontend/src/node_modules/escape-html/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/escape-string-regexp/license +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/escodegen/LICENSE.BSD +sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 chromium/third_party/devtools-frontend/src/node_modules/escodegen/node_modules/esprima/LICENSE.BSD +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/has-symbols/LICENSE +sha256 68f12f6e2c33688699249c01d8f9623c534da20aa71989c57b061b7bc1676d14 chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/isarray/LICENSE +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/ms/license.md +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/resolve/LICENSE +sha256 db83f2ede67f36cfab1ea0721ea2ee97515863e9a65346881f305e430451cc91 chromium/third_party/devtools-frontend/src/node_modules/eslint/LICENSE +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/ms/license.md +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/ansi-regex/license +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/globals/license +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/optionator/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/semver/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-json-comments/license +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/LICENSE +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/memo-parser/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/debug/LICENSE +sha256 1925669fabfda8475cb886afc52ad90d518fcdc5ca415d086f88db70bb1232eb chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.BSD +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.closure-compiler +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.esprima +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/find-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/load-json-file/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/locate-path/license +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/ms/license.md +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-exists/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-type/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/pify/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-limit/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-locate/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-try/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg-up/license +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/resolve/LICENSE +sha256 b67ae8fe5f32d0e6164655de53075cba04bb69c23e7d11efcfed6a0fa265ef64 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-mocha/LICENSE +sha256 541c415066b6139f0fb6ad55f633abbc62f0ba6b54543f1ff00c762e76a90239 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-rulesdir/LICENSE.md +sha256 d3a724e2ed749f172ff70b62a1d0631b7d4b0ea273782365a3464d4e2d6b6dbd chromium/third_party/devtools-frontend/src/node_modules/eslint-scope/LICENSE +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/eslint-utils/LICENSE +sha256 d8bf34ff6d190640a01e7704ad78253fc181bc128949d71273fbbaa12f33c0b4 chromium/third_party/devtools-frontend/src/node_modules/eslint-visitor-keys/LICENSE +sha256 6273faa0d14a54972c0341a724010eb8cd928ee486745a9eea8cf80680ba5098 chromium/third_party/devtools-frontend/src/node_modules/espree/LICENSE +sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c chromium/third_party/devtools-frontend/src/node_modules/espree/node_modules/acorn/LICENSE +sha256 ac68116ae73740de4190892f334992e449a124600924ec761e64319d3aac9e6e chromium/third_party/devtools-frontend/src/node_modules/esquery/license.txt +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/esquery/node_modules/estraverse/LICENSE.BSD +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/es-to-primitive/LICENSE +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/estraverse/LICENSE.BSD +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/esutils/LICENSE.BSD +sha256 3aecc12b1cb28832b5f65ab64291de96568c3f236a74d646281b4491f7bcadbf chromium/third_party/devtools-frontend/src/node_modules/eventemitter3/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/execall/license +sha256 97af7428f93afbab9bf79cd09254da1357161794f4255eb1b4599f04dd2d2e7c chromium/third_party/devtools-frontend/src/node_modules/extend/LICENSE +sha256 e33b7bc13a0e5ea9ed6718e12e99a5b0b60276162f0195aa7f342397f4b0155d chromium/third_party/devtools-frontend/src/node_modules/external-editor/LICENSE +sha256 77b2de947c65f3062fb347118ca198ca50898ead84a8509d8153fa65741f029b chromium/third_party/devtools-frontend/src/node_modules/extract-zip/LICENSE +sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a chromium/third_party/devtools-frontend/src/node_modules/fast-deep-equal/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/fast-glob/LICENSE +sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 chromium/third_party/devtools-frontend/src/node_modules/fast-glob/node_modules/picomatch/LICENSE +sha256 a833d366242c298cf1b10263516572fb8dcbe68eb5072cdcac2b4546e2b4eb36 chromium/third_party/devtools-frontend/src/node_modules/fast-json-stable-stringify/LICENSE +sha256 942a98cb8846a6354266193f173c1354615827fbb7d67f68399599dff12c4d6a chromium/third_party/devtools-frontend/src/node_modules/fast-levenshtein/LICENSE.md +sha256 c3367f6d01a79d368fc4fbb41b3615fcd92f243d6597ab96742f6f976f9325af chromium/third_party/devtools-frontend/src/node_modules/fastq/LICENSE +sha256 176d95320d565cb034d8323797b6cd6160238f625453687f98aad2085c46c3b3 chromium/third_party/devtools-frontend/src/node_modules/fd-slicer/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/figures/license +sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d chromium/third_party/devtools-frontend/src/node_modules/file-entry-cache/LICENSE +sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 chromium/third_party/devtools-frontend/src/node_modules/fill-range/LICENSE +sha256 24973d5320410e565ec92f18f73f12af7d97c634d414ba170d119fe3f98904c8 chromium/third_party/devtools-frontend/src/node_modules/finalhandler/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/ms/license.md +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/find-up/node_modules/path-exists/license +sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d chromium/third_party/devtools-frontend/src/node_modules/flat-cache/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/flat-cache/node_modules/rimraf/LICENSE +sha256 95a61f61553614db5421a2cefb17c22ff6b2b4b2206f5bc8913d04f72a22b033 chromium/third_party/devtools-frontend/src/node_modules/flat/LICENSE +sha256 5097efeab30293dd7e26d6960b6b94f1aeca958d22f1eca3535c482a891e95a9 chromium/third_party/devtools-frontend/src/node_modules/flatted/LICENSE +sha256 bfa8a54bb952ccda79f0f1889721d108f5b605babbb2b8a3705ffb52f4132eb7 chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/node_modules/debug/LICENSE +sha256 2281f2db407bdbb54f069eec38128b2dee2c0c952f52b786ef1faecb81767b3c chromium/third_party/devtools-frontend/src/node_modules/fs-constants/LICENSE +sha256 1e76029602ae9b21cc4e612db2496d92febed882ba13ba745f8b3309e85f9d39 chromium/third_party/devtools-frontend/src/node_modules/fs-extra/LICENSE +sha256 8465b04b67f473341171b5c9c8b2c741a4a395b3f6ed58339b3a4f4db3db7472 chromium/third_party/devtools-frontend/src/node_modules/fs.realpath/LICENSE +sha256 e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791 chromium/third_party/devtools-frontend/src/node_modules/functional-red-black-tree/LICENSE +sha256 773e131a7684726005a7e4688a80b4620033bc08499bc1404dd1a1eb3bca725e chromium/third_party/devtools-frontend/src/node_modules/function-bind/LICENSE +sha256 e3a956681ee067f971ac413994171b3d90ca801ec6324e76c9c55366cfe31cb0 chromium/third_party/devtools-frontend/src/node_modules/gensync/LICENSE +sha256 902dbb4154679fb2b8d7c33878183f45b268d01eae5e5033dddaa8852d45f213 chromium/third_party/devtools-frontend/src/node_modules/get-caller-file/LICENSE.md +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/get-func-name/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/get-stdin/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/get-stream/license +sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 chromium/third_party/devtools-frontend/src/node_modules/global-modules/LICENSE +sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 chromium/third_party/devtools-frontend/src/node_modules/global-prefix/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/globals/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/globby/license +sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/ignore/LICENSE-MIT +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/slash/license +sha256 5947e11f30ab8264c45332a7d767447a71a52510ba467062cf3918e34cc67bff chromium/third_party/devtools-frontend/src/node_modules/globjoin/LICENSE +sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 chromium/third_party/devtools-frontend/src/node_modules/glob/LICENSE +sha256 2c46f1325bd3822a33c1e2c1e49c18d13127ac00f9c8b3b79196c7a126f73cd9 chromium/third_party/devtools-frontend/src/node_modules/glob-parent/LICENSE +sha256 2fc5460f1526810979054ecd18cd01349b57f38ea56d1e920afdea34d104540c chromium/third_party/devtools-frontend/src/node_modules/graceful-fs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/hard-rejection/license +sha256 dc1fcc41f783463ed272ada875a7d3d1baf6c6279e5efada2c4ef2ca72db39e1 chromium/third_party/devtools-frontend/src/node_modules/has-binary2/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/has-flag/license +sha256 4fe5fd7b3318def0b74f8bf8c9276403f01da628fa8888822661519d80f237d3 chromium/third_party/devtools-frontend/src/node_modules/has/LICENSE-MIT +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/has-symbols/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/he/LICENSE-MIT.txt +sha256 c1476ec53119cd4c8370f91f5152ac76312a29b4fae2d49b5e0e0970fe0fa5ee chromium/third_party/devtools-frontend/src/node_modules/hosted-git-info/LICENSE +sha256 27d06bbb2eb031be8aa376868a2e1f11b6acba938d4cc8e1234b66b9739c54a3 chromium/third_party/devtools-frontend/src/node_modules/html-escaper/LICENSE.txt +sha256 204cfa747341660e4da64cd23e8c876c6b20279d247f48564993d3fc4a2eab47 chromium/third_party/devtools-frontend/src/node_modules/htmlparser2/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/html-tags/license +sha256 dcb94ff9b1e037a847bc20589dc81a1066d041fd4c16deb18b0fa968c66cf395 chromium/third_party/devtools-frontend/src/node_modules/http-errors/LICENSE +sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b chromium/third_party/devtools-frontend/src/node_modules/http-errors/node_modules/inherits/LICENSE +sha256 589850dfc0a1d39a97c592d618d5772f84aec2b11c6898e020acb985299f3bab chromium/third_party/devtools-frontend/src/node_modules/http-proxy/LICENSE +sha256 ac779f7314c74f232ef847ea86e714abe25cf6eeb5cc97b69451b74e2af6492d chromium/third_party/devtools-frontend/src/node_modules/iconv-lite/LICENSE +sha256 18d45466ba3253deae04667e267a91ea8de8548f18c1125264d1c9db28194cc1 chromium/third_party/devtools-frontend/src/node_modules/ieee754/LICENSE +sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 chromium/third_party/devtools-frontend/src/node_modules/ignore/LICENSE-MIT +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/import-fresh/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/import-lazy/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/indent-string/license +sha256 715f1f0f2eb7688e53e4e958acdc7fc9e365ae3eaf26efc2604b93cc65fdc3f5 chromium/third_party/devtools-frontend/src/node_modules/indexes-of/LICENSE +sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 chromium/third_party/devtools-frontend/src/node_modules/inflight/LICENSE +sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b chromium/third_party/devtools-frontend/src/node_modules/inherits/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/ini/LICENSE +sha256 e6c3f1bc47f97cdeef953f6c109b6392be0d059ae94659faf550e61b7a75ebc7 chromium/third_party/devtools-frontend/src/node_modules/inquirer/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-styles/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/chalk/license +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/has-flag/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/is-fullwidth-code-point/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/supports-color/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-alphabetical/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-alphanumerical/license +sha256 3a4909999d4cb5e4caee48395d9ac13085f4a8cb92245eef41526073601aaec8 chromium/third_party/devtools-frontend/src/node_modules/is-alphanumeric/license +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/is-arguments/LICENSE +sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 chromium/third_party/devtools-frontend/src/node_modules/is-arrayish/LICENSE +sha256 2eedc70f2242aaf269e86e2c85eabeb875dc524d187d5953016b24091d26a843 chromium/third_party/devtools-frontend/src/node_modules/isbinaryfile/LICENSE.txt +sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 chromium/third_party/devtools-frontend/src/node_modules/is-binary-path/license +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/is-buffer/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-callable/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-date-object/LICENSE +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-decimal/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/isexe/LICENSE +sha256 73b5283588baa142c5baaef5f56d3e8fdea7a30b214e8c5737e87640f882453a chromium/third_party/devtools-frontend/src/node_modules/is-extglob/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/is-fullwidth-code-point/license +sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 chromium/third_party/devtools-frontend/src/node_modules/is-glob/LICENSE +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-hexadecimal/license +sha256 5a26e47b9d7020848f061bcad66f8e73cab95f529dab5c02588b21e57c4f876c chromium/third_party/devtools-frontend/src/node_modules/is-map/LICENSE +sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 chromium/third_party/devtools-frontend/src/node_modules/is-number/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/is-plain-obj/license +sha256 44191656d296391e0ec97e32f5385f0d02b6f2992694082d22ea04ba0f66f9e4 chromium/third_party/devtools-frontend/src/node_modules/is-promise/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/is-regex/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/is-regex/node_modules/has-symbols/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/is-regexp/license +sha256 5a26e47b9d7020848f061bcad66f8e73cab95f529dab5c02588b21e57c4f876c chromium/third_party/devtools-frontend/src/node_modules/is-set/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-string/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-symbol/LICENSE +sha256 5a547aafe7b171c859ec64de1dd3c3363689f830133f508d043c83da12a6d0a2 chromium/third_party/devtools-frontend/src/node_modules/@istanbuljs/schema/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/is-typedarray/LICENSE.md +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-whitespace-character/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-word-character/license +sha256 39c5ec504cf6bd5cd782a7c695828e09189df79f5d94840e4f08feb97b9fd416 chromium/third_party/devtools-frontend/src/node_modules/iterate-iterator/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/iterate-value/LICENSE +sha256 52412d7bc7ce4157ea628bbaacb8829e0a9cb3c58f57f99176126bc8cf2bfc85 chromium/third_party/devtools-frontend/src/node_modules/jest-worker/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/jest-worker/node_modules/supports-color/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/jsesc/LICENSE-MIT.txt +sha256 53e59feb13058722d977c699eb0407c7bce2f93c949b681bbd2ff31698535927 chromium/third_party/devtools-frontend/src/node_modules/json5/LICENSE.md +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/json5/node_modules/minimist/LICENSE +sha256 a9801fb52ba22ef808682a094da8a7a480584b7ed0dfd0d888ab543616335031 chromium/third_party/devtools-frontend/src/node_modules/jsonfile/LICENSE +sha256 6cf2891dd0e66460f7d2ed83e1e3fe4b4b4c1a8c1f1f96c222a3466ad12ff197 chromium/third_party/devtools-frontend/src/node_modules/json-parse-better-errors/LICENSE.md +sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a chromium/third_party/devtools-frontend/src/node_modules/json-schema-traverse/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/json-stable-stringify-without-jsonify/LICENSE +sha256 2213d91c606205c71eb051a199478cdc2adde945893404d7f1421436dd6d5cc1 chromium/third_party/devtools-frontend/src/node_modules/js-tokens/LICENSE +sha256 a07bc24468b9654ce76a547d47a2db282d07733b715db4c73a98bd63961f9550 chromium/third_party/devtools-frontend/src/node_modules/js-yaml/LICENSE +sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 chromium/third_party/devtools-frontend/src/node_modules/js-yaml/node_modules/esprima/LICENSE.BSD +sha256 e3d4ed2aa50e7583730b1531034331ba9093c8bef7414234c7c9306db3858913 chromium/third_party/devtools-frontend/src/node_modules/karma-chai/LICENSE +sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c chromium/third_party/devtools-frontend/src/node_modules/karma-chrome-launcher/LICENSE +sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/has-flag/license +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-coverage/LICENSE +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-instrument/LICENSE +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-report/LICENSE +sha256 b661867c1d66a1b71ee3a6109159874334cd5c182a80d1bcc7353b5a4c6823c6 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/node_modules/source-map/LICENSE +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-reports/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/make-dir/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/semver/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/source-map/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/supports-color/license +sha256 6e4e577107740b24ebd73cb813be506861d706129e502ca7160683a5cea4c129 chromium/third_party/devtools-frontend/src/node_modules/karma/LICENSE +sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-styles/license +sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/cliui/LICENSE.txt +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/is-fullwidth-code-point/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/p-locate/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/rimraf/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/wrap-ansi/license +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs/LICENSE +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs-parser/LICENSE.txt +sha256 2b3adc1e55676b9443f76bdb17e42371de98a4be6abd3ae6e5f3590f6f3e4f6f chromium/third_party/devtools-frontend/src/node_modules/karma-sourcemap-loader/LICENSE +sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 chromium/third_party/devtools-frontend/src/node_modules/kind-of/LICENSE +sha256 81294ebf877cb41ed610fa0566c6cf81cd62d47e9ae26e1b0870c9c532b11191 chromium/third_party/devtools-frontend/src/node_modules/known-css-properties/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/leven/license +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/levn/LICENSE +sha256 150d7707d4532d57bdb5718637ff62fff1f075921c5ffaa084df27f900bfea76 chromium/third_party/devtools-frontend/src/node_modules/license-checker/bin/license-checker +sha256 455629980585dfdadbdcbaf846659b65da3dd092ac9bfd10b07717a0e2f84ef5 chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license-files.js +sha256 37932d5f93a7f9e762346358ae427e703d69fdaae6e7cd67158b35eea91c9eec chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license.js +sha256 adeb5a7f7d027ec14c3698be7a0f248978516ab39ccec4fb70689ba4753cdd67 chromium/third_party/devtools-frontend/src/node_modules/license-checker/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/debug/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/nopt/LICENSE +sha256 456fe85ad3e71db9523313cf7437b0f90c392d8a48c869908e46716b26d2cf53 chromium/third_party/devtools-frontend/src/node_modules/lines-and-columns/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/locate-path/license +sha256 f71e8ed126b46346494aad5486874cd8f0aafe95092ed67d2e3cb6110f939abc chromium/third_party/devtools-frontend/src/node_modules/lodash/LICENSE +sha256 66da8b277e527c270de6abc57727c58032267d161a81dbac02c3eed45fd13366 chromium/third_party/devtools-frontend/src/node_modules/log4js/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/log-symbols/license +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/longest-streak/license +sha256 1cbe51b907662f6cb1492b16c359384a595180bf0e4d101603ed525e75c4e484 chromium/third_party/devtools-frontend/src/node_modules/magic-string/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/map-obj/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/markdown-escapes/license +sha256 9966260ba3ea9d6a5f839297dca80ddc99735a34b4ae82811cac7b956d2e3afd chromium/third_party/devtools-frontend/src/node_modules/markdown-table/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/mathml-tag-names/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/mdast-util-compact/license +sha256 74d8054d56d522bdaa340d3d71130cb204997d523a5292c85ac1264dd77c8d06 chromium/third_party/devtools-frontend/src/node_modules/media-typer/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/meow/license +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/camelcase/license +sha256 64a93ffc0a06a2266dbb57ed7ebe3b56ba66ab337b6347fabdbf86c76819fbae chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/type-fest/license +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/LICENSE.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/node_modules/camelcase/license +sha256 23d150eb1337116025fbb4de7cd2a757540feec928eef5ae30c91f9f500a4dbc chromium/third_party/devtools-frontend/src/node_modules/merge2/LICENSE +sha256 2cee71bf4612fc2efe1c6261e3f2b21f3c7259ef8a4f3593b095ae7a7bd65ad9 chromium/third_party/devtools-frontend/src/node_modules/merge-stream/LICENSE +sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 chromium/third_party/devtools-frontend/src/node_modules/micromatch/LICENSE +sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 chromium/third_party/devtools-frontend/src/node_modules/mime-db/LICENSE +sha256 8f2658c03422c408b2b2ce4d151decc3b1a6fd3d86e5ca9433777bccdcdf75a2 chromium/third_party/devtools-frontend/src/node_modules/mime/LICENSE +sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 chromium/third_party/devtools-frontend/src/node_modules/mime-types/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mimic-fn/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/minimatch/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/minimist/LICENSE +sha256 6158b1bc31ab9c05c0be562cf57a0590a1dc86a4ce8b8a48a5e73df6c259ed61 chromium/third_party/devtools-frontend/src/node_modules/minimist-options/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/arrify/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/is-plain-obj/license +sha256 9638fa87f845af6cecc56fab498c1f74f4a98522d3b53377bedcbdb44b5a8dcc chromium/third_party/devtools-frontend/src/node_modules/min-indent/license +sha256 a255b85c1a510ecfe660c4d442ecdbc1e9d07f4b4d3d7f90443f7e5570591e0a chromium/third_party/devtools-frontend/src/node_modules/mkdirp-classic/LICENSE +sha256 05991c2e8f070b69ec5b656c2c12fd07cd0153dd157d39b050b82af59b319a01 chromium/third_party/devtools-frontend/src/node_modules/mkdirp/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/mkdirp/node_modules/minimist/LICENSE +sha256 88597c9a3af6b6ae2fa6225a52344c7ddc705883d6fe1f2b3a95fdc72d2d1a20 chromium/third_party/devtools-frontend/src/node_modules/mocha/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ansi-regex/license +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/debug/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/glob/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/has-flag/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/p-locate/license +sha256 d3dfa68a3c80e64eb10e46cef10e4208502da5ffb1387b11db00e42a507ab8f7 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/serialize-javascript/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/supports-color/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/which/LICENSE +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/node_modules/find-up/license +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/ms/license.md +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/mute-stream/LICENSE +sha256 553d4d20029a24e315b428a1a54a9e109eaa340f2e958a4f50a92362c2c4070b chromium/third_party/devtools-frontend/src/node_modules/negotiator/LICENSE +sha256 bd220c219b05e6c22b7c23613ca926f60932d07c9fe141dd6e04b80dbc4b4e52 chromium/third_party/devtools-frontend/src/node_modules/nice-try/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.scandir/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.stat/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.walk/LICENSE +sha256 3706296ed611888111ceccc1dff4712844dea4bde0b185c82d718c3b69895abe chromium/third_party/devtools-frontend/src/node_modules/node-releases/LICENSE +sha256 d16b2b8c511d9f2bef8bbf49f0e2a94f032b6b8d181f71c83912c34c116a02e1 chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/LICENSE +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/node_modules/resolve/LICENSE +sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 chromium/third_party/devtools-frontend/src/node_modules/normalize-path/LICENSE +sha256 0b61ac8491c66669491fdb328200203822b91d2a0461f5cd898fe0944ea97e41 chromium/third_party/devtools-frontend/src/node_modules/normalize-range/license +sha256 65155820306c6f73fe67358bf14c2e1eb24e29e9d0cad280b8f0f7be3319e434 chromium/third_party/devtools-frontend/src/node_modules/num2fraction/LICENSE +sha256 a596744eec6b05682ed972bf93937668bbc8da2caed93fbf6510389de019b5c0 chromium/third_party/devtools-frontend/src/node_modules/object.assign/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/object-inspect/LICENSE +sha256 5640e5cbe2e9f57f6ccfdd8dbfbeadb875495bdbcb69d2666ce3177ccd0942e4 chromium/third_party/devtools-frontend/src/node_modules/object-keys/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimright/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/once/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/onetime/license +sha256 8089bcc08845ec143e5761f4a101a65b8c792a0dedbfeeb90a15560c0b77f768 chromium/third_party/devtools-frontend/src/node_modules/on-finished/LICENSE +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/optionator/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/osenv/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/os-homedir/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/os-tmpdir/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/parent-module/license +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/parse-entities/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/parse-json/license +sha256 a41d7b212c43bf90af534ec5d73d24a65e3a8cf17941b6d10e9398346a179698 chromium/third_party/devtools-frontend/src/node_modules/parseqs/LICENSE +sha256 15c35ddf8c82a5fc84e3801db12e279b744605d6ad810e1b52ad09832fc71806 chromium/third_party/devtools-frontend/src/node_modules/parseuri/LICENSE +sha256 11d017c3b9f1ee3f44caf7203035f0461d5b57e0db8ce1bc03a9af34fa7d3f6b chromium/third_party/devtools-frontend/src/node_modules/parseurl/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/path-exists/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/path-is-absolute/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/path-key/license +sha256 3f4609137f65070541b9214300ea0d640af8192857de0eeb2b03403003d9228a chromium/third_party/devtools-frontend/src/node_modules/path-parse/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/path-type/license +sha256 5d45910e7ed82fecc3e29b40a5b3a17ceb609fda19f860aa2ec180d87f4f9d4a chromium/third_party/devtools-frontend/src/node_modules/pathval/LICENSE +sha256 7e64acffcb0d20d33f5a86949ffd4a99ae045b10c7332a9c3a58635876c16880 chromium/third_party/devtools-frontend/src/node_modules/pend/LICENSE +sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 chromium/third_party/devtools-frontend/src/node_modules/picomatch/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/find-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/locate-path/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-limit/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-locate/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-try/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/find-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-limit/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-locate/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-try/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/p-limit/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/p-locate/license +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/postcss-html/LICENSE +sha256 ce4ef9c48a45bbfc480671256a45a191ece0622d78061599b09b0ee60cf517d6 chromium/third_party/devtools-frontend/src/node_modules/postcss-less/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/postcss/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/postcss/node_modules/supports-color/license +sha256 8e714750725e75c8b31172ef84c0805f94873f86e3b5cfca8a948553f0778fa1 chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/node_modules/log-symbols/license +sha256 d060f91dafa4f2daaeb5a87bdaab60217a5beb87a31eb0c480420710368ebf15 chromium/third_party/devtools-frontend/src/node_modules/postcss-resolve-nested-selector/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/postcss-safe-parser/LICENSE +sha256 e695904c289dbc8a8bca514639c4ec26e695cf21c3c1f12a917d325b26396917 chromium/third_party/devtools-frontend/src/node_modules/postcss-sass/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/postcss-scss/LICENSE +sha256 2998094b38f7ace25f141fb36f334d8338f65a1812978d618b1161f4d77ae10e chromium/third_party/devtools-frontend/src/node_modules/postcss-selector-parser/LICENSE-MIT +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/postcss-syntax/LICENSE +sha256 3687447039151857a6ba378db062172c7f33d4aa70a615c87a43a9c50e990485 chromium/third_party/devtools-frontend/src/node_modules/postcss-value-parser/LICENSE +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/prelude-ls/LICENSE +sha256 f4bbb78fa28677ad9b9c0a4b7a255e23c0b24e619c873ed66a11d47c16c88114 chromium/third_party/devtools-frontend/src/node_modules/private/LICENSE +sha256 d7d2a7786de7c7cfd96f920c6f12927d74e1d2a861ca4498bf465c3bc3f4c21c chromium/third_party/devtools-frontend/src/node_modules/progress/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/promise.allsettled/LICENSE +sha256 f55828df4b8752c48e765a806465b76a103e3cb363379c569b15a1df2ba2d79e chromium/third_party/devtools-frontend/src/node_modules/proxy-from-env/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/p-try/license +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/pump/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/punycode/LICENSE-MIT.txt +sha256 a27ca07269b3518550b2e83aed13eadd7d14d924b5864e14889b40cf227530ca chromium/third_party/devtools-frontend/src/node_modules/puppeteer/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/pkg-dir/license +sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/ws/LICENSE +sha256 d2f9d2835eb09ccf673e118e4fdc372075437c1787e66c2202912fbe3e5ee9e1 chromium/third_party/devtools-frontend/src/node_modules/qs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/quick-lru/license +sha256 f0606775704212c0b49fb4df8193f7ec190d057551fc857d9f3aaa482b878e29 chromium/third_party/devtools-frontend/src/node_modules/ramda/LICENSE.txt +sha256 f655e6291356ec0de7a8f0e69f294961a2cea86678ec94588be1e6a492e278ab chromium/third_party/devtools-frontend/src/node_modules/range-parser/LICENSE +sha256 c8e6bca7230689d536a3bd7158f66e9c4f89f95d0748743a0370ac229e9023ad chromium/third_party/devtools-frontend/src/node_modules/raw-body/LICENSE +sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 chromium/third_party/devtools-frontend/src/node_modules/readable-stream/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/readdir-scoped-modules/LICENSE +sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b chromium/third_party/devtools-frontend/src/node_modules/read-installed/LICENSE +sha256 69be713b3d6c33e0dba76c4d23d986d568593abca04ce47d75162af255d6a345 chromium/third_party/devtools-frontend/src/node_modules/read-package-json/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/parse-json/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/type-fest/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/p-locate/license +sha256 6ca87d1dce5b82873603e566fd83dabe8771fb169013337d4a14bb9bbf794687 chromium/third_party/devtools-frontend/src/node_modules/recast/LICENSE +sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 chromium/third_party/devtools-frontend/src/node_modules/recast/node_modules/esprima/LICENSE.BSD +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/redent/license +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/regexpp/LICENSE +sha256 3672fb6ef1c214578dfee689643516c2685f61ab08d130517ca8ea24f383a840 chromium/third_party/devtools-frontend/src/node_modules/repeat-string/LICENSE +sha256 dcb55717e2528ce8ffcff58a26dbc456d03929422ef59b6efdabbb931ef09aea chromium/third_party/devtools-frontend/src/node_modules/replace-ext/LICENSE +sha256 a92e52eb1fa7cd746e3827bf01d3a3589bbc8e1e51348b1da042aad165525ad1 chromium/third_party/devtools-frontend/src/node_modules/require-directory/LICENSE +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/require-main-filename/LICENSE.txt +sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 chromium/third_party/devtools-frontend/src/node_modules/requires-port/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/resolve-from/license +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/resolve/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/restore-cursor/license +sha256 db0054e6418412e4a265236c94d1d8935057c67f367240b01bb2b0b2f9091812 chromium/third_party/devtools-frontend/src/node_modules/reusify/LICENSE +sha256 1ce941682a96c7b898ecd125d0f2e22319758ea6f3adbf498a65d649b0f3f7dd chromium/third_party/devtools-frontend/src/node_modules/rfdc/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/rimraf/LICENSE +sha256 d6a61720669b71b4920ead9792298c3b4e27ce776282053c9df3b781fc8480ca chromium/third_party/devtools-frontend/src/node_modules/rollup/LICENSE.md +sha256 99de4c30f4643c00d4895d9c6ade0af4ec43d301449c191f5fbe41b53bb6a13a chromium/third_party/devtools-frontend/src/node_modules/rollup/node_modules/fsevents/LICENSE +sha256 7b8136f76c483d03597500bfa991aae9be68d4629e1121cbf9b93aa727efe305 chromium/third_party/devtools-frontend/src/node_modules/@rollup/plugin-commonjs/LICENSE +sha256 a361479777395f33fb109bd77c7888663f5dc6f3a18ddaba812cf81be29e0cc3 chromium/third_party/devtools-frontend/src/node_modules/rollup-plugin-terser/LICENSE +sha256 7b8136f76c483d03597500bfa991aae9be68d4629e1121cbf9b93aa727efe305 chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/LICENSE +sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/picomatch/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/@types/estree/LICENSE +sha256 e5c1364118b39fa98b959138ce4aa4d0e68cfbee12d115e69730579fecb1dc1b chromium/third_party/devtools-frontend/src/node_modules/run-async/LICENSE +sha256 d4c2065e2b936e62a4eb400efb4576edec9ca1388a9f78aa288e147275e7bc8b chromium/third_party/devtools-frontend/src/node_modules/run-parallel/LICENSE +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm2015/LICENSE.txt +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm5/LICENSE.txt +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/LICENSE.txt +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/src/LICENSE.txt +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/safe-buffer/LICENSE +sha256 4bc935e71be198c67ddf3c2b5fddb195f6edc182bfc155a96a6db61b44b494b9 chromium/third_party/devtools-frontend/src/node_modules/safer-buffer/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/semver/LICENSE +sha256 d3dfa68a3c80e64eb10e46cef10e4208502da5ffb1387b11db00e42a507ab8f7 chromium/third_party/devtools-frontend/src/node_modules/serialize-javascript/LICENSE +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/set-blocking/LICENSE.txt +sha256 76d6d1ea0c268da37dd3c961b4fcfb23dee8417fff9e8786d4d44c585b781b69 chromium/third_party/devtools-frontend/src/node_modules/setprototypeof/LICENSE +sha256 e6fdf7ac2af533b4436d99aa75df32aa78690510f7d68a3e73e8576967298d2f chromium/third_party/devtools-frontend/src/node_modules/shebang-command/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/shebang-regex/license +sha256 e05b1eaf5b5f99b7ad75cd1f38858ff9a311780b97715ead67936d60bf96aa7e chromium/third_party/devtools-frontend/src/node_modules/signal-exit/LICENSE.txt +sha256 3dc3b3d3a284d871f7f307655c90fb101d73abbf87bbddeefd2f67883353bdbc chromium/third_party/devtools-frontend/src/node_modules/slice-ansi/license +sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 chromium/third_party/devtools-frontend/src/node_modules/slide/LICENSE +sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 chromium/third_party/devtools-frontend/src/node_modules/socket.io-adapter/LICENSE +sha256 62e2032a1e1458b1d92a62f5fc51be48e08b95062295c91a9f3bd3686809d37e chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/ms/license.md +sha256 c10d192d935165dac336ae245f9eef4c42bb37e7c6f5c5f6f7663db778122df1 chromium/third_party/devtools-frontend/src/node_modules/socket.io/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/ms/license.md +sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/ms/license.md +sha256 1c632a84f7ba5a7b32d9c15e707f419b2393e7ad7de362bd9c837b5e435a197b chromium/third_party/devtools-frontend/src/node_modules/sourcemap-codec/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/source-map/LICENSE +sha256 3a7d3bb198e909ed642bd68bd29a7d7c09a636d27a51ec663d35f00c4760ec42 chromium/third_party/devtools-frontend/src/node_modules/source-map-support/LICENSE.md +sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce chromium/third_party/devtools-frontend/src/node_modules/spdx-compare/LICENSE.md +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/spdx-correct/LICENSE +sha256 7edb57f7065309027de249642341292a5b21410d5773cc55bba73ff9cf01060e chromium/third_party/devtools-frontend/src/node_modules/spdx-expression-parse/LICENSE +sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce chromium/third_party/devtools-frontend/src/node_modules/spdx-ranges/LICENSE.md +sha256 a21ab121cef9bed38553faad40e49b27ae3d2578d07a70956664e681021c9875 chromium/third_party/devtools-frontend/src/node_modules/spdx-satisfies/LICENSE +sha256 b2aeda654259630ed67b54e9134623c38cfb11d26201730cdc6d311d3c7c78ed chromium/third_party/devtools-frontend/src/node_modules/specificity/LICENSE +sha256 a4cdda44b5adea4731d53dcae78fb5124f8fd853e994f01e25d8c33a7daf818b chromium/third_party/devtools-frontend/src/node_modules/sprintf-js/LICENSE +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/state-toggle/license +sha256 512cfa4d5e7a7569c7ae4dd95241cb6ae2aaf648ef9ebd080c01bd24868d26e9 chromium/third_party/devtools-frontend/src/node_modules/statuses/LICENSE +sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c chromium/third_party/devtools-frontend/src/node_modules/streamroller/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/streamroller/node_modules/debug/LICENSE +sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b chromium/third_party/devtools-frontend/src/node_modules/string_decoder/LICENSE +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/stringify-entities/license +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimright/LICENSE +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimright/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/strip-ansi/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/strip-bom/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/strip-indent/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/strip-json-comments/license +sha256 fef84a79e6f9d8ada80ddbdb877a2c48c5c89ace72d4684c7af57991f119006d chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-recommended/LICENSE +sha256 5745227ba0bbe3fadd255f420c5f87b4f12fee5e442e6ee46e80c3c567102316 chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-standard/LICENSE +sha256 75d7a49cb407946d65586e81b72265fbf5c87d5e4a7e03f9dcb4034ae3aba725 chromium/third_party/devtools-frontend/src/node_modules/stylelint/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-styles/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/chalk/license +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/has-flag/license +sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ignore/LICENSE-MIT +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/is-fullwidth-code-point/license +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/log-symbols/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/resolve-from/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/slash/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/supports-color/license +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-css-in-js/LICENSE +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-markdown/LICENSE +sha256 9fb0656e79b3f61b6f49e2bf0cc19e667192d57344b91f91a8ce464659c620f7 chromium/third_party/devtools-frontend/src/node_modules/style-search/LICENSE +sha256 f20adb7ae92bfb7fde52791839ff1714564b4ea60a4cd031d77208a521592a4e chromium/third_party/devtools-frontend/src/node_modules/sugarss/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/supports-color/license +sha256 4fa26a349d96c6bf268296011d84a70d18a1e85dfbef9a3c3f785c97e28d1f5d chromium/third_party/devtools-frontend/src/node_modules/svg-tags/LICENSE +sha256 37b6932865726cf59cbfb8b32a5c9fd82c834c2deba4d53aa4a6b433ae69cdda chromium/third_party/devtools-frontend/src/node_modules/table/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/strip-ansi/license +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/tar-fs/LICENSE +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/tar-stream/LICENSE +sha256 68335488ef8f917c0feb901ace385f8c919bc81b0b60448a92928a3769fcec8f chromium/third_party/devtools-frontend/src/node_modules/terser/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/text-table/LICENSE +sha256 e8734448285a2dd773d40136ed5d5e8163a70701dd540cdc796cfca232f67d55 chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.APACHE2 +sha256 d72dea1a8cdf3f4dfa2f594253d0c5b37baefc76e806f5ecb0e426393edcd505 chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.MIT +sha256 162413c61e0982abe89a06bf7a02ec760dc49a7364d838bd9f01daebb5b95954 chromium/third_party/devtools-frontend/src/node_modules/tmp/LICENSE +sha256 61b82d27e63b14eabc706960aabf6caa1b27d044eb00d7908f92e68085301c3a chromium/third_party/devtools-frontend/src/node_modules/to-fast-properties/license +sha256 a832d679750e49ab433626ab196350b89964b60eb0d3edd3341887c7d5f4c128 chromium/third_party/devtools-frontend/src/node_modules/toidentifier/LICENSE +sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 chromium/third_party/devtools-frontend/src/node_modules/to-regex-range/LICENSE +sha256 83927d1555a8e1d5ed9896991fbb2b4cdfb64f45f5e12b7446c3bff5cea538d3 chromium/third_party/devtools-frontend/src/node_modules/treeify/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/trim-newlines/license +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/trim-trailing-lines/license +sha256 6c03fd41cfd7c92d8aa8a2fa521b94b2683f059123281dcf921ddea9216b6254 chromium/third_party/devtools-frontend/src/node_modules/trough/license +sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 chromium/third_party/devtools-frontend/src/node_modules/tslib/LICENSE.txt +sha256 ed0ff5ab79bc82703690fde4644e352c9ce73e9b890b87ea68b1a1fc5805792b chromium/third_party/devtools-frontend/src/node_modules/tsutils/LICENSE +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/type-check/LICENSE +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/typedarray-to-buffer/LICENSE +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/type-detect/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/type-fest/license +sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 chromium/third_party/devtools-frontend/src/node_modules/type-is/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/chai/LICENSE +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/devtools-frontend/src/node_modules/@types/codemirror/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/color-name/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/LICENSE +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/LICENSE +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/LICENSE +sha256 e2fc706570305bcb7dfadb1cac951d5934ce0d7331a7a7ff1bbc254dbe1d9ef8 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/parser/LICENSE +sha256 635818d8f39384751c8a5f3f3e735022f07afb3ccdb26eb17ff8eca28428f888 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/LICENSE +sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/glob/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/types/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/visitor-keys/LICENSE +sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 chromium/third_party/devtools-frontend/src/node_modules/typescript/LICENSE.txt +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/eslint-visitor-keys/LICENSE +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/devtools-frontend/src/node_modules/@types/estree/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/filesystem/LICENSE +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/devtools-frontend/src/node_modules/@types/json-schema/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/mocha/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/node/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/normalize-package-data/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/parse-json/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/puppeteer/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/tern/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/unist/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/yauzl/LICENSE +sha256 c427692fb89dcb92bb0cc0905a650f986a7736e4ef90f9e5356a4dfdcf243b9e chromium/third_party/devtools-frontend/src/node_modules/ua-parser-js/license.md +sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 chromium/third_party/devtools-frontend/src/node_modules/ultron/LICENSE +sha256 81ae93d537c22c0baf10928b8ee5e13d5addc50433e12cf52f1f8292ed70d108 chromium/third_party/devtools-frontend/src/node_modules/unbzip2-stream/LICENSE +sha256 05811400116ed61f1a7693b78fe8ca6598c155a12f3978e609db4df648a4cb3d chromium/third_party/devtools-frontend/src/node_modules/unherit/license +sha256 05811400116ed61f1a7693b78fe8ca6598c155a12f3978e609db4df648a4cb3d chromium/third_party/devtools-frontend/src/node_modules/unified/license +sha256 e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791 chromium/third_party/devtools-frontend/src/node_modules/uniq/LICENSE +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/unist-util-find-all-after/license +sha256 82974dbf2639d13edab95c32ed9cb6c0867ede272cd2e07ce47ce8548fe55c05 chromium/third_party/devtools-frontend/src/node_modules/unist-util-is/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/unist-util-remove-position/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/unist-util-stringify-position/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit-parents/license +sha256 3fda5977c0904e226190b4e21d64340c1731e2142d6fe5f3dee0090a216b8b63 chromium/third_party/devtools-frontend/src/node_modules/universalify/LICENSE +sha256 1a526fbe8d8577f5a4b1c2821842b55b7c0e18862531c62ae4ce69c9b19b74b6 chromium/third_party/devtools-frontend/src/node_modules/unpipe/LICENSE +sha256 0154425673db15cdfa80ecba2c9b1f1a867f7197a006764712849bfc3a93cbb7 chromium/third_party/devtools-frontend/src/node_modules/util-deprecate/LICENSE +sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 chromium/third_party/devtools-frontend/src/node_modules/util-extend/LICENSE +sha256 6e7d699cdd1e4fa837ba7718ea49841aa67201b449ea8b3f9cf274be15974a64 chromium/third_party/devtools-frontend/src/node_modules/utils-merge/LICENSE +sha256 c77674258a3fdf3036a5d13d2aecd30d7a25aa6191cb0a9a7dd45b975dc7fe69 chromium/third_party/devtools-frontend/src/node_modules/v8-compile-cache/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/validate-npm-package-license/LICENSE +sha256 05811400116ed61f1a7693b78fe8ca6598c155a12f3978e609db4df648a4cb3d chromium/third_party/devtools-frontend/src/node_modules/vfile/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/vfile-location/license +sha256 d8fc337aaf98fc7a0f5498edc18b47a9df8cdfcc1a0f013519105905722c7a4c chromium/third_party/devtools-frontend/src/node_modules/vfile-message/license +sha256 405a272eaef556691ad7dda96db3237c9544afe18725842a1a5b3ec308960222 chromium/third_party/devtools-frontend/src/node_modules/void-elements/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/which/LICENSE +sha256 852bf81203aa93aa89afc9f881ebb035322dc7334aaceff435c557634c94a815 chromium/third_party/devtools-frontend/src/node_modules/which-module/LICENSE +sha256 0cef05dfff8b6aa7f35596984f5709f0d17c2582924a751efa471a76de7cdc11 chromium/third_party/devtools-frontend/src/node_modules/wide-align/LICENSE +sha256 f4a48aa8354a257785aa534bab2ac5ff2c2a98cd59cdf4a637bb68ee185683f7 chromium/third_party/devtools-frontend/src/node_modules/word-wrap/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/wordwrap/LICENSE +sha256 6dc0e068dcf3a5bc8e054205b85b7720e1d49265bbc64bf515d2cf79197df69a chromium/third_party/devtools-frontend/src/node_modules/workerpool/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/strip-ansi/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/wrappy/LICENSE +sha256 ea7f376fe7a1fc28572b83ac8f806d92effb31852b9981bc9ba9d5266caa6b28 chromium/third_party/devtools-frontend/src/node_modules/write-file-atomic/LICENSE +sha256 0ead7e8cd8b0bc66a981ee69acaf1297ffa838cfce1b156a039bb24f997c0a27 chromium/third_party/devtools-frontend/src/node_modules/write/LICENSE +sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 chromium/third_party/devtools-frontend/src/node_modules/ws/LICENSE +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/ws/node_modules/safe-buffer/LICENSE +sha256 a5f35901ee8b2039a7431144c23dd10bd47c1d07bcee0cd3a536421d86412214 chromium/third_party/devtools-frontend/src/node_modules/xmlhttprequest-ssl/LICENSE +sha256 82e67379203d5794e7c44549847d8d64ae6904591381682360470898bd306821 chromium/third_party/devtools-frontend/src/node_modules/xtend/LICENSE +sha256 2034cce3b6fafcddd642c4175e01d3ddfc332a53b9f20fdc46b1466dc89ac469 chromium/third_party/devtools-frontend/src/node_modules/y18n/LICENSE +sha256 0f10bab9eedc5d50183a6dbce9f76e8db974103bfd32d64674406dfeb7654ee7 chromium/third_party/devtools-frontend/src/node_modules/yaml/LICENSE +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/yargs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-styles/license +sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/cliui/LICENSE.txt +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/is-fullwidth-code-point/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/p-locate/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/wrap-ansi/license +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/yargs-parser/LICENSE.txt +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/LICENSE.txt +sha256 30877d17f7e38530d46b49fb375ee98ce2e8b085b3ee72d4c2888710416ef139 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/p-locate/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/strip-ansi/license +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs/LICENSE +sha256 b303783d5eb7ca50b853ffa5f145e4e7998fab339831d848f507ca6cd970577a chromium/third_party/devtools-frontend/src/node_modules/yauzl/LICENSE +sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 chromium/third_party/devtools-frontend/src/node_modules/yeast/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/scripts/closure/COPYING +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/devtools-frontend/src/third_party/i18n/LICENSE +sha256 a8ad31b1c3f40dca5a84119351b8fa8ddc868edd77fad8a8ebf6d8f2d16fa4ae chromium/third_party/devtools-frontend/src/third_party/pyjson5/src/LICENSE +sha256 4f5753ce8acf3feafc758599058746d30bda07bc0d4cc3a6a1eb8e039fdba1dc chromium/third_party/dom_distiller_js/LICENSE +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 chromium/third_party/dpkg-shlibdeps/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/emoji-segmenter/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/emoji-segmenter/src/LICENSE +sha256 9021fdb5341ebbb2eb5c771ac5cfac527790673179d3b21a42de1ab2798ec30f chromium/third_party/espresso/LICENSE +sha256 8c6b5b6de8fae20b317f4992729abc0e520bfba4c7606cd1e9eeb87418eebdec chromium/third_party/expat/src/expat/COPYING +sha256 d9c904abd0ead61b3fbaef0a609285548076ff9c3f814cc1cf019c5d7150736d chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt +sha256 a8579e3fc40c11ab147bc299257733eb749cd455010385f7c117f70d7aef24e4 chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt +sha256 857d5f537af3aa164e7a27eda60147d34195e5781abe7b1d358d9fb01e222ae0 chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt +sha256 b4c85cce2b772f27d83f4562c20787057dc6949fcecc820a82c1d2e7047e89c3 chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 chromium/third_party/ffmpeg/COPYING.GPLv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 chromium/third_party/ffmpeg/COPYING.GPLv3 +sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe chromium/third_party/ffmpeg/COPYING.LGPLv2.1 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 chromium/third_party/ffmpeg/COPYING.LGPLv3 +sha256 cb48bf09a11f5fb576cddb0431c8f5ed0a60157a9ec942adffc13907cbe083f2 chromium/third_party/ffmpeg/LICENSE.md +sha256 f45cc81b400a048b56c9edbd4c3317f7a8958463dfd55aa96f268ecfd6baa12c chromium/third_party/flac/COPYING.FDL +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 chromium/third_party/flac/COPYING.GPL +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a chromium/third_party/flac/COPYING.LGPL +sha256 946b733afbaa20a192c8dc022b4e43090e78f28fd293494d1b307f7301552c9b chromium/third_party/flac/COPYING.Xiph +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/flatbuffers/LICENSE +sha256 3112ebbfc0fe10ad40a97672f5590c4292536a28cbfe3506820b15dec70b2258 chromium/third_party/flatbuffers/src/dart/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/flatbuffers/src/LICENSE.txt +sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 chromium/third_party/fontconfig/LICENSE +sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 chromium/third_party/fontconfig/src/COPYING +sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb chromium/third_party/freetype/src/docs/LICENSE.TXT +sha256 cc807e3caa26cdee316bab2ff6fdb508a2f619b74959fe59e513ef6e61635ebe chromium/third_party/fusejs/LICENSE +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 chromium/third_party/gif_player/LICENSE +sha256 8ea14fdc7efee7fe53c79101b97049bd547dc6686cfa05df4f0686146a561423 chromium/third_party/glfw/src/LICENSE.md +sha256 23353f4505b1c8ce4f8f72fc3b11dc74b4a8a7bf95921d93ff77f227c171a710 chromium/third_party/glslang/LICENSE +sha256 7ddbbe34e0371fb18be6ac34cae3424f091901dfe2bebd935b0795a4e7718ebb chromium/third_party/glslang/src/license-checker.cfg +sha256 130b2e98901db02a83e5e83c132b22d22d9279155feb53c49d6471b75af3c352 chromium/third_party/glslang/src/LICENSE.txt +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 chromium/third_party/google-closure-library/closure-deps/LICENSE +sha256 a7fd1637f41b8f56a911c8d11fd6b6b68619879f67256874232ff83c0c63a090 chromium/third_party/google-closure-library/doc/LICENSE +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 chromium/third_party/google-closure-library/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/googletest/src/googlemock/LICENSE +sha256 5e0df8c845c742e76f2f64d2d9ce1b7e74a2422fddbc577ae6a56319083de0bf chromium/third_party/googletest/src/googlemock/scripts/generator/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/googletest/src/googletest/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/googletest/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/google-truth/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/guava/LICENSE +sha256 ca382aa537f8923d6c0991fb976d184a2009eb76080313bf10dcecdc9311f0dd chromium/third_party/gvr-android-keyboard/LICENSE +sha256 f54c49d3ff865458c5d3c68c3367a1f6e0d7b3f686f8c88a6a563ef90f84ad9e chromium/third_party/gvr-android-sdk/LICENSE +sha256 96e5bbd81970983d666e702fa56f67dfd2fdaa363b8a4266e8d98847374cd7c8 chromium/third_party/hamcrest/LICENSE +sha256 beb3f017ceb41387667f78237a7cecf84defa0ed257c505894663d6a9f13211b chromium/third_party/harfbuzz-ng/src/COPYING +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/harfbuzz-ng/src/src/ms-use/COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 chromium/third_party/hunspell/COPYING +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 chromium/third_party/hunspell/COPYING.LESSER +sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f chromium/third_party/hunspell/COPYING.MPL +sha256 b794aa78066400af1be3d3fb3f89c4dddc680786f14dc4e3d23a0b2848054984 chromium/third_party/hyphenation-patterns/LICENSE +sha256 a03fed9ab6321742903f3f0095b389ce811c4cfeb3f671ddc8d33da57dc92493 chromium/third_party/hyphenation-patterns/src/pt/LICENSE +sha256 610809f1586ee4d22468f1e97c256153cea8be7a662193db70d6ca424e0f17c8 chromium/third_party/iaccessible2/LICENSE +sha256 a412a53925efc6b50800bf8519a2e033949243d5a5a8c5422bae8a5007ad09c8 chromium/third_party/iccjpeg/LICENSE +sha256 d18e75f216f177d41304f5e94c2cba7d1bf9f8f8583a0777cceb5cca0c5ad137 chromium/third_party/icu4j/LICENSE +sha256 25e21013a7bc2fad735e28c5278a120e4c7f1c327c8c8b9b4df1751748cddbb2 chromium/third_party/icu/LICENSE +sha256 c62d7697c03979f5056d28b338fafc7a1152820f7b379adf4a9d88cd37160f96 chromium/third_party/icu/license.html +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/third_party/icu/scripts/LICENSE +sha256 8c6db340475136df3c1201d458fa5755698eace76e510471ecc9d857d6083dac chromium/third_party/ijar/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ink/LICENSE +sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 chromium/third_party/inspector_protocol/LICENSE +sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 chromium/third_party/isimpledom/LICENSE +sha256 ed8d7a24769ac9d57d08769b5f8be27519dd8811d06b0995dbe8ca6714e96d08 chromium/third_party/jacoco/LICENSE +sha256 33b6816eb449962d307495946519ed78cef8743819f6f1d60e8b3d4e86c38b1c chromium/third_party/javalang/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/jetifier_standalone/LICENSE +sha256 7975c0027cfa5d08253fbb6ff4676acc38248bd5e046d0dbab3d810971e97970 chromium/third_party/jinja2/LICENSE +sha256 76c45ece83a26117f86f4e349e7df118708e061e87225328fb478ce1e8b3eb86 chromium/third_party/jsoncpp/LICENSE +sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a chromium/third_party/jsoncpp/source/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/jstemplate/COPYING +sha256 71a19392a0eb3255ab2055ed978bb0f93865cea84d31a3510eaffb74d8981e7f chromium/third_party/khronos/LICENSE +sha256 ccc19f1da0798ed666609b65a5b44dd8b3abe6fc08b9c0592eb76e82e174db19 chromium/third_party/leveldatabase/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libaddressinput/LICENSE +sha256 c9a5bd7c8cc1267ddacdc5228c68ecd811cf6d74286e9141bc80d8af2eb1a025 chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libaddressinput/src/LICENSE +sha256 4764a286d8b2faeaf42f4418e7d7a28d58fc8fd4d00a3d0a7f44b0a4099de7f2 chromium/third_party/libaom/source/libaom/LICENSE +sha256 043dcfd059386f9facd376351b2bd79325778744aa442177390cdfcca54babed chromium/third_party/libaom/source/libaom/third_party/fastfeat/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/libaom/source/libaom/third_party/googletest/src/googletest/LICENSE +sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf chromium/third_party/libaom/source/libaom/third_party/libwebm/LICENSE.TXT +sha256 ff6c857ce2708e87701323078aef115c1872a1f80a9649f86dc899b48083bc60 chromium/third_party/libaom/source/libaom/third_party/vector/LICENSE +sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 chromium/third_party/libaom/source/libaom/third_party/x86inc/LICENSE +sha256 0b711483921350723ddef8dd3e52b10eb79e4877817a2ccf9a48dd2deb7947aa chromium/third_party/libavif/LICENSE +sha256 e0ba04d4885bf25b03e20c8078e5f4b241bfe6a941d4a9bcc14cab09e2c27e62 chromium/third_party/libavif/src/LICENSE +sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f chromium/third_party/libbrlapi/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libgav1/src/LICENSE +sha256 d56bafdaeaa793331a29e9766b7efe66524c98533da798a57201e291863ef625 chromium/third_party/libgifcodec/LICENSE.md +sha256 37d8bfba91b745693ea58f846f2f1276229745adf532974b73c1911cfd144241 chromium/third_party/libipp/LICENSE +sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 chromium/third_party/libjingle_xmpp/LICENSE +sha256 7d8683a7f048e715e08b4cada8b7f0d9a6ab8afad88ed09c1143ef764ecbc0f2 chromium/third_party/libjpeg_turbo/LICENSE.md +sha256 3bf128851aff9f392953276ea8ade3e41da0f40b853fde58ec21034aa91ccc31 chromium/third_party/libovr/LICENSE +sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b chromium/third_party/libpng/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libprotobuf-mutator/src/LICENSE +sha256 a1a33180d02960ab1c5de36cf20b1a2f0fe9888d83826ad263da5db52f1b183b chromium/third_party/libsecret/LICENSE +sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae chromium/third_party/libsrtp/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libsync/LICENSE +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 chromium/third_party/libudev/LICENSE +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a chromium/third_party/libusb/src/COPYING +sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 chromium/third_party/libvpx/source/libvpx/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE +sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT +sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f chromium/third_party/libvpx/source/libvpx/third_party/libyuv/LICENSE +sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE +sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf chromium/third_party/libwebm/source/LICENSE.TXT +sha256 6de6fe48ff7b249a51ec5522d1af618dd50effc6f030fd24e17878566ad2ca5d chromium/third_party/libwebp/LICENSE +sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd chromium/third_party/libxml/src/Copyright +sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 chromium/third_party/libXNVCtrl/LICENSE +sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 chromium/third_party/libxslt/src/Copyright +sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f chromium/third_party/libyuv/LICENSE +sha256 0d4077a7055ead389c4c5a9a6ac4bb8b784fc6e9e37be2caf544fcceed26cb16 chromium/third_party/lottie/LICENSE +sha256 6e3e0a978f1e136cb3efb89702f4314671581a0c70c9a52447669e00f7b129e8 chromium/third_party/lzma_sdk/LICENSE +sha256 c3b124673c93872156757a934c75b498d68eec09510e25e549d9dc2013776499 chromium/third_party/mako/LICENSE +sha256 0bbe88228fd63d20ec097f64e58d5a0a465123ae139140a18d406c60b48824b5 chromium/third_party/markupsafe/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/material_design_icons/LICENSE +sha256 536284e40c611f371f6ce5d74efac37a20d993cd3af96259b9b9e20b1669ff1e chromium/third_party/mesa_headers/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/third_party/metrics_proto/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/microsoft_webauthn/LICENSE +sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 chromium/third_party/minigbm/LICENSE +sha256 8610954adbca6c6b85d8b1ae5613b44b0014e437d32fcad6683bb27541411686 chromium/third_party/minigbm/src/LICENSE +sha256 4919cfb14a73cd64fcef67b107613970cf1659a09aa675dba31314f373bc7204 chromium/third_party/minizip/src/lib/bzip2/LICENSE +sha256 87642305968765a4030fd202ff7006afa67274da7f9bde84506e51ae58ecc2b4 chromium/third_party/minizip/src/LICENSE +sha256 bd5663836feb58ffb7d0e6b9e62010f4c3399f2bb0a4cf6514a15d597bbdd577 chromium/third_party/mocha/LICENSE +sha256 380893a2f01aea5c3328b1a8b08cdc488bf236916abac3af0d1f1a5d2634c31a chromium/third_party/mockito/LICENSE +sha256 d47e8390fb0d7ad4a18f26aedd6283c7ab6b5b4fabab536ccb4db7f9f6d90c08 chromium/third_party/modp_b64/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/motemplate/LICENSE +sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 chromium/third_party/mozilla/LICENSE +sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 chromium/third_party/nasm/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/nearby/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/nearby/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/netty4/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/netty-tcnative/LICENSE +sha256 0cd1bd4b934ffdc5e7f1bcfa9d08bd17295e5414bdca99c06b1036278b01f0b1 chromium/third_party/node/LICENSE +sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 chromium/third_party/objenesis/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/ocmock/License.txt +sha256 8bed129a6a15e631c93a624985e631eb62a55f7e072b78f4e1c3dde7c745283d chromium/third_party/one_euro_filter/LICENSE +sha256 a5a7cf90fe5ac9763baad852cf69cf9d9b89bff934a679fdc5c8fcecaeba9a25 chromium/third_party/opencv/src/LICENSE +sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb chromium/third_party/openh264/src/LICENSE +sha256 34a5c58db7cc4d3265d14a9aa26e38067fe114311d8bec31f909d1c240e626c4 chromium/third_party/openscreen/src/LICENSE +sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b chromium/third_party/openscreen/src/third_party/mozilla/LICENSE.txt +sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e chromium/third_party/openscreen/src/third_party/tinycbor/src/LICENSE +sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 chromium/third_party/opus/src/COPYING +sha256 7efb4989e0cd1b256229bdf2f09300c5d14e35db0e7476bfb87fac243498273d chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt +sha256 0d74de3c3cd3196a9ed1bc612cfd5f81d7509d66c4be34a50f99d61bd1ad00d4 chromium/third_party/ots/LICENSE +sha256 9dd8d2fb95ba862a5d166a167682c1c67a209acd3bf09b6fd03f76d3579729bc chromium/third_party/ow2_asm/LICENSE +sha256 76621fcfb65adfd6602b700708b74c8e20f3325b32f1a54bec83a5cf7c679f53 chromium/third_party/pdfium/LICENSE +sha256 32759d1397d8f7b9e15ece146e4038b22b90e93b4935b5a840bcef4d2ba5ea55 chromium/third_party/pdfium/third_party/bigint/LICENSE +sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b chromium/third_party/pdfium/third_party/libpng16/LICENSE +sha256 c5b14f5a3814d2e57b9bb9520dcf57a2c3817b65c4f989e5c82e332c82af1038 chromium/third_party/pdfium/third_party/pymock/LICENSE.txt +sha256 00564d497642465d7f96d109f38ff144997f0abc04ef167410f6b172ad5e92cd chromium/third_party/perfetto/LICENSE +sha256 80f13607677e9932bf08e5f0bc025f8d77bde813d62bf3d5465c709025710d3d chromium/third_party/perfetto/src/trace_processor/python/LICENSE +sha256 9f98bab33648b77578d85ac0f1d1c3941a72aa6d7e65015ba181f2fe804bb85d chromium/third_party/pexpect/LICENSE +sha256 a46200592eb193853527250da098e6bb0c75424e7a2c7db8da526c4f301c3d88 chromium/third_party/pffft/LICENSE +sha256 dd4930c619afd8527591353c7d3d1c1d7f4bf62ed1cb411f4f507dbdee7738a2 chromium/third_party/ply/LICENSE +sha256 d6c873c08a8806f08fdafe1aa00ba38837f6ac29f91d6b26510614b0df2001e0 chromium/third_party/ply/license.patch +sha256 24699c6858472311aa9acc6c2b7112ff9de6e7792569158ba9e439deb0529ef6 chromium/third_party/polymer/LICENSE.polymer +sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 chromium/third_party/polymer/v1_0/components-chromium/polymer2/LICENSE.txt +sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 chromium/third_party/polymer/v3_0/components-chromium/polymer/LICENSE.txt +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/private-join-and-compute/src/crypto/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/private-join-and-compute/src/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/private-join-and-compute/src/util/LICENSE +sha256 432959ed8cca3b44d8dd8dda9c8bf84ef982aa0cfdf9782ad9cdedc4e1146f8b chromium/third_party/private_membership/LICENSE +sha256 294f58267c6f473c4ce7270bf5c8d34b2003cb43804552459654c36553431276 chromium/third_party/proguard/LICENSE +sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d chromium/third_party/protobuf/LICENSE +sha256 2ab28b982a7f3150e1597befaa87e1636b9973c80aef3752597945d270c4c4e4 chromium/third_party/pycoverage/LICENSE +sha256 f8d0c347a0dcc6ebe1671640dfae8d2411b6ded892e06a6764f8208b218b2af4 chromium/third_party/pyelftools/elftools/construct/LICENSE +sha256 f8c8ccecdbb044fd6fa1a586c596a055fb2b14fb3e335d8ed282db58d80b7410 chromium/third_party/pyelftools/LICENSE +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 chromium/third_party/pyjson5/src/LICENSE +sha256 318cea263a2fb726d767e2777771a431a3220008e6940dd5138a235a1fc498fc chromium/third_party/pystache/LICENSE +sha256 956c3b678228a216142df38d039bba56ee6509d3298e7a4b8dd5bc3eaa80fe33 chromium/third_party/Python-Markdown/LICENSE.md +sha256 5a2954f05e7fcc1bf240a3b58534f974760b5aae02438ce875c9c7fe0bdb4cf9 chromium/third_party/pywebsocket3/src/LICENSE +sha256 c903100da706172066fa1b6f02eba60f202fea63036492d2c4a01267e32aa7a8 chromium/third_party/qcms/src/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/quic_trace/src/LICENSE +sha256 38751245389e1e23f73e6f5384b5cbe7fa972cc4410c5adc9c04b082a0b9561a chromium/third_party/quic_trace/src/third_party/fonts/LICENSE +sha256 8991cd11befec7c6a63662700f03c0cc42e864b6e77c7e70b80297c951a7f0ff chromium/third_party/quic_trace/src/third_party/glew/LICENSE.txt +sha256 f98f3db81b4dd3873d8672117e409286142cfae9b7673ab6d7aab4bae1527d20 chromium/third_party/qunit/LICENSE +sha256 68834f116f8ff545f05d14753357b620748156d60ee36b26beab4cb3f317efe4 chromium/third_party/r8/LICENSE +sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 chromium/third_party/re2/LICENSE +sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 chromium/third_party/re2/src/LICENSE +sha256 e479bcdfa777738226b4282bf8536cc5416a25cec3100cbe210b8be4d1e2ed84 chromium/third_party/requests/LICENSE +sha256 e2f59ff41d9d03adc3dcf3deff170f8c8cf4a6eb4a9b174762a7656d23200ffa chromium/third_party/rnnoise/COPYING +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/robolectric/LICENSE +sha256 19c9b910bec5a4f2c420747d1bf81e975ffdb1377ad91c5d9b1e8dd3e38f4c17 chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt +sha256 a7436c952fa2dc0701860cf4187d1e8e8e6de6720dec0ae9e0b641bc50eebced chromium/third_party/robolectric/licenses/javolution.license.txt +sha256 5b6ac717e37db4f6d17bda7791f4ce3f99947aeb21e6e72b705aa3d1ee2de480 chromium/third_party/robolectric/licenses/pivotal.labs.license.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/s2cellid/LICENSE +sha256 3f941b3b89cf7b8370ceb83cc76d2120d471b58735d8ca60238a751a48d7f72f chromium/third_party/schema_org/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/securemessage/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/securemessage/src/LICENSE +sha256 2534ec1a8b4d0c28c4fc8e4712dec2c693681e3261241d35302d0fd9abe02ea7 chromium/third_party/shaderc/src/kokoro/linux/license_check_docker.sh +sha256 5f832ba83b10050e308cdd072b5de1d873a25b4248c0ab58a0c52420276e06d2 chromium/third_party/shaderc/src/kokoro/linux/license_check.sh +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 chromium/third_party/shaderc/src/LICENSE +sha256 085e979c8a83de3843aeaa49d57c74327c0e35da177339b54b353e32e63b0ca9 chromium/third_party/shaderc/src/license-checker.cfg +sha256 b5a00e94f058edc87e05978329b55730d8689abe61205d9018443d03de4f07da chromium/third_party/shaderc/src/third_party/LICENSE.glslang +sha256 47e20ce182bc68fab1a0cfb129b03c326aaf4f2b6b7905aa9d376d31018bd29f chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools +sha256 f1e9c0fdbee5f3a99152331418fd2ff44c08800486896667c1912ca5edf76f9e chromium/third_party/shaka-player/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/shell-encryption/src/glog/LICENSE +sha256 bcf29b4fd3ec2cb5f9d40a0866da446f6da62170d2ccedf4aeca9cf9406dd20c chromium/third_party/shell-encryption/src/LICENSE +sha256 bcf29b4fd3ec2cb5f9d40a0866da446f6da62170d2ccedf4aeca9cf9406dd20c chromium/third_party/shell-encryption/src/prng/LICENSE +sha256 bcf29b4fd3ec2cb5f9d40a0866da446f6da62170d2ccedf4aeca9cf9406dd20c chromium/third_party/shell-encryption/src/testing/LICENSE +sha256 33c9a2fe619e1200937629f318895898ffcd1bf7d0ddd39adc382c030925e61e chromium/third_party/simplejson/LICENSE.txt +sha256 b25948e48c44312d04ffc626a9d52cae7c04539a1a8e0c1be47b7bfa0da03e1d chromium/third_party/sinonjs/LICENSE +sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 chromium/third_party/six/LICENSE +sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 chromium/third_party/six/src/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/include/third_party/skcms/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/include/third_party/vulkan/LICENSE +sha256 5f787c1dee3c56547f09ccc2906ab5f5293c4d8dd6c8654e573216c38e908dbd chromium/third_party/skia/LICENSE +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/modules/canvaskit/canvaskit/LICENSE +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/modules/pathkit/npm-asmjs/LICENSE +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/modules/pathkit/npm-wasm/LICENSE +sha256 5366e97b4478f15a1e2fd7e6094337426597df28de50cd9fed3f2e7e87f1229e chromium/third_party/skia/third_party/etc1/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/third_party/skcms/LICENSE +sha256 e21477eed484b07902a861a1b18d1e4ecd3e6f22fa81e2410f0770cfb67290e8 chromium/third_party/skia/third_party/vulkanmemoryallocator/include/LICENSE.txt +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/third_party/vulkanmemoryallocator/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/third_party/wuffs/LICENSE +sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 chromium/third_party/smhasher/LICENSE +sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 chromium/third_party/snappy/src/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/spirv-cross/spirv-cross/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/spirv-headers/LICENSE +sha256 9b243f6f0bf44e295ff411a0f7b7642d1d0dff7cdc42507e9f7206f439e51b5a chromium/third_party/spirv-headers/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/SPIRV-Tools/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/SPIRV-Tools/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/SPIRV-Tools/src/utils/vscode/src/lsp/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/sqlite4java/LICENSE +sha256 06545a6ec25fbbff6c62f205f94a35be49e38f33bea827a8cfb07d7b82e4b083 chromium/third_party/sqlite/LICENSE +sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 chromium/third_party/sqlite/src/autoconf/tea/license.terms +sha256 9c6479123f32a1ed50d9a0af203dfe8972e65035b0cdeef436b5f8d0924517fe chromium/third_party/sqlite/src/LICENSE.md +sha256 033d0150b3bd78b36894c88fcc68da0c3f2e661d3b3485e8cc9a61b2c2bf7895 chromium/third_party/subresource-filter-ruleset/LICENSE +sha256 28113a6e9e2fd7584187c738a7c5484452a1c383307a1741bec50a73262fac08 chromium/third_party/sudden_motion_sensor/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/swiftshader/LICENSE.txt +sha256 ad4672b403488876635d2b455918f74b829d478da868ffc0c621a00fc99195f5 chromium/third_party/tcmalloc/LICENSE +sha256 81ebf38708899097aacaac9723679b3ffa17640c14cd3193c46b75197de18b2c chromium/third_party/tcmalloc/vendor/COPYING +sha256 81e32dadf795edf077c0e567963e598b64f3c6b1ffa8ebac907bf01d3e7b2c1a chromium/third_party/test_fonts/LICENSE +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 chromium/third_party/text-fragments-polyfill/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/tint/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/tint/src/LICENSE +sha256 bb04dd22ee55fe3c24ee2a3c82bd1efdebbd965f7c178224a2977edc2457bb2f chromium/third_party/tlslite/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/turbine/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ub-uiautomator/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ukey2/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ukey2/src/LICENSE +sha256 0a90947436dc17f047f8c95b64593e2cc9a2b6d4ff6618f2f0beba5a9b568c14 chromium/third_party/unrar/LICENSE +sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a chromium/third_party/unrar/src/license.txt +sha256 6629d6edceffa9c68f4245b817137d2265fdab1e98068893420edb6689ccce9e chromium/third_party/usb_ids/LICENSE +sha256 7a4a31e05391919c05a996f09fc20ffc80c69af72cb3e69ac71b70c825fbdd1d chromium/third_party/usrsctp/LICENSE +sha256 fa53711b25af4b9a9b8dadfea3cb38166ec4b96760c8d62b284055554537d9ef chromium/third_party/usrsctp/usrsctplib/LICENSE.md +sha256 5a7f623a50e384aaf6d2ced068339ddf93d0a50d3a0ecbe86f125b07804ecc78 chromium/third_party/v4l-utils/COPYING.libv4l +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/vulkan_headers/LICENSE.txt +sha256 2a2f96ba4c477fde4c90bb294c5ff9141b0a6ae51989261837e63124b9fd5313 chromium/third_party/vulkan_memory_allocator/LICENSE.txt +sha256 602cb6e9e4c2697d1c5b25f8e55485b596a704d834d477b49b76795074210d9c chromium/third_party/vulkan_memory_allocator/premake/LICENSE.txt +sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 chromium/third_party/wds/LICENSE +sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 chromium/third_party/wds/src/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/web-animations-js/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/web-animations-js/sources/COPYING +sha256 d51b39e7ed0391e75e0add75d1a162fdf4a0d6b49fba7635ed0ac4e16f324773 chromium/third_party/webdriver/COPYING +sha256 6d83e980b9b843cf6fe24cb94714d00f9b0cf69cb00d0e3b0bed018d49d6f24f chromium/third_party/webdriver/LICENSE +sha256 fec8eb2896784d7b9ef5bcb1c64b97156455a3c88df4fdd36538fb55c0decac4 chromium/third_party/webgpu-cts/src/LICENSE.txt +sha256 e30fbe869f1fa489901bb08888a919c5d50ddb5be6d16b9e4a2cb226263dd7db chromium/third_party/webgpu-cts/src/standalone/third_party/jquery/LICENSE.txt +sha256 18aab5821763cc13966eb59d4026fdb8f9f4e846fefbb429d43da0cb133dd2c4 chromium/third_party/webpagereplay/LICENSE +sha256 25b7731b70c77ecd5f3bb19303fbaa99be18860f81d44f71da670fdcd04829db chromium/third_party/webrtc/common_audio/third_party/ooura/LICENSE +sha256 41d791701e3e1c1073470403de7e342442d1e6a2af72681023b13a2f45f2125c chromium/third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE +sha256 26d2d16d48825edf1194cb3907c5c0b7d01f9c5527eb0fefb949c51f304635e9 chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md +sha256 21a742dd8cceebb1d5df7c6f945c75ccf1ad4f0d4c17e404517500c1a7de86a4 chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE +sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 chromium/third_party/webrtc/LICENSE +sha256 1f7a086c17fa2bdbe27d3eb6424a64b9bea9d7db89a4e220fef52ca24addb9e9 chromium/third_party/webrtc/license_template.txt +sha256 6fdbabd2c95c5efc6f1e46175278239afb9343120a3022ed0e0cb04267a6aeb3 chromium/third_party/webrtc/modules/third_party/fft/LICENSE +sha256 b29c8f13f91feb2dab7d6655444369fa9f29c0d7121a52dab90ff97e40343a85 chromium/third_party/webrtc/modules/third_party/g711/LICENSE +sha256 61862327fd00d6a4deb2c1276577782c2500f4fe103e072018fc369d8e37e876 chromium/third_party/webrtc/modules/third_party/g722/LICENSE +sha256 641007ea2810c4cfc10a5d1a44db33983ec1409305e953c7119cc2457ec5c536 chromium/third_party/webrtc/modules/third_party/portaudio/LICENSE +sha256 a508773ebf00f8c777a910e941e5fd0072195843e1b72a90eb8787d26d4ab1d7 chromium/third_party/webrtc/rtc_base/third_party/base64/LICENSE +sha256 905bc5ab1c66eea2669aee6cb5185488508264df6492f71ae1a6595180ff8c2b chromium/third_party/webrtc/rtc_base/third_party/sigslot/LICENSE +sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 chromium/third_party/webxr_test_pages/LICENSE +sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 chromium/third_party/webxr_test_pages/webxr-samples/js/cottontail/LICENSE.md +sha256 47754d3064047c300714af25258efa782e144fdf1e835bfd1edbeb7f8f4ef9e4 chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/dat.gui/LICENSE +sha256 71819b5a0a080b6a3d35b3579817c2c558abcf3c92bb5abc052145a7c106573e chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/gl-matrix/LICENSE +sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 chromium/third_party/webxr_test_pages/webxr-samples/LICENSE.md +sha256 88d855a8e07a39df758fe9964f5d04d5c2fab39416e566e9d91588e254ca27dc chromium/third_party/weston/LICENSE +sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 chromium/third_party/weston/src/COPYING +sha256 a34730970264d619f352598bf30295ad505a60fc3a493add8aa851645ce3ea47 chromium/third_party/weston/src/data/COPYING +sha256 20de375707692099b3132084695377ce5fec0aec05813dedcce094b8eda44386 chromium/third_party/widevine/LICENSE +sha256 d42a3e363d99da22b860ab760faa37dfa9781d74c9f3ed634d05109081616513 chromium/third_party/woff2/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/wuffs/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/wuffs/src/LICENSE +sha256 c5ffbfeaa501071ceeb97b7de2c0d703fdaa35de01c0fb6cbac1c28453a3e9fd chromium/third_party/xcbproto/src/COPYING +sha256 b244f73c3d21edaf44ec253b9a7c389ec43313c417f52f8b71914b0c40d87325 chromium/third_party/xdg-utils/LICENSE +sha256 1cf71700f3403ca26f002e2dc1d1861dcb3d2af9bb9d98d529a903be9d7f06fc chromium/third_party/xstream/LICENSE +sha256 942755efa272dbfbcd7afea7a38556801e36c16dcad002d572378367094a2593 chromium/third_party/zlib/LICENSE +sha256 1744e977d24e20e77b1e97d745fe43779430a1b84247b6c0e89d16e116e7ff92 chromium/third_party/zxcvbn-cpp/LICENSE.txt +sha256 a4c8c5abf82b36c22f8c9f8bd6229584f32eb9f7a2429dd9664dda43e63e9fda chromium/tools/grit/third_party/six/LICENSE +sha256 63f0c0039b477857e54708d9501ed91b7a46e828ac3c623bedbc318129ceb174 chromium/tools/origin_trials/third_party/ed25519/LICENSE +sha256 f5b244982699ca9fe5cc8fa8a7c08cf5dee5d3a0c8896892899e5df13316e1b7 chromium/tools/page_cycler/acid3/LICENSE +sha256 7389900fb68d920c6cb21b70702a2bc240523472a3fd091023d6135cf01d1c5c chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE +sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b chromium/url/third_party/mozilla/LICENSE.txt +sha256 f10a1808e442ae7dbfecf6b54ae4de84193a768770e189a67d5f397730acdbc9 chromium/v8/LICENSE +sha256 e7115e18444dae09d17f361ddc365fb1d342640fe500796209c63f7c80dfae10 chromium/v8/LICENSE.fdlibm +sha256 6a585a9f466654abc8fc0829d56b1bc987e3a073d31faa03bba37d33640a23cd chromium/v8/LICENSE.strongtalk +sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca chromium/v8/LICENSE.v8 +sha256 36ffd9dc085d529a7e60e1276d73ae5a030b020313e6c5408593a6ae2af39673 chromium/v8/src/third_party/siphash/LICENSE +sha256 3f712e5fbdfdbd5ee7d9b8c8152580220df55de47f4eba2f26c95c4de19ad096 chromium/v8/src/third_party/utf8-decoder/LICENSE +sha256 ebf25b8ce59c9e8883acd1ca75b6fc121937ca034f666c4077d2be739d2e1622 chromium/v8/src/third_party/valgrind/LICENSE +sha256 cfe7599e45f340a35b4635090382897ca1526bc49b5e1889047f0168d131c415 chromium/v8/src/third_party/vtune/LICENSE +sha256 15137d6c822e3ab097093a33c3a39a9df699f373f6438867ad534ff60762a947 chromium/v8/third_party/colorama/LICENSE +sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 chromium/v8/third_party/inspector_protocol/LICENSE +sha256 76c45ece83a26117f86f4e349e7df118708e061e87225328fb478ce1e8b3eb86 chromium/v8/third_party/jsoncpp/LICENSE +sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 chromium/v8/third_party/v8/builtins/LICENSE +sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 chromium/v8/third_party/wasm-api/LICENSE +sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f gn/base/third_party/icu/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 gn/LICENSE +sha256 eb7e9ab9690124c5c9f42bdc81383d886a3dede26345b6ed15bbad7caf81f7ea ninja/COPYING diff --git a/package/qt5/qt5webengine-chromium/qt5webengine-chromium.mk b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.mk new file mode 100644 index 00000000000..2b061815b5c --- /dev/null +++ b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# qt5webengine-chromium +# +################################################################################ + +QT5WEBENGINE_CHROMIUM_VERSION = 0ad2814370799a2161057d92231fe3ee00e2fe98 +QT5WEBENGINE_CHROMIUM_SITE = $(QT5_SITE)/qtwebengine-chromium/-/archive/$(QT5WEBENGINE_CHROMIUM_VERSION) +QT5WEBENGINE_CHROMIUM_SOURCE = qtwebengine-chromium-$(QT5WEBENGINE_CHROMIUM_VERSION).tar.bz2 +QT5WEBENGINE_CHROMIUM_PATCH_DEPENDENCIES = qt5webengine-chromium-catapult +QT5WEBENGINE_CHROMIUM_INSTALL_TARGET = NO + +include package/qt5/qt5webengine-chromium/chromium-latest.inc + +QT5WEBENGINE_CHROMIUM_LICENSE = BSD-3-Clause, GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception + +define QT5WEBENGINE_CHROMIUM_COPY_CATAPULT + rm -rf $(@D)/chromium/third_party/catapult + cp -a $(QT5WEBENGINE_CHROMIUM_CATAPULT_DIR) $(@D)/chromium/third_party/catapult +endef +QT5WEBENGINE_CHROMIUM_POST_PATCH_HOOKS += QT5WEBENGINE_CHROMIUM_COPY_CATAPULT + +$(eval $(generic-package)) diff --git a/package/qt5/qt5webengine/0002-Add-python3-build-support.patch b/package/qt5/qt5webengine/0002-Add-python3-build-support.patch new file mode 100644 index 00000000000..18fc1c1de02 --- /dev/null +++ b/package/qt5/qt5webengine/0002-Add-python3-build-support.patch @@ -0,0 +1,168 @@ +From 1e299a6c9eeb08555208b76623e453d8ab96b6e3 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Fri, 4 Feb 2022 16:16:35 -0700 +Subject: [PATCH] Add python3 build support + +Adapted from: +https://github.com/archlinux/svntogit-packages/blob/6edf5f1aaea952d046aff89a2e0175258fe77361/trunk/qt5-webengine-python3.patch + +Signed-off-by: James Hilliard +--- + configure.pri | 13 ++++++------- + mkspecs/features/functions.prf | 6 +++--- + src/buildtools/config/support.pri | 10 +++++----- + src/buildtools/configure.json | 18 +++++++++--------- + 4 files changed, 23 insertions(+), 24 deletions(-) + +diff --git a/configure.pri b/configure.pri +index e072961f..6fec7b20 100644 +--- a/configure.pri ++++ b/configure.pri +@@ -13,8 +13,7 @@ defineTest(isPythonVersionSupported) { + python_version = $$split(python_version, ',') + python_major_version = $$first(python_version) + greaterThan(python_major_version, 2) { +- qtLog("Python version 3 is not supported by Chromium.") +- return(false) ++ return(true) + } + python_minor_version = $$member(python_version, 1) + python_patch_version = $$member(python_version, 2) +@@ -52,10 +51,10 @@ defineTest(qtConfReport_jumboBuild) { + qtConfReportPadded($${1}, $$mergeLimit) + } + +-defineTest(qtConfTest_detectPython2) { +- python = $$qtConfFindInPath("python2$$EXE_SUFFIX") ++defineTest(qtConfTest_detectPython) { ++ python = $$qtConfFindInPath("python$$EXE_SUFFIX") + isEmpty(python) { +- qtLog("'python2$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") ++ qtLog("'python$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") + python = $$qtConfFindInPath("python$$EXE_SUFFIX") + } + isEmpty(python) { +@@ -63,11 +62,11 @@ defineTest(qtConfTest_detectPython2) { + return(false) + } + !isPythonVersionSupported($$python) { +- qtLog("A suitable Python 2 executable could not be located.") ++ qtLog("A suitable Python executable could not be located.") + return(false) + } + +- # Make tests.python2.location available in configure.json. ++ # Make tests.python.location available in configure.json. + $${1}.location = $$clean_path($$python) + export($${1}.location) + $${1}.cache += location +diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf +index 2750d707..9fda13d0 100644 +--- a/mkspecs/features/functions.prf ++++ b/mkspecs/features/functions.prf +@@ -39,11 +39,11 @@ defineReplace(which) { + + # Returns the unquoted path to the python executable. + defineReplace(pythonPath) { +- isEmpty(QMAKE_PYTHON2) { ++ isEmpty(QMAKE_PYTHON) { + # Fallback for building QtWebEngine with Qt < 5.8 +- QMAKE_PYTHON2 = python ++ QMAKE_PYTHON = python + } +- return($$QMAKE_PYTHON2) ++ return($$QMAKE_PYTHON) + } + + # Returns the python executable for use with shell / make targets. +diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri +index e7f869a1..1bf2c5d7 100644 +--- a/src/buildtools/config/support.pri ++++ b/src/buildtools/config/support.pri +@@ -21,7 +21,7 @@ defineReplace(qtwebengine_checkWebEngineCoreError) { + !qtwebengine_checkForGperf(QtWebEngine):return(false) + !qtwebengine_checkForBison(QtWebEngine):return(false) + !qtwebengine_checkForFlex(QtWebEngine):return(false) +- !qtwebengine_checkForPython2(QtWebEngine):return(false) ++ !qtwebengine_checkForPython(QtWebEngine):return(false) + !qtwebengine_checkForNodejs(QtWebEngine):return(false) + !qtwebengine_checkForSanitizer(QtWebEngine):return(false) + linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false) +@@ -51,7 +51,7 @@ defineReplace(qtwebengine_checkPdfError) { + !qtwebengine_checkForGperf(QtPdf):return(false) + !qtwebengine_checkForBison(QtPdf):return(false) + !qtwebengine_checkForFlex(QtPdf):return(false) +- !qtwebengine_checkForPython2(QtPdf):return(false) ++ !qtwebengine_checkForPython(QtPdf):return(false) + !qtwebengine_checkForSanitizer(QtPdf):return(false) + linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false) + linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false) +@@ -143,10 +143,10 @@ defineTest(qtwebengine_checkForFlex) { + return(true) + } + +-defineTest(qtwebengine_checkForPython2) { ++defineTest(qtwebengine_checkForPython) { + module = $$1 +- !qtConfig(webengine-python2) { +- qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.") ++ !qtConfig(webengine-python) { ++ qtwebengine_skipBuild("Python is required to build $${module}.") + return(false) + } + return(true) +diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json +index 88d1790c..032aa665 100644 +--- a/src/buildtools/configure.json ++++ b/src/buildtools/configure.json +@@ -295,9 +295,9 @@ + "label": "system ninja", + "type": "detectNinja" + }, +- "webengine-python2": { +- "label": "python2", +- "type": "detectPython2", ++ "webengine-python": { ++ "label": "python", ++ "type": "detectPython", + "log": "location" + }, + "webengine-winversion": { +@@ -374,7 +374,7 @@ + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex +- && features.webengine-python2 ++ && features.webengine-python + && features.webengine-nodejs + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) +@@ -400,7 +400,7 @@ + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex +- && features.webengine-python2 ++ && features.webengine-python + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) + && (!config.linux || features.webengine-host-pkg-config) +@@ -423,12 +423,12 @@ + "autoDetect": "features.private_tests", + "output": [ "privateFeature" ] + }, +- "webengine-python2": { +- "label": "python2", +- "condition": "tests.webengine-python2", ++ "webengine-python": { ++ "label": "python", ++ "condition": "tests.webengine-python", + "output": [ + "privateFeature", +- { "type": "varAssign", "name": "QMAKE_PYTHON2", "value": "tests.webengine-python2.location" } ++ { "type": "varAssign", "name": "QMAKE_PYTHON", "value": "tests.webengine-python.location" } + ] + }, + "webengine-gperf": { +-- +2.25.1 + diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in index 4e923c7f315..542f212dfc4 100644 --- a/package/qt5/qt5webengine/Config.in +++ b/package/qt5/qt5webengine/Config.in @@ -32,24 +32,36 @@ config BR2_PACKAGE_QT5WEBENGINE depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_HOST_NODEJS # v8 (a chromium 3rd-party) compiles its internal host-tools with the # same word size as the target. For 32-bits targets, it adds the -m32 # flag (for 64-bits, it adds the -m64 flag). # https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037 select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_LCMS2 + select BR2_PACKAGE_LIBEVENT select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNSS select BR2_PACKAGE_LIBVPX select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LIBXSLT + select BR2_PACKAGE_MINIZIP select BR2_PACKAGE_OPUS + select BR2_PACKAGE_RE2 + select BR2_PACKAGE_SNAPPY select BR2_PACKAGE_WEBP select BR2_PACKAGE_WEBP_DEMUX + select BR2_PACKAGE_WEBP_MUX select BR2_PACKAGE_QT5BASE_DBUS select BR2_PACKAGE_QT5BASE_EGLFS select BR2_PACKAGE_QT5BASE_FONTCONFIG + select BR2_PACKAGE_QT5BASE_HARFBUZZ + select BR2_PACKAGE_QT5BASE_JPEG select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_PNG select BR2_PACKAGE_QT5BASE_WIDGETS select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK @@ -57,9 +69,11 @@ config BR2_PACKAGE_QT5WEBENGINE select BR2_PACKAGE_QT5QUICKCONTROLS2 select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES select BR2_PACKAGE_QT5WEBCHANNEL + select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_XLIB_LIBXKBFILE if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB @@ -74,7 +88,7 @@ config BR2_PACKAGE_QT5WEBENGINE be made fully editable by the user through the use of the contenteditable attribute on HTML elements. - http://doc.qt.io/qt-5/qtwebengine-index.html + https://doc.qt.io/qt-5/qtwebengine-index.html if BR2_PACKAGE_QT5WEBENGINE diff --git a/package/qt5/qt5webengine/host-python-wrapper.in b/package/qt5/qt5webengine/host-python-wrapper.in new file mode 100644 index 00000000000..3400be1d069 --- /dev/null +++ b/package/qt5/qt5webengine/host-python-wrapper.in @@ -0,0 +1,3 @@ +#!/bin/sh +LD_LIBRARY_PATH="@HOST_DIR@/lib" \ +exec @HOST_DIR@/bin/python "$@" diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash index 6a631c0feb1..1d2b70c4f6d 100644 --- a/package/qt5/qt5webengine/qt5webengine.hash +++ b/package/qt5/qt5webengine/qt5webengine.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwebengine-everywhere-src-5.15.2.tar.xz.sha256 -sha256 c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0 qtwebengine-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 fb7abcf88d4336d55565627e18b33df1855fefb0f12e24931b6a7decbe60913b qtwebengine-v5.15.8-lts.tar.bz2 # Locally calculated sha256 f34787ef0342c614b667186a6ec2f5d6b9d650e30142a2788a589a89743e88e9 LICENSE.Chromium @@ -8,1000 +8,3 @@ sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENS sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 9ae1959e86bd49b9680f78e0b49d4e52ae88a3f234d497e175e42a7e8ed59216 LICENSE.LGPL3 - -# Locally calculated with: -# for i in $(find src/3rdparty/ -type f \( -iname 'license*' -o -iname 'copying*' -o -name 'APPLE_LICENSE' -o -name 'Copyright' -o -path '*/license_texts/*' -o -path '*/licenses/*' \) -a -not -name '*.cc' -not -name '*.py' -not -name '*.pyc' -not -name '*.h' -not -name 'LICENSE.sha1' -not -name 'licensecheck.pl*' -not -name 'license.after' -not -name 'license.before') ; do echo -n "sha256 " ; sha256sum $i ; done | sort --key=3 -sha256 3ed00dd93c75655599456c83cba2f69c6824fd53f24fc24206ba27b65057709d src/3rdparty/chromium/base/third_party/cityhash/COPYING -sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca src/3rdparty/chromium/base/third_party/double_conversion/LICENSE -sha256 96e7ccbf8d17e319dd77c4ebd4965b64a820bbcc3142a2478fbf95af77417b6a src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE -sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f src/3rdparty/chromium/base/third_party/icu/LICENSE -sha256 9ad1d4223b80349f3d3ab9cec92f93431b9da14a1b5d41de468ce054a28cf8aa src/3rdparty/chromium/base/third_party/libevent/LICENSE -sha256 d55a403514532af12dc2fbfb2e41900090a5dd6c7c76c8e4d9b20bcc737eac35 src/3rdparty/chromium/base/third_party/nspr/LICENSE -sha256 90b2201c340cee36b40a443f949d9eb416f0a0d204c32d350aff87fedeb67ae8 src/3rdparty/chromium/base/third_party/superfasthash/LICENSE -sha256 538edc6f52c563cf06eca1bac8dd785ff60ef5a371a950265700d5d40386db6e src/3rdparty/chromium/base/third_party/symbolize/LICENSE -sha256 79955cd80438f041387eb080f2675394e36a806b8b17eca63a4bc568d839509e src/3rdparty/chromium/base/third_party/valgrind/LICENSE -sha256 c45766baef552c59eeb1fdfbbc690e52e4cd5b135dfd325f21bdfe8ddfe28ce6 src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE -sha256 18351de3d7e2dc469cc83e77d38a3e25d010251e34eb348bbd1a76275e313997 src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE -sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 src/3rdparty/chromium/buildtools/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/LICENSE -sha256 212c5a071f61512786b5e5840b3d70c85e017f3f82939ad4d4a870fc48b33477 src/3rdparty/chromium/LICENSE.chromium_os -sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 src/3rdparty/chromium/mojo/public/LICENSE -sha256 bed70fc84f1bea2b4b144564b9a0f9a5a3bc7b0d78f6e62092aeb689cac56bdd src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE -sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 src/3rdparty/chromium/net/third_party/nss/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/net/third_party/quiche/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/net/third_party/uri_template/LICENSE -sha256 834ee20e8fc3235722ed801bae30cc539c2775be656ff9cc2810fe674e53d5ec src/3rdparty/chromium/ppapi/LICENSE -sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 src/3rdparty/chromium/third_party/abseil-cpp/LICENSE -sha256 bf4da21bd20bcfb5b60b7ecc67fa864a79be049e21d6178076887f178dd6c71a src/3rdparty/chromium/third_party/angle/LICENSE -sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 src/3rdparty/chromium/third_party/angle/src/common/third_party/smhasher/LICENSE -sha256 86ec6953794503942b70fcd4f35b565d44f63f703b7037ce44dad965c4aaae91 src/3rdparty/chromium/third_party/angle/src/common/third_party/xxhash/LICENSE -sha256 a08ba10adec47027ef8078848729837b1c5a42f140718d7afd65c23f1eeec392 src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE -sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE -sha256 336f505f8d5aa73ea40b4d798dde86953e9c1f6525757f1d7f18120fea09bb1d src/3rdparty/chromium/third_party/angle/src/third_party/volk/LICENSE.md -sha256 837402bd25fad9b704265801ca3f92566a98157c1f9a7acd6f446299ba1c305a src/3rdparty/chromium/third_party/angle/third_party/rapidjson/src/bin/jsonschema/LICENSE -sha256 394faaedb93c1da8ecbd61322518834908fee64381117e01a611bf9fac20baa6 src/3rdparty/chromium/third_party/angle/third_party/rapidjson/src/contrib/natvis/LICENSE -sha256 a140e5d46fe734a1c78f1a3c3ef207871dd75648be71fdda8e309b23ab8b1f32 src/3rdparty/chromium/third_party/angle/third_party/rapidjson/src/license.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/angle/third_party/vulkan-headers/src/LICENSE.txt -sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece src/3rdparty/chromium/third_party/angle/third_party/vulkan-loader/src/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/angle/third_party/vulkan-tools/src/LICENSE.txt -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 src/3rdparty/chromium/third_party/angle/tools/flex-bison/third_party/m4sugar/LICENSE -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/angle/tools/flex-bison/third_party/skeletons/LICENSE -sha256 bfec18debedcb337f8af53f143ccf0b1575d0b7c30deaee137f10397eca0d353 src/3rdparty/chromium/third_party/angle/util/windows/third_party/StackWalker/LICENSE -sha256 b23e682fda7310afe43505ed6041919ccff8f9e0c6799ebd7542cbcef11102e3 src/3rdparty/chromium/third_party/apple_apsl/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/arcore-android-sdk-client/LICENSE -sha256 584e795ba5833279c327245594d6dc216fc664144fa3626a0bdf136bc00af76c src/3rdparty/chromium/third_party/arcore-android-sdk/LICENSE -sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e src/3rdparty/chromium/third_party/axe-core/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/bazel/LICENSE -sha256 0518cf49c09398259d54fcfff0b5fd36456162c6439886660e53627b3073ef22 src/3rdparty/chromium/third_party/blanketjs/LICENSE -sha256 a661d10f8f194b1963a75bb4d308f17b078cc064624313a556902d89705f6876 src/3rdparty/chromium/third_party/blink/LICENSE_FOR_ABOUT_CREDITS -sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 src/3rdparty/chromium/third_party/blink/renderer/core/LICENSE-APPLE -sha256 7555fa34bc131a75ca56d65c40cc1ea8f9515d23e353d4c15d58573a042f7805 src/3rdparty/chromium/third_party/blink/renderer/core/LICENSE-LGPL-2 -sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce src/3rdparty/chromium/third_party/blink/renderer/core/LICENSE-LGPL-2.1 -sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 src/3rdparty/chromium/third_party/blink/renderer/platform/testing/data/third_party/Noto/LICENSE_OFL.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/blink/renderer/platform/testing/data/third_party/Roboto/LICENSE.txt -sha256 5a7b465d39b5e018bc40cc34162176269f7c476989cb4dbcf0ec0b81701545a7 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/LICENSE.md -sha256 88ec6a6c8eafa3b9757e745783938bef3f5e4d5e3c76b1db576aa3ab520e5e1d src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/enum/enum/LICENSE -sha256 663f9253e13519b82ab4a6b1caab6bed05aada70517f28cd0254be8a9fa19ed6 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/h2/LICENSE -sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hpack/LICENSE -sha256 16a39991619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/html5lib/LICENSE -sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hyperframe/LICENSE -sha256 b7529b8c07171a78a8c36c3283905528e4812945d977d125eb926e8ccbf245b6 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/six/LICENSE -sha256 df336397e09e764416fc33b555703b1cdddd3a0cfea8a013ad1cad565c8be2f5 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wptserve/LICENSE -sha256 60bd7c54856bf9387221bde5ab55d516d7cea15870d0fed69406bcd1c8ec7c9d src/3rdparty/chromium/third_party/boringssl/src/LICENSE -sha256 0c125a4dab5ab869473e6491db22f6c0a7f8a4de58588d03bb2b16c0c8ebd7de src/3rdparty/chromium/third_party/boringssl/src/third_party/fiat/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/boringssl/src/third_party/googletest/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/boringssl/src/third_party/wycheproof_testvectors/LICENSE -sha256 5740985669353ef52e0f320413ff68dc62b6c23a596cd78b6d6b80764f1c50ab src/3rdparty/chromium/third_party/bouncycastle/LICENSE -sha256 f9752a0a4ac5215eaa3a4f0ec29cd52563c883de5d7870525cc0bc3a21cb8e15 src/3rdparty/chromium/third_party/breakpad/breakpad/LICENSE -sha256 4d03f91b94e0db3bdc9ddaf0060dd41cc94a2096094fbc1417713a2f059658c7 src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/curl/COPYING -sha256 d8eaba95b8d03c5912da9b5823de2c920e84a993133039a22fc8100f9edb33a1 src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/libdisasm/LICENSE -sha256 015b2d5cedb3024339446a63963d073fa831544cf253c5ddd713fccc8d83e939 src/3rdparty/chromium/third_party/breakpad/LICENSE -sha256 3d180008e36922a4e8daec11c34c7af264fed5962d07924aea928c38e8663c94 src/3rdparty/chromium/third_party/brotli/LICENSE -sha256 98f8746a39f9a42da35df7046a15b56d0e2f4f76eefc352d67f1bf76e85360b4 src/3rdparty/chromium/third_party/bspatch/LICENSE -sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 src/3rdparty/chromium/third_party/byte_buddy/LICENSE -sha256 0154852797380b35195ecd829582f1efd00bfe244eab427a6bbf1e3f3dd57b1f src/3rdparty/chromium/third_party/catapult/common/eslint/LICENSE -sha256 65d4ed698fb5cbcd1d44c78bc6a02c5bf1da00df5395d2d6ac43bdafe6bc20dc src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/third_party/rcssmin/bench/LICENSE.cssmin -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/third_party/rcssmin/LICENSE -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/third_party/rjsmin/LICENSE -sha256 984fb04a16a9f1e0145ffd891125dc366a01cd921f58c9b0369be400c720790d src/3rdparty/chromium/third_party/catapult/third_party/polymer/components/polymer/LICENSE.txt -sha256 f77133324f35589f9f170473456321fe76aa35b750293cb8a475e26afa8f2bac src/3rdparty/chromium/third_party/catapult/tracing/LICENSE -sha256 17afb4516438c26ee15213c5a082206340d976a68472b8eab2499d7bce4debec src/3rdparty/chromium/third_party/catapult/tracing/third_party/chai/LICENSE -sha256 1920d2326ebbad34dcbd9681b4fe4926f113aa5e7dc9a92fceb456d859ee142e src/3rdparty/chromium/third_party/catapult/tracing/third_party/d3/LICENSE -sha256 5a2ed53cc5975569e9fa146c4245eaf53377dc1a88bdcb923da6487e53cba55e src/3rdparty/chromium/third_party/catapult/tracing/third_party/devscripts/COPYING -sha256 e8b80a53d0f95a3cf0f992f8cfc6b3911a7f32f47e0e4a8d4fd66582eeae9484 src/3rdparty/chromium/third_party/catapult/tracing/third_party/gl-matrix/LICENSE.md -sha256 be3fd324066af702fad2a9ef05664ce9665495ebc1824fd7b28960802ec7891e src/3rdparty/chromium/third_party/catapult/tracing/third_party/jpeg-js/LICENSE -sha256 aae03c510d63d96de72d37ce5650fbbac63b322d09ac0ee0df50b8950329e840 src/3rdparty/chromium/third_party/catapult/tracing/third_party/jszip/LICENSE.markdown -sha256 1f194a987fa1dc60e4bcf5e04e0fc03fff8f2ee587c52136adb2cebb397250b8 src/3rdparty/chromium/third_party/catapult/tracing/third_party/mocha/LICENSE -sha256 a04665b3b2de56c66730c1f720f528175739e4104f79073614aa611da1e85539 src/3rdparty/chromium/third_party/catapult/tracing/third_party/pako/LICENSE -sha256 ef5b39dfcafe08323262e3f51a3a9de649978a55ed8ef8eef3c451f2c1e78a53 src/3rdparty/chromium/third_party/ced/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/ced/src/LICENSE -sha256 3d1d2669d0ba87069b5e202f106193c4eb0e140a2aead31dca9670a0581dd979 src/3rdparty/chromium/third_party/chaijs/LICENSE -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 src/3rdparty/chromium/third_party/checkstyle/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 -sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 src/3rdparty/chromium/third_party/cld_3/LICENSE -sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 src/3rdparty/chromium/third_party/cld_3/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/closure_compiler/compiler/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/closure_compiler/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE -sha256 212846e0145aa50fb3a5aef254a370311a93acf6c1e792e47e0068d64c8c3885 src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE -sha256 4b45cbe16d7b71b89ae6127e26e0d90a029198ca5e958ad8e3d0b8bbed364d8b src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/cpp-httplib/cpp-httplib/LICENSE -sha256 f40ee07401827b6ac9cf0aee1aaffb00e42a3f2c729f9c83f96a3daafef5d944 src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/glibc/COPYING.LIB -sha256 e5881019d8766c1e88a5fe1dbca4ba40c78011d41fcb18f6e9f50df60182685b src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE -sha256 a1f30b77c01e0995fa32a00119e00749e8731ee8a3c4c3549bce74083c72b0b6 src/3rdparty/chromium/third_party/crc32c/src/LICENSE -sha256 e9427cf6abc4eaeda0bcd094fca46af4067970079f426b65d5cbacb87bff6366 src/3rdparty/chromium/third_party/cros_system_api/LICENSE -sha256 09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE -sha256 7a3cb0e5055874e67db9aa2d5fe26de23204fa994ffbad198901ffe9c812a717 src/3rdparty/chromium/third_party/d3/src/LICENSE -sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 src/3rdparty/chromium/third_party/dav1d/libdav1d/COPYING -sha256 2da4494d2a8b5c742afbb905b10621e40129284c977ac138e3081ed0d9d83aed src/3rdparty/chromium/third_party/dav1d/LICENSE -sha256 b77e952e3feaebd807d27784988b19fb60f83f9fc9a0c03e6aedbbffd5d6f8ee src/3rdparty/chromium/third_party/dawn/LICENSE -sha256 43452b94e6aa0c2d076ad25b87f580c11571689d52f3aa1a1f7bdcab31a0bd15 src/3rdparty/chromium/third_party/decklink/LICENSE -sha256 5a2ed53cc5975569e9fa146c4245eaf53377dc1a88bdcb923da6487e53cba55e src/3rdparty/chromium/third_party/devscripts/COPYING -sha256 a3f2fe2ac6b471aa80c737c5d283dd049bdc903a73835ee6d4d2cac02fdd53bf src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/cm/LICENSE -sha256 c6daa4e8737d15aa7140b4f7eb82b9d4829bd2fd27132c43e282203b9c67dfc4 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/cm/LICENSE_python -sha256 13110d66c514a7890c4b388a353bc08fa094fe13d5ed7f3a222cc0a0caa3fd17 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/cm_modes/LICENSE -sha256 9fea307fe830918e12b6822f943f4b59bd7715614efb68e834a141ca758bd5f2 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/dagre_layout/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/formatter_worker/acorn/LICENSE -sha256 f734f7708439c275f3599e2df7de84cd9f360bd13620a30ab376af6c9deb213b src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/LICENSES.deps -sha256 b60e9b66bf4f9ab3aa5d1d20b18410a632fd624cf4ce3aa1eb839087caf35958 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/fabricjs/LICENSE -sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/LICENSE -sha256 55efdea1a9fe503ed3cd89c2776d3d2131795defaebea421754b428333fbfba3 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/LICENSE -sha256 1a5ae5ab221af81b68f4f4c156c0d2e044851272c5e2e6c07d685946557878ea src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/package/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/LICENSE -sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 src/3rdparty/chromium/third_party/devtools-frontend/src/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/abbrev/LICENSE -sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/accepts/LICENSE -sha256 cfa72b62b9ae173078823a3796b25c027a9071046a263beddf966df67018ce06 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/acorn-jsx/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/acorn/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/acorn-walk/LICENSE -sha256 e85e131fa4ed25538ff1f4962ced1fb6f68b079bd9164a790597a0f30b8fd030 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ajv/LICENSE -sha256 ea97081f183590d87376f5fe73b7150c79863a73167f47ed87c41e191f89eb0b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/amdefine/LICENSE -sha256 10e7818a114cf8b702a2263ad424b3cd9d34254df6039e47bb3f412000b0ae00 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-colors/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-styles/license -sha256 0798f37cff4a3f438c071316e41f94ffe110116a313ab0fc4f8caa07218f1f0f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-wrap/LICENSE -sha256 5a3b0007c4203f10fe11b3fe8747253eb994f135e10b73e1f88ada941af09c6e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/anymatch/LICENSE -sha256 0b61ac8491c66669491fdb328200203822b91d2a0461f5cd898fe0944ea97e41 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/append-transform/license -sha256 c8442419dc614089ea022b3da6bfc089b41a58fb7b9030d1e651f2f36189dce2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/argparse/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/array-find-index/license -sha256 f4a48aa8354a257785aa534bab2ac5ff2c2a98cd59cdf4a637bb68ee185683f7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/arr-diff/LICENSE -sha256 3672fb6ef1c214578dfee689643516c2685f61ab08d130517ca8ea24f383a840 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/arr-union/LICENSE -sha256 e80373b1ed0f33cecc47173b4b0c6afe0d0318b32dbd84116a1a957e3f7f43a8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/asap/LICENSE.md -sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/assert/LICENSE -sha256 0798f37cff4a3f438c071316e41f94ffe110116a313ab0fc4f8caa07218f1f0f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/assign-symbols/LICENSE -sha256 69dee148a2cc470554dfa7142e830662062394d0fe67cddd379aba90dc60d6b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/astral-regex/license -sha256 a374b737c41b30b1ec04c5fcc17d1b853f008f217cc43a9dbea441abd9afde70 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ast-types/LICENSE -sha256 d9fed24f132985934fca621c4dc1dfb53e03377a24d0568d424383d7eaa9c0ac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/async/LICENSE -sha256 e5a57cdd72e279910183799153134d0e749a5664fc459c8eacbecf72532b7db3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/async-limiter/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/code-frame/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/generator/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/generator/node_modules/source-map/LICENSE -sha256 4e32449bd377d3dbced215dfd66dc234994c28e561aef73dbd29d6b5a1a00484 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-function-name/LICENSE -sha256 517913953e6a69da35bccb95c2d801f70d73e8f267cdad1a1615bfe8974ad3ad src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-get-function-arity/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-split-export-declaration/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/highlight/LICENSE -sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/parser/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/template/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/traverse/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/types/LICENSE -sha256 a1bd5deadb6a06dd74efa852c1b8b23f63b67f2214fbe9c8bd591da51da69268 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/balanced-match/LICENSE.md -sha256 f3eca6ff762533fa5a77caf954a143e48afa204668cf97dce758c45a9e006be3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/base64-arraybuffer/LICENSE-MIT -sha256 de6059eadd0c1327f30a22663392e57d36b97b0ac9bb48f4875c8008ba823c30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/base64id/LICENSE -sha256 5b37224c080cdcc97c871ada971c224e9926370fe74f11b539aa1cf9f3b1aca1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/base64-js/LICENSE -sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/binary-extensions/license -sha256 150d7707d4532d57bdb5718637ff62fff1f075921c5ffaa084df27f900bfea76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/.bin/license-checker -sha256 7d3e0d8d5604632b94ff9aea3001153c506566cd1c6c7bb37000acdb1fb37417 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/blob/LICENSE -sha256 87092fe7ffd1e92eba5d1dd39b73a73fdb4fdd4df3474beacc3d9f6b08ece82c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/bluebird/LICENSE -sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/body-parser/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/ms/license.md -sha256 68f12f6e2c33688699249c01d8f9623c534da20aa71989c57b061b7bc1676d14 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/brace-expansion/LICENSE -sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/braces/LICENSE -sha256 82ba430b068b75a41438568e1e4ed1f96e02699c9b51735154af03e9b59d6b0d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-aes/LICENSE -sha256 dc09aa476634db0dbae1a296f099d5bd39e27c96b876d4d20b236fa565002bb6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-cipher/LICENSE -sha256 e54f1a2edadb1d8d3a482bcd0712acad2947337ae35e40ca34b22eb77940863f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-des/license -sha256 672eb2c2ad92bee7ef6c894f1431a66d7e8fdd7965cfdca5aa4fc206951a7c9c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-rsa/LICENSE -sha256 a0e06d86a5a17341fa6134ee30ef18d73251cf32b8a577cdfd6aad6ad34af61d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-sign/LICENSE -sha256 ddd770379e07bf0574dfaa4485be80a23b3248b36d09f33ec79276c09b829daf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-zlib/LICENSE -sha256 0e91be39cb38da2972a6e0649dcd4e8a49595996b3ab4b04e72ef9ea71de9079 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browser-resolve/LICENSE -sha256 fd595a25dd3c90492a8cc3b888aa9ae47630173181efed17f71b4c689d99d0ec src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browser-stdout/LICENSE -sha256 14275f5c8139d02054c5259d52a88ccbba662a86af18c30f071c8d082dc6004c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/buffer-from/LICENSE -sha256 06bafa45fdad2579ba0e43b0c9b2c6290287c99c4203c300254a462b38a307f6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/buffer/LICENSE -sha256 51ad9defd71911dbe413daf277bcb2e1077743f5ee5ae48d0a3b90a5b7486f55 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/buffer-xor/LICENSE -sha256 f057f36739d53d228a746de4440c1e0c644ecde06d6beab45337d39c9d12a393 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/builtin-status-codes/license -sha256 e3b44af066615de2ea48d18d852d0762f18c0b2efcea714fa48a6f729d405b85 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/bytes/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/callsites/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/camelcase-keys/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/camelcase/license -sha256 b181da80336ff9dd1043fc8be1a764d7382363433319aa872e4d2cb5ce2a3066 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chai/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chalk/license -sha256 7df1d6cf5b4112cbe277a84269e02ae631603a9a3a21b8328a34c30b8c3dd1ab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chardet/LICENSE -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/check-error/LICENSE -sha256 db9ba183d4cbfbaf6c27db2effddbb84b46340c33ed32a066bc0b144a3ea1298 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chokidar/LICENSE -sha256 2c46f1325bd3822a33c1e2c1e49c18d13127ac00f9c8b3b79196c7a126f73cd9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/glob-parent/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cipher-base/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cli-cursor/license -sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cliui/LICENSE.txt -sha256 33fa5470b2195e410b075a32516b6ad27784b8a8ff74ae90cfd60c14b76e6644 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cli-width/LICENSE -sha256 3fb0857ef0133928cf72c88dfc464e931486e88778961eedec25585e2321507f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/clone/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/code-point-at/license -sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/color-convert/LICENSE -sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/color-name/LICENSE -sha256 77ffe84006509949525fd57df06f4a6a80ad862c5314b66ab5bb6ac4cee6280b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/colors/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/combine-source-map/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/combine-source-map/node_modules/convert-source-map/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/combine-source-map/node_modules/source-map/LICENSE -sha256 04512a63dce4d2d506ad612dc0bd7681ccf6e3655f7b6eaef7dfac8323d1ec0b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/commander/LICENSE -sha256 d682394bef4a34d279b0237feecf145abadd6ec1e41cbb094592b8cc9fc2f34b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/compare-versions/LICENSE -sha256 0f0b408b8b871d983e767528c6dc51e0ad7efaa022890c449fe2b2e1ee24dbb7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/component-emitter/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-map/LICENSE -sha256 96b29c9aaa611a05349b362d48c2ffce0966fe408401a2d1a157be312c035b5f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/LICENSE -sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/node_modules/readable-stream/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/node_modules/safe-buffer/LICENSE -sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/node_modules/string_decoder/LICENSE -sha256 9913ff70f23424d49fda2b05902cfb72f17ae1e48aaf898c349a284289a74751 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/connect/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/ms/license.md -sha256 257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/content-type/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/convert-source-map/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/convert-source-map/node_modules/safe-buffer/LICENSE -sha256 c02110eedc16c7114f1a9bdc026c65626ce1d9c7e27fd51a8e0feee8a48a6858 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cookie/LICENSE -sha256 722e1193901ad1ed4460753dded483d68ca2ad0528c67f86f76abc46b9aa25f5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/core-js/LICENSE -sha256 33b734d60042d0fe0c92dd1fc1e874193a1c899ec3e276a2eb935d2d0bf5b710 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/core-util-is/LICENSE -sha256 d4ad87ad0bb7d57c17ae73b46e064243b972edc3036c38c222172c9600a20b56 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/create-ecdh/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/create-hash/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/create-hmac/LICENSE -sha256 aaa78451b6fecd1b9c4594c796c133c0e90cad100372ff8bc6de615e9ef9adf1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cross-spawn/LICENSE -sha256 6134c69bc22c8289252e70de3af20bd67071233459055be74d83acfcc4865e7e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/crypto-browserify/LICENSE -sha256 0b61ac8491c66669491fdb328200203822b91d2a0461f5cd898fe0944ea97e41 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/currently-unhandled/license -sha256 53ecc31e1632c07980cb0c97dcaf3d1d20323d21194b92150987a4fecf517b3c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/custom-event/LICENSE -sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/date-format/LICENSE -sha256 e38ad5868b1e32ab44c63da6e58b8b58604d8d1dd90c40d171f2feaa756b088b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/dateformat/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/debug/LICENSE -sha256 5f9e03a50e10f262f7bd356fe323b12f461f14dae6762611285a0d7479340ae7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/debuglog/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/decamelize/license -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/deep-eql/LICENSE -sha256 f2042f3634c4136d06b5139c9c6aefb81a3a462b514548bc1845953233dfba98 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/deep-is/LICENSE -sha256 d7c67af00ef4ecd9bee06e010bb1fcd8d5f0ecb02fa1b73fe3ef030a88800d4b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/default-require-extensions/license -sha256 b568428993e6acff80c1214dcc4f7195241772d5b3d23d92ee6bf5406a102896 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/defaults/LICENSE -sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/define-properties/LICENSE -sha256 bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/depd/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/dezalgo/LICENSE -sha256 db6109f994692150ed82cd904bb053c73b97b23678bf52047f747bfec11e1934 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/diffie-hellman/LICENSE -sha256 152f0fb43e953fcf5c56c5bfa4c834bb96b1603e4026319c613dd3e734f305cf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/diff/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/diff-match-patch/LICENSE -sha256 545278991ee5f1fb4372f913ec44837cff9395175140f8f21118074330a659cb src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/di/LICENSE -sha256 5c272e206669b79ee20fa89fa8fa888d5b56186f16c55a5614753ad3412e2ae9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.closure-compiler -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.esprima -sha256 8ffaa1b117e1c280023c8ef997a84a461133b972c8bade4579050e3e41835902 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/domain-browser/LICENSE.md -sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ee-first/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/emoji-regex/LICENSE-MIT.txt -sha256 7585ea7bba616ccbbe43cb54ecb67956688c3c5641bb84f3099a652a73193afe src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/encodeurl/LICENSE -sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/end-of-stream/LICENSE -sha256 bb996a5665c8e18041251e833e52b590f0da5050c1878aa3e3a47f71bb16fa6d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/ms/license.md -sha256 8e0349070612cb59fc604588974e193d8363f0a08752caf31d3f270a609d346a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/ms/license.md -sha256 2a190271977c2ad47c85a9e08cc05d078fe9293643061d466d2ae89ce8e5c2f1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-parser/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ent/LICENSE -sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/error-ex/LICENSE -sha256 c2c31e096c312163e9a7a908a5209f335eb4c3381d6c404dd1e1b91fe65707fc src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es6-object-assign/LICENSE -sha256 da852e222c72bc04a0a9046aac35f2e5d33775a8ea9f1d8f59b1cfd195ef9bb0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es6-promise/LICENSE -sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es-abstract/LICENSE -sha256 255aa557a1f55224ce522f311629c0bf20854740a67955cefd798fbd1d3d1ded src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escape-html/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escape-string-regexp/license -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escodegen/LICENSE.BSD -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escodegen/node_modules/esprima/LICENSE.BSD -sha256 db83f2ede67f36cfab1ea0721ea2ee97515863e9a65346881f305e430451cc91 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint/LICENSE -sha256 b67ae8fe5f32d0e6164655de53075cba04bb69c23e7d11efcfed6a0fa265ef64 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-mocha/LICENSE -sha256 541c415066b6139f0fb6ad55f633abbc62f0ba6b54543f1ff00c762e76a90239 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-rulesdir/LICENSE.md -sha256 d3a724e2ed749f172ff70b62a1d0631b7d4b0ea273782365a3464d4e2d6b6dbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-scope/LICENSE -sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-utils/LICENSE -sha256 d8bf34ff6d190640a01e7704ad78253fc181bc128949d71273fbbaa12f33c0b4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-visitor-keys/LICENSE -sha256 6273faa0d14a54972c0341a724010eb8cd928ee486745a9eea8cf80680ba5098 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/espree/LICENSE -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/esprima/LICENSE.BSD -sha256 ac68116ae73740de4190892f334992e449a124600924ec761e64319d3aac9e6e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/esquery/license.txt -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es-to-primitive/LICENSE -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/estraverse/LICENSE.BSD -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/esutils/LICENSE.BSD -sha256 3aecc12b1cb28832b5f65ab64291de96568c3f236a74d646281b4491f7bcadbf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eventemitter3/LICENSE -sha256 631987b7616a325a5b97566c232418481ddf7dbb5ecadefb991e791876cc2599 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/events/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/evp_bytestokey/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/execa/license -sha256 97af7428f93afbab9bf79cd09254da1357161794f4255eb1b4599f04dd2d2e7c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extend/LICENSE -sha256 9580cc528a1c38d1560a9d36e34404fe1ea9d8e6f44c596dac2a3104ef63cdab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extend-shallow/LICENSE -sha256 e33b7bc13a0e5ea9ed6718e12e99a5b0b60276162f0195aa7f342397f4b0155d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/external-editor/LICENSE -sha256 77b2de947c65f3062fb347118ca198ca50898ead84a8509d8153fa65741f029b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extract-zip/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extract-zip/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extract-zip/node_modules/ms/license.md -sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fast-deep-equal/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fast-json-stable-stringify/LICENSE -sha256 942a98cb8846a6354266193f173c1354615827fbb7d67f68399599dff12c4d6a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fast-levenshtein/LICENSE.md -sha256 176d95320d565cb034d8323797b6cd6160238f625453687f98aad2085c46c3b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fd-slicer/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/figures/license -sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/file-entry-cache/LICENSE -sha256 99513010b6a19894e01864cba86bf98291bef8251a302d90ab1a572d91ebacc8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fileset/LICENSE-MIT -sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fill-range/LICENSE -sha256 24973d5320410e565ec92f18f73f12af7d97c634d414ba170d119fe3f98904c8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/finalhandler/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/ms/license.md -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/find-up/license -sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flat-cache/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flat-cache/node_modules/rimraf/LICENSE -sha256 95a61f61553614db5421a2cefb17c22ff6b2b4b2206f5bc8913d04f72a22b033 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flat/LICENSE -sha256 5097efeab30293dd7e26d6960b6b94f1aeca958d22f1eca3535c482a891e95a9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flatted/LICENSE -sha256 bfa8a54bb952ccda79f0f1889721d108f5b605babbb2b8a3705ffb52f4132eb7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/node_modules/debug/LICENSE -sha256 99de4c30f4643c00d4895d9c6ade0af4ec43d301449c191f5fbe41b53bb6a13a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fsevents/LICENSE -sha256 1e76029602ae9b21cc4e612db2496d92febed882ba13ba745f8b3309e85f9d39 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fs-extra/LICENSE -sha256 8465b04b67f473341171b5c9c8b2c741a4a395b3f6ed58339b3a4f4db3db7472 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fs.realpath/LICENSE -sha256 e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/functional-red-black-tree/LICENSE -sha256 773e131a7684726005a7e4688a80b4620033bc08499bc1404dd1a1eb3bca725e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/function-bind/LICENSE -sha256 902dbb4154679fb2b8d7c33878183f45b268d01eae5e5033dddaa8852d45f213 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/get-caller-file/LICENSE.md -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/get-func-name/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/get-stream/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/globals/license -sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/glob/LICENSE -sha256 a2a19c04f527f7582fb2e58887f0a90f403732fc6accd7322287f0f5949b489e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/glob-parent/LICENSE -sha256 3672fb6ef1c214578dfee689643516c2685f61ab08d130517ca8ea24f383a840 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/glob-parent/node_modules/is-glob/LICENSE -sha256 2fc5460f1526810979054ecd18cd01349b57f38ea56d1e920afdea34d104540c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/graceful-fs/LICENSE -sha256 8a48a335d7dcc06e3da2bea89220cfe978394b1bc84a3e628e60bc4864917915 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/handlebars/LICENSE -sha256 dc1fcc41f783463ed272ada875a7d3d1baf6c6279e5efada2c4ef2ca72db39e1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has-binary2/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has-flag/license -sha256 898f204abbbbde58c6230a31842c59aeb8040fbcffa924db28e6d0b1d7631a3a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/hash-base/LICENSE -sha256 4fe5fd7b3318def0b74f8bf8c9276403f01da628fa8888822661519d80f237d3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has/LICENSE-MIT -sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has-symbols/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/he/LICENSE-MIT.txt -sha256 c1476ec53119cd4c8370f91f5152ac76312a29b4fae2d49b5e0e0970fe0fa5ee src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/hosted-git-info/LICENSE -sha256 dcb94ff9b1e037a847bc20589dc81a1066d041fd4c16deb18b0fa968c66cf395 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/http-errors/LICENSE -sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/http-errors/node_modules/inherits/LICENSE -sha256 589850dfc0a1d39a97c592d618d5772f84aec2b11c6898e020acb985299f3bab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/http-proxy/LICENSE -sha256 ff151c00207c908581639851dd8504ce4255be0650b2b236edec2aa90342b0cd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/https-browserify/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/https-proxy-agent/node_modules/debug/LICENSE -sha256 ac779f7314c74f232ef847ea86e714abe25cf6eeb5cc97b69451b74e2af6492d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/iconv-lite/LICENSE -sha256 18d45466ba3253deae04667e267a91ea8de8548f18c1125264d1c9db28194cc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ieee754/LICENSE -sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ignore/LICENSE-MIT -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/import-fresh/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/indent-string/license -sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inflight/LICENSE -sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inherits/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inline-source-map/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inline-source-map/node_modules/source-map/LICENSE -sha256 e6c3f1bc47f97cdeef953f6c109b6392be0d059ae94659faf550e61b7a75ebc7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inquirer/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/strip-ansi/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/invert-kv/license -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-arguments/LICENSE -sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-arrayish/LICENSE -sha256 628a0b082ba17df4f4bcb7946d41988891d2b410b25927b995c2f632a0829676 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/isbinaryfile/LICENSE.txt -sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-binary-path/license -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-buffer/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-callable/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-date-object/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/isexe/LICENSE -sha256 4922620a5741e9d1bb43dde132021a982ae7c545eed1c6e00b555d6fe978005f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-extendable/LICENSE -sha256 73b5283588baa142c5baaef5f56d3e8fdea7a30b214e8c5737e87640f882453a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-extglob/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-finite/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-fullwidth-code-point/license -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-generator-function/LICENSE -sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-glob/LICENSE -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-nan/LICENSE -sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-number/LICENSE -sha256 0ead7e8cd8b0bc66a981ee69acaf1297ffa838cfce1b156a039bb24f997c0a27 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/isobject/LICENSE -sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-plain-object/LICENSE -sha256 44191656d296391e0ec97e32f5385f0d02b6f2992694082d22ea04ba0f66f9e4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-promise/LICENSE -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-regex/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-stream/license -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-symbol/LICENSE -sha256 b661867c1d66a1b71ee3a6109159874334cd5c182a80d1bcc7353b5a4c6823c6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-api/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-diff/node_modules/minimist/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-coverage/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-hook/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-instrument/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-report/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-report/node_modules/supports-color/license -sha256 b661867c1d66a1b71ee3a6109159874334cd5c182a80d1bcc7353b5a4c6823c6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-source-maps/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-source-maps/node_modules/rimraf/LICENSE -sha256 d38a14ec66572a5588bba501f05eef0874e3ce929f0ddcb749c7557f4fdcb905 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/LICENSE -sha256 4d3083ec594b158fd6adfdc6c9423ffe0746d2d93cebfb98f1a35b69da78051e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/async/LICENSE -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/escodegen/LICENSE.BSD -sha256 c9d85a24226fa4dd8c0756961de362cee34f6e9b1d19938bd480239950ad9a93 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/escodegen/LICENSE.source-map -sha256 4193a099a2c3ba864dd6b94f37e2fd80757d50796999d65adbca6a8c0f3a8e0a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/esprima/LICENSE.BSD -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/estraverse/LICENSE.BSD -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/glob/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/has-flag/license -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/source-map/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/supports-color/license -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-reports/LICENSE -sha256 f481fe414a74f72c6b37890ad65e1d0b7c3f51be175b6d3e992fdcdb66882bd4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-utf8/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/jsesc/LICENSE-MIT.txt -sha256 a9801fb52ba22ef808682a094da8a7a480584b7ed0dfd0d888ab543616335031 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/jsonfile/LICENSE -sha256 6cf2891dd0e66460f7d2ed83e1e3fe4b4b4c1a8c1f1f96c222a3466ad12ff197 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-parse-better-errors/LICENSE.md -sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-schema-traverse/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-stable-stringify-without-jsonify/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-stringify-safe/LICENSE -sha256 2213d91c606205c71eb051a199478cdc2adde945893404d7f1421436dd6d5cc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/js-tokens/LICENSE -sha256 a07bc24468b9654ce76a547d47a2db282d07733b715db4c73a98bd63961f9550 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/js-yaml/LICENSE -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/js-yaml/node_modules/esprima/LICENSE.BSD -sha256 e3d4ed2aa50e7583730b1531034331ba9093c8bef7414234c7c9306db3858913 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-chai/LICENSE -sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-chrome-launcher/LICENSE -sha256 be13520ed43fa818f7bbe9d3a2beccaf1931421d818d35b42bdae3c127241ed3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage-istanbul-instrumenter/LICENSE -sha256 55c6f6d52a0b60393333dd4e9d385957c7e784517daa9cfbf5b09ec812811eec src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage-istanbul-reporter/LICENSE -sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE -sha256 d38a14ec66572a5588bba501f05eef0874e3ce929f0ddcb749c7557f4fdcb905 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE-istanbul -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/source-map/LICENSE -sha256 6e4e577107740b24ebd73cb813be506861d706129e502ca7160683a5cea4c129 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma/LICENSE -sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/node_modules/minimist/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/rimraf/LICENSE -sha256 2b3adc1e55676b9443f76bdb17e42371de98a4be6abd3ae6e5f3590f6f3e4f6f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-sourcemap-loader/LICENSE -sha256 3c50a3d2df1468f5e7b723d4c931c1c7ba6775740aa1ef9fa49586ddb7b168fd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/acorn/LICENSE -sha256 d9fed24f132985934fca621c4dc1dfb53e03377a24d0568d424383d7eaa9c0ac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/async/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/source-map/LICENSE -sha256 162413c61e0982abe89a06bf7a02ec760dc49a7364d838bd9f01daebb5b95954 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/tmp/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/tmp/node_modules/rimraf/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lcid/license -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/levn/LICENSE -sha256 150d7707d4532d57bdb5718637ff62fff1f075921c5ffaa084df27f900bfea76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/bin/license-checker -sha256 455629980585dfdadbdcbaf846659b65da3dd092ac9bfd10b07717a0e2f84ef5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license-files.js -sha256 37932d5f93a7f9e762346358ae427e703d69fdaae6e7cd67158b35eea91c9eec src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license.js -sha256 adeb5a7f7d027ec14c3698be7a0f248978516ab39ccec4fb70689ba4753cdd67 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/debug/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/nopt/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/load-json-file/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/load-json-file/node_modules/pify/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/load-json-file/node_modules/strip-bom/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/locate-path/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/locate-path/node_modules/path-exists/license -sha256 d778ae0088806b771424967d88efb68f3adb3705c31c3b7c0a052fe2eebd5268 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lodash-deep/LICENSE -sha256 f71e8ed126b46346494aad5486874cd8f0aafe95092ed67d2e3cb6110f939abc src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lodash/LICENSE -sha256 90df9e2220f682e1f77e24b1c0f72d2de18b818096c957a65698e74c41a4826f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lodash.memoize/LICENSE.txt -sha256 66da8b277e527c270de6abc57727c58032267d161a81dbac02c3eed45fd13366 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/log4js/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/log-symbols/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/loud-rejection/license -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lru-cache/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/make-dir/license -sha256 3d3fba5375126ff321d3a51938899d744b1189896618e0f2d088d9e1ebf2822a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/map-age-cleaner/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/map-obj/license -sha256 898f204abbbbde58c6230a31842c59aeb8040fbcffa924db28e6d0b1d7631a3a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/md5.js/LICENSE -sha256 74d8054d56d522bdaa340d3d71130cb204997d523a5292c85ac1264dd77c8d06 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/media-typer/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mem/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mem/node_modules/mimic-fn/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/meow/license -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/minimist/LICENSE -sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mime-db/LICENSE -sha256 8f2658c03422c408b2b2ce4d151decc3b1a6fd3d86e5ca9433777bccdcdf75a2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mime/LICENSE -sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mime-types/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mimic-fn/license -sha256 136fee1129ea96ce18b41c26a72f5d4ba196ee41bfd73b55d0b8509cdda148e9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/minimalistic-assert/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/minimatch/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/minimist/LICENSE -sha256 05991c2e8f070b69ec5b656c2c12fd07cd0153dd157d39b050b82af59b319a01 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mkdirp/LICENSE -sha256 bd5663836feb58ffb7d0e6b9e62010f4c3399f2bb0a4cf6514a15d597bbdd577 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/LICENSE -sha256 94e1923e52409cfd50e97988d9772c0de15f65700097e3227fec367a39e82b94 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ansi-colors/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/debug/LICENSE -sha256 152f0fb43e953fcf5c56c5bfa4c834bb96b1603e4026319c613dd3e734f305cf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/diff/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/find-up/license -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/glob/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ms/license.md -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/supports-color/license -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ms/license.md -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mute-stream/LICENSE -sha256 553d4d20029a24e315b428a1a54a9e109eaa340f2e958a4f50a92362c2c4070b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/negotiator/LICENSE -sha256 811238ba7d85f6fe6b820703a32f92705bcf77bc352ddc3476783491c64a129a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/neo-async/LICENSE -sha256 bd220c219b05e6c22b7c23613ca926f60932d07c9fe141dd6e04b80dbc4b4e52 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/nice-try/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/nopt/LICENSE -sha256 d16b2b8c511d9f2bef8bbf49f0e2a94f032b6b8d181f71c83912c34c116a02e1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/LICENSE -sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/node_modules/resolve/LICENSE -sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/normalize-path/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/npm-run-path/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/number-is-nan/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-assign/license -sha256 a596744eec6b05682ed972bf93937668bbc8da2caed93fbf6510389de019b5c0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object.assign/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object.entries/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object.getownpropertydescriptors/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-inspect/LICENSE -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-is/LICENSE -sha256 5640e5cbe2e9f57f6ccfdd8dbfbeadb875495bdbcb69d2666ce3177ccd0942e4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-keys/LICENSE -sha256 30792070c6ec188caccbadc5ee32c3e33fdc5e9044c2f08cb1d01213e5a01084 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/omit-deep-lodash/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/once/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/onetime/license -sha256 8089bcc08845ec143e5761f4a101a65b8c792a0dedbfeeb90a15560c0b77f768 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/on-finished/LICENSE -sha256 05991c2e8f070b69ec5b656c2c12fd07cd0153dd157d39b050b82af59b319a01 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/optimist/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/optimist/node_modules/wordwrap/LICENSE -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/optionator/LICENSE -sha256 d25d1d6d28c35cb6f358e2833e405c4e53fec2fa24d156323ddea5cd438d3407 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-browserify/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/osenv/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-homedir/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-locale/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-tmpdir/license -sha256 a6859a1cdfa7b6ebcdd52505c41bb72e747675b3e7fe0b908c0ac09280f0ba93 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pad/LICENSE -sha256 a04665b3b2de56c66730c1f720f528175739e4104f79073614aa611da1e85539 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pako/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parent-module/license -sha256 bc5ed4eed738303bf403ec3b7e0a8e76760ef60664ad050a0ff61db23da77e66 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parse-asn1/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parse-json/license -sha256 a41d7b212c43bf90af534ec5d73d24a65e3a8cf17941b6d10e9398346a179698 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parseqs/LICENSE -sha256 15c35ddf8c82a5fc84e3801db12e279b744605d6ad810e1b52ad09832fc71806 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parseuri/LICENSE -sha256 11d017c3b9f1ee3f44caf7203035f0461d5b57e0db8ce1bc03a9af34fa7d3f6b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parseurl/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-browserify/LICENSE -sha256 9c791b69df62b2264d0a846786f82b00bd6943200a0b10eba66a1ba7a7785fc8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-dirname/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-exists/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-is-absolute/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-key/license -sha256 3f4609137f65070541b9214300ea0d640af8192857de0eeb2b03403003d9228a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-parse/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-type/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-type/node_modules/pify/license -sha256 5d45910e7ed82fecc3e29b40a5b3a17ceb609fda19f860aa2ec180d87f4f9d4a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pathval/LICENSE -sha256 a9667a8bf55e7f20cf894cb47774f94ebd4eb366408aafb980f1f6547bcdc10a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pbkdf2/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-defer/license -sha256 7e64acffcb0d20d33f5a86949ffd4a99ae045b10c7332a9c3a58635876c16880 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pend/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-finally/license -sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/picomatch/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pify/license -sha256 6ee0feb1f6ef996ff5a68600f8cf98909cf412d39ef3cdceaefd87d636fa1b7f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pinkie/license -sha256 6ee0feb1f6ef996ff5a68600f8cf98909cf412d39ef3cdceaefd87d636fa1b7f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pinkie-promise/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-is-promise/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-limit/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-locate/license -sha256 f476f01d5da0d8124355eeb79b42b95d2ad2a88d229dbe02b815628760a8cb43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/plugin-error/LICENSE -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/prelude-ls/LICENSE -sha256 f4bbb78fa28677ad9b9c0a4b7a255e23c0b24e619c873ed66a11d47c16c88114 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/private/LICENSE -sha256 59a400d04c5078579acc27ddd6452c1bdf763f9506e01364700935fbb1a7c91b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/process/LICENSE -sha256 ecdccbcf39024f624ded480c01c0b25458e1eca8f26ecf040933865ce56d9a4f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/process-nextick-args/license.md -sha256 d7d2a7786de7c7cfd96f920c6f12927d74e1d2a861ca4498bf465c3bc3f4c21c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/progress/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pseudomap/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-try/license -sha256 db6109f994692150ed82cd904bb053c73b97b23678bf52047f747bfec11e1934 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/public-encrypt/LICENSE -sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pump/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/punycode/LICENSE-MIT.txt -sha256 a1e4522979cd422b42d0b464072eb7d0d218651659f56bf09f8c147384e3f105 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/puppeteer/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/rimraf/LICENSE -sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/ws/LICENSE -sha256 d2f9d2835eb09ccf673e118e4fdc372075437c1787e66c2202912fbe3e5ee9e1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/qs/LICENSE -sha256 cb72d9714ddc21e758d63f423be0caddf909d23ccbb10a2f5201a870818e4f57 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/querystring-es3/License.md -sha256 cb72d9714ddc21e758d63f423be0caddf909d23ccbb10a2f5201a870818e4f57 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/querystring/License.md -sha256 f0606775704212c0b49fb4df8193f7ec190d057551fc857d9f3aaa482b878e29 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ramda/LICENSE.txt -sha256 ddc0dd5947bd2966b9a4cfde098566b011de0acfbe7814536955636ce9e3eced src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/randombytes/LICENSE -sha256 ddc0dd5947bd2966b9a4cfde098566b011de0acfbe7814536955636ce9e3eced src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/randomfill/LICENSE -sha256 f655e6291356ec0de7a8f0e69f294961a2cea86678ec94588be1e6a492e278ab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/range-parser/LICENSE -sha256 c8e6bca7230689d536a3bd7158f66e9c4f89f95d0748743a0370ac229e9023ad src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/raw-body/LICENSE -sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/readable-stream/LICENSE -sha256 dffec71d93f273d2af7b54c6c7e7e70b3289c632ec0d7253210ec21ac336d5ac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/readdirp/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/readdir-scoped-modules/LICENSE -sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-installed/LICENSE -sha256 69be713b3d6c33e0dba76c4d23d986d568593abca04ce47d75162af255d6a345 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-package-json/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-pkg/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/license -sha256 6ca87d1dce5b82873603e566fd83dabe8771fb169013337d4a14bb9bbf794687 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/recast/LICENSE -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/recast/node_modules/esprima/LICENSE.BSD -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/redent/license -sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/regexpp/LICENSE -sha256 aac9937f6a8dbc3328d2b90ab19691333ec4931634ea808673c897e623a9efc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/remap-istanbul/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/repeating/license -sha256 a92e52eb1fa7cd746e3827bf01d3a3589bbc8e1e51348b1da042aad165525ad1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/require-directory/LICENSE -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/require-main-filename/LICENSE.txt -sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/requires-port/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/resolve-from/license -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/resolve/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/restore-cursor/license -sha256 1ce941682a96c7b898ecd125d0f2e22319758ea6f3adbf498a65d649b0f3f7dd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rfdc/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rimraf/LICENSE -sha256 4847d2fd9ed54cc006dd79f5a14fa5dd35eb8274dca511418166e195e277c05b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ripemd160/LICENSE -sha256 cc9426fe569f331f48fd3134b3a03b5bbe3fc7bd25d604be0006bd55a6134cf5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rollup/LICENSE.md -sha256 e5c1364118b39fa98b959138ce4aa4d0e68cfbee12d115e69730579fecb1dc1b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/run-async/LICENSE -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm2015/LICENSE.txt -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm5/LICENSE.txt -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/LICENSE.txt -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/src/LICENSE.txt -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/safe-buffer/LICENSE -sha256 4bc935e71be198c67ddf3c2b5fddb195f6edc182bfc155a96a6db61b44b494b9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/safer-buffer/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/semver/LICENSE -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/set-blocking/LICENSE.txt -sha256 c4b4ad3a5746f1f5249a6dd90396ec519264e1bb02e01e48a6522c48a3a97cb4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/setimmediate/LICENSE.txt -sha256 76d6d1ea0c268da37dd3c961b4fcfb23dee8417fff9e8786d4d44c585b781b69 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/setprototypeof/LICENSE -sha256 58dcf38be1438f739412b87eb70d64bf00e9976d529bb119f700d8b3167924f0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/sha.js/LICENSE -sha256 e6fdf7ac2af533b4436d99aa75df32aa78690510f7d68a3e73e8576967298d2f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/shebang-command/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/shebang-regex/license -sha256 e05b1eaf5b5f99b7ad75cd1f38858ff9a311780b97715ead67936d60bf96aa7e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/signal-exit/LICENSE.txt -sha256 3dc3b3d3a284d871f7f307655c90fb101d73abbf87bbddeefd2f67883353bdbc src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/slice-ansi/license -sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/slide/LICENSE -sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-adapter/LICENSE -sha256 62e2032a1e1458b1d92a62f5fc51be48e08b95062295c91a9f3bd3686809d37e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/ms/license.md -sha256 c10d192d935165dac336ae245f9eef4c42bb37e7c6f5c5f6f7663db778122df1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/ms/license.md -sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/ms/license.md -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/source-map/LICENSE -sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-compare/LICENSE.md -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-correct/LICENSE -sha256 7edb57f7065309027de249642341292a5b21410d5773cc55bba73ff9cf01060e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-expression-parse/LICENSE -sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-ranges/LICENSE.md -sha256 a21ab121cef9bed38553faad40e49b27ae3d2578d07a70956664e681021c9875 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-satisfies/LICENSE -sha256 a4cdda44b5adea4731d53dcae78fb5124f8fd853e994f01e25d8c33a7daf818b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/sprintf-js/LICENSE -sha256 512cfa4d5e7a7569c7ae4dd95241cb6ae2aaf648ef9ebd080c01bd24868d26e9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/statuses/LICENSE -sha256 ff151c00207c908581639851dd8504ce4255be0650b2b236edec2aa90342b0cd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/LICENSE -sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/node_modules/readable-stream/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/node_modules/safe-buffer/LICENSE -sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/node_modules/string_decoder/LICENSE -sha256 a0e6357a5e8ea65827addeb383e0948a1874d2f46bc7feaf6349b7a376ed6e98 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-http/LICENSE -sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/streamroller/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/streamroller/node_modules/debug/LICENSE -sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string_decoder/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimleft/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimright/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string-width/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-ansi/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-bom/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-eof/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-indent/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-json-comments/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/supports-color/license -sha256 37b6932865726cf59cbfb8b32a5c9fd82c834c2deba4d53aa4a6b433ae69cdda src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/string-width/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/strip-ansi/license -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/text-table/LICENSE -sha256 faae57631e1c7d641c3b6f9b110c2a7a28c8b383d08d7796ac472c509f075850 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/through2/LICENSE.md -sha256 e8734448285a2dd773d40136ed5d5e8163a70701dd540cdc796cfca232f67d55 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.APACHE2 -sha256 d72dea1a8cdf3f4dfa2f594253d0c5b37baefc76e806f5ecb0e426393edcd505 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.MIT -sha256 d5f14c3258420dfe5a3b641a143d6e6dd90eabb5962244d937e25699c3a45ec9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/timers-browserify/LICENSE.md -sha256 162413c61e0982abe89a06bf7a02ec760dc49a7364d838bd9f01daebb5b95954 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tmp/LICENSE -sha256 61b82d27e63b14eabc706960aabf6caa1b27d044eb00d7908f92e68085301c3a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/to-fast-properties/license -sha256 a832d679750e49ab433626ab196350b89964b60eb0d3edd3341887c7d5f4c128 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/toidentifier/LICENSE -sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/to-regex-range/LICENSE -sha256 83927d1555a8e1d5ed9896991fbb2b4cdfb64f45f5e12b7446c3bff5cea538d3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/treeify/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/trim-newlines/license -sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tslib/LICENSE.txt -sha256 ed0ff5ab79bc82703690fde4644e352c9ce73e9b890b87ea68b1a1fc5805792b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tsutils/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tty-browserify/LICENSE -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/type-check/LICENSE -sha256 26181ebee1063f3dc6766a3b6d05999a0da058f172eadf2ca5d15105ffd9735a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/typedarray/LICENSE -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/type-detect/LICENSE -sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/type-is/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/chai/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/color-name/LICENSE -sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/LICENSE -sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp/LICENSE -sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/LICENSE -sha256 d3a724e2ed749f172ff70b62a1d0631b7d4b0ea273782365a3464d4e2d6b6dbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope/LICENSE -sha256 e2fc706570305bcb7dfadb1cac951d5934ce0d7331a7a7ff1bbc254dbe1d9ef8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/parser/LICENSE -sha256 635818d8f39384751c8a5f3f3e735022f07afb3ccdb26eb17ff8eca28428f888 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/LICENSE -sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/glob/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/LICENSE -sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/typescript/LICENSE.txt -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/eslint-visitor-keys/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/estree/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/filesystem/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/json-schema/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/mocha/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/node/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/puppeteer/LICENSE -sha256 b00ae96f0815ae8fa49c09044467306e98cd89d6770c535fb596ccbd350c6ab4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/uglify-js/LICENSE -sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ultron/LICENSE -sha256 3fda5977c0904e226190b4e21d64340c1731e2142d6fe5f3dee0090a216b8b63 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/universalify/LICENSE -sha256 1a526fbe8d8577f5a4b1c2821842b55b7c0e18862531c62ae4ce69c9b19b74b6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/unpipe/LICENSE -sha256 97f780d3c79a42236f2b3435860f284c0ac6b958622f6bc9f1ac43fd49689b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/url/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/url/node_modules/punycode/LICENSE-MIT.txt -sha256 1da14af109d9baaa8dee3094add5cc65a7772487dd94c8d2adfd36935b678c49 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/useragent/LICENSE -sha256 0154425673db15cdfa80ecba2c9b1f1a867f7197a006764712849bfc3a93cbb7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/util-deprecate/LICENSE -sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/util-extend/LICENSE -sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/util/LICENSE -sha256 6e7d699cdd1e4fa837ba7718ea49841aa67201b449ea8b3f9cf274be15974a64 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/utils-merge/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/validate-npm-package-license/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/vm-browserify/LICENSE -sha256 405a272eaef556691ad7dda96db3237c9544afe18725842a1a5b3ec308960222 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/void-elements/LICENSE -sha256 6294da0e0a201bbe1de254445c9d07133a9448af05e4e44d0a2364747d114368 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wcwidth/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/which/LICENSE -sha256 852bf81203aa93aa89afc9f881ebb035322dc7334aaceff435c557634c94a815 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/which-module/LICENSE -sha256 0cef05dfff8b6aa7f35596984f5709f0d17c2582924a751efa471a76de7cdc11 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wide-align/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wordwrap/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/ansi-regex/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/string-width/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/strip-ansi/license -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrappy/LICENSE -sha256 0ead7e8cd8b0bc66a981ee69acaf1297ffa838cfce1b156a039bb24f997c0a27 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/write/LICENSE -sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ws/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ws/node_modules/safe-buffer/LICENSE -sha256 a5f35901ee8b2039a7431144c23dd10bd47c1d07bcee0cd3a536421d86412214 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/xmlhttprequest-ssl/LICENSE -sha256 82e67379203d5794e7c44549847d8d64ae6904591381682360470898bd306821 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/xtend/LICENSE -sha256 2034cce3b6fafcddd642c4175e01d3ddfc332a53b9f20fdc46b1466dc89ac469 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/y18n/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yallist/LICENSE -sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-styles/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/camelcase/license -sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/cliui/LICENSE.txt -sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-convert/LICENSE -sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-name/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/emoji-regex/LICENSE-MIT.txt -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/find-up/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/is-fullwidth-code-point/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/locate-path/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/path-exists/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/p-locate/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/string-width/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/strip-ansi/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/wrap-ansi/license -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/yargs-parser/LICENSE.txt -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/LICENSE.txt -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/node_modules/camelcase/license -sha256 30877d17f7e38530d46b49fb375ee98ce2e8b085b3ee72d4c2888710416ef139 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/camelcase/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/find-up/license -sha256 902dbb4154679fb2b8d7c33878183f45b268d01eae5e5033dddaa8852d45f213 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/get-caller-file/LICENSE.md -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/require-main-filename/LICENSE.txt -sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs/LICENSE -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs-parser/LICENSE.txt -sha256 b303783d5eb7ca50b853ffa5f145e4e7998fab339831d848f507ca6cd970577a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yauzl/LICENSE -sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yeast/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/closure/COPYING -sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e src/3rdparty/chromium/third_party/devtools-frontend/src/third_party/axe-core/LICENSE -sha256 a8ad31b1c3f40dca5a84119351b8fa8ddc868edd77fad8a8ebf6d8f2d16fa4ae src/3rdparty/chromium/third_party/devtools-frontend/src/third_party/pyjson5/src/LICENSE -sha256 4f5753ce8acf3feafc758599058746d30bda07bc0d4cc3a6a1eb8e039fdba1dc src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 src/3rdparty/chromium/third_party/dpkg-shlibdeps/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/emoji-segmenter/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/emoji-segmenter/src/LICENSE -sha256 9021fdb5341ebbb2eb5c771ac5cfac527790673179d3b21a42de1ab2798ec30f src/3rdparty/chromium/third_party/espresso/LICENSE -sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 src/3rdparty/chromium/third_party/expat/src/expat/COPYING -sha256 d9c904abd0ead61b3fbaef0a609285548076ff9c3f814cc1cf019c5d7150736d src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt -sha256 a8579e3fc40c11ab147bc299257733eb749cd455010385f7c117f70d7aef24e4 src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt -sha256 857d5f537af3aa164e7a27eda60147d34195e5781abe7b1d358d9fb01e222ae0 src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt -sha256 b4c85cce2b772f27d83f4562c20787057dc6949fcecc820a82c1d2e7047e89c3 src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv3 -sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv2.1 -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv3 -sha256 cb48bf09a11f5fb576cddb0431c8f5ed0a60157a9ec942adffc13907cbe083f2 src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md -sha256 f45cc81b400a048b56c9edbd4c3317f7a8958463dfd55aa96f268ecfd6baa12c src/3rdparty/chromium/third_party/flac/COPYING.FDL -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 src/3rdparty/chromium/third_party/flac/COPYING.GPL -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a src/3rdparty/chromium/third_party/flac/COPYING.LGPL -sha256 946b733afbaa20a192c8dc022b4e43090e78f28fd293494d1b307f7301552c9b src/3rdparty/chromium/third_party/flac/COPYING.Xiph -sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 src/3rdparty/chromium/third_party/flatbuffers/LICENSE -sha256 3112ebbfc0fe10ad40a97672f5590c4292536a28cbfe3506820b15dec70b2258 src/3rdparty/chromium/third_party/flatbuffers/src/dart/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt -sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 src/3rdparty/chromium/third_party/fontconfig/LICENSE -sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 src/3rdparty/chromium/third_party/fontconfig/src/COPYING -sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb src/3rdparty/chromium/third_party/freetype/src/docs/LICENSE.TXT -sha256 56e67061ab590046b09876a084478ea87c4ece1579deb194347096e61c2537dd src/3rdparty/chromium/third_party/fuchsia-sdk/LICENSE -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/gif_player/LICENSE -sha256 8ea14fdc7efee7fe53c79101b97049bd547dc6686cfa05df4f0686146a561423 src/3rdparty/chromium/third_party/glfw/src/LICENSE.md -sha256 23353f4505b1c8ce4f8f72fc3b11dc74b4a8a7bf95921d93ff77f227c171a710 src/3rdparty/chromium/third_party/glslang/LICENSE -sha256 d3cbc77d99642114bc925cce51eda84b48ae4879947ac89941a2e2aa4150db76 src/3rdparty/chromium/third_party/glslang/src/LICENSE.txt -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/googletest/src/googlemock/LICENSE -sha256 5e0df8c845c742e76f2f64d2d9ce1b7e74a2422fddbc577ae6a56319083de0bf src/3rdparty/chromium/third_party/googletest/src/googlemock/scripts/generator/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/googletest/src/googletest/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/googletest/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/google-truth/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/guava/LICENSE -sha256 ca382aa537f8923d6c0991fb976d184a2009eb76080313bf10dcecdc9311f0dd src/3rdparty/chromium/third_party/gvr-android-keyboard/LICENSE -sha256 f54c49d3ff865458c5d3c68c3367a1f6e0d7b3f686f8c88a6a563ef90f84ad9e src/3rdparty/chromium/third_party/gvr-android-sdk/LICENSE -sha256 96e5bbd81970983d666e702fa56f67dfd2fdaa363b8a4266e8d98847374cd7c8 src/3rdparty/chromium/third_party/hamcrest/LICENSE -sha256 beb3f017ceb41387667f78237a7cecf84defa0ed257c505894663d6a9f13211b src/3rdparty/chromium/third_party/harfbuzz-ng/src/COPYING -sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 src/3rdparty/chromium/third_party/harfbuzz-ng/src/src/ms-use/COPYING -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/hunspell/COPYING -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 src/3rdparty/chromium/third_party/hunspell/COPYING.LESSER -sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f src/3rdparty/chromium/third_party/hunspell/COPYING.MPL -sha256 610809f1586ee4d22468f1e97c256153cea8be7a662193db70d6ca424e0f17c8 src/3rdparty/chromium/third_party/iaccessible2/LICENSE -sha256 a412a53925efc6b50800bf8519a2e033949243d5a5a8c5422bae8a5007ad09c8 src/3rdparty/chromium/third_party/iccjpeg/LICENSE -sha256 d18e75f216f177d41304f5e94c2cba7d1bf9f8f8583a0777cceb5cca0c5ad137 src/3rdparty/chromium/third_party/icu4j/LICENSE -sha256 6a18c5fac70d7860b57f5b72b4e2c9a1ba6b3d2741eef7ff9767c5379364f10d src/3rdparty/chromium/third_party/icu/LICENSE -sha256 c62d7697c03979f5056d28b338fafc7a1152820f7b379adf4a9d88cd37160f96 src/3rdparty/chromium/third_party/icu/license.html -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/third_party/icu/scripts/LICENSE -sha256 8c6db340475136df3c1201d458fa5755698eace76e510471ecc9d857d6083dac src/3rdparty/chromium/third_party/ijar/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/ink/LICENSE -sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 src/3rdparty/chromium/third_party/inspector_protocol/LICENSE -sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 src/3rdparty/chromium/third_party/isimpledom/LICENSE -sha256 ed8d7a24769ac9d57d08769b5f8be27519dd8811d06b0995dbe8ca6714e96d08 src/3rdparty/chromium/third_party/jacoco/LICENSE -sha256 33b6816eb449962d307495946519ed78cef8743819f6f1d60e8b3d4e86c38b1c src/3rdparty/chromium/third_party/javalang/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/jetifier_standalone/LICENSE -sha256 7975c0027cfa5d08253fbb6ff4676acc38248bd5e046d0dbab3d810971e97970 src/3rdparty/chromium/third_party/jinja2/LICENSE -sha256 76c45ece83a26117f86f4e349e7df118708e061e87225328fb478ce1e8b3eb86 src/3rdparty/chromium/third_party/jsoncpp/LICENSE -sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a src/3rdparty/chromium/third_party/jsoncpp/source/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/jstemplate/COPYING -sha256 71a19392a0eb3255ab2055ed978bb0f93865cea84d31a3510eaffb74d8981e7f src/3rdparty/chromium/third_party/khronos/LICENSE -sha256 ccc19f1da0798ed666609b65a5b44dd8b3abe6fc08b9c0592eb76e82e174db19 src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libaddressinput/LICENSE -sha256 c9a5bd7c8cc1267ddacdc5228c68ecd811cf6d74286e9141bc80d8af2eb1a025 src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE -sha256 4764a286d8b2faeaf42f4418e7d7a28d58fc8fd4d00a3d0a7f44b0a4099de7f2 src/3rdparty/chromium/third_party/libaom/source/libaom/LICENSE -sha256 043dcfd059386f9facd376351b2bd79325778744aa442177390cdfcca54babed src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/fastfeat/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/googletest/src/googletest/LICENSE -sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/libwebm/LICENSE.TXT -sha256 ff6c857ce2708e87701323078aef115c1872a1f80a9649f86dc899b48083bc60 src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/vector/LICENSE -sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/x86inc/LICENSE -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/libcxx-pretty-printers/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libgav1/src/LICENSE -sha256 d56bafdaeaa793331a29e9766b7efe66524c98533da798a57201e291863ef625 src/3rdparty/chromium/third_party/libgifcodec/LICENSE.md -sha256 37d8bfba91b745693ea58f846f2f1276229745adf532974b73c1911cfd144241 src/3rdparty/chromium/third_party/libipp/LICENSE -sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/3rdparty/chromium/third_party/libjingle_xmpp/LICENSE -sha256 8412238c5ad95965cf3c3197791e9dea8b5fae505d133449e33ee2fa754fe61e src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md -sha256 3bf128851aff9f392953276ea8ade3e41da0f40b853fde58ec21034aa91ccc31 src/3rdparty/chromium/third_party/libovr/LICENSE -sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b src/3rdparty/chromium/third_party/libpng/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libprotobuf-mutator/src/LICENSE -sha256 a1a33180d02960ab1c5de36cf20b1a2f0fe9888d83826ad263da5db52f1b183b src/3rdparty/chromium/third_party/libsecret/LICENSE -sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae src/3rdparty/chromium/third_party/libsrtp/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libsync/LICENSE -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 src/3rdparty/chromium/third_party/libudev/LICENSE -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a src/3rdparty/chromium/third_party/libusb/src/COPYING -sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE -sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT -sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libyuv/LICENSE -sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE -sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT -sha256 6de6fe48ff7b249a51ec5522d1af618dd50effc6f030fd24e17878566ad2ca5d src/3rdparty/chromium/third_party/libwebp/LICENSE -sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd src/3rdparty/chromium/third_party/libxml/src/COPYING -sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd src/3rdparty/chromium/third_party/libxml/src/Copyright -sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE -sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 src/3rdparty/chromium/third_party/libxslt/linux/COPYING -sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 src/3rdparty/chromium/third_party/libxslt/src/Copyright -sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f src/3rdparty/chromium/third_party/libyuv/LICENSE -sha256 0d4077a7055ead389c4c5a9a6ac4bb8b784fc6e9e37be2caf544fcceed26cb16 src/3rdparty/chromium/third_party/lottie/LICENSE -sha256 6e3e0a978f1e136cb3efb89702f4314671581a0c70c9a52447669e00f7b129e8 src/3rdparty/chromium/third_party/lzma_sdk/LICENSE -sha256 c3b124673c93872156757a934c75b498d68eec09510e25e549d9dc2013776499 src/3rdparty/chromium/third_party/mako/LICENSE -sha256 0bbe88228fd63d20ec097f64e58d5a0a465123ae139140a18d406c60b48824b5 src/3rdparty/chromium/third_party/markupsafe/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/material_design_icons/LICENSE -sha256 536284e40c611f371f6ce5d74efac37a20d993cd3af96259b9b9e20b1669ff1e src/3rdparty/chromium/third_party/mesa_headers/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/third_party/metrics_proto/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/microsoft_webauthn/LICENSE -sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 src/3rdparty/chromium/third_party/minigbm/LICENSE -sha256 8610954adbca6c6b85d8b1ae5613b44b0014e437d32fcad6683bb27541411686 src/3rdparty/chromium/third_party/minigbm/src/LICENSE -sha256 4919cfb14a73cd64fcef67b107613970cf1659a09aa675dba31314f373bc7204 src/3rdparty/chromium/third_party/minizip/src/lib/bzip2/LICENSE -sha256 87642305968765a4030fd202ff7006afa67274da7f9bde84506e51ae58ecc2b4 src/3rdparty/chromium/third_party/minizip/src/LICENSE -sha256 bd5663836feb58ffb7d0e6b9e62010f4c3399f2bb0a4cf6514a15d597bbdd577 src/3rdparty/chromium/third_party/mocha/LICENSE -sha256 380893a2f01aea5c3328b1a8b08cdc488bf236916abac3af0d1f1a5d2634c31a src/3rdparty/chromium/third_party/mockito/LICENSE -sha256 d47e8390fb0d7ad4a18f26aedd6283c7ab6b5b4fabab536ccb4db7f9f6d90c08 src/3rdparty/chromium/third_party/modp_b64/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/motemplate/LICENSE -sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 src/3rdparty/chromium/third_party/mozilla/LICENSE -sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 src/3rdparty/chromium/third_party/nasm/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/netty4/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/netty-tcnative/LICENSE -sha256 0cd1bd4b934ffdc5e7f1bcfa9d08bd17295e5414bdca99c06b1036278b01f0b1 src/3rdparty/chromium/third_party/node/LICENSE -sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 src/3rdparty/chromium/third_party/objenesis/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/ocmock/License.txt -sha256 8bed129a6a15e631c93a624985e631eb62a55f7e072b78f4e1c3dde7c745283d src/3rdparty/chromium/third_party/one_euro_filter/LICENSE -sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb src/3rdparty/chromium/third_party/openh264/src/LICENSE -sha256 34a5c58db7cc4d3265d14a9aa26e38067fe114311d8bec31f909d1c240e626c4 src/3rdparty/chromium/third_party/openscreen/src/LICENSE -sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b src/3rdparty/chromium/third_party/openscreen/src/third_party/mozilla/LICENSE.txt -sha256 f56ff606104d4ef18e617921a75c73ad73b5a1a1d70c69590c29de16919e04ad src/3rdparty/chromium/third_party/openvr/src/LICENSE -sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 src/3rdparty/chromium/third_party/opus/src/COPYING -sha256 7efb4989e0cd1b256229bdf2f09300c5d14e35db0e7476bfb87fac243498273d src/3rdparty/chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt -sha256 0d74de3c3cd3196a9ed1bc612cfd5f81d7509d66c4be34a50f99d61bd1ad00d4 src/3rdparty/chromium/third_party/ots/LICENSE -sha256 9dd8d2fb95ba862a5d166a167682c1c67a209acd3bf09b6fd03f76d3579729bc src/3rdparty/chromium/third_party/ow2_asm/LICENSE -sha256 76621fcfb65adfd6602b700708b74c8e20f3325b32f1a54bec83a5cf7c679f53 src/3rdparty/chromium/third_party/pdfium/LICENSE -sha256 32759d1397d8f7b9e15ece146e4038b22b90e93b4935b5a840bcef4d2ba5ea55 src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE -sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b src/3rdparty/chromium/third_party/pdfium/third_party/libpng16/LICENSE -sha256 c5b14f5a3814d2e57b9bb9520dcf57a2c3817b65c4f989e5c82e332c82af1038 src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt -sha256 e323929b7c2178e2efc9ac70e62166670274bd772f90a8d83a90300c5f60002c src/3rdparty/chromium/third_party/perfetto/LICENSE -sha256 9f98bab33648b77578d85ac0f1d1c3941a72aa6d7e65015ba181f2fe804bb85d src/3rdparty/chromium/third_party/pexpect/LICENSE -sha256 a46200592eb193853527250da098e6bb0c75424e7a2c7db8da526c4f301c3d88 src/3rdparty/chromium/third_party/pffft/LICENSE -sha256 dd4930c619afd8527591353c7d3d1c1d7f4bf62ed1cb411f4f507dbdee7738a2 src/3rdparty/chromium/third_party/ply/LICENSE -sha256 d6c873c08a8806f08fdafe1aa00ba38837f6ac29f91d6b26510614b0df2001e0 src/3rdparty/chromium/third_party/ply/license.patch -sha256 24699c6858472311aa9acc6c2b7112ff9de6e7792569158ba9e439deb0529ef6 src/3rdparty/chromium/third_party/polymer/LICENSE.polymer -sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer2/LICENSE.txt -sha256 984fb04a16a9f1e0145ffd891125dc366a01cd921f58c9b0369be400c720790d src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt -sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 src/3rdparty/chromium/third_party/polymer/v3_0/components-chromium/polymer/LICENSE.txt -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/private-join-and-compute/src/crypto/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/private-join-and-compute/src/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/private-join-and-compute/src/util/LICENSE -sha256 294f58267c6f473c4ce7270bf5c8d34b2003cb43804552459654c36553431276 src/3rdparty/chromium/third_party/proguard/LICENSE -sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d src/3rdparty/chromium/third_party/protobuf/LICENSE -sha256 2ab28b982a7f3150e1597befaa87e1636b9973c80aef3752597945d270c4c4e4 src/3rdparty/chromium/third_party/pycoverage/LICENSE -sha256 f8d0c347a0dcc6ebe1671640dfae8d2411b6ded892e06a6764f8208b218b2af4 src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE -sha256 f8c8ccecdbb044fd6fa1a586c596a055fb2b14fb3e335d8ed282db58d80b7410 src/3rdparty/chromium/third_party/pyelftools/LICENSE -sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 src/3rdparty/chromium/third_party/pyjson5/src/LICENSE -sha256 c5b14f5a3814d2e57b9bb9520dcf57a2c3817b65c4f989e5c82e332c82af1038 src/3rdparty/chromium/third_party/pymock/LICENSE.txt -sha256 318cea263a2fb726d767e2777771a431a3220008e6940dd5138a235a1fc498fc src/3rdparty/chromium/third_party/pystache/LICENSE -sha256 956c3b678228a216142df38d039bba56ee6509d3298e7a4b8dd5bc3eaa80fe33 src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md -sha256 5a2954f05e7fcc1bf240a3b58534f974760b5aae02438ce875c9c7fe0bdb4cf9 src/3rdparty/chromium/third_party/pywebsocket3/src/LICENSE -sha256 c903100da706172066fa1b6f02eba60f202fea63036492d2c4a01267e32aa7a8 src/3rdparty/chromium/third_party/qcms/src/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/quic_trace/src/LICENSE -sha256 38751245389e1e23f73e6f5384b5cbe7fa972cc4410c5adc9c04b082a0b9561a src/3rdparty/chromium/third_party/quic_trace/src/third_party/fonts/LICENSE -sha256 8991cd11befec7c6a63662700f03c0cc42e864b6e77c7e70b80297c951a7f0ff src/3rdparty/chromium/third_party/quic_trace/src/third_party/glew/LICENSE.txt -sha256 f98f3db81b4dd3873d8672117e409286142cfae9b7673ab6d7aab4bae1527d20 src/3rdparty/chromium/third_party/qunit/LICENSE -sha256 68834f116f8ff545f05d14753357b620748156d60ee36b26beab4cb3f317efe4 src/3rdparty/chromium/third_party/r8/LICENSE -sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 src/3rdparty/chromium/third_party/re2/LICENSE -sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 src/3rdparty/chromium/third_party/re2/src/LICENSE -sha256 e479bcdfa777738226b4282bf8536cc5416a25cec3100cbe210b8be4d1e2ed84 src/3rdparty/chromium/third_party/requests/LICENSE -sha256 e2f59ff41d9d03adc3dcf3deff170f8c8cf4a6eb4a9b174762a7656d23200ffa src/3rdparty/chromium/third_party/rnnoise/COPYING -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/robolectric/LICENSE -sha256 19c9b910bec5a4f2c420747d1bf81e975ffdb1377ad91c5d9b1e8dd3e38f4c17 src/3rdparty/chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt -sha256 a7436c952fa2dc0701860cf4187d1e8e8e6de6720dec0ae9e0b641bc50eebced src/3rdparty/chromium/third_party/robolectric/licenses/javolution.license.txt -sha256 5b6ac717e37db4f6d17bda7791f4ce3f99947aeb21e6e72b705aa3d1ee2de480 src/3rdparty/chromium/third_party/robolectric/licenses/pivotal.labs.license.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/s2cellid/LICENSE -sha256 3f941b3b89cf7b8370ceb83cc76d2120d471b58735d8ca60238a751a48d7f72f src/3rdparty/chromium/third_party/schema_org/LICENSE -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/shaderc/src/LICENSE -sha256 b5a00e94f058edc87e05978329b55730d8689abe61205d9018443d03de4f07da src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang -sha256 47e20ce182bc68fab1a0cfb129b03c326aaf4f2b6b7905aa9d376d31018bd29f src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools -sha256 33c9a2fe619e1200937629f318895898ffcd1bf7d0ddd39adc382c030925e61e src/3rdparty/chromium/third_party/simplejson/LICENSE.txt -sha256 b25948e48c44312d04ffc626a9d52cae7c04539a1a8e0c1be47b7bfa0da03e1d src/3rdparty/chromium/third_party/sinonjs/LICENSE -sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 src/3rdparty/chromium/third_party/six/LICENSE -sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 src/3rdparty/chromium/third_party/six/src/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/include/third_party/skcms/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/include/third_party/vulkan/LICENSE -sha256 5f787c1dee3c56547f09ccc2906ab5f5293c4d8dd6c8654e573216c38e908dbd src/3rdparty/chromium/third_party/skia/LICENSE -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/modules/canvaskit/canvaskit/LICENSE -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/modules/pathkit/npm-asmjs/LICENSE -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/modules/pathkit/npm-wasm/LICENSE -sha256 5366e97b4478f15a1e2fd7e6094337426597df28de50cd9fed3f2e7e87f1229e src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/third_party/skcms/LICENSE -sha256 e21477eed484b07902a861a1b18d1e4ecd3e6f22fa81e2410f0770cfb67290e8 src/3rdparty/chromium/third_party/skia/third_party/vulkanmemoryallocator/include/LICENSE.txt -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/third_party/vulkanmemoryallocator/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/third_party/wuffs/LICENSE -sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 src/3rdparty/chromium/third_party/smhasher/LICENSE -sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 src/3rdparty/chromium/third_party/snappy/src/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/spirv-cross/spirv-cross/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/spirv-headers/LICENSE -sha256 9b243f6f0bf44e295ff411a0f7b7642d1d0dff7cdc42507e9f7206f439e51b5a src/3rdparty/chromium/third_party/spirv-headers/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/SPIRV-Tools/src/utils/vscode/src/lsp/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/sqlite4java/LICENSE -sha256 06545a6ec25fbbff6c62f205f94a35be49e38f33bea827a8cfb07d7b82e4b083 src/3rdparty/chromium/third_party/sqlite/LICENSE -sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 src/3rdparty/chromium/third_party/sqlite/src/autoconf/tea/license.terms -sha256 9c6479123f32a1ed50d9a0af203dfe8972e65035b0cdeef436b5f8d0924517fe src/3rdparty/chromium/third_party/sqlite/src/LICENSE.md -sha256 033d0150b3bd78b36894c88fcc68da0c3f2e661d3b3485e8cc9a61b2c2bf7895 src/3rdparty/chromium/third_party/subresource-filter-ruleset/LICENSE -sha256 28113a6e9e2fd7584187c738a7c5484452a1c383307a1741bec50a73262fac08 src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/swiftshader/LICENSE.txt -sha256 ad4672b403488876635d2b455918f74b829d478da868ffc0c621a00fc99195f5 src/3rdparty/chromium/third_party/tcmalloc/LICENSE -sha256 81ebf38708899097aacaac9723679b3ffa17640c14cd3193c46b75197de18b2c src/3rdparty/chromium/third_party/tcmalloc/vendor/COPYING -sha256 d600ff20c150a675461dde76752e35f4cc3be6e7d8e70b8da3e775ea7e5ec4aa src/3rdparty/chromium/third_party/test_fonts/LICENSE -sha256 bb04dd22ee55fe3c24ee2a3c82bd1efdebbd965f7c178224a2977edc2457bb2f src/3rdparty/chromium/third_party/tlslite/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/turbine/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE -sha256 0a90947436dc17f047f8c95b64593e2cc9a2b6d4ff6618f2f0beba5a9b568c14 src/3rdparty/chromium/third_party/unrar/LICENSE -sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a src/3rdparty/chromium/third_party/unrar/src/license.txt -sha256 6629d6edceffa9c68f4245b817137d2265fdab1e98068893420edb6689ccce9e src/3rdparty/chromium/third_party/usb_ids/LICENSE -sha256 7a4a31e05391919c05a996f09fc20ffc80c69af72cb3e69ac71b70c825fbdd1d src/3rdparty/chromium/third_party/usrsctp/LICENSE -sha256 fa53711b25af4b9a9b8dadfea3cb38166ec4b96760c8d62b284055554537d9ef src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md -sha256 5a7f623a50e384aaf6d2ced068339ddf93d0a50d3a0ecbe86f125b07804ecc78 src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l -sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 src/3rdparty/chromium/third_party/wds/LICENSE -sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 src/3rdparty/chromium/third_party/wds/src/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/web-animations-js/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/web-animations-js/sources/COPYING -sha256 d51b39e7ed0391e75e0add75d1a162fdf4a0d6b49fba7635ed0ac4e16f324773 src/3rdparty/chromium/third_party/webdriver/COPYING -sha256 6d83e980b9b843cf6fe24cb94714d00f9b0cf69cb00d0e3b0bed018d49d6f24f src/3rdparty/chromium/third_party/webdriver/LICENSE -sha256 fec8eb2896784d7b9ef5bcb1c64b97156455a3c88df4fdd36538fb55c0decac4 src/3rdparty/chromium/third_party/webgpu-cts/src/LICENSE.txt -sha256 e30fbe869f1fa489901bb08888a919c5d50ddb5be6d16b9e4a2cb226263dd7db src/3rdparty/chromium/third_party/webgpu-cts/src/third_party/jquery/LICENSE.txt -sha256 25b7731b70c77ecd5f3bb19303fbaa99be18860f81d44f71da670fdcd04829db src/3rdparty/chromium/third_party/webrtc/common_audio/third_party/fft4g/LICENSE -sha256 41d791701e3e1c1073470403de7e342442d1e6a2af72681023b13a2f45f2125c src/3rdparty/chromium/third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE -sha256 26d2d16d48825edf1194cb3907c5c0b7d01f9c5527eb0fefb949c51f304635e9 src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md -sha256 21a742dd8cceebb1d5df7c6f945c75ccf1ad4f0d4c17e404517500c1a7de86a4 src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE -sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/3rdparty/chromium/third_party/webrtc/LICENSE -sha256 1f7a086c17fa2bdbe27d3eb6424a64b9bea9d7db89a4e220fef52ca24addb9e9 src/3rdparty/chromium/third_party/webrtc/license_template.txt -sha256 6fdbabd2c95c5efc6f1e46175278239afb9343120a3022ed0e0cb04267a6aeb3 src/3rdparty/chromium/third_party/webrtc/modules/third_party/fft/LICENSE -sha256 b29c8f13f91feb2dab7d6655444369fa9f29c0d7121a52dab90ff97e40343a85 src/3rdparty/chromium/third_party/webrtc/modules/third_party/g711/LICENSE -sha256 61862327fd00d6a4deb2c1276577782c2500f4fe103e072018fc369d8e37e876 src/3rdparty/chromium/third_party/webrtc/modules/third_party/g722/LICENSE -sha256 641007ea2810c4cfc10a5d1a44db33983ec1409305e953c7119cc2457ec5c536 src/3rdparty/chromium/third_party/webrtc/modules/third_party/portaudio/LICENSE -sha256 a508773ebf00f8c777a910e941e5fd0072195843e1b72a90eb8787d26d4ab1d7 src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/LICENSE -sha256 905bc5ab1c66eea2669aee6cb5185488508264df6492f71ae1a6595180ff8c2b src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/sigslot/LICENSE -sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 src/3rdparty/chromium/third_party/webxr_test_pages/LICENSE -sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/js/cottontail/LICENSE.md -sha256 47754d3064047c300714af25258efa782e144fdf1e835bfd1edbeb7f8f4ef9e4 src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/dat.gui/LICENSE -sha256 71819b5a0a080b6a3d35b3579817c2c558abcf3c92bb5abc052145a7c106573e src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/gl-matrix/LICENSE -sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/LICENSE.md -sha256 88d855a8e07a39df758fe9964f5d04d5c2fab39416e566e9d91588e254ca27dc src/3rdparty/chromium/third_party/weston/LICENSE -sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 src/3rdparty/chromium/third_party/weston/src/COPYING -sha256 a34730970264d619f352598bf30295ad505a60fc3a493add8aa851645ce3ea47 src/3rdparty/chromium/third_party/weston/src/data/COPYING -sha256 20de375707692099b3132084695377ce5fec0aec05813dedcce094b8eda44386 src/3rdparty/chromium/third_party/widevine/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/woff2/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/wuffs/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/wuffs/src/LICENSE -sha256 b244f73c3d21edaf44ec253b9a7c389ec43313c417f52f8b71914b0c40d87325 src/3rdparty/chromium/third_party/xdg-utils/LICENSE -sha256 1cf71700f3403ca26f002e2dc1d1861dcb3d2af9bb9d98d529a903be9d7f06fc src/3rdparty/chromium/third_party/xstream/LICENSE -sha256 795f8d76eade6130129b680ac72ea81cb3e143467a65ea1f5f64946151d7fa20 src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING -sha256 942755efa272dbfbcd7afea7a38556801e36c16dcad002d572378367094a2593 src/3rdparty/chromium/third_party/zlib/LICENSE -sha256 a4c8c5abf82b36c22f8c9f8bd6229584f32eb9f7a2429dd9664dda43e63e9fda src/3rdparty/chromium/tools/grit/third_party/six/LICENSE -sha256 63f0c0039b477857e54708d9501ed91b7a46e828ac3c623bedbc318129ceb174 src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE -sha256 f5b244982699ca9fe5cc8fa8a7c08cf5dee5d3a0c8896892899e5df13316e1b7 src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE -sha256 7389900fb68d920c6cb21b70702a2bc240523472a3fd091023d6135cf01d1c5c src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE -sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt -sha256 f10a1808e442ae7dbfecf6b54ae4de84193a768770e189a67d5f397730acdbc9 src/3rdparty/chromium/v8/LICENSE -sha256 e7115e18444dae09d17f361ddc365fb1d342640fe500796209c63f7c80dfae10 src/3rdparty/chromium/v8/LICENSE.fdlibm -sha256 6a585a9f466654abc8fc0829d56b1bc987e3a073d31faa03bba37d33640a23cd src/3rdparty/chromium/v8/LICENSE.strongtalk -sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca src/3rdparty/chromium/v8/LICENSE.v8 -sha256 cae8c00ca6e90a682c321ec11e7a5a345d0d317aa0b8f038e03ef03a18095b2f src/3rdparty/chromium/v8/LICENSE.valgrind -sha256 36ffd9dc085d529a7e60e1276d73ae5a030b020313e6c5408593a6ae2af39673 src/3rdparty/chromium/v8/src/third_party/siphash/LICENSE -sha256 3f712e5fbdfdbd5ee7d9b8c8152580220df55de47f4eba2f26c95c4de19ad096 src/3rdparty/chromium/v8/src/third_party/utf8-decoder/LICENSE -sha256 ebf25b8ce59c9e8883acd1ca75b6fc121937ca034f666c4077d2be739d2e1622 src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE -sha256 cfe7599e45f340a35b4635090382897ca1526bc49b5e1889047f0168d131c415 src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE -sha256 15137d6c822e3ab097093a33c3a39a9df699f373f6438867ad534ff60762a947 src/3rdparty/chromium/v8/third_party/colorama/LICENSE -sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 src/3rdparty/chromium/v8/third_party/inspector_protocol/LICENSE -sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 src/3rdparty/chromium/v8/third_party/v8/builtins/LICENSE -sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 src/3rdparty/chromium/v8/third_party/wasm-api/LICENSE -sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f src/3rdparty/gn/base/third_party/icu/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/gn/LICENSE -sha256 eb7e9ab9690124c5c9f42bdc81383d886a3dede26345b6ed15bbad7caf81f7ea src/3rdparty/ninja/COPYING diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk index 64c9c96cc23..836ba621899 100644 --- a/package/qt5/qt5webengine/qt5webengine.mk +++ b/package/qt5/qt5webengine/qt5webengine.mk @@ -5,60 +5,175 @@ ################################################################################ QT5WEBENGINE_VERSION = $(QT5_VERSION) -QT5WEBENGINE_SITE = $(QT5_SITE) -QT5WEBENGINE_SOURCE = qtwebengine-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBENGINE_VERSION).tar.xz -QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx libxkbcommon opus webp \ - qt5declarative qt5webchannel host-bison host-flex host-gperf \ - host-pkgconf host-python +QT5WEBENGINE_SITE = $(QT5_SITE)/qtwebengine/-/archive/v$(QT5WEBENGINE_VERSION)-lts +QT5WEBENGINE_SOURCE = qtwebengine-v$(QT5WEBENGINE_VERSION)-lts.tar.bz2 +QT5WEBENGINE_DEPENDENCIES = qt5declarative qt5webchannel +QT5WEBENGINE_PATCH_DEPENDENCIES = qt5webengine-chromium QT5WEBENGINE_INSTALL_STAGING = YES - -include package/qt5/qt5webengine/chromium-latest.inc +QT5WEBENGINE_SYNC_QT_HEADERS = YES QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \ - LICENSE.GPLv3 LICENSE.LGPL3 $(QT5WEBENGINE_CHROMIUM_LICENSE_FILES) + LICENSE.GPLv3 LICENSE.LGPL3 + +# command line argument separator +QT5WEBENGINE_CONF_OPTS = -- ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) QT5WEBENGINE_DEPENDENCIES += qt5svg endif ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) -QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \ - xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst +QT5WEBENGINE_DEPENDENCIES += \ + xlib_libXcomposite \ + xlib_libXcursor \ + xlib_libXi \ + xlib_libxkbfile \ + xlib_libXrandr \ + xlib_libXScrnSaver \ + xlib_libXtst +QT5WEBENGINE_CONF_OPTS += \ + -feature-webengine-ozone \ + -feature-webengine-system-libdrm \ + -feature-webengine-system-x11 \ + -feature-webengine-system-xkbfile \ + -feature-webengine-system-xcomposite \ + -feature-webengine-system-xcursor \ + -feature-webengine-system-xi \ + -feature-webengine-system-xproto-gl \ + -feature-webengine-system-xtst +else +QT5WEBENGINE_CONF_OPTS += \ + -no-feature-webengine-ozone \ + -no-feature-webengine-system-libdrm \ + -no-feature-webengine-system-x11 \ + -no-feature-webengine-system-xkbfile \ + -no-feature-webengine-system-xcomposite \ + -no-feature-webengine-system-xcursor \ + -no-feature-webengine-system-xi \ + -no-feature-webengine-system-xproto-gl \ + -no-feature-webengine-system-xtst endif -QT5WEBENGINE_DEPENDENCIES += host-libpng host-libnss libnss +QT5WEBENGINE_DEPENDENCIES += \ + host-bison \ + host-flex \ + host-freetype \ + host-gperf \ + host-harfbuzz \ + host-icu \ + host-ninja \ + host-nodejs \ + host-pkgconf \ + host-libjpeg \ + host-libnss \ + host-libpng \ + host-python3 \ + host-webp \ + host-zlib \ + ffmpeg \ + freetype \ + jpeg \ + lcms2 \ + libevent \ + libnss \ + libvpx \ + libxml2 \ + libxslt \ + re2 \ + snappy \ + webp -QT5WEBENGINE_CONF_OPTS += WEBENGINE_CONFIG+=use_system_ffmpeg +QT5WEBENGINE_CONF_OPTS += \ + -webengine-embedded-build \ + -webengine-ffmpeg \ + -webengine-icu \ + -webengine-opus \ + -webengine-webchannel \ + -webengine-webp \ + -feature-build-qtwebengine-core \ + -feature-webengine-core-support \ + -feature-webengine-system-dbus \ + -feature-webengine-system-fontconfig \ + -feature-webengine-system-freetype \ + -feature-webengine-system-glib \ + -feature-webengine-system-glibc \ + -feature-webengine-system-harfbuzz \ + -feature-webengine-system-jpeg \ + -feature-webengine-system-khr \ + -feature-webengine-system-lcms2 \ + -feature-webengine-system-libevent \ + -feature-webengine-system-libvpx \ + -feature-webengine-system-libxml2 \ + -feature-webengine-system-ninja \ + -feature-webengine-system-nss \ + -feature-webengine-system-png \ + -feature-webengine-system-re2 \ + -feature-webengine-system-snappy \ + -feature-webengine-system-zlib + +QT5WEBENGINE_CONF_OPTS += \ + -no-webengine-geolocation \ + -no-webengine-kerberos \ + -no-webengine-pepper-plugins \ + -no-webengine-printing-and-pdf \ + -no-webengine-spellchecker \ + -no-webengine-webrtc \ + -no-webengine-webrtc-pipewire \ + -no-feature-webengine-developer-build \ + -no-feature-webengine-full-debug-info \ + -no-feature-webengine-native-spellchecker \ + -no-feature-webengine-noexecstack \ + -no-feature-webengine-system-minizip \ + -no-feature-webengine-system-gn ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) -QT5WEBENGINE_CONF_OPTS += WEBENGINE_CONFIG+=use_proprietary_codecs +QT5WEBENGINE_CONF_OPTS += -webengine-proprietary-codecs +else +QT5WEBENGINE_CONF_OPTS += -no-webengine-proprietary-codecs endif ifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y) QT5WEBENGINE_DEPENDENCIES += alsa-lib +QT5WEBENGINE_CONF_OPTS += -webengine-alsa else -QT5WEBENGINE_CONF_OPTS += QT_CONFIG-=alsa +QT5WEBENGINE_CONF_OPTS += -no-webengine-alsa endif -# QtWebengine's build system uses python, but only supports python2. We work -# around this by forcing python2 early in the PATH, via a python->python2 -# symlink. -QT5WEBENGINE_ENV = PATH=$(@D)/host-bin:$(BR_PATH) -define QT5WEBENGINE_PYTHON2_SYMLINK +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +QT5WEBENGINE_DEPENDENCIES += pulseaudio +QT5WEBENGINE_CONF_OPTS += -webengine-pulseaudio +else +QT5WEBENGINE_CONF_OPTS += -no-webengine-pulseaudio +endif + +QT5WEBENGINE_ENV = \ + PATH=$(@D)/host-bin:$(BR_PATH) \ + PKG_CONFIG_SYSROOT_DIR="/" +define QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER mkdir -p $(@D)/host-bin - ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python + sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-python-wrapper.in > $(@D)/host-bin/python + chmod +x $(@D)/host-bin/python endef -QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK +QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER QT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)" +define QT5WEBENGINE_COPY_CHROMIUM + rm -rf $(@D)/src/3rdparty + cp -a $(QT5WEBENGINE_CHROMIUM_DIR) $(@D)/src/3rdparty +endef +QT5WEBENGINE_POST_PATCH_HOOKS += QT5WEBENGINE_COPY_CHROMIUM + define QT5WEBENGINE_CREATE_HOST_PKG_CONFIG + mkdir -p $(@D)/host-bin sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-pkg-config.in > $(@D)/host-bin/host-pkg-config chmod +x $(@D)/host-bin/host-pkg-config endef QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG -QT5WEBENGINE_ENV += GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config +QT5WEBENGINE_ENV += \ + GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config \ + GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS="$(HOST_CPPFLAGS)" QT5WEBENGINE_CONF_ENV = $(QT5WEBENGINE_ENV) QT5WEBENGINE_MAKE_ENV = $(QT5WEBENGINE_ENV) diff --git a/package/qt5/qt5webkit-examples/0001-Build-examples.patch b/package/qt5/qt5webkit-examples/0001-Build-examples.patch deleted file mode 100644 index 6303006f620..00000000000 --- a/package/qt5/qt5webkit-examples/0001-Build-examples.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 78f558df35860484711a600d155ae7a13ebf44b2 Mon Sep 17 00:00:00 2001 -From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= -Date: Tue, 28 Nov 2017 23:14:42 -0500 -Subject: [PATCH 1/1] Build examples -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: 8bit - -This patch improves the qt5webkit examples build for 2 aspects: - - - Allows to build even if qt5base examples are not enabled - - Builds xmlpatterns example only if the qt5xmlpattern package - has been built - -Signed-off-by: Massimo Callegari -Signed-off-by: Gaël PORTAY -[gportay: build imageanalyzer example if concurrent module is built] ---- - examples/webkitwidgets/webkitwidgets.pro | 7 ++++--- - qtwebkit-examples.pro | 1 + - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/examples/webkitwidgets/webkitwidgets.pro b/examples/webkitwidgets/webkitwidgets.pro -index ab20df4..67f6785 100644 ---- a/examples/webkitwidgets/webkitwidgets.pro -+++ b/examples/webkitwidgets/webkitwidgets.pro -@@ -4,9 +4,10 @@ SUBDIRS += domtraversal \ - previewer \ - fancybrowser \ - simpleselector \ -- imageanalyzer \ - framecapture \ - browser \ - embedded \ -- scroller \ -- xmlpatterns -+ scroller -+ -+qtHaveModule(xmlpatterns): SUBDIRS += xmlpatterns -+qtHaveModule(concurrent): SUBDIRS += imageanalyzer -diff --git a/qtwebkit-examples.pro b/qtwebkit-examples.pro -index 3fcecf1..2ade7ff 100644 ---- a/qtwebkit-examples.pro -+++ b/qtwebkit-examples.pro -@@ -3,3 +3,4 @@ requires(qtHaveModule(webkit)) - load(qt_parts) - - SUBDIRS += doc -+SUBDIRS += examples --- -2.15.0 - diff --git a/package/qt5/qt5webkit-examples/0002-Fix-QWebView-path.patch b/package/qt5/qt5webkit-examples/0002-Fix-QWebView-path.patch deleted file mode 100644 index 30aab30167a..00000000000 --- a/package/qt5/qt5webkit-examples/0002-Fix-QWebView-path.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 9fa73707216bd55dff380031a33aca701a7d9c8b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 12 May 2019 23:29:05 +0200 -Subject: [PATCH] Fix QWebView path - -QWebView is installed under QtWebKitWidgets - -Fixes: - - http://autobuild.buildroot.org/results/68dd6f1ffed49f8e2570f7364e5e635573807d3e - -Signed-off-by: Fabrice Fontaine ---- - examples/webkitwidgets/formextractor/formextractor.ui | 2 +- - examples/webkitwidgets/previewer/previewer.ui | 2 +- - examples/webkitwidgets/simpleselector/window.ui | 2 +- - .../xmlpatterns/qobjectxmlmodel/forms/mainwindow.ui | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/examples/webkitwidgets/formextractor/formextractor.ui b/examples/webkitwidgets/formextractor/formextractor.ui -index 5c4afec..a38bdd5 100644 ---- a/examples/webkitwidgets/formextractor/formextractor.ui -+++ b/examples/webkitwidgets/formextractor/formextractor.ui -@@ -151,7 +151,7 @@ - - QWebView - QWidget --
    QtWebKit/QWebView
    -+
    QtWebKitWidgets/QWebView
    -
    - - -diff --git a/examples/webkitwidgets/previewer/previewer.ui b/examples/webkitwidgets/previewer/previewer.ui -index d4c9992..69adb2e 100644 ---- a/examples/webkitwidgets/previewer/previewer.ui -+++ b/examples/webkitwidgets/previewer/previewer.ui -@@ -74,7 +74,7 @@ - - QWebView - QWidget --
    QtWebKit/QWebView
    -+
    QtWebKitWidgets/QWebView
    -
    - - -diff --git a/examples/webkitwidgets/simpleselector/window.ui b/examples/webkitwidgets/simpleselector/window.ui -index aa824df..7906186 100644 ---- a/examples/webkitwidgets/simpleselector/window.ui -+++ b/examples/webkitwidgets/simpleselector/window.ui -@@ -64,7 +64,7 @@ - - QWebView - QWidget --
    QtWebKit/QWebView
    -+
    QtWebKitWidgets/QWebView
    -
    - - -diff --git a/examples/webkitwidgets/xmlpatterns/qobjectxmlmodel/forms/mainwindow.ui b/examples/webkitwidgets/xmlpatterns/qobjectxmlmodel/forms/mainwindow.ui -index ad43284..000cae7 100644 ---- a/examples/webkitwidgets/xmlpatterns/qobjectxmlmodel/forms/mainwindow.ui -+++ b/examples/webkitwidgets/xmlpatterns/qobjectxmlmodel/forms/mainwindow.ui -@@ -188,7 +188,7 @@ p, li { white-space: pre-wrap; } - - QWebView - QWidget --
    QtWebKit/QWebView
    -+
    QtWebKitWidgets/QWebView
    -
    - - --- -2.20.1 - diff --git a/package/qt5/qt5webkit-examples/0003-Fix-QPainterPath-include.patch b/package/qt5/qt5webkit-examples/0003-Fix-QPainterPath-include.patch deleted file mode 100644 index 2d5e8fae9ae..00000000000 --- a/package/qt5/qt5webkit-examples/0003-Fix-QPainterPath-include.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 452123a4491b26c5b078934477bd5864f1d004e4 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Thu, 28 May 2020 20:58:26 +0200 -Subject: [PATCH] Fix QPainterPath include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add missing QPainterPath (needed for Qt-5.15.0 compile). - -Fixes: - - searchlineedit.cpp:121:18: error: aggregate ‘QPainterPath myPath’ has incomplete type and cannot be defined - QPainterPath myPath; - ^~~~~~ - -Signed-off-by: Peter Seiderer ---- - examples/webkitwidgets/browser/searchlineedit.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/examples/webkitwidgets/browser/searchlineedit.cpp b/examples/webkitwidgets/browser/searchlineedit.cpp -index fbd73cb..7462c82 100644 ---- a/examples/webkitwidgets/browser/searchlineedit.cpp -+++ b/examples/webkitwidgets/browser/searchlineedit.cpp -@@ -34,6 +34,7 @@ - #include "searchlineedit.h" - - #include -+#include - #include - #include - #include --- -2.26.2 - diff --git a/package/qt5/qt5webkit-examples/Config.in b/package/qt5/qt5webkit-examples/Config.in deleted file mode 100644 index 47bbcbaa68a..00000000000 --- a/package/qt5/qt5webkit-examples/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_QT5WEBKIT_EXAMPLES - bool "qt5webkit-examples" - depends on BR2_PACKAGE_QT5WEBKIT - help - Qt is a cross-platform application and UI framework for - developers using C++. - - This package contains examples for the qt5webkit module. - - http://qt.io diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.hash b/package/qt5/qt5webkit-examples/qt5webkit-examples.hash deleted file mode 100644 index ea64f6f14eb..00000000000 --- a/package/qt5/qt5webkit-examples/qt5webkit-examples.hash +++ /dev/null @@ -1,8 +0,0 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz.mirrorlist -sha256 e4ce4de6b468243abad2baabbe8ddfb05d25b186529bfe88cb8662fc983f54d0 qtwebkit-examples-opensource-src-5.9.1.tar.xz - -# Hashes for license files: -sha256 a3db6c7f3027aa27489c25a2fa259185cdee945780c32e01c60cbfabf4743b6c LICENSE.LGPLv21 -sha256 04505ee290cbe7b29b3766e00ff81987e84658f620cb43bd6e7bb52ee4234e1b LICENSE.LGPLv3 -sha256 6c3f3c31b93985f1b93bfbb35fb609d37281697d0efc220c9f91cf4b59eaabde LICENSE.GPLv2 -sha256 d3d9052b838761dbe00067168ed9ebc437734d53ebf71dea1c8e9f7532a5333b LICENSE.GPLv3 diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.mk b/package/qt5/qt5webkit-examples/qt5webkit-examples.mk deleted file mode 100644 index 84bc2917390..00000000000 --- a/package/qt5/qt5webkit-examples/qt5webkit-examples.mk +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################ -# -# qt5webkit-examples -# -################################################################################ - -QT5WEBKIT_EXAMPLES_VERSION = 5.9.1 -QT5WEBKIT_EXAMPLES_SITE = https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules -QT5WEBKIT_EXAMPLES_SOURCE = qtwebkit-examples-opensource-src-$(QT5WEBKIT_VERSION).tar.xz -QT5WEBKIT_EXAMPLES_DEPENDENCIES = qt5webkit - -QT5WEBKIT_EXAMPLES_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv2 LICENSE.GPLv3 - -QT5WEBKIT_EXAMPLES_LICENSE = LGPL-2.1 with exception or LGPL-3 or GPL-2 or GPL-3 -# Source files contain references to LGPL_EXCEPTION.txt but it is not included -# in the archive. - -ifeq ($(BR2_PACKAGE_QT5XMLPATTERNS),y) -QT5WEBKIT_EXAMPLES_DEPENDENCIES += qt5xmlpatterns -endif - -ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) -QT5WEBKIT_EXAMPLES_DEPENDENCIES += qt5declarative -endif - -$(eval $(qmake-package)) diff --git a/package/qt5/qt5webkit/0001-WinCairo-PlayStation-ICU-68.1-no-longer-exposes-FALS.patch b/package/qt5/qt5webkit/0001-WinCairo-PlayStation-ICU-68.1-no-longer-exposes-FALS.patch new file mode 100644 index 00000000000..0c3e8b35862 --- /dev/null +++ b/package/qt5/qt5webkit/0001-WinCairo-PlayStation-ICU-68.1-no-longer-exposes-FALS.patch @@ -0,0 +1,168 @@ +From 736e1d804d1efa2077c4f1fe0b9084927d82e249 Mon Sep 17 00:00:00 2001 +From: "stephan.szabo@sony.com" + +Date: Tue, 3 Nov 2020 20:06:15 +0000 +Subject: [PATCH] [WinCairo/PlayStation] ICU 68.1 no longer exposes FALSE and + TRUE macros by default https://bugs.webkit.org/show_bug.cgi?id=218522 + +Reviewed by Don Olmstead. + +Source/WebCore: + +* platform/text/TextCodecICU.cpp: Replace use of TRUE with true + +Source/WebKit: + +* UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: Replace FALSE with false + +Source/WTF: + +Replace uses of FALSE and TRUE with false and true. + +* wtf/text/icu/UTextProvider.h: +* wtf/text/icu/UTextProviderLatin1.cpp: +* wtf/text/icu/UTextProviderUTF16.cpp: + +Change-Id: I876cf2b10b8c858c3d265113c062d159749a2f3e +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269325 268f45cc-cd09-0410-ab3c-d52691b4dbfc +Signed-off-by: James Hilliard +[james.hilliard1@gmail.com: backport from upstream commit +736e1d804d1efa2077c4f1fe0b9084927d82e249] +--- + Source/WebCore/platform/text/TextCodecICU.cpp | 2 +- + Source/WebCore/platform/text/icu/UTextProvider.h | 8 ++++---- + .../platform/text/icu/UTextProviderLatin1.cpp | 14 +++++++------- + .../platform/text/icu/UTextProviderUTF16.cpp | 4 ++-- + 7 files changed, 45 insertions(+), 14 deletions(-) + +diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp +index dd6ff0675bb1..e0f4bd718828 100644 +--- a/Source/WebCore/platform/text/TextCodecICU.cpp ++++ b/Source/WebCore/platform/text/TextCodecICU.cpp +@@ -308,7 +308,7 @@ void TextCodecICU::createICUConverter() const + m_converterICU = ucnv_open(m_canonicalConverterName, &err); + ASSERT(U_SUCCESS(err)); + if (m_converterICU) +- ucnv_setFallback(m_converterICU, TRUE); ++ ucnv_setFallback(m_converterICU, true); + } + + int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err) +diff --git a/Source/WebCore/platform/text/icu/UTextProvider.h b/Source/WebCore/platform/text/icu/UTextProvider.h +index c254fc4c7ce2..6d1e1cbc5eb2 100644 +--- a/Source/WebCore/platform/text/icu/UTextProvider.h ++++ b/Source/WebCore/platform/text/icu/UTextProvider.h +@@ -80,12 +80,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) { + text->chunkOffset = text->chunkLength; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } else { +@@ -94,12 +94,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } +diff --git a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +index cd6852c71e55..6a864b1c1567 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward) + if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (index >= length && uText->chunkNativeLimit == length) { + // Off the end of the buffer, but we can't get it. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return FALSE; ++ return false; + } + } else { + if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (!index && !uText->chunkNativeStart) { + // Already at the beginning; can't go any farther. + uText->chunkOffset = 0; +- return FALSE; ++ return false; + } + } + +@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward) + + uText->nativeIndexingLimit = uText->chunkLength; + +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status) +@@ -336,7 +336,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UText* text) + static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -356,7 +356,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBo + ASSERT(newContext == UTextProviderContext::PriorContext); + textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff --git a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +index 7aaac48c8151..9ae0d367f1f6 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +@@ -125,7 +125,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLength(UText* text) + static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -145,7 +145,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBoo + ASSERT(newContext == UTextProviderContext::PriorContext); + textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +-- +2.25.1 + diff --git a/package/qt5/qt5webkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch b/package/qt5/qt5webkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch deleted file mode 100644 index 669c7e6aa29..00000000000 --- a/package/qt5/qt5webkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1735a8484ef9ae336f8d607b56bda64c8af10c79 Mon Sep 17 00:00:00 2001 -From: Trevor Woerner -Date: Fri, 7 Feb 2014 04:07:17 +0100 -Subject: [PATCH] qtwebkit: fix QA issue (bad RPATH) - -Building qtwebkit causes a QA issue such that QtWebPluginProcess and -QtWebProcess contain bad RPATHs which point into the build location. This fix -adds a patch to not include the rpath.prf which causes this problem. - -Signed-off-by: Trevor Woerner -Signed-off-by: Martin Jansa - -Downloaded from: -https://github.com/meta-qt5/meta-qt5/blob/krogoth/recipes-qt/qt5/qtwebkit/ -0001-qtwebkit-fix-QA-issue-bad-RPATH.patch - -Signed-off-by: Gary Bisson ---- - Tools/qmake/mkspecs/features/unix/default_post.prf | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf -index fd66af6..ef754c3 100644 ---- a/Tools/qmake/mkspecs/features/unix/default_post.prf -+++ b/Tools/qmake/mkspecs/features/unix/default_post.prf -@@ -61,7 +61,6 @@ linux-*g++* { - } - } - --contains(TEMPLATE, app): CONFIG += rpath - - CONFIG(debug, debug|release)|force_debug_info { - # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase. --- -2.7.0 - diff --git a/package/qt5/qt5webkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch b/package/qt5/qt5webkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch deleted file mode 100644 index a2597a54bb0..00000000000 --- a/package/qt5/qt5webkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 6c36f0ff8c1f5852c33d2b23714f9f187cc6ff26 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 5 Jun 2015 19:55:05 -0700 -Subject: [PATCH] Exclude backtrace() API for non-glibc libraries - -It was excluding musl with current checks, so lets make it such that it -considers only glibc when using backtrace API - -Signed-off-by: Khem Raj - -Downloaded from: -https://github.com/meta-qt5/meta-qt5/blob/krogoth/recipes-qt/qt5/qtwebkit/ -0003-Exclude-backtrace-API-for-non-glibc-libraries.patch - -Signed-off-by: Gary Bisson ---- - Source/WTF/wtf/Assertions.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp -index 1b2091f..ba03a28 100644 ---- a/Source/WTF/wtf/Assertions.cpp -+++ b/Source/WTF/wtf/Assertions.cpp -@@ -61,7 +61,7 @@ - #include - #endif - --#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) -+#if (OS(DARWIN) || (OS(LINUX) && defined (__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) - #include - #include - #include -@@ -245,7 +245,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f - - void WTFGetBacktrace(void** stack, int* size) - { --#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) -+#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) - *size = backtrace(stack, *size); - #elif OS(WINDOWS) && !OS(WINCE) - // The CaptureStackBackTrace function is available in XP, but it is not defined --- -2.7.0 - diff --git a/package/qt5/qt5webkit/0002-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch b/package/qt5/qt5webkit/0002-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch new file mode 100644 index 00000000000..d167a44bf36 --- /dev/null +++ b/package/qt5/qt5webkit/0002-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch @@ -0,0 +1,33 @@ +From 78360c01c796b6260bf828bc9c8a0ef73c5132fd Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev +Date: Wed, 3 Jun 2020 15:01:42 +0300 +Subject: [PATCH] Fix compilation with Python 3.9: avoid passing encoding to + json.load() + +In Python 2.7 UTF-8 is assumed by default, while in Python 3 this argument +is not supported. + +Change-Id: Ic459d60a6b20bc1838d8771bc36ac41614fe61a9 +Signed-off-by: James Hilliard +[james.hilliard1@gmail.com: backport from upstream commit +78360c01c796b6260bf828bc9c8a0ef73c5132fd] +--- + Source/JavaScriptCore/generate-bytecode-files | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/JavaScriptCore/generate-bytecode-files b/Source/JavaScriptCore/generate-bytecode-files +index c5dab429c7b0..af3431275ecf 100644 +--- a/Source/JavaScriptCore/generate-bytecode-files ++++ b/Source/JavaScriptCore/generate-bytecode-files +@@ -163,7 +163,7 @@ if __name__ == "__main__": + initBytecodesFile = openOrExit(initASMFileName, "w") + + try: +- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ bytecodeSections = json.load(bytecodeFile) + except: + print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + +-- +2.25.1 + diff --git a/package/qt5/qt5webkit/0003-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5webkit/0003-Detect-32-bits-armv8-a-architecture.patch deleted file mode 100644 index 9c2205dd94c..00000000000 --- a/package/qt5/qt5webkit/0003-Detect-32-bits-armv8-a-architecture.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001 -From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= -Date: Tue, 15 Aug 2017 18:28:49 -0400 -Subject: [PATCH] Detect 32-bits armv8-a architecture -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: 8bit - -Adds WTF platform support for the 32-bits armv8-a architectures. - -Theses toolchains define __ARM_ARCH_8A__ (for ARM architecture version) -and __arm__ (for 32-bits word-size; __aarch64__ for 64-bits). - -This commit catches this new architecture (armv8a) within a #ifdef/#endif -inside the if statement dedicated for 32-bits ARM detection. - -Fixes: - - In file included from ./config.h:30:0, - from ... - ./wtf/Platform.h:323:6: error: #error "Not supported ARM architecture" - # error "Not supported ARM architecture" - ^~~~~ - -Upstream-Status: Backport [with adaptations] -Signed-off-by: Gaël PORTAY ---- - Source/WTF/wtf/Platform.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h -index 562840cf7..9cf656845 100644 ---- a/Source/WTF/wtf/Platform.h -+++ b/Source/WTF/wtf/Platform.h -@@ -243,6 +243,10 @@ - || defined(__ARM_ARCH_7S__) - #define WTF_ARM_ARCH_VERSION 7 - -+#elif defined(__ARM_ARCH_8__) \ -+ || defined(__ARM_ARCH_8A__) -+#define WTF_ARM_ARCH_VERSION 8 -+ - /* MSVC sets _M_ARM */ - #elif defined(_M_ARM) - #define WTF_ARM_ARCH_VERSION _M_ARM --- -2.16.1 - diff --git a/package/qt5/qt5webkit/0003-Let-Bison-generate-the-header-directly-to-fix-build-.patch b/package/qt5/qt5webkit/0003-Let-Bison-generate-the-header-directly-to-fix-build-.patch new file mode 100644 index 00000000000..1591b8a82cf --- /dev/null +++ b/package/qt5/qt5webkit/0003-Let-Bison-generate-the-header-directly-to-fix-build-.patch @@ -0,0 +1,52 @@ +From d92b11fea65364fefa700249bd3340e0cd4c5b31 Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev +Date: Tue, 4 Aug 2020 21:04:06 +0300 +Subject: [PATCH] Let Bison generate the header directly, to fix build with + Bison 3.7 + +Starting with Bison 3.7, the generated C++ file #include's the header +by default, instead of duplicating it. So we should not delete it. + +Remove the code to add #ifdef guards to the header, since Bison adds +them itself since version 2.6.3. +Signed-off-by: James Hilliard +[james.hilliard1@gmail.com: backport from upstream commit +d92b11fea65364fefa700249bd3340e0cd4c5b31] +--- + Source/WebCore/css/makegrammar.pl | 21 +-------------------- + 1 file changed, 1 insertion(+), 20 deletions(-) + +diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl +index 5d63b08102eb..9435701c7061 100644 +--- a/Source/WebCore/css/makegrammar.pl ++++ b/Source/WebCore/css/makegrammar.pl +@@ -73,25 +73,6 @@ if ($suffix eq ".y.in") { + } + + my $fileBase = File::Spec->join($outputDir, $filename); +-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); ++my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); + push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives. + system(@bisonCommand) == 0 or die; +- +-open HEADER, ">$fileBase.h" or die; +-print HEADER << "EOF"; +-#ifndef CSSGRAMMAR_H +-#define CSSGRAMMAR_H +-EOF +- +-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die; +-while () { +- print HEADER; +-} +-close HPP; +- +-print HEADER "#endif\n"; +-close HEADER; +- +-unlink("$fileBase.cpp.h"); +-unlink("$fileBase.hpp"); +- +-- +2.25.1 + diff --git a/package/qt5/qt5webkit/0004-Fix-installation-of-class-headers.patch b/package/qt5/qt5webkit/0004-Fix-installation-of-class-headers.patch deleted file mode 100644 index 92aab57111b..00000000000 --- a/package/qt5/qt5webkit/0004-Fix-installation-of-class-headers.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 7d763d441fd4fa78553a818ee75ac477eb6dbcbe Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ga=C3=ABl=20PORTAY?= -Date: Sun, 2 Feb 2020 10:48:50 +0100 -Subject: [PATCH] Fix installation of class headers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Since Qt 5.11 (see commit [1]), the key word HEADER_CLASSES has been -removed. It has been replaced by a new variable GENERATED_HEADER_FILES. - -The class headers were not generated, this commit moves them directly to -HEADER_FILES. - -[1]: https://github.com/qt/qtbase/commit/9c4c136bc9f29bab1cc9684dfced55a92a8bbe96 - -Signed-off-by: Gaël PORTAY -[Converted to git formated patch] -Signed-off-by: Peter Seiderer ---- - include/QtWebKit/headers.pri | 3 +-- - include/QtWebKitWidgets/headers.pri | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/include/QtWebKit/headers.pri b/include/QtWebKit/headers.pri -index 6775f3a6..3a5c14cd 100644 ---- a/include/QtWebKit/headers.pri -+++ b/include/QtWebKit/headers.pri -@@ -1,5 +1,4 @@ --SYNCQT.HEADER_FILES = WebKit/qt/Api/qwebdatabase.h WebKit/qt/Api/qwebelement.h WebKit/qt/Api/qwebhistory.h WebKit/qt/Api/qwebhistoryinterface.h WebKit/qt/Api/qwebkitglobal.h WebKit/qt/Api/qwebkitplatformplugin.h WebKit/qt/Api/qwebpluginfactory.h WebKit/qt/Api/qwebsecurityorigin.h WebKit/qt/Api/qwebsettings.h ../include/QtWebKit/qtwebkitversion.h ../include/QtWebKit/QtWebKit --SYNCQT.HEADER_CLASSES = ../include/QtWebKit/QWebDatabase ../include/QtWebKit/QWebElement ../include/QtWebKit/QWebElementCollection ../include/QtWebKit/QWebHistoryItem ../include/QtWebKit/QWebHistory ../include/QtWebKit/QWebHistoryInterface ../include/QtWebKit/QWebSelectData ../include/QtWebKit/QWebSelectMethod ../include/QtWebKit/QWebNotificationData ../include/QtWebKit/QWebNotificationPresenter ../include/QtWebKit/QWebHapticFeedbackPlayer ../include/QtWebKit/QWebTouchModifier ../include/QtWebKit/QWebFullScreenVideoHandler ../include/QtWebKit/QWebSpellChecker ../include/QtWebKit/QWebKitPlatformPlugin ../include/QtWebKit/QWebPluginFactory ../include/QtWebKit/QWebSecurityOrigin ../include/QtWebKit/QWebSettings ../include/QtWebKit/QtWebKitVersion -+SYNCQT.HEADER_FILES = WebKit/qt/Api/qwebdatabase.h WebKit/qt/Api/qwebelement.h WebKit/qt/Api/qwebhistory.h WebKit/qt/Api/qwebhistoryinterface.h WebKit/qt/Api/qwebkitglobal.h WebKit/qt/Api/qwebkitplatformplugin.h WebKit/qt/Api/qwebpluginfactory.h WebKit/qt/Api/qwebsecurityorigin.h WebKit/qt/Api/qwebsettings.h ../include/QtWebKit/qtwebkitversion.h ../include/QtWebKit/QtWebKit ../include/QtWebKit/QWebDatabase ../include/QtWebKit/QWebElement ../include/QtWebKit/QWebElementCollection ../include/QtWebKit/QWebHistoryItem ../include/QtWebKit/QWebHistory ../include/QtWebKit/QWebHistoryInterface ../include/QtWebKit/QWebSelectData ../include/QtWebKit/QWebSelectMethod ../include/QtWebKit/QWebNotificationData ../include/QtWebKit/QWebNotificationPresenter ../include/QtWebKit/QWebHapticFeedbackPlayer ../include/QtWebKit/QWebTouchModifier ../include/QtWebKit/QWebFullScreenVideoHandler ../include/QtWebKit/QWebSpellChecker ../include/QtWebKit/QWebKitPlatformPlugin ../include/QtWebKit/QWebPluginFactory ../include/QtWebKit/QWebSecurityOrigin ../include/QtWebKit/QWebSettings ../include/QtWebKit/QtWebKitVersion - SYNCQT.PRIVATE_HEADER_FILES = WebKit/qt/Api/qhttpheader_p.h WebKit/qt/Api/qwebdatabase_p.h WebKit/qt/Api/qwebelement_p.h WebKit/qt/Api/qwebhistory_p.h WebKit/qt/Api/qwebplugindatabase_p.h WebKit/qt/Api/qwebscriptworld.h WebKit/qt/Api/qwebscriptworld_p.h WebKit/qt/Api/qwebsecurityorigin_p.h WebKit2/UIProcess/API/qt/qquicknetworkreply_p.h WebKit2/UIProcess/API/qt/qquicknetworkrequest_p.h WebKit2/UIProcess/API/qt/qquickurlschemedelegate_p.h WebKit2/UIProcess/API/qt/qquickwebpage_p.h WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h WebKit2/UIProcess/API/qt/qquickwebview_p.h WebKit2/UIProcess/API/qt/qquickwebview_p_p.h WebKit2/UIProcess/API/qt/qtwebsecurityorigin_p.h WebKit2/UIProcess/API/qt/qwebchannelwebkittransport_p.h WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h WebKit2/UIProcess/API/qt/qwebdownloaditem_p_p.h WebKit2/UIProcess/API/qt/qwebiconimageprovider_p.h WebKit2/UIProcess/API/qt/qwebkittest_p.h WebKit2/UIProcess/API/qt/qwebloadrequest_p.h WebKit2/UIProcess/API/qt/qwebnavigationhistory_p.h WebKit2/UIProcess/API/qt/qwebnavigationhistory_p_p.h WebKit2/UIProcess/API/qt/qwebnavigationrequest_p.h WebKit2/UIProcess/API/qt/qwebpermissionrequest_p.h WebKit2/UIProcess/API/qt/qwebpreferences_p.h WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h WebKit2/UIProcess/API/qt/raw/qrawwebview_p.h WebKit2/UIProcess/API/qt/raw/qrawwebview_p_p.h WebKit2/UIProcess/API/qt/tests/bytearraytestdata.h WebKit2/UIProcess/API/qt/tests/testwindow.h WebKit2/UIProcess/API/qt/tests/util.h - SYNCQT.INJECTED_PRIVATE_HEADER_FILES = - SYNCQT.QPA_HEADER_FILES = -diff --git a/include/QtWebKitWidgets/headers.pri b/include/QtWebKitWidgets/headers.pri -index 9d386e29..2b8b095c 100644 ---- a/include/QtWebKitWidgets/headers.pri -+++ b/include/QtWebKitWidgets/headers.pri -@@ -1,5 +1,4 @@ --SYNCQT.HEADER_FILES = WebKit/qt/WidgetApi/qgraphicswebview.h WebKit/qt/WidgetApi/qwebframe.h WebKit/qt/WidgetApi/qwebinspector.h WebKit/qt/WidgetApi/qwebpage.h WebKit/qt/WidgetApi/qwebview.h ../include/QtWebKitWidgets/qtwebkitwidgetsversion.h ../include/QtWebKitWidgets/QtWebKitWidgets --SYNCQT.HEADER_CLASSES = ../include/QtWebKitWidgets/QGraphicsWebView ../include/QtWebKitWidgets/QWebHitTestResult ../include/QtWebKitWidgets/QWebFrame ../include/QtWebKitWidgets/QWebInspector ../include/QtWebKitWidgets/QWebPage ../include/QtWebKitWidgets/QWebView ../include/QtWebKitWidgets/QtWebKitWidgetsVersion -+SYNCQT.HEADER_FILES = WebKit/qt/WidgetApi/qgraphicswebview.h WebKit/qt/WidgetApi/qwebframe.h WebKit/qt/WidgetApi/qwebinspector.h WebKit/qt/WidgetApi/qwebpage.h WebKit/qt/WidgetApi/qwebview.h ../include/QtWebKitWidgets/qtwebkitwidgetsversion.h ../include/QtWebKitWidgets/QtWebKitWidgets ../include/QtWebKitWidgets/QGraphicsWebView ../include/QtWebKitWidgets/QWebHitTestResult ../include/QtWebKitWidgets/QWebFrame ../include/QtWebKitWidgets/QWebInspector ../include/QtWebKitWidgets/QWebPage ../include/QtWebKitWidgets/QWebView ../include/QtWebKitWidgets/QtWebKitWidgetsVersion - SYNCQT.PRIVATE_HEADER_FILES = WebKit/qt/WidgetApi/qwebframe_p.h WebKit/qt/WidgetApi/qwebinspector_p.h WebKit/qt/WidgetApi/qwebpage_p.h WebKit/qt/WidgetApi/qwebviewaccessible_p.h - SYNCQT.INJECTED_PRIVATE_HEADER_FILES = - SYNCQT.QPA_HEADER_FILES = --- -2.25.0 - diff --git a/package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch b/package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch new file mode 100644 index 00000000000..48605e4fe4f --- /dev/null +++ b/package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch @@ -0,0 +1,31 @@ +From 5b698ba3faffd4e198a45be9fe74f53307395e4b Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Wed, 7 Apr 2021 13:38:09 +0200 +Subject: [PATCH] Remove invalid g_object declarations to fix build with glib + >= 2.68 + +g_object_ref_sink is defined as a macro meanwhile and so the build fails. +Just remove the declarations, glib.h is included anyway. +Signed-off-by: James Hilliard +[Retrieved from: https://github.com/qtwebkit/qtwebkit/pull/1058] +--- + Source/WTF/wtf/glib/GRefPtr.h | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/Source/WTF/wtf/glib/GRefPtr.h b/Source/WTF/wtf/glib/GRefPtr.h +index 06133d82cb35..d9a1d2f145f5 100644 +--- a/Source/WTF/wtf/glib/GRefPtr.h ++++ b/Source/WTF/wtf/glib/GRefPtr.h +@@ -29,9 +29,6 @@ + #include + #include + +-extern "C" void g_object_unref(gpointer); +-extern "C" gpointer g_object_ref_sink(gpointer); +- + namespace WTF { + + enum GRefPtrAdoptType { GRefPtrAdopt }; +-- +2.25.1 + diff --git a/package/qt5/qt5webkit/0005-Fix-ICU-related-compile-failures.patch b/package/qt5/qt5webkit/0005-Fix-ICU-related-compile-failures.patch deleted file mode 100644 index 1a99eb7f84a..00000000000 --- a/package/qt5/qt5webkit/0005-Fix-ICU-related-compile-failures.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 38e3436db7222ac403a405db7e0fd1d472f1704a Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sun, 2 Feb 2020 10:51:00 +0100 -Subject: [PATCH] Fix ICU related compile failures. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The ICU macro U16_NEXT() needs a trailing semicolon. - -Fixes: - - platform/graphics/SegmentedFontData.cpp:65:9: error: expected ‘;’ before ‘if’ - dom/Document.cpp:3850:5: error: expected ‘;’ before ‘if’ - dom/Document.cpp:3855:9: error: expected ‘;’ before ‘if’ - dom/Document.cpp:3918:9: error: expected ‘;’ before ‘if’ - -Signed-off-by: Peter Seiderer ---- - Source/WebCore/dom/Document.cpp | 6 +++--- - Source/WebCore/platform/graphics/SegmentedFontData.cpp | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp -index af63b141..26f7312b 100644 ---- a/Source/WebCore/dom/Document.cpp -+++ b/Source/WebCore/dom/Document.cpp -@@ -3846,12 +3846,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length) - unsigned i = 0; - - UChar32 c; -- U16_NEXT(characters, i, length, c) -+ U16_NEXT(characters, i, length, c); - if (!isValidNameStart(c)) - return false; - - while (i < length) { -- U16_NEXT(characters, i, length, c) -+ U16_NEXT(characters, i, length, c); - if (!isValidNamePart(c)) - return false; - } -@@ -3914,7 +3914,7 @@ bool Document::parseQualifiedName(const String& qualifiedName, String& prefix, S - const UChar* s = qualifiedName.characters(); - for (unsigned i = 0; i < length;) { - UChar32 c; -- U16_NEXT(s, i, length, c) -+ U16_NEXT(s, i, length, c); - if (c == ':') { - if (sawColon) { - ec = NAMESPACE_ERR; -diff --git a/Source/WebCore/platform/graphics/SegmentedFontData.cpp b/Source/WebCore/platform/graphics/SegmentedFontData.cpp -index efb20a8c..99b3e86c 100644 ---- a/Source/WebCore/platform/graphics/SegmentedFontData.cpp -+++ b/Source/WebCore/platform/graphics/SegmentedFontData.cpp -@@ -61,7 +61,7 @@ bool SegmentedFontData::containsCharacters(const UChar* characters, int length) - { - UChar32 c; - for (int i = 0; i < length; ) { -- U16_NEXT(characters, i, length, c) -+ U16_NEXT(characters, i, length, c); - if (!containsCharacter(c)) - return false; - } --- -2.25.0 - diff --git a/package/qt5/qt5webkit/0006-configure-remove-legacy-reference-to-qtConfig-mircli.patch b/package/qt5/qt5webkit/0006-configure-remove-legacy-reference-to-qtConfig-mircli.patch deleted file mode 100644 index d9b94697da4..00000000000 --- a/package/qt5/qt5webkit/0006-configure-remove-legacy-reference-to-qtConfig-mircli.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c408484e3a442ecf99d3cc61402f20c45c894b7c Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 3 Feb 2020 21:19:57 +0100 -Subject: [PATCH] configure: remove legacy reference to qtConfig(mirclient) - -The optio mirclient is removed since Qt-5.14.x (see [1]) -Fixes: - - Project ERROR: Could not find feature mirclient. - -[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=8c73ddd8e3fb43cc22fa111b855ab1f9f5b83405 - -Signed-off-by: Peter Seiderer ---- - Tools/qmake/mkspecs/features/configure.prf | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/Tools/qmake/mkspecs/features/configure.prf b/Tools/qmake/mkspecs/features/configure.prf -index 23d99040..783f6752 100644 ---- a/Tools/qmake/mkspecs/features/configure.prf -+++ b/Tools/qmake/mkspecs/features/configure.prf -@@ -130,9 +130,6 @@ defineTest(finalizeConfigure) { - addReasonForSkippingBuild("Build not supported on Android.") - } - QT_FOR_CONFIG += gui-private -- production_build:qtConfig(mirclient) { -- addReasonForSkippingBuild("Build not supported on Ubuntu Touch.") -- } - !gnu_thin_archives:!win32-msvc2013:!mingw:qtConfig(static) { - addReasonForSkippingBuild("QtWebKit cannot be built as a static library on this platform. Check your configuration in qtbase/config.summary.") - } --- -2.25.0 - diff --git a/package/qt5/qt5webkit/0007-Let-Bison-generate-the-header-directly-to-fix-build-.patch b/package/qt5/qt5webkit/0007-Let-Bison-generate-the-header-directly-to-fix-build-.patch deleted file mode 100644 index 7bb81b1259f..00000000000 --- a/package/qt5/qt5webkit/0007-Let-Bison-generate-the-header-directly-to-fix-build-.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 894a5448ee8ce0f134845c877b4c0a2a660e4ab3 Mon Sep 17 00:00:00 2001 -From: Dmitry Shachnev -Date: Tue, 4 Aug 2020 21:04:06 +0300 -Subject: [PATCH] Let Bison generate the header directly, to fix build with - Bison 3.7 - -Starting with Bison 3.7, the generated C++ file #include's the header -by default, instead of duplicating it. So we should not delete it. - -Remove the code to add #ifdef guards to the header, since Bison adds -them itself since version 2.6.3. - -[Original patch taken from -https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-qt/qtwebkit/files/qtwebkit-5.212.0_pre20200309-bison-3.7.patch?id=69e618c88a9134f754264efc11aa0b1fdc028b88 -ported to qtwebkit-opensource-src-5.9.1] -Signed-off-by: Peter Seiderer ---- - Source/WebCore/css/makegrammar.pl | 21 +-------------------- - 1 file changed, 1 insertion(+), 20 deletions(-) - -diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl -index 4e0452ed..9ef32963 100644 ---- a/Source/WebCore/css/makegrammar.pl -+++ b/Source/WebCore/css/makegrammar.pl -@@ -73,23 +73,4 @@ if ($suffix eq ".y.in") { - } - - my $fileBase = File::Spec->join($outputDir, $filename); --system("$bison -d -p $symbolsPrefix $grammarFilePath -o $fileBase.cpp"); -- --open HEADER, ">$fileBase.h" or die; --print HEADER << "EOF"; --#ifndef CSSGRAMMAR_H --#define CSSGRAMMAR_H --EOF -- --open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die; --while () { -- print HEADER; --} --close HPP; -- --print HEADER "#endif\n"; --close HEADER; -- --unlink("$fileBase.cpp.h"); --unlink("$fileBase.hpp"); -- -+system("$bison --defines=$fileBase.h -p $symbolsPrefix $grammarFilePath -o $fileBase.cpp"); --- -2.28.0 - diff --git a/package/qt5/qt5webkit/0008-let-bison-generate-the-header-directly-to-fix-build-.patch b/package/qt5/qt5webkit/0008-let-bison-generate-the-header-directly-to-fix-build-.patch deleted file mode 100644 index 9deb2d8c630..00000000000 --- a/package/qt5/qt5webkit/0008-let-bison-generate-the-header-directly-to-fix-build-.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8959e226fac7f73b9a40e202610bd5e12334561b Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Tue, 15 Sep 2020 19:11:18 +0200 -Subject: [PATCH] let bison generate the header directly, to fix build with - bison 3.7 - -Do the same as the patch taken from [1] for the bison call in -Source/WebCore/DerivedSources.pri to fix file generation -for bison 3.7. - -Signed-off-by: Peter Seiderer ---- - Source/WebCore/DerivedSources.pri | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WebCore/DerivedSources.pri b/Source/WebCore/DerivedSources.pri -index 57a6b0f7..e9f52614 100644 ---- a/Source/WebCore/DerivedSources.pri -+++ b/Source/WebCore/DerivedSources.pri -@@ -987,7 +987,7 @@ GENERATORS += pluginsresources - # GENERATOR 11: XPATH grammar - xpathbison.output = ${QMAKE_FILE_BASE}.cpp - xpathbison.input = XPATHBISON --xpathbison.commands = bison -d -p xpathyy ${QMAKE_FILE_NAME} -o ${QMAKE_FUNC_FILE_OUT_PATH}/${QMAKE_FILE_BASE}.tab.c && $(MOVE) ${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c ${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp && $(MOVE) ${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.h ${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.h -+xpathbison.commands = bison --defines=${QMAKE_FUNC_FILE_OUT_PATH}/${QMAKE_FILE_BASE}.h -p xpathyy ${QMAKE_FILE_NAME} -o ${QMAKE_FUNC_FILE_OUT_PATH}/${QMAKE_FILE_BASE}.cpp - xpathbison.depends = ${QMAKE_FILE_NAME} - GENERATORS += xpathbison - --- -2.28.0 - diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in index 65f08d1c5ea..26c3897d1d3 100644 --- a/package/qt5/qt5webkit/Config.in +++ b/package/qt5/qt5webkit/Config.in @@ -3,16 +3,33 @@ config BR2_PACKAGE_QT5WEBKIT depends on !BR2_STATIC_LIBS depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on BR2_INSTALL_LIBSTDCPP # leveldb - depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu + depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # icu depends on BR2_TOOLCHAIN_HAS_THREADS # leveldb depends on !BR2_BINFMT_FLAT # icu # assumes a FPU is available on MIPS depends on !BR2_MIPS_SOFT_FLOAT + select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_ICU + select BR2_PACKAGE_JPEG select BR2_PACKAGE_LEVELDB + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5LOCATION + select BR2_PACKAGE_QT5SENSORS + select BR2_PACKAGE_QT5WEBCHANNEL + select BR2_PACKAGE_LIBEXECINFO if !BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LIBXSLT select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_WEBP + select BR2_PACKAGE_WEBP_DEMUX + select BR2_PACKAGE_WOFF2 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_QT5BASE_XCB help @@ -29,7 +46,7 @@ config BR2_PACKAGE_QT5WEBKIT without GPU since the successor (QtWebEngine) requires OpenGL support. - http://doc.qt.io/archives/qt-5.5/qtwebkit-index.html + https://doc.qt.io/archives/qt-5.5/qtwebkit-index.html comment "qt5webkit needs a toolchain w/ dynamic library, gcc >= 4.9, host gcc >= 4.9" depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ diff --git a/package/qt5/qt5webkit/qt5webkit.hash b/package/qt5/qt5webkit/qt5webkit.hash index 312d58272ad..d7c8bd6c8a7 100644 --- a/package/qt5/qt5webkit/qt5webkit.hash +++ b/package/qt5/qt5webkit/qt5webkit.hash @@ -1,5 +1,5 @@ -# hash from: https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz.mirrorlist -sha256 28a560becd800a4229bfac317c2e5407cd3cc95308bc4c3ca90dba2577b052cf qtwebkit-opensource-src-5.9.1.tar.xz +# Locally calculated +sha256 9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6 qtwebkit-5.212.0-alpha4.tar.xz # Hashes for license files: sha256 7555fa34bc131a75ca56d65c40cc1ea8f9515d23e353d4c15d58573a042f7805 Source/WebCore/LICENSE-LGPL-2 diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk index dd99661be0b..69123596747 100644 --- a/package/qt5/qt5webkit/qt5webkit.mk +++ b/package/qt5/qt5webkit/qt5webkit.mk @@ -4,12 +4,13 @@ # ################################################################################ -QT5WEBKIT_VERSION = 5.9.1 -QT5WEBKIT_SITE = https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules -QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz +QT5WEBKIT_VERSION = 5.212.0-alpha4 +QT5WEBKIT_SITE = https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-$(QT5WEBKIT_VERSION) +QT5WEBKIT_SOURCE = qtwebkit-$(QT5WEBKIT_VERSION).tar.xz QT5WEBKIT_DEPENDENCIES = \ - host-bison host-flex host-gperf host-python host-ruby \ - leveldb sqlite + host-bison host-flex host-gperf host-python3 host-ruby gstreamer1 \ + gst1-plugins-base icu leveldb jpeg libpng libxml2 libxslt qt5location \ + openssl qt5sensors qt5webchannel sqlite webp woff2 QT5WEBKIT_INSTALL_STAGING = YES QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1 @@ -19,31 +20,41 @@ QT5WEBKIT_LICENSE = LGPL-2.1+, BSD-3-Clause, BSD-2-Clause # in the archive. QT5WEBKIT_LICENSE_FILES += LICENSE.LGPLv21 +ifeq ($(BR2_MIPS_CPU_MIPS32R6),y) +QT5WEBKIT_CONF_OPTS += -DENABLE_JIT=OFF +endif + +ifeq ($(BR2_PACKAGE_QT5BASE_OPENGL),y) +QT5WEBKIT_CONF_OPTS += \ + -DENABLE_OPENGL=ON \ + -DENABLE_WEBKIT2=ON +else +QT5WEBKIT_CONF_OPTS += \ + -DENABLE_OPENGL=OFF \ + -DENABLE_WEBKIT2=OFF +endif + ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) -QT5WEBKIT_DEPENDENCIES += xlib_libXext xlib_libXrender +QT5WEBKIT_DEPENDENCIES += xlib_libXcomposite xlib_libXext xlib_libXrender endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5WEBKIT_DEPENDENCIES += qt5declarative endif -# QtWebkit's build system uses python, but only supports python2. We work -# around this by forcing python2 early in the PATH, via a python->python2 -# symlink. -QT5WEBKIT_CONF_ENV = PATH=$(@D)/host-bin:$(BR_PATH) -QT5WEBKIT_MAKE_ENV = PATH=$(@D)/host-bin:$(BR_PATH) -define QT5WEBKIT_PYTHON2_SYMLINK - mkdir -p $(@D)/host-bin - ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python -endef -QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK - -QT5WEBKIT_CONF_OPTS = WEBKIT_CONFIG+=use_system_leveldb +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +QT5WEBKIT_DEPENDENCIES += libexecinfo +endif -define QT5WEBKIT_INSTALL_TARGET_EXTRAS - cp -dpf $(@D)/bin/* $(TARGET_DIR)/usr/bin/ -endef +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +QT5WEBKIT_CONF_OPTS += -DENABLE_SAMPLING_PROFILER=OFF +endif -QT5WEBKIT_POST_INSTALL_TARGET_HOOKS += QT5WEBKIT_INSTALL_TARGET_EXTRAS +QT5WEBKIT_CONF_OPTS += \ + -DENABLE_TOOLS=OFF \ + -DPORT=Qt \ + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 \ + -DSHARED_CORE=ON \ + -DUSE_LIBHYPHEN=OFF -$(eval $(qmake-package)) +$(eval $(cmake-package)) diff --git a/package/qt5/qt5websockets/Config.in b/package/qt5/qt5websockets/Config.in index 678fb6fa04d..e7bd71b21dc 100644 --- a/package/qt5/qt5websockets/Config.in +++ b/package/qt5/qt5websockets/Config.in @@ -10,4 +10,4 @@ config BR2_PACKAGE_QT5WEBSOCKETS process WebSocket requests, or a client that can consume data received from the server, or both. - http://doc.qt.io/qt-5/qtwebsockets-index.html + https://doc.qt.io/qt-5/qtwebsockets-index.html diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash index 29a9ebe4395..3cc87865dc2 100644 --- a/package/qt5/qt5websockets/qt5websockets.hash +++ b/package/qt5/qt5websockets/qt5websockets.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwebsockets-everywhere-src-5.15.2.tar.xz.sha256 -sha256 a0b42d85dd34ff6e2d23400e02f83d8b85bcd80e60efd1521d12d9625d4a233f qtwebsockets-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 0f59abfa0172e1d4f7cddc3ed457b71faa3bba1cc25b02a06aa79b5ba0c68653 qtwebsockets-b13b56904b76e96ea52d0efe56395acc94b17d96.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5websockets/qt5websockets.mk b/package/qt5/qt5websockets/qt5websockets.mk index a35cdc5799a..d222f025ee3 100644 --- a/package/qt5/qt5websockets/qt5websockets.mk +++ b/package/qt5/qt5websockets/qt5websockets.mk @@ -4,12 +4,13 @@ # ################################################################################ -QT5WEBSOCKETS_VERSION = $(QT5_VERSION) -QT5WEBSOCKETS_SITE = $(QT5_SITE) -QT5WEBSOCKETS_SOURCE = qtwebsockets-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBSOCKETS_VERSION).tar.xz +QT5WEBSOCKETS_VERSION = b13b56904b76e96ea52d0efe56395acc94b17d96 +QT5WEBSOCKETS_SITE = $(QT5_SITE)/qtwebsockets/-/archive/$(QT5WEBSOCKETS_VERSION) +QT5WEBSOCKETS_SOURCE = qtwebsockets-$(QT5WEBSOCKETS_VERSION).tar.bz2 QT5WEBSOCKETS_INSTALL_STAGING = YES QT5WEBSOCKETS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools) QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 +QT5WEBSOCKETS_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) QT5WEBSOCKETS_LICENSE += , BSD-3-Clause (examples) diff --git a/package/qt5/qt5webview/qt5webview.hash b/package/qt5/qt5webview/qt5webview.hash index c1cee9cf858..51d0fb0d7a8 100644 --- a/package/qt5/qt5webview/qt5webview.hash +++ b/package/qt5/qt5webview/qt5webview.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwebview-everywhere-src-5.15.2.tar.xz.sha256 -sha256 be9f46167e4977ead5ef5ecf883fdb812a4120f2436383583792f65557e481e7 qtwebview-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 0fd949c35355bbde613c9daa61e32a3d8ed4a7b3e9fc0e3acf92981cc8bf16c3 qtwebview-920de5f1cd9f9001cfef1bfd2c19e6720793362f.tar.bz2 # Hashes for license files: sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5webview/qt5webview.mk b/package/qt5/qt5webview/qt5webview.mk index 0f37f3eb856..ed1cfe50656 100644 --- a/package/qt5/qt5webview/qt5webview.mk +++ b/package/qt5/qt5webview/qt5webview.mk @@ -4,13 +4,14 @@ # ################################################################################ -QT5WEBVIEW_VERSION = $(QT5_VERSION) -QT5WEBVIEW_SITE = $(QT5_SITE) -QT5WEBVIEW_SOURCE = qtwebview-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBVIEW_VERSION).tar.xz +QT5WEBVIEW_VERSION = 920de5f1cd9f9001cfef1bfd2c19e6720793362f +QT5WEBVIEW_SITE = $(QT5_SITE)/qtwebview/-/archive/$(QT5WEBVIEW_VERSION) +QT5WEBVIEW_SOURCE = qtwebview-$(QT5WEBVIEW_VERSION).tar.bz2 QT5WEBVIEW_DEPENDENCIES = qt5webengine QT5WEBVIEW_INSTALL_STAGING = YES QT5WEBVIEW_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0, GFDL-1.3 (docs) QT5WEBVIEW_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL +QT5WEBVIEW_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) QT5WEBVIEW_LICENSE += , BSD-3-Clause (examples) diff --git a/package/qt5/qt5x11extras/Config.in b/package/qt5/qt5x11extras/Config.in index ff4cc11531a..240443a30a4 100644 --- a/package/qt5/qt5x11extras/Config.in +++ b/package/qt5/qt5x11extras/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_QT5X11EXTRAS Qt X11 Extras enables the Qt programmer to write applications for the Linux/X11 platform. - http://doc.qt.io/qt-5/qtx11extras-index.html + https://doc.qt.io/qt-5/qtx11extras-index.html diff --git a/package/qt5/qt5x11extras/qt5x11extras.hash b/package/qt5/qt5x11extras/qt5x11extras.hash index 08e6753f219..b854cedcb65 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/package/qt5/qt5x11extras/qt5x11extras.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtx11extras-everywhere-src-5.15.2.tar.xz.sha256 -sha256 7014702ee9a644a5a93da70848ac47c18851d4f8ed622b29a72eed9282fc6e3e qtx11extras-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 b562bc8b81e35d71df5530be07522b50065f177fb744782e4fc7536970c5d9da qtx11extras-3898f5484fd4864b047729bfeda9a1222f32364f.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5x11extras/qt5x11extras.mk b/package/qt5/qt5x11extras/qt5x11extras.mk index 075d36dcd81..7b1e32df17f 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.mk +++ b/package/qt5/qt5x11extras/qt5x11extras.mk @@ -4,11 +4,12 @@ # ################################################################################ -QT5X11EXTRAS_VERSION = $(QT5_VERSION) -QT5X11EXTRAS_SITE = $(QT5_SITE) -QT5X11EXTRAS_SOURCE = qtx11extras-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5X11EXTRAS_VERSION).tar.xz +QT5X11EXTRAS_VERSION = 3898f5484fd4864b047729bfeda9a1222f32364f +QT5X11EXTRAS_SITE = $(QT5_SITE)/qtx11extras/-/archive/$(QT5X11EXTRAS_VERSION) +QT5X11EXTRAS_SOURCE = qtx11extras-$(QT5X11EXTRAS_VERSION).tar.bz2 QT5X11EXTRAS_INSTALL_STAGING = YES QT5X11EXTRAS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL +QT5X11EXTRAS_SYNC_QT_HEADERS = YES $(eval $(qmake-package)) diff --git a/package/qt5/qt5xmlpatterns/Config.in b/package/qt5/qt5xmlpatterns/Config.in index 2f3eb24f234..4fcf7e92e39 100644 --- a/package/qt5/qt5xmlpatterns/Config.in +++ b/package/qt5/qt5xmlpatterns/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_QT5XMLPATTERNS The Qt XML Patterns module provides support for XPath, XQuery, XSLT, and XML Schema validation. - http://doc.qt.io/qt-5/qtxmlpatterns-index.html + https://doc.qt.io/qt-5/qtxmlpatterns-index.html diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash index 682e114a7f9..c0e3caa407f 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtxmlpatterns-everywhere-src-5.15.2.tar.xz.sha256 -sha256 76ea2162a7c349188d7e7e4f6c77b78e8a205494c90fee3cea3487a1ae2cf2fa qtxmlpatterns-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 20363267cd8dc93622a0f444708eb83f0ed6d9d9bceaf13c5db806d96b00cf09 qtxmlpatterns-189e28d0aff1f3d7960228ba318b83e3cadac98c.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk index 6845483327c..27818ecb78a 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -4,12 +4,13 @@ # ################################################################################ -QT5XMLPATTERNS_VERSION = $(QT5_VERSION) -QT5XMLPATTERNS_SITE = $(QT5_SITE) -QT5XMLPATTERNS_SOURCE = qtxmlpatterns-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5XMLPATTERNS_VERSION).tar.xz +QT5XMLPATTERNS_VERSION = 189e28d0aff1f3d7960228ba318b83e3cadac98c +QT5XMLPATTERNS_SITE = $(QT5_SITE)/qtxmlpatterns/-/archive/$(QT5XMLPATTERNS_VERSION) +QT5XMLPATTERNS_SOURCE = qtxmlpatterns-$(QT5XMLPATTERNS_VERSION).tar.bz2 QT5XMLPATTERNS_INSTALL_STAGING = YES QT5XMLPATTERNS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL +QT5XMLPATTERNS_SYNC_QT_HEADERS = YES ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5XMLPATTERNS_DEPENDENCIES += qt5declarative diff --git a/package/quagga/quagga.mk b/package/quagga/quagga.mk index adf80850543..97297baff8a 100644 --- a/package/quagga/quagga.mk +++ b/package/quagga/quagga.mk @@ -11,6 +11,7 @@ QUAGGA_DEPENDENCIES = host-gawk host-pkgconf QUAGGA_LICENSE = GPL-2.0+ QUAGGA_LICENSE_FILES = COPYING QUAGGA_CPE_ID_VENDOR = quagga +QUAGGA_SELINUX_MODULES = zebra # We need to override the sysconf and localstate directories so that # quagga can create files as the quagga user without extra diff --git a/package/quazip/Config.in b/package/quazip/Config.in index e9802975587..bba5eddf3d4 100644 --- a/package/quazip/Config.in +++ b/package/quazip/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_QUAZIP bool "quazip" depends on BR2_PACKAGE_QT5 select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP diff --git a/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch b/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch deleted file mode 100644 index 76634a51a4a..00000000000 --- a/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 2cf2aa34d5d55a4eedb1aedd4d56d89d24870230 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sun, 3 Jan 2021 21:11:44 +0100 -Subject: [PATCH] Makefile: allow linking with extra libraries - -With some toolchains, it is neede to link with extra libraries, for -example with -latomic, to fix: - - .../build/quickjs-2020-11-08/quickjs.c:12229: undefined reference to `__atomic_fetch_xor_1' - -Fixes: - http://autobuild.buildroot.net/results/e0766eef95a2559d51e58d1a81a9c40df84ae509 - -Signed-off-by: Peter Seiderer -[yann.morin.1998@free.fr: - - make it a generic variable, not tied to -latomic -] -Signed-off-by: Yann E. MORIN ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index e6ae827..22ad496 100644 ---- a/Makefile -+++ b/Makefile -@@ -179,6 +179,7 @@ endif - ifndef CONFIG_WIN32 - LIBS+=-ldl -lpthread - endif -+LIBS+=$(EXTRA_LIBS) - - $(OBJDIR): - mkdir -p $(OBJDIR) $(OBJDIR)/examples $(OBJDIR)/tests --- -2.29.2 - diff --git a/package/quickjs/Config.in b/package/quickjs/Config.in index 5c3b068c3aa..dc466241bac 100644 --- a/package/quickjs/Config.in +++ b/package/quickjs/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_QUICKJS bool "quickjs" + depends on !BR2_nios2 # fenv.h lacks FE_{DOWN,UP}WARD on nios2 depends on !BR2_STATIC_LIBS # No way to check for fenv support. depends on !BR2_TOOLCHAIN_USES_UCLIBC @@ -14,6 +15,7 @@ config BR2_PACKAGE_QUICKJS https://bellard.org/quickjs/ comment "quickjs needs a glibc or musl toolchain w/ gcc >= 4.9, host gcc >= 4.9, dynamic library" + depends on !BR2_nios2 depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_UCLIBC || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/quickjs/quickjs.hash b/package/quickjs/quickjs.hash index 5dbd4575f03..b6f160800b9 100644 --- a/package/quickjs/quickjs.hash +++ b/package/quickjs/quickjs.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2e9d63dab390a95ed365238f21d8e9069187f7ed195782027f0ab311bb64187b quickjs-2020-11-08.tar.xz +sha256 a45bface4c3379538dea8533878d694e289330488ea7028b105f72572fe7fe1a quickjs-2021-03-27.tar.xz +sha256 f41baf09eef895d468d18c23055d74f711e4b8b2641cef279b5d71285c07bfe8 LICENSE diff --git a/package/quickjs/quickjs.mk b/package/quickjs/quickjs.mk index b85c255f230..a026eec4f00 100644 --- a/package/quickjs/quickjs.mk +++ b/package/quickjs/quickjs.mk @@ -4,10 +4,11 @@ # ################################################################################ -QUICKJS_VERSION = 2020-11-08 +QUICKJS_VERSION = 2021-03-27 QUICKJS_SOURCE = quickjs-$(QUICKJS_VERSION).tar.xz QUICKJS_SITE = https://bellard.org/quickjs QUICKJS_LICENSE = MIT +QUICKJS_LICENSE_FILES = LICENSE QUICKJS_INSTALL_STAGING = YES ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) diff --git a/package/quota/quota.mk b/package/quota/quota.mk index 12d12b1296d..0c751d44367 100644 --- a/package/quota/quota.mk +++ b/package/quota/quota.mk @@ -11,6 +11,7 @@ QUOTA_LICENSE = GPL-2.0+ QUOTA_LICENSE_FILES = COPYING QUOTA_CPE_ID_VENDOR = jan_kara QUOTA_CPE_ID_PRODUCT = linux_diskquota +QUOTA_SELINUX_MODULES = quota QUOTA_CONF_ENV = LIBS="$(TARGET_NLS_LIBS)" QUOTA_CONF_OPTS = --disable-pie diff --git a/package/qwt/qwt.hash b/package/qwt/qwt.hash index 5e9a9a3d7a7..d4fd210cbd6 100644 --- a/package/qwt/qwt.hash +++ b/package/qwt/qwt.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/qwt/files/qwt/6.1.5/ -sha1 07c71427f1f4bbd0354b3a98965943ce2f220766 qwt-6.1.5.tar.bz2 -md5 d65582f99312796ed42c3be3208ed3db qwt-6.1.5.tar.bz2 +# From https://sourceforge.net/projects/qwt/files/qwt/6.1.6 +md5 cc71be5d6c33c2fc19ae8082ccdd3e83 qwt-6.1.6.tar.bz2 +sha1 b1f17a86c9b1b0790a0c0067ef69fb6277efac79 qwt-6.1.6.tar.bz2 # Locally computed -sha256 4076de63ec2b5e84379ddfebf27c7b29b8dc9074f3db7e2ca61d11a1d8adc041 qwt-6.1.5.tar.bz2 +sha256 99460d31c115ee4117b0175d885f47c2c590d784206f09815dc058fbe5ede1f6 qwt-6.1.6.tar.bz2 sha256 d8737db330e1eeb439962e11654ab7f1aece3561d9415454a8c538643824ede6 COPYING diff --git a/package/qwt/qwt.mk b/package/qwt/qwt.mk index 95a041e97a4..9f0b78655f6 100644 --- a/package/qwt/qwt.mk +++ b/package/qwt/qwt.mk @@ -4,7 +4,7 @@ # ################################################################################ -QWT_VERSION = 6.1.5 +QWT_VERSION = 6.1.6 QWT_SOURCE = qwt-$(QWT_VERSION).tar.bz2 QWT_SITE = http://downloads.sourceforge.net/project/qwt/qwt/$(QWT_VERSION) QWT_INSTALL_STAGING = YES diff --git a/package/rabbitmq-c/rabbitmq-c.hash b/package/rabbitmq-c/rabbitmq-c.hash index eb57626518b..dc1406d3d52 100644 --- a/package/rabbitmq-c/rabbitmq-c.hash +++ b/package/rabbitmq-c/rabbitmq-c.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6455efbaebad8891c59f274a852b75b5cc51f4d669dfc78d2ae7e6cc97fcd8c0 rabbitmq-c-0.10.0.tar.gz -sha256 94a12c906acb31a66c2c8a6c1b6e46cab52bc5694c5ada2a06d86b05d3d3f422 LICENSE-MIT +sha256 437d45e0e35c18cf3e59bcfe5dfe37566547eb121e69fca64b98f5d2c1c2d424 rabbitmq-c-0.11.0.tar.gz +sha256 94a12c906acb31a66c2c8a6c1b6e46cab52bc5694c5ada2a06d86b05d3d3f422 LICENSE-MIT diff --git a/package/rabbitmq-c/rabbitmq-c.mk b/package/rabbitmq-c/rabbitmq-c.mk index e6ac52fd878..18ecaa30987 100644 --- a/package/rabbitmq-c/rabbitmq-c.mk +++ b/package/rabbitmq-c/rabbitmq-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -RABBITMQ_C_VERSION = 0.10.0 +RABBITMQ_C_VERSION = 0.11.0 RABBITMQ_C_SITE = $(call github,alanxz,rabbitmq-c,v$(RABBITMQ_C_VERSION)) RABBITMQ_C_LICENSE = MIT RABBITMQ_C_LICENSE_FILES = LICENSE-MIT diff --git a/package/rabbitmq-server/rabbitmq-server.mk b/package/rabbitmq-server/rabbitmq-server.mk index c5d3190de91..33c3359429b 100644 --- a/package/rabbitmq-server/rabbitmq-server.mk +++ b/package/rabbitmq-server/rabbitmq-server.mk @@ -34,6 +34,7 @@ RABBITMQ_SERVER_LICENSE_FILES = \ LICENSE-rabbitmq_aws RABBITMQ_SERVER_CPE_ID_VENDOR = pivotal_software RABBITMQ_SERVER_CPE_ID_PRODUCT = rabbitmq +RABBITMQ_SERVER_SELINUX_MODULES = rabbitmq RABBITMQ_SERVER_DEPENDENCIES = host-elixir host-libxslt host-zip erlang libxslt RABBITMQ_SERVER_TARGET_BINS = rabbitmq-plugins rabbitmq-server rabbitmqctl rabbitmq-env rabbitmq-defaults diff --git a/package/radvd/radvd.mk b/package/radvd/radvd.mk index bed63678412..7a3b0a36ac7 100644 --- a/package/radvd/radvd.mk +++ b/package/radvd/radvd.mk @@ -14,6 +14,7 @@ RADVD_CONF_ENV = \ ac_cv_header_linux_if_arp_h=no RADVD_LICENSE = BSD-4-Clause-like RADVD_LICENSE_FILES = COPYRIGHT +RADVD_SELINUX_MODULES = radvd ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y) RADVD_CONF_OPTS += --with-stack-protector diff --git a/package/ranger/Config.in b/package/ranger/Config.in index ee0ffecd130..a379002f950 100644 --- a/package/ranger/Config.in +++ b/package/ranger/Config.in @@ -4,9 +4,8 @@ config BR2_PACKAGE_RANGER depends on BR2_USE_WCHAR # python3 depends on BR2_TOOLCHAIN_HAS_THREADS # python3 depends on !BR2_STATIC_LIBS # python3 - select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_CURSES if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_CURSES if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_CURSES help ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a diff --git a/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch b/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch new file mode 100644 index 00000000000..a48a583cb1e --- /dev/null +++ b/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch @@ -0,0 +1,33 @@ +From 4f5dbbffcc1c6cf0398bd03450453289a0979dea Mon Sep 17 00:00:00 2001 +From: Dave Beckett +Date: Sat, 18 Sep 2021 17:40:00 -0700 +Subject: [PATCH] XML Writer : compare namespace declarations correctly + +Apply patch from +0001-CVE-2020-25713-raptor2-malformed-input-file-can-lead.patch.1 +that fixes Issue#0000650 https://bugs.librdf.org/mantis/view.php?id=650 +which overwrote heap during XML writing in parse type literal +content. This was detected with clang asan. + +Thanks to Michael Stahl / mst2 for the fix. + +[Retrieved from: +https://github.com/dajobe/raptor/commit/4f5dbbffcc1c6cf0398bd03450453289a0979dea] +Signed-off-by: Fabrice Fontaine +--- + src/raptor_xml_writer.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/raptor_xml_writer.c b/src/raptor_xml_writer.c +index 56993dc3..4426d38c 100644 +--- a/src/raptor_xml_writer.c ++++ b/src/raptor_xml_writer.c +@@ -227,7 +227,7 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer, + + /* check it wasn't an earlier declaration too */ + for(j = 0; j < nspace_declarations_count; j++) +- if(nspace_declarations[j].nspace == element->attributes[j]->nspace) { ++ if(nspace_declarations[j].nspace == element->attributes[i]->nspace) { + declare_me = 0; + break; + } diff --git a/package/raptor/raptor.mk b/package/raptor/raptor.mk index 6d21fad58e6..69ac121300e 100644 --- a/package/raptor/raptor.mk +++ b/package/raptor/raptor.mk @@ -20,6 +20,9 @@ RAPTOR_AUTORECONF = YES # 0002-Calcualte-max-nspace-declarations-correctly-for-XML-.patch RAPTOR_IGNORE_CVES += CVE-2017-18926 +# 0003-XML-Writer-compare-namespace-declarations-correctly.patch +RAPTOR_IGNORE_CVES += CVE-2020-25713 + RAPTOR_CONF_OPTS =\ --with-xml2-config=$(STAGING_DIR)/usr/bin/xml2-config \ --with-xslt-config=$(STAGING_DIR)/usr/bin/xslt-config diff --git a/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch b/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch index cdab6070c24..d482b0b9d40 100644 --- a/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch +++ b/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch @@ -1,4 +1,4 @@ -From 5b015e67af27679f4ca8f7f5f2f71020ec054b0c Mon Sep 17 00:00:00 2001 +From 38b730c00f45abf324caf687b5b00662ff4252c2 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 2 Dec 2016 23:09:44 +0100 Subject: [PATCH] Makefile: allow passing CFLAGS/LDFLAGS @@ -8,21 +8,23 @@ rpiboot. Submitted-upstream: https://github.com/raspberrypi/usbboot/pull/2 Signed-off-by: Thomas Petazzoni +[Rebased on 9324fd7] +Signed-off-by: Peter Seiderer --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 3e7d1e4..d9a7220 100755 +index 822e714..875e717 100755 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ - rpiboot: main.c -- $(CC) -g -o $@ $< -lusb-1.0 -+ $(CC) -g $(CFLAGS) -o $@ $< -lusb-1.0 $(LDFLAGS) + rpiboot: main.c msd/bootcode.h msd/start.h msd/bootcode4.h msd/start4.h +- $(CC) -Wall -Wextra -g -o $@ $< -lusb-1.0 ++ $(CC) -Wall -Wextra -g $(CFLAGS) -o $@ $< -lusb-1.0 $(LDFLAGS) - install: rpiboot - cp rpiboot /usr/bin + %.h: %.bin ./bin2c + ./bin2c $< $@ -- -2.7.4 +2.31.1 diff --git a/package/raspberrypi-usbboot/0002-Makefile-add-DESTDIR-support.patch b/package/raspberrypi-usbboot/0002-Makefile-add-DESTDIR-support.patch deleted file mode 100644 index a757cb0e035..00000000000 --- a/package/raspberrypi-usbboot/0002-Makefile-add-DESTDIR-support.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 905bc741b189d67160b27551b8ad01459c2707a0 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 2 Dec 2016 23:10:37 +0100 -Subject: [PATCH] Makefile: add DESTDIR support - -This allows installing rpiboot outside of /usr if needed. - -Submitted-upstream: https://github.com/raspberrypi/usbboot/pull/2 -Signed-off-by: Thomas Petazzoni -[Arnout: remove /usr] -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - Makefile | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/Makefile b/Makefile -index d9a7220..7835b7f 100755 ---- a/Makefile -+++ b/Makefile -@@ -2,18 +2,18 @@ rpiboot: main.c - $(CC) -g $(CFLAGS) -o $@ $< -lusb-1.0 $(LDFLAGS) - - install: rpiboot -- cp rpiboot /usr/bin -- mkdir -p /usr/share/rpiboot -- cp usbbootcode.bin /usr/share/rpiboot -- cp msd.elf /usr/share/rpiboot -- cp buildroot.elf /usr/share/rpiboot -+ cp rpiboot $(DESTDIR)bin -+ mkdir -p $(DESTDIR)/share/rpiboot -+ cp usbbootcode.bin $(DESTDIR)/share/rpiboot -+ cp msd.elf $(DESTDIR)/share/rpiboot -+ cp buildroot.elf $(DESTDIR)/share/rpiboot - - uninstall: -- rm -f /usr/bin/rpiboot -- rm -f /usr/share/rpiboot/usbbootcode.bin -- rm -f /usr/share/rpiboot/msd.elf -- rm -f /usr/share/rpiboot/buildroot.elf -- rmdir --ignore-fail-on-non-empty /usr/share/rpiboot/ -+ rm -f $(DESTDIR)/bin/rpiboot -+ rm -f $(DESTDIR)/share/rpiboot/usbbootcode.bin -+ rm -f $(DESTDIR)/share/rpiboot/msd.elf -+ rm -f $(DESTDIR)/share/rpiboot/buildroot.elf -+ rmdir --ignore-fail-on-non-empty $(DESTDIR)/share/rpiboot/ - - clean: - rm rpiboot --- -2.7.4 - diff --git a/package/raspberrypi-usbboot/0003-main.c-rework-logic-to-find-def1-def2-and-def3-files.patch b/package/raspberrypi-usbboot/0003-main.c-rework-logic-to-find-def1-def2-and-def3-files.patch deleted file mode 100644 index 30cde49f347..00000000000 --- a/package/raspberrypi-usbboot/0003-main.c-rework-logic-to-find-def1-def2-and-def3-files.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 935894908dc24acda0acea7d211a9d80e55ecadb Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 2 Dec 2016 23:43:23 +0100 -Subject: [PATCH] main.c: rework logic to find def1, def2 and def3 files - -The current logic to find def1, def2 and def3 first tries to find them -in the local directory, and if they are not available, find them in -/usr/share. - -However, this doesn't work if rpiboot and its related files are -installed, but not in /usr. In order to address this use-case, this -commit reworks the logic to find the file path. - -A new function, getfilepath() is created. If the requested file is -available in the current directory, it is used. If not, then the path to -the file is inferred from the location of the currently running -program. I.e if we run /home/foo/sys/bin/rpiboot, then we will search -def1 in usbbootcode.bin in -/home/foo/sys/bin/../share/rpiboot/usbbootcode.bin. - -This continues to address the case of an installation in /usr, while -allowing installation in other locations as well. - -Submitted-upstream: https://github.com/raspberrypi/usbboot/pull/2 -Signed-off-by: Thomas Petazzoni ---- - main.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 48 insertions(+), 13 deletions(-) - -diff --git a/main.c b/main.c -index 1b4e042..7c571d6 100755 ---- a/main.c -+++ b/main.c -@@ -1,10 +1,12 @@ --#include "libusb-1.0/libusb.h" -+#define _GNU_SOURCE - #include - #include - #include -- -+#include - #include - -+#include "libusb-1.0/libusb.h" -+ - int verbose = 0; - int out_ep = 1; - int in_ep = 2; -@@ -146,6 +148,37 @@ int ep_read(unsigned char *buf, int len, libusb_device_handle * usb_device) - return len; - } - -+char *getfilepath(char *filename) -+{ -+ char *progpath, *filepath, *progdir; -+ ssize_t len; -+ -+ /* If file is available locally, use it */ -+ if (access(filename, F_OK) != -1) -+ return filename; -+ -+ /* Otherwise, use the installed version */ -+ progpath = malloc(PATH_MAX); -+ len = readlink("/proc/self/exe", progpath, PATH_MAX - 1); -+ if (len == -1) -+ { -+ free(progpath); -+ return NULL; -+ } -+ -+ progpath[len] = '\0'; -+ progdir = dirname(progpath); -+ if (asprintf(&filepath, "%s/../share/rpiboot/%s", progdir, filename) < 0) -+ { -+ free(progpath); -+ return NULL; -+ } -+ -+ free(progpath); -+ -+ return filepath; -+} -+ - int main(int argc, char *argv[]) - { - int result; -@@ -157,13 +190,9 @@ int main(int argc, char *argv[]) - int last_serial = -1; - FILE *fp1, *fp2, *fp; - -- char def1_inst[] = "/usr/share/rpiboot/usbbootcode.bin"; -- char def2_inst[] = "/usr/share/rpiboot/msd.elf"; -- char def3_inst[] = "/usr/share/rpiboot/buildroot.elf"; -- -- char def1_loc[] = "./usbbootcode.bin"; -- char def2_loc[] = "./msd.elf"; -- char def3_loc[] = "./buildroot.elf"; -+ char def1_name[] = "usbbootcode.bin"; -+ char def2_name[] = "msd.elf"; -+ char def3_name[] = "buildroot.elf"; - - char *def1, *def2, *def3; - -@@ -171,10 +200,16 @@ int main(int argc, char *argv[]) - char *fatimage = NULL, *executable = NULL; - int loop = 0; - --// if local file version exists use it else use installed -- if( access( def1_loc, F_OK ) != -1 ) { def1 = def1_loc; } else { def1 = def1_inst; } -- if( access( def2_loc, F_OK ) != -1 ) { def2 = def2_loc; } else { def2 = def2_inst; } -- if( access( def3_loc, F_OK ) != -1 ) { def3 = def3_loc; } else { def3 = def3_inst; } -+ def1 = getfilepath(def1_name); -+ def2 = getfilepath(def2_name); -+ def3 = getfilepath(def3_name); -+ -+ if (!def1 || !def2 || !def3) -+ { -+ fprintf(stderr, "One of %s, %s or %s cannot be found\n", -+ def1_name, def2_name, def3_name); -+ exit(1); -+ } - - stage1 = def1; - stage2 = def2; --- -2.7.4 - diff --git a/package/raspberrypi-usbboot/Config.in.host b/package/raspberrypi-usbboot/Config.in.host index b1a434f36e2..e5772e3aa19 100644 --- a/package/raspberrypi-usbboot/Config.in.host +++ b/package/raspberrypi-usbboot/Config.in.host @@ -1,6 +1,6 @@ config BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT bool "host raspberrypi-usbboot" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libusb help This package builds and install the "rpiboot" tool for the @@ -13,5 +13,5 @@ config BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT https://github.com/raspberrypi/usbboot comment "host raspberrypi-usbboot needs a toolchain w/ host gcc >= 4.9" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 depends on !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/raspberrypi-usbboot/raspberrypi-usbboot.hash b/package/raspberrypi-usbboot/raspberrypi-usbboot.hash index 94860a9dab6..cedc5fb7e10 100644 --- a/package/raspberrypi-usbboot/raspberrypi-usbboot.hash +++ b/package/raspberrypi-usbboot/raspberrypi-usbboot.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 a8893f8a10522bd58866eb34e7f0d7731c43200d585f122681f428cdef76e676 raspberrypi-usbboot-f4e3f0f9a3c64d846ba53ec3367e33a4f9a7d051.tar.gz +sha256 4565314b38e7c7505b7d32a3b51b49f79c7dd5767d45b86d38e5255ae7489a43 raspberrypi-usbboot-2021.07.01.tar.gz + +# License files +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/raspberrypi-usbboot/raspberrypi-usbboot.mk b/package/raspberrypi-usbboot/raspberrypi-usbboot.mk index 7018617906c..2e4194da0b2 100644 --- a/package/raspberrypi-usbboot/raspberrypi-usbboot.mk +++ b/package/raspberrypi-usbboot/raspberrypi-usbboot.mk @@ -4,8 +4,11 @@ # ################################################################################ -RASPBERRYPI_USBBOOT_VERSION = f4e3f0f9a3c64d846ba53ec3367e33a4f9a7d051 -RASPBERRYPI_USBBOOT_SITE = $(call github,raspberrypi,usbboot,$(RASPBERRYPI_USBBOOT_VERSION)) +RASPBERRYPI_USBBOOT_VERSION = 2021.07.01 +RASPBERRYPI_USBBOOT_SITE = \ + $(call github,raspberrypi,usbboot,v$(RASPBERRYPI_USBBOOT_VERSION)) +RASPBERRYPI_USBBOOT_LICENSE = Apache-2.0 +RASPBERRYPI_USBBOOT_LICENSE_FILES = LICENSE HOST_RASPBERRYPI_USBBOOT_DEPENDENCIES = host-libusb @@ -14,8 +17,7 @@ define HOST_RASPBERRYPI_USBBOOT_BUILD_CMDS endef define HOST_RASPBERRYPI_USBBOOT_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) \ - DESTDIR=$(HOST_DIR) install + $(INSTALL) -D -m 0755 $(@D)/rpiboot $(HOST_DIR)/bin/rpiboot endef $(eval $(host-generic-package)) diff --git a/package/rauc/0001-src-verify_hash.c-include-inttypes.h.patch b/package/rauc/0001-src-verify_hash.c-include-inttypes.h.patch new file mode 100644 index 00000000000..916c8cca0b2 --- /dev/null +++ b/package/rauc/0001-src-verify_hash.c-include-inttypes.h.patch @@ -0,0 +1,38 @@ +From b19a9c26d88a913417e77aaf60c72cdbf393d1f6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 31 May 2022 21:22:36 +0200 +Subject: [PATCH] src/verify_hash.c: include inttypes.h + +Include inttypes.h to avoid the following build failure: + +In file included from /nvmedata/autobuild/instance-22/output-1/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib.h:62, + from src/verity_hash.c:26: +src/verity_hash.c: In function 'verify_zero': +src/verity_hash.c:69:55: error: expected ')' before 'PRIu64' + 69 | g_message("Spare area is not zeroed at position %" PRIu64 ".", + | ^~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/1a093c0e194a061836884419d2f50506105db01e + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/rauc/rauc/pull/914] +--- + src/verity_hash.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/verity_hash.c b/src/verity_hash.c +index db82a78..3b2c2a0 100644 +--- a/src/verity_hash.c ++++ b/src/verity_hash.c +@@ -19,6 +19,7 @@ + */ + + #include ++#include + #include + #include + #include +-- +2.35.1 + diff --git a/package/rauc/Config.in b/package/rauc/Config.in index 676ff42b51f..b4f7b819489 100644 --- a/package/rauc/Config.in +++ b/package/rauc/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_RAUC depends on BR2_USE_WCHAR # glib2 select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_DBUS select BR2_PACKAGE_SQUASHFS # run-time dependency select BR2_PACKAGE_UBOOT_TOOLS if BR2_TARGET_UBOOT # run-time dependency select BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV if BR2_TARGET_UBOOT @@ -19,6 +18,13 @@ config BR2_PACKAGE_RAUC if BR2_PACKAGE_RAUC +config BR2_PACKAGE_RAUC_DBUS + bool "dbus support" + select BR2_PACKAGE_DBUS + help + This option enables support for controlling rauc through + D-Bus. + config BR2_PACKAGE_RAUC_NETWORK bool "network support" select BR2_PACKAGE_LIBCURL diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash index a0252578450..f6c1446de40 100644 --- a/package/rauc/rauc.hash +++ b/package/rauc/rauc.hash @@ -1,4 +1,4 @@ # Locally calculated, after verifying against -# https://github.com/rauc/rauc/releases/download/v1.5.1/rauc-1.5.1.tar.xz.asc -sha256 d4ea009ce702bcb083d942398ccfedec959c6bbb7adc0fd77ae9314ce11d9d91 rauc-1.5.1.tar.xz +# https://github.com/rauc/rauc/releases/download/v1.6/rauc-1.6.tar.xz.asc +sha256 86013788dd02321b7c3f913ad3a1f8802afbc784ec076fa278524a9e1ef9e7b0 rauc-1.6.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk index 4fb3ddde3e3..7a10470cf28 100644 --- a/package/rauc/rauc.mk +++ b/package/rauc/rauc.mk @@ -4,13 +4,32 @@ # ################################################################################ -RAUC_VERSION = 1.5.1 +RAUC_VERSION = 1.6 RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz RAUC_LICENSE = LGPL-2.1 RAUC_LICENSE_FILES = COPYING RAUC_CPE_ID_VENDOR = pengutronix -RAUC_DEPENDENCIES = host-pkgconf openssl libglib2 dbus +RAUC_DEPENDENCIES = host-pkgconf openssl libglib2 + +ifeq ($(BR2_PACKAGE_RAUC_DBUS),y) +RAUC_CONF_OPTS += --enable-service +RAUC_DEPENDENCIES += dbus + +# systemd service uses dbus interface +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +# configure uses pkg-config --variable=systemdsystemunitdir systemd +RAUC_DEPENDENCIES += systemd +define RAUC_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d + printf '[Install]\nWantedBy=multi-user.target\n' \ + >$(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d/buildroot-enable.conf +endef +endif + +else +RAUC_CONF_OPTS += --disable-service +endif ifeq ($(BR2_PACKAGE_RAUC_NETWORK),y) RAUC_CONF_OPTS += --enable-network @@ -26,17 +45,6 @@ else RAUC_CONF_OPTS += --disable-json endif -ifeq ($(BR2_PACKAGE_SYSTEMD),y) -# configure uses pkg-config --variable=systemdsystemunitdir systemd -RAUC_DEPENDENCIES += systemd -endif - -define RAUC_INSTALL_INIT_SYSTEMD - mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d - printf '[Install]\nWantedBy=multi-user.target\n' \ - >$(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d/buildroot-enable.conf -endef - HOST_RAUC_DEPENDENCIES = \ host-pkgconf \ host-openssl \ diff --git a/package/rcw-smarc-sal28/rcw-smarc-sal28.hash b/package/rcw-smarc-sal28/rcw-smarc-sal28.hash index 1f9b42c0ba1..6ca5df77cda 100644 --- a/package/rcw-smarc-sal28/rcw-smarc-sal28.hash +++ b/package/rcw-smarc-sal28/rcw-smarc-sal28.hash @@ -1,3 +1,3 @@ # locally computed -sha256 8e53dfceeb7f15d9e890dd4f69db505727276185f7438a5034616d392ff8f223 rcw-smarc-sal28-10.tar.gz +sha256 8c1c3e26407141ee8d8bd16a43c16c0459b01a60e6e25ca47e22c7499b3e4e65 rcw-smarc-sal28-11.tar.gz sha256 803c65088eed36a6697ca9f03f4379bbad24e276dc8da7fef5eb4dc4008415a1 COPYING diff --git a/package/rcw-smarc-sal28/rcw-smarc-sal28.mk b/package/rcw-smarc-sal28/rcw-smarc-sal28.mk index 0dce543811c..2bc740027ff 100644 --- a/package/rcw-smarc-sal28/rcw-smarc-sal28.mk +++ b/package/rcw-smarc-sal28/rcw-smarc-sal28.mk @@ -4,7 +4,7 @@ # ################################################################################ -RCW_SMARC_SAL28_VERSION = 10 +RCW_SMARC_SAL28_VERSION = 11 RCW_SMARC_SAL28_SITE = $(call github,kontron,rcw-smarc-sal28,v$(RCW_SMARC_SAL28_VERSION)) RCW_SMARC_SAL28_LICENSE = BSD-2-Clause RCW_SMARC_SAL28_LICENSE_FILES = COPYING @@ -14,7 +14,7 @@ RCW_SMARC_SAL28_INSTALL_IMAGES = YES RCW_SMARC_SAL28_BOOT_VARIANT = $(call qstrip,$(BR2_PACKAGE_RCW_SMARC_SAL28_BOOT_VARIANT)) ifeq ($(BR2_PACKAGE_RCW_SMARC_SAL28_BUILD_UPDATE_SCRIPT),y) -RCW_SMARC_SAL28_DEPENDENCIES = host-uboot-tools +RCW_SMARC_SAL28_DEPENDENCIES += host-uboot-tools define RCW_SMARC_SAL28_UPDATE_SCRIPT_BUILD_CMDS MKIMAGE=$(HOST_DIR)/bin/mkimage $(MAKE) -C $(@D)/contrib all endef diff --git a/package/re2/re2.hash b/package/re2/re2.hash index b5457a59b1a..7cfece5d5e3 100644 --- a/package/re2/re2.hash +++ b/package/re2/re2.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 8903cc66c9d34c72e2bc91722288ebc7e3ec37787ecfef44d204b2d6281954d7 re2-2020-11-01.tar.gz +sha256 9c1e6acfd0fed71f40b025a7a1dabaf3ee2ebb74d64ced1f9ee1b0b01d22fd27 re2-2022-02-01.tar.gz sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 LICENSE diff --git a/package/re2/re2.mk b/package/re2/re2.mk index 585846d570c..30791a68e52 100644 --- a/package/re2/re2.mk +++ b/package/re2/re2.mk @@ -4,14 +4,42 @@ # ################################################################################ -RE2_VERSION = 2020-11-01 +RE2_VERSION = 2022-02-01 RE2_SITE = $(call github,google,re2,$(RE2_VERSION)) RE2_LICENSE = BSD-3-Clause RE2_LICENSE_FILES = LICENSE RE2_INSTALL_STAGING = YES -RE2_CONF_OPTS += -DRE2_BUILD_TESTING=OFF -HOST_RE2_CONF_OPTS += -DRE2_BUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON +RE2_MAKE_OPTS = \ + $(TARGET_CONFIGURE_OPTS) \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" -$(eval $(cmake-package)) -$(eval $(host-cmake-package)) +define RE2_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(RE2_MAKE_OPTS) \ + -C $(@D) $(if $(BR2_STATIC_LIBS),static) +endef + +define RE2_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(RE2_MAKE_OPTS) \ + DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) \ + $(if $(BR2_STATIC_LIBS),static-install,install) +endef + +define RE2_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(RE2_MAKE_OPTS) \ + DESTDIR="$(TARGET_DIR)" prefix=/usr -C $(@D) \ + $(if $(BR2_STATIC_LIBS),static-install,install) +endef + +define HOST_RE2_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ + -C $(@D) +endef + +define HOST_RE2_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ + -C $(@D) DESTDIR="$(HOST_DIR)" prefix=/usr install +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/readline/0000-curses-link.patch b/package/readline/0000-curses-link.patch deleted file mode 100644 index 56b47702202..00000000000 --- a/package/readline/0000-curses-link.patch +++ /dev/null @@ -1,16 +0,0 @@ -link readline directly to ncurses since it needs symbols from it - -upstream readline does this on purpose (no direct linking), but -it doesn't make much sense in a Linux world - ---- a/support/shobj-conf -+++ b/support/shobj-conf -@@ -42,7 +42,7 @@ - SHOBJ_LIBS= - - SHLIB_XLDFLAGS= --SHLIB_LIBS= -+SHLIB_LIBS=-lncurses - - SHLIB_DOT='.' - SHLIB_LIBPREF='lib' diff --git a/package/readline/0001-curses-link.patch b/package/readline/0001-curses-link.patch new file mode 100644 index 00000000000..6afc5ba0785 --- /dev/null +++ b/package/readline/0001-curses-link.patch @@ -0,0 +1,18 @@ +link readline directly to ncurses since it needs symbols from it + +upstream readline does this on purpose (no direct linking), but +it doesn't make much sense in a Linux world + +Signed-off-by: Gustavo Zacarias + +--- a/support/shobj-conf ++++ b/support/shobj-conf +@@ -42,7 +42,7 @@ + SHOBJ_LIBS= + + SHLIB_XLDFLAGS= +-SHLIB_LIBS= ++SHLIB_LIBS=-lncurses + + SHLIB_DOT='.' + SHLIB_LIBPREF='lib' diff --git a/package/readline/readline.hash b/package/readline/readline.hash index 63172f11218..b0530a2d729 100644 --- a/package/readline/readline.hash +++ b/package/readline/readline.hash @@ -1,5 +1,6 @@ -# Locally calculated after checking pgp signature -sha256 f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02 readline-8.1.tar.gz +# Locally calculated after checking pgp signature from +# https://ftp.gnu.org/gnu/readline/readline-8.1.2.tar.gz.sig +sha256 7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6 readline-8.1.2.tar.gz # Hash for license file sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/readline/readline.mk b/package/readline/readline.mk index 06a96b67a8b..b1fd181b784 100644 --- a/package/readline/readline.mk +++ b/package/readline/readline.mk @@ -4,7 +4,7 @@ # ################################################################################ -READLINE_VERSION = 8.1 +READLINE_VERSION = 8.1.2 READLINE_SITE = $(BR2_GNU_MIRROR)/readline READLINE_INSTALL_STAGING = YES READLINE_DEPENDENCIES = ncurses host-autoconf diff --git a/package/redis/redis.hash b/package/redis/redis.hash index 9b87b49fb18..6871a59041a 100644 --- a/package/redis/redis.hash +++ b/package/redis/redis.hash @@ -1,5 +1,5 @@ # From https://github.com/redis/redis-hashes/blob/master/README -sha256 f16ad973d19f80f121e53794d5eb48a997e2c6a85b5be41bb3b66750cc17bf6b redis-6.0.12.tar.gz +sha256 b7a79cc3b46d3c6eb52fa37dde34a4a60824079ebdfb3abfbbfa035947c55319 redis-6.2.7.tar.gz # Locally calculated sha256 97f0a15b7bbae580d2609dad2e11f1956ae167be296ab60f4691ab9c30ee9828 COPYING diff --git a/package/redis/redis.mk b/package/redis/redis.mk index c851e589c4c..fb7f6537426 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -4,11 +4,12 @@ # ################################################################################ -REDIS_VERSION = 6.0.12 +REDIS_VERSION = 6.2.7 REDIS_SITE = http://download.redis.io/releases REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING REDIS_CPE_ID_VENDOR = redislabs +REDIS_SELINUX_MODULES = redis define REDIS_USERS redis -1 redis -1 * /var/lib/redis /bin/false - Redis Server diff --git a/package/refpolicy/Config.in b/package/refpolicy/Config.in index c529b85e1d2..0e72b895df4 100644 --- a/package/refpolicy/Config.in +++ b/package/refpolicy/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_REFPOLICY bool "refpolicy" depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol + depends on BR2_HOST_GCC_AT_LEAST_5 # host-setools -> host-libsepol # Even though libsepol is not necessary for building, we get # the policy version from libsepol, so we select it, and treat # it like a runtime dependency. @@ -113,5 +115,7 @@ endif endif -comment "refpolicy needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "refpolicy needs a toolchain w/ threads, gcc >= 5, host gcc >= 5" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ + !BR2_HOST_GCC_AT_LEAST_5 diff --git a/package/refpolicy/refpolicy.hash b/package/refpolicy/refpolicy.hash index 7e258c4e04d..b08c22ed4e5 100644 --- a/package/refpolicy/refpolicy.hash +++ b/package/refpolicy/refpolicy.hash @@ -1,5 +1,5 @@ # From https://github.com/SELinuxProject/refpolicy/releases -sha256 1488f9b94060de28addbcb29fb8437ee0d75cba15e11280dd9dfa3e09986f57b refpolicy-2.20200818.tar.bz2 +sha256 965f98f0b68a24fd0b8e8d973d319332aea88973e1d6c455ef9c2a31aefaeaa6 refpolicy-2.20220106.tar.bz2 # Locally computed -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/refpolicy/refpolicy.mk b/package/refpolicy/refpolicy.mk index 0194708b378..44c50af2782 100644 --- a/package/refpolicy/refpolicy.mk +++ b/package/refpolicy/refpolicy.mk @@ -6,7 +6,7 @@ REFPOLICY_LICENSE = GPL-2.0 REFPOLICY_LICENSE_FILES = COPYING -REFPOLICY_CPE_ID_VENDOR = tresys +REFPOLICY_CPE_ID_VENDOR = selinuxproject REFPOLICY_INSTALL_STAGING = YES REFPOLICY_DEPENDENCIES = \ host-m4 \ @@ -14,7 +14,8 @@ REFPOLICY_DEPENDENCIES = \ host-policycoreutils \ host-python3 \ host-setools \ - host-gawk + host-gawk \ + host-libxml2 ifeq ($(BR2_PACKAGE_REFPOLICY_CUSTOM_GIT),y) REFPOLICY_VERSION = $(call qstrip,$(BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION)) @@ -22,14 +23,15 @@ REFPOLICY_SITE = $(call qstrip,$(BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL)) REFPOLICY_SITE_METHOD = git BR_NO_CHECK_HASH_FOR += $(REFPOLICY_SOURCE) else -REFPOLICY_VERSION = 2.20200818 +REFPOLICY_VERSION = 2.20220106 REFPOLICY_SOURCE = refpolicy-$(REFPOLICY_VERSION).tar.bz2 -REFPOLICY_SITE = https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_2_20200818 +REFPOLICY_SITE = https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_$(subst .,_,$(REFPOLICY_VERSION)) endif # Cannot use multiple threads to build the reference policy REFPOLICY_MAKE = \ PYTHON=$(HOST_DIR)/usr/bin/python3 \ + XMLLINT=$(LIBXML2_HOST_BINARY) \ TEST_TOOLCHAIN=$(HOST_DIR) \ $(TARGET_MAKE_ENV) \ $(MAKE1) diff --git a/package/resiprocate/0001-Fix-some-issue-compiling-with-Visual-Studio.patch b/package/resiprocate/0001-Fix-some-issue-compiling-with-Visual-Studio.patch new file mode 100644 index 00000000000..0efe0d9cfbc --- /dev/null +++ b/package/resiprocate/0001-Fix-some-issue-compiling-with-Visual-Studio.patch @@ -0,0 +1,95 @@ +From be76b10a50749e2e11dce8dcc38b414a7f9d8747 Mon Sep 17 00:00:00 2001 +From: Ben Walden +Date: Sat, 22 Aug 2020 23:14:11 +0100 +Subject: [PATCH] Fix some issue compiling with Visual Studio 16.7.0 and tidy + up Visual Studio 16 project files + +[Retrieved (and updated to keep only RendKa.cxx update) from: +https://github.com/resiprocate/resiprocate/commit/be76b10a50749e2e11dce8dcc38b414a7f9d8747] +Signed-off-by: Fabrice Fontaine +--- + VisualStudioReadme.htm | 65 + + contrib/GeoIP/GeoIP_12_0.vcxproj | 550 ------- + contrib/GeoIP/GeoIP_16_0.vcxproj | 93 +- + .../db/build_windows/db_static_12_0.vcxproj | 1260 ----------------- + .../db/build_windows/db_static_16_0.vcxproj | 696 +-------- + contrib/db/dbinc/atomic.h | 4 +- + contrib/db/mp/mp_fget.c | 4 +- + contrib/db/mp/mp_mvcc.c | 4 +- + contrib/db/mp/mp_region.c | 4 +- + contrib/db/mutex/mut_method.c | 2 +- + contrib/pcre/pcre_12_0.vcxproj | 466 ------ + contrib/pcre/pcre_16_0.vcxproj | 159 +-- + contrib/popt/popt_12_0.vcxproj | 394 ------ + contrib/popt/popt_16_0.vcxproj | 120 +- + reSIProcate_16_0.sln | 58 +- + .../queuetostream_12_0.vcxproj | 582 -------- + .../queuetostream_16_0.vcxproj | 207 ++- + repro/repro_12_0.vcxproj | 825 ----------- + repro/repro_12_0.vcxproj.filters | 47 - + repro/repro_16_0.vcxproj | 159 ++- + repro/reprocmd/reprocmd_12_0.vcxproj | 597 -------- + repro/reprocmd/reprocmd_16_0.vcxproj | 139 +- + repro/reprolib_12_0.vcxproj | 596 -------- + repro/reprolib_12_0.vcxproj.filters | 136 -- + repro/reprolib_16_0.vcxproj | 132 +- + resip/dum/dum_12_0.vcxproj | 615 -------- + resip/dum/dum_16_0.vcxproj | 124 +- + resip/dum/test/basicCall_12_0.vcxproj | 621 -------- + resip/dum/test/basicCall_16_0.vcxproj | 145 +- + resip/dum/test/basicClient_12_0.vcxproj | 653 --------- + resip/dum/test/basicClient_16_0.vcxproj | 158 +-- + resip/dum/test/basicMessage_12_0.vcxproj | 615 -------- + resip/dum/test/basicMessage_16_0.vcxproj | 141 +- + resip/dum/test/basicRegister_12_0.vcxproj | 615 -------- + resip/dum/test/basicRegister_16_0.vcxproj | 137 +- + resip/rend/RendKa.cxx | 2 +- + resip/rend/rend_12_0.vcxproj | 352 ----- + resip/rend/rend_16_0.vcxproj | 89 +- + resip/stack/resiprocate_12_0.vcxproj | 873 ------------ + resip/stack/resiprocate_12_0.vcxproj.filters | 351 ----- + resip/stack/resiprocate_16_0.vcxproj | 165 ++- + resip/stack/test/test_12_0.vcxproj | 627 -------- + resip/stack/test/test_16_0.vcxproj | 171 ++- + rutil/dns/ares/ares_12_0.vcxproj | 488 ------- + rutil/dns/ares/ares_12_0.vcxproj.filters | 34 - + rutil/dns/ares/ares_16_0.vcxproj | 159 +-- + rutil/rutil_12_0.vcxproj | 604 -------- + rutil/rutil_16_0.vcxproj | 153 +- + 48 files changed, 1409 insertions(+), 13782 deletions(-) + delete mode 100644 contrib/GeoIP/GeoIP_12_0.vcxproj + delete mode 100644 contrib/db/build_windows/db_static_12_0.vcxproj + delete mode 100644 contrib/pcre/pcre_12_0.vcxproj + delete mode 100644 contrib/popt/popt_12_0.vcxproj + delete mode 100644 repro/accountingconsumers/queuetostream_12_0.vcxproj + delete mode 100644 repro/repro_12_0.vcxproj + delete mode 100644 repro/repro_12_0.vcxproj.filters + delete mode 100644 repro/reprocmd/reprocmd_12_0.vcxproj + delete mode 100644 repro/reprolib_12_0.vcxproj + delete mode 100644 repro/reprolib_12_0.vcxproj.filters + delete mode 100644 resip/dum/dum_12_0.vcxproj + delete mode 100644 resip/dum/test/basicCall_12_0.vcxproj + delete mode 100644 resip/dum/test/basicClient_12_0.vcxproj + delete mode 100644 resip/dum/test/basicMessage_12_0.vcxproj + delete mode 100644 resip/dum/test/basicRegister_12_0.vcxproj + delete mode 100644 resip/rend/rend_12_0.vcxproj + delete mode 100644 resip/stack/resiprocate_12_0.vcxproj + delete mode 100644 resip/stack/resiprocate_12_0.vcxproj.filters + delete mode 100644 resip/stack/test/test_12_0.vcxproj + delete mode 100644 rutil/dns/ares/ares_12_0.vcxproj + delete mode 100644 rutil/dns/ares/ares_12_0.vcxproj.filters + delete mode 100644 rutil/rutil_12_0.vcxproj + +diff --git a/resip/rend/RendKa.cxx b/resip/rend/RendKa.cxx +index 8645f17636..8321ada1ee 100644 +--- a/resip/rend/RendKa.cxx ++++ b/resip/rend/RendKa.cxx +@@ -66,7 +66,7 @@ bool operator<(const RendKaAssoc& a, const RendKaAssoc& b) + + struct RendKaConn + { +- bool operator() (const RendKaAssocPtr& a, const RendKaAssocPtr& b) ++ bool operator()(const RendKaAssocPtr& a, const RendKaAssocPtr& b) const + { + return *a < *b; + } diff --git a/package/resiprocate/Config.in b/package/resiprocate/Config.in index 509c11ffdae..7561b7c86c7 100644 --- a/package/resiprocate/Config.in +++ b/package/resiprocate/Config.in @@ -9,6 +9,7 @@ config BR2_PACKAGE_RESIPROCATE depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() select BR2_PACKAGE_C_ARES + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help reSIProcate is a framework that aims to fully implement the SIP protocol in first class C++. It is intended for use in diff --git a/package/resiprocate/resiprocate.mk b/package/resiprocate/resiprocate.mk index b31712b41b8..58b942465c3 100644 --- a/package/resiprocate/resiprocate.mk +++ b/package/resiprocate/resiprocate.mk @@ -5,7 +5,7 @@ ################################################################################ RESIPROCATE_VERSION = 1.12.0 -RESIPROCATE_SITE = https://www.resiprocate.org/files/pub/reSIProcate/releases +RESIPROCATE_SITE = https://www.resiprocate.org/files/pub/reSIProcate/releases # For complete details see https://www.resiprocate.org/License RESIPROCATE_LICENSE = VSL-1.0, BSD-3-Clause RESIPROCATE_LICENSE_FILES = COPYING diff --git a/package/restclient-cpp/restclient-cpp.mk b/package/restclient-cpp/restclient-cpp.mk index 826be870b97..1ba9ed81399 100644 --- a/package/restclient-cpp/restclient-cpp.mk +++ b/package/restclient-cpp/restclient-cpp.mk @@ -5,7 +5,7 @@ ################################################################################ RESTCLIENT_CPP_VERSION = 0.5.2 -RESTCLIENT_CPP_SITE = $(call github,mrtazz,restclient-cpp,$(RESTCLIENT_CPP_VERSION)) +RESTCLIENT_CPP_SITE = $(call github,mrtazz,restclient-cpp,$(RESTCLIENT_CPP_VERSION)) RESTCLIENT_CPP_LICENSE = MIT RESTCLIENT_CPP_LICENSE_FILES = LICENSE RESTCLIENT_CPP_INSTALL_STAGING = YES diff --git a/package/restorecond/Config.in b/package/restorecond/Config.in index 31f85f2882e..5e5567b2135 100644 --- a/package/restorecond/Config.in +++ b/package/restorecond/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_RESTORECOND depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on !BR2_STATIC_LIBS # libselinux + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB select BR2_PACKAGE_LIBGLIB2 @@ -15,7 +16,7 @@ config BR2_PACKAGE_RESTORECOND https://github.com/SELinuxProject/selinux/wiki/Releases -comment "restorecond needs a toolchain w/ wchar, threads, dynamic library" +comment "restorecond needs a toolchain w/ wchar, threads, dynamic library, gcc >= 5" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/restorecond/S02restorecond b/package/restorecond/S02restorecond new file mode 100644 index 00000000000..796b07a32f7 --- /dev/null +++ b/package/restorecond/S02restorecond @@ -0,0 +1,54 @@ +#!/bin/sh + +DAEMON=restorecond +PIDFILE=/var/run/$DAEMON.pid + +RESTORECOND_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() +{ + printf 'Starting %s: ' "$DAEMON" + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $RESTORECOND_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() +{ + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p $PIDFILE -R TERM/30/KILL/5 -n $DAEMON + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() +{ + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + restart;; + *) + echo $"Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/restorecond/restorecond.hash b/package/restorecond/restorecond.hash index e30e62a8128..b38c6dcf143 100644 --- a/package/restorecond/restorecond.hash +++ b/package/restorecond/restorecond.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 82ca45099685a45d718f11f8859963c1ba83d98e510312cbf0b7dc5664c60ad0 restorecond-3.1.tar.gz +sha256 218c3d8873f31764e3c82d53ac713c0c9faaa07caf42ed7184e93ca2b27d8f27 restorecond-3.3.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/restorecond/restorecond.mk b/package/restorecond/restorecond.mk index 7ab7e978ddc..7d6ed86f08e 100644 --- a/package/restorecond/restorecond.mk +++ b/package/restorecond/restorecond.mk @@ -4,8 +4,8 @@ # ################################################################################ -RESTORECOND_VERSION = 3.1 -RESTORECOND_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +RESTORECOND_VERSION = 3.3 +RESTORECOND_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(RESTORECOND_VERSION) RESTORECOND_LICENSE = GPL-2.0 RESTORECOND_LICENSE_FILES = COPYING @@ -27,8 +27,8 @@ define RESTORECOND_BUILD_CMDS endef define RESTORECOND_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D $(@D)/restorecond.init \ - $(TARGET_DIR)/etc/init.d/S20restorecond + $(INSTALL) -m 0755 -D package/restorecond/S02restorecond \ + $(TARGET_DIR)/etc/init.d/S02restorecond endef define RESTORECOND_INSTALL_INIT_SYSTEMD diff --git a/package/rhash/0001-configure-allow-cross-compilation.patch b/package/rhash/0001-configure-allow-cross-compilation.patch deleted file mode 100644 index 6a8f40f1842..00000000000 --- a/package/rhash/0001-configure-allow-cross-compilation.patch +++ /dev/null @@ -1,57 +0,0 @@ -From a3d0ef352529217c9c32ce1a1b1db1420798cbe5 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 10 Oct 2020 11:07:39 +0200 -Subject: [PATCH] configure: allow cross-compilation - -Some compilers are in fact a wrapper (e.g. to speed compilation with -ccache or distcc, or as a cross-compiler wrapper). Those wrappers may -not properly recognise the -v option, or may internally enforce some -flags that conflict with -v. - -Use --version as a fall-back. - -With --version. the compiler will report its executable's basename, e.g. -arm-linux-gcc not gcc. Catter for that by grepping for the compiler -family name. - -Signed-off-by: Fabrice Fontaine -[yann.morin.1998@free.fr: - - retain "$CC -v" as default, fallback to "$CC --version" -] -Signed-off-by: Yann E. MORIN ---- - configure | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 9d72895..46491f7 100755 ---- a/configure -+++ b/configure -@@ -513,9 +513,14 @@ else - CC_TMP="$CC" - test -n "$OPT_CC" && OTHER_CC= || OTHER_CC="gcc cc" - for CC in "$CC_TMP" $OTHER_CC; do -+ cc_name_tmp= - if run_cmd "$CC -v"; then - cc_name_tmp=$($CC -v 2>&1 | tail -n 1 | cut -d ' ' -f 1) -- if test "$cc_name_tmp" = "gcc"; then -+ elif run_cmd "$CC --version"; then -+ cc_name_tmp=$($CC --version 2>&1 | head -n 1 | cut -d ' ' -f 1) -+ fi -+ if test "${cc_name_tmp}"; then -+ if echo "$cc_name_tmp" | grep -q "gcc"; then - cc_name=$cc_name_tmp - start_check "$CC version" - cc_vendor=gnu -@@ -539,7 +544,7 @@ else - finish_check "$cc_name $cc_version" - break - fi -- if $CC -v 2>&1 | grep -q "clang"; then -+ if echo "$cc_name_tmp" | grep -q "clang"; then - start_check "$CC version" - cc_vendor=clang - cc_version=$($CC -dumpversion 2>&1) --- -2.25.1 - diff --git a/package/rhash/0002-configure-add-uclinux-target.patch b/package/rhash/0002-configure-add-uclinux-target.patch deleted file mode 100644 index ca4a55644e1..00000000000 --- a/package/rhash/0002-configure-add-uclinux-target.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 683f6875313cab9643402bb1710ebabb76e7c018 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 14 Jan 2021 08:37:06 +0100 -Subject: [PATCH] configure: add uclinux target - -Fix the following build failure with ---target=arm-buildroot-uclinux-uclibcgnueabi: - -Checking for target OS ... UNKNOWN - -Error: Unknown target OS, please specify the --target option - -Fixes: - - http://autobuild.buildroot.org/results/598ca65cf0c7ecf9ceaecb75868b656570ae00d2 - -Signed-off-by: Fabrice Fontaine ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index c8e1ea7..aae4dce 100755 ---- a/configure -+++ b/configure -@@ -426,7 +426,7 @@ else - component=$1 - part=$(echo $BUILD_TARGET | cut -d '-' -f $component) - case "$(echo $part | tr '[A-Z]' '[a-z]')" in -- linux) TARGET_OS=Linux ;; -+ linux|uclinux) TARGET_OS=Linux ;; - freebsd*) TARGET_OS=FreeBSD ;; - gnu/kfreebsd) TARGET_OS=FreeBSD ;; - netbsd) TARGET_OS=NetBSD ;; --- -2.29.2 - diff --git a/package/rhash/Config.in b/package/rhash/Config.in index 2ddcb00feb6..35ccb3833e1 100644 --- a/package/rhash/Config.in +++ b/package/rhash/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RHASH bool "rhash" + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help LibRHash is a professional, portable, thread-safe C library for computing a wide variety of hash sums, such as CRC32, diff --git a/package/rhash/rhash.hash b/package/rhash/rhash.hash index ba7bbb8ab74..e0555af3c29 100644 --- a/package/rhash/rhash.hash +++ b/package/rhash/rhash.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/rhash/files/rhash/1.4.1/ -sha1 e1f559d060fd07bfca854c8ae3384798bd2ef266 rhash-1.4.1-src.tar.gz +# From https://sourceforge.net/projects/rhash/files/rhash/1.4.2/ +sha1 fdb0b0c16f3ba3eba734b3adf9f2fc4c427ff987 rhash-1.4.2-src.tar.gz # Locally calculated -sha256 430c812733e69b78f07ce30a05db69563450e41e217ae618507a4ce2e144a297 rhash-1.4.1-src.tar.gz +sha256 600d00f5f91ef04194d50903d3c79412099328c42f28ff43a0bdb777b00bec62 rhash-1.4.2-src.tar.gz sha256 953e55838353335148c90b5a38a4894292680b1d4c37228ffddddbf18ce54bf5 COPYING diff --git a/package/rhash/rhash.mk b/package/rhash/rhash.mk index 92abcd29b03..02af0aa57bb 100644 --- a/package/rhash/rhash.mk +++ b/package/rhash/rhash.mk @@ -4,7 +4,7 @@ # ################################################################################ -RHASH_VERSION = 1.4.1 +RHASH_VERSION = 1.4.2 RHASH_SOURCE = rhash-$(RHASH_VERSION)-src.tar.gz RHASH_SITE = https://sourceforge.net/projects/rhash/files/rhash/$(RHASH_VERSION) RHASH_LICENSE = 0BSD @@ -15,9 +15,9 @@ RHASH_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) RHASH_ADDLDFLAGS = $(TARGET_NLS_LIBS) ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) -RHASH_CONF_OPTS += --disable-gettext -else RHASH_CONF_OPTS += --enable-gettext +else +RHASH_CONF_OPTS += --disable-gettext endif ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) diff --git a/package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch b/package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch new file mode 100644 index 00000000000..e2ba68f3891 --- /dev/null +++ b/package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch @@ -0,0 +1,131 @@ +From 68c2a4d7a5d9b46f65121958fdb12d5270bfd1b6 Mon Sep 17 00:00:00 2001 +From: Jonathan Stites +Date: Wed, 6 May 2020 12:55:35 +0000 +Subject: [PATCH] puts jemalloc allocator behind a cargo feature flag + +Retrieved from: https://github.com/BurntSushi/ripgrep/pull/1569 + +Moves jemalloc behind a feature for musl builds, where it is not +supported by the upstream project, so ripgrep will fail to build. + +Signed-off-by: Sam Voss +--- + .github/workflows/ci.yml | 6 ++++++ + .github/workflows/release.yml | 8 +++++++- + Cargo.toml | 8 +++++++- + README.md | 9 +++++++++ + crates/core/main.rs | 8 ++++++-- + 5 files changed, 35 insertions(+), 4 deletions(-) + +diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml +index ab154ec..aa567d9 100644 +--- a/.github/workflows/ci.yml ++++ b/.github/workflows/ci.yml +@@ -149,6 +149,12 @@ jobs: + if: matrix.target != '' + run: ${{ env.CARGO }} test --verbose --workspace ${{ env.TARGET_FLAGS }} + ++ - name: Run tests with jemalloc (Musl) ++ # We only use the jemalloc allocator when building with musl. ++ # The system allocator is good enough for other platforms. ++ if: matrix.os == 'nightly-musl' ++ run: ${{ env.CARGO }} test --verbose --all --features jemalloc ${{ env.TARGET_FLAGS }} ++ + - name: Test for existence of build artifacts (Windows) + if: matrix.os == 'windows-2019' + shell: bash +diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml +index 7cfb6a4..ad6b82d 100644 +--- a/.github/workflows/release.yml ++++ b/.github/workflows/release.yml +@@ -133,7 +133,13 @@ jobs: + echo "target flag is: ${{ env.TARGET_FLAGS }}" + echo "target dir is: ${{ env.TARGET_DIR }}" + +- - name: Build release binary ++ - name: Build release binary (linux) ++ if: matrix.build == 'linux' ++ # Use jemalloc allocator for much better performance over the musl default allocator ++ run: ${{ env.CARGO }} build --verbose --release --features "pcre2 jemalloc" ${{ env.TARGET_FLAGS }} ++ ++ - name: Build release binary (non-linux) ++ if: matrix.build != 'linux' + run: ${{ env.CARGO }} build --verbose --release --features pcre2 ${{ env.TARGET_FLAGS }} + + - name: Strip release binary (linux and macos) +diff --git a/Cargo.toml b/Cargo.toml +index fb78fcb..0d34b1e 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -56,8 +56,9 @@ version = "2.33.0" + default-features = false + features = ["suggestions"] + +-[target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.jemallocator] ++[dependencies.jemallocator] + version = "0.3.0" ++optional = true + + [build-dependencies] + lazy_static = "1.1.0" +@@ -75,6 +76,11 @@ walkdir = "2" + [features] + simd-accel = ["grep/simd-accel"] + pcre2 = ["grep/pcre2"] ++# The jemalloc allocator is used for improved ++# performance on x86 musl builds. ++# Cargo does not yet support platform-specific features ++# https://github.com/rust-lang/cargo/issues/1197 ++jemalloc = ["jemallocator"] + + [profile.release] + debug = 1 +diff --git a/README.md b/README.md +index 46938bc..9917b29 100644 +--- a/README.md ++++ b/README.md +@@ -406,6 +406,15 @@ build a static executable with MUSL and with PCRE2, then you will need to have + `musl-gcc` installed, which might be in a separate package from the actual + MUSL library, depending on your Linux distribution. + ++When building with the MUSL target on Linux, it is recommended to use the ++jemalloc allocator for performance: ++ ++``` ++$ rustup target add x86_64-unknown-linux-musl ++$ cargo build --release --target x86_64-unknown-linux-musl --features jemalloc ++``` ++ ++ + + ### Running tests + +diff --git a/crates/core/main.rs b/crates/core/main.rs +index 47385de..c9dae5a 100644 +--- a/crates/core/main.rs ++++ b/crates/core/main.rs +@@ -31,7 +31,7 @@ mod subject; + // have the fastest version of everything. Its goal is to be small and amenable + // to static compilation.) Even though ripgrep isn't particularly allocation + // heavy, musl's allocator appears to slow down ripgrep quite a bit. Therefore, +-// when building with musl, we use jemalloc. ++// we expose a feature for using jemalloc when building with musl. + // + // We don't unconditionally use jemalloc because it can be nice to use the + // system's default allocator by default. Moreover, jemalloc seems to increase +@@ -39,7 +39,11 @@ mod subject; + // + // Moreover, we only do this on 64-bit systems since jemalloc doesn't support + // i686. +-#[cfg(all(target_env = "musl", target_pointer_width = "64"))] ++#[cfg(all( ++ target_env = "musl", ++ target_pointer_width = "64", ++ feature = "jemalloc" ++))] + #[global_allocator] + static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; + +-- +2.32.0 + diff --git a/package/ripgrep/ripgrep.hash b/package/ripgrep/ripgrep.hash index 0841c0185c9..cd2dbedfb41 100644 --- a/package/ripgrep/ripgrep.hash +++ b/package/ripgrep/ripgrep.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7035379fce0c1e32552e8ee528b92c3d01b8d3935ea31d26c51a73287be74bb3 ripgrep-0.8.1.tar.gz -sha256 0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f LICENSE-MIT +sha256 6f1d4a8b653ce48d59ad777288b1257cbda607db29db19d031b7e622c60526f8 ripgrep-af6b6c543b224d348a8876f0c06245d9ea7929c5.tar.gz +sha256 0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f LICENSE-MIT diff --git a/package/ripgrep/ripgrep.mk b/package/ripgrep/ripgrep.mk index 9dd8d58de13..d587441cfa4 100644 --- a/package/ripgrep/ripgrep.mk +++ b/package/ripgrep/ripgrep.mk @@ -4,35 +4,17 @@ # ################################################################################ -RIPGREP_VERSION = 0.8.1 +# Same as 13.0.0, we use a Git commit hash because the hash of this +# tarball changed when moving to the cargo-package infrastructure, and +# we can't change the hash of existing tarball. Please switch back to +# a Git tag at the next version bump. +RIPGREP_VERSION = af6b6c543b224d348a8876f0c06245d9ea7929c5 RIPGREP_SITE = $(call github,burntsushi,ripgrep,$(RIPGREP_VERSION)) RIPGREP_LICENSE = MIT RIPGREP_LICENSE_FILES = LICENSE-MIT +RIPGREP_CPE_ID_VENDOR = ripgrep_project -RIPGREP_DEPENDENCIES = host-rustc -RIPGREP_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo +# CVE only impacts ripgrep on Windows +RIPGREP_IGNORE_CVES += CVE-2021-3013 -RIPGREP_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(RIPGREP_CARGO_BIN_SUBDIR) - -RIPGREP_CARGO_OPTS = \ - --target=$(RUSTC_TARGET_NAME) \ - --manifest-path=$(@D)/Cargo.toml - -ifeq ($(BR2_ENABLE_DEBUG),y) -RIPGREP_CARGO_BIN_SUBDIR = debug -else -RIPGREP_CARGO_OPTS += --release -RIPGREP_CARGO_BIN_SUBDIR = release -endif - -define RIPGREP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(RIPGREP_CARGO_ENV) \ - cargo build $(RIPGREP_CARGO_OPTS) -endef - -define RIPGREP_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/$(RIPGREP_BIN_DIR)/rg \ - $(TARGET_DIR)/usr/bin/rg -endef - -$(eval $(generic-package)) +$(eval $(cargo-package)) diff --git a/package/riscv-isa-sim/0001-riscv-disable-precompiled-headers.patch b/package/riscv-isa-sim/0001-riscv-disable-precompiled-headers.patch new file mode 100644 index 00000000000..461f34e3a10 --- /dev/null +++ b/package/riscv-isa-sim/0001-riscv-disable-precompiled-headers.patch @@ -0,0 +1,34 @@ +From 980d5143089bf32ef8a6dfdf1bb9e9fe92fa7bf5 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Sun, 9 Jan 2022 13:38:48 +0100 +Subject: [PATCH] riscv: disable precompiled headers + +While precompiling header, some toolchains fail with the message: + + /path/to/toolchain/bin/ld: /path/to/sysroot/usr/lib/Scrt1.o: in function `_start': + (.text+0x54): undefined reference to `main' + +The patch totally disable precompiled headers. + +Signed-off-by: Julien Olivain +--- + riscv/riscv.mk.in | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/riscv/riscv.mk.in b/riscv/riscv.mk.in +index 2347ce6..4f56eaf 100644 +--- a/riscv/riscv.mk.in ++++ b/riscv/riscv.mk.in +@@ -35,9 +35,6 @@ riscv_hdrs = \ + + riscv_install_hdrs = mmio_plugin.h + +-riscv_precompiled_hdrs = \ +- insn_template.h \ +- + riscv_srcs = \ + processor.cc \ + execute.cc \ +-- +2.34.1 + diff --git a/package/riscv-isa-sim/Config.in.host b/package/riscv-isa-sim/Config.in.host new file mode 100644 index 00000000000..4ccf6e95469 --- /dev/null +++ b/package/riscv-isa-sim/Config.in.host @@ -0,0 +1,13 @@ +config BR2_PACKAGE_HOST_RISCV_ISA_SIM + bool "host riscv-isa-sim" + depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++11 + help + Spike, the RISC-V ISA Simulator, implements a functional + model of one or more RISC-V harts. + + The host package provides an alternative solution to qemu. + + https://github.com/riscv-software-src/riscv-isa-sim + +comment "host riscv-isa-sim needs host gcc >= 4.9" + depends on !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/riscv-isa-sim/riscv-isa-sim.hash b/package/riscv-isa-sim/riscv-isa-sim.hash new file mode 100644 index 00000000000..d787a03e4c4 --- /dev/null +++ b/package/riscv-isa-sim/riscv-isa-sim.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 9b29c220fed1e867e3bea4b5c565f2629237d525a4d9fe1668699c4406003a1f riscv-isa-sim-1.1.0.tar.gz +sha256 c65e436d18972c9c4bd192494fe4870bd2e158179474975b80a3559f27631632 LICENSE diff --git a/package/riscv-isa-sim/riscv-isa-sim.mk b/package/riscv-isa-sim/riscv-isa-sim.mk new file mode 100644 index 00000000000..90eed93c36d --- /dev/null +++ b/package/riscv-isa-sim/riscv-isa-sim.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# riscv-isa-sim +# +################################################################################ + +RISCV_ISA_SIM_VERSION = 1.1.0 +RISCV_ISA_SIM_SITE = $(call github,riscv-software-src,riscv-isa-sim,v$(RISCV_ISA_SIM_VERSION)) +RISCV_ISA_SIM_LICENSE = BSD-3-Clause +RISCV_ISA_SIM_LICENSE_FILES = LICENSE +HOST_RISCV_ISA_SIM_DEPENDENCIES = host-boost host-dtc +HOST_RISCV_ISA_SIM_CONF_OPTS = --with-boost=$(HOST_DIR) + +$(eval $(host-autotools-package)) diff --git a/package/riscv64-elf-toolchain/riscv64-elf-toolchain.mk b/package/riscv64-elf-toolchain/riscv64-elf-toolchain.mk new file mode 100644 index 00000000000..9b08ee0fec3 --- /dev/null +++ b/package/riscv64-elf-toolchain/riscv64-elf-toolchain.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# riscv64-elf-toolchain +# +################################################################################ + +RISCV64_ELF_TOOLCHAIN_VERSION = 2020.12.8 +RISCV64_ELF_TOOLCHAIN_SITE = https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12 +RISCV64_ELF_TOOLCHAIN_SOURCE = riscv64-unknown-elf-toolchain-10.2.0-$(RISCV64_ELF_TOOLCHAIN_VERSION)-x86_64-linux-centos6.tar.gz + +HOST_RISCV64_ELF_TOOLCHAIN_INSTALL_DIR = $(HOST_DIR)/opt/riscv64-elf + +define HOST_RISCV64_ELF_TOOLCHAIN_INSTALL_CMDS + rm -rf $(HOST_RISCV64_ELF_TOOLCHAIN_INSTALL_DIR) + mkdir -p $(HOST_RISCV64_ELF_TOOLCHAIN_INSTALL_DIR) + cp -rf $(@D)/* $(HOST_RISCV64_ELF_TOOLCHAIN_INSTALL_DIR)/ + + mkdir -p $(HOST_DIR)/bin + cd $(HOST_DIR)/bin && \ + for i in ../opt/riscv64-elf/bin/*; do \ + ln -sf $$i; \ + done +endef + +$(eval $(host-generic-package)) diff --git a/package/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pthreads.patch b/package/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pthreads.patch new file mode 100644 index 00000000000..ba6cf63d7cb --- /dev/null +++ b/package/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pthreads.patch @@ -0,0 +1,43 @@ +From d1840e54a15fc454936cada10cce7fd91d06232b Mon Sep 17 00:00:00 2001 +From: Neil Horman +Date: Thu, 15 Jul 2021 08:43:01 -0400 +Subject: [PATCH] Adding ability to detect non-posix extensions for pthreads + +Theres a desire to build rngd with musl, which doesn't have all the gnu +extensions (but it has some). So test for those. Note, this requires +the addition of the USE_EXTENSIONS macro to enable -d_GNU_SOURCE + +Signed-off-by: Neil Horman + +[Retrieved from: +https://github.com/nhorman/rng-tools/commit/d1840e54a15fc454936cada10cce7fd91d06232b] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 0fe06fc..de7dca3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,6 +25,7 @@ AC_CANONICAL_TARGET dnl required for broken AX_PTHREAD + AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_HEADERS([rng-tools-config.h]) + AC_CONFIG_MACRO_DIRS([m4]) ++AC_USE_SYSTEM_EXTENSIONS + + dnl Parse options + +@@ -100,6 +101,12 @@ AS_IF( + ], [AC_MSG_NOTICE([Disabling JITTER entropy source])] + ) + ++AC_CHECK_DECL(pthread_attr_setaffinity_np, ++ [AC_DEFINE([HAVE_PTHREAD_ATTR_SETAFFINITY], 1,[Set ATTR_SETAFFINITY])], ++ [ AC_CHECK_DECL(pthread_setaffinity_np, ++ [AC_DEFINE([HAVE_PTHREAD_SETAFFINITY],1, [Set PTHREAD_SETAFFINITY])], [ AC_MSG_ERROR([Neither pthread_setaffinity_np nor pthread_attr_setaffinity_np found])],[[#include ]]) ++ ], [[#include ]]) ++ + AS_IF( + [ test "x$with_nistbeacon" != "xno"], + [ diff --git a/package/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch b/package/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch new file mode 100644 index 00000000000..17285baa6a4 --- /dev/null +++ b/package/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch @@ -0,0 +1,49 @@ +From 5caa086dc14cecf68d1a5c31e87ba1efb2c00893 Mon Sep 17 00:00:00 2001 +From: Neil Horman +Date: Thu, 15 Jul 2021 08:48:10 -0400 +Subject: [PATCH] Allow for use of either pthread affinity set methods + +musl has support for pthread_setaffinity_np, but not +pthread_attr_setaffinity_np. so check for hte existence of either +function in configure, and use the appropriate one. + +Signed-off-by: Neil Horman + +[Retrieved from: +https://github.com/nhorman/rng-tools/commit/5caa086dc14cecf68d1a5c31e87ba1efb2c00893] +Signed-off-by: Fabrice Fontaine +--- + rngd_jitter.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/rngd_jitter.c b/rngd_jitter.c +index ea29436..5c7e09e 100644 +--- a/rngd_jitter.c ++++ b/rngd_jitter.c +@@ -67,12 +67,25 @@ static int rngd_notime_start(void *ctx, + for(i=i-1;i>=0;i--) { + CPU_SET(i,cpus); + } +- pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, cpus); + ++ /* ++ * Note that only one of: ++ * HAVE_PTHREAD_ATTR_SETAFFINITY ++ * and ++ * HAVE_PTHREAD_SETAFFINITY ++ * Will ever be set, as per the configure.ac logic ++ */ ++#ifdef HAVE_PTHREAD_ATTR_SETAFFINITY ++ pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, cpus); ++#endif + ret = -pthread_create(&thread_ctx->notime_thread_id, + &thread_ctx->notime_pthread_attr, + start_routine, arg); + ++#ifdef HAVE_PTHREAD_SETAFFINITY ++ pthread_setaffinity_np(&thread_ctx->notime_thread_id, cpusize, cpus); ++#endif ++ + CPU_FREE(cpus); + return ret; + } diff --git a/package/rng-tools/Config.in b/package/rng-tools/Config.in index 67e3d4185b2..0dd269c818d 100644 --- a/package/rng-tools/Config.in +++ b/package/rng-tools/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_RNG_TOOLS # pthread_setaffinity_np depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL - select BR2_PACKAGE_LIBSYSFS select BR2_PACKAGE_OPENSSL help Daemon to use hardware random number generators. diff --git a/package/rng-tools/rng-tools.hash b/package/rng-tools/rng-tools.hash index de1f72617cc..6806a99fc61 100644 --- a/package/rng-tools/rng-tools.hash +++ b/package/rng-tools/rng-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 644d8bd4e84cee29debddc7e6db72aff27e628e5a879ce310562edf50f12be41 rng-tools-6.11.tar.gz +sha256 4dd86f6ae37d917a8489f44070d39d7feddcc622429b95efd7aa85a1f3cfdf81 rng-tools-6.14.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk index ae20d963626..8db97569d4b 100644 --- a/package/rng-tools/rng-tools.mk +++ b/package/rng-tools/rng-tools.mk @@ -4,11 +4,14 @@ # ################################################################################ -RNG_TOOLS_VERSION = 6.11 -RNG_TOOLS_SITE = $(call github,nhorman,$(RNG_TOOLS_NAME),V$(RNG_TOOLS_VERSION)) +RNG_TOOLS_VERSION = 6.14 +RNG_TOOLS_SITE = $(call github,nhorman,$(RNG_TOOLS_NAME),v$(RNG_TOOLS_VERSION)) RNG_TOOLS_LICENSE = GPL-2.0 RNG_TOOLS_LICENSE_FILES = COPYING -RNG_TOOLS_DEPENDENCIES = libsysfs host-pkgconf openssl +RNG_TOOLS_CPE_ID_VENDOR = rng-tools_project +RNG_TOOLS_SELINUX_MODULES = rngd + +RNG_TOOLS_DEPENDENCIES = host-pkgconf openssl # From git RNG_TOOLS_AUTORECONF = YES diff --git a/package/rockchip-mali/Config.in b/package/rockchip-mali/Config.in new file mode 100644 index 00000000000..d616284911d --- /dev/null +++ b/package/rockchip-mali/Config.in @@ -0,0 +1,32 @@ +config BR2_PACKAGE_ROCKCHIP_MALI + bool "rockchip-mali" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_ARM_EABIHF || BR2_aarch64 + # lidbrm. This would normally need a Config.in comment, but + # these blobs are linked against glibc, so we are sure to have + # thread support, so don't bother. + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HAS_LIBGBM + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_MALI_DRIVER if BR2_LINUX_KERNEL + help + Install the binary user-space libraries for the ARM Mali GPU + suitable for Rockchip platforms. This package requires a + kernel with the ARM Mali GPU kernel driver enabled, as found + in the 'mali-driver' package. + +if BR2_PACKAGE_ROCKCHIP_MALI + +config BR2_PACKAGE_PROVIDES_LIBEGL + default "rockchip-mali" + +config BR2_PACKAGE_PROVIDES_LIBGLES + default "rockchip-mali" + +config BR2_PACKAGE_PROVIDES_LIBGBM + default "rockchip-mali" + +endif diff --git a/package/rockchip-mali/rockchip-mali.hash b/package/rockchip-mali/rockchip-mali.hash new file mode 100644 index 00000000000..38efcb3077a --- /dev/null +++ b/package/rockchip-mali/rockchip-mali.hash @@ -0,0 +1,2 @@ +sha256 ee440d859e9d7dfdf29b9a00c7a633337913c407be567d3651c29c12eb75fd9c rockchip-mali-721653b5b3b525a4f80d15aa7e2f9df7b7e60427.tar.gz +sha256 a78acc73de9909efb879800d4daa4640c4aaa55cd751238a133954aba15e4285 END_USER_LICENCE_AGREEMENT.txt diff --git a/package/rockchip-mali/rockchip-mali.mk b/package/rockchip-mali/rockchip-mali.mk new file mode 100644 index 00000000000..5c8e5543468 --- /dev/null +++ b/package/rockchip-mali/rockchip-mali.mk @@ -0,0 +1,77 @@ +################################################################################ +# +# rockchip-mali +# +################################################################################ + +ROCKCHIP_MALI_VERSION = 721653b5b3b525a4f80d15aa7e2f9df7b7e60427 +ROCKCHIP_MALI_SITE = $(call github,JeffyCN,mirrors,$(ROCKCHIP_MALI_VERSION)) +ROCKCHIP_MALI_LICENSE = Proprietary +ROCKCHIP_MALI_LICENSE_FILES = END_USER_LICENCE_AGREEMENT.txt +ROCKCHIP_MALI_INSTALL_STAGING = YES +ROCKCHIP_MALI_DEPENDENCIES = host-patchelf libdrm +ROCKCHIP_MALI_PROVIDES = libegl libgles libgbm + +ROCKCHIP_MALI_LIB = libmali-bifrost-g31-rxp0$(ROCKCHIP_MALI_SUFFIX).so +ROCKCHIP_MALI_PKGCONFIG_FILES = egl gbm glesv2 mali +ROCKCHIP_MALI_ARCH_DIR = $(if $(BR2_arm)$(BR2_armeb),arm-linux-gnueabihf,aarch64-linux-gnu) +ROCKCHIP_MALI_HEADERS = EGL FBDEV GLES GLES2 GLES3 KHR gbm.h + +# We need to create: +# - The symlink that matches the library SONAME (libmali.so.1) +# - The .so symlinks needed at compile time by the compiler (*.so) +ROCKCHIP_MALI_LIB_SYMLINKS = \ + libmali.so.1 \ + libMali.so \ + libEGL.so \ + libgbm.so \ + libGLESv1_CM.so \ + libGLESv2.so + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +ROCKCHIP_MALI_SUFFIX = -wayland-gbm +ROCKCHIP_MALI_PKGCONFIG_FILES += wayland-egl +ROCKCHIP_MALI_LIB_SYMLINKS += libwayland-egl.so +ROCKCHIP_MALI_DEPENDENCIES += wayland +else +ROCKCHIP_MALI_SUFFIX = -gbm +endif + +define ROCKCHIP_MALI_INSTALL_CMDS +# Install the library + $(INSTALL) -D -m 0755 \ + $(@D)/lib/$(ROCKCHIP_MALI_ARCH_DIR)/$(ROCKCHIP_MALI_LIB) \ + $(1)/usr/lib/$(ROCKCHIP_MALI_LIB) + +# Ensure it has a proper soname + $(HOST_DIR)/bin/patchelf --set-soname libmali.so.1 \ + $(1)/usr/lib/$(ROCKCHIP_MALI_LIB) + +# Generate and install the .pc files + mkdir -p $(1)/usr/lib/pkgconfig + $(foreach pkgconfig,$(ROCKCHIP_MALI_PKGCONFIG_FILES), \ + sed -e 's%@CMAKE_INSTALL_LIBDIR@%lib%;s%@CMAKE_INSTALL_INCLUDEDIR@%include%' \ + $(@D)/pkgconfig/$(pkgconfig).pc.cmake > \ + $(1)/usr/lib/pkgconfig/$(pkgconfig).pc + ) + +# Install all headers + $(foreach d,$(ROCKCHIP_MALI_HEADERS), \ + cp -dpfr $(@D)/include/$(d) $(1)/usr/include/ + ) + +# Create symlinks + $(foreach symlink,$(ROCKCHIP_MALI_LIB_SYMLINKS), \ + ln -sf $(ROCKCHIP_MALI_LIB) $(1)/usr/lib/$(symlink) + ) +endef + +define ROCKCHIP_MALI_INSTALL_TARGET_CMDS + $(call ROCKCHIP_MALI_INSTALL_CMDS,$(TARGET_DIR)) +endef + +define ROCKCHIP_MALI_INSTALL_STAGING_CMDS + $(call ROCKCHIP_MALI_INSTALL_CMDS,$(STAGING_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch b/package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch index 77ac9f90a19..ced4a3a3d94 100644 --- a/package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch +++ b/package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch @@ -27,8 +27,8 @@ index 2535d8124..64a0ae76c 100755 PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread -lrt -ldl" if test $ROCKSDB_USE_IO_URING; then # check for liburing -- $CXX $CFLAGS -x c++ - -luring -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { struct io_uring ring; @@ -36,8 +36,8 @@ index 2535d8124..64a0ae76c 100755 else if ! test $ROCKSDB_DISABLE_FALLOCATE; then # Test whether fallocate is available -- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < #include int main() { @@ -45,8 +45,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_SNAPPY; then # Test whether Snappy library is installed # http://code.google.com/p/snappy/ -- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() {} EOF @@ -54,8 +54,8 @@ index 2535d8124..64a0ae76c 100755 # Test whether gflags library is installed # http://gflags.github.io/gflags/ # check if the namespace is gflags -- if $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF -+ if $CXX $CFLAGS -x c++ - -o test.o 2>/dev/null << EOF +- if $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF ++ if $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null << EOF #include using namespace GFLAGS_NAMESPACE; int main() {} @@ -63,8 +63,8 @@ index 2535d8124..64a0ae76c 100755 COMMON_FLAGS="$COMMON_FLAGS -DGFLAGS=1" PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lgflags" # check if namespace is gflags -- elif $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF -+ elif $CXX $CFLAGS -x c++ - -o test.o 2>/dev/null << EOF +- elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF ++ elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null << EOF #include using namespace gflags; int main() {} @@ -72,8 +72,8 @@ index 2535d8124..64a0ae76c 100755 COMMON_FLAGS="$COMMON_FLAGS -DGFLAGS=1 -DGFLAGS_NAMESPACE=gflags" PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lgflags" # check if namespace is google -- elif $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF -+ elif $CXX $CFLAGS -x c++ - -o test.o 2>/dev/null << EOF +- elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF ++ elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null << EOF #include using namespace google; int main() {} @@ -81,8 +81,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_ZLIB; then # Test whether zlib library is installed -- $CXX $CFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() {} EOF @@ -90,8 +90,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_BZIP; then # Test whether bzip library is installed -- $CXX $CFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() {} EOF @@ -99,8 +99,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_LZ4; then # Test whether lz4 library is installed -- $CXX $CFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < #include int main() {} @@ -108,8 +108,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_ZSTD; then # Test whether zstd library is installed -- $CXX $CFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() {} EOF @@ -117,8 +117,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_NUMA; then # Test whether numa is available -- $CXX $CFLAGS -x c++ - -o /dev/null -lnuma 2>/dev/null </dev/null </dev/null </dev/null < #include int main() {} @@ -126,8 +126,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_TBB; then # Test whether tbb is available -- $CXX $CFLAGS $LDFLAGS -x c++ - -o /dev/null -ltbb 2>/dev/null </dev/null </dev/null </dev/null < int main() {} EOF @@ -135,8 +135,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_JEMALLOC; then # Test whether jemalloc is available -- if echo 'int main() {}' | $CXX $CFLAGS -x c++ - -o /dev/null -ljemalloc \ -+ if echo 'int main() {}' | $CXX $CFLAGS -x c++ - -o test.o -ljemalloc \ +- if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null -ljemalloc \ ++ if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o -ljemalloc \ 2>/dev/null; then # This will enable some preprocessor identifiers in the Makefile JEMALLOC=1 @@ -144,8 +144,8 @@ index 2535d8124..64a0ae76c 100755 fi if ! test $JEMALLOC && ! test $ROCKSDB_DISABLE_TCMALLOC; then # jemalloc is not available. Let's try tcmalloc -- if echo 'int main() {}' | $CXX $CFLAGS -x c++ - -o /dev/null \ -+ if echo 'int main() {}' | $CXX $CFLAGS -x c++ - -o test.o \ +- if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null \ ++ if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o \ -ltcmalloc 2>/dev/null; then PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -ltcmalloc" JAVA_LDFLAGS="$JAVA_LDFLAGS -ltcmalloc" @@ -153,8 +153,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_MALLOC_USABLE_SIZE; then # Test whether malloc_usable_size is available -- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { size_t res = malloc_usable_size(0); @@ -162,8 +162,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_MEMKIND; then # Test whether memkind library is installed -- $CXX $CFLAGS $COMMON_FLAGS -lmemkind -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { memkind_malloc(MEMKIND_DAX_KMEM, 1024); @@ -171,8 +171,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_PTHREAD_MUTEX_ADAPTIVE_NP; then # Test whether PTHREAD_MUTEX_ADAPTIVE_NP mutex type is available -- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { int x = PTHREAD_MUTEX_ADAPTIVE_NP; @@ -180,8 +180,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_BACKTRACE; then # Test whether backtrace is available -- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { void* frames[1]; @@ -189,8 +189,8 @@ index 2535d8124..64a0ae76c 100755 COMMON_FLAGS="$COMMON_FLAGS -DROCKSDB_BACKTRACE" else # Test whether execinfo library is installed -- $CXX $CFLAGS -lexecinfo -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { void* frames[1]; @@ -198,8 +198,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_PG; then # Test if -pg is supported -- $CXX $CFLAGS -pg -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null < int main() { int fd = open("/dev/null", 0); @@ -216,8 +216,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_SCHED_GETCPU; then # Test whether sched_getcpu is supported -- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { int cpuid = sched_getcpu(); @@ -225,8 +225,8 @@ index 2535d8124..64a0ae76c 100755 if ! test $ROCKSDB_DISABLE_AUXV_GETAUXVAL; then # Test whether getauxval is supported -- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null </dev/null </dev/null </dev/null < int main() { uint64_t auxv = getauxval(AT_HWCAP); @@ -243,8 +243,8 @@ index 2535d8124..64a0ae76c 100755 # -Wshorten-64-to-32 breaks compilation on FreeBSD i386 if ! [ "$TARGET_OS" = FreeBSD -a "$TARGET_ARCHITECTURE" = i386 ]; then # Test whether -Wshorten-64-to-32 is available -- $CXX $CFLAGS -x c++ - -o /dev/null -Wshorten-64-to-32 2>/dev/null </dev/null </dev/null </dev/null < -Date: Thu, 16 Apr 2020 12:23:02 +1000 -Subject: [PATCH] POWER7/8 compatiblity fix + CRC32 C implementation - -When running on a POWER7/8, the compiler will successfully -report being able to compile for POWER9 compatibility. It will -however fail to run due to POWER9+ only instructions being used. - -To preserve the goals of ensuring an optimization for the -local hardware, -mcpu=native is used, but only if we don't -already have C{,XX}_FLAGS with cpu/arch/tune set. PORTABLE -flag that was added for x86 is reused to ensure that the minimum -viable cpu is selected, POWER7 if compiling on big endian and -POWER8 if on little endian. - -This ensures that if a binary distributor compiles on a -POWER9, and aims to support POWER8 packages, then hopefully -they will have the correct C{,XX}_FLAGS, and as such, will -not result in a broken package on POWER8. - -Fixes: 8fc20ac468b266a53083175025375985ec04b796 - -We also replace POWER crc32c with C implementation. -The presence of clang compile failures on POWER due to -missing ppc-asm.h prompted the replacement of the ASM -CRC32 implementation with the C implementation. - -We include this when the compile flags enable it to be build. -For example on POWER7 the optimized crc32 will be built, -however it won't be used because of the runtime detection. -If the executable is moved to a POWER8 big endian it will -work correctly. - -https://github.com/antonblanchard/crc32-vpmsum/blob/master/vec_crc32.c -is used with only small include path change with the local copyright header -maintained. - -util/crc32c.cc removes arch_ppc_crc32 which was only ever -used in a local context. Also incorporated significant advice from -tchaikov in #2869. Replace all compile time checks with runtime checks. - -Corrects getauxval detection from 8bbd76edbf by including the header from the -right directory. - -[Retrieved (and slightly updated for 6.13.3) from: -https://github.com/facebook/rocksdb/pull/7079/commits/7eab5c3bf8449673de7bf0d3446a669694f71f1a] -Signed-off-by: Fabrice Fontaine ---- - CMakeLists.txt | 59 +- - Makefile | 35 +- - src.mk | 11 +- - util/crc32c.cc | 63 +- - util/crc32c_ppc.c | 94 -- - util/crc32c_ppc.cc | 662 +++++++++++++ - util/crc32c_ppc.h | 19 - - util/crc32c_ppc_asm.S | 752 -------------- - util/crc32c_ppc_clang_workaround.h | 85 ++ - util/crc32c_ppc_constants.h | 1457 +++++++++++++++++----------- - util/crc32c_test.cc | 3 + - 11 files changed, 1684 insertions(+), 1556 deletions(-) - delete mode 100644 util/crc32c_ppc.c - create mode 100644 util/crc32c_ppc.cc - delete mode 100644 util/crc32c_ppc.h - delete mode 100644 util/crc32c_ppc_asm.S - create mode 100644 util/crc32c_ppc_clang_workaround.h - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 91647d83bb..5adf0cf3a5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -39,7 +39,7 @@ include(ReadVersion) - get_rocksdb_version(rocksdb_VERSION) - project(rocksdb - VERSION ${rocksdb_VERSION} -- LANGUAGES CXX C ASM) -+ LANGUAGES CXX C) - - if(POLICY CMP0042) - cmake_policy(SET CMP0042 NEW) -@@ -223,26 +223,6 @@ else() - endif() - - include(CheckCCompilerFlag) --if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") -- CHECK_C_COMPILER_FLAG("-mcpu=power9" HAS_POWER9) -- if(HAS_POWER9) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcpu=power9 -mtune=power9") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=power9 -mtune=power9") -- else() -- CHECK_C_COMPILER_FLAG("-mcpu=power8" HAS_POWER8) -- if(HAS_POWER8) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcpu=power8 -mtune=power8") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=power8 -mtune=power8") -- endif(HAS_POWER8) -- endif(HAS_POWER9) -- CHECK_C_COMPILER_FLAG("-maltivec" HAS_ALTIVEC) -- if(HAS_ALTIVEC) -- message(STATUS " HAS_ALTIVEC yes") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maltivec") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maltivec") -- endif(HAS_ALTIVEC) --endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") -- - if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") - CHECK_C_COMPILER_FLAG("-march=armv8-a+crc+crypto" HAS_ARMV8_CRC) - if(HAS_ARMV8_CRC) -@@ -260,21 +240,40 @@ if(PORTABLE) - if(FORCE_SSE42 AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2 -mpclmul") - endif() -+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") -+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=power8") -+ else() -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=power7") -+ endif() -+ endif() - else() - if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:AVX2") - else() -- if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64" AND NOT HAS_ARMV8_CRC) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") -+ if(NOT CMAKE_CXX_FLAGS MATCHES "m(cpu|tune|arch)") -+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") -+ # Power doesn't have a march option - https://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html -+ # -mcpu activates all available options -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native") -+ else() -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") -+ endif() - endif() - endif() - endif() - --include(CheckCXXSourceCompiles) -+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") -+ include(CheckCXXCompilerFlag) -+ SET(POWER_CRC32_FLAGS "-mcrypto -mpower8-vector -maltivec -mvsx") -+ CHECK_CXX_COMPILER_FLAG("${POWER_CRC32_FLAGS}" HAS_POWER_CRC32_FLAGS) -+endif() -+ - if(NOT MSVC) - set(CMAKE_REQUIRED_FLAGS "-msse4.2 -mpclmul") - endif() - -+include(CheckCXXSourceCompiles) - CHECK_CXX_SOURCE_COMPILES(" - #include - #include -@@ -525,7 +524,7 @@ if(HAVE_SCHED_GETCPU) - add_definitions(-DROCKSDB_SCHED_GETCPU_PRESENT) - endif() - --check_cxx_symbol_exists(getauxval auvx.h HAVE_AUXV_GETAUXVAL) -+check_cxx_symbol_exists(getauxval sys/auxv.h HAVE_AUXV_GETAUXVAL) - if(HAVE_AUXV_GETAUXVAL) - add_definitions(-DROCKSDB_AUXV_GETAUXVAL_PRESENT) - endif() -@@ -796,11 +795,13 @@ if(HAVE_SSE42 AND NOT MSVC) - PROPERTIES COMPILE_FLAGS "-msse4.2 -mpclmul") - endif() - --if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") -+if(HAS_POWER_CRC32_FLAGS) - list(APPEND SOURCES -- util/crc32c_ppc.c -- util/crc32c_ppc_asm.S) --endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") -+ util/crc32c_ppc.cc) -+ set_source_files_properties( -+ util/crc32c_ppc.cc -+ PROPERTIES COMPILE_FLAGS "${POWER_CRC32_FLAGS}") -+endif() - - if(HAS_ARMV8_CRC) - list(APPEND SOURCES -diff --git a/Makefile b/Makefile -index a19d2ff964..7da8f71085 100644 ---- a/Makefile -+++ b/Makefile -@@ -144,16 +144,9 @@ OPT += -momit-leaf-frame-pointer - endif - endif - --ifeq (,$(shell $(CXX) -fsyntax-only -maltivec -xc /dev/null 2>&1)) --CXXFLAGS += -DHAS_ALTIVEC --CFLAGS += -DHAS_ALTIVEC --HAS_ALTIVEC=1 --endif -- --ifeq (,$(shell $(CXX) -fsyntax-only -mcpu=power8 -xc /dev/null 2>&1)) --CXXFLAGS += -DHAVE_POWER8 --CFLAGS += -DHAVE_POWER8 --HAVE_POWER8=1 -+ifeq (,$(shell $(CXX) -fsyntax-only -mcrypto -mpower8-vector -maltivec -mvsx -xc /dev/null 2>&1)) -+POWER_CRC32_FLAGS=-mcrypto -mpower8-vector -maltivec -mvsx -+HAVE_POWER_CRC32_FLAGS=1 - endif - - ifeq (,$(shell $(CXX) -fsyntax-only -march=armv8-a+crc+crypto -xc /dev/null 2>&1)) -@@ -461,10 +454,6 @@ endif - - OBJ_DIR?=. - LIB_OBJECTS = $(patsubst %.cc, $(OBJ_DIR)/%.o, $(LIB_SOURCES)) --ifeq ($(HAVE_POWER8),1) --LIB_OBJECTS += $(patsubst %.c, $(OBJ_DIR)/%.o, $(LIB_SOURCES_C)) --LIB_OBJECTS += $(patsubst %.S, $(OBJ_DIR)/%.o, $(LIB_SOURCES_ASM)) --endif - - ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1) - LIB_OBJECTS += $(patsubst %.cpp, $(OBJ_DIR)/%.o, $(FOLLY_SOURCES)) -@@ -2254,13 +2242,12 @@ IOSVERSION=$(shell defaults read $(PLATFORMSROOT)/iPhoneOS.platform/version CFBu - lipo ios-x86/$@ ios-arm/$@ -create -output $@ - - else --ifeq ($(HAVE_POWER8),1) --$(OBJ_DIR)/util/crc32c_ppc.o: util/crc32c_ppc.c -- $(AM_V_CC)$(CC) $(CFLAGS) -c $< -o $@ -+ifeq ($(HAVE_POWER_CRC32_FLAGS),1) -+$(OBJ_DIR)/util/crc32c_ppc.o: util/crc32c_ppc.cc -+ $(AM_V_CC)$(CC) $(CFLAGS) $(POWER_CRC32_FLAGS) -c $< -o $@ - --$(OBJ_DIR)/util/crc32c_ppc_asm.o: util/crc32c_ppc_asm.S -- $(AM_V_CC)$(CC) $(CFLAGS) -c $< -o $@ - endif -+ - $(OBJ_DIR)/%.o: %.cc - $(AM_V_CC)mkdir -p $(@D) && $(CXX) $(CXXFLAGS) -c $< -o $@ $(COVERAGEFLAGS) - -diff --git a/src.mk b/src.mk -index c4fec346e4..0f6a19a17c 100644 ---- a/src.mk -+++ b/src.mk -@@ -255,14 +255,9 @@ LIB_SOURCES +=\ - util/crc32c_arm64.cc - endif - --ifeq (,$(shell $(CXX) -fsyntax-only -maltivec -xc /dev/null 2>&1)) --LIB_SOURCES_ASM =\ -- util/crc32c_ppc_asm.S --LIB_SOURCES_C = \ -- util/crc32c_ppc.c --else --LIB_SOURCES_ASM = --LIB_SOURCES_C = -+ifeq ($(HAVE_POWER_CRC32_FLAGS),1) -+LIB_SOURCES += \ -+ util/crc32c_ppc.cc - endif - - TOOL_LIB_SOURCES = \ -diff --git a/util/crc32c.cc b/util/crc32c.cc -index a709e9b1ce..b24a4f0e0f 100644 ---- a/util/crc32c.cc -+++ b/util/crc32c.cc -@@ -20,15 +20,13 @@ - - #include "util/crc32c_arm64.h" - --#ifdef __powerpc64__ --#include "util/crc32c_ppc.h" --#include "util/crc32c_ppc_constants.h" -- --#if __linux__ - #ifdef ROCKSDB_AUXV_GETAUXVAL_PRESENT - #include - #endif - -+#ifdef __powerpc64__ -+extern uint32_t crc32c_ppc(uint32_t crc, unsigned char const* buffer, -+ unsigned long len); - #ifndef PPC_FEATURE2_VEC_CRYPTO - #define PPC_FEATURE2_VEC_CRYPTO 0x02000000 - #endif -@@ -37,19 +35,11 @@ - #define AT_HWCAP2 26 - #endif - --#endif /* __linux__ */ -- - #endif - - namespace ROCKSDB_NAMESPACE { - namespace crc32c { - --#if defined(HAVE_POWER8) && defined(HAS_ALTIVEC) --#ifdef __powerpc64__ --static int arch_ppc_crc32 = 0; --#endif /* __powerpc64__ */ --#endif -- - static const uint32_t table0_[256] = { - 0x00000000, 0xf26b8303, 0xe13b70f7, 0x1350f3f4, - 0xc79a971f, 0x35f1141c, 0x26a1e7e8, 0xd4ca64eb, -@@ -342,6 +332,7 @@ static inline void Slow_CRC32(uint64_t* l, uint8_t const **p) { - table0_[c >> 24]; - } - -+#if !defined(HAVE_ARM64_CRC) && !defined(__powerpc64__) - static inline void Fast_CRC32(uint64_t* l, uint8_t const **p) { - #ifndef HAVE_SSE42 - Slow_CRC32(l, p); -@@ -355,6 +346,7 @@ static inline void Fast_CRC32(uint64_t* l, uint8_t const **p) { - *p += 4; - #endif - } -+#endif - - template - uint32_t ExtendImpl(uint32_t crc, const char* buf, size_t size) { -@@ -400,10 +392,8 @@ uint32_t ExtendImpl(uint32_t crc, const char* buf, size_t size) { - return static_cast(l ^ 0xffffffffu); - } - --// Detect if ARM64 CRC or not. --#ifndef HAVE_ARM64_CRC -+#if !defined(HAVE_ARM64_CRC) && !defined(__powerpc64__) - // Detect if SS42 or not. --#ifndef HAVE_POWER8 - - static bool isSSE42() { - #ifndef HAVE_SSE42 -@@ -439,36 +429,22 @@ static bool isPCLMULQDQ() { - #endif - } - --#endif // HAVE_POWER8 --#endif // HAVE_ARM64_CRC -+#endif // !__power64__ && !HAVE_ARM64_CRC - - typedef uint32_t (*Function)(uint32_t, const char*, size_t); - --#if defined(HAVE_POWER8) && defined(HAS_ALTIVEC) -+#if defined(__powerpc64__) - uint32_t ExtendPPCImpl(uint32_t crc, const char *buf, size_t size) { - return crc32c_ppc(crc, (const unsigned char *)buf, size); - } - --#if __linux__ --static int arch_ppc_probe(void) { -- arch_ppc_crc32 = 0; -- --#if defined(__powerpc64__) && defined(ROCKSDB_AUXV_GETAUXVAL_PRESENT) -- if (getauxval(AT_HWCAP2) & PPC_FEATURE2_VEC_CRYPTO) arch_ppc_crc32 = 1; --#endif /* __powerpc64__ */ -- -- return arch_ppc_crc32; --} --#endif // __linux__ -- - static bool isAltiVec() { -- if (arch_ppc_probe()) { -- return true; -- } else { -- return false; -- } --} -+#if defined(__linux__) && defined(ROCKSDB_AUXV_GETAUXVAL_PRESENT) -+ if (getauxval(AT_HWCAP2) & PPC_FEATURE2_VEC_CRYPTO) return true; - #endif -+ return false; -+} -+#endif // __power64__: - - #if defined(__linux__) && defined(HAVE_ARM64_CRC) - uint32_t ExtendARMImpl(uint32_t crc, const char *buf, size_t size) { -@@ -480,16 +456,9 @@ std::string IsFastCrc32Supported() { - bool has_fast_crc = false; - std::string fast_zero_msg; - std::string arch; --#ifdef HAVE_POWER8 --#ifdef HAS_ALTIVEC -- if (arch_ppc_probe()) { -- has_fast_crc = true; -- arch = "PPC"; -- } --#else -- has_fast_crc = false; -+#ifdef __powerpc64__ -+ has_fast_crc = isAltiVec(); - arch = "PPC"; --#endif - #elif defined(__linux__) && defined(HAVE_ARM64_CRC) - if (crc32c_runtime_check()) { - has_fast_crc = true; -@@ -1220,7 +1189,7 @@ uint32_t crc32c_3way(uint32_t crc, const char* buf, size_t len) { - #endif //HAVE_SSE42 && HAVE_PCLMUL - - static inline Function Choose_Extend() { --#ifdef HAVE_POWER8 -+#ifdef __powerpc64__ - return isAltiVec() ? ExtendPPCImpl : ExtendImpl; - #elif defined(__linux__) && defined(HAVE_ARM64_CRC) - if(crc32c_runtime_check()) { -diff --git a/util/crc32c_ppc.c b/util/crc32c_ppc.c -deleted file mode 100644 -index 888a4943ea..0000000000 ---- a/util/crc32c_ppc.c -+++ /dev/null -@@ -1,94 +0,0 @@ --// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. --// Copyright (c) 2017 International Business Machines Corp. --// All rights reserved. --// This source code is licensed under both the GPLv2 (found in the --// COPYING file in the root directory) and Apache 2.0 License --// (found in the LICENSE.Apache file in the root directory). -- --#define CRC_TABLE --#include --#include --#include --#include "util/crc32c_ppc_constants.h" -- --#define VMX_ALIGN 16 --#define VMX_ALIGN_MASK (VMX_ALIGN - 1) -- --#ifdef REFLECT --static unsigned int crc32_align(unsigned int crc, unsigned char const *p, -- unsigned long len) { -- while (len--) crc = crc_table[(crc ^ *p++) & 0xff] ^ (crc >> 8); -- return crc; --} --#endif -- --#ifdef HAVE_POWER8 --unsigned int __crc32_vpmsum(unsigned int crc, unsigned char const *p, -- unsigned long len); -- --static uint32_t crc32_vpmsum(uint32_t crc, unsigned char const *data, -- unsigned len) { -- unsigned int prealign; -- unsigned int tail; -- --#ifdef CRC_XOR -- crc ^= 0xffffffff; --#endif -- -- if (len < VMX_ALIGN + VMX_ALIGN_MASK) { -- crc = crc32_align(crc, data, (unsigned long)len); -- goto out; -- } -- -- if ((unsigned long)data & VMX_ALIGN_MASK) { -- prealign = VMX_ALIGN - ((unsigned long)data & VMX_ALIGN_MASK); -- crc = crc32_align(crc, data, prealign); -- len -= prealign; -- data += prealign; -- } -- -- crc = __crc32_vpmsum(crc, data, (unsigned long)len & ~VMX_ALIGN_MASK); -- -- tail = len & VMX_ALIGN_MASK; -- if (tail) { -- data += len & ~VMX_ALIGN_MASK; -- crc = crc32_align(crc, data, tail); -- } -- --out: --#ifdef CRC_XOR -- crc ^= 0xffffffff; --#endif -- -- return crc; --} -- --/* This wrapper function works around the fact that crc32_vpmsum -- * does not gracefully handle the case where the data pointer is NULL. There -- * may be room for performance improvement here. -- */ --uint32_t crc32c_ppc(uint32_t crc, unsigned char const *data, unsigned len) { -- unsigned char *buf2; -- -- if (!data) { -- buf2 = (unsigned char *)malloc(len); -- bzero(buf2, len); -- crc = crc32_vpmsum(crc, buf2, len); -- free(buf2); -- } else { -- crc = crc32_vpmsum(crc, data, (unsigned long)len); -- } -- return crc; --} -- --#else /* HAVE_POWER8 */ -- --/* This symbol has to exist on non-ppc architectures (and on legacy -- * ppc systems using power7 or below) in order to compile properly -- * there, even though it won't be called. -- */ --uint32_t crc32c_ppc(uint32_t crc, unsigned char const *data, unsigned len) { -- return 0; --} -- --#endif /* HAVE_POWER8 */ -diff --git a/util/crc32c_ppc.cc b/util/crc32c_ppc.cc -new file mode 100644 -index 0000000000..44487eb80b ---- /dev/null -+++ b/util/crc32c_ppc.cc -@@ -0,0 +1,662 @@ -+/* -+ * Calculate the checksum of data that is 16 byte aligned and a multiple of -+ * 16 bytes. -+ * -+ * The first step is to reduce it to 1024 bits. We do this in 8 parallel -+ * chunks in order to mask the latency of the vpmsum instructions. If we -+ * have more than 32 kB of data to checksum we repeat this step multiple -+ * times, passing in the previous 1024 bits. -+ * -+ * The next step is to reduce the 1024 bits to 64 bits. This step adds -+ * 32 bits of 0s to the end - this matches what a CRC does. We just -+ * calculate constants that land the data in this 32 bits. -+ * -+ * We then use fixed point Barrett reduction to compute a mod n over GF(2) -+ * for n = CRC using POWER8 instructions. We use x = 32. -+ * -+ * http://en.wikipedia.org/wiki/Barrett_reduction -+ * -+ * This code uses gcc vector builtins instead using assembly directly. -+ * -+ * Copyright (C) 2017 Rogerio Alves , IBM -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of either: -+ * -+ * a) 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, or -+ * b) the Apache License, Version 2.0 -+ */ -+ -+#include -+ -+#define POWER8_INTRINSICS -+#define CRC_TABLE -+ -+#include "crc32c_ppc_constants.h" -+ -+#define VMX_ALIGN 16 -+#define VMX_ALIGN_MASK (VMX_ALIGN - 1) -+ -+#ifdef REFLECT -+static unsigned int crc32_align(unsigned int crc, const unsigned char *p, -+ unsigned long len) { -+ while (len--) crc = crc_table[(crc ^ *p++) & 0xff] ^ (crc >> 8); -+ return crc; -+} -+#else -+static unsigned int crc32_align(unsigned int crc, const unsigned char *p, -+ unsigned long len) { -+ while (len--) crc = crc_table[((crc >> 24) ^ *p++) & 0xff] ^ (crc << 8); -+ return crc; -+} -+#endif -+ -+static unsigned int __attribute__((aligned(32))) -+__crc32_vpmsum(unsigned int crc, const void *p, unsigned long len); -+ -+#ifndef CRC32_FUNCTION -+#define CRC32_FUNCTION crc32c_ppc -+#endif -+ -+unsigned int CRC32_FUNCTION(unsigned int crc, const unsigned char *p, -+ unsigned long len) { -+ unsigned int prealign; -+ unsigned int tail; -+ -+#ifdef CRC_XOR -+ crc ^= 0xffffffff; -+#endif -+ -+ if (len < VMX_ALIGN + VMX_ALIGN_MASK) { -+ crc = crc32_align(crc, p, len); -+ goto out; -+ } -+ -+ if ((unsigned long)p & VMX_ALIGN_MASK) { -+ prealign = VMX_ALIGN - ((unsigned long)p & VMX_ALIGN_MASK); -+ crc = crc32_align(crc, p, prealign); -+ len -= prealign; -+ p += prealign; -+ } -+ -+ crc = __crc32_vpmsum(crc, p, len & ~VMX_ALIGN_MASK); -+ -+ tail = len & VMX_ALIGN_MASK; -+ if (tail) { -+ p += len & ~VMX_ALIGN_MASK; -+ crc = crc32_align(crc, p, tail); -+ } -+ -+out: -+#ifdef CRC_XOR -+ crc ^= 0xffffffff; -+#endif -+ -+ return crc; -+} -+ -+#if defined(__clang__) -+#include "crc32c_ppc_clang_workaround.h" -+#else -+#define __builtin_pack_vector(a, b) __builtin_pack_vector_int128((a), (b)) -+#define __builtin_unpack_vector_0(a) \ -+ __builtin_unpack_vector_int128((vector __int128_t)(a), 0) -+#define __builtin_unpack_vector_1(a) \ -+ __builtin_unpack_vector_int128((vector __int128_t)(a), 1) -+#endif -+ -+/* When we have a load-store in a single-dispatch group and address overlap -+ * such that foward is not allowed (load-hit-store) the group must be flushed. -+ * A group ending NOP prevents the flush. -+ */ -+#define GROUP_ENDING_NOP asm("ori 2,2,0" ::: "memory") -+ -+#if defined(__BIG_ENDIAN__) && defined(REFLECT) -+#define BYTESWAP_DATA -+#elif defined(__LITTLE_ENDIAN__) && !defined(REFLECT) -+#define BYTESWAP_DATA -+#endif -+ -+#ifdef BYTESWAP_DATA -+#define VEC_PERM(vr, va, vb, vc) \ -+ vr = vec_perm(va, vb, (__vector unsigned char)vc) -+#if defined(__LITTLE_ENDIAN__) -+/* Byte reverse permute constant LE. */ -+static const __vector unsigned long long vperm_const -+ __attribute__((aligned(16))) = {0x08090A0B0C0D0E0FUL, 0x0001020304050607UL}; -+#else -+static const __vector unsigned long long vperm_const -+ __attribute__((aligned(16))) = {0x0F0E0D0C0B0A0908UL, 0X0706050403020100UL}; -+#endif -+#else -+#define VEC_PERM(vr, va, vb, vc) -+#endif -+ -+static unsigned int __attribute__((aligned(32))) -+__crc32_vpmsum(unsigned int crc, const void *p, unsigned long len) { -+ const __vector unsigned long long vzero = {0, 0}; -+ const __vector unsigned long long vones = {0xffffffffffffffffUL, -+ 0xffffffffffffffffUL}; -+ -+#ifdef REFLECT -+ const __vector unsigned long long vmask_32bit = -+ (__vector unsigned long long)vec_sld((__vector unsigned char)vzero, -+ (__vector unsigned char)vones, 4); -+#endif -+ -+ const __vector unsigned long long vmask_64bit = -+ (__vector unsigned long long)vec_sld((__vector unsigned char)vzero, -+ (__vector unsigned char)vones, 8); -+ -+ __vector unsigned long long vcrc; -+ -+ __vector unsigned long long vconst1, vconst2; -+ -+ /* vdata0-vdata7 will contain our data (p). */ -+ __vector unsigned long long vdata0, vdata1, vdata2, vdata3, vdata4, vdata5, -+ vdata6, vdata7; -+ -+ /* v0-v7 will contain our checksums */ -+ __vector unsigned long long v0 = {0, 0}; -+ __vector unsigned long long v1 = {0, 0}; -+ __vector unsigned long long v2 = {0, 0}; -+ __vector unsigned long long v3 = {0, 0}; -+ __vector unsigned long long v4 = {0, 0}; -+ __vector unsigned long long v5 = {0, 0}; -+ __vector unsigned long long v6 = {0, 0}; -+ __vector unsigned long long v7 = {0, 0}; -+ -+ /* Vector auxiliary variables. */ -+ __vector unsigned long long va0, va1, va2, va3, va4, va5, va6, va7; -+ -+ unsigned int result = 0; -+ unsigned int offset; /* Constant table offset. */ -+ -+ unsigned long i; /* Counter. */ -+ unsigned long chunks; -+ -+ unsigned long block_size; -+ int next_block = 0; -+ -+ /* Align by 128 bits. The last 128 bit block will be processed at end. */ -+ unsigned long length = len & 0xFFFFFFFFFFFFFF80UL; -+ -+#ifdef REFLECT -+ vcrc = (__vector unsigned long long)__builtin_pack_vector(0UL, crc); -+#else -+ vcrc = (__vector unsigned long long)__builtin_pack_vector(crc, 0UL); -+ -+ /* Shift into top 32 bits */ -+ vcrc = (__vector unsigned long long)vec_sld((__vector unsigned char)vcrc, -+ (__vector unsigned char)vzero, 4); -+#endif -+ -+ /* Short version. */ -+ if (len < 256) { -+ /* Calculate where in the constant table we need to start. */ -+ offset = 256 - len; -+ -+ vconst1 = vec_ld(offset, vcrc_short_const); -+ vdata0 = vec_ld(0, (__vector unsigned long long *)p); -+ VEC_PERM(vdata0, vdata0, vconst1, vperm_const); -+ -+ /* xor initial value*/ -+ vdata0 = vec_xor(vdata0, vcrc); -+ -+ vdata0 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata0, (__vector unsigned int)vconst1); -+ v0 = vec_xor(v0, vdata0); -+ -+ for (i = 16; i < len; i += 16) { -+ vconst1 = vec_ld(offset + i, vcrc_short_const); -+ vdata0 = vec_ld(i, (__vector unsigned long long *)p); -+ VEC_PERM(vdata0, vdata0, vconst1, vperm_const); -+ vdata0 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata0, (__vector unsigned int)vconst1); -+ v0 = vec_xor(v0, vdata0); -+ } -+ } else { -+ /* Load initial values. */ -+ vdata0 = vec_ld(0, (__vector unsigned long long *)p); -+ vdata1 = vec_ld(16, (__vector unsigned long long *)p); -+ -+ VEC_PERM(vdata0, vdata0, vdata0, vperm_const); -+ VEC_PERM(vdata1, vdata1, vdata1, vperm_const); -+ -+ vdata2 = vec_ld(32, (__vector unsigned long long *)p); -+ vdata3 = vec_ld(48, (__vector unsigned long long *)p); -+ -+ VEC_PERM(vdata2, vdata2, vdata2, vperm_const); -+ VEC_PERM(vdata3, vdata3, vdata3, vperm_const); -+ -+ vdata4 = vec_ld(64, (__vector unsigned long long *)p); -+ vdata5 = vec_ld(80, (__vector unsigned long long *)p); -+ -+ VEC_PERM(vdata4, vdata4, vdata4, vperm_const); -+ VEC_PERM(vdata5, vdata5, vdata5, vperm_const); -+ -+ vdata6 = vec_ld(96, (__vector unsigned long long *)p); -+ vdata7 = vec_ld(112, (__vector unsigned long long *)p); -+ -+ VEC_PERM(vdata6, vdata6, vdata6, vperm_const); -+ VEC_PERM(vdata7, vdata7, vdata7, vperm_const); -+ -+ /* xor in initial value */ -+ vdata0 = vec_xor(vdata0, vcrc); -+ -+ p = (char *)p + 128; -+ -+ do { -+ /* Checksum in blocks of MAX_SIZE. */ -+ block_size = length; -+ if (block_size > MAX_SIZE) { -+ block_size = MAX_SIZE; -+ } -+ -+ length = length - block_size; -+ -+ /* -+ * Work out the offset into the constants table to start at. Each -+ * constant is 16 bytes, and it is used against 128 bytes of input -+ * data - 128 / 16 = 8 -+ */ -+ offset = (MAX_SIZE / 8) - (block_size / 8); -+ /* We reduce our final 128 bytes in a separate step */ -+ chunks = (block_size / 128) - 1; -+ -+ vconst1 = vec_ld(offset, vcrc_const); -+ -+ va0 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata0, -+ (__vector unsigned long long)vconst1); -+ va1 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata1, -+ (__vector unsigned long long)vconst1); -+ va2 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata2, -+ (__vector unsigned long long)vconst1); -+ va3 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata3, -+ (__vector unsigned long long)vconst1); -+ va4 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata4, -+ (__vector unsigned long long)vconst1); -+ va5 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata5, -+ (__vector unsigned long long)vconst1); -+ va6 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata6, -+ (__vector unsigned long long)vconst1); -+ va7 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata7, -+ (__vector unsigned long long)vconst1); -+ -+ if (chunks > 1) { -+ offset += 16; -+ vconst2 = vec_ld(offset, vcrc_const); -+ GROUP_ENDING_NOP; -+ -+ vdata0 = vec_ld(0, (__vector unsigned long long *)p); -+ VEC_PERM(vdata0, vdata0, vdata0, vperm_const); -+ -+ vdata1 = vec_ld(16, (__vector unsigned long long *)p); -+ VEC_PERM(vdata1, vdata1, vdata1, vperm_const); -+ -+ vdata2 = vec_ld(32, (__vector unsigned long long *)p); -+ VEC_PERM(vdata2, vdata2, vdata2, vperm_const); -+ -+ vdata3 = vec_ld(48, (__vector unsigned long long *)p); -+ VEC_PERM(vdata3, vdata3, vdata3, vperm_const); -+ -+ vdata4 = vec_ld(64, (__vector unsigned long long *)p); -+ VEC_PERM(vdata4, vdata4, vdata4, vperm_const); -+ -+ vdata5 = vec_ld(80, (__vector unsigned long long *)p); -+ VEC_PERM(vdata5, vdata5, vdata5, vperm_const); -+ -+ vdata6 = vec_ld(96, (__vector unsigned long long *)p); -+ VEC_PERM(vdata6, vdata6, vdata6, vperm_const); -+ -+ vdata7 = vec_ld(112, (__vector unsigned long long *)p); -+ VEC_PERM(vdata7, vdata7, vdata7, vperm_const); -+ -+ p = (char *)p + 128; -+ -+ /* -+ * main loop. We modulo schedule it such that it takes three -+ * iterations to complete - first iteration load, second -+ * iteration vpmsum, third iteration xor. -+ */ -+ for (i = 0; i < chunks - 2; i++) { -+ vconst1 = vec_ld(offset, vcrc_const); -+ offset += 16; -+ GROUP_ENDING_NOP; -+ -+ v0 = vec_xor(v0, va0); -+ va0 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata0, -+ (__vector unsigned long long)vconst2); -+ vdata0 = vec_ld(0, (__vector unsigned long long *)p); -+ VEC_PERM(vdata0, vdata0, vdata0, vperm_const); -+ GROUP_ENDING_NOP; -+ -+ v1 = vec_xor(v1, va1); -+ va1 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata1, -+ (__vector unsigned long long)vconst2); -+ vdata1 = vec_ld(16, (__vector unsigned long long *)p); -+ VEC_PERM(vdata1, vdata1, vdata1, vperm_const); -+ GROUP_ENDING_NOP; -+ -+ v2 = vec_xor(v2, va2); -+ va2 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata2, -+ (__vector unsigned long long)vconst2); -+ vdata2 = vec_ld(32, (__vector unsigned long long *)p); -+ VEC_PERM(vdata2, vdata2, vdata2, vperm_const); -+ GROUP_ENDING_NOP; -+ -+ v3 = vec_xor(v3, va3); -+ va3 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata3, -+ (__vector unsigned long long)vconst2); -+ vdata3 = vec_ld(48, (__vector unsigned long long *)p); -+ VEC_PERM(vdata3, vdata3, vdata3, vperm_const); -+ -+ vconst2 = vec_ld(offset, vcrc_const); -+ GROUP_ENDING_NOP; -+ -+ v4 = vec_xor(v4, va4); -+ va4 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata4, -+ (__vector unsigned long long)vconst1); -+ vdata4 = vec_ld(64, (__vector unsigned long long *)p); -+ VEC_PERM(vdata4, vdata4, vdata4, vperm_const); -+ GROUP_ENDING_NOP; -+ -+ v5 = vec_xor(v5, va5); -+ va5 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata5, -+ (__vector unsigned long long)vconst1); -+ vdata5 = vec_ld(80, (__vector unsigned long long *)p); -+ VEC_PERM(vdata5, vdata5, vdata5, vperm_const); -+ GROUP_ENDING_NOP; -+ -+ v6 = vec_xor(v6, va6); -+ va6 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata6, -+ (__vector unsigned long long)vconst1); -+ vdata6 = vec_ld(96, (__vector unsigned long long *)p); -+ VEC_PERM(vdata6, vdata6, vdata6, vperm_const); -+ GROUP_ENDING_NOP; -+ -+ v7 = vec_xor(v7, va7); -+ va7 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata7, -+ (__vector unsigned long long)vconst1); -+ vdata7 = vec_ld(112, (__vector unsigned long long *)p); -+ VEC_PERM(vdata7, vdata7, vdata7, vperm_const); -+ -+ p = (char *)p + 128; -+ } -+ -+ /* First cool down*/ -+ vconst1 = vec_ld(offset, vcrc_const); -+ offset += 16; -+ -+ v0 = vec_xor(v0, va0); -+ va0 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata0, -+ (__vector unsigned long long)vconst1); -+ GROUP_ENDING_NOP; -+ -+ v1 = vec_xor(v1, va1); -+ va1 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata1, -+ (__vector unsigned long long)vconst1); -+ GROUP_ENDING_NOP; -+ -+ v2 = vec_xor(v2, va2); -+ va2 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata2, -+ (__vector unsigned long long)vconst1); -+ GROUP_ENDING_NOP; -+ -+ v3 = vec_xor(v3, va3); -+ va3 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata3, -+ (__vector unsigned long long)vconst1); -+ GROUP_ENDING_NOP; -+ -+ v4 = vec_xor(v4, va4); -+ va4 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata4, -+ (__vector unsigned long long)vconst1); -+ GROUP_ENDING_NOP; -+ -+ v5 = vec_xor(v5, va5); -+ va5 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata5, -+ (__vector unsigned long long)vconst1); -+ GROUP_ENDING_NOP; -+ -+ v6 = vec_xor(v6, va6); -+ va6 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata6, -+ (__vector unsigned long long)vconst1); -+ GROUP_ENDING_NOP; -+ -+ v7 = vec_xor(v7, va7); -+ va7 = __builtin_crypto_vpmsumd((__vector unsigned long long)vdata7, -+ (__vector unsigned long long)vconst1); -+ } /* else */ -+ -+ /* Second cool down. */ -+ v0 = vec_xor(v0, va0); -+ v1 = vec_xor(v1, va1); -+ v2 = vec_xor(v2, va2); -+ v3 = vec_xor(v3, va3); -+ v4 = vec_xor(v4, va4); -+ v5 = vec_xor(v5, va5); -+ v6 = vec_xor(v6, va6); -+ v7 = vec_xor(v7, va7); -+ -+#ifdef REFLECT -+ /* -+ * vpmsumd produces a 96 bit result in the least significant bits -+ * of the register. Since we are bit reflected we have to shift it -+ * left 32 bits so it occupies the least significant bits in the -+ * bit reflected domain. -+ */ -+ v0 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v0, (__vector unsigned char)vzero, 4); -+ v1 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v1, (__vector unsigned char)vzero, 4); -+ v2 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v2, (__vector unsigned char)vzero, 4); -+ v3 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v3, (__vector unsigned char)vzero, 4); -+ v4 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v4, (__vector unsigned char)vzero, 4); -+ v5 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v5, (__vector unsigned char)vzero, 4); -+ v6 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v6, (__vector unsigned char)vzero, 4); -+ v7 = (__vector unsigned long long)vec_sld( -+ (__vector unsigned char)v7, (__vector unsigned char)vzero, 4); -+#endif -+ -+ /* xor with the last 1024 bits. */ -+ va0 = vec_ld(0, (__vector unsigned long long *)p); -+ VEC_PERM(va0, va0, va0, vperm_const); -+ -+ va1 = vec_ld(16, (__vector unsigned long long *)p); -+ VEC_PERM(va1, va1, va1, vperm_const); -+ -+ va2 = vec_ld(32, (__vector unsigned long long *)p); -+ VEC_PERM(va2, va2, va2, vperm_const); -+ -+ va3 = vec_ld(48, (__vector unsigned long long *)p); -+ VEC_PERM(va3, va3, va3, vperm_const); -+ -+ va4 = vec_ld(64, (__vector unsigned long long *)p); -+ VEC_PERM(va4, va4, va4, vperm_const); -+ -+ va5 = vec_ld(80, (__vector unsigned long long *)p); -+ VEC_PERM(va5, va5, va5, vperm_const); -+ -+ va6 = vec_ld(96, (__vector unsigned long long *)p); -+ VEC_PERM(va6, va6, va6, vperm_const); -+ -+ va7 = vec_ld(112, (__vector unsigned long long *)p); -+ VEC_PERM(va7, va7, va7, vperm_const); -+ -+ p = (char *)p + 128; -+ -+ vdata0 = vec_xor(v0, va0); -+ vdata1 = vec_xor(v1, va1); -+ vdata2 = vec_xor(v2, va2); -+ vdata3 = vec_xor(v3, va3); -+ vdata4 = vec_xor(v4, va4); -+ vdata5 = vec_xor(v5, va5); -+ vdata6 = vec_xor(v6, va6); -+ vdata7 = vec_xor(v7, va7); -+ -+ /* Check if we have more blocks to process */ -+ next_block = 0; -+ if (length != 0) { -+ next_block = 1; -+ -+ /* zero v0-v7 */ -+ v0 = vec_xor(v0, v0); -+ v1 = vec_xor(v1, v1); -+ v2 = vec_xor(v2, v2); -+ v3 = vec_xor(v3, v3); -+ v4 = vec_xor(v4, v4); -+ v5 = vec_xor(v5, v5); -+ v6 = vec_xor(v6, v6); -+ v7 = vec_xor(v7, v7); -+ } -+ length = length + 128; -+ -+ } while (next_block); -+ -+ /* Calculate how many bytes we have left. */ -+ length = (len & 127); -+ -+ /* Calculate where in (short) constant table we need to start. */ -+ offset = 128 - length; -+ -+ v0 = vec_ld(offset, vcrc_short_const); -+ v1 = vec_ld(offset + 16, vcrc_short_const); -+ v2 = vec_ld(offset + 32, vcrc_short_const); -+ v3 = vec_ld(offset + 48, vcrc_short_const); -+ v4 = vec_ld(offset + 64, vcrc_short_const); -+ v5 = vec_ld(offset + 80, vcrc_short_const); -+ v6 = vec_ld(offset + 96, vcrc_short_const); -+ v7 = vec_ld(offset + 112, vcrc_short_const); -+ -+ offset += 128; -+ -+ v0 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata0, (__vector unsigned int)v0); -+ v1 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata1, (__vector unsigned int)v1); -+ v2 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata2, (__vector unsigned int)v2); -+ v3 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata3, (__vector unsigned int)v3); -+ v4 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata4, (__vector unsigned int)v4); -+ v5 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata5, (__vector unsigned int)v5); -+ v6 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata6, (__vector unsigned int)v6); -+ v7 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata7, (__vector unsigned int)v7); -+ -+ /* Now reduce the tail (0-112 bytes). */ -+ for (i = 0; i < length; i += 16) { -+ vdata0 = vec_ld(i, (__vector unsigned long long *)p); -+ VEC_PERM(vdata0, vdata0, vdata0, vperm_const); -+ va0 = vec_ld(offset + i, vcrc_short_const); -+ va0 = (__vector unsigned long long)__builtin_crypto_vpmsumw( -+ (__vector unsigned int)vdata0, (__vector unsigned int)va0); -+ v0 = vec_xor(v0, va0); -+ } -+ -+ /* xor all parallel chunks together. */ -+ v0 = vec_xor(v0, v1); -+ v2 = vec_xor(v2, v3); -+ v4 = vec_xor(v4, v5); -+ v6 = vec_xor(v6, v7); -+ -+ v0 = vec_xor(v0, v2); -+ v4 = vec_xor(v4, v6); -+ -+ v0 = vec_xor(v0, v4); -+ } -+ -+ /* Barrett Reduction */ -+ vconst1 = vec_ld(0, v_Barrett_const); -+ vconst2 = vec_ld(16, v_Barrett_const); -+ -+ v1 = (__vector unsigned long long)vec_sld((__vector unsigned char)v0, -+ (__vector unsigned char)v0, 8); -+ v0 = vec_xor(v1, v0); -+ -+#ifdef REFLECT -+ /* shift left one bit */ -+ __vector unsigned char vsht_splat = vec_splat_u8(1); -+ v0 = (__vector unsigned long long)vec_sll((__vector unsigned char)v0, -+ vsht_splat); -+#endif -+ -+ v0 = vec_and(v0, vmask_64bit); -+ -+#ifndef REFLECT -+ -+ /* -+ * Now for the actual algorithm. The idea is to calculate q, -+ * the multiple of our polynomial that we need to subtract. By -+ * doing the computation 2x bits higher (ie 64 bits) and shifting the -+ * result back down 2x bits, we round down to the nearest multiple. -+ */ -+ -+ /* ma */ -+ v1 = __builtin_crypto_vpmsumd((__vector unsigned long long)v0, -+ (__vector unsigned long long)vconst1); -+ /* q = floor(ma/(2^64)) */ -+ v1 = (__vector unsigned long long)vec_sld((__vector unsigned char)vzero, -+ (__vector unsigned char)v1, 8); -+ /* qn */ -+ v1 = __builtin_crypto_vpmsumd((__vector unsigned long long)v1, -+ (__vector unsigned long long)vconst2); -+ /* a - qn, subtraction is xor in GF(2) */ -+ v0 = vec_xor(v0, v1); -+ /* -+ * Get the result into r3. We need to shift it left 8 bytes: -+ * V0 [ 0 1 2 X ] -+ * V0 [ 0 X 2 3 ] -+ */ -+ result = __builtin_unpack_vector_1(v0); -+#else -+ -+ /* -+ * The reflected version of Barrett reduction. Instead of bit -+ * reflecting our data (which is expensive to do), we bit reflect our -+ * constants and our algorithm, which means the intermediate data in -+ * our vector registers goes from 0-63 instead of 63-0. We can reflect -+ * the algorithm because we don't carry in mod 2 arithmetic. -+ */ -+ -+ /* bottom 32 bits of a */ -+ v1 = vec_and(v0, vmask_32bit); -+ -+ /* ma */ -+ v1 = __builtin_crypto_vpmsumd((__vector unsigned long long)v1, -+ (__vector unsigned long long)vconst1); -+ -+ /* bottom 32bits of ma */ -+ v1 = vec_and(v1, vmask_32bit); -+ /* qn */ -+ v1 = __builtin_crypto_vpmsumd((__vector unsigned long long)v1, -+ (__vector unsigned long long)vconst2); -+ /* a - qn, subtraction is xor in GF(2) */ -+ v0 = vec_xor(v0, v1); -+ -+ /* -+ * Since we are bit reflected, the result (ie the low 32 bits) is in -+ * the high 32 bits. We just need to shift it left 4 bytes -+ * V0 [ 0 1 X 3 ] -+ * V0 [ 0 X 2 3 ] -+ */ -+ -+ /* shift result into top 64 bits of */ -+ v0 = (__vector unsigned long long)vec_sld((__vector unsigned char)v0, -+ (__vector unsigned char)vzero, 4); -+ -+ result = __builtin_unpack_vector_0(v0); -+#endif -+ -+ return result; -+} -diff --git a/util/crc32c_ppc.h b/util/crc32c_ppc.h -deleted file mode 100644 -index c359061c61..0000000000 ---- a/util/crc32c_ppc.h -+++ /dev/null -@@ -1,19 +0,0 @@ --// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. --// Copyright (c) 2017 International Business Machines Corp. --// All rights reserved. --// This source code is licensed under both the GPLv2 (found in the --// COPYING file in the root directory) and Apache 2.0 License --// (found in the LICENSE.Apache file in the root directory). -- --#pragma once -- --#ifdef __cplusplus --extern "C" { --#endif -- --extern uint32_t crc32c_ppc(uint32_t crc, unsigned char const *buffer, -- unsigned len); -- --#ifdef __cplusplus --} --#endif -diff --git a/util/crc32c_ppc_asm.S b/util/crc32c_ppc_asm.S -deleted file mode 100644 -index a317bf96b8..0000000000 ---- a/util/crc32c_ppc_asm.S -+++ /dev/null -@@ -1,752 +0,0 @@ --// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. --// Copyright (c) 2015 Anton Blanchard , IBM --// Copyright (c) 2017 International Business Machines Corp. --// All rights reserved. --// This source code is licensed under both the GPLv2 (found in the --// COPYING file in the root directory) and Apache 2.0 License --// (found in the LICENSE.Apache file in the root directory). -- --#include --#include "ppc-opcode.h" -- --#undef toc -- --#ifndef r1 --#define r1 1 --#endif -- --#ifndef r2 --#define r2 2 --#endif -- -- .section .rodata --.balign 16 -- --.byteswap_constant: -- /* byte reverse permute constant */ -- .octa 0x0F0E0D0C0B0A09080706050403020100 -- --#define __ASSEMBLY__ --#include "crc32c_ppc_constants.h" -- -- .text -- --#if defined(__BIG_ENDIAN__) && defined(REFLECT) --#define BYTESWAP_DATA --#elif defined(__LITTLE_ENDIAN__) && !defined(REFLECT) --#define BYTESWAP_DATA --#else --#undef BYTESWAP_DATA --#endif -- --#define off16 r25 --#define off32 r26 --#define off48 r27 --#define off64 r28 --#define off80 r29 --#define off96 r30 --#define off112 r31 -- --#define const1 v24 --#define const2 v25 -- --#define byteswap v26 --#define mask_32bit v27 --#define mask_64bit v28 --#define zeroes v29 -- --#ifdef BYTESWAP_DATA --#define VPERM(A, B, C, D) vperm A, B, C, D --#else --#define VPERM(A, B, C, D) --#endif -- --/* unsigned int __crc32_vpmsum(unsigned int crc, void *p, unsigned long len) */ --FUNC_START(__crc32_vpmsum) -- std r31,-8(r1) -- std r30,-16(r1) -- std r29,-24(r1) -- std r28,-32(r1) -- std r27,-40(r1) -- std r26,-48(r1) -- std r25,-56(r1) -- -- li off16,16 -- li off32,32 -- li off48,48 -- li off64,64 -- li off80,80 -- li off96,96 -- li off112,112 -- li r0,0 -- -- /* Enough room for saving 10 non volatile VMX registers */ -- subi r6,r1,56+10*16 -- subi r7,r1,56+2*16 -- -- stvx v20,0,r6 -- stvx v21,off16,r6 -- stvx v22,off32,r6 -- stvx v23,off48,r6 -- stvx v24,off64,r6 -- stvx v25,off80,r6 -- stvx v26,off96,r6 -- stvx v27,off112,r6 -- stvx v28,0,r7 -- stvx v29,off16,r7 -- -- mr r10,r3 -- -- vxor zeroes,zeroes,zeroes -- vspltisw v0,-1 -- -- vsldoi mask_32bit,zeroes,v0,4 -- vsldoi mask_64bit,zeroes,v0,8 -- -- /* Get the initial value into v8 */ -- vxor v8,v8,v8 -- MTVRD(v8, r3) --#ifdef REFLECT -- vsldoi v8,zeroes,v8,8 /* shift into bottom 32 bits */ --#else -- vsldoi v8,v8,zeroes,4 /* shift into top 32 bits */ --#endif -- --#ifdef BYTESWAP_DATA -- addis r3,r2,.byteswap_constant@toc@ha -- addi r3,r3,.byteswap_constant@toc@l -- -- lvx byteswap,0,r3 -- addi r3,r3,16 --#endif -- -- cmpdi r5,256 -- blt .Lshort -- -- rldicr r6,r5,0,56 -- -- /* Checksum in blocks of MAX_SIZE */ --1: lis r7,MAX_SIZE@h -- ori r7,r7,MAX_SIZE@l -- mr r9,r7 -- cmpd r6,r7 -- bgt 2f -- mr r7,r6 --2: subf r6,r7,r6 -- -- /* our main loop does 128 bytes at a time */ -- srdi r7,r7,7 -- -- /* -- * Work out the offset into the constants table to start at. Each -- * constant is 16 bytes, and it is used against 128 bytes of input -- * data - 128 / 16 = 8 -- */ -- sldi r8,r7,4 -- srdi r9,r9,3 -- subf r8,r8,r9 -- -- /* We reduce our final 128 bytes in a separate step */ -- addi r7,r7,-1 -- mtctr r7 -- -- addis r3,r2,.constants@toc@ha -- addi r3,r3,.constants@toc@l -- -- /* Find the start of our constants */ -- add r3,r3,r8 -- -- /* zero v0-v7 which will contain our checksums */ -- vxor v0,v0,v0 -- vxor v1,v1,v1 -- vxor v2,v2,v2 -- vxor v3,v3,v3 -- vxor v4,v4,v4 -- vxor v5,v5,v5 -- vxor v6,v6,v6 -- vxor v7,v7,v7 -- -- lvx const1,0,r3 -- -- /* -- * If we are looping back to consume more data we use the values -- * already in v16-v23. -- */ -- cmpdi r0,1 -- beq 2f -- -- /* First warm up pass */ -- lvx v16,0,r4 -- lvx v17,off16,r4 -- VPERM(v16,v16,v16,byteswap) -- VPERM(v17,v17,v17,byteswap) -- lvx v18,off32,r4 -- lvx v19,off48,r4 -- VPERM(v18,v18,v18,byteswap) -- VPERM(v19,v19,v19,byteswap) -- lvx v20,off64,r4 -- lvx v21,off80,r4 -- VPERM(v20,v20,v20,byteswap) -- VPERM(v21,v21,v21,byteswap) -- lvx v22,off96,r4 -- lvx v23,off112,r4 -- VPERM(v22,v22,v22,byteswap) -- VPERM(v23,v23,v23,byteswap) -- addi r4,r4,8*16 -- -- /* xor in initial value */ -- vxor v16,v16,v8 -- --2: bdz .Lfirst_warm_up_done -- -- addi r3,r3,16 -- lvx const2,0,r3 -- -- /* Second warm up pass */ -- VPMSUMD(v8,v16,const1) -- lvx v16,0,r4 -- VPERM(v16,v16,v16,byteswap) -- ori r2,r2,0 -- -- VPMSUMD(v9,v17,const1) -- lvx v17,off16,r4 -- VPERM(v17,v17,v17,byteswap) -- ori r2,r2,0 -- -- VPMSUMD(v10,v18,const1) -- lvx v18,off32,r4 -- VPERM(v18,v18,v18,byteswap) -- ori r2,r2,0 -- -- VPMSUMD(v11,v19,const1) -- lvx v19,off48,r4 -- VPERM(v19,v19,v19,byteswap) -- ori r2,r2,0 -- -- VPMSUMD(v12,v20,const1) -- lvx v20,off64,r4 -- VPERM(v20,v20,v20,byteswap) -- ori r2,r2,0 -- -- VPMSUMD(v13,v21,const1) -- lvx v21,off80,r4 -- VPERM(v21,v21,v21,byteswap) -- ori r2,r2,0 -- -- VPMSUMD(v14,v22,const1) -- lvx v22,off96,r4 -- VPERM(v22,v22,v22,byteswap) -- ori r2,r2,0 -- -- VPMSUMD(v15,v23,const1) -- lvx v23,off112,r4 -- VPERM(v23,v23,v23,byteswap) -- -- addi r4,r4,8*16 -- -- bdz .Lfirst_cool_down -- -- /* -- * main loop. We modulo schedule it such that it takes three iterations -- * to complete - first iteration load, second iteration vpmsum, third -- * iteration xor. -- */ -- .balign 16 --4: lvx const1,0,r3 -- addi r3,r3,16 -- ori r2,r2,0 -- -- vxor v0,v0,v8 -- VPMSUMD(v8,v16,const2) -- lvx v16,0,r4 -- VPERM(v16,v16,v16,byteswap) -- ori r2,r2,0 -- -- vxor v1,v1,v9 -- VPMSUMD(v9,v17,const2) -- lvx v17,off16,r4 -- VPERM(v17,v17,v17,byteswap) -- ori r2,r2,0 -- -- vxor v2,v2,v10 -- VPMSUMD(v10,v18,const2) -- lvx v18,off32,r4 -- VPERM(v18,v18,v18,byteswap) -- ori r2,r2,0 -- -- vxor v3,v3,v11 -- VPMSUMD(v11,v19,const2) -- lvx v19,off48,r4 -- VPERM(v19,v19,v19,byteswap) -- lvx const2,0,r3 -- ori r2,r2,0 -- -- vxor v4,v4,v12 -- VPMSUMD(v12,v20,const1) -- lvx v20,off64,r4 -- VPERM(v20,v20,v20,byteswap) -- ori r2,r2,0 -- -- vxor v5,v5,v13 -- VPMSUMD(v13,v21,const1) -- lvx v21,off80,r4 -- VPERM(v21,v21,v21,byteswap) -- ori r2,r2,0 -- -- vxor v6,v6,v14 -- VPMSUMD(v14,v22,const1) -- lvx v22,off96,r4 -- VPERM(v22,v22,v22,byteswap) -- ori r2,r2,0 -- -- vxor v7,v7,v15 -- VPMSUMD(v15,v23,const1) -- lvx v23,off112,r4 -- VPERM(v23,v23,v23,byteswap) -- -- addi r4,r4,8*16 -- -- bdnz 4b -- --.Lfirst_cool_down: -- /* First cool down pass */ -- lvx const1,0,r3 -- addi r3,r3,16 -- -- vxor v0,v0,v8 -- VPMSUMD(v8,v16,const1) -- ori r2,r2,0 -- -- vxor v1,v1,v9 -- VPMSUMD(v9,v17,const1) -- ori r2,r2,0 -- -- vxor v2,v2,v10 -- VPMSUMD(v10,v18,const1) -- ori r2,r2,0 -- -- vxor v3,v3,v11 -- VPMSUMD(v11,v19,const1) -- ori r2,r2,0 -- -- vxor v4,v4,v12 -- VPMSUMD(v12,v20,const1) -- ori r2,r2,0 -- -- vxor v5,v5,v13 -- VPMSUMD(v13,v21,const1) -- ori r2,r2,0 -- -- vxor v6,v6,v14 -- VPMSUMD(v14,v22,const1) -- ori r2,r2,0 -- -- vxor v7,v7,v15 -- VPMSUMD(v15,v23,const1) -- ori r2,r2,0 -- --.Lsecond_cool_down: -- /* Second cool down pass */ -- vxor v0,v0,v8 -- vxor v1,v1,v9 -- vxor v2,v2,v10 -- vxor v3,v3,v11 -- vxor v4,v4,v12 -- vxor v5,v5,v13 -- vxor v6,v6,v14 -- vxor v7,v7,v15 -- --#ifdef REFLECT -- /* -- * vpmsumd produces a 96 bit result in the least significant bits -- * of the register. Since we are bit reflected we have to shift it -- * left 32 bits so it occupies the least significant bits in the -- * bit reflected domain. -- */ -- vsldoi v0,v0,zeroes,4 -- vsldoi v1,v1,zeroes,4 -- vsldoi v2,v2,zeroes,4 -- vsldoi v3,v3,zeroes,4 -- vsldoi v4,v4,zeroes,4 -- vsldoi v5,v5,zeroes,4 -- vsldoi v6,v6,zeroes,4 -- vsldoi v7,v7,zeroes,4 --#endif -- -- /* xor with last 1024 bits */ -- lvx v8,0,r4 -- lvx v9,off16,r4 -- VPERM(v8,v8,v8,byteswap) -- VPERM(v9,v9,v9,byteswap) -- lvx v10,off32,r4 -- lvx v11,off48,r4 -- VPERM(v10,v10,v10,byteswap) -- VPERM(v11,v11,v11,byteswap) -- lvx v12,off64,r4 -- lvx v13,off80,r4 -- VPERM(v12,v12,v12,byteswap) -- VPERM(v13,v13,v13,byteswap) -- lvx v14,off96,r4 -- lvx v15,off112,r4 -- VPERM(v14,v14,v14,byteswap) -- VPERM(v15,v15,v15,byteswap) -- -- addi r4,r4,8*16 -- -- vxor v16,v0,v8 -- vxor v17,v1,v9 -- vxor v18,v2,v10 -- vxor v19,v3,v11 -- vxor v20,v4,v12 -- vxor v21,v5,v13 -- vxor v22,v6,v14 -- vxor v23,v7,v15 -- -- li r0,1 -- cmpdi r6,0 -- addi r6,r6,128 -- bne 1b -- -- /* Work out how many bytes we have left */ -- andi. r5,r5,127 -- -- /* Calculate where in the constant table we need to start */ -- subfic r6,r5,128 -- add r3,r3,r6 -- -- /* How many 16 byte chunks are in the tail */ -- srdi r7,r5,4 -- mtctr r7 -- -- /* -- * Reduce the previously calculated 1024 bits to 64 bits, shifting -- * 32 bits to include the trailing 32 bits of zeros -- */ -- lvx v0,0,r3 -- lvx v1,off16,r3 -- lvx v2,off32,r3 -- lvx v3,off48,r3 -- lvx v4,off64,r3 -- lvx v5,off80,r3 -- lvx v6,off96,r3 -- lvx v7,off112,r3 -- addi r3,r3,8*16 -- -- VPMSUMW(v0,v16,v0) -- VPMSUMW(v1,v17,v1) -- VPMSUMW(v2,v18,v2) -- VPMSUMW(v3,v19,v3) -- VPMSUMW(v4,v20,v4) -- VPMSUMW(v5,v21,v5) -- VPMSUMW(v6,v22,v6) -- VPMSUMW(v7,v23,v7) -- -- /* Now reduce the tail (0 - 112 bytes) */ -- cmpdi r7,0 -- beq 1f -- -- lvx v16,0,r4 -- lvx v17,0,r3 -- VPERM(v16,v16,v16,byteswap) -- VPMSUMW(v16,v16,v17) -- vxor v0,v0,v16 -- bdz 1f -- -- lvx v16,off16,r4 -- lvx v17,off16,r3 -- VPERM(v16,v16,v16,byteswap) -- VPMSUMW(v16,v16,v17) -- vxor v0,v0,v16 -- bdz 1f -- -- lvx v16,off32,r4 -- lvx v17,off32,r3 -- VPERM(v16,v16,v16,byteswap) -- VPMSUMW(v16,v16,v17) -- vxor v0,v0,v16 -- bdz 1f -- -- lvx v16,off48,r4 -- lvx v17,off48,r3 -- VPERM(v16,v16,v16,byteswap) -- VPMSUMW(v16,v16,v17) -- vxor v0,v0,v16 -- bdz 1f -- -- lvx v16,off64,r4 -- lvx v17,off64,r3 -- VPERM(v16,v16,v16,byteswap) -- VPMSUMW(v16,v16,v17) -- vxor v0,v0,v16 -- bdz 1f -- -- lvx v16,off80,r4 -- lvx v17,off80,r3 -- VPERM(v16,v16,v16,byteswap) -- VPMSUMW(v16,v16,v17) -- vxor v0,v0,v16 -- bdz 1f -- -- lvx v16,off96,r4 -- lvx v17,off96,r3 -- VPERM(v16,v16,v16,byteswap) -- VPMSUMW(v16,v16,v17) -- vxor v0,v0,v16 -- -- /* Now xor all the parallel chunks together */ --1: vxor v0,v0,v1 -- vxor v2,v2,v3 -- vxor v4,v4,v5 -- vxor v6,v6,v7 -- -- vxor v0,v0,v2 -- vxor v4,v4,v6 -- -- vxor v0,v0,v4 -- --.Lbarrett_reduction: -- /* Barrett constants */ -- addis r3,r2,.barrett_constants@toc@ha -- addi r3,r3,.barrett_constants@toc@l -- -- lvx const1,0,r3 -- lvx const2,off16,r3 -- -- vsldoi v1,v0,v0,8 -- vxor v0,v0,v1 /* xor two 64 bit results together */ -- --#ifdef REFLECT -- /* shift left one bit */ -- vspltisb v1,1 -- vsl v0,v0,v1 --#endif -- -- vand v0,v0,mask_64bit -- --#ifndef REFLECT -- /* -- * Now for the Barrett reduction algorithm. The idea is to calculate q, -- * the multiple of our polynomial that we need to subtract. By -- * doing the computation 2x bits higher (ie 64 bits) and shifting the -- * result back down 2x bits, we round down to the nearest multiple. -- */ -- VPMSUMD(v1,v0,const1) /* ma */ -- vsldoi v1,zeroes,v1,8 /* q = floor(ma/(2^64)) */ -- VPMSUMD(v1,v1,const2) /* qn */ -- vxor v0,v0,v1 /* a - qn, subtraction is xor in GF(2) */ -- -- /* -- * Get the result into r3. We need to shift it left 8 bytes: -- * V0 [ 0 1 2 X ] -- * V0 [ 0 X 2 3 ] -- */ -- vsldoi v0,v0,zeroes,8 /* shift result into top 64 bits */ --#else -- /* -- * The reflected version of Barrett reduction. Instead of bit -- * reflecting our data (which is expensive to do), we bit reflect our -- * constants and our algorithm, which means the intermediate data in -- * our vector registers goes from 0-63 instead of 63-0. We can reflect -- * the algorithm because we don't carry in mod 2 arithmetic. -- */ -- vand v1,v0,mask_32bit /* bottom 32 bits of a */ -- VPMSUMD(v1,v1,const1) /* ma */ -- vand v1,v1,mask_32bit /* bottom 32bits of ma */ -- VPMSUMD(v1,v1,const2) /* qn */ -- vxor v0,v0,v1 /* a - qn, subtraction is xor in GF(2) */ -- -- /* -- * Since we are bit reflected, the result (ie the low 32 bits) is in -- * the high 32 bits. We just need to shift it left 4 bytes -- * V0 [ 0 1 X 3 ] -- * V0 [ 0 X 2 3 ] -- */ -- vsldoi v0,v0,zeroes,4 /* shift result into top 64 bits of */ --#endif -- -- /* Get it into r3 */ -- MFVRD(r3, v0) -- --.Lout: -- subi r6,r1,56+10*16 -- subi r7,r1,56+2*16 -- -- lvx v20,0,r6 -- lvx v21,off16,r6 -- lvx v22,off32,r6 -- lvx v23,off48,r6 -- lvx v24,off64,r6 -- lvx v25,off80,r6 -- lvx v26,off96,r6 -- lvx v27,off112,r6 -- lvx v28,0,r7 -- lvx v29,off16,r7 -- -- ld r31,-8(r1) -- ld r30,-16(r1) -- ld r29,-24(r1) -- ld r28,-32(r1) -- ld r27,-40(r1) -- ld r26,-48(r1) -- ld r25,-56(r1) -- -- blr -- --.Lfirst_warm_up_done: -- lvx const1,0,r3 -- addi r3,r3,16 -- -- VPMSUMD(v8,v16,const1) -- VPMSUMD(v9,v17,const1) -- VPMSUMD(v10,v18,const1) -- VPMSUMD(v11,v19,const1) -- VPMSUMD(v12,v20,const1) -- VPMSUMD(v13,v21,const1) -- VPMSUMD(v14,v22,const1) -- VPMSUMD(v15,v23,const1) -- -- b .Lsecond_cool_down -- --.Lshort: -- cmpdi r5,0 -- beq .Lzero -- -- addis r3,r2,.short_constants@toc@ha -- addi r3,r3,.short_constants@toc@l -- -- /* Calculate where in the constant table we need to start */ -- subfic r6,r5,256 -- add r3,r3,r6 -- -- /* How many 16 byte chunks? */ -- srdi r7,r5,4 -- mtctr r7 -- -- vxor v19,v19,v19 -- vxor v20,v20,v20 -- -- lvx v0,0,r4 -- lvx v16,0,r3 -- VPERM(v0,v0,v16,byteswap) -- vxor v0,v0,v8 /* xor in initial value */ -- VPMSUMW(v0,v0,v16) -- bdz .Lv0 -- -- lvx v1,off16,r4 -- lvx v17,off16,r3 -- VPERM(v1,v1,v17,byteswap) -- VPMSUMW(v1,v1,v17) -- bdz .Lv1 -- -- lvx v2,off32,r4 -- lvx v16,off32,r3 -- VPERM(v2,v2,v16,byteswap) -- VPMSUMW(v2,v2,v16) -- bdz .Lv2 -- -- lvx v3,off48,r4 -- lvx v17,off48,r3 -- VPERM(v3,v3,v17,byteswap) -- VPMSUMW(v3,v3,v17) -- bdz .Lv3 -- -- lvx v4,off64,r4 -- lvx v16,off64,r3 -- VPERM(v4,v4,v16,byteswap) -- VPMSUMW(v4,v4,v16) -- bdz .Lv4 -- -- lvx v5,off80,r4 -- lvx v17,off80,r3 -- VPERM(v5,v5,v17,byteswap) -- VPMSUMW(v5,v5,v17) -- bdz .Lv5 -- -- lvx v6,off96,r4 -- lvx v16,off96,r3 -- VPERM(v6,v6,v16,byteswap) -- VPMSUMW(v6,v6,v16) -- bdz .Lv6 -- -- lvx v7,off112,r4 -- lvx v17,off112,r3 -- VPERM(v7,v7,v17,byteswap) -- VPMSUMW(v7,v7,v17) -- bdz .Lv7 -- -- addi r3,r3,128 -- addi r4,r4,128 -- -- lvx v8,0,r4 -- lvx v16,0,r3 -- VPERM(v8,v8,v16,byteswap) -- VPMSUMW(v8,v8,v16) -- bdz .Lv8 -- -- lvx v9,off16,r4 -- lvx v17,off16,r3 -- VPERM(v9,v9,v17,byteswap) -- VPMSUMW(v9,v9,v17) -- bdz .Lv9 -- -- lvx v10,off32,r4 -- lvx v16,off32,r3 -- VPERM(v10,v10,v16,byteswap) -- VPMSUMW(v10,v10,v16) -- bdz .Lv10 -- -- lvx v11,off48,r4 -- lvx v17,off48,r3 -- VPERM(v11,v11,v17,byteswap) -- VPMSUMW(v11,v11,v17) -- bdz .Lv11 -- -- lvx v12,off64,r4 -- lvx v16,off64,r3 -- VPERM(v12,v12,v16,byteswap) -- VPMSUMW(v12,v12,v16) -- bdz .Lv12 -- -- lvx v13,off80,r4 -- lvx v17,off80,r3 -- VPERM(v13,v13,v17,byteswap) -- VPMSUMW(v13,v13,v17) -- bdz .Lv13 -- -- lvx v14,off96,r4 -- lvx v16,off96,r3 -- VPERM(v14,v14,v16,byteswap) -- VPMSUMW(v14,v14,v16) -- bdz .Lv14 -- -- lvx v15,off112,r4 -- lvx v17,off112,r3 -- VPERM(v15,v15,v17,byteswap) -- VPMSUMW(v15,v15,v17) -- --.Lv15: vxor v19,v19,v15 --.Lv14: vxor v20,v20,v14 --.Lv13: vxor v19,v19,v13 --.Lv12: vxor v20,v20,v12 --.Lv11: vxor v19,v19,v11 --.Lv10: vxor v20,v20,v10 --.Lv9: vxor v19,v19,v9 --.Lv8: vxor v20,v20,v8 --.Lv7: vxor v19,v19,v7 --.Lv6: vxor v20,v20,v6 --.Lv5: vxor v19,v19,v5 --.Lv4: vxor v20,v20,v4 --.Lv3: vxor v19,v19,v3 --.Lv2: vxor v20,v20,v2 --.Lv1: vxor v19,v19,v1 --.Lv0: vxor v20,v20,v0 -- -- vxor v0,v19,v20 -- -- b .Lbarrett_reduction -- --.Lzero: -- mr r3,r10 -- b .Lout -- --FUNC_END(__crc32_vpmsum) -diff --git a/util/crc32c_ppc_clang_workaround.h b/util/crc32c_ppc_clang_workaround.h -new file mode 100644 -index 0000000000..110cb31782 ---- /dev/null -+++ b/util/crc32c_ppc_clang_workaround.h -@@ -0,0 +1,85 @@ -+// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -+// Copyright (C) 2015, 2017 International Business Machines Corp. -+// All rights reserved. -+// This source code is licensed under both the GPLv2 (found in the -+// COPYING file in the root directory) and Apache 2.0 License -+// (found in the LICENSE.Apache file in the root directory). -+#ifndef CLANG_WORKAROUND_H -+#define CLANG_WORKAROUND_H -+ -+/* -+ * These stubs fix clang incompatibilities with GCC builtins. -+ */ -+ -+#ifndef __builtin_crypto_vpmsumw -+#define __builtin_crypto_vpmsumw __builtin_crypto_vpmsumb -+#endif -+#ifndef __builtin_crypto_vpmsumd -+#define __builtin_crypto_vpmsumd __builtin_crypto_vpmsumb -+#endif -+ -+static inline __vector unsigned long long __attribute__((overloadable)) -+vec_ld(int __a, const __vector unsigned long long* __b) { -+ return (__vector unsigned long long)__builtin_altivec_lvx(__a, __b); -+} -+ -+/* -+ * GCC __builtin_pack_vector_int128 returns a vector __int128_t but Clang -+ * does not recognize this type. On GCC this builtin is translated to a -+ * xxpermdi instruction that only moves the registers __a, __b instead generates -+ * a load. -+ * -+ * Clang has vec_xxpermdi intrinsics. It was implemented in 4.0.0. -+ */ -+static inline __vector unsigned long long __builtin_pack_vector( -+ unsigned long __a, unsigned long __b) { -+#if defined(__BIG_ENDIAN__) -+ __vector unsigned long long __v = {__a, __b}; -+#else -+ __vector unsigned long long __v = {__b, __a}; -+#endif -+ return __v; -+} -+ -+/* -+ * Clang 7 changed the behavior of vec_xxpermdi in order to provide the same -+ * behavior of GCC. That means code adapted to Clang >= 7 does not work on -+ * Clang <= 6. So, fallback to __builtin_unpack_vector() on Clang <= 6. -+ */ -+#if !defined vec_xxpermdi || __clang_major__ <= 6 -+ -+static inline unsigned long __builtin_unpack_vector( -+ __vector unsigned long long __v, int __o) { -+ return __v[__o]; -+} -+ -+#if defined(__BIG_ENDIAN__) -+#define __builtin_unpack_vector_0(a) __builtin_unpack_vector((a), 0) -+#define __builtin_unpack_vector_1(a) __builtin_unpack_vector((a), 1) -+#else -+#define __builtin_unpack_vector_0(a) __builtin_unpack_vector((a), 1) -+#define __builtin_unpack_vector_1(a) __builtin_unpack_vector((a), 0) -+#endif -+ -+#else -+ -+static inline unsigned long __builtin_unpack_vector_0( -+ __vector unsigned long long __v) { -+#if defined(__BIG_ENDIAN__) -+ return vec_xxpermdi(__v, __v, 0x0)[0]; -+#else -+ return vec_xxpermdi(__v, __v, 0x3)[0]; -+#endif -+} -+ -+static inline unsigned long __builtin_unpack_vector_1( -+ __vector unsigned long long __v) { -+#if defined(__BIG_ENDIAN__) -+ return vec_xxpermdi(__v, __v, 0x3)[0]; -+#else -+ return vec_xxpermdi(__v, __v, 0x0)[0]; -+#endif -+} -+#endif /* vec_xxpermdi */ -+ -+#endif -diff --git a/util/crc32c_ppc_constants.h b/util/crc32c_ppc_constants.h -index f6494cd01c..14df7ccda5 100644 ---- a/util/crc32c_ppc_constants.h -+++ b/util/crc32c_ppc_constants.h -@@ -5,13 +5,21 @@ - // COPYING file in the root directory) and Apache 2.0 License - // (found in the LICENSE.Apache file in the root directory). - --#pragma once -+/* -+* -+* THIS FILE IS GENERATED WITH -+./crc32_constants -r -x 0x1edc6f41 -+ -+* This is from https://github.com/antonblanchard/crc32-vpmsum/ -+* DO NOT MODIFY IT MANUALLY! -+* -+*/ - - #define CRC 0x1edc6f41 --#define REFLECT - #define CRC_XOR -+#define REFLECT -+#define MAX_SIZE 32768 - --#ifndef __ASSEMBLY__ - #ifdef CRC_TABLE - static const unsigned int crc_table[] = { - 0x00000000, 0xf26b8303, 0xe13b70f7, 0x1350f3f4, 0xc79a971f, 0x35f1141c, -@@ -59,842 +67,1125 @@ static const unsigned int crc_table[] = { - 0xbe2da0a5, 0x4c4623a6, 0x5f16d052, 0xad7d5351, - }; - --#endif -+#endif /* CRC_TABLE */ -+#ifdef POWER8_INTRINSICS - --#else --#define MAX_SIZE 32768 --.constants : -+/* Constants */ - -- /* Reduce 262144 kbits to 1024 bits */ -+/* Reduce 262144 kbits to 1024 bits */ -+static const __vector unsigned long long vcrc_const[255] -+ __attribute__((aligned(16))) = { -+#ifdef __LITTLE_ENDIAN__ - /* x^261120 mod p(x)` << 1, x^261184 mod p(x)` << 1 */ -- .octa 0x00000000b6ca9e20000000009c37c408 -- -+ {0x000000009c37c408, 0x00000000b6ca9e20}, - /* x^260096 mod p(x)` << 1, x^260160 mod p(x)` << 1 */ -- .octa 0x00000000350249a800000001b51df26c -- -+ {0x00000001b51df26c, 0x00000000350249a8}, - /* x^259072 mod p(x)` << 1, x^259136 mod p(x)` << 1 */ -- .octa 0x00000001862dac54000000000724b9d0 -- -+ {0x000000000724b9d0, 0x00000001862dac54}, - /* x^258048 mod p(x)` << 1, x^258112 mod p(x)` << 1 */ -- .octa 0x00000001d87fb48c00000001c00532fe -- -+ {0x00000001c00532fe, 0x00000001d87fb48c}, - /* x^257024 mod p(x)` << 1, x^257088 mod p(x)` << 1 */ -- .octa 0x00000001f39b699e00000000f05a9362 -- -+ {0x00000000f05a9362, 0x00000001f39b699e}, - /* x^256000 mod p(x)` << 1, x^256064 mod p(x)` << 1 */ -- .octa 0x0000000101da11b400000001e1007970 -- -+ {0x00000001e1007970, 0x0000000101da11b4}, - /* x^254976 mod p(x)` << 1, x^255040 mod p(x)` << 1 */ -- .octa 0x00000001cab571e000000000a57366ee -- -+ {0x00000000a57366ee, 0x00000001cab571e0}, - /* x^253952 mod p(x)` << 1, x^254016 mod p(x)` << 1 */ -- .octa 0x00000000c7020cfe0000000192011284 -- -+ {0x0000000192011284, 0x00000000c7020cfe}, - /* x^252928 mod p(x)` << 1, x^252992 mod p(x)` << 1 */ -- .octa 0x00000000cdaed1ae0000000162716d9a -- -+ {0x0000000162716d9a, 0x00000000cdaed1ae}, - /* x^251904 mod p(x)` << 1, x^251968 mod p(x)` << 1 */ -- .octa 0x00000001e804effc00000000cd97ecde -- -+ {0x00000000cd97ecde, 0x00000001e804effc}, - /* x^250880 mod p(x)` << 1, x^250944 mod p(x)` << 1 */ -- .octa 0x0000000077c3ea3a0000000058812bc0 -- -+ {0x0000000058812bc0, 0x0000000077c3ea3a}, - /* x^249856 mod p(x)` << 1, x^249920 mod p(x)` << 1 */ -- .octa 0x0000000068df31b40000000088b8c12e -- -+ {0x0000000088b8c12e, 0x0000000068df31b4}, - /* x^248832 mod p(x)` << 1, x^248896 mod p(x)` << 1 */ -- .octa 0x00000000b059b6c200000001230b234c -- -+ {0x00000001230b234c, 0x00000000b059b6c2}, - /* x^247808 mod p(x)` << 1, x^247872 mod p(x)` << 1 */ -- .octa 0x0000000145fb8ed800000001120b416e -- -+ {0x00000001120b416e, 0x0000000145fb8ed8}, - /* x^246784 mod p(x)` << 1, x^246848 mod p(x)` << 1 */ -- .octa 0x00000000cbc0916800000001974aecb0 -- -+ {0x00000001974aecb0, 0x00000000cbc09168}, - /* x^245760 mod p(x)` << 1, x^245824 mod p(x)` << 1 */ -- .octa 0x000000005ceeedc2000000008ee3f226 -- -+ {0x000000008ee3f226, 0x000000005ceeedc2}, - /* x^244736 mod p(x)` << 1, x^244800 mod p(x)` << 1 */ -- .octa 0x0000000047d74e8600000001089aba9a -- -+ {0x00000001089aba9a, 0x0000000047d74e86}, - /* x^243712 mod p(x)` << 1, x^243776 mod p(x)` << 1 */ -- .octa 0x00000001407e9e220000000065113872 -- -+ {0x0000000065113872, 0x00000001407e9e22}, - /* x^242688 mod p(x)` << 1, x^242752 mod p(x)` << 1 */ -- .octa 0x00000001da967bda000000005c07ec10 -- -+ {0x000000005c07ec10, 0x00000001da967bda}, - /* x^241664 mod p(x)` << 1, x^241728 mod p(x)` << 1 */ -- .octa 0x000000006c8983680000000187590924 -- -+ {0x0000000187590924, 0x000000006c898368}, - /* x^240640 mod p(x)` << 1, x^240704 mod p(x)` << 1 */ -- .octa 0x00000000f2d14c9800000000e35da7c6 -- -+ {0x00000000e35da7c6, 0x00000000f2d14c98}, - /* x^239616 mod p(x)` << 1, x^239680 mod p(x)` << 1 */ -- .octa 0x00000001993c6ad4000000000415855a -- -+ {0x000000000415855a, 0x00000001993c6ad4}, - /* x^238592 mod p(x)` << 1, x^238656 mod p(x)` << 1 */ -- .octa 0x000000014683d1ac0000000073617758 -- -+ {0x0000000073617758, 0x000000014683d1ac}, - /* x^237568 mod p(x)` << 1, x^237632 mod p(x)` << 1 */ -- .octa 0x00000001a7c93e6c0000000176021d28 -- -+ {0x0000000176021d28, 0x00000001a7c93e6c}, - /* x^236544 mod p(x)` << 1, x^236608 mod p(x)` << 1 */ -- .octa 0x000000010211e90a00000001c358fd0a -- -+ {0x00000001c358fd0a, 0x000000010211e90a}, - /* x^235520 mod p(x)` << 1, x^235584 mod p(x)` << 1 */ -- .octa 0x000000001119403e00000001ff7a2c18 -- -+ {0x00000001ff7a2c18, 0x000000001119403e}, - /* x^234496 mod p(x)` << 1, x^234560 mod p(x)` << 1 */ -- .octa 0x000000001c3261aa00000000f2d9f7e4 -- -+ {0x00000000f2d9f7e4, 0x000000001c3261aa}, - /* x^233472 mod p(x)` << 1, x^233536 mod p(x)` << 1 */ -- .octa 0x000000014e37a634000000016cf1f9c8 -- -+ {0x000000016cf1f9c8, 0x000000014e37a634}, - /* x^232448 mod p(x)` << 1, x^232512 mod p(x)` << 1 */ -- .octa 0x0000000073786c0c000000010af9279a -- -+ {0x000000010af9279a, 0x0000000073786c0c}, - /* x^231424 mod p(x)` << 1, x^231488 mod p(x)` << 1 */ -- .octa 0x000000011dc037f80000000004f101e8 -- -+ {0x0000000004f101e8, 0x000000011dc037f8}, - /* x^230400 mod p(x)` << 1, x^230464 mod p(x)` << 1 */ -- .octa 0x0000000031433dfc0000000070bcf184 -- -+ {0x0000000070bcf184, 0x0000000031433dfc}, - /* x^229376 mod p(x)` << 1, x^229440 mod p(x)` << 1 */ -- .octa 0x000000009cde8348000000000a8de642 -- -+ {0x000000000a8de642, 0x000000009cde8348}, - /* x^228352 mod p(x)` << 1, x^228416 mod p(x)` << 1 */ -- .octa 0x0000000038d3c2a60000000062ea130c -- -+ {0x0000000062ea130c, 0x0000000038d3c2a6}, - /* x^227328 mod p(x)` << 1, x^227392 mod p(x)` << 1 */ -- .octa 0x000000011b25f26000000001eb31cbb2 -- -+ {0x00000001eb31cbb2, 0x000000011b25f260}, - /* x^226304 mod p(x)` << 1, x^226368 mod p(x)` << 1 */ -- .octa 0x000000001629e6f00000000170783448 -- -+ {0x0000000170783448, 0x000000001629e6f0}, - /* x^225280 mod p(x)` << 1, x^225344 mod p(x)` << 1 */ -- .octa 0x0000000160838b4c00000001a684b4c6 -- -+ {0x00000001a684b4c6, 0x0000000160838b4c}, - /* x^224256 mod p(x)` << 1, x^224320 mod p(x)` << 1 */ -- .octa 0x000000007a44011c00000000253ca5b4 -- -+ {0x00000000253ca5b4, 0x000000007a44011c}, - /* x^223232 mod p(x)` << 1, x^223296 mod p(x)` << 1 */ -- .octa 0x00000000226f417a0000000057b4b1e2 -- -+ {0x0000000057b4b1e2, 0x00000000226f417a}, - /* x^222208 mod p(x)` << 1, x^222272 mod p(x)` << 1 */ -- .octa 0x0000000045eb2eb400000000b6bd084c -- -+ {0x00000000b6bd084c, 0x0000000045eb2eb4}, - /* x^221184 mod p(x)` << 1, x^221248 mod p(x)` << 1 */ -- .octa 0x000000014459d70c0000000123c2d592 -- -+ {0x0000000123c2d592, 0x000000014459d70c}, - /* x^220160 mod p(x)` << 1, x^220224 mod p(x)` << 1 */ -- .octa 0x00000001d406ed8200000000159dafce -- -+ {0x00000000159dafce, 0x00000001d406ed82}, - /* x^219136 mod p(x)` << 1, x^219200 mod p(x)` << 1 */ -- .octa 0x0000000160c8e1a80000000127e1a64e -- -+ {0x0000000127e1a64e, 0x0000000160c8e1a8}, - /* x^218112 mod p(x)` << 1, x^218176 mod p(x)` << 1 */ -- .octa 0x0000000027ba80980000000056860754 -- -+ {0x0000000056860754, 0x0000000027ba8098}, - /* x^217088 mod p(x)` << 1, x^217152 mod p(x)` << 1 */ -- .octa 0x000000006d92d01800000001e661aae8 -- -+ {0x00000001e661aae8, 0x000000006d92d018}, - /* x^216064 mod p(x)` << 1, x^216128 mod p(x)` << 1 */ -- .octa 0x000000012ed7e3f200000000f82c6166 -- -+ {0x00000000f82c6166, 0x000000012ed7e3f2}, - /* x^215040 mod p(x)` << 1, x^215104 mod p(x)` << 1 */ -- .octa 0x000000002dc8778800000000c4f9c7ae -- -+ {0x00000000c4f9c7ae, 0x000000002dc87788}, - /* x^214016 mod p(x)` << 1, x^214080 mod p(x)` << 1 */ -- .octa 0x0000000018240bb80000000074203d20 -- -+ {0x0000000074203d20, 0x0000000018240bb8}, - /* x^212992 mod p(x)` << 1, x^213056 mod p(x)` << 1 */ -- .octa 0x000000001ad381580000000198173052 -- -+ {0x0000000198173052, 0x000000001ad38158}, - /* x^211968 mod p(x)` << 1, x^212032 mod p(x)` << 1 */ -- .octa 0x00000001396b78f200000001ce8aba54 -- -+ {0x00000001ce8aba54, 0x00000001396b78f2}, - /* x^210944 mod p(x)` << 1, x^211008 mod p(x)` << 1 */ -- .octa 0x000000011a68133400000001850d5d94 -- -+ {0x00000001850d5d94, 0x000000011a681334}, - /* x^209920 mod p(x)` << 1, x^209984 mod p(x)` << 1 */ -- .octa 0x000000012104732e00000001d609239c -- -+ {0x00000001d609239c, 0x000000012104732e}, - /* x^208896 mod p(x)` << 1, x^208960 mod p(x)` << 1 */ -- .octa 0x00000000a140d90c000000001595f048 -- -+ {0x000000001595f048, 0x00000000a140d90c}, - /* x^207872 mod p(x)` << 1, x^207936 mod p(x)` << 1 */ -- .octa 0x00000001b7215eda0000000042ccee08 -- -+ {0x0000000042ccee08, 0x00000001b7215eda}, - /* x^206848 mod p(x)` << 1, x^206912 mod p(x)` << 1 */ -- .octa 0x00000001aaf1df3c000000010a389d74 -- -+ {0x000000010a389d74, 0x00000001aaf1df3c}, - /* x^205824 mod p(x)` << 1, x^205888 mod p(x)` << 1 */ -- .octa 0x0000000029d15b8a000000012a840da6 -- -+ {0x000000012a840da6, 0x0000000029d15b8a}, - /* x^204800 mod p(x)` << 1, x^204864 mod p(x)` << 1 */ -- .octa 0x00000000f1a96922000000001d181c0c -- -+ {0x000000001d181c0c, 0x00000000f1a96922}, - /* x^203776 mod p(x)` << 1, x^203840 mod p(x)` << 1 */ -- .octa 0x00000001ac80d03c0000000068b7d1f6 -- -+ {0x0000000068b7d1f6, 0x00000001ac80d03c}, - /* x^202752 mod p(x)` << 1, x^202816 mod p(x)` << 1 */ -- .octa 0x000000000f11d56a000000005b0f14fc -- -+ {0x000000005b0f14fc, 0x000000000f11d56a}, - /* x^201728 mod p(x)` << 1, x^201792 mod p(x)` << 1 */ -- .octa 0x00000001f1c022a20000000179e9e730 -- -+ {0x0000000179e9e730, 0x00000001f1c022a2}, - /* x^200704 mod p(x)` << 1, x^200768 mod p(x)` << 1 */ -- .octa 0x0000000173d00ae200000001ce1368d6 -- -+ {0x00000001ce1368d6, 0x0000000173d00ae2}, - /* x^199680 mod p(x)` << 1, x^199744 mod p(x)` << 1 */ -- .octa 0x00000001d4ffe4ac0000000112c3a84c -- -+ {0x0000000112c3a84c, 0x00000001d4ffe4ac}, - /* x^198656 mod p(x)` << 1, x^198720 mod p(x)` << 1 */ -- .octa 0x000000016edc5ae400000000de940fee -- -+ {0x00000000de940fee, 0x000000016edc5ae4}, - /* x^197632 mod p(x)` << 1, x^197696 mod p(x)` << 1 */ -- .octa 0x00000001f1a0214000000000fe896b7e -- -+ {0x00000000fe896b7e, 0x00000001f1a02140}, - /* x^196608 mod p(x)` << 1, x^196672 mod p(x)` << 1 */ -- .octa 0x00000000ca0b28a000000001f797431c -- -+ {0x00000001f797431c, 0x00000000ca0b28a0}, - /* x^195584 mod p(x)` << 1, x^195648 mod p(x)` << 1 */ -- .octa 0x00000001928e30a20000000053e989ba -- -+ {0x0000000053e989ba, 0x00000001928e30a2}, - /* x^194560 mod p(x)` << 1, x^194624 mod p(x)` << 1 */ -- .octa 0x0000000097b1b002000000003920cd16 -- -+ {0x000000003920cd16, 0x0000000097b1b002}, - /* x^193536 mod p(x)` << 1, x^193600 mod p(x)` << 1 */ -- .octa 0x00000000b15bf90600000001e6f579b8 -- -+ {0x00000001e6f579b8, 0x00000000b15bf906}, - /* x^192512 mod p(x)` << 1, x^192576 mod p(x)` << 1 */ -- .octa 0x00000000411c5d52000000007493cb0a -- -+ {0x000000007493cb0a, 0x00000000411c5d52}, - /* x^191488 mod p(x)` << 1, x^191552 mod p(x)` << 1 */ -- .octa 0x00000001c36f330000000001bdd376d8 -- -+ {0x00000001bdd376d8, 0x00000001c36f3300}, - /* x^190464 mod p(x)` << 1, x^190528 mod p(x)` << 1 */ -- .octa 0x00000001119227e0000000016badfee6 -- -+ {0x000000016badfee6, 0x00000001119227e0}, - /* x^189440 mod p(x)` << 1, x^189504 mod p(x)` << 1 */ -- .octa 0x00000000114d47020000000071de5c58 -- -+ {0x0000000071de5c58, 0x00000000114d4702}, - /* x^188416 mod p(x)` << 1, x^188480 mod p(x)` << 1 */ -- .octa 0x00000000458b5b9800000000453f317c -- -+ {0x00000000453f317c, 0x00000000458b5b98}, - /* x^187392 mod p(x)` << 1, x^187456 mod p(x)` << 1 */ -- .octa 0x000000012e31fb8e0000000121675cce -- -+ {0x0000000121675cce, 0x000000012e31fb8e}, - /* x^186368 mod p(x)` << 1, x^186432 mod p(x)` << 1 */ -- .octa 0x000000005cf619d800000001f409ee92 -- -+ {0x00000001f409ee92, 0x000000005cf619d8}, - /* x^185344 mod p(x)` << 1, x^185408 mod p(x)` << 1 */ -- .octa 0x0000000063f4d8b200000000f36b9c88 -- -+ {0x00000000f36b9c88, 0x0000000063f4d8b2}, - /* x^184320 mod p(x)` << 1, x^184384 mod p(x)` << 1 */ -- .octa 0x000000004138dc8a0000000036b398f4 -- -+ {0x0000000036b398f4, 0x000000004138dc8a}, - /* x^183296 mod p(x)` << 1, x^183360 mod p(x)` << 1 */ -- .octa 0x00000001d29ee8e000000001748f9adc -- -+ {0x00000001748f9adc, 0x00000001d29ee8e0}, - /* x^182272 mod p(x)` << 1, x^182336 mod p(x)` << 1 */ -- .octa 0x000000006a08ace800000001be94ec00 -- -+ {0x00000001be94ec00, 0x000000006a08ace8}, - /* x^181248 mod p(x)` << 1, x^181312 mod p(x)` << 1 */ -- .octa 0x0000000127d4201000000000b74370d6 -- -+ {0x00000000b74370d6, 0x0000000127d42010}, - /* x^180224 mod p(x)` << 1, x^180288 mod p(x)` << 1 */ -- .octa 0x0000000019d76b6200000001174d0b98 -- -+ {0x00000001174d0b98, 0x0000000019d76b62}, - /* x^179200 mod p(x)` << 1, x^179264 mod p(x)` << 1 */ -- .octa 0x00000001b1471f6e00000000befc06a4 -- -+ {0x00000000befc06a4, 0x00000001b1471f6e}, - /* x^178176 mod p(x)` << 1, x^178240 mod p(x)` << 1 */ -- .octa 0x00000001f64c19cc00000001ae125288 -- -+ {0x00000001ae125288, 0x00000001f64c19cc}, - /* x^177152 mod p(x)` << 1, x^177216 mod p(x)` << 1 */ -- .octa 0x00000000003c0ea00000000095c19b34 -- -+ {0x0000000095c19b34, 0x00000000003c0ea0}, - /* x^176128 mod p(x)` << 1, x^176192 mod p(x)` << 1 */ -- .octa 0x000000014d73abf600000001a78496f2 -- -+ {0x00000001a78496f2, 0x000000014d73abf6}, - /* x^175104 mod p(x)` << 1, x^175168 mod p(x)` << 1 */ -- .octa 0x00000001620eb84400000001ac5390a0 -- -+ {0x00000001ac5390a0, 0x00000001620eb844}, - /* x^174080 mod p(x)` << 1, x^174144 mod p(x)` << 1 */ -- .octa 0x0000000147655048000000002a80ed6e -- -+ {0x000000002a80ed6e, 0x0000000147655048}, - /* x^173056 mod p(x)` << 1, x^173120 mod p(x)` << 1 */ -- .octa 0x0000000067b5077e00000001fa9b0128 -- -+ {0x00000001fa9b0128, 0x0000000067b5077e}, - /* x^172032 mod p(x)` << 1, x^172096 mod p(x)` << 1 */ -- .octa 0x0000000010ffe20600000001ea94929e -- -+ {0x00000001ea94929e, 0x0000000010ffe206}, - /* x^171008 mod p(x)` << 1, x^171072 mod p(x)` << 1 */ -- .octa 0x000000000fee8f1e0000000125f4305c -- -+ {0x0000000125f4305c, 0x000000000fee8f1e}, - /* x^169984 mod p(x)` << 1, x^170048 mod p(x)` << 1 */ -- .octa 0x00000001da26fbae00000001471e2002 -- -+ {0x00000001471e2002, 0x00000001da26fbae}, - /* x^168960 mod p(x)` << 1, x^169024 mod p(x)` << 1 */ -- .octa 0x00000001b3a8bd880000000132d2253a -- -+ {0x0000000132d2253a, 0x00000001b3a8bd88}, - /* x^167936 mod p(x)` << 1, x^168000 mod p(x)` << 1 */ -- .octa 0x00000000e8f3898e00000000f26b3592 -- -+ {0x00000000f26b3592, 0x00000000e8f3898e}, - /* x^166912 mod p(x)` << 1, x^166976 mod p(x)` << 1 */ -- .octa 0x00000000b0d0d28c00000000bc8b67b0 -- -+ {0x00000000bc8b67b0, 0x00000000b0d0d28c}, - /* x^165888 mod p(x)` << 1, x^165952 mod p(x)` << 1 */ -- .octa 0x0000000030f2a798000000013a826ef2 -- -+ {0x000000013a826ef2, 0x0000000030f2a798}, - /* x^164864 mod p(x)` << 1, x^164928 mod p(x)` << 1 */ -- .octa 0x000000000fba10020000000081482c84 -- -+ {0x0000000081482c84, 0x000000000fba1002}, - /* x^163840 mod p(x)` << 1, x^163904 mod p(x)` << 1 */ -- .octa 0x00000000bdb9bd7200000000e77307c2 -- -+ {0x00000000e77307c2, 0x00000000bdb9bd72}, - /* x^162816 mod p(x)` << 1, x^162880 mod p(x)` << 1 */ -- .octa 0x0000000075d3bf5a00000000d4a07ec8 -- -+ {0x00000000d4a07ec8, 0x0000000075d3bf5a}, - /* x^161792 mod p(x)` << 1, x^161856 mod p(x)` << 1 */ -- .octa 0x00000000ef1f98a00000000017102100 -- -+ {0x0000000017102100, 0x00000000ef1f98a0}, - /* x^160768 mod p(x)` << 1, x^160832 mod p(x)` << 1 */ -- .octa 0x00000000689c760200000000db406486 -- -+ {0x00000000db406486, 0x00000000689c7602}, - /* x^159744 mod p(x)` << 1, x^159808 mod p(x)` << 1 */ -- .octa 0x000000016d5fa5fe0000000192db7f88 -- -+ {0x0000000192db7f88, 0x000000016d5fa5fe}, - /* x^158720 mod p(x)` << 1, x^158784 mod p(x)` << 1 */ -- .octa 0x00000001d0d2b9ca000000018bf67b1e -- -+ {0x000000018bf67b1e, 0x00000001d0d2b9ca}, - /* x^157696 mod p(x)` << 1, x^157760 mod p(x)` << 1 */ -- .octa 0x0000000041e7b470000000007c09163e -- -+ {0x000000007c09163e, 0x0000000041e7b470}, - /* x^156672 mod p(x)` << 1, x^156736 mod p(x)` << 1 */ -- .octa 0x00000001cbb6495e000000000adac060 -- -+ {0x000000000adac060, 0x00000001cbb6495e}, - /* x^155648 mod p(x)` << 1, x^155712 mod p(x)` << 1 */ -- .octa 0x000000010052a0b000000000bd8316ae -- -+ {0x00000000bd8316ae, 0x000000010052a0b0}, - /* x^154624 mod p(x)` << 1, x^154688 mod p(x)` << 1 */ -- .octa 0x00000001d8effb5c000000019f09ab54 -- -+ {0x000000019f09ab54, 0x00000001d8effb5c}, - /* x^153600 mod p(x)` << 1, x^153664 mod p(x)` << 1 */ -- .octa 0x00000001d969853c0000000125155542 -- -+ {0x0000000125155542, 0x00000001d969853c}, - /* x^152576 mod p(x)` << 1, x^152640 mod p(x)` << 1 */ -- .octa 0x00000000523ccce2000000018fdb5882 -- -+ {0x000000018fdb5882, 0x00000000523ccce2}, - /* x^151552 mod p(x)` << 1, x^151616 mod p(x)` << 1 */ -- .octa 0x000000001e2436bc00000000e794b3f4 -- -+ {0x00000000e794b3f4, 0x000000001e2436bc}, - /* x^150528 mod p(x)` << 1, x^150592 mod p(x)` << 1 */ -- .octa 0x00000000ddd1c3a2000000016f9bb022 -- -+ {0x000000016f9bb022, 0x00000000ddd1c3a2}, - /* x^149504 mod p(x)` << 1, x^149568 mod p(x)` << 1 */ -- .octa 0x0000000019fcfe3800000000290c9978 -- -+ {0x00000000290c9978, 0x0000000019fcfe38}, - /* x^148480 mod p(x)` << 1, x^148544 mod p(x)` << 1 */ -- .octa 0x00000001ce95db640000000083c0f350 -- -+ {0x0000000083c0f350, 0x00000001ce95db64}, - /* x^147456 mod p(x)` << 1, x^147520 mod p(x)` << 1 */ -- .octa 0x00000000af5828060000000173ea6628 -- -+ {0x0000000173ea6628, 0x00000000af582806}, - /* x^146432 mod p(x)` << 1, x^146496 mod p(x)` << 1 */ -- .octa 0x00000001006388f600000001c8b4e00a -- -+ {0x00000001c8b4e00a, 0x00000001006388f6}, - /* x^145408 mod p(x)` << 1, x^145472 mod p(x)` << 1 */ -- .octa 0x0000000179eca00a00000000de95d6aa -- -+ {0x00000000de95d6aa, 0x0000000179eca00a}, - /* x^144384 mod p(x)` << 1, x^144448 mod p(x)` << 1 */ -- .octa 0x0000000122410a6a000000010b7f7248 -- -+ {0x000000010b7f7248, 0x0000000122410a6a}, - /* x^143360 mod p(x)` << 1, x^143424 mod p(x)` << 1 */ -- .octa 0x000000004288e87c00000001326e3a06 -- -+ {0x00000001326e3a06, 0x000000004288e87c}, - /* x^142336 mod p(x)` << 1, x^142400 mod p(x)` << 1 */ -- .octa 0x000000016c5490da00000000bb62c2e6 -- -+ {0x00000000bb62c2e6, 0x000000016c5490da}, - /* x^141312 mod p(x)` << 1, x^141376 mod p(x)` << 1 */ -- .octa 0x00000000d1c71f6e0000000156a4b2c2 -- -+ {0x0000000156a4b2c2, 0x00000000d1c71f6e}, - /* x^140288 mod p(x)` << 1, x^140352 mod p(x)` << 1 */ -- .octa 0x00000001b4ce08a6000000011dfe763a -- -+ {0x000000011dfe763a, 0x00000001b4ce08a6}, - /* x^139264 mod p(x)` << 1, x^139328 mod p(x)` << 1 */ -- .octa 0x00000001466ba60c000000007bcca8e2 -- -+ {0x000000007bcca8e2, 0x00000001466ba60c}, - /* x^138240 mod p(x)` << 1, x^138304 mod p(x)` << 1 */ -- .octa 0x00000001f6c488a40000000186118faa -- -+ {0x0000000186118faa, 0x00000001f6c488a4}, - /* x^137216 mod p(x)` << 1, x^137280 mod p(x)` << 1 */ -- .octa 0x000000013bfb06820000000111a65a88 -- -+ {0x0000000111a65a88, 0x000000013bfb0682}, - /* x^136192 mod p(x)` << 1, x^136256 mod p(x)` << 1 */ -- .octa 0x00000000690e9e54000000003565e1c4 -- -+ {0x000000003565e1c4, 0x00000000690e9e54}, - /* x^135168 mod p(x)` << 1, x^135232 mod p(x)` << 1 */ -- .octa 0x00000000281346b6000000012ed02a82 -- -+ {0x000000012ed02a82, 0x00000000281346b6}, - /* x^134144 mod p(x)` << 1, x^134208 mod p(x)` << 1 */ -- .octa 0x000000015646402400000000c486ecfc -- -+ {0x00000000c486ecfc, 0x0000000156464024}, - /* x^133120 mod p(x)` << 1, x^133184 mod p(x)` << 1 */ -- .octa 0x000000016063a8dc0000000001b951b2 -- -+ {0x0000000001b951b2, 0x000000016063a8dc}, - /* x^132096 mod p(x)` << 1, x^132160 mod p(x)` << 1 */ -- .octa 0x0000000116a663620000000048143916 -- -+ {0x0000000048143916, 0x0000000116a66362}, - /* x^131072 mod p(x)` << 1, x^131136 mod p(x)` << 1 */ -- .octa 0x000000017e8aa4d200000001dc2ae124 -- -+ {0x00000001dc2ae124, 0x000000017e8aa4d2}, - /* x^130048 mod p(x)` << 1, x^130112 mod p(x)` << 1 */ -- .octa 0x00000001728eb10c00000001416c58d6 -- -+ {0x00000001416c58d6, 0x00000001728eb10c}, - /* x^129024 mod p(x)` << 1, x^129088 mod p(x)` << 1 */ -- .octa 0x00000001b08fd7fa00000000a479744a -- -+ {0x00000000a479744a, 0x00000001b08fd7fa}, - /* x^128000 mod p(x)` << 1, x^128064 mod p(x)` << 1 */ -- .octa 0x00000001092a16e80000000096ca3a26 -- -+ {0x0000000096ca3a26, 0x00000001092a16e8}, - /* x^126976 mod p(x)` << 1, x^127040 mod p(x)` << 1 */ -- .octa 0x00000000a505637c00000000ff223d4e -- -+ {0x00000000ff223d4e, 0x00000000a505637c}, - /* x^125952 mod p(x)` << 1, x^126016 mod p(x)` << 1 */ -- .octa 0x00000000d94869b2000000010e84da42 -- -+ {0x000000010e84da42, 0x00000000d94869b2}, - /* x^124928 mod p(x)` << 1, x^124992 mod p(x)` << 1 */ -- .octa 0x00000001c8b203ae00000001b61ba3d0 -- -+ {0x00000001b61ba3d0, 0x00000001c8b203ae}, - /* x^123904 mod p(x)` << 1, x^123968 mod p(x)` << 1 */ -- .octa 0x000000005704aea000000000680f2de8 -- -+ {0x00000000680f2de8, 0x000000005704aea0}, - /* x^122880 mod p(x)` << 1, x^122944 mod p(x)` << 1 */ -- .octa 0x000000012e295fa2000000008772a9a8 -- -+ {0x000000008772a9a8, 0x000000012e295fa2}, - /* x^121856 mod p(x)` << 1, x^121920 mod p(x)` << 1 */ -- .octa 0x000000011d0908bc0000000155f295bc -- -+ {0x0000000155f295bc, 0x000000011d0908bc}, - /* x^120832 mod p(x)` << 1, x^120896 mod p(x)` << 1 */ -- .octa 0x0000000193ed97ea00000000595f9282 -- -+ {0x00000000595f9282, 0x0000000193ed97ea}, - /* x^119808 mod p(x)` << 1, x^119872 mod p(x)` << 1 */ -- .octa 0x000000013a0f1c520000000164b1c25a -- -+ {0x0000000164b1c25a, 0x000000013a0f1c52}, - /* x^118784 mod p(x)` << 1, x^118848 mod p(x)` << 1 */ -- .octa 0x000000010c2c40c000000000fbd67c50 -- -+ {0x00000000fbd67c50, 0x000000010c2c40c0}, - /* x^117760 mod p(x)` << 1, x^117824 mod p(x)` << 1 */ -- .octa 0x00000000ff6fac3e0000000096076268 -- -+ {0x0000000096076268, 0x00000000ff6fac3e}, - /* x^116736 mod p(x)` << 1, x^116800 mod p(x)` << 1 */ -- .octa 0x000000017b3609c000000001d288e4cc -- -+ {0x00000001d288e4cc, 0x000000017b3609c0}, - /* x^115712 mod p(x)` << 1, x^115776 mod p(x)` << 1 */ -- .octa 0x0000000088c8c92200000001eaac1bdc -- -+ {0x00000001eaac1bdc, 0x0000000088c8c922}, - /* x^114688 mod p(x)` << 1, x^114752 mod p(x)` << 1 */ -- .octa 0x00000001751baae600000001f1ea39e2 -- -+ {0x00000001f1ea39e2, 0x00000001751baae6}, - /* x^113664 mod p(x)` << 1, x^113728 mod p(x)` << 1 */ -- .octa 0x000000010795297200000001eb6506fc -- -+ {0x00000001eb6506fc, 0x0000000107952972}, - /* x^112640 mod p(x)` << 1, x^112704 mod p(x)` << 1 */ -- .octa 0x0000000162b00abe000000010f806ffe -- -+ {0x000000010f806ffe, 0x0000000162b00abe}, - /* x^111616 mod p(x)` << 1, x^111680 mod p(x)` << 1 */ -- .octa 0x000000000d7b404c000000010408481e -- -+ {0x000000010408481e, 0x000000000d7b404c}, - /* x^110592 mod p(x)` << 1, x^110656 mod p(x)` << 1 */ -- .octa 0x00000000763b13d40000000188260534 -- -+ {0x0000000188260534, 0x00000000763b13d4}, - /* x^109568 mod p(x)` << 1, x^109632 mod p(x)` << 1 */ -- .octa 0x00000000f6dc22d80000000058fc73e0 -- -+ {0x0000000058fc73e0, 0x00000000f6dc22d8}, - /* x^108544 mod p(x)` << 1, x^108608 mod p(x)` << 1 */ -- .octa 0x000000007daae06000000000391c59b8 -- -+ {0x00000000391c59b8, 0x000000007daae060}, - /* x^107520 mod p(x)` << 1, x^107584 mod p(x)` << 1 */ -- .octa 0x000000013359ab7c000000018b638400 -- -+ {0x000000018b638400, 0x000000013359ab7c}, - /* x^106496 mod p(x)` << 1, x^106560 mod p(x)` << 1 */ -- .octa 0x000000008add438a000000011738f5c4 -- -+ {0x000000011738f5c4, 0x000000008add438a}, - /* x^105472 mod p(x)` << 1, x^105536 mod p(x)` << 1 */ -- .octa 0x00000001edbefdea000000008cf7c6da -- -+ {0x000000008cf7c6da, 0x00000001edbefdea}, - /* x^104448 mod p(x)` << 1, x^104512 mod p(x)` << 1 */ -- .octa 0x000000004104e0f800000001ef97fb16 -- -+ {0x00000001ef97fb16, 0x000000004104e0f8}, - /* x^103424 mod p(x)` << 1, x^103488 mod p(x)` << 1 */ -- .octa 0x00000000b48a82220000000102130e20 -- -+ {0x0000000102130e20, 0x00000000b48a8222}, - /* x^102400 mod p(x)` << 1, x^102464 mod p(x)` << 1 */ -- .octa 0x00000001bcb4684400000000db968898 -- -+ {0x00000000db968898, 0x00000001bcb46844}, - /* x^101376 mod p(x)` << 1, x^101440 mod p(x)` << 1 */ -- .octa 0x000000013293ce0a00000000b5047b5e -- -+ {0x00000000b5047b5e, 0x000000013293ce0a}, - /* x^100352 mod p(x)` << 1, x^100416 mod p(x)` << 1 */ -- .octa 0x00000001710d0844000000010b90fdb2 -- -+ {0x000000010b90fdb2, 0x00000001710d0844}, - /* x^99328 mod p(x)` << 1, x^99392 mod p(x)` << 1 */ -- .octa 0x0000000117907f6e000000004834a32e -- -+ {0x000000004834a32e, 0x0000000117907f6e}, - /* x^98304 mod p(x)` << 1, x^98368 mod p(x)` << 1 */ -- .octa 0x0000000087ddf93e0000000059c8f2b0 -- -+ {0x0000000059c8f2b0, 0x0000000087ddf93e}, - /* x^97280 mod p(x)` << 1, x^97344 mod p(x)` << 1 */ -- .octa 0x000000005970e9b00000000122cec508 -- -+ {0x0000000122cec508, 0x000000005970e9b0}, - /* x^96256 mod p(x)` << 1, x^96320 mod p(x)` << 1 */ -- .octa 0x0000000185b2b7d0000000000a330cda -- -+ {0x000000000a330cda, 0x0000000185b2b7d0}, - /* x^95232 mod p(x)` << 1, x^95296 mod p(x)` << 1 */ -- .octa 0x00000001dcee0efc000000014a47148c -- -+ {0x000000014a47148c, 0x00000001dcee0efc}, - /* x^94208 mod p(x)` << 1, x^94272 mod p(x)` << 1 */ -- .octa 0x0000000030da27220000000042c61cb8 -- -+ {0x0000000042c61cb8, 0x0000000030da2722}, - /* x^93184 mod p(x)` << 1, x^93248 mod p(x)` << 1 */ -- .octa 0x000000012f925a180000000012fe6960 -- -+ {0x0000000012fe6960, 0x000000012f925a18}, - /* x^92160 mod p(x)` << 1, x^92224 mod p(x)` << 1 */ -- .octa 0x00000000dd2e357c00000000dbda2c20 -- -+ {0x00000000dbda2c20, 0x00000000dd2e357c}, - /* x^91136 mod p(x)` << 1, x^91200 mod p(x)` << 1 */ -- .octa 0x00000000071c80de000000011122410c -- -+ {0x000000011122410c, 0x00000000071c80de}, - /* x^90112 mod p(x)` << 1, x^90176 mod p(x)` << 1 */ -- .octa 0x000000011513140a00000000977b2070 -- -+ {0x00000000977b2070, 0x000000011513140a}, - /* x^89088 mod p(x)` << 1, x^89152 mod p(x)` << 1 */ -- .octa 0x00000001df876e8e000000014050438e -- -+ {0x000000014050438e, 0x00000001df876e8e}, - /* x^88064 mod p(x)` << 1, x^88128 mod p(x)` << 1 */ -- .octa 0x000000015f81d6ce0000000147c840e8 -- -+ {0x0000000147c840e8, 0x000000015f81d6ce}, - /* x^87040 mod p(x)` << 1, x^87104 mod p(x)` << 1 */ -- .octa 0x000000019dd94dbe00000001cc7c88ce -- -+ {0x00000001cc7c88ce, 0x000000019dd94dbe}, - /* x^86016 mod p(x)` << 1, x^86080 mod p(x)` << 1 */ -- .octa 0x00000001373d206e00000001476b35a4 -- -+ {0x00000001476b35a4, 0x00000001373d206e}, - /* x^84992 mod p(x)` << 1, x^85056 mod p(x)` << 1 */ -- .octa 0x00000000668ccade000000013d52d508 -- -+ {0x000000013d52d508, 0x00000000668ccade}, - /* x^83968 mod p(x)` << 1, x^84032 mod p(x)` << 1 */ -- .octa 0x00000001b192d268000000008e4be32e -- -+ {0x000000008e4be32e, 0x00000001b192d268}, - /* x^82944 mod p(x)` << 1, x^83008 mod p(x)` << 1 */ -- .octa 0x00000000e30f3a7800000000024120fe -- -+ {0x00000000024120fe, 0x00000000e30f3a78}, - /* x^81920 mod p(x)` << 1, x^81984 mod p(x)` << 1 */ -- .octa 0x000000010ef1f7bc00000000ddecddb4 -- -+ {0x00000000ddecddb4, 0x000000010ef1f7bc}, - /* x^80896 mod p(x)` << 1, x^80960 mod p(x)` << 1 */ -- .octa 0x00000001f5ac738000000000d4d403bc -- -+ {0x00000000d4d403bc, 0x00000001f5ac7380}, - /* x^79872 mod p(x)` << 1, x^79936 mod p(x)` << 1 */ -- .octa 0x000000011822ea7000000001734b89aa -- -+ {0x00000001734b89aa, 0x000000011822ea70}, - /* x^78848 mod p(x)` << 1, x^78912 mod p(x)` << 1 */ -- .octa 0x00000000c3a33848000000010e7a58d6 -- -+ {0x000000010e7a58d6, 0x00000000c3a33848}, - /* x^77824 mod p(x)` << 1, x^77888 mod p(x)` << 1 */ -- .octa 0x00000001bd151c2400000001f9f04e9c -- -+ {0x00000001f9f04e9c, 0x00000001bd151c24}, - /* x^76800 mod p(x)` << 1, x^76864 mod p(x)` << 1 */ -- .octa 0x0000000056002d7600000000b692225e -- -+ {0x00000000b692225e, 0x0000000056002d76}, - /* x^75776 mod p(x)` << 1, x^75840 mod p(x)` << 1 */ -- .octa 0x000000014657c4f4000000019b8d3f3e -- -+ {0x000000019b8d3f3e, 0x000000014657c4f4}, - /* x^74752 mod p(x)` << 1, x^74816 mod p(x)` << 1 */ -- .octa 0x0000000113742d7c00000001a874f11e -- -+ {0x00000001a874f11e, 0x0000000113742d7c}, - /* x^73728 mod p(x)` << 1, x^73792 mod p(x)` << 1 */ -- .octa 0x000000019c5920ba000000010d5a4254 -- -+ {0x000000010d5a4254, 0x000000019c5920ba}, - /* x^72704 mod p(x)` << 1, x^72768 mod p(x)` << 1 */ -- .octa 0x000000005216d2d600000000bbb2f5d6 -- -+ {0x00000000bbb2f5d6, 0x000000005216d2d6}, - /* x^71680 mod p(x)` << 1, x^71744 mod p(x)` << 1 */ -- .octa 0x0000000136f5ad8a0000000179cc0e36 -- -+ {0x0000000179cc0e36, 0x0000000136f5ad8a}, - /* x^70656 mod p(x)` << 1, x^70720 mod p(x)` << 1 */ -- .octa 0x000000018b07beb600000001dca1da4a -- -+ {0x00000001dca1da4a, 0x000000018b07beb6}, - /* x^69632 mod p(x)` << 1, x^69696 mod p(x)` << 1 */ -- .octa 0x00000000db1e93b000000000feb1a192 -- -+ {0x00000000feb1a192, 0x00000000db1e93b0}, - /* x^68608 mod p(x)` << 1, x^68672 mod p(x)` << 1 */ -- .octa 0x000000000b96fa3a00000000d1eeedd6 -- -+ {0x00000000d1eeedd6, 0x000000000b96fa3a}, - /* x^67584 mod p(x)` << 1, x^67648 mod p(x)` << 1 */ -- .octa 0x00000001d9968af0000000008fad9bb4 -- -+ {0x000000008fad9bb4, 0x00000001d9968af0}, - /* x^66560 mod p(x)` << 1, x^66624 mod p(x)` << 1 */ -- .octa 0x000000000e4a77a200000001884938e4 -- -+ {0x00000001884938e4, 0x000000000e4a77a2}, - /* x^65536 mod p(x)` << 1, x^65600 mod p(x)` << 1 */ -- .octa 0x00000000508c2ac800000001bc2e9bc0 -- -+ {0x00000001bc2e9bc0, 0x00000000508c2ac8}, - /* x^64512 mod p(x)` << 1, x^64576 mod p(x)` << 1 */ -- .octa 0x0000000021572a8000000001f9658a68 -- -+ {0x00000001f9658a68, 0x0000000021572a80}, - /* x^63488 mod p(x)` << 1, x^63552 mod p(x)` << 1 */ -- .octa 0x00000001b859daf2000000001b9224fc -- -+ {0x000000001b9224fc, 0x00000001b859daf2}, - /* x^62464 mod p(x)` << 1, x^62528 mod p(x)` << 1 */ -- .octa 0x000000016f7884740000000055b2fb84 -- -+ {0x0000000055b2fb84, 0x000000016f788474}, - /* x^61440 mod p(x)` << 1, x^61504 mod p(x)` << 1 */ -- .octa 0x00000001b438810e000000018b090348 -- -+ {0x000000018b090348, 0x00000001b438810e}, - /* x^60416 mod p(x)` << 1, x^60480 mod p(x)` << 1 */ -- .octa 0x0000000095ddc6f2000000011ccbd5ea -- -+ {0x000000011ccbd5ea, 0x0000000095ddc6f2}, - /* x^59392 mod p(x)` << 1, x^59456 mod p(x)` << 1 */ -- .octa 0x00000001d977c20c0000000007ae47f8 -- -+ {0x0000000007ae47f8, 0x00000001d977c20c}, - /* x^58368 mod p(x)` << 1, x^58432 mod p(x)` << 1 */ -- .octa 0x00000000ebedb99a0000000172acbec0 -- -+ {0x0000000172acbec0, 0x00000000ebedb99a}, - /* x^57344 mod p(x)` << 1, x^57408 mod p(x)` << 1 */ -- .octa 0x00000001df9e9e9200000001c6e3ff20 -- -+ {0x00000001c6e3ff20, 0x00000001df9e9e92}, - /* x^56320 mod p(x)` << 1, x^56384 mod p(x)` << 1 */ -- .octa 0x00000001a4a3f95200000000e1b38744 -- -+ {0x00000000e1b38744, 0x00000001a4a3f952}, - /* x^55296 mod p(x)` << 1, x^55360 mod p(x)` << 1 */ -- .octa 0x00000000e2f5122000000000791585b2 -- -+ {0x00000000791585b2, 0x00000000e2f51220}, - /* x^54272 mod p(x)` << 1, x^54336 mod p(x)` << 1 */ -- .octa 0x000000004aa01f3e00000000ac53b894 -- -+ {0x00000000ac53b894, 0x000000004aa01f3e}, - /* x^53248 mod p(x)` << 1, x^53312 mod p(x)` << 1 */ -- .octa 0x00000000b3e90a5800000001ed5f2cf4 -- -+ {0x00000001ed5f2cf4, 0x00000000b3e90a58}, - /* x^52224 mod p(x)` << 1, x^52288 mod p(x)` << 1 */ -- .octa 0x000000000c9ca2aa00000001df48b2e0 -- -+ {0x00000001df48b2e0, 0x000000000c9ca2aa}, - /* x^51200 mod p(x)` << 1, x^51264 mod p(x)` << 1 */ -- .octa 0x000000015168231600000000049c1c62 -- -+ {0x00000000049c1c62, 0x0000000151682316}, - /* x^50176 mod p(x)` << 1, x^50240 mod p(x)` << 1 */ -- .octa 0x0000000036fce78c000000017c460c12 -- -+ {0x000000017c460c12, 0x0000000036fce78c}, - /* x^49152 mod p(x)` << 1, x^49216 mod p(x)` << 1 */ -- .octa 0x000000009037dc10000000015be4da7e -- -+ {0x000000015be4da7e, 0x000000009037dc10}, - /* x^48128 mod p(x)` << 1, x^48192 mod p(x)` << 1 */ -- .octa 0x00000000d3298582000000010f38f668 -- -+ {0x000000010f38f668, 0x00000000d3298582}, - /* x^47104 mod p(x)` << 1, x^47168 mod p(x)` << 1 */ -- .octa 0x00000001b42e8ad60000000039f40a00 -- -+ {0x0000000039f40a00, 0x00000001b42e8ad6}, - /* x^46080 mod p(x)` << 1, x^46144 mod p(x)` << 1 */ -- .octa 0x00000000142a983800000000bd4c10c4 -- -+ {0x00000000bd4c10c4, 0x00000000142a9838}, - /* x^45056 mod p(x)` << 1, x^45120 mod p(x)` << 1 */ -- .octa 0x0000000109c7f1900000000042db1d98 -- -+ {0x0000000042db1d98, 0x0000000109c7f190}, - /* x^44032 mod p(x)` << 1, x^44096 mod p(x)` << 1 */ -- .octa 0x0000000056ff931000000001c905bae6 -- -+ {0x00000001c905bae6, 0x0000000056ff9310}, - /* x^43008 mod p(x)` << 1, x^43072 mod p(x)` << 1 */ -- .octa 0x00000001594513aa00000000069d40ea -- -+ {0x00000000069d40ea, 0x00000001594513aa}, - /* x^41984 mod p(x)` << 1, x^42048 mod p(x)` << 1 */ -- .octa 0x00000001e3b5b1e8000000008e4fbad0 -- -+ {0x000000008e4fbad0, 0x00000001e3b5b1e8}, - /* x^40960 mod p(x)` << 1, x^41024 mod p(x)` << 1 */ -- .octa 0x000000011dd5fc080000000047bedd46 -- -+ {0x0000000047bedd46, 0x000000011dd5fc08}, - /* x^39936 mod p(x)` << 1, x^40000 mod p(x)` << 1 */ -- .octa 0x00000001675f0cc20000000026396bf8 -- -+ {0x0000000026396bf8, 0x00000001675f0cc2}, - /* x^38912 mod p(x)` << 1, x^38976 mod p(x)` << 1 */ -- .octa 0x00000000d1c8dd4400000000379beb92 -- -+ {0x00000000379beb92, 0x00000000d1c8dd44}, - /* x^37888 mod p(x)` << 1, x^37952 mod p(x)` << 1 */ -- .octa 0x0000000115ebd3d8000000000abae54a -- -+ {0x000000000abae54a, 0x0000000115ebd3d8}, - /* x^36864 mod p(x)` << 1, x^36928 mod p(x)` << 1 */ -- .octa 0x00000001ecbd0dac0000000007e6a128 -- -+ {0x0000000007e6a128, 0x00000001ecbd0dac}, - /* x^35840 mod p(x)` << 1, x^35904 mod p(x)` << 1 */ -- .octa 0x00000000cdf67af2000000000ade29d2 -- -+ {0x000000000ade29d2, 0x00000000cdf67af2}, - /* x^34816 mod p(x)` << 1, x^34880 mod p(x)` << 1 */ -- .octa 0x000000004c01ff4c00000000f974c45c -- -+ {0x00000000f974c45c, 0x000000004c01ff4c}, - /* x^33792 mod p(x)` << 1, x^33856 mod p(x)` << 1 */ -- .octa 0x00000000f2d8657e00000000e77ac60a -- -+ {0x00000000e77ac60a, 0x00000000f2d8657e}, - /* x^32768 mod p(x)` << 1, x^32832 mod p(x)` << 1 */ -- .octa 0x000000006bae74c40000000145895816 -- -+ {0x0000000145895816, 0x000000006bae74c4}, - /* x^31744 mod p(x)` << 1, x^31808 mod p(x)` << 1 */ -- .octa 0x0000000152af8aa00000000038e362be -- -+ {0x0000000038e362be, 0x0000000152af8aa0}, - /* x^30720 mod p(x)` << 1, x^30784 mod p(x)` << 1 */ -- .octa 0x0000000004663802000000007f991a64 -- -+ {0x000000007f991a64, 0x0000000004663802}, - /* x^29696 mod p(x)` << 1, x^29760 mod p(x)` << 1 */ -- .octa 0x00000001ab2f5afc00000000fa366d3a -- -+ {0x00000000fa366d3a, 0x00000001ab2f5afc}, - /* x^28672 mod p(x)` << 1, x^28736 mod p(x)` << 1 */ -- .octa 0x0000000074a4ebd400000001a2bb34f0 -- -+ {0x00000001a2bb34f0, 0x0000000074a4ebd4}, - /* x^27648 mod p(x)` << 1, x^27712 mod p(x)` << 1 */ -- .octa 0x00000001d7ab3a4c0000000028a9981e -- -+ {0x0000000028a9981e, 0x00000001d7ab3a4c}, - /* x^26624 mod p(x)` << 1, x^26688 mod p(x)` << 1 */ -- .octa 0x00000001a8da60c600000001dbc672be -- -+ {0x00000001dbc672be, 0x00000001a8da60c6}, - /* x^25600 mod p(x)` << 1, x^25664 mod p(x)` << 1 */ -- .octa 0x000000013cf6382000000000b04d77f6 -- -+ {0x00000000b04d77f6, 0x000000013cf63820}, - /* x^24576 mod p(x)` << 1, x^24640 mod p(x)` << 1 */ -- .octa 0x00000000bec12e1e0000000124400d96 -- -+ {0x0000000124400d96, 0x00000000bec12e1e}, - /* x^23552 mod p(x)` << 1, x^23616 mod p(x)` << 1 */ -- .octa 0x00000001c6368010000000014ca4b414 -- -+ {0x000000014ca4b414, 0x00000001c6368010}, - /* x^22528 mod p(x)` << 1, x^22592 mod p(x)` << 1 */ -- .octa 0x00000001e6e78758000000012fe2c938 -- -+ {0x000000012fe2c938, 0x00000001e6e78758}, - /* x^21504 mod p(x)` << 1, x^21568 mod p(x)` << 1 */ -- .octa 0x000000008d7f2b3c00000001faed01e6 -- -+ {0x00000001faed01e6, 0x000000008d7f2b3c}, - /* x^20480 mod p(x)` << 1, x^20544 mod p(x)` << 1 */ -- .octa 0x000000016b4a156e000000007e80ecfe -- -+ {0x000000007e80ecfe, 0x000000016b4a156e}, - /* x^19456 mod p(x)` << 1, x^19520 mod p(x)` << 1 */ -- .octa 0x00000001c63cfeb60000000098daee94 -- -+ {0x0000000098daee94, 0x00000001c63cfeb6}, - /* x^18432 mod p(x)` << 1, x^18496 mod p(x)` << 1 */ -- .octa 0x000000015f902670000000010a04edea -- -+ {0x000000010a04edea, 0x000000015f902670}, - /* x^17408 mod p(x)` << 1, x^17472 mod p(x)` << 1 */ -- .octa 0x00000001cd5de11e00000001c00b4524 -- -+ {0x00000001c00b4524, 0x00000001cd5de11e}, - /* x^16384 mod p(x)` << 1, x^16448 mod p(x)` << 1 */ -- .octa 0x000000001acaec540000000170296550 -- -+ {0x0000000170296550, 0x000000001acaec54}, - /* x^15360 mod p(x)` << 1, x^15424 mod p(x)` << 1 */ -- .octa 0x000000002bd0ca780000000181afaa48 -- -+ {0x0000000181afaa48, 0x000000002bd0ca78}, - /* x^14336 mod p(x)` << 1, x^14400 mod p(x)` << 1 */ -- .octa 0x0000000032d63d5c0000000185a31ffa -- -+ {0x0000000185a31ffa, 0x0000000032d63d5c}, - /* x^13312 mod p(x)` << 1, x^13376 mod p(x)` << 1 */ -- .octa 0x000000001c6d4e4c000000002469f608 -- -+ {0x000000002469f608, 0x000000001c6d4e4c}, - /* x^12288 mod p(x)` << 1, x^12352 mod p(x)` << 1 */ -- .octa 0x0000000106a60b92000000006980102a -- -+ {0x000000006980102a, 0x0000000106a60b92}, - /* x^11264 mod p(x)` << 1, x^11328 mod p(x)` << 1 */ -- .octa 0x00000000d3855e120000000111ea9ca8 -- -+ {0x0000000111ea9ca8, 0x00000000d3855e12}, - /* x^10240 mod p(x)` << 1, x^10304 mod p(x)` << 1 */ -- .octa 0x00000000e312563600000001bd1d29ce -- -+ {0x00000001bd1d29ce, 0x00000000e3125636}, - /* x^9216 mod p(x)` << 1, x^9280 mod p(x)` << 1 */ -- .octa 0x000000009e8f7ea400000001b34b9580 -- -+ {0x00000001b34b9580, 0x000000009e8f7ea4}, - /* x^8192 mod p(x)` << 1, x^8256 mod p(x)` << 1 */ -- .octa 0x00000001c82e562c000000003076054e -- -+ {0x000000003076054e, 0x00000001c82e562c}, - /* x^7168 mod p(x)` << 1, x^7232 mod p(x)` << 1 */ -- .octa 0x00000000ca9f09ce000000012a608ea4 -- -+ {0x000000012a608ea4, 0x00000000ca9f09ce}, - /* x^6144 mod p(x)` << 1, x^6208 mod p(x)` << 1 */ -- .octa 0x00000000c63764e600000000784d05fe -- -+ {0x00000000784d05fe, 0x00000000c63764e6}, - /* x^5120 mod p(x)` << 1, x^5184 mod p(x)` << 1 */ -- .octa 0x0000000168d2e49e000000016ef0d82a -- -+ {0x000000016ef0d82a, 0x0000000168d2e49e}, - /* x^4096 mod p(x)` << 1, x^4160 mod p(x)` << 1 */ -- .octa 0x00000000e986c1480000000075bda454 -- -+ {0x0000000075bda454, 0x00000000e986c148}, - /* x^3072 mod p(x)` << 1, x^3136 mod p(x)` << 1 */ -- .octa 0x00000000cfb65894000000003dc0a1c4 -- -+ {0x000000003dc0a1c4, 0x00000000cfb65894}, - /* x^2048 mod p(x)` << 1, x^2112 mod p(x)` << 1 */ -- .octa 0x0000000111cadee400000000e9a5d8be -- -+ {0x00000000e9a5d8be, 0x0000000111cadee4}, - /* x^1024 mod p(x)` << 1, x^1088 mod p(x)` << 1 */ -- .octa 0x0000000171fb63ce00000001609bc4b4 -- -- .short_constants : -- -- /* Reduce final 1024-2048 bits to 64 bits, shifting 32 bits to include -- the trailing 32 bits of zeros */ -- /* x^1952 mod p(x)`, x^1984 mod p(x)`, x^2016 mod p(x)`, x^2048 mod -- p(x)` */ -- .octa 0x7fec2963e5bf80485cf015c388e56f72 -- -- /* x^1824 mod p(x)`, x^1856 mod p(x)`, x^1888 mod p(x)`, x^1920 mod -- p(x)` */ -- .octa 0x38e888d4844752a9963a18920246e2e6 -- -- /* x^1696 mod p(x)`, x^1728 mod p(x)`, x^1760 mod p(x)`, x^1792 mod -- p(x)` */ -- .octa 0x42316c00730206ad419a441956993a31 -- -- /* x^1568 mod p(x)`, x^1600 mod p(x)`, x^1632 mod p(x)`, x^1664 mod -- p(x)` */ -- .octa 0x543d5c543e65ddf9924752ba2b830011 -- -- /* x^1440 mod p(x)`, x^1472 mod p(x)`, x^1504 mod p(x)`, x^1536 mod -- p(x)` */ -- .octa 0x78e87aaf56767c9255bd7f9518e4a304 -- -- /* x^1312 mod p(x)`, x^1344 mod p(x)`, x^1376 mod p(x)`, x^1408 mod -- p(x)` */ -- .octa 0x8f68fcec1903da7f6d76739fe0553f1e -- -- /* x^1184 mod p(x)`, x^1216 mod p(x)`, x^1248 mod p(x)`, x^1280 mod -- p(x)` */ -- .octa 0x3f4840246791d588c133722b1fe0b5c3 -- -- /* x^1056 mod p(x)`, x^1088 mod p(x)`, x^1120 mod p(x)`, x^1152 mod -- p(x)` */ -- .octa 0x34c96751b04de25a64b67ee0e55ef1f3 -- -- /* x^928 mod p(x)`, x^960 mod p(x)`, x^992 mod p(x)`, x^1024 mod p(x)` -- */ -- .octa 0x156c8e180b4a395b069db049b8fdb1e7 -- -- /* x^800 mod p(x)`, x^832 mod p(x)`, x^864 mod p(x)`, x^896 mod p(x)` */ -- .octa 0xe0b99ccbe661f7bea11bfaf3c9e90b9e -- -- /* x^672 mod p(x)`, x^704 mod p(x)`, x^736 mod p(x)`, x^768 mod p(x)` */ -- .octa 0x041d37768cd75659817cdc5119b29a35 -- -- /* x^544 mod p(x)`, x^576 mod p(x)`, x^608 mod p(x)`, x^640 mod p(x)` */ -- .octa 0x3a0777818cfaa9651ce9d94b36c41f1c -- -- /* x^416 mod p(x)`, x^448 mod p(x)`, x^480 mod p(x)`, x^512 mod p(x)` */ -- .octa 0x0e148e8252377a554f256efcb82be955 -- -- /* x^288 mod p(x)`, x^320 mod p(x)`, x^352 mod p(x)`, x^384 mod p(x)` */ -- .octa 0x9c25531d19e65ddeec1631edb2dea967 -- -- /* x^160 mod p(x)`, x^192 mod p(x)`, x^224 mod p(x)`, x^256 mod p(x)` */ -- .octa 0x790606ff9957c0a65d27e147510ac59a -+ {0x00000001609bc4b4, 0x0000000171fb63ce} -+#else /* __LITTLE_ENDIAN__ */ -+ /* x^261120 mod p(x)` << 1, x^261184 mod p(x)` << 1 */ -+ {0x00000000b6ca9e20, 0x000000009c37c408}, -+ /* x^260096 mod p(x)` << 1, x^260160 mod p(x)` << 1 */ -+ {0x00000000350249a8, 0x00000001b51df26c}, -+ /* x^259072 mod p(x)` << 1, x^259136 mod p(x)` << 1 */ -+ {0x00000001862dac54, 0x000000000724b9d0}, -+ /* x^258048 mod p(x)` << 1, x^258112 mod p(x)` << 1 */ -+ {0x00000001d87fb48c, 0x00000001c00532fe}, -+ /* x^257024 mod p(x)` << 1, x^257088 mod p(x)` << 1 */ -+ {0x00000001f39b699e, 0x00000000f05a9362}, -+ /* x^256000 mod p(x)` << 1, x^256064 mod p(x)` << 1 */ -+ {0x0000000101da11b4, 0x00000001e1007970}, -+ /* x^254976 mod p(x)` << 1, x^255040 mod p(x)` << 1 */ -+ {0x00000001cab571e0, 0x00000000a57366ee}, -+ /* x^253952 mod p(x)` << 1, x^254016 mod p(x)` << 1 */ -+ {0x00000000c7020cfe, 0x0000000192011284}, -+ /* x^252928 mod p(x)` << 1, x^252992 mod p(x)` << 1 */ -+ {0x00000000cdaed1ae, 0x0000000162716d9a}, -+ /* x^251904 mod p(x)` << 1, x^251968 mod p(x)` << 1 */ -+ {0x00000001e804effc, 0x00000000cd97ecde}, -+ /* x^250880 mod p(x)` << 1, x^250944 mod p(x)` << 1 */ -+ {0x0000000077c3ea3a, 0x0000000058812bc0}, -+ /* x^249856 mod p(x)` << 1, x^249920 mod p(x)` << 1 */ -+ {0x0000000068df31b4, 0x0000000088b8c12e}, -+ /* x^248832 mod p(x)` << 1, x^248896 mod p(x)` << 1 */ -+ {0x00000000b059b6c2, 0x00000001230b234c}, -+ /* x^247808 mod p(x)` << 1, x^247872 mod p(x)` << 1 */ -+ {0x0000000145fb8ed8, 0x00000001120b416e}, -+ /* x^246784 mod p(x)` << 1, x^246848 mod p(x)` << 1 */ -+ {0x00000000cbc09168, 0x00000001974aecb0}, -+ /* x^245760 mod p(x)` << 1, x^245824 mod p(x)` << 1 */ -+ {0x000000005ceeedc2, 0x000000008ee3f226}, -+ /* x^244736 mod p(x)` << 1, x^244800 mod p(x)` << 1 */ -+ {0x0000000047d74e86, 0x00000001089aba9a}, -+ /* x^243712 mod p(x)` << 1, x^243776 mod p(x)` << 1 */ -+ {0x00000001407e9e22, 0x0000000065113872}, -+ /* x^242688 mod p(x)` << 1, x^242752 mod p(x)` << 1 */ -+ {0x00000001da967bda, 0x000000005c07ec10}, -+ /* x^241664 mod p(x)` << 1, x^241728 mod p(x)` << 1 */ -+ {0x000000006c898368, 0x0000000187590924}, -+ /* x^240640 mod p(x)` << 1, x^240704 mod p(x)` << 1 */ -+ {0x00000000f2d14c98, 0x00000000e35da7c6}, -+ /* x^239616 mod p(x)` << 1, x^239680 mod p(x)` << 1 */ -+ {0x00000001993c6ad4, 0x000000000415855a}, -+ /* x^238592 mod p(x)` << 1, x^238656 mod p(x)` << 1 */ -+ {0x000000014683d1ac, 0x0000000073617758}, -+ /* x^237568 mod p(x)` << 1, x^237632 mod p(x)` << 1 */ -+ {0x00000001a7c93e6c, 0x0000000176021d28}, -+ /* x^236544 mod p(x)` << 1, x^236608 mod p(x)` << 1 */ -+ {0x000000010211e90a, 0x00000001c358fd0a}, -+ /* x^235520 mod p(x)` << 1, x^235584 mod p(x)` << 1 */ -+ {0x000000001119403e, 0x00000001ff7a2c18}, -+ /* x^234496 mod p(x)` << 1, x^234560 mod p(x)` << 1 */ -+ {0x000000001c3261aa, 0x00000000f2d9f7e4}, -+ /* x^233472 mod p(x)` << 1, x^233536 mod p(x)` << 1 */ -+ {0x000000014e37a634, 0x000000016cf1f9c8}, -+ /* x^232448 mod p(x)` << 1, x^232512 mod p(x)` << 1 */ -+ {0x0000000073786c0c, 0x000000010af9279a}, -+ /* x^231424 mod p(x)` << 1, x^231488 mod p(x)` << 1 */ -+ {0x000000011dc037f8, 0x0000000004f101e8}, -+ /* x^230400 mod p(x)` << 1, x^230464 mod p(x)` << 1 */ -+ {0x0000000031433dfc, 0x0000000070bcf184}, -+ /* x^229376 mod p(x)` << 1, x^229440 mod p(x)` << 1 */ -+ {0x000000009cde8348, 0x000000000a8de642}, -+ /* x^228352 mod p(x)` << 1, x^228416 mod p(x)` << 1 */ -+ {0x0000000038d3c2a6, 0x0000000062ea130c}, -+ /* x^227328 mod p(x)` << 1, x^227392 mod p(x)` << 1 */ -+ {0x000000011b25f260, 0x00000001eb31cbb2}, -+ /* x^226304 mod p(x)` << 1, x^226368 mod p(x)` << 1 */ -+ {0x000000001629e6f0, 0x0000000170783448}, -+ /* x^225280 mod p(x)` << 1, x^225344 mod p(x)` << 1 */ -+ {0x0000000160838b4c, 0x00000001a684b4c6}, -+ /* x^224256 mod p(x)` << 1, x^224320 mod p(x)` << 1 */ -+ {0x000000007a44011c, 0x00000000253ca5b4}, -+ /* x^223232 mod p(x)` << 1, x^223296 mod p(x)` << 1 */ -+ {0x00000000226f417a, 0x0000000057b4b1e2}, -+ /* x^222208 mod p(x)` << 1, x^222272 mod p(x)` << 1 */ -+ {0x0000000045eb2eb4, 0x00000000b6bd084c}, -+ /* x^221184 mod p(x)` << 1, x^221248 mod p(x)` << 1 */ -+ {0x000000014459d70c, 0x0000000123c2d592}, -+ /* x^220160 mod p(x)` << 1, x^220224 mod p(x)` << 1 */ -+ {0x00000001d406ed82, 0x00000000159dafce}, -+ /* x^219136 mod p(x)` << 1, x^219200 mod p(x)` << 1 */ -+ {0x0000000160c8e1a8, 0x0000000127e1a64e}, -+ /* x^218112 mod p(x)` << 1, x^218176 mod p(x)` << 1 */ -+ {0x0000000027ba8098, 0x0000000056860754}, -+ /* x^217088 mod p(x)` << 1, x^217152 mod p(x)` << 1 */ -+ {0x000000006d92d018, 0x00000001e661aae8}, -+ /* x^216064 mod p(x)` << 1, x^216128 mod p(x)` << 1 */ -+ {0x000000012ed7e3f2, 0x00000000f82c6166}, -+ /* x^215040 mod p(x)` << 1, x^215104 mod p(x)` << 1 */ -+ {0x000000002dc87788, 0x00000000c4f9c7ae}, -+ /* x^214016 mod p(x)` << 1, x^214080 mod p(x)` << 1 */ -+ {0x0000000018240bb8, 0x0000000074203d20}, -+ /* x^212992 mod p(x)` << 1, x^213056 mod p(x)` << 1 */ -+ {0x000000001ad38158, 0x0000000198173052}, -+ /* x^211968 mod p(x)` << 1, x^212032 mod p(x)` << 1 */ -+ {0x00000001396b78f2, 0x00000001ce8aba54}, -+ /* x^210944 mod p(x)` << 1, x^211008 mod p(x)` << 1 */ -+ {0x000000011a681334, 0x00000001850d5d94}, -+ /* x^209920 mod p(x)` << 1, x^209984 mod p(x)` << 1 */ -+ {0x000000012104732e, 0x00000001d609239c}, -+ /* x^208896 mod p(x)` << 1, x^208960 mod p(x)` << 1 */ -+ {0x00000000a140d90c, 0x000000001595f048}, -+ /* x^207872 mod p(x)` << 1, x^207936 mod p(x)` << 1 */ -+ {0x00000001b7215eda, 0x0000000042ccee08}, -+ /* x^206848 mod p(x)` << 1, x^206912 mod p(x)` << 1 */ -+ {0x00000001aaf1df3c, 0x000000010a389d74}, -+ /* x^205824 mod p(x)` << 1, x^205888 mod p(x)` << 1 */ -+ {0x0000000029d15b8a, 0x000000012a840da6}, -+ /* x^204800 mod p(x)` << 1, x^204864 mod p(x)` << 1 */ -+ {0x00000000f1a96922, 0x000000001d181c0c}, -+ /* x^203776 mod p(x)` << 1, x^203840 mod p(x)` << 1 */ -+ {0x00000001ac80d03c, 0x0000000068b7d1f6}, -+ /* x^202752 mod p(x)` << 1, x^202816 mod p(x)` << 1 */ -+ {0x000000000f11d56a, 0x000000005b0f14fc}, -+ /* x^201728 mod p(x)` << 1, x^201792 mod p(x)` << 1 */ -+ {0x00000001f1c022a2, 0x0000000179e9e730}, -+ /* x^200704 mod p(x)` << 1, x^200768 mod p(x)` << 1 */ -+ {0x0000000173d00ae2, 0x00000001ce1368d6}, -+ /* x^199680 mod p(x)` << 1, x^199744 mod p(x)` << 1 */ -+ {0x00000001d4ffe4ac, 0x0000000112c3a84c}, -+ /* x^198656 mod p(x)` << 1, x^198720 mod p(x)` << 1 */ -+ {0x000000016edc5ae4, 0x00000000de940fee}, -+ /* x^197632 mod p(x)` << 1, x^197696 mod p(x)` << 1 */ -+ {0x00000001f1a02140, 0x00000000fe896b7e}, -+ /* x^196608 mod p(x)` << 1, x^196672 mod p(x)` << 1 */ -+ {0x00000000ca0b28a0, 0x00000001f797431c}, -+ /* x^195584 mod p(x)` << 1, x^195648 mod p(x)` << 1 */ -+ {0x00000001928e30a2, 0x0000000053e989ba}, -+ /* x^194560 mod p(x)` << 1, x^194624 mod p(x)` << 1 */ -+ {0x0000000097b1b002, 0x000000003920cd16}, -+ /* x^193536 mod p(x)` << 1, x^193600 mod p(x)` << 1 */ -+ {0x00000000b15bf906, 0x00000001e6f579b8}, -+ /* x^192512 mod p(x)` << 1, x^192576 mod p(x)` << 1 */ -+ {0x00000000411c5d52, 0x000000007493cb0a}, -+ /* x^191488 mod p(x)` << 1, x^191552 mod p(x)` << 1 */ -+ {0x00000001c36f3300, 0x00000001bdd376d8}, -+ /* x^190464 mod p(x)` << 1, x^190528 mod p(x)` << 1 */ -+ {0x00000001119227e0, 0x000000016badfee6}, -+ /* x^189440 mod p(x)` << 1, x^189504 mod p(x)` << 1 */ -+ {0x00000000114d4702, 0x0000000071de5c58}, -+ /* x^188416 mod p(x)` << 1, x^188480 mod p(x)` << 1 */ -+ {0x00000000458b5b98, 0x00000000453f317c}, -+ /* x^187392 mod p(x)` << 1, x^187456 mod p(x)` << 1 */ -+ {0x000000012e31fb8e, 0x0000000121675cce}, -+ /* x^186368 mod p(x)` << 1, x^186432 mod p(x)` << 1 */ -+ {0x000000005cf619d8, 0x00000001f409ee92}, -+ /* x^185344 mod p(x)` << 1, x^185408 mod p(x)` << 1 */ -+ {0x0000000063f4d8b2, 0x00000000f36b9c88}, -+ /* x^184320 mod p(x)` << 1, x^184384 mod p(x)` << 1 */ -+ {0x000000004138dc8a, 0x0000000036b398f4}, -+ /* x^183296 mod p(x)` << 1, x^183360 mod p(x)` << 1 */ -+ {0x00000001d29ee8e0, 0x00000001748f9adc}, -+ /* x^182272 mod p(x)` << 1, x^182336 mod p(x)` << 1 */ -+ {0x000000006a08ace8, 0x00000001be94ec00}, -+ /* x^181248 mod p(x)` << 1, x^181312 mod p(x)` << 1 */ -+ {0x0000000127d42010, 0x00000000b74370d6}, -+ /* x^180224 mod p(x)` << 1, x^180288 mod p(x)` << 1 */ -+ {0x0000000019d76b62, 0x00000001174d0b98}, -+ /* x^179200 mod p(x)` << 1, x^179264 mod p(x)` << 1 */ -+ {0x00000001b1471f6e, 0x00000000befc06a4}, -+ /* x^178176 mod p(x)` << 1, x^178240 mod p(x)` << 1 */ -+ {0x00000001f64c19cc, 0x00000001ae125288}, -+ /* x^177152 mod p(x)` << 1, x^177216 mod p(x)` << 1 */ -+ {0x00000000003c0ea0, 0x0000000095c19b34}, -+ /* x^176128 mod p(x)` << 1, x^176192 mod p(x)` << 1 */ -+ {0x000000014d73abf6, 0x00000001a78496f2}, -+ /* x^175104 mod p(x)` << 1, x^175168 mod p(x)` << 1 */ -+ {0x00000001620eb844, 0x00000001ac5390a0}, -+ /* x^174080 mod p(x)` << 1, x^174144 mod p(x)` << 1 */ -+ {0x0000000147655048, 0x000000002a80ed6e}, -+ /* x^173056 mod p(x)` << 1, x^173120 mod p(x)` << 1 */ -+ {0x0000000067b5077e, 0x00000001fa9b0128}, -+ /* x^172032 mod p(x)` << 1, x^172096 mod p(x)` << 1 */ -+ {0x0000000010ffe206, 0x00000001ea94929e}, -+ /* x^171008 mod p(x)` << 1, x^171072 mod p(x)` << 1 */ -+ {0x000000000fee8f1e, 0x0000000125f4305c}, -+ /* x^169984 mod p(x)` << 1, x^170048 mod p(x)` << 1 */ -+ {0x00000001da26fbae, 0x00000001471e2002}, -+ /* x^168960 mod p(x)` << 1, x^169024 mod p(x)` << 1 */ -+ {0x00000001b3a8bd88, 0x0000000132d2253a}, -+ /* x^167936 mod p(x)` << 1, x^168000 mod p(x)` << 1 */ -+ {0x00000000e8f3898e, 0x00000000f26b3592}, -+ /* x^166912 mod p(x)` << 1, x^166976 mod p(x)` << 1 */ -+ {0x00000000b0d0d28c, 0x00000000bc8b67b0}, -+ /* x^165888 mod p(x)` << 1, x^165952 mod p(x)` << 1 */ -+ {0x0000000030f2a798, 0x000000013a826ef2}, -+ /* x^164864 mod p(x)` << 1, x^164928 mod p(x)` << 1 */ -+ {0x000000000fba1002, 0x0000000081482c84}, -+ /* x^163840 mod p(x)` << 1, x^163904 mod p(x)` << 1 */ -+ {0x00000000bdb9bd72, 0x00000000e77307c2}, -+ /* x^162816 mod p(x)` << 1, x^162880 mod p(x)` << 1 */ -+ {0x0000000075d3bf5a, 0x00000000d4a07ec8}, -+ /* x^161792 mod p(x)` << 1, x^161856 mod p(x)` << 1 */ -+ {0x00000000ef1f98a0, 0x0000000017102100}, -+ /* x^160768 mod p(x)` << 1, x^160832 mod p(x)` << 1 */ -+ {0x00000000689c7602, 0x00000000db406486}, -+ /* x^159744 mod p(x)` << 1, x^159808 mod p(x)` << 1 */ -+ {0x000000016d5fa5fe, 0x0000000192db7f88}, -+ /* x^158720 mod p(x)` << 1, x^158784 mod p(x)` << 1 */ -+ {0x00000001d0d2b9ca, 0x000000018bf67b1e}, -+ /* x^157696 mod p(x)` << 1, x^157760 mod p(x)` << 1 */ -+ {0x0000000041e7b470, 0x000000007c09163e}, -+ /* x^156672 mod p(x)` << 1, x^156736 mod p(x)` << 1 */ -+ {0x00000001cbb6495e, 0x000000000adac060}, -+ /* x^155648 mod p(x)` << 1, x^155712 mod p(x)` << 1 */ -+ {0x000000010052a0b0, 0x00000000bd8316ae}, -+ /* x^154624 mod p(x)` << 1, x^154688 mod p(x)` << 1 */ -+ {0x00000001d8effb5c, 0x000000019f09ab54}, -+ /* x^153600 mod p(x)` << 1, x^153664 mod p(x)` << 1 */ -+ {0x00000001d969853c, 0x0000000125155542}, -+ /* x^152576 mod p(x)` << 1, x^152640 mod p(x)` << 1 */ -+ {0x00000000523ccce2, 0x000000018fdb5882}, -+ /* x^151552 mod p(x)` << 1, x^151616 mod p(x)` << 1 */ -+ {0x000000001e2436bc, 0x00000000e794b3f4}, -+ /* x^150528 mod p(x)` << 1, x^150592 mod p(x)` << 1 */ -+ {0x00000000ddd1c3a2, 0x000000016f9bb022}, -+ /* x^149504 mod p(x)` << 1, x^149568 mod p(x)` << 1 */ -+ {0x0000000019fcfe38, 0x00000000290c9978}, -+ /* x^148480 mod p(x)` << 1, x^148544 mod p(x)` << 1 */ -+ {0x00000001ce95db64, 0x0000000083c0f350}, -+ /* x^147456 mod p(x)` << 1, x^147520 mod p(x)` << 1 */ -+ {0x00000000af582806, 0x0000000173ea6628}, -+ /* x^146432 mod p(x)` << 1, x^146496 mod p(x)` << 1 */ -+ {0x00000001006388f6, 0x00000001c8b4e00a}, -+ /* x^145408 mod p(x)` << 1, x^145472 mod p(x)` << 1 */ -+ {0x0000000179eca00a, 0x00000000de95d6aa}, -+ /* x^144384 mod p(x)` << 1, x^144448 mod p(x)` << 1 */ -+ {0x0000000122410a6a, 0x000000010b7f7248}, -+ /* x^143360 mod p(x)` << 1, x^143424 mod p(x)` << 1 */ -+ {0x000000004288e87c, 0x00000001326e3a06}, -+ /* x^142336 mod p(x)` << 1, x^142400 mod p(x)` << 1 */ -+ {0x000000016c5490da, 0x00000000bb62c2e6}, -+ /* x^141312 mod p(x)` << 1, x^141376 mod p(x)` << 1 */ -+ {0x00000000d1c71f6e, 0x0000000156a4b2c2}, -+ /* x^140288 mod p(x)` << 1, x^140352 mod p(x)` << 1 */ -+ {0x00000001b4ce08a6, 0x000000011dfe763a}, -+ /* x^139264 mod p(x)` << 1, x^139328 mod p(x)` << 1 */ -+ {0x00000001466ba60c, 0x000000007bcca8e2}, -+ /* x^138240 mod p(x)` << 1, x^138304 mod p(x)` << 1 */ -+ {0x00000001f6c488a4, 0x0000000186118faa}, -+ /* x^137216 mod p(x)` << 1, x^137280 mod p(x)` << 1 */ -+ {0x000000013bfb0682, 0x0000000111a65a88}, -+ /* x^136192 mod p(x)` << 1, x^136256 mod p(x)` << 1 */ -+ {0x00000000690e9e54, 0x000000003565e1c4}, -+ /* x^135168 mod p(x)` << 1, x^135232 mod p(x)` << 1 */ -+ {0x00000000281346b6, 0x000000012ed02a82}, -+ /* x^134144 mod p(x)` << 1, x^134208 mod p(x)` << 1 */ -+ {0x0000000156464024, 0x00000000c486ecfc}, -+ /* x^133120 mod p(x)` << 1, x^133184 mod p(x)` << 1 */ -+ {0x000000016063a8dc, 0x0000000001b951b2}, -+ /* x^132096 mod p(x)` << 1, x^132160 mod p(x)` << 1 */ -+ {0x0000000116a66362, 0x0000000048143916}, -+ /* x^131072 mod p(x)` << 1, x^131136 mod p(x)` << 1 */ -+ {0x000000017e8aa4d2, 0x00000001dc2ae124}, -+ /* x^130048 mod p(x)` << 1, x^130112 mod p(x)` << 1 */ -+ {0x00000001728eb10c, 0x00000001416c58d6}, -+ /* x^129024 mod p(x)` << 1, x^129088 mod p(x)` << 1 */ -+ {0x00000001b08fd7fa, 0x00000000a479744a}, -+ /* x^128000 mod p(x)` << 1, x^128064 mod p(x)` << 1 */ -+ {0x00000001092a16e8, 0x0000000096ca3a26}, -+ /* x^126976 mod p(x)` << 1, x^127040 mod p(x)` << 1 */ -+ {0x00000000a505637c, 0x00000000ff223d4e}, -+ /* x^125952 mod p(x)` << 1, x^126016 mod p(x)` << 1 */ -+ {0x00000000d94869b2, 0x000000010e84da42}, -+ /* x^124928 mod p(x)` << 1, x^124992 mod p(x)` << 1 */ -+ {0x00000001c8b203ae, 0x00000001b61ba3d0}, -+ /* x^123904 mod p(x)` << 1, x^123968 mod p(x)` << 1 */ -+ {0x000000005704aea0, 0x00000000680f2de8}, -+ /* x^122880 mod p(x)` << 1, x^122944 mod p(x)` << 1 */ -+ {0x000000012e295fa2, 0x000000008772a9a8}, -+ /* x^121856 mod p(x)` << 1, x^121920 mod p(x)` << 1 */ -+ {0x000000011d0908bc, 0x0000000155f295bc}, -+ /* x^120832 mod p(x)` << 1, x^120896 mod p(x)` << 1 */ -+ {0x0000000193ed97ea, 0x00000000595f9282}, -+ /* x^119808 mod p(x)` << 1, x^119872 mod p(x)` << 1 */ -+ {0x000000013a0f1c52, 0x0000000164b1c25a}, -+ /* x^118784 mod p(x)` << 1, x^118848 mod p(x)` << 1 */ -+ {0x000000010c2c40c0, 0x00000000fbd67c50}, -+ /* x^117760 mod p(x)` << 1, x^117824 mod p(x)` << 1 */ -+ {0x00000000ff6fac3e, 0x0000000096076268}, -+ /* x^116736 mod p(x)` << 1, x^116800 mod p(x)` << 1 */ -+ {0x000000017b3609c0, 0x00000001d288e4cc}, -+ /* x^115712 mod p(x)` << 1, x^115776 mod p(x)` << 1 */ -+ {0x0000000088c8c922, 0x00000001eaac1bdc}, -+ /* x^114688 mod p(x)` << 1, x^114752 mod p(x)` << 1 */ -+ {0x00000001751baae6, 0x00000001f1ea39e2}, -+ /* x^113664 mod p(x)` << 1, x^113728 mod p(x)` << 1 */ -+ {0x0000000107952972, 0x00000001eb6506fc}, -+ /* x^112640 mod p(x)` << 1, x^112704 mod p(x)` << 1 */ -+ {0x0000000162b00abe, 0x000000010f806ffe}, -+ /* x^111616 mod p(x)` << 1, x^111680 mod p(x)` << 1 */ -+ {0x000000000d7b404c, 0x000000010408481e}, -+ /* x^110592 mod p(x)` << 1, x^110656 mod p(x)` << 1 */ -+ {0x00000000763b13d4, 0x0000000188260534}, -+ /* x^109568 mod p(x)` << 1, x^109632 mod p(x)` << 1 */ -+ {0x00000000f6dc22d8, 0x0000000058fc73e0}, -+ /* x^108544 mod p(x)` << 1, x^108608 mod p(x)` << 1 */ -+ {0x000000007daae060, 0x00000000391c59b8}, -+ /* x^107520 mod p(x)` << 1, x^107584 mod p(x)` << 1 */ -+ {0x000000013359ab7c, 0x000000018b638400}, -+ /* x^106496 mod p(x)` << 1, x^106560 mod p(x)` << 1 */ -+ {0x000000008add438a, 0x000000011738f5c4}, -+ /* x^105472 mod p(x)` << 1, x^105536 mod p(x)` << 1 */ -+ {0x00000001edbefdea, 0x000000008cf7c6da}, -+ /* x^104448 mod p(x)` << 1, x^104512 mod p(x)` << 1 */ -+ {0x000000004104e0f8, 0x00000001ef97fb16}, -+ /* x^103424 mod p(x)` << 1, x^103488 mod p(x)` << 1 */ -+ {0x00000000b48a8222, 0x0000000102130e20}, -+ /* x^102400 mod p(x)` << 1, x^102464 mod p(x)` << 1 */ -+ {0x00000001bcb46844, 0x00000000db968898}, -+ /* x^101376 mod p(x)` << 1, x^101440 mod p(x)` << 1 */ -+ {0x000000013293ce0a, 0x00000000b5047b5e}, -+ /* x^100352 mod p(x)` << 1, x^100416 mod p(x)` << 1 */ -+ {0x00000001710d0844, 0x000000010b90fdb2}, -+ /* x^99328 mod p(x)` << 1, x^99392 mod p(x)` << 1 */ -+ {0x0000000117907f6e, 0x000000004834a32e}, -+ /* x^98304 mod p(x)` << 1, x^98368 mod p(x)` << 1 */ -+ {0x0000000087ddf93e, 0x0000000059c8f2b0}, -+ /* x^97280 mod p(x)` << 1, x^97344 mod p(x)` << 1 */ -+ {0x000000005970e9b0, 0x0000000122cec508}, -+ /* x^96256 mod p(x)` << 1, x^96320 mod p(x)` << 1 */ -+ {0x0000000185b2b7d0, 0x000000000a330cda}, -+ /* x^95232 mod p(x)` << 1, x^95296 mod p(x)` << 1 */ -+ {0x00000001dcee0efc, 0x000000014a47148c}, -+ /* x^94208 mod p(x)` << 1, x^94272 mod p(x)` << 1 */ -+ {0x0000000030da2722, 0x0000000042c61cb8}, -+ /* x^93184 mod p(x)` << 1, x^93248 mod p(x)` << 1 */ -+ {0x000000012f925a18, 0x0000000012fe6960}, -+ /* x^92160 mod p(x)` << 1, x^92224 mod p(x)` << 1 */ -+ {0x00000000dd2e357c, 0x00000000dbda2c20}, -+ /* x^91136 mod p(x)` << 1, x^91200 mod p(x)` << 1 */ -+ {0x00000000071c80de, 0x000000011122410c}, -+ /* x^90112 mod p(x)` << 1, x^90176 mod p(x)` << 1 */ -+ {0x000000011513140a, 0x00000000977b2070}, -+ /* x^89088 mod p(x)` << 1, x^89152 mod p(x)` << 1 */ -+ {0x00000001df876e8e, 0x000000014050438e}, -+ /* x^88064 mod p(x)` << 1, x^88128 mod p(x)` << 1 */ -+ {0x000000015f81d6ce, 0x0000000147c840e8}, -+ /* x^87040 mod p(x)` << 1, x^87104 mod p(x)` << 1 */ -+ {0x000000019dd94dbe, 0x00000001cc7c88ce}, -+ /* x^86016 mod p(x)` << 1, x^86080 mod p(x)` << 1 */ -+ {0x00000001373d206e, 0x00000001476b35a4}, -+ /* x^84992 mod p(x)` << 1, x^85056 mod p(x)` << 1 */ -+ {0x00000000668ccade, 0x000000013d52d508}, -+ /* x^83968 mod p(x)` << 1, x^84032 mod p(x)` << 1 */ -+ {0x00000001b192d268, 0x000000008e4be32e}, -+ /* x^82944 mod p(x)` << 1, x^83008 mod p(x)` << 1 */ -+ {0x00000000e30f3a78, 0x00000000024120fe}, -+ /* x^81920 mod p(x)` << 1, x^81984 mod p(x)` << 1 */ -+ {0x000000010ef1f7bc, 0x00000000ddecddb4}, -+ /* x^80896 mod p(x)` << 1, x^80960 mod p(x)` << 1 */ -+ {0x00000001f5ac7380, 0x00000000d4d403bc}, -+ /* x^79872 mod p(x)` << 1, x^79936 mod p(x)` << 1 */ -+ {0x000000011822ea70, 0x00000001734b89aa}, -+ /* x^78848 mod p(x)` << 1, x^78912 mod p(x)` << 1 */ -+ {0x00000000c3a33848, 0x000000010e7a58d6}, -+ /* x^77824 mod p(x)` << 1, x^77888 mod p(x)` << 1 */ -+ {0x00000001bd151c24, 0x00000001f9f04e9c}, -+ /* x^76800 mod p(x)` << 1, x^76864 mod p(x)` << 1 */ -+ {0x0000000056002d76, 0x00000000b692225e}, -+ /* x^75776 mod p(x)` << 1, x^75840 mod p(x)` << 1 */ -+ {0x000000014657c4f4, 0x000000019b8d3f3e}, -+ /* x^74752 mod p(x)` << 1, x^74816 mod p(x)` << 1 */ -+ {0x0000000113742d7c, 0x00000001a874f11e}, -+ /* x^73728 mod p(x)` << 1, x^73792 mod p(x)` << 1 */ -+ {0x000000019c5920ba, 0x000000010d5a4254}, -+ /* x^72704 mod p(x)` << 1, x^72768 mod p(x)` << 1 */ -+ {0x000000005216d2d6, 0x00000000bbb2f5d6}, -+ /* x^71680 mod p(x)` << 1, x^71744 mod p(x)` << 1 */ -+ {0x0000000136f5ad8a, 0x0000000179cc0e36}, -+ /* x^70656 mod p(x)` << 1, x^70720 mod p(x)` << 1 */ -+ {0x000000018b07beb6, 0x00000001dca1da4a}, -+ /* x^69632 mod p(x)` << 1, x^69696 mod p(x)` << 1 */ -+ {0x00000000db1e93b0, 0x00000000feb1a192}, -+ /* x^68608 mod p(x)` << 1, x^68672 mod p(x)` << 1 */ -+ {0x000000000b96fa3a, 0x00000000d1eeedd6}, -+ /* x^67584 mod p(x)` << 1, x^67648 mod p(x)` << 1 */ -+ {0x00000001d9968af0, 0x000000008fad9bb4}, -+ /* x^66560 mod p(x)` << 1, x^66624 mod p(x)` << 1 */ -+ {0x000000000e4a77a2, 0x00000001884938e4}, -+ /* x^65536 mod p(x)` << 1, x^65600 mod p(x)` << 1 */ -+ {0x00000000508c2ac8, 0x00000001bc2e9bc0}, -+ /* x^64512 mod p(x)` << 1, x^64576 mod p(x)` << 1 */ -+ {0x0000000021572a80, 0x00000001f9658a68}, -+ /* x^63488 mod p(x)` << 1, x^63552 mod p(x)` << 1 */ -+ {0x00000001b859daf2, 0x000000001b9224fc}, -+ /* x^62464 mod p(x)` << 1, x^62528 mod p(x)` << 1 */ -+ {0x000000016f788474, 0x0000000055b2fb84}, -+ /* x^61440 mod p(x)` << 1, x^61504 mod p(x)` << 1 */ -+ {0x00000001b438810e, 0x000000018b090348}, -+ /* x^60416 mod p(x)` << 1, x^60480 mod p(x)` << 1 */ -+ {0x0000000095ddc6f2, 0x000000011ccbd5ea}, -+ /* x^59392 mod p(x)` << 1, x^59456 mod p(x)` << 1 */ -+ {0x00000001d977c20c, 0x0000000007ae47f8}, -+ /* x^58368 mod p(x)` << 1, x^58432 mod p(x)` << 1 */ -+ {0x00000000ebedb99a, 0x0000000172acbec0}, -+ /* x^57344 mod p(x)` << 1, x^57408 mod p(x)` << 1 */ -+ {0x00000001df9e9e92, 0x00000001c6e3ff20}, -+ /* x^56320 mod p(x)` << 1, x^56384 mod p(x)` << 1 */ -+ {0x00000001a4a3f952, 0x00000000e1b38744}, -+ /* x^55296 mod p(x)` << 1, x^55360 mod p(x)` << 1 */ -+ {0x00000000e2f51220, 0x00000000791585b2}, -+ /* x^54272 mod p(x)` << 1, x^54336 mod p(x)` << 1 */ -+ {0x000000004aa01f3e, 0x00000000ac53b894}, -+ /* x^53248 mod p(x)` << 1, x^53312 mod p(x)` << 1 */ -+ {0x00000000b3e90a58, 0x00000001ed5f2cf4}, -+ /* x^52224 mod p(x)` << 1, x^52288 mod p(x)` << 1 */ -+ {0x000000000c9ca2aa, 0x00000001df48b2e0}, -+ /* x^51200 mod p(x)` << 1, x^51264 mod p(x)` << 1 */ -+ {0x0000000151682316, 0x00000000049c1c62}, -+ /* x^50176 mod p(x)` << 1, x^50240 mod p(x)` << 1 */ -+ {0x0000000036fce78c, 0x000000017c460c12}, -+ /* x^49152 mod p(x)` << 1, x^49216 mod p(x)` << 1 */ -+ {0x000000009037dc10, 0x000000015be4da7e}, -+ /* x^48128 mod p(x)` << 1, x^48192 mod p(x)` << 1 */ -+ {0x00000000d3298582, 0x000000010f38f668}, -+ /* x^47104 mod p(x)` << 1, x^47168 mod p(x)` << 1 */ -+ {0x00000001b42e8ad6, 0x0000000039f40a00}, -+ /* x^46080 mod p(x)` << 1, x^46144 mod p(x)` << 1 */ -+ {0x00000000142a9838, 0x00000000bd4c10c4}, -+ /* x^45056 mod p(x)` << 1, x^45120 mod p(x)` << 1 */ -+ {0x0000000109c7f190, 0x0000000042db1d98}, -+ /* x^44032 mod p(x)` << 1, x^44096 mod p(x)` << 1 */ -+ {0x0000000056ff9310, 0x00000001c905bae6}, -+ /* x^43008 mod p(x)` << 1, x^43072 mod p(x)` << 1 */ -+ {0x00000001594513aa, 0x00000000069d40ea}, -+ /* x^41984 mod p(x)` << 1, x^42048 mod p(x)` << 1 */ -+ {0x00000001e3b5b1e8, 0x000000008e4fbad0}, -+ /* x^40960 mod p(x)` << 1, x^41024 mod p(x)` << 1 */ -+ {0x000000011dd5fc08, 0x0000000047bedd46}, -+ /* x^39936 mod p(x)` << 1, x^40000 mod p(x)` << 1 */ -+ {0x00000001675f0cc2, 0x0000000026396bf8}, -+ /* x^38912 mod p(x)` << 1, x^38976 mod p(x)` << 1 */ -+ {0x00000000d1c8dd44, 0x00000000379beb92}, -+ /* x^37888 mod p(x)` << 1, x^37952 mod p(x)` << 1 */ -+ {0x0000000115ebd3d8, 0x000000000abae54a}, -+ /* x^36864 mod p(x)` << 1, x^36928 mod p(x)` << 1 */ -+ {0x00000001ecbd0dac, 0x0000000007e6a128}, -+ /* x^35840 mod p(x)` << 1, x^35904 mod p(x)` << 1 */ -+ {0x00000000cdf67af2, 0x000000000ade29d2}, -+ /* x^34816 mod p(x)` << 1, x^34880 mod p(x)` << 1 */ -+ {0x000000004c01ff4c, 0x00000000f974c45c}, -+ /* x^33792 mod p(x)` << 1, x^33856 mod p(x)` << 1 */ -+ {0x00000000f2d8657e, 0x00000000e77ac60a}, -+ /* x^32768 mod p(x)` << 1, x^32832 mod p(x)` << 1 */ -+ {0x000000006bae74c4, 0x0000000145895816}, -+ /* x^31744 mod p(x)` << 1, x^31808 mod p(x)` << 1 */ -+ {0x0000000152af8aa0, 0x0000000038e362be}, -+ /* x^30720 mod p(x)` << 1, x^30784 mod p(x)` << 1 */ -+ {0x0000000004663802, 0x000000007f991a64}, -+ /* x^29696 mod p(x)` << 1, x^29760 mod p(x)` << 1 */ -+ {0x00000001ab2f5afc, 0x00000000fa366d3a}, -+ /* x^28672 mod p(x)` << 1, x^28736 mod p(x)` << 1 */ -+ {0x0000000074a4ebd4, 0x00000001a2bb34f0}, -+ /* x^27648 mod p(x)` << 1, x^27712 mod p(x)` << 1 */ -+ {0x00000001d7ab3a4c, 0x0000000028a9981e}, -+ /* x^26624 mod p(x)` << 1, x^26688 mod p(x)` << 1 */ -+ {0x00000001a8da60c6, 0x00000001dbc672be}, -+ /* x^25600 mod p(x)` << 1, x^25664 mod p(x)` << 1 */ -+ {0x000000013cf63820, 0x00000000b04d77f6}, -+ /* x^24576 mod p(x)` << 1, x^24640 mod p(x)` << 1 */ -+ {0x00000000bec12e1e, 0x0000000124400d96}, -+ /* x^23552 mod p(x)` << 1, x^23616 mod p(x)` << 1 */ -+ {0x00000001c6368010, 0x000000014ca4b414}, -+ /* x^22528 mod p(x)` << 1, x^22592 mod p(x)` << 1 */ -+ {0x00000001e6e78758, 0x000000012fe2c938}, -+ /* x^21504 mod p(x)` << 1, x^21568 mod p(x)` << 1 */ -+ {0x000000008d7f2b3c, 0x00000001faed01e6}, -+ /* x^20480 mod p(x)` << 1, x^20544 mod p(x)` << 1 */ -+ {0x000000016b4a156e, 0x000000007e80ecfe}, -+ /* x^19456 mod p(x)` << 1, x^19520 mod p(x)` << 1 */ -+ {0x00000001c63cfeb6, 0x0000000098daee94}, -+ /* x^18432 mod p(x)` << 1, x^18496 mod p(x)` << 1 */ -+ {0x000000015f902670, 0x000000010a04edea}, -+ /* x^17408 mod p(x)` << 1, x^17472 mod p(x)` << 1 */ -+ {0x00000001cd5de11e, 0x00000001c00b4524}, -+ /* x^16384 mod p(x)` << 1, x^16448 mod p(x)` << 1 */ -+ {0x000000001acaec54, 0x0000000170296550}, -+ /* x^15360 mod p(x)` << 1, x^15424 mod p(x)` << 1 */ -+ {0x000000002bd0ca78, 0x0000000181afaa48}, -+ /* x^14336 mod p(x)` << 1, x^14400 mod p(x)` << 1 */ -+ {0x0000000032d63d5c, 0x0000000185a31ffa}, -+ /* x^13312 mod p(x)` << 1, x^13376 mod p(x)` << 1 */ -+ {0x000000001c6d4e4c, 0x000000002469f608}, -+ /* x^12288 mod p(x)` << 1, x^12352 mod p(x)` << 1 */ -+ {0x0000000106a60b92, 0x000000006980102a}, -+ /* x^11264 mod p(x)` << 1, x^11328 mod p(x)` << 1 */ -+ {0x00000000d3855e12, 0x0000000111ea9ca8}, -+ /* x^10240 mod p(x)` << 1, x^10304 mod p(x)` << 1 */ -+ {0x00000000e3125636, 0x00000001bd1d29ce}, -+ /* x^9216 mod p(x)` << 1, x^9280 mod p(x)` << 1 */ -+ {0x000000009e8f7ea4, 0x00000001b34b9580}, -+ /* x^8192 mod p(x)` << 1, x^8256 mod p(x)` << 1 */ -+ {0x00000001c82e562c, 0x000000003076054e}, -+ /* x^7168 mod p(x)` << 1, x^7232 mod p(x)` << 1 */ -+ {0x00000000ca9f09ce, 0x000000012a608ea4}, -+ /* x^6144 mod p(x)` << 1, x^6208 mod p(x)` << 1 */ -+ {0x00000000c63764e6, 0x00000000784d05fe}, -+ /* x^5120 mod p(x)` << 1, x^5184 mod p(x)` << 1 */ -+ {0x0000000168d2e49e, 0x000000016ef0d82a}, -+ /* x^4096 mod p(x)` << 1, x^4160 mod p(x)` << 1 */ -+ {0x00000000e986c148, 0x0000000075bda454}, -+ /* x^3072 mod p(x)` << 1, x^3136 mod p(x)` << 1 */ -+ {0x00000000cfb65894, 0x000000003dc0a1c4}, -+ /* x^2048 mod p(x)` << 1, x^2112 mod p(x)` << 1 */ -+ {0x0000000111cadee4, 0x00000000e9a5d8be}, -+ /* x^1024 mod p(x)` << 1, x^1088 mod p(x)` << 1 */ -+ {0x0000000171fb63ce, 0x00000001609bc4b4} -+#endif /* __LITTLE_ENDIAN__ */ -+}; - -- /* x^32 mod p(x)`, x^64 mod p(x)`, x^96 mod p(x)`, x^128 mod p(x)` */ -- .octa 0x82f63b786ea2d55ca66805eb18b8ea18 -+/* Reduce final 1024-2048 bits to 64 bits, shifting 32 bits to include the -+ * trailing 32 bits of zeros */ -+ -+static const __vector unsigned long long vcrc_short_const[16] __attribute__(( -+ aligned(16))) = { -+#ifdef __LITTLE_ENDIAN__ -+ /* x^1952 mod p(x) , x^1984 mod p(x) , x^2016 mod p(x) , x^2048 mod p(x) */ -+ {0x5cf015c388e56f72, 0x7fec2963e5bf8048}, -+ /* x^1824 mod p(x) , x^1856 mod p(x) , x^1888 mod p(x) , x^1920 mod p(x) */ -+ {0x963a18920246e2e6, 0x38e888d4844752a9}, -+ /* x^1696 mod p(x) , x^1728 mod p(x) , x^1760 mod p(x) , x^1792 mod p(x) */ -+ {0x419a441956993a31, 0x42316c00730206ad}, -+ /* x^1568 mod p(x) , x^1600 mod p(x) , x^1632 mod p(x) , x^1664 mod p(x) */ -+ {0x924752ba2b830011, 0x543d5c543e65ddf9}, -+ /* x^1440 mod p(x) , x^1472 mod p(x) , x^1504 mod p(x) , x^1536 mod p(x) */ -+ {0x55bd7f9518e4a304, 0x78e87aaf56767c92}, -+ /* x^1312 mod p(x) , x^1344 mod p(x) , x^1376 mod p(x) , x^1408 mod p(x) */ -+ {0x6d76739fe0553f1e, 0x8f68fcec1903da7f}, -+ /* x^1184 mod p(x) , x^1216 mod p(x) , x^1248 mod p(x) , x^1280 mod p(x) */ -+ {0xc133722b1fe0b5c3, 0x3f4840246791d588}, -+ /* x^1056 mod p(x) , x^1088 mod p(x) , x^1120 mod p(x) , x^1152 mod p(x) */ -+ {0x64b67ee0e55ef1f3, 0x34c96751b04de25a}, -+ /* x^928 mod p(x) , x^960 mod p(x) , x^992 mod p(x) , x^1024 mod p(x) */ -+ {0x069db049b8fdb1e7, 0x156c8e180b4a395b}, -+ /* x^800 mod p(x) , x^832 mod p(x) , x^864 mod p(x) , x^896 mod p(x) */ -+ {0xa11bfaf3c9e90b9e, 0xe0b99ccbe661f7be}, -+ /* x^672 mod p(x) , x^704 mod p(x) , x^736 mod p(x) , x^768 mod p(x) */ -+ {0x817cdc5119b29a35, 0x041d37768cd75659}, -+ /* x^544 mod p(x) , x^576 mod p(x) , x^608 mod p(x) , x^640 mod p(x) */ -+ {0x1ce9d94b36c41f1c, 0x3a0777818cfaa965}, -+ /* x^416 mod p(x) , x^448 mod p(x) , x^480 mod p(x) , x^512 mod p(x) */ -+ {0x4f256efcb82be955, 0x0e148e8252377a55}, -+ /* x^288 mod p(x) , x^320 mod p(x) , x^352 mod p(x) , x^384 mod p(x) */ -+ {0xec1631edb2dea967, 0x9c25531d19e65dde}, -+ /* x^160 mod p(x) , x^192 mod p(x) , x^224 mod p(x) , x^256 mod p(x) */ -+ {0x5d27e147510ac59a, 0x790606ff9957c0a6}, -+ /* x^32 mod p(x) , x^64 mod p(x) , x^96 mod p(x) , x^128 mod p(x) */ -+ {0xa66805eb18b8ea18, 0x82f63b786ea2d55c} -+#else /* __LITTLE_ENDIAN__ */ -+ /* x^1952 mod p(x) , x^1984 mod p(x) , x^2016 mod p(x) , x^2048 mod p(x) */ -+ {0x7fec2963e5bf8048, 0x5cf015c388e56f72}, -+ /* x^1824 mod p(x) , x^1856 mod p(x) , x^1888 mod p(x) , x^1920 mod p(x) */ -+ {0x38e888d4844752a9, 0x963a18920246e2e6}, -+ /* x^1696 mod p(x) , x^1728 mod p(x) , x^1760 mod p(x) , x^1792 mod p(x) */ -+ {0x42316c00730206ad, 0x419a441956993a31}, -+ /* x^1568 mod p(x) , x^1600 mod p(x) , x^1632 mod p(x) , x^1664 mod p(x) */ -+ {0x543d5c543e65ddf9, 0x924752ba2b830011}, -+ /* x^1440 mod p(x) , x^1472 mod p(x) , x^1504 mod p(x) , x^1536 mod p(x) */ -+ {0x78e87aaf56767c92, 0x55bd7f9518e4a304}, -+ /* x^1312 mod p(x) , x^1344 mod p(x) , x^1376 mod p(x) , x^1408 mod p(x) */ -+ {0x8f68fcec1903da7f, 0x6d76739fe0553f1e}, -+ /* x^1184 mod p(x) , x^1216 mod p(x) , x^1248 mod p(x) , x^1280 mod p(x) */ -+ {0x3f4840246791d588, 0xc133722b1fe0b5c3}, -+ /* x^1056 mod p(x) , x^1088 mod p(x) , x^1120 mod p(x) , x^1152 mod p(x) */ -+ {0x34c96751b04de25a, 0x64b67ee0e55ef1f3}, -+ /* x^928 mod p(x) , x^960 mod p(x) , x^992 mod p(x) , x^1024 mod p(x) */ -+ {0x156c8e180b4a395b, 0x069db049b8fdb1e7}, -+ /* x^800 mod p(x) , x^832 mod p(x) , x^864 mod p(x) , x^896 mod p(x) */ -+ {0xe0b99ccbe661f7be, 0xa11bfaf3c9e90b9e}, -+ /* x^672 mod p(x) , x^704 mod p(x) , x^736 mod p(x) , x^768 mod p(x) */ -+ {0x041d37768cd75659, 0x817cdc5119b29a35}, -+ /* x^544 mod p(x) , x^576 mod p(x) , x^608 mod p(x) , x^640 mod p(x) */ -+ {0x3a0777818cfaa965, 0x1ce9d94b36c41f1c}, -+ /* x^416 mod p(x) , x^448 mod p(x) , x^480 mod p(x) , x^512 mod p(x) */ -+ {0x0e148e8252377a55, 0x4f256efcb82be955}, -+ /* x^288 mod p(x) , x^320 mod p(x) , x^352 mod p(x) , x^384 mod p(x) */ -+ {0x9c25531d19e65dde, 0xec1631edb2dea967}, -+ /* x^160 mod p(x) , x^192 mod p(x) , x^224 mod p(x) , x^256 mod p(x) */ -+ {0x790606ff9957c0a6, 0x5d27e147510ac59a}, -+ /* x^32 mod p(x) , x^64 mod p(x) , x^96 mod p(x) , x^128 mod p(x) */ -+ {0x82f63b786ea2d55c, 0xa66805eb18b8ea18} -+#endif /* __LITTLE_ENDIAN__ */ -+}; - -- .barrett_constants : -- /* 33 bit reflected Barrett constant m - (4^32)/n */ -- .octa 0x000000000000000000000000dea713f1 /* x^64 div p(x)` */ -- /* 33 bit reflected Barrett constant n */ -- .octa 0x00000000000000000000000105ec76f1 --#endif -+/* Barrett constants */ -+/* 33 bit reflected Barrett constant m - (4^32)/n */ -+ -+static const __vector unsigned long long v_Barrett_const[2] -+ __attribute__((aligned(16))) = { -+/* x^64 div p(x) */ -+#ifdef __LITTLE_ENDIAN__ -+ {0x00000000dea713f1, 0x0000000000000000}, -+ {0x0000000105ec76f1, 0x0000000000000000} -+#else /* __LITTLE_ENDIAN__ */ -+ {0x0000000000000000, 0x00000000dea713f1}, -+ {0x0000000000000000, 0x0000000105ec76f1} -+#endif /* __LITTLE_ENDIAN__ */ -+}; -+#endif /* POWER8_INTRINSICS */ -diff --git a/util/crc32c_test.cc b/util/crc32c_test.cc -index 3e4f7396e7..546c6a4401 100644 ---- a/util/crc32c_test.cc -+++ b/util/crc32c_test.cc -@@ -108,6 +108,9 @@ TEST(CRC, StandardResults) { - EXPECT_EQ(~expected.crc32c, result); - } - -+ // NULL buffer -+ EXPECT_EQ((uint32_t)0, Value(NULL, 0)); -+ - // Test 2: stitching two computations - for (auto expected : expectedResults) { - size_t partialLength = expected.length / 2; diff --git a/package/rocksdb/Config.in b/package/rocksdb/Config.in index c55170c1d28..a706384aec8 100644 --- a/package/rocksdb/Config.in +++ b/package/rocksdb/Config.in @@ -1,5 +1,13 @@ +config BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS + bool + # see utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc64 || BR2_powerpc64le + config BR2_PACKAGE_ROCKSDB bool "rocksdb" + depends on BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS @@ -18,9 +26,11 @@ config BR2_PACKAGE_ROCKSDB http://rocksdb.org comment "rocksdb needs a toolchain w/ C++, threads, wchar, gcc >= 4.8" + depends on BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 comment "rocksdb needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/rocksdb/rocksdb.hash b/package/rocksdb/rocksdb.hash index 35c4a702b53..935b498c551 100644 --- a/package/rocksdb/rocksdb.hash +++ b/package/rocksdb/rocksdb.hash @@ -1,8 +1,8 @@ # Locally computed: -sha256 b86741983c5842716128efc2eecc1a2f3bc86ba5125cf3111fb58d26fb195ff0 rocksdb-6.13.3.tar.gz +sha256 c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca rocksdb-6.20.3.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.Apache sha256 b568f1f37a5a1d37a3e981e7c8b7fc4856ca33b2ca0a45bc8e847aaaf7afe485 LICENSE.leveldb -sha256 5791f5e0a4569112a97183581a8550e18db9fdf666479485fb98be10489ed5ca README.md +sha256 e62e4f73402cf6a16969673f0b7eb46bc91782e50a2afe400dd0157547bc09f0 README.md diff --git a/package/rocksdb/rocksdb.mk b/package/rocksdb/rocksdb.mk index 3b8583131c5..c355d0012db 100644 --- a/package/rocksdb/rocksdb.mk +++ b/package/rocksdb/rocksdb.mk @@ -4,7 +4,7 @@ # ################################################################################ -ROCKSDB_VERSION = 6.13.3 +ROCKSDB_VERSION = 6.20.3 ROCKSDB_SITE = $(call github,facebook,rocksdb,v$(ROCKSDB_VERSION)) ROCKSDB_LICENSE = GPL-2.0 or Apache-2.0 ROCKSDB_LICENSE_FILES = COPYING LICENSE.Apache LICENSE.leveldb README.md diff --git a/package/rp-pppoe/0001-krn-plugin.patch b/package/rp-pppoe/0001-krn-plugin.patch deleted file mode 100644 index c386e85f29a..00000000000 --- a/package/rp-pppoe/0001-krn-plugin.patch +++ /dev/null @@ -1,27 +0,0 @@ -[Fabrice: update patch for 3.14] -Signed-off-by: Fabrice Fontaine -diff -Nura rp-pppoe-3.11.orig/src/configure rp-pppoe-3.11/src/configure ---- rp-pppoe-3.11.orig/src/configure 2012-08-21 10:01:10.536440032 -0300 -+++ rp-pppoe-3.11/src/configure 2012-08-21 10:01:45.353442397 -0300 -@@ -4517,7 +4517,7 @@ - modprobe pppoe > /dev/null 2>&1 - fi - if test "$cross_compiling" = yes; then : -- ac_cv_linux_kernel_pppoe=no; echo "cross-compiling, default: " -+ ac_cv_linux_kernel_pppoe=yes; echo "cross-compiling, default: " - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -diff -Nura rp-pppoe-3.11.orig/src/pppoe-server.c rp-pppoe-3.11/src/pppoe-server.c ---- rp-pppoe-3.11.orig/src/pppoe-server.c 2012-08-21 10:01:10.535440032 -0300 -+++ rp-pppoe-3.11/src/pppoe-server.c 2012-08-21 10:02:02.597443569 -0300 -@@ -20,6 +20,9 @@ - - #include "config.h" - -+/* Patched hack to make this cross compile */ -+#define HAVE_LINUX_KERNEL_PPPOE 1 -+ - #if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H) - #define _POSIX_SOURCE 1 /* For sigaction defines */ - #endif diff --git a/package/rp-pppoe/0001-src-pppoe.h-fix-build-with-musl-libc.patch b/package/rp-pppoe/0001-src-pppoe.h-fix-build-with-musl-libc.patch new file mode 100644 index 00000000000..29ba72be4f0 --- /dev/null +++ b/package/rp-pppoe/0001-src-pppoe.h-fix-build-with-musl-libc.patch @@ -0,0 +1,60 @@ +From bbf5b2759cff0c65b47fd6dbe5fe7341f205ad03 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 11 Dec 2021 22:03:16 +0100 +Subject: [PATCH] src/pppoe.h: fix build with musl libc + +musl libc defines its own struct ethhdr that conflicts with the kernel +define one. The kernel headers provide a way to suppress its struct +ethhdr. For that to work the libc headers must precede the kernel. Move +the kernel linux/if_ether.h include below libc netinet/if_ether.h. That +fixes the following build failure: + +In file included from pppoe.h:133, + from debug.c:19: +/home/giuliobenetti/autobuild/run/instance-0/output-1/host/riscv64-buildroot-linux-musl/sysroot/usr/include/netinet/if_ether.h:116:8: error: redefinition of 'struct ethhdr' + 116 | struct ethhdr { + | ^~~~~~ +In file included from pppoe.h:121, + from debug.c:19: +/home/giuliobenetti/autobuild/run/instance-0/output-1/host/riscv64-buildroot-linux-musl/sysroot/usr/include/linux/if_ether.h:163:8: note: originally defined here + 163 | struct ethhdr { + | ^~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/ccca18fcbcde65cb6784f5559eac68ca17ab14a3 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/dfskoll/rp-pppoe/pull/4] +--- + src/pppoe.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/pppoe.h b/src/pppoe.h +index 4780092..2b08111 100644 +--- a/src/pppoe.h ++++ b/src/pppoe.h +@@ -117,10 +117,6 @@ typedef unsigned long UINT32_t; + #error Could not find a 32-bit integer type + #endif + +-#ifdef HAVE_LINUX_IF_ETHER_H +-#include +-#endif +- + #include + + #ifdef HAVE_NETINET_IF_ETHER_H +@@ -134,6 +130,10 @@ typedef unsigned long UINT32_t; + #endif + #endif + ++#ifdef HAVE_LINUX_IF_ETHER_H ++#include ++#endif ++ + + + /* Ethernet frame types according to RFC 2516 */ +-- +2.33.0 + diff --git a/package/rp-pppoe/Config.in b/package/rp-pppoe/Config.in index 12f981d8c71..2ac81cbb2d1 100644 --- a/package/rp-pppoe/Config.in +++ b/package/rp-pppoe/Config.in @@ -1,11 +1,10 @@ -comment "rp-pppoe needs a uClibc or glibc toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL +comment "rp-pppoe needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS depends on BR2_USE_MMU config BR2_PACKAGE_RP_PPPOE bool "rp-pppoe" depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_USES_MUSL # pppd depends on BR2_USE_MMU # fork() select BR2_PACKAGE_PPPD help diff --git a/package/rp-pppoe/rp-pppoe.hash b/package/rp-pppoe/rp-pppoe.hash index 806bab1b0f5..c883322d703 100644 --- a/package/rp-pppoe/rp-pppoe.hash +++ b/package/rp-pppoe/rp-pppoe.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 7825232f64ab4d618ef074d62d145ae43d6edc91b9a718c6130a4742bac40e2a rp-pppoe-3.14.tar.gz +sha256 b1f318bc7e4e5b0fd8a8e23e8803f5e6e43165245a5a10a7162a92a6cf17829a rp-pppoe-3.15.tar.gz # Locally computed sha256 464006ba771074f4022db14f58a29a0b447b6fdde9529cf0331be396b6279162 doc/LICENSE diff --git a/package/rp-pppoe/rp-pppoe.mk b/package/rp-pppoe/rp-pppoe.mk index 2f0073b6c02..698894fda90 100644 --- a/package/rp-pppoe/rp-pppoe.mk +++ b/package/rp-pppoe/rp-pppoe.mk @@ -4,10 +4,12 @@ # ################################################################################ -RP_PPPOE_VERSION = 3.14 +RP_PPPOE_VERSION = 3.15 RP_PPPOE_SITE = https://dianne.skoll.ca/projects/rp-pppoe/download RP_PPPOE_LICENSE = GPL-2.0 RP_PPPOE_LICENSE_FILES = doc/LICENSE +RP_PPPOE_CPE_ID_VENDOR = rp-pppoe_project + RP_PPPOE_DEPENDENCIES = pppd RP_PPPOE_SUBDIR = src RP_PPPOE_TARGET_FILES = pppoe pppoe-server pppoe-relay pppoe-sniff diff --git a/package/rpcbind/0001-Remove-yellow-pages-support.patch b/package/rpcbind/0001-Remove-yellow-pages-support.patch index 314e32e9c8e..694f1ac9de8 100644 --- a/package/rpcbind/0001-Remove-yellow-pages-support.patch +++ b/package/rpcbind/0001-Remove-yellow-pages-support.patch @@ -8,25 +8,17 @@ available. As most Buildroot users are most likely never going to need such feature, get rid of it. Signed-off-by: Thomas Petazzoni +[ rebased for 1.2.6 ] +Signed-off-by: Petr Vorel --- - src/security.c | 18 ------------------ - 1 file changed, 18 deletions(-) + src/security.c | 15 --------------- + 1 file changed, 15 deletions(-) diff --git a/src/security.c b/src/security.c -index 0c9453f..abc81bb 100644 +index 38967dd..0a70635 100644 --- a/src/security.c +++ b/src/security.c -@@ -24,9 +24,6 @@ - #include - #include - #include --#include --#include --#include - #else - # define MOUNTPROC_MNT 1 - # define MOUNTPROC_UMNT 3 -@@ -325,24 +322,9 @@ check_callit(SVCXPRT *xprt, struct r_rmtcall_args *args, int versnum /*__unused* +@@ -318,24 +318,9 @@ check_callit(SVCXPRT *xprt, struct r_rmtcall_args *args, int versnum /*__unused* args->rmt_proc != MOUNTPROC_UMNT) break; goto deny; @@ -52,5 +44,5 @@ index 0c9453f..abc81bb 100644 break; } -- -2.4.5 +2.31.1 diff --git a/package/rpcbind/rpcbind.hash b/package/rpcbind/rpcbind.hash index 1960b86c13b..6ab7d892653 100644 --- a/package/rpcbind/rpcbind.hash +++ b/package/rpcbind/rpcbind.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 2ce360683963b35c19c43f0ee2c7f18aa5b81ef41c3fdbd15ffcb00b8bffda7a rpcbind-1.2.5.tar.bz2 +sha256 5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de rpcbind-1.2.6.tar.bz2 sha256 2b9477d2f4ab277b29702958f0058546edc120aae4b5fb8b8d1a9652104e1ba3 COPYING diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk index 25916f0b562..2eee1167550 100644 --- a/package/rpcbind/rpcbind.mk +++ b/package/rpcbind/rpcbind.mk @@ -4,12 +4,13 @@ # ################################################################################ -RPCBIND_VERSION = 1.2.5 +RPCBIND_VERSION = 1.2.6 RPCBIND_SITE = http://downloads.sourceforge.net/project/rpcbind/rpcbind/$(RPCBIND_VERSION) RPCBIND_SOURCE = rpcbind-$(RPCBIND_VERSION).tar.bz2 RPCBIND_LICENSE = BSD-3-Clause RPCBIND_LICENSE_FILES = COPYING RPCBIND_CPE_ID_VENDOR = rpcbind_project +RPCBIND_SELINUX_MODULES = rpcbind RPCBIND_CONF_ENV += \ CFLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`" @@ -17,19 +18,13 @@ RPCBIND_DEPENDENCIES += libtirpc host-pkgconf RPCBIND_CONF_OPTS += --with-rpcuser=root ifeq ($(BR2_INIT_SYSTEMD),y) -RPCBIND_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +RPCBIND_CONF_OPTS += --enable-warmstarts \ + --with-systemdsystemunitdir=/usr/lib/systemd/system RPCBIND_DEPENDENCIES += systemd else RPCBIND_CONF_OPTS += --with-systemdsystemunitdir=no endif -define RPCBIND_INSTALL_INIT_SYSTEMD - $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.service \ - $(TARGET_DIR)/usr/lib/systemd/system/rpcbind.service - $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.socket \ - $(TARGET_DIR)/usr/lib/systemd/system/rpcbind.socket -endef - define RPCBIND_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/rpcbind/S30rpcbind \ $(TARGET_DIR)/etc/init.d/S30rpcbind diff --git a/package/rpcbind/rpcbind.service b/package/rpcbind/rpcbind.service deleted file mode 100644 index e41931df4a3..00000000000 --- a/package/rpcbind/rpcbind.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=RPC bind service -Requires=rpcbind.socket - -[Service] -Type=forking -ExecStart=/usr/sbin/rpcbind - -[Install] -Also=rpcbind.socket diff --git a/package/rpcbind/rpcbind.socket b/package/rpcbind/rpcbind.socket deleted file mode 100644 index d63c1d97209..00000000000 --- a/package/rpcbind/rpcbind.socket +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=RPCbind Server Activation Socket - -[Socket] -ListenStream=/var/run/rpcbind.sock - -[Install] -WantedBy=sockets.target diff --git a/package/rpi-bt-firmware/Config.in b/package/rpi-bt-firmware/Config.in deleted file mode 100644 index 45643d6a52a..00000000000 --- a/package/rpi-bt-firmware/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config BR2_PACKAGE_RPI_BT_FIRMWARE - bool "rpi-bt-firmware" - depends on BR2_arm || BR2_aarch64 - help - Raspberry Pi 3 and Zero W Broadcom BCM43438 Bluetooth module - firmware. Raspberry Pi 3 Model B+ Broadcom BCM4345C0 - Bluetooth module firmware. - - https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.hash b/package/rpi-bt-firmware/rpi-bt-firmware.hash deleted file mode 100644 index 543c737480a..00000000000 --- a/package/rpi-bt-firmware/rpi-bt-firmware.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed -sha256 cf806f6bdba0f803b90bc210f524a6ac37bac7ad19306c61474bb2dc59875e87 rpi-bt-firmware-9c0ffe9a7f0753b36ed88f7981905a989d940ea9.tar.gz -sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.mk b/package/rpi-bt-firmware/rpi-bt-firmware.mk deleted file mode 100644 index 02754c0b465..00000000000 --- a/package/rpi-bt-firmware/rpi-bt-firmware.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# -# rpi-bt-firmware -# -################################################################################ - -RPI_BT_FIRMWARE_VERSION = 9c0ffe9a7f0753b36ed88f7981905a989d940ea9 -RPI_BT_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_BT_FIRMWARE_VERSION)) -RPI_BT_FIRMWARE_LICENSE = PROPRIETARY -RPI_BT_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx - -define RPI_BT_FIRMWARE_INSTALL_TARGET_CMDS - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm - $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm -endef - -$(eval $(generic-package)) diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in index f5a25c56806..8070dc30196 100644 --- a/package/rpi-firmware/Config.in +++ b/package/rpi-firmware/Config.in @@ -11,63 +11,63 @@ config BR2_PACKAGE_RPI_FIRMWARE if BR2_PACKAGE_RPI_FIRMWARE -choice - bool "rpi variant" +config BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN + bool "rpi 0/1/2/3 bootcode.bin" help - The Raspberry Pi 4 introduced a slightly different naming - convention and set of boot files. This option controls which - format to use. + The bootcode.bin for versions Zero/1/2/3 (not needed on rpi4, + because it has been replaced by boot code in the onboard + EEPROM). config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI - bool "rpi 0/1/2/3" + bool "rpi 0/1/2/3 (default)" help - The default set of files, for versions pre-4 + The default set of files for versions Zero/1/2/3. -config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 - bool "rpi 4" +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X + bool "rpi 0/1/2/3 (extended)" help - The Raspberry Pi 4 files -endchoice + The extended set of files for versions Zero/1/2/3 (additional + GPU features, eg. more audio/video codecs). -choice - bool "Firmware to boot" - default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD + bool "rpi 0/1/2/3 (cut-down)" help - There are three different firmware files: - - the default firmware, that enables standard GPU - features; - - the extended firmware, that enables additional GPU - features (eg. more audio/video codecs); - - the cut-down firmware, for emergency situations, with - only features required to boot a Linux kernel. - -config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT - bool "default" + The cut-down set of files for versions Zero/1/2/3 (only + features required to boot a Linux kernel). + +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB + bool "rpi 0/1/2/3 (debug)" help - The default firmware, that enables standard GPU features. + The debug set of files for versions Zero/1/2/3. -config BR2_PACKAGE_RPI_FIRMWARE_X - bool "extended ('x', more codecs)" +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 + bool "rpi 4 (default)" help - The extended firmware, that enables additional GPU features - (eg. more audio/video codecs). + The default set of files for versions 4 (standard GPU + features). -config BR2_PACKAGE_RPI_FIRMWARE_CD - bool "cut-down ('cd', emergency)" +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X + bool "rpi 4 (extended)" help - The cut-down firmware, for emergency situations, with only - features required to boot a Linux kernel. + The extended set of files for versions 4 (additional GPU + features, eg. more audio/video codecs). -endchoice +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD + bool "rpi 4 (cut-down)" + help + The cut-down set of files for versions 4 (only features + required to boot a Linux kernel). -config BR2_PACKAGE_RPI_FIRMWARE_BOOT - string - default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI - default "4" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 - default "_x" if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI - default "4x" if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 - default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI - default "4cd" if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB + bool "rpi 4 (debug)" + help + The debug set of files for versions 4. + +config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE + string "Path to a file stored as boot/config.txt" + help + Path to a file stored as config.txt in the boot partiton + of the generated SD card image. config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS bool "Install Device Tree Blobs (DTBs)" @@ -98,7 +98,6 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG depends on BR2_arm # prebuilt arm binary, rpi-userland depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_INSTALL_LIBSTDCPP # rpi-userland - select BR2_PACKAGE_RPI_USERLAND help Install vcdbg, to help debug communication with the GPU. diff --git a/package/rpi-firmware/config.txt b/package/rpi-firmware/config.txt deleted file mode 100644 index 4a92a4dd95a..00000000000 --- a/package/rpi-firmware/config.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Please note that this is only a sample, we recommend you to change it to fit -# your needs. -# You should override this file using a post-build script. -# See http://buildroot.org/manual.html#rootfs-custom -# and http://elinux.org/RPiconfig for a description of config.txt syntax - -# We always use the same names, the real used variant is selected by -# BR2_PACKAGE_RPI_FIRMWARE_{DEFAULT,X,CD} choice -start_file=start.elf -fixup_file=fixup.dat - -kernel=zImage - -# To use an external initramfs file -#initramfs rootfs.cpio.gz - -# Disable overscan assuming the display supports displaying the full resolution -# If the text shown on the screen disappears off the edge, comment this out -disable_overscan=1 - -# How much memory in MB to assign to the GPU on Pi models having -# 256, 512 or 1024 MB total memory -gpu_mem_256=100 -gpu_mem_512=100 -gpu_mem_1024=100 diff --git a/package/rpi-firmware/rpi-firmware.hash b/package/rpi-firmware/rpi-firmware.hash index 691b200259f..ec13115f3b0 100644 --- a/package/rpi-firmware/rpi-firmware.hash +++ b/package/rpi-firmware/rpi-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ae4e317681995e0f7becd7900ae667cba394e3a0b7ca93a267f3303df7284697 rpi-firmware-d016a6eb01c8c7326a89cb42809fed2a21525de5.tar.gz +sha256 33aea2cb9c3be94c3dd6a96fbb3443eee5af1dc5fc9140e1fadc50832983064e rpi-firmware-3f20b832b27cd730deb6419b570f31a98167eef6.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index f3d28ef8252..d4d1d07b3f7 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -4,12 +4,37 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = d016a6eb01c8c7326a89cb42809fed2a21525de5 +RPI_FIRMWARE_VERSION = 3f20b832b27cd730deb6419b570f31a98167eef6 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom RPI_FIRMWARE_INSTALL_IMAGES = YES +RPI_FIRMWARE_FILES = \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN), bootcode.bin) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI), start.elf fixup.dat) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X), start_x.elf fixup_x.dat) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD), start_cd.elf fixup_cd.dat) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB), start_db.elf fixup_db.dat) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4), start4.elf fixup4.dat) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X), start4x.elf fixup4x.dat) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat) \ + $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB), start4db.elf fixup4db.dat) + +define RPI_FIRMWARE_INSTALL_BIN + $(foreach f,$(RPI_FIRMWARE_FILES), \ + $(INSTALL) -D -m 0644 $(@D)/boot/$(f) $(BINARIES_DIR)/rpi-firmware/$(f) + ) +endef + +RPI_FIRMWARE_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE)) +ifneq ($(RPI_FIRMWARE_CONFIG_FILE),) +define RPI_FIRMWARE_INSTALL_CONFIG + $(INSTALL) -D -m 0644 $(RPI_FIRMWARE_CONFIG_FILE) \ + $(BINARIES_DIR)/rpi-firmware/config.txt +endef +endif + ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS),y) define RPI_FIRMWARE_INSTALL_DTB $(foreach dtb,$(wildcard $(@D)/boot/*.dtb), \ @@ -20,9 +45,10 @@ endif ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS),y) define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS - for ovldtb in $(@D)/boot/overlays/*.dtbo; do \ - $(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \ - done + $(foreach ovldtb,$(wildcard $(@D)/boot/overlays/*.dtbo), \ + $(INSTALL) -D -m 0644 $(ovldtb) $(BINARIES_DIR)/rpi-firmware/overlays/$(notdir $(ovldtb)) + ) + $(INSTALL) -D -m 0644 $(@D)/boot/overlays/overlay_map.dtb $(BINARIES_DIR)/rpi-firmware/overlays/ endef else # Still create the directory, so a genimage.cfg can include it independently of @@ -32,28 +58,30 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS endef endif +# Install prebuilt libraries if RPI_USERLAND not enabled +ifneq ($(BR2_PACKAGE_RPI_USERLAND),y) +define RPI_FIRMWARE_INSTALL_TARGET_LIB + $(INSTALL) -D -m 0644 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/lib/libvcos.so \ + $(TARGET_DIR)/usr/lib/libvcos.so + $(INSTALL) -D -m 0644 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/lib/libdebug_sym.so \ + $(TARGET_DIR)/usr/lib/libdebug_sym.so +endef +endif + ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y) define RPI_FIRMWARE_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0700 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/bin/vcdbg \ $(TARGET_DIR)/usr/sbin/vcdbg $(INSTALL) -D -m 0644 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/lib/libelftoolchain.so \ $(TARGET_DIR)/usr/lib/libelftoolchain.so + $(RPI_FIRMWARE_INSTALL_TARGET_LIB) endef endif # INSTALL_VCDBG -ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI),y) -# bootcode.bin is not used on rpi4, because it has been replaced by boot code in the onboard EEPROM -define RPI_FIRMWARE_INSTALL_BOOTCODE_BIN - $(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin -endef -endif - define RPI_FIRMWARE_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt $(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt - $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf - $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat - $(RPI_FIRMWARE_INSTALL_BOOTCODE_BIN) + $(RPI_FIRMWARE_INSTALL_BIN) + $(RPI_FIRMWARE_INSTALL_CONFIG) $(RPI_FIRMWARE_INSTALL_DTB) $(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS) endef diff --git a/package/rpi-rgb-led-matrix/Config.in b/package/rpi-rgb-led-matrix/Config.in new file mode 100644 index 00000000000..ca945a92af5 --- /dev/null +++ b/package/rpi-rgb-led-matrix/Config.in @@ -0,0 +1,43 @@ +config BR2_PACKAGE_RPI_RGB_LED_MATRIX + bool "rpi-rgb-led-matrix" + depends on BR2_aarch64 || BR2_arm + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + help + A library to control commonly available 64x64, 32x32 or 16x32 + RGB LED panels with the Raspberry Pi. Can support PWM up to + 11Bit per channel, providing true 24bpp color with CIE1931 + profile. + + https://github.com/hzeller/rpi-rgb-led-matrix + +if BR2_PACKAGE_RPI_RGB_LED_MATRIX + +config BR2_PACKAGE_RPI_RGB_LED_MATRIX_IMAGE_VIEWER + bool "Build led-image-viewer" + select BR2_PACKAGE_GRAPHICSMAGICK + help + The image viewer reads all kinds of image formats, + including animated gifs. + +config BR2_PACKAGE_RPI_RGB_LED_MATRIX_TEXT_SCROLLER + bool "Build text-scroller" + help + The text scroller allows to show some scrolling text. + +config BR2_PACKAGE_RPI_RGB_LED_MATRIX_VIDEO_VIEWER + bool "Build video-viewer" + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_SWSCALE + help + The video viewer allows to play common video formats + on the RGB matrix (just the picture, no sound). + +endif + +comment "rpi-rgb-led-matrix needs a toolchain w/ C++, threads, dynamic library" + depends on BR2_aarch64 || BR2_arm + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash new file mode 100644 index 00000000000..265e4c42495 --- /dev/null +++ b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 490ca6fa0c81451f2472b4aa85796a876790f2e212bf0882e3bb7caf5c47e2c3 rpi-rgb-led-matrix-a56338db0f003d5236f2ce98c73a591d64a70852.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk new file mode 100644 index 00000000000..499fb408c2a --- /dev/null +++ b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk @@ -0,0 +1,82 @@ +################################################################################ +# +# rpi-rgb-led-matrix +# +################################################################################ + +RPI_RGB_LED_MATRIX_VERSION = a56338db0f003d5236f2ce98c73a591d64a70852 +RPI_RGB_LED_MATRIX_SITE = $(call github,hzeller,rpi-rgb-led-matrix,$(RPI_RGB_LED_MATRIX_VERSION)) +RPI_RGB_LED_MATRIX_LICENSE = GPL-2.0 +RPI_RGB_LED_MATRIX_LICENSE_FILES = COPYING +RPI_RGB_LED_MATRIX_INSTALL_STAGING = YES + +RPI_RGB_LED_MATRIX_MAKE_OPTS = \ + $(TARGET_CONFIGURE_OPTS) \ + CXXFLAGS="$(TARGET_CXXFLAGS) -fPIC -std=c++11" + +define RPI_RGB_LED_MATRIX_BUILD_CMDS + $(MAKE) $(RPI_RGB_LED_MATRIX_MAKE_OPTS) -C $(@D)/lib all +endef + +define RPI_RGB_LED_MATRIX_INSTALL_STAGING_CMDS + $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include/rpi-rgb-led-matrix/ + $(INSTALL) -m 0644 $(@D)/include/*.h $(STAGING_DIR)/usr/include/rpi-rgb-led-matrix/ + $(INSTALL) -D -m 0644 $(@D)/lib/librgbmatrix.a $(STAGING_DIR)/usr/lib/librgbmatrix.a + $(INSTALL) -D -m 0755 $(@D)/lib/librgbmatrix.so.1 $(STAGING_DIR)/usr/lib/librgbmatrix.so.1 + ln -sf librgbmatrix.so.1 $(STAGING_DIR)/usr/lib/librgbmatrix.so +endef + +define RPI_RGB_LED_MATRIX_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/lib/librgbmatrix.so.1 $(TARGET_DIR)/usr/lib/librgbmatrix.so.1 + ln -sf librgbmatrix.so.1 $(TARGET_DIR)/usr/lib/librgbmatrix.so +endef + +ifeq ($(BR2_PACKAGE_RPI_RGB_LED_MATRIX_IMAGE_VIEWER),y) +RPI_RGB_LED_MATRIX_DEPENDENCIES += graphicsmagick + +define RPI_RGB_LED_MATRIX_BUILD_IMAGE_VIEWER_CMDS + $(MAKE) $(RPI_RGB_LED_MATRIX_MAKE_OPTS) \ + MAGICK_CXXFLAGS="-I$(STAGING_DIR)/usr/include/GraphicsMagick $(shell $(STAGING_DIR)/usr/bin/GraphicsMagick++-config --cxxflags)" \ + MAGICK_LDFLAGS="-L$(STAGING_DIR)/usr/lib $(shell $(STAGING_DIR)/usr/bin/GraphicsMagick++-config --libs)" \ + -C $(@D)/utils led-image-viewer +endef +RPI_RGB_LED_MATRIX_POST_BUILD_HOOKS += RPI_RGB_LED_MATRIX_BUILD_IMAGE_VIEWER_CMDS + +define RPI_RGB_LED_MATRIX_INSTALL_IMAGE_VIEWER_CMDS + $(INSTALL) -D -m 0755 $(@D)/utils/led-image-viewer $(TARGET_DIR)/usr/bin/led-image-viewer +endef +RPI_RGB_LED_MATRIX_POST_INSTALL_TARGET_HOOKS += RPI_RGB_LED_MATRIX_INSTALL_IMAGE_VIEWER_CMDS +endif + +ifeq ($(BR2_PACKAGE_RPI_RGB_LED_MATRIX_TEXT_SCROLLER),y) +define RPI_RGB_LED_MATRIX_BUILD_TEXT_SCROLLER_CMDS + $(MAKE) $(RPI_RGB_LED_MATRIX_MAKE_OPTS) -C $(@D)/utils text-scroller +endef +RPI_RGB_LED_MATRIX_POST_BUILD_HOOKS += RPI_RGB_LED_MATRIX_BUILD_TEXT_SCROLLER_CMDS + +define RPI_RGB_LED_MATRIX_INSTALL_TEXT_SCROLLER_CMDS + $(INSTALL) -D -m 0755 $(@D)/utils/text-scroller $(TARGET_DIR)/usr/bin/text-scroller + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/rpi-rgb-led-matrix/fonts/ + $(INSTALL) -m 0644 $(@D)/fonts/*.bdf $(TARGET_DIR)/usr/share/rpi-rgb-led-matrix/fonts/ +endef +RPI_RGB_LED_MATRIX_POST_INSTALL_TARGET_HOOKS += RPI_RGB_LED_MATRIX_INSTALL_TEXT_SCROLLER_CMDS +endif + +ifeq ($(BR2_PACKAGE_RPI_RGB_LED_MATRIX_VIDEO_VIEWER),y) +RPI_RGB_LED_MATRIX_DEPENDENCIES += ffmpeg + +define RPI_RGB_LED_MATRIX_BUILD_VIDEO_VIEWER_CMDS + $(MAKE) $(RPI_RGB_LED_MATRIX_MAKE_OPTS) \ + AV_CXXFLAGS="$(shell $(HOST_DIR)/bin/pkg-config --cflags libavcodec libavformat libswscale libavutil)" \ + AV_LDFLAGS="$(shell $(HOST_DIR)/bin/pkg-config --libs libavcodec libavformat libswscale libavutil)" \ + -C $(@D)/utils video-viewer +endef +RPI_RGB_LED_MATRIX_POST_BUILD_HOOKS += RPI_RGB_LED_MATRIX_BUILD_VIDEO_VIEWER_CMDS + +define RPI_RGB_LED_MATRIX_INSTALL_VIDEO_VIEWER_CMDS + $(INSTALL) -D -m 0755 $(@D)/utils/video-viewer $(TARGET_DIR)/usr/bin/video-viewer +endef +RPI_RGB_LED_MATRIX_POST_INSTALL_TARGET_HOOKS += RPI_RGB_LED_MATRIX_INSTALL_VIDEO_VIEWER_CMDS +endif + +$(eval $(generic-package)) diff --git a/package/rpi-userland/0006-don-t-override-CMAKE_EXE_LINKER_FLAGS.patch b/package/rpi-userland/0006-don-t-override-CMAKE_EXE_LINKER_FLAGS.patch new file mode 100644 index 00000000000..bf2a9eb6ea0 --- /dev/null +++ b/package/rpi-userland/0006-don-t-override-CMAKE_EXE_LINKER_FLAGS.patch @@ -0,0 +1,58 @@ +From 87febf8b7b1c0a6d0ea1d26770d3665008d66fd2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 25 Feb 2022 19:21:06 +0100 +Subject: [PATCH] don't override CMAKE_EXE_LINKER_FLAGS + +Don't override CMAKE_EXE_LINKER_FLAGS as it could be used by the user to +pass additional flags such as -lexecinfo on musl and uclibc-ng + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/raspberrypi/userland/pull/719] +--- + host_applications/android/apps/vidtex/CMakeLists.txt | 2 +- + host_applications/linux/apps/raspicam/CMakeLists.txt | 2 +- + makefiles/cmake/arm-linux.cmake | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/host_applications/android/apps/vidtex/CMakeLists.txt b/host_applications/android/apps/vidtex/CMakeLists.txt +index e7206cc..16c64db 100644 +--- a/host_applications/android/apps/vidtex/CMakeLists.txt ++++ b/host_applications/android/apps/vidtex/CMakeLists.txt +@@ -5,7 +5,7 @@ SET(COMPILE_DEFINITIONS -Werror -Wall) + # Set --no-as-needed to stop the linker discarding mmal_vc_client + # as it can't see that the constructor registers a load of functionality + # with the MMAL core. +-SET( CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed" ) ++SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-as-needed" ) + + include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/libs/bcm_host/include) + +diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt +index e6bd373..2f72eb2 100644 +--- a/host_applications/linux/apps/raspicam/CMakeLists.txt ++++ b/host_applications/linux/apps/raspicam/CMakeLists.txt +@@ -6,7 +6,7 @@ SET(COMPILE_DEFINITIONS -Werror) + # Set --no-as-needed to stop the linker discarding mmal_vc_client + # as it can't see that the constructor registers a load of functionality + # with the MMAL core. +-SET( CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed" ) ++SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-as-needed" ) + + include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/libs/bcm_host/include) + include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/apps/raspicam/) +diff --git a/makefiles/cmake/arm-linux.cmake b/makefiles/cmake/arm-linux.cmake +index 957846a..e172282 100644 +--- a/makefiles/cmake/arm-linux.cmake ++++ b/makefiles/cmake/arm-linux.cmake +@@ -93,7 +93,7 @@ if(ANDROID) + set(CMAKE_SHARED_LINKER_FLAGS "-nostdlib ${ANDROID_CRTBEGIN} -Wl,-Bdynamic -Wl,-T${ANDROID_LDSCRIPTS}/armelf.x") + + link_directories(${ANDROID_LIBS}) +- set(CMAKE_EXE_LINKER_FLAGS "-nostdlib ${ANDROID_CRTBEGIN} -nostdlib -Wl,-z,noexecstack") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -nostdlib ${ANDROID_CRTBEGIN} -nostdlib -Wl,-z,noexecstack") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-dynamic-linker,/system/bin/linker -Wl,-rpath,${CMAKE_INSTALL_PREFIX}/lib") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-T${ANDROID_LDSCRIPTS}/armelf.x -Wl,--gc-sections") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,nocopyreloc -Wl,-z,noexecstack -Wl,--fix-cortex-a8 -Wl,--no-undefined") +-- +2.34.1 + diff --git a/package/rpi-userland/rpi-userland.hash b/package/rpi-userland/rpi-userland.hash index 63b1bb0f411..b837cfe7097 100644 --- a/package/rpi-userland/rpi-userland.hash +++ b/package/rpi-userland/rpi-userland.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b23fc0849d282a8ba27b821cb8f63fa2ebc2ae8aa3cba0664ce3809ea814507b rpi-userland-093b30bbc2fd083d68cc3ee07e6e555c6e592d11.tar.gz +sha256 bb682f3c20bc5c7877531d5666c8dcc674a2f347aa792cf979dc0b07b6261e77 rpi-userland-14b90ff9d9f031391a299e6e006965d02bfd1bb1.tar.gz sha256 bee6f1249175683d8610651706e1aa7dffcbfd3f9c4c05bc1e5ab34f313c2db5 LICENCE diff --git a/package/rpi-userland/rpi-userland.mk b/package/rpi-userland/rpi-userland.mk index 0118da56529..3564ec07030 100644 --- a/package/rpi-userland/rpi-userland.mk +++ b/package/rpi-userland/rpi-userland.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_USERLAND_VERSION = 093b30bbc2fd083d68cc3ee07e6e555c6e592d11 +RPI_USERLAND_VERSION = 14b90ff9d9f031391a299e6e006965d02bfd1bb1 RPI_USERLAND_SITE = $(call github,raspberrypi,userland,$(RPI_USERLAND_VERSION)) RPI_USERLAND_LICENSE = BSD-3-Clause RPI_USERLAND_LICENSE_FILES = LICENCE @@ -13,6 +13,11 @@ RPI_USERLAND_CONF_OPTS = -DVMCS_INSTALL_PREFIX=/usr RPI_USERLAND_PROVIDES = libegl libgles libopenmax libopenvg +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +RPI_USERLAND_DEPENDENCIES += libexecinfo +RPI_USERLAND_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-lexecinfo +endif + ifeq ($(BR2_PACKAGE_RPI_USERLAND_HELLO),y) RPI_USERLAND_CONF_OPTS += -DALL_APPS=ON diff --git a/package/rpi-wifi-firmware/Config.in b/package/rpi-wifi-firmware/Config.in deleted file mode 100644 index 7e81b286c0c..00000000000 --- a/package/rpi-wifi-firmware/Config.in +++ /dev/null @@ -1,13 +0,0 @@ -config BR2_PACKAGE_RPI_WIFI_FIRMWARE - bool "rpi-wifi-firmware" - depends on BR2_arm || BR2_aarch64 - depends on !BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX - help - Raspberry Pi 3 and Zero W Broadcom BCM43430 wifi module - NVRAM data. Raspberry Pi 3 Model B+ Broadcom BCM43455 - wifi module NVRAM data. - - https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi - -comment "rpi-wifi-firmware conflicts with linux-firmware Broadcom BRCM bcm43xx" - depends on BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash deleted file mode 100644 index 71e323e8064..00000000000 --- a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 cf806f6bdba0f803b90bc210f524a6ac37bac7ad19306c61474bb2dc59875e87 rpi-wifi-firmware-9c0ffe9a7f0753b36ed88f7981905a989d940ea9.tar.gz -sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk deleted file mode 100644 index 24ba5941b05..00000000000 --- a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# -# rpi-wifi-firmware -# -################################################################################ - -RPI_WIFI_FIRMWARE_VERSION = 9c0ffe9a7f0753b36ed88f7981905a989d940ea9 -RPI_WIFI_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_WIFI_FIRMWARE_VERSION)) -RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY -RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx - -define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm - $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm -endef - -$(eval $(generic-package)) diff --git a/package/rpm/0001-lib-rpmdb-c-include-fcntl-h-for-O_.patch b/package/rpm/0001-lib-rpmdb-c-include-fcntl-h-for-O_.patch deleted file mode 100644 index 1c0aa51bac6..00000000000 --- a/package/rpm/0001-lib-rpmdb-c-include-fcntl-h-for-O_.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9395bdc64459357631111842e7a28304b4d76301 Mon Sep 17 00:00:00 2001 -From: Leo -Date: Wed, 30 Sep 2020 08:36:03 -0300 -Subject: [PATCH] lib/rpmdb.c: include fcntl.h for O_* - -Fixes compilation on musl, otherwise it fails with undefined references -to various O_* symbols as mentioned here: - -https://www.man7.org/linux/man-pages/man0/fcntl.h.0p.html - -[Retrieved from: -https://github.com/rpm-software-management/rpm/commit/9395bdc64459357631111842e7a28304b4d76301] -Signed-off-by: Fabrice Fontaine ---- - lib/rpmdb.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/rpmdb.c b/lib/rpmdb.c -index 4c101569f..73187630b 100644 ---- a/lib/rpmdb.c -+++ b/lib/rpmdb.c -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - - #ifndef DYING /* XXX already in "system.h" */ - #include diff --git a/package/rpm/0002-lib-rpmrc.c-include-fcntl.h-for-O_.patch b/package/rpm/0002-lib-rpmrc.c-include-fcntl.h-for-O_.patch deleted file mode 100644 index c5db7f0a698..00000000000 --- a/package/rpm/0002-lib-rpmrc.c-include-fcntl.h-for-O_.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8d446d33a705cb37420e1fda18379d7439ee841f Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 25 Oct 2020 15:04:56 +0100 -Subject: [PATCH 2/2] lib/rpmrc.c: include fcntl.h for O_* - -Fixes compilation on musl, otherwise it fails with undefined references -to various O_* symbols as mentioned here: - -https://www.man7.org/linux/man-pages/man0/fcntl.h.0p.html - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://github.com/rpm-software-management/rpm/pull/1413] ---- - lib/rpmrc.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/rpmrc.c b/lib/rpmrc.c -index 78c4a6d42..8bfe7a0ab 100644 ---- a/lib/rpmrc.c -+++ b/lib/rpmrc.c -@@ -1,5 +1,6 @@ - #include "system.h" - -+#include - #include - #include - --- -2.28.0 - diff --git a/package/rpm/0003-Check-for-OpenMP-version-at-configure-time.patch b/package/rpm/0003-Check-for-OpenMP-version-at-configure-time.patch deleted file mode 100644 index 2292702e53a..00000000000 --- a/package/rpm/0003-Check-for-OpenMP-version-at-configure-time.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 6a780f10c2b600cfc38f8b8f20cb7e40b979f541 Mon Sep 17 00:00:00 2001 -From: Michal Domonkos -Date: Tue, 4 Aug 2020 16:50:21 +0200 -Subject: [PATCH] Check for OpenMP version at configure time - -Only accept OpenMP >= 4.5, due to the "priority" clause that we use -since commit 6f6f5e7, and also document that in the INSTALL file. - -If explicitly required with --enable-openmp, fail configuration if the -version is not available. - -https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf - -Resolves: #1315 -[Retrieved from: -https://github.com/rpm-software-management/rpm/commit/6a780f10c2b600cfc38f8b8f20cb7e40b979f541] -Signed-off-by: Fabrice Fontaine ---- - INSTALL | 6 ++++++ - configure.ac | 25 +++++++++++++++++++++++-- - 2 files changed, 29 insertions(+), 2 deletions(-) - -diff --git a/INSTALL b/INSTALL -index cfbe54a3e..7622b2efe 100644 ---- a/INSTALL -+++ b/INSTALL -@@ -142,6 +142,12 @@ If you plan on using cryptographic signatures you will need a version - of GPG, available from - http://www.gnupg.org/ - -+OpenMP multithreading support is automatically enabled if your C compiler has -+support for OpenMP version 4.5 or higher (to disable, pass the --disable-openmp -+option to configure). For GCC, OpenMP 4.5 is fully supported since GCC 6.1, -+which is available from -+ http://www.gnu.org/ -+ - To compile RPM: - -------------- - -diff --git a/configure.ac b/configure.ac -index 1346ee704..35003619d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -167,11 +167,32 @@ AC_SUBST(WITH_LZMA_LIB) - - # AC_OPENMP supports --enable/disable-openmp out of the box, but it doesn't - # actually give us a way to conditionalize the build based on that. Argh. -+# Version 4.5 (201511) introduced "priority" clause for tasks. - OPENMP_CFLAGS= - AC_OPENMP - AS_IF([test "x$ac_cv_prog_c_openmp" != x && -- test "x$ac_cv_prog_c_openmp" != unsupported],[ -- AC_DEFINE(ENABLE_OPENMP, 1, [Enable multithreading support?]) -+ test "x$ac_cv_prog_c_openmp" != xunsupported],[ -+ old_CFLAGS=$CFLAGS -+ CFLAGS="$CFLAGS $OPENMP_CFLAGS" -+ AC_MSG_CHECKING([OpenMP is at least version 4.5]) -+ AC_RUN_IFELSE( -+ [AC_LANG_PROGRAM( -+ [#include ], -+ [#if _OPENMP < 201511 -+ exit(1); -+ #endif -+ ] -+ )], -+ [AC_MSG_RESULT([yes]) -+ AC_DEFINE(ENABLE_OPENMP, 1, [Enable multithreading support?]) -+ ], -+ [AC_MSG_RESULT([no]) -+ if test "$enable_openmp" = "yes"; then -+ AC_MSG_ERROR([OpenMP too old]) -+ fi -+ ] -+ ) -+ CFLAGS=$old_CFLAGS - ]) - AC_SUBST(OPENMP_CFLAGS) - diff --git a/package/rpm/0004-configure-ac-fix-cross-compilation.patch b/package/rpm/0004-configure-ac-fix-cross-compilation.patch deleted file mode 100644 index 6a958b3aaf5..00000000000 --- a/package/rpm/0004-configure-ac-fix-cross-compilation.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 13585fbbe83eb177b13d86c2d6f11ff41a68d07e Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 10 Nov 2020 18:20:24 +0100 -Subject: [PATCH] configure.ac: fix cross-compilation - -Use AC_COMPILE_IFELSE as AC_RUN_IFELSE raises a build failure when -cross-compiling - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/rpm-software-management/rpm/commit/13585fbbe83eb177b13d86c2d6f11ff41a68d07e] ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 38d3c286a..a83016449 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -175,11 +175,11 @@ AS_IF([test "x$ac_cv_prog_c_openmp" != x && - old_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $OPENMP_CFLAGS" - AC_MSG_CHECKING([OpenMP is at least version 4.5]) -- AC_RUN_IFELSE( -+ AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [#include ], - [#if _OPENMP < 201511 -- exit(1); -+ #error - #endif - ] - )], diff --git a/package/rpm/0005-Really-disable-OpenMP-if-too-old.patch b/package/rpm/0005-Really-disable-OpenMP-if-too-old.patch deleted file mode 100644 index 2628ccc5385..00000000000 --- a/package/rpm/0005-Really-disable-OpenMP-if-too-old.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 662a367f427d653c6b8fbc7fbd1ace5ba120a25f Mon Sep 17 00:00:00 2001 -From: Michal Domonkos -Date: Thu, 3 Dec 2020 15:11:57 +0100 -Subject: [PATCH] Really disable OpenMP if too old - -Fix up for commit 6a780f1. - -[Retrieved from: -https://github.com/rpm-software-management/rpm/pull/1455] -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index c853cd9af..beb65ff8a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -187,6 +187,7 @@ AS_IF([test "x$ac_cv_prog_c_openmp" != x && - AC_DEFINE(ENABLE_OPENMP, 1, [Enable multithreading support?]) - ], - [AC_MSG_RESULT([no]) -+ OPENMP_CFLAGS= - if test "$enable_openmp" = "yes"; then - AC_MSG_ERROR([OpenMP too old]) - fi diff --git a/package/rpm/Config.in b/package/rpm/Config.in index ac979fdbad1..8730e152002 100644 --- a/package/rpm/Config.in +++ b/package/rpm/Config.in @@ -1,5 +1,6 @@ -comment "rpm needs a toolchain w/ dynamic library and threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "rpm needs a toolchain w/ dynamic library, threads and lua >= 5.3" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ + || !BR2_PACKAGE_LUA || BR2_PACKAGE_LUA_5_1 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS depends on BR2_USE_MMU @@ -7,9 +8,10 @@ config BR2_PACKAGE_RPM bool "rpm" depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + depends on BR2_PACKAGE_LUA && !BR2_PACKAGE_LUA_5_1 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBGCRYPT && !BR2_PACKAGE_LIBNSS && !BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_FILE select BR2_PACKAGE_POPT select BR2_PACKAGE_ZLIB @@ -17,3 +19,18 @@ config BR2_PACKAGE_RPM The RPM Package Manager (RPM). http://www.rpm.org/ + +if BR2_PACKAGE_RPM + +comment "rpm2archive support needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR + +config BR2_PACKAGE_RPM_RPM2ARCHIVE + bool "rpm2archive command" + default y + depends on BR2_USE_WCHAR + select BR2_PACKAGE_LIBARCHIVE + help + Enable rpm2archive + +endif diff --git a/package/rpm/rpm.hash b/package/rpm/rpm.hash index 7b2bd56d0a5..19b6dd91763 100644 --- a/package/rpm/rpm.hash +++ b/package/rpm/rpm.hash @@ -1,5 +1,5 @@ -# From https://rpm.org/wiki/Releases/4.16.0.html -sha256 ca5974e9da2939afb422598818ef187385061889ba766166c4a3829c5ef8d411 rpm-4.16.0.tar.bz2 +# From https://rpm.org/wiki/Releases/4.17.0.html +sha256 2e0d220b24749b17810ed181ac1ed005a56bbb6bc8ac429c21f314068dc65e6a rpm-4.17.0.tar.bz2 # Hash for license file sha256 171d94d9f1641316bff7f157a903237dc69cdb5fca405fed8c832c76ed8370f9 COPYING diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk index 350a38264b4..5c04d47f102 100644 --- a/package/rpm/rpm.mk +++ b/package/rpm/rpm.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPM_VERSION_MAJOR = 4.16 +RPM_VERSION_MAJOR = 4.17 RPM_VERSION = $(RPM_VERSION_MAJOR).0 RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2 RPM_SITE = http://ftp.rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x @@ -13,6 +13,7 @@ RPM_DEPENDENCIES = \ $(if $(BR2_PACKAGE_BZIP2),bzip2) \ $(if $(BR2_PACKAGE_ELFUTILS),elfutils) \ file \ + lua \ popt \ $(if $(BR2_PACKAGE_XZ),xz) \ zlib \ @@ -20,8 +21,7 @@ RPM_DEPENDENCIES = \ RPM_LICENSE = GPL-2.0 or LGPL-2.0 (library only) RPM_LICENSE_FILES = COPYING RPM_CPE_ID_VENDOR = rpm -# We're patching configure.ac -RPM_AUTORECONF = YES +RPM_SELINUX_MODULES = rpm # Don't set --{dis,en}-openmp as upstream wants to abort the build if # --enable-openmp is provided and OpenMP is < 4.5: @@ -29,10 +29,7 @@ RPM_AUTORECONF = YES RPM_CONF_OPTS = \ --disable-python \ --disable-rpath \ - --with-external-db \ - --with-gnu-ld \ - --without-hackingdocs \ - --without-lua + --with-gnu-ld ifeq ($(BR2_PACKAGE_ACL),y) RPM_DEPENDENCIES += acl @@ -41,11 +38,11 @@ else RPM_CONF_OPTS += --without-acl endif -ifeq ($(BR2_PACKAGE_BERKELEYDB),y) -RPM_DEPENDENCIES += berkeleydb -RPM_CONF_OPTS += --enable-bdb +ifeq ($(BR2_PACKAGE_AUDIT),y) +RPM_DEPENDENCIES += audit +RPM_CONF_OPTS += --with-audit else -RPM_CONF_OPTS += --disable-bdb +RPM_CONF_OPTS += --without-audit endif ifeq ($(BR2_PACKAGE_DBUS),y) @@ -65,14 +62,6 @@ endif ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) RPM_DEPENDENCIES += libgcrypt RPM_CONF_OPTS += --with-crypto=libgcrypt -else ifeq ($(BR2_PACKAGE_LIBNSS),y) -RPM_DEPENDENCIES += libnss -RPM_CONF_OPTS += --with-crypto=nss -RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr -else ifeq ($(BR2_PACKAGE_BEECRYPT),y) -RPM_DEPENDENCIES += beecrypt -RPM_CONF_OPTS += --with-crypto=beecrypt -RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/beecrypt else RPM_DEPENDENCIES += openssl RPM_CONF_OPTS += --with-crypto=openssl @@ -84,13 +73,6 @@ else RPM_CONF_OPTS += --without-libintl-prefix endif -ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) -RPM_DEPENDENCIES += libarchive -RPM_CONF_OPTS += --with-archive -else -RPM_CONF_OPTS += --without-archive -endif - ifeq ($(BR2_PACKAGE_LIBSELINUX),y) RPM_DEPENDENCIES += libselinux RPM_CONF_OPTS += --with-selinux @@ -112,6 +94,13 @@ else RPM_CONF_OPTS += --disable-zstd endif +ifeq ($(BR2_PACKAGE_RPM_RPM2ARCHIVE),y) +RPM_DEPENDENCIES += libarchive +RPM_CONF_OPTS += --with-archive +else +RPM_CONF_OPTS += --without-archive +endif + # ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`). RPM_CONF_ENV = \ ac_cv_prog_cc_c99='-std=gnu99' \ diff --git a/package/rrdtool/Config.in b/package/rrdtool/Config.in index 54513531403..5ffdc926185 100644 --- a/package/rrdtool/Config.in +++ b/package/rrdtool/Config.in @@ -16,7 +16,7 @@ config BR2_PACKAGE_RRDTOOL_RRDGRAPH bool "rrd_graph" default y depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz depends on BR2_INSTALL_LIBSTDCPP # freetype support from pango select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PDF @@ -28,9 +28,9 @@ config BR2_PACKAGE_RRDTOOL_RRDGRAPH This enables the graphing capabilities ('rrdgraph'). Without this it will only act as a database backend. -comment "rrd_graph support needs a toolchain w/ C++, gcc >= 4.8" +comment "rrd_graph support needs a toolchain w/ C++, gcc >= 4.9" depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HAS_SYNC_4 endif diff --git a/package/rsh-redone/rsh-redone.mk b/package/rsh-redone/rsh-redone.mk index f63da648ce7..5ac12811b93 100644 --- a/package/rsh-redone/rsh-redone.mk +++ b/package/rsh-redone/rsh-redone.mk @@ -21,7 +21,7 @@ RSH_REDONE_MAKE_FLAGS = \ BIN="$(RSH_REDONE_BINS-y)" SBIN="$(RSH_REDONE_SBINS-y)" ifneq ($(BR2_PACKAGE_RSH_REDONE_RSHD)$(BR2_PACKAGE_RSH_REDONE_RLOGIND),) -RSH_REDONE_DEPENDENCIES = linux-pam +RSH_REDONE_DEPENDENCIES += linux-pam endif define RSH_REDONE_BUILD_CMDS diff --git a/package/rsync/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch b/package/rsync/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch new file mode 100644 index 00000000000..13edeff9448 --- /dev/null +++ b/package/rsync/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch @@ -0,0 +1,29 @@ +From c3f7414c450faaf6a8281cc4a4403529aeb7d859 Mon Sep 17 00:00:00 2001 +From: Matt McCutchen +Date: Wed, 26 Aug 2020 12:16:08 -0400 +Subject: [PATCH] rsync-ssl: Verify the hostname in the certificate when using + openssl. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://git.samba.org/?p=rsync.git;a=commitdiff;h=c3f7414c450faaf6a8281cc4a4403529aeb7d859] +--- + rsync-ssl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rsync-ssl b/rsync-ssl +index 8101975a..46701af1 100755 +--- a/rsync-ssl ++++ b/rsync-ssl +@@ -129,7 +129,7 @@ function rsync_ssl_helper { + fi + + if [[ $RSYNC_SSL_TYPE == openssl ]]; then +- exec $RSYNC_SSL_OPENSSL s_client $caopt $certopt -quiet -verify_quiet -servername $hostname -connect $hostname:$port ++ exec $RSYNC_SSL_OPENSSL s_client $caopt $certopt -quiet -verify_quiet -servername $hostname -verify_hostname $hostname -connect $hostname:$port + elif [[ $RSYNC_SSL_TYPE == gnutls ]]; then + exec $RSYNC_SSL_GNUTLS --logfile=/dev/null $gnutls_cert_opt $gnutls_opts $hostname:$port + else +-- +2.25.1 + diff --git a/package/rsync/0002-Handle-linking-with-a-zlib-with-external-read_buf.patch b/package/rsync/0002-Handle-linking-with-a-zlib-with-external-read_buf.patch new file mode 100644 index 00000000000..0af090732cf --- /dev/null +++ b/package/rsync/0002-Handle-linking-with-a-zlib-with-external-read_buf.patch @@ -0,0 +1,27 @@ +From 60dd42be603a79cd57cec076fe1680e9037be774 Mon Sep 17 00:00:00 2001 +From: Wayne Davison +Date: Mon, 11 Apr 2022 08:29:54 -0700 +Subject: [PATCH] Handle linking with a zlib with external read_buf. + +[Retrieved from: +https://github.com/WayneD/rsync/commit/60dd42be603a79cd57cec076fe1680e9037be774] +Signed-off-by: Fabrice Fontaine +--- + rsync.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/rsync.h b/rsync.h +index 4b30570b..e5aacd25 100644 +--- a/rsync.h ++++ b/rsync.h +@@ -1172,6 +1172,10 @@ struct name_num_obj { + struct name_num_item list[10]; /* we'll get a compile error/warning if this is ever too small */ + }; + ++#ifdef EXTERNAL_ZLIB ++#define read_buf read_buf_ ++#endif ++ + #ifndef __cplusplus + #include "proto.h" + #endif diff --git a/package/rsync/rsync.hash b/package/rsync/rsync.hash index 2da62a18f1b..92f6156ba84 100644 --- a/package/rsync/rsync.hash +++ b/package/rsync/rsync.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz.asc -sha256 55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0 rsync-3.1.3.tar.gz +# https://download.samba.org/pub/rsync/src/rsync-3.2.3.tar.gz.asc +sha256 becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e rsync-3.2.3.tar.gz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 0d33aa97d302cb9df27f99dfa28d58001c2479a02317956f1a7a890f3937a976 COPYING diff --git a/package/rsync/rsync.mk b/package/rsync/rsync.mk index db26ebd93a9..5b51ca1df79 100644 --- a/package/rsync/rsync.mk +++ b/package/rsync/rsync.mk @@ -4,15 +4,25 @@ # ################################################################################ -RSYNC_VERSION = 3.1.3 +RSYNC_VERSION = 3.2.3 RSYNC_SITE = http://rsync.samba.org/ftp/rsync/src -RSYNC_LICENSE = GPL-3.0+ +RSYNC_LICENSE = GPL-3.0+ with exceptions RSYNC_LICENSE_FILES = COPYING RSYNC_CPE_ID_VENDOR = samba +RSYNC_SELINUX_MODULES = rsync RSYNC_DEPENDENCIES = zlib popt RSYNC_CONF_OPTS = \ --with-included-zlib=no \ - --with-included-popt=no + --with-included-popt=no \ + --disable-simd \ + --disable-openssl \ + --disable-xxhash \ + --disable-zstd \ + --disable-lz4 \ + --disable-asm + +# 0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch +RSYNC_IGNORE_CVES += CVE-2020-14387 ifeq ($(BR2_PACKAGE_ACL),y) RSYNC_DEPENDENCIES += acl diff --git a/package/rsyslog/rsyslog.hash b/package/rsyslog/rsyslog.hash index f4040984396..4049590bb85 100644 --- a/package/rsyslog/rsyslog.hash +++ b/package/rsyslog/rsyslog.hash @@ -1,5 +1,5 @@ # From http://www.rsyslog.com/downloads/download-v8-stable/ -sha256 19b232f765c4ba7a35b91ef1f5f9af775f6ff78ef56bb7737a2ce79ccbb32b98 rsyslog-8.2010.0.tar.gz +sha256 a6d731e46ad3d64f6ad4b19bbf1bf56ca4760a44a24bb96823189dc2e71f7028 rsyslog-8.2204.1.tar.gz # Locally calculated sha256 054b3a047d9232376a46b87356b19b0c0c2924cb5e6911ab96a01fc4b515f083 COPYING diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index d20a13dbdd8..a0fb949a9a8 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -4,11 +4,15 @@ # ################################################################################ -RSYSLOG_VERSION = 8.2010.0 +RSYSLOG_VERSION = 8.2204.1 RSYSLOG_SITE = http://rsyslog.com/files/download/rsyslog RSYSLOG_LICENSE = GPL-3.0, LGPL-3.0, Apache-2.0 RSYSLOG_LICENSE_FILES = COPYING COPYING.LESSER COPYING.ASL20 RSYSLOG_CPE_ID_VENDOR = rsyslog +# rsyslog uses weak permissions for generating log files. +# Ignoring this CVE as Buildroot normally doesn't have local users and a build +# could customize the rsyslog.conf to be more restrictive ($FileCreateMode 0640) +RSYSLOG_IGNORE_CVES += CVE-2015-3243 RSYSLOG_DEPENDENCIES = zlib libestr liblogging libfastjson host-pkgconf RSYSLOG_CONF_ENV = ac_cv_prog_cc_c99='-std=c99' RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \ @@ -24,16 +28,36 @@ endif RSYSLOG_CONF_OPTS = --disable-generate-man-pages \ $(foreach x,$(call qstrip,$(RSYSLOG_PLUGINS)),--enable-$(x)) -# Disable items requiring libcurl -RSYSLOG_CONF_OPTS += --disable-elasticsearch \ +# Disable items requiring lognorm +RSYSLOG_CONF_OPTS += \ + --disable-mmkubernetes \ + --disable-mmnormalize + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +RSYSLOG_DEPENDENCIES += libcurl +RSYSLOG_CONF_OPTS += \ + --enable-clickhouse \ + --enable-elasticsearch \ + --enable-fmhttp \ + --enable-imdocker \ + --enable-omhttp \ + --enable-omhttpfs +else +RSYSLOG_CONF_OPTS += \ --disable-clickhouse \ - --disable-omhttp \ + --disable-elasticsearch \ --disable-fmhttp \ --disable-imdocker \ - --disable-imhttp \ - --disable-impcap \ - --disable-omhttpfs \ - --disable-mmkubernetes + --disable-omhttp \ + --disable-omhttpfs +endif + +ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y) +RSYSLOG_DEPENDENCIES += civetweb +RSYSLOG_CONF_OPTS += --enable-imhttp +else +RSYSLOG_CONF_OPTS += --disable-imhttp +endif ifeq ($(BR2_PACKAGE_GNUTLS),y) RSYSLOG_DEPENDENCIES += gnutls @@ -42,10 +66,6 @@ else RSYSLOG_CONF_OPTS += --disable-gnutls endif -ifeq ($(BR2_PACKAGE_LIBEE),y) -RSYSLOG_DEPENDENCIES += libee -endif - ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) RSYSLOG_DEPENDENCIES += libgcrypt RSYSLOG_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config @@ -54,6 +74,13 @@ else RSYSLOG_CONF_OPTS += --disable-libgcrypt endif +ifeq ($(BR2_PACKAGE_LIBPCAP),y) +RSYSLOG_DEPENDENCIES += libpcap +RSYSLOG_CONF_OPTS += --enable-impcap +else +RSYSLOG_CONF_OPTS += --disable-impcap +endif + ifeq ($(BR2_PACKAGE_MYSQL),y) RSYSLOG_DEPENDENCIES += mysql RSYSLOG_CONF_OPTS += --enable-mysql @@ -89,6 +116,11 @@ RSYSLOG_CONF_OPTS += \ --disable-omjournal endif +define RSYSLOG_INSTALL_INIT_SYSTEMD + $(INSTALL) -m 0755 -D package/rsyslog/rsyslog.service \ + $(TARGET_DIR)/usr/lib/systemd/system/rsyslog.service +endef + define RSYSLOG_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/rsyslog/S01rsyslogd \ $(TARGET_DIR)/etc/init.d/S01rsyslogd diff --git a/package/rsyslog/rsyslog.service b/package/rsyslog/rsyslog.service new file mode 100644 index 00000000000..40c7c2202dd --- /dev/null +++ b/package/rsyslog/rsyslog.service @@ -0,0 +1,19 @@ +[Unit] +Description=System Logging Service +Requires=syslog.socket +Documentation=man:rsyslogd(8) +Documentation=https://www.rsyslog.com/doc/ + +[Service] +Type=notify +ExecStart=/usr/sbin/rsyslogd -n -iNONE +StandardOutput=null +Restart=on-failure + +# Increase the default a bit in order to allow many simultaneous +# files to be monitored, we might need a lot of fds. +LimitNOFILE=16384 + +[Install] +WantedBy=multi-user.target +Alias=syslog.service diff --git a/package/rt-tests/0002-Makefile-drop-explicit-undefine-PYLIB-for-compatibil.patch b/package/rt-tests/0002-Makefile-drop-explicit-undefine-PYLIB-for-compatibil.patch new file mode 100644 index 00000000000..f71ba09a791 --- /dev/null +++ b/package/rt-tests/0002-Makefile-drop-explicit-undefine-PYLIB-for-compatibil.patch @@ -0,0 +1,48 @@ +From 84fea5d784e010f84c860b34e55ea2c855c17b3b Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Wed, 12 May 2021 09:18:33 +0200 +Subject: [PATCH] Makefile: drop explicit undefine PYLIB for compatibility with + make 3.81 + +GNU make 3.81 does not like the explicit tab-indented undefine: + +Makefile:41: *** commands commence before first target. Stop. + +Dropping the indentation also doesn't work: + +Makefile:41: *** missing separator. Stop. + +So simply drop the undefine logic. As explained in the GNU make manual, +undefine is not commonly needed as E.G. ifdef checks for a non-zero string: + +https://www.gnu.org/software/make/manual/html_node/Undefine-Directive.html +https://www.gnu.org/software/make/manual/html_node/Conditional-Syntax.html + +Fixes: +http://autobuild.buildroot.net/results/cf7c4f360f5464c700788cc8299fd086544c80e8/build-end.log + +Signed-off-by: Peter Korsgaard +[Upstream: https://marc.info/?l=linux-rt-users&m=162080462211139&w=2] +--- + Makefile | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/Makefile b/Makefile +index b17ac09..ec85ac8 100644 +--- a/Makefile ++++ b/Makefile +@@ -36,11 +36,6 @@ LDFLAGS ?= + + PYLIB ?= $(shell python3 -c 'import distutils.sysconfig; print (distutils.sysconfig.get_python_lib())') + +-# Check for errors, such as python3 not available +-ifeq (${PYLIB},) +- undefine PYLIB +-endif +- + MANPAGES = src/cyclictest/cyclictest.8 \ + src/pi_tests/pi_stress.8 \ + src/ptsematest/ptsematest.8 \ +-- +2.20.1 + diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in index cc9b14dccb3..ccfa040d701 100644 --- a/package/rt-tests/Config.in +++ b/package/rt-tests/Config.in @@ -1,11 +1,12 @@ config BR2_PACKAGE_RT_TESTS bool "rt-tests" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics + depends on BR2_TOOLCHAIN_HAS_ATOMIC # numactl depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # deadline scheduler syscall - depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 + depends on BR2_USE_MMU # fork(), numactl depends on !BR2_STATIC_LIBS # dlopen depends on !BR2_TOOLCHAIN_USES_MUSL # cyclictest - depends on BR2_PACKAGE_NUMACTL_ARCH_SUPPORTS select BR2_PACKAGE_NUMACTL help Set of utilities for testing the real-time behaviour of a @@ -30,8 +31,9 @@ comment "rt-tests may not work on MIPS with an external uClibc toolchain" depends on BR2_TOOLCHAIN_EXTERNAL_UCLIBC depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el -comment "rt-tests needs a uClibc or glibc toolchain w/ NPTL, headers >= 3.14, dynamic library" +comment "rt-tests needs a uClibc or glibc toolchain w/ NPTL, headers >= 4.5, dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ - || BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 + || BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 depends on BR2_USE_MMU - depends on BR2_PACKAGE_NUMACTL_ARCH_SUPPORTS diff --git a/package/rt-tests/rt-tests.hash b/package/rt-tests/rt-tests.hash index f56500c26e0..4f84e0d0cad 100644 --- a/package/rt-tests/rt-tests.hash +++ b/package/rt-tests/rt-tests.hash @@ -1,4 +1,4 @@ # From https://mirrors.edge.kernel.org/pub/linux/utils/rt-tests/sha256sums.asc -sha256 3740ad97b164a1cd77d9ee32bba23a4a0b2495a76468bcf40ff60b55c2a3a709 rt-tests-1.10.tar.xz +sha256 b5e7959bcb5c703b2743030751af975ea4e04962e29fc1118f4b605987585735 rt-tests-2.3.tar.xz # locally computed hash sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/rt-tests/rt-tests.mk b/package/rt-tests/rt-tests.mk index 0d959bda31a..056a4a6723f 100644 --- a/package/rt-tests/rt-tests.mk +++ b/package/rt-tests/rt-tests.mk @@ -6,7 +6,7 @@ RT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/rt-tests RT_TESTS_SOURCE = rt-tests-$(RT_TESTS_VERSION).tar.xz -RT_TESTS_VERSION = 1.10 +RT_TESTS_VERSION = 2.3 RT_TESTS_LICENSE = GPL-2.0+ RT_TESTS_LICENSE_FILES = COPYING diff --git a/package/rtc-tools/rtc-tools.mk b/package/rtc-tools/rtc-tools.mk index 2ef850a81f6..2882c88575d 100644 --- a/package/rtc-tools/rtc-tools.mk +++ b/package/rtc-tools/rtc-tools.mk @@ -5,7 +5,8 @@ ################################################################################ RTC_TOOLS_VERSION = 33ef4aa1c92b0c92a351284d93d1ac5570de9cc7 -RTC_TOOLS_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git +RTC_TOOLS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git +RTC_TOOLS_SITE_METHOD = git RTC_TOOLS_LICENSE = GPL-2.0 RTC_TOOLS_LICENSE_FILES = COPYING diff --git a/package/rtl8188eu/Config.in b/package/rtl8188eu/Config.in index 9263802e09a..76d90852976 100644 --- a/package/rtl8188eu/Config.in +++ b/package/rtl8188eu/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RTL8188EU bool "rtl8188eu" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help A standalone driver for the RTL8188EU USB Wi-Fi adapter. @@ -16,4 +17,5 @@ config BR2_PACKAGE_RTL8188EU https://github.com/lwfinger/rtl8188eu comment "rtl8188eu needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8188eu/rtl8188eu.mk b/package/rtl8188eu/rtl8188eu.mk index b2066080f31..8cc863e9586 100644 --- a/package/rtl8188eu/rtl8188eu.mk +++ b/package/rtl8188eu/rtl8188eu.mk @@ -10,6 +10,14 @@ RTL8188EU_LICENSE = GPL-2.0, proprietary (rtl8188eufw.bin firmware blob) RTL8188EU_LICENSE_FILES = COPYING RTL8188EU_MODULE_MAKE_OPTS = CONFIG_RTL8188EU=m +define RTL8188EU_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB_SUPPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB) +endef + define RTL8188EU_INSTALL_FIRMWARE $(INSTALL) -D -m 644 $(@D)/rtl8188eufw.bin \ $(TARGET_DIR)/lib/firmware/rtlwifi/rtl8188eufw.bin diff --git a/package/rtl8189es/Config.in b/package/rtl8189es/Config.in new file mode 100644 index 00000000000..2e3474e5e1d --- /dev/null +++ b/package/rtl8189es/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_RTL8189ES + bool "rtl8189es" + depends on BR2_LINUX_KERNEL + help + Wireless driver rtl8189es. + + https://github.com/jwrdegoede/rtl8189ES_linux.git + +comment "rtl8189es needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8189es/rtl8189es.hash b/package/rtl8189es/rtl8189es.hash new file mode 100644 index 00000000000..d897e5e6c22 --- /dev/null +++ b/package/rtl8189es/rtl8189es.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 74325014c1a8503b3a7e48ad06997baddad8c1dae86bb79f4368532cc3e75fb2 rtl8189es-39c17661136da48f8e9c644194dce6a7f5076896.tar.gz diff --git a/package/rtl8189es/rtl8189es.mk b/package/rtl8189es/rtl8189es.mk new file mode 100644 index 00000000000..51477ccc971 --- /dev/null +++ b/package/rtl8189es/rtl8189es.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# rtl8189es +# +################################################################################ + +RTL8189ES_VERSION = 39c17661136da48f8e9c644194dce6a7f5076896 +RTL8189ES_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189ES_VERSION)) +RTL8189ES_LICENSE = GPL-2.0 + +RTL8189ES_MODULE_MAKE_OPTS = \ + CONFIG_RTL8189ES=m \ + KVER=$(LINUX_VERSION_PROBED) \ + KSRC=$(LINUX_DIR) + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch new file mode 100644 index 00000000000..47e42415eb1 --- /dev/null +++ b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch @@ -0,0 +1,30 @@ +From 480d9da302885d9e8b3d1f9c68def569e3c8a8c0 Mon Sep 17 00:00:00 2001 +From: Sergey Matyukevich +Date: Mon, 9 May 2022 00:17:21 +0300 +Subject: [PATCH] Makefile: remove default endianness + +There is no way to remove configuration options from EXTRA_CFLAGS +without editing Makefile. So default LE configuration can not be +conveniently replaced by BE. Remove default endianness from the +Makefile to enable its configuration via USER_EXTRA_CFLAGS. + +Signed-off-by: Sergey Matyukevich +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index dfca305..fde4e6b 100644 +--- a/Makefile ++++ b/Makefile +@@ -22,7 +22,6 @@ endif + + EXTRA_CFLAGS += -I$(src)/include + +-EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN + EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT + + EXTRA_LDFLAGS += --strip-debug +-- +2.35.1 + diff --git a/package/rtl8189fs/rtl8189fs.hash b/package/rtl8189fs/rtl8189fs.hash index f1524a6fccf..d5d18a8ba84 100644 --- a/package/rtl8189fs/rtl8189fs.hash +++ b/package/rtl8189fs/rtl8189fs.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f3f8bcc1e75f095350f12c36f7b8af88eebf3913d4bc921083489f1758cb5068 rtl8189fs-54bd6808e38f213126e7d6447ae9d80c656179f3.tar.gz +sha256 41eee18d8a4289c2eac07af3224c62214a9b694a717bf497cd34a95b955f3d49 rtl8189fs-94a61cbf46ce87b7c9b8aa53123aeb142133a3c9.tar.gz diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk index 39122bc786a..1c398919ba9 100644 --- a/package/rtl8189fs/rtl8189fs.mk +++ b/package/rtl8189fs/rtl8189fs.mk @@ -4,14 +4,22 @@ # ################################################################################ -RTL8189FS_VERSION = 54bd6808e38f213126e7d6447ae9d80c656179f3 +RTL8189FS_VERSION = 94a61cbf46ce87b7c9b8aa53123aeb142133a3c9 RTL8189FS_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189FS_VERSION)) RTL8189FS_LICENSE = GPL-2.0 RTL8189FS_MODULE_MAKE_OPTS = \ CONFIG_RTL8189FS=m \ KVER=$(LINUX_VERSION_PROBED) \ - KSRC=$(LINUX_DIR) + KSRC=$(LINUX_DIR) \ + USER_EXTRA_CFLAGS="-DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN" + +define RTL8189FS_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_MAC80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_MMC) +endef $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/rtl8723bu/rtl8723bu.hash b/package/rtl8723bu/rtl8723bu.hash index 04bc776a074..1dad7154b41 100644 --- a/package/rtl8723bu/rtl8723bu.hash +++ b/package/rtl8723bu/rtl8723bu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4c7314dccebda1e55ec8dcf0d5ca8915c2490d17a9f56923f25e6e0e945c10cc rtl8723bu-9ce1c38439f4f574bb7adaf33949835c25536a28.tar.gz +sha256 1cd658742ce10b21c92877e09cecc98880680d5f150de3845553005abc542977 rtl8723bu-19b4bdc05483a1e79a4f955a80f8f72cdd5dedc3.tar.gz diff --git a/package/rtl8723bu/rtl8723bu.mk b/package/rtl8723bu/rtl8723bu.mk index c35fad5832a..838bbedb749 100644 --- a/package/rtl8723bu/rtl8723bu.mk +++ b/package/rtl8723bu/rtl8723bu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8723BU_VERSION = 9ce1c38439f4f574bb7adaf33949835c25536a28 +RTL8723BU_VERSION = 19b4bdc05483a1e79a4f955a80f8f72cdd5dedc3 RTL8723BU_SITE = $(call github,lwfinger,rtl8723bu,$(RTL8723BU_VERSION)) RTL8723BU_LICENSE = GPL-2.0, proprietary (*.bin firmware blobs) @@ -13,7 +13,7 @@ RTL8723BU_MODULE_MAKE_OPTS = \ KSRC=$(LINUX_DIR) define RTL8723BU_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 644 $(@D)/rtl8723b_fw.bin $(TARGET_DIR)/lib/firmware/rtlwifi/rtl8723b_fw.bin + $(INSTALL) -D -m 644 $(@D)/rtl8723b_fw.bin $(TARGET_DIR)/lib/firmware/rtl_bt/rtl8723b_fw.bin endef $(eval $(kernel-module)) diff --git a/package/rtl8812au-aircrack-ng/Config.in b/package/rtl8812au-aircrack-ng/Config.in new file mode 100644 index 00000000000..70cbd152213 --- /dev/null +++ b/package/rtl8812au-aircrack-ng/Config.in @@ -0,0 +1,10 @@ +comment "rtl8812au-aircrack-ng needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_RTL8812AU_AIRCRACK_NG + bool "rtl8812au-aircrack-ng" + depends on BR2_LINUX_KERNEL + help + rtl8812au wifi driver (aircrack-ng repository) + + https://github.com/aircrack-ng/rtl8812au diff --git a/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash new file mode 100644 index 00000000000..ed1921d1c2d --- /dev/null +++ b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 acae758c3834196c71f4ee58f53a3c1b29ffd984f63ff2f40f2b080c8785c49f rtl8812au-aircrack-ng-3a6402e9e79802891f1531b435be54f4d8b71f0b.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.mk b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.mk new file mode 100644 index 00000000000..2bbca88cfb1 --- /dev/null +++ b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# rtl8812au-aircrack-ng +# +################################################################################ + +RTL8812AU_AIRCRACK_NG_VERSION = 3a6402e9e79802891f1531b435be54f4d8b71f0b +RTL8812AU_AIRCRACK_NG_SITE = $(call github,aircrack-ng,rtl8812au,$(RTL8812AU_AIRCRACK_NG_VERSION)) +RTL8812AU_AIRCRACK_NG_LICENSE = GPL-2.0 +RTL8812AU_AIRCRACK_NG_LICENSE_FILES = LICENSE + +RTL8812AU_AIRCRACK_NG_MODULE_MAKE_OPTS = \ + CONFIG_88XXAU=m \ + KVER=$(LINUX_VERSION_PROBED) \ + USER_EXTRA_CFLAGS="-DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN" + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/rtl_433/0001-minor-Fix-a-compiler-flag-needs-GCC-7.patch b/package/rtl_433/0001-minor-Fix-a-compiler-flag-needs-GCC-7.patch new file mode 100644 index 00000000000..dd3debf7ee2 --- /dev/null +++ b/package/rtl_433/0001-minor-Fix-a-compiler-flag-needs-GCC-7.patch @@ -0,0 +1,27 @@ +From 2010e8f949ab7b4555b99dbf184e149a3f33df46 Mon Sep 17 00:00:00 2001 +From: "Christian W. Zuckschwerdt" +Date: Fri, 24 Dec 2021 11:03:06 +0100 +Subject: [PATCH] minor: Fix a compiler flag needs GCC 7 + +[Retrieved from: +https://github.com/merbanan/rtl_433/commit/2010e8f949ab7b4555b99dbf184e149a3f33df46] +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a3f11ac99..bfa6595ca 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -74,7 +74,9 @@ if(("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" MATCHES + ADD_DEFINITIONS(-pedantic) + ADD_DEFINITIONS(-Wshadow) + ADD_DEFINITIONS(-Wmissing-prototypes) +- ADD_DEFINITIONS(-Wimplicit-fallthrough) ++ if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang" OR NOT "7.0.0" VERSION_GREATER CMAKE_C_COMPILER_VERSION) ++ ADD_DEFINITIONS(-Wimplicit-fallthrough) ++ endif() + #ADD_DEFINITIONS(-Wfloat-equal) + #ADD_DEFINITIONS(-Wbad-function-cast) + #ADD_DEFINITIONS(-Wdocumentation) diff --git a/package/rtl_433/0002-src-optparse.c-fix-build-without-__has_attribute.patch b/package/rtl_433/0002-src-optparse.c-fix-build-without-__has_attribute.patch new file mode 100644 index 00000000000..683754845f3 --- /dev/null +++ b/package/rtl_433/0002-src-optparse.c-fix-build-without-__has_attribute.patch @@ -0,0 +1,34 @@ +From 1b74826f155406f86846d5c97b3534aab87cf6da Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 26 Dec 2021 15:21:39 +0100 +Subject: [PATCH] src/optparse.c: fix build without __has_attribute + +Fix build failure without __has_attribute (e.g. gcc 4.8) which is raised +since +https://github.com/merbanan/rtl_433/commit/6c8af75c757712bd58b169317795484a72e9a16c + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/merbanan/rtl_433/pull/1918] +--- + src/optparse.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/optparse.c b/src/optparse.c +index aa3d0b53..b5e2d37e 100644 +--- a/src/optparse.c ++++ b/src/optparse.c +@@ -232,9 +232,11 @@ int atoi_time(char const *str, char const *error_hint) + } + // intentional fallthrough + #if defined(__GNUC__) || defined(__clang__) ++#if defined __has_attribute + #if __has_attribute(fallthrough) + __attribute__((fallthrough)); + #endif ++#endif + #endif + case ':': + ++colons; +-- +2.33.0 + diff --git a/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch b/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch new file mode 100644 index 00000000000..e2088b29e70 --- /dev/null +++ b/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch @@ -0,0 +1,58 @@ +From 2dad7b9fc67a1d0bfbe520fbd821678b8f8cc7a8 Mon Sep 17 00:00:00 2001 +From: "Christian W. Zuckschwerdt" +Date: Mon, 24 Jan 2022 15:53:20 +0100 +Subject: [PATCH] minor: Fix overflow in Clipsal-CMR113 and Somfy-IOHC reported + by aug5t7 + +[Retrieved from: +https://github.com/merbanan/rtl_433/commit/2dad7b9fc67a1d0bfbe520fbd821678b8f8cc7a8] +Signed-off-by: Fabrice Fontaine +--- + src/devices/cmr113.c | 4 ++-- + src/devices/somfy_iohc.c | 9 +++++---- + 2 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/src/devices/cmr113.c b/src/devices/cmr113.c +index c85dfac56..19ec5d421 100644 +--- a/src/devices/cmr113.c ++++ b/src/devices/cmr113.c +@@ -42,8 +42,8 @@ Kudos to Jon Oxer for decoding this stream and putting it here: + + */ + +-#define COMPARE_BITS 83 +-#define COMPARE_BYTES (COMPARE_BITS/8) ++#define COMPARE_BITS 83 ++#define COMPARE_BYTES ((COMPARE_BITS + 7) / 8) + + static int cmr113_decode(r_device *decoder, bitbuffer_t *bitbuffer) + { +diff --git a/src/devices/somfy_iohc.c b/src/devices/somfy_iohc.c +index 906cae53e..2c88067b5 100644 +--- a/src/devices/somfy_iohc.c ++++ b/src/devices/somfy_iohc.c +@@ -100,11 +100,12 @@ static int somfy_iohc_decode(r_device *decoder, bitbuffer_t *bitbuffer) + if (bitbuffer->num_rows != 1) + return DECODE_ABORT_EARLY; + +- int offset = bitbuffer_search(bitbuffer, 0, 0, preamble_pattern, 24) + 24; +- if (offset >= bitbuffer->bits_per_row[0] - 19 * 10) ++ unsigned offset = bitbuffer_search(bitbuffer, 0, 0, preamble_pattern, 24) + 24; ++ if (offset + 19 * 10 >= bitbuffer->bits_per_row[0]) + return DECODE_ABORT_EARLY; + +- int num_bits = bitbuffer->bits_per_row[0] - offset; ++ unsigned num_bits = bitbuffer->bits_per_row[0] - offset; ++ num_bits = MIN(num_bits, sizeof (b) * 8); + + int len = extract_bytes_uart(bitbuffer->bb[0], offset, num_bits, b); + if (len < 19) +@@ -120,7 +121,7 @@ static int somfy_iohc_decode(r_device *decoder, bitbuffer_t *bitbuffer) + // calculate and verify checksum + if (crc16lsb(b, len, 0x8408, 0x0000) != 0) // unreflected poly 0x1021 + return DECODE_FAIL_MIC; +- bitrow_printf(b, len * 8, "%s: offset %d, num_bits %d, len %d, msg_len %d\n", __func__, offset, num_bits, len, msg_len); ++ bitrow_printf(b, len * 8, "%s: offset %u, num_bits %u, len %d, msg_len %d\n", __func__, offset, num_bits, len, msg_len); + + int msg_type = (b[0]); + int dst_id = ((unsigned)b[4] << 24) | (b[3] << 16) | (b[2] << 8) | (b[1]); // assume Little-Endian diff --git a/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch b/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch new file mode 100644 index 00000000000..057bf9cf645 --- /dev/null +++ b/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch @@ -0,0 +1,35 @@ +From 37455483889bd1c641bdaafc493d1cc236b74904 Mon Sep 17 00:00:00 2001 +From: "Christian W. Zuckschwerdt" +Date: Fri, 18 Mar 2022 08:09:15 +0100 +Subject: [PATCH] Fix overflow in Acurite-00275rm (closes #2012) + +[Retrieved from: +https://github.com/merbanan/rtl_433/commit/37455483889bd1c641bdaafc493d1cc236b74904] +Signed-off-by: Fabrice Fontaine +--- + src/devices/acurite.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/devices/acurite.c b/src/devices/acurite.c +index 6879e52da..4f3e83eb3 100644 +--- a/src/devices/acurite.c ++++ b/src/devices/acurite.c +@@ -1318,15 +1318,15 @@ static int acurite_00275rm_decode(r_device *decoder, bitbuffer_t *bitbuffer) + + // Combine signal if exactly three repeats were found + if (n_rows == 3) { +- uint8_t *b = bitbuffer->bb[bitbuffer->num_rows]; ++ bitbuffer_add_row(bitbuffer); ++ uint8_t *b = bitbuffer->bb[bitbuffer->num_rows - 1]; + for (int i = 0; i < 11; ++i) { + // The majority bit count wins + b[i] = (b_rows[0][i] & b_rows[1][i]) | + (b_rows[1][i] & b_rows[2][i]) | + (b_rows[2][i] & b_rows[0][i]); + } +- bitbuffer->bits_per_row[bitbuffer->num_rows] = 88; +- bitbuffer->num_rows += 1; ++ bitbuffer->bits_per_row[bitbuffer->num_rows - 1] = 88; + } + + // Output the first valid row diff --git a/package/rtl_433/Config.in b/package/rtl_433/Config.in new file mode 100644 index 00000000000..5664227c824 --- /dev/null +++ b/package/rtl_433/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_RTL_433 + bool "rtl_433" + depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL + help + rtl_433 (despite the name) is a generic data receiver, mainly + for the 433.92 MHz, 868 MHz (SRD), 315 MHz, 345 MHz, and 915 + MHz ISM bands. + + https://github.com/merbanan/rtl_433 + +comment "rtl_433 needs a toolchain w/ dynamic library, threads" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rtl_433/rtl_433.hash b/package/rtl_433/rtl_433.hash new file mode 100644 index 00000000000..fd479dfd21e --- /dev/null +++ b/package/rtl_433/rtl_433.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 b362ef3410adec64aee7ad8e6d4d74875f1b3d59ef6fb4856e96adc03876dc65 rtl_433-21.12.tar.gz +# License file, locally calculated +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/rtl_433/rtl_433.mk b/package/rtl_433/rtl_433.mk new file mode 100644 index 00000000000..8326caedb28 --- /dev/null +++ b/package/rtl_433/rtl_433.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# rtl_433 +# +################################################################################ + +RTL_433_VERSION = 21.12 +RTL_433_SITE = $(call github,merbanan,rtl_433,$(RTL_433_VERSION)) +RTL_433_LICENSE = GPL-2.0+ +RTL_433_LICENSE_FILES = COPYING + +# Force Release build to remove ASAN. +RTL_433_CONF_OPTS = \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_DOCUMENTATION=OFF \ + -DBUILD_TESTING=OFF \ + -DBUILD_TESTING_ANALYZER=OFF \ + -DENABLE_SOAPYSDR=OFF + +# 0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch +RTL_433_IGNORE_CVES += CVE-2022-25051 + +# 0004-Fix-overflow-in-Acurite-00275rm.patch +RTL_433_IGNORE_CVES += CVE-2022-27419 + +ifeq ($(BR2_PACKAGE_LIBRTLSDR),y) +RTL_433_DEPENDENCIES += librtlsdr +RTL_433_CONF_OPTS += -DENABLE_RTLSDR=ON +else +RTL_433_CONF_OPTS += -DENABLE_RTLSDR=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +RTL_433_DEPENDENCIES += openssl +RTL_433_CONF_OPTS += -DENABLE_OPENSSL=ON +else +RTL_433_CONF_OPTS += -DENABLE_OPENSSL=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk index db79a796dca..fb381d0e104 100644 --- a/package/rtmpdump/rtmpdump.mk +++ b/package/rtmpdump/rtmpdump.mk @@ -5,7 +5,8 @@ ################################################################################ RTMPDUMP_VERSION = c5f04a58fc2aeea6296ca7c44ee4734c18401aa3 -RTMPDUMP_SITE = git://git.ffmpeg.org/rtmpdump +RTMPDUMP_SITE = https://git.ffmpeg.org/rtmpdump +RTMPDUMP_SITE_METHOD = git RTMPDUMP_INSTALL_STAGING = YES # Note that rtmpdump is GPL-2.0 but librtmp has its own license and since we only # care about librtmp, it's LGPL-2.1+ diff --git a/package/rtorrent/0001-Added--disable-execinfo-option-to-configure.patch b/package/rtorrent/0001-Added--disable-execinfo-option-to-configure.patch new file mode 100644 index 00000000000..4ff4182b61b --- /dev/null +++ b/package/rtorrent/0001-Added--disable-execinfo-option-to-configure.patch @@ -0,0 +1,34 @@ +From 582e4e40256b43d3e5322168f1e1ed71ca70ab64 Mon Sep 17 00:00:00 2001 +From: rakshasa +Date: Wed, 16 Jun 2021 23:29:01 +0900 +Subject: [PATCH] Added '--disable-execinfo' option to configure. + +[Retrieved (and backported) from: +https://github.com/rakshasa/rtorrent/commit/582e4e40256b43d3e5322168f1e1ed71ca70ab64] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e3e7d3f1..0f45bc6a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -27,7 +27,15 @@ TORRENT_WITHOUT_VARIABLE_FDSET + + AC_SYS_LARGEFILE + +-TORRENT_CHECK_EXECINFO ++AC_ARG_ENABLE(execinfo, ++ AC_HELP_STRING([--disable-execinfo], [disable libexecinfo [[default=enable]]]), ++ [ ++ if test "$enableval" = "yes"; then ++ TORRENT_CHECK_EXECINFO ++ fi ++ ],[ ++ TORRENT_CHECK_EXECINFO ++ ]) + + TORRENT_ENABLE_ARCH + TORRENT_WITH_SYSROOT + diff --git a/package/rtorrent/rtorrent.mk b/package/rtorrent/rtorrent.mk index bc3afe80649..210b1d34dcf 100644 --- a/package/rtorrent/rtorrent.mk +++ b/package/rtorrent/rtorrent.mk @@ -9,5 +9,8 @@ RTORRENT_SITE = http://rtorrent.net/downloads RTORRENT_DEPENDENCIES = host-pkgconf libcurl libtorrent ncurses RTORRENT_LICENSE = GPL-2.0 RTORRENT_LICENSE_FILES = COPYING +# We're patching configure.ac +RTORRENT_AUTORECONF = YES +RTORRENT_CONF_OPTS = --disable-execinfo $(eval $(autotools-package)) diff --git a/package/rtty/rtty.hash b/package/rtty/rtty.hash index 283a5d1da5b..b2e9db24361 100644 --- a/package/rtty/rtty.hash +++ b/package/rtty/rtty.hash @@ -1,2 +1,2 @@ -sha256 4c60eacd7a653988a1907284de2ecf360c74f55ef9e21c40b9ebd87af6570908 rtty-7.3.2.tar.gz +sha256 9bc5d30dfa9bd664a62711b6229f47505b83adb364907f24e3a404aad52a4802 rtty-7.4.0.tar.gz sha256 99efed4bbc0b62f96f999ef23399e38234fb91651af734fd389a52b033a85b55 LICENSE diff --git a/package/rtty/rtty.mk b/package/rtty/rtty.mk index dc914452871..4ec220394cc 100644 --- a/package/rtty/rtty.mk +++ b/package/rtty/rtty.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTTY_VERSION = 7.3.2 +RTTY_VERSION = 7.4.0 RTTY_SITE = https://github.com/zhaojh329/rtty/releases/download/v$(RTTY_VERSION) RTTY_LICENSE = MIT RTTY_LICENSE_FILES = LICENSE diff --git a/package/ruby/0001-fix-default-coroutine-selection.patch b/package/ruby/0001-fix-default-coroutine-selection.patch deleted file mode 100644 index 79dbd692e5e..00000000000 --- a/package/ruby/0001-fix-default-coroutine-selection.patch +++ /dev/null @@ -1,35 +0,0 @@ -fixed default coroutine selection for musl/uclibc - -https://github.com/ruby/ruby/pull/3567/commits/b570e7de87aaad8c903176d835e8124127f627b3 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur ruby-2.7.1.orig/configure.ac ruby-2.7.1/configure.ac ---- ruby-2.7.1.orig/configure.ac 2020-03-31 12:44:55.000000000 +0200 -+++ ruby-2.7.1/configure.ac 2020-10-01 00:03:53.130462286 +0200 -@@ -2344,8 +2344,12 @@ - rb_cv_coroutine=copy - ], - [*], [ -- rb_cv_coroutine=ucontext -+ AC_CHECK_FUNCS([getcontext swapcontext makecontext], -+ [rb_cv_coroutine=ucontext], -+ [rb_cv_coroutine=copy; break] -+ ) - ] -+ - ) - AC_MSG_RESULT(${rb_cv_coroutine}) - ]) -diff -Nur ruby-2.7.1.orig/coroutine/copy/Context.c ruby-2.7.1/coroutine/copy/Context.c ---- ruby-2.7.1.orig/coroutine/copy/Context.c 2020-03-31 12:44:55.000000000 +0200 -+++ ruby-2.7.1/coroutine/copy/Context.c 2020-10-01 00:04:59.414670705 +0200 -@@ -5,6 +5,8 @@ - * Copyright, 2019, by Samuel Williams. All rights reserved. - */ - -+#include -+ - #include "Context.h" - - // http://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html diff --git a/package/ruby/Config.in b/package/ruby/Config.in index 141db90140c..c2101209457 100644 --- a/package/ruby/Config.in +++ b/package/ruby/Config.in @@ -3,11 +3,14 @@ config BR2_PACKAGE_RUBY depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_HOST_GCC_AT_LEAST_4_9 help Object Oriented Scripting Language. http://www.ruby-lang.org/ -comment "ruby needs a toolchain w/ wchar, threads, dynamic library" +comment "ruby needs a toolchain w/ wchar, threads, dynamic library, gcc >= 4.9, host gcc >= 4.9" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index 80ffb00c0f2..da6221ec50b 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,6 +1,7 @@ -# https://www.ruby-lang.org/en/news/2020/10/02/ruby-2-7-2-released/ -sha256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 ruby-2.7.2.tar.xz +# https://www.ruby-lang.org/en/news/2022/04/12/ruby-3-1-2-released/ +sha512 4a74e9efc6ea4b3eff4fec7534eb1fff4794d021531defc2e9937e53c6668db8ecdc0fff2bc23d5e6602d0df344a2caa85b31c5414309541e3d5313ec82b6e21 ruby-3.1.2.tar.xz + # License files, Locally calculated -sha256 b09ca195d2de08f0aacfa8793d0af62d7681c304b3ef714b75813721823295a6 LEGAL +sha256 794c384f94396ab07e3e6f53a9f8be093facb7eb4193266024302b93b29e12dc LEGAL sha256 967586d538a28955ec2541910cf63c5ac345fcdea94bfb1f1705a1f6eb36bcbb COPYING -sha256 a5e3042dacb53eebda91f3b1caefbfec8307711df8c4ed1ed20e4e97c43307a4 BSDL +sha256 36a9a6e7347214bbba599a412617204e65bff065dcbe5c46f5cb454c80de9eb0 BSDL diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index 4ab6ea78c1d..cbdfa4b8262 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -4,11 +4,21 @@ # ################################################################################ -RUBY_VERSION_MAJOR = 2.7 +RUBY_VERSION_MAJOR = 3.1 RUBY_VERSION = $(RUBY_VERSION_MAJOR).2 -RUBY_VERSION_EXT = 2.7.0 +RUBY_VERSION_EXT = 3.1.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz + +RUBY_LICENSE = \ + Ruby or BSD-2-Clause, \ + BSD-3-Clause, \ + MIT, \ + others +RUBY_LICENSE_FILES = LEGAL COPYING BSDL + +RUBY_CPE_ID_VENDOR = ruby-lang + RUBY_DEPENDENCIES = host-pkgconf host-ruby HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl RUBY_MAKE_ENV = $(TARGET_MAKE_ENV) @@ -17,11 +27,10 @@ HOST_RUBY_CONF_OPTS = \ --disable-install-doc \ --with-out-ext=curses,readline \ --without-gmp -RUBY_LICENSE = Ruby or BSD-2-Clause, BSD-3-Clause, others -RUBY_LICENSE_FILES = LEGAL COPYING BSDL -RUBY_CPE_ID_VENDOR = ruby-lang -# 0001-fix-default-coroutine-selection.patch -RUBY_AUTORECONF = YES + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +RUBY_CONF_ENV += LIBS=-latomic +endif ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) # On uClibc, finite, isinf and isnan are not directly implemented as @@ -73,6 +82,14 @@ else RUBY_CONF_OPTS += --without-gmp endif +RUBY_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_83143),y) +RUBY_CFLAGS += -freorder-blocks-algorithm=simple +endif + +RUBY_CONF_OPTS += CFLAGS="$(RUBY_CFLAGS)" + # Remove rubygems and friends, as they need extensions that aren't # built and a target compiler. RUBY_EXTENSIONS_REMOVE = rake* rdoc* rubygems* diff --git a/package/runc/Config.in b/package/runc/Config.in index f181ee334fa..66203896a8e 100644 --- a/package/runc/Config.in +++ b/package/runc/Config.in @@ -13,4 +13,4 @@ config BR2_PACKAGE_RUNC comment "runc needs a glibc or musl toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS && \ BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAN_USES_UCLIBC + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/runc/runc.hash b/package/runc/runc.hash index d792947d5ff..f8133d13c19 100644 --- a/package/runc/runc.hash +++ b/package/runc/runc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 28378df983a3c586ed3ec8c76a774a9b10f36a0c323590a284b801cce95cc61f runc-1.0.0-rc92.tar.gz +sha256 0ccce82b1d9c058d8fd7443d261c96fd7a803f2775bcb1fec2bdb725bc7640f6 runc-1.1.2.tar.gz sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/package/runc/runc.mk b/package/runc/runc.mk index c0de2783e40..5faa8b683de 100644 --- a/package/runc/runc.mk +++ b/package/runc/runc.mk @@ -4,13 +4,11 @@ # ################################################################################ -RUNC_VERSION = $(RUNC_CPE_ID_VERSION)-$(RUNC_CPE_ID_UPDATE) +RUNC_VERSION = 1.1.2 RUNC_SITE = $(call github,opencontainers,runc,v$(RUNC_VERSION)) -RUNC_LICENSE = Apache-2.0 +RUNC_LICENSE = Apache-2.0, LGPL-2.1 (libseccomp) RUNC_LICENSE_FILES = LICENSE RUNC_CPE_ID_VENDOR = linuxfoundation -RUNC_CPE_ID_VERSION = 1.0.0 -RUNC_CPE_ID_UPDATE = rc92 RUNC_LDFLAGS = -X main.version=$(RUNC_VERSION) RUNC_TAGS = cgo static_build diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash index 46c023e62f4..9f8788a2953 100644 --- a/package/rust-bin/rust-bin.hash +++ b/package/rust-bin/rust-bin.hash @@ -1,51 +1,102 @@ -# From https://static.rust-lang.org/dist/rust-1.48.0-i686-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.48.0-i686-unknown-linux-gnu.tar.xz.asc -sha256 ddbfb5af1cd2cb6ae79d6f3f95cf29c0057e6387eada8b3975e7d7658e315aae rust-1.48.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.48.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.48.0-x86_64-unknown-linux-gnu.tar.xz.asc -sha256 58270d8e10f72e1712ba08db6b8f8ffca64a63d1a7b220688b59fb05655b3843 rust-1.48.0-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-aarch64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-aarch64-unknown-linux-gnu.tar.xz.asc -sha256 3a50eeb64a63a09f79bee49e01f72410d455b9ae1c7f07ebdb6dc0d40e9aa0bc rust-std-1.48.0-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-arm-unknown-linux-gnueabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-arm-unknown-linux-gnueabi.tar.xz.asc -sha256 f512696b54142abda3d68b2ba213ae115d5e898952a50a1fa3d1fe6b4ef71d3c rust-std-1.48.0-arm-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-arm-unknown-linux-gnueabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-arm-unknown-linux-gnueabihf.tar.xz.asc -sha256 5bc6c5dfcc9c345c3f7af519df8ac77c2b0938ea32aa7949f589bec2c7cd3a22 rust-std-1.48.0-arm-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-armv7-unknown-linux-gnueabihf.tar.xz.asc -sha256 da71ec82973eb6fdf67de25b5a39d9cb4b943ec2c43de570f4785a3a79036430 rust-std-1.48.0-armv7-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-i586-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-i586-unknown-linux-gnu.tar.xz.asc -sha256 d700751756d9b6e7881dd3a5f67bec1b998b3e278a113f4de2125f4281deaf5c rust-std-1.48.0-i586-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-i686-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-i686-unknown-linux-gnu.tar.xz.asc -sha256 d4ea5ca6f9c8f9092b50c879f1d9a2620486f08020fa4cac227743a19f6e8cdf rust-std-1.48.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-mips-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-mips-unknown-linux-gnu.tar.xz.asc -sha256 5c4d49cbd16ac89e39c3cbfae127961289af3419435f2b90e1732a97d9326b35 rust-std-1.48.0-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-mips64-unknown-linux-gnuabi64.tar.xz.asc -sha256 3fd7194abb8f51c3caf09c222c12700cddef73449d38953c6b1adb04a89dcc31 rust-std-1.48.0-mips64-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc -sha256 9200f952416488bc68857989bc10239e59b44a6c55153cb063fa03f28f5016f8 rust-std-1.48.0-mips64el-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-mipsel-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-mipsel-unknown-linux-gnu.tar.xz.asc -sha256 792008f6c9ea68db39e59312fc372bf649980cf676c01a71da7db399de49966c rust-std-1.48.0-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-powerpc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-powerpc-unknown-linux-gnu.tar.xz.asc -sha256 58d0da369bfd71a17d27807ef7c052556a771cf209bee068d44504f554bf2a8c rust-std-1.48.0-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-powerpc64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-powerpc64-unknown-linux-gnu.tar.xz.asc -sha256 10346635487b14aa4b82baeae02ee5a4bffe930090c6c551083262e9811755f0 rust-std-1.48.0-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-powerpc64le-unknown-linux-gnu.tar.xz.asc -sha256 e42b64c5710d3982f22ed744ea21ef2f0196df908c6a673b6df550904583b1c3 rust-std-1.48.0-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.48.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.48.0-x86_64-unknown-linux-gnu.tar.xz.asc -sha256 1c00a6a0dabbf6290728b09f9307d9fa6cc985487f727075c68acd4a600ef3f8 rust-std-1.48.0-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.58.1-i686-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.58.1-i686-unknown-linux-gnu.tar.xz.asc +sha256 110ca4967351d8535f3d39e24f40e2941c20346c5765d3530270e134ae50568e rust-1.58.1-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz.asc +sha256 f71b077caf0becbd0af9fd22bc1fa31c4fdf7a21fe046da8a15a7bde1286da25 rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-aarch64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-aarch64-unknown-linux-gnu.tar.xz.asc +sha256 c7a016ac63aeb5481d661ee3e680b57d35d5ccb902c605c32937a047a02cff49 rust-std-1.58.1-aarch64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-aarch64-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-aarch64-unknown-linux-musl.tar.xz.asc +sha256 4c8d9774fb1f6cfa616f2c43395f438e887a38f0cd901a3886056cc1c1b84c30 rust-std-1.58.1-aarch64-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-gnueabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-gnueabi.tar.xz.asc +sha256 eb58c2b72e9bbe50c80e9f2981e14d737198f7e17a4cad524d00baefdfa3bc1d rust-std-1.58.1-arm-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-gnueabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-gnueabihf.tar.xz.asc +sha256 58e3f4905c3e7028811971219a3222640f947062fb93dbe51c1674551e9b06a6 rust-std-1.58.1-arm-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-musleabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-musleabihf.tar.xz.asc +sha256 b354f0ad28d8cc7d5996d46c3a310c80aa6486ac7b89abcd1eeef7f13435e0ff rust-std-1.58.1-arm-unknown-linux-musleabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-musleabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-arm-unknown-linux-musleabi.tar.xz.asc +sha256 705fba2a50835354112ab86d1ee8889c39f3c7265d7ca26f1dffebaa463600a6 rust-std-1.58.1-arm-unknown-linux-musleabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-armv5te-unknown-linux-gnueabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-armv5te-unknown-linux-gnueabi.tar.xz.asc +sha256 0505759fa8b26c902a701f266db4bfbfe496de71c5c6548a55c562fe9d386485 rust-std-1.58.1-armv5te-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-armv5te-unknown-linux-musleabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-armv5te-unknown-linux-musleabi.tar.xz.asc +sha256 9ca8adb43b4e75556a99b6c7a9bc1d9aab894bbe109736c34582169ec81aee14 rust-std-1.58.1-armv5te-unknown-linux-musleabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz.asc +sha256 9f38bc3220d659ff482db9a0ace9dcb7051991d471149fad7bbb62fce8314e04 rust-std-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-gnueabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-gnueabi.tar.xz.asc +sha256 1511c675d17033737ab2bd1e87b525aaf59e0455f5a717ab0a91fd849949164f rust-std-1.58.1-armv7-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-musleabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-musleabihf.tar.xz.asc +sha256 2cf8a8cc2441a1bb4b45b690c87fff4df975fac077240706c08594e26f901bdc rust-std-1.58.1-armv7-unknown-linux-musleabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-musleabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-armv7-unknown-linux-musleabi.tar.xz.asc +sha256 db86e823484f210884d7d815ffcd7dae355bba86e18151b0838ec06544bb8126 rust-std-1.58.1-armv7-unknown-linux-musleabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-i586-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-i586-unknown-linux-gnu.tar.xz.asc +sha256 02bce02f929114cc60126410fceeab6c0bcc8b96c394de9516d8f449880cb585 rust-std-1.58.1-i586-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-i586-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-i586-unknown-linux-musl.tar.xz.asc +sha256 e80d5769f042a00388546dbd26cb40c045d5dddc84e5da3f98d174027ed9eaaa rust-std-1.58.1-i586-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-i686-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-i686-unknown-linux-gnu.tar.xz.asc +sha256 d7f2bc431db551ea9019a6d50d4e3f11e14fabbea3abec1478ac72a281309152 rust-std-1.58.1-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-i686-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-i686-unknown-linux-musl.tar.xz.asc +sha256 c70fbb13aedfb88cfec8098355a155a4edce3d52f9b099bc033b7c7ac45aab00 rust-std-1.58.1-i686-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mips-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mips-unknown-linux-gnu.tar.xz.asc +sha256 b678ac0282cbb1965f9a7485a1f56b01d0229f91ddff5a18a9628f86970f5902 rust-std-1.58.1-mips-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mips-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mips-unknown-linux-musl.tar.xz.asc +sha256 2f571f4c9b4e86e278539e811f495fb84f44898d4333b983a3d95ef5d2c0fdd8 rust-std-1.58.1-mips-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz.asc +sha256 7f2f613606f039eec83239753a83c227b1d3c39b6474647234e7788a1541e850 rust-std-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mips64-unknown-linux-muslabi64.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mips64-unknown-linux-muslabi64.tar.xz.asc +sha256 7283539843df5c8abd06b0ce3830efeab0d673447b45d3b6636d2eb296d28681 rust-std-1.58.1-mips64-unknown-linux-muslabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mips64el-unknown-linux-gnuabi64.tar.xz.asc +sha256 3d2935e0979a7150cc271481f5f06569005ee27f0a7ef7ed1a5393c3e34b1974 rust-std-1.58.1-mips64el-unknown-linux-gnuabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mips64el-unknown-linux-muslabi64.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mips64el-unknown-linux-muslabi64.tar.xz.asc +sha256 33078d23ea70ca405b5938e5a2a74fbf4ec7dc41b729e4991e3e01d4c8370028 rust-std-1.58.1-mips64el-unknown-linux-muslabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mipsel-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mipsel-unknown-linux-gnu.tar.xz.asc +sha256 fdade0d00dac3524348041ec915a5a96208c9c1929ce746ab6352d0d2897a3a7 rust-std-1.58.1-mipsel-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-mipsel-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-mipsel-unknown-linux-musl.tar.xz.asc +sha256 c747a00ac9a6ee70793002e6db2fbce3b2cd60eda277729468d18369736c6c8e rust-std-1.58.1-mipsel-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-powerpc-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-powerpc-unknown-linux-gnu.tar.xz.asc +sha256 7813f825e5d10aac0ded4b3f785970c69c25464b4edcf9c2b83eff0e55ee95f3 rust-std-1.58.1-powerpc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-powerpc64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-powerpc64-unknown-linux-gnu.tar.xz.asc +sha256 c68d93de3a46ec709788fee2c38a298a261d4254d299299195ab3474b316a59b rust-std-1.58.1-powerpc64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz.asc +sha256 a85f5f42918e8b140d7093ba49fc46a21625863538c95d2db03f831cc445f025 rust-std-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz.asc +sha256 2d7276fe261478c377913177dcec3e0aeed84f2c567db0ae8e415efee7bb9ce0 rust-std-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-sparc64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-sparc64-unknown-linux-gnu.tar.xz.asc +sha256 7a7cd002c63179f3f47d64b1140c180986322a7cc0d31de61d7c4728cedacba0 rust-std-1.58.1-sparc64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-x86_64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-x86_64-unknown-linux-gnu.tar.xz.asc +sha256 e72367c15906f021f46801652181c917cd3328be022b93bb30506724f7b56256 rust-std-1.58.1-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.58.1-x86_64-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.58.1-x86_64-unknown-linux-musl.tar.xz.asc +sha256 b0d3e03c9b1eff6e241383913b02653ba80776626ca7c4a93f36c2ad829ba989 rust-std-1.58.1-x86_64-unknown-linux-musl.tar.xz # Locally generated sha256 62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk index 28901e0cfa9..d4cb8f50ea8 100644 --- a/package/rust-bin/rust-bin.mk +++ b/package/rust-bin/rust-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_BIN_VERSION = 1.48.0 +RUST_BIN_VERSION = 1.58.1 RUST_BIN_SITE = https://static.rust-lang.org/dist RUST_BIN_LICENSE = Apache-2.0 or MIT RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT diff --git a/package/rust/rust.hash b/package/rust/rust.hash index 1c993b9339d..7eb8f59603f 100644 --- a/package/rust/rust.hash +++ b/package/rust/rust.hash @@ -1,6 +1,6 @@ -# From https://static.rust-lang.org/dist/rustc-1.48.0-src.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rustc-1.48.0-src.tar.xz.asc -sha256 ff0a242392a1865d7b2d08eb5ca6c1b3fd0820741d4c13a51a4b2d5d2bb53908 rustc-1.48.0-src.tar.xz +# From https://static.rust-lang.org/dist/rustc-1.58.1-src.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rustc-1.58.1-src.tar.xz.asc +sha256 2b3643a48e7087053b0268971ec4154350342508922a8acb0707aaf94deb4469 rustc-1.58.1-src.tar.xz # Locally generated sha256 62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/rust/rust.mk b/package/rust/rust.mk index a38a3d64f55..cbd4786f060 100644 --- a/package/rust/rust.mk +++ b/package/rust/rust.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_VERSION = 1.48.0 +RUST_VERSION = 1.58.1 RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.xz RUST_SITE = https://static.rust-lang.org/dist RUST_LICENSE = Apache-2.0 or MIT @@ -14,18 +14,12 @@ HOST_RUST_PROVIDES = host-rustc HOST_RUST_DEPENDENCIES = \ toolchain \ + host-pkgconf \ + host-python3 \ host-rust-bin \ host-openssl \ $(BR2_CMAKE_HOST_DEPENDENCY) -ifeq ($(BR2_PACKAGE_PYTHON3),y) -HOST_RUST_PYTHON_VERSION = $(PYTHON3_VERSION_MAJOR) -HOST_RUST_DEPENDENCIES += host-python3 -else -HOST_RUST_PYTHON_VERSION = $(PYTHON_VERSION_MAJOR) -HOST_RUST_DEPENDENCIES += host-python -endif - HOST_RUST_VERBOSITY = $(if $(VERBOSE),2,0) # Some vendor crates contain Cargo.toml.orig files. The associated @@ -50,7 +44,7 @@ define HOST_RUST_CONFIGURE_CMDS echo 'target = ["$(RUSTC_TARGET_NAME)"]'; \ echo 'cargo = "$(HOST_RUST_BIN_DIR)/cargo/bin/cargo"'; \ echo 'rustc = "$(HOST_RUST_BIN_DIR)/rustc/bin/rustc"'; \ - echo 'python = "$(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION)"'; \ + echo 'python = "$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR)"'; \ echo 'submodules = false'; \ echo 'vendor = true'; \ echo 'extended = true'; \ @@ -63,6 +57,7 @@ define HOST_RUST_CONFIGURE_CMDS echo 'sysconfdir = "$(HOST_DIR)/etc"'; \ echo '[rust]'; \ echo 'channel = "stable"'; \ + echo 'musl-root = "$(STAGING_DIR)"' ; \ echo '[target.$(RUSTC_TARGET_NAME)]'; \ echo 'cc = "$(TARGET_CROSS)gcc"'; \ echo '[llvm]'; \ @@ -71,12 +66,29 @@ define HOST_RUST_CONFIGURE_CMDS endef define HOST_RUST_BUILD_CMDS - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION) x.py build + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) x.py build +endef + +HOST_RUST_INSTALL_OPTS = \ + --prefix=$(HOST_DIR) \ + --disable-ldconfig + +define HOST_RUST_INSTALL_RUSTC + cd $(@D)/build/tmp/tarball/rust/$(RUSTC_HOST_NAME)/rust-$(RUST_VERSION)-$(RUSTC_HOST_NAME); \ + ./install.sh $(HOST_RUST_INSTALL_OPTS) --components=rustc,cargo,rust-std-$(RUSTC_HOST_NAME) +endef + +ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y) +define HOST_RUST_INSTALL_LIBSTD_TARGET + cd $(@D)/build/tmp/tarball/rust-std/$(RUSTC_TARGET_NAME)/rust-std-$(RUST_VERSION)-$(RUSTC_TARGET_NAME); \ + ./install.sh $(HOST_RUST_INSTALL_OPTS) endef +endif define HOST_RUST_INSTALL_CMDS - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION) x.py dist - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION) x.py install + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) x.py dist + $(HOST_RUST_INSTALL_RUSTC) + $(HOST_RUST_INSTALL_LIBSTD_TARGET) endef $(eval $(host-generic-package)) diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host index 1df25ae326d..c7b8a19a22f 100644 --- a/package/rustc/Config.in.host +++ b/package/rustc/Config.in.host @@ -3,27 +3,110 @@ config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS bool default y if BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" +# The pre-built Rust standard library is only available for a number +# of architectures/C libraries combinations, with different levels of +# support: Tier 1 platforms, Tier 2 platforms with host tools, Tier 2 +# platforms, Tier 3 platforms. Below, we support Tier 1, Tier 2 with +# host tools and Tier 2 platforms. + +# The below entries match Tier 1 platforms as described at +# https://doc.rust-lang.org/nightly/rustc/platform-support.html. +config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS + bool + # aarch64-unknown-linux-gnu + default y if BR2_aarch64 && BR2_TOOLCHAIN_USES_GLIBC + # i686-unknown-linux-gnu + default y if (BR2_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_GLIBC + # x86_64-unknown-linux-gnu + default y if BR2_x86_64 && BR2_TOOLCHAIN_USES_GLIBC + +# The below entries match Tier 2 platforms with host tools as +# described at +# https://doc.rust-lang.org/nightly/rustc/platform-support.html. +config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS + bool + # aarch64-unknown-linux-musl + default y if BR2_aarch64 && BR2_TOOLCHAIN_USES_MUSL + # arm-unknown-linux-gnueabi + default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_GLIBC + # arm-unknown-linux-gnueabihf + default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC + # armv7-unknown-linux-gnueabihf + default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC + # mips-unknown-linux-gnu + default y if BR2_mips && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6 + # mips64-unknown-linux-gnuabi64 + default y if BR2_mips64 && BR2_TOOLCHAIN_USES_GLIBC && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6 + # mipsel-unknown-linux-gnu + default y if BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6 + # mips64el-unknown-linux-gnuabi64 + default y if BR2_mips64el && BR2_TOOLCHAIN_USES_GLIBC && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6 + # powerpc-unknown-linux-gnu + default y if BR2_powerpc && BR2_TOOLCHAIN_USES_GLIBC + # powerpc64-unknown-linux-gnu + default y if BR2_powerpc64 && BR2_TOOLCHAIN_USES_GLIBC + # powerpc64le-unknown-linux-gnu + default y if BR2_powerpc64le && BR2_TOOLCHAIN_USES_GLIBC + # riscv64gc-unknown-linux-gnu + # "g" stands for imafd, and we also need "c". + default y if BR2_RISCV_64 && BR2_RISCV_ISA_RVI && BR2_RISCV_ISA_RVM && \ + BR2_RISCV_ISA_RVA && BR2_RISCV_ISA_RVF && \ + BR2_RISCV_ISA_RVD && BR2_RISCV_ISA_RVC && \ + BR2_TOOLCHAIN_USES_GLIBC + # x86_64-unknown-linux-musl + default y if BR2_x86_64 && BR2_TOOLCHAIN_USES_MUSL + +# The below entries match Tier 2 platforms without host tools as +# described at +# https://doc.rust-lang.org/nightly/rustc/platform-support.html. +config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS + bool + # arm-unknown-linux-musleabi + default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL + # arm-unknown-linux-musleabihf + default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL + # armv5te-unknown-linux-gnueabi + default y if BR2_ARM_CPU_ARMV5 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_GLIBC + # armv5te-unknown-linux-musleabi + default y if BR2_ARM_CPU_ARMV5 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL + # armv7-unknown-linux-gnueabi + default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_GLIBC + # armv7-unknown-linux-musleabi + default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL + # armv7-unknown-linux-musleabihf + default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL + # i586-unknown-linux-gnu + default y if BR2_i586 && BR2_TOOLCHAIN_USES_GLIBC + # i586-unknown-linux-musl + default y if BR2_i586 && BR2_TOOLCHAIN_USES_MUSL + # i686-unknown-linux-musl + default y if (BR2_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_MUSL + # mips-unknown-linux-musl + default y if BR2_mips && BR2_TOOLCHAIN_USES_MUSL && !BR2_MIPS_CPU_MIPS32R6 + # mips64-unknown-linux-muslabi64 + default y if BR2_mips64 && BR2_TOOLCHAIN_USES_MUSL && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6 + # mips64el-unknown-linux-muslabi64 + default y if BR2_mips64el && BR2_TOOLCHAIN_USES_MUSL && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6 + # mipsel-unknown-linux-musl + default y if BR2_mipsel && BR2_TOOLCHAIN_USES_MUSL && !BR2_MIPS_CPU_MIPS32R6 + # sparc64-unknown-linux-gnu + default y if BR2_sparc64 && BR2_TOOLCHAIN_USES_GLIBC + # All target rust packages should depend on this option config BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS bool - # The pre-built Rust standard library is only available for the - # following architectures/ABIs, and is built against glibc. - default y if BR2_i386 - default y if BR2_x86_64 - default y if BR2_aarch64 - default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 \ - && !(BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI) - default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le - default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_CPU_MIPS32R6 - default y if (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_CPU_MIPS64R6 \ - && BR2_MIPS_NABI64 - depends on BR2_TOOLCHAIN_USES_GLIBC + default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS + default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS + default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS config BR2_PACKAGE_HOST_RUSTC_ARCH string + default "armv5te" if BR2_ARM_CPU_ARMV5 + default "arm" if BR2_ARM_CPU_ARMV6 default "armv7" if BR2_ARM_CPU_ARMV7A - default BR2_ARCH if !BR2_ARM_CPU_ARMV7A + default "riscv64gc" if BR2_RISCV_64 + default BR2_ARCH config BR2_PACKAGE_HOST_RUSTC_ABI string diff --git a/package/rustc/cargo-config.in b/package/rustc/cargo-config.in deleted file mode 100644 index 47fad026be5..00000000000 --- a/package/rustc/cargo-config.in +++ /dev/null @@ -1,2 +0,0 @@ -[target.@RUSTC_TARGET_NAME@] -linker = "@CROSS_PREFIX@gcc" diff --git a/package/rustc/rustc.mk b/package/rustc/rustc.mk index 35ffc361068..0513dd0b40b 100644 --- a/package/rustc/rustc.mk +++ b/package/rustc/rustc.mk @@ -8,7 +8,7 @@ RUSTC_ARCH = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ARCH)) RUSTC_ABI = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ABI)) ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y) -RUSTC_TARGET_NAME = $(RUSTC_ARCH)-unknown-linux-gnu$(RUSTC_ABI) +RUSTC_TARGET_NAME = $(RUSTC_ARCH)-unknown-linux-$(LIBC)$(RUSTC_ABI) endif ifeq ($(HOSTARCH),x86) @@ -20,15 +20,3 @@ endif RUSTC_HOST_NAME = $(RUSTC_HOST_ARCH)-unknown-linux-gnu $(eval $(host-virtual-package)) - -ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y) -define RUSTC_INSTALL_CARGO_CONFIG - mkdir -p $(HOST_DIR)/share/cargo - sed -e 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \ - -e 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \ - package/rustc/cargo-config.in \ - > $(HOST_DIR)/share/cargo/config -endef -# check-package disable TypoInPackageVariable - TOOLCHAIN intended -TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += RUSTC_INSTALL_CARGO_CONFIG -endif diff --git a/package/rwmem/Config.in b/package/rwmem/Config.in new file mode 100644 index 00000000000..cd9a7f78f13 --- /dev/null +++ b/package/rwmem/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_RWMEM + bool "rwmem" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR # fmt + select BR2_PACKAGE_FMT + select BR2_PACKAGE_INIH + help + Simple program to read/write from/to any location in memory. + + https://github.com/tomba/rwmem + +comment "rwmem needs a toolchain w/ C++, wchar, gcc >= 5" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/rwmem/rwmem.hash b/package/rwmem/rwmem.hash new file mode 100644 index 00000000000..9becbc5b216 --- /dev/null +++ b/package/rwmem/rwmem.hash @@ -0,0 +1,2 @@ +sha256 55d28f029c0cd5c21d3e1c89371e2905d5217f571ef5389ed0fce163804d1c4a rwmem-c8291705c82bb0686be9adf6a427a2b72114719a.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/rwmem/rwmem.mk b/package/rwmem/rwmem.mk new file mode 100644 index 00000000000..24c4e92efc8 --- /dev/null +++ b/package/rwmem/rwmem.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# rwmem +# +################################################################################ + +RWMEM_VERSION = c8291705c82bb0686be9adf6a427a2b72114719a +RWMEM_SITE = $(call github,tomba,rwmem,$(RWMEM_VERSION)) +RWMEM_LICENSE = GPL-2.0 +RWMEM_LICENSE_FILES = LICENSE +RWMEM_CONF_OPTS = -Dpyrwmem=disabled +RWMEM_DEPENDENCIES = host-pkgconf fmt inih + +$(eval $(meson-package)) diff --git a/package/rygel/0001-build-Add-man_pages-build-options.patch b/package/rygel/0001-build-Add-man_pages-build-options.patch new file mode 100644 index 00000000000..cdd7cc77214 --- /dev/null +++ b/package/rygel/0001-build-Add-man_pages-build-options.patch @@ -0,0 +1,150 @@ +From 5a54c5bb1c9609b7bffe6b3e05f934030e4e990e Mon Sep 17 00:00:00 2001 +From: Jens Georg +Date: Sat, 26 Dec 2020 18:40:51 +0100 +Subject: [PATCH] build: Add man_pages build options + +Check if xsltproc runs succesfully and fail otherwise + +Fixes #192 + +[Retrieved from: +https://gitlab.gnome.org/GNOME/rygel/-/commit/5a54c5bb1c9609b7bffe6b3e05f934030e4e990e] +Signed-off-by: Fabrice Fontaine +--- + doc/man/meson.build | 98 +++++++++++++++++++++++++++------------------ + doc/meson.build | 5 ++- + meson_options.txt | 1 + + 3 files changed, 64 insertions(+), 40 deletions(-) + +diff --git a/doc/man/meson.build b/doc/man/meson.build +index ef3fcfbf5..4c92eab2b 100644 +--- a/doc/man/meson.build ++++ b/doc/man/meson.build +@@ -1,43 +1,63 @@ + xsltproc = find_program('xsltproc', required: false) + + if xsltproc.found() +- xlstproc_flags = [ +- '--nonet', +- '--stringparam', 'man.output.quietly', '1', +- '--stringparam', 'funcsynopsis.style', 'ansi', +- '--stringparam', 'man.authors.section.enabled', '1', +- '--stringparam', 'man.copyright.section.enabled', '1', +- ] +- +- xsltproc_args = [ +- xsltproc, +- xlstproc_flags, +- '-o', '@OUTPUT@', +- 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', +- '@INPUT@', +- ] +- +- man_input_files = [ +- 'rygel.xml', +- 'rygel.conf.xml' +- ] +- +- man_output_files = [ +- 'rygel.1', +- 'rygel.conf.5' +- ] +- +- custom_target('man 1 pages', +- input: 'rygel.xml', +- output: 'rygel.1', +- command: xsltproc_args, +- install: true, +- install_dir: join_paths(get_option('mandir'), 'man1')) +- +- custom_target('man 5 pages', +- input: 'rygel.conf.xml', +- output: 'rygel.conf.5', +- command: xsltproc_args, +- install: true, +- install_dir: join_paths(get_option('mandir'), 'man5')) ++ stylesheet = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl' ++ ++ xlstproc_flags = [ ++ '--nonet', ++ '--stringparam', 'man.output.quietly', '1', ++ '--stringparam', 'funcsynopsis.style', 'ansi', ++ '--stringparam', 'man.authors.section.enabled', '1', ++ '--stringparam', 'man.copyright.section.enabled', '1', ++ ] ++ ++ xsltproc_args = [ ++ xsltproc, ++ xlstproc_flags, ++ '-o', '@OUTPUT@', ++ stylesheet, ++ '@INPUT@', ++ ] ++ ++ man_input_files = [ ++ 'rygel.xml', ++ 'rygel.conf.xml' ++ ] ++ ++ man_output_files = [ ++ 'rygel.1', ++ 'rygel.conf.5' ++ ] ++ ++ r = run_command( ++ [ ++ xsltproc, ++ xlstproc_flags, ++ '-o', '/dev/null', ++ stylesheet, ++ 'rygel.xml' ++ ] ++ ) ++ ++ if (r.returncode() == 0) ++ custom_target( ++ 'man 1 pages', ++ input: 'rygel.xml', ++ output: 'rygel.1', ++ command: xsltproc_args, ++ install: true, ++ install_dir: join_paths(get_option('mandir'), 'man1') ++ ) ++ ++ custom_target( ++ 'man 5 pages', ++ input: 'rygel.conf.xml', ++ output: 'rygel.conf.5', ++ command: xsltproc_args, ++ install: true, ++ install_dir: join_paths(get_option('mandir'), 'man5') ++ ) ++ else ++ error('Cannot bulid man pages, failed to run xsltproc') ++ endif + endif +diff --git a/doc/meson.build b/doc/meson.build +index 41c733e50..91c08fae5 100644 +--- a/doc/meson.build ++++ b/doc/meson.build +@@ -1,2 +1,5 @@ +-subdir('man') ++if get_option('man_pages') ++ subdir('man') ++endif ++ + subdir('reference') +diff --git a/meson_options.txt b/meson_options.txt +index cb604c4e9..c60ff1a9a 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,5 +1,6 @@ + option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only') + option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation') ++option('man_pages', type: 'boolean', value: 'true', description: 'Build the man pages') + option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path') + option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker', 'tracker3']) + option('engines', type : 'array', choices : ['simple', 'gstreamer']) +-- +GitLab + diff --git a/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch b/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch new file mode 100644 index 00000000000..3961ad05644 --- /dev/null +++ b/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch @@ -0,0 +1,84 @@ +From bed9e2effae60f7d736731e93d9e699cb173f04e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 15 Mar 2022 19:20:33 +0100 +Subject: [PATCH] meson.build: fix g_ir_compiler calls + +Fix the following build failure when cross-compiling which is raised +because rygel is using a custom_target target instead of the standard +gnome.generate_gir: + +[108/298] Generating src/librygel-core/RygelCore-2.6.typelib with a custom command +FAILED: src/librygel-core/RygelCore-2.6.typelib +/home/giuliobenetti/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot/usr/bin/g-ir-compiler --output src/librygel-core/RygelCore-2.6.typelib /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir +Could not find GIR file 'GUPnP-1.2.gir'; check XDG_DATA_DIRS or use --includedir +error parsing file /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir: Failed to parse included gir GUPnP-1.2 + +Indeed, the custom_target command is unable to retrieve the correct +--includedir from glib-2.0.pc so add an ugly hack to custom_target calls + +Fixes: + - http://autobuild.buildroot.org/results/2b8956818f03f66a53480f7ed5fc0abb4f05288d + +Signed-off-by: Fabrice Fontaine +[Upstream status: probably not upstreamable] +--- + src/librygel-core/meson.build | 4 +++- + src/librygel-renderer-gst/meson.build | 1 + + src/librygel-renderer/meson.build | 1 + + src/librygel-server/meson.build | 1 + + 4 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/librygel-core/meson.build b/src/librygel-core/meson.build +index fd43bebe..e6be2b5e 100644 +--- a/src/librygel-core/meson.build ++++ b/src/librygel-core/meson.build +@@ -70,7 +70,9 @@ core_gir = custom_target('RygelCore-2.6.gir', + # so we depend on the custom_target from that step and pass the input through + # commandline. + custom_target('RygelCore-2.6.typelib', +- command: [g_ir_compiler, '--output', '@OUTPUT@', join_paths(meson.current_build_dir(), 'RygelCore-2.6.gir')], ++ command: [g_ir_compiler, '--output', '@OUTPUT@', ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, ++ join_paths(meson.current_build_dir(), 'RygelCore-2.6.gir')], + output: 'RygelCore-2.6.typelib', + depends: [ core_lib, core_gir ], + install: true, +diff --git a/src/librygel-renderer-gst/meson.build b/src/librygel-renderer-gst/meson.build +index ad98a3a7..e8baefe1 100644 +--- a/src/librygel-renderer-gst/meson.build ++++ b/src/librygel-renderer-gst/meson.build +@@ -36,6 +36,7 @@ custom_target('RygelRendererGst-2.6.typelib', + '--output', '@OUTPUT@', + '--includedir', core_girdir, + '--includedir', renderer_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelRendererGst-2.6.gir')], + output: 'RygelRendererGst-2.6.typelib', + depends: [renderer_gst_lib, renderer_lib, renderer_gst_gir, renderer_gir], +diff --git a/src/librygel-renderer/meson.build b/src/librygel-renderer/meson.build +index 5f401527..821273ff 100644 +--- a/src/librygel-renderer/meson.build ++++ b/src/librygel-renderer/meson.build +@@ -43,6 +43,7 @@ custom_target('RygelRenderer-2.6.typelib', + command: [g_ir_compiler, + '--output', '@OUTPUT@', + '--includedir', core_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelRenderer-2.6.gir')], + output: 'RygelRenderer-2.6.typelib', + depends: [ renderer_lib, renderer_gir, core_gir ], +diff --git a/src/librygel-server/meson.build b/src/librygel-server/meson.build +index a3bd77d9..6b084eb6 100644 +--- a/src/librygel-server/meson.build ++++ b/src/librygel-server/meson.build +@@ -122,6 +122,7 @@ custom_target('RygelServer-2.6.typelib', + command: [g_ir_compiler, + '--output', '@OUTPUT@', + '--includedir', core_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelServer-2.6.gir')], + output: 'RygelServer-2.6.typelib', + depends: [ server_lib, server_gir, core_gir ], +-- +2.35.1 + diff --git a/package/rygel/Config.in b/package/rygel/Config.in index 86d6a38e1ed..30e84305370 100644 --- a/package/rygel/Config.in +++ b/package/rygel/Config.in @@ -2,8 +2,16 @@ config BR2_PACKAGE_RYGEL bool "rygel" depends on BR2_USE_WCHAR # gupnp-av depends on BR2_TOOLCHAIN_HAS_THREADS # gupnp-av - depends on BR2_USE_MMU # gupnp-av + depends on BR2_USE_MMU # gupnp-av, gobject-introspection + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # gobject-introspection + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection -> host-qemu + depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection + depends on BR2_PACKAGE_PYTHON3 # gobject-introspection + select BR2_PACKAGE_GDK_PIXBUF + select BR2_PACKAGE_GOBJECT_INTROSPECTION select BR2_PACKAGE_GUPNP_AV + select BR2_PACKAGE_GUPNP_DLNA select BR2_PACKAGE_LIBGEE select BR2_PACKAGE_LIBMEDIAART select BR2_PACKAGE_SQLITE @@ -37,15 +45,19 @@ config BR2_PACKAGE_RYGEL_MEDIA_ENGINE_SIMPLE config BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1 bool "gstreamer1" - select BR2_PACKAGE_GDK_PIXBUF - select BR2_PACKAGE_GUPNP_DLNA - select BR2_PACKAGE_GSTREAMER1 - select BR2_PACKAGE_GST1_PLUGINS_BASE + depends on BR2_PACKAGE_GSTREAMER1_EDITING_SERVICES + +comment "gstreamer1 needs gst1-editing-services" + depends on !BR2_PACKAGE_GSTREAMER1_EDITING_SERVICES endchoice -comment "rygel needs a toolchain w/ wchar, threads" +comment "rygel needs a glibc toolchain w/ wchar, threads, gcc >= 4.9, host gcc >= 8" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_8 endif # BR2_PACKAGE_RYGEL diff --git a/package/rygel/rygel.hash b/package/rygel/rygel.hash index 33b44aecc2c..04b11ff54a0 100644 --- a/package/rygel/rygel.hash +++ b/package/rygel/rygel.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.38/rygel-0.38.3.sha256sum: -sha256 08c21a577f7bdad26446a75ffa32778b26842c3b1188165f0b19818559747d00 rygel-0.38.3.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.40/rygel-0.40.2.sha256sum: +sha256 c9e8c736296d22c4defe959727a29d31437bbd2b7aa0c6470d6be24011050697 rygel-0.40.2.tar.xz # Locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/rygel/rygel.mk b/package/rygel/rygel.mk index 21c8ebee6a5..e05297456d0 100644 --- a/package/rygel/rygel.mk +++ b/package/rygel/rygel.mk @@ -4,14 +4,17 @@ # ################################################################################ -RYGEL_VERSION_MAJOR = 0.38 -RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).3 +RYGEL_VERSION_MAJOR = 0.40 +RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).2 RYGEL_SOURCE = rygel-$(RYGEL_VERSION).tar.xz RYGEL_SITE = http://ftp.gnome.org/pub/gnome/sources/rygel/$(RYGEL_VERSION_MAJOR) RYGEL_LICENSE = LGPL-2.1+, CC-BY-SA-3.0 (logo) RYGEL_LICENSE_FILES = COPYING COPYING.logo RYGEL_DEPENDENCIES = \ + gdk-pixbuf \ + gobject-introspection \ gupnp-av \ + gupnp-dlna \ libgee \ libmediaart \ sqlite \ @@ -20,51 +23,37 @@ RYGEL_INSTALL_STAGING = YES RYGEL_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) RYGEL_CONF_OPTS += \ - --disable-apidocs \ - --disable-coverage \ - --disable-example-plugins \ - --enable-external-plugin \ - --enable-lms-plugin \ - --enable-mpris-plugin \ - --enable-ruih-plugin \ - --disable-tracker-plugin - -ifeq ($(BR2_PACKAGE_GDK_PIXBUF),y) -RYGEL_DEPENDENCIES += gdk-pixbuf -endif - -ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -RYGEL_CONF_OPTS += --enable-introspection -RYGEL_DEPENDENCIES += gobject-introspection -else -RYGEL_CONF_OPTS += --disable-introspection -endif + -Dapi-docs=false \ + -Dexamples=false \ + -Dintrospection=enabled \ + -Dman_pages=false \ + -Dtests=false +RYGEL_PLUGINS = external,lms,mpris,ruih ifeq ($(BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1),y) RYGEL_CONF_OPTS += \ - --with-media-engine=gstreamer \ - --enable-playbin-plugin \ - --enable-media_export-plugin \ - --enable-gst-launch-plugin + -Dengines=gstreamer \ + -Dgstreamer=enabled +RYGEL_PLUGINS += ,playbin,media-export,gst-launch RYGEL_DEPENDENCIES += \ - gupnp-dlna \ gst1-plugins-base \ - gstreamer1 + gstreamer1 \ + gstreamer1-editing-services else ifeq ($(BR2_PACKAGE_RYGEL_MEDIA_ENGINE_SIMPLE),y) RYGEL_CONF_OPTS += \ - --with-media-engine=simple \ - --disable-playbin-plugin \ - --disable-media_export-plugin \ - --disable-gst-launch-plugin + -Dengines=simple \ + -Dgstreamer=disabled endif ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) -RYGEL_CONF_OPTS += --with-ui +RYGEL_CONF_OPTS += -Dgtk=enabled RYGEL_DEPENDENCIES += libgtk3 else -RYGEL_CONF_OPTS += --without-ui +RYGEL_CONF_OPTS += -Dgtk=disabled endif +RYGEL_CONF_OPTS += -Dplugins="$(RYGEL_PLUGINS)" + define RYGEL_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/rygel/S99rygel \ $(TARGET_DIR)/etc/init.d/S99rygel @@ -75,4 +64,4 @@ define RYGEL_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/usr/lib/systemd/system/rygel.service endef -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/s390-tools/0001-zkey-ekmfweb-fix-linking-of-libekmfweb.patch b/package/s390-tools/0001-zkey-ekmfweb-fix-linking-of-libekmfweb.patch deleted file mode 100644 index 76a642af70c..00000000000 --- a/package/s390-tools/0001-zkey-ekmfweb-fix-linking-of-libekmfweb.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a4e6f7239d8cee37e58eac974482d6deefa8a137 Mon Sep 17 00:00:00 2001 -From: Alexander Egorenkov -Date: Thu, 5 Nov 2020 17:42:58 +0100 -Subject: [PATCH 1/1] zkey/ekmfweb: fix linking of libekmfweb - -Use -L compiler's parameter instead of the environment variable -LIBRARY_PATH. - -Fixes the following problem on buildroot: - -buildroot/qemu-s390x/host/bin/s390x-linux-gcc -shared -Wl,--version-script=zkey-ekmfweb.map -Wl,-z,defs,-Bsymbolic -Wl,-soname,zkey-ekmfweb.so.1 zkey-ekmfweb.o properties.o pkey.o cca.o ep11.o utils.o ../..//libutil/libutil.a -lekmfweb -ldl -lcrypto -o zkey-ekmfweb.so -buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c udev_ccwgroup.c -o udev_ccwgroup.o -buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c iscsi.c -o iscsi.o -buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c dasd.c -o dasd.o -buildroot/qemu-s390x/host/opt/ext-toolchain/bin/../lib/gcc/s390x-buildroot-linux-gnu/9.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: cannot find -lekmfweb -collect2: error: ld returned 1 exit status -make[4]: *** [Makefile:36: zkey-ekmfweb.so] Error 1 -make[3]: *** [Makefile:128: ekmfweb] Error 2 -buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c zfcp.c -o zfcp.o -make[2]: *** [Makefile:43: zkey] Error 2 -make[2]: *** Waiting for unfinished jobs.... - -Signed-off-by: Alexander Egorenkov -Acked-by: Ingo Franzki ---- - zkey/ekmfweb/Makefile | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/zkey/ekmfweb/Makefile b/zkey/ekmfweb/Makefile -index 79a16cb5..1a3a4977 100644 ---- a/zkey/ekmfweb/Makefile -+++ b/zkey/ekmfweb/Makefile -@@ -7,8 +7,6 @@ all: zkey-ekmfweb.so - - libs = $(rootdir)/libutil/libutil.a - --export LIBRARY_PATH = $(rootdir)/libekmfweb:$LIBRARY_PATH -- - zkey-ekmfweb.o: zkey-ekmfweb.c zkey-ekmfweb.h ../kms-plugin.h \ - ../cca.h ../utils.h ../pkey.h ../properties.h \ - $(rootdir)include/ekmfweb/ekmfweb.h libekmfweb.dep -@@ -29,7 +27,7 @@ utils.o: ../utils.c ../utils.h ../pkey.h ../cca.h ../ep11.h - $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -fPIC -c $< -o $@ - - zkey-ekmfweb.so: ALL_CFLAGS += -fPIC --zkey-ekmfweb.so: LDLIBS = -lekmfweb -ldl -lcrypto -+zkey-ekmfweb.so: LDLIBS = -L$(rootdir)/libekmfweb -lekmfweb -ldl -lcrypto - zkey-ekmfweb.so: ALL_LDFLAGS += -shared -Wl,--version-script=zkey-ekmfweb.map \ - -Wl,-z,defs,-Bsymbolic -Wl,-soname,zkey-ekmfweb.so.$(VERM) - zkey-ekmfweb.so: zkey-ekmfweb.o properties.o pkey.o cca.o ep11.o utils.o $(libs) --- -2.26.2 - diff --git a/package/s390-tools/0002-osasnmpd-Makefile-fix-cross-compilation.patch b/package/s390-tools/0002-osasnmpd-Makefile-fix-cross-compilation.patch deleted file mode 100644 index 8e3d1399f26..00000000000 --- a/package/s390-tools/0002-osasnmpd-Makefile-fix-cross-compilation.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d7faa31a871d14ab02b290bdf2b2fa085766d2ac Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 27 Nov 2020 23:43:15 +0100 -Subject: [PATCH] osasnmpd/Makefile: fix cross-compilation - -Fix the following build failure by allowing the user to provide -NET_SNMP_CONFIG: - -/bin/sh: net-snmp-config: command not found -/home/buildroot/autobuild/run/instance-2/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/9.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: osasnmpd.o: in function `main': -osasnmpd.c:(.text.startup+0xcc): undefined reference to `snmp_log_perror' - -Fixes: - - http://autobuild.buildroot.org/results/00796f2ebd5fb0e08ac7a05a9ee566f2bc4bd1c3 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/ibm-s390-tools/s390-tools/pull/99] ---- - osasnmpd/Makefile | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/osasnmpd/Makefile b/osasnmpd/Makefile -index 15496b2..8ce0932 100644 ---- a/osasnmpd/Makefile -+++ b/osasnmpd/Makefile -@@ -1,9 +1,10 @@ - include ../common.mak --LDLIBS = `net-snmp-config --agent-libs` -+NET_SNMP_CONFIG = net-snmp-config -+LDLIBS = `$(NET_SNMP_CONFIG) --agent-libs` - # On some Linux systems `net-snmp-config --agent-libs` introduces -pie, - # therefore add -fPIC to prevent link failures. - ALL_CFLAGS += -fPIC --ALL_CFLAGS += `net-snmp-config --cflags` -+ALL_CFLAGS += `$(NET_SNMP_CONFIG) --cflags` - - OBJS = ibmOSAMib.o ibmOSAMibUtil.o osasnmpd.o - --- -2.29.2 - diff --git a/package/s390-tools/0004-zipl-boot-Makefile-no-pie-is-not-a-valid-ld-flag.patch b/package/s390-tools/0004-zipl-boot-Makefile-no-pie-is-not-a-valid-ld-flag.patch new file mode 100644 index 00000000000..fcdf06088a8 --- /dev/null +++ b/package/s390-tools/0004-zipl-boot-Makefile-no-pie-is-not-a-valid-ld-flag.patch @@ -0,0 +1,29 @@ +From 9fd3c733c645be13a2e39a3bae3983f88530b48d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Lukas=20M=C3=A4rdian?= +Date: Thu, 7 Jan 2021 12:46:22 +0100 +Subject: [PATCH] zipl/boot/Makefile: -no-pie is not a valid ld flag + +The "-no-pie" option never has been a valid flag of ld. It breaks the build with newer binutils. +See: +https://sourceware.org/bugzilla/show_bug.cgi?id=27050 +https://bugs.launchpad.net/ubuntu/+source/s390-tools/+bug/1907789 + +[Retrieved from: https://github.com/ibm-s390-linux/s390-tools/pull/106] +Signed-off-by: Fabrice Fontaine +--- + zipl/boot/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/zipl/boot/Makefile b/zipl/boot/Makefile +index a2e5f190..b81df778 100644 +--- a/zipl/boot/Makefile ++++ b/zipl/boot/Makefile +@@ -109,7 +109,7 @@ stage3.bin: stage3.exec + $< $@ + + data.o: $(FILES) +- $(LD) $(NO_PIE_LDFLAGS) -r -b binary -o data.o $(FILES) ++ $(LD) -r -b binary -o data.o $(FILES) + + data.h: data.o + rm -f data.h diff --git a/package/s390-tools/Config.in b/package/s390-tools/Config.in index 4aede4e2652..23b7d31db69 100644 --- a/package/s390-tools/Config.in +++ b/package/s390-tools/Config.in @@ -11,4 +11,4 @@ config BR2_PACKAGE_S390_TOOLS help Tools for use with the s390 Linux kernel and device drivers. - https://github.com/ibm-s390-tools/s390-tools + https://github.com/ibm-s390-linux/s390-tools diff --git a/package/s390-tools/s390-tools.hash b/package/s390-tools/s390-tools.hash index 1de2399e032..13c68fbf52f 100644 --- a/package/s390-tools/s390-tools.hash +++ b/package/s390-tools/s390-tools.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 8dc1180031018756ccd5acf6c26c4175bcac79e512e8a2ea8569fdf5d3f9bd6c s390-tools-2.15.1.tar.gz +sha256 17dc163e6a1e940f895c64955c130058600e1df834e1ab134410be7266ef724a s390-tools-2.19.0.tar.gz sha256 cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75 LICENSE diff --git a/package/s390-tools/s390-tools.mk b/package/s390-tools/s390-tools.mk index 535caf208e4..328986bcb37 100644 --- a/package/s390-tools/s390-tools.mk +++ b/package/s390-tools/s390-tools.mk @@ -4,8 +4,8 @@ # ################################################################################ -S390_TOOLS_VERSION = 2.15.1 -S390_TOOLS_SITE = $(call github,ibm-s390-tools,s390-tools,v$(S390_TOOLS_VERSION)) +S390_TOOLS_VERSION = 2.19.0 +S390_TOOLS_SITE = $(call github,ibm-s390-linux,s390-tools,v$(S390_TOOLS_VERSION)) S390_TOOLS_LICENSE = MIT S390_TOOLS_LICENSE_FILES = LICENSE S390_TOOLS_DEPENDENCIES = zlib @@ -19,6 +19,7 @@ S390_TOOLS_MAKE_OPTS = \ ifeq ($(BR2_PACKAGE_LIBCURL),y) S390_TOOLS_DEPENDENCIES += libcurl S390_TOOLS_MAKE_OPTS += \ + CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config \ HAVE_CURL=1 \ HAVE_LIBCURL=1 else @@ -55,6 +56,15 @@ else S390_TOOLS_MAKE_OPTS += HAVE_GLIB2=0 endif +ifeq ($(BR2_PACKAGE_LIBXML2),y) +S390_TOOLS_DEPENDENCIES += libxml2 +S390_TOOLS_MAKE_OPTS += \ + HAVE_LIBXML2=1 \ + XML2_CONFIG=$(STAGING_DIR)/usr/bin/xml2-config +else +S390_TOOLS_MAKE_OPTS += HAVE_LIBXML2=0 +endif + ifeq ($(BR2_PACKAGE_NCURSES),y) S390_TOOLS_DEPENDENCIES += ncurses S390_TOOLS_MAKE_OPTS += HAVE_NCURSES=1 diff --git a/package/s6-dns/s6-dns.hash b/package/s6-dns/s6-dns.hash index 5ee12ae2753..c63e96e1292 100644 --- a/package/s6-dns/s6-dns.hash +++ b/package/s6-dns/s6-dns.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 415e3e8a8baaa39b3eac57eef8b3023d63bcdb33d9f9b03bcb298fd940589132 s6-dns-2.3.1.1.tar.gz -sha256 d8e17a6418d26867c13801810903a1f78beac8cfe8f92c2a85afe59f3c3fc48c COPYING +sha256 0c1d50e5d7bc65cbf59b6f37fbd7f6f5645694224bb8c4dc1943d7921bc74f63 s6-dns-2.3.5.1.tar.gz +sha256 adecb8bedfaae27fcfe65ecb3ef0e2e71aa2a2b49dc21886a200bc677d93e6ec COPYING diff --git a/package/s6-dns/s6-dns.mk b/package/s6-dns/s6-dns.mk index 7384f072444..dfde2c29f19 100644 --- a/package/s6-dns/s6-dns.mk +++ b/package/s6-dns/s6-dns.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_DNS_VERSION = 2.3.1.1 +S6_DNS_VERSION = 2.3.5.1 S6_DNS_SITE = http://skarnet.org/software/s6-dns S6_DNS_LICENSE = ISC S6_DNS_LICENSE_FILES = COPYING @@ -12,11 +12,11 @@ S6_DNS_INSTALL_STAGING = YES S6_DNS_DEPENDENCIES = skalibs S6_DNS_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/s6-linux-init/0001-configure-add-D_GNU_SOURCE.patch b/package/s6-linux-init/0001-configure-add-D_GNU_SOURCE.patch new file mode 100644 index 00000000000..e9a272679e8 --- /dev/null +++ b/package/s6-linux-init/0001-configure-add-D_GNU_SOURCE.patch @@ -0,0 +1,40 @@ +From dadb157df58e79c7f560cacae80ea51953606fca Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 11 Apr 2021 11:02:20 +0200 +Subject: [PATCH] configure: add -D_GNU_SOURCE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This will fix the following build failure with uclibc-ng which is raised +since version 1.0.6.1 and +https://github.com/skarnet/s6-linux-init/commit/355a75e08bbc8af8af97576bad07471dd1b431d8: + +src/shutdown/s6-linux-init-shutdownd.c: In function ‘main’: +src/shutdown/s6-linux-init-shutdownd.c:294:24: error: ‘F_DUPFD_CLOEXEC’ undeclared (first use in this function); did you mean ‘FD_CLOEXEC’? + 294 | fd[0] = fcntl(1, F_DUPFD_CLOEXEC, 0) ; + | ^~~~~~~~~~~~~~~ + | FD_CLOEXEC + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/skarnet/s6-linux-init/pull/3] +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 47db5b2..90fbb3b 100755 +--- a/configure ++++ b/configure +@@ -138,7 +138,7 @@ getmacrostring () { + # Actual script + + CC_AUTO= +-CPPFLAGS_AUTO="-D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -iquote src/include-local -Isrc/include" ++CPPFLAGS_AUTO="-D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -iquote src/include-local -Isrc/include" + CPPFLAGS_POST="$CPPFLAGS" + CPPFLAGS= + CFLAGS_AUTO="-pipe -Wall" +-- +2.30.2 + diff --git a/package/s6-linux-init/s6-linux-init.hash b/package/s6-linux-init/s6-linux-init.hash index bc2f7072ca5..23f02d5359c 100644 --- a/package/s6-linux-init/s6-linux-init.hash +++ b/package/s6-linux-init/s6-linux-init.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 216af5589c2bc5dbdea6b6c94d55575c12e31f57b2e0fde5c534a840aeed02fb s6-linux-init-1.0.3.1.tar.gz -sha256 487e89990a571700bcdf7c0cbbde2859446f79e85e8b59791adab98fff6b1889 COPYING +sha256 29e368516b1a3c61a6d1f8680645cc122a2e02127debec91738f170a3b93b8c5 s6-linux-init-1.0.6.3.tar.gz +sha256 4a5e44a69d649f0c37b29d7f6e5df1bb292b09898247be07f0c97814dac4b15d COPYING diff --git a/package/s6-linux-init/s6-linux-init.mk b/package/s6-linux-init/s6-linux-init.mk index 71c727de02f..95595368de3 100644 --- a/package/s6-linux-init/s6-linux-init.mk +++ b/package/s6-linux-init/s6-linux-init.mk @@ -4,20 +4,20 @@ # ################################################################################ -S6_LINUX_INIT_VERSION = 1.0.3.1 +S6_LINUX_INIT_VERSION = 1.0.6.3 S6_LINUX_INIT_SITE = http://skarnet.org/software/s6-linux-init S6_LINUX_INIT_LICENSE = ISC S6_LINUX_INIT_LICENSE_FILES = COPYING S6_LINUX_INIT_DEPENDENCIES = s6 s6-linux-utils s6-portable-utils S6_LINUX_INIT_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/execline \ - --with-lib=$(STAGING_DIR)/usr/lib/s6 \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/execline \ + --with-lib=$(STAGING_DIR)/lib/s6 \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/s6-linux-utils/s6-linux-utils.hash b/package/s6-linux-utils/s6-linux-utils.hash index 638b6b81607..27e7eb7b7a8 100644 --- a/package/s6-linux-utils/s6-linux-utils.hash +++ b/package/s6-linux-utils/s6-linux-utils.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 25f61961f3247b9a833536ebd1e19f3b024fa095fce30f93d82fdfd4e015dc02 s6-linux-utils-2.5.1.1.tar.gz -sha256 d8e17a6418d26867c13801810903a1f78beac8cfe8f92c2a85afe59f3c3fc48c COPYING +sha256 c300dbf36b533083f82c6827830c55ce34bfc6cd493c782f207d199669a345ba s6-linux-utils-2.5.1.5.tar.gz +sha256 adecb8bedfaae27fcfe65ecb3ef0e2e71aa2a2b49dc21886a200bc677d93e6ec COPYING diff --git a/package/s6-linux-utils/s6-linux-utils.mk b/package/s6-linux-utils/s6-linux-utils.mk index 926ec523a11..995ff1b855d 100644 --- a/package/s6-linux-utils/s6-linux-utils.mk +++ b/package/s6-linux-utils/s6-linux-utils.mk @@ -4,18 +4,18 @@ # ################################################################################ -S6_LINUX_UTILS_VERSION = 2.5.1.1 +S6_LINUX_UTILS_VERSION = 2.5.1.5 S6_LINUX_UTILS_SITE = http://skarnet.org/software/s6-linux-utils S6_LINUX_UTILS_LICENSE = ISC S6_LINUX_UTILS_LICENSE_FILES = COPYING S6_LINUX_UTILS_DEPENDENCIES = skalibs S6_LINUX_UTILS_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/s6-networking/s6-networking.hash b/package/s6-networking/s6-networking.hash index 41ceda0c055..9e333866d3c 100644 --- a/package/s6-networking/s6-networking.hash +++ b/package/s6-networking/s6-networking.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 9d411b5f742529be8e14da0a21635fcc304a4d7ac05fe0e45cf2355e5e3cf188 s6-networking-2.3.1.1.tar.gz -sha256 d8e17a6418d26867c13801810903a1f78beac8cfe8f92c2a85afe59f3c3fc48c COPYING +sha256 a3fbca789dc5c82b3055fdbd2f55110902198f3136447617ce8f8b79fa8aa554 s6-networking-2.4.1.1.tar.gz +sha256 adecb8bedfaae27fcfe65ecb3ef0e2e71aa2a2b49dc21886a200bc677d93e6ec COPYING diff --git a/package/s6-networking/s6-networking.mk b/package/s6-networking/s6-networking.mk index c23445b967f..03807f06523 100644 --- a/package/s6-networking/s6-networking.mk +++ b/package/s6-networking/s6-networking.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_NETWORKING_VERSION = 2.3.1.1 +S6_NETWORKING_VERSION = 2.4.1.1 S6_NETWORKING_SITE = http://skarnet.org/software/s6-networking S6_NETWORKING_LICENSE = ISC S6_NETWORKING_LICENSE_FILES = COPYING @@ -12,20 +12,23 @@ S6_NETWORKING_INSTALL_STAGING = YES S6_NETWORKING_DEPENDENCIES = s6-dns s6 S6_NETWORKING_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/execline \ - --with-lib=$(STAGING_DIR)/usr/lib/s6 \ - --with-lib=$(STAGING_DIR)/usr/lib/s6-dns \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/execline \ + --with-lib=$(STAGING_DIR)/lib/s6 \ + --with-lib=$(STAGING_DIR)/lib/s6-dns \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) ifeq ($(BR2_PACKAGE_LIBRESSL),y) S6_NETWORKING_CONF_OPTS += --enable-ssl=libressl S6_NETWORKING_DEPENDENCIES += libressl +else ifeq ($(BR2_PACKAGE_BEARSSL),y) +S6_NETWORKING_CONF_OPTS += --enable-ssl=bearssl +S6_NETWORKING_DEPENDENCIES += bearssl endif define S6_NETWORKING_CONFIGURE_CMDS diff --git a/package/s6-portable-utils/s6-portable-utils.hash b/package/s6-portable-utils/s6-portable-utils.hash index 83823b34387..dd9f7df4bd3 100644 --- a/package/s6-portable-utils/s6-portable-utils.hash +++ b/package/s6-portable-utils/s6-portable-utils.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 1e473224350c6ebedd7adf162b68303e2e0a32ca2e99d7afee7573d9e78f931c s6-portable-utils-2.2.2.1.tar.gz -sha256 d8e17a6418d26867c13801810903a1f78beac8cfe8f92c2a85afe59f3c3fc48c COPYING +sha256 6627a2d3ea263539e83512a36f10a587fa0dd5e899bc3612187e9e3b9faf769c s6-portable-utils-2.2.3.2.tar.gz +sha256 adecb8bedfaae27fcfe65ecb3ef0e2e71aa2a2b49dc21886a200bc677d93e6ec COPYING diff --git a/package/s6-portable-utils/s6-portable-utils.mk b/package/s6-portable-utils/s6-portable-utils.mk index 8b60bf43e30..fb910320ea4 100644 --- a/package/s6-portable-utils/s6-portable-utils.mk +++ b/package/s6-portable-utils/s6-portable-utils.mk @@ -4,18 +4,18 @@ # ################################################################################ -S6_PORTABLE_UTILS_VERSION = 2.2.2.1 +S6_PORTABLE_UTILS_VERSION = 2.2.3.2 S6_PORTABLE_UTILS_SITE = http://skarnet.org/software/s6-portable-utils S6_PORTABLE_UTILS_LICENSE = ISC S6_PORTABLE_UTILS_LICENSE_FILES = COPYING S6_PORTABLE_UTILS_DEPENDENCIES = skalibs S6_PORTABLE_UTILS_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/s6-rc/s6-rc.hash b/package/s6-rc/s6-rc.hash index 918dc0fd2ef..8978d68ba61 100644 --- a/package/s6-rc/s6-rc.hash +++ b/package/s6-rc/s6-rc.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 257e2c428336c2b57cd17b65382bc55592759acc65e053e23ad646444f28af52 s6-rc-0.5.1.1.tar.gz -sha256 487e89990a571700bcdf7c0cbbde2859446f79e85e8b59791adab98fff6b1889 COPYING +sha256 2a8d1cd455c05c8502b34517cfe79841aa46d08ad969076b37a15d3910617f89 s6-rc-0.5.2.2.tar.gz +sha256 4a5e44a69d649f0c37b29d7f6e5df1bb292b09898247be07f0c97814dac4b15d COPYING diff --git a/package/s6-rc/s6-rc.mk b/package/s6-rc/s6-rc.mk index 30443413715..05d79897356 100644 --- a/package/s6-rc/s6-rc.mk +++ b/package/s6-rc/s6-rc.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_RC_VERSION = 0.5.1.1 +S6_RC_VERSION = 0.5.2.2 S6_RC_SITE = http://skarnet.org/software/s6-rc S6_RC_LICENSE = ISC S6_RC_LICENSE_FILES = COPYING @@ -12,13 +12,13 @@ S6_RC_INSTALL_STAGING = YES S6_RC_DEPENDENCIES = s6 S6_RC_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/execline \ - --with-lib=$(STAGING_DIR)/usr/lib/s6 \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/execline \ + --with-lib=$(STAGING_DIR)/lib/s6 \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/s6/s6.hash b/package/s6/s6.hash index 9b355351eab..a829700d975 100644 --- a/package/s6/s6.hash +++ b/package/s6/s6.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 e0cdbaf26e3ba1c41ecc0a8d1f45fb78194f96109b55cabeb849528b7e966c57 s6-2.9.0.1.tar.gz -sha256 d8e17a6418d26867c13801810903a1f78beac8cfe8f92c2a85afe59f3c3fc48c COPYING +sha256 1d21373151704150df0e8ed199f097f6ee5d2befb9a68aca4f20f3862e5d8757 s6-2.10.0.3.tar.gz +sha256 adecb8bedfaae27fcfe65ecb3ef0e2e71aa2a2b49dc21886a200bc677d93e6ec COPYING diff --git a/package/s6/s6.mk b/package/s6/s6.mk index ec1407381e2..ead82d7eaf3 100644 --- a/package/s6/s6.mk +++ b/package/s6/s6.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_VERSION = 2.9.0.1 +S6_VERSION = 2.10.0.3 S6_SITE = http://skarnet.org/software/s6 S6_LICENSE = ISC S6_LICENSE_FILES = COPYING @@ -12,12 +12,12 @@ S6_INSTALL_STAGING = YES S6_DEPENDENCIES = execline S6_CONF_OPTS = \ - --prefix=/usr \ - --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ - --with-include=$(STAGING_DIR)/usr/include \ - --with-dynlib=$(STAGING_DIR)/usr/lib \ - --with-lib=$(STAGING_DIR)/usr/lib/execline \ - --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + --prefix=/ \ + --with-sysdeps=$(STAGING_DIR)/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/include \ + --with-dynlib=$(STAGING_DIR)/lib \ + --with-lib=$(STAGING_DIR)/lib/execline \ + --with-lib=$(STAGING_DIR)/lib/skalibs \ $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/safeclib/0001-fix-armv7-asm-inline-error-GH-115.patch b/package/safeclib/0001-fix-armv7-asm-inline-error-GH-115.patch new file mode 100644 index 00000000000..3cb37b96f50 --- /dev/null +++ b/package/safeclib/0001-fix-armv7-asm-inline-error-GH-115.patch @@ -0,0 +1,156 @@ +From 9c739800a8915d5f2a73c840190920e95ffa1c5c Mon Sep 17 00:00:00 2001 +From: Reini Urban +Date: Fri, 18 Feb 2022 09:46:45 +0100 +Subject: [PATCH] fix armv7 asm inline error GH #115 + +some armv7 buildroot variants fail on asm. +we already probe for that, so use it. +Fixes GH #115 + +[Retrieved from: +https://github.com/rurban/safeclib/commit/9c739800a8915d5f2a73c840190920e95ffa1c5c] +Signed-off-by: Fabrice Fontaine +--- + tests/perf_private.h | 49 +++++++++++++++++++++++++------------------- + 1 file changed, 28 insertions(+), 21 deletions(-) + +diff --git a/tests/perf_private.h b/tests/perf_private.h +index 3296cb3d..843674d3 100644 +--- a/tests/perf_private.h ++++ b/tests/perf_private.h +@@ -1,9 +1,9 @@ + /*------------------------------------------------------------------ + * perf_private.h - Internal benchmarking tools + * +- * 2020 Reini Urban ++ * 2020,2022 Reini Urban + * +- * Copyright (c) 2017, 2020 Reini Urban ++ * Copyright (c) 2017, 2020, 2022 Reini Urban + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person +@@ -55,13 +55,16 @@ static inline uint64_t timer_start(); + static inline uint64_t timer_end(); + + static inline clock_t rdtsc() { +-#ifdef __x86_64__ ++#ifndef ASM_INLINE ++#define NO_CYCLE_COUNTER ++ return clock(); ++#elif defined __x86_64__ + uint64_t a, d; +- __asm__ volatile("rdtsc" : "=a"(a), "=d"(d)); ++ ASM_INLINE volatile("rdtsc" : "=a"(a), "=d"(d)); + return (clock_t)(a | (d << 32)); + #elif defined(__i386__) + clock_t x; +- __asm__ volatile("rdtsc" : "=A"(x)); ++ ASM_INLINE volatile("rdtsc" : "=A"(x)); + return x; + #elif defined(__ARM_ARCH) && (__ARM_ARCH >= 7) && (SIZEOF_SIZE_T == 4) + // V7 is the earliest arch that has a standard cyclecount (some say 6) +@@ -69,11 +72,11 @@ static inline clock_t rdtsc() { + uint32_t pmuseren; + uint32_t pmcntenset; + // Read the user mode perf monitor counter access permissions. +- asm volatile("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ ASM_INLINE volatile("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); + if (pmuseren & 1) { // Allows reading perfmon counters for user mode code. +- asm volatile("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ ASM_INLINE volatile("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); + if (pmcntenset & 0x80000000ul) { // Is it counting? +- asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ ASM_INLINE volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); + // The counter is set up to count every 64th cycle + return (int64_t)(pmccntr) * 64; // Should optimize to << 6 + } +@@ -83,22 +86,22 @@ static inline clock_t rdtsc() { + uint64_t pmccntr; + uint64_t pmuseren = 1UL; + // Read the user mode perf monitor counter access permissions. +- //asm volatile("mrs cntv_ctl_el0, %0" : "=r" (pmuseren)); ++ //ASM_INLINE volatile("mrs cntv_ctl_el0, %0" : "=r" (pmuseren)); + if (pmuseren & 1) { // Allows reading perfmon counters for user mode code. +- asm volatile("mrs %0, cntvct_el0" : "=r" (pmccntr)); ++ ASM_INLINE volatile("mrs %0, cntvct_el0" : "=r" (pmccntr)); + return (uint64_t)(pmccntr) * 64; // Should optimize to << 6 + } + return (uint64_t)rdtsc(); + #elif defined(__powerpc64__) || defined(__ppc64__) + uint64_t tb; +- __asm__ volatile (\ ++ ASM_INLINE volatile (\ + "mfspr %0, 268" + : "=r" (tb)); + return tb; + #elif defined(__powerpc__) || defined(__ppc__) + // This returns a time-base, which is not always precisely a cycle-count. + uint32_t tbu, tbl, tmp; +- __asm__ volatile (\ ++ ASM_INLINE volatile (\ + "0:\n" + "mftbu %0\n" + "mftbl %1\n" +@@ -109,12 +112,12 @@ static inline clock_t rdtsc() { + return (((uint64_t) tbu << 32) | tbl); + #elif defined(__sparc__) + uint64_t tick; +- asm(".byte 0x83, 0x41, 0x00, 0x00"); +- asm("mov %%g1, %0" : "=r" (tick)); ++ ASM_INLINE(".byte 0x83, 0x41, 0x00, 0x00"); ++ ASM_INLINE("mov %%g1, %0" : "=r" (tick)); + return tick; + #elif defined(__ia64__) + uint64_t itc; +- asm("mov %0 = ar.itc" : "=r" (itc)); ++ ASM_INLINE("mov %0 = ar.itc" : "=r" (itc)); + return itc; + #else + #define NO_CYCLE_COUNTER +@@ -126,9 +129,11 @@ static inline clock_t rdtsc() { + // 3.2.1 The Improved Benchmarking Method + static inline uint64_t timer_start() + { +-#if defined (__i386__) || (defined(__x86_64__) && SIZEOF_SIZE_T == 4) ++#ifndef ASM_INLINE ++ return (uint64_t)rdtsc(); ++#elif defined (__i386__) || (defined(__x86_64__) && SIZEOF_SIZE_T == 4) + uint32_t cycles_high, cycles_low; +- __asm__ volatile ++ ASM_INLINE volatile + ("cpuid\n\t" + "rdtsc\n\t" + "mov %%edx, %0\n\t" +@@ -137,7 +142,7 @@ static inline uint64_t timer_start() + return ((uint64_t)cycles_high << 32) | cycles_low; + #elif defined __x86_64__ + uint32_t cycles_high, cycles_low; +- __asm__ volatile ++ ASM_INLINE volatile + ("cpuid\n\t" + "rdtsc\n\t" + "mov %%edx, %0\n\t" +@@ -151,9 +156,11 @@ static inline uint64_t timer_start() + + static inline uint64_t timer_end() + { +-#if defined (__i386__) || (defined(__x86_64__) && defined (HAVE_BIT32)) ++#ifndef ASM_INLINE ++ return (uint64_t)rdtsc(); ++#elif defined (__i386__) || (defined(__x86_64__) && defined (HAVE_BIT32)) + uint32_t cycles_high, cycles_low; +- __asm__ volatile ++ ASM_INLINE volatile + ("rdtscp\n\t" + "mov %%edx, %0\n\t" + "mov %%eax, %1\n\t" +@@ -162,7 +169,7 @@ static inline uint64_t timer_end() + return ((uint64_t)cycles_high << 32) | cycles_low; + #elif defined __x86_64__ + uint32_t cycles_high, cycles_low; +- __asm__ volatile ++ ASM_INLINE volatile + ("rdtscp\n\t" + "mov %%edx, %0\n\t" + "mov %%eax, %1\n\t" diff --git a/package/safeclib/safeclib.hash b/package/safeclib/safeclib.hash index 7e1c6794e45..bca5d86261d 100644 --- a/package/safeclib/safeclib.hash +++ b/package/safeclib/safeclib.hash @@ -1,5 +1,5 @@ -# From https://github.com/rurban/safeclib/releases/tag/v08112019 -sha256 bc2f25875522c50a3a5901981020d906db0b6a7d365619b8d72412c126be3923 libsafec-08112019.0-gad76c7.tar.bz2 +# From https://github.com/rurban/safeclib/releases/tag/v3.7.1 +sha256 71d3ec970f930bd980f2a41127228eeedfc53749e4c6b203329adc4ff7df32a7 safeclib-3.7.1.tar.xz # Hash for license file -sha256 c33e77efd5781e3d59a2bb648c82d2a615035ef0d24cf58880380e3af906510b COPYING +sha256 c33e77efd5781e3d59a2bb648c82d2a615035ef0d24cf58880380e3af906510b COPYING diff --git a/package/safeclib/safeclib.mk b/package/safeclib/safeclib.mk index 3af8fbb1674..bc58c1a38c0 100644 --- a/package/safeclib/safeclib.mk +++ b/package/safeclib/safeclib.mk @@ -4,12 +4,16 @@ # ################################################################################ -SAFECLIB_VERSION = 08112019 +SAFECLIB_VERSION = 3.7.1 SAFECLIB_SITE = \ https://github.com/rurban/safeclib/releases/download/v$(SAFECLIB_VERSION) -SAFECLIB_SOURCE = libsafec-$(SAFECLIB_VERSION).0-gad76c7.tar.bz2 +SAFECLIB_SOURCE = safeclib-$(SAFECLIB_VERSION).tar.xz SAFECLIB_LICENSE = MIT SAFECLIB_LICENSE_FILES = COPYING SAFECLIB_INSTALL_STAGING = YES +SAFECLIB_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=c99" +# -fstack-protector-strong is used by default. Disable that so the +# BR2_SSP_* options in the toolchain wrapper are used instead +SAFECLIB_CONF_OPTS = --disable-hardening $(eval $(autotools-package)) diff --git a/package/sam-ba/Config.in.host b/package/sam-ba/Config.in.host index 2236b5f48a4..1967f33ab31 100644 --- a/package/sam-ba/Config.in.host +++ b/package/sam-ba/Config.in.host @@ -7,4 +7,5 @@ config BR2_PACKAGE_HOST_SAM_BA programming the Atmel SAM3, SAM7 and SAM9 ARM-based microcontrollers. - http://www.at91.com/linux4sam/bin/view/Linux4SAM/SoftwareTools + https://www.linux4sam.org/bin/view/Linux4SAM/SoftwareTools + https://www.microchip.com/en-us/development-tool/SAM-BA-IN-SYSTEM-PROGRAMMER diff --git a/package/sam-ba/sam-ba.hash b/package/sam-ba/sam-ba.hash index 1bc14f3fd76..10b95c9c0e7 100644 --- a/package/sam-ba/sam-ba.hash +++ b/package/sam-ba/sam-ba.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 dc32c49688bbfab5aa687042caae5f611fe3d9e722098a561f8f5d2fbc57249d sam-ba_3.3.1-linux_x86_64.tar.gz +sha256 f66e431f0401b197e80599156ea93aa3aab050bc4d16523c95fae1107ef9101c sam-ba_3.5-linux_x86_64.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.txt diff --git a/package/sam-ba/sam-ba.mk b/package/sam-ba/sam-ba.mk index 3082d491929..10bea8ef705 100644 --- a/package/sam-ba/sam-ba.mk +++ b/package/sam-ba/sam-ba.mk @@ -4,8 +4,8 @@ # ################################################################################ -SAM_BA_VERSION = 3.3.1 -SAM_BA_SITE = https://github.com/atmelcorp/sam-ba/releases/download/v$(SAM_BA_VERSION) +SAM_BA_VERSION = 3.5 +SAM_BA_SITE = https://www.microchip.com/content/dam/mchp/documents/MPU32/ProductDocuments/SoftwareTools SAM_BA_SOURCE = sam-ba_$(SAM_BA_VERSION)-linux_x86_64.tar.gz SAM_BA_LICENSE = GPLv2 SAM_BA_LICENSE_FILES = LICENSE.txt diff --git a/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch b/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch index b8636958ee2..484e6722ea2 100644 --- a/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch +++ b/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch @@ -75,13 +75,15 @@ index 0ff6dad2f55..f77c177442f 100644 check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h") if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"): -@@ -96,7 +96,4 @@ +@@ -96,9 +88,6 @@ #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'): # conf.define('USING_SYSTEM_TOMMATH', 1) -check_system_heimdal_binary("compile_et") -check_system_heimdal_binary("asn1_compile") - + conf.env.KRB5_VENDOR = 'heimdal' conf.define('USING_SYSTEM_KRB5', 1) + conf.define('USING_SYSTEM_HEIMDAL', 1) -- 2.20.1 diff --git a/package/samba4/0003-Fix-unistd.h-include.patch b/package/samba4/0003-Fix-unistd.h-include.patch deleted file mode 100644 index f01b899a18f..00000000000 --- a/package/samba4/0003-Fix-unistd.h-include.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 85c33f89df8607ace0707e1360ff0f79f3e8f5f3 Mon Sep 17 00:00:00 2001 -From: Andy Walsh -Date: Wed, 6 Nov 2019 19:28:30 +0100 -Subject: [PATCH] Fix unistd.h include - -Fixes build error - -source4/heimdal/lib/asn1/asn1_err.c:47:23: error: 'link' redeclared as different kind of symbol - static struct et_list link = { 0, 0 }; - -Downloaded from -https://github.com/Andy2244/openwrt-extra/blob/samba-4.10/samba4/patches/006-samba-4-10-musl_rm_unistd_incl.patch - -Upstream bug report: https://bugzilla.samba.org/show_bug.cgi?id=13856 - -Signed-off-by: Bernd Kuhls ---- - lib/replace/replace.h | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/lib/replace/replace.h b/lib/replace/replace.h -index 1658465866e..e6768c4ae51 100644 ---- a/lib/replace/replace.h -+++ b/lib/replace/replace.h -@@ -168,10 +168,6 @@ - #include - #endif - --#ifdef HAVE_UNISTD_H --#include --#endif -- - #ifdef HAVE_STRING_H - #include - #endif --- -2.20.1 - diff --git a/package/samba4/0004-ldap_message_test.c-include-stdint.h-before-cmoka.h.patch b/package/samba4/0003-ldap_message_test.c-include-stdint.h-before-cmoka.h.patch similarity index 100% rename from package/samba4/0004-ldap_message_test.c-include-stdint.h-before-cmoka.h.patch rename to package/samba4/0003-ldap_message_test.c-include-stdint.h-before-cmoka.h.patch diff --git a/package/samba4/0004-lib-util-Add-signal.h-include.patch b/package/samba4/0004-lib-util-Add-signal.h-include.patch new file mode 100644 index 00000000000..838a8fa6d75 --- /dev/null +++ b/package/samba4/0004-lib-util-Add-signal.h-include.patch @@ -0,0 +1,37 @@ +From d1732a79dbf30c41802245909d0250ebe2b9d92e Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 12 Dec 2021 10:27:42 +0100 +Subject: [PATCH] lib/util: Add signal.h include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build error with samba-4.15.3 and uClibc: + +../../source3/printing/samba-bgqd.c: In function ‘main’: +../../source3/printing/samba-bgqd.c:340:21: error: ‘SIGPIPE’ undeclared (first use in this function); did you mean ‘EPIPE’? +../../source3/printing/samba-bgqd.c:384:14: error: ‘SIGTERM’ undeclared (first use in this function) + +Patch sent upstream: +https://gitlab.com/samba-team/samba/-/merge_requests/2296 + +Signed-off-by: Bernd Kuhls +--- + lib/util/signal.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/util/signal.h b/lib/util/signal.h +index 0663af6ab94..f662ee110d6 100644 +--- a/lib/util/signal.h ++++ b/lib/util/signal.h +@@ -21,6 +21,7 @@ + #ifndef _SAMBA_UTIL_SIGNAL_H_ + #define _SAMBA_UTIL_SIGNAL_H_ + ++#include + #include + + /** +-- +2.30.2 + diff --git a/package/samba4/0005-nsswitch-nsstest-c-Avoid-nss-function-conflicts-with-glibc-nss-h.patch b/package/samba4/0005-nsswitch-nsstest-c-Avoid-nss-function-conflicts-with-glibc-nss-h.patch deleted file mode 100644 index c5e0b55dea2..00000000000 --- a/package/samba4/0005-nsswitch-nsstest-c-Avoid-nss-function-conflicts-with-glibc-nss-h.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 6e496aa3635557b59792e469f7c7f8eccd822322 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 22 Jul 2020 22:42:09 -0700 -Subject: [PATCH] nsswitch/nsstest.c: Avoid nss function conflicts with glibc - nss.h - -glibc 2.32 will define these varibles [1] which results in conflicts -with these static function names, therefore prefix these function names -with samba_ to avoid it - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=499a92df8b9fc64a054cf3b7f728f8967fc1da7d - -Signed-off-by: Khem Raj -Reviewed-by: Volker Lendecke -Reviewed-by: Noel Power - -Autobuild-User(master): Noel Power -Autobuild-Date(master): Tue Jul 28 10:52:00 UTC 2020 on sn-devel-184 - -[Retrieved from: -https://gitlab.com/samba-team/samba/-/commit/6e496aa3635557b59792e469f7c7f8eccd822322] -Signed-off-by: Fabrice Fontaine ---- - nsswitch/nsstest.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/nsswitch/nsstest.c b/nsswitch/nsstest.c -index e8c4306441d..e2ee9fbf3af 100644 ---- a/nsswitch/nsstest.c -+++ b/nsswitch/nsstest.c -@@ -137,7 +137,7 @@ static struct passwd *nss_getpwuid(uid_t uid) - return &pwd; - } - --static void nss_setpwent(void) -+static void samba_nss_setpwent(void) - { - NSS_STATUS (*_nss_setpwent)(void) = - (NSS_STATUS(*)(void))find_fn("setpwent"); -@@ -152,7 +152,7 @@ static void nss_setpwent(void) - } - } - --static void nss_endpwent(void) -+static void samba_nss_endpwent(void) - { - NSS_STATUS (*_nss_endpwent)(void) = - (NSS_STATUS (*)(void))find_fn("endpwent"); -@@ -290,7 +290,7 @@ again: - return &grp; - } - --static void nss_setgrent(void) -+static void samba_nss_setgrent(void) - { - NSS_STATUS (*_nss_setgrent)(void) = - (NSS_STATUS (*)(void))find_fn("setgrent"); -@@ -305,7 +305,7 @@ static void nss_setgrent(void) - } - } - --static void nss_endgrent(void) -+static void samba_nss_endgrent(void) - { - NSS_STATUS (*_nss_endgrent)(void) = - (NSS_STATUS (*)(void))find_fn("endgrent"); -@@ -402,7 +402,7 @@ static void nss_test_users(void) - { - struct passwd *pwd; - -- nss_setpwent(); -+ samba_nss_setpwent(); - /* loop over all users */ - while ((pwd = nss_getpwent())) { - printf("Testing user %s\n", pwd->pw_name); -@@ -424,14 +424,14 @@ static void nss_test_users(void) - printf("initgroups: "); nss_test_initgroups(pwd->pw_name, pwd->pw_gid); - printf("\n"); - } -- nss_endpwent(); -+ samba_nss_endpwent(); - } - - static void nss_test_groups(void) - { - struct group *grp; - -- nss_setgrent(); -+ samba_nss_setgrent(); - /* loop over all groups */ - while ((grp = nss_getgrent())) { - printf("Testing group %s\n", grp->gr_name); -@@ -452,7 +452,7 @@ static void nss_test_groups(void) - printf("getgrgid: "); print_group(grp); - printf("\n"); - } -- nss_endgrent(); -+ samba_nss_endgrent(); - } - - static void nss_test_errors(void) --- -GitLab - diff --git a/package/samba4/Config.in b/package/samba4/Config.in index a34eaa80889..5907bdc4788 100644 --- a/package/samba4/Config.in +++ b/package/samba4/Config.in @@ -16,6 +16,7 @@ config BR2_PACKAGE_SAMBA4 select BR2_PACKAGE_CMOCKA select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_PACKAGE_POPT select BR2_PACKAGE_ZLIB @@ -32,6 +33,9 @@ config BR2_PACKAGE_SAMBA4_AD_DC bool "AD DC" depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_PYTHON_DNSPYTHON + select BR2_PACKAGE_PYTHON_MARKDOWN + select BR2_PACKAGE_SAMBA4_ADS help Enable Active Directory Domain Controller functionality. diff --git a/package/samba4/samba4-cache.txt b/package/samba4/samba4-cache.txt index e3a3720fc8d..d95776a03e6 100644 --- a/package/samba4/samba4-cache.txt +++ b/package/samba4/samba4-cache.txt @@ -40,3 +40,8 @@ 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 diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index 44fbc495c53..ac28c356146 100644 --- a/package/samba4/samba4.hash +++ b/package/samba4/samba4.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/samba/stable/samba-4.11.17.tar.asc -sha256 15167da19922c7be210ecf8149b73abcb7c2be051de05b756f7f24e7ec9e5b04 samba-4.11.17.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.15.7.tar.asc +sha256 76d0096c16ed0265b337d5731f3c0b32eed3adab6fa8b7585c055b287cd05d6b samba-4.15.7.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index 61d81901279..c90fdd006c7 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.11.17 +SAMBA4_VERSION = 4.15.7 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES @@ -12,11 +12,15 @@ SAMBA4_LICENSE = GPL-3.0+ SAMBA4_LICENSE_FILES = COPYING SAMBA4_CPE_ID_VENDOR = samba SAMBA4_CPE_ID_PRODUCT = samba +SAMBA4_SELINUX_MODULES = samba SAMBA4_DEPENDENCIES = \ - host-e2fsprogs host-heimdal host-nfs-utils host-python3 \ + host-e2fsprogs host-flex host-heimdal host-nfs-utils \ + host-perl host-perl-parse-yapp host-python3 \ cmocka e2fsprogs gnutls popt zlib \ + $(if $(BR2_PACKAGE_ICU),icu) \ $(if $(BR2_PACKAGE_LIBAIO),libaio) \ $(if $(BR2_PACKAGE_LIBCAP),libcap) \ + $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \ $(if $(BR2_PACKAGE_READLINE),readline) \ $(TARGET_NLS_DEPENDENCIES) SAMBA4_CFLAGS = $(TARGET_CFLAGS) @@ -35,6 +39,11 @@ else SAMBA4_CONF_OPTS += --disable-python endif +ifeq ($(BR2_PACKAGE_LIBICONV),y) +SAMBA4_DEPENDENCIES += libiconv +SAMBA4_LDFLAGS += -liconv +endif + ifeq ($(BR2_PACKAGE_LIBTIRPC),y) SAMBA4_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` SAMBA4_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` @@ -58,6 +67,9 @@ endif ifeq ($(BR2_PACKAGE_DBUS),y) SAMBA4_DEPENDENCIES += dbus +SAMBA4_SHARED_MODULES += vfs_snapper +else +SAMBA4_SHARED_MODULES += !vfs_snapper endif ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_AVAHI_DAEMON),yy) @@ -99,11 +111,13 @@ SAMBA4_POST_INSTALL_TARGET_HOOKS += SAMBA4_REMOVE_CTDB_TESTS define SAMBA4_CONFIGURE_CMDS $(INSTALL) -m 0644 package/samba4/samba4-cache.txt $(@D)/cache.txt; + echo 'Checking whether fcntl supports setting/geting hints: $(if $(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13),OK,NO)' >>$(@D)/cache.txt; echo 'Checking uname machine type: $(BR2_ARCH)' >>$(@D)/cache.txt; (cd $(@D); \ $(SAMBA4_PYTHON) \ python_LDFLAGS="" \ python_LIBDIR="" \ + PERL="$(HOST_DIR)/bin/perl" \ $(TARGET_CONFIGURE_OPTS) \ $(SAMBA4_CONF_ENV) \ ./buildtools/bin/waf configure \ @@ -125,6 +139,7 @@ define SAMBA4_CONFIGURE_CMDS --disable-glusterfs \ --with-cluster-support \ --bundled-libraries='!asn1_compile,!compile_et' \ + --with-shared-modules=$(subst $(space),$(comma),$(strip $(SAMBA4_SHARED_MODULES))) \ $(SAMBA4_CONF_OPTS) \ ) endef @@ -142,16 +157,26 @@ define SAMBA4_INSTALL_TARGET_CMDS endef ifeq ($(BR2_PACKAGE_SAMBA4_AD_DC),y) -SAMBA4_DEPENDENCIES += jansson +# host-python-dnspython and host-python-markdown are not strictly +# needed on the host, but on the target. however, samba's configure +# tests for their availability on the host. +SAMBA4_DEPENDENCIES += \ + jansson \ + host-python-dnspython \ + host-python-markdown \ + python-dnspython \ + python-markdown else SAMBA4_CONF_OPTS += --without-ad-dc --without-json endif ifeq ($(BR2_PACKAGE_SAMBA4_ADS),y) -SAMBA4_CONF_OPTS += --with-ads --with-ldap --with-shared-modules=idmap_ad +SAMBA4_CONF_OPTS += --with-ads --with-ldap SAMBA4_DEPENDENCIES += openldap +SAMBA4_SHARED_MODULES += idmap_ad else SAMBA4_CONF_OPTS += --without-ads --without-ldap +SAMBA4_SHARED_MODULES += !idmap_ad endif ifeq ($(BR2_PACKAGE_SAMBA4_SMBTORTURE),) diff --git a/package/sane-backends/0002-genesys-fix-gcc-4.8-compile.patch b/package/sane-backends/0002-genesys-fix-gcc-4.8-compile.patch new file mode 100644 index 00000000000..80346596cbf --- /dev/null +++ b/package/sane-backends/0002-genesys-fix-gcc-4.8-compile.patch @@ -0,0 +1,50 @@ +From f67cfd6a534e9faaca83afebd61a6d77d7837174 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 15 Mar 2021 20:53:55 +0100 +Subject: [PATCH] genesys: fix gcc-4.8 compile + +Fixes: + + genesys/utilities.h:229:23: error: invalid initialization of non-const reference of type 'std::basic_ios&' from an rvalue of type '' + stream_{stream} + ^ + genesys/image_pipeline.cpp:715:19: error: invalid initialization of non-const reference of type 'genesys::ImagePipelineNode&' from an rvalue of type '' + source_{source} + ^ + +[Upstream: https://gitlab.com/sane-project/backends/-/merge_requests/609] +Signed-off-by: Peter Seiderer +--- + backend/genesys/image_pipeline.cpp | 2 +- + backend/genesys/utilities.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/backend/genesys/image_pipeline.cpp b/backend/genesys/image_pipeline.cpp +index 4161e95..14e2f8d 100644 +--- a/backend/genesys/image_pipeline.cpp ++++ b/backend/genesys/image_pipeline.cpp +@@ -712,7 +712,7 @@ ImagePipelineNodeCalibrate::ImagePipelineNodeCalibrate(ImagePipelineNode& source + const std::vector& bottom, + const std::vector& top, + std::size_t x_start) : +- source_{source} ++ source_(source) + { + std::size_t size = 0; + if (bottom.size() >= x_start && top.size() >= x_start) { +diff --git a/backend/genesys/utilities.h b/backend/genesys/utilities.h +index 6e637d0..2ef2ddd 100644 +--- a/backend/genesys/utilities.h ++++ b/backend/genesys/utilities.h +@@ -226,7 +226,7 @@ class BasicStreamStateSaver + { + public: + explicit BasicStreamStateSaver(std::basic_ios& stream) : +- stream_{stream} ++ stream_(stream) + { + flags_ = stream_.flags(); + width_ = stream_.width(); +-- +2.30.1 + diff --git a/package/sane-backends/0003-genesys-use-usleep-instead-of-std-this_thread-sleep_.patch b/package/sane-backends/0003-genesys-use-usleep-instead-of-std-this_thread-sleep_.patch new file mode 100644 index 00000000000..348b73e3fbc --- /dev/null +++ b/package/sane-backends/0003-genesys-use-usleep-instead-of-std-this_thread-sleep_.patch @@ -0,0 +1,46 @@ +From b6e21e3cd0825e7ec2b3b7e6401d25b901deeed2 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Wed, 31 Mar 2021 22:51:03 +0200 +Subject: [PATCH] genesys: use usleep instead of std::this_thread::sleep_for to + re-enable thread less compile +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + genesys/scanner_interface_usb.cpp: In member function ‘virtual void genesys::ScannerInterfaceUsb::sleep_us(unsigned int)’: + genesys/scanner_interface_usb.cpp:484:10: error: ‘std::this_thread’ has not been declared + 484 | std::this_thread::sleep_for(std::chrono::microseconds{microseconds}); + | ^~~~~~~~~~~ + +[Upstream: https://gitlab.com/sane-project/backends/-/merge_requests/619] +Signed-off-by: Peter Seiderer +--- + backend/genesys/scanner_interface_usb.cpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/backend/genesys/scanner_interface_usb.cpp b/backend/genesys/scanner_interface_usb.cpp +index 117297c..2ca78ab 100644 +--- a/backend/genesys/scanner_interface_usb.cpp ++++ b/backend/genesys/scanner_interface_usb.cpp +@@ -43,7 +43,6 @@ + + #include "scanner_interface_usb.h" + #include "low.h" +-#include + + namespace genesys { + +@@ -481,7 +480,7 @@ void ScannerInterfaceUsb::sleep_us(unsigned microseconds) + if (sanei_usb_is_replay_mode_enabled()) { + return; + } +- std::this_thread::sleep_for(std::chrono::microseconds{microseconds}); ++ usleep(microseconds); + } + + void ScannerInterfaceUsb::record_progress_message(const char* msg) +-- +2.30.2 + diff --git a/package/sane-backends/0004-backend-microtek-fix-uclibc-compile-include-stdarg.h.patch b/package/sane-backends/0004-backend-microtek-fix-uclibc-compile-include-stdarg.h.patch new file mode 100644 index 00000000000..c5af162469d --- /dev/null +++ b/package/sane-backends/0004-backend-microtek-fix-uclibc-compile-include-stdarg.h.patch @@ -0,0 +1,58 @@ +From 145e16008e7479ea58278e55f71d6dfcd4db714b Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 18 Jun 2021 19:51:45 +0200 +Subject: [PATCH] backend/microtek: fix uclibc compile (include stdarg.h for + va_list/va_start/va_end) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + microtek.c: In function ‘MDBG_INIT’: + microtek.c:163:3: error: unknown type name ‘va_list’ + 163 | va_list ap; + | ^~~~~~~ + microtek.c:78:1: note: ‘va_list’ is defined in header ‘’; did you forget to ‘#include ’? + 77 | #include "microtek.h" + +++ |+#include + 78 | + microtek.c:164:3: warning: implicit declaration of function ‘va_start’; did you mean ‘sane_start’? [-Wimplicit-function-declaration] + 164 | va_start(ap, format); + | ^~~~~~~~ + | sane_start + microtek.c:165:54: warning: passing argument 4 of ‘vsnprintf’ makes pointer from integer without a cast [-Wint-conversion] + 165 | vsnprintf(_mdebug_string, MAX_MDBG_LENGTH, format, ap); + | ^~ + | | + | int + In file included from ../include/sane/sanei_config.h:50, + from microtek.c:70: + .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/stdio.h:359:57: note: expected ‘__va_list_tag *’ but argument is of type ‘int’ + 359 | const char *__restrict __format, __gnuc_va_list __arg) + | ~~~~~~~~~~~~~~~^~~~~ + microtek.c:166:3: warning: implicit declaration of function ‘va_end’ [-Wimplicit-function-declaration] + 166 | va_end(ap); + | ^~~~~~ + +[Upstream: https://gitlab.com/sane-project/backends/-/merge_requests/638] +Signed-off-by: Peter Seiderer +--- + backend/microtek.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/backend/microtek.c b/backend/microtek.c +index 200a69c1a..63560179c 100644 +--- a/backend/microtek.c ++++ b/backend/microtek.c +@@ -57,6 +57,7 @@ + + #include "../include/sane/config.h" + ++#include + #include + #include + #include +-- +2.31.1 + diff --git a/package/sane-backends/0005-backend-sm3600-scanutil-fix-uclibc-compile-include-s.patch b/package/sane-backends/0005-backend-sm3600-scanutil-fix-uclibc-compile-include-s.patch new file mode 100644 index 00000000000..0ea9de245ec --- /dev/null +++ b/package/sane-backends/0005-backend-sm3600-scanutil-fix-uclibc-compile-include-s.patch @@ -0,0 +1,59 @@ +From 7dafc52dda96fa68f39058b10eec3d822fd5ea9d Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 18 Jun 2021 19:56:56 +0200 +Subject: [PATCH] backend/sm3600-scanutil: fix uclibc compile (include stdarg.h + for va_list/va_start/va_end) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + sm3600-scanutil.c: In function ‘debug_printf’: + sm3600-scanutil.c:69:3: error: unknown type name ‘va_list’ + 69 | va_list ap; + | ^~~~~~~ + sm3600-scanutil.c:48:1: note: ‘va_list’ is defined in header ‘’; did you forget to ‘#include ’? + 47 | #include "sm3600-scantool.h" + +++ |+#include + 48 | + sm3600-scanutil.c:75:3: warning: implicit declaration of function ‘va_start’; did you mean ‘sane_start’? [-Wimplicit-function-declaration] + 75 | va_start(ap,szFormat); + | ^~~~~~~~ + | sane_start + sm3600-scanutil.c:76:28: warning: passing argument 3 of ‘vfprintf’ makes pointer from integer without a cast [-Wint-conversion] + 76 | vfprintf(stderr,szFormat,ap); + | ^~ + | | + | int + In file included from ../include/sane/sanei_config.h:50, + from sm3600.c:70: + .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/stdio.h:339:23: note: expected ‘__va_list_tag *’ but argument is of type ‘int’ + 339 | __gnuc_va_list __arg); + | ~~~~~~~~~~~~~~~^~~~~ + In file included from sm3600.c:94: + sm3600-scanutil.c:77:3: warning: implicit declaration of function ‘va_end’ [-Wimplicit-function-declaration] + 77 | va_end(ap); + | ^~~~~~ + +[Upstream: https://gitlab.com/sane-project/backends/-/merge_requests/638] +Signed-off-by: Peter Seiderer +--- + backend/sm3600-scanutil.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/backend/sm3600-scanutil.c b/backend/sm3600-scanutil.c +index 6fe67ed0c..616bf3f4c 100644 +--- a/backend/sm3600-scanutil.c ++++ b/backend/sm3600-scanutil.c +@@ -43,6 +43,7 @@ Userspace scan tool for the Microtek 3600 scanner + + ====================================================================== */ + ++#include + #include + #include "sm3600-scantool.h" + +-- +2.31.1 + diff --git a/package/sane-backends/sane-backends.hash b/package/sane-backends/sane-backends.hash index 09652c993f9..e382aacef25 100644 --- a/package/sane-backends/sane-backends.hash +++ b/package/sane-backends/sane-backends.hash @@ -1,5 +1,5 @@ -# From https://gitlab.com/sane-project/backends/tags/RELEASE_1_0_27 -sha256 293747bf37275c424ebb2c833f8588601a60b2f9653945d5a3194875355e36c9 sane-backends-1.0.27.tar.gz +# From https://gitlab.com/sane-project/backends/uploads/a705aadf854ca0dc8bf66df937308861/sane-backends-1.0.32.sha256.txt +sha256 3a28c237c0a72767086202379f6dc92dbb63ec08dfbab22312cba80e238bb114 sane-backends-1.0.32.tar.gz # Hash for license file -sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk index 3c93ceaaaea..a8f7466f706 100644 --- a/package/sane-backends/sane-backends.mk +++ b/package/sane-backends/sane-backends.mk @@ -4,9 +4,9 @@ # ################################################################################ -SANE_BACKENDS_VERSION = 1.0.27 +SANE_BACKENDS_VERSION = 1.0.32 SANE_BACKENDS_SITE = \ - https://gitlab.com/sane-project/backends/uploads/a3ba9fff29253a94e84074917bff581a + https://gitlab.com/sane-project/backends/uploads/104f09c07d35519cc8e72e604f11643f SANE_BACKENDS_CONFIG_SCRIPTS = sane-config SANE_BACKENDS_LICENSE = GPL-2.0+ SANE_BACKENDS_LICENSE_FILES = COPYING @@ -44,7 +44,7 @@ endif ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_LIBGLIB2),yyy) SANE_BACKENDS_DEPENDENCIES += avahi -SANE_BACKENDS_CONF_OPTS += --enable-avahi +SANE_BACKENDS_CONF_OPTS += --with-avahi endif ifeq ($(BR2_PACKAGE_NETSNMP),y) @@ -54,6 +54,27 @@ else SANE_BACKENDS_CONF_OPTS += --without-snmp endif +ifeq ($(BR2_PACKAGE_LIBCURL),y) +SANE_BACKENDS_DEPENDENCIES += libcurl +SANE_BACKENDS_CONF_OPTS += --with-libcurl +else +SANE_BACKENDS_CONF_OPTS += --without-libcurl +endif + +ifeq ($(BR2_PACKAGE_POPPLER)$(BR2_PACKAGE_CAIRO)$(BR2_PACKAGE_LIBGLIB2),yyy) +SANE_BACKENDS_DEPENDENCIES += poppler libglib2 +SANE_BACKENDS_CONF_OPTS += --with-poppler-glib +else +SANE_BACKENDS_CONF_OPTS += --without-poppler-glib +endif + +ifeq ($(BR2_PACKAGE_LIBXML2),y) +SANE_BACKENDS_DEPENDENCIES += libxml2 +SANE_BACKENDS_CONF_OPTS += --with-usb-record-replay +else +SANE_BACKENDS_CONF_OPTS += --without-usb-record-replay +endif + define SANE_BACKENDS_DISABLE_DOCS $(SED) 's/ doc//' $(@D)/Makefile endef diff --git a/package/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch b/package/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch new file mode 100644 index 00000000000..3ed73ebd889 --- /dev/null +++ b/package/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch @@ -0,0 +1,49 @@ +From 909a9bdf7ab143e1f0baaf9736baebd3cd79aacf Mon Sep 17 00:00:00 2001 +From: Marius Bakke +Date: Tue, 22 Dec 2020 11:04:26 +0000 +Subject: [PATCH] sbc_primitives: Fix build on non-x86. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Don't call __builtin_cpu_init unless targeting i386 or x86_64. +Otherwise we get an error at link time: + + CC sbc/sbc_primitives.lo +sbc/sbc_primitives.c: In function ‘sbc_init_primitives_x86’: +sbc/sbc_primitives.c:596:2: warning: implicit declaration of function ‘__builtin_cpu_init’; did you mean ‘__builtin_irint’? [-Wimplicit-function-declaration] +[...] + CCLD src/sbcdec +ld: sbc/.libs/libsbc-private.a(sbc_primitives.o): in function `sbc_init_primitives': +sbc_primitives.c:(.text+0x3a30): undefined reference to `__builtin_cpu_init' + +Signed-off-by: Pierre-Jean Texier +[Upstream status: backport from upstream commit 909a9bdf7ab143e1f0baaf9736baebd3cd79aacf] + +--- + sbc/sbc_primitives.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sbc/sbc_primitives.c b/sbc/sbc_primitives.c +index 97a75be..09c214a 100644 +--- a/sbc/sbc_primitives.c ++++ b/sbc/sbc_primitives.c +@@ -593,6 +593,7 @@ static int sbc_calc_scalefactors_j( + + static void sbc_init_primitives_x86(struct sbc_encoder_state *state) + { ++#if defined(__x86_64__) || defined(__i386__) + __builtin_cpu_init(); + + #ifdef SBC_BUILD_WITH_MMX_SUPPORT +@@ -604,6 +605,7 @@ static void sbc_init_primitives_x86(struct sbc_encoder_state *state) + if (__builtin_cpu_supports("sse4.2")) + sbc_init_primitives_sse(state); + #endif ++#endif + } + + /* +-- +2.17.1 + diff --git a/package/sbc/sbc.hash b/package/sbc/sbc.hash index d703f234370..beb3b232a8c 100644 --- a/package/sbc/sbc.hash +++ b/package/sbc/sbc.hash @@ -1,6 +1,6 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc -sha256 518bf46e6bb3dc808a95e1eabad26fdebe8a099c1e781c27ed7fca6c2f4a54c9 sbc-1.4.tar.xz +sha256 0cbad69823a99e8421fe0700e8cf9eeb8fa0c1ad28e8dbc2182b3353507931d2 sbc-1.5.tar.xz # sha256 locally computed -sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING -sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB +sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/sbc/sbc.mk b/package/sbc/sbc.mk index 73e4aceb859..af5cf291a3d 100644 --- a/package/sbc/sbc.mk +++ b/package/sbc/sbc.mk @@ -4,7 +4,7 @@ # ################################################################################ -SBC_VERSION = 1.4 +SBC_VERSION = 1.5 SBC_SOURCE = sbc-$(SBC_VERSION).tar.xz SBC_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth SBC_INSTALL_STAGING = YES diff --git a/package/sconeserver/0001-sconex-Descriptor.cpp-fix-build-with-gcc-11.patch b/package/sconeserver/0001-sconex-Descriptor.cpp-fix-build-with-gcc-11.patch new file mode 100644 index 00000000000..335be82f7d0 --- /dev/null +++ b/package/sconeserver/0001-sconex-Descriptor.cpp-fix-build-with-gcc-11.patch @@ -0,0 +1,54 @@ +From 5e4cb613d9bb287e9f54da86f99a51d0338b1faa Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 10 Aug 2021 10:36:53 +0200 +Subject: [PATCH] sconex/Descriptor.cpp: fix build with gcc 11 + +Fix the following build failure with gcc 11: + +In file included from ../sconex/sconex.h:229, + from ../sconex/Descriptor.h:63, + from Descriptor.cpp:22: +Descriptor.cpp: In member function 'void scx::Descriptor::add_stream(scx::Stream*)': +Descriptor.cpp:150:22: error: ordered comparison of pointer with integer zero ('scx::Stream*' and 'int') + 150 | DEBUG_ASSERT(stream>=0,"add_stream() Invalid stream"); + | ~~~~~~^~~ + | ^~~~ +Descriptor.cpp: In member function 'bool scx::Descriptor::remove_stream(scx::Stream*)': +Descriptor.cpp:204:22: error: ordered comparison of pointer with integer zero ('scx::Stream*' and 'int') + 204 | DEBUG_ASSERT(stream>=0,"remove_stream() Invalid stream"); + | ~~~~~~^~~ + +Fixes: + - http://autobuild.buildroot.org/results/ccc9562e83fd2bd312d21b3124be42dfe4b7e850 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/sconemad/sconeserver/pull/4] +--- + sconex/Descriptor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sconex/Descriptor.cpp b/sconex/Descriptor.cpp +index 590adba..4adfd86 100644 +--- a/sconex/Descriptor.cpp ++++ b/sconex/Descriptor.cpp +@@ -147,7 +147,7 @@ bool Descriptor::dup(int d) + //============================================================================= + void Descriptor::add_stream(Stream* stream) + { +- DEBUG_ASSERT(stream>=0,"add_stream() Invalid stream"); ++ DEBUG_ASSERT(stream!=0,"add_stream() Invalid stream"); + + m_streams.push_back(stream); + stream->set_endpoint(this); +@@ -201,7 +201,7 @@ void Descriptor::add_stream_after(Stream* stream,const Stream* after) + //============================================================================= + bool Descriptor::remove_stream(Stream* stream) + { +- DEBUG_ASSERT(stream>=0,"remove_stream() Invalid stream"); ++ DEBUG_ASSERT(stream!=0,"remove_stream() Invalid stream"); + + std::list::iterator it = m_streams.begin(); + while (it != m_streams.end()) { +-- +2.30.2 + diff --git a/package/sconeserver/0002-CMake-ify.patch b/package/sconeserver/0002-CMake-ify.patch new file mode 100644 index 00000000000..810c8034695 --- /dev/null +++ b/package/sconeserver/0002-CMake-ify.patch @@ -0,0 +1,173 @@ +From 0cb655721d7f8aa5d6d14fc1dfce18c518ce2419 Mon Sep 17 00:00:00 2001 +From: Andrew Wedgbury +Date: Mon, 19 Aug 2019 21:12:59 +0000 +Subject: [PATCH] CMake-ify + +[Retrieve (and updated to only keep fix on sconex.cpp) from: +https://github.com/sconemad/sconeserver/commit/0cb655721d7f8aa5d6d14fc1dfce18c518ce2419] +Signed-off-by: Fabrice Fontaine +--- + .gitignore | 5 + + CMakeLists.txt | 52 ++++ + Makefile.am | 58 ---- + autogen.sh | 8 - + bluetooth/CMakeLists.txt | 16 + + bluetooth/Makefile.am | 22 -- + config.h.in | 335 +-------------------- + configure.in | 451 ---------------------------- + debian/rules | 10 +- + debian/sconeserver-base.install | 2 +- + debian/sconeserver-dev.install | 4 +- + examples/Makefile.am | 4 - + examples/rot13/CMakeLists.txt | 9 + + examples/rot13/Makefile.am | 24 -- + examples/tuesdayonly/CMakeLists.txt | 7 + + examples/tuesdayonly/Makefile.am | 18 -- + exec/CMakeLists.txt | 9 + + exec/Makefile.am | 24 -- + forward/CMakeLists.txt | 8 + + forward/Makefile.am | 19 -- + http/CMakeLists.txt | 51 ++++ + http/Makefile.am | 58 ---- + image/CMakeLists.txt | 12 + + image/Makefile.am | 20 -- + ip/CMakeLists.txt | 9 + + ip/Makefile.am | 21 -- + ip6/CMakeLists.txt | 9 + + ip6/Makefile.am | 21 -- + local/CMakeLists.txt | 9 + + local/Makefile.am | 21 -- + location/CMakeLists.txt | 11 + + location/Makefile.am | 18 -- + main.cpp | 4 +- + markdown/CMakeLists.txt | 20 ++ + markdown/Makefile.am | 21 -- + maths/CMakeLists.txt | 32 ++ + maths/Makefile.am | 33 -- + mime/CMakeLists.txt | 8 + + mime/Makefile.am | 19 -- + mysql/CMakeLists.txt | 16 + + mysql/Makefile.am | 25 -- + rss/CMakeLists.txt | 15 + + rss/Makefile.am | 23 -- + sconeserver.cmake | 31 ++ + sconesite/CMakeLists.txt | 42 +++ + sconesite/Makefile.am | 79 ----- + sconex/Base64.cpp | 2 +- + sconex/CMakeLists.txt | 97 ++++++ + sconex/Database.cpp | 2 +- + sconex/FileDir.h | 4 +- + sconex/Makefile.am | 156 ---------- + sconex/ModuleLoader.cpp | 2 +- + sconex/Process.cpp | 8 - + sconex/RegExp.cpp | 4 - + sconex/RegExp.h | 4 +- + sconex/ScriptContext.cpp | 7 +- + sconex/ScriptTypes.cpp | 2 +- + sconex/TermBuffer.cpp | 7 +- + sconex/sconex.cpp | 4 +- + sconex/sconex.h | 176 +++-------- + sconex/utils.cpp | 4 - + server/CMakeLists.txt | 19 ++ + server/Makefile.am | 26 -- + simple/CMakeLists.txt | 15 + + simple/Makefile.am | 21 -- + smtp/CMakeLists.txt | 15 + + smtp/Makefile.am | 21 -- + sqlite/CMakeLists.txt | 23 ++ + sqlite/Makefile.am | 25 -- + ssl/CMakeLists.txt | 23 ++ + ssl/Makefile.am | 30 -- + stat/CMakeLists.txt | 17 ++ + stat/Makefile.am | 23 -- + test/CMakeLists.txt | 13 + + test/Makefile.am | 53 ---- + testbuilder/CMakeLists.txt | 23 ++ + testbuilder/Makefile.am | 36 --- + tftp/CMakeLists.txt | 17 ++ + tftp/Makefile.am | 23 -- + upstart | 13 - + 80 files changed, 695 insertions(+), 1933 deletions(-) + create mode 100644 CMakeLists.txt + delete mode 100644 Makefile.am + delete mode 100755 autogen.sh + create mode 100644 bluetooth/CMakeLists.txt + delete mode 100644 bluetooth/Makefile.am + delete mode 100644 configure.in + delete mode 100644 examples/Makefile.am + create mode 100644 examples/rot13/CMakeLists.txt + delete mode 100644 examples/rot13/Makefile.am + create mode 100644 examples/tuesdayonly/CMakeLists.txt + delete mode 100644 examples/tuesdayonly/Makefile.am + create mode 100644 exec/CMakeLists.txt + delete mode 100644 exec/Makefile.am + create mode 100644 forward/CMakeLists.txt + delete mode 100644 forward/Makefile.am + create mode 100644 http/CMakeLists.txt + delete mode 100644 http/Makefile.am + create mode 100644 image/CMakeLists.txt + delete mode 100644 image/Makefile.am + create mode 100644 ip/CMakeLists.txt + delete mode 100644 ip/Makefile.am + create mode 100644 ip6/CMakeLists.txt + delete mode 100644 ip6/Makefile.am + create mode 100644 local/CMakeLists.txt + delete mode 100644 local/Makefile.am + create mode 100644 location/CMakeLists.txt + delete mode 100644 location/Makefile.am + create mode 100644 markdown/CMakeLists.txt + delete mode 100644 markdown/Makefile.am + create mode 100644 maths/CMakeLists.txt + delete mode 100644 maths/Makefile.am + create mode 100644 mime/CMakeLists.txt + delete mode 100644 mime/Makefile.am + create mode 100644 mysql/CMakeLists.txt + delete mode 100644 mysql/Makefile.am + create mode 100644 rss/CMakeLists.txt + delete mode 100644 rss/Makefile.am + create mode 100644 sconeserver.cmake + create mode 100644 sconesite/CMakeLists.txt + delete mode 100644 sconesite/Makefile.am + create mode 100644 sconex/CMakeLists.txt + delete mode 100644 sconex/Makefile.am + create mode 100644 server/CMakeLists.txt + delete mode 100644 server/Makefile.am + create mode 100644 simple/CMakeLists.txt + delete mode 100644 simple/Makefile.am + create mode 100644 smtp/CMakeLists.txt + delete mode 100644 smtp/Makefile.am + create mode 100644 sqlite/CMakeLists.txt + delete mode 100644 sqlite/Makefile.am + create mode 100644 ssl/CMakeLists.txt + delete mode 100644 ssl/Makefile.am + create mode 100644 stat/CMakeLists.txt + delete mode 100644 stat/Makefile.am + create mode 100644 test/CMakeLists.txt + delete mode 100644 test/Makefile.am + create mode 100644 testbuilder/CMakeLists.txt + delete mode 100644 testbuilder/Makefile.am + create mode 100644 tftp/CMakeLists.txt + delete mode 100644 tftp/Makefile.am + delete mode 100644 upstart + +diff --git a/sconex/sconex.cpp b/sconex/sconex.cpp +index 1b9fc97..a0ba8c1 100644 +--- a/sconex/sconex.cpp ++++ b/sconex/sconex.cpp +@@ -35,7 +35,7 @@ VersionTag& version() + const std::string& sconex_copyright() + { + static std::string s_copyright = +- "Copyright (c) 2000-2017 Andrew Wedgbury "; ++ "Copyright (c) 2000-2018 Andrew Wedgbury "; + return s_copyright; + } + +@@ -49,7 +49,7 @@ const std::string& build_type() + //========================================================================= + Date& build_time() + { +- static Date s_build_time(__DATE__" "__TIME__,true); ++ static Date s_build_time( __DATE__ " " __TIME__ ,true); + return s_build_time; + } diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in index a42abd70b7a..d46ba85fbcd 100644 --- a/package/sconeserver/Config.in +++ b/package/sconeserver/Config.in @@ -3,7 +3,6 @@ menuconfig BR2_PACKAGE_SCONESERVER depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() - select BR2_PACKAGE_PCRE select BR2_PACKAGE_ZLIB help Sconeserver is a modular, object-orientated and extremely @@ -27,14 +26,6 @@ config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE help http::sconesite module for Sconeserver -config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE - bool "http::sconesite::image" - depends on BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE - depends on BR2_USE_MMU # imagemagick - select BR2_PACKAGE_IMAGEMAGICK - help - http::sconesite::image module for Sconeserver - config BR2_PACKAGE_SCONESERVER_MYSQL bool "mysql" depends on BR2_USE_MMU # mysql @@ -79,13 +70,6 @@ comment "location support needs a toolchain w/ theads, dynamic library" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBRARY -config BR2_PACKAGE_SCONESERVER_LETTUCE - bool "lettuce" - help - Sconeserver module for Lettuce embedded automation platform - - http://www.sconemad.com/lettuce/ - config BR2_PACKAGE_SCONESERVER_MATHS bool "maths" select BR2_PACKAGE_MPFR @@ -97,16 +81,6 @@ config BR2_PACKAGE_SCONESERVER_TESTBUILDER help Testbuilder module for Sconeserver -config BR2_PACKAGE_SCONESERVER_UI - bool "ui" - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBX11 - help - UI module for Sconeserver - -comment "ui module requires X.org" - depends on !BR2_PACKAGE_XORG7 - endif # BR2_PACKAGE_SCONESERVER comment "sconeserver needs a toolchain with dynamic library, C++, NPTL" diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk index 9d4713afea8..2b28f8015cd 100644 --- a/package/sconeserver/sconeserver.mk +++ b/package/sconeserver/sconeserver.mk @@ -10,16 +10,27 @@ SCONESERVER_LICENSE = GPL-2.0+ SCONESERVER_LICENSE_FILES = COPYING # fetching from Git, we need to generate the configure script SCONESERVER_AUTORECONF = YES -SCONESERVER_DEPENDENCIES = host-pkgconf pcre zlib +SCONESERVER_DEPENDENCIES = \ + host-pkgconf \ + $(if $(BR2_PACKAGE_PCRE),pcre) \ + zlib +# disable image as it fails to build with ImageMagick # disable markdown module because its git submodule cmark # https://github.com/sconemad/sconeserver/tree/master/markdown # has no cross-compile support provided by the sconeserver build system -SCONESERVER_CONF_OPTS += --with-ip --with-local --with-ip6 --without-markdown +SCONESERVER_CONF_OPTS += \ + --with-ip \ + --with-local \ + --with-ip6 \ + --without-image \ + --without-markdown # Sconeserver configure script fails to find the libxml2 headers. ifeq ($(BR2_PACKAGE_LIBXML2),y) SCONESERVER_CONF_OPTS += \ --with-xml2-config="$(STAGING_DIR)/usr/bin/xml2-config" +# Needed to fix build failure when icu is enabled in libxml2 +SCONESERVER_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" endif ifeq ($(BR2_PACKAGE_OPENSSL),y) @@ -42,15 +53,6 @@ else SCONESERVER_CONF_OPTS += --without-sconesite endif -ifeq ($(BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE),y) -SCONESERVER_DEPENDENCIES += imagemagick -SCONESERVER_CONF_OPTS += \ - --with-sconesite-image \ - --with-Magick++-config="$(STAGING_DIR)/usr/bin/Magick++-config" -else -SCONESERVER_CONF_OPTS += --without-sconesite-image --with-Magick++-config=no -endif - ifeq ($(BR2_PACKAGE_SCONESERVER_MYSQL),y) SCONESERVER_DEPENDENCIES += mysql SCONESERVER_CONF_OPTS += \ @@ -82,12 +84,6 @@ else SCONESERVER_CONF_OPTS += --without-location endif -ifeq ($(BR2_PACKAGE_SCONESERVER_LETTUCE),y) -SCONESERVER_CONF_OPTS += --with-lettuce -else -SCONESERVER_CONF_OPTS += --without-lettuce -endif - ifeq ($(BR2_PACKAGE_SCONESERVER_MATHS),y) SCONESERVER_DEPENDENCIES += mpfr SCONESERVER_CONF_OPTS += --with-maths @@ -101,11 +97,4 @@ else SCONESERVER_CONF_OPTS += --without-testbuilder endif -ifeq ($(BR2_PACKAGE_SCONESERVER_UI),y) -SCONESERVER_DEPENDENCIES += xlib_libX11 -SCONESERVER_CONF_OPTS += --with-ui -else -SCONESERVER_CONF_OPTS += --without-ui -endif - $(eval $(autotools-package)) diff --git a/package/scons/scons.mk b/package/scons/scons.mk index da2ccceb086..6b75d3ddcac 100644 --- a/package/scons/scons.mk +++ b/package/scons/scons.mk @@ -16,4 +16,4 @@ HOST_SCONS_INSTALL_OPTS = \ $(eval $(host-python-package)) # variables used by other packages -SCONS = $(HOST_DIR)/bin/scons $(if $(QUIET),-s) +SCONS = $(HOST_DIR)/bin/python3 $(HOST_DIR)/bin/scons $(if $(QUIET),-s) diff --git a/package/screen/0008_CVE-2021-26937.patch b/package/screen/0008-CVE-2021-26937.patch similarity index 100% rename from package/screen/0008_CVE-2021-26937.patch rename to package/screen/0008-CVE-2021-26937.patch diff --git a/package/screen/screen.mk b/package/screen/screen.mk index f75f92cb47a..843c71fc2a2 100644 --- a/package/screen/screen.mk +++ b/package/screen/screen.mk @@ -9,6 +9,7 @@ SCREEN_SITE = $(BR2_GNU_MIRROR)/screen SCREEN_LICENSE = GPL-3.0+ SCREEN_LICENSE_FILES = COPYING SCREEN_CPE_ID_VENDOR = gnu +SCREEN_SELINUX_MODULES = screen SCREEN_DEPENDENCIES = ncurses SCREEN_AUTORECONF = YES SCREEN_CONF_ENV = CFLAGS="$(TARGET_CFLAGS)" diff --git a/package/sdbus-cpp/Config.in b/package/sdbus-cpp/Config.in new file mode 100644 index 00000000000..85f149eaa12 --- /dev/null +++ b/package/sdbus-cpp/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_SDBUS_CPP + bool "sdbus-c++" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_SYSTEMD + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 + help + sdbus-c++ is a high-level C++ D-Bus library for Linux + designed to provide expressive, easy-to-use API in modern C++. + + This will build the target library. + + https://github.com/Kistler-Group/sdbus-cpp + +comment "sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_SYSTEMD || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/sdbus-cpp/sdbus-cpp.hash b/package/sdbus-cpp/sdbus-cpp.hash new file mode 100644 index 00000000000..3a0e863a86f --- /dev/null +++ b/package/sdbus-cpp/sdbus-cpp.hash @@ -0,0 +1,4 @@ +# Locally computed: +sha256 35e939fdd9c796522702c9c8762dd59b5c47f3440c01ba9feb9921c042780b55 v1.1.0.tar.gz +sha256 20c17d8b8c48a600800dfd14f95d5cb9ff47066a9641ddeab48dc54aec96e331 COPYING +sha256 be43debbf06a38325616054a39e44ed5afde4ed21b99de197488a4a306d47e39 COPYING-LGPL-Exception diff --git a/package/sdbus-cpp/sdbus-cpp.mk b/package/sdbus-cpp/sdbus-cpp.mk new file mode 100644 index 00000000000..e0fbc5c8569 --- /dev/null +++ b/package/sdbus-cpp/sdbus-cpp.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# sdbus-c++ +# +################################################################################ + +SDBUS_CPP_VERSION = 1.1.0 +SDBUS_CPP_SOURCE = v$(SDBUS_CPP_VERSION).tar.gz +SDBUS_CPP_SITE = $(call github,Kistler-Group,sdbus-cpp,v$(SDBUS_CPP_VERSION)) +SDBUS_CPP_INSTALL_STAGING = YES +SDBUS_CPP_DEPENDENCIES = host-pkgconf systemd +SDBUS_CPP_LICENSE = LGPL-2.1+ with exception (headers) +SDBUS_CPP_LICENSE_FILES = COPYING COPYING-LGPL-Exception + +$(eval $(cmake-package)) diff --git a/package/sdbusplus/sdbusplus.mk b/package/sdbusplus/sdbusplus.mk index f4e258089b5..498b8350527 100644 --- a/package/sdbusplus/sdbusplus.mk +++ b/package/sdbusplus/sdbusplus.mk @@ -10,7 +10,7 @@ SDBUSPLUS_DEPENDENCIES = host-autoconf-archive host-pkgconf systemd HOST_SDBUSPLUS_DEPENDENCIES = \ host-autoconf-archive \ host-pkgconf \ - $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \ + host-python3 \ host-python-inflection \ host-python-mako \ host-python-pyyaml diff --git a/package/sdl2/0001-src-video-kmsdrm-SDL_kmsdrmvideo.c-fix-build.patch b/package/sdl2/0001-src-video-kmsdrm-SDL_kmsdrmvideo.c-fix-build.patch deleted file mode 100644 index 47a13300eb0..00000000000 --- a/package/sdl2/0001-src-video-kmsdrm-SDL_kmsdrmvideo.c-fix-build.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d265b1ee94aa4faf5fa405f14cc731a25d7a00ab Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 24 Mar 2020 14:11:14 +0100 -Subject: [PATCH] src/video/kmsdrm/SDL_kmsdrmvideo.c: fix build - -Build is broken without EGL since version 2.0.12 and -https://hg.libsdl.org/SDL/rev/9761858bd6a3: - -/home/giuliobenetti/autobuild/run/instance-1/output-1/build/sdl2-2.0.12/src/video/kmsdrm/SDL_kmsdrmvideo.c: In function 'KMSDRM_CreateSurfaces': -/home/giuliobenetti/autobuild/run/instance-1/output-1/build/sdl2-2.0.12/src/video/kmsdrm/SDL_kmsdrmvideo.c:394:5: error: unknown type name 'EGLContext' - EGLContext egl_context; - ^ - -Fixes: - - http://autobuild.buildroot.org/results/fafd20a01591032662f9ca025fcea3478239cf3c - -Signed-off-by: Fabrice Fontaine - -[Upstream: https://hg.libsdl.org/SDL/rev/389ce8cfa2a3] - - -Fixes: - - Update patch to version 2.0.14 - -Signed-off-by: Michael Fischer - -diff -purN a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.c 2021-01-08 09:56:44.028217792 +0100 -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c 2021-01-08 09:55:52.295932111 +0100 -@@ -1407,7 +1407,9 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window - uint32_t surface_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING; - uint32_t width, height; - -+#if SDL_VIDEO_OPENGL_EGL - EGLContext egl_context; -+#endif - - int ret = 0; - diff --git a/package/sdl2/Config.in b/package/sdl2/Config.in index f29b3c7c38c..2ad45e4d008 100644 --- a/package/sdl2/Config.in +++ b/package/sdl2/Config.in @@ -32,10 +32,14 @@ comment "X11 video driver needs X.org" config BR2_PACKAGE_SDL2_KMSDRM bool "KMS/DRM video driver" depends on BR2_PACKAGE_LIBDRM + depends on BR2_PACKAGE_MESA3D_GBM comment "KMS/DRM video driver needs libdrm" depends on !BR2_PACKAGE_LIBDRM +comment "KMS/DRM video driver needs mesa3d w/ GBM" + depends on !BR2_PACKAGE_MESA3D_GBM + config BR2_PACKAGE_SDL2_OPENGL bool "OpenGL (GLX)" depends on BR2_PACKAGE_HAS_LIBGL diff --git a/package/sdl2/sdl2.hash b/package/sdl2/sdl2.hash index 6b818fb0020..26b7ce41026 100644 --- a/package/sdl2/sdl2.hash +++ b/package/sdl2/sdl2.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.14.tar.gz.sig -sha256 d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc SDL2-2.0.14.tar.gz +# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.20.tar.gz.sig +sha256 c56aba1d7b5b0e7e999e4a7698c70b63a3394ff9704b5f6e1c57e0c16f04dd06 SDL2-2.0.20.tar.gz # Locally calculated -sha256 ae4df3759a726538607b84c00ab8f8a5567d9f38ad5397486eb9b5c5f626caef COPYING.txt +sha256 fcb07e07ac6bc8b2fcf047b50431ef4ebe5b619d7ca7c82212018309a9067426 LICENSE.txt diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index 48148d38e3e..e0a817e2490 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -4,11 +4,11 @@ # ################################################################################ -SDL2_VERSION = 2.0.14 +SDL2_VERSION = 2.0.20 SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz SDL2_SITE = http://www.libsdl.org/release SDL2_LICENSE = Zlib -SDL2_LICENSE_FILES = COPYING.txt +SDL2_LICENSE_FILES = LICENSE.txt SDL2_CPE_ID_VENDOR = libsdl SDL2_CPE_ID_PRODUCT = simple_directmedia_layer SDL2_INSTALL_STAGING = YES @@ -24,13 +24,15 @@ SDL2_CONF_OPTS += \ # We are using autotools build system for sdl2, so the sdl2-config.cmake # include path are not resolved like for sdl2-config script. -# Remove sdl2-config.cmake file and avoid unsafe include path if this -# file is used by a cmake based package. +# Change the absolute /usr path to resolve relatively to the sdl2-config.cmake location. # https://bugzilla.libsdl.org/show_bug.cgi?id=4597 -define SDL2_REMOVE_SDL2_CONFIG_CMAKE - rm -rf $(STAGING_DIR)/usr/lib/cmake/SDL2 +define SDL2_FIX_SDL2_CONFIG_CMAKE + $(SED) '2iget_filename_component(PACKAGE_PREFIX_DIR "$${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)\n' \ + $(STAGING_DIR)/usr/lib/cmake/SDL2/sdl2-config.cmake + $(SED) 's%"/usr"%$${PACKAGE_PREFIX_DIR}%' \ + $(STAGING_DIR)/usr/lib/cmake/SDL2/sdl2-config.cmake endef -SDL2_POST_INSTALL_STAGING_HOOKS += SDL2_REMOVE_SDL2_CONFIG_CMAKE +SDL2_POST_INSTALL_STAGING_HOOKS += SDL2_FIX_SDL2_CONFIG_CMAKE # We must enable static build to get compilation successful. SDL2_CONF_OPTS += --enable-static @@ -142,13 +144,6 @@ else SDL2_CONF_OPTS += --disable-video-opengles endif -ifeq ($(BR2_PACKAGE_TSLIB),y) -SDL2_DEPENDENCIES += tslib -SDL2_CONF_OPTS += --enable-input-tslib -else -SDL2_CONF_OPTS += --disable-input-tslib -endif - ifeq ($(BR2_PACKAGE_ALSA_LIB),y) SDL2_DEPENDENCIES += alsa-lib SDL2_CONF_OPTS += --enable-alsa @@ -157,7 +152,7 @@ SDL2_CONF_OPTS += --disable-alsa endif ifeq ($(BR2_PACKAGE_SDL2_KMSDRM),y) -SDL2_DEPENDENCIES += libdrm +SDL2_DEPENDENCIES += libdrm mesa3d SDL2_CONF_OPTS += --enable-video-kmsdrm else SDL2_CONF_OPTS += --disable-video-kmsdrm diff --git a/package/sdl2_ttf/sdl2_ttf.hash b/package/sdl2_ttf/sdl2_ttf.hash index 16459e4a59e..a490b002b6f 100644 --- a/package/sdl2_ttf/sdl2_ttf.hash +++ b/package/sdl2_ttf/sdl2_ttf.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a9eceb1ad88c1f1545cd7bd28e7cbc0b2c14191d40238f531a15b01b1b22cd33 SDL2_ttf-2.0.15.tar.gz -sha256 f6370809c9f644760920d9945c5be07aed17664975f2e4741013d4d9a2ec696f COPYING.txt +sha256 7234eb8883514e019e7747c703e4a774575b18d435c22a4a29d068cb768a2251 SDL2_ttf-2.0.18.tar.gz +sha256 e211dfe7e2c36e64048be886fe3f2bbba8732ce4dd77b596a355d3abbec775a4 COPYING.txt diff --git a/package/sdl2_ttf/sdl2_ttf.mk b/package/sdl2_ttf/sdl2_ttf.mk index 326cb993665..054e327faca 100644 --- a/package/sdl2_ttf/sdl2_ttf.mk +++ b/package/sdl2_ttf/sdl2_ttf.mk @@ -4,16 +4,21 @@ # ################################################################################ -SDL2_TTF_VERSION = 2.0.15 +SDL2_TTF_VERSION = 2.0.18 SDL2_TTF_SOURCE = SDL2_ttf-$(SDL2_TTF_VERSION).tar.gz SDL2_TTF_SITE = http://www.libsdl.org/projects/SDL_ttf/release SDL2_TTF_LICENSE = Zlib SDL2_TTF_LICENSE_FILES = COPYING.txt SDL2_TTF_INSTALL_STAGING = YES SDL2_TTF_DEPENDENCIES = sdl2 freetype host-pkgconf +SDL2_TTF_CONF_OPTS = --disable-freetype-builtin --disable-harfbuzz-builtin -SDL2_TTF_CONF_ENV = \ - FREETYPE_CONFIG=$(STAGING_DIR)/usr/bin/freetype-config +ifeq ($(BR2_PACKAGE_HARFBUZZ),y) +SDL2_TTF_DEPENDENCIES += harfbuzz +SDL2_TTF_CONF_OPTS += --enable-harfbuzz +else +SDL2_TTF_CONF_OPTS += --disable-harfbuzz +endif # x-includes and x-libraries must be set for cross-compiling # By default x_includes and x_libraries contains unsafe paths. diff --git a/package/sdl_image/sdl_image.hash b/package/sdl_image/sdl_image.hash index 90e3040a17e..a0a2709f65a 100644 --- a/package/sdl_image/sdl_image.hash +++ b/package/sdl_image/sdl_image.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699 SDL_image-1.2.12.tar.gz +sha256 abaf55f6c3bbd7c7271b523767f360317f1fbb2a79e74c38c0523a123970ac89 sdl_image-5d792dde2f764daf15dc48521774a3354330db69.tar.gz sha256 653649692218d56e5807bdc5b72f51aa6067bc44d30b757e18c03b32bcaf98da COPYING diff --git a/package/sdl_image/sdl_image.mk b/package/sdl_image/sdl_image.mk index 9ff9206b74b..dafb64dfb03 100644 --- a/package/sdl_image/sdl_image.mk +++ b/package/sdl_image/sdl_image.mk @@ -4,9 +4,12 @@ # ################################################################################ -SDL_IMAGE_VERSION = 1.2.12 -SDL_IMAGE_SOURCE = SDL_image-$(SDL_IMAGE_VERSION).tar.gz -SDL_IMAGE_SITE = http://www.libsdl.org/projects/SDL_image/release +# The latest officially released version of SDL_image is 1.2.12, released in 2012. +# Since then, there have been many bugfixes, including security fixes. +# +# This commit points to the SDL-1.2 branch from 14 Mar 2021. +SDL_IMAGE_VERSION = 5d792dde2f764daf15dc48521774a3354330db69 +SDL_IMAGE_SITE = $(call github,libsdl-org,SDL_image,$(SDL_IMAGE_VERSION)) SDL_IMAGE_INSTALL_STAGING = YES SDL_IMAGE_LICENSE = Zlib SDL_IMAGE_LICENSE_FILES = COPYING diff --git a/package/sdl_mixer/0001-Add-Libs.private-field-to-pkg-config-file.patch b/package/sdl_mixer/0001-Add-Libs.private-field-to-pkg-config-file.patch index e0e85710d92..569fb55004a 100644 --- a/package/sdl_mixer/0001-Add-Libs.private-field-to-pkg-config-file.patch +++ b/package/sdl_mixer/0001-Add-Libs.private-field-to-pkg-config-file.patch @@ -1,12 +1,12 @@ From abf3a1b9c9cdacb574c2b9cdbf3f2a5e18c39ab9 Mon Sep 17 00:00:00 2001 From: Rodrigo Rebello Date: Mon, 29 Feb 2016 22:53:49 -0300 -Subject: [PATCH 1/1] Add 'Libs.private' field to pkg-config file +Subject: [PATCH] Add 'Libs.private' field to pkg-config file In order to support static linking, SDL_mixer.pc should include a 'Libs.private' field listing all the libraries that SDL_mixer requires. -This patch adds such a field and also modifies configure.in so that +This patch adds such a field and also modifies configure.ac so that EXTRA_LDFLAGS (which is now also used as the value of 'Libs.private') no longer includes SDL_LIBS. This is done so as to prevent libraries required by SDL from being listed twice when 'pkg-config --libs --static @@ -20,14 +20,14 @@ Signed-off-by: Rodrigo Rebello --- Makefile.in | 2 +- SDL_mixer.pc.in | 1 + - configure.in | 1 - + configure.ac | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 3d10565..ce4efd4 100644 +index 027a99b..18015a2 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -63,7 +63,7 @@ $(objects): +@@ -61,7 +61,7 @@ $(objects): .PHONY: all install install-hdrs install-lib install-bin uninstall uninstall-hdrs uninstall-lib uninstall-bin clean distclean dist $(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS) @@ -35,7 +35,7 @@ index 3d10565..ce4efd4 100644 + $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(SDL_LIBS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(objects)/playwave$(EXE): $(objects)/playwave.lo $(objects)/$(TARGET) - $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) + $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(LDFLAGS) $(objects)/$(TARGET) diff --git a/SDL_mixer.pc.in b/SDL_mixer.pc.in index 1c4965d..d793521 100644 --- a/SDL_mixer.pc.in @@ -47,11 +47,11 @@ index 1c4965d..d793521 100644 +Libs.private: @EXTRA_LDFLAGS@ Cflags: -I${includedir}/SDL -diff --git a/configure.in b/configure.in -index 2272b29..442eca6 100644 ---- a/configure.in -+++ b/configure.in -@@ -202,7 +202,6 @@ AM_PATH_SDL($SDL_VERSION, +diff --git a/configure.ac b/configure.ac +index 01a3d83..3ad3b4f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -200,7 +200,6 @@ AM_PATH_SDL($SDL_VERSION, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ) EXTRA_CFLAGS="$EXTRA_CFLAGS $SDL_CFLAGS" @@ -60,5 +60,4 @@ index 2272b29..442eca6 100644 dnl Check for math library AC_CHECK_LIB(m, pow, [LIBM="-lm"]) -- -2.1.4 - +2.27.0 diff --git a/package/sdl_mixer/0002-add-LDFLAGS-while-linking.patch b/package/sdl_mixer/0002-add-LDFLAGS-while-linking.patch deleted file mode 100644 index 41446607413..00000000000 --- a/package/sdl_mixer/0002-add-LDFLAGS-while-linking.patch +++ /dev/null @@ -1,29 +0,0 @@ -Pass LDFLAGS while creating binaries. - -Fixes following linking error with uClibc-ng: -br/output/host/usr/lib/gcc/powerpc-buildroot-linux-uclibc/5.4.0/libgcc.a(unwind-dw2-fde-dip.o): In function `_Unwind_Find_FDE': -br/output/build/host-gcc-final-5.4.0/build/powerpc-buildroot-linux-uclibc/libgcc/../../../libgcc/unwind-dw2-fde-dip.c:465: undefined reference to `dl_iterate_phdr' -collect2: error: ld returned 1 exit status - -Since uClibc-ng 1.0.18 a circular dependency between libc and libgcc -exist, when static linking is used. It can be resolved by the compiler -when -static is correctly passed in the linking step. - -Signed-off-by: Waldemar Brodkorb - -diff -Nur SDL_mixer-1.2.12.orig/Makefile.in SDL_mixer-1.2.12/Makefile.in ---- SDL_mixer-1.2.12.orig/Makefile.in 2012-01-15 23:01:04.000000000 +0100 -+++ SDL_mixer-1.2.12/Makefile.in 2016-12-07 08:29:22.479786596 +0100 -@@ -66,10 +66,10 @@ - $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) - - $(objects)/playwave$(EXE): $(objects)/playwave.lo $(objects)/$(TARGET) -- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) -+ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(LDFLAGS) $(objects)/$(TARGET) - - $(objects)/playmus$(EXE): $(objects)/playmus.lo $(objects)/$(TARGET) -- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) -+ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(SDL_LIBS) $(LDFLAGS) $(objects)/$(TARGET) - - install: all install-hdrs install-lib #install-bin - install-hdrs: diff --git a/package/sdl_mixer/0002-configure__set_macro_directory.patch b/package/sdl_mixer/0002-configure__set_macro_directory.patch new file mode 100644 index 00000000000..9802333a1d4 --- /dev/null +++ b/package/sdl_mixer/0002-configure__set_macro_directory.patch @@ -0,0 +1,34 @@ +# HG changeset patch +# User "Yann E. MORIN" +# Date 1581183281 -3600 +# Sat Feb 08 18:34:41 2020 +0100 +# Node ID 753a1f394620056c35790a571ff5f7c248445943 +# Parent eb5f08bf9994bf5164ca68015f2e030c2c9dddcd +configure: set macro directory + +Setting the macro directory in configure.in, rather than specifying it +on the command line, ensures that it is properly searched in the correct +order, and that autoreconf properly updates our macros with the newer +system ones, if any. + +Fixes: + http://autobuild.buildroot.org/results/63a/63ae0bddb3c4436efe967c318e299047f496c5a5/build-end.log + + libtool: Version mismatch error. This is libtool 2.4.6, but the + libtool: definition of this LT_INIT comes from libtool 2.2.6. + libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6 + libtool: and run autoconf again. + +Signed-off-by: Yann E. MORIN + +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -1,6 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. + AC_INIT(README) + AC_CONFIG_AUX_DIR(build-scripts) ++AC_CONFIG_MACRO_DIR([acinclude]) + + dnl Set various version strings - taken gratefully from the GTk sources + diff --git a/package/sdl_mixer/0003-Fix-include-of-modplug.h.patch b/package/sdl_mixer/0003-Fix-include-of-modplug.h.patch deleted file mode 100644 index 841cef4ef57..00000000000 --- a/package/sdl_mixer/0003-Fix-include-of-modplug.h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From fb8e7c535a88838cc8ae364cd2a099df6316d3b0 Mon Sep 17 00:00:00 2001 -From: Paul Cercueil -Date: Tue, 30 Apr 2019 23:12:15 +0200 -Subject: [PATCH] Fix include of modplug.h - -The include path should be , since the library -doesn't provide any specific include path in its pkg-config file. - -This patch was obtained from this bug report: -https://bugzilla.libsdl.org/show_bug.cgi?id=4893 - -Signed-off-by: Paul Cercueil - ---- - music_modplug.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/music_modplug.h b/music_modplug.h -index 92cbafd..49abbb0 100644 ---- a/music_modplug.h -+++ b/music_modplug.h -@@ -1,6 +1,7 @@ - #ifdef MODPLUG_MUSIC - --#include "modplug.h" -+#include -+ - #include "SDL_rwops.h" - #include "SDL_audio.h" - #include "SDL_mixer.h" --- -2.21.0.593.g511ec345e18 - diff --git a/package/sdl_mixer/0003-configure.ac-fix-static-linking-with-tremor.patch b/package/sdl_mixer/0003-configure.ac-fix-static-linking-with-tremor.patch new file mode 100644 index 00000000000..c3c7f19e7fc --- /dev/null +++ b/package/sdl_mixer/0003-configure.ac-fix-static-linking-with-tremor.patch @@ -0,0 +1,24 @@ +From 02e247a0b820753977315786087b969f3b2c53da Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 10 Apr 2021 11:50:17 +0200 +Subject: [PATCH] configure.ac: fix linking with tremor + +backported from: https://github.com/libsdl-org/SDL_mixer/pull/312 +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c8dbcdb..93d5db0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -453,7 +453,7 @@ if test x$enable_music_ogg = xyes; then + echo "-- dynamic libvorbisidec -> $ogg_lib" + EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_DYNAMIC=\\\"$ogg_lib\\\"" + else +- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisidec -lvorbis" ++ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisidec" + fi + else + AC_MSG_WARN([*** Unable to find Ogg Vorbis Tremor library (http://www.xiph.org/)]) diff --git a/package/sdl_mixer/0004-configure__set_macro_directory.patch b/package/sdl_mixer/0004-configure__set_macro_directory.patch deleted file mode 100644 index 5b47f0e80d5..00000000000 --- a/package/sdl_mixer/0004-configure__set_macro_directory.patch +++ /dev/null @@ -1,34 +0,0 @@ -# HG changeset patch -# User "Yann E. MORIN" -# Date 1581183281 -3600 -# Sat Feb 08 18:34:41 2020 +0100 -# Node ID 753a1f394620056c35790a571ff5f7c248445943 -# Parent eb5f08bf9994bf5164ca68015f2e030c2c9dddcd -configure: set macro directory - -Setting the macro directory in configure.in, rather than specifying it -on the command line, ensures that it is properly searched in the correct -order, and that autoreconf properly updates our macros with the newer -system ones, if any. - -Fixes: - http://autobuild.buildroot.org/results/63a/63ae0bddb3c4436efe967c318e299047f496c5a5/build-end.log - - libtool: Version mismatch error. This is libtool 2.4.6, but the - libtool: definition of this LT_INIT comes from libtool 2.2.6. - libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6 - libtool: and run autoconf again. - -Signed-off-by: Yann E. MORIN - -diff --git a/configure.in b/configure.in ---- a/configure.in -+++ b/configure.in -@@ -1,6 +1,7 @@ - dnl Process this file with autoconf to produce a configure script. - AC_INIT(README) - AC_CONFIG_AUX_DIR(build-scripts) -+AC_CONFIG_MACRO_DIR([acinclude]) - - dnl Set various version strings - taken gratefully from the GTk sources - diff --git a/package/sdl_mixer/sdl_mixer.hash b/package/sdl_mixer/sdl_mixer.hash index 5d7e7836cd9..5791708950c 100644 --- a/package/sdl_mixer/sdl_mixer.hash +++ b/package/sdl_mixer/sdl_mixer.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f86992a SDL_mixer-1.2.12.tar.gz -sha256 bc4c3bc32b311044d81c32b5e5402a6bc971a3b235850bb63445ec14bb6fe59e COPYING +sha256 b3c0f36500b23a6f5832d472f3e07b74f1d3f6bd00bf6700bc5e99babc9ba2ab sdl_mixer-d1725fcb7c4e987aeb7ecdc94cb8b6375b702170.tar.gz +sha256 bc4c3bc32b311044d81c32b5e5402a6bc971a3b235850bb63445ec14bb6fe59e COPYING diff --git a/package/sdl_mixer/sdl_mixer.mk b/package/sdl_mixer/sdl_mixer.mk index 9636c228adf..049ce15d1f1 100644 --- a/package/sdl_mixer/sdl_mixer.mk +++ b/package/sdl_mixer/sdl_mixer.mk @@ -4,9 +4,12 @@ # ################################################################################ -SDL_MIXER_VERSION = 1.2.12 -SDL_MIXER_SOURCE = SDL_mixer-$(SDL_MIXER_VERSION).tar.gz -SDL_MIXER_SITE = http://www.libsdl.org/projects/SDL_mixer/release +# The latest officially released version of SDL_mixer is 1.2.12, released in 2012. +# Since then, there have been many bugfixes on master. +# +# This commit points to the SDL-1.2 branch from 15 Mar 2021. +SDL_MIXER_VERSION = d1725fcb7c4e987aeb7ecdc94cb8b6375b702170 +SDL_MIXER_SITE = $(call github,libsdl-org,SDL_mixer,$(SDL_MIXER_VERSION)) SDL_MIXER_LICENSE = Zlib SDL_MIXER_LICENSE_FILES = COPYING @@ -20,7 +23,6 @@ SDL_MIXER_DEPENDENCIES = sdl SDL_MIXER_AUTORECONF = YES SDL_MIXER_CONF_OPTS = \ - --without-x \ --with-sdl-prefix=$(STAGING_DIR)/usr \ --disable-music-mod \ --disable-music-mp3 \ diff --git a/package/sdl_net/sdl_net.hash b/package/sdl_net/sdl_net.hash index 4f2e1ae76a9..e2b64336ee4 100644 --- a/package/sdl_net/sdl_net.hash +++ b/package/sdl_net/sdl_net.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5f4a7a8bb884f793c278ac3f3713be41980c5eedccecff0260411347714facb4 SDL_net-1.2.8.tar.gz +sha256 7549dbc91813c37986300e7f34e63a068b42fd91abb41cabcaca63b4c7404ea5 SDL_net-620b0ba7dd84a0fdbd4cc8ef1b2be1cc10f90ae3.tar.gz sha256 e542f822a6cd82deccf82cf0f50192917b0158d725a6bc6348ab1ccdd890ecbe COPYING diff --git a/package/sdl_net/sdl_net.mk b/package/sdl_net/sdl_net.mk index c7e409a1831..5f014af19df 100644 --- a/package/sdl_net/sdl_net.mk +++ b/package/sdl_net/sdl_net.mk @@ -4,8 +4,12 @@ # ################################################################################ -SDL_NET_VERSION = 1.2.8 -SDL_NET_SITE = http://www.libsdl.org/projects/SDL_net/release +# The latest officially released version of SDL_image is 1.2.8, released in 2012. +# Since then, there have been several bugfixes. +# +# This commit points to the SDL-1.2 branch from 18 Feb 2021. +SDL_NET_VERSION = 620b0ba7dd84a0fdbd4cc8ef1b2be1cc10f90ae3 +SDL_NET_SITE = $(call github,libsdl-org,SDL_net,$(SDL_NET_VERSION)) SDL_NET_SOURCE = SDL_net-$(SDL_NET_VERSION).tar.gz SDL_NET_LICENSE = Zlib SDL_NET_LICENSE_FILES = COPYING diff --git a/package/sdl_ttf/sdl_ttf.hash b/package/sdl_ttf/sdl_ttf.hash index 97416c18c61..7c5a5326607 100644 --- a/package/sdl_ttf/sdl_ttf.hash +++ b/package/sdl_ttf/sdl_ttf.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f7bf5f6a4a21542a6ce5440dc0d81f3a26d029ee689e1fade62925b1e6667bd9 de50cffd41e6.tar.gz +sha256 c24e3b48f5ffa5afb3256d23700506fad72117ac2834147c2e46ee94c3cb12b5 sdl_ttf-70b2940cc75e92aab02a67d2f827caf2836a2c74.tar.gz sha256 b609721d3d4ac67facaf86f068c8b311b6c5f6cef89b6d84268aa38b7867ab7b COPYING diff --git a/package/sdl_ttf/sdl_ttf.mk b/package/sdl_ttf/sdl_ttf.mk index 9ac12ef5b75..c396830d0e6 100644 --- a/package/sdl_ttf/sdl_ttf.mk +++ b/package/sdl_ttf/sdl_ttf.mk @@ -6,16 +6,8 @@ # There is unlikely to be a new SDL_ttf release for the foreseeable future: # https://bugzilla.libsdl.org/show_bug.cgi?id=5344#c1 -# -# The unreleased version from HEAD as of 2020-11-09 has several bugfixes -# and DPI scaling support: -# https://hg.libsdl.org/SDL_ttf/rev/7dbd7cd826d6 -# -# DPI scaling is used for rendering on HiDPI displays and displays -# with non-square pixels. -SDL_TTF_VERSION = de50cffd41e6 -SDL_TTF_SOURCE = $(SDL_TTF_VERSION).tar.gz -SDL_TTF_SITE = https://hg.libsdl.org/SDL_ttf/archive +SDL_TTF_VERSION = 70b2940cc75e92aab02a67d2f827caf2836a2c74 +SDL_TTF_SITE = $(call github,libsdl-org,SDL_ttf,$(SDL_TTF_VERSION)) SDL_TTF_LICENSE = Zlib SDL_TTF_LICENSE_FILES = COPYING @@ -26,5 +18,8 @@ SDL_TTF_CONF_OPTS = \ --with-freetype-prefix=$(STAGING_DIR)/usr \ --with-sdl-prefix=$(STAGING_DIR)/usr -SDL_TTF_MAKE_OPTS = INCLUDES="-I$(STAGING_DIR)/usr/include/SDL" LDFLAGS="-L$(STAGING_DIR)/usr/lib" +SDL_TTF_MAKE_OPTS = \ + INCLUDES="-I$(STAGING_DIR)/usr/include/SDL" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib" + $(eval $(autotools-package)) diff --git a/package/seatd/Config.in b/package/seatd/Config.in new file mode 100644 index 00000000000..5473b237cef --- /dev/null +++ b/package/seatd/Config.in @@ -0,0 +1,23 @@ +menuconfig BR2_PACKAGE_SEATD + bool "seatd" + select BR2_PACKAGE_SEATD_BUILTIN \ + if !BR2_PACKAGE_SYSTEMD_LOGIND && !BR2_PACKAGE_SEATD_DAEMON + help + Seat management daemon and support library. + + https://git.sr.ht/~kennylevinsen/seatd + +if BR2_PACKAGE_SEATD + +config BR2_PACKAGE_SEATD_BUILTIN + bool "builtin backend" + help + Builtin in-process seatd implementation inside libseat. + +config BR2_PACKAGE_SEATD_DAEMON + bool "seatd daemon" + depends on BR2_USE_MMU # fork() + help + Build the seatd daemon and support for it inside libseat. + +endif diff --git a/package/seatd/S70seatd b/package/seatd/S70seatd new file mode 100755 index 00000000000..32bdc40fbbe --- /dev/null +++ b/package/seatd/S70seatd @@ -0,0 +1,46 @@ +#! /bin/sh + +DAEMON="seatd" +DAEMON_EXE="/usr/bin/${DAEMON}" +PIDFILE="/run/${DAEMON}.pid" + +start() { + printf 'Starting %s: ' "${DAEMON}" + start-stop-daemon -S -x "${DAEMON_EXE}" -p "${PIDFILE}" -m -b -- -g video + status=$? + if [ "$status" -eq 0 ]; then + echo OK + else + echo FAIL + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "${DAEMON}" + start-stop-daemon -K -x "${DAEMON_EXE}" -p "${PIDFILE}" + status=$? + if [ "$status" -eq 0 ]; then + echo OK + else + echo FAIL + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "${1}" in + start|stop|restart) + "${1}";; + reload) + restart;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/package/seatd/seatd.hash b/package/seatd/seatd.hash new file mode 100644 index 00000000000..88793b6dd54 --- /dev/null +++ b/package/seatd/seatd.hash @@ -0,0 +1,5 @@ +# Calculated locally +sha256 3d4ac288114219ba7721239cafee7bfbeb7cf8e1e7fd653602a369e4ad050bd8 0.6.4.tar.gz + +# License files +sha256 282a494803d666616bd726e0279636b5f6a31387ae19a707459074050f2600d3 LICENSE diff --git a/package/seatd/seatd.mk b/package/seatd/seatd.mk new file mode 100644 index 00000000000..5382cad39b8 --- /dev/null +++ b/package/seatd/seatd.mk @@ -0,0 +1,53 @@ +################################################################################ +# +# seatd +# +################################################################################ + +SEATD_VERSION = 0.6.4 +SEATD_SOURCE = $(SEATD_VERSION).tar.gz +SEATD_SITE = https://git.sr.ht/~kennylevinsen/seatd/archive +SEATD_LICENSE = MIT +SEATD_LICENSE_FILES = LICENSE +SEATD_INSTALL_STAGING = YES + +SEATD_CONF_OPTS += \ + -Dman-pages=disabled \ + -Dexamples=disabled \ + -Dwerror=false + +ifeq ($(BR2_PACKAGE_SYSTEMD_LOGIND),y) +SEATD_CONF_OPTS += -Dlibseat-logind=enabled +SEATD_DEPENDENCIES += systemd +else +SEATD_CONF_OPTS += -Dlibseat-logind=disabled +endif + +ifeq ($(BR2_PACKAGE_SEATD_BUILTIN),y) +SEATD_CONF_OPTS += -Dlibseat-builtin=enabled +else +SEATD_CONF_OPTS += -Dlibseat-builtin=disabled +endif + +ifeq ($(BR2_PACKAGE_SEATD_DAEMON),y) +SEATD_CONF_OPTS += -Dlibseat-seatd=enabled -Dserver=enabled + +define SEATD_USERS + - - video -1 - - - - - +endef + +define SEATD_INSTALL_INIT_SYSV + $(INSTALL) -m 0755 -D $(SEATD_PKGDIR)/S70seatd \ + $(TARGET_DIR)/etc/init.d/S70seatd +endef + +define SEATD_INSTALL_INIT_SYSTEMD + $(INSTALL) -m 0644 -D $(@D)/contrib/systemd/seatd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/seatd.service +endef + +else +SEATD_CONF_OPTS += -Dlibseat-seatd=disabled -Dserver=disabled +endif + +$(eval $(meson-package)) diff --git a/package/selinux-python/Config.in b/package/selinux-python/Config.in index 0f1c281777e..ad50cc0735d 100644 --- a/package/selinux-python/Config.in +++ b/package/selinux-python/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_SELINUX_PYTHON bool "selinux-python" - depends on !BR2_PACKAGE_PYTHON depends on BR2_USE_MMU depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS @@ -17,6 +16,7 @@ if BR2_PACKAGE_SELINUX_PYTHON config BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW bool "audit2allow" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # semodule-utils -> libsepol select BR2_PACKAGE_CHECKPOLICY select BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN select BR2_PACKAGE_SEMODULE_UTILS @@ -29,18 +29,21 @@ config BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW audit2why - translates SELinux audit messages into a description of why the access was denied (audit2allow -w) +comment "audit2allow needs a toolchain w/ gcc 5" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + config BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN bool "sepolgen" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # semodule-utils -> libsepol select BR2_PACKAGE_SEMODULE_UTILS help This package contains a Python module that allows you to generate an initial SELinux policy module template. -endif +comment "sepolgen needs a toolchain w/ gcc 5" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 -comment "selinux-python needs python3" - depends on BR2_USE_MMU - depends on BR2_PACKAGE_PYTHON +endif comment "selinux-python packages needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU diff --git a/package/selinux-python/selinux-python.hash b/package/selinux-python/selinux-python.hash index f896168f7ac..6ada3fee363 100644 --- a/package/selinux-python/selinux-python.hash +++ b/package/selinux-python/selinux-python.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 f4d0a1a030bc291a6af498b26e0676b745075dd289a8ba16cdec86c3ea8f2f02 selinux-python-3.1.tar.gz +sha256 8ad91061300387996ccb474962fb93dde263d924aa8f740618be16b22e2444ec selinux-python-3.3.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/selinux-python/selinux-python.mk b/package/selinux-python/selinux-python.mk index 3b1e15bdf88..0cec602f3dd 100644 --- a/package/selinux-python/selinux-python.mk +++ b/package/selinux-python/selinux-python.mk @@ -4,8 +4,8 @@ # ################################################################################ -SELINUX_PYTHON_VERSION = 3.1 -SELINUX_PYTHON_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +SELINUX_PYTHON_VERSION = 3.3 +SELINUX_PYTHON_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(SELINUX_PYTHON_VERSION) SELINUX_PYTHON_LICENSE = GPL-2.0 SELINUX_PYTHON_LICENSE_FILES = COPYING SELINUX_PYTHON_DEPENDENCIES = python3 diff --git a/package/semodule-utils/Config.in b/package/semodule-utils/Config.in index 38e043dc2cd..5d98dc615f4 100644 --- a/package/semodule-utils/Config.in +++ b/package/semodule-utils/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_SEMODULE_UTILS bool "semodule-utils" depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol select BR2_PACKAGE_LIBSEPOL help semodule-utils is a package that contains tools for handling @@ -15,5 +16,6 @@ config BR2_PACKAGE_SEMODULE_UTILS https://github.com/SELinuxProject/selinux/wiki/Releases -comment "semodule-utils needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "semodule-utils needs a toolchain w/ threads, gcc >= 5" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/semodule-utils/semodule-utils.hash b/package/semodule-utils/semodule-utils.hash index d015205d53f..c252506df5a 100644 --- a/package/semodule-utils/semodule-utils.hash +++ b/package/semodule-utils/semodule-utils.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 0cc37f9cec751d9c2abb5f2b228b060567e973cb47c19b53b8a4a7378baaa853 semodule-utils-3.1.tar.gz +sha256 3098ec5e5f04a1dbbf4aa569b63a4570750a9fe0d4da14ce45954aa300a17063 semodule-utils-3.3.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/semodule-utils/semodule-utils.mk b/package/semodule-utils/semodule-utils.mk index c89f28d60ef..a9388f7ee8e 100644 --- a/package/semodule-utils/semodule-utils.mk +++ b/package/semodule-utils/semodule-utils.mk @@ -4,8 +4,8 @@ # ################################################################################ -SEMODULE_UTILS_VERSION = 3.1 -SEMODULE_UTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710 +SEMODULE_UTILS_VERSION = 3.3 +SEMODULE_UTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(SEMODULE_UTILS_VERSION) SEMODULE_UTILS_LICENSE = GPL-2.0 SEMODULE_UTILS_LICENSE_FILES = COPYING SEMODULE_UTILS_DEPENDENCIES = libsepol diff --git a/package/sentry-cli/sentry-cli.hash b/package/sentry-cli/sentry-cli.hash index 3b0733a2761..73f818125f9 100644 --- a/package/sentry-cli/sentry-cli.hash +++ b/package/sentry-cli/sentry-cli.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 5d0f7acf6a139d1c1716b9a8ff76c8bfaab09104ba663c957bb9a5dba2ffbabd sentry-cli-1.57.0.tar.gz +sha256 d687336379fd96c4ee73f24bd062d31672bd7453af53311b72977be3c8c78fef sentry-cli-1.59.0.tar.gz sha256 9503def7b54ceb6e3cd182fd59bc05d3a30d7eae481e65aaba4b495133c83c14 LICENSE diff --git a/package/sentry-cli/sentry-cli.mk b/package/sentry-cli/sentry-cli.mk index 7e53f160265..58f5f1e3252 100644 --- a/package/sentry-cli/sentry-cli.mk +++ b/package/sentry-cli/sentry-cli.mk @@ -4,29 +4,11 @@ # ################################################################################ -SENTRY_CLI_VERSION = 1.57.0 +SENTRY_CLI_VERSION = 1.59.0 SENTRY_CLI_SITE = $(call github,getsentry,sentry-cli,$(SENTRY_CLI_VERSION)) SENTRY_CLI_LICENSE = BSD-3-clause SENTRY_CLI_LICENSE_FILES = LICENSE -HOST_SENTRY_CLI_DEPENDENCIES = host-rustc host-zlib +HOST_SENTRY_CLI_DEPENDENCIES = host-zlib -HOST_SENTRY_CLI_CARGO_ENV = \ - CARGO_HOME=$(HOST_DIR)/share/cargo \ - RUSTFLAGS="$(addprefix -C link-args=,$(HOST_LDFLAGS))" - -HOST_SENTRY_CLI_CARGO_OPTS = \ - --release \ - --manifest-path=$(@D)/Cargo.toml - -define HOST_SENTRY_CLI_BUILD_CMDS - $(HOST_MAKE_ENV) $(HOST_SENTRY_CLI_CARGO_ENV) \ - cargo build $(HOST_SENTRY_CLI_CARGO_OPTS) -endef - -define HOST_SENTRY_CLI_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/target/release/sentry-cli \ - $(HOST_DIR)/bin/sentry-cli -endef - -$(eval $(host-generic-package)) +$(eval $(host-cargo-package)) diff --git a/package/ser2net/Config.in b/package/ser2net/Config.in index 3d110b70f23..1859d42c8f2 100644 --- a/package/ser2net/Config.in +++ b/package/ser2net/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_SER2NET bool "ser2net" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_ATOMIC # gensio select BR2_PACKAGE_GENSIO select BR2_PACKAGE_LIBYAML help diff --git a/package/ser2net/ser2net.hash b/package/ser2net/ser2net.hash index 32783213c6c..31a7518428b 100644 --- a/package/ser2net/ser2net.hash +++ b/package/ser2net/ser2net.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/ser2net/files/ser2net/ -md5 ee74b7db3bdca09c18a4d0a5ef060c9c ser2net-4.3.2.tar.gz -sha1 196e954be4086d322ec9312c018cd2155ee601b8 ser2net-4.3.2.tar.gz +md5 e6d88a440852e28b8e2978003b00e154 ser2net-4.3.4.tar.gz +sha1 74d02c19c2eef219b59a47fbc61b4fb09cf608d3 ser2net-4.3.4.tar.gz # Locally computed: -sha256 39d93bbaf53ae23c85ceef918b176b89c20b417c95c1797a5554f441334c42bf ser2net-4.3.2.tar.gz +sha256 c714d6777849100b2ca3f216d1cfc36d4573639ececc91d5c7809dfe27c8428e ser2net-4.3.4.tar.gz sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING diff --git a/package/ser2net/ser2net.mk b/package/ser2net/ser2net.mk index bf743239ea6..bec2a9c2024 100644 --- a/package/ser2net/ser2net.mk +++ b/package/ser2net/ser2net.mk @@ -4,7 +4,7 @@ # ################################################################################ -SER2NET_VERSION = 4.3.2 +SER2NET_VERSION = 4.3.4 SER2NET_SITE = https://downloads.sourceforge.net/project/ser2net/ser2net SER2NET_LICENSE = GPL-2.0+ SER2NET_LICENSE_FILES = COPYING diff --git a/package/serd/Config.in b/package/serd/Config.in new file mode 100644 index 00000000000..7633a979e23 --- /dev/null +++ b/package/serd/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_SERD + bool "serd" + help + Serd is a lightweight C library for RDF syntax which + supports reading and writing Turtle, TriG, NTriples, and + NQuads. + + https://drobilla.net/software/serd.html diff --git a/package/serd/serd.hash b/package/serd/serd.hash new file mode 100644 index 00000000000..d64a2aa2714 --- /dev/null +++ b/package/serd/serd.hash @@ -0,0 +1,4 @@ +# Locally calculated after checking signature +# http://download.drobilla.net/serd-0.30.10.tar.bz2.sig +sha256 affa80deec78921f86335e6fc3f18b80aefecf424f6a5755e9f2fa0eb0710edf serd-0.30.10.tar.bz2 +sha256 e06562d6bcf0341b2ac2ad0f0ca36801d2ebf388d5ef297011625e4c36e963f0 COPYING diff --git a/package/serd/serd.mk b/package/serd/serd.mk new file mode 100644 index 00000000000..85b16f68661 --- /dev/null +++ b/package/serd/serd.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# serd +# +################################################################################ + +SERD_VERSION = 0.30.10 +SERD_SITE = https://download.drobilla.net +SERD_SOURCE = serd-$(SERD_VERSION).tar.bz2 +SERD_LICENSE = ISC +SERD_LICENSE_FILES = COPYING +SERD_INSTALL_STAGING = YES + +SERD_CONF_OPTS += --largefile --no-coverage + +ifeq ($(BR2_STATIC_LIBS),y) +SERD_CONF_OPTS += --static --no-shared --static-progs +endif + +$(eval $(waf-package)) diff --git a/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch b/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch new file mode 100644 index 00000000000..3c3ae97dff8 --- /dev/null +++ b/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch @@ -0,0 +1,145 @@ +From ae84e5ef59bb24d5b8fd17e6756952f42c2d5c36 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Thu, 23 Feb 2017 08:17:07 +0100 +Subject: [PATCH] Do not export/use setools.InfoFlowAnalysis and + setools.DomainTransitionAnalysis + +dta and infoflow modules require networkx which brings lot of dependencies. +These dependencies are not necessary for setools module itself as it's +used in policycoreutils. + +Therefore it's better to use setools.infoflow.InfoFlowAnalysis and +setools.dta.DomainTransitionAnalysis and let the package containing +sedta and seinfoflow to require python3-networkx + +Signed-off-by: Antoine Tenart +[Refreshed for 4.3.0] +Signed-off-by: Adam Duskett +[Refreshed for 4.4.0] +--- + sedta | 3 ++- + seinfoflow | 5 +++-- + setools/__init__.py | 4 ++-- + setoolsgui/apol/dta.py | 2 +- + setoolsgui/apol/infoflow.py | 2 +- + tests/dta.py | 2 +- + tests/infoflow.py | 2 +- + 7 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/sedta b/sedta +index 60861ca630a5..0056172a55e5 100755 +--- a/sedta ++++ b/sedta +@@ -23,6 +23,7 @@ import logging + import signal + + import setools ++import setools.dta + + + def print_transition(trans: setools.DomainTransition) -> None: +@@ -114,7 +115,7 @@ else: + + try: + p = setools.SELinuxPolicy(args.policy) +- g = setools.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude) ++ g = setools.dta.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude) + + if args.shortest_path or args.all_paths: + if args.shortest_path: +diff --git a/seinfoflow b/seinfoflow +index f10c39de4d8e..fe733bbd0787 100755 +--- a/seinfoflow ++++ b/seinfoflow +@@ -18,6 +18,7 @@ + # + + import setools ++import setools.infoflow + import argparse + import sys + import logging +@@ -102,8 +103,8 @@ elif args.booleans is not None: + try: + p = setools.SELinuxPolicy(args.policy) + m = setools.PermissionMap(args.map) +- g = setools.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude, +- booleans=booleans) ++ g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude, ++ booleans=booleans) + + if args.shortest_path or args.all_paths: + if args.shortest_path: +diff --git a/setools/__init__.py b/setools/__init__.py +index d72d343..4d5aaaa 100644 +--- a/setools/__init__.py ++++ b/setools/__init__.py +@@ -91,11 +91,11 @@ from .pcideviceconquery import PcideviceconQuery + from .devicetreeconquery import DevicetreeconQuery + + # Information Flow Analysis +-from .infoflow import InfoFlowAnalysis ++# from .infoflow import InfoFlowAnalysis + from .permmap import PermissionMap, RuleWeight, Mapping + + # Domain Transition Analysis +-from .dta import DomainTransitionAnalysis, DomainEntrypoint, DomainTransition ++# from .dta import DomainTransitionAnalysis, DomainEntrypoint, DomainTransition + + # Policy difference + from .diff import PolicyDifference +diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py +index 4608b9dbf34e..2cde44c142e9 100644 +--- a/setoolsgui/apol/dta.py ++++ b/setoolsgui/apol/dta.py +@@ -24,7 +24,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread + from PyQt5.QtGui import QPalette, QTextCursor + from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ + QTreeWidgetItem +-from setools import DomainTransitionAnalysis ++from setools.dta import DomainTransitionAnalysis + + from ..logtosignal import LogHandlerToSignal + from .analysistab import AnalysisSection, AnalysisTab +diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py +index 7bca299d23fc..7fee2778f35f 100644 +--- a/setoolsgui/apol/infoflow.py ++++ b/setoolsgui/apol/infoflow.py +@@ -26,7 +26,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread + from PyQt5.QtGui import QPalette, QTextCursor + from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ + QTreeWidgetItem +-from setools import InfoFlowAnalysis ++from setools.infoflow import InfoFlowAnalysis + from setools.exception import UnmappedClass, UnmappedPermission + + from ..logtosignal import LogHandlerToSignal +diff --git a/tests/dta.py b/tests/dta.py +index a0cc9381469c..177e6fb0b961 100644 +--- a/tests/dta.py ++++ b/tests/dta.py +@@ -18,7 +18,7 @@ + import os + import unittest + +-from setools import DomainTransitionAnalysis ++from setools.dta import DomainTransitionAnalysis + from setools import TERuletype as TERT + from setools.exception import InvalidType + from setools.policyrep import Type +diff --git a/tests/infoflow.py b/tests/infoflow.py +index aa0e44a7e4f8..fca2848aeca5 100644 +--- a/tests/infoflow.py ++++ b/tests/infoflow.py +@@ -18,7 +18,7 @@ + import os + import unittest + +-from setools import InfoFlowAnalysis ++from setools.infoflow import InfoFlowAnalysis + from setools import TERuletype as TERT + from setools.exception import InvalidType + from setools.permmap import PermissionMap +-- +2.26.2 + diff --git a/package/setools/0001-remove-werror-flag-from-setup.patch b/package/setools/0001-remove-werror-flag-from-setup.patch deleted file mode 100644 index 0ab4006661f..00000000000 --- a/package/setools/0001-remove-werror-flag-from-setup.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8ab5a49247d870d92a8287db6134877ebf7a4379 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Thu, 12 Oct 2017 22:04:58 -0400 -Subject: [PATCH] remove werror flag from setup - -Compilers older than gcc6 will generate uninitialized variable warnings which -will cause compiling to fail. - -Signed-off-by: Antoine Tenart -[Refreshed for 4.3.0] -Signed-off-by: Adam Duskett ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 457c83049ca5..4dcb30196abf 100644 ---- a/setup.py -+++ b/setup.py -@@ -106,7 +106,7 @@ ext_py_mods = [Extension('setools.policyrep', ['setools/policyrep.pyx'], - libraries=['selinux', 'sepol'], - library_dirs=lib_dirs, - define_macros=macros, -- extra_compile_args=['-Werror', '-Wextra', -+ extra_compile_args=['-Wextra', - '-Waggregate-return', - '-Wfloat-equal', - '-Wformat', '-Wformat=2', --- -2.26.2 - diff --git a/package/setools/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch b/package/setools/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch deleted file mode 100644 index f9519a07903..00000000000 --- a/package/setools/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch +++ /dev/null @@ -1,144 +0,0 @@ -From ae84e5ef59bb24d5b8fd17e6756952f42c2d5c36 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Thu, 23 Feb 2017 08:17:07 +0100 -Subject: [PATCH] Do not export/use setools.InfoFlowAnalysis and - setools.DomainTransitionAnalysis - -dta and infoflow modules require networkx which brings lot of dependencies. -These dependencies are not necessary for setools module itself as it's -used in policycoreutils. - -Therefore it's better to use setools.infoflow.InfoFlowAnalysis and -setools.dta.DomainTransitionAnalysis and let the package containing -sedta and seinfoflow to require python3-networkx - -Signed-off-by: Antoine Tenart -[Refreshed for 4.3.0] -Signed-off-by: Adam Duskett ---- - sedta | 3 ++- - seinfoflow | 5 +++-- - setools/__init__.py | 4 ++-- - setoolsgui/apol/dta.py | 2 +- - setoolsgui/apol/infoflow.py | 2 +- - tests/dta.py | 2 +- - tests/infoflow.py | 2 +- - 7 files changed, 11 insertions(+), 9 deletions(-) - -diff --git a/sedta b/sedta -index 60861ca630a5..0056172a55e5 100755 ---- a/sedta -+++ b/sedta -@@ -23,6 +23,7 @@ import logging - import signal - - import setools -+import setools.dta - - - def print_transition(trans): -@@ -114,7 +115,7 @@ else: - - try: - p = setools.SELinuxPolicy(args.policy) -- g = setools.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude) -+ g = setools.dta.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude) - - if args.shortest_path or args.all_paths: - if args.shortest_path: -diff --git a/seinfoflow b/seinfoflow -index f10c39de4d8e..fe733bbd0787 100755 ---- a/seinfoflow -+++ b/seinfoflow -@@ -18,6 +18,7 @@ - # - - import setools -+import setools.infoflow - import argparse - import sys - import logging -@@ -101,8 +102,8 @@ elif args.booleans is not None: - try: - p = setools.SELinuxPolicy(args.policy) - m = setools.PermissionMap(args.map) -- g = setools.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude, -- booleans=booleans) -+ g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude, -+ booleans=booleans) - - if args.shortest_path or args.all_paths: - if args.shortest_path: -diff --git a/setools/__init__.py b/setools/__init__.py -index 26fa5aa34a19..9e9058a6bf90 100644 ---- a/setools/__init__.py -+++ b/setools/__init__.py -@@ -75,11 +75,11 @@ from .pcideviceconquery import PcideviceconQuery - from .devicetreeconquery import DevicetreeconQuery - - # Information Flow Analysis --from .infoflow import InfoFlowAnalysis -+# from .infoflow import InfoFlowAnalysis - from .permmap import PermissionMap - - # Domain Transition Analysis --from .dta import DomainTransitionAnalysis -+# from .dta import DomainTransitionAnalysis - - # Policy difference - from .diff import PolicyDifference -diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py -index 4608b9dbf34e..2cde44c142e9 100644 ---- a/setoolsgui/apol/dta.py -+++ b/setoolsgui/apol/dta.py -@@ -23,7 +23,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread - from PyQt5.QtGui import QPalette, QTextCursor - from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ - QTreeWidgetItem --from setools import DomainTransitionAnalysis -+from setools.dta import DomainTransitionAnalysis - - from ..logtosignal import LogHandlerToSignal - from .analysistab import AnalysisTab -diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py -index 7bca299d23fc..7fee2778f35f 100644 ---- a/setoolsgui/apol/infoflow.py -+++ b/setoolsgui/apol/infoflow.py -@@ -26,7 +26,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread - from PyQt5.QtGui import QPalette, QTextCursor - from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ - QTreeWidgetItem --from setools import InfoFlowAnalysis -+from setools.infoflow import InfoFlowAnalysis - from setools.exception import UnmappedClass, UnmappedPermission - - from ..logtosignal import LogHandlerToSignal -diff --git a/tests/dta.py b/tests/dta.py -index a0cc9381469c..177e6fb0b961 100644 ---- a/tests/dta.py -+++ b/tests/dta.py -@@ -18,7 +18,7 @@ - import os - import unittest - --from setools import DomainTransitionAnalysis -+from setools.dta import DomainTransitionAnalysis - from setools import TERuletype as TERT - from setools.exception import InvalidType - from setools.policyrep import Type -diff --git a/tests/infoflow.py b/tests/infoflow.py -index aa0e44a7e4f8..fca2848aeca5 100644 ---- a/tests/infoflow.py -+++ b/tests/infoflow.py -@@ -18,7 +18,7 @@ - import os - import unittest - --from setools import InfoFlowAnalysis -+from setools.infoflow import InfoFlowAnalysis - from setools import TERuletype as TERT - from setools.exception import InvalidType - from setools.permmap import PermissionMap --- -2.26.2 - diff --git a/package/setools/Config.in b/package/setools/Config.in index 3ab7f559489..5a71672bdf4 100644 --- a/package/setools/Config.in +++ b/package/setools/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_SETOOLS depends on BR2_USE_WCHAR depends on BR2_USE_MMU depends on BR2_PACKAGE_PYTHON3 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol select BR2_PACKAGE_PYTHON_NETWORKX # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS select BR2_PACKAGE_LIBSELINUX @@ -19,10 +20,10 @@ config BR2_PACKAGE_SETOOLS https://github.com/SELinuxProject/setools/ -comment "setools needs a toolchain w/ threads, wchar, dynamic library" +comment "setools needs a toolchain w/ threads, wchar, dynamic library, gcc >= 5" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ - !BR2_USE_WCHAR + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 comment "setools needs python3" depends on BR2_USE_MMU diff --git a/package/setools/setools.hash b/package/setools/setools.hash index 689b20a3570..74428a177c7 100644 --- a/package/setools/setools.hash +++ b/package/setools/setools.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 da2c1d23edd24c4aa17d01d78e86c9e5fb5bf3aa38c71d5d63f41c750f6ef26c setools-4.3.0.tar.gz +sha256 202eac5f857475937bee8136cff278aa2b4a4b94a0dec63fbbbe18c9eb644a4e setools-4.4.0.tar.gz sha256 2f7547e10f76a382c24c053595f38a5cc6dda9347f508f254ca490e0046a9624 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/setools/setools.mk b/package/setools/setools.mk index a07b1367a26..ea355f10c8d 100644 --- a/package/setools/setools.mk +++ b/package/setools/setools.mk @@ -4,7 +4,7 @@ # ################################################################################ -SETOOLS_VERSION = 4.3.0 +SETOOLS_VERSION = 4.4.0 SETOOLS_SITE = $(call github,SELinuxProject,setools,$(SETOOLS_VERSION)) SETOOLS_DEPENDENCIES = libselinux libsepol python-setuptools host-bison host-flex host-python-cython host-swig SETOOLS_INSTALL_STAGING = YES @@ -12,8 +12,7 @@ SETOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ SETOOLS_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL SETOOLS_CPE_ID_VENDOR = selinuxproject SETOOLS_SETUP_TYPE = setuptools -HOST_SETOOLS_DEPENDENCIES = host-python3-cython host-libselinux host-libsepol host-python-networkx -HOST_SETOOLS_NEEDS_HOST_PYTHON = python3 +HOST_SETOOLS_DEPENDENCIES = host-python-cython host-libselinux host-libsepol host-python-networkx define SETOOLS_FIX_SETUP # By default, setup.py will look for libsepol.a in the host machines diff --git a/package/sg3_utils/0001-src-sg_dd.c-fix-musl-build.patch b/package/sg3_utils/0001-src-sg_dd.c-fix-musl-build.patch new file mode 100644 index 00000000000..50a81a78a46 --- /dev/null +++ b/package/sg3_utils/0001-src-sg_dd.c-fix-musl-build.patch @@ -0,0 +1,39 @@ +From c93ad13ecd8ddfbb8bb3e4d5d5ad7f3f2c633db6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 14 Nov 2021 12:37:16 +0100 +Subject: [PATCH] src/sg_dd.c: fix musl build + +Fix the following build failure on musl raised since version 1.47 and +https://github.com/doug-gilbert/sg3_utils/commit/f0195003bb0c66ba55084b2f7e0fe982f08c5675: + +sg_dd.c: In function 'main': +sg_dd.c:2402:17: error: unknown type name 'uint'; did you mean 'int'? + 2402 | uint off; + | ^~~~ + | int + +Fixes: + - http://autobuild.buildroot.org/results/9ead59ffefefe2a4e3b94a153b3d23231736d882 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/doug-gilbert/sg3_utils/pull/7] +--- + src/sg_dd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sg_dd.c b/src/sg_dd.c +index 9d05c93..35e2423 100644 +--- a/src/sg_dd.c ++++ b/src/sg_dd.c +@@ -2399,7 +2399,7 @@ main(int argc, char * argv[]) + res = blocks * blk_sz; + if (iflag.zero && iflag.ff && (blk_sz >= 4)) { + uint32_t pos = (uint32_t)skip; +- uint off; ++ uint32_t off; + + for (k = 0, off = 0; k < blocks; ++k, off += blk_sz, ++pos) { + for (j = 0; j < (blk_sz - 3); j += 4) +-- +2.33.0 + diff --git a/package/sg3_utils/0001-support-uclinux-as-a-linux.patch b/package/sg3_utils/0001-support-uclinux-as-a-linux.patch deleted file mode 100644 index d9106cd9f85..00000000000 --- a/package/sg3_utils/0001-support-uclinux-as-a-linux.patch +++ /dev/null @@ -1,16 +0,0 @@ -Recognise uclinux as a linux - -Signed-off-by: "Yann E. MORIN" - -diff -durN sg3_utils-1.42.orig/configure.ac sg3_utils-1.42/configure.ac ---- sg3_utils-1.42.orig/configure.ac 2015-10-21 01:10:59.000000000 +0200 -+++ sg3_utils-1.42/configure.ac 2016-08-14 19:30:37.841766149 +0200 -@@ -71,7 +71,7 @@ - - # Define platform-specific symbol. - AM_CONDITIONAL(OS_FREEBSD, [echo $host_os | grep 'freebsd' > /dev/null]) --AM_CONDITIONAL(OS_LINUX, [echo $host_os | grep '^linux' > /dev/null]) -+AM_CONDITIONAL(OS_LINUX, [echo $host_os | grep -E '^(uc)?linux' > /dev/null]) - AM_CONDITIONAL(OS_OSF, [echo $host_os | grep '^osf' > /dev/null]) - AM_CONDITIONAL(OS_SOLARIS, [echo $host_os | grep '^solaris' > /dev/null]) - AM_CONDITIONAL(OS_WIN32_MINGW, [echo $host_os | grep '^mingw' > /dev/null]) diff --git a/package/sg3_utils/0002-configure.ac-fix-uclibc-ng-build.patch b/package/sg3_utils/0002-configure.ac-fix-uclibc-ng-build.patch new file mode 100644 index 00000000000..4c475ee1ff4 --- /dev/null +++ b/package/sg3_utils/0002-configure.ac-fix-uclibc-ng-build.patch @@ -0,0 +1,36 @@ +From 1e95d5b8c507a49f6d15d2795dc46d82b4d1ded0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 16 Nov 2021 08:41:48 +0100 +Subject: [PATCH] configure.ac: fix uclibc-ng build + +Fix the following build failure with uclibc-ng raised because SG_IO is +not defined: + +/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: sg_dd.o: in function `sg_read_low.constprop.0': +sg_dd.c:(.text+0xc6c): undefined reference to `sg_chk_n_print3' + +Fixes: + - http://autobuild.buildroot.org/results/38a0dfc70a21ce574368b7a485deb231f778b3e7 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/doug-gilbert/sg3_utils/pull/8] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0a65d94..23378ad 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -107,7 +107,7 @@ case "${host}" in + AC_DEFINE_UNQUOTED(HAVE_NVME, 1, [Found NVMe]) + check_for_getrandom + CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO";; +- *-*-linux-gnu* | *-*-linux*) ++ *-*-linux-gnu* | *-*-linux* | *-*-uclinux-gnu* | *-*-uclinux*) + AC_DEFINE_UNQUOTED(SG_LIB_LINUX, 1, [sg3_utils on linux]) + check_for_linux_sg_v4_hdr + check_for_getrandom +-- +2.33.0 + diff --git a/package/sg3_utils/sg3_utils.hash b/package/sg3_utils/sg3_utils.hash index d6c7f03abba..ff2ef551801 100644 --- a/package/sg3_utils/sg3_utils.hash +++ b/package/sg3_utils/sg3_utils.hash @@ -1,6 +1,6 @@ # Locally calculated from download (no sig, hash) -sha256 c7dab547dc37381fa50e482d9da680fe64b88cfe0e3d79b61e478de14f58b2ee sg3_utils-1.45.tar.xz +sha256 ddb0cab85fedd8b0db020f3e3f02f6967a055616bf16ea9d5c7408cde41472b2 sg3_utils-1.47.tar.xz # Hash for license files -sha256 d516b8b337a77e3d4c65dffe708ca7fb25b1cb4ec77ec362cf11ed659b9250bc COPYING +sha256 d212debdb0a5d7754c977f6dc53bb6c88b4ace7ab784ddbccd06bb970adb1a37 COPYING sha256 8ddd1d82f2be2f5cbd5b5c3b5c2ee94a90d2ca7112958448da74dd78384fd96a BSD_LICENSE diff --git a/package/sg3_utils/sg3_utils.mk b/package/sg3_utils/sg3_utils.mk index 11b3691ffc4..e357fc1ddef 100644 --- a/package/sg3_utils/sg3_utils.mk +++ b/package/sg3_utils/sg3_utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -SG3_UTILS_VERSION = 1.45 +SG3_UTILS_VERSION = 1.47 SG3_UTILS_SOURCE = sg3_utils-$(SG3_UTILS_VERSION).tar.xz SG3_UTILS_SITE = http://sg.danny.cz/sg/p SG3_UTILS_LICENSE = BSD-2-Clause (library) @@ -13,8 +13,7 @@ ifeq ($(BR2_PACKAGE_SG3_UTILS_PROGS),y) SG3_UTILS_LICENSE += , GPL-2.0+ (programs), BSD-2-Clause (programs) endif SG3_UTILS_LICENSE_FILES = COPYING BSD_LICENSE - -# Patching configure.ac/Makefile.am +# We're patching configure.ac SG3_UTILS_AUTORECONF = YES # install the libsgutils2 library diff --git a/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch b/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch new file mode 100644 index 00000000000..5275323e659 --- /dev/null +++ b/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch @@ -0,0 +1,93 @@ +From 0c23224e926463b1097414979367655a27fa6d60 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 7 Apr 2022 18:27:58 +0200 +Subject: [PATCH] fix maybe-uninitialized errors + +Set {listen,server}_sock to -1 when needed as already done in +src/manager.c by commit ecf1fcc84594b09ed2d61e3677cd8e62bd897ccb to +avoid the following build failure: + +local.c: In function 'create_and_bind': +local.c:218:12: error: 'listen_sock' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 218 | return listen_sock; + | ^~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/27471a878ff52a972ac087d534e44fb0c50808f6 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/shadowsocks/shadowsocks-libev/commit/0c23224e926463b1097414979367655a27fa6d60] +--- + src/local.c | 2 +- + src/redir.c | 2 +- + src/server.c | 2 +- + src/tunnel.c | 2 +- + src/udprelay.c | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/local.c b/src/local.c +index b1ab040bb..47d634ce5 100644 +--- a/src/local.c ++++ b/src/local.c +@@ -168,7 +168,7 @@ create_and_bind(const char *addr, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/redir.c b/src/redir.c +index 4a5a489f0..e60bd4870 100644 +--- a/src/redir.c ++++ b/src/redir.c +@@ -147,7 +147,7 @@ create_and_bind(const char *addr, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/server.c b/src/server.c +index e9cdc2619..073e38b22 100644 +--- a/src/server.c ++++ b/src/server.c +@@ -550,7 +550,7 @@ create_and_bind(const char *host, const char *port, int mptcp) + { + struct addrinfo hints; + struct addrinfo *result, *rp, *ipv4v6bindall; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/tunnel.c b/src/tunnel.c +index e0886bdb9..6641fe62a 100644 +--- a/src/tunnel.c ++++ b/src/tunnel.c +@@ -129,7 +129,7 @@ create_and_bind(const char *addr, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/udprelay.c b/src/udprelay.c +index 23a042497..580ad4bd8 100644 +--- a/src/udprelay.c ++++ b/src/udprelay.c +@@ -446,7 +446,7 @@ create_server_socket(const char *host, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp, *ipv4v6bindall; +- int s, server_sock; ++ int s, server_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ diff --git a/package/shairport-sync/0001-configure.ac-find-sndfile-through-pkg-config.patch b/package/shairport-sync/0001-configure.ac-find-sndfile-through-pkg-config.patch new file mode 100644 index 00000000000..bd97ec0c3d8 --- /dev/null +++ b/package/shairport-sync/0001-configure.ac-find-sndfile-through-pkg-config.patch @@ -0,0 +1,43 @@ +From 900b1827c55cc6020b3242640075174c2e6b12a5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 4 Aug 2021 22:16:40 +0200 +Subject: [PATCH] configure.ac: find sndfile through pkg-config + +Find sndfile through pkg-config to retrieve sndfile dependencies such as +flac and avoid the following static build failure: + +/tmp/instance-3/output-1/host/lib/gcc/xtensa-buildroot-linux-uclibc/10.3.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: /tmp/instance-3/output-1/host/bin/../xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libsndfile.a(libsndfile_la-flac.o): in function `flac_byterate': +flac.c:(.text+0xfc): undefined reference to `FLAC__StreamDecoderErrorStatusString' + +Fixes: + - http://autobuild.buildroot.org/results/92ed30a6855ca11800b779718822bcba4a69c9a3 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mikebrady/shairport-sync/pull/1263] +--- + configure.ac | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f77087c5..9b982c51 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -304,7 +304,14 @@ AC_ARG_WITH(convolution, [AS_HELP_STRING([--with-convolution],[choose audio DSP + if test "x$with_convolution" = "xyes" ; then + AM_INIT_AUTOMAKE([subdir-objects]) + AC_DEFINE([CONFIG_CONVOLUTION], 1, [Include audio DSP convolution support.]) +- AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!)) ++ if test "x${with_pkg_config}" = xyes ; then ++ PKG_CHECK_MODULES( ++ [sndfile], [sndfile], ++ [CFLAGS="${sndfile_CFLAGS} ${CFLAGS}" ++ LIBS="${sndfile_LIBS} ${LIBS}"], AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!)) ++ else ++ AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!)) ++ fi + fi + AM_CONDITIONAL([USE_CONVOLUTION], [test "x$with_convolution" = "xyes"]) + +-- +2.30.2 + diff --git a/package/shairport-sync/shairport-sync.hash b/package/shairport-sync/shairport-sync.hash index c451edb9330..331866a3795 100644 --- a/package/shairport-sync/shairport-sync.hash +++ b/package/shairport-sync/shairport-sync.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7f8d4ecec53f2f681a962467bf09205568fc936c8c31a9ee07b1bd72d3d95b12 shairport-sync-3.3.7.tar.gz +sha256 17990cb2620551caa07a1c3b371889e55803071eaada04e958c356547a7e1795 shairport-sync-3.3.9.tar.gz sha256 1daaa904985807b7f9f2fa91f6b19f3faadf8df4e813f7451a691f89a6965e3f LICENSES diff --git a/package/shairport-sync/shairport-sync.mk b/package/shairport-sync/shairport-sync.mk index 1a02186dc13..4430014ec98 100644 --- a/package/shairport-sync/shairport-sync.mk +++ b/package/shairport-sync/shairport-sync.mk @@ -4,7 +4,7 @@ # ################################################################################ -SHAIRPORT_SYNC_VERSION = 3.3.7 +SHAIRPORT_SYNC_VERSION = 3.3.9 SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION)) SHAIRPORT_SYNC_LICENSE = MIT, BSD-3-Clause @@ -22,20 +22,18 @@ SHAIRPORT_SYNC_CONF_OPTS = --with-alsa \ SHAIRPORT_SYNC_CONF_ENV += LIBS="$(SHAIRPORT_SYNC_CONF_LIBS)" # Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns). -# Avahi support needs libavahi-client, which is built by avahi if avahi-daemon -# and dbus is selected. Since there is no BR2_PACKAGE_LIBAVAHI_CLIENT config -# option yet, use the avahi-daemon and dbus congig symbols to check for -# libavahi-client. -ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) SHAIRPORT_SYNC_DEPENDENCIES += avahi -SHAIRPORT_SYNC_CONF_OPTS += --with-avahi +SHAIRPORT_SYNC_CONF_OPTS += --with-avahi --without-tinysvcmdns else -SHAIRPORT_SYNC_CONF_OPTS += --with-tinysvcmdns +SHAIRPORT_SYNC_CONF_OPTS += --without-avahi --with-tinysvcmdns endif ifeq ($(BR2_PACKAGE_LIBDAEMON),y) SHAIRPORT_SYNC_DEPENDENCIES += libdaemon SHAIRPORT_SYNC_CONF_OPTS += --with-libdaemon +else +SHAIRPORT_SYNC_CONF_OPTS += --without-libdaemon endif # OpenSSL or mbedTLS @@ -54,21 +52,37 @@ endif ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_CONVOLUTION),y) SHAIRPORT_SYNC_DEPENDENCIES += libsndfile SHAIRPORT_SYNC_CONF_OPTS += --with-convolution +else +SHAIRPORT_SYNC_CONF_OPTS += --without-convolution endif ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_DBUS),y) SHAIRPORT_SYNC_DEPENDENCIES += libglib2 SHAIRPORT_SYNC_CONF_OPTS += --with-dbus-interface --with-mpris-interface +define SHAIRPORT_SYNC_INSTALL_DBUS + $(INSTALL) -m 0644 -D \ + $(@D)/scripts/shairport-sync-dbus-policy.conf \ + $(TARGET_DIR)/etc/dbus-1/system.d/shairport-sync-dbus.conf + $(INSTALL) -m 0644 -D \ + $(@D)/scripts/shairport-sync-mpris-policy.conf \ + $(TARGET_DIR)/etc/dbus-1/system.d/shairport-sync-mpris.conf +endef +else +SHAIRPORT_SYNC_CONF_OPTS += --without-dbus-interface --without-mpris-interface endif ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR),y) SHAIRPORT_SYNC_DEPENDENCIES += libsoxr SHAIRPORT_SYNC_CONF_OPTS += --with-soxr +else +SHAIRPORT_SYNC_CONF_OPTS += --without-soxr endif ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_MQTT),y) SHAIRPORT_SYNC_DEPENDENCIES += avahi dbus mosquitto SHAIRPORT_SYNC_CONF_OPTS += --with-mqtt-client +else +SHAIRPORT_SYNC_CONF_OPTS += --without-mqtt-client endif define SHAIRPORT_SYNC_INSTALL_TARGET_CMDS @@ -76,6 +90,7 @@ define SHAIRPORT_SYNC_INSTALL_TARGET_CMDS $(TARGET_DIR)/usr/bin/shairport-sync $(INSTALL) -D -m 0644 $(@D)/scripts/shairport-sync.conf \ $(TARGET_DIR)/etc/shairport-sync.conf + $(SHAIRPORT_SYNC_INSTALL_DBUS) endef define SHAIRPORT_SYNC_INSTALL_INIT_SYSV diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk index 4c93fdccef2..58c16681122 100644 --- a/package/shellinabox/shellinabox.mk +++ b/package/shellinabox/shellinabox.mk @@ -8,6 +8,7 @@ SHELLINABOX_VERSION = 2.20 SHELLINABOX_SITE = $(call github,shellinabox,shellinabox,v$(SHELLINABOX_VERSION)) SHELLINABOX_LICENSE = GPL-2.0 with OpenSSL exception SHELLINABOX_LICENSE_FILES = COPYING GPL-2 +SHELLINABOX_CPE_ID_VENDOR = shellinabox_project # 0002-CVE-2018-16789-fix-for-broken-multipart-form-data.patch SHELLINABOX_IGNORE_CVES += CVE-2018-16789 diff --git a/package/sigrok-cli/sigrok-cli.hash b/package/sigrok-cli/sigrok-cli.hash index 3231bf82cf3..cdf004fa09c 100644 --- a/package/sigrok-cli/sigrok-cli.hash +++ b/package/sigrok-cli/sigrok-cli.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f52413429f47d457c333db0fd068416ab7a3f9e35ca76de8624dc5ac6fb07797 sigrok-cli-0.7.1.tar.gz +sha256 71d0443f36897bf565732dec206830dbea0f2789b6601cf10536b286d1140ab8 sigrok-cli-0.7.2.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/sigrok-cli/sigrok-cli.mk b/package/sigrok-cli/sigrok-cli.mk index 3d1e1878828..af3c0a032b7 100644 --- a/package/sigrok-cli/sigrok-cli.mk +++ b/package/sigrok-cli/sigrok-cli.mk @@ -4,10 +4,11 @@ # ################################################################################ -SIGROK_CLI_VERSION = 0.7.1 +SIGROK_CLI_VERSION = 0.7.2 SIGROK_CLI_SITE = http://sigrok.org/download/source/sigrok-cli SIGROK_CLI_LICENSE = GPL-3.0+ SIGROK_CLI_LICENSE_FILES = COPYING +SIGROK_CLI_SELINUX_MODULES = sigrok SIGROK_CLI_DEPENDENCIES = host-pkgconf libsigrok ifeq ($(BR2_PACKAGE_LIBSIGROKDECODE),y) diff --git a/package/simple-mail/Config.in b/package/simple-mail/Config.in new file mode 100644 index 00000000000..681a8410db3 --- /dev/null +++ b/package/simple-mail/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_SIMPLE_MAIL + bool "simple-mail" + depends on BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE_NETWORK + select BR2_PACKAGE_OPENSSL + help + An SMTP library written in C++ for Qt. + + https://github.com/cutelyst/simple-mail diff --git a/package/simple-mail/simple-mail.hash b/package/simple-mail/simple-mail.hash new file mode 100644 index 00000000000..67d6caff877 --- /dev/null +++ b/package/simple-mail/simple-mail.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 2026f2017662508b0f25da72694f1dd13ab3ccf82c0454f7c40f8a6cc450c410 simple-mail-2.3.0.tar.gz + +# Hash for license file +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c LICENSE diff --git a/package/simple-mail/simple-mail.mk b/package/simple-mail/simple-mail.mk new file mode 100644 index 00000000000..68484f79b0b --- /dev/null +++ b/package/simple-mail/simple-mail.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# simple-mail +# +################################################################################ + +SIMPLE_MAIL_VERSION = 2.3.0 +SIMPLE_MAIL_SITE = $(call github,cutelyst,simple-mail,v$(SIMPLE_MAIL_VERSION)) +SIMPLE_MAIL_INSTALL_STAGING = YES +SIMPLE_MAIL_LICENSE = LGPL-2.1+ +SIMPLE_MAIL_LICENSE_FILES = LICENSE +SIMPLE_MAIL_DEPENDENCIES = qt5base +SIMPLE_MAIL_CONF_OPTS = -DBUILD_DEMOS=OFF + +$(eval $(cmake-package)) diff --git a/package/siproxd/Config.in b/package/siproxd/Config.in new file mode 100644 index 00000000000..24c710b3754 --- /dev/null +++ b/package/siproxd/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_SIPROXD + bool "siproxd" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBOSIP2 + select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_SQLITE + help + Siproxd is a proxy/masquerading daemon for SIP (Session + Initiation Protocol), which is used in IP telephony. It + handles registrations of SIP clients on a private IP network + and performs rewriting of the SIP message bodies to make SIP + connections work via a masquerading firewall (NAT). It allows + SIP software clients (like kphone, linphone) or SIP hardware + clients (Voice over IP phones which are SIP-compatible, such + as those from Cisco, Grandstream or Snom) to work behind an IP + masquerading firewall or NAT router. + + http://siproxd.sourceforge.net/ + +comment "siproxd needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/siproxd/siproxd.hash b/package/siproxd/siproxd.hash new file mode 100644 index 00000000000..9c9b8b8f5f5 --- /dev/null +++ b/package/siproxd/siproxd.hash @@ -0,0 +1,10 @@ +# Locally calculated after checking pgp signature from: +# https://downloads.sourceforge.net/project/siproxd/siproxd/0.8.3/siproxd-0.8.3.tar.gz.asc +sha256 9a6d7a6bb6fff162775b1e1fb7018de9c69642cbf8626185dc6ffceeeba07736 siproxd-0.8.3.tar.gz + +# https://sourceforge.net/projects/siproxd/files/siproxd/0.8.3/ +sha1 d13d4a05b8a16dbe20d04b99b535610e49050d9d siproxd-0.8.3.tar.gz +md5 9a9d2c89e5f0c59fdde9444a66d8372c siproxd-0.8.3.tar.gz + +# Hash for license files: +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/siproxd/siproxd.mk b/package/siproxd/siproxd.mk new file mode 100644 index 00000000000..228f0855a6b --- /dev/null +++ b/package/siproxd/siproxd.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# siproxd +# +################################################################################ + +SIPROXD_VERSION = 0.8.3 +SIPROXD_SITE = https://downloads.sourceforge.net/project/siproxd/siproxd/$(SIPROXD_VERSION) + +SIPROXD_LICENSE = GPL-2.0+ +SIPROXD_LICENSE_FILES = COPYING + +SIPROXD_DEPENDENCIES = libosip2 libtool sqlite + +SIPROXD_CONF_OPTS = --without-included-ltdl + +$(eval $(autotools-package)) diff --git a/package/sispmctl/0001-src-schedule.c-fix-build-with-gcc-4.8.patch b/package/sispmctl/0001-src-schedule.c-fix-build-with-gcc-4.8.patch deleted file mode 100644 index 69dc31e3536..00000000000 --- a/package/sispmctl/0001-src-schedule.c-fix-build-with-gcc-4.8.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 3ccbb67c71aa13b9a37a58363d37a18b8fdbf300 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 29 Oct 2020 13:36:00 +0100 -Subject: [PATCH] src/schedule.c: fix build with gcc 4.8 - -Fix the following build failure with gcc 4.8: - -schedule.c:19:2: error: 'for' loop initial declarations are only allowed in C99 mode - for (int i = 0; i < 4; ++i) { - ^ -schedule.c:19:2: note: use option -std=c99 or -std=gnu99 to compile your code -schedule.c: In function 'pms2_read_block': -schedule.c:39:2: error: 'for' loop initial declarations are only allowed in C99 mode - for (int i = 0; i < 4; ++i) { - ^ - -Fixes: - - http://autobuild.buildroot.org/results/079f1454121d38a83c49529c0f6cc8ed61fd5abb - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://sourceforge.net/p/sispmctl/git/merge-requests/1] ---- - src/schedule.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/schedule.c b/src/schedule.c -index 4dd908d..1725421 100644 ---- a/src/schedule.c -+++ b/src/schedule.c -@@ -15,8 +15,9 @@ - static unsigned char - *pms2_write_block(uint8_t action, uint32_t time, unsigned char *ptr) - { -+ int i; - *ptr++ = action; -- for (int i = 0; i < 4; ++i) { -+ for (i = 0; i < 4; ++i) { - *ptr++ = (uint8_t)time; - time >>= 8; - } -@@ -34,9 +35,10 @@ static unsigned char - static const unsigned char - *pms2_read_block(uint8_t *action, uint32_t *time, const unsigned char *ptr) - { -+ int i; - *action = *ptr++; - *time = 0; -- for (int i = 0; i < 4; ++i) { -+ for (i = 0; i < 4; ++i) { - *time >>= 8; - *time += (uint32_t)*ptr++ << 24; - } --- -2.28.0 - diff --git a/package/sispmctl/sispmctl.hash b/package/sispmctl/sispmctl.hash index 95129cec03d..e22efcfbed6 100644 --- a/package/sispmctl/sispmctl.hash +++ b/package/sispmctl/sispmctl.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0f8391f7e95cbf1fb96a68686a1dcf1e16747b050ae1b8ff90653c99976068db sispmctl-4.8.tar.gz +sha256 6a9ec7125e8c01bb45d4a3b56f07fb41fc437020c8dcd8c0f29ebb98dc55a647 sispmctl-4.9.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sispmctl/sispmctl.mk b/package/sispmctl/sispmctl.mk index 3e4252a8d80..b6e156c66a7 100644 --- a/package/sispmctl/sispmctl.mk +++ b/package/sispmctl/sispmctl.mk @@ -4,7 +4,7 @@ # ################################################################################ -SISPMCTL_VERSION = 4.8 +SISPMCTL_VERSION = 4.9 SISPMCTL_SITE = http://downloads.sourceforge.net/project/sispmctl/sispmctl/sispmctl-$(SISPMCTL_VERSION) SISPMCTL_LICENSE = GPL-2.0+ SISPMCTL_LICENSE_FILES = COPYING diff --git a/package/skalibs/0001-Make-linker-use-dummy-file-when-testing-libs.patch b/package/skalibs/0001-Make-linker-use-dummy-file-when-testing-libs.patch deleted file mode 100644 index 17376210f0d..00000000000 --- a/package/skalibs/0001-Make-linker-use-dummy-file-when-testing-libs.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ca69c0d48e65acadccfe65e3adf16c34a744627b Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Tue, 10 Oct 2017 19:51:34 +0200 -Subject: [PATCH] Make linker use dummy file when testing libs - -For some architectures, like Xtensa or HPPA, ld from binutils requires -the output file to be a regular file, as mentioned in a bug report on -the mailing list [1]. - -So, use a dummy file as output file for ld in trylibs(), instead of -/dev/null. - -[1] https://sourceware.org/bugzilla/show_bug.cgi?id=19526 - -Signed-off-by: Eric Le Bihan ---- - configure | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 54d755b..64a061a 100755 ---- a/configure -+++ b/configure -@@ -230,7 +230,7 @@ trylibs () { - echo "Checking whether system has $2..." >&3 - shift 2 - if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -c -o try$name.o src/sysdeps/try$name.c 2>/dev/null ; then -- until $CC_AUTO $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o /dev/null try$name.o $args 2>/dev/null ; do -+ until $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -o try$name try$name.o $args 2>/dev/null ; do - if test -z "$*" ; then - rm -f try$name.o - echo -@@ -246,7 +246,7 @@ trylibs () { - else - echo " ... yes, with$args" >&3 - fi -- rm -f try$name.o -+ rm -f try$name.o try$name - return 0 - else - echo --- -2.17.2 - diff --git a/package/skalibs/skalibs.hash b/package/skalibs/skalibs.hash index 6736dd8440c..48e4028edc0 100644 --- a/package/skalibs/skalibs.hash +++ b/package/skalibs/skalibs.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 250b99b53dd413172db944b31c1b930aa145ac79fe6c5d7e6869ef804228c539 skalibs-2.9.2.1.tar.gz -sha256 5443ac67e8d74ac614ced7bc64211ce90ccedb7778a68bfe9e68a8b234c9503e COPYING +sha256 b780b0ae650dda0c3ec5f8975174998af2d24c2a2e2be669b1bab46e73b1464d skalibs-2.10.0.3.tar.gz +sha256 adecb8bedfaae27fcfe65ecb3ef0e2e71aa2a2b49dc21886a200bc677d93e6ec COPYING diff --git a/package/skalibs/skalibs.mk b/package/skalibs/skalibs.mk index 1c73f26fe77..77db57de96d 100644 --- a/package/skalibs/skalibs.mk +++ b/package/skalibs/skalibs.mk @@ -4,14 +4,14 @@ # ################################################################################ -SKALIBS_VERSION = 2.9.2.1 +SKALIBS_VERSION = 2.10.0.3 SKALIBS_SITE = http://skarnet.org/software/skalibs SKALIBS_LICENSE = ISC SKALIBS_LICENSE_FILES = COPYING SKALIBS_INSTALL_STAGING = YES SKALIBS_CONF_OPTS = \ - --prefix=/usr \ + --prefix=/ \ --with-default-path=/sbin:/usr/sbin:/bin:/usr/bin \ --with-sysdep-devurandom=yes \ $(SHARED_STATIC_LIBS_OPTS) diff --git a/package/skeleton-init-openrc/skeleton/var/lock b/package/skeleton-init-openrc/skeleton/var/lock index 1431b0e4323..386c09e7271 120000 --- a/package/skeleton-init-openrc/skeleton/var/lock +++ b/package/skeleton-init-openrc/skeleton/var/lock @@ -1 +1 @@ -../tmp \ No newline at end of file +../run/lock \ No newline at end of file diff --git a/package/skeleton-init-systemd/legacy.conf b/package/skeleton-init-systemd/legacy.conf new file mode 100644 index 00000000000..0a5393408cd --- /dev/null +++ b/package/skeleton-init-systemd/legacy.conf @@ -0,0 +1,7 @@ +# Create legacy directories for buildroot +# This is a subset of systemd's legacy.conf + +d /run/lock 0755 root root - +d /run/lock/subsys 0755 root root - + +L /var/lock - - - - ../run/lock diff --git a/package/skeleton-init-systemd/skeleton-init-systemd.mk b/package/skeleton-init-systemd/skeleton-init-systemd.mk index 5d6b716f7a6..795a1718098 100644 --- a/package/skeleton-init-systemd/skeleton-init-systemd.mk +++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk @@ -62,6 +62,9 @@ define SKELETON_INIT_SYSTEMD_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/srv mkdir -p $(TARGET_DIR)/var ln -s ../run $(TARGET_DIR)/var/run + # prevent install scripts to create var/lock as directory + ln -s ../run/lock $(TARGET_DIR)/var/lock + install -D -m644 $(SKELETON_INIT_SYSTEMD_PKGDIR)/legacy.conf $(TARGET_DIR)/usr/lib/tmpfiles.d/legacy.conf $(SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW) endef diff --git a/package/skeleton-init-sysv/skeleton/var/lock b/package/skeleton-init-sysv/skeleton/var/lock index 1431b0e4323..386c09e7271 120000 --- a/package/skeleton-init-sysv/skeleton/var/lock +++ b/package/skeleton-init-sysv/skeleton/var/lock @@ -1 +1 @@ -../tmp \ No newline at end of file +../run/lock \ No newline at end of file diff --git a/package/slirp/0001-slirp-check-pkt_len-before-reading-protocol-header.patch b/package/slirp/0001-slirp-check-pkt_len-before-reading-protocol-header.patch deleted file mode 100644 index 4046144712e..00000000000 --- a/package/slirp/0001-slirp-check-pkt_len-before-reading-protocol-header.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 2e1dcbc0c2af64fcb17009eaf2ceedd81be2b27f Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit -Date: Thu, 26 Nov 2020 19:27:06 +0530 -Subject: [PATCH] slirp: check pkt_len before reading protocol header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -While processing ARP/NCSI packets in 'arp_input' or 'ncsi_input' -routines, ensure that pkt_len is large enough to accommodate the -respective protocol headers, lest it should do an OOB access. -Add check to avoid it. - -CVE-2020-29129 CVE-2020-29130 - QEMU: slirp: out-of-bounds access while processing ARP/NCSI packets - -> https://www.openwall.com/lists/oss-security/2020/11/27/1 - -Reported-by: Qiuhao Li -Signed-off-by: Prasad J Pandit -Message-Id: <20201126135706.273950-1-ppandit@redhat.com> -Reviewed-by: Marc-André Lureau -Signed-off-by: Peter Korsgaard ---- - src/ncsi.c | 4 ++++ - src/slirp.c | 4 ++++ - 2 files changed, 8 insertions(+) - -diff --git a/src/ncsi.c b/src/ncsi.c -index 3c1dfef..75dcc08 100644 ---- a/src/ncsi.c -+++ b/src/ncsi.c -@@ -148,6 +148,10 @@ void ncsi_input(Slirp *slirp, const uint8_t *pkt, int pkt_len) - uint32_t checksum; - uint32_t *pchecksum; - -+ if (pkt_len < ETH_HLEN + sizeof(struct ncsi_pkt_hdr)) { -+ return; /* packet too short */ -+ } -+ - memset(ncsi_reply, 0, sizeof(ncsi_reply)); - - memset(reh->h_dest, 0xff, ETH_ALEN); -diff --git a/src/slirp.c b/src/slirp.c -index 9bead0c..abb6f9a 100644 ---- a/src/slirp.c -+++ b/src/slirp.c -@@ -860,6 +860,10 @@ static void arp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len) - return; - } - -+ if (pkt_len < ETH_HLEN + sizeof(struct slirp_arphdr)) { -+ return; /* packet too short */ -+ } -+ - ar_op = ntohs(ah->ar_op); - switch (ar_op) { - case ARPOP_REQUEST: --- -2.20.1 - diff --git a/package/slirp/slirp.hash b/package/slirp/slirp.hash index fe295b3bfba..326b2ad2461 100644 --- a/package/slirp/slirp.hash +++ b/package/slirp/slirp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 388b4b08a8cc0996cc5155cb027a097dc1a7f2cfe84b1121496608ab5366cc48 libslirp-4.3.1.tar.xz +sha256 b8a22ac4d601ba16122a67827c0f4361785d4d283f21ff8ed48d4aa1e7693477 libslirp-4.6.1.tar.xz sha256 b28aecf4796a6a22054167f0a976de13d9db335669d37afd2dc7ea4c335e1e13 COPYRIGHT diff --git a/package/slirp/slirp.mk b/package/slirp/slirp.mk index ff92c605174..43d2c520e98 100644 --- a/package/slirp/slirp.mk +++ b/package/slirp/slirp.mk @@ -4,11 +4,9 @@ # ################################################################################ -SLIRP_VERSION = 4.3.1 +SLIRP_VERSION = 4.6.1 SLIRP_SOURCE = libslirp-$(SLIRP_VERSION).tar.xz -# Other "official" tarballs don't ship .tarball-version resulting in a build -# failure: https://gitlab.freedesktop.org/slirp/libslirp/-/issues/24 -SLIRP_SITE = https://elmarco.fedorapeople.org +SLIRP_SITE = https://gitlab.freedesktop.org/slirp/libslirp/uploads/83b199ea6fcdfc0c243dfde8546ee4c9 SLIRP_LICENSE = BSD-3-Clause SLIRP_LICENSE_FILES = COPYRIGHT SLIRP_CPE_ID_VENDOR = libslirp_project @@ -16,7 +14,4 @@ SLIRP_CPE_ID_PRODUCT = libslirp SLIRP_INSTALL_STAGING = YES SLIRP_DEPENDENCIES = libglib2 -# 0001-slirp-check-pkt_len-before-reading-protocol-header.patch -SLIRP_IGNORE_CVES += CVE-2020-29129 CVE-2020-29130 - $(eval $(meson-package)) diff --git a/package/sloci-image/Config.in.host b/package/sloci-image/Config.in.host new file mode 100644 index 00000000000..d809f1f3c78 --- /dev/null +++ b/package/sloci-image/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_SLOCI_IMAGE + bool "host sloci-image" + help + A simple CLI tool for packing rootfs into a single-layer OCI + image. + + https://github.com/jirutka/sloci-image diff --git a/package/sloci-image/sloci-image.hash b/package/sloci-image/sloci-image.hash new file mode 100644 index 00000000000..ea1368e4229 --- /dev/null +++ b/package/sloci-image/sloci-image.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 4c5baee9a4915ca88e3a54befa1ccb8616be20208070cf54ac366c195647da79 sloci-image-0.1.2.tar.gz + +# Hash for license files: +sha256 4c86c21e003875b85b4b9299156f8cec72c8e8e1abf5aa1f2d3c4dc665a3bea0 LICENSE diff --git a/package/sloci-image/sloci-image.mk b/package/sloci-image/sloci-image.mk new file mode 100644 index 00000000000..7361c49de48 --- /dev/null +++ b/package/sloci-image/sloci-image.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# sloci-image +# +################################################################################ + +SLOCI_IMAGE_VERSION = 0.1.2 +SLOCI_IMAGE_SITE = $(call github,jirutka,sloci-image,v$(SLOCI_IMAGE_VERSION)) + +SLOCI_IMAGE_LICENSE = MIT +SLOCI_IMAGE_LICENSE_FILES = LICENSE + +HOST_SLOCI_IMAGE_DEPENDENCIES = host-gawk + +define HOST_SLOCI_IMAGE_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) PREFIX=$(HOST_DIR) -C $(@D) install +endef + +$(eval $(host-generic-package)) diff --git a/package/smack/smack.mk b/package/smack/smack.mk index b7b656e6446..fec3ef98c9a 100644 --- a/package/smack/smack.mk +++ b/package/smack/smack.mk @@ -14,7 +14,7 @@ SMACK_DEPENDENCIES = host-pkgconf # Sources from GitHub, no configure script included. SMACK_AUTORECONF = YES -define SMAKE_LINUX_CONFIG_FIXUPS +define SMACK_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY) $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK) $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_NETWORK) diff --git a/package/smartmontools/0001-configure.ac-fix-stack-protector-detection.patch b/package/smartmontools/0001-configure.ac-fix-stack-protector-detection.patch deleted file mode 100644 index 63f51fc9bc8..00000000000 --- a/package/smartmontools/0001-configure.ac-fix-stack-protector-detection.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6bd18b0b7b4d916e474ba84707eb784a643b3e71 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 23 Feb 2020 16:23:20 +0100 -Subject: [PATCH] configure.ac: fix stack-protector detection - -Use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE to check for -stack-protector availability as some compilers could missed the needed -library (-lssp or -lssp_nonshared) at linking step: - -/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/x86_64-linux-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall -W -Wformat=2 -fstack-protector-strong -o smartctl smartctl.o atacmdnames.o atacmds.o ataidentify.o ataprint.o dev_ata_cmd_set.o dev_intelliprop.o dev_interface.o dev_jmb39x_raid.o json.o knowndrives.o nvmecmds.o nvmeprint.o scsicmds.o scsiata.o scsinvme.o scsiprint.o utility.o os_linux.o cciss.o dev_areca.o -lselinux -/home/giuliobenetti/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp_nonshared -/home/giuliobenetti/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp - -Fixes: - - http://autobuild.buildroot.org/results/0de9f2a69fa2a39164211299f8a429d2fec6935a - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://www.smartmontools.org/ticket/1302] ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 87470d8a..ccb457e1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -770,7 +770,7 @@ if test "$GXX" = "yes"; then - AC_MSG_CHECKING([whether $CXX supports $option]) - save_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$CXXFLAGS $option" -- AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [res=yes], [res=no; CXXFLAGS=$save_CXXFLAGS]) -+ AC_LINK_IFELSE([AC_LANG_PROGRAM()], [res=yes], [res=no; CXXFLAGS=$save_CXXFLAGS]) - AC_MSG_RESULT([$res]) - done - else --- -2.25.0 - diff --git a/package/smartmontools/smartmontools.hash b/package/smartmontools/smartmontools.hash index bec007aabd6..3c5535b29a2 100644 --- a/package/smartmontools/smartmontools.hash +++ b/package/smartmontools/smartmontools.hash @@ -1,7 +1,7 @@ -# From http://sourceforge.net/projects/smartmontools/files/smartmontools/7.1/ -md5 430cd5f64caa4524018b536e5ecd9c29 smartmontools-7.1.tar.gz -sha1 207dc2b50cab1c6fba7bc248665fbbe3189374e1 smartmontools-7.1.tar.gz +# From http://sourceforge.net/projects/smartmontools/files/smartmontools/7.2/ +md5 e8d134c69ae4959a05cb56b31172ffb1 smartmontools-7.2.tar.gz +sha1 8d68241096f6ed5b1bbcd8b427fa4a881c1f3e33 smartmontools-7.2.tar.gz # Locally computed -sha256 3f734d2c99deb1e4af62b25d944c6252de70ca64d766c4c7294545a2e659b846 smartmontools-7.1.tar.gz +sha256 5cd98a27e6393168bc6aaea070d9e1cd551b0f898c52f66b2ff2e5d274118cd6 smartmontools-7.2.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/smartmontools/smartmontools.mk b/package/smartmontools/smartmontools.mk index 1f4448cb849..2e2bbcd4e25 100644 --- a/package/smartmontools/smartmontools.mk +++ b/package/smartmontools/smartmontools.mk @@ -4,13 +4,12 @@ # ################################################################################ -SMARTMONTOOLS_VERSION = 7.1 +SMARTMONTOOLS_VERSION = 7.2 SMARTMONTOOLS_SITE = http://downloads.sourceforge.net/project/smartmontools/smartmontools/$(SMARTMONTOOLS_VERSION) SMARTMONTOOLS_LICENSE = GPL-2.0+ SMARTMONTOOLS_LICENSE_FILES = COPYING SMARTMONTOOLS_CPE_ID_VENDOR = smartmontools -# We're patching configure.ac -SMARTMONTOOLS_AUTORECONF = YES +SMARTMONTOOLS_SELINUX_MODULES = smartmon ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) SMARTMONTOOLS_CONF_OPTS += --with-libcap-ng diff --git a/package/smcroute/S41smcroute b/package/smcroute/S41smcroute new file mode 100755 index 00000000000..d243e8ec5c5 --- /dev/null +++ b/package/smcroute/S41smcroute @@ -0,0 +1,48 @@ +#!/bin/sh + +NAME="smcroute" +DAEMON="smcrouted" +PIDFILE="/var/run/$NAME.pid" + +# shellcheck source=/dev/null +[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME" + +cmd() +{ + start-stop-daemon -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" "$@" + status=$? + if [ $status -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return $status +} + +case "$1" in + start) + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + cmd -S -- $SMCROUTED_ARGS + ;; + + stop) + printf 'Stopping %s: ' "$DAEMON" + cmd -K + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + reload) + printf 'Reloading %s: ' "$DAEMON" + cmd -K -s HUP + ;; + + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/smcroute/smcroute.hash b/package/smcroute/smcroute.hash index f79ce167ed9..ea4c449c42a 100644 --- a/package/smcroute/smcroute.hash +++ b/package/smcroute/smcroute.hash @@ -1,5 +1,5 @@ +# Upstream .sha256 from GitHub +sha256 2569cd97fa2047df14203a7144be53a1b32928cb460421a302bbcce381b42bc3 smcroute-2.5.5.tar.gz + # Locally generated -sha256 431be94c46646767f69c85fee445277b7e765a55177d3ee29522416cfe2cc067 smcroute-2.4.4.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING -# From https://github.com/troglobit/smcroute/releases/download/2.4.4/smcroute-2.4.4.tar.xz.md5 -md5 a1dc8c54c684e8c8de139444f73a0ba3 smcroute-2.4.4.tar.xz diff --git a/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk index 0db0e084f66..e6114c9a8c4 100644 --- a/package/smcroute/smcroute.mk +++ b/package/smcroute/smcroute.mk @@ -4,22 +4,37 @@ # ################################################################################ -SMCROUTE_VERSION = 2.4.4 -SMCROUTE_SOURCE = smcroute-$(SMCROUTE_VERSION).tar.xz +SMCROUTE_VERSION = 2.5.5 SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION) SMCROUTE_LICENSE = GPL-2.0+ SMCROUTE_LICENSE_FILES = COPYING SMCROUTE_CPE_ID_VENDOR = troglobit -SMCROUTE_CONF_OPTS = ac_cv_func_setpgrp_void=yes -#BUG:The package Makefile uses CC?= even though the package is autotools based -SMCROUTE_MAKE_ENV = $(TARGET_CONFIGURE_OPTS) +SMCROUTE_CONF_OPTS = --enable-mrdisc ifeq ($(BR2_PACKAGE_LIBCAP),y) -SMCROUTE_DEPENDENCIES = libcap +SMCROUTE_DEPENDENCIES += libcap SMCROUTE_CONF_OPTS += --with-libcap else SMCROUTE_CONF_OPTS += --without-libcap endif +define SMCROUTE_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D package/smcroute/S41smcroute \ + $(TARGET_DIR)/etc/init.d/S41smcroute +endef + +define SMCROUTE_PRUNE_COMPAT_SCRIPT + rm -f $(TARGET_DIR)/usr/sbin/smcroute +endef + +SMCROUTE_POST_INSTALL_TARGET_HOOKS += SMCROUTE_PRUNE_COMPAT_SCRIPT + +# We will asume that CONFIG_NET and CONFIG_INET are already +# set in the kernel configuration provided by the user. +define SMCROUTE_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_MULTICAST) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_MROUTE) +endef + $(eval $(autotools-package)) diff --git a/package/smstools3/smstools3.mk b/package/smstools3/smstools3.mk index 87d189baa8e..d13900bc031 100644 --- a/package/smstools3/smstools3.mk +++ b/package/smstools3/smstools3.mk @@ -8,6 +8,7 @@ SMSTOOLS3_VERSION = 3.1.21 SMSTOOLS3_SITE = http://smstools3.kekekasvi.com/packages SMSTOOLS3_LICENSE = GPL-2.0+ SMSTOOLS3_LICENSE_FILES = doc/license.html LICENSE +SMSTOOLS3_SELINUX_MODULES = smstools SMSTOOLS3_CFLAGS = $(TARGET_CFLAGS) SMSTOOLS3_CFLAGS += -D NUMBER_OF_MODEMS=$(BR2_PACKAGE_SMSTOOLS3_NB_MODEMS) diff --git a/package/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch b/package/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch new file mode 100644 index 00000000000..bd2ef077944 --- /dev/null +++ b/package/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch @@ -0,0 +1,71 @@ +From 0c716d435abe65250100c2caea0e5126ac4e14bd Mon Sep 17 00:00:00 2001 +From: "Georgi D. Sotirov" +Date: Wed, 5 May 2021 14:16:46 +0300 +Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE + +Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to +fix the following compilation errors and a warning with GCC: + +[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o +/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS +-I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3 +-march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3 +-DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c +/tmp/snappy-1.1.9/snappy.cc +/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline +function might not be inlinable [-Wattributes] + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair snappy::DecompressBranchless(const uint8_t*, const +uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned +char; ptrdiff_t = int]': +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +CMakeFiles/snappy.dir/build.make:137: recipe for target +'CMakeFiles/snappy.dir/snappy.cc.o' failed + +Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE +macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++ +inline specifier. + +[Retrieved from: +https://github.com/google/snappy/pull/128/commits/0c716d435abe65250100c2caea0e5126ac4e14bd] +Signed-off-by: Fabrice Fontaine +--- + snappy.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/snappy.cc b/snappy.cc +index 79dc0e8d..51157be2 100644 +--- a/snappy.cc ++++ b/snappy.cc +@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) { + } + + SNAPPY_ATTRIBUTE_ALWAYS_INLINE +-size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { ++inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + const uint8_t*& ip = *ip_p; + // This section is crucial for the throughput of the decompression loop. + // The latency of an iteration is fundamentally constrained by the diff --git a/package/snappy/snappy.hash b/package/snappy/snappy.hash index c08c5b7fe4d..b49b0e7e3b4 100644 --- a/package/snappy/snappy.hash +++ b/package/snappy/snappy.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f snappy-1.1.8.tar.gz -sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 COPYING +sha256 75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7 snappy-1.1.9.tar.gz +sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 COPYING diff --git a/package/snappy/snappy.mk b/package/snappy/snappy.mk index e1fa28fbcea..d31dcdd5fe1 100644 --- a/package/snappy/snappy.mk +++ b/package/snappy/snappy.mk @@ -4,12 +4,12 @@ # ################################################################################ -SNAPPY_VERSION = 1.1.8 +SNAPPY_VERSION = 1.1.9 SNAPPY_SITE = $(call github,google,snappy,$(SNAPPY_VERSION)) SNAPPY_LICENSE = BSD-3-Clause SNAPPY_LICENSE_FILES = COPYING SNAPPY_CPE_ID_VENDOR = google SNAPPY_INSTALL_STAGING = YES -SNAPPY_CONF_OPTS = -DSNAPPY_BUILD_TESTS=OFF +SNAPPY_CONF_OPTS = -DSNAPPY_BUILD_BENCHMARKS=OFF -DSNAPPY_BUILD_TESTS=OFF $(eval $(cmake-package)) diff --git a/package/snmpclitools/Config.in b/package/snmpclitools/Config.in index 00bf5994d14..bf3668a89b3 100644 --- a/package/snmpclitools/Config.in +++ b/package/snmpclitools/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_SNMPCLITOOLS bool "snmpclitools" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_PYSMI # runtime select BR2_PACKAGE_PYTHON_PYSNMP # runtime help diff --git a/package/snmppp/Config.in b/package/snmppp/Config.in index de1a09ca4b4..1f05f53f9fc 100644 --- a/package/snmppp/Config.in +++ b/package/snmppp/Config.in @@ -23,6 +23,7 @@ config BR2_PACKAGE_SNMPPP_SNMPV3 default y depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help Enable optional support for SNMP++. This selects OpenSSL. diff --git a/package/snort/0007-Fix-error-when-building-on-a-Fedora-host-machine.patch b/package/snort/0007-Fix-error-when-building-on-a-Fedora-host-machine.patch index afe9672a3c2..66d4fa2839c 100644 --- a/package/snort/0007-Fix-error-when-building-on-a-Fedora-host-machine.patch +++ b/package/snort/0007-Fix-error-when-building-on-a-Fedora-host-machine.patch @@ -7,6 +7,8 @@ Remove the code that adds unsafe header/library path when cross-compiling on a Fedora host machine. Signed-off-by: Sergio Prado +[Fabrice: Update for 2.9.18.1 (also fix build on Centos host machine)] +Signed-off-by: Fabrice Fontaine --- configure.in | 24 ------------------------ 1 file changed, 24 deletions(-) @@ -15,7 +17,7 @@ diff --git a/configure.in b/configure.in index e6586f399898..fb35d4d7e3e3 100644 --- a/configure.in +++ b/configure.in -@@ -957,30 +957,6 @@ if test "x$enable_dlclose" = "xno"; then +@@ -957,54 +957,6 @@ if test "x$enable_dlclose" = "xno"; then AC_DEFINE([DISABLE_DLCLOSE_FOR_VALGRIND_TESTING],[1],[Don't close opened shared objects for valgrind leak testing of dynamic libraries]) fi @@ -42,6 +44,30 @@ index e6586f399898..fb35d4d7e3e3 100644 - extra_incl="-I/usr/include/tirpc" - fi -fi +- +-################################################## +-# Centos 8+ does not have inbuilt SunRPC support # +-# in glibc and is separately availble in tirpc # +-# package. Make sure we've got the library and # +-# link it # +-################################################## +-if test -f /etc/centos-release ; then +- LINUX_FLAVOUR=$(awk '{ print $1 }' /etc/centos-release) +- DISTRO_VERSION=`cut -d ' ' -f 4 /etc/centos-release | cut -d '.' -f 1` +- if [[ "$LINUX_FLAVOUR" == "CentOS" ]] && [[ $DISTRO_VERSION -ge 8 ]]; then +- TIRPC="" +- AC_CHECK_LIB(tirpc,bindresvport,, TIRPC="no") +- echo "$TIRPC" +- if test "x$TIRPC" = "xno"; then +- echo +- echo " ERROR! tirpc not found, get it by running " +- echo " yum install libtirpc-devel or dnf install libtirpc-devel" +- exit +- fi +- LIBS="${LIBS} -ltirpc" +- extra_incl="-I/usr/include/tirpc" +- fi +-fi - Z_LIB="" AC_CHECK_HEADERS(zlib.h,, Z_LIB="no") diff --git a/package/snort/snort.hash b/package/snort/snort.hash index 1103152eadf..ac098564aa5 100644 --- a/package/snort/snort.hash +++ b/package/snort/snort.hash @@ -1,8 +1,8 @@ # From https://www.snort.org/downloads/snort/md5s -md5 3fe89f22def4e9ffda01f07f816e666d snort-2.9.17.tar.gz +md5 b0350425e0c1e9c044c25aa13b47edf8 snort-2.9.19.tar.gz # Locally computed: -sha256 c3b234c3922a09b0368b847ddb8d1fa371b741f032f42aa9ab53d67b428dc648 snort-2.9.17.tar.gz +sha256 b12fc6db72afb58987a2bf1954b8f45bde02047c235513c7663857b9506369c7 snort-2.9.19.tar.gz # Hash for license files: sha256 f98260a6d3e5ef4ede8a2a6b698e5ac91d64c09243f7171e1c5b17b920a835c7 LICENSE diff --git a/package/snort/snort.mk b/package/snort/snort.mk index 412c69f8380..41f450541f8 100644 --- a/package/snort/snort.mk +++ b/package/snort/snort.mk @@ -4,11 +4,12 @@ # ################################################################################ -SNORT_VERSION = 2.9.17 +SNORT_VERSION = 2.9.19 SNORT_SITE = https://www.snort.org/downloads/snort SNORT_LICENSE = GPL-2.0 SNORT_LICENSE_FILES = LICENSE COPYING SNORT_CPE_ID_VENDOR = snort +SNORT_SELINUX_MODULES = snort SNORT_DEPENDENCIES = libpcap libdnet daq pcre zlib host-pkgconf diff --git a/package/snort3/Config.in b/package/snort3/Config.in new file mode 100644 index 00000000000..9b96e7cb589 --- /dev/null +++ b/package/snort3/Config.in @@ -0,0 +1,44 @@ +config BR2_PACKAGE_SNORT3 + bool "snort3" + depends on !BR2_PACKAGE_LUA # luajit + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit + depends on !(BR2_PACKAGE_DAQ || BR2_PACKAGE_SNORT) + depends on BR2_USE_MMU # fork() + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # daq3 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # daq3, hwloc + depends on BR2_USE_WCHAR + select BR2_PACKAGE_DAQ3 + select BR2_PACKAGE_FLEX + select BR2_PACKAGE_HWLOC + select BR2_PACKAGE_LIBDNET + select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_ZLIB + help + Snort 3 is the next generation Snort IPS (Intrusion + Prevention System). + + - Support multiple packet processing threads + - Shared configuration and attribute table + - Use a simple, scriptable configuration + - Make key components pluggable + - Autodetect services for portless configuration + - Support sticky buffers in rules + - Autogenerate reference documentation + - Provide better cross platform support + + https://www.snort.org/snort3 + +comment "snort3 needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.9" + depends on !BR2_PACKAGE_LUA + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS + depends on !(BR2_PACKAGE_DAQ || BR2_PACKAGE_SNORT) + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/snort3/snort3.hash b/package/snort3/snort3.hash new file mode 100644 index 00000000000..0ba4505a830 --- /dev/null +++ b/package/snort3/snort3.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 6e45c16b1815d832b5d6edcd2b705e7838e25c76bfd54b3e86c55ecba6de420a snort3-3.1.18.0.tar.gz + +# Hash for license files: +sha256 3f1cbfb20bb2c608e1a474421880d08b8cba6abb00ab7736d22c481d71656a6d COPYING +sha256 f98260a6d3e5ef4ede8a2a6b698e5ac91d64c09243f7171e1c5b17b920a835c7 LICENSE diff --git a/package/snort3/snort3.mk b/package/snort3/snort3.mk new file mode 100644 index 00000000000..6f15ce3c92c --- /dev/null +++ b/package/snort3/snort3.mk @@ -0,0 +1,62 @@ +################################################################################ +# +# snort3 +# +################################################################################ + +SNORT3_VERSION = 3.1.18.0 +SNORT3_SITE = $(call github,snort3,snort3,$(SNORT3_VERSION)) +SNORT3_LICENSE = GPL-2.0 +SNORT3_LICENSE_FILES = COPYING LICENSE + +SNORT3_DEPENDENCIES = \ + host-pkgconf daq3 flex hwloc libdnet libpcap luajit openssl pcre zlib + +SNORT3_CONF_OPTS = \ + -DENABLE_GDB=OFF \ + -DENABLE_STATIC_DAQ=OFF \ + -DMAKE_DOC=OFF + +ifeq ($(BR2_PACKAGE_FLATBUFFERS),y) +SNORT3_DEPENDENCIES += flatbuffers +SNORT3_CONF_OPTS += -DHAVE_FLATBUFFERS=ON +else +SNORT3_CONF_OPTS += -DHAVE_FLATBUFFERS=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBICONV),y) +SNORT3_DEPENDENCIES += libiconv +SNORT3_CONF_OPTS += -DHAVE_ICONV=ON +endif + +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +SNORT3_DEPENDENCIES += libtirpc +endif + +ifeq ($(BR2_PACKAGE_SAFECLIB),y) +SNORT3_DEPENDENCIES += safeclib +SNORT3_CONF_OPTS += -DENABLE_SAFEC=ON +else +SNORT3_CONF_OPTS += -DENABLE_SAFEC=OFF +endif + +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) +SNORT3_DEPENDENCIES += util-linux +SNORT3_CONF_OPTS += -DHAVE_UUID=ON +else +SNORT3_CONF_OPTS += -DHAVE_UUID=OFF +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +SNORT3_DEPENDENCIES += xz +SNORT3_CONF_OPTS += -DHAVE_LZMA=ON +else +SNORT3_CONF_OPTS += -DHAVE_LZMA=OFF +endif + +# Uses __atomic_load_8 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +SNORT3_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + +$(eval $(cmake-package)) diff --git a/package/socat/0003-configure.ac-correct-the-getprotobynumber_r-test.patch b/package/socat/0003-configure.ac-correct-the-getprotobynumber_r-test.patch new file mode 100644 index 00000000000..de954055319 --- /dev/null +++ b/package/socat/0003-configure.ac-correct-the-getprotobynumber_r-test.patch @@ -0,0 +1,43 @@ +From d56a11beb9b181fd91a70a6d703dfbdfe887122a Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 13 Jan 2022 17:56:10 +0200 +Subject: [PATCH] configure.ac: correct the getprotobynumber_r test + +The AC_TRY_COMPILE test succeeds even when libc does not provide the +tested symbol. The compiler produces a warning, but exits successfully. +Use AC_TRY_LINK that will only succeeds if libc provides the symbol. + +This fixes build with musl libc that does not support +getprotobynumber_r(). + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to socat@dest-unreach.org + + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d4acc9e7e6f5..973a7f2218c9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -137,13 +137,13 @@ AC_MSG_RESULT($sc_cv_have_prototype_hstrerror) + # getprotobynumber_r() is not standardized + AC_MSG_CHECKING(for getprotobynumber_r() variant) + AC_CACHE_VAL(sc_cv_getprotobynumber_r, +-[AC_TRY_COMPILE([#include ++[AC_TRY_LINK([#include + #include ],[getprotobynumber_r(1,NULL,NULL,1024,NULL);], + [sc_cv_getprotobynumber_r=1; tmp_bynum_variant=Linux], +- [AC_TRY_COMPILE([#include ++ [AC_TRY_LINK([#include + #include ],[getprotobynumber_r(1,NULL,NULL,1024);], + [sc_cv_getprotobynumber_r=2; tmp_bynum_variant=Solaris], +- [AC_TRY_COMPILE([#include ++ [AC_TRY_LINK([#include + #include ],[getprotobynumber_r(1,NULL,NULL);], + [sc_cv_getprotobynumber_r=3; tmp_bynum_variant=AIX], + +-- +2.34.1 + diff --git a/package/socat/socat.hash b/package/socat/socat.hash index 5a4c5204555..4f7ff5328e2 100644 --- a/package/socat/socat.hash +++ b/package/socat/socat.hash @@ -1,8 +1,8 @@ # From http://www.dest-unreach.org/socat/download.md5sum -md5 36cad050ecf4981ab044c3fbd75c643f socat-1.7.4.1.tar.bz2 +md5 5c28dd258ba928326d0716fcb4895cc2 socat-1.7.4.3.tar.bz2 # From http://www.dest-unreach.org/socat/download.sha256sum -sha256 3faca25614e89123dff5045680549ecef519d02e331aaf3c4f5a8f6837c675e9 socat-1.7.4.1.tar.bz2 +sha256 d47318104415077635119dfee44bcfb41de3497374a9a001b1aff6e2f0858007 socat-1.7.4.3.tar.bz2 # Locally calculated -sha256 b1ebebbce145027f4268211f36d121b083aeeabdc1736eb144b8afd8e86ce8da README +sha256 432aebfec164bedcaada7cdf2849e1f003fa00a91a0a1ed34d7cf4abe980f5fb README sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 fd9e48ca316a5032069b9521f4f4b4d9b1c60365012bae1e62286bcd5bd2e761 COPYING.OpenSSL diff --git a/package/socat/socat.mk b/package/socat/socat.mk index 61c98525654..e20577492d8 100644 --- a/package/socat/socat.mk +++ b/package/socat/socat.mk @@ -4,7 +4,7 @@ # ################################################################################ -SOCAT_VERSION = 1.7.4.1 +SOCAT_VERSION = 1.7.4.3 SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2 SOCAT_SITE = http://www.dest-unreach.org/socat/download SOCAT_LICENSE = GPL-2.0 with OpenSSL exception @@ -24,7 +24,7 @@ SOCAT_CONF_ENV += \ endif # We need to run autoconf to regenerate the configure script, since we patch -# configure.in and Makefile.in. However, the package only uses autoconf and not +# Makefile.in. However, the package only uses autoconf and not # automake, so we can't use the normal autoreconf logic. SOCAT_DEPENDENCIES = host-autoconf diff --git a/package/socketcand/socketcand.mk b/package/socketcand/socketcand.mk index b11aa3c91e0..1755d3ae56f 100644 --- a/package/socketcand/socketcand.mk +++ b/package/socketcand/socketcand.mk @@ -11,9 +11,9 @@ SOCKETCAND_LICENSE = BSD-3-Clause or GPL-2.0 SOCKETCAND_LICENSE_FILES = socketcand.c ifeq ($(BR2_PACKAGE_LIBCONFIG),y) -SOCKETCAND_DEPENDENCIES = libconfig +SOCKETCAND_DEPENDENCIES += libconfig else -SOCKETCAND_CONF_OPTS = --without-config +SOCKETCAND_CONF_OPTS += --without-config endif $(eval $(autotools-package)) diff --git a/package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch b/package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch deleted file mode 100644 index 57c0bfe250a..00000000000 --- a/package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch +++ /dev/null @@ -1,30 +0,0 @@ -From bcd0f17fd83f2dfe570a3ab17249a5c7290b27f2 Mon Sep 17 00:00:00 2001 -From: Pekka Pessi -Date: Thu, 24 Mar 2011 14:45:21 +0200 -Subject: [PATCH] soa_tag.h: reintroduce soatag_local_sdp_str_ref - -Thanks to Erik Habicht for spotting it - -Signed-off-by: Bernd Kuhls -[rebased for sofia-sip 1.13.1-d10a3d268c, patch sent upstream - https://github.com/freeswitch/sofia-sip/pull/23] ---- - libsofia-sip-ua/soa/sofia-sip/soa_tag.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/libsofia-sip-ua/soa/sofia-sip/soa_tag.h b/libsofia-sip-ua/soa/sofia-sip/soa_tag.h -index 723ca02..d9448d6 100644 ---- a/libsofia-sip-ua/soa/sofia-sip/soa_tag.h -+++ b/libsofia-sip-ua/soa/sofia-sip/soa_tag.h -@@ -130,7 +130,7 @@ SOFIAPUBVAR tag_typedef_t soatag_local_sdp_ref; - SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str; - #define SOATAG_LOCAL_SDP_STR_REF(x) \ - soatag_local_sdp_str_ref, tag_str_vr(&(x)) --SOFIAPUBVAR tag_typedef_t soatag_session_sdp_str_ref; -+SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str_ref; - - #define SOATAG_AF(x) soatag_af, tag_int_v((x)) - SOFIAPUBVAR tag_typedef_t soatag_af; --- -1.7.7 - diff --git a/package/sofia-sip/0002-sofia-sip-fix-s2tcase.c.patch b/package/sofia-sip/0002-sofia-sip-fix-s2tcase.c.patch deleted file mode 100644 index a2cc412843a..00000000000 --- a/package/sofia-sip/0002-sofia-sip-fix-s2tcase.c.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d66a2e55daf223737c07c59b1be45a2d91212ef6 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 26 Jul 2020 13:47:16 +0200 -Subject: [PATCH] [sofia-sip] fix s2tcase.c - -Fixes build error with recent libcheck: -https://github.com/freeswitch/sofia-sip/issues/22 - -Signed-off-by: Bernd Kuhls ---- - s2check/s2tcase.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libs/sofia-sip/s2check/s2tcase.c b/libs/sofia-sip/s2check/s2tcase.c -index 382aaa3ad7..d67694c2ce 100644 ---- a/s2check/s2tcase.c -+++ b/s2check/s2tcase.c -@@ -57,7 +57,7 @@ void s2_tcase_add_test(TCase *tc, TFun tf, char const *name, - if (strcmp(*patterns, "*")) { - printf("%s: selected\n", name); - } -- _tcase_add_test(tc, tf, name, signo, 0, start, end); -+ _tcase_add_test(tc, tf, name, signo, start, end); - return; - } - } -@@ -67,7 +67,7 @@ void s2_tcase_add_test(TCase *tc, TFun tf, char const *name, - if (strcmp(*patterns, "*")) { - printf("%s: selected\n", name); - } -- _tcase_add_test(tc, tf, name, signo, 0, start, end); -+ _tcase_add_test(tc, tf, name, signo, start, end); - return; - } - } --- -2.27.0 - diff --git a/package/sofia-sip/sofia-sip.hash b/package/sofia-sip/sofia-sip.hash index 99b315e2760..6f6ff6d0526 100644 --- a/package/sofia-sip/sofia-sip.hash +++ b/package/sofia-sip/sofia-sip.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 4cf0de1aaa1e1737db5a8fe4104021a8e60a148a4534f92b5affdd9782e404aa sofia-sip-1.13.1-d10a3d268c.tar.gz +sha256 d39a3287038f1c9a747c1abc94a1379a726a9dfaf969285f955141883f7b810f sofia-sip-1.13.6-4152840260.tar.gz sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 COPYING sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 COPYRIGHTS diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk index ef1b35fa2c3..2bac4805427 100644 --- a/package/sofia-sip/sofia-sip.mk +++ b/package/sofia-sip/sofia-sip.mk @@ -4,8 +4,8 @@ # ################################################################################ -SOFIA_SIP_VERSION = 1.13.1-d10a3d268c -SOFIA_SIP_SITE = https://files.freeswitch.org/downloads/libs +SOFIA_SIP_VERSION = 1.13.6-4152840260 +SOFIA_SIP_SITE = https://files.freeswitch.org/downloads/libs/sofia-sip SOFIA_SIP_INSTALL_STAGING = YES SOFIA_SIP_DEPENDENCIES = host-pkgconf SOFIA_SIP_LICENSE = LGPL-2.1+ @@ -30,8 +30,4 @@ SOFIA_SIP_CONF_OPTS += \ --without-openssl endif -ifeq ($(BR2_ENABLE_DEBUG),y) -SOFIA_SIP_CONF_OPTS += --enable-ndebug -endif - $(eval $(autotools-package)) diff --git a/package/softether/Config.in b/package/softether/Config.in index 01104b5d39a..f8933cdc001 100644 --- a/package/softether/Config.in +++ b/package/softether/Config.in @@ -3,10 +3,12 @@ config BR2_PACKAGE_SOFTETHER depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 select BR2_PACKAGE_READLINE help The SoftEther Server is a fully integrated implementation of @@ -28,5 +30,4 @@ config BR2_PACKAGE_SOFTETHER comment "softether needs a toolchain w/ wchar, threads" depends on BR2_USE_MMU - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS depends on !(BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/package/softhsm2/Config.in b/package/softhsm2/Config.in new file mode 100644 index 00000000000..78fccc95120 --- /dev/null +++ b/package/softhsm2/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_SOFTHSM2 + bool "softhsm2" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS # dlopen() + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES + help + SoftHSM is an implementation of a cryptographic store + accessible through a PKCS#11 interface. You can use it + to explore PKCS#11 without having a Hardware Security + Module. + + https://www.opendnssec.org/softhsm + +comment "softhsm2 needs a toolchain w/ C++, threads, gcc >= 4.8 and dynamic library support" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/softhsm2/softhsm2.hash b/package/softhsm2/softhsm2.hash new file mode 100644 index 00000000000..f59f0bf0289 --- /dev/null +++ b/package/softhsm2/softhsm2.hash @@ -0,0 +1,4 @@ +# From https://www.opendnssec.org/2020/04/1602/ +sha256 61249473054bcd1811519ef9a989a880a7bdcc36d317c9c25457fc614df475f2 softhsm-2.6.1.tar.gz +# Locally computed +sha256 230cab7102816e99f7ce03ef476352fcad09d742fcbc6580d44393db6280b64c LICENSE diff --git a/package/softhsm2/softhsm2.mk b/package/softhsm2/softhsm2.mk new file mode 100644 index 00000000000..5e37e42dde6 --- /dev/null +++ b/package/softhsm2/softhsm2.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# softhsm2 +# +################################################################################ + +SOFTHSM2_VERSION = 2.6.1 +SOFTHSM2_SOURCE = softhsm-$(SOFTHSM2_VERSION).tar.gz +SOFTHSM2_SITE = https://dist.opendnssec.org/source +SOFTHSM2_LICENSE = BSD-2-Clause +SOFTHSM2_LICENSE_FILES = LICENSE +SOFTHSM2_DEPENDENCIES = openssl +SOFTHSM2_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_P11_KIT),y) +SOFTHSM2_CONF_OPTS += \ + --enable-p11-kit \ + --with-p11-kit=/usr/share/p11-kit/modules +SOFTHSM2_DEPENDENCIES += p11-kit +else +SOFTHSM2_CONF_OPTS += --disable-p11-kit +endif + +$(eval $(autotools-package)) diff --git a/package/solarus/0002-Add-a-basic-FindOpenGLES2.cmake.patch b/package/solarus/0002-Add-a-basic-FindOpenGLES2.cmake.patch new file mode 100644 index 00000000000..59bf9e8cf4c --- /dev/null +++ b/package/solarus/0002-Add-a-basic-FindOpenGLES2.cmake.patch @@ -0,0 +1,48 @@ +From 2bf0e98f17d92fd86ee61be179e3cebe93f75ea7 Mon Sep 17 00:00:00 2001 +From: Gleb Mazovetskiy +Date: Sun, 3 Jan 2021 12:38:13 +0000 +Subject: [PATCH] Add a basic FindOpenGLES2.cmake + +Fixes #1324 +--- + cmake/modules/FindOpenGLES2.cmake | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + create mode 100644 cmake/modules/FindOpenGLES2.cmake + +diff --git a/cmake/modules/FindOpenGLES2.cmake b/cmake/modules/FindOpenGLES2.cmake +new file mode 100644 +index 000000000..70fd5e6f0 +--- /dev/null ++++ b/cmake/modules/FindOpenGLES2.cmake +@@ -0,0 +1,28 @@ ++# Try to find OpenGLES2. Once done this will define: ++# OPENGLES2_FOUND ++# OPENGLES2_INCLUDE_DIRS ++# OPENGLES2_LIBRARIES ++# OPENGLES2_DEFINITIONS ++ ++find_package(PkgConfig QUIET) ++ ++pkg_check_modules(PC_OPENGLES2 glesv2) ++ ++if (PC_OPENGLES2_FOUND) ++ set(OPENGLES2_DEFINITIONS ${PC_OPENGLES2_CFLAGS_OTHER}) ++endif () ++ ++find_path(OPENGLES2_INCLUDE_DIRS NAMES GLES2/gl2.h ++ HINTS ${PC_OPENGLES2_INCLUDEDIR} ${PC_OPENGLES2_INCLUDE_DIRS} ++) ++ ++set(OPENGLES2_NAMES ${OPENGLES2_NAMES} glesv2 GLESv2) ++find_library(OPENGLES2_LIBRARIES NAMES ${OPENGLES2_NAMES} ++ HINTS ${PC_OPENGLES2_LIBDIR} ${PC_OPENGLES2_LIBRARY_DIRS} ++) ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(OpenGLES2 REQUIRED_VARS OPENGLES2_INCLUDE_DIRS OPENGLES2_LIBRARIES ++ FOUND_VAR OPENGLES2_FOUND) ++ ++mark_as_advanced(OPENGLES2_INCLUDE_DIRS OPENGLES2_LIBRARIES) +-- +2.27.0 + diff --git a/package/solarus/Config.in b/package/solarus/Config.in index b0f4121f6de..bcfa640890d 100644 --- a/package/solarus/Config.in +++ b/package/solarus/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_SOLARUS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # openal depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal depends on !BR2_STATIC_LIBS # SDL2 - depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_GLM select BR2_PACKAGE_LIBMODPLUG select BR2_PACKAGE_LIBOGG diff --git a/package/solarus/solarus.hash b/package/solarus/solarus.hash index 8400bfd135b..6e1200b19cf 100644 --- a/package/solarus/solarus.hash +++ b/package/solarus/solarus.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 b2e00a7df8953903ba022a8f392038e86f675cee714da19cf9a5f8535c42f349 solarus-v1.6.4.tar.bz2 +sha256 4b4ac59df8ab63ee2e305cbf48118d6be0cf9665968eb0b06dd1acdf4346516f solarus-v1.6.5.tar.bz2 sha256 309875d925041d909bc705473d6c4b7905272aea15c1c2389088c26c161bae1f license.txt diff --git a/package/solarus/solarus.mk b/package/solarus/solarus.mk index 92e849ef026..07d9af52487 100644 --- a/package/solarus/solarus.mk +++ b/package/solarus/solarus.mk @@ -4,7 +4,7 @@ # ################################################################################ -SOLARUS_VERSION = 1.6.4 +SOLARUS_VERSION = 1.6.5 SOLARUS_SITE = \ https://gitlab.com/solarus-games/solarus/-/archive/v$(SOLARUS_VERSION) SOLARUS_SOURCE = solarus-v$(SOLARUS_VERSION).tar.bz2 @@ -16,7 +16,7 @@ SOLARUS_LICENSE_FILES = license.txt # Install libsolarus.so SOLARUS_INSTALL_STAGING = YES -SOLARUS_DEPENDENCIES = glm libgl libmodplug libogg libvorbis openal physfs \ +SOLARUS_DEPENDENCIES = glm libmodplug libogg libvorbis openal physfs \ sdl2 sdl2_image sdl2_ttf # Disable launcher GUI (requires Qt5) @@ -24,6 +24,13 @@ SOLARUS_CONF_OPTS = \ -DSOLARUS_GUI=OFF \ -DSOLARUS_TESTS=OFF +ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) +SOLARUS_DEPENDENCIES += libgl +else +SOLARUS_CONF_OPTS += -DSOLARUS_GL_ES=ON +SOLARUS_DEPENDENCIES += libgles +endif + ifeq ($(BR2_PACKAGE_LUAJIT),y) SOLARUS_CONF_OPTS += -DSOLARUS_USE_LUAJIT=ON SOLARUS_DEPENDENCIES += luajit diff --git a/package/sord/0001-wscript-add-no-threads-option.patch b/package/sord/0001-wscript-add-no-threads-option.patch new file mode 100644 index 00000000000..750ea8f4ade --- /dev/null +++ b/package/sord/0001-wscript-add-no-threads-option.patch @@ -0,0 +1,59 @@ +From 82ab045a45c06187dca5e9d2a9a4003fcfbfa830 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 22 Feb 2022 21:22:31 +0100 +Subject: [PATCH] wscript: add -no-threads option + +Add -no-threads options to avoid the following build failure on embedded +toolchains without threads support: + +/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabihf/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabihf/bin/ld: cannot find -lpthread + +Fixes: + - http://autobuild.buildroot.org/results/170d0114987b39a2b9ea173df7a5e806bd270fd8 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/drobilla/sord/pull/3] +--- + wscript | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/wscript b/wscript +index fd8578e..d71d78c 100644 +--- a/wscript ++++ b/wscript +@@ -35,6 +35,7 @@ def options(ctx): + {'no-utils': 'do not build command line utilities', + 'static': 'build static library', + 'no-shared': 'do not build shared library', ++ 'no-threads': 'disable threads', + 'static-progs': 'build programs as static binaries'}) + + opt.add_option('--dump', type='string', default='', dest='dump', +@@ -55,6 +56,7 @@ def configure(conf): + + conf.env.BUILD_UTILS = not Options.options.no_utils + conf.env.BUILD_SHARED = not Options.options.no_shared ++ conf.env.ENABLE_THREADS = not Options.options.no_threads + conf.env.STATIC_PROGS = Options.options.static_progs + conf.env.BUILD_STATIC = (Options.options.static or + Options.options.static_progs) +@@ -124,7 +126,7 @@ def configure(conf): + conf.check_pkg('serd-0 >= 0.30.0', uselib_store='SERD') + conf.check_pkg('libpcre', uselib_store='PCRE', mandatory=False) + +- if conf.env.HAVE_PCRE: ++ if conf.env.HAVE_PCRE and conf.env.ENABLE_THREADS: + if conf.check(cflags=['-pthread'], mandatory=False): + conf.env.PTHREAD_CFLAGS = ['-pthread'] + if conf.env.CC_NAME != 'clang': +@@ -160,6 +162,7 @@ def configure(conf): + conf, + {'Static library': bool(conf.env.BUILD_STATIC), + 'Shared library': bool(conf.env.BUILD_SHARED), ++ 'Threads': bool(conf.env.ENABLE_THREADS), + 'Utilities': bool(conf.env.BUILD_UTILS), + 'Unit tests': bool(conf.env.BUILD_TESTS), + 'Debug dumping': dump}) +-- +2.34.1 + diff --git a/package/sord/Config.in b/package/sord/Config.in new file mode 100644 index 00000000000..91dfb41d0b2 --- /dev/null +++ b/package/sord/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_SORD + bool "sord" + select BR2_PACKAGE_SERD + help + Sord is a lightweight C library for storing RDF data in + memory. + + https://drobilla.net/software/sord.html diff --git a/package/sord/sord.hash b/package/sord/sord.hash new file mode 100644 index 00000000000..af175f91f01 --- /dev/null +++ b/package/sord/sord.hash @@ -0,0 +1,4 @@ +# Locally calculated after checking signature +# https://download.drobilla.net/sord-0.16.8.tar.bz2.asc +sha256 7c289d2eaabf82fa6ac219107ce632d704672dcfb966e1a7ff0bbc4ce93f5e14 sord-0.16.8.tar.bz2 +sha256 e06562d6bcf0341b2ac2ad0f0ca36801d2ebf388d5ef297011625e4c36e963f0 COPYING diff --git a/package/sord/sord.mk b/package/sord/sord.mk new file mode 100644 index 00000000000..c06ef9c55c8 --- /dev/null +++ b/package/sord/sord.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# sord +# +################################################################################ + +SORD_VERSION = 0.16.8 +SORD_SITE = https://download.drobilla.net +SORD_SOURCE = sord-$(SORD_VERSION).tar.bz2 +SORD_LICENSE = ISC +SORD_LICENSE_FILES = COPYING +SORD_DEPENDENCIES = host-pkgconf serd +SORD_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_PCRE),y) +SORD_DEPENDENCIES += pcre +endif + +SORD_CONF_OPTS += --no-coverage + +ifeq ($(BR2_STATIC_LIBS),y) +SORD_CONF_OPTS += --static --no-shared --static-progs +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +SORD_CONF_OPTS += --no-threads +endif + +$(eval $(waf-package)) diff --git a/package/sox/0004-configure.ac-fix-static-linking-with-magic.patch b/package/sox/0004-configure.ac-fix-static-linking-with-magic.patch index 2fbb8ff8a40..7d2e390df11 100644 --- a/package/sox/0004-configure.ac-fix-static-linking-with-magic.patch +++ b/package/sox/0004-configure.ac-fix-static-linking-with-magic.patch @@ -1,11 +1,12 @@ -From d591a38d934b2a6750f16c7bd46a9ad12233301c Mon Sep 17 00:00:00 2001 +From 4630e574e6c0269b94fd910e7c72b8ad1ee62ce7 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Wed, 3 Mar 2021 16:48:57 +0100 Subject: [PATCH] configure.ac: fix static linking with magic -Put back -lz (i.e. ZLIB_LIBS) when searching for magic which was -wrongly removed by commit 6ff0e9322f9891f5a6ac6c9b3bceffbfca16bec3. This -will fix the following static build failure: +Use SOX_FMT_PKG to retrieve magic dependencies (e.g. bzip2 or zlib) +indeed -lz (i.e. ZLIB_LIBS) was wrongly removed by commit +6ff0e9322f9891f5a6ac6c9b3bceffbfca16bec3. This will fix the following +static build failure: configure:11677: checking for magic_open in -lmagic configure:11702: /srv/storage/autobuild/run/instance-0/output-1/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -Wall -Wmissing-prototypes -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -Wl,--as-needed conftest.c -lmagic >&5 @@ -30,19 +31,18 @@ Signed-off-by: Fabrice Fontaine 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 896714f5..ca7bccaa 100644 +index 896714f5..8ae3202c 100644 --- a/configure.ac +++ b/configure.ac -@@ -80,8 +80,8 @@ SOX_REPORT([other], [LADSPA effect plugins], [$HAVE_LADSPA]) +@@ -80,7 +80,7 @@ SOX_REPORT([other], [LADSPA effect plugins], [$HAVE_LADSPA]) dnl Various libraries -SOX_WITH_LIB([magic], [magic.h], [magic], [magic_open]) ++SOX_FMT_PKG([magic], [libmagic]) SOX_CHECK_LIB([ZLIB], [zlib.h], [z], [uncompress]) -+SOX_WITH_LIB([magic], [magic.h], [magic], [magic_open], [], [], [], [$ZLIB_LIBS]) SOX_WITH_LIB([png], [png.h], [png], [png_set_rows], [], [], [], [$ZLIB_LIBS]) SOX_WITH_LIB([id3tag], [id3tag.h], [id3tag], [id3_file_open], [], [], [], [$ZLIB_LIBS]) - SOX_WITH_LIB([libgsm], [gsm/gsm.h gsm.h], [gsm], [gsm_create]) -- -2.30.0 +2.30.1 diff --git a/package/sox/0005-configure.ac-fix-static-linking-with-sndfile.patch b/package/sox/0005-configure.ac-fix-static-linking-with-sndfile.patch new file mode 100644 index 00000000000..22334593317 --- /dev/null +++ b/package/sox/0005-configure.ac-fix-static-linking-with-sndfile.patch @@ -0,0 +1,44 @@ +From 06109c84ab6930265287049c4bf9405e7ebc4986 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 4 Aug 2021 10:27:16 +0200 +Subject: [PATCH] configure.ac: fix static linking with sndfile + +Use SOX_FMT_PKG to retrieve sndfile dependencies (e.g. flac, opus or +vorbis). This will fix the following static build failure: + +configure:14720: checking for sf_open_virtual in -lsndfile +configure:14745: /tmp/instance-1/output-1/host/bin/xtensa-buildroot-linux-uclibc-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mlongcalls -mauto-litpools -Os -g0 -static -Wall -Wmissing-prototypes -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -Wl,--as-needed conftest.c -lsndfile >&5 +conftest.c:73:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 73 | char sf_open_virtual (); + | ^~~~ +conftest.c:75:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 75 | main () + | ^~~~ +/tmp/instance-1/output-1/host/lib/gcc/xtensa-buildroot-linux-uclibc/10.3.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: /tmp/instance-1/output-1/host/xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libsndfile.a(libsndfile_la-flac.o): in function `flac_byterate': +flac.c:(.text+0xfc): undefined reference to `FLAC__StreamDecoderErrorStatusString' + +Fixes: + - http://autobuild.buildroot.org/results/4bc58ed68b29642876bb02710d0cd4f31540de86 + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet (waiting for feedback on third patch)] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 8ae3202c..26510769 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -117,7 +117,7 @@ SOX_FMT_REQ([mp3], [MAD LAME TWOLAME]) + SOX_FMT_PKG([oggvorbis], [ogg vorbis vorbisenc vorbisfile]) + SOX_FMT_PKG([opus], [opusfile]) + +-SOX_DL_LIB([libsndfile], [sndfile.h], [sndfile], [sf_open_virtual]) ++SOX_FMT_PKG([libsndfile], [sndfile]) + SOX_FMT_REQ([sndfile], [LIBSNDFILE]) + + SOX_FMT_LIB([wavpack], [wavpack/wavpack.h], [wavpack], [WavpackGetSampleRate]) +-- +2.30.2 + diff --git a/package/sox/sox.mk b/package/sox/sox.mk index 99ba20ac9c1..1896437ad4c 100644 --- a/package/sox/sox.mk +++ b/package/sox/sox.mk @@ -5,7 +5,7 @@ ################################################################################ SOX_VERSION = 7524160b29a476f7e87bc14fddf12d349f9a3c5e -SOX_SITE = git://git.code.sf.net/p/sox/code +SOX_SITE = https://git.code.sf.net/p/sox/code SOX_SITE_METHOD = git SOX_DEPENDENCIES = host-autoconf-archive host-pkgconf SOX_LICENSE = GPL-2.0+ (sox binary), LGPL-2.1+ (libraries) @@ -15,6 +15,7 @@ SOX_CPE_ID_PRODUCT = sound_exchange # From git and we're patching configure.ac SOX_AUTORECONF = YES SOX_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive +SOX_INSTALL_STAGING = YES SOX_IGNORE_CVES += CVE-2017-11332 CVE-2017-11358 CVE-2017-11359 \ CVE-2017-15370 CVE-2017-15371 CVE-2017-15372 CVE-2017-15642 \ @@ -34,9 +35,9 @@ endif ifeq ($(BR2_PACKAGE_FILE),y) SOX_DEPENDENCIES += file -SOX_CONF_OPTS += --with-magic +SOX_CONF_OPTS += --enable-magic else -SOX_CONF_OPTS += --without-magic +SOX_CONF_OPTS += --disable-magic endif ifeq ($(BR2_PACKAGE_FLAC),y) diff --git a/package/spdlog/spdlog.hash b/package/spdlog/spdlog.hash index da1e0c27a0e..02756fc98cb 100644 --- a/package/spdlog/spdlog.hash +++ b/package/spdlog/spdlog.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e20e6bd8f57e866eaf25a5417f0a38a116e537f1a77ac7b5409ca2b180cec0d5 spdlog-1.8.2.tar.gz +sha256 6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38 spdlog-1.9.2.tar.gz sha256 a7241a379cb98d37788f82c2fc2e484c3ae85dae881fd3406f0637644850926f LICENSE diff --git a/package/spdlog/spdlog.mk b/package/spdlog/spdlog.mk index caf30be6d01..b5dfc0c7b4b 100644 --- a/package/spdlog/spdlog.mk +++ b/package/spdlog/spdlog.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPDLOG_VERSION = 1.8.2 +SPDLOG_VERSION = 1.9.2 SPDLOG_SITE = $(call github,gabime,spdlog,v$(SPDLOG_VERSION)) SPDLOG_LICENSE = MIT SPDLOG_LICENSE_FILES = LICENSE diff --git a/package/speex/speex.mk b/package/speex/speex.mk index 522f8cc09ca..674be78ff84 100644 --- a/package/speex/speex.mk +++ b/package/speex/speex.mk @@ -8,6 +8,7 @@ SPEEX_VERSION = 1.2.0 SPEEX_SITE = https://downloads.xiph.org/releases/speex SPEEX_LICENSE = BSD-3-Clause SPEEX_LICENSE_FILES = COPYING +SPEEX_CPE_ID_VENDOR = xiph SPEEX_INSTALL_STAGING = YES SPEEX_DEPENDENCIES = host-pkgconf libogg SPEEX_CONF_OPTS = \ diff --git a/package/speexdsp/speexdsp.hash b/package/speexdsp/speexdsp.hash index fd9870dc586..82e054d4d43 100644 --- a/package/speexdsp/speexdsp.hash +++ b/package/speexdsp/speexdsp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c92c7e428cb5ca11b4e6f13118ff288332f330b6fefc93cb39bf7b43b13cb1f7 speexdsp-SpeexDSP-1.2.0-br1.tar.gz +sha256 0fe0e31be215f820bed0f9c913c673997773fce3a03a4555658e7b73a54eed7b speexdsp-SpeexDSP-1.2.0.tar.bz2 sha256 671bb5d8fd3c6b05a2e831d90f978ac27965c92bd8ea6d16b3df76e3440c0e9f COPYING diff --git a/package/speexdsp/speexdsp.mk b/package/speexdsp/speexdsp.mk index 35c06dd833f..8e886b2b219 100644 --- a/package/speexdsp/speexdsp.mk +++ b/package/speexdsp/speexdsp.mk @@ -4,9 +4,9 @@ # ################################################################################ -SPEEXDSP_VERSION = SpeexDSP-1.2.0 -SPEEXDSP_SITE = https://gitlab.xiph.org/xiph/speexdsp.git -SPEEXDSP_SITE_METHOD = git +SPEEXDSP_VERSION = 1.2.0 +SPEEXDSP_SOURCE = speexdsp-SpeexDSP-$(SPEEXDSP_VERSION).tar.bz2 +SPEEXDSP_SITE = https://gitlab.xiph.org/xiph/speexdsp/-/archive/SpeexDSP-$(SPEEXDSP_VERSION) SPEEXDSP_LICENSE = BSD-3-Clause SPEEXDSP_LICENSE_FILES = COPYING SPEEXDSP_INSTALL_STAGING = YES diff --git a/package/spi-tools/spi-tools.hash b/package/spi-tools/spi-tools.hash index 771f86e4cd5..1595cd3d2ce 100644 --- a/package/spi-tools/spi-tools.hash +++ b/package/spi-tools/spi-tools.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 319ad6ab296111109ea4a820e216cef392429295de7e10e76f7146677337cf09 spi-tools-0.8.6.tar.gz +sha256 81bb9f7218123f86c3644d92ad2c427343758df2143ee5da38e6f743f18714fd spi-tools-1.0.1.tar.gz sha256 a01259a1b522cf0de95824f9860613b453153eebac468e96196d5d7dba84786c LICENSE diff --git a/package/spi-tools/spi-tools.mk b/package/spi-tools/spi-tools.mk index b2dd4db3ff0..d623babf48a 100644 --- a/package/spi-tools/spi-tools.mk +++ b/package/spi-tools/spi-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPI_TOOLS_VERSION = 0.8.6 +SPI_TOOLS_VERSION = 1.0.1 SPI_TOOLS_SITE = $(call github,cpb-,spi-tools,$(SPI_TOOLS_VERSION)) # autoreconf must be run as specified in package documentation SPI_TOOLS_AUTORECONF = YES diff --git a/package/spice/Config.in b/package/spice/Config.in index 2241b55b3d8..ca5c562ca15 100644 --- a/package/spice/Config.in +++ b/package/spice/Config.in @@ -1,12 +1,14 @@ -comment "spice server needs a toolchain w/ wchar, threads" +comment "spice server needs a toolchain w/ wchar, threads, C++" depends on BR2_i386 || BR2_x86_64 - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP config BR2_PACKAGE_SPICE bool "spice server" depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL diff --git a/package/spice/spice.hash b/package/spice/spice.hash index 8f84c2321fb..b228f213a54 100644 --- a/package/spice/spice.hash +++ b/package/spice/spice.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 551d4be4a07667cf0543f3c895beb6da8a93ef5a9829f2ae47817be5e616a114 spice-0.14.3.tar.bz2 +sha256 b320cf8f4bd2852750acb703c15b72856027e5a8554f8217dfbb3cc09deba0f5 spice-0.15.0.tar.bz2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/spice/spice.mk b/package/spice/spice.mk index b515431cf1a..5f7bcd9d2f3 100644 --- a/package/spice/spice.mk +++ b/package/spice/spice.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPICE_VERSION = 0.14.3 +SPICE_VERSION = 0.15.0 SPICE_SOURCE = spice-$(SPICE_VERSION).tar.bz2 SPICE_SITE = http://www.spice-space.org/download/releases/spice-server SPICE_LICENSE = LGPL-2.1+ @@ -45,11 +45,6 @@ else SPICE_CONF_OPTS += --disable-opus endif -# no enable/disable, detected using pkg-config -ifeq ($(BR2_PACKAGE_OPUS),y) -SPICE_DEPENDENCIES += opus -endif - # We need to tweak spice.pc because it /forgets/ (for static linking) that # it should link against libz and libjpeg. libz is pkg-config-aware, while # libjpeg isn't, hence the two-line tweak diff --git a/package/spidermonkey/0001-allow-newer-autoconf-versions.patch b/package/spidermonkey/0001-allow-newer-autoconf-versions.patch deleted file mode 100644 index 61becb68f32..00000000000 --- a/package/spidermonkey/0001-allow-newer-autoconf-versions.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 646a78262b18e19721cd41ee515215221dd241b6 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Thu, 12 Jul 2018 18:12:42 +0800 -Subject: [PATCH] allow newer autoconf versions - -Spidermonkey is hardcoded to use Autoconf 2.13, which is from 1999! -The reasoning behind using 2.13 is because newer versions of Autoconf at the -time did not work correctly with the custom m4 macros in the source code. -However: Because we are building just the spidermonkey engine instead of the -entire firefox package, and we are using a tarball with a pre-setup -old-configure file, there is no need for the old version of autoconf. - -See: https://bugzilla.mozilla.org/show_bug.cgi?id=104642 - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Hongxu Jia -Signed-off-by: Adam Duskett ---- - build/moz.configure/old.configure | 4 ++-- - js/src/old-configure | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure -index 17d0c5bf..436fcc5e 100644 ---- a/build/moz.configure/old.configure -+++ b/build/moz.configure/old.configure -@@ -33,7 +33,7 @@ def autoconf(mozconfig, autoconf): - autoconf = autoconf[0] if autoconf else None - - for ac in (mozconfig_autoconf, autoconf, 'autoconf-2.13', 'autoconf2.13', -- 'autoconf213'): -+ 'autoconf213', 'autoconf'): - if ac: - autoconf = find_program(ac) - if autoconf: -@@ -87,7 +87,7 @@ def prepare_configure(old_configure, mozconfig, autoconf, build_env, shell, - old_configure = os.path.join(old_configure_dir, 'js', 'src', - os.path.basename(old_configure)) - -- refresh = True -+ refresh = False - if exists(old_configure): - mtime = getmtime(old_configure) - aclocal = os.path.join(build_env.topsrcdir, 'build', 'autoconf', -diff --git a/js/src/old-configure b/js/src/old-configure -index 58cc646f..ebd2646e 100644 ---- a/js/src/old-configure -+++ b/js/src/old-configure -@@ -587,7 +587,7 @@ if test -z "$srcdir"; then - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. -- srcdir=$ac_confdir -+ srcdir="$ac_confdir/../../" - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi --- -2.23.0 - diff --git a/package/spidermonkey/0002-allow-building-in-tree.patch b/package/spidermonkey/0002-allow-building-in-tree.patch deleted file mode 100644 index 533747cb41b..00000000000 --- a/package/spidermonkey/0002-allow-building-in-tree.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 07d40f72e1ed1d84a5ddd98ae8490d41a2e19c46 Mon Sep 17 00:00:00 2001 -From: Arjan van de Ven -Date: Wed, 5 Sep 2018 11:39:01 +0000 -Subject: [PATCH] allow building in tree - -By default, spidermonkey must be configured and built out-of-tree, -otherwise the following error occurs: - -FATAL ERROR PROCESSING MOZBUILD FILE -============================== - -The error occurred while processing the following file or one of the files it -includes: - js/src/shell/moz.build - -The error occurred when validating the result of the execution. The reported -error is: - Path specified in LOCAL_INCLUDES is not allowed: - .. (resolved to js/src) - -Remove this check, as spidermonkey builds without issue in-tree. - -Signed-off-by: Arjan van de Ven -Signed-off-by: Adam Duskett ---- - python/mozbuild/mozbuild/frontend/emitter.py | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py -index 642b381c..c37fbf5d 100644 ---- a/python/mozbuild/mozbuild/frontend/emitter.py -+++ b/python/mozbuild/mozbuild/frontend/emitter.py -@@ -1127,11 +1127,6 @@ class TreeMetadataEmitter(LoggingMixin): - raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' - 'does not exist: %s (resolved to %s)' % (local_include, - full_path), context) -- if (full_path == context.config.topsrcdir or -- full_path == context.config.topobjdir): -- raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' -- 'is not allowed: %s (resolved to %s)' % (local_include, -- full_path), context) - include_obj = LocalInclude(context, local_include) - local_includes.append(include_obj.path.full_path) - yield include_obj --- -2.23.0 - diff --git a/package/spidermonkey/0003-allow-unknown-configuration-options.patch b/package/spidermonkey/0003-allow-unknown-configuration-options.patch deleted file mode 100644 index b489075a94b..00000000000 --- a/package/spidermonkey/0003-allow-unknown-configuration-options.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001 -From: Philip Chimento -Date: Wed, 5 Jul 2017 22:57:09 -0700 -Subject: [PATCH] allow unknown configuration options - -By default, if an unknown parameter is passed to configure, an error is raised. -Replace the raise with a pass and continue. - -Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1379540 - -Signed-off-by: Philip Chimento -Signed-off-by: Adam Duskett ---- - js/src/configure | 9 +++++++++ - python/mozbuild/mozbuild/configure/__init__.py | 2 +- - python/mozbuild/mozbuild/configure/options.py | 6 +++++- - 3 files changed, 15 insertions(+), 2 deletions(-) - create mode 100755 js/src/configure - -diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py -index 0fe640ca..09b460d3 100644 ---- a/python/mozbuild/mozbuild/configure/__init__.py -+++ b/python/mozbuild/mozbuild/configure/__init__.py -@@ -421,7 +421,7 @@ def run(self, path=None): - # All options should have been removed (handled) by now. - for arg in self._helper: - without_value = arg.split('=', 1)[0] -- raise InvalidOptionError('Unknown option: %s' % without_value) -+ pass - - # Run the execution queue - for func, args in self._execution_queue: --- -2.23.0 - diff --git a/package/spidermonkey/0004-fix-building-with-musl.patch b/package/spidermonkey/0004-fix-building-with-musl.patch deleted file mode 100644 index 8d8b10fb71a..00000000000 --- a/package/spidermonkey/0004-fix-building-with-musl.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 0c9e8f586ba52a9aef5ed298e8315b2598b8fb72 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 25 May 2019 16:54:45 -0700 -Subject: [PATCH] fix building with musl - -The MIPS specific header is not provided by musl -linux kernel headers provide which has same definitions - -Upstream-Status: Pending - -Signed-off-by: Khem Raj -Signed-off-by: Adam Duskett ---- ---- - js/src/jsmath.cpp | 2 +- - memory/build/Mutex.h | 4 ++-- - mozglue/misc/TimeStamp_darwin.cpp | 1 - - mozglue/misc/TimeStamp_posix.cpp | 1 - - nsprpub/pr/src/misc/prsystem.c | 1 - - third_party/python/psutil/psutil/_psutil_bsd.c | 1 - - third_party/python/psutil/psutil/_psutil_osx.c | 1 - - third_party/python/psutil/psutil/arch/osx/process_info.c | 1 - - 8 files changed, 3 insertions(+), 9 deletions(-) - -diff --git a/js/src/jsmath.cpp b/js/src/jsmath.cpp -index a28968be..8facaa81 100644 ---- a/js/src/jsmath.cpp -+++ b/js/src/jsmath.cpp -@@ -71,7 +71,7 @@ - #elif defined(__s390__) - #define GETRANDOM_NR 349 - #elif defined(__mips__) --#include -+#include - #if _MIPS_SIM == _MIPS_SIM_ABI32 - #define GETRANDOM_NR 4353 - #elif _MIPS_SIM == _MIPS_SIM_ABI64 -diff --git a/memory/build/Mutex.h b/memory/build/Mutex.h -index cb8b1e7d..7b9eb1de 100644 ---- a/memory/build/Mutex.h -+++ b/memory/build/Mutex.h -@@ -42,7 +42,7 @@ struct Mutex { - if (pthread_mutexattr_init(&attr) != 0) { - return false; - } -- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED); - if (pthread_mutex_init(&mMutex, &attr) != 0) { - pthread_mutexattr_destroy(&attr); - return false; -@@ -102,7 +102,7 @@ typedef Mutex StaticMutex; - - #if defined(XP_DARWIN) - #define STATIC_MUTEX_INIT OS_SPINLOCK_INIT --#elif defined(XP_LINUX) && !defined(ANDROID) -+#elif defined(XP_LINUX) && !defined(ANDROID) && defined(__GLIBC__) - #define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP - #else - #define STATIC_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER -diff --git a/mozglue/misc/TimeStamp_darwin.cpp b/mozglue/misc/TimeStamp_darwin.cpp -index d2abe9a5..d065649c 100644 ---- a/mozglue/misc/TimeStamp_darwin.cpp -+++ b/mozglue/misc/TimeStamp_darwin.cpp -@@ -19,7 +19,6 @@ - - #include - #include --#include - #include - #include - -diff --git a/mozglue/misc/TimeStamp_posix.cpp b/mozglue/misc/TimeStamp_posix.cpp -index 86c7609a..a37bd93a 100644 ---- a/mozglue/misc/TimeStamp_posix.cpp -+++ b/mozglue/misc/TimeStamp_posix.cpp -@@ -21,7 +21,6 @@ - #if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ - defined(__OpenBSD__) - #include --#include - #endif - - #if defined(__DragonFly__) || defined(__FreeBSD__) -diff --git a/nsprpub/pr/src/misc/prsystem.c b/nsprpub/pr/src/misc/prsystem.c -index eba85fb0..54b57bb9 100644 ---- a/nsprpub/pr/src/misc/prsystem.c -+++ b/nsprpub/pr/src/misc/prsystem.c -@@ -27,7 +27,6 @@ - || defined(OPENBSD) || defined(DRAGONFLY) || defined(DARWIN) - #define _PR_HAVE_SYSCTL - #include --#include - #endif - - #if defined(DARWIN) -diff --git a/third_party/python/psutil/psutil/_psutil_bsd.c b/third_party/python/psutil/psutil/_psutil_bsd.c -index 9a2ed04b..9e0d34cb 100644 ---- a/third_party/python/psutil/psutil/_psutil_bsd.c -+++ b/third_party/python/psutil/psutil/_psutil_bsd.c -@@ -29,7 +29,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/third_party/python/psutil/psutil/_psutil_osx.c b/third_party/python/psutil/psutil/_psutil_osx.c -index 55dd64ca..ec356339 100644 ---- a/third_party/python/psutil/psutil/_psutil_osx.c -+++ b/third_party/python/psutil/psutil/_psutil_osx.c -@@ -13,7 +13,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/third_party/python/psutil/psutil/arch/osx/process_info.c b/third_party/python/psutil/psutil/arch/osx/process_info.c -index 40c79a2c..8de0dcbd 100644 ---- a/third_party/python/psutil/psutil/arch/osx/process_info.c -+++ b/third_party/python/psutil/psutil/arch/osx/process_info.c -@@ -16,7 +16,6 @@ - #include - #include - #include --#include - #include - - #include "process_info.h" --- -2.23.0 diff --git a/package/spidermonkey/0005-add-riscv-support.patch b/package/spidermonkey/0005-add-riscv-support.patch deleted file mode 100644 index 6b7ea3265f5..00000000000 --- a/package/spidermonkey/0005-add-riscv-support.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001 -From: Stefan O'Rear -Date: Fri, 11 Nov 2016 21:10:34 -0700 -Subject: [PATCH] Add RISC-V support - -These changes allow spidermonkey to cross-compile for riscv64 and riscv32. - -Upstream-status: Submitted -See: https://bugzilla.mozilla.org/show_bug.cgi?id=1318905 - -Signed-off-by: Stefan O'Rear -Signed-off-by: Ricardo Salveti -Signed-off-by: Adam Duskett ---- - build/autoconf/config.guess | 3 +++ - build/moz.configure/init.configure | 3 +++ - js/src/jit/AtomicOperations.h | 2 ++ - js/src/jit/none/AtomicOperations-feeling-lucky.h | 8 ++++++++ - mfbt/tests/TestPoisonArea.cpp | 3 +++ - python/mozbuild/mozbuild/configure/constants.py | 4 ++++ - 6 files changed, 23 insertions(+) - -diff --git a/build/autoconf/config.guess b/build/autoconf/config.guess -index d5d667d4..1277a862 100755 ---- a/build/autoconf/config.guess -+++ b/build/autoconf/config.guess -@@ -1029,6 +1029,9 @@ EOF - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; -+ riscv32:Linux:*:* | riscv64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} -+ exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 83b8d705..ef33db50 100644 ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -676,6 +676,9 @@ def split_triplet(triplet, allow_unknown=False): - elif cpu == 'sh4': - canonical_cpu = 'sh4' - endianness = 'little' -+ elif cpu in ('riscv32', 'riscv64'): -+ canonical_cpu = cpu -+ endianness = 'little' - elif allow_unknown: - canonical_cpu = cpu - endianness = 'unknown' -diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h -index 3501e65b..fda0b148 100644 ---- a/js/src/jit/AtomicOperations.h -+++ b/js/src/jit/AtomicOperations.h -@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) { - #include "jit/none/AtomicOperations-feeling-lucky.h" - #elif defined(__s390__) || defined(__s390x__) - #include "jit/none/AtomicOperations-feeling-lucky.h" -+#elif defined(__riscv) -+#include "jit/none/AtomicOperations-feeling-lucky.h" - #else - #error "No AtomicOperations support provided for this platform" - #endif -diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h -index c0b43699..42b1f3e0 100644 ---- a/js/src/jit/none/AtomicOperations-feeling-lucky.h -+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h -@@ -80,6 +80,14 @@ - #define GNUC_COMPATIBLE - #endif - -+#ifdef __riscv -+#define GNUC_COMPATIBLE -+#ifdef __riscv_xlen == 64 -+#define HAS_64BIT_ATOMICS -+#define HAS_64BIT_LOCKFREE -+#endif -+#endif -+ - // The default implementation tactic for gcc/clang is to use the newer - // __atomic intrinsics added for use in C++11 . Where that - // isn't available, we use GCC's older __sync functions instead. -diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp -index 06c24ed0..fba9263c 100644 ---- a/mfbt/tests/TestPoisonArea.cpp -+++ b/mfbt/tests/TestPoisonArea.cpp -@@ -168,6 +168,9 @@ static const ia64_instr _return_instr = - #define RETURN_INSTR _return_instr - #define RETURN_INSTR_TYPE ia64_instr - -+#elif defined __riscv -+#define RETURN_INSTR 0x80828082 /* ret; ret */ -+ - #else - #error "Need return instruction for this architecture" - #endif -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py -index 33ae5a45..1067b6a4 100644 ---- a/python/mozbuild/mozbuild/configure/constants.py -+++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -50,6 +50,8 @@ CPU_bitness = { - 'mips64': 64, - 'ppc': 32, - 'ppc64': 64, -+ 'riscv32': 32, -+ 'riscv64': 64, - 's390': 32, - 's390x': 64, - 'sh4': 32, -@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict(( - ('s390', '__s390__'), - ('ppc64', '__powerpc64__'), - ('ppc', '__powerpc__'), -+ ('riscv32', '__riscv && __SIZEOF_POINTER__ == 4'), -+ ('riscv64', '__riscv && __SIZEOF_POINTER__ == 8'), - ('Alpha', '__alpha__'), - ('hppa', '__hppa__'), - ('sparc64', '__sparc__ && __arch64__'), --- -2.23.0 - diff --git a/package/spidermonkey/0006-copy-headers-on-install-instead-of-symlinking.patch b/package/spidermonkey/0006-copy-headers-on-install-instead-of-symlinking.patch deleted file mode 100644 index 10ca54c7024..00000000000 --- a/package/spidermonkey/0006-copy-headers-on-install-instead-of-symlinking.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 903a79a1efff18fc7cc50db09a3fe5d768adc9a8 Mon 19 Mar 2018 09:58:06 +0100 -From: Rico Tzschichholz -Date: Wed, 5 Jul 2017 22:45:59 -0700 -Subject: build: Copy headers on install instead of symlinking - -Patch ported from mozjs52 by Philip Chimento - -Signed-off-by: Rico Tzschichholz -Signed-off-by: Adam Duskett ---- - python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py -index dd9020d..6918ef8 100644 ---- a/python/mozbuild/mozbuild/backend/recursivemake.py -+++ b/python/mozbuild/mozbuild/backend/recursivemake.py -@@ -1427,11 +1427,11 @@ class RecursiveMakeBackend(CommonBackend): - raise Exception("Wildcards are only supported in the filename part of " - "srcdir-relative or absolute paths.") - -- install_manifest.add_pattern_link(basepath, wild, path) -+ install_manifest.add_pattern_copy(basepath, wild, path) - else: -- install_manifest.add_pattern_link(f.srcdir, f, path) -+ install_manifest.add_pattern_copy(f.srcdir, f, path) - else: -- install_manifest.add_link(f.full_path, dest) -+ install_manifest.add_copy(f.full_path, dest) - else: - install_manifest.add_optional_exists(dest) - backend_file.write('%s_FILES += %s\n' % ( --- -2.23.0 diff --git a/package/spidermonkey/0007-ensure-proper-running-on-64-bit-and-32-bit-be-platforms.patch b/package/spidermonkey/0007-ensure-proper-running-on-64-bit-and-32-bit-be-platforms.patch deleted file mode 100644 index 9ffd69380ae..00000000000 --- a/package/spidermonkey/0007-ensure-proper-running-on-64-bit-and-32-bit-be-platforms.patch +++ /dev/null @@ -1,144 +0,0 @@ -From f66d410f3ba767efb91c6b9545d373267cd975f2 Mon Sep 17 00:00:00 2001 -From: Philip Chimento -Date: Sat, 7 Sep 2019 20:43:40 +0200 -Subject: [PATCH] ensure proper running on 64-bit and 32-bit BE platforms - -See: https://salsa.debian.org/gnome-team/mozjs60/blob/debian/master/debian/patches/jsproperty-endian.patch - -Signed-off-by: Philip Chimento -Signed-off-by: Adam Duskett ---- - js/src/gc/Marking-inl.h | 16 ++++++++++++++++ - js/src/gc/RelocationOverlay.h | 13 ++++++++++++- - js/src/jsfriendapi.h | 8 ++++++++ - js/src/vm/StringType.h | 13 +++++++++++++ - 4 files changed, 49 insertions(+), 1 deletion(-) - -diff --git a/js/src/gc/Marking-inl.h b/js/src/gc/Marking-inl.h -index 6d2a4c7..c773c21 100644 ---- a/js/src/gc/Marking-inl.h -+++ b/js/src/gc/Marking-inl.h -@@ -82,12 +82,28 @@ inline void RelocationOverlay::forwardTo(Cell* cell) { - MOZ_ASSERT(!isForwarded()); - // The location of magic_ is important because it must never be valid to see - // the value Relocated there in a GC thing that has not been moved. -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 -+ // On 32-bit, the magic_ aliases with whatever comes after the first -+ // pointer; on little-endian 64-bit, the magic_ aliases with the -+ // 32 most significant bits of the pointer, which are the second half. - static_assert(offsetof(RelocationOverlay, magic_) == - offsetof(JSObject, group_) + sizeof(uint32_t), - "RelocationOverlay::magic_ is in the wrong location"); - static_assert(offsetof(RelocationOverlay, magic_) == - offsetof(js::Shape, base_) + sizeof(uint32_t), - "RelocationOverlay::magic_ is in the wrong location"); -+#elif JS_BITS_PER_WORD == 64 -+ // On big-endian 64-bit, the magic_ aliases with the 32 most -+ // significant bits of the pointer, but now that's the first half. -+ static_assert(offsetof(RelocationOverlay, magic_) == -+ offsetof(JSObject, group_), -+ "RelocationOverlay::magic_ is in the wrong location"); -+ static_assert(offsetof(RelocationOverlay, magic_) == -+ offsetof(js::Shape, base_), -+ "RelocationOverlay::magic_ is in the wrong location"); -+#else -+# error "Unknown endianness or word size" -+#endif - static_assert( - offsetof(RelocationOverlay, magic_) == offsetof(JSString, d.u1.length), - "RelocationOverlay::magic_ is in the wrong location"); -diff --git a/js/src/gc/RelocationOverlay.h b/js/src/gc/RelocationOverlay.h -index a568843..399a541 100644 ---- a/js/src/gc/RelocationOverlay.h -+++ b/js/src/gc/RelocationOverlay.h -@@ -33,14 +33,25 @@ class RelocationOverlay { - /* See comment in js/public/HeapAPI.h. */ - static const uint32_t Relocated = js::gc::Relocated; - -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 - /* -- * Keep the low 32 bits untouched. Use them to distinguish strings from -+ * Keep the first 32 bits untouched. Use them to distinguish strings from - * objects in the nursery. - */ - uint32_t preserve_; - - /* Set to Relocated when moved. */ - uint32_t magic_; -+#elif JS_BITS_PER_WORD == 64 -+ /* -+ * On big-endian, we need to reorder to keep preserve_ lined up with the -+ * low 32 bits of the aligned group_ pointer in JSObject. -+ */ -+ uint32_t magic_; -+ uint32_t preserve_; -+#else -+# error "Unknown endianness or word size" -+#endif - - /* The location |this| was moved to. */ - Cell* newLocation_; -diff --git a/js/src/jsfriendapi.h b/js/src/jsfriendapi.h -index 4b8d18a..70ce0a1 100644 ---- a/js/src/jsfriendapi.h -+++ b/js/src/jsfriendapi.h -@@ -9,6 +9,7 @@ - - #include "mozilla/Atomics.h" - #include "mozilla/Casting.h" -+#include "mozilla/EndianUtils.h" - #include "mozilla/Maybe.h" - #include "mozilla/MemoryReporting.h" - #include "mozilla/UniquePtr.h" -@@ -609,8 +610,15 @@ struct String { - static const uint32_t LATIN1_CHARS_BIT = JS_BIT(6); - static const uint32_t EXTERNAL_FLAGS = LINEAR_BIT | NON_ATOM_BIT | JS_BIT(5); - static const uint32_t TYPE_FLAGS_MASK = JS_BIT(6) - 1; -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 - uint32_t flags; - uint32_t length; -+#elif JS_BITS_PER_WORD == 64 -+ uint32_t length; -+ uint32_t flags; -+#else -+# error "Unknown endianness or word size" -+#endif - union { - const JS::Latin1Char* nonInlineCharsLatin1; - const char16_t* nonInlineCharsTwoByte; -diff --git a/js/src/vm/StringType.h b/js/src/vm/StringType.h -index cde3427..c3400db 100644 ---- a/js/src/vm/StringType.h -+++ b/js/src/vm/StringType.h -@@ -7,6 +7,7 @@ - #ifndef vm_StringType_h - #define vm_StringType_h - -+#include "mozilla/EndianUtils.h" - #include "mozilla/MemoryReporting.h" - #include "mozilla/PodOperations.h" - #include "mozilla/Range.h" -@@ -168,8 +169,20 @@ class JSString : public js::gc::Cell { - struct Data { - union { - struct { -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 - uint32_t flags; /* JSString */ - uint32_t length; /* JSString */ -+#elif JS_BITS_PER_WORD == 64 -+ /* -+ * On big-endian, we need to reorder to keep flags lined up -+ * with the low 32 bits of the aligned group_ pointer in -+ * JSObject. -+ */ -+ uint32_t length; /* JSString */ -+ uint32_t flags; /* JSString */ -+#else -+# error "Unknown endianness or word size" -+#endif - }; - uintptr_t flattenData; /* JSRope (temporary while flattening) */ - } u1; --- -2.23.0 - diff --git a/package/spidermonkey/0008-save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-obje.patch b/package/spidermonkey/0008-save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-obje.patch deleted file mode 100644 index 9fd4340ffec..00000000000 --- a/package/spidermonkey/0008-save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-obje.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 903a79a1efff18fc7cc50db09a3fe5d768adc9a8 Mon 19 Mar 2018 09:58:06 +0100 -From: Lars T Hansen -Date: Fri, 23 Mar 2018 22:01:33 +0000 -Subject: [PATCH] save and restore non-volatile x28 on ARM64 for generated unboxed object constructor - -Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1375074 - -Upsream-status: Applied -See: https://hg.mozilla.org/mozilla-central/rev/800abe66894d - -Signed-off-by: Lars T Hansen -Signed-off-by: Adam Duskett ---- - js/src/vm/UnboxedObject.cpp | 30 ++++++++++++++++++++++++++---- - 1 file changed, 26 insertions(+), 4 deletions(-) - -diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp -index 35ca20d7405f..1c20a1093d13 100644 ---- a/js/src/vm/UnboxedObject.cpp -+++ b/js/src/vm/UnboxedObject.cpp -@@ -86,9 +86,16 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; - #endif - - #ifdef JS_CODEGEN_ARM64 -- // ARM64 communicates stack address via sp, but uses a pseudo-sp for -- // addressing. -- masm.initStackPtr(); -+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for -+ // addressing. The register we use for PSP may however also be used by -+ // calling code, and it is nonvolatile, so save it. Do this as a special -+ // case first because the generic save/restore code needs the PSP to be -+ // initialized already. -+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); -+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); -+ -+ // Initialize the PSP from the SP. -+ masm.initStackPtr(); - #endif - - MOZ_ASSERT(propertiesReg.volatile_()); -@@ -239,7 +246,22 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; - if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg); - masm.PopRegsInMask(savedNonVolatileRegisters); - -- masm.abiret(); -+#ifdef JS_CODEGEN_ARM64 -+ // Now restore the value that was in the PSP register on entry, and return. -+ -+ // Obtain the correct SP from the PSP. -+ masm.Mov(sp, PseudoStackPointer64); -+ -+ // Restore the saved value of the PSP register, this value is whatever the -+ // caller had saved in it, not any actual SP value, and it must not be -+ // overwritten subsequently. -+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); -+ -+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. -+ masm.Ret(vixl::lr); -+#else -+ masm.abiret(); -+#endif - - masm.bind(&failureStoreOther); - --- -2.23.0 diff --git a/package/spidermonkey/0009-save-x28-before-clobbering-it-in-the-regex-compiler.patch b/package/spidermonkey/0009-save-x28-before-clobbering-it-in-the-regex-compiler.patch deleted file mode 100644 index b4623c5961f..00000000000 --- a/package/spidermonkey/0009-save-x28-before-clobbering-it-in-the-regex-compiler.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 903a79a1efff18fc7cc50db09a3fe5d768adc9a8 Mon 19 Mar 2018 09:58:06 +0100 -From: Lars T Hansen -Date: Fri, 23 Mar 2018 22:01:33 +0000 -Subject: [PATCH] save x28 before clobbering it in the regex compiler - -Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1445907 - -Upsream-status: Applied -See: https://hg.mozilla.org/mozilla-central/rev/903a79a1efff - -Signed-off-by: Lars T Hansen -Signed-off-by: Adam Duskett ---- -diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp ---- a/js/src/irregexp/NativeRegExpMacroAssembler.cpp -+++ b/js/src/irregexp/NativeRegExpMacroAssembler.cpp -@@ -118,17 +118,25 @@ NativeRegExpMacroAssembler::GenerateCode - - Label return_temp0; - - // Finalize code - write the entry point code now we know how many - // registers we need. - masm.bind(&entry_label_); - - #ifdef JS_CODEGEN_ARM64 -- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing. -+ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for -+ // addressing. The register we use for PSP may however also be used by -+ // calling code, and it is nonvolatile, so save it. Do this as a special -+ // case first because the generic save/restore code needs the PSP to be -+ // initialized already. -+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); -+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); -+ -+ // Initialize the PSP from the SP. - masm.initStackPtr(); - #endif - - // Push non-volatile registers which might be modified by jitcode. - size_t pushedNonVolatileRegisters = 0; - for (GeneralRegisterForwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) { - masm.Push(*iter); - pushedNonVolatileRegisters++; -@@ -416,17 +424,32 @@ NativeRegExpMacroAssembler::GenerateCode - masm.pop(temp0); - masm.movePtr(temp0, StackPointer); - #endif - - // Restore non-volatile registers which were saved on entry. - for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) - masm.Pop(*iter); - -+#ifdef JS_CODEGEN_ARM64 -+ // Now restore the value that was in the PSP register on entry, and return. -+ -+ // Obtain the correct SP from the PSP. -+ masm.Mov(sp, PseudoStackPointer64); -+ -+ // Restore the saved value of the PSP register, this value is whatever the -+ // caller had saved in it, not any actual SP value, and it must not be -+ // overwritten subsequently. -+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); -+ -+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. -+ masm.Ret(vixl::lr); -+#else - masm.abiret(); -+#endif - - // Backtrack code (branch target for conditional backtracks). - if (backtrack_label_.used()) { - masm.bind(&backtrack_label_); - Backtrack(); - } - - // Backtrack stack overflow code. -diff --git a/js/src/jit-test/tests/regexp/bug1445907.js b/js/src/jit-test/tests/regexp/bug1445907.js -new file mode 100644 ---- /dev/null -+++ b/js/src/jit-test/tests/regexp/bug1445907.js -@@ -0,0 +1,15 @@ -+// On ARM64, we failed to save x28 properly when generating code for the regexp -+// matcher. -+// -+// There's wasm and Debugger code here because the combination forces the use of -+// x28 and exposes the bug when running on the simulator. -+ -+if (!wasmIsSupported()) -+ quit(); -+ -+var g = newGlobal(''); -+var dbg = new Debugger(g); -+g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`); -+var re = /./; -+dbg.onEnterFrame = function(frame) { re.exec("x") }; -+result = g.eval("m.exports.test()"); - --- -2.23.0 - diff --git a/package/spidermonkey/0010-always-use-the-equivalent-year-to-determine-the-time-zone.patch b/package/spidermonkey/0010-always-use-the-equivalent-year-to-determine-the-time-zone.patch deleted file mode 100644 index 7ebe80a8a09..00000000000 --- a/package/spidermonkey/0010-always-use-the-equivalent-year-to-determine-the-time-zone.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 903a79a1efff18fc7cc50db09a3fe5d768adc9a8 Mon 19 Mar 2018 09:58:06 +0100 -From: André Bargull -Date: Wed, 8 Nov 2017 03:23:41 -0800 -Subject: always use the equivalent year to determine the time zone offset and - name - -Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1415202 - -Upsream-status: Applied -See: https://hg.mozilla.org/mozilla-central/rev/ce9f1466ec78 - -Reviewed-by: Jeff Walden -Signed-off-by: André Bargull -Signed-off-by: Adam Duskett ---- - js/src/jsdate.cpp | 11 +++++++---- - js/src/vm/Time.cpp | 14 ++++---------- - js/src/vm/Time.h | 2 +- - 3 files changed, 12 insertions(+), 15 deletions(-) - -diff --git a/js/src/jsdate.cpp b/js/src/jsdate.cpp -index 07af3d18c865..ff8fd6c3763c 100644 ---- a/js/src/jsdate.cpp -+++ b/js/src/jsdate.cpp -@@ -2353,12 +2353,15 @@ static PRMJTime ToPRMJTime(double localTime, double utcTime) { - static size_t FormatTime(char* buf, int buflen, const char* fmt, double utcTime, - double localTime) { - PRMJTime prtm = ToPRMJTime(localTime, utcTime); -- int eqivalentYear = IsRepresentableAsTime32(utcTime) -- ? prtm.tm_year -- : EquivalentYearForDST(prtm.tm_year); -+ // If an equivalent year was used to compute the date/time components, use -+ // the same equivalent year to determine the time zone name and offset in -+ // PRMJ_FormatTime(...). -+ int timeZoneYear = IsRepresentableAsTime32(utcTime) -+ ? prtm.tm_year -+ : EquivalentYearForDST(prtm.tm_year); - int offsetInSeconds = (int)floor((localTime - utcTime) / msPerSecond); - -- return PRMJ_FormatTime(buf, buflen, fmt, &prtm, eqivalentYear, -+ return PRMJ_FormatTime(buf, buflen, fmt, &prtm, timeZoneYear, - offsetInSeconds); - } - -diff --git a/js/src/vm/Time.cpp b/js/src/vm/Time.cpp -index f59977f0d0e9..5ee4794b3e83 100644 ---- a/js/src/vm/Time.cpp -+++ b/js/src/vm/Time.cpp -@@ -247,7 +247,7 @@ static void PRMJ_InvalidParameterHandler(const wchar_t* expression, - - /* Format a time value into a buffer. Same semantics as strftime() */ - size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, -- const PRMJTime* prtm, int equivalentYear, -+ const PRMJTime* prtm, int timeZoneYear, - int offsetInSeconds) { - size_t result = 0; - #if defined(XP_UNIX) || defined(XP_WIN) -@@ -280,7 +280,8 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, - * Fill out |td| to the time represented by |prtm|, leaving the - * timezone fields zeroed out. localtime_r will then fill in the - * timezone fields for that local time according to the system's -- * timezone parameters. -+ * timezone parameters. Use |timeZoneYear| for the year to ensure the -+ * time zone name matches the time zone offset used by the caller. - */ - struct tm td; - memset(&td, 0, sizeof(td)); -@@ -290,19 +291,12 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, - td.tm_mday = prtm->tm_mday; - td.tm_mon = prtm->tm_mon; - td.tm_wday = prtm->tm_wday; -- td.tm_year = prtm->tm_year - 1900; -+ td.tm_year = timeZoneYear - 1900; - td.tm_yday = prtm->tm_yday; - td.tm_isdst = prtm->tm_isdst; - - time_t t = mktime(&td); - -- // If |prtm| cannot be represented in |time_t| the year is probably -- // out of range, try again with the DST equivalent year. -- if (t == static_cast(-1)) { -- td.tm_year = equivalentYear - 1900; -- t = mktime(&td); -- } -- - // If either mktime or localtime_r failed, fill in the fallback time - // zone offset |offsetInSeconds| and set the time zone identifier to - // the empty string. -diff --git a/js/src/vm/Time.h b/js/src/vm/Time.h -index 3a51d869c922..37b7faeec028 100644 ---- a/js/src/vm/Time.h -+++ b/js/src/vm/Time.h -@@ -49,7 +49,7 @@ inline void PRMJ_NowShutdown() {} - - /* Format a time value into a buffer. Same semantics as strftime() */ - extern size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, -- const PRMJTime* tm, int equivalentYear, -+ const PRMJTime* tm, int timeZoneYear, - int offsetInSeconds); - - /** --- -2.23.0 diff --git a/package/spidermonkey/0011-js-src-Makefile.in-install-shell-only-if-it-s-built.patch b/package/spidermonkey/0011-js-src-Makefile.in-install-shell-only-if-it-s-built.patch deleted file mode 100644 index f6092af7efe..00000000000 --- a/package/spidermonkey/0011-js-src-Makefile.in-install-shell-only-if-it-s-built.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b5e4a9926cf50d12e9c5c05c6d1b161e5b662d62 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Sat, 7 Mar 2020 23:42:02 -0300 -Subject: [PATCH] js/src/Makefile.in: install shell only if it's built - -Prevents an installation error if we configure with --disable-js-shell. - -Signed-off-by: Carlos Santos ---- - js/src/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/src/Makefile.in b/js/src/Makefile.in -index 4ac9f48..9c8fb64 100644 ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -136,7 +136,7 @@ endif - - install:: - $(MAKE) -C build install -- $(MAKE) -C shell install -+ if [ -d shell ]; then $(MAKE) -C shell install; fi - - ifdef HAVE_DTRACE - javascript-trace.h: $(srcdir)/devtools/javascript-trace.d --- -2.18.2 - diff --git a/package/spidermonkey/Config.in b/package/spidermonkey/Config.in deleted file mode 100644 index e015e84ad23..00000000000 --- a/package/spidermonkey/Config.in +++ /dev/null @@ -1,60 +0,0 @@ -config BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS - bool - default y if BR2_aarch64 - default y if BR2_arm || BR2_armeb - default y if BR2_i386 || BR2_x86_64 - default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le - default y if BR2_riscv - default y if BR2_sh4 || BR2_sh4a - default y if BR2_sparc || BR2_sparc64 - depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnspr - -config BR2_PACKAGE_SPIDERMONKEY_JIT_ARCH_SUPPORTS - bool - default y if BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || BR2_x86_64 - -config BR2_PACKAGE_SPIDERMONKEY - bool "spidermonkey" - depends on BR2_HOST_GCC_AT_LEAST_4_9 - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np() - depends on BR2_USE_MMU # fork in executable tools. - depends on BR2_USE_WCHAR - depends on !BR2_TOOLCHAIN_USES_UCLIBC # No way to check for fenv support. - depends on !BR2_STATIC_LIBS # dlopen - select BR2_PACKAGE_HOST_PYTHON - select BR2_PACKAGE_HOST_PYTHON_SSL - select BR2_PACKAGE_LIBNSPR - select BR2_PACKAGE_ZLIB - help - SpiderMonkey is the code-name for Mozilla Firefox's C++ - implementation of JavaScript. It is intended to be embedded in - other applications that provide host environments for - JavaScript. - - https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey - -if BR2_PACKAGE_SPIDERMONKEY - -config BR2_PACKAGE_SPIDERMONKEY_JS_SHELL - bool "JS shell" - help - Build the JavaScript shell. - - WARNING: increases target image size by around 24 MiB. - -endif - -comment "spidermonkey needs a glibc or musl toolchain with C++, wchar, dynamic library, NPTL, gcc >= 4.9" - depends on BR2_USE_MMU - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_USES_UCLIBC || \ - !BR2_INSTALL_LIBSTDCPP || \ - BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_USE_WCHAR diff --git a/package/spidermonkey/spidermonkey.hash b/package/spidermonkey/spidermonkey.hash deleted file mode 100644 index ccb02658615..00000000000 --- a/package/spidermonkey/spidermonkey.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed -sha256 f51039c997415fd0f13f8e01966b4a8ff80cbf90deb8b14c18827104a369cc0d mozjs-60.5.2.tar.bz2 -sha256 aaac93a33bec26d5d1a9c5efc1e7dc6bd215d8a4f1e1a7fc5315a67adfd51338 moz.configure diff --git a/package/spidermonkey/spidermonkey.mk b/package/spidermonkey/spidermonkey.mk deleted file mode 100644 index 50afdc17580..00000000000 --- a/package/spidermonkey/spidermonkey.mk +++ /dev/null @@ -1,64 +0,0 @@ -################################################################################ -# -# spidermonkey -# -################################################################################ - -# Use a tarball with only the spidermonkey source code and a pre-setup -# old-configure in src/js.This prevents having to use autoconf 2.13 and -# makes the package much 31M instead of 257M -SPIDERMONKEY_VERSION = 60.5.2 -SPIDERMONKEY_SOURCE = mozjs-$(SPIDERMONKEY_VERSION).tar.bz2 -SPIDERMONKEY_SITE = https://gentoo.osuosl.org/distfiles/9a -SPIDERMONKEY_SUBDIR = js/src -SPIDERMONKEY_LICENSE = MPL-2.0 -SPIDERMONKEY_LICENSE_FILES = moz.configure -SPIDERMONKEY_INSTALL_STAGING = YES - -SPIDERMONKEY_DEPENDENCIES = \ - host-python \ - libnspr \ - zlib - -SPIDERMONKEY_CONF_ENV = \ - PYTHON="$(HOST_DIR)/bin/python2" - -# spidermonkey mixes up target and host. -# spidermonkey does not allow building against a system jemalloc, -# as it causes a conflict with glibc. -SPIDERMONKEY_CONF_OPTS = \ - --host=$(GNU_HOST_NAME) \ - --target=$(GNU_TARGET_NAME) \ - --disable-jemalloc \ - --enable-shared-js \ - --with-system-zlib \ - --with-system-nspr \ - --with-nspr-exec-prefix="$(STAGING_DIR)/usr" - -ifeq ($(BR2_PACKAGE_SPIDERMONKEY_JIT_ARCH_SUPPORTS),y) -SPIDERMONKEY_CONF_OPTS += --enable-ion -else -SPIDERMONKEY_CONF_OPTS += --disable-ion -endif - -ifeq ($(BR2_PACKAGE_SPIDERMONKEY_JS_SHELL),y) -SPIDERMONKEY_CONF_OPTS += --enable-js-shell -else -SPIDERMONKEY_CONF_OPTS += --disable-js-shell -endif - -ifeq ($(BR2_PACKAGE_READLINE),y) -SPIDERMONKEY_CONF_OPTS += --enable-readline -SPIDERMONKEY_DEPENDENCIES += readline -else -SPIDERMONKEY_CONF_OPTS += --disable-readline -endif - -# Remove unneeded files -define SPIDERMONKEY_CLEANUP - rm -rf $(TARGET_DIR)/usr/lib/libjs_static.ajs - rm -rf $(TARGET_DIR)/usr/bin/js60-config -endef -SPIDERMONKEY_POST_INSTALL_TARGET_HOOKS += SPIDERMONKEY_CLEANUP - -$(eval $(autotools-package)) diff --git a/package/spidev_test/Config.in b/package/spidev_test/Config.in index 44990c66b65..aa57b5edbfb 100644 --- a/package/spidev_test/Config.in +++ b/package/spidev_test/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_SPIDEV_TEST proper operation of 'spidev_test'. The version used is based on your toolchain headers version, - if it's older than 3.15 then 3.0 is used, otherwise 3.15 + if it's older than 3.15 then 3.0 is used, otherwise 4.10 is used. This means you won't have quad-pumped SPI support if your toolchain is too old. diff --git a/package/spidev_test/spidev_test.mk b/package/spidev_test/spidev_test.mk index 80998f34006..bd2fcf6db36 100644 --- a/package/spidev_test/spidev_test.mk +++ b/package/spidev_test/spidev_test.mk @@ -24,12 +24,12 @@ SPIDEV_TEST_LICENSE = GPL-2.0 # musl libc requires linux/ioctl.h for _IOC_SIZEBITS. Do a sed patch to keep # compatibility with different spidev_test.c versions that we support. -define SPIDEV_ADD_LINUX_IOCTL +define SPIDEV_TEST_ADD_LINUX_IOCTL $(SED) 's~^#include ~#include \n#include ~' \ $(@D)/spidev_test.c endef -SPIDEV_TEST_POST_PATCH_HOOKS += SPIDEV_ADD_LINUX_IOCTL +SPIDEV_TEST_POST_PATCH_HOOKS += SPIDEV_TEST_ADD_LINUX_IOCTL define SPIDEV_TEST_EXTRACT_CMDS cp $(SPIDEV_TEST_DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c diff --git a/package/sqlcipher/sqlcipher.hash b/package/sqlcipher/sqlcipher.hash index 96a6a740131..f831e615d8a 100644 --- a/package/sqlcipher/sqlcipher.hash +++ b/package/sqlcipher/sqlcipher.hash @@ -1,3 +1,3 @@ # locally computed -sha256 87458e0e16594b3ba6c7a1f046bc1ba783d002d35e0e7b61bb6b7bb862f362a7 sqlcipher-4.4.2.tar.gz +sha256 20c46a855c47d5a0a159fdcaa8491ec7bdbaa706a734ee52bc76188b929afb14 sqlcipher-4.5.0.tar.gz sha256 3eee3c7964a9becc94d747bd36703d31fc86eb994680b06a61bfd4f2661eaac8 LICENSE diff --git a/package/sqlcipher/sqlcipher.mk b/package/sqlcipher/sqlcipher.mk index 393d50b201f..c47aa484292 100644 --- a/package/sqlcipher/sqlcipher.mk +++ b/package/sqlcipher/sqlcipher.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQLCIPHER_VERSION = 4.4.2 +SQLCIPHER_VERSION = 4.5.0 SQLCIPHER_SITE = $(call github,sqlcipher,sqlcipher,v$(SQLCIPHER_VERSION)) SQLCIPHER_LICENSE = BSD-3-Clause SQLCIPHER_LICENSE_FILES = LICENSE diff --git a/package/sqlite/Config.in b/package/sqlite/Config.in index 87c0f6c073a..0ae9878d7b5 100644 --- a/package/sqlite/Config.in +++ b/package/sqlite/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_SQLITE self-contained, embeddable, zero-configuration SQL database engine. - http://www.sqlite.org/ + https://www.sqlite.org/ if BR2_PACKAGE_SQLITE diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash index 02b0e7132a3..deb8d4c14c1 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2a3bca581117b3b88e5361d0ef3803ba6d8da604b1c1a47d902ef785c1b53e89 sqlite-autoconf-3340100.tar.gz +sha256 4089a8d9b467537b3f246f217b84cd76e00b1d1a971fe5aca1e30e230e46b2d8 sqlite-autoconf-3370200.tar.gz sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index 2c2928f2747..b702139f6c3 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,10 +4,10 @@ # ################################################################################ -SQLITE_VERSION = 3340100 -SQLITE_CPE_ID_VERSION = 3.34.1 -SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz -SQLITE_SITE = https://www.sqlite.org/2021 +SQLITE_VERSION = 3.37.2 +SQLITE_TAR_VERSION = 3370200 +SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_TAR_VERSION).tar.gz +SQLITE_SITE = https://www.sqlite.org/2022 SQLITE_LICENSE = Public domain SQLITE_LICENSE_FILES = tea/license.terms SQLITE_CPE_ID_VENDOR = sqlite diff --git a/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch new file mode 100644 index 00000000000..997719e63ab --- /dev/null +++ b/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch @@ -0,0 +1,37 @@ +From f5c908e92d4c055859be2fddbda266d9e3bfd415 Mon Sep 17 00:00:00 2001 +From: Patrick McCarty +Date: Mon, 26 Jul 2021 11:38:43 -0700 +Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets + +In case INSTALL_DIR is overridden with a staged install location, using +INSTALL_DIR for the symlink target path prefix will yield an incorrect location +for the final installation. + +Because the symlink itself is already installed to INSTALL_DIR, simply removing +the INSTALL_DIR prefix suffices as a fix. + +Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of +issue, but that can be considered a future enhancement. + +Signed-off-by: Patrick McCarty +Upstream: f5c908e92d4c055859be2fddbda266d9e3bfd415 +Signed-off-by: Thomas Petazzoni +--- + squashfs-tools/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile +index f5a55f1..7262a2e 100755 +--- a/squashfs-tools/Makefile ++++ b/squashfs-tools/Makefile +@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs + mkdir -p $(INSTALL_DIR) + cp mksquashfs $(INSTALL_DIR) + cp unsquashfs $(INSTALL_DIR) +- ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat +- ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar ++ ln -fs unsquashfs $(INSTALL_DIR)/sqfscat ++ ln -fs mksquashfs $(INSTALL_DIR)/sqfstar +-- +2.31.1 + diff --git a/package/squashfs/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch b/package/squashfs/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch deleted file mode 100644 index a5fc487aac0..00000000000 --- a/package/squashfs/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch +++ /dev/null @@ -1,49 +0,0 @@ -From e1cdcfd94172a0b1ba4c9df70f4d69a41c687404 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sun, 26 Jan 2020 18:35:13 +0000 -Subject: [PATCH] squashfs-tools: fix build failure against gcc-10 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On gcc-10 (and gcc-9 -fno-common) build fails as: - -``` -cc ... -o mksquashfs -ld: read_fs.o:(.bss+0x0): - multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400c90): first defined here -ld: read_fs.o:(.bss+0x8): - multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400c98): first defined here -``` - -gcc-10 will change the default from -fcommon to fno-common: -https://gcc.gnu.org/PR85678. - -The error also happens if CFLAGS=-fno-common passed explicitly. - -Reported-by: Toralf Förster -Bug: https://bugs.gentoo.org/706456 -Signed-off-by: Sergei Trofimovich - -[Upstream: https://github.com/plougher/squashfs-tools/commit/fe2f5da4b0f8994169c53e84b7cb8a0feefc97b5.patch] -Signed-off-by: Peter Seiderer ---- - squashfs-tools/mksquashfs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h -index 1beefef..b650306 100644 ---- a/squashfs-tools/mksquashfs.h -+++ b/squashfs-tools/mksquashfs.h -@@ -143,7 +143,7 @@ struct append_file { - #endif - - extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache; --struct cache *bwriter_buffer, *fwriter_buffer; -+extern struct cache *bwriter_buffer, *fwriter_buffer; - extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer, - *to_frag, *locked_fragment, *to_process_frag; - extern struct append_file **file_mapping; --- -2.26.2 - diff --git a/package/squashfs/squashfs.hash b/package/squashfs/squashfs.hash index 1f08b530a0b..09a2bae364f 100644 --- a/package/squashfs/squashfs.hash +++ b/package/squashfs/squashfs.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 a7fa4845e9908523c38d4acf92f8a41fdfcd19def41bd5090d7ad767a6dc75c3 squashfs-4.4.tar.gz +sha256 b9e16188e6dc1857fe312633920f7d71cc36b0162eb50f3ecb1f0040f02edddd squashfs-4.5.tar.gz # License files -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk index cbc3c906d85..f64d441c9b4 100644 --- a/package/squashfs/squashfs.mk +++ b/package/squashfs/squashfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQUASHFS_VERSION = 4.4 +SQUASHFS_VERSION = 4.5 SQUASHFS_SITE = $(call github,plougher,squashfs-tools,$(SQUASHFS_VERSION)) SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING diff --git a/package/squid/Config.in b/package/squid/Config.in index 726160b01d9..62721407687 100644 --- a/package/squid/Config.in +++ b/package/squid/Config.in @@ -1,18 +1,22 @@ -comment "squid needs a toolchain w/ C++, gcc >= 4.8 not affected by bug 64735" +comment "squid needs a toolchain w/ C++, threads, gcc >= 4.8 not affected by bug 64735" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \ - !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_PACKAGE_SQUID bool "squid" depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 # needs fork() depends on BR2_USE_MMU select BR2_PACKAGE_LIBCAP + select BR2_PACKAGE_LIBTOOL select BR2_PACKAGE_LIBXML2 help Caching proxy for the Web supporting HTTP, HTTPS, FTP, and diff --git a/package/squid/squid.hash b/package/squid/squid.hash index b7e051960e6..e18ed8961e2 100644 --- a/package/squid/squid.hash +++ b/package/squid/squid.hash @@ -1,6 +1,6 @@ -# From http://www.squid-cache.org/Versions/v4/squid-4.13.tar.xz.asc -md5 492e54afc15821141ff1d1d9903854d6 squid-4.13.tar.xz -sha1 cac95c18789e9ecd6620c2f278fc3900498c065b squid-4.13.tar.xz +# From http://www.squid-cache.org/Versions/v5/squid-5.3.tar.xz.asc +md5 9249f30169ab6600e53b4f9b8129b3b0 squid-5.3.tar.xz +sha1 d3a8310c725616fa7565d60f3bf8fdf5fa20b15a squid-5.3.tar.xz # Locally calculated -sha256 6891a0f540e60779b4f24f1802a302f813c6f473ec7336a474ed68c3e2e53ee0 squid-4.13.tar.xz +sha256 45178588df1311ded41ebadd632840c4d93a8d7f5f60e38e74acf2f1ae2f1715 squid-5.3.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squid/squid.mk b/package/squid/squid.mk index 473af2ac126..3847fb49dcd 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -4,13 +4,14 @@ # ################################################################################ -SQUID_VERSION = 4.13 +SQUID_VERSION = 5.3 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz -SQUID_SITE = http://www.squid-cache.org/Versions/v4 +SQUID_SITE = http://www.squid-cache.org/Versions/v5 SQUID_LICENSE = GPL-2.0+ SQUID_LICENSE_FILES = COPYING SQUID_CPE_ID_VENDOR = squid-cache -SQUID_DEPENDENCIES = libcap host-libcap libxml2 host-pkgconf \ +SQUID_SELINUX_MODULES = apache squid +SQUID_DEPENDENCIES = libcap host-libcap libtool libxml2 host-pkgconf \ $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack) SQUID_CONF_ENV = \ ac_cv_epoll_works=yes \ @@ -33,6 +34,8 @@ SQUID_CONF_OPTS = \ --enable-auth-ntlm="fake" \ --disable-strict-error-checking \ --enable-external-acl-helpers="file_userip" \ + --disable-ltdl-install \ + --without-included-ltdl \ --with-logdir=/var/log/squid/ \ --with-pidfile=/var/run/squid.pid \ --with-swapdir=/var/cache/squid/ \ diff --git a/package/sratom/Config.in b/package/sratom/Config.in new file mode 100644 index 00000000000..771e82073d5 --- /dev/null +++ b/package/sratom/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_SRATOM + bool "sratom" + select BR2_PACKAGE_LV2 + select BR2_PACKAGE_SERD + select BR2_PACKAGE_SORD + help + Sratom is a library for serialising LV2 atoms to and from + RDF, particularly the Turtle syntax. + + https://drobilla.net/software/sratom.html diff --git a/package/sratom/sratom.hash b/package/sratom/sratom.hash new file mode 100644 index 00000000000..64d460b2eab --- /dev/null +++ b/package/sratom/sratom.hash @@ -0,0 +1,4 @@ +# Locally calculated after checking signature +# https://download.drobilla.net/sratom-0.6.8.tar.bz2.asc +sha256 3acb32b1adc5a2b7facdade2e0818bcd6c71f23f84a1ebc17815bb7a0d2d02df sratom-0.6.8.tar.bz2 +sha256 3fc429d6b944fa20306357196a28bb4dd7c25e2d67edebec771f44de5bd7f9e8 COPYING diff --git a/package/sratom/sratom.mk b/package/sratom/sratom.mk new file mode 100644 index 00000000000..e1e0f4e0335 --- /dev/null +++ b/package/sratom/sratom.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# sratom +# +################################################################################ + +SRATOM_VERSION = 0.6.8 +SRATOM_SITE = https://download.drobilla.net +SRATOM_SOURCE = sratom-$(SRATOM_VERSION).tar.bz2 +SRATOM_LICENSE = ISC +SRATOM_LICENSE_FILES = COPYING +SRATOM_DEPENDENCIES = host-pkgconf lv2 serd sord +SRATOM_INSTALL_STAGING = YES + +SRATOM_CONF_OPTS += --no-coverage + +ifeq ($(BR2_STATIC_LIBS),y) +SRATOM_CONF_OPTS += --static --no-shared +endif + +$(eval $(waf-package)) diff --git a/package/sshguard/sshguard.hash b/package/sshguard/sshguard.hash index 9bbb41336f9..b1752f1c68c 100644 --- a/package/sshguard/sshguard.hash +++ b/package/sshguard/sshguard.hash @@ -1,4 +1,4 @@ -# sha256 from https://sourceforge.net/projects/sshguard/files/sshguard/2.4.1/sshguard-2.4.1.sha256 -sha256 875d02e6e67dced614790ed5e36aef1160edea940f353a79306cbb1852af3c67 sshguard-2.4.1.tar.gz +# sha256 from https://sourceforge.net/projects/sshguard/files/sshguard/2.4.2/sshguard-2.4.2.sha256 +sha256 2770b776e5ea70a9bedfec4fd84d57400afa927f0f7522870d2dcbbe1ace37e8 sshguard-2.4.2.tar.gz # Locally calculated sha256 c3ae64f12153a1bc55bc234d09f40a08ab0e0149fffc972c0b7f02d5a12c1a5c COPYING diff --git a/package/sshguard/sshguard.mk b/package/sshguard/sshguard.mk index 3616fba7800..d27c76e63f5 100644 --- a/package/sshguard/sshguard.mk +++ b/package/sshguard/sshguard.mk @@ -4,7 +4,7 @@ # ################################################################################ -SSHGUARD_VERSION = 2.4.1 +SSHGUARD_VERSION = 2.4.2 SSHGUARD_SITE = https://sourceforge.net/projects/sshguard/files/sshguard/$(SSHGUARD_VERSION) SSHGUARD_LICENSE = ISC, Public Domain (fnv hash), BSD-3-Clause (SimCList) SSHGUARD_LICENSE_FILES = COPYING diff --git a/package/sshpass/sshpass.hash b/package/sshpass/sshpass.hash index 9635a918065..cb8968bca47 100644 --- a/package/sshpass/sshpass.hash +++ b/package/sshpass/sshpass.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60 sshpass-1.06.tar.gz +sha256 71746e5e057ffe9b00b44ac40453bf47091930cba96bbea8dc48717dedc49fb7 sshpass-1.09.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/sshpass/sshpass.mk b/package/sshpass/sshpass.mk index 6c14f0fe7d5..21e10397b6b 100644 --- a/package/sshpass/sshpass.mk +++ b/package/sshpass/sshpass.mk @@ -4,7 +4,7 @@ # ################################################################################ -SSHPASS_VERSION = 1.06 +SSHPASS_VERSION = 1.09 SSHPASS_SITE = http://downloads.sourceforge.net/project/sshpass/sshpass/$(SSHPASS_VERSION) SSHPASS_LICENSE = GPL-2.0+ SSHPASS_LICENSE_FILES = COPYING diff --git a/package/sslh/0001-Makefile-fix-static-linking-with-pcre.patch b/package/sslh/0001-Makefile-fix-static-linking-with-pcre.patch deleted file mode 100644 index 5fc3296da5b..00000000000 --- a/package/sslh/0001-Makefile-fix-static-linking-with-pcre.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0d9e004d324cc030c173de04c40db51a0f22bb5c Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 15 Oct 2020 07:58:05 +0200 -Subject: [PATCH] Makefile: fix static linking with pcre - -Static build with pcre is broken since version 1.19b and -https://github.com/yrutschle/sslh/commit/cb90cc97ae64a445242e517847c6e44b7003eda4 -because -lpcre has been replaced by -lpcreposix which will result in -the following static build failure: - -/srv/storage/autobuild/run/instance-1/output-1/host/bin/mipsel-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -static -o echosrv echosrv.o probe.o common.o tls.o -lpcreposix -lconfig -lcap -/srv/storage/autobuild/run/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/8.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: /srv/storage/autobuild/run/instance-1/output-1/host/mipsel-buildroot-linux-uclibc/sysroot/usr/lib/libpcreposix.a(libpcreposix_la-pcreposix.o): in function `regfree': -pcreposix.c:(.text+0x120): undefined reference to `pcre_free' - -So append -lpcre after -lpcreposix - -Fixes: - - http://autobuild.buildroot.org/results/a601824fc0c205a6a940e0f9f079ce2c39840605 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/yrutschle/sslh/pull/280] ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 986cf1c..ecadc22 100644 ---- a/Makefile -+++ b/Makefile -@@ -43,7 +43,7 @@ endif - - ifneq ($(strip $(USELIBPCRE)),) - CPPFLAGS+=-DLIBPCRE -- LIBS:=$(LIBS) -lpcreposix -+ LIBS:=$(LIBS) -lpcreposix -lpcre - endif - - ifneq ($(strip $(USELIBCONFIG)),) --- -2.28.0 - diff --git a/package/sslh/Config.in b/package/sslh/Config.in index f6b46f3218b..a1d52118515 100644 --- a/package/sslh/Config.in +++ b/package/sslh/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_SSLH bool "sslh" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBCONFIG if BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_PCRE2 help Applicative protocol multiplexer diff --git a/package/sslh/sslh.hash b/package/sslh/sslh.hash index 00e5c12d779..ae678563daf 100644 --- a/package/sslh/sslh.hash +++ b/package/sslh/sslh.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3bfe783726f82c1f5a4be630ddc494ebb08dbb69980662cd7ffdeb7bc9e1e706 sslh-v1.21c.tar.gz +sha256 8e3742d14edf4119350cfdc7bb96b89134d9218eb6d2a6e1f70891ca18a649b1 sslh-v1.22c.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sslh/sslh.mk b/package/sslh/sslh.mk index 4bde143cd8e..897b3b6505d 100644 --- a/package/sslh/sslh.mk +++ b/package/sslh/sslh.mk @@ -4,13 +4,14 @@ # ################################################################################ -SSLH_VERSION = 1.21c +SSLH_VERSION = 1.22c SSLH_SOURCE = sslh-v$(SSLH_VERSION).tar.gz SSLH_SITE = http://www.rutschle.net/tech/sslh SSLH_LICENSE = GPL-2.0+ SSLH_LICENSE_FILES = COPYING +SSLH_DEPENDENCIES = pcre2 -SSLH_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) +SSLH_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" ifeq ($(BR2_PACKAGE_LIBBSD),y) SSLH_DEPENDENCIES += libbsd @@ -33,13 +34,6 @@ else SSLH_MAKE_OPTS += USELIBCONFIG= endif -ifeq ($(BR2_PACKAGE_PCRE),y) -SSLH_DEPENDENCIES += pcre -SSLH_MAKE_OPTS += USELIBPCRE=1 -else -SSLH_MAKE_OPTS += USELIBPCRE= -endif - ifeq ($(BR2_PACKAGE_SYSTEMD),y) SSLH_DEPENDENCIES += systemd SSLH_MAKE_OPTS += USESYSTEMD=1 diff --git a/package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch b/package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch index 64dc00d72cf..acba5ad8e21 100644 --- a/package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch +++ b/package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch @@ -1,30 +1,44 @@ +From 31e4116ec355701e239cddcca720314523512a47 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Sun, 21 Mar 2021 17:59:15 +0100 +Subject: [PATCH] add uclibc alias and musl + Make linux-uclibcgnueabi an alias for linux-uclibceabi since it's what we use in buildroot toolchains. Slightly tweak musleabi to match the buildroot-used tuple. Signed-off-by: Gustavo Zacarias +[Rebased on 1.20.7.1] +Signed-off-by: Peter Seiderer +--- + data/ostable | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -diff -Nura dpkg-1.18.3.orig/ostable dpkg-1.18.3/ostable ---- dpkg-1.18.3.orig/ostable 2015-10-15 08:05:04.471762555 -0300 -+++ dpkg-1.18.3/ostable 2015-10-15 08:11:05.206132648 -0300 -@@ -12,10 +12,10 @@ - # system part of the output of the GNU config.guess script. +diff --git a/data/ostable b/data/ostable +index 99c1f88..087dc6e 100644 +--- a/data/ostable ++++ b/data/ostable +@@ -14,10 +14,10 @@ + # system part of the output of the GNU config.guess script. # # --uclibceabi-linux linux-uclibceabi linux[^-]*-uclibceabi -+uclibceabi-linux linux-uclibceabi linux[^-]*-uclibc.*eabi - uclibc-linux linux-uclibc linux[^-]*-uclibc - musleabihf-linux linux-musleabihf linux[^-]*-musleabihf --musl-linux linux-musl linux[^-]*-musl -+musl-linux linux-musl linux[^-]*-musl[^-]* - gnueabihf-linux linux-gnueabihf linux[^-]*-gnueabihf - gnueabi-linux linux-gnueabi linux[^-]*-gnueabi - gnuabin32-linux linux-gnuabin32 linux[^-]*-gnuabin32 -@@ -34,6 +34,6 @@ - bsd-netbsd netbsd netbsd[^-]* - bsd-openbsd openbsd openbsd[^-]* - sysv-solaris solaris solaris[^-]* --uclibceabi-uclinux uclinux-uclibceabi uclinux[^-]*-uclibceabi -+uclibceabi-uclinux uclinux-uclibceabi uclinux[^-]*-uclibc.*eabi - uclibc-uclinux uclinux-uclibc uclinux[^-]*(-uclibc.*)? - tos-mint mint mint[^-]* +-eabi-uclibc-linux linux-uclibceabi linux[^-]*-uclibceabi ++eabi-uclibc-linux linux-uclibceabi linux[^-]*-uclibc.*eabi + base-uclibc-linux linux-uclibc linux[^-]*-uclibc + eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf +-base-musl-linux linux-musl linux[^-]*-musl ++base-musl-linux linux-musl linux[^-]*-musl[^-]* + eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf + eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi + abin32-gnu-linux linux-gnuabin32 linux[^-]*-gnuabin32 +@@ -38,6 +38,6 @@ base-bsd-netbsd netbsd netbsd[^-]* + base-bsd-openbsd openbsd openbsd[^-]* + base-sysv-aix aix aix[^-]* + base-sysv-solaris solaris solaris[^-]* +-eabi-uclibc-uclinux uclinux-uclibceabi uclinux[^-]*-uclibceabi ++eabi-uclibc-uclinux uclinux-uclibceabi uclinux[^-]*-uclibc.*eabi + base-uclibc-uclinux uclinux-uclibc uclinux[^-]*(-uclibc.*)? + base-tos-mint mint mint[^-]* +-- +2.30.2 + diff --git a/package/start-stop-daemon/0002-just-warn-on-missing-arch.patch b/package/start-stop-daemon/0002-just-warn-on-missing-arch.patch index 2b9cd3db176..fc1f0f07431 100644 --- a/package/start-stop-daemon/0002-just-warn-on-missing-arch.patch +++ b/package/start-stop-daemon/0002-just-warn-on-missing-arch.patch @@ -1,19 +1,33 @@ +From 7b20d3f012013edd4e3bb48541bd2bda10dac186 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 21 Mar 2021 18:03:28 +0100 +Subject: [PATCH] just warn on missing arch + Just warn on missing arch Some architectures are not listed in dpkg list (e.g. mips64el, xtensa, sh4a). Don't break the build for that. Signed-off-by: Baruch Siach +[Rebased on 1.20.7.1] +Signed-off-by: Peter Seiderer --- -diff -Nuar dpkg-1.16.15-orig/m4/dpkg-arch.m4 dpkg-1.16.15/m4/dpkg-arch.m4 ---- dpkg-1.16.15-orig/m4/dpkg-arch.m4 2014-05-30 02:47:25.000000000 +0300 -+++ dpkg-1.16.15/m4/dpkg-arch.m4 2015-01-16 06:55:19.701596362 +0200 -@@ -57,7 +57,7 @@ - AC_MSG_CHECKING([dpkg architecture name]) - _DPKG_ARCHITECTURE([DEB_HOST_ARCH], [dpkg_arch]) - if test "x$dpkg_arch" = "x"; then -- AC_MSG_ERROR([cannot determine host dpkg architecture]) -+ AC_MSG_WARN([cannot determine host dpkg architecture]) - else - AC_MSG_RESULT([$dpkg_arch]) - fi + m4/dpkg-arch.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/dpkg-arch.m4 b/m4/dpkg-arch.m4 +index 71044c9..1394531 100644 +--- a/m4/dpkg-arch.m4 ++++ b/m4/dpkg-arch.m4 +@@ -58,7 +58,7 @@ AC_DEFUN([DPKG_ARCHITECTURE], [ + AC_MSG_CHECKING([dpkg architecture name]) + _DPKG_ARCHITECTURE([DEB_HOST_ARCH], [dpkg_arch]) + AS_IF([test "x$dpkg_arch" = "x"], [ +- AC_MSG_ERROR([cannot determine host dpkg architecture]) ++ AC_MSG_WARN([cannot determine host dpkg architecture]) + ], [ + AC_MSG_RESULT([$dpkg_arch]) + ]) +-- +2.30.2 + diff --git a/package/start-stop-daemon/start-stop-daemon.hash b/package/start-stop-daemon/start-stop-daemon.hash index e5d1d91129d..61a15afb3f4 100644 --- a/package/start-stop-daemon/start-stop-daemon.hash +++ b/package/start-stop-daemon/start-stop-daemon.hash @@ -1,4 +1,4 @@ -# From http://ftp.de.debian.org/debian/pool/main/d/dpkg/dpkg_1.18.10.dsc -sha256 025524da41ba18b183ff11e388eb8686f7cc58ee835ed7d48bd159c46a8b6dc5 dpkg_1.18.10.tar.xz +# From https://snapshot.debian.org/archive/debian/20210109T083441Z/pool/main/d/dpkg/dpkg_1.20.7.1.dsc +sha256 0aad2de687f797ef8ebdabc7bafd16dc1497f1ce23bd9146f9aa73f396a5636f dpkg_1.20.7.1.tar.xz # Locally computed sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/start-stop-daemon/start-stop-daemon.mk b/package/start-stop-daemon/start-stop-daemon.mk index 01a67197625..9db767dd167 100644 --- a/package/start-stop-daemon/start-stop-daemon.mk +++ b/package/start-stop-daemon/start-stop-daemon.mk @@ -7,9 +7,9 @@ # Debian start-stop-daemon is part of dpkg. Since start-stop-daemon is the only # interesting tool in it, we call the buildroot package start-stop-daemon. -START_STOP_DAEMON_VERSION = 1.18.10 +START_STOP_DAEMON_VERSION = 1.20.7.1 START_STOP_DAEMON_SOURCE = dpkg_$(START_STOP_DAEMON_VERSION).tar.xz -START_STOP_DAEMON_SITE = http://snapshot.debian.org/archive/debian/20160731T221931Z/pool/main/d/dpkg +START_STOP_DAEMON_SITE = https://snapshot.debian.org/archive/debian/20210109T083441Z/pool/main/d/dpkg START_STOP_DAEMON_CONF_OPTS = \ --disable-dselect \ --disable-update-alternatives \ diff --git a/package/stella/0001-configure-add-CC.patch b/package/stella/0001-configure-add-CC.patch new file mode 100644 index 00000000000..d4b29e39b5d --- /dev/null +++ b/package/stella/0001-configure-add-CC.patch @@ -0,0 +1,30 @@ +From 143cf9fa13a07b827de7065a5e919631406b0941 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 12 Dec 2021 22:46:52 +0100 +Subject: [PATCH] configure: add CC (#854) + +Add CC to fix the following build failure when cross-compiling which is +raised since +https://github.com/stella-emu/stella/commit/771b5b44e31de1b81a552ee47b65014fbc338776: + +out/src/sqlite/sqlite3.o: file not recognized: file format not recognized + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/stella-emu/stella/commit/143cf9fa13a07b827de7065a5e919631406b0941] +--- + configure | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure b/configure +index df666b377..0101d2567 100755 +--- a/configure ++++ b/configure +@@ -899,6 +899,7 @@ echo "Creating config.mak" + cat > config.mak << EOF + # -------- Generated by configure ----------- + ++CC := $CC + CXX := $CXX + CXXFLAGS := $CXXFLAGS + LD := $LD diff --git a/package/stella/Config.in b/package/stella/Config.in index c14f48572b5..b5d148489ad 100644 --- a/package/stella/Config.in +++ b/package/stella/Config.in @@ -3,20 +3,18 @@ config BR2_PACKAGE_STELLA depends on !BR2_STATIC_LIBS # sdl2 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_SDL2 - select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_ZLIB help Stella is a multi-platform Atari 2600 VCS emulator. https://stella-emu.github.io/ -comment "stella needs a toolchain w/ dynamic library, C++, threads, gcc >= 6" +comment "stella needs a toolchain w/ dynamic library, C++, threads, gcc >= 7" depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_6 + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 comment "stella needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/stella/stella.hash b/package/stella/stella.hash index c40d96616ab..8aa51181650 100644 --- a/package/stella/stella.hash +++ b/package/stella/stella.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 0346900e9ba4b6d532b72d956adc5078502a9bd6bbc1648bb3dd68f5ffd4859b stella-6.4-src.tar.xz -sha256 d207ee9e563fdd062582df8cbb6c8303b9879bd107692c0db2a32477e47dfa35 Copyright.txt +sha256 d481efc6d27b5294565dfcc10983de2dbc4db8a59932a678ffdb4d2404b8c207 stella-6.6-src.tar.xz +sha256 d5e5897578c2590e48328986cebd950ff215653f7f506ef93accf981870366a6 Copyright.txt sha256 58530d09b6fcb91ae27071be0081af90e6c2d7fdf991d34a29e234a2a5e75455 License.txt diff --git a/package/stella/stella.mk b/package/stella/stella.mk index 2dcfbeaccd3..198a1134dc7 100644 --- a/package/stella/stella.mk +++ b/package/stella/stella.mk @@ -4,19 +4,33 @@ # ################################################################################ -STELLA_VERSION = 6.4 +STELLA_VERSION = 6.6 STELLA_SOURCE = stella-$(STELLA_VERSION)-src.tar.xz STELLA_SITE = https://github.com/stella-emu/stella/releases/download/$(STELLA_VERSION) STELLA_LICENSE = GPL-2.0+ STELLA_LICENSE_FILES = Copyright.txt License.txt -STELLA_DEPENDENCIES = sdl2 libpng zlib +STELLA_DEPENDENCIES = sdl2 STELLA_CONF_OPTS = \ --host=$(GNU_TARGET_NAME) \ --prefix=/usr \ --with-sdl-prefix=$(STAGING_DIR)/usr +ifeq ($(BR2_PACKAGE_LIBPNG),y) +STELLA_CONF_OPTS += --enable-png +STELLA_DEPENDENCIES += libpng +else +STELLA_CONF_OPTS += --disable-png +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +STELLA_CONF_OPTS += --enable-zip +STELLA_DEPENDENCIES += zlib +else +STELLA_CONF_OPTS += --disable-zip +endif + # The configure script is not autoconf based, so we use the # generic-package infrastructure define STELLA_CONFIGURE_CMDS diff --git a/package/stellarium/stellarium.hash b/package/stellarium/stellarium.hash index fb6d464222f..c3f2e0e8d43 100644 --- a/package/stellarium/stellarium.hash +++ b/package/stellarium/stellarium.hash @@ -1,5 +1,5 @@ # From https://github.com/Stellarium/stellarium/releases -sha1 c399f9c785f6a33d04f1a1c4f2db3309ce4781dc stellarium-0.20.4.tar.gz -sha256 63033bb6ad01b5f021689766b2a09a99bcabcfec57a710e46a93c40a32fda388 stellarium-0.20.4.tar.gz +sha1 a3396c403050e073c592da695faeb048c1d5e19b stellarium-0.21.3.tar.gz +sha256 8ac6c054d12f136fe0d5c0deaaa8d7b69dd2a462be1711a187364574aef97e7f stellarium-0.21.3.tar.gz # Locally computed sha256 3aeeb5bb98bf7041ab82cffe15efa28ac58ee2bdf162b71301f5c192be631259 COPYING diff --git a/package/stellarium/stellarium.mk b/package/stellarium/stellarium.mk index ac0bd477250..ca5c07b2a71 100644 --- a/package/stellarium/stellarium.mk +++ b/package/stellarium/stellarium.mk @@ -4,7 +4,7 @@ # ################################################################################ -STELLARIUM_VERSION = 0.20.4 +STELLARIUM_VERSION = 0.21.3 STELLARIUM_SITE = https://github.com/Stellarium/stellarium/releases/download/v$(STELLARIUM_VERSION) STELLARIUM_LICENSE = GPL-2.0+ STELLARIUM_LICENSE_FILES = COPYING diff --git a/package/stm32flash/stm32flash.hash b/package/stm32flash/stm32flash.hash index 1b06a8f0f01..7039f06eec1 100644 --- a/package/stm32flash/stm32flash.hash +++ b/package/stm32flash/stm32flash.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 42b7d63f6016bd75911cbb87fe85fbc4f98adf3ceecfe6d91f7956b31d18095f stm32flash-3cebf121f7b32b9edfcb0d49f0fb43ccf33e5650-br1.tar.gz +sha256 ee9b40d4d3e5cd28b993e08ae2a2c3c559b6bea8730cd7e1d40727dedb1dda09 stm32flash-0.6.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 gpl-2.0.txt diff --git a/package/stm32flash/stm32flash.mk b/package/stm32flash/stm32flash.mk index a8ae9b01df8..6e38e09d981 100644 --- a/package/stm32flash/stm32flash.mk +++ b/package/stm32flash/stm32flash.mk @@ -4,8 +4,8 @@ # ################################################################################ -STM32FLASH_VERSION = 3cebf121f7b32b9edfcb0d49f0fb43ccf33e5650 -STM32FLASH_SITE = git://git.code.sf.net/p/stm32flash/code +STM32FLASH_VERSION = 0.6 +STM32FLASH_SITE = http://downloads.sourceforge.net/project/stm32flash STM32FLASH_LICENSE = GPL-2.0+ STM32FLASH_LICENSE_FILES = gpl-2.0.txt diff --git a/package/strace/Config.in b/package/strace/Config.in index 5b33dad3924..c394d4c398a 100644 --- a/package/strace/Config.in +++ b/package/strace/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_STRACE bool "strace" # needs at least kernel headers 4.0 on nios2 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 || !BR2_nios2 + # needs at least kernel headers 5.0 on xtensa + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_xtensa depends on !BR2_nds32 && !BR2_RISCV_32 help A useful diagnostic, instructional, and debugging tool. @@ -16,3 +18,7 @@ config BR2_PACKAGE_STRACE comment "strace needs a toolchain w/ headers >= 4.0 on nios2" depends on BR2_nios2 depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + +comment "strace needs a toolchain w/ headers >= 5.0 on xtensa" + depends on BR2_xtensa + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 diff --git a/package/strace/strace.hash b/package/strace/strace.hash index 7b211c78b99..30c90e8e394 100644 --- a/package/strace/strace.hash +++ b/package/strace/strace.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature with RSA key 0xA8041FA839E16E36 -# https://strace.io/files/5.10/strace-5.10.tar.xz.asc -sha256 fe3982ea4cd9aeb3b4ba35f6279f0b577a37175d3282be24b9a5537b56b8f01c strace-5.10.tar.xz -sha256 6370eb67db918210944a8511a6995ebe9567852f26b4f15a01e5c8cf2aef7c46 COPYING +# https://strace.io/files/5.16/strace-5.16.tar.xz.asc +sha256 dc7db230ff3e57c249830ba94acab2b862da1fcaac55417e9b85041a833ca285 strace-5.16.tar.xz +sha256 d92f973d08c8466993efff1e500453add0c038c20b4d2cbce3297938a296aea9 COPYING sha256 7c379436436a562834aa7d2f5dcae1f80a25230fa74201046ca1fba4367d39aa LGPL-2.1-or-later diff --git a/package/strace/strace.mk b/package/strace/strace.mk index 0ae622ec5a3..c0e89ef6ce8 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -4,9 +4,9 @@ # ################################################################################ -STRACE_VERSION = 5.10 +STRACE_VERSION = 5.16 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz -STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) +STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSION) STRACE_LICENSE = LGPL-2.1+ STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later STRACE_CPE_ID_VENDOR = strace_project diff --git a/package/stress-ng/Config.in b/package/stress-ng/Config.in index 64b473b75c9..839cbb1cc03 100644 --- a/package/stress-ng/Config.in +++ b/package/stress-ng/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_STRESS_NG subsystems of a computer as well as the various operating system kernel interfaces. - http://kernel.ubuntu.com/~cking/stress-ng/ + https://github.com/ColinIanKing/stress-ng comment "stress-ng needs a toolchain w/ headers >= 3.3" depends on !BR2_nios2 && !BR2_arc diff --git a/package/stress-ng/stress-ng.hash b/package/stress-ng/stress-ng.hash index 41e28019157..2e3f9987693 100644 --- a/package/stress-ng/stress-ng.hash +++ b/package/stress-ng/stress-ng.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f847be115f60d3ad7d37c806fd1bfb1412aa3c631fca581d6dc233322f50d6a5 stress-ng-0.12.02.tar.xz +sha256 3de49e1100866634f549e99c1644283d0cde817b844a69dcf7f80afa2227d350 stress-ng-0.13.05.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/stress-ng/stress-ng.mk b/package/stress-ng/stress-ng.mk index 53d7b7e5b73..0b2287c7fbc 100644 --- a/package/stress-ng/stress-ng.mk +++ b/package/stress-ng/stress-ng.mk @@ -4,9 +4,8 @@ # ################################################################################ -STRESS_NG_VERSION = 0.12.02 -STRESS_NG_SOURCE = stress-ng-$(STRESS_NG_VERSION).tar.xz -STRESS_NG_SITE = https://kernel.ubuntu.com/~cking/tarballs/stress-ng +STRESS_NG_VERSION = 0.13.05 +STRESS_NG_SITE = $(call github,ColinIanKing,stress-ng,V$(STRESS_NG_VERSION)) STRESS_NG_LICENSE = GPL-2.0+ STRESS_NG_LICENSE_FILES = COPYING diff --git a/package/strongswan/Config.in b/package/strongswan/Config.in index 47c7107f59e..430625a1020 100644 --- a/package/strongswan/Config.in +++ b/package/strongswan/Config.in @@ -31,6 +31,23 @@ choice prompt "Cryptographic backend" default BR2_PACKAGE_STRONGSWAN_GMP +config BR2_PACKAGE_STRONGSWAN_BOTAN + bool "botan" + depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + select BR2_PACKAGE_BOTAN + +comment "botan backend needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + +comment "botan backend needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_STRONGSWAN_OPENSSL bool "OpenSSL" select BR2_PACKAGE_OPENSSL @@ -57,6 +74,9 @@ config BR2_PACKAGE_STRONGSWAN_CURL bool "Enable CURL fetcher plugin to fetch files via libcurl" select BR2_PACKAGE_LIBCURL +config BR2_PACKAGE_STRONGSWAN_MD4 + bool "Enable MD4 hash algorithm" + config BR2_PACKAGE_STRONGSWAN_CHARON bool "Enable the IKEv1/IKEv2 keying daemon charon" default y @@ -73,36 +93,92 @@ config BR2_PACKAGE_STRONGSWAN_TNCCS_20 config BR2_PACKAGE_STRONGSWAN_TNCCS_DYNAMIC bool "Enable dynamic TNCCS protocol discovery module" -config BR2_PACKAGE_STRONGSWAN_EAP - bool "Enable EAP protocols" - help - Enable various EAP protocols: - - mschapv2 - - tls - - ttls - - peap - - sim - - sim-file - - aka - - aka-3gpp2 - - simaka-sql - - simaka-pseudonym - - simaka-reauth - - identity - - md5 - - gtc - - tnc - - dynamic - - radius - -if BR2_PACKAGE_STRONGSWAN_EAP +config BR2_PACKAGE_STRONGSWAN_SYSTIME_FIX + bool "Enable systime-fix plugin" + +config BR2_PACKAGE_STRONGSWAN_EAP_SIM + bool "Enable EAP-SIM" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_SIM_FILE + bool "Enable EAP-SIM file backend" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + select BR2_PACKAGE_STRONGSWAN_EAP_SIM config BR2_PACKAGE_STRONGSWAN_EAP_SIM_PCSC bool "Enable EAP-SIM smart card backend" depends on !BR2_STATIC_LIBS # pcsc-lite select BR2_PACKAGE_PCSC_LITE + select BR2_PACKAGE_STRONGSWAN_EAP_SIM -endif +config BR2_PACKAGE_STRONGSWAN_EAP_AKA + bool "Enable EAP-AKA" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_AKA_3GPP2 + bool "Enable EAP-AKA 3GPP2 algorithms" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + select BR2_PACKAGE_GMP + select BR2_PACKAGE_STRONGSWAN_EAP_AKA + +config BR2_PACKAGE_STRONGSWAN_EAP_SIMAKA_SQL + bool "Enable EAP-SIM/AKA backend based on a triplet/quintuplet SQL database" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + select BR2_PACKAGE_STRONGSWAN_EAP_AKA + select BR2_PACKAGE_STRONGSWAN_EAP_SIM + +config BR2_PACKAGE_STRONGSWAN_EAP_SIMAKA_PSEUDONYM + bool "Enable EAP-SIM/AKA pseudonym storage" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + select BR2_PACKAGE_STRONGSWAN_EAP_AKA + select BR2_PACKAGE_STRONGSWAN_EAP_SIM + +config BR2_PACKAGE_STRONGSWAN_EAP_SIMAKA_REAUTH + bool "Enable EAP-SIM/AKA reauthentication data storage" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + select BR2_PACKAGE_STRONGSWAN_EAP_AKA + select BR2_PACKAGE_STRONGSWAN_EAP_SIM + +config BR2_PACKAGE_STRONGSWAN_EAP_IDENTITY + bool "Enable EAP-Identity" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_MD5 + bool "Enable EAP-MD5" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_GTC + bool "Enable EAP-GDC" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_MSCHAPV2 + bool "Enable EAP-MSCHAPv2" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + select BR2_PACKAGE_STRONGSWAN_MD4 + +config BR2_PACKAGE_STRONGSWAN_EAP_PEAP + bool "Enable EAP-PEAP" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_RADIUS + bool "Enable EAP-RADIUS" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_TLS + bool "Enable EAP-TLS" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_TTLS + bool "Enable EAP-TTLS" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_DYNAMIC + bool "Enable EAP-DYNAMIC" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy + +config BR2_PACKAGE_STRONGSWAN_EAP_TNC + bool "Enable EAP-TNC" + default y if BR2_PACKAGE_STRONGSWAN_EAP # legacy config BR2_PACKAGE_STRONGSWAN_UNITY bool "Enables Cisco Unity extension plugin" diff --git a/package/strongswan/strongswan.hash b/package/strongswan/strongswan.hash index a19b311458b..aca7ddf5cd0 100644 --- a/package/strongswan/strongswan.hash +++ b/package/strongswan/strongswan.hash @@ -1,7 +1,7 @@ -# From http://download.strongswan.org/strongswan-5.9.1.tar.bz2.md5 -md5 1f4db969d072e120dc12d1c116a0f658 strongswan-5.9.1.tar.bz2 +# From http://download.strongswan.org/strongswan-5.9.5.tar.bz2.md5 +md5 53005324e3cba8592f1fb958b1c2d0e5 strongswan-5.9.5.tar.bz2 # Calculated based on the hash above -sha256 a337c9fb63d973b8440827755c784031648bf423b7114a04918b0b00fd42cafb strongswan-5.9.1.tar.bz2 +sha256 983e4ef4a4c6c9d69f5fe6707c7fe0b2b9a9291943bbf4e008faab6bf91c0bdd strongswan-5.9.5.tar.bz2 # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 2292e21797754548dccdef9eef6aee7584e552fbd890fa914e1de8d3577d23f0 LICENSE diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk index 322abfbd7b0..95079aceb30 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRONGSWAN_VERSION = 5.9.1 +STRONGSWAN_VERSION = 5.9.5 STRONGSWAN_SOURCE = strongswan-$(STRONGSWAN_VERSION).tar.bz2 STRONGSWAN_SITE = http://download.strongswan.org STRONGSWAN_LICENSE = GPL-2.0+ @@ -18,6 +18,7 @@ STRONGSWAN_CONF_OPTS += \ --enable-pkcs11=yes \ --enable-kernel-netlink=yes \ --enable-socket-default=yes \ + --enable-botan=$(if $(BR2_PACKAGE_STRONGSWAN_BOTAN),yes,no) \ --enable-openssl=$(if $(BR2_PACKAGE_STRONGSWAN_OPENSSL),yes,no) \ --enable-gcrypt=$(if $(BR2_PACKAGE_STRONGSWAN_GCRYPT),yes,no) \ --enable-gmp=$(if $(BR2_PACKAGE_STRONGSWAN_GMP),yes,no) \ @@ -37,6 +38,25 @@ STRONGSWAN_CONF_OPTS += \ --enable-vici=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ --enable-swanctl=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ --enable-wolfssl=$(if $(BR2_PACKAGE_STRONGSWAN_WOLFSSL),yes,no) \ + --enable-md4=$(if $(BR2_PACKAGE_STRONGSWAN_MD4),yes,no) \ + --enable-systime-fix=$(if $(BR2_PACKAGE_STRONGSWAN_SYSTIME_FIX),yes,no) \ + --enable-eap-sim=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_SIM),yes,no) \ + --enable-eap-sim-file=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_SIM_FILE),yes,no) \ + --enable-eap-aka=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_AKA),yes,no) \ + --enable-eap-aka-3gpp2=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_AKA_3GPP2),yes,no) \ + --enable-eap-simaka-sql=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_SIMAKA_SQL),yes,no) \ + --enable-eap-simaka-pseudonym=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_SIMAKA_PSEUDONYM),yes,no) \ + --enable-eap-simaka-reauth=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_SIMAKA_REAUTH),yes,no) \ + --enable-eap-identity=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_IDENTITY),yes,no) \ + --enable-eap-md5=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_MD5),yes,no) \ + --enable-eap-gtc=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_GTC),yes,no) \ + --enable-eap-mschapv2=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_MSCHAPV2),yes,no) \ + --enable-eap-tls=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_TLS),yes,no) \ + --enable-eap-ttls=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_TTLS),yes,no) \ + --enable-eap-peap=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_PEAP),yes,no) \ + --enable-eap-tnc=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_TNC),yes,no) \ + --enable-eap-dynamic=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_DYNAMIC),yes,no) \ + --enable-eap-radius=$(if $(BR2_PACKAGE_STRONGSWAN_EAP_RADIUS),yes,no) \ --with-ipseclibdir=/usr/lib \ --with-plugindir=/usr/lib/ipsec/plugins \ --with-imcvdir=/usr/lib/ipsec/imcvs \ @@ -46,32 +66,12 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) STRONGSWAN_CONF_ENV += LIBS='-latomic' endif -ifeq ($(BR2_PACKAGE_STRONGSWAN_EAP),y) -STRONGSWAN_CONF_OPTS += \ - --enable-eap-sim \ - --enable-eap-sim-file \ - --enable-eap-aka \ - --enable-eap-aka-3gpp2 \ - --enable-eap-simaka-sql \ - --enable-eap-simaka-pseudonym \ - --enable-eap-simaka-reauth \ - --enable-eap-identity \ - --enable-eap-md5 \ - --enable-eap-gtc \ - --enable-eap-mschapv2 \ - --enable-eap-tls \ - --enable-eap-ttls \ - --enable-eap-peap \ - --enable-eap-tnc \ - --enable-eap-dynamic \ - --enable-eap-radius -STRONGSWAN_DEPENDENCIES += gmp -endif - STRONGSWAN_DEPENDENCIES += \ + $(if $(BR2_PACKAGE_STRONGSWAN_BOTAN),botan) \ $(if $(BR2_PACKAGE_STRONGSWAN_OPENSSL),openssl) \ $(if $(BR2_PACKAGE_STRONGSWAN_GCRYPT),libgcrypt) \ $(if $(BR2_PACKAGE_STRONGSWAN_GMP),gmp) \ + $(if $(BR2_PACKAGE_STRONGSWAN_EAP_AKA_3GPP2),gmp) \ $(if $(BR2_PACKAGE_STRONGSWAN_CURL),libcurl) \ $(if $(BR2_PACKAGE_STRONGSWAN_TNCCS_11),libxml2) \ $(if $(BR2_PACKAGE_STRONGSWAN_EAP_SIM_PCSC),pcsc-lite) \ diff --git a/package/stunnel/Config.in b/package/stunnel/Config.in index e4a956770e4..a46e2f03160 100644 --- a/package/stunnel/Config.in +++ b/package/stunnel/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_STUNNEL bool "stunnel" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES help Stunnel is a program that wraps any TCP connection with an SSL connection. diff --git a/package/stunnel/stunnel.hash b/package/stunnel/stunnel.hash index 67d06a4d7c8..b8cc62be13d 100644 --- a/package/stunnel/stunnel.hash +++ b/package/stunnel/stunnel.hash @@ -1,5 +1,5 @@ -# From https://www.stunnel.org/downloads/stunnel-5.57.tar.gz.sha256 -sha256 af5ab973dde11807c38735b87bdd87563a47d2fa1c72a07929fcfce80a600fe1 stunnel-5.57.tar.gz +# From https://www.stunnel.org/downloads/stunnel-5.60.tar.gz.sha256 +sha256 c45d765b1521861fea9b03b425b9dd7d48b3055128c0aec673bba5ef9b8f787d stunnel-5.60.tar.gz # Locally calculated -sha256 d3055d327fd4daa5895fcf8fc4ebe993d06f40f2841ac995c6a69988d19bac4b COPYING.md +sha256 28b55d0157efd5ceb63640faeebb50fda13b1f49aec0b9c1240b9a3ea9f0eb4c COPYING.md sha256 62f171d4d8b6726df61f18a6bbc0a70f79c4bc2134d837d35c81fc6289a2d84d COPYRIGHT.md diff --git a/package/stunnel/stunnel.mk b/package/stunnel/stunnel.mk index 51cb4a4db4f..cc56eb39a87 100644 --- a/package/stunnel/stunnel.mk +++ b/package/stunnel/stunnel.mk @@ -5,7 +5,7 @@ ################################################################################ STUNNEL_VERSION_MAJOR = 5 -STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).57 +STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).60 STUNNEL_SITE = http://www.usenix.org.uk/mirrors/stunnel/archive/$(STUNNEL_VERSION_MAJOR).x STUNNEL_DEPENDENCIES = host-pkgconf openssl STUNNEL_CONF_OPTS = --with-ssl=$(STAGING_DIR)/usr --with-threads=fork \ @@ -16,6 +16,7 @@ STUNNEL_CONF_ENV = \ STUNNEL_LICENSE = GPL-2.0+ STUNNEL_LICENSE_FILES = COPYING.md COPYRIGHT.md STUNNEL_CPE_ID_VENDOR = stunnel +STUNNEL_SELINUX_MODULES = stunnel ifeq ($(BR2_INIT_SYSTEMD),y) STUNNEL_DEPENDENCIES += systemd diff --git a/package/subversion/0001-workaround-ac-run-ifelse.patch b/package/subversion/0001-workaround-ac-run-ifelse.patch deleted file mode 100644 index 4f229dc49b3..00000000000 --- a/package/subversion/0001-workaround-ac-run-ifelse.patch +++ /dev/null @@ -1,23 +0,0 @@ -build/ac-macros/macosx.m4: workaround AC_RUN_IFELSE - -The SVN_LIB_MACHO_ITERATE macro contains an AC_RUN_IFELSE test that -doesn't work when cross-compiling. However, this macro is related to -testing Mac OS X APIs, so in the context of Buildroot, we don't care, -and the test program is not even going to build. So we simply -workaround this by turning the test into an AC_COMPILE_IFELSE. - -Signed-off-by: Thomas Petazzoni - -Index: b/build/ac-macros/macosx.m4 -=================================================================== ---- a/build/ac-macros/macosx.m4 -+++ b/build/ac-macros/macosx.m4 -@@ -24,7 +24,7 @@ - AC_DEFUN(SVN_LIB_MACHO_ITERATE, - [ - AC_MSG_CHECKING([for Mach-O dynamic module iteration functions]) -- AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - ]],[[ diff --git a/package/subversion/subversion.hash b/package/subversion/subversion.hash index 534d5965145..d2239b1b5b3 100644 --- a/package/subversion/subversion.hash +++ b/package/subversion/subversion.hash @@ -1,5 +1,5 @@ -# From https://www.apache.org/dist/subversion/subversion-1.14.1.tar.bz2.sha512 -sha512 0a70c7152b77cdbcb810a029263e4b3240b6ef41d1c19714e793594088d3cca758d40dfbc05622a806b06463becb73207df249393924ce591026b749b875fcdd subversion-1.14.1.tar.bz2 +# From https://www.apache.org/dist/subversion/subversion-1.14.2.tar.bz2.sha512 +sha512 20ada4688ca07d9fb8da4b7d53b5084568652a3b9418c65e688886bae950a16a3ff37710fcfc9c29ef14a89e75b2ceec4e9cf35d5876a7896ebc2b512cfb9ecc subversion-1.14.2.tar.bz2 # Locally calculated sha256 484aff0cfbb81155a10f903ed756e27e9fc65578c245a295bae295c4bb51eaad LICENSE diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk index d4cc7175364..b27058c024c 100644 --- a/package/subversion/subversion.mk +++ b/package/subversion/subversion.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUBVERSION_VERSION = 1.14.1 +SUBVERSION_VERSION = 1.14.2 SUBVERSION_SOURCE = subversion-$(SUBVERSION_VERSION).tar.bz2 SUBVERSION_SITE = https://downloads.apache.org/subversion SUBVERSION_LICENSE = Apache-2.0 @@ -20,7 +20,6 @@ SUBVERSION_DEPENDENCIES = \ zlib \ sqlite \ $(TARGET_NLS_DEPENDENCIES) -SUBVERSION_AUTORECONF = YES SUBVERSION_CONF_OPTS = \ --with-expat=$(STAGING_DIR)/usr/include:$(STAGING_DIR)/usr/lib: \ --with-apr=$(STAGING_DIR)/usr \ diff --git a/package/sudo/sudo.hash b/package/sudo/sudo.hash index ee30b322654..1b494af69c6 100644 --- a/package/sudo/sudo.hash +++ b/package/sudo/sudo.hash @@ -1,4 +1,4 @@ # From: http://www.sudo.ws/download.html -sha256 539e2ef43c8a55026697fb0474ab6a925a11206b5aa58710cb42a0e1c81f0978 sudo-1.9.5p2.tar.gz +sha256 9e3b8b8da7def43b6e60c257abe80467205670fd0f7c081de1423c414b680f2d sudo-1.9.8p2.tar.gz # Locally calculated -sha256 505c5955c373514e2533a24a8346f44038e29cba874f5ca83beb171a7409089f doc/LICENSE +sha256 b678438594f04a7070a5fd125f7edffc871e13234baad318690b647bfc60705d doc/LICENSE diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index 57c2292506e..a752217123a 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUDO_VERSION_MAJOR = 1.9.5 +SUDO_VERSION_MAJOR = 1.9.8 SUDO_VERSION_MINOR = p2 SUDO_VERSION = $(SUDO_VERSION_MAJOR)$(SUDO_VERSION_MINOR) SUDO_SITE = https://www.sudo.ws/sudo/dist @@ -12,6 +12,7 @@ SUDO_LICENSE = ISC, BSD-3-Clause SUDO_LICENSE_FILES = doc/LICENSE SUDO_CPE_ID_VERSION = $(SUDO_VERSION_MAJOR) SUDO_CPE_ID_UPDATE = $(SUDO_VERSION_MINOR) +SUDO_SELINUX_MODULES = sudo # This is to avoid sudo's make install from chown()ing files which fails SUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install SUDO_CONF_OPTS = \ @@ -44,17 +45,17 @@ endif ifeq ($(BR2_PACKAGE_OPENLDAP),y) SUDO_DEPENDENCIES += openldap SUDO_CONF_OPTS += --with-ldap -# If we are building sudo statically and openldap was linked with openssl, then -# when we link sudo with openldap we need to specify the openssl libs, otherwise -# it will fail with "undefined reference" errors. -ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_OPENSSL),yy) -SUDO_DEPENDENCIES += host-pkgconf -SUDO_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" -endif else SUDO_CONF_OPTS += --without-ldap endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +SUDO_DEPENDENCIES += host-pkgconf openssl +SUDO_CONF_OPTS += --enable-openssl +else +SUDO_CONF_OPTS += --disable-openssl +endif + # mksigname/mksiglist needs to run on build host to generate source files define SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST $(MAKE) $(HOST_CONFIGURE_OPTS) \ diff --git a/package/sunxi-mali-mainline-driver/Config.in b/package/sunxi-mali-mainline-driver/Config.in deleted file mode 100644 index 5db66c5bf6d..00000000000 --- a/package/sunxi-mali-mainline-driver/Config.in +++ /dev/null @@ -1,29 +0,0 @@ -comment "sunxi-mali-mainline-driver needs a Linux kernel to be built" - depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE - depends on !BR2_LINUX_KERNEL - -config BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER - bool "sunxi-mali-mainline-driver" - default y - depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE # runtime - depends on BR2_LINUX_KERNEL - select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra - help - This package builds and installs the Linux kernel driver for - the Mali GPU on Allwinner platforms, compatible with recent - Linux kernels (>= 4.4). Note that it should be installed - together with the corresponding userspace OpenGL libraries, - which are provided as binaries only at: - https://github.com/bootlin/mali-blobs - - sunxi-mali-mainline-driver requires a Linux kernel >= 4.4 - with the following options enabled: - - - CONFIG_CMA - - CONFIG_DMA_CMA - - starting from Linux Kernel >= 4.20 following options must be - enabled: - - CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM - - https://github.com/mripard/sunxi-mali/blob/master/README.md diff --git a/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash b/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash deleted file mode 100644 index f08e80f1147..00000000000 --- a/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 0197271dbf503e866dd4873091f61bb3de1f2c3031701aac1ba205d1e2f267ac sunxi-mali-mainline-driver-e4a91c95096bb31450b556fcb13f3c4ba79f60b4.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk b/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk deleted file mode 100644 index feffaa7ae6f..00000000000 --- a/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk +++ /dev/null @@ -1,41 +0,0 @@ -################################################################################ -# -# sunxi-mali-mainline-driver -# -################################################################################ - -SUNXI_MALI_MAINLINE_DRIVER_VERSION = e4a91c95096bb31450b556fcb13f3c4ba79f60b4 -SUNXI_MALI_MAINLINE_DRIVER_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_MAINLINE_DRIVER_VERSION)) -SUNXI_MALI_MAINLINE_DRIVER_DEPENDENCIES = linux -SUNXI_MALI_MAINLINE_DRIVER_LICENSE = GPL-2.0 -SUNXI_MALI_MAINLINE_DRIVER_LICENSE_FILES = LICENSE - -SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS = \ - $(LINUX_MAKE_FLAGS) \ - KDIR=$(LINUX_DIR) - -define SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES - ln -sf $(SUNXI_MALI_MAINLINE_REV)/series $(@D)/patches - $(SED) 's|quilt push -a|$(TOPDIR)/support/scripts/apply-patches.sh . ../patches|' \ - $(@D)/build.sh -endef - -SUNXI_MALI_MAINLINE_DRIVER_POST_PATCH_HOOKS += SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES - -define SUNXI_MALI_MAINLINE_DRIVER_BUILD_CMDS - cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \ - $(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -b -endef - -define SUNXI_MALI_MAINLINE_DRIVER_INSTALL_TARGET_CMDS - cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \ - $(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -i -endef - -define SUNXI_MALI_MAINLINE_DRIVER_LINUX_CONFIG_FIXUPS - $(call KCONFIG_ENABLE_OPT,CONFIG_CMA) - $(call KCONFIG_ENABLE_OPT,CONFIG_DMA_CMA) - $(call KCONFIG_ENABLE_OPT,CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM) -endef - -$(eval $(generic-package)) diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in deleted file mode 100644 index a2fb95bd79e..00000000000 --- a/package/sunxi-mali-mainline/Config.in +++ /dev/null @@ -1,42 +0,0 @@ -config BR2_PACKAGE_SUNXI_MALI_MAINLINE - bool "sunxi-mali-mainline" - depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm) - depends on BR2_TOOLCHAIN_USES_GLIBC - select BR2_PACKAGE_HAS_LIBEGL - select BR2_PACKAGE_HAS_LIBGLES - help - Install userspace Allwinner OpenGL libraries. - - https://github.com/bootlin/mali-blobs - -if BR2_PACKAGE_SUNXI_MALI_MAINLINE - -config BR2_PACKAGE_PROVIDES_LIBEGL - default "sunxi-mali-mainline" - -config BR2_PACKAGE_PROVIDES_LIBGLES - default "sunxi-mali-mainline" - -choice - prompt "Version" - default BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 - help - Select the version of the userspace module. - -config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 - bool "r6p2" -config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 - bool "r8p1" - -endchoice - -config BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION - string - default "r6p2" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 - default "r8p1" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 - -endif - -comment "sunxi-mali needs an EABIhf glibc toolchain" - depends on BR2_arm - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.hash b/package/sunxi-mali-mainline/sunxi-mali-mainline.hash deleted file mode 100644 index e1c18fd4f71..00000000000 --- a/package/sunxi-mali-mainline/sunxi-mali-mainline.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 72969ecf470b9e5ce787c2f8f36242926e1e892af0891924ee59a2cd206de39f sunxi-mali-mainline-d691cb93884ca8ac67860502117bbec283dc19aa.tar.gz -sha256 8a06bcae44a41a886f339b4338422415a786787f113e9ed6456ae117104a0b6a EULA_for_Mali_400MP_AW.pdf diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk deleted file mode 100644 index 701a1fbbb46..00000000000 --- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk +++ /dev/null @@ -1,49 +0,0 @@ -################################################################################ -# -# sunxi-mali-mainline -# -################################################################################ - -SUNXI_MALI_MAINLINE_VERSION = d691cb93884ca8ac67860502117bbec283dc19aa -SUNXI_MALI_MAINLINE_SITE = $(call github,bootlin,mali-blobs,$(SUNXI_MALI_MAINLINE_VERSION)) -SUNXI_MALI_MAINLINE_INSTALL_STAGING = YES -SUNXI_MALI_MAINLINE_PROVIDES = libegl libgles -SUNXI_MALI_MAINLINE_LICENSE = Allwinner End User Licence Agreement -SUNXI_MALI_MAINLINE_EULA_ORIGINAL = EULA\ for\ Mali\ 400MP\ _AW.pdf -SUNXI_MALI_MAINLINE_EULA_NO_SPACES = EULA_for_Mali_400MP_AW.pdf -SUNXI_MALI_MAINLINE_LICENSE_FILES = $(SUNXI_MALI_MAINLINE_EULA_NO_SPACES) - -SUNXI_MALI_MAINLINE_REV = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION)) - -ifeq ($(BR2_arm),y) -SUNXI_MALI_MAINLINE_ARCH=arm -else ifeq ($(BR2_aarch64),y) -SUNXI_MALI_MAINLINE_ARCH=arm64 -endif - -define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS - mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include - - cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \ - $(STAGING_DIR)/usr/lib/ - cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/ - - $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \ - $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc - $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \ - $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc -endef - -define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS - mkdir -p $(TARGET_DIR)/usr/lib - cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \ - $(TARGET_DIR)/usr/lib/ -endef - -define SUNXI_MALI_MAINLINE_FIXUP_LICENSE_FILE - mv $(@D)/$(SUNXI_MALI_MAINLINE_EULA_ORIGINAL) $(@D)/$(SUNXI_MALI_MAINLINE_EULA_NO_SPACES) -endef - -SUNXI_MALI_MAINLINE_POST_PATCH_HOOKS += SUNXI_MALI_MAINLINE_FIXUP_LICENSE_FILE - -$(eval $(generic-package)) diff --git a/package/sunxi-mali-utgard-driver/Config.in b/package/sunxi-mali-utgard-driver/Config.in new file mode 100644 index 00000000000..244283f44d0 --- /dev/null +++ b/package/sunxi-mali-utgard-driver/Config.in @@ -0,0 +1,39 @@ +comment "sunxi-mali-utgard-driver needs a Linux kernel to be built" + depends on BR2_PACKAGE_SUNXI_MALI_UTGARD + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER + bool "sunxi-mali-utgard-driver" + default y + depends on BR2_PACKAGE_SUNXI_MALI_UTGARD # runtime + depends on BR2_LINUX_KERNEL + select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra + help + This package builds and installs the Linux kernel driver for + the Mali Utgard GPU on Allwinner platforms, compatible with + recent Linux kernels (>= 4.4). Note that it should be + installed together with the corresponding userspace OpenGL + libraries, which are provided as binaries only at: + https://github.com/bootlin/mali-blobs + + sunxi-mali-utgard-driver requires a Linux kernel >= 4.4 + with the following options enabled: + + - CONFIG_CMA + - CONFIG_DMA_CMA + + starting from Linux Kernel >= 4.20 following options must be + enabled: + - CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM + + The following kernel command line options must be passed: + + - drm_kms_helper.drm_leak_fbdev_smem = 1 + since drm_kms_helper.drm_leak_fbdev_smem is set to 0 by + default + + - drm_kms_helper.drm_fbdev_overalloc >= 200 + since the driver requires at least double buffering and + fails to work with the default value(100). + + https://github.com/mripard/sunxi-mali/blob/master/README.md diff --git a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash new file mode 100644 index 00000000000..4b276fecb7c --- /dev/null +++ b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0197271dbf503e866dd4873091f61bb3de1f2c3031701aac1ba205d1e2f267ac sunxi-mali-utgard-driver-e4a91c95096bb31450b556fcb13f3c4ba79f60b4.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk new file mode 100644 index 00000000000..5f9090f492d --- /dev/null +++ b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# sunxi-mali-utgard-driver +# +################################################################################ + +SUNXI_MALI_UTGARD_DRIVER_VERSION = e4a91c95096bb31450b556fcb13f3c4ba79f60b4 +SUNXI_MALI_UTGARD_DRIVER_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_UTGARD_DRIVER_VERSION)) +SUNXI_MALI_UTGARD_DRIVER_DEPENDENCIES = linux +SUNXI_MALI_UTGARD_DRIVER_LICENSE = GPL-2.0 +SUNXI_MALI_UTGARD_DRIVER_LICENSE_FILES = LICENSE + +SUNXI_MALI_UTGARD_DRIVER_MAKE_OPTS = \ + $(LINUX_MAKE_FLAGS) \ + KDIR=$(LINUX_DIR) + +define SUNXI_MALI_UTGARD_DRIVER_USE_APPLY_PATCHES + ln -sf $(SUNXI_MALI_UTGARD_REV)/series $(@D)/patches + $(SED) 's|quilt push -a|$(TOPDIR)/support/scripts/apply-patches.sh . ../patches|' \ + $(@D)/build.sh +endef + +SUNXI_MALI_UTGARD_DRIVER_POST_PATCH_HOOKS += SUNXI_MALI_UTGARD_DRIVER_USE_APPLY_PATCHES + +define SUNXI_MALI_UTGARD_DRIVER_BUILD_CMDS + cd $(@D) && $(SUNXI_MALI_UTGARD_DRIVER_MAKE_OPTS) \ + $(SHELL) ./build.sh -r $(SUNXI_MALI_UTGARD_REV) -j $(PARALLEL_JOBS) -b +endef + +define SUNXI_MALI_UTGARD_DRIVER_INSTALL_TARGET_CMDS + cd $(@D) && $(SUNXI_MALI_UTGARD_DRIVER_MAKE_OPTS) \ + $(SHELL) ./build.sh -r $(SUNXI_MALI_UTGARD_REV) -j $(PARALLEL_JOBS) -i +endef + +define SUNXI_MALI_UTGARD_DRIVER_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_CMA) + $(call KCONFIG_ENABLE_OPT,CONFIG_DMA_CMA) + $(call KCONFIG_ENABLE_OPT,CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM) +endef + +$(eval $(generic-package)) diff --git a/package/sunxi-mali-utgard/Config.in b/package/sunxi-mali-utgard/Config.in new file mode 100644 index 00000000000..ff49ea03f17 --- /dev/null +++ b/package/sunxi-mali-utgard/Config.in @@ -0,0 +1,43 @@ +config BR2_PACKAGE_SUNXI_MALI_UTGARD + bool "sunxi-mali-utgard" + depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm) + depends on BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + help + Install userspace Allwinner OpenGL libraries for Mali + Utgard GPUs. + + https://github.com/bootlin/mali-blobs + +if BR2_PACKAGE_SUNXI_MALI_UTGARD + +config BR2_PACKAGE_PROVIDES_LIBEGL + default "sunxi-mali-utgard" + +config BR2_PACKAGE_PROVIDES_LIBGLES + default "sunxi-mali-utgard" + +choice + prompt "Version" + default BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 + help + Select the version of the userspace module. + +config BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 + bool "r6p2" +config BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 + bool "r8p1" + +endchoice + +config BR2_PACKAGE_SUNXI_MALI_UTGARD_REVISION + string + default "r6p2" if BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 + default "r8p1" if BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 + +endif + +comment "sunxi-mali-utgard needs an EABIhf glibc toolchain" + depends on BR2_arm + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF diff --git a/package/sunxi-mali-mainline/egl.pc b/package/sunxi-mali-utgard/egl.pc similarity index 100% rename from package/sunxi-mali-mainline/egl.pc rename to package/sunxi-mali-utgard/egl.pc diff --git a/package/sunxi-mali-mainline/glesv2.pc b/package/sunxi-mali-utgard/glesv2.pc similarity index 100% rename from package/sunxi-mali-mainline/glesv2.pc rename to package/sunxi-mali-utgard/glesv2.pc diff --git a/package/sunxi-mali-utgard/sunxi-mali-utgard.hash b/package/sunxi-mali-utgard/sunxi-mali-utgard.hash new file mode 100644 index 00000000000..c86b927ea5f --- /dev/null +++ b/package/sunxi-mali-utgard/sunxi-mali-utgard.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 b5e7e8f9f2886ed0b273f72ea16ae4868711726fe33e3d80ef24e86269c90fd2 sunxi-mali-utgard-418f55585e76f375792dbebb3e97532f0c1c556d.tar.gz +sha256 8a06bcae44a41a886f339b4338422415a786787f113e9ed6456ae117104a0b6a EULA_for_Mali_400MP_AW.pdf diff --git a/package/sunxi-mali-utgard/sunxi-mali-utgard.mk b/package/sunxi-mali-utgard/sunxi-mali-utgard.mk new file mode 100644 index 00000000000..f6936679558 --- /dev/null +++ b/package/sunxi-mali-utgard/sunxi-mali-utgard.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# sunxi-mali-utgard +# +################################################################################ + +SUNXI_MALI_UTGARD_VERSION = 418f55585e76f375792dbebb3e97532f0c1c556d +SUNXI_MALI_UTGARD_SITE = $(call github,bootlin,mali-blobs,$(SUNXI_MALI_UTGARD_VERSION)) +SUNXI_MALI_UTGARD_INSTALL_STAGING = YES +SUNXI_MALI_UTGARD_PROVIDES = libegl libgles +SUNXI_MALI_UTGARD_LICENSE = Allwinner End User Licence Agreement +SUNXI_MALI_UTGARD_EULA_ORIGINAL = EULA\ for\ Mali\ 400MP\ _AW.pdf +SUNXI_MALI_UTGARD_EULA_NO_SPACES = EULA_for_Mali_400MP_AW.pdf +SUNXI_MALI_UTGARD_LICENSE_FILES = $(SUNXI_MALI_UTGARD_EULA_NO_SPACES) + +SUNXI_MALI_UTGARD_REV = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_UTGARD_REVISION)) + +ifeq ($(BR2_arm),y) +SUNXI_MALI_UTGARD_ARCH=arm +else ifeq ($(BR2_aarch64),y) +SUNXI_MALI_UTGARD_ARCH=arm64 +endif + +define SUNXI_MALI_UTGARD_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include + + cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/fbdev/*.so* \ + $(STAGING_DIR)/usr/lib/ + cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/ + + $(INSTALL) -D -m 0644 package/sunxi-mali-utgard/egl.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc + $(INSTALL) -D -m 0644 package/sunxi-mali-utgard/glesv2.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc +endef + +define SUNXI_MALI_UTGARD_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/lib + cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/fbdev/*.so* \ + $(TARGET_DIR)/usr/lib/ +endef + +define SUNXI_MALI_UTGARD_FIXUP_LICENSE_FILE + mv $(@D)/$(SUNXI_MALI_UTGARD_EULA_ORIGINAL) $(@D)/$(SUNXI_MALI_UTGARD_EULA_NO_SPACES) +endef + +SUNXI_MALI_UTGARD_POST_PATCH_HOOKS += SUNXI_MALI_UTGARD_FIXUP_LICENSE_FILE + +$(eval $(generic-package)) diff --git a/package/sunxi-tools/sunxi-tools.mk b/package/sunxi-tools/sunxi-tools.mk index c2913ee8f70..59d1f3b5a01 100644 --- a/package/sunxi-tools/sunxi-tools.mk +++ b/package/sunxi-tools/sunxi-tools.mk @@ -38,7 +38,7 @@ endef define HOST_SUNXI_TOOLS_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) CROSS_COMPILE="" CC="$(HOSTCC)" \ PREFIX=$(HOST_DIR) EXTRA_CFLAGS="$(HOST_CFLAGS)" \ - LDFLAGS="$(HOST_LDFLAGS)" -C $(@D) install-tools install-misc + LDFLAGS="$(HOST_LDFLAGS)" -C $(@D) install-tools install-misc endef define SUNXI_TOOLS_BUILD_CMDS diff --git a/package/supertux/0001-CMakeLists.txt-compile-squirrel-with-fPIC.patch b/package/supertux/0001-CMakeLists.txt-compile-squirrel-with-fPIC.patch deleted file mode 100644 index 9fac20a3f8e..00000000000 --- a/package/supertux/0001-CMakeLists.txt-compile-squirrel-with-fPIC.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 23d0bb0ef0fde52d1cffe235edead09287326fb4 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 4 Oct 2020 01:11:30 +0200 -Subject: [PATCH] CMakeLists.txt: compile squirrel with -fPIC - -Ensure that squirrel is compiled with -fPIC to allow linking the static -libraries with dynamically linked programs. This is not a requirement -for most architectures but is mandatory for ARM. - -Fixes: -x86_64-buildroot-linux-musl/bin/ld: CMakeFiles/sq_static.dir/sq.c.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC -x86_64-buildroot-linux-musl/bin/ld: final link failed: nonrepresentable section on output - -Signed-off-by: Romain Naour ---- - CMakeLists.txt | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8b1dafa1e..07c603cce 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -412,7 +412,8 @@ ExternalProject_Add(squirrel - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} - -DCMAKE_INSTALL_PREFIX=${SQUIRREL_PREFIX} -- -DINSTALL_INC_DIR=include) -+ -DINSTALL_INC_DIR=include -+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON) - - if(WIN32) - add_library(squirrel_lib SHARED IMPORTED) --- -2.25.4 - diff --git a/package/supertux/0001-Fix-build-on-PowerPC.patch b/package/supertux/0001-Fix-build-on-PowerPC.patch deleted file mode 100644 index e40abac6b00..00000000000 --- a/package/supertux/0001-Fix-build-on-PowerPC.patch +++ /dev/null @@ -1,81 +0,0 @@ -From cfcd478fe69ca1b3923f388a349a4f67ac2c03aa Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Sun, 3 Feb 2019 13:22:57 -0600 -Subject: [PATCH] Fix build on PowerPC - -On PowerPC-based architectures, SDL includes the altivec.h header -for SIMD intrinsics. Unfortunately, altivec.h defines some types which -conflict with C++ types like bool and std::vector. This commit adds -a wrapper for altivec.h which resolves these conflicts and allows -supertux to build and run. - -Tested on a ppc64le workstation. - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/SuperTux/supertux/pull/1056/commits/cfcd478fe69ca1b3923f388a349a4f67ac2c03aa] ---- - CMakeLists.txt | 15 ++++++++++++++- - src/ppc/altivec.h | 6 ++++++ - 2 files changed, 20 insertions(+), 1 deletion(-) - create mode 100644 src/ppc/altivec.h - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 70b9673b50..b9b6ea3ea6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -376,6 +376,11 @@ endif() - - include(ConfigureChecks) - -+# Include altivec wrapper on ppc -+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*") -+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/ppc) -+endif() -+ - - ## Also build external/squirrel - -@@ -420,6 +425,13 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt) - message(FATAL_ERROR "tinygettext submodule is not checked out or ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt is missing") - endif() - -+# Include altivec wrapper on ppc -+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*") -+ set(TINYGETTEXT_CXX_FLAGS "-isystem ${CMAKE_CURRENT_SOURCE_DIR}/src/ppc ${CMAKE_CXX_FLAGS}") -+else() -+ set(TINYGETTEXT_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+endif() -+ - set(TINYGETTEXT_PREFIX ${CMAKE_BINARY_DIR}/tinygettext/) - ExternalProject_Add(tinygettext - SOURCE_DIR "${CMAKE_SOURCE_DIR}/external/tinygettext/" -@@ -428,7 +440,7 @@ ExternalProject_Add(tinygettext - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -+ -DCMAKE_CXX_FLAGS=${TINYGETTEXT_CXX_FLAGS} - -DBUILD_SHARED_LIBS=OFF - -DHAVE_SDL=ON - -DVCPKG_BUILD=${VCPKG_BUILD} -@@ -443,6 +455,7 @@ set_target_properties(tinygettext_lib PROPERTIES IMPORTED_LOCATION "${TINYGETTEX - - include_directories(SYSTEM ${TINYGETTEXT_PREFIX}/include) - -+ - ## external/SDL_ttf with patches - find_package(Freetype REQUIRED) - find_package(RAQM) -diff --git a/src/ppc/altivec.h b/src/ppc/altivec.h -new file mode 100644 -index 0000000000..7ede8246ed ---- /dev/null -+++ b/src/ppc/altivec.h -@@ -0,0 +1,6 @@ -+#include_next -+ -+// The altivec headers redefine vector and bool which conflict -+// with C++'s bool type and std::vector. Undefine them here. -+#undef vector -+#undef bool diff --git a/package/supertux/0002-Fix-build-with-boost-1-73.patch b/package/supertux/0002-Fix-build-with-boost-1-73.patch deleted file mode 100644 index 000e5abcabf..00000000000 --- a/package/supertux/0002-Fix-build-with-boost-1-73.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4221d54385b69d6c40eff2c67bc6bad7ed165a44 Mon Sep 17 00:00:00 2001 -From: Lars Wendler -Date: Sat, 9 May 2020 03:04:02 +0200 -Subject: [PATCH] Fix build with boost-1.73 - -[Retrieved from: -https://github.com/SuperTux/supertux/commit/4221d54385b69d6c40eff2c67bc6bad7ed165a44] -Signed-off-by: Fabrice Fontaine ---- - src/editor/object_settings.hpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/editor/object_settings.hpp b/src/editor/object_settings.hpp -index bc9049a94e..15b77b1e46 100644 ---- a/src/editor/object_settings.hpp -+++ b/src/editor/object_settings.hpp -@@ -22,6 +22,8 @@ - - #include "editor/object_option.hpp" - -+#include -+ - class Color; - enum class Direction; - enum class WalkMode; diff --git a/package/supertux/Config.in b/package/supertux/Config.in index 5cacdd658ea..e8e96a3ae5e 100644 --- a/package/supertux/Config.in +++ b/package/supertux/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_SUPERTUX depends on BR2_PACKAGE_XORG7 # libglew, SDL2 OpenGL (GLX) depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem depends on BR2_USE_MMU # SDL2 OpenGL (GLX) depends on !BR2_STATIC_LIBS # SDL2 depends on BR2_USE_WCHAR # Boost @@ -15,6 +16,7 @@ config BR2_PACKAGE_SUPERTUX select BR2_PACKAGE_BOOST_LOCALE select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_GLM select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBGLEW select BR2_PACKAGE_LIBOGG @@ -25,6 +27,7 @@ config BR2_PACKAGE_SUPERTUX select BR2_PACKAGE_SDL2 select BR2_PACKAGE_SDL2_IMAGE select BR2_PACKAGE_SDL2_OPENGL + select BR2_PACKAGE_ZLIB help SuperTux is a free classic 2D jump'n run sidescroller game in a style similar to the original Super Mario games covered @@ -36,6 +39,7 @@ comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 6, NPTL, dynamic l depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/package/supertux/supertux.hash b/package/supertux/supertux.hash index 2b3ca799d70..f28c06b5e7d 100644 --- a/package/supertux/supertux.hash +++ b/package/supertux/supertux.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 c4c3e5fa6f90e87b8c5ad6b22a179e9a9839bf997e7f219e22bbcd1c97223ac0 SuperTux-v0.6.0-Source.tar.gz +sha256 f7940e6009c40226eb34ebab8ffb0e3a894892d891a07b35d0e5762dd41c79f6 SuperTux-v0.6.3-Source.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.txt -sha256 35c61f69239ff2f55fe0fa5dee5bad6bff311a07c47fa049552e0973a47c07bb data/AUTHORS +sha256 a000d91146a61b44bdb79c3d2737e82d488b6cd65a23e0415e56915233def0a0 data/AUTHORS diff --git a/package/supertux/supertux.mk b/package/supertux/supertux.mk index e4a4630918b..3941632f51b 100644 --- a/package/supertux/supertux.mk +++ b/package/supertux/supertux.mk @@ -4,19 +4,19 @@ # ################################################################################ -SUPERTUX_VERSION = 0.6.0 +SUPERTUX_VERSION = 0.6.3 SUPERTUX_SITE = https://github.com/SuperTux/supertux/releases/download/v$(SUPERTUX_VERSION) SUPERTUX_SOURCE = SuperTux-v$(SUPERTUX_VERSION)-Source.tar.gz # Supertux itself is GPL-3.0+, but it bundles a few libraries with different # licenses (sexp-cpp, squirrel, tinygettext) which are linked statically. -SUPERTUX_LICENSE = GPL-3.0+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, GPL-2.0+ (images music sounds) +SUPERTUX_LICENSE = GPL-3.0+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, CC-BY-SA-4.0, GPL-2.0+ (images music sounds) SUPERTUX_LICENSE_FILES = LICENSE.txt data/AUTHORS # Use bundled squirrel, tinygettext sexp-cpp packages which are hardcoded in # the CMake build system. -SUPERTUX_DEPENDENCIES = host-pkgconf boost freetype libcurl libgl libglew \ - libogg libpng libvorbis openal physfs sdl2 sdl2_image +SUPERTUX_DEPENDENCIES = host-pkgconf boost freetype glm libcurl libgl libglew \ + libogg libpng libvorbis openal physfs sdl2 sdl2_image zlib # CMAKE_BUILD_TYPE=Release: disable profiling code (-pg) # ENABLE_BOOST_STATIC_LIBS=OFF: use boost shared libraries since supertux diff --git a/package/supertuxkart/Config.in b/package/supertuxkart/Config.in index 99f2310d827..319415754a0 100644 --- a/package/supertuxkart/Config.in +++ b/package/supertuxkart/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_SUPERTUXKART depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP # openal - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # openal + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz, openal depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS # openal depends on BR2_PACKAGE_HAS_LIBGL @@ -15,16 +15,16 @@ config BR2_PACKAGE_SUPERTUXKART select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_LIBFRIBIDI - select BR2_PACKAGE_LIBGLEW select BR2_PACKAGE_LIBOGG select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_LIBSQUISH select BR2_PACKAGE_LIBVORBIS - select BR2_PACKAGE_NETTLE if !BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS select BR2_PACKAGE_OPENAL + select BR2_PACKAGE_SDL2 select BR2_PACKAGE_XLIB_LIBXRANDR select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID if BR2_PACKAGE_BLUEZ5_UTILS && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # runtime help Karts. Nitro. Action! SuperTuxKart is a free 3D arcade kart racer with multiple karts, tracks and modes you can play. diff --git a/package/supertuxkart/supertuxkart.hash b/package/supertuxkart/supertuxkart.hash index 9654ad24a28..306634d28ec 100644 --- a/package/supertuxkart/supertuxkart.hash +++ b/package/supertuxkart/supertuxkart.hash @@ -1,8 +1,3 @@ # Locally computed -sha256 e9b02b0b11ab68aacaec38306903feffe59a501224805cd3645cebf10e880ae8 supertuxkart-1.1-src.tar.xz -# From https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/1.1/ -sha1 68be26f4b15d30dede26563cbcc6de999036c5e0 supertuxkart-1.1-src.tar.xz -md5 731569c58428f32a0e46943fad7ba1e3 supertuxkart-1.1-src.tar.xz - -# Locally computed +sha256 eeabeb0d9801688a218f6f0a76ea3546a46a322ccaca9a258148ecacfe083ffd SuperTuxKart-1.3-src.tar.xz sha256 d27207a5213f746aac53893e9ecc18456e9595d3ffa662bd1ec9eb10787c214a COPYING diff --git a/package/supertuxkart/supertuxkart.mk b/package/supertuxkart/supertuxkart.mk index 97cd2a40b8f..8ec366f7921 100644 --- a/package/supertuxkart/supertuxkart.mk +++ b/package/supertuxkart/supertuxkart.mk @@ -4,9 +4,11 @@ # ################################################################################ -SUPERTUXKART_VERSION = 1.1 -SUPERTUXKART_SOURCE = supertuxkart-$(SUPERTUXKART_VERSION)-src.tar.xz -SUPERTUXKART_SITE = http://downloads.sourceforge.net/project/supertuxkart/SuperTuxKart/$(SUPERTUXKART_VERSION) +SUPERTUXKART_VERSION = 1.3 +SUPERTUXKART_SOURCE = SuperTuxKart-$(SUPERTUXKART_VERSION)-src.tar.xz +# Do not use the github helper here, the generated tarball is *NOT* +# the same as the one uploaded by upstream for the release. +SUPERTUXKART_SITE = https://github.com/supertuxkart/stk-code/releases/download/$(SUPERTUXKART_VERSION) # Supertuxkart itself is GPL-3.0+, but it bundles a few libraries with different # licenses. Irrlicht, bullet and angelscript have Zlib license, while glew is @@ -21,14 +23,13 @@ SUPERTUXKART_DEPENDENCIES = \ harfbuzz \ jpeg \ libcurl \ - libfribidi \ libgl \ - libglew \ libogg \ libpng \ libsquish \ libvorbis \ openal \ + sdl2 \ xlib_libXrandr \ zlib @@ -37,7 +38,6 @@ SUPERTUXKART_DEPENDENCIES = \ # Disable In-game recorder (there is no libopenglrecorder package) SUPERTUXKART_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF \ -DBUILD_RECORDER=OFF \ - -DUSE_SYSTEM_GLEW=ON \ -DUSE_SYSTEM_ENET=ON \ -DUSE_SYSTEM_SQUISH=ON @@ -49,12 +49,12 @@ else SUPERTUXKART_CONF_OPTS += -DUSE_WIIUSE=OFF endif -# Prefer openssl (the default) over nettle. +# Prefer openssl (the default) over mbedtls ifeq ($(BR2_PACKAGE_OPENSSL),y) SUPERTUXKART_DEPENDENCIES += openssl SUPERTUXKART_CONF_OPTS += -DUSE_CRYPTO_OPENSSL=ON else -SUPERTUXKART_DEPENDENCIES += nettle +SUPERTUXKART_DEPENDENCIES += mbedtls SUPERTUXKART_CONF_OPTS += -DUSE_CRYPTO_OPENSSL=OFF endif diff --git a/package/supervisor/Config.in b/package/supervisor/Config.in index 623c3a836ea..8ba19dc0006 100644 --- a/package/supervisor/Config.in +++ b/package/supervisor/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_SUPERVISOR bool "supervisor" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_MELD3 + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime dependency help A client/server system that allows its users to control a @@ -10,5 +9,4 @@ config BR2_PACKAGE_SUPERVISOR http://supervisord.org/ comment "supervisor needs a python interpreter" - depends on !BR2_PACKAGE_PYTHON depends on !BR2_PACKAGE_PYTHON3 diff --git a/package/supervisor/supervisor.hash b/package/supervisor/supervisor.hash index 98a03aa1bef..f6e9cf97b1b 100644 --- a/package/supervisor/supervisor.hash +++ b/package/supervisor/supervisor.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 2dc86fe0476e945e61483d614ceb2cf4f93b95282eb243bdf792621994360383 supervisor-4.1.0.tar.gz -sha256 7b8dbd54ab1543b07b2fc5f6f5ab50d89d26c1c4952af93a579d8c52c56b8de4 COPYRIGHT.txt -sha256 4c35fda9f70bb7883fd94e5a4d5addd88ad1a6d5d15e21c9d17c4d96fdc5e369 LICENSES.txt +sha256 5b2b8882ec8a3c3733cce6965cc098b6d80b417f21229ab90b18fe551d619f90 supervisor-4.2.2.tar.gz +sha256 7b8dbd54ab1543b07b2fc5f6f5ab50d89d26c1c4952af93a579d8c52c56b8de4 COPYRIGHT.txt +sha256 4c35fda9f70bb7883fd94e5a4d5addd88ad1a6d5d15e21c9d17c4d96fdc5e369 LICENSES.txt diff --git a/package/supervisor/supervisor.mk b/package/supervisor/supervisor.mk index 424f46a7c28..ad34c031e40 100644 --- a/package/supervisor/supervisor.mk +++ b/package/supervisor/supervisor.mk @@ -4,10 +4,11 @@ # ################################################################################ -SUPERVISOR_VERSION = 4.1.0 -SUPERVISOR_SITE = https://files.pythonhosted.org/packages/de/87/ee1ad8fa533a4b5f2c7623f4a2b585d3c1947af7bed8e65bc7772274320e +SUPERVISOR_VERSION = 4.2.2 +SUPERVISOR_SITE = https://files.pythonhosted.org/packages/d3/7f/c780b7471ba0ff4548967a9f7a8b0bfce222c3a496c3dfad0164172222b0 SUPERVISOR_LICENSE = BSD-like, rdflib (http_client.py), PSF (medusa) SUPERVISOR_LICENSE_FILES = COPYRIGHT.txt LICENSES.txt +SUPERVISOR_CPE_ID_VENDOR = supervisord SUPERVISOR_SETUP_TYPE = setuptools define SUPERVISOR_INSTALL_CONF_FILES diff --git a/package/suricata/suricata.hash b/package/suricata/suricata.hash index 8395177811c..032546fd929 100644 --- a/package/suricata/suricata.hash +++ b/package/suricata/suricata.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 5e4647a07cb31b5d6d0049972a45375c137de908a964a44e2d6d231fa3ad4b52 suricata-6.0.2.tar.gz +sha256 0d4197047c84ba070dfc6b1d9f9ee92f52a71403bfac0e29b2554bb21fe00754 suricata-6.0.5.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/suricata/suricata.mk b/package/suricata/suricata.mk index ab8f27c3139..36e641bf909 100644 --- a/package/suricata/suricata.mk +++ b/package/suricata/suricata.mk @@ -4,10 +4,11 @@ # ################################################################################ -SURICATA_VERSION = 6.0.2 +SURICATA_VERSION = 6.0.5 SURICATA_SITE = https://www.openinfosecfoundation.org/download SURICATA_LICENSE = GPL-2.0 SURICATA_LICENSE_FILES = COPYING LICENSE +SURICATA_CPE_ID_VENDOR = oisf # 0001-python-ensure-proper-shabang-on-python-scripts.patch # 0002-configure.ac-allow-the-user-to-override-RUST_TARGET.patch SURICATA_AUTORECONF = YES @@ -115,9 +116,9 @@ else SURICATA_CONF_OPTS += --disable-luajit endif -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) SURICATA_CONF_OPTS += --enable-python -SURICATA_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) +SURICATA_DEPENDENCIES += python3 else SURICATA_CONF_OPTS += --disable-python endif diff --git a/package/swupdate/0001-diskpart-force-kernel-to-reread-partition-table.patch b/package/swupdate/0001-diskpart-force-kernel-to-reread-partition-table.patch deleted file mode 100644 index 5964d1b96f8..00000000000 --- a/package/swupdate/0001-diskpart-force-kernel-to-reread-partition-table.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 305a7a5a74a612801d9df2b2efc86dd952b8c4e7 Mon Sep 17 00:00:00 2001 -From: Stefano Babic -Date: Tue, 9 Jun 2020 13:58:06 +0000 -Subject: [PATCH] diskpart: force kernel to reread partition table - -After writing a partition table to disk, the kernel should be informed -(like the partconf tool does), else it is not possible to install images -in the new created partitions. - -Signed-off-by: Stefano Babic -Signed-off-by: Joris Offouga ---- - handlers/diskpart_handler.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/handlers/diskpart_handler.c b/handlers/diskpart_handler.c -index 16adc17..372412b 100644 ---- a/handlers/diskpart_handler.c -+++ b/handlers/diskpart_handler.c -@@ -273,7 +273,8 @@ static int diskpart(struct img_type *img, - /* - * Everything done, write into disk - */ -- ret = fdisk_write_disklabel(cxt); -+ ret = fdisk_write_disklabel(cxt) | -+ fdisk_reread_partition_table(cxt); - - handler_exit: - if (fdisk_deassign_device(cxt, 0)) --- -2.25.1 - diff --git a/package/swupdate/0002-Shellscript-stops-before-completing.patch b/package/swupdate/0002-Shellscript-stops-before-completing.patch deleted file mode 100644 index d91438893b2..00000000000 --- a/package/swupdate/0002-Shellscript-stops-before-completing.patch +++ /dev/null @@ -1,52 +0,0 @@ -From bd08e45d7b25f06da2fc6dc824146b471db5f1f4 Mon Sep 17 00:00:00 2001 -From: Stefano Babic -Date: Tue, 16 Jun 2020 10:29:55 +0200 -Subject: [PATCH] Shellscript stops before completing - -Commit 8fb94d7 reworks the way shell script are called, redirecting -stdout and stderr to SWUpdate. A shell script runs then in a child -process. Under some circumstances, SWUpdate closes the forked process -before the child process completes. - -Be sure that the child process has terminated before to go on. - -Signed-off-by: Stefano Babic -Reported-by: Piotr Piwko -Tested-by: Piotr Piwko -Signed-off-by: Joris Offouga ---- - core/pctl.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/core/pctl.c b/core/pctl.c -index 8b1c667..01ad540 100644 ---- a/core/pctl.c -+++ b/core/pctl.c -@@ -263,6 +263,7 @@ int run_system_cmd(const char *cmd) - } - } else { - int fds[2]; -+ pid_t w; - - close(stdoutpipe[PIPE_WRITE]); - close(stderrpipe[PIPE_WRITE]); -@@ -276,7 +277,6 @@ int run_system_cmd(const char *cmd) - * and from stderr (of the child process) as ERROR - */ - do { -- pid_t w; - int n1 = 0; - struct timeval tv; - fd_set readfds; -@@ -373,7 +373,7 @@ int run_system_cmd(const char *cmd) - } - } - } while (ret > 0 && n1 > 0); -- } while (!WIFEXITED(wstatus)); -+ } while (w != process_id); - - close(stdoutpipe[PIPE_READ]); - close(stderrpipe[PIPE_READ]); --- -2.25.1 - diff --git a/package/swupdate/10-mongoose-args b/package/swupdate/10-mongoose-args new file mode 100644 index 00000000000..d0b0f8be94c --- /dev/null +++ b/package/swupdate/10-mongoose-args @@ -0,0 +1 @@ +SWUPDATE_WEBSERVER_ARGS="-r /var/www/swupdate ${SWUPDATE_MONGOOSE_EXTRA_ARGS:--p 8080}" diff --git a/package/swupdate/90-start-progress b/package/swupdate/90-start-progress new file mode 100644 index 00000000000..3b0eb5e7d7c --- /dev/null +++ b/package/swupdate/90-start-progress @@ -0,0 +1 @@ +exec /usr/bin/swupdate-progress -w -r & diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in index e87f695861a..7d9fc90e10c 100644 --- a/package/swupdate/Config.in +++ b/package/swupdate/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_SWUPDATE bool "swupdate" + depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() # swupdate requires a parser and uses libconfig as default @@ -59,9 +60,25 @@ config BR2_PACKAGE_SWUPDATE_CONFIG I you wish to use your own modified swupdate configuration file specify the config file location with this option. +config BR2_PACKAGE_SWUPDATE_USB + bool "swupdate usb" + depends on BR2_PACKAGE_SYSTEMD + help + Enable update from USB disk. + +comment "swupdate usb needs systemd" + depends on !BR2_PACKAGE_SYSTEMD + +config BR2_PACKAGE_SWUPDATE_WEBSERVER + bool "swupdate webserver" + default y + help + Enable update from remote using a web server on the target. + config BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE bool "install default website" default y + depends on BR2_PACKAGE_SWUPDATE_WEBSERVER help Install the provided website to /var/www/swupdate. @@ -70,6 +87,6 @@ config BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE installed to /var/www/swupdate. endif -comment "swupdate needs a toolchain w/ threads" +comment "swupdate needs a toolchain w/ dynamic library, threads" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/swupdate/swupdate-progress.service b/package/swupdate/swupdate-progress.service new file mode 100644 index 00000000000..0d464bb420c --- /dev/null +++ b/package/swupdate/swupdate-progress.service @@ -0,0 +1,9 @@ +[Unit] +Description=swupdate progress service +After=swupdate.service + +[Service] +ExecStart=/usr/bin/swupdate-progress -r -w + +[Install] +WantedBy=swupdate.service diff --git a/package/swupdate/swupdate-usb.rules b/package/swupdate/swupdate-usb.rules new file mode 100644 index 00000000000..72e003d74d7 --- /dev/null +++ b/package/swupdate/swupdate-usb.rules @@ -0,0 +1 @@ +ACTION=="add", KERNEL=="sd*", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", ENV{ID_FS_USAGE}=="filesystem", TAG+="systemd", ENV{SYSTEMD_WANTS}+="swupdate-usb@%k.service" diff --git a/package/swupdate/swupdate-usb@.service b/package/swupdate/swupdate-usb@.service new file mode 100644 index 00000000000..eda9d1539c0 --- /dev/null +++ b/package/swupdate/swupdate-usb@.service @@ -0,0 +1,8 @@ +[Unit] +Description=usb media swupdate service +Requires=swupdate-progress.service + +[Service] +ExecStartPre=/bin/mount /dev/%I /mnt +ExecStart=/bin/sh -c "swupdate-client -v /mnt/*.swu" +ExecStopPost=/bin/umount /mnt diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash index 40f978d2257..e431ecf40ba 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,6 +1,12 @@ # Locally calculated -sha256 132df2ff1ad41c7aabd0fbef6a23d28607cbd5cad52aab050c4822977a107486 swupdate-2020.04.tar.gz -sha256 43492b377cf2fb67942d1dd231146bd4e6578646ad13ef289297c9dd75cbc478 Licenses/Exceptions -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Licenses/lgpl-2.1.txt -sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e Licenses/mit.txt +sha256 4d078e57bb91e17025ee8cb1bb54c25532e8d2dbe329bba6a7a0328ac34a07e3 swupdate-2021.11.tar.gz +sha256 4cf04ed34ff0ebbf5c71345b56e6af5093fc17206364cca0ebbae92ef3940683 LICENSES/BSD-1-Clause.txt +sha256 e27a3e87706b3aa5ff2e50eaafe2e6ed5397fbf2d7679eaf444a6d000518a3a6 LICENSES/BSD-3-Clause.txt +sha256 0558101984550fa84d1d13c2af11d116c20079d2be58711e8d99cadce7009192 LICENSES/CC0-1.0.txt +sha256 cde7883b9050a1104f4ac19a1572aafd6e5d7323b68351aaf51fbf4beba54966 LICENSES/CC-BY-SA-4.0.txt +sha256 5d51b52a40391a26cbb2accf5dc5d1c165de49a022d9d5efb50b22204d2682ec LICENSES/GPL-2.0-only.txt +sha256 43fd695e9b198a9a4997cc2d02e10d26cae937e2c4930b9eff9c6d349c85cd32 LICENSES/GPL-2.0-or-later.txt +sha256 492e801f1b0632185431472f148885a4fe8e990b10da57b4986a8bcf140a5374 LICENSES/ISC.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1-or-later.txt +sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSES/MIT.txt +sha256 8f2368a292194be10b1223a8875815240a9208bb30785cb13d8849eb6a750fe9 LICENSES/OFL-1.1.txt diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index d96a0c2e07e..065ae772ba9 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,19 +4,34 @@ # ################################################################################ -SWUPDATE_VERSION = 2020.04 +SWUPDATE_VERSION = 2021.11 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) -SWUPDATE_LICENSE = GPL-2.0+ with OpenSSL exception, LGPL-2.1+, MIT -SWUPDATE_LICENSE_FILES = Licenses/Exceptions Licenses/gpl-2.0.txt \ - Licenses/lgpl-2.1.txt Licenses/mit.txt +SWUPDATE_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1+, MIT, ISC, BSD-1-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, OFL-1.1 +SWUPDATE_LICENSE_FILES = LICENSES/BSD-1-Clause.txt \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/CC0-1.0.txt \ + LICENSES/CC-BY-SA-4.0.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-2.0-or-later.txt \ + LICENSES/ISC.txt \ + LICENSES/LGPL-2.1-or-later.txt \ + LICENSES/MIT.txt \ + LICENSES/OFL-1.1.txt # swupdate uses $CROSS-cc instead of $CROSS-gcc, which is not # available in all external toolchains, and use CC for linking. Ensure # TARGET_CC is used for both. -SWUPDATE_MAKE_ENV = CC="$(TARGET_CC)" LD="$(TARGET_CC)" +SWUPDATE_MAKE_ENV = CC="$(TARGET_CC)" LD="$(TARGET_CC)" SKIP_STRIP=y # swupdate bundles its own version of mongoose (version 6.16) +ifeq ($(BR2_PACKAGE_E2FSPROGS),y) +SWUPDATE_DEPENDENCIES += e2fsprogs +SWUPDATE_MAKE_ENV += HAVE_LIBEXT2FS=y +else +SWUPDATE_MAKE_ENV += HAVE_LIBEXT2FS=n +endif + ifeq ($(BR2_PACKAGE_EFIBOOTMGR),y) SWUPDATE_DEPENDENCIES += efibootmgr SWUPDATE_MAKE_ENV += HAVE_LIBEBGENV=y @@ -38,6 +53,13 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBARCHIVE=n endif +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y) +SWUPDATE_DEPENDENCIES += util-linux +SWUPDATE_MAKE_ENV += HAVE_LIBBLKID=y +else +SWUPDATE_MAKE_ENV += HAVE_LIBBLKID=n +endif + ifeq ($(BR2_PACKAGE_LIBCONFIG),y) SWUPDATE_DEPENDENCIES += libconfig SWUPDATE_MAKE_ENV += HAVE_LIBCONFIG=y @@ -52,6 +74,13 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n endif +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),y) +SWUPDATE_DEPENDENCIES += util-linux +SWUPDATE_MAKE_ENV += HAVE_LIBFDISK=y +else +SWUPDATE_MAKE_ENV += HAVE_LIBFDISK=n +endif + ifeq ($(BR2_PACKAGE_LIBGPIOD),y) SWUPDATE_DEPENDENCIES += libgpiod SWUPDATE_MAKE_ENV += HAVE_LIBGPIOD=y @@ -73,7 +102,7 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBWEBSOCKETS=n endif -ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER):$(BR2_STATIC_LIBS),y:) +ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf # defines the base name for the pkg-config file ("lua" or "luajit") define SWUPDATE_SET_LUA_VERSION @@ -84,6 +113,13 @@ else SWUPDATE_MAKE_ENV += HAVE_LUA=n endif +ifeq ($(BR2_PACKAGE_MBEDTLS),y) +SWUPDATE_DEPENDENCIES += mbedtls +SWUPDATE_MAKE_ENV += HAVE_MBEDTLS=y +else +SWUPDATE_MAKE_ENV += HAVE_MBEDTLS=n +endif + ifeq ($(BR2_PACKAGE_MTD),y) SWUPDATE_DEPENDENCIES += mtd SWUPDATE_MAKE_ENV += HAVE_LIBMTD=y @@ -93,25 +129,33 @@ SWUPDATE_MAKE_ENV += HAVE_LIBMTD=n SWUPDATE_MAKE_ENV += HAVE_LIBUBI=n endif -# OpenSSL or mbedTLS ifeq ($(BR2_PACKAGE_OPENSSL),y) SWUPDATE_DEPENDENCIES += openssl SWUPDATE_MAKE_ENV += HAVE_LIBSSL=y SWUPDATE_MAKE_ENV += HAVE_LIBCRYPTO=y -SWUPDATE_MAKE_ENV += HAVE_MBEDTLS=n else SWUPDATE_MAKE_ENV += HAVE_LIBSSL=n SWUPDATE_MAKE_ENV += HAVE_LIBCRYPTO=n -ifeq ($(BR2_PACKAGE_MBEDTLS),y) -SWUPDATE_DEPENDENCIES += mbedtls -SWUPDATE_MAKE_ENV += HAVE_MBEDTLS=y -else -SWUPDATE_MAKE_ENV += HAVE_MBEDTLS=n endif + +ifeq ($(BR2_PACKAGE_P11_KIT),y) +SWUPDATE_DEPENDENCIES += p11-kit +SWUPDATE_MAKE_ENV += HAVE_P11KIT=y +else +SWUPDATE_MAKE_ENV += HAVE_P11KIT=n endif ifeq ($(BR2_PACKAGE_SYSTEMD),y) SWUPDATE_DEPENDENCIES += systemd +SWUPDATE_MAKE_ENV += HAVE_LIBSYSTEMD=y +define SWUPDATE_SET_SYSTEMD + $(call KCONFIG_ENABLE_OPT,CONFIG_SYSTEMD) +endef +else +SWUPDATE_MAKE_ENV += HAVE_LIBSYSTEMD=n +define SWUPDATE_SET_SYSTEMD + $(call KCONFIG_DISABLE_OPT,CONFIG_SYSTEMD) +endef endif ifeq ($(BR2_PACKAGE_LIBUBOOTENV),y) @@ -121,6 +165,20 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBUBOOTENV=n endif +ifeq ($(BR2_PACKAGE_WOLFSSL),y) +SWUPDATE_DEPENDENCIES += wolfssl +SWUPDATE_MAKE_ENV += HAVE_WOLFSSL=y +else +SWUPDATE_MAKE_ENV += HAVE_WOLFSSL=n +endif + +ifeq ($(BR2_PACKAGE_ZCHUNK),y) +SWUPDATE_DEPENDENCIES += zchunk +SWUPDATE_MAKE_ENV += HAVE_ZCK=y +else +SWUPDATE_MAKE_ENV += HAVE_ZCK=n +endif + ifeq ($(BR2_PACKAGE_ZEROMQ),y) SWUPDATE_DEPENDENCIES += zeromq SWUPDATE_MAKE_ENV += HAVE_LIBZEROMQ=y @@ -144,6 +202,19 @@ endif ifeq ($(BR2_PACKAGE_LIBRSYNC),y) SWUPDATE_DEPENDENCIES += librsync +SWUPDATE_MAKE_ENV += HAVE_LIBRSYNC=y +else +SWUPDATE_MAKE_ENV += HAVE_LIBRSYNC=n +endif + +ifeq ($(BR2_PACKAGE_SWUPDATE_WEBSERVER),y) +define SWUPDATE_SET_WEBSERVER + $(call KCONFIG_ENABLE_OPT,CONFIG_WEBSERVER) +endef +else +define SWUPDATE_SET_WEBSERVER + $(call KCONFIG_DISABLE_OPT,CONFIG_WEBSERVER) +endef endif SWUPDATE_BUILD_CONFIG = $(@D)/.config @@ -151,28 +222,24 @@ SWUPDATE_BUILD_CONFIG = $(@D)/.config SWUPDATE_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_SWUPDATE_CONFIG)) SWUPDATE_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -ifeq ($(BR2_STATIC_LIBS),y) -define SWUPDATE_PREFER_STATIC - $(call KCONFIG_ENABLE_OPT,CONFIG_STATIC) -endef -endif - SWUPDATE_MAKE_OPTS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ CONFIG_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ CONFIG_EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" define SWUPDATE_KCONFIG_FIXUP_CMDS - $(SWUPDATE_PREFER_STATIC) $(SWUPDATE_SET_LUA_VERSION) + $(SWUPDATE_SET_SYSTEMD) + $(SWUPDATE_SET_WEBSERVER) endef define SWUPDATE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(SWUPDATE_MAKE_ENV) $(MAKE) $(SWUPDATE_MAKE_OPTS) -C $(@D) + $(TARGET_MAKE_ENV) $(SWUPDATE_MAKE_ENV) $(MAKE) -C $(@D) $(SWUPDATE_MAKE_OPTS) endef define SWUPDATE_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/swupdate $(TARGET_DIR)/usr/bin/swupdate + $(TARGET_MAKE_ENV) $(SWUPDATE_MAKE_ENV) $(MAKE) -C $(@D) \ + $(SWUPDATE_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install $(if $(BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE), \ mkdir -p $(TARGET_DIR)/var/www/swupdate; \ cp -dpfr $(@D)/examples/www/v2/* $(TARGET_DIR)/var/www/swupdate) @@ -186,23 +253,39 @@ $(error No Swupdate configuration file specified, check your BR2_PACKAGE_SWUPDAT endif endif -ifeq ($(BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE),y) +# Services and configs derived from meta-swupdate(MIT license) +# https://github.com/sbabic/meta-swupdate/tree/master/recipes-support/swupdate/swupdate define SWUPDATE_INSTALL_COMMON mkdir -p $(TARGET_DIR)/etc/swupdate/conf.d \ $(TARGET_DIR)/usr/lib/swupdate/conf.d - $(INSTALL) -D -m 755 package/swupdate/swupdate.sh \ + $(INSTALL) -D -m 755 $(SWUPDATE_PKGDIR)/swupdate.sh \ $(TARGET_DIR)/usr/lib/swupdate/swupdate.sh + $(if $(BR2_PACKAGE_SWUPDATE_WEBSERVER), \ + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/10-mongoose-args \ + $(TARGET_DIR)/usr/lib/swupdate/conf.d/10-mongoose-args) endef define SWUPDATE_INSTALL_INIT_SYSTEMD $(SWUPDATE_INSTALL_COMMON) - $(INSTALL) -D -m 644 package/swupdate/swupdate.service \ + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/swupdate.service \ $(TARGET_DIR)/usr/lib/systemd/system/swupdate.service + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/swupdate.socket \ + $(TARGET_DIR)/usr/lib/systemd/system/swupdate.socket + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/swupdate-usb@.service \ + $(TARGET_DIR)/usr/lib/systemd/system/swupdate-usb@.service + $(if $(BR2_PACKAGE_SWUPDATE_USB), \ + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/swupdate-usb.rules \ + $(TARGET_DIR)/lib/udev/rules.d/swupdate-usb.rules) + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/swupdate-progress.service \ + $(TARGET_DIR)/usr/lib/systemd/system/swupdate-progress.service + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/tmpfiles-swupdate.conf \ + $(TARGET_DIR)/usr/lib/tmpfiles.d/tmpfiles-swupdate.conf endef define SWUPDATE_INSTALL_INIT_SYSV $(SWUPDATE_INSTALL_COMMON) - $(INSTALL) -D -m 755 package/swupdate/S80swupdate \ + $(INSTALL) -D -m 755 $(SWUPDATE_PKGDIR)/S80swupdate \ $(TARGET_DIR)/etc/init.d/S80swupdate + $(INSTALL) -D -m 644 $(SWUPDATE_PKGDIR)/90-start-progress \ + $(TARGET_DIR)/usr/lib/swupdate/conf.d/90-start-progress endef -endif $(eval $(kconfig-package)) diff --git a/package/swupdate/swupdate.socket b/package/swupdate/swupdate.socket new file mode 100644 index 00000000000..2b756714c52 --- /dev/null +++ b/package/swupdate/swupdate.socket @@ -0,0 +1,11 @@ +[Unit] +Description=SWUpdate socket listener +Documentation=https://github.com/sbabic/swupdate +Documentation=https://sbabic.github.io/swupdate + +[Socket] +ListenStream=/tmp/sockinstctrl +ListenStream=/tmp/swupdateprog + +[Install] +WantedBy=sockets.target diff --git a/package/swupdate/tmpfiles-swupdate.conf b/package/swupdate/tmpfiles-swupdate.conf new file mode 100644 index 00000000000..4743672fcc6 --- /dev/null +++ b/package/swupdate/tmpfiles-swupdate.conf @@ -0,0 +1,2 @@ +X /tmp/datadst +X /tmp/scripts diff --git a/package/sylpheed/0001-harden-link-checker-before-accepting-click.patch b/package/sylpheed/0001-harden-link-checker-before-accepting-click.patch new file mode 100644 index 00000000000..fe3375bc91b --- /dev/null +++ b/package/sylpheed/0001-harden-link-checker-before-accepting-click.patch @@ -0,0 +1,37 @@ +From ac286a71ed78429e16c612161251b9ea90ccd431 Mon Sep 17 00:00:00 2001 +From: Paul +Date: Sun, 23 May 2021 12:16:40 +0100 +Subject: [PATCH] harden link checker before accepting click + +[Retrieved from: +https://git.claws-mail.org/?p=claws.git;a=commit;h=ac286a71ed78429e16c612161251b9ea90ccd431] +Signed-off-by: Fabrice Fontaine +--- + src/textview.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/textview.c b/src/textview.c +index 62ad46eaf..3cdf5d911 100644 +--- a/src/textview.c ++++ b/src/textview.c +@@ -2885,7 +2885,7 @@ gboolean textview_uri_security_check(TextView *textview, ClickableText *uri) + gboolean retval = TRUE; + + if (is_uri_string(uri->uri) == FALSE) +- return TRUE; ++ return FALSE; + + visible_str = textview_get_visible_uri(textview, uri); + if (visible_str == NULL) +@@ -2922,6 +2922,8 @@ gboolean textview_uri_security_check(TextView *textview, ClickableText *uri) + if (aval == G_ALERTALTERNATE) + retval = TRUE; + } ++ if (strlen(uri->uri) > get_uri_len(uri->uri)) ++ retval = FALSE; + + g_free(visible_str); + +-- +2.25.1 + diff --git a/package/sylpheed/sylpheed.mk b/package/sylpheed/sylpheed.mk index 0453fba5216..a7c7adade39 100644 --- a/package/sylpheed/sylpheed.mk +++ b/package/sylpheed/sylpheed.mk @@ -10,9 +10,13 @@ SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.xz SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR) SYLPHEED_LICENSE = GPL-2.0+ (executables), LGPL-2.1+ (library, attachment plugin) SYLPHEED_LICENSE_FILES = COPYING COPYING.LIB +SYLPHEED_CPE_ID_VENDOR = sylpheed_project SYLPHEED_CONF_OPTS = --disable-gtkspell --disable-gpgme SYLPHEED_DEPENDENCIES = host-pkgconf libgtk2 +# 0001-harden-link-checker-before-accepting-click.patch +SYLPHEED_IGNORE_CVES += CVE-2021-37746 + # Remove the -I$(includedir) from the Makefiles # because it refers to the host /usr/include. define SYLPHEED_PRECONFIGURE diff --git a/package/synergy/synergy.mk b/package/synergy/synergy.mk index 63c6e5cbc1f..bc7ebea070a 100644 --- a/package/synergy/synergy.mk +++ b/package/synergy/synergy.mk @@ -8,6 +8,7 @@ SYNERGY_VERSION = 2.0.12-beta SYNERGY_SITE = $(call github,symless,synergy-core,v$(SYNERGY_VERSION)) SYNERGY_LICENSE = GPL-2.0 SYNERGY_LICENSE_FILES = LICENSE +SYNERGY_CPE_ID_VENDOR = symless SYNERGY_DEPENDENCIES = xlib_libX11 xlib_libXtst # Avoid using buildroot commit hash inside cmake/Version.cmake diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in index 7d3c5703925..06d20c7f7b6 100644 --- a/package/sysdig/Config.in +++ b/package/sysdig/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_SYSDIG bool "sysdig" depends on BR2_LINUX_KERNEL - depends on BR2_INSTALL_LIBSTDCPP # libjson + depends on BR2_INSTALL_LIBSTDCPP # jsoncpp depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils, jq depends on !BR2_STATIC_LIBS # elfutils diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk index bcbb5ce01e0..08d93750ae6 100644 --- a/package/sysdig/sysdig.mk +++ b/package/sysdig/sysdig.mk @@ -8,6 +8,7 @@ SYSDIG_VERSION = 0.23.1 SYSDIG_SITE = $(call github,draios,sysdig,$(SYSDIG_VERSION)) SYSDIG_LICENSE = GPL-2.0 SYSDIG_LICENSE_FILES = COPYING +SYSDIG_CPE_ID_VENDOR = sysdig SYSDIG_CONF_OPTS = -DENABLE_DKMS=OFF -DUSE_BUNDLED_DEPS=OFF SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/sysklogd/sysklogd.hash b/package/sysklogd/sysklogd.hash index ec14363d9f4..19405a98771 100644 --- a/package/sysklogd/sysklogd.hash +++ b/package/sysklogd/sysklogd.hash @@ -1,3 +1,5 @@ +# Upstream .sha256 from GitHub +sha256 9a410b484713d9600c820d8113f2d80cb14708328c908b1a28e8b7b31fd54f57 sysklogd-2.3.0.tar.gz + # Locally calculated -sha256 a93b7ad6a615336f030d8a3257544cff1644908af6a12c65f65482f27bd39ca9 sysklogd-2.2.1.tar.gz sha256 7a71d7603a7c4456df441463e54da35acf151c1be0879246de63544f1f34f477 LICENSE diff --git a/package/sysklogd/sysklogd.mk b/package/sysklogd/sysklogd.mk index ea7b869d7bb..20ce9d60e3d 100644 --- a/package/sysklogd/sysklogd.mk +++ b/package/sysklogd/sysklogd.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSKLOGD_VERSION = 2.2.1 +SYSKLOGD_VERSION = 2.3.0 SYSKLOGD_SITE = https://github.com/troglobit/sysklogd/releases/download/v$(SYSKLOGD_VERSION) SYSKLOGD_LICENSE = BSD-3-Clause SYSKLOGD_LICENSE_FILES = LICENSE diff --git a/package/syslog-ng/syslog-ng.conf b/package/syslog-ng/syslog-ng.conf index 1cb2ecc365a..55d01501cb8 100644 --- a/package/syslog-ng/syslog-ng.conf +++ b/package/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.30 +@version: 3.34 source s_sys { file("/proc/kmsg" program_override("kernel")); diff --git a/package/syslog-ng/syslog-ng.hash b/package/syslog-ng/syslog-ng.hash index 60ea6b3c61d..99ed363eca4 100644 --- a/package/syslog-ng/syslog-ng.hash +++ b/package/syslog-ng/syslog-ng.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 44e54a6186af14d01affa06bf7391cfe8fc2460bd4ba211aab5469d8b1ca5b4b syslog-ng-3.30.1.tar.gz +sha256 cece39ec1c68c88d493705e0a528b83d038da384e89d4838393ccc75f62a2d4c syslog-ng-3.34.1.tar.gz sha256 e912cf1e1c09b81d61c0154eb6c179588622c31ad07bfb4a90c612d07ff09d9b COPYING sha256 ce3324c9f22299cfc7c281e5a6ab40fbe9c2ea1a67cee87226cb8cd39db1e1d2 GPL.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LGPL.txt diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk index 14888d2aeda..c05ec9785c4 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -6,7 +6,7 @@ # When updating the version, please check at runtime if the version in # syslog-ng.conf header needs to be updated -SYSLOG_NG_VERSION = 3.30.1 +SYSLOG_NG_VERSION = 3.34.1 SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION) SYSLOG_NG_LICENSE = LGPL-2.1+ (syslog-ng core), GPL-2.0+ (modules) SYSLOG_NG_LICENSE_FILES = COPYING GPL.txt LGPL.txt @@ -32,12 +32,7 @@ else SYSLOG_NG_CONF_OPTS += --disable-linux-caps endif -ifeq ($(BR2_PACKAGE_PYTHON),y) -SYSLOG_NG_DEPENDENCIES += python -SYSLOG_NG_CONF_OPTS += \ - --enable-python \ - --with-python=$(PYTHON_VERSION_MAJOR) -else ifeq ($(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) SYSLOG_NG_DEPENDENCIES += python3 SYSLOG_NG_CONF_OPTS += \ --enable-python \ diff --git a/package/sysrepo/0001-sysrepo-BUGFIX-build-with-musl-libc-fails-due-to-unk.patch b/package/sysrepo/0001-sysrepo-BUGFIX-build-with-musl-libc-fails-due-to-unk.patch new file mode 100644 index 00000000000..784cfb14454 --- /dev/null +++ b/package/sysrepo/0001-sysrepo-BUGFIX-build-with-musl-libc-fails-due-to-unk.patch @@ -0,0 +1,42 @@ +From 896dc6aee38898fe1c6822ee6a4a4989d21c650b Mon Sep 17 00:00:00 2001 +From: Heiko Thiery +Date: Thu, 25 Nov 2021 12:18:06 +0100 +Subject: [PATCH] sysrepo BUGFIX build with musl libc fails due to unknown type + name 'mode_t' + +When building against the musl libc the build will fail due to the +missing sys/type.h include. + +Signed-off-by: Heiko Thiery +--- + src/plugins_datastore.h | 1 + + src/plugins_notification.h | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/plugins_datastore.h b/src/plugins_datastore.h +index a64e4131..d577e929 100644 +--- a/src/plugins_datastore.h ++++ b/src/plugins_datastore.h +@@ -18,6 +18,7 @@ + #define _SYSREPO_PLUGINS_DATASTORE_H + + #include ++#include + + #include + +diff --git a/src/plugins_notification.h b/src/plugins_notification.h +index 2099db62..f410e8d9 100644 +--- a/src/plugins_notification.h ++++ b/src/plugins_notification.h +@@ -18,6 +18,7 @@ + #define _SYSREPO_PLUGINS_NOTIFICATION_H + + #include ++#include + + #include + +-- +2.30.2 + diff --git a/package/sysrepo/Config.in b/package/sysrepo/Config.in index 8de141efc25..b1535bed9fa 100644 --- a/package/sysrepo/Config.in +++ b/package/sysrepo/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_SYSREPO bool "sysrepo" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libyang depends on !BR2_STATIC_LIBS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 select BR2_PACKAGE_LIBYANG - select BR2_PACKAGE_PCRE - select BR2_PACKAGE_PCRE_UCP + select BR2_PACKAGE_PCRE2 help Sysrepo is an YANG-based configuration and operational state data store for Unix/Linux applications. @@ -25,5 +25,6 @@ endif comment "sysrepo needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.8" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/sysrepo/sysrepo.hash b/package/sysrepo/sysrepo.hash index d0b3c82ad3b..b382c160360 100644 --- a/package/sysrepo/sysrepo.hash +++ b/package/sysrepo/sysrepo.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 635f68ad5f8cb5ea3bd7c3081963f1a9a79ee0d6570facb1f3bcbf3b640446a4 sysrepo-1.4.104.tar.gz -sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE +sha256 fe09da5f40fb53e3fb97268a134cc0ed3003f0018d0d117c73e81e1553a11f30 sysrepo-2.0.53.tar.gz +sha256 88f1b7e5c64d2c113e07105aa9c0fb80639b40287565be1c2afd0949df83d826 LICENSE diff --git a/package/sysrepo/sysrepo.mk b/package/sysrepo/sysrepo.mk index e4d553cdbd1..acb30520239 100644 --- a/package/sysrepo/sysrepo.mk +++ b/package/sysrepo/sysrepo.mk @@ -4,17 +4,19 @@ # ################################################################################ -SYSREPO_VERSION = 1.4.104 +SYSREPO_VERSION = 2.0.53 SYSREPO_SITE = $(call github,sysrepo,sysrepo,v$(SYSREPO_VERSION)) SYSREPO_INSTALL_STAGING = YES -SYSREPO_LICENSE = Apache-2.0 +SYSREPO_LICENSE = BSD-3-Clause SYSREPO_LICENSE_FILES = LICENSE -SYSREPO_DEPENDENCIES = libyang pcre host-sysrepo -HOST_SYSREPO_DEPENDENCIES = host-libyang host-pcre +SYSREPO_DEPENDENCIES = libyang pcre2 host-sysrepo +HOST_SYSREPO_DEPENDENCIES = host-libyang host-pcre2 SYSREPO_CONF_OPTS = \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_EXAMPLES=$(if $(BR2_PACKAGE_SYSREPO_EXAMPLES),ON,OFF) + -DBUILD_EXAMPLES=$(if $(BR2_PACKAGE_SYSREPO_EXAMPLES),ON,OFF) \ + -DENABLE_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF \ + -DREPO_PATH=/etc/sysrepo ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) SYSREPO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic @@ -26,8 +28,9 @@ define SYSREPO_INSTALL_INIT_SYSV endef HOST_SYSREPO_CONF_OPTS = \ - -DCMAKE_BUILD_TYPE=Release \ -DBUILD_EXAMPLES=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF \ -DREPO_PATH=$(TARGET_DIR)/etc/sysrepo $(eval $(cmake-package)) diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk index 7d254d6643b..6948f6b3906 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -11,6 +11,8 @@ SYSSTAT_CONF_OPTS = --disable-file-attr SYSSTAT_DEPENDENCIES = host-gettext $(TARGET_NLS_DEPENDENCIES) SYSSTAT_LICENSE = GPL-2.0+ SYSSTAT_LICENSE_FILES = COPYING +SYSSTAT_CPE_ID_VENDOR = sysstat_project +SYSSTAT_SELINUX_MODULES = sysstat ifeq ($(BR2_PACKAGE_LM_SENSORS),y) SYSSTAT_DEPENDENCIES += lm-sensors diff --git a/package/system-config-printer/0001-Add-option-to-disable-xmlto-manual-generation.patch b/package/system-config-printer/0001-Add-option-to-disable-xmlto-manual-generation.patch new file mode 100644 index 00000000000..e2cf395811a --- /dev/null +++ b/package/system-config-printer/0001-Add-option-to-disable-xmlto-manual-generation.patch @@ -0,0 +1,73 @@ +From 731c8d7e1f9edb527785d61f74031a5e5846554b Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Sun, 25 Jul 2021 16:30:59 -0600 +Subject: [PATCH] Add option to disable xmlto manual generation. + +Signed-off-by: James Hilliard +[james.hilliard1@gmail.com: backport from upstream commit +95e0b461f5a46c74b00287aca65732ea2fc9d69b] +--- + Makefile.am | 7 ++++++- + configure.ac | 5 +++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 843ba30d..7facab94 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -209,9 +209,11 @@ else + systemd_CLEANFILES= + endif + ++if XMLTO + man_MANS= \ + man/system-config-printer.1 \ + man/system-config-printer-applet.1 ++endif + + dbus_DATA = \ + dbus/com.redhat.NewPrinterNotification.conf \ +@@ -274,7 +276,6 @@ EXTRA_DIST=\ + $(bin_SCRIPTS) \ + setup.py \ + $(EXPORT_MODULES) \ +- man/system-config-printer.xml \ + $(dbus_DATA) \ + $(dbusinterfaces_DATA) \ + $(dbusservices_DATA) \ +@@ -297,12 +298,16 @@ EXTRA_DIST=\ + test_PhysicalDevice.py \ + $(appdata_in_files) + ++if XMLTO ++EXTRA_DIST+=man/system-config-printer.xml ++ + # The man pages are generated from DocBook XML. + .stamp-man-pages-built: $(top_srcdir)/man/system-config-printer.xml + xmlto man -o man $< + touch .stamp-man-pages-built + + $(man_MANS): .stamp-man-pages-built ++endif + + html: $(EXPORT_MODULES) $(EXPORT_MODULES_GEN) + rm -rf html +diff --git a/configure.ac b/configure.ac +index 811f897a..a2a66889 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -75,6 +75,11 @@ if test "x$with_systemdsystemunitdir" != xno; then + fi + AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) + ++AC_ARG_WITH(xmlto, ++ [AC_HELP_STRING([--with-xmlto], ++ [Enable xmlto manual generation @<:@default=yes@:>@])]) ++AM_CONDITIONAL([XMLTO], [test x$with_xmlto != xno]) ++ + ALL_LINGUAS="ar as ast bg bn_IN bn br bs ca cs cy da de el en_GB es et fa fi fr fur gu he hi hr hu id is it ja kn ko lt lv mai ml mr ms nb nds nl nn oc or pa pl pt_BR pt ro ru si sk sl sr@latin sr sv ta te th tr uk vi zh_CN zh_TW" + AC_CONFIG_FILES([ + Makefile +-- +2.25.1 + diff --git a/package/system-config-printer/0002-configure-accept-non-system-cups-config.patch b/package/system-config-printer/0002-configure-accept-non-system-cups-config.patch new file mode 100644 index 00000000000..9661115bf04 --- /dev/null +++ b/package/system-config-printer/0002-configure-accept-non-system-cups-config.patch @@ -0,0 +1,35 @@ +From 75db995dda74696123cde2869e4e9b3315b91abd Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 1 Aug 2021 13:40:28 +0200 +Subject: [PATCH] configure: accept non-system cups-config + +In cross-compilation setups, cups.config might not be installed, and +might not be in the PATH. + +Allow a user to specify the full path to cups-config. + +Signed-off-by: Yann E. MORIN +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index dd013b4a..9f033d18 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -33,7 +33,11 @@ fi + AC_SUBST(DESKTOPVENDOR) + AC_SUBST(DESKTOPPREFIX) + +-cupsserverbindir="`cups-config --serverbin`" ++AC_ARG_WITH([cups-config], ++ [AC_HELP_STRING([--with-cups-config], [Specify the path of cups-config])],, ++ [with_cups_config=cups-config]) ++ ++cupsserverbindir="`${with_cups_config} --serverbin`" + AC_SUBST(cupsserverbindir) + + PKG_CHECK_MODULES(GLIB, glib-2.0, has_glib=yes, has_glib=no) +-- +2.25.1 + diff --git a/package/system-config-printer/Config.in b/package/system-config-printer/Config.in new file mode 100644 index 00000000000..8ebc4d060cb --- /dev/null +++ b/package/system-config-printer/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SYSTEM_CONFIG_PRINTER + bool "system-config-printer" + depends on BR2_PACKAGE_CUPS + help + Graphical user interface for CUPS administration + + https://github.com/OpenPrinting/system-config-printer diff --git a/package/system-config-printer/system-config-printer.hash b/package/system-config-printer/system-config-printer.hash new file mode 100644 index 00000000000..56b7e476500 --- /dev/null +++ b/package/system-config-printer/system-config-printer.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 fbd226ce215bf014213dded81b43b9d4d90470524f5bf7cd21ecc71d4aefa689 system-config-printer-1.5.15.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/system-config-printer/system-config-printer.mk b/package/system-config-printer/system-config-printer.mk new file mode 100644 index 00000000000..e2757430260 --- /dev/null +++ b/package/system-config-printer/system-config-printer.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# system-config-printer +# +################################################################################ + +SYSTEM_CONFIG_PRINTER_VERSION = 1.5.15 +SYSTEM_CONFIG_PRINTER_SOURCE = system-config-printer-$(SYSTEM_CONFIG_PRINTER_VERSION).tar.xz +SYSTEM_CONFIG_PRINTER_SITE = https://github.com/OpenPrinting/system-config-printer/releases/download/v$(SYSTEM_CONFIG_PRINTER_VERSION) +SYSTEM_CONFIG_PRINTER_LICENSE = GPL-2.0+ +SYSTEM_CONFIG_PRINTER_LICENSE_FILES = COPYING +SYSTEM_CONFIG_PRINTER_DEPENDENCIES = cups host-desktop-file-utils host-intltool host-pkgconf + +# 0001-Add-option-to-disable-xmlto-manual-generation.patch +# 0002-configure-accept-non-system-cups-config.patch +SYSTEM_CONFIG_PRINTER_AUTORECONF = YES + +SYSTEM_CONFIG_PRINTER_CONF_OPTS = --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) +SYSTEM_CONFIG_PRINTER_DEPENDENCIES += libglib2 +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2)$(BR2_PACKAGE_LIBUSB)$(BR2_PACKAGE_HAS_UDEV),yyy) +SYSTEM_CONFIG_PRINTER_CONF_OPTS += --with-udev-rules=yes +SYSTEM_CONFIG_PRINTER_DEPENDENCIES += libusb udev +else +SYSTEM_CONFIG_PRINTER_CONF_OPTS += --with-udev-rules=no +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +SYSTEM_CONFIG_PRINTER_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +SYSTEM_CONFIG_PRINTER_DEPENDENCIES += systemd +else +SYSTEM_CONFIG_PRINTER_CONF_OPTS += --with-systemdsystemunitdir=no +endif + +$(eval $(autotools-package)) diff --git a/package/systemd/0001-missing-syscall-define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch b/package/systemd/0001-missing-syscall-define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch new file mode 100644 index 00000000000..0934886acb3 --- /dev/null +++ b/package/systemd/0001-missing-syscall-define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch @@ -0,0 +1,33 @@ +From 16c132a6a0389e0eaea70c4ad95dbfd1637ec5ba Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 7 Jan 2022 22:25:23 +0100 +Subject: [PATCH] missing-syscall: define MOVE_MOUNT_T_EMPTY_PATH if missing + +MOVE_MOUNT_T_EMPTY_PATH has been added to systemd 250 by [1] +but it's defined in kernel headers since version 5.2. + +[1] c7bf079bbc19e3b409acc0c7acc3e14749211fe2 + +Signed-off-by: Romain Naour +--- + src/basic/missing_syscall.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h +index 8267b1a90c..793d111c55 100644 +--- a/src/basic/missing_syscall.h ++++ b/src/basic/missing_syscall.h +@@ -569,6 +569,10 @@ static inline int missing_open_tree( + #define MOVE_MOUNT_F_EMPTY_PATH 0x00000004 /* Empty from path permitted */ + #endif + ++#ifndef MOVE_MOUNT_T_EMPTY_PATH ++#define MOVE_MOUNT_T_EMPTY_PATH 0x00000040 /* Empty to path permitted */ ++#endif ++ + static inline int missing_move_mount( + int from_dfd, + const char *from_pathname, +-- +2.31.1 + diff --git a/package/systemd/Config.in b/package/systemd/Config.in index fbe1a4081b8..d5d88404ded 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -22,7 +22,7 @@ menuconfig BR2_PACKAGE_SYSTEMD depends on !BR2_STATIC_LIBS # kmod depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_TOOLCHAIN_HAS_SSP - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_HOST_GCC_AT_LEAST_5 # host-systemd select BR2_PACKAGE_HAS_UDEV @@ -51,13 +51,25 @@ menuconfig BR2_PACKAGE_SYSTEMD an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - Systemd requires a Linux kernel >= 3.0 with the following + Systemd requires a Linux kernel >= 3.13 with the following options enabled: - - CONFIG_CGROUPS + - CONFIG_DEVTMPFS + - CONFIG_CGROUPS (it is OK to disable all controllers) - CONFIG_INOTIFY_USER - - CONFIG_FHANDLE - - CONFIG_AUTOFS4_FS + - CONFIG_SIGNALFD + - CONFIG_TIMERFD + - CONFIG_EPOLL + - CONFIG_UNIX (it requires CONFIG_NET, but every other flag in + it is not necessary) + - CONFIG_SYSFS + - CONFIG_PROC_FS + - CONFIG_FHANDLE (libudev, mount and bind mount handling) + + - CONFIG_NET_NS (needed by PrivateNetwork=, used in some + systemd units) + + - CONFIG_AUTOFS_FS / CONFIG_AUTOFS4_FS - CONFIG_TMPFS_POSIX_ACL - CONFIG_TMPFS_XATTR @@ -222,6 +234,7 @@ config BR2_PACKAGE_SYSTEMD_HOMED depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # fscrypt_key select BR2_PACKAGE_CRYPTSETUP select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_UTIL_LINUX_LIBFDISK help systemd-homed is a system service that may be used to create, @@ -233,7 +246,7 @@ comment "homed support needs a toolchain w/ threads, dynamic library, kernel hea depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS || BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 config BR2_PACKAGE_SYSTEMD_HOSTNAMED bool "enable hostname daemon" @@ -269,6 +282,20 @@ config BR2_PACKAGE_SYSTEMD_IMPORTD http://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands +config BR2_PACKAGE_SYSTEMD_CATALOGDB + bool "enable journal catalog database installation" + depends on BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW # conflicting tmpfiles magic + help + Build and install the journal catalog database. + + catalog files are used to provide extended and potentially + localized messages for the journal. + + The original catalog files will be built into a DB at + /usr/share/factory/var/lib/systemd/catalog/database. + + https://www.freedesktop.org/wiki/Software/systemd/catalog/ + config BR2_PACKAGE_SYSTEMD_LOCALED bool "enable locale daemon" help @@ -318,14 +345,21 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD http://www.freedesktop.org/software/systemd/man/systemd-networkd.html +config BR2_PACKAGE_SYSTEMD_OOMD + bool "enable out-of-memory killer" + help + systemd-oomd is a system service that uses cgroups-v2 and + pressure stall information (PSI) to monitor and take action + on processes before an OOM occurs in kernel space. + + https://www.freedesktop.org/software/systemd/man/systemd-oomd.html + config BR2_PACKAGE_SYSTEMD_POLKIT bool "enable polkit support" - depends on BR2_HOST_GCC_AT_LEAST_4_9 # polkit - depends on BR2_INSTALL_LIBSTDCPP # polkit - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS # polkit - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # polkit - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # polkit + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> c++17 + depends on BR2_TOOLCHAIN_HAS_THREADS # polkit depends on BR2_USE_WCHAR # libglib2 + depends on !BR2_OPTIMIZE_FAST # polkit -> duktape select BR2_PACKAGE_POLKIT help If enabled, systemd is built with polkit support and policy @@ -335,13 +369,12 @@ config BR2_PACKAGE_SYSTEMD_POLKIT http://wiki.freedesktop.org/www/Software/polkit/ -comment "polkit support needs a toolchain with C++, wchar, NPTL, gcc >= 4.9" - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS - depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_USE_WCHAR +comment "polkit support needs a toolchain with threads, wchar, gcc >= 7" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ + !BR2_TOOLCHAIN_HAS_THREADS + +comment "polkit support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST config BR2_PACKAGE_SYSTEMD_PORTABLED bool "enable portable services" @@ -384,6 +417,7 @@ config BR2_PACKAGE_SYSTEMD_RANDOMSEED config BR2_PACKAGE_SYSTEMD_REPART bool "enable repart support" select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_UTIL_LINUX_LIBFDISK help systemd-repart grows and adds partitions to a partition table, @@ -424,6 +458,23 @@ config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT When this feature is enabled, Systemd mounts smackfs and manages security labels for sockets. +config BR2_PACKAGE_SYSTEMD_SYSEXT + bool "enable sysext support" + help + systemd-sysext activates/deactivates system extension + images. + + System extension images may – dynamically at runtime — + extend the /usr/ and /opt/ directory hierarchies with + additional files. + + This is particularly useful on immutable system images where + a /usr/ and/or /opt/ hierarchy residing on a read-only file + system shall be extended temporarily at runtime without + making any persistent modifications. + + https://www.freedesktop.org/software/systemd/man/systemd-sysext.html + config BR2_PACKAGE_SYSTEMD_SYSUSERS bool "enable sysusers support" help @@ -455,17 +506,6 @@ config BR2_PACKAGE_SYSTEMD_TIMESYNCD http://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html -config BR2_PACKAGE_SYSTEMD_TMPFILES - bool "enable tmpfiles support" - default y - help - systemd-tmpfiles creates, deletes, and cleans up volatile - and temporary files and directories, based on the - configuration file format and location specified in - tmpfiles.d(5). - - http://www.freedesktop.org/software/systemd/man/systemd-tmpfiles.html - config BR2_PACKAGE_SYSTEMD_USERDB bool "enable userdb daemon" help diff --git a/package/systemd/fakeroot_tmpfiles.sh b/package/systemd/fakeroot_tmpfiles.sh new file mode 100755 index 00000000000..9498638f0be --- /dev/null +++ b/package/systemd/fakeroot_tmpfiles.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# +# The systemd-tmpfiles has the ability to grab information +# from the filesystem (instead from the running system). +# +# tmpfs directories (/tmp, /proc, ...) are skipped since they're not +# relevant for the rootfs image. +# +# However there are a few specifiers that *always* will grab +# information from the running system examples are %a, %b, %m, %H +# (Architecture, Boot UUID, Machine UUID, Hostname). +# +# See [1] for historic information. +# +# This script will (conservatively) skip tmpfiles lines that have +# such an specifier to prevent leaking host information. +# +# shell expansion is critical to be POSIX compliant, +# this script wont work with zsh in its default mode for example. +# +# The script takes several measures to handle more complex stuff +# like passing this correctly: +# f+ "/var/example" - - - - %B\n%o\n%w\n%W%%\n +# +# [1] - https://github.com/systemd/systemd/pull/16187 + +[ -n "${HOST_SYSTEMD_TMPFILES-}" ] || + HOST_SYSTEMD_TMPFILES=systemd-tmpfiles + +[ -n "${1-}" -a -d "${1-}"/usr/lib/tmpfiles.d ] || + { echo 1>&2 "$0: need ROOTFS argument"; exit 1; } + +${HOST_SYSTEMD_TMPFILES} --no-pager --cat-config --root="$1" | + sed -e '/^[[:space:]]*#/d' -e 's,^[[:space:]]*,,' -e '/^$/d' | + while read -r line; do + # it is allowed to use quotes around arguments, + # so let the shell pack the arguments + eval "set -- $line" + + # dont output warnings for directories we dont process + [ "${2#/dev}" = "${2}" ] && [ "${2#/proc}" = "${2}" ] && + [ "${2#/run}" = "${2}" ] && [ "${2#/sys}" = "${2}" ] && + [ "${2#/tmp}" = "${2}" ] && [ "${2#/mnt}" = "${2}" ] || + continue + + # blank out all specs that are ok to use, + # test if some remain. (Specs up to date with v250) + if echo "$2 ${7-}" | sed -e 's,%[%BCEgGhLMosStTuUVwW],,g' | grep -v -q '%'; then + # no "bad" specifiers, pass the line unmodified + eval "printf '%s\n' '$line'" + else + # warn + eval "printf 'ignored spec: %s\n' '$line' 1>&2" + fi + done | + TMPDIR= TEMP= TMP= ${HOST_SYSTEMD_TMPFILES} --create --boot --root="$1" \ + --exclude-prefix=/dev --exclude-prefix=/proc --exclude-prefix=/run \ + --exclude-prefix=/sys --exclude-prefix=/tmp --exclude-prefix=/mnt \ + - diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 20cd9222593..3572b259652 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,6 +1,14 @@ # sha256 locally computed -sha256 2869986e219a8dfc96cc0dffac66e0c13bb70a89e16b85a3948876c146cfa3e0 systemd-247.3.tar.gz +sha256 d2bda9d225da11dc9ff48b48e59fc36798d3e66902ed400a9f78fa370c596864 systemd-250.4.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 -sha256 6f22d19d35b00f35e0444e0bc9139e6d3bdf7277978f89c4e175e37b18c43f3d README -sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 tools/chromiumos/LICENSE +sha256 e5a8645ad94aab24e312dd0c6be2aa54236eb9374480b1b14ea5c61598874fd5 LICENSES/BSD-2-Clause.txt +sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 LICENSES/BSD-3-Clause.txt +sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 LICENSES/CC0-1.0.txt +sha256 61778e80a2fd85955b626b29aa2bcf06144c714277bded65633e4a81479d9fb3 LICENSES/LGPL-2.0-or-later.txt +sha256 5bcef4fedbfc08776630e65d5d0d074dd31208037eddb167ca46a9ec4f737764 LICENSES/Linux-syscall-note.txt +sha256 790ac93fb2859097bdda4cf08b5a4feb5e479d0cb2c74f403248241bc3e7c216 LICENSES/lookup3-public-domain.txt +sha256 b85dcd3e453d05982552c52b5fc9e0bdd6d23c6f8e844b984a88af32570b0cc0 LICENSES/MIT.txt +sha256 2a98749f6bec00dfaed86fa9c1edea871aaae4f11ee4d100b671aaf4ce353a73 LICENSES/murmurhash2-public-domain.txt +sha256 1a7adaa2c86cedfd6c7f5c0c7c72fd6d3e02cd0c9593f21fdb53c89bb2b130ec LICENSES/OFL-1.1.txt +sha256 11801e931f252252a16eac8299465510d0a82c36bfd9ac8aea9b202b76d2f82b LICENSES/README.md diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index 41332f207ad..7a711319cf9 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -4,32 +4,70 @@ # ################################################################################ -SYSTEMD_VERSION = 247.3 +# When updating systemd, take care of the following: +# - Check if the requirements have changed (see README), in particular +# arch and headers +# - If yes, propagate the dependencies to BR2_INIT_SYSTEMD +# - If the required kernel options have changed, update the Config.in +# help text and the list of KCONFIG_ENABLE_OPT. +# - Check if there are new meson_options. Make sure all options are set +# explicitly (usually to default value). +# - If there are new services: +# - create new options for them (if they really are optional); +# - create a new _USER if necessary; +# - create new directory (with _PERMISSIONS) if necessary. +# - Diff sysusers.d with the previous version +# - Diff factory/etc/nsswitch.conf with the previous version +# (details are often sprinkled around in README and manpages) +SYSTEMD_VERSION = 250.4 SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION)) -SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README), BSD-3-Clause (tools/chromiumos) -SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README tools/chromiumos/LICENSE +SYSTEMD_LICENSE = \ + LGPL-2.1+, \ + GPL-2.0+ (udev), \ + Public Domain (few source files, see LICENSES/README.md), \ + BSD-2-Clause (eBPF instruction mini library), \ + BSD-3-Clause (tools/chromiumos), \ + CC0-1.0 (few source files, see LICENSES/README.md), \ + GPL-2.0 with Linux-syscall-note (linux kernel headers), \ + MIT (few source files, see LICENSES/README.md), \ + OFL-1.1 (Heebo fonts) +SYSTEMD_LICENSE_FILES = \ + LICENSE.GPL2 \ + LICENSE.LGPL2.1 \ + LICENSES/BSD-2-Clause.txt \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/CC0-1.0.txt \ + LICENSES/LGPL-2.0-or-later.txt \ + LICENSES/Linux-syscall-note.txt \ + LICENSES/lookup3-public-domain.txt \ + LICENSES/MIT.txt \ + LICENSES/murmurhash2-public-domain.txt \ + LICENSES/OFL-1.1.txt \ + LICENSES/README.md SYSTEMD_CPE_ID_VENDOR = freedesktop SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ $(BR2_COREUTILS_HOST_DEPENDENCY) \ $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ host-gperf \ + host-python-jinja2 \ kmod \ libcap \ util-linux-libs \ $(TARGET_NLS_DEPENDENCIES) -SYSTEMD_SELINUX_MODULES = systemd udev +SYSTEMD_SELINUX_MODULES = systemd udev xdg SYSTEMD_PROVIDES = udev SYSTEMD_CONF_OPTS += \ - -Ddefault-hierarchy=hybrid \ + -Ddefault-hierarchy=unified \ -Didn=true \ -Dima=false \ -Dkexec-path=/usr/sbin/kexec \ -Dkmod-path=/usr/bin/kmod \ -Dldconfig=false \ + -Dlink-boot-shared=true \ -Dloadkeys-path=/usr/bin/loadkeys \ -Dman=false \ -Dmount-path=/usr/bin/mount \ @@ -48,9 +86,15 @@ SYSTEMD_CONF_OPTS += \ -Dsysvrcnd-path= \ -Dtelinit-path= \ -Dtests=false \ + -Dtmpfiles=true \ -Dumount-path=/usr/bin/umount \ -Dutmp=false +ifeq ($(BR2_nios2),y) +# Nios2 ld emits warnings, make warnings not to be treated as errors +SYSTEMD_LDFLAGS = $(TARGET_LDFLAGS) -Wl,--no-fatal-warnings +endif + ifeq ($(BR2_PACKAGE_ACL),y) SYSTEMD_DEPENDENCIES += acl SYSTEMD_CONF_OPTS += -Dacl=true @@ -58,6 +102,12 @@ else SYSTEMD_CONF_OPTS += -Dacl=false endif +ifeq ($(BR2_PACKAGE_LESS),y) +SYSTEMD_CONF_OPTS += -Durlify=true +else +SYSTEMD_CONF_OPTS += -Durlify=false +endif + ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) SYSTEMD_DEPENDENCIES += libapparmor SYSTEMD_CONF_OPTS += -Dapparmor=true @@ -74,9 +124,9 @@ endif ifeq ($(BR2_PACKAGE_CRYPTSETUP),y) SYSTEMD_DEPENDENCIES += cryptsetup -SYSTEMD_CONF_OPTS += -Dlibcryptsetup=true +SYSTEMD_CONF_OPTS += -Dlibcryptsetup=true -Dlibcryptsetup-plugins=true else -SYSTEMD_CONF_OPTS += -Dlibcryptsetup=false +SYSTEMD_CONF_OPTS += -Dlibcryptsetup=false -Dlibcryptsetup-plugins=false endif ifeq ($(BR2_PACKAGE_ELFUTILS),y) @@ -86,13 +136,6 @@ else SYSTEMD_CONF_OPTS += -Delfutils=false endif -ifeq ($(BR2_PACKAGE_GNUTLS),y) -SYSTEMD_DEPENDENCIES += gnutls -SYSTEMD_CONF_OPTS += -Dgnutls=true -else -SYSTEMD_CONF_OPTS += -Dgnutls=false -endif - ifeq ($(BR2_PACKAGE_IPTABLES),y) SYSTEMD_DEPENDENCIES += iptables SYSTEMD_CONF_OPTS += -Dlibiptc=true @@ -201,13 +244,6 @@ else SYSTEMD_CONF_OPTS += -Dp11kit=false endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -SYSTEMD_DEPENDENCIES += openssl -SYSTEMD_CONF_OPTS += -Dopenssl=true -else -SYSTEMD_CONF_OPTS += -Dopenssl=false -endif - ifeq ($(BR2_PACKAGE_PCRE2),y) SYSTEMD_DEPENDENCIES += pcre2 SYSTEMD_CONF_OPTS += -Dpcre2=true @@ -300,12 +336,6 @@ else SYSTEMD_CONF_OPTS += -Dquotacheck=false endif -ifeq ($(BR2_PACKAGE_SYSTEMD_TMPFILES),y) -SYSTEMD_CONF_OPTS += -Dtmpfiles=true -else -SYSTEMD_CONF_OPTS += -Dtmpfiles=false -endif - ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y) SYSTEMD_CONF_OPTS += -Dsysusers=true else @@ -338,12 +368,14 @@ endif ifeq ($(BR2_PACKAGE_SYSTEMD_LOGIND),y) SYSTEMD_CONF_OPTS += -Dlogind=true +SYSTEMD_LOGIND_PERMISSIONS = /var/lib/systemd/linger d 755 0 0 - - - - - else SYSTEMD_CONF_OPTS += -Dlogind=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_MACHINED),y) SYSTEMD_CONF_OPTS += -Dmachined=true -Dnss-mymachines=true +SYSTEMD_MACHINED_PERMISSIONS = /var/lib/machines d 700 0 0 - - - - - else SYSTEMD_CONF_OPTS += -Dmachined=false -Dnss-mymachines=false endif @@ -357,6 +389,7 @@ endif ifeq ($(BR2_PACKAGE_SYSTEMD_HOMED),y) SYSTEMD_CONF_OPTS += -Dhomed=true SYSTEMD_DEPENDENCIES += cryptsetup openssl +SYSTEMD_HOMED_PERMISSIONS = /var/lib/systemd/home d 755 0 0 - - - - - else SYSTEMD_CONF_OPTS += -Dhomed=false endif @@ -401,16 +434,25 @@ endif ifeq ($(BR2_PACKAGE_SYSTEMD_COREDUMP),y) SYSTEMD_CONF_OPTS += -Dcoredump=true SYSTEMD_COREDUMP_USER = systemd-coredump -1 systemd-coredump -1 * - - - systemd core dump processing +SYSTEMD_COREDUMP_PERMISSIONS = /var/lib/systemd/coredump d 755 0 0 - - - - - else SYSTEMD_CONF_OPTS += -Dcoredump=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_PSTORE),y) SYSTEMD_CONF_OPTS += -Dpstore=true +SYSTEMD_PSTORE_PERMISSIONS = /var/lib/systemd/pstore d 755 0 0 - - - - - else SYSTEMD_CONF_OPTS += -Dpstore=false endif +ifeq ($(BR2_PACKAGE_SYSTEMD_OOMD),y) +SYSTEMD_CONF_OPTS += -Doomd=true +SYSTEMD_OOMD_USER = systemd-oom -1 systemd-oom -1 * - - - systemd Userspace OOM Killer +else +SYSTEMD_CONF_OPTS += -Doomd=false +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_POLKIT),y) SYSTEMD_CONF_OPTS += -Dpolkit=true SYSTEMD_DEPENDENCIES += polkit @@ -424,6 +466,12 @@ else SYSTEMD_CONF_OPTS += -Dportabled=false endif +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSEXT),y) +SYSTEMD_CONF_OPTS += -Dsysext=true +else +SYSTEMD_CONF_OPTS += -Dsysext=false +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y) SYSTEMD_CONF_OPTS += -Dnetworkd=true SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - systemd Network Management @@ -450,19 +498,32 @@ else SYSTEMD_CONF_OPTS += -Dnss-resolve=false -Dresolve=false endif -ifeq ($(BR2_PACKAGE_GNUTLS),y) -SYSTEMD_CONF_OPTS += -Ddns-over-tls=gnutls -Ddefault-dns-over-tls=opportunistic -SYSTEMD_DEPENDENCIES += gnutls -else ifeq ($(BR2_PACKAGE_OPENSSL),y) -SYSTEMD_CONF_OPTS += -Ddns-over-tls=openssl -Ddefault-dns-over-tls=opportunistic +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +SYSTEMD_CONF_OPTS += \ + -Dgnutls=false \ + -Dopenssl=true \ + -Ddns-over-tls=openssl \ + -Ddefault-dns-over-tls=opportunistic SYSTEMD_DEPENDENCIES += openssl +else ifeq ($(BR2_PACKAGE_GNUTLS),y) +SYSTEMD_CONF_OPTS += \ + -Dgnutls=true \ + -Dopenssl=false \ + -Ddns-over-tls=gnutls \ + -Ddefault-dns-over-tls=opportunistic +SYSTEMD_DEPENDENCIES += gnutls else -SYSTEMD_CONF_OPTS += -Ddns-over-tls=false -Ddefault-dns-over-tls=no +SYSTEMD_CONF_OPTS += \ + -Dgnutls=false \ + -Dopenssl=false \ + -Ddns-over-tls=false \ + -Ddefault-dns-over-tls=no endif ifeq ($(BR2_PACKAGE_SYSTEMD_TIMESYNCD),y) SYSTEMD_CONF_OPTS += -Dtimesyncd=true SYSTEMD_TIMESYNCD_USER = systemd-timesync -1 systemd-timesync -1 * - - - systemd Time Synchronization +SYSTEMD_TIMESYNCD_PERMISSIONS = /var/lib/systemd/timesync d 755 systemd-timesync systemd-timesync - - - - - else SYSTEMD_CONF_OPTS += -Dtimesyncd=false endif @@ -486,17 +547,14 @@ SYSTEMD_CONF_OPTS += \ -Defi=true \ -Dgnu-efi=true \ -Defi-cc=$(TARGET_CC) \ - -Defi-ld=$(TARGET_LD) \ + -Defi-ld=bfd \ -Defi-libdir=$(STAGING_DIR)/usr/lib \ - -Defi-ldsdir=$(STAGING_DIR)/usr/lib \ -Defi-includedir=$(STAGING_DIR)/usr/include/efi SYSTEMD_BOOT_EFI_ARCH = $(call qstrip,$(BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH)) define SYSTEMD_INSTALL_BOOT_FILES $(INSTALL) -D -m 0644 $(@D)/build/src/boot/efi/systemd-boot$(SYSTEMD_BOOT_EFI_ARCH).efi \ $(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(SYSTEMD_BOOT_EFI_ARCH).efi - echo "boot$(SYSTEMD_BOOT_EFI_ARCH).efi" > \ - $(BINARIES_DIR)/efi-part/startup.nsh $(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/loader.conf \ $(BINARIES_DIR)/efi-part/loader/loader.conf $(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/buildroot.conf \ @@ -523,19 +581,35 @@ endef SYSTEMD_POST_INSTALL_TARGET_HOOKS += \ SYSTEMD_INSTALL_INIT_HOOK \ - SYSTEMD_INSTALL_MACHINEID_HOOK \ - SYSTEMD_INSTALL_RESOLVCONF_HOOK + SYSTEMD_INSTALL_MACHINEID_HOOK define SYSTEMD_INSTALL_IMAGES_CMDS $(SYSTEMD_INSTALL_BOOT_FILES) endef +define SYSTEMD_PERMISSIONS + /var/spool d 755 0 0 - - - - - + /var/lib d 755 0 0 - - - - - + /var/lib/private d 700 0 0 - - - - - + /var/log/private d 700 0 0 - - - - - + /var/cache/private d 700 0 0 - - - - - + $(SYSTEMD_LOGIND_PERMISSIONS) + $(SYSTEMD_MACHINED_PERMISSIONS) + $(SYSTEMD_HOMED_PERMISSIONS) + $(SYSTEMD_COREDUMP_PERMISSIONS) + $(SYSTEMD_PSTORE_PERMISSIONS) + $(SYSTEMD_TIMESYNCD_PERMISSIONS) +endef + define SYSTEMD_USERS # udev user groups + - - render -1 * - - - DRI rendering nodes + - - sgx -1 * - - - SGX device nodes # systemd user groups - - systemd-journal -1 * - - - Journal $(SYSTEMD_REMOTE_USER) $(SYSTEMD_COREDUMP_USER) + $(SYSTEMD_OOMD_USER) $(SYSTEMD_NETWORKD_USER) $(SYSTEMD_RESOLVED_USER) $(SYSTEMD_TIMESYNCD_USER) @@ -544,19 +618,21 @@ endef define SYSTEMD_INSTALL_NSSCONFIG_HOOK $(SED) '/^passwd:/ {/systemd/! s/$$/ systemd/}' \ -e '/^group:/ {/systemd/! s/$$/ [SUCCESS=merge] systemd/}' \ + -e '/^shadow:/ {/systemd/! s/$$/ systemd/}' \ + -e '/^gshadow:/ {/systemd/! s/$$/ systemd/}' \ $(if $(BR2_PACKAGE_SYSTEMD_RESOLVED), \ -e '/^hosts:/ s/[[:space:]]*mymachines//' \ - -e '/^hosts:/ {/resolve/! s/files/files resolve [!UNAVAIL=return]/}' ) \ + -e '/^hosts:/ {/resolve/! s/files/resolve [!UNAVAIL=return] files/}' ) \ $(if $(BR2_PACKAGE_SYSTEMD_MYHOSTNAME), \ - -e '/^hosts:/ {/myhostname/! s/$$/ myhostname/}' ) \ + -e '/^hosts:/ {/myhostname/! s/files/files myhostname/}' ) \ $(if $(BR2_PACKAGE_SYSTEMD_MACHINED), \ - -e '/^passwd:/ {/mymachines/! s/files/files mymachines/}' \ - -e '/^group:/ {/mymachines/! s/files/files [SUCCESS=merge] mymachines/}' \ - -e '/^hosts:/ {/mymachines/! s/files/files mymachines/}' ) \ + -e '/^hosts:/ {/mymachines/! s/^\(hosts:[[:space:]]*\)/\1mymachines /}' ) \ $(TARGET_DIR)/etc/nsswitch.conf endef -SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_INSTALL_NSSCONFIG_HOOK +SYSTEMD_TARGET_FINALIZE_HOOKS += \ + SYSTEMD_INSTALL_NSSCONFIG_HOOK \ + SYSTEMD_INSTALL_RESOLVCONF_HOOK ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) # systemd provides multiple units to autospawn getty as neede @@ -620,6 +696,50 @@ define SYSTEMD_INSTALL_INIT_SYSTEMD $(SYSTEMD_INSTALL_NETWORK_CONFS) endef +ifeq ($(BR2_ENABLE_LOCALE_PURGE),y) +# Go through all files with scheme ..catalog +# and remove those where is not in LOCALE_NOPURGE +define SYSTEMD_LOCALE_PURGE_CATALOGS + for cfile in `find $(TARGET_DIR)/usr/lib/systemd/catalog -name '*.*.catalog'`; \ + do \ + basename=$${cfile##*/}; \ + basename=$${basename%.catalog}; \ + langext=$${basename#*.}; \ + [ "$$langext" = "$${basename}" ] && continue; \ + expr '$(LOCALE_NOPURGE)' : ".*\b$${langext}\b" >/dev/null && continue; \ + rm -f "$$cfile"; \ + done +endef +SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_LOCALE_PURGE_CATALOGS +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD_CATALOGDB),y) +define SYSTEMD_UPDATE_CATALOGS + $(HOST_DIR)/bin/journalctl --root=$(TARGET_DIR) --update-catalog + install -D $(TARGET_DIR)/var/lib/systemd/catalog/database \ + $(TARGET_DIR)/usr/share/factory/var/lib/systemd/catalog/database + rm $(TARGET_DIR)/var/lib/systemd/catalog/database + ln -sf /usr/share/factory/var/lib/systemd/catalog/database \ + $(TARGET_DIR)/var/lib/systemd/catalog/database + grep -q '^L /var/lib/systemd/catalog/database' $(TARGET_DIR)/usr/lib/tmpfiles.d/var.conf || \ + printf "\nL /var/lib/systemd/catalog/database\n" >> $(TARGET_DIR)/usr/lib/tmpfiles.d/var.conf +endef +SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_UPDATE_CATALOGS +endif + +define SYSTEMD_RM_CATALOG_UPDATE_SERVICE + rm -rf $(TARGET_DIR)/usr/lib/systemd/catalog \ + $(TARGET_DIR)/usr/lib/systemd/system/systemd-journal-catalog-update.service \ + $(TARGET_DIR)/usr/lib/systemd/system/*/systemd-journal-catalog-update.service +endef +SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_RM_CATALOG_UPDATE_SERVICE + +define SYSTEMD_CREATE_TMPFILES_HOOK + HOST_SYSTEMD_TMPFILES=$(HOST_DIR)/bin/systemd-tmpfiles \ + $(SYSTEMD_PKGDIR)/fakeroot_tmpfiles.sh $(TARGET_DIR) +endef +SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_CREATE_TMPFILES_HOOK + define SYSTEMD_PRESET_ALL $(HOST_DIR)/bin/systemctl --root=$(TARGET_DIR) preset-all endef @@ -629,14 +749,22 @@ SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV) SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV) define SYSTEMD_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) - $(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE) - $(call KCONFIG_ENABLE_OPT,CONFIG_EPOLL) + $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER) $(call KCONFIG_ENABLE_OPT,CONFIG_SIGNALFD) $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERFD) - $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER) - $(call KCONFIG_ENABLE_OPT,CONFIG_PROC_FS) + $(call KCONFIG_ENABLE_OPT,CONFIG_EPOLL) + $(call KCONFIG_ENABLE_OPT,CONFIG_UNIX) $(call KCONFIG_ENABLE_OPT,CONFIG_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_PROC_FS) + $(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE) + + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) + + $(call KCONFIG_DISABLE_OPT,CONFIG_SYSFS_DEPRECATED) + + $(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS_FS) $(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS) $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL) $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_XATTR) @@ -662,11 +790,13 @@ HOST_SYSTEMD_CONF_OPTS = \ -Drepart=false \ -Dcoredump=false \ -Dpstore=false \ + -Doomd=false \ -Dlogind=false \ -Dhostnamed=false \ -Dlocaled=false \ -Dmachined=false \ -Dportabled=false \ + -Dsysext=false \ -Duserdb=false \ -Dhomed=false \ -Dnetworkd=false \ @@ -684,7 +814,7 @@ HOST_SYSTEMD_CONF_OPTS = \ -Dvconsole=false \ -Dquotacheck=false \ -Dsysusers=false \ - -Dtmpfiles=false \ + -Dtmpfiles=true \ -Dimportd=false \ -Dhwdb=false \ -Drfkill=false \ @@ -706,7 +836,7 @@ HOST_SYSTEMD_CONF_OPTS = \ -Dinitrd=false \ -Dxdg-autostart=false \ -Dkernel-install=false \ - -Dsystemd-analyze=false \ + -Danalyze=false \ -Dlibcryptsetup=false \ -Daudit=false \ -Dzstd=false @@ -716,7 +846,8 @@ HOST_SYSTEMD_DEPENDENCIES = \ host-util-linux \ host-patchelf \ host-libcap \ - host-gperf + host-gperf \ + host-python-jinja2 HOST_SYSTEMD_NINJA_ENV = DESTDIR=$(HOST_DIR) diff --git a/package/sysvinit/0001-Makefile-disable-stack-protector-strong.patch b/package/sysvinit/0001-Makefile-disable-stack-protector-strong.patch new file mode 100644 index 00000000000..066bdb36601 --- /dev/null +++ b/package/sysvinit/0001-Makefile-disable-stack-protector-strong.patch @@ -0,0 +1,33 @@ +From 0759f3f9bb2850df455599e7c82eda4ec804e3b6 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Wed, 10 Mar 2021 22:57:50 +0100 +Subject: [PATCH] Makefile: disable stack-protector-strong + +Fixes: + + .../aarch64-buildroot-linux-uclibc/bin/ld: runlevel.o: in function `main': + runlevel.c:(.text.startup+0x4): undefined reference to `__stack_chk_guard' + .../aarch64-buildroot-linux-uclibc/bin/ld: cannot find -lssp_nonshared + .../aarch64-buildroot-linux-uclibc/bin/ld: cannot find -lssp + +Signed-off-by: Peter Seiderer +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 1b368dc..1985929 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -10,7 +10,7 @@ + + CPPFLAGS = + CFLAGS ?= -O2 +-override CFLAGS += -ansi -fomit-frame-pointer -fstack-protector-strong -W -Wall -Wunreachable-code -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -D_XOPEN_SOURCE -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" ++override CFLAGS += -ansi -fomit-frame-pointer -W -Wall -Wunreachable-code -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -D_XOPEN_SOURCE -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" + override CFLAGS += $(shell getconf LFS_CFLAGS) + STATIC = + MANDB := s@^\('\\\\\"\)[^\*-]*-\*- coding: [^[:blank:]]\+ -\*-@\1@ +-- +2.30.1 + diff --git a/package/sysvinit/inittab b/package/sysvinit/inittab index a31471031fd..afc28e6c03a 100644 --- a/package/sysvinit/inittab +++ b/package/sysvinit/inittab @@ -8,12 +8,13 @@ si0::sysinit:/bin/mount -t proc proc /proc si1::sysinit:/bin/mount -o remount,rw / si2::sysinit:/bin/mkdir -p /dev/pts /dev/shm si3::sysinit:/bin/mount -a -si4::sysinit:/sbin/swapon -a -si5::sysinit:/bin/ln -sf /proc/self/fd /dev/fd 2>/dev/null -si6::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin 2>/dev/null -si7::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout 2>/dev/null -si8::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr 2>/dev/null -si9::sysinit:/bin/hostname -F /etc/hostname +si4::sysinit:/bin/mkdir -p /run/lock/subsys +si5::sysinit:/sbin/swapon -a +si6::sysinit:/bin/ln -sf /proc/self/fd /dev/fd 2>/dev/null +si7::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin 2>/dev/null +si8::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout 2>/dev/null +si9::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr 2>/dev/null +si10::sysinit:/bin/hostname -F /etc/hostname rcS:12345:wait:/etc/init.d/rcS # S0:1:respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL diff --git a/package/sysvinit/sysvinit.hash b/package/sysvinit/sysvinit.hash index 24e5333d236..5b3c7837e2f 100644 --- a/package/sysvinit/sysvinit.hash +++ b/package/sysvinit/sysvinit.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 7b2c3ffaf19eaf1ca80268762f85f9e4eb8e3c973213d49f9802605b72caa7dc sysvinit-2.98.tar.xz +sha256 b05c3677bb698afe64c997968b00c49b2a9bd320ce963523230ee7ea41197757 sysvinit-2.99.tar.xz # Hash for license files: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk index c7ddf67c2f4..1bf10deb635 100644 --- a/package/sysvinit/sysvinit.mk +++ b/package/sysvinit/sysvinit.mk @@ -4,11 +4,12 @@ # ################################################################################ -SYSVINIT_VERSION = 2.98 +SYSVINIT_VERSION = 2.99 SYSVINIT_SOURCE = sysvinit-$(SYSVINIT_VERSION).tar.xz SYSVINIT_SITE = http://download.savannah.nongnu.org/releases/sysvinit SYSVINIT_LICENSE = GPL-2.0+ SYSVINIT_LICENSE_FILES = COPYING +SYSVINIT_CPE_ID_VENDOR = sysvinit_project SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR) diff --git a/package/taglib/0001-Fix-error-duplicate-volatile-on-systems-without-HAVE_GCC_ATOMIC.patch b/package/taglib/0001-Fix-error-duplicate-volatile-on-systems-without-HAVE_GCC_ATOMIC.patch new file mode 100644 index 00000000000..d8af73cb083 --- /dev/null +++ b/package/taglib/0001-Fix-error-duplicate-volatile-on-systems-without-HAVE_GCC_ATOMIC.patch @@ -0,0 +1,34 @@ +From 1d24bd3399f2284104cbe87d017f87325b1797ab Mon Sep 17 00:00:00 2001 +From: Oleg Antonyan +Date: Thu, 13 May 2021 16:41:35 +0200 +Subject: [PATCH] =?UTF-8?q?Fix=20"error:=20duplicate=20=E2=80=98volatile?= + =?UTF-8?q?=E2=80=99"=20on=20systems=20without=20HAVE=5FGCC=5FATOMIC=20in?= + =?UTF-8?q?=201.12=20(#1012)?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* fix error: duplicate volatile + +* fix volatile ATOMIC_INT in constructor + +[Retrieved from: +https://github.com/taglib/taglib/commit/1d24bd3399f2284104cbe87d017f87325b1797ab] +Signed-off-by: Fabrice Fontaine +--- + taglib/toolkit/trefcounter.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/taglib/toolkit/trefcounter.cpp b/taglib/toolkit/trefcounter.cpp +index 18cb596c0..5b089abf9 100644 +--- a/taglib/toolkit/trefcounter.cpp ++++ b/taglib/toolkit/trefcounter.cpp +@@ -52,7 +52,7 @@ + # define ATOMIC_INC(x) __sync_add_and_fetch(&x, 1) + # define ATOMIC_DEC(x) __sync_sub_and_fetch(&x, 1) + #else +-# define ATOMIC_INT volatile int ++# define ATOMIC_INT int + # define ATOMIC_INC(x) (++x) + # define ATOMIC_DEC(x) (--x) + #endif diff --git a/package/taglib/0001-fix-taglib-config-file-for-cross-compiling-906.patch b/package/taglib/0001-fix-taglib-config-file-for-cross-compiling-906.patch deleted file mode 100644 index 2c6ebd74db9..00000000000 --- a/package/taglib/0001-fix-taglib-config-file-for-cross-compiling-906.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 7470f92a67375d00e53b3785a88fa7b26ad6f1da Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Fri, 17 May 2019 13:13:35 +0200 -Subject: [PATCH] fix taglib-config file for cross compiling (#906) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The current taglib-config program does not work for cross-compiling as it only -returns the paths to the host, which breaks building programs which uses -`taglib-config` to link against taglib. - -Fix this by passing sysroot to the `prefix` and `exec_prefix` fields. - -Backported from: 7470f92a67375d00e53b3785a88fa7b26ad6f1da - -Signed-off-by: Jörg Krause ---- - CMakeLists.txt | 2 +- - taglib-config.cmake | 10 +++++----- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2de06324..1a0302c4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -105,7 +105,7 @@ math(EXPR TAGLIB_SOVERSION_PATCH "${TAGLIB_SOVERSION_REVISION}") - include(ConfigureChecks.cmake) - - if(NOT WIN32) -- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config") -+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" @ONLY) - install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" DESTINATION "${BIN_INSTALL_DIR}") - endif() - -diff --git a/taglib-config.cmake b/taglib-config.cmake -index 2bc2811a..96ef6883 100644 ---- a/taglib-config.cmake -+++ b/taglib-config.cmake -@@ -14,10 +14,10 @@ EOH - exit 1; - } - --prefix=${CMAKE_INSTALL_PREFIX} --exec_prefix=${CMAKE_INSTALL_PREFIX} --libdir=${LIB_INSTALL_DIR} --includedir=${INCLUDE_INSTALL_DIR} -+prefix=@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@ -+exec_prefix=@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@ -+libdir=${exec_prefix}/lib -+includedir=${prefix}/include - - flags="" - -@@ -35,7 +35,7 @@ do - flags="$flags -I$includedir/taglib" - ;; - --version) -- echo ${TAGLIB_LIB_VERSION_STRING} -+ echo @TAGLIB_LIB_VERSION_STRING@ - ;; - --prefix) - echo $prefix --- -2.22.0 - diff --git a/package/taglib/0002-Don-t-assume-TDRC-is-an-instance-of-TextIdentificationFrame.patch b/package/taglib/0002-Don-t-assume-TDRC-is-an-instance-of-TextIdentificationFrame.patch deleted file mode 100644 index c7ca9500d29..00000000000 --- a/package/taglib/0002-Don-t-assume-TDRC-is-an-instance-of-TextIdentificationFrame.patch +++ /dev/null @@ -1,33 +0,0 @@ -From eb9ded1206f18f2c319157337edea2533a40bea6 Mon Sep 17 00:00:00 2001 -From: "Stephen F. Booth" -Date: Sun, 23 Jul 2017 10:11:09 -0400 -Subject: [PATCH] Don't assume TDRC is an instance of TextIdentificationFrame - -If TDRC is encrypted, FrameFactory::createFrame() returns UnknownFrame -which causes problems in rebuildAggregateFrames() when it is assumed -that TDRC is a TextIdentificationFrame -[Retrieved from: -https://github.com/taglib/taglib/pull/831/commits/eb9ded1206f18f2c319157337edea2533a40bea6] -Signed-off-by: Fabrice Fontaine ---- - taglib/mpeg/id3v2/id3v2framefactory.cpp | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp -index 759a9b7be..9347ab869 100644 ---- a/taglib/mpeg/id3v2/id3v2framefactory.cpp -+++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp -@@ -334,10 +334,11 @@ void FrameFactory::rebuildAggregateFrames(ID3v2::Tag *tag) const - tag->frameList("TDAT").size() == 1) - { - TextIdentificationFrame *tdrc = -- static_cast(tag->frameList("TDRC").front()); -+ dynamic_cast(tag->frameList("TDRC").front()); - UnknownFrame *tdat = static_cast(tag->frameList("TDAT").front()); - -- if(tdrc->fieldList().size() == 1 && -+ if(tdrc && -+ tdrc->fieldList().size() == 1 && - tdrc->fieldList().front().size() == 4 && - tdat->data().size() >= 5) - { diff --git a/package/taglib/0003-Fixed-OOB-read-when-loading-invalid-ogg-flac-file.patch b/package/taglib/0003-Fixed-OOB-read-when-loading-invalid-ogg-flac-file.patch deleted file mode 100644 index b245659c20c..00000000000 --- a/package/taglib/0003-Fixed-OOB-read-when-loading-invalid-ogg-flac-file.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 2c4ae870ec086f2ddd21a47861a3709c36faac45 Mon Sep 17 00:00:00 2001 -From: Scott Gayou -Date: Tue, 9 Oct 2018 18:46:55 -0500 -Subject: [PATCH] Fixed OOB read when loading invalid ogg flac file. (#868) - (#869) - -CVE-2018-11439 is caused by a failure to check the minimum length -of a ogg flac header. This header is detailed in full at: -https://xiph.org/flac/ogg_mapping.html. Added more strict checking -for entire header. -[Retrieved from: -https://github.com/taglib/taglib/commit/2c4ae870ec086f2ddd21a47861a3709c36faac45] -Signed-off-by: Fabrice Fontaine ---- - taglib/ogg/flac/oggflacfile.cpp | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/taglib/ogg/flac/oggflacfile.cpp b/taglib/ogg/flac/oggflacfile.cpp -index 53d04508a..07ea9dccc 100644 ---- a/taglib/ogg/flac/oggflacfile.cpp -+++ b/taglib/ogg/flac/oggflacfile.cpp -@@ -231,11 +231,21 @@ void Ogg::FLAC::File::scan() - - if(!metadataHeader.startsWith("fLaC")) { - // FLAC 1.1.2+ -+ // See https://xiph.org/flac/ogg_mapping.html for the header specification. -+ if(metadataHeader.size() < 13) -+ return; -+ -+ if(metadataHeader[0] != 0x7f) -+ return; -+ - if(metadataHeader.mid(1, 4) != "FLAC") - return; - -- if(metadataHeader[5] != 1) -- return; // not version 1 -+ if(metadataHeader[5] != 1 && metadataHeader[6] != 0) -+ return; // not version 1.0 -+ -+ if(metadataHeader.mid(9, 4) != "fLaC") -+ return; - - metadataHeader = metadataHeader.mid(13); - } diff --git a/package/taglib/taglib.hash b/package/taglib/taglib.hash index 4b99e86d689..38a44b41a56 100644 --- a/package/taglib/taglib.hash +++ b/package/taglib/taglib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b taglib-1.11.1.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f COPYING.MPL +sha256 7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703 taglib-1.12.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL +sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f COPYING.MPL diff --git a/package/taglib/taglib.mk b/package/taglib/taglib.mk index 738be357563..9513e0d0e15 100644 --- a/package/taglib/taglib.mk +++ b/package/taglib/taglib.mk @@ -4,17 +4,12 @@ # ################################################################################ -TAGLIB_VERSION = 1.11.1 +TAGLIB_VERSION = 1.12 TAGLIB_SITE = http://taglib.github.io/releases TAGLIB_INSTALL_STAGING = YES TAGLIB_LICENSE = LGPL-2.1 or MPL-1.1 TAGLIB_LICENSE_FILES = COPYING.LGPL COPYING.MPL - -# 0002-Don-t-assume-TDRC-is-an-instance-of-TextIdentificationFrame.patch -TAGLIB_IGNORE_CVES += CVE-2017-12678 - -# 0003-Fixed-OOB-read-when-loading-invalid-ogg-flac-file.patch -TAGLIB_IGNORE_CVES += CVE-2018-11439 +TAGLIB_CPE_ID_VENDOR = taglib ifeq ($(BR2_PACKAGE_ZLIB),y) TAGLIB_DEPENDENCIES += zlib diff --git a/package/tar/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch b/package/tar/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch new file mode 100644 index 00000000000..fe55e4eb4d1 --- /dev/null +++ b/package/tar/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch @@ -0,0 +1,46 @@ +From a0594387565e1e6b4a8a8ba04ad13b135cc1f0b5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 1 Apr 2021 07:49:46 +0200 +Subject: [PATCH] lib/getrandom.c: fix build with uclibc < 1.0.35 + +Fix the following build failure with uclibc < 1.0.35 which is raised +since the addition of getrandom module in +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=682cc4e678aceff32dea2a84b6e5147bdf5a20a7: + +In file included from ./sys/random.h:40, + from getrandom.c:22: +/tmp/instance-0/output-1/per-package/tar/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t' + 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags) + | ^~~~~~ +/tmp/instance-0/output-1/per-package/tar/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header ''; did you forget to '#include '? + 7 | #include + +++ |+#include + 8 | + +This patch is not upstreamable as it is only a workaround for +uclibc < 1.0.35, upstream uclibc has been patched with +https://github.com/wbx-github/uclibc-ng/commit/00972c02c2b6e0a95d5def4a71bdfb188e091782 + +Fixes: + - http://autobuild.buildroot.org/results/f40e09d621ab5ba66dd97138dec174acfb7fda2a + +Signed-off-by: Fabrice Fontaine +--- + gnu/getrandom.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gnu/getrandom.c b/gnu/getrandom.c +index 41212fb32..0ad3f9648 100644 +--- a/gnu/getrandom.c ++++ b/gnu/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +-- +2.30.2 + diff --git a/package/tar/tar.hash b/package/tar/tar.hash index 72f0cd6fcbe..1914a9f3b48 100644 --- a/package/tar/tar.hash +++ b/package/tar/tar.hash @@ -1,4 +1,4 @@ # Locally calculated after checking signature -sha256 d0d3ae07f103323be809bc3eac0dcc386d52c5262499fe05511ac4788af1fdd8 tar-1.32.tar.xz -sha256 9fbfba0cba05233421dd619b8825e1ceb7c144e433c15ae48b68f17ede8d404a tar-1.32.cpio.gz +sha256 63bebd26879c5e1eea4352f0d03c991f966aeb3ddeb3c7445c902568d5411d28 tar-1.34.tar.xz +sha256 51337b19c71df92cd4f51c50efe4dc6ddc267d31fd54679be9e9bc2e6ce8132b tar-1.34.cpio.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/tar/tar.mk b/package/tar/tar.mk index 2da731f80ad..80d7495b005 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -4,7 +4,7 @@ # ################################################################################ -TAR_VERSION = 1.32 +TAR_VERSION = 1.34 TAR_SOURCE = tar-$(TAR_VERSION).tar.xz TAR_SITE = $(BR2_GNU_MIRROR)/tar # busybox installs in /bin, so we need tar to install as well in /bin @@ -13,6 +13,8 @@ TAR_CONF_OPTS = --exec-prefix=/ TAR_LICENSE = GPL-3.0+ TAR_LICENSE_FILES = COPYING TAR_CPE_ID_VENDOR = gnu +# only tar <= 1.16 +TAR_IGNORE_CVES += CVE-2007-4476 ifeq ($(BR2_PACKAGE_ACL),y) TAR_DEPENDENCIES += acl diff --git a/package/targetcli-fb/Config.in b/package/targetcli-fb/Config.in index 24ff3145f68..04c6a1ac09d 100644 --- a/package/targetcli-fb/Config.in +++ b/package/targetcli-fb/Config.in @@ -1,9 +1,9 @@ comment "targetcli-fb depends on Python" - depends on !BR2_PACKAGE_PYTHON && !BR2_PACKAGE_PYTHON3 + depends on !BR2_PACKAGE_PYTHON3 config BR2_PACKAGE_TARGETCLI_FB bool "targetcli-fb" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 # python-configshell-fb select BR2_PACKAGE_PYTHON_CONFIGSHELL_FB select BR2_PACKAGE_PYTHON_RTSLIB_FB select BR2_PACKAGE_PYTHON_SIX diff --git a/package/targetcli-fb/targetcli-fb.hash b/package/targetcli-fb/targetcli-fb.hash index 207c38e0460..64f68a6675a 100644 --- a/package/targetcli-fb/targetcli-fb.hash +++ b/package/targetcli-fb/targetcli-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 0f32ab6f3ecd234280d55be5e89ce2b3a02f9c82c8dccaae66e26464cff8901a targetcli-fb-2.1.fb41.tar.gz +sha256 7ae4120a54f24b13263b4b85c43952a03546f8b9fc9bd15fe87678f68245a33f targetcli-fb-2.1.54.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/targetcli-fb/targetcli-fb.mk b/package/targetcli-fb/targetcli-fb.mk index 75643446d22..c6ca776b27f 100644 --- a/package/targetcli-fb/targetcli-fb.mk +++ b/package/targetcli-fb/targetcli-fb.mk @@ -6,10 +6,11 @@ # When upgrading the version, be sure to also upgrade python-rtslib-fb # and python-configshell-fb at the same time. -TARGETCLI_FB_VERSION = 2.1.fb41 +TARGETCLI_FB_VERSION = 2.1.54 TARGETCLI_FB_SITE = $(call github,open-iscsi,targetcli-fb,v$(TARGETCLI_FB_VERSION)) TARGETCLI_FB_LICENSE = Apache-2.0 TARGETCLI_FB_LICENSE_FILES = COPYING +TARGETCLI_FB_CPE_ID_VENDOR = targetcli-fb_project TARGETCLI_FB_SETUP_TYPE = setuptools TARGETCLI_FB_DEPENDENCIES = python-configshell-fb python-rtslib-fb python-six diff --git a/package/tcl/0001-dont-build-compat.patch b/package/tcl/0001-dont-build-compat.patch index c0d5d85da74..7a7d959cd25 100644 --- a/package/tcl/0001-dont-build-compat.patch +++ b/package/tcl/0001-dont-build-compat.patch @@ -7,7 +7,7 @@ anything buildroot is using as a standard C library will be good enough to not have broken behavior. Signed-off-by: Andrew Ruder -[Fabrice: Update for 8.6.9] +[Fabrice: Update for 8.6.12] Signed-off-by: Fabrice Fontaine --- @@ -15,11 +15,11 @@ diff --git a/unix/tcl.m4 b/unix/tcl.m4 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -2725,7 +2725,7 @@ AC_DEFUN([SC_TCL_CHECK_BROKEN_FUNC],[ - if test ["$tcl_ok"] = 1; then - AC_CACHE_CHECK([proper ]$1[ implementation], [tcl_cv_]$1[_unbroken], - AC_TRY_RUN([[int main() {]$2[}]],[tcl_cv_]$1[_unbroken]=ok, -- [tcl_cv_]$1[_unbroken]=broken,[tcl_cv_]$1[_unbroken]=unknown)) -+ [tcl_cv_]$1[_unbroken]=broken,[tcl_cv_]$1[_unbroken]=ok)) - if test ["$tcl_cv_]$1[_unbroken"] = "ok"; then + #include + #include + int main() {]$2[}]]])],[tcl_cv_$1_unbroken=ok], +- [tcl_cv_$1_unbroken=broken],[tcl_cv_$1_unbroken=unknown])) ++ [tcl_cv_$1_unbroken=broken],[tcl_cv_$1_unbroken=unknown])) + if test ["$tcl_cv_]$1[_unbroken"] = "ok"; then tcl_ok=1 else diff --git a/package/tcl/tcl.hash b/package/tcl/tcl.hash index 913190b95c8..2b82a1938b6 100644 --- a/package/tcl/tcl.hash +++ b/package/tcl/tcl.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e tcl8.6.9-src.tar.gz -sha256 c0a69a2bfd757361ec7e6143973b103c90409316b49e9c88db26ad6388e79f16 license.terms +sha256 26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6 tcl8.6.12-src.tar.gz +sha256 c0a69a2bfd757361ec7e6143973b103c90409316b49e9c88db26ad6388e79f16 license.terms diff --git a/package/tcl/tcl.mk b/package/tcl/tcl.mk index 7c456e89b33..97754b63d02 100644 --- a/package/tcl/tcl.mk +++ b/package/tcl/tcl.mk @@ -5,7 +5,7 @@ ################################################################################ TCL_VERSION_MAJOR = 8.6 -TCL_VERSION = $(TCL_VERSION_MAJOR).9 +TCL_VERSION = $(TCL_VERSION_MAJOR).12 TCL_SOURCE = tcl$(TCL_VERSION)-src.tar.gz TCL_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TCL_VERSION) TCL_LICENSE = TCL diff --git a/package/tclap/tclap.hash b/package/tclap/tclap.hash index 2b2097be972..fdfd46a2e46 100644 --- a/package/tclap/tclap.hash +++ b/package/tclap/tclap.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f5013be7fcaafc69ba0ce2d1710f693f61e9c336b6292ae4f57554f59fde5837 tclap-1.2.2.tar.gz -sha256 cd81a61d47aeb1ed63036ca260baee37719923bbd7ebd988ec4edae128f3b6eb COPYING +sha256 634c5b59dbb1ccbc9d6a5f6de494a257e29a3f59dcb6fc30445ff39b45188574 tclap-1.2.4.tar.gz +sha256 cd81a61d47aeb1ed63036ca260baee37719923bbd7ebd988ec4edae128f3b6eb COPYING diff --git a/package/tclap/tclap.mk b/package/tclap/tclap.mk index 63dea67ac4d..d7f96bd0345 100644 --- a/package/tclap/tclap.mk +++ b/package/tclap/tclap.mk @@ -4,11 +4,12 @@ # ################################################################################ -TCLAP_VERSION = 1.2.2 +TCLAP_VERSION = 1.2.4 TCLAP_SITE = http://downloads.sourceforge.net/project/tclap TCLAP_LICENSE = MIT TCLAP_LICENSE_FILES = COPYING TCLAP_INSTALL_STAGING = YES +TCLAP_CPE_ID_VENDOR = tclap_project # This package is a pure C++ template library, only made of headers. TCLAP_INSTALL_TARGET = NO diff --git a/package/tcllib/tcllib.hash b/package/tcllib/tcllib.hash index d08b5a172a6..fb80841998e 100644 --- a/package/tcllib/tcllib.hash +++ b/package/tcllib/tcllib.hash @@ -1,3 +1,5 @@ +# From https://core.tcl-lang.org/tcllib/uv/tcllib-1.20.SHA256 +sha256 199e8ec7ee26220e8463bc84dd55c44965fc8ef4d4ac6e4684b2b1c03b1bd5b9 tcllib-1.20.tar.xz + # Locally computed: -sha256 0db9e17d6c0f44d3ca2df2ea5023e35c0f3767e7008c3cb26d201446eb68add1 tcllib-1.13.tar.bz2 -sha256 530ec70eb11a455bd582d86b6d74c2dd7cc367d90b8bbdd59fcb43ae02f95a4b license.terms +sha256 38e1f556213f4008cfd280457af57c76a1fe043dc026ece1c704c09b5f6e865c license.terms diff --git a/package/tcllib/tcllib.mk b/package/tcllib/tcllib.mk index dfa35c8941e..0f60eb8acaa 100644 --- a/package/tcllib/tcllib.mk +++ b/package/tcllib/tcllib.mk @@ -4,8 +4,8 @@ # ################################################################################ -TCLLIB_VERSION = 1.13 -TCLLIB_SOURCE = tcllib-$(TCLLIB_VERSION).tar.bz2 +TCLLIB_VERSION = 1.20 +TCLLIB_SOURCE = tcllib-$(TCLLIB_VERSION).tar.xz TCLLIB_SITE = http://downloads.sourceforge.net/project/tcllib/tcllib/$(TCLLIB_VERSION) TCLLIB_LICENSE = TCL TCLLIB_LICENSE_FILES = license.terms diff --git a/package/tcpdump/tcpdump.hash b/package/tcpdump/tcpdump.hash index 4aea5b7cb5a..1990aa797bc 100644 --- a/package/tcpdump/tcpdump.hash +++ b/package/tcpdump/tcpdump.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature at -# https://www.tcpdump.org/release/tcpdump-4.99.0.tar.gz.sig +# https://www.tcpdump.org/release/tcpdump-4.99.1.tar.gz.sig # using key 1F166A5742ABB9E0249A8D30E089DEF1D9C15D0D -sha256 8cf2f17a9528774a7b41060323be8b73f76024f7778f59c34efa65d49d80b842 tcpdump-4.99.0.tar.gz +sha256 79b36985fb2703146618d87c4acde3e068b91c553fb93f021a337f175fd10ebe tcpdump-4.99.1.tar.gz sha256 8a54594d257e14a5260ac770f1633516cb51e3fc28c40136ce2697014eda7afd LICENSE diff --git a/package/tcpdump/tcpdump.mk b/package/tcpdump/tcpdump.mk index c562034a4e7..7741c3b58ed 100644 --- a/package/tcpdump/tcpdump.mk +++ b/package/tcpdump/tcpdump.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCPDUMP_VERSION = 4.99.0 +TCPDUMP_VERSION = 4.99.1 TCPDUMP_SITE = https://www.tcpdump.org/release TCPDUMP_LICENSE = BSD-3-Clause TCPDUMP_LICENSE_FILES = LICENSE diff --git a/package/tcpreplay/0001-configure-ac-fix-without-libdnet.patch b/package/tcpreplay/0001-configure-ac-fix-without-libdnet.patch deleted file mode 100644 index 75ed4f94de6..00000000000 --- a/package/tcpreplay/0001-configure-ac-fix-without-libdnet.patch +++ /dev/null @@ -1,76 +0,0 @@ -From acee9c0c46f71f1f4c33c2dadf69d19e24b90f27 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 13 Aug 2019 20:19:23 +0200 -Subject: [PATCH] configure.ac: fix --without-libdnet - -Allow the user to disable libdnet check through --without-libdnet. -This option is useful to cross-compile tcpreplay to avoid build failures -if libdnet is installed on host but not on target, see -https://bugs.buildroot.org/show_bug.cgi?id=12096 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/appneta/tcpreplay/pull/567] ---- - configure.ac | 48 +++++++++++++++++++++++++----------------------- - 1 file changed, 25 insertions(+), 23 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 39ba58b7..5de3dcb5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1464,30 +1464,32 @@ if test $have_cygwin = no ; then - AC_HELP_STRING([--with-libdnet=DIR], [Use libdnet in DIR]), - [trydnetdir=$withval]) - -- case "$build_os" in -- linux*) -- dnl # Debian/Ubuntu already have a package called libdnet -- dnl # so you the package you want to install libdumbnet-dev -- for testdir in $trydnetdir /usr/local /opt/local /usr ; do -- if test -x ${testdir}/bin/dumbnet-config -a $founddnet = no ; then -- LDNETINC="$($testdir/bin/dumbnet-config --cflags)" -- LDNETLIB="$($testdir/bin/dumbnet-config --libs)" -- libdnet_version="$($testdir/bin/dumbnet-config --version) (libdumbnet)" -- founddnet=$testdir -- fi -- done -- ;; -- esac -+ if test $trydnetdir != no; then -+ case "$build_os" in -+ linux*) -+ dnl # Debian/Ubuntu already have a package called libdnet -+ dnl # so you the package you want to install libdumbnet-dev -+ for testdir in $trydnetdir /usr/local /opt/local /usr ; do -+ if test -x ${testdir}/bin/dumbnet-config -a $founddnet = no ; then -+ LDNETINC="$($testdir/bin/dumbnet-config --cflags)" -+ LDNETLIB="$($testdir/bin/dumbnet-config --libs)" -+ libdnet_version="$($testdir/bin/dumbnet-config --version) (libdumbnet)" -+ founddnet=$testdir -+ fi -+ done -+ ;; -+ esac - -- if test $founddnet = no ; then -- for testdir in $trydnetdir /usr/local /opt/local $MACOSX_SDK_PATH/usr /usr ; do -- if test -x ${testdir}/bin/dnet-config -a $founddnet = no ; then -- LDNETINC="$($testdir/bin/dnet-config --cflags)" -- LDNETLIB="$($testdir/bin/dnet-config --libs)" -- libdnet_version="$($testdir/bin/dnet-config --version)" -- founddnet=$testdir -- fi -- done -+ if test $founddnet = no ; then -+ for testdir in $trydnetdir /usr/local /opt/local $MACOSX_SDK_PATH/usr /usr ; do -+ if test -x ${testdir}/bin/dnet-config -a $founddnet = no ; then -+ LDNETINC="$($testdir/bin/dnet-config --cflags)" -+ LDNETLIB="$($testdir/bin/dnet-config --libs)" -+ libdnet_version="$($testdir/bin/dnet-config --version)" -+ founddnet=$testdir -+ fi -+ done -+ fi - fi - - if test $founddnet = no ; then diff --git a/package/tcpreplay/tcpreplay.hash b/package/tcpreplay/tcpreplay.hash index e83efd78b11..8bcdae958c5 100644 --- a/package/tcpreplay/tcpreplay.hash +++ b/package/tcpreplay/tcpreplay.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://github.com/appneta/tcpreplay/releases/download/v4.3.3/tcpreplay-4.3.3.tar.xz.asc +# https://github.com/appneta/tcpreplay/releases/download/v4.3.4/tcpreplay-4.3.4.tar.xz.asc # using key 84E4FA215C934A7D97DC76D5E9E2149793BDE17E -sha256 5e960e2a4432f583adbd11fa0855d17b73d9e0f2d6453b749f27aacaee53bab5 tcpreplay-4.3.3.tar.xz -sha256 5971b0c544622f4b210a9cc56436a970685d3b0666e373c09e3cf9304db15d05 docs/LICENSE +sha256 42c055106e55852c29d94bb6e1b9e001a0723349f2985eb893a47d384c85002b tcpreplay-4.3.4.tar.xz +sha256 07cf5e92d475287a7d1663b33097f40cae5adf03ed8920fcd4374e3dfb48c8ad docs/LICENSE diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk index 9208cb81764..ef654039740 100644 --- a/package/tcpreplay/tcpreplay.mk +++ b/package/tcpreplay/tcpreplay.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCPREPLAY_VERSION = 4.3.3 +TCPREPLAY_VERSION = 4.3.4 TCPREPLAY_SITE = https://github.com/appneta/tcpreplay/releases/download/v$(TCPREPLAY_VERSION) TCPREPLAY_SOURCE = tcpreplay-$(TCPREPLAY_VERSION).tar.xz TCPREPLAY_LICENSE = GPL-3.0 @@ -15,8 +15,6 @@ TCPREPLAY_CONF_ENV = \ TCPREPLAY_CONF_OPTS = --with-libpcap=$(STAGING_DIR)/usr \ --enable-pcapconfig TCPREPLAY_DEPENDENCIES = libpcap -# We're patching configure.ac -TCPREPLAY_AUTORECONF = YES ifeq ($(BR2_STATIC_LIBS),y) TCPREPLAY_CONF_OPTS += --enable-dynamic-link=no diff --git a/package/terminology/terminology.hash b/package/terminology/terminology.hash index 5dee767db12..2ad10af76f1 100644 --- a/package/terminology/terminology.hash +++ b/package/terminology/terminology.hash @@ -1,3 +1,3 @@ -# From https://download.enlightenment.org/rel/apps/terminology/terminology-1.8.1.tar.xz.sha256sum -sha256 04a69ac8ade443cba7dae20f82bbaa431fd155cec60c133b263d82f18e93b8bb terminology-1.8.1.tar.xz +# From https://download.enlightenment.org/rel/apps/terminology/terminology-1.12.1.tar.xz.sha256sum +sha256 f8ced9584c2e9ae87452ce7425fd25b2d3e122c7489785d2917890215c6b5aa9 terminology-1.12.1.tar.xz sha256 6863ee700fc82b9c3b82a1627136f6935a9eb68e6a64491f20e00b4023c33622 COPYING diff --git a/package/terminology/terminology.mk b/package/terminology/terminology.mk index d93e3487818..c3125c71ec9 100644 --- a/package/terminology/terminology.mk +++ b/package/terminology/terminology.mk @@ -4,14 +4,17 @@ # ################################################################################ -TERMINOLOGY_VERSION = 1.8.1 +TERMINOLOGY_VERSION = 1.12.1 TERMINOLOGY_SOURCE = terminology-$(TERMINOLOGY_VERSION).tar.xz TERMINOLOGY_SITE = https://download.enlightenment.org/rel/apps/terminology TERMINOLOGY_LICENSE = BSD-2-Clause TERMINOLOGY_LICENSE_FILES = COPYING +TERMINOLOGY_CPE_ID_VENDOR = enlightenment TERMINOLOGY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) efl host-pkgconf -TERMINOLOGY_CONF_OPTS = -Dedje-cc=$(HOST_DIR)/bin/edje_cc +TERMINOLOGY_CONF_OPTS = \ + -Dedje-cc=$(HOST_DIR)/bin/edje_cc \ + -Deet=$(HOST_DIR)/bin/eet ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) TERMINOLOGY_CONF_OPTS += -Dnls=true diff --git a/package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch b/package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch new file mode 100644 index 00000000000..5280f01aba4 --- /dev/null +++ b/package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch @@ -0,0 +1,42 @@ +From 52484af83a58664c3cc91b8af07aeeea271f67ef Mon Sep 17 00:00:00 2001 +From: Gilles Talis +Date: Sun, 9 Jan 2022 10:58:36 +0100 +Subject: [PATCH] Check if platform supports feenableexcept + +Signed-off-by: Gilles Talis +--- + configure.ac | 4 ++++ + src/tesseract.cpp | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 9177d64..80cd735 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -188,6 +188,10 @@ case "${host_cpu}" in + + esac + ++# check whether feenableexcept is supported. some C libraries (e.g. uclibc) don't. ++AC_CHECK_FUNC(feenableexcept, [feenableexcept=true], [feenableexcept=false]) ++AM_CONDITIONAL([HAVE_FEENABLEEXCEPT], $feenableexcept) ++ + AX_CHECK_COMPILE_FLAG([-fopenmp-simd], [openmp_simd=true], [openmp_simd=false], [$WERROR]) + AM_CONDITIONAL([OPENMP_SIMD], $openmp_simd) + +diff --git a/src/tesseract.cpp b/src/tesseract.cpp +index 933116e..9154db8 100644 +--- a/src/tesseract.cpp ++++ b/src/tesseract.cpp +@@ -629,7 +629,7 @@ static void PreloadRenderers(tesseract::TessBaseAPI &api, + **********************************************************************/ + + int main(int argc, char **argv) { +-#if defined(__USE_GNU) ++#if defined(__USE_GNU) && defined(HAVE_FEENABLEEXCEPT) + // Raise SIGFPE. + # if defined(__clang__) + // clang creates code which causes some FP exceptions, so don't enable those. +-- +2.32.0 + diff --git a/package/tesseract-ocr/0001-Fix-timeval-structure-build-failure.patch b/package/tesseract-ocr/0001-Fix-timeval-structure-build-failure.patch deleted file mode 100644 index 0b0bb1a8998..00000000000 --- a/package/tesseract-ocr/0001-Fix-timeval-structure-build-failure.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ea1e1ddfc0af9966a0c613a93087bc3e0a5979a7 Mon Sep 17 00:00:00 2001 -From: Gilles Talis -Date: Fri, 19 Jul 2019 18:52:03 +0200 -Subject: [PATCH] Fix timeval structure build failure - -timeval structure definition requires to be included - -Signed-off-by: Gilles Talis ---- - src/ccutil/ocrclass.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/ccutil/ocrclass.h b/src/ccutil/ocrclass.h -index d39a6dd..2a01118 100644 ---- a/src/ccutil/ocrclass.h -+++ b/src/ccutil/ocrclass.h -@@ -28,6 +28,7 @@ - - #include - #include -+#include - #ifdef _WIN32 - #include // for timeval - #endif --- -2.7.4 - diff --git a/package/tesseract-ocr/Config.in b/package/tesseract-ocr/Config.in index 3afaca771a9..4d9b78733e0 100644 --- a/package/tesseract-ocr/Config.in +++ b/package/tesseract-ocr/Config.in @@ -1,13 +1,13 @@ -comment "tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 4.8, dynamic library, wchar" +comment "tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 7, dynamic library, wchar" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || BR2_STATIC_LIBS || !BR2_USE_WCHAR + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || BR2_STATIC_LIBS || !BR2_USE_WCHAR menuconfig BR2_PACKAGE_TESSERACT_OCR bool "tesseract-ocr" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR diff --git a/package/tesseract-ocr/tesseract-ocr.hash b/package/tesseract-ocr/tesseract-ocr.hash index 808ea174ef5..9e526423d3c 100644 --- a/package/tesseract-ocr/tesseract-ocr.hash +++ b/package/tesseract-ocr/tesseract-ocr.hash @@ -1,5 +1,5 @@ # locally computed -sha256 2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb tesseract-ocr-4.1.1.tar.gz +sha256 b5b0e561650ed67feb1e9de38d4746121d302ae4c876c95b99b8b6f9f89d5c58 tesseract-ocr-5.0.1.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE sha256 daa0c97d651c19fba3b25e81317cd697e9908c8208090c94c3905381c23fc047 eng.traineddata sha256 eac01c1d72540d6090facb7b2f42dd0a2ee8fc57c5be1b20548ae668e2761913 fra.traineddata diff --git a/package/tesseract-ocr/tesseract-ocr.mk b/package/tesseract-ocr/tesseract-ocr.mk index fc083c27f6f..a7498931fb8 100644 --- a/package/tesseract-ocr/tesseract-ocr.mk +++ b/package/tesseract-ocr/tesseract-ocr.mk @@ -4,8 +4,8 @@ # ################################################################################ -TESSERACT_OCR_VERSION = 4.1.1 -TESSERACT_OCR_DATA_VERSION = 4.0.0 +TESSERACT_OCR_VERSION = 5.0.1 +TESSERACT_OCR_DATA_VERSION = 4.1.0 TESSERACT_OCR_SITE = $(call github,tesseract-ocr,tesseract,$(TESSERACT_OCR_VERSION)) TESSERACT_OCR_LICENSE = Apache-2.0 TESSERACT_OCR_LICENSE_FILES = LICENSE @@ -24,6 +24,12 @@ TESSERACT_OCR_CONF_ENV = \ TESSERACT_OCR_CONF_OPTS = \ --disable-opencl +ifeq ($(BR2_ARM_CPU_HAS_NEON),y) +TESSERACT_OCR_CONF_ENV += ax_cv_check_cxxflags__mfpu_neon=yes +else +TESSERACT_OCR_CONF_ENV += ax_cv_check_cxxflags__mfpu_neon=no +endif + # Language data files download ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_ENG),y) TESSERACT_OCR_DATA_FILES += eng.traineddata diff --git a/package/tftpd/S80tftpd-hpa b/package/tftpd/S80tftpd-hpa index 4e8361faa77..8ae15150a1d 100644 --- a/package/tftpd/S80tftpd-hpa +++ b/package/tftpd/S80tftpd-hpa @@ -11,6 +11,8 @@ DAEMON=/usr/sbin/$NAME PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/S80tftpd-hpa +[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME" + # # Function that starts the daemon/service. # diff --git a/package/tftpd/tftpd.hash b/package/tftpd/tftpd.hash index c876b2edc24..3cccb0f20ea 100644 --- a/package/tftpd/tftpd.hash +++ b/package/tftpd/tftpd.hash @@ -1,5 +1,5 @@ -# From https://www.kernel.org/pub/software/network/tftp/tftp-hpa/sha256sums.asc -sha256 afee361df96a2f88344e191f6a25480fd714e1d28d176c3f10cc43fa206b718b tftp-hpa-5.2.tar.xz +# Locally calculated +sha256 c86520c30dab0b6bcbae021ab26d2ac63227696596d37a9b02aa3e56ec5c2e77 tftpd-b2b34cecc8cbc18ff6f1fc00bda6ae6e9011e6c7-br1.tar.gz # Hash for license file -sha256 5efef82650b8ece733e37790fc70f05e426c9e1ef9640d4ebcb04867bd3f5e28 tftpd/tftpd.c +sha256 67754ebd8f265571d3226ac97e521b1bd6fd8a61363ecd4ab7806a6f90efab92 tftpd/tftpd.c diff --git a/package/tftpd/tftpd.mk b/package/tftpd/tftpd.mk index 494e963d645..ceac24119eb 100644 --- a/package/tftpd/tftpd.mk +++ b/package/tftpd/tftpd.mk @@ -4,14 +4,17 @@ # ################################################################################ -TFTPD_VERSION = 5.2 -TFTPD_SOURCE = tftp-hpa-$(TFTPD_VERSION).tar.xz -TFTPD_SITE = $(BR2_KERNEL_MIRROR)/software/network/tftp/tftp-hpa +TFTPD_VERSION = b2b34cecc8cbc18ff6f1fc00bda6ae6e9011e6c7 +TFTPD_SITE = https://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git +TFTPD_SITE_METHOD = git TFTPD_CONF_OPTS = --without-tcpwrappers TFTPD_LICENSE = BSD-4-Clause TFTPD_LICENSE_FILES = tftpd/tftpd.c TFTPD_CPE_ID_VENDOR = tftpd-hpa_project TFTPD_CPE_ID_PRODUCT = tftpd-hpa +TFTPD_SELINUX_MODULES = tftp +# From git +TFTPD_AUTORECONF = YES define TFTPD_INSTALL_TARGET_CMDS $(INSTALL) -D $(@D)/tftp/tftp $(TARGET_DIR)/usr/bin/tftp diff --git a/package/thermald/0001-thd_trip_point-fix-32-bit-build-error-with-musl-v1.2.patch b/package/thermald/0001-thd_trip_point-fix-32-bit-build-error-with-musl-v1.2.patch deleted file mode 100644 index db5bc99a91d..00000000000 --- a/package/thermald/0001-thd_trip_point-fix-32-bit-build-error-with-musl-v1.2.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 074575bf3640485ab6d43ae1efed3eff9cebae13 Mon Sep 17 00:00:00 2001 -From: Naveen Saini -Date: Thu, 5 Mar 2020 13:45:57 +0800 -Subject: [PATCH] thd_trip_point: fix 32-bit build error with musl v1.2.0 - -Error log: - ../git/src/thd_trip_point.cpp: In member function 'bool cthd_trip_point::thd_trip_point_check(int, unsigned int, int, bool*)': -| ../git/src/thd_trip_point.cpp:250:19: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'time_t' {aka 'long long int'} [-Werror=format=] -| 250 | thd_log_info("Too early to act zone:%d index %d tm %ld\n", - -musl 1.2.0 have new feature: -time_t is now 64-bit on all archs (not just 64-bit archs) - -Commit id: -https://git.musl-libc.org/cgit/musl/commit/?id=38143339646a4ccce8afe298c34467767c899f51 - -Release note link for musl 1.2.0: -https://git.musl-libc.org/cgit/musl/diff/ - -use %jd and typecast with intmax_t which is maximum width integer type - -Signed-off-by: Naveen Saini -[Upstream: https://github.com/intel/thermal_daemon/commit/a7136682b9e6ebdb53c3c8b472bcd5039d62dc78.patch] -Signed-off-by: Peter Seiderer ---- - src/thd_trip_point.cpp | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -diff --git a/src/thd_trip_point.cpp b/src/thd_trip_point.cpp -index 46f692d..6358c27 100644 ---- a/src/thd_trip_point.cpp -+++ b/src/thd_trip_point.cpp -@@ -242,15 +242,9 @@ bool cthd_trip_point::thd_trip_point_check(int id, unsigned int read_temp, - time_t tm; - time(&tm); - if ((tm - cdevs[i].last_op_time) < cdevs[i].sampling_priod) { --#if defined __x86_64__ && defined __ILP32__ -- thd_log_info("Too early to act zone:%d index %d tm %lld\n", -+ thd_log_info("Too early to act zone:%d index %d tm %jd\n", - zone_id, cdev->thd_cdev_get_index(), -- tm - cdevs[i].last_op_time); --#else -- thd_log_info("Too early to act zone:%d index %d tm %ld\n", -- zone_id, cdev->thd_cdev_get_index(), -- tm - cdevs[i].last_op_time); --#endif -+ (intmax_t)tm - cdevs[i].last_op_time); - break; - } - cdevs[i].last_op_time = tm; --- -2.29.2 - diff --git a/package/thermald/Config.in b/package/thermald/Config.in index f32a4b274e7..e5e15b9b8dd 100644 --- a/package/thermald/Config.in +++ b/package/thermald/Config.in @@ -2,22 +2,33 @@ config BR2_PACKAGE_THERMALD bool "thermald" depends on BR2_i386 || BR2_x86_64 # needs depends on BR2_USE_MMU # uses fork() + depends on BR2_USE_WCHAR # upower -> libgudev depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2, dbus + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # upower -> libusb + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2, dbus, upower depends on BR2_USE_WCHAR # dbus-glib -> glib2 + depends on BR2_PACKAGE_HAS_UDEV # upower select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB + select BR2_PACKAGE_LIBEVDEV select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_UPOWER + select BR2_PACKAGE_XZ help Thermal Daemon is a Linux daemon for monitoring and controlling platform temperatures. Once the system temperature reaches a certain threshold, the Linux daemon activates various cooling methods to try to cool the system. - https://01.org/linux-thermal-daemon + https://github.com/intel/thermal_daemon -comment "thermald needs a toolchain w/ C++, wchar, threads" +comment "thermald needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_INSTALL_LIBSTDCPP + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + +comment "thermald needs udev /dev management" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/thermald/thermald.hash b/package/thermald/thermald.hash index 34094ac8c06..3a7c0f69523 100644 --- a/package/thermald/thermald.hash +++ b/package/thermald/thermald.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 aaf5ffdc12344eef2417b41b433094bb30e4ebf321f0140b090f97bfcf24ea1f thermald-1.9.1.tar.gz +sha256 3e5a5033339c021de41ed4f946dd39e13f79f722fb5bd98d798e83658184c39b thermald-2.4.8.tar.gz sha256 e98be8bc482e038a14bfbc01caf800bbd0024fff275ef14cd999db6560254a8d COPYING diff --git a/package/thermald/thermald.mk b/package/thermald/thermald.mk index 98e9c361e55..4e432771284 100644 --- a/package/thermald/thermald.mk +++ b/package/thermald/thermald.mk @@ -4,16 +4,41 @@ # ################################################################################ -THERMALD_VERSION = 1.9.1 +THERMALD_VERSION = 2.4.8 THERMALD_SITE = $(call github,intel,thermal_daemon,v$(THERMALD_VERSION)) # fetched from Github, with no configure script THERMALD_AUTORECONF = YES -THERMALD_DEPENDENCIES = dbus dbus-glib libxml2 $(TARGET_NLS_DEPENDENCIES) +THERMALD_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive +THERMALD_DEPENDENCIES = \ + $(TARGET_NLS_DEPENDENCIES) \ + host-autoconf-archive \ + dbus \ + dbus-glib \ + libevdev \ + libxml2 \ + upower \ + xz # tools are GPL-3.0+ but are not added to the target THERMALD_LICENSE = GPL-2.0+ THERMALD_LICENSE_FILES = COPYING +THERMALD_CPE_ID_VENDOR = intel THERMALD_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) +# avoid this error when reconfiguring: +# automake: error: cannot open < gtk-doc.make: No such file or directory +define THERMALD_GTK_DOC_HOOK + echo "CLEANFILES=" > $(@D)/gtk-doc.make +endef +THERMALD_PRE_CONFIGURE_HOOKS += THERMALD_GTK_DOC_HOOK + +# Autoreconf is missing the m4/ directory, which might actually be missing +# iff it was the first argument, but unfortunately we are overriding the +# first include directory above. Thus we need that hook here. +define THERMALD_CREATE_M4 + mkdir -p $(@D)/m4 +endef +THERMALD_POST_PATCH_HOOKS += THERMALD_CREATE_M4 + ifeq ($(BR2_INIT_SYSTEMD),y) THERMALD_DEPENDENCIES += systemd THERMALD_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system diff --git a/package/thrift/thrift.hash b/package/thrift/thrift.hash index f342dc348d6..20d6baeacec 100644 --- a/package/thrift/thrift.hash +++ b/package/thrift/thrift.hash @@ -1,4 +1,4 @@ -# From https://www.apache.org/dist/thrift/0.13.0/thrift-0.13.0.tar.gz.sha256 -sha256 7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179 thrift-0.13.0.tar.gz +# From https://www.apache.org/dist/thrift/0.14.1/thrift-0.14.1.tar.gz.sha256 +sha256 13da5e1cd9c8a3bb89778c0337cc57eb0c29b08f3090b41cf6ab78594b410ca5 thrift-0.14.1.tar.gz # License files, locally calculated -sha256 23df881cec3192d1f4474633c14eb2ec30a45b84f8daeb82b9de5d2bd3ac8218 LICENSE +sha256 d315e6cdedc07c478de6992027bfb66f220886c6216fd7e9885ced30c3703646 LICENSE diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk index 0f2a8eb071b..c36efce2ed7 100644 --- a/package/thrift/thrift.mk +++ b/package/thrift/thrift.mk @@ -4,7 +4,7 @@ # ################################################################################ -THRIFT_VERSION = 0.13.0 +THRIFT_VERSION = 0.14.1 THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION) THRIFT_LICENSE = Apache-2.0 THRIFT_LICENSE_FILES = LICENSE @@ -18,9 +18,10 @@ HOST_THRIFT_DEPENDENCIES = host-bison host-boost \ THRIFT_COMMON_CONF_OPTS = -DBUILD_TUTORIALS=OFF \ -DBUILD_TESTING=OFF \ + -DWITH_NODEJS=OFF \ -DWITH_PYTHON=OFF \ -DWITH_JAVA=OFF \ - -DWITH_QT4=OFF \ + -DWITH_JAVASCRIPT=OFF \ -DWITH_QT5=OFF THRIFT_CONF_OPTS = $(THRIFT_COMMON_CONF_OPTS) -DBUILD_COMPILER=OFF diff --git a/package/ti-sgx-um/Config.in b/package/ti-sgx-um/Config.in index b97469a3645..13c7cc88567 100644 --- a/package/ti-sgx-um/Config.in +++ b/package/ti-sgx-um/Config.in @@ -1,24 +1,25 @@ -comment "ti-sgx-um needs the ti-sgx-km driver" - depends on !BR2_PACKAGE_TI_SGX_KM - comment "ti-sgx-um needs udev and a glibc toolchain w/ threads" + depends on BR2_arm depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC \ || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_TI_SGX_UM bool "ti-sgx-um" - depends on BR2_PACKAGE_TI_SGX_KM depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_HAS_UDEV # pre-built binaries depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_arm select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_OMAP select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGBM + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF select BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_HAS_POWERVR select BR2_PACKAGE_LIBFFI select BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_TI_SGX_KM if BR2_LINUX_KERNEL help Graphics libraries for TI CPUs with SGX5xx GPU. This package supports AM335x, AM437x, AM4430 and AM5430. @@ -31,6 +32,9 @@ if BR2_PACKAGE_TI_SGX_UM config BR2_PACKAGE_PROVIDES_LIBEGL default "ti-sgx-um" +config BR2_PACKAGE_PROVIDES_LIBGBM + default "ti-sgx-um" + config BR2_PACKAGE_PROVIDES_LIBGLES default "ti-sgx-um" diff --git a/package/ti-sgx-um/ti-sgx-um.mk b/package/ti-sgx-um/ti-sgx-um.mk index 83dbc6804cc..aeee90686bb 100644 --- a/package/ti-sgx-um/ti-sgx-um.mk +++ b/package/ti-sgx-um/ti-sgx-um.mk @@ -11,6 +11,7 @@ TI_SGX_UM_SITE_METHOD = git TI_SGX_UM_LICENSE = TI TSPA License TI_SGX_UM_LICENSE_FILES = TI-Linux-Graphics-DDK-UM-Manifest.doc TI_SGX_UM_INSTALL_STAGING = YES +TI_SGX_UM_PROVIDES = libegl libgbm libgles powervr TI_SGX_UM_TARGET=ti335x # ti-sgx-um is a egl/gles provider only if libdrm is installed diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index 472ec40e55d..6bd28a0f597 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb tiff-4.2.0.tar.gz -sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 COPYRIGHT +sha256 917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed tiff-4.4.0.tar.gz +sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 COPYRIGHT diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index c3d8045144f..525712c9e9b 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,13 +4,14 @@ # ################################################################################ -TIFF_VERSION = 4.2.0 +TIFF_VERSION = 4.4.0 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license TIFF_LICENSE_FILES = COPYRIGHT TIFF_CPE_ID_VENDOR = libtiff TIFF_CPE_ID_PRODUCT = libtiff TIFF_INSTALL_STAGING = YES + TIFF_CONF_OPTS = \ --disable-cxx \ --without-x diff --git a/package/timescaledb/0001-Allow-building-against-PG13-source.patch b/package/timescaledb/0001-Allow-building-against-PG13-source.patch deleted file mode 100644 index 96de99144a8..00000000000 --- a/package/timescaledb/0001-Allow-building-against-PG13-source.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 64c17f08c4a78cf6063651632d95906ab3bcb41b Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 19 Sep 2020 17:43:52 +0200 -Subject: [PATCH] Allow building against PG13 source - -This patch adjusts the version checks to allow building against -postgres 13. It also adjusts the cmake version check to allow -building against RC and devel versions. - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/21dc9b9c1a307e46eda5fa621488ebeb6ee9636c.patch ---- - CMakeLists.txt | 18 ++++++++---------- - src/compat.h | 7 ++++++- - 2 files changed, 14 insertions(+), 11 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8288b444..ce6e9d48 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -221,27 +221,25 @@ execute_process( - OUTPUT_VARIABLE PG_VERSION_STRING - OUTPUT_STRIP_TRAILING_WHITESPACE) - --if (NOT ${PG_VERSION_STRING} MATCHES "^PostgreSQL[ ]+([0-9]+)\\.([0-9]+)(\\.([0-9]+))*") -+if (NOT ${PG_VERSION_STRING} MATCHES "^PostgreSQL[ ]+([0-9]+)(\\.([0-9]+)|devel|rc[0-9]+)") - message(FATAL_ERROR "Could not parse PostgreSQL version ${PG_VERSION_STRING}") - endif () - - set(PG_VERSION_MAJOR ${CMAKE_MATCH_1}) --set(PG_VERSION_MINOR ${CMAKE_MATCH_2}) --set(PG_VERSION_PATCH ${CMAKE_MATCH_4}) -- --if (NOT ${PG_VERSION_PATCH} OR ${PG_VERSION_PATCH} EQUAL "") -- set(PG_VERSION "${PG_VERSION_MAJOR}.${PG_VERSION_MINOR}") --else () -- set(PG_VERSION "${PG_VERSION_MAJOR}.${PG_VERSION_MINOR}.${PG_VERSION_PATCH}") -+if (${CMAKE_MATCH_COUNT} GREATER "2" ) -+ set(PG_VERSION_MINOR ${CMAKE_MATCH_3}) -+else() -+ set(PG_VERSION_MINOR 0) - endif () -+set(PG_VERSION "${PG_VERSION_MAJOR}.${PG_VERSION_MINOR}") - - message(STATUS "Compiling against PostgreSQL version ${PG_VERSION}") - - # Ensure that PostgreSQL version is supported and consistent - # with src/compat.h version check - if ((${PG_VERSION_MAJOR} LESS "11") OR -- (${PG_VERSION_MAJOR} GREATER "12")) -- message(FATAL_ERROR "TimescaleDB only supports PostgreSQL 11 and 12") -+ (${PG_VERSION_MAJOR} GREATER "13")) -+ message(FATAL_ERROR "TimescaleDB only supports PostgreSQL 11, 12 and 13") - endif() - - # Get PostgreSQL configuration from pg_config -diff --git a/src/compat.h b/src/compat.h -index 475217c6..267bb09a 100644 ---- a/src/compat.h -+++ b/src/compat.h -@@ -24,15 +24,20 @@ - - #define is_supported_pg_version_11(version) ((version >= 110000) && (version < 120000)) - #define is_supported_pg_version_12(version) ((version >= 120000) && (version < 130000)) -+#define is_supported_pg_version_13(version) ((version >= 130000) && (version < 140000)) - - #define is_supported_pg_version(version) \ -- (is_supported_pg_version_11(version) || is_supported_pg_version_12(version)) -+ (is_supported_pg_version_11(version) || is_supported_pg_version_12(version) || \ -+ is_supported_pg_version_13(version)) - - #define PG11 is_supported_pg_version_11(PG_VERSION_NUM) - #define PG12 is_supported_pg_version_12(PG_VERSION_NUM) -+#define PG13 is_supported_pg_version_13(PG_VERSION_NUM) - - #define PG12_LT PG11 - #define PG12_GE !(PG12_LT) -+#define PG13_LT !(PG13) -+#define PG13_GE PG13 - - #if !(is_supported_pg_version(PG_VERSION_NUM)) - #error "Unsupported PostgreSQL version" --- -2.29.2 - diff --git a/package/timescaledb/0002-Add-compatibilty-wrapper-functions-for-base64-encodi.patch b/package/timescaledb/0002-Add-compatibilty-wrapper-functions-for-base64-encodi.patch deleted file mode 100644 index d54b49ef215..00000000000 --- a/package/timescaledb/0002-Add-compatibilty-wrapper-functions-for-base64-encodi.patch +++ /dev/null @@ -1,73 +0,0 @@ -From b020863a3ea18488448bc09234a4e3b26b68058d Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 19 Sep 2020 19:17:38 +0200 -Subject: [PATCH] Add compatibilty wrapper functions for base64 - encoding/decoding - -PG13 adds a destination length 4th argument to pg_b64_decode and -pg_b64_encode functions so this patch adds a macro that translates -to the 3 argument and 4 argument calls depending on postgres version. -This patch also adds checking of return values for those functions. - -https://github.com/postgres/postgres/commit/cfc40d384a - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/002510cb01e1d09767a526560f89c1857c1738a2.patch ---- - src/compat.h | 11 +++++++++++ - tsl/src/compression/compression.c | 12 ++++++++++-- - 2 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/src/compat.h b/src/compat.h -index 267bb09a..d84f8754 100644 ---- a/src/compat.h -+++ b/src/compat.h -@@ -347,4 +347,15 @@ get_vacuum_options(const VacuumStmt *stmt) - #endif - } - -+/* PG13 added a dstlen parameter to pg_b64_decode and pg_b64_encode */ -+#if PG13_LT -+#define pg_b64_encode_compat(src, srclen, dst, dstlen) pg_b64_encode((src), (srclen), (dst)) -+#define pg_b64_decode_compat(src, srclen, dst, dstlen) pg_b64_decode((src), (srclen), (dst)) -+#else -+#define pg_b64_encode_compat(src, srclen, dst, dstlen) \ -+ pg_b64_encode((src), (srclen), (dst), (dstlen)) -+#define pg_b64_decode_compat(src, srclen, dst, dstlen) \ -+ pg_b64_decode((src), (srclen), (dst), (dstlen)) -+#endif -+ - #endif /* TIMESCALEDB_COMPAT_H */ -diff --git a/tsl/src/compression/compression.c b/tsl/src/compression/compression.c -index 470ec4b9..169f74e9 100644 ---- a/tsl/src/compression/compression.c -+++ b/tsl/src/compression/compression.c -@@ -1424,7 +1424,11 @@ tsl_compressed_data_in(PG_FUNCTION_ARGS) - - decoded_len = pg_b64_dec_len(input_len); - decoded = palloc(decoded_len + 1); -- decoded_len = pg_b64_decode(input, input_len, decoded); -+ decoded_len = pg_b64_decode_compat(input, input_len, decoded, decoded_len); -+ -+ if (decoded_len < 0) -+ elog(ERROR, "could not decode base64-encoded compressed data"); -+ - decoded[decoded_len] = '\0'; - data = (StringInfoData){ - .data = decoded, -@@ -1446,7 +1450,11 @@ tsl_compressed_data_out(PG_FUNCTION_ARGS) - const char *raw_data = VARDATA(bytes); - int encoded_len = pg_b64_enc_len(raw_len); - char *encoded = palloc(encoded_len + 1); -- encoded_len = pg_b64_encode(raw_data, raw_len, encoded); -+ encoded_len = pg_b64_encode_compat(raw_data, raw_len, encoded, encoded_len); -+ -+ if (encoded_len < 0) -+ elog(ERROR, "could not base64-encode compressed data"); -+ - encoded[encoded_len] = '\0'; - - PG_RETURN_CSTRING(encoded); --- -2.29.2 - diff --git a/package/timescaledb/0003-Add-missing-utils-acl.h-includes.patch b/package/timescaledb/0003-Add-missing-utils-acl.h-includes.patch deleted file mode 100644 index 382c4e9259c..00000000000 --- a/package/timescaledb/0003-Add-missing-utils-acl.h-includes.patch +++ /dev/null @@ -1,149 +0,0 @@ -From e68915d0aad6760c1feebb04219af9bfbccd71d7 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 26 Sep 2020 13:58:17 +0200 -Subject: [PATCH] Add missing utils/acl.h includes - -PG13 removed acl.h from objectaddress.h so the places that need it -need to now include it explicitly if they got it indirectly this -way previously. - -https://github.com/postgres/postgres/commit/3c173a53a8 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/be8dd086a089f7419824bbc3b77182b95d0bbba7.patch ---- - src/bgw/job.c | 1 + - src/bgw/scheduler.c | 1 + - src/chunk.c | 1 + - src/chunk_adaptive.c | 1 + - src/extension_utils.c | 1 + - src/license_guc.c | 1 + - src/process_utility.c | 1 + - tsl/src/bgw_policy/continuous_aggregate_api.c | 1 + - tsl/src/bgw_policy/job_api.c | 1 + - tsl/src/continuous_aggs/refresh.c | 1 + - 10 files changed, 10 insertions(+) - -diff --git a/src/bgw/job.c b/src/bgw/job.c -index 313caa94..3ae8c9f7 100644 ---- a/src/bgw/job.c -+++ b/src/bgw/job.c -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - -diff --git a/src/bgw/scheduler.c b/src/bgw/scheduler.c -index 2d024317..7a7e360c 100644 ---- a/src/bgw/scheduler.c -+++ b/src/bgw/scheduler.c -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/chunk.c b/src/chunk.c -index c2671885..e5ffc3fa 100644 ---- a/src/chunk.c -+++ b/src/chunk.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/chunk_adaptive.c b/src/chunk_adaptive.c -index 470248ed..88e2910b 100644 ---- a/src/chunk_adaptive.c -+++ b/src/chunk_adaptive.c -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/extension_utils.c b/src/extension_utils.c -index 3fac177b..3d72c5f0 100644 ---- a/src/extension_utils.c -+++ b/src/extension_utils.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/license_guc.c b/src/license_guc.c -index 32629ca9..baa49be5 100644 ---- a/src/license_guc.c -+++ b/src/license_guc.c -@@ -5,6 +5,7 @@ - */ - #include - #include -+#include - #include - #include - #include -diff --git a/src/process_utility.c b/src/process_utility.c -index 3576cb97..8f915113 100644 ---- a/src/process_utility.c -+++ b/src/process_utility.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/tsl/src/bgw_policy/continuous_aggregate_api.c b/tsl/src/bgw_policy/continuous_aggregate_api.c -index 1c18d2e0..596f3bf7 100644 ---- a/tsl/src/bgw_policy/continuous_aggregate_api.c -+++ b/tsl/src/bgw_policy/continuous_aggregate_api.c -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - - #include - #include -diff --git a/tsl/src/bgw_policy/job_api.c b/tsl/src/bgw_policy/job_api.c -index e1c24841..536ce692 100644 ---- a/tsl/src/bgw_policy/job_api.c -+++ b/tsl/src/bgw_policy/job_api.c -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - #include - - #include -diff --git a/tsl/src/continuous_aggs/refresh.c b/tsl/src/continuous_aggs/refresh.c -index 71d5075f..46f83127 100644 ---- a/tsl/src/continuous_aggs/refresh.c -+++ b/tsl/src/continuous_aggs/refresh.c -@@ -4,6 +4,7 @@ - * LICENSE-TIMESCALE for a copy of the license. - */ - #include -+#include - #include - #include - #include --- -2.29.2 - diff --git a/package/timescaledb/0004-Add-support-for-PG13-List-implementation.patch b/package/timescaledb/0004-Add-support-for-PG13-List-implementation.patch deleted file mode 100644 index 2412b07d893..00000000000 --- a/package/timescaledb/0004-Add-support-for-PG13-List-implementation.patch +++ /dev/null @@ -1,473 +0,0 @@ -From 259ff80eb29c2c70e6afb77d266ce49cccbef223 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 19 Sep 2020 22:20:34 +0200 -Subject: [PATCH] Add support for PG13 List implementation - -PG13 changes the List implementation from a linked list to an array -while most of the API functions did not change a few them have slightly -different signature in PG13, additionally the list_make5 functions -got removed. - -https://github.com/postgres/postgres/commit/1cff1b95ab - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/b1a9c3b7b7d44ee78456931292655d52c252930d.patch ---- - .clang-format | 1 + - src/bgw/scheduler.c | 12 ++++++------ - src/cache.c | 10 ++++++++-- - src/chunk_append/chunk_append.c | 2 +- - src/chunk_append/exec.c | 4 ++-- - src/compat.h | 16 ++++++++++++++++ - src/import/planner.c | 2 +- - src/plan_agg_bookend.c | 7 ++++--- - src/plan_expand_hypertable.c | 13 +++++++++---- - test/src/bgw/test_job_refresh.c | 3 ++- - tsl/src/continuous_aggs/create.c | 2 +- - tsl/src/debug.c | 15 ++++++++++----- - tsl/src/fdw/deparse.c | 6 +++--- - .../nodes/decompress_chunk/decompress_chunk.c | 6 +++--- - tsl/src/nodes/decompress_chunk/exec.c | 3 ++- - tsl/src/nodes/gapfill/planner.c | 11 +++++++---- - 16 files changed, 76 insertions(+), 37 deletions(-) - -diff --git a/.clang-format b/.clang-format -index 5bb275cd..9aac7ef4 100644 ---- a/.clang-format -+++ b/.clang-format -@@ -60,6 +60,7 @@ ForEachMacros: - - foreach - - forboth - - for_each_cell -+ - for_each_cell_compat - - for_both_cell - - forthree - IncludeBlocks: Preserve # separate include blocks will not be merged -diff --git a/src/bgw/scheduler.c b/src/bgw/scheduler.c -index 7a7e360c..2630ff9f 100644 ---- a/src/bgw/scheduler.c -+++ b/src/bgw/scheduler.c -@@ -456,7 +456,7 @@ ts_update_scheduled_jobs_list(List *cur_jobs_list, MemoryContext mctx) - */ - terminate_and_cleanup_job(cur_sjob); - -- cur_ptr = lnext(cur_ptr); -+ cur_ptr = lnext_compat(cur_jobs_list, cur_ptr); - continue; - } - if (cur_sjob->job.fd.id == new_sjob->job.fd.id) -@@ -472,15 +472,15 @@ ts_update_scheduled_jobs_list(List *cur_jobs_list, MemoryContext mctx) - if (cur_sjob->state == JOB_STATE_SCHEDULED) - scheduled_bgw_job_transition_state_to(new_sjob, JOB_STATE_SCHEDULED); - -- cur_ptr = lnext(cur_ptr); -- new_ptr = lnext(new_ptr); -+ cur_ptr = lnext_compat(cur_jobs_list, cur_ptr); -+ new_ptr = lnext_compat(new_jobs, new_ptr); - } - else if (cur_sjob->job.fd.id > new_sjob->job.fd.id) - { - scheduled_bgw_job_transition_state_to(new_sjob, JOB_STATE_SCHEDULED); - - /* Advance the new_job list until we catch up to cur_list */ -- new_ptr = lnext(new_ptr); -+ new_ptr = lnext_compat(new_jobs, new_ptr); - } - } - -@@ -489,7 +489,7 @@ ts_update_scheduled_jobs_list(List *cur_jobs_list, MemoryContext mctx) - { - ListCell *ptr; - -- for_each_cell (ptr, cur_ptr) -+ for_each_cell_compat (ptr, cur_jobs_list, cur_ptr) - terminate_and_cleanup_job(lfirst(ptr)); - } - -@@ -498,7 +498,7 @@ ts_update_scheduled_jobs_list(List *cur_jobs_list, MemoryContext mctx) - /* Then there are more new jobs. Initialize all of them. */ - ListCell *ptr; - -- for_each_cell (ptr, new_ptr) -+ for_each_cell_compat (ptr, new_jobs, new_ptr) - scheduled_bgw_job_transition_state_to(lfirst(ptr), JOB_STATE_SCHEDULED); - } - -diff --git a/src/cache.c b/src/cache.c -index cc6b2d07..3b53485a 100644 ---- a/src/cache.c -+++ b/src/cache.c -@@ -7,6 +7,7 @@ - #include - - #include "cache.h" -+#include "compat.h" - - /* List of pinned caches. A cache occurs once in this list for every pin - * taken */ -@@ -105,7 +106,10 @@ ts_cache_pin(Cache *cache) - static void - remove_pin(Cache *cache, SubTransactionId subtxnid) - { -- ListCell *lc, *prev = NULL; -+ ListCell *lc; -+#if PG13_LT -+ ListCell *prev = NULL; -+#endif - - foreach (lc, pinned_caches) - { -@@ -113,12 +117,14 @@ remove_pin(Cache *cache, SubTransactionId subtxnid) - - if (cp->cache == cache && cp->subtxnid == subtxnid) - { -- pinned_caches = list_delete_cell(pinned_caches, lc, prev); -+ pinned_caches = list_delete_cell_compat(pinned_caches, lc, prev); - pfree(cp); - return; - } - -+#if PG13_LT - prev = lc; -+#endif - } - - /* should never reach here: there should always be a pin to remove */ -diff --git a/src/chunk_append/chunk_append.c b/src/chunk_append/chunk_append.c -index fb1c87ff..ed91ff39 100644 ---- a/src/chunk_append/chunk_append.c -+++ b/src/chunk_append/chunk_append.c -@@ -209,7 +209,7 @@ ts_chunk_append_path_create(PlannerInfo *root, RelOptInfo *rel, Hypertable *ht, - if (is_not_pruned) - { - merge_childs = lappend(merge_childs, child); -- flat = lnext(flat); -+ flat = lnext_compat(children, flat); - if (flat == NULL) - break; - } -diff --git a/src/chunk_append/exec.c b/src/chunk_append/exec.c -index 8f4dd5d6..84f79e23 100644 ---- a/src/chunk_append/exec.c -+++ b/src/chunk_append/exec.c -@@ -344,8 +344,8 @@ initialize_runtime_exclusion(ChunkAppendState *state) - state->runtime_number_exclusions++; - } - -- lc_clauses = lnext(lc_clauses); -- lc_constraints = lnext(lc_constraints); -+ lc_clauses = lnext_compat(state->filtered_ri_clauses, lc_clauses); -+ lc_constraints = lnext_compat(state->filtered_constraints, lc_constraints); - } - - state->runtime_initialized = true; -diff --git a/src/compat.h b/src/compat.h -index d84f8754..51c1c181 100644 ---- a/src/compat.h -+++ b/src/compat.h -@@ -358,4 +358,20 @@ get_vacuum_options(const VacuumStmt *stmt) - pg_b64_decode((src), (srclen), (dst), (dstlen)) - #endif - -+/* PG13 changes the List implementation from a linked list to an array -+ * while most of the API functions did not change a few them have slightly -+ * different signature in PG13, additionally the list_make5 functions -+ * got removed. */ -+#if PG13_LT -+#define lnext_compat(l, lc) lnext((lc)) -+#define list_delete_cell_compat(l, lc, prev) list_delete_cell((l), (lc), (prev)) -+#define for_each_cell_compat(cell, list, initcell) for_each_cell ((cell), (initcell)) -+#else -+#define lnext_compat(l, lc) lnext((l), (lc)) -+#define list_delete_cell_compat(l, lc, prev) list_delete_cell((l), (lc)) -+#define list_make5(x1, x2, x3, x4, x5) lappend(list_make4(x1, x2, x3, x4), x5) -+#define list_make5_oid(x1, x2, x3, x4, x5) lappend_oid(list_make4_oid(x1, x2, x3, x4), x5) -+#define for_each_cell_compat(cell, list, initcell) for_each_cell ((cell), (list), (initcell)) -+#endif -+ - #endif /* TIMESCALEDB_COMPAT_H */ -diff --git a/src/import/planner.c b/src/import/planner.c -index 31a4889d..b907390d 100644 ---- a/src/import/planner.c -+++ b/src/import/planner.c -@@ -196,7 +196,7 @@ ts_make_partial_grouping_target(struct PlannerInfo *root, PathTarget *grouping_t - struct List *non_group_cols; - struct List *non_group_exprs; - int i; -- struct ListCell *lc; -+ ListCell *lc; - - partial_target = create_empty_pathtarget(); - non_group_cols = NIL; -diff --git a/src/plan_agg_bookend.c b/src/plan_agg_bookend.c -index d4d06f5b..5394cf5d 100644 ---- a/src/plan_agg_bookend.c -+++ b/src/plan_agg_bookend.c -@@ -696,13 +696,14 @@ build_first_last_path(PlannerInfo *root, FirstLastAggInfo *fl_info, Oid eqop, Oi - if (app->parent_reloid == rte->relid) - { - subroot->append_rel_list = -- list_delete_cell(subroot->append_rel_list, next, prev); -- next = prev != NULL ? prev->next : list_head(subroot->append_rel_list); -+ list_delete_cell_compat(subroot->append_rel_list, next, prev); -+ next = prev != NULL ? lnext_compat(subroot->append_rel_list, next) : -+ list_head(subroot->append_rel_list); - } - else - { - prev = next; -- next = next->next; -+ next = lnext_compat(subroot->append_rel_list, next); - } - } - } -diff --git a/src/plan_expand_hypertable.c b/src/plan_expand_hypertable.c -index 37282ce4..2b99c93b 100644 ---- a/src/plan_expand_hypertable.c -+++ b/src/plan_expand_hypertable.c -@@ -581,7 +581,8 @@ process_quals(Node *quals, CollectQualCtx *ctx, bool is_outer_join) - ListCell *prev pg_attribute_unused() = NULL; - List *additional_quals = NIL; - -- for (lc = list_head((List *) quals); lc != NULL; prev = lc, lc = lnext(lc)) -+ for (lc = list_head((List *) quals); lc != NULL; -+ prev = lc, lc = lnext_compat((List *) quals, lc)) - { - Expr *qual = lfirst(lc); - Relids relids = pull_varnos((Node *) qual); -@@ -611,7 +612,7 @@ process_quals(Node *quals, CollectQualCtx *ctx, bool is_outer_join) - * is called, so we can remove the functions from that directly - */ - #if PG12_LT -- quals = (Node *) list_delete_cell((List *) quals, lc, prev); -+ quals = (Node *) list_delete_cell_compat((List *) quals, lc, prev); - #endif - return quals; - } -@@ -663,7 +664,9 @@ process_quals(Node *quals, CollectQualCtx *ctx, bool is_outer_join) - static List * - remove_exclusion_fns(List *restrictinfo) - { -+#if PG13_LT - ListCell *prev = NULL; -+#endif - ListCell *lc = list_head(restrictinfo); - - while (lc != NULL) -@@ -682,11 +685,13 @@ remove_exclusion_fns(List *restrictinfo) - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("first parameter for chunks_in function needs to be record"))); - -- restrictinfo = list_delete_cell((List *) restrictinfo, lc, prev); -+ restrictinfo = list_delete_cell_compat((List *) restrictinfo, lc, prev); - return restrictinfo; - } -+#if PG13_LT - prev = lc; -- lc = lnext(lc); -+#endif -+ lc = lnext_compat(restrictinfo, lc); - } - return restrictinfo; - } -diff --git a/test/src/bgw/test_job_refresh.c b/test/src/bgw/test_job_refresh.c -index 51a3b0d7..d51415d4 100644 ---- a/test/src/bgw/test_job_refresh.c -+++ b/test/src/bgw/test_job_refresh.c -@@ -13,6 +13,7 @@ - #include - #include - -+#include "compat.h" - #include "export.h" - #include "bgw/scheduler.h" - -@@ -70,7 +71,7 @@ ts_test_job_refresh(PG_FUNCTION_ARGS) - memset(nulls, 0, sizeof(*nulls) * funcctx->tuple_desc->natts); - tuple = heap_form_tuple(funcctx->tuple_desc, values, nulls); - -- funcctx->user_fctx = lnext(lc); -+ funcctx->user_fctx = lnext_compat(cur_scheduled_jobs, lc); - SRF_RETURN_NEXT(funcctx, HeapTupleGetDatum(tuple)); - } - -diff --git a/tsl/src/continuous_aggs/create.c b/tsl/src/continuous_aggs/create.c -index bdf4470a..f767dabb 100644 ---- a/tsl/src/continuous_aggs/create.c -+++ b/tsl/src/continuous_aggs/create.c -@@ -1566,7 +1566,7 @@ fixup_userview_query_tlist(Query *userquery, List *tlist_aliases) - if (tle->resjunk) - continue; - tle->resname = pstrdup(strVal(lfirst(alist_item))); -- alist_item = lnext(alist_item); -+ alist_item = lnext_compat(tlist_aliases, alist_item); - if (alist_item == NULL) - break; /* done assigning aliases */ - } -diff --git a/tsl/src/debug.c b/tsl/src/debug.c -index 697bfc0b..023097ee 100644 ---- a/tsl/src/debug.c -+++ b/tsl/src/debug.c -@@ -168,7 +168,7 @@ append_func_expr(StringInfo buf, const Node *expr, const List *rtable) - foreach (l, e->args) - { - append_expr(buf, lfirst(l), rtable); -- if (lnext(l)) -+ if (lnext_compat(e->args, l)) - appendStringInfoString(buf, ", "); - } - appendStringInfoChar(buf, ')'); -@@ -217,7 +217,7 @@ append_restrict_clauses(StringInfo buf, PlannerInfo *root, List *clauses) - RestrictInfo *c = lfirst(cell); - - append_expr(buf, (Node *) c->clause, root->parse->rtable); -- if (lnext(cell)) -+ if (lnext_compat(clauses, cell)) - appendStringInfoString(buf, ", "); - } - } -@@ -270,7 +270,7 @@ append_pathkeys(StringInfo buf, const List *pathkeys, const List *rtable) - append_expr(buf, (Node *) mem->em_expr, rtable); - } - appendStringInfoChar(buf, ')'); -- if (lnext(i)) -+ if (lnext_compat(pathkeys, i)) - appendStringInfoString(buf, ", "); - } - appendStringInfoChar(buf, ')'); -@@ -601,7 +601,10 @@ tsl_debug_append_pruned_pathlist(StringInfo buf, PlannerInfo *root, RelOptInfo * - foreach (lc1, rel->pathlist) - { - Path *p1 = (Path *) lfirst(lc1); -- ListCell *lc2, *prev = NULL; -+ ListCell *lc2; -+#if PG13_LT -+ ListCell *prev = NULL; -+#endif - - foreach (lc2, fdw_info->considered_paths) - { -@@ -610,11 +613,13 @@ tsl_debug_append_pruned_pathlist(StringInfo buf, PlannerInfo *root, RelOptInfo * - if (path_is_origin(p1, p2)) - { - fdw_info->considered_paths = -- list_delete_cell(fdw_info->considered_paths, lc2, prev); -+ list_delete_cell_compat(fdw_info->considered_paths, lc2, prev); - fdw_utils_free_path(p2); - break; - } -+#if PG13_LT - prev = lc2; -+#endif - } - } - -diff --git a/tsl/src/fdw/deparse.c b/tsl/src/fdw/deparse.c -index d90636b5..efd7debb 100644 ---- a/tsl/src/fdw/deparse.c -+++ b/tsl/src/fdw/deparse.c -@@ -2211,7 +2211,7 @@ deparseSubscriptingRef(SubscriptingRef *node, deparse_expr_cxt *context) - { - deparseExpr(lfirst(lowlist_item), context); - appendStringInfoChar(buf, ':'); -- lowlist_item = lnext(lowlist_item); -+ lowlist_item = lnext_compat(node->reflowerindexpr, lowlist_item); - } - deparseExpr(lfirst(uplist_item), context); - appendStringInfoChar(buf, ']'); -@@ -2273,7 +2273,7 @@ deparseFuncExpr(FuncExpr *node, deparse_expr_cxt *context) - { - if (!first) - appendStringInfoString(buf, ", "); -- if (use_variadic && lnext(arg) == NULL) -+ if (use_variadic && lnext_compat(node->args, arg) == NULL) - appendStringInfoString(buf, "VARIADIC "); - deparseExpr((Expr *) lfirst(arg), context); - first = false; -@@ -2601,7 +2601,7 @@ deparseAggref(Aggref *node, deparse_expr_cxt *context) - first = false; - - /* Add VARIADIC */ -- if (use_variadic && lnext(arg) == NULL) -+ if (use_variadic && lnext_compat(node->args, arg) == NULL) - appendStringInfoString(buf, "VARIADIC "); - - deparseExpr((Expr *) n, context); -diff --git a/tsl/src/nodes/decompress_chunk/decompress_chunk.c b/tsl/src/nodes/decompress_chunk/decompress_chunk.c -index 90b6c7c3..1e36f5dc 100644 ---- a/tsl/src/nodes/decompress_chunk/decompress_chunk.c -+++ b/tsl/src/nodes/decompress_chunk/decompress_chunk.c -@@ -182,7 +182,7 @@ build_compressed_scan_pathkeys(SortInfo *sort_info, PlannerInfo *root, List *chu - - for (lc = list_head(chunk_pathkeys); - lc != NULL && bms_num_members(segmentby_columns) < info->num_segmentby_columns; -- lc = lnext(lc)) -+ lc = lnext_compat(chunk_pathkeys, lc)) - { - PathKey *pk = lfirst(lc); - var = (Var *) ts_find_em_expr_for_rel(pk->pk_eclass, info->chunk_rel); -@@ -1210,7 +1210,7 @@ build_sortinfo(RelOptInfo *chunk_rel, CompressionInfo *info, List *pathkeys) - * we keep looping even if we found all segmentby columns in case a - * columns appears both in baserestrictinfo and in ORDER BY clause - */ -- for (; lc != NULL; lc = lnext(lc)) -+ for (; lc != NULL; lc = lnext_compat(pathkeys, lc)) - { - Assert(bms_num_members(segmentby_columns) <= info->num_segmentby_columns); - pk = lfirst(lc); -@@ -1250,7 +1250,7 @@ build_sortinfo(RelOptInfo *chunk_rel, CompressionInfo *info, List *pathkeys) - * loop over the rest of pathkeys - * this needs to exactly match the configured compress_orderby - */ -- for (pk_index = 1; lc != NULL; lc = lnext(lc), pk_index++) -+ for (pk_index = 1; lc != NULL; lc = lnext_compat(pathkeys, lc), pk_index++) - { - bool reverse = false; - pk = lfirst(lc); -diff --git a/tsl/src/nodes/decompress_chunk/exec.c b/tsl/src/nodes/decompress_chunk/exec.c -index 035f2de4..f58e6f6c 100644 ---- a/tsl/src/nodes/decompress_chunk/exec.c -+++ b/tsl/src/nodes/decompress_chunk/exec.c -@@ -121,7 +121,8 @@ initialize_column_state(DecompressChunkState *state) - - state->columns = palloc0(state->num_columns * sizeof(DecompressChunkColumnState)); - -- for (i = 0, lc = list_head(state->varattno_map); i < state->num_columns; lc = lnext(lc), i++) -+ for (i = 0, lc = list_head(state->varattno_map); i < state->num_columns; -+ lc = lnext_compat(state->varattno_map, lc), i++) - { - DecompressChunkColumnState *column = &state->columns[i]; - column->attno = lfirst_int(lc); -diff --git a/tsl/src/nodes/gapfill/planner.c b/tsl/src/nodes/gapfill/planner.c -index 56bdffd5..765a14ce 100644 ---- a/tsl/src/nodes/gapfill/planner.c -+++ b/tsl/src/nodes/gapfill/planner.c -@@ -295,8 +295,10 @@ gapfill_build_pathtarget(PathTarget *pt_upper, PathTarget *pt_path, PathTarget * - /* - * check arguments past first argument dont have Vars - */ -- for (lc_arg = lnext(list_head(context.call.window->args)); lc_arg != NULL; -- lc_arg = lnext(lc_arg)) -+ for (lc_arg = lnext_compat(context.call.window->args, -+ list_head(context.call.window->args)); -+ lc_arg != NULL; -+ lc_arg = lnext_compat(context.call.window->args, lc_arg)) - { - if (contain_var_clause(lfirst(lc_arg))) - ereport(ERROR, -@@ -553,9 +555,10 @@ gapfill_adjust_window_targetlist(PlannerInfo *root, RelOptInfo *input_rel, RelOp - /* - * check arguments past first argument dont have Vars - */ -- for (lc_arg = lnext(list_head(context.call.window->args)); -+ for (lc_arg = lnext_compat(context.call.window->args, -+ list_head(context.call.window->args)); - lc_arg != NULL; -- lc_arg = lnext(lc_arg)) -+ lc_arg = lnext_compat(context.call.window->args, lc_arg)) - { - if (contain_var_clause(lfirst(lc_arg))) - ereport(ERROR, --- -2.29.2 - diff --git a/package/timescaledb/0005-Adjust-code-to-PG13-list-sort-changes.patch b/package/timescaledb/0005-Adjust-code-to-PG13-list-sort-changes.patch deleted file mode 100644 index f92cfc409d6..00000000000 --- a/package/timescaledb/0005-Adjust-code-to-PG13-list-sort-changes.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 4a149cb833dbb45507cd52e63707311e9642587c Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 19 Sep 2020 23:20:37 +0200 -Subject: [PATCH] Adjust code to PG13 list sort changes - -PG13 changes the name of the list sorting function from list_qsort -to list_sort. Additionally PG13 does in-place sort. - -https://github.com/postgres/postgres/commit/569ed7f483 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/13d8aac33b6fc5104c8ad1da816dc0d009fc13a7.patch ---- - src/bgw/scheduler.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/src/bgw/scheduler.c b/src/bgw/scheduler.c -index 2630ff9f..b9d1aa38 100644 ---- a/src/bgw/scheduler.c -+++ b/src/bgw/scheduler.c -@@ -530,10 +530,15 @@ ts_populate_scheduled_job_tuple(ScheduledBgwJob *sjob, Datum *values) - #endif - - static int -+#if PG13_LT - cmp_next_start(const void *left, const void *right) - { - const ListCell *left_cell = *((ListCell **) left); - const ListCell *right_cell = *((ListCell **) right); -+#else -+cmp_next_start(const ListCell *left_cell, const ListCell *right_cell) -+{ -+#endif - ScheduledBgwJob *left_sjob = lfirst(left_cell); - ScheduledBgwJob *right_sjob = lfirst(right_cell); - -@@ -549,10 +554,18 @@ cmp_next_start(const void *left, const void *right) - static void - start_scheduled_jobs(register_background_worker_callback_type bgw_register) - { -+ List *ordered_scheduled_jobs; - ListCell *lc; - Assert(CurrentMemoryContext == scratch_mctx); -+ - /* Order jobs by increasing next_start */ -- List *ordered_scheduled_jobs = list_qsort(scheduled_jobs, cmp_next_start); -+#if PG13_LT -+ ordered_scheduled_jobs = list_qsort(scheduled_jobs, cmp_next_start); -+#else -+ /* PG13 does in-place sort */ -+ ordered_scheduled_jobs = scheduled_jobs; -+ list_sort(ordered_scheduled_jobs, cmp_next_start); -+#endif - - foreach (lc, ordered_scheduled_jobs) - { --- -2.29.2 - diff --git a/package/timescaledb/0006-Adjust-copy-code-to-PG13-addRTEtoQuery-changes.patch b/package/timescaledb/0006-Adjust-copy-code-to-PG13-addRTEtoQuery-changes.patch deleted file mode 100644 index 435273e8a44..00000000000 --- a/package/timescaledb/0006-Adjust-copy-code-to-PG13-addRTEtoQuery-changes.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 196943ff91a6a21c575fbca1f047544970ec4c98 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Thu, 24 Sep 2020 16:18:43 +0200 -Subject: [PATCH] Adjust copy code to PG13 addRTEtoQuery changes - -PG13 removes addRTEtoQuery and provides a similar function -addNSItemToQuery which has a different signature. - -https://github.com/postgres/postgres/commit/5815696bc6 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/10d1c2d698c1b7cbf5af86082287adda4f0c6e97.patch ---- - src/copy.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/copy.c b/src/copy.c -index 2e63dc76..c8ce93e6 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -535,7 +535,12 @@ copy_constraints_and_check(ParseState *pstate, Relation rel, List *attnums) - { - ListCell *cur; - char *xactReadOnly; --#if PG12_GE -+#if PG13_GE -+ ParseNamespaceItem *nsitem = -+ addRangeTableEntryForRelation(pstate, rel, RowExclusiveLock, NULL, false, false); -+ RangeTblEntry *rte = nsitem->p_rte; -+ addNSItemToQuery(pstate, nsitem, true, true, true); -+#elif PG12 - RangeTblEntry *rte = - addRangeTableEntryForRelation(pstate, rel, RowExclusiveLock, NULL, false, false); - addRTEtoQuery(pstate, rte, false, true, true); --- -2.29.2 - diff --git a/package/timescaledb/0007-Adjust-code-to-PG13-convert_tuples_by_name-signature.patch b/package/timescaledb/0007-Adjust-code-to-PG13-convert_tuples_by_name-signature.patch deleted file mode 100644 index b6a0362f368..00000000000 --- a/package/timescaledb/0007-Adjust-code-to-PG13-convert_tuples_by_name-signature.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 1c50cdc9a1c06c58f9fa72ab963d595c9a99d3d8 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Thu, 24 Sep 2020 05:33:38 +0200 -Subject: [PATCH] Adjust code to PG13 convert_tuples_by_name signature - change - -PG13 removed the msg parameter from convert_tuples_by_name. - -https://github.com/postgres/postgres/commit/fe66125974 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/968de59f8cd981ba0ca9cca1929d4ba17fbc256f.patch ---- - src/chunk_insert_state.c | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) - -diff --git a/src/chunk_insert_state.c b/src/chunk_insert_state.c -index 398a8811..5dc294df 100644 ---- a/src/chunk_insert_state.c -+++ b/src/chunk_insert_state.c -@@ -379,8 +379,11 @@ setup_on_conflict_state(ChunkInsertState *state, ChunkDispatch *dispatch, AttrNu - - if (NULL == chunk_attnos) - chunk_attnos = convert_tuples_by_name_map(RelationGetDescr(chunk_rel), -- RelationGetDescr(first_rel), -- gettext_noop("could not convert row type")); -+ RelationGetDescr(first_rel) -+#if PG13_LT -+ , gettext_noop("could not convert row type") -+#endif -+ ); - - onconflset = translate_clause(ts_chunk_dispatch_get_on_conflict_set(dispatch), - chunk_attnos, -@@ -484,8 +487,11 @@ adjust_projections(ChunkInsertState *cis, ChunkDispatch *dispatch, Oid rowtype) - * to work correctly in mapping hypertable attnos->chunk attnos. - */ - chunk_attnos = convert_tuples_by_name_map(RelationGetDescr(chunk_rel), -- RelationGetDescr(hyper_rel), -- gettext_noop("could not convert row type")); -+ RelationGetDescr(hyper_rel) -+#if PG13_LT -+ ,gettext_noop("could not convert row type") -+#endif -+ ); - - chunk_rri->ri_projectReturning = - get_adjusted_projection_info_returning(chunk_rri->ri_projectReturning, -@@ -590,8 +596,11 @@ ts_chunk_insert_state_create(Chunk *chunk, ChunkDispatch *dispatch) - if (chunk->relkind != RELKIND_FOREIGN_TABLE) - state->hyper_to_chunk_map = - convert_tuples_by_name(RelationGetDescr(parent_rel), -- RelationGetDescr(rel), -- gettext_noop("could not convert row type")); -+ RelationGetDescr(rel) -+#if PG13_LT -+ ,gettext_noop("could not convert row type") -+#endif -+ ); - - adjust_projections(state, dispatch, RelationGetForm(rel)->reltype); - --- -2.29.2 - diff --git a/package/timescaledb/0008-Adjust-code-to-PG13-tuple-conversion-changes.patch b/package/timescaledb/0008-Adjust-code-to-PG13-tuple-conversion-changes.patch deleted file mode 100644 index ce00ac34cc4..00000000000 --- a/package/timescaledb/0008-Adjust-code-to-PG13-tuple-conversion-changes.patch +++ /dev/null @@ -1,259 +0,0 @@ -From 5c17cb0aa7f06bb3ac15d4ca72a37f59a10fa59e Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Thu, 24 Sep 2020 15:21:04 +0200 -Subject: [PATCH] Adjust code to PG13 tuple conversion changes - -PG13 changes the way attribute mappings are done and uses AttrMap -instead of AttrNumber[] in the new function signatures. This patch -changes ChunkInsertState to use TupleConversionMap which abstracts -this change. - -https://github.com/postgres/postgres/commit/e1551f96e6 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/2cb7c41276c8f8112bd225a020fef709a8e776ff.patch ---- - src/chunk_insert_state.c | 92 +++++++++++++++++++++------------------ - src/compat.h | 15 +++++++ - tsl/src/fdw/modify_exec.c | 4 ++ - 3 files changed, 69 insertions(+), 42 deletions(-) - -diff --git a/src/chunk_insert_state.c b/src/chunk_insert_state.c -index 5dc294df..f8200dd8 100644 ---- a/src/chunk_insert_state.c -+++ b/src/chunk_insert_state.c -@@ -120,7 +120,7 @@ create_chunk_result_relation_info(ChunkDispatch *dispatch, Relation rel) - - static ProjectionInfo * - get_adjusted_projection_info_returning(ProjectionInfo *orig, List *returning_clauses, -- AttrNumber *map, int map_size, Index varno, Oid rowtype, -+ TupleConversionMap *map, Index varno, Oid rowtype, - TupleDesc chunk_desc) - { - bool found_whole_row; -@@ -128,14 +128,15 @@ get_adjusted_projection_info_returning(ProjectionInfo *orig, List *returning_cla - Assert(returning_clauses != NIL); - - /* map hypertable attnos -> chunk attnos */ -- returning_clauses = castNode(List, -- map_variable_attnos((Node *) returning_clauses, -- varno, -- 0, -- map, -- map_size, -- rowtype, -- &found_whole_row)); -+ if (map != NULL) -+ returning_clauses = castNode(List, -+ map_variable_attnos_compat((Node *) returning_clauses, -+ varno, -+ 0, -+ map->attrMap, -+ map->outdesc->natts, -+ rowtype, -+ &found_whole_row)); - - return ExecBuildProjectionInfo(returning_clauses, - orig->pi_exprContext, -@@ -145,7 +146,7 @@ get_adjusted_projection_info_returning(ProjectionInfo *orig, List *returning_cla - } - - static List * --translate_clause(List *inclause, AttrNumber *chunk_attnos, Index varno, Relation hyper_rel, -+translate_clause(List *inclause, TupleConversionMap *chunk_map, Index varno, Relation hyper_rel, - Relation chunk_rel) - { - List *clause = copyObject(inclause); -@@ -153,23 +154,23 @@ translate_clause(List *inclause, AttrNumber *chunk_attnos, Index varno, Relation - - /* map hypertable attnos -> chunk attnos for the "excluded" table */ - clause = castNode(List, -- map_variable_attnos((Node *) clause, -- INNER_VAR, -- 0, -- chunk_attnos, -- RelationGetDescr(hyper_rel)->natts, -- RelationGetForm(chunk_rel)->reltype, -- &found_whole_row)); -+ map_variable_attnos_compat((Node *) clause, -+ INNER_VAR, -+ 0, -+ chunk_map->attrMap, -+ RelationGetDescr(hyper_rel)->natts, -+ RelationGetForm(chunk_rel)->reltype, -+ &found_whole_row)); - - /* map hypertable attnos -> chunk attnos for the hypertable */ - clause = castNode(List, -- map_variable_attnos((Node *) clause, -- varno, -- 0, -- chunk_attnos, -- RelationGetDescr(hyper_rel)->natts, -- RelationGetForm(chunk_rel)->reltype, -- &found_whole_row)); -+ map_variable_attnos_compat((Node *) clause, -+ varno, -+ 0, -+ chunk_map->attrMap, -+ RelationGetDescr(hyper_rel)->natts, -+ RelationGetForm(chunk_rel)->reltype, -+ &found_whole_row)); - - return clause; - } -@@ -193,7 +194,11 @@ adjust_hypertable_tlist(List *tlist, TupleConversionMap *map) - { - List *new_tlist = NIL; - TupleDesc chunk_tupdesc = map->outdesc; -+#if PG13_GE -+ AttrNumber *attrMap = map->attrMap->attnums; -+#else - AttrNumber *attrMap = map->attrMap; -+#endif - AttrNumber chunk_attrno; - - for (chunk_attrno = 1; chunk_attrno <= chunk_tupdesc->natts; chunk_attrno++) -@@ -351,7 +356,8 @@ get_default_existing_slot(ChunkInsertState *state, ChunkDispatch *dispatch) - * columns, etc. - */ - static void --setup_on_conflict_state(ChunkInsertState *state, ChunkDispatch *dispatch, AttrNumber *chunk_attnos) -+setup_on_conflict_state(ChunkInsertState *state, ChunkDispatch *dispatch, -+ TupleConversionMap *chunk_map) - { - TupleConversionMap *map = state->hyper_to_chunk_map; - ResultRelInfo *chunk_rri = get_chunk_rri(state); -@@ -377,16 +383,17 @@ setup_on_conflict_state(ChunkInsertState *state, ChunkDispatch *dispatch, AttrNu - - Assert(map->outdesc == RelationGetDescr(chunk_rel)); - -- if (NULL == chunk_attnos) -- chunk_attnos = convert_tuples_by_name_map(RelationGetDescr(chunk_rel), -- RelationGetDescr(first_rel) -+ if (NULL == chunk_map) -+ chunk_map = convert_tuples_by_name(RelationGetDescr(chunk_rel), -+ RelationGetDescr(first_rel) - #if PG13_LT -- , gettext_noop("could not convert row type") -+ , -+ gettext_noop("could not convert row type") - #endif -- ); -+ ); - - onconflset = translate_clause(ts_chunk_dispatch_get_on_conflict_set(dispatch), -- chunk_attnos, -+ chunk_map, - hyper_rri->ri_RangeTableIndex, - hyper_rel, - chunk_rel); -@@ -412,7 +419,7 @@ setup_on_conflict_state(ChunkInsertState *state, ChunkDispatch *dispatch, AttrNu - if (NULL != onconflict_where) - { - List *clause = translate_clause(castNode(List, onconflict_where), -- chunk_attnos, -+ chunk_map, - hyper_rri->ri_RangeTableIndex, - hyper_rel, - chunk_rel); -@@ -476,7 +483,7 @@ adjust_projections(ChunkInsertState *cis, ChunkDispatch *dispatch, Oid rowtype) - ResultRelInfo *chunk_rri = cis->result_relation_info; - Relation hyper_rel = dispatch->hypertable_result_rel_info->ri_RelationDesc; - Relation chunk_rel = cis->rel; -- AttrNumber *chunk_attnos = NULL; -+ TupleConversionMap *chunk_map = NULL; - OnConflictAction onconflict_action = ts_chunk_dispatch_get_on_conflict_action(dispatch); - - if (ts_chunk_dispatch_has_returning(dispatch)) -@@ -486,19 +493,19 @@ adjust_projections(ChunkInsertState *cis, ChunkDispatch *dispatch, Oid rowtype) - * to have the hypertable_desc in the out spot for map_variable_attnos - * to work correctly in mapping hypertable attnos->chunk attnos. - */ -- chunk_attnos = convert_tuples_by_name_map(RelationGetDescr(chunk_rel), -- RelationGetDescr(hyper_rel) -+ chunk_map = convert_tuples_by_name(RelationGetDescr(chunk_rel), -+ RelationGetDescr(hyper_rel) - #if PG13_LT -- ,gettext_noop("could not convert row type") -+ , -+ gettext_noop("could not convert row type") - #endif -- ); -+ ); - - chunk_rri->ri_projectReturning = - get_adjusted_projection_info_returning(chunk_rri->ri_projectReturning, - ts_chunk_dispatch_get_returning_clauses( - dispatch), -- chunk_attnos, -- RelationGetDescr(hyper_rel)->natts, -+ chunk_map, - dispatch->hypertable_result_rel_info - ->ri_RangeTableIndex, - rowtype, -@@ -511,7 +518,7 @@ adjust_projections(ChunkInsertState *cis, ChunkDispatch *dispatch, Oid rowtype) - set_arbiter_indexes(cis, dispatch); - - if (onconflict_action == ONCONFLICT_UPDATE) -- setup_on_conflict_state(cis, dispatch, chunk_attnos); -+ setup_on_conflict_state(cis, dispatch, chunk_map); - } - } - -@@ -598,9 +605,10 @@ ts_chunk_insert_state_create(Chunk *chunk, ChunkDispatch *dispatch) - convert_tuples_by_name(RelationGetDescr(parent_rel), - RelationGetDescr(rel) - #if PG13_LT -- ,gettext_noop("could not convert row type") -+ , -+ gettext_noop("could not convert row type") - #endif -- ); -+ ); - - adjust_projections(state, dispatch, RelationGetForm(rel)->reltype); - -diff --git a/src/compat.h b/src/compat.h -index 51c1c181..1b2ed8e5 100644 ---- a/src/compat.h -+++ b/src/compat.h -@@ -374,4 +374,19 @@ get_vacuum_options(const VacuumStmt *stmt) - #define for_each_cell_compat(cell, list, initcell) for_each_cell ((cell), (list), (initcell)) - #endif - -+/* PG13 removes the natts parameter from map_variable_attnos */ -+#if PG13_LT -+#define map_variable_attnos_compat(node, varno, sublevels_up, map, natts, rowtype, found_wholerow) \ -+ map_variable_attnos((node), \ -+ (varno), \ -+ (sublevels_up), \ -+ (map), \ -+ (natts), \ -+ (rowtype), \ -+ (found_wholerow)) -+#else -+#define map_variable_attnos_compat(node, varno, sublevels_up, map, natts, rowtype, found_wholerow) \ -+ map_variable_attnos((node), (varno), (sublevels_up), (map), (rowtype), (found_wholerow)) -+#endif -+ - #endif /* TIMESCALEDB_COMPAT_H */ -diff --git a/tsl/src/fdw/modify_exec.c b/tsl/src/fdw/modify_exec.c -index 38d0e0c6..5307079d 100644 ---- a/tsl/src/fdw/modify_exec.c -+++ b/tsl/src/fdw/modify_exec.c -@@ -202,7 +202,11 @@ convert_attrs(TupleConversionMap *map, List *attrs) - - for (i = 0; i < map->outdesc->natts; i++) - { -+#if PG13_GE -+ if (map->attrMap->attnums[i] == attnum) -+#else - if (map->attrMap[i] == attnum) -+#endif - { - new_attrs = lappend_int(new_attrs, AttrOffsetGetAttrNumber(i)); - break; --- -2.29.2 - diff --git a/package/timescaledb/0009-Adjust-hypertable-expansion-to-PG13-changes.patch b/package/timescaledb/0009-Adjust-hypertable-expansion-to-PG13-changes.patch deleted file mode 100644 index 9e615134bae..00000000000 --- a/package/timescaledb/0009-Adjust-hypertable-expansion-to-PG13-changes.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 8cf647f2995afbd594d67abb1e6556b97096a1c6 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Thu, 24 Sep 2020 04:42:45 +0200 -Subject: [PATCH] Adjust hypertable expansion to PG13 changes - -PG13 merges setup_append_rel_array into setup_simple_rel_arrays -which we use to build the append_rel_array. - -https://github.com/postgres/postgres/commit/1661a40505 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2735/commits/e6e2711d8e00958cb0a35c23f4e81a75f273113a.patch ---- - src/plan_expand_hypertable.c | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -diff --git a/src/plan_expand_hypertable.c b/src/plan_expand_hypertable.c -index 2b99c93b..4baa1b4c 100644 ---- a/src/plan_expand_hypertable.c -+++ b/src/plan_expand_hypertable.c -@@ -95,6 +95,24 @@ is_time_bucket_function(Expr *node) - return false; - } - -+#if PG13_GE -+/* PG13 merged setup_append_rel_array with setup_simple_rel_arrays */ -+static void -+setup_append_rel_array(PlannerInfo *root) -+{ -+ root->append_rel_array = -+ repalloc(root->append_rel_array, root->simple_rel_array_size * sizeof(AppendRelInfo *)); -+ ListCell *lc; -+ foreach (lc, root->append_rel_list) -+ { -+ AppendRelInfo *appinfo = lfirst_node(AppendRelInfo, lc); -+ int child_relid = appinfo->child_relid; -+ -+ root->append_rel_array[child_relid] = appinfo; -+ } -+} -+#endif -+ - /* - * Pre-check to determine if an expression is eligible for constification. - * A more thorough check is in constify_timestamptz_op_interval. -@@ -1146,7 +1164,6 @@ ts_plan_expand_hypertable_chunks(Hypertable *ht, PlannerInfo *root, RelOptInfo * - .join_conditions = NIL, - .propagate_conditions = NIL, - }; -- Size old_rel_array_len; - Index first_chunk_index = 0; - #if PG12_GE - Index i; -@@ -1178,6 +1195,11 @@ ts_plan_expand_hypertable_chunks(Hypertable *ht, PlannerInfo *root, RelOptInfo * - propagate_join_quals(root, rel, &ctx); - - inh_oids = get_chunk_oids(&ctx, root, rel, ht); -+ -+ /* nothing to do here if we have no chunks and no data nodes */ -+ if (list_length(inh_oids) + list_length(ht->data_nodes) == 0) -+ return; -+ - oldrelation = table_open(parent_oid, NoLock); - - /* -@@ -1185,7 +1207,10 @@ ts_plan_expand_hypertable_chunks(Hypertable *ht, PlannerInfo *root, RelOptInfo * - * children to them. We include potential data node rels we might need to - * create in case of a distributed hypertable. - */ -- old_rel_array_len = root->simple_rel_array_size; -+#if PG12_GE -+ expand_planner_arrays(root, list_length(inh_oids) + list_length(ht->data_nodes)); -+#else -+ Size old_rel_array_len = root->simple_rel_array_size; - root->simple_rel_array_size += (list_length(inh_oids) + list_length(ht->data_nodes)); - root->simple_rel_array = - repalloc(root->simple_rel_array, root->simple_rel_array_size * sizeof(RelOptInfo *)); -@@ -1200,6 +1225,7 @@ ts_plan_expand_hypertable_chunks(Hypertable *ht, PlannerInfo *root, RelOptInfo * - memset(root->simple_rte_array + old_rel_array_len, - 0, - list_length(inh_oids) * sizeof(*root->simple_rte_array)); -+#endif - - /* Adding partition info will make PostgreSQL consider the inheritance - * children as part of a partitioned relation. This will enable --- -2.29.2 - diff --git a/package/timescaledb/0010-Adjust-decompress-code-to-Var-field-renames.patch b/package/timescaledb/0010-Adjust-decompress-code-to-Var-field-renames.patch deleted file mode 100644 index 34ecdb4339e..00000000000 --- a/package/timescaledb/0010-Adjust-decompress-code-to-Var-field-renames.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d0f82f514eb1f59d63fcbfe71ec99d5d8f82649d Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Fri, 25 Sep 2020 14:23:01 +0200 -Subject: [PATCH] Adjust decompress code to Var field renames - -PG13 renames the varnoold and varoattno field of Var to varnosyn and -varattnosyn. - -https://github.com/postgres/postgres/commit/9ce77d75c5 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2786/commits/d46b5de84b975d6f394a7f1fa94a34c5062f50ca.patch ---- - tsl/src/nodes/decompress_chunk/decompress_chunk.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/tsl/src/nodes/decompress_chunk/decompress_chunk.c b/tsl/src/nodes/decompress_chunk/decompress_chunk.c -index 1e36f5dc..4a6fa782 100644 ---- a/tsl/src/nodes/decompress_chunk/decompress_chunk.c -+++ b/tsl/src/nodes/decompress_chunk/decompress_chunk.c -@@ -739,11 +739,15 @@ create_var_for_compressed_equivalence_member(Var *var, const EMCreationContext * - if (var->varlevelsup == 0) - { - var->varno = context->compressed_relid_idx; -- var->varnoold = context->compressed_relid_idx; - var->varattno = - get_attnum(context->compressed_relid, NameStr(context->current_col_info->attname)); -- -+#if PG13_GE -+ var->varnosyn = var->varno; -+ var->varattnosyn = var->varattno; -+#else -+ var->varnoold = var->varno; - var->varoattno = var->varattno; -+#endif - - return (Node *) var; - } --- -2.29.2 - diff --git a/package/timescaledb/0011-Adjust-jsonb_utils-to-PG13-changes.patch b/package/timescaledb/0011-Adjust-jsonb_utils-to-PG13-changes.patch deleted file mode 100644 index f117e15058f..00000000000 --- a/package/timescaledb/0011-Adjust-jsonb_utils-to-PG13-changes.patch +++ /dev/null @@ -1,39 +0,0 @@ -From aef77c6cf3bac36f93ba44244ecd8a23de701896 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 26 Sep 2020 02:14:28 +0200 -Subject: [PATCH] Adjust jsonb_utils to PG13 changes - -PG13 moved jsonapi.h from utils to common. - -https://github.com/postgres/postgres/commit/beb4699091 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2787/commits/aa1e0c8ac78ca109994269c659d52983fe49db7f.patch ---- - src/jsonb_utils.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/jsonb_utils.c b/src/jsonb_utils.c -index 46173871..dd901a38 100644 ---- a/src/jsonb_utils.c -+++ b/src/jsonb_utils.c -@@ -9,9 +9,15 @@ - #include - #include - #include --#include - - #include "compat.h" -+ -+#if PG13_LT -+#include -+#else -+#include -+#endif -+ - #include "export.h" - - #include "jsonb_utils.h" --- -2.29.2 - diff --git a/package/timescaledb/0012-Handle-AT_DropExpression-in-process_utility.patch b/package/timescaledb/0012-Handle-AT_DropExpression-in-process_utility.patch deleted file mode 100644 index 9a3bb58c75a..00000000000 --- a/package/timescaledb/0012-Handle-AT_DropExpression-in-process_utility.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 8a2ed03f78601596e1f74fa2e75f9cdf52c4ff83 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Fri, 25 Sep 2020 14:31:55 +0200 -Subject: [PATCH] Handle AT_DropExpression in process_utility - -PG13 adds a new ALTER TABLE subcommand for dropping the generated -property from a column. - -https://github.com/postgres/postgres/commit/f595117e24 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2498/commits/cdb29e2e61ec3f3b52fb8962d12a15727757e35b.patch ---- - src/process_utility.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/src/process_utility.c b/src/process_utility.c -index 8f915113..0f76f141 100644 ---- a/src/process_utility.c -+++ b/src/process_utility.c -@@ -3266,6 +3266,9 @@ process_altertable_end_subcmd(Hypertable *ht, Node *parsetree, ObjectAddress *ob - case AT_AddColumnRecurse: - case AT_DropColumn: - case AT_DropColumnRecurse: -+#if PG13_GE -+ case AT_DropExpression: -+#endif - - /* - * adding and dropping columns handled in -@@ -3276,9 +3279,11 @@ process_altertable_end_subcmd(Hypertable *ht, Node *parsetree, ObjectAddress *ob - case AT_DropConstraintRecurse: - /* drop constraints handled by process_ddl_sql_drop */ - break; -- case AT_ProcessedConstraint: /* internal command never hit in our -- * test code, so don't know how to -- * handle */ -+#if PG13_LT -+ case AT_ProcessedConstraint: /* internal command never hit in our -+ * test code, so don't know how to -+ * handle */ -+#endif - case AT_ReAddComment: /* internal command never hit in our test - * code, so don't know how to handle */ - case AT_AddColumnToView: /* only used with views */ --- -2.29.2 - diff --git a/package/timescaledb/0013-Adjust-copy-code-to-PG13-changes.patch b/package/timescaledb/0013-Adjust-copy-code-to-PG13-changes.patch deleted file mode 100644 index 46686527bc5..00000000000 --- a/package/timescaledb/0013-Adjust-copy-code-to-PG13-changes.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5cea3a687f7227997deb0eacbb061c586c6713f7 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 26 Sep 2020 02:57:38 +0200 -Subject: [PATCH] Adjust copy code to PG13 changes - -PG13 adds a CmdType argument to ExecComputeStoredGenerated. - -https://github.com/postgres/postgres/commit/c6679e4fca - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2498/commits/a2d15828cbbbe7570afb03bb930df083ddeafd7a.patch ---- - src/copy.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/copy.c b/src/copy.c -index c8ce93e6..e38ae15e 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -379,7 +379,11 @@ copyfrom(CopyChunkState *ccstate, List *range_table, Hypertable *ht, void (*call - /* Compute stored generated columns */ - if (resultRelInfo->ri_RelationDesc->rd_att->constr && - resultRelInfo->ri_RelationDesc->rd_att->constr->has_generated_stored) -+#if PG13_GE -+ ExecComputeStoredGenerated(estate, myslot, CMD_INSERT); -+#else - ExecComputeStoredGenerated(estate, myslot); -+#endif - #endif - /* - * If the target is a plain table, check the constraints of --- -2.29.2 - diff --git a/package/timescaledb/0014-Adjust-code-to-PG13-command-completion-tag-changes.patch b/package/timescaledb/0014-Adjust-code-to-PG13-command-completion-tag-changes.patch deleted file mode 100644 index d5331fab190..00000000000 --- a/package/timescaledb/0014-Adjust-code-to-PG13-command-completion-tag-changes.patch +++ /dev/null @@ -1,186 +0,0 @@ -From 6ef08914041b6166db6f77dd516ae8d66d0ecce6 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Wed, 30 Sep 2020 01:47:01 +0200 -Subject: [PATCH] Adjust code to PG13 command completion tag changes - -PG13 changes the representation of command completion tags to structs. - -https://github.com/postgres/postgres/commit/2f9661311b - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2498/commits/d37ec4e23bc678bc84f126c5b952fb1707ad7fe4.patch ---- - src/loader/loader.c | 13 +++++++- - src/process_utility.c | 59 +++++++++++++++++++++++++++--------- - src/process_utility.h | 4 +++ - tsl/test/src/test_ddl_hook.c | 4 +++ - 4 files changed, 65 insertions(+), 15 deletions(-) - -diff --git a/src/loader/loader.c b/src/loader/loader.c -index f60f9e77..ed35f288 100644 ---- a/src/loader/loader.c -+++ b/src/loader/loader.c -@@ -464,7 +464,14 @@ post_analyze_hook(ParseState *pstate, Query *query) - static void - loader_process_utility_hook(PlannedStmt *pstmt, const char *query_string, - ProcessUtilityContext context, ParamListInfo params, -- QueryEnvironment *queryEnv, DestReceiver *dest, char *completion_tag) -+ QueryEnvironment *queryEnv, DestReceiver *dest, -+#if PG13_GE -+ QueryCompletion *qc -+#else -+ char *completion_tag -+#endif -+ -+) - { - bool is_distributed_database = false; - char *dist_uuid = NULL; -@@ -500,7 +507,11 @@ loader_process_utility_hook(PlannedStmt *pstmt, const char *query_string, - else - process_utility = standard_ProcessUtility; - -+#if PG13_GE -+ process_utility(pstmt, query_string, context, params, queryEnv, dest, qc); -+#else - process_utility(pstmt, query_string, context, params, queryEnv, dest, completion_tag); -+#endif - - /* - * Show a NOTICE warning message in case of dropping a -diff --git a/src/process_utility.c b/src/process_utility.c -index 0f76f141..d9d7514d 100644 ---- a/src/process_utility.c -+++ b/src/process_utility.c -@@ -91,7 +91,12 @@ prev_ProcessUtility(ProcessUtilityArgs *args) - args->params, - args->queryEnv, - args->dest, -- args->completion_tag); -+#if PG13_GE -+ args->qc -+#else -+ args->completion_tag -+#endif -+ ); - } - else - { -@@ -102,7 +107,12 @@ prev_ProcessUtility(ProcessUtilityArgs *args) - args->params, - args->queryEnv, - args->dest, -- args->completion_tag); -+#if PG13_GE -+ args->qc -+#else -+ args->completion_tag -+#endif -+ ); - } - } - -@@ -493,8 +503,13 @@ process_copy(ProcessUtilityArgs *args) - /* Performs acl check in here inside `copy_security_check` */ - timescaledb_DoCopy(stmt, args->query_string, &processed, ht); - -+#if PG13_GE -+ args->qc->commandTag = CMDTAG_COPY; -+ args->qc->nprocessed = processed; -+#else - if (args->completion_tag) - snprintf(args->completion_tag, COMPLETION_TAG_BUFSIZE, "COPY " UINT64_FORMAT, processed); -+#endif - - process_add_hypertable(args, ht); - -@@ -3646,7 +3661,11 @@ process_ddl_command_start(ProcessUtilityArgs *args) - return false; - - if (check_read_only) -+#if PG13_GE -+ PreventCommandIfReadOnly(CreateCommandName(args->parsetree)); -+#else - PreventCommandIfReadOnly(CreateCommandTag(args->parsetree)); -+#endif - - return handler(args); - } -@@ -3845,18 +3864,30 @@ process_ddl_sql_drop(EventTriggerDropObject *obj) - static void - timescaledb_ddl_command_start(PlannedStmt *pstmt, const char *query_string, - ProcessUtilityContext context, ParamListInfo params, -- QueryEnvironment *queryEnv, DestReceiver *dest, char *completion_tag) --{ -- ProcessUtilityArgs args = { .query_string = query_string, -- .context = context, -- .params = params, -- .dest = dest, -- .completion_tag = completion_tag, -- .pstmt = pstmt, -- .parsetree = pstmt->utilityStmt, -- .queryEnv = queryEnv, -- .parse_state = make_parsestate(NULL), -- .hypertable_list = NIL }; -+ QueryEnvironment *queryEnv, DestReceiver *dest, -+#if PG13_GE -+ QueryCompletion *qc -+#else -+ char *completion_tag -+#endif -+) -+{ -+ ProcessUtilityArgs args = { -+ .query_string = query_string, -+ .context = context, -+ .params = params, -+ .dest = dest, -+#if PG13_GE -+ .qc = qc, -+#else -+ .completion_tag = completion_tag, -+#endif -+ .pstmt = pstmt, -+ .parsetree = pstmt->utilityStmt, -+ .queryEnv = queryEnv, -+ .parse_state = make_parsestate(NULL), -+ .hypertable_list = NIL -+ }; - - bool altering_timescaledb = false; - DDLResult result; -diff --git a/src/process_utility.h b/src/process_utility.h -index ac5519f4..f66448fb 100644 ---- a/src/process_utility.h -+++ b/src/process_utility.h -@@ -24,7 +24,11 @@ typedef struct ProcessUtilityArgs - ParamListInfo params; - DestReceiver *dest; - List *hypertable_list; -+#if PG13_GE -+ QueryCompletion *qc; -+#else - char *completion_tag; -+#endif - } ProcessUtilityArgs; - - typedef enum -diff --git a/tsl/test/src/test_ddl_hook.c b/tsl/test/src/test_ddl_hook.c -index 4fb58f02..d01e6114 100644 ---- a/tsl/test/src/test_ddl_hook.c -+++ b/tsl/test/src/test_ddl_hook.c -@@ -80,7 +80,11 @@ test_ddl_command_end(EventTriggerData *command) - ListCell *cell; - Hypertable *ht; - -+#if PG13_GE -+ elog(NOTICE, "test_ddl_command_end: %s", GetCommandTagName(command->tag)); -+#else - elog(NOTICE, "test_ddl_command_end: %s", command->tag); -+#endif - - if (tsl_delayed_execution_list == NIL) - return; --- -2.29.2 - diff --git a/package/timescaledb/0015-Adjust-copy-to-PG13-HEAP_INSERT_SKIP_WAL-change.patch b/package/timescaledb/0015-Adjust-copy-to-PG13-HEAP_INSERT_SKIP_WAL-change.patch deleted file mode 100644 index 8ce69e17c9e..00000000000 --- a/package/timescaledb/0015-Adjust-copy-to-PG13-HEAP_INSERT_SKIP_WAL-change.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 399acf6de6d02b3362faa13379b6bd948b91e20c Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Fri, 2 Oct 2020 00:58:57 +0200 -Subject: [PATCH] Adjust copy to PG13 HEAP_INSERT_SKIP_WAL change - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2498/commits/446f977be8ead518579b3c5b2458429f27518b48.patch ---- - src/copy.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/copy.c b/src/copy.c -index e38ae15e..1187a696 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -215,8 +216,10 @@ copyfrom(CopyChunkState *ccstate, List *range_table, Hypertable *ht, void (*call - ccstate->rel->rd_newRelfilenodeSubid != InvalidSubTransactionId) - { - ti_options |= HEAP_INSERT_SKIP_FSM; -+#if PG13_LT - if (!XLogIsNeeded()) - ti_options |= HEAP_INSERT_SKIP_WAL; -+#endif - } - - /* -@@ -449,8 +452,13 @@ copyfrom(CopyChunkState *ccstate, List *range_table, Hypertable *ht, void (*call - * If we skipped writing WAL, then we need to sync the heap (but not - * indexes since those use WAL anyway) - */ -+#if PG13_LT - if (ti_options & HEAP_INSERT_SKIP_WAL) - heap_sync(ccstate->rel); -+#else -+ if (!RelationNeedsWAL(ccstate->rel)) -+ smgrimmedsync(ccstate->rel->rd_smgr, MAIN_FORKNUM); -+#endif - - return processed; - } --- -2.29.2 - diff --git a/package/timescaledb/0016-Adjust-planner-code-to-PG13-planner_hook-signature-c.patch b/package/timescaledb/0016-Adjust-planner-code-to-PG13-planner_hook-signature-c.patch deleted file mode 100644 index 130d66b1bc1..00000000000 --- a/package/timescaledb/0016-Adjust-planner-code-to-PG13-planner_hook-signature-c.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 280db3fdb6c365dd37d82afaeeebd16efa70e965 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Wed, 30 Sep 2020 01:45:29 +0200 -Subject: [PATCH] Adjust planner code to PG13 planner_hook signature - change - -PG13 adds the query string as argument to the planner_hook. - -https://github.com/postgres/postgres/commit/6aba63ef3e - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2498/commits/90e3eb3df98f3165f08a17bf5548e3a30713de26.patch ---- - src/planner.c | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -diff --git a/src/planner.c b/src/planner.c -index b4d4907a..cd40fa84 100644 ---- a/src/planner.c -+++ b/src/planner.c -@@ -278,7 +278,12 @@ preprocess_query(Node *node, Query *rootquery) - } - - static PlannedStmt * -+#if PG13_GE -+timescaledb_planner(Query *parse, const char *query_string, int cursor_opts, -+ ParamListInfo bound_params) -+#else - timescaledb_planner(Query *parse, int cursor_opts, ParamListInfo bound_params) -+#endif - { - PlannedStmt *stmt; - ListCell *lc; -@@ -302,11 +307,19 @@ timescaledb_planner(Query *parse, int cursor_opts, ParamListInfo bound_params) - preprocess_query((Node *) parse, parse); - - if (prev_planner_hook != NULL) -- /* Call any earlier hooks */ -+ /* Call any earlier hooks */ -+#if PG13_GE -+ stmt = (prev_planner_hook)(parse, query_string, cursor_opts, bound_params); -+#else - stmt = (prev_planner_hook)(parse, cursor_opts, bound_params); -+#endif - else -- /* Call the standard planner */ -+ /* Call the standard planner */ -+#if PG13_GE -+ stmt = standard_planner(parse, query_string, cursor_opts, bound_params); -+#else - stmt = standard_planner(parse, cursor_opts, bound_params); -+#endif - - if (ts_extension_is_loaded()) - { --- -2.29.2 - diff --git a/package/timescaledb/0017-Adjust-code-to-deparse_context-changes.patch b/package/timescaledb/0017-Adjust-code-to-deparse_context-changes.patch deleted file mode 100644 index 87a12b2d9a2..00000000000 --- a/package/timescaledb/0017-Adjust-code-to-deparse_context-changes.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d7960c761542d7e90e91a32e91b82459e5fcc84f Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 3 Oct 2020 15:53:19 +0200 -Subject: [PATCH] Adjust code to deparse_context changes - -PG13 changes EXPLAIN to use Plan instead PlanState as context. - -https://github.com/postgres/postgres/commit/6ef77cf46e - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2498/commits/20c5ef33fc9c6d47cd6a95ca79b0b260ee3cfd25.patch ---- - src/chunk_append/explain.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/chunk_append/explain.c b/src/chunk_append/explain.c -index 0111cf72..7ee089c1 100644 ---- a/src/chunk_append/explain.c -+++ b/src/chunk_append/explain.c -@@ -84,7 +84,11 @@ show_sort_group_keys(ChunkAppendState *state, List *ancestors, ExplainState *es) - initStringInfo(&sortkeybuf); - - /* Set up deparsing context */ -+#if PG13_GE -+ context = set_deparse_context_plan(es->deparse_cxt, plan, ancestors); -+#else - context = set_deparse_context_planstate(es->deparse_cxt, (Node *) state, ancestors); -+#endif - useprefix = (list_length(es->rtable) > 1 || es->verbose); - - for (keyno = 0; keyno < nkeys; keyno++) --- -2.29.2 - diff --git a/package/timescaledb/0018-Update-compat.h.patch b/package/timescaledb/0018-Update-compat.h.patch deleted file mode 100644 index 6e6dd9db8c7..00000000000 --- a/package/timescaledb/0018-Update-compat.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 67744f30f481a05e3cb6a2e73c0cb17117a2eb38 Mon Sep 17 00:00:00 2001 -From: fidomax -Date: Mon, 11 Jan 2021 14:16:06 +0300 -Subject: [PATCH] Update compat.h - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/pull/2801/commits/6a927ee84c91797025fc48ac4aab74c3344ebdad.patch ---- - src/compat.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/compat.h b/src/compat.h -index 1b2ed8e5..6b461e38 100644 ---- a/src/compat.h -+++ b/src/compat.h -@@ -371,7 +371,7 @@ get_vacuum_options(const VacuumStmt *stmt) - #define list_delete_cell_compat(l, lc, prev) list_delete_cell((l), (lc)) - #define list_make5(x1, x2, x3, x4, x5) lappend(list_make4(x1, x2, x3, x4), x5) - #define list_make5_oid(x1, x2, x3, x4, x5) lappend_oid(list_make4_oid(x1, x2, x3, x4), x5) --#define for_each_cell_compat(cell, list, initcell) for_each_cell ((cell), (list), (initcell)) -+#define for_each_cell_compat(cell, list, initcell) for_each_cell (cell, list, initcell) - #endif - - /* PG13 removes the natts parameter from map_variable_attnos */ --- -2.29.2 - diff --git a/package/timescaledb/0019-Adjust-code-to-PG13-tuptoaster-changes.patch b/package/timescaledb/0019-Adjust-code-to-PG13-tuptoaster-changes.patch deleted file mode 100644 index 0793bf1d26c..00000000000 --- a/package/timescaledb/0019-Adjust-code-to-PG13-tuptoaster-changes.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 42ac10738119c7d31892d8c3f45d525ad5bda756 Mon Sep 17 00:00:00 2001 -From: Sven Klemm -Date: Sat, 26 Sep 2020 02:19:56 +0200 -Subject: [PATCH] Adjust code to PG13 tuptoaster changes - -PG13 split tuptoaster.c into three separate files. This patch also -removes unnecesary tuptoaster.h includes. - -https://github.com/postgres/postgres/commit/8b94dab066 - -Signed-off-by: Maxim Kochetkov -Fetch from: https://github.com/timescale/timescaledb/commit/2bef612c04435cdb5257d40373c4955a0d617c39.patch ---- - tsl/src/remote/async.c | 1 - - tsl/src/remote/stmt_params.c | 1 - - tsl/src/reorder.c | 7 ++++++- - 3 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/tsl/src/remote/async.c b/tsl/src/remote/async.c -index f3462809..0d55deb7 100644 ---- a/tsl/src/remote/async.c -+++ b/tsl/src/remote/async.c -@@ -13,7 +13,6 @@ - #include - #include - #include --#include - - #include "compat.h" - #if PG12_GE -diff --git a/tsl/src/remote/stmt_params.c b/tsl/src/remote/stmt_params.c -index 0f315f37..1682d476 100644 ---- a/tsl/src/remote/stmt_params.c -+++ b/tsl/src/remote/stmt_params.c -@@ -6,7 +6,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/tsl/src/reorder.c b/tsl/src/reorder.c -index c4b42c12..7f301b2b 100644 ---- a/tsl/src/reorder.c -+++ b/tsl/src/reorder.c -@@ -19,7 +19,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -58,6 +57,12 @@ - #include - #endif - -+#if PG13_LT -+#include -+#else -+#include -+#endif -+ - #include "chunk.h" - #include "chunk_index.h" - #include "hypertable_cache.h" --- -2.29.2 - diff --git a/package/timescaledb/timescaledb.hash b/package/timescaledb/timescaledb.hash index f275c3d4b05..556cdaf329b 100644 --- a/package/timescaledb/timescaledb.hash +++ b/package/timescaledb/timescaledb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 96e51d5240547f0223c34b91263f6fffca46927710764bf450aa61e9756189bd timescaledb-2.0.1.tar.gz +sha256 b1a20832189c22ce378f009f9a24ef1db61d7131f7f79bde74fdcde87bcf2d7c timescaledb-2.5.2.tar.gz sha256 0378e0948feefd85f579319c74d6e2b671194037f550c7176ef26649d94c895b LICENSE diff --git a/package/timescaledb/timescaledb.mk b/package/timescaledb/timescaledb.mk index 0d5dc12d9d1..1d8b2a69a7f 100644 --- a/package/timescaledb/timescaledb.mk +++ b/package/timescaledb/timescaledb.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIMESCALEDB_VERSION = 2.0.1 +TIMESCALEDB_VERSION = 2.5.2 TIMESCALEDB_SITE = $(call github,timescale,timescaledb,$(TIMESCALEDB_VERSION)) TIMESCALEDB_LICENSE = Apache-2.0 TIMESCALEDB_LICENSE_FILES = LICENSE @@ -16,6 +16,7 @@ TIMESCALEDB_DEPENDENCIES = postgresql # pg_config replacement doesn't implement --cppflags --cflags # --ldflags and --libs. TIMESCALEDB_CONF_OPTS = \ + -DTAP_CHECKS=OFF \ -DREGRESS_CHECKS=OFF \ -DWARNINGS_AS_ERRORS=OFF \ -DPG_PKGLIBDIR=lib/postgresql \ diff --git a/package/tini/tini.mk b/package/tini/tini.mk index af4a3bcb5e3..9da54f8a250 100644 --- a/package/tini/tini.mk +++ b/package/tini/tini.mk @@ -8,6 +8,7 @@ TINI_VERSION = 0.19.0 TINI_SITE = $(call github,krallin,tini,v$(TINI_VERSION)) TINI_LICENSE = MIT TINI_LICENSE_FILES = LICENSE +TINI_CPE_ID_VENDOR = tini_project TINI_CFLAGS = $(TARGET_CFLAGS) \ -static \ diff --git a/package/tinifier/Config.in b/package/tinifier/Config.in new file mode 100644 index 00000000000..fbadfe6bd9e --- /dev/null +++ b/package/tinifier/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_TINIFIER + bool "tinifier" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + help + CLI tool for images compressing + + This tool uses tinypng.com API endpoint for compressing your + local jpg/png images (it supports parallel jobs). + + https://github.com/tarampampam/tinifier diff --git a/package/tinifier/tinifier.hash b/package/tinifier/tinifier.hash new file mode 100644 index 00000000000..0c35508ebc2 --- /dev/null +++ b/package/tinifier/tinifier.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 927e966f9d23ea7cc1942967a8fc16ef4c55c51bd096d44f54b418844a51aa12 tinifier-3.4.0.tar.gz +sha256 18f524914c0df04e21289c3d9ca3e27c10abe5869cc4e4d4790a1b2c56df282c LICENSE diff --git a/package/tinifier/tinifier.mk b/package/tinifier/tinifier.mk new file mode 100644 index 00000000000..d7ed6f7c931 --- /dev/null +++ b/package/tinifier/tinifier.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# tinifier +# +################################################################################ + +TINIFIER_VERSION = 3.4.0 +TINIFIER_SITE = $(call github,tarampampam,tinifier,v$(TINIFIER_VERSION)) +TINIFIER_LICENSE = MIT +TINIFIER_LICENSE_FILES = LICENSE +TINIFIER_GOMOD = ./cmd/tinifier + +$(eval $(golang-package)) diff --git a/package/tinyalsa/0001-disable-doxygen-usage.patch b/package/tinyalsa/0001-disable-doxygen-usage.patch deleted file mode 100644 index ed939fb9bf5..00000000000 --- a/package/tinyalsa/0001-disable-doxygen-usage.patch +++ /dev/null @@ -1,35 +0,0 @@ -Disable doxygen usage - -In order to avoid a dependency on doxygen on the build machine, this -patch adjusts the main Makefile to not build and install the -documentation. - -[Vincent: tweak patch for 1.1.1 version] - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Vicente Olivert Riera - -diff -rup a/Makefile b/Makefile ---- a/Makefile 2017-05-24 05:23:57.000000000 +0100 -+++ b/Makefile 2017-05-25 10:35:20.781747053 +0100 -@@ -11,14 +11,12 @@ export MANDIR ?= $(PREFIX)/share/man - all: - $(MAKE) -C src - $(MAKE) -C utils -- $(MAKE) -C doxygen - $(MAKE) -C examples - - .PHONY: clean - clean: - $(MAKE) -C src clean - $(MAKE) -C utils clean -- $(MAKE) -C doxygen clean - $(MAKE) -C examples clean - - .PHONY: install -@@ -30,5 +28,4 @@ install: - install include/tinyalsa/version.h $(DESTDIR)$(INCDIR)/ - $(MAKE) -C src install - $(MAKE) -C utils install -- $(MAKE) -C doxygen install - diff --git a/package/tinyalsa/0001-include-time.h-before-asound.h.patch b/package/tinyalsa/0001-include-time.h-before-asound.h.patch new file mode 100644 index 00000000000..c91213e2eb9 --- /dev/null +++ b/package/tinyalsa/0001-include-time.h-before-asound.h.patch @@ -0,0 +1,76 @@ +From d91e947bda590765e1c791f40e8ffb4135ab1cd3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 11 Jan 2022 00:01:49 +0100 +Subject: [PATCH] include time.h before asound.h + +Include time.h before asound.h to avoid the following build failure on +musl that was already fixed a long time with +https://github.com/tinyalsa/tinyalsa/commit/c8333f8c7a4e4b9549abeef7530b2cd20a18e537 +but reappeared on version 2.0.0: + +In file included from ../src/pcm_hw.c:42: +/home/peko/autobuild/instance-1/output-1/host/i586-buildroot-linux-musl/sysroot/usr/include/sound/asound.h:444:18: error: field 'trigger_tstamp' has incomplete type + 444 | struct timespec trigger_tstamp; /* time when stream was started/stopped/paused */ + | ^~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/a75e23dc585bd071f4d65face5489ed6ac22edbe + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/tinyalsa/tinyalsa/commit/c127110249967e0722d80bb41e33713accdcff8f] +--- + src/mixer.c | 1 + + src/mixer_hw.c | 1 + + src/pcm_hw.c | 1 + + src/pcm_plugin.c | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/src/mixer.c b/src/mixer.c +index afbc015..029fc84 100644 +--- a/src/mixer.c ++++ b/src/mixer.c +@@ -55,6 +55,7 @@ + #define __user + #endif + ++#include + #include + + #include +diff --git a/src/mixer_hw.c b/src/mixer_hw.c +index da5a390..50e9d07 100644 +--- a/src/mixer_hw.c ++++ b/src/mixer_hw.c +@@ -42,6 +42,7 @@ + #include + + #include ++#include + #include + + #include "mixer_io.h" +diff --git a/src/pcm_hw.c b/src/pcm_hw.c +index 5eb53be..2383ae0 100644 +--- a/src/pcm_hw.c ++++ b/src/pcm_hw.c +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + #include + +diff --git a/src/pcm_plugin.c b/src/pcm_plugin.c +index 47bf4a5..b6b69aa 100644 +--- a/src/pcm_plugin.c ++++ b/src/pcm_plugin.c +@@ -40,6 +40,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/package/tinyalsa/0002-interval.h-add-missing-header.patch b/package/tinyalsa/0002-interval.h-add-missing-header.patch deleted file mode 100644 index c043145b550..00000000000 --- a/package/tinyalsa/0002-interval.h-add-missing-header.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 685e530d8a0063134642371eaacd01fee2f62d85 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 2 Jun 2017 12:19:03 +0300 -Subject: [PATCH] interval.h: add missing header - -The ssize_t type requires the unistd.h header. This fixes build with musl -libc: - -In file included from ../include/tinyalsa/limits.h:32:0, - from limits.c:1: -../include/tinyalsa/interval.h:38:2: error: unknown type name 'ssize_t' - ssize_t max; - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/tinyalsa/tinyalsa/pull/98 - - include/tinyalsa/interval.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/tinyalsa/interval.h b/include/tinyalsa/interval.h -index 3f6f3dce5d90..068571df5a63 100644 ---- a/include/tinyalsa/interval.h -+++ b/include/tinyalsa/interval.h -@@ -30,6 +30,7 @@ - #define TINYALSA_INTERVAL_H - - #include -+#include - - /** A closed range signed interval. */ - --- -2.11.0 - diff --git a/package/tinyalsa/tinyalsa.hash b/package/tinyalsa/tinyalsa.hash index d078bab597a..f7673b1769c 100644 --- a/package/tinyalsa/tinyalsa.hash +++ b/package/tinyalsa/tinyalsa.hash @@ -1,3 +1,3 @@ # locally computed -sha256 d92b438cea348ae316c4b2cbf367b4f01ed821a947e6a34d813624e9e3c936c1 tinyalsa-1.1.1.tar.gz -sha256 ca2b89a68c33fba3c8bcaec96f32907e2ede0eb33688ae61d29ec49732158f6d NOTICE +sha256 573ae0b2d3480851c1d2a12503ead2beea27f92d44ed47b74b553ba947994ef1 tinyalsa-2.0.0.tar.gz +sha256 ea22a4711f5250f88a4d7011fbc65367d1b02ac954dcc49f5b6d7c135e6537c4 NOTICE diff --git a/package/tinyalsa/tinyalsa.mk b/package/tinyalsa/tinyalsa.mk index bd9d9a00d06..b5c39e35d66 100644 --- a/package/tinyalsa/tinyalsa.mk +++ b/package/tinyalsa/tinyalsa.mk @@ -4,30 +4,11 @@ # ################################################################################ -TINYALSA_VERSION = 1.1.1 -TINYALSA_SITE = $(call github,tinyalsa,tinyalsa,$(TINYALSA_VERSION)) +TINYALSA_VERSION = 2.0.0 +TINYALSA_SITE = $(call github,tinyalsa,tinyalsa,v$(TINYALSA_VERSION)) TINYALSA_LICENSE = BSD-3-Clause TINYALSA_LICENSE_FILES = NOTICE TINYALSA_INSTALL_STAGING = YES +TINYALSA_CONF_OPTS = -Ddocs=disabled -Dexamples=disabled -Dutils=disabled -define TINYALSA_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) -endef - -define TINYALSA_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) \ - -C $(@D) \ - PREFIX="/usr" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - DESTDIR="$(STAGING_DIR)" install -endef - -define TINYALSA_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) \ - -C $(@D) \ - PREFIX="/usr" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - DESTDIR="$(TARGET_DIR)" install -endef - -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/package/tinycbor/0001-Enable-build-for-different-c-libraries.patch b/package/tinycbor/0001-Enable-build-for-different-c-libraries.patch deleted file mode 100644 index 40f92886043..00000000000 --- a/package/tinycbor/0001-Enable-build-for-different-c-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 085ca40781f7c39febe6d14fb7e5cba342e1804b Mon Sep 17 00:00:00 2001 -From: Ricardo Crudo -Date: Sat, 30 May 2020 22:03:01 +0200 -Subject: [PATCH] Enable build for different c libraries - -The open_memstream.c was using GLIBC macro definition to test if the -library is building on a Linux box. This makes impossible to build -tinycbor against other C libraries, as musl for example. - -Signed-off-by: Ricardo Crudo -[Retrieved from: -https://github.com/intel/tinycbor/commit/085ca40781f7c39febe6d14fb7e5cba342e1804b] -Signed-off-by: Fabrice Fontaine ---- - src/open_memstream.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/open_memstream.c b/src/open_memstream.c -index 18f3de8..3365378 100644 ---- a/src/open_memstream.c -+++ b/src/open_memstream.c -@@ -38,7 +38,7 @@ - #ifdef __APPLE__ - typedef int RetType; - typedef int LenType; --#elif __GLIBC__ -+#elif __linux__ - typedef ssize_t RetType; - typedef size_t LenType; - #else -@@ -101,7 +101,7 @@ FILE *open_memstream(char **bufptr, size_t *lenptr) - - #ifdef __APPLE__ - return funopen(b, NULL, write_to_buffer, NULL, close_buffer); --#elif __GLIBC__ -+#elif __linux__ - static const cookie_io_functions_t vtable = { - NULL, - write_to_buffer, diff --git a/package/tinycbor/0001-Makefile-add-DISABLE_WERROR.patch b/package/tinycbor/0001-Makefile-add-DISABLE_WERROR.patch new file mode 100644 index 00000000000..334bea7eb06 --- /dev/null +++ b/package/tinycbor/0001-Makefile-add-DISABLE_WERROR.patch @@ -0,0 +1,44 @@ +From 5f26eaf8d7be760fafe11ef4a6e0f907e7e8c3f0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 10 Jan 2022 23:17:45 +0100 +Subject: [PATCH] Makefile: add DISABLE_WERROR + +Allow the user to disable -Werror to avoid the following build failure +with gcc 4.8 raised since version 0.6.0 and +https://github.com/intel/tinycbor/commit/e2a4ed135c4d9101c4df83f2dd033cd249b6ef07: + +/home/buildroot/autobuild/instance-1/output-1/host/bin/arm-none-linux-gnueabi-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./src -std=gnu99 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -Werror=incompatible-pointer-types -Werror=implicit-function-declaration -Werror=int-conversion -fPIC -c -o src/cborerrorstrings.pic.o src/cborerrorstrings.c +cc1: error: -Werror=incompatible-pointer-types: no option -Wincompatible-pointer-types +cc1: error: -Werror=int-conversion: no option -Wint-conversion + +Fixes: + - http://autobuild.buildroot.org/results/a9f/a9fe64c42bb96f9e7b4af3050464f6570c1c00fa + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/intel/tinycbor/commit/5f26eaf8d7be760fafe11ef4a6e0f907e7e8c3f0] +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 6492ea16..3cde2b3d 100644 +--- a/Makefile ++++ b/Makefile +@@ -236,10 +236,15 @@ tag: distcheck + .SECONDARY: + + cflags := $(CPPFLAGS) -I$(SRCDIR)src +-cflags += -std=gnu99 $(CFLAGS) \ ++cflags += -std=gnu99 $(CFLAGS) ++ ++ifneq ($(DISABLE_WERROR),1) ++cflags += \ + -Werror=incompatible-pointer-types \ + -Werror=implicit-function-declaration \ + -Werror=int-conversion ++endif ++ + %.o: %.c + @test -d $(@D) || $(MKDIR) $(@D) + $(CC) $(cflags) $($(basename $(notdir $@))_CCFLAGS) -c -o $@ $< diff --git a/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash index 8ff706bb675..0e616d1e9f7 100644 --- a/package/tinycbor/tinycbor.hash +++ b/package/tinycbor/tinycbor.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 956eb4b670ea4969eaee67395b5bb6437b153960385b77357d6692e979d1b12d tinycbor-0.5.3.tar.gz -sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e LICENSE +sha256 512e2c9fce74f60ef9ed3af59161e905f9e19f30a52e433fc55f39f4c70d27e4 tinycbor-0.6.0.tar.gz +sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e LICENSE diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index ef095ea67d3..cad50e633b4 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINYCBOR_VERSION = 0.5.3 +TINYCBOR_VERSION = 0.6.0 TINYCBOR_SITE = $(call github,intel,tinycbor,v$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE @@ -16,7 +16,7 @@ ifeq ($(BR2_PACKAGE_CJSON),y) TINYCBOR_DEPENDENCIES += cjson endif -TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) V=1 +TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) DISABLE_WERROR=1 V=1 ifeq ($(BR2_STATIC_LIBS),y) TINYCBOR_MAKE_OPTS += BUILD_STATIC=1 BUILD_SHARED=0 diff --git a/package/tinydtls/tinydtls.mk b/package/tinydtls/tinydtls.mk index 6d839bc05a1..bba9e5f6fa8 100644 --- a/package/tinydtls/tinydtls.mk +++ b/package/tinydtls/tinydtls.mk @@ -16,4 +16,10 @@ TINYDTLS_AUTORECONF = YES # use inttypes.h data types instead of u_intXX_t for musl compatibility TINYDTLS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DSHA2_USE_INTTYPES_H" +# Fix build with automake >= 1.16.4 +define TINYDTLS_TOUCH_AR_LIB + touch $(@D)/ar-lib +endef +TINYDTLS_PRE_CONFIGURE_HOOKS += TINYDTLS_TOUCH_AR_LIB + $(eval $(autotools-package)) diff --git a/package/tinyproxy/tinyproxy.hash b/package/tinyproxy/tinyproxy.hash index 80967415971..8c58b98ca2f 100644 --- a/package/tinyproxy/tinyproxy.hash +++ b/package/tinyproxy/tinyproxy.hash @@ -1,3 +1,4 @@ +# From https://github.com/tinyproxy/tinyproxy/releases/tag/1.11.0 +sha256 c1ec81cfc4c551d2c24e0227a5aeeaad8723bd9a39b61cd729e516b82eaa3f32 tinyproxy-1.11.0.tar.xz # locally computed -sha256 a23a8f647f622f01e51b93fa882ea5a15c20e026d45c3aafa81ec579e464daf7 tinyproxy-1.10.0.tar.bz2 sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/tinyproxy/tinyproxy.mk b/package/tinyproxy/tinyproxy.mk index 6120d183ccf..3930e90d720 100644 --- a/package/tinyproxy/tinyproxy.mk +++ b/package/tinyproxy/tinyproxy.mk @@ -4,11 +4,11 @@ # ################################################################################ -TINYPROXY_VERSION = 1.10.0 +TINYPROXY_VERSION = 1.11.0 TINYPROXY_SITE = https://github.com/tinyproxy/tinyproxy/releases/download/$(TINYPROXY_VERSION) -TINYPROXY_SOURCE = tinyproxy-$(TINYPROXY_VERSION).tar.bz2 +TINYPROXY_SOURCE = tinyproxy-$(TINYPROXY_VERSION).tar.xz TINYPROXY_LICENSE = GPL-2.0+ TINYPROXY_LICENSE_FILES = COPYING -TINYPROXY_CONF_ENV = ac_cv_path_A2X=no +TINYPROXY_CPE_ID_VENDOR = tinyproxy_project $(eval $(autotools-package)) diff --git a/package/tinyssh/tinyssh.hash b/package/tinyssh/tinyssh.hash index 99ee4afaffb..30b5d13419b 100644 --- a/package/tinyssh/tinyssh.hash +++ b/package/tinyssh/tinyssh.hash @@ -1,3 +1,3 @@ # locally computed -sha256 65a7dc785861a09399419a1e7c42cddf66f32dc233a33277327b11f1bd8a772c tinyssh-7e2b4025bf3a2dae4c6617e3eb39df4bcde37454.tar.gz +sha256 2a051437878998c7782d9d38ef13e5e7a76435ae6b9c3e9ec492c3a567bd6314 tinyssh-20210601.tar.gz sha256 b5dc19477e29f4111e1c16cd89ec0782f5a07b1a30e3bdb7c155425b81b12c46 LICENCE diff --git a/package/tinyssh/tinyssh.mk b/package/tinyssh/tinyssh.mk index 6f22be6c528..05716bcfe16 100644 --- a/package/tinyssh/tinyssh.mk +++ b/package/tinyssh/tinyssh.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINYSSH_VERSION = 7e2b4025bf3a2dae4c6617e3eb39df4bcde37454 +TINYSSH_VERSION = 20210601 TINYSSH_SITE = $(call github,janmojzis,tinyssh,$(TINYSSH_VERSION)) TINYSSH_LICENSE = Public Domain, CC0-1.0 TINYSSH_LICENSE_FILES = LICENCE diff --git a/package/tinyxml/0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch b/package/tinyxml/0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch new file mode 100644 index 00000000000..ea0f6476c8a --- /dev/null +++ b/package/tinyxml/0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch @@ -0,0 +1,37 @@ +From f7ca0035d17a663f55668e662b840afce7b86112 Mon Sep 17 00:00:00 2001 +From: Christian Voegl +Date: Wed, 27 Oct 2021 11:25:18 +0200 +Subject: [PATCH] In stamp always advance the pointer if *p= 0xef + +The current implementation only advanced if 0xef is followed +by two non-zero bytes. In case of malformed input (0xef should be +the start byte of a three byte character) this leads to an infinite +loop. (CVE-2021-42260) + +[Retrieved (and backported) from: +https://sourceforge.net/p/tinyxml/git/merge-requests/1] +Signed-off-by: Fabrice Fontaine +--- + tinyxmlparser.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/tinyxmlparser.cpp b/src/tinyxmlparser.cpp +index 81b7eae..8aa0dfa 100755 +--- a/src/tinyxmlparser.cpp ++++ b/src/tinyxmlparser.cpp +@@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding ) + else + { p +=3; ++col; } // A normal character. + } ++ else ++ { ++ // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so ++ // there is something wrong here. Just advance the pointer to evade infinite loops ++ ++p; ++ } + } + else + { +-- +2.34.1 + diff --git a/package/tinyxml/tinyxml.mk b/package/tinyxml/tinyxml.mk index 15280517aca..d173254e31b 100644 --- a/package/tinyxml/tinyxml.mk +++ b/package/tinyxml/tinyxml.mk @@ -12,5 +12,9 @@ TINYXML_AUTORECONF = YES TINYXML_INSTALL_STAGING = YES TINYXML_LICENSE = Zlib TINYXML_LICENSE_FILES = README +TINYXML_CPE_ID_VENDOT = tinyxml_project + +# 0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch +TINYXML_IGNORE_CVES += CVE-2021-42260 $(eval $(autotools-package)) diff --git a/package/tinyxml2/tinyxml2.hash b/package/tinyxml2/tinyxml2.hash index 3c59d159b5b..ff799bc2eb7 100644 --- a/package/tinyxml2/tinyxml2.hash +++ b/package/tinyxml2/tinyxml2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6ce574fbb46751842d23089485ae73d3db12c1b6639cda7721bf3a7ee862012c tinyxml2-8.0.0.tar.gz -sha256 9332252e9b9e46db8285d4a3f0bf25f139bf1dca6781b956d57f2302efca6432 LICENSE.txt +sha256 cc2f1417c308b1f6acc54f88eb70771a0bf65f76282ce5c40e54cfe52952702c tinyxml2-9.0.0.tar.gz +sha256 9332252e9b9e46db8285d4a3f0bf25f139bf1dca6781b956d57f2302efca6432 LICENSE.txt diff --git a/package/tinyxml2/tinyxml2.mk b/package/tinyxml2/tinyxml2.mk index b06d849b21e..0a857e57329 100644 --- a/package/tinyxml2/tinyxml2.mk +++ b/package/tinyxml2/tinyxml2.mk @@ -4,11 +4,12 @@ # ################################################################################ -TINYXML2_VERSION = 8.0.0 +TINYXML2_VERSION = 9.0.0 TINYXML2_SITE = $(call github,leethomason,tinyxml2,$(TINYXML2_VERSION)) TINYXML2_LICENSE = Zlib TINYXML2_LICENSE_FILES = LICENSE.txt TINYXML2_INSTALL_STAGING = YES +TINYXML2_CPE_ID_VENDOR = tinyxml2_project ifeq ($(BR2_STATIC_LIBS),y) TINYXML2_CONF_OPTS += -DBUILD_STATIC_LIBS=ON diff --git a/package/tio/Config.in b/package/tio/Config.in index 6c748c5d12a..d5d619100eb 100644 --- a/package/tio/Config.in +++ b/package/tio/Config.in @@ -1,8 +1,15 @@ config BR2_PACKAGE_TIO bool "tio" + depends on !BR2_sparc64 && !BR2_sparc help "tio" is a simple TTY terminal application which features a straightforward commandline interface to easily connect to TTY devices for basic input/output. https://tio.github.io/ + +# tio is disabled for sparc and sparc64 architectures because it fails +# to build with a redefinition of 'struct termio' error, with no proper +# fix or workaround for now +comment "tio is disabled for sparc and sparc64 architectures" + depends on BR2_sparc64 || BR2_sparc diff --git a/package/tk/tk.hash b/package/tk/tk.hash index 5fc0b6fc665..acf5e451571 100644 --- a/package/tk/tk.hash +++ b/package/tk/tk.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d tk8.6.6-src.tar.gz -sha256 2cde822b93ca16ae535c954b7dfe658b4ad10df2a193628d1b358f1765e8b198 license.terms +sha256 12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630 tk8.6.12-src.tar.gz +sha256 2cde822b93ca16ae535c954b7dfe658b4ad10df2a193628d1b358f1765e8b198 license.terms diff --git a/package/tk/tk.mk b/package/tk/tk.mk index 102d368518c..830b241f74d 100644 --- a/package/tk/tk.mk +++ b/package/tk/tk.mk @@ -5,7 +5,7 @@ ################################################################################ TK_VERSION_MAJOR = 8.6 -TK_VERSION = $(TK_VERSION_MAJOR).6 +TK_VERSION = $(TK_VERSION_MAJOR).12 TK_SOURCE = tk$(TK_VERSION)-src.tar.gz TK_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TK_VERSION) TK_LICENSE = TCL diff --git a/package/tor/0001-Fix-static-linking-with-OpenSSL.patch b/package/tor/0001-Fix-static-linking-with-OpenSSL.patch index 128b6ed0ceb..26ed6fe8191 100644 --- a/package/tor/0001-Fix-static-linking-with-OpenSSL.patch +++ b/package/tor/0001-Fix-static-linking-with-OpenSSL.patch @@ -9,45 +9,31 @@ and remove host paths when looking for openssl. [Vincent: - Adapt the patch to make it apply on the new version.] [Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9, 0.3.1.7, 0.3.2.10, - 0.3.4.8, 0.3.5.7 & 0.4.4.5] + 0.3.4.8, 0.3.5.7, 0.4.4.5, 0.4.5.6 & 0.4.6.7] [Fabrice: fix detection of openssl functions in 0.3.5.8] Signed-off-by: Vicente Olivert Riera Signed-off-by: Bernd Kuhls Signed-off-by: Fabrice Fontaine --- - acinclude.m4 | 2 +- configure.ac | 4 ++-- src/test/include.am | 8 ++++---- src/tools/include.am | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) -diff --git a/acinclude.m4 b/acinclude.m4 -index 5ecdf1d5c..be5633f4f 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -166,7 +166,7 @@ AC_CACHE_CHECK([for $1 directory], tor_cv_library_$1_dir, [ - - for tor_trydir in "$try$1dir" "(system)" "$prefix" /usr/local /usr/pkg $8; do - LDFLAGS="$tor_saved_LDFLAGS" -- LIBS="$tor_saved_LIBS $3" -+ LIBS="$3 $tor_saved_LIBS" - CPPFLAGS="$tor_saved_CPPFLAGS" - - if test -z "$tor_trydir" ; then diff --git a/configure.ac b/configure.ac index 05e1392cf..580befa6b 100644 --- a/configure.ac +++ b/configure.ac -@@ -973,7 +973,7 @@ AC_ARG_WITH(ssl-dir, +@@ -1074,7 +1074,7 @@ AC_ARG_WITH(ssl-dir, ]) AC_MSG_NOTICE([Now, we'll look for OpenSSL >= 1.0.1]) --TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI $TOR_LIB_WS32], -+TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto -lz $TOR_LIB_GDI $TOR_LIB_WS32], +-TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI $TOR_LIB_WS32 $TOR_LIB_CRYPT32], ++TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto -lz $TOR_LIB_GDI $TOR_LIB_WS32 $TOR_LIB_CRYPT32], [#include char *getenv(const char *);], [struct ssl_cipher_st; -@@ -1005,7 +1005,7 @@ dnl Now check for particular openssl functions. +@@ -1104,7 +1104,7 @@ dnl Now check for particular openssl functions. save_LIBS="$LIBS" save_LDFLAGS="$LDFLAGS" save_CPPFLAGS="$CPPFLAGS" @@ -60,28 +46,28 @@ diff --git a/src/test/include.am b/src/test/include.am index ecb768957..39a622e88 100644 --- a/src/test/include.am +++ b/src/test/include.am -@@ -400,8 +400,8 @@ src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) +@@ -399,8 +399,8 @@ src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) src_test_test_ntor_cl_LDADD = \ - $(TOR_INTERNAL_LIBS) \ + libtor.a \ $(rust_ldadd) \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ +- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ + @TOR_LIB_MATH@ \ -+ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ @TOR_LZMA_LIBS@ ++ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ + @CURVE25519_LIBS@ @TOR_LZMA_LIBS@ @TOR_TRACE_LIBS@ src_test_test_ntor_cl_AM_CPPFLAGS = \ $(AM_CPPFLAGS) -@@ -410,8 +410,8 @@ src_test_test_hs_ntor_cl_SOURCES = src/test/test_hs_ntor_cl.c +@@ -409,8 +409,8 @@ src_test_test_hs_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) src_test_test_hs_ntor_cl_LDADD = \ - $(TOR_INTERNAL_LIBS) \ + libtor.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ +- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ \ + @TOR_LIB_MATH@ \ -+ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ ++ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ \ + @CURVE25519_LIBS@ @TOR_TRACE_LIBS@ src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ $(AM_CPPFLAGS) - diff --git a/src/tools/include.am b/src/tools/include.am index f7aa7e0d1..4c4e8aa7a 100644 --- a/src/tools/include.am @@ -92,7 +78,7 @@ index f7aa7e0d1..4c4e8aa7a 100644 $(rust_ldadd) \ - @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ $(TOR_LIBS_CRYPTLIB) \ + @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ + @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ endif @@ -45,7 +45,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \ @@ -101,9 +87,8 @@ index f7aa7e0d1..4c4e8aa7a 100644 $(TOR_UTIL_LIBS) \ - @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \ + @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_GDI@ + @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ if USE_NSS -- 2.20.1 - diff --git a/package/tor/tor.hash b/package/tor/tor.hash index 4dd86e51f5b..16e01c80a9f 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 326d2926177f0c7838cac213456d0056817d57f3f2e46714a2911c7d7a9b05ee tor-0.4.4.7.tar.gz -sha256 ae2afe6cd3fd9d512afbaa1ef218757eb00aa6b6aa5e2dfc2774b6837e373fa1 LICENSE +sha256 94ccd60e04e558f33be73032bc84ea241660f92f58cfb88789bda6893739e31c tor-0.4.6.10.tar.gz +sha256 47b54ed17e8fdcab3c44729a1789a09b208f9a63a845a7e50def9df729eebad0 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index 8ad4a7a8258..d16b3541ebb 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,11 +4,12 @@ # ################################################################################ -TOR_VERSION = 0.4.4.7 +TOR_VERSION = 0.4.6.10 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE TOR_CPE_ID_VENDOR = torproject +TOR_SELINUX_MODULES = tor TOR_DEPENDENCIES = libevent openssl zlib TOR_AUTORECONF = YES @@ -73,9 +74,4 @@ endef TOR_POST_INSTALL_TARGET_HOOKS += TOR_INSTALL_CONF -define TOR_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 $(@D)/contrib/dist/tor.service \ - $(TARGET_DIR)/usr/lib/systemd/system/tor.service -endef - $(eval $(autotools-package)) diff --git a/package/tovid/Config.in b/package/tovid/Config.in index f972e188525..3dbb0e229e0 100644 --- a/package/tovid/Config.in +++ b/package/tovid/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_TOVID depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # mpv depends on BR2_TOOLCHAIN_HAS_ATOMIC # mpv @@ -40,8 +40,8 @@ comment "tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.9" || !BR2_USE_WCHAR depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC -comment "tovid depends on python or python3" - depends on !BR2_PACKAGE_PYTHON && !BR2_PACKAGE_PYTHON3 +comment "tovid depends on python3" + depends on !BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/tpm-tools/Config.in b/package/tpm-tools/Config.in index ca70adc80cd..3ce6391acdc 100644 --- a/package/tpm-tools/Config.in +++ b/package/tpm-tools/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_TPM_TOOLS depends on !BR2_STATIC_LIBS # trousers select BR2_PACKAGE_TROUSERS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help Tools to manage and diagnose a TPM diff --git a/package/tpm2-abrmd/Config.in b/package/tpm2-abrmd/Config.in index 0c60db80951..4931641af41 100644 --- a/package/tpm2-abrmd/Config.in +++ b/package/tpm2-abrmd/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_TPM2_ABRMD depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS # tpm2-tss depends on !BR2_STATIC_LIBS # tpm2-tss select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_TPM2_TSS @@ -23,6 +22,5 @@ config BR2_PACKAGE_TPM2_ABRMD comment "tpm2-abrmd needs a toolchain w/ dynamic library, wchar, threads" depends on BR2_USE_MMU - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS diff --git a/package/tpm2-abrmd/tpm2-abrmd.mk b/package/tpm2-abrmd/tpm2-abrmd.mk index 0584ba928a7..8de233008e5 100644 --- a/package/tpm2-abrmd/tpm2-abrmd.mk +++ b/package/tpm2-abrmd/tpm2-abrmd.mk @@ -8,6 +8,7 @@ TPM2_ABRMD_VERSION = 2.3.3 TPM2_ABRMD_SITE = https://github.com/tpm2-software/tpm2-abrmd/releases/download/$(TPM2_ABRMD_VERSION) TPM2_ABRMD_LICENSE = BSD-2-Clause TPM2_ABRMD_LICENSE_FILES = LICENSE +TPM2_ABRMD_SELINUX_MODULES = tpm2 TPM2_ABRMD_INSTALL_STAGING = YES TPM2_ABRMD_DEPENDENCIES = libglib2 tpm2-tss host-pkgconf TPM2_ABRMD_CONF_OPTS = \ diff --git a/package/tpm2-pkcs11/Config.in b/package/tpm2-pkcs11/Config.in index ec82d72ae36..5d457032238 100644 --- a/package/tpm2-pkcs11/Config.in +++ b/package/tpm2-pkcs11/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_TPM2_PKCS11 bool "tpm2-pkcs11" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS # tpm2-tss depends on !BR2_STATIC_LIBS # tpm2-tss depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBYAML @@ -13,5 +12,4 @@ config BR2_PACKAGE_TPM2_PKCS11 https://github.com/tpm2-software/tpm2-pkcs11 comment "tpm2-pkcs11 needs a toolchain w/ dynamic library, threads" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/tpm2-pkcs11/tpm2-pkcs11.hash b/package/tpm2-pkcs11/tpm2-pkcs11.hash index 16dd9166baf..1d5bcc7a546 100644 --- a/package/tpm2-pkcs11/tpm2-pkcs11.hash +++ b/package/tpm2-pkcs11/tpm2-pkcs11.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 13425c34358ec798d333743099b9aec5e42f6a4653c4c0e40eb075681f369687 tpm2-pkcs11-1.5.0.tar.gz +sha256 078a445ed0e9f5009675a162b4b7b88f3520436cfbc791bb2249f37bd1f475bd tpm2-pkcs11-1.7.0.tar.gz sha256 793aa007f793458434d7cc60b1c827053a399308658b32fcaa6023802adc22e1 LICENSE diff --git a/package/tpm2-pkcs11/tpm2-pkcs11.mk b/package/tpm2-pkcs11/tpm2-pkcs11.mk index 3acce07745f..adb5a46f56c 100644 --- a/package/tpm2-pkcs11/tpm2-pkcs11.mk +++ b/package/tpm2-pkcs11/tpm2-pkcs11.mk @@ -4,7 +4,7 @@ # ################################################################################ -TPM2_PKCS11_VERSION = 1.5.0 +TPM2_PKCS11_VERSION = 1.7.0 TPM2_PKCS11_SITE = https://github.com/tpm2-software/tpm2-pkcs11/releases/download/$(TPM2_PKCS11_VERSION) TPM2_PKCS11_LICENSE = BSD-2-Clause TPM2_PKCS11_LICENSE_FILES = LICENSE diff --git a/package/tpm2-tools/Config.in b/package/tpm2-tools/Config.in index 642bd9e462d..1a6698570af 100644 --- a/package/tpm2-tools/Config.in +++ b/package/tpm2-tools/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_TPM2_TOOLS bool "tpm2-tools" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS # tpm2-tss depends on !BR2_STATIC_LIBS # tpm2-tss + depends on BR2_USE_WCHAR + # c16rtomb() not implemented in uClibc + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_TPM2_TSS @@ -19,6 +21,6 @@ config BR2_PACKAGE_TPM2_TOOLS https://github.com/tpm2-software/tpm2-tools -comment "tpm2-tools needs a toolchain w/ dynamic library" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS - depends on BR2_STATIC_LIBS +comment "tpm2-tools needs a glibc or musl toolchain w/ dynamic library, wchar" + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/tpm2-tools/tpm2-tools.hash b/package/tpm2-tools/tpm2-tools.hash index dd55834825d..f50a896363a 100644 --- a/package/tpm2-tools/tpm2-tools.hash +++ b/package/tpm2-tools/tpm2-tools.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 175472b63d1e047c2ad38314d06c36bd734ae37e0c6abfa2a804c0d6eb3f2936 tpm2-tools-4.1.2.tar.gz -sha256 e10dce74279166bf7bc463eb6e462c2025bceb3e50cadfe865d92c1c3dc0bb21 LICENSE +sha256 c0b402f6a7b3456e8eb2445211e2d41c46c7e769e05fe4d8909ff64119f7a630 tpm2-tools-5.2.tar.gz +sha256 f6995d52c8b8e4d2c3bace7fc9c330a77a90d808166fbad4d7ead7e8ba2fc66c doc/LICENSE diff --git a/package/tpm2-tools/tpm2-tools.mk b/package/tpm2-tools/tpm2-tools.mk index 83be53d54be..86753448058 100644 --- a/package/tpm2-tools/tpm2-tools.mk +++ b/package/tpm2-tools/tpm2-tools.mk @@ -4,10 +4,12 @@ # ################################################################################ -TPM2_TOOLS_VERSION = 4.1.2 +TPM2_TOOLS_VERSION = 5.2 TPM2_TOOLS_SITE = https://github.com/tpm2-software/tpm2-tools/releases/download/$(TPM2_TOOLS_VERSION) TPM2_TOOLS_LICENSE = BSD-3-Clause -TPM2_TOOLS_LICENSE_FILES = LICENSE +TPM2_TOOLS_LICENSE_FILES = doc/LICENSE +TPM2_TOOLS_CPE_ID_VENDOR = tpm2-tools_project +TPM2_TOOLS_SELINUX_MODULES = tpm2 TPM2_TOOLS_DEPENDENCIES = libcurl openssl tpm2-tss host-pkgconf # -fstack-protector-all and FORTIFY_SOURCE=2 is used by diff --git a/package/tpm2-totp/Config.in b/package/tpm2-totp/Config.in index 7f274fa1304..dcadf5a5f28 100644 --- a/package/tpm2-totp/Config.in +++ b/package/tpm2-totp/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_TPM2_TOTP bool "tpm2-totp" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS # tpm2-tss depends on !BR2_STATIC_LIBS # tpm2-tss depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # glibc < 2.20 select BR2_PACKAGE_LIBQRENCODE @@ -20,6 +19,5 @@ config BR2_PACKAGE_TPM2_TOTP https://github.com/tpm2-software/tpm2-totp comment "tpm2-totp needs a toolchain w/ dynamic library" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS depends on BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM diff --git a/package/tpm2-totp/tpm2-totp.mk b/package/tpm2-totp/tpm2-totp.mk index 250a016a501..42607c0b735 100644 --- a/package/tpm2-totp/tpm2-totp.mk +++ b/package/tpm2-totp/tpm2-totp.mk @@ -8,6 +8,7 @@ TPM2_TOTP_VERSION = 0.2.1 TPM2_TOTP_SITE = https://github.com/tpm2-software/tpm2-totp/releases/download/v$(TPM2_TOTP_VERSION) TPM2_TOTP_LICENSE = BSD-3-Clause TPM2_TOTP_LICENSE_FILES = LICENSE +TPM2_TOTP_SELINUX_MODULES = tpm2 TPM2_TOTP_DEPENDENCIES = libqrencode tpm2-tss host-pkgconf TPM2_TOTP_CONF_OPTS = \ --disable-defaultflags \ diff --git a/package/tpm2-tss/Config.in b/package/tpm2-tss/Config.in index b1ab00dd38e..857987ae36c 100644 --- a/package/tpm2-tss/Config.in +++ b/package/tpm2-tss/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_TPM2_TSS bool "tpm2-tss" depends on !BR2_STATIC_LIBS # dlfcn.h - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS - select BR2_PACKAGE_LIBURIPARSER select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help @@ -56,5 +54,4 @@ config BR2_PACKAGE_TPM2_TSS_FAPI endif comment "tpm2-tss needs a toolchain w/ dynamic library" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS depends on BR2_STATIC_LIBS diff --git a/package/tpm2-tss/tpm2-tss.hash b/package/tpm2-tss/tpm2-tss.hash index 6856fd4fde2..b6eb3c1f976 100644 --- a/package/tpm2-tss/tpm2-tss.hash +++ b/package/tpm2-tss/tpm2-tss.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 78392be7309baf47f51b122f566ac915fd4d1760ea78571cba2e1484f9b5be17 tpm2-tss-3.0.3.tar.gz +sha256 8900a6603f74310b749b65f23c3461cde6e2a23a5f61058b21004c25f9cf19e8 tpm2-tss-3.1.0.tar.gz sha256 18c1bf4b1ba1fb2c4ffa7398c234d83c0d55475298e470ae1e5e3a8a8bd2e448 LICENSE diff --git a/package/tpm2-tss/tpm2-tss.mk b/package/tpm2-tss/tpm2-tss.mk index bde6b352bfc..060883c377e 100644 --- a/package/tpm2-tss/tpm2-tss.mk +++ b/package/tpm2-tss/tpm2-tss.mk @@ -4,16 +4,33 @@ # ################################################################################ -TPM2_TSS_VERSION = 3.0.3 +TPM2_TSS_VERSION = 3.1.0 TPM2_TSS_SITE = https://github.com/tpm2-software/tpm2-tss/releases/download/$(TPM2_TSS_VERSION) TPM2_TSS_LICENSE = BSD-2-Clause TPM2_TSS_LICENSE_FILES = LICENSE +TPM2_TSS_CPE_ID_VENDOR = tpm2_software_stack_project +TPM2_TSS_CPE_ID_PRODUCT = tpm2_software_stack TPM2_TSS_INSTALL_STAGING = YES -TPM2_TSS_DEPENDENCIES = liburiparser openssl host-pkgconf -TPM2_TSS_CONF_OPTS = --with-crypto=ossl --disable-doxygen-doc --disable-defaultflags +TPM2_TSS_DEPENDENCIES = openssl host-pkgconf + # 0001-configure-Only-use-CXX-when-fuzzing.patch TPM2_TSS_AUTORECONF = YES +# systemd-sysusers and systemd-tmpfiles are only used at install time +# to trigger the creation of users adn tmpfiles, which we do not care +# about at build time. groupadd, useradd, and setfacl are used in the +# fallback path when systemd-sysusers or systemd-tmpfiles are missing +# and their failure is ignored anyway. +TPM2_TSS_CONF_OPTS = \ + ac_cv_prog_result_groupadd=yes \ + ac_cv_prog_result_setfacl=yes \ + ac_cv_prog_systemd_sysusers=no \ + ac_cv_prog_systemd_tmpfiles=no \ + ac_cv_prog_result_useradd=yes \ + --with-crypto=ossl \ + --disable-doxygen-doc \ + --disable-defaultflags + # uses C99 code but forgets to pass -std=c99 when --disable-defaultflags is used TPM2_TSS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99" diff --git a/package/trace-cmd/0001-trace-cmd-libtracecmd-API-cleanup.patch b/package/trace-cmd/0001-trace-cmd-libtracecmd-API-cleanup.patch deleted file mode 100644 index a0dee210209..00000000000 --- a/package/trace-cmd/0001-trace-cmd-libtracecmd-API-cleanup.patch +++ /dev/null @@ -1,1486 +0,0 @@ -From 4b6e124d8b5a0dfd21aedf21d2c347fc5f0705a2 Mon Sep 17 00:00:00 2001 -From: "Tzvetomir Stoyanov (VMware)" -Date: Thu, 12 Nov 2020 13:52:08 +0200 -Subject: [PATCH] trace-cmd: libtracecmd API cleanup - -The tracecmd library is used by trace-cmd and KernelShark applications. -All APIs, that are not used by KernelShark are removed from trace-cmd.h. -This is the first step to cleanup the library APIs and dependencies. - -Link: https://lore.kernel.org/linux-trace-devel/20201112115208.1250789-3-tz.stoyanov@gmail.com - -Signed-off-by: Tzvetomir Stoyanov (VMware) -Signed-off-by: Steven Rostedt (VMware) -[Retrieved from: -https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/commit/?id=4b6e124d8b5a0dfd21aedf21d2c347fc5f0705a2] -Signed-off-by: Fabrice Fontaine ---- - Makefile | 2 +- - include/trace-cmd/trace-cmd.h | 488 +----------------- - include/trace-cmd/trace-filter-hash.h | 64 --- - include/trace-cmd/trace-hash.h | 55 -- - include/trace-cmd/trace-msg.h | 15 - - .../include/private/trace-cmd-private.h | 480 +++++++++++++++++ - .../include/private/trace-filter-hash.h | 64 +++ - lib/trace-cmd/include/private/trace-hash.h | 55 ++ - lib/trace-cmd/include/private/trace-msg.h | 15 + - lib/trace-cmd/include/trace-cmd-local.h | 2 + - lib/trace-cmd/trace-ftrace.c | 2 +- - lib/trace-cmd/trace-hooks.c | 2 +- - lib/trace-cmd/trace-recorder.c | 2 +- - lib/trace-cmd/trace-timesync.c | 2 +- - lib/trace-cmd/trace-util.c | 2 +- - lib/traceevent/plugins/plugin_python_loader.c | 3 +- - python/ctracecmd.i | 1 + - tracecmd/include/trace-local.h | 2 +- - 18 files changed, 637 insertions(+), 619 deletions(-) - delete mode 100644 include/trace-cmd/trace-filter-hash.h - delete mode 100644 include/trace-cmd/trace-hash.h - delete mode 100644 include/trace-cmd/trace-msg.h - create mode 100644 lib/trace-cmd/include/private/trace-cmd-private.h - create mode 100644 lib/trace-cmd/include/private/trace-filter-hash.h - create mode 100644 lib/trace-cmd/include/private/trace-hash.h - create mode 100644 lib/trace-cmd/include/private/trace-msg.h - -diff --git a/Makefile b/Makefile -index b034042..6ef6936 100644 ---- a/Makefile -+++ b/Makefile -@@ -224,6 +224,7 @@ INCLUDES += -I$(src)/include/trace-cmd - INCLUDES += -I$(src)/include/tracefs - INCLUDES += -I$(src)/lib/traceevent/include - INCLUDES += -I$(src)/lib/trace-cmd/include -+INCLUDES += -I$(src)/lib/trace-cmd/include/private - INCLUDES += -I$(src)/lib/tracefs/include - INCLUDES += -I$(src)/tracecmd/include - INCLUDES += -I$(obj)/tracecmd/include -@@ -417,7 +418,6 @@ install_libs: libs - $(Q)$(call do_install,$(src)/include/traceevent/event-parse.h,$(includedir_SQ)/traceevent) - $(Q)$(call do_install,$(src)/include/traceevent/trace-seq.h,$(includedir_SQ)/traceevent) - $(Q)$(call do_install,$(src)/include/trace-cmd/trace-cmd.h,$(includedir_SQ)/trace-cmd) -- $(Q)$(call do_install,$(src)/include/trace-cmd/trace-filter-hash.h,$(includedir_SQ)/trace-cmd) - $(Q)$(call do_install,$(src)/include/tracefs/tracefs.h,$(includedir_SQ)/tracefs) - $(Q)$(call do_install_ld,$(TRACE_LD_FILE),$(LD_SO_CONF_DIR),$(libdir_SQ)/trace-cmd) - $(Q)$(call do_install_ld,$(TRACE_LD_FILE),$(LD_SO_CONF_DIR),$(libdir_SQ)/traceevent) -diff --git a/include/trace-cmd/trace-cmd.h b/include/trace-cmd/trace-cmd.h -index 3c2b474..9751ac3 100644 ---- a/include/trace-cmd/trace-cmd.h -+++ b/include/trace-cmd/trace-cmd.h -@@ -9,497 +9,31 @@ - #include "traceevent/event-parse.h" - #include "tracefs/tracefs.h" - --#define TRACECMD_MAGIC { 23, 8, 68 } -- --#define ARRAY_SIZE(_a) (sizeof(_a) / sizeof((_a)[0])) --#define __weak __attribute__((weak)) --#define __noreturn __attribute__((noreturn)) -- --#define TRACECMD_ERR_MSK ((unsigned long)(-1) & ~((1UL << 14) - 1)) --#define TRACECMD_ISERR(ptr) ((unsigned long)(ptr) > TRACECMD_ERR_MSK) --#define TRACECMD_ERROR(ret) ((void *)((unsigned long)(ret) | TRACECMD_ERR_MSK)) --#define TRACECMD_PTR2ERR(ptr) ((unisgned long)(ptr) & ~TRACECMD_ERR_MSK) -- --void tracecmd_parse_cmdlines(struct tep_handle *pevent, char *file, int size); --void tracecmd_parse_proc_kallsyms(struct tep_handle *pevent, char *file, unsigned int size); --void tracecmd_parse_ftrace_printk(struct tep_handle *pevent, char *file, unsigned int size); --struct tep_plugin_list *trace_load_plugins(struct tep_handle *tep); -- --int *tracecmd_add_id(int *list, int id, int len); -- --enum { -- RINGBUF_TYPE_PADDING = 29, -- RINGBUF_TYPE_TIME_EXTEND = 30, -- RINGBUF_TYPE_TIME_STAMP = 31, --}; -- --void tracecmd_record_ref(struct tep_record *record); --void free_record(struct tep_record *record); -- --void tracecmd_set_debug(bool set_debug); --bool tracecmd_get_debug(void); -- - struct tracecmd_input; --struct tracecmd_output; --struct tracecmd_recorder; --struct hook_list; -- --/* --- tracecmd plugins --- */ -- --extern int tracecmd_disable_sys_plugins; --extern int tracecmd_disable_plugins; -- --enum tracecmd_context { -- TRACECMD_INPUT, -- TRACECMD_OUTPUT, --}; -- --enum tracecmd_plugin_flag { -- TRACECMD_DISABLE_SYS_PLUGINS = 1, -- TRACECMD_DISABLE_PLUGINS = 1 << 1, --}; -- --struct trace_plugin_context; -- --struct trace_plugin_context * --tracecmd_plugin_context_create(enum tracecmd_context context, void *data); -- --void tracecmd_plugin_set_flag(struct trace_plugin_context *context, -- enum tracecmd_plugin_flag flag); -- --#define TRACECMD_PLUGIN_LOADER tracecmd_plugin_loader --#define TRACECMD_PLUGIN_UNLOADER tracecmd_plugin_unloader --#define TRACECMD_PLUGIN_ALIAS tracecmd_plugin_alias --#define _MAKE_STR(x) #x --#define MAKE_STR(x) _MAKE_STR(x) --#define TRACECMD_PLUGIN_LOADER_NAME MAKE_STR(TRACECMD_PLUGIN_LOADER) --#define TRACECMD_PLUGIN_UNLOADER_NAME MAKE_STR(TRACECMD_PLUGIN_UNLOADER) --#define TRACECMD_PLUGIN_ALIAS_NAME MAKE_STR(TRACECMD_PLUGIN_ALIAS) -- --typedef int (*tracecmd_plugin_load_func)(struct trace_plugin_context *trace); --typedef int (*tracecmd_plugin_unload_func)(struct trace_plugin_context *trace); -- --struct tracecmd_input * --tracecmd_plugin_context_input(struct trace_plugin_context *trace_context); --struct tracecmd_output * --tracecmd_plugin_context_output(struct trace_plugin_context *trace_context); -- --void tracecmd_set_quiet(struct tracecmd_output *handle, bool set_quiet); --bool tracecmd_get_quiet(struct tracecmd_output *handle); -- --static inline int tracecmd_host_bigendian(void) --{ -- unsigned char str[] = { 0x1, 0x2, 0x3, 0x4 }; -- unsigned int *ptr; -- -- ptr = (unsigned int *)str; -- return *ptr == 0x01020304; --} -- --/* --- Opening and Reading the trace.dat file --- */ -- --enum { -- TRACECMD_OPTION_DONE, -- TRACECMD_OPTION_DATE, -- TRACECMD_OPTION_CPUSTAT, -- TRACECMD_OPTION_BUFFER, -- TRACECMD_OPTION_TRACECLOCK, -- TRACECMD_OPTION_UNAME, -- TRACECMD_OPTION_HOOK, -- TRACECMD_OPTION_OFFSET, -- TRACECMD_OPTION_CPUCOUNT, -- TRACECMD_OPTION_VERSION, -- TRACECMD_OPTION_PROCMAPS, -- TRACECMD_OPTION_TRACEID, -- TRACECMD_OPTION_TIME_SHIFT, -- TRACECMD_OPTION_GUEST, --}; -- --enum { -- TRACECMD_FL_IGNORE_DATE = (1 << 0), -- TRACECMD_FL_BUFFER_INSTANCE = (1 << 1), -- TRACECMD_FL_LATENCY = (1 << 2), -- TRACECMD_FL_IN_USECS = (1 << 3), -- TRACECMD_FL_FLYRECORD = (1 << 4), --}; -- --struct tracecmd_ftrace { -- struct tracecmd_input *handle; -- struct tep_event *fgraph_ret_event; -- int fgraph_ret_id; -- int long_size; --}; -- --struct tracecmd_proc_addr_map { -- unsigned long long start; -- unsigned long long end; -- char *lib_name; --}; -- --typedef void (*tracecmd_show_data_func)(struct tracecmd_input *handle, -- struct tep_record *record); --typedef void (*tracecmd_handle_init_func)(struct tracecmd_input *handle, -- struct hook_list *hook, int global); - --struct tracecmd_input *tracecmd_alloc(const char *file); --struct tracecmd_input *tracecmd_alloc_fd(int fd); --struct tracecmd_input *tracecmd_open(const char *file); - struct tracecmd_input *tracecmd_open_head(const char *file); --struct tracecmd_input *tracecmd_open_fd(int fd); -+void tracecmd_close(struct tracecmd_input *handle); - int tracecmd_pair_peer(struct tracecmd_input *handle, - struct tracecmd_input *peer); --void tracecmd_unpair_peer(struct tracecmd_input *handle); --void tracecmd_ref(struct tracecmd_input *handle); --void tracecmd_close(struct tracecmd_input *handle); --int tracecmd_read_headers(struct tracecmd_input *handle); --int tracecmd_get_parsing_failures(struct tracecmd_input *handle); --int tracecmd_long_size(struct tracecmd_input *handle); --int tracecmd_page_size(struct tracecmd_input *handle); --int tracecmd_cpus(struct tracecmd_input *handle); --int tracecmd_copy_headers(struct tracecmd_input *handle, int fd); --void tracecmd_set_flag(struct tracecmd_input *handle, int flag); --void tracecmd_clear_flag(struct tracecmd_input *handle, int flag); --unsigned long tracecmd_get_flags(struct tracecmd_input *handle); --unsigned long long tracecmd_get_traceid(struct tracecmd_input *handle); --int tracecmd_get_guest_cpumap(struct tracecmd_input *handle, -- unsigned long long trace_id, -- const char **name, -- int *vcpu_count, const int **cpu_pid); --unsigned long long tracecmd_get_tsync_peer(struct tracecmd_input *handle); --int tracecmd_enable_tsync(struct tracecmd_input *handle, bool enable); -- --void tracecmd_parse_trace_clock(struct tracecmd_input *handle, char *file, int size); -- --int tracecmd_make_pipe(struct tracecmd_input *handle, int cpu, int fd, int cpus); -- --int tracecmd_buffer_instances(struct tracecmd_input *handle); --const char *tracecmd_buffer_instance_name(struct tracecmd_input *handle, int indx); --struct tracecmd_input *tracecmd_buffer_instance_handle(struct tracecmd_input *handle, int indx); --int tracecmd_is_buffer_instance(struct tracecmd_input *handle); -- --void tracecmd_set_ts_offset(struct tracecmd_input *handle, long long offset); --void tracecmd_set_ts2secs(struct tracecmd_input *handle, unsigned long long hz); -- --void tracecmd_print_events(struct tracecmd_input *handle, const char *regex); -- --struct hook_list *tracecmd_hooks(struct tracecmd_input *handle); - - int tracecmd_init_data(struct tracecmd_input *handle); -- --void tracecmd_print_stats(struct tracecmd_input *handle); --void tracecmd_print_uname(struct tracecmd_input *handle); --void tracecmd_print_version(struct tracecmd_input *handle); -- - struct tep_record * --tracecmd_peek_data(struct tracecmd_input *handle, int cpu); -- --static inline struct tep_record * --tracecmd_peek_data_ref(struct tracecmd_input *handle, int cpu) --{ -- struct tep_record *rec = tracecmd_peek_data(handle, cpu); -- if (rec) -- rec->ref_count++; -- return rec; --} -- -+tracecmd_read_cpu_first(struct tracecmd_input *handle, int cpu); - struct tep_record * - tracecmd_read_data(struct tracecmd_input *handle, int cpu); -- --struct tep_record * --tracecmd_read_prev(struct tracecmd_input *handle, struct tep_record *record); -- --struct tep_record * --tracecmd_read_next_data(struct tracecmd_input *handle, int *rec_cpu); -- --struct tep_record * --tracecmd_peek_next_data(struct tracecmd_input *handle, int *rec_cpu); -- - struct tep_record * - tracecmd_read_at(struct tracecmd_input *handle, unsigned long long offset, - int *cpu); --struct tep_record * --tracecmd_translate_data(struct tracecmd_input *handle, -- void *ptr, int size); --struct tep_record * --tracecmd_read_cpu_first(struct tracecmd_input *handle, int cpu); --struct tep_record * --tracecmd_read_cpu_last(struct tracecmd_input *handle, int cpu); --int tracecmd_refresh_record(struct tracecmd_input *handle, -- struct tep_record *record); -- --int tracecmd_set_cpu_to_timestamp(struct tracecmd_input *handle, -- int cpu, unsigned long long ts); --void --tracecmd_set_all_cpus_to_timestamp(struct tracecmd_input *handle, -- unsigned long long time); -- --int tracecmd_set_cursor(struct tracecmd_input *handle, -- int cpu, unsigned long long offset); --unsigned long long --tracecmd_get_cursor(struct tracecmd_input *handle, int cpu); -+void free_record(struct tep_record *record); - --int tracecmd_ftrace_overrides(struct tracecmd_input *handle, struct tracecmd_ftrace *finfo); - struct tep_handle *tracecmd_get_pevent(struct tracecmd_input *handle); --bool tracecmd_get_use_trace_clock(struct tracecmd_input *handle); --tracecmd_show_data_func --tracecmd_get_show_data_func(struct tracecmd_input *handle); --void tracecmd_set_show_data_func(struct tracecmd_input *handle, -- tracecmd_show_data_func func); -- --int tracecmd_record_at_buffer_start(struct tracecmd_input *handle, struct tep_record *record); --unsigned long long tracecmd_page_ts(struct tracecmd_input *handle, -- struct tep_record *record); --unsigned int tracecmd_record_ts_delta(struct tracecmd_input *handle, -- struct tep_record *record); -- --struct tracecmd_proc_addr_map * --tracecmd_search_task_map(struct tracecmd_input *handle, -- int pid, unsigned long long addr); --#ifndef SWIG --/* hack for function graph work around */ --extern __thread struct tracecmd_input *tracecmd_curr_thread_handle; --#endif -- -- --/* --- Creating and Writing the trace.dat file --- */ -- --struct tracecmd_event_list { -- struct tracecmd_event_list *next; -- const char *glob; --}; -- --struct tracecmd_option; --struct tracecmd_msg_handle; -- --struct tracecmd_output *tracecmd_create_file_latency(const char *output_file, int cpus); --struct tracecmd_output *tracecmd_create_file(const char *output_file, -- int cpus, char * const *cpu_data_files); --struct tracecmd_output * --tracecmd_create_file_glob(const char *output_file, -- int cpus, char * const *cpu_data_files, -- struct tracecmd_event_list *event_globs); --struct tracecmd_output * --tracecmd_create_init_file_glob(const char *output_file, -- struct tracecmd_event_list *list); --struct tracecmd_output *tracecmd_create_init_fd(int fd); --struct tracecmd_output * --tracecmd_create_init_fd_glob(int fd, struct tracecmd_event_list *list); --struct tracecmd_output * --tracecmd_create_init_fd_msg(struct tracecmd_msg_handle *msg_handle, -- struct tracecmd_event_list *list); --struct tracecmd_output *tracecmd_create_init_file(const char *output_file); --struct tracecmd_output *tracecmd_create_init_file_override(const char *output_file, -- const char *tracing_dir, -- const char *kallsyms); --struct tracecmd_option *tracecmd_add_option(struct tracecmd_output *handle, -- unsigned short id, int size, -- const void *data); --struct tracecmd_option * --tracecmd_add_option_v(struct tracecmd_output *handle, -- unsigned short id, const struct iovec *vector, int count); -- --struct tracecmd_option *tracecmd_add_buffer_option(struct tracecmd_output *handle, -- const char *name, int cpus); -- --int tracecmd_write_cpus(struct tracecmd_output *handle, int cpus); --int tracecmd_write_options(struct tracecmd_output *handle); --int tracecmd_append_options(struct tracecmd_output *handle); --int tracecmd_update_option(struct tracecmd_output *handle, -- struct tracecmd_option *option, int size, -- const void *data); --void tracecmd_output_close(struct tracecmd_output *handle); --void tracecmd_output_free(struct tracecmd_output *handle); --struct tracecmd_output *tracecmd_copy(struct tracecmd_input *ihandle, -- const char *file); -- --int tracecmd_write_cpu_data(struct tracecmd_output *handle, -- int cpus, char * const *cpu_data_files); --int tracecmd_append_cpu_data(struct tracecmd_output *handle, -- int cpus, char * const *cpu_data_files); --int tracecmd_append_buffer_cpu_data(struct tracecmd_output *handle, -- struct tracecmd_option *option, -- int cpus, char * const *cpu_data_files); -- --struct tracecmd_output *tracecmd_get_output_handle_fd(int fd); -- --/* --- Reading the Fly Recorder Trace --- */ -- --enum { -- TRACECMD_RECORD_NOSPLICE = (1 << 0), /* Use read instead of splice */ -- TRACECMD_RECORD_SNAPSHOT = (1 << 1), /* Extract from snapshot */ -- TRACECMD_RECORD_BLOCK = (1 << 2), /* Block on splice write */ -- TRACECMD_RECORD_NOBRASS = (1 << 3), /* Splice directly without a brass pipe */ --}; -- --void tracecmd_free_recorder(struct tracecmd_recorder *recorder); --struct tracecmd_recorder *tracecmd_create_recorder(const char *file, int cpu, unsigned flags); --struct tracecmd_recorder *tracecmd_create_recorder_fd(int fd, int cpu, unsigned flags); --struct tracecmd_recorder *tracecmd_create_recorder_virt(const char *file, int cpu, unsigned flags, int trace_fd); --struct tracecmd_recorder *tracecmd_create_recorder_maxkb(const char *file, int cpu, unsigned flags, int maxkb); --struct tracecmd_recorder *tracecmd_create_buffer_recorder_fd(int fd, int cpu, unsigned flags, const char *buffer); --struct tracecmd_recorder *tracecmd_create_buffer_recorder(const char *file, int cpu, unsigned flags, const char *buffer); --struct tracecmd_recorder *tracecmd_create_buffer_recorder_maxkb(const char *file, int cpu, unsigned flags, const char *buffer, int maxkb); -- --int tracecmd_start_recording(struct tracecmd_recorder *recorder, unsigned long sleep); --void tracecmd_stop_recording(struct tracecmd_recorder *recorder); --long tracecmd_flush_recording(struct tracecmd_recorder *recorder); -- --enum tracecmd_msg_flags { -- TRACECMD_MSG_FL_USE_TCP = 1 << 0, --}; -- --/* for both client and server */ --struct tracecmd_msg_handle { -- int fd; -- short cpu_count; -- short version; /* Current protocol version */ -- unsigned long flags; -- bool done; --}; -- --struct tracecmd_msg_handle * -- tracecmd_msg_handle_alloc(int fd, unsigned long flags); -- --/* Closes the socket and frees the handle */ --void tracecmd_msg_handle_close(struct tracecmd_msg_handle *msg_handle); -- --/* for clients */ --int tracecmd_msg_send_init_data(struct tracecmd_msg_handle *msg_handle, -- unsigned int **client_ports); --int tracecmd_msg_data_send(struct tracecmd_msg_handle *msg_handle, -- const char *buf, int size); --int tracecmd_msg_finish_sending_data(struct tracecmd_msg_handle *msg_handle); --int tracecmd_msg_send_close_msg(struct tracecmd_msg_handle *msg_handle); --int tracecmd_msg_send_close_resp_msg(struct tracecmd_msg_handle *msg_handle); --int tracecmd_msg_wait_close(struct tracecmd_msg_handle *msg_handle); --int tracecmd_msg_wait_close_resp(struct tracecmd_msg_handle *msg_handle); -- --/* for server */ --int tracecmd_msg_initial_setting(struct tracecmd_msg_handle *msg_handle); --int tracecmd_msg_send_port_array(struct tracecmd_msg_handle *msg_handle, -- unsigned *ports); --int tracecmd_msg_read_data(struct tracecmd_msg_handle *msg_handle, int ofd); --int tracecmd_msg_collect_data(struct tracecmd_msg_handle *msg_handle, int ofd); --bool tracecmd_msg_done(struct tracecmd_msg_handle *msg_handle); --void tracecmd_msg_set_done(struct tracecmd_msg_handle *msg_handle); -- --int tracecmd_msg_send_trace_req(struct tracecmd_msg_handle *msg_handle, -- int argc, char **argv, bool use_fifos, -- unsigned long long trace_id, -- char *tsync_protos, -- int tsync_protos_size); --int tracecmd_msg_recv_trace_req(struct tracecmd_msg_handle *msg_handle, -- int *argc, char ***argv, bool *use_fifos, -- unsigned long long *trace_id, -- char **tsync_protos, -- unsigned int *tsync_protos_size); -- --int tracecmd_msg_send_trace_resp(struct tracecmd_msg_handle *msg_handle, -- int nr_cpus, int page_size, -- unsigned int *ports, bool use_fifos, -- unsigned long long trace_id, -- unsigned int tsync_proto, -- unsigned int tsync_port); --int tracecmd_msg_recv_trace_resp(struct tracecmd_msg_handle *msg_handle, -- int *nr_cpus, int *page_size, -- unsigned int **ports, bool *use_fifos, -- unsigned long long *trace_id, -- unsigned int *tsync_proto, -- unsigned int *tsync_port); -- --int tracecmd_msg_send_time_sync(struct tracecmd_msg_handle *msg_handle, -- unsigned int sync_protocol, -- unsigned int sync_msg_id, -- unsigned int payload_size, char *payload); --int tracecmd_msg_recv_time_sync(struct tracecmd_msg_handle *msg_handle, -- unsigned int *sync_protocol, -- unsigned int *sync_msg_id, -- unsigned int *payload_size, char **payload); -- --/* --- Timestamp synchronization --- */ -- --enum{ -- TRACECMD_TIME_SYNC_PROTO_NONE = 0, --}; --enum{ -- TRACECMD_TIME_SYNC_CMD_PROBE = 1, -- TRACECMD_TIME_SYNC_CMD_STOP = 2, --}; -- --#define TRACECMD_TIME_SYNC_PROTO_PTP_WEIGHT 10 -- --struct tracecmd_time_sync { -- unsigned int sync_proto; -- int loop_interval; -- pthread_mutex_t lock; -- pthread_cond_t cond; -- char *clock_str; -- struct tracecmd_msg_handle *msg_handle; -- void *context; --}; -- --void tracecmd_tsync_init(void); --int tracecmd_tsync_proto_getall(char **proto_mask, int *words); --unsigned int tracecmd_tsync_proto_select(char *proto_mask, int words); --bool tsync_proto_is_supported(unsigned int proto_id); --void tracecmd_tsync_with_host(struct tracecmd_time_sync *tsync); --void tracecmd_tsync_with_guest(struct tracecmd_time_sync *tsync); --int tracecmd_tsync_get_offsets(struct tracecmd_time_sync *tsync, -- int *count, -- long long **ts, long long **offsets); --void tracecmd_tsync_free(struct tracecmd_time_sync *tsync); -- --/* --- Plugin handling --- */ --extern struct tep_plugin_option trace_ftrace_options[]; -- --char **trace_util_find_plugin_files(const char *suffix); --void trace_util_free_plugin_files(char **files); -- --/* Used for trace-cmd list */ --void tracecmd_ftrace_load_options(void); -- --/* event hooks */ -- --struct hook_list { -- struct hook_list *next; -- struct buffer_instance *instance; -- const char *hook; -- char *str; -- char *start_system; -- char *start_event; -- char *start_match; -- char *end_system; -- char *end_event; -- char *end_match; -- char *pid; -- int migrate; -- int global; -- int stack; --}; -- --struct hook_list *tracecmd_create_event_hook(const char *arg); --void tracecmd_free_hooks(struct hook_list *hooks); -- --void tracecmd_plog(const char *fmt, ...); --void tracecmd_plog_error(const char *fmt, ...); --int tracecmd_set_logfile(char *logfile); -- --/* --- System --- */ --unsigned long long tracecmd_generate_traceid(void); --int tracecmd_count_cpus(void); -- --/* --- Hack! --- */ --int tracecmd_blk_hack(struct tracecmd_input *handle); -- --/* --- Stack tracer functions --- */ --int tracecmd_stack_tracer_status(int *status); -- --/* --- Debugging --- */ --struct kbuffer *tracecmd_record_kbuf(struct tracecmd_input *handle, -- struct tep_record *record); --void *tracecmd_record_page(struct tracecmd_input *handle, -- struct tep_record *record); --void *tracecmd_record_offset(struct tracecmd_input *handle, -- struct tep_record *record); -+unsigned long long tracecmd_get_traceid(struct tracecmd_input *handle); -+int tracecmd_get_guest_cpumap(struct tracecmd_input *handle, -+ unsigned long long trace_id, -+ const char **name, -+ int *vcpu_count, const int **cpu_pid); -+int tracecmd_buffer_instances(struct tracecmd_input *handle); -+const char *tracecmd_buffer_instance_name(struct tracecmd_input *handle, int indx); -+struct tracecmd_input *tracecmd_buffer_instance_handle(struct tracecmd_input *handle, int indx); - - #endif /* _TRACE_CMD_H */ -diff --git a/include/trace-cmd/trace-filter-hash.h b/include/trace-cmd/trace-filter-hash.h -deleted file mode 100644 -index 4111c41..0000000 ---- a/include/trace-cmd/trace-filter-hash.h -+++ /dev/null -@@ -1,64 +0,0 @@ --/* SPDX-License-Identifier: LGPL-2.1 */ --/* -- * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt -- * Copyright (C) 2018 VMware Inc, Steven Rostedt -- * -- */ --#ifndef _TRACE_FILTER_HASH_H --#define _TRACE_FILTER_HASH_H -- --#include -- --struct tracecmd_filter_id_item { -- struct tracecmd_filter_id_item *next; -- int id; --}; -- --struct tracecmd_filter_id { -- struct tracecmd_filter_id_item **hash; -- int count; --}; -- --/** -- * tracecmd_quick_hash - A quick (non secured) hash alogirthm -- * @val: The value to perform the hash on -- * @bits: The size in bits you need to return -- * -- * This is a quick hashing function adapted from Donald E. Knuth's 32 -- * bit multiplicative hash. See The Art of Computer Programming (TAOCP). -- * Multiplication by the Prime number, closest to the golden ratio of -- * 2^32. -- * -- * @bits is used to max the result for use cases that require -- * a power of 2 return value that is less than 32 bits. Any value -- * of @bits greater than 31 (or zero), will simply return the full hash on @val. -- */ --static inline uint32_t tracecmd_quick_hash(uint32_t val, unsigned int bits) --{ -- val *= UINT32_C(2654435761); -- -- if (!bits || bits > 31) -- return val; -- -- return val & ((1 << bits) - 1); --} -- --struct tracecmd_filter_id_item * -- tracecmd_filter_id_find(struct tracecmd_filter_id *hash, int id); --void tracecmd_filter_id_add(struct tracecmd_filter_id *hash, int id); --void tracecmd_filter_id_remove(struct tracecmd_filter_id *hash, int id); --void tracecmd_filter_id_clear(struct tracecmd_filter_id *hash); --struct tracecmd_filter_id *tracecmd_filter_id_hash_alloc(void); --void tracecmd_filter_id_hash_free(struct tracecmd_filter_id *hash); --struct tracecmd_filter_id * -- tracecmd_filter_id_hash_copy(struct tracecmd_filter_id *hash); --int *tracecmd_filter_ids(struct tracecmd_filter_id *hash); --int tracecmd_filter_id_compare(struct tracecmd_filter_id *hash1, -- struct tracecmd_filter_id *hash2); -- --static inline int tracecmd_filter_task_count(struct tracecmd_filter_id *hash) --{ -- return hash->count; --} -- --#endif /* _TRACE_FILTER_HASH_H */ -diff --git a/include/trace-cmd/trace-hash.h b/include/trace-cmd/trace-hash.h -deleted file mode 100644 -index aa92cdf..0000000 ---- a/include/trace-cmd/trace-hash.h -+++ /dev/null -@@ -1,55 +0,0 @@ --/* SPDX-License-Identifier: GPL-2.0 */ --/* -- * Copyright (C) 2014 Red Hat Inc, Steven Rostedt -- * -- */ --#ifndef _TRACE_HASH_H --#define _TRACE_HASH_H -- --struct trace_hash_item { -- struct trace_hash_item *next; -- struct trace_hash_item *prev; -- unsigned long long key; --}; -- --struct trace_hash { -- struct trace_hash_item **buckets; -- int nr_buckets; -- int power; --}; -- --int trace_hash_init(struct trace_hash *hash, int buckets); --void trace_hash_free(struct trace_hash *hash); --int trace_hash_add(struct trace_hash *hash, struct trace_hash_item *item); --int trace_hash_empty(struct trace_hash *hash); -- --static inline void trace_hash_del(struct trace_hash_item *item) --{ -- struct trace_hash_item *prev = item->prev; -- -- prev->next = item->next; -- if (item->next) -- item->next->prev = prev; --} -- --#define trace_hash_for_each_bucket(bucket, hash) \ -- for (bucket = (hash)->buckets; \ -- (bucket) < (hash)->buckets + (hash)->nr_buckets; (bucket)++) -- --#define trace_hash_for_each_item(item, bucket) \ -- for ((item = *(bucket)); item; item = (item)->next) -- --#define trace_hash_for_each_item_safe(item, n, bucket) \ -- for ((item = *(bucket)), n = item ? item->next : NULL; item; \ -- item = n, n = item ? (item)->next : NULL) -- --#define trace_hash_while_item(item, bucket) \ -- while ((item = *(bucket))) -- --typedef int (*trace_hash_func)(struct trace_hash_item *item, void *data); -- --struct trace_hash_item * --trace_hash_find(struct trace_hash *hash, unsigned long long key, -- trace_hash_func match, void *data); -- --#endif /* _TRACE_HASH_H */ -diff --git a/include/trace-cmd/trace-msg.h b/include/trace-cmd/trace-msg.h -deleted file mode 100644 -index aab8a69..0000000 ---- a/include/trace-cmd/trace-msg.h -+++ /dev/null -@@ -1,15 +0,0 @@ --#ifndef _TRACE_MSG_H_ --#define _TRACE_MSG_H_ -- --#include -- --#define UDP_MAX_PACKET (65536 - 20) --#define V3_MAGIC "766679\0" --#define V3_CPU "-1V3" -- --#define V1_PROTOCOL 1 --#define V3_PROTOCOL 3 -- --extern unsigned int page_size; -- --#endif /* _TRACE_MSG_H_ */ -diff --git a/lib/trace-cmd/include/private/trace-cmd-private.h b/lib/trace-cmd/include/private/trace-cmd-private.h -new file mode 100644 -index 0000000..458760e ---- /dev/null -+++ b/lib/trace-cmd/include/private/trace-cmd-private.h -@@ -0,0 +1,480 @@ -+/* SPDX-License-Identifier: LGPL-2.1 */ -+/* -+ * Copyright (C) 2008, 2009, 2010 Red Hat Inc, Steven Rostedt -+ * -+ */ -+#ifndef _TRACE_CMD_PRIVATE_H -+#define _TRACE_CMD_PRIVATE_H -+ -+#include "traceevent/event-parse.h" -+#include "trace-cmd/trace-cmd.h" -+ -+#define TRACECMD_MAGIC { 23, 8, 68 } -+ -+#define ARRAY_SIZE(_a) (sizeof(_a) / sizeof((_a)[0])) -+#define __weak __attribute__((weak)) -+#define __noreturn __attribute__((noreturn)) -+ -+#define TRACECMD_ERR_MSK ((unsigned long)(-1) & ~((1UL << 14) - 1)) -+#define TRACECMD_ISERR(ptr) ((unsigned long)(ptr) > TRACECMD_ERR_MSK) -+#define TRACECMD_ERROR(ret) ((void *)((unsigned long)(ret) | TRACECMD_ERR_MSK)) -+#define TRACECMD_PTR2ERR(ptr) ((unisgned long)(ptr) & ~TRACECMD_ERR_MSK) -+ -+void tracecmd_parse_cmdlines(struct tep_handle *pevent, char *file, int size); -+void tracecmd_parse_proc_kallsyms(struct tep_handle *pevent, char *file, unsigned int size); -+void tracecmd_parse_ftrace_printk(struct tep_handle *pevent, char *file, unsigned int size); -+struct tep_plugin_list *trace_load_plugins(struct tep_handle *tep); -+ -+int *tracecmd_add_id(int *list, int id, int len); -+ -+enum { -+ RINGBUF_TYPE_PADDING = 29, -+ RINGBUF_TYPE_TIME_EXTEND = 30, -+ RINGBUF_TYPE_TIME_STAMP = 31, -+}; -+ -+void tracecmd_record_ref(struct tep_record *record); -+ -+void tracecmd_set_debug(bool set_debug); -+bool tracecmd_get_debug(void); -+ -+struct tracecmd_output; -+struct tracecmd_recorder; -+struct hook_list; -+ -+/* --- tracecmd plugins --- */ -+ -+extern int tracecmd_disable_sys_plugins; -+extern int tracecmd_disable_plugins; -+ -+enum tracecmd_context { -+ TRACECMD_INPUT, -+ TRACECMD_OUTPUT, -+}; -+ -+enum tracecmd_plugin_flag { -+ TRACECMD_DISABLE_SYS_PLUGINS = 1, -+ TRACECMD_DISABLE_PLUGINS = 1 << 1, -+}; -+ -+struct trace_plugin_context; -+ -+struct trace_plugin_context * -+tracecmd_plugin_context_create(enum tracecmd_context context, void *data); -+ -+void tracecmd_plugin_set_flag(struct trace_plugin_context *context, -+ enum tracecmd_plugin_flag flag); -+ -+#define TRACECMD_PLUGIN_LOADER tracecmd_plugin_loader -+#define TRACECMD_PLUGIN_UNLOADER tracecmd_plugin_unloader -+#define TRACECMD_PLUGIN_ALIAS tracecmd_plugin_alias -+#define _MAKE_STR(x) #x -+#define MAKE_STR(x) _MAKE_STR(x) -+#define TRACECMD_PLUGIN_LOADER_NAME MAKE_STR(TRACECMD_PLUGIN_LOADER) -+#define TRACECMD_PLUGIN_UNLOADER_NAME MAKE_STR(TRACECMD_PLUGIN_UNLOADER) -+#define TRACECMD_PLUGIN_ALIAS_NAME MAKE_STR(TRACECMD_PLUGIN_ALIAS) -+ -+typedef int (*tracecmd_plugin_load_func)(struct trace_plugin_context *trace); -+typedef int (*tracecmd_plugin_unload_func)(struct trace_plugin_context *trace); -+ -+struct tracecmd_input * -+tracecmd_plugin_context_input(struct trace_plugin_context *trace_context); -+struct tracecmd_output * -+tracecmd_plugin_context_output(struct trace_plugin_context *trace_context); -+ -+void tracecmd_set_quiet(struct tracecmd_output *handle, bool set_quiet); -+bool tracecmd_get_quiet(struct tracecmd_output *handle); -+ -+static inline int tracecmd_host_bigendian(void) -+{ -+ unsigned char str[] = { 0x1, 0x2, 0x3, 0x4 }; -+ unsigned int *ptr; -+ -+ ptr = (unsigned int *)str; -+ return *ptr == 0x01020304; -+} -+ -+/* --- Opening and Reading the trace.dat file --- */ -+ -+enum { -+ TRACECMD_OPTION_DONE, -+ TRACECMD_OPTION_DATE, -+ TRACECMD_OPTION_CPUSTAT, -+ TRACECMD_OPTION_BUFFER, -+ TRACECMD_OPTION_TRACECLOCK, -+ TRACECMD_OPTION_UNAME, -+ TRACECMD_OPTION_HOOK, -+ TRACECMD_OPTION_OFFSET, -+ TRACECMD_OPTION_CPUCOUNT, -+ TRACECMD_OPTION_VERSION, -+ TRACECMD_OPTION_PROCMAPS, -+ TRACECMD_OPTION_TRACEID, -+ TRACECMD_OPTION_TIME_SHIFT, -+ TRACECMD_OPTION_GUEST, -+}; -+ -+enum { -+ TRACECMD_FL_IGNORE_DATE = (1 << 0), -+ TRACECMD_FL_BUFFER_INSTANCE = (1 << 1), -+ TRACECMD_FL_LATENCY = (1 << 2), -+ TRACECMD_FL_IN_USECS = (1 << 3), -+ TRACECMD_FL_FLYRECORD = (1 << 4), -+}; -+ -+struct tracecmd_ftrace { -+ struct tracecmd_input *handle; -+ struct tep_event *fgraph_ret_event; -+ int fgraph_ret_id; -+ int long_size; -+}; -+ -+struct tracecmd_proc_addr_map { -+ unsigned long long start; -+ unsigned long long end; -+ char *lib_name; -+}; -+ -+typedef void (*tracecmd_show_data_func)(struct tracecmd_input *handle, -+ struct tep_record *record); -+typedef void (*tracecmd_handle_init_func)(struct tracecmd_input *handle, -+ struct hook_list *hook, int global); -+ -+struct tracecmd_input *tracecmd_alloc(const char *file); -+struct tracecmd_input *tracecmd_alloc_fd(int fd); -+struct tracecmd_input *tracecmd_open(const char *file); -+struct tracecmd_input *tracecmd_open_fd(int fd); -+void tracecmd_unpair_peer(struct tracecmd_input *handle); -+void tracecmd_ref(struct tracecmd_input *handle); -+int tracecmd_read_headers(struct tracecmd_input *handle); -+int tracecmd_get_parsing_failures(struct tracecmd_input *handle); -+int tracecmd_long_size(struct tracecmd_input *handle); -+int tracecmd_page_size(struct tracecmd_input *handle); -+int tracecmd_cpus(struct tracecmd_input *handle); -+int tracecmd_copy_headers(struct tracecmd_input *handle, int fd); -+void tracecmd_set_flag(struct tracecmd_input *handle, int flag); -+void tracecmd_clear_flag(struct tracecmd_input *handle, int flag); -+unsigned long tracecmd_get_flags(struct tracecmd_input *handle); -+unsigned long long tracecmd_get_tsync_peer(struct tracecmd_input *handle); -+int tracecmd_enable_tsync(struct tracecmd_input *handle, bool enable); -+ -+void tracecmd_parse_trace_clock(struct tracecmd_input *handle, char *file, int size); -+ -+int tracecmd_make_pipe(struct tracecmd_input *handle, int cpu, int fd, int cpus); -+ -+int tracecmd_is_buffer_instance(struct tracecmd_input *handle); -+ -+void tracecmd_set_ts_offset(struct tracecmd_input *handle, long long offset); -+void tracecmd_set_ts2secs(struct tracecmd_input *handle, unsigned long long hz); -+ -+void tracecmd_print_events(struct tracecmd_input *handle, const char *regex); -+ -+struct hook_list *tracecmd_hooks(struct tracecmd_input *handle); -+ -+void tracecmd_print_stats(struct tracecmd_input *handle); -+void tracecmd_print_uname(struct tracecmd_input *handle); -+void tracecmd_print_version(struct tracecmd_input *handle); -+ -+struct tep_record * -+tracecmd_peek_data(struct tracecmd_input *handle, int cpu); -+ -+static inline struct tep_record * -+tracecmd_peek_data_ref(struct tracecmd_input *handle, int cpu) -+{ -+ struct tep_record *rec = tracecmd_peek_data(handle, cpu); -+ if (rec) -+ rec->ref_count++; -+ return rec; -+} -+ -+struct tep_record * -+tracecmd_read_prev(struct tracecmd_input *handle, struct tep_record *record); -+ -+struct tep_record * -+tracecmd_read_next_data(struct tracecmd_input *handle, int *rec_cpu); -+ -+struct tep_record * -+tracecmd_peek_next_data(struct tracecmd_input *handle, int *rec_cpu); -+ -+struct tep_record * -+tracecmd_translate_data(struct tracecmd_input *handle, -+ void *ptr, int size); -+struct tep_record * -+tracecmd_read_cpu_last(struct tracecmd_input *handle, int cpu); -+int tracecmd_refresh_record(struct tracecmd_input *handle, -+ struct tep_record *record); -+ -+int tracecmd_set_cpu_to_timestamp(struct tracecmd_input *handle, -+ int cpu, unsigned long long ts); -+void -+tracecmd_set_all_cpus_to_timestamp(struct tracecmd_input *handle, -+ unsigned long long time); -+ -+int tracecmd_set_cursor(struct tracecmd_input *handle, -+ int cpu, unsigned long long offset); -+unsigned long long -+tracecmd_get_cursor(struct tracecmd_input *handle, int cpu); -+ -+int tracecmd_ftrace_overrides(struct tracecmd_input *handle, struct tracecmd_ftrace *finfo); -+bool tracecmd_get_use_trace_clock(struct tracecmd_input *handle); -+tracecmd_show_data_func -+tracecmd_get_show_data_func(struct tracecmd_input *handle); -+void tracecmd_set_show_data_func(struct tracecmd_input *handle, -+ tracecmd_show_data_func func); -+ -+int tracecmd_record_at_buffer_start(struct tracecmd_input *handle, struct tep_record *record); -+unsigned long long tracecmd_page_ts(struct tracecmd_input *handle, -+ struct tep_record *record); -+unsigned int tracecmd_record_ts_delta(struct tracecmd_input *handle, -+ struct tep_record *record); -+ -+struct tracecmd_proc_addr_map * -+tracecmd_search_task_map(struct tracecmd_input *handle, -+ int pid, unsigned long long addr); -+#ifndef SWIG -+/* hack for function graph work around */ -+extern __thread struct tracecmd_input *tracecmd_curr_thread_handle; -+#endif -+ -+ -+/* --- Creating and Writing the trace.dat file --- */ -+ -+struct tracecmd_event_list { -+ struct tracecmd_event_list *next; -+ const char *glob; -+}; -+ -+struct tracecmd_option; -+struct tracecmd_msg_handle; -+ -+struct tracecmd_output *tracecmd_create_file_latency(const char *output_file, int cpus); -+struct tracecmd_output *tracecmd_create_file(const char *output_file, -+ int cpus, char * const *cpu_data_files); -+struct tracecmd_output * -+tracecmd_create_file_glob(const char *output_file, -+ int cpus, char * const *cpu_data_files, -+ struct tracecmd_event_list *event_globs); -+struct tracecmd_output * -+tracecmd_create_init_file_glob(const char *output_file, -+ struct tracecmd_event_list *list); -+struct tracecmd_output *tracecmd_create_init_fd(int fd); -+struct tracecmd_output * -+tracecmd_create_init_fd_glob(int fd, struct tracecmd_event_list *list); -+struct tracecmd_output * -+tracecmd_create_init_fd_msg(struct tracecmd_msg_handle *msg_handle, -+ struct tracecmd_event_list *list); -+struct tracecmd_output *tracecmd_create_init_file(const char *output_file); -+struct tracecmd_output *tracecmd_create_init_file_override(const char *output_file, -+ const char *tracing_dir, -+ const char *kallsyms); -+struct tracecmd_option *tracecmd_add_option(struct tracecmd_output *handle, -+ unsigned short id, int size, -+ const void *data); -+struct tracecmd_option * -+tracecmd_add_option_v(struct tracecmd_output *handle, -+ unsigned short id, const struct iovec *vector, int count); -+ -+struct tracecmd_option *tracecmd_add_buffer_option(struct tracecmd_output *handle, -+ const char *name, int cpus); -+ -+int tracecmd_write_cpus(struct tracecmd_output *handle, int cpus); -+int tracecmd_write_options(struct tracecmd_output *handle); -+int tracecmd_append_options(struct tracecmd_output *handle); -+int tracecmd_update_option(struct tracecmd_output *handle, -+ struct tracecmd_option *option, int size, -+ const void *data); -+void tracecmd_output_close(struct tracecmd_output *handle); -+void tracecmd_output_free(struct tracecmd_output *handle); -+struct tracecmd_output *tracecmd_copy(struct tracecmd_input *ihandle, -+ const char *file); -+ -+int tracecmd_write_cpu_data(struct tracecmd_output *handle, -+ int cpus, char * const *cpu_data_files); -+int tracecmd_append_cpu_data(struct tracecmd_output *handle, -+ int cpus, char * const *cpu_data_files); -+int tracecmd_append_buffer_cpu_data(struct tracecmd_output *handle, -+ struct tracecmd_option *option, -+ int cpus, char * const *cpu_data_files); -+ -+struct tracecmd_output *tracecmd_get_output_handle_fd(int fd); -+ -+/* --- Reading the Fly Recorder Trace --- */ -+ -+enum { -+ TRACECMD_RECORD_NOSPLICE = (1 << 0), /* Use read instead of splice */ -+ TRACECMD_RECORD_SNAPSHOT = (1 << 1), /* Extract from snapshot */ -+ TRACECMD_RECORD_BLOCK = (1 << 2), /* Block on splice write */ -+ TRACECMD_RECORD_NOBRASS = (1 << 3), /* Splice directly without a brass pipe */ -+}; -+ -+void tracecmd_free_recorder(struct tracecmd_recorder *recorder); -+struct tracecmd_recorder *tracecmd_create_recorder(const char *file, int cpu, unsigned flags); -+struct tracecmd_recorder *tracecmd_create_recorder_fd(int fd, int cpu, unsigned flags); -+struct tracecmd_recorder *tracecmd_create_recorder_virt(const char *file, int cpu, unsigned flags, int trace_fd); -+struct tracecmd_recorder *tracecmd_create_recorder_maxkb(const char *file, int cpu, unsigned flags, int maxkb); -+struct tracecmd_recorder *tracecmd_create_buffer_recorder_fd(int fd, int cpu, unsigned flags, const char *buffer); -+struct tracecmd_recorder *tracecmd_create_buffer_recorder(const char *file, int cpu, unsigned flags, const char *buffer); -+struct tracecmd_recorder *tracecmd_create_buffer_recorder_maxkb(const char *file, int cpu, unsigned flags, const char *buffer, int maxkb); -+ -+int tracecmd_start_recording(struct tracecmd_recorder *recorder, unsigned long sleep); -+void tracecmd_stop_recording(struct tracecmd_recorder *recorder); -+long tracecmd_flush_recording(struct tracecmd_recorder *recorder); -+ -+enum tracecmd_msg_flags { -+ TRACECMD_MSG_FL_USE_TCP = 1 << 0, -+}; -+ -+/* for both client and server */ -+struct tracecmd_msg_handle { -+ int fd; -+ short cpu_count; -+ short version; /* Current protocol version */ -+ unsigned long flags; -+ bool done; -+}; -+ -+struct tracecmd_msg_handle * -+tracecmd_msg_handle_alloc(int fd, unsigned long flags); -+ -+/* Closes the socket and frees the handle */ -+void tracecmd_msg_handle_close(struct tracecmd_msg_handle *msg_handle); -+ -+/* for clients */ -+int tracecmd_msg_send_init_data(struct tracecmd_msg_handle *msg_handle, -+ unsigned int **client_ports); -+int tracecmd_msg_data_send(struct tracecmd_msg_handle *msg_handle, -+ const char *buf, int size); -+int tracecmd_msg_finish_sending_data(struct tracecmd_msg_handle *msg_handle); -+int tracecmd_msg_send_close_msg(struct tracecmd_msg_handle *msg_handle); -+int tracecmd_msg_send_close_resp_msg(struct tracecmd_msg_handle *msg_handle); -+int tracecmd_msg_wait_close(struct tracecmd_msg_handle *msg_handle); -+int tracecmd_msg_wait_close_resp(struct tracecmd_msg_handle *msg_handle); -+ -+/* for server */ -+int tracecmd_msg_initial_setting(struct tracecmd_msg_handle *msg_handle); -+int tracecmd_msg_send_port_array(struct tracecmd_msg_handle *msg_handle, -+ unsigned *ports); -+int tracecmd_msg_read_data(struct tracecmd_msg_handle *msg_handle, int ofd); -+int tracecmd_msg_collect_data(struct tracecmd_msg_handle *msg_handle, int ofd); -+bool tracecmd_msg_done(struct tracecmd_msg_handle *msg_handle); -+void tracecmd_msg_set_done(struct tracecmd_msg_handle *msg_handle); -+ -+int tracecmd_msg_send_trace_req(struct tracecmd_msg_handle *msg_handle, -+ int argc, char **argv, bool use_fifos, -+ unsigned long long trace_id, -+ char *tsync_protos, -+ int tsync_protos_size); -+int tracecmd_msg_recv_trace_req(struct tracecmd_msg_handle *msg_handle, -+ int *argc, char ***argv, bool *use_fifos, -+ unsigned long long *trace_id, -+ char **tsync_protos, -+ unsigned int *tsync_protos_size); -+ -+int tracecmd_msg_send_trace_resp(struct tracecmd_msg_handle *msg_handle, -+ int nr_cpus, int page_size, -+ unsigned int *ports, bool use_fifos, -+ unsigned long long trace_id, -+ unsigned int tsync_proto, -+ unsigned int tsync_port); -+int tracecmd_msg_recv_trace_resp(struct tracecmd_msg_handle *msg_handle, -+ int *nr_cpus, int *page_size, -+ unsigned int **ports, bool *use_fifos, -+ unsigned long long *trace_id, -+ unsigned int *tsync_proto, -+ unsigned int *tsync_port); -+ -+int tracecmd_msg_send_time_sync(struct tracecmd_msg_handle *msg_handle, -+ unsigned int sync_protocol, -+ unsigned int sync_msg_id, -+ unsigned int payload_size, char *payload); -+int tracecmd_msg_recv_time_sync(struct tracecmd_msg_handle *msg_handle, -+ unsigned int *sync_protocol, -+ unsigned int *sync_msg_id, -+ unsigned int *payload_size, char **payload); -+ -+/* --- Timestamp synchronization --- */ -+ -+enum{ -+ TRACECMD_TIME_SYNC_PROTO_NONE = 0, -+}; -+enum{ -+ TRACECMD_TIME_SYNC_CMD_PROBE = 1, -+ TRACECMD_TIME_SYNC_CMD_STOP = 2, -+}; -+ -+#define TRACECMD_TIME_SYNC_PROTO_PTP_WEIGHT 10 -+ -+struct tracecmd_time_sync { -+ unsigned int sync_proto; -+ int loop_interval; -+ pthread_mutex_t lock; -+ pthread_cond_t cond; -+ char *clock_str; -+ struct tracecmd_msg_handle *msg_handle; -+ void *context; -+}; -+ -+void tracecmd_tsync_init(void); -+int tracecmd_tsync_proto_getall(char **proto_mask, int *words); -+unsigned int tracecmd_tsync_proto_select(char *proto_mask, int words); -+bool tsync_proto_is_supported(unsigned int proto_id); -+void tracecmd_tsync_with_host(struct tracecmd_time_sync *tsync); -+void tracecmd_tsync_with_guest(struct tracecmd_time_sync *tsync); -+int tracecmd_tsync_get_offsets(struct tracecmd_time_sync *tsync, -+ int *count, -+ long long **ts, long long **offsets); -+void tracecmd_tsync_free(struct tracecmd_time_sync *tsync); -+ -+/* --- Plugin handling --- */ -+extern struct tep_plugin_option trace_ftrace_options[]; -+ -+char **trace_util_find_plugin_files(const char *suffix); -+void trace_util_free_plugin_files(char **files); -+ -+/* Used for trace-cmd list */ -+void tracecmd_ftrace_load_options(void); -+ -+/* event hooks */ -+ -+struct hook_list { -+ struct hook_list *next; -+ struct buffer_instance *instance; -+ const char *hook; -+ char *str; -+ char *start_system; -+ char *start_event; -+ char *start_match; -+ char *end_system; -+ char *end_event; -+ char *end_match; -+ char *pid; -+ int migrate; -+ int global; -+ int stack; -+}; -+ -+struct hook_list *tracecmd_create_event_hook(const char *arg); -+void tracecmd_free_hooks(struct hook_list *hooks); -+ -+void tracecmd_plog(const char *fmt, ...); -+void tracecmd_plog_error(const char *fmt, ...); -+int tracecmd_set_logfile(char *logfile); -+ -+/* --- System --- */ -+unsigned long long tracecmd_generate_traceid(void); -+int tracecmd_count_cpus(void); -+ -+/* --- Hack! --- */ -+int tracecmd_blk_hack(struct tracecmd_input *handle); -+ -+/* --- Stack tracer functions --- */ -+int tracecmd_stack_tracer_status(int *status); -+ -+/* --- Debugging --- */ -+struct kbuffer *tracecmd_record_kbuf(struct tracecmd_input *handle, -+ struct tep_record *record); -+void *tracecmd_record_page(struct tracecmd_input *handle, -+ struct tep_record *record); -+void *tracecmd_record_offset(struct tracecmd_input *handle, -+ struct tep_record *record); -+ -+#endif /* _TRACE_CMD_PRIVATE_H */ -diff --git a/lib/trace-cmd/include/private/trace-filter-hash.h b/lib/trace-cmd/include/private/trace-filter-hash.h -new file mode 100644 -index 0000000..4111c41 ---- /dev/null -+++ b/lib/trace-cmd/include/private/trace-filter-hash.h -@@ -0,0 +1,64 @@ -+/* SPDX-License-Identifier: LGPL-2.1 */ -+/* -+ * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt -+ * Copyright (C) 2018 VMware Inc, Steven Rostedt -+ * -+ */ -+#ifndef _TRACE_FILTER_HASH_H -+#define _TRACE_FILTER_HASH_H -+ -+#include -+ -+struct tracecmd_filter_id_item { -+ struct tracecmd_filter_id_item *next; -+ int id; -+}; -+ -+struct tracecmd_filter_id { -+ struct tracecmd_filter_id_item **hash; -+ int count; -+}; -+ -+/** -+ * tracecmd_quick_hash - A quick (non secured) hash alogirthm -+ * @val: The value to perform the hash on -+ * @bits: The size in bits you need to return -+ * -+ * This is a quick hashing function adapted from Donald E. Knuth's 32 -+ * bit multiplicative hash. See The Art of Computer Programming (TAOCP). -+ * Multiplication by the Prime number, closest to the golden ratio of -+ * 2^32. -+ * -+ * @bits is used to max the result for use cases that require -+ * a power of 2 return value that is less than 32 bits. Any value -+ * of @bits greater than 31 (or zero), will simply return the full hash on @val. -+ */ -+static inline uint32_t tracecmd_quick_hash(uint32_t val, unsigned int bits) -+{ -+ val *= UINT32_C(2654435761); -+ -+ if (!bits || bits > 31) -+ return val; -+ -+ return val & ((1 << bits) - 1); -+} -+ -+struct tracecmd_filter_id_item * -+ tracecmd_filter_id_find(struct tracecmd_filter_id *hash, int id); -+void tracecmd_filter_id_add(struct tracecmd_filter_id *hash, int id); -+void tracecmd_filter_id_remove(struct tracecmd_filter_id *hash, int id); -+void tracecmd_filter_id_clear(struct tracecmd_filter_id *hash); -+struct tracecmd_filter_id *tracecmd_filter_id_hash_alloc(void); -+void tracecmd_filter_id_hash_free(struct tracecmd_filter_id *hash); -+struct tracecmd_filter_id * -+ tracecmd_filter_id_hash_copy(struct tracecmd_filter_id *hash); -+int *tracecmd_filter_ids(struct tracecmd_filter_id *hash); -+int tracecmd_filter_id_compare(struct tracecmd_filter_id *hash1, -+ struct tracecmd_filter_id *hash2); -+ -+static inline int tracecmd_filter_task_count(struct tracecmd_filter_id *hash) -+{ -+ return hash->count; -+} -+ -+#endif /* _TRACE_FILTER_HASH_H */ -diff --git a/lib/trace-cmd/include/private/trace-hash.h b/lib/trace-cmd/include/private/trace-hash.h -new file mode 100644 -index 0000000..aa92cdf ---- /dev/null -+++ b/lib/trace-cmd/include/private/trace-hash.h -@@ -0,0 +1,55 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ -+/* -+ * Copyright (C) 2014 Red Hat Inc, Steven Rostedt -+ * -+ */ -+#ifndef _TRACE_HASH_H -+#define _TRACE_HASH_H -+ -+struct trace_hash_item { -+ struct trace_hash_item *next; -+ struct trace_hash_item *prev; -+ unsigned long long key; -+}; -+ -+struct trace_hash { -+ struct trace_hash_item **buckets; -+ int nr_buckets; -+ int power; -+}; -+ -+int trace_hash_init(struct trace_hash *hash, int buckets); -+void trace_hash_free(struct trace_hash *hash); -+int trace_hash_add(struct trace_hash *hash, struct trace_hash_item *item); -+int trace_hash_empty(struct trace_hash *hash); -+ -+static inline void trace_hash_del(struct trace_hash_item *item) -+{ -+ struct trace_hash_item *prev = item->prev; -+ -+ prev->next = item->next; -+ if (item->next) -+ item->next->prev = prev; -+} -+ -+#define trace_hash_for_each_bucket(bucket, hash) \ -+ for (bucket = (hash)->buckets; \ -+ (bucket) < (hash)->buckets + (hash)->nr_buckets; (bucket)++) -+ -+#define trace_hash_for_each_item(item, bucket) \ -+ for ((item = *(bucket)); item; item = (item)->next) -+ -+#define trace_hash_for_each_item_safe(item, n, bucket) \ -+ for ((item = *(bucket)), n = item ? item->next : NULL; item; \ -+ item = n, n = item ? (item)->next : NULL) -+ -+#define trace_hash_while_item(item, bucket) \ -+ while ((item = *(bucket))) -+ -+typedef int (*trace_hash_func)(struct trace_hash_item *item, void *data); -+ -+struct trace_hash_item * -+trace_hash_find(struct trace_hash *hash, unsigned long long key, -+ trace_hash_func match, void *data); -+ -+#endif /* _TRACE_HASH_H */ -diff --git a/lib/trace-cmd/include/private/trace-msg.h b/lib/trace-cmd/include/private/trace-msg.h -new file mode 100644 -index 0000000..aab8a69 ---- /dev/null -+++ b/lib/trace-cmd/include/private/trace-msg.h -@@ -0,0 +1,15 @@ -+#ifndef _TRACE_MSG_H_ -+#define _TRACE_MSG_H_ -+ -+#include -+ -+#define UDP_MAX_PACKET (65536 - 20) -+#define V3_MAGIC "766679\0" -+#define V3_CPU "-1V3" -+ -+#define V1_PROTOCOL 1 -+#define V3_PROTOCOL 3 -+ -+extern unsigned int page_size; -+ -+#endif /* _TRACE_MSG_H_ */ -diff --git a/lib/trace-cmd/include/trace-cmd-local.h b/lib/trace-cmd/include/trace-cmd-local.h -index 95dce66..d0a7365 100644 ---- a/lib/trace-cmd/include/trace-cmd-local.h -+++ b/lib/trace-cmd/include/trace-cmd-local.h -@@ -6,6 +6,8 @@ - #ifndef _TRACE_CMD_LOCAL_H - #define _TRACE_CMD_LOCAL_H - -+#include "trace-cmd-private.h" -+ - /* Can be overridden */ - void warning(const char *fmt, ...); - -diff --git a/lib/trace-cmd/trace-ftrace.c b/lib/trace-cmd/trace-ftrace.c -index 20bf71f..df7335f 100644 ---- a/lib/trace-cmd/trace-ftrace.c -+++ b/lib/trace-cmd/trace-ftrace.c -@@ -8,7 +8,7 @@ - #include - #include - --#include "trace-cmd.h" -+#include "trace-cmd-private.h" - - struct tep_plugin_option trace_ftrace_options[] = { - { -diff --git a/lib/trace-cmd/trace-hooks.c b/lib/trace-cmd/trace-hooks.c -index 8c969a6..2dadf61 100644 ---- a/lib/trace-cmd/trace-hooks.c -+++ b/lib/trace-cmd/trace-hooks.c -@@ -8,7 +8,7 @@ - #include - #include - --#include "trace-cmd.h" -+#include "trace-cmd-private.h" - #include "event-utils.h" - - struct hook_list *tracecmd_create_event_hook(const char *arg) -diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c -index 2a6e2b6..6b647d6 100644 ---- a/lib/trace-cmd/trace-recorder.c -+++ b/lib/trace-cmd/trace-recorder.c -@@ -13,7 +13,7 @@ - #include - - #include "tracefs.h" --#include "trace-cmd.h" -+#include "trace-cmd-private.h" - #include "event-utils.h" - - /* F_GETPIPE_SZ was introduced in 2.6.35, older systems don't have it */ -diff --git a/lib/trace-cmd/trace-timesync.c b/lib/trace-cmd/trace-timesync.c -index 7a6a7eb..390e9d9 100644 ---- a/lib/trace-cmd/trace-timesync.c -+++ b/lib/trace-cmd/trace-timesync.c -@@ -17,7 +17,7 @@ - #include - #include - --#include "trace-cmd.h" -+#include "trace-cmd-private.h" - #include "tracefs.h" - #include "event-utils.h" - #include "trace-tsync-local.h" -diff --git a/lib/trace-cmd/trace-util.c b/lib/trace-cmd/trace-util.c -index 0ead96e..6b5d872 100644 ---- a/lib/trace-cmd/trace-util.c -+++ b/lib/trace-cmd/trace-util.c -@@ -21,7 +21,7 @@ - #include - #include - --#include "trace-cmd.h" -+#include "trace-cmd-private.h" - #include "event-utils.h" - - #define LOCAL_PLUGIN_DIR ".trace-cmd/plugins" -diff --git a/lib/traceevent/plugins/plugin_python_loader.c b/lib/traceevent/plugins/plugin_python_loader.c -index 776bf12..01bdfad 100644 ---- a/lib/traceevent/plugins/plugin_python_loader.c -+++ b/lib/traceevent/plugins/plugin_python_loader.c -@@ -1,6 +1,7 @@ - #include - #include --#include "trace-cmd.h" -+#include "event-parse.h" -+#include "trace-cmd-private.h" - - #ifndef PYTHON_DIR - #define PYTHON_DIR "." -diff --git a/python/ctracecmd.i b/python/ctracecmd.i -index 01cd0d5..5f7181c 100644 ---- a/python/ctracecmd.i -+++ b/python/ctracecmd.i -@@ -15,6 +15,7 @@ - - %{ - #include "trace-cmd.h" -+#include "event-parse.h" - #include "event-utils.h" - #include - %} -diff --git a/tracecmd/include/trace-local.h b/tracecmd/include/trace-local.h -index 207aa68..28d1b4e 100644 ---- a/tracecmd/include/trace-local.h -+++ b/tracecmd/include/trace-local.h -@@ -9,7 +9,7 @@ - #include - #include /* for DIR */ - --#include "trace-cmd.h" -+#include "trace-cmd-private.h" - #include "event-utils.h" - - #define TRACE_AGENT_DEFAULT_PORT 823 --- -2.29.2 - diff --git a/package/trace-cmd/0002-trace-cmd-make-it-build-against-musl-C-library.patch b/package/trace-cmd/0002-trace-cmd-make-it-build-against-musl-C-library.patch deleted file mode 100644 index 64021245dc6..00000000000 --- a/package/trace-cmd/0002-trace-cmd-make-it-build-against-musl-C-library.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 1a000636c1828eecdcec5360a51623ef4ffbff04 Mon Sep 17 00:00:00 2001 -From: Beniamin Sandu -Date: Mon, 30 Nov 2020 14:27:55 +0200 -Subject: [PATCH] trace-cmd: make it build against musl C library - -* add some missing headers and macros -* set pthread affinity using pthread_setaffinity_np after creating the thread -instead of pthread_attr_setaffinity_np (which seems to not be implemented -in musl) - -Tested using https://musl.cc/x86_64-linux-musl-native.tgz - -Link: https://lore.kernel.org/linux-trace-devel/20201130122755.31000-1-beniaminsandu@gmail.com - -Reviewed-by: Tzvetomir Stoyanov (VMware) -Signed-off-by: Beniamin Sandu -[ Fixed a whitespace issue ] -Signed-off-by: Steven Rostedt (VMware) -[Retrieved from: -https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/commit/?id=1a000636c1828eecdcec5360a51623ef4ffbff04] -Signed-off-by: Fabrice Fontaine ---- - .../include/private/trace-cmd-private.h | 1 + - lib/trace-cmd/include/trace-cmd-local.h | 1 + - lib/tracefs/include/tracefs-local.h | 12 ++++++++++++ - lib/tracefs/tracefs-events.c | 1 + - tracecmd/include/trace-local.h | 1 + - tracecmd/trace-tsync.c | 16 +++++++++++----- - 6 files changed, 27 insertions(+), 5 deletions(-) - -diff --git a/lib/trace-cmd/include/private/trace-cmd-private.h b/lib/trace-cmd/include/private/trace-cmd-private.h -index 458760e5..a0dac5da 100644 ---- a/lib/trace-cmd/include/private/trace-cmd-private.h -+++ b/lib/trace-cmd/include/private/trace-cmd-private.h -@@ -6,6 +6,7 @@ - #ifndef _TRACE_CMD_PRIVATE_H - #define _TRACE_CMD_PRIVATE_H - -+#include - #include "traceevent/event-parse.h" - #include "trace-cmd/trace-cmd.h" - -diff --git a/lib/trace-cmd/include/trace-cmd-local.h b/lib/trace-cmd/include/trace-cmd-local.h -index d0a7365a..0cd27441 100644 ---- a/lib/trace-cmd/include/trace-cmd-local.h -+++ b/lib/trace-cmd/include/trace-cmd-local.h -@@ -6,6 +6,7 @@ - #ifndef _TRACE_CMD_LOCAL_H - #define _TRACE_CMD_LOCAL_H - -+#include - #include "trace-cmd-private.h" - - /* Can be overridden */ -diff --git a/lib/tracefs/include/tracefs-local.h b/lib/tracefs/include/tracefs-local.h -index 9cc371b4..bdbf89e8 100644 ---- a/lib/tracefs/include/tracefs-local.h -+++ b/lib/tracefs/include/tracefs-local.h -@@ -13,4 +13,16 @@ void warning(const char *fmt, ...); - int str_read_file(const char *file, char **buffer); - char *trace_append_file(const char *dir, const char *name); - -+#ifndef ACCESSPERMS -+#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ -+#endif -+ -+#ifndef ALLPERMS -+#define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ -+#endif -+ -+#ifndef DEFFILEMODE -+#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) /* 0666*/ -+#endif -+ - #endif /* _TRACE_FS_LOCAL_H */ -diff --git a/lib/tracefs/tracefs-events.c b/lib/tracefs/tracefs-events.c -index 80a25ee5..a4e5215f 100644 ---- a/lib/tracefs/tracefs-events.c -+++ b/lib/tracefs/tracefs-events.c -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - - #include "kbuffer.h" - #include "tracefs.h" -diff --git a/tracecmd/include/trace-local.h b/tracecmd/include/trace-local.h -index 28d1b4e0..85c7e03e 100644 ---- a/tracecmd/include/trace-local.h -+++ b/tracecmd/include/trace-local.h -@@ -8,6 +8,7 @@ - - #include - #include /* for DIR */ -+#include - - #include "trace-cmd-private.h" - #include "event-utils.h" -diff --git a/tracecmd/trace-tsync.c b/tracecmd/trace-tsync.c -index e639788d..8b9083ae 100644 ---- a/tracecmd/trace-tsync.c -+++ b/tracecmd/trace-tsync.c -@@ -104,13 +104,16 @@ int tracecmd_host_tsync(struct buffer_instance *instance, - - pthread_attr_init(&attrib); - pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE); -- if (!get_first_cpu(&pin_mask, &mask_size)) -- pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask); - - ret = pthread_create(&instance->tsync_thread, &attrib, - tsync_host_thread, &instance->tsync); -- if (!ret) -+ -+ if (!ret) { -+ if (!get_first_cpu(&pin_mask, &mask_size)) -+ pthread_setaffinity_np(instance->tsync_thread, mask_size, pin_mask); - instance->tsync_thread_running = true; -+ } -+ - if (pin_mask) - CPU_FREE(pin_mask); - pthread_attr_destroy(&attrib); -@@ -243,11 +246,14 @@ unsigned int tracecmd_guest_tsync(char *tsync_protos, - pthread_attr_init(&attrib); - tsync->sync_proto = proto; - pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE); -- if (!get_first_cpu(&pin_mask, &mask_size)) -- pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask); - - ret = pthread_create(thr_id, &attrib, tsync_agent_thread, tsync); - -+ if (!ret) { -+ if (!get_first_cpu(&pin_mask, &mask_size)) -+ pthread_setaffinity_np(*thr_id, mask_size, pin_mask); -+ } -+ - if (pin_mask) - CPU_FREE(pin_mask); - pthread_attr_destroy(&attrib); diff --git a/package/trace-cmd/0003-trace-cmd-Move-add_event_pid-out-of-ifndef-NO_PTRACE.patch b/package/trace-cmd/0003-trace-cmd-Move-add_event_pid-out-of-ifndef-NO_PTRACE.patch deleted file mode 100644 index ca32e69ab1a..00000000000 --- a/package/trace-cmd/0003-trace-cmd-Move-add_event_pid-out-of-ifndef-NO_PTRACE.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2f55ded528cfd8ef468bdd1f8bb82dcf1cfae04a Mon Sep 17 00:00:00 2001 -From: "Steven Rostedt (VMware)" -Date: Wed, 16 Dec 2020 18:19:43 -0500 -Subject: [PATCH] trace-cmd: Move add_event_pid() out of #ifndef NO_PTRACE - -When NO_PTRACE is defined, add_event_pid() is also not defined, but it is -used outside of NO_PTRACE pre processor block. And this causes a -"add_event_pid" not defined build failure. - -Link: https://lore.kernel.org/linux-trace-devel/20201216232145.010165486@goodmis.org - -Fixes: 0844cff1c ("trace-cmd: Fix "trace-cmd reset" command to restore the default value of set_event_pid") -Signed-off-by: Steven Rostedt (VMware) -[Retrieved from: -https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/commit/?id=2f55ded528cfd8ef468bdd1f8bb82dcf1cfae04a] -Signed-off-by: Fabrice Fontaine ---- - tracecmd/trace-record.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c -index f8baed7d..e2d1cedf 100644 ---- a/tracecmd/trace-record.c -+++ b/tracecmd/trace-record.c -@@ -1312,8 +1312,13 @@ static int trace_wait_for_processes(struct buffer_instance *instance) { - free(pidfds); - return ret; - } --#ifndef NO_PTRACE - -+static void add_event_pid(struct buffer_instance *instance, const char *buf) -+{ -+ tracefs_instance_file_write(instance->tracefs, "set_event_pid", buf); -+} -+ -+#ifndef NO_PTRACE - /** - * append_pid_filter - add a new pid to an existing filter - * @curr_filter: the filter to append to. If NULL, then allocate one -@@ -1369,11 +1374,6 @@ static void update_sched_events(struct buffer_instance *instance, int pid) - static int open_instance_fd(struct buffer_instance *instance, - const char *file, int flags); - --static void add_event_pid(struct buffer_instance *instance, const char *buf) --{ -- tracefs_instance_file_write(instance->tracefs, "set_event_pid", buf); --} -- - static void add_new_filter_child_pid(int pid, int child) - { - struct buffer_instance *instance; diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in index 574541c571e..2d0accd7aea 100644 --- a/package/trace-cmd/Config.in +++ b/package/trace-cmd/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_TRACE_CMD bool "trace-cmd" - depends on BR2_TOOLCHAIN_HAS_THREADS + # pthread_setaffinity_np + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlopen() help @@ -13,6 +14,6 @@ config BR2_PACKAGE_TRACE_CMD http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git -comment "trace-cmd needs a toolchain w/ threads, dynamic library" +comment "trace-cmd needs a toolchain w/ NPTL, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/trace-cmd/trace-cmd.hash b/package/trace-cmd/trace-cmd.hash index 0afde6705ea..00cecc7828a 100644 --- a/package/trace-cmd/trace-cmd.hash +++ b/package/trace-cmd/trace-cmd.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 8bab29530cd05272dccab48c9780644758e71ed990ce65c701b9095f7beae417 trace-cmd-trace-cmd-v2.9.1-br1.tar.gz +sha256 45924a763376a700221f64b4034f87263e4038ec88b120a0abfb5743d051d068 trace-cmd-v2.9.6.tar.gz sha256 b1d04b850c1c7471b0f0896f6c6f0fcfc9f07e2dd183a5f5826af269fe9e88fb COPYING sha256 70f297763149e72306919c924e164f83041d5e512868d4c8c1826c171b3e49f9 COPYING.LIB sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0 diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk index cd3fcb97550..fe0cd71ec44 100644 --- a/package/trace-cmd/trace-cmd.mk +++ b/package/trace-cmd/trace-cmd.mk @@ -4,9 +4,10 @@ # ################################################################################ -TRACE_CMD_VERSION = trace-cmd-v2.9.1 -TRACE_CMD_SITE = https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git -TRACE_CMD_SITE_METHOD = git +TRACE_CMD_VERSION = 2.9.6 +TRACE_CMD_SOURCE = trace-cmd-v$(TRACE_CMD_VERSION).tar.gz +TRACE_CMD_SITE = \ + https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1 TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB LICENSES/GPL-2.0 LICENSES/LGPL-2.1 @@ -17,10 +18,7 @@ ifeq ($(BR2_PACKAGE_AUDIT),y) TRACE_CMD_DEPENDENCIES += audit endif -ifeq ($(BR2_PACKAGE_PYTHON),y) -TRACE_CMD_DEPENDENCIES += python host-swig -TRACE_CMD_MAKE_OPTS += PYTHON_VERS=python -else ifeq ($(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) TRACE_CMD_DEPENDENCIES += python3 host-swig TRACE_CMD_MAKE_OPTS += PYTHON_VERS=python3 else @@ -31,6 +29,11 @@ endif # redefining it on the command line causes build problems. TRACE_CMD_CFLAGS = $(filter-out -D_LARGEFILE64_SOURCE,$(TARGET_CFLAGS)) +# Sparc64 needs -fPIC +ifeq ($(BR2_sparc64),y) +TRACE_CMD_CFLAGS += -fPIC +endif + # trace-cmd use CPPFLAGS to add some extra flags. # But like for CFLAGS, $(TARGET_CPPFLAGS) contains _LARGEFILE64_SOURCE # that causes build problems. diff --git a/package/transmission/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch b/package/transmission/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch new file mode 100644 index 00000000000..bfb0084bc43 --- /dev/null +++ b/package/transmission/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch @@ -0,0 +1,42 @@ +From 857ac91a03a096601f62b358fc61355d4cc25b9b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 9 Oct 2021 18:51:13 +0200 +Subject: [PATCH] configure.ac: fix autoreconf with autoconf >= 2.70 + +Remove the whitespace before IT_PROG_INTLTOOL as suggested in +https://www.mail-archive.com/bug-autoconf@gnu.org/msg04851.html +to avoid the following build failure with autoconf >= 2.70: + +ERROR: 'IT_PROG_INTLTOOL' must appear in configure.ac for intltool to work. + +The problem has been introduced by upstream autoconf commit +http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=b3b3af821a0b9e82ebe56b77b1731d2fe58f52de + +Fixes: + - http://autobuild.buildroot.org/results/e8bea26f6b12adf16335b24836a7c5c31911af6a + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable as upstream swicthed to cmake ( +https://github.com/transmission/transmission/issues/1573)] +--- + configure.ac | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fd1132fda..04e0e19bb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -555,9 +555,7 @@ dnl it should be safe to re-edit 0.40 back down to 0.23 + use_nls=no + if test "x$enable_nls" = "xyes" ; then + use_nls=yes +- m4_ifdef([IT_PROG_INTLTOOL], +- [IT_PROG_INTLTOOL([0.35.0],[no-xml])], +- [AC_MSG_ERROR("--enable-nls requires intltool to be installed.")]) ++IT_PROG_INTLTOOL([0.35.0],[no-xml]) + AC_CHECK_HEADERS([libintl.h]) + GETTEXT_PACKAGE=transmission-gtk + AC_SUBST(GETTEXT_PACKAGE) +-- +2.33.0 + diff --git a/package/transmission/Config.in b/package/transmission/Config.in index dac4d1b3303..980b042e335 100644 --- a/package/transmission/Config.in +++ b/package/transmission/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_TRANSMISSION depends on BR2_USE_MMU # fork() select BR2_PACKAGE_ZLIB select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBEVENT help diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission index 29d7cd58632..85ff40ec16d 100644 --- a/package/transmission/S92transmission +++ b/package/transmission/S92transmission @@ -93,7 +93,7 @@ stop() # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --name $NAME + start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --exec $DAEMON RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 diff --git a/package/triggerhappy/triggerhappy.hash b/package/triggerhappy/triggerhappy.hash index ab736cada36..0bb53f9455b 100644 --- a/package/triggerhappy/triggerhappy.hash +++ b/package/triggerhappy/triggerhappy.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1b3221963b9adca26eacc5442d8c2422cf2072f8adde1dbd691a69b37a583fb1 triggerhappy-b822888066129350e51ad79f1cf307fa38dae4f7.tar.gz +sha256 af0fc196202f2d35153be401769a9ad9107b5b6387146cfa8895ae9cafad631c triggerhappy-0.5.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/triggerhappy/triggerhappy.mk b/package/triggerhappy/triggerhappy.mk index f83a5578048..bb30e7ce1d6 100644 --- a/package/triggerhappy/triggerhappy.mk +++ b/package/triggerhappy/triggerhappy.mk @@ -4,8 +4,9 @@ # ################################################################################ -TRIGGERHAPPY_VERSION = b822888066129350e51ad79f1cf307fa38dae4f7 -TRIGGERHAPPY_SITE = $(call github,wertarbyte,triggerhappy,$(TRIGGERHAPPY_VERSION)) +TRIGGERHAPPY_VERSION = 0.5.0 +TRIGGERHAPPY_SITE = \ + $(call github,wertarbyte,triggerhappy,release/$(TRIGGERHAPPY_VERSION)) TRIGGERHAPPY_LICENSE = GPL-3.0+ TRIGGERHAPPY_LICENSE_FILES = COPYING TRIGGERHAPPY_DEPENDENCIES = host-pkgconf diff --git a/package/trinity/0002-net-proto-ip-raw.c-fix-build-with-kernel-5.13.patch b/package/trinity/0002-net-proto-ip-raw.c-fix-build-with-kernel-5.13.patch new file mode 100644 index 00000000000..4c747f41c96 --- /dev/null +++ b/package/trinity/0002-net-proto-ip-raw.c-fix-build-with-kernel-5.13.patch @@ -0,0 +1,37 @@ +From da65f0aa2bfcb4a2d9a77abfaa2955c6be3d37c9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 17 Jul 2021 08:02:31 +0200 +Subject: [PATCH] net/proto-ip-raw.c: fix build with kernel >= 5.13 + +Fix the following build failure with kernel >= 5.13: + +In file included from /home/buildroot/autobuild/instance-2/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/include/linux/icmp.h:23, + from net/proto-ip-raw.c:1: +/home/buildroot/autobuild/instance-2/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/include/netinet/in.h:33:5: error: redeclaration of enumerator 'IPPROTO_IP' + 33 | IPPROTO_IP = 0, /* Dummy protocol for TCP. */ + | ^~~~~~~~~~ +/home/buildroot/autobuild/instance-2/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/include/linux/in.h:29:3: note: previous definition of 'IPPROTO_IP' was here + 29 | IPPROTO_IP = 0, /* Dummy protocol for TCP */ + | ^~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/c58119baed8d7711da799e34a5ee1117f46b96f4 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/kernelslacker/trinity/pull/35] +--- + net/proto-ip-raw.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/net/proto-ip-raw.c b/net/proto-ip-raw.c +index 95f2cb13..b407bb68 100644 +--- a/net/proto-ip-raw.c ++++ b/net/proto-ip-raw.c +@@ -1,3 +1,4 @@ ++#include + #include + #include "net.h" + #include "trinity.h" +-- +2.30.2 + diff --git a/package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch b/package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch new file mode 100644 index 00000000000..c4d9811b8af --- /dev/null +++ b/package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch @@ -0,0 +1,46 @@ +From b1a0aef9978d4a41e7e601c277d4fb1b0cfbed89 Mon Sep 17 00:00:00 2001 +From: Dave Jones +Date: Thu, 26 Aug 2021 11:17:34 -0400 +Subject: [PATCH] Use fcntl.h for dev_t & mode_t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Should fix: + +In file included from /usr/include/bits/statx.h:31, + from /usr/include/sys/stat.h:446, + from include/files.h:3, + from include/shm.h:6, + from syscalls/x86/modify_ldt.c:12: +/usr/include/linux/stat.h:57:2: error: unknown type name ‘__s64’ + __s64 tv_sec; + ^~~~~ +/usr/include/linux/stat.h:58:2: error: unknown type name ‘__u32’ + __u32 tv_nsec; + ^~~~~ +/usr/include/linux/stat.h:59:2: error: unknown type name ‘__s32’ + __s32 __reserved; + ^~~~~ +/usr/include/linux/stat.h:101:2: error: unknown type name ‘__u32’ + __u32 stx_mask; /* What results were written [uncond] */ + +[Retrieved from: +https://github.com/kernelslacker/trinity/commit/b1a0aef9978d4a41e7e601c277d4fb1b0cfbed89] +Signed-off-by: Fabrice Fontaine +--- + include/files.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/files.h b/include/files.h +index 2a8e0e2d..ba3cc98f 100644 +--- a/include/files.h ++++ b/include/files.h +@@ -1,6 +1,6 @@ + #pragma once + +-#include ++#include + #include "fd.h" + + unsigned long get_o_flags(void); diff --git a/package/trinity/trinity.mk b/package/trinity/trinity.mk index adf7d1455ca..4dca50c0b6d 100644 --- a/package/trinity/trinity.mk +++ b/package/trinity/trinity.mk @@ -9,17 +9,26 @@ TRINITY_SITE = http://codemonkey.org.uk/projects/trinity TRINITY_SOURCE = trinity-$(TRINITY_VERSION).tar.xz TRINITY_LICENSE = GPL-2.0 TRINITY_LICENSE_FILES = COPYING +TRINITY_CPE_ID_VENDOR = trinity_project + +TRINITY_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +TRINITY_DEPENDENCIES += libexecinfo +TRINITY_LDFLAGS += -lexecinfo +endif define TRINITY_CONFIGURE_CMDS (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure) endef define TRINITY_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) LDFLAGS="$(TRINITY_LDFLAGS)" endef define TRINITY_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR)/usr install + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + LDFLAGS="$(TRINITY_LDFLAGS)" DESTDIR=$(TARGET_DIR)/usr install endef # Install helper scripts diff --git a/package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch b/package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch new file mode 100644 index 00000000000..65da979f227 --- /dev/null +++ b/package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch @@ -0,0 +1,24 @@ +Fix build with LibreSSL 2.7 + +LibreSSL 2.7 implemented OpenSSL 1.1 API + +See also: https://reviews.freebsd.org/D14849#change-KhYbRXBMIBod + +Cheers, +Bernard Spil (brnrd@FreeBSD.org) + +[Retrieved (and backported) from: +https://sourceforge.net/p/trousers/bugs/234] +Signed-off-by: Fabrice Fontaine + +--- ./src/trspi/crypto/openssl/rsa.c.orig 2016-11-23 12:26:19 UTC ++++ ./src/trspi/crypto/openssl/rsa.c +@@ -38,7 +38,7 @@ + #define DEBUG_print_openssl_errors() + #endif + +-#if (OPENSSL_VERSION_NUMBER < 0x10100001L) || defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER < 0x10100001L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + static int + RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) + { diff --git a/package/ts4900-fpga/Config.in b/package/ts4900-fpga/Config.in index 7aa94e26f23..9f704fbc8c9 100644 --- a/package/ts4900-fpga/Config.in +++ b/package/ts4900-fpga/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_TS4900_FPGA It is loaded by U-Boot during the boot sequence, the default U-boot script expects to find it in the /boot folder. - http://wiki.embeddedarm.com/wiki/TS-4900#FPGA_Changelog + https://docs.embeddedts.com/TS-4900#FPGA_Changelog diff --git a/package/ts4900-fpga/ts4900-fpga.hash b/package/ts4900-fpga/ts4900-fpga.hash index 2147aeb3c2e..1d3c62bfd11 100644 --- a/package/ts4900-fpga/ts4900-fpga.hash +++ b/package/ts4900-fpga/ts4900-fpga.hash @@ -1,5 +1,5 @@ -# From ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4900-linux/fpga/ts4900-fpga-20150930.bin.md5 -md5 bf93c03ef914cf008287c8cd60781cc8 ts4900-fpga-20150930.bin +# From https://files.embeddedts.com/ts-socket-macrocontrollers/ts-4900-linux/fpga//ts4900-fpga-20170510.bin.md5 +md5 86c7c3d7fb9c607af1ef55e1222b4416 ts4900-fpga-20170510.bin # Locally calculated -sha256 242ac6a90bea9a95c937ea8952cdc9b02f543cea24a0359bed66a408a6dd8bf9 ts4900-fpga-20150930.bin +sha256 f15edd6813ee5e93e7f380d85df2dc31e764ebca465093fb9006d56ee15b476b ts4900-fpga-20170510.bin diff --git a/package/ts4900-fpga/ts4900-fpga.mk b/package/ts4900-fpga/ts4900-fpga.mk index 7bb62a39849..73e7a28e31f 100644 --- a/package/ts4900-fpga/ts4900-fpga.mk +++ b/package/ts4900-fpga/ts4900-fpga.mk @@ -4,11 +4,11 @@ # ################################################################################ -TS4900_FPGA_VERSION = 20150930 +TS4900_FPGA_VERSION = 20170510 TS4900_FPGA_SOURCE = ts4900-fpga-$(TS4900_FPGA_VERSION).bin -TS4900_FPGA_SITE = ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4900-linux/fpga +TS4900_FPGA_SITE = https://files.embeddedts.com/ts-socket-macrocontrollers/ts-4900-linux/fpga # No license file provided, Yocto recipe from the vendor claims MIT. -# https://github.com/embeddedarm/meta-ts/blob/f31860f1204b64f765a5380d3b93a2cf18234f90/recipes-extras/ts4900-fpga/ts4900-fpga.bb#L6 +# https://github.com/embeddedTS/meta-ts/blob/f31860f1204b64f765a5380d3b93a2cf18234f90/recipes-extras/ts4900-fpga/ts4900-fpga.bb#L6 define TS4900_FPGA_EXTRACT_CMDS cp $(TS4900_FPGA_DL_DIR)/$(TS4900_FPGA_SOURCE) $(@D) diff --git a/package/ttyd/Config.in b/package/ttyd/Config.in index df710fbac36..ecc705b17e9 100644 --- a/package/ttyd/Config.in +++ b/package/ttyd/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_TTYD bool "ttyd" - depends on !BR2_STATIC_LIBS # libuv + depends on !BR2_STATIC_LIBS # libuv, libwebsockets depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv, json-c depends on BR2_USE_MMU # libuv diff --git a/package/tvheadend/0002-fix-build-with-libressl.patch b/package/tvheadend/0002-fix-build-with-libressl.patch new file mode 100644 index 00000000000..c99dacdbeb1 --- /dev/null +++ b/package/tvheadend/0002-fix-build-with-libressl.patch @@ -0,0 +1,47 @@ +From ea65f8025a9124cd7353b21f167968bdb897306f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 6 Apr 2022 21:54:25 +0200 +Subject: [PATCH] fix build with libressl + +Fix the following build failure with libressl raised since +https://github.com/tvheadend/tvheadend/commit/e61acb8ad4a3411f4e7acfd8133d222299f6d47e: + +utils.c:(.text+0x1614): undefined reference to `EVP_sha512_256' + +Fixes: + - http://autobuild.buildroot.org/results/cb18f6533806f3729f9718bdcc719384be375b66 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/tvheadend/tvheadend/commit/ea65f8025a9124cd7353b21f167968bdb897306f] +--- + src/http.c | 2 +- + src/utils.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/http.c b/src/http.c +index 06d5e76172..72a498317c 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -412,7 +412,7 @@ http_send_header(http_connection_t *hc, int rc, const char *content, + http_auth_header(&hdrs, realm, + config.http_auth_algo == HTTP_AUTH_ALGO_SHA256 ? + "SHA-256" : +-#if OPENSSL_VERSION_NUMBER >= 0x1010101fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) + "SHA-512-256", + #else + "SHA-256", +diff --git a/src/utils.c b/src/utils.c +index d8ffe4ad5c..eecb10e116 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -616,7 +616,7 @@ sha256sum ( const char *str, int lowercase ) + char * + sha512sum256 ( const char *str, int lowercase ) + { +-#if OPENSSL_VERSION_NUMBER >= 0x1010101fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) + return openssl_hash_hexstr(str, lowercase, EVP_sha512_256(), 32); + #else + return NULL; diff --git a/package/tvheadend/0003-Fix-FTBFS-in-utils-c.patch b/package/tvheadend/0003-Fix-FTBFS-in-utils-c.patch new file mode 100644 index 00000000000..2caa281490d --- /dev/null +++ b/package/tvheadend/0003-Fix-FTBFS-in-utils-c.patch @@ -0,0 +1,28 @@ +From fd01737270d98c28465c86a688bd7d1c640486c5 Mon Sep 17 00:00:00 2001 +From: Michael Marley +Date: Wed, 6 Apr 2022 21:47:49 -0400 +Subject: [PATCH] Fix FTBFS in utils.c + +U+0020 SPACE and U+00A0 NO-BREAK SPACE look the same, but they +aren't the same. + +[Retrieved from: +https://github.com/tvheadend/tvheadend/commit/fd01737270d98c28465c86a688bd7d1c640486c5] +Signed-off-by: Fabrice Fontaine +--- + src/utils.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/utils.c b/src/utils.c +index eecb10e116..bc6401d22f 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -616,7 +616,7 @@ sha256sum ( const char *str, int lowercase ) + char * + sha512sum256 ( const char *str, int lowercase ) + { +-#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) + return openssl_hash_hexstr(str, lowercase, EVP_sha512_256(), 32); + #else + return NULL; diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in index 909d955c022..c033b298196 100644 --- a/package/tvheadend/Config.in +++ b/package/tvheadend/Config.in @@ -3,7 +3,7 @@ comment "tvheadend needs a toolchain w/ NPTL, headers >= 3.2, dynamic library" !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_4 -config BR2_PACKAGE_TVHEADEND +menuconfig BR2_PACKAGE_TVHEADEND bool "tvheadend" depends on !BR2_STATIC_LIBS # dladdr() depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL @@ -12,6 +12,7 @@ config BR2_PACKAGE_TVHEADEND select BR2_PACKAGE_DTV_SCAN_TABLES select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help Tvheadend is a TV streaming server for Linux supporting @@ -28,6 +29,36 @@ config BR2_PACKAGE_TVHEADEND if BR2_PACKAGE_TVHEADEND +config BR2_PACKAGE_TVHEADEND_DESCRAMBLER + bool "descrambler support" + default y + help + Enable support for various descrambler modules. + +config BR2_PACKAGE_TVHEADEND_IPTV + bool "IPTV support" + default y + help + Enable IPTV support. + + Note that some IPTV streams will need to be piped through + ffmpeg (the commandline tool), so you may have to enable it + with: + BR2_PACKAGE_FFMPEG=y + BR2_PACKAGE_FFMPEG_FFMPEG=y + +config BR2_PACKAGE_TVHEADEND_SATIP + bool "SAT>IP support" + default y + help + Enable SAT>IP support. + +config BR2_PACKAGE_TVHEADEND_TIMESHIFT + bool "timeshift support" + default y + help + Enable timeshift support. + config BR2_PACKAGE_TVHEADEND_TRANSCODING bool "transcoding support" depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS diff --git a/package/tvheadend/tvheadend.hash b/package/tvheadend/tvheadend.hash index b987a735eba..44ff7452215 100644 --- a/package/tvheadend/tvheadend.hash +++ b/package/tvheadend/tvheadend.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b5e58601da7af383c2c7f27016417a478be0d302a4a8a00ec87fc8bdacc56ef1 tvheadend-febcf9818d7c37fec8a98d424934edcb3243d5e4.tar.gz +sha256 10b8e8387cf341a8c639b3ecbab17dd245dc109afd6c99ca6b7fc3f2b5efc50e tvheadend-1295dd2be863f5beb764290fce9317b24193dfc0.tar.gz sha256 54dc3cbc00bf126bcba43e2af7f3ad1dc00f335985da1409fa943c7b7256d942 LICENSE.md diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk index e19763e186f..d2547b87469 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -4,7 +4,7 @@ # ################################################################################ -TVHEADEND_VERSION = febcf9818d7c37fec8a98d424934edcb3243d5e4 +TVHEADEND_VERSION = 1295dd2be863f5beb764290fce9317b24193dfc0 TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION)) TVHEADEND_LICENSE = GPL-3.0+ TVHEADEND_LICENSE_FILES = LICENSE.md @@ -12,7 +12,7 @@ TVHEADEND_DEPENDENCIES = \ host-gettext \ host-pkgconf \ host-pngquant \ - $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \ + host-python3 \ openssl ifeq ($(BR2_PACKAGE_AVAHI),y) @@ -29,7 +29,7 @@ endif ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y) TVHEADEND_CONF_OPTS += --enable-libav --enable-libx264 TVHEADEND_DEPENDENCIES += ffmpeg x264 -ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_XORG7),yy) +ifeq ($(BR2_PACKAGE_LIBVA),y) TVHEADEND_CONF_OPTS += --enable-vaapi TVHEADEND_DEPENDENCIES += libva else @@ -63,6 +63,40 @@ TVHEADEND_CONF_OPTS += \ --disable-libx265 endif +ifeq ($(BR2_PACKAGE_TVHEADEND_DESCRAMBLER),y) +TVHEADEND_CONF_OPTS += \ + --enable-cardclient \ + --enable-cwc \ + --enable-cccam \ + --enable-capmt \ + --enable-constcw +else +TVHEADEND_CONF_OPTS += \ + --disable-cardclient \ + --disable-cwc \ + --disable-cccam \ + --disable-capmt \ + --disable-constcw +endif + +ifeq ($(BR2_PACKAGE_TVHEADEND_IPTV),y) +TVHEADEND_CONF_OPTS += --enable-iptv +else +TVHEADEND_CONF_OPTS += --disable-iptv +endif + +ifeq ($(BR2_PACKAGE_TVHEADEND_SATIP),y) +TVHEADEND_CONF_OPTS += --enable-satip_client --enable-satip_server +else +TVHEADEND_CONF_OPTS += --disable-satip_client --disable-satip_server +endif + +ifeq ($(BR2_PACKAGE_TVHEADEND_TIMESHIFT),y) +TVHEADEND_CONF_OPTS += --enable-timeshift +else +TVHEADEND_CONF_OPTS += --disable-timeshift +endif + ifeq ($(BR2_PACKAGE_LIBDVBCSA),y) TVHEADEND_DEPENDENCIES += libdvbcsa TVHEADEND_CONF_OPTS += --enable-tvhcsa @@ -87,11 +121,14 @@ TVHEADEND_DEPENDENCIES += liburiparser TVHEADEND_CFLAGS += $(if $(BR2_USE_WCHAR),,-DURI_NO_UNICODE) endif -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) +TVHEADEND_DEPENDENCIES += pcre2 +TVHEADEND_CONF_OPTS += --disable-pcre --enable-pcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) TVHEADEND_DEPENDENCIES += pcre -TVHEADEND_CONF_OPTS += --enable-pcre +TVHEADEND_CONF_OPTS += --enable-pcre --disable-pcre2 else -TVHEADEND_CONF_OPTS += --disable-pcre +TVHEADEND_CONF_OPTS += --disable-pcre --disable-pcre2 endif ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) @@ -120,10 +157,11 @@ define TVHEADEND_CONFIGURE_CMDS --arch="$(ARCH)" \ --cpu="$(GCC_TARGET_CPU)" \ --nowerror \ - --python="$(HOST_DIR)/bin/python" \ + --python="$(HOST_DIR)/bin/python3" \ --enable-dvbscan \ --enable-bundle \ --enable-pngquant \ + --disable-execinfo \ --disable-ffmpeg_static \ --disable-hdhomerun_static \ $(TVHEADEND_CONF_OPTS) \ @@ -160,8 +198,10 @@ TVHEADEND_POST_INSTALL_TARGET_HOOKS += TVHEADEND_CLEAN_SHARE # to the other users (because there will be crendentials in there) define TVHEADEND_INSTALL_INIT_SYSV - $(INSTALL) -D package/tvheadend/etc.default.tvheadend $(TARGET_DIR)/etc/default/tvheadend - $(INSTALL) -D package/tvheadend/S99tvheadend $(TARGET_DIR)/etc/init.d/S99tvheadend + $(INSTALL) -D package/tvheadend/etc.default.tvheadend \ + $(TARGET_DIR)/etc/default/tvheadend + $(INSTALL) -D package/tvheadend/S99tvheadend \ + $(TARGET_DIR)/etc/init.d/S99tvheadend endef define TVHEADEND_USERS diff --git a/package/tzdata/tzdata.hash b/package/tzdata/tzdata.hash index 6a1ccc128d5..55346539ab5 100644 --- a/package/tzdata/tzdata.hash +++ b/package/tzdata/tzdata.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2020-December/000064.html -sha512 dd312def18c807452fda2e697514e2064c5f51ebdbedd0cfe6f231252c76ee5d4409f653b295ed5657b7d30b868690047fdb70a10942e69eaa40b77473e3f9ca tzdata2020f.tar.gz +# From https://mm.icann.org/pipermail/tz-announce/2021-October/000069.html +sha512 c1e8d04e049157ed5d4af0868855bbd75517e3d7e1db9c41d5283ff260109de46b6fac6be94828201d093e163d868044ac2a9db2bf0aeab800e264d0c73a9119 tzdata2021e.tar.gz # Locally computed: sha256 0613408568889f5739e5ae252b722a2659c02002839ad970a63dc5e9174b27cf LICENSE diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk index 8201dc1201d..9cf8c2ea45f 100644 --- a/package/tzdata/tzdata.mk +++ b/package/tzdata/tzdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -TZDATA_VERSION = 2020f +TZDATA_VERSION = 2021e TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz TZDATA_SITE = https://www.iana.org/time-zones/repository/releases TZDATA_STRIP_COMPONENTS = 0 diff --git a/package/uacme/uacme.hash b/package/uacme/uacme.hash index d0277c7322f..4ae85c1c5c8 100644 --- a/package/uacme/uacme.hash +++ b/package/uacme/uacme.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 3f3de5f456907558c4aa0db5654c618becb1b3e057ad217e180c8f72360e7841 uacme-1.4.1.tar.gz +sha256 36027a587256cbaa86650cec2a5b3eb000480e1150bd83941565661b392625ac uacme-1.7.1.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/uacme/uacme.mk b/package/uacme/uacme.mk index 975a965dd06..2be96d534e3 100644 --- a/package/uacme/uacme.mk +++ b/package/uacme/uacme.mk @@ -4,7 +4,7 @@ # ################################################################################ -UACME_VERSION = 1.4.1 +UACME_VERSION = 1.7.1 # Released versions are on branch upstream/latest, tagged as # upstream/X.Y.Z Do not use vX.Y.Z tags from master, as they do not # include .tarball-version diff --git a/package/uboot-tools/0002-tools-only-in-no-dot-config-targets.patch b/package/uboot-tools/0002-tools-only-in-no-dot-config-targets.patch index a376afbc750..8557af499ac 100644 --- a/package/uboot-tools/0002-tools-only-in-no-dot-config-targets.patch +++ b/package/uboot-tools/0002-tools-only-in-no-dot-config-targets.patch @@ -20,6 +20,8 @@ http://ftp.de.debian.org/debian/pool/main/u/u-boot/u-boot_2014.10+dfsg1-2.1.debi Signed-off-by: Jörg Krause [fabio: adapt it to 2016.09] Signed-off-by: Fabio Estevam +[Fabrice: adapt it to 2021.04] +Signed-off-by: Fabrice Fontaine --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -32,8 +34,8 @@ index 6aa08964ff..fcec83d183 100644 no-dot-config-targets := clean clobber mrproper distclean \ help %docs check% coccicheck \ -- ubootversion backup tests check qcheck -+ ubootversion backup tests tools-only check qcheck +- ubootversion backup tests check qcheck tcheck ++ ubootversion backup tests tools-only check qcheck tcheck config-targets := 0 mixed-targets := 0 diff --git a/package/uboot-tools/0003-drop-autoconf.h-from-tools.patch b/package/uboot-tools/0003-drop-autoconf.h-from-tools.patch deleted file mode 100644 index 09ee40bec00..00000000000 --- a/package/uboot-tools/0003-drop-autoconf.h-from-tools.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0552a8ffdfbb9807fcef4498011907caa5de2ace Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Thu, 9 Jan 2020 15:11:32 +0100 -Subject: [PATCH] drop autoconf.h from tools -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We need to build u-boot tools without a board configuration for the target. - -imximage uses the DCD address from Kconfig to display this information -to the user. The default value for all i.MX platforms is 0x00910000, -except for i.MX7ULP, which has a DCD address of 0x2f010000. - -The default value printed before version 2020.01 was 0x00910000. - -Signed-off-by: Jörg Krause ---- - tools/imximage.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/tools/imximage.c b/tools/imximage.c -index d7edd3c52f..f8d21fa06a 100644 ---- a/tools/imximage.c -+++ b/tools/imximage.c -@@ -11,7 +11,6 @@ - #include "imagetool.h" - #include - #include "imximage.h" --#include - - #define UNDEFINED 0xFFFFFFFF - --- -2.25.0 - diff --git a/package/uboot-tools/0003-tools-Makefile-fix-C-LD-FLAGS-with-CROSS_BUILD_TOOLS.patch b/package/uboot-tools/0003-tools-Makefile-fix-C-LD-FLAGS-with-CROSS_BUILD_TOOLS.patch new file mode 100644 index 00000000000..502458e219d --- /dev/null +++ b/package/uboot-tools/0003-tools-Makefile-fix-C-LD-FLAGS-with-CROSS_BUILD_TOOLS.patch @@ -0,0 +1,34 @@ +From 3b89170333ef0fdfffee14751ce3e1d66d7dfa00 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 14 Sep 2021 19:08:02 +0200 +Subject: [PATCH] tools/Makefile: fix {C,LD}FLAGS with CROSS_BUILD_TOOLS + +When CROSS_BUILD_TOOLS is set, set KBUILD_HOST{CF,LD}FLAGS to +{C,LD}FLAGS otherwise CC will be used with HOST{C,LD}FLAGS which seems +wrong. + +It should be noted that, for an unknown reason, overriding +HOST{C,LD}FLAGS don't work. + +Signed-off-by: Fabrice Fontaine +--- + tools/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tools/Makefile b/tools/Makefile +index 4a86321f64..98bb92990d 100644 +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -316,7 +316,8 @@ subdir- += env + + ifneq ($(CROSS_BUILD_TOOLS),) + override HOSTCC = $(CC) +-override HOSTCFLAGS = $(CFLAGS) ++override KBUILD_HOSTCFLAGS = $(CFLAGS) ++override KBUILD_HOSTLDFLAGS = $(LDFLAGS) + + quiet_cmd_crosstools_strip = STRIP $^ + cmd_crosstools_strip = $(STRIP) $^; touch $@ +-- +2.33.0 + diff --git a/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch b/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch deleted file mode 100644 index f5d9c2b2ca3..00000000000 --- a/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 664ef61e19d6261d8984493b5f22127ec2ad44fc Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 10 May 2020 23:15:32 +0200 -Subject: [PATCH] tools/env/fw_env.h: remove env.h - -As reported by Nicolas Carrier on the Buildroot mailing list [1], -there is a new build issue while building a program which interacts with -the u-boot environment. This program uses the headers of the ubootenv -library provided by uboot-tools. - -This is an upstream change from uboot [2] adding "#include " to -fw_env.h. Adding env.h require a board configuration to build. - -But only fw_env.h header is installed in the staging directory by -uboot-tools package, but since it now include env.h the build is broken -because env.h is missing from the staging directory. - -It's seems an upstream bug since env_set() is not used in fw_env tool. - -Adding env.h is an error since it also include compiler.h (and others -uboot internal includes). - -Nicolas removed env.h from fw_env tool and fixed it's build issue. - -This problem is present since uboot v2019.10, so the uboot version -present in Buildroot 2020.02 is affected. - -[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html -[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e - -Reported-by: Nicolas Carrier -Signed-off-by: Romain Naour -Upstream: https://gitlab.denx.de/u-boot/u-boot/-/commit/2aca8804d8d5f84d2d661e76e8d232c5c12445b5 ---- - tools/env/fw_env.h | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h -index b60fbfc8f8..78c803c944 100644 ---- a/tools/env/fw_env.h -+++ b/tools/env/fw_env.h -@@ -4,7 +4,6 @@ - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - */ - --#include - #include - - /* --- -2.25.4 - diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in index 681f87b45f5..e8bbf3a16ef 100644 --- a/package/uboot-tools/Config.in +++ b/package/uboot-tools/Config.in @@ -66,6 +66,14 @@ config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE The mkimage tool from Das U-Boot bootloader, which allows generation of U-Boot images in various formats. +config BR2_PACKAGE_UBOOT_TOOLS_MKEFICAPSULE + bool "mkeficapsule" + help + Install the mkeficapsule tool on the target system + + The mkeficapsule tool from Das U-Boot bootloader, which allows + generation of UEFI capsule binaries. + config BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE bool "mkenvimage" help diff --git a/package/uboot-tools/uboot-tools.hash b/package/uboot-tools/uboot-tools.hash index 8274246cf60..5a48926ebe2 100644 --- a/package/uboot-tools/uboot-tools.hash +++ b/package/uboot-tools/uboot-tools.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372 u-boot-2020.04.tar.bz2 +sha256 312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e u-boot-2021.07.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index c4006fe3deb..26450b7adf3 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -UBOOT_TOOLS_VERSION = 2020.04 +UBOOT_TOOLS_VERSION = 2021.07 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPL-2.0+ @@ -20,6 +20,10 @@ HOST_UBOOT_TOOLS_DEPENDENCIES = $(BR2_MAKE_HOST_DEPENDENCY) define UBOOT_TOOLS_CONFIGURE_CMDS mkdir -p $(@D)/include/config touch $(@D)/include/config/auto.conf + mkdir -p $(@D)/include/generated + touch $(@D)/include/generated/autoconf.h + mkdir -p $(@D)/include/asm + touch $(@D)/include/asm/linkage.h endef UBOOT_TOOLS_MAKE_OPTS = CROSS_COMPILE="$(TARGET_CROSS)" \ @@ -38,6 +42,10 @@ UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT_SIGNATURE=y CONFIG_FIT_SIGNATURE_MAX_SIZE=0x UBOOT_TOOLS_DEPENDENCIES += openssl host-pkgconf endif +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKEFICAPSULE),y) +UBOOT_TOOLS_MAKE_OPTS += CONFIG_EFI_HAVE_CAPSULE_SUPPORT=y +endif + ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FIT_CHECK_SIGN),y) define UBOOT_TOOLS_INSTALL_FIT_CHECK_SIGN $(INSTALL) -m 0755 -D $(@D)/tools/fit_check_sign $(TARGET_DIR)/usr/bin/fit_check_sign @@ -57,6 +65,12 @@ define UBOOT_TOOLS_INSTALL_MKIMAGE endef endif +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKEFICAPSULE),y) +define UBOOT_TOOLS_INSTALL_MKEFICAPSULE + $(INSTALL) -m 0755 -D $(@D)/tools/mkeficapsule $(TARGET_DIR)/usr/bin/mkeficapsule +endef +endif + ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE),y) define UBOOT_TOOLS_INSTALL_MKENVIMAGE $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(TARGET_DIR)/usr/bin/mkenvimage @@ -83,6 +97,7 @@ endef define UBOOT_TOOLS_INSTALL_TARGET_CMDS $(UBOOT_TOOLS_INSTALL_MKIMAGE) + $(UBOOT_TOOLS_INSTALL_MKEFICAPSULE) $(UBOOT_TOOLS_INSTALL_MKENVIMAGE) $(UBOOT_TOOLS_INSTALL_FWPRINTENV) $(UBOOT_TOOLS_INSTALL_DUMPIMAGE) @@ -94,11 +109,16 @@ endef define HOST_UBOOT_TOOLS_CONFIGURE_CMDS mkdir -p $(@D)/include/config touch $(@D)/include/config/auto.conf + mkdir -p $(@D)/include/generated + touch $(@D)/include/generated/autoconf.h + mkdir -p $(@D)/include/asm + touch $(@D)/include/asm/linkage.h endef HOST_UBOOT_TOOLS_MAKE_OPTS = HOSTCC="$(HOSTCC)" \ HOSTCFLAGS="$(HOST_CFLAGS)" \ - HOSTLDFLAGS="$(HOST_LDFLAGS)" + HOSTLDFLAGS="$(HOST_LDFLAGS)" \ + CONFIG_EFI_HAVE_CAPSULE_SUPPORT=y ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT),y) HOST_UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y CONFIG_MKIMAGE_DTC_PATH=dtc @@ -152,11 +172,12 @@ endif #BR_BUILDING define HOST_UBOOT_TOOLS_GENERATE_ENVIMAGE $(HOST_UBOOT_TOOLS_GENERATE_ENV_DEFAULTS) - $(@D)/tools/mkenvimage -s $(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE) \ + cat $(UBOOT_TOOLS_GENERATE_ENV_FILE) | \ + $(@D)/tools/mkenvimage -s $(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE) \ $(if $(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_REDUNDANT),-r) \ $(if $(filter "BIG",$(BR2_ENDIAN)),-b) \ -o $(@D)/tools/uboot-env.bin \ - $(UBOOT_TOOLS_GENERATE_ENV_FILE) + - endef define HOST_UBOOT_TOOLS_INSTALL_ENVIMAGE $(INSTALL) -m 0755 -D $(@D)/tools/uboot-env.bin $(BINARIES_DIR)/uboot-env.bin @@ -188,6 +209,7 @@ endef define HOST_UBOOT_TOOLS_INSTALL_CMDS $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/bin/mkimage + $(INSTALL) -m 0755 -D $(@D)/tools/mkeficapsule $(HOST_DIR)/bin/mkeficapsule $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(HOST_DIR)/bin/mkenvimage $(INSTALL) -m 0755 -D $(@D)/tools/dumpimage $(HOST_DIR)/bin/dumpimage $(HOST_UBOOT_TOOLS_INSTALL_ENVIMAGE) @@ -201,15 +223,15 @@ $(eval $(host-generic-package)) MKIMAGE = $(HOST_DIR)/bin/mkimage -# mkimage supports arm blackfin m68k microblaze mips mips64 nios2 powerpc ppc sh sparc sparc64 x86 -# KERNEL_ARCH can be arm64 arc arm blackfin m68k microblaze mips nios2 powerpc sh sparc i386 x86_64 xtensa -# For arm64, arc, xtensa we'll just keep KERNEL_ARCH -# For mips64, we'll just keep mips -# For i386 and x86_64, we need to convert -ifeq ($(KERNEL_ARCH),x86_64) -MKIMAGE_ARCH = x86 -else ifeq ($(KERNEL_ARCH),i386) +# mkimage supports alpha arc arm arm64 blackfin ia64 invalid m68k microblaze mips mips64 nds32 nios2 or1k powerpc riscv s390 sandbox sh sparc sparc64 x86 x86_64 xtensa +# NORMALIZED_ARCH can be arm64 arc arm blackfin m68k microblaze mips nios2 powerpc sh sparc i386 x86_64 xtensa +# For i386, we need to convert +# For openrisc, we need to convert +# For others, we'll just keep NORMALIZED_ARCH +ifeq ($(NORMALIZED_ARCH),i386) MKIMAGE_ARCH = x86 +else ifeq ($(NORMALIZED_ARCH),openrisc) +MKIMAGE_ARCH = or1k else -MKIMAGE_ARCH = $(KERNEL_ARCH) +MKIMAGE_ARCH = $(NORMALIZED_ARCH) endif diff --git a/package/ubus/Config.in b/package/ubus/Config.in index 28bf8e9ae4b..391893e808c 100644 --- a/package/ubus/Config.in +++ b/package/ubus/Config.in @@ -19,7 +19,7 @@ config BR2_PACKAGE_UBUS * Select BR2_PACKAGE_LUA_5_1 if you want to have Lua support. - https://wiki.openwrt.org/doc/techref/ubus + https://openwrt.org/docs/techref/ubus if BR2_PACKAGE_UBUS diff --git a/package/ubus/ubus.hash b/package/ubus/ubus.hash index 1fcea368518..2b7181e5d23 100644 --- a/package/ubus/ubus.hash +++ b/package/ubus/ubus.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 011566b2be426f572d397b44a7c12baa50a9b949232e5a6075eba613e1c3f7ae ubus-34c6e818e431cc53478a0f7c7c1eca07d194d692-br1.tar.gz -sha256 f53187f011575f6ec6c529136fd4658d67e674227c80b7b72c99b3654454ae7f ubusd_acl.h +sha256 275d184006f2f60c9b0172d8fd0ccc8952f182960c0d3d0945be640873c1bef6 ubus-a72457b61df045d3c499a6211362b751710590d7-br1.tar.gz +sha256 a3caa6c0e90c87b7c97c2ac3d0c0d416082ef777215faec2e9b24ea6e68f6988 ubusd_acl.h diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk index 5fb57ead01b..fa856fb36ac 100644 --- a/package/ubus/ubus.mk +++ b/package/ubus/ubus.mk @@ -4,8 +4,9 @@ # ################################################################################ -UBUS_VERSION = 34c6e818e431cc53478a0f7c7c1eca07d194d692 -UBUS_SITE = git://git.openwrt.org/project/ubus.git +UBUS_VERSION = a72457b61df045d3c499a6211362b751710590d7 +UBUS_SITE = https://git.openwrt.org/project/ubus.git +UBUS_SITE_METHOD = git UBUS_LICENSE = LGPL-2.1 UBUS_LICENSE_FILES = ubusd_acl.h diff --git a/package/uclibc/0001-arch-sh-Add-64-bit-time-types-from-kernel.patch b/package/uclibc/0001-arch-sh-Add-64-bit-time-types-from-kernel.patch deleted file mode 100644 index aec8fcda9fe..00000000000 --- a/package/uclibc/0001-arch-sh-Add-64-bit-time-types-from-kernel.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 385f2b18ccde15f72a6e8aee4c960a5bc18481d7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Geoffrey=20Le=20Gourri=C3=A9rec?= - -Date: Tue, 26 Jan 2021 20:39:36 +0100 -Subject: [PATCH] arch/sh: Add 64-bit time types from kernel - ---- - libc/sysdeps/linux/sh/bits/kernel_types.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libc/sysdeps/linux/sh/bits/kernel_types.h b/libc/sysdeps/linux/sh/bits/kernel_types.h -index ac97261e6..90b2e66b6 100644 ---- a/libc/sysdeps/linux/sh/bits/kernel_types.h -+++ b/libc/sysdeps/linux/sh/bits/kernel_types.h -@@ -21,6 +21,7 @@ typedef unsigned int __kernel_size_t; - typedef int __kernel_ssize_t; - typedef int __kernel_ptrdiff_t; - typedef long __kernel_time_t; -+typedef long long __kernel_time64_t; - typedef long __kernel_suseconds_t; - typedef long __kernel_clock_t; - typedef int __kernel_daddr_t; -@@ -33,6 +34,7 @@ typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; - typedef long __kernel_long_t; -+typedef __kernel_long_t __kernel_old_time_t; - typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - --- -2.17.1 - diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in index e59fef3c69e..310414bebca 100644 --- a/package/uclibc/Config.in +++ b/package/uclibc/Config.in @@ -53,7 +53,8 @@ config BR2_PTHREADS_NATIVE config BR2_PTHREADS bool "linuxthreads" - depends on BR2_m68k || BR2_microblaze || BR2_or1k || BR2_arm || BR2_armeb || BR2_xtensa + depends on !BR2_aarch64 && !BR2_aarch64_be + depends on !BR2_RISCV_64 select BR2_TOOLCHAIN_HAS_THREADS config BR2_PTHREADS_NONE @@ -123,7 +124,6 @@ config BR2_UCLIBC_MIPS_NAN config BR2_UCLIBC_SH_TYPE string - default "SH2A" if BR2_sh2a default "SH4" if BR2_sh4 || BR2_sh4eb depends on BR2_UCLIBC_TARGET_ARCH = "sh" diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index e8bd5c51920..3b29c351b53 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,4 +1,4 @@ -# From https://downloads.uclibc-ng.org/releases/1.0.37/uClibc-ng-1.0.37.tar.xz.sha256 -sha256 b2b815d20645cf604b99728202bf3ecb62507ce39dfa647884b4453caf86212c uClibc-ng-1.0.37.tar.xz +# From https://downloads.uclibc-ng.org/releases/1.0.41/uClibc-ng-1.0.41.tar.xz.sha256 +sha256 b32a92a0218d95922d6976464e6ef51e2ebacfbcdb605820458d9dbb8a61e025 uClibc-ng-1.0.41.tar.xz # Locally calculated sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 53983e852de..5006aa0cb6f 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,16 +4,14 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.37 +UCLIBC_VERSION = 1.0.41 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz UCLIBC_SITE = https://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_LICENSE = LGPL-2.1+ UCLIBC_LICENSE_FILES = COPYING.LIB UCLIBC_INSTALL_STAGING = YES - -define UCLIBC_HELP_CMDS - @echo ' uclibc-menuconfig - Run uClibc menuconfig' -endef +UCLIBC_CPE_ID_VENDOR = uclibc-ng_project +UCLIBC_CPE_ID_PRODUCT = uclibc-ng # uclibc is part of the toolchain so disable the toolchain dependency UCLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO @@ -28,6 +26,7 @@ ifndef UCLIBC_CONFIG_FILE UCLIBC_CONFIG_FILE = $(call qstrip,$(BR2_UCLIBC_CONFIG)) endif +UCLIBC_KCONFIG_EDITORS = menuconfig nconfig UCLIBC_KCONFIG_FILE = $(UCLIBC_CONFIG_FILE) UCLIBC_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_UCLIBC_CONFIG_FRAGMENT_FILES)) @@ -363,10 +362,18 @@ endif # Commands # +UCLIBC_EXTRA_CFLAGS = $(TARGET_ABI) + +# uClibc-ng does not build with LTO, so explicitly disable it +# when using a compiler that may have support for LTO +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7),y) +UCLIBC_EXTRA_CFLAGS += -fno-lto +endif + UCLIBC_MAKE_FLAGS = \ ARCH="$(UCLIBC_TARGET_ARCH)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ - UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \ + UCLIBC_EXTRA_CFLAGS="$(UCLIBC_EXTRA_CFLAGS)" \ HOSTCC="$(HOSTCC)" define UCLIBC_KCONFIG_FIXUP_CMDS diff --git a/package/udev/udev.mk b/package/udev/udev.mk index 05b35b21f0b..d70d13ebb3d 100644 --- a/package/udev/udev.mk +++ b/package/udev/udev.mk @@ -4,10 +4,9 @@ # ################################################################################ -# Required by default rules for input devices +# Required by default rules define UDEV_USERS - - input -1 * - - - Input device group - - - render -1 * - - - DRI rendering nodes - - kvm -1 * - - - kvm nodes endef diff --git a/package/udftools/udftools.hash b/package/udftools/udftools.hash index 630a3427ebe..5b3f10d37dc 100644 --- a/package/udftools/udftools.hash +++ b/package/udftools/udftools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d67ce203d71d828619d6d3791ab33eefab4bc506e0ee73355ab6c2f91d52448e udftools-2.2.tar.gz -sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 750dcf5c797765eb42265e0a56d1a99f97f94b7f6f4534263a5410503f0caf59 udftools-2.3.tar.gz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/udftools/udftools.mk b/package/udftools/udftools.mk index db7c13cc77d..7dc1c57eb22 100644 --- a/package/udftools/udftools.mk +++ b/package/udftools/udftools.mk @@ -4,7 +4,7 @@ # ################################################################################ -UDFTOOLS_VERSION = 2.2 +UDFTOOLS_VERSION = 2.3 UDFTOOLS_SITE = https://github.com/pali/udftools/releases/download/$(UDFTOOLS_VERSION) UDFTOOLS_LICENSE = GPL-2.0+ UDFTOOLS_LICENSE_FILES = COPYING diff --git a/package/udisks/0001-fix-build-with-newer-glibc-versions.patch b/package/udisks/0001-fix-build-with-newer-glibc-versions.patch deleted file mode 100644 index 336fc440a64..00000000000 --- a/package/udisks/0001-fix-build-with-newer-glibc-versions.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix build with newer glibc versions - -This patch has been backported from upstream: - -http://cgit.freedesktop.org/udisks/commit/?h=udisks1&id=9829152b12a8924d2e091a00133ed1a3a7ba75c0 - -Signed-off-by: Vicente Olivert Riera - -From 9829152b12a8924d2e091a00133ed1a3a7ba75c0 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev -Date: Fri, 29 May 2015 21:09:39 -0400 -Subject: fix build with newer glibc versions - -https://bugs.freedesktop.org/show_bug.cgi?id=90778 - -diff --git a/src/helpers/job-drive-detach.c b/src/helpers/job-drive-detach.c -index eeafcab..d122a1f 100644 ---- a/src/helpers/job-drive-detach.c -+++ b/src/helpers/job-drive-detach.c -@@ -18,6 +18,7 @@ - * - */ - -+#include - #include - #include - #include --- -cgit v0.10.2 diff --git a/package/udisks/0002-Fix-systemd-service-file.patch b/package/udisks/0002-Fix-systemd-service-file.patch deleted file mode 100644 index ea347aef738..00000000000 --- a/package/udisks/0002-Fix-systemd-service-file.patch +++ /dev/null @@ -1,33 +0,0 @@ -From bf8b4362cef24a6f747e4329305a4939c8f585d1 Mon Sep 17 00:00:00 2001 -From: David King -Date: Thu, 2 Jul 2015 13:49:22 +0100 -Subject: [PATCH] Fix systemd service file - -udisks-daemon is installed to $(libexecdir), not $(prefix)/lib/udisks. - -https://bugzilla.redhat.com/show_bug.cgi?id=1238664 -https://bugs.freedesktop.org/show_bug.cgi?id=91191 - -[This patch has been backported from upstream: -https://cgit.freedesktop.org/udisks/commit/?h=udisks1&id=bf8b4362cef24a6f747e4329305a4939c8f585d1] -Signed-off-by: Pieterjan Camerlynck ---- - data/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/data/Makefile.am b/data/Makefile.am -index 411ea0f..08af5f4 100644 ---- a/data/Makefile.am -+++ b/data/Makefile.am -@@ -31,7 +31,7 @@ systemdservicedir = $(systemdsystemunitdir) - systemdservice_DATA = $(systemdservice_in_files:.service.in=.service) - - $(systemdservice_DATA): $(systemdservice_in_files) Makefile -- @sed -e "s|\@libexecdir\@|$(prefix)/lib/udisks|" $< > $@ -+ @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ - endif - - udevrulesdir = $(slashlibdir)/udev/rules.d --- -2.7.4 - diff --git a/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch b/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch deleted file mode 100644 index 71152e5de3a..00000000000 --- a/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch +++ /dev/null @@ -1,81 +0,0 @@ -From d934b0fa5ce24a8fd1987b916e435ba991c2ef64 Mon Sep 17 00:00:00 2001 -From: Vadim Kochan -Date: Mon, 31 Dec 2018 11:00:46 +0200 -Subject: [PATCH] Fix compilation issue due to missing sys/sysmacros.h include - -glibc 2.28+ no longer include from , so - must now be explicitly included to use the major, -minor and makedev macros. - -Signed-off-by: Vadim Kochan ---- - src/daemon.c | 1 + - src/device.c | 1 + - src/mount-monitor.c | 1 + - tools/udisks.c | 1 + - tools/umount-udisks.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/src/daemon.c b/src/daemon.c -index fafcf9a..4303a6d 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -45,6 +45,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/device.c b/src/device.c -index 2ae7f38..20920df 100644 ---- a/src/device.c -+++ b/src/device.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/mount-monitor.c b/src/mount-monitor.c -index 573a69c..0cfa167 100644 ---- a/src/mount-monitor.c -+++ b/src/mount-monitor.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - - #include -diff --git a/tools/udisks.c b/tools/udisks.c -index 97e80d7..22a7d87 100644 ---- a/tools/udisks.c -+++ b/tools/udisks.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/tools/umount-udisks.c b/tools/umount-udisks.c -index 2813fe0..d915660 100644 ---- a/tools/umount-udisks.c -+++ b/tools/umount-udisks.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.14.1 - diff --git a/package/udisks/Config.in b/package/udisks/Config.in index efd3b619bf4..a3a0f82144e 100644 --- a/package/udisks/Config.in +++ b/package/udisks/Config.in @@ -1,24 +1,29 @@ config BR2_PACKAGE_UDISKS bool "udisks" depends on BR2_ENABLE_LOCALE # parted - depends on BR2_HOST_GCC_AT_LEAST_4_9 # spidermonkey - depends on BR2_INSTALL_LIBSTDCPP # spidermonkey depends on BR2_PACKAGE_HAS_UDEV - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS # spidermonkey - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # spidermonkey - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # polkit - depends on BR2_USE_MMU # lvm2 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> C++17 + depends on BR2_TOOLCHAIN_HAS_THREADS # polkit depends on BR2_USE_WCHAR # dbus-glib -> glib2 - depends on !BR2_TOOLCHAIN_USES_UCLIBC # polkit, lvm2 - depends on !BR2_STATIC_LIBS # lvm2, spidermonkey + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libblockdev -> cryptsetup -> json-c + depends on !BR2_STATIC_LIBS # polkit -> duktape + depends on !BR2_OPTIMIZE_FAST # polkit -> duktape select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB select BR2_PACKAGE_LIBATASMART + select BR2_PACKAGE_LIBBLOCKDEV + select BR2_PACKAGE_LIBBLOCKDEV_CRYPTO + select BR2_PACKAGE_LIBBLOCKDEV_FS + select BR2_PACKAGE_LIBBLOCKDEV_LOOP + select BR2_PACKAGE_LIBBLOCKDEV_MDRAID + select BR2_PACKAGE_LIBBLOCKDEV_PART + select BR2_PACKAGE_LIBBLOCKDEV_SWAP select BR2_PACKAGE_LIBGUDEV - select BR2_PACKAGE_LVM2 select BR2_PACKAGE_PARTED select BR2_PACKAGE_POLKIT select BR2_PACKAGE_SG3_UTILS + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT help The udisks project provides @@ -31,32 +36,16 @@ config BR2_PACKAGE_UDISKS http://www.freedesktop.org/wiki/Software/udisks -if BR2_PACKAGE_UDISKS - -config BR2_PACKAGE_UDISKS_LVM2 - bool "lvm2 support" - # The lvm app library can't compile against musl - depends on BR2_TOOLCHAIN_USES_GLIBC - select BR2_PACKAGE_LVM2_APP_LIBRARY - help - Enable LVM2 support - -comment "lvm2 support needs a glibc toolchain" - depends on !BR2_TOOLCHAIN_USES_GLIBC - -endif - comment "udisks needs udev /dev management" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV -comment "udisks needs a glibc or musl toolchain with locale, C++, wchar, dynamic library, NPTL, gcc >= 4.9" +comment "udisks needs a toolchain with dynamic library, locale, wchar, threads, gcc >= 7" depends on BR2_USE_MMU - depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS - depends on !BR2_ENABLE_LOCALE || BR2_TOOLCHAIN_USES_UCLIBC || \ - !BR2_INSTALL_LIBSTDCPP || \ - BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \ + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + +comment "udisks can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/udisks/udisks.hash b/package/udisks/udisks.hash index b40161e3237..ade4982a0b2 100644 --- a/package/udisks/udisks.hash +++ b/package/udisks/udisks.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f2ec82eb0ea7e01dc299b5b29b3c18cdf861236ec43dcff66b3552b4b31c6f71 udisks-1.0.5.tar.gz -sha256 7d30f41a79a9b453b4972a6d7e3425ff104b39232891bde8ba659f1adb21f771 COPYING +sha256 b6b60ebab0d5e09624120c5d158882e87d8c2473db60783b63deeba74cb18d1c udisks-2.9.4.tar.bz2 +sha256 98046e932dc6c739001e79d7079a3bd958fc55475dcd917d27f884c0c93525cc COPYING diff --git a/package/udisks/udisks.mk b/package/udisks/udisks.mk index c6119a8b808..2bf519a2ccf 100644 --- a/package/udisks/udisks.mk +++ b/package/udisks/udisks.mk @@ -4,29 +4,39 @@ # ################################################################################ -UDISKS_VERSION = 1.0.5 -UDISKS_SITE = http://hal.freedesktop.org/releases +UDISKS_VERSION = 2.9.4 +UDISKS_SOURCE = udisks-$(UDISKS_VERSION).tar.bz2 +UDISKS_SITE = https://github.com/storaged-project/udisks/releases/download/udisks-$(UDISKS_VERSION) UDISKS_LICENSE = GPL-2.0+ UDISKS_LICENSE_FILES = COPYING -# For 0002-Fix-systemd-service-file.patch -UDISKS_AUTORECONF = YES +UDISKS_CPE_ID_VENDOR = freedesktop UDISKS_DEPENDENCIES = \ host-pkgconf \ dbus \ dbus-glib \ libatasmart \ + libblockdev \ libgudev \ - lvm2 \ parted \ polkit \ sg3_utils \ - udev + udev \ + util-linux -UDISKS_CONF_OPTS = --disable-remote-access --disable-man-pages - -ifeq ($(BR2_PACKAGE_UDISKS_LVM2),y) -UDISKS_CONF_OPTS += --enable-lvm2 -endif +UDISKS_CONF_OPTS = \ + --disable-acl \ + --disable-bcache \ + --disable-btrfs \ + --disable-fhs-media \ + --disable-introspection \ + --disable-iscsi \ + --disable-lsm \ + --disable-lvm2 \ + --disable-lvmcache \ + --disable-man \ + --disable-rpath \ + --disable-vdo \ + --disable-zram $(eval $(autotools-package)) diff --git a/package/udpcast/Config.in b/package/udpcast/Config.in index ef94b30a99e..cc38c6e57c5 100644 --- a/package/udpcast/Config.in +++ b/package/udpcast/Config.in @@ -6,6 +6,8 @@ config BR2_PACKAGE_UDPCAST bool "udpcast" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_UDPCAST_SENDER \ + if !BR2_PACKAGE_UDPCAST_RECEIVER help A multicast protocol implementation which happens to be very handy for imaging drives over the network. diff --git a/package/udpcast/udpcast.mk b/package/udpcast/udpcast.mk index 34ebddd2d57..4c151bb41f5 100644 --- a/package/udpcast/udpcast.mk +++ b/package/udpcast/udpcast.mk @@ -9,23 +9,15 @@ UDPCAST_SITE = http://www.udpcast.linux.lu/download UDPCAST_DEPENDENCIES = host-m4 UDPCAST_LICENSE = BSD-2-Clause, GPL-2.0+ UDPCAST_LICENSE_FILES = COPYING +UDPCAST_TARGETS = \ + $(if $(BR2_PACKAGE_UDPCAST_RECEIVER),udp-receiver) \ + $(if $(BR2_PACKAGE_UDPCAST_SENDER),udp-sender) +UDPCAST_MAKE_OPTS = $(UDPCAST_TARGETS) -define UDPCAST_REMOVE_UDP_SENDER - rm -f $(TARGET_DIR)/usr/sbin/udp-sender - rm -f $(TARGET_DIR)/usr/sbin/udp-sender.1 +define UDPCAST_INSTALL_TARGET_CMDS + $(foreach f,$(UDPCAST_TARGETS),\ + $(INSTALL) -D -m 755 $(@D)/$(f) $(TARGET_DIR)/usr/sbin/$(f) + ) endef -ifneq ($(BR2_PACKAGE_UDPCAST_SENDER),y) -UDPCAST_POST_INSTALL_TARGET_HOOKS += UDPCAST_REMOVE_UDP_SENDER -endif - -define UDPCAST_REMOVE_UDP_RECEIVER - rm -f $(TARGET_DIR)/usr/sbin/udp-receiver - rm -f $(TARGET_DIR)/usr/sbin/udp-receiver.1 -endef - -ifneq ($(BR2_PACKAGE_UDPCAST_RECEIVER),y) -UDPCAST_POST_INSTALL_TARGET_HOOKS += UDPCAST_REMOVE_UDP_RECEIVER -endif - $(eval $(autotools-package)) diff --git a/package/uftrace/0001-cmds-records-replace-ADDR_NO_RANDOMIZE-by-its-value.patch b/package/uftrace/0001-cmds-records-replace-ADDR_NO_RANDOMIZE-by-its-value.patch new file mode 100644 index 00000000000..6913012c3b4 --- /dev/null +++ b/package/uftrace/0001-cmds-records-replace-ADDR_NO_RANDOMIZE-by-its-value.patch @@ -0,0 +1,33 @@ +From dc0a75b1679debbc3712b262e5127e90961f92db Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 23 Apr 2021 22:57:56 +0200 +Subject: [PATCH] cmds/records: replace ADDR_NO_RANDOMIZE by its value + +uClibc-ng lacks the definition of ADDR_NO_RANDOMIZE, causing a build +failure. A patch was submitted to upstream uClibc-ng to address this +issue, but in the mean time, use an hardcoded value. + +Using a #ifdef ... #endif test doesn't work as this value is defined +through an enum in glibc. + +Signed-off-by: Thomas Petazzoni +--- + cmds/record.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmds/record.c b/cmds/record.c +index e750f053..fc4eaed4 100644 +--- a/cmds/record.c ++++ b/cmds/record.c +@@ -2110,7 +2110,7 @@ int do_child_exec(int ready, struct opts *opts, + + if (opts->no_randomize_addr) { + /* disable ASLR (Address Space Layout Randomization) */ +- if (personality(ADDR_NO_RANDOMIZE) < 0) ++ if (personality(0x0040000 /* ADDR_NO_RANDOMIZE */) < 0) + pr_dbg("disabling ASLR failed\n"); + } + +-- +2.30.2 + diff --git a/package/uftrace/0002-arch-arm-mcount-support.c-define-EF_ARM_VFP_FLOAT-wh.patch b/package/uftrace/0002-arch-arm-mcount-support.c-define-EF_ARM_VFP_FLOAT-wh.patch new file mode 100644 index 00000000000..03fba886936 --- /dev/null +++ b/package/uftrace/0002-arch-arm-mcount-support.c-define-EF_ARM_VFP_FLOAT-wh.patch @@ -0,0 +1,31 @@ +From 4e543097e62eb052650433d1d4c9c5996d30f242 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 23 Apr 2021 23:06:01 +0200 +Subject: [PATCH] arch/arm/mcount-support.c: define EF_ARM_VFP_FLOAT when not + available + +uClibc-ng doesn't define EF_ARM_VFP_FLOAT, so let's define it. + +Signed-off-by: Thomas Petazzoni +--- + arch/arm/mcount-support.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm/mcount-support.c b/arch/arm/mcount-support.c +index 8d23460b..51331740 100644 +--- a/arch/arm/mcount-support.c ++++ b/arch/arm/mcount-support.c +@@ -3,6 +3,10 @@ + #include + #include + ++#ifndef EF_ARM_VFP_FLOAT ++# define EF_ARM_VFP_FLOAT 0x400 ++#endif ++ + #ifndef EF_ARM_ABI_FLOAT_HARD + # define EF_ARM_ABI_FLOAT_HARD EF_ARM_VFP_FLOAT + #endif +-- +2.30.2 + diff --git a/package/uftrace/Config.in b/package/uftrace/Config.in new file mode 100644 index 00000000000..8f8c5d25fde --- /dev/null +++ b/package/uftrace/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_UFTRACE_ARCH_SUPPORTS + bool + default y if BR2_ARM_CPU_ARMV6 || BR2_ARM_CPU_ARMV7A + default y if BR2_aarch64 + default y if BR2_i386 + default y if BR2_x86_64 + +config BR2_PACKAGE_UFTRACE + bool "uftrace" + depends on BR2_PACKAGE_UFTRACE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np() + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_ARGP_STANDALONE if \ + BR2_TOOLCHAIN_USES_UCLIBC || \ + BR2_TOOLCHAIN_USES_MUSL + help + The uftrace tool is to trace and analyze execution of a + program written in C/C++. It was heavily inspired by the + ftrace framework of the Linux kernel (especially function + graph tracer) and supports userspace programs. + It supports various kind of commands and filters to help + analysis of the program execution and performance. + + https://github.com/namhyung/uftrace + +comment "uftrace needs a toolchain w/ NPTL, dynamic library" + depends on BR2_PACKAGE_UFTRACE_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/uftrace/uftrace.hash b/package/uftrace/uftrace.hash new file mode 100644 index 00000000000..43831d72a72 --- /dev/null +++ b/package/uftrace/uftrace.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 b8b56d540ea95c3eafe56440d6a998e0a140d53ca2584916b6ca82702795bbd9 uftrace-0.10.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/uftrace/uftrace.mk b/package/uftrace/uftrace.mk new file mode 100644 index 00000000000..b487b306954 --- /dev/null +++ b/package/uftrace/uftrace.mk @@ -0,0 +1,60 @@ +################################################################################ +# +# uftrace +# +################################################################################ + +UFTRACE_VERSION = 0.10 +UFTRACE_SITE = $(call github,namhyung,uftrace,v$(UFTRACE_VERSION)) +UFTRACE_LICENSE = GPL-2.0 +UFTRACE_LICENSE_FILES = COPYING +UFTRACE_CONFIGURE_OPTS = \ + --without-libdw \ + --without-libpython \ + --without-libluajit \ + --without-libncurses \ + --without-capstone + +ifeq ($(BR2_i386),y) +UFTRACE_ARCH = i386 +else +UFTRACE_ARCH = $(BR2_ARCH) +endif + +# Only --without- options are supported. +ifeq ($(BR2_PACKAGE_ELFUTILS),y) +UFTRACE_DEPENDENCIES += elfutils +else +UFTRACE_CONFIGURE_OPTS += --without-libelf +endif + +ifeq ($(BR2_INSTALL_LIBSTDCPP),) +UFTRACE_CONFIGURE_OPTS += --without-libstdc++ +endif + +UFTRACE_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) +UFTRACE_DEPENDENCIES += argp-standalone +UFTRACE_LDFLAGS += -largp +endif + +define UFTRACE_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) \ + LDFLAGS="$(UFTRACE_LDFLAGS)" \ + ./configure \ + --arch=$(UFTRACE_ARCH) \ + --prefix=/usr \ + $(UFTRACE_CONFIGURE_OPTS) \ + -o $(@D)/.config) +endef + +define UFTRACE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define UFTRACE_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/uhd/0004-lib-Fix-missing-includes-in-rpc-hpp.patch b/package/uhd/0004-lib-Fix-missing-includes-in-rpc-hpp.patch new file mode 100644 index 00000000000..b287beec719 --- /dev/null +++ b/package/uhd/0004-lib-Fix-missing-includes-in-rpc-hpp.patch @@ -0,0 +1,28 @@ +From 9c4d9d826a6f40f199c526afd5ec168d5d088591 Mon Sep 17 00:00:00 2001 +From: Martin Braun +Date: Fri, 29 Jan 2021 12:23:50 +0100 +Subject: [PATCH] lib: Fix missing includes in rpc.hpp + +[Retrieved from: +https://github.com/EttusResearch/uhd/commit/9c4d9d826a6f40f199c526afd5ec168d5d088591] +Signed-off-by: Fabrice Fontaine +--- + host/lib/include/uhdlib/utils/rpc.hpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/host/lib/include/uhdlib/utils/rpc.hpp b/host/lib/include/uhdlib/utils/rpc.hpp +index e87a2ee324..ca89c10547 100644 +--- a/host/lib/include/uhdlib/utils/rpc.hpp ++++ b/host/lib/include/uhdlib/utils/rpc.hpp +@@ -12,7 +12,11 @@ + #include + #include + #include ++#include + #include ++#include ++#include ++#include + + namespace { + diff --git a/package/uhd/0005-core-remove-boost-math-in-favor-of-std-cmath.patch b/package/uhd/0005-core-remove-boost-math-in-favor-of-std-cmath.patch new file mode 100644 index 00000000000..9530b0213f0 --- /dev/null +++ b/package/uhd/0005-core-remove-boost-math-in-favor-of-std-cmath.patch @@ -0,0 +1,105 @@ +From dc187b5597779b14d0de4087db4aa54752a15d07 Mon Sep 17 00:00:00 2001 +From: Michael Dickens +Date: Fri, 2 Jul 2021 16:43:41 -0400 +Subject: [PATCH] core: remove boost::math in favor of std cmath + +YA Boost removal!!! + +Justification +--- +const int if_freq_sign = boost::math::sign(fe_conn.get_if_freq()); +_dsp_freq_offset = if_freq * (-if_freq_sign); +// boost::math::sign : 1 if x > 0, -1 if x < 0, and 0 if x is zero. +// ==> if if_freq_sign > 0 then * by -1 else +1 (effectively) + +// std::signbit : true if arg is negative, false otherwise +// ==> need 'not' of input argument to invert for same result as prior algorithm +double fe_if_freq = fe_conn.get_if_freq(); +if (!std::signbit(fe_if_freq)) { + if_freq *= -1.0; +} +--- +The above should result in the same algorithm except possibly +if fe_if_freq is exactly 0.0 in which case the results might be +off by the sign (+0.0 versus -0.0). + +[Retrieved from: +https://github.com/EttusResearch/uhd/commit/dc187b5597779b14d0de4087db4aa54752a15d07] +Signed-off-by: Fabrice Fontaine +--- + host/lib/usrp/cores/rx_dsp_core_3000.cpp | 15 ++++++++------- + host/lib/usrp/cores/rx_frontend_core_3000.cpp | 14 ++++++++------ + 2 files changed, 16 insertions(+), 13 deletions(-) + +diff --git a/host/lib/usrp/cores/rx_dsp_core_3000.cpp b/host/lib/usrp/cores/rx_dsp_core_3000.cpp +index 879748fa2..1c15180ae 100644 +--- a/host/lib/usrp/cores/rx_dsp_core_3000.cpp ++++ b/host/lib/usrp/cores/rx_dsp_core_3000.cpp +@@ -8,7 +8,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -81,19 +80,21 @@ class rx_dsp_core_3000_impl : public rx_dsp_core_3000 + _iface->poke32(REG_DSP_RX_MUX, reg_val); + + if (fe_conn.get_sampling_mode() == uhd::usrp::fe_connection_t::HETERODYNE) { +- // 1. Remember the sign of the IF frequency. +- // It will be discarded in the next step +- int if_freq_sign = boost::math::sign(fe_conn.get_if_freq()); ++ // 1. Remember the IF frequency ++ const double fe_if_freq = fe_conn.get_if_freq(); + // 2. Map IF frequency to the range [0, _tick_rate) +- double if_freq = std::abs(std::fmod(fe_conn.get_if_freq(), _tick_rate)); +- // 3. Map IF frequency to the range [-_tick_rate/2, _tick_rate/2) ++ double if_freq = std::abs(std::fmod(fe_if_freq, _tick_rate)); ++ // 3. Map IF frequency to the range [-_tick_rate/2, _tick_rate/2] + // This is the aliased frequency + if (if_freq > (_tick_rate / 2.0)) { + if_freq -= _tick_rate; + } + // 4. Set DSP offset to spin the signal in the opposite + // direction as the aliased frequency +- _dsp_freq_offset = if_freq * (-if_freq_sign); ++ if (!std::signbit(fe_if_freq)) { ++ if_freq *= -1.0; ++ } ++ _dsp_freq_offset = if_freq; + } else { + _dsp_freq_offset = 0.0; + } +diff --git a/host/lib/usrp/cores/rx_frontend_core_3000.cpp b/host/lib/usrp/cores/rx_frontend_core_3000.cpp +index eef25f27d..b9d908534 100644 +--- a/host/lib/usrp/cores/rx_frontend_core_3000.cpp ++++ b/host/lib/usrp/cores/rx_frontend_core_3000.cpp +@@ -119,19 +119,21 @@ class rx_frontend_core_3000_impl : public rx_frontend_core_3000 + + UHD_ASSERT_THROW(_adc_rate != 0.0) + if (fe_conn.get_sampling_mode() == fe_connection_t::HETERODYNE) { +- // 1. Remember the sign of the IF frequency. +- // It will be discarded in the next step +- const int if_freq_sign = boost::math::sign(fe_conn.get_if_freq()); ++ // 1. Remember the IF frequency ++ const double fe_if_freq = fe_conn.get_if_freq(); + // 2. Map IF frequency to the range [0, _adc_rate) +- double if_freq = std::abs(std::fmod(fe_conn.get_if_freq(), _adc_rate)); +- // 3. Map IF frequency to the range [-_adc_rate/2, _adc_rate/2) ++ double if_freq = std::abs(std::fmod(fe_if_freq, _adc_rate)); ++ // 3. Map IF frequency to the range [-_adc_rate/2, _adc_rate/2] + // This is the aliased frequency + if (if_freq > (_adc_rate / 2.0)) { + if_freq -= _adc_rate; + } + // 4. Set DSP offset to spin the signal in the opposite + // direction as the aliased frequency +- const double cordic_freq = if_freq * (-if_freq_sign); ++ if (!std::signbit(fe_if_freq)) { ++ if_freq *= -1.0; ++ } ++ const double cordic_freq = if_freq; + UHD_ASSERT_THROW(uhd::math::fp_compare::fp_compare_epsilon(4.0) + == std::abs(_adc_rate / cordic_freq)); + diff --git a/package/uhd/0006-usrp2-Replace-boost-math-iround-math-sign-with-std-l.patch b/package/uhd/0006-usrp2-Replace-boost-math-iround-math-sign-with-std-l.patch new file mode 100644 index 00000000000..b0cbffc2451 --- /dev/null +++ b/package/uhd/0006-usrp2-Replace-boost-math-iround-math-sign-with-std-l.patch @@ -0,0 +1,57 @@ +From 3796175f32f0cc24c16809d8175d423bc7053de9 Mon Sep 17 00:00:00 2001 +From: StefanBruens +Date: Wed, 5 May 2021 18:24:58 +0200 +Subject: [PATCH] usrp2: Replace boost::math::iround/math::sign with std::lround + +Instead of multiplying zone with the sign repeatedly just make +the zone a signed value. + +See #437, #438 + +Signed-off-by: Aaron Rossetto +[gwenhael.goavec-merou@trabucayre.com: backport from upstream] +Signed-off-by: Gwenhael Goavec-Merou +--- + host/lib/usrp/usrp2/usrp2_impl.cpp | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp +index 1be4c7339..c0719a316 100644 +--- a/host/lib/usrp/usrp2/usrp2_impl.cpp ++++ b/host/lib/usrp/usrp2/usrp2_impl.cpp +@@ -22,6 +22,7 @@ + #include + #include //used for htonl and ntohl + #include ++#include + + using namespace uhd; + using namespace uhd::usrp; +@@ -844,20 +845,19 @@ double usrp2_impl::set_tx_dsp_freq( + _tree->access("/mboards/"+mb+"/tick_rate").get(); + + //calculate the DAC shift (multiples of rate) +- const int sign = boost::math::sign(new_freq); +- const int zone = std::min(boost::math::iround(new_freq/tick_rate), 2); +- const double dac_shift = sign*zone*tick_rate; ++ const int zone = std::max(std::min(std::lround(new_freq / tick_rate), 2), -2); ++ const double dac_shift = zone * tick_rate; + new_freq -= dac_shift; //update FPGA DSP target freq + UHD_LOG_TRACE("USRP2", + "DSP Tuning: Requested " + std::to_string(freq_/1e6) + " MHz, Using " +- "Nyquist zone " + std::to_string(sign*zone) + ", leftover DSP tuning: " ++ "Nyquist zone " + std::to_string(zone) + ", leftover DSP tuning: " + + std::to_string(new_freq/1e6) + " MHz."); + + //set the DAC shift (modulation mode) + if (zone == 0) { + _mbc[mb].codec->set_tx_mod_mode(0); //no shift + } else { +- _mbc[mb].codec->set_tx_mod_mode(sign*4/zone); //DAC interp = 4 ++ _mbc[mb].codec->set_tx_mod_mode(4 / zone); // DAC interp = 4 + } + + return _mbc[mb].tx_dsp->set_freq(new_freq) + dac_shift; //actual freq +-- +2.32.0 + diff --git a/package/uhd/0007-usrp2-Use-explicit-template-type-for-std-min-T.patch b/package/uhd/0007-usrp2-Use-explicit-template-type-for-std-min-T.patch new file mode 100644 index 00000000000..c5d303cd0a6 --- /dev/null +++ b/package/uhd/0007-usrp2-Use-explicit-template-type-for-std-min-T.patch @@ -0,0 +1,28 @@ +From d1c6290fe9c8b01068abfca6f272e2a1e031b9de Mon Sep 17 00:00:00 2001 +From: StefanBruens +Date: Wed, 5 May 2021 18:49:40 +0200 +Subject: [PATCH] usrp2: Use explicit template type for std::min + +Signed-off-by: Aaron Rossetto +[gwenhael.goavec-merou@trabucayre.com: backport from upstream] +Signed-off-by: Gwenhael Goavec-Merou +--- + host/lib/usrp/usrp2/usrp2_impl.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp +index 59fd9849c..e82a9fa71 100644 +--- a/host/lib/usrp/usrp2/usrp2_impl.cpp ++++ b/host/lib/usrp/usrp2/usrp2_impl.cpp +@@ -845,7 +845,7 @@ double usrp2_impl::set_tx_dsp_freq( + _tree->access("/mboards/"+mb+"/tick_rate").get(); + + //calculate the DAC shift (multiples of rate) +- const int zone = std::max(std::min(std::lround(new_freq / tick_rate), 2), -2); ++ const int zone = std::max(std::min(std::lround(new_freq / tick_rate), 2), -2); + const double dac_shift = zone * tick_rate; + new_freq -= dac_shift; //update FPGA DSP target freq + UHD_LOG_TRACE("USRP2", +-- +2.32.0 + diff --git a/package/uhd/Config.in b/package/uhd/Config.in index fae08875090..248e309dd5e 100644 --- a/package/uhd/Config.in +++ b/package/uhd/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_UHD bool "uhd" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # use fork() @@ -21,6 +21,7 @@ config BR2_PACKAGE_UHD select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_MATH select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_SERIALIZATION @@ -129,10 +130,14 @@ comment "USB support needs a toolchain w/ gcc >= 4.9" config BR2_PACKAGE_UHD_USRP1 bool "USRP1 support" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb select BR2_PACKAGE_UHD_USB help enable USRP1 support +comment "USRP1 support needs a toolchain w/ gcc >= 4.9" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + config BR2_PACKAGE_UHD_USRP2 bool "USRP2 support" help diff --git a/package/uhd/uhd.mk b/package/uhd/uhd.mk index a8001dfd748..e8f197f9dd3 100644 --- a/package/uhd/uhd.mk +++ b/package/uhd/uhd.mk @@ -15,11 +15,11 @@ UHD_INSTALL_STAGING = YES UHD_DEPENDENCIES = \ boost \ - $(if $(BR2_PACKAGE_PYTHON),host-python,host-python3) \ + host-python3 \ host-python-mako UHD_CONF_OPTS = \ - -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \ + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 \ -DRUNTIME_PYTHON_EXECUTABLE=/usr/bin/python \ -DENABLE_C_API=ON \ -DENABLE_DOXYGEN=OFF \ @@ -111,7 +111,7 @@ UHD_CONF_OPTS += -DENABLE_RFNOC=OFF endif ifeq ($(BR2_PACKAGE_UHD_PYTHON),y) -UHD_DEPENDENCIES += host-python-numpy host-python3-requests \ +UHD_DEPENDENCIES += host-python-numpy host-python-requests \ python-numpy python-requests UHD_CONF_OPTS += -DENABLE_PYTHON_API=ON else diff --git a/package/uhttpd/uhttpd.hash b/package/uhttpd/uhttpd.hash index 389a0ef636b..1e37b2b2513 100644 --- a/package/uhttpd/uhttpd.hash +++ b/package/uhttpd/uhttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5b81ebf9e419c668de4181cce7b9f5fa358cabb2a4a0d1f1a3a24190eeb21f25 uhttpd-a8bf9c00842224edb394e79909053f7628ee6a82-br1.tar.gz -sha256 2a61a8a690e7646a4bfe4261bf77c49f47588db5fc234b3cc66809dcc0cb3985 uhttpd.h +sha256 9ae10aaf6642b214e0a4ca47d6fd9693ac4b88d61e7d6446f0f0feb3a28ca510 uhttpd-15346de8d3ba422002496526ee24c62a3601ab8c-br1.tar.gz +sha256 ce1803f83f776cc88661e303fede0e5ff52faf1d9f74508fadbecf7705b4c84d uhttpd.h diff --git a/package/uhttpd/uhttpd.mk b/package/uhttpd/uhttpd.mk index cc7649d0ecf..ba8e13ccb8a 100644 --- a/package/uhttpd/uhttpd.mk +++ b/package/uhttpd/uhttpd.mk @@ -4,8 +4,8 @@ # ################################################################################ -UHTTPD_VERSION = a8bf9c00842224edb394e79909053f7628ee6a82 -UHTTPD_SITE = http://git.openwrt.org/project/uhttpd.git +UHTTPD_VERSION = 15346de8d3ba422002496526ee24c62a3601ab8c +UHTTPD_SITE = https://git.openwrt.org/project/uhttpd.git UHTTPD_SITE_METHOD = git UHTTPD_LICENSE = ISC UHTTPD_LICENSE_FILES = uhttpd.h diff --git a/package/uhubctl/uhubctl.hash b/package/uhubctl/uhubctl.hash index c137088772d..c696d70f6cd 100644 --- a/package/uhubctl/uhubctl.hash +++ b/package/uhubctl/uhubctl.hash @@ -1,3 +1,4 @@ # Locally computed -sha256 714f733592d3cb6ba8efc84fbc03b1beed2323918ff33aef01cdb956755be7b7 uhubctl-2.3.0.tar.gz +sha256 391f24fd1f89cacce801df38ecc289b34c3627bc08ee69eec515af7e1a283d97 uhubctl-2.4.0.tar.gz sha256 2d3aa0737e8db9dfd710f9a282b446cb7b15b2b3eecac383f0c45c64d736eea0 LICENSE +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/uhubctl/uhubctl.mk b/package/uhubctl/uhubctl.mk index 08efca092c5..3429d7d151e 100644 --- a/package/uhubctl/uhubctl.mk +++ b/package/uhubctl/uhubctl.mk @@ -4,10 +4,10 @@ # ################################################################################ -UHUBCTL_VERSION = 2.3.0 +UHUBCTL_VERSION = 2.4.0 UHUBCTL_SITE = $(call github,mvp,uhubctl,v$(UHUBCTL_VERSION)) UHUBCTL_LICENSE = GPL-2.0 -UHUBCTL_LICENSE_FILES = LICENSE +UHUBCTL_LICENSE_FILES = LICENSE COPYING UHUBCTL_DEPENDENCIES = libusb define UHUBCTL_BUILD_CMDS diff --git a/package/ulog/Config.in b/package/ulog/Config.in new file mode 100644 index 00000000000..ef155005c2b --- /dev/null +++ b/package/ulog/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_ULOG + bool "ulog" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + help + This is a minimalistic logging library derived from + Android logger. + + https://github.com/Parrot-Developers/ulog + +comment "ulog needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/ulog/ulog.hash b/package/ulog/ulog.hash new file mode 100644 index 00000000000..47adc093b93 --- /dev/null +++ b/package/ulog/ulog.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 14e5773b32a79fa5380bdc7ac73a39a7cd3ab182830f57cf6f2994fb49cf38dc ulog-0389d243352255f6182326dccdae3d56dadc078f.tar.gz +sha256 cbb97dd2528af2aa2b9aee6c1b3ff1caed758044c17b2c811cf44b2528c496da COPYING diff --git a/package/ulog/ulog.mk b/package/ulog/ulog.mk new file mode 100644 index 00000000000..8e8b1aa1c12 --- /dev/null +++ b/package/ulog/ulog.mk @@ -0,0 +1,46 @@ +################################################################################ +# +# ulog +# +################################################################################ + +ULOG_VERSION = 0389d243352255f6182326dccdae3d56dadc078f +ULOG_SITE = $(call github,Parrot-Developers,ulog,$(ULOG_VERSION)) +ULOG_LICENSE = Apache-2.0 +ULOG_LICENSE_FILES = COPYING +ULOG_DEPENDENCIES = host-alchemy +ULOG_INSTALL_STAGING = YES + +define ULOG_BUILD_CMDS + $(ALCHEMY_TARGET_ENV) $(ALCHEMY_MAKE) libulog +endef + +ifeq ($(BR2_SHARED_LIBS),) +define ULOG_INSTALL_STATIC_LIBS + $(INSTALL) -D -m 644 $(@D)/alchemy-out/staging/usr/lib/libulog.a \ + $(STAGING_DIR)/usr/lib/libulog.a +endef +endif + +ifeq ($(BR2_STATIC_LIBS),) +# $(1): destination directory: target or staging +define ULOG_INSTALL_SHARED_LIBS + mkdir -p $(1)/usr/lib/ + $(INSTALL) -m 644 $(@D)/alchemy-out/staging/usr/lib/libulog.so* \ + $(1)/usr/lib/ +endef +endif + +define ULOG_INSTALL_TARGET_CMDS + $(call ULOG_INSTALL_SHARED_LIBS, $(TARGET_DIR)) +endef + +define ULOG_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include/ + $(INSTALL) -m 644 $(@D)/libulog/include/* $(STAGING_DIR)/usr/include/ + $(ULOG_INSTALL_STATIC_LIBS) + $(call ULOG_INSTALL_SHARED_LIBS, $(STAGING_DIR)) + $(call ALCHEMY_INSTALL_LIB_SDK_FILE, libulog, libulog.so) +endef + +$(eval $(generic-package)) diff --git a/package/ulogd/ulogd.mk b/package/ulogd/ulogd.mk index 1b86c127739..c00a53f3d52 100644 --- a/package/ulogd/ulogd.mk +++ b/package/ulogd/ulogd.mk @@ -13,6 +13,7 @@ ULOGD_DEPENDENCIES = host-pkgconf \ libnfnetlink ULOGD_LICENSE = GPL-2.0 ULOGD_LICENSE_FILES = COPYING +ULOGD_SELINUX_MODULES = ulogd # DB backends need threads ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) diff --git a/package/umtprd/umtprd.hash b/package/umtprd/umtprd.hash index 170837d84b4..7cd75619abb 100644 --- a/package/umtprd/umtprd.hash +++ b/package/umtprd/umtprd.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cce45c7d3df0022fc013c79de21b1f11b1027d090aeb628669f08b0c20d2afdd umtprd-1.3.10.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE +sha256 1de40511c1dd4618719cff2058dfe68a595f1b9284c80afa89d6d1a1c80aec29 umtprd-1.6.2.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/umtprd/umtprd.mk b/package/umtprd/umtprd.mk index f1a4e66cff7..c5e0ee512ed 100644 --- a/package/umtprd/umtprd.mk +++ b/package/umtprd/umtprd.mk @@ -4,7 +4,7 @@ # ################################################################################ -UMTPRD_VERSION = 1.3.10 +UMTPRD_VERSION = 1.6.2 UMTPRD_SITE = https://github.com/viveris/uMTP-Responder/archive UMTPRD_LICENSE = GPL-3.0+ UMTPRD_LICENSE_FILES = LICENSE diff --git a/package/unbound/unbound.hash b/package/unbound/unbound.hash index ec7e940791b..ca6fe174e0e 100644 --- a/package/unbound/unbound.hash +++ b/package/unbound/unbound.hash @@ -1,5 +1,5 @@ -# From https://nlnetlabs.nl/downloads/unbound/unbound-1.13.1.tar.gz.sha256 -sha256 8504d97b8fc5bd897345c95d116e0ee0ddf8c8ff99590ab2b4bd13278c9f50b8 unbound-1.13.1.tar.gz +# From https://nlnetlabs.nl/downloads/unbound/unbound-1.14.0.tar.gz.sha256 +sha256 6ef91cbf02d5299eab39328c0857393de7b4885a2fe7233ddfe3c124ff5a89c8 unbound-1.14.0.tar.gz # Locally calculated sha256 8eb9a16cbfb8703090bbfa3a2028fd46bb351509a2f90dc1001e51fbe6fd45db LICENSE diff --git a/package/unbound/unbound.mk b/package/unbound/unbound.mk index 140b7d278b3..d9be6392447 100644 --- a/package/unbound/unbound.mk +++ b/package/unbound/unbound.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNBOUND_VERSION = 1.13.1 +UNBOUND_VERSION = 1.14.0 UNBOUND_SITE = https://www.unbound.net/downloads UNBOUND_DEPENDENCIES = host-pkgconf expat libevent openssl UNBOUND_LICENSE = BSD-3-Clause @@ -17,6 +17,7 @@ UNBOUND_CONF_OPTS = \ --with-pidfile=/var/run/unbound.pid \ --with-rootkey-file=/etc/unbound/root.key \ --enable-tfo-server \ + --with-libevent=$(STAGING_DIR)/usr \ --with-libexpat=$(STAGING_DIR)/usr \ --with-ssl=$(STAGING_DIR)/usr diff --git a/package/unixodbc/unixodbc.mk b/package/unixodbc/unixodbc.mk index cdc4e69a7e1..b447cf5ff0d 100644 --- a/package/unixodbc/unixodbc.mk +++ b/package/unixodbc/unixodbc.mk @@ -10,6 +10,7 @@ UNIXODBC_SITE = ftp://ftp.unixodbc.org/pub/unixODBC UNIXODBC_INSTALL_STAGING = YES UNIXODBC_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (programs) UNIXODBC_LICENSE_FILES = COPYING exe/COPYING +UNIXODBC_CPE_ID_VENDOR = unixodbc UNIXODBC_CONF_OPTS = --enable-drivers --enable-driver-conf diff --git a/package/unrar/unrar.hash b/package/unrar/unrar.hash index 7900c44d1df..40e05a1a320 100644 --- a/package/unrar/unrar.hash +++ b/package/unrar/unrar.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 3d010d14223e0c7a385ed740e8f046edcbe885e5c22c5ad5733d009596865300 unrarsrc-5.9.4.tar.gz +sha256 de75b6136958173fdfc530d38a0145b72342cf0d3842bf7bb120d336602d88ed unrarsrc-6.1.7.tar.gz sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a license.txt diff --git a/package/unrar/unrar.mk b/package/unrar/unrar.mk index ab8d9228c8a..fee9fb753bb 100644 --- a/package/unrar/unrar.mk +++ b/package/unrar/unrar.mk @@ -4,11 +4,12 @@ # ################################################################################ -UNRAR_VERSION = 5.9.4 +UNRAR_VERSION = 6.1.7 UNRAR_SOURCE = unrarsrc-$(UNRAR_VERSION).tar.gz UNRAR_SITE = https://www.rarlab.com/rar UNRAR_LICENSE = unrar UNRAR_LICENSE_FILES = license.txt +UNRAR_CPE_ID_VENDOR = rarlab define UNRAR_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CXX="$(TARGET_CXX)" STRIP="/bin/true" \ diff --git a/package/unscd/Config.in b/package/unscd/Config.in index 23cc5a4fcb3..88f10621035 100644 --- a/package/unscd/Config.in +++ b/package/unscd/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_UNSCD bool "unscd" + depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_USES_GLIBC help Micro Name Service Caching Daemon @@ -22,4 +23,5 @@ config BR2_PACKAGE_UNSCD http://busybox.net/~vda/unscd comment "unscd needs a glibc toolchain" + depends on !BR2_RISCV_32 depends on !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/upmpdcli/upmpdcli.hash b/package/upmpdcli/upmpdcli.hash index fe8999d471c..f585a73d7f7 100644 --- a/package/upmpdcli/upmpdcli.hash +++ b/package/upmpdcli/upmpdcli.hash @@ -1,5 +1,5 @@ -# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.5.8.tar.gz.sha256: -sha256 802a2ab795841fbb9bfff5fd7951881022f5414ed893a1db704801b999e658a8 upmpdcli-1.5.8.tar.gz +# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.5.12.tar.gz.sha256: +sha256 1d7b6ab360c2549a7e3eff4f261471761dd837e18327a3ca29de1981c090ff3b upmpdcli-1.5.12.tar.gz # Hash for license file: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk index 3dc79f8f444..2f001c51eec 100644 --- a/package/upmpdcli/upmpdcli.mk +++ b/package/upmpdcli/upmpdcli.mk @@ -4,7 +4,7 @@ # ################################################################################ -UPMPDCLI_VERSION = 1.5.8 +UPMPDCLI_VERSION = 1.5.12 UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads UPMPDCLI_LICENSE = LGPL-2.1+ UPMPDCLI_LICENSE_FILES = COPYING @@ -12,7 +12,7 @@ UPMPDCLI_DEPENDENCIES = host-pkgconf libmpdclient libupnpp libmicrohttpd jsoncpp # Disable spotify plugin which requires dlfcn.h ifeq ($(BR2_STATIC_LIBS),y) -UPMPDCLI_CONF_OPTS = --disable-spotify +UPMPDCLI_CONF_OPTS += --disable-spotify endif # Upmpdcli only runs if user upmpdcli exists diff --git a/package/upower/upower.mk b/package/upower/upower.mk index 8989ca9f5d8..a6f39d2f46c 100644 --- a/package/upower/upower.mk +++ b/package/upower/upower.mk @@ -22,4 +22,11 @@ UPOWER_DEPENDENCIES = \ UPOWER_CONF_OPTS = --disable-man-pages --disable-tests +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +UPOWER_CONF_OPTS += --enable-introspection +UPOWER_DEPENDENCIES += gobject-introspection +else +UPOWER_CONF_OPTS += --disable-introspection +endif + $(eval $(autotools-package)) diff --git a/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch b/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch new file mode 100644 index 00000000000..6fae9cac0ee --- /dev/null +++ b/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch @@ -0,0 +1,80 @@ +From 3781df9da23840e596d5e9e8493f22666802fe6c Mon Sep 17 00:00:00 2001 +From: John Reiser +Date: Fri, 11 Dec 2020 13:38:18 -0800 +Subject: [PATCH] Check DT_REL/DT_RELA, DT_RELSZ/DT_RELASZ + +https://github.com/upx/upx/issues/421 + modified: p_lx_elf.cpp + +[Retrieved from: +https://github.com/upx/upx/commit/3781df9da23840e596d5e9e8493f22666802fe6c] +Signed-off-by: Fabrice Fontaine +--- + src/p_lx_elf.cpp | 34 +++++++++++++++++++++++++++++----- + 1 file changed, 29 insertions(+), 5 deletions(-) + +diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp +index 182db192f..3a4101cf7 100644 +--- a/src/p_lx_elf.cpp ++++ b/src/p_lx_elf.cpp +@@ -2222,8 +2222,20 @@ bool PackLinuxElf32::canPack() + int z_rsz = dt_table[Elf32_Dyn::DT_RELSZ]; + if (z_rel && z_rsz) { + unsigned rel_off = get_te32(&dynseg[-1+ z_rel].d_val); ++ if ((unsigned)file_size <= rel_off) { ++ char msg[70]; snprintf(msg, sizeof(msg), ++ "bad Elf32_Dynamic[DT_REL] %#x\n", ++ rel_off); ++ throwCantPack(msg); ++ } + Elf32_Rel *rp = (Elf32_Rel *)&file_image[rel_off]; + unsigned relsz = get_te32(&dynseg[-1+ z_rsz].d_val); ++ if ((unsigned)file_size <= relsz) { ++ char msg[70]; snprintf(msg, sizeof(msg), ++ "bad Elf32_Dynamic[DT_RELSZ] %#x\n", ++ relsz); ++ throwCantPack(msg); ++ } + Elf32_Rel *last = (Elf32_Rel *)(relsz + (char *)rp); + for (; rp < last; ++rp) { + unsigned r_va = get_te32(&rp->r_offset); +@@ -2562,14 +2574,26 @@ PackLinuxElf64::canPack() + int z_rel = dt_table[Elf64_Dyn::DT_RELA]; + int z_rsz = dt_table[Elf64_Dyn::DT_RELASZ]; + if (z_rel && z_rsz) { +- unsigned rel_off = get_te64(&dynseg[-1+ z_rel].d_val); ++ upx_uint64_t rel_off = get_te64(&dynseg[-1+ z_rel].d_val); ++ if ((u64_t)file_size <= rel_off) { ++ char msg[70]; snprintf(msg, sizeof(msg), ++ "bad Elf64_Dynamic[DT_RELA] %#llx\n", ++ rel_off); ++ throwCantPack(msg); ++ } + Elf64_Rela *rp = (Elf64_Rela *)&file_image[rel_off]; +- unsigned relsz = get_te64(&dynseg[-1+ z_rsz].d_val); ++ upx_uint64_t relsz = get_te64(&dynseg[-1+ z_rsz].d_val); ++ if ((u64_t)file_size <= relsz) { ++ char msg[70]; snprintf(msg, sizeof(msg), ++ "bad Elf64_Dynamic[DT_RELASZ] %#llx\n", ++ relsz); ++ throwCantPack(msg); ++ } + Elf64_Rela *last = (Elf64_Rela *)(relsz + (char *)rp); + for (; rp < last; ++rp) { +- unsigned r_va = get_te64(&rp->r_offset); ++ upx_uint64_t r_va = get_te64(&rp->r_offset); + if (r_va == user_init_ava) { // found the Elf64_Rela +- unsigned r_info = get_te64(&rp->r_info); ++ upx_uint64_t r_info = get_te64(&rp->r_info); + unsigned r_type = ELF64_R_TYPE(r_info); + if (Elf64_Ehdr::EM_AARCH64 == e_machine + && R_AARCH64_RELATIVE == r_type) { +@@ -2581,7 +2605,7 @@ PackLinuxElf64::canPack() + } + else { + char msg[50]; snprintf(msg, sizeof(msg), +- "bad relocation %#x DT_INIT_ARRAY[0]", ++ "bad relocation %#llx DT_INIT_ARRAY[0]", + r_info); + throwCantPack(msg); + } diff --git a/package/upx/upx.mk b/package/upx/upx.mk index bdf5dd4c0e8..e693a70db1d 100644 --- a/package/upx/upx.mk +++ b/package/upx/upx.mk @@ -11,6 +11,9 @@ UPX_LICENSE = GPL-2.0+ UPX_LICENSE_FILES = COPYING UPX_CPE_ID_VENDOR = upx_project +# 0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch +UPX_IGNORE_CVES += CVE-2021-20285 + HOST_UPX_DEPENDENCIES = host-ucl host-zlib # We need to specify all, otherwise the default target only prints a message diff --git a/package/uqmi/Config.in b/package/uqmi/Config.in new file mode 100644 index 00000000000..21f0bd90775 --- /dev/null +++ b/package/uqmi/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_UQMI + bool "uqmi" + depends on !BR2_STATIC_LIBS # libubox + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_LIBUBOX + help + This command line tool originates from the OpenWrt project + to configure LTE modem in QMI mode for WAN connection. + + https://git.openwrt.org/project/uqmi.git + +comment "uqmi needs a toolchain w/ dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS diff --git a/package/uqmi/uqmi.hash b/package/uqmi/uqmi.hash new file mode 100644 index 00000000000..2db5d330e29 --- /dev/null +++ b/package/uqmi/uqmi.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 aae6a72791da8f58012303ba3bfeeb613e74597cbebfb9e7c2d9125e6f256799 uqmi-0a19b5b77140465c29e2afa7d611fe93abc9672f-br1.tar.gz +sha256 a69bf44dbff15d727578d2069a654d60e9034c5e2cc3e199a012e72afef6c259 main.c diff --git a/package/uqmi/uqmi.mk b/package/uqmi/uqmi.mk new file mode 100644 index 00000000000..f20c3f51416 --- /dev/null +++ b/package/uqmi/uqmi.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# uqmi +# +################################################################################ + +UQMI_VERSION = 0a19b5b77140465c29e2afa7d611fe93abc9672f +UQMI_SITE = https://git.openwrt.org/project/uqmi.git +UQMI_SITE_METHOD = git +UQMI_LICENSE = LGPL-2.0+ +UQMI_LICENSE_FILES = main.c +UQMI_DEPENDENCIES = json-c libubox + +$(eval $(cmake-package)) diff --git a/package/urandom-scripts/S20urandom b/package/urandom-scripts/S20urandom index e4fd1257215..6c6aea9eee1 100644 --- a/package/urandom-scripts/S20urandom +++ b/package/urandom-scripts/S20urandom @@ -17,43 +17,39 @@ else pool_size=512 fi -check_file_size() { - [ -f "$URANDOM_SEED" ] || return 1 - # Try to read two blocks but exactly one will be read if the file has - # the correct size. - size=$(dd if="$URANDOM_SEED" bs="$pool_size" count=2 2> /dev/null | wc -c) - test "$size" -eq "$pool_size" -} - init_rng() { - if check_file_size; then - printf 'Initializing random number generator: ' - dd if="$URANDOM_SEED" bs="$pool_size" of=/dev/urandom count=1 2> /dev/null - status=$? - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - return "$status" + [ -f "$URANDOM_SEED" ] || return 0 + printf 'Initializing random number generator: ' + dd if="$URANDOM_SEED" bs="$pool_size" of=/dev/urandom count=1 2> /dev/null + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" fi + return "$status" } save_random_seed() { printf 'Saving random seed: ' - if touch "$URANDOM_SEED" 2> /dev/null; then + status=1 + if touch "$URANDOM_SEED.new" 2> /dev/null; then old_umask=$(umask) umask 077 - dd if=/dev/urandom of="$URANDOM_SEED" bs="$pool_size" count=1 2> /dev/null - status=$? + dd if=/dev/urandom of="$URANDOM_SEED.tmp" bs="$pool_size" count=1 2> /dev/null + cat "$URANDOM_SEED" "$URANDOM_SEED.tmp" 2>/dev/null \ + | sha256sum \ + | cut -d ' ' -f 1 > "$URANDOM_SEED.new" && \ + mv "$URANDOM_SEED.new" "$URANDOM_SEED" && status=0 + rm -f "$URANDOM_SEED.tmp" umask "$old_umask" if [ "$status" -eq 0 ]; then echo "OK" else echo "FAIL" fi + else - status=$? echo "SKIP (read-only file system detected)" fi return "$status" diff --git a/package/urg/urg.mk b/package/urg/urg.mk index 86b7ec2c17e..476f36299fa 100644 --- a/package/urg/urg.mk +++ b/package/urg/urg.mk @@ -18,7 +18,7 @@ URG_CONF_OPTS += \ --with-sdl-prefix=$(STAGING_DIR)/usr \ --with-sdl-exec-prefix=$(STAGING_DIR)/usr else -URG_CONF_OPTS = --without-sdl +URG_CONF_OPTS += --without-sdl URG_CONF_ENV += ac_cv_path_SDL_CONFIG="" endif diff --git a/package/usb_modeswitch/0001-fix-systemd-detection.patch b/package/usb_modeswitch/0001-fix-systemd-detection.patch new file mode 100644 index 00000000000..d0b3e80aeb3 --- /dev/null +++ b/package/usb_modeswitch/0001-fix-systemd-detection.patch @@ -0,0 +1,18 @@ +Modify the Makefile to include '$(PREFIX)/bin/systemctl' in the list of paths. +This makes the udev intgeration work as intended when using systemd. + +Signed-off-by: Sol Bekic + +diff --git a/Makefile b/Makefile +index 22bd0e0..72321a4 100755 +--- a/Makefile ++++ b/Makefile +@@ -62,7 +62,7 @@ + install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher + install -d $(DESTDIR)/var/lib/usb_modeswitch + test -d $(UPSDIR) -a -e /sbin/initctl && install --mode=644 usb-modeswitch-upstart.conf $(UPSDIR) || test 1 +- test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1 ++ test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl -o -e $(PREFIX)/bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1 + + install: install-script + diff --git a/package/usb_modeswitch/usb_modeswitch.hash b/package/usb_modeswitch/usb_modeswitch.hash index 4cbd5dbea2d..765a2438c21 100644 --- a/package/usb_modeswitch/usb_modeswitch.hash +++ b/package/usb_modeswitch/usb_modeswitch.hash @@ -1,5 +1,5 @@ -# From http://www.draisberghof.de/usb_modeswitch/ -md5 be73dcc84025794081a1d4d4e5a75e4c usb-modeswitch-2.6.0.tar.bz2 +# From https://www.draisberghof.de/usb_modeswitch/usb-modeswitch-versions.xml +md5 69d00d6ed7097b97d972a159d14cfba1 usb-modeswitch-2.6.1.tar.bz2 # Locally calculated -sha256 c215236e6bada6e659fc195a31d611ea298a4bdb4d57a0d68c553b56585f8ba3 usb-modeswitch-2.6.0.tar.bz2 -sha256 6195429209313925c0eba6c0da4ee7a6cb4277b99e35c886913f80f91ec20b94 COPYING +sha256 5195d9e136e52f658f19e9f93e4f982b1b67bffac197d0a455cd8c2cd245fa34 usb-modeswitch-2.6.1.tar.bz2 +sha256 6195429209313925c0eba6c0da4ee7a6cb4277b99e35c886913f80f91ec20b94 COPYING diff --git a/package/usb_modeswitch/usb_modeswitch.mk b/package/usb_modeswitch/usb_modeswitch.mk index 064e1960b09..f2ee004b429 100644 --- a/package/usb_modeswitch/usb_modeswitch.mk +++ b/package/usb_modeswitch/usb_modeswitch.mk @@ -4,7 +4,7 @@ # ################################################################################ -USB_MODESWITCH_VERSION = 2.6.0 +USB_MODESWITCH_VERSION = 2.6.1 USB_MODESWITCH_SOURCE = usb-modeswitch-$(USB_MODESWITCH_VERSION).tar.bz2 USB_MODESWITCH_SITE = http://www.draisberghof.de/usb_modeswitch USB_MODESWITCH_DEPENDENCIES = libusb diff --git a/package/usbguard/Config.in b/package/usbguard/Config.in new file mode 100644 index 00000000000..ca6d52034b6 --- /dev/null +++ b/package/usbguard/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_USBGUARD + bool "usbguard" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf + depends on BR2_INSTALL_LIBSTDCPP # protobuf + depends on BR2_TOOLCHAIN_HAS_THREADS # libqb, protobuf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf + depends on !BR2_STATIC_LIBS # libqb, protobuf + depends on !BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future + select BR2_PACKAGE_PROTOBUF + select BR2_PACKAGE_LIBQB + select BR2_PACKAGE_LIBSODIUM if !BR2_PACKAGE_LIBGCRYPT && !BR2_PACKAGE_LIBOPENSSL + help + The USBGuard software framework + + Install a custom accept/deny list in /etc/usbguard/rules.conf + (e.g. using an overlay). This file can be generated on the + target using "usbguard generate-policy". + + https://usbguard.github.io/ + +comment "usbguard needs a glibc or uClibc toolchain w/ C++, threads, dynamic library, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + +comment "usbguard needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/usbguard/S20usbguard b/package/usbguard/S20usbguard new file mode 100644 index 00000000000..b16d7b4aa28 --- /dev/null +++ b/package/usbguard/S20usbguard @@ -0,0 +1,37 @@ +#!/bin/sh +# +# Start psplash +# + +PIDFILE=/var/run/$NAME.pid + +start() { + printf "Starting usbguard daemon: " + test -d /var/log/usbguard || mkdir -p /var/log/usbguard + start-stop-daemon -b -S -q -m -p $PIDFILE --exec /usr/sbin/usbguard-daemon -- -f -s -c /etc/usbguard/usbguard-daemon.conf + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +stop() { + printf "Stopping usbguard daemon: " + start-stop-daemon -K -q -p $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/usbguard/usbguard.hash b/package/usbguard/usbguard.hash new file mode 100644 index 00000000000..fd77acc75a8 --- /dev/null +++ b/package/usbguard/usbguard.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 5617986cd5dd1a2d311041648a1977d836cf4e33a4121d7f82599f21496abc42 usbguard-1.0.0.tar.gz +sha256 a45d0bb572ed792ed34627a72621834b3ba92aab6e2cc4e04301dee7a728d753 LICENSE diff --git a/package/usbguard/usbguard.mk b/package/usbguard/usbguard.mk new file mode 100644 index 00000000000..d2b03eeb2ae --- /dev/null +++ b/package/usbguard/usbguard.mk @@ -0,0 +1,64 @@ +################################################################################ +# +## usbguard +# +################################################################################ + +USBGUARD_VERSION = 1.0.0 +USBGUARD_SITE = https://github.com/USBGuard/usbguard/releases/download/usbguard-$(USBGUARD_VERSION) +USBGUARD_LICENSE = GPL-2.0+ +USBGUARD_LICENSE_FILES = LICENSE +USBGUARD_CPE_ID_VENDOR = usbguard_project +USBGUARD_SELINUX_MODULES = usbguard +USBGUARD_CONF_OPTS = \ + --with-bundled-catch \ + --with-bundled-pegtl \ + --disable-debug-build \ + --without-dbus \ + --without-polkit \ + --disable-umockdev + +USBGUARD_DEPENDENCIES += libqb protobuf + +ifeq ($(BR2_PACKAGE_LIBSODIUM),y) +USBGUARD_CONF_OPTS += --with-crypto-library=sodium +USBGUARD_DEPENDENCIES += libsodium +else ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +USBGUARD_CONF_OPTS += --with-crypto-library=openssl +USBGUARD_DEPENDENCIES += libopenssl +else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +USBGUARD_CONF_ENV += \ + ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config +USBGUARD_CONF_OPTS += --with-crypto-library=gcrypt +USBGUARD_DEPENDENCIES += libgcrypt +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +USBGUARD_CONF_OPTS += --enable-systemd +USBGUARD_DEPENDENCIES += systemd +else +USBGUARD_CONF_OPTS += --disable-systemd +endif + +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +USBGUARD_CONF_OPTS += --enable-seccomp +USBGUARD_DEPENDENCIES += libseccomp +else +USBGUARD_CONF_OPTS += --disable-seccomp +endif + +ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) +USBGUARD_CONF_OPTS += --enable-libcapng +USBGUARD_DEPENDENCIES += libcap-ng +endif + +define USBGUARD_INSTALL_INIT_SYSV + $(INSTALL) -m 0755 -D package/usbguard/S20usbguard \ + $(TARGET_DIR)/etc/init.d/S20usbguard +endef + +define USBGUARD_PERMISSIONS + /etc/usbguard/rules.conf f 0600 0 0 - - - - - +endef + +$(eval $(autotools-package)) diff --git a/package/usbmount/Config.in b/package/usbmount/Config.in index 8ce0ce76138..7760356b7c0 100644 --- a/package/usbmount/Config.in +++ b/package/usbmount/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_USBMOUNT bool "usbmount" + depends on BR2_USE_MMU # lockfile-progs -> liblockfile depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LOCKFILE_PROGS help @@ -10,4 +11,5 @@ config BR2_PACKAGE_USBMOUNT https://wiki.debian.org/usbmount comment "usbmount requires udev to be enabled" + depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/usbredir/usbredir.hash b/package/usbredir/usbredir.hash index 485315d28c8..f738c366909 100644 --- a/package/usbredir/usbredir.hash +++ b/package/usbredir/usbredir.hash @@ -1,4 +1,6 @@ -# locally computed hash -sha256 87bc9c5a81c982517a1bec70dc8d22e15ae197847643d58f20c0ced3c38c5e00 usbredir-0.8.0.tar.bz2 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING.LIB +# https://spice-space.org/download/usbredir/usbredir-0.12.0.tar.xz.sha256sum +sha256 fbb44025bf55e1ce8d84afc7596bfa47c8a36cd603c6fa440f9102c1c9761e6d usbredir-0.12.0.tar.xz + +# Hash for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING.LIB diff --git a/package/usbredir/usbredir.mk b/package/usbredir/usbredir.mk index 8848670ea9c..6792a3e7583 100644 --- a/package/usbredir/usbredir.mk +++ b/package/usbredir/usbredir.mk @@ -4,13 +4,18 @@ # ################################################################################ -USBREDIR_VERSION = 0.8.0 -USBREDIR_SOURCE = usbredir-$(USBREDIR_VERSION).tar.bz2 +USBREDIR_VERSION = 0.12.0 +USBREDIR_SOURCE = usbredir-$(USBREDIR_VERSION).tar.xz USBREDIR_SITE = http://spice-space.org/download/usbredir USBREDIR_LICENSE = LGPL-2.1+ (libraries) USBREDIR_LICENSE_FILES = COPYING.LIB USBREDIR_INSTALL_STAGING = YES USBREDIR_DEPENDENCIES = host-pkgconf libusb +USBREDIR_CONF_OPTS = \ + -Dgit_werror=disabled \ + -Dstack_protector=disabled \ + -Dtests=disabled \ + -Dtools=disabled ifeq ($(BR2_PACKAGE_USBREDIR_SERVER),y) @@ -26,4 +31,4 @@ USBREDIR_POST_INSTALL_TARGET_HOOKS += USBREDIR_POST_INSTALL_TARGET_RM_SERVER endif # BR2_PACKAGE_USBREDIR_SERVER -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/usbutils/usbutils.hash b/package/usbutils/usbutils.hash index 96426aeea21..f5d55bb4a0a 100644 --- a/package/usbutils/usbutils.hash +++ b/package/usbutils/usbutils.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/usb/usbutils/sha256sums.asc -sha256 9e23494fcc78b7a80ee29a07dd179c95ae2f71509c35728dbbabc2d1cca41338 usbutils-013.tar.xz +sha256 3a079cfad60560227b67192482d7813bf96326fcbb66c04254839715f276fc69 usbutils-014.tar.xz # Locally calculated -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0.txt -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSES/GPL-3.0.txt +sha256 91412672119c72352b76c1d48fa1a8b7cdc7f70be7929e468c8805db468e23e4 LICENSES/GPL-2.0-only.txt +sha256 4631da83311d27f99078d0d102e31bd34a4fcbcc2dae2aa40f1454a5b48125dc LICENSES/GPL-3.0-only.txt diff --git a/package/usbutils/usbutils.mk b/package/usbutils/usbutils.mk index ef5fd120139..50b1a5a0ccb 100644 --- a/package/usbutils/usbutils.mk +++ b/package/usbutils/usbutils.mk @@ -4,14 +4,12 @@ # ################################################################################ -USBUTILS_VERSION = 013 +USBUTILS_VERSION = 014 USBUTILS_SOURCE = usbutils-$(USBUTILS_VERSION).tar.xz USBUTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/usb/usbutils USBUTILS_DEPENDENCIES = host-pkgconf libusb udev USBUTILS_LICENSE = GPL-2.0+ (utils) GPL-2.0 or GPL-3.0 (lsusb.py) -USBUTILS_LICENSE_FILES = LICENSES/GPL-2.0.txt LICENSES/GPL-3.0.txt -# Missing configure script -USBUTILS_AUTORECONF = YES +USBUTILS_LICENSE_FILES = LICENSES/GPL-2.0-only.txt LICENSES/GPL-3.0-only.txt # Nice lsusb.py script only if there's python 3.x ifeq ($(BR2_PACKAGE_PYTHON3),) diff --git a/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch b/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch new file mode 100644 index 00000000000..3fbda2838ee --- /dev/null +++ b/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch @@ -0,0 +1,56 @@ +From c9f5783bb2df4a19c6281daeda30e8ab905d2ca3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 22 Aug 2021 10:44:48 +0200 +Subject: [PATCH] Don't build po files if NLS is disabled + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ddugovic/uShare/pull/12] +--- + Makefile | 7 +++++-- + configure | 3 +++ + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index ebd8f91..6686cfd 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,10 +14,13 @@ EXTRADIST = AUTHORS \ + THANKS \ + TODO \ + +-SUBDIRS = po \ +- scripts \ ++SUBDIRS = scripts \ + src \ + ++ifeq ($(NLS),yes) ++SUBDIRS += po ++endif ++ + all: + for subdir in $(SUBDIRS); do \ + $(MAKE) -C $$subdir $@; \ +diff --git a/configure b/configure +index 4a3efe0..f48806a 100755 +--- a/configure ++++ b/configure +@@ -414,6 +414,8 @@ for opt do + ;; + --with-libdlna-dir=*) libdlnadir="$optval"; + ;; ++ --enable-nls) nls="yes" ++ ;; + --disable-nls) nls="no" + ;; + --enable-dlna) dlna="yes" +@@ -723,6 +725,7 @@ append_config "LDFLAGS=$LDFLAGS" + append_config "INSTALL=$INSTALL" + + append_config "DEBUG=$debug" ++append_config "NLS=$nls" + + + echolog "Creating $CONFIG_H ..." +-- +2.32.0 + diff --git a/package/ushare/ushare.mk b/package/ushare/ushare.mk index a4c97116005..df9da223ec0 100644 --- a/package/ushare/ushare.mk +++ b/package/ushare/ushare.mk @@ -18,7 +18,12 @@ USHARE_CONF_OPTS = \ --sysconfdir=/etc \ --disable-strip -ifeq ($(BR2_SYSTEM_ENABLE_NLS),) +USHARE_MAKE_OPTS = LDFLAGS="$(TARGET_LDFLAGS) $(USHARE_LDFLAGS)" + +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +USHARE_CONF_OPTS += --enable-nls +USHARE_MAKE_OPTS += GMSGFMT="$(HOST_DIR)/bin/msgfmt" +else USHARE_CONF_OPTS += --disable-nls endif @@ -31,7 +36,7 @@ define USHARE_CONFIGURE_CMDS endef define USHARE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) LDFLAGS="$(TARGET_LDFLAGS) $(USHARE_LDFLAGS)" -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) $(USHARE_MAKE_OPTS) -C $(@D) endef define USHARE_INSTALL_TARGET_CMDS diff --git a/package/ustream-ssl/ustream-ssl.hash b/package/ustream-ssl/ustream-ssl.hash index 60672b38b3e..0c51a977cc0 100644 --- a/package/ustream-ssl/ustream-ssl.hash +++ b/package/ustream-ssl/ustream-ssl.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f09474dbe4680b51cc0c6a088807102d64954764ef58c2a1e3231e3a77c4b01f ustream-ssl-23a3f2830341acd1db149175baf7315a33bd0edb-br1.tar.gz -sha256 90dd1590cf400a548438e2575e1ff46d8fb8cebae7d09f544aae7e059e30b6c5 ustream-ssl.h +sha256 e77e579b718085c1447339e0fcd5385b85a783d5c92544e48a6b37b1695a7f39 ustream-ssl-68d09243b6fd4473004b27ff6483352e76e6af1a-br1.tar.gz +sha256 cf28f0f01a57423983fa062eb0f04bb1a78891863cb58c53059c3d8cb52c1dd4 ustream-ssl.h diff --git a/package/ustream-ssl/ustream-ssl.mk b/package/ustream-ssl/ustream-ssl.mk index 7804eb5d381..bee8d7de15f 100644 --- a/package/ustream-ssl/ustream-ssl.mk +++ b/package/ustream-ssl/ustream-ssl.mk @@ -4,8 +4,9 @@ # ################################################################################ -USTREAM_SSL_VERSION = 23a3f2830341acd1db149175baf7315a33bd0edb -USTREAM_SSL_SITE = git://git.openwrt.org/project/ustream-ssl.git +USTREAM_SSL_VERSION = 68d09243b6fd4473004b27ff6483352e76e6af1a +USTREAM_SSL_SITE = https://git.openwrt.org/project/ustream-ssl.git +USTREAM_SSL_SITE_METHOD = git USTREAM_SSL_LICENSE = ISC USTREAM_SSL_LICENSE_FILES = ustream-ssl.h USTREAM_SSL_INSTALL_STAGING = YES diff --git a/package/utf8proc/utf8proc.hash b/package/utf8proc/utf8proc.hash index 2deff4e0c5d..acc73903c83 100644 --- a/package/utf8proc/utf8proc.hash +++ b/package/utf8proc/utf8proc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4c06a9dc4017e8a2438ef80ee371d45868bda2237a98b26554de7a95406b283b utf8proc-2.6.1.tar.gz -sha256 fbc720fcc90fb44396985646f67e4d19be03e0c0539f7138ed9dc6efba49dc49 LICENSE.md +sha256 4bb121e297293c0fd55f08f83afab6d35d48f0af4ecc07523ad8ec99aa2b12a1 utf8proc-2.7.0.tar.gz +sha256 3b510150d34f248a221bb88e1d811238d6c6c18b51231822c42974c39bb07256 LICENSE.md diff --git a/package/utf8proc/utf8proc.mk b/package/utf8proc/utf8proc.mk index bedd38ca537..707e5535611 100644 --- a/package/utf8proc/utf8proc.mk +++ b/package/utf8proc/utf8proc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UTF8PROC_VERSION = 2.6.1 +UTF8PROC_VERSION = 2.7.0 UTF8PROC_SITE = $(call github,JuliaStrings,utf8proc,v$(UTF8PROC_VERSION)) UTF8PROC_LICENSE = MIT UTF8PROC_LICENSE_FILES = LICENSE.md diff --git a/package/util-linux/0001-libuuid-include-c-h-to-cover-restrict-keyword.patch b/package/util-linux/0001-libuuid-include-c-h-to-cover-restrict-keyword.patch new file mode 100644 index 00000000000..3b4f5109202 --- /dev/null +++ b/package/util-linux/0001-libuuid-include-c-h-to-cover-restrict-keyword.patch @@ -0,0 +1,30 @@ +From 5f9b88f43ba7f98f81bde3538d5f4e5cd1a6c01c Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 5 Aug 2021 09:46:21 +0200 +Subject: libuuid: include c.h to cover restrict keyword + +References: https://github.com/karelzak/util-linux/issues/1405 +Signed-off-by: Karel Zak + +[Retrieved from: +https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=5f9b88f43ba7f98f81bde3538d5f4e5cd1a6c01c] +Signed-off-by: Fabrice Fontaine +--- + libuuid/src/unparse.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libuuid/src/unparse.c b/libuuid/src/unparse.c +index f9a5e4315..ffeed2ed6 100644 +--- a/libuuid/src/unparse.c ++++ b/libuuid/src/unparse.c +@@ -33,6 +33,7 @@ + */ + + #include ++#include "c.h" + + #include "uuidP.h" + +-- +cgit 1.2.3-1.el7 + diff --git a/package/util-linux/0002-libblkid-don-t-mark-cache-as-probed-if-sys-not-available.patch b/package/util-linux/0002-libblkid-don-t-mark-cache-as-probed-if-sys-not-available.patch new file mode 100644 index 00000000000..bfc8f60834b --- /dev/null +++ b/package/util-linux/0002-libblkid-don-t-mark-cache-as-probed-if-sys-not-available.patch @@ -0,0 +1,141 @@ +From 84d38ae3eca523ef990cb848563cc63de25266e6 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 19 Nov 2021 14:19:03 +0100 +Subject: [PATCH] libblkid: don't mark cache as "probed" if /sys not available + +For "mount --all" we need to read the cache more than once in a short +time. The library checks the delay between probes, and if the delay is +too short, it does not read devices. This is a problem on boot when there +are no /sys, and the cache is empty. In this case, we need to check +for /sys until it's available constantly. + +https://github.com/util-linux/util-linux/issues/1492 +Signed-off-by: Karel Zak + +[Retrieved from: +https://github.com/util-linux/util-linux/commit/84d38ae3eca523ef990cb848563cc63de25266e6] +Signed-off-by: Fabrice Fontaine +--- + libblkid/src/devname.c | 26 +++++++++++++++++--------- + libblkid/src/resolve.c | 2 +- + libblkid/src/tag.c | 8 +++++--- + 3 files changed, 23 insertions(+), 13 deletions(-) + +diff --git a/libblkid/src/devname.c b/libblkid/src/devname.c +index 90a8245fc9..9a173e3489 100644 +--- a/libblkid/src/devname.c ++++ b/libblkid/src/devname.c +@@ -429,6 +429,8 @@ sysfs_probe_all(blkid_cache cache, int only_if_new, int only_removable) + if (!sysfs) + return -BLKID_ERR_SYSFS; + ++ DBG(DEVNAME, ul_debug(" probe /sys/block")); ++ + /* scan /sys/block */ + while ((dev = xreaddir(sysfs))) { + DIR *dir = NULL; +@@ -533,14 +535,18 @@ sysfs_probe_all(blkid_cache cache, int only_if_new, int only_removable) + /* + * Read the device data for all available block devices in the system. + */ +-static int probe_all(blkid_cache cache, int only_if_new) ++static int probe_all(blkid_cache cache, int only_if_new, int update_interval) + { ++ int rc; ++ + if (!cache) + return -BLKID_ERR_PARAM; + + if (cache->bic_flags & BLKID_BIC_FL_PROBED && +- time(NULL) - cache->bic_time < BLKID_PROBE_INTERVAL) ++ time(NULL) - cache->bic_time < BLKID_PROBE_INTERVAL) { ++ DBG(PROBE, ul_debug("don't re-probe [delay < %d]", BLKID_PROBE_INTERVAL)); + return 0; ++ } + + blkid_read_cache(cache); + #ifdef VG_DIR +@@ -548,7 +554,13 @@ static int probe_all(blkid_cache cache, int only_if_new) + #endif + ubi_probe_all(cache, only_if_new); + +- sysfs_probe_all(cache, only_if_new, 0); ++ rc = sysfs_probe_all(cache, only_if_new, 0); ++ ++ /* Don't mark the change as "probed" if /sys not avalable */ ++ if (update_interval && rc == 0) { ++ cache->bic_time = time(NULL); ++ cache->bic_flags |= BLKID_BIC_FL_PROBED; ++ } + + blkid_flush_cache(cache); + return 0; +@@ -567,11 +579,7 @@ int blkid_probe_all(blkid_cache cache) + int ret; + + DBG(PROBE, ul_debug("Begin blkid_probe_all()")); +- ret = probe_all(cache, 0); +- if (ret == 0) { +- cache->bic_time = time(NULL); +- cache->bic_flags |= BLKID_BIC_FL_PROBED; +- } ++ ret = probe_all(cache, 0, 1); + DBG(PROBE, ul_debug("End blkid_probe_all() [rc=%d]", ret)); + return ret; + } +@@ -589,7 +597,7 @@ int blkid_probe_all_new(blkid_cache cache) + int ret; + + DBG(PROBE, ul_debug("Begin blkid_probe_all_new()")); +- ret = probe_all(cache, 1); ++ ret = probe_all(cache, 1, 0); + DBG(PROBE, ul_debug("End blkid_probe_all_new() [rc=%d]", ret)); + return ret; + } +diff --git a/libblkid/src/resolve.c b/libblkid/src/resolve.c +index 641b022860..16653fa8e1 100644 +--- a/libblkid/src/resolve.c ++++ b/libblkid/src/resolve.c +@@ -32,7 +32,7 @@ char *blkid_get_tag_value(blkid_cache cache, const char *tagname, + blkid_cache c = cache; + char *ret = NULL; + +- DBG(TAG, ul_debug("looking for %s on %s", tagname, devname)); ++ DBG(TAG, ul_debug("looking for tag %s on %s device", tagname, devname)); + + if (!devname) + return NULL; +diff --git a/libblkid/src/tag.c b/libblkid/src/tag.c +index 390a648648..178336505f 100644 +--- a/libblkid/src/tag.c ++++ b/libblkid/src/tag.c +@@ -326,14 +326,14 @@ blkid_dev blkid_find_dev_with_tag(blkid_cache cache, + blkid_dev dev; + int pri; + struct list_head *p; +- int probe_new = 0; ++ int probe_new = 0, probe_all = 0; + + if (!cache || !type || !value) + return NULL; + + blkid_read_cache(cache); + +- DBG(TAG, ul_debug("looking for %s=%s in cache", type, value)); ++ DBG(TAG, ul_debug("looking for tag %s=%s in cache", type, value)); + + try_again: + pri = -1; +@@ -366,9 +366,11 @@ blkid_dev blkid_find_dev_with_tag(blkid_cache cache, + goto try_again; + } + +- if (!dev && !(cache->bic_flags & BLKID_BIC_FL_PROBED)) { ++ if (!dev && !probe_all ++ && !(cache->bic_flags & BLKID_BIC_FL_PROBED)) { + if (blkid_probe_all(cache) < 0) + return NULL; ++ probe_all++; + goto try_again; + } + return dev; diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index 1f33eb55144..9e9b8933e50 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -291,9 +291,13 @@ config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT config BR2_PACKAGE_UTIL_LINUX_RAW bool "raw" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 help Build a linux raw character device +comment "raw needs a toolchain w/ headers < 5.14" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 + config BR2_PACKAGE_UTIL_LINUX_RENAME bool "rename" help @@ -326,8 +330,12 @@ comment "runuser needs a uClibc or glibc toolchain w/ wchar, locale, dynamic lib config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS bool "scheduling utilities" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 help - Scheduling utilities (chrt, ionice, taskset) + Scheduling utilities (chrt, ionice, taskset, uclampset) + +comment "scheduling utilities need a toolchain w/ headers >= 3.14" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 config BR2_PACKAGE_UTIL_LINUX_SETPRIV bool "setpriv" diff --git a/package/util-linux/util-linux-libs/0001-libuuid-include-c-h-to-cover-restrict-keyword.patch b/package/util-linux/util-linux-libs/0001-libuuid-include-c-h-to-cover-restrict-keyword.patch new file mode 120000 index 00000000000..beecc3a48f1 --- /dev/null +++ b/package/util-linux/util-linux-libs/0001-libuuid-include-c-h-to-cover-restrict-keyword.patch @@ -0,0 +1 @@ +../0001-libuuid-include-c-h-to-cover-restrict-keyword.patch \ No newline at end of file diff --git a/package/util-linux/util-linux-libs/0002-libblkid-don-t-mark-cache-as-probed-if-sys-not-available.patch b/package/util-linux/util-linux-libs/0002-libblkid-don-t-mark-cache-as-probed-if-sys-not-available.patch new file mode 120000 index 00000000000..2f3c4821445 --- /dev/null +++ b/package/util-linux/util-linux-libs/0002-libblkid-don-t-mark-cache-as-probed-if-sys-not-available.patch @@ -0,0 +1 @@ +../0002-libblkid-don-t-mark-cache-as-probed-if-sys-not-available.patch \ No newline at end of file diff --git a/package/util-linux/util-linux-libs/util-linux-libs.mk b/package/util-linux/util-linux-libs/util-linux-libs.mk index 3a3a655e62e..20566345c63 100644 --- a/package/util-linux/util-linux-libs/util-linux-libs.mk +++ b/package/util-linux/util-linux-libs/util-linux-libs.mk @@ -10,6 +10,8 @@ UTIL_LINUX_LIBS_VERSION = $(UTIL_LINUX_VERSION) UTIL_LINUX_LIBS_SOURCE = $(UTIL_LINUX_SOURCE) UTIL_LINUX_LIBS_SITE = $(UTIL_LINUX_SITE) UTIL_LINUX_LIBS_DL_SUBDIR = $(UTIL_LINUX_DL_SUBDIR) +UTIL_LINUX_LIBS_CPE_ID_VENDOR = $(UTIL_LINUX_CPE_ID_VENDOR) +UTIL_LINUX_LIBS_CPE_ID_PRODUCT = $(UTIL_LINUX_CPE_ID_PRODUCT) # README.licensing claims that some files are GPL-2.0 only, but this is not # true. Some files are GPL-3.0+ but only in tests and optionally in hwclock diff --git a/package/util-linux/util-linux.hash b/package/util-linux/util-linux.hash index c5f5c69a4d2..748a36e0be3 100644 --- a/package/util-linux/util-linux.hash +++ b/package/util-linux/util-linux.hash @@ -1,5 +1,5 @@ -# From https://www.kernel.org/pub/linux/utils/util-linux/v2.36/sha256sums.asc -sha256 09fac242172cd8ec27f0739d8d192402c69417617091d8c6e974841568f37eed util-linux-2.36.1.tar.xz +# From https://www.kernel.org/pub/linux/utils/util-linux/v2.37/sha256sums.asc +sha256 634e6916ad913366c3536b6468e7844769549b99a7b2bf80314de78ab5655b83 util-linux-2.37.4.tar.xz # License files, locally calculated sha256 869660b5269f4f40a8a679da7f403ea3a6e71d46087aab5e14871b09bcb55955 README.licensing sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3-Clause diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index 09acaca1a7d..891c17d1d9e 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -7,8 +7,8 @@ # When making changes to this file, please check if # util-linux-libs/util-linux-libs.mk needs to be updated accordingly as well. -UTIL_LINUX_VERSION_MAJOR = 2.36 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).1 +UTIL_LINUX_VERSION_MAJOR = 2.37 +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).4 UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR) @@ -35,6 +35,13 @@ UTIL_LINUX_CONF_OPTS += \ UTIL_LINUX_LINK_LIBS = $(TARGET_NLS_LIBS) +# workaround missing disk-utils/raw.8 file in util-linux-2.37.3 +# release download package +define UTIL_LINUX_FIX_DISK_UTILS_COMPILE + touch $(@D)/disk-utils/raw.8 +endef +UTIL_LINUX_POST_PATCH_HOOKS += UTIL_LINUX_FIX_DISK_UTILS_COMPILE + HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf # We also don't want the host-python dependency @@ -194,6 +201,11 @@ HOST_UTIL_LINUX_CONF_OPTS += \ --without-ncursesw \ --without-tinfo +# Disable raw command since starting from version 2.37 needs a +# work-around to build but in the end we don't need at all. +HOST_UTIL_LINUX_CONF_OPTS += \ + --disable-raw + ifeq ($(BR2_PACKAGE_HOST_UTIL_LINUX),y) HOST_UTIL_LINUX_CONF_OPTS += --disable-makeinstall-chown # disable commands that have ncurses dependency, as well as @@ -233,9 +245,9 @@ HOST_UTIL_LINUX_CONF_OPTS += --disable-all-programs endif # Install libmount Python bindings -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) UTIL_LINUX_CONF_OPTS += --with-python -UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) +UTIL_LINUX_DEPENDENCIES += python3 ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y) UTIL_LINUX_CONF_OPTS += --enable-pylibmount else diff --git a/package/uvw/uvw.hash b/package/uvw/uvw.hash index ba8c7b893db..5f7521c8b31 100644 --- a/package/uvw/uvw.hash +++ b/package/uvw/uvw.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 aa5769f5b9ba50de72ab02a8f8acf298b4aa9ceaef07992418a13a0fa119ce7d uvw-2.8.0_libuv_v1.40.tar.gz -sha256 755b2f245af22830c15b60c54469c0d92fbed42009b0d0074cec4b3959905757 LICENSE +sha256 30b0ba97a94d5e652490c6b1b32c95e608263f21cf3bc606308d09b3e3a114bf uvw-2.10.0_libuv_v1.42.tar.gz +sha256 5de32af2469480cf3261c9781962e0887366666ba8ee1f4a32c386c77fc50c88 LICENSE diff --git a/package/uvw/uvw.mk b/package/uvw/uvw.mk index f152d9f1cf3..9c15d536cbf 100644 --- a/package/uvw/uvw.mk +++ b/package/uvw/uvw.mk @@ -4,7 +4,7 @@ # ################################################################################ -UVW_VERSION = 2.8.0_libuv_v1.40 +UVW_VERSION = 2.10.0_libuv_v1.42 UVW_SITE = $(call github,skypjack,uvw,v$(UVW_VERSION)) UVW_INSTALL_STAGING = YES UVW_INSTALL_TARGET = NO diff --git a/package/vala/0001-dont-add-dirty-to-valac-version.patch b/package/vala/0001-dont-add-dirty-to-valac-version.patch index a2a06233693..8d878cd4951 100644 --- a/package/vala/0001-dont-add-dirty-to-valac-version.patch +++ b/package/vala/0001-dont-add-dirty-to-valac-version.patch @@ -11,15 +11,18 @@ The effect is that valac gets built as being version x.y.z-dirty, which breaks programs (such as Midori) that explicitly check for valac-x.y.z. Signed-off-by: Simon Dawson +[Fabrice: update for 0.52.4] +Signed-off-by: Fabrice Fontaine diff -Nur a/build-aux/git-version-gen b/build-aux/git-version-gen --- a/build-aux/git-version-gen 2010-08-15 12:49:03.000000000 +0100 +++ b/build-aux/git-version-gen 2012-05-14 10:17:19.977204570 +0100 @@ -135,7 +135,7 @@ - *) # Append the suffix only if there isn't one already. - case $v in - *-dirty) ;; -- *) v="$v-dirty" ;; -+ #*) v="$v-dirty" ;; - esac ;; - esac + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; +- *) v="$v-dirty" ;; ++ #*) v="$v-dirty" ;; + esac ;; + esac + fi diff --git a/package/vala/vala.hash b/package/vala/vala.hash index 319c7ef2f47..7f3a0999409 100644 --- a/package/vala/vala.hash +++ b/package/vala/vala.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/vala/0.46/vala-0.46.6.sha256sum -sha256 ef31649932872f094971d46453b21c60a41661670f98afa334062425b4aec47a vala-0.46.6.tar.xz +# From https://download.gnome.org/sources/vala/0.52/vala-0.52.4.sha256sum +sha256 ecde520e5160e659ee699f8b1cdc96065edbd44bbd08eb48ef5f2506751fdf31 vala-0.52.4.tar.xz # Locally computed sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/vala/vala.mk b/package/vala/vala.mk index 93a304f19c5..94e18d349b0 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -4,8 +4,8 @@ # ################################################################################ -VALA_VERSION_MAJOR = 0.46 -VALA_VERSION = $(VALA_VERSION_MAJOR).6 +VALA_VERSION_MAJOR = 0.52 +VALA_VERSION = $(VALA_VERSION_MAJOR).4 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_LICENSE = LGPL-2.1+ diff --git a/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch b/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch new file mode 100644 index 00000000000..ff8dc974d83 --- /dev/null +++ b/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch @@ -0,0 +1,65 @@ +From 9c9fd9ae24b45f915f0759d32f662835c26d37c3 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Fri, 8 Apr 2022 12:36:33 +0200 +Subject: [PATCH] coregrind: fix compilation for uclibc + +It fixes a known iusse whose details are described at [1] and more +generally it guarantees that Valgrind is properly compiled for ulibc. + +[1] https://www.mail-archive.com/valgrind-users@lists.sourceforge.net/msg05295.html + +Suggested-by Michael Trimarchi +Co-developed-by: Michael Trimarchi +Signed-off-by: Dario Binacchi +--- + configure.ac | 2 ++ + coregrind/m_debuginfo/minilzo-inl.c | 4 ++++ + coregrind/vg_preloaded.c | 4 ++++ + 3 files changed, 10 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 6f51dfd9f8fb..c627a9c17a4a 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -1204,6 +1204,8 @@ AC_SUBST(DEFAULT_SUPP) + AC_CHECK_HEADER([features.h]) + + if test x$ac_cv_header_features_h = xyes; then ++ AC_DEFINE([HAVE_HEADER_FEATURES_H], 1, ++ [Define to 1 if you have the `features.h' header.]) + rm -f conftest.$ac_ext + cat <<_ACEOF >conftest.$ac_ext + #include +diff --git a/coregrind/m_debuginfo/minilzo-inl.c b/coregrind/m_debuginfo/minilzo-inl.c +index 153d008fd44f..b45ec92eaa85 100644 +--- a/coregrind/m_debuginfo/minilzo-inl.c ++++ b/coregrind/m_debuginfo/minilzo-inl.c +@@ -1875,6 +1875,10 @@ extern "C" { + + #endif + ++#ifdef HAVE_HEADER_FEATURES_H ++#include ++#endif ++ + #undef LZO_HAVE_CONFIG_H + #include "minilzo.h" + +diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c +index 5e2098390847..3809811aede7 100644 +--- a/coregrind/vg_preloaded.c ++++ b/coregrind/vg_preloaded.c +@@ -45,6 +45,10 @@ + #include "pub_core_debuginfo.h" // Needed for pub_core_redir.h + #include "pub_core_redir.h" // For VG_NOTIFY_ON_LOAD + ++#ifdef HAVE_HEADER_FEATURES_H ++#include ++#endif ++ + #if defined(VGO_linux) || defined(VGO_solaris) || defined(VGO_freebsd) + + /* --------------------------------------------------------------------- +-- +2.32.0 + diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in index 56e4af21fa7..700849130fc 100644 --- a/package/valgrind/Config.in +++ b/package/valgrind/Config.in @@ -7,14 +7,15 @@ config BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le depends on !BR2_MIPS_SOFT_FLOAT -comment "valgrind needs a toolchain w/ dynamic library" +comment "valgrind needs a toolchain w/ dynamic library, threads" depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_VALGRIND bool "valgrind" depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS help Tool for debugging and profiling Linux programs. diff --git a/package/valgrind/valgrind.hash b/package/valgrind/valgrind.hash index 2b24ac44b6e..748fc3eb82a 100644 --- a/package/valgrind/valgrind.hash +++ b/package/valgrind/valgrind.hash @@ -1,5 +1,7 @@ # From https://valgrind.org/downloads/current.html -md5 d1b153f1ab17cf1f311705e7a83ef589 valgrind-3.16.1.tar.bz2 +md5 de56a5532b0c81781db677ca712c585a valgrind-3.18.1.tar.bz2 +# locally computed +sha256 00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5 valgrind-3.18.1.tar.bz2 # License files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk index a1b4d97ee64..a3eabec9fef 100644 --- a/package/valgrind/valgrind.mk +++ b/package/valgrind/valgrind.mk @@ -4,7 +4,7 @@ # ################################################################################ -VALGRIND_VERSION = 3.16.1 +VALGRIND_VERSION = 3.18.1 VALGRIND_SITE = https://sourceware.org/pub/valgrind VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2 VALGRIND_LICENSE = GPL-2.0, GFDL-1.2 @@ -14,6 +14,8 @@ VALGRIND_CONF_OPTS = \ --disable-ubsan \ --without-mpicc VALGRIND_INSTALL_STAGING = YES +# 0003-coregrind-fix-compilation-for-uclibc.patch +VALGRIND_AUTORECONF=YES # Valgrind must be compiled with no stack protection, so forcefully # pass -fno-stack-protector to override what Buildroot may have in @@ -64,7 +66,7 @@ VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_INSTALL_UCLIBC_SUPP ifeq ($(BR2_PACKAGE_VALGRIND_MEMCHECK),) define VALGRIND_REMOVE_MEMCHECK - rm -f $(TARGET_DIR)/usr/lib/valgrind/*memcheck* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*memcheck* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_MEMCHECK @@ -72,7 +74,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_CACHEGRIND),) define VALGRIND_REMOVE_CACHEGRIND - rm -f $(TARGET_DIR)/usr/lib/valgrind/*cachegrind* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*cachegrind* for i in cg_annotate cg_diff cg_merge; do \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \ done @@ -83,7 +85,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_CALLGRIND),) define VALGRIND_REMOVE_CALLGRIND - rm -f $(TARGET_DIR)/usr/lib/valgrind/*callgrind* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*callgrind* for i in callgrind_annotate callgrind_control ; do \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \ done @@ -94,7 +96,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_HELGRIND),) define VALGRIND_REMOVE_HELGRIND - rm -f $(TARGET_DIR)/usr/lib/valgrind/*helgrind* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*helgrind* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_HELGRIND @@ -102,7 +104,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_DRD),) define VALGRIND_REMOVE_DRD - rm -f $(TARGET_DIR)/usr/lib/valgrind/*drd* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*drd* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_DRD @@ -110,8 +112,8 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_MASSIF),) define VALGRIND_REMOVE_MASSIF - rm -f $(TARGET_DIR)/usr/lib/valgrind/*massif* - rm -f $(TARGET_DIR)/usr/bin/ms_script + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*massif* + rm -f $(TARGET_DIR)/usr/bin/ms_print endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_MASSIF @@ -119,7 +121,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_DHAT),) define VALGRIND_REMOVE_DHAT - rm -f $(TARGET_DIR)/usr/lib/valgrind/*dhat* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*dhat* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_DHAT @@ -127,7 +129,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_SGCHECK),) define VALGRIND_REMOVE_SGCHECK - rm -f $(TARGET_DIR)/usr/lib/valgrind/*sgcheck* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*sgcheck* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_SGCHECK @@ -135,7 +137,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_BBV),) define VALGRIND_REMOVE_BBV - rm -f $(TARGET_DIR)/usr/lib/valgrind/*bbv* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*bbv* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_BBV @@ -143,7 +145,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_LACKEY),) define VALGRIND_REMOVE_LACKEY - rm -f $(TARGET_DIR)/usr/lib/valgrind/*lackey* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*lackey* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_LACKEY @@ -151,7 +153,7 @@ endif ifeq ($(BR2_PACKAGE_VALGRIND_NULGRIND),) define VALGRIND_REMOVE_NULGRIND - rm -f $(TARGET_DIR)/usr/lib/valgrind/*none* + rm -f $(TARGET_DIR)/usr/libexec/valgrind/*none* endef VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_NULGRIND diff --git a/package/valijson/Config.in b/package/valijson/Config.in index 10721b37036..07706cd9634 100644 --- a/package/valijson/Config.in +++ b/package/valijson/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_VALIJSON bool "valijson" - depends on BR2_USE_WCHAR depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_BOOST - select BR2_PACKAGE_BOOST_REGEX help Valijson is a header-only JSON Schema Validation library for C++. Valijson provides a simple validation API that allows @@ -14,5 +10,5 @@ config BR2_PACKAGE_VALIJSON https://github.com/tristanpenman/valijson -comment "valijson needs a toolchain w/ C++, threads, wchar support" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR +comment "valijson needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/valijson/valijson.mk b/package/valijson/valijson.mk index e425757d26b..71c5b05f2bd 100644 --- a/package/valijson/valijson.mk +++ b/package/valijson/valijson.mk @@ -11,7 +11,6 @@ VALIJSON_LICENSE_FILES = LICENSE VALIJSON_CPE_ID_VENDOR = valijson_project VALIJSON_INSTALL_STAGING = YES VALIJSON_INSTALL_TARGET = NO -VALIJSON_DEPENDENCIES = boost VALIJSON_CONF_OPTS = -Dvalijson_INSTALL_HEADERS=TRUE -Dvalijson_BUILD_TESTS=FALSE $(eval $(cmake-package)) diff --git a/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch b/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch new file mode 100644 index 00000000000..7f771dfc7eb --- /dev/null +++ b/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch @@ -0,0 +1,37 @@ +vde_l3: Add static to inline functions + +Add static to inline functions to avoid the following build failure +with BR2_OPTIMIZE_0: + +/home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/mips64-buildroot-linux-uclibc/10.3.0/../../../../mips64-buildroot-linux-uclibc/bin/ld: vde_l3.o: in function `ip_output_ready': +vde_l3.c:(.text+0xb30): undefined reference to `iphead' + +Fixes: + - http://autobuild.buildroot.org/results/5eeefcdac0b8974a424a885fdc2e82f7cb4b617d + +Signed-off-by: Fabrice Fontaine + +diff -Nura vde2-2.3.2.orig/src/vde_l3/vde_l3.c vde2-2.3.2/src/vde_l3/vde_l3.c +--- vde2-2.3.2.orig/src/vde_l3/vde_l3.c 2022-04-21 11:05:17.393452698 +0200 ++++ vde2-2.3.2/src/vde_l3/vde_l3.c 2022-04-21 11:10:36.509804404 +0200 +@@ -100,17 +100,17 @@ + }; + + +-inline struct vde_ethernet_header *ethhead(struct vde_buff *vdb) ++static inline struct vde_ethernet_header *ethhead(struct vde_buff *vdb) + { + return (struct vde_ethernet_header*)(vdb->data); + } + +-inline struct iphdr *iphead(struct vde_buff *vdb) ++static inline struct iphdr *iphead(struct vde_buff *vdb) + { + return (struct iphdr*)(vdb->data + 14); + } + +-inline void *payload(struct vde_buff *vdb) ++static inline void *payload(struct vde_buff *vdb) + { + return (uint8_t*)(vdb->data + 14 + sizeof(struct iphdr)); + } diff --git a/package/vdr/0001-getloadavg.patch b/package/vdr/0001-getloadavg.patch new file mode 100644 index 00000000000..9e6316e2842 --- /dev/null +++ b/package/vdr/0001-getloadavg.patch @@ -0,0 +1,55 @@ +Fix compilation with uClibc + +Ported from +https://github.com/stschake/buildroot-grasshopper/blob/master/package/torsmo/torsmo-0.18-uclibc-getloadavg.patch + +Signed-off-by: Bernd Kuhls + +diff -uwNr vdr-2.3.1.org/skinlcars.c vdr-2.3.1/skinlcars.c +--- vdr-2.3.1.org/skinlcars.c 2015-09-01 12:07:07.000000000 +0200 ++++ vdr-2.3.1/skinlcars.c 2016-07-31 21:00:11.000000000 +0200 +@@ -1100,6 +1100,44 @@ + } + } + ++/* uclibc and dietlibc do not have this junk -ReneR */ ++#if defined (__UCLIBC__) || defined (__dietlibc__) ++static int getloadavg (double loadavg[], int nelem) ++{ ++ int fd; ++ ++ fd = open ("/proc/loadavg", O_RDONLY); ++ if (fd < 0) ++ return -1; ++ else ++ { ++ char buf[65], *p; ++ ssize_t nread; ++ int i; ++ ++ nread = read (fd, buf, sizeof buf - 1); ++ close (fd); ++ if (nread <= 0) ++ return -1; ++ buf[nread - 1] = '\0'; ++ ++ if (nelem > 3) ++ nelem = 3; ++ p = buf; ++ for (i = 0; i < nelem; ++i) ++ { ++ char *endp; ++ loadavg[i] = strtod (p, &endp); ++ if (endp == p) ++ return -1; ++ p = endp; ++ } ++ ++ return i; ++ } ++} ++#endif ++ + void cSkinLCARSDisplayMenu::DrawLoad(void) + { + if (yb04) { diff --git a/package/vdr/0002-musl-compat.patch b/package/vdr/0002-musl-compat.patch new file mode 100644 index 00000000000..b6f8f414a96 --- /dev/null +++ b/package/vdr/0002-musl-compat.patch @@ -0,0 +1,140 @@ +Fix musl build + +Downloaded from +https://git.alpinelinux.org/aports/tree/community/vdr/musl-compat.patch + +Signed-off-by: Bernd Kuhls + +diff --git a/i18n.h b/i18n.h +index f8ad9de..b002bbf 100644 +--- a/i18n.h ++++ b/i18n.h +@@ -46,7 +46,7 @@ const cStringList *I18nLanguages(void); + ///< have an actual locale installed. The rest are just dummy entries + ///< to allow having three letter language codes for other languages + ///< that have no actual locale on this system. +-const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute_format_arg__(1); ++const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute__((__format_arg__ (1))); + ///< Translates the given string (with optional Plugin context) into + ///< the current language. If no translation is available, the original + ///< string will be returned. +diff --git a/osd.c b/osd.c +index 524700a..ef975f5 100644 +--- a/osd.c ++++ b/osd.c +@@ -12,7 +12,7 @@ + #include + #include + #include +-#include ++#include + #include "device.h" + #include "tools.h" + +diff --git a/thread.c b/thread.c +index 47eb977..58dba43 100644 +--- a/thread.c ++++ b/thread.c +@@ -155,7 +155,9 @@ cRwLock::cRwLock(bool PreferWriter) + writeLockThreadId = 0; + pthread_rwlockattr_t attr; + pthread_rwlockattr_init(&attr); ++#if defined(__GLIBC__) + pthread_rwlockattr_setkind_np(&attr, PreferWriter ? PTHREAD_RWLOCK_PREFER_WRITER_NP : PTHREAD_RWLOCK_PREFER_READER_NP); ++#endif + pthread_rwlock_init(&rwlock, &attr); + } + +@@ -205,7 +207,7 @@ cMutex::cMutex(void) + locked = 0; + pthread_mutexattr_t attr; + pthread_mutexattr_init(&attr); +- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP); ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); + pthread_mutex_init(&mutex, &attr); + } + +diff --git a/tools.c b/tools.c +index 754673d..fef9d2d 100644 +--- a/tools.c ++++ b/tools.c +@@ -640,7 +640,7 @@ char *ReadLink(const char *FileName) + { + if (!FileName) + return NULL; +- char *TargetName = canonicalize_file_name(FileName); ++ char *TargetName = realpath(FileName, NULL); + if (!TargetName) { + if (errno == ENOENT) // file doesn't exist + TargetName = strdup(FileName); +@@ -1528,7 +1528,7 @@ + struct dirent *cReadDir::Next(void) + { + if (directory) { +-#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 ++#if __GLIBC__ + while (readdir_r(directory, &u.d, &result) == 0 && result) { + #else + while ((result = readdir(directory)) != NULL) { +diff --git a/tools.h b/tools.h +index 73cca5a..03f5fd1 100644 +--- a/tools.h ++++ b/tools.h +@@ -28,6 +28,16 @@ + #include + #include "thread.h" + ++#ifndef ACCESSPERMS ++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ ++#endif ++#ifndef ALLPERMS ++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */ ++#endif ++#ifndef DEFFILEMODE ++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ ++#endif ++ + typedef unsigned char uchar; + + extern int SysLogLevel; +@@ -400,7 +410,7 @@ + private: + DIR *directory; + struct dirent *result; +-#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 ++#if __GLIBC__ + union { // according to "The GNU C Library Reference Manual" + struct dirent d; + char b[offsetof(struct dirent, d_name) + NAME_MAX + 1]; +@@ -738,7 +748,7 @@ public: + data[i] = T(0); + size = 0; + } +- void Sort(__compar_fn_t Compare) ++ void Sort(int (*Compare)(const void *, const void *)) + { + qsort(data, size, sizeof(T), Compare); + } +diff --git a/vdr.c b/vdr.c +index 8a49471..c2a82aa 100644 +--- a/vdr.c ++++ b/vdr.c +@@ -670,12 +670,18 @@ int main(int argc, char *argv[]) + } + } + else if (Terminal) { ++#ifdef __GLIBC__ + // Claim new controlling terminal + stdin = freopen(Terminal, "r", stdin); + stdout = freopen(Terminal, "w", stdout); + stderr = freopen(Terminal, "w", stderr); + HasStdin = true; + tcgetattr(STDIN_FILENO, &savedTm); ++#else ++ // stdin, stdout, stderr are declared FILE const* by musl C library ++ fprintf(stderr, "Option '-t' is only supported if VDR has been built against glibc.\n"); ++ return 2; ++#endif + } + + isyslog("VDR version %s started", VDRVERSION); diff --git a/package/vdr/0003-include-missing-limits.patch b/package/vdr/0003-include-missing-limits.patch new file mode 100644 index 00000000000..c2efe291e6a --- /dev/null +++ b/package/vdr/0003-include-missing-limits.patch @@ -0,0 +1,30 @@ +vdr package uses some macros like HOST_NAME_MAX, NAME_MAX, which are defined +in limits.h. +Needs to be explicitly included on ppc64le and for all archs for debug build. + +Downloaded from +https://git.alpinelinux.org/aports/tree/community/vdr/include-missing-limits.patch + +Signed-off-by: Bernd Kuhls +---- + +--- a/config.h ++++ b/config.h +@@ -19,6 +19,7 @@ + #include "i18n.h" + #include "font.h" + #include "tools.h" ++#include + + // VDR's own version number: + +--- a/tools.c ++++ b/tools.c +@@ -27,6 +27,7 @@ + #include + #include "i18n.h" + #include "thread.h" ++#include + + int SysLogLevel = 3; + diff --git a/package/vdr/0004-i18n.c-_nl_msg_cat_cntr-is-an-internal-symbol-of-som.patch b/package/vdr/0004-i18n.c-_nl_msg_cat_cntr-is-an-internal-symbol-of-som.patch new file mode 100644 index 00000000000..9cc45a96c16 --- /dev/null +++ b/package/vdr/0004-i18n.c-_nl_msg_cat_cntr-is-an-internal-symbol-of-som.patch @@ -0,0 +1,35 @@ +From 8711ce9c4ded311705f281c99e013a26987fbf1d Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 1 Jan 2022 23:35:29 +0100 +Subject: [PATCH] i18n.c: _nl_msg_cat_cntr is an internal symbol of some intl + implementation + +It is supported by glibc and uClibc (which both define __GLIBC__) but +not musl (which doesn't define __GLIBC__). On musl, it doesn't do +anything because musl has a basic NLS implementation. Even +gettext-tiny defines _nl_msg_cat_cntr as a dummy symbol in its stub +libintl-musl implementation. + +Signed-off-by: Thomas Petazzoni +--- + i18n.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/i18n.c b/i18n.c +index 0ef08fd4..da2a3ede 100644 +--- a/i18n.c ++++ b/i18n.c +@@ -123,8 +123,10 @@ static const char *SkipContext(const char *s) + static void SetEnvLanguage(const char *Locale) + { + setenv("LANGUAGE", Locale, 1); ++#if defined(__GLIBC__) + extern int _nl_msg_cat_cntr; + ++_nl_msg_cat_cntr; ++#endif + } + + static void SetLanguageNames(void) +-- +2.31.1 + diff --git a/package/vdr/Config.in b/package/vdr/Config.in index df602f26d61..38502729a7f 100644 --- a/package/vdr/Config.in +++ b/package/vdr/Config.in @@ -4,23 +4,22 @@ config BR2_PACKAGE_VDR depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 - depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBCAP - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_LIBEXECINFO if !BR2_TOOLCHAIN_USES_GLIBC help This project describes how to build your own digital satellite receiver and Video Disk Recorder. http://www.tvdr.de -comment "vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9" +comment "vdr needs a toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_TOOLCHAIN_USES_GLIBC || !BR2_USE_WCHAR || \ + !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 diff --git a/package/vdr/vdr.hash b/package/vdr/vdr.hash index 3d0dc443e27..d8f1cb192eb 100644 --- a/package/vdr/vdr.hash +++ b/package/vdr/vdr.hash @@ -1,5 +1,3 @@ -# From https://www.linuxtv.org/pipermail/vdr/2020-December/029578.html -md5 aa91614159ae2db45655d35918e2c24e vdr-2.4.6.tar.bz2 # Locally computed -sha256 c8993babf2a878a0fba84558de1e35f042c3c66f7c1ec569eea00a3af1014e4b vdr-2.4.6.tar.bz2 +sha256 a8e9940d593c41a42eb69db56d1a659e15deb31e131090d8c146a6e25501825a vdr-2.6.0.tar.gz sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 COPYING diff --git a/package/vdr/vdr.mk b/package/vdr/vdr.mk index eac13bfff40..bb7b1e22c07 100644 --- a/package/vdr/vdr.mk +++ b/package/vdr/vdr.mk @@ -4,9 +4,8 @@ # ################################################################################ -VDR_VERSION = 2.4.6 -VDR_SOURCE = vdr-$(VDR_VERSION).tar.bz2 -VDR_SITE = ftp://ftp.tvdr.de/vdr +VDR_VERSION = 2.6.0 +VDR_SITE = $(call github,vdr-projects,vdr,$(VDR_VERSION)) VDR_LICENSE = GPL-2.0+ VDR_LICENSE_FILES = COPYING VDR_CPE_ID_VENDOR = tvdr @@ -27,6 +26,11 @@ VDR_MAKE_FLAGS = \ VIDEODIR=/var/lib/vdr VDR_LDFLAGS = $(TARGET_NLS_LIBS) +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +VDR_DEPENDENCIES += libexecinfo +VDR_LDFLAGS += -lexecinfo +endif + ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) VDR_DEPENDENCIES += libfribidi VDR_MAKE_FLAGS += BIDI=1 diff --git a/package/vim/vim.hash b/package/vim/vim.hash index eb5928e91ca..55e5643b90e 100644 --- a/package/vim/vim.hash +++ b/package/vim/vim.hash @@ -1,3 +1,4 @@ # Locally computed -sha256 8a72323817210daf40abe545bdf7637591b9b541a0fb3560baed76e436132dba vim-8.2.0000.tar.gz -sha256 accdbd6761e7dd7e580545fe30f3a5a7707d50073aec4b8afef85c30fc9c031b README.txt +sha256 3052bc702cfb49571dbcf9824827ae6032c37c7bf1a2aa0d3f7cc18c8f085dfb vim-8.2.5062.tar.gz +sha256 0bcab3b635dd39208c42b496568d1e8171dad247cf3da5bab3d750c9d5883499 LICENSE +sha256 96970b67f9cb38b0e759946cff22562a3c4b11ce78f62f2117d5e7ecded9ab4d README.txt diff --git a/package/vim/vim.mk b/package/vim/vim.mk index 36cb59331af..6dbb32d27b7 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -4,7 +4,7 @@ # ################################################################################ -VIM_VERSION = 8.2.0000 +VIM_VERSION = 8.2.5062 VIM_SITE = $(call github,vim,vim,v$(VIM_VERSION)) VIM_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) VIM_SUBDIR = src @@ -22,7 +22,7 @@ VIM_CONF_ENV = \ # GUI/X11 headers leak from the host so forcibly disable them VIM_CONF_OPTS = --with-tlib=ncurses --enable-gui=no --without-x VIM_LICENSE = Charityware -VIM_LICENSE_FILES = README.txt +VIM_LICENSE_FILES = LICENSE README.txt VIM_CPE_ID_VENDOR = vim ifeq ($(BR2_PACKAGE_ACL),y) diff --git a/package/vlc/0003-automake-add-subdir-objects-option.patch b/package/vlc/0002-automake-add-subdir-objects-option.patch similarity index 100% rename from package/vlc/0003-automake-add-subdir-objects-option.patch rename to package/vlc/0002-automake-add-subdir-objects-option.patch diff --git a/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch b/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch deleted file mode 100644 index 11eaaf3b209..00000000000 --- a/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 00135e21bec84a2fe5920d02fa0982ceb9f89a35 Mon Sep 17 00:00:00 2001 -From: Vinson Lee -Date: Thu, 5 Feb 2015 14:48:53 -0800 -Subject: [PATCH] lua: Define LUA_COMPAT_APIINTCASTS for Lua >= 5.3.0 - compatibility. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In Lua 5.3.0, luaL_checkint was deprecated. - -This patch fixes this build error with Lua 5.3.0. - -lua/demux.c: In function ‘vlclua_demux_peek’: -lua/demux.c:55:5: error: implicit declaration of function ‘luaL_checkint’ [-Werror=implicit-function-declaration] - int n = luaL_checkint( L, 1 ); - ^ - -Signed-off-by: Vinson Lee -Signed-off-by: Jean-Baptiste Kempf -[Backport upstream commit 41caaa08cde60c4fec4bf2e5f9610e2a1b9e6a23] -Signed-off-by: Bernd Kuhls ---- - modules/lua/vlc.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h -index 71f381d334..b46b5f67a1 100644 ---- a/modules/lua/vlc.h -+++ b/modules/lua/vlc.h -@@ -38,6 +38,7 @@ - #include - #include - -+#define LUA_COMPAT_APIINTCASTS - #define LUA_COMPAT_MODULE - #include /* Low level lua C API */ - #include /* Higher level C API */ --- -2.14.4 - diff --git a/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch b/package/vlc/0003-build-use-pkg-config-to-get-tremor-libs.patch similarity index 100% rename from package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch rename to package/vlc/0003-build-use-pkg-config-to-get-tremor-libs.patch diff --git a/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch b/package/vlc/0004-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch similarity index 100% rename from package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch rename to package/vlc/0004-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch diff --git a/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch b/package/vlc/0005-Don-t-assume-strerror_l-is-available.patch similarity index 100% rename from package/vlc/0006-Don-t-assume-strerror_l-is-available.patch rename to package/vlc/0005-Don-t-assume-strerror_l-is-available.patch diff --git a/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch b/package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch similarity index 100% rename from package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch rename to package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch diff --git a/package/vlc/0008-Add-support-for-freerdp2.patch b/package/vlc/0007-Add-support-for-freerdp2.patch similarity index 100% rename from package/vlc/0008-Add-support-for-freerdp2.patch rename to package/vlc/0007-Add-support-for-freerdp2.patch diff --git a/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch b/package/vlc/0008-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch similarity index 100% rename from package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch rename to package/vlc/0008-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch diff --git a/package/vlc/0010-modules-video_filter-opencv_example.cpp-fix-build-wi.patch b/package/vlc/0009-modules-video_filter-opencv_example.cpp-fix-build-wi.patch similarity index 100% rename from package/vlc/0010-modules-video_filter-opencv_example.cpp-fix-build-wi.patch rename to package/vlc/0009-modules-video_filter-opencv_example.cpp-fix-build-wi.patch diff --git a/package/vlc/0010-modules-access-live555.cpp-fix-build-with-live555-20.patch b/package/vlc/0010-modules-access-live555.cpp-fix-build-with-live555-20.patch new file mode 100644 index 00000000000..5f046648d44 --- /dev/null +++ b/package/vlc/0010-modules-access-live555.cpp-fix-build-with-live555-20.patch @@ -0,0 +1,36 @@ +From eba390d13ec4089cd6b9d8687ab3f8905b9d3ac8 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 22 May 2021 22:56:04 +0200 +Subject: [PATCH] modules/access/live555.cpp: fix build with live555 >= + 2020.12.11 + +Since live555-2020.12.11, connectionEndpointAddress() member function +use a "struct sockaddr_storage" in preparation for eventual support of +IPv6: http://www.live555.com/liveMedia/public/changelog.txt + +Fixes: + - http://autobuild.buildroot.org/results/83170984f96238756c45bf1f4e542363afafd45f + +Signed-off-by: Fabrice Fontaine +--- + modules/access/live555.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/modules/access/live555.cpp b/modules/access/live555.cpp +index 9d6e01ae32..32a6c294eb 100644 +--- a/modules/access/live555.cpp ++++ b/modules/access/live555.cpp +@@ -850,7 +850,9 @@ static int SessionsSetup( demux_t *p_demux ) + if( !p_sys->b_multicast ) + { + /* We need different rollover behaviour for multicast */ +- p_sys->b_multicast = IsMulticastAddress( sub->connectionEndpointAddress() ); ++ struct sockaddr_storage tempAddr; ++ sub->getConnectionEndpointAddress( tempAddr ); ++ p_sys->b_multicast = IsMulticastAddress( tempAddr ); + } + + tk = (live_track_t*)malloc( sizeof( live_track_t ) ); +-- +2.30.2 + diff --git a/package/vlc/Config.in b/package/vlc/Config.in index 96ff8f2fcbe..964b7660afd 100644 --- a/package/vlc/Config.in +++ b/package/vlc/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_VLC bool "vlc" + depends on !BR2_RISCV_32 depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS @@ -23,6 +24,7 @@ config BR2_PACKAGE_VLC_OPENCV3_BACKEND select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT comment "vlc needs a toolchain w/ C++, dynamic library, wchar, threads, gcc >= 4.9, headers >= 3.7" + depends on !BR2_RISCV_32 depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \ || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash index f404cbf3352..468ec7df356 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,7 +1,7 @@ -# From https://get.videolan.org/vlc/3.0.12/vlc-3.0.12.tar.xz.sha256 -sha256 eff458f38a92126094f44f2263c2bf2c7cdef271b48192d0fe7b1726388cf879 vlc-3.0.12.tar.xz -# From https://get.videolan.org/vlc/3.0.12/vlc-3.0.12.tar.xz.sha1 -sha1 39ef414a07202ec6569acda4c5d91e8576d453bf vlc-3.0.12.tar.xz +# From https://get.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xz.sha256 +sha256 ffae35fc64f625c175571d2346bc5f6207be99762517f15423e74f18399410f6 vlc-3.0.16.tar.xz +# From https://get.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xz.sha1 +sha1 e22ac839a09b5ead8992ae6aa8ea886364283e6a vlc-3.0.16.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index 020c37aa5de..b793e0efe01 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,14 +4,14 @@ # ################################################################################ -VLC_VERSION = 3.0.12 +VLC_VERSION = 3.0.16 VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ VLC_LICENSE_FILES = COPYING COPYING.LIB VLC_CPE_ID_VENDOR = videolan VLC_CPE_ID_PRODUCT = vlc_media_player -VLC_DEPENDENCIES = host-pkgconf +VLC_DEPENDENCIES = host-gettext host-pkgconf VLC_AUTORECONF = YES # Install vlc libraries in staging. @@ -117,8 +117,7 @@ else VLC_CONF_OPTS += --disable-alsa endif -# avahi support needs avahi-client, which needs avahi-daemon and dbus -ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yyy) +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) VLC_CONF_OPTS += --enable-avahi VLC_DEPENDENCIES += avahi else diff --git a/package/vnstat/vnstat.hash b/package/vnstat/vnstat.hash index 6934c569b2c..191dc4ec0b7 100644 --- a/package/vnstat/vnstat.hash +++ b/package/vnstat/vnstat.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 89276e0a7281943edb554b874078278ad947dc312938a2451e03eb80679f7ff7 vnstat-2.6.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 03f858a7abf6bd85bb8cd595f3541fc3bd31f8f400ec092ef3034825ccb77c25 vnstat-2.8.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/vnstat/vnstat.mk b/package/vnstat/vnstat.mk index be1b75a6b31..91f0233f561 100644 --- a/package/vnstat/vnstat.mk +++ b/package/vnstat/vnstat.mk @@ -4,10 +4,11 @@ # ################################################################################ -VNSTAT_VERSION = 2.6 +VNSTAT_VERSION = 2.8 VNSTAT_SITE = http://humdi.net/vnstat VNSTAT_LICENSE = GPL-2.0 VNSTAT_LICENSE_FILES = COPYING +VNSTAT_SELINUX_MODULES = vnstatd VNSTAT_DEPENDENCIES = host-pkgconf sqlite VNSTAT_CONF_OPTS = --disable-extra-paths diff --git a/package/vsftpd/0002-fix-CVE-2015-1419.patch b/package/vsftpd/0002-fix-CVE-2015-1419.patch index 95ad017a1c4..657af289cb1 100644 --- a/package/vsftpd/0002-fix-CVE-2015-1419.patch +++ b/package/vsftpd/0002-fix-CVE-2015-1419.patch @@ -73,7 +73,7 @@ Index: vsftpd-3.0.2/str.c =================================================================== --- vsftpd-3.0.2.orig/str.c +++ vsftpd-3.0.2/str.c -@@ -770,3 +770,14 @@ str_replace_unprintable(struct mystr* p_ +@@ -711,3 +711,14 @@ str_replace_unprintable(struct mystr* p_ } } @@ -92,7 +92,7 @@ Index: vsftpd-3.0.2/str.h =================================================================== --- vsftpd-3.0.2.orig/str.h +++ vsftpd-3.0.2/str.h -@@ -101,6 +101,7 @@ void str_replace_unprintable(struct myst +@@ -100,6 +100,7 @@ void str_replace_unprintable(struct myst int str_atoi(const struct mystr* p_str); filesize_t str_a_to_filesize_t(const struct mystr* p_str); unsigned int str_octal_to_uint(const struct mystr* p_str); diff --git a/package/vsftpd/0003-Prevent-hang-in-SIGCHLD-handler.patch b/package/vsftpd/0003-Prevent-hang-in-SIGCHLD-handler.patch index 0732c5f632b..60561937796 100644 --- a/package/vsftpd/0003-Prevent-hang-in-SIGCHLD-handler.patch +++ b/package/vsftpd/0003-Prevent-hang-in-SIGCHLD-handler.patch @@ -21,7 +21,7 @@ diff --git a/sysutil.c b/sysutil.c index 6d7cb3f..099748f 100644 --- a/sysutil.c +++ b/sysutil.c -@@ -608,13 +608,13 @@ vsf_sysutil_exit(int exit_code) +@@ -592,13 +592,13 @@ vsf_sysutil_exit(int exit_code) } struct vsf_sysutil_wait_retval @@ -41,7 +41,7 @@ diff --git a/sysutil.h b/sysutil.h index c145bdf..13153cd 100644 --- a/sysutil.h +++ b/sysutil.h -@@ -177,7 +177,7 @@ struct vsf_sysutil_wait_retval +@@ -175,7 +175,7 @@ struct vsf_sysutil_wait_retval int PRIVATE_HANDS_OFF_syscall_retval; int PRIVATE_HANDS_OFF_exit_status; }; diff --git a/package/vsftpd/vsftpd.hash b/package/vsftpd/vsftpd.hash index 955cd30889c..485e5ba2f08 100644 --- a/package/vsftpd/vsftpd.hash +++ b/package/vsftpd/vsftpd.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7 vsftpd-3.0.3.tar.gz +sha256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3 vsftpd-3.0.5.tar.gz # Locally computed sha256 c9cf119e2f9dbcf187fb805ba5aded105db26a693803636fb7228c98460ffbf2 COPYING diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk index 49b9b1917f0..3e7b233e484 100644 --- a/package/vsftpd/vsftpd.mk +++ b/package/vsftpd/vsftpd.mk @@ -4,12 +4,13 @@ # ################################################################################ -VSFTPD_VERSION = 3.0.3 +VSFTPD_VERSION = 3.0.5 VSFTPD_SITE = https://security.appspot.com/downloads VSFTPD_LIBS = -lcrypt VSFTPD_LICENSE = GPL-2.0 VSFTPD_LICENSE_FILES = COPYING VSFTPD_CPE_ID_VENDOR = vsftpd_project +VSFTPD_SELINUX_MODULES = ftp define VSFTPD_DISABLE_UTMPX $(SED) 's/.*VSF_BUILD_UTMPX/#undef VSF_BUILD_UTMPX/' $(@D)/builddefs.h diff --git a/package/vte/0001-build-Fix-build-with-kernel-headers-from-linux-4-13.patch b/package/vte/0001-build-Fix-build-with-kernel-headers-from-linux-4-13.patch new file mode 100644 index 00000000000..7c3a5ab05e1 --- /dev/null +++ b/package/vte/0001-build-Fix-build-with-kernel-headers-from-linux-4-13.patch @@ -0,0 +1,54 @@ +From 91123bb5201156e3d3adbe24305488f5eea2c8d7 Mon Sep 17 00:00:00 2001 +From: Christian Persch +Date: Mon, 27 Sep 2021 22:46:47 +0200 +Subject: [PATCH] build: Fix build with kernel headers from linux < 4.13 + +We already support running with a kernel that doesn't support this +ioctl, so let's also support building with one. Add the missing +ioctl definition to missing.hh. + +Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2514 + +[Retrieved from: +https://gitlab.gnome.org/GNOME/vte/-/commit/91123bb5201156e3d3adbe24305488f5eea2c8d7] +Signed-off-by: Fabrice Fontaine +--- + src/missing.hh | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/missing.hh b/src/missing.hh +index e5a58727..7902e41e 100644 +--- a/src/missing.hh ++++ b/src/missing.hh +@@ -23,11 +23,14 @@ + #include + + #ifdef __linux__ ++ ++#include + #include + + #if defined(__mips__) || defined(__mips64__) + #include + #endif ++ + #endif + + /* NSIG isn't in POSIX, so if it doesn't exist use this here. See bug #759196 */ +@@ -128,4 +131,13 @@ char* strchrnul(char const* s, + #define CLOSE_RANGE_CLOEXEC (1u << 2) + #endif + ++#if !defined(TIOCGPTPEER) ++/* See linux commit 54ebbfb1603415d9953c150535850d30609ef077 */ ++#if defined(__sparc__) ++#define TIOCGPTPEER _IOR('t', 137, int) ++#else ++#define TIOCGPTPEER _IOR('T', 0x41, int) ++#endif ++#endif /* !TIOCGPTPEER */ ++ + #endif /* __linux__ */ +-- +GitLab + diff --git a/package/vte/0002-build-Fix-check-for-fstack-protector-compiler-support.patch b/package/vte/0002-build-Fix-check-for-fstack-protector-compiler-support.patch new file mode 100644 index 00000000000..67b6c47482c --- /dev/null +++ b/package/vte/0002-build-Fix-check-for-fstack-protector-compiler-support.patch @@ -0,0 +1,43 @@ +From e32dba1d5cf884959af5b2c0691db00c263ea048 Mon Sep 17 00:00:00 2001 +From: Christian Persch +Date: Mon, 27 Dec 2021 19:24:46 +0100 +Subject: [PATCH] build: Fix check for -fstack-protector* compiler support + +Need to use has_link_argument() on some platforms. + +Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2535 + +[Retrieved from: +https://gitlab.gnome.org/GNOME/vte/-/commit/e32dba1d5cf884959af5b2c0691db00c263ea048] +Signed-off-by: Fabrice Fontaine +--- + meson.build | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 93b7f376..381d5d58 100644 +--- a/meson.build ++++ b/meson.build +@@ -461,8 +461,6 @@ compiler_flags_common = [ + '-fdiagnostics-show-option', + '-fno-common', + '-fno-semantic-interposition', +- '-fstack-protector', +- '-fstack-protector-strong', + ] + + if enable_debug +@@ -550,6 +548,10 @@ add_project_arguments(global_cxxflags, language: 'cpp') + linker_flags = [ + ['-Wl,-Bsymbolic', false,], + ['-Wl,-Bsymbolic-functions', get_option('_b_symbolic_functions'),], ++ ++ # See issue vte#2535. ++ ['-fstack-protector', false], ++ ['-fstack-protector-strong', false], + ] + + foreach flag: linker_flags +-- +GitLab + diff --git a/package/vte/Config.in b/package/vte/Config.in index 96de3d38ccf..45d627885fa 100644 --- a/package/vte/Config.in +++ b/package/vte/Config.in @@ -5,13 +5,13 @@ config BR2_PACKAGE_VTE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20 depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBGTK3 - select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_PCRE2 help VTE is a library (libvte) implementing a terminal emulator @@ -22,13 +22,14 @@ config BR2_PACKAGE_VTE http://github.com/GNOME/vte -comment "vte needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "vte needs a uClibc or glibc toolchain w/ wchar, threads, C++, gcc >= 10" depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ + BR2_TOOLCHAIN_USES_MUSL comment "vte needs an OpenGL or an OpenGL-EGL/wayland backend" depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS diff --git a/package/vte/vte.hash b/package/vte/vte.hash index 3fbc5acab02..90818d31f39 100644 --- a/package/vte/vte.hash +++ b/package/vte/vte.hash @@ -1,3 +1,5 @@ -# Locally calculated -sha256 a3a9fb182740b392a45cd3f46fa61a985f68bb6b1817b52daec22034c46158c3 vte-0.48.3.tar.xz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +# Hash from: http://ftp.gnome.org/pub/gnome/sources/vte/0.66/vte-0.66.2.sha256sum +sha256 e89974673a72a0a06edac6d17830b82bb124decf0cb3b52cebc92ec3ff04d976 vte-0.66.2.tar.xz + +# Hash for license file: +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING.LGPL3 diff --git a/package/vte/vte.mk b/package/vte/vte.mk index 6c8d1433f53..ceb2f09d678 100644 --- a/package/vte/vte.mk +++ b/package/vte/vte.mk @@ -4,26 +4,48 @@ # ################################################################################ -VTE_VERSION = 0.48.3 +VTE_VERSION_MAJOR = 0.66 +VTE_VERSION = $(VTE_VERSION_MAJOR).2 VTE_SOURCE = vte-$(VTE_VERSION).tar.xz -VTE_SITE = http://ftp.gnome.org/pub/gnome/sources/vte/0.48 -VTE_DEPENDENCIES = host-intltool host-pkgconf libgtk3 libxml2 pcre2 -VTE_LICENSE = LGPL-2.1+ -VTE_LICENSE_FILES = COPYING -VTE_CONF_OPTS += --disable-vala +VTE_SITE = http://ftp.gnome.org/pub/gnome/sources/vte/$(VTE_VERSION_MAJOR) +VTE_DEPENDENCIES = host-pkgconf libgtk3 pcre2 $(TARGET_NLS_DEPENDENCIES) +VTE_LICENSE = LGPL-3.0+ +VTE_LICENSE_FILES = COPYING.LGPL3 +VTE_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_ICU),y) +VTE_CONF_OPTS += -Dicu=true +VTE_DEPENDENCIES += icu +else +VTE_CONF_OPTS += -Dicu=false +endif ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -VTE_CONF_OPTS += --enable-introspection -VTE_DEPENDENCIES += gobject-introspection +VTE_CONF_OPTS += -Dgir=true -Dvapi=true +VTE_DEPENDENCIES += host-vala gobject-introspection else -VTE_CONF_OPTS += --disable-introspection +VTE_CONF_OPTS += -Dgir=false -Dvapi=false endif ifeq ($(BR2_PACKAGE_GNUTLS),y) -VTE_CONF_OPTS += --with-gnutls +VTE_CONF_OPTS += -Dgnutls=true VTE_DEPENDENCIES += gnutls else -VTE_CONF_OPTS += --without-gnutls +VTE_CONF_OPTS += -Dgnutls=false +endif + +ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) +VTE_CONF_OPTS += -Dfribidi=true +VTE_DEPENDENCIES += libfribidi +else +VTE_CONF_OPTS += -Dfribidi=false +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +VTE_CONF_OPTS += -D_systemd=true +VTE_DEPENDENCIES += systemd +else +VTE_CONF_OPTS += -D_systemd=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/vtun/Config.in b/package/vtun/Config.in index d63e7c76efa..eca6f679467 100644 --- a/package/vtun/Config.in +++ b/package/vtun/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_VTUN depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LZO select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_ZLIB help Tool for easily creating Virtual Tunnels over TCP/IP networks diff --git a/package/vuejs-router/Config.in b/package/vuejs-router/Config.in new file mode 100644 index 00000000000..ac79b3ea61a --- /dev/null +++ b/package/vuejs-router/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_VUEJS_ROUTER + bool "vuejs-router" + help + The official router for Vue.js. + + http://router.vuejs.org diff --git a/package/vuejs-router/vuejs-router.hash b/package/vuejs-router/vuejs-router.hash new file mode 100644 index 00000000000..13ce97d32c1 --- /dev/null +++ b/package/vuejs-router/vuejs-router.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 baf5e9dfb0a1e344f0f460a5cd521e17fd3842386ce36b8e6d53c1053d49cf1e vue-router-4.0.12.tgz +sha256 9c0015250f592a09d7787efc07152afcf661fff6bda2554359f6d00987828c02 LICENSE diff --git a/package/vuejs-router/vuejs-router.mk b/package/vuejs-router/vuejs-router.mk new file mode 100644 index 00000000000..9c7dcc76bf7 --- /dev/null +++ b/package/vuejs-router/vuejs-router.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# vuejs-router +# +################################################################################ + +VUEJS_ROUTER_VERSION = 4.0.12 +VUEJS_ROUTER_SOURCE = vue-router-$(VUEJS_ROUTER_VERSION).tgz +VUEJS_ROUTER_SITE = https://registry.npmjs.org/vue-router/- +VUEJS_ROUTER_LICENSE = MIT +VUEJS_ROUTER_LICENSE_FILES = LICENSE + +# Install .prod.js as .js +define VUEJS_ROUTER_INSTALL_TARGET_CMDS + $(INSTALL) -m 644 -D $(@D)/dist/vue-router.global.prod.js \ + $(TARGET_DIR)/var/www/vue-router.js +endef + +$(eval $(generic-package)) diff --git a/package/vuejs/vuejs.hash b/package/vuejs/vuejs.hash index db4a5bbe3e3..9dd0fb548b6 100644 --- a/package/vuejs/vuejs.hash +++ b/package/vuejs/vuejs.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 a69f04bf138af09a956150675151edb9354aeec8bd627c21cbcfa646248214fa vue-3.0.5.tgz +sha256 770ff74851f7454977f084becd76b05b3fad4d52f048df5405d41849c125956c vue-3.2.22.tgz +sha256 1bb85cc9b13b81ef41c81c51866172fc345e0503c86726a6755b796590b70175 LICENSE diff --git a/package/vuejs/vuejs.mk b/package/vuejs/vuejs.mk index 43b45e00b7e..b74002e9328 100644 --- a/package/vuejs/vuejs.mk +++ b/package/vuejs/vuejs.mk @@ -4,12 +4,13 @@ # ################################################################################ -VUEJS_VERSION = 3.0.5 +VUEJS_VERSION = 3.2.22 VUEJS_SOURCE = vue-$(VUEJS_VERSION).tgz VUEJS_SITE = https://registry.npmjs.org/vue/- VUEJS_LICENSE = MIT +VUEJS_LICENSE_FILES = LICENSE -# Install .min.js as .js +# Install .prod.js as .js define VUEJS_INSTALL_TARGET_CMDS $(INSTALL) -m 644 -D $(@D)/dist/vue.global.prod.js \ $(TARGET_DIR)/var/www/vue.js diff --git a/package/vulkan-headers/Config.in b/package/vulkan-headers/Config.in new file mode 100644 index 00000000000..c0fc8f20b07 --- /dev/null +++ b/package/vulkan-headers/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_VULKAN_HEADERS + bool "vulkan-headers" + help + The Khronos official Vulkan header files and API + registry. + + https://github.com/KhronosGroup/Vulkan-Headers diff --git a/package/vulkan-headers/vulkan-headers.hash b/package/vulkan-headers/vulkan-headers.hash new file mode 100644 index 00000000000..c43736405cb --- /dev/null +++ b/package/vulkan-headers/vulkan-headers.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7239108c372f1fbe365bd8d1610ca2bb4e72b73b2151f2551bf9df54dd539639 vulkan-headers-1.2.203.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/vulkan-headers/vulkan-headers.mk b/package/vulkan-headers/vulkan-headers.mk new file mode 100644 index 00000000000..13cae1e6855 --- /dev/null +++ b/package/vulkan-headers/vulkan-headers.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# vulkan-headers +# +################################################################################ + +VULKAN_HEADERS_VERSION = 1.2.203 +VULKAN_HEADERS_SITE = $(call github,KhronosGroup,Vulkan-Headers,v$(VULKAN_HEADERS_VERSION)) +VULKAN_HEADERS_LICENSE = Apache-2.0 +VULKAN_HEADERS_LICENSE_FILES = LICENSE.txt +VULKAN_HEADERS_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/package/waf/waf.hash b/package/waf/waf.hash index e9d387e7d05..21f47f76d86 100644 --- a/package/waf/waf.hash +++ b/package/waf/waf.hash @@ -1,7 +1,7 @@ # Locally computed -sha1 494ada411468129ed229f946ecec3048400e320b waf-2.0.22 -sha256 0a09ad26a2cfc69fa26ab871cb558165b60374b5a653ff556a0c6aca63a00df1 waf-2.0.22 +sha1 89b24f9c19328339c2c8103796755474b66f3a8d waf-2.0.23 +sha256 28a2e4583314a162cfcbffefb8a9202c1d7869040d30b5852da479b76d9c0491 waf-2.0.23 # The waf script also contains its license, but is renamed `waf` in the extract # step, so this is a synonym for the above, to check WAF_LICENSE -sha256 0a09ad26a2cfc69fa26ab871cb558165b60374b5a653ff556a0c6aca63a00df1 waf +sha256 28a2e4583314a162cfcbffefb8a9202c1d7869040d30b5852da479b76d9c0491 waf diff --git a/package/waf/waf.mk b/package/waf/waf.mk index 5cc0dc37144..2b1808ace49 100644 --- a/package/waf/waf.mk +++ b/package/waf/waf.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAF_VERSION = 2.0.22 +WAF_VERSION = 2.0.23 WAF_SOURCE = waf-$(WAF_VERSION) WAF_SITE = https://waf.io WAF_LICENSE = BSD-3-Clause diff --git a/package/wampcc/wampcc.mk b/package/wampcc/wampcc.mk index 5e7ee036518..11bb1f90b54 100644 --- a/package/wampcc/wampcc.mk +++ b/package/wampcc/wampcc.mk @@ -13,7 +13,7 @@ WAMPCC_LICENSE_FILES = LICENSE # Uses __atomic_fetch_add_8 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -WAMPCC_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +WAMPCC_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif $(eval $(cmake-package)) diff --git a/package/watchdogd/Config.in b/package/watchdogd/Config.in new file mode 100644 index 00000000000..ca5933848d7 --- /dev/null +++ b/package/watchdogd/Config.in @@ -0,0 +1,58 @@ +config BR2_PACKAGE_WATCHDOGD + bool "watchdogd" + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBCONFUSE + select BR2_PACKAGE_LIBITE + select BR2_PACKAGE_LIBUEV + help + Extended version of uClinux-dist watchdogd. Monitors loadavg, + file descriptors and memory leaks, and capable of supervising + your processes main loop using an instrumentation API. + + A reset reason is saved for power loss, CPU overload, or any + of the monitored conditions (above). The full capabilities + are limited by the kernel watchdog driver, but even the basic + "softdog" driver is supported. See /etc/watchdogd.conf for + details, and try watchdogctl for system status and available + commands. + + https://github.com/troglobit/watchdogd/ + +if BR2_PACKAGE_WATCHDOGD + +config BR2_PACKAGE_WATCHDOGD_TEST_SUITE + bool "Enable watchdogctl test cases" + help + The watchdogctl program comes with a suite of tests built-in. + They can be used to verify correct operation of watchdogd and + the kernel watchdog driver. + +config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL + int "Generic script monitor poll interval (sec)" + default "300" + help + Poll interval for generic script monitor, in seconds. A value + of zero (0) disables the monitor. + +config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL + int "CPU load average monitor poll interval (sec)" + default "300" + help + Poll interval for CPU load average monitor, in seconds. A + value of zero (0) disables the monitor. + +config BR2_PACKAGE_WATCHDOGD_FILENR_POLL + int "File descriptor leak monitor poll interval (sec)" + default "300" + help + Poll interval for file descriptor leak monitor, in seconds. A + value of zero (0) disables the monitor. + +config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL + int "Memory leak monitor poll interval (sec)" + default "300" + help + Poll interval for memory leak monitor, in seconds. A value of + zero (0) disables the monitor. + +endif diff --git a/package/watchdogd/S01watchdogd b/package/watchdogd/S01watchdogd new file mode 100755 index 00000000000..df57b8ad7a7 --- /dev/null +++ b/package/watchdogd/S01watchdogd @@ -0,0 +1,47 @@ +#!/bin/sh + +DAEMON="watchdogd" +PIDFILE="/var/run/$DAEMON.pid" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +cmd() +{ + start-stop-daemon -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" "$@" + status=$? + if [ $status -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return $status +} + +case "$1" in + start) + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + cmd -S -- $SMCROUTED_ARGS + ;; + + stop) + printf 'Stopping %s: ' "$DAEMON" + cmd -K + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + reload) + printf 'Reloading %s: ' "$DAEMON" + cmd -K -s HUP + ;; + + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/watchdogd/watchdogd.hash b/package/watchdogd/watchdogd.hash new file mode 100644 index 00000000000..09a34d6b470 --- /dev/null +++ b/package/watchdogd/watchdogd.hash @@ -0,0 +1,5 @@ +# Upstream .sha256 from GitHub +sha256 33ec4edc8cb4ada7a4d8324a27d897d33aae5e83257ed64d3d37508825c11237 watchdogd-3.5.tar.gz + +# Locally calculated +sha256 fd685e20931174308c45a26418a7ce34d66704c4e4b92ab1d8299deb255cd676 LICENSE diff --git a/package/watchdogd/watchdogd.mk b/package/watchdogd/watchdogd.mk new file mode 100644 index 00000000000..1a9d04d9384 --- /dev/null +++ b/package/watchdogd/watchdogd.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# watchdogd +# +################################################################################ + +WATCHDOGD_VERSION = 3.5 +WATCHDOGD_SITE = https://github.com/troglobit/watchdogd/releases/download/$(WATCHDOGD_VERSION) +WATCHDOGD_LICENSE = ISC +WATCHDOGD_LICENSE_FILES = LICENSE +WATCHDOGD_CPE_ID_VENDOR = troglobit +WATCHDOGD_DEPENDENCIES = host-pkgconf libconfuse libite libuev +WATCHDOGD_CONF_OPTS = --disable-compat --disable-examples --disable-test-mode +WATCHDOGD_SELINUX_MODULES = watchdog + +ifneq ($(BR2_PACKAGE_WATCHDOGD_TEST_SUITE),y) +WATCHDOGD_CONF_OPTS += --disable-builtin-tests +else +WATCHDOGD_CONF_OPTS += --enable-builtin-tests +endif + +ifeq ($(BR2_PACKAGE_WATCHDOGD_GENERIC_POLL),0) +WATCHDOGD_CONF_OPTS += --without-generic +else +WATCHDOGD_CONF_OPTS += --with-generic=$(BR2_PACKAGE_WATCHDOGD_GENERIC_POLL) +endif + +ifeq ($(BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL),0) +WATCHDOGD_CONF_OPTS += --without-loadavg +else +WATCHDOGD_CONF_OPTS += --with-loadavg=$(BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL) +endif + +ifeq ($(BR2_PACKAGE_WATCHDOGD_FILENR_POLL),0) +WATCHDOGD_CONF_OPTS += --without-filenr +else +WATCHDOGD_CONF_OPTS += --with-filenr=$(BR2_PACKAGE_WATCHDOGD_FILENR_POLL) +endif + +ifeq ($(BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL),0) +WATCHDOGD_CONF_OPTS += --without-meminfo +else +WATCHDOGD_CONF_OPTS += --with-meminfo=$(BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL) +endif + +define WATCHDOGD_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/watchdogd/S01watchdogd \ + $(TARGET_DIR)/etc/init.d/S01watchdogd +endef + +define WATCHDOGD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(WATCHDOGD_SRCDIR)/watchdogd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/watchdogd.service +endef + +$(eval $(autotools-package)) diff --git a/package/wavemon/Config.in b/package/wavemon/Config.in index 0cb4cb5c69a..0e087bd0c87 100644 --- a/package/wavemon/Config.in +++ b/package/wavemon/Config.in @@ -1,8 +1,10 @@ config BR2_PACKAGE_WAVEMON bool "wavemon" depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS # libnl tools select BR2_PACKAGE_NCURSES select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_LIBNL_TOOLS help wavemon is a wireless device monitoring application that allows you to watch signal and noise levels, packet @@ -15,5 +17,5 @@ config BR2_PACKAGE_WAVEMON https://github.com/uoaerg/wavemon -comment "wavemon needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "wavemon needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/wavemon/wavemon.hash b/package/wavemon/wavemon.hash index 455e64cba8b..7c685f65009 100644 --- a/package/wavemon/wavemon.hash +++ b/package/wavemon/wavemon.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5ebd5b79d3b7c546bc16b95161872c699a75e9acdfc6e3f02ec48dad10802067 wavemon-0.9.1.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 e7e4167292136ca7ff12ddeb880904c10f33e97620ea6aa5f7838e859fdb40ed wavemon-0.9.4.tar.gz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSE diff --git a/package/wavemon/wavemon.mk b/package/wavemon/wavemon.mk index 3ae1141ec4e..50e3fd275e4 100644 --- a/package/wavemon/wavemon.mk +++ b/package/wavemon/wavemon.mk @@ -4,13 +4,20 @@ # ################################################################################ -WAVEMON_VERSION = 0.9.1 +WAVEMON_VERSION = 0.9.4 WAVEMON_SITE = $(call github,uoaerg,wavemon,v$(WAVEMON_VERSION)) WAVEMON_LICENSE = GPL-3.0+ -WAVEMON_LICENSE_FILES = COPYING +WAVEMON_LICENSE_FILES = LICENSE WAVEMON_DEPENDENCIES = host-pkgconf libnl ncurses # Handwritten Makefile.in, automake isn't used WAVEMON_MAKE_OPTS = CC="$(TARGET_CC)" +ifeq ($(BR2_PACKAGE_LIBCAP),y) +WAVEMON_CONF_OPTS += --with-libcap +WAVEMON_DEPENDENCIES += libcap +else +WAVEMON_CONF_OPTS += --without-libcap +endif + $(eval $(autotools-package)) diff --git a/package/wavpack/0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch b/package/wavpack/0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch new file mode 100644 index 00000000000..76c1e816742 --- /dev/null +++ b/package/wavpack/0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch @@ -0,0 +1,42 @@ +From 773f9d0803c6888ae7d5391878d7337f24216f4a Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Tue, 23 Nov 2021 13:14:35 -0800 +Subject: [PATCH] issue #110: sanitize DSD file types for invalid lengths + +[Retrieved from: +https://github.com/dbry/WavPack/commit/773f9d0803c6888ae7d5391878d7337f24216f4a] +Signed-off-by: Fabrice Fontaine +--- + cli/dsdiff.c | 6 ++++++ + cli/dsf.c | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/cli/dsdiff.c b/cli/dsdiff.c +index d7adb6a..5bdcae3 100644 +--- a/cli/dsdiff.c ++++ b/cli/dsdiff.c +@@ -278,6 +278,12 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + } + + total_samples = dff_chunk_header.ckDataSize / config->num_channels; ++ ++ if (total_samples <= 0 || total_samples > MAX_WAVPACK_SAMPLES) { ++ error_line ("%s is not a valid .DFF file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ + break; + } + else { // just copy unknown chunks to output file +diff --git a/cli/dsf.c b/cli/dsf.c +index e1d7973..dddd488 100644 +--- a/cli/dsf.c ++++ b/cli/dsf.c +@@ -113,6 +113,7 @@ int ParseDsfHeaderConfig (FILE *infile, char *infilename, char *fourcc, WavpackC + + if (format_chunk.ckSize != sizeof (DSFFormatChunk) || format_chunk.formatVersion != 1 || + format_chunk.formatID != 0 || format_chunk.blockSize != DSF_BLOCKSIZE || format_chunk.reserved || ++ format_chunk.sampleCount <= 0 || format_chunk.sampleCount > MAX_WAVPACK_SAMPLES * 8 || + (format_chunk.bitsPerSample != 1 && format_chunk.bitsPerSample != 8) || + format_chunk.numChannels < 1 || format_chunk.numChannels > 6 || + format_chunk.chanType < 1 || format_chunk.chanType > NUM_CHAN_TYPES) { diff --git a/package/wavpack/wavpack.mk b/package/wavpack/wavpack.mk index 485ab9b2ae4..2e0438ac804 100644 --- a/package/wavpack/wavpack.mk +++ b/package/wavpack/wavpack.mk @@ -14,6 +14,9 @@ WAVPACK_LICENSE = BSD-3-Clause WAVPACK_LICENSE_FILES = COPYING WAVPACK_CPE_ID_VENDOR = wavpack +# 0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch +WAVPACK_IGNORE_CVES += CVE-2021-44269 + ifeq ($(BR2_PACKAGE_LIBICONV),y) WAVPACK_CONF_OPTS += LIBS=-liconv endif diff --git a/package/wayland-protocols/wayland-protocols.hash b/package/wayland-protocols/wayland-protocols.hash index 321fc62de5e..1262f0f9d70 100644 --- a/package/wayland-protocols/wayland-protocols.hash +++ b/package/wayland-protocols/wayland-protocols.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2020-February/041269.html -md5 b0836533a3f2dc6585b1dae00341157f wayland-protocols-1.20.tar.xz -sha1 e78c739a3a85477ed524b81e8bb75efe7f8bf4df wayland-protocols-1.20.tar.xz -sha256 9782b7a1a863d82d7c92478497d13c758f52e7da4f197aa16443f73de77e4de7 wayland-protocols-1.20.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2022-January/042102.html +md5 0c192bf32de09ec30de4a82d1c65329c wayland-protocols-1.25.tar.xz +sha1 275298332d124e40e345aa82bc8f48ef8cad3480 wayland-protocols-1.25.tar.xz +sha256 f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460 wayland-protocols-1.25.tar.xz sha256 f1a2b233e8a9a71c40f4aa885be08a0842ac85bb8588703c1dd7e6e6502e3124 COPYING diff --git a/package/wayland-protocols/wayland-protocols.mk b/package/wayland-protocols/wayland-protocols.mk index 84028b97d58..746d82e3082 100644 --- a/package/wayland-protocols/wayland-protocols.mk +++ b/package/wayland-protocols/wayland-protocols.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_PROTOCOLS_VERSION = 1.20 +WAYLAND_PROTOCOLS_VERSION = 1.25 WAYLAND_PROTOCOLS_SITE = https://wayland.freedesktop.org/releases WAYLAND_PROTOCOLS_SOURCE = wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION).tar.xz WAYLAND_PROTOCOLS_LICENSE = MIT @@ -12,4 +12,6 @@ WAYLAND_PROTOCOLS_LICENSE_FILES = COPYING WAYLAND_PROTOCOLS_INSTALL_STAGING = YES WAYLAND_PROTOCOLS_INSTALL_TARGET = NO -$(eval $(autotools-package)) +WAYLAND_PROTOCOLS_CONF_OPTS = -Dtests=false + +$(eval $(meson-package)) diff --git a/package/wayland/0001-build-add-option-to-disable-tests.patch b/package/wayland/0001-build-add-option-to-disable-tests.patch index 6ab695e9096..5ecf100d647 100644 --- a/package/wayland/0001-build-add-option-to-disable-tests.patch +++ b/package/wayland/0001-build-add-option-to-disable-tests.patch @@ -1,4 +1,4 @@ -From 283085496e06b5543771abe5cc746ff0b77cdd23 Mon Sep 17 00:00:00 2001 +From 88f1605a826ca0c2ff02be6f4cf9ecabf68e8341 Mon Sep 17 00:00:00 2001 From: James Hilliard Date: Tue, 3 Mar 2020 15:27:51 -0700 Subject: [PATCH] build: add option to disable tests @@ -15,65 +15,19 @@ Signed-off-by: Alexey Brodkin Signed-off-by: James Hilliard [Upstream status: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/66] +Signed-off-by: Adrian Perez de Castro +[yann.morin.1998@free.fr: backport from upstream] +Signed-off-by: Yann E. MORIN --- - Makefile.am | 2 ++ - configure.ac | 9 +++++++++ meson.build | 4 +++- meson_options.txt | 4 ++++ - 4 files changed, 18 insertions(+), 1 deletion(-) + 2 files changed, 7 insertions(+), 1 deletion(-) -diff --git a/Makefile.am b/Makefile.am -index cc87392..d5d43e3 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -162,6 +162,7 @@ pkgconfig_DATA += egl/wayland-egl.pc - include_HEADERS += egl/wayland-egl-backend.h - pkgconfig_DATA += egl/wayland-egl-backend.pc - -+if ENABLE_TESTS - built_test_programs = \ - array-test \ - client-test \ -@@ -295,6 +296,7 @@ os_wrappers_test_LDADD = libtest-runner.la - - exec_fd_leak_checker_SOURCES = tests/exec-fd-leak-checker.c - exec_fd_leak_checker_LDADD = libtest-helpers.la -+endif - - EXTRA_DIST += tests/scanner-test.sh \ - protocol/tests.xml \ -diff --git a/configure.ac b/configure.ac -index dda5e48..99b7c96 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -77,6 +77,13 @@ AC_ARG_ENABLE([libraries], - [], - [enable_libraries=yes]) - -+AC_ARG_ENABLE([tests], -+ [AC_HELP_STRING([--disable-tests], -+ [Disable compilation of test programs])], -+ [], -+ [enable_tests=yes]) -+ -+ - AC_ARG_WITH([host-scanner], - [AC_HELP_STRING([--with-host-scanner], - [Use installed wayland-scanner from host PATH during build])], -@@ -99,6 +106,8 @@ AM_CONDITIONAL(USE_HOST_SCANNER, test "x$with_host_scanner" = xyes) - - AM_CONDITIONAL(ENABLE_LIBRARIES, test "x$enable_libraries" = xyes) - -+AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = xyes) -+ - AC_ARG_WITH(icondir, [ --with-icondir= Look for cursor icons here], - [ ICONDIR=$withval], - [ ICONDIR=${datadir}/icons]) diff --git a/meson.build b/meson.build -index 5632f4e..b37bb7a 100644 +index cdb66bc..714a86d 100644 --- a/meson.build +++ b/meson.build -@@ -83,7 +83,9 @@ subdir('src') +@@ -84,7 +84,9 @@ subdir('src') if get_option('libraries') subdir('cursor') subdir('egl') @@ -81,15 +35,15 @@ index 5632f4e..b37bb7a 100644 + if get_option('tests') + subdir('tests') + endif - endif - - if get_option('documentation') + if get_option('documentation') + subdir('doc') + endif diff --git a/meson_options.txt b/meson_options.txt -index 76314f7..ab4be92 100644 +index de588d1..4433fa0 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -2,6 +2,10 @@ option('libraries', - description: 'Compile Wayland libraries', +@@ -6,6 +6,10 @@ option('scanner', + description: 'Compile wayland-scanner binary', type: 'boolean', value: 'true') +option('tests', @@ -100,5 +54,5 @@ index 76314f7..ab4be92 100644 description: 'Build the documentation (requires Doxygen, dot, xmlto, xsltproc)', type: 'boolean', -- -2.20.1 +2.25.1 diff --git a/package/wayland/0002-meson-do-not-check-for-c.patch b/package/wayland/0002-meson-do-not-check-for-c.patch deleted file mode 100644 index c5819bf4772..00000000000 --- a/package/wayland/0002-meson-do-not-check-for-c.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1df9b73db6541cbc483c6ee1b21dbe0cb6e5cbfa Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Wed, 29 Jul 2020 08:20:41 +0200 -Subject: [PATCH] meson: do not check for c++ - -Wayland does not need c++, fixes building with toolchains lacking c++. - -Backported from upstream PR: -https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/88 - -Signed-off-by: Bernd Kuhls ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index b67b101..e47a52d 100644 ---- a/meson.build -+++ b/meson.build -@@ -1,5 +1,5 @@ - project( -- 'wayland', 'c', 'cpp', -+ 'wayland', 'c', - version: '1.18.0', - license: 'MIT', - meson_version: '>= 0.47.0', --- -2.27.0 - diff --git a/package/wayland/0002-meson-only-require-cpp-for-tests.patch b/package/wayland/0002-meson-only-require-cpp-for-tests.patch new file mode 100644 index 00000000000..84d0e4cf6f4 --- /dev/null +++ b/package/wayland/0002-meson-only-require-cpp-for-tests.patch @@ -0,0 +1,59 @@ +From 4c2105312379b62dc84f6eaaf26e2ab293d51b92 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Fri, 16 Apr 2021 02:32:38 -0600 +Subject: [PATCH] meson: only require cpp for tests + +Signed-off-by: James Hilliard +[Upstream status: +https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/130] +Signed-off-by: Adrian Perez de Castro +[yann.morin.1998@free.fr: backport from upstream] +Signed-off-by: Yann E. MORIN +--- + meson.build | 2 +- + tests/meson.build | 16 +++++++++------- + 2 files changed, 10 insertions(+), 8 deletions(-) + +diff --git a/meson.build b/meson.build +index 12b4641..cdb66bc 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,5 +1,5 @@ + project( +- 'wayland', 'c', 'cpp', ++ 'wayland', 'c', + version: '1.19.0', + license: 'MIT', + meson_version: '>= 0.52.1', +diff --git a/tests/meson.build b/tests/meson.build +index a32ac50..2e11af4 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -64,15 +64,17 @@ executable( + dependencies: test_runner_dep + ) + +-test( +- 'cpp-compile-test', +- executable( ++if add_languages('cpp') ++ test( + 'cpp-compile-test', +- 'cpp-compile-test.cpp', +- wayland_server_protocol_h, +- include_directories: src_inc ++ executable( ++ 'cpp-compile-test', ++ 'cpp-compile-test.cpp', ++ wayland_server_protocol_h, ++ include_directories: src_inc ++ ) + ) +-) ++endif + + sed_path = find_program('sed').path() + +-- +2.31.1 + diff --git a/package/wayland/wayland.hash b/package/wayland/wayland.hash index abd8bcdf292..e9dcb63a90a 100644 --- a/package/wayland/wayland.hash +++ b/package/wayland/wayland.hash @@ -1,8 +1,6 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2020-February/041207.html -md5 23317697b6e3ff2e1ac8c5ba3ed57b65 wayland-1.18.0.tar.xz -sha1 33e5292b32a115e829458ea627201ed1e4ad4f45 wayland-1.18.0.tar.xz -sha256 4675a79f091020817a98fd0484e7208c8762242266967f55a67776936c2e294d wayland-1.18.0.tar.xz -sha512 e30199e30c2bbd361ee695b4f3f7a4e264f10ed8f46f2c90762b5739fc578ae757dc39aa0258d8fbf0ed418553470bccd4b2730ed9705481cfccdab5de96a8fc wayland-1.18.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2021-January/041692.html +sha256 baccd902300d354581cd5ad3cc49daa4921d55fb416a5883e218750fef166d15 wayland-1.19.0.tar.xz +sha512 d8a86f5e23e4a88e7c84b82fdb51eb350419086afe462ecb2f4d5c3ba9290ede310cbbcffd60215219ddccf5bad4adec21a5ebfbef6577200f66ac7a1b64a5ef wayland-1.19.0.tar.xz # Locally calculated sha256 6eefcb023622a463168a5c20add95fd24a38c7482622a9254a23b99b7c153061 COPYING diff --git a/package/wayland/wayland.mk b/package/wayland/wayland.mk index 6cb4a50dbbf..ecfe95d68a3 100644 --- a/package/wayland/wayland.mk +++ b/package/wayland/wayland.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_VERSION = 1.18.0 +WAYLAND_VERSION = 1.19.0 WAYLAND_SITE = https://wayland.freedesktop.org/releases WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz WAYLAND_LICENSE = MIT diff --git a/package/waylandpp/Config.in b/package/waylandpp/Config.in index 3d7362b3c0c..86ca9650563 100644 --- a/package/waylandpp/Config.in +++ b/package/waylandpp/Config.in @@ -3,14 +3,16 @@ config BR2_PACKAGE_WAYLANDPP depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND depends on BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_WAYLAND help Wayland C++ bindings https://github.com/NilsBrause/waylandpp -comment "waylandpp needs an OpenGL-EGL/wayland backend, a toolchain w/ gcc >= 4.9, host gcc >= 4.9" +comment "waylandpp needs an OpenGL-EGL/wayland backend, a toolchain w/ gcc >= 4.9, host gcc >= 4.9, C++ support" depends on BR2_PACKAGE_WAYLAND depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ !BR2_HOST_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/webkitgtk/0001-Build-failure-when-cross-building-for-64-bit-ARM-htt.patch b/package/webkitgtk/0001-Build-failure-when-cross-building-for-64-bit-ARM-htt.patch new file mode 100644 index 00000000000..7c9c8666ad9 --- /dev/null +++ b/package/webkitgtk/0001-Build-failure-when-cross-building-for-64-bit-ARM-htt.patch @@ -0,0 +1,32 @@ +From b0c63502f004db68b485354967bb1c56c071f4eb Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Tue, 31 May 2022 00:48:21 +0300 +Subject: [PATCH] Build failure when cross-building for 64-bit ARM + https://bugs.webkit.org/show_bug.cgi?id=241109 + +Unreviewed build fix. + +* Source/WebCore/bindings/js/JSDOMMapLike.cpp: Add missing + JavaScriptCore/HashMapImplInlines.h header inclusion. + +Signed-off-by: Adrian Perez de Castro +Upstream status: https://github.com/WebKit/WebKit/pull/1165 +--- + Source/WebCore/bindings/js/JSDOMMapLike.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WebCore/bindings/js/JSDOMMapLike.cpp b/Source/WebCore/bindings/js/JSDOMMapLike.cpp +index e132c39fa54..2cb4b1b59a3 100644 +--- a/Source/WebCore/bindings/js/JSDOMMapLike.cpp ++++ b/Source/WebCore/bindings/js/JSDOMMapLike.cpp +@@ -28,6 +28,7 @@ + + #include "WebCoreJSClientData.h" + #include ++#include + #include + #include + +-- +2.36.1 + diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in index 4ea931fde18..bc8207d93b6 100644 --- a/package/webkitgtk/Config.in +++ b/package/webkitgtk/Config.in @@ -12,20 +12,24 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 7, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS + depends on !BR2_BINFMT_FLAT depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU config BR2_PACKAGE_WEBKITGTK bool "webkitgtk" - depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu + depends on !BR2_STATIC_LIBS # wayland + depends on !BR2_BINFMT_FLAT # icu + depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_USE_WCHAR # icu, libsoup depends on BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS select BR2_PACKAGE_CAIRO @@ -98,8 +102,11 @@ config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME select BR2_PACKAGE_GST1_PLUGINS_GOOD + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4 + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX select BR2_PACKAGE_GST1_LIBAV help This option pulls in all of the required dependencies @@ -110,7 +117,7 @@ if BR2_PACKAGE_WEBKITGTK_MULTIMEDIA config BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL bool "use gstreamer-gl" default y - depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM help Use the GStreamer GL elements for handling video content. This is recommended as it improves performance of video diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index 3869058d754..1176bbc7a10 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,7 +1,7 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.30.5.tar.xz.sums -md5 c8291af0c5102fff1f73e67f0bff6c87 webkitgtk-2.30.5.tar.xz -sha1 4fc8753786d7762a3c4ecdc7ea11fc38b5468d6f webkitgtk-2.30.5.tar.xz -sha256 7d0dab08e3c5ae07bec80b2822ef42e952765d5724cac86eb23999bfed5a7f1f webkitgtk-2.30.5.tar.xz +# From https://webkitgtk.org/releases/webkitgtk-2.36.3.tar.xz.sums +md5 8ad4b1bfbbe3115ee163a8b2ba7b908f webkitgtk-2.36.3.tar.xz +sha1 59ee6ee820be360ad57391870fa158064091c525 webkitgtk-2.36.3.tar.xz +sha256 732fcf8c4ec644b8ed28b46ebbd7c1ebab9d9e0afea9bdf5e5d12786afc478d1 webkitgtk-2.36.3.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk index 8a3be4c95e0..39b16a90e72 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.30.5 +WEBKITGTK_VERSION = 2.36.3 WEBKITGTK_SITE = https://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -13,23 +13,22 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-APPLE \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk -WEBKITGTK_DEPENDENCIES = host-ruby host-python host-gperf \ +WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf \ enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ libtasn1 libxml2 libxslt openjpeg sqlite webp woff2 WEBKITGTK_CONF_OPTS = \ -DENABLE_API_TESTS=OFF \ + -DENABLE_GAMEPAD=OFF \ -DENABLE_GEOLOCATION=OFF \ -DENABLE_GTKDOC=OFF \ - -DENABLE_INTROSPECTION=OFF \ -DENABLE_MINIBROWSER=ON \ -DENABLE_SPELLCHECK=ON \ -DPORT=GTK \ - -DSILENCE_CROSS_COMPILATION_NOTICES=ON \ -DUSE_LIBNOTIFY=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_OPENJPEG=ON \ - -DUSE_WOFF2=ON \ - -DUSE_WPE_RENDERER=OFF + -DUSE_SOUP2=ON \ + -DUSE_WOFF2=ON ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) WEBKITGTK_CONF_OPTS += \ @@ -45,7 +44,7 @@ ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_VIDEO=ON \ -DENABLE_WEB_AUDIO=ON -WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good +WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base else WEBKITGTK_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ @@ -58,6 +57,20 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF endif +ifeq ($(BR2_PACKAGE_LCMS2),y) +WEBKITGTK_CONF_OPTS += -DUSE_LCMS=ON +WEBKITGTK_DEPENDENCIES += lcms2 +else +WEBKITGTK_CONF_OPTS += -DUSE_LCMS=OFF +endif + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=ON +WEBKITGTK_DEPENDENCIES += gobject-introspection +else +WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF +endif + # Only one target platform can be built, assume X11 > Wayland # GTK3-X11 target gives OpenGL from newer libgtk3 versions @@ -67,31 +80,19 @@ ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_ACCELERATED_2D_CANVAS=ON \ -DENABLE_GLES2=OFF \ - -DENABLE_GRAPHICS_CONTEXT_GL=ON \ -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt -# It can use libgtk2 for npapi plugins -ifeq ($(BR2_PACKAGE_LIBGTK2),y) -WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=ON -WEBKITGTK_DEPENDENCIES += libgtk2 -else -WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=OFF -endif else # !X11 # GTK3-BROADWAY/WAYLAND needs at least EGL WEBKITGTK_DEPENDENCIES += libegl # GLESv2 support is optional though ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) -WEBKITGTK_CONF_OPTS += \ - -DENABLE_GLES2=ON \ - -DENABLE_GRAPHICS_CONTEXT_GL=ON +WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=ON WEBKITGTK_DEPENDENCIES += libgles else # Disable general OpenGL (shading) if there's no GLESv2 -WEBKITGTK_CONF_OPTS += \ - -DENABLE_GLES2=OFF \ - -DENABLE_GRAPHICS_CONTEXT_GL=OFF +WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=OFF endif # We must explicitly state the wayland target ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) @@ -99,6 +100,13 @@ WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON endif endif +ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND)$(BR2_PACKAGE_WPEBACKEND_FDO),yy) +WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON +WEBKITGTK_DEPENDENCIES += wpebackend-fdo +else +WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=OFF +endif + ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y) WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON else @@ -106,10 +114,10 @@ WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF endif ifeq ($(BR2_INIT_SYSTEMD),y) -WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=ON +WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON WEBKITGTK_DEPENDENCIES += systemd else -WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=OFF +WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF endif # JIT is not supported for MIPS r6, but the WebKit build system does not diff --git a/package/webp/webp.hash b/package/webp/webp.hash index 24cec6dfa37..cf7b1dc9de3 100644 --- a/package/webp/webp.hash +++ b/package/webp/webp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c libwebp-1.2.0.tar.gz +sha256 808b98d2f5b84e9b27fdef6c5372dac769c3bda4502febbfa5031bd3c4d7d018 libwebp-1.2.1.tar.gz sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf COPYING diff --git a/package/webp/webp.mk b/package/webp/webp.mk index ecf26faa318..f23e1c92e18 100644 --- a/package/webp/webp.mk +++ b/package/webp/webp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBP_VERSION = 1.2.0 +WEBP_VERSION = 1.2.1 WEBP_SOURCE = libwebp-$(WEBP_VERSION).tar.gz WEBP_SITE = http://downloads.webmproject.org/releases/webp WEBP_LICENSE = BSD-3-Clause @@ -14,10 +14,17 @@ WEBP_CPE_ID_PRODUCT = libwebp WEBP_INSTALL_STAGING = YES WEBP_CONF_OPTS += \ - --with-jpegincludedir=$(STAGING_DIR)/usr/include \ - --with-jpeglibdir=$(STAGING_DIR)/usr/lib \ - --with-tiffincludedir=$(STAGING_DIR)/usr/include \ - --with-tifflibdir=$(STAGING_DIR)/usr/lib + --disable-sdl + +HOST_WEBP_CONF_OPTS += \ + --enable-libwebpdemux \ + --enable-libwebpmux \ + --disable-gif \ + --disable-gl \ + --disable-jpeg \ + --disable-png \ + --disable-sdl \ + --disable-tiff ifeq ($(BR2_PACKAGE_WEBP_DEMUX),y) WEBP_CONF_OPTS += --enable-libwebpdemux @@ -38,6 +45,16 @@ else WEBP_CONF_OPTS += --disable-gif endif +ifeq ($(BR2_PACKAGE_JPEG),y) +WEBP_DEPENDENCIES += jpeg +WEBP_CONF_OPTS += \ + --enable-jpeg \ + --with-jpegincludedir=$(STAGING_DIR)/usr/include \ + --with-jpeglibdir=$(STAGING_DIR)/usr/lib +else +WEBP_CONF_OPTS += --disable-jpeg +endif + ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y) WEBP_DEPENDENCIES += libfreeglut WEBP_CONF_OPTS += --enable-gl @@ -47,12 +64,21 @@ endif ifeq ($(BR2_PACKAGE_LIBPNG),y) WEBP_DEPENDENCIES += libpng +WEBP_CONF_OPTS += --enable-png WEBP_CONF_ENV += ac_cv_path_LIBPNG_CONFIG=$(STAGING_DIR)/usr/bin/libpng-config else -WEBP_CONF_ENV += ac_cv_path_LIBPNG_CONFIG=/bin/false +WEBP_CONF_OPTS += --disable-png endif -WEBP_DEPENDENCIES += $(if $(BR2_PACKAGE_JPEG),jpeg) -WEBP_DEPENDENCIES += $(if $(BR2_PACKAGE_TIFF),tiff) +ifeq ($(BR2_PACKAGE_TIFF),y) +WEBP_DEPENDENCIES += tiff +WEBP_CONF_OPTS += \ + --enable-tiff \ + --with-tiffincludedir=$(STAGING_DIR)/usr/include \ + --with-tifflibdir=$(STAGING_DIR)/usr/lib +else +WEBP_CONF_OPTS += --disable-tiff +endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/websocketpp/websocketpp.mk b/package/websocketpp/websocketpp.mk index 59b365aa548..dd31e644a43 100644 --- a/package/websocketpp/websocketpp.mk +++ b/package/websocketpp/websocketpp.mk @@ -6,7 +6,7 @@ WEBSOCKETPP_VERSION = 0.8.2 WEBSOCKETPP_SITE = $(call github,zaphoyd,websocketpp,$(WEBSOCKETPP_VERSION)) -WEBSOCKETPP_LICENSE = BSD-3c, MIT, Zlib +WEBSOCKETPP_LICENSE = BSD-3-Clause, MIT, Zlib WEBSOCKETPP_LICENSE_FILES = COPYING WEBSOCKETPP_CPE_ID_VENDOR = zaphoyd WEBSOCKETPP_INSTALL_STAGING = YES diff --git a/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch b/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch new file mode 100644 index 00000000000..927215380e5 --- /dev/null +++ b/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch @@ -0,0 +1,38 @@ +From 2ac6b6b084a877adde64db7faff2ed22eb3ea97a Mon Sep 17 00:00:00 2001 +From: Daniel Stone +Date: Tue, 8 Feb 2022 22:39:42 +0000 +Subject: [PATCH] tests: Add dependency on screenshooter client protocol + +Given that the test-helper code relies on the screenshooter protocol, +make sure it's available for us to build, and the dependency ensures we +build in order. + +Fixes: #588 + +Signed-off-by: Daniel Stone + +[Retrieved from: +https://gitlab.freedesktop.org/wayland/weston/-/commit/2ac6b6b084a877adde64db7faff2ed22eb3ea97a] +Signed-off-by: Fabrice Fontaine +--- + tests/meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tests/meson.build b/tests/meson.build +index 2d464ddcc..222091cd1 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -29,8 +29,9 @@ lib_test_client = static_library( + 'weston-test-client-helper.c', + 'weston-test-fixture-compositor.c', + weston_test_client_protocol_h, +- weston_screenshooter_protocol_c, + weston_test_protocol_c, ++ weston_screenshooter_client_protocol_h, ++ weston_screenshooter_protocol_c, + viewporter_client_protocol_h, + viewporter_protocol_c, + 'color_util.h', +-- +GitLab + diff --git a/package/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch b/package/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch deleted file mode 100644 index 2eb6bd838c0..00000000000 --- a/package/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch +++ /dev/null @@ -1,48 +0,0 @@ -From b10c0e843dcb8148bbe869bb15261955b94ac98c Mon Sep 17 00:00:00 2001 -From: Denys Dmytriyenko -Date: Tue, 8 Sep 2020 19:37:42 -0400 -Subject: [PATCH] tests: include fcntl.h for open(), O_RDWR, O_CLOEXEC and - O_CREAT - -musl libc (unlike glibc) requires explicitly incuding fcntl.h to define open(), -O_RDWR, O_CLOEXEC and O_CREAT. Otherwise the build fails with the errors: - -| ../weston-9.0.0/tests/weston-test-fixture-compositor.c: In function 'wait_for_lock': -| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:7: warning: implicit declaration of function 'open'; did you mean 'popen'? [-Wimplicit-function-declaration] -| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); -| | ^~~~ -| | popen -| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: error: 'O_RDWR' undeclared (first use in this function) -| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); -| | ^~~~~~ -| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: note: each undeclared identifier is reported only once for each function it appears in -| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:32: error: 'O_CLOEXEC' undeclared (first use in this function) -| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); -| | ^~~~~~~~~ -| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:44: error: 'O_CREAT' undeclared (first use in this function) -| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); -| | ^~~~~~~ - -Signed-off-by: Denys Dmytriyenko -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -b10c0e843dcb8148bbe869bb15261955b94ac98c] ---- - tests/weston-test-fixture-compositor.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/weston-test-fixture-compositor.c b/tests/weston-test-fixture-compositor.c -index 1c32959c..c1eb26c4 100644 ---- a/tests/weston-test-fixture-compositor.c -+++ b/tests/weston-test-fixture-compositor.c -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - - #include "shared/helpers.h" - #include "weston-test-fixture-compositor.h" --- -2.25.1 - diff --git a/package/weston/0002-libweston-backend-drm-might-need-EGL.patch b/package/weston/0002-libweston-backend-drm-might-need-EGL.patch deleted file mode 100644 index f504e1145bd..00000000000 --- a/package/weston/0002-libweston-backend-drm-might-need-EGL.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 4b93b71067949cc5efabb9b3d59278a3f362b11c Mon Sep 17 00:00:00 2001 -From: Heiko Thiery -Date: Wed, 21 Oct 2020 13:33:25 +0200 -Subject: [PATCH] libweston/backend/drm: might need EGL - -gbm-drm.c includes gl-renderer.h. When EGL is enabled, that in turns -includes egl.h. As such, dependencies for drm should include EGL if -it is available. - -This condition is modelled after a similar one in libweston/meson.build - -Reported-by: Gary Bisson -Reported-by: Heiko Thiery -Signed-off-by: Yann E. MORIN -Cc: Refik Tuzakli -Cc: Thomas Petazzoni -Signed-off-by: Heiko Thiery ---- -This patch should be a proper fix for the issue discribed in the patch from -Gary [1]. - -Since the MR on weston upstream [2] is not merged now I add this patch -to have working weston with imx in buildroot. - -[1] https://patchwork.ozlabs.org/project/buildroot/patch/20200402130842.918696-3-gary.bisson@boundarydevices.com/ -[2] https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/508 ---- - libweston/backend-drm/meson.build | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libweston/backend-drm/meson.build b/libweston/backend-drm/meson.build -index 484c2702..e3e5b976 100644 ---- a/libweston/backend-drm/meson.build -+++ b/libweston/backend-drm/meson.build -@@ -53,6 +53,9 @@ if get_option('renderer-gl') - config_h.set('HAVE_GBM_FD_IMPORT', '1') - endif - deps_drm += dep_gbm -+ if dep_egl.found() -+ deps_drm += dep_egl -+ endif - srcs_drm += 'drm-gbm.c' - config_h.set('BUILD_DRM_GBM', '1') - endif --- -2.20.1 - diff --git a/package/weston/Config.in b/package/weston/Config.in index d07eba4c9dc..3b4e932b7d1 100644 --- a/package/weston/Config.in +++ b/package/weston/Config.in @@ -20,6 +20,7 @@ config BR2_PACKAGE_WESTON select BR2_PACKAGE_LIBDRM # Runtime dependency select BR2_PACKAGE_XKEYBOARD_CONFIG + select BR2_PACKAGE_WESTON_SHELL_DESKTOP if !BR2_PACKAGE_WESTON_HAS_SHELL help Weston is the reference implementation of a Wayland compositor, and a useful compositor in its own right. @@ -33,44 +34,37 @@ if BR2_PACKAGE_WESTON choice prompt "default compositor" -config BR2_PACKAGE_WESTON_DEFAULT_FBDEV - bool "fbdev" - select BR2_PACKAGE_WESTON_FBDEV - config BR2_PACKAGE_WESTON_DEFAULT_DRM bool "drm" - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL || BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL select BR2_PACKAGE_WESTON_DRM -comment "drm backend needs mesa3d w/ EGL driver" - depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL && !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL +config BR2_PACKAGE_WESTON_DEFAULT_HEADLESS + bool "headless" + select BR2_PACKAGE_WESTON_HEADLESS + +config BR2_PACKAGE_WESTON_DEFAULT_WAYLAND + bool "wayland (nested)" + select BR2_PACKAGE_WESTON_WAYLAND config BR2_PACKAGE_WESTON_DEFAULT_X11 - bool "X11" + bool "X11 (nested)" depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_WESTON_X11 -comment "X11 backend needs X.org" +comment "X11 (nested) backend needs X.org" depends on !BR2_PACKAGE_XORG7 endchoice config BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR string - default "fbdev" if BR2_PACKAGE_WESTON_DEFAULT_FBDEV - default "drm" if BR2_PACKAGE_WESTON_DEFAULT_DRM - default "x11" if BR2_PACKAGE_WESTON_DEFAULT_X11 + default "drm" if BR2_PACKAGE_WESTON_DEFAULT_DRM + default "headless" if BR2_PACKAGE_WESTON_DEFAULT_HEADLESS + default "wayland" if BR2_PACKAGE_WESTON_DEFAULT_WAYLAND + default "x11" if BR2_PACKAGE_WESTON_DEFAULT_X11 config BR2_PACKAGE_WESTON_DRM bool "DRM compositor" - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL || BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL - -# Uses libgbm from mesa3d -comment "DRM compositor needs an OpenGL EGL backend provided by mesa3d" - depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL && !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL - -config BR2_PACKAGE_WESTON_FBDEV - bool "fbdev compositor" # FreeRDP needs threads and !static, already the case for weston config BR2_PACKAGE_WESTON_RDP @@ -98,13 +92,19 @@ comment "RDP compositor needs a toolchain w/ wchar, C++" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP +config BR2_PACKAGE_WESTON_HEADLESS + bool "headless (testing) compositor" + +config BR2_PACKAGE_WESTON_WAYLAND + bool "Wayland (nested) compositor" + config BR2_PACKAGE_WESTON_X11 - bool "X11 compositor" + bool "X11 (nested) compositor" depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBXCB select BR2_PACKAGE_XLIB_LIBX11 -comment "X11 compositor needs X.org enabled" +comment "X11 (nested) compositor needs X.org enabled" depends on !BR2_PACKAGE_XORG7 config BR2_PACKAGE_WESTON_XWAYLAND @@ -119,10 +119,35 @@ config BR2_PACKAGE_WESTON_XWAYLAND comment "XWayland support needs libepoxy and X.org enabled" depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY +# Weston needs at least one shell; this can be one of the bundled ones, +# below, of from a third-party package, which should then select this. +config BR2_PACKAGE_WESTON_HAS_SHELL + bool + +config BR2_PACKAGE_WESTON_SHELL_DESKTOP + bool "desktop shell" + default y + +config BR2_PACKAGE_WESTON_SHELL_FULLSCREEN + bool "fullscreen shell" + default y + select BR2_PACKAGE_WESTON_HAS_SHELL + +config BR2_PACKAGE_WESTON_SHELL_IVI + bool "ivi shell" + default y + select BR2_PACKAGE_WESTON_HAS_SHELL + +config BR2_PACKAGE_WESTON_SHELL_KIOSK + bool "kiosk shell" + default y + select BR2_PACKAGE_WESTON_HAS_SHELL + config BR2_PACKAGE_WESTON_DEMO_CLIENTS bool "demo clients" depends on BR2_USE_MMU # pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango depends on BR2_INSTALL_LIBSTDCPP # pango depends on BR2_TOOLCHAIN_HAS_THREADS # pango depends on BR2_USE_WCHAR # pango @@ -132,11 +157,11 @@ config BR2_PACKAGE_WESTON_DEMO_CLIENTS help This enables the installation of Weston's demo clients. -comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++" +comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR || !BR2_PACKAGE_HAS_LIBGLES || \ - !BR2_PACKAGE_HAS_LIBEGL_WAYLAND + !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 endif diff --git a/package/weston/weston.hash b/package/weston/weston.hash index 5a6b38686a2..b78a7c75508 100644 --- a/package/weston/weston.hash +++ b/package/weston/weston.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2020-September/041595.html -md5 b406da0fe9139fd39653238fde22a6cf weston-9.0.0.tar.xz -sha1 90b9540a0bd6d6f7a465817f1c696d4d393183c9 weston-9.0.0.tar.xz -sha256 5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe weston-9.0.0.tar.xz -sha512 ccc263f8279b7b23e5c593b4a8a023de2c3dc178b1b8d6593599171770bcfe97608de9fcb77aa1cab39255451d289d323e51c317dae190c7641282e085b84f90 weston-9.0.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2022-February/042103.html +md5 bc4abe2ee6904a4890a0c641c6257f91 weston-10.0.0.tar.xz +sha1 b1a51e3bb7ee1d75bbf728c8071771e07fc97fdd weston-10.0.0.tar.xz +sha256 5c23964112b90238bed39e5dd1e41cd71a79398813cdc3bbb15a9fdc94e547ae weston-10.0.0.tar.xz +sha512 77e05530751e4f743eebf015ab5b78a1fcc66b774713b5e296cfffc488be84e459f811c85ac4280b7b63eebf4ff5c958dd7306376ab343e6b80feae16c8c35a4 weston-10.0.0.tar.xz sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 COPYING diff --git a/package/weston/weston.mk b/package/weston/weston.mk index f59963bf2e2..90cf160688c 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -4,19 +4,22 @@ # ################################################################################ -WESTON_VERSION = 9.0.0 +WESTON_VERSION = 10.0.0 WESTON_SITE = https://wayland.freedesktop.org/releases WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING +WESTON_CPE_ID_VENDOR = wayland WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \ - libxkbcommon pixman libpng jpeg udev cairo libinput libdrm + libxkbcommon pixman libpng udev cairo libinput libdrm WESTON_CONF_OPTS = \ -Dbackend-headless=false \ -Dcolor-management-colord=false \ - -Dremoting=false + -Ddoc=false \ + -Dremoting=false \ + -Dtools=calibrator,debug,info,terminal,touch-calibrator # Uses VIDIOC_EXPBUF, only available from 3.8+ ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),y) @@ -32,6 +35,13 @@ else WESTON_CONF_OPTS += -Dlauncher-logind=false endif +ifeq ($(BR2_PACKAGE_JPEG),y) +WESTON_CONF_OPTS += -Dimage-jpeg=true +WESTON_DEPENDENCIES += jpeg +else +WESTON_CONF_OPTS += -Dimage-jpeg=false +endif + ifeq ($(BR2_PACKAGE_WEBP),y) WESTON_CONF_OPTS += -Dimage-webp=true WESTON_DEPENDENCIES += webp @@ -47,10 +57,10 @@ endef define WESTON_USERS - - weston-launch -1 - - - - Weston launcher group endef -WESTON_CONF_OPTS += -Dweston-launch=true +WESTON_CONF_OPTS += -Ddeprecated-weston-launch=true WESTON_DEPENDENCIES += linux-pam else -WESTON_CONF_OPTS += -Dweston-launch=false +WESTON_CONF_OPTS += -Ddeprecated-weston-launch=false endif ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy) @@ -75,18 +85,24 @@ else WESTON_CONF_OPTS += -Dbackend-rdp=false endif -ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y) -WESTON_CONF_OPTS += -Dbackend-fbdev=true -else -WESTON_CONF_OPTS += -Dbackend-fbdev=false -endif - ifeq ($(BR2_PACKAGE_WESTON_DRM),y) WESTON_CONF_OPTS += -Dbackend-drm=true else WESTON_CONF_OPTS += -Dbackend-drm=false endif +ifeq ($(BR2_PACKAGE_WESTON_HEADLESS),y) +WESTON_CONF_OPTS += -Dbackend-headless=true +else +WESTON_CONF_OPTS += -Dbackend-headless=false +endif + +ifeq ($(BR2_PACKAGE_WESTON_WAYLAND),y) +WESTON_CONF_OPTS += -Dbackend-wayland=true +else +WESTON_CONF_OPTS += -Dbackend-wayland=false +endif + ifeq ($(BR2_PACKAGE_WESTON_X11),y) WESTON_CONF_OPTS += -Dbackend-x11=true WESTON_DEPENDENCIES += libxcb xlib_libX11 @@ -132,6 +148,30 @@ else WESTON_CONF_OPTS += -Dtest-junit-xml=false endif +ifeq ($(BR2_PACKAGE_WESTON_SHELL_DESKTOP),y) +WESTON_CONF_OPTS += -Dshell-desktop=true +else +WESTON_CONF_OPTS += -Dshell-desktop=false +endif + +ifeq ($(BR2_PACKAGE_WESTON_SHELL_FULLSCREEN),y) +WESTON_CONF_OPTS += -Dshell-fullscreen=true +else +WESTON_CONF_OPTS += -Dshell-fullscreen=false +endif + +ifeq ($(BR2_PACKAGE_WESTON_SHELL_IVI),y) +WESTON_CONF_OPTS += -Dshell-ivi=true +else +WESTON_CONF_OPTS += -Dshell-ivi=false +endif + +ifeq ($(BR2_PACKAGE_WESTON_SHELL_KIOSK),y) +WESTON_CONF_OPTS += -Dshell-kiosk=true +else +WESTON_CONF_OPTS += -Dshell-kiosk=false +endif + ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y) WESTON_CONF_OPTS += -Ddemo-clients=true WESTON_DEPENDENCIES += pango diff --git a/package/wf111/Config.in b/package/wf111/Config.in index 8dd20a7cc5c..bb4b1a5d038 100644 --- a/package/wf111/Config.in +++ b/package/wf111/Config.in @@ -19,6 +19,10 @@ config BR2_PACKAGE_WF111 https://www.silabs.com/wireless/wi-fi/bluegiga-legacy-modules/device.wf111 +comment "wf111 needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + depends on BR2_ARM_CPU_ARMV5 || BR2_ARM_CPU_ARMV7A || BR2_i386 + comment "wf111 needs a glibc toolchain" depends on BR2_LINUX_KERNEL depends on BR2_ARM_CPU_ARMV5 || BR2_ARM_CPU_ARMV7A || BR2_i386 diff --git a/package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch b/package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch new file mode 100644 index 00000000000..dd4b01f189c --- /dev/null +++ b/package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch @@ -0,0 +1,46 @@ +From a0594387565e1e6b4a8a8ba04ad13b135cc1f0b5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 1 Apr 2021 07:49:46 +0200 +Subject: [PATCH] lib/getrandom.c: fix build with uclibc < 1.0.35 + +Fix the following build failure with uclibc < 1.0.35 which is raised +since the addition of getrandom module in +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=682cc4e678aceff32dea2a84b6e5147bdf5a20a7: + +In file included from ./sys/random.h:40, + from getrandom.c:22: +/home/fabrice/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t' + 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags) + | ^~~~~~ +/home/fabrice/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header ''; did you forget to '#include '? + 7 | #include + +++ |+#include + 8 | + +This patch is not upstreamable as it is only a workaround for +uclibc < 1.0.35, upstream uclibc has been patched with +https://github.com/wbx-github/uclibc-ng/commit/00972c02c2b6e0a95d5def4a71bdfb188e091782 + +Fixes: + - http://autobuild.buildroot.org/results/d507f8d8ae4dd6aac1e83b7cc81017caf0d2c30e + +Signed-off-by: Fabrice Fontaine +--- + lib/getrandom.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/getrandom.c b/lib/getrandom.c +index 41212fb32..0ad3f9648 100644 +--- a/lib/getrandom.c ++++ b/lib/getrandom.c +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + #include +-- +2.30.2 + diff --git a/package/wget/Config.in b/package/wget/Config.in index acb20f8f099..ba03a75e7af 100644 --- a/package/wget/Config.in +++ b/package/wget/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_WGET depends on BR2_USE_MMU depends on BR2_USE_WCHAR depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL help Network utility to retrieve files from http, https and ftp. diff --git a/package/wget/wget.hash b/package/wget/wget.hash index 956e1127f3e..22674650a27 100644 --- a/package/wget/wget.hash +++ b/package/wget/wget.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/wget/wget-1.20.3.tar.lz.sig -# with key 1CB27DBC98614B2D5841646D08302DB6A2670428 -sha256 69607ce8216c2d1126b7a872db594b3f21e511e660e07ca1f81be96650932abb wget-1.20.3.tar.lz +# https://ftp.gnu.org/gnu/wget/wget-1.21.3.tar.lz.sig +# with key 6B98F637D879C5236E277C5C64FF90AAE8C70AF9 +sha256 dbd2fb5e47149d4752d0eaa0dac68cc49cf20d46df4f8e326ffc8f18b2af4ea5 wget-1.21.3.tar.lz # Locally calculated -sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/package/wget/wget.mk b/package/wget/wget.mk index 65c132e4534..455faaed126 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -4,7 +4,7 @@ # ################################################################################ -WGET_VERSION = 1.20.3 +WGET_VERSION = 1.21.3 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf @@ -12,6 +12,13 @@ WGET_LICENSE = GPL-3.0+ WGET_LICENSE_FILES = COPYING WGET_CPE_ID_VENDOR = gnu +ifeq ($(BR2_PACKAGE_LIBPSL),y) +WGET_CONF_OPTS += --with-libpsl +WGET_DEPENDENCIES += libpsl +else +WGET_CONF_OPTS += --without-libpsl +endif + ifeq ($(BR2_PACKAGE_GNUTLS),y) WGET_CONF_OPTS += --with-ssl=gnutls WGET_DEPENDENCIES += gnutls @@ -26,15 +33,19 @@ ifeq ($(BR2_PACKAGE_LIBICONV),y) WGET_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_LIBIDN2),y) -WGET_CONF_OPTS += --with-libidn +# BR2_ENABLE_LOCALE and BR2_PACKAGE_LIBICONV are mutually exclusive +ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV)$(BR2_PACKAGE_LIBIDN2),yy) +WGET_CONF_OPTS += --enable-iri WGET_DEPENDENCIES += libidn2 else -WGET_CONF_OPTS += --without-libidn +WGET_CONF_OPTS += --disable-iri endif ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) +WGET_CONF_OPTS += --with-libuuid WGET_DEPENDENCIES += util-linux +else +WGET_CONF_OPTS += --without-libuuid endif ifeq ($(BR2_PACKAGE_ZLIB),y) @@ -44,6 +55,13 @@ else WGET_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_C_ARES),y) +WGET_CONF_OPTS += --with-cares +WGET_DEPENDENCIES += c-ares +else +WGET_CONF_OPTS += --without-cares +endif + ifeq ($(BR2_PACKAGE_PCRE2),y) WGET_CONF_OPTS += --disable-pcre --enable-pcre2 WGET_DEPENDENCIES += pcre2 diff --git a/package/whois/whois.hash b/package/whois/whois.hash index f42db356a51..4bdfd74b201 100644 --- a/package/whois/whois.hash +++ b/package/whois/whois.hash @@ -1,5 +1,5 @@ -# From http://snapshot.debian.org/archive/debian/20201003T204015Z/pool/main/w/whois/whois_5.5.7.dsc -sha256 3efa700dbf38d127c31b21af3176cd6e5a69f96a056be60ac1dcd13df7717393 whois_5.5.7.tar.xz +# From http://snapshot.debian.org/archive/debian/20220103T215446Z/pool/main/w/whois/whois_5.5.11.dsc +sha256 966281eb8301c14a1acc17e46c70061f73179d80e370aef43065c22f0947fb87 whois_5.5.11.tar.xz # Hash for license file: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/whois/whois.mk b/package/whois/whois.mk index 7d684922b76..544cb9c2f72 100644 --- a/package/whois/whois.mk +++ b/package/whois/whois.mk @@ -4,8 +4,8 @@ # ################################################################################ -WHOIS_VERSION = 5.5.7 -WHOIS_SITE = http://snapshot.debian.org/archive/debian/20201003T204015Z/pool/main/w/whois +WHOIS_VERSION = 5.5.11 +WHOIS_SITE = http://snapshot.debian.org/archive/debian/20220103T215446Z/pool/main/w/whois WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz WHOIS_DEPENDENCIES = \ host-pkgconf \ diff --git a/package/wilink-bt-firmware/wilink-bt-firmware.mk b/package/wilink-bt-firmware/wilink-bt-firmware.mk index 722c4655cd7..a5f3a826090 100644 --- a/package/wilink-bt-firmware/wilink-bt-firmware.mk +++ b/package/wilink-bt-firmware/wilink-bt-firmware.mk @@ -5,7 +5,7 @@ ################################################################################ WILINK_BT_FIRMWARE_VERSION = 43fca73c6a98c63fcb98f82af5bf83761778e005 -WILINK_BT_FIRMWARE_SITE = git://git.ti.com/ti-bt/service-packs.git +WILINK_BT_FIRMWARE_SITE = https://git.ti.com/git/ti-bt/service-packs.git WILINK_BT_FIRMWARE_SITE_METHOD = git WILINK_BT_FIRMWARE_LICENSE = PROPRIETARY WILINK_BT_FIRMWARE_LICENSE_FILES = LICENSE diff --git a/package/wine/wine.hash b/package/wine/wine.hash index 08abccb4a87..083e3dd3eba 100644 --- a/package/wine/wine.hash +++ b/package/wine/wine.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 87f17254c6794ec6eeb7020b164c859983c9df0dacdd66d6449ff000498c842e wine-5.12.tar.xz +sha256 b493065f2f83ee429c62e2ec58698a3cf63ef78722e1b20765823152e8582c56 wine-6.0.tar.xz # Locally calculated sha256 e237fa56668030e928551ddd60f05df5fe957f75eab874bbd017e085ed722e7c COPYING.LIB -sha256 f3ca909e68d38c972e8ded5248b4745958dbb26f2e581ad73cfbedb6b0408e58 LICENSE +sha256 111398f1be25b1ae1f124512fe61569e6b4555408e2feb9bc82f9fe57d39b302 LICENSE diff --git a/package/wine/wine.mk b/package/wine/wine.mk index 80c9d20d3d0..c925a58632a 100644 --- a/package/wine/wine.mk +++ b/package/wine/wine.mk @@ -4,12 +4,13 @@ # ################################################################################ -WINE_VERSION = 5.12 +WINE_VERSION = 6.0 WINE_SOURCE = wine-$(WINE_VERSION).tar.xz -WINE_SITE = https://dl.winehq.org/wine/source/5.x +WINE_SITE = https://dl.winehq.org/wine/source/6.0 WINE_LICENSE = LGPL-2.1+ WINE_LICENSE_FILES = COPYING.LIB LICENSE WINE_CPE_ID_VENDOR = winehq +WINE_SELINUX_MODULES = wine WINE_DEPENDENCIES = host-bison host-flex host-wine HOST_WINE_DEPENDENCIES = host-bison host-flex @@ -26,6 +27,7 @@ WINE_CONF_OPTS = \ --without-gphoto \ --without-gsm \ --without-hal \ + --without-mingw \ --without-opencl \ --without-oss \ --without-vkd3d \ @@ -118,13 +120,6 @@ else WINE_CONF_OPTS += --without-opengl endif -ifeq ($(BR2_PACKAGE_LIBGLU),y) -WINE_CONF_OPTS += --with-glu -WINE_DEPENDENCIES += libglu -else -WINE_CONF_OPTS += --without-glu -endif - ifeq ($(BR2_PACKAGE_LIBKRB5),y) WINE_CONF_OPTS += --with-krb5 WINE_DEPENDENCIES += libkrb5 @@ -183,13 +178,6 @@ else WINE_CONF_OPTS += --without-mpg123 endif -ifeq ($(BR2_PACKAGE_NCURSES),y) -WINE_CONF_OPTS += --with-curses -WINE_DEPENDENCIES += ncurses -else -WINE_CONF_OPTS += --without-curses -endif - ifeq ($(BR2_PACKAGE_OPENAL),y) WINE_CONF_OPTS += --with-openal WINE_DEPENDENCIES += openal @@ -204,7 +192,7 @@ else WINE_CONF_OPTS += --without-ldap endif -ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y) +ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y) WINE_CONF_OPTS += --with-osmesa WINE_DEPENDENCIES += mesa3d else @@ -317,13 +305,6 @@ else WINE_CONF_OPTS += --without-xxf86vm endif -ifeq ($(BR2_PACKAGE_ZLIB),y) -WINE_CONF_OPTS += --with-zlib -WINE_DEPENDENCIES += zlib -else -WINE_CONF_OPTS += --without-zlib -endif - # host-gettext is essential for .po file support in host-wine wrc ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) HOST_WINE_DEPENDENCIES += host-gettext @@ -339,15 +320,19 @@ endif # Wine only needs the host tools to be built, so cut-down the # build time by building just what we need. +HOST_WINE_TOOLS = \ + tools \ + tools/sfnt2fon \ + tools/widl \ + tools/winebuild \ + tools/winegcc \ + tools/wmc \ + tools/wrc + define HOST_WINE_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ - tools \ - tools/sfnt2fon \ - tools/widl \ - tools/winebuild \ - tools/winegcc \ - tools/wmc \ - tools/wrc + $(foreach t, $(HOST_WINE_TOOLS), + $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/$(t) + ) endef # Wine only needs its host variant to be built, not that it is @@ -368,11 +353,9 @@ HOST_WINE_CONF_OPTS += \ --without-coreaudio \ --without-faudio \ --without-cups \ - --without-curses \ --without-dbus \ --without-fontconfig \ --without-gphoto \ - --without-glu \ --without-gnutls \ --without-gsm \ --without-gssapi \ @@ -381,6 +364,7 @@ HOST_WINE_CONF_OPTS += \ --without-jpeg \ --without-krb5 \ --without-ldap \ + --without-mingw \ --without-mpg123 \ --without-netapi \ --without-openal \ @@ -410,8 +394,7 @@ HOST_WINE_CONF_OPTS += \ --without-xshape \ --without-xshm \ --without-xslt \ - --without-xxf86vm \ - --without-zlib + --without-xxf86vm $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/wireguard-linux-compat/Config.in b/package/wireguard-linux-compat/Config.in index 5a323a35e56..4e8e95bdc33 100644 --- a/package/wireguard-linux-compat/Config.in +++ b/package/wireguard-linux-compat/Config.in @@ -21,6 +21,9 @@ config BR2_PACKAGE_WIREGUARD_LINUX_COMPAT https://www.wireguard.com +comment "wireguard-linux-compat needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + comment "wireguard-linux-compat needs a toolchain w/ headers >= 3.10" depends on BR2_LINUX_KERNEL depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 diff --git a/package/wireguard-linux-compat/wireguard-linux-compat.hash b/package/wireguard-linux-compat/wireguard-linux-compat.hash index f4f94cfd2e7..e18bd10cf73 100644 --- a/package/wireguard-linux-compat/wireguard-linux-compat.hash +++ b/package/wireguard-linux-compat/wireguard-linux-compat.hash @@ -1,4 +1,4 @@ -# https://lists.zx2c4.com/pipermail/wireguard/2021-January/006349.html -sha256 dac6e68cd4c3db441499850dfa8a70706384a3295f37fda1b839a50b79faef54 wireguard-linux-compat-1.0.20210124.tar.xz +# https://lists.zx2c4.com/pipermail/wireguard/2021-June/006781.html +sha256 3f5d990006e6eabfd692d925ec314fff2c5ee7dcdb869a6510d579acfdd84ec0 wireguard-linux-compat-1.0.20210606.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireguard-linux-compat/wireguard-linux-compat.mk b/package/wireguard-linux-compat/wireguard-linux-compat.mk index 2f36ec8bfbd..1b7ec941db0 100644 --- a/package/wireguard-linux-compat/wireguard-linux-compat.mk +++ b/package/wireguard-linux-compat/wireguard-linux-compat.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20210124 +WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20210606 WIREGUARD_LINUX_COMPAT_SITE = https://git.zx2c4.com/wireguard-linux-compat/snapshot WIREGUARD_LINUX_COMPAT_SOURCE = wireguard-linux-compat-$(WIREGUARD_LINUX_COMPAT_VERSION).tar.xz WIREGUARD_LINUX_COMPAT_LICENSE = GPL-2.0 diff --git a/package/wireguard-tools/wireguard-tools.hash b/package/wireguard-tools/wireguard-tools.hash index 3bff364e065..b3eadec29a6 100644 --- a/package/wireguard-tools/wireguard-tools.hash +++ b/package/wireguard-tools/wireguard-tools.hash @@ -1,4 +1,4 @@ -# https://lists.zx2c4.com/pipermail/wireguard/2020-August/005790.html -sha256 51bc85e33a5b3cf353786ae64b0f1216d7a871447f058b6137f793eb0f53b7fd wireguard-tools-1.0.20200827.tar.xz +# https://lists.zx2c4.com/pipermail/wireguard/2021-September/007049.html +sha256 97ff31489217bb265b7ae850d3d0f335ab07d2652ba1feec88b734bc96bd05ac wireguard-tools-1.0.20210914.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireguard-tools/wireguard-tools.mk b/package/wireguard-tools/wireguard-tools.mk index d360c812088..d76e836a45d 100644 --- a/package/wireguard-tools/wireguard-tools.mk +++ b/package/wireguard-tools/wireguard-tools.mk @@ -4,11 +4,12 @@ # ################################################################################ -WIREGUARD_TOOLS_VERSION = 1.0.20200827 +WIREGUARD_TOOLS_VERSION = 1.0.20210914 WIREGUARD_TOOLS_SITE = https://git.zx2c4.com/wireguard-tools/snapshot WIREGUARD_TOOLS_SOURCE = wireguard-tools-$(WIREGUARD_TOOLS_VERSION).tar.xz WIREGUARD_TOOLS_LICENSE = GPL-2.0 WIREGUARD_TOOLS_LICENSE_FILES = COPYING +WIREGUARD_TOOLS_SELINUX_MODULES = wireguard ifeq ($(BR2_INIT_SYSTEMD),y) WIREGUARD_TOOLS_MAKE_OPTS += WITH_SYSTEMDUNITS=yes diff --git a/package/wireless-regdb/wireless-regdb.hash b/package/wireless-regdb/wireless-regdb.hash index 5403110be48..91fcb320d20 100644 --- a/package/wireless-regdb/wireless-regdb.hash +++ b/package/wireless-regdb/wireless-regdb.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/network/wireless-regdb/sha256sums.asc -sha256 b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52 wireless-regdb-2020.11.20.tar.xz +sha256 8828c25a4ee25020044004f57374bb9deac852809fad70f8d3d01770bf9ac97f wireless-regdb-2022.02.18.tar.xz # Locally computed sha256 678b0df753c86198fc496d1f1033429bbd57f101472132ee7eaaf9f5e0a7fae1 LICENSE diff --git a/package/wireless-regdb/wireless-regdb.mk b/package/wireless-regdb/wireless-regdb.mk index 2f9e91df3ea..35a8c6686d2 100644 --- a/package/wireless-regdb/wireless-regdb.mk +++ b/package/wireless-regdb/wireless-regdb.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRELESS_REGDB_VERSION = 2020.11.20 +WIRELESS_REGDB_VERSION = 2022.02.18 WIRELESS_REGDB_SOURCE = wireless-regdb-$(WIRELESS_REGDB_VERSION).tar.xz WIRELESS_REGDB_SITE = $(BR2_KERNEL_MIRROR)/software/network/wireless-regdb WIRELESS_REGDB_LICENSE = ISC @@ -12,7 +12,7 @@ WIRELESS_REGDB_LICENSE_FILES = LICENSE WIRELESS_REGDB_CPE_ID_VENDOR = kernel ifeq ($(BR2_PACKAGE_CRDA),y) -define WIRELESS_REGDB_INSTALL_CRDA_TARGET_CMDS +define WIRELESS_REGDB_INSTALL_CRDA_TARGET_CMDS $(INSTALL) -m 644 -D -T $(@D)/regulatory.bin \ $(TARGET_DIR)/usr/lib/crda/regulatory.bin $(INSTALL) -m 644 -D -T $(@D)/sforshee.key.pub.pem \ diff --git a/package/wireplumber/Config.in b/package/wireplumber/Config.in new file mode 100644 index 00000000000..6528a2e102c --- /dev/null +++ b/package/wireplumber/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_WIREPLUMBER + bool "wireplumber" + depends on BR2_PACKAGE_PIPEWIRE + depends on BR2_PACKAGE_LUA_5_3 || BR2_PACKAGE_LUA_5_4 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 + help + WirePlumber is a modular session / policy manager for + PipeWire and a GObject-based high-level library that + wraps PipeWire’s API, providing convenience for writing + the daemon’s modules as well as external tools for + managing PipeWire. + + https://pipewire.pages.freedesktop.org/wireplumber/ + +comment "wireplumber needs a toolchain w/ wchar, threads and Lua >= 5.3" + depends on BR2_PACKAGE_PIPEWIRE + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + (!BR2_PACKAGE_LUA_5_3 && !BR2_PACKAGE_LUA_5_4) diff --git a/package/wireplumber/wireplumber.hash b/package/wireplumber/wireplumber.hash new file mode 100644 index 00000000000..561fcc2e5ec --- /dev/null +++ b/package/wireplumber/wireplumber.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 41f174eaae5a630e195001fdd580918fa5143a71edceb050b320f85a8e65e53b wireplumber-0.4.2.tar.bz2 +sha256 ff2eb9af5b05d92ac3a38cffcad27582ef555a31ff1781e1c1d4e087f77c9c81 LICENSE diff --git a/package/wireplumber/wireplumber.mk b/package/wireplumber/wireplumber.mk new file mode 100644 index 00000000000..674af3d392f --- /dev/null +++ b/package/wireplumber/wireplumber.mk @@ -0,0 +1,43 @@ +################################################################################ +# +# wireplumber +# +################################################################################ + +WIREPLUMBER_VERSION = 0.4.2 +WIREPLUMBER_SOURCE = wireplumber-$(WIREPLUMBER_VERSION).tar.bz2 +WIREPLUMBER_SITE = https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$(WIREPLUMBER_VERSION) +WIREPLUMBER_LICENSE = MIT +WIREPLUMBER_LICENSE_FILES = LICENSE +WIREPLUMBER_DEPENDENCIES = host-pkgconf pipewire libglib2 lua + +WIREPLUMBER_CONF_OPTS = \ + -Ddoc=disabled \ + -Dsystem-lua=true \ + -Dsystem-lua-version= + +ifeq ($(BR2_PACKAGE_DBUS),y) +WIREPLUMBER_DEPENDENCIES += dbus +endif + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +WIREPLUMBER_DEPENDENCIES += host-doxygen host-python-lxml gobject-introspection +WIREPLUMBER_CONF_OPTS += -Dintrospection=enabled +else +WIREPLUMBER_CONF_OPTS += -Dintrospection=disabled +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +WIREPLUMBER_DEPENDENCIES += systemd +WIREPLUMBER_CONF_OPTS += \ + -Dsystemd=enabled \ + -Dsystemd-system-service=true \ + -Dsystemd-user-service=true +else +WIREPLUMBER_CONF_OPTS += \ + -Dsystemd=disabled \ + -Dsystemd-system-service=false \ + -Dsystemd-user-service=false +endif + +$(eval $(meson-package)) diff --git a/package/wireshark/0001-cmake-lemon-wipe-CMAKE_-EXE_LINKER_FLAGS-SYSROOT-if-.patch b/package/wireshark/0001-cmake-lemon-wipe-CMAKE_-EXE_LINKER_FLAGS-SYSROOT-if-.patch new file mode 100644 index 00000000000..edf24fc6d02 --- /dev/null +++ b/package/wireshark/0001-cmake-lemon-wipe-CMAKE_-EXE_LINKER_FLAGS-SYSROOT-if-.patch @@ -0,0 +1,31 @@ +From 33270f56477542dedf978e660cf8d08464f28797 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 26 Nov 2021 17:45:23 +0100 +Subject: [PATCH] cmake: lemon: wipe CMAKE_{EXE_LINKER_FLAGS,SYSROOT} if needed + +Wipe CMAKE_{EXE_LINKER_FLAGS,SYSROOT} when LEMON_C_COMPILER is set to +avoid a build failure when cross-compiling (e.g. with buildroot) + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.com/wireshark/wireshark/-/merge_requests/5224] +--- + tools/lemon/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tools/lemon/CMakeLists.txt b/tools/lemon/CMakeLists.txt +index 8742aa9fc9..7a9263fe0d 100644 +--- a/tools/lemon/CMakeLists.txt ++++ b/tools/lemon/CMakeLists.txt +@@ -12,6 +12,8 @@ add_executable(lemon lemon.c) + if(DEFINED LEMON_C_COMPILER) + set(CMAKE_C_COMPILER "${LEMON_C_COMPILER}") + set(CMAKE_C_FLAGS "") ++ set(CMAKE_EXE_LINKER_FLAGS "") ++ set(CMAKE_SYSROOT "") + endif() + + # To keep lemon.c as close to upstream as possible, deliberately ignore +-- +2.33.0 + diff --git a/package/wireshark/Config.in b/package/wireshark/Config.in index 95fc9b38f3b..fdeb9da2594 100644 --- a/package/wireshark/Config.in +++ b/package/wireshark/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_WIRESHARK depends on BR2_USE_MMU # fork(), glib2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_LIBGCRYPT @@ -45,8 +46,8 @@ comment "Qt5 GUI needs a udev /dev management and a toolchain w/ C++, NPTL, host endif # BR2_PACKAGE_WIRESHARK -comment "wireshark needs a toolchain w/ wchar, threads, dynamic library" +comment "wireshark needs a toolchain w/ wchar, threads, dynamic library, C++" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index 56a0122dd25..db1f71e9ef2 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,6 +1,6 @@ -# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-3.4.3.txt -sha1 7dec4332f21827e360b5830d1d6d566365796a67 wireshark-3.4.3.tar.xz -sha256 f467cc77f0fc73fce0b854cdbc292f132d4879fca69d417eccad5f967fbf262b wireshark-3.4.3.tar.xz +# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-3.4.12.txt +sha1 91ca69b0029e58b9c824266237ab392a62f0a248 wireshark-3.4.12.tar.xz +sha256 881a13303e263b7dc7fe337534c8a541d4914552287879bed30bbe76c5bf68ca wireshark-3.4.12.tar.xz # Locally calculated sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index e751e550bc7..1a549f7037f 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,12 +4,13 @@ # ################################################################################ -WIRESHARK_VERSION = 3.4.3 +WIRESHARK_VERSION = 3.4.12 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license WIRESHARK_LICENSE_FILES = COPYING WIRESHARK_CPE_ID_VENDOR = wireshark +WIRESHARK_SELINUX_MODULES = wireshark WIRESHARK_DEPENDENCIES = \ c-ares \ host-pkgconf \ @@ -19,29 +20,16 @@ WIRESHARK_DEPENDENCIES = \ libpcap \ speexdsp -WIRESHARK_MAKE_ENV = \ - $(TARGET_MAKE_ENV) \ - PATH="$(@D)/bin:$(BR_PATH)" - WIRESHARK_CONF_OPTS = \ -DDISABLE_WERROR=ON \ -DENABLE_ILBC=OFF \ -DENABLE_PCAP=ON \ - -DENABLE_SMI=OFF - -# wireshark needs the host version of lemon during compilation. -# This binrary is provided by sqlite-src (which is different from -# sqlite-autotools that is currently packaged in buildroot) moreover wireshark -# adds several patches. -# So, instead of creating a separate host package and installing lemon to -# $(HOST_DIR), this binary is compiled on-the-fly -define WIRESHARK_BUILD_LEMON_TOOL - cd $(@D); \ - mkdir -p $(@D)/bin; \ - $(HOSTCC) $(HOST_CFLAGS) -o $(@D)/bin/lemon tools/lemon/lemon.c -endef + -DENABLE_SMI=OFF \ + -DLEMON_C_COMPILER=$(HOSTCC_NOCCACHE) -WIRESHARK_PRE_BUILD_HOOKS += WIRESHARK_BUILD_LEMON_TOOL +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +WIRESHARK_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif ifeq ($(BR2_GCC_ENABLE_LTO),y) WIRESHARK_CONF_OPTS += -DENABLE_LTO=ON diff --git a/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch b/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch new file mode 100644 index 00000000000..0ba078708a3 --- /dev/null +++ b/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch @@ -0,0 +1,174 @@ +From cf37ba4c0bf31316b698ba23015f91903766871d Mon Sep 17 00:00:00 2001 +From: Paul Cercueil +Date: Thu, 18 Feb 2021 22:31:39 +0000 +Subject: [PATCH] Add feature macros to more C files + +These source files use "struct timespec", which is POSIX 1993.09. + +Signed-off-by: Paul Cercueil + +[Retrieved from: https://github.com/swaywm/wlroots/pull/2493] +Signed-off-by: Fabrice Fontaine +--- + backend/wayland/output.c | 1 + + types/data_device/wlr_data_device.c | 1 + + types/data_device/wlr_drag.c | 1 + + types/wlr_export_dmabuf_v1.c | 1 + + types/wlr_idle.c | 1 + + types/wlr_keyboard_shortcuts_inhibit_v1.c | 1 + + types/wlr_pointer_constraints_v1.c | 1 + + types/wlr_primary_selection.c | 1 + + types/wlr_relative_pointer_v1.c | 1 + + types/wlr_screencopy_v1.c | 1 + + types/wlr_virtual_pointer_v1.c | 1 + + types/wlr_xdg_decoration_v1.c | 1 + + types/xdg_shell/wlr_xdg_popup.c | 1 + + types/xdg_shell/wlr_xdg_positioner.c | 1 + + types/xdg_shell/wlr_xdg_shell.c | 1 + + types/xdg_shell/wlr_xdg_surface.c | 1 + + 16 files changed, 16 insertions(+) + +diff --git a/backend/wayland/output.c b/backend/wayland/output.c +index d5410e0d32..8ff8fa2a00 100644 +--- a/backend/wayland/output.c ++++ b/backend/wayland/output.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/data_device/wlr_data_device.c b/types/data_device/wlr_data_device.c +index 6cd84ec0ab..beac496124 100644 +--- a/types/data_device/wlr_data_device.c ++++ b/types/data_device/wlr_data_device.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/data_device/wlr_drag.c b/types/data_device/wlr_drag.c +index 53bf4066a1..e3c1e249b4 100644 +--- a/types/data_device/wlr_drag.c ++++ b/types/data_device/wlr_drag.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_export_dmabuf_v1.c b/types/wlr_export_dmabuf_v1.c +index a8e2a4bde3..98ceae68f1 100644 +--- a/types/wlr_export_dmabuf_v1.c ++++ b/types/wlr_export_dmabuf_v1.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_idle.c b/types/wlr_idle.c +index 4c338931cc..80fd871fab 100644 +--- a/types/wlr_idle.c ++++ b/types/wlr_idle.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_keyboard_shortcuts_inhibit_v1.c b/types/wlr_keyboard_shortcuts_inhibit_v1.c +index fe4e64b04e..8360a9c21c 100644 +--- a/types/wlr_keyboard_shortcuts_inhibit_v1.c ++++ b/types/wlr_keyboard_shortcuts_inhibit_v1.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_pointer_constraints_v1.c b/types/wlr_pointer_constraints_v1.c +index eca45984c4..f1db8e3415 100644 +--- a/types/wlr_pointer_constraints_v1.c ++++ b/types/wlr_pointer_constraints_v1.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_primary_selection.c b/types/wlr_primary_selection.c +index 0875462c8c..7e0e11ddaa 100644 +--- a/types/wlr_primary_selection.c ++++ b/types/wlr_primary_selection.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_relative_pointer_v1.c b/types/wlr_relative_pointer_v1.c +index 8613f2b91c..3f8dd8b72a 100644 +--- a/types/wlr_relative_pointer_v1.c ++++ b/types/wlr_relative_pointer_v1.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_screencopy_v1.c b/types/wlr_screencopy_v1.c +index 6feb074274..29864c2364 100644 +--- a/types/wlr_screencopy_v1.c ++++ b/types/wlr_screencopy_v1.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_virtual_pointer_v1.c b/types/wlr_virtual_pointer_v1.c +index a9d1fd7bc4..5566e9e013 100644 +--- a/types/wlr_virtual_pointer_v1.c ++++ b/types/wlr_virtual_pointer_v1.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/wlr_xdg_decoration_v1.c b/types/wlr_xdg_decoration_v1.c +index 544035b7b8..904474c088 100644 +--- a/types/wlr_xdg_decoration_v1.c ++++ b/types/wlr_xdg_decoration_v1.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/xdg_shell/wlr_xdg_popup.c b/types/xdg_shell/wlr_xdg_popup.c +index 69b4cfe19f..05d6551fc8 100644 +--- a/types/xdg_shell/wlr_xdg_popup.c ++++ b/types/xdg_shell/wlr_xdg_popup.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include +diff --git a/types/xdg_shell/wlr_xdg_positioner.c b/types/xdg_shell/wlr_xdg_positioner.c +index f88bf323b8..8881c49916 100644 +--- a/types/xdg_shell/wlr_xdg_positioner.c ++++ b/types/xdg_shell/wlr_xdg_positioner.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include "types/wlr_xdg_shell.h" +diff --git a/types/xdg_shell/wlr_xdg_shell.c b/types/xdg_shell/wlr_xdg_shell.c +index 0480d5f354..c93fe7c3fb 100644 +--- a/types/xdg_shell/wlr_xdg_shell.c ++++ b/types/xdg_shell/wlr_xdg_shell.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include "types/wlr_xdg_shell.h" +diff --git a/types/xdg_shell/wlr_xdg_surface.c b/types/xdg_shell/wlr_xdg_surface.c +index edf562abcd..c1dfbfba7e 100644 +--- a/types/xdg_shell/wlr_xdg_surface.c ++++ b/types/xdg_shell/wlr_xdg_surface.c +@@ -1,3 +1,4 @@ ++#define _POSIX_C_SOURCE 199309L + #include + #include + #include diff --git a/package/wlroots/Config.in b/package/wlroots/Config.in index 2f72fd49452..8d485992f50 100644 --- a/package/wlroots/Config.in +++ b/package/wlroots/Config.in @@ -1,6 +1,7 @@ -comment "wlroots needs udev, mesa3d w/ EGL and GLES support" - depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL || \ - !BR2_PACKAGE_MESA3D_OPENGL_ES || \ +comment "wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support" + depends on !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ + !BR2_PACKAGE_HAS_LIBGLES || \ !BR2_PACKAGE_HAS_UDEV comment "wlroots needs a toolchain w/ threads, dynamic library" @@ -12,15 +13,14 @@ config BR2_PACKAGE_WLROOTS depends on !BR2_STATIC_LIBS # wayland depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland depends on BR2_PACKAGE_HAS_UDEV # libinput - # Technically wlroots should work with any OpenGL implementation - # which provides EGL, GLES2, and libgbm; but in practice only - # Mesa ships an usable libgbm. - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL - depends on BR2_PACKAGE_MESA3D_OPENGL_ES + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND + depends on BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_SEATD select BR2_PACKAGE_WAYLAND select BR2_PACKAGE_WAYLAND_PROTOCOLS help @@ -34,6 +34,9 @@ if BR2_PACKAGE_WLROOTS config BR2_PACKAGE_WLROOTS_X11 bool "X11 backend" depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL_RENDERUTIL + select BR2_PACKAGE_XCB_UTIL_WM select BR2_PACKAGE_XLIB_LIBX11 help Support Wayland sessions nested inside a X11 window diff --git a/package/wlroots/wlroots.hash b/package/wlroots/wlroots.hash index 2fab9b30b4e..fdebe1ef684 100644 --- a/package/wlroots/wlroots.hash +++ b/package/wlroots/wlroots.hash @@ -1,5 +1,5 @@ -# Generated locally, after checking https://github.com/swaywm/wlroots/releases/download/0.12.0/wlroots-0.12.0.tar.gz.sig -sha256 c9e9f4f6d2f526d0b2886daf3ec37e64831773059aa669fb98a88522a1626bdb wlroots-0.12.0.tar.gz +# Generated locally, after checking https://github.com/swaywm/wlroots/releases/download/0.14.1/wlroots-0.14.1.tar.gz.sig +sha256 448a83d579ac280357c8a4e902b9477bacbab81cc4d9c140e443642d458869db wlroots-0.14.1.tar.gz # Hashes for license files: sha256 ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b LICENSE diff --git a/package/wlroots/wlroots.mk b/package/wlroots/wlroots.mk index 5665d5a9561..89d50241762 100644 --- a/package/wlroots/wlroots.mk +++ b/package/wlroots/wlroots.mk @@ -4,7 +4,7 @@ # ################################################################################ -WLROOTS_VERSION = 0.12.0 +WLROOTS_VERSION = 0.14.1 WLROOTS_SITE = https://github.com/swaywm/wlroots/releases/download/$(WLROOTS_VERSION) WLROOTS_LICENSE = MIT WLROOTS_LICENSE_FILES = LICENSE @@ -15,13 +15,15 @@ WLROOTS_DEPENDENCIES = \ host-wayland \ libinput \ libxkbcommon \ - mesa3d \ + libegl \ + libgles \ pixman \ + seatd \ udev \ wayland \ wayland-protocols -WLROOTS_CONF_OPTS = -Dexamples=false -Dxcb-errors=disabled -Dlibseat=disabled +WLROOTS_CONF_OPTS = -Dexamples=false -Dxcb-errors=disabled -Drenderers=gles2 ifeq ($(BR2_PACKAGE_FFMPEG),y) WLROOTS_DEPENDENCIES += ffmpeg @@ -31,32 +33,11 @@ ifeq ($(BR2_PACKAGE_LIBPNG),y) WLROOTS_DEPENDENCIES += libpng endif -ifeq ($(BR2_PACKAGE_SYSTEMD_LOGIND),y) -WLROOTS_CONF_OPTS += -Dlogind=enabled -Dlogind-provider=systemd -WLROOTS_DEPENDENCIES += systemd -else -WLROOTS_CONF_OPTS += -Dlogind=disabled -endif - ifeq ($(BR2_PACKAGE_WLROOTS_X11),y) -WLROOTS_CONF_OPTS += -Dx11-backend=enabled -WLROOTS_DEPENDENCIES += xlib_libX11 -else -WLROOTS_CONF_OPTS += -Dx11-backend=disabled -endif - -ifeq ($(BR2_PACKAGE_LIBXCB),y) -WLROOTS_CONF_OPTS += -Dxwayland=enabled -WLROOTS_DEPENDENCIES += libxcb -else -WLROOTS_CONF_OPTS += -Dxwayland=disabled -endif - -ifeq ($(BR2_PACKAGE_XCB_UTIL_WM),y) -WLROOTS_CONF_OPTS += -Dxcb-icccm=enabled -WLROOTS_DEPENDENCIES += xcb-util-wm +WLROOTS_CONF_OPTS += -Dx11-backend=enabled -Dxwayland=enabled +WLROOTS_DEPENDENCIES += libxcb xcb-util-wm xcb-util-renderutil xlib_libX11 else -WLROOTS_CONF_OPTS += -Dxcb-icccm=disabled +WLROOTS_CONF_OPTS += -Dx11-backend=disabled -Dxwayland=disabled endif $(eval $(meson-package)) diff --git a/package/woff2/woff2.hash b/package/woff2/woff2.hash index 469071e3c2b..0812dabcf12 100644 --- a/package/woff2/woff2.hash +++ b/package/woff2/woff2.hash @@ -1,5 +1,5 @@ # Locally generated: -sha512 c788bba1530aec463e755e901f9342f4b599e3a07f54645fef1dc388ab5d5c30625535e5dd38e9e792e04a640574baa50eeefb6b7338ab403755f4a4e0c3044d v1.0.2.tar.gz +sha512 c788bba1530aec463e755e901f9342f4b599e3a07f54645fef1dc388ab5d5c30625535e5dd38e9e792e04a640574baa50eeefb6b7338ab403755f4a4e0c3044d woff2-1.0.2.tar.gz # Hash for license files: sha512 8ee924da3fb5d16135adcf6a8fbe9e2e8f3d2d80468617e72ca4fa059a60f8455c9a5f68a8dc381b1297c8bf39c887a912d0f69246d2604ada74d3da9e8e490b LICENSE diff --git a/package/woff2/woff2.mk b/package/woff2/woff2.mk index b2ff33fe989..937e8cf7360 100644 --- a/package/woff2/woff2.mk +++ b/package/woff2/woff2.mk @@ -5,8 +5,7 @@ ################################################################################ WOFF2_VERSION = 1.0.2 -WOFF2_SOURCE = v$(WOFF2_VERSION).tar.gz -WOFF2_SITE = https://github.com/google/woff2/archive +WOFF2_SITE = $(call github,google,woff2,v$(WOFF2_VERSION)) WOFF2_LICENSE = MIT WOFF2_LICENSE_FILES = LICENSE WOFF2_INSTALL_STAGING = YES diff --git a/package/wolfssl/Config.in b/package/wolfssl/Config.in index 3c6d68f592f..3a97125e8d9 100644 --- a/package/wolfssl/Config.in +++ b/package/wolfssl/Config.in @@ -13,9 +13,13 @@ if BR2_PACKAGE_WOLFSSL config BR2_PACKAGE_WOLFSSL_ALL bool "enable all features, except SSLv3" + depends on !BR2_STATIC_LIBS help Enable all wolfSSL features, except SSL version 3.0 support. +comment "all features, except SSLv3 needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_WOLFSSL_SSLV3 bool "enable SSLv3" help diff --git a/package/wolfssl/wolfssl.hash b/package/wolfssl/wolfssl.hash index 05fee25b6b4..63eebf93bb4 100644 --- a/package/wolfssl/wolfssl.hash +++ b/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 b0e740b31d4d877d540ad50cc539a8873fc41af02bd3091c4357b403f7106e31 wolfssl-4.7.0-stable.tar.gz +sha256 409b4646c5f54f642de0e9f3544c3b83de7238134f5b1ff93fb44527bf119d05 wolfssl-5.2.0.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wolfssl/wolfssl.mk b/package/wolfssl/wolfssl.mk index fe21ddcd4f5..bfb54445e4c 100644 --- a/package/wolfssl/wolfssl.mk +++ b/package/wolfssl/wolfssl.mk @@ -4,8 +4,8 @@ # ################################################################################ -WOLFSSL_VERSION = 4.7.0-stable -WOLFSSL_SITE = $(call github,wolfSSL,wolfssl,v$(WOLFSSL_VERSION)) +WOLFSSL_VERSION = 5.2.0 +WOLFSSL_SITE = $(call github,wolfSSL,wolfssl,v$(WOLFSSL_VERSION)-stable) WOLFSSL_INSTALL_STAGING = YES WOLFSSL_LICENSE = GPL-2.0+ diff --git a/package/wpa_supplicant/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch b/package/wpa_supplicant/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch deleted file mode 100644 index 959788c2e93..00000000000 --- a/package/wpa_supplicant/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 8c07fa9eda13e835f3f968b2e1c9a8be3a851ff9 Mon Sep 17 00:00:00 2001 -From: Jouni Malinen -Date: Thu, 29 Aug 2019 11:52:04 +0300 -Subject: [PATCH] AP: Silently ignore management frame from unexpected source - address - -Do not process any received Management frames with unexpected/invalid SA -so that we do not add any state for unexpected STA addresses or end up -sending out frames to unexpected destination. This prevents unexpected -sequences where an unprotected frame might end up causing the AP to send -out a response to another device and that other device processing the -unexpected response. - -In particular, this prevents some potential denial of service cases -where the unexpected response frame from the AP might result in a -connected station dropping its association. - -Signed-off-by: Jouni Malinen - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch] ---- - src/ap/drv_callbacks.c | 13 +++++++++++++ - src/ap/ieee802_11.c | 12 ++++++++++++ - 2 files changed, 25 insertions(+) - -diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c -index 31587685fe3b..34ca379edc3d 100644 ---- a/src/ap/drv_callbacks.c -+++ b/src/ap/drv_callbacks.c -@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr, - "hostapd_notif_assoc: Skip event with no address"); - return -1; - } -+ -+ if (is_multicast_ether_addr(addr) || -+ is_zero_ether_addr(addr) || -+ os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) { -+ /* Do not process any frames with unexpected/invalid SA so that -+ * we do not add any state for unexpected STA addresses or end -+ * up sending out frames to unexpected destination. */ -+ wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR -+ " in received indication - ignore this indication silently", -+ __func__, MAC2STR(addr)); -+ return 0; -+ } -+ - random_add_randomness(addr, ETH_ALEN); - - hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211, -diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c -index c85a28db44b7..e7065372e158 100644 ---- a/src/ap/ieee802_11.c -+++ b/src/ap/ieee802_11.c -@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len, - fc = le_to_host16(mgmt->frame_control); - stype = WLAN_FC_GET_STYPE(fc); - -+ if (is_multicast_ether_addr(mgmt->sa) || -+ is_zero_ether_addr(mgmt->sa) || -+ os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) { -+ /* Do not process any frames with unexpected/invalid SA so that -+ * we do not add any state for unexpected STA addresses or end -+ * up sending out frames to unexpected destination. */ -+ wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR -+ " in received frame - ignore this frame silently", -+ MAC2STR(mgmt->sa)); -+ return 0; -+ } -+ - if (stype == WLAN_FC_STYPE_BEACON) { - handle_beacon(hapd, mgmt, len, fi); - return 1; --- -2.20.1 - diff --git a/package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch b/package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch new file mode 100644 index 00000000000..156d0e7e2c2 --- /dev/null +++ b/package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch @@ -0,0 +1,68 @@ +From e6a6a4e3df52cc60425fcd037d3ec68a38f948ce Mon Sep 17 00:00:00 2001 +From: Sergey Matyukevich +Date: Sun, 20 Feb 2022 10:12:28 +0300 +Subject: [PATCH] build: re-enable options for libwpa_client.so and wpa_passphrase + +Commit a41a29192e5d ("build: Pull common fragments into a build.rules +file") introduced regression into wpa_supplicant build process. Build +target libwpa_client.so is not built regardless of whether the option +CONFIG_BUILD_WPA_CLIENT_SO is set or not. This happens because config +option is used before it is imported from the configuration file. +Moving its usage after including build.rules does not help: variable +ALL is processed by build.rules and further changes are not applied. +Similarly, option CONFIG_NO_WPA_PASSPHRASE also does not work as +expected: wpa_passphrase is always built regardless of whether the +option is set or not. + +This commit re-enables options adding both build targets to _all +dependencies. + +Signed-off-by: Sergey Matyukevich +--- + wpa_supplicant/Makefile | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile +index cb66defac..e384cc6b8 100644 +--- a/wpa_supplicant/Makefile ++++ b/wpa_supplicant/Makefile +@@ -1,24 +1,29 @@ + BINALL=wpa_supplicant wpa_cli + +-ifndef CONFIG_NO_WPA_PASSPHRASE +-BINALL += wpa_passphrase +-endif +- + ALL = $(BINALL) + ALL += systemd/wpa_supplicant.service + ALL += systemd/wpa_supplicant@.service + ALL += systemd/wpa_supplicant-nl80211@.service + ALL += systemd/wpa_supplicant-wired@.service + ALL += dbus/fi.w1.wpa_supplicant1.service +-ifdef CONFIG_BUILD_WPA_CLIENT_SO +-ALL += libwpa_client.so +-endif + + EXTRA_TARGETS=dynamic_eap_methods + + CONFIG_FILE=.config + include ../src/build.rules + ++ifdef CONFIG_BUILD_WPA_CLIENT_SO ++# add the dependency this way to allow CONFIG_BUILD_WPA_CLIENT_SO ++# being set in the config which is read by build.rules ++_all: libwpa_client.so ++endif ++ ++ifndef CONFIG_NO_WPA_PASSPHRASE ++# add the dependency this way to allow CONFIGNO_WPA_PASSPHRASE ++# being set in the config which is read by build.rules ++_all: wpa_passphrase ++endif ++ + ifdef LIBS + # If LIBS is set with some global build system defaults, clone those for + # LIBS_c and LIBS_p to cover wpa_passphrase and wpa_cli as well. +-- +2.35.1 + diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in index c6e4de1d486..f2b0754ee18 100644 --- a/package/wpa_supplicant/Config.in +++ b/package/wpa_supplicant/Config.in @@ -1,6 +1,8 @@ -config BR2_PACKAGE_WPA_SUPPLICANT +menuconfig BR2_PACKAGE_WPA_SUPPLICANT bool "wpa_supplicant" depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL help WPA supplicant for secure wireless networks @@ -29,6 +31,38 @@ config BR2_PACKAGE_WPA_SUPPLICANT_NL80211 comment "nl80211 support needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS +config BR2_PACKAGE_WPA_SUPPLICANT_WEXT + bool "Enable wext (deprecated)" + default y if !BR2_TOOLCHAIN_HAS_THREADS + help + Enable support for wext. This is the historic wireless API + for Linux, which is now deprecated and in maintenance-only in + the kernel. It may still be required by out-of-tree drivers. + +config BR2_PACKAGE_WPA_SUPPLICANT_WIRED + bool "Enable wired support" + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_WPA_SUPPLICANT_EAP + help + Include the "wired" driver, so the internal IEEE 802.1x + supplicant can be used with Ethernet. This also enables + support for MACSEC. + +comment "wired support needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +comment "wpa_supplicant will be useless without at least one driver" + depends on !BR2_PACKAGE_WPA_SUPPLICANT_NL80211 && \ + !BR2_PACKAGE_WPA_SUPPLICANT_WEXT && \ + !BR2_PACKAGE_WPA_SUPPLICANT_WIRED + +config BR2_PACKAGE_WPA_SUPPLICANT_IBSS_RSN + bool "Enable IBSS RSN" + depends on BR2_PACKAGE_WPA_SUPPLICANT_NL80211 + help + Enable support for RSN/WPA2 in Ad-Hoc mode. + config BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT bool "Enable AP mode" depends on BR2_PACKAGE_WPA_SUPPLICANT_NL80211 @@ -38,7 +72,7 @@ config BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT set. This links in parts of hostapd functionality into wpa_supplicant, making it bigger but dispensing the need for a separate hostapd binary in some applications hence being - smaller overall. + smaller overall. It also enables support for Wi-Fi Direct. config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY bool "Enable Wi-Fi Display" @@ -49,7 +83,6 @@ config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY config BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING bool "Enable mesh networking" depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help @@ -64,10 +97,11 @@ config BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN config BR2_PACKAGE_WPA_SUPPLICANT_EAP bool "Enable EAP" help - Enable support for EAP. + Enable support for EAP, 802.1x/WPA-Enterprise and FILS. config BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT bool "Enable HS20" + select BR2_PACKAGE_WPA_SUPPLICANT_EAP help Enable Hotspot 2.0 and IEEE 802.11u interworking functionality. @@ -84,7 +118,6 @@ config BR2_PACKAGE_WPA_SUPPLICANT_WPS config BR2_PACKAGE_WPA_SUPPLICANT_WPA3 bool "Enable WPA3 support" - depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help @@ -92,6 +125,7 @@ config BR2_PACKAGE_WPA_SUPPLICANT_WPA3 config BR2_PACKAGE_WPA_SUPPLICANT_CLI bool "Install wpa_cli binary" + select BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE help Install wpa_cli command line utility @@ -109,6 +143,11 @@ config BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE help Install wpa_passphrase command line utility. +config BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE + bool "Enable the Unix-socket control interface" + help + Enable support for the Unix-socket-based API. + config BR2_PACKAGE_WPA_SUPPLICANT_DBUS bool "Enable support for the DBus control interface" depends on BR2_TOOLCHAIN_HAS_THREADS # dbus @@ -123,6 +162,6 @@ config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION bool "Introspection support" depends on BR2_PACKAGE_WPA_SUPPLICANT_DBUS help - Add introspection support for new DBus control interface. + Add introspection support for the DBus control interface. endif diff --git a/package/wpa_supplicant/wpa_supplicant.hash b/package/wpa_supplicant/wpa_supplicant.hash index 2387391a3ce..fcaee0a30b1 100644 --- a/package/wpa_supplicant/wpa_supplicant.hash +++ b/package/wpa_supplicant/wpa_supplicant.hash @@ -1,5 +1,3 @@ # Locally calculated -sha256 fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17 wpa_supplicant-2.9.tar.gz -sha256 9da5dd0776da266b180b915e460ff75c6ff729aca1196ab396529510f24f3761 README -sha256 c4d65cc13863e0237d0644198558e2c47b4ed91e2b2be4516ff590724187c4a5 0001-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch -sha256 7f40cfec5faf5e927ea9028ab9392cd118685bde7229ad24210caf0a8f6e9611 0001-P2P-Fix-a-corner-case-in-peer-addition-based-on-PD-R.patch +sha256 20df7ae5154b3830355f8ab4269123a87affdea59fe74fe9292a91d0d7e17b2f wpa_supplicant-2.10.tar.gz +sha256 af01e1d1ee065a1054d20ebe8a78a016f1fb1133b73e6a9d50801b165bb280c7 README diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index 284ea060966..5ad4aa10a7f 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -4,39 +4,25 @@ # ################################################################################ -WPA_SUPPLICANT_VERSION = 2.9 +WPA_SUPPLICANT_VERSION = 2.10 WPA_SUPPLICANT_SITE = http://w1.fi/releases -WPA_SUPPLICANT_PATCH = \ - https://w1.fi/security/2020-2/0001-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch \ - https://w1.fi/security/2021-1/0001-P2P-Fix-a-corner-case-in-peer-addition-based-on-PD-R.patch WPA_SUPPLICANT_LICENSE = BSD-3-Clause WPA_SUPPLICANT_LICENSE_FILES = README WPA_SUPPLICANT_CPE_ID_VENDOR = w1.fi WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config WPA_SUPPLICANT_SUBDIR = wpa_supplicant -WPA_SUPPLICANT_DBUS_OLD_SERVICE = fi.epitest.hostap.WPASupplicant -WPA_SUPPLICANT_DBUS_NEW_SERVICE = fi.w1.wpa_supplicant1 +WPA_SUPPLICANT_DBUS_SERVICE = fi.w1.wpa_supplicant1 WPA_SUPPLICANT_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/ WPA_SUPPLICANT_LDFLAGS = $(TARGET_LDFLAGS) WPA_SUPPLICANT_SELINUX_MODULES = networkmanager -# 0001-AP-Silently-ignore-management-frame-from-unexpected-.patch -WPA_SUPPLICANT_IGNORE_CVES += CVE-2019-16275 - # install the wpa_client library WPA_SUPPLICANT_INSTALL_STAGING = YES WPA_SUPPLICANT_CONFIG_EDITS = -# Add support for simple background scan -WPA_SUPPLICANT_CONFIG_SET = CONFIG_BGSCAN_SIMPLE - WPA_SUPPLICANT_CONFIG_ENABLE = \ - CONFIG_IEEE80211AC \ - CONFIG_IEEE80211N \ - CONFIG_IEEE80211R \ CONFIG_INTERNAL_LIBTOMMATH \ - CONFIG_DEBUG_FILE \ CONFIG_MATCH_IFACE WPA_SUPPLICANT_CONFIG_DISABLE = \ @@ -55,6 +41,14 @@ else WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_DRIVER_NL80211 endif +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WEXT),) +WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_DRIVER_WEXT +endif + +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_IBSS_RSN), ) +WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_IBSS_RSN +endif + # Trailing underscore on purpose to not enable CONFIG_EAPOL_TEST ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_EAP),y) WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_EAP_ @@ -63,11 +57,29 @@ ifeq ($(BR2_STATIC_LIBS),y) WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_EAP_TNC endif else -WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_EAP +WPA_SUPPLICANT_CONFIG_DISABLE += \ + CONFIG_EAP \ + CONFIG_IEEE8021X_EAPOL \ + CONFIG_FILS endif -ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT),y) -WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_HS20 \ +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WIRED),y) +WPA_SUPPLICANT_DEPENDENCIES += host-pkgconf libnl +WPA_SUPPLICANT_CONFIG_ENABLE += \ + CONFIG_LIBNL32 \ + CONFIG_DRIVER_WIRED \ + CONFIG_MACSEC \ + CONFIG_DRIVER_MACSEC_LINUX +else +WPA_SUPPLICANT_CONFIG_DISABLE += \ + CONFIG_DRIVER_WIRED \ + CONFIG_MACSEC \ + CONFIG_DRIVER_MACSEC_LINUX +endif + +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT),) +WPA_SUPPLICANT_CONFIG_DISABLE += \ + CONFIG_HS20 \ CONFIG_INTERWORKING endif @@ -88,8 +100,9 @@ WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_WIFI_DISPLAY endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING),y) -WPA_SUPPLICANT_CONFIG_SET += CONFIG_MESH -WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_IEEE80211W +WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_MESH +else +WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_MESH endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN),y) @@ -98,8 +111,8 @@ WPA_SUPPLICANT_CONFIG_ENABLE += \ CONFIG_AUTOSCAN_PERIODIC endif -ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPS),y) -WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_WPS +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPS),) +WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_WPS endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPA3),y) @@ -124,6 +137,10 @@ WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_EAP_PWD CONFIG_EAP_TEAP WPA_SUPPLICANT_CONFIG_EDITS += 's/\#\(CONFIG_TLS=\).*/\1internal/' endif +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE),) +WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_CTRL_IFACE\> +endif + ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_DBUS),y) WPA_SUPPLICANT_DEPENDENCIES += host-pkgconf dbus WPA_SUPPLICANT_MAKE_ENV = \ @@ -132,8 +149,8 @@ WPA_SUPPLICANT_MAKE_ENV = \ WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_CTRL_IFACE_DBUS_NEW define WPA_SUPPLICANT_INSTALL_DBUS_NEW $(INSTALL) -m 0644 -D \ - $(@D)/wpa_supplicant/dbus/$(WPA_SUPPLICANT_DBUS_NEW_SERVICE).service \ - $(TARGET_DIR)/usr/share/dbus-1/system-services/$(WPA_SUPPLICANT_DBUS_NEW_SERVICE).service + $(@D)/wpa_supplicant/dbus/$(WPA_SUPPLICANT_DBUS_SERVICE).service \ + $(TARGET_DIR)/usr/share/dbus-1/system-services/$(WPA_SUPPLICANT_DBUS_SERVICE).service endef ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION),y) @@ -144,8 +161,8 @@ else WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_CTRL_IFACE_DBUS_NEW endif -ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG),y) -WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_DEBUG_SYSLOG +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG),) +WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_DEBUG_SYSLOG endif ifeq ($(BR2_PACKAGE_READLINE),y) @@ -154,7 +171,7 @@ WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_READLINE endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO),y) -WPA_SUPPLICANT_CONFIG_SET += CONFIG_BUILD_WPA_CLIENT_SO +WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_BUILD_WPA_CLIENT_SO define WPA_SUPPLICANT_INSTALL_WPA_CLIENT_SO $(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/libwpa_client.so \ $(TARGET_DIR)/usr/lib/libwpa_client.so @@ -173,9 +190,14 @@ define WPA_SUPPLICANT_CONFIGURE_CMDS cp $(@D)/wpa_supplicant/defconfig $(WPA_SUPPLICANT_CONFIG) sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(WPA_SUPPLICANT_CONFIG_ENABLE)) \ $(patsubst %,-e 's/^\(%\)/#\1/',$(WPA_SUPPLICANT_CONFIG_DISABLE)) \ - $(patsubst %,-e '1i%=y',$(WPA_SUPPLICANT_CONFIG_SET)) \ $(patsubst %,-e %,$(WPA_SUPPLICANT_CONFIG_EDITS)) \ $(WPA_SUPPLICANT_CONFIG) + # set requested configuration options not listed in wpa_s defconfig + for s in $(WPA_SUPPLICANT_CONFIG_ENABLE) ; do \ + if ! grep -q "^$${s}" $(WPA_SUPPLICANT_CONFIG); then \ + echo "$${s}=y" >> $(WPA_SUPPLICANT_CONFIG) ; \ + fi \ + done endef # LIBS for wpa_supplicant, LIBS_c for wpa_cli, LIBS_p for wpa_passphrase @@ -206,7 +228,6 @@ define WPA_SUPPLICANT_INSTALL_DBUS $(INSTALL) -m 0644 -D \ $(@D)/wpa_supplicant/dbus/dbus-wpa_supplicant.conf \ $(TARGET_DIR)/etc/dbus-1/system.d/wpa_supplicant.conf - $(WPA_SUPPLICANT_INSTALL_DBUS_OLD) $(WPA_SUPPLICANT_INSTALL_DBUS_NEW) endef endif diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash b/package/wpebackend-fdo/wpebackend-fdo.hash index 2f8321833c3..06289900b0d 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.hash +++ b/package/wpebackend-fdo/wpebackend-fdo.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/wpebackend-fdo-1.8.0.tar.xz.sums -md5 6df96f80ff34c02d56f32a7a153a62c0 wpebackend-fdo-1.8.0.tar.xz -sha1 48dd8d5d525e0c89b8b7068fe51c439921804240 wpebackend-fdo-1.8.0.tar.xz -sha256 9652a99c75fe1c6eab0585b6395f4e104b2427e4d1f42969f1f77df29920d253 wpebackend-fdo-1.8.0.tar.xz +# From https://wpewebkit.org/releases/wpebackend-fdo-1.12.0.tar.xz.sums +md5 c43b34a4b4933bcd80068ae5776ee346 wpebackend-fdo-1.12.0.tar.xz +sha1 e2576d564bd6d9a86737a4cd31dd5827ebc00fdf wpebackend-fdo-1.12.0.tar.xz +sha256 6239c9c15523410798d66315de6b491712ab30009ba180f3e0dd076d9b0074ac wpebackend-fdo-1.12.0.tar.xz # Hashes for license files: sha256 c9f6803371047fad3e72200ec6cd226329a5ee08ac61104c8211c2761fb46825 COPYING diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk b/package/wpebackend-fdo/wpebackend-fdo.mk index dc0c9b67409..5fe9c5397fd 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.mk +++ b/package/wpebackend-fdo/wpebackend-fdo.mk @@ -4,7 +4,7 @@ # ################################################################################ -WPEBACKEND_FDO_VERSION = 1.8.0 +WPEBACKEND_FDO_VERSION = 1.12.0 WPEBACKEND_FDO_SITE = https://wpewebkit.org/releases WPEBACKEND_FDO_SOURCE = wpebackend-fdo-$(WPEBACKEND_FDO_VERSION).tar.xz WPEBACKEND_FDO_INSTALL_STAGING = YES diff --git a/package/wpewebkit/0001-Build-failure-when-cross-building-for-64-bit-ARM-htt.patch b/package/wpewebkit/0001-Build-failure-when-cross-building-for-64-bit-ARM-htt.patch new file mode 100644 index 00000000000..7c9c8666ad9 --- /dev/null +++ b/package/wpewebkit/0001-Build-failure-when-cross-building-for-64-bit-ARM-htt.patch @@ -0,0 +1,32 @@ +From b0c63502f004db68b485354967bb1c56c071f4eb Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Tue, 31 May 2022 00:48:21 +0300 +Subject: [PATCH] Build failure when cross-building for 64-bit ARM + https://bugs.webkit.org/show_bug.cgi?id=241109 + +Unreviewed build fix. + +* Source/WebCore/bindings/js/JSDOMMapLike.cpp: Add missing + JavaScriptCore/HashMapImplInlines.h header inclusion. + +Signed-off-by: Adrian Perez de Castro +Upstream status: https://github.com/WebKit/WebKit/pull/1165 +--- + Source/WebCore/bindings/js/JSDOMMapLike.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WebCore/bindings/js/JSDOMMapLike.cpp b/Source/WebCore/bindings/js/JSDOMMapLike.cpp +index e132c39fa54..2cb4b1b59a3 100644 +--- a/Source/WebCore/bindings/js/JSDOMMapLike.cpp ++++ b/Source/WebCore/bindings/js/JSDOMMapLike.cpp +@@ -28,6 +28,7 @@ + + #include "WebCoreJSClientData.h" + #include ++#include + #include + #include + +-- +2.36.1 + diff --git a/package/wpewebkit/0001-Fix-build-with-musl.patch b/package/wpewebkit/0001-Fix-build-with-musl.patch deleted file mode 100644 index 705c67c7f66..00000000000 --- a/package/wpewebkit/0001-Fix-build-with-musl.patch +++ /dev/null @@ -1,79 +0,0 @@ -From cc3c27a7e997ef157ed469127f185a7bb6eb1feb Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 27 May 2019 23:51:32 +0200 -Subject: [PATCH] Fix build with musl - -Signed-off-by: Khem Raj -[Retrieved (and slightly updated) from: -https://github.com/WebPlatformForEmbedded/meta-wpe/blob/master/recipes-wpe/wpewebkit/wpewebkit/0001-Fix-build-with-musl.patch] -Signed-off-by: Fabrice Fontaine ---- - Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++----- - Source/WTF/wtf/PlatformHave.h | 2 +- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h -index bf0bdc7a51a..78d2ec81838 100644 ---- a/Source/JavaScriptCore/runtime/MachineContext.h -+++ b/Source/JavaScriptCore/runtime/MachineContext.h -@@ -146,7 +146,7 @@ inline void*& stackPointer(mcontext_t& machineContext) - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) - - #if CPU(X86) - return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]); -@@ -251,7 +251,7 @@ inline void*& framePointer(mcontext_t& machineContext) - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -354,7 +354,7 @@ inline void*& instructionPointer(mcontext_t& machineContext) - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -466,7 +466,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext) - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -583,7 +583,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext) - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h -index e2a3388993f..95fe7c593cf 100644 ---- a/Source/WTF/wtf/PlatformHave.h -+++ b/Source/WTF/wtf/PlatformHave.h -@@ -683,7 +683,7 @@ - #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1 - #endif - --#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) -+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(LINUX) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) - #define HAVE_MACHINE_CONTEXT 1 - #endif - --- -2.20.1 - diff --git a/package/wpewebkit/Config.in b/package/wpewebkit/Config.in index 640f7c7011d..36523bdb414 100644 --- a/package/wpewebkit/Config.in +++ b/package/wpewebkit/Config.in @@ -30,7 +30,7 @@ config BR2_PACKAGE_WPEWEBKIT bool "wpewebkit" depends on !BR2_STATIC_LIBS # wayland depends on !BR2_BINFMT_FLAT # icu - depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu + depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby depends on BR2_INSTALL_LIBSTDCPP # harfbuzz, icu depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 @@ -95,6 +95,7 @@ config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME select BR2_PACKAGE_GST1_PLUGINS_GOOD + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4 select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP @@ -106,10 +107,16 @@ config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA if BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA +config BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM + bool "media-stream support" + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE + help + This option enables media-stream support. + config BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL bool "use gstreamer-gl" default y - depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM help Use the GStreamer GL elements for handling video content. This is recommended as it improves performance of video diff --git a/package/wpewebkit/wpewebkit.hash b/package/wpewebkit/wpewebkit.hash index df8ac547b06..253b4756d0b 100644 --- a/package/wpewebkit/wpewebkit.hash +++ b/package/wpewebkit/wpewebkit.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/wpewebkit-2.30.5.tar.xz.sums -md5 63a9a7b7f29862ec827a730ba6542e80 wpewebkit-2.30.5.tar.xz -sha1 33136493672882d56617007d7ce65268cb79bda7 wpewebkit-2.30.5.tar.xz -sha256 4b577f4f07c34bb5d453d62b7a41d9e937bd3a2827a92dcd6f47c35f27c8359a wpewebkit-2.30.5.tar.xz +# From https://wpewebkit.org/releases/wpewebkit-2.36.3.tar.xz.sums +md5 8bc53f86a3489da31fdbb581e1b87f7a wpewebkit-2.36.3.tar.xz +sha1 44a3d99ae48481917ddc478c5f91e6a4faa21ff5 wpewebkit-2.36.3.tar.xz +sha256 66275debca7497daff3a7826734cd56262a807adb76c5dccdf257c89968c2fc8 wpewebkit-2.36.3.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/package/wpewebkit/wpewebkit.mk b/package/wpewebkit/wpewebkit.mk index 78f729f8245..c3d3b3ed89a 100644 --- a/package/wpewebkit/wpewebkit.mk +++ b/package/wpewebkit/wpewebkit.mk @@ -4,7 +4,7 @@ # ################################################################################ -WPEWEBKIT_VERSION = 2.30.5 +WPEWEBKIT_VERSION = 2.36.3 WPEWEBKIT_SITE = http://www.wpewebkit.org/releases WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz WPEWEBKIT_INSTALL_STAGING = YES @@ -14,7 +14,7 @@ WPEWEBKIT_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WPEWEBKIT_CPE_ID_VENDOR = wpewebkit WPEWEBKIT_CPE_ID_PRODUCT = wpe_webkit -WPEWEBKIT_DEPENDENCIES = host-gperf host-python host-ruby \ +WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby \ harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libtasn1 \ libpng libxslt openjpeg wayland-protocols webp wpebackend-fdo @@ -23,6 +23,7 @@ WPEWEBKIT_CONF_OPTS = \ -DENABLE_ACCESSIBILITY=OFF \ -DENABLE_API_TESTS=OFF \ -DENABLE_MINIBROWSER=OFF \ + -DUSE_SOUP2=ON \ -DSILENCE_CROSS_COMPILATION_NOTICES=ON ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y) @@ -39,13 +40,20 @@ ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y) WPEWEBKIT_CONF_OPTS += \ -DENABLE_VIDEO=ON \ -DENABLE_WEB_AUDIO=ON -WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good +WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base else WPEWEBKIT_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ -DENABLE_WEB_AUDIO=OFF endif +ifeq ($(BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM),y) +WPEWEBKIT_CONF_OPTS += -DENABLE_MEDIA_STREAM=ON +WPEWEBKIT_DEPENDENCIES += gst1-plugins-bad +else +WPEWEBKIT_CONF_OPTS += -DENABLE_MEDIA_STREAM=OFF +endif + ifeq ($(BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL),y) WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=ON else @@ -58,6 +66,13 @@ else WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=OFF endif +ifeq ($(BR2_PACKAGE_LCMS2),y) +WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=ON +WPEWEBKIT_DEPENDENCIES += lcms2 +else +WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=OFF +endif + ifeq ($(BR2_PACKAGE_WOFF2),y) WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON WPEWEBKIT_DEPENDENCIES += woff2 @@ -66,10 +81,10 @@ WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF endif ifeq ($(BR2_INIT_SYSTEMD),y) -WPEWEBKIT_CONF_OPTS += -DUSE_SYSTEMD=ON +WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON WPEWEBKIT_DEPENDENCIES += systemd else -WPEWEBKIT_CONF_OPTS += -DUSE_SYSTEMD=OFF +WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF endif # JIT is not supported for MIPS r6, but the WebKit build system does not diff --git a/package/wqy-zenhei/wqy-zenhei.mk b/package/wqy-zenhei/wqy-zenhei.mk index 88e60f3e56d..375b0dd3033 100644 --- a/package/wqy-zenhei/wqy-zenhei.mk +++ b/package/wqy-zenhei/wqy-zenhei.mk @@ -6,15 +6,15 @@ WQY_ZENHEI_VERSION = 0.9.45 WQY_ZENHEI_SITE = https://downloads.sourceforge.net/project/wqy/wqy-zenhei/$(WQY_ZENHEI_VERSION)%20%28Fighting-state%20RC1%29 -WQY_ZENHEI_LICENSE = GPL-2.0-with-font-exception +WQY_ZENHEI_LICENSE = GPL-2.0-with-font-exception WQY_ZENHEI_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_FONTCONFIG),y) define WQY_ZENHEI_FONTCONFIG_CONF_INSTALL_CMDS $(INSTALL) -D -m 0644 $(@D)/43-wqy-zenhei-sharp.conf \ - $(TARGET_DIR)/usr/share/fontconfig/conf.avail/43-wqy-zenhei-sharp.conf + $(TARGET_DIR)/usr/share/fontconfig/conf.avail/43-wqy-zenhei-sharp.conf $(INSTALL) -D -m 0644 $(@D)/44-wqy-zenhei.conf \ - $(TARGET_DIR)/usr/share/fontconfig/conf.avail/44-wqy-zenhei.conf + $(TARGET_DIR)/usr/share/fontconfig/conf.avail/44-wqy-zenhei.conf endef endif diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in index b891fb42cef..63259e88da1 100644 --- a/package/x11r7/Config.in +++ b/package/x11r7/Config.in @@ -52,6 +52,7 @@ if BR2_PACKAGE_XORG7 source package/x11r7/xlib_libXxf86vm/Config.in source package/x11r7/xlib_libdmx/Config.in source package/x11r7/xlib_libfontenc/Config.in + source package/x11r7/xlib_libxcvt/Config.in source package/x11r7/xlib_libxkbfile/Config.in source package/x11r7/xlib_libxshmfence/Config.in source package/x11r7/xlib_xtrans/Config.in diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk index 9a35a729958..4cbd9cf62f9 100644 --- a/package/x11r7/libxcb/libxcb.mk +++ b/package/x11r7/libxcb/libxcb.mk @@ -9,6 +9,7 @@ LIBXCB_SOURCE = libxcb-$(LIBXCB_VERSION).tar.xz LIBXCB_SITE = http://xcb.freedesktop.org/dist LIBXCB_LICENSE = MIT LIBXCB_LICENSE_FILES = COPYING +LIBXCB_CPE_ID_VENDOR = x LIBXCB_INSTALL_STAGING = YES diff --git a/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.hash b/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.hash index 7faa797fdef..72077bee60c 100644 --- a/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.hash +++ b/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2020-October/003062.html -sha256 07c835f1f98d7b462be8f1493d072b62418282421be18197e50579c70b0c259b fonttosfnt-1.2.1.tar.bz2 -sha512 3d4ece61e31d4a5ed56923ecc1883e80a9308d2062d37345cb5be081bc2b004aadebf99a989601749a63e03eb641e0522d07773a57bca0b4710ed453e4f20742 fonttosfnt-1.2.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-June/003093.html +sha256 1a1bb4ef25856dea7de3d491ae7231493225b400bee0f6a1f949017ffd203a64 fonttosfnt-1.2.2.tar.bz2 +sha512 ceac6ccb064043d46f9f16f31fb89c6cbf7f026d049f7b5325d6af97e809b4cd068e6149413bb328c0af601a98b5070e21d469888a6853f6cabecd5b46f60240 fonttosfnt-1.2.2.tar.bz2 # Locally computed sha256 f83378580cb7909a98b52bf5cd6a29f4894d76318c5c5312dd3f17a3e92beef1 COPYING diff --git a/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.mk b/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.mk index bafc5249018..9fdccbb8437 100644 --- a/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.mk +++ b/package/x11r7/xapp_fonttosfnt/xapp_fonttosfnt.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_FONTTOSFNT_VERSION = 1.2.1 +XAPP_FONTTOSFNT_VERSION = 1.2.2 XAPP_FONTTOSFNT_SOURCE = fonttosfnt-$(XAPP_FONTTOSFNT_VERSION).tar.bz2 XAPP_FONTTOSFNT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_FONTTOSFNT_LICENSE = MIT diff --git a/package/x11r7/xapp_xauth/xapp_xauth.hash b/package/x11r7/xapp_xauth/xapp_xauth.hash index 0251c083a75..22ea4cadfdb 100644 --- a/package/x11r7/xapp_xauth/xapp_xauth.hash +++ b/package/x11r7/xapp_xauth/xapp_xauth.hash @@ -1,7 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2019-July/003005.html -md5 e50587c1bb832aafd1a19d91a0890a0b xauth-1.1.tar.bz2 -sha1 16180e36d75a23cb182cb91e78f24273f1a63967 xauth-1.1.tar.bz2 -sha256 6d1dd1b79dd185107c5b0fdd22d1d791ad749ad6e288d0cdf80964c4ffa7530c xauth-1.1.tar.bz2 -sha512 b6ecd59a853a491ef45bf8cfbff63bed36645f81cb79ae9d18458b57f7502bccf92f0d979d3337578518646f680ad379e67b1dac15a927cbb11372733e7a3a0c xauth-1.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-November/003118.html +sha256 164ea0a29137b284a47b886ef2affcb0a74733bf3aad04f9b106b1a6c82ebd92 xauth-1.1.1.tar.bz2 +sha512 998c3158378fff50d368959c29335173b8d98e02591cb3d7b2f9534b5a44b19deb4cb7da9bf291ca5a37f69f833d72839b2c6611723306d10c1b4968ae4d4120 xauth-1.1.1.tar.bz2 + # Locally computed sha256 dcdf5fa36a652efbe61a21def1301739b0010334ae3f049f1cff433221a8c7a5 COPYING diff --git a/package/x11r7/xapp_xauth/xapp_xauth.mk b/package/x11r7/xapp_xauth/xapp_xauth.mk index cd900f0055a..64b064d3bd7 100644 --- a/package/x11r7/xapp_xauth/xapp_xauth.mk +++ b/package/x11r7/xapp_xauth/xapp_xauth.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XAUTH_VERSION = 1.1 +XAPP_XAUTH_VERSION = 1.1.1 XAPP_XAUTH_SOURCE = xauth-$(XAPP_XAUTH_VERSION).tar.bz2 XAPP_XAUTH_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XAUTH_LICENSE = MIT diff --git a/package/x11r7/xapp_xeyes/Config.in b/package/x11r7/xapp_xeyes/Config.in index 5cf7f6c0523..268bc5807e9 100644 --- a/package/x11r7/xapp_xeyes/Config.in +++ b/package/x11r7/xapp_xeyes/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_XAPP_XEYES bool "xeyes" select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXI select BR2_PACKAGE_XLIB_LIBXMU - select BR2_PACKAGE_XLIB_LIBXRENDER select BR2_PACKAGE_XLIB_LIBXT help X.Org xeyes application diff --git a/package/x11r7/xapp_xeyes/xapp_xeyes.hash b/package/x11r7/xapp_xeyes/xapp_xeyes.hash index bbb6a9b08b0..734492b6cd1 100644 --- a/package/x11r7/xapp_xeyes/xapp_xeyes.hash +++ b/package/x11r7/xapp_xeyes/xapp_xeyes.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002860.html -md5 6f0543ec84283df5743eeafc173bea4a xeyes-1.1.2.tar.bz2 -sha1 458987f8accdbd8abf993ee51030391cf584d2e8 xeyes-1.1.2.tar.bz2 -sha256 57bcec0d2d167af9e5d44d0dbd74c6d7c0f0591cd0608952b23c749fdd910553 xeyes-1.1.2.tar.bz2 -sha512 008d76f03ddabd3d86ad9e52a540504553b94cb7a6743b20cf08897549eb27505667365ab9af21956a1b5ec7297acca8903a326536e6195a30e643cd93297ee0 xeyes-1.1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-August/003101.html +sha256 f8a17e23146bef1ab345a1e303c6749e42aaa7bcf4f25428afad41770721b6db xeyes-1.2.0.tar.bz2 +sha512 2d1614614b3ba3d1ebaa0e9801a2e159389b94aaacafb962d326b7e6dc712c1eb2c12a50ceb10b3135cf0eee6ae86bbf84e73098deb08e73792f14a60616b4d8 xeyes-1.2.0.tar.bz2 # Locally computed -sha256 d8de1de40e16227d1eb4b19e95117ce3f990f71f71df096a2259b0bc9931e042 COPYING +sha256 d8de1de40e16227d1eb4b19e95117ce3f990f71f71df096a2259b0bc9931e042 COPYING diff --git a/package/x11r7/xapp_xeyes/xapp_xeyes.mk b/package/x11r7/xapp_xeyes/xapp_xeyes.mk index 6c7f859d35a..3f37aaee8c9 100644 --- a/package/x11r7/xapp_xeyes/xapp_xeyes.mk +++ b/package/x11r7/xapp_xeyes/xapp_xeyes.mk @@ -4,11 +4,23 @@ # ################################################################################ -XAPP_XEYES_VERSION = 1.1.2 +XAPP_XEYES_VERSION = 1.2.0 XAPP_XEYES_SOURCE = xeyes-$(XAPP_XEYES_VERSION).tar.bz2 -XAPP_XEYES_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_XEYES_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XEYES_LICENSE = MIT XAPP_XEYES_LICENSE_FILES = COPYING -XAPP_XEYES_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXmu xlib_libXrender xlib_libXt +XAPP_XEYES_DEPENDENCIES = \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXi \ + xlib_libXmu \ + xlib_libXt + +ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y) +XAPP_XEYES_DEPENDENCIES += xlib_libXrender +XAPP_XEYES_CONF_OPTS += --with-xrender +else +XAPP_XEYES_CONF_OPTS += --without-xrender +endif $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xinput-calibrator/xapp_xinput-calibrator.mk b/package/x11r7/xapp_xinput-calibrator/xapp_xinput-calibrator.mk index 974b83df2c9..be86608b852 100644 --- a/package/x11r7/xapp_xinput-calibrator/xapp_xinput-calibrator.mk +++ b/package/x11r7/xapp_xinput-calibrator/xapp_xinput-calibrator.mk @@ -6,7 +6,7 @@ XAPP_XINPUT_CALIBRATOR_VERSION = 0.7.5 XAPP_XINPUT_CALIBRATOR_SOURCE = xinput_calibrator-$(XAPP_XINPUT_CALIBRATOR_VERSION).tar.gz -XAPP_XINPUT_CALIBRATOR_SITE = http://github.com/downloads/tias/xinput_calibrator +XAPP_XINPUT_CALIBRATOR_SITE = https://github.com/downloads/tias/xinput_calibrator XAPP_XINPUT_CALIBRATOR_LICENSE = MIT XAPP_XINPUT_CALIBRATOR_LICENSE_FILES = COPYING XAPP_XINPUT_CALIBRATOR_DEPENDENCIES = xlib_libX11 xlib_libXi diff --git a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash index 7191d5520e3..bccaae6f57b 100644 --- a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash +++ b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash @@ -1,5 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2020-November/003063.html -sha256 59cce603a607a17722a0a1cf99010f4894e7812beb5d695abbc08474d59af27e xkbcomp-1.4.4.tar.bz2 -sha512 971eb06277a49083b42154472596f1452fa94cdee28bad345bbcd85b028441bfd975763c20ed92aa69d6605b3fb23d27fee89df91501963b77c863667bae41c4 xkbcomp-1.4.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-March/003075.html +sha256 6851086c4244b6fd0cc562880d8ff193fb2bbf1e141c73632e10731b31d4b05e xkbcomp-1.4.5.tar.bz2 +sha512 2e84f8d6b083e2e818cb95e5d2a184da00e50d71b280e92d1a71465a9a4348f922f4ddccb42cfeee6f76705bbfc8580ef67aedd0d958aaa1ae6bbcc66ccd8154 xkbcomp-1.4.5.tar.bz2 + # Locally computed -sha256 f1a78f5796fe2374f2b93e579328a02283e57d2a8316484b31799b12debe7ee3 COPYING +sha256 6b833fdc05906ce57f016dc791db86830d49ee4da2861ce45806c50b3f4dda9e COPYING diff --git a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk index 69d4aefb94b..b52f5e6850c 100644 --- a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk +++ b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XKBCOMP_VERSION = 1.4.4 +XAPP_XKBCOMP_VERSION = 1.4.5 XAPP_XKBCOMP_SOURCE = xkbcomp-$(XAPP_XKBCOMP_VERSION).tar.bz2 XAPP_XKBCOMP_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XKBCOMP_LICENSE = MIT diff --git a/package/x11r7/xapp_xrdb/xapp_xrdb.hash b/package/x11r7/xapp_xrdb/xapp_xrdb.hash index b8a6896ca77..606fd260603 100644 --- a/package/x11r7/xapp_xrdb/xapp_xrdb.hash +++ b/package/x11r7/xapp_xrdb/xapp_xrdb.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-February/002953.html -md5 34ae801ef994d192c70fcce2bdb2a1b2 xrdb-1.2.0.tar.bz2 -sha1 79596928246288a217abdec0e4a2315ec9b07963 xrdb-1.2.0.tar.bz2 -sha256 f23a65cfa1f7126040d68b6cf1e4567523edac10f8dc06f23d840d330c7c6946 xrdb-1.2.0.tar.bz2 -sha512 14e1cdfb2152fb28f1f4641b177ab236648d7e967a95b952bf4cfce8d3e1ef085e85385354e3381aaf644462e8888a1847f755ab4016ecb4cb4a715b001dd2ef xrdb-1.2.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-August/003107.html +sha256 4f5d031c214ffb88a42ae7528492abde1178f5146351ceb3c05f3b8d5abee8b4 xrdb-1.2.1.tar.bz2 +sha512 d88135cdfea8536523dfb986249ee42761d5363c936352f12f55b4d0c849f21236f7d74d39869c5ec5b549019d6ed89d9096cde4b3c2b4816c2778a8e370b5c9 xrdb-1.2.1.tar.bz2 # Locally computed -sha256 ca1b3e2f9f37c35876b69a9c1c5a7860fae59b7ba87a1d2dc541b722e29b1ecc COPYING +sha256 ca1b3e2f9f37c35876b69a9c1c5a7860fae59b7ba87a1d2dc541b722e29b1ecc COPYING diff --git a/package/x11r7/xapp_xrdb/xapp_xrdb.mk b/package/x11r7/xapp_xrdb/xapp_xrdb.mk index b445805d17b..4f9860d25ae 100644 --- a/package/x11r7/xapp_xrdb/xapp_xrdb.mk +++ b/package/x11r7/xapp_xrdb/xapp_xrdb.mk @@ -4,9 +4,9 @@ # ################################################################################ -XAPP_XRDB_VERSION = 1.2.0 +XAPP_XRDB_VERSION = 1.2.1 XAPP_XRDB_SOURCE = xrdb-$(XAPP_XRDB_VERSION).tar.bz2 -XAPP_XRDB_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_XRDB_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XRDB_LICENSE = MIT XAPP_XRDB_LICENSE_FILES = COPYING XAPP_XRDB_DEPENDENCIES = xlib_libX11 xlib_libXmu diff --git a/package/x11r7/xapp_xwd/xapp_xwd.hash b/package/x11r7/xapp_xwd/xapp_xwd.hash index 606618bcc64..75952864991 100644 --- a/package/x11r7/xapp_xwd/xapp_xwd.hash +++ b/package/x11r7/xapp_xwd/xapp_xwd.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002876.html -md5 11794a8eba6d295a192a8975287fd947 xwd-1.0.7.tar.bz2 -sha1 65ce0617be29687cf6082c3a0e85d15a0dcccda9 xwd-1.0.7.tar.bz2 -sha256 cd6815b8b9e0b98e284d3d732fb12162159cb9dcee4f45a7d4c0bd8b308a6794 xwd-1.0.7.tar.bz2 -sha512 6fdb0a115ae505169bbc7fcc45580daf26bced2e26e0bf9a877636016038931a8386e8edcbe015f4024be508d0461906adef4834cf22a445e3c282f0b8fad17e xwd-1.0.7.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-August/003102.html +sha256 fbaa2b34163714fe7be22b60920ea4683f63b355babb1781aec2e452a033031b xwd-1.0.8.tar.bz2 +sha512 d2aaf42c60d20c4b09f4947d3702058dbfad4633b2c5c8ea62e8897fc9ced1ab3417ce99255a223286d21a731f543019470737e3074f1bc68033b4eb47bc773e xwd-1.0.8.tar.bz2 # Locally computed -sha256 7cfda56afd92a1ecd2f23bd0064e01b5141053390d854785504adfe2c0fbd946 COPYING +sha256 7cfda56afd92a1ecd2f23bd0064e01b5141053390d854785504adfe2c0fbd946 COPYING diff --git a/package/x11r7/xapp_xwd/xapp_xwd.mk b/package/x11r7/xapp_xwd/xapp_xwd.mk index 4d7ed0f8771..1c5bd50166c 100644 --- a/package/x11r7/xapp_xwd/xapp_xwd.mk +++ b/package/x11r7/xapp_xwd/xapp_xwd.mk @@ -4,9 +4,9 @@ # ################################################################################ -XAPP_XWD_VERSION = 1.0.7 +XAPP_XWD_VERSION = 1.0.8 XAPP_XWD_SOURCE = xwd-$(XAPP_XWD_VERSION).tar.bz2 -XAPP_XWD_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_XWD_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XWD_LICENSE = MIT XAPP_XWD_LICENSE_FILES = COPYING XAPP_XWD_DEPENDENCIES = xlib_libX11 xlib_libXmu xlib_libxkbfile diff --git a/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk b/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk index ddcc6ac9cb5..4706a522efb 100644 --- a/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk +++ b/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk @@ -10,11 +10,12 @@ XCURSOR_TRANSPARENT_THEME_DEPENDENCIES = xlib_libXcursor host-xapp_xcursorgen XCURSOR_TRANSPARENT_THEME_LICENSE = GPL-2.0 XCURSOR_TRANSPARENT_THEME_LICENSE_FILES = COPYING -define ICONS_DEFAULT_CONFIG_INSTALL +define XCURSOR_TRANSPARENT_THEME_ICONS_DEFAULT_CONFIG_INSTALL $(INSTALL) -m 0755 -D package/x11r7/xcursor-transparent-theme/index.theme \ $(TARGET_DIR)/usr/share/icons/default/index.theme endef -XCURSOR_TRANSPARENT_THEME_POST_INSTALL_TARGET_HOOKS += ICONS_DEFAULT_CONFIG_INSTALL +XCURSOR_TRANSPARENT_THEME_POST_INSTALL_TARGET_HOOKS += \ + XCURSOR_TRANSPARENT_THEME_ICONS_DEFAULT_CONFIG_INSTALL $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash index 51f0ce78561..a2f295d6b5d 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash @@ -1,7 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2020-May/003045.html -md5 11dcfa2cc39f790731a9545fcdeea717 xf86-input-libinput-0.30.0.tar.bz2 -sha1 b705d0280b4fa7ccf44b9ff3869f5d7846e26414 xf86-input-libinput-0.30.0.tar.bz2 -sha256 f9c7f9fd41ae14061e0e9c3bd45fa170e5e21027a2bc5810034e1e748db996c0 xf86-input-libinput-0.30.0.tar.bz2 -sha512 823f80f7d53866f2f06c1fb7b2d64111bf807329acaaeda4a09413cdb5f3e3235c1dd4f99183aae75adf5a01503e40e35b4449b31f977afd842b4723b062c380 xf86-input-libinput-0.30.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-September/003110.html +sha256 f80da3c514fe1cbf57fa1b1bd6ff97f6b0a1f87466ad89247bac59cd0a5869f6 xf86-input-libinput-1.2.0.tar.bz2 +sha512 ebff9490d33fd7495df2e03203060a76b3274f0e638bc92f3d95257fac57cdb9dac308e90e54006fe9522b6de3b1f1c38fd5f0b0b75b7051e5422290f43de52d xf86-input-libinput-1.2.0.tar.bz2 + # Locally computed -sha256 b808a8a077995380c6064bec41616f98546b0b2e79bb7f3d0247d290e275b396 COPYING +sha256 4114220b281561e80f3422f0e7ae8d3e1fc85131ffc2e3b6265119e66f1adb27 COPYING diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk index 64d972cf336..21d962aa522 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.30.0 +XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 1.2.0 XDRIVER_XF86_INPUT_LIBINPUT_SOURCE = xf86-input-libinput-$(XDRIVER_XF86_INPUT_LIBINPUT_VERSION).tar.bz2 -XDRIVER_XF86_INPUT_LIBINPUT_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_INPUT_LIBINPUT_SITE = https://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_LIBINPUT_LICENSE = MIT XDRIVER_XF86_INPUT_LIBINPUT_LICENSE_FILES = COPYING XDRIVER_XF86_INPUT_LIBINPUT_DEPENDENCIES = libinput xserver_xorg-server xorgproto diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index e7196956a34..6423c03f5fa 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -15,6 +15,12 @@ XDRIVER_XF86_VIDEO_AMDGPU_DEPENDENCIES = \ xorgproto \ xserver_xorg-server +ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yyy) +XDRIVER_XF86_VIDEO_AMDGPU_CONF_OPTS += --enable-glamor +else +XDRIVER_XF86_VIDEO_AMDGPU_CONF_OPTS += --disable-glamor +endif + # xdriver_xf86-video-amdgpu requires O_CLOEXEC XDRIVER_XF86_VIDEO_AMDGPU_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" diff --git a/package/x11r7/xdriver_xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch b/package/x11r7/xdriver_xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch index b7a66c5c272..ec9e49ebc75 100644 --- a/package/x11r7/xdriver_xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch +++ b/package/x11r7/xdriver_xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch @@ -1,7 +1,7 @@ From f223035f4ffcff2a9296d1e907a5193f8e8845a3 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 4 Feb 2020 16:38:06 -0500 -Subject: [PATCH xf86-video-ati] Fix link failure with gcc 10 +Subject: [PATCH] Fix link failure with gcc 10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/package/x11r7/xdriver_xf86-video-ati/0002-ati-cleanup-terminology-to-use-primary-secondary.patch b/package/x11r7/xdriver_xf86-video-ati/0002-ati-cleanup-terminology-to-use-primary-secondary.patch new file mode 100644 index 00000000000..ed8413b0cd3 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ati/0002-ati-cleanup-terminology-to-use-primary-secondary.patch @@ -0,0 +1,371 @@ +From d96815a32431e0f434964a786013083bc0d835fc Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Mon, 13 Jul 2020 09:11:28 +1000 +Subject: [PATCH] ati: cleanup terminology to use primary/secondary + +The X server changed some API/ABIs here. + +Based on amdgpu patch by Michel + +(cherry picked from commit 8da3e4561ef82bb78c9a17b8cd8bf139b9cfd680) +Signed-off-by: Romain Naour +--- + man/radeon.man | 2 +- + src/compat-api.h | 6 ++++ + src/drmmode_display.c | 4 +-- + src/evergreen_state.h | 2 +- + src/r600_state.h | 2 +- + src/radeon.h | 10 +++--- + src/radeon_exa.c | 2 +- + src/radeon_glamor.c | 2 +- + src/radeon_kms.c | 74 +++++++++++++++++++++---------------------- + 9 files changed, 55 insertions(+), 49 deletions(-) + +diff --git a/man/radeon.man b/man/radeon.man +index dcebf537..247dcdb7 100644 +--- a/man/radeon.man ++++ b/man/radeon.man +@@ -290,7 +290,7 @@ on. If this option is set, the default value of the property is 'on' or 'off' + accordingly. If this option isn't set, the default value of the property is + .B auto, + which means that TearFree is on for rotated outputs, outputs with RandR +-transforms applied and for RandR 1.4 slave outputs, otherwise off. ++transforms applied and for RandR 1.4 secondary outputs, otherwise off. + .TP + .BI "Option \*qAccelMethod\*q \*q" "string" \*q + Chooses between available acceleration architectures. Valid values are +diff --git a/src/compat-api.h b/src/compat-api.h +index f4e7524f..def6d3e4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -34,4 +34,10 @@ + #define BLOCKHANDLER_ARGS pScreen, pTimeout, pReadmask + #endif + ++#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2) ++#define current_primary current_master ++#define primary_pixmap master_pixmap ++#define secondary_dst slave_dst ++#endif ++ + #endif +diff --git a/src/drmmode_display.c b/src/drmmode_display.c +index 0e9e2474..3dec91e8 100644 +--- a/src/drmmode_display.c ++++ b/src/drmmode_display.c +@@ -720,7 +720,7 @@ drmmode_crtc_prime_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode, + xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, + ent) { + if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { +- dirty->slave_dst = ++ dirty->secondary_dst = + drmmode_crtc->scanout[scanout_id].pixmap; + break; + } +@@ -1356,7 +1356,7 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) + + xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { + if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { +- PixmapStopDirtyTracking(dirty->src, dirty->slave_dst); ++ PixmapStopDirtyTracking(dirty->src, dirty->secondary_dst); + break; + } + } +diff --git a/src/evergreen_state.h b/src/evergreen_state.h +index 7e54e1c7..34ba87b6 100644 +--- a/src/evergreen_state.h ++++ b/src/evergreen_state.h +@@ -350,7 +350,7 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height, + int *new_pitch); + extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); + extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); +-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); ++extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); + extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); + + #endif +diff --git a/src/r600_state.h b/src/r600_state.h +index 34345996..567c3ca2 100644 +--- a/src/r600_state.h ++++ b/src/r600_state.h +@@ -321,6 +321,6 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height, + int *new_pitch); + extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); + extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); +-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); ++extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); + extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); + #endif +diff --git a/src/radeon.h b/src/radeon.h +index 2c913466..85fd0217 100644 +--- a/src/radeon.h ++++ b/src/radeon.h +@@ -182,18 +182,18 @@ typedef enum { + + + static inline ScreenPtr +-radeon_master_screen(ScreenPtr screen) ++radeon_primary_screen(ScreenPtr screen) + { +- if (screen->current_master) +- return screen->current_master; ++ if (screen->current_primary) ++ return screen->current_primary; + + return screen; + } + + static inline ScreenPtr +-radeon_dirty_master(PixmapDirtyUpdatePtr dirty) ++radeon_dirty_primary(PixmapDirtyUpdatePtr dirty) + { +- return radeon_master_screen(dirty->slave_dst->drawable.pScreen); ++ return radeon_primary_screen(dirty->secondary_dst->drawable.pScreen); + } + + static inline DrawablePtr +diff --git a/src/radeon_exa.c b/src/radeon_exa.c +index 268155ed..320ff992 100644 +--- a/src/radeon_exa.c ++++ b/src/radeon_exa.c +@@ -282,7 +282,7 @@ void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv) + free(driverPriv); + } + +-Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **fd_handle) ++Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr seconndary, void **fd_handle) + { + struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(ppix); + +diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c +index f1098381..ccf99941 100644 +--- a/src/radeon_glamor.c ++++ b/src/radeon_glamor.c +@@ -366,7 +366,7 @@ radeon_glamor_set_pixmap_bo(DrawablePtr drawable, PixmapPtr pixmap) + + + static Bool +-radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave, ++radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary, + void **handle_p) + { + ScreenPtr screen = pixmap->drawable.pScreen; +diff --git a/src/radeon_kms.c b/src/radeon_kms.c +index b3db7c41..62962d61 100644 +--- a/src/radeon_kms.c ++++ b/src/radeon_kms.c +@@ -559,8 +559,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty) + if (dirty->rotation != RR_Rotate_0) { + dstregion = transform_region(damageregion, + &dirty->f_inverse, +- dirty->slave_dst->drawable.width, +- dirty->slave_dst->drawable.height); ++ dirty->secondary_dst->drawable.width, ++ dirty->secondary_dst->drawable.height); + } else + #endif + { +@@ -568,7 +568,7 @@ dirty_region(PixmapDirtyUpdatePtr dirty) + + dstregion = RegionDuplicate(damageregion); + RegionTranslate(dstregion, -dirty->x, -dirty->y); +- PixmapRegionInit(&pixregion, dirty->slave_dst); ++ PixmapRegionInit(&pixregion, dirty->secondary_dst); + RegionIntersect(dstregion, dstregion, &pixregion); + RegionUninit(&pixregion); + } +@@ -585,8 +585,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region) + if (RegionNil(region)) + goto out; + +- if (dirty->slave_dst->master_pixmap) +- DamageRegionAppend(&dirty->slave_dst->drawable, region); ++ if (dirty->secondary_dst->primary_pixmap) ++ DamageRegionAppend(&dirty->secondary_dst->drawable, region); + + #ifdef HAS_DIRTYTRACKING_ROTATION + PixmapSyncDirtyHelper(dirty); +@@ -595,8 +595,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region) + #endif + + radeon_cs_flush_indirect(src_scrn); +- if (dirty->slave_dst->master_pixmap) +- DamageRegionProcessPending(&dirty->slave_dst->drawable); ++ if (dirty->secondary_dst->primary_pixmap) ++ DamageRegionProcessPending(&dirty->secondary_dst->drawable); + + out: + DamageEmpty(dirty->damage); +@@ -613,12 +613,12 @@ radeon_prime_scanout_update_abort(xf86CrtcPtr crtc, void *event_data) + void + radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr master_screen = radeon_dirty_master(dirty); ++ ScreenPtr primary_screen = radeon_dirty_primary(dirty); + PixmapDirtyUpdatePtr ent; + RegionPtr region; + +- xorg_list_for_each_entry(ent, &master_screen->pixmap_dirty_list, ent) { +- if (!radeon_dirty_src_equals(dirty, ent->slave_dst)) ++ xorg_list_for_each_entry(ent, &primary_screen->pixmap_dirty_list, ent) { ++ if (!radeon_dirty_src_equals(dirty, ent->secondary_dst)) + continue; + + region = dirty_region(ent); +@@ -631,45 +631,45 @@ radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + #if HAS_SYNC_SHARED_PIXMAP + + static Bool +-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr master_screen = radeon_dirty_master(dirty); ++ ScreenPtr primary_screen = radeon_dirty_primary(dirty); + +- return !!master_screen->SyncSharedPixmap; ++ return !!primary_screen->SyncSharedPixmap; + } + + static Bool +-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr slave_screen = dirty->slave_dst->drawable.pScreen; ++ ScreenPtr secondary_screen = dirty->secondary_dst->drawable.pScreen; + +- return !!slave_screen->SyncSharedPixmap; ++ return !!secondary_screen->SyncSharedPixmap; + } + + static void + call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr master_screen = radeon_dirty_master(dirty); ++ ScreenPtr primary_screen = radeon_dirty_primary(dirty); + +- master_screen->SyncSharedPixmap(dirty); ++ primary_screen->SyncSharedPixmap(dirty); + } + + #else /* !HAS_SYNC_SHARED_PIXMAP */ + + static Bool +-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScrnInfoPtr master_scrn = xf86ScreenToScrn(radeon_dirty_master(dirty)); ++ ScrnInfoPtr primary_scrn = xf86ScreenToScrn(radeon_dirty_primary(dirty)); + +- return master_scrn->driverName == scrn->driverName; ++ return primary_scrn->driverName == scrn->driverName; + } + + static Bool +-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScrnInfoPtr slave_scrn = xf86ScreenToScrn(dirty->slave_dst->drawable.pScreen); ++ ScrnInfoPtr secondary_scrn = xf86ScreenToScrn(dirty->secondary_dst->drawable.pScreen); + +- return slave_scrn->driverName == scrn->driverName; ++ return secondary_scrn->driverName == scrn->driverName; + } + + static void +@@ -684,12 +684,12 @@ call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + static xf86CrtcPtr + radeon_prime_dirty_to_crtc(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; ++ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); + int c; + +- /* Find the CRTC which is scanning out from this slave pixmap */ ++ /* Find the CRTC which is scanning out from this secondary pixmap */ + for (c = 0; c < xf86_config->num_crtc; c++) { + xf86CrtcPtr xf86_crtc = xf86_config->crtc[c]; + drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; +@@ -714,7 +714,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id) + if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { + RegionPtr region; + +- if (master_has_sync_shared_pixmap(scrn, dirty)) ++ if (primary_has_sync_shared_pixmap(scrn, dirty)) + call_sync_shared_pixmap(dirty); + + region = dirty_region(dirty); +@@ -727,7 +727,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id) + radeon_cs_flush_indirect(scrn); + RegionCopy(&drmmode_crtc->scanout_last_region, region); + RegionTranslate(region, -crtc->x, -crtc->y); +- dirty->slave_dst = drmmode_crtc->scanout[scanout_id].pixmap; ++ dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap; + } + + redisplay_dirty(dirty, region); +@@ -754,7 +754,7 @@ radeon_prime_scanout_update_handler(xf86CrtcPtr crtc, uint32_t frame, uint64_t u + static void + radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; ++ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); + xf86CrtcPtr xf86_crtc = radeon_prime_dirty_to_crtc(dirty); +@@ -818,7 +818,7 @@ radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) + static void + radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent) + { +- ScreenPtr screen = ent->slave_dst->drawable.pScreen; ++ ScreenPtr screen = ent->secondary_dst->drawable.pScreen; + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); + xf86CrtcPtr crtc = radeon_prime_dirty_to_crtc(ent); +@@ -893,11 +893,11 @@ radeon_dirty_update(ScrnInfoPtr scrn) + if (screen->isGPU) { + PixmapDirtyUpdatePtr region_ent = ent; + +- if (master_has_sync_shared_pixmap(scrn, ent)) { +- ScreenPtr master_screen = radeon_dirty_master(ent); ++ if (primary_has_sync_shared_pixmap(scrn, ent)) { ++ ScreenPtr primary_screen = radeon_dirty_primary(ent); + +- xorg_list_for_each_entry(region_ent, &master_screen->pixmap_dirty_list, ent) { +- if (radeon_dirty_src_equals(ent, region_ent->slave_dst)) ++ xorg_list_for_each_entry(region_ent, &primary_screen->pixmap_dirty_list, ent) { ++ if (radeon_dirty_src_equals(ent, region_ent->secondary_dst)) + break; + } + } +@@ -921,7 +921,7 @@ radeon_dirty_update(ScrnInfoPtr scrn) + + RegionDestroy(region); + } else { +- if (slave_has_sync_shared_pixmap(scrn, ent)) ++ if (secondary_has_sync_shared_pixmap(scrn, ent)) + continue; + + region = dirty_region(ent); +@@ -1216,7 +1216,7 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL) + (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); + pScreen->BlockHandler = RADEONBlockHandler_KMS; + +- if (!xf86ScreenToScrn(radeon_master_screen(pScreen))->vtSema) ++ if (!xf86ScreenToScrn(radeon_primary_screen(pScreen))->vtSema) + return; + + if (!pScreen->isGPU) +@@ -2584,7 +2584,7 @@ CARD32 cleanup_black_fb(OsTimerPtr timer, CARD32 now, pointer data) + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); + int c; + +- if (xf86ScreenToScrn(radeon_master_screen(screen))->vtSema) ++ if (xf86ScreenToScrn(radeon_primary_screen(screen))->vtSema) + return 0; + + /* Unreference the all-black FB created by RADEONLeaveVT_KMS. After +-- +2.31.1 + diff --git a/package/x11r7/xdriver_xf86-video-ati/0003-Guard-local-variable-priv-only-used-with-glamor.patch b/package/x11r7/xdriver_xf86-video-ati/0003-Guard-local-variable-priv-only-used-with-glamor.patch new file mode 100644 index 00000000000..0a23c54cce1 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ati/0003-Guard-local-variable-priv-only-used-with-glamor.patch @@ -0,0 +1,66 @@ +From a78e31b5fffadd73b00483f21e54bd144f1b439a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= +Date: Fri, 26 Mar 2021 17:42:10 +0100 +Subject: [PATCH] Guard local variable priv only used with glamor +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes compile errors with glamor disabled: + +../../src/radeon_present.c: In function ‘radeon_present_check_flip’: +../../src/radeon_present.c:281:21: error: invalid use of undefined type ‘struct radeon_pixmap’ + 281 | if (priv && priv->fb_failed) + | ^~ +../../src/radeon_present.c:288:19: error: invalid use of undefined type ‘struct radeon_pixmap’ + 288 | if (priv && !priv->fb_failed) { + | ^~ +../../src/radeon_present.c:292:10: error: invalid use of undefined type ‘struct radeon_pixmap’ + 292 | priv->fb_failed = TRUE; + | ^~ + +(cherry picked from commit 3c7c84ed49564907a148ae99b03200e0be350060) +Signed-off-by: Romain Naour +--- + src/radeon_present.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/radeon_present.c b/src/radeon_present.c +index 494655c9..d010aa19 100644 +--- a/src/radeon_present.c ++++ b/src/radeon_present.c +@@ -254,7 +254,9 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, + xf86CrtcPtr xf86_crtc = crtc->devPrivate; + ScreenPtr screen = window->drawable.pScreen; + ScrnInfoPtr scrn = xf86_crtc->scrn; ++#ifdef USE_GLAMOR + struct radeon_pixmap *priv = radeon_get_pixmap_private(pixmap); ++#endif + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); + RADEONInfoPtr info = RADEONPTR(scrn); + PixmapPtr screen_pixmap = screen->GetScreenPixmap(screen); +@@ -278,10 +280,13 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, + return FALSE; + #endif + ++#ifdef USE_GLAMOR + if (priv && priv->fb_failed) + return FALSE; ++#endif + + if (!radeon_pixmap_get_fb(pixmap)) { ++#ifdef USE_GLAMOR + if (!priv) + priv = radeon_get_pixmap_private(pixmap); + +@@ -291,6 +296,7 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, + "normal if using PRIME render offloading)\n"); + priv->fb_failed = TRUE; + } ++#endif + + return FALSE; + } +-- +2.31.1 + diff --git a/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch b/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch new file mode 100644 index 00000000000..a969d61913c --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch @@ -0,0 +1,32 @@ +From 5eba006e4129e8015b822f9e1d2f1e613e252cda Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= +Date: Tue, 2 Feb 2021 12:45:54 +0100 +Subject: [PATCH] Only include dri.h with older versions of xserver + +Not needed anymore with current versions. + +Downloaded from upstream commit +https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commit/5eba006e4129e8015b822f9e1d2f1e613e252cda + +Signed-off-by: Bernd Kuhls +--- + src/drmmode_display.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/drmmode_display.c b/src/drmmode_display.c +index 3099a729..a58f24dd 100644 +--- a/src/drmmode_display.c ++++ b/src/drmmode_display.c +@@ -45,7 +45,9 @@ + #include "radeon_glamor.h" + #include "radeon_reg.h" + ++#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,19,99,1,0) + #include ++#endif + + #include "drmmode_display.h" + +-- +GitLab + diff --git a/package/x11r7/xdriver_xf86-video-ati/Config.in b/package/x11r7/xdriver_xf86-video-ati/Config.in index fdf1ebd18b7..1246014dca5 100644 --- a/package/x11r7/xdriver_xf86-video-ati/Config.in +++ b/package/x11r7/xdriver_xf86-video-ati/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI bool "xf86-video-ati" + depends on BR2_i386 || BR2_x86_64 # DRI radeon r100 driver depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_RADEON @@ -10,4 +11,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI ATI video driver comment "xf86-video-ati needs mesa3d" + depends on BR2_i386 || BR2_x86_64 depends on !BR2_PACKAGE_MESA3D diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk index f7aeba8ba66..edb8b11add8 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk @@ -16,9 +16,9 @@ XDRIVER_XF86_VIDEO_ATI_DEPENDENCIES = \ xserver_xorg-server ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yyy) -XDRIVER_XF86_VIDEO_ATI_CONF_OPTS = --enable-glamor +XDRIVER_XF86_VIDEO_ATI_CONF_OPTS += --enable-glamor else -XDRIVER_XF86_VIDEO_ATI_CONF_OPTS = --disable-glamor +XDRIVER_XF86_VIDEO_ATI_CONF_OPTS += --disable-glamor endif # xdriver_xf86-video-ati requires O_CLOEXEC diff --git a/package/x11r7/xdriver_xf86-video-fbturbo/0002-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch b/package/x11r7/xdriver_xf86-video-fbturbo/0002-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch new file mode 100644 index 00000000000..709efba5ab5 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-fbturbo/0002-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch @@ -0,0 +1,160 @@ +From 2186a4e5ed6b8b8f24ebd4d2045df10d1f895999 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Wed, 21 May 2014 09:49:56 -0400 +Subject: [PATCH] Use own thunk functions instead of fbdevHW*Weak + +I plan to remove the Weak functions from a future server. + +Signed-off-by: Adam Jackson +[Upstream https://gitlab.freedesktop.org/xorg/driver/xf86-video-fbdev/-/commit/2673e727063fe28310836f1e6e9eda552930218a + ported to xf86-video-fbturbo] +Signed-off-by: Peter Seiderer +--- + src/fbdev.c | 86 +++++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 71 insertions(+), 15 deletions(-) + +diff --git a/src/fbdev.c b/src/fbdev.c +index 90d9f39..81bd1fb 100644 +--- a/src/fbdev.c ++++ b/src/fbdev.c +@@ -269,6 +269,35 @@ FBDevIdentify(int flags) + xf86PrintChipsets(FBDEV_NAME, "driver for framebuffer", FBDevChipsets); + } + ++static Bool ++fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode) ++{ ++ return fbdevHWSwitchMode(pScrn, mode); ++} ++ ++static void ++fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y) ++{ ++ fbdevHWAdjustFrame(pScrn, x, y); ++} ++ ++static Bool ++fbdevEnterVT(ScrnInfoPtr pScrn) ++{ ++ return fbdevHWEnterVT(pScrn); ++} ++ ++static void ++fbdevLeaveVT(ScrnInfoPtr pScrn) ++{ ++ fbdevHWLeaveVT(pScrn); ++} ++ ++static ModeStatus ++fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags) ++{ ++ return fbdevHWValidMode(pScrn, mode, verbose, flags); ++} + + #ifdef XSERVER_LIBPCIACCESS + static Bool FBDevPciProbe(DriverPtr drv, int entity_num, +@@ -294,11 +323,11 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num, + pScrn->Probe = FBDevProbe; + pScrn->PreInit = FBDevPreInit; + pScrn->ScreenInit = FBDevScreenInit; +- pScrn->SwitchMode = fbdevHWSwitchModeWeak(); +- pScrn->AdjustFrame = fbdevHWAdjustFrameWeak(); +- pScrn->EnterVT = fbdevHWEnterVTWeak(); +- pScrn->LeaveVT = fbdevHWLeaveVTWeak(); +- pScrn->ValidMode = fbdevHWValidModeWeak(); ++ pScrn->SwitchMode = fbdevSwitchMode; ++ pScrn->AdjustFrame = fbdevAdjustFrame; ++ pScrn->EnterVT = fbdevEnterVT; ++ pScrn->LeaveVT = fbdevLeaveVT; ++ pScrn->ValidMode = fbdevValidMode; + + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, + "claimed PCI slot %d@%d:%d:%d\n", +@@ -411,11 +440,11 @@ FBDevProbe(DriverPtr drv, int flags) + pScrn->Probe = FBDevProbe; + pScrn->PreInit = FBDevPreInit; + pScrn->ScreenInit = FBDevScreenInit; +- pScrn->SwitchMode = fbdevHWSwitchModeWeak(); +- pScrn->AdjustFrame = fbdevHWAdjustFrameWeak(); +- pScrn->EnterVT = fbdevHWEnterVTWeak(); +- pScrn->LeaveVT = fbdevHWLeaveVTWeak(); +- pScrn->ValidMode = fbdevHWValidModeWeak(); ++ pScrn->SwitchMode = fbdevSwitchMode; ++ pScrn->AdjustFrame = fbdevAdjustFrame; ++ pScrn->EnterVT = fbdevEnterVT; ++ pScrn->LeaveVT = fbdevLeaveVT; ++ pScrn->ValidMode = fbdevValidMode; + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "using %s\n", dev ? dev : "default device"); +@@ -656,6 +685,17 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) + return TRUE; + } + ++static void ++fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) ++{ ++ shadowUpdateRotatePacked(pScreen, pBuf); ++} ++ ++static void ++fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) ++{ ++ shadowUpdatePacked(pScreen, pBuf); ++} + + static Bool + FBDevCreateScreenResources(ScreenPtr pScreen) +@@ -675,7 +715,7 @@ FBDevCreateScreenResources(ScreenPtr pScreen) + pPixmap = pScreen->GetScreenPixmap(pScreen); + + if (!shadowAdd(pScreen, pPixmap, fPtr->rotate ? +- shadowUpdateRotatePackedWeak() : shadowUpdatePackedWeak(), ++ fbdevUpdateRotatePacked : fbdevUpdatePacked, + FBDevWindowLinear, fPtr->rotate, NULL)) { + return FALSE; + } +@@ -699,6 +739,23 @@ FBDevShadowInit(ScreenPtr pScreen) + return TRUE; + } + ++static void ++fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis) ++{ ++ fbdevHWLoadPalette(pScrn, num, i, col, pVis); ++} ++ ++static void ++fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags) ++{ ++ fbdevHWDPMSSet(pScrn, mode, flags); ++} ++ ++static Bool ++fbdevSaveScreen(ScreenPtr pScreen, int mode) ++{ ++ return fbdevHWSaveScreen(pScreen, mode); ++} + + static Bool + FBDevScreenInit(SCREEN_INIT_ARGS_DECL) +@@ -1025,13 +1082,12 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + return FALSE; + } + flags = CMAP_PALETTED_TRUECOLOR; +- if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPaletteWeak(), +- NULL, flags)) ++ if(!xf86HandleColormaps(pScreen, 256, 8, fbdevLoadPalette, NULL, flags)) + return FALSE; + +- xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0); ++ xf86DPMSInit(pScreen, fbdevDPMSSet, 0); + +- pScreen->SaveScreen = fbdevHWSaveScreenWeak(); ++ pScreen->SaveScreen = fbdevSaveScreen; + + /* Wrap the current CloseScreen function */ + fPtr->CloseScreen = pScreen->CloseScreen; +-- +2.31.1 + diff --git a/package/x11r7/xdriver_xf86-video-fbturbo/0003-Update-for-1.20-ABI.patch b/package/x11r7/xdriver_xf86-video-fbturbo/0003-Update-for-1.20-ABI.patch new file mode 100644 index 00000000000..99ccc7a11f8 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-fbturbo/0003-Update-for-1.20-ABI.patch @@ -0,0 +1,30 @@ +From 5112829fe3f9f4776276800a175bf460061f83b1 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Wed, 30 May 2018 12:31:04 -0400 +Subject: [PATCH] Update for 1.20 ABI + +Signed-off-by: Adam Jackson +[Upstream https://gitlab.freedesktop.org/xorg/driver/xf86-video-fbdev/-/commit/67525c485f3b32ce0c9bff250d905852f75dfc1c + ported to xf86-video-fbturbo] +Signed-off-by: Peter Seiderer +--- + src/fbdev.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/fbdev.c b/src/fbdev.c +index 81bd1fb..489a231 100644 +--- a/src/fbdev.c ++++ b/src/fbdev.c +@@ -1036,7 +1036,9 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "display rotated; disabling DGA\n"); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "using driver rotation; disabling " + "XRandR\n"); ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 24 + xf86DisableRandR(); ++#endif + if (pScrn->bitsPerPixel == 24) + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "rotation might be broken at 24 " + "bits per pixel\n"); +-- +2.31.1 + diff --git a/package/x11r7/xdriver_xf86-video-fbturbo/0004-xorg.conf-add-mandatory-modules-fb-shadow-fbdevhw.patch b/package/x11r7/xdriver_xf86-video-fbturbo/0004-xorg.conf-add-mandatory-modules-fb-shadow-fbdevhw.patch new file mode 100644 index 00000000000..7da36a44721 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-fbturbo/0004-xorg.conf-add-mandatory-modules-fb-shadow-fbdevhw.patch @@ -0,0 +1,53 @@ +From 04d1f756ac1204b8d5be1757499ac3a239bd93e1 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Wed, 2 Jun 2021 21:42:56 +0200 +Subject: [PATCH] xorg.conf: add mandatory modules (fb, shadow, fbdevhw) + +Xorg does not implement real dynamic linking and requires that its +modules get loaded so add mandatory modules: + +- fbdevhw, fixes: + [ 303.906] (II) LoadModule: "fbturbo" + [ 303.906] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so + [ 303.907] (EE) Failed to load /usr/lib/xorg/modules/drivers/fbturbo_drv.so: /usr/lib/xorg/modules/drivers/fbturbo_drv.so: undefined symbol: fbdevHWSave + [ 303.907] (EE) Failed to load module "fbturbo" (loader failed, 0) + [ 303.907] (EE) No drivers available. + +- shadow, fixes: + [ 426.403] (II) LoadModule: "fbturbo" + [ 426.404] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so + [ 426.404] (EE) Failed to load /usr/lib/xorg/modules/drivers/fbturbo_drv.so: /usr/lib/xorg/modules/drivers/fbturbo_drv.so: undefined symbol: shadowRemove + [ 426.404] (EE) Failed to load module "fbturbo" (loader failed, 0) + [ 426.404] (EE) No drivers available. + +- fb, fixes: + [ 471.912] (II) LoadModule: "shadow" + [ 471.913] (II) Loading /usr/lib/xorg/modules/libshadow.so + [ 471.913] (EE) Failed to load /usr/lib/xorg/modules/libshadow.so: /usr/lib/xorg/modules/libshadow.so: undefined symbol: fbGetScreenPrivateKey + [ 471.913] (EE) Failed to load module "shadow" (loader failed, 0) + +Signed-off-by: Peter Seiderer +--- + xorg.conf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/xorg.conf b/xorg.conf +index 6217d11..fda62e3 100644 +--- a/xorg.conf ++++ b/xorg.conf +@@ -8,6 +8,12 @@ + # Run "man fbturbo" to get additional information about the extra + # configuration options for tuning the driver. + ++Section "Module" ++ Load "fb" ++ Load "shadow" ++ Load "fbdevhw" ++EndSection ++ + Section "Device" + Identifier "Allwinner A10/A13 FBDEV" + Driver "fbturbo" +-- +2.31.1 + diff --git a/package/x11r7/xdriver_xf86-video-fbturbo/0005-backing_store_tuner-struct-_Window-backStorage-is-go.patch b/package/x11r7/xdriver_xf86-video-fbturbo/0005-backing_store_tuner-struct-_Window-backStorage-is-go.patch new file mode 100644 index 00000000000..097868ea250 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-fbturbo/0005-backing_store_tuner-struct-_Window-backStorage-is-go.patch @@ -0,0 +1,65 @@ +From 93631c1f68678bf3e860b1bbc6192c8b6ac4c563 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 13 Dec 2021 19:55:08 +0100 +Subject: [PATCH] backing_store_tuner: struct _Window::backStorage is gone + +Fix struct _Window::backStorage related compile failure. + +Since xserver commit 'dix: Remove WindowRec::backStorage ' ([1]) +struct _Window::backStorage is gone, use struct _Window::backingStore instead. + +Fixes: + + backing_store_tuner.c: In function 'xPostValidateTree': + backing_store_tuner.c:112:48: error: 'struct _Window' has no member named 'backStorage' + 112 | if (!private->ForceBackingStore && focusWin->backStorage) { + | ^~ + backing_store_tuner.c:128:20: error: 'struct _Window' has no member named 'backStorage' + 128 | if (!curWin->backStorage && (private->ForceBackingStore || + | ^~ + backing_store_tuner.c: In function 'xReparentWindow': + backing_store_tuner.c:161:46: error: 'struct _Window' has no member named 'backStorage' + 161 | if (pPriorParent == pScreen->root && pWin->backStorage) { + | ^~ + +[1] https://gitlab.freedesktop.org/xorg/xserver/-/commit/6975807945d12c07f00e18df7fafeff43efa0267 + +Signed-off-by: Peter Seiderer +--- + src/backing_store_tuner.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/backing_store_tuner.c b/src/backing_store_tuner.c +index 067c05f..13f7ec3 100644 +--- a/src/backing_store_tuner.c ++++ b/src/backing_store_tuner.c +@@ -109,7 +109,7 @@ xPostValidateTree(WindowPtr pWin, WindowPtr pLayerWin, VTKind kind) + private->PostValidateTreeNestingLevel++; + + /* Disable backing store for the focus window */ +- if (!private->ForceBackingStore && focusWin->backStorage) { ++ if (!private->ForceBackingStore && (focusWin->backingStore != NotUseful)) { + DebugMsg("Disable backing store for the focus window 0x%x\n", + (unsigned int)focusWin->drawable.id); + pScreen->backingStoreSupport = Always; +@@ -125,7 +125,7 @@ xPostValidateTree(WindowPtr pWin, WindowPtr pLayerWin, VTKind kind) + /* And enable backing store for all the other children of root */ + curWin = pScreen->root->firstChild; + while (curWin) { +- if (!curWin->backStorage && (private->ForceBackingStore || ++ if ((curWin->backingStore == NotUseful) && (private->ForceBackingStore || + curWin != focusWin)) { + DebugMsg("Enable backing store for window 0x%x\n", + (unsigned int)curWin->drawable.id); +@@ -158,7 +158,7 @@ xReparentWindow(WindowPtr pWin, WindowPtr pPriorParent) + } + + /* We only want backing store set for direct children of root */ +- if (pPriorParent == pScreen->root && pWin->backStorage) { ++ if (pPriorParent == pScreen->root && (pWin->backingStore != NotUseful)) { + DebugMsg("Reparent window 0x%x from root, disabling backing store\n", + (unsigned int)pWin->drawable.id); + pScreen->backingStoreSupport = Always; +-- +2.34.1 + diff --git a/package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch b/package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch index 05be6b32ac0..90af6bf5292 100644 --- a/package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch +++ b/package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch @@ -1,7 +1,7 @@ From fc7f191a1a0f290a4e808dd8f9bd58ba1dbd2be4 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Sat, 29 Dec 2012 18:00:36 -0200 -Subject: [PATCH 1/2] ext: Update to newer swap macros +Subject: [PATCH] ext: Update to newer swap macros The swap macros now use an internal temporary variable so we need to adapt the code according. diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash index 4e41bda154b..26002a7966b 100644 --- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash +++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e121871de0396caff0349d761033aa4c0618d27b1ad5d79dab6c8246d9fb50d1 xdriver_xf86-video-intel-5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc-br1.tar.gz +sha256 11f48628d2b1f495446c49df93de40569ced664c6fdbd5d3f8f7a863e4a1124c xdriver_xf86-video-intel-31486f40f8e8f8923ca0799aea84b58799754564-br1.tar.gz sha256 5808e89f4b9a30afc59f335bfa8219ecf2dacb89a81d16b322bc6d92993a48fa COPYING diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk index ac598cf0fbd..d911234c924 100644 --- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_INTEL_VERSION = 5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc +XDRIVER_XF86_VIDEO_INTEL_VERSION = 31486f40f8e8f8923ca0799aea84b58799754564 XDRIVER_XF86_VIDEO_INTEL_SITE = git://anongit.freedesktop.org/xorg/driver/xf86-video-intel XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING @@ -21,6 +21,7 @@ XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS = \ --enable-sna \ --disable-xaa \ --disable-dga \ + --disable-tools \ --disable-async-swap XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = \ diff --git a/package/x11r7/xdriver_xf86-video-mach64/0002-Rename-bool-to-boolean-for-OptionInfoRec.patch b/package/x11r7/xdriver_xf86-video-mach64/0002-Rename-bool-to-boolean-for-OptionInfoRec.patch new file mode 100644 index 00000000000..fe3e21f8c2a --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-mach64/0002-Rename-bool-to-boolean-for-OptionInfoRec.patch @@ -0,0 +1,84 @@ +From 3ab2c144ef34199ceaf95115538a67f932e76f7d Mon Sep 17 00:00:00 2001 +From: Josselin Poiret +Date: Thu, 18 Nov 2021 13:18:25 +0000 +Subject: [PATCH] Rename bool to boolean for OptionInfoRec. + +* src/aticonfig.c: Change uses of .value.bool to .value.boolean + +Downloaded from upstream commit +https://gitlab.freedesktop.org/xorg/driver/xf86-video-mach64/-/commit/3ab2c144ef34199ceaf95115538a67f932e76f7d + +Signed-off-by: Bernd Kuhls +--- + src/aticonfig.c | 38 +++++++++++++++++++------------------- + 1 file changed, 19 insertions(+), 19 deletions(-) + +diff --git a/src/aticonfig.c b/src/aticonfig.c +index bad6474..6995b9a 100644 +--- a/src/aticonfig.c ++++ b/src/aticonfig.c +@@ -311,42 +311,42 @@ ATIProcessOptions + + (void)memcpy(PublicOption, ATIPublicOptions, ATIPublicOptionSize); + +-# define ProbeSparse PublicOption[ATI_OPTION_PROBE_SPARSE].value.bool +-# define Accel PublicOption[ATI_OPTION_ACCEL].value.bool +-# define BIOSDisplay PrivateOption[ATI_OPTION_BIOS_DISPLAY].value.bool +-# define Blend PrivateOption[ATI_OPTION_BLEND].value.bool +-# define CRTDisplay PublicOption[ATI_OPTION_CRT_DISPLAY].value.bool +-# define CRTScreen PrivateOption[ATI_OPTION_CRT_SCREEN].value.bool +-# define CSync PublicOption[ATI_OPTION_CSYNC].value.bool +-# define Devel PrivateOption[ATI_OPTION_DEVEL].value.bool +-# define HWCursor PublicOption[ATI_OPTION_HWCURSOR].value.bool ++# define ProbeSparse PublicOption[ATI_OPTION_PROBE_SPARSE].value.boolean ++# define Accel PublicOption[ATI_OPTION_ACCEL].value.boolean ++# define BIOSDisplay PrivateOption[ATI_OPTION_BIOS_DISPLAY].value.boolean ++# define Blend PrivateOption[ATI_OPTION_BLEND].value.boolean ++# define CRTDisplay PublicOption[ATI_OPTION_CRT_DISPLAY].value.boolean ++# define CRTScreen PrivateOption[ATI_OPTION_CRT_SCREEN].value.boolean ++# define CSync PublicOption[ATI_OPTION_CSYNC].value.boolean ++# define Devel PrivateOption[ATI_OPTION_DEVEL].value.boolean ++# define HWCursor PublicOption[ATI_OPTION_HWCURSOR].value.boolean + + #ifdef XF86DRI_DEVEL + +-# define IsPCI PublicOption[ATI_OPTION_IS_PCI].value.bool ++# define IsPCI PublicOption[ATI_OPTION_IS_PCI].value.boolean + # define DMAMode PublicOption[ATI_OPTION_DMA_MODE].value.str + # define AGPMode PublicOption[ATI_OPTION_AGP_MODE].value.num + # define AGPSize PublicOption[ATI_OPTION_AGP_SIZE].value.num +-# define LocalTex PublicOption[ATI_OPTION_LOCAL_TEXTURES].value.bool ++# define LocalTex PublicOption[ATI_OPTION_LOCAL_TEXTURES].value.boolean + # define BufferSize PublicOption[ATI_OPTION_BUFFER_SIZE].value.num + + #endif /* XF86DRI_DEVEL */ + + #ifdef TV_OUT + +-# define TvOut PublicOption[ATI_OPTION_TV_OUT].value.bool ++# define TvOut PublicOption[ATI_OPTION_TV_OUT].value.boolean + # define TvStd PublicOption[ATI_OPTION_TV_STD].value.str + + #endif /* TV_OUT */ + +-# define CacheMMIO PublicOption[ATI_OPTION_MMIO_CACHE].value.bool +-# define TestCacheMMIO PublicOption[ATI_OPTION_TEST_MMIO_CACHE].value.bool +-# define PanelDisplay PublicOption[ATI_OPTION_PANEL_DISPLAY].value.bool +-# define ShadowFB PublicOption[ATI_OPTION_SHADOW_FB].value.bool +-# define SWCursor PublicOption[ATI_OPTION_SWCURSOR].value.bool ++# define CacheMMIO PublicOption[ATI_OPTION_MMIO_CACHE].value.boolean ++# define TestCacheMMIO PublicOption[ATI_OPTION_TEST_MMIO_CACHE].value.boolean ++# define PanelDisplay PublicOption[ATI_OPTION_PANEL_DISPLAY].value.boolean ++# define ShadowFB PublicOption[ATI_OPTION_SHADOW_FB].value.boolean ++# define SWCursor PublicOption[ATI_OPTION_SWCURSOR].value.boolean + # define AccelMethod PublicOption[ATI_OPTION_ACCELMETHOD].value.str +-# define RenderAccel PublicOption[ATI_OPTION_RENDER_ACCEL].value.bool +-# define LCDSync PrivateOption[ATI_OPTION_LCDSYNC].value.bool ++# define RenderAccel PublicOption[ATI_OPTION_RENDER_ACCEL].value.boolean ++# define LCDSync PrivateOption[ATI_OPTION_LCDSYNC].value.boolean + + # define ReferenceClock \ + PublicOption[ATI_OPTION_REFERENCE_CLOCK].value.freq.freq +-- +GitLab + diff --git a/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk b/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk index e6f8d7471c4..eee8fec2e80 100644 --- a/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk +++ b/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk @@ -13,7 +13,7 @@ XDRIVER_XF86_VIDEO_MACH64_AUTORECONF = YES XDRIVER_XF86_VIDEO_MACH64_DEPENDENCIES = xserver_xorg-server xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) -XDRIVER_XF86_VIDEO_MACH64_CONF_OPTS = --disable-dri +XDRIVER_XF86_VIDEO_MACH64_CONF_OPTS += --disable-dri endif $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk index 2720848a178..3c668a5c988 100644 --- a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk +++ b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk @@ -13,7 +13,7 @@ XDRIVER_XF86_VIDEO_MGA_AUTORECONF = YES XDRIVER_XF86_VIDEO_MGA_DEPENDENCIES = xserver_xorg-server libdrm xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) -XDRIVER_XF86_VIDEO_MGA_CONF_OPTS = --disable-dri +XDRIVER_XF86_VIDEO_MGA_CONF_OPTS += --disable-dri endif $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch b/package/x11r7/xdriver_xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch new file mode 100644 index 00000000000..96be4909e7e --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch @@ -0,0 +1,68 @@ +From e80e73ced69b15662103d0fd6837db4ce6c6eb5b Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Mon, 13 Jul 2020 09:20:15 +1000 +Subject: [PATCH] nouveau: fixup driver for new X server ABI + +Downloaded from upstream commit +https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/commit/e80e73ced69b15662103d0fd6837db4ce6c6eb5b + +Signed-off-by: Bernd Kuhls +--- + src/compat-api.h | 4 ++++ + src/nouveau_exa.c | 2 +- + src/nv_driver.c | 6 +++--- + 3 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/compat-api.h b/src/compat-api.h +index fde2f4b..8a1fcf9 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -102,4 +102,8 @@ + + #endif + ++#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2) ++#define secondary_dst slave_dst ++#endif ++ + #endif +diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c +index 55df6f8..db3b112 100644 +--- a/src/nouveau_exa.c ++++ b/src/nouveau_exa.c +@@ -157,7 +157,7 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv) + + #ifdef NOUVEAU_PIXMAP_SHARING + static Bool +-nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **handle_p) ++nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr secondary, void **handle_p) + { + struct nouveau_bo *bo = nouveau_pixmap_bo(ppix); + struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix); +diff --git a/src/nv_driver.c b/src/nv_driver.c +index e72a6b6..f9ab4af 100644 +--- a/src/nv_driver.c ++++ b/src/nv_driver.c +@@ -559,16 +559,16 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty) + { + RegionRec pixregion; + +- PixmapRegionInit(&pixregion, dirty->slave_dst); ++ PixmapRegionInit(&pixregion, dirty->secondary_dst); + +- DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion); ++ DamageRegionAppend(&dirty->secondary_dst->drawable, &pixregion); + #ifdef HAS_DIRTYTRACKING_ROTATION + PixmapSyncDirtyHelper(dirty); + #else + PixmapSyncDirtyHelper(dirty, &pixregion); + #endif + +- DamageRegionProcessPending(&dirty->slave_dst->drawable); ++ DamageRegionProcessPending(&dirty->secondary_dst->drawable); + RegionUninit(&pixregion); + } + +-- +GitLab + diff --git a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash index b70728f9b71..336f29be462 100644 --- a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash +++ b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash @@ -1,7 +1,6 @@ -# From https://lists.freedesktop.org/archives/nouveau/2019-January/032053.html -md5 ecd9be89d853301167e3d564c49f7a8e xf86-video-nouveau-1.0.16.tar.bz2 -sha1 a2d19439ceed315079207a62c6888a12e8489995 xf86-video-nouveau-1.0.16.tar.bz2 -sha256 304060806415579cdb5c1f71f1c54d11cacb431b5552b170decbc883ed43bf06 xf86-video-nouveau-1.0.16.tar.bz2 -sha512 41b7839c37372660968ab7da2bc3d9feef3cab4e994d05d4ba6e59071f0d1b1f8d7dcdbcb15a42a375a556d28dc067f9ffe45d73c1d121ad307d199107ade3e0 xf86-video-nouveau-1.0.16.tar.bz2 +# From https://lists.freedesktop.org/archives/nouveau/2021-January/037766.html +sha256 499322e27a55c8183166bf2dd1e47d085eb834143e0d7036baba8427b90c156b xf86-video-nouveau-1.0.17.tar.bz2 +sha512 adba58ba5298d1a5b3f9f8540f9ef2cb2e10e47bba8e374103ec2e1f92e915f5f4393ed0021168cd649646e12315135a1efcdf77e8fb1648e1295914d87279b2 xf86-video-nouveau-1.0.17.tar.bz2 + # Locally computed -sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING +sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING diff --git a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk index d85cbfe4a41..e63bc611bfd 100644 --- a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk +++ b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_NOUVEAU_VERSION = 1.0.16 +XDRIVER_XF86_VIDEO_NOUVEAU_VERSION = 1.0.17 XDRIVER_XF86_VIDEO_NOUVEAU_SOURCE = xf86-video-nouveau-$(XDRIVER_XF86_VIDEO_NOUVEAU_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_NOUVEAU_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_NOUVEAU_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-qxl/0001-Fix-a-build-error-with-Xorg-master.patch b/package/x11r7/xdriver_xf86-video-qxl/0001-Fix-a-build-error-with-Xorg-master.patch new file mode 100644 index 00000000000..d3257fba204 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-qxl/0001-Fix-a-build-error-with-Xorg-master.patch @@ -0,0 +1,106 @@ +From 4e1963a812f2c1777ba5d56ea9e939a3e40a0496 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + +Date: Sat, 28 Aug 2021 15:38:40 +0200 +Subject: [PATCH] Fix a build error with Xorg master +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use xf86ReturnOptValBool() in get_bool_option() instead of +options[option_index].value.bool to fix a compiler error with +current Xorg xserver master branch. + +Also use xf86GetOptValInteger() in get_int_option() and +xf86GetOptValString() in get_str_option() for consistency. + +The change causes a slight performance drop during option parsing +because the passed-in index_value is no longer used as an index +into the options array. + +Instead, it's used as a token now for the standard option getter +functions which works since the index_value to the get_*_option() +functions are identical to the value of options[n].token in the +passed-in OptionInfoRec array. + +Also rename "int option_index" to "int token" for clarity in all +three functions. + +Signed-off-by: Zoltán Böszörményi + +Downloaded from upstream commit +https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/-/commit/4e1963a812f2c1777ba5d56ea9e939a3e40a0496 + +Signed-off-by: Bernd Kuhls +--- + src/qxl_option_helpers.c | 13 +++++++------ + src/qxl_option_helpers.h | 6 +++--- + 2 files changed, 10 insertions(+), 9 deletions(-) + +diff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c +index 2aba677..7707b7c 100644 +--- a/src/qxl_option_helpers.c ++++ b/src/qxl_option_helpers.c +@@ -10,31 +10,32 @@ + + #include "qxl_option_helpers.h" + +-int get_int_option(OptionInfoPtr options, int option_index, ++int get_int_option(OptionInfoPtr options, int token, + const char *env_name) + { ++ int value; + if (env_name && getenv(env_name)) { + return atoi(getenv(env_name)); + } +- return options[option_index].value.num; ++ return xf86GetOptValInteger(options, token, &value) ? value : 0; + } + +-const char *get_str_option(OptionInfoPtr options, int option_index, ++const char *get_str_option(OptionInfoPtr options, int token, + const char *env_name) + { + if (getenv(env_name)) { + return getenv(env_name); + } +- return options[option_index].value.str; ++ return xf86GetOptValString(options, token); + } + +-int get_bool_option(OptionInfoPtr options, int option_index, ++int get_bool_option(OptionInfoPtr options, int token, + const char *env_name) + { + const char* value = getenv(env_name); + + if (!value) { +- return options[option_index].value.bool; ++ return xf86ReturnOptValBool(options, token, FALSE); + } + if (strcmp(value, "0") == 0 || + strcasecmp(value, "off") == 0 || +diff --git a/src/qxl_option_helpers.h b/src/qxl_option_helpers.h +index 7c54c72..66d0a17 100644 +--- a/src/qxl_option_helpers.h ++++ b/src/qxl_option_helpers.h +@@ -4,13 +4,13 @@ + #include + #include + +-int get_int_option(OptionInfoPtr options, int option_index, ++int get_int_option(OptionInfoPtr options, int token, + const char *env_name); + +-const char *get_str_option(OptionInfoPtr options, int option_index, ++const char *get_str_option(OptionInfoPtr options, int token, + const char *env_name); + +-int get_bool_option(OptionInfoPtr options, int option_index, ++int get_bool_option(OptionInfoPtr options, int token, + const char *env_name); + + #endif // OPTION_HELPERS_H +-- +GitLab + diff --git a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk index 455cfbad862..690041d4c62 100644 --- a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk +++ b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk @@ -12,7 +12,7 @@ XDRIVER_XF86_VIDEO_R128_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_R128_DEPENDENCIES = xserver_xorg-server xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) -XDRIVER_XF86_VIDEO_R128_CONF_OPTS = --disable-dri +XDRIVER_XF86_VIDEO_R128_CONF_OPTS += --disable-dri endif $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk index d7311aa9182..102aa2c48e9 100644 --- a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk +++ b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk @@ -13,7 +13,7 @@ XDRIVER_XF86_VIDEO_SAVAGE_AUTORECONF = YES XDRIVER_XF86_VIDEO_SAVAGE_DEPENDENCIES = xserver_xorg-server libdrm xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) -XDRIVER_XF86_VIDEO_SAVAGE_CONF_OPTS = --disable-dri +XDRIVER_XF86_VIDEO_SAVAGE_CONF_OPTS += --disable-dri endif $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk b/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk index 8975334f90a..14c40e4d897 100644 --- a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk +++ b/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk @@ -16,7 +16,7 @@ XDRIVER_XF86_VIDEO_TDFX_DEPENDENCIES = \ xserver_xorg-server ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) -XDRIVER_XF86_VIDEO_TDFX_CONF_OPTS = --disable-dri +XDRIVER_XF86_VIDEO_TDFX_CONF_OPTS += --disable-dri endif $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-trident/0001-Remove-ramdac.patch b/package/x11r7/xdriver_xf86-video-trident/0001-Remove-ramdac.patch new file mode 100644 index 00000000000..38ca9afebfe --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-trident/0001-Remove-ramdac.patch @@ -0,0 +1,56 @@ +From 07a5c4732f1c28ffcb873ee04500e3cb813c50b4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 7 Dec 2021 22:28:04 +0100 +Subject: [PATCH] Remove ramdac + +ramdac drivers have been removed from xserver since version 21.0.99.1 +and +https://gitlab.freedesktop.org/xorg/xserver/-/commit/f0385fb420158ac3bc1c4c325431ffc5c62344bb +resulting in the following build failure: + +In file included from trident_bank.c:37: +trident.h:41:10: fatal error: xf86RamDac.h: No such file or directory + 41 | #include "xf86RamDac.h" + | ^~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/c81ac8075af257e8626d9d097270be7a7b4a1496 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.freedesktop.org/xorg/driver/xf86-video-trident/-/merge_requests/1] +--- + src/trident.h | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/trident.h b/src/trident.h +index 5cadf52..c82de4c 100644 +--- a/src/trident.h ++++ b/src/trident.h +@@ -38,7 +38,6 @@ + #include "xaa.h" + #endif + #include "xf86fbman.h" +-#include "xf86RamDac.h" + #include "compiler.h" + #include "vgaHW.h" + #include "xf86i2c.h" +@@ -103,7 +102,6 @@ typedef struct { + int useEXA; + int Chipset; + int DACtype; +- int RamDac; + int ChipRev; + int HwBpp; + int BppShift; +@@ -169,7 +167,6 @@ typedef struct { + CARD32 BltScanDirection; + CARD32 DrawFlag; + CARD16 LinePattern; +- RamDacRecPtr RamDacRec; + int CursorOffset; + xf86CursorInfoPtr CursorInfoRec; + xf86Int10InfoPtr Int10; +-- +2.33.0 + diff --git a/package/x11r7/xkeyboard-config/xkeyboard-config.hash b/package/x11r7/xkeyboard-config/xkeyboard-config.hash index 3cbd1911816..a5ae7a70397 100644 --- a/package/x11r7/xkeyboard-config/xkeyboard-config.hash +++ b/package/x11r7/xkeyboard-config/xkeyboard-config.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 da44181f2c8828789c720decf7d13acb3c3950e2a040af5132f50f04bb6aada3 xkeyboard-config-2.31.tar.bz2 +sha256 b321d27686ee7e6610ffe7b56e28d5bbf60625a1f595124cd320c0caa717b8ce xkeyboard-config-2.34.tar.bz2 sha256 6ca90f4b67dced4062894d6d77f4cc39343df9e359fc12f5e5d3c89ef2a3ef6d COPYING diff --git a/package/x11r7/xkeyboard-config/xkeyboard-config.mk b/package/x11r7/xkeyboard-config/xkeyboard-config.mk index f192836d1ad..fe46dae3b7d 100644 --- a/package/x11r7/xkeyboard-config/xkeyboard-config.mk +++ b/package/x11r7/xkeyboard-config/xkeyboard-config.mk @@ -4,7 +4,7 @@ # ################################################################################ -XKEYBOARD_CONFIG_VERSION = 2.31 +XKEYBOARD_CONFIG_VERSION = 2.34 XKEYBOARD_CONFIG_SOURCE = xkeyboard-config-$(XKEYBOARD_CONFIG_VERSION).tar.bz2 XKEYBOARD_CONFIG_SITE = https://www.x.org/releases/individual/data/xkeyboard-config XKEYBOARD_CONFIG_LICENSE = MIT diff --git a/package/x11r7/xlib_libFS/xlib_libFS.mk b/package/x11r7/xlib_libFS/xlib_libFS.mk index 9cc93e0fe15..9d9aecb74fe 100644 --- a/package/x11r7/xlib_libFS/xlib_libFS.mk +++ b/package/x11r7/xlib_libFS/xlib_libFS.mk @@ -9,6 +9,8 @@ XLIB_LIBFS_SOURCE = libFS-$(XLIB_LIBFS_VERSION).tar.bz2 XLIB_LIBFS_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBFS_LICENSE = MIT XLIB_LIBFS_LICENSE_FILES = COPYING +XLIB_LIBFS_CPE_ID_VENDOR = x +XLIB_LIBFS_CPE_ID_PRODUCT = libfs XLIB_LIBFS_INSTALL_STAGING = YES XLIB_LIBFS_DEPENDENCIES = xlib_xtrans xorgproto host-pkgconf XLIB_LIBFS_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libICE/xlib_libICE.mk b/package/x11r7/xlib_libICE/xlib_libICE.mk index 0b1f8ade175..2b56aaab984 100644 --- a/package/x11r7/xlib_libICE/xlib_libICE.mk +++ b/package/x11r7/xlib_libICE/xlib_libICE.mk @@ -9,6 +9,8 @@ XLIB_LIBICE_SOURCE = libICE-$(XLIB_LIBICE_VERSION).tar.bz2 XLIB_LIBICE_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBICE_LICENSE = MIT XLIB_LIBICE_LICENSE_FILES = COPYING +XLIB_LIBICE_CPE_ID_VENDOR = freedesktop +XLIB_LIBICE_CPE_ID_PRODUCT = libice XLIB_LIBICE_INSTALL_STAGING = YES XLIB_LIBICE_DEPENDENCIES = xlib_xtrans xorgproto host-pkgconf diff --git a/package/x11r7/xlib_libX11/xlib_libX11.hash b/package/x11r7/xlib_libX11/xlib_libX11.hash index 5b1162f4c5e..126be07f031 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.hash +++ b/package/x11r7/xlib_libX11/xlib_libX11.hash @@ -1,6 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2020-November/003065.html -sha256 36c8f93b6595437c8cfbc9f08618bcb3041cbd303e140a0013f88e4c2977cb54 libX11-1.7.0.tar.bz2 -sha512 f661ca90350fd8a94f054b00f12f5122cea068ebff706acfd399462236c189a296a2358d17d16166635101cf56cc19303dd407873a159932d093c9f33556f9fb libX11-1.7.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-December/003121.html +sha256 2ffd417266fb875028fdc0ef349694f63dbcd76d0b0cfacfb52e6151f4b60989 libX11-1.7.3.1.tar.xz +sha512 a2620076db4bf35ab94706c8ab714e9c3fecbdd533cf99cdffeabaf49a1a1d30a233eb2dc76da51b01d50c43f11780aa3b2936668d982a33fa7d5008be44e25b libX11-1.7.3.1.tar.xz # Locally computed sha256 2daec087a88e7c9b8082557cdeebad5bbb8155a4137472f0b22e269cd99d0c1e COPYING diff --git a/package/x11r7/xlib_libX11/xlib_libX11.mk b/package/x11r7/xlib_libX11/xlib_libX11.mk index 8fefbc492a7..a8dc7f3668d 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.mk +++ b/package/x11r7/xlib_libX11/xlib_libX11.mk @@ -4,8 +4,8 @@ # ################################################################################ -XLIB_LIBX11_VERSION = 1.7.0 -XLIB_LIBX11_SOURCE = libX11-$(XLIB_LIBX11_VERSION).tar.bz2 +XLIB_LIBX11_VERSION = 1.7.3.1 +XLIB_LIBX11_SOURCE = libX11-$(XLIB_LIBX11_VERSION).tar.xz XLIB_LIBX11_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBX11_LICENSE = MIT XLIB_LIBX11_LICENSE_FILES = COPYING diff --git a/package/x11r7/xlib_libXaw/xlib_libXaw.hash b/package/x11r7/xlib_libXaw/xlib_libXaw.hash index 159e007bc35..f289e661530 100644 --- a/package/x11r7/xlib_libXaw/xlib_libXaw.hash +++ b/package/x11r7/xlib_libXaw/xlib_libXaw.hash @@ -1,4 +1,6 @@ -# From http://lists.x.org/archives/xorg-announce/2015-April/002591.html -sha256 8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd libXaw-1.0.13.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-March/003077.html +sha256 76aef98ea3df92615faec28004b5ce4e5c6855e716fa16de40c32030722a6f8e libXaw-1.0.14.tar.bz2 +sha512 29d1c151369523ae6cb418e636b0b7b39ccccc35462a0b394dbeb46d5b6d780badd2eb872a55d9fbba1ee1af034e76c0463f40f8d8a7be2c336d08b3b1bf81d4 libXaw-1.0.14.tar.bz2 + # Locally calculated -sha256 9f5adb26952f93b3e4650285b94ec6c61a27aab5a21088bfb6694001be1b360d COPYING +sha256 9f5adb26952f93b3e4650285b94ec6c61a27aab5a21088bfb6694001be1b360d COPYING diff --git a/package/x11r7/xlib_libXaw/xlib_libXaw.mk b/package/x11r7/xlib_libXaw/xlib_libXaw.mk index 17d51a95701..6b615a8de5e 100644 --- a/package/x11r7/xlib_libXaw/xlib_libXaw.mk +++ b/package/x11r7/xlib_libXaw/xlib_libXaw.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXAW_VERSION = 1.0.13 +XLIB_LIBXAW_VERSION = 1.0.14 XLIB_LIBXAW_SOURCE = libXaw-$(XLIB_LIBXAW_VERSION).tar.bz2 XLIB_LIBXAW_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXAW_LICENSE = MIT diff --git a/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk b/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk index 9bbd460c9d1..79d99040109 100644 --- a/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk +++ b/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk @@ -10,6 +10,8 @@ XLIB_LIBXCURSOR_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXCURSOR_LICENSE = MIT XLIB_LIBXCURSOR_LICENSE_FILES = COPYING XLIB_LIBXCURSOR_INSTALL_STAGING = YES +XLIB_LIBXCURSOR_CPE_ID_VENDOR = x +XLIB_LIBXCURSOR_CPE_ID_PRODUCT = libxcursor XLIB_LIBXCURSOR_DEPENDENCIES = xlib_libX11 xlib_libXfixes xlib_libXrender xorgproto HOST_XLIB_LIBXCURSOR_DEPENDENCIES = \ host-xlib_libX11 host-xlib_libXfixes host-xlib_libXrender \ diff --git a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk index 1182903e873..51db9908e5f 100644 --- a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk +++ b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk @@ -9,6 +9,8 @@ XLIB_LIBXDMCP_SOURCE = libXdmcp-$(XLIB_LIBXDMCP_VERSION).tar.bz2 XLIB_LIBXDMCP_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXDMCP_LICENSE = MIT XLIB_LIBXDMCP_LICENSE_FILES = COPYING +XLIB_LIBXDMCP_CPE_ID_VENDOR = x.org +XLIB_LIBXDMCP_CPE_ID_PRODUCT = libxdmcp XLIB_LIBXDMCP_INSTALL_STAGING = YES XLIB_LIBXDMCP_DEPENDENCIES = xutil_util-macros xorgproto host-pkgconf HOST_XLIB_LIBXDMCP_DEPENDENCIES = host-xutil_util-macros host-xorgproto host-pkgconf diff --git a/package/x11r7/xlib_libXext/xlib_libXext.mk b/package/x11r7/xlib_libXext/xlib_libXext.mk index c63a3b23ccb..6002e59e0dd 100644 --- a/package/x11r7/xlib_libXext/xlib_libXext.mk +++ b/package/x11r7/xlib_libXext/xlib_libXext.mk @@ -9,6 +9,8 @@ XLIB_LIBXEXT_SOURCE = libXext-$(XLIB_LIBXEXT_VERSION).tar.bz2 XLIB_LIBXEXT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXEXT_LICENSE = MIT XLIB_LIBXEXT_LICENSE_FILES = COPYING +XLIB_LIBXEXT_CPE_ID_VENDOR = x +XLIB_LIBXEXT_CPE_ID_PRODUCT = libxext XLIB_LIBXEXT_INSTALL_STAGING = YES XLIB_LIBXEXT_DEPENDENCIES = xlib_libX11 xorgproto XLIB_LIBXEXT_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash b/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash index d655be4f715..f40c5229038 100644 --- a/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash +++ b/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash @@ -1,5 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2016-October/002722.html -sha256 de1cd33aff226e08cefd0e6759341c2c8e8c9faf8ce9ac6ec38d43e287b22ad6 libXfixes-5.0.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-May/003086.html +sha256 a7c1a24da53e0b46cac5aea79094b4b2257321c621b258729bc3139149245b4c libXfixes-6.0.0.tar.bz2 +sha512 1985ef156f382e9a7e1cc7e044e0f626de1e4c82557a511cbcf6431994c0ac25b1f8b3a0293bd3089331593db8ce01d3a71ddec68f19b5fe6029d5082fb6885d libXfixes-6.0.0.tar.bz2 # Locally calculated sha256 d64e671ffeb483d4543f98c842788ab34c77427e27d83d6b082065a4438d4885 COPYING diff --git a/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk b/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk index f563ba34ecb..c0229b57d2e 100644 --- a/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk +++ b/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk @@ -4,11 +4,13 @@ # ################################################################################ -XLIB_LIBXFIXES_VERSION = 5.0.3 +XLIB_LIBXFIXES_VERSION = 6.0.0 XLIB_LIBXFIXES_SOURCE = libXfixes-$(XLIB_LIBXFIXES_VERSION).tar.bz2 XLIB_LIBXFIXES_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFIXES_LICENSE = MIT XLIB_LIBXFIXES_LICENSE_FILES = COPYING +XLIB_LIBXFIXES_CPE_ID_VENDOR = x +XLIB_LIBXFIXES_CPE_ID_PRODUCT = libxfixes XLIB_LIBXFIXES_INSTALL_STAGING = YES XLIB_LIBXFIXES_DEPENDENCIES = xlib_libX11 xorgproto HOST_XLIB_LIBXFIXES_DEPENDENCIES = \ diff --git a/package/x11r7/xlib_libXfont2/0001-configure-define-HAVE_LIBBSD-when-libbsd-was-found.patch b/package/x11r7/xlib_libXfont2/0001-configure-define-HAVE_LIBBSD-when-libbsd-was-found.patch deleted file mode 100644 index 51e7225be6b..00000000000 --- a/package/x11r7/xlib_libXfont2/0001-configure-define-HAVE_LIBBSD-when-libbsd-was-found.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 5fceeeb0d1cdccdb2870f65444f2965344f3b8b9 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 19 Oct 2019 09:32:41 +0200 -Subject: [PATCH] configure: define HAVE_LIBBSD when libbsd was found - -Patch sent upstream: -https://gitlab.freedesktop.org/xorg/lib/libxfont/merge_requests/6 - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/configure.ac b/configure.ac -index f507c28..cc7ca91 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -53,6 +53,9 @@ AC_CHECK_HEADERS([endian.h poll.h sys/poll.h]) - # Checks for library functions. - AC_CHECK_FUNCS([poll readlink]) - AC_SEARCH_LIBS([strlcat], [bsd]) -+if test "$ac_cv_search_strlcat" = "-lbsd"; then -+ AC_DEFINE(HAVE_LIBBSD,1,[Has libbsd]) -+fi - AC_CONFIG_LIBOBJ_DIR([src/util]) - AC_REPLACE_FUNCS([reallocarray strlcat strlcpy]) - --- -2.20.1 - diff --git a/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash b/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash index 634affdfdb3..069f2fc616c 100644 --- a/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash +++ b/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash @@ -1,8 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-September/003022.html -md5 00516bed7ec1453d56974560379fff2f libXfont2-2.0.4.tar.bz2 -sha1 9e00ae7589315656435efaf330128facad7c4a57 libXfont2-2.0.4.tar.bz2 -sha256 6d151b3368e5035efede4b6264c0fdc6662c1c99dbc2de425e3480cababc69e6 libXfont2-2.0.4.tar.bz2 -sha512 7cf6c58e520e48e24fc4f05fec760fcbeaaac0cedeed57dded262c855e1515cc34cd033222945a0b016f6857b83009fc2a6946c7d632c2f7bb0060f8e8a8a106 libXfont2-2.0.4.tar.bz2 - +# From https://lists.x.org/archives/xorg-announce/2021-August/003103.html +sha256 aa7c6f211cf7215c0ab4819ed893dc98034363d7b930b844bb43603c2e10b53e libXfont2-2.0.5.tar.bz2 +sha512 64d0635d14676bb645d61932afb177eb3808a46525b26e7ee31abc975eca75207743e85523fdd82b08010ce124eb4802338b508ee7b126875d2a3c12f8ac4faa libXfont2-2.0.5.tar.bz2 # Locally calculated -sha256 97e413bb4962bbb5773085cd5405502bf1d4eadeaf98ff5be015eacacc840462 COPYING +sha256 97e413bb4962bbb5773085cd5405502bf1d4eadeaf98ff5be015eacacc840462 COPYING diff --git a/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk b/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk index 611b8af5486..fb0bba879cd 100644 --- a/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk +++ b/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk @@ -4,14 +4,14 @@ # ################################################################################ -XLIB_LIBXFONT2_VERSION = 2.0.4 +XLIB_LIBXFONT2_VERSION = 2.0.5 XLIB_LIBXFONT2_SOURCE = libXfont2-$(XLIB_LIBXFONT2_VERSION).tar.bz2 -XLIB_LIBXFONT2_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXFONT2_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXFONT2_LICENSE = MIT XLIB_LIBXFONT2_LICENSE_FILES = COPYING +XLIB_LIBXFONT2_CPE_ID_VENDOR = x +XLIB_LIBXFONT2_CPE_ID_PRODUCT = libxfont XLIB_LIBXFONT2_INSTALL_STAGING = YES -# 0001-configure-define-HAVE_LIBBSD-when-libbsd-was-found.patch -XLIB_LIBXFONT2_AUTORECONF = YES XLIB_LIBXFONT2_DEPENDENCIES = \ freetype \ xlib_libfontenc \ diff --git a/package/x11r7/xlib_libXft/xlib_libXft.hash b/package/x11r7/xlib_libXft/xlib_libXft.hash index bd0838b4dd6..8743a9b7d1c 100644 --- a/package/x11r7/xlib_libXft/xlib_libXft.hash +++ b/package/x11r7/xlib_libXft/xlib_libXft.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-March/002976.html -md5 4a433c24627b4ff60a4dd403a0990796 libXft-2.3.3.tar.bz2 -sha1 48f543fe495f545df1794fa36a0a708558ae298c libXft-2.3.3.tar.bz2 -sha256 225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216 libXft-2.3.3.tar.bz2 -sha512 28fdaf3baa3b156a4a7fdd6e39c4d8026d7d21eaa9be27c9797c8d329dab691a1bc82ea6042f9d4729a9343d93787536fb7e4b606f722f33cbe608b2e79910e8 libXft-2.3.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-August/003104.html +sha256 57dedaab20914002146bdae0cb0c769ba3f75214c4c91bd2613d6ef79fc9abdd libXft-2.3.4.tar.bz2 +sha512 5bb019750982ed4643880efd7368bc226ad49cfa8c0c8c6d4614dfeed74f588c65e1ba69adcc12284ec07d841e5b58fc1c27f3fddf83fe1a2837b29dd9ecec51 libXft-2.3.4.tar.bz2 # Locally computed -sha256 7cda22286b1379b9b73df695f72cbad36595e65b039a5fbc5c89b69ecc44438c COPYING +sha256 7cda22286b1379b9b73df695f72cbad36595e65b039a5fbc5c89b69ecc44438c COPYING diff --git a/package/x11r7/xlib_libXft/xlib_libXft.mk b/package/x11r7/xlib_libXft/xlib_libXft.mk index 489cfe4c56f..b1640a6613a 100644 --- a/package/x11r7/xlib_libXft/xlib_libXft.mk +++ b/package/x11r7/xlib_libXft/xlib_libXft.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBXFT_VERSION = 2.3.3 +XLIB_LIBXFT_VERSION = 2.3.4 XLIB_LIBXFT_SOURCE = libXft-$(XLIB_LIBXFT_VERSION).tar.bz2 -XLIB_LIBXFT_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXFT_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXFT_LICENSE = MIT XLIB_LIBXFT_LICENSE_FILES = COPYING XLIB_LIBXFT_INSTALL_STAGING = YES diff --git a/package/x11r7/xlib_libXi/xlib_libXi.hash b/package/x11r7/xlib_libXi/xlib_libXi.hash index 12356313210..a86ef13225f 100644 --- a/package/x11r7/xlib_libXi/xlib_libXi.hash +++ b/package/x11r7/xlib_libXi/xlib_libXi.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-June/002999.html -md5 62c4af0839072024b4b1c8cbe84216c7 libXi-1.7.10.tar.bz2 -sha1 79052e50ea07ce2431f8988a60553d9091d46207 libXi-1.7.10.tar.bz2 -sha256 36a30d8f6383a72e7ce060298b4b181fd298bc3a135c8e201b7ca847f5f81061 libXi-1.7.10.tar.bz2 -sha512 591f0860bf5904897587c4990d6c852f3729a212d1ef390362d41242440e078221877c31db2232d5cc81727fe97f4e194b077f7de917e251e60641bbd06ee218 libXi-1.7.10.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-September/003109.html +sha256 2ed181446a61c7337576467870bc5336fc9e222a281122d96c4d39a3298bba00 libXi-1.8.tar.bz2 +sha512 4b2c667a8466eb389f253d77285c3f506c4a2b6c75054c722974a864565d565cc0c5701f8ea773eb929ceb94adfeb737ecd7a0bfc2c240157416a5f343c07aba libXi-1.8.tar.bz2 # Locally computed -sha256 9392174bc86e291369fd2f61f3ed325962735a5f5c585ce8d7ebd365e2a5639f COPYING +sha256 9392174bc86e291369fd2f61f3ed325962735a5f5c585ce8d7ebd365e2a5639f COPYING diff --git a/package/x11r7/xlib_libXi/xlib_libXi.mk b/package/x11r7/xlib_libXi/xlib_libXi.mk index ad4cf5f96f9..b4802cf018c 100644 --- a/package/x11r7/xlib_libXi/xlib_libXi.mk +++ b/package/x11r7/xlib_libXi/xlib_libXi.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXI_VERSION = 1.7.10 +XLIB_LIBXI_VERSION = 1.8 XLIB_LIBXI_SOURCE = libXi-$(XLIB_LIBXI_VERSION).tar.bz2 XLIB_LIBXI_SITE = https://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXI_LICENSE = MIT diff --git a/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk b/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk index 405faefa469..48e32d55e29 100644 --- a/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk +++ b/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk @@ -9,6 +9,8 @@ XLIB_LIBXINERAMA_SOURCE = libXinerama-$(XLIB_LIBXINERAMA_VERSION).tar.bz2 XLIB_LIBXINERAMA_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXINERAMA_LICENSE = MIT XLIB_LIBXINERAMA_LICENSE_FILES = COPYING +XLIB_LIBXINERAMA_CPE_ID_VENDOR = x +XLIB_LIBXINERAMA_CPE_ID_PRODUCT = libxinerama XLIB_LIBXINERAMA_INSTALL_STAGING = YES XLIB_LIBXINERAMA_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXINERAMA_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 455fb10bf2d..7b645dc9e66 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -9,6 +9,8 @@ XLIB_LIBXPM_SOURCE = libXpm-$(XLIB_LIBXPM_VERSION).tar.bz2 XLIB_LIBXPM_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXPM_LICENSE = MIT XLIB_LIBXPM_LICENSE_FILES = COPYING COPYRIGHT +XLIB_LIBXPM_CPE_ID_VENDOR = libxpm_project +XLIB_LIBXPM_CPE_ID_PRODUCT = libxpm XLIB_LIBXPM_INSTALL_STAGING = YES XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xorgproto \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ diff --git a/package/x11r7/xlib_libXres/xlib_libXres.hash b/package/x11r7/xlib_libXres/xlib_libXres.hash index ee4823c1a4a..700590ad8cb 100644 --- a/package/x11r7/xlib_libXres/xlib_libXres.hash +++ b/package/x11r7/xlib_libXres/xlib_libXres.hash @@ -1,8 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2017-October/002812.html -md5 5d6d443d1abc8e1f6fc1c57fb27729bb libXres-1.2.0.tar.bz2 -sha1 b6996ab05460a3b7311f02da23ddf117a5442fd9 libXres-1.2.0.tar.bz2 -sha256 ff75c1643488e64a7cfbced27486f0f944801319c84c18d3bd3da6bf28c812d4 libXres-1.2.0.tar.bz2 -sha512 8eb5a36b1f030eb4e27e676cc4befcc073da66a7bce2b39089314e1facb629d13b087bb53ca2c95fe5291857da7ff9f80c6ab28fb3e245eeb9e0344937900172 libXres-1.2.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-March/003078.html +sha256 b6e6fb1ebb61610e56017edd928fb89a5f53b3f4f990078309877468663b2b11 libXres-1.2.1.tar.bz2 +sha512 c17d28406e17e305dc4976f095e88059735f5bd8c600adf2e556523c9e0dd7fa01dcbf7a9d28a642e77e49a5b30f54bb9b2fc34bfbedce467ee2a020bba5cdf1 libXres-1.2.1.tar.bz2 # Locally calculated -sha256 0d7300168f85833ea2564835f66a61e036ede90b33e76c06a7b4078096fedbcc COPYING +sha256 0d7300168f85833ea2564835f66a61e036ede90b33e76c06a7b4078096fedbcc COPYING diff --git a/package/x11r7/xlib_libXres/xlib_libXres.mk b/package/x11r7/xlib_libXres/xlib_libXres.mk index 72f2ec4424e..de3637a04ae 100644 --- a/package/x11r7/xlib_libXres/xlib_libXres.mk +++ b/package/x11r7/xlib_libXres/xlib_libXres.mk @@ -4,11 +4,13 @@ # ################################################################################ -XLIB_LIBXRES_VERSION = 1.2.0 +XLIB_LIBXRES_VERSION = 1.2.1 XLIB_LIBXRES_SOURCE = libXres-$(XLIB_LIBXRES_VERSION).tar.bz2 XLIB_LIBXRES_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXRES_LICENSE = MIT XLIB_LIBXRES_LICENSE_FILES = COPYING +XLIB_LIBXRES_CPE_ID_VENDOR = x +XLIB_LIBXRES_CPE_ID_PRODUCT = libxres XLIB_LIBXRES_INSTALL_STAGING = YES XLIB_LIBXRES_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXRES_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libXt/xlib_libXt.mk b/package/x11r7/xlib_libXt/xlib_libXt.mk index 289cb5ac540..9530262cf51 100644 --- a/package/x11r7/xlib_libXt/xlib_libXt.mk +++ b/package/x11r7/xlib_libXt/xlib_libXt.mk @@ -10,6 +10,8 @@ XLIB_LIBXT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXT_LICENSE = MIT XLIB_LIBXT_LICENSE_FILES = COPYING XLIB_LIBXT_INSTALL_STAGING = YES +XLIB_LIBXT_CPE_ID_VENDOR = x +XLIB_LIBXT_CPE_ID_PRODUCT = libxt XLIB_LIBXT_DEPENDENCIES = xlib_libSM xlib_libX11 xorgproto xcb-proto libxcb host-xorgproto XLIB_LIBXT_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libXtst/xlib_libXtst.mk b/package/x11r7/xlib_libXtst/xlib_libXtst.mk index e0d7e8217ca..c79301e064c 100644 --- a/package/x11r7/xlib_libXtst/xlib_libXtst.mk +++ b/package/x11r7/xlib_libXtst/xlib_libXtst.mk @@ -10,6 +10,8 @@ XLIB_LIBXTST_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXTST_LICENSE = MIT XLIB_LIBXTST_LICENSE_FILES = COPYING XLIB_LIBXTST_INSTALL_STAGING = YES +XLIB_LIBXTST_CPE_ID_VENDOR = x +XLIB_LIBXTST_CPE_ID_PRODUCT = libxtst XLIB_LIBXTST_DEPENDENCIES = \ xlib_libX11 \ diff --git a/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk b/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk index 62fe06c1a59..a5173fbc7cf 100644 --- a/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk +++ b/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk @@ -9,6 +9,8 @@ XLIB_LIBXXF86DGA_SOURCE = libXxf86dga-$(XLIB_LIBXXF86DGA_VERSION).tar.bz2 XLIB_LIBXXF86DGA_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXXF86DGA_LICENSE = MIT XLIB_LIBXXF86DGA_LICENSE_FILES = COPYING +XLIB_LIBXXF86DGA_CPE_ID_VENDOR = x +XLIB_LIBXXF86DGA_CPE_ID_PRODUCT = libxxf86dga XLIB_LIBXXF86DGA_INSTALL_STAGING = YES XLIB_LIBXXF86DGA_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXXF86DGA_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk b/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk index 2106451c74b..8871bd507ef 100644 --- a/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk +++ b/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk @@ -9,6 +9,8 @@ XLIB_LIBXXF86VM_SOURCE = libXxf86vm-$(XLIB_LIBXXF86VM_VERSION).tar.bz2 XLIB_LIBXXF86VM_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXXF86VM_LICENSE = MIT XLIB_LIBXXF86VM_LICENSE_FILES = COPYING +XLIB_LIBXXF86VM_CPE_ID_VENDOR = x +XLIB_LIBXXF86VM_CPE_ID_PRODUCT = libxxf86vm XLIB_LIBXXF86VM_INSTALL_STAGING = YES XLIB_LIBXXF86VM_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXXF86VM_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libdmx/xlib_libdmx.mk b/package/x11r7/xlib_libdmx/xlib_libdmx.mk index c67593e9a4d..429595b5d72 100644 --- a/package/x11r7/xlib_libdmx/xlib_libdmx.mk +++ b/package/x11r7/xlib_libdmx/xlib_libdmx.mk @@ -9,6 +9,8 @@ XLIB_LIBDMX_SOURCE = libdmx-$(XLIB_LIBDMX_VERSION).tar.bz2 XLIB_LIBDMX_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBDMX_LICENSE = MIT XLIB_LIBDMX_LICENSE_FILES = COPYING +XLIB_LIBDMX_CPE_ID_VENDOR = x +XLIB_LIBDMX_CPE_ID_PRODUCT = libdmx XLIB_LIBDMX_INSTALL_STAGING = YES XLIB_LIBDMX_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBDMX_CONF_OPTS = --disable-malloc0returnsnull diff --git a/package/x11r7/xlib_libxcvt/Config.in b/package/x11r7/xlib_libxcvt/Config.in new file mode 100644 index 00000000000..4e51648de7c --- /dev/null +++ b/package/x11r7/xlib_libxcvt/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_XLIB_LIBXCVT + bool "libxcvt" + help + libxcvt is a library providing a standalone version of the X + server implementation of the VESA CVT standard timing mode- + lines generator. + + https://gitlab.freedesktop.org/xorg/lib/libxcvt diff --git a/package/x11r7/xlib_libxcvt/xlib_libxcvt.hash b/package/x11r7/xlib_libxcvt/xlib_libxcvt.hash new file mode 100644 index 00000000000..71ae9170acd --- /dev/null +++ b/package/x11r7/xlib_libxcvt/xlib_libxcvt.hash @@ -0,0 +1,5 @@ +# From https://lists.x.org/archives/xorg-announce/2021-October/003114.html +sha256 27ebce180d355f94c1992930bedb40a36f6d7312ee50bf7f0acbcd22f33e8c29 libxcvt-0.1.1.tar.xz +sha512 50e9cd0283858823d4cfde75f06e23ffc42983272cb1f75408052fb5b76a4bb6f9de7d42d8ff9ec0dae6e95eefebc6273e03c919a92f237585db55eaf1a57005 libxcvt-0.1.1.tar.xz +# Locally calculated +sha256 4849851554bdeda9a2a85ce93946b786605e009685941b8b907a9a36b02ae068 COPYING diff --git a/package/x11r7/xlib_libxcvt/xlib_libxcvt.mk b/package/x11r7/xlib_libxcvt/xlib_libxcvt.mk new file mode 100644 index 00000000000..33a55dfa20c --- /dev/null +++ b/package/x11r7/xlib_libxcvt/xlib_libxcvt.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# xlib_libxcvt +# +################################################################################ + +XLIB_LIBXCVT_VERSION = 0.1.1 +XLIB_LIBXCVT_SOURCE = libxcvt-$(XLIB_LIBXCVT_VERSION).tar.xz +XLIB_LIBXCVT_SITE = https://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXCVT_LICENSE = MIT +XLIB_LIBXCVT_LICENSE_FILES = COPYING +XLIB_LIBXCVT_INSTALL_STAGING = YES + +$(eval $(meson-package)) diff --git a/package/x11r7/xlib_libxshmfence/Config.in b/package/x11r7/xlib_libxshmfence/Config.in index 710476b357f..7823bda7c08 100644 --- a/package/x11r7/xlib_libxshmfence/Config.in +++ b/package/x11r7/xlib_libxshmfence/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_XLIB_LIBXSHMFENCE bool "libxshmfence" + # Due to use of SYS_futex - can be enabled again when upstream + # adds SYS_futex64 as an alternative + depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_XORGPROTO help diff --git a/package/x11r7/xorgproto/xorgproto.hash b/package/x11r7/xorgproto/xorgproto.hash index fda42ac8f6b..802217ce77c 100644 --- a/package/x11r7/xorgproto/xorgproto.hash +++ b/package/x11r7/xorgproto/xorgproto.hash @@ -1,42 +1,41 @@ -# From https://lists.x.org/archives/xorg-announce/2020-April/003042.html -md5 c29f4fa78f53b52b3efdc71ebd9506b6 xorgproto-2020.1.tar.bz2 -sha1 1cdab4e9ab796760ddb9582071328469a8eca08a xorgproto-2020.1.tar.bz2 -sha256 54a153f139035a376c075845dd058049177212da94d7a9707cf9468367b699d2 xorgproto-2020.1.tar.bz2 -sha512 2d10533e54987f293e1c8578aa742c38cf2fac8551db1d317cf5ee4a6a9600eced50f59c57c38b35dd210fe02d350294c967512f04cb9876d6c0c1f7e89cb199 xorgproto-2020.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-September/date.html +sha256 aa2f663b8dbd632960b24f7477aa07d901210057f6ab1a1db5158732569ca015 xorgproto-2021.5.tar.bz2 +sha512 0f5c4ee4fd56cd46f4d5850bcf3e04c92d2e98de54d0113987cb49fc83cf1f4d0e50e976333179c72fe2178cfa15ec6c1bfc4e76fc3bc2a4be80616ce079da87 xorgproto-2021.5.tar.bz2 + # Locally computed -sha256 aacd931f191b610902aee1e526090c2858aabc07969441fa2537ffd3e7049555 COPYING-applewmproto -sha256 dabc025f93129a0eb2d17f37c719dbe5ecbcb5bc8f7bc7f4ce89fe04576cc0c2 COPYING-bigreqsproto -sha256 ab587ca94282c1e60797ffe4a77aea195418387db20ec7e0c24cedf2c844f8c1 COPYING-compositeproto -sha256 f67a18cb46c4c203c5122b4a901cfcc3178b2a62f83f31ca5fef5bdca3966094 COPYING-damageproto -sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING-dmxproto -sha256 0c306691492c4d7a8cda1ec3847668b797887dddcd7e986b4c166ae27619af7d COPYING-dri2proto -sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-dri3proto -sha256 0aa43d03da3cedbd9882c0ded621b0d855353eb9e551f9eed940d75c8a0b03c1 COPYING-evieproto -sha256 65cb0b867b00fb27f066a37353713b265645b3301146562570d7638ed2ddd548 COPYING-fixesproto -sha256 1ab381e978bff63d68be2e4f235d51935f3f16f3ba3bebf83afa99a70c0484a2 COPYING-fontcacheproto -sha256 f4af05774b02ae149357cc26f7bf5ef1116c2e09373c2492081a3a1892c58417 COPYING-fontsproto -sha256 823deb4673d3f26aa8c90e704888299648f00be3262f9363eaeecedcd65b936d COPYING-glproto -sha256 5e083a2ace0215a6084c877c023a6079952ba803d692488203ba4269196debe3 COPYING-inputproto -sha256 d397a67d4b28e897bc5fce79b2b917df9905b54f961fc3ad1f49c7fe3803f92c COPYING-kbproto -sha256 7a5dd5d4c989c167da50f15879959f42bbda960e06d0a0aea7197f61fe1dc846 COPYING-lg3dproto -sha256 8442b5f22f2fb13017a4302a906e7dedc899267b41f613558970941120170128 COPYING-pmproto -sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-presentproto -sha256 6b890b118261694865988378dbba876bcd9caa1a421c5c0d626116948bc0ae35 COPYING-printproto -sha256 41c13dcd09147ed2440286f2fb8151df8ebee06deee4ed78ddf094601c216d3d COPYING-randrproto -sha256 ee10aee0f1697ffdbe870a39f037361d4f7136f2976bb7919a41b3f66407caee COPYING-recordproto -sha256 9e48921a94da36d7a69fe71809223ee0bb46370db9842dccdeeb55b5a9946872 COPYING-renderproto -sha256 403e7be948674530ad40669b1e3a31adeddb656502f3b0ef810d5d3cc35d0b52 COPYING-resourceproto -sha256 fcbd3c628bf4d28ee3e6032054bf44bbe58f3b1a944dad856a8d3eb6b37ea412 COPYING-scrnsaverproto -sha256 d6d3513f5a7099748dc387f54498d799380b45f8a444f13aa98aa45a860ae55b COPYING-trapproto -sha256 f8f49bbad61967ebc890fb79fff5bfb7cfc1c341aa8f8dee13eb3fb534040b47 COPYING-videoproto -sha256 eb183a00c61bb47992f096b6993ed7ec17518bea9c285fe87efff7f622cc6c12 COPYING-windowswmproto -sha256 da4a28570230228b9bd80a701c5d8752f8609394de2e0d46d26d978bd07610db COPYING-x11proto -sha256 5531d18cfcc944dab39991f63f182cbbce3fe493ba0c7cf08a25c0d01ee84482 COPYING-xcmiscproto -sha256 fb42146c6c06a200a9b121220eb692ff9101ba0fbd0b224b9e16a016c59ae86a COPYING-xextproto -sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86bigfontproto -sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86dgaproto -sha256 4a05d06752388d9db71ee1006f371d4fb2c316a821fc2fc272db90b3ef978334 COPYING-xf86driproto -sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86miscproto -sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86rushproto -sha256 942bb46a3503a708948491699171b00b9e0dfb47818d9268b160bccc5f51a4b9 COPYING-xf86vidmodeproto -sha256 b2d8cda803e900915ce10f0ba735ff2c033b39c7cc5a8a436667ca583d4066fa COPYING-xineramaproto +sha256 aacd931f191b610902aee1e526090c2858aabc07969441fa2537ffd3e7049555 COPYING-applewmproto +sha256 dabc025f93129a0eb2d17f37c719dbe5ecbcb5bc8f7bc7f4ce89fe04576cc0c2 COPYING-bigreqsproto +sha256 ab587ca94282c1e60797ffe4a77aea195418387db20ec7e0c24cedf2c844f8c1 COPYING-compositeproto +sha256 f67a18cb46c4c203c5122b4a901cfcc3178b2a62f83f31ca5fef5bdca3966094 COPYING-damageproto +sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING-dmxproto +sha256 0c306691492c4d7a8cda1ec3847668b797887dddcd7e986b4c166ae27619af7d COPYING-dri2proto +sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-dri3proto +sha256 0aa43d03da3cedbd9882c0ded621b0d855353eb9e551f9eed940d75c8a0b03c1 COPYING-evieproto +sha256 65cb0b867b00fb27f066a37353713b265645b3301146562570d7638ed2ddd548 COPYING-fixesproto +sha256 1ab381e978bff63d68be2e4f235d51935f3f16f3ba3bebf83afa99a70c0484a2 COPYING-fontcacheproto +sha256 f4af05774b02ae149357cc26f7bf5ef1116c2e09373c2492081a3a1892c58417 COPYING-fontsproto +sha256 823deb4673d3f26aa8c90e704888299648f00be3262f9363eaeecedcd65b936d COPYING-glproto +sha256 5e083a2ace0215a6084c877c023a6079952ba803d692488203ba4269196debe3 COPYING-inputproto +sha256 d397a67d4b28e897bc5fce79b2b917df9905b54f961fc3ad1f49c7fe3803f92c COPYING-kbproto +sha256 7a5dd5d4c989c167da50f15879959f42bbda960e06d0a0aea7197f61fe1dc846 COPYING-lg3dproto +sha256 8442b5f22f2fb13017a4302a906e7dedc899267b41f613558970941120170128 COPYING-pmproto +sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-presentproto +sha256 6b890b118261694865988378dbba876bcd9caa1a421c5c0d626116948bc0ae35 COPYING-printproto +sha256 41c13dcd09147ed2440286f2fb8151df8ebee06deee4ed78ddf094601c216d3d COPYING-randrproto +sha256 ee10aee0f1697ffdbe870a39f037361d4f7136f2976bb7919a41b3f66407caee COPYING-recordproto +sha256 9e48921a94da36d7a69fe71809223ee0bb46370db9842dccdeeb55b5a9946872 COPYING-renderproto +sha256 403e7be948674530ad40669b1e3a31adeddb656502f3b0ef810d5d3cc35d0b52 COPYING-resourceproto +sha256 fcbd3c628bf4d28ee3e6032054bf44bbe58f3b1a944dad856a8d3eb6b37ea412 COPYING-scrnsaverproto +sha256 d6d3513f5a7099748dc387f54498d799380b45f8a444f13aa98aa45a860ae55b COPYING-trapproto +sha256 f8f49bbad61967ebc890fb79fff5bfb7cfc1c341aa8f8dee13eb3fb534040b47 COPYING-videoproto +sha256 eb183a00c61bb47992f096b6993ed7ec17518bea9c285fe87efff7f622cc6c12 COPYING-windowswmproto +sha256 3bd8e0c41497bfe6ab8d11c3c90c5e79edd0b2437f2bf81161575f54bae53f21 COPYING-x11proto +sha256 5531d18cfcc944dab39991f63f182cbbce3fe493ba0c7cf08a25c0d01ee84482 COPYING-xcmiscproto +sha256 fb42146c6c06a200a9b121220eb692ff9101ba0fbd0b224b9e16a016c59ae86a COPYING-xextproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86bigfontproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86dgaproto +sha256 4a05d06752388d9db71ee1006f371d4fb2c316a821fc2fc272db90b3ef978334 COPYING-xf86driproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86miscproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86rushproto +sha256 942bb46a3503a708948491699171b00b9e0dfb47818d9268b160bccc5f51a4b9 COPYING-xf86vidmodeproto +sha256 b2d8cda803e900915ce10f0ba735ff2c033b39c7cc5a8a436667ca583d4066fa COPYING-xineramaproto diff --git a/package/x11r7/xorgproto/xorgproto.mk b/package/x11r7/xorgproto/xorgproto.mk index 1c9f320e516..1d5cd4caa87 100644 --- a/package/x11r7/xorgproto/xorgproto.mk +++ b/package/x11r7/xorgproto/xorgproto.mk @@ -4,7 +4,7 @@ # ################################################################################ -XORGPROTO_VERSION = 2020.1 +XORGPROTO_VERSION = 2021.5 XORGPROTO_SOURCE = xorgproto-$(XORGPROTO_VERSION).tar.bz2 XORGPROTO_SITE = https://xorg.freedesktop.org/archive/individual/proto XORGPROTO_LICENSE = MIT diff --git a/package/x11r7/xserver_xorg-server/0002-include-misc.h-fix-uClibc-build.patch b/package/x11r7/xserver_xorg-server/0001-include-misc.h-fix-uClibc-build.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/0002-include-misc.h-fix-uClibc-build.patch rename to package/x11r7/xserver_xorg-server/0001-include-misc.h-fix-uClibc-build.patch diff --git a/package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch deleted file mode 100644 index 74917720cbc..00000000000 --- a/package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch +++ /dev/null @@ -1,20 +0,0 @@ -Kernel modesettings support also depends on dri2, see -http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46 - -Patch sent upstream: https://gitlab.freedesktop.org/xorg/xserver/issues/479 - -[rebased for version 1.20.0] -Signed-off-by: Bernd Kuhls - -diff -uNr xorg-server-1.17.2.org/configure.ac xorg-server-1.17.2/configure.ac ---- xorg-server-1.17.2.org/configure.ac 2015-06-16 17:42:40.000000000 +0200 -+++ xorg-server-1.17.2/configure.ac 2015-08-08 10:44:59.702382624 +0200 -@@ -1962,7 +1962,7 @@ - XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS" - fi - -- if test "x$DRM" = xyes; then -+ if test "x$DRM" = xyes -a "x$DRI2" = xyes; then - XORG_DRIVER_MODESETTING=yes - fi - diff --git a/package/x11r7/xserver_xorg-server/0002-Fix-compilation-error-when-built-without-logind-plat.patch b/package/x11r7/xserver_xorg-server/0002-Fix-compilation-error-when-built-without-logind-plat.patch new file mode 100644 index 00000000000..164c0039bd7 --- /dev/null +++ b/package/x11r7/xserver_xorg-server/0002-Fix-compilation-error-when-built-without-logind-plat.patch @@ -0,0 +1,90 @@ +From 17b6ab4d8cecf55a3784dbefbef9bfcf84ee3b1b Mon Sep 17 00:00:00 2001 +From: Jocelyn Falempe +Date: Thu, 16 Dec 2021 15:46:43 +0100 +Subject: [PATCH] Fix compilation error when built without logind/platform bus + +This was introduced by commit 8eb1396d + +Signed-off-by: Jocelyn Falempe +[Peter: from https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/827] +Signed-off-by: Peter Korsgaard +--- + hw/xfree86/common/xf86Events.c | 9 +-------- + hw/xfree86/os-support/linux/systemd-logind.c | 16 +++++++++++----- + include/systemd-logind.h | 4 ++-- + 3 files changed, 14 insertions(+), 15 deletions(-) + +diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c +index 6076efa80..395bbc7b3 100644 +--- a/hw/xfree86/common/xf86Events.c ++++ b/hw/xfree86/common/xf86Events.c +@@ -383,14 +383,7 @@ xf86VTLeave(void) + xf86GPUScreens[i]->LeaveVT(xf86GPUScreens[i]); + + if (systemd_logind_controls_session()) { +- for (i = 0; i < xf86_num_platform_devices; i++) { +- if (xf86_platform_devices[i].flags & XF86_PDEV_SERVER_FD) { +- int major, minor; +- major = xf86_platform_odev_attributes(i)->major; +- minor = xf86_platform_odev_attributes(i)->minor; +- systemd_logind_drop_master(major, minor); +- } +- } ++ systemd_logind_drop_master(); + } + + if (!xf86VTSwitchAway()) +diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c +index 35d5cc75b..f6a223a55 100644 +--- a/hw/xfree86/os-support/linux/systemd-logind.c ++++ b/hw/xfree86/os-support/linux/systemd-logind.c +@@ -308,13 +308,19 @@ cleanup: + * and ensure the drm_drop_master is done before + * VT_RELDISP when switching VT + */ +-void systemd_logind_drop_master(int _major, int _minor) ++void systemd_logind_drop_master(void) + { +- struct systemd_logind_info *info = &logind_info; +- dbus_int32_t major = _major; +- dbus_int32_t minor = _minor; ++ int i; ++ for (i = 0; i < xf86_num_platform_devices; i++) { ++ if (xf86_platform_devices[i].flags & XF86_PDEV_SERVER_FD) { ++ dbus_int32_t major, minor; ++ struct systemd_logind_info *info = &logind_info; + +- systemd_logind_ack_pause(info, minor, major); ++ major = xf86_platform_odev_attributes(i)->major; ++ minor = xf86_platform_odev_attributes(i)->minor; ++ systemd_logind_ack_pause(info, minor, major); ++ } ++ } + } + + static DBusHandlerResult +diff --git a/include/systemd-logind.h b/include/systemd-logind.h +index a8af2b96d..5c04d0130 100644 +--- a/include/systemd-logind.h ++++ b/include/systemd-logind.h +@@ -33,7 +33,7 @@ int systemd_logind_take_fd(int major, int minor, const char *path, Bool *paus); + void systemd_logind_release_fd(int major, int minor, int fd); + int systemd_logind_controls_session(void); + void systemd_logind_vtenter(void); +-void systemd_logind_drop_master(int major, int minor); ++void systemd_logind_drop_master(void); + #else + #define systemd_logind_init() + #define systemd_logind_fini() +@@ -41,7 +41,7 @@ void systemd_logind_drop_master(int major, int minor); + #define systemd_logind_release_fd(major, minor, fd) close(fd) + #define systemd_logind_controls_session() 0 + #define systemd_logind_vtenter() +-#define systemd_logind_drop_master(major, minor) ++#define systemd_logind_drop_master() + #endif + + #endif +-- +2.20.1 + diff --git a/package/x11r7/xserver_xorg-server/0003-hw-xwayland-Makefile.am-fix-build-without-glx.patch b/package/x11r7/xserver_xorg-server/0003-hw-xwayland-Makefile.am-fix-build-without-glx.patch deleted file mode 100644 index 5f19a26d147..00000000000 --- a/package/x11r7/xserver_xorg-server/0003-hw-xwayland-Makefile.am-fix-build-without-glx.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b1d2a82d644518c1a75775244ac63be738aaf062 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 19 Apr 2019 10:19:50 +0200 -Subject: [PATCH] hw/xwayland/Makefile.am: fix build without glx - -Commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b added libglxvnd.la to -Xwayland_LDFLAGS but GLX can be disabled through --disable-glx. -In this case, build fails on: - -make[3]: *** No rule to make target '../../glx/libglxvnd.la', needed by 'Xwayland'. Stop. -make[3]: *** Waiting for unfinished jobs.... - -Fixes: - - http://autobuild.buildroot.org/results/397f8098c57fc6c88aa12dc8d35ebb1b933d52ef - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.freedesktop.org/xorg/xserver/merge_requests/173] ---- - hw/xwayland/Makefile.am | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/hw/xwayland/Makefile.am b/hw/xwayland/Makefile.am -index bc1cb8506..502879e2a 100644 ---- a/hw/xwayland/Makefile.am -+++ b/hw/xwayland/Makefile.am -@@ -21,10 +21,14 @@ Xwayland_SOURCES = \ - $(top_srcdir)/Xi/stubs.c \ - $(top_srcdir)/mi/miinitext.c - -+if GLX -+GLXVND_LIB = $(top_builddir)/glx/libglxvnd.la -+endif -+ - Xwayland_LDADD = \ - $(glamor_lib) \ - $(XWAYLAND_LIBS) \ -- $(top_builddir)/glx/libglxvnd.la \ -+ $(GLXVND_LIB) \ - $(XWAYLAND_SYS_LIBS) \ - $(top_builddir)/Xext/libXvidmode.la \ - $(XSERVER_SYS_LIBS) --- -2.20.1 - diff --git a/package/x11r7/xserver_xorg-server/0004-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch b/package/x11r7/xserver_xorg-server/0004-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch deleted file mode 100644 index de086fb6655..00000000000 --- a/package/x11r7/xserver_xorg-server/0004-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 49456e0a37fac7bc9d1f01bc1519fb0d699956db Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 27 Dec 2019 23:33:37 +0100 -Subject: [PATCH] hw/xfree86/common/xf86Init.c: fix build without glx - -Since commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b, an include on -glxvndabi.h has been added to hw/xfree86/common/xf86Init.c - -However, if glx is disabled through --disable-glx and GLX headers are -not installed in the build's environment, build fails on: - -In file included from xf86Init.c:81: -../../../include/glxvndabi.h:64:10: fatal error: GL/glxproto.h: No such file or directory - 64 | #include - | ^~~~~~~~~~~~~~~ - -Fix this failure by removing this include which does not seem to be -needed (an other option would have been to keep it under an ifdef GLXEXT -block) - -Fixes: - - http://autobuild.buildroot.org/results/de838a843f97673d1381a55fd4e9b07164693913 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://gitlab.freedesktop.org/xorg/xserver/commit/49456e0a37fac7bc9d1f01bc1519fb0d699956db] ---- - hw/xfree86/common/xf86Init.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index 0631c7237..e6fb11398 100644 ---- a/hw/xfree86/common/xf86Init.c -+++ b/hw/xfree86/common/xf86Init.c -@@ -78,7 +78,6 @@ - #include "xf86InPriv.h" - #include "picturestr.h" - #include "randrstr.h" --#include "glxvndabi.h" - #include "xf86Bus.h" - #ifdef XSERVER_LIBPCIACCESS - #include "xf86VGAarbiter.h" --- -2.24.1 - diff --git a/package/x11r7/xserver_xorg-server/0005-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch b/package/x11r7/xserver_xorg-server/0005-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch deleted file mode 100644 index 7802fd96c95..00000000000 --- a/package/x11r7/xserver_xorg-server/0005-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e50c85f4ebf559a3bac4817b41074c43d4691779 Mon Sep 17 00:00:00 2001 -From: Eric Anholt -Date: Fri, 26 Oct 2018 17:47:30 -0700 -Subject: [PATCH] Fix segfault on probing a non-PCI platform device on a system - with PCI. - -Some Broadcom set-top-box boards have PCI busses, but the GPU is still -probed through DT. We would dereference a null busid here in that -case. - -Signed-off-by: Eric Anholt -Backported from: e50c85f4ebf559a3bac4817b41074c43d4691779 -Signed-off-by: Joseph Kogut ---- - hw/xfree86/common/xf86platformBus.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c -index cef47da03..dadbac6c8 100644 ---- a/hw/xfree86/common/xf86platformBus.c -+++ b/hw/xfree86/common/xf86platformBus.c -@@ -289,7 +289,7 @@ xf86platformProbe(void) - for (i = 0; i < xf86_num_platform_devices; i++) { - char *busid = xf86_platform_odev_attributes(i)->busid; - -- if (pci && (strncmp(busid, "pci:", 4) == 0)) { -+ if (pci && busid && (strncmp(busid, "pci:", 4) == 0)) { - platform_find_pci_info(&xf86_platform_devices[i], busid); - } - --- -2.24.1 - diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index 3bf5af89bee..4fb03051ddc 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -18,6 +18,7 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXAU select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXCVT select BR2_PACKAGE_XLIB_LIBXDAMAGE select BR2_PACKAGE_XLIB_LIBXDMCP select BR2_PACKAGE_XLIB_LIBXEXT @@ -53,7 +54,8 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBPCIACCESS - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_TOOLCHAIN_HAS_SYNC_4 + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ + (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) help This variant of the X.org server is the full-blown variant, as used by desktop GNU/Linux distributions. The drivers (for @@ -74,36 +76,6 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE endchoice -if BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE - -config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV - bool "Enable KDrive/TinyX evdev input driver" - help - Enable evdev input driver in KDrive. This allows KDrive to - use input devices that are integrated in the Linux input - subsystem, i.e have a /dev/input/eventX device file. This is - most likely the input driver you want to use. - - This driver can then be enabled by running the X server - using: - - Xfbdev -keybd evdev,,device=/dev/input/eventX - -mouse evdev,,device=/dev/input/eventY - -config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD - bool "Enable KDrive/TinyX kbd input driver" - help - Enable kbd input driver in KDrive. It uses the console - keyboard as input device. - -config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE - bool "Enable KDrive/TinyX mouse input driver" - help - Enable mouse input driver in KDrive. It supports PS/2 mice - and serial port mice. - -endif - comment "Optional Servers" config BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB @@ -111,4 +83,9 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB help Virtual frame buffer X server. +config BR2_PACKAGE_XSERVER_XORG_SERVER_XEPHYR + bool "Xephyr server" + help + Xephyr nested X server; successor to Xnest. + endif diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index d6b3c92e084..6008661db1e 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -1,6 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2020-December/003067.html -sha256 977420c082450dc808de301ef56af4856d653eea71519a973c3490a780cb7c99 xorg-server-1.20.10.tar.bz2 -sha512 a07bee380bb72f2117fe6f831a6e4aded19bea1f2b36e42a019a30348e98d6fe65c0617cf819be9c6b405502f88cafb829df30aab32393774b71f1418a4cefae xorg-server-1.20.10.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2021-December/003125.html +sha256 c20bf46a9fe8e74bf4e75430637e58d49a02d806609dc161462bceb1ef7e8db0 xorg-server-21.1.2.tar.xz +sha512 6d7a0d29d5be09f80ed505c4d6ae964795127525a0ab73a4eab4f601788ab3627033143e5aeb4c2565c6683dd3402084d13acab5554606fbd519c4aec0a79def xorg-server-21.1.2.tar.xz # Locally calculated sha256 4cc0447a22635c7b2f1a93fec4aa94f1970fadeb72a063de006b51cf4963a06f COPYING diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index fa8ae13b8cf..0cadba92a31 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -4,16 +4,14 @@ # ################################################################################ -XSERVER_XORG_SERVER_VERSION = 1.20.10 -XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.bz2 +XSERVER_XORG_SERVER_VERSION = 21.1.2 +XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.xz XSERVER_XORG_SERVER_SITE = https://xorg.freedesktop.org/archive/individual/xserver XSERVER_XORG_SERVER_LICENSE = MIT XSERVER_XORG_SERVER_LICENSE_FILES = COPYING +XSERVER_XORG_SERVER_SELINUX_MODULES = xdg xserver XSERVER_XORG_SERVER_INSTALL_STAGING = YES -# xfont_font-util is needed only for autoreconf -XSERVER_XORG_SERVER_AUTORECONF = YES XSERVER_XORG_SERVER_DEPENDENCIES = \ - xfont_font-util \ xutil_util-macros \ xlib_libX11 \ xlib_libXau \ @@ -31,6 +29,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES = \ xlib_libXdamage \ xlib_libXxf86vm \ xlib_libxkbfile \ + xlib_libxcvt \ xlib_xtrans \ xdata_xbitmaps \ xorgproto \ @@ -46,12 +45,12 @@ XSERVER_XORG_SERVER_CONF_OPTS = \ --disable-config-hal \ --enable-record \ --disable-xnest \ - --disable-xephyr \ --disable-dmx \ --disable-unit-tests \ --with-builder-addr=buildroot@buildroot.org \ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \ --with-fontrootdir=/usr/share/fonts/X11/ \ + --$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XEPHYR),en,dis)able-xephyr \ --$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb ifeq ($(BR2_PACKAGE_SYSTEMD),y) @@ -66,14 +65,6 @@ XSERVER_XORG_SERVER_CONF_OPTS += \ --disable-systemd-logind endif -# Xwayland support needs libdrm, libepoxy, wayland and libxcomposite -ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_LIBEPOXY)$(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_WAYLAND_PROTOCOLS)$(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),yyyyy) -XSERVER_XORG_SERVER_CONF_OPTS += --enable-xwayland -XSERVER_XORG_SERVER_DEPENDENCIES += libdrm libepoxy wayland wayland-protocols xlib_libXcomposite -else -XSERVER_XORG_SERVER_CONF_OPTS += --disable-xwayland -endif - ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y) XSERVER_XORG_SERVER_CONF_OPTS += --enable-xorg XSERVER_XORG_SERVER_DEPENDENCIES += libpciaccess @@ -90,35 +81,11 @@ endif ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE),y) XSERVER_XORG_SERVER_CONF_OPTS += \ --enable-kdrive \ - --enable-xfbdev \ --disable-glx \ - --disable-dri \ - --disable-xsdl -define XSERVER_CREATE_X_SYMLINK - ln -f -s Xfbdev $(TARGET_DIR)/usr/bin/X -endef -XSERVER_XORG_SERVER_POST_INSTALL_TARGET_HOOKS += XSERVER_CREATE_X_SYMLINK - -ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV),y) -XSERVER_XORG_SERVER_CONF_OPTS += --enable-kdrive-evdev -else -XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive-evdev -endif - -ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD),y) -XSERVER_XORG_SERVER_CONF_OPTS += --enable-kdrive-kbd -else -XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive-kbd -endif - -ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE),y) -XSERVER_XORG_SERVER_CONF_OPTS += --enable-kdrive-mouse -else -XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive-mouse -endif + --disable-dri else # modular -XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive --disable-xfbdev +XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive endif ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) @@ -129,11 +96,6 @@ XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-glx endif # Optional packages -ifeq ($(BR2_PACKAGE_TSLIB),y) -XSERVER_XORG_SERVER_DEPENDENCIES += tslib -XSERVER_XORG_SERVER_CONF_OPTS += --enable-tslib LDFLAGS="-lts" -endif - ifeq ($(BR2_PACKAGE_HAS_UDEV),y) XSERVER_XORG_SERVER_DEPENDENCIES += udev XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev diff --git a/package/x11vnc/Config.in b/package/x11vnc/Config.in index 9e91a11ad1c..d2639fce1ef 100644 --- a/package/x11vnc/Config.in +++ b/package/x11vnc/Config.in @@ -7,6 +7,9 @@ config BR2_PACKAGE_X11VNC select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXTST + select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help VNC server for X11 display diff --git a/package/x264/x264.hash b/package/x264/x264.hash index 93242a46cce..f1396279f86 100644 --- a/package/x264/x264.hash +++ b/package/x264/x264.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0bb67d095513391e637b3b47e8efc3ba4603c3844f1b4c2690f4d36da7763055 x264-snapshot-20191217-2245.tar.bz2 -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 58f39bf23a4e38ac3dd841a3f9ccf2aa16d2b0c35df9aecd9f3b5062780e5d74 x264-35417dcd65a57321fbadf98c9a4cff1cb741db4b-br1.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/x264/x264.mk b/package/x264/x264.mk index 9d217d19126..9de618eb5e0 100644 --- a/package/x264/x264.mk +++ b/package/x264/x264.mk @@ -4,9 +4,9 @@ # ################################################################################ -X264_VERSION = 20191217-2245 -X264_SITE = http://download.videolan.org/x264/snapshots -X264_SOURCE = x264-snapshot-$(X264_VERSION).tar.bz2 +X264_VERSION = 35417dcd65a57321fbadf98c9a4cff1cb741db4b +X264_SITE = https://code.videolan.org/videolan/x264.git +X264_SITE_METHOD = git X264_LICENSE = GPL-2.0+ X264_DEPENDENCIES = host-pkgconf X264_LICENSE_FILES = COPYING diff --git a/package/x265/0001-fix-gcc-options.patch b/package/x265/0001-fix-gcc-options.patch index 81518212b48..0283da25ea9 100644 --- a/package/x265/0001-fix-gcc-options.patch +++ b/package/x265/0001-fix-gcc-options.patch @@ -17,36 +17,72 @@ Backported from upstream pull request: https://bitbucket.org/multicoreware/x265/pull-requests/21 Signed-off-by: Bernd Kuhls +[Bernd: rebased for 3.5 based on + https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/x265/files/arm-r1.patch] diff -r 58dddcf01b7d source/CMakeLists.txt --- a/source/CMakeLists.txt Mon Jan 23 09:50:33 2017 +0530 +++ b/source/CMakeLists.txt Mon Jan 23 21:03:10 2017 +0100 -@@ -194,28 +194,6 @@ - if(NATIVE_BUILD) - if(INTEL_CXX) - add_definitions(-xhost) +@@ -40,7 +40,7 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_ + # System architecture detection + string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSPROC) + set(X86_ALIASES x86 i386 i686 x86_64 amd64) +-set(ARM_ALIASES armv6l armv7l aarch64) ++set(ARM_ALIASES armv6l armv6l armv7l armv7a aarch64) + list(FIND X86_ALIASES "${SYSPROC}" X86MATCH) + list(FIND ARM_ALIASES "${SYSPROC}" ARMMATCH) + set(POWER_ALIASES ppc64 ppc64le) +@@ -239,11 +239,7 @@ if(GCC) + endif() + endif() + if(ARM AND CROSS_COMPILE_ARM) +- if(ARM64) +- set(ARM_ARGS -fPIC) - else() -- add_definitions(-march=native) -- endif() -- elseif(X86 AND NOT X64) -- string(FIND "${CMAKE_CXX_FLAGS}" "-march" marchPos) -- if(marchPos LESS "0") -- add_definitions(-march=i686) -- if(WIN32 AND NOT INTEL_CXX AND NOT CLANG AND -- CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) -- add_definitions(-mpreferred-stack-boundary=2) -- endif() +- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) - endif() -- endif() -- if(ARM AND CROSS_COMPILE_ARM) ++ set(ARM_ARGS -fPIC) + message(STATUS "cross compile arm") + elseif(ARM) + if(ARM64) +@@ -252,10 +248,10 @@ if(GCC) + else() + find_package(Neon) + if(CPU_HAS_NEON) +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) ++ set(ARM_ARGS -mfpu=neon -fPIC) + add_definitions(-DHAVE_NEON) + else() +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) ++ set(ARM_ARGS -fPIC) + endif() + endif() + endif() +--- a/source/dynamicHDR10/CMakeLists.txt ++++ b/source/dynamicHDR10/CMakeLists.txt +@@ -43,14 +43,14 @@ if(GCC) + endif() + endif() + if(ARM AND CROSS_COMPILE_ARM) - set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) -- elseif(ARM) -- find_package(Neon) -- if(CPU_HAS_NEON) ++ set(ARM_ARGS -fPIC) + elseif(ARM) + find_package(Neon) + if(CPU_HAS_NEON) - set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) -- add_definitions(-DHAVE_NEON) -- else() ++ set(ARM_ARGS -fPIC) + add_definitions(-DHAVE_NEON) + else() - set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) ++ set(ARM_ARGS -fPIC) endif() endif() add_definitions(${ARM_ARGS}) +@@ -150,4 +150,4 @@ set(BIN_INSTALL_DIR bin CACHE STRING "Install location of executables") + option(ENABLE_SHARED "Build shared library" OFF) + + install(FILES hdr10plus.h DESTINATION include) +-endif() +\ No newline at end of file ++endif() + diff --git a/package/x265/0002-arm-asm-primitives.patch b/package/x265/0002-arm-asm-primitives.patch deleted file mode 100644 index e5004434298..00000000000 --- a/package/x265/0002-arm-asm-primitives.patch +++ /dev/null @@ -1,354 +0,0 @@ -Fixes "arm assembly fail to compile on 1.8" - -Downloaded from upstream bug report: -https://bitbucket.org/multicoreware/x265/issues/406 - -Signed-off-by: Bernd Kuhls - ---- ./source/common/arm/asm-primitives.cpp.orig 2018-05-21 02:33:10.000000000 -0600 -+++ ./source/common/arm/asm-primitives.cpp 2018-05-28 20:38:37.302378303 -0600 -@@ -48,77 +48,77 @@ void setupAssemblyPrimitives(EncoderPrim - p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon); - - // addAvg -- p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); -- p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon); -- p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon); -- p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon); -- p.pu[LUMA_8x8].addAvg = PFX(addAvg_8x8_neon); -- p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_neon); -- p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_neon); -- p.pu[LUMA_12x16].addAvg = PFX(addAvg_12x16_neon); -- p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_neon); -- p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_neon); -- p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_neon); -- p.pu[LUMA_16x16].addAvg = PFX(addAvg_16x16_neon); -- p.pu[LUMA_16x32].addAvg = PFX(addAvg_16x32_neon); -- p.pu[LUMA_16x64].addAvg = PFX(addAvg_16x64_neon); -- p.pu[LUMA_24x32].addAvg = PFX(addAvg_24x32_neon); -- p.pu[LUMA_32x8].addAvg = PFX(addAvg_32x8_neon); -- p.pu[LUMA_32x16].addAvg = PFX(addAvg_32x16_neon); -- p.pu[LUMA_32x24].addAvg = PFX(addAvg_32x24_neon); -- p.pu[LUMA_32x32].addAvg = PFX(addAvg_32x32_neon); -- p.pu[LUMA_32x64].addAvg = PFX(addAvg_32x64_neon); -- p.pu[LUMA_48x64].addAvg = PFX(addAvg_48x64_neon); -- p.pu[LUMA_64x16].addAvg = PFX(addAvg_64x16_neon); -- p.pu[LUMA_64x32].addAvg = PFX(addAvg_64x32_neon); -- p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_neon); -- p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_neon); -+ p.pu[LUMA_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); -+ p.pu[LUMA_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); -+ p.pu[LUMA_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); -+ p.pu[LUMA_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); -+ p.pu[LUMA_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); -+ p.pu[LUMA_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); -+ p.pu[LUMA_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); -+ p.pu[LUMA_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); -+ p.pu[LUMA_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); -+ p.pu[LUMA_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); -+ p.pu[LUMA_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); -+ p.pu[LUMA_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); -+ p.pu[LUMA_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); -+ p.pu[LUMA_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); -+ p.pu[LUMA_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); -+ p.pu[LUMA_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); -+ p.pu[LUMA_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); -+ p.pu[LUMA_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); -+ p.pu[LUMA_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); -+ p.pu[LUMA_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); -+ p.pu[LUMA_48x64].addAvg[ALIGNED] = PFX(addAvg_48x64_neon); -+ p.pu[LUMA_64x16].addAvg[ALIGNED] = PFX(addAvg_64x16_neon); -+ p.pu[LUMA_64x32].addAvg[ALIGNED] = PFX(addAvg_64x32_neon); -+ p.pu[LUMA_64x48].addAvg[ALIGNED] = PFX(addAvg_64x48_neon); -+ p.pu[LUMA_64x64].addAvg[ALIGNED] = PFX(addAvg_64x64_neon); - - // chroma addAvg -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg = PFX(addAvg_4x2_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg = PFX(addAvg_4x4_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg = PFX(addAvg_4x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg = PFX(addAvg_4x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg = PFX(addAvg_6x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = PFX(addAvg_8x2_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = PFX(addAvg_8x4_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = PFX(addAvg_8x6_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = PFX(addAvg_8x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = PFX(addAvg_8x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = PFX(addAvg_8x32_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = PFX(addAvg_12x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = PFX(addAvg_16x4_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = PFX(addAvg_16x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = PFX(addAvg_16x12_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = PFX(addAvg_16x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = PFX(addAvg_16x32_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg = PFX(addAvg_24x32_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = PFX(addAvg_32x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = PFX(addAvg_32x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = PFX(addAvg_32x24_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = PFX(addAvg_32x32_neon); -- -- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg = PFX(addAvg_4x8_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg = PFX(addAvg_4x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg = PFX(addAvg_4x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg = PFX(addAvg_6x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = PFX(addAvg_8x4_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = PFX(addAvg_8x8_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = PFX(addAvg_8x12_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = PFX(addAvg_8x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = PFX(addAvg_8x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = PFX(addAvg_8x64_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = PFX(addAvg_12x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = PFX(addAvg_16x8_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = PFX(addAvg_16x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = PFX(addAvg_16x24_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = PFX(addAvg_16x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = PFX(addAvg_16x64_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = PFX(addAvg_24x64_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = PFX(addAvg_32x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = PFX(addAvg_32x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = PFX(addAvg_32x48_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = PFX(addAvg_32x64_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg[ALIGNED] = PFX(addAvg_4x2_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg[ALIGNED] = PFX(addAvg_6x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg[ALIGNED] = PFX(addAvg_8x2_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg[ALIGNED] = PFX(addAvg_8x6_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); -+ -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg[ALIGNED] = PFX(addAvg_4x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg[ALIGNED] = PFX(addAvg_6x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg[ALIGNED] = PFX(addAvg_8x12_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg[ALIGNED] = PFX(addAvg_8x64_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg[ALIGNED] = PFX(addAvg_12x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg[ALIGNED] = PFX(addAvg_16x24_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg[ALIGNED] = PFX(addAvg_24x64_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg[ALIGNED] = PFX(addAvg_32x48_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); - - // quant - p.quant = PFX(quant_neon); -@@ -402,7 +402,7 @@ void setupAssemblyPrimitives(EncoderPrim - p.scale2D_64to32 = PFX(scale2D_64to32_neon); - - // scale1D_128to64 -- p.scale1D_128to64 = PFX(scale1D_128to64_neon); -+ p.scale1D_128to64[ALIGNED] = PFX(scale1D_128to64_neon); - - // copy_count - p.cu[BLOCK_4x4].copy_cnt = PFX(copy_cnt_4_neon); -@@ -411,37 +411,37 @@ void setupAssemblyPrimitives(EncoderPrim - p.cu[BLOCK_32x32].copy_cnt = PFX(copy_cnt_32_neon); - - // filterPixelToShort -- p.pu[LUMA_4x4].convert_p2s = PFX(filterPixelToShort_4x4_neon); -- p.pu[LUMA_4x8].convert_p2s = PFX(filterPixelToShort_4x8_neon); -- p.pu[LUMA_4x16].convert_p2s = PFX(filterPixelToShort_4x16_neon); -- p.pu[LUMA_8x4].convert_p2s = PFX(filterPixelToShort_8x4_neon); -- p.pu[LUMA_8x8].convert_p2s = PFX(filterPixelToShort_8x8_neon); -- p.pu[LUMA_8x16].convert_p2s = PFX(filterPixelToShort_8x16_neon); -- p.pu[LUMA_8x32].convert_p2s = PFX(filterPixelToShort_8x32_neon); -- p.pu[LUMA_12x16].convert_p2s = PFX(filterPixelToShort_12x16_neon); -- p.pu[LUMA_16x4].convert_p2s = PFX(filterPixelToShort_16x4_neon); -- p.pu[LUMA_16x8].convert_p2s = PFX(filterPixelToShort_16x8_neon); -- p.pu[LUMA_16x12].convert_p2s = PFX(filterPixelToShort_16x12_neon); -- p.pu[LUMA_16x16].convert_p2s = PFX(filterPixelToShort_16x16_neon); -- p.pu[LUMA_16x32].convert_p2s = PFX(filterPixelToShort_16x32_neon); -- p.pu[LUMA_16x64].convert_p2s = PFX(filterPixelToShort_16x64_neon); -- p.pu[LUMA_24x32].convert_p2s = PFX(filterPixelToShort_24x32_neon); -- p.pu[LUMA_32x8].convert_p2s = PFX(filterPixelToShort_32x8_neon); -- p.pu[LUMA_32x16].convert_p2s = PFX(filterPixelToShort_32x16_neon); -- p.pu[LUMA_32x24].convert_p2s = PFX(filterPixelToShort_32x24_neon); -- p.pu[LUMA_32x32].convert_p2s = PFX(filterPixelToShort_32x32_neon); -- p.pu[LUMA_32x64].convert_p2s = PFX(filterPixelToShort_32x64_neon); -- p.pu[LUMA_48x64].convert_p2s = PFX(filterPixelToShort_48x64_neon); -- p.pu[LUMA_64x16].convert_p2s = PFX(filterPixelToShort_64x16_neon); -- p.pu[LUMA_64x32].convert_p2s = PFX(filterPixelToShort_64x32_neon); -- p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); -- p.pu[LUMA_64x64].convert_p2s = PFX(filterPixelToShort_64x64_neon); -+ p.pu[LUMA_4x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x4_neon); -+ p.pu[LUMA_4x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x8_neon); -+ p.pu[LUMA_4x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x16_neon); -+ p.pu[LUMA_8x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x4_neon); -+ p.pu[LUMA_8x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x8_neon); -+ p.pu[LUMA_8x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x16_neon); -+ p.pu[LUMA_8x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x32_neon); -+ p.pu[LUMA_12x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_12x16_neon); -+ p.pu[LUMA_16x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x4_neon); -+ p.pu[LUMA_16x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x8_neon); -+ p.pu[LUMA_16x12].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x12_neon); -+ p.pu[LUMA_16x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x16_neon); -+ p.pu[LUMA_16x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x32_neon); -+ p.pu[LUMA_16x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x64_neon); -+ p.pu[LUMA_24x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_24x32_neon); -+ p.pu[LUMA_32x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x8_neon); -+ p.pu[LUMA_32x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x16_neon); -+ p.pu[LUMA_32x24].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x24_neon); -+ p.pu[LUMA_32x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x32_neon); -+ p.pu[LUMA_32x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x64_neon); -+ p.pu[LUMA_48x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_48x64_neon); -+ p.pu[LUMA_64x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x16_neon); -+ p.pu[LUMA_64x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x32_neon); -+ p.pu[LUMA_64x48].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x48_neon); -+ p.pu[LUMA_64x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x64_neon); - - // Block_fill -- p.cu[BLOCK_4x4].blockfill_s = PFX(blockfill_s_4x4_neon); -- p.cu[BLOCK_8x8].blockfill_s = PFX(blockfill_s_8x8_neon); -- p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_neon); -- p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_neon); -+ p.cu[BLOCK_4x4].blockfill_s[ALIGNED] = PFX(blockfill_s_4x4_neon); -+ p.cu[BLOCK_8x8].blockfill_s[ALIGNED] = PFX(blockfill_s_8x8_neon); -+ p.cu[BLOCK_16x16].blockfill_s[ALIGNED] = PFX(blockfill_s_16x16_neon); -+ p.cu[BLOCK_32x32].blockfill_s[ALIGNED] = PFX(blockfill_s_32x32_neon); - - // Blockcopy_ss - p.cu[BLOCK_4x4].copy_ss = PFX(blockcopy_ss_4x4_neon); -@@ -495,21 +495,21 @@ void setupAssemblyPrimitives(EncoderPrim - p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].copy_sp = PFX(blockcopy_sp_32x64_neon); - - // pixel_add_ps -- p.cu[BLOCK_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); -- p.cu[BLOCK_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); -- p.cu[BLOCK_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); -- p.cu[BLOCK_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); -- p.cu[BLOCK_64x64].add_ps = PFX(pixel_add_ps_64x64_neon); -+ p.cu[BLOCK_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); -+ p.cu[BLOCK_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); -+ p.cu[BLOCK_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); -+ p.cu[BLOCK_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); -+ p.cu[BLOCK_64x64].add_ps[ALIGNED] = PFX(pixel_add_ps_64x64_neon); - - // chroma add_ps -- p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); -- p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); -- p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); -- p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps = PFX(pixel_add_ps_4x8_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps = PFX(pixel_add_ps_8x16_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps = PFX(pixel_add_ps_16x32_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps = PFX(pixel_add_ps_32x64_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps[ALIGNED] = PFX(pixel_add_ps_4x8_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps[ALIGNED] = PFX(pixel_add_ps_8x16_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps[ALIGNED] = PFX(pixel_add_ps_16x32_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps[ALIGNED] = PFX(pixel_add_ps_32x64_neon); - - // cpy2Dto1D_shr - p.cu[BLOCK_4x4].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_4x4_neon); -@@ -518,10 +518,10 @@ void setupAssemblyPrimitives(EncoderPrim - p.cu[BLOCK_32x32].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_32x32_neon); - - // ssd_s -- p.cu[BLOCK_4x4].ssd_s = PFX(pixel_ssd_s_4x4_neon); -- p.cu[BLOCK_8x8].ssd_s = PFX(pixel_ssd_s_8x8_neon); -- p.cu[BLOCK_16x16].ssd_s = PFX(pixel_ssd_s_16x16_neon); -- p.cu[BLOCK_32x32].ssd_s = PFX(pixel_ssd_s_32x32_neon); -+ p.cu[BLOCK_4x4].ssd_s[ALIGNED] = PFX(pixel_ssd_s_4x4_neon); -+ p.cu[BLOCK_8x8].ssd_s[ALIGNED] = PFX(pixel_ssd_s_8x8_neon); -+ p.cu[BLOCK_16x16].ssd_s[ALIGNED] = PFX(pixel_ssd_s_16x16_neon); -+ p.cu[BLOCK_32x32].ssd_s[ALIGNED] = PFX(pixel_ssd_s_32x32_neon); - - // sse_ss - p.cu[BLOCK_4x4].sse_ss = PFX(pixel_sse_ss_4x4_neon); -@@ -548,10 +548,10 @@ void setupAssemblyPrimitives(EncoderPrim - p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sub_ps = PFX(pixel_sub_ps_32x64_neon); - - // calc_Residual -- p.cu[BLOCK_4x4].calcresidual = PFX(getResidual4_neon); -- p.cu[BLOCK_8x8].calcresidual = PFX(getResidual8_neon); -- p.cu[BLOCK_16x16].calcresidual = PFX(getResidual16_neon); -- p.cu[BLOCK_32x32].calcresidual = PFX(getResidual32_neon); -+ p.cu[BLOCK_4x4].calcresidual[ALIGNED] = PFX(getResidual4_neon); -+ p.cu[BLOCK_8x8].calcresidual[ALIGNED] = PFX(getResidual8_neon); -+ p.cu[BLOCK_16x16].calcresidual[ALIGNED] = PFX(getResidual16_neon); -+ p.cu[BLOCK_32x32].calcresidual[ALIGNED] = PFX(getResidual32_neon); - - // sse_pp - p.cu[BLOCK_4x4].sse_pp = PFX(pixel_sse_pp_4x4_neon); -@@ -722,31 +722,31 @@ void setupAssemblyPrimitives(EncoderPrim - p.pu[LUMA_64x64].sad_x4 = PFX(sad_x4_64x64_neon); - - // pixel_avg_pp -- p.pu[LUMA_4x4].pixelavg_pp = PFX(pixel_avg_pp_4x4_neon); -- p.pu[LUMA_4x8].pixelavg_pp = PFX(pixel_avg_pp_4x8_neon); -- p.pu[LUMA_4x16].pixelavg_pp = PFX(pixel_avg_pp_4x16_neon); -- p.pu[LUMA_8x4].pixelavg_pp = PFX(pixel_avg_pp_8x4_neon); -- p.pu[LUMA_8x8].pixelavg_pp = PFX(pixel_avg_pp_8x8_neon); -- p.pu[LUMA_8x16].pixelavg_pp = PFX(pixel_avg_pp_8x16_neon); -- p.pu[LUMA_8x32].pixelavg_pp = PFX(pixel_avg_pp_8x32_neon); -- p.pu[LUMA_12x16].pixelavg_pp = PFX(pixel_avg_pp_12x16_neon); -- p.pu[LUMA_16x4].pixelavg_pp = PFX(pixel_avg_pp_16x4_neon); -- p.pu[LUMA_16x8].pixelavg_pp = PFX(pixel_avg_pp_16x8_neon); -- p.pu[LUMA_16x12].pixelavg_pp = PFX(pixel_avg_pp_16x12_neon); -- p.pu[LUMA_16x16].pixelavg_pp = PFX(pixel_avg_pp_16x16_neon); -- p.pu[LUMA_16x32].pixelavg_pp = PFX(pixel_avg_pp_16x32_neon); -- p.pu[LUMA_16x64].pixelavg_pp = PFX(pixel_avg_pp_16x64_neon); -- p.pu[LUMA_24x32].pixelavg_pp = PFX(pixel_avg_pp_24x32_neon); -- p.pu[LUMA_32x8].pixelavg_pp = PFX(pixel_avg_pp_32x8_neon); -- p.pu[LUMA_32x16].pixelavg_pp = PFX(pixel_avg_pp_32x16_neon); -- p.pu[LUMA_32x24].pixelavg_pp = PFX(pixel_avg_pp_32x24_neon); -- p.pu[LUMA_32x32].pixelavg_pp = PFX(pixel_avg_pp_32x32_neon); -- p.pu[LUMA_32x64].pixelavg_pp = PFX(pixel_avg_pp_32x64_neon); -- p.pu[LUMA_48x64].pixelavg_pp = PFX(pixel_avg_pp_48x64_neon); -- p.pu[LUMA_64x16].pixelavg_pp = PFX(pixel_avg_pp_64x16_neon); -- p.pu[LUMA_64x32].pixelavg_pp = PFX(pixel_avg_pp_64x32_neon); -- p.pu[LUMA_64x48].pixelavg_pp = PFX(pixel_avg_pp_64x48_neon); -- p.pu[LUMA_64x64].pixelavg_pp = PFX(pixel_avg_pp_64x64_neon); -+ p.pu[LUMA_4x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x4_neon); -+ p.pu[LUMA_4x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x8_neon); -+ p.pu[LUMA_4x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x16_neon); -+ p.pu[LUMA_8x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x4_neon); -+ p.pu[LUMA_8x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x8_neon); -+ p.pu[LUMA_8x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x16_neon); -+ p.pu[LUMA_8x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x32_neon); -+ p.pu[LUMA_12x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_12x16_neon); -+ p.pu[LUMA_16x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x4_neon); -+ p.pu[LUMA_16x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x8_neon); -+ p.pu[LUMA_16x12].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x12_neon); -+ p.pu[LUMA_16x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x16_neon); -+ p.pu[LUMA_16x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x32_neon); -+ p.pu[LUMA_16x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x64_neon); -+ p.pu[LUMA_24x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_24x32_neon); -+ p.pu[LUMA_32x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x8_neon); -+ p.pu[LUMA_32x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x16_neon); -+ p.pu[LUMA_32x24].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x24_neon); -+ p.pu[LUMA_32x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x32_neon); -+ p.pu[LUMA_32x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x64_neon); -+ p.pu[LUMA_48x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_48x64_neon); -+ p.pu[LUMA_64x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x16_neon); -+ p.pu[LUMA_64x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x32_neon); -+ p.pu[LUMA_64x48].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x48_neon); -+ p.pu[LUMA_64x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x64_neon); - - // planecopy - p.planecopy_cp = PFX(pixel_planecopy_cp_neon); diff --git a/package/x265/Config.in b/package/x265/Config.in index 180931db66a..1067505d312 100644 --- a/package/x265/Config.in +++ b/package/x265/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_X265 General Public License (GPL) 2 license or a commercial license, similar to the x264 project. - https://bitbucket.org/multicoreware/x265/wiki/Home + https://bitbucket.org/multicoreware/x265_git/wiki/Home if BR2_PACKAGE_X265 diff --git a/package/x265/x265.hash b/package/x265/x265.hash index 3d70ac0c67d..fb9a5b59107 100644 --- a/package/x265/x265.hash +++ b/package/x265/x265.hash @@ -1,5 +1,5 @@ -# From https://mailman.videolan.org/pipermail/x265-devel/2020-February/012880.html -md5 0c8c747b59b5411dea8cf557554636c1 x265_3.3.tar.gz +# From https://mailman.videolan.org/pipermail/x265-devel/2021-March/013257.html +md5 deb5df5cb2ec17bdbae6ac6bbc3b1eef x265_3.5.tar.gz # Locally generated -sha256 f26e148ed1f4dfb33fd1eb3ff5e60e08078d1b2017e88bcbb045b3fb58300b9c x265_3.3.tar.gz +sha256 e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8 x265_3.5.tar.gz sha256 d8afb1bcc7a2cfc603683b168d6987ef0a48e59e0da3693bf55c5d33b67e2b49 COPYING diff --git a/package/x265/x265.mk b/package/x265/x265.mk index 872753eea86..51c39df4cd8 100644 --- a/package/x265/x265.mk +++ b/package/x265/x265.mk @@ -4,15 +4,14 @@ # ################################################################################ -X265_VERSION = 3.3 +X265_VERSION = 3.5 X265_SOURCE = x265_$(X265_VERSION).tar.gz -X265_SITE = https://bitbucket.org/multicoreware/x265/downloads +X265_SITE = https://bitbucket.org/multicoreware/x265_git/downloads X265_LICENSE = GPL-2.0+ X265_LICENSE_FILES = COPYING X265_CPE_ID_VENDOR = multicorewareinc X265_SUBDIR = source X265_INSTALL_STAGING = YES -X265_MAKE = $(MAKE1) ifeq ($(BR2_i386)$(BR2_x86_64),y) X265_DEPENDENCIES += host-nasm diff --git a/package/xapian/xapian.hash b/package/xapian/xapian.hash index 192032e6db8..e570f7e2f25 100644 --- a/package/xapian/xapian.hash +++ b/package/xapian/xapian.hash @@ -1,5 +1,5 @@ -# From https://lists.xapian.org/pipermail/xapian-discuss/2021-January/009856.html -sha256 196ddbb4ad10450100f0991a599e4ed944cbad92e4a6fe813be6dce160244b77 xapian-core-1.4.18.tar.xz +# From https://lists.xapian.org/pipermail/xapian-discuss/2022-January/009934.html +sha256 1fca48fca6cc3526cc4ba93dd194fe9c1326857b78edcfb37e68d086d714a9c3 xapian-core-1.4.19.tar.xz # locally computed sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/xapian/xapian.mk b/package/xapian/xapian.mk index 4f40babcf90..464e5478df0 100644 --- a/package/xapian/xapian.mk +++ b/package/xapian/xapian.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPIAN_VERSION = 1.4.18 +XAPIAN_VERSION = 1.4.19 XAPIAN_SOURCE = xapian-core-$(XAPIAN_VERSION).tar.xz XAPIAN_SITE = https://oligarchy.co.uk/xapian/$(XAPIAN_VERSION) XAPIAN_LICENSE = GPL-2.0+ diff --git a/package/xdg-dbus-proxy/0001-Fix-musl-compilation-by-adding-TEMP_FAILURE_RETRY.patch b/package/xdg-dbus-proxy/0001-Fix-musl-compilation-by-adding-TEMP_FAILURE_RETRY.patch deleted file mode 100644 index e531f58923c..00000000000 --- a/package/xdg-dbus-proxy/0001-Fix-musl-compilation-by-adding-TEMP_FAILURE_RETRY.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 645c45f0334bb1d6e31b5927cece5e446f129cbb Mon Sep 17 00:00:00 2001 -From: Danilo Spinella -Date: Sat, 7 Dec 2019 00:05:21 +0100 -Subject: [PATCH] Fix musl compilation by adding TEMP_FAILURE_RETRY - -Fetch from: https://github.com/flatpak/xdg-dbus-proxy/pull/13 -Upstream-Status: Accepted -Signed-off-by: Adrian Perez de Castro - ---- - dbus-proxy.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/dbus-proxy.c b/dbus-proxy.c -index 163df21..4b07931 100644 ---- a/dbus-proxy.c -+++ b/dbus-proxy.c -@@ -30,6 +30,15 @@ - #include - - #include "flatpak-proxy.h" -+// Taken from glibc unistd.h -+#ifndef TEMP_FAILURE_RETRY -+# define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif - - static const char *argv0; - static GList *proxies; --- -2.24.1 - diff --git a/package/xdg-dbus-proxy/xdg-dbus-proxy.hash b/package/xdg-dbus-proxy/xdg-dbus-proxy.hash index 37bda784361..b7aa9ac7018 100644 --- a/package/xdg-dbus-proxy/xdg-dbus-proxy.hash +++ b/package/xdg-dbus-proxy/xdg-dbus-proxy.hash @@ -1,5 +1,5 @@ -# From https://github.com/flatpak/xdg-dbus-proxy/releases/tag/0.1.2 -sha256 1749d6f9f46dcc9edc87725641cf56cf91dcad1b01707891ea0850c1000c520f xdg-dbus-proxy-0.1.2.tar.xz +# From https://github.com/flatpak/xdg-dbus-proxy/releases/tag/0.1.3 +sha256 03b5d28ca879253ddbbce31098909becca1495ea811a6377a492e28f16c09b9b xdg-dbus-proxy-0.1.3.tar.xz # Hash for license files: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/xdg-dbus-proxy/xdg-dbus-proxy.mk b/package/xdg-dbus-proxy/xdg-dbus-proxy.mk index 1b056c36f0c..9c4449c7bbb 100644 --- a/package/xdg-dbus-proxy/xdg-dbus-proxy.mk +++ b/package/xdg-dbus-proxy/xdg-dbus-proxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDG_DBUS_PROXY_VERSION = 0.1.2 +XDG_DBUS_PROXY_VERSION = 0.1.3 XDG_DBUS_PROXY_SITE = https://github.com/flatpak/xdg-dbus-proxy/releases/download/$(XDG_DBUS_PROXY_VERSION) XDG_DBUS_PROXY_SOURCE = xdg-dbus-proxy-$(XDG_DBUS_PROXY_VERSION).tar.xz XDG_DBUS_PROXY_DEPENDENCIES = host-pkgconf libglib2 diff --git a/package/xen/0002-Fix-build-with-64-bits-time_t.patch b/package/xen/0002-Fix-build-with-64-bits-time_t.patch new file mode 100644 index 00000000000..8559aece2d3 --- /dev/null +++ b/package/xen/0002-Fix-build-with-64-bits-time_t.patch @@ -0,0 +1,95 @@ +From f7a6df5f5bf3acc219352a1b25573ae2082d7e42 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 3 Dec 2020 20:58:19 +0100 +Subject: [PATCH] Fix build with 64 bits time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +This will avoid the following build failure: + +hw/input/virtio-input-host.c: In function 'virtio_input_host_handle_status': +hw/input/virtio-input-host.c:198:28: error: 'struct input_event' has no member named 'time' + 198 | if (gettimeofday(&evdev.time, NULL)) { + | ^ + +Fixes: + - http://autobuild.buildroot.org/results/a538167e288c14208d557cd45446df86d3d599d5 + - http://autobuild.buildroot.org/results/efd4474fb4b6c0ce0ab3838ce130429c51e43bbb + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Signed-off-by: Fabrice Fontaine +Message-Id: <20201203195819.583626-1-fontaine.fabrice@gmail.com> +Fixes: https://gitlab.com/qemu-project/qemu/-/issues/246 +Reviewed-by: Michael S. Tsirkin +Signed-off-by: Michael S. Tsirkin + +[Retrieved (and updated for qemu-xen) from: +https://github.com/qemu/qemu/commit/f7a6df5f5bf3acc219352a1b25573ae2082d7e42] +Signed-off-by: Fabrice Fontaine +--- + contrib/vhost-user-input/main.c | 8 ++++++-- + hw/input/virtio-input-host.c | 5 ++++- + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/tools/qemu-xen/contrib/vhost-user-input/main.c b/tools/qemu-xen/contrib/vhost-user-input/main.c +index c15d18c33f0c..081230da548a 100644 +--- a/tools/qemu-xen/contrib/vhost-user-input/main.c ++++ b/tools/qemu-xen/contrib/vhost-user-input/main.c +@@ -6,13 +6,14 @@ + #include "qemu/osdep.h" + + #include +-#include ++#include + + #include "qemu/iov.h" + #include "qemu/bswap.h" + #include "qemu/sockets.h" + #include "contrib/libvhost-user/libvhost-user.h" + #include "contrib/libvhost-user/libvhost-user-glib.h" ++#include "standard-headers/linux/input.h" + #include "standard-headers/linux/virtio_input.h" + #include "qapi/error.h" + +@@ -113,13 +114,16 @@ vi_evdev_watch(VuDev *dev, int condition, void *data) + static void vi_handle_status(VuInput *vi, virtio_input_event *event) + { + struct input_event evdev; ++ struct timeval tval; + int rc; + +- if (gettimeofday(&evdev.time, NULL)) { ++ if (gettimeofday(&tval, NULL)) { + perror("vi_handle_status: gettimeofday"); + return; + } + ++ evdev.input_event_sec = tval.tv_sec; ++ evdev.input_event_usec = tval.tv_usec; + evdev.type = le16toh(event->type); + evdev.code = le16toh(event->code); + evdev.value = le32toh(event->value); +diff --git a/tools/qemu-xen/hw/input/virtio-input-host.c b/tools/qemu-xen/hw/input/virtio-input-host.c +index 85daf73f1a80..137efba57b0f 100644 +--- a/tools/qemu-xen/hw/input/virtio-input-host.c ++++ b/tools/qemu-xen/hw/input/virtio-input-host.c +@@ -193,13 +193,16 @@ static void virtio_input_host_handle_status(VirtIOInput *vinput, + { + VirtIOInputHost *vih = VIRTIO_INPUT_HOST(vinput); + struct input_event evdev; ++ struct timeval tval; + int rc; + +- if (gettimeofday(&evdev.time, NULL)) { ++ if (gettimeofday(&tval, NULL)) { + perror("virtio_input_host_handle_status: gettimeofday"); + return; + } + ++ evdev.input_event_sec = tval.tv_sec; ++ evdev.input_event_usec = tval.tv_usec; + evdev.type = le16_to_cpu(event->type); + evdev.code = le16_to_cpu(event->code); + evdev.value = le32_to_cpu(event->value); diff --git a/package/xen/0003-libs-light-fix-tv_sec-printf-format.patch b/package/xen/0003-libs-light-fix-tv_sec-printf-format.patch new file mode 100644 index 00000000000..fffc8d73079 --- /dev/null +++ b/package/xen/0003-libs-light-fix-tv_sec-printf-format.patch @@ -0,0 +1,63 @@ +From a8ac01aa3e3ea5e6a9a1620aa8fa7e9da3458120 Mon Sep 17 00:00:00 2001 +From: Manuel Bouyer +Date: Tue, 26 Jan 2021 23:47:55 +0100 +Subject: [PATCH] libs/light: fix tv_sec printf format +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits. +Use %jd and cast to (intmax_t) instead + +Signed-off-by: Manuel Bouyer +Reviewed-by: Roger Pau Monné +[Retrieved (and backported) from: +https://gitlab.com/xen-project/xen/-/commit/a8ac01aa3e3ea5e6a9a1620aa8fa7e9da3458120] +Signed-off-by: Fabrice Fontaine +--- + tools/libs/light/libxl_create.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c +index 8616113e72..9848d65f36 100644 +--- a/tools/libxl/libxl_create.c ++++ b/tools/libxl/libxl_create.c +@@ -496,7 +496,7 @@ int libxl__domain_build(libxl__gc *gc, + vments[2] = "image/ostype"; + vments[3] = "hvm"; + vments[4] = "start_time"; +- vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); ++ vments[5] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000); + + localents = libxl__calloc(gc, 13, sizeof(char *)); + i = 0; +@@ -535,7 +535,7 @@ int libxl__domain_build(libxl__gc *gc, + vments[i++] = "image/kernel"; + vments[i++] = (char *) state->pv_kernel.path; + vments[i++] = "start_time"; +- vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); ++ vments[i++] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000); + if (state->pv_ramdisk.path) { + vments[i++] = "image/ramdisk"; + vments[i++] = (char *) state->pv_ramdisk.path; +@@ -1502,7 +1502,7 @@ static void domcreate_stream_done(libxl__egc *egc, + vments[2] = "image/ostype"; + vments[3] = "hvm"; + vments[4] = "start_time"; +- vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); ++ vments[5] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000); + break; + case LIBXL_DOMAIN_TYPE_PV: + vments = libxl__calloc(gc, 11, sizeof(char *)); +@@ -1512,7 +1512,7 @@ static void domcreate_stream_done(libxl__egc *egc, + vments[i++] = "image/kernel"; + vments[i++] = (char *) state->pv_kernel.path; + vments[i++] = "start_time"; +- vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); ++ vments[i++] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000); + if (state->pv_ramdisk.path) { + vments[i++] = "image/ramdisk"; + vments[i++] = (char *) state->pv_ramdisk.path; +-- +GitLab + diff --git a/package/xen/0004-libs-light-fix-tv_sec-fprintf-format.patch b/package/xen/0004-libs-light-fix-tv_sec-fprintf-format.patch new file mode 100644 index 00000000000..d677dce4fcd --- /dev/null +++ b/package/xen/0004-libs-light-fix-tv_sec-fprintf-format.patch @@ -0,0 +1,30 @@ +From 4881285bcfd8f2e2c913c6e9f011b1e90652f414 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 28 Aug 2021 11:00:07 +0200 +Subject: [PATCH] libs/light: fix tv_sec fprintf format + +Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits. +Use %jd and cast to (intmax_t) instead + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to xen-devel@lists.xenproject.org] +--- + tools/libs/light/libxl_domain.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/libxl/libxl_domain.c b/tools/libxl/libxl_domain.c +index c00c36c928..51a6127552 100644 +--- a/tools/libxl/libxl_domain.c ++++ b/tools/libxl/libxl_domain.c +@@ -1444,7 +1444,7 @@ static int libxl__mark_domid_recent(libxl__gc *gc, uint32_t domid) + } + } + +- r = fprintf(nf, "%lu %u\n", ctxt.ts.tv_sec, domid); ++ r = fprintf(nf, "%jd %u\n", (intmax_t)ctxt.ts.tv_sec, domid); + if (r < 0) { + LOGED(ERROR, domid, "failed to write to '%s'", new); + goto out; +-- +2.32.0 + diff --git a/package/xen/xen.hash b/package/xen/xen.hash index 95061c3fc8f..a81d05e3f7e 100644 --- a/package/xen/xen.hash +++ b/package/xen/xen.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cf0d7316ad674491f49b7ef0518cb1d906a2e3bfad639deef0ef2343b119ac0c xen-4.14.1.tar.gz +sha256 e76d56dfcdabf5d80aa06819f44472de49526a518dbb483eb08e7ff9aec2c669 xen-4.14.4.tar.gz sha256 ecca9538e9d3f7e3c2bff827502f4495e2ef9e22c451298696ea08886b176c2c COPYING diff --git a/package/xen/xen.mk b/package/xen/xen.mk index 3a758b7b20b..03341d4275a 100644 --- a/package/xen/xen.mk +++ b/package/xen/xen.mk @@ -4,7 +4,7 @@ # ################################################################################ -XEN_VERSION = 4.14.1 +XEN_VERSION = 4.14.4 XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING diff --git a/package/xenomai/3.0.10/0002-Add-disable-demo-testsuite-options.patch b/package/xenomai/3.0.10/0002-Add-disable-demo-testsuite-options.patch new file mode 100644 index 00000000000..0a817503b6c --- /dev/null +++ b/package/xenomai/3.0.10/0002-Add-disable-demo-testsuite-options.patch @@ -0,0 +1,94 @@ +From 702697cafcec735e55f075594a2990204c8ea17d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 10 Aug 2021 18:01:48 +0200 +Subject: [PATCH] Add --disable-{demo,testsuite} options +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Allow the user to disable demo and testsuite to avoid the following +build failures on arc and riscv32: + +latency.c: In function 'display': +latency.c:326:21: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'time_t' {aka 'long long int'} [-Werror=format=] + 326 | ("RTT| %.2ld:%.2ld:%.2ld (%s, %Ld us period, " + | ~~~~^ + | | + | long int + | %.2lld + 327 | "priority %d)\n", dt / 3600, + | ~~~~~~~~~ + | | + | time_t {aka long long int} + +altency.c: In function ‘display’: +altency.c:262:21: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘time_t’ {aka ‘long long int’} [-Werror=format=] + 262 | ("RTT| %.2ld:%.2ld:%.2ld (%s, %Ld us period, " + | ~~~~^ + | | + | long int + | %.2lld + 263 | "priority %d)\n", dt / 3600, + | ~~~~~~~~~ + | | + | time_t {aka long long int} + +Fixes: + - http://autobuild.buildroot.org/results/448efe22e8fe058a1b354a3c124874e30b9ce138 + +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 12 ++++++++++-- + configure.ac | 12 ++++++++++++ + 2 files changed, 22 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 891e53f66..604644277 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -6,9 +6,17 @@ SUBDIRS = \ + config \ + include \ + scripts \ +- testsuite \ +- utils \ ++ utils ++ ++if XENO_ENABLE_DEMO ++SUBDIRS += \ + demo ++endif ++ ++if XENO_ENABLE_TESTSUITE ++SUBDIRS += \ ++ testsuite ++endif + + EXTRA_DIST = kernel debian + +diff --git a/configure.ac b/configure.ac +index bd5fd5ba9..29dfd16e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -200,6 +200,18 @@ test \! x$debug_mode = x && AC_DEFINE(CONFIG_XENO_DEBUG,1,[config]) + AM_CONDITIONAL(XENO_DEBUG_FULL,[test x$debug_mode = xfull]) + test x$debug_mode = xfull && AC_DEFINE(CONFIG_XENO_DEBUG_FULL,1,[config]) + ++dnl Demo (default: on) ++ ++AC_ARG_ENABLE(demo, ++ AS_HELP_STRING([--disable-demo], [Disable demo])) ++AM_CONDITIONAL(XENO_ENABLE_DEMO,[test x$enable_demo != xno]) ++ ++dnl Testsuite (default: on) ++ ++AC_ARG_ENABLE(testsuite, ++ AS_HELP_STRING([--disable-testsuite], [Disable testsuite])) ++AM_CONDITIONAL(XENO_ENABLE_TESTSUITE,[test x$enable_testsuite != xno]) ++ + dnl Low resolution clock (default: off) + + unset lores_clock +-- +2.30.2 + diff --git a/package/xenomai/3.0.10/0003-lib-cobalt-copperplate-Use-valid-addresses-for-pthread_setspecific.patch b/package/xenomai/3.0.10/0003-lib-cobalt-copperplate-Use-valid-addresses-for-pthread_setspecific.patch new file mode 100644 index 00000000000..0c39a4ecf7a --- /dev/null +++ b/package/xenomai/3.0.10/0003-lib-cobalt-copperplate-Use-valid-addresses-for-pthread_setspecific.patch @@ -0,0 +1,57 @@ +From 627d488db3aa71406e32d4d8934629e8b0f35905 Mon Sep 17 00:00:00 2001 +From: Jan Kiszka +Date: Sat, 16 Oct 2021 15:46:33 +0200 +Subject: [PATCH] lib/{cobalt,copperplate}: Use valid addresses for + pthread_setspecific + +glibx 2.34 and newer annotated pthread_setspecific in a way that gcc-11 +complains about non-NULL pointers that are outside of what is considered +valid. So use dummy addresses instead. namely the related pthread keys. +Those pointers will never be dereferenced in both use cases. + +See also https://sourceware.org/bugzilla/show_bug.cgi?id=28458. + +Reported-by: Vitaly Chikunov +Signed-off-by: Jan Kiszka + +[Retrieved from: +https://source.denx.de/Xenomai/xenomai/-/commit/627d488db3aa71406e32d4d8934629e8b0f35905] +Signed-off-by: Fabrice Fontaine +--- + include/copperplate/threadobj.h | 6 +++++- + lib/cobalt/printf.c | 2 +- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/include/copperplate/threadobj.h b/include/copperplate/threadobj.h +index 7e6904f4c..c8363415b 100644 +--- a/include/copperplate/threadobj.h ++++ b/include/copperplate/threadobj.h +@@ -173,7 +173,11 @@ void threadobj_save_timeout(struct threadobj_corespec *corespec, + #define __THREAD_M_SPARE6 (1 << 22) + #define __THREAD_M_SPARE7 (1 << 23) + +-#define THREADOBJ_IRQCONTEXT ((struct threadobj *)-2UL) ++/* ++ * We need to use a valid address here. The object will never be dereferenced ++ * when it is identified as IRQ context, so the pthread key itself is fine. ++ */ ++#define THREADOBJ_IRQCONTEXT ((struct threadobj *)&threadobj_tskey) + + struct traceobj; + struct syncobj; +diff --git a/lib/cobalt/printf.c b/lib/cobalt/printf.c +index 8982ddc93..0aa5940c6 100644 +--- a/lib/cobalt/printf.c ++++ b/lib/cobalt/printf.c +@@ -729,7 +729,7 @@ done: + pthread_cond_init(&printer_wakeup, NULL); + spawn_printer_thread(); + /* We just need a non-zero TSD to trigger the dtor upon unwinding. */ +- pthread_setspecific(cleanup_key, (void *)1); ++ pthread_setspecific(cleanup_key, &cleanup_key); + + atexit(rt_print_flush_buffers); + } +-- +GitLab + diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index 7e3b130085e..c1ad0c5df62 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -16,6 +16,8 @@ else XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2 XENOMAI_SITE = http://xenomai.org/downloads/xenomai/stable endif +# We're patching configure.ac +XENOMAI_AUTORECONF = YES # Exclude all from the hash check, but the latest version. ifeq ($(BR2_PACKAGE_XENOMAI)$(BR2_PACKAGE_XENOMAI_LATEST_VERSION),y) @@ -37,7 +39,10 @@ XENOMAI_INSTALL_STAGING = YES XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user -XENOMAI_CONF_OPTS += --includedir=/usr/include/xenomai/ +XENOMAI_CONF_OPTS += \ + --disable-demo \ + --disable-testsuite \ + --includedir=/usr/include/xenomai/ ifeq ($(BR2_PACKAGE_XENOMAI_MERCURY),y) XENOMAI_CONF_OPTS += --with-core=mercury diff --git a/package/xerces/0002-InMemMsgLoader-loadMsg-fix-memory-leak-when-transcod.patch b/package/xerces/0002-InMemMsgLoader-loadMsg-fix-memory-leak-when-transcod.patch new file mode 100644 index 00000000000..76b37c63d90 --- /dev/null +++ b/package/xerces/0002-InMemMsgLoader-loadMsg-fix-memory-leak-when-transcod.patch @@ -0,0 +1,87 @@ +From 1bdf6d8ba878c1fe1d779824be70001fc0bebd2c Mon Sep 17 00:00:00 2001 +From: Even Rouault +Date: Fri, 27 Aug 2021 01:33:27 +0200 +Subject: [PATCH] InMemMsgLoader::loadMsg(): fix memory leak when transcoding + fails. + +Seen with the IconvGNU transcoder when parsing " + +--- + .../MsgLoaders/InMemory/InMemMsgLoader.cpp | 31 ++++++++++++++----- + 1 file changed, 23 insertions(+), 8 deletions(-) + +diff --git a/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp b/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp +index cda103226..6971fde96 100644 +--- a/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp ++++ b/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp +@@ -25,6 +25,7 @@ + // --------------------------------------------------------------------------- + #include + #include ++#include + #include + #include + #include +@@ -153,14 +154,28 @@ bool InMemMsgLoader::loadMsg(const XMLMsgLoader::XMLMsgId msgToLoad + XMLCh* tmp4 = 0; + + bool bRet = false; +- if (repText1) +- tmp1 = XMLString::transcode(repText1, manager); +- if (repText2) +- tmp2 = XMLString::transcode(repText2, manager); +- if (repText3) +- tmp3 = XMLString::transcode(repText3, manager); +- if (repText4) +- tmp4 = XMLString::transcode(repText4, manager); ++ try ++ { ++ if (repText1) ++ tmp1 = XMLString::transcode(repText1, manager); ++ if (repText2) ++ tmp2 = XMLString::transcode(repText2, manager); ++ if (repText3) ++ tmp3 = XMLString::transcode(repText3, manager); ++ if (repText4) ++ tmp4 = XMLString::transcode(repText4, manager); ++ } ++ catch( const TranscodingException& ) ++ { ++ if (tmp1) ++ manager->deallocate(tmp1); ++ if (tmp2) ++ manager->deallocate(tmp2); ++ if (tmp3) ++ manager->deallocate(tmp3); ++ // Note: tmp4 cannot leak ++ throw; ++ } + + bRet = loadMsg(msgToLoad, toFill, maxChars, tmp1, tmp2, tmp3, tmp4, manager); + +-- +2.17.1 + diff --git a/package/xerces/Config.in b/package/xerces/Config.in index 828b5dd2a04..20cd2ab1a63 100644 --- a/package/xerces/Config.in +++ b/package/xerces/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_XERCES bool "xerces-c++" depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR help Xerces-C++ is a validating XML parser written in portable C++. @@ -17,5 +18,6 @@ config BR2_PACKAGE_XERCES_ENABLE_NETWORK endif -comment "xerces-c++ needs a toolchain w/ C++, wchar" - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) +comment "xerces-c++ needs a toolchain w/ C++, dynamic library, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_USE_WCHAR diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in index b8e07cc83d1..a382b63ff87 100644 --- a/package/xfsprogs/Config.in +++ b/package/xfsprogs/Config.in @@ -1,12 +1,15 @@ comment "xfsprogs needs a toolchain w/ threads" + depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_XFSPROGS bool "xfsprogs" + depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_INIH + select BR2_PACKAGE_LIBURCU select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_UTIL_LINUX_LIBBLKID diff --git a/package/xfsprogs/xfsprogs.hash b/package/xfsprogs/xfsprogs.hash index b379839e7e5..bb546601dc4 100644 --- a/package/xfsprogs/xfsprogs.hash +++ b/package/xfsprogs/xfsprogs.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/sha256sums.asc -sha256 e04017e46d43e4d54b9a560fd7cea922520f8f6ef882404969d20cd4e5c790e9 xfsprogs-5.10.0.tar.xz +sha256 01ccd3ef9df2837753a5d876b8da84ea957d13d7a461b8c46e8afa4eb09aabc8 xfsprogs-5.14.2.tar.xz # Hash for license files sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0 diff --git a/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk index 71d02278e9f..695471bddcc 100644 --- a/package/xfsprogs/xfsprogs.mk +++ b/package/xfsprogs/xfsprogs.mk @@ -4,13 +4,13 @@ # ################################################################################ -XFSPROGS_VERSION = 5.10.0 +XFSPROGS_VERSION = 5.14.2 XFSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/fs/xfs/xfsprogs XFSPROGS_SOURCE = xfsprogs-$(XFSPROGS_VERSION).tar.xz XFSPROGS_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1 (libhandle, few headers) XFSPROGS_LICENSE_FILES = LICENSES/GPL-2.0 LICENSES/LGPL-2.1 -XFSPROGS_DEPENDENCIES = inih util-linux +XFSPROGS_DEPENDENCIES = inih liburcu util-linux XFSPROGS_CONF_ENV = ac_cv_header_aio_h=yes ac_cv_lib_rt_lio_listio=yes PLATFORM="linux" XFSPROGS_CONF_OPTS = \ diff --git a/package/xl2tp/xl2tp.hash b/package/xl2tp/xl2tp.hash index 471657f0f20..eca918bc832 100644 --- a/package/xl2tp/xl2tp.hash +++ b/package/xl2tp/xl2tp.hash @@ -1,3 +1,3 @@ # locally computed -sha256 c28608b315adb25c8bf9579c1d6ab52ab47c4c43b68a5ab63c5d039196fd180f xl2tp-1.3.16.tar.gz +sha256 898d9b6a374c78dea5f20d80fd50fac13428ad746fefb16ff5f6bec449affe67 xl2tp-1.3.17.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/xl2tp/xl2tp.mk b/package/xl2tp/xl2tp.mk index 89ca65a7e48..e42eeb17091 100644 --- a/package/xl2tp/xl2tp.mk +++ b/package/xl2tp/xl2tp.mk @@ -4,11 +4,12 @@ # ################################################################################ -XL2TP_VERSION = 1.3.16 +XL2TP_VERSION = 1.3.17 XL2TP_SITE = $(call github,xelerance,xl2tpd,v$(XL2TP_VERSION)) XL2TP_DEPENDENCIES = libpcap XL2TP_LICENSE = GPL-2.0 XL2TP_LICENSE_FILES = LICENSE +XL2TP_SELINUX_MODULES = l2tp ifeq ($(BR2_STATIC_LIBS),y) XL2TP_LDLIBS = LDLIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" diff --git a/package/xml-security-c/Config.in b/package/xml-security-c/Config.in new file mode 100644 index 00000000000..c7963be69a0 --- /dev/null +++ b/package/xml-security-c/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_XML_SECURITY_C + bool "xml-security-c" + depends on BR2_INSTALL_LIBSTDCPP # xerces + depends on !BR2_STATIC_LIBS # xerces + depends on BR2_USE_WCHAR # xerces + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_XERCES + help + The xml-security-c library is a C++ implementation of + the XML Digital Signature and Encryption specifications. + + https://santuario.apache.org/cindex.html + +comment "xml-security-c needs a toolchain w/ C++, wchar, dynamic library, threads, gcc >= 4.7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/xml-security-c/xml-security-c.hash b/package/xml-security-c/xml-security-c.hash new file mode 100644 index 00000000000..f4b7041a632 --- /dev/null +++ b/package/xml-security-c/xml-security-c.hash @@ -0,0 +1,3 @@ +# From http://www.apache.org/dist/santuario/c-library/xml-security-c-2.0.4.tar.gz.sha256 +sha256 a78da6720f6c2ba14100d2426131e0d33eac5a2dba5cc11bdd04974b7eb89003 xml-security-c-2.0.4.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE.txt diff --git a/package/xml-security-c/xml-security-c.mk b/package/xml-security-c/xml-security-c.mk new file mode 100644 index 00000000000..fda9af47988 --- /dev/null +++ b/package/xml-security-c/xml-security-c.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# xml-security-c +# +################################################################################ + +XML_SECURITY_C_VERSION = 2.0.4 +XML_SECURITY_C_SITE = http://archive.apache.org/dist/santuario/c-library +XML_SECURITY_C_LICENSE = Apache-2.0 +XML_SECURITY_C_LICENSE_FILES = LICENSE.txt +XML_SECURITY_C_DEPENDENCIES = openssl xerces +XML_SECURITY_C_INSTALL_STAGING = YES + +XML_SECURITY_C_CONF_ENV = \ + xml_cv_func_getcwd_null=yes \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" + +$(eval $(autotools-package)) diff --git a/package/xmrig/Config.in b/package/xmrig/Config.in new file mode 100644 index 00000000000..c5c6b3e37b2 --- /dev/null +++ b/package/xmrig/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_XMRIG + bool "xmrig" + # archs officially supported by upstream + depends on BR2_aarch64 || BR2_x86_64 || BR2_i386 + depends on BR2_USE_MMU # libuv + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + # xmrig needs fenv.h which is not provided by uclibc + depends on !BR2_TOOLCHAIN_USES_UCLIBC + depends on !BR2_STATIC_LIBS # libuv + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_LIBUV + help + RandomX, CryptoNight, AstroBWT and Argon2 CPU/GPU miner. + + https://xmrig.com + +comment "xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++" + depends on BR2_aarch64 || BR2_x86_64 || BR2_i386 + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + BR2_TOOLCHAIN_USES_UCLIBC || BR2_STATIC_LIBS || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/xmrig/xmrig.hash b/package/xmrig/xmrig.hash new file mode 100644 index 00000000000..36b0c8c8a1c --- /dev/null +++ b/package/xmrig/xmrig.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d413b6a20a0ce30410388d330e1056715333e0863165369668dda596766e9d5b xmrig-6.16.3.tar.gz +sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE diff --git a/package/xmrig/xmrig.mk b/package/xmrig/xmrig.mk new file mode 100644 index 00000000000..7fa638a54cd --- /dev/null +++ b/package/xmrig/xmrig.mk @@ -0,0 +1,43 @@ +################################################################################ +# +# xmrig +# +################################################################################ + +XMRIG_VERSION = 6.16.3 +XMRIG_SITE = $(call github,xmrig,xmrig,v$(XMRIG_VERSION)) +XMRIG_LICENSE = GPL-3.0+ +XMRIG_LICENSE_FILES = LICENSE +XMRIG_DEPENDENCIES = libuv +XMRIG_CONF_OPTS = -DWITH_CUDA=OFF + +ifeq ($(BR2_PACKAGE_HAS_LIBOPENCL),y) +XMRIG_CONF_OPTS += -DWITH_OPENCL=ON +XMRIG_DEPENDENCIES += libopencl +else +XMRIG_CONF_OPTS += -DWITH_OPENCL=OFF +endif + +ifeq ($(BR2_PACKAGE_HWLOC),y) +XMRIG_CONF_OPTS += -DWITH_HWLOC=ON +XMRIG_DEPENDENCIES += hwloc +else +XMRIG_CONF_OPTS += -DWITH_HWLOC=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +XMRIG_CONF_OPTS += -DWITH_TLS=ON +XMRIG_DEPENDENCIES += openssl +else +XMRIG_CONF_OPTS += -DWITH_TLS=OFF +XMRIG_SUFFIX = -notls +endif + +# Upstream provides no installation rule: +# *** No rule to make target 'install/fast'. Stop. +define XMRIG_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/xmrig$(XMRIG_SUFFIX) \ + $(TARGET_DIR)/usr/bin/xmrig$(XMRIG_SUFFIX) +endef + +$(eval $(cmake-package)) diff --git a/package/xorriso/xorriso.hash b/package/xorriso/xorriso.hash index faaeab5fa0b..cbbd360d923 100644 --- a/package/xorriso/xorriso.hash +++ b/package/xorriso/xorriso.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 3b69f5c93ae7c40c5bbe4a847fa3963f5efc9c565551622f77121c5792fc17e7 xorriso-1.5.2.tar.gz +sha256 3ec7393d4a9dcbf5f74309c28a415f55227ec62770b95ae993ac8d7a3b152972 xorriso-1.5.4.pl02.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 72e99e72cd68f226415e5d898f3b38e24ae7991ed038ed72d789fff5b060f028 COPYRIGHT diff --git a/package/xorriso/xorriso.mk b/package/xorriso/xorriso.mk index 7b38f268bb9..ac6b0cdf27a 100644 --- a/package/xorriso/xorriso.mk +++ b/package/xorriso/xorriso.mk @@ -4,7 +4,7 @@ # ################################################################################ -XORRISO_VERSION = 1.5.2 +XORRISO_VERSION = 1.5.4.pl02 XORRISO_SITE = $(BR2_GNU_MIRROR)/xorriso XORRISO_LICENSE = GPL-3.0+ XORRISO_LICENSE_FILES = COPYING COPYRIGHT @@ -12,14 +12,16 @@ XORRISO_LICENSE_FILES = COPYING COPYRIGHT # Disable everything until we actually need those features, and add the correct # host libraries HOST_XORRISO_CONF_OPTS = \ + --enable-zlib \ --disable-xattr-h-pref-attr \ - --disable-zlib \ --disable-libbz2 \ --disable-libcdio \ --disable-libreadline \ --disable-libedit \ --disable-libacl +HOST_XORRISO_DEPENDENCIES = host-zlib + # libcdio doesn't make sense for Linux # http://lists.gnu.org/archive/html/bug-xorriso/2017-04/msg00004.html XORRISO_CONF_OPTS = --disable-libcdio diff --git a/package/xr819-xradio/xr819-xradio.hash b/package/xr819-xradio/xr819-xradio.hash index efff92ab7db..4a77db0d1a9 100644 --- a/package/xr819-xradio/xr819-xradio.hash +++ b/package/xr819-xradio/xr819-xradio.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 5900821a777b9008d7cf9b8128e0cb75a4623ecb608b45438e17c7a056cde1bf xr819-xradio-6bf0e2e21c80456e2a3d4ad1267caecde7165871.tar.gz +sha256 06b91b1fcf98a261125b4d599ffcce2458fb9d0c1f38a4bd432a622b446f0f51 xr819-xradio-16180b6308e3c5dc42a92a663adf669028087ff7.tar.gz # Locally computed -sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 LICENSE +sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 LICENSE diff --git a/package/xr819-xradio/xr819-xradio.mk b/package/xr819-xradio/xr819-xradio.mk index c1fe3295b63..5f60be887c8 100644 --- a/package/xr819-xradio/xr819-xradio.mk +++ b/package/xr819-xradio/xr819-xradio.mk @@ -4,7 +4,7 @@ # ################################################################################ -XR819_XRADIO_VERSION = 6bf0e2e21c80456e2a3d4ad1267caecde7165871 +XR819_XRADIO_VERSION = 16180b6308e3c5dc42a92a663adf669028087ff7 XR819_XRADIO_SITE = $(call github,fifteenhex,xradio,$(XR819_XRADIO_VERSION)) XR819_XRADIO_LICENSE = GPL-2.0 XR819_XRADIO_LICENSE_FILES = LICENSE diff --git a/package/xscreensaver/Config.in b/package/xscreensaver/Config.in index d773c699136..10b2b7012cf 100644 --- a/package/xscreensaver/Config.in +++ b/package/xscreensaver/Config.in @@ -6,8 +6,9 @@ config BR2_PACKAGE_XSCREENSAVER depends on BR2_USE_WCHAR # gdk-pixbuf, libgtk2 -> glib2 depends on BR2_USE_MMU # gdk-pixbuf, libgtk2 -> glib2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libgtk2 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgtk2 -> pango -> harfbuzz select BR2_PACKAGE_GDK_PIXBUF + select BR2_PACKAGE_GDK_PIXBUF_XLIB select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBGTK2 select BR2_PACKAGE_LIBXML2 @@ -25,10 +26,10 @@ config BR2_PACKAGE_XSCREENSAVER http://www.jwz.org/xscreensaver/ -comment "xscreensaver needs a toolchain w/ wchar, C++, threads, gcc >= 4.8" +comment "xscreensaver needs a toolchain w/ wchar, C++, threads, gcc >= 4.9" depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_USE_WCHAR diff --git a/package/xscreensaver/xscreensaver.mk b/package/xscreensaver/xscreensaver.mk index c3c9ec89c3a..46dedc3211c 100644 --- a/package/xscreensaver/xscreensaver.mk +++ b/package/xscreensaver/xscreensaver.mk @@ -11,9 +11,11 @@ XSCREENSAVER_SITE = https://www.jwz.org/xscreensaver XSCREENSAVER_LICENSE = MIT-like, GPL-2.0+ XSCREENSAVER_LICENSE_FILES = hacks/screenhack.h hacks/glx/chessmodels.h XSCREENSAVER_CPE_ID_VENDOR = xscreensaver_project +XSCREENSAVER_SELINUX_MODULES = xdg xscreensaver xserver XSCREENSAVER_DEPENDENCIES = \ gdk-pixbuf \ + gdk-pixbuf-xlib \ jpeg \ libgtk2 \ libxml2 \ diff --git a/package/xtables-addons/xtables-addons.hash b/package/xtables-addons/xtables-addons.hash index 2cfb91178e4..a103fa3b523 100644 --- a/package/xtables-addons/xtables-addons.hash +++ b/package/xtables-addons/xtables-addons.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 893c0c4ea09759cda1ab7e68f1281d125e59270f7b59e446204ce686c6a76d65 xtables-addons-3.13.tar.xz +sha256 2a640535f209ec59467b8c8b4343b446801a21a112a3fc189818d6e2697f5cf1 xtables-addons-3.17.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/xtables-addons/xtables-addons.mk b/package/xtables-addons/xtables-addons.mk index 55e1a5d01b4..b3d1bf2d448 100644 --- a/package/xtables-addons/xtables-addons.mk +++ b/package/xtables-addons/xtables-addons.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTABLES_ADDONS_VERSION = 3.13 +XTABLES_ADDONS_VERSION = 3.17 XTABLES_ADDONS_SOURCE = xtables-addons-$(XTABLES_ADDONS_VERSION).tar.xz XTABLES_ADDONS_SITE = https://inai.de/files/xtables-addons XTABLES_ADDONS_DEPENDENCIES = iptables linux host-pkgconf @@ -17,10 +17,10 @@ XTABLES_ADDONS_CONF_OPTS = \ --with-xtlibdir="/usr/lib/xtables" # geoip helpers need perl with modules and unzip so disable -define XTABLES_DISABLE_GEOIP_HELPERS +define XTABLES_ADDONS_DISABLE_GEOIP_HELPERS $(SED) 's/ geoip//' $(@D)/Makefile.in endef -XTABLES_ADDONS_POST_PATCH_HOOKS += XTABLES_DISABLE_GEOIP_HELPERS +XTABLES_ADDONS_POST_PATCH_HOOKS += XTABLES_ADDONS_DISABLE_GEOIP_HELPERS define XTABLES_ADDONS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) diff --git a/package/xterm/xterm.hash b/package/xterm/xterm.hash index 588b7fca51b..3f6ec765ced 100644 --- a/package/xterm/xterm.hash +++ b/package/xterm/xterm.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 858b2885963fe97e712739066aadc1baeba2b33a0016303a7fec7d38bc73bf6e xterm-366.tgz +sha256 32f888277b19e28ebc0a3112bff000607c07bed0679caa0beebb36f9cad484f5 xterm-371.tgz # Locally calculated -sha256 dfb668cc977e24649500f3cc54de3e2b793928d210715a445ab1227930b07ba6 COPYING +sha256 9521ef761474cd31ea406f56a751646a7b42a9287cdc6f2f8e52ed4c4d2a73e7 COPYING diff --git a/package/xterm/xterm.mk b/package/xterm/xterm.mk index 6f142a0b564..95984f1cf93 100644 --- a/package/xterm/xterm.mk +++ b/package/xterm/xterm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTERM_VERSION = 366 +XTERM_VERSION = 371 XTERM_SOURCE = xterm-$(XTERM_VERSION).tgz XTERM_SITE = http://invisible-mirror.net/archives/xterm XTERM_DEPENDENCIES = ncurses xlib_libXaw host-pkgconf diff --git a/package/xvisor/0001-fix-build-with-gcc-10.patch b/package/xvisor/0001-fix-build-with-gcc-10.patch deleted file mode 100644 index a538558d86b..00000000000 --- a/package/xvisor/0001-fix-build-with-gcc-10.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 8458abb357cd981f55d730ec2d74459a3042e571 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 6 Oct 2020 21:52:20 +0200 -Subject: [PATCH] fix build with gcc 10 - -Define variables in header files as extern to avoid the following build failure -with gcc 10 (which defaults to -fno-common): - -/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/arm-buildroot-linux-gnueabihf-ld: -/home/giuliobenetti/autobuild/run/instance-3/output-1/build/xvisor-0.3.0/build/drivers/mmc/core/mmc.o:/home/giuliobenetti/autobuild/run/instance-3/output-1/build/xvisor-0.3.0/drivers/mmc/core/core.h:67: -multiple definition of `sdio_func_type'; -/home/giuliobenetti/autobuild/run/instance-3/output-1/build/xvisor-0.3.0/build/drivers/mmc/core/core.o:/home/giuliobenetti/autobuild/run/instance-3/output-1/build/xvisor-0.3.0/drivers/mmc/core/core.h:67: -first defined here - -Fixes: - - http://autobuild.buildroot.org/results/b6070c0721b33824e71833ce53423979980aa598 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/xvisor/xvisor/pull/125] ---- - drivers/mmc/core/core.h | 2 +- - emulators/display/drawfn.h | 10 +++++----- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h -index d75d135a..e2ca3141 100644 ---- a/drivers/mmc/core/core.h -+++ b/drivers/mmc/core/core.h -@@ -64,7 +64,7 @@ int mmc_go_idle(struct mmc_host *host); - * Note: Must be called with host->lock held. - */ - extern struct vmm_bus sdio_bus_type; --struct vmm_device_type sdio_func_type; -+extern struct vmm_device_type sdio_func_type; - - int __sdio_attach(struct mmc_host *host); - -diff --git a/emulators/display/drawfn.h b/emulators/display/drawfn.h -index f9163cff..385deaf6 100644 ---- a/emulators/display/drawfn.h -+++ b/emulators/display/drawfn.h -@@ -69,14 +69,14 @@ typedef void (*drawfn)(struct vmm_surface *, - DRAWFN_ORDER_MAX * \ - DRAWFN_FORMAT_MAX) - --drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE]; - - #endif --- -2.28.0 - diff --git a/package/xvisor/0001-psmouse-back.c-fix-build-with-gcc-11.patch b/package/xvisor/0001-psmouse-back.c-fix-build-with-gcc-11.patch new file mode 100644 index 00000000000..1c02f45c9d5 --- /dev/null +++ b/package/xvisor/0001-psmouse-back.c-fix-build-with-gcc-11.patch @@ -0,0 +1,115 @@ +From 0e07e82121697d99470a147eadad9a708889c4df Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 2 Sep 2021 18:13:03 +0200 +Subject: [PATCH] psmouse-back.c: fix build with gcc 11 + +Fix the following build failures with gcc 11 by defining inline +functions as static: + +/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/build/drivers/drivers.o: in function `psmouse_extensions': +/home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `lifebook_detect' +/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `alps_detect' +/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `ps2pp_init' +/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `trackpoint_detect' +/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `fsp_detect' + +Fixes: + - http://autobuild.buildroot.org/results/69062b9c80567d135edd48890165e69881cf7295 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/xvisor/xvisor/pull/139] +--- + drivers/input/mouse/alps.h | 4 ++-- + drivers/input/mouse/lifebook.h | 6 +++--- + drivers/input/mouse/logips2pp.h | 2 +- + drivers/input/mouse/sentelic.h | 4 ++-- + drivers/input/mouse/trackpoint.h | 2 +- + 5 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/drivers/input/mouse/alps.h b/drivers/input/mouse/alps.h +index ae1ac354..acc1e89e 100644 +--- a/drivers/input/mouse/alps.h ++++ b/drivers/input/mouse/alps.h +@@ -51,11 +51,11 @@ struct alps_data { + int alps_detect(struct psmouse *psmouse, bool set_properties); + int alps_init(struct psmouse *psmouse); + #else +-inline int alps_detect(struct psmouse *psmouse, bool set_properties) ++static inline int alps_detect(struct psmouse *psmouse, bool set_properties) + { + return -ENOSYS; + } +-inline int alps_init(struct psmouse *psmouse) ++static inline int alps_init(struct psmouse *psmouse) + { + return -ENOSYS; + } +diff --git a/drivers/input/mouse/lifebook.h b/drivers/input/mouse/lifebook.h +index 4c4326c6..0baf02a7 100644 +--- a/drivers/input/mouse/lifebook.h ++++ b/drivers/input/mouse/lifebook.h +@@ -16,14 +16,14 @@ void lifebook_module_init(void); + int lifebook_detect(struct psmouse *psmouse, bool set_properties); + int lifebook_init(struct psmouse *psmouse); + #else +-inline void lifebook_module_init(void) ++static inline void lifebook_module_init(void) + { + } +-inline int lifebook_detect(struct psmouse *psmouse, bool set_properties) ++static inline int lifebook_detect(struct psmouse *psmouse, bool set_properties) + { + return -ENOSYS; + } +-inline int lifebook_init(struct psmouse *psmouse) ++static inline int lifebook_init(struct psmouse *psmouse) + { + return -ENOSYS; + } +diff --git a/drivers/input/mouse/logips2pp.h b/drivers/input/mouse/logips2pp.h +index 0c186f02..439e9c58 100644 +--- a/drivers/input/mouse/logips2pp.h ++++ b/drivers/input/mouse/logips2pp.h +@@ -14,7 +14,7 @@ + #ifdef CONFIG_MOUSE_PS2_LOGIPS2PP + int ps2pp_init(struct psmouse *psmouse, bool set_properties); + #else +-inline int ps2pp_init(struct psmouse *psmouse, bool set_properties) ++static inline int ps2pp_init(struct psmouse *psmouse, bool set_properties) + { + return -ENOSYS; + } +diff --git a/drivers/input/mouse/sentelic.h b/drivers/input/mouse/sentelic.h +index aa697ece..42df9e3b 100644 +--- a/drivers/input/mouse/sentelic.h ++++ b/drivers/input/mouse/sentelic.h +@@ -123,11 +123,11 @@ struct fsp_data { + extern int fsp_detect(struct psmouse *psmouse, bool set_properties); + extern int fsp_init(struct psmouse *psmouse); + #else +-inline int fsp_detect(struct psmouse *psmouse, bool set_properties) ++static inline int fsp_detect(struct psmouse *psmouse, bool set_properties) + { + return -ENOSYS; + } +-inline int fsp_init(struct psmouse *psmouse) ++static inline int fsp_init(struct psmouse *psmouse) + { + return -ENOSYS; + } +diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h +index e558a709..f14e59c0 100644 +--- a/drivers/input/mouse/trackpoint.h ++++ b/drivers/input/mouse/trackpoint.h +@@ -145,7 +145,7 @@ struct trackpoint_data + #ifdef CONFIG_MOUSE_PS2_TRACKPOINT + int trackpoint_detect(struct psmouse *psmouse, bool set_properties); + #else +-inline int trackpoint_detect(struct psmouse *psmouse, bool set_properties) ++static inline int trackpoint_detect(struct psmouse *psmouse, bool set_properties) + { + return -ENOSYS; + } +-- +2.32.0 + diff --git a/package/xvisor/Config.in b/package/xvisor/Config.in index eb7475b86dd..1eb50c8abea 100644 --- a/package/xvisor/Config.in +++ b/package/xvisor/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_XVISOR_ARCH_SUPPORTS bool - default y + default y if BR2_aarch64 + default y if BR2_cortex_a7 || BR2_cortex_a12 || BR2_cortex_a15 || BR2_cortex_a17 + default y if BR2_riscv + default y if BR2_x86_64 depends on BR2_USE_MMU - depends on BR2_arm || BR2_aarch64 || BR2_x86_64 - depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV7M menuconfig BR2_PACKAGE_XVISOR bool "xvisor" @@ -32,10 +33,10 @@ endchoice config BR2_PACKAGE_XVISOR_DEFCONFIG string "Defconfig name" - default "generic-v5" if BR2_ARM_CPU_ARMV5 - default "generic-v6" if BR2_ARM_CPU_ARMV6 - default "generic-v7" if BR2_ARM_CPU_ARMV7A + default "generic-v7-ve" if BR2_ARM_CPU_ARMV7A default "generic-v8" if BR2_aarch64 + default "generic-32b" if BR2_RISCV_32 + default "generic-64b" if BR2_RISCV_64 default "x86_64_generic" if BR2_x86_64 depends on BR2_PACKAGE_XVISOR_USE_DEFCONFIG help diff --git a/package/xvisor/xvisor.hash b/package/xvisor/xvisor.hash index 6938e20e7be..45b6fec49c0 100644 --- a/package/xvisor/xvisor.hash +++ b/package/xvisor/xvisor.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 81660d26a0bc63979ba40872f10511df777185712eba2d0e19e816438388de05 xvisor-0.3.0.tar.xz +sha256 b1bb2ca09340e87a2f465c65196892cdd0f59b798794ae69e35d1f883cf9ba49 xvisor-0.3.1.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/xvisor/xvisor.mk b/package/xvisor/xvisor.mk index 394ff7c80b3..d7bb288ea8a 100644 --- a/package/xvisor/xvisor.mk +++ b/package/xvisor/xvisor.mk @@ -4,7 +4,7 @@ # ################################################################################ -XVISOR_VERSION = 0.3.0 +XVISOR_VERSION = 0.3.1 XVISOR_SOURCE = xvisor-$(XVISOR_VERSION).tar.xz XVISOR_SITE = http://www.xhypervisor.org/tarball XVISOR_LICENSE = GPL-2.0+ @@ -32,6 +32,8 @@ ifeq ($(BR2_x86_64),y) XVISOR_ARCH = x86 else ifeq ($(BR2_arm)$(BR2_aarch64),y) XVISOR_ARCH = arm +else ifeq ($(BR2_riscv),y) +XVISOR_ARCH = riscv endif ifeq ($(BR2_PACKAGE_XVISOR)$(BR_BUILDING),yy) diff --git a/package/xxhash/0001-fix-man-page-installation.patch b/package/xxhash/0001-fix-man-page-installation.patch new file mode 100644 index 00000000000..5d2a5a4efa8 --- /dev/null +++ b/package/xxhash/0001-fix-man-page-installation.patch @@ -0,0 +1,66 @@ +From 836f4e735cf368542f14005e41d2f84ec29dfd60 Mon Sep 17 00:00:00 2001 +From: Yann Collet +Date: Sat, 4 Dec 2021 10:29:49 -0800 +Subject: [PATCH] fix man page installation + +for variant redirectors (`xxh32sum`, `xxh64sum` and `xxh128sum`). +fix #647, reported by @jpalus. + +Also : slightly updated man page text, for clarity and accuracy. + +[Retrieved (and updated to keep only Makefile update) from: +https://github.com/Cyan4973/xxHash/commit/836f4e735cf368542f14005e41d2f84ec29dfd60] +Signed-off-by: Fabrice Fontaine +--- + Makefile | 14 ++++++++------ + cli/xxhsum.1 | 8 ++++---- + cli/xxhsum.1.md | 8 +++++--- + 3 files changed, 17 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 2fbefbc6..63273e16 100644 +--- a/Makefile ++++ b/Makefile +@@ -457,6 +457,7 @@ endif + + INSTALL_PROGRAM ?= $(INSTALL) + INSTALL_DATA ?= $(INSTALL) -m 644 ++INSTALL_DIR ?= $(INSTALL) -d -m 755 + + + # Escape special symbols by putting each character into its separate class +@@ -496,7 +497,7 @@ libxxhash.pc: libxxhash.pc.in + .PHONY: install + install: lib libxxhash.pc xxhsum ## install libraries, CLI, links and man page + @echo Installing libxxhash +- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR) ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(LIBDIR) + $(Q)$(INSTALL_DATA) libxxhash.a $(DESTDIR)$(LIBDIR) + $(Q)$(INSTALL_PROGRAM) $(LIBXXH) $(DESTDIR)$(LIBDIR) + $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT_MAJOR) +@@ -508,19 +509,20 @@ ifeq ($(DISPATCH),1) + $(Q)$(INSTALL_DATA) xxh_x86dispatch.h $(DESTDIR)$(INCLUDEDIR) + endif + @echo Installing pkgconfig +- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/ ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGCONFIGDIR)/ + $(Q)$(INSTALL_DATA) libxxhash.pc $(DESTDIR)$(PKGCONFIGDIR)/ + @echo Installing xxhsum +- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(MANDIR)/ ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(BINDIR)/ + $(Q)$(INSTALL_PROGRAM) xxhsum $(DESTDIR)$(BINDIR)/xxhsum + $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh32sum + $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh64sum + $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh128sum + @echo Installing man pages ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/ + $(Q)$(INSTALL_DATA) $(MAN) $(DESTDIR)$(MANDIR)/xxhsum.1 +- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh32sum.1 +- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh64sum.1 +- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh128sum.1 ++ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh32sum.1 ++ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh64sum.1 ++ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh128sum.1 + @echo xxhash installation completed + + .PHONY: uninstall diff --git a/package/xxhash/0002-Makefile-add-dedicated-install-targets.patch b/package/xxhash/0002-Makefile-add-dedicated-install-targets.patch new file mode 100644 index 00000000000..17d34a08233 --- /dev/null +++ b/package/xxhash/0002-Makefile-add-dedicated-install-targets.patch @@ -0,0 +1,71 @@ +From 0e7418bce83bb9c236d9cb4535a36a80cd0cc663 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 15 Dec 2021 21:45:14 +0100 +Subject: [PATCH] Makefile: add dedicated install targets + +Add dedicated install targets to allow the user to install only xxhsum, +the static library, the shared library, etc. + +This is especially useful on embedded systems where dynamic library is +not always supported by toolchains + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/Cyan4973/xxHash/commit/db9c199e99f7b4d419647b1ef49c547fc2547516] +--- + Makefile | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 8d4fcd21..5fe72972 100644 +--- a/Makefile ++++ b/Makefile +@@ -505,11 +505,14 @@ libxxhash.pc: libxxhash.pc.in + $< > $@ + + +-.PHONY: install +-install: lib libxxhash.pc xxhsum ## install libraries, CLI, links and man page +- @echo Installing libxxhash ++install_libxxhash.a: libxxhash.a ++ @echo Installing libxxhash.a + $(Q)$(INSTALL_DIR) $(DESTDIR)$(LIBDIR) + $(Q)$(INSTALL_DATA) libxxhash.a $(DESTDIR)$(LIBDIR) ++ ++install_libxxhash: libxxhash ++ @echo Installing libxxhash ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(LIBDIR) + $(Q)$(INSTALL_PROGRAM) $(LIBXXH) $(DESTDIR)$(LIBDIR) + $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT_MAJOR) + $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT) +@@ -519,21 +522,30 @@ install: lib libxxhash.pc xxhsum ## install libraries, CLI, links and man page + ifeq ($(DISPATCH),1) + $(Q)$(INSTALL_DATA) xxh_x86dispatch.h $(DESTDIR)$(INCLUDEDIR) + endif ++ ++install_libxxhash.pc: libxxhash.pc + @echo Installing pkgconfig + $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGCONFIGDIR)/ + $(Q)$(INSTALL_DATA) libxxhash.pc $(DESTDIR)$(PKGCONFIGDIR)/ ++ ++install_xxhsum: xxhsum + @echo Installing xxhsum + $(Q)$(INSTALL_DIR) $(DESTDIR)$(BINDIR)/ + $(Q)$(INSTALL_PROGRAM) xxhsum $(DESTDIR)$(BINDIR)/xxhsum + $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh32sum + $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh64sum + $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh128sum ++ ++install_man: + @echo Installing man pages + $(Q)$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/ + $(Q)$(INSTALL_DATA) $(MAN) $(DESTDIR)$(MANDIR)/xxhsum.1 + $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh32sum.1 + $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh64sum.1 + $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh128sum.1 ++ ++.PHONY: install ++install: install_libxxhash.a install_libxxhash install_libxxhash.pc install_xxhsum install_man ## install libraries, CLI, links and man page + @echo xxhash installation completed + + .PHONY: uninstall diff --git a/package/xxhash/0003-do-no-longer-depend-on-assert-h-for-XXH_STATIC_ASSERT.patch b/package/xxhash/0003-do-no-longer-depend-on-assert-h-for-XXH_STATIC_ASSERT.patch new file mode 100644 index 00000000000..3b65ae1d6c2 --- /dev/null +++ b/package/xxhash/0003-do-no-longer-depend-on-assert-h-for-XXH_STATIC_ASSERT.patch @@ -0,0 +1,29 @@ +From 6189ecd3d44a693460f86280ccf49d33cb4b18e1 Mon Sep 17 00:00:00 2001 +From: Yann Collet +Date: Sun, 26 Dec 2021 15:15:26 -0800 +Subject: [PATCH] do no longer depend on `` for XXH_STATIC_ASSERT + +since some versions are buggy. + +Use `_Static_assert` instead, which is part of the C11 language. +[Retrieved from: +https://github.com/Cyan4973/xxHash/commit/6189ecd3d44a693460f86280ccf49d33cb4b18e1] +Signed-off-by: Fabrice Fontaine +--- + xxhash.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/xxhash.h b/xxhash.h +index 311a69c7..5dfd5c45 100644 +--- a/xxhash.h ++++ b/xxhash.h +@@ -1749,8 +1749,7 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) + /* note: use after variable declarations */ + #ifndef XXH_STATIC_ASSERT + # if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */ +-# include +-# define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do { static_assert((c),m); } while(0) ++# define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do { _Static_assert((c),m); } while(0) + # elif defined(__cplusplus) && (__cplusplus >= 201103L) /* C++11 */ + # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do { static_assert((c),m); } while(0) + # else diff --git a/package/xxhash/xxhash.hash b/package/xxhash/xxhash.hash index feb50008084..2c99236a45d 100644 --- a/package/xxhash/xxhash.hash +++ b/package/xxhash/xxhash.hash @@ -1,3 +1,4 @@ # locally computed -sha256 7054c3ebd169c97b64a92d7b994ab63c70dd53a06974f1f630ab782c28db0f4f xxhash-0.8.0.tar.gz -sha256 9da63520e9293d82c4b1613be5c84058cadb82b02f5972179bad13731d589910 LICENSE +sha256 3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c xxhash-0.8.1.tar.gz +sha256 553d0035773ddd1590045f8fdc3a4c6ead31e36336721aeca8421e88ed1c9f80 LICENSE +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 cli/COPYING diff --git a/package/xxhash/xxhash.mk b/package/xxhash/xxhash.mk index c2ddbbd6075..a8f8d1d179f 100644 --- a/package/xxhash/xxhash.mk +++ b/package/xxhash/xxhash.mk @@ -4,17 +4,40 @@ # ################################################################################ -XXHASH_VERSION = 0.8.0 +XXHASH_VERSION = 0.8.1 XXHASH_SITE = $(call github,Cyan4973,xxHash,v$(XXHASH_VERSION)) XXHASH_LICENSE = BSD-2-Clause (library), GPL-2.0+ (xxhsum) -XXHASH_LICENSE_FILES = LICENSE +XXHASH_LICENSE_FILES = LICENSE cli/COPYING +XXHASH_INSTALL_STAGING = YES + +XXHASH_TARGETS = xxhsum +XXHASH_INSTALL_TARGETS = install_xxhsum + +ifeq ($(BR2_STATIC_LIBS),y) +XXHASH_TARGETS += libxxhash.a libxxhash.pc +XXHASH_INSTALL_TARGETS += install_libxxhash.a install_libxxhash.pc +else ifeq ($(BR2_SHARED_LIBS),y) +XXHASH_TARGETS += libxxhash libxxhash.pc +XXHASH_INSTALL_TARGETS += install_libxxhash install_libxxhash.pc +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +XXHASH_TARGETS += libxxhash.a libxxhash libxxhash.pc +XXHASH_INSTALL_TARGETS += \ + install_libxxhash.a install_libxxhash install_libxxhash.pc +endif define XXHASH_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) xxhsum + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(XXHASH_TARGETS) +endef + +define XXHASH_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + PREFIX=/usr DESTDIR=$(STAGING_DIR) $(XXHASH_INSTALL_TARGETS) endef define XXHASH_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 -D $(@D)/xxhsum $(TARGET_DIR)/usr/bin/xxhsum + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + PREFIX=/usr DESTDIR=$(TARGET_DIR) $(XXHASH_INSTALL_TARGETS) endef $(eval $(generic-package)) diff --git a/package/xz/xz.hash b/package/xz/xz.hash index 3dd0cbe4594..9577e98e802 100644 --- a/package/xz/xz.hash +++ b/package/xz/xz.hash @@ -1,5 +1,6 @@ # Locally calculated after checking pgp signature sha256 5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df xz-5.2.5.tar.bz2 +sha256 98c6cb1042284fe704ec30083f3fc87364ce9ed2ea51f62bbb0ee9d3448717ec xzgrep-ZDI-CAN-16587.patch # Hash for license files sha256 bcb02973ef6e87ea73d331b3a80df7748407f17efdb784b61b47e0e610d3bb5c COPYING diff --git a/package/xz/xz.mk b/package/xz/xz.mk index ffbae4c873c..cdb01e06a99 100644 --- a/package/xz/xz.mk +++ b/package/xz/xz.mk @@ -13,10 +13,14 @@ XZ_LICENSE = Public Domain, GPL-2.0+, GPL-3.0+, LGPL-2.1+ XZ_LICENSE_FILES = COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 XZ_CPE_ID_VENDOR = tukaani +XZ_PATCH = xzgrep-ZDI-CAN-16587.patch +# xzgrep-ZDI-CAN-16587.patch +XZ_IGNORE_CVES += CVE-2022-1271 + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -XZ_CONF_OPTS = --enable-threads +XZ_CONF_OPTS += --enable-threads else -XZ_CONF_OPTS = --disable-threads +XZ_CONF_OPTS += --disable-threads endif # we are built before ccache diff --git a/package/yavta/Config.in b/package/yavta/Config.in index 6a42a944d61..8119133c339 100644 --- a/package/yavta/Config.in +++ b/package/yavta/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_YAVTA help Yet Another V4L2 Test Application - http://git.ideasonboard.org/yavta.git + https://git.ideasonboard.org/yavta.git diff --git a/package/yavta/yavta.hash b/package/yavta/yavta.hash new file mode 100644 index 00000000000..aa74284d89e --- /dev/null +++ b/package/yavta/yavta.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 108a0ceec862b56a3fbcb3ad28a8744d9800555ccb3e11bdd94c8cd4614296d5 yavta-583bedefc2a247d2cfd32d1b4a0abbe3e2015c70-br1.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.GPL diff --git a/package/yavta/yavta.mk b/package/yavta/yavta.mk index 4e3d76e3de2..d16bee69b11 100644 --- a/package/yavta/yavta.mk +++ b/package/yavta/yavta.mk @@ -4,17 +4,11 @@ # ################################################################################ -YAVTA_VERSION = 82ff2efdb9787737b9f21b6f4759f077c827b238 -YAVTA_SITE = git://git.ideasonboard.org/yavta.git +YAVTA_VERSION = 583bedefc2a247d2cfd32d1b4a0abbe3e2015c70 +YAVTA_SITE = https://git.ideasonboard.org/git/yavta.git +YAVTA_SITE_METHOD = git YAVTA_LICENSE = GPL-2.0+ YAVTA_LICENSE_FILES = COPYING.GPL +YAVTA_CONF_OPTS = -Dwerror=false -define YAVTA_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -endef - -define YAVTA_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 -D $(@D)/yavta $(TARGET_DIR)/usr/bin/yavta -endef - -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/package/ytree/ytree.hash b/package/ytree/ytree.hash index 17d0d24c748..88ca8282bfd 100644 --- a/package/ytree/ytree.hash +++ b/package/ytree/ytree.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 583aa71552d1347e0eabe39a236fa5a174bf67dde98871853b9fe2a233bcaef1 ytree-2.03.tar.gz +sha256 6e7a8b7f68efe6d365abe33a1d06d739ad85f22a3d54ddd0aec24a3478d66642 ytree-2.04.tar.gz sha256 eb6bf7204569b4fe8eaf9d4dffc57e44047c5efb5deba1b2d99069ddbc99d031 COPYING diff --git a/package/ytree/ytree.mk b/package/ytree/ytree.mk index fdecc0b19b4..a64ebe83eda 100644 --- a/package/ytree/ytree.mk +++ b/package/ytree/ytree.mk @@ -4,7 +4,7 @@ # ################################################################################ -YTREE_VERSION = 2.03 +YTREE_VERSION = 2.04 YTREE_SITE = https://www.han.de/~werner YTREE_LICENSE = GPL-2.0+ YTREE_LICENSE_FILES = COPYING diff --git a/package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch b/package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch new file mode 100644 index 00000000000..ffb1f54ba23 --- /dev/null +++ b/package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch @@ -0,0 +1,44 @@ +From 3e810c0804ec40ad6e111a9791cdb2033ecdad71 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 25 Feb 2022 23:30:19 +0100 +Subject: [PATCH] m4/netsnmp.m4: fix shared netsnmp build + +Since commit fe391e8689c523d3c7ea6b173d25aa5dba3a6902, the build fails +with the following error if the user provides the path of +net-snmp-config through the --with-net-snmp option: + +configure: error: "libnetsnmp.a static library was not found in /home/buildroot/autobuild/instance-0/output-1/host/powerpc64le-buildroot-linux-gnu/sysroot/usr/bin/../../usr/lib" + +However, the assumption that a static library will be provided by the +system is just plain wrong so replace AC_MSG_ERROR by AC_MSG_WARN + +Fixes: + - http://autobuild.buildroot.org/results/0f541e45d1fa27b3302968683bf64949131ec1c9 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zabbix/zabbix/pull/61] +--- + m4/netsnmp.m4 | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/m4/netsnmp.m4 b/m4/netsnmp.m4 +index 5e84d84303..87e21a67e6 100644 +--- a/m4/netsnmp.m4 ++++ b/m4/netsnmp.m4 +@@ -140,8 +140,11 @@ AC_HELP_STRING([--with-net-snmp@<:@=ARG@:>@], + test [ "x$static_linking_support" = "xno" -o -z "$static_linking_support" ] -a -z "$_libsnmp_dir_lib" && AC_MSG_ERROR(["Compiler not support statically linked libs from default folders"]) + + if test "x$static_linking_support" = "xno" -o -z "$static_linking_support"; then +- test -f $_libsnmp_dir_lib/libnetsnmp.a || AC_MSG_ERROR(["libnetsnmp.a static library was not found in $_libsnmp_dir_lib"]) +- SNMP_LIBS=`echo "$SNMP_LIBS"|sed "s|-lnetsnmp|$_libsnmp_dir_lib/libnetsnmp.a|g"` ++ if test -f $_libsnmp_dir_lib/libnetsnmp.a; then ++ SNMP_LIBS=`echo "$SNMP_LIBS"|sed "s|-lnetsnmp|$_libsnmp_dir_lib/libnetsnmp.a|g"` ++ else ++ AC_MSG_WARN(["libnetsnmp.a static library was not found in $_libsnmp_dir_lib"]) ++ fi + else + SNMP_LIBS=`echo "$SNMP_LIBS"|sed "s/-lnetsnmp/${static_linking_support}static -lnetsnmp ${static_linking_support}dynamic/g"` + fi +-- +2.34.1 + diff --git a/package/zabbix/Config.in b/package/zabbix/Config.in new file mode 100644 index 00000000000..0f7a0b0003b --- /dev/null +++ b/package/zabbix/Config.in @@ -0,0 +1,83 @@ +config BR2_PACKAGE_ZABBIX + bool "zabbix" + depends on BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_PCRE + help + Zabbix is an enterprise-class open source distributed + monitoring solution. Zabbix is free of cost. Zabbix is + written and distributed under the GPL General Public License + version 2. + + https://zabbix.com + +comment "zabbix need glibc" + depends on !BR2_TOOLCHAIN_USES_GLIBC + +if BR2_PACKAGE_ZABBIX + +comment "zabbix server needs C++ and threads or wchar and dynamic libs" + depends on BR2_USE_MMU + depends on \ + !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) && \ + !(BR2_USE_WCHAR && !BR2_STATIC_LIBS) + +config BR2_PACKAGE_ZABBIX_SERVER + bool "zabbix server" + depends on BR2_USE_MMU # mysql, postgresql + depends on \ + (BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) || \ + (BR2_USE_WCHAR && !BR2_STATIC_LIBS) + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LIBEVENT + +if BR2_PACKAGE_ZABBIX_SERVER + +choice + prompt "server database backend" + +config BR2_PACKAGE_ZABBIX_SERVER_MYSQL + bool "mysql" + depends on BR2_INSTALL_LIBSTDCPP # mysql + depends on BR2_TOOLCHAIN_HAS_THREADS # mysql + select BR2_PACKAGE_MYSQL + +config BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL + bool "postgresql" + depends on BR2_USE_WCHAR # postgresql + depends on !BR2_STATIC_LIBS # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql + select BR2_PACKAGE_POSTGRESQL + +endchoice + +config BR2_PACKAGE_ZABBIX_SERVER_COPY_DUMPS + bool "install SQL dumps" + help + Copy initial database dumps to /var/lib/zabbix/schema + + These still need to be imported into the database by hand. + +config BR2_PACKAGE_ZABBIX_SERVER_COPY_FRONTEND + bool "install web UI to target" + depends on BR2_PACKAGE_PHP # runtime + select BR2_PACKAGE_PHP_EXT_MYSQLI if BR2_PACKAGE_ZABBIX_SERVER_MYSQL + select BR2_PACKAGE_PHP_EXT_PGSQL if BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL + select BR2_PACKAGE_PHP_EXT_BCMATH + select BR2_PACKAGE_PHP_EXT_SOCKETS + select BR2_PACKAGE_PHP_EXT_MBSTRING + select BR2_PACKAGE_PHP_EXT_GD + select BR2_PACKAGE_PHP_EXT_LIBXML2 + select BR2_PACKAGE_PHP_EXT_CTYPE + select BR2_PACKAGE_PHP_EXT_SESSION + select BR2_PACKAGE_PHP_EXT_XMLREADER + select BR2_PACKAGE_PHP_EXT_XMLWRITER + help + Copy web-UI to /var/www/zabbix. You need to set up a web + server to access it. + +comment "zabbix web UI requires PHP" + depends on !BR2_PACKAGE_PHP + +endif + +endif diff --git a/package/zabbix/zabbix-agent.service b/package/zabbix/zabbix-agent.service new file mode 100644 index 00000000000..8b4f45a4fc7 --- /dev/null +++ b/package/zabbix/zabbix-agent.service @@ -0,0 +1,17 @@ +[Unit] +Description=Zabbix Agent Daemon +After=network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/zabbix_agentd +ExecReload=/usr/sbin/zabbix_agentd -R config_cache_reload +RuntimeDirectory=zabbix +PIDFile=/run/zabbix/zabbix_agentd.pid +User=zabbix +Group=zabbix +WatchdogSec=30s +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/package/zabbix/zabbix-server.service b/package/zabbix/zabbix-server.service new file mode 100644 index 00000000000..b8ba0d17072 --- /dev/null +++ b/package/zabbix/zabbix-server.service @@ -0,0 +1,17 @@ +[Unit] +Description=Zabbix Server Daemon +After=network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/zabbix_server +ExecReload=/usr/sbin/zabbix_server -R config_cache_reload +RuntimeDirectory=zabbix +PIDFile=/run/zabbix/zabbix_server.pid +User=zabbix +Group=zabbix +WatchdogSec=30s +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/package/zabbix/zabbix.hash b/package/zabbix/zabbix.hash new file mode 100644 index 00000000000..42cc0bda579 --- /dev/null +++ b/package/zabbix/zabbix.hash @@ -0,0 +1,4 @@ +# Locally computed +sha256 19686628df76e8d5ef7c2ed2975b258c7ca3ec7d151b1bb59d7e132f9fc7c941 zabbix-5.4.9.tar.gz +sha256 10d68ec3abacc29222c07748fc5e5cb9474fd7cd9ccdde1b92ff941ded946b78 README +sha256 444fe54aecc95ac0f3314289c300afc73b3946a4dc9fbd7e022709b3e0924dd0 COPYING diff --git a/package/zabbix/zabbix.mk b/package/zabbix/zabbix.mk new file mode 100644 index 00000000000..adc54028ad2 --- /dev/null +++ b/package/zabbix/zabbix.mk @@ -0,0 +1,136 @@ +################################################################################ +# +# zabbix +# +################################################################################ + +ZABBIX_VERSION_MAJOR = 5.4 +ZABBIX_VERSION = $(ZABBIX_VERSION_MAJOR).9 +ZABBIX_SITE = https://cdn.zabbix.com/zabbix/sources/stable/$(ZABBIX_VERSION_MAJOR) +ZABBIX_LICENSE = GPL-2.0+ +ZABBIX_LICENSE_FILES = README COPYING +ZABBIX_CPE_ID_VENDOR = zabbix +# We're patching m4/netsnmp.m4 +ZABBIX_AUTORECONF = YES + +ZABBIX_DEPENDENCIES = pcre +ZABBIX_CONF_OPTS = \ + --with-libpcre=$(STAGING_DIR)/usr/bin/ \ + --without-sqlite3 \ + --enable-agent \ + --disable-agent2 \ + --disable-java \ + --disable-proxy \ + --disable-webservice + +define ZABBIX_USERS + zabbix -1 zabbix -1 * /var/lib/zabbix - - zabbix user +endef + +ZABBIX_SYSTEMD_UNITS += zabbix-agent.service + +define ZABBIX_CHANGE_PIDFILE_LOCATION + $(SED) 's%\#\ PidFile=/tmp/zabbix\(.*\).pid%PidFile=/run/zabbix/zabbix\1.pid%g' $(@D)/conf/zabbix_*.conf +endef +ZABBIX_POST_PATCH_HOOKS += ZABBIX_CHANGE_PIDFILE_LOCATION + +ifeq ($(BR2_PACKAGE_OPENIPMI),y) +ZABBIX_CONF_OPTS += --with-openipmi=$(STAGING_DIR)/usr +ZABBIX_DEPENDENCIES += openipmi +else +ZABBIX_CONF_OPTS += --without-openipmi +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +ZABBIX_CONF_OPTS += --with-libcurl=$(STAGING_DIR)/usr/bin/curl-config +ZABBIX_DEPENDENCIES += libcurl +else +ZABBIX_CONF_OPTS += --without-libcurl +endif + +ifeq ($(BR2_PACKAGE_LIBXML2),y) +ZABBIX_CONF_OPTS += --with-libxml2=$(STAGING_DIR)/usr/bin/xml2-config +ZABBIX_DEPENDENCIES += libxml2 +else +ZABBIX_CONF_OPTS += --without-libxml2 +endif + +ifeq ($(BR2_PACKAGE_NETSNMP_ENABLE_MIBS),y) +ZABBIX_CONF_OPTS += --with-net-snmp=$(STAGING_DIR)/usr/bin/net-snmp-config +ZABBIX_DEPENDENCIES += netsnmp +else +ZABBIX_CONF_OPTS += --without-net-snmp +endif + +ifeq ($(BR2_PACKAGE_OPENLDAP),y) +ZABBIX_CONF_OPTS += --with-ldap=$(STAGING_DIR)/usr +ZABBIX_DEPENDENCIES += openldap +else +ZABBIX_CONF_OPTS += --without-ldap +endif + +ifeq ($(BR2_PACKAGE_LIBSSH2),y) +ZABBIX_CONF_OPTS += --with-ssh2=$(STAGING_DIR)/usr +ZABBIX_DEPENDENCIES += libssh2 +else +ZABBIX_CONF_OPTS += --without-ssh2 +endif + +# Only one of openssl or gnutls should be enabled +ifeq ($(BR2_PACKAGE_OPENSSL),y) +ZABBIX_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr --without-gnutls +ZABBIX_DEPENDENCIES += openssl +else ifeq ($(BR2_PACKAGE_GNUTLS),y) +ZABBIX_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr --without-openssl +ZABBIX_DEPENDENCIES += gnutls +else +ZABBIX_CONF_OPTS += --without-gnutls --without-openssl +endif + +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER),y) + +ZABBIX_DEPENDENCIES += libevent zlib +ZABBIX_CONF_OPTS += \ + --enable-server \ + --with-libevent=$(STAGING_DIR)/usr \ + --with-libpthread=$(STAGING_DIR)/usr \ + --with-zlib=$(STAGING_DIR)/usr +ZABBIX_SYSTEMD_UNITS += zabbix-server.service + +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_COPY_FRONTEND),y) +define ZABBIX_SERVER_COPY_FRONTEND + mkdir -p $(TARGET_DIR)/var/www/zabbix/ + cp -dpfr $(@D)/ui/* $(TARGET_DIR)/var/www/zabbix/ +endef +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_SERVER_COPY_FRONTEND +endif + +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_MYSQL),y) +ZABBIX_DEPENDENCIES += mysql +ZABBIX_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr/bin/mysql_config --without-postgresql +ZABBIX_DATABASE = mysql +else ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL),y) +ZABBIX_DEPENDENCIES += postgresql +ZABBIX_CONF_OPTS += --with-postgresql=$(STAGING_DIR)/usr/bin/pg_config --without-mysql +ZABBIX_DATABASE = postgresql +endif + +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_COPY_DUMPS),y) +define ZABBIX_SERVER_COPY_DUMPS + mkdir -p $(TARGET_DIR)/var/lib/zabbix/schema/ + install -m 644 $(@D)/database/$(ZABBIX_DATABASE)/*.sql $(TARGET_DIR)/var/lib/zabbix/schema/ +endef +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_SERVER_COPY_DUMPS +endif + +endif # BR2_PACKAGE_ZABBIX_SERVER + +define ZABBIX_INSTALL_INIT_SYSTEMD + $(foreach unit,$(ZABBIX_SYSTEMD_UNITS),\ + $(INSTALL) -D -m 0644 $(ZABBIX_PKGDIR)/$(unit) $(TARGET_DIR)/usr/lib/systemd/system/$(unit) && \ + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants && \ + ln -fs -r $(TARGET_DIR)/usr/lib/systemd/system/$(unit) $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/$(unit) + ) +endef + +$(eval $(autotools-package)) diff --git a/package/zbar/0001-zbarcam-zbarimg-get-rid-of-gettext-h.patch b/package/zbar/0001-zbarcam-zbarimg-get-rid-of-gettext-h.patch deleted file mode 100644 index 009fd5f96f9..00000000000 --- a/package/zbar/0001-zbarcam-zbarimg-get-rid-of-gettext-h.patch +++ /dev/null @@ -1,45 +0,0 @@ -From a133aea7880bbb56d75535e534716d0e16a3b61a Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab -Date: Tue, 28 Jul 2020 09:47:03 +0200 -Subject: [PATCH] zbarcam, zbarimg: get rid of gettext.h - -This doesn't seem to be needed at all for translations to -work. Also, gettext.h uses a different license. So, let's get -rid of it. - -Signed-off-by: Mauro Carvalho Chehab -[Retrieved (and updated to remove gettext.h which is not in the -tarball): -https://github.com/mchehab/zbar/commit/a133aea7880bbb56d75535e534716d0e16a3b61a] -Signed-off-by: Fabrice Fontaine ---- - zbar/gettext.h | 294 ---------------------------------------------- - zbarcam/zbarcam.c | 1 - - zbarimg/zbarimg.c | 1 - - 3 files changed, 296 deletions(-) - delete mode 100644 zbar/gettext.h - -diff --git a/zbarcam/zbarcam.c b/zbarcam/zbarcam.c -index f7ea281..ad30101 100644 ---- a/zbarcam/zbarcam.c -+++ b/zbarcam/zbarcam.c -@@ -35,7 +35,6 @@ - #include - - #ifdef ENABLE_NLS --#include "../zbar/gettext.h" - # include - # define _(string) gettext(string) - #else -diff --git a/zbarimg/zbarimg.c b/zbarimg/zbarimg.c -index 0796fd8..d05d832 100644 ---- a/zbarimg/zbarimg.c -+++ b/zbarimg/zbarimg.c -@@ -40,7 +40,6 @@ - #include - - #ifdef ENABLE_NLS --#include "../zbar/gettext.h" - # include - # define _(string) gettext(string) - #else diff --git a/package/zbar/0002-zbarcam-zbar-cam-img-.c-fix-build-with-musl.patch b/package/zbar/0002-zbarcam-zbar-cam-img-.c-fix-build-with-musl.patch deleted file mode 100644 index fe62c1649cb..00000000000 --- a/package/zbar/0002-zbarcam-zbar-cam-img-.c-fix-build-with-musl.patch +++ /dev/null @@ -1,55 +0,0 @@ -From ecf90fcff066c06eda1fb931d08fadf5989ecb36 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 29 Aug 2020 14:23:04 +0200 -Subject: [PATCH] zbarcam/zbar{cam,img}.c: fix build with musl - -setlocale is used since version 0.23.1 and -https://git.linuxtv.org/zbar.git/commit/id=d05911f8d5fb8c1e064bd93ed9ec9f038c5da096 - -Include locale.h to avoid the following build failure on musl: - -zbarcam/zbarcam.c:168:5: warning: implicit declaration of function 'setlocale'; did you mean 'setstate'? [-Wimplicit-function-declaration] - setlocale (LC_ALL, ""); - ^~~~~~~~~ - setstate -zbarcam/zbarcam.c:168:16: error: 'LC_ALL' undeclared (first use in this function) - setlocale (LC_ALL, ""); - ^~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/b93ce5430bf22ddda94ee30882a883348617f5b1 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/mchehab/zbar/pull/115] ---- - zbarcam/zbarcam.c | 1 + - zbarimg/zbarimg.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/zbarcam/zbarcam.c b/zbarcam/zbarcam.c -index 6e13c8c..b8bc732 100644 ---- a/zbarcam/zbarcam.c -+++ b/zbarcam/zbarcam.c -@@ -36,6 +36,7 @@ - - #ifdef ENABLE_NLS - # include -+# include - # define _(string) gettext(string) - #else - # define _(string) string -diff --git a/zbarimg/zbarimg.c b/zbarimg/zbarimg.c -index d05d832..52502b2 100644 ---- a/zbarimg/zbarimg.c -+++ b/zbarimg/zbarimg.c -@@ -41,6 +41,7 @@ - - #ifdef ENABLE_NLS - # include -+# include - # define _(string) gettext(string) - #else - # define _(string) string --- -2.28.0 - diff --git a/package/zbar/zbar.hash b/package/zbar/zbar.hash index 4277091892c..a4303266dba 100644 --- a/package/zbar/zbar.hash +++ b/package/zbar/zbar.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 dad260b47ef887a639e840a89e5e6e132217b6bba2a8473565d1f459bcb97c1f zbar-0.23.1.tar.bz2 +sha256 9152c8fb302b3891e1cb9cc719883d2f4ccd2483e3430783a2cf2d93bd5901ad zbar-0.23.90.tar.bz2 sha256 44260f9252c7fe38ba8dfb645330504f4a375e3a5e9dd7d5d6b9f04adb4952f1 LICENSE.md diff --git a/package/zbar/zbar.mk b/package/zbar/zbar.mk index f75741ded91..fb83fa01d5f 100644 --- a/package/zbar/zbar.mk +++ b/package/zbar/zbar.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZBAR_VERSION = 0.23.1 +ZBAR_VERSION = 0.23.90 ZBAR_SOURCE = zbar-$(ZBAR_VERSION).tar.bz2 ZBAR_SITE = https://www.linuxtv.org/downloads/zbar ZBAR_LICENSE = LGPL-2.1+ @@ -21,7 +21,6 @@ ZBAR_CONF_OPTS = \ --without-qt \ --without-qt5 \ --without-gtk \ - --without-python \ --without-x \ --without-java @@ -32,4 +31,12 @@ else ZBAR_CONF_OPTS += --without-dbus endif +ifeq ($(BR2_PACKAGE_PYTHON3),y) +ZBAR_DEPENDENCIES += host-python3 python3 +ZBAR_CONF_OPTS += --with-python=python3 +ZBAR_CONF_ENV += PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python3-config" +else +ZBAR_CONF_OPTS += --with-python=no +endif + $(eval $(autotools-package)) diff --git a/package/zchunk/Config.in b/package/zchunk/Config.in new file mode 100644 index 00000000000..2d2a78a210e --- /dev/null +++ b/package/zchunk/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_ZCHUNK + bool "zchunk" + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL + select BR2_PACKAGE_LIBCURL + help + A file format designed for highly efficient deltas while + maintaining good compression. + + https://github.com/zchunk/zchunk diff --git a/package/zchunk/zchunk.hash b/package/zchunk/zchunk.hash new file mode 100644 index 00000000000..d6b425dc702 --- /dev/null +++ b/package/zchunk/zchunk.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 33934adecddc50c64615dd8cdfe52a79df674a5bb1d5e83a9c09e1d1e6e9b92c zchunk-1.1.16.tar.gz +sha256 3c6a4fd5a93cacec6bf694d0537246bc15a95a274f5c5301749754e56d27b797 LICENSE diff --git a/package/zchunk/zchunk.mk b/package/zchunk/zchunk.mk new file mode 100644 index 00000000000..6f7ac799a0c --- /dev/null +++ b/package/zchunk/zchunk.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# zchunk +# +################################################################################ + +ZCHUNK_VERSION = 1.1.16 +ZCHUNK_SITE = $(call github,zchunk,zchunk,$(ZCHUNK_VERSION)) +ZCHUNK_LICENSE = BSD-2-Clause +ZCHUNK_LICENSE_FILES = LICENSE +ZCHUNK_INSTALL_STAGING = YES +ZCHUNK_DEPENDENCIES = \ + libcurl \ + $(if $(BR2_PACKAGE_ARGP_STANDALONE),argp-standalone) + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +ZCHUNK_DEPENDENCIES += openssl +ZCHUNK_CONF_OPTS += -Dwith-openssl=enabled +else +ZCHUNK_CONF_OPTS += -Dwith-openssl=disabled +endif + +ifeq ($(BR2_PACKAGE_ZSTD),y) +ZCHUNK_DEPENDENCIES += zstd +ZCHUNK_CONF_OPTS += -Dwith-zstd=enabled +else +ZCHUNK_CONF_OPTS += -Dwith-zstd=disabled +endif + +$(eval $(meson-package)) diff --git a/package/zfs/0001-Correct-a-flaw-in-the-Python-3-version-checking.patch b/package/zfs/0001-Correct-a-flaw-in-the-Python-3-version-checking.patch new file mode 100644 index 00000000000..70978f9f4d3 --- /dev/null +++ b/package/zfs/0001-Correct-a-flaw-in-the-Python-3-version-checking.patch @@ -0,0 +1,106 @@ +From 4dc82e9d503518a00e54972be7c0cb5f342f985e Mon Sep 17 00:00:00 2001 +From: Rich Ercolani <214141+rincebrain@users.noreply.github.com> +Date: Tue, 8 Jun 2021 20:20:16 -0400 +Subject: [PATCH] Correct a flaw in the Python 3 version checking + +It turns out the ax_python_devel.m4 version check assumes that +("3.X+1.0" >= "3.X.0") is True in Python, which is not when X+1 +is 10 or above and X is not. (Also presumably X+1=100 and ...) + +So let's remake the check to behave consistently, using the +"packaging" or (if absent) the "distlib" modules. + +(Also, update the Github workflows to use the new packages.) + +Reviewed-by: Brian Behlendorf +Reviewed-by: John Kennedy +Signed-off-by: Rich Ercolani +Closes: #12073 +(cherry picked from commit 08cd0717359b1a18693e3c8e6d6e5a2819b35a48) +[Romain: drop rpm spec and github workflows changes] +Signed-off-by: Romain Naour +--- + config/always-pyzfs.m4 | 15 +++++++++++++++ + config/ax_python_devel.m4 | 33 +++++++++++++++++++++++++++------ + 2 files changed, 42 insertions(+), 6 deletions(-) + +diff --git a/config/always-pyzfs.m4 b/config/always-pyzfs.m4 +index 76e07b593..fa39fd885 100644 +--- a/config/always-pyzfs.m4 ++++ b/config/always-pyzfs.m4 +@@ -46,6 +46,21 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [ + ]) + AC_SUBST(DEFINE_PYZFS) + ++ dnl # ++ dnl # Python "packaging" (or, failing that, "distlib") module is required to build and install pyzfs ++ dnl # ++ AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [ ++ ZFS_AC_PYTHON_MODULE([packaging], [], [ ++ ZFS_AC_PYTHON_MODULE([distlib], [], [ ++ AS_IF([test "x$enable_pyzfs" = xyes], [ ++ AC_MSG_ERROR("Python $PYTHON_VERSION packaging and distlib modules are not installed") ++ ], [test "x$enable_pyzfs" != xno], [ ++ enable_pyzfs=no ++ ]) ++ ]) ++ ]) ++ ]) ++ + dnl # + dnl # Require python-devel libraries + dnl # +diff --git a/config/ax_python_devel.m4 b/config/ax_python_devel.m4 +index c51b45b7d..cdfbbf81f 100644 +--- a/config/ax_python_devel.m4 ++++ b/config/ax_python_devel.m4 +@@ -97,9 +97,18 @@ AC_DEFUN([AX_PYTHON_DEVEL],[ + # Check for a version of Python >= 2.1.0 + # + AC_MSG_CHECKING([for a version of Python >= '2.1.0']) +- ac_supports_python_ver=`$PYTHON -c "import sys; \ +- ver = sys.version.split ()[[0]]; \ +- print (ver >= '2.1.0')"` ++ ac_supports_python_ver=`cat<= '3.11.0' ++ ac_supports_python_ver=`cat< Date: Thu, 22 Jan 2015 15:20:25 +0100 -Subject: [PATCH 1/6] configure: Remove "Check C compiler type (optimization +Subject: [PATCH] configure: Remove "Check C compiler type (optimization options)" This test force optimization to -O3 diff --git a/package/zip/0002-configure-Don-t-use-host-CPP.patch b/package/zip/0002-configure-Don-t-use-host-CPP.patch index 85049127221..179d5817cbd 100644 --- a/package/zip/0002-configure-Don-t-use-host-CPP.patch +++ b/package/zip/0002-configure-Don-t-use-host-CPP.patch @@ -1,7 +1,7 @@ From fc5c889131ff6270e1028cc7edd87e7f10a7da6d Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Thu, 22 Jan 2015 15:21:31 +0100 -Subject: [PATCH 2/6] configure: Don't use host CPP +Subject: [PATCH] configure: Don't use host CPP CPP is redefined if a cpp binary (/lib/cpp) is found on the host. diff --git a/package/zip/0003-Makefile-Use-CFLAGS-from-command-line.patch b/package/zip/0003-Makefile-Use-CFLAGS-from-command-line.patch index 104b7e8d89b..7c2b920d65c 100644 --- a/package/zip/0003-Makefile-Use-CFLAGS-from-command-line.patch +++ b/package/zip/0003-Makefile-Use-CFLAGS-from-command-line.patch @@ -1,7 +1,7 @@ From 93189390de7322da78bc5b807f4cadaff46393c9 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Thu, 22 Jan 2015 22:45:30 +0100 -Subject: [PATCH 3/6] Makefile: Use CFLAGS from command line +Subject: [PATCH] Makefile: Use CFLAGS from command line Replace CFLAGS_NOOPT by CFLAGS when calling unix/configure script to create 'flags' file which contains all variables used to build diff --git a/package/zip/0004-configure-use-LDFLAGS-from-command-line.patch b/package/zip/0004-configure-use-LDFLAGS-from-command-line.patch index 35d3860215a..efb9fc78f57 100644 --- a/package/zip/0004-configure-use-LDFLAGS-from-command-line.patch +++ b/package/zip/0004-configure-use-LDFLAGS-from-command-line.patch @@ -1,7 +1,7 @@ From 5c58b8737dc9ccf9407f6725f6f07b764d6abb22 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Thu, 22 Jan 2015 23:47:55 +0100 -Subject: [PATCH 4/6] configure: use LDFLAGS from command line +Subject: [PATCH] configure: use LDFLAGS from command line The bzip2 support may not enabled due to a build error during the checking for bzip2 library. diff --git a/package/zip/0005-unix-configure-remove-GID-UID-size-check.patch b/package/zip/0005-unix-configure-remove-GID-UID-size-check.patch index 38d8d730e1a..fd6cdde1dc2 100644 --- a/package/zip/0005-unix-configure-remove-GID-UID-size-check.patch +++ b/package/zip/0005-unix-configure-remove-GID-UID-size-check.patch @@ -1,7 +1,7 @@ From d8da4e5f0ebed000f880e60b6cca7c575f7ed1c7 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 23 Jan 2015 22:13:14 +0100 -Subject: [PATCH 5/6] unix/configure: remove GID/UID size check +Subject: [PATCH] unix/configure: remove GID/UID size check This check can't work for cross-compilation since it try to run a target's binary on the host system. diff --git a/package/zip/0006-unix-configure-borrow-the-LFS-test-from-autotools.patch b/package/zip/0006-unix-configure-borrow-the-LFS-test-from-autotools.patch index a4e99dbc8cf..0276ad2f7b5 100644 --- a/package/zip/0006-unix-configure-borrow-the-LFS-test-from-autotools.patch +++ b/package/zip/0006-unix-configure-borrow-the-LFS-test-from-autotools.patch @@ -1,7 +1,7 @@ From fc392c939b9a18959482f588aff0afc29dd6d30a Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 23 Jan 2015 22:20:18 +0100 -Subject: [PATCH 6/6] unix/configure: borrow the LFS test from autotools. +Subject: [PATCH] unix/configure: borrow the LFS test from autotools. Infozip's LFS check can't work for cross-compilation since it try to run a target's binary on the host system. diff --git a/package/zip/0008-fix-musl-static-build.patch b/package/zip/0008-fix-musl-static-build.patch new file mode 100644 index 00000000000..a7a31eba9e7 --- /dev/null +++ b/package/zip/0008-fix-musl-static-build.patch @@ -0,0 +1,20 @@ +fix musl static build + +Don't define NO_DIR if no directory library is needed + +Signed-off-by: Fabrice Fontaine + +diff -Nura zip30.orig/unix/configure zip30/unix/configure +--- zip30.orig/unix/configure 2021-08-31 21:29:55.219967136 +0200 ++++ zip30/unix/configure 2021-08-31 21:50:48.239280513 +0200 +@@ -569,8 +569,8 @@ + done + if [ ${OPT} ]; then + LFLAGS2="${LFLAGS2} ${OPT}" +- else +- CFLAGS="${CFLAGS} -DNO_DIR" ++ #else ++ # CFLAGS="${CFLAGS} -DNO_DIR" + fi + fi + diff --git a/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch b/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch new file mode 100644 index 00000000000..749c45ddcad --- /dev/null +++ b/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch @@ -0,0 +1,53 @@ +From 9fcc446306f27eb253545540ce28403874b899fa Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 27 May 2022 23:25:21 +0200 +Subject: [PATCH] CMakeLists.txt: fix version in zlib.pc when building + statically + +When building statically (i.e. with BUILD_SHARED_LIBS=OFF), +ZLIB_FULL_VERSION is not set resulting in an empty version in zlib.pc +and the following build failure with transmission: + +checking for ZLIB... configure: error: Package requirements (zlib >= 1.2.3) were not met: + +Package dependency requirement 'zlib >= 1.2.3' could not be satisfied. +Package 'zlib' has version '', required version is '>= 1.2.3' + +Fixes: + - http://autobuild.buildroot.org/results/b3b882482f517726e5c780ba4c37818bd379df82 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zlib-ng/zlib-ng/pull/1278] +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a62a95e..6a26d59 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -150,8 +150,10 @@ if(ZLIB_COMPAT) + add_definitions(-DZLIB_COMPAT) + set(WITH_GZFILEOP ON) + set(SUFFIX "") ++ set(ZLIB_FULL_VERSION ${ZLIB_HEADER_VERSION}.zlib-ng) + else() + set(SUFFIX "-ng") ++ set(ZLIB_FULL_VERSION ${ZLIBNG_HEADER_VERSION}) + endif() + + if(WITH_GZFILEOP) +@@ -1068,10 +1070,8 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) + set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) + + if(ZLIB_COMPAT) +- set(ZLIB_FULL_VERSION ${ZLIB_HEADER_VERSION}.zlib-ng) + set_target_properties(zlib PROPERTIES SOVERSION 1) + else() +- set(ZLIB_FULL_VERSION ${ZLIBNG_HEADER_VERSION}) + set_target_properties(zlib PROPERTIES SOVERSION 2) + endif() + +-- +2.35.1 + diff --git a/package/zlib-ng/zlib-ng.hash b/package/zlib-ng/zlib-ng.hash index 3e1dba35bab..a799cfe253c 100644 --- a/package/zlib-ng/zlib-ng.hash +++ b/package/zlib-ng/zlib-ng.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 379723c0c954679a50d1d7df43084e2194dc51ecbc9987c889cb129d1f6734bc zlib-ng-1.9.9-b1.tar.gz +sha256 8258b75a72303b661a238047cb348203d88d9dddf85d480ed885f375916fcab6 zlib-ng-2.0.6.tar.gz sha256 d3c80be055d94d798eaa786116e84fa0b010bc11420b5d2060d978ea77845436 LICENSE.md diff --git a/package/zlib-ng/zlib-ng.mk b/package/zlib-ng/zlib-ng.mk index c56fa72d6f0..938acd4181a 100644 --- a/package/zlib-ng/zlib-ng.mk +++ b/package/zlib-ng/zlib-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZLIB_NG_VERSION = 1.9.9-b1 +ZLIB_NG_VERSION = 2.0.6 ZLIB_NG_SITE = $(call github,zlib-ng,zlib-ng,$(ZLIB_NG_VERSION)) ZLIB_NG_LICENSE = Zlib ZLIB_NG_LICENSE_FILES = LICENSE.md @@ -23,4 +23,10 @@ ifeq ($(BR2_arm),y) ZLIB_NG_CONF_OPTS += -DWITH_ACLE=1 -DWITH_NEON=1 endif +ifeq ($(BR2_powerpc_power8),y) +ZLIB_NG_CONF_OPTS += -DWITH_POWER8=ON +else +ZLIB_NG_CONF_OPTS += -DWITH_POWER8=OFF +endif + $(eval $(cmake-package)) diff --git a/package/zlib/Config.in b/package/zlib/Config.in index 550c2efa930..3a486376ac9 100644 --- a/package/zlib/Config.in +++ b/package/zlib/Config.in @@ -1,9 +1,13 @@ +config BR2_PACKAGE_ZLIB_FORCE_LIBZLIB + bool + config BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS bool default y if BR2_arm default y if BR2_aarch64 default y if BR2_i386 default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_riscv default y if BR2_s390x default y if BR2_x86_64 @@ -32,6 +36,7 @@ config BR2_PACKAGE_LIBZLIB config BR2_PACKAGE_ZLIB_NG bool "zlib-ng" depends on BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS + depends on !BR2_PACKAGE_ZLIB_FORCE_LIBZLIB select BR2_PACKAGE_HAS_ZLIB help Zlib replacement with optimizations for diff --git a/package/zlog/0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch b/package/zlog/0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch new file mode 100644 index 00000000000..d5f23e1b26b --- /dev/null +++ b/package/zlog/0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch @@ -0,0 +1,25 @@ +From a5be8b3a8ddc498de4ad041757285136a55d97e3 Mon Sep 17 00:00:00 2001 +From: XiangfeiCH +Date: Tue, 12 Apr 2022 00:13:35 +0800 +Subject: [PATCH] Fix stack-buffer-overflow at zlog_conf_build_with_file + +[Retrieved from: +https://github.com/HardySimpson/zlog/commit/a5be8b3a8ddc498de4ad041757285136a55d97e3] +Signed-off-by: Fabrice Fontaine +--- + src/conf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/conf.c b/src/conf.c +index 0f862fa..9a4cb75 100644 +--- a/src/conf.c ++++ b/src/conf.c +@@ -305,7 +305,7 @@ static int zlog_conf_build_with_file(zlog_conf_t * a_conf) + /* Oops the buffer is full - what now? */ + pline = line; + } else { +- for (p--; isspace((int)*p); --p) ++ for (p--; p >= line && isspace((int)*p); --p) + /*EMPTY*/; + p++; + *p = 0; diff --git a/package/zlog/zlog.mk b/package/zlog/zlog.mk index e2410d3665f..1929a45a3e2 100644 --- a/package/zlog/zlog.mk +++ b/package/zlog/zlog.mk @@ -8,8 +8,12 @@ ZLOG_VERSION = 1.2.15 ZLOG_SITE = $(call github,HardySimpson,zlog,$(ZLOG_VERSION)) ZLOG_LICENSE = LGPL-2.1 ZLOG_LICENSE_FILES = COPYING +ZLOG_CPE_ID_VENDOR = zlog_project ZLOG_INSTALL_STAGING = YES +# 0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch +ZLOG_IGNORE_CVES += CVE-2021-43521 + define ZLOG_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \ -C $(@D) all diff --git a/package/zmqpp/zmqpp.mk b/package/zmqpp/zmqpp.mk index 3cd19d644a7..32fabf26efe 100644 --- a/package/zmqpp/zmqpp.mk +++ b/package/zmqpp/zmqpp.mk @@ -19,7 +19,7 @@ ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread # -ffast-math -finline-functions -fomit-frame-pointer are disabled, # so only set CONFIG for the non-affected cases. ifneq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) -ZMQPP_CONFIG = $(if $(BR2_ENABLE_DEBUG),debug,release) +ZMQPP_CONFIG = $(if $(BR2_ENABLE_RUNTIME_DEBUG),buildroot,release) endif ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) diff --git a/package/znc/Config.in b/package/znc/Config.in index 4fc7bbb95bd..915b5f632cd 100644 --- a/package/znc/Config.in +++ b/package/znc/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_ZNC depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH if BR2_PACKAGE_LIBOPENSSL help Advanced IRC bouncer diff --git a/package/zsh/zsh.hash b/package/zsh/zsh.hash index 2df409c9464..5c661ded25f 100644 --- a/package/zsh/zsh.hash +++ b/package/zsh/zsh.hash @@ -1,7 +1,3 @@ -# From http://www.zsh.org/pub/MD5SUM -md5 e02a5428620b3dd268800c7843b3dd4d zsh-5.8.tar.xz -# Calculated based on the hash above and after checking signature -# http://www.zsh.org/pub/zsh-5.8.tar.xz.asc -sha256 dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27 zsh-5.8.tar.xz # Locally calculated +sha256 b6973520bace600b4779200269b1e5d79e5f505ac4952058c11ad5bbf0dd9919 zsh-5.8.1.tar.xz sha256 d06fdf3ef9b1ec69d6b9e170b0a9516fbad3523261ff1668bde3bfea6e0ef5f5 LICENCE diff --git a/package/zsh/zsh.mk b/package/zsh/zsh.mk index 1a048332119..c5ab7c2faee 100644 --- a/package/zsh/zsh.mk +++ b/package/zsh/zsh.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZSH_VERSION = 5.8 +ZSH_VERSION = 5.8.1 ZSH_SITE = http://www.zsh.org/pub ZSH_SOURCE = zsh-$(ZSH_VERSION).tar.xz ZSH_DEPENDENCIES = ncurses diff --git a/package/zstd/zstd.hash b/package/zstd/zstd.hash index c370bf8c462..eca44b89f03 100644 --- a/package/zstd/zstd.hash +++ b/package/zstd/zstd.hash @@ -1,5 +1,5 @@ -# From https://github.com/facebook/zstd/releases/download/v1.4.8/zstd-1.4.8.tar.gz.sha256 -sha256 32478297ca1500211008d596276f5367c54198495cf677e9439f4791a4c69f24 zstd-1.4.8.tar.gz +# From https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz.sha256 +sha256 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0 zstd-1.5.2.tar.gz # License files (locally computed) sha256 2c1a7fa704df8f3a606f6fc010b8b5aaebf403f3aeec339a12048f1ba7331a0b LICENSE diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk index dba76b09093..a4bbada825a 100644 --- a/package/zstd/zstd.mk +++ b/package/zstd/zstd.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZSTD_VERSION = 1.4.8 +ZSTD_VERSION = 1.5.2 ZSTD_SITE = https://github.com/facebook/zstd/releases/download/v$(ZSTD_VERSION) ZSTD_INSTALL_STAGING = YES ZSTD_LICENSE = BSD-3-Clause or GPL-2.0 @@ -12,12 +12,8 @@ ZSTD_LICENSE_FILES = LICENSE COPYING ZSTD_CPE_ID_VENDOR = facebook ZSTD_CPE_ID_PRODUCT = zstandard -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -ZSTD_OPTS += HAVE_THREAD=1 -else -ZSTD_OPTS += HAVE_THREAD=0 -endif - +ZSTD_OPTS += PREFIX=/usr +ZSTD_OPTS += ZSTD_LEGACY_SUPPORT=0 ifeq ($(BR2_PACKAGE_ZLIB),y) ZSTD_DEPENDENCIES += zlib ZSTD_OPTS += HAVE_ZLIB=1 @@ -39,30 +35,47 @@ else ZSTD_OPTS += HAVE_LZ4=0 endif +# zstd will append -O3 after $(CFLAGS), use MOREFLAGS to override again +ZSTD_OPTS += MOREFLAGS="$(TARGET_OPTIMIZATION)" + ifeq ($(BR2_STATIC_LIBS),y) ZSTD_BUILD_LIBS = libzstd.a ZSTD_INSTALL_LIBS = install-static else ifeq ($(BR2_SHARED_LIBS),y) -ZSTD_BUILD_LIBS = libzstd +ZSTD_BUILD_LIBS = lib ZSTD_INSTALL_LIBS = install-shared else -ZSTD_BUILD_LIBS = libzstd.a libzstd +ZSTD_BUILD_LIBS = lib ZSTD_INSTALL_LIBS = install-static install-shared endif +# prefer zstd-dll unless no library is available +ifeq ($(BR2_STATIC_LIBS),y) +ZSTD_BUILD_PROG_TARGET = zstd-release +else +ZSTD_BUILD_PROG_TARGET = zstd-dll +endif + # The HAVE_THREAD flag is read by the 'programs' makefile but not by the 'lib' -# one. Building a multi-threaded binary with a library (which defaults to -# single-threaded) gives a runtime error when compressing files. -# The 'lib' makefile provides specific '%-mt' targets for this purpose. +# one. Building a multi-threaded binary with a static library (which defaults +# to single-threaded) gives a runtime error when compressing files. +# The 'lib' makefile provides specific '%-mt' and '%-nomt' targets for this +# purpose. ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +ZSTD_OPTS += HAVE_THREAD=1 ZSTD_BUILD_LIBS := $(addsuffix -mt,$(ZSTD_BUILD_LIBS)) +else +ZSTD_OPTS += HAVE_THREAD=0 +ZSTD_BUILD_LIBS := $(addsuffix -nomt,$(ZSTD_BUILD_LIBS)) endif +# check-package disable OverriddenVariable - override intended +ZSTD_BUILD_LIBS := $(addsuffix -release,$(ZSTD_BUILD_LIBS)) define ZSTD_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - -C $(@D)/lib $(ZSTD_BUILD_LIBS) + -C $(@D)/lib $(ZSTD_BUILD_LIBS) libzstd.pc $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - -C $(@D) zstd + -C $(@D)/programs $(ZSTD_BUILD_PROG_TARGET) endef define ZSTD_INSTALL_STAGING_CMDS @@ -73,26 +86,21 @@ endef define ZSTD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install + DESTDIR=$(TARGET_DIR) -C $(@D)/programs install $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib $(ZSTD_INSTALL_LIBS) + DESTDIR=$(TARGET_DIR) -C $(@D)/lib $(ZSTD_INSTALL_LIBS) endef -# note: only limited 'HAVE_...' options for host library build only -HOST_ZSTD_OPTS = HAVE_THREAD=1 +HOST_ZSTD_OPTS += PREFIX=$(HOST_DIR) define HOST_ZSTD_BUILD_CMDS $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) $(HOST_ZSTD_OPTS) \ - -C $(@D)/lib libzstd.a-mt libzstd-mt - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) $(HOST_ZSTD_OPTS) \ - -C $(@D) zstd + -C $(@D) zstd-release lib-release endef define HOST_ZSTD_INSTALL_CMDS $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) $(HOST_ZSTD_OPTS) \ - DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/lib install - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) $(HOST_ZSTD_OPTS) \ - DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/programs install + -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/zynaddsubfx/Config.in b/package/zynaddsubfx/Config.in new file mode 100644 index 00000000000..f181a23944d --- /dev/null +++ b/package/zynaddsubfx/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_ZYNADDSUBFX + bool "zynaddsubfx" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # liblo + select BR2_PACKAGE_FFTW + select BR2_PACKAGE_FFTW_SINGLE + select BR2_PACKAGE_LIBLO + select BR2_PACKAGE_MXML + select BR2_PACKAGE_ZLIB + help + ZynAddSubFX is a fully featured open source software + synthesizer capable of making a countless number of + instruments, from some common heard from expensive hardware + to interesting sounds that you'll boost to an amazing + universe of sounds. + + Note: this Buildroot package does not include the graphical + user interface. It is meant to be executed as a headless + daemon to be controlled with MIDI events or network OSC + (Open Sound Control) events. OSC events can be generated + from an external system with the ZynAddSubFX external GUI + program zynaddsubfx-ext-gui. + + https://zynaddsubfx.sourceforge.io/ + +comment "zynaddsubfx needs a toolchain w/ C++11 and threads" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/zynaddsubfx/zynaddsubfx.hash b/package/zynaddsubfx/zynaddsubfx.hash new file mode 100644 index 00000000000..2465d0b864d --- /dev/null +++ b/package/zynaddsubfx/zynaddsubfx.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 cbd160778f6cf147f9b0487719edc5197a1404f46d7c7bfd89e153f0d8ce71ae zynaddsubfx-3.0.6.tar.bz2 +sha256 c9bf7643726da4f149e9669cf6f00257e4b3a173e4ab307461b8bd42717dd9a4 COPYING diff --git a/package/zynaddsubfx/zynaddsubfx.mk b/package/zynaddsubfx/zynaddsubfx.mk new file mode 100644 index 00000000000..aff9ac4bf42 --- /dev/null +++ b/package/zynaddsubfx/zynaddsubfx.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# zynaddsubfx +# +################################################################################ + +ZYNADDSUBFX_VERSION = 3.0.6 +ZYNADDSUBFX_SOURCE = zynaddsubfx-$(ZYNADDSUBFX_VERSION).tar.bz2 +ZYNADDSUBFX_SITE = http://downloads.sourceforge.net/zynaddsubfx +ZYNADDSUBFX_LICENSE = GPL-2.0+ +ZYNADDSUBFX_LICENSE_FILES = COPYING + +# There is no package in buildroot using LV2 plugins: disabling +ZYNADDSUBFX_CONF_OPTS = -DCompileTests=OFF -DPluginEnable=OFF + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ZYNADDSUBFX_CONF_OPTS += -DOS_LIBRARIES=-latomic +endif + +ZYNADDSUBFX_DEPENDENCIES = \ + fftw-single \ + liblo \ + mxml \ + zlib + +ifeq ($(BR2_PACKAGE_ALSA_LIB_SEQ),y) +ZYNADDSUBFX_DEPENDENCIES += alsa-lib +ZYNADDSUBFX_CONF_OPTS += -DAlsaEnable=ON +else +ZYNADDSUBFX_CONF_OPTS += -DAlsaEnable=OFF +endif + +ifeq ($(BR2_PACKAGE_JACK1)$(BR2_PACKAGE_JACK2),y) +ZYNADDSUBFX_DEPENDENCIES += $(if $(BR2_PACKAGE_JACK1),jack1,jack2) +ZYNADDSUBFX_CONF_OPTS += -DJackEnable=ON +else +ZYNADDSUBFX_CONF_OPTS += -DJackEnable=OFF +endif + +ifeq ($(BR2_PACKAGE_PORTAUDIO),y) +ZYNADDSUBFX_DEPENDENCIES += portaudio +ZYNADDSUBFX_CONF_OPTS += -DPaEnable=ON +else +ZYNADDSUBFX_CONF_OPTS += -DPaEnable=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/zynq-boot-bin/zynq-boot-bin.hash b/package/zynq-boot-bin/zynq-boot-bin.hash deleted file mode 100644 index 0bc23de1979..00000000000 --- a/package/zynq-boot-bin/zynq-boot-bin.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://raw.githubusercontent.com/Xilinx/u-boot-xlnx -sha1 940331ee02b0007099effa61e382fe7ea4174054 zynq-boot-bin.py diff --git a/package/zynq-boot-bin/zynq-boot-bin.mk b/package/zynq-boot-bin/zynq-boot-bin.mk deleted file mode 100644 index deba5f40967..00000000000 --- a/package/zynq-boot-bin/zynq-boot-bin.mk +++ /dev/null @@ -1,22 +0,0 @@ -################################################################################ -# -# zynq-boot-bin -# -################################################################################ - -ZYNQ_BOOT_BIN_VERSION = 2015.1 -ZYNQ_BOOT_BIN_SOURCE = zynq-boot-bin.py -ZYNQ_BOOT_BIN_SITE = https://raw.githubusercontent.com/Xilinx/u-boot-xlnx/xilinx-v$(ZYNQ_BOOT_BIN_VERSION)/tools -ZYNQ_BOOT_BIN_LICENSE = GPL-3.0+ - -HOST_ZYNQ_BOOT_BIN_DEPENDENCIES = host-python - -define HOST_ZYNQ_BOOT_BIN_EXTRACT_CMDS - cp $(HOST_ZYNQ_BOOT_BIN_DL_DIR)/$(ZYNQ_BOOT_BIN_SOURCE) $(@D) -endef - -define HOST_ZYNQ_BOOT_BIN_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/$(ZYNQ_BOOT_BIN_SOURCE) $(HOST_DIR)/bin/$(ZYNQ_BOOT_BIN_SOURCE) -endef - -$(eval $(host-generic-package)) diff --git a/package/zyre/zyre.hash b/package/zyre/zyre.hash index 289341f4944..d9d92d78f2d 100644 --- a/package/zyre/zyre.hash +++ b/package/zyre/zyre.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b978a999947ddb6722d956db2427869b313225e50518c4fbbf960a68109e3e91 zyre-2.0.0.tar.gz +sha256 624d379dc880025144f58d3a7dc35ea1be4a57ba4e2a58c98ec15a60891be12d zyre-2.0.1.tar.gz sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENSE diff --git a/package/zyre/zyre.mk b/package/zyre/zyre.mk index 21224d6bb4a..a726859adf3 100644 --- a/package/zyre/zyre.mk +++ b/package/zyre/zyre.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZYRE_VERSION = 2.0.0 +ZYRE_VERSION = 2.0.1 ZYRE_SITE = $(call github,zeromq,zyre,v$(ZYRE_VERSION)) ZYRE_LICENSE = MPL-2.0 ZYRE_LICENSE_FILES = LICENSE diff --git a/package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch b/package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch new file mode 100644 index 00000000000..780d990ab79 --- /dev/null +++ b/package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch @@ -0,0 +1,75 @@ +From 0e8d35f92efb680c81f6ec1fca9f11d173dce389 Mon Sep 17 00:00:00 2001 +From: Guido Draheim +Date: Sat, 22 May 2021 15:13:28 +0200 +Subject: [PATCH] #117 implant ZZIP_LIBLATEST for zzip.lib + +[Andreas: Extract link creation for versioned libraries from commit +0e8d35f92efb680c81f6ec1fca9f11d173dce389.] +Signed-off-by: Andreas Ziegler +--- + zzip/CMakeLists.txt | 57 +++++++++++++++++++++++++++++++++++---------- + 1 file changed, 45 insertions(+), 12 deletions(-) + +diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt +index a966d5f..ccd08b6 100644 +--- a/zzip/CMakeLists.txt ++++ b/zzip/CMakeLists.txt +@@ -28,6 +28,12 @@ option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" OFF) + option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" OFF) + endif() + ++if(ZZIP_LIBTOOL OR ZZIP_PKGCONFIG) ++option(ZZIP_LIBLATEST "Ensure libname.lib links to libname-REL.lib" ON) ++else() ++option(ZZIP_LIBLATEST "Ensure libname.lib links to libname-REL.lib" OFF) ++endif() ++ + # used in zzip/_config.h + set(ZZIP_PACKAGE "${PROJECT_NAME}lib") + set(ZZIP_VERSION "${PROJECT_VERSION}") +@@ -346,6 +340,45 @@ if(ZZIP_LIBTOOL) + endif(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG) + endif(ZZIP_LIBTOOL) + ++if(ZZIP_LIBLATEST) ++ if(BUILD_SHARED_LIBS) ++ set(lib ${CMAKE_SHARED_LIBRARY_PREFIX}) ++ set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX}) ++ else() ++ set(lib ${CMAKE_STATIC_LIBRARY_PREFIX}) ++ set(dll ${CMAKE_STATIC_LIBRARY_SUFFIX}) ++ endif() ++ get_target_property(libname libzzip OUTPUT_NAME) ++ get_target_property(librelease libzzip RELEASE_POSTFIX) ++ add_custom_target(libzzip_latest ALL ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ ) ++ install(FILES ++ ${outdir}/${lib}${libname}${dll} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ if(ZZIPFSEEKO) ++ get_target_property(libname libzzipfseeko OUTPUT_NAME) ++ get_target_property(librelease libzzipfseeko RELEASE_POSTFIX) ++ add_custom_target(libzzipfseeko_latest ALL ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ ) ++ install(FILES ++ ${outdir}/${lib}${libname}${dll} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ endif(ZZIPFSEEKO) ++ if(ZZIPMMAPPED) ++ get_target_property(libname libzzipmmapped OUTPUT_NAME) ++ get_target_property(librelease libzzipmmapped RELEASE_POSTFIX) ++ add_custom_target(libzzipmmaped_latest ALL ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ ) ++ install(FILES ++ ${outdir}/${lib}${libname}${dll} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ endif(ZZIPMMAPPED) ++endif(ZZIP_LIBLATEST) ++ ++ + ## messages ############################################## + + message(STATUS "lib zzipfseeko to be compiled: ${ZZIPFSEEKO}") diff --git a/support/config-fragments/autobuild/bootlin-riscv64-glibc.config b/support/config-fragments/autobuild/bootlin-riscv64-glibc.config index f6c6fcaa366..433a6e89f76 100644 --- a/support/config-fragments/autobuild/bootlin-riscv64-glibc.config +++ b/support/config-fragments/autobuild/bootlin-riscv64-glibc.config @@ -1,5 +1,5 @@ BR2_riscv=y -BR2_RISCV_ABI_LP64=y +BR2_RISCV_ABI_LP64D=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y -BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE=y diff --git a/support/config-fragments/autobuild/bootlin-riscv64-musl.config b/support/config-fragments/autobuild/bootlin-riscv64-musl.config index 2b6a6e56dab..fee1f29f4a7 100644 --- a/support/config-fragments/autobuild/bootlin-riscv64-musl.config +++ b/support/config-fragments/autobuild/bootlin-riscv64-musl.config @@ -1,4 +1,4 @@ BR2_riscv=y -BR2_RISCV_ABI_LP64=y +BR2_RISCV_ABI_LP64D=y BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE=y diff --git a/support/config-fragments/autobuild/br-arm-internal-glibc.config b/support/config-fragments/autobuild/br-arm-internal-glibc.config index ea6df7fbd92..fb930cbef7c 100644 --- a/support/config-fragments/autobuild/br-arm-internal-glibc.config +++ b/support/config-fragments/autobuild/br-arm-internal-glibc.config @@ -1,6 +1,6 @@ BR2_arm=y BR2_cortex_a8=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_BINUTILS_VERSION_2_34_X=y -BR2_GCC_VERSION_10_X=y +BR2_BINUTILS_VERSION_2_36_X=y +BR2_GCC_VERSION_11_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/dependencies/check-host-cmake.mk b/support/dependencies/check-host-cmake.mk index e1bbcd62c86..dfc252e9198 100644 --- a/support/dependencies/check-host-cmake.mk +++ b/support/dependencies/check-host-cmake.mk @@ -1,9 +1,9 @@ -# Set this to either 3.15 or higher, depending on the highest minimum +# Set this to either 3.16 or higher, depending on the highest minimum # version required by any of the packages bundled in Buildroot. If a # package is bumped or a new one added, and it requires a higher # version, our cmake infra will catch it and build its own. # -BR2_CMAKE_VERSION_MIN = 3.15 +BR2_CMAKE_VERSION_MIN = 3.16 BR2_CMAKE_CANDIDATES ?= cmake cmake3 BR2_CMAKE ?= $(call suitable-host-package,cmake,\ diff --git a/support/dependencies/dependencies.mk b/support/dependencies/dependencies.mk index 4fac5c731b2..a7bb1a60802 100644 --- a/support/dependencies/dependencies.mk +++ b/support/dependencies/dependencies.mk @@ -15,7 +15,7 @@ else # script should use 'which' to find a candidate. The script should return # the path to the suitable host tool, or nothing if no suitable tool was found. define suitable-host-package -$(shell support/dependencies/check-host-$(1).sh $(2)) +$(if $(1),$(shell support/dependencies/check-host-$(1).sh $(2))) endef endif # host utilities needs host-tar to extract the source code tarballs, so diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index b44d28682ca..c604a9efcc1 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -2,6 +2,9 @@ # vi: set sw=4 ts=4: export LC_ALL=C +TAB="$(printf '\t')" +NL=" +" # Verify that grep works echo "WORKS" | grep "WORKS" >/dev/null 2>&1 @@ -35,9 +38,9 @@ case ":${PATH:-unset}:" in echo "PATH environment variable. This doesn't work." exit 1 ;; -(*" -"*) printf "\n" - printf "Your PATH contains a newline (\\\n) character.\n" +(*" "*|*"${TAB}"*|*"${NL}"*) + printf "\n" + printf "Your PATH contains spaces, TABs, and/or newline (\\\n) characters.\n" printf "This doesn't work. Fix you PATH.\n" exit 1 ;; @@ -160,7 +163,7 @@ fi # Check that a few mandatory programs are installed missing_progs="no" -for prog in patch perl tar wget cpio unzip rsync bc ${DL_TOOLS} ; do +for prog in perl tar wget cpio unzip rsync bc ${DL_TOOLS} ; do if ! which $prog > /dev/null ; then echo "You must install '$prog' on your build machine"; missing_progs="yes" @@ -180,11 +183,19 @@ if test "${missing_progs}" = "yes" ; then exit 1 fi -# apply-patches.sh needs patch with --no-backup-if-mismatch support (GNU, busybox w/DESKTOP) -if ! patch --no-backup-if-mismatch /dev/null; then - echo "Your patch program does not support the --no-backup-if-mismatch option. Install GNU patch" +PATCH_VERSION="$(patch -v 2>/dev/null | sed -n 's/^GNU patch \(.*\)/\1/p')" +if [ -z "${PATCH_VERSION}" ] ; then + echo + echo "You must install GNU patch" exit 1 fi +PATCH_MAJOR="$(echo "${PATCH_VERSION}" | cut -d . -f 1)" +PATCH_MINOR="$(echo "${PATCH_VERSION}" | cut -d . -f 2)" +if [ "${PATCH_MAJOR}" -lt 2 ] || [ "${PATCH_MAJOR}" -eq 2 -a "${PATCH_MINOR}" -lt 7 ] ; then + echo + echo "You have GNU patch '${PATCH_VERSION}' installed. GNU patch >= 2.7 is required" + exit 1; +fi if grep ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG > /dev/null; then if ! which locale > /dev/null ; then diff --git a/support/docker/Dockerfile b/support/docker/Dockerfile index a9bacca3a0b..f54c31b54a5 100644 --- a/support/docker/Dockerfile +++ b/support/docker/Dockerfile @@ -1,12 +1,12 @@ # This Dockerfile generates the docker image that gets used by Gitlab CI # To build it (YYYYMMDD.HHMM is the current date and time in UTC): -# sudo docker build -t buildroot/base:YYYYMMDD.HHMM support/docker -# sudo docker push buildroot/base:YYYYMMDD.HHMM +# docker build -t registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM support/docker +# docker push registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM # We use a specific tag for the base image *and* the corresponding date # for the repository., so do not forget to update the apt-sources.list # file that is shipped next to this Dockerfile. -FROM debian:stretch-20171210 +FROM debian:bullseye-20210902 LABEL maintainer="Buildroot mailing list " \ vendor="Buildroot" \ @@ -36,13 +36,16 @@ RUN apt-get install -y --no-install-recommends \ libncurses5-dev \ locales \ mercurial \ + openssh-server \ python3 \ python3-flake8 \ python3-nose2 \ python3-pexpect \ + python3-pytest \ qemu-system-arm \ qemu-system-x86 \ rsync \ + shellcheck \ subversion \ unzip \ wget \ diff --git a/support/docker/apt-sources.list b/support/docker/apt-sources.list index 789fb8fc171..0f872fd398b 100644 --- a/support/docker/apt-sources.list +++ b/support/docker/apt-sources.list @@ -1,4 +1,4 @@ -# Latest just before 20171210T000000Z: -deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20171209T220346Z/ stretch main -deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20171209T220346Z/ stretch-updates main -deb [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20171209T224618Z/ stretch/updates main +# Latest just before 20210817T000000Z: +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20210902T205533Z/ bullseye main +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20210902T193650Z/ bullseye-security main +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20210902T205533Z/ bullseye-updates main diff --git a/support/download/bzr b/support/download/bzr index 5289a421cd0..6f77bc286ef 100755 --- a/support/download/bzr +++ b/support/download/bzr @@ -16,10 +16,10 @@ set -e # BZR : the bzr command to call -verbose= +quiet= while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in - q) verbose=-q;; + q) quiet=-q;; o) output="${OPTARG}";; u) uri="${OPTARG}";; c) cset="${OPTARG}";; @@ -34,6 +34,13 @@ shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _bzr() { + if [ -z "${quiet}" ]; then + printf '%s ' ${BZR} "${@}"; printf '\n' + fi + _plain_bzr "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_bzr() { eval ${BZR} "${@}" } @@ -53,6 +60,6 @@ if [ ${bzr_version} -ge ${bzr_min_version} ]; then timestamp_opt="--per-file-timestamps" fi -_bzr export ${verbose} --root="'${basename}/'" --format=tgz \ +_bzr export ${quiet} --root="'${basename}/'" --format=tgz \ ${timestamp_opt} - "${@}" "'${uri}'" -r "'${cset}'" \ >"${output}" diff --git a/support/download/cargo-post-process b/support/download/cargo-post-process new file mode 100755 index 00000000000..a4a4718a2a4 --- /dev/null +++ b/support/download/cargo-post-process @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +set -e + +. "${0%/*}/helpers" + +while getopts "n:o:" OPT; do + case "${OPT}" in + o) output="${OPTARG}";; + n) base_name="${OPTARG}";; + :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; + \?) error "unknown option '%s'\n" "${OPTARG}";; + esac +done + +# Already vendored tarball, nothing to do +if tar tf "${output}" | grep -q "^[^/]*/VENDOR" ; then + exit 0 +fi + +post_process_unpack "${base_name}" "${output}" + +# Do the Cargo vendoring +pushd "${base_name}" > /dev/null +cargo vendor --manifest-path ${BR_CARGO_MANIFEST_PATH-Cargo.toml} --locked VENDOR + +# Create the local .cargo/config with vendor info +mkdir -p .cargo/ +cat <.cargo/config +[source.crates-io] +replace-with = "vendored-sources" + +[source.vendored-sources] +directory = "VENDOR" +EOF +popd > /dev/null + +post_process_repack "$(pwd)" "${base_name}" "${output}" diff --git a/support/download/check-hash b/support/download/check-hash index fe9c10570ef..5a47f49bc30 100755 --- a/support/download/check-hash +++ b/support/download/check-hash @@ -53,11 +53,7 @@ check_one_hash() { # Note: md5 is supported, but undocumented on purpose. # Note: sha3 is not supported, since there is currently no implementation # (the NIST has yet to publish the parameters). - # Note: 'none' means there is explicitly no hash for that file. case "${_h}" in - none) - return 0 - ;; md5|sha1) ;; sha224|sha256|sha384|sha512) ;; *) # Unknown hash, exit with error diff --git a/support/download/cvs b/support/download/cvs index 9d0dc3cb3a3..0c079e24035 100755 --- a/support/download/cvs +++ b/support/download/cvs @@ -16,10 +16,10 @@ set -e # Environment: # CVS : the cvs command to call -verbose= +quiet= while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in - q) verbose=-Q;; + q) quiet=-Q;; o) output="${OPTARG}";; u) uri="${OPTARG#*://}";; c) rev="${OPTARG}";; @@ -39,6 +39,13 @@ shift $((OPTIND-1)) # Get rid of our options # ). Since nobody sane will put large code bases in CVS, a timeout of # 10 minutes should do the trick. _cvs() { + if [ -z "${quiet}" ]; then + printf '%s ' timeout 10m ${CVS} "${@}"; printf '\n' + fi + _plain_cvs "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_cvs() { eval timeout 10m ${CVS} "${@}" } @@ -57,7 +64,7 @@ if [[ ! "${uri}" =~ ^: ]]; then fi export TZ=UTC -_cvs ${verbose} -z3 -d"'${uri}'" \ +_cvs ${quiet} -z3 -d"'${uri}'" \ co "${@}" -d "'${basename}'" ${select} "'${rev}'" -P "'${rawname}'" tar czf "${output}" "${basename}" diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper index 3315bd410e4..09a6ac1f1ad 100755 --- a/support/download/dl-wrapper +++ b/support/download/dl-wrapper @@ -17,15 +17,15 @@ # We want to catch any unexpected failure, and exit immediately. set -e -export BR_BACKEND_DL_GETOPTS=":hc:d:o:n:N:H:ru:qf:e" +export BR_BACKEND_DL_GETOPTS=":hc:d:o:n:N:H:lru:qf:e" main() { local OPT OPTARG - local backend output hfile recurse quiet rc + local backend output hfile large_file recurse quiet rc local -a uris # Parse our options; anything after '--' is for the backend - while getopts ":c:d:D:o:n:N:H:rf:u:q" OPT; do + while getopts ":c:d:D:o:n:N:H:lrf:u:qp:" OPT; do case "${OPT}" in c) cset="${OPTARG}";; d) dl_dir="${OPTARG}";; @@ -34,9 +34,11 @@ main() { n) raw_base_name="${OPTARG}";; N) base_name="${OPTARG}";; H) hfile="${OPTARG}";; + l) large_file="-l";; r) recurse="-r";; f) filename="${OPTARG}";; u) uris+=( "${OPTARG}" );; + p) post_process="${OPTARG}";; q) quiet="-q";; :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; \?) error "unknown option '%s'\n" "${OPTARG}";; @@ -88,7 +90,7 @@ main() { backend_urlencode="${uri%%+*}" backend="${backend_urlencode%|*}" case "${backend}" in - git|svn|cvs|bzr|file|scp|hg) ;; + git|svn|cvs|bzr|file|scp|hg|sftp) ;; *) backend="wget" ;; esac uri=${uri#*+} @@ -127,7 +129,7 @@ main() { -f "${filename}" \ -u "${uri}" \ -o "${tmpf}" \ - ${quiet} ${recurse} -- "${@}" + ${quiet} ${large_file} ${recurse} -- "${@}" then # cd back to keep path coherence cd "${OLDPWD}" @@ -135,6 +137,12 @@ main() { continue fi + if [ -n "${post_process}" ] ; then + "${OLDPWD}/support/download/${post_process}-post-process" \ + -o "${tmpf}" \ + -n "${raw_base_name}" + fi + # cd back to free the temp-dir, so we can remove it later cd "${OLDPWD}" diff --git a/support/download/file b/support/download/file index e52fcf2c8ca..a893ca5cc30 100755 --- a/support/download/file +++ b/support/download/file @@ -36,6 +36,13 @@ shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _localfiles() { + if [ -n "${verbose}" ]; then + printf '%s ' ${LOCALFILES} "${@}"; printf '\n' + fi + _plain_localfiles "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_localfiles() { eval ${LOCALFILES} "${@}" } diff --git a/support/download/git b/support/download/git index fa98198fe06..1a1c315f73d 100755 --- a/support/download/git +++ b/support/download/git @@ -50,11 +50,13 @@ _on_error() { exec "${myname}" "${OPTS[@]}" || exit ${ret} } -verbose= +quiet= +large_file=0 recurse=0 while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in - q) verbose=-q; exec >/dev/null;; + q) quiet=-q; exec >/dev/null;; + l) large_file=1;; r) recurse=1;; o) output="${OPTARG}";; u) uri="${OPTARG}";; @@ -79,6 +81,13 @@ trap _on_error ERR # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _git() { + if [ -z "${quiet}" ]; then + printf '%s ' GIT_DIR="${git_cache}/.git" ${GIT} "${@}"; printf '\n' + fi + _plain_git "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_git() { eval GIT_DIR="${git_cache}/.git" ${GIT} "${@}" } @@ -112,7 +121,7 @@ _EOF_ _git init . # Ensure the repo has an origin (in case a previous run was killed). -if ! _git remote |grep -q -E '^origin$'; then +if ! _plain_git remote |grep -q -E '^origin$'; then _git remote add origin "'${uri}'" fi @@ -178,7 +187,7 @@ _git clean -ffdx # Get date of commit to generate a reproducible archive. # %ci is ISO 8601, so it's fully qualified, with TZ and all. -date="$( _git log -1 --pretty=format:%ci )" +date="$( _plain_git log -1 --pretty=format:%ci )" # There might be submodules, so fetch them. if [ ${recurse} -eq 1 ]; then @@ -191,13 +200,26 @@ if [ ${recurse} -eq 1 ]; then # versions. However, we can't do that if git is too old and uses # full repositories for submodules. cmd='printf "%s\n" "${path}/"' - for module_dir in $( _git submodule --quiet foreach "'${cmd}'" ); do + for module_dir in $( _plain_git submodule --quiet foreach "'${cmd}'" ); do [ -f "${module_dir}/.git" ] || continue relative_dir="$( sed -r -e 's,/+,/,g; s,[^/]+/,../,g' <<<"${module_dir}" )" sed -r -i -e "s:^gitdir\: $(pwd)/:gitdir\: "${relative_dir}":" "${module_dir}/.git" done fi +# If there are large files then fetch them. +if [ ${large_file} -eq 1 ]; then + _git lfs install --local + _git lfs fetch + _git lfs checkout + # If there are also submodules, recurse into them, + if [ ${recurse} -eq 1 ]; then + _git submodule foreach --recursive ${GIT} lfs install --local + _git submodule foreach --recursive ${GIT} lfs fetch + _git submodule foreach --recursive ${GIT} lfs checkout + fi +fi + popd >/dev/null # Generate the archive. diff --git a/support/download/go-post-process b/support/download/go-post-process new file mode 100755 index 00000000000..ef96a76948e --- /dev/null +++ b/support/download/go-post-process @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +set -e + +. "${0%/*}/helpers" + +# Parse our options +while getopts "n:o:" OPT; do + case "${OPT}" in + o) output="${OPTARG}";; + n) base_name="${OPTARG}";; + :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; + \?) error "unknown option '%s'\n" "${OPTARG}";; + esac +done + +# Already vendored tarball, nothing to do +if tar tf "${output}" | grep -q "^[^/]*/vendor" ; then + exit 0 +fi + +post_process_unpack "${base_name}" "${output}" + +# Do the Go vendoring +pushd "${base_name}" > /dev/null + +if [ ! -f go.mod ]; then + echo "ERROR: no vendor/ folder and no go.mod, aborting" + exit 1 +fi + +go mod vendor -v -modcacherw +popd > /dev/null + +post_process_repack $(pwd) "${base_name}" "${output}" diff --git a/support/download/helpers b/support/download/helpers index 57cc9fef444..90a7d6c1ec3 100755 --- a/support/download/helpers +++ b/support/download/helpers @@ -59,7 +59,7 @@ mk_tar_gz() { LC_ALL=C sort <"${tmp}.list" >"${tmp}.sorted" # Create POSIX tarballs, since that's the format the most reproducible - tar cf - --transform="s#^\./#${base_dir}/#" \ + tar cf - --transform="s#^\./#${base_dir}/#S" \ --numeric-owner --owner=0 --group=0 --mtime="${date}" \ --format=posix --pax-option="${pax_options}" \ -T "${tmp}.sorted" >"${tmp}.tar" @@ -72,5 +72,27 @@ mk_tar_gz() { popd >/dev/null } +post_process_unpack() { + local dest="${1}" + local tarball="${2}" + local one_file + + mkdir "${dest}" + tar -C "${dest}" --strip-components=1 -xzf "${tarball}" + one_file="$(find "${dest}" -type f -print0 |LC_ALL=C sort -z |sed 's/\x0.*//')" + touch -r "${one_file}" "${dest}.timestamp" +} + +post_process_repack() { + local in_dir="${1}" + local base_dir="${2}" + local out="${3}" + local date + + date="@$(stat -c '%Y' "${in_dir}/${base_dir}.timestamp")" + + mk_tar_gz "${in_dir}/${base_dir}" "${base_dir}" "${date}" "${out}" +} + # Keep this line and the following as last lines in this file. # vim: ft=bash diff --git a/support/download/hg b/support/download/hg index efb515fca5b..768a27e06fd 100755 --- a/support/download/hg +++ b/support/download/hg @@ -15,10 +15,10 @@ set -e # Environment: # HG : the hg command to call -verbose= +quiet= while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in - q) verbose=-q;; + q) quiet=-q;; o) output="${OPTARG}";; u) uri="${OPTARG}";; c) cset="${OPTARG}";; @@ -33,11 +33,18 @@ shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _hg() { + if [ -z "${quiet}" ]; then + printf '%s ' ${HG} "${@}"; printf '\n' + fi + _plain_hg "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_hg() { eval ${HG} "${@}" } -_hg clone ${verbose} "${@}" --noupdate "'${uri}'" "'${basename}'" +_hg clone ${quiet} "${@}" --noupdate "'${uri}'" "'${basename}'" -_hg archive ${verbose} --repository "'${basename}'" --type tgz \ +_plain_hg archive ${quiet} --repository "'${basename}'" --type tgz \ --prefix "'${basename}'" --rev "'${cset}'" \ - >"${output}" diff --git a/support/download/scp b/support/download/scp index 80cf495c4e0..14e768b601d 100755 --- a/support/download/scp +++ b/support/download/scp @@ -14,10 +14,10 @@ set -e # Environment: # SCP : the scp command to call -verbose= +quiet= while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in - q) verbose=-q;; + q) quiet=-q;; o) output="${OPTARG}";; f) filename="${OPTARG}";; u) uri="${OPTARG}";; @@ -31,10 +31,17 @@ shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _scp() { + if [ -z "${quiet}" ]; then + printf '%s ' ${SCP} "${@}"; printf '\n' + fi + _plain_scp "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_scp() { eval ${SCP} "${@}" } # Remove any scheme prefix uri="${uri##scp://}" -_scp ${verbose} "${@}" "'${uri}/${filename}'" "'${output}'" +_scp ${quiet} "${@}" "'${uri}/${filename}'" "'${output}'" diff --git a/support/download/sftp b/support/download/sftp new file mode 100755 index 00000000000..0a44be7e618 --- /dev/null +++ b/support/download/sftp @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# We want to catch any unexpected failure, and exit immediately +set -e + +# Download helper for sftp, to be called from the download wrapper script +# +# Options: +# -q Be quiet. +# -o FILE Copy to local file FILE. +# -f FILE Copy from remote file FILE. +# -u URI Download file at URI. +# +# Environment: +# SFTP : the sftp command to call + +quiet= +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do + case "${OPT}" in + q) quiet=-q;; + o) output="${OPTARG}";; + f) filename="${OPTARG}";; + u) uri="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; + \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; + esac +done + +shift $((OPTIND-1)) # Get rid of our options + +# Caller needs to single-quote its arguments to prevent them from +# being expanded a second time (in case there are spaces in them) +_sftp() { + if [ -z "${quiet}" ]; then + printf '%s ' ${SFTP} "${@}"; printf '\n' + fi + # Note: please keep command below aligned with what is printed above + eval ${SFTP} "${@}" +} + +_sftp ${quiet} "${@}" "'${uri}/${filename}'" "'${output}'" diff --git a/support/download/svn b/support/download/svn index 839dccaf620..b23b7773d39 100755 --- a/support/download/svn +++ b/support/download/svn @@ -22,10 +22,10 @@ set -e . "${0%/*}/helpers" -verbose= +quiet= while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in - q) verbose=-q;; + q) quiet=-q;; o) output="${OPTARG}";; u) uri="${OPTARG}";; c) rev="${OPTARG}";; @@ -40,17 +40,26 @@ shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _svn() { + if [ -z "${quiet}" ]; then + printf '%s ' ${SVN} "${@}"; printf '\n' + fi + _plain_svn "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_svn() { eval ${SVN} "${@}" } -_svn export ${verbose} "${@}" "'${uri}@${rev}'" "'${basename}'" +_svn export --ignore-keywords ${quiet} "${@}" "'${uri}@${rev}'" "'${basename}'" # Get the date of the revision, to generate reproducible archives. # The output format is YYYY-MM-DDTHH:MM:SS.mmmuuuZ (i.e. always in the # UTC timezone), which we can feed as-is to the --mtime option for tar. # In case there is a redirection (e.g. http -> https), just keep the # last line (svn outputs everything on stdout) -date="$( _svn info --show-item last-changed-date "'${uri}@${rev}'" |tail -n 1 )" +date="$( _plain_svn info "'${uri}@${rev}'" \ + |sed -r -e '/^Last Changed Date: /!d; s///' + )" # Generate the archive. # We did a 'svn export' above, so it's not a working copy (there is no .svn diff --git a/support/download/wget b/support/download/wget index c69e6071aac..68bd0b13c87 100755 --- a/support/download/wget +++ b/support/download/wget @@ -15,10 +15,10 @@ set -e # Environment: # WGET : the wget command to call -verbose= +quiet= while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in - q) verbose=-q;; + q) quiet=-q;; o) output="${OPTARG}";; f) filename="${OPTARG}";; u) url="${OPTARG}";; @@ -33,6 +33,13 @@ shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _wget() { + if [ -z "${quiet}" ]; then + printf '%s ' ${WGET} "${@}"; printf '\n' + fi + _plain_wget "$@" +} +# Note: please keep command below aligned with what is printed above +_plain_wget() { eval ${WGET} "${@}" } @@ -40,4 +47,4 @@ _wget() { # mirror [ -n "${encode}" ] && filename=${filename//\?/%3F} -_wget ${verbose} "${@}" -O "'${output}'" "'${url}/${filename}'" +_wget ${quiet} "${@}" -O "'${output}'" "'${url}/${filename}'" diff --git a/support/kconfig/confdata.c b/support/kconfig/confdata.c index 892da74fdcf..9ab980edd85 100644 --- a/support/kconfig/confdata.c +++ b/support/kconfig/confdata.c @@ -744,7 +744,7 @@ int conf_write(const char *name) struct menu *menu; const char *basename; const char *str; - char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; + char dirname[PATH_MAX+1], tmpname[PATH_MAX+20], newname[PATH_MAX+1]; char *env; if (!name) @@ -974,7 +974,7 @@ int conf_write_autoconf(void) const char *name; FILE *out, *tristate, *out_h; int i; - char dir[PATH_MAX+1], buf[PATH_MAX+1]; + char dir[PATH_MAX+1], buf[PATH_MAX+20]; char *s; strcpy(dir, conf_get_configname()); diff --git a/support/kconfig/util.c b/support/kconfig/util.c index 18a8e523911..8665f5bb89f 100644 --- a/support/kconfig/util.c +++ b/support/kconfig/util.c @@ -35,7 +35,7 @@ struct file *file_lookup(const char *name) int file_write_dep(const char *name) { char *str; - char buf[PATH_MAX+1], buf2[PATH_MAX+1], dir[PATH_MAX+1]; + char buf[PATH_MAX+20], buf2[PATH_MAX+1], dir[PATH_MAX+1]; struct symbol *sym, *env_sym; struct expr *e; struct file *file; diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index 685d8e3b755..976647d65d0 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2021.02' +RELEASE='2022.02.3' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/support/misc/cross-compilation.conf.in b/support/misc/cross-compilation.conf.in new file mode 100644 index 00000000000..235e5a8495d --- /dev/null +++ b/support/misc/cross-compilation.conf.in @@ -0,0 +1,37 @@ +# Note: Buildroot's and Meson's terminologies differ about the meaning +# of 'build', 'host' and 'target': +# - Buildroot's 'host' is Meson's 'build' +# - Buildroot's 'target' is Meson's 'host' + +[binaries] +c = '@TARGET_CC@' +cpp = '@TARGET_CXX@' +ar = '@TARGET_AR@' +strip = '@TARGET_STRIP@' +cmake = '@BR2_CMAKE@' +pkgconfig = '@PKGCONF_HOST_BINARY@' +g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler' +g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner' + +[built-in options] +c_args = [@TARGET_CFLAGS@] +c_link_args = [@TARGET_LDFLAGS@] +cpp_args = [@TARGET_CXXFLAGS@] +cpp_link_args = [@TARGET_LDFLAGS@] +wrap_mode = 'nodownload' +cmake_prefix_path = '@STAGING_DIR@/usr/lib/cmake' + +[properties] +needs_exe_wrapper = true +sys_root = '@STAGING_DIR@' +pkg_config_libdir = '@STAGING_DIR@/usr/lib/pkgconfig:@STAGING_DIR@/usr/share/pkgconfig' +pkg_config_static = '@STATIC@' +# enable meson build to pass a toolchain file to cmake +cmake_toolchain_file = '@HOST_DIR@/share/buildroot/toolchainfile.cmake' +cmake_defaults = false + +[host_machine] +system = 'linux' +cpu_family = '@TARGET_ARCH@' +cpu = '@TARGET_CPU@' +endian = '@TARGET_ENDIAN@' diff --git a/support/misc/gen-glibc-locales.mk b/support/misc/gen-glibc-locales.mk new file mode 100644 index 00000000000..3db1e0dc11a --- /dev/null +++ b/support/misc/gen-glibc-locales.mk @@ -0,0 +1,41 @@ +# Generates glibc locale data for target. + +inputfile = $(firstword $(subst ., ,$(1))) +charmap = $(or $(word 2,$(subst ., ,$(1))),UTF-8) + +# Packages all the generated locale data into the final archive. +# +# We sort the file names to produce consistent output regardless of +# the `find` outputs order. +$(TARGET_DIR)/usr/lib/locale/locale-archive: $(LOCALES) + $(Q)rm -f $(@) + $(Q)find $(TARGET_DIR)/usr/lib/locale/ -maxdepth 1 -mindepth 1 -type d -print0 \ + | sort -z \ + | xargs -0 \ + $(HOST_DIR)/bin/localedef \ + --prefix=$(TARGET_DIR) \ + --$(ENDIAN)-endian \ + --add-to-archive + +# Generates locale data for each locale. +# +# The input data comes preferably from the toolchain, or if the toolchain +# does not have them (Linaro toolchains), we use the ones available on the +# host machine. +# +# Uses `localedef`, which is built by the `host-localedef` package. +$(LOCALES): | $(TARGET_DIR)/usr/lib/locale/ + $(Q)echo "Generating locale $(@)" + $(Q)I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \ + $(HOST_DIR)/bin/localedef \ + --prefix=$(TARGET_DIR) \ + --$(ENDIAN)-endian \ + --no-archive \ + -i $(call inputfile,$(@)) \ + -f $(call charmap,$(@)) \ + $(@) + +.PHONY: $(LOCALES) + +$(TARGET_DIR)/usr/lib/locale/: + $(Q)mkdir -p $(TARGET_DIR)/usr/lib/locale/ diff --git a/support/misc/gitlab-ci.yml.in b/support/misc/gitlab-ci.yml.in index fcfff5c6aa3..47e72c32136 100644 --- a/support/misc/gitlab-ci.yml.in +++ b/support/misc/gitlab-ci.yml.in @@ -1,3 +1,7 @@ +.check-check-package_base: + script: + - python3 -m pytest -v utils/checkpackagelib/ + .check-DEVELOPERS_base: # get-developers should print just "No action specified"; if it prints # anything else, it's a parse error. @@ -26,20 +30,24 @@ paths: - .config +.run_make: &run_make + | + make O=${OUTPUT_DIR} > >(tee build.log |grep '>>>') 2>&1 || { + echo 'Failed build last output' + tail -200 build.log + exit 1 + } + .defconfig_base: before_script: - DEFCONFIG_NAME=${CI_JOB_NAME} + - OUTPUT_DIR=output script: - echo "Configure Buildroot for ${DEFCONFIG_NAME}" - make ${DEFCONFIG_NAME} - ./support/scripts/check-dotconfig.py .config ./configs/${DEFCONFIG_NAME} - echo 'Build buildroot' - - | - make > >(tee build.log |grep '>>>') 2>&1 || { - echo 'Failed build last output' - tail -200 build.log - exit 1 - } + - *run_make - | ./support/scripts/boot-qemu-image.py "${DEFCONFIG_NAME}" > >(tee runtime-test.log) 2>&1 || { echo 'Failed runtime test last output' @@ -76,3 +84,25 @@ - test-output/*/.config - test-output/*/images/* +.test_pkg: + stage: build + before_script: + - OUTPUT_DIR=${CI_JOB_NAME} + script: + - echo "Configure Buildroot for ${OUTPUT_DIR}" + - make O=${OUTPUT_DIR} syncconfig + - make O=${OUTPUT_DIR} savedefconfig + - echo 'Build buildroot' + - *run_make + needs: + - pipeline: $PARENT_PIPELINE_ID + job: generate-gitlab-ci-yml + artifacts: + when: always + expire_in: 2 weeks + paths: + - build.log + - br-test-pkg/*/.config + - br-test-pkg/*/defconfig + - br-test-pkg/*/build/build-time.log + - br-test-pkg/*/build/packages-file-list*.txt diff --git a/support/misc/relocate-sdk.sh b/support/misc/relocate-sdk.sh index caabeaa6f66..981d272425a 100755 --- a/support/misc/relocate-sdk.sh +++ b/support/misc/relocate-sdk.sh @@ -1,15 +1,20 @@ #!/bin/sh -# -if [ "$#" -ne 0 ]; then - echo "Run this script to relocate the buildroot SDK at that location" + +if [ "$#" -gt 1 ]; then + echo "Usage: $0 [path]" + echo "Run this script to relocate the buildroot SDK to the current location" + echo "If [path] is given, sets the location to [path] (without moving it)" exit 1 fi -LOCFILE="share/buildroot/sdk-location" -FILEPATH="$(readlink -f "$0")" -NEWPATH="$(dirname "${FILEPATH}")" +cd "$(dirname "$(readlink -f "$0")")" +if [ "$#" -eq 1 ]; then + NEWPATH="$1" +else + NEWPATH="${PWD}" +fi -cd "${NEWPATH}" +LOCFILE="share/buildroot/sdk-location" if [ ! -r "${LOCFILE}" ]; then echo "Previous location of the buildroot SDK not found!" exit 1 diff --git a/support/misc/toolchainfile.cmake.in b/support/misc/toolchainfile.cmake.in index b25031a656f..be575566a4d 100644 --- a/support/misc/toolchainfile.cmake.in +++ b/support/misc/toolchainfile.cmake.in @@ -29,9 +29,7 @@ set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@) # if the project forces some of these flag variables, Buildroot is # screwed up and there is nothing Buildroot can do about that :( set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "Debug CFLAGS") -set(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "Debug CXXFLAGS") set(CMAKE_C_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CFLAGS") -set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CXXFLAGS") # Build type from the Buildroot configuration set(CMAKE_BUILD_TYPE @@CMAKE_BUILD_TYPE@@ CACHE STRING "Buildroot build configuration") @@ -44,7 +42,6 @@ set(CMAKE_BUILD_TYPE @@CMAKE_BUILD_TYPE@@ CACHE STRING "Buildroot build configur # * and make sure the project's CMake code extends them like this if needed: # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Dsome_definitions") set(CMAKE_C_FLAGS "@@TARGET_CFLAGS@@" CACHE STRING "Buildroot CFLAGS") -set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@" CACHE STRING "Buildroot CXXFLAGS") set(CMAKE_EXE_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for executables") set(CMAKE_SHARED_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for shared libraries") set(CMAKE_MODULE_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for module libraries") @@ -62,7 +59,12 @@ set(ENV{PKG_CONFIG_SYSROOT_DIR} "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@") # This toolchain file can be used both inside and outside Buildroot. set(CMAKE_C_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_CC@@") -set(CMAKE_CXX_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_CXX@@") +if(@@TOOLCHAIN_HAS_CXX@@) + set(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "Debug CXXFLAGS") + set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CXXFLAGS") + set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@" CACHE STRING "Buildroot CXXFLAGS") + set(CMAKE_CXX_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_CXX@@") +endif() if(@@TOOLCHAIN_HAS_FORTRAN@@) set(CMAKE_Fortran_FLAGS_DEBUG "" CACHE STRING "Debug Fortran FLAGS") set(CMAKE_Fortran_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release Fortran FLAGS") diff --git a/support/misc/utils.mk b/support/misc/utils.mk index dc60cad979e..4d0efcced0b 100644 --- a/support/misc/utils.mk +++ b/support/misc/utils.mk @@ -13,6 +13,8 @@ qstrip = $(strip $(subst ",,$(1))) comma := , empty := space := $(empty) $(empty) +tab := $(empty) $(empty) +escape := $(shell printf '\x1b') # make 4.3: # https://lwn.net/Articles/810071/ @@ -84,13 +86,17 @@ finddirclauses = $(call notfirstword,$(patsubst %,-o -path '$(1)/%',$(2))) # notfirstword(wordlist): returns all but the first word in wordlist notfirstword = $(wordlist 2,$(words $(1)),$(1)) -# build a comma-separated list of quoted items, from a space-separated +# build a comma-separated list of items, from a space-separated +# list of items: a b c d --> a, b, c, d +make-comma-list = $(subst $(space),$(comma)$(space),$(strip $(1))) + +# build a comma-separated list of double-quoted items, from a space-separated # list of unquoted items: a b c d --> "a", "b", "c", "d" -make-comma-list = $(subst $(space),$(comma)$(space),$(patsubst %,"%",$(strip $(1)))) +make-dq-comma-list = $(call make-comma-list,$(patsubst %,"%",$(strip $(1)))) -# build a comma-separated list of single quoted items, from a space-separated +# build a comma-separated list of single-quoted items, from a space-separated # list of unquoted items: a b c d --> 'a', 'b', 'c', 'd' -make-sq-comma-list = $(subst $(space),$(comma)$(space),$(patsubst %,'%',$(strip $(1)))) +make-sq-comma-list = $(call make-comma-list,$(patsubst %,'%',$(strip $(1)))) # Needed for the foreach loops to loop over the list of hooks, so that # each hook call is properly separated by a newline. diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh index 9fb488c5701..6da83f6826e 100755 --- a/support/scripts/apply-patches.sh +++ b/support/scripts/apply-patches.sh @@ -113,13 +113,8 @@ function apply_patch { echo " to be applied : ${path}/${patch}" exit 1 fi - if ${uncomp} "${path}/$patch" | grep -q "^rename from" && \ - ${uncomp} "${path}/$patch" | grep -q "^rename to" ; then - echo "Error: patch contains some renames, not supported by old patch versions" - exit 1 - fi echo "${path}/${patch}" >> ${builddir}/.applied_patches_list - ${uncomp} "${path}/$patch" | patch -g0 -p1 -E --no-backup-if-mismatch -d "${builddir}" -t -N $silent + ${uncomp} "${path}/$patch" | patch -g0 -p1 --no-backup-if-mismatch -d "${builddir}" -t -N $silent if [ $? != 0 ] ; then echo "Patch failed! Please fix ${patch}!" exit 1 diff --git a/support/scripts/boot-qemu-image.py b/support/scripts/boot-qemu-image.py index 0d4ad825fcd..fba1533bb7b 100755 --- a/support/scripts/boot-qemu-image.py +++ b/support/scripts/boot-qemu-image.py @@ -43,9 +43,9 @@ def main(): # In this case, spawn above will succeed at starting the wrapper # start-qemu.sh, but that one will fail (exit with 127) in such # a situation. - exit = [int(l.split(' ')[1]) - for l in e.value.splitlines() - if l.startswith('exitstatus: ')] + exit = [int(line.split(' ')[1]) + for line in e.value.splitlines() + if line.startswith('exitstatus: ')] if len(exit) and exit[0] == 127: print('qemu-start.sh could not find the qemu binary') sys.exit(0) diff --git a/support/scripts/check-dotconfig.py b/support/scripts/check-dotconfig.py index f9a416b743b..54fd6ae91ec 100755 --- a/support/scripts/check-dotconfig.py +++ b/support/scripts/check-dotconfig.py @@ -17,7 +17,7 @@ def main(): # strip() to get rid of trailing \n with open(configfile) as configf: - configlines = [l.strip() for l in configf.readlines()] + configlines = [line.strip() for line in configf.readlines()] defconfiglines = [] with open(defconfig) as defconfigf: diff --git a/support/scripts/check-host-rpath b/support/scripts/check-host-rpath index 9a3866982bf..b27cb883f37 100755 --- a/support/scripts/check-host-rpath +++ b/support/scripts/check-host-rpath @@ -98,7 +98,7 @@ check_elf_has_rpath() { # PER_PACKAGE_DIR and therefore ${perpackagedir} points to # a non-existent directory, and this check will always be # false. - [[ ${dir} =~ ${perpackagedir}/[^/]+/host/lib ]] && return 0 + [[ ${dir} =~ "${perpackagedir}/"[^/]+/host/lib ]] && return 0 done done < <( readelf -d "${file}" \ |sed -r -e '/.* \(R(UN)?PATH\) +Library r(un)?path: \[(.+)\]$/!d' \ diff --git a/support/scripts/cve.py b/support/scripts/cve.py index 6e97ea193f8..7cd6fce4d85 100755 --- a/support/scripts/cve.py +++ b/support/scripts/cve.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2009 by Thomas Petazzoni # Copyright (C) 2020 by Gregory CLEMENT @@ -28,6 +28,12 @@ try: import ijson + # backend is a module in < 2.5, a string in >= 2.5 + if 'python' in getattr(ijson.backend, '__name__', ijson.backend): + try: + import ijson.backends.yajl2_cffi as ijson + except ImportError: + sys.stderr.write('Warning: Using slow ijson python backend\n') except ImportError: sys.stderr.write("You need ijson to parse NVD for CVE check\n") exit(1) @@ -223,6 +229,11 @@ def affects(self, name, version, cve_ignore_list, cpeid=None): # if we don't have a cpeid, build one based on name and version if not cpeid: cpeid = "cpe:2.3:*:*:%s:%s:*:*:*:*:*:*:*" % (name, version) + # if we have a cpeid, use its version instead of the package + # version, as they might be different due to + # _CPE_ID_VERSION + else: + pkg_version = distutils.version.LooseVersion(cpe_version(cpeid)) for cpe in self.each_cpe(): if not cpe_matches(cpe['id'], cpeid): diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains index 902b7795ee3..dc173fa9498 100755 --- a/support/scripts/gen-bootlin-toolchains +++ b/support/scripts/gen-bootlin-toolchains @@ -158,8 +158,8 @@ arches = { 'conditions': ['BR2_riscv', 'BR2_riscv_g', 'BR2_RISCV_32', 'BR2_RISCV_ABI_ILP32D'], 'prefix': 'riscv32', }, - 'riscv64': { - 'conditions': ['BR2_riscv', 'BR2_riscv_g', 'BR2_RISCV_64', 'BR2_RISCV_ABI_LP64'], + 'riscv64-lp64d': { + 'conditions': ['BR2_riscv', 'BR2_riscv_g', 'BR2_RISCV_64', 'BR2_RISCV_ABI_LP64D'], 'prefix': 'riscv64', }, 'sh-sh4': { @@ -178,6 +178,55 @@ arches = { 'conditions': ['BR2_sparc', 'BR2_sparc_v8'], 'prefix': 'sparc', }, + 'x86-64': { + 'conditions': ['BR2_x86_64', + 'BR2_X86_CPU_HAS_MMX', + 'BR2_X86_CPU_HAS_SSE', + 'BR2_X86_CPU_HAS_SSE2'], + 'test_options': ['BR2_x86_64', 'BR2_x86_x86_64'], + 'prefix': 'x86_64', + }, + 'x86-64-v2': { + 'conditions': ['BR2_x86_64', + 'BR2_X86_CPU_HAS_MMX', + 'BR2_X86_CPU_HAS_SSE', + 'BR2_X86_CPU_HAS_SSE2', + 'BR2_X86_CPU_HAS_SSE3', + 'BR2_X86_CPU_HAS_SSSE3', + 'BR2_X86_CPU_HAS_SSE4', + 'BR2_X86_CPU_HAS_SSE42'], + 'test_options': ['BR2_x86_64', 'BR2_x86_x86_64_v2'], + 'prefix': 'x86_64', + }, + 'x86-64-v3': { + 'conditions': ['BR2_x86_64', + 'BR2_X86_CPU_HAS_MMX', + 'BR2_X86_CPU_HAS_SSE', + 'BR2_X86_CPU_HAS_SSE2', + 'BR2_X86_CPU_HAS_SSE3', + 'BR2_X86_CPU_HAS_SSSE3', + 'BR2_X86_CPU_HAS_SSE4', + 'BR2_X86_CPU_HAS_SSE42', + 'BR2_X86_CPU_HAS_AVX', + 'BR2_X86_CPU_HAS_AVX2'], + 'test_options': ['BR2_x86_64', 'BR2_x86_x86_64_v3'], + 'prefix': 'x86_64', + }, + 'x86-64-v4': { + 'conditions': ['BR2_x86_64', + 'BR2_X86_CPU_HAS_MMX', + 'BR2_X86_CPU_HAS_SSE', + 'BR2_X86_CPU_HAS_SSE2', + 'BR2_X86_CPU_HAS_SSE3', + 'BR2_X86_CPU_HAS_SSSE3', + 'BR2_X86_CPU_HAS_SSE4', + 'BR2_X86_CPU_HAS_SSE42', + 'BR2_X86_CPU_HAS_AVX', + 'BR2_X86_CPU_HAS_AVX2', + 'BR2_X86_CPU_HAS_AVX512'], + 'test_options': ['BR2_x86_64', 'BR2_x86_x86_64_v4'], + 'prefix': 'x86_64', + }, 'x86-64-core-i7': { 'conditions': ['BR2_x86_64', 'BR2_X86_CPU_HAS_MMX', diff --git a/support/scripts/gen-missing-cpe b/support/scripts/gen-missing-cpe new file mode 100755 index 00000000000..0b222f2659a --- /dev/null +++ b/support/scripts/gen-missing-cpe @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 + +import argparse +import sys +import json +import subprocess +import os +from cpedb import CPEDB, CPE + + +def gen_update_xml_reports(cpeids, cpedb, output): + cpe_need_update = [] + + for cpe in cpeids: + result = cpedb.find(cpe) + if not result: + result = cpedb.find_partial(CPE.no_version(cpe)) + if result: + cpe_need_update.append(cpe) + else: + print("WARNING: no match found for '%s'" % cpe) + + for cpe in cpe_need_update: + xml = cpedb.gen_update_xml(cpe) + fname = CPE.product(cpe) + '-' + CPE.version(cpe) + '.xml' + print("Generating %s" % fname) + with open(os.path.join(output, fname), 'w+') as fp: + fp.write(xml) + + print("Generated %d update files out of %d CPEs" % (len(cpe_need_update), len(cpeids))) + + +def get_cpe_ids(): + print("Getting list of CPE for enabled packages") + cmd = ["make", "--no-print-directory", "show-info"] + js = json.loads(subprocess.check_output(cmd).decode("utf-8")) + return set([v["cpe-id"] for k, v in js.items() if "cpe-id" in v]) + + +def resolvepath(path): + return os.path.abspath(os.path.expanduser(path)) + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--output', dest='output', + help='Path to the output CPE update files', type=resolvepath, required=True) + parser.add_argument('--nvd-path', dest='nvd_path', + help='Path to the local NVD database', type=resolvepath, required=True) + return parser.parse_args() + + +def __main__(): + args = parse_args() + if not os.path.isdir(args.output): + print("ERROR: output directory %s does not exist" % args.output) + sys.exit(1) + cpedb = CPEDB(args.nvd_path) + cpedb.get_xml_dict() + cpeids = get_cpe_ids() + gen_update_xml_reports(cpeids, cpedb, args.output) + + +if __name__ == "__main__": + __main__() diff --git a/support/scripts/generate-gitlab-ci-yml b/support/scripts/generate-gitlab-ci-yml index 3f498e08fd7..aa43aac0196 100755 --- a/support/scripts/generate-gitlab-ci-yml +++ b/support/scripts/generate-gitlab-ci-yml @@ -23,10 +23,10 @@ _EOF_ gen_tests() { local -a basics defconfigs runtimes - local do_basics do_defconfigs do_runtime + local do_basics do_defconfigs do_runtime do_testpkg local defconfigs_ext cfg tst - basics=( DEVELOPERS flake8 package ) + basics=( check-package DEVELOPERS flake8 package ) defconfigs=( $(cd configs; LC_ALL=C ls -1 *_defconfig) ) @@ -36,6 +36,9 @@ gen_tests() { ) if [ -n "${CI_COMMIT_TAG}" ]; then + # When a tag is added to the Buildroot git tree, we want + # to run the runtime tests and only test Qemu defconfigs. + defconfigs=( $(cd configs; LC_ALL=C ls -1 qemu_*_defconfig) ) do_basics=true do_defconfigs=base do_runtime=true @@ -63,6 +66,11 @@ gen_tests() { (*-defconfigs) do_defconfigs=base ;; + (*-defconfigs-*) + pattern=$(echo ${CI_COMMIT_REF_NAME} | sed 's%^.*-defconfigs-\(.*\)%\1%') + defconfigs=( $(cd configs; LC_ALL=C ls -1 | grep ^${pattern}) ) + do_defconfigs=base + ;; (*-*_defconfig) defconfigs=( "${CI_COMMIT_REF_NAME##*-}" ) do_defconfigs=base @@ -71,15 +79,40 @@ gen_tests() { do_runtime=true ;; (*-tests.*) - runtimes=( "${CI_COMMIT_REF_NAME##*-}" ) + runtimes=( $(./support/testing/run-tests -l 2>&1 \ + | sed -r -e '/^test_run \((.*)\).*/!d; s//\1/' \ + | LC_ALL=C sort \ + | grep "^${CI_COMMIT_REF_NAME##*-}") + ) do_runtime=true ;; esac fi + # Retrieve defconfig for test-pkg from the git commit message (if any) + if grep -q -E '^test-pkg config:$' <<<"${CI_COMMIT_DESCRIPTION}"; then + sed -r -n -e '/^test-pkg config:$/{:a;n;p;ba;}' \ + <<<"${CI_COMMIT_DESCRIPTION}" \ + >defconfig.frag + if [ ! -s defconfig.frag ]; then + printf "Empty configuration fragment.\n" >&2; exit 1 + fi + # Use --all since we expect the user having already pre-tested the + # new package with the default subset of toolchains. + ./utils/test-pkg \ + --all --prepare-only \ + --config-snippet defconfig.frag \ + --build-dir br-test-pkg >&2 + do_testpkg=( $(ls -1 br-test-pkg/*/.config 2>/dev/null |xargs -r dirname ) ) + if [ "${#do_testpkg[@]}" -eq 0 ]; then + printf "Configuration fragment enables no test.\n" >&2; exit 1 + fi + fi + # If nothing else, at least do the basics to generate a valid pipeline if [ -z "${do_defconfigs}" \ -a -z "${do_runtime}" \ + -a -z "${do_testpkg}" \ ] then do_basics=true @@ -101,6 +134,10 @@ gen_tests() { if ${do_runtime:-false}; then printf '%s: { extends: .runtime_test_base }\n' "${runtimes[@]}" fi + + if [ -n "${do_testpkg}" ]; then + printf '%s: { extends: .test_pkg }\n' "${do_testpkg[@]}" + fi } main "${@}" diff --git a/support/scripts/graph-build-time b/support/scripts/graph-build-time index ba3cdad85b1..1edc3b3c00e 100755 --- a/support/scripts/graph-build-time +++ b/support/scripts/graph-build-time @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2011 by Thomas Petazzoni # Copyright (C) 2013 by Yann E. MORIN @@ -241,6 +241,65 @@ def pkg_pie_time_per_step(data, output): plt.savefig(output) +def pkg_timeline(data, output): + start = 0 + end = 0 + + # Find the first timestamp and the last timestamp + for p in data: + for k, v in p.steps_start.items(): + if start == 0 or v < start: + start = v + if end < v: + end = v + + # Readjust all timestamps so that 0 is the start of the build + # instead of being Epoch + for p in data: + for k, v in p.steps_start.items(): + p.steps_start[k] = v - start + for k, v in p.steps_end.items(): + p.steps_end[k] = v - start + + plt.figure() + + i = 0 + labels_names = [] + labels_coords = [] + # put last packages that started to configure last; this does not + # give the proper dependency chain, but still provides a good-enough + # cascade graph. + for p in sorted(data, reverse=True, key=lambda x: x.steps_start['configure']): + durations = [] + facecolors = [] + for step in steps: + if step not in p.steps_start or step not in p.steps_end: + continue + durations.append((p.steps_start[step], + p.steps_end[step] - p.steps_start[step])) + facecolors.append(colors[steps.index(step)]) + plt.broken_barh(durations, (i, 6), facecolors=facecolors) + labels_coords.append(i + 3) + labels_names.append(p.name) + i += 10 + + axes = plt.gcf().gca() + + axes.set_ylim(0, i + 10) + axes.set_xlim(0, end - start) + axes.set_xlabel('seconds since start') + axes.set_yticks(labels_coords) + axes.set_yticklabels(labels_names) + axes.set_axisbelow(True) + axes.grid(True, linewidth=0.2, zorder=-1) + + plt.gcf().subplots_adjust(left=0.2) + + plt.tick_params(axis='y', which='both', labelsize=6) + plt.title('Timeline') + plt.savefig(output, dpi=300) + + # Parses the csv file passed on standard input and returns a list of # Package objects, filed with the duration of each step and the total # duration of the package. @@ -277,7 +336,7 @@ def read_data(input_file): parser = argparse.ArgumentParser(description='Draw build time graphs') parser.add_argument("--type", '-t', metavar="GRAPH_TYPE", - help="Type of graph (histogram, pie-packages, pie-steps)") + help="Type of graph (histogram, pie-packages, pie-steps, timeline)") parser.add_argument("--order", '-O', metavar="GRAPH_ORDER", help="Ordering of packages: build or duration (for histogram only)") parser.add_argument("--alternate-colors", '-c', action="store_true", @@ -307,6 +366,8 @@ elif args.type == "pie-packages": pkg_pie_time_per_package(d, args.output) elif args.type == "pie-steps": pkg_pie_time_per_step(d, args.output) +elif args.type == "timeline": + pkg_timeline(d, args.output) else: sys.stderr.write("Unknown type: %s\n" % args.type) exit(1) diff --git a/support/scripts/graph-depends b/support/scripts/graph-depends index d42bebce9df..a66fb28f41b 100755 --- a/support/scripts/graph-depends +++ b/support/scripts/graph-depends @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Usage (the graphviz package must be installed in your distribution) # ./support/scripts/graph-depends [-p package-name] > test.dot diff --git a/support/scripts/mkusers b/support/scripts/mkusers index d00ba338234..4fc06f8fdf8 100755 --- a/support/scripts/mkusers +++ b/support/scripts/mkusers @@ -4,10 +4,19 @@ myname="${0##*/}" #---------------------------------------------------------------------------- # Configurable items -MIN_UID=1000 -MAX_UID=1999 -MIN_GID=1000 -MAX_GID=1999 +FIRST_USER_UID=1000 +LAST_USER_UID=1999 +FIRST_USER_GID=1000 +LAST_USER_GID=1999 +# use names from /etc/adduser.conf +FIRST_SYSTEM_UID=100 +LAST_SYSTEM_UID=999 +FIRST_SYSTEM_GID=100 +LAST_SYSTEM_GID=999 +# argument to automatically crease system/user id +AUTO_SYSTEM_ID=-1 +AUTO_USER_ID=-2 + # No more is configurable below this point #---------------------------------------------------------------------------- @@ -136,9 +145,9 @@ check_user_validity() { fail "invalid username '%s\n'" "${username}" fi - if [ ${gid} -lt -1 -o ${gid} -eq 0 ]; then + if [ ${gid} -lt -2 -o ${gid} -eq 0 ]; then fail "invalid gid '%d' for '%s'\n" ${gid} "${username}" - elif [ ${gid} -ne -1 ]; then + elif [ ${gid} -ge 0 ]; then # check the gid is not already used for another group if [ -n "${_group}" -a "${_group}" != "${group}" ]; then fail "gid '%d' for '%s' is already used by group '%s'\n" \ @@ -162,9 +171,9 @@ check_user_validity() { fi fi - if [ ${uid} -lt -1 -o ${uid} -eq 0 ]; then + if [ ${uid} -lt -2 -o ${uid} -eq 0 ]; then fail "invalid uid '%d' for '%s'\n" ${uid} "${username}" - elif [ ${uid} -ne -1 ]; then + elif [ ${uid} -ge 0 ]; then # check the uid is not already used for another user if [ -n "${_username}" -a "${_username}" != "${username}" ]; then fail "uid '%d' for '%s' already used by user '%s'\n" \ @@ -194,20 +203,22 @@ check_user_validity() { # then simply report its current GID. Otherwise, generate the lowest GID # that is: # - not 0 -# - comprised in [MIN_GID..MAX_GID] +# - comprised in [$2..$3] # - not already used by a group generate_gid() { local group="${1}" + local mingid="${2}" + local maxgid="${3}" local gid gid="$( get_gid "${group}" )" if [ -z "${gid}" ]; then - for(( gid=MIN_GID; gid<=MAX_GID; gid++ )); do + for(( gid=mingid; gid<=maxgid; gid++ )); do if [ -z "$( get_group "${gid}" )" ]; then break fi done - if [ ${gid} -gt ${MAX_GID} ]; then + if [ ${gid} -gt ${maxgid} ]; then fail "can not allocate a GID for group '%s'\n" "${group}" fi fi @@ -222,8 +233,10 @@ add_one_group() { local members # Generate a new GID if needed - if [ ${gid} -eq -1 ]; then - gid="$( generate_gid "${group}" )" + if [ ${gid} -eq ${AUTO_USER_ID} ]; then + gid="$( generate_gid "${group}" $FIRST_USER_GID $LAST_USER_GID )" + elif [ ${gid} -eq ${AUTO_SYSTEM_ID} ]; then + gid="$( generate_gid "${group}" $FIRST_SYSTEM_GID $LAST_SYSTEM_GID )" fi members=$(get_members "$group") @@ -243,20 +256,23 @@ add_one_group() { # then simply report its current UID. Otherwise, generate the lowest UID # that is: # - not 0 -# - comprised in [MIN_UID..MAX_UID] +# - comprised in [$2..$3] # - not already used by a user generate_uid() { local username="${1}" + local minuid="${2}" + local maxuid="${3}" + local uid uid="$( get_uid "${username}" )" if [ -z "${uid}" ]; then - for(( uid=MIN_UID; uid<=MAX_UID; uid++ )); do + for(( uid=minuid; uid<=maxuid; uid++ )); do if [ -z "$( get_username "${uid}" )" ]; then break fi done - if [ ${uid} -gt ${MAX_UID} ]; then + if [ ${uid} -gt ${maxuid} ]; then fail "can not allocate a UID for user '%s'\n" "${username}" fi fi @@ -307,8 +323,10 @@ add_one_user() { check_user_validity "${username}" "${uid}" "${group}" "${gid}" # Generate a new UID if needed - if [ ${uid} -eq -1 ]; then - uid="$( generate_uid "${username}" )" + if [ ${uid} -eq ${AUTO_USER_ID} ]; then + uid="$( generate_uid "${username}" $FIRST_USER_GID $LAST_USER_GID )" + elif [ ${uid} -eq ${AUTO_SYSTEM_ID} ]; then + uid="$( generate_uid "${username}" $FIRST_SYSTEM_GID $LAST_SYSTEM_GID )" fi # Remove any previous instance of this user @@ -369,14 +387,15 @@ add_one_user() { main() { local username uid group gid passwd home shell groups comment local line + local auto_id local -a ENTRIES # Some sanity checks - if [ ${MIN_UID} -le 0 ]; then - fail "MIN_UID must be >0 (currently %d)\n" ${MIN_UID} + if [ ${FIRST_USER_UID} -le 0 ]; then + fail "FIRST_USER_UID must be >0 (currently %d)\n" ${FIRST_USER_UID} fi - if [ ${MIN_GID} -le 0 ]; then - fail "MIN_GID must be >0 (currently %d)\n" ${MIN_GID} + if [ ${FIRST_USER_GID} -le 0 ]; then + fail "FIRST_USER_GID must be >0 (currently %d)\n" ${FIRST_USER_GID} fi # Read in all the file in memory, exclude empty lines and comments @@ -384,8 +403,8 @@ main() { ENTRIES+=( "${line}" ) done < <( sed -r -e 's/#.*//; /^[[:space:]]*$/d;' "${USERS_TABLE}" ) - # We first create groups whose gid is not -1, and then we create groups - # whose gid is -1 (automatic), so that, if a group is defined both with + # We first create groups whose gid is positive, and then we create groups + # whose gid is automatic, so that, if a group is defined both with # a specified gid and an automatic gid, we ensure the specified gid is # used, rather than a different automatic gid is computed. @@ -399,18 +418,27 @@ main() { # Then, create all the main groups which gid *is* automatic for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" - [ ${gid} -eq -1 ] || continue # Non-automatic gid + [ ${gid} -lt 0 ] || continue # Non-automatic gid add_one_group "${group}" "${gid}" done # Then, create all the additional groups # If any additional group is already a main group, we should use - # the gid of that main group; otherwise, we can use any gid + # the gid of that main group; otherwise, we can use any gid - a + # system gid if the uid is a system user (<= LAST_SYSTEM_UID), + # otherwise a user gid. for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" if [ "${groups}" != "-" ]; then + if [ ${uid} -le 0 ]; then + auto_id=${uid} + elif [ ${uid} -le ${LAST_SYSTEM_UID} ]; then + auto_id=${AUTO_SYSTEM_ID} + else + auto_id=${AUTO_USER_ID} + fi for g in ${groups//,/ }; do - add_one_group "${g}" -1 + add_one_group "${g}" ${auto_id} done fi done @@ -433,7 +461,7 @@ main() { for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" [ "${username}" != "-" ] || continue # Magic string to skip user creation - [ ${uid} -eq -1 ] || continue # Non-automatic uid + [ ${uid} -lt 0 ] || continue # Non-automatic uid add_one_user "${username}" "${uid}" "${group}" "${gid}" "${passwd}" \ "${home}" "${shell}" "${groups}" "${comment}" done diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index 6f3ddc561f6..f67be0063f7 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -27,12 +27,16 @@ import re import subprocess import json import sys +import time +import gzip +import xml.etree.ElementTree +import requests brpath = os.path.normpath(os.path.join(os.path.dirname(__file__), "..", "..")) sys.path.append(os.path.join(brpath, "utils")) from getdeveloperlib import parse_developers # noqa: E402 -from cpedb import CPEDB # noqa: E402 +from cpedb import CPEDB_URL # noqa: E402 INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)") URL_RE = re.compile(r"\s*https?://\S*\s*$") @@ -101,6 +105,7 @@ class Package: self.cpeid = None self.cves = list() self.ignored_cves = list() + self.unsure_cves = list() self.latest_version = {'status': RM_API_STATUS_ERROR, 'version': None, 'id': None} self.status = {} @@ -131,7 +136,15 @@ class Package: @property def has_valid_infra(self): + if self.infras is None: + return False + return len(self.infras) > 0 + + @property + def is_actual_package(self): try: + if not self.has_valid_infra: + return False if self.infras[0][1] == 'virtual': return False except IndexError: @@ -159,7 +172,7 @@ class Package: """ Fills in the .status['license'] and .status['license-files'] fields """ - if not self.has_valid_infra: + if not self.is_actual_package: self.status['license'] = ("na", "no valid package infra") self.status['license-files'] = ("na", "no valid package infra") return @@ -177,7 +190,7 @@ class Package: """ Fills in the .status['hash'] field """ - if not self.has_valid_infra: + if not self.is_actual_package: self.status['hash'] = ("na", "no valid package infra") self.status['hash-license'] = ("na", "no valid package infra") return @@ -192,7 +205,7 @@ class Package: """ Fills in the .patch_count, .patch_files and .status['patches'] fields """ - if not self.has_valid_infra: + if not self.is_actual_package: self.status['patches'] = ("na", "no valid package infra") return @@ -220,8 +233,11 @@ class Package: Fills in the .cpeid field """ var = self.pkgvar() - if not self.has_valid_infra: - self.status['cpe'] = ("na", "no valid package infra") + if not self.is_actual_package: + self.status['cpe'] = ("na", "N/A - virtual pkg") + return + if not self.current_version: + self.status['cpe'] = ("na", "no version information available") return if var in self.all_cpeids: @@ -359,12 +375,13 @@ def get_pkglist(npackages, package_list): def get_config_packages(): cmd = ["make", "--no-print-directory", "show-info"] js = json.loads(subprocess.check_output(cmd)) - return set([v["name"] for v in js.values()]) + return set([v["name"] for v in js.values() if 'name' in v]) def package_init_make_info(): # Fetch all variables at once - variables = subprocess.check_output(["make", "BR2_HAVE_DOT_CONFIG=y", "-s", "printvars", + variables = subprocess.check_output(["make", "--no-print-directory", "-s", + "BR2_HAVE_DOT_CONFIG=y", "printvars", "VARS=%_LICENSE %_LICENSE_FILES %_VERSION %_IGNORE_CVES %_CPE_ID"]) variable_list = variables.decode().splitlines() @@ -375,9 +392,9 @@ def package_init_make_info(): variable_list = [x[5:] for x in variable_list if x.startswith("HOST_")] + \ [x for x in variable_list if not x.startswith("HOST_")] - for l in variable_list: + for item in variable_list: # Get variable name and value - pkgvar, value = l.split("=") + pkgvar, value = item.split("=", maxsplit=1) # Strip the suffix according to the variable if pkgvar.endswith("_LICENSE"): @@ -438,7 +455,8 @@ async def check_url_status(session, pkg, npkgs, retry=True): async def check_package_urls(packages): tasks = [] connector = aiohttp.TCPConnector(limit_per_host=5) - async with aiohttp.ClientSession(connector=connector, trust_env=True) as sess: + async with aiohttp.ClientSession(connector=connector, trust_env=True, + timeout=aiohttp.ClientTimeout(total=15)) as sess: packages = [p for p in packages if p.status['url'][0] == 'ok'] for pkg in packages: tasks.append(asyncio.ensure_future(check_url_status(sess, pkg, len(packages)))) @@ -473,7 +491,12 @@ async def check_package_get_latest_version_by_distro(session, pkg, retry=True): return False data = await resp.json() - version = data['version'] if 'version' in data else None + if 'stable_versions' in data and data['stable_versions']: + version = data['stable_versions'][0] + elif 'version' in data: + version = data['version'] + else: + version = None check_package_latest_version_set_status(pkg, RM_API_STATUS_FOUND_BY_DISTRO, version, @@ -496,13 +519,13 @@ async def check_package_get_latest_version_by_guess(session, pkg, retry=True): data = await resp.json() # filter projects that have the right name and a version defined - projects = [p for p in data['projects'] if p['name'] == pkg.name and 'version' in p] + projects = [p for p in data['projects'] if p['name'] == pkg.name and 'stable_versions' in p] projects.sort(key=lambda x: x['id']) if len(projects) > 0: check_package_latest_version_set_status(pkg, - RM_API_STATUS_FOUND_BY_DISTRO, - projects[0]['version'], + RM_API_STATUS_FOUND_BY_PATTERN, + projects[0]['stable_versions'][0], projects[0]['id']) return True @@ -551,13 +574,13 @@ async def check_package_latest_version(packages): package, as known by release-monitoring.org """ - for pkg in [p for p in packages if not p.has_valid_infra]: + for pkg in [p for p in packages if not p.is_actual_package]: pkg.status['version'] = ("na", "no valid package infra") tasks = [] connector = aiohttp.TCPConnector(limit_per_host=5) async with aiohttp.ClientSession(connector=connector, trust_env=True) as sess: - packages = [p for p in packages if p.has_valid_infra] + packages = [p for p in packages if p.is_actual_package] for pkg in packages: tasks.append(asyncio.ensure_future(check_package_latest_version_get(sess, pkg, len(packages)))) await asyncio.wait(tasks) @@ -568,8 +591,11 @@ def check_package_cve_affects(cve, cpe_product_pkgs): if product not in cpe_product_pkgs: continue for pkg in cpe_product_pkgs[product]: - if cve.affects(pkg.name, pkg.current_version, pkg.ignored_cves, pkg.cpeid) == cve.CVE_AFFECTS: + cve_status = cve.affects(pkg.name, pkg.current_version, pkg.ignored_cves, pkg.cpeid) + if cve_status == cve.CVE_AFFECTS: pkg.cves.append(cve.identifier) + elif cve_status == cve.CVE_UNKNOWN: + pkg.unsure_cves.append(cve.identifier) def check_package_cves(nvd_path, packages): @@ -578,8 +604,8 @@ def check_package_cves(nvd_path, packages): cpe_product_pkgs = defaultdict(list) for pkg in packages: - if not pkg.has_valid_infra: - pkg.status['cve'] = ("na", "no valid package infra") + if not pkg.is_actual_package: + pkg.status['cve'] = ("na", "N/A") continue if not pkg.current_version: pkg.status['cve'] = ("na", "no version information available") @@ -595,22 +621,51 @@ def check_package_cves(nvd_path, packages): for pkg in packages: if 'cve' not in pkg.status: - if pkg.cves: + if pkg.cves or pkg.unsure_cves: pkg.status['cve'] = ("error", "affected by CVEs") else: pkg.status['cve'] = ("ok", "not affected by CVEs") def check_package_cpes(nvd_path, packages): - cpedb = CPEDB(nvd_path) - cpedb.get_xml_dict() + class CpeXmlParser: + cpes = [] + + def start(self, tag, attrib): + if tag == "{http://scap.nist.gov/schema/cpe-extension/2.3}cpe23-item": + self.cpes.append(attrib['name']) + + def close(self): + return self.cpes + + print("CPE: Setting up NIST dictionary") + if not os.path.exists(os.path.join(nvd_path, "cpe")): + os.makedirs(os.path.join(nvd_path, "cpe")) + + cpe_dict_local = os.path.join(nvd_path, "cpe", os.path.basename(CPEDB_URL)) + if not os.path.exists(cpe_dict_local) or os.stat(cpe_dict_local).st_mtime < time.time() - 86400: + print("CPE: Fetching xml manifest from [" + CPEDB_URL + "]") + cpe_dict = requests.get(CPEDB_URL) + open(cpe_dict_local, "wb").write(cpe_dict.content) + + print("CPE: Unzipping xml manifest...") + nist_cpe_file = gzip.GzipFile(fileobj=open(cpe_dict_local, 'rb')) + + parser = xml.etree.ElementTree.XMLParser(target=CpeXmlParser()) + while True: + c = nist_cpe_file.read(1024*1024) + if not c: + break + parser.feed(c) + cpes = parser.close() + for p in packages: if not p.cpeid: continue - if cpedb.find(p.cpeid): + if p.cpeid in cpes: p.status['cpe'] = ("ok", "verified CPE identifier") else: - p.status['cpe'] = ("error", "CPE identifier unknown in CPE database") + p.status['cpe'] = ("error", "CPE version unknown in CPE database") def calculate_stats(packages): @@ -650,8 +705,11 @@ def calculate_stats(packages): stats["version-not-uptodate"] += 1 stats["patches"] += pkg.patch_count stats["total-cves"] += len(pkg.cves) + stats["total-unsure-cves"] += len(pkg.unsure_cves) if len(pkg.cves) != 0: stats["pkg-cves"] += 1 + if len(pkg.unsure_cves) != 0: + stats["pkg-unsure-cves"] += 1 if pkg.cpeid: stats["cpe-id"] += 1 else: @@ -735,6 +793,10 @@ td.cve-unknown { background: #ffd870; } +td.cve_ignored { + background: #ccc; +} + Statistics of Buildroot packages @@ -897,31 +959,55 @@ def dump_html_pkg(f, pkg): td_class.append("cve-ok") elif pkg.is_status_error("cve"): td_class.append("cve-nok") + elif pkg.is_status_na("cve") and not pkg.is_actual_package: + td_class.append("cve-ok") else: td_class.append("cve-unknown") f.write(" \n" % " ".join(td_class)) if pkg.is_status_error("cve"): for cve in pkg.cves: f.write(" %s
    \n" % (cve, cve)) + for cve in pkg.unsure_cves: + f.write("
    %s (unsure)
    \n" % (cve, cve)) elif pkg.is_status_na("cve"): f.write(" %s" % pkg.status['cve'][1]) else: f.write(" N/A\n") f.write(" \n") + # CVEs Ignored + td_class = ["centered"] + if pkg.ignored_cves: + td_class.append("cve_ignored") + f.write(" \n" % " ".join(td_class)) + for ignored_cve in pkg.ignored_cves: + f.write("
    %s
    \n" % (ignored_cve, ignored_cve)) + f.write(" \n") + # CPE ID td_class = ["left"] if pkg.is_status_ok("cpe"): td_class.append("cpe-ok") elif pkg.is_status_error("cpe"): td_class.append("cpe-nok") + elif pkg.is_status_na("cpe") and not pkg.is_actual_package: + td_class.append("cpe-ok") else: td_class.append("cpe-unknown") f.write(" \n" % " ".join(td_class)) if pkg.cpeid: f.write(" %s\n" % pkg.cpeid) if not pkg.is_status_ok("cpe"): - f.write(" %s%s\n" % ("
    " if pkg.cpeid else "", pkg.status['cpe'][1])) + if pkg.is_actual_package and pkg.current_version: + if pkg.cpeid: + f.write("
    %s
    (Search)\n" % # noqa: E501 + (pkg.status['cpe'][1], ":".join(pkg.cpeid.split(":")[0:5]))) + else: + f.write(" %s (Search)\n" % # noqa: E501 + (pkg.status['cpe'][1], pkg.name)) + else: + f.write(" %s\n" % pkg.status['cpe'][1]) + f.write(" \n") f.write(" \n") @@ -942,6 +1028,7 @@ def dump_html_all_pkgs(f, packages): Warnings Upstream URL CVEs +CVEs Ignored CPE ID """) @@ -985,6 +1072,10 @@ def dump_html_stats(f, stats): stats["pkg-cves"]) f.write("Total number of CVEs affecting all packages%s\n" % stats["total-cves"]) + f.write("Packages affected by unsure CVEs%s\n" % + stats["pkg-unsure-cves"]) + f.write("Total number of unsure CVEs affecting all packages%s\n" % + stats["total-unsure-cves"]) f.write("Packages with CPE ID%s\n" % stats["cpe-id"]) f.write("Packages without CPE ID%s\n" % @@ -1047,6 +1138,10 @@ def resolvepath(path): return os.path.abspath(os.path.expanduser(path)) +def list_str(values): + return values.split(',') + + def parse_args(): parser = argparse.ArgumentParser() output = parser.add_argument_group('output', 'Output file(s)') @@ -1063,6 +1158,9 @@ def parse_args(): help='List of packages (comma separated)') parser.add_argument('--nvd-path', dest='nvd_path', help='Path to the local NVD database', type=resolvepath) + parser.add_argument('--disable', type=list_str, + help='Features to disable, comma-separated (cve, upstream, url, cpe, warning)', + default=[]) args = parser.parse_args() if not args.html and not args.json: parser.error('at least one of --html or --json (or both) is required') @@ -1103,21 +1201,26 @@ def __main__(): pkg.set_license() pkg.set_hash_info() pkg.set_patch_count() - pkg.set_check_package_warnings() + if "warnings" not in args.disable: + pkg.set_check_package_warnings() pkg.set_current_version() pkg.set_cpeid() pkg.set_url() pkg.set_ignored_cves() pkg.set_developers(developers) - print("Checking URL status") - loop = asyncio.get_event_loop() - loop.run_until_complete(check_package_urls(packages)) - print("Getting latest versions ...") - loop = asyncio.get_event_loop() - loop.run_until_complete(check_package_latest_version(packages)) - if args.nvd_path: + if "url" not in args.disable: + print("Checking URL status") + loop = asyncio.get_event_loop() + loop.run_until_complete(check_package_urls(packages)) + if "upstream" not in args.disable: + print("Getting latest versions ...") + loop = asyncio.get_event_loop() + loop.run_until_complete(check_package_latest_version(packages)) + if "cve" not in args.disable and args.nvd_path: print("Checking packages CVEs") check_package_cves(args.nvd_path, packages) + if "cpe" not in args.disable and args.nvd_path: + print("Checking packages CPEs") check_package_cpes(args.nvd_path, packages) print("Calculate stats") stats = calculate_stats(packages) diff --git a/support/scripts/pycompile.py b/support/scripts/pycompile.py index 2b636e03cbe..8774144a90b 100644 --- a/support/scripts/pycompile.py +++ b/support/scripts/pycompile.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Byte compile all .py files from provided directories. This script is an @@ -6,8 +6,6 @@ cross-compilation in mind. """ -from __future__ import print_function - import argparse import os import py_compile @@ -30,7 +28,7 @@ def compile_one(host_path, strip_root=None, verbose=False): if os.path.islink(host_path) or not os.path.isfile(host_path): return # only compile real files - if not re.match(r"^[_A-Za-z][_A-Za-z0-9]+\.py$", + if not re.match(r"^[_A-Za-z][_A-Za-z0-9]*\.py$", os.path.basename(host_path)): return # only compile "importable" python modules diff --git a/support/scripts/size-stats b/support/scripts/size-stats index dea3a6007c4..e4389e99b5d 100755 --- a/support/scripts/size-stats +++ b/support/scripts/size-stats @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2014 by Thomas Petazzoni @@ -73,8 +73,8 @@ def add_file(filesdict, relpath, abspath, pkg): def build_package_dict(builddir): filesdict = {} with open(os.path.join(builddir, "build", "packages-file-list.txt")) as f: - for l in f.readlines(): - pkg, fpath = l.split(",", 1) + for line in f.readlines(): + pkg, fpath = line.split(",", 1) # remove the initial './' in each file path fpath = fpath.strip()[2:] fullpath = os.path.join(builddir, "target", fpath) diff --git a/support/testing/conf/docker-compose.yml b/support/testing/conf/docker-compose.yml index 49ff2677da6..ce89d79b594 100644 --- a/support/testing/conf/docker-compose.yml +++ b/support/testing/conf/docker-compose.yml @@ -2,3 +2,8 @@ version: '3' services: busybox: image: "busybox:latest" + command: httpd -f -h /www/ + ports: + - "80:80" + volumes: + - "/bin:/www" diff --git a/support/testing/conf/grub2-efi.cfg b/support/testing/conf/grub2-efi.cfg new file mode 100644 index 00000000000..11c32e880e2 --- /dev/null +++ b/support/testing/conf/grub2-efi.cfg @@ -0,0 +1,2 @@ +set root=(cd0) +set prefix=/boot/grub diff --git a/support/testing/conf/minimal-x86-qemu-kernel.config b/support/testing/conf/minimal-x86-qemu-kernel.config index cc8ee6a7130..45994f804d9 100644 --- a/support/testing/conf/minimal-x86-qemu-kernel.config +++ b/support/testing/conf/minimal-x86-qemu-kernel.config @@ -2,6 +2,7 @@ CONFIG_SYSVIPC=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_SMP=y +# CONFIG_RETPOLINE is not set CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y CONFIG_NET=y diff --git a/support/testing/infra/__init__.py b/support/testing/infra/__init__.py index 6522a265f3d..1f003f24c6b 100644 --- a/support/testing/infra/__init__.py +++ b/support/testing/infra/__init__.py @@ -10,17 +10,18 @@ BASE_DIR = os.path.realpath(os.path.join(os.path.dirname(__file__), "../../..")) +def log_file_path(builddir, stage, logtofile=True): + """Return path to log file""" + return "{}-{}.log".format(builddir, stage) if logtofile else None + + def open_log_file(builddir, stage, logtofile=True): """ Open a file for logging and return its handler. If logtofile is True, returns sys.stdout. Otherwise opens a file with a suitable name in the build directory. """ - if logtofile: - fhandle = open("{}-{}.log".format(builddir, stage), 'a+') - else: - fhandle = sys.stdout - return fhandle + return open(log_file_path(builddir, stage, logtofile), 'a+') if logtofile else sys.stdout def basepath(relpath=""): @@ -112,3 +113,15 @@ def get_elf_prog_interpreter(builddir, prefix, fpath): continue return m.group(1) return None + + +def img_round_power2(img): + """ + Rounds up the size of an image file to the next power of 2 + """ + sz = os.stat(img).st_size + pow2 = 1 + while pow2 < sz: + pow2 = pow2 << 1 + with open(img, 'ab') as f: + f.truncate(pow2) diff --git a/support/testing/infra/basetest.py b/support/testing/infra/basetest.py index a97a814441c..96c6848dfcb 100644 --- a/support/testing/infra/basetest.py +++ b/support/testing/infra/basetest.py @@ -29,6 +29,7 @@ class BRConfigTest(unittest.TestCase): + """Test up to the configure stage.""" config = None br2_external = list() downloaddir = None @@ -66,6 +67,7 @@ def tearDown(self): class BRTest(BRConfigTest): + """Test up to the build stage and instantiate an emulator.""" def __init__(self, names): super(BRTest, self).__init__(names) self.emulator = None diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py index 5611ec96e8e..53876f828cc 100644 --- a/support/testing/infra/emulator.py +++ b/support/testing/infra/emulator.py @@ -54,16 +54,16 @@ def boot(self, arch, kernel=None, kernel_cmdline=None, options=None): if arch == "armv7": kernel = infra.download(self.downloaddir, - "kernel-vexpress") + "kernel-vexpress-5.10.7") dtb = infra.download(self.downloaddir, - "vexpress-v2p-ca9.dtb") + "vexpress-v2p-ca9-5.10.7.dtb") qemu_cmd += ["-dtb", dtb] qemu_cmd += ["-M", "vexpress-a9"] elif arch == "armv5": kernel = infra.download(self.downloaddir, - "kernel-versatile-4.19") + "kernel-versatile-5.10.7") dtb = infra.download(self.downloaddir, - "versatile-pb-4.19.dtb") + "versatile-pb-5.10.7.dtb") qemu_cmd += ["-dtb", dtb] qemu_cmd += ["-M", "versatilepb"] qemu_cmd += ["-device", "virtio-rng-pci"] @@ -77,6 +77,7 @@ def boot(self, arch, kernel=None, kernel_cmdline=None, options=None): self.qemu = pexpect.spawn(qemu_cmd[0], qemu_cmd[1:], timeout=5 * self.timeout_multiplier, encoding='utf-8', + codec_errors='replace', env={"QEMU_AUDIO_DRV": "none"}) # We want only stdout into the log to avoid double echo self.qemu.logfile_read = self.logfile @@ -100,6 +101,8 @@ def login(self, password=None): if index != 0: raise SystemError("Cannot login") self.run("dmesg -n 1") + # Prevent the shell from wrapping the commands at 80 columns. + self.run("stty columns 29999") # Run the given 'cmd' with a 'timeout' on the target # return a tuple (output, exit_code) diff --git a/support/testing/tests/boot/test_atf.py b/support/testing/tests/boot/test_atf.py index e6c11aa7426..4fcb9b241c1 100644 --- a/support/testing/tests/boot/test_atf.py +++ b/support/testing/tests/boot/test_atf.py @@ -10,7 +10,7 @@ class TestATFVexpress(infra.basetest.BRTest): BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.2" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.5" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y @@ -33,24 +33,23 @@ class TestATFAllwinner(infra.basetest.BRTest): BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y BR2_TARGET_ARM_TRUSTED_FIRMWARE=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" + # BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y - BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m64" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y - BR2_TARGET_UBOOT_FORMAT_CUSTOM=y - BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" BR2_TARGET_UBOOT_SPL=y - BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" + BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" + BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" """ def test_run(self): diff --git a/support/testing/tests/boot/test_edk2.py b/support/testing/tests/boot/test_edk2.py new file mode 100644 index 00000000000..c1be8fad95d --- /dev/null +++ b/support/testing/tests/boot/test_edk2.py @@ -0,0 +1,45 @@ +import os + +import infra.basetest + + +class TestEdk2(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/aarch64-sbsa/assemble-flash-images support/scripts/genimage.sh" + BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/qemu/aarch64-sbsa/genimage.cfg" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.34" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-sbsa/linux.config" + BR2_TARGET_EDK2=y + BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y + BR2_TARGET_GRUB2=y + BR2_TARGET_GRUB2_ARM64_EFI=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y + BR2_PACKAGE_HOST_GENIMAGE=y + BR2_PACKAGE_HOST_DOSFSTOOLS=y + BR2_PACKAGE_HOST_MTOOLS=y + """ + + def test_run(self): + hda = os.path.join(self.builddir, "images", "disk.img") + flash0 = os.path.join(self.builddir, "images", "SBSA_FLASH0.fd") + flash1 = os.path.join(self.builddir, "images", "SBSA_FLASH1.fd") + self.emulator.boot(arch="aarch64", + options=["-M", "sbsa-ref", + "-cpu", "cortex-a57", + "-m", "512M", + "-pflash", flash0, + "-pflash", flash1, + "-hda", hda]) + self.emulator.login() diff --git a/support/testing/tests/core/br2-external/detect-bad-arch/Config.in b/support/testing/tests/core/br2-external/detect-bad-arch/Config.in new file mode 100644 index 00000000000..530c077bbe9 --- /dev/null +++ b/support/testing/tests/core/br2-external/detect-bad-arch/Config.in @@ -0,0 +1 @@ +source "$BR2_EXTERNAL_DETECT_BAD_ARCH_PATH/package/detect-bad-arch/Config.in" diff --git a/support/testing/tests/core/br2-external/detect-bad-arch/external.desc b/support/testing/tests/core/br2-external/detect-bad-arch/external.desc new file mode 100644 index 00000000000..3c4232c90dc --- /dev/null +++ b/support/testing/tests/core/br2-external/detect-bad-arch/external.desc @@ -0,0 +1 @@ +name: DETECT_BAD_ARCH diff --git a/support/testing/tests/core/br2-external/detect-bad-arch/external.mk b/support/testing/tests/core/br2-external/detect-bad-arch/external.mk new file mode 100644 index 00000000000..71b9821ddc5 --- /dev/null +++ b/support/testing/tests/core/br2-external/detect-bad-arch/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_DETECT_BAD_ARCH_PATH)/package/*/*.mk)) diff --git a/support/testing/tests/core/br2-external/detect-bad-arch/package/detect-bad-arch/Config.in b/support/testing/tests/core/br2-external/detect-bad-arch/package/detect-bad-arch/Config.in new file mode 100644 index 00000000000..9893e9afc1c --- /dev/null +++ b/support/testing/tests/core/br2-external/detect-bad-arch/package/detect-bad-arch/Config.in @@ -0,0 +1,4 @@ +config BR2_PACKAGE_DETECT_BAD_ARCH + bool + default y + diff --git a/support/testing/tests/core/br2-external/detect-bad-arch/package/detect-bad-arch/detect-bad-arch.mk b/support/testing/tests/core/br2-external/detect-bad-arch/package/detect-bad-arch/detect-bad-arch.mk new file mode 100644 index 00000000000..5e78c55f1f4 --- /dev/null +++ b/support/testing/tests/core/br2-external/detect-bad-arch/package/detect-bad-arch/detect-bad-arch.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# detect-bad-arch +# +################################################################################ + +define DETECT_BAD_ARCH_BUILD_CMDS + echo "int main(void) { return 0; }" | $(HOSTCC) -x c -o $(@D)/foo - +endef + +define DETECT_BAD_ARCH_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/foo $(TARGET_DIR)/usr/bin/foo +endef + +$(eval $(generic-package)) diff --git a/support/testing/tests/core/test_bad_arch.py b/support/testing/tests/core/test_bad_arch.py new file mode 100644 index 00000000000..c96a7152afb --- /dev/null +++ b/support/testing/tests/core/test_bad_arch.py @@ -0,0 +1,18 @@ +import infra +import infra.basetest + + +class DetectBadArchTest(infra.basetest.BRConfigTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + infra.basetest.MINIMAL_CONFIG + br2_external = [infra.filepath("tests/core/br2-external/detect-bad-arch")] + + def test_run(self): + with self.assertRaises(SystemError): + self.b.build() + logf_path = infra.log_file_path(self.b.builddir, "build", + infra.basetest.BRConfigTest.logtofile) + if logf_path: + s = 'ERROR: architecture for "/usr/bin/foo" is' + with open(logf_path, "r") as f: + lines = [line for line in f.readlines() if line.startswith(s)] + self.assertEqual(len(lines), 1) diff --git a/support/testing/tests/core/test_file_capabilities.py b/support/testing/tests/core/test_file_capabilities.py index b9ece18d7b9..fe21d76c94a 100644 --- a/support/testing/tests/core/test_file_capabilities.py +++ b/support/testing/tests/core/test_file_capabilities.py @@ -1,5 +1,4 @@ import os -import subprocess import infra.basetest @@ -14,7 +13,7 @@ class TestFileCapabilities(infra.basetest.BRTest): BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -28,7 +27,7 @@ class TestFileCapabilities(infra.basetest.BRTest): def test_run(self): img = os.path.join(self.builddir, "images", "rootfs.squashfs") - subprocess.call(["truncate", "-s", "%1M", img]) + infra.img_round_power2(img) self.emulator.boot(arch="armv7", kernel=os.path.join(self.builddir, "images", "zImage"), diff --git a/support/testing/tests/core/test_hardening.py b/support/testing/tests/core/test_hardening.py index 60e14303a35..e9d30f3a38e 100644 --- a/support/testing/tests/core/test_hardening.py +++ b/support/testing/tests/core/test_hardening.py @@ -52,6 +52,7 @@ class TestRelroPartial(TestHardeningBase): config = TestHardeningBase.config + \ """ BR2_RELRO_PARTIAL=y + # BR2_PIC_PIE is not set """ def test_run(self): diff --git a/system/skeleton/run/.empty b/support/testing/tests/download/br2-external/github/Config.in similarity index 100% rename from system/skeleton/run/.empty rename to support/testing/tests/download/br2-external/github/Config.in diff --git a/support/testing/tests/download/br2-external/github/external.desc b/support/testing/tests/download/br2-external/github/external.desc new file mode 100644 index 00000000000..b8beea8839c --- /dev/null +++ b/support/testing/tests/download/br2-external/github/external.desc @@ -0,0 +1 @@ +name: GITHUB diff --git a/support/testing/tests/download/br2-external/github/external.mk b/support/testing/tests/download/br2-external/github/external.mk new file mode 100644 index 00000000000..e4e5524ceb4 --- /dev/null +++ b/support/testing/tests/download/br2-external/github/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_GITHUB_PATH)/package/*/*.mk)) diff --git a/support/testing/tests/download/br2-external/github/package/github-helper-hash/github-helper-hash.hash b/support/testing/tests/download/br2-external/github/package/github-helper-hash/github-helper-hash.hash new file mode 100644 index 00000000000..a941060b316 --- /dev/null +++ b/support/testing/tests/download/br2-external/github/package/github-helper-hash/github-helper-hash.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 4064739881453831bceeae81af8947cbd6c1fe03e052ac17b82ae5b3360d83f8 github-helper-hash-e2fba6457bd9d9c720540332eaf0c1f8c29eab00.tar.gz +sha256 9755181e27175cb3510b4da8629caa406fb355a19aa8e7d55f06bf8ab33323c4 COPYING diff --git a/support/testing/tests/download/br2-external/github/package/github-helper-hash/github-helper-hash.mk b/support/testing/tests/download/br2-external/github/package/github-helper-hash/github-helper-hash.mk new file mode 100644 index 00000000000..e1fa5aabc28 --- /dev/null +++ b/support/testing/tests/download/br2-external/github/package/github-helper-hash/github-helper-hash.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# github-helper-hash +# +################################################################################ + +GITHUB_HELPER_HASH_VERSION = e2fba6457bd9d9c720540332eaf0c1f8c29eab00 +GITHUB_HELPER_HASH_SITE = $(call github,buildroot,buildroot,$(GITHUB_HELPER_HASH_VERSION)) +GITHUB_HELPER_HASH_LICENSE_FILES = COPYING + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/github/package/github-helper-tag/github-helper-tag.hash b/support/testing/tests/download/br2-external/github/package/github-helper-tag/github-helper-tag.hash new file mode 100644 index 00000000000..466d2ac4014 --- /dev/null +++ b/support/testing/tests/download/br2-external/github/package/github-helper-tag/github-helper-tag.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 959a953bbd91e6ed6db8d63a45a986400878b6bb486455231b2976218301c3d2 github-helper-tag-2021.02.tar.gz +sha256 9755181e27175cb3510b4da8629caa406fb355a19aa8e7d55f06bf8ab33323c4 COPYING diff --git a/support/testing/tests/download/br2-external/github/package/github-helper-tag/github-helper-tag.mk b/support/testing/tests/download/br2-external/github/package/github-helper-tag/github-helper-tag.mk new file mode 100644 index 00000000000..b1ff66d8177 --- /dev/null +++ b/support/testing/tests/download/br2-external/github/package/github-helper-tag/github-helper-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# github-helper-tag +# +################################################################################ + +GITHUB_HELPER_TAG_VERSION = 2021.02 +GITHUB_HELPER_TAG_SITE = $(call github,buildroot,buildroot,$(GITHUB_HELPER_TAG_VERSION)) +GITHUB_HELPER_TAG_LICENSE_FILES = COPYING + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/github/package/github-release/github-release.hash b/support/testing/tests/download/br2-external/github/package/github-release/github-release.hash new file mode 100644 index 00000000000..78a25dd271b --- /dev/null +++ b/support/testing/tests/download/br2-external/github/package/github-release/github-release.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 f4cb17b21928e36ec27de5c5294dea6ec1de4acd7ee6c56d6ecc75319cbcaefa systemd-bootchart-233.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 diff --git a/support/testing/tests/download/br2-external/github/package/github-release/github-release.mk b/support/testing/tests/download/br2-external/github/package/github-release/github-release.mk new file mode 100644 index 00000000000..34409e1cada --- /dev/null +++ b/support/testing/tests/download/br2-external/github/package/github-release/github-release.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# github-release +# +################################################################################ + +GITHUB_RELEASE_VERSION = 233 +GITHUB_RELEASE_SITE = https://github.com/systemd/systemd-bootchart/releases/download/v$(GITHUB_RELEASE_VERSION) +GITHUB_RELEASE_SOURCE = systemd-bootchart-$(GITHUB_RELEASE_VERSION).tar.xz +GITHUB_RELEASE_LICENSE_FILES = LICENSE.LGPL2.1 + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/gitlab/Config.in b/support/testing/tests/download/br2-external/gitlab/Config.in new file mode 100644 index 00000000000..e69de29bb2d diff --git a/support/testing/tests/download/br2-external/gitlab/external.desc b/support/testing/tests/download/br2-external/gitlab/external.desc new file mode 100644 index 00000000000..eafc8a43ff8 --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/external.desc @@ -0,0 +1 @@ +name: GITLAB diff --git a/support/testing/tests/download/br2-external/gitlab/external.mk b/support/testing/tests/download/br2-external/gitlab/external.mk new file mode 100644 index 00000000000..8de1203231c --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_GITLAB_PATH)/package/*/*.mk)) diff --git a/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-hash/gitlab-helper-hash.hash b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-hash/gitlab-helper-hash.hash new file mode 100644 index 00000000000..79684e9742c --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-hash/gitlab-helper-hash.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 28f3b63454a7de6d8fb154dfa1e2e203afeb34db006661329e273137f8fe3dce gitlab-helper-hash-21a378a7858460809ffef1c96a07a493d709730c.tar.gz +sha256 309875d925041d909bc705473d6c4b7905272aea15c1c2389088c26c161bae1f license.txt diff --git a/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-hash/gitlab-helper-hash.mk b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-hash/gitlab-helper-hash.mk new file mode 100644 index 00000000000..44a156118e4 --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-hash/gitlab-helper-hash.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# gitlab-helper-hash +# +################################################################################ + +GITLAB_HELPER_HASH_VERSION = 21a378a7858460809ffef1c96a07a493d709730c +GITLAB_HELPER_HASH_SITE = $(call gitlab,solarus-games,solarus,$(GITLAB_HELPER_HASH_VERSION)) + +GITLAB_HELPER_HASH_LICENSE_FILES = license.txt + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-tag/gitlab-helper-tag.hash b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-tag/gitlab-helper-tag.hash new file mode 100644 index 00000000000..1c50bc3c8fb --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-tag/gitlab-helper-tag.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 ef08b22999431b7f81f9b74408221b8a5a3ab5b0f646a835443a3c37cb2fb979 gitlab-helper-tag-1.6.5.tar.gz +sha256 309875d925041d909bc705473d6c4b7905272aea15c1c2389088c26c161bae1f license.txt diff --git a/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-tag/gitlab-helper-tag.mk b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-tag/gitlab-helper-tag.mk new file mode 100644 index 00000000000..fb2fc49c821 --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/package/gitlab-helper-tag/gitlab-helper-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# gitlab-helper-tag +# +################################################################################ + +GITLAB_HELPER_TAG_VERSION = 1.6.5 +GITLAB_HELPER_TAG_SITE = $(call gitlab,solarus-games,solarus,v$(GITLAB_HELPER_TAG_VERSION)) +GITLAB_HELPER_TAG_LICENSE_FILES = license.txt + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.hash b/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.hash new file mode 100644 index 00000000000..7031d1b34a7 --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95 iucode-tool_2.3.1.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.mk b/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.mk new file mode 100644 index 00000000000..2510ac634b4 --- /dev/null +++ b/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# gitlab-release +# +################################################################################ + +GITLAB_RELEASE_VERSION = 2.3.1 +GITLAB_RELEASE_SITE = https://gitlab.com/iucode-tool/releases/raw/master +GITLAB_RELEASE_SOURCE = iucode-tool_$(GITLAB_RELEASE_VERSION).tar.xz +GITLAB_RELEASE_LICENSE_FILES = COPYING + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/ssh/Config.in b/support/testing/tests/download/br2-external/ssh/Config.in new file mode 100644 index 00000000000..e69de29bb2d diff --git a/support/testing/tests/download/br2-external/ssh/external.desc b/support/testing/tests/download/br2-external/ssh/external.desc new file mode 100644 index 00000000000..2fe078edce9 --- /dev/null +++ b/support/testing/tests/download/br2-external/ssh/external.desc @@ -0,0 +1 @@ +name: SSH diff --git a/support/testing/tests/download/br2-external/ssh/external.mk b/support/testing/tests/download/br2-external/ssh/external.mk new file mode 100644 index 00000000000..c8f0dc748e8 --- /dev/null +++ b/support/testing/tests/download/br2-external/ssh/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_SSH_PATH)/package/*/*.mk)) diff --git a/support/testing/tests/download/br2-external/ssh/package/scp/scp.hash b/support/testing/tests/download/br2-external/ssh/package/scp/scp.hash new file mode 100644 index 00000000000..31353a88baf --- /dev/null +++ b/support/testing/tests/download/br2-external/ssh/package/scp/scp.hash @@ -0,0 +1 @@ +sha256 b457c1a37ba7405e8806b93f3d5cc82165db0b0cad25d203f112e32c7a30c0be ssh-test-1.0.tar.xz diff --git a/support/testing/tests/download/br2-external/ssh/package/scp/scp.mk b/support/testing/tests/download/br2-external/ssh/package/scp/scp.mk new file mode 100644 index 00000000000..3451aaf0860 --- /dev/null +++ b/support/testing/tests/download/br2-external/ssh/package/scp/scp.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# scp +# +################################################################################ + +SCP_VERSION = 1.0 +SCP_SOURCE = ssh-test-$(SCP_VERSION).tar.xz +SCP_SITE = scp://localhost:$(SSHD_TEST_DIR) +SCP_DL_OPTS = \ + -P $(SSHD_PORT_NUMBER) \ + -i $(SSH_IDENTITY) \ + -o "UserKnownHostsFile=/dev/null" \ + -o "StrictHostKeyChecking=no" \ + -o "CheckHostIP=no" + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/ssh/package/sftp/sftp.hash b/support/testing/tests/download/br2-external/ssh/package/sftp/sftp.hash new file mode 100644 index 00000000000..31353a88baf --- /dev/null +++ b/support/testing/tests/download/br2-external/ssh/package/sftp/sftp.hash @@ -0,0 +1 @@ +sha256 b457c1a37ba7405e8806b93f3d5cc82165db0b0cad25d203f112e32c7a30c0be ssh-test-1.0.tar.xz diff --git a/support/testing/tests/download/br2-external/ssh/package/sftp/sftp.mk b/support/testing/tests/download/br2-external/ssh/package/sftp/sftp.mk new file mode 100644 index 00000000000..58d91f6a0d9 --- /dev/null +++ b/support/testing/tests/download/br2-external/ssh/package/sftp/sftp.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# sftp +# +################################################################################ + +SFTP_VERSION = 1.0 +SFTP_SOURCE = ssh-test-$(SFTP_VERSION).tar.xz +SFTP_SITE = sftp://localhost/$(SSHD_TEST_DIR) +SFTP_DL_OPTS = \ + -P $(SSHD_PORT_NUMBER) \ + -i $(SSH_IDENTITY) \ + -o "UserKnownHostsFile=/dev/null" \ + -o "StrictHostKeyChecking=no" \ + -o "CheckHostIP=no" + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/sshd.py b/support/testing/tests/download/sshd.py new file mode 100644 index 00000000000..6555f0499fe --- /dev/null +++ b/support/testing/tests/download/sshd.py @@ -0,0 +1,149 @@ +import os +import shutil +import subprocess +from unittest import SkipTest + +# subprocess does not kill the child daemon when a test case fails by raising +# an exception. So use pexpect instead. +import pexpect + +import infra + + +SSHD_PORT_INITIAL = 2222 +SSHD_PORT_LAST = SSHD_PORT_INITIAL + 99 +SSHD_PATH = "/usr/sbin/sshd" +SSHD_HOST_DIR = "host" + +# SSHD_KEY_DIR is where the /etc/ssh/ssh_host_*_key files go +SSHD_KEY_DIR = os.path.join(SSHD_HOST_DIR, "etc/ssh") +SSHD_KEY = os.path.join(SSHD_KEY_DIR, "ssh_host_ed25519_key") + +# SSH_CLIENT_KEY_DIR is where the client id_rsa key and authorized_keys files go +SSH_CLIENT_KEY_DIR = os.path.join(SSHD_HOST_DIR, "home/br-user/ssh") +SSH_CLIENT_KEY = os.path.join(SSH_CLIENT_KEY_DIR, "id_rsa") +SSH_AUTH_KEYS_FILE = os.path.join(SSH_CLIENT_KEY_DIR, "authorized_keys") + + +class OpenSSHDaemon(): + + def __init__(self, builddir, logtofile): + """ + Start an OpenSSH SSH Daemon + + In order to support test cases in parallel, select the port the + server will listen to in runtime. Since there is no reliable way + to allocate the port prior to starting the server (another + process in the host machine can use the port between it is + selected from a list and it is really allocated to the server) + try to start the server in a port and in the case it is already + in use, try the next one in the allowed range. + """ + self.daemon = None + self.port = None + + self.logfile = infra.open_log_file(builddir, "sshd", logtofile) + + server_keyfile = os.path.join(builddir, SSHD_KEY) + auth_keys_file = os.path.join(builddir, SSH_AUTH_KEYS_FILE) + daemon_cmd = [SSHD_PATH, + "-D", # or use -ddd to debug + "-e", + "-h", server_keyfile, + "-f", "/dev/null", + "-o", "ListenAddress=localhost", + "-o", "PidFile=none", + "-o", "AuthenticationMethods=publickey", + "-o", "StrictModes=no", + "-o", "Subsystem=sftp internal-sftp", + "-o", "AuthorizedKeysFile={}".format(auth_keys_file)] + for port in range(SSHD_PORT_INITIAL, SSHD_PORT_LAST + 1): + cmd = daemon_cmd + ["-p", "{}".format(port)] + self.logfile.write( + "> starting sshd with '{}'\n".format(" ".join(cmd))) + try: + self.daemon = pexpect.spawn(cmd[0], cmd[1:], logfile=self.logfile, + encoding='utf-8') + except pexpect.exceptions.ExceptionPexpect as e: + self.logfile.write("> {} - skipping\n".format(e)) + raise SkipTest(str(e)) + + ret = self.daemon.expect([ + # Success + "Server listening on .* port {}.".format(port), + # Failure + "Cannot bind any address."]) + if ret == 0: + self.port = port + return + raise SystemError("Could not find a free port to run sshd") + + def stop(self): + if self.daemon is None: + return + self.daemon.terminate(force=True) + + +def generate_keys_server(builddir, logfile): + """Generate keys required to run an OpenSSH Daemon.""" + keyfile = os.path.join(builddir, SSHD_KEY) + if os.path.exists(keyfile): + logfile.write("> SSH server key already exists '{}'".format(keyfile)) + return + + hostdir = os.path.join(builddir, SSHD_HOST_DIR) + keydir = os.path.join(builddir, SSHD_KEY_DIR) + os.makedirs(hostdir, exist_ok=True) + os.makedirs(keydir, exist_ok=True) + + cmd = ["ssh-keygen", "-A", "-f", hostdir] + logfile.write( + "> generating SSH server keys with '{}'\n".format(" ".join(cmd))) + # When ssh-keygen fails to create an SSH server key it doesn't return a + # useful error code. So use check for an error message in the output + # instead. + try: + out = subprocess.check_output(cmd, encoding='utf-8') + except FileNotFoundError: + logfile.write("> ssh-keygen not found - skipping\n") + raise SkipTest("ssh-keygen not found") + + logfile.write(out) + if "Could not save your public key" in out: + raise SystemError("Could not generate SSH server keys") + + +def generate_keys_client(builddir, logfile): + """Generate keys required to log into an OpenSSH Daemon via SCP or SFTP.""" + keyfile = os.path.join(builddir, SSH_CLIENT_KEY) + if os.path.exists(keyfile): + logfile.write("> SSH client key already exists '{}'".format(keyfile)) + return + + keydir = os.path.join(builddir, SSH_CLIENT_KEY_DIR) + os.makedirs(keydir, exist_ok=True) + + cmd = ["ssh-keygen", + "-f", keyfile, + "-b", "2048", + "-t", "rsa", + "-N", "", + "-q"] + logfile.write( + "> generating SSH client keys with '{}'\n".format(" ".join(cmd))) + try: + subprocess.check_call(cmd, stdout=logfile, stderr=logfile) + except FileNotFoundError: + logfile.write("> ssh-keygen not found - skipping\n") + raise SkipTest("ssh-keygen not found") + + # Allow key-based login for this user (so that we can fetch from localhost) + pubkeyfile = os.path.join(keydir, "{}.pub".format(keyfile)) + authfile = os.path.join(keydir, "authorized_keys") + shutil.copy(pubkeyfile, authfile) + + +def generate_keys(builddir, logtofile): + logfile = infra.open_log_file(builddir, "ssh-keygen", logtofile) + generate_keys_server(builddir, logfile) + generate_keys_client(builddir, logfile) diff --git a/support/testing/tests/download/sshd/ssh-test-1.0.tar.xz b/support/testing/tests/download/sshd/ssh-test-1.0.tar.xz new file mode 100644 index 00000000000..bd83d0aff57 Binary files /dev/null and b/support/testing/tests/download/sshd/ssh-test-1.0.tar.xz differ diff --git a/support/testing/tests/download/test_gitforge.py b/support/testing/tests/download/test_gitforge.py new file mode 100644 index 00000000000..e1ac35ec67b --- /dev/null +++ b/support/testing/tests/download/test_gitforge.py @@ -0,0 +1,49 @@ +import os +import shutil + +import infra + + +class GitforgeTestBase(infra.basetest.BRConfigTest): + config = \ + """ + BR2_BACKUP_SITE="" + """ + + def setUp(self): + super(GitforgeTestBase, self).setUp() + + def tearDown(self): + self.show_msg("Cleaning up") + if self.b and not self.keepbuilds: + self.b.delete() + + def check_download(self, package): + # store downloaded tarball inside the output dir so the test infra + # cleans it up at the end + dl_dir = os.path.join(self.builddir, "dl") + # enforce we test the download + if os.path.exists(dl_dir): + shutil.rmtree(dl_dir) + env = {"BR2_DL_DIR": dl_dir} + self.b.build(["{}-dirclean".format(package), + "{}-legal-info".format(package)], + env) + + +class TestGitHub(GitforgeTestBase): + br2_external = [infra.filepath("tests/download/br2-external/github")] + + def test_run(self): + self.check_download("github-helper-tag") + self.check_download("github-helper-hash") + self.check_download("github-release") + + +class TestGitLab(GitforgeTestBase): + br2_external = [infra.filepath("tests/download/br2-external/gitlab")] + + def test_run(self): + self.check_download("gitlab-helper-hash") + self.check_download("gitlab-helper-tag") + self.check_download("gitlab-release") diff --git a/support/testing/tests/download/test_ssh.py b/support/testing/tests/download/test_ssh.py new file mode 100644 index 00000000000..126002a355a --- /dev/null +++ b/support/testing/tests/download/test_ssh.py @@ -0,0 +1,62 @@ +import os +import shutil + +import tests.download.sshd + +import infra + + +class SSHTestBase(infra.basetest.BRConfigTest): + config = infra.basetest.MINIMAL_CONFIG + ''' +BR2_BACKUP_SITE="" +''' + sshd_test_dir = infra.filepath("tests/download/sshd") + sshd = None + + def setUp(self): + super(SSHTestBase, self).setUp() + + self.show_msg("Generating keys") + tests.download.sshd.generate_keys(self.builddir, self.logtofile) + + self.show_msg("Starting sshd") + self.sshd = tests.download.sshd.OpenSSHDaemon(self.builddir, + self.logtofile) + + def tearDown(self): + self.show_msg("Stopping sshd") + if self.sshd: + self.sshd.stop() + super(SSHTestBase, self).tearDown() + + def download_package(self, package): + self.show_msg("Downloading {}".format(package)) + # store downloaded tarball inside the output dir so the test infra + # cleans it up at the end + dl_dir = os.path.join(self.builddir, "dl") + ssh_identity = os.path.join(self.builddir, + tests.download.sshd.SSH_CLIENT_KEY) + # enforce that we test the download + if os.path.exists(dl_dir): + shutil.rmtree(dl_dir) + env = {"BR2_DL_DIR": dl_dir, + "SSHD_PORT_NUMBER": str(self.sshd.port), + "SSHD_TEST_DIR": self.sshd_test_dir, + "SSH_IDENTITY": ssh_identity} + self.b.build(["{}-dirclean".format(package), + "{}-source".format(package)], + env) + + +class TestSCP(SSHTestBase): + br2_external = [infra.filepath("tests/download/br2-external/ssh")] + + def test_run(self): + self.download_package("scp") + + +class TestSFTP(SSHTestBase): + br2_external = [infra.filepath("tests/download/br2-external/ssh")] + + def test_run(self): + self.download_package("sftp") diff --git a/support/testing/tests/fs/test_ext.py b/support/testing/tests/fs/test_ext.py index 16b308cf6d9..699f3ed932e 100644 --- a/support/testing/tests/fs/test_ext.py +++ b/support/testing/tests/fs/test_ext.py @@ -31,7 +31,7 @@ def boot_img_and_check_fs_type(emulator, builddir, fs_type): kernel="builtin", kernel_cmdline=["root=/dev/mmcblk0", "rootfstype={}".format(fs_type)], - options=["-drive", "file={},if=sd".format(img)]) + options=["-drive", "file={},if=sd,format=raw".format(img)]) emulator.login() _, exit_code = emulator.run(CHECK_FS_TYPE_CMD.format(fs_type)) return exit_code @@ -43,6 +43,7 @@ class TestExt2(infra.basetest.BRTest): BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_2r0=y BR2_TARGET_ROOTFS_EXT2_LABEL="foobaz" + BR2_TARGET_ROOTFS_EXT2_SIZE="16384" # BR2_TARGET_ROOTFS_TAR is not set """ @@ -62,6 +63,7 @@ class TestExt2r1(infra.basetest.BRTest): BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_2r1=y BR2_TARGET_ROOTFS_EXT2_LABEL="foobar" + BR2_TARGET_ROOTFS_EXT2_SIZE="16384" # BR2_TARGET_ROOTFS_TAR is not set """ @@ -81,6 +83,7 @@ class TestExt3(infra.basetest.BRTest): """ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_3=y + BR2_TARGET_ROOTFS_EXT2_SIZE="16384" # BR2_TARGET_ROOTFS_TAR is not set """ @@ -110,8 +113,8 @@ def test_run(self): out = dumpe2fs_run(self.builddir, "rootfs.ext4") self.assertEqual(dumpe2fs_getprop(out, REVISION_PROP), "1 (dynamic)") self.assertEqual(dumpe2fs_getprop(out, BLOCKCNT_PROP), "16384") - # Yes there are 8 more inodes than requested - self.assertEqual(dumpe2fs_getprop(out, INODECNT_PROP), "3008") + # Yes there are 8 fewer inodes than requested + self.assertEqual(dumpe2fs_getprop(out, INODECNT_PROP), "2992") self.assertEqual(dumpe2fs_getprop(out, RESBLKCNT_PROP), "1638") self.assertIn("has_journal", dumpe2fs_getprop(out, FEATURES_PROP)) self.assertIn("extent", dumpe2fs_getprop(out, FEATURES_PROP)) diff --git a/support/testing/tests/fs/test_f2fs.py b/support/testing/tests/fs/test_f2fs.py index 950d4cf25b0..2d05a864180 100644 --- a/support/testing/tests/fs/test_f2fs.py +++ b/support/testing/tests/fs/test_f2fs.py @@ -20,7 +20,7 @@ class TestF2FS(infra.basetest.BRTest): # BR2_TARGET_ROOTFS_TAR is not set BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" @@ -44,5 +44,4 @@ def test_run(self): options=options) self.emulator.login() cmd = "mount | grep '/dev/root on / type f2fs'" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) diff --git a/support/testing/tests/fs/test_iso9660.py b/support/testing/tests/fs/test_iso9660.py index 68f48408523..692291267ef 100644 --- a/support/testing/tests/fs/test_iso9660.py +++ b/support/testing/tests/fs/test_iso9660.py @@ -18,16 +18,20 @@ BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="{}" # BR2_TARGET_ROOTFS_TAR is not set """.format(infra.filepath("conf/minimal-x86-qemu-kernel.config")) -def test_mount_internal_external(emulator, builddir, internal=True): +def test_mount_internal_external(emulator, builddir, internal=True, efi=False): img = os.path.join(builddir, "images", "rootfs.iso9660") - emulator.boot(arch="i386", options=["-cdrom", img]) + if efi: + efi_img = os.path.join(builddir, "images", "OVMF.fd") + emulator.boot(arch="i386", options=["-cdrom", img, "-bios", efi_img]) + else: + emulator.boot(arch="i386", options=["-cdrom", img]) emulator.login() if internal: @@ -54,7 +58,7 @@ class TestIso9660Grub2External(infra.basetest.BRTest): # BR2_TARGET_ROOTFS_ISO9660_INITRD is not set BR2_TARGET_GRUB2=y BR2_TARGET_GRUB2_BOOT_PARTITION="cd" - BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat part_msdos part_gpt normal biosdisk iso9660" + BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat part_msdos part_gpt normal biosdisk iso9660" BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}" """.format(infra.filepath("conf/grub2.cfg")) @@ -75,7 +79,7 @@ class TestIso9660Grub2ExternalCompress(infra.basetest.BRTest): BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION=y BR2_TARGET_GRUB2=y BR2_TARGET_GRUB2_BOOT_PARTITION="cd" - BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat part_msdos part_gpt normal biosdisk iso9660" + BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat part_msdos part_gpt normal biosdisk iso9660" BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}" """.format(infra.filepath("conf/grub2.cfg")) @@ -95,7 +99,7 @@ class TestIso9660Grub2Internal(infra.basetest.BRTest): BR2_TARGET_ROOTFS_ISO9660_INITRD=y BR2_TARGET_GRUB2=y BR2_TARGET_GRUB2_BOOT_PARTITION="cd" - BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat part_msdos part_gpt normal biosdisk iso9660" + BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat part_msdos part_gpt normal biosdisk iso9660" BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}" """.format(infra.filepath("conf/grub2.cfg")) @@ -107,6 +111,69 @@ def test_run(self): exit_code = test_touch_file(self.emulator) self.assertEqual(exit_code, 0) + +class TestIso9660Grub2EFI(infra.basetest.BRTest): + config = BASIC_CONFIG + \ + """ + BR2_TARGET_ROOTFS_ISO9660=y + BR2_TARGET_ROOTFS_ISO9660_INITRD=y + BR2_TARGET_GRUB2=y + BR2_TARGET_GRUB2_I386_EFI=y + BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat part_msdos part_gpt normal iso9660" + BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="{}" + BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}" + BR2_TARGET_EDK2=y + """.format(infra.filepath("conf/grub2-efi.cfg"), + infra.filepath("conf/grub2.cfg")) + + def test_run(self): + exit_code = test_mount_internal_external(self.emulator, + self.builddir, internal=True, + efi=True) + self.assertEqual(exit_code, 0) + + exit_code = test_touch_file(self.emulator) + self.assertEqual(exit_code, 0) + + +class TestIso9660Grub2Hybrid(infra.basetest.BRTest): + config = BASIC_CONFIG + \ + """ + BR2_TARGET_ROOTFS_ISO9660=y + BR2_TARGET_ROOTFS_ISO9660_INITRD=y + BR2_TARGET_GRUB2=y + BR2_TARGET_GRUB2_I386_PC=y + BR2_TARGET_GRUB2_I386_EFI=y + BR2_TARGET_GRUB2_BOOT_PARTITION="cd" + BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal iso9660 biosdisk" + BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="" + BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal iso9660 efi_gop" + BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="{}" + BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}" + BR2_TARGET_EDK2=y + """.format(infra.filepath("conf/grub2-efi.cfg"), + infra.filepath("conf/grub2.cfg")) + + def test_run(self): + exit_code = test_mount_internal_external(self.emulator, + self.builddir, internal=True, + efi=False) + self.assertEqual(exit_code, 0) + + exit_code = test_touch_file(self.emulator) + self.assertEqual(exit_code, 0) + + self.emulator.stop() + + exit_code = test_mount_internal_external(self.emulator, + self.builddir, internal=True, + efi=True) + self.assertEqual(exit_code, 0) + + exit_code = test_touch_file(self.emulator) + self.assertEqual(exit_code, 0) + + # # Syslinux diff --git a/support/testing/tests/fs/test_jffs2.py b/support/testing/tests/fs/test_jffs2.py index f5066ff01f5..1806bd7e3cf 100644 --- a/support/testing/tests/fs/test_jffs2.py +++ b/support/testing/tests/fs/test_jffs2.py @@ -16,7 +16,7 @@ class TestJffs2(infra.basetest.BRTest): """ BR2_TARGET_ROOTFS_JFFS2=y BR2_TARGET_ROOTFS_JFFS2_CUSTOM=y - BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE=0x80000 + BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE=0x40000 BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y BR2_TARGET_ROOTFS_JFFS2_PAD=y BR2_TARGET_ROOTFS_JFFS2_PADSIZE=0x4000000 @@ -41,5 +41,4 @@ def test_run(self): options=["-drive", "file={},if=pflash".format(img)]) self.emulator.login() cmd = "mount | grep '/dev/root on / type jffs2'" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) diff --git a/support/testing/tests/fs/test_oci.py b/support/testing/tests/fs/test_oci.py new file mode 100644 index 00000000000..0ecf58f6267 --- /dev/null +++ b/support/testing/tests/fs/test_oci.py @@ -0,0 +1,57 @@ +import os +import shutil +import infra.basetest + + +class TestOci(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.61" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_CGROUPFS_MOUNT=y + BR2_PACKAGE_CONTAINERD=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="600M" + BR2_TARGET_ROOTFS_OCI=y + BR2_TARGET_ROOTFS_OCI_ENTRYPOINT="df" + BR2_TARGET_ROOTFS_OCI_CMD="-h" + BR2_TARGET_ROOTFS_OCI_ARCHIVE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def login(self): + rootfs = os.path.join(self.builddir, "images", "rootfs.ext2") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda", "console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "512M", + "-drive", "file={},format=raw,if=virtio".format(rootfs)]) + self.emulator.login() + + def place_test_oci(self): + shutil.copy(os.path.join(self.builddir, 'images', 'rootfs-oci-latest-arm64-linux.oci-image.tar'), + os.path.join(self.builddir, 'target', 'oci.tar')) + # rebuild to make sure oci.tar ends up in rootfs.ext2 + self.b.build() + + def test_run(self): + self.place_test_oci() + self.login() + + cmd = "containerd &" + self.assertRunOk(cmd) + + cmd = "ctr image import --base-name buildroot-test /oci.tar" + self.assertRunOk(cmd, timeout=120) + + cmd = "ctr run --rm --tty buildroot-test:latest v1" + self.assertRunOk(cmd, timeout=120) diff --git a/support/testing/tests/fs/test_squashfs.py b/support/testing/tests/fs/test_squashfs.py index 234f4944be0..a914f5aac72 100644 --- a/support/testing/tests/fs/test_squashfs.py +++ b/support/testing/tests/fs/test_squashfs.py @@ -1,5 +1,4 @@ import os -import subprocess import infra.basetest @@ -8,8 +7,7 @@ class TestSquashfs(infra.basetest.BRTest): config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ BR2_TARGET_ROOTFS_SQUASHFS=y - # BR2_TARGET_ROOTFS_SQUASHFS4_GZIP is not set - BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y + BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y # BR2_TARGET_ROOTFS_TAR is not set """ @@ -19,10 +17,10 @@ def test_run(self): out = out.splitlines() self.assertEqual(out[0], "Found a valid SQUASHFS 4:0 superblock on images/rootfs.squashfs.") - self.assertEqual(out[3], "Compression lz4") + self.assertEqual(out[3], "Compression lzo") img = os.path.join(self.builddir, "images", "rootfs.squashfs") - subprocess.call(["truncate", "-s", "%1M", img]) + infra.img_round_power2(img) self.emulator.boot(arch="armv7", kernel="builtin", @@ -32,5 +30,4 @@ def test_run(self): self.emulator.login() cmd = "mount | grep '/dev/root on / type squashfs'" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) diff --git a/support/testing/tests/fs/test_ubi.py b/support/testing/tests/fs/test_ubi.py index 7321f83da92..564a436d42a 100644 --- a/support/testing/tests/fs/test_ubi.py +++ b/support/testing/tests/fs/test_ubi.py @@ -8,31 +8,30 @@ class TestUbi(infra.basetest.BRTest): config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ BR2_TARGET_ROOTFS_UBIFS=y - BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x7ff80 + BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x3ff80 BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x1 BR2_TARGET_ROOTFS_UBI=y - BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x80000 + BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x40000 BR2_TARGET_ROOTFS_UBI_SUBSIZE=1 - """ + BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y + BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE="{}" + """.format( + infra.filepath("tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg")) - # TODO: if you boot Qemu twice on the same UBI image, it fails to - # attach the image the second time, with "ubi0 error: - # ubi_read_volume_table: the layout volume was not found". - # To be investigated. def test_run(self): img = os.path.join(self.builddir, "images", "rootfs.ubi") out = infra.run_cmd_on_host(self.builddir, ["file", img]) out = out.splitlines() self.assertIn("UBI image, version 1", out[0]) - subprocess.call(["truncate", "-s 128M", img]) + subprocess.call(["truncate", "-s 64M", img]) self.emulator.boot(arch="armv7", kernel="builtin", kernel_cmdline=["root=ubi0:rootfs", "ubi.mtd=0", "rootfstype=ubifs"], - options=["-drive", "file={},if=pflash".format(img)]) + options=["-drive", "file={},if=pflash,format=raw".format(img)]) self.emulator.login() cmd = "mount | grep 'ubi0:rootfs on / type ubifs'" _, exit_code = self.emulator.run(cmd) diff --git a/support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg b/support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg new file mode 100644 index 00000000000..52dd5f0007e --- /dev/null +++ b/support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg @@ -0,0 +1,8 @@ +[ubifs] +mode=ubi +vol_id=0 +vol_type=static +vol_name=rootfs +vol_alignment=1 +vol_size=64MiB +image=BR2_ROOTFS_UBIFS_PATH diff --git a/support/testing/tests/init/base.py b/support/testing/tests/init/base.py index 75cfbe9c598..7f12186b737 100644 --- a/support/testing/tests/init/base.py +++ b/support/testing/tests/init/base.py @@ -1,5 +1,4 @@ import os -import subprocess import infra.basetest @@ -7,7 +6,7 @@ class InitSystemBase(infra.basetest.BRTest): def start_emulator(self, fs_type, kernel=None, dtb=None, init=None): img = os.path.join(self.builddir, "images", "rootfs.{}".format(fs_type)) - subprocess.call(["truncate", "-s", "%1M", img]) + infra.img_round_power2(img) options = ["-drive", "file={},if=sd,format=raw".format(img), @@ -39,8 +38,7 @@ def start_emulator(self, fs_type, kernel=None, dtb=None, init=None): def check_init(self, path): cmd = "cmp /proc/1/exe {}".format(path) - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) def check_network(self, interface, exitCode=0): cmd = "ip addr show {} |grep inet".format(interface) diff --git a/support/testing/tests/init/test_none.py b/support/testing/tests/init/test_none.py index 5b9b4e43f16..fc4a46efd9c 100644 --- a/support/testing/tests/init/test_none.py +++ b/support/testing/tests/init/test_none.py @@ -27,7 +27,6 @@ def test_run(self): self.assertEqual(exit_code, 0) self.assertEqual(out[0], "1") - _, exit_code = self.emulator.run("mount -t proc none /proc") - self.assertEqual(exit_code, 0) + self.assertRunOk("mount -t proc none /proc") self.check_init("/bin/sh") diff --git a/support/testing/tests/init/test_openrc.py b/support/testing/tests/init/test_openrc.py index 14839434ef4..c6ade7676d5 100644 --- a/support/testing/tests/init/test_openrc.py +++ b/support/testing/tests/init/test_openrc.py @@ -5,15 +5,11 @@ class InitSystemOpenrcBase(InitSystemBase): config = \ """ BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_INIT_OPENRC=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - BR2_LINUX_KERNEL=y - BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.5.7" - BR2_LINUX_KERNEL_DEFCONFIG="vexpress" - BR2_LINUX_KERNEL_DTS_SUPPORT=y - BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" # BR2_TARGET_ROOTFS_TAR is not set """ @@ -34,7 +30,7 @@ class TestInitSystemOpenrcRoFull(InitSystemOpenrcBase): """ def test_run(self): - self.start_emulator("squashfs", "zImage", "vexpress-v2p-ca9") + self.start_emulator("squashfs") self.check_init() @@ -46,5 +42,5 @@ class TestInitSystemOpenrcRwFull(InitSystemOpenrcBase): """ def test_run(self): - self.start_emulator("ext2", "zImage", "vexpress-v2p-ca9") + self.start_emulator("ext2") self.check_init() diff --git a/support/testing/tests/init/test_systemd.py b/support/testing/tests/init/test_systemd.py index c0ef5e12027..f0cc52bac81 100644 --- a/support/testing/tests/init/test_systemd.py +++ b/support/testing/tests/init/test_systemd.py @@ -13,7 +13,7 @@ class InitSystemSystemdBase(InitSystemBase): BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -29,8 +29,7 @@ def check_init(self): self.assertEqual(len(output), 0) # Test we can reach the DBus daemon - _, exit_code = self.emulator.run("busctl --no-pager") - self.assertEqual(exit_code, 0) + self.assertRunOk("busctl --no-pager") # Test we can read at least one line from the journal output, _ = self.emulator.run("journalctl --no-pager --lines 1 --quiet") diff --git a/support/testing/tests/package/br2-external/polkit/Config.in b/support/testing/tests/package/br2-external/polkit/Config.in new file mode 100644 index 00000000000..2d11756193a --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/Config.in @@ -0,0 +1 @@ +source "$BR2_EXTERNAL_POLKIT_PATH/package/polkit-rules-test/Config.in" diff --git a/support/testing/tests/package/br2-external/polkit/external.desc b/support/testing/tests/package/br2-external/polkit/external.desc new file mode 100644 index 00000000000..ecef48692b7 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/external.desc @@ -0,0 +1 @@ +name: POLKIT diff --git a/support/testing/tests/package/br2-external/polkit/external.mk b/support/testing/tests/package/br2-external/polkit/external.mk new file mode 100644 index 00000000000..64e369cce46 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_POLKIT_PATH)/package/*/*.mk)) diff --git a/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/Config.in b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/Config.in new file mode 100644 index 00000000000..0fe125ec8f3 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_POLKIT_RULES_TEST + bool "polkit rules test" + depends on BR2_PACKAGE_POLKIT + help + Simple test to ensure polkit is loading and enforcing rules + correctly. diff --git a/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.c b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.c new file mode 100644 index 00000000000..cf5343cd751 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.c @@ -0,0 +1,6 @@ +#include + +int main(void){ + printf("Hello polkit!\n"); + return 0; +} diff --git a/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.policy b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.policy new file mode 100644 index 00000000000..82202931751 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.policy @@ -0,0 +1,14 @@ + + + + + Authentication is required to run the hello world test program + + no + no + + /usr/bin/hello-polkit + + diff --git a/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.rules b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.rules new file mode 100644 index 00000000000..a0a66f644d4 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/initd/hello-polkit.rules @@ -0,0 +1,6 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.policykit.pkexec.hello-polkit" && + subject.user == "brtest") { + return polkit.Result.YES; + } +}); diff --git a/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/polkit-rules-test.mk b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/polkit-rules-test.mk new file mode 100644 index 00000000000..4ec3805ee38 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/polkit-rules-test.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# polkit-rules-test +# +################################################################################ + +POLKIT_RULES_TEST_DEPENDENCIES = polkit + +define POLKIT_RULES_TEST_USERS + brtest -1 brtest -1 =password /home/brtest /bin/sh brtest +endef + +define POLKIT_RULES_TEST_BUILD_CMDS + $(INSTALL) -D $(POLKIT_RULES_TEST_PKGDIR)/initd/hello-polkit.c $(@D)/hello-polkit.c + $(TARGET_CC) $(@D)/hello-polkit.c -o $(@D)/hello-polkit +endef + +# Install the rules file to /root. Test_polkit.py first tests that restarting +# timesyncd as a user fails, then moves the rules file and confirmes restarting +# timesyncd as a user succeeds. +define POLKIT_RULES_TEST_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/polkit-1/rules.d + $(INSTALL) -D $(POLKIT_RULES_TEST_PKGDIR)/systemd/systemd-timesyncd-restart.rules \ + $(TARGET_DIR)/root/systemd-timesyncd-restart.rules +endef + +define POLKIT_RULES_TEST_INSTALL_INIT_SYSV + mkdir -p $(TARGET_DIR)/usr/share/polkit-1/actions/ + $(INSTALL) -D $(@D)/hello-polkit $(TARGET_DIR)/usr/bin/hello-polkit + + $(INSTALL) -D $(POLKIT_RULES_TEST_PKGDIR)/initd/hello-polkit.policy \ + $(TARGET_DIR)/usr/share/polkit-1/actions/hello-polkit.policy + + $(INSTALL) -D $(POLKIT_RULES_TEST_PKGDIR)/initd/hello-polkit.rules \ + $(TARGET_DIR)/root/hello-polkit.rules +endef + +$(eval $(generic-package)) diff --git a/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/systemd/systemd-timesyncd-restart.rules b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/systemd/systemd-timesyncd-restart.rules new file mode 100644 index 00000000000..94611950913 --- /dev/null +++ b/support/testing/tests/package/br2-external/polkit/package/polkit-rules-test/systemd/systemd-timesyncd-restart.rules @@ -0,0 +1,7 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.systemd1.manage-units" && + action.lookup("unit") == "systemd-timesyncd.service" && + subject.user == "brtest") { + return polkit.Result.YES; + } +}); diff --git a/support/testing/tests/package/br2-external/python-pybind/Config.in b/support/testing/tests/package/br2-external/python-pybind/Config.in new file mode 100644 index 00000000000..70c77157b31 --- /dev/null +++ b/support/testing/tests/package/br2-external/python-pybind/Config.in @@ -0,0 +1 @@ +source "$BR2_EXTERNAL_PYTHON_PYBIND_PATH/package/python-pybind-example/Config.in" diff --git a/support/testing/tests/package/br2-external/python-pybind/external.desc b/support/testing/tests/package/br2-external/python-pybind/external.desc new file mode 100644 index 00000000000..eef5e0f5a05 --- /dev/null +++ b/support/testing/tests/package/br2-external/python-pybind/external.desc @@ -0,0 +1 @@ +name: PYTHON_PYBIND diff --git a/support/testing/tests/package/br2-external/python-pybind/external.mk b/support/testing/tests/package/br2-external/python-pybind/external.mk new file mode 100644 index 00000000000..3501f3135e8 --- /dev/null +++ b/support/testing/tests/package/br2-external/python-pybind/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_PYTHON_PYBIND_PATH)/package/*/*.mk)) diff --git a/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/Config.in b/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/Config.in new file mode 100644 index 00000000000..1b4d1e0d2c6 --- /dev/null +++ b/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYBIND_EXAMPLE + bool "python-pybind-example" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_PYBIND + help + This test creates a cpp macro later used on target in python diff --git a/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/example.cpp b/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/example.cpp new file mode 100644 index 00000000000..f2eea8e48dc --- /dev/null +++ b/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/example.cpp @@ -0,0 +1,16 @@ +#include +namespace py = pybind11; + +int add (int i, int j) { + return i + j; +} + +PYBIND11_MODULE (example, m) { + // optional module description + m.doc() = "pybind11 example plugin"; + // test a module method + m.def("add", &add, "example::add adds two integer numbers"); + // test a module attribute + py::object hello = py::cast("Hello World"); + m.attr("says") = hello; +} diff --git a/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/python-pybind-example.mk b/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/python-pybind-example.mk new file mode 100644 index 00000000000..a6d7e0daafe --- /dev/null +++ b/support/testing/tests/package/br2-external/python-pybind/package/python-pybind-example/python-pybind-example.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# python-pybind-example +# +################################################################################ + +# this builds a C++ macro "add(a,b)" +# that we expose to host-python with a custom install +# and that the python test script will later use +PYTHON_PYBIND_EXAMPLE_DEPENDENCIES = python-pybind + +PYTHON_PYBIND_EXAMPLE_PYBIND_INCLUDE = \ + $(shell $(HOST_DIR)/usr/bin/python3 -c 'import pybind11; print(pybind11.get_include())') + +PYTHON_PYBIND_EXAMPLE_CXX_FLAGS = \ + $(TARGET_CXXFLAGS) \ + -Wall -shared -std=c++11 -fPIC \ + -I$(PYTHON_PYBIND_EXAMPLE_PYBIND_INCLUDE) \ + $(shell $(STAGING_DIR)/usr/bin/python3-config --includes --libs --ldflags) + +# .so to be installed must have exact suffix +# otherwise import() in python will not work +HOST_LIB_BINARY_SUFFIX = \ + $(shell $(STAGING_DIR)/usr/bin/python3-config --extension-suffix) + +define PYTHON_PYBIND_EXAMPLE_BUILD_CMDS + if [ -z "$(PYTHON_PYBIND_EXAMPLE_PYBIND_INCLUDE)" ]; then \ + echo "pybind11.get_include() returned empty"; \ + exit 1; \ + fi + $(TARGET_CXX) $(PYTHON_PYBIND_EXAMPLE_CXX_FLAGS) \ + $(PYTHON_PYBIND_EXAMPLE_PKGDIR)/example.cpp \ + -o $(@D)/example$(HOST_LIB_BINARY_SUFFIX) +endef + +define PYTHON_PYBIND_EXAMPLE_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(@D)/example$(HOST_LIB_BINARY_SUFFIX) \ + $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/example$(HOST_LIB_BINARY_SUFFIX) +endef + +$(eval $(generic-package)) diff --git a/support/testing/tests/package/sample_bmap_tools.sh b/support/testing/tests/package/sample_bmap_tools.sh new file mode 100755 index 00000000000..08605b3b995 --- /dev/null +++ b/support/testing/tests/package/sample_bmap_tools.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# simple test which creates a dummy file system image, then use bmaptool create +# and bmaptool copy to copy it to another file + +set -xeu + +# create the necessary test files +dd if=/dev/zero of=disk.img bs=2M count=1 +mkfs.ext4 disk.img +fallocate -d disk.img +dd if=/dev/zero of=copy.img bs=2M count=1 + +# do a test copy of the file system image +bmaptool create -o disk.img.bmap disk.img +bmaptool copy disk.img copy.img +cmp disk.img copy.img diff --git a/support/testing/tests/package/sample_gst1_python.py b/support/testing/tests/package/sample_gst1_python.py index fab7e74f40c..2d7e0e1ed97 100644 --- a/support/testing/tests/package/sample_gst1_python.py +++ b/support/testing/tests/package/sample_gst1_python.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """A simple test that uses gst1-python to run a fake videotestsrc for 100 frames """ diff --git a/support/testing/tests/package/sample_python_aexpect.py b/support/testing/tests/package/sample_python_aexpect.py new file mode 100644 index 00000000000..a31a17bd1d3 --- /dev/null +++ b/support/testing/tests/package/sample_python_aexpect.py @@ -0,0 +1 @@ +import aexpect diff --git a/support/testing/tests/package/sample_python_augeas.py b/support/testing/tests/package/sample_python_augeas.py new file mode 100644 index 00000000000..d62afa564e4 --- /dev/null +++ b/support/testing/tests/package/sample_python_augeas.py @@ -0,0 +1,9 @@ +import augeas + +a = augeas.Augeas(root="/") +hosts = a.match("/files/etc/hosts/*") +assert(hosts is not None) +assert(len(hosts) == 2) + +assert(a.get("/files/etc/hosts/1/ipaddr") == "127.0.0.1") +assert(a.get("/files/etc/hosts/1/canonical") == "localhost") diff --git a/support/testing/tests/package/sample_python_avro.py b/support/testing/tests/package/sample_python_avro.py index 79d2dcdb22f..46363ad2bff 100644 --- a/support/testing/tests/package/sample_python_avro.py +++ b/support/testing/tests/package/sample_python_avro.py @@ -1,8 +1,8 @@ from io import BytesIO -from avro.schema import Parse +from avro.schema import parse from avro.io import DatumReader, BinaryDecoder -schema = Parse("""{ +schema = parse("""{ "namespace": "org.buildroot.package.python_avro", "type": "record", "name": "Developer", diff --git a/support/testing/tests/package/sample_python_boto3.py b/support/testing/tests/package/sample_python_boto3.py new file mode 100644 index 00000000000..e69efc78605 --- /dev/null +++ b/support/testing/tests/package/sample_python_boto3.py @@ -0,0 +1,2 @@ +import boto3 +s3 = boto3.resource('s3') diff --git a/support/testing/tests/package/sample_python_botocore.py b/support/testing/tests/package/sample_python_botocore.py new file mode 100644 index 00000000000..cc4055989f9 --- /dev/null +++ b/support/testing/tests/package/sample_python_botocore.py @@ -0,0 +1,3 @@ +import botocore.session +session = botocore.session.get_session() +client = session.create_client('ec2', region_name="us-east-1") diff --git a/support/testing/tests/package/sample_python_dbus_next.py b/support/testing/tests/package/sample_python_dbus_next.py new file mode 100644 index 00000000000..710bfa8c046 --- /dev/null +++ b/support/testing/tests/package/sample_python_dbus_next.py @@ -0,0 +1,44 @@ +import asyncio +from dbus_next.aio import MessageBus +from dbus_next.service import ServiceInterface, method +import dbus_next.introspection as intr +from dbus_next import BusType + + +class SampleInterface(ServiceInterface): + def __init__(self): + super().__init__('test.interface') + + @method() + def Ping(self): + pass + + @method() + def ConcatStrings(self, what1: 's', what2: 's') -> 's': # noqa: F821 + return what1 + what2 + + +async def main(): + bus_name = 'dbus.next.sample' + + bus = await MessageBus(bus_type=BusType.SYSTEM).connect() + bus2 = await MessageBus(bus_type=BusType.SYSTEM).connect() + + await bus.request_name(bus_name) + + service_interface = SampleInterface() + bus.export('/test/path', service_interface) + + introspection = await bus2.introspect(bus_name, '/test/path') + assert type(introspection) is intr.Node + obj = bus2.get_proxy_object(bus_name, '/test/path', introspection) + interface = obj.get_interface(service_interface.name) + + result = await interface.call_ping() + assert result is None + + result = await interface.call_concat_strings('hello ', 'world') + assert result == 'hello world' + + +asyncio.run(main()) diff --git a/support/testing/tests/package/sample_python_distro.py b/support/testing/tests/package/sample_python_distro.py new file mode 100644 index 00000000000..b31f1297187 --- /dev/null +++ b/support/testing/tests/package/sample_python_distro.py @@ -0,0 +1,4 @@ +import distro + +assert(distro.name() == 'Buildroot') +assert(distro.id() == 'buildroot') diff --git a/support/testing/tests/package/sample_python_flask.py b/support/testing/tests/package/sample_python_flask.py new file mode 100644 index 00000000000..a7941a94a60 --- /dev/null +++ b/support/testing/tests/package/sample_python_flask.py @@ -0,0 +1,7 @@ +from flask import Flask +app = Flask(__name__) + + +@app.route('/') +def hello_world(): + return 'Hello, World!' diff --git a/support/testing/tests/package/sample_python_flask_expects_json.py b/support/testing/tests/package/sample_python_flask_expects_json.py new file mode 100644 index 00000000000..d45026dd498 --- /dev/null +++ b/support/testing/tests/package/sample_python_flask_expects_json.py @@ -0,0 +1,18 @@ +from flask import Flask +from flask_expects_json import expects_json +app = Flask(__name__) + +schema = { + 'type': 'object', + 'properties': { + 'name': {'type': 'string'}, + 'email': {'type': 'string'}, + }, + 'required': ['name', 'email'] +} + + +@app.route('/', methods=['POST']) +@expects_json(schema) +def hello_world(): + return 'Hello, World!' diff --git a/support/testing/tests/package/sample_python_git.py b/support/testing/tests/package/sample_python_git.py new file mode 100644 index 00000000000..fa9ff23039f --- /dev/null +++ b/support/testing/tests/package/sample_python_git.py @@ -0,0 +1 @@ +from git import * # noqa diff --git a/support/testing/tests/package/sample_python_gnupg.py b/support/testing/tests/package/sample_python_gnupg.py new file mode 100644 index 00000000000..b5b718a8cbb --- /dev/null +++ b/support/testing/tests/package/sample_python_gnupg.py @@ -0,0 +1,24 @@ +import gnupg + +gpg = gnupg.GPG(verbose=True) + +plain_data = "Some plain text data" +good_passphrase = "Good Passphrase" + +# Test Encrypt +result = gpg.encrypt(plain_data, None, passphrase=good_passphrase, symmetric=True) +assert(result.returncode == 0) +enc_data = str(result) +assert(enc_data != plain_data) + +# Test Good Decrypt +result = gpg.decrypt(enc_data, passphrase=good_passphrase) +assert(result.returncode == 0) +dec_data = str(result) +assert(dec_data == plain_data) + +# Test Bad Decrypt +result = gpg.decrypt(enc_data, passphrase='A Wrong Passphrase') +assert(result.returncode != 0) +dec_data = str(result) +assert(dec_data != plain_data) diff --git a/support/testing/tests/package/sample_python_gobject.py b/support/testing/tests/package/sample_python_gobject.py index 50564aa79f5..4490a736133 100644 --- a/support/testing/tests/package/sample_python_gobject.py +++ b/support/testing/tests/package/sample_python_gobject.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """A simple test that uses python-gobject to find the path of sh.""" from gi.repository import GLib diff --git a/support/testing/tests/package/sample_python_incremental.py b/support/testing/tests/package/sample_python_incremental.py index b6e2aa803c0..efab8b2067e 100644 --- a/support/testing/tests/package/sample_python_incremental.py +++ b/support/testing/tests/package/sample_python_incremental.py @@ -1,3 +1,3 @@ import incremental v = incremental.Version("package", 1, 2, 3, release_candidate=4) -assert(str(v) == "[package, version 1.2.3rc4]") +assert(str(v) == "[package, version 1.2.3.rc4]") diff --git a/support/testing/tests/package/sample_python_iptables.py b/support/testing/tests/package/sample_python_iptables.py new file mode 100644 index 00000000000..a3091cab317 --- /dev/null +++ b/support/testing/tests/package/sample_python_iptables.py @@ -0,0 +1 @@ +import iptc diff --git a/support/testing/tests/package/sample_python_pybind.py b/support/testing/tests/package/sample_python_pybind.py new file mode 100644 index 00000000000..605c0bab159 --- /dev/null +++ b/support/testing/tests/package/sample_python_pybind.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python +import example +print(example.add(1, 2)) +print(example.says) diff --git a/support/testing/tests/package/sample_python_pyyaml_dec.py b/support/testing/tests/package/sample_python_pyyaml_dec.py index 9ab8931197e..bb90934f269 100644 --- a/support/testing/tests/package/sample_python_pyyaml_dec.py +++ b/support/testing/tests/package/sample_python_pyyaml_dec.py @@ -2,7 +2,7 @@ with open("/tmp/data.yml", "rb") as f: serialized = f.read() -data = yaml.load(serialized) +data = yaml.safe_load(serialized) print(data) assert(data["name"] == "python-pyyaml") assert(data["versions"] == ["1", "2"]) diff --git a/support/testing/tests/package/sample_python_rsa.py b/support/testing/tests/package/sample_python_rsa.py new file mode 100644 index 00000000000..6f246f4d628 --- /dev/null +++ b/support/testing/tests/package/sample_python_rsa.py @@ -0,0 +1,2 @@ +import rsa +(pubkey, privkey) = rsa.newkeys(512) diff --git a/support/testing/tests/package/sample_python_subprocess32.py b/support/testing/tests/package/sample_python_subprocess32.py deleted file mode 100644 index 8579745cc80..00000000000 --- a/support/testing/tests/package/sample_python_subprocess32.py +++ /dev/null @@ -1,6 +0,0 @@ -import subprocess32 - -output = subprocess32.check_output(["ls", "-l", "/dev/null"]) -print(output) -assert("/dev/null" in output) -assert("No such" not in output) diff --git a/support/testing/tests/package/sample_python_unittest_xml_reporting.py b/support/testing/tests/package/sample_python_unittest_xml_reporting.py new file mode 100644 index 00000000000..cfef4df22ab --- /dev/null +++ b/support/testing/tests/package/sample_python_unittest_xml_reporting.py @@ -0,0 +1,11 @@ +import unittest +import xmlrunner + + +class Test1(unittest.TestCase): + def test_something(self): + self.assertTrue(True) + + +if __name__ == '__main__': + unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports')) diff --git a/support/testing/tests/package/test_atop.py b/support/testing/tests/package/test_atop.py index 1da1ac7cc4f..5a96684799e 100644 --- a/support/testing/tests/package/test_atop.py +++ b/support/testing/tests/package/test_atop.py @@ -33,9 +33,7 @@ def test_run(self): self.emulator.login() cmd = "atop -V | grep '^Version'" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) cmd = "atop -a 1 2 | grep '% *atop *$'" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_bmap_tools.py b/support/testing/tests/package/test_bmap_tools.py new file mode 100644 index 00000000000..a179027633d --- /dev/null +++ b/support/testing/tests/package/test_bmap_tools.py @@ -0,0 +1,84 @@ +import os +import infra +import subprocess + +from infra.basetest import BRTest + + +class TestBmapTools(BRTest): + __test__ = False + sample_script = "tests/package/sample_bmap_tools.sh" + copy_script = 'tests/package/copy-sample-script-to-target.sh' + config = \ + """ + BR2_arm=y + BR2_cortex_a8=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_BMAP_TOOLS=y + BR2_ROOTFS_POST_BUILD_SCRIPT="{}" + BR2_ROOTFS_POST_SCRIPT_ARGS="{}" + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="65536" + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_UTIL_LINUX=y + BR2_PACKAGE_UTIL_LINUX_FALLOCATE=y + BR2_PACKAGE_E2FSPROGS=y + BR2_PACKAGE_UTIL_LINUX_LIBUUID=y + """.format(infra.filepath(copy_script), + infra.filepath(sample_script)) + timeout = 60 + + def login(self): + img = os.path.join(self.builddir, "images", "rootfs.ext4") + self.emulator.boot(arch="armv7", + kernel="builtin", + kernel_cmdline=["root=/dev/mmcblk0", + "rootfstype=ext4"], + options=["-drive", "file={},if=sd,format=raw".format(img)]) + self.emulator.login() + + def test_run(self): + self.login() + cmd = "/root/{}".format(os.path.basename(self.sample_script)) + self.assertRunOk(cmd, timeout=20) + + +class TestPy3BmapTools(TestBmapTools): + __test__ = True + config = TestBmapTools.config + \ + """ + BR2_PACKAGE_PYTHON3=y + """ + + +class TestHostBmapTools(BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_HOST_BMAP_TOOLS=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_ROOTFS_EXT2=y + """ + + def test_run(self): + bmap_x = os.path.join(self.b.builddir, "host", "bin", "bmaptool") + src_f = os.path.join(self.b.builddir, "images", "rootfs.ext2") + dst_f = os.path.join(self.b.builddir, "images", "rootfs.ext2.copy") + map_f = os.path.join(self.b.builddir, "images", "rootfs.ext2.bmap") + + ret = subprocess.call([bmap_x, "create", "-o", map_f, src_f], + stdout=self.b.logfile, + stderr=self.b.logfile) + self.assertEqual(ret, 0) + + ret = subprocess.call([bmap_x, "copy", src_f, dst_f], + stdout=self.b.logfile, + stderr=self.b.logfile) + self.assertEqual(ret, 0) + + with open(src_f, 'rb') as f: + src = f.read() + with open(dst_f, 'rb') as f: + dst = f.read() + self.assertEqual(src, dst) diff --git a/support/testing/tests/package/test_crudini.py b/support/testing/tests/package/test_crudini.py index e320d3207e5..470a714eb6e 100644 --- a/support/testing/tests/package/test_crudini.py +++ b/support/testing/tests/package/test_crudini.py @@ -33,14 +33,6 @@ def test_run(self): self.assertEqual(out, ['this-is-the-magic-value']) -class TestCrudiniPy2(TestCrudiniBase): - __test__ = True - config = TestCrudiniBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - """ - - class TestCrudiniPy3(TestCrudiniBase): __test__ = True config = TestCrudiniBase.config + \ diff --git a/support/testing/tests/package/test_docker_compose.py b/support/testing/tests/package/test_docker_compose.py index 67ee795f21f..1ce132c2426 100644 --- a/support/testing/tests/package/test_docker_compose.py +++ b/support/testing/tests/package/test_docker_compose.py @@ -7,16 +7,15 @@ class TestDockerCompose(infra.basetest.BRTest): config = \ """ BR2_x86_64=y - BR2_x86_core2=y - BR2_TOOLCHAIN_BUILDROOT_GLIBC=y - BR2_KERNEL_HEADERS_4_19=y - BR2_TOOLCHAIN_BUILDROOT_CXX=y + BR2_x86_corei7=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="{}" BR2_ROOTFS_POST_SCRIPT_ARGS="{}" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="{}" BR2_PACKAGE_CA_CERTIFICATES=y @@ -37,13 +36,15 @@ def wait_for_dockerd(self): def docker_test(self): # will download container if not available, which may take some time - _, exit_code = self.emulator.run('docker run --rm busybox:latest /bin/true', 120) - self.assertEqual(exit_code, 0) + self.assertRunOk('docker run --rm -p 8888:8888 busybox:latest /bin/true', 120) def docker_compose_test(self): # will download container if not available, which may take some time - _, exit_code = self.emulator.run('docker-compose up', 120) - self.assertEqual(exit_code, 0) + self.assertRunOk('docker-compose up -d', 120) + # container may take some time to start + self.assertRunOk('while ! docker inspect root_busybox_1 2>&1 >/dev/null; do sleep 1; done', 120) + self.assertRunOk('wget -O /tmp/busybox http://127.0.0.1/busybox', 120) + self.assertRunOk('cmp /bin/busybox /tmp/busybox', 120) def test_run(self): kernel = os.path.join(self.builddir, "images", "bzImage") @@ -51,7 +52,7 @@ def test_run(self): self.emulator.boot(arch="x86_64", kernel=kernel, kernel_cmdline=["root=/dev/vda", "console=ttyS0"], - options=["-cpu", "core2duo", + options=["-cpu", "Nehalem", "-m", "512M", "-device", "virtio-rng-pci", "-drive", "file={},format=raw,if=virtio".format(rootfs), diff --git a/support/testing/tests/package/test_dropbear.py b/support/testing/tests/package/test_dropbear.py index bfec8701f27..2dd90702311 100644 --- a/support/testing/tests/package/test_dropbear.py +++ b/support/testing/tests/package/test_dropbear.py @@ -24,9 +24,7 @@ def test_run(self): "-net", "user"]) self.emulator.login(self.passwd) cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:22" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) cmd = "sshpass -p {} ssh -y localhost /bin/true".format(self.passwd) - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_dtbocfg.py b/support/testing/tests/package/test_dtbocfg.py new file mode 100644 index 00000000000..d25b1692b44 --- /dev/null +++ b/support/testing/tests/package/test_dtbocfg.py @@ -0,0 +1,37 @@ +import os + +import infra.basetest + + +class TestDtbocfg(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" + BR2_LINUX_KERNEL_USE_DEFCONFIG=y + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_PACKAGE_DTBOCFG=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + kernel = os.path.join(self.builddir, "images", "zImage") + kernel_cmdline = ["console=ttyAMA0"] + dtb = infra.download(self.downloaddir, "vexpress-v2p-ca9.dtb") + options = ["-M", "vexpress-a9", "-dtb", dtb, "-initrd", img] + + self.emulator.boot(arch="armv7", kernel=kernel, + kernel_cmdline=kernel_cmdline, + options=options) + self.emulator.login() + self.assertRunOk("modprobe dtbocfg.ko") + self.assertRunOk("mkdir /tmp/config && mount -t configfs none /tmp/config") + + # Check that overlays directory is present. + # From dtbocfg site (https://github.com/ikwzm/dtbocfg): + # If /config/device-tree/overlays is created, it is ready to use + # dtbocfg + self.assertRunOk("ls /tmp/config/device-tree/overlays/") diff --git a/support/testing/tests/package/test_execline.py b/support/testing/tests/package/test_execline.py new file mode 100644 index 00000000000..a7ea36c1a21 --- /dev/null +++ b/support/testing/tests/package/test_execline.py @@ -0,0 +1,23 @@ +import os + +import infra.basetest + + +class TestExecline(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_EXECLINE=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + output, exit_code = self.emulator.run("execlineb -c 'echo hello world'") + self.assertEqual(exit_code, 0) + self.assertEqual(output[0].strip(), "hello world") diff --git a/support/testing/tests/package/test_gdb.py b/support/testing/tests/package/test_gdb.py new file mode 100644 index 00000000000..a7b08706441 --- /dev/null +++ b/support/testing/tests/package/test_gdb.py @@ -0,0 +1,215 @@ +import os +import infra.basetest + + +class BaseGdb(infra.basetest.BRTest): + def verify_host_gdb(self, prefix="arm-linux"): + cmd = ["host/bin/%s-gdb" % prefix, "--version"] + # We don't check the return value, as it automatically raises + # an exception if the command returns with a non-zero value + infra.run_cmd_on_host(self.builddir, cmd) + + def boot(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img, + "-net", "nic", + "-net", "user"]) + self.emulator.login() + + def verify_gdbserver(self): + cmd = "gdbserver --version" + self.assertRunOk(cmd) + + def verify_gdb(self): + cmd = "gdb --version" + self.assertRunOk(cmd) + + +class TestGdbHostOnlyDefault(BaseGdb): + config = \ + infra.basetest.MINIMAL_CONFIG + \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + """ + + def test_run(self): + self.verify_host_gdb() + + +class TestGdbHostOnlyAllFeatures(BaseGdb): + config = \ + infra.basetest.MINIMAL_CONFIG + \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + BR2_PACKAGE_HOST_GDB_TUI=y + BR2_PACKAGE_HOST_GDB_PYTHON3=y + BR2_PACKAGE_HOST_GDB_SIM=y + """ + + def test_run(self): + self.verify_host_gdb() + + +class TestGdbserverOnly(BaseGdb): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_GDB=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + self.boot() + self.verify_gdbserver() + + +class TestGdbFullTarget(BaseGdb): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_GDB=y + BR2_PACKAGE_GDB_DEBUGGER=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + self.boot() + self.verify_gdb() + + +class TestGdbHostOnly9x(BaseGdb): + config = \ + infra.basetest.MINIMAL_CONFIG + \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + BR2_GDB_VERSION_9_2=y + """ + + def test_run(self): + self.verify_host_gdb() + + +class TestGdbHostGdbserver9x(BaseGdb): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + BR2_GDB_VERSION_9_2=y + BR2_PACKAGE_GDB=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + self.verify_host_gdb() + self.boot() + self.verify_gdbserver() + + +class TestGdbHostGdbTarget9x(BaseGdb): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + BR2_GDB_VERSION_9_2=y + BR2_PACKAGE_GDB=y + BR2_PACKAGE_GDB_DEBUGGER=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + self.verify_host_gdb() + self.boot() + self.verify_gdb() + + +class TestGdbHostOnly11x(BaseGdb): + config = \ + infra.basetest.MINIMAL_CONFIG + \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + BR2_GDB_VERSION_11=y + """ + + def test_run(self): + self.verify_host_gdb() + + +class TestGdbHostGdbserver11x(BaseGdb): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + BR2_GDB_VERSION_11=y + BR2_PACKAGE_GDB=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + self.verify_host_gdb() + self.boot() + self.verify_gdbserver() + + +class TestGdbHostGdbTarget11x(BaseGdb): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_PACKAGE_HOST_GDB=y + BR2_GDB_VERSION_11=y + BR2_PACKAGE_GDB=y + BR2_PACKAGE_GDB_DEBUGGER=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + self.verify_host_gdb() + self.boot() + self.verify_gdb() + + +class TestGdbArc(BaseGdb): + config = \ + """ + BR2_arcle=y + BR2_archs4x_rel31=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_PACKAGE_HOST_GDB=y + BR2_PACKAGE_GDB=y + BR2_PACKAGE_GDB_SERVER=y + BR2_PACKAGE_GDB_DEBUGGER=y + """ + + def test_run(self): + self.verify_host_gdb("arc-linux") diff --git a/support/testing/tests/package/test_glxinfo.py b/support/testing/tests/package/test_glxinfo.py index f37236d161e..79be596635b 100644 --- a/support/testing/tests/package/test_glxinfo.py +++ b/support/testing/tests/package/test_glxinfo.py @@ -20,19 +20,21 @@ class TestGlxinfo(infra.basetest.BRTest): BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux.config" BR2_PACKAGE_MESA3D_DEMOS=y BR2_PACKAGE_MESA3D=y - BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y BR2_PACKAGE_MESA3D_OPENGL_GLX=y BR2_PACKAGE_XORG7=y BR2_PACKAGE_XSERVER_XORG_SERVER=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set - """ + BR2_ROOTFS_OVERLAY="{}" + """.format( + infra.filepath("tests/package/test_glxinfo/rootfs-overlay")) def wait_for_xserver(self): # xserver takes some time to start up diff --git a/support/testing/tests/package/test_glxinfo/rootfs-overlay/etc/X11/xorg.conf.d/01-modules.conf b/support/testing/tests/package/test_glxinfo/rootfs-overlay/etc/X11/xorg.conf.d/01-modules.conf new file mode 100644 index 00000000000..c693c213f54 --- /dev/null +++ b/support/testing/tests/package/test_glxinfo/rootfs-overlay/etc/X11/xorg.conf.d/01-modules.conf @@ -0,0 +1,11 @@ + +# Xorg does not implement real dynamic linking and requires that its +# modules get loaded in the right order. +# https://forums.gentoo.org/viewtopic-p-8245578.html#8245578 +Section "Module" + Load "vgahw" + Load "fb" + Load "shadowfb" + Load "shadow" + Load "glamoregl" +EndSection diff --git a/support/testing/tests/package/test_libftdi1.py b/support/testing/tests/package/test_libftdi1.py index 78c928484ca..5c29dea04f3 100644 --- a/support/testing/tests/package/test_libftdi1.py +++ b/support/testing/tests/package/test_libftdi1.py @@ -1,18 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Libftdi1(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_LIBFTDI1=y - BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS=y - """ - sample_scripts = ["tests/package/sample_libftdi1.py"] - timeout = 40 - - class TestPythonPy3Libftdi1(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_libshdata.py b/support/testing/tests/package/test_libshdata.py new file mode 100644 index 00000000000..80b032ac691 --- /dev/null +++ b/support/testing/tests/package/test_libshdata.py @@ -0,0 +1,25 @@ +import os + +import infra.basetest + + +class TestLibshdata(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LIBSHDATA=y + BR2_PACKAGE_LIBSHDATA_STRESS=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + # Just run libshdata-stress. + # This ensures that library are well compiled and that all dependencies + # are met using Parrot Alchemy build system. + self.assertRunOk("libshdata-stress") diff --git a/support/testing/tests/package/test_lua.py b/support/testing/tests/package/test_lua.py index 66ae85c9993..9703dffbd4e 100644 --- a/support/testing/tests/package/test_lua.py +++ b/support/testing/tests/package/test_lua.py @@ -31,8 +31,7 @@ def g_version_test(self, expected): def module_test(self, module, script="a=1"): cmd = "lua -l {} -e '{}'".format(module, script) - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) class TestLua(TestLuaBase): @@ -43,8 +42,8 @@ class TestLua(TestLuaBase): def test_run(self): self.login() - self.version_test('Lua 5.3') - self.g_version_test('Lua 5.3') + self.version_test('Lua 5.4') + self.g_version_test('Lua 5.4') class TestLuajit(TestLuaBase): diff --git a/support/testing/tests/package/test_lua_argon2.py b/support/testing/tests/package/test_lua_argon2.py new file mode 100644 index 00000000000..8a2a57e6598 --- /dev/null +++ b/support/testing/tests/package/test_lua_argon2.py @@ -0,0 +1,25 @@ +from tests.package.test_lua import TestLuaBase + + +class TestLuaLuaArgon2(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_ARGON2=y + """ + + def test_run(self): + self.login() + self.module_test("argon2") + + +class TestLuajitLuaArgon2(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_LUA_ARGON2=y + """ + + def test_run(self): + self.login() + self.module_test("argon2") diff --git a/support/testing/tests/package/test_lua_augeas.py b/support/testing/tests/package/test_lua_augeas.py new file mode 100644 index 00000000000..2a612b6d324 --- /dev/null +++ b/support/testing/tests/package/test_lua_augeas.py @@ -0,0 +1,27 @@ +from tests.package.test_lua import TestLuaBase + + +class TestLuaLuaAugeas(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_AUGEAS=y + BR2_PACKAGE_LUA_AUGEAS=y + """ + + def test_run(self): + self.login() + self.module_test("augeas") + + +class TestLuajitLuaAugeas(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_AUGEAS=y + BR2_PACKAGE_LUA_AUGEAS=y + """ + + def test_run(self): + self.login() + self.module_test("augeas") diff --git a/support/testing/tests/package/test_lua_cffi.py b/support/testing/tests/package/test_lua_cffi.py new file mode 100644 index 00000000000..32547a4ae1f --- /dev/null +++ b/support/testing/tests/package/test_lua_cffi.py @@ -0,0 +1,13 @@ +from tests.package.test_lua import TestLuaBase + + +class TestLuaLuaCffi(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_CFFI=y + """ + + def test_run(self): + self.login() + self.module_test("cffi") diff --git a/support/testing/tests/package/test_lua_inotify.py b/support/testing/tests/package/test_lua_inotify.py new file mode 100644 index 00000000000..c951a9c5d64 --- /dev/null +++ b/support/testing/tests/package/test_lua_inotify.py @@ -0,0 +1,25 @@ +from tests.package.test_lua import TestLuaBase + + +class TestLuaInotify(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_INOTIFY=y + """ + + def test_run(self): + self.login() + self.module_test("inotify") + + +class TestLuajitInotify(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_LUA_INOTIFY=y + """ + + def test_run(self): + self.login() + self.module_test("inotify") diff --git a/support/testing/tests/package/test_lua_lunix.py b/support/testing/tests/package/test_lua_lunix.py new file mode 100644 index 00000000000..ae0e3b260d4 --- /dev/null +++ b/support/testing/tests/package/test_lua_lunix.py @@ -0,0 +1,25 @@ +from tests.package.test_lua import TestLuaBase + + +class TestLuaLunix(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_LUNIX=y + """ + + def test_run(self): + self.login() + self.module_test("unix") + + +class TestLuajitLunix(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_LUA_LUNIX=y + """ + + def test_run(self): + self.login() + self.module_test("unix") diff --git a/support/testing/tests/package/test_lua_sdl2.py b/support/testing/tests/package/test_lua_sdl2.py index 22c4087f5db..b9aad15f45c 100644 --- a/support/testing/tests/package/test_lua_sdl2.py +++ b/support/testing/tests/package/test_lua_sdl2.py @@ -5,6 +5,7 @@ class TestLuaLuaSDL2(TestLuaBase): config = TestLuaBase.config + \ """ BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_5_3=y BR2_PACKAGE_LUA_SDL2=y BR2_PACKAGE_SDL2_IMAGE=y BR2_PACKAGE_SDL2_MIXER=y diff --git a/support/testing/tests/package/test_lua_zlib.py b/support/testing/tests/package/test_lua_zlib.py new file mode 100644 index 00000000000..6089daa2e84 --- /dev/null +++ b/support/testing/tests/package/test_lua_zlib.py @@ -0,0 +1,25 @@ +from tests.package.test_lua import TestLuaBase + + +class TestLuaLuazlib(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_ZLIB=y + """ + + def test_run(self): + self.login() + self.module_test("zlib") + + +class TestLuajitLuazlib(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_LUA_ZLIB=y + """ + + def test_run(self): + self.login() + self.module_test("zlib") diff --git a/support/testing/tests/package/test_luvi.py b/support/testing/tests/package/test_luvi.py index a85a6f4d27a..4b550917622 100644 --- a/support/testing/tests/package/test_luvi.py +++ b/support/testing/tests/package/test_luvi.py @@ -17,7 +17,7 @@ class TestLuvi(infra.basetest.BRTest): def login(self): cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv7", + self.emulator.boot(arch="armv5", kernel="builtin", options=["-initrd", cpio_file]) self.emulator.login() @@ -25,11 +25,12 @@ def login(self): def version_test(self): cmd = "luvi -v" output, exit_code = self.emulator.run(cmd) - self.assertIn('luvi', output[0]) - self.assertIn('zlib', output[1]) + output = sorted(output) + self.assertIn('libuv', output[0]) + self.assertIn('luvi', output[1]) self.assertIn('rex', output[2]) - self.assertIn('libuv', output[3]) - self.assertIn('ssl', output[4]) + self.assertIn('ssl', output[3]) + self.assertIn('zlib', output[4]) def test_run(self): self.login() diff --git a/support/testing/tests/package/test_lxc.py b/support/testing/tests/package/test_lxc.py index b32b7a20c49..f66b31f3bac 100644 --- a/support/testing/tests/package/test_lxc.py +++ b/support/testing/tests/package/test_lxc.py @@ -12,7 +12,7 @@ class TestLxc(infra.basetest.BRTest): BR2_TOOLCHAIN_EXTERNAL=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.79" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.38" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" diff --git a/support/testing/tests/package/test_mender.py b/support/testing/tests/package/test_mender.py new file mode 100644 index 00000000000..fdf55ed6164 --- /dev/null +++ b/support/testing/tests/package/test_mender.py @@ -0,0 +1,32 @@ +import os + +import infra.basetest + + +class TestMender(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MENDER=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_ROOTFS_OVERLAY="{}" + """.format( + # overlay to add a fake 'fw_printenv', used by Mender + infra.filepath("tests/package/test_mender/rootfs-overlay")) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check if the Daemon is running + self.assertRunOk("ls /var/run/mender.pid") + self.assertRunOk("ps aux | egrep [m]ender") + + # Check if a simple Mender command is correctly executed + self.assertRunOk("mender -log-level debug show-artifact") + self.assertRunOk("mender -log-level debug show-artifact | grep 'RUNTIME_TEST_ARTIFACT_NAME'") + cmd = "mender show-artifact 2>&1 | grep -i 'err'" # Check if no 'error' among the traces + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 1) diff --git a/support/testing/tests/package/test_mender/rootfs-overlay/etc/mender/artifact_info b/support/testing/tests/package/test_mender/rootfs-overlay/etc/mender/artifact_info new file mode 100644 index 00000000000..4d54b8f89c1 --- /dev/null +++ b/support/testing/tests/package/test_mender/rootfs-overlay/etc/mender/artifact_info @@ -0,0 +1 @@ +artifact_name=RUNTIME_TEST_ARTIFACT_NAME diff --git a/support/testing/tests/package/test_mender/rootfs-overlay/usr/bin/fw_printenv b/support/testing/tests/package/test_mender/rootfs-overlay/usr/bin/fw_printenv new file mode 100755 index 00000000000..c002a0f2b8c --- /dev/null +++ b/support/testing/tests/package/test_mender/rootfs-overlay/usr/bin/fw_printenv @@ -0,0 +1,6 @@ +#!/bin/sh + +# Fake 'fw_printenv' because UBoot is not installed: print some plausible 'key-value' +echo "bootcount=0" +echo "mender_boot_part=rootfs" +echo "upgrade_available=0" diff --git a/support/testing/tests/package/test_netdata.py b/support/testing/tests/package/test_netdata.py index 7418b762a44..6b616398d3f 100644 --- a/support/testing/tests/package/test_netdata.py +++ b/support/testing/tests/package/test_netdata.py @@ -19,5 +19,4 @@ def test_run(self): self.emulator.login() cmd = "wget localhost:19999 -O - | grep 'netdata dashboard'" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_openjdk.py b/support/testing/tests/package/test_openjdk.py index 3a1d1a9b09f..26b7f9ee92a 100644 --- a/support/testing/tests/package/test_openjdk.py +++ b/support/testing/tests/package/test_openjdk.py @@ -12,7 +12,7 @@ class TestOpenJdk(infra.basetest.BRTest): BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/support/testing/tests/package/test_openssh.py b/support/testing/tests/package/test_openssh.py index 2ae5030d5db..4b48059573c 100644 --- a/support/testing/tests/package/test_openssh.py +++ b/support/testing/tests/package/test_openssh.py @@ -25,12 +25,10 @@ def openssh_test(self): self.emulator.login(self.passwd) cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:22" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) cmd = "sshpass -p {} ssh -oStrictHostKeyChecking=no localhost /bin/true".format(self.passwd) - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) class TestOpenSshuClibc(TestOpensshBase): @@ -49,9 +47,8 @@ class TestOpenSshGlibc(TestOpensshBase): TestOpensshBase.opensshconfig + \ """ BR2_arm=y - BR2_TOOLCHAIN_BUILDROOT_GLIBC=y - BR2_KERNEL_HEADERS_4_19=y - BR2_TOOLCHAIN_BUILDROOT_CXX=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_PACKAGE_RNG_TOOLS=y BR2_TARGET_ROOTFS_CPIO=y """ diff --git a/support/testing/tests/package/test_opkg.py b/support/testing/tests/package/test_opkg.py index aa937082237..e47879cad69 100644 --- a/support/testing/tests/package/test_opkg.py +++ b/support/testing/tests/package/test_opkg.py @@ -33,23 +33,19 @@ def test_run(self): # and prerm scripting provided in the package archive. cmd = "opkg install example-snmpd-package_1.0_arm.ipk" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) cmd = "opkg list-installed | grep example-snmpd-package" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) # Check that postinst script ran to start the services cmd = "ps aux | grep [s]nmpd" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) # If successful, the prerm script ran to stop the service prior to # the removal of the service scripting and files cmd = "opkg remove example-snmpd-package" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) # Verify after package removal that the services is not # running, but let's give it some time to really stop diff --git a/support/testing/tests/package/test_perl.py b/support/testing/tests/package/test_perl.py index 37e7390a4b6..ae3f105919d 100644 --- a/support/testing/tests/package/test_perl.py +++ b/support/testing/tests/package/test_perl.py @@ -19,8 +19,7 @@ def login(self): def module_test(self, module, script="1"): cmd = "perl -M{} -e '{}'".format(module, script) - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) class TestPerl(TestPerlBase): diff --git a/support/testing/tests/package/test_perl_io_socket_ssl.py b/support/testing/tests/package/test_perl_io_socket_ssl.py index 51663e837cf..80835fdcc19 100644 --- a/support/testing/tests/package/test_perl_io_socket_ssl.py +++ b/support/testing/tests/package/test_perl_io_socket_ssl.py @@ -6,6 +6,7 @@ class TestPerlIOSocketSSL(TestPerlBase): package: IO-Socket-SSL direct dependencies: + Mozilla-CA Net-SSLeay XS """ diff --git a/support/testing/tests/package/test_perl_libwww_perl.py b/support/testing/tests/package/test_perl_libwww_perl.py index 7b30e4b94ca..4dcfa06f15c 100644 --- a/support/testing/tests/package/test_perl_libwww_perl.py +++ b/support/testing/tests/package/test_perl_libwww_perl.py @@ -10,7 +10,6 @@ class TestPerllibwwwperl(TestPerlBase): File-Listing HTML-Parser XS HTTP-Cookies - HTTP-Daemon HTTP-Date HTTP-Message HTTP-Negotiate @@ -38,5 +37,4 @@ def test_run(self): self.module_test("LWP::Authen::Digest") self.module_test("HTML::Parser") self.module_test("HTTP::Message") - self.module_test("HTTP::Daemon") self.module_test("WWW::RobotRules") diff --git a/support/testing/tests/package/test_php_apcu.py b/support/testing/tests/package/test_php_apcu.py new file mode 100644 index 00000000000..7c149a5e476 --- /dev/null +++ b/support/testing/tests/package/test_php_apcu.py @@ -0,0 +1,35 @@ +import os + +import infra.basetest + + +class TestPhpApcu(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_PHP=y + BR2_PACKAGE_PHP_SAPI_CLI=y + BR2_PACKAGE_PHP_APCU=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + self.assertRunOk("mkdir /etc/php.d") + self.assertRunOk("echo 'extension=apcu.so' > /etc/php.d/apcu.ini") + # enable_cli enables APC for the CLI version of PHP, which is what we + # use in this test case. + self.assertRunOk("echo 'apc.enable_cli=1' >> /etc/php.d/apcu.ini") + + output, exit_code = self.emulator.run("php --ri apcu | sed '/^$/d'") + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "apcu") + self.assertEqual(output[1], "APCu Support => Enabled") + # Do not check the version value in order to avoid a test failure when + # bumping package version. + self.assertEqual(output[2][0:11], "Version => ") diff --git a/support/testing/tests/package/test_php_lua.py b/support/testing/tests/package/test_php_lua.py new file mode 100644 index 00000000000..e3c57938fc5 --- /dev/null +++ b/support/testing/tests/package/test_php_lua.py @@ -0,0 +1,63 @@ +import os + +import infra.basetest + + +class TestPhpLuaLua(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_PHP=y + BR2_PACKAGE_PHP_SAPI_CLI=y + BR2_PACKAGE_PHP_LUA=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + self.assertRunOk("mkdir /etc/php.d") + self.assertRunOk("echo 'extension=lua.so' > /etc/php.d/lua.ini") + + output, exit_code = self.emulator.run("php --ri lua | sed '/^$/d'") + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "lua") + self.assertEqual(output[1], "lua support => enabled") + # Do not check the version value in order to avoid a test failure when + # bumping package version. + self.assertEqual(output[2][0:25], "lua extension version => ") + + +class TestPhpLuaLuajit(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_PHP=y + BR2_PACKAGE_PHP_SAPI_CLI=y + BR2_PACKAGE_PHP_LUA=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + self.assertRunOk("mkdir /etc/php.d") + self.assertRunOk("echo 'extension=lua.so' > /etc/php.d/lua.ini") + + output, exit_code = self.emulator.run("php --ri lua | sed '/^$/d'") + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "lua") + self.assertEqual(output[1], "lua support => enabled") + # Do not check the version value in order to avoid a test failure when + # bumping package version. + self.assertEqual(output[2][0:25], "lua extension version => ") diff --git a/support/testing/tests/package/test_php_pam.py b/support/testing/tests/package/test_php_pam.py new file mode 100644 index 00000000000..c4c1412e106 --- /dev/null +++ b/support/testing/tests/package/test_php_pam.py @@ -0,0 +1,32 @@ +import os + +import infra.basetest + + +class TestPhpPam(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_PHP=y + BR2_PACKAGE_PHP_SAPI_CLI=y + BR2_PACKAGE_PHP_PAM=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + self.assertRunOk("mkdir /etc/php.d") + self.assertRunOk("echo 'extension=pam.so'> /etc/php.d/pam.ini") + + output, exit_code = self.emulator.run("php --ri pam | sed '/^$/d'") + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "pam") + self.assertEqual(output[1], "PAM support => enabled") + # Do not check the version value in order to avoid test failure when + # bumping package version + self.assertEqual(output[2][0:21], "Extension version => ") diff --git a/support/testing/tests/package/test_php_pecl_dbus.py b/support/testing/tests/package/test_php_pecl_dbus.py new file mode 100644 index 00000000000..65f34dfbb79 --- /dev/null +++ b/support/testing/tests/package/test_php_pecl_dbus.py @@ -0,0 +1,32 @@ +import os + +import infra.basetest + + +class TestPhpPeclDbus(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_PHP=y + BR2_PACKAGE_PHP_SAPI_CLI=y + BR2_PACKAGE_PHP_PECL_DBUS=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + self.assertRunOk("mkdir /etc/php.d") + self.assertRunOk("echo 'extension=dbus.so'> /etc/php.d/dbus.ini") + + output, exit_code = self.emulator.run("php --ri dbus | sed '/^$/d'") + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "dbus") + self.assertEqual(output[1], "Dbus support => enabled") + # Do not check the version value in order to avoid test failure when + # bumping package version + self.assertEqual(output[2][0:11], "Version => ") diff --git a/support/testing/tests/package/test_polkit.py b/support/testing/tests/package/test_polkit.py new file mode 100644 index 00000000000..502d38d13ed --- /dev/null +++ b/support/testing/tests/package/test_polkit.py @@ -0,0 +1,70 @@ +import os +import infra.basetest + + +class TestPolkitInfra(infra.basetest.BRTest): + br2_external = [infra.filepath("tests/package/br2-external/polkit")] + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_PACKAGE_POLKIT=y + BR2_PACKAGE_POLKIT_RULES_TEST=y + """ + + def base_test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + +class TestPolkitSystemd(TestPolkitInfra): + config = \ + """ + {} + BR2_INIT_SYSTEMD=y + BR2_PACKAGE_SYSTEMD_POLKIT=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + # BR2_TARGET_ROOTFS_TAR is not set + """.format(TestPolkitInfra.config) + + def test_run(self): + TestPolkitInfra.base_test_run(self) + + cmd = "su brtest -c '/bin/systemctl restart systemd-timesyncd.service'" + _, exit_code = self.emulator.run(cmd, 10) + self.assertEqual(exit_code, 1) + + cmd = "mv /root/systemd-timesyncd-restart.rules /etc/polkit-1/rules.d" + _, exit_code = self.emulator.run(cmd, 10) + self.assertEqual(exit_code, 0) + + cmd = "su brtest -c '/bin/systemctl restart systemd-timesyncd.service'" + _, exit_code = self.emulator.run(cmd, 10) + self.assertEqual(exit_code, 0) + + +class TestPolkitInitd(TestPolkitInfra): + config = TestPolkitInfra.config + + def test_run(self): + TestPolkitInfra.base_test_run(self) + + cmd = "su brtest -c 'pkexec hello-polkit'" + output, exit_code = self.emulator.run(cmd, 10) + self.assertEqual(exit_code, 127) + self.assertEqual(output[0], "Error executing command as another user: Not authorized") + + cmd = "mv /root/hello-polkit.rules /etc/polkit-1/rules.d/hello-polkit.rules" + _, exit_code = self.emulator.run(cmd, 10) + self.assertEqual(exit_code, 0) + + cmd = "su brtest -c 'pkexec hello-polkit'" + output, exit_code = self.emulator.run(cmd, 10) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "Hello polkit!") diff --git a/support/testing/tests/package/test_python.py b/support/testing/tests/package/test_python.py index bcd363ad1eb..f29aff6624a 100644 --- a/support/testing/tests/package/test_python.py +++ b/support/testing/tests/package/test_python.py @@ -20,21 +20,18 @@ def login(self): def version_test(self, version, timeout=-1): cmd = self.interpreter + " --version 2>&1 | grep '^{}'".format(version) - _, exit_code = self.emulator.run(cmd, timeout) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd, timeout) def math_floor_test(self, timeout=-1): cmd = self.interpreter + " -c 'import math; math.floor(12.3)'" - _, exit_code = self.emulator.run(cmd, timeout) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd, timeout) def libc_time_test(self, timeout=-1): cmd = self.interpreter + " -c 'from __future__ import print_function;" cmd += "import ctypes;" cmd += "libc = ctypes.cdll.LoadLibrary(\"libc.so.1\");" cmd += "print(libc.time(None))'" - _, exit_code = self.emulator.run(cmd, timeout) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd, timeout) def zlib_test(self, timeout=-1): cmd = self.interpreter + " -c 'import zlib'" @@ -42,20 +39,6 @@ def zlib_test(self, timeout=-1): self.assertEqual(exit_code, 1) -class TestPython2(TestPythonBase): - config = TestPythonBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - """ - - def test_run(self): - self.login() - self.version_test("Python 2") - self.math_floor_test() - self.libc_time_test() - self.zlib_test() - - class TestPython3(TestPythonBase): config = TestPythonBase.config + \ """ @@ -116,8 +99,7 @@ def run_sample_scripts(self): """Run each script previously added to the image.""" for script in self.sample_scripts: cmd = self.interpreter + " " + os.path.basename(script) - _, exit_code = self.emulator.run(cmd, timeout=self.timeout) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd, timeout=self.timeout) def test_run(self): self.login() diff --git a/support/testing/tests/package/test_python_aexpect.py b/support/testing/tests/package/test_python_aexpect.py new file mode 100644 index 00000000000..5b018399b3e --- /dev/null +++ b/support/testing/tests/package/test_python_aexpect.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Aexpect(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_AEXPECT=y + """ + sample_scripts = ["tests/package/sample_python_aexpect.py"] + timeout = 30 diff --git a/support/testing/tests/package/test_python_argh.py b/support/testing/tests/package/test_python_argh.py index de4b4cbe74f..887d9acd469 100644 --- a/support/testing/tests/package/test_python_argh.py +++ b/support/testing/tests/package/test_python_argh.py @@ -27,15 +27,6 @@ def run_sample_scripts(self): self.assertEqual(exit_code, 2) -class TestPythonPy2Argh(TestPythonArgh): - __test__ = True - config = TestPythonArgh.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_ARGH=y - """ - - class TestPythonPy3Argh(TestPythonArgh): __test__ = True config = TestPythonArgh.config + \ diff --git a/support/testing/tests/package/test_python_attrs.py b/support/testing/tests/package/test_python_attrs.py index 9f597034ae5..38831b24ef1 100644 --- a/support/testing/tests/package/test_python_attrs.py +++ b/support/testing/tests/package/test_python_attrs.py @@ -1,16 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Attrs(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_ATTRS=y - """ - sample_scripts = ["tests/package/sample_python_attrs.py"] - - class TestPythonPy3Attrs(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_python_augeas.py b/support/testing/tests/package/test_python_augeas.py new file mode 100644 index 00000000000..c1424668d6c --- /dev/null +++ b/support/testing/tests/package/test_python_augeas.py @@ -0,0 +1,13 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonAugeas(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_AUGEAS=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_AUGEAS=y + """ + sample_scripts = ["tests/package/sample_python_augeas.py"] + timeout = 60 diff --git a/support/testing/tests/package/test_python_autobahn.py b/support/testing/tests/package/test_python_autobahn.py index a237ce465d0..6c1678a6152 100644 --- a/support/testing/tests/package/test_python_autobahn.py +++ b/support/testing/tests/package/test_python_autobahn.py @@ -3,9 +3,17 @@ class TestPythonPy3Autobahn(TestPythonPackageBase): __test__ = True - config = TestPythonPackageBase.config + \ + # Need to use a different toolchain than the default due to + # python-cryptography using Rust (not available with uclibc) + config = \ """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_AUTOBAHN=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set """ sample_scripts = ["tests/package/sample_python_autobahn.py"] diff --git a/support/testing/tests/package/test_python_automat.py b/support/testing/tests/package/test_python_automat.py index 00a7ed65265..6ee4ea76188 100644 --- a/support/testing/tests/package/test_python_automat.py +++ b/support/testing/tests/package/test_python_automat.py @@ -1,17 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Automat(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_AUTOMAT=y - """ - sample_scripts = ["tests/package/sample_python_automat.py"] - timeout = 30 - - class TestPythonPy3Automat(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_python_bitstring.py b/support/testing/tests/package/test_python_bitstring.py index 63b3fdb69c8..bd358a2fc58 100644 --- a/support/testing/tests/package/test_python_bitstring.py +++ b/support/testing/tests/package/test_python_bitstring.py @@ -1,16 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Bitstring(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_BITSTRING=y - """ - sample_scripts = ["tests/package/sample_python_bitstring.py"] - - class TestPythonPy3Bitstring(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_python_boto3.py b/support/testing/tests/package/test_python_boto3.py new file mode 100644 index 00000000000..756495fec95 --- /dev/null +++ b/support/testing/tests/package/test_python_boto3.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Boto3(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_BOTO3=y + """ + sample_scripts = ["tests/package/sample_python_boto3.py"] + timeout = 10 diff --git a/support/testing/tests/package/test_python_botocore.py b/support/testing/tests/package/test_python_botocore.py new file mode 100644 index 00000000000..6336c5658f9 --- /dev/null +++ b/support/testing/tests/package/test_python_botocore.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Botocore(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_BOTOCORE=y + """ + sample_scripts = ["tests/package/sample_python_botocore.py"] + timeout = 10 diff --git a/support/testing/tests/package/test_python_can.py b/support/testing/tests/package/test_python_can.py index d509d05dbb1..dba5539c5dc 100644 --- a/support/testing/tests/package/test_python_can.py +++ b/support/testing/tests/package/test_python_can.py @@ -1,17 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Can(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_CAN=y - """ - sample_scripts = ["tests/package/sample_python_can.py"] - timeout = 40 - - class TestPythonPy3Can(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_python_cbor.py b/support/testing/tests/package/test_python_cbor.py index 9da35037638..23a1e3e701c 100644 --- a/support/testing/tests/package/test_python_cbor.py +++ b/support/testing/tests/package/test_python_cbor.py @@ -1,17 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Cbor(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_CBOR=y - """ - sample_scripts = ["tests/package/sample_python_cbor_enc.py", - "tests/package/sample_python_cbor_dec.py"] - - class TestPythonPy3Cbor(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_python_click.py b/support/testing/tests/package/test_python_click.py index db57d3aa9fd..0ee9702ccef 100644 --- a/support/testing/tests/package/test_python_click.py +++ b/support/testing/tests/package/test_python_click.py @@ -26,15 +26,6 @@ def run_sample_scripts(self): self.assertEqual(exit_code, 2) -class TestPythonPy2Click(TestPythonClick): - __test__ = True - config = TestPythonClick.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_CLICK=y - """ - - class TestPythonPy3Click(TestPythonClick): __test__ = True config = TestPythonClick.config + \ diff --git a/support/testing/tests/package/test_python_colorzero.py b/support/testing/tests/package/test_python_colorzero.py index b7c228ac3cb..d67f77bdd4b 100644 --- a/support/testing/tests/package/test_python_colorzero.py +++ b/support/testing/tests/package/test_python_colorzero.py @@ -1,17 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Colorzero(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_COLORZERO=y - """ - sample_scripts = ["tests/package/sample_python_colorzero.py"] - timeout = 30 - - class TestPythonPy3Colorzero(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_python_constantly.py b/support/testing/tests/package/test_python_constantly.py index 5be01c4f8cc..edcb9bfd69c 100644 --- a/support/testing/tests/package/test_python_constantly.py +++ b/support/testing/tests/package/test_python_constantly.py @@ -1,16 +1,6 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Constantly(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_CONSTANTLY=y - """ - sample_scripts = ["tests/package/sample_python_constantly.py"] - - class TestPythonPy3Constantly(TestPythonPackageBase): __test__ = True config = TestPythonPackageBase.config + \ diff --git a/support/testing/tests/package/test_python_crossbar.py b/support/testing/tests/package/test_python_crossbar.py index d7843ddd8be..83649aeec2a 100644 --- a/support/testing/tests/package/test_python_crossbar.py +++ b/support/testing/tests/package/test_python_crossbar.py @@ -3,10 +3,18 @@ class TestPythonPy3Crossbar(TestPythonPackageBase): __test__ = True - config = TestPythonPackageBase.config + \ + # Need to use a different toolchain than the default due to + # python-cryptography using Rust (not available with uclibc) + config = \ """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_CROSSBAR=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set """ sample_scripts = ["tests/package/sample_python_crossbar.py"] timeout = 60 diff --git a/support/testing/tests/package/test_python_cryptography.py b/support/testing/tests/package/test_python_cryptography.py index 14515fcd2d4..bf11c02e5c0 100644 --- a/support/testing/tests/package/test_python_cryptography.py +++ b/support/testing/tests/package/test_python_cryptography.py @@ -1,23 +1,20 @@ from tests.package.test_python import TestPythonPackageBase -class TestPythonPy2Cryptography(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y - """ - sample_scripts = ["tests/package/sample_python_cryptography.py"] - timeout = 40 - - class TestPythonPy3Cryptography(TestPythonPackageBase): __test__ = True - config = TestPythonPackageBase.config + \ + # Need to use a different toolchain than the default due to + # python-cryptography using Rust (not available with uclibc) + config = \ """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set """ sample_scripts = ["tests/package/sample_python_cryptography.py"] timeout = 40 diff --git a/support/testing/tests/package/test_python_dbus_next.py b/support/testing/tests/package/test_python_dbus_next.py new file mode 100644 index 00000000000..3c597ad1984 --- /dev/null +++ b/support/testing/tests/package/test_python_dbus_next.py @@ -0,0 +1,40 @@ +import textwrap + + +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3DBusNext(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_DBUS=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_DBUS_NEXT=y + """ + sample_scripts = ["tests/package/sample_python_dbus_next.py"] + + def run_sample_scripts(self): + config = \ + """ + + + + + + + + """ + config = textwrap.dedent(config) + config_dir = "/etc/dbus-1/system.d" + config_fn = "dbus.next.sample.conf" + + # Setup and reload D-Bus configuration + self.emulator.run("mkdir -p " + config_dir) + self.emulator.run("cat > " + config_dir + "/" + config_fn + + " < source/testsv/run < source/testsv1/type") + self.assertRunOk("echo oneshot > source/testsv2/type") + self.assertRunOk("echo 'echo foo' > source/testsv1/up") + self.assertRunOk("echo 'echo bar' > source/testsv2/up") + self.assertRunOk("echo testsv1 > source/testsv2/dependencies") + self.assertRunOk("chmod +x source/testsv1/up") + self.assertRunOk("chmod +x source/testsv2/up") + + # Compile the service database + self.assertRunOk("s6-rc-compile compiled source") + + # Inspect dependencies + cmd = "s6-rc-db -c compiled -d dependencies testsv1" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "testsv2") + cmd = "s6-rc-db -c compiled dependencies testsv2" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "testsv1") diff --git a/support/testing/tests/package/test_sudo.py b/support/testing/tests/package/test_sudo.py new file mode 100644 index 00000000000..daba28a1ea4 --- /dev/null +++ b/support/testing/tests/package/test_sudo.py @@ -0,0 +1,34 @@ +import os + +import infra.basetest + + +class TestSudo(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_SUDO=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + # -D don't set a password + # -h set home directory + # -H don't create home directory + # -s set shell + self.assertRunOk("adduser -D -h /tmp -H -s /bin/sh sudotest") + + self.assertRunOk("echo 'sudotest ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers") + + output, exit_code = self.emulator.run("su - sudotest -c 'echo hello world'") + self.assertEqual(output, ["hello world"]) + + output, exit_code = self.emulator.run("su - sudotest -c 'sudo echo hello world'") + self.assertEqual(exit_code, 0) + self.assertEqual(output, ["hello world"]) diff --git a/support/testing/tests/package/test_syslog_ng.py b/support/testing/tests/package/test_syslog_ng.py index 3fb0be5fb88..153c9f73e50 100644 --- a/support/testing/tests/package/test_syslog_ng.py +++ b/support/testing/tests/package/test_syslog_ng.py @@ -20,19 +20,17 @@ def test_run(self): self.emulator.login() cmd = "grep 'syslog-ng starting' /var/log/messages" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) cmd = "logger my-message && " cmd += "sleep 1 && " cmd += "grep my-message /var/log/messages" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) cmd = "syslog-ng-ctl reload && " cmd += "sleep 1" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) + cmd = "grep -i 'syslog-ng.*warning' /var/log/messages" _, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 1) diff --git a/support/testing/tests/package/test_tmux.py b/support/testing/tests/package/test_tmux.py index b31854cab34..7a10b7a2b04 100644 --- a/support/testing/tests/package/test_tmux.py +++ b/support/testing/tests/package/test_tmux.py @@ -19,20 +19,16 @@ def test_run(self): self.emulator.login() cmd = "tmux -V" - _, exit_code = self.emulator.run(cmd) - self.assertEqual(exit_code, 0) + self.assertRunOk(cmd) cmd = "tmux -C /tmp/urandom.sha256", + # Check ZFS + "zpool export pool", + "zpool import pool -d /tmp/container1.raw -d /tmp/container2.raw", + "dd conv=notrunc bs=1M count=32 seek=16 if=/dev/urandom of=/tmp/container1.raw", + "zpool scrub -w pool", + "sha256sum -c /tmp/urandom.sha256", + "zpool status -v", + # Check PyZFS + "arc_summary", + ] + for cmd in cmds: + self.assertRunOk(cmd) + + +class TestZfsUclibc(infra.basetest.BRTest): + config = \ + """ + BR2_x86_64=y + BR2_x86_corei7=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE=y + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.13" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" + BR2_PACKAGE_ZFS=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CFFI=y + BR2_PACKAGE_PYTHON_SETUPTOOLS=y + BR2_PACKAGE_ZLIB_NG=y + BR2_PACKAGE_LIBRESSL=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + kernel = os.path.join(self.builddir, "images", "bzImage") + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot( + arch="x86_64", + kernel=kernel, + kernel_cmdline=["console=ttyS0"], + options=["-cpu", "Nehalem", "-m", "320", "-initrd", cpio_file], + ) + self.emulator.login() + + cmds = [ + # Init + "modprobe zfs", + "mount -o remount,size=132M /tmp", + "fallocate -l 64M /tmp/container1.raw", + "fallocate -l 64M /tmp/container2.raw", + "zpool create -m /pool pool raidz /tmp/container1.raw /tmp/container2.raw", + "dd if=/dev/urandom bs=1M count=8 of=/pool/urandom", + "sha256sum /pool/urandom > /tmp/urandom.sha256", + # Check ZFS + "zpool export pool", + "zpool import pool -d /tmp/container1.raw -d /tmp/container2.raw", + "dd conv=notrunc bs=1M count=32 seek=16 if=/dev/urandom of=/tmp/container1.raw", + "zpool scrub -w pool", + "sha256sum -c /tmp/urandom.sha256", + "zpool status -v", + # Check PyZFS + "arc_summary", + ] + for cmd in cmds: + self.assertRunOk(cmd) diff --git a/support/testing/tests/toolchain/test_external.py b/support/testing/tests/toolchain/test_external.py index db62a84391c..d22f38cedcd 100644 --- a/support/testing/tests/toolchain/test_external.py +++ b/support/testing/tests/toolchain/test_external.py @@ -27,7 +27,7 @@ def common_check(self): self.assertFalse(has_broken_links(path)) with open(os.path.join(self.builddir, ".config"), 'r') as configf: - configlines = [l.strip() for l in configf.readlines()] + configlines = [line.strip() for line in configf.readlines()] if "BR2_BINFMT_ELF=y" in configlines: interp = infra.get_elf_prog_interpreter(self.builddir, diff --git a/support/testing/tests/toolchain/test_external_bootlin.py b/support/testing/tests/toolchain/test_external_bootlin.py index af60c21f7db..cf6174303e9 100644 --- a/support/testing/tests/toolchain/test_external_bootlin.py +++ b/support/testing/tests/toolchain/test_external_bootlin.py @@ -2050,15 +2050,15 @@ def test_run(self): TestExternalToolchain.common_check(self) -class TestExternalToolchainBootlinRiscv64GlibcBleedingEdge(TestExternalToolchain): +class TestExternalToolchainBootlinRiscv64lp64dGlibcBleedingEdge(TestExternalToolchain): config = """ BR2_riscv=y BR2_riscv_g=y BR2_RISCV_64=y - BR2_RISCV_ABI_LP64=y + BR2_RISCV_ABI_LP64D=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE=y # BR2_TARGET_ROOTFS_TAR is not set """ toolchain_prefix = "riscv64-linux" @@ -2067,15 +2067,83 @@ def test_run(self): TestExternalToolchain.common_check(self) -class TestExternalToolchainBootlinRiscv64MuslBleedingEdge(TestExternalToolchain): +class TestExternalToolchainBootlinRiscv64lp64dGlibcStable(TestExternalToolchain): config = """ BR2_riscv=y BR2_riscv_g=y BR2_RISCV_64=y - BR2_RISCV_ABI_LP64=y + BR2_RISCV_ABI_LP64D=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "riscv64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinRiscv64lp64dMuslBleedingEdge(TestExternalToolchain): + config = """ + BR2_riscv=y + BR2_riscv_g=y + BR2_RISCV_64=y + BR2_RISCV_ABI_LP64D=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "riscv64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinRiscv64lp64dMuslStable(TestExternalToolchain): + config = """ + BR2_riscv=y + BR2_riscv_g=y + BR2_RISCV_64=y + BR2_RISCV_ABI_LP64D=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "riscv64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinRiscv64lp64dUclibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_riscv=y + BR2_riscv_g=y + BR2_RISCV_64=y + BR2_RISCV_ABI_LP64D=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "riscv64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinRiscv64lp64dUclibcStable(TestExternalToolchain): + config = """ + BR2_riscv=y + BR2_riscv_g=y + BR2_RISCV_64=y + BR2_RISCV_ABI_LP64D=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE=y # BR2_TARGET_ROOTFS_TAR is not set """ toolchain_prefix = "riscv64-linux" @@ -2294,6 +2362,231 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664GlibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664GlibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664MuslBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664MuslStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664UclibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664UclibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v2GlibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v2=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v2MuslBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v2=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v2UclibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v2=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v3GlibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v3=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v3MuslBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v3=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v3UclibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v3=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v4GlibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v4=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v4MuslBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v4=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinX8664v4UclibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v4=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664corei7GlibcBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y diff --git a/system/Config.in b/system/Config.in index b3abeddd689..a4ffbfa18c8 100644 --- a/system/Config.in +++ b/system/Config.in @@ -125,7 +125,7 @@ config BR2_INIT_SYSTEMD depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_TOOLCHAIN_HAS_SSP depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_HOST_GCC_AT_LEAST_5 select BR2_ROOTFS_MERGED_USR @@ -533,6 +533,16 @@ config BR2_ROOTFS_OVERLAY They are copied as-is into the rootfs, excluding files ending with ~ and .git, .svn and .hg directories. +config BR2_ROOTFS_PRE_BUILD_SCRIPT + string "Custom scripts to run before commencing the build" + default "" + help + Specify a space-separated list of scripts to be run before the + build commences. + + This gives users the opportunity to do board-specific + preparations before starting the build. + config BR2_ROOTFS_POST_BUILD_SCRIPT string "Custom scripts to run before creating filesystem images" default "" diff --git a/system/skeleton/run/lock/.empty b/system/skeleton/run/lock/.empty new file mode 100644 index 00000000000..e69de29bb2d diff --git a/toolchain/Config.in b/toolchain/Config.in index fdc0f9ba597..0e9b2503c19 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -71,15 +71,11 @@ source "package/gdb/Config.in.host" comment "Toolchain Generic Options" -# https://sourceware.org/bugzilla/show_bug.cgi?id=19615 -# Affect toolchains built with binutils 2.26 (fixed in binutils 2.26.1). -config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 - bool - -# https://sourceware.org/bugzilla/show_bug.cgi?id=20006 -# Affect toolchains built with binutils 2.26 (fixed in binutils 2.26.1). -config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 +# https://sourceware.org/bugzilla/show_bug.cgi?id=27597 +# Affect toolchains built with binutils 2.36.1, still not fixed. +config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 bool + default y if BR2_nios2 # Atomic types can be: # - never lock-free @@ -113,6 +109,16 @@ config BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK depends on !BR2_or1k depends on !BR2_xtensa +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43744. This bug no +# reappeared on gcc 9.x and is still not fixed on gcc 11.x +config BR2_TOOLCHAIN_HAS_GCC_BUG_43744 + bool + default y if BR2_sh4 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \ + BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ + BR2_TOOLCHAIN_GCC_AT_LEAST_11 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63261. This bug no # longer exists in gcc 8.x. config BR2_TOOLCHAIN_HAS_GCC_BUG_63261 @@ -137,6 +143,15 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_68485 bool default y if BR2_microblaze +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83143 +# Error: invalid operands (*UND* and .text sections) for `-' on sh4. +# This bug no longer exists in gcc 10.x but reappeared on gcc 11.x and +# it still not been fixed yet. +config BR2_TOOLCHAIN_HAS_GCC_BUG_83143 + bool + default y if BR2_sh + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || BR2_TOOLCHAIN_GCC_AT_LEAST_11 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. This bug no # longer exists in gcc 8.x. config BR2_TOOLCHAIN_HAS_GCC_BUG_85180 @@ -154,10 +169,11 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_85862 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90620 # ICE: in do_output_reload, at reload1.c:7978 on microblaze. -# It's still not fixed in gcc 9.x +# This bug no longer exists in gcc 10.x config BR2_TOOLCHAIN_HAS_GCC_BUG_90620 bool default y if BR2_microblaze + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93847 # ICE: compiler error: Segmentation fault on Nios II. This bug @@ -168,10 +184,41 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_93847 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99410 # Error: branch offset out of range on Nios II. This bug -# no longer exists in gcc >= 8.x. +# no longer exists in gcc 8.x but reappeared on gcc 9.x and has been +# fixed on gcc 11.x. config BR2_TOOLCHAIN_HAS_GCC_BUG_99140 bool - default y if BR2_nios2 && !BR2_TOOLCHAIN_GCC_AT_LEAST_8 + default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8 + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_9 && !BR2_TOOLCHAIN_GCC_AT_LEAST_11 + depends on BR2_nios2 + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101737 +# ICE: SH4 -Os causes internal compiler error. This bug +# still exists in gcc = 11.1.0 +config BR2_TOOLCHAIN_HAS_GCC_BUG_101737 + bool + default y if BR2_sh + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101915 +# ICE: in extract_insn, at recog.c:2294 on microblaze. +# This bug still exists in gcc = 11.1.0 +config BR2_TOOLCHAIN_HAS_GCC_BUG_101915 + bool + default y if BR2_microblaze + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101916 +# ICE: on SH4: Segmentation fault signal terminated program cc1. +# This bug still exists in gcc = 11.1.0 +config BR2_TOOLCHAIN_HAS_GCC_BUG_101916 + bool + default y if BR2_sh4 + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101952 +# ICE: on SH4: unaligned opcodes detected in executable segment. +# This bug still exists in gcc = 11.1.0 +config BR2_TOOLCHAIN_HAS_GCC_BUG_101952 + bool + default y if BR2_sh4 config BR2_TOOLCHAIN_HAS_NATIVE_RPC bool @@ -499,6 +546,30 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 select BR2_TOOLCHAIN_HEADERS_LATEST # This should be selected by the latest version, above, to indicate that @@ -512,6 +583,12 @@ config BR2_TOOLCHAIN_HEADERS_LATEST # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "5.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16 + default "5.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 + default "5.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 + default "5.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13 + default "5.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12 + default "5.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11 default "5.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 default "5.9" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9 default "5.8" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8 @@ -617,10 +694,15 @@ config BR2_TOOLCHAIN_GCC_AT_LEAST_10 bool select BR2_TOOLCHAIN_GCC_AT_LEAST_9 +config BR2_TOOLCHAIN_GCC_AT_LEAST_11 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_GCC_AT_LEAST string + default "11" if BR2_TOOLCHAIN_GCC_AT_LEAST_11 default "10" if BR2_TOOLCHAIN_GCC_AT_LEAST_10 default "9" if BR2_TOOLCHAIN_GCC_AT_LEAST_9 default "8" if BR2_TOOLCHAIN_GCC_AT_LEAST_8 diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index 17bc159f3ed..ef8e9a5f647 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -135,10 +135,8 @@ copy_toolchain_sysroot = \ $(call simplify_symlink,$$i,$(STAGING_DIR)) ; \ done ; \ fi ; \ - if [ ! -e $(STAGING_DIR)/lib/ld*.so.* ]; then \ - if [ -e $${ARCH_SYSROOT_DIR}/lib/ld*.so.* ]; then \ - cp -a $${ARCH_SYSROOT_DIR}/lib/ld*.so.* $(STAGING_DIR)/lib/ ; \ - fi ; \ + if [[ ! $$(find $(STAGING_DIR)/lib -name 'ld*.so.*' -print -quit) ]]; then \ + find $${ARCH_SYSROOT_DIR}/lib -name 'ld*.so.*' -print0 | xargs -0 -I % cp % $(STAGING_DIR)/lib/; \ fi ; \ if [ `readlink -f $${SYSROOT_DIR}` != `readlink -f $${ARCH_SYSROOT_DIR}` ] ; then \ if [ ! -d $${ARCH_SYSROOT_DIR}/usr/include ] ; then \ @@ -483,7 +481,8 @@ check_toolchain_ssp = \ # gen_gdbinit_file = \ mkdir -p $(STAGING_DIR)/usr/share/buildroot/ ; \ - echo "set sysroot $(STAGING_DIR)" > $(STAGING_DIR)/usr/share/buildroot/gdbinit + echo "add-auto-load-safe-path $(STAGING_DIR)" > $(STAGING_DIR)/usr/share/buildroot/gdbinit ; \ + echo "set sysroot $(STAGING_DIR)" >> $(STAGING_DIR)/usr/share/buildroot/gdbinit # Given a path, determine the relative prefix (../) needed to return to the # root level. Note that the last component is treated as a file component; use a diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 4004c0edf85..280075b1a9d 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -31,7 +31,7 @@ config BR2_TOOLCHAIN_BUILDROOT_UCLIBC BR2_arm || BR2_armeb || \ BR2_i386 || BR2_m68k || BR2_microblaze || \ BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_or1k || BR2_powerpc || BR2_RISCV_64 || BR2_sh2a || \ + BR2_or1k || BR2_powerpc || BR2_RISCV_64 || \ BR2_sh4 || BR2_sh4eb || BR2_sparc || BR2_xtensa || \ BR2_x86_64 select BR2_TOOLCHAIN_USES_UCLIBC @@ -46,7 +46,7 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC depends on BR2_arm || BR2_armeb || BR2_aarch64 || \ BR2_aarch64_be || BR2_i386 || BR2_mips || \ BR2_mipsel || BR2_mips64 || BR2_mips64el|| \ - BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ + BR2_powerpc || BR2_powerpc64 || BR2_powerpc_power8 || \ BR2_riscv || BR2_s390x || BR2_sh || \ BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \ BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || BR2_csky diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 6d91cb5d1ed..299b6008aa1 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -68,7 +68,7 @@ TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR = $(HOST_DIR)/opt/ext-toolchain ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) else -TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) +TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(abspath $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH))) endif ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) @@ -485,6 +485,26 @@ define TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT fi endef +# GCC installs a libstdcxx-...so-gdb.py file that gdb will load automatically, +# but it contains hardcoded paths referring to the location where the (external) +# toolchain was built. Fix up these paths so that the pretty printers can be +# loaded automatically. +# By default, the pretty printers are installed in +# $(datadir)/gcc-$(gcc_version)/python but this could have been overwritten with +# the gcc configure option: --with-python-dir. We thus have to search the +# correct path first. +define TOOLCHAIN_EXTERNAL_FIXUP_PRETTY_PRINTER_LOADER + $(Q)loadfiles=$$(find $(STAGING_DIR) -name 'libstdc++.so*-gdb.py' 2>/dev/null); \ + pythondir=$$(find $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) -path '*/libstdcxx/__init__.py' 2>/dev/null | sed 's%/libstdcxx/__init__.py%%' | head -n1); \ + if [ -n "$$loadfiles" ] && [ -n "$$pythondir" ]; then \ + echo "Fixing up hardcoded paths in GDB pretty-printer auto-load file(s) for libstdcxx: $$loadfiles"; \ + sed -ri \ + -e 's%^libdir\s*=.*%libdir = "$(STAGING_DIR)/lib"%' \ + -e "s%^pythondir\s*=.*%pythondir = '$$pythondir'%" \ + $$loadfiles; \ + fi +endef + # uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not # patched specifically for uClibc-ng, so it continues to generate # binaries that expect the dynamic loader to be named ld-uClibc.so.0, @@ -589,6 +609,7 @@ define $(2)_INSTALL_STAGING_CMDS $$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS) $$(TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER) $$(TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT) + $$(TOOLCHAIN_EXTERNAL_FIXUP_PRETTY_PRINTER_LOADER) endef # Even though we're installing things in both the staging, the host diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in index bbd6a0703df..783ed353145 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in @@ -1,12 +1,11 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE - bool "Arm AArch64 BE 2020.11" + bool "Arm AArch64 BE 2021.07" depends on BR2_aarch64_be depends on BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HAS_FORTRAN diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash index 8e67a965997..1079917c98a 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash @@ -1,4 +1,4 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-aarch64_be-none-linux-gnu.tar.xz.asc -md5 5da75bca337de5adade5b339709f8b16 gcc-arm-10.2-2020.11-x86_64-aarch64_be-none-linux-gnu.tar.xz +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64_be-none-linux-gnu.tar.xz.asc +md5 54cbaef7db7eb3de27732500f9da9c6f gcc-arm-10.3-2021.07-x86_64-aarch64_be-none-linux-gnu.tar.xz # locally calculated -sha256 78a472aeb80f6ff56bfdef57ce165b233bac4af7aa2e12f454900518a30ddf20 gcc-arm-10.2-2020.11-x86_64-aarch64_be-none-linux-gnu.tar.xz +sha256 63c34cac07ceadd74620ea87f27af1aa6a6f55c20a5bc116af21a59ddb6b6a6a gcc-arm-10.3-2021.07-x86_64-aarch64_be-none-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk index 384fc2efc5d..5a6dbc60d5b 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION = 2020.11 -TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)/binrel +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION = 2021.07 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)/binrel -TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SOURCE = gcc-arm-10.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)-x86_64-aarch64_be-none-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SOURCE = gcc-arm-10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)-x86_64-aarch64_be-none-linux-gnu.tar.xz $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index b6062846a47..4557debe5da 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,12 +1,11 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 - bool "Arm AArch64 2020.11" + bool "Arm AArch64 2021.07" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HAS_FORTRAN diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash index 90abe56d647..ca1ea48bcb6 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -1,4 +1,4 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz.asc -md5 d6e6676d31c51405ae0fc7687ef0a224 gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz.asc +md5 07bbe2b5277b75ba36a924e9136366a4 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz # locally calculated -sha256 fe7f72330216612de44891ebe5e228eed7c0c051ac090c395b2b33115c6f5408 gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz +sha256 1e33d53dea59c8de823bbdfe0798280bdcd138636c7060da9d77a97ded095a84 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk index 583e4a763d0..356e0810b3f 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2020.11 -TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)/binrel +TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2021.07 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)/binrel -TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = gcc-arm-10.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-none-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = gcc-arm-10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-none-linux-gnu.tar.xz $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in index e3bac38baa4..0fbeba6aae4 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -4,7 +4,7 @@ comment "Arm toolchains available for Cortex-A with NEON + EABIhf" depends on !BR2_STATIC_LIBS config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM - bool "Arm ARM 2020.11" + bool "Arm ARM 2021.07" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_ARM_CPU_HAS_NEON @@ -13,15 +13,14 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_OPENMP help - Arm toolchain for the ARM architecture. It uses GCC 10.2, - GDB 10.1, glibc 2.31, Binutils 2.35.1. It generates code + Arm toolchain for the ARM architecture. It uses GCC 10.3, + GDB 10.2, glibc 2.33, Binutils 2.36.1. It generates code that runs on all Cortex-A profile devices. The code generated uses the hard floating point calling convention, and uses the NEON FPU instructions. diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash index a46ed4e40c7..d58692de536 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash @@ -1,4 +1,4 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf.tar.xz.asc -md5 14f706db78cfb43aafed9056174572b0 gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf.tar.xz +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz.asc +md5 87ec580b290df2febc7c476f59484635 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz # locally calculated -sha256 102825ae56c9e00142d06f35d2bdd3299edb6060e84a275a25b095e66fd3fc2a gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf.tar.xz +sha256 aa074fa8371a4f73fecbd16bd62c8b1945f23289e26414794f130d6ccdf8e39c gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk index 88b6ae34038..43922051057 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 2020.11 -TOOLCHAIN_EXTERNAL_ARM_ARM_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)/binrel +TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 2021.07 +TOOLCHAIN_EXTERNAL_ARM_ARM_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)/binrel -TOOLCHAIN_EXTERNAL_ARM_ARM_SOURCE = gcc-arm-10.2-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-x86_64-arm-none-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_ARM_ARM_SOURCE = gcc-arm-10.3-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-x86_64-arm-none-linux-gnueabihf.tar.xz $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options index 61ead9b82ec..4b4404620c2 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options @@ -32,11 +32,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS default y if BR2_powerpc64 && BR2_powerpc_power8 default y if BR2_powerpc64le && BR2_powerpc_power8 default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_32 && BR2_RISCV_ABI_ILP32D - default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_64 && BR2_RISCV_ABI_LP64 + default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_64 && BR2_RISCV_ABI_LP64D default y if BR2_sh && BR2_sh4 default y if BR2_sh && BR2_sh4aeb default y if BR2_sparc64 && BR2_sparc_v9 default y if BR2_sparc && BR2_sparc_v8 + default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 + default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42 + default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42 && BR2_X86_CPU_HAS_AVX && BR2_X86_CPU_HAS_AVX2 + default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42 && BR2_X86_CPU_HAS_AVX && BR2_X86_CPU_HAS_AVX2 && BR2_X86_CPU_HAS_AVX512 default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42 default y if BR2_i386 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 default y if BR2_i386 && !BR2_x86_i486 && !BR2_x86_i586 && !BR2_x86_x1000 @@ -53,11 +57,11 @@ config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL choice prompt "Bootlin toolchain variant" config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE - bool "aarch64 glibc bleeding-edge 2020.08-1" + bool "aarch64 glibc bleeding-edge 2021.11-1" depends on BR2_aarch64 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -68,7 +72,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the aarch64 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -78,11 +81,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE - bool "aarch64 glibc stable 2020.08-1" + bool "aarch64 glibc stable 2021.11-1" depends on BR2_aarch64 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -93,7 +96,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the aarch64 architecture, using the glibc C library. This is a stable version, which means it @@ -103,10 +105,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE - bool "aarch64 musl bleeding-edge 2020.08-1" + bool "aarch64 musl bleeding-edge 2021.11-1" depends on BR2_aarch64 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -126,10 +128,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE - bool "aarch64 musl stable 2020.08-1" + bool "aarch64 musl stable 2021.11-1" depends on BR2_aarch64 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -148,9 +150,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE - bool "aarch64 uclibc bleeding-edge 2020.08-1" + bool "aarch64 uclibc bleeding-edge 2021.11-1" depends on BR2_aarch64 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -171,9 +173,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE - bool "aarch64 uclibc stable 2020.08-1" + bool "aarch64 uclibc stable 2021.11-1" depends on BR2_aarch64 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -194,11 +196,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE - bool "aarch64be glibc bleeding-edge 2020.08-1" + bool "aarch64be glibc bleeding-edge 2021.11-1" depends on BR2_aarch64_be depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -209,7 +211,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the aarch64be architecture, using the glibc C library. This is a bleeding-edge version, which @@ -219,11 +220,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE - bool "aarch64be glibc stable 2020.08-1" + bool "aarch64be glibc stable 2021.11-1" depends on BR2_aarch64_be depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -234,7 +235,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the aarch64be architecture, using the glibc C library. This is a stable version, which means it @@ -244,9 +244,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE - bool "aarch64be uclibc bleeding-edge 2020.08-1" + bool "aarch64be uclibc bleeding-edge 2021.11-1" depends on BR2_aarch64_be - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -267,9 +267,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE - bool "aarch64be uclibc stable 2020.08-1" + bool "aarch64be uclibc stable 2021.11-1" depends on BR2_aarch64_be - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -290,10 +290,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE - bool "arcle-750d uclibc bleeding-edge 2020.08-1" + bool "arcle-750d uclibc bleeding-edge 2021.11-1" depends on BR2_arcle depends on BR2_arc750d - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -314,10 +314,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE - bool "arcle-750d uclibc stable 2020.08-1" + bool "arcle-750d uclibc stable 2021.11-1" depends on BR2_arcle depends on BR2_arc750d - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -338,12 +338,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE - bool "arcle-hs38 glibc bleeding-edge 2020.08-1" + bool "arcle-hs38 glibc bleeding-edge 2021.11-1" depends on BR2_arcle depends on BR2_archs38 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -354,7 +354,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the arcle-hs38 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -364,13 +363,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE - bool "arcle-hs38 glibc stable 2020.08-1" + bool "arcle-hs38 glibc stable 2021.11-3" depends on BR2_arcle depends on BR2_archs38 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_SSP @@ -380,7 +379,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the arcle-hs38 architecture, using the glibc C library. This is a stable version, which means @@ -390,10 +388,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE - bool "arcle-hs38 uclibc bleeding-edge 2020.08-1" + bool "arcle-hs38 uclibc bleeding-edge 2021.11-1" depends on BR2_arcle depends on BR2_archs38 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -414,10 +412,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE - bool "arcle-hs38 uclibc stable 2020.08-1" + bool "arcle-hs38 uclibc stable 2021.11-1" depends on BR2_arcle depends on BR2_archs38 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -438,12 +436,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE - bool "armv5-eabi glibc bleeding-edge 2020.08-1" + bool "armv5-eabi glibc bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -454,7 +452,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the armv5-eabi architecture, using the glibc C library. This is a bleeding-edge version, which @@ -464,12 +461,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE - bool "armv5-eabi glibc stable 2020.08-1" + bool "armv5-eabi glibc stable 2021.11-1" depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -480,7 +477,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the armv5-eabi architecture, using the glibc C library. This is a stable version, which means @@ -490,11 +486,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE - bool "armv5-eabi musl bleeding-edge 2020.08-1" + bool "armv5-eabi musl bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -514,11 +510,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE - bool "armv5-eabi musl stable 2020.08-1" + bool "armv5-eabi musl stable 2021.11-1" depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -538,10 +534,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE - bool "armv5-eabi uclibc bleeding-edge 2020.08-1" + bool "armv5-eabi uclibc bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -562,10 +558,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE - bool "armv5-eabi uclibc stable 2020.08-1" + bool "armv5-eabi uclibc stable 2021.11-1" depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -586,12 +582,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE - bool "armv6-eabihf glibc bleeding-edge 2020.08-1" + bool "armv6-eabihf glibc bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -602,7 +598,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the armv6-eabihf architecture, using the glibc C library. This is a bleeding-edge version, which @@ -612,12 +607,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE - bool "armv6-eabihf glibc stable 2020.08-1" + bool "armv6-eabihf glibc stable 2021.11-1" depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -628,7 +623,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the armv6-eabihf architecture, using the glibc C library. This is a stable version, which means @@ -638,11 +632,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE - bool "armv6-eabihf musl bleeding-edge 2020.08-1" + bool "armv6-eabihf musl bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -662,11 +656,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE - bool "armv6-eabihf musl stable 2020.08-1" + bool "armv6-eabihf musl stable 2021.11-1" depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -686,10 +680,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE - bool "armv6-eabihf uclibc bleeding-edge 2020.08-1" + bool "armv6-eabihf uclibc bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -710,10 +704,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE - bool "armv6-eabihf uclibc stable 2020.08-1" + bool "armv6-eabihf uclibc stable 2021.11-1" depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -734,12 +728,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE - bool "armv7-eabihf glibc bleeding-edge 2020.08-1" + bool "armv7-eabihf glibc bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -750,7 +744,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the armv7-eabihf architecture, using the glibc C library. This is a bleeding-edge version, which @@ -760,12 +753,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE - bool "armv7-eabihf glibc stable 2020.08-1" + bool "armv7-eabihf glibc stable 2021.11-1" depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -776,7 +769,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the armv7-eabihf architecture, using the glibc C library. This is a stable version, which means @@ -786,11 +778,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE - bool "armv7-eabihf musl bleeding-edge 2020.08-1" + bool "armv7-eabihf musl bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -810,11 +802,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE - bool "armv7-eabihf musl stable 2020.08-1" + bool "armv7-eabihf musl stable 2021.11-1" depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -834,10 +826,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE - bool "armv7-eabihf uclibc bleeding-edge 2020.08-1" + bool "armv7-eabihf uclibc bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -858,10 +850,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE - bool "armv7-eabihf uclibc stable 2020.08-1" + bool "armv7-eabihf uclibc stable 2021.11-1" depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -882,9 +874,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE - bool "armv7m uclibc bleeding-edge 2020.08-1" + bool "armv7m uclibc bleeding-edge 2021.11-1" depends on BR2_ARM_CPU_ARMV7M - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -903,9 +895,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE - bool "armv7m uclibc stable 2020.08-1" + bool "armv7m uclibc stable 2021.11-1" depends on BR2_ARM_CPU_ARMV7M - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -924,9 +916,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE - bool "m68k-68xxx uclibc bleeding-edge 2020.08-1" + bool "m68k-68xxx uclibc bleeding-edge 2021.11-1" depends on BR2_m68k_m68k - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -947,9 +939,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE - bool "m68k-68xxx uclibc stable 2020.08-1" + bool "m68k-68xxx uclibc stable 2021.11-1" depends on BR2_m68k_m68k - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -970,9 +962,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE - bool "m68k-coldfire uclibc bleeding-edge 2020.08-1" + bool "m68k-coldfire uclibc bleeding-edge 2021.11-1" depends on BR2_m68k_cf - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -991,9 +983,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE - bool "m68k-coldfire uclibc stable 2020.08-1" + bool "m68k-coldfire uclibc stable 2021.11-1" depends on BR2_m68k_cf - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1012,11 +1004,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE - bool "microblazebe glibc bleeding-edge 2020.08-1" + bool "microblazebe glibc bleeding-edge 2021.11-1" depends on BR2_microblazebe depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1026,7 +1018,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the microblazebe architecture, using the glibc C library. This is a bleeding-edge version, which @@ -1036,11 +1027,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE - bool "microblazebe glibc stable 2020.08-1" + bool "microblazebe glibc stable 2021.11-1" depends on BR2_microblazebe depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1050,7 +1041,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the microblazebe architecture, using the glibc C library. This is a stable version, which means @@ -1060,10 +1050,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE - bool "microblazebe musl bleeding-edge 2020.08-1" + bool "microblazebe musl bleeding-edge 2021.11-1" depends on BR2_microblazebe depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1082,10 +1072,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE - bool "microblazebe musl stable 2020.08-1" + bool "microblazebe musl stable 2021.11-1" depends on BR2_microblazebe depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1104,9 +1094,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE - bool "microblazebe uclibc bleeding-edge 2020.08-1" + bool "microblazebe uclibc bleeding-edge 2021.11-1" depends on BR2_microblazebe - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1127,9 +1117,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE - bool "microblazebe uclibc stable 2020.08-1" + bool "microblazebe uclibc stable 2021.11-1" depends on BR2_microblazebe - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1150,11 +1140,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE - bool "microblazeel glibc bleeding-edge 2020.08-1" + bool "microblazeel glibc bleeding-edge 2021.11-1" depends on BR2_microblazeel depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1164,7 +1154,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the microblazeel architecture, using the glibc C library. This is a bleeding-edge version, which @@ -1174,11 +1163,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE - bool "microblazeel glibc stable 2020.08-1" + bool "microblazeel glibc stable 2021.11-1" depends on BR2_microblazeel depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1188,7 +1177,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the microblazeel architecture, using the glibc C library. This is a stable version, which means @@ -1198,10 +1186,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE - bool "microblazeel musl bleeding-edge 2020.08-1" + bool "microblazeel musl bleeding-edge 2021.11-1" depends on BR2_microblazeel depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1220,10 +1208,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE - bool "microblazeel musl stable 2020.08-1" + bool "microblazeel musl stable 2021.11-1" depends on BR2_microblazeel depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1242,9 +1230,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE - bool "microblazeel uclibc bleeding-edge 2020.08-1" + bool "microblazeel uclibc bleeding-edge 2021.11-1" depends on BR2_microblazeel - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1265,9 +1253,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE - bool "microblazeel uclibc stable 2020.08-1" + bool "microblazeel uclibc stable 2021.11-1" depends on BR2_microblazeel - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1288,13 +1276,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE - bool "mips32 glibc bleeding-edge 2020.08-1" + bool "mips32 glibc bleeding-edge 2021.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1305,7 +1293,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -1315,13 +1302,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE - bool "mips32 glibc stable 2020.08-1" + bool "mips32 glibc stable 2021.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1332,7 +1319,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32 architecture, using the glibc C library. This is a stable version, which means it @@ -1342,12 +1328,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE - bool "mips32 musl bleeding-edge 2020.08-1" + bool "mips32 musl bleeding-edge 2021.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1367,12 +1353,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE - bool "mips32 musl stable 2020.08-1" + bool "mips32 musl stable 2021.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1391,11 +1377,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE - bool "mips32 uclibc bleeding-edge 2020.08-1" + bool "mips32 uclibc bleeding-edge 2021.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1416,11 +1402,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE - bool "mips32 uclibc stable 2020.08-1" + bool "mips32 uclibc stable 2021.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1441,13 +1427,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE - bool "mips32el glibc bleeding-edge 2020.08-1" + bool "mips32el glibc bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1458,7 +1444,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32el architecture, using the glibc C library. This is a bleeding-edge version, which @@ -1468,13 +1453,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE - bool "mips32el glibc stable 2020.08-1" + bool "mips32el glibc stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1485,7 +1470,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32el architecture, using the glibc C library. This is a stable version, which means it @@ -1495,12 +1479,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE - bool "mips32el musl bleeding-edge 2020.08-1" + bool "mips32el musl bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1520,12 +1504,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE - bool "mips32el musl stable 2020.08-1" + bool "mips32el musl stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1544,11 +1528,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE - bool "mips32el uclibc bleeding-edge 2020.08-1" + bool "mips32el uclibc bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1569,11 +1553,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE - bool "mips32el uclibc stable 2020.08-1" + bool "mips32el uclibc stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1594,13 +1578,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE - bool "mips32r5el glibc bleeding-edge 2020.08-1" + bool "mips32r5el glibc bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1611,7 +1595,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32r5el architecture, using the glibc C library. This is a bleeding-edge version, which @@ -1621,13 +1604,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE - bool "mips32r5el glibc stable 2020.08-1" + bool "mips32r5el glibc stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1638,7 +1621,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32r5el architecture, using the glibc C library. This is a stable version, which means @@ -1648,12 +1630,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE - bool "mips32r5el musl bleeding-edge 2020.08-1" + bool "mips32r5el musl bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1673,12 +1655,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE - bool "mips32r5el musl stable 2020.08-1" + bool "mips32r5el musl stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1698,11 +1680,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE - bool "mips32r5el uclibc bleeding-edge 2020.08-1" + bool "mips32r5el uclibc bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1723,11 +1705,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE - bool "mips32r5el uclibc stable 2020.08-1" + bool "mips32r5el uclibc stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1748,13 +1730,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE - bool "mips32r6el glibc bleeding-edge 2020.08-1" + bool "mips32r6el glibc bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1765,7 +1747,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32r6el architecture, using the glibc C library. This is a bleeding-edge version, which @@ -1775,13 +1756,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE - bool "mips32r6el glibc stable 2020.08-1" + bool "mips32r6el glibc stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1792,7 +1773,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips32r6el architecture, using the glibc C library. This is a stable version, which means @@ -1802,12 +1782,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE - bool "mips32r6el musl bleeding-edge 2020.08-1" + bool "mips32r6el musl bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1827,12 +1807,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE - bool "mips32r6el musl stable 2020.08-1" + bool "mips32r6el musl stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1852,11 +1832,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE - bool "mips32r6el uclibc bleeding-edge 2020.08-1" + bool "mips32r6el uclibc bleeding-edge 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1877,11 +1857,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE - bool "mips32r6el uclibc stable 2020.08-1" + bool "mips32r6el uclibc stable 2021.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -1902,14 +1882,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE - bool "mips64-n32 glibc bleeding-edge 2020.08-1" + bool "mips64-n32 glibc bleeding-edge 2021.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1920,7 +1900,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips64-n32 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -1930,14 +1909,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE - bool "mips64-n32 glibc stable 2020.08-1" + bool "mips64-n32 glibc stable 2021.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1948,7 +1927,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips64-n32 architecture, using the glibc C library. This is a stable version, which means @@ -1958,13 +1936,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE - bool "mips64-n32 musl bleeding-edge 2020.08-1" + bool "mips64-n32 musl bleeding-edge 2021.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -1984,13 +1962,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE - bool "mips64-n32 musl stable 2020.08-1" + bool "mips64-n32 musl stable 2021.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2010,12 +1988,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE - bool "mips64-n32 uclibc bleeding-edge 2020.08-1" + bool "mips64-n32 uclibc bleeding-edge 2021.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2036,12 +2014,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE - bool "mips64-n32 uclibc stable 2020.08-1" + bool "mips64-n32 uclibc stable 2021.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2062,14 +2040,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE - bool "mips64el-n32 glibc bleeding-edge 2020.08-1" + bool "mips64el-n32 glibc bleeding-edge 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2080,7 +2058,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips64el-n32 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -2090,14 +2067,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE - bool "mips64el-n32 glibc stable 2020.08-1" + bool "mips64el-n32 glibc stable 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2108,7 +2085,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips64el-n32 architecture, using the glibc C library. This is a stable version, which means @@ -2118,13 +2094,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE - bool "mips64el-n32 musl bleeding-edge 2020.08-1" + bool "mips64el-n32 musl bleeding-edge 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2144,13 +2120,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE - bool "mips64el-n32 musl stable 2020.08-1" + bool "mips64el-n32 musl stable 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2170,12 +2146,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE - bool "mips64el-n32 uclibc bleeding-edge 2020.08-1" + bool "mips64el-n32 uclibc bleeding-edge 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2196,12 +2172,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE - bool "mips64el-n32 uclibc stable 2020.08-1" + bool "mips64el-n32 uclibc stable 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2222,14 +2198,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE - bool "mips64r6el-n32 glibc bleeding-edge 2020.08-1" + bool "mips64r6el-n32 glibc bleeding-edge 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2240,7 +2216,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips64r6el-n32 architecture, using the glibc C library. This is a bleeding-edge version, @@ -2250,14 +2225,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE - bool "mips64r6el-n32 glibc stable 2020.08-1" + bool "mips64r6el-n32 glibc stable 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2268,7 +2243,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the mips64r6el-n32 architecture, using the glibc C library. This is a stable version, which @@ -2278,13 +2252,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE - bool "mips64r6el-n32 musl bleeding-edge 2020.08-1" + bool "mips64r6el-n32 musl bleeding-edge 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2304,13 +2278,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE - bool "mips64r6el-n32 musl stable 2020.08-1" + bool "mips64r6el-n32 musl stable 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2330,12 +2304,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE - bool "mips64r6el-n32 uclibc bleeding-edge 2020.08-1" + bool "mips64r6el-n32 uclibc bleeding-edge 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2356,12 +2330,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE - bool "mips64r6el-n32 uclibc stable 2020.08-1" + bool "mips64r6el-n32 uclibc stable 2021.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2382,11 +2356,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE - bool "nios2 glibc bleeding-edge 2020.08-1" + bool "nios2 glibc bleeding-edge 2021.11-1" depends on BR2_nios2 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2397,7 +2371,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the nios2 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -2407,11 +2380,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE - bool "nios2 glibc stable 2020.08-1" + bool "nios2 glibc stable 2021.11-1" depends on BR2_nios2 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2422,7 +2395,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the nios2 architecture, using the glibc C library. This is a stable version, which means it @@ -2432,10 +2404,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE - bool "openrisc musl bleeding-edge 2020.08-1" + bool "openrisc musl bleeding-edge 2021.11-5" depends on BR2_or1k depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2455,10 +2427,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE - bool "openrisc musl stable 2020.08-1" + bool "openrisc musl stable 2021.11-5" depends on BR2_or1k depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2477,9 +2449,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE - bool "openrisc uclibc bleeding-edge 2020.08-1" + bool "openrisc uclibc bleeding-edge 2021.11-5" depends on BR2_or1k - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2500,9 +2472,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE - bool "openrisc uclibc stable 2020.08-1" + bool "openrisc uclibc stable 2021.11-5" depends on BR2_or1k - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2523,12 +2495,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE - bool "powerpc-440fp glibc bleeding-edge 2020.08-2" + bool "powerpc-440fp glibc bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2538,7 +2510,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_EXTERNAL_GLIBC help Bootlin toolchain for the powerpc-440fp architecture, using @@ -2549,12 +2520,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE - bool "powerpc-440fp glibc stable 2020.08-2" + bool "powerpc-440fp glibc stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2564,7 +2535,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_EXTERNAL_GLIBC help Bootlin toolchain for the powerpc-440fp architecture, using @@ -2575,11 +2545,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE - bool "powerpc-440fp musl bleeding-edge 2020.08-2" + bool "powerpc-440fp musl bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2598,11 +2568,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE - bool "powerpc-440fp musl stable 2020.08-2" + bool "powerpc-440fp musl stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2621,10 +2591,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE - bool "powerpc-440fp uclibc bleeding-edge 2020.08-2" + bool "powerpc-440fp uclibc bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2645,10 +2615,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE - bool "powerpc-440fp uclibc stable 2020.08-2" + bool "powerpc-440fp uclibc stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2669,12 +2639,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_BLEEDING_EDGE - bool "powerpc-e300c3 glibc bleeding-edge 2020.08-1" + bool "powerpc-e300c3 glibc bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2685,7 +2655,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc-e300c3 architecture, using the glibc C library. This is a bleeding-edge version, @@ -2695,12 +2664,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_STABLE - bool "powerpc-e300c3 glibc stable 2020.08-1" + bool "powerpc-e300c3 glibc stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2711,7 +2680,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc-e300c3 architecture, using the glibc C library. This is a stable version, which @@ -2721,11 +2689,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_BLEEDING_EDGE - bool "powerpc-e300c3 musl bleeding-edge 2020.08-1" + bool "powerpc-e300c3 musl bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2744,11 +2712,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_STABLE - bool "powerpc-e300c3 musl stable 2020.08-1" + bool "powerpc-e300c3 musl stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2767,10 +2735,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_BLEEDING_EDGE - bool "powerpc-e300c3 uclibc bleeding-edge 2020.08-1" + bool "powerpc-e300c3 uclibc bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2791,10 +2759,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_STABLE - bool "powerpc-e300c3 uclibc stable 2020.08-1" + bool "powerpc-e300c3 uclibc stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2815,12 +2783,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE - bool "powerpc-e500mc glibc bleeding-edge 2020.08-1" + bool "powerpc-e500mc glibc bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2831,7 +2799,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc-e500mc architecture, using the glibc C library. This is a bleeding-edge version, @@ -2841,12 +2808,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE - bool "powerpc-e500mc glibc stable 2020.08-1" + bool "powerpc-e500mc glibc stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2857,7 +2824,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc-e500mc architecture, using the glibc C library. This is a stable version, which @@ -2867,11 +2833,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE - bool "powerpc-e500mc musl bleeding-edge 2020.08-1" + bool "powerpc-e500mc musl bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2890,11 +2856,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE - bool "powerpc-e500mc musl stable 2020.08-1" + bool "powerpc-e500mc musl stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2913,10 +2879,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE - bool "powerpc-e500mc uclibc bleeding-edge 2020.08-1" + bool "powerpc-e500mc uclibc bleeding-edge 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2937,10 +2903,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE - bool "powerpc-e500mc uclibc stable 2020.08-1" + bool "powerpc-e500mc uclibc stable 2021.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -2961,12 +2927,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE - bool "powerpc64-e5500 glibc bleeding-edge 2020.08-1" + bool "powerpc64-e5500 glibc bleeding-edge 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e5500 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2977,7 +2943,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64-e5500 architecture, using the glibc C library. This is a bleeding-edge version, @@ -2987,12 +2952,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE - bool "powerpc64-e5500 glibc stable 2020.08-1" + bool "powerpc64-e5500 glibc stable 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e5500 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3003,7 +2968,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64-e5500 architecture, using the glibc C library. This is a stable version, which @@ -3013,12 +2977,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_BLEEDING_EDGE - bool "powerpc64-e6500 glibc bleeding-edge 2020.08-1" + bool "powerpc64-e6500 glibc bleeding-edge 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3029,7 +2993,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64-e6500 architecture, using the glibc C library. This is a bleeding-edge version, @@ -3039,12 +3002,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_STABLE - bool "powerpc64-e6500 glibc stable 2020.08-1" + bool "powerpc64-e6500 glibc stable 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3055,7 +3018,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64-e6500 architecture, using the glibc C library. This is a stable version, which @@ -3065,11 +3027,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_BLEEDING_EDGE - bool "powerpc64-e6500 musl bleeding-edge 2020.08-1" + bool "powerpc64-e6500 musl bleeding-edge 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3089,11 +3051,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_STABLE - bool "powerpc64-e6500 musl stable 2020.08-1" + bool "powerpc64-e6500 musl stable 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3113,12 +3075,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE - bool "powerpc64-power8 glibc bleeding-edge 2020.08-1" + bool "powerpc64-power8 glibc bleeding-edge 2021.11-2" depends on BR2_powerpc64 depends on BR2_powerpc_power8 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3129,7 +3091,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64-power8 architecture, using the glibc C library. This is a bleeding-edge version, @@ -3139,12 +3100,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE - bool "powerpc64-power8 glibc stable 2020.08-1" + bool "powerpc64-power8 glibc stable 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_power8 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3155,7 +3116,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64-power8 architecture, using the glibc C library. This is a stable version, which @@ -3165,11 +3125,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE - bool "powerpc64-power8 musl bleeding-edge 2020.08-1" + bool "powerpc64-power8 musl bleeding-edge 2021.11-2" depends on BR2_powerpc64 depends on BR2_powerpc_power8 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3189,11 +3149,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE - bool "powerpc64-power8 musl stable 2020.08-1" + bool "powerpc64-power8 musl stable 2021.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_power8 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3213,12 +3173,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE - bool "powerpc64le-power8 glibc bleeding-edge 2020.08-1" + bool "powerpc64le-power8 glibc bleeding-edge 2021.11-2" depends on BR2_powerpc64le depends on BR2_powerpc_power8 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3229,7 +3189,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64le-power8 architecture, using the glibc C library. This is a bleeding-edge version, @@ -3239,12 +3198,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE - bool "powerpc64le-power8 glibc stable 2020.08-1" + bool "powerpc64le-power8 glibc stable 2021.11-1" depends on BR2_powerpc64le depends on BR2_powerpc_power8 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3255,7 +3214,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the powerpc64le-power8 architecture, using the glibc C library. This is a stable version, which @@ -3265,11 +3223,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE - bool "powerpc64le-power8 musl bleeding-edge 2020.08-1" + bool "powerpc64le-power8 musl bleeding-edge 2021.11-2" depends on BR2_powerpc64le depends on BR2_powerpc_power8 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3289,11 +3247,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE - bool "powerpc64le-power8 musl stable 2020.08-1" + bool "powerpc64le-power8 musl stable 2021.11-1" depends on BR2_powerpc64le depends on BR2_powerpc_power8 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3313,14 +3271,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE - bool "riscv32-ilp32d glibc bleeding-edge 2020.08-1" + bool "riscv32-ilp32d glibc bleeding-edge 2021.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_32 depends on BR2_RISCV_ABI_ILP32D depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3339,15 +3297,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE - bool "riscv64 glibc bleeding-edge 2020.08-1" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE + bool "riscv64-lp64d glibc bleeding-edge 2021.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 - depends on BR2_RISCV_ABI_LP64 + depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3358,22 +3316,22 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help - Bootlin toolchain for the riscv64 architecture, using the - glibc C library. This is a bleeding-edge version, which + Bootlin toolchain for the riscv64-lp64d architecture, using + the glibc C library. This is a bleeding-edge version, which means it is using the latest versions of gcc, gdb and binutils. https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE - bool "riscv64 musl bleeding-edge 2020.08-1" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE + bool "riscv64-lp64d glibc stable 2021.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 - depends on BR2_RISCV_ABI_LP64 + depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP @@ -3384,22 +3342,126 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the riscv64-lp64d architecture, using + the glibc C library. This is a stable version, which means + it is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_BLEEDING_EDGE + bool "riscv64-lp64d musl bleeding-edge 2021.11-1" + depends on BR2_riscv + depends on BR2_riscv_g + depends on BR2_RISCV_64 + depends on BR2_RISCV_ABI_LP64D + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_MUSL help - Bootlin toolchain for the riscv64 architecture, using the - musl C library. This is a bleeding-edge version, which + Bootlin toolchain for the riscv64-lp64d architecture, using + the musl C library. This is a bleeding-edge version, which means it is using the latest versions of gcc, gdb and binutils. https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE + bool "riscv64-lp64d musl stable 2021.11-1" + depends on BR2_riscv + depends on BR2_riscv_g + depends on BR2_RISCV_64 + depends on BR2_RISCV_ABI_LP64D + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the riscv64-lp64d architecture, using + the musl C library. This is a stable version, which means + it is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE + bool "riscv64-lp64d uclibc bleeding-edge 2021.11-1" + depends on BR2_riscv + depends on BR2_riscv_g + depends on BR2_RISCV_64 + depends on BR2_RISCV_ABI_LP64D + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the riscv64-lp64d architecture, using + the uclibc C library. This is a bleeding-edge version, + which means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE + bool "riscv64-lp64d uclibc stable 2021.11-1" + depends on BR2_riscv + depends on BR2_riscv_g + depends on BR2_RISCV_64 + depends on BR2_RISCV_ABI_LP64D + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the riscv64-lp64d architecture, using + the uclibc C library. This is a stable version, which means + it is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE - bool "sh-sh4 glibc bleeding-edge 2020.08-1" + bool "sh-sh4 glibc bleeding-edge 2021.11-1" depends on BR2_sh depends on BR2_sh4 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3410,7 +3472,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the sh-sh4 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -3420,12 +3481,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE - bool "sh-sh4 glibc stable 2020.08-1" + bool "sh-sh4 glibc stable 2021.11-1" depends on BR2_sh depends on BR2_sh4 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3436,7 +3497,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the sh-sh4 architecture, using the glibc C library. This is a stable version, which means it @@ -3446,11 +3506,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE - bool "sh-sh4 musl bleeding-edge 2020.08-1" + bool "sh-sh4 musl bleeding-edge 2021.11-1" depends on BR2_sh depends on BR2_sh4 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3470,11 +3530,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE - bool "sh-sh4 musl stable 2020.08-1" + bool "sh-sh4 musl stable 2021.11-1" depends on BR2_sh depends on BR2_sh4 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3493,10 +3553,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE - bool "sh-sh4 uclibc bleeding-edge 2020.08-1" + bool "sh-sh4 uclibc bleeding-edge 2021.11-1" depends on BR2_sh depends on BR2_sh4 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -3517,10 +3577,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE - bool "sh-sh4 uclibc stable 2020.08-1" + bool "sh-sh4 uclibc stable 2021.11-1" depends on BR2_sh depends on BR2_sh4 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -3541,12 +3601,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE - bool "sh-sh4aeb glibc bleeding-edge 2020.08-1" + bool "sh-sh4aeb glibc bleeding-edge 2021.11-1" depends on BR2_sh depends on BR2_sh4aeb depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3557,7 +3617,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the sh-sh4aeb architecture, using the glibc C library. This is a bleeding-edge version, which @@ -3567,12 +3626,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE - bool "sh-sh4aeb glibc stable 2020.08-1" + bool "sh-sh4aeb glibc stable 2021.11-1" depends on BR2_sh depends on BR2_sh4aeb depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3583,7 +3642,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the sh-sh4aeb architecture, using the glibc C library. This is a stable version, which means it @@ -3593,11 +3651,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE - bool "sh-sh4aeb musl bleeding-edge 2020.08-1" + bool "sh-sh4aeb musl bleeding-edge 2021.11-1" depends on BR2_sh depends on BR2_sh4aeb depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3617,11 +3675,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE - bool "sh-sh4aeb musl stable 2020.08-1" + bool "sh-sh4aeb musl stable 2021.11-1" depends on BR2_sh depends on BR2_sh4aeb depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3640,12 +3698,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE - bool "sparc64 glibc bleeding-edge 2020.08-1" + bool "sparc64 glibc bleeding-edge 2021.11-1" depends on BR2_sparc64 depends on BR2_sparc_v9 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3656,7 +3714,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the sparc64 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -3666,12 +3723,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE - bool "sparc64 glibc stable 2020.08-1" + bool "sparc64 glibc stable 2021.11-1" depends on BR2_sparc64 depends on BR2_sparc_v9 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3682,7 +3739,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the sparc64 architecture, using the glibc C library. This is a stable version, which means it @@ -3692,7 +3748,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE - bool "sparcv8 uclibc bleeding-edge 2020.08-1" + bool "sparcv8 uclibc bleeding-edge 2021.11-3" depends on BR2_sparc depends on BR2_sparc_v8 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -3716,10 +3772,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE - bool "sparcv8 uclibc stable 2020.08-1" + bool "sparcv8 uclibc stable 2021.11-1" depends on BR2_sparc depends on BR2_sparc_v8 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -3739,19 +3795,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE - bool "x86-64-core-i7 glibc bleeding-edge 2020.08-1" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_BLEEDING_EDGE + bool "x86-64 glibc bleeding-edge 2021.11-5" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 - depends on BR2_X86_CPU_HAS_SSE3 - depends on BR2_X86_CPU_HAS_SSSE3 - depends on BR2_X86_CPU_HAS_SSE4 - depends on BR2_X86_CPU_HAS_SSE42 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3762,28 +3814,476 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help - Bootlin toolchain for the x86-64-core-i7 architecture, - using the glibc C library. This is a bleeding-edge version, - which means it is using the latest versions of gcc, gdb and + Bootlin toolchain for the x86-64 architecture, using the + glibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and binutils. https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE - bool "x86-64-core-i7 glibc stable 2020.08-1" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE + bool "x86-64 glibc stable 2021.11-5" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 - depends on BR2_X86_CPU_HAS_SSE3 - depends on BR2_X86_CPU_HAS_SSSE3 - depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64 architecture, using the + glibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_BLEEDING_EDGE + bool "x86-64 musl bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the x86-64 architecture, using the + musl C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_STABLE + bool "x86-64 musl stable 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the x86-64 architecture, using the + musl C library. This is a stable version, which means it is + using stable and proven versions of gcc, gdb and binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_BLEEDING_EDGE + bool "x86-64 uclibc bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64 architecture, using the + uclibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_STABLE + bool "x86-64 uclibc stable 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64 architecture, using the + uclibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE + bool "x86-64-v2 glibc bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64-v2 architecture, using the + glibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE + bool "x86-64-v2 musl bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the x86-64-v2 architecture, using the + musl C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE + bool "x86-64-v2 uclibc bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64-v2 architecture, using the + uclibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE + bool "x86-64-v3 glibc bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64-v3 architecture, using the + glibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE + bool "x86-64-v3 musl bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the x86-64-v3 architecture, using the + musl C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE + bool "x86-64-v3 uclibc bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64-v3 architecture, using the + uclibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE + bool "x86-64-v4 glibc bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_X86_CPU_HAS_AVX512 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64-v4 architecture, using the + glibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE + bool "x86-64-v4 musl bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_X86_CPU_HAS_AVX512 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the x86-64-v4 architecture, using the + musl C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE + bool "x86-64-v4 uclibc bleeding-edge 2021.11-5" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_X86_CPU_HAS_AVX512 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64-v4 architecture, using the + uclibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE + bool "x86-64-core-i7 glibc bleeding-edge 2021.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64-core-i7 architecture, + using the glibc C library. This is a bleeding-edge version, + which means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE + bool "x86-64-core-i7 glibc stable 2021.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3794,7 +4294,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the x86-64-core-i7 architecture, using the glibc C library. This is a stable version, which @@ -3804,7 +4303,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE - bool "x86-64-core-i7 musl bleeding-edge 2020.08-1" + bool "x86-64-core-i7 musl bleeding-edge 2021.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -3814,7 +4313,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3834,7 +4333,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE - bool "x86-64-core-i7 musl stable 2020.08-1" + bool "x86-64-core-i7 musl stable 2021.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -3844,7 +4343,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3864,7 +4363,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE - bool "x86-64-core-i7 uclibc bleeding-edge 2020.08-1" + bool "x86-64-core-i7 uclibc bleeding-edge 2021.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -3873,7 +4372,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -3894,7 +4393,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE - bool "x86-64-core-i7 uclibc stable 2020.08-1" + bool "x86-64-core-i7 uclibc stable 2021.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -3903,7 +4402,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -3924,7 +4423,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE - bool "x86-core2 glibc bleeding-edge 2020.08-1" + bool "x86-core2 glibc bleeding-edge 2021.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -3933,7 +4432,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3944,7 +4443,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the x86-core2 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -3954,7 +4452,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE - bool "x86-core2 glibc stable 2020.08-1" + bool "x86-core2 glibc stable 2021.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -3963,7 +4461,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -3974,7 +4472,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the x86-core2 architecture, using the glibc C library. This is a stable version, which means it @@ -3984,7 +4481,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE - bool "x86-core2 musl bleeding-edge 2020.08-1" + bool "x86-core2 musl bleeding-edge 2021.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -3992,7 +4489,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -4011,7 +4508,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE - bool "x86-core2 musl stable 2020.08-1" + bool "x86-core2 musl stable 2021.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4019,7 +4516,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -4037,14 +4534,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE - bool "x86-core2 uclibc bleeding-edge 2020.08-1" + bool "x86-core2 uclibc bleeding-edge 2021.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -4065,14 +4562,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE - bool "x86-core2 uclibc stable 2020.08-1" + bool "x86-core2 uclibc stable 2021.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -4093,14 +4590,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE - bool "x86-i686 glibc bleeding-edge 2020.08-1" + bool "x86-i686 glibc bleeding-edge 2021.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -4111,7 +4608,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the x86-i686 architecture, using the glibc C library. This is a bleeding-edge version, which @@ -4121,14 +4617,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE - bool "x86-i686 glibc stable 2020.08-1" + bool "x86-i686 glibc stable 2021.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -4139,7 +4635,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Bootlin toolchain for the x86-i686 architecture, using the glibc C library. This is a stable version, which means it @@ -4149,13 +4644,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE - bool "x86-i686 musl bleeding-edge 2020.08-1" + bool "x86-i686 musl bleeding-edge 2021.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -4174,13 +4669,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE - bool "x86-i686 musl stable 2020.08-1" + bool "x86-i686 musl stable 2021.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -4198,12 +4693,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE - bool "x86-i686 uclibc bleeding-edge 2020.08-1" + bool "x86-i686 uclibc bleeding-edge 2021.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -4224,12 +4719,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE - bool "x86-i686 uclibc stable 2020.08-1" + bool "x86-i686 uclibc stable 2021.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -4250,11 +4745,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_BLEEDING_EDGE - bool "xtensa-lx60 uclibc bleeding-edge 2020.08-1" + bool "xtensa-lx60 uclibc bleeding-edge 2021.11-1" depends on BR2_xtensa depends on BR2_XTENSA_CUSTOM depends on BR2_XTENSA_LITTLE_ENDIAN - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE @@ -4275,11 +4770,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_STABLE - bool "xtensa-lx60 uclibc stable 2020.08-1" + bool "xtensa-lx60 uclibc stable 2021.11-1" depends on BR2_xtensa depends on BR2_XTENSA_CUSTOM depends on BR2_XTENSA_LITTLE_ENDIAN - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash index 3e6eb99cc8b..65426940335 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash +++ b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash @@ -1,340 +1,378 @@ # This file was auto-generated by support/scripts/gen-bootlin-toolchains # Do not edit -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--bleeding-edge-2020.08-1.sha256 -sha256 212f3c05f3b2263b0e2f902d055aecc2755eba10c0011927788a38faee8fc9aa aarch64--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2020.08-1.sha256 -sha256 8ab7a2f17cb96621b048ab0a872650dd62faa54cd74c961b9902b8c04bff7dd1 aarch64--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--bleeding-edge-2020.08-1.sha256 -sha256 3cf00c1ccaf16d0fbc526529789791de1cf98b918ff812e779f8400d40b6c048 aarch64--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--stable-2020.08-1.sha256 -sha256 8319d27e3e637f32ecbdf49ceee2e9b7768b32d3ec7c92c888ff52e6f062bde4 aarch64--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 57fe5cecf37778b35dd09d9a016a1d6d9d7bb0e96ffcc5565e0aa483a46ea3db aarch64--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--stable-2020.08-1.sha256 -sha256 04176f56ac977215c5257c307cece2d32e03770b96380e09c50379d4d84a5b39 aarch64--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--bleeding-edge-2020.08-1.sha256 -sha256 9631a57809d2fc2c7bb82bdd79d7647ccabe193126cc59ff9721a573d8870510 aarch64be--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--stable-2020.08-1.sha256 -sha256 71e24a2a205726d7d8ec56ead13b7eb427d5aed0e057a94ee06688334a07e6dd aarch64be--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 76017614f0e7770499b5d18943398e51ae1c36d075cf8fba90ea050a29cad747 aarch64be--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--stable-2020.08-1.sha256 -sha256 a3bff78e98b2e17ab142ec630f9184f0cd4be6f1f313fdc112d89a843d92cedc aarch64be--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 e33570bdddc08d01b0da81ef6c3b240c6e0a4948f0100314b0be63c18c5f75db arcle-750d--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--stable-2020.08-1.sha256 -sha256 bae0cbcab3b3b0149503aef6003dd816102b261461e37d89d32ffe9eb7f5dab9 arcle-750d--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--bleeding-edge-2020.08-1.sha256 -sha256 219be8c5390da6830e7529cb0a611996a8c9451bfa1560d7bda4ed5b182f7744 arcle-hs38--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--stable-2020.08-1.sha256 -sha256 ca73399803b6bb46cf27aa2bef5f98eae05fb2fa547403777354067117b44f2f arcle-hs38--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 65e1408112518c1b31350285838f000a78a0dcd78880842933ef80d64d023967 arcle-hs38--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--stable-2020.08-1.sha256 -sha256 f0839aa541fe3f29660387c731b52e495bf1b285127b9fba91350b5b67f8ff3e arcle-hs38--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--bleeding-edge-2020.08-1.sha256 -sha256 261e73520fb211f63a88ecce0689d3647acf295527bd6bd16e88e1bd65b3c603 armv5-eabi--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--stable-2020.08-1.sha256 -sha256 ed175329057693e496b0d6dbac1ff9db8f8f34737530ab38b5ed677afaefad03 armv5-eabi--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--bleeding-edge-2020.08-1.sha256 -sha256 486b2424321b9866c2677e1dccd3a999394a86f890542c0c63edd5f9456bc4f9 armv5-eabi--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--stable-2020.08-1.sha256 -sha256 732edab571d017c550d74b8c53dc703fc650de7aab66e68c70a0bc19d66d0a22 armv5-eabi--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 5e11ec24b910c43f24577b41a38cded192e443c0606be60944fe85b0fbf4b2dd armv5-eabi--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--stable-2020.08-1.sha256 -sha256 cf6a668d4f30a4a2e76a0e88177e1301342cc011e94ea399353e77ede0efbb22 armv5-eabi--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--bleeding-edge-2020.08-1.sha256 -sha256 0c66147f05b21529311338e246ed285f9f0f4830af0d4db28e401160a81d1b4f armv6-eabihf--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--stable-2020.08-1.sha256 -sha256 539e31b3bdcf76c3d6710951c74fbe682e2de8da4d110b981e9108b656890f4a armv6-eabihf--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--bleeding-edge-2020.08-1.sha256 -sha256 e8c05fb7b909dfd5a42f6de78d1b20605c453a9aea219981966d213ee98968e2 armv6-eabihf--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--stable-2020.08-1.sha256 -sha256 68e43e3cd0e1fdd5c2b3ab718368f6ee24824725c641e148ef0a0da57f872034 armv6-eabihf--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 749bb97f7535414c3096564f6e790d1e43ab8c406282480937d8f34478ac7a35 armv6-eabihf--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--stable-2020.08-1.sha256 -sha256 680a3bf708cb792c74561514dcba882727086c9317397e8a3ebece1b50fbea4e armv6-eabihf--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2020.08-1.sha256 -sha256 9f5c703cea20834276e1a81e2e54483d0f4fe0e57063ba4d058338ef9c858eb2 armv7-eabihf--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2020.08-1.sha256 -sha256 7b6682603af9a9b5c0e46fd57165723483bb68295e827d14d238e63f33a147a8 armv7-eabihf--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--bleeding-edge-2020.08-1.sha256 -sha256 d9e71499cfb1790a31056ca9199981f699c7e4966b5854f7780d97f5a74d601e armv7-eabihf--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--stable-2020.08-1.sha256 -sha256 5c4c9bce5a2a46a9ad46e49e86df708893a8907e702a8ee1b5febd3950e030ed armv7-eabihf--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 7c3ee9f3d6bd4eda38ec94a686a9e348b0f800214f1225c68d172e4ac6b81066 armv7-eabihf--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--stable-2020.08-1.sha256 -sha256 f61866b0e60da62eff92b197f0e2a72e8d023bf944a25eb97efc9f5d93680ed9 armv7-eabihf--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 9ce29bbcbc0a2c4925e814a6332c2c71e9a13476040e1db0a5495c68d1566bee armv7m--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--stable-2020.08-1.sha256 -sha256 c20df31191b88df09d8ff225ca82e3bb769b2b7ffd3827f6dbf77a6d23230339 armv7m--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 49e26c831694d15bb023a0a36cf9d3967e0ab75c555d8d07bba3317a0a18aa40 m68k-68xxx--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--stable-2020.08-1.sha256 -sha256 b133663f5589c71315224792b7e542cfa578e4c354e4a2ac8afcd5ee77fd6f45 m68k-68xxx--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 3efa687ca5d1c5f1ec53032e05a12467ec148c2328836754841f74be217bb035 m68k-coldfire--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--stable-2020.08-1.sha256 -sha256 f9879a167e2279fe925a3dc963d349d3d84c85866ec91512b5a7ce667318d716 m68k-coldfire--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--bleeding-edge-2020.08-1.sha256 -sha256 d9fb4403d14f53d5f4be18f38e9604244042ea33ad980ebf0b0057b70d603d16 microblazebe--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--stable-2020.08-1.sha256 -sha256 ea466445240a25ba98cd7b34f748afca151fc2479b187566f2faa98f586bfd93 microblazebe--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--bleeding-edge-2020.08-1.sha256 -sha256 0157d051ac5e8b46b4eed7333c9323d1c1602ad5e958e2c12fe9b8dc3b6781c7 microblazebe--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--stable-2020.08-1.sha256 -sha256 ec51b07f63cf6d0af1eaed10641d8690a350d879e4b74addca2b3f7992186ee2 microblazebe--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 3aaaab352ca31b2263e29c363609a363a38931f9733c8ad3a386c5cbb791f8e1 microblazebe--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--stable-2020.08-1.sha256 -sha256 d2b31177c9c009cd70a9ad4af6e903dfdb5254e3f49fe9389e0e11af7a98e6b6 microblazebe--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--bleeding-edge-2020.08-1.sha256 -sha256 83a451601b24b6a9c609630119e100ef9f18408bdfe1241cc53a904d540e6936 microblazeel--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--stable-2020.08-1.sha256 -sha256 c168737ec92889e632673f826b13cf74cfe4ba3ad06cc9e328ee20268ec439e9 microblazeel--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--bleeding-edge-2020.08-1.sha256 -sha256 47660f8a4d84c7b8cd7610b8ba9df5bbfba043b35ebc07d96468c950b282f44d microblazeel--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--stable-2020.08-1.sha256 -sha256 6a51e38fe3f72765ad1172488321b60c59867253edce7b6680500c4193a542f7 microblazeel--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 6005fa2b229be380a2e4b8227daa0b4be4739b7cda628679de6d0e048755c769 microblazeel--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--stable-2020.08-1.sha256 -sha256 845a4795cab5f88d96679945f7147c5dfe0dd19751b88734ef786bfd5ee5db67 microblazeel--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--bleeding-edge-2020.08-1.sha256 -sha256 63baffcf0a94d7f1b7421ad61ddb56ce5c05595acd09f482dffe13ddf17efd81 mips32--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--stable-2020.08-1.sha256 -sha256 90e300a2d224ea79b69cae68e93b0aab70858381b0d11bac846458c625d72653 mips32--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--bleeding-edge-2020.08-1.sha256 -sha256 4ebc20461eafca9c9b50e36f81e13095229aac0cd1dd98a985060f2e95665983 mips32--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--stable-2020.08-1.sha256 -sha256 1a544242e9aaaee75c240439a31d2f4304b97705ed2d9e9e38ca552c5f03dced mips32--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 4e0e1bf24e74746775992efd8b8bafbf5b6dd56bfdd1421b2207e1ea23ba2eb3 mips32--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--stable-2020.08-1.sha256 -sha256 4c1da37d131f4e66b07536707c6d1be3de29719f228346d4c860c4b3cb4fef31 mips32--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--bleeding-edge-2020.08-1.sha256 -sha256 617c845261bb0a00571c68f250c5a369e60a09164dd3316ab8126c327d911c4b mips32el--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--stable-2020.08-1.sha256 -sha256 87875c25075b3850526a54c5e828ce489355d0d50107c262539ee5f577f38d6d mips32el--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--bleeding-edge-2020.08-1.sha256 -sha256 4c81898f2e484c1e1e7d7ac1ae80e0aca5619ef01190df37e41ca459a147e682 mips32el--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--stable-2020.08-1.sha256 -sha256 02155c88e0bf92f63105803767ce457790bfd920297ef326c9920853b5a3fe20 mips32el--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 024b0e27fd0c9792bad1944e052768e03173b133079d7c95bf30435d05620152 mips32el--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--stable-2020.08-1.sha256 -sha256 8398010ea3dbd43ee99b6be0e3340db44b32228bf063a9c13bf43a359e3d1f6e mips32el--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--bleeding-edge-2020.08-1.sha256 -sha256 f000e8a78a24671a6f87909156e0c2a7403ab5864001c1388faf60190f8594c8 mips32r5el--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--stable-2020.08-1.sha256 -sha256 a52a115b852afce04732aa9460c58f30fbfdb17601f9bf32ea97a77d1a073a53 mips32r5el--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--bleeding-edge-2020.08-1.sha256 -sha256 2620edf1045c61ddaf12f979a86719fa83b6598eb10f358a379e52462bb734ba mips32r5el--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--stable-2020.08-1.sha256 -sha256 0e03a5f2a7d8ba739f3ef53538d73c33bfc55f45522d4515688ebcb58005e5a1 mips32r5el--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 585e252971553b52833d3970f709196707d908a84a5e1be8360e3019d6bb0da9 mips32r5el--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--stable-2020.08-1.sha256 -sha256 7ffccb1f86e7b0f1dd0d87f455ff5f2619a58724850b0b9f106b6545d4de8b3f mips32r5el--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--bleeding-edge-2020.08-1.sha256 -sha256 d6376aeb2b243a58a98c415f2ecf131e14ccdce849a76c0f01902ca4b02fc0ba mips32r6el--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--stable-2020.08-1.sha256 -sha256 8640635116e26e51d57b6d5dc1e3213528f742f0cf97cd326af4f5d8e17a63f2 mips32r6el--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--bleeding-edge-2020.08-1.sha256 -sha256 2647d34cb990bdab77efbcc6b4e3d5b1fd02c5032837b7a64bc52cef64aba4ec mips32r6el--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--stable-2020.08-1.sha256 -sha256 24b1adfa2eb31f49ae5b4fce9ee9fcb30205ca6f29e423f77bd851070baaa255 mips32r6el--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 18dee7e9de84f6e7d6c9d083decdd465ab08979ebd661d82efbe5dc93f11dcb0 mips32r6el--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--stable-2020.08-1.sha256 -sha256 28999f7474a84c3ec36b504c47cf671fc6e82d9b38580a0e2ebe495850ada097 mips32r6el--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--bleeding-edge-2020.08-1.sha256 -sha256 b5d90c06c894d841677da5f81e395113d22a79c53f934e12151128660dd08e76 mips64-n32--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--stable-2020.08-1.sha256 -sha256 7ed7a81f1a086e47ddb79d0bdc7142a6b7349feea20b05393be133cc4cf1fff5 mips64-n32--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--bleeding-edge-2020.08-1.sha256 -sha256 937ce7ffda61c93489862122fe6dbfd53445afbdbfb615c06805b05497f336fb mips64-n32--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--stable-2020.08-1.sha256 -sha256 2a2acf732498b0acb22f815e1ce7c3ca8124719131febe95c723b1cbab76d947 mips64-n32--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 16ac2a957757f56e0414a638bb3bd526b2d1c3055dd7e036dcdec4bf950f0d1b mips64-n32--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--stable-2020.08-1.sha256 -sha256 10d9fb894e5e548e47e2930139117de9549ea49b971ca9fad12f56ef6d188b77 mips64-n32--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--bleeding-edge-2020.08-1.sha256 -sha256 7de65f68b14350670adbd0249562d69e75f7fc65b749284303c32f88112cb6b4 mips64el-n32--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--stable-2020.08-1.sha256 -sha256 a6eea19d94a7a953cac84670dcac3adb42dd3eb8950b1f7ca0f1ef37abc7e33f mips64el-n32--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--bleeding-edge-2020.08-1.sha256 -sha256 7cff57dd6d0ee7778c5b764a388bf9e997ba2349da5274b8d8598173030618be mips64el-n32--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--stable-2020.08-1.sha256 -sha256 3c42d88c84689703d5b1380f4cf5ad20872611d08ce5fac1a4375bfec80a6b27 mips64el-n32--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 5553a979238f6a25c4e965e18cfbebe36018041ba46968174063328c25e485fc mips64el-n32--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--stable-2020.08-1.sha256 -sha256 80e8fa6cca6e0267dad5376bca79ce7457b8d345d43a0d409e4820a791965db9 mips64el-n32--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--bleeding-edge-2020.08-1.sha256 -sha256 0f09da21d6069642064f767a25e64c89caad80660ea184345652301c41a30ac9 mips64r6el-n32--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--stable-2020.08-1.sha256 -sha256 7100d3862983c5fb8237386ff4148f6e550e6b299c8b7946a349dedef60f75c9 mips64r6el-n32--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--bleeding-edge-2020.08-1.sha256 -sha256 a692687149e59fdb7ad780cfc51e4a7307ed599433280369fe9e43c63453e4ec mips64r6el-n32--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--stable-2020.08-1.sha256 -sha256 e7a35e063fcd748df6f347e5aa97d081f4422480fb02ce6925c4c351c9aca318 mips64r6el-n32--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 69d4287cb32413e054684db9545e6898c09cb90c86a0dce8bb9999498eb798ab mips64r6el-n32--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--stable-2020.08-1.sha256 -sha256 4d9eb8900b99871e02ae17b823341189dce3aa592ee82864c73ca3164948aaae mips64r6el-n32--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--bleeding-edge-2020.08-1.sha256 -sha256 b3c7c24e08759af3ea13fc39e8bddb52e4528a05d4aee3c2f75733e067d12edc nios2--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--stable-2020.08-1.sha256 -sha256 a46d5ff90e3623d159f3b5be53493e13a2e78ebb733a1ccb68e829d6e28aa129 nios2--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--bleeding-edge-2020.08-1.sha256 -sha256 382ec04511d51f99028b6c568c909e4e010bcfe1d4a4c1ff6f10c7c07c24b3b2 openrisc--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--stable-2020.08-1.sha256 -sha256 697ef122917022f400003931bc6da75fe07bb5234ef8186cbe027e560f04a168 openrisc--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 e45d02c9272c909db1c92b6403ed1e0813889ef0c22b2f5166d2675f62d3f20f openrisc--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--stable-2020.08-1.sha256 -sha256 62c60f9f99828a01f3a16060ceba74b8e2603a8ca3585649434a66f721ecdf75 openrisc--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--bleeding-edge-2020.08-2.sha256 -sha256 7b7c2f66ccd3d44cd8a829b5879277be9cfb17f34a26d5055b29a6bab40ff9df powerpc-440fp--glibc--bleeding-edge-2020.08-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--stable-2020.08-2.sha256 -sha256 ae7b3d06090dfcf54b1e3b4bd4fda9ae5aaaf34aba9118820e6e9d8f1b70c0c4 powerpc-440fp--glibc--stable-2020.08-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--bleeding-edge-2020.08-2.sha256 -sha256 a6def102659538e3e5838bf4267cd33486d795db753a7109b5e413499ef5df89 powerpc-440fp--musl--bleeding-edge-2020.08-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--stable-2020.08-2.sha256 -sha256 76de0310078633ff34654c8c54d7e80a609c58521a7f2a8041ae4a574889d38a powerpc-440fp--musl--stable-2020.08-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--bleeding-edge-2020.08-2.sha256 -sha256 abbe38fc92a71d568c08452f99fe3470e5ded9a666c6829d9104fcf06b984503 powerpc-440fp--uclibc--bleeding-edge-2020.08-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--stable-2020.08-2.sha256 -sha256 d4346ce563ddfbd4946b2dfbc766cafebbf4b09488dc8b398ab8bb242bac9268 powerpc-440fp--uclibc--stable-2020.08-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--bleeding-edge-2020.08-1.sha256 -sha256 fe4b9817f060d84118fff5b7d855eacac472975f2adfececb641d2999f94a7ea powerpc-e300c3--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--stable-2020.08-1.sha256 -sha256 77d215d650850af65c3ac1792dcf100322f3dfea78ba174118197ec0c8a49807 powerpc-e300c3--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--bleeding-edge-2020.08-1.sha256 -sha256 4aa2b5c3c2c3263edfdf95284f0774aed8a47446b7a362ee44dc24d83db06896 powerpc-e300c3--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--stable-2020.08-1.sha256 -sha256 129d9aab59e9edfc68739b612f2ee4abce5679830250fbcd50b89ec3d2c865c5 powerpc-e300c3--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 54e6960edd6419bb268b651ffedc24af73a72ad9dd145c1849a6e0fb6f997b15 powerpc-e300c3--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--stable-2020.08-1.sha256 -sha256 1057b488623a80037558a1439555b1a15b25a4d7f42dc49d0169349592ad5b3e powerpc-e300c3--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--bleeding-edge-2020.08-1.sha256 -sha256 8cab4fbb645be782a6eaeb7b6afd75fda4c0dc8ca9a4095b0be9b6eeb29a9759 powerpc-e500mc--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--stable-2020.08-1.sha256 -sha256 5bb9f6b10b9d2d1a90a1a96a477b90eea32a269c1afccd89284a38a63d7f1c82 powerpc-e500mc--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--bleeding-edge-2020.08-1.sha256 -sha256 36636df56a04e44ddb5bba2e0a30b1f3986618399381278cdb2be207a25825c0 powerpc-e500mc--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--stable-2020.08-1.sha256 -sha256 7f924fc3cc3c9070ea1c9d270fea71715bd52beac14649d8a00416dfde1b897b powerpc-e500mc--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 262a2bddd29d6c24cbc32a873e78895499732624923195a5e7ffe16b487dc461 powerpc-e500mc--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--stable-2020.08-1.sha256 -sha256 e817af2d5a0fba654e7766dcad89380e278af9feb35c2d0591a0f8d893defa48 powerpc-e500mc--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--bleeding-edge-2020.08-1.sha256 -sha256 418b79f8313ac4ff29cb6c2d639848eb74a0245666142a307374513cffd472e6 powerpc64-e5500--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2020.08-1.sha256 -sha256 a51ddba944394de41b2f7c001772bb68074175d65a0976749da5289a5e705f23 powerpc64-e5500--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--bleeding-edge-2020.08-1.sha256 -sha256 c537c2ef618f767762295806658bb0add514453068ea72ce2bd6e6e805e64af5 powerpc64-e6500--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--stable-2020.08-1.sha256 -sha256 1d8aaf1492f69496b01fc930fa928ffd3144d1465c7c954128ed31ce576306b6 powerpc64-e6500--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--bleeding-edge-2020.08-1.sha256 -sha256 c46c7595384929211ce2f54655ceb4eb1d32054923892cd5d10913be364fa6f2 powerpc64-e6500--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--stable-2020.08-1.sha256 -sha256 a295073db591ed16eec90caf5fdef62ccff5550166d36496ab24aa993bdb2a42 powerpc64-e6500--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--bleeding-edge-2020.08-1.sha256 -sha256 cbe65abf36fa807176a01488751a2e45800791534400b803c024e4c29357862c powerpc64-power8--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--stable-2020.08-1.sha256 -sha256 a670ec95dbfb53a812e9f21aec2ad880a3349125f19219b9a0d139a7d5b9e83b powerpc64-power8--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--bleeding-edge-2020.08-1.sha256 -sha256 1f5b3da078534f9e493f29956d3a1f31ad0539d26b8f83e55c271b6671021928 powerpc64-power8--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--stable-2020.08-1.sha256 -sha256 12043ab87cd4ae0c4339cddcb3eb017eaae406bbb332bf3edebfd7f70ecd0a31 powerpc64-power8--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--bleeding-edge-2020.08-1.sha256 -sha256 14e3ff4afbf363decb2c0ddc33b75e41aad9748a65a445cc176215853d0d6185 powerpc64le-power8--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--stable-2020.08-1.sha256 -sha256 342442f0773cdf5091443ab06ecf9c3d3c05cf8e2464b82a54707bec90d2a358 powerpc64le-power8--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--bleeding-edge-2020.08-1.sha256 -sha256 fab5f4bc6d219f53f8b15e0d49aea27cdbac9e08e05946577440329c003fc216 powerpc64le-power8--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--stable-2020.08-1.sha256 -sha256 47d184beca271c67bdb544fac87cb2126ea2b397d076a79dfaf9667e999fbccd powerpc64le-power8--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--bleeding-edge-2020.08-1.sha256 -sha256 18a47b0c221137f40720df08e9bbdc0bcb6e68cde3a30906681e4dec83eb7547 riscv32-ilp32d--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64/tarballs/riscv64--glibc--bleeding-edge-2020.08-1.sha256 -sha256 09818eccb414359b1df87ec347d94e7bfccc45f8a5eafe8791fddf8110fcc581 riscv64--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64/tarballs/riscv64--musl--bleeding-edge-2020.08-1.sha256 -sha256 2af03e220070eacf6eaf63ccb7442ca5af805caf96ae52fb3eb15370988f12cf riscv64--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--bleeding-edge-2020.08-1.sha256 -sha256 277e78c999c2cba42b25660bbbe0d105a80277c986e0807cfa16a6595af6ce9e sh-sh4--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--stable-2020.08-1.sha256 -sha256 256064f35b2759c71ac1bb6c9fe74a7c7c62f070746cfeb35ff0ecb40a91c2b4 sh-sh4--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--bleeding-edge-2020.08-1.sha256 -sha256 34bf211ea0456ef86bbe914e0755f18681531a015e33b8c26b97ca68e29a3ed5 sh-sh4--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--stable-2020.08-1.sha256 -sha256 d335189728a6bebd5d180c58c6dabd049500d57ae60fcc8fc51ba5aafafb21d3 sh-sh4--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 89e42b9e7bc3f67660656690899b2fad4015af5c9084dad6624315c39b486d76 sh-sh4--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--stable-2020.08-1.sha256 -sha256 13a60cd5653c24491748388284080d5b8da649a63090c0d308c3a3b069b04f21 sh-sh4--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--bleeding-edge-2020.08-1.sha256 -sha256 fe063dd95c71ab41145412faf5e4c2a1386efdda5d944ecc83121fb9b4e213f2 sh-sh4aeb--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--stable-2020.08-1.sha256 -sha256 054e669a3165aff35539d3fb7cbde2650c79e5aa88a90a844488ba175a645a07 sh-sh4aeb--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--bleeding-edge-2020.08-1.sha256 -sha256 aa2c560ed4cf4dac8a8803b3fccf846472a226a1a22833c1cbe0d7fd347af3a7 sh-sh4aeb--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--stable-2020.08-1.sha256 -sha256 89e7fa5792ed1c35bd57c65935888beafce9a81f84c7d73508b1582539415a3b sh-sh4aeb--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--bleeding-edge-2020.08-1.sha256 -sha256 abba04fcfa11a1eedbf5f5ff38d69d793d394f08998f8374723358b3123cc113 sparc64--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--stable-2020.08-1.sha256 -sha256 57184f6edfba03ae9c098ad0bab6635475bb45a874982ad11c0b91bf6043dbc4 sparc64--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 210defc0781683a240bac25295ff612d6b6c875c7d938d11512f8ec9472245bc sparcv8--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--stable-2020.08-1.sha256 -sha256 14d508510bf0ed813f6436718486cce7fc6ebfb29b46eea5e52a474b2d5eaa00 sparcv8--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--bleeding-edge-2020.08-1.sha256 -sha256 77935109bbd1bdb84813a588b807052823033ed9094131fdd56f558023a3de08 x86-64-core-i7--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--stable-2020.08-1.sha256 -sha256 3dd408e857f5c8e579748995477f2783fcf5ad0aac89719ea3c5c75446dfa63c x86-64-core-i7--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--bleeding-edge-2020.08-1.sha256 -sha256 5d2d13d56a76db30ec28a11a3d6219fe407c3d1b9bbcd4a7255a783da4fcdfcb x86-64-core-i7--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--stable-2020.08-1.sha256 -sha256 26ea3cc16c294663b64123c15a95d53f00419ef0f6bcdef489865835c6022650 x86-64-core-i7--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 d1ff16cde93c727b4b39844877f93d865d6945185e71dba4b6c07d2d725e2576 x86-64-core-i7--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--stable-2020.08-1.sha256 -sha256 0fdcb93add6ff697b536198da76b4e93bd81efd67793d6640fd6bc1b216abc00 x86-64-core-i7--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--bleeding-edge-2020.08-1.sha256 -sha256 10e7b362008fc3057e9eb42a3fab5f0dc430e05b285dc4f2ec3367d5f36a3094 x86-core2--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--stable-2020.08-1.sha256 -sha256 18bbabb672df24bbc2646d94d23c47d16a6c0d8342d910bf441021fad4a82ce3 x86-core2--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--bleeding-edge-2020.08-1.sha256 -sha256 81edcbd69f2fd479d9a25597d0515d42c9c891e1a534d947e87a2e9a3dc67924 x86-core2--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--stable-2020.08-1.sha256 -sha256 9e23de3364e1aaec50945c70089273a025ff44815ce4632324d1950e7ba07e9a x86-core2--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 717b6c103e8e50202a45277eef8f9b41b978b17a0110cacddd52a01b7eba3039 x86-core2--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--stable-2020.08-1.sha256 -sha256 e23812719fa1027fa0e2a161216cf97ff14bf3bcc19bb400281060a40e762a0d x86-core2--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2020.08-1.sha256 -sha256 9e8c83479dc91e516ee66fe21ff8693afa380cfdb3192c5c1351430a035ab92a x86-i686--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--stable-2020.08-1.sha256 -sha256 77362d37279636371a42b09bab4f8f1a51a786ed7ec316221786b279389c8008 x86-i686--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--bleeding-edge-2020.08-1.sha256 -sha256 ccb6896f02be3444d6cabff0966a0b6f866ebc6d32b483031541626c2fc748fe x86-i686--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--stable-2020.08-1.sha256 -sha256 bbbf8b7946e65f35366cb0371910fe3e95e6399c4e6a9cac8b0a4674bcadc36b x86-i686--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 bd57d5cd7958ba7469d74abdf93db1993042f30c774ec3d1fceff57d522a489c x86-i686--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--stable-2020.08-1.sha256 -sha256 139c31c25f9834137bbbb4aadc9d78def2819d2c1b9e89dd2300b11fb4879bb4 x86-i686--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 46801fc1ae89f380c1b6e1bf8ea723f9d7b1590eea3a2d1218a0307cd4325bc8 xtensa-lx60--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--stable-2020.08-1.sha256 -sha256 b4b28d855594290c853292c9cce43bba573d4187ecb47d78f25411a7f4300d49 xtensa-lx60--uclibc--stable-2020.08-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--bleeding-edge-2021.11-1.sha256 +sha256 55b90e0e844ac02a7fc3352be42b7cb9bb3ec582c23649dbb77e05c60eb84434 aarch64--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2021.11-1.sha256 +sha256 dec070196608124fa14c3f192364c5b5b057d7f34651ad58ebb8fc87959c97f7 aarch64--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--bleeding-edge-2021.11-1.sha256 +sha256 c56f51c518eca9e614cc639ffb99719531c1022275045a43dfcdf79a142ba4dc aarch64--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--stable-2021.11-1.sha256 +sha256 6919b4cf04b8c5628a2a93bcf4b05e1143ab15dfb4bc2acde02a2e3c075bf041 aarch64--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 9ba30538bb38a3ee4db5289469fd0a539ba248b00da4e1b1b6f5c3724c20deef aarch64--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--stable-2021.11-1.sha256 +sha256 ec629adb0acd80d56b00f35e9fe823571bdcdb72072c7fc2d50607b3882c1f98 aarch64--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--bleeding-edge-2021.11-1.sha256 +sha256 8d610107f7bea8957d71dca45bb84368c74e01da786a113d1089b72ee79ca095 aarch64be--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--stable-2021.11-1.sha256 +sha256 6327121b67799ea967882cba746d25cf6a274a061f283d5c1b2818a651da0c9a aarch64be--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 809d448f3f54fd9a4b01440acc697c022f3f0107e1bf0e9de3ee454a57be99e4 aarch64be--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--stable-2021.11-1.sha256 +sha256 08898011a5f12bf3fa0646a794bb63422fa24d20eb79d01665b2f91aa65f75aa aarch64be--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 088b03942306b572db93025eae703086ddbfe9886e14544cf68ecd9dfa0ad4b4 arcle-750d--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--stable-2021.11-1.sha256 +sha256 6a7454aa1559ef304dfa55361763167848eb6d47539be31b24c7cf6723f581fd arcle-750d--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--bleeding-edge-2021.11-1.sha256 +sha256 e2a35602cf3a518e16681184c5ac095693dbc1d3edd1ae219da2dfff0cce7d67 arcle-hs38--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--stable-2021.11-3.sha256 +sha256 c7c00e3dcdb5123098cea365cfcf261e36adcf816bdd62e4e1ad661e1145f084 arcle-hs38--glibc--stable-2021.11-3.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 552b2387ed8129fd205d3387ca508f816d1a67b90dd1d5ea16ff4872c5129fd9 arcle-hs38--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--stable-2021.11-1.sha256 +sha256 85ea258031a8c304dce0a660c18e67ec415a032f0d9f2c4080f04a47efb44c48 arcle-hs38--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--bleeding-edge-2021.11-1.sha256 +sha256 72a1964f1ba61d730b6be3b178bb4bc24de191a2ad8ada36e067d57011aae1a4 armv5-eabi--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--stable-2021.11-1.sha256 +sha256 22de590c491057d2f974b315055b357511319227c6084cccb1532e30c829687c armv5-eabi--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--bleeding-edge-2021.11-1.sha256 +sha256 4906e6b454c1f9b2041d617df7e253f96288050f9760859868d60857e6bab924 armv5-eabi--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--stable-2021.11-1.sha256 +sha256 2201fa9ce6d1226dafaf060cc568029d853af158b2ab182dcb8c7956bd993408 armv5-eabi--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 0187e76a377a096f7228b243637224cbe0dca12f5736202f813473723c566ea3 armv5-eabi--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--stable-2021.11-1.sha256 +sha256 888e65c2a75d125422ef4d2c144e3fed37d9a00169a78b4613fac34e7f9349ce armv5-eabi--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--bleeding-edge-2021.11-1.sha256 +sha256 c585b4129f60d3ae45c7b77fc6baf87f1c6a3d6d66b06059e1bf9f6e2fcf2899 armv6-eabihf--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--stable-2021.11-1.sha256 +sha256 c40177a063aa7db47747cbf4f26254d63abee9e20d8d88210261b50f03b51b22 armv6-eabihf--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--bleeding-edge-2021.11-1.sha256 +sha256 d6114bbde0a308cf7057aa9c4f5641432c1e785d3decc650f64f5cb261370078 armv6-eabihf--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--stable-2021.11-1.sha256 +sha256 41c463f2cd2984a2d53e5dee2e9a81b09c6cac2ba7b306766bdfc8f4865977bf armv6-eabihf--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 aca019db7e6167d5cf8d8ff68b10bad7d9dd7ae8784f991960754e8d027f424e armv6-eabihf--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--stable-2021.11-1.sha256 +sha256 e7e19796a2f0b0d839508a721506e148cb4383ed82dcc2ff4b3c0c496a4229f3 armv6-eabihf--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2021.11-1.sha256 +sha256 1d2b488d047d1a1694305613adb918167a36bf0857cd6bda3ce87a0e4c2b7f28 armv7-eabihf--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2021.11-1.sha256 +sha256 6d10f356811429f1bddc23a174932c35127ab6c6f3b738b768f0c29c3bf92f10 armv7-eabihf--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--bleeding-edge-2021.11-1.sha256 +sha256 31a373fded82805ac4ddac7608c5075b2086999dcd46ce6ba33c432b24faffaf armv7-eabihf--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--stable-2021.11-1.sha256 +sha256 767c99155f74d5620cfd59d0224df2f82dec7ce58be24d702081dca9793408a9 armv7-eabihf--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 8d6cea2dfec2205ead2e6476f664d81442228d3b1e3fb9b320a54c68706ab9a2 armv7-eabihf--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--stable-2021.11-1.sha256 +sha256 3f8b1101a7318e2a6260a6b1c916b9b3bc69e8fd866d9e88eb85d3a496ad5064 armv7-eabihf--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 392215b53d8c03ca501481f6cfaa720676cf5a67ad1f25647f5a096398f57b28 armv7m--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--stable-2021.11-1.sha256 +sha256 2fca1ac4e767f8ce182a92c74f7b1e4866e7b74b447a2e4c62176379421bedbe armv7m--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 2b694fb4397421504e805a71db182efd55b25fa6403ecf225cddd4a8212903b0 m68k-68xxx--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--stable-2021.11-1.sha256 +sha256 9b3afcd370cbe4912f730696d89ca5f8d26581992c80bdff027b2dd6a8910899 m68k-68xxx--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 0e6743d8679cfe197223e011a2e1e064a213f6032d2f4b0d922b9124fe981d84 m68k-coldfire--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--stable-2021.11-1.sha256 +sha256 27ed1e76826a8824d72ef702d3a770544757a0d297c9992eb623012f1d9b387c m68k-coldfire--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--bleeding-edge-2021.11-1.sha256 +sha256 1512dde9d646c4c34e5a637d5d6b3be777e199e3f16340ed26e8f0b085cdbdf0 microblazebe--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--stable-2021.11-1.sha256 +sha256 c853fe33b9454d3e31951ef99c53b6a6ad09f2458cf79ad4b1680c125a011899 microblazebe--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--bleeding-edge-2021.11-1.sha256 +sha256 65d6486dd8fd8c6a0aad44346d77a8d4f2473230b967ac7fa12e639603e9f007 microblazebe--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--stable-2021.11-1.sha256 +sha256 5195575b4bd178dbdc8080e728fa485df13ede62ae684cdda131c1d55e655b11 microblazebe--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 c0d8bf9ce99eada90be299e7d448b9cc578005d26b80205788a639c587071a36 microblazebe--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--stable-2021.11-1.sha256 +sha256 2de12511a0a9b8369f769ccd0ecf32939948b95079e0fd57d3ea390ad4c4ff43 microblazebe--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--bleeding-edge-2021.11-1.sha256 +sha256 fa871c5a4fc700f5a7d9e04ddda271d69395066afea98df2de2bba78826b461e microblazeel--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--stable-2021.11-1.sha256 +sha256 f7c64f142f970cd084ffa0e14bc3ac957db921e559eb036cb0f098d2f187328b microblazeel--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--bleeding-edge-2021.11-1.sha256 +sha256 6978582d587f89fd02d11e89f1b0eee320ad45c42a51ec4fca8fc24b69f65c46 microblazeel--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--stable-2021.11-1.sha256 +sha256 4bd56f3fa100b71174888fc4da1f710ed2f56433edc570ba435f2ffdfc3bcc49 microblazeel--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 ee3cf68bb5680b44087aa8e805f74397fb34283ce9ad4d7a303f777e2242b796 microblazeel--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--stable-2021.11-1.sha256 +sha256 61a33972e3a282c5334717eef0922a3617c881dd3c28a0aed7dfaf69df8493c8 microblazeel--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--bleeding-edge-2021.11-1.sha256 +sha256 b4b28cc187dbcd6d55e3c00a1b4a08cf68797946c284a48f30be2f659756b2d7 mips32--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--stable-2021.11-1.sha256 +sha256 42c6d72edd35249cda113796aa776556f8e8aa285fa8e511d2784a65c4df71d6 mips32--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--bleeding-edge-2021.11-1.sha256 +sha256 7609a3d3601e9aaf8c08f68f1d70539858f17229ca4985842d290e8c35e1b7e3 mips32--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--stable-2021.11-1.sha256 +sha256 999faca83c3490662ba5ae855935dd9bde270d11d234294cd6c9cc9ca0bfe17c mips32--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 58240ac30e5bbec4cb07d92ad4250693cd4f4c9761e6e9602e3cbe0d9077ea4e mips32--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--stable-2021.11-1.sha256 +sha256 e010dd9fca694f658af457e473831ec9a22da7262ed9f460fee1bf30081d4a1a mips32--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--bleeding-edge-2021.11-1.sha256 +sha256 6167ef7286741551ccb53ffb62e45611fc258e62cd1880418a2cf94051a51e05 mips32el--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--stable-2021.11-1.sha256 +sha256 018e3393e1ba50444ae0a05db05a295553b3af224afdf20b52f9d271f1ec91a4 mips32el--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--bleeding-edge-2021.11-1.sha256 +sha256 66f7991de789d4a9ea0206e4f1c7e380521778b771295315af8e98984a1a2b1d mips32el--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--stable-2021.11-1.sha256 +sha256 381ec343ffde3c905addfe27e5ae737b4709142d5949c327f783c26d0acd05d1 mips32el--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 ce6e49762e54ba4a2a6477d14dd6f37b3d6d116905150a80cd4ed2afeaec2633 mips32el--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--stable-2021.11-1.sha256 +sha256 18baf32f742acd9c9eab78eca040f265194bb10589d6e8bccb964ccd8a22307a mips32el--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--bleeding-edge-2021.11-1.sha256 +sha256 5524925d82e1c28cbc272d94e8b9f40603d623875d09989a862fda7b88e5f163 mips32r5el--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--stable-2021.11-1.sha256 +sha256 5911d789152f922adbf99d231f3267c0e7aec8942b73a759a44d1410ed6d6493 mips32r5el--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--bleeding-edge-2021.11-1.sha256 +sha256 a599b59ab19aa10d841fbf50f58fdf2a09263a3cdcb01499225f259ef5615be1 mips32r5el--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--stable-2021.11-1.sha256 +sha256 5ea65771ca522b77f3cc39f12ef09eda59d9e4743dc7057067f73e86983107c2 mips32r5el--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 84bef9c460f2abf00fa5c18f850a9d9e4fdf9e7d593a1ad5f7b6efe34dfcf037 mips32r5el--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--stable-2021.11-1.sha256 +sha256 48b058d3057a611eb3d09b3a206bc38e449f0ea0cd7c8ebf2ee99da9182d0707 mips32r5el--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--bleeding-edge-2021.11-1.sha256 +sha256 161ec4ca6dad1b5d3e79880e30c7f618e24fc1c8dbfcbaec50db02ac73c111af mips32r6el--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--stable-2021.11-1.sha256 +sha256 c50ba26a9fad62180dc4816cfa6451f82ba3ea9c9f069899874c012a5472fa77 mips32r6el--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--bleeding-edge-2021.11-1.sha256 +sha256 81637b0ddfda0ed02bd549fda70efddbcabe6ad943156311d034f3b8a8bce086 mips32r6el--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--stable-2021.11-1.sha256 +sha256 d858e9b2a7d826f23cd6432e5c1cad2f4f98447682cdcf7df1430daabfbf49c0 mips32r6el--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 40b78cbfb757b328f5b0a861c6ed1e4f716784bdc2d5e6eba9d2dcad5057002c mips32r6el--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--stable-2021.11-1.sha256 +sha256 e39de078f5f713ab385e5f008e181062265e6a3979904263d283f90304146014 mips32r6el--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--bleeding-edge-2021.11-1.sha256 +sha256 d8543128dc7a115fdee418dfee954d65cb0fb60aae161222fc03177a190bfef1 mips64-n32--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--stable-2021.11-1.sha256 +sha256 8d5c891bb2eecccf1f9c51095d266c899dae4dd7e75ef19ff6c66c8e4602919c mips64-n32--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--bleeding-edge-2021.11-1.sha256 +sha256 7cf2177c2e41651a25676a9d1c96bbe8c254f94db920a1b3a7aa5708b17b1ef1 mips64-n32--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--stable-2021.11-1.sha256 +sha256 ac997df9a0f82f0ce60ac904ce75245741fa432c4d85c8e8ae88c35296dfaa99 mips64-n32--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 e5119b684b078fd0c3bf7f7eb09ab31dff666cbbbc3d91118ae912e197ca3852 mips64-n32--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--stable-2021.11-1.sha256 +sha256 8f5c1293e789eb04ab3f0bcb415c6ee0ef5ae26cd77354374984752548ac4e2c mips64-n32--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--bleeding-edge-2021.11-1.sha256 +sha256 d1063f99d389f0065b8db5331597969450f1f813265ddf9205215fec5500997c mips64el-n32--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--stable-2021.11-1.sha256 +sha256 73bbd84905e1fd094f7426f64e01f6058f21409218306b80e94bd2ad0aaa8ad3 mips64el-n32--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--bleeding-edge-2021.11-1.sha256 +sha256 a0a48faf217468e9eb1dd820d16ced1caa8f00706e9f48cb1e64899963f3bcba mips64el-n32--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--stable-2021.11-1.sha256 +sha256 c9c895ea09900ec5c63931af0716cf12f48f7c9826629ac48c4cee4e596af5ee mips64el-n32--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 5d3573faab6757efd4e2a78e2c1361d3e8e7b821fd385d016fbe71c56d9cc1d2 mips64el-n32--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--stable-2021.11-1.sha256 +sha256 cd95e539cbb343c3e57c9f2d7d786ea2b0b58009f1b87a4b48eb9d4bb73a205a mips64el-n32--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--bleeding-edge-2021.11-1.sha256 +sha256 7b551725f9e6f5eefc56ad67b5daa10812d4895842ec5986eeb93a79455e4762 mips64r6el-n32--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--stable-2021.11-1.sha256 +sha256 c575274871f30d019c121947e0f65973475e16baf621f235c54bfc292353d5d0 mips64r6el-n32--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--bleeding-edge-2021.11-1.sha256 +sha256 2b85466873cf847b62b5c66198cc01002890a7a41e5cc9262b4906dcef640ead mips64r6el-n32--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--stable-2021.11-1.sha256 +sha256 4210ca4ded17fdeb7cc7a5cf0d7d4676161d711f70708ca50be62ce397687672 mips64r6el-n32--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 de1a1cff7c02d804aa949b813d92c3d55a33e47602bd538bac6deaa155c93c6d mips64r6el-n32--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--stable-2021.11-1.sha256 +sha256 30d82c7ca41a0df9931a29a46ed881f21a889e9e59baf04e820c6679be87a7fb mips64r6el-n32--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--bleeding-edge-2021.11-1.sha256 +sha256 5c2dc11062f4817e81a328b12ab30be486b7e68c7c876eb45fffca72332a8804 nios2--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--stable-2021.11-1.sha256 +sha256 f6f37f1e551edda0251ece8d906ed720bd8ec45da9d4b3e1d13721bdc9ef2882 nios2--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--bleeding-edge-2021.11-5.sha256 +sha256 03f46c8fdded0002a2a04749bcf86136ec26a841654bf9fdc14575cc510739c6 openrisc--musl--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--stable-2021.11-5.sha256 +sha256 409e4a7473125e7de7c8b0e6bc1cb971d53e63ac057e9a19102e4ce1467f442a openrisc--musl--stable-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--bleeding-edge-2021.11-5.sha256 +sha256 9028d4e526f9e805b021791443805541a179eaf2e47a2af4dfbefb2021e44e9f openrisc--uclibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--stable-2021.11-5.sha256 +sha256 f07d8e465f7e94e55330cfb55bbaf9fc27e4bb7b688271ead60a15aec3dbbf76 openrisc--uclibc--stable-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--bleeding-edge-2021.11-1.sha256 +sha256 53afdbe1e48d0c60d560db8d17042a99288661fe10eebbfcfec4e56a6c2ca594 powerpc-440fp--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--stable-2021.11-1.sha256 +sha256 d7fc756c954184cfc4e6118e0e0ac33613916973f6af4aafaa162959662aea96 powerpc-440fp--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--bleeding-edge-2021.11-1.sha256 +sha256 094bad002682608cfc7b095a35c3d495cad793ec0f15a7c035a11eae69d0211e powerpc-440fp--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--stable-2021.11-1.sha256 +sha256 187226d9c427e91bae57058060950cfbd61fb89993edf42386a2c4281ca681ba powerpc-440fp--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 6c5d3ef56effad9bea791ee814f108929e967eb88a992d21b7d9f9d8d51a048a powerpc-440fp--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--stable-2021.11-1.sha256 +sha256 9a9663674fc2af69b403bfacc5c9d6c0d7ea7c7aa4b93c928bfd79bfb634b828 powerpc-440fp--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--bleeding-edge-2021.11-1.sha256 +sha256 89164ef2be5f5eb5f0de9d8d821d76a1e69c963529bc450a1caf61944665f929 powerpc-e300c3--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--stable-2021.11-1.sha256 +sha256 1665004c81e0dfe1c8aa15a691232537c27a4343d80f8c035f83623b65d99ae3 powerpc-e300c3--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--bleeding-edge-2021.11-1.sha256 +sha256 6bbb7d8416708754debc216f122366d7cc25b9372b59e16590f2d942fc727cee powerpc-e300c3--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--stable-2021.11-1.sha256 +sha256 e97a52ed0d2f617f869e055d076c62e0698cdffd17e8b5945d0285f98cb57de2 powerpc-e300c3--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 9b886501833b6785bdbfff90e3d7b191eca4e59fea0c039c772c43825032fb86 powerpc-e300c3--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--stable-2021.11-1.sha256 +sha256 31fc2c3b1f2878eb71766c7c0d8b88cdd4c1b2b66e34237917557df818e1c4e0 powerpc-e300c3--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--bleeding-edge-2021.11-1.sha256 +sha256 a2505f7d2968c5324747653da2b367fde7c86c68fcfcb2051c07b27fc0726988 powerpc-e500mc--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--stable-2021.11-1.sha256 +sha256 f9a86eee7817042d26aeda8473c23d7da22920ace233e7ad8714cc87409767ca powerpc-e500mc--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--bleeding-edge-2021.11-1.sha256 +sha256 0f58c7a792de85703c715100dc8fde2575acd4f41523dbcf2ca920611f8e38f3 powerpc-e500mc--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--stable-2021.11-1.sha256 +sha256 367219213274c0b291855354f5cf2f59a915cf0d9538db9236d7829423a79c92 powerpc-e500mc--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 0c9616694108bcc879fdbd804b6ec42b17101bddea2a9426f023f625c3def39b powerpc-e500mc--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--stable-2021.11-1.sha256 +sha256 5a6e8489e39ddd73d413926c1d00b7cb214e5a083bdea6bf7fbcd5b4a3b82d47 powerpc-e500mc--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--bleeding-edge-2021.11-1.sha256 +sha256 62c53dd85d6172a1d13833d2303561a6e943d73836faa3be0eb5c8d937ae3bf1 powerpc64-e5500--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2021.11-1.sha256 +sha256 4c8c2884ed5f42155508ffb5c62343312427904f469ce003bfb6b547075cd4aa powerpc64-e5500--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--bleeding-edge-2021.11-1.sha256 +sha256 62845f66f9b29c001e85b86557b953b2275fd1ecbf681500521b8386d8df1ed6 powerpc64-e6500--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--stable-2021.11-1.sha256 +sha256 054d3793f1c8c42ff9310163d4eb45ce09be7654f01221ff28914bc28950f832 powerpc64-e6500--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--bleeding-edge-2021.11-1.sha256 +sha256 21452d9a1e4a5fe980054c0367f00f640ff0f6af4f0443469c340106f902c9c6 powerpc64-e6500--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--stable-2021.11-1.sha256 +sha256 015285c7313ffd6c25984db3df003a703868758919f59e8d0b9b45cd494e54cd powerpc64-e6500--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--bleeding-edge-2021.11-2.sha256 +sha256 19618e538bd170e3ed458a1ff9593ca169078eb9a990cbab0af635aed622429e powerpc64-power8--glibc--bleeding-edge-2021.11-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--stable-2021.11-1.sha256 +sha256 7b35b694e79b4829e5f2fdb2bd1570035619f665be2a73d0568e4c1f4b6ce56d powerpc64-power8--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--bleeding-edge-2021.11-2.sha256 +sha256 6f5a6674bbe028bcf2cb6820a57b53e06b06ab4b7359397b77fada3ef06635b5 powerpc64-power8--musl--bleeding-edge-2021.11-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--stable-2021.11-1.sha256 +sha256 9dff16b6af51f0492093f08e4d7571b787afa37e059ea1105ded18a7fa7baa88 powerpc64-power8--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--bleeding-edge-2021.11-2.sha256 +sha256 624b2bb3763e3bd085b69c39cb9a1574d60dbb29780469c2b171bba564c3d1d3 powerpc64le-power8--glibc--bleeding-edge-2021.11-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--stable-2021.11-1.sha256 +sha256 04473768185c3a1848f4f323380dc7caffa13d1e1bcb49317cebf090917fee2a powerpc64le-power8--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--bleeding-edge-2021.11-2.sha256 +sha256 e81d0b3c9128cd0069dc8bcfbf512e395175e4c4f0a9ed500a3d7b15a76f8e65 powerpc64le-power8--musl--bleeding-edge-2021.11-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--stable-2021.11-1.sha256 +sha256 09dafac6313ad49731de6d93ef2f1c2806a6a78127d0441adcee76a7a256f4e3 powerpc64le-power8--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--bleeding-edge-2021.11-1.sha256 +sha256 63defd144fdb1d40712316e2c3acd37275d6407b52d70efcd36e7f7129b4a0d0 riscv32-ilp32d--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--bleeding-edge-2021.11-1.sha256 +sha256 13984509df102d452f64fbe576e9240920bc677838c2380e57fad8236fca70bc riscv64-lp64d--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2021.11-1.sha256 +sha256 70fe7d9fc74220b08b2ae0d3527641f4b938a1e4eb6bb305b2ac68fa76f2d6a4 riscv64-lp64d--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--bleeding-edge-2021.11-1.sha256 +sha256 0ba18be42bc1aac9992384c86efeb83cb55215eab565f71cef340f61a1fec420 riscv64-lp64d--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--stable-2021.11-1.sha256 +sha256 42ca8024547e51e6126e3c9e711d80815aa4b2997900dfc8af4b9514105e8b78 riscv64-lp64d--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 02dd9fe4a024f84c7f73b7155640066017c7d18dd90c4da6efe6f0e66d24f75c riscv64-lp64d--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--stable-2021.11-1.sha256 +sha256 01f061e1b3d106d25614ae5bd64df3a3588bc960caa3bbad14b50f718a558f41 riscv64-lp64d--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--bleeding-edge-2021.11-1.sha256 +sha256 64c14617fb95b1eeb50564d1e0ccbf73fa73e5e58aea6b192549fc7127e4bd5c sh-sh4--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--stable-2021.11-1.sha256 +sha256 702125cce2aaee4025cc4eb07614fe51a4e56498e8d0b2b8a5863d31840829e0 sh-sh4--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--bleeding-edge-2021.11-1.sha256 +sha256 37fefd46ded9067cb836f067073c4df501265e86d887ff91015087747a5613d4 sh-sh4--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--stable-2021.11-1.sha256 +sha256 7f77aefe39c1dc9bfe1fe637c7c957fba19898d0b04db4ba7a0b76bb97ed72e9 sh-sh4--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 3285ac52a681a951d7d080d6645f3d02451de644582928d71469813e95bd928f sh-sh4--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--stable-2021.11-1.sha256 +sha256 841c400d303021311895bf61fa7d16292ef19cf021ea06c091a424f43294f6a5 sh-sh4--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--bleeding-edge-2021.11-1.sha256 +sha256 b1ebde33ada33d1006046c589891d96af902eefcea1d9e103ae738c9fe26c36f sh-sh4aeb--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--stable-2021.11-1.sha256 +sha256 3afebc93a72af85a31c6d096b5939c60bb87939b051c6cddc52e1e540714267a sh-sh4aeb--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--bleeding-edge-2021.11-1.sha256 +sha256 c9216bd579ac3f0fa7d0efb9e1892f5d34eba10ee183d03fc87ca17c4b8eb6d4 sh-sh4aeb--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--stable-2021.11-1.sha256 +sha256 1e58aaab9d77019df71777a3c9a2457f691355a6a7aed6b9897921e38571117a sh-sh4aeb--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--bleeding-edge-2021.11-1.sha256 +sha256 0b83bb7f3ce7b67a5c359c95c695398054d13903259014147d4c99e2884e1377 sparc64--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--stable-2021.11-1.sha256 +sha256 0ef307f6c91733ee82ce65801768013f7e6220b605f4e152158cb55b4f983582 sparc64--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--bleeding-edge-2021.11-3.sha256 +sha256 3c85420becb7caa84a9a229483f3f2d7158eb66817acdfa5d5700c3a05436cba sparcv8--uclibc--bleeding-edge-2021.11-3.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--stable-2021.11-1.sha256 +sha256 f6d35e33338b26e71403b4c6d3944ab561f2a6e9b801ab33fbb401b4722044dd sparcv8--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--bleeding-edge-2021.11-5.sha256 +sha256 024fd8edc91b9bfd643f8cf94e3f3ff2a6457aea654d10ef3516db8c3d94d5f5 x86-64--glibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--stable-2021.11-5.sha256 +sha256 6fe812add925493ea0841365f1fb7ca17fd9224bab61a731063f7f12f3a621b0 x86-64--glibc--stable-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--bleeding-edge-2021.11-5.sha256 +sha256 468e6b73146595923fe87980a30adb54cd78f4c1e2f228e1a2c9bb705ea4243d x86-64--musl--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--stable-2021.11-5.sha256 +sha256 2943617f6537ca195a66fb9db4a801a5dd1c108741c400d530d558d06908dd75 x86-64--musl--stable-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--bleeding-edge-2021.11-5.sha256 +sha256 4aa8b8e2806d6fc87ba64ccec0a59b8a2fb5d157cda006d893e3f2264b7f0f10 x86-64--uclibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--stable-2021.11-5.sha256 +sha256 e68fd1b23f4a5c5132f2122e4012c17eb24e5179b2ff45bb793a27ac30dd454f x86-64--uclibc--stable-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--glibc--bleeding-edge-2021.11-5.sha256 +sha256 af20cf98ce937f298e0958e16793bb4c7b08236bc69ab11574a4266cccc3823d x86-64-v2--glibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--musl--bleeding-edge-2021.11-5.sha256 +sha256 17add21a0337d2f7d0d79d1f21db88098c3474920d71f902be46e8995eb86d35 x86-64-v2--musl--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--uclibc--bleeding-edge-2021.11-5.sha256 +sha256 b3ef49012af9fc9c2c8a44b0a20722be69b518cec5db06e48480291fc28aefe0 x86-64-v2--uclibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--glibc--bleeding-edge-2021.11-5.sha256 +sha256 244d4afab02b9c54c76385657d26798515331d7d4fa90928315366f31b9cc39e x86-64-v3--glibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--musl--bleeding-edge-2021.11-5.sha256 +sha256 551cff1b6425e2a6ced7b7ad032fba49b43ed095faae38d1842260ac0b5d6dbf x86-64-v3--musl--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--uclibc--bleeding-edge-2021.11-5.sha256 +sha256 30188f50adef711b55ac1d5be7218e0d6ee4200ddb8660e4d4971a9cefe22f91 x86-64-v3--uclibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--glibc--bleeding-edge-2021.11-5.sha256 +sha256 0cd2de7c4103aa8cf47b72dc71146eb3bf7742a18d56c93128340ab3f4175804 x86-64-v4--glibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--musl--bleeding-edge-2021.11-5.sha256 +sha256 e159da16459e0f0d06a9a7467d5121202ab95e2fa6bf8abffdc0008c72fe9b07 x86-64-v4--musl--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--uclibc--bleeding-edge-2021.11-5.sha256 +sha256 984f011d170d3e46322ae4a110c86ebf995598d877f410201b3fb3d86e25dac2 x86-64-v4--uclibc--bleeding-edge-2021.11-5.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--bleeding-edge-2021.11-1.sha256 +sha256 a3dbfcd3347a72ca344ae77882f929615776ea9b1b058eeea0a0915e7db89b69 x86-64-core-i7--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--stable-2021.11-1.sha256 +sha256 3d443bb0bc6d16982824952a02dcb8b7d10c258b4e0debb47708fb9a02573951 x86-64-core-i7--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--bleeding-edge-2021.11-1.sha256 +sha256 c724f0a8338c57e65479844eeb1725ffce2157a195067601e8893c0f781d2a86 x86-64-core-i7--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--stable-2021.11-1.sha256 +sha256 008aa485ad85deda4af41f6ab162ee33be96c2f479e93a03dd9ee360fbf461b1 x86-64-core-i7--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 99ac2c1fb6bd819222578d4d3c2d3043d3f08f48a988fe7a56ecb2dc44950ebb x86-64-core-i7--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--stable-2021.11-1.sha256 +sha256 f7224ebf557f96b3854c4760f0d561f33f02e71586e6c5b958fdb686ecf5a058 x86-64-core-i7--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--bleeding-edge-2021.11-1.sha256 +sha256 51a7aa03b16fca52a6ac88c7272a727a56a120fb1a03edaff7da741471dffa63 x86-core2--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--stable-2021.11-1.sha256 +sha256 6afb13f10694756f2c7b69e0e5fdd416d3c446d2d630ed9a707797613c38fb15 x86-core2--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--bleeding-edge-2021.11-1.sha256 +sha256 b779acc67eff7ae349a1ecb6d092576131537ce4d92530447d6483e3b7320186 x86-core2--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--stable-2021.11-1.sha256 +sha256 9f79cd4443386b9611d917506bcb6fd9d844e7934905a7368827441644ae7821 x86-core2--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 1a3803d19a6d65a943dab7c4cfb29f37e1c96b1155bdd6c04e5fc609c135b970 x86-core2--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--stable-2021.11-1.sha256 +sha256 235be5851ccdbf579163a0d57b4caba48c63c808f7a08e6476f56c3537636520 x86-core2--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2021.11-1.sha256 +sha256 bb21d6fdb83ef1603346c27572a0622a890633d4fc1ab28bf0aa387a44c8dfee x86-i686--glibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--stable-2021.11-1.sha256 +sha256 9deb1c61a3196114ba1996c0cbe4c4135af9e82f1a0f9111084c86badee3ff30 x86-i686--glibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--bleeding-edge-2021.11-1.sha256 +sha256 313e4bbd8a19fc927b2d9d059cfacdb89cb41213d34158cac2ba00b071468273 x86-i686--musl--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--stable-2021.11-1.sha256 +sha256 fa6cd3e2aa25287e03070eba526983a902d8622ad148b57027acf85d690eaf27 x86-i686--musl--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 4ee09d8c4524e6e6f19db07ed49f8e43a60e806bc57134f9ac2477d41c98340e x86-i686--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--stable-2021.11-1.sha256 +sha256 d15cfe391474ea19e6a468c011955027581c6a16953380baf3c5718ad42fc45d x86-i686--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--bleeding-edge-2021.11-1.sha256 +sha256 469450c734051b9dfb7021532a5ec6fb35b3cf79a95613836e654c3e666b4150 xtensa-lx60--uclibc--bleeding-edge-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--stable-2021.11-1.sha256 +sha256 2fd9dc2d1ec8a167ae3c353682bc4d166f25a7db1c1b889e3058bc644bd3f92c xtensa-lx60--uclibc--stable-2021.11-1.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk index cfe447428d1..fb19ef29097 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk +++ b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk @@ -7,1015 +7,1129 @@ # This file was auto-generated by support/scripts/gen-bootlin-toolchains # Do not edit ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-750d--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-750d--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-3 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7m--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7m--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-coldfire--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-coldfire--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = nios2--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = nios2--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e5500--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e5500--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv32-ilp32d--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs endif -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 -TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 -TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64/tarballs +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 -TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 -TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64/tarballs +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparc64--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparc64--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-3 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparcv8--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparcv8--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = xtensa-lx60--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = xtensa-lx60--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in index 2341d088325..8ea9508f9f8 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in @@ -4,6 +4,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) + depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in index c58c55119a7..116d4a834d7 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in @@ -5,6 +5,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \ BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) + depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 992fd2c1506..9346fa3feb7 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -31,6 +31,10 @@ choice Set to the gcc version that is used by your external toolchain. +config BR2_TOOLCHAIN_EXTERNAL_GCC_11 + bool "11.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + config BR2_TOOLCHAIN_EXTERNAL_GCC_10 bool "10.x" select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -119,8 +123,32 @@ choice If your toolchain uses headers newer than the latest version in the choice, then select the latest version. +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_16 + bool "5.16.x or later" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_15 + bool "5.15.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_14 + bool "5.14.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_13 + bool "5.13.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_12 + bool "5.12.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_11 + bool "5.11" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10 - bool "5.10.x or later" + bool "5.10.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9 diff --git a/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk b/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk index c4ae6125ef7..f2ec01f88c0 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk +++ b/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk @@ -10,6 +10,11 @@ TOOLCHAIN_EXTERNAL_CUSTOM_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERN ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CUSTOM),y) # We can't check hashes for custom downloaded toolchains BR_NO_CHECK_HASH_FOR += $(TOOLCHAIN_EXTERNAL_SOURCE) +ifeq ($(BR_BUILDING)$(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),yy) +ifeq ($(TOOLCHAIN_EXTERNAL_CUSTOM_SOURCE),) +$(error No external toolchain url set, check your BR2_TOOLCHAIN_EXTERNAL_URL setting) +endif +endif endif $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk index 8b551e3a186..cbf46f15fa9 100644 --- a/toolchain/toolchain-wrapper.mk +++ b/toolchain/toolchain-wrapper.mk @@ -26,11 +26,15 @@ TOOLCHAIN_WRAPPER_OPTS += -Wl,--build-id=none ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y) TOOLCHAIN_WRAPPER_OPTS += -ffile-prefix-map=$(BASE_DIR)=buildroot else +TOOLCHAIN_WRAPPER_OPTS += -fdebug-prefix-map=$(BASE_DIR)=buildroot TOOLCHAIN_WRAPPER_OPTS += -D__FILE__=\"\" -D__BASE_FILE__=\"\" -Wno-builtin-macro-redefined endif ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_7),) TOOLCHAIN_WRAPPER_OPTS += -DBR_NEED_SOURCE_DATE_EPOCH endif +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_6),) +TOOLCHAIN_WRAPPER_OPTS += -gno-record-gcc-switches +endif endif # Disable -ftree-loop-distribute-patterns on microblaze to diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk index 0afb12c036b..18f1dbea1a1 100644 --- a/toolchain/toolchain/toolchain.mk +++ b/toolchain/toolchain/toolchain.mk @@ -39,12 +39,12 @@ endif # Install default nsswitch.conf file if the skeleton doesn't provide it ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) -define GLIBC_COPY_NSSWITCH_FILE +define TOOLCHAIN_GLIBC_COPY_NSSWITCH_FILE @if [ ! -f "$(TARGET_DIR)/etc/nsswitch.conf" ]; then \ $(INSTALL) -D -m 0644 package/glibc/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf ; \ fi endef -TOOLCHAIN_POST_INSTALL_TARGET_HOOKS += GLIBC_COPY_NSSWITCH_FILE +TOOLCHAIN_POST_INSTALL_TARGET_HOOKS += TOOLCHAIN_GLIBC_COPY_NSSWITCH_FILE endif $(eval $(virtual-package)) diff --git a/utils/check-package b/utils/check-package index dd18d19c259..f64daed84c4 100755 --- a/utils/check-package +++ b/utils/check-package @@ -1,7 +1,6 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # See utils/checkpackagelib/readme.txt before editing this file. -from __future__ import print_function import argparse import inspect import os @@ -9,10 +8,12 @@ import re import six import sys +import checkpackagelib.base import checkpackagelib.lib_config import checkpackagelib.lib_hash import checkpackagelib.lib_mk import checkpackagelib.lib_patch +import checkpackagelib.lib_sysv VERBOSE_LEVEL_TO_SHOW_IGNORED_FILES = 3 flags = None # Command line arguments. @@ -66,6 +67,8 @@ DO_NOT_CHECK_INTREE = re.compile(r"|".join([ r"toolchain/toolchain-external/pkg-toolchain-external\.mk$", ])) +SYSV_INIT_SCRIPT_FILENAME = re.compile(r"/S\d\d[^/]+$") + def get_lib_from_filename(fname): if flags.intree_only: @@ -85,12 +88,12 @@ def get_lib_from_filename(fname): return checkpackagelib.lib_mk if fname.endswith(".patch"): return checkpackagelib.lib_patch + if SYSV_INIT_SCRIPT_FILENAME.search(fname): + return checkpackagelib.lib_sysv return None -def is_a_check_function(m): - if not inspect.isclass(m): - return False +def common_inspect_rules(m): # do not call the base class if m.__name__.startswith("_"): return False @@ -101,6 +104,22 @@ def is_a_check_function(m): return True +def is_a_check_function(m): + if not inspect.isclass(m): + return False + if not issubclass(m, checkpackagelib.base._CheckFunction): + return False + return common_inspect_rules(m) + + +def is_external_tool(m): + if not inspect.isclass(m): + return False + if not issubclass(m, checkpackagelib.base._Tool): + return False + return common_inspect_rules(m) + + def print_warnings(warnings): # Avoid the need to use 'return []' at the end of every check function. if warnings is None: @@ -122,14 +141,16 @@ def check_file_using_lib(fname): if flags.verbose >= VERBOSE_LEVEL_TO_SHOW_IGNORED_FILES: print("{}: ignored".format(fname)) return nwarnings, nlines - classes = inspect.getmembers(lib, is_a_check_function) + internal_functions = inspect.getmembers(lib, is_a_check_function) + external_tools = inspect.getmembers(lib, is_external_tool) + all_checks = internal_functions + external_tools if flags.dry_run: - functions_to_run = [c[0] for c in classes] + functions_to_run = [c[0] for c in all_checks] print("{}: would run: {}".format(fname, functions_to_run)) return nwarnings, nlines - objects = [c[1](fname, flags.manual_url) for c in classes] + objects = [c[1](fname, flags.manual_url) for c in internal_functions] for cf in objects: nwarnings += print_warnings(cf.before()) @@ -149,6 +170,11 @@ def check_file_using_lib(fname): for cf in objects: nwarnings += print_warnings(cf.after()) + tools = [c[1](fname) for c in external_tools] + + for tool in tools: + nwarnings += print_warnings(tool.run()) + return nwarnings, nlines diff --git a/utils/checkpackagelib/base.py b/utils/checkpackagelib/base.py index 9544a64e5af..f666e4110b1 100644 --- a/utils/checkpackagelib/base.py +++ b/utils/checkpackagelib/base.py @@ -16,3 +16,14 @@ def check_line(self, lineno, text): def after(self): pass + + +class _Tool(object): + def __init__(self, filename): + self.filename = filename + + def run(self): + pass + + def hint(self): + return "" diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py index c348eec399d..b05831f2c37 100644 --- a/utils/checkpackagelib/lib_config.py +++ b/utils/checkpackagelib/lib_config.py @@ -10,6 +10,7 @@ from checkpackagelib.lib import EmptyLastLine # noqa: F401 from checkpackagelib.lib import NewlineAtEof # noqa: F401 from checkpackagelib.lib import TrailingSpace # noqa: F401 +from checkpackagelib.tool import NotExecutable # noqa: F401 def _empty_or_comment(text): diff --git a/utils/checkpackagelib/lib_hash.py b/utils/checkpackagelib/lib_hash.py index 3e381119a5c..5968c809bfa 100644 --- a/utils/checkpackagelib/lib_hash.py +++ b/utils/checkpackagelib/lib_hash.py @@ -10,6 +10,7 @@ from checkpackagelib.lib import EmptyLastLine # noqa: F401 from checkpackagelib.lib import NewlineAtEof # noqa: F401 from checkpackagelib.lib import TrailingSpace # noqa: F401 +from checkpackagelib.tool import NotExecutable # noqa: F401 def _empty_line_or_comment(text): @@ -41,8 +42,6 @@ def check_line(self, lineno, text): return htype, hexa = fields[:2] - if htype == "none": - return if htype not in self.len_of_hash.keys(): return ["{}:{}: unexpected type of hash ({}#adding-packages-hash)" .format(self.filename, lineno, self.url_to_manual), @@ -53,3 +52,19 @@ def check_line(self, lineno, text): .format(self.filename, lineno, self.url_to_manual), text, "expected {} hex digits".format(self.len_of_hash[htype])] + + +class HashSpaces(_CheckFunction): + def check_line(self, lineno, text): + if _empty_line_or_comment(text): + return + + fields = text.split() + if len(fields) != 3: + # Handled by HashNumberOfFields + return + + if not re.match(re.escape("{} {} {}".format(*fields)), text): + return ["{}:{}: separation does not match expectation " + "({}#adding-packages-hash)" + .format(self.filename, lineno, self.url_to_manual), text] diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py index 02783544347..b50a19ac628 100644 --- a/utils/checkpackagelib/lib_mk.py +++ b/utils/checkpackagelib/lib_mk.py @@ -13,6 +13,7 @@ from checkpackagelib.lib import NewlineAtEof # noqa: F401 from checkpackagelib.lib import TrailingSpace # noqa: F401 from checkpackagelib.lib import Utf8Characters # noqa: F401 +from checkpackagelib.tool import NotExecutable # noqa: F401 # used in more than one check start_conditional = ["ifdef", "ifeq", "ifndef", "ifneq"] @@ -77,7 +78,7 @@ def check_line(self, lineno, text): class OverriddenVariable(_CheckFunction): - CONCATENATING = re.compile(r"^([A-Z0-9_]+)\s*(\+|:|)=\s*\$\(\\1\)") + CONCATENATING = re.compile(r"^([A-Z0-9_]+)\s*(\+|:|)=\s*\$\(\1\)") END_CONDITIONAL = re.compile(r"^\s*({})".format("|".join(end_conditional))) OVERRIDING_ASSIGNMENTS = [':=', "="] START_CONDITIONAL = re.compile(r"^\s*({})".format("|".join(start_conditional))) @@ -88,6 +89,9 @@ class OverriddenVariable(_CheckFunction): r"_SITE\s*=\s*", r"_SOURCE\s*=\s*", r"_VERSION\s*=\s*"]))) + FORBIDDEN_OVERRIDDEN = re.compile(r"^[A-Z0-9_]+({})".format("|".join([ + r"_CONF_OPTS\s*=\s*", + r"_DEPENDENCIES\s*=\s*"]))) def before(self): self.conditional = 0 @@ -123,6 +127,10 @@ def check_line(self, lineno, text): .format(self.filename, lineno, variable), text] else: + if self.FORBIDDEN_OVERRIDDEN.search(text): + return ["{}:{}: conditional override of variable {}" + .format(self.filename, lineno, variable), + text] if variable not in self.unconditionally_set: self.conditionally_set.append(variable) return @@ -230,6 +238,7 @@ class TypoInPackageVariable(_CheckFunction): "BR_CCACHE_INITIAL_SETUP", "BR_LIBC", "BR_NO_CHECK_HASH_FOR", + "GCC_TARGET", "LINUX_EXTENSIONS", "LINUX_POST_PATCH_HOOKS", "LINUX_TOOLS", @@ -242,7 +251,7 @@ class TypoInPackageVariable(_CheckFunction): "TARGET_FINALIZE_HOOKS", "TARGETS_ROOTFS", "XTENSA_CORE_NAME"])) - VARIABLE = re.compile(r"^([A-Z0-9_]+_[A-Z0-9_]+)\s*(\+|)=") + VARIABLE = re.compile(r"^(define\s+)?([A-Z0-9_]+_[A-Z0-9_]+)") def before(self): package, _ = os.path.splitext(os.path.basename(self.filename)) @@ -252,7 +261,7 @@ def before(self): # linux extensions do not use LINUX_EXT_ prefix for variables package = package.replace("LINUX_EXT_", "") self.package = package - self.REGEX = re.compile(r"^(HOST_|ROOTFS_)?({}_[A-Z0-9_]+)".format(package)) + self.REGEX = re.compile(r"(HOST_|ROOTFS_)?({}_[A-Z0-9_]+)".format(package)) self.FIND_VIRTUAL = re.compile( r"^{}_PROVIDES\s*(\+|)=\s*(.*)".format(package)) self.virtual = [] @@ -262,7 +271,7 @@ def check_line(self, lineno, text): if m is None: return - variable = m.group(1) + variable = m.group(2) # allow to set variables for virtual package this package provides v = self.FIND_VIRTUAL.search(text) diff --git a/utils/checkpackagelib/lib_patch.py b/utils/checkpackagelib/lib_patch.py index e4e914b7f00..caee36158fe 100644 --- a/utils/checkpackagelib/lib_patch.py +++ b/utils/checkpackagelib/lib_patch.py @@ -8,6 +8,7 @@ from checkpackagelib.base import _CheckFunction from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.tool import NotExecutable # noqa: F401 class ApplyOrder(_CheckFunction): diff --git a/utils/checkpackagelib/lib_sysv.py b/utils/checkpackagelib/lib_sysv.py new file mode 100644 index 00000000000..386d085afc5 --- /dev/null +++ b/utils/checkpackagelib/lib_sysv.py @@ -0,0 +1,69 @@ +import os +import re + +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 +import checkpackagelib.tool +from checkpackagelib.tool import Shellcheck # noqa: F401 + + +class Indent(_CheckFunction): + INDENTED_WITH_SPACES = re.compile(r"^[\t]* ") + + def check_line(self, lineno, text): + if self.INDENTED_WITH_SPACES.search(text.rstrip()): + return ["{}:{}: should be indented with tabs ({}#adding-packages-start-script)" + .format(self.filename, lineno, self.url_to_manual), + text] + + +class NotExecutable(checkpackagelib.tool.NotExecutable): + def hint(self): + return ", just make sure you use '$(INSTALL) -D -m 0755' in the .mk file" + + +class Variables(_CheckFunction): + DAEMON_VAR = re.compile(r"^DAEMON=[\"']{0,1}([^\"']*)[\"']{0,1}") + PIDFILE_PATTERN = re.compile(r"/var/run/(\$DAEMON|\$\{DAEMON\}).pid") + PIDFILE_VAR = re.compile(r"^PIDFILE=[\"']{0,1}([^\"']*)[\"']{0,1}") + + def before(self): + self.name = None + + def check_line(self, lineno, text): + name_found = self.DAEMON_VAR.search(text.rstrip()) + if name_found: + if self.name: + return ["{}:{}: DAEMON variable redefined ({}#adding-packages-start-script)" + .format(self.filename, lineno, self.url_to_manual), + text] + self.name = name_found.group(1) + if '/' in self.name: + self.name = os.path.basename(self.name) # to be used in after() to check the expected filename + return ["{}:{}: Do not include path in DAEMON ({}#adding-packages-start-script)" + .format(self.filename, lineno, self.url_to_manual), + text, + 'DAEMON="{}"'.format(self.name)] + return + + pidfile_found = self.PIDFILE_VAR.search(text.rstrip()) + if pidfile_found: + pidfile = pidfile_found.group(1) + if not self.PIDFILE_PATTERN.match(pidfile): + return ["{}:{}: Incorrect PIDFILE value ({}#adding-packages-start-script)" + .format(self.filename, lineno, self.url_to_manual), + text, + 'PIDFILE="/var/run/$DAEMON.pid"'] + + def after(self): + if self.name is None: + return ["{}:0: DAEMON variable not defined ({}#adding-packages-start-script)" + .format(self.filename, self.url_to_manual)] + expected_filename = re.compile(r"S\d\d{}$".format(self.name)) + if not expected_filename.match(os.path.basename(self.filename)): + return ["{}:0: filename should be S ({}#adding-packages-start-script)" + .format(self.filename, self.url_to_manual), + "expecting S{}".format(self.name)] diff --git a/utils/checkpackagelib/test_lib.py b/utils/checkpackagelib/test_lib.py new file mode 100644 index 00000000000..976a63d84dc --- /dev/null +++ b/utils/checkpackagelib/test_lib.py @@ -0,0 +1,212 @@ +import pytest +import checkpackagelib.test_util as util +import checkpackagelib.lib as m + + +ConsecutiveEmptyLines = [ + ('1 line (no newline)', + 'any', + '', + []), + ('1 line', + 'any', + '\n', + []), + ('2 lines', + 'any', + '\n' + '\n', + [['any:2: consecutive empty lines']]), + ('more than 2 consecutive', + 'any', + '\n' + '\n' + '\n', + [['any:2: consecutive empty lines'], + ['any:3: consecutive empty lines']]), + ('ignore whitespace 1', + 'any', + '\n' + ' ', + [['any:2: consecutive empty lines']]), + ('ignore whitespace 2', + 'any', + ' \n' + '\t\n', + [['any:2: consecutive empty lines']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', ConsecutiveEmptyLines) +def test_ConsecutiveEmptyLines(testname, filename, string, expected): + warnings = util.check_file(m.ConsecutiveEmptyLines, filename, string) + assert warnings == expected + + +EmptyLastLine = [ + ('ignore empty file', + 'any', + '', + []), + ('empty line (newline)', + 'any', + '\n', + [['any:1: empty line at end of file']]), + ('empty line (space, newline)', + 'any', + ' \n', + [['any:1: empty line at end of file']]), + ('empty line (space, no newline)', + 'any', + ' ', + [['any:1: empty line at end of file']]), + ('warn for the last of 2', + 'any', + '\n' + '\n', + [['any:2: empty line at end of file']]), + ('warn for the last of 3', + 'any', + '\n' + '\n' + '\n', + [['any:3: empty line at end of file']]), + ('ignore whitespace', + 'any', + ' \n' + '\t\n', + [['any:2: empty line at end of file']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', EmptyLastLine) +def test_EmptyLastLine(testname, filename, string, expected): + warnings = util.check_file(m.EmptyLastLine, filename, string) + assert warnings == expected + + +NewlineAtEof = [ + ('good', + 'any', + 'text\n', + []), + ('text (bad)', + 'any', + '\n' + 'text', + [['any:2: missing newline at end of file', + 'text']]), + ('space (bad)', + 'any', + '\n' + ' ', + [['any:2: missing newline at end of file', + ' ']]), + ('tab (bad)', + 'any', + '\n' + '\t', + [['any:2: missing newline at end of file', + '\t']]), + ('even for file with one line', + 'any', + ' ', + [['any:1: missing newline at end of file', + ' ']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', NewlineAtEof) +def test_NewlineAtEof(testname, filename, string, expected): + warnings = util.check_file(m.NewlineAtEof, filename, string) + assert warnings == expected + + +TrailingSpace = [ + ('good', + 'any', + 'text\n', + []), + ('ignore missing newline', + 'any', + '\n' + 'text', + []), + ('spaces', + 'any', + 'text \n', + [['any:1: line contains trailing whitespace', + 'text \n']]), + ('tabs after text', + 'any', + 'text\t\t\n', + [['any:1: line contains trailing whitespace', + 'text\t\t\n']]), + ('mix of tabs and spaces', + 'any', + ' \n' + ' ', + [['any:1: line contains trailing whitespace', + ' \n'], + ['any:2: line contains trailing whitespace', + ' ']]), + ('blank line with tabs', + 'any', + '\n' + '\t', + [['any:2: line contains trailing whitespace', + '\t']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', TrailingSpace) +def test_TrailingSpace(testname, filename, string, expected): + warnings = util.check_file(m.TrailingSpace, filename, string) + assert warnings == expected + + +Utf8Characters = [ + ('usual', + 'any', + 'text\n', + []), + ('acceptable character', + 'any', + '\x60', + []), + ('unacceptable character', + 'any', + '\x81', + [['any:1: line contains UTF-8 characters', + '\x81']]), + ('2 warnings', + 'any', + 'text\n' + 'text \xc8 text\n' + '\xc9\n', + [['any:2: line contains UTF-8 characters', + 'text \xc8 text\n'], + ['any:3: line contains UTF-8 characters', + '\xc9\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Utf8Characters) +def test_Utf8Characters(testname, filename, string, expected): + warnings = util.check_file(m.Utf8Characters, filename, string) + assert warnings == expected + + +def test_all_check_functions_are_used(): + import inspect + import checkpackagelib.lib_config as lib_config + import checkpackagelib.lib_hash as lib_hash + import checkpackagelib.lib_mk as lib_mk + import checkpackagelib.lib_patch as lib_patch + c_config = [c[0] for c in inspect.getmembers(lib_config, inspect.isclass)] + c_hash = [c[0] for c in inspect.getmembers(lib_hash, inspect.isclass)] + c_mk = [c[0] for c in inspect.getmembers(lib_mk, inspect.isclass)] + c_patch = [c[0] for c in inspect.getmembers(lib_patch, inspect.isclass)] + c_all = c_config + c_hash + c_mk + c_patch + c_common = [c[0] for c in inspect.getmembers(m, inspect.isclass)] + assert set(c_common) <= set(c_all) diff --git a/utils/checkpackagelib/test_lib_config.py b/utils/checkpackagelib/test_lib_config.py new file mode 100644 index 00000000000..91a549adf2e --- /dev/null +++ b/utils/checkpackagelib/test_lib_config.py @@ -0,0 +1,387 @@ +import pytest +import checkpackagelib.test_util as util +import checkpackagelib.lib_config as m + + +AttributesOrder = [ + ('good example', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'default y\n' + 'depends on BR2_USE_BAR # runtime\n' + 'select BR2_PACKAGE_BAZ\n' + 'help\n' + '\t help text\n', + []), + ('depends before default', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'depends on BR2_USE_BAR\n' + 'default y\n', + [['any:4: attributes order: type, default, depends on, select, help (url#_config_files)', + 'default y\n']]), + ('select after help', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'help\n' + '\t help text\n' + 'select BR2_PACKAGE_BAZ\n', + [['any:5: attributes order: type, default, depends on, select, help (url#_config_files)', + 'select BR2_PACKAGE_BAZ\n']]), + ('string', + 'any', + 'config BR2_PACKAGE_FOO_PLUGINS\n' + 'string "foo plugins"\n' + 'default "all"\n', + []), + ('ignore tabs', + 'any', + 'config\tBR2_PACKAGE_FOO_PLUGINS\n' + 'default\t"all"\n' + 'string\t"foo plugins"\n', + [['any:3: attributes order: type, default, depends on, select, help (url#_config_files)', + 'string\t"foo plugins"\n']]), + ('choice', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'if BR2_PACKAGE_FOO\n' + '\n' + 'choice\n' + 'prompt "type of foo"\n' + 'default BR2_PACKAGE_FOO_STRING\n' + '\n' + 'config BR2_PACKAGE_FOO_NONE\n' + 'bool "none"\n' + '\n' + 'config BR2_PACKAGE_FOO_STRING\n' + 'bool "string"\n' + '\n' + 'endchoice\n' + '\n' + 'endif\n' + '\n', + []), + ('type after default', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'if BR2_PACKAGE_FOO\n' + '\n' + 'choice\n' + 'default BR2_PACKAGE_FOO_STRING\n' + 'prompt "type of foo"\n', + [['any:7: attributes order: type, default, depends on, select, help (url#_config_files)', + 'prompt "type of foo"\n']]), + ('menu', + 'any', + 'menuconfig BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'help\n' + '\t help text\n' + '\t help text\n' + '\n' + 'if BR2_PACKAGE_FOO\n' + '\n' + 'menu "foo plugins"\n' + 'config BR2_PACKAGE_FOO_COUNTER\n' + 'bool "counter"\n' + '\n' + 'endmenu\n' + '\n' + 'endif\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', AttributesOrder) +def test_AttributesOrder(testname, filename, string, expected): + warnings = util.check_file(m.AttributesOrder, filename, string) + assert warnings == expected + + +CommentsMenusPackagesOrder = [ + ('top menu (good)', + 'package/Config.in', + 'menu "Target packages"\n' + 'source "package/busybox/Config.in"\n' + 'source "package/skeleton/Config.in"\n', + []), + ('top menu (bad)', + 'package/Config.in', + 'source "package/skeleton/Config.in"\n' + 'source "package/busybox/Config.in"\n', + [['package/Config.in:2: Packages in: The top level menu,\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: busybox', + 'source "package/busybox/Config.in"\n']]), + ('menu (bad)', + 'package/Config.in', + 'menu "Target packages"\n' + 'source "package/skeleton/Config.in"\n' + 'source "package/busybox/Config.in"\n', + [['package/Config.in:3: Packages in: menu "Target packages",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: busybox', + 'source "package/busybox/Config.in"\n']]), + ('underscore (good)', + 'package/Config.in.host', + 'menu "Hardware handling"\n' + 'menu "Firmware"\n' + 'endmenu\n' + 'source "package/usb_modeswitch/Config.in"\n' + 'source "package/usbmount/Config.in"\n', + []), + ('underscore (bad)', + 'package/Config.in.host', + 'menu "Hardware handling"\n' + 'menu "Firmware"\n' + 'endmenu\n' + 'source "package/usbmount/Config.in"\n' + 'source "package/usb_modeswitch/Config.in"\n', + [['package/Config.in.host:5: Packages in: menu "Hardware handling",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: usb_modeswitch', + 'source "package/usb_modeswitch/Config.in"\n']]), + ('ignore other files', + 'any other file', + 'menu "Hardware handling"\n' + 'source "package/bbb/Config.in"\n' + 'source "package/aaa/Config.in"\n', + []), + ('dash (bad)', + 'package/Config.in', + 'menu "packages"\n' + 'source "package/a_a/Config.in"\n' + 'source "package/a-a/Config.in"\n' + 'source "package/a1a/Config.in"\n' + 'source "package/aAa/Config.in"\n' + 'source "package/aaa/Config.in"\n', + [['package/Config.in:3: Packages in: menu "packages",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: a-a', + 'source "package/a-a/Config.in"\n']]), + ('underscore (bad)', + 'package/Config.in', + 'menu "packages"\n' + 'source "package/a-a/Config.in"\n' + 'source "package/a1a/Config.in"\n' + 'source "package/a_a/Config.in"\n' + 'source "package/aAa/Config.in"\n' + 'source "package/aaa/Config.in"\n', + [['package/Config.in:4: Packages in: menu "packages",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: a_a', + 'source "package/a_a/Config.in"\n']]), + ('digit (bad)', + 'package/Config.in', + 'menu "packages"\n' + 'source "package/a-a/Config.in"\n' + 'source "package/a_a/Config.in"\n' + 'source "package/aAa/Config.in"\n' + 'source "package/a1a/Config.in"\n' + 'source "package/aaa/Config.in"\n', + [['package/Config.in:5: Packages in: menu "packages",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: a1a', + 'source "package/a1a/Config.in"\n']]), + ('capitals (bad)', + 'package/Config.in', + 'menu "packages"\n' + 'source "package/a-a/Config.in"\n' + 'source "package/a_a/Config.in"\n' + 'source "package/a1a/Config.in"\n' + 'source "package/aaa/Config.in"\n' + 'source "package/aAa/Config.in"\n', + [['package/Config.in:6: Packages in: menu "packages",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: aAa', + 'source "package/aAa/Config.in"\n']]), + ('digits, capitals, underscore (good)', + 'package/Config.in', + 'menu "packages"\n' + 'source "package/a-a/Config.in"\n' + 'source "package/a_a/Config.in"\n' + 'source "package/a1a/Config.in"\n' + 'source "package/aAa/Config.in"\n' + 'source "package/aaa/Config.in"\n', + []), + ('conditional menu (good)', + 'package/Config.in', + 'menu "Other"\n' + 'source "package/linux-pam/Config.in"\n' + 'if BR2_PACKAGE_LINUX_PAM\n' + 'comment "linux-pam plugins"\n' + 'source "package/libpam-radius-auth/Config.in"\n' + 'source "package/libpam-tacplus/Config.in"\n' + 'endif\n' + 'source "package/liquid-dsp/Config.in"\n', + []), + ('conditional menu (bad)', + 'package/Config.in', + 'menu "Other"\n' + 'source "package/linux-pam/Config.in"\n' + 'if BR2_PACKAGE_LINUX_PAM\n' + 'comment "linux-pam plugins"\n' + 'source "package/libpam-tacplus/Config.in"\n' + 'source "package/libpam-radius-auth/Config.in"\n' + 'endif\n' + 'source "package/liquid-dsp/Config.in"\n', + [['package/Config.in:6: Packages in: comment "linux-pam plugins",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: libpam-radius-auth', + 'source "package/libpam-radius-auth/Config.in"\n']]), + ('no conditional (bad)', + 'package/Config.in', + 'menu "Other"\n' + 'source "package/linux-pam/Config.in"\n' + 'source "package/libpam-radius-auth/Config.in"\n' + 'source "package/libpam-tacplus/Config.in"\n' + 'source "package/liquid-dsp/Config.in"\n', + [['package/Config.in:3: Packages in: menu "Other",\n' + ' are not alphabetically ordered;\n' + " correct order: '-', '_', digits, capitals, lowercase;\n" + ' first incorrect package: libpam-radius-auth', + 'source "package/libpam-radius-auth/Config.in"\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', CommentsMenusPackagesOrder) +def test_CommentsMenusPackagesOrder(testname, filename, string, expected): + warnings = util.check_file(m.CommentsMenusPackagesOrder, filename, string) + assert warnings == expected + + +HelpText = [ + ('single line', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'default y\n' + 'depends on BR2_USE_BAR # runtime\n' + 'select BR2_PACKAGE_BAZ\n' + 'help\n' + '\t help text\n', + []), + ('larger than 72', + 'any', + 'help\n' + '\t 123456789 123456789 123456789 123456789 123456789 123456789 12\n' + '\t 123456789 123456789 123456789 123456789 123456789 123456789 123\n' + '\t help text\n', + [['any:3: help text: <2 spaces><62 chars> (url#writing-rules-config-in)', + '\t 123456789 123456789 123456789 123456789 123456789 123456789 123\n', + '\t 123456789 123456789 123456789 123456789 123456789 123456789 12']]), + ('long url at beginning of line', + 'any', + 'help\n' + '\t 123456789 123456789 123456789 123456789 123456789 123456789 12\n' + '\t http://url.that.is.longer.than.seventy.two.characthers/folder_name\n' + '\t https://url.that.is.longer.than.seventy.two.characthers/folder_name\n' + '\t git://url.that.is.longer.than.seventy.two.characthers/folder_name\n', + []), + ('long url not at beginning of line', + 'any', + 'help\n' + '\t 123456789 123456789 123456789 123456789 123456789 123456789 12\n' + '\t refer to http://url.that.is.longer.than.seventy.two.characthers/folder_name\n' + '\n' + '\t http://url.that.is.longer.than.seventy.two.characthers/folder_name\n', + [['any:3: help text: <2 spaces><62 chars> (url#writing-rules-config-in)', + '\t refer to http://url.that.is.longer.than.seventy.two.characthers/folder_name\n', + '\t 123456789 123456789 123456789 123456789 123456789 123456789 12']]), + ('allow beautified items', + 'any', + 'help\n' + '\t 123456789 123456789 123456789 123456789 123456789 123456789 12\n' + '\t summary:\n' + '\t - enable that config\n' + '\t - built it\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', HelpText) +def test_HelpText(testname, filename, string, expected): + warnings = util.check_file(m.HelpText, filename, string) + assert warnings == expected + + +Indent = [ + ('good example', + 'any', + 'config BR2_PACKAGE_FOO\n' + '\tbool "foo"\n' + '\tdefault y\n' + '\tdepends on BR2_TOOLCHAIN_HAS_THREADS\n' + '\tdepends on BR2_INSTALL_LIBSTDCPP\n' + '# very useful comment\n' + '\tselect BR2_PACKAGE_BAZ\n' + '\thelp\n' + '\t help text\n' + '\n' + 'comment "foo needs toolchain w/ C++, threads"\n' + '\tdepends on !BR2_INSTALL_LIBSTDCPP || \\\n' + '\t\t!BR2_TOOLCHAIN_HAS_THREADS\n' + '\n' + 'source "package/foo/bar/Config.in"\n', + []), + ('spaces', + 'any', + 'config BR2_PACKAGE_FOO\n' + ' bool "foo"\n', + [['any:2: should be indented with one tab (url#_config_files)', + ' bool "foo"\n']]), + ('without indent', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'default y\n', + [['any:2: should be indented with one tab (url#_config_files)', + 'default y\n']]), + ('too much tabs', + 'any', + 'config BR2_PACKAGE_FOO\n' + '\t\tdepends on BR2_TOOLCHAIN_HAS_THREADS\n', + [['any:2: should be indented with one tab (url#_config_files)', + '\t\tdepends on BR2_TOOLCHAIN_HAS_THREADS\n']]), + ('help', + 'any', + 'config BR2_PACKAGE_FOO\n' + ' help\n', + [['any:2: should be indented with one tab (url#_config_files)', + ' help\n']]), + ('continuation line', + 'any', + 'comment "foo needs toolchain w/ C++, threads"\n' + '\tdepends on !BR2_INSTALL_LIBSTDCPP || \\\n' + ' !BR2_TOOLCHAIN_HAS_THREADS\n', + [['any:3: continuation line should be indented using tabs', + ' !BR2_TOOLCHAIN_HAS_THREADS\n']]), + ('comment with tabs', + 'any', + '\tcomment "foo needs toolchain w/ C++, threads"\n', + [['any:1: should not be indented', + '\tcomment "foo needs toolchain w/ C++, threads"\n']]), + ('comment with spaces', + 'any', + ' comment "foo needs toolchain w/ C++, threads"\n', + [['any:1: should not be indented', + ' comment "foo needs toolchain w/ C++, threads"\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Indent) +def test_Indent(testname, filename, string, expected): + warnings = util.check_file(m.Indent, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_lib_hash.py b/utils/checkpackagelib/test_lib_hash.py new file mode 100644 index 00000000000..fdc6338189f --- /dev/null +++ b/utils/checkpackagelib/test_lib_hash.py @@ -0,0 +1,183 @@ +import pytest +import checkpackagelib.test_util as util +import checkpackagelib.lib_hash as m + + +HashNumberOfFields = [ + ('empty file', + 'any', + '', + []), + ('empty line', + 'any', + '\n', + []), + ('ignore whitespace', + 'any', + '\t\n', + []), + ('ignore comments', + 'any', + '# text\n', + []), + ('1 field', + 'any', + 'field1\n', + [['any:1: expected three fields (url#adding-packages-hash)', + 'field1\n']]), + ('2 fields', + 'any', + 'field1 field2\n', + [['any:1: expected three fields (url#adding-packages-hash)', + 'field1 field2\n']]), + ('4 fields', + 'any', + 'field1 field2 field3 field4\n', + [['any:1: expected three fields (url#adding-packages-hash)', + 'field1 field2 field3 field4\n']]), + ('with 1 space', + 'any', + 'field1 field2 field3\n', + []), + ('many spaces', + 'any', + ' field1 field2 field3\n', + []), + ('tabs', + 'any', + 'field1\tfield2\tfield3\n', + []), + ('mix of tabs and spaces', + 'any', + '\tfield1\t field2\t field3 \n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', HashNumberOfFields) +def test_HashNumberOfFields(testname, filename, string, expected): + warnings = util.check_file(m.HashNumberOfFields, filename, string) + assert warnings == expected + + +HashType = [ + ('ignore empty files', + 'any', + '', + []), + ('ignore 1 field', + 'any', + 'text\n', + []), + ('wrong type', + 'any', + 'text text\n', + [['any:1: unexpected type of hash (url#adding-packages-hash)', + 'text text\n']]), + ('md5 (good)', + 'any', + 'md5 12345678901234567890123456789012\n', + []), + ('md5 (short)', + 'any', + 'md5 123456\n', + [['any:1: hash size does not match type (url#adding-packages-hash)', + 'md5 123456\n', + 'expected 32 hex digits']]), + ('ignore space before', + 'any', + ' md5 12345678901234567890123456789012\n', + []), + ('2 spaces', + 'any', + 'md5 12345678901234567890123456789012\n', + []), + ('ignore tabs', + 'any', + 'md5\t12345678901234567890123456789012\n', + []), + ('common typo', + 'any', + 'md5sum 12345678901234567890123456789012\n', + [['any:1: unexpected type of hash (url#adding-packages-hash)', + 'md5sum 12345678901234567890123456789012\n']]), + ('md5 (too long)', + 'any', + 'md5 123456789012345678901234567890123\n', + [['any:1: hash size does not match type (url#adding-packages-hash)', + 'md5 123456789012345678901234567890123\n', + 'expected 32 hex digits']]), + ('sha1 (good)', + 'any', + 'sha1 1234567890123456789012345678901234567890\n', + []), + ('sha256', + 'any', + 'sha256 1234567890123456789012345678901234567890123456789012345678901234\n', + []), + ('sha384', + 'any', + 'sha384 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456\n', + []), + ('sha512', + 'any', + 'sha512 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678' + '9012345678\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', HashType) +def test_HashType(testname, filename, string, expected): + warnings = util.check_file(m.HashType, filename, string) + assert warnings == expected + + +HashSpaces = [ + ('ignore empty files', + 'any', + '', + []), + ('ignore 1 field', + 'any', + 'text\n', + []), + ('ignore comments', + 'any', + '# type 1234567890123456789012345678901234567890 file\n', + []), + ('ignore trailing space', + 'any', + 'type 1234567890123456789012345678901234567890 file\t \n', + []), + ('2 spaces', + 'any', + 'type 1234567890123456789012345678901234567890 file\n', + []), + ('1 space', + 'any', + 'type 1234567890123456789012345678901234567890 file\n', + [['any:1: separation does not match expectation (url#adding-packages-hash)', + 'type 1234567890123456789012345678901234567890 file\n']]), + ('3 spaces', + 'any', + 'type 1234567890123456789012345678901234567890 file\n', + [['any:1: separation does not match expectation (url#adding-packages-hash)', + 'type 1234567890123456789012345678901234567890 file\n']]), + ('tabs', + 'any', + 'type\t1234567890123456789012345678901234567890\tfile\n', + [['any:1: separation does not match expectation (url#adding-packages-hash)', + 'type\t1234567890123456789012345678901234567890\tfile\n']]), + ('mixed tabs and spaces', + 'any', + 'type\t 1234567890123456789012345678901234567890 \tfile\n', + [['any:1: separation does not match expectation (url#adding-packages-hash)', + 'type\t 1234567890123456789012345678901234567890 \tfile\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', HashSpaces) +def test_HashSpaces(testname, filename, string, expected): + warnings = util.check_file(m.HashSpaces, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_lib_mk.py b/utils/checkpackagelib/test_lib_mk.py new file mode 100644 index 00000000000..49fa216fcdf --- /dev/null +++ b/utils/checkpackagelib/test_lib_mk.py @@ -0,0 +1,590 @@ +import pytest +import checkpackagelib.test_util as util +import checkpackagelib.lib_mk as m + + +Indent = [ + ('ignore comment at beginning of line', + 'any', + '# very useful comment\n', + []), + ('ignore comment at end of line', + 'any', + ' # very useful comment\n', + []), + ('do not indent on conditional (good)', + 'any', + 'ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)\n' + 'FOO_CONF_OPTS += something\n' + 'endef\n', + []), + ('do not indent on conditional (bad)', + 'any', + 'ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)\n' + '\tFOO_CONF_OPTS += something\n' + 'endef\n', + [['any:2: unexpected indent with tabs', + '\tFOO_CONF_OPTS += something\n']]), + ('indent after line that ends in backslash (good)', + 'any', + 'FOO_CONF_OPTS += \\\n' + '\tsomething\n', + []), + ('indent after line that ends in backslash (bad)', + 'any', + 'FOO_CONF_OPTS += \\\n' + 'something\n', + [['any:2: expected indent with tabs', + 'something\n']]), + ('indent after 2 lines that ends in backslash (good)', + 'any', + 'FOO_CONF_OPTS += \\\n' + '\tsomething \\\n' + '\tsomething_else\n', + []), + ('indent after 2 lines that ends in backslash (bad)', + 'any', + 'FOO_CONF_OPTS += \\\n' + '\tsomething \\\n' + '\tsomething_else \\\n' + 'FOO_CONF_OPTS += another_thing\n', + [['any:4: expected indent with tabs', + 'FOO_CONF_OPTS += another_thing\n']]), + ('indent inside define (good)', + 'any', + 'define FOO_SOMETHING\n' + '\tcommand\n' + '\tcommand \\\n' + '\t\targuments\n' + 'endef\n' + 'FOO_POST_PATCH_HOOKS += FOO_SOMETHING\n', + []), + ('indent inside define (bad, no indent)', + 'any', + 'define FOO_SOMETHING\n' + 'command\n' + 'endef\n', + [['any:2: expected indent with tabs', + 'command\n']]), + ('indent inside define (bad, spaces)', + 'any', + 'define FOO_SOMETHING\n' + ' command\n' + 'endef\n', + [['any:2: expected indent with tabs', + ' command\n']]), + ('indent make target (good)', + 'any', + 'make_target:\n' + '\tcommand\n' + '\n', + []), + ('indent make target (bad)', + 'any', + 'make_target:\n' + ' command\n' + '\n', + [['any:2: expected indent with tabs', + ' command\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Indent) +def test_Indent(testname, filename, string, expected): + warnings = util.check_file(m.Indent, filename, string) + assert warnings == expected + + +OverriddenVariable = [ + ('simple assignment', + 'any.mk', + 'VAR_1 = VALUE1\n', + []), + ('unconditional override (variable without underscore)', + 'any.mk', + 'VAR1 = VALUE1\n' + 'VAR1 = VALUE1\n', + [['any.mk:2: unconditional override of variable VAR1', + 'VAR1 = VALUE1\n']]), + ('unconditional override (variable with underscore, same value)', + 'any.mk', + 'VAR_1 = VALUE1\n' + 'VAR_1 = VALUE1\n', + [['any.mk:2: unconditional override of variable VAR_1', + 'VAR_1 = VALUE1\n']]), + ('unconditional override (variable with underscore, different value)', + 'any.mk', + 'VAR_1 = VALUE1\n' + 'VAR_1 = VALUE2\n', + [['any.mk:2: unconditional override of variable VAR_1', + 'VAR_1 = VALUE2\n']]), + ('warn for unconditional override even with wrong number of spaces', + 'any.mk', + 'VAR_1= VALUE1\n' + 'VAR_1 =VALUE2\n', + [['any.mk:2: unconditional override of variable VAR_1', + 'VAR_1 =VALUE2\n']]), + ('warn for := override', + 'any.mk', + 'VAR_1 = VALUE1\n' + 'VAR_1 := VALUE2\n', + [['any.mk:2: unconditional override of variable VAR_1', + 'VAR_1 := VALUE2\n']]), + ('append values outside conditional (good)', + 'any.mk', + 'VAR_1 = VALUE1\n' + 'VAR_1 += VALUE2\n', + []), + ('append values outside conditional (bad)', + 'any.mk', + 'VAR_1 = VALUE1\n' + 'VAR_1 := $(VAR_1), VALUE2\n', + [['any.mk:2: unconditional override of variable VAR_1', + 'VAR_1 := $(VAR_1), VALUE2\n']]), + ('immediate assignment inside conditional', + 'any.mk', + 'VAR_1 = VALUE1\n' + 'ifeq (condition)\n' + 'VAR_1 := $(VAR_1), VALUE2\n', + [['any.mk:3: immediate assignment to append to variable VAR_1', + 'VAR_1 := $(VAR_1), VALUE2\n']]), + ('immediate assignment inside conditional and unconditional override outside', + 'any.mk', + 'VAR_1 = VALUE1\n' + 'ifeq (condition)\n' + 'VAR_1 := $(VAR_1), VALUE2\n' + 'endif\n' + 'VAR_1 := $(VAR_1), VALUE2\n', + [['any.mk:3: immediate assignment to append to variable VAR_1', + 'VAR_1 := $(VAR_1), VALUE2\n'], + ['any.mk:5: unconditional override of variable VAR_1', + 'VAR_1 := $(VAR_1), VALUE2\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', OverriddenVariable) +def test_OverriddenVariable(testname, filename, string, expected): + warnings = util.check_file(m.OverriddenVariable, filename, string) + assert warnings == expected + + +PackageHeader = [ + ('first line (good)', + 'any', + 80 * '#' + '\n', + []), + ('first line (bad)', + 'any', + '# very useful comment\n', + [['any:1: should be 80 hashes (url#writing-rules-mk)', + '# very useful comment\n', + 80 * '#']]), + ('second line (bad)', + 'any', + 80 * '#' + '\n' + '# package\n', + [['any:2: should be 1 hash (url#writing-rules-mk)', + '# package\n']]), + ('full header (good)', + 'any', + 80 * '#' + '\n' + '#\n' + '# package\n' + '#\n' + + 80 * '#' + '\n' + '\n', + []), + ('blank line after header (good)', + 'any', + 80 * '#' + '\n' + '#\n' + '# package\n' + '#\n' + + 80 * '#' + '\n' + '\n' + 'FOO_VERSION = 1\n', + []), + ('blank line after header (bad)', + 'any', + 80 * '#' + '\n' + '#\n' + '# package\n' + '#\n' + + 80 * '#' + '\n' + 'FOO_VERSION = 1\n', + [['any:6: should be a blank line (url#writing-rules-mk)', + 'FOO_VERSION = 1\n']]), + ('wrong number of hashes', + 'any', + 79 * '#' + '\n' + '#\n' + '# package\n' + '#\n' + + 81 * '#' + '\n' + '\n', + [['any:1: should be 80 hashes (url#writing-rules-mk)', + 79 * '#' + '\n', + 80 * '#'], + ['any:5: should be 80 hashes (url#writing-rules-mk)', + 81 * '#' + '\n', + 80 * '#']]), + ('allow include without header', + 'any', + 'include $(sort $(wildcard package/foo/*/*.mk))\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', PackageHeader) +def test_PackageHeader(testname, filename, string, expected): + warnings = util.check_file(m.PackageHeader, filename, string) + assert warnings == expected + + +RemoveDefaultPackageSourceVariable = [ + ('bad', + 'any.mk', + 'ANY_SOURCE = any-$(ANY_VERSION).tar.gz\n', + [['any.mk:1: remove default value of _SOURCE variable (url#generic-package-reference)', + 'ANY_SOURCE = any-$(ANY_VERSION).tar.gz\n']]), + ('bad with path', + './any.mk', + 'ANY_SOURCE = any-$(ANY_VERSION).tar.gz\n', + [['./any.mk:1: remove default value of _SOURCE variable (url#generic-package-reference)', + 'ANY_SOURCE = any-$(ANY_VERSION).tar.gz\n']]), + ('warn for correct line', + './any.mk', + '\n' + '\n' + '\n' + 'ANY_SOURCE = any-$(ANY_VERSION).tar.gz\n', + [['./any.mk:4: remove default value of _SOURCE variable (url#generic-package-reference)', + 'ANY_SOURCE = any-$(ANY_VERSION).tar.gz\n']]), + ('warn ignoring missing spaces', + './any.mk', + 'ANY_SOURCE=any-$(ANY_VERSION).tar.gz\n', + [['./any.mk:1: remove default value of _SOURCE variable (url#generic-package-reference)', + 'ANY_SOURCE=any-$(ANY_VERSION).tar.gz\n']]), + ('good', + './any.mk', + 'ANY_SOURCE = aNy-$(ANY_VERSION).tar.gz\n', + []), + ('gcc exception', + 'gcc.mk', + 'GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz\n', + []), + ('binutils exception', + './binutils.mk', + 'BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz\n', + []), + ('gdb exception', + 'gdb/gdb.mk', + 'GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz\n', + []), + ('package name with dash', + 'python-subprocess32.mk', + 'PYTHON_SUBPROCESS32_SOURCE = python-subprocess32-$(PYTHON_SUBPROCESS32_VERSION).tar.gz\n', + [['python-subprocess32.mk:1: remove default value of _SOURCE variable (url#generic-package-reference)', + 'PYTHON_SUBPROCESS32_SOURCE = python-subprocess32-$(PYTHON_SUBPROCESS32_VERSION).tar.gz\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', RemoveDefaultPackageSourceVariable) +def test_RemoveDefaultPackageSourceVariable(testname, filename, string, expected): + warnings = util.check_file(m.RemoveDefaultPackageSourceVariable, filename, string) + assert warnings == expected + + +SpaceBeforeBackslash = [ + ('no backslash', + 'any.mk', + '\n', + []), + ('ignore missing indent', + 'any.mk', + 'define ANY_SOME_FIXUP\n' + 'for i in $$(find $(STAGING_DIR)/usr/lib* -name "any*.la"); do \\\n', + []), + ('ignore missing space', + 'any.mk', + 'ANY_CONF_ENV= \\\n' + '\tap_cv_void_ptr_lt_long=no \\\n', + []), + ('variable', + 'any.mk', + '\n' + 'ANY = \\\n', + []), + ('2 spaces', + 'any.mk', + 'ANY = \\\n', + [['any.mk:1: use only one space before backslash', + 'ANY = \\\n']]), + ('warn about correct line', + 'any.mk', + '\n' + 'ANY = \\\n', + [['any.mk:2: use only one space before backslash', + 'ANY = \\\n']]), + ('tab', + 'any.mk', + 'ANY =\t\\\n', + [['any.mk:1: use only one space before backslash', + 'ANY =\t\\\n']]), + ('tabs', + 'any.mk', + 'ANY =\t\t\\\n', + [['any.mk:1: use only one space before backslash', + 'ANY =\t\t\\\n']]), + ('spaces and tabs', + 'any.mk', + 'ANY = \t\t\\\n', + [['any.mk:1: use only one space before backslash', + 'ANY = \t\t\\\n']]), + ('mixed spaces and tabs 1', + 'any.mk', + 'ANY = \t \t\\\n', + [['any.mk:1: use only one space before backslash', + 'ANY = \t \t\\\n']]), + ('mixed spaces and tabs 2', + 'any.mk', + 'ANY = \t \\\n', + [['any.mk:1: use only one space before backslash', + 'ANY = \t \\\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', SpaceBeforeBackslash) +def test_SpaceBeforeBackslash(testname, filename, string, expected): + warnings = util.check_file(m.SpaceBeforeBackslash, filename, string) + assert warnings == expected + + +TrailingBackslash = [ + ('no backslash', + 'any.mk', + 'ANY = \n', + []), + ('one line', + 'any.mk', + 'ANY = \\\n', + []), + ('2 lines', + 'any.mk', + 'ANY = \\\n' + '\\\n', + []), + ('empty line after', + 'any.mk', + 'ANY = \\\n' + '\n', + [['any.mk:1: remove trailing backslash', + 'ANY = \\\n']]), + ('line with spaces after', + 'any.mk', + 'ANY = \\\n' + ' \n', + [['any.mk:1: remove trailing backslash', + 'ANY = \\\n']]), + ('line with tabs after', + 'any.mk', + 'ANY = \\\n' + '\t\n', + [['any.mk:1: remove trailing backslash', + 'ANY = \\\n']]), + ('ignore if commented', + 'any.mk', + '# ANY = \\\n' + '\n', + []), + ('real example', + 'any.mk', + 'ANY_CONF_ENV= \t\\\n' + '\tap_cv_void_ptr_lt_long=no \\\n' + '\n', + [['any.mk:2: remove trailing backslash', + '\tap_cv_void_ptr_lt_long=no \\\n']]), + ('ignore whitespace 1', + 'any.mk', + 'ANY = \t\t\\\n', + []), + ('ignore whitespace 2', + 'any.mk', + 'ANY = \t \t\\\n', + []), + ('ignore whitespace 3', + 'any.mk', + 'ANY = \t \\\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', TrailingBackslash) +def test_TrailingBackslash(testname, filename, string, expected): + warnings = util.check_file(m.TrailingBackslash, filename, string) + assert warnings == expected + + +TypoInPackageVariable = [ + ('good', + 'any.mk', + 'ANY_VAR = \n', + []), + ('good with path 1', + './any.mk', + 'ANY_VAR += \n', + []), + ('good with path 2', + 'any/any.mk', + 'ANY_VAR = \n', + []), + ('bad =', + 'any.mk', + 'OTHER_VAR = \n', + [['any.mk:1: possible typo: OTHER_VAR -> *ANY*', + 'OTHER_VAR = \n']]), + ('bad +=', + 'any.mk', + 'OTHER_VAR += \n', + [['any.mk:1: possible typo: OTHER_VAR -> *ANY*', + 'OTHER_VAR += \n']]), + ('ignore missing space', + 'any.mk', + 'OTHER_VAR= \n', + [['any.mk:1: possible typo: OTHER_VAR -> *ANY*', + 'OTHER_VAR= \n']]), + ('use path in the warning', + './any.mk', + 'OTHER_VAR = \n', + [['./any.mk:1: possible typo: OTHER_VAR -> *ANY*', + 'OTHER_VAR = \n']]), + ('another name', + 'other.mk', + 'ANY_VAR = \n', + [['other.mk:1: possible typo: ANY_VAR -> *OTHER*', + 'ANY_VAR = \n']]), + ('libc exception', + './any.mk', + 'BR_LIBC = \n', + []), + ('rootfs exception', + 'any.mk', + 'ROOTFS_ANY_VAR += \n', + []), + ('host (good)', + 'any.mk', + 'HOST_ANY_VAR += \n', + []), + ('host (bad)', + 'any.mk', + 'HOST_OTHER_VAR = \n', + [['any.mk:1: possible typo: HOST_OTHER_VAR -> *ANY*', + 'HOST_OTHER_VAR = \n']]), + ('provides', + 'any.mk', + 'ANY_PROVIDES = other thing\n' + 'OTHER_VAR = \n', + []), + ('ignore space', + 'any.mk', + 'ANY_PROVIDES = thing other \n' + 'OTHER_VAR = \n', + []), + ('wrong provides', + 'any.mk', + 'ANY_PROVIDES = other\n' + 'OTHERS_VAR = \n', + [['any.mk:2: possible typo: OTHERS_VAR -> *ANY*', + 'OTHERS_VAR = \n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', TypoInPackageVariable) +def test_TypoInPackageVariable(testname, filename, string, expected): + warnings = util.check_file(m.TypoInPackageVariable, filename, string) + assert warnings == expected + + +UselessFlag = [ + ('autoreconf no', + 'any.mk', + 'ANY_AUTORECONF=NO\n', + [['any.mk:1: useless default value (url#_infrastructure_for_autotools_based_packages)', + 'ANY_AUTORECONF=NO\n']]), + ('host autoreconf no', + 'any.mk', + 'HOST_ANY_AUTORECONF\n', + []), + ('autoreconf yes', + 'any.mk', + 'ANY_AUTORECONF=YES\n', + []), + ('libtool_patch yes', + 'any.mk', + 'ANY_LIBTOOL_PATCH\t= YES\n', + [['any.mk:1: useless default value (url#_infrastructure_for_autotools_based_packages)', + 'ANY_LIBTOOL_PATCH\t= YES\n']]), + ('libtool_patch no', + 'any.mk', + 'ANY_LIBTOOL_PATCH= \t NO\n', + []), + ('generic', + 'any.mk', + 'ANY_INSTALL_IMAGES = NO\n' + 'ANY_INSTALL_REDISTRIBUTE = YES\n' + 'ANY_INSTALL_STAGING = NO\n' + 'ANY_INSTALL_TARGET = YES\n', + [['any.mk:1: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', + 'ANY_INSTALL_IMAGES = NO\n'], + ['any.mk:2: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', + 'ANY_INSTALL_REDISTRIBUTE = YES\n'], + ['any.mk:3: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', + 'ANY_INSTALL_STAGING = NO\n'], + ['any.mk:4: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', + 'ANY_INSTALL_TARGET = YES\n']]), + ('conditional', + 'any.mk', + 'ifneq (condition)\n' + 'ANY_INSTALL_IMAGES = NO\n' + 'endif\n' + 'ANY_INSTALL_REDISTRIBUTE = YES\n', + [['any.mk:4: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', + 'ANY_INSTALL_REDISTRIBUTE = YES\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', UselessFlag) +def test_UselessFlag(testname, filename, string, expected): + warnings = util.check_file(m.UselessFlag, filename, string) + assert warnings == expected + + +VariableWithBraces = [ + ('good', + 'xmlstarlet.mk', + 'XMLSTARLET_CONF_OPTS += \\\n' + '\t--with-libxml-prefix=$(STAGING_DIR)/usr \\\n', + []), + ('bad', + 'xmlstarlet.mk', + 'XMLSTARLET_CONF_OPTS += \\\n' + '\t--with-libxml-prefix=${STAGING_DIR}/usr \\\n', + [['xmlstarlet.mk:2: use $() to delimit variables, not ${}', + '\t--with-libxml-prefix=${STAGING_DIR}/usr \\\n']]), + ('expanded by the shell', + 'sg3_utils.mk', + '\tfor prog in xcopy zone; do \\\n' + '\t\t$(RM) $(TARGET_DIR)/usr/bin/sg_$${prog} ; \\\n' + '\tdone\n', + []), + ('comments', + 'any.mk', + '#\t--with-libxml-prefix=${STAGING_DIR}/usr \\\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', VariableWithBraces) +def test_VariableWithBraces(testname, filename, string, expected): + warnings = util.check_file(m.VariableWithBraces, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_lib_patch.py b/utils/checkpackagelib/test_lib_patch.py new file mode 100644 index 00000000000..3b6fadf38cf --- /dev/null +++ b/utils/checkpackagelib/test_lib_patch.py @@ -0,0 +1,96 @@ +import pytest +import checkpackagelib.test_util as util +import checkpackagelib.lib_patch as m + + +ApplyOrder = [ + ('standard', # catches https://bugs.busybox.net/show_bug.cgi?id=11271 + '0001-description.patch', + '', + []), + ('standard with path', + 'path/0001-description.patch', + '', + []), + ('acceptable format', + '1-description.patch', + '', + []), + ('acceptable format with path', + 'path/1-description.patch', + '', + []), + ('old format', + 'package-0001-description.patch', + '', + [['package-0001-description.patch:0: use name -.patch (url#_providing_patches)']]), + ('old format with path', + 'path/package-0001-description.patch', + '', + [['path/package-0001-description.patch:0: use name -.patch (url#_providing_patches)']]), + ('missing number', + 'description.patch', + '', + [['description.patch:0: use name -.patch (url#_providing_patches)']]), + ('missing number with path', + 'path/description.patch', + '', + [['path/description.patch:0: use name -.patch (url#_providing_patches)']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', ApplyOrder) +def test_ApplyOrder(testname, filename, string, expected): + warnings = util.check_file(m.ApplyOrder, filename, string) + assert warnings == expected + + +NumberedSubject = [ + ('no subject', + 'patch', + '', + []), + ('acceptable because it is not a git patch', + 'patch', + 'Subject: [PATCH 24/105] text\n', + []), + ('good', + 'patch', + 'Subject: [PATCH] text\n' + 'diff --git a/configure.ac b/configure.ac\n', + []), + ('bad', + 'patch', + 'Subject: [PATCH 24/105] text\n' + 'diff --git a/configure.ac b/configure.ac\n', + [["patch:1: generate your patches with 'git format-patch -N'", + 'Subject: [PATCH 24/105] text\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', NumberedSubject) +def test_NumberedSubject(testname, filename, string, expected): + warnings = util.check_file(m.NumberedSubject, filename, string) + assert warnings == expected + + +Sob = [ + ('good', + 'patch', + 'Signed-off-by: John Doe \n', + []), + ('empty', + 'patch', + '', + [['patch:0: missing Signed-off-by in the header (url#_format_and_licensing_of_the_package_patches)']]), + ('bad', + 'patch', + 'Subject: [PATCH 24/105] text\n', + [['patch:0: missing Signed-off-by in the header (url#_format_and_licensing_of_the_package_patches)']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Sob) +def test_Sob(testname, filename, string, expected): + warnings = util.check_file(m.Sob, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_lib_sysv.py b/utils/checkpackagelib/test_lib_sysv.py new file mode 100644 index 00000000000..9ae840594fc --- /dev/null +++ b/utils/checkpackagelib/test_lib_sysv.py @@ -0,0 +1,131 @@ +import os +import pytest +import re +import tempfile +import checkpackagelib.test_util as util +import checkpackagelib.lib_sysv as m +from checkpackagelib.test_tool import check_file as tool_check_file + +workdir = os.path.join(tempfile.mkdtemp(suffix='-checkpackagelib-test-sysv')) +workdir_regex = re.compile(r'/tmp/tmp[^/]*-checkpackagelib-test-sysv') + + +Indent = [ + ('empty file', + 'any', + '', + []), + ('empty line', + 'any', + '\n', + []), + ('ignore whitespace', + 'any', + ' \n', + []), + ('spaces', + 'any', + 'case "$1" in\n' + ' start)', + [['any:2: should be indented with tabs (url#adding-packages-start-script)', + ' start)']]), + ('tab', + 'any', + 'case "$1" in\n' + '\tstart)', + []), + ('tabs and spaces', + 'any', + 'case "$1" in\n' + '\t start)', + [['any:2: should be indented with tabs (url#adding-packages-start-script)', + '\t start)']]), + ('spaces and tabs', + 'any', + 'case "$1" in\n' + ' \tstart)', + [['any:2: should be indented with tabs (url#adding-packages-start-script)', + ' \tstart)']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Indent) +def test_Indent(testname, filename, string, expected): + warnings = util.check_file(m.Indent, filename, string) + assert warnings == expected + + +NotExecutable = [ + ('SysV', + 'sh-shebang.sh', + 0o775, + '#!/bin/sh', + ["dir/sh-shebang.sh:0: This file does not need to be executable," + " just make sure you use '$(INSTALL) -D -m 0755' in the .mk file"]), + ] + + +@pytest.mark.parametrize('testname,filename,permissions,string,expected', NotExecutable) +def test_NotExecutable(testname, filename, permissions, string, expected): + warnings = tool_check_file(m.NotExecutable, filename, string, permissions) + assert warnings == expected + + +Variables = [ + ('empty file', + 'any', + '', + [['any:0: DAEMON variable not defined (url#adding-packages-start-script)']]), + ('daemon and pidfile ok', + 'package/busybox/S01syslogd', + 'DAEMON="syslogd"\n' + 'PIDFILE="/var/run/$DAEMON.pid"\n', + []), + ('wrong filename', + 'package/busybox/S01syslog', + 'DAEMON="syslogd"\n' + 'PIDFILE="/var/run/${DAEMON}.pid"\n', + [['package/busybox/S01syslog:0: filename should be S (url#adding-packages-start-script)', + 'expecting Ssyslogd']]), + ('no pidfile ok', + 'S99something', + 'DAEMON="something"\n', + []), + ('hardcoded pidfile', + 'S99something', + 'DAEMON="something"\n' + 'PIDFILE="/var/run/something.pid"\n', + [['S99something:2: Incorrect PIDFILE value (url#adding-packages-start-script)', + 'PIDFILE="/var/run/something.pid"\n', + 'PIDFILE="/var/run/$DAEMON.pid"']]), + ('redefined daemon', + 'S50any', + 'DAEMON="any"\n' + 'DAEMON="other"\n', + [['S50any:2: DAEMON variable redefined (url#adding-packages-start-script)', + 'DAEMON="other"\n']]), + ('daemon name with dash', + 'S82cups-browsed', + 'DAEMON="cups-browsed"', + []), + ('daemon with path', + 'S50avahi-daemon', + 'DAEMON=/usr/sbin/avahi-daemon', + [['S50avahi-daemon:1: Do not include path in DAEMON (url#adding-packages-start-script)', + 'DAEMON=/usr/sbin/avahi-daemon', + 'DAEMON="avahi-daemon"']]), + ('daemon with path and wrong filename', + 'S50avahi', + 'DAEMON=/usr/sbin/avahi-daemon', + [['S50avahi:1: Do not include path in DAEMON (url#adding-packages-start-script)', + 'DAEMON=/usr/sbin/avahi-daemon', + 'DAEMON="avahi-daemon"'], + ['S50avahi:0: filename should be S (url#adding-packages-start-script)', + 'expecting Savahi-daemon']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Variables) +def test_Variables(testname, filename, string, expected): + warnings = util.check_file(m.Variables, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_tool.py b/utils/checkpackagelib/test_tool.py new file mode 100644 index 00000000000..a0bf88001de --- /dev/null +++ b/utils/checkpackagelib/test_tool.py @@ -0,0 +1,112 @@ +import os +import pytest +import re +import tempfile +import checkpackagelib.tool as m + +workdir_regex = re.compile(r'/tmp/tmp[^/]*-checkpackagelib-test-tool') + + +def check_file(tool, filename, string, permissions=None): + with tempfile.TemporaryDirectory(suffix='-checkpackagelib-test-tool') as workdir: + script = os.path.join(workdir, filename) + with open(script, 'wb') as f: + f.write(string.encode()) + if permissions: + os.chmod(script, permissions) + obj = tool(script) + result = obj.run() + if result is None: + return [] + return [workdir_regex.sub('dir', r) for r in result] + + +NotExecutable = [ + ('664', + 'package.mk', + 0o664, + '', + []), + ('775', + 'package.mk', + 0o775, + '', + ["dir/package.mk:0: This file does not need to be executable"]), + ] + + +@pytest.mark.parametrize('testname,filename,permissions,string,expected', NotExecutable) +def test_NotExecutable(testname, filename, permissions, string, expected): + warnings = check_file(m.NotExecutable, filename, string, permissions) + assert warnings == expected + + +NotExecutable_hint = [ + ('no hint', + "", + 'sh-shebang.sh', + 0o775, + '#!/bin/sh', + ["dir/sh-shebang.sh:0: This file does not need to be executable"]), + ('hint', + ", very special hint", + 'sh-shebang.sh', + 0o775, + '#!/bin/sh', + ["dir/sh-shebang.sh:0: This file does not need to be executable, very special hint"]), + ] + + +@pytest.mark.parametrize('testname,hint,filename,permissions,string,expected', NotExecutable_hint) +def test_NotExecutable_hint(testname, hint, filename, permissions, string, expected): + class NotExecutable(m.NotExecutable): + def hint(self): + return hint + warnings = check_file(NotExecutable, filename, string, permissions) + assert warnings == expected + + +Shellcheck = [ + ('missing shebang', + 'empty.sh', + '', + ["dir/empty.sh:0: run 'shellcheck' and fix the warnings", + "In dir/empty.sh line 1:\n" + "^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.\n" + "For more information:\n" + " https://www.shellcheck.net/wiki/SC2148 -- Tips depend on target shell and y..."]), + ('sh shebang', + 'sh-shebang.sh', + '#!/bin/sh', + []), + ('bash shebang', + 'bash-shebang.sh', + '#!/bin/bash', + []), + ('2 warnings', + 'unused.sh', + 'unused=""', + ["dir/unused.sh:0: run 'shellcheck' and fix the warnings", + "In dir/unused.sh line 1:\n" + 'unused=""\n' + "^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.\n" + "^----^ SC2034: unused appears unused. Verify use (or export if used externally).\n" + "For more information:\n" + " https://www.shellcheck.net/wiki/SC2148 -- Tips depend on target shell and y...\n" + " https://www.shellcheck.net/wiki/SC2034 -- unused appears unused. Verify use..."]), + ('tab', + 'tab.sh', + '\t#!/bin/sh', + ["dir/tab.sh:0: run 'shellcheck' and fix the warnings", + "In dir/tab.sh line 1:\n" + '\t#!/bin/sh\n' + "^-- SC1114: Remove leading spaces before the shebang.\n" + "For more information:\n" + " https://www.shellcheck.net/wiki/SC1114 -- Remove leading spaces before the ..."]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Shellcheck) +def test_Shellcheck(testname, filename, string, expected): + warnings = check_file(m.Shellcheck, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_util.py b/utils/checkpackagelib/test_util.py new file mode 100644 index 00000000000..23f2995e272 --- /dev/null +++ b/utils/checkpackagelib/test_util.py @@ -0,0 +1,8 @@ +def check_file(check_function, filename, string): + obj = check_function(filename, 'url') + result = [] + result.append(obj.before()) + for i, line in enumerate(string.splitlines(True)): + result.append(obj.check_line(i + 1, line)) + result.append(obj.after()) + return [r for r in result if r is not None] diff --git a/utils/checkpackagelib/tool.py b/utils/checkpackagelib/tool.py new file mode 100644 index 00000000000..e719fdd4079 --- /dev/null +++ b/utils/checkpackagelib/tool.py @@ -0,0 +1,24 @@ +import os +import subprocess +from checkpackagelib.base import _Tool + + +class NotExecutable(_Tool): + def run(self): + if os.access(self.filename, os.X_OK): + return ["{}:0: This file does not need to be executable{}".format(self.filename, self.hint())] + + +class Shellcheck(_Tool): + def run(self): + cmd = ['shellcheck', self.filename] + try: + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout = p.communicate()[0] + processed_output = [str(line.decode().rstrip()) for line in stdout.splitlines() if line] + if p.returncode == 0: + return + return ["{}:0: run 'shellcheck' and fix the warnings".format(self.filename), + '\n'.join(processed_output)] + except FileNotFoundError: + return ["{}:0: failed to call 'shellcheck'".format(self.filename)] diff --git a/utils/diffconfig b/utils/diffconfig index f1af23cfce5..f490c5571fe 100755 --- a/utils/diffconfig +++ b/utils/diffconfig @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python3 # # diffconfig - a tool to compare .config files. # diff --git a/utils/docker-run b/utils/docker-run new file mode 100755 index 00000000000..56537642545 --- /dev/null +++ b/utils/docker-run @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +set -o errexit -o pipefail +DIR=$(dirname "${0}") +MAIN_DIR=$(readlink -f "${DIR}/..") +# shellcheck disable=SC2016 +IMAGE=$(grep ^image: "${MAIN_DIR}/.gitlab-ci.yml" | \ + sed -e 's,^image: ,,g' | sed -e 's,\$CI_REGISTRY,registry.gitlab.com,g') + +exec docker run -it --rm \ + --user $(id -u):$(id -g) \ + --mount "type=bind,src=${MAIN_DIR},dst=${MAIN_DIR}" \ + --workdir "${MAIN_DIR}" \ + "${IMAGE}" "${@}" diff --git a/utils/genrandconfig b/utils/genrandconfig index 93dc6d898b5..c2ca30f51e9 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2014 by Thomas Petazzoni # @@ -18,8 +18,6 @@ # This script generates a random configuration for testing Buildroot. -from __future__ import print_function - import contextlib import csv import os @@ -239,12 +237,9 @@ def fixup_config(sysinfo, configfile): if 'BR2_PACKAGE_PYTHON3=y\n' in configlines and \ BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: return False - # libffi not available on sh2a and ARMv7-M, but propagating libffi - # arch dependencies in Buildroot is really too much work, so we - # handle this here. - if 'BR2_sh2a=y\n' in configlines and \ - 'BR2_PACKAGE_LIBFFI=y\n' in configlines: - return False + # libffi not available on ARMv7-M, but propagating libffi arch + # dependencies in Buildroot is really too much work, so we handle + # this here. if 'BR2_ARM_CPU_ARMV7M=y\n' in configlines and \ 'BR2_PACKAGE_LIBFFI=y\n' in configlines: return False @@ -357,6 +352,8 @@ def gen_config(args): # Amend the configuration with a few things. if randint(0, 20) == 0: configlines.append("BR2_ENABLE_DEBUG=y\n") + if randint(0, 20) == 0: + configlines.append("BR2_ENABLE_RUNTIME_DEBUG=y\n") if randint(0, 1) == 0: configlines.append("BR2_INIT_BUSYBOX=y\n") elif randint(0, 15) == 0: @@ -366,27 +363,13 @@ def gen_config(args): if randint(0, 20) == 0: configlines.append("BR2_STATIC_LIBS=y\n") if randint(0, 20) == 0: - configlines.append("BR2_PACKAGE_PYTHON_PY_ONLY=y\n") + configlines.append("BR2_PACKAGE_PYTHON3_PY_ONLY=y\n") if randint(0, 5) == 0: configlines.append("BR2_OPTIMIZE_2=y\n") if randint(0, 4) == 0: configlines.append("BR2_SYSTEM_ENABLE_NLS=y\n") - if randint(0, 4) == 0: - configlines.append("BR2_PIC_PIE=y\n") - if randint(0, 4) == 0: - configlines.append("BR2_RELRO_FULL=y\n") - elif randint(0, 4) == 0: - configlines.append("BR2_RELRO_PARTIAL=y\n") - if randint(0, 4) == 0: - configlines.append("BR2_SSP_ALL=y\n") - elif randint(0, 4) == 0: - configlines.append("BR2_SSP_REGULAR=y\n") - elif randint(0, 4) == 0: - configlines.append("BR2_SSP_STRONG=y\n") if randint(0, 4) == 0: configlines.append("BR2_FORTIFY_SOURCE_2=y\n") - elif randint(0, 4) == 0: - configlines.append("BR2_FORTIFY_SOURCE_1=y\n") # Randomly enable BR2_REPRODUCIBLE 10% of times # also enable tar filesystem images for testing @@ -422,7 +405,7 @@ def gen_config(args): return 1 bounded_loop -= 1 subprocess.check_call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, - "KCONFIG_PROBABILITY=%d" % randint(1, 30), + "KCONFIG_PROBABILITY=%d" % randint(1, 20), "randpackageconfig"]) if fixup_config(sysinfo, configfile): diff --git a/utils/get-developers b/utils/get-developers index 9182b2d85f1..22accaf1818 100755 --- a/utils/get-developers +++ b/utils/get-developers @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import argparse import getdeveloperlib diff --git a/utils/getdeveloperlib.py b/utils/getdeveloperlib.py index b205817033d..c05e1f888b8 100644 --- a/utils/getdeveloperlib.py +++ b/utils/getdeveloperlib.py @@ -1,4 +1,4 @@ -from __future__ import print_function +from io import open import os import re import glob @@ -231,7 +231,8 @@ def parse_developers(): linen = 0 global unittests unittests = list_unittests() - with open(os.path.join(brpath, "DEVELOPERS"), "r") as f: + developers_fname = os.path.join(brpath, 'DEVELOPERS') + with open(developers_fname, mode='r', encoding='utf_8') as f: files = [] name = None for line in f: @@ -249,7 +250,12 @@ def parse_developers(): if len(dev_files) == 0: print("WARNING: '%s' doesn't match any file" % fname, file=sys.stderr) - files += [os.path.relpath(f, brpath) for f in dev_files] + for f in dev_files: + dev_file = os.path.relpath(f, brpath) + dev_file = dev_file.replace(os.sep, '/') # force unix sep + if f[-1] == '/': # relpath removes the trailing / + dev_file = dev_file + '/' + files.append(dev_file) elif line == "": if not name: continue @@ -273,12 +279,12 @@ def check_developers(developers, basepath=None): if basepath is None: basepath = os.getcwd() cmd = ["git", "--git-dir", os.path.join(basepath, ".git"), "ls-files"] - files = subprocess.check_output(cmd).strip().split("\n") + files = subprocess.check_output(cmd).decode(sys.stdout.encoding).strip().split("\n") unhandled_files = [] for f in files: handled = False for d in developers: - if d.hasfile(os.path.join(basepath, f)): + if d.hasfile(f): handled = True break if not handled: diff --git a/utils/scanpypi b/utils/scanpypi index 47c7c00c600..17d8a0017aa 100755 --- a/utils/scanpypi +++ b/utils/scanpypi @@ -6,8 +6,6 @@ Utility for building Buildroot packages for existing PyPI packages Any package built by scanpypi should be manually checked for errors. """ -from __future__ import print_function -from __future__ import absolute_import import argparse import json import sys @@ -297,9 +295,9 @@ class BuildrootPackage(): """ current_dir = os.getcwd() os.chdir(self.tmp_extract) - sys.path.append(self.tmp_extract) + sys.path.insert(0, self.tmp_extract) s_file, s_path, s_desc = imp.find_module('setup', [self.tmp_extract]) - setup = imp.load_module('setup', s_file, s_path, s_desc) + imp.load_module('__main__', s_file, s_path, s_desc) if self.metadata_name in self.setup_args: pass elif self.metadata_name.replace('_', '-') in self.setup_args: @@ -309,19 +307,10 @@ class BuildrootPackage(): try: self.setup_metadata = self.setup_args[self.metadata_name] except KeyError: - # This means setup was not called which most likely mean that it is - # called through the if __name__ == '__main__' directive. - # In this case, we can only pray that it is called through a - # function called main() in setup.py. - setup.main() # Will raise AttributeError if not found - self.setup_metadata = self.setup_args[self.metadata_name] - # Here we must remove the module the hard way. - # We must do this because of a very specific case: if a package calls - # setup from the __main__ but does not come with a 'main()' function, - # for some reason setup.main() will successfully call the main - # function of a previous package... - sys.modules.pop('setup', None) - del setup + # This means setup was not called + print('ERROR: Could not determine package metadata for {pkg}.\n' + .format(pkg=self.real_name)) + raise os.chdir(current_dir) sys.path.remove(self.tmp_extract) @@ -495,8 +484,8 @@ class BuildrootPackage(): """ lines = [] - filenames = ['LICENCE', 'LICENSE', 'LICENSE.RST', 'LICENSE.TXT', - 'COPYING', 'COPYING.TXT'] + filenames = ['LICENCE', 'LICENSE', 'LICENSE.MD', 'LICENSE.RST', + 'LICENSE.TXT', 'COPYING', 'COPYING.TXT'] self.license_files = list(find_file_upper_case(filenames, self.tmp_extract)) lines.append(self.__get_license_names(self.license_files)) @@ -701,12 +690,12 @@ def main(): try: package.load_setup() except ImportError as err: - if 'buildutils' in err.message: + if 'buildutils' in str(err): print('This package needs buildutils') else: raise continue - except AttributeError as error: + except (AttributeError, KeyError) as error: print('Error: Could not install package {pkg}: {error}'.format( pkg=package.real_name, error=error)) continue diff --git a/utils/size-stats-compare b/utils/size-stats-compare index a3d7f250c6c..fc6dd706234 100755 --- a/utils/size-stats-compare +++ b/utils/size-stats-compare @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2016 Thomas De Schampheleire @@ -40,9 +40,9 @@ def read_file_size_csv(inputf, detail=None): for row in reader: if detail: - sizes[row[0]] = int(row[2]) + sizes[(row[0], row[1])] = int(row[2]) else: - sizes[row[1]] = int(row[3]) + sizes[(None, row[1])] = int(row[3]) return sizes @@ -73,13 +73,27 @@ def print_results(result, threshold): from six import iteritems list_result = list(iteritems(result)) - # result is a dictionary: name -> (flag, size difference) - # list_result is a list of tuples: (name, (flag, size difference)) + # result is a dictionary: (filename, pkgname) -> (flag, size difference) + # list_result is a list of tuples: ((filename, pkgname), (flag, size difference)) + # filename may be None if no detail is requested. + + maxpkgname = max(len(pkgname) for filename, pkgname in result) for entry in sorted(list_result, key=lambda entry: entry[1][1]): - if threshold is not None and abs(entry[1][1]) <= threshold: + data = dict( + filename=entry[0][0], + pkgname=entry[0][1], + action=entry[1][0], + size=entry[1][1], + maxpkgname=maxpkgname, + ) + + if threshold is not None and abs(data['size']) <= threshold: continue - print('%12s %7s %s' % (entry[1][1], entry[1][0], entry[0])) + if data['filename']: + print('{size:12d} {action:7s} {pkgname:{maxpkgname}s} {filename}'.format(**data)) + else: + print('{size:12d} {action:7s} {pkgname}'.format(**data)) # main ######################################################################### @@ -126,5 +140,5 @@ print('Size difference per %s (bytes), threshold = %s' % (keyword, args.threshol print(80*'-') print_results(delta, args.threshold) print(80*'-') -print_results({'TOTAL': ('', sum(new_sizes.values()) - sum(old_sizes.values()))}, +print_results({(None, 'TOTAL'): ('', sum(new_sizes.values()) - sum(old_sizes.values()))}, threshold=None) diff --git a/utils/test-pkg b/utils/test-pkg index a317d8c17aa..ce6e43b965e 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -12,13 +12,13 @@ do_clean() { main() { local o O opts - local cfg dir pkg random toolchains_csv toolchain all number mode - local ret nb nb_skip nb_fail nb_legal nb_tc build_dir keep + local cfg dir pkg random toolchains_csv toolchain all number mode prepare_only + local ret nb nb_skip nb_fail nb_legal nb_show nb_tc build_dir keep local -a toolchains local pkg_br_name o='hakc:d:n:p:r:t:' - O='help,all,keep,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:' + O='help,all,keep,prepare-only,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:' opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")" eval set -- "${opts}" @@ -27,6 +27,7 @@ main() { keep=0 number=0 mode=0 + prepare_only=0 toolchains_csv="${TOOLCHAINS_CSV}" while [ ${#} -gt 0 ]; do case "${1}" in @@ -39,6 +40,9 @@ main() { (-k|--keep) keep=1; shift 1 ;; + (--prepare-only) + prepare_only=1; shift 1 + ;; (-c|--config-snippet) cfg="${2}"; shift 2 ;; @@ -122,22 +126,24 @@ main() { nb_skip=0 nb_fail=0 nb_legal=0 + nb_show=0 for toolchainconfig in "${toolchains[@]}"; do : $((nb++)) toolchain="$(basename "${toolchainconfig}" .config)" build_dir="${dir}/${toolchain}" printf "%40s [%*d/%d]: " "${toolchain}" ${#nb_tc} ${nb} ${nb_tc} - build_one "${build_dir}" "${toolchainconfig}" "${cfg}" "${pkg}" && ret=0 || ret=${?} + build_one "${build_dir}" "${toolchainconfig}" "${cfg}" "${pkg}" "${prepare_only}" && ret=0 || ret=${?} case ${ret} in (0) printf "OK\n";; (1) : $((nb_skip++)); printf "SKIPPED\n";; (2) : $((nb_fail++)); printf "FAILED\n";; (3) : $((nb_legal++)); printf "FAILED\n";; + (4) : $((nb_show++)); printf "FAILED\n";; esac done - printf "%d builds, %d skipped, %d build failed, %d legal-info failed\n" \ - ${nb} ${nb_skip} ${nb_fail} ${nb_legal} + printf "%d builds, %d skipped, %d build failed, %d legal-info failed, %d show-info failed\n" \ + ${nb} ${nb_skip} ${nb_fail} ${nb_legal} ${nb_show} return $((nb_fail + nb_legal)) } @@ -147,6 +153,7 @@ build_one() { local toolchainconfig="${2}" local cfg="${3}" local pkg="${4}" + local prepare_only="${5}" mkdir -p "${dir}" @@ -161,11 +168,20 @@ build_one() { # done in the same locale. comm -23 <(sort "${cfg}") <(sort "${dir}/.config") >"${dir}/missing.config" if [ -s "${dir}/missing.config" ]; then + if [ ${keep} -ne 1 ]; then + # Invalid configuration, drop it + rm -f "${dir}/.config" + fi return 1 fi # Remove file, it's empty anyway. rm -f "${dir}/missing.config" + # Defer building the job to the caller (e.g. a gitlab pipeline) + if [ ${prepare_only} -eq 1 ]; then + return 0 + fi + if [ -n "${pkg}" ]; then if ! make O="${dir}" "${pkg}-dirclean" >> "${dir}/logfile" 2>&1; then return 2 @@ -183,6 +199,20 @@ build_one() { return 3 fi + # Validate that we generate proper json as show-info + { tput smso; printf '>>> Running show-info\n'; tput rmso; } >> "${dir}/logfile" 2> /dev/null; + JQ="$(which jq)" + if [ -z "${JQ}" ]; then + make O="${dir}" host-jq >> "${dir}/logfile" 2>&1 + JQ="${dir}/host/bin/jq" + fi + if ! make O="${dir}" "${pkg:+${pkg}-}show-info" > "${dir}/info.json" 2>> "${dir}/logfile"; then + return 4 + fi + if ! "${JQ}" . < "${dir}/info.json" >> "${dir}/logfile" 2>&1; then + return 4 + fi + # If we get here, the build was successful. Clean up the build/host # directories to save disk space, unless 'keep' was set. if [ ${keep} -ne 1 ]; then @@ -253,6 +283,10 @@ Options: Note: the logfile and configuration is always retained, even without this option. + --prepare-only + Only prepare the .config files, but do not build them. Output the + list of build directories to stdout, and the status on stderr. + Example: Testing libcec would require a config snippet that contains: